IP Library Granted Patent US 10,579,567
Granted Patent B2
US 10,579,567 · App. 15/635,687 · Granted Mar 3, 2020

Queue depth management for host systems accessing a peripheral component interconnect express (PCIe) device via a PCIe switch

Inventors: Susan Elkington (Colorado Springs, CO); Randy Roberson (Lutz, FL); Randall Hess (Colorado Springs, CO); Michael Stillwell (Colorado Springs, CO); Michael Walker (Colorado Springs, CO)
Assignee: Western Digital Technologies, Inc.
G06F13/4022G06F12/0246G06F13/161G06F13/4282G06F2212/7201G06F2213/0026G06F2213/0032
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,579,567
App. No.
15/635,687
Granted
Mar 3, 2020
Kind
B2
Abstract

Described herein are enhancements for managing quality of service in a multi-host Peripheral Component Interconnect Express (PCIe) switching environment. In one implementation, a host system is configured to maintain quality of service statistics corresponding to data interactions with a PCIe storage device available via a PCIe switch. The host system may further receive secondary quality of service statistics for one or more other host systems communicatively coupled to the PCIe device via the PCIe switch, and determine a maximum queue depth for the host system based on the quality of service statistics and the second quality of service statistics to maintain a quality of service for the host systems.

Claims (45)

1. A host system comprising:

one or more non-transitory computer-readable storage media;

a processing system operatively coupled to the one or more non-transitory computer-readable storage media; and

program instructions stored on the one or more non-transitory computer-readable storage media to manage a maximum queue depth for the host system for data interactions with a Peripheral Component Interconnect Express (PCIe) device available to the host system via a PCIe switch that, when read and executed by the processing system of the host system, direct the processing system to:

maintain at the host system quality of service statistics for data interactions between the host system and the PCIe device;

receive at the host system second quality of service statistics for data interactions of one or more other host systems communicatively coupled to the PCIe device via the PCIe switch; and

determine at the host system the maximum queue depth for the host system based on the quality of service statistics and the second quality of service statistics to maintain at least a respective minimum quality of service for each of the host system and the one or more other host systems.

2. The host system of claim 1 , wherein the program instructions further direct the processing system to provide the quality of service statistics to the PCIe switch for forwarding to the one or more other host systems.

3. The host system of claim 2 , wherein providing the quality of service statistics to the PCIe switch comprises:

receiving a request for the quality of service statistics from the PCIe switch; and

in response to the request, providing the quality of service statistics to the PCIe switch.

4. The host system of claim 1 , wherein the quality of service statistics comprise one or more of latency information for data requests to the PCIe device, input/output operations per second (IOPS) with the PCIe device, and an amount of bytes communicated over a time period with the PCIe device.

5. The host system of claim 1 , wherein the minimum quality of service for each of the host system and the one or more other host systems comprises, for each host system of the host system and the one or more other host systems, a maximum latency and an expected block request size.

6. The host system of claim 1 , wherein the minimum quality of service for the host system comprises an administrator-defined minimum quality of service for data interactions with the PCIe device.

7. The host system of claim 1 , wherein the program instructions further direct the processing system to:

after determining the maximum queue depth, receive third quality of service statistics for data interactions of the one or more other host systems with the PCIe device; and

determine a second maximum queue depth based on the quality of service statistics and the third quality of service statistics to maintain at least the respective minimum quality of service for each of the host system and the one or more other host systems.

8. The host system of claim 1 , wherein the PCIe device comprises a PCIe storage device.

9. The host system of claim 1 , wherein the PCIe storage device comprises a Non-Volatile Memory express (NVMe) device.

10. A system comprising:

a first host system;

one or more secondary host systems; and

a Peripheral Component Interconnect Express (PCIe) switch coupled to the first host system and the one or more secondary host systems, wherein the PCIe switch provides connectivity for the first host system and the one or more secondary host systems to a PCIe device;

wherein the first host system is configured to:

maintain quality of service statistics for data interactions between the first host system and the PCIe device;

receive second quality of service statistics from the PCIe switch for data interactions of the one or more secondary host systems with the PCIe device; and

determine a maximum queue depth for data interactions between the first host system and the PCIe device based on the quality of service statistics and the second quality of service statistics to maintain at least a respective minimum quality of service for each of the first host system and the one or more secondary host systems.

11. The system of claim 10 , wherein the PCIe switch is further configured to:

obtain the quality of service statistics from the first host system; and

distribute the quality of service statistics to the one or more secondary host systems.

12. The system of claim 10 , wherein obtaining the quality of service statistics from the first host system comprises reading the quality of service statistics from a memory location of the first host system.

13. The system of claim 10 , wherein the quality of service statistics comprise one or more of latency information for data requests to the PCIe device, input/output operations per second (IOPS) with the PCIe device, and an amount of bytes communicated over a time period with the PCIe device.

14. The system of claim 10 , wherein the minimum quality of service for each of the first host system and the one or more secondary host systems comprises, for each host system of the first host system and the one or more secondary host systems, a maximum latency for data interactions with the PCIe device.

15. The system of claim 10 , wherein the minimum quality of service for the first host system comprises an administrator-defined minimum quality of service for data interactions with the PCIe device.

16. The system of claim 10 , wherein the first host system is further configured to:

after determining the maximum queue depth, receive third quality of service statistics from the PCIe switch for data interactions of the one or more secondary host systems with the PCIe device; and

determine a second maximum queue depth for data interactions between the first host system and the PCIe device based on the quality of service statistics and the third quality of service statistics to maintain at least the respective minimum quality of service for each of the first host system and the one or more secondary host systems.

17. The system of claim 10 , wherein the PCIe device comprises a PCIe storage device.

18. The system of claim 10 , wherein the PCIe device comprises a Non-Volatile Memory express (NVMe) device.

19. The system of claim 10 , further comprising the PCIe device.

20. A host system comprising:

control means for managing a maximum queue depth for the host system for data interactions with a Peripheral Component Interconnect Express (PCIe) device available to the host system via a PCIe switch, the control means of the host system comprising:

means for maintaining quality of service statistics for data interactions between the host system and the PCIe device;

means for receiving second quality of service statistics for data interactions of one or more other host systems communicatively coupled to the PCIe device via the PCIe switch; and

means for determining the maximum queue depth for the host system based on the quality of service statistics and the second quality of service statistics to maintain at least a respective minimum quality of service for each of the host system and the one or more other host systems.

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 Jun 28, 2017
From: ELKINGTON, SUSAN; HESS, RANDALL; ROBERSON, RANDY; STILLWELL, MICHAEL; WALKER, MICHAEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042847/0957 →
Continuity (1)
Related Publication 20190004988A1 · Jan 3, 2019