IP Library Granted Patent US 10,545,882
Granted Patent B2
US 10,545,882 · App. 15/882,728 · Granted Jan 28, 2020

Systems and methods for load-balancing cache flushes to non-volatile memory

Inventors: Wade Andrew Butcher (Cedar Park, TX); Vadhiraj Sankaranarayanan (Austin, TX); Stuart Allen Berke (Austin, TX)
Assignee: Dell Products L.P.
G06F12/128G06F3/065G06F3/0608G06F3/0632G06F3/0653G06F3/0679G06F2212/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,545,882
App. No.
15/882,728
Granted
Jan 28, 2020
Kind
B2
Abstract

An information handling system may include a processor, a memory communicatively coupled to the processor and comprising a plurality of non-volatile memories, and a memory controller. The memory controller may be configured to monitor memory input/output traffic to each of the plurality of non-volatile memories, determine a quality of service associated with each of the plurality of non-volatile memories based on such monitoring, and based on such monitoring and the qualities of service associated with the plurality of non-volatile memories, reroute input/output data associated with a first non-volatile memory of the plurality of non-volatile memories to a second non-volatile memory of the plurality of non-volatile memories.

Claims (39)

1. An information handling system comprising:

a processor;

a memory communicatively coupled to the processor and comprising a plurality of non-volatile memories; and

a memory controller configured to:

monitor memory input/output traffic to each of the plurality of non-volatile memories;

determine a quality of service associated with each of the plurality of non-volatile memories based on such monitoring;

receive an indication of an impending power failure event;

based on the indication of the impending power failure event, trigger an asynchronous DRAM refresh (ADR) operation for the plurality of non-volatile memories; and

based on such monitoring and the qualities of service associated with the plurality of non-volatile memories, reroute input/output data associated with the ADR operation and originally dispatched to a first non-volatile memory of the plurality of non-volatile memories to a second non-volatile memory of the plurality of non-volatile memories.

2. The information handling system of claim 1 , wherein the memory controller is configured to monitor the memory input/output traffic and determine the qualities of service using heuristics including at least one of flow-control credits available during input/output operation on each of the plurality of non-volatile memories and an amount of cache traffic targeted to specific memory channels coupling the plurality of non-volatile memories to the memory controller.

3. The information handling system of claim 1 , wherein the memory controller is integral to the processor.

4. The information handling system of claim 1 , wherein the memory controller is configured to reroute input/output data associated with the first non-volatile memory to the second non-volatile memory by indicating that the rerouted input/out data is part of a special memory write transaction.

5. The information handling system of claim 1 , wherein the second non-volatile memory is configured to write the rerouted input/output data to an entry of the second non-volatile memory and write metadata to the entry indicating a physical address of the first non-volatile memory to which the rerouted input/output data is to be stored upon a subsequent boot session of the information handling system.

6. The information handling system of claim 5 , wherein the second non-volatile memory is further configured to set a variable indicating that it has stored data belonging to another non-volatile memory.

7. The information handling system of claim 1 , wherein the processor is further configured to, upon a subsequent boot session of the information handling system, transfer the rerouted input/output data from the second non-volatile memory to the first non-volatile memory.

8. A method comprising:

monitoring memory input/output traffic to each of a plurality of non-volatile memories;

determining a quality of service associated with each of the plurality of non-volatile memories based on such monitoring;

receive an indication of an impending power failure event;

based on the indication of the impending power failure event, trigger an asynchronous DRAM refresh (ADR) operation for the plurality of non-volatile memories; and

based on such monitoring and the qualities of service associated with the plurality of non-volatile memories, rerouting input/output data associated with the ADR operation and originally dispatched to a first non-volatile memory of the plurality of non-volatile memories to a second non-volatile memory of the plurality of non-volatile memories.

9. The method of claim 8 , wherein monitoring the memory input/output traffic and determining the qualities of service comprises using heuristics including at least one of flow-control credits available during input/output operation on each of the plurality of non-volatile memories and an amount of cache traffic targeted to specific memory channels coupling the plurality of non-volatile memories to a memory controller.

10. The method of claim 8 , wherein rerouting input/output data associated with the first non-volatile memory to the second non-volatile memory comprises indicating that the rerouted input/out data is part of a special memory write transaction.

11. The method of claim 8 , further comprising writing the rerouted input/output data to an entry of the second non-volatile memory and writing metadata to the entry indicating a physical address of the first non-volatile memory to which the rerouted input/output data is to be stored upon a subsequent boot session of an information handling system comprising the plurality of non-volatile memories.

12. The method of claim 11 , further comprising setting a variable of the second non-volatile memory indicating that it has stored data belonging to another non-volatile memory.

13. The method of claim 8 , further comprising, upon a subsequent boot session of an information handling system comprising the plurality of non-volatile memories, transferring the rerouted input/output data from the second non-volatile memory to the first non-volatile memory.

14. An article of manufacture comprising:

a non-transitory computer-readable medium; and

computer-executable instructions carried on the computer-readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to:

monitor memory input/output traffic to each of a plurality of non-volatile memories;

determine a quality of service associated with each of the plurality of non-volatile memories based on such monitoring;

receive an indication of an impending power failure event;

based on the indication of the impending power failure event, trigger an asynchronous DRAM refresh (ADR) operation for the plurality of non-volatile memories; and

based on such monitoring and the qualities of service associated with the plurality of non-volatile memories, reroute input/output data associated with the ADR operation and originally dispatched to a first non-volatile memory of the plurality of non-volatile memories to a second non-volatile memory of the plurality of non-volatile memories.

15. The article of claim 14 , wherein monitoring the memory input/output traffic and determining the qualities of service comprises using heuristics including at least one of flow-control credits available during input/output operation on each of the plurality of non-volatile memories and an amount of cache traffic targeted to specific memory channels coupling the plurality of non-volatile memories to a memory controller.

16. The article of claim 14 , wherein rerouting input/output data associated with the first non-volatile memory to the second non-volatile memory comprises indicating that the rerouted input/out data is part of a special memory write transaction.

17. The article of claim 14 , the instructions for further causing the processor to write the rerouted input/output data to an entry of the second non-volatile memory and write metadata to the entry indicating a physical address of the first non-volatile memory to which the rerouted input/output data is to be stored upon a subsequent boot session.

18. The article of claim 17 , the instructions for further causing the processor to set a variable of the second non-volatile memory indicating that it has stored data belonging to another non-volatile memory.

19. The article of claim 14 , the instructions for further causing the processor to, upon a subsequent boot session, transfer the rerouted input/output data from the second non-volatile memory to the first non-volatile memory.

Assignments (8)
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 (045482/0131) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: BUTCHER, WADE ANDREW; SANKARANARAYANAN, VADHIRAJ; BERKE, STUART ALLEN
To: DELL PRODUCTS L.P.
Reel/Frame 044759/0070 →
Continuity (1)
Related Publication 20190236029A1 · Aug 1, 2019