IP Library Granted Patent US 10,459,844
Granted Patent B2
US 10,459,844 · App. 15/851,706 · Granted Oct 29, 2019

Managing flash memory read operations

Inventors: Shay Benisty (Beer Sheva, IL); Ariel Navon (Revava, IL); Alon Marcu (Tel-Mond, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F12/0879G06F3/0611G06F3/0656G06F3/0659G06F3/0679G06F12/0246G06F2212/1024G06F2212/2022G06N20/00
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,459,844
App. No.
15/851,706
Granted
Oct 29, 2019
Kind
B2
Abstract

Embodiments of the present disclosure generally relate to a storage device and method of managing flash memory read operations of a storage device. In one embodiment, a method of retrieving information stored in a storage device comprises determining a timing of a next host read command for a flash memory die. If there is a storage device initiated read request for the flash memory die is determined. In response to an identification of the storage device initiated read request, a random cache read operation is initiated with the storage device initiated read request bound with the next host read command.

Claims (61)

1. A method of retrieving information stored in a storage device, comprising:

determining a timing of a next host read command for a flash memory die;

identifying if there is a storage device initiated read request for the flash memory die; and

in response to an identification of the storage device initiated read request, initiating a random cache read operation with the storage device initiated read request bound with the next host read command.

2. The method of claim 1 , wherein the random cache read operation is first initiated with the storage device initiated read request.

3. The method of claim 1 , further comprising waiting to initiate the random cache read operation based upon the timing of the next host read command.

4. The method of claim 1 , further comprising in response to no identification of the storage device initiated read request, receiving a host read command for the flash memory die.

5. The method of claim 4 , further comprising initiating a second random cache read operation with the received host read command.

6. The method of claim 5 , further comprising determining a timing of a second next host read command for the flash memory die and binding the second next host read command with the received host read command into the second random cache read operation.

7. The method of claim 6 , further comprising waiting to initiate the second random cache read operation based upon the timing of the second next host read command.

8. A method of retrieving information stored in a storage device with an open cache read operation for a flash memory die, comprising:

determining a timing of completion of any outstanding read requests within the open cache read operation;

determining a timing of a next host read command for the flash memory die; and

executing the next host read command within the open cache read operation when the timing of the next host read command is not greater than a threshold.

9. A method of retrieving information stored in a storage device with an open cache read operation for a flash memory die, comprising:

determining a timing of completion of any outstanding read requests within the open cache read operation;

determining a timing of a next host read command for the flash memory die; and

executing the next host read command within a second open random cache read operation when the timing of the next host read command is greater than a threshold.

10. The method of claim 9 , further comprising terminating the open cache read operation after a determination of the timing of the next host read command is greater than the threshold.

11. A method of retrieving information stored in a storage device with an open cache read operation for a flash memory die, comprising:

determining a timing of completion of any outstanding read requests within the open cache read operation;

determining a timing of a next host read command for the flash memory die;

executing the next host read command within the open random cache read operation when the timing of the next host read command is greater than a threshold; and

executing a storage device initiated read request for the flash memory die within the open random cache read operation and within the timing of the next host read command.

12. A method of retrieving information stored in a storage device with an open cache read operation for a flash memory die, comprising:

determining a timing of completion of any outstanding read requests within the open cache read operation;

determining a timing of a next host read command for the flash memory die; and

executing the next host read command,

wherein the open cache read operation is maintained by one or more storage device initiated read requests executed within the open cache read operation during the timing of the next host read command.

13. A storage device, comprising:

a plurality of flash memory dies;

a controller comprising a host read command analyzer; and

a flash interface coupling the controller and the plurality of flash memory dies,

wherein the controller is operable to:

determine a timing of a next host read command to a particular flash memory die of the plurality of flash memories dies; and

use the timing of the next host read command of the particular flash memory die to initiate a random cache read operation.

14. A storage device, comprising:

a plurality of flash memory dies;

a controller comprising a host read command analyzer; and

a flash interface coupling the controller and the plurality of flash memory dies,

wherein the controller is operable to:

determine a timing of a next host read command to a particular flash memory die of the plurality of flash memories dies; and

use the timing of the next host read command of the particular flash memory die to maintain an open random cache read operation.

15. The storage device of claim 14 , wherein the timing is not greater than a threshold.

16. A storage device, comprising:

a plurality of flash memory dies;

a controller comprising a host read command analyzer; and

a flash interface coupling the controller and the plurality of flash memory dies,

wherein the controller is operable to:

determine a timing of a next host read command to a particular flash memory die of the plurality of flash memories dies; and

use the timing of the next host read command of the particular flash memory die to terminate a random cache read operation.

17. The storage device of claim 16 , wherein the timing is greater than a threshold.

18. A storage device, comprising:

a flash memory die;

a controller means; and

a flash interface coupling the controller means and the flash memory die,

wherein the controller means is operable to maintain an open cache read operation by initiating one or more storage device initiated requests along with a plurality of random cache read sequences.

19. The storage device of claim 18 , wherein the controller means comprises a host read command analyzer.

20. The storage device of claim 19 , wherein the host read command analyzer of the controller means utilizes machine learning.

21. The storage device of claim 18 , wherein the controller means is operable to determine one or more attributes of a particular next host read command to determine whether to terminate the open cache read operation.

22. The storage device of claim 21 , wherein a timing of the particular next host read command is determined by the controller means.

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 - 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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2017
From: BENISTY, SHAY; NAVON, ARIEL; MARCU, ALON
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 044474/0531 →
Continuity (1)
Related Publication 20190196972A1 · Jun 27, 2019
Cited By (1)
US 12,248,700