IP Library Granted Patent US 7,380,063
Granted Patent B2
US 7,380,063 · App. 11/471,773 · Granted May 27, 2008

Cache flushing

Assignee: Intel Corporation
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,380,063
App. No.
11/471,773
Granted
May 27, 2008
Kind
B2
Abstract

Portions of a cache are flushed in stages. An exemplary flushing of the present invention comprises flushing a first portion, performing operations other than a flush, and then flushing a second portion of the cache. The first portion may be disabled after it is flushed. The cache may be functionally divided into portions prior to a flush, or the portions may be determined in part by an abort signal. The operations may access either the cache or the memory. The operations may involve direct memory access or interrupt servicing.

Claims (44)

1. A system comprising:

a single level cache comprising a collection of functional portions all operating at a same speed, each functional portion capable of being disabled independently of the other functional portions and capable of being flushed independently of the other functional portions in the collection so that an available size of the single level cache is variable;

a processor capable of transitioning between a higher power state and a lower power state, where more power is consumed by the processor in the higher power state than in the lower power state;

a cache controller to control flushing and disabling of the functional portions of the single level cache;

an abort input to the cache controller to receive an abort signal indicating that a flushing of the single level cache is to be aborted;

an indicator storage to store an indication of where in the single level cache flushing has been aborted; and

a counter to identify an initial time in a flush when aborting of a flush is not allowed,

wherein

the processor is capable of generating a signal indicative of a transition from the higher power state to the lower power state, and

the cache controller is to flush and disable a first functional portion of the single level cache in response to the signal indicative of the transition.

2. The system of claim 1 , wherein:

a first flushable portion in the collection comprises a first amount of memory;

a second flushable portion in the collection comprises a second amount of memory; and

a ratio of the first amount of memory to the second amount of memory is 2:1.

3. The system of claim 1 , further comprising an interrupt indicator that is accessible to identify that an interrupt is pending.

4. A system comprising:

a single level cache comprising a collection of functional portions all operating at a same speed, each functional portion capable of being disabled independently of the other functional portions and capable of being flushed independently of the other functional portions in the collection so that an available size of the single level cache is variable;

a processor capable of transitioning between a higher power state and a lower power state, where more power is consumed by the processor in the higher power state than in the lower power state;

a cache controller to control flushing and disabling of the functional portions of the single level cache;

an abort input to the cache controller to receive an abort signal indicating that a flushing of the single level cache is to be aborted;

an indicator storage to store an indication of where in the single level cache flushing has been aborted; and

a counter to identify an initial time in a flush when aborting of a flush is not allowed.

5. A method, comprising:

transitioning a processor from a higher power state to a lower power state, where more power is consumed by the processor in the higher power state than in the lower power state, the transitioning including

flushing and disabling a first functional portion of a single level cache to leave a second functional portion of the single level cache enabled, and

preventing the processor from servicing an interrupt during the flushing of the first functional portion; and

performing operations using the processor and the second functional portion of the single level cache with the first functional portion remaining disabled.

6. The method of claim 5 ,

wherein said flushing and disabling the first functional portion of the single level cache comprises

initiating flushing of the single level cache,

receiving a signal indicating that flushing is to be aborted,

aborting the flushing, and

storing an indication of where in the single level cache flushing has been aborted, the indication demarcating the first functional portion and the second functional portion.

7. The method of claim 5 , wherein:

the transitioning comprises generating, at the processor, a signal indicative of a transition from the higher power state to the lower power state; and

the flushing and disabling of the first functional portion is done in response to the signal indicative of the transition.

8. A system comprising:

a single level cache comprising a collection of functional portions all operating at a same speed, each functional portion capable of being disabled independently of the other functional portions and capable of being flushed independently of the other functional portions in the collection so that an available size of the single level cache is variable;

a processor capable of transitioning between a higher power state and a lower power state, where more power is consumed by the processor in the higher power state than in the lower power state; and

a cache controller to control flushing and disabling of the functional portions of the single level cache,

wherein

the processor, in transitioning from the higher power state to the lower power state, is configured to flush and disable a first functional portion of the single level cache to leave a second functional portion of the single level cache enabled,

a servicing of an interrupt by the processor is delayed until after the flushing of the first functional portion, and

the processor and the second functional portion of the single level cache can perform operations with the first functional portion disabled.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2006
From: HORRIGAN, JOHN W.; THANGAVELU, NAMASIVAYAM; GEORGE, VARGHESE; HOLSCHER, BRIAN
To: INTEL CORPORATION
Reel/Frame 018294/0466 →
Continuity (3)
Continuation 1068224000 · Oct 8, 2003
Continuation 0946521600 · Dec 15, 1999
Related Publication 20070005900A1 · Jan 4, 2007