Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage
First Claim
1. A method for caching data, comprising:
- coupling a plurality of solid-state storage elements in parallel to a storage controller of a solid-state storage device; and
configuring the storage controller to cache data on the solid-state storage device in response to storage requests directed to a high-capacity non-volatile storage device, wherein configuring the storage controller further comprises configuring the storage controller to store data of a storage request directed to the high-capacity non-volatile storage device on the plurality of solid-state storage elements by issuing a single write command to the plurality of solid-state storage elements in parallel and to associate the data with a sequence indicator that defines an ordered sequence of storage operations for a logical identifier of the data, the single write command configured to write data of the storage request on respective physical storage locations of the plurality of solid-state storage elements in parallel and in response to the single write command.
9 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for solid-state storage as cache for high-capacity, non-volatile storage. The apparatus, system, and method are provided with a plurality of modules including a cache front-end module and a cache back-end module. The cache front-end module manages data transfers associated with a storage request. The data transfers between a requesting device and solid-state storage function as cache for one or more HCNV storage devices, and the data transfers may include one or more of data, metadata, and metadata indexes. The solid-state storage may include an array of non-volatile, solid-state data storage elements. The cache back-end module manages data transfers between the solid-state storage and the one or more HCNV storage devices.
275 Citations
21 Claims
-
1. A method for caching data, comprising:
-
coupling a plurality of solid-state storage elements in parallel to a storage controller of a solid-state storage device; and configuring the storage controller to cache data on the solid-state storage device in response to storage requests directed to a high-capacity non-volatile storage device, wherein configuring the storage controller further comprises configuring the storage controller to store data of a storage request directed to the high-capacity non-volatile storage device on the plurality of solid-state storage elements by issuing a single write command to the plurality of solid-state storage elements in parallel and to associate the data with a sequence indicator that defines an ordered sequence of storage operations for a logical identifier of the data, the single write command configured to write data of the storage request on respective physical storage locations of the plurality of solid-state storage elements in parallel and in response to the single write command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21)
-
-
18. A non-transitory computer-readable storage medium comprising instructions to cause a computing device to perform a method, the method comprising:
-
caching data in response to storage requests to a high-capacity non-volatile storage device; wherein caching comprises storing data of a storage request directed to the high-capacity non-volatile storage device on a solid-state storage device comprising a plurality of solid-state storage elements by issuing a single write command to the plurality of solid-state storage elements in parallel and associating the data with a sequence indicator that defines an ordered sequence of storage operations for a logical identifier of the data, the single write command configured to write data of the storage request on respective physical storage locations of the plurality of solid-state storage elements in parallel and in response to the single write command. - View Dependent Claims (19)
-
-
20. A solid-state storage device to cache data for a high-capacity non-volatile (HCNV) storage device, comprising:
-
a plurality of solid-state storage elements coupled in parallel to a storage controller; a cache front-end module to manage data transfers between the storage controller and a requesting device; a cache back-end module to manage data transfers between the storage controller and a HCNV storage device, the data being associated with respective logical identifiers by the requesting device and the HCNV; and a sequential storage module to store data of the HCNV storage device on the solid-state storage elements, by issuing a single write command to the solid-state storage elements in parallel and to associate the data with a sequence indicator that defines an ordered sequence of storage operations for a logical identifier of the data, the single write command configured to store data of the HCNV storage device on respective physical storage locations of each of the plurality of solid-state storage elements in parallel and in response to the single write command, and wherein the sequential storage module is configured to store sequence indicators and the respective logical identifiers of the data on the solid-state storage elements in association with the data, wherein the sequence indicators persist the order of storage operations performed on the solid-state storage elements, and wherein the logical identifiers persist associations between the data and the respective logical identifiers of the data.
-
Specification