IP Library Granted Patent US 9,785,563
Granted Patent B1
US 9,785,563 · App. 14/825,738 · Granted Oct 10, 2017

Read command processing for data storage system based on previous writes

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,785,563
App. No.
14/825,738
Granted
Oct 10, 2017
Kind
B1
Abstract

A read command is received from a host requesting data from a portion of a first memory of a data storage system and it is determined whether one or more sections of the first memory including the portion have previously been written to by the host. If it is determined that the one or more sections have not previously been written to by the host, predetermined data is sent to the host in response to the read command without reading the portion of the first memory. According to another aspect, the requested data from the read command is cached in a second memory of the data storage system based on whether the one or more sections of the first memory have previously been written to by the host.

Claims (35)

1. A data storage system, comprising:

a first memory for storing data;

a second memory for caching data stored in the first memory, and for completing read commands without reading the data stored in the first memory; and

a controller configured to:

receive a read command from a host requesting data from a portion of the first memory;

send the requested data to the host to complete the read command;

determine whether one or more sections of the first memory including the portion have previously been written to by the host; and

based on whether the one or more sections of the first memory have previously been written to by the host, cache the requested data in the second memory for completing a future read command for the requested data without reading the requested data from the first memory

wherein if it is determined that the one or more sections of the first memory have not previously been written to by the host, the controller is further configured to indicate in a cache table that the requested data stored in the portion of the first memory has been cached in the second memory without caching the requested data stored in the portion of the first memory.

2. The data storage system of claim 1 , wherein the controller is further configured to maintain a write table indicating whether a plurality of sections of the first memory have been previously written to by the host.

3. The data storage system of claim 1 , wherein the first memory includes at least one rotating magnetic disk and the second memory includes a solid-state memory.

4. The data storage system of claim 1 , wherein the first memory includes a first Data Storage Device (DSD) and the second memory includes a second DSD.

5. The data storage system of claim 1 , wherein if it is determined that the one or more sections of the first memory have previously been written to by the host, the controller is configured to cache the requested data in the second memory; and

wherein if it is determined that the one or more sections of the first memory have not previously been written to by the host, the controller is configured to not cache the requested data in the second memory.

6. The data storage system of claim 1 , wherein the controller is further configured to cache the requested data in the second memory based on a read caching policy in addition to whether the one or more sections of the first memory have previously been written to by the host.

7. The data storage system of claim 1 , wherein the controller is further configured to determine whether the one or more sections of the first memory including the portion have previously been written to by the host by checking a write table indicating whether a plurality of sections of the first memory have been previously written to by the host.

8. The data storage system of claim 1 , wherein if it is determined that the one or more sections of the first memory have not previously been written to by the host, the controller is configured to send predetermined data to the host in response to the read command without reading the portion of the first memory.

9. The data storage system of claim 8 , wherein the predetermined data is null data.

10. The data storage system of claim 8 , further comprising a volatile memory, and wherein the controller is further configured to store the predetermined data or a repeated portion of the predetermined data in a buffer of the volatile memory.

11. A method of operating a data storage system, the method comprising:

receiving a read command from a host requesting data from a portion of a first memory of the data storage system;

sending the requested data to the host to complete the read command;

determining whether one or more sections of the first memory including the portion have previously been written to by the host; and

based on whether the one or more sections of the first memory have previously been written to by the host, caching the requested data in a second memory of the data storage system for completing a future read command for the requested data without reading the requested data from the first memory;

wherein if it is determined that the one or more sections of the first memory have not previously been written to by the host, the method further comprises indicating in a cache table that the requested data stored in the portion of the first memory has been cached in the second memory without caching the requested data stored in the portion of the first memory.

12. The method of claim 11 , further comprising maintaining a write table indicating whether a plurality of sections of the first memory have been previously written to by the host.

13. The method of claim 11 , wherein the first memory includes at least one rotating magnetic disk and the second memory includes a solid-state memory.

14. The method of claim 11 , wherein the first memory includes a first Data Storage Device (DSD) and the second memory includes a second DSD.

15. The method of claim 11 , wherein if it is determined that the one or more sections of the first memory have previously been written to by the host, the requested data is cached in the second memory; and

wherein if it is determined that the one or more sections of the first memory have not previously been written to by the host, the requested data is not cached in the second memory.

16. The method of claim 11 , further comprising caching the requested data in the second memory based on a read caching policy in addition to whether the one or more sections of the first memory have previously been written to by the host.

17. The method of claim 11 , further comprising determining whether the one or more sections of the first memory including the portion have previously been written to by the host by checking a write table indicating whether a plurality of sections of the first memory have been previously written to by the host.

18. The method of claim 11 , wherein if it is determined that the one or more sections of the first memory have not previously been written to by the host, the method further comprises sending predetermined data to the host in response to the read command without reading the portion of the first memory.

19. The method of claim 18 , wherein the predetermined data is null data.

20. The method of claim 18 , further comprising storing the predetermined data or a repeated portion of the predetermined data in a buffer of a volatile memory of the data storage system.

Assignments (8)
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: 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 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2015
From: DING, LU; SOIGUINE, FYODOR; GUDA, CHANDRA M.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 036322/0968 →