IP Library Granted Patent US 11,934,684
Granted Patent B2
US 11,934,684 · App. 17/550,175 · Granted Mar 19, 2024

Maximum data transfer size per tenant and command type

Inventors: Amir Segev (Meiter, IL); Shay Benisty (Beer Sheva, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0655G06F3/0604G06F3/0679
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,934,684
App. No.
17/550,175
Granted
Mar 19, 2024
Kind
B2
Abstract

A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to determine a maximum bandwidth of an interface, allocate a portion of the maximum bandwidth to one or more tenants, either: determine a maximum data transfer size (MDTS) setting based on quality of service (QoS) requirements, determine an aggregated queue depth (QD) setting based on QoS requirements, or determine a combined MDTS and aggregated QD setting based on QoS requirements, and provide the determined settings to the one or more tenants.

Claims (38)

1. A data storage device, comprising:

a memory; and

a controller coupled to the memory, the controller comprising a host interface module (HIM), one or more non-volatile memory (NVM) express (NVMe) modules, one or more aggregated queue depth (QD) modules, and a QD limiter, the controller configured to:

determine a maximum bandwidth of an interface using the QD limiter;

allocate a portion of the maximum bandwidth to one or more tenants; and

provide a maximum data transfer size (MDTS) to each of the one or more tenants based on the portion of the maximum bandwidth allocated to the one or more tenants.

2. The data storage device of claim 1 , wherein providing the MDTS is based on a predetermined quality of service (QoS) setting for each of the one or more tenants.

3. The data storage device of claim 2 , wherein the predetermined QoS setting for at least two of the one or more tenants is different.

4. The data storage device of claim 2 , wherein the MDTS is based on a read command bandwidth and a write command bandwidth.

5. The data storage device of claim 1 , wherein providing the MDTS is based on an aggregated queue depth (QD) setting for each of the one or more tenants.

6. The data storage device of claim 5 , wherein the aggregated QD setting for at least two of the one or more tenants is different.

7. The data storage device of claim 5 , wherein the aggregated QD setting is based on a QoS setting for each of the one or more tenants.

8. The data storage device of claim 5 , wherein the aggregated QD setting is based on a read command bandwidth and a write command bandwidth.

9. A data storage device, comprising:

a memory; and

a controller coupled to the memory, the controller comprising a host interface module (HIM), one or more non-volatile memory (NVM) express (NVMe) modules, one or more aggregated queue depth (QD) modules, and a QD limiter, the controller configured to:

determine a bandwidth allocation percentage for one or more tenants, wherein each of the one or more tenants has at least a read bandwidth and a write bandwidth; and

allocate a maximum data transfer size (MDTS) for each of the one or more tenants based on an aggregated queue depth (QD) setting for each of the one or more tenants based on the bandwidth allocation percentage for the one or more tenants using the one or more aggregated QD modules.

10. The data storage device of claim 9 , wherein the bandwidth allocation percentage for the read bandwidth is distinct from the bandwidth allocation percentage for the write bandwidth.

11. The data storage device of claim 10 , wherein, for at least one tenant of the one or more tenants, the bandwidth allocation percentage for the read bandwidth is different from the bandwidth allocation percentage for the write bandwidth.

12. The data storage device of claim 9 , wherein the read bandwidth for at least two tenants of the one or more tenants is different.

13. The data storage device of claim 9 , wherein the write bandwidth for at least two tenants of the one or more tenants is different.

14. The data storage device of claim 9 , wherein the controller is further configured to provide a MDTS to a host device to cause the host device to split commands into two or more parts.

15. The data storage device of claim 9 , wherein the controller is further configured to dynamically allocate the MDTS.

16. The data storage device of claim 15 , wherein dynamically allocating is based on the aggregated QD setting each of the one or more tenants and a MDTS for the data storage device.

17. A data storage device, comprising: memory means;

a controller coupled to the memory means, the controller comprising:

a host interface module (HIM) coupled to a host device;

one or more processors;

one or more non-volatile memory (NVM) express (NVMe) modules;

one or more aggregated queue depth (QD) modules; and

a QD limiter, wherein each of the one or more NVMe modules has a maximum data transfer size (MDTS), wherein the MDTS provided by the one or more processors, and wherein the MDTS is based on an aggregated QD of the one or more aggregated QD modules and a total bandwidth of the HIM.

18. The data storage device of claim 17 , wherein the HIM comprises the one or more NVMe modules, the one or more aggregated QD modules, and the QD limiter.

19. The data storage device of claim 17 , wherein a number of the NVMe modules is equal to a number of the aggregated QD modules.

20. The data storage device of claim 17 , wherein the controller is configured to:

determine a combined MDTS and aggregated QD setting for a tenant based on quality of service (QoS) requirements;

report the determined combined MDTS and aggregated QD setting for each tenant to a host device; and

manage each tenant based on the determined combined MDTS and aggregated QD setting.

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 Dec 14, 2021
From: SEGEV, AMIR; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058386/0777 →
Continuity (1)
Related Publication 20230185475A1 · Jun 15, 2023