IP Library Granted Patent US 9,588,898
Granted Patent B1
US 9,588,898 · App. 14/728,293 · Granted Mar 7, 2017

Fullness control for media-based cache operating in a steady state

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,588,898
App. No.
14/728,293
Granted
Mar 7, 2017
Kind
B1
Abstract

A data storage system incorporating a write-caching subsystem that implements a steady-state media-based cache is described. The steady-state of the media-based cache can be obtained by directing non-sequential write commands and data received from the host device to multiple independent cache locations and, thereafter, selectively copying or moving such data between the caches so that none of the caches are either too full or too empty. In this manner, a non-sequential write command can be cached in a power-safe manner until it is efficient and/or convenient to write such data to the mainstore portion of the physical media.

Claims (49)

1. A method of caching write commands received by a data storage system from a host, the data storage system comprising a physical media and a write-caching subsystem, the method comprising:

receiving a write command from a host;

determining an aggregate fullness status of the write-caching subsystem, the write-caching subsystem comprising a volatile memory and a media-based cache, the aggregate fullness based on a fullness status of at least a portion of the media-based cache;

selecting, based on a state of the write-caching subsystem, an action to be performed, the action selected from:

reducing the aggregate fullness status of the write-caching subsystem; and

servicing a command from the host that is not managed by the write-caching subsystem; and

performing the selected action.

2. The method of claim 1 , wherein the fullness status is a first fullness status and an aggregate fullness status is further based on a second fullness status of at least a portion of the volatile memory.

3. The method of claim 1 , wherein the operation of selecting an action to be performed is based in part on a fullness status of the media-based cache.

4. The method of claim 1 , wherein performing the action to reduce the fullness of the write-caching subsystem comprises moving data within the media-based cache to a primary storage portion in the physical media.

5. The method of claim 1 , wherein the volatile memory comprises:

a first portion for buffering write data to be written to the media-based cache; and

a second portion for storing data copied from the media-based cache to be written to a primary storage portion in the physical media.

6. The method of claim 5 , wherein performing the action to reduce the fullness of the write-caching subsystem comprises moving data from the second portion of the volatile memory to a primary storage portion in the physical media.

7. The method of claim 5 , wherein the operation of selecting an action to be performed is based in part on a determination of whether to perform an action to modify the fullness of the write-caching subsystem.

8. The method of claim 7 , wherein performing an action to modify the fullness of the write-caching subsystem comprises enqueuing data of write commands from the first portion of the volatile memory into the media-based cache.

9. The method of claim 5 , wherein the operation of selecting an action to be performed is based in part on a minimum batch number of write commands to be selected for rotational position optimization.

10. The method of claim 9 , wherein the operation of selecting an action to be performed is based in part on determining whether to perform an action to read data from the media-based cache into the second portion of the volatile memory.

11. The method of claim 9 , wherein the selected write commands are selected based on a locality range of write locations on the physical media.

12. A data storage system comprising:

a host interface;

a host command cache in communication with the host interface;

a physical media comprising:

a media-based cache; and

a mainstore;

a write cache subsystem in communication with the host command cache, the write cache subsystem comprising:

a volatile memory comprising:

a first portion for buffering write data to be written to the media-based cache; and

a second portion for storing data copied from the media-based cache to be written to the mainstore; and

a processor coupled to the host interface, the write-caching subsystem, and the physical media, the processor configured to perform the operations of:

receiving a write command from a host;

determining an aggregate fullness status of the write-caching subsystem the aggregate fullness based on a fullness status of at least a portion of the media-based cache;

selecting, based on a state of the write-caching subsystem, an action to be performed, the action selected from:

reducing the aggregate fullness status of the write-caching subsystem; and

servicing a command from the host that is not managed by the write-caching subsystem; and

performing the selected action.

13. The data storage system of claim 12 , wherein the processor is further configured to perform rotational positional ordering on operations related to the write cache subsystem.

14. The data storage system of claim 12 , wherein the operation of moving the write command from the first portion of the volatile memory to the media-based cache is performed by the processor upon determining that the first portion of the write cache subsystem exceeds a selected fullness threshold.

15. The data storage system of claim 12 , wherein the physical media comprises at least one rotating magnetic disk.

16. The data storage system of claim 12 , wherein the write cache subsystem comprises a dynamic random-access memory.

17. The data storage system of claim 12 , wherein the media-based cache is partitioned.

18. A method of writing data to a physical media of a data storage system, the method comprising:

determining that data to be written is eligible for storage within a media-based cache within the physical media;

storing the data in a power-safe data cache;

writing the data sequentially from the power-safe data cache to the media-based cache;

copying the data from the media-based cache to a data holding cache on a volatile memory; and

flushing the data holding cache to the physical media.

19. The method of claim 18 , wherein the operation of determining that the data is eligible for storage within a media-based cache within the physical media comprises determining that the data is shorter than a selected minimum length.

20. The method of claim 18 , wherein the operation of writing the data sequentially from the power-safe data cache to the media-based cache is performed by determining that the power-safe data cache exceeds a selected fullness threshold.

Assignments (7)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →