IP Library Granted Patent US 11,861,224
Granted Patent B2
US 11,861,224 · App. 17/452,310 · Granted Jan 2, 2024

Data transfer management from host buffers

Inventor: Shay Benisty (Beer Sheva, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/061G06F3/0656G06F3/0673
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,861,224
App. No.
17/452,310
Granted
Jan 2, 2024
Kind
B2
Abstract

The present disclosure generally relates to efficient data transfer. Rather than processing each command, the data storage device fetches part of the host buffers and then makes a determination regarding the attributes of the fetched buffers. Upon the determination, the command is classified as optimized, not-optimized, or somewhere in between. Optimized commands are permitted to retrieve data out of order while non-optimized commands remain in a strict in order data retrieval process. In between commands can be processed with some out of order data retrieval. In so doing, data transfers are effectively managed and optimized data by taking into account the current attributes of the host buffers per command.

Claims (56)

1. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

fetch a command and at least a portion of one or more host buffers from a host device, wherein the portion of the one or more host buffers is less than all the host buffers;

classify the command based on the portion of the one or more host buffers;

determine whether the command corresponds to a physical region page (PRP) entry in a host buffer; and

either:

permit full out of order data transfer to a host device based on the classification of the command; and

permit partial out of order data transfer to the host device based on the classification of the command; or

enforce full in order data transfer to the host device based on the classification of the command.

2. The data storage device of claim 1 , wherein the determining comprises determining that the command does not correspond to a PRP entry.

3. The data storage device of claim 2 , wherein the controller is configured to determine that the command corresponds to a scatter-gather list (SGL) command.

4. The data storage device of claim 3 , wherein the controller is further configured to determine whether the SGL command corresponds to aligned buffers.

5. The data storage device of claim 4 , wherein the controller is further configured to permit partial out of order data transfer upon determining that the SGL command corresponds to aligned buffers.

6. The data storage device of claim 3 , wherein the controller is further configured to determine whether the SGL command corresponds to buffers having the same size.

7. The data storage device of claim 6 , wherein the controller is further configured to enforce full in order data transfer upon determining that the SGL command corresponds to buffers having different sizes.

8. The data storage device of claim 1 , wherein the controller is further configured to determine that the command corresponds to a scatter-gather list (SGL) command, wherein the controller is further configured to determine whether the SGL command corresponds to aligned buffers and buffers of the same size, and wherein the controller is further configured to permit full out of order data transfer upon determining that the SGL command corresponds to aligned buffers and buffers of the same size.

9. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller includes:

a host interface module (HIM) having:

a host buffer manager configured to:

fetch a portion of one or more host buffers for a command, wherein the portion of the one or more host buffers is less than all the host buffers;

classify the command based on the portion of the one or more host buffers;

determine whether the command corresponds to a physical region page (PRP) entry in the one or more host buffers; and

either:

 permit full out of order data transfer to a host device based on the classification of the command; and

 permit partial out of order data transfer to the host device based on the classification of the command; or

 enforce full in order data transfer to the host device based on the classification of the command; and

an order enforcing module;

a command scheduler; and

a flash interface module (FIM).

10. The data storage device of claim 9 , wherein the order enforcing module is logic contained within the HIM.

11. The data storage device of claim 9 , wherein the host buffer manager is configured to fetch host buffers for commands received from a host device.

12. The data storage device of claim 11 , wherein the host buffer manager is configured to fetch less than all host buffers for the commands.

13. The data storage device of claim 9 , wherein the order enforcing module is configured to enforce data transfer as full out of order, partial out of order, or full in order based upon buffers fetched by the host buffer manager.

14. The data storage device of claim 9 , wherein the controller is configured to classify commands received by the host device as physical region page (PRP), scatter-gather list (SGL) optimized, or SGL non-optimized.

15. The data storage device of claim 14 , wherein the controller is further configured to set the data transfer order for sending data to the host device based upon the classifying.

16. A data storage device, comprising:

memory means; and

a controller coupled to the memory means, wherein the controller is configured to:

fetch a command from a host submission queue;

fetch a portion of data associated with the command, wherein the portion of data is less than all the data associated with the command;

classify the command based on the portion of data;

determine whether the portion of data corresponds to a physical region page (PRP) entry, an optimized scatter-gather list (SGL) entry, or a not-optimized SGL entry;

and

either:

permit full out of order data transfer to a host device based on the classification of the command; and

permit partial out of order data transfer to the host device based on the classification of the command; or

enforce full in order data transfer to the host device based upon the classification of the command;

and

post a completion entry to a host completion queue.

17. The data storage device of claim 16 , wherein the classification comprises retrieving data in any order, fully in order, or partially out of order based upon the classifying.

18. The data storage device of claim 16 , wherein the controller is further configured to determine a size of host buffers associated with the portion of data.

19. The data storage device of claim 16 , wherein the controller is further configured to determine an alignment of host buffers associated with the portion of data.

20. The data storage device of claim 16 , wherein the controller comprises a command scheduler, wherein the command scheduler limits sense requests towards a flash interface module (FIM) based upon the enforcing.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 058426 FRAME 0815 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0679 →
SECURITY INTEREST Recorded Dec 9, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 058426/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2021
From: BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 057918/0449 →
Cited By (1)
US 12,619,354