Apparatus, System, and Method for Caching Data on a Solid-State Storage Device
First Claim
1. A method for caching data on a solid-state storage device, the method comprising:
- maintaining metadata pertaining to cache operations performed on a solid-state storage device and to storage operations of the solid-state storage device;
accessing the metadata to manage storage operations of the solid-state storage device; and
accessing the metadata to manage a cache stored 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 for caching data on a solid-state storage device, the method comprising:
-
maintaining metadata pertaining to cache operations performed on a solid-state storage device and to storage operations of the solid-state storage device; accessing the metadata to manage storage operations of the solid-state storage device; and accessing the metadata to manage a cache stored on the solid-state storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for caching data on a solid-state storage device comprising a plurality of storage divisions, the method comprising:
-
storing cache data sequentially on a solid-state storage device; maintaining cache metadata pertaining to the cache data sequentially stored on the solid-state storage device; and accessing the cache metadata to manage sequential storage operations of the solid-state storage device. - View Dependent Claims (17, 18, 19)
-
-
20. A method for caching data on a solid-state storage device, comprising:
-
storing data on a solid-state storage device sequentially in one or more sequential storage operations performed on the solid-state storage device; maintaining storage metadata pertaining to the sequential storage operations, the storage metadata comprising a reverse index associating storage metadata with storage units of the solid-state storage device; and accessing the storage metadata to manage a cache stored on the storage units of the solid-state storage device. - View Dependent Claims (21, 22, 23)
-
-
24. A method for caching data on a solid-state storage device, comprising:
-
maintaining metadata comprising a plurality of cache entries, each associated with a logical address and referencing a variable number of storage units on a solid-state storage device, the storage units comprising data of the cache entry, wherein the cache entries are indexed in the metadata by logical address; receiving a client storage request, the client storage request comprising a logical address; and determining whether data pertaining to the client storage request is stored on the solid-state storage device using the cache entries and the logical address. - 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 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; accessing the metadata to manage storage operations of the solid-state storage device, 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 sequential storage operations of the solid-state storage device.
-
Specification