IP Library Granted Patent US 7,904,659
Granted Patent B2
US 7,904,659 · App. 11/559,133 · Granted Mar 8, 2011

Power conservation via DRAM access reduction

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 7,904,659
App. No.
11/559,133
Granted
Mar 8, 2011
Kind
B2
Abstract

Power conservation via DRAM access reduction is provided by a buffer/mini-cache selectively operable in a normal mode and a buffer mode. In the buffer mode, entered when CPUs begin operating in low-power states, non-cacheable accesses (such as generated by a DMA device) matching specified physical address ranges are processed by the buffer/mini-cache, instead of by a memory controller and DRAM. The buffer/mini-cache processing includes allocating lines when references miss, and returning cached data from the buffer/mini-cache when references hit. Lines are replaced in the buffer/mini-cache according to one of a plurality of replacement policies, including ceasing replacement when there are no available free lines. In the normal mode, entered when CPUs begin operating in high-power states, the buffer/mini-cache operates akin to a conventional cache and non-cacheable accesses are not processed therein. In one usage scenario, data retained in the buffer/mini-cache is graphics refresh data maintained in a compressed format.

Claims (42)

1. A method comprising:

identifying a portion of a cache associated with a microprocessor as a mini-cache;

storing at least a portion of non-cacheable data in the mini-cache when the microprocessor operates in a buffer mode;

accessing the portion of the non-cacheable data by performing a DMA operation via the mini-cache without cached data coherency when the microprocessor operates in the buffer mode;

accessing the cache with cached data coherency when the microprocessor operates in a normal mode separate from the buffer mode; and

synchronizing cached data by performing a mini-cache flushing operation when the microprocessor transitions from the buffer mode to the normal mode.

2. The method of claim 1 , wherein the non-cacheable data is display refresh data (DRD).

3. The method of claim 1 wherein the buffer mode comprises allowing the microprocessor to operate in a low power state.

4. The method of claim 1 wherein the storing comprises utilizing lower limit and upper limit registers to specify the at least a portion of the non-cacheable data to match the mini-cache size.

5. The method of claim 1 wherein the storing comprises utilizing a base register and an offset limit register to specify the at least a portion of the non-cacheable data such that its size matches the mini-cache size.

6. The method of claim 1 wherein a direct mapped policy is utilized in the buffer mode.

7. The method of claim 1 wherein the storing is initiated by a normal mode to buffer mode event.

8. The method of claim 7 wherein the normal mode to buffer mode event comprises the microprocessor entering into a reduced power state.

9. The method of claim 1 wherein the non-cacheable data is stored in the cache without exceeding a size of the cache.

10. A microprocessor comprising:

a processor; and

a cache system, the cache system comprising a cache and a controller coupled to the cache, the controller configured to:

identify a portion of a cache as a mini-cache;

store at least a portion of non-cacheable data in the mini-cache, when the microprocessor operates in a buffer mode;

access the portion of the non-cacheable data by performing a DMA operation via the mini-cache without cached data coherency when the microprocessor operates in the buffer mode;

access the cache with cached data coherency when the microprocessor operates in a normal mode separate from the buffer mode; and

synchronize cached data by performing a mini-cache flushing operation when the microprocessor transitions from the buffer mode to the normal mode.

11. The microprocessor of claim 10 , wherein the non-cacheable data is display refresh data (DRD).

12. The microprocessor of claim 10 wherein the buffer mode comprises allowing the microprocessor to operate in a low power state.

13. The microprocessor of claim 10 wherein the controller is further configured to use a lower limit register and an upper limit register to specify the portion of the non-cacheable data.

14. The microprocessor of claim 10 wherein the controller is further configured to use a base register and an offset limit register to specify the portion of the non-cacheable data to match the mini-cache size.

15. The microprocessor of claim 10 wherein the controller is further configured to use a direct mapped policy when the microprocessor is in the buffer mode.

16. The microprocessor of claim 10 wherein a normal mode to buffer mode event initiates storing by the controller, the portion of the non-cacheable data in the mini-cache.

17. The microprocessor of claim 16 wherein the normal mode to buffer mode event comprises the microprocessor entering into a reduced power state.

18. The microprocessor of claim 10 wherein the controller is further configured to store non-cacheable data in the cache without exceeding a size of the cache.

19. A non-transitory computer readable medium containing program instructions when executed by a processor of a computer system comprising functionalities for:

identifying a portion of a cache associated with a microprocessor as a mini-cache;

storing at least a portion of non-cacheable data in the mini-cache when the microprocessor operates in a buffer mode;

accessing the portion of the non-cacheable data by performing a DMA operation via the mini-cache without cached data coherency when the microprocessor operates in the buffer mode;

accessing the cache with cached data coherency when the microprocessor operates in a normal mode separate from the buffer mode; and

synchronizing cached data by performing a mini-cache flushing operation when the microprocessor transitions from the buffer mode to the normal mode.

20. A non-transitory medium readable by a computer system that contains descriptions that generate, when interpreted by the computer system, a circuit comprising functionalities for:

identifying a portion of a cache associated with a microprocessor as a mini-cache;

storing at least a portion of non-cacheable data in the mini-cache when the microprocessor operates in a buffer mode;

accessing the portion of the non-cacheable data by performing a DMA operation via the mini-cache without cached data coherency when the microprocessor operates in the buffer mode;

accessing the cache with cached data coherency when the microprocessor operates in a normal mode separate from the buffer mode; and

synchronizing cached data by performing a mini-cache flushing operation when the microprocessor transitions from the buffer mode to the normal mode.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 020957 FRAME 0434. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECT ASSIGNEES ARE SUN MICROSYSTEMS, INC. AND SUN MICROSYSTEMS TECHNOLOGY LTD. Recorded Aug 23, 2011
From: MONTALVO SYSTEMS, INC.
To: SUN MICROSYSTEMS, INC.; SUN MICROSYSTEMS TECHNOLOGY LTD.
Reel/Frame 026794/0962 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2008
From: MONTALVO SYSTEMS, INC.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 020957/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2007
From: MOLL, LAURENT R.; SONG, SEUNGYOON P.; GLASKOWSKY, PETER N.; CHENG, YU Q.
To: MONTALVO SYSTEMS, INC.
Reel/Frame 019354/0994 →