APPARATUS, SYSTEM, AND METHOD FOR CONDITIONAL AND ATOMIC STORAGE OPERATIONS
8 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for implementing conditional storage operations. Storage clients access and allocate portions of an address space of a non-volatile storage device. A conditional storage request is provided, which causes data to be stored to the non-volatile storage device on the condition that the address space of the device can satisfy the entire request. If only a portion of the request can be satisfied, the conditional storage request may be deferred or fail. An atomic storage request is provided, which may comprise one or more storage operations. The atomic storage request succeeds if all of the one or more storage operations are complete successfully. If one or more of the storage operations fails, the atomic storage request is invalidated, which may comprise deallocating logical identifiers of the request and/or invalidating data on the non-volatile storage device pertaining to the request.
-
Citations
50 Claims
-
1-19. -19. (canceled)
-
20. A method for providing an atomic storage request, comprising:
-
storing data of the atomic storage request in one or more storage operations on a non-volatile storage device; and in response to completion of the one or more storage operations, updating storage metadata on the non-volatile storage device to assign allocated logical identifiers to storage locations comprising data of the atomic storage request, and updating the storage metadata to indicate that the atomic storage request is complete; and in response to failure of one or more of the storage operations, rolling back the atomic storage request. - View Dependent Claims (21, 22, 23, 29)
-
-
24. (canceled)
-
25. (canceled)
-
26. (canceled)
-
27. (canceled)
-
28. (canceled)
-
30. A method for servicing part of an atomic storage request, comprising:
-
receiving an atomic storage request to store data on a non-volatile storage device; storing a first indicator on the non-volatile storage device which indicates that the atomic storage request is in progress; storing the data in a log based format on the non-volatile storage device; and determining that the atomic request is not complete based on the presence of the first indicator. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A method for servicing an atomic storage request, comprising:
-
receiving an atomic storage request to store data comprising multiple data packets on a solid state storage device; storing the data packets on the solid state storage device, wherein the data packets comprise an indicator of the progress of the atomic storage request; determining if the atomic request is not complete based on the indicator; and rolling back the atomic storage request if storing of one of the data packets fails. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
-
Specification