Multi-tiered caching for data storage management in a device
US-2015106568-A1 · Apr 16, 2015 · US
US10223277B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10223277-B2 |
| Application number | US-201715455000-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 9, 2017 |
| Priority date | Mar 9, 2017 |
| Publication date | Mar 5, 2019 |
| Grant date | Mar 5, 2019 |
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.
A shingled magnetic recording (SMR) hard disk drive (HDD) is configured with a multi-level cache. To expedite execution of read commands, the SMR HDD is configured to generate and store a Bloom filter in a memory that can be quickly accessed by the drive controller whenever data are stored in certain levels of the multi-level cache. When data are flushed from one level of media cache to an SMR band included in a lower level of media cache, a Bloom filter is generated based on the logical block addresses (LBAs) stored in that SMR band. Thus, when the SMR HDD receives a read command for data that are associated with a particular LBA and are stored in an SMR region of the HDD, the drive controller can query the Bloom filter for each different SMR region of the HDD in which data for that LBA can possibly be stored.
Opening claim text (preview).
I claim: 1. A method of reading data from a magnetic disk, the method comprising: receiving a read command that references an LBA associated with a physical location on the magnetic disk; selecting a Bloom filter associated with a cache region of the magnetic disk configured for storing data for a range of LBAs that includes the LBA associated with the physical location, wherein the physical location is included in a shingled magnetic recording region; querying the Bloom filter to determine whether there is a possibility that data for the LBA associated with the physical location is stored in the cache region of the magnetic disk; and when the query indicates that there is a possibility that data for the LBA associated with the physical location is stored in the cache region, reading metadata stored in the cache region to determine whether data for the LBA associated with the physical location is stored in the cache region. 2. The method of claim 1 , wherein the physical location on the magnetic disk is not included in the cache region. 3. The method of claim 1 , wherein the cache region comprises a shingled magnetic recording region. 4. The method of claim 1 , further comprising, when the metadata stored in the cache region indicate that data for the LBA associated with the physical location is stored in the cache region, reading the data for the LBA associated with the physical location from the cache region. 5. The method of claim 1 , further comprising, when the metadata stored in the cache region indicate that data for the LBA associated with the physical location is not stored in the cache region, reading the data for the LBA associated with the physical location from the physical location. 6. The method of claim 1 , further comprising: when the metadata stored in the cache region indicates that data for the LBA associated with the physical location is not stored in the cache region, selecting an additional Bloom filter associated with an additional cache region of the magnetic disk configured for storing data for an additional range of LBAs that includes the LBA associated with the physical location, wherein the additional range of LBAs is a subset of the range of LBAs that includes the LBA associated with the physical location; and performing a query of the additional Bloom filter to determine whether there is a possibility that the data for the LBA associated with the physical location is stored in the additional cache region of the magnetic disk. 7. The method of claim 1 , wherein the Bloom filter comprises a bit array with k hash functions associated therewith, and querying the Bloom filter comprises: performing the k hash functions on a value for the LBA associated with the physical location to generate k array positions in the bit array; and determining whether each of the k array positions has a value of 1. 8. The method of claim 7 , wherein each of the k array positions having a value of 1 indicates that there is a possibility that data for the LBA associated with the physical location is stored in the cache region. 9. The method of claim 7 , wherein the value for the LBA comprises a numerical value based at least in part on a unique identifier associated with the LBA. 10. The method of claim 9 , wherein the physical location on the magnetic disk comprises a sector of the magnetic disk, and the unique identifier associated with the LBA is based at least in part on an identifier of the sector. 11. The method of claim 1 , further comprising, prior to selecting the Bloom filter, looking up the LBA in a mapping table that indicates LBAs corresponding to data that are stored in a top-level media cache region on the magnetic disk different from the cache region. 12. The method of claim 11 , wherein the mapping table is stored in a volatile solid-state memory associated with controlling I/O operations on the magnetic disk. 13. A data storage device comprising: a rotatable disk with a writable surface; and a controller configured to: receive a read command that references an LBA associated with a physical location on the writable surface; select a Bloom filter associated with a cache region of the writable surface configured for storing data for a range of LBAs that includes the LBA associated with the physical location, wherein the physical location is included in a shingled magnetic recording region; query the Bloom filter to determine whether there is a possibility that data for the LBA associated with the physical location is stored in the cache region of the writable surface; and when the query indicates that there is a possibility that data for the LBA associated with the physical location is stored in the cache region, read metadata stored in the cache region to determine whether data for the LBA associated with the physical location is stored in the cache region. 14. The data storage device of claim 13 , wherein the cache region comprises a shingled magnetic recording region. 15. The data storage device of claim 13 , further comprising, when the metadata stored in the cache region indicate that data for the LBA associated with the physical location is stored in the cache region, reading the data for the LBA associated with the physical location from the cache region. 16. The data storage device of claim 13 , further comprising, when the metadata stored in the cache region indicate that data for the LBA associated with the physical location is not stored in the cache region, reading the data for the LBA associated with the physical location from the physical location. 17. The data storage device of claim 13 , further comprising: when the metadata stored in the cache region indicates that data for the LBA associated with the physical location is not stored in the cache region, selecting an additional Bloom filter associated with an additional cache region of the writable surface configured for storing data for an additional range of LBAs that includes the LBA associated with the physical location, wherein the additional range of LBAs is a subset of the range of LBAs that includes the LBA associated with the physical location; and performing a query of the additional Bloom filter to determine whether there is a possibility that the data for the LBA associated with the physical location is stored in the additional cache region of the writable surface. 18. The data storage device of claim 13 , wherein the Bloom filter comprises a bit array with k hash functions associated therewith, and querying the Bloom filter comprises: performing the k hash functions on a value for the LBA associated with the physical location to generate k array positions in the bit array; and determining whether each of the k array positions has a value of 1. 19. The data storage device of claim 18 , wherein each of the k array positions having a value of 1 indicates that there is a possibility that data for the LBA associated with the physical location is stored in the cache region. 20. The data storage device of claim 18 , wherein the value for the LBA comprises a numerical value based at least in part on a unique identifier associated with the LBA.
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located · CPC title
using page tables, e.g. page table structures · CPC title
Single cache · CPC title
Details of cache memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.