IP Library Granted Patent US 10,642,764
Granted Patent B1
US 10,642,764 · App. 16/290,705 · Granted May 5, 2020

Data transfer command latency of a host device

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,642,764
App. No.
16/290,705
Granted
May 5, 2020
Kind
B1
Abstract

An input/output device identifies a workload type for a connected host device. The input/output device applies settings for the workload type to affect one or more of a flash translation layer queue depth of the input/output device, a host device data transfer scheduler of the input/output device, and a command status host notification timing by the input/output device to the host device.

Claims (54)

1. A method of operating an input/output device, the method comprising:

the input/output device interacting with a host device workload execution profiler to achieve a workload type lock;

the input/output device correlating the workload type lock to a workload type;

comparing a host device workload threshold with one or more host perfection scores;

wherein the host perfection scores are calculated for each data input or data output initiator of the host device using a ranking mechanism;

wherein each host perfection score is determined by:

( W 1* A 1)+( W 2* A 2)+ . . . +( Wn*An )

where A1, A2, through An are host measurement attributes and W1, W2, through Wn are relative weight factors applied to each of the host measurement attributes and wherein the sum of the relative weight factors is 100%; and

the input/output device altering settings for the workload type to affect one of a flash translation layer queue depth, a host device data transfer scheduler, and a command status host notification timing to a host device, based on the host perfection scores.

2. The method of claim 1 , further comprising measuring a difference between an actual performance measure for the workload type and an optimal performance for the workload type.

3. The method of claim 1 , further comprising:

evaluating and scoring changes to performance of the host device related to changes to prior control settings for the input/output device; and

adjusting weights applied for selection of future control settings for the input/output device based on the scoring of the changes.

4. The method of claim 1 , further comprising:

making a first determination whether to alter a queue depth of a flash translation layer of the input/output device based on the host perfection scores.

5. The method of claim 4 , further comprising:

making a second determination, subsequent to the first determination, whether delays for host data transfers should be altered based on the host perfection scores.

6. The method of claim 5 , further comprising:

making a third determination, subsequent to the second determination, whether command status responses to the host device should be delayed based on the host perfection scores.

7. A solid state drive comprising:

a read data request and write data request interface to a host device; and

a controller configured to:

identify a workload type for the host device based at least in part on activity on the interface to the host device;

compare a host device workload threshold with one or more host perfection scores;

calculate the host perfection scores for each data input or data output initiator of the host device using a ranking mechanism;

wherein the host perfection scores are determined by:

( W 1* A 1)+( W 2* A 2)+ . . . +( Wn*An )

where A1, A2, through An are host measurement attributes and W1, W2, through Wn are relative weight factors applied to each host measurement attribute and wherein the sum of the relative weight factors is 100%; and

alter settings for the workload type to first affect a flash translation layer queue depth of the solid state drive, to second affect a host device data transfer scheduler of the solid state drive, and to third effect a command status host notification timing by the solid state drive to the host device, based on the host perfection scores.

8. The solid state drive of claim 7 , further comprising:

the controller configured to apply changes to performance of the host device related to changes to the settings to adjust machine learning weights applied for selection of future control settings for the solid state drive for the workload type.

9. The solid state drive of claim 7 , further comprising:

a mode page comprising workload descriptors for the workload type; and

the controller configured to utilize the mode page to determine host performance attributes for the workload type.

10. The solid state drive of claim 9 , wherein the host performance attributes include one or more of command turnaround time, host data turnaround time, command-to-command turnaround time, open connection time, and Serial Attached SCSI credit turnaround time.

11. An input/output device for a host device, the input/output device comprising:

a host device interface;

logic to operate a host device workload execution profiler in conjunction with the host device interface to obtain a workload type lock;

logic to correlate the workload type lock to a workload type;

logic to compare a host device workload threshold with one or more host perfection scores;

wherein the host perfection scores are calculated for each data input or data output initiator of the host device using a ranking mechanism;

wherein the host perfection score is determined by:

( W 1* A 1)+( W 2* A 2)+ . . . +( Wn*An )

where A1, A2, through An are host measurement attributes and W1, W2, through Wn are relative weight factors applied to each host measurement attribute and wherein the sum of the relative weight factors is 100%; and

logic to alter settings for the workload type to affect one or more of a flash translation layer queue depth of the input/output device, a host device data transfer scheduler of the input/output device, and a command status host notification timing by the input/output device to the host device, based on the host perfection scores.

12. The input/output device of claim 11 , further comprising logic to determine a difference between an actual performance measure for the workload type and an optimal performance for the workload type.

13. The input/output device of claim 11 , further comprising:

logic to determine scores for changes to performance of the host device related to changes to prior control settings for the input/output device; and

logic to adjust weights applied for selection of future control settings for the input/output device based on the scores.

14. The input/output device of claim 11 , further comprising:

logic to make a first determination whether to alter a queue depth of a flash translation layer of the input/output device based on the host perfection scores; and

logic to make a second determination whether delays for host data transfers should be altered based on the host perfection scores, the second determination made on condition that that the queue depth is not altered.

15. The input/output device of claim 14 , further comprising:

logic to make a third determination whether command status responses to the host device should be delayed based on the host perfection scores, the third determination made on condition that the delays for host data transfers are not altered.

Assignments (11)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PORTION OF WESTERN DIGITAL CORPORATION TO WESTERN DIGITAL TECHNOLOGIES, INC. PREVIOUSLY RECORDED ON REEL 048778 FRAME 0498. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 20, 2019
From: GERHART, DARIN EDWARD; ORTMEIER, NICHOLAS EDWARD; LAPPI, CORY; WALKER, WILLIAM JARED
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049839/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2019
From: GERHART, DARIN EDWARD; ORTMEIER, NICHOLAS EDWARD; LAPPI, CORY; WALKER, WILLIAM JARED
To: WESTERN DIGITAL CORPORATION
Reel/Frame 048778/0498 →