Systems and methods for atomic storage operations
First Claim
Patent Images
1. A method, comprising:
- implementing an atomic storage request, the atomic storage request corresponding to an address space, wherein a translation layer maps identifiers of the address space to data stored on a non-volatile storage medium, and wherein implementing the atomic storage request comprises;
executing a plurality of storage operations corresponding to the atomic storage request, the plurality of storage operations comprising a write to a specified target identifier of the atomic storage request, wherein executing the write comprises storing a data segment on the non-volatile storage medium with a transactional identifier, the transactional identifier different from the specified target identifier of the atomic storage request; and
committing the atomic storage request in response to completing execution of the plurality of storage operations corresponding to the atomic storage request, wherein committing the atomic storage request comprises recording persistent metadata that associates the specified target identifier of the atomic storage request with the stored data segment, such that the translation layer maps the specified target identifier to the data segment stored with the transactional identifier on the non-volatile storage medium.
9 Assignments
0 Petitions
Accused Products
Abstract
An atomic storage module may be configured to implement atomic storage operation directed to a first set of identifiers in reference to a second, different set of identifiers. In response to completing the atomic storage operation, the atomic storage module may move the corresponding data to the first, target set of identifiers. The move operation may comprise modifying a logical interface of the data. The move operation may further include storing persistent metadata configured to bind the data to the first set of identifiers.
-
Citations
20 Claims
-
1. A method, comprising:
implementing an atomic storage request, the atomic storage request corresponding to an address space, wherein a translation layer maps identifiers of the address space to data stored on a non-volatile storage medium, and wherein implementing the atomic storage request comprises; executing a plurality of storage operations corresponding to the atomic storage request, the plurality of storage operations comprising a write to a specified target identifier of the atomic storage request, wherein executing the write comprises storing a data segment on the non-volatile storage medium with a transactional identifier, the transactional identifier different from the specified target identifier of the atomic storage request; and committing the atomic storage request in response to completing execution of the plurality of storage operations corresponding to the atomic storage request, wherein committing the atomic storage request comprises recording persistent metadata that associates the specified target identifier of the atomic storage request with the stored data segment, such that the translation layer maps the specified target identifier to the data segment stored with the transactional identifier on the non-volatile storage medium. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. An apparatus, comprising:
-
a storage layer configured to perform storage operations on a storage device and to manage storage metadata that maps identifiers of a logical address space to data stored on the storage device; and a storage interface configured to receive a storage request, the storage request comprising a plurality of storage operations and pertaining to a first set of identifiers of the logical address space; wherein the storage layer is configured to service the storage request, and wherein to service the storage request the storage layer is configured to; perform the plurality of storage operations of the storage request on the storage device within a second set of identifiers, different from the first set of identifiers, wherein performing the plurality of storage operations comprises storing data segments on the storage device with identifiers of the second set of identifiers, and move the storage operations of the storage request to the first set of identifiers in response to performing the plurality of storage operations of the storage request, wherein moving the storage operations comprises writing a persistent note that associates identifiers of the first set of identifiers with the data segments stored on the storage device with the identifiers of the second set of identifiers, such that the storage metadata maps the identifiers of the first set of identifiers to the stored data segments. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system, comprising:
means for executing an atomic storage request pertaining to identifiers of a set of destination identifiers, comprising; translation means for mapping identifiers to data stored on a storage device; means for appending a plurality of data packets pertaining to the atomic storage request to a sequential storage log on the storage device, wherein the data packets comprise persistent metadata configured to associate the data packets with respective transactional identifiers, different from the identifiers of the set of destination identifiers; and means for appending a persistent note to the sequential storage log responsive to appending the plurality of data packets pertaining to the atomic storage request to the sequential storage log, wherein;
the persistent note is configured to associate the plurality of data packets appended to the sequential storage log with respective identifiers of the set of destination identifiers, such that the translation means maps the plurality of data packets appended to the sequential storage log to respective identifiers of the set of destination identifiers, andthe means for executing the atomic storage request comprises one or more of instructions stored on a non-transitory storage medium, a circuit, a configurable circuit, and firmware. - View Dependent Claims (17, 18, 19, 20)
Specification