SMR drive with multi-level write-cache for high random-write performance

US10223277B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10223277-B2
Application numberUS-201715455000-A
CountryUS
Kind codeB2
Filing dateMar 9, 2017
Priority dateMar 9, 2017
Publication dateMar 5, 2019
Grant dateMar 5, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10223277B2 cover?
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 …
Who is the assignee on this patent?
Toshiba Kk
What technology area does this patent fall under?
Primary CPC classification G11B20/1217. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 05 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).