Read cache management
US-2017364447-A1 · Dec 21, 2017 · US
US11275684B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11275684-B1 |
| Application number | US-202017021493-A |
| Country | US |
| Kind code | B1 |
| Filing date | Sep 15, 2020 |
| Priority date | Sep 15, 2020 |
| Publication date | Mar 15, 2022 |
| Grant date | Mar 15, 2022 |
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.
Systems and methods are disclosed for employing a media read cache in a storage device. In certain embodiments, an, an apparatus may comprise a data storage drive including a volatile read cache, and a disc memory including a primary data storage region of the storage device configured for long-term storage of data via persistent logical block address to physical block address mapping, and a media read cache region configured to store a copy of data from the volatile read cache. The data storage drive may be configured to perform a read operation including: retrieve read data from the volatile read cache based on determining that the read data is available in the volatile read cache, and retrieve the read data from the media read cache based on determining that the read data is not available in the volatile read cache and is available in the media read cache.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a data storage drive including: a volatile read cache; a disc memory including: a primary data storage region of the data storage drive configured for long-term storage of data via persistent logical block address (LBA) to physical block address (PBA) mapping; a media read cache region configured to store a copy of data from the volatile read cache; a controller configured to perform a read operation including: determine read data to retrieve for the read operation; retrieve the read data from the volatile read cache based on determining that the read data is available in the volatile read cache; retrieve the read data from the media read cache based on determining that the read data is not available in the volatile read cache and is available in the media read cache; retrieve the read data from the primary data storage based on determining that the read data is available in neither the volatile read cache nor the media read cache; and the controller further configured to record data to the media read cache at a higher storage density than data recorded to the primary data storage. 2. The apparatus of claim 1 comprising the controller further configured to record data to the media read cache at a higher bits per inch capacity than data recorded to the primary data storage. 3. The apparatus of claim 1 comprising the controller further configured to record data to the media read cache at a higher tracks per inch capacity than data recorded to the primary data storage. 4. The apparatus of claim 1 comprising the controller further configured to record data to the media read cache with reduced error correction encoding relative to data recorded to the primary data storage. 5. The apparatus of claim 1 comprising the controller further configured to load the read data retrieved from the media read cache into the volatile read cache. 6. The apparatus of claim 5 comprising the controller further configured to: initiate the read operation based on a read command received from a host device; determine additional data likely to be requested by the host device in temporal proximity to the read data; and retrieve the read data and the additional data from the media read cache during a single read operation. 7. The apparatus of claim 6 comprising the controller further configured to provide an indication to the host device that the additional data was retrieved in addition to the read data in response to the read command. 8. The apparatus of claim 1 , further comprising: the controller configured to retrieve the read data from the media read cache via: determine whether the read data is stored in multiple media read cache locations; in response to determining that the read data is stored in multiple media read cache locations, determine a selected media read cache location having a shortest access time from the multiple media read cache locations; compare a first access time to the selected media read cache location to a second access time to a location of the read data in the primary data storage; and retrieve the read data from the selected media read cache location based on the first access time being less than the second access time. 9. The apparatus of claim 1 , the controller further configured to: perform a data eviction operation to remove data from the volatile read cache, including: determine cached data elements in the volatile read cache likely to be accessed in temporal proximity to each other; and store the cached data elements likely to be accessed in temporal proximity to the media read cache in a manner permitting the cached data elements to be read in a single uninterrupted read operation. 10. The apparatus of claim 9 , further comprising: the disc memory includes a plurality of recordable disc media arranged in a stack configured to rotate around a spindle, with multiple of the plurality of recordable disc media having a portion of the media read cache; and the data eviction operation further includes: store the cached data elements likely to be accessed in temporal proximity to portions of the media read cache on multiple discs from the plurality of recordable disc media, in a manner permitting simultaneous reading via parallelism. 11. The apparatus of claim 9 comprising the controller further configured to: determine whether data selected for eviction is dirty data; and store the cached data elements likely to be accessed in temporal proximity and commit the dirty data to nonvolatile storage in a single write operation, including recording the dirty data to a location of the disc memory in a manner including sufficient quality control standards to reasonably ensure the data will be readable, prior to removing the dirty data from the volatile read cache. 12. A method comprising: receiving, from a host device, a read command requesting read data at a data storage drive including: a controller; a volatile read cache; a disc memory including: a primary data storage region of the data storage drive configured for long-term storage of data via persistent logical block address (LBA) to physical block address (PBA) mapping; a media read cache region configured to store a copy of data from the volatile read cache; performing a read operation in response to the read command, the read operation including: retrieving the read data from the volatile read cache based on determining that the read data is available in the volatile read cache; retrieving the read data from the media read cache based on determining that the read data is not available in the volatile read cache and is available in the media read cache, the read operation further including: determining additional data likely to be requested by the host device in temporal proximity to the read data; retrieving the read data and the additional data from the media read cache during a single read operation; and retrieving the read data from the primary data storage based on determining that the read data is available in neither the volatile read cache nor the media read cache. 13. The method of claim 12 , further comprising: performing a data eviction operation to remove data from the volatile read cache, including: determining cached data elements in the volatile read cache likely to be accessed in temporal proximity to each other; and storing the cached data elements likely to be accessed in temporal proximity to the media read cache in a manner permitting the cached data elements to be read in a single uninterrupted read operation. 14. The method of claim 13 comprising performing the data eviction operation further includes: performing the data eviction operation further includes storing portions of the cached data elements likely to be accessed in temporal to media read cache regions on multiple discs from a plurality of recordable disc media, in a manner permitting simultaneous reading via parallelism. 15. The method of claim 13 comprising performing the data eviction operation further includes: determining whether data selected for eviction is dirty data; recording the dirty data to the primary data storage prior to removing the dirty data from the volatile read cache; recording the data selected for eviction to the media read cache in at least one of the following formats: a higher bits per inch capacity than data recorded to the primary data storage; a higher tracks per inch capacity than data recorded to the primary data storage; and with reduced error correction encoding relative to data recorded to the primary data st
in block erasable memory, e.g. flash memory · CPC title
Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks · CPC title
Logical to physical mapping or translation of blocks or pages · CPC title
Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · CPC title
Hybrid memory, e.g. using both volatile and non-volatile memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.