IP Library Granted Patent US 10,761,999
Granted Patent B1
US 10,761,999 · App. 16/427,076 · Granted Sep 1, 2020

Storage device with predictor engine of host turnaround time

Inventors: Noga Harari Shechter (Beer-Sheva, IL); Shay Benisty (Beer Sheva, IL)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F12/1081H04L9/32G06F2212/621
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,761,999
App. No.
16/427,076
Granted
Sep 1, 2020
Kind
B1
Abstract

A method of accessing data by a storage device includes issuing a DMA read request of a host memory to a host. A host turnaround time is estimated. The host turnaround time is a time interval between when the DMA read request is issued and when an initial data packet of requested data from the host from the DMA read request arrives to the storage device. A data-path of the storage device is initialized to transfer the requested data of the DMA read request to a device buffer of the storage device. Initialization of the data-path is started after issuance of the DMA read request and is completed at an end of the estimated host turnaround time. The requested data is received from the host. The received requested data is transferred utilizing the data-path to the device buffer.

Claims (46)

1. A method of accessing data by a storage device, comprising:

issuing a direct memory access (DMA) read request of a host memory to a host;

initializing a data-path of the storage device to transfer requested data of the DMA read request to a device buffer of the storage device;

receiving the requested data from the host; and

transferring the received requested data utilizing the data-path to the device buffer of the storage device, wherein initialization of the data-path is started after a first time interval from issuance of the DMA read request and prior a second time interval to receipt of an initial data packet of the received requested data.

2. The method of claim 1 , further comprising encrypting the received requested data during the transfer of the received requested data to the device buffer.

3. The method of claim 1 , wherein completion of initialization of the data-path is completed proximate to when the initial data packet of the received requested data is received.

4. The method of claim 1 , wherein the data-path is locked for a time interval similar to a time internal for initialization of the data-path.

5. The method of claim 1 , further comprising utilizing the data-path on a thread separate from the DMA request.

6. The method of claim 5 , wherein the thread separate from the DMA request is selected from a group consisting of transferring data between a host memory buffer within the host memory and the storage device; performing security operations; and combinations thereof.

7. A method of accessing data by a storage device, comprising:

issuing a direct memory access (DMA) read request of a host memory to a host;

estimating a host turnaround time, the host turnaround time is a time interval between when the DMA read request is issued and when an initial data packet of requested data from the host from the DMA read request arrives to the storage device;

initializing a data-path of the storage device to transfer the requested data of the DMA read request to a device buffer of the storage device, wherein initialization of the data-path is started after issuance of the DMA read request and wherein initialization is completed at an end of the estimated host turnaround time;

receiving the requested data from the host; and

transferring the received requested data utilizing the data-path to the device buffer.

8. The method of claim 7 , further comprising encrypting the received requested data during the transfer of the received requested data to the device buffer.

9. The method of claim 7 , wherein the initial data packet is received proximate the end of the estimated host turnaround time.

10. The method of claim 7 , further comprising activating a counter measuring the time interval from issuance of the DMA read request and arrival of the initial data packet.

11. The method of claim 7 , wherein the estimated host turnaround time is estimated by a predictor engine of a device controller of the storage device.

12. The method of claim 11 , further comprising:

collecting a parameter relating to the host turnaround time selected from a group consisting of an networking fabric structure, a host-storage device interface type, a host-storage device communications protocol type, a host interface speed, a number of lanes of a link between the host and the storage device, packets size of the DMA request, current stress across the link between the host and the storage device, an average host turnaround time of prior transactions, and combinations thereof,

wherein the predictor engine estimates the host turnaround time based upon the collected parameter.

13. The method of claim 7 , further comprising waiting to initialize the data-path after issuance of the DMA read requested based upon the estimated host turnaround time.

14. The method of claim 13 , further comprising utilizing the data-path during the waiting to initialize the data-path on a thread separate from the DMA read request.

15. A storage device, comprising:

a non-volatile memory; and

a device controller comprising:

a host interface;

a data-path comprising a DMA module and a device buffer;

a counter;

a statistic collector; and

a predictor engine means for activating the data-path proximate to receipt of data at the host interface in response to the DMA module accessing the host memory,

the device controller operable to:

issue a direct memory access (DMA) read request of a host memory to a host by the DMA module;

count an actual host turnaround time of the DMA read request by the counter;

collect one or more parameters related to the DMA read request by the statistic collector;

estimate an estimated host turnaround time by the predictor engine means;

initialize the data-path of the storage device to transfer the requested data of the DMA read request to the device buffer, wherein initialization of the data-path is started after issuance of the DMA read request is issued and completed at an end of the estimated host turnaround time;

receive the requested data from the host; and

transfer the received requested data utilizing the data-path to the device buffer.

16. The storage device of claim 15 , wherein the data-path further comprises a security engine, the device controller operable to encrypt the received requested data during the transfer of the received requested data to the device buffer.

17. The storage device of claim 15 , wherein the device controller is further operable to utilize the data-path in a separate thread between issuance of the DMA read request and initialization of the data-path to transfer data.

18. The storage device of claim 17 , wherein the device controller is further operable to determine that the separate thread will complete prior to initialization of the data-path to transfer the requested data of the DMA read request.

19. The storage device of claim 15 , wherein the statistic collector collects a parameter relating to the actual host turnaround time selected from a group consisting of an networking fabric structure, a host-storage device interface type, a host-storage device communications protocol type, a host interface speed, a number of lanes of a link between the host and the storage device, packets size of the DMA request, current stress across the link between the host and the storage device, an average host turnaround time of prior transactions, and combinations thereof.

20. The storage device of claim 19 , wherein the statistic collector updates the average host turnaround time based upon the actual host turnaround time.

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 May 31, 2019
From: HARARI SHECHTER, NOGA; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049334/0492 →