IP Library Granted Patent US 9,454,991
Granted Patent B2
US 9,454,991 · App. 14/702,078 · Granted Sep 27, 2016

Caching systems and methods for hard disk drives and hybrid drives

Inventor: Sehat Sutardja (Los Altos Hills, CA)
Assignee: Marvell World Trade LTD.
G11B20/1217G06F12/0866G06F12/0897G11B20/10527G11B20/1252G11B20/1879G11B27/36G06F2212/1016G06F2212/202G06F2212/217G06F2212/224G06F2212/225G06F2212/282G06F2212/313G06F2212/462G06F2212/70G11B2020/10657G11B2020/183G11C15/043
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,454,991
App. No.
14/702,078
Granted
Sep 27, 2016
Kind
B2
Abstract

A system includes a read/write module and a caching module. The read/write module is configured to access a first portion of a recording surface of a rotating storage device. Data is stored on the first portion of the recording surface of the rotating storage device at a first density. The caching module is configured to cache data on a second portion of the recording surface of the rotating storage device at a second density. The second portion of the recording surface of the rotating storage device is separate from the first portion of the recording surface of the rotating storage device. The second density is less than the first density.

Claims (66)

1. A system comprising:

a read/write module configured to access a first portion of a recording surface of a rotating storage device, wherein data is stored on the first portion of the recording surface of the rotating storage device at a first density using a shingled magnetic recording format; and

a caching module configured to cache data on a second portion of the recording surface of the rotating storage device at a second density using a recording format different from the shingled magnetic recording format,

wherein the second portion of the recording surface of the rotating storage device is separate from the first portion of the recording surface of the rotating storage device,

wherein the second density is less than the first density; and

wherein the first density and the second density indicate number of sectors per track or number of bytes per sector.

2. The system of claim 1 , wherein:

the second portion of the recording surface of the rotating storage device includes a plurality of tracks, and

each track of the plurality of tracks stores 2 N cache lines, where N is an integer greater than or equal to zero.

3. The system of claim 2 , wherein a size of each of the cache lines is greater than or equal to one megabyte.

4. The system of claim 1 , wherein:

the first portion of the recording surface of the rotating storage device is adjacent to an inner diameter of the rotating storage device; and

the second portion of the recording surface of the rotating storage device is adjacent to an outer diameter of the rotating storage device.

5. The system of claim 1 , wherein the second portion of the recording surface of the rotating storage device has a lower track density than the first portion of the recording surface of the rotating storage device.

6. The system of claim 1 , wherein the caching module includes a final level cache module configured to:

receive a request for data from a host,

lookup a hash table for an entry corresponding to the data, and

retrieve the data from (i) the second portion of the recording surface of the rotating storage device in response to finding the entry in the hash table or (ii) the first portion of the recording surface of the rotating storage device in response to not finding the entry in the hash table.

7. The system of claim 1 , further comprising:

a semiconductor memory,

wherein the semiconductor memory is selected from a group consisting of magneto-resistive random access memory, flash memory, and dynamic random access memory, and

wherein the caching module is configured to

use the semiconductor memory as a first level (L1) cache, and

use the second portion of the recording surface of the rotating storage device as a second level (L2) cache.

8. The system of claim 1 , wherein the read/write module is configured to read data stored in one of a plurality of tracks of the second portion of the recording surface of the rotating storage device before a read element of the rotating storage device settles on the one of the plurality of tracks.

9. The system of claim 1 , wherein the caching module is configured to cache data on the second portion of the recording surface of the rotating storage device using fully set associative caching, the system further comprising:

a content-addressable memory configured to store hash tables corresponding to the fully set associative caching,

wherein the content-addressable memory is implemented using dynamic random access memory.

10. The system of claim 1 , wherein:

the rotating storage device includes a hard disk drive;

the hard disk drive includes one or more platters; and

the hard disk drive is configured to store greater than or equal to one terabytes of data on each of the platters at the first density using the shingled magnetic recording format.

11. The system of claim 1 , wherein the read/write module is configured to:

read the data from the first portion of the recording surface of the rotating storage device following each write operation performed on the first portion of the recording surface of the rotating storage device; and

in response to detecting an error in reading the data from the first portion of the recording surface of the rotating storage device, rewrite the data from the second portion of the recording surface of the rotating storage device to the first portion of the recording surface of the rotating storage device.

12. A method comprising:

storing data on a first portion of a recording surface of a rotating storage device at a first density using a shingled magnetic recording format; and

caching data on a second portion of the recording surface of the rotating storage device at a second density using a recording format different from the shingled magnetic recording format,

wherein the second portion of the recording surface of the rotating storage device is separate from the first portion of the recording surface of the rotating storage device,

wherein the second density is less than the first density, and

wherein the first density and the second density indicate number of sectors per track or number of bytes per sector.

13. The method of claim 12 , further comprising:

selecting a plurality of tracks on the second portion of the recording surface of the rotating storage device; and

storing 2 N cache lines in each track of the plurality of tracks, where N is an integer greater than or equal to zero.

14. The method of claim 13 , further comprising selecting a size of each of the cache lines equal to or greater than one megabyte.

15. The method of claim 12 , further comprising:

selecting the first portion of the recording surface of the rotating storage device adjacent to an inner diameter of the rotating storage device; and

selecting the second portion of the recording surface of the rotating storage device adjacent to an outer diameter of the rotating storage device.

16. The method of claim 12 , further comprising selecting the second portion of the recording surface of the rotating storage device having a lower track density than the first portion of the recording surface of the rotating storage device.

17. The method of claim 12 , further comprising:

receive a request for data from a host;

looking up a hash table for an entry corresponding to the data; and

retrieving the data from (i) the second portion of the recording surface of the rotating storage device in response to finding the entry in the hash table or (ii) the first portion of the recording surface of the rotating storage device in response to not finding the entry in the hash table.

18. The method of claim 12 , further comprising:

selecting a semiconductor memory from a group consisting of magneto-resistive random access memory, flash memory, and dynamic random access memory;

using the semiconductor memory as a first level (L1) cache; and

using the second portion of the recording surface of the rotating storage device as a second level (L2) cache.

19. The method of claim 12 , further comprising reading data stored in one of a plurality of tracks of the second portion of the recording surface of the rotating storage device before a read element of the rotating storage device settles on the one of the plurality of tracks.

20. The method of claim 12 , further comprising:

caching data on the second portion of the recording surface of the rotating storage device using fully set associative caching;

storing, in a content-addressable memory, hash tables corresponding to the fully set associative caching; and

implementing the content-addressable memory using dynamic random access memory.

21. The method of claim 12 , wherein the rotating storage device includes a hard disk drive having one or more platters, the method further comprising storing greater than or equal to one terabytes of data per platter on the hard disk drive using the shingled magnetic recording format.

22. The method of claim 12 , further comprising:

reading the data from the first portion of the recording surface of the rotating storage device following each write operation performed on the first portion of the recording surface of the rotating storage device; and

in response to detecting an error in reading the data from the first portion of the recording surface of the rotating storage device, rewriting the data from the second portion of the recording surface of the rotating storage device to the first portion of the recording surface of the rotating storage device.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
LICENSE Recorded Nov 16, 2015
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 037046/0987 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2015
From: MARVELL INTERNATIONAL LTD.
To: MARVELL WORLD TRADE LTD.
Reel/Frame 037046/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2015
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 037037/0038 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2015
From: SUTARDJA, SEHAT
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 037013/0468 →
Continuity (2)
Provisional Application 61987947 · May 2, 2014
Related Publication 20150318022A1 · Nov 5, 2015