IP Library Granted Patent US 10,365,842
Granted Patent B2
US 10,365,842 · App. 15/236,034 · Granted Jul 30, 2019

System and method for reducing power consumption of memory

Inventors: William Sauber (Georgetown, TX); Stuart Allen Berke (Austin, TX)
Assignee: DELL PRODUCTS L.P.
G06F3/0625G06F1/3225G06F1/3275G06F3/0634G06F3/0653G06F3/0659G06F3/0673G11C11/40611G11C11/40615G11C11/40618G11C11/40622Y02D10/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 10,365,842
App. No.
15/236,034
Granted
Jul 30, 2019
Kind
B2
Abstract

Systems and methods for reducing problems and disadvantages associated with power consumption in memory devices are disclosed. In accordance with one embodiment of the present disclosure, a method for improving performance and reducing power consumption in memory may include tracking whether individual units of a memory system are active or inactive. The method may also include placing inactive individual units of the memory system in a self-refresh mode, such that the inactive individual units self-refresh their contents. The method may further include placing active individual units of the memory system in a command-based refresh mode, such that the active individual units are refreshed in response to a received command to refresh their contents.

Claims (58)

1. A method for improving performance and reducing power consumption in a memory hardware system, comprising:

tracking, by a memory controller, whether individual units of the memory system are active or inactive, wherein an inactive individual unit is an individual unit that is in use, but not currently being accessed;

placing, by the memory controller, inactive individual units of the memory system in a self-refresh mode, such that the inactive individual units self-refresh their contents;

filtering, by the memory controller, memory controller commands generated upstream of the memory controller, the filtering including:

determining that a first memory controller command is directed to a first inactive individual unit of the memory system that is in a refresh interval, and in response, delaying the first memory controller command to the inactive individual unit of the memory system to prevent an internal self-refresh conflict with the first memory controller command;

determining that a second memory controller command is directed to a second inactive individual unit of the memory system that is not in a refresh interval, and in response, determining that the second memory controller command is an explicit refresh command;

in response to determining that the second memory controller command is the explicit refresh command, blocking the explicit refresh command to the second inactive individual unit of the memory system placed in the self-refresh mode; and

placing, by the memory controller, active individual units of the memory system in a command-based refresh mode, such that the active individual units are refreshed in response to a received command to refresh their contents.

2. A method according to claim 1 , wherein an individual unit of the memory system comprises one of a block, a page, a bank, and a rank.

3. A method according to claim 1 , wherein:

each individual unit of the memory system comprises a page;

tracking whether individual units of the memory system are active or inactive includes tracking whether individual pages are active or inactive; and

placing inactive individual units of the memory system in a self-refresh mode includes placing banks having only inactive pages in a self-refresh mode, such that such banks self-refresh their contents.

4. A method according to claim 1 , further comprising setting at least one variable indicating which individual units of the memory system are to be placed in the self-refresh mode, and which individual units of the memory system are to be placed in the command-based refresh mode.

5. A method according to claim 4 , wherein the at least one variable is stored in a table such that an entry of the table is associated with an individual unit of the memory system and indicates whether such individual unit of the memory system is to be placed in self-refresh mode or command-based refresh mode.

6. A method according to claim 4 , wherein the at least one variable indicates a fraction of the individual units of the memory system to be placed in self-refresh mode.

7. A method according to claim 6 , wherein the at least one variable is stored as a field in a mode register of the memory system.

8. An information handling system, comprising:

a processor;

a memory system communicatively coupled to the processor and having:

individual units for storage of data; and

a memory controller communicatively coupled to the individual units and configured to:

track whether the individual units are active or inactive, wherein an inactive individual unit is an individual unit that is in use, but not currently being accessed;

place inactive individual units in a self-refresh mode, such that the inactive individual units self-refresh their contents;

filter memory controller commands generated upstream of the memory controller, the filtering including:

determining that a first memory controller command is directed to a first inactive individual unit of the memory system that is in a refresh interval, and in response, delaying the first memory controller command to the inactive individual unit of the memory system to prevent an internal self-refresh conflict with the first memory controller command;

determining that a second memory controller command is directed to a second inactive individual unit of the memory system that is not in a refresh interval, and in response, determining that the second memory controller command is an explicit refresh command;

in response to determining that the second memory controller command is the explicit refresh command, blocking the explicit refresh command to the second inactive individual unit of the memory system placed in the self-refresh mode; and

place active individual units in a command-based refresh mode, such that the active individual units are refreshed in response to a received command to refresh their contents.

9. An information handling system according to claim 8 , wherein an individual unit of the memory system comprises one of a block, a page, a bank, and a rank.

10. An information handling system according to claim 8 , wherein:

each individual unit comprises a page;

tracking whether individual units are active or inactive includes tracking whether individual pages are active or inactive; and

placing inactive individual units in a self-refresh mode includes placing banks having only inactive pages in a self-refresh mode, such that such banks self-refresh their contents.

11. An information handling system according to claim 8 , further comprising setting at least one variable indicating which individual units are to be placed in the self-refresh mode, and which individual units are to be placed in the command-based refresh mode.

12. An information handling system according to claim 11 , wherein the at least one variable is stored in a table such that an entry of the table is associated with an individual unit and indicates whether such individual unit of the memory system is to be placed in self-refresh mode or command-based refresh mode.

13. An information handling system according to claim 11 , wherein the at least one variable indicates a fraction of the individual units to be placed in self-refresh mode.

14. An information handling system according to claim 13 , wherein the at least one variable is stored as a field in a mode register of the memory system.

15. A memory system, comprising:

a processor;

a memory including individual units for storage of data; and

a memory controller communicatively coupled to the individual units and configured to:

track whether the individual units are active or inactive, wherein an inactive individual unit is an individual unit that is in use, but not currently being accessed;

place a first region including only inactive individual units in a self-refresh mode, such that the individual units of the first region self-refresh their contents;

filter memory controller commands generated upstream of the memory controller, the filtering including:

determining that a first memory controller command is directed to a first inactive individual unit of the memory system that is in a refresh interval, and in response, delaying the first memory controller command to the inactive individual unit of the memory system to prevent an internal self-refresh conflict with the first memory controller command;

determining that a second memory controller command is directed to a second inactive individual unit of the memory system that is not in a refresh interval, and in response, determining that the second memory controller command is an explicit refresh command;

in response to determining that the second memory controller command is the explicit refresh command, blocking the explicit refresh command to the second inactive individual unit of the memory system placed in the self-refresh mode; and

place a second region including active individual units in a command-based refresh mode, such that the individual units of the second region are refreshed in response to a received command to refresh their contents.

16. A memory system according to claim 15 , wherein an individual unit of the memory system comprises one of a block, a page, a bank, and a rank.

17. A memory system according to claim 15 , wherein:

each individual unit comprises a page;

tracking whether individual units are active or inactive includes tracking whether individual pages are active or inactive; and

placing inactive individual units in a self-refresh mode includes placing banks having only inactive pages in a self-refresh mode, such that such banks self-refresh their contents.

18. A memory system according to claim 15 , further comprising setting at least one variable indicating which individual units are to be placed in the self-refresh mode, and which individual units are to be placed in the command-based refresh mode.

19. A memory system according to claim 18 , wherein the at least one variable is stored in a table such that an entry of the table is associated with an individual unit and indicates whether such individual unit of the memory system is to be placed in self-refresh mode or command-based refresh mode.

20. A memory system according to claim 18 , wherein the at least one variable indicates a fraction of the individual units to be placed in self-refresh mode.

21. A memory system according to claim 20 , wherein the at least one variable is stored as a field in a mode register of the system.

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 (040679/0386) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0666 →
RELEASE OF SECURITY INTEREST AT REEL 040633 FRAME 0799 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
Reel/Frame 058297/0427 →
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 Nov 23, 2016
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0386 →
SECURITY INTEREST Recorded Nov 16, 2016
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040633/0799 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2016
From: SAUBER, WILLIAM; BERKE, STUART ALLEN
To: DELL PRODUCTS L.P.
Reel/Frame 040551/0976 →
Continuity (2)
Continuation 12791563 · Jun 1, 2010
Related Publication 20170052727A1 · Feb 23, 2017