IP Library Granted Patent US 9,477,295
Granted Patent B2
US 9,477,295 · App. 14/279,118 · Granted Oct 25, 2016

Non-volatile memory express (NVMe) device power management

Inventors: Elie Antoun Jreji (Pflugerville, TX); Austin P. Bolen (Austin, TX); Karthik V (Bangalore, IN)
Assignee: DELL PRODUCTS, L.P.
G06F1/3275G06F1/266G06F1/3206G06F1/3268G11C5/14
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 9,477,295
App. No.
14/279,118
Granted
Oct 25, 2016
Kind
B2
Abstract

Systems and methods for managing power to Non-Volatile Memory Express (NVMe) devices. In some embodiments, an Information Handling System (IHS) may include a Central Processing Unit (CPU); a Non-Volatile Memory Express (NVMe) device operably coupled to the CPU; a service processor operably coupled to the CPU and to the NVMe; and a memory operably coupled to the service processor, the memory including program instructions stored thereon that, upon execution by the service processor, cause the service processor to: receive performance data from the CPU, receive metrics data from a source other than the CPU, and control an amount of power provided to the NVMe device based, at least in part, upon the performance data and the metrics data.

Claims (32)

1. An Information Handling System (IHS), comprising:

a Central Processing Unit (CPU);

a Non-Volatile Memory Express (NVMe) device operably coupled to the CPU;

a service processor operably coupled to the CPU and to the NVMe; and

a memory operably coupled to the service processor, the memory including program instructions stored thereon that, upon execution by the service processor, cause the service processor to:

receive performance data from the CPU, the performance data including an aggregated read/write volume of root ports in a PCIe bus;

receive metrics data from a source other than the CPU, the metrics data including a volume of input/output (I/O) usage for a PCI slot collected from a bus controller and a volume of read and write operations recorded by a software application;

assign a respective weight to the performance data and to each of metrics data; and

control an amount of power provided to the NVMe device, at least in part, by calculating a weighed average of the performance data and the metrics data using the respective weights, and mapping the weighed average to a power cap for the NVMe device.

2. The IHS of claim 1 , wherein the NVMe includes a Peripheral Component Interconnect Express (PCIe) solid-state drive (SSD).

3. The IHS of claim 1 , wherein the service processor includes a Baseboard Management Controller (BMC).

4. The IHS of claim 1 , wherein the performance data includes a status of a free running counter.

5. The IHS of claim 1 , wherein the performance data includes bandwidth utilization.

6. The IHS of claim 1 , wherein the metrics data includes an overall power budget of the IHS.

7. The IHS of claim 1 , wherein the metrics data includes a read and write statistic of the NVMe device obtained via a Management Component Transport Protocol (MCTP) interface.

8. The IHS of claim 1 , wherein the metrics data includes a time of the day.

9. The IHS of claim 1 , wherein to control the amount of power the program instructions are configured to cause the service processor to put a limit, via a sideband or out-of-band channel, upon a maximum amount of power that can be drawn by the NVMe device.

10. The IHS of claim 1 , wherein to control the amount of power the program instructions are configured to cause the service processor to determine that it is in charge of managing power provided to the NVMe device based upon a Basic Input/Output System (BIOS) token.

11. A method, comprising:

receiving performance data from a Central Processing Unit (CPU), the performance data including an aggregated read/write volume of root ports in a PCIe bus;

receiving metrics data from a source other than the CPU, the metrics data including a volume of input/output (I/O) usage for a PCI slot collected from a bus controller and a volume of read and write operations recorded by a software application;

assigning a respective weight to each of the performance data and the metrics data; and

controlling, via a sideband or out-of-band channel, an amount of power provided to a Non-Volatile Memory Express (NVMe) device operably coupled to the CPU, at least in part, by calculating a weighed average of the performance data and the metrics data using the respective weights, and mapping the weighed average to a power cap for the NVMe device.

12. The method of claim 11 , wherein the NVMe includes a Peripheral Component Interconnect Express (PCIe) solid-state drive (SSD) coupled to the CPU via a PCIe bus, and wherein the service processor includes a Baseboard Management Controller (BMC).

13. The method of claim 11 , wherein the performance data includes a status of a free running counter or bandwidth utilization.

14. The method of claim 11 , wherein the metrics data further includes an overall power budget, a read and write statistic of the NVMe device obtained via a Management Component Transport Protocol (MCTP) interface, or a time of the day.

15. The method of claim 11 , wherein controlling the amount of power includes limiting a maximum amount of power that can be drawn by the NVMe device based upon a Basic Input/Output System (BIOS) indication.

16. A non-transitory computer-readable medium having program instructions stored thereon that, upon execution by a Baseboard Management Controller (BMC) within an Information Handling System (IHS), cause the BMC to:

determine an input/output (I/O) workload running on a given Peripheral Component Interconnect Express (PCIe) solid-state drive (SSD), the I/O workload including a random read operation, a sequential read operation, a random write operation, and a sequential write operation;

assign a respective weight to each given operation of the I/O workload indicating a relative power consumption of the given operation with respect to a power consumption of the random read operation; and

control, via a sideband or out-of-band channel, an amount of power provided to the PCIe SSD, at least in part, by calculating a weighed average of the operations using the respective weights, and multiplying a total power available to the PCIe SSD by the weighed average.

17. The non-transitory computer-readable medium of claim 16 , wherein the components are weighed such that the sequential read component has twice the weight of the random read component, the sequential write component has twice the weight of the random read component, and the random write component has five times the weight of the random read component.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF REEL 033625 FRAME 0688 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0757 →
RELEASE OF REEL 033625 FRAME 0748 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040027/0050 →
RELEASE OF REEL 033625 FRAME 0711 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.
Reel/Frame 040016/0903 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033625/0711 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 033625/0748 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Aug 27, 2014
From: COMPELLENT TECHNOLOGIES, INC.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; SECUREWORKS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 033625/0688 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2014
From: JREJI, ELIE ANTOUN; BOLEN, AUSTIN P.; V, KARTHIK
To: DELL PRODUCTS, L.P.
Reel/Frame 032906/0912 →
Continuity (1)
Related Publication 20150331473A1 · Nov 19, 2015