IP Library Granted Patent US 8,402,232
Granted Patent B2
US 8,402,232 · App. 12/645,661 · Granted Mar 19, 2013

Memory utilization tracking

Inventors: Karthikeyan Avudaiyappan (Sunnyvale, CA); Terry Whatley (Nevada City, CA)
Assignee: Oracle America, Inc.
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 8,402,232
App. No.
12/645,661
Granted
Mar 19, 2013
Kind
B2
Abstract

A hardware memory control unit that includes a register block and hardware logic. The register block includes, for a hardware memory segment, an access count register, a low threshold register, and a high threshold register. The hardware logic includes functionality to increment the access count stored in the access count register for each memory access to the hardware memory segment performed during a predefined duration of time, and, at the end of the predefined duration of time, perform a response action when the access count stored in the access count register is less than the low threshold stored in the low threshold register, and perform a response action when the access count stored in the access count register is greater than the high threshold stored in the high threshold register. A power saving mode of the hardware memory segment is modified based on performing the response action.

Claims (86)

1. A hardware memory control unit comprising:

a register block comprising:

a first access count register for storing an access count for a first hardware memory segment;

a first low threshold register for storing a low threshold for the first hardware memory segment;

a first high threshold register for storing a high threshold for the first hardware memory segment; and

a status register for storing a current status for the first hardware memory segment, wherein the current status stored in the status register comprises:

a trap bit to indicate whether a trap is generated;

a low bit to indicate whether a last event is the access count stored in the first access count register is less than the low threshold stored in the first low threshold register;

a high bit to indicate whether a last event is the access count stored in the first access count register is greater than the high threshold stored in the first high threshold register;

a running bit to indicate whether the access count in the first access count register is currently incrementing; and

a mode bit to indicate a power saving mode of the first hardware memory segment; and

hardware logic configured to:

increment the access count stored in the first access count register for each memory access to the first hardware memory segment performed during a first predefined duration of time; and

at the end of the first predefined duration of time:

generate the trap when the access count stored in the first access count register is less than the low threshold stored in the first low threshold register; and

generate the trap when the access count stored in the first access count register is greater than the high threshold stored in the first high threshold register,

wherein the power saving mode of the first hardware memory segment is modified when the trap is generated.

2. The hardware memory control unit of claim 1 , wherein the register block further comprises:

a second access count register for storing an access count for a second hardware memory segment;

a second low threshold register for storing a low threshold for the second hardware memory segment; and

a second high threshold register for storing a high threshold for the second hardware memory segment, and

wherein the hardware logic is further configured to:

increment the access count stored in the second access count register for each memory access to the second hardware memory segment performed during a second predefined duration of time;

at the end of the second predefined duration of time:

perform a response action specified by a response action indicator when the access count stored in the second access count register is less than the low threshold stored in the second low threshold register; and

perform the response action specified by the response action indicator when the access count stored in the access count register is greater than the high threshold stored in the second high threshold register.

3. The hardware memory control unit of claim 2 , wherein the response action is to automatically switch the power saving mode of the second hardware memory segment to power down precharge slow exit when access count stored in the second access count register is less than the low threshold stored in the second low threshold register, and

wherein the response action is to automatically switch the power saving mode of the second hardware memory segment to power down precharge fast exit when the access count stored in the second access count register is greater than the high threshold in the second high threshold register.

4. The hardware memory control unit of claim 1 , wherein the first hardware memory segment comprises a first hardware memory module and a second hardware memory module.

5. The hardware memory control unit of claim 4 , wherein the first hardware memory module is a dual inline memory module (DIMM).

6. The hardware memory control unit of claim 1 , wherein the first hardware memory segment is defined by a plurality of ranks on a hardware memory module.

7. The hardware memory control unit of claim 1 , wherein the power saving mode of the first hardware memory segment is changed between power down precharge fast exit and power down precharge slow exit.

8. A hardware memory control unit comprising:

a register block comprising:

a first access count register for storing an access count for a first hardware memory segment;

a first low threshold register for storing a low threshold for the first hardware memory segment;

a first high threshold register for storing a high threshold for the first hardware memory segment; and

a status register for storing a current status for the first hardware memory segment, wherein the current status stored in the status register comprises:

a trap bit to indicate whether a trap is generated;

a low bit to indicate whether a last event is the access count stored in the first access count register is less than the low threshold stored in the first low threshold register;

a high bit to indicate whether a last event is the access count stored in the first access count register is greater than the high threshold stored in the first high threshold register;

a running bit to indicate whether the access count in the first access count register is currently incrementing; and

a mode bit to indicate a power saving mode of the first hardware memory segment; and

hardware logic configured to:

increment the access count stored in the first access count register for each memory access to the first hardware memory segment performed during a first predefined duration of time; and

at the end of the first predefined duration of time:

automatically modify the power saving mode of the first hardware memory segment to power down precharge slow exit when the access count stored in the first access count register is less than the low threshold stored in the first low threshold register; and

automatically modify the power saving mode of the hardware memory segment to power down precharge fast exit when the access count stored in the first access count register is greater than the high threshold stored in the first high threshold register.

9. The hardware memory control unit of claim 8 , wherein the register block further comprises:

a second access count register for storing an access count for a second hardware memory segment;

a second low threshold register for storing a low threshold for the second hardware memory segment; and

a second high threshold register for storing a high threshold for the second hardware memory segment, and

wherein the hardware logic is further configured to:

increment the access count stored in the second access count register for each memory access to the second hardware memory segment performed during a second predefined duration of time;

at the end of the second predefined duration of time:

perform a response action specified by the response action indicator when the access count stored in the second access count register is less than the low threshold stored in the second low threshold register; and

perform the response action specified by the response action indicator when the access count stored in the access count register is greater than the high threshold stored in the second high threshold register.

10. The hardware memory control unit of claim 9 , wherein the response action is to automatically switch the power saving mode of the second hardware memory segment to power down precharge slow exit when the access count stored in the second access count register is less than the low threshold stored in the second low threshold register, and

wherein the response action is to automatically switch the power saving mode of the second hardware memory segment to power down precharge fast exit when the access count stored in the second access count register is greater than the high threshold stored in the second high threshold register.

11. The hardware memory control unit of claim 8 , wherein the first hardware memory segment comprises a first hardware memory module and a second hardware memory module.

12. The hardware memory control unit of claim 11 , wherein the first hardware memory module is a dual inline memory module (DIMM).

13. The hardware memory control unit of claim 8 , wherein the first hardware memory segment is defined by a plurality of ranks on a hardware memory module.

14. A hardware memory control unit comprising:

a register block for each hardware memory segment of a plurality of hardware memory segments, wherein the register block comprises:

an access count register for storing an access count of memory accesses performed to the hardware memory segment during a predefined duration of time;

a high threshold register for storing a high threshold, wherein the high threshold defines a maximum number of memory accesses before a power saving mode of the hardware memory segment is switched to power down precharge fast exit;

a low threshold register for storing a low threshold, wherein the low threshold defines a minimum number of memory accesses before the power saving mode of the hardware memory segment is switched to power down precharge slow exit;

a status register for storing the current status of the hardware memory segment wherein the current status stored in the status register comprises:

a trap bit to indicate whether a trap is generated;

a low bit to indicate whether a last event is the access count stored in the access count register is less than the low threshold stored in a low threshold register;

a high bit to indicate whether a last event is the access count stored in the access count register is greater than the high threshold stored in the high threshold register;

a running bit to indicate whether the access count in the access count register is currently incrementing; and

a mode bit to indicate the power saving mode of the hardware memory segment; and

a control register for storing a response action indicator; and

hardware logic configured to:

perform a response action specified by the response action indicator when the access count stored in the access count register is less than the low threshold stored in the low threshold register; and

perform the response action specified by the response action indicator when the access count stored in the access count register is greater than the high threshold stored in the high threshold register.

15. The hardware memory control unit of claim 14 , wherein the response action is to generate the trap to a computer processor.

16. The hardware memory control unit of claim 14 , wherein the response action is to automatically switch the power saving mode to power down precharge slow exit when the access count is less than the low threshold, and wherein the response action is to automatically switch the power saving mode to power down precharge fast exit when the access count is greater than the high threshold.

17. The hardware memory control unit of claim 14 , wherein the register block further comprises:

a memory segment select register for storing a segment identifier of the hardware memory segment corresponding to the register block.

18. The hardware memory control unit of claim 14 , wherein the register block further comprises:

a time period register for storing a value defining the predefined duration of time; and

a time counter register for counting the predefined duration of time.

19. The hardware memory control unit of claim 14 , wherein the hardware memory control unit is further configured to:

change, in response to detecting a hardware memory segment of the plurality of hardware memory segments is idle, a power state of the hardware memory segment according to the power saving mode of the hardware memory segment.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0195 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2011
From: AVUDAIYAPPAN, KARTHIKEYAN; WHATLEY, TERRY
To: SUN MICROSYSTEMS, INC.
Reel/Frame 025841/0577 →
Continuity (1)
Related Publication 20110153928A1 · Jun 23, 2011