APPARATUS, SYSTEM, AND METHOD FOR ATOMIC STORAGE OPERATIONS
First Claim
1. A method for providing an atomic storage request, comprising:
- storing data of an atomic storage request in one or more storage operations on a non-volatile storage device in a log-based format;
storing persistent metadata with the data of the atomic storage request that indicates that the data pertains to the atomic storage request; and
acknowledging completion of the atomic storage request upon completion of the one or more storage operations of the atomic storage request.
0 Assignments
0 Petitions
Accused Products
Abstract
A virtual storage layer (VSL) for a non-volatile storage device presents a logical address space of a non-volatile storage device to storage clients. Storage metadata assigns logical identifiers in the logical address space to physical storage locations on the non-volatile storage device. Data is stored on the non-volatile storage device in a sequential log-based format. Data on the non-volatile storage device comprises an event log of the storage operations performed on the non-volatile storage device. The VSL presents an interface for requesting atomic storage operations. Previous versions of data overwritten by the atomic storage device are maintained until the atomic storage operation is successfully completed. Data pertaining to a failed atomic storage operation may be identified using a persistent metadata flag stored with the data on the non-volatile storage device. Data pertaining to failed or incomplete atomic storage requests may be invalidated and removed from the non-volatile storage device.
140 Citations
20 Claims
-
1. A method for providing an atomic storage request, comprising:
-
storing data of an atomic storage request in one or more storage operations on a non-volatile storage device in a log-based format; storing persistent metadata with the data of the atomic storage request that indicates that the data pertains to the atomic storage request; and acknowledging completion of the atomic storage request upon completion of the one or more storage operations of the atomic storage request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium comprising machine-readable instructions configured to cause a machine to perform a method for servicing an atomic storage request, the method comprising:
-
maintaining a forward index comprising bindings between logical identifiers in a logical address space of the non-volatile storage device and physical storage locations on the non-volatile storage device; storing data of an atomic storage request in a sequential log-based format in one or more storage operations on the non-volatile storage device, wherein data of the atomic storage request is stored on the non-volatile storage device together with persistent metadata indicating that the data pertains to an atomic storage request; maintaining an inflight index to associate logical identifiers of the atomic storage request with physical storage locations on the non-volatile storage device; and preserving the forward index while the one or more storage operations of the atomic storage request are performed. - View Dependent Claims (16, 17)
-
-
18. An apparatus for providing atomic storage operations, comprising:
-
a non-volatile storage device comprising a non-volatile storage media; and a virtual storage layer to; receive an atomic storage request from the storage client the atomic storage request comprising noncontiguous logical identifiers in a logical address space of the non-volatile storage device, and store data of the atomic storage request on the non-volatile storage device in a log-based format in one or more storage operations, wherein the data of the atomic storage request is stored together with persistent metadata that identifies the data as pertaining to an atomic storage request, and acknowledge completion of the atomic storage request to the storage client. - View Dependent Claims (19, 20)
-
Specification