Systems and methods for contextual storage
First Claim
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.
6 Assignments
0 Petitions
Accused Products
Abstract
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.
312 Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
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. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
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. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification