Apparatus, system, and method for a persistent object store
First Claim
1. A method, comprising:
- maintaining an object store, the object store associating each data object of a plurality of data objects with a unique key value;
persisting data of the object store to a restricted set of logical block addresses of a logical address space, wherein the logical block addresses are mappable to any of a plurality of physical storage locations of the solid-state storage device, the object store data comprising an object store index;
storing a received data object within the object store index in response to a size of the received data object being less than or equal to a size threshold;
storing the received data object at a logical block address separate from the object store index in response to the size of the received data object being greater than the size threshold, wherein the associated logical block address is a member of the restricted set of logical block addresses; and
providing a requested data object from the plurality of data objects to a requesting client in response to receiving a read request for the requested data object from the requesting client, the read request comprising the key value associated with the requested data object.
6 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for persistently storing data objects. An object store index module maintains an object store. The object store associates each data object of a plurality of data objects with a unique key value. A storage module persists object store data defining the object store to a logical block address of the solid-state storage device in response to an update event. The logical block address is a member of a restricted set of logical block addresses. The logical block address is mapped to a location of the object store data on the solid-state storage device. A read module provides a requested data object from the plurality of data objects to a requesting client in response to receiving a read request for the requested data object from the requesting client. The read request comprises the key value associated with the requested data object.
9 Citations
18 Claims
-
1. A method, comprising:
-
maintaining an object store, the object store associating each data object of a plurality of data objects with a unique key value; persisting data of the object store to a restricted set of logical block addresses of a logical address space, wherein the logical block addresses are mappable to any of a plurality of physical storage locations of the solid-state storage device, the object store data comprising an object store index; storing a received data object within the object store index in response to a size of the received data object being less than or equal to a size threshold; storing the received data object at a logical block address separate from the object store index in response to the size of the received data object being greater than the size threshold, wherein the associated logical block address is a member of the restricted set of logical block addresses; and providing a requested data object from the plurality of data objects to a requesting client in response to receiving a read request for the requested data object from the requesting client, the read request comprising the key value associated with the requested data object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus, comprising:
-
an object store index module that maintains an object store comprising an object store index comprising entries that map data objects stored on a solid-state storage medium to respective unique key values; a storage controller of the solid-state storage medium that stores data of the object store, including the object store index, within a restricted set of logical block addresses of a logical address space; a write module that stores a received data object within the object store index in response to a size of the received data object satisfying a size threshold, and stores the received data object outside of the object store index at a different logical block address within the restricted set of logical block addresses in response to the size of the received data object exceeding the size threshold; and a read module that provides a requested data object from the plurality of data objects to a requesting client in response to receiving a read request for the requested data object from the requesting client, the read request comprising the key value associated with the requested data object. - View Dependent Claims (13, 14)
-
-
15. A system, comprising:
-
a solid-state storage device in communication with a host device; a device driver for the solid-state storage device, the device driver executing on the host device, the device driver comprising, an object store index module that maintains an object store, the object store associating each data object of a plurality of data objects with a unique key value by use of an object store index; a storage module that persists object data including the object store index within a restricted set of logical block addresses of a logical address space of the solid-state storage device; a write module to store a received data object within the object store index if the received data object satisfies a size threshold, and stores the received data object outside of the object store index at a different logical block address within the restricted set of logical block addresses if the received data object does not satisfy the size threshold; and a read module that provides a requested data object from the plurality of data objects to a requesting client in response to receiving a read request for the requested data object from the requesting client, the read request comprising the key value associated with the requested data object. - View Dependent Claims (16, 17, 18)
-
Specification