IP Library Granted Patent US 8,327,076
Granted Patent B2
US 8,327,076 · App. 12/465,412 · Granted Dec 4, 2012

Systems and methods of tiered caching

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 8,327,076
App. No.
12/465,412
Granted
Dec 4, 2012
Kind
B2
Abstract

The disclosure is related to data storage systems having multiple cache and to management of cache activity in data storage systems having multiple cache. In a particular embodiment, a data storage device includes a volatile memory having a first read cache and a first write cache, a non-volatile memory having a second read cache and a second write cache and a controller coupled to the volatile memory and the non-volatile memory. The memory can be configured to selectively transfer read data from the first read cache to the second read cache based on a least recently used indicator of the read data and selectively transfer write data from the first write cache to the second write cache based on a least recently written indicator of the write data.

Claims (44)

1. A device comprising:

a volatile solid state memory having a first cache;

a non-volatile data storage medium; and

a controller coupled to the volatile solid state memory and the non-volatile data storage medium, the controller configured to:

determine an attribute of data associated with a specific write command;

store the data in the first cache when the attribute is a first value;

store the data directly to the non-volatile data storage medium, without storing all of the data in the first cache, when the attribute is a second value; and

storing a portion less than all of the data in the first cache when the attribute is the second value.

2. The device of claim 1 further comprising a non-volatile solid state memory having a second cache and the controller is configured to determine a priority order other than a first-in first-out (FIFO) basis to transfer the data from the first cache to the second cache.

3. The device of claim 2 further comprising:

an interface coupled to the controller, the interface adapted to receive commands and data from a host;

the first cache and the second cache are not addressable data storage accessible by the host to store data; and

the non-volatile data storage medium includes addressable data storage accessible by the host.

4. The device of claim 3 wherein the volatile solid state memory is a dynamic random access memory and the non-volatile solid state memory is a flash memory.

5. The device of claim 3 wherein the controller is further configured to:

select data to be transferred from the first cache to the second cache when a trigger condition occurs; and

transfer the selected data from the first cache to the second cache when the trigger condition occurs.

6. The device of claim 5 wherein the trigger condition comprises a uniqueness of specific data where there exists no other copies of the specific data in the device.

7. The device of claim 3 further comprising the controller configured to maintain a maximum amount of read data in the first cache and transfer selected read data to the second cache to be at or below the maximum amount of read data in the first read cache.

8. A data storage device comprising:

a volatile memory having a first cache;

a first non-volatile memory having a second cache;

a second non-volatile memory;

a controller coupled to the volatile memory, the first non-volatile memory, the second non-volatile memory, and configured to:

receive a write request sent to the data storage device by a host system;

selectively choose a particular caching methodology of multiple available caching methodologies within the data storage device based on an attribute of the write request;

a first caching methodology of the multiple available caching methodologies including determining a type of data associated with the write request and selectively storing the data associated with the write request directly to the second non-volatile memory when a type of the data is a specific type regardless of a size of the data and without storing all of the data in the volatile memory;

selectively transfer data from the first cache to the second cache.

9. The data storage device of claim 8 further comprising the controller adapted to remove data overlaps and coalesce selected data before moving the selected data from the first cache to the second cache.

10. The data storage device of claim 8 further comprising the second non-volatile memory is addressable for data storage by a host and both the volatile memory and the first non-volatile memory are not addressable for data storage by the host.

11. The data storage device of claim 8 wherein, when the data associated with the write request is stored to the second non-volatile memory, a portion that is less than all of the data associated with the write request is selectively stored in the first cache.

12. The device of claim 1 wherein the attribute is a threshold length of data, the first value is a size of the data less than the threshold, the second value is the size of the data greater than the threshold.

13. The device of claim 5 wherein the attribute is a type of data file associated with the data, the first value is a non-audio and non-video type of data file, and the second value is an audio or video type of data file.

14. The device of claim 13 wherein the portion less than all of the data comprises a first part of the data.

15. The device of claim 14 wherein the portion less than all of the data comprises a last part of the data.

16. The device of claim 5 further comprising the controller configured to combine fragments of data to produce coalesced data before transferring data from the first cache to the second cache.

17. The device of claim 8 further comprising a second caching methodology of the multiple available caching methodologies including:

determining a size of data to be stored for the write request as the attribute and selectively storing data associated with the write request to the first cache when the size of the data is less than a threshold size; and

selectively storing the data associated with the write request to the second non-volatile memory when the data has a size greater than the threshold size.

18. The device of claim 17 further comprising the controller configured to:

selectively transfer data from the first cache to the second non-volatile memory; and

selectively transfer data from the second cache to the second non-volatile memory.

19. The device of claim 8 further comprising the controller configured to store the data associated with the write request in sequential physical addresses of the second non-volatile memory when a type of the data is a specific type regardless of a size of the data.

20. The device of claim 19 wherein the specific type comprises video data or audio data.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2025
From: THE BANK OF NOVA SCOTIA
To: SEAGATE TECHNOLOGY PUBLIC LIMITED COMPANY; SEAGATE TECHNOLOGY; SEAGATE TECHNOLOGY HDD HOLDINGS; I365 INC.; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE HDD CAYMAN; SEAGATE TECHNOLOGY (US) HOLDINGS, INC.
Reel/Frame 072193/0001 →
SECURITY AGREEMENT Recorded Mar 24, 2011
From: SEAGATE TECHNOLOGY LLC
To: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT
Reel/Frame 026010/0350 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2009
From: MURPHY, ROBERT D.; DIXON, ROBERT W.; WILLIAMS, STEVEN S.
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 022680/0687 →