Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US9250817B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9250817-B2 |
| Application number | US-201314030717-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 18, 2013 |
| Priority date | Mar 18, 2011 |
| Publication date | Feb 2, 2016 |
| Grant date | Feb 2, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A storage layer presents logical address space of a non-volatile storage device. The storage layer maintains logical interfaces to the non-volatile storage device, which may include arbitrary, any-to-any mappings between logical identifiers and storage resources. Data may be stored on the non-volatile storage device in a contextual format, which includes persistent metadata that defines the logical interface of the data. The storage layer may modify the logical interface of data that is stored in the contextual format. The modified logical interface may be inconsistent with the existing contextual format of the data on the non-volatile storage media. The storage layer may provide access to the data in the inconsistent contextual format through the modified logical interface. The contextual format of the data may be updated to be consistent with the modified logical interface in a write out-of-place storage operation.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: performing a logical copy operation pertaining to a plurality of data segments stored on a non-volatile storage device to reference the stored data segments through a first set of logical addresses of a logical address space and a second, different set of logical addresses of the same logical address space; servicing a request to revise data of a stored data segment, wherein the stored data segment is referenced by a first logical address in the first set of logical addresses and a second logical address in the second set of logical addresses, and wherein servicing the request comprises writing at least the revised data to a different data segment on the non-volatile storage device; and referencing the stored data segment through the first logical address and referencing the different data segment through the second logical address after servicing the request. 2. The method of claim 1 , wherein the plurality of data segments are stored within a log on the non-volatile storage device, and wherein writing the revised data comprises appending the different data segment to the log, such that the log comprises both the stored data segment and the different data segment. 3. The method of claim 1 , wherein performing the logical copy operation comprises storing a persistent note on the non-volatile storage device configured to associate the plurality of data segments stored on the non-volatile storage device with the first set of logical identifiers and the second set of logical identifiers. 4. The method of claim 3 , wherein both the first set of logical identifiers and the second set of logical identifiers reference the plurality of data segments through one or more reference entries, and wherein the persistent note is configured to bind the first set of logical identifiers and the second set of logical identifiers to the reference entries. 5. The method of claim 3 , wherein the persistent note is configured to associate physical addresses of the plurality of data segments on the non-volatile storage device with the first set of logical identifiers and the second set of logical identifiers. 6. The method of claim 3 , further comprising reconstructing associations between the plurality of data segments stored on the non-volatile storage device and the first set of logical identifiers and the second set of logical identifiers by use of the persistent note. 7. The method of claim 1 , further comprising rewriting the plurality of data segments on the non-volatile storage device in a contextual format configured to associate the plurality of data segments with logical identifiers of the first set of logical identifiers and logical identifiers of the second set of logical identifiers. 8. The method of claim 7 , wherein rewriting the plurality of data segments comprises rewriting the data segments in respective packets, the packets comprising persistent metadata configured to reference logical identifiers of both the first set of logical identifiers and the second set of logical identifiers. 9. An apparatus, comprising: a storage layer configured to manage a logical copy of data stored within an ordered log on a non-volatile storage device, such that the stored data is mapped to a first set of logical identifiers and to a second, different set of logical identifiers of a logical address space; and a log storage module configured to append data corresponding to the first logical identifier to the ordered log in response to a write request pertaining to a first logical identifier in the first set, wherein the appended data is configured to modify a portion of the stored data mapped to a second logical identifier in the second set of logical identifiers, and wherein the storage layer is configured to map the first logical identifier to the appended data and to retain a mapping between the second logical identifier of the second set of logical identifiers and the stored data. 10. The apparatus of claim 9 , wherein the log storage module is further configured to append persistent metadata to the ordered log on the non-volatile storage device, and wherein the persistent metadata is configured to associate the data stored within the ordered log on the non-volatile storage device with the second set of logical identifiers. 11. The apparatus of claim 10 , wherein the storage layer is configured to invalidate the persistent metadata in response to rewriting the data in a contextual format that associates the data with the first set of logical identifiers and the second set of logical identifiers. 12. The apparatus of claim 10 , wherein the data is stored in a contextual format configured to associate the data with an original set of logical identifiers, and wherein the persistent metadata is configured to bind physical addresses of the data on the non-volatile storage device to logical identifiers of both the original set of logical identifiers and one or more other, different sets of logical identifiers. 13. The apparatus of claim 9 , wherein the storage layer is configured to reference the data through two or more entries in an index, including a first entry and a second entry, and wherein both the first entry and the second entry are configured to reference physical storage locations of the data through a reference entry. 14. The apparatus of claim 13 , wherein the storage layer is configured to bind the first logical identifier to a physical storage location of the appended data by use of an entry in the index, and to retain a binding between the portion of the data modified by the appended data and another logical identifier. 15. A non-transitory computer-readable storage medium comprising instructions configured to cause a machine to perform operations, comprising: storing a set of data segments on a non-volatile storage device with persistent metadata configured to associate the stored data segments with respective logical addresses of a logical address space; modifying a logical interface of the data segments to provide access to the set of stored data segments through two or more different groups of logical addresses, wherein the two or more different groups of logical addresses correspond to a particular logical address space; writing a modified data segment to the non-volatile storage device with persistent metadata configured to associate the written data segment with a logical address of a first one of the two or more groups of logical addresses, wherein the written data segment is configured to replace a selected one of the set of stored data segments; and providing access to the written data segment through the logical address of the first group of logical addresses, and to the selected stored data segment through a logical identifier of a different one of the two or more groups of logical addresses. 16. The non-transitory computer-readable storage medium of claim 15 , wherein the operations further comprise storing a persistent note on the non-volatile storage device configured to associate the set of stored data segments with the two or more groups of logical addresses. 17. The non-transitory computer-readable storage medium of claim 15 , wherein the set of stored data segments are stored within an ordered log on the non-volatile storage device, and wherein writing the modified data segment comprises appending the modified data segment at an append point within the log and at a different physical address than a physical address of the selected stored data segment. 18. The non-transitory computer-readable storage medium of c
by changing the state or mode of one or more devices · CPC title
by allocating resources to storage systems · CPC title
Management of files · CPC title
Non-volatile semiconductor memory arrays · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.