WO2012087655A2 - Computing platform with adaptive cache flush - Google Patents
Computing platform with adaptive cache flush Download PDFInfo
- Publication number
- WO2012087655A2 WO2012087655A2 PCT/US2011/064556 US2011064556W WO2012087655A2 WO 2012087655 A2 WO2012087655 A2 WO 2012087655A2 US 2011064556 W US2011064556 W US 2011064556W WO 2012087655 A2 WO2012087655 A2 WO 2012087655A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cache
- platform
- idle
- adaptive
- cores
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Definitions
- the present invention relates generally to power state management for a computing platform or platform component's such as a CPU.
- Figure 1 is a diagram of a computing platform with adaptive cache flushing in accordance with some embodiments.
- Figure 2 is a flow diagram showing a routine for implementing adaptive cache flushing in accordance with some embodiments.
- Computing platforms commonly use power management systems such as ACPI (the Advanced Configuration and Power Interface) to save power by operating the platform in different power states, depending on required activity, e.g., as dictated by application and external network activity.
- the power management system may be implemented in software (e.g., from the operating system) and/or in hardware/firmware, depending on design tastes for a given manufacturer. For example, CPU or processor cores and their associated performance level may be regulated using so-called P states and their power saving level using so-called C states.
- processor cache e.g., so- called last-level cache
- Flushing refers to transferring the cache data to other memory such as main memory and then powering down the cache to save power.
- Different processors use different pre-defined algorithms or heuristics to flush their last level cache (LLC) to save energy.
- PROCESSOR POWER MANAGEMENT filed on December 31, 2008, incorporated by reference herein, describes methods of having devices report their "idle duration" to optimize processor and system energy efficiency, where the CPU/package can "safely” shrink the LLC in one shot knowing that an idle duration is coming.
- an upcoming idle duration is compared with a fixed break even-time to decide if it would be worthwhile (from an energy benefit point of view) to flush the cache.
- closing and re -populating different cache sizes incurs different overhead in terms of power consumption and latency.
- a fixed break-even time may not be desirable for all situations. Accordingly, a new approach may be desired.
- an adaptive break-even time based on the load level of the cache, may be employed. This may provide more opportunities to flush the cache and allow a processor/package to reach lower power states properly.
- FIG. 1 is a diagram of a multi-core computing platform with adaptive cache flush in accordance with some embodiments.
- the depicted platform comprises a CPU chip 102 coupled to a platform control hub 130 via a direct media interconnect (DMI) interface 114/132.
- the platform also includes memory 111 (e.g., DRAM) coupled through a memory controller 110 and a display 113 coupled through a display controller 112.
- memory 111 e.g., DRAM
- display 113 coupled through a display controller 112.
- a storage drive 139 e.g., a solid state drive
- devices 118 e.g., network interface, WiFi interface, printer, camera, cellular network interface, etc.
- platform interfaces such as PCI Express (116 in the CPU chip and 146 in the PCH chip) and USB interfaces 136, 144.
- the CPU chip 101 comprises processor cores 104, a graphics processor 106, and last level cache (LLC) 108.
- processor cores 104 One or more of the cores 404 execute operating system software (OS space) 107, which comprises a power management program 109.
- OS space operating system software
- At least some of the cores 104 and GPX 106 has an associated power control unit (PCU) 105.
- the PCU administers power state changes for the cores and GPX in cooperation with the power management program 109 for managing at least part of the platform's power management strategy.
- the power management program 109 is implemented with software in the OS, it could also or alternatively be implemented in hardware or firmware, e.g., in the CPU and/or PCH chip.
- the cache 108 provides cache memory for the different cores and the GPX. It comprises a number of so-called ways, e.g., 16 ways (or lines), each including a number of memory bytes, e.g., 8 to 512 bytes.
- the cache may be fully loaded or only a portion of the lines may be used at any given time.
- a cache flush involves transferring the data to a different memory, e.g., to memory 111 and then powering down the cache. This may take a non negligible amount of overhead, depending upon the LLC load driven by the system activity to generate an event, e.g. a timer tick, an internal CPU/package timer event or an 10 generated interrupt.
- the break-even time for a particular power down state was considered as a fixed value for a given CPU using its physical properties, e.g., enter latency, exit latency and energy penalty of entering/exit, etc.
- closing different cache loads depending on how fully loaded they are, incurs different overhead in terms of power consumption and latency.
- a fixed break-even time is not optimal for all workloads. For example, the energy and latency it takes to flush and re-populate 16 lines of LLC is greater than that of 4 lines of LLC. If the energy break-even time is defined for the full cache, cache flush thus energy saving opportunities will be missed; on the other hand, if the break-even time is defined too small, the cache might be flushed too aggressively, causing energy and performance loss.
- the PCU In order to fully optimize the opportunities to flush the LLC cache and enter deeper package power down states, the PCU employs an adaptive break-even time for improved CPU power management. Using an adaptive break-even time based on the number of LLC ways currently used by the cache improves the power saving opportunities. In some embodiments, the LLC ways may be independently power gated to further improve the LLC power and break-even energy time.
- FIG. 2 is a flow diagram showing a routine 200 for implementing an adaptive cache flushing methodology. It is executed by the PCU to decide whether to enter a power down state where the cache is to be flushed based on the current idle duration and adaptive break-even time. Initially, at 202, it identifies idle duration information, e.g., from platform devices, timers, heuristics, etc, to determine or estimate the possible duration for an upcoming idle period. For this assessment, the logic (e.g., cores and GPX) using the LLC should be idle. That is, the cache should not be flushed if any logic (processing core, etc.) is kept active and needs to use it.
- idle duration information e.g., from platform devices, timers, heuristics, etc.
- the routine reads the amount of open ways of the cache in the LLC. Based on this cache load level (e.g., how many ways are occupied), it updates the break-even threshold (T BE ) at 206. The more fully loaded the cache is, the greater will be the break even threshold time and visa versa.
- the break even threshold depends on the flush latency, re-load latency, and energy needed to perform the flushing and re-load operations, entering and exiting this low power state.
- it compares the upcoming idle duration, e.g. minimum estimated idle duration, (Ti) to the updated break-even threshold (T BE ).
- T;>T BE a minimum estimated idle duration
- a power reduction state e.g., a C6, C7 or package C7 type deep sleep state
- the routine ends at 214.
- the routine proceeds to 214 and ends.
- the idle duration can be obtained in different ways, e.g., devices providing deterministic or opportunistic idle duration, CPU estimating idle duration based on heuristics, etc.
- data coalescing schemes may be employed to create idle periods that otherwise would not occur.
- the communication interfaces WiFi, WiMax,
- Ethernet, 3G, etc transfer the data to the host and issue interrupts as soon as they receive it.
- data coalescing may be used to more efficiently group these tasks together.
- SYNCHRONIZATION OF MULTIPLE INCOMING NETWORK COMMUNICATION STREAMS filed on September 17, 2008, incorporated by reference herein, describes an architecture for synchronizing incoming data traffic across multi-communication devices.
- the application describes how regulating traffic, e.g., for a few milliseconds, doesn't materially impact the user experience but can create significant CPU saving opportunities by redistributing idle periods from short ones toward longer ones.
- the short term transitions can be reduced by an order of magnitude and converted to longer term ones, enabling the processor to enter lower power states more often. That is, the determination at 210 (is T; >T BE ) will be satisfied more often.
- Coupled is used to indicate that two or more elements are in direct physical or electrical contact with each other.
- Connected is used to indicate that two or more elements are in direct physical or electrical contact with each other.
- Connected is used to indicate that two or more elements are in direct physical or electrical contact with each other.
- Connected is used to indicate that two or more elements are in direct physical or electrical contact with each other.
- Connected is used to indicate that two or more elements are in direct physical or electrical contact with each other.
- Coupled is used to indicate that two or more elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact.
- signal conductor lines are represented with lines. Some may be thicker, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner. Rather, such added detail may be used in connection with one or more exemplary embodiments to facilitate easier understanding of a diagram. Any represented signal lines, whether or not having additional information, may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Power Sources (AREA)
Abstract
In some embodiments, an adaptive break-even time, based on the load level of the cache, may be employed.
Description
COMPUTING PLATFORM WITH ADAPTIVE CACHE FLUSH
TECHNICAL FIELD
The present invention relates generally to power state management for a computing platform or platform component's such as a CPU.
BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
Figure 1 is a diagram of a computing platform with adaptive cache flushing in accordance with some embodiments.
Figure 2 is a flow diagram showing a routine for implementing adaptive cache flushing in accordance with some embodiments.
DETAILED DESCRIPTION
Computing platforms commonly use power management systems such as ACPI (the Advanced Configuration and Power Interface) to save power by operating the platform in different power states, depending on required activity, e.g., as dictated by application and external network activity. The power management system may be implemented in software (e.g., from the operating system) and/or in hardware/firmware, depending on design tastes for a given manufacturer. For example, CPU or processor cores and their associated performance level may be regulated using so-called P states and their power saving level using so-called C states.
In the deeper power reduction states (e.g., C6 or C7 states and package level C state where all cores achieve the same C state simultaneously), processor cache, e.g., so- called last-level cache, may be "flushed" to save power. Flushing refers to transferring the cache data to other memory such as main memory and then powering down the cache to save power. Different processors use different pre-defined algorithms or heuristics to flush their last level cache (LLC) to save energy.
U.S. Patent Application No. 12/317,967, entitled: PLATFORM AND
PROCESSOR POWER MANAGEMENT, filed on December 31, 2008, incorporated by reference herein, describes methods of having devices report their "idle duration" to optimize processor and system energy efficiency, where the CPU/package can "safely" shrink the LLC in one shot knowing that an idle duration is coming. In this method, an upcoming idle duration is compared with a fixed break even-time to decide if it would be
worthwhile (from an energy benefit point of view) to flush the cache. However, closing and re -populating different cache sizes incurs different overhead in terms of power consumption and latency. Thus, a fixed break-even time may not be desirable for all situations. Accordingly, a new approach may be desired.
In some embodiments, an adaptive break-even time, based on the load level of the cache, may be employed. This may provide more opportunities to flush the cache and allow a processor/package to reach lower power states properly..
Figure 1 is a diagram of a multi-core computing platform with adaptive cache flush in accordance with some embodiments. The depicted platform comprises a CPU chip 102 coupled to a platform control hub 130 via a direct media interconnect (DMI) interface 114/132. The platform also includes memory 111 (e.g., DRAM) coupled through a memory controller 110 and a display 113 coupled through a display controller 112. It also includes a storage drive 139 (e.g., a solid state drive) coupled through a drive controller such as the depicted SATA controller 138. It may also include devices 118 (e.g., network interface, WiFi interface, printer, camera, cellular network interface, etc.) coupled through platform interfaces such as PCI Express (116 in the CPU chip and 146 in the PCH chip) and USB interfaces 136, 144.
The CPU chip 101 comprises processor cores 104, a graphics processor 106, and last level cache (LLC) 108. One or more of the cores 404 execute operating system software (OS space) 107, which comprises a power management program 109.
At least some of the cores 104 and GPX 106 has an associated power control unit (PCU) 105. The PCU, among other things, administers power state changes for the cores and GPX in cooperation with the power management program 109 for managing at least part of the platform's power management strategy. (Note that while in this embodiment, the power management program 109 is implemented with software in the OS, it could also or alternatively be implemented in hardware or firmware, e.g., in the CPU and/or PCH chip.)
The cache 108 provides cache memory for the different cores and the GPX. It comprises a number of so-called ways, e.g., 16 ways (or lines), each including a number of memory bytes, e.g., 8 to 512 bytes. The cache may be fully loaded or only a portion of the lines may be used at any given time. A cache flush involves transferring the data to a different memory, e.g., to memory 111 and then powering down the cache. This may take a non negligible amount of overhead, depending upon the LLC load driven by the system
activity to generate an event, e.g. a timer tick, an internal CPU/package timer event or an 10 generated interrupt. In the past, the break-even time for a particular power down state was considered as a fixed value for a given CPU using its physical properties, e.g., enter latency, exit latency and energy penalty of entering/exit, etc. However closing different cache loads, depending on how fully loaded they are, incurs different overhead in terms of power consumption and latency. Thus a fixed break-even time is not optimal for all workloads. For example, the energy and latency it takes to flush and re-populate 16 lines of LLC is greater than that of 4 lines of LLC. If the energy break-even time is defined for the full cache, cache flush thus energy saving opportunities will be missed; on the other hand, if the break-even time is defined too small, the cache might be flushed too aggressively, causing energy and performance loss.
In order to fully optimize the opportunities to flush the LLC cache and enter deeper package power down states, the PCU employs an adaptive break-even time for improved CPU power management. Using an adaptive break-even time based on the number of LLC ways currently used by the cache improves the power saving opportunities. In some embodiments, the LLC ways may be independently power gated to further improve the LLC power and break-even energy time.
Figure 2 is a flow diagram showing a routine 200 for implementing an adaptive cache flushing methodology. It is executed by the PCU to decide whether to enter a power down state where the cache is to be flushed based on the current idle duration and adaptive break-even time. Initially, at 202, it identifies idle duration information, e.g., from platform devices, timers, heuristics, etc, to determine or estimate the possible duration for an upcoming idle period. For this assessment, the logic (e.g., cores and GPX) using the LLC should be idle. That is, the cache should not be flushed if any logic (processing core, etc.) is kept active and needs to use it.
At 204, the routine reads the amount of open ways of the cache in the LLC. Based on this cache load level (e.g., how many ways are occupied), it updates the break-even threshold (TBE) at 206. The more fully loaded the cache is, the greater will be the break even threshold time and visa versa. The break even threshold depends on the flush latency, re-load latency, and energy needed to perform the flushing and re-load operations, entering and exiting this low power state. At 208, it compares the upcoming idle duration, e.g. minimum estimated idle duration, (Ti) to the updated break-even threshold (TBE). At 210, it determines if T;>TBE? If it is greater, then at 212, it enters a power reduction state
(e.g., a C6, C7 or package C7 type deep sleep state) that results with a cache flush. From here, the routine ends at 214. Likewise, at 210, if it was determined that the idle duration is less then the updated break even time, then the routine proceeds to 214 and ends.
Returning back to step 202, it should be appreciated that the idle duration can be obtained in different ways, e.g., devices providing deterministic or opportunistic idle duration, CPU estimating idle duration based on heuristics, etc. In addition, in some embodiments, data coalescing schemes, or the like, may be employed to create idle periods that otherwise would not occur. In prior art schemes, with the non-deterministic nature of incoming network traffic, the communication interfaces (WiFi, WiMax,
Ethernet, 3G, etc) transfer the data to the host and issue interrupts as soon as they receive it. On the other hand, data coalescing may be used to more efficiently group these tasks together. For example, in U.S. Pat. App. No. 12/283,931, entitled:
SYNCHRONIZATION OF MULTIPLE INCOMING NETWORK COMMUNICATION STREAMS, filed on September 17, 2008, incorporated by reference herein, describes an architecture for synchronizing incoming data traffic across multi-communication devices. The application describes how regulating traffic, e.g., for a few milliseconds, doesn't materially impact the user experience but can create significant CPU saving opportunities by redistributing idle periods from short ones toward longer ones. By performing data coalescing on the platform, the short term transitions can be reduced by an order of magnitude and converted to longer term ones, enabling the processor to enter lower power states more often. That is, the determination at 210 (is T; >TBE) will be satisfied more often.
In the preceding description and following claims, the following terms should be construed as follows: The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, "connected" is used to indicate that two or more elements are in direct physical or electrical contact with each other. "Coupled" is used to indicate that two or more elements co-operate or interact with each other, but they may or may not be in direct physical or electrical contact.
It should also be appreciated that in some of the drawings, signal conductor lines are represented with lines. Some may be thicker, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however,
should not be construed in a limiting manner. Rather, such added detail may be used in connection with one or more exemplary embodiments to facilitate easier understanding of a diagram. Any represented signal lines, whether or not having additional information, may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
It should be appreciated that example sizes/models/values/ranges may have been given, although the present invention is not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured. In addition, well known power/ground connections to IC chips and other components may or may not be shown within the FIGS, for simplicity of illustration and discussion, and so as not to obscure the invention. Further, arrangements may be shown in block diagram form in order to avoid obscuring the invention, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the platform within which the present invention is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. Where specific details (e.g., circuits) are set forth in order to describe example embodiments of the invention, it should be apparent to one skilled in the art that the invention can be practiced without, or with variation of, these specific details. The description is thus to be regarded as illustrative instead of limiting.
Claims
1. An apparatus, comprising:
a processor having a core and a cache for the core, the processor to define an adaptive break even flush time for the cache based on the cache load to implement flush operations for power reduction modes.
2. The apparatus of claim 1, in which the adaptive break even time is based on the latency and energy required for flushing the cache with its current load occupancy.
3. The apparatus of claim 1, in which a flush operation is performed when an idle duration exceeding the break-even time of the adaptive flush time is identified.
4. The apparatus of claim 3, in which the idle duration is based on idle duration information received from one or more devices.
5. The apparatus of claim 3, in which the idle duration is based on prediction using heuristic information
6. The apparatus of claim 4, in which the devices include an 10 interface.
7. The apparatus of claim 6, in which the I/O interface coalesces device activities in order to create additional idle times.
8. The apparatus of claim 4, in which the processor is to coalesce servicing device tasks in order to create additional idle times.
9. The apparatus of claim 1, further comprising multiple cores to share the cache.
10. A computing platform, comprising:
a cache and a plurality of cores to share the cache; and
a power control unit (PCU) to control power reduction states for the cores and cache, the PCU to identify idle time for the cores and to flush the cache when the identified idle time exceeds an adaptive break even threshold.
11. The platform of claim 10, in which the adaptive break even threshold is proportional to the size of the cache load.
12. The platform of claim 10, in which the adaptive break even threshold is smaller for the cache when it is emptier.
13. The platform of claim 10, wherein the PCU identifies the idle time based on heuristics.
14. The platform of claim 10, in which the PCU identifies the idle time based at least in part on reported latency values from one or more platform devices.
15. The platform of claim 14, in which the devices coalesce interrupts to the cores to enhance idle time.
16. The platform of claim 10, in which the cores are part of a processor chip in a cellular telephone.
17. The platform of claim 10, in which the cores are part of a processor chip in a tablet computer.
18. A method, comprising:
identifying an upcoming idle time for a computing platform;
defining an adaptive break even threshold for cache in the platform based on a load level for the cache; and
entering a reduced power state resulting in the cache being flushed if the idle time is longer than the adaptive break even threshold.
19. The method of claim 18, wherein the adaptive break even threshold is non- linearly proportional to the cache load level.
20. The method of claim 18, wherein idle times are created by coalescing tasks for the platform, the idle times to be greater than the adaptive break even threshold.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011800615195A CN103262001A (en) | 2010-12-22 | 2011-12-13 | Computing platform with adaptive cache flush |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/975,458 | 2010-12-22 | ||
| US12/975,458 US20120166731A1 (en) | 2010-12-22 | 2010-12-22 | Computing platform power management with adaptive cache flush |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2012087655A2 true WO2012087655A2 (en) | 2012-06-28 |
| WO2012087655A3 WO2012087655A3 (en) | 2012-08-16 |
Family
ID=46314753
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2011/064556 Ceased WO2012087655A2 (en) | 2010-12-22 | 2011-12-13 | Computing platform with adaptive cache flush |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20120166731A1 (en) |
| CN (1) | CN103262001A (en) |
| TW (1) | TWI454904B (en) |
| WO (1) | WO2012087655A2 (en) |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9075609B2 (en) * | 2011-12-15 | 2015-07-07 | Advanced Micro Devices, Inc. | Power controller, processor and method of power management |
| US9176563B2 (en) * | 2012-05-14 | 2015-11-03 | Broadcom Corporation | Leakage variation aware power management for multicore processors |
| US9128842B2 (en) * | 2012-09-28 | 2015-09-08 | Intel Corporation | Apparatus and method for reducing the flushing time of a cache |
| US9183144B2 (en) * | 2012-12-14 | 2015-11-10 | Intel Corporation | Power gating a portion of a cache memory |
| US9354694B2 (en) | 2013-03-14 | 2016-05-31 | Intel Corporation | Controlling processor consumption using on-off keying having a maximum off time |
| US9766685B2 (en) * | 2013-05-15 | 2017-09-19 | Intel Corporation | Controlling power consumption of a processor using interrupt-mediated on-off keying |
| JP2016523399A (en) * | 2013-06-28 | 2016-08-08 | インテル コーポレイション | Adaptive interrupt coalescing for energy efficient mobile platforms |
| US9665153B2 (en) | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
| US10339023B2 (en) | 2014-09-25 | 2019-07-02 | Intel Corporation | Cache-aware adaptive thread scheduling and migration |
| US9778883B2 (en) * | 2015-06-23 | 2017-10-03 | Netapp, Inc. | Methods and systems for resource management in a networked storage environment |
| US9959075B2 (en) * | 2015-08-05 | 2018-05-01 | Qualcomm Incorporated | System and method for flush power aware low power mode control in a portable computing device |
| US20170038813A1 (en) * | 2015-08-05 | 2017-02-09 | Qualcomm Incorporated | System and method for cache aware low power mode control in a portable computing device |
| US9811471B2 (en) | 2016-03-08 | 2017-11-07 | Dell Products, L.P. | Programmable cache size via class of service cache allocation |
| US10649896B2 (en) | 2016-11-04 | 2020-05-12 | Samsung Electronics Co., Ltd. | Storage device and data processing system including the same |
| KR102208058B1 (en) | 2016-11-04 | 2021-01-27 | 삼성전자주식회사 | Storage device and data processing system including the same |
| KR102564969B1 (en) * | 2018-11-05 | 2023-08-09 | 에스케이하이닉스 주식회사 | Power gating system and electronic system including the same |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DK205688D0 (en) * | 1988-04-15 | 1988-04-15 | Sven Karl Lennart Goof | HOLES FOR STORAGE AND PROTECTION OF ARTICLES |
| US6976181B2 (en) * | 2001-12-20 | 2005-12-13 | Intel Corporation | Method and apparatus for enabling a low power mode for a processor |
| TWI283341B (en) * | 2003-11-20 | 2007-07-01 | Acer Inc | Structure of dynamic management device power source and its method |
| US20070156992A1 (en) * | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
| US7549177B2 (en) * | 2005-03-28 | 2009-06-16 | Intel Corporation | Advanced thermal management using an average power controller over an adjustable time window |
| US7904658B2 (en) * | 2005-11-30 | 2011-03-08 | International Business Machines Corporation | Structure for power-efficient cache memory |
| US7752474B2 (en) * | 2006-09-22 | 2010-07-06 | Apple Inc. | L1 cache flush when processor is entering low power mode |
| US20080164933A1 (en) * | 2007-01-07 | 2008-07-10 | International Business Machines Corporation | Method and apparatus for multiple array low-power operation modes |
| US8527709B2 (en) * | 2007-07-20 | 2013-09-03 | Intel Corporation | Technique for preserving cached information during a low power mode |
| US8589706B2 (en) * | 2007-12-26 | 2013-11-19 | Intel Corporation | Data inversion based approaches for reducing memory power consumption |
| US20090204837A1 (en) * | 2008-02-11 | 2009-08-13 | Udaykumar Raval | Power control system and method |
| US8156289B2 (en) * | 2008-06-03 | 2012-04-10 | Microsoft Corporation | Hardware support for work queue management |
| KR101474344B1 (en) * | 2008-07-11 | 2014-12-18 | 시게이트 테크놀로지 엘엘씨 | Method for controlling cache flush and data storage system using the same |
| US8112647B2 (en) * | 2008-08-27 | 2012-02-07 | Globalfoundries Inc. | Protocol for power state determination and demotion |
| US8458498B2 (en) * | 2008-12-23 | 2013-06-04 | Intel Corporation | Method and apparatus of power management of processor |
| US8495403B2 (en) * | 2008-12-31 | 2013-07-23 | Intel Corporation | Platform and processor power management |
| US20110112798A1 (en) * | 2009-11-06 | 2011-05-12 | Alexander Branover | Controlling performance/power by frequency control of the responding node |
| US8887171B2 (en) * | 2009-12-28 | 2014-11-11 | Intel Corporation | Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection |
| US20120096295A1 (en) * | 2010-10-18 | 2012-04-19 | Robert Krick | Method and apparatus for dynamic power control of cache memory |
| US8438416B2 (en) * | 2010-10-21 | 2013-05-07 | Advanced Micro Devices, Inc. | Function based dynamic power control |
-
2010
- 2010-12-22 US US12/975,458 patent/US20120166731A1/en not_active Abandoned
-
2011
- 2011-12-13 CN CN2011800615195A patent/CN103262001A/en active Pending
- 2011-12-13 WO PCT/US2011/064556 patent/WO2012087655A2/en not_active Ceased
- 2011-12-15 TW TW100146587A patent/TWI454904B/en not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| TWI454904B (en) | 2014-10-01 |
| WO2012087655A3 (en) | 2012-08-16 |
| CN103262001A (en) | 2013-08-21 |
| US20120166731A1 (en) | 2012-06-28 |
| TW201239609A (en) | 2012-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20120166731A1 (en) | Computing platform power management with adaptive cache flush | |
| US20210240252A1 (en) | Platform and processor power management | |
| US8560749B2 (en) | Techniques for managing power consumption state of a processor involving use of latency tolerance report value | |
| US9600059B2 (en) | Facilitating power management in a multi-core processor | |
| JP5707321B2 (en) | Sleep processor | |
| US8726055B2 (en) | Multi-core power management | |
| KR101409055B1 (en) | System and method for controlling central processing unit power based on inferred workload parallelism | |
| US9292068B2 (en) | Controlling a turbo mode frequency of a processor | |
| TWI603184B (en) | Energy efficient method, device and system for optimizing C-state selection under variable wake-up rate | |
| KR101471303B1 (en) | Device and method of power management for graphic processing unit | |
| US7689838B2 (en) | Method and apparatus for providing for detecting processor state transitions | |
| US9513964B2 (en) | Coordinating device and application break events for platform power saving | |
| US20130198540A1 (en) | Dynamic Power Management in Real Time Systems | |
| TWI605333B (en) | Adaptively disabling and enabling sleep states for power and performance | |
| EP3190478A1 (en) | Method, apparatus and system to transition system power state of a computer platform | |
| CN103988147B (en) | Dynamically enter low power state during active operation load | |
| KR102789082B1 (en) | Dynamic interrupt rate control in computing systems | |
| KR20130049201A (en) | Storage drive management | |
| CN110399034B (en) | Power consumption optimization method of SoC system and terminal | |
| EP2798436B1 (en) | Power management using reward-based sleep state selection | |
| CN103262000A (en) | Vr power mode interface | |
| US8924614B2 (en) | Host controller apparatus, information processing apparatus, and event information output method | |
| KR101896494B1 (en) | Power management in computing devices | |
| CN103135722A (en) | Electronic device and state control method for system in electronic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11849961 Country of ref document: EP Kind code of ref document: A2 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11849961 Country of ref document: EP Kind code of ref document: A2 |