IP Library Granted Patent US 10,180,792
Granted Patent B1
US 10,180,792 · App. 14/701,447 · Granted Jan 15, 2019

Cache management in data storage systems

Inventors: Mark Gaertner (Vadnais Heights, MN); James D Sawin (Sterling, MA)
Assignee: Seagate Technology LLC
G06F3/061G06F3/068G06F3/0614G06F3/0656G06F3/0679
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 10,180,792
App. No.
14/701,447
Granted
Jan 15, 2019
Kind
B1
Abstract

Data storage devices may store selected data received from a data source to a buffer memory. The selected data may be copied from the buffer to a non-volatile memory configured for sequential storage. The selected data may then be copied from the buffer to a solid state memory, such as dynamic random access memory. The selected data may be copied from the solid state memory to a main store, such as a magnetic disc memory. If the selected data cannot be found in the solid state memory, the selected data in the non-volatile memory can be copied to the main store.

Claims (72)

1. A system comprising:

a memory;

a solid state memory (“SSM”);

a first non-volatile memory (“NVM”) configured to store selected data in a sequential manner;

a second NVM;

a circuit configured to:

mirror the selected data to the first NVM and the SSM from the memory by both:

storing the selected data from the memory to the first NVM; and

storing the same selected data from the memory to the SSM as stored from the memory to the first NVM; and

store, from the SSM to the second NVM, the selected data mirrored from the memory to the SSM.

2. The system of claim 1 further comprising:

the first NVM is a media cache and the SSM is configured as a media cache mirror (“MCM”) where the SSM also includes a portion configured to store data for input/output commands.

3. The system of claim 1 further comprising:

the SSM is NAND flash.

4. The system of claim 2 further comprising:

at least one of the first NVM and the second NVM is a magnetic disc memory.

5. The system of claim 4 further comprising:

the memory includes a management table; and

the management table includes a mapping of sequential ranges of logical block addresses corresponding to sequential data where the sequential data is located in at least one of the first NVM and the SSM.

6. The system of claim 2 further comprising:

the memory includes a power loss protection portion, where data stored in the power loss protection portion can be stored to a non-volatile memory when power is lost.

7. The system of claim 4 further comprising:

the second NVM is a magnetic disc memory and the first NVM is a reserved portion of the second NVM.

8. A method comprising:

receiving selected data from a data source;

storing the selected data to a memory;

mirroring the selected data to the first NVM and the SSM from the memory by both:

storing the selected data from the memory to a first non-volatile memory (“NVM”), where the first NVM is configured for sequential storage; and

storing the same selected data from the memory to a solid state memory (“SSM”) as stored from the memory to the first NVM; and

storing, from the SSM to a second NVM, the selected data mirrored from the memory to the SSM.

9. The method of claim 8 further comprising:

determining if a write command corresponding to the selected data is write cache enabled; and

when the write command is write cache enabled, storing the selected data from the memory to one of the SSM and the second NVM, without storing the selected data from the memory to the first NVM.

10. The method of claim 9 further comprising:

when the write command is not write cache enable, storing the selected data to a power protected portion of the memory and send a notice of completion to the data source.

11. The method of claim 10 further comprising:

determining if storing the selected data in the first NVM is an optimal storage solution; and

storing the selected data to the second NVM when storing the selected data in the first NVM is not the optimal storage solution.

12. The method of claim 11 further comprising:

storing the selected data from the memory to the first NVM; and

storing the selected data from the memory to the SSM.

13. The method of claim 12 further comprising:

determining if a level of saturation of the SSM exceeds a threshold; and

storing the selected data from the SSM to the second NVM when the level of saturation of the SSM exceeds the threshold.

14. The method of claim 13 further comprising:

determining if some of the selected data is in the SSM and some of the selected data is in the first NVM.

15. The method of claim 14 further comprising:

merging the selected data in the SSM and the selected data in the first NVM to produce merged data when some of the selected data is in the SSM and some of the selected data is in the first NVM; and

storing the merged data to the second NVM.

16. The method of claim 15 further comprising:

storing the selected data from the first NVM to the second NVM.

17. The method of claim 8 further comprising:

aggregating logical block addresses (LBAs) corresponding to one or more selected data in the memory to produce aggregated LBAs; and

storing the aggregated LBAs in a management table.

18. The method of claim 17 further comprising:

storing the one or more selected data corresponding to the aggregated LBAs to the first NVM; and

storing the one or more selected data corresponding to the aggregated LBAs to the SSM.

19. A system comprising:

a memory;

a solid state memory (“SSM”);

a first non-volatile memory (“NVM”) configured to store selected data in a sequential manner;

a second NVM; and

a circuit configured to:

read the selected data from at least one of the memory, the SSM, the first NVM, and the second NVM based on a location of the selected data and performance characteristics of the memory, the SSM, the first NVM, and the second NVM, where the first NVM is a media cache and the SSM is configured as a media cache mirror (“MCM”) mirroring at least a portion of the data stored in the first NVM; and

mirror the portion of the data to the first NVM and the SSM from the memory by both:

storing the selected data from the memory to the first NVM; and

storing the same selected data from the memory to the SSM as stored from the memory to the first NVM.

20. The system of claim 19 further comprising:

the first NVM is a media cache and the second SSM is configured as a media cache mirror and the SSM also includes a portion configured to store data for input/output commands; and

at least one of the first NVM and the second NVM is a magnetic disc memory.

21. The system of claim 20 further comprising:

the performance characteristics include at least one of a data access time and a data transfer rate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2015
From: GAERTNER, MARK; SAWIN, JAMES D
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 035678/0978 →
Cited By (2)
US 12,298,897 US 12,443,546