IP Library Granted Patent US 11,630,609
Granted Patent B2
US 11,630,609 · App. 16/937,420 · Granted Apr 18, 2023

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 11,630,609
App. No.
16/937,420
Granted
Apr 18, 2023
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 (60)

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 physical layout of the plurality of non-volatile memory arrays, wherein the physical 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;

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

execute, based on the schedule, access commands using the plurality of non-volatile memory arrays,

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

2. The data storage device of claim 1 , wherein the controller is configured to perform at least one of:

determine the completed access statistics by determining a number of write commands that were completed during the monitoring period;

determine the completed access statistics by determining a number of read commands that were completed during the monitoring period;

determine the completed access statistics by determining a number of internal read operations that were completed during the monitoring period; or

determine the completed access statistics by determining a number of internal write operations that were completed during the monitoring period.

3. 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.

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

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

6. The data storage device of claim 1 , wherein the controller is configured to determine the physical layout by being further configured to determine a total number of the plurality of channels.

7. The data storage device of claim 6 , wherein the controller is configured to determine the physical layout by being further configured to determine, for each of the plurality of channels, which of the plurality of non-volatile memory arrays is coupled with a respective channel of the plurality of channels.

8. The data storage device of claim 1 , wherein the controller is configured to generate the schedule by being further configured to generate a schedule for at least one of the plurality of channels.

9. A data storage device comprising:

a plurality of non-volatile memory arrays;

means for determining a physical 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 physical 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;

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

means for executing, based on the schedule, access commands using the plurality of non-volatile memory arrays,

wherein the schedule comprises an ordered list indicating an order in which access commands are to be executed, the order being based on the physical 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 9 , wherein the means for determining the physical 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.

11. The data storage device of claim 10 , wherein the means for determining the completed access statistics comprises means for determining at least one 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.

12. The data storage device of claim 11 , wherein the means for determining pending access statistics comprises means for determining at least one 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.

13. The data storage device of claim 12 , wherein the means for generating the schedule is further based on at least one of:

a threshold power consumption for the data storage device;

a threshold read latency; or

and access command throughput.

14. A method comprising:

determining a physical 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 physical 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;

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

executing, based on the schedule, access commands using the plurality of dies,

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

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

16. The method of claim 15 , wherein determining the completed access statistics comprises determining at least one 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.

17. The method of claim 14 , wherein the controller is configured to generate the schedule further based on at least one of:

a threshold power consumption for the data storage device;

a threshold read latency; or

an access command throughput.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2020
From: LIU, HAINING; JI, YUNGLI; LAI, YUN-TZUO; TAI, MING-YU
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053298/0115 →
Continuity (2)
Continuation 15395161 · Dec 30, 2016
Related Publication 20200356312A1 · Nov 12, 2020