IP Library Granted Patent US 11,449,428
Granted Patent B2
US 11,449,428 · App. 17/017,626 · Granted Sep 20, 2022

Enhanced read-ahead capability for storage devices

Inventors: Shay Benisty (Beer Sheeva, IL); Ariel Navon (Revava, IL); Tomer Eliash (Sunnyvale, CA)
Assignee: Western Digital Technologies, Inc.
G06F12/0862G06F3/0604G06F3/0655G06F3/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 11,449,428
App. No.
17/017,626
Granted
Sep 20, 2022
Kind
B2
Abstract

In the context of data storage, an approach to pre-fetching data prior to a read request involves receiving a read request and a next read request, and updating metadata corresponding to the read request with a next data storage address corresponding to the next read request. Responsive to again receiving the read request at a later time, the next data storage address can be read from the read request metadata and the next data can be pre-fetched from the next data storage address in advance of processing a following read request. Furthermore, the next data can be pre-fetched during read queue idle time and stored in a cache buffer, in anticipation of another incoming next read request, responsive to which the next data can be returned to the host from the buffer rather than from a read of non-volatile memory.

Claims (49)

1. An electronic device comprising:

a non-volatile storage medium;

a read queue; and

control circuitry coupled to the non-volatile storage medium and configured to:

receive a read request from a host, the read request comprising a corresponding data storage address, and place the read request in the read queue;

receive a next read request from the host, the next read request comprising a corresponding next data storage address, and place the next read request in the read queue;

sort read requests from one or more hosts based on an application identifier corresponding to each of the read requests;

update metadata corresponding to the read request in the non-volatile storage medium with the next data storage address from the next read request, only responsive to both the read request and the next read request corresponding to the same application identifier; and

fetch next data from the next data storage address responsive to an occurrence of idle processing time corresponding to the read queue.

2. The electronic device of claim 1 , wherein the control circuitry is further configured to:

responsive to receiving again the read request from the host;

read from the non-volatile storage medium the next data storage address from the meta data corresponding to the read request; and

fetch the next data from the next data storage address in advance of processing a following read request.

3. The electronic device of claim 1 , wherein the update of the metadata corresponding to the read request in the non-volatile storage medium is based on and responsive to the next read request, exclusive of a write request.

4. The electronic device of claim 1 , wherein the next data storage address updated in the metadata corresponding to the read request is a logical block address (LBA) corresponding to the next read request.

5. The electronic device of claim 1 , wherein the control circuitry is further configured to:

place in a cache buffer the next data from the next data storage address.

6. The electronic device of claim 5 , wherein the control circuitry is further configured to:

responsive to receiving again the next read request from the host, return to the host the next data from the cache buffer.

7. The electronic device of claim 1 , wherein the control circuitry is further configured to:

wherein the update of the metadata includes writing the next data storage address to the non-volatile storage medium utilizing a read-modify-write command.

8. The electronic device of claim 1 , wherein the control circuitry is further configured to:

execute a respective tracker process corresponding to each different application identifier to update the metadata corresponding to read requests corresponding to each respective application identifier.

9. The electronic device of claim 1 , wherein the electronic device is a data storage device.

10. A method comprising:

receiving a read request from a host, the read request comprising a corresponding data storage address, and placing the read request in a read queue;

receiving a next read request from the host, the next read request comprising a corresponding next data storage address, and placing the next read request in the read queue;

sorting read requests from one or more hosts based on an application identifier corresponding to each of the read requests;

updating metadata corresponding to the read request in non-volatile storage with a logical address corresponding to the next data storage address from the next read request, only responsive to both the read request and the next read request corresponding to the same application identifier; and

fetching next data from the next data storage address responsive to an occurrence of idle processing time corresponding to the read queue.

11. The method of claim 10 , further comprising:

responsive to receiving again the read request from the host:

reading from the non-volatile storage the next data storage address from the metadata corresponding to the read request; and

fetching the next data from the next data storage address in advance of processing a following read request.

12. The method of claim 10 , further comprising:

placing in a cache buffer the next data from the next data storage address.

13. The method of claim 12 , further comprising:

responsive to receiving again the next read request from the host, returning to the host the next data from the cache buffer.

14. The method of claim 10 , wherein the updating the metadata includes writing the logical address corresponding to the next data storage address to the non-volatile storage utilizing a read-modify-write command.

15. The method of claim 10 , further comprising:

executing a respective tracker process corresponding to each different application identifier to update the metadata corresponding to read requests corresponding to each respective application identifier.

16. A computing system comprising:

means for receiving a read request from a host, the read request comprising a corresponding data storage address, and for placing the read request in a read queue;

means for receiving a next read request from the host, the next read request comprising a corresponding next data storage address, and for placing the next read request in the read queue;

means for sorting read requests from one or more hosts based on an application identifier corresponding to each of the read requests;

means for updating metadata corresponding to the read request in a non-volatile memory with the next data storage address from the next read request, only responsive to both the read request and the next read request corresponding to the same application identifier; and

means for, responsive to receiving again the read request from the host;

reading from the non-volatile memory the next data storage address from the metadata corresponding to the read request; and

fetching the next data from the next data storage address responsive to an occurrence of idle processing time corresponding to the read queue.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
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 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 054475 FRAME 0421 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0358 →
SECURITY INTEREST Recorded Nov 18, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 054475/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: BENISTY, SHAY; NAVON, ARIEL; ELIASH, TOMER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053740/0021 →
Cited By (1)
US 12,481,458