IP Library Granted Patent US 10,740,042
Granted Patent B2
US 10,740,042 · App. 15/395,161 · Granted Aug 11, 2020

Scheduling access commands for data storage devices

Inventors: Haining Liu (Irvine, CA); YungLi Ji (Irvine, CA); Yun-Tzuo Lai (Irvine, CA); Ming-Yu Tai (Irvine, CA)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F3/0688G06F3/061G06F3/0653G06F3/0659
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,740,042
App. No.
15/395,161
Granted
Aug 11, 2020
Kind
B2
Abstract

Systems and methods are disclosed for scheduling access commands for a data storage device. A data storage device determines a layout of a plurality of non-volatile memory arrays. The data storage device also determine completed access statistics and pending access statistics for a first set of the plurality of non-volatile memory arrays during a monitoring period. The data storage device further generates a schedule based on the layout of the plurality of non-volatile memory arrays, the completed access statistics, and the pending access statistics and executes access commands based on schedule.

Claims (57)

1. A data storage device comprising:

a plurality of non-volatile memory arrays; and

a controller coupled to the plurality of non-volatile memory arrays via a plurality of channels, the controller configured to:

determine a layout of the plurality of non-volatile memory arrays, wherein the layout indicates which of the plurality of non-volatile memory arrays is coupled to which of the plurality of channels;

determine completed access statistics for a first set of the plurality of non-volatile memory arrays during a monitoring period;

determine pending access statistics for the first set of the plurality of non-volatile memory arrays, the pending access statistics comprising a number of pending read commands, a number of pending internal read operations, a number of pending write commands, and/or a number of pending internal write operations;

generate a schedule based on the layout of the plurality of non-volatile memory arrays, the completed access statistics, and the pending access statistics; and

execute access commands based on the schedule.

2. The data storage device of claim 1 , wherein the controller is configured to determine the completed access statistics by determining a number of write commands that were completed during the monitoring period.

3. The data storage device of claim 2 , wherein the controller is configured to determine the completed access statistics by determining a number of read commands that were completed during the monitoring period.

4. The data storage device of claim 3 , wherein the controller is configured to determine the completed access statistics by determining a number of internal read operations that were completed during the monitoring period.

5. The data storage device of claim 4 , wherein the controller is configured to determine the completed access statistics by determining a number of internal write operations that were completed during the monitoring period.

6. The data storage device of claim 1 , wherein the controller is configured to generate the schedule further based on a threshold power consumption for the data storage device.

7. The data storage device of claim 1 , wherein the controller is configured to generate the schedule further based on a threshold read latency.

8. The data storage device of claim 1 , wherein the controller is configured to generate the schedule further based on an access command throughput.

9. The data storage device of claim 1 , wherein the schedule comprises an ordered list indicating an order in which access commands are to be executed, the order being based on the layout of the plurality of non-volatile memory arrays, the completed access statistics, and the pending access statistics.

10. The data storage device of claim 1 , wherein the completed access statistics comprise a number of completed read commands, a number of completed internal read operations, a number of completed write commands, and/or a number of completed internal write operations.

11. A data storage device comprising:

a plurality of non-volatile memory arrays;

means for determining a layout of the plurality of non-volatile memory arrays, wherein the plurality of non-volatile memory arrays is coupled to a controller via a plurality of channels, wherein the layout indicates which of the plurality of non-volatile memory arrays is coupled to which of the plurality of channels;

means for determining completed access statistics for a first set of the plurality of non-volatile memory arrays during a monitoring period;

means for determining pending access statistics for the first set of the plurality of non-volatile memory arrays the pending access statistics comprising a number of pending read commands, a number of pending internal read operations, a number of pending write commands, and/or a number of pending internal write operations;

means for generating a schedule based on the layout of the plurality of non-volatile memory arrays, the completed access statistics, and the pending access statistics; and

means for executing access commands based on the schedule.

12. The data storage device of claim 11 , wherein the means for determining the layout of the non-volatile memory arrays comprises means for determining that each non-volatile memory array in the first set of the plurality of non-volatile memory arrays is coupled to a first channel.

13. The data storage device of claim 12 , wherein the means for determining the completed access statistics comprises means for determining one or more of:

a number of write commands that were performed during the monitoring period;

a number of read commands that were performed during the monitoring period;

a number of internal read operations that were performed during the monitoring period; or

a number of internal write operations that were performed during the monitoring period.

14. The data storage device of claim 13 , wherein the means for determining pending access statistics comprises means for determining one or more of:

a number of the pending read commands for the first set of the plurality of non-volatile memory arrays;

a number of the pending write commands for the first set of the plurality of non-volatile memory arrays;

a number of the pending internal read operations for the first set of the plurality of non-volatile memory arrays; or

a number of the pending internal write operations for the first set of the plurality of non-volatile memory arrays.

15. The data storage device of claim 14 , wherein the means for generating the schedule is further based on one or more of:

a threshold power consumption for the data storage device;

a threshold read latency; or

and access command throughput.

16. The data storage device of claim 11 , wherein the schedule comprises an ordered list indicating an order in which access commands are to be executed, the order being based on the layout of the plurality of non-volatile memory arrays, the completed access statistics, and the pending access statistics.

17. A method comprising:

determining a layout of a plurality of dies of a data storage device, wherein the plurality of dies is coupled to a controller via a plurality of channels, wherein the layout indicates which of the plurality of dies is coupled to which of the plurality of channels;

determining completed access statistics for a first set of the plurality of dies during a monitoring period;

determining pending access statistics for the first set of the plurality of dies, the pending access statistics comprising a number of pending read commands, a number of pending internal read operations, a number of pending write commands, and/or a number of pending internal write operations;

generating a schedule based on the layout of the plurality of dies, the completed access statistics, and the pending access statistics; and

executing access commands based on the schedule.

18. The method of claim 17 , wherein determining the layout of the dies comprises determining that each die in the first set of the plurality of dies is coupled to a first channel.

19. The method of claim 18 , wherein determining the completed access statistics comprises determining one or more of:

a number of write commands that were performed during the monitoring period;

a number of read commands that were performed during the monitoring period;

a number of internal read operations that were performed during the monitoring period; or

a number of internal write operations that were performed during the monitoring period.

20. The method of claim 17 , wherein the controller is configured to generate the schedule further based on one or more of:

a threshold power consumption for the data storage device;

a threshold read latency; or

an access command throughput.

21. The method of claim 17 , wherein the schedule comprises an ordered list indicating an order in which access commands are to be executed, the order based on the layout of the plurality of dies, the completed access statistics, and the pending access statistics.

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 Sep 28, 2017
From: LIU, HAINING; JI, YUNGLI; LAI, YUN-TZUO; TAI, MING-YU
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043731/0513 →
Continuity (1)
Related Publication 20180188970A1 · Jul 5, 2018