Storage device caching update target data unit while entering down-time mode and operating method of the storage device
US-2024345740-A1 · Oct 17, 2024 · US
US9519594B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9519594-B2 |
| Application number | US-201213648009-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 9, 2012 |
| Priority date | Dec 6, 2006 |
| Publication date | Dec 13, 2016 |
| Grant date | Dec 13, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: maintaining entries in a logical-to-physical mapping index of a storage controller in response to storing data on the solid-state storage medium, wherein the storage controller maintains the entries to associate logical identifiers corresponding to the stored data with respective storage addresses of the stored data on the solid-state storage medium; admitting data of a back-end storage system into a cache on the solid-state storage medium by, caching data of the back-end storage system at respective storage addresses of the solid-state storage medium, and associating logical identifiers of the back-end storage system corresponding to the cached data with respective storage addresses of the cached data on the solid-state storage medium by use of the logical-to-physical mapping index of the storage controller; servicing a request to access data corresponding to a specified logical identifier of the back-end storage system by, determining whether data of the specified logical identifier is cached on the solid-state storage medium based on whether a particular entry for the specified logical identifier exists in the logical-to-physical mapping index of the storage controller, and in response to determining that data of the specified logical identifier is cached on the solid-state storage medium, reading cached data of the specified logical identifier from the solid-state storage medium at a first storage address associated with the particular entry; and updating the particular entry in the logical-to-physical mapping index of the storage controller to associate the specified logical identifier with a second storage address on the solid-state storage medium in response to the storage controller relocating the cached data of the specified logical identifier to the second storage address on the solid-state storage medium, wherein the particular entry is updated while retaining the particular entry in the logical-to-physical mapping index such that the cached data corresponding to the specified logical identifier is retained in the cache during the relocating. 2. The method of claim 1 , further comprising caching the data of the back-end storage system on the solid-state storage medium in a format that associates the cached data with respective logical identifiers of the back-end storage system. 3. The method of claim 1 , further comprising associating sequence indicators with the cached data of the back-end storage system on the solid-state storage medium, wherein the sequence indicators determine an ordered sequence of storage operations performed on the solid-state storage medium by the storage controller. 4. The method of claim 3 , further comprising: caching the data of the back-end storage system on the solid-state storage medium in a format that associates the cached data with respective logical identifiers of the back-end storage system; and reconstructing entries of the logical-to-physical mapping index using the logical identifiers and the sequence indicators associated with the data of the back-end storage system cached on the solid-state storage medium. 5. The method of claim 4 , wherein the logical identifiers of the back-end storage system corresponding to the data of the back-end storage system cached on the solid-state storage device correspond to addresses of the back-end storage system. 6. The method of claim 5 , wherein reconstructing entries of the logical-to-physical mapping index comprises replaying a sequence of changes made to the entries of the logical-to-physical mapping index using the respective logical identifiers and the sequence indicators associated with the data of the back-end storage system cached on the solid-state storage medium. 7. The method of claim 4 , further comprising marking storage divisions of the solid-state storage medium with respective sequence indicators. 8. The method of claim 1 , wherein caching the data of the back-end storage system on the solid-state storage medium further comprises: caching the data of the back-end storage system in error-correcting code (ECC) blocks, wherein the ECC blocks comprise respective portions of the data of the back-end storage system and a corresponding error-correcting code configured to correct errors in the ECC block; storing a first portion of one of the ECC blocks on a first storage element of the solid-state storage device; and storing a second portion of the ECC block on a second storage element of the solid-state storage device. 9. The method of claim 1 , wherein caching the data of the back-end storage system on the solid-state storage medium further comprises: packetizing the data of the back-end storage system into one or more packets, each packet having a header comprising a logical identifier of the back-end storage system corresponding to the data; and storing the one or more packets sequentially on the solid-state storage medium. 10. The method of claim 9 , further comprising: storing a first portion of one of the packets on a first storage element of the solid-state storage medium; and storing a second portion of the packet on a second storage element of the solid-state storage medium. 11. The method of claim 9 , further comprising: storing a first portion of one of the packets on a first storage element of the solid-state storage medium and a second portion of the packet on a second storage element of the solid-state storage medium in response to a single write command. 12. The method of claim 1 , wherein a write execution time of the solid-state storage medium is greater than a read execution time of the solid-state storage medium, and wherein caching the data of the back-end storage system comprises: buffering the data of the back-end storage system on a write data buffer; and storing the buffered data on a logical page, the logical page comprising physical pages on each of a plurality of solid-state storage elements. 13. The method of claim 12 , wherein the solid-state storage elements of the logical page are arranged in parallel, and wherein the buffered data is stored on the plurality of solid-state storage elements comprising the logical page in response to a single write command. 14. The method of claim 12 , wherein the solid-state storage medium is a write-once storage medium, and wherein an erase execution time of the solid-state storage medium is greater than a write execution time of the solid-state storage medium, the method further comprising erasing a logical storage division comprising a plurality of logical pages of the solid- state storage elements in parallel. 15. The method of claim 1 , further comprising: partitioning the solid-state storage medium into a first portion and a second portion; caching the data of the back-end storage system in the first portion of the solid-state storage medium; and storing non-cache data in the second portion of the solid-state medium. 16. The method of claim 15 , wherein the data of the back-end storage system is cached on a storage division of a solid-state storage medium with non-cache data. 17. The method of claim 1 , further comprising storing cache control metadata pertaining to the data of the back-end storage system cached on the solid-state storage medium sequentially with the non-cache data on the solid-state storage device. 18. A non-transitory computer-readable storage medium comprising instructions to cause a computing device to perform a method, the method comprising: caching data of a primary storage system on a cache compris
Improving or facilitating administration, e.g. storage management · CPC title
Details relating to dynamic memory management · CPC title
Data buffering arrangements · CPC title
Management of files · CPC title
Non-volatile semiconductor memory arrays · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.