Apparatus, system, and method for caching data on a solid-state storage device
First Claim
1. A method, comprising:
- maintaining, by a storage controller configured to manage a solid-state storage device, a logical address space by use of an index configured to a) map data stored on the solid-state storage device to respective storage locations of the solid-state storage device, and b) to map identifiers corresponding to data of a primary storage system cached on the solid-state storage device to respective storage locations of the solid-state storage device, wherein the logical address space is larger than a physical address space of the solid-state storage device; and
accessing metadata pertaining to storage operations performed on the solid-state storage device and maintained by the storage controller to manage data of the primary storage system cached on the solid-state storage device.
9 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for caching data on a solid-state storage device. The solid-state storage device maintains metadata pertaining to cache operations performed on the solid-state storage device, as well as storage operations of the solid-state storage device. The metadata indicates what data in the cache is valid, as well as information about what data in the nonvolatile cache has been stored in a backing store. A backup engine works through units in the nonvolatile cache device and backs up the valid data to the backing store. During grooming operations, the groomer determines whether the data is valid and whether the data is discardable. Data that is both valid and discardable may be removed during the grooming operation. The groomer may also determine whether the data is cold in determining whether to remove the data from the cache device. The cache device may present to clients a logical space that is the same size as the backing store. The cache device may be transparent to the clients.
-
Citations
33 Claims
-
1. A method, comprising:
-
maintaining, by a storage controller configured to manage a solid-state storage device, a logical address space by use of an index configured to a) map data stored on the solid-state storage device to respective storage locations of the solid-state storage device, and b) to map identifiers corresponding to data of a primary storage system cached on the solid-state storage device to respective storage locations of the solid-state storage device, wherein the logical address space is larger than a physical address space of the solid-state storage device; and accessing metadata pertaining to storage operations performed on the solid-state storage device and maintained by the storage controller to manage data of the primary storage system cached on the solid-state storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus, comprising:
-
a storage controller configured to store data corresponding to a primary storage system on respective storage divisions of a solid-state storage device; and a cache controller configured to maintain cache metadata pertaining to the data corresponding to the primary storage system stored on the respective storage divisions of the solid-state storage device, wherein the cache metadata includes discardability indicators configured to identify data stored on the solid-state storage device that has been backed-up to the primary storage system; wherein the storage controller is configured to select a storage division of the solid-state storage device for a storage recovery operation by use of the discardability indicators, wherein the selected storage division comprises data that has not been backed-up to the primary storage system. - View Dependent Claims (17, 18, 19)
-
-
20. A method, comprising:
-
storing data on a solid-state storage device in one or more storage operations performed on the solid-state storage device by a storage controller; maintaining, by the storage controller, storage metadata pertaining to one or more of wear-levels of storage units of the solid-state storage device and reliability of the storage units of the solid-state storage device; and accessing the storage metadata to manage entries of a cache comprising data of a backing store cached on the storage units of the solid-state storage device based on one or more of the wear-levels of the storage units and the reliability of the storage units as indicated by the storage metadata. - View Dependent Claims (21, 22, 23)
-
-
24. A method, comprising:
-
appending data of a primary storage system to a storage log on a non-volatile storage medium; providing a single translation layer configured to bind identifiers of data stored on the non-volatile storage medium to physical addresses on the non-volatile storage medium, and to translate identifiers corresponding to the data of a primary storage system in the storage log on the non-volatile storage medium to respective physical addresses on the non-volatile storage medium; and writing data of the primary storage system in the storage log back to the primary storage system in accordance with an order of the data of the primary storage system within the storage log. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A computer program product comprising instructions stored on a non-transitory machine-readable medium, the instructions configured to cause a machine to perform a method for caching data on a solid-state storage device, the method comprising:
-
maintaining shared metadata pertaining to cache operations performed on a solid-state storage device and to storage operations of the solid-state storage device, the metadata comprising an index configured to map data stored on the solid-state storage device to respective storage locations of the solid-state storage device, and to map identifiers corresponding to data of a primary storage system cached on the solid-state storage device to respective storage locations of the solid-state storage device; accessing the metadata to manage storage operations of the solid-state storage device, wherein the storage operations comprise selecting a storage division of the solid-state storage device for recovery using the metadata pertaining to the cache operations; and accessing the metadata to manage a cache stored on the solid-state storage device, wherein managing the cache comprises selecting a storage unit of the solid-state storage device to backup to a backing store using the metadata pertaining to one or more of wear levels of the storage divisions and reliability of the storage divisions.
-
Specification