IP Library Granted Patent US 7,958,312
Granted Patent B2
US 7,958,312 · App. 11/559,069 · Granted Jun 7, 2011

Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state

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,958,312
App. No.
11/559,069
Granted
Jun 7, 2011
Kind
B2
Abstract

Small and power-efficient buffer/mini-cache sources and sinks selected DMA accesses directed to a memory space included in a coherency domain of a microprocessor when cached data in the microprocessor is inaccessible due to any or all of the microprocessor being in a low-power state not supporting snooping. Satisfying the selected DMA accesses via the buffer/mini-cache enables reduced power consumption by allowing the microprocessor (or portion thereof) to remain in the low-power state. The buffer/mini-cache may be operated (temporarily) incoherently with respect to the cached data in the microprocessor and flushed before deactivation to synchronize with the cached data when the microprocessor (or portion thereof) transitions to a high-power state that enables snooping. Alternatively the buffer/mini-cache may be operated in a manner (incrementally) coherent with the cached data. The microprocessor implements one or more processors having associated cache systems (such as various arrangements of first-, second-, and higher-level caches).

Claims (25)

1. A method comprising:

pre-filling a buffer/mini-cache with data;

entering a snooping-disabled mode after pre-filling; and

responding to a request from a peripheral device when in the snooping disabled mode,

wherein responding to the request comprises providing a first portion of data from the buffer/mini-cache to the peripheral device in response to a read request from the peripheral device, and

wherein the responding to the request further comprises modifying a second portion of the data in the buffer/mini-cache in response to a write request from the peripheral device, wherein the second portion is flushed in response to the write request.

2. The method of claim 1 , wherein the buffer/mini-cache identifies requests that originate from the peripheral device.

3. The method of claim 1 , wherein the buffer/mini-cache is on a single chip with a controller for the peripheral device.

4. The method of claim 1 , wherein the buffer/mini-cache is on a single chip with a processor.

5. The method of claim 1 , wherein the data that is utilized to pre-fill the buffer is provided by a processor.

6. The method of claim 1 , wherein the data that is utilized to pre-fill the buffer is provided by a controller of the peripheral device.

7. The method of claim 1 , wherein the data that is utilized to pre-fill the buffer is provided by the peripheral device.

8. A system comprising:

a processor;

one or more peripheral devices coupled to the processor; and

a buffer/mini-cache coupled to the processor and at least one of the peripheral devices;

wherein the buffer/mini-cache is configured to be pre-filled with data, and to respond, when the system is in a snooping-disabled mode after the pre-filling to a request from at least one of the peripheral devices,

wherein the buffer/mini-cache is further configured to respond to the request, by providing a first portion of data from the buffer/mini-cache to the peripheral device in response to a read request from the peripheral device, and

wherein the buffer/mini-cache is further configured to respond to the request by modifying a second portion of the data in the buffer/mini-cache in response to a write request from the peripheral device wherein the second portion is flushed after the write request.

9. The system of claim 8 , wherein the buffer/mini-cache identifies requests that originate from the peripheral device.

10. The system of claim 8 , wherein the buffer/mini-cache is on a single chip with a controller for the peripheral device.

11. The system of claim 8 , wherein the buffer/mini-cache is on a single chip with the processor.

12. The system of claim 8 , wherein the data that is utilized to pre-fill the buffer is provided by the processor.

13. The system of claim 10 , wherein the data that is utilized to pre-fill the buffer is provided by the controller of the peripheral device.

14. The system of claim 8 , wherein the data that is utilized to pre-fill the buffer is provided by the peripheral device.

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.; GLASKOWSKY, PETER N.; CHENG, YU Q.; SONG, SEUNGYOON P.
To: MONTALVO SYSTEMS, INC.
Reel/Frame 019354/0871 →