IP Library Granted Patent US 9,442,849
Granted Patent B2
US 9,442,849 · App. 13/730,915 · Granted Sep 13, 2016

Apparatus and method for reduced core entry into a power state having a powered down core cache

Inventors: David Keppel (Seattle, WA); Kelvin Kwan (Santa Clara, CA); Jawad Nasrullah (Palo Alto, CA)
Assignee: Intel Corporation
G06F12/0804G06F1/3243G06F1/3275G06F12/121G06F12/122G06F2212/1028Y02B60/1225Y02B60/1228Y02B60/1239
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 9,442,849
App. No.
13/730,915
Granted
Sep 13, 2016
Kind
B2
Abstract

A method performed by a multi-core processor is described. The method includes, while a core is executing program code, reading a dirty cache line from the core's last level cache and sending the dirty cache line from the core for storage external from the core, where, the dirty cache line has not been evicted from the cache nor requested by another core or processor.

Claims (31)

1. A processor comprising:

a core comprising circuitry to repeatedly read a next cache line from a cache internal to said core at periodic time intervals to determine if the next cache line is a dirty cache line and send said dirty cache line from said cache to a storage external to said core in response to a first activity level of the cache internal to the core and a second activity level of the storage external to the core collected by the circuitry.

2. The processor of claim 1 wherein said cache is an L2 cache.

3. The processor of claim 2 wherein said circuitry is coupled to an L1 cache within said core and is to send the dirty cache line from the core to the storage external to the core in response to a third activity level of the L1 cache, the first activity level of the L2 cache, and the second activity level of the storage external to the core collected by the circuitry.

4. The processor of claim 1 wherein said circuitry is to send the dirty cache line from the core to the storage external to the core in response to a total score, determined by the circuitry from a combination of the first activity level and the second activity level, not exceeding a threshold.

5. The processor of claim 1 wherein said circuitry is to send the dirty cache line from the core to the storage external to the core in response to a determination that the first activity level of the cache does not exceed a first activity threshold and that the second activity level does not exceed a second activity threshold.

6. The processor of claim 1 wherein said circuitry is to receive a backpressure signal from circuitry having a path from said core to said storage and is to send the dirty cache line from the core to the storage external to the core in response the first activity level of the cache, the second activity level of the storage external to the core, and the backpressure signal from the circuitry having the path from the core to the storage.

7. The processor of claim 1 further comprising register circuitry to hold one or more values to control the periodic time intervals to determine if the next cache line is the dirty cache line.

8. The processor of claim 1 wherein said first activity level and said second activity level includes:

a rate of stores;

a rate of loads; and

a rate of creation of dirty cache lines.

9. The processor of claim 1 wherein the circuitry is to repeatedly read the next cache line and send the dirty cache line to the storage before a decision is made to enter the core into a power state where the cache is powered down.

10. The processor of claim 1 wherein the circuitry is to repeatedly read the next cache line and send the dirty cache line to the storage while the core is active.

11. A method performed by a processor, comprising:

repeatedly reading a next cache line from a cache internal to a core of the processor at periodic time intervals to determine if the next cache line is a dirty cache line;

collecting a first activity level of the cache and a second activity level of a storage external to the core; and

sending said dirty cache line from said cache to the storage external to said core in response to the first activity level of the cache and the second activity level of the storage external to the core.

12. The method of claim 11 further comprising clearing information indicating that said dirty cache line is dirty.

13. The method of claim 11 wherein said cache is an L2 cache and the processor includes an L1 cache within said core; and

the sending comprises sending the dirty cache line from the core to the storage external to the core in response to a third activity level of the L1 cache, the first activity level of the L2 cache, and the second activity level of the storage external to the core.

14. The method of claim 11 , further comprising determining a total score from a combination of the first activity level and the second activity level, wherein the sending comprises sending the dirty cache line from the core to the storage external to the core in response to the total score not exceeding a threshold.

15. The method of claim 11 further, wherein the sending comprises sending the dirty cache line from the core to the storage external to the core in response to a determination that the first activity level of the cache does not exceed a first activity threshold and the second activity level does not exceed a second activity threshold.

16. The method of claim 11 further comprising receiving a backpressure signal from circuitry having a path from said core to said storage, wherein the sending comprises sending the dirty cache line from the core to the storage external to the core in response to the first activity level of the cache, the second activity level of the storage external to the core, and the backpressure signal from the circuitry having the path from the core to the storage.

17. The method of claim 11 further comprising storing one or more values in register circuitry of the processor to control the periodic time intervals to determine if the next cache line is the dirty cache line.

18. The method of claim 11 wherein said collecting includes collecting:

a rate of cache stores;

a rate of cache loads; and

a rate of creation of dirty cache lines.

19. The method of claim 11 comprising repeatedly reading the next cache line and sending the dirty cache line to the storage before a decision is made to enter the core into a power state where the cache is powered down.

20. The method of claim 11 comprising repeatedly reading the next cache line and sending the dirty cache line to the storage while the core is active.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2015
From: KEPPEL, DAVID; KWAN, KELVIN; NASRULLAH, JAWAD
To: INTEL CORPORATION
Reel/Frame 036471/0985 →
Continuity (1)
Related Publication 20140189240A1 · Jul 3, 2014