Apparatus, system, and method for conditional and atomic storage operations
First Claim
1. A method for providing a conditional storage request, comprising:
- presenting a logical address space of a non-volatile storage device to a storage client, the logical address space comprising a plurality of logical identifiers;
receiving a conditional storage request comprising a condition, the request configured to conditionally store data at a storage location on the non-volatile storage device, wherein the condition is unrelated to modification of another storage location associated with the conditional storage request;
rejecting the conditional storage request if the condition of the conditional storage request is not satisfied; and
servicing the conditional storage request by storing data referenced in the conditional storage request on the non-volatile storage device if the condition of the conditional storage request is satisfied.
9 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.
198 Citations
23 Claims
-
1. A method for providing a conditional storage request, comprising:
-
presenting a logical address space of a non-volatile storage device to a storage client, the logical address space comprising a plurality of logical identifiers; receiving a conditional storage request comprising a condition, the request configured to conditionally store data at a storage location on the non-volatile storage device, wherein the condition is unrelated to modification of another storage location associated with the conditional storage request; rejecting the conditional storage request if the condition of the conditional storage request is not satisfied; and servicing the conditional storage request by storing data referenced in the conditional storage request on the non-volatile storage device if the condition of the conditional storage request is satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium comprising machine-readable instructions configured to cause a machine to perform a method for providing a conditional storage request, the method comprising:
-
presenting a logical address space of a non-volatile storage device to a storage client, the logical address space comprising a plurality of logical identifiers; receiving a conditional storage request comprising a condition, the request configured to conditionally store data on the non-volatile storage device, wherein the condition relates to logical identifiers of the presented logical address space, wherein the condition is unrelated to modification of another storage location associated with the conditional storage request; rejecting the conditional storage request if the condition of the conditional storage request is not satisfied; and servicing the conditional storage request by storing data referenced in the conditional storage request on the non-volatile storage device if the condition of the conditional storage request is satisfied. - View Dependent Claims (21, 22, 23)
-
Specification