US9720484B2 - Apparatus and method to reduce memory power consumption by inverting data - Google Patents

Apparatus and method to reduce memory power consumption by inverting data Download PDF

Info

Publication number
US9720484B2
US9720484B2 US14/666,165 US201514666165A US9720484B2 US 9720484 B2 US9720484 B2 US 9720484B2 US 201514666165 A US201514666165 A US 201514666165A US 9720484 B2 US9720484 B2 US 9720484B2
Authority
US
United States
Prior art keywords
processor
cache
inversion
memory system
memory
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.)
Active
Application number
US14/666,165
Other versions
US20150192977A1 (en
Inventor
Ming Zhang
Chris Wilkerson
Greg Taylor
Randy J. Aksamit
James Tschanz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to US14/666,165 priority Critical patent/US9720484B2/en
Publication of US20150192977A1 publication Critical patent/US20150192977A1/en
Application granted granted Critical
Publication of US9720484B2 publication Critical patent/US9720484B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • Y02B60/1225
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates generally to power saving methodologies for memory such as cache systems. In some embodiments, it provides a cache organization with a non-intrusive power management interface.
  • SRAM static random access memory
  • 6T, 4T or other
  • a guardband or error margin
  • guardbands may be employed, i.e., added to the minimum required Vcc. Accordingly, solutions for reducing utilized guardbands may be desired.
  • FIG. 1 is a schematic diagram of a portion of a cache system with an inversion circuit to mitigate impact of conditions or protect against conditions contributing to increased guardband in accordance with some embodiments.
  • FIG. 2 is a state diagram showing a way for controlling the inversion circuit of FIG. 1 in response to power state changes in accordance with some embodiments.
  • FIG. 3 is a schematic diagram showing a portion of a cache system with cache section disable circuitry to mitigate against conditions contributing to increased guardband in accordance with some embodiments.
  • FIG. 4 is a diagram showing required cache activity based on “P” type performance state conditions.
  • FIG. 5 is a schematic diagram of a portion of a cache system with both an inversion circuit and cache section disable circuitry to mitigate against conditions [see above] contributing to increased guardband in accordance with some embodiments.
  • FIG. 6 is a diagram of a mobile platform system having a processor with cache in accordance with some embodiments disclosed herein.
  • a guardband used for minimum voltage supply (Vcc) requirements for memory such as cache (e.g., L1, L2, or other).
  • Vcc minimum voltage supply
  • memory such as cache (e.g., L1, L2, or other).
  • Vcc minimum voltage supply
  • the data written back into the memory is inverted on different occasions, e.g., alternate times when the memory is re-activated. This continues for an extended duration, e.g., lifetime of the memory, which, from a statistical standpoint, increases the likelihood that the data bias for the memory will be better balanced, thereby impeding the effects of aging and thus reducing the needed Vcc guardband that would otherwise be required.
  • another independent approach is to de-activate a portion of the memory when less performance is required, e.g., when the processor is operating at a lower frequency.
  • memory such as cache
  • the required minimum Vcc increases as the amount of active memory is increased.
  • a portion of the memory is de-activated, allowing the Vcc guardband, in turn, to be reduced.
  • Data bias is the percentage of time that a given state, e.g., “1” is stored in a bit cell over a period of time, e.g., the life of the cell.
  • the data bias can have an important impact on the bit cell's aging.
  • An imbalanced data bias e.g. 25% “1” will skew the voltage transfer curves of the cell's inverters more than a balanced data bias (i.e. 50% “1”). This results in more detrimental aging effects, requiring a higher supply voltage guardband for the memory.
  • a circuit is provided to flip (invert) the bits in the memory on a regular basis. For example, it may be inverted when coming out of an inactive mode, on different occasions, when the memory is re-populated.
  • the processors may be frequently transitioned in and out of active cache modes, thereby providing an opportunity for sufficiently regular inversion, which may result in improved data biases.
  • ACPI Advanced Configuration Power Interface
  • aging is a relatively slow process compared to the frequency of C6 transitions (especially those on mobile products) and thus, the statistical likelihood that the data bias will be balanced is fairly good.
  • the “ACPI” specification provides for different power management states for different platform levels, e.g., system, processor, devices.
  • the so-called C states define activity for a processor or core within a processor.
  • the C0 state is the state of highest activity, while the C6 state is the state of lowest activity, with the other states falling in line between these states. It should be appreciated that other power management specifications could be employed, and the invention is not so limited.
  • FIG. 1 shows a circuit for implementing data inversion that is triggered from power activity changes in accordance with some embodiments.
  • the circuit generally comprises an operating system power management module (OSPM) 102 , register (e.g., one or more flip-flops) 104 , XOR gates 106 (input gate 106 A and output gate 106 B), and cache system 108 , coupled together as shown. Any or all of these logic circuits may or may not be hardened.
  • the cache system 108 comprises multiple partitions (or “Ways”), eight in this depiction, along with control logic, to control data written into and out from the cache system.
  • the cache receives data at an input port (Data In′) and provides it from an output port (Data Out′).
  • the input and output ports may comprise any suitable number of bits (e.g., 1, 2, 4, 8, etc.), and thus, the XOR gates 106 likewise comprise a corresponding number of gates. That is, each depicted XOR gate may actually correspond to a number of gates in parallel supporting the number of bits on the data input and output ports.
  • the OSPM (operating system power management) module is a module that is aware of the current C state for the processor. Circuitry is provided (e.g., within the module) to generate a Cn signal to control the register 104 to toggle its data whenever the system transitions from C6 to C0 (as shown in FIG. 2 ). It should be appreciated that while an OCPM module is shown, any other suitable circuit or module, depending on the particularly implemented power management scheme, could be used.
  • the I register output is coupled to an input at both XOR gates ( 106 A, 106 B).
  • the other input to XOR gate 106 A is coupled to the Data In line, while the other input to XOR gate 106 B is coupled to the Data Out′ line.
  • the output from XOR 106 A is coupled to Data In′ (input to cache 108 ), and the output from XOR 106 B provides the Data Out signal.
  • the Cn signal causes the contents of register 104 to toggle.
  • circuitry generating Cn may be made to flip the register 104 sufficiently prior to actual entry of C0 or at least before the data is written into the cache to avoid incurring performance penalties.
  • transition from C6 to C0 is but one event where the cache is regularly being re-populated, but there may be other events that could be used to trigger toggling of the I register.
  • the written data is inverted. So one time it will be re-populated with non-inverted data and the next time, with inverted data, and so on.
  • the existing C state infrastructure is used to drive the inversion process.
  • the transitions from C6 to C0 are shown, but again, it should be appreciated that any C-state (or other state transition) that triggers a cache flush could be used (e.g. C3-6).
  • This approach exploits the cache-flush opportunity present in at least some of the C states.
  • a benefit of this is that “bit-flipping” counters at the sub-array level are not needed because whether or not the data has been flipped in individual sub-arrays during normal operation does not need to be tracked.
  • this approach may be conveniently implemented in existing designs because the inversion circuitry is “wrapped” around the cache, in an end-to-end manner, so a reconfiguration may facilitate a non-intrusive power management interface for the cache system. Note also that this approach can be applied equally well to both the data and/or tags of the cache array, as well as to other memory or cache such as register files.
  • this allows for a lower Vcc minimum supplied to the cache and thus, it facilitates a lower minimum Vcc guardband.
  • cache systems with larger numbers of cells require larger minimum supply voltages because they are likely to have more extreme process-variation outliers, i.e., they are likely to have worst-case cells with higher required minimum supply requirements when active. Therefore, in general, less guardband is needed as the number of active cells in a cache system decreases. Note that this works even if some of the actual worse-case cells are in partitions that remain active because from a statistical perspective, it will be highly unlikely that there would be enough “bad cells” to thwart error correction or masking methods used with most cache systems.
  • ACPI P-states which define platform performance levels (e.g., operating frequency for processor or core), are used to determine a portion of the cache to be activated. This takes advantage of the fact that P-state transitions to lower power states (e.g., from P 0 to P 1 ) effectively slow the internal CPU clock without changing the bandwidth or latency of the main memory. This means that the processor can afford a larger cache “miss” rate without suffering from undue performance loss.
  • FIG. 3 shows a circuit for de-activating portions of memory systems based on required performance so that lower voltage supplies can be used when less memory is active.
  • the power gates are coupled to a control bus (Pn) that is controlled by the OSPM 102 based on the existing P-state for the processor not shown) housing the cache 108 .
  • Pn control bus
  • the logic is made so that when ways are de-activated, they are removed from the logical memory space. In addition, it also may be made to rotate the ways that are de-activated, so that the same ways aren't always de-activated, to mitigate against the adverse effects of aging.
  • FIG. 4 shows an example where the system transitions between P 0 and P 1 .
  • P 0 is the highest performance state with the highest operating frequency. In this state with this example, 100% of the cache is deemed necessary for acceptable overall performance.
  • P 1 is a lower performance state where the frequency is reduced by 50%. Thus, in this state (with the afor mentioned frequency-active cache correlation requirement), only 25% of the cache is required to be activated. Thus, when in the P 1 state, the power gates are controlled so that two of the eight ways are active. In this state, the guardband for the minimum applied cache supply can be reduced, relative to the guardband needed for the P 0 state.
  • FIG. 5 shows another embodiment that combines both the inversion and de-activation schemes from FIGS. 1 and 3 . They work together to allow for an even greater reduction in the average, minimum required cache supply voltage guardband.
  • a portion of a computer platform 601 (e.g., computing system such as a mobile personal computer, server, PDA, cell phone, or the like) is shown.
  • the represented portion comprises one or more processors 602 , power supply 603 , interface control functionality 604 , memory 606 , wireless network interface 608 , and an antenna 609 .
  • the power supply 603 which may include one or more AC adaptors, batteries, and/or DC-DC voltage regulators, provides DC supplies to the platform components.
  • the processor(s) 602 is coupled to the memory 606 and wireless network interface 608 through the control functionality 604 .
  • the processor(s) may comprise any processor including a controller, single core processor and/or multi-core processor. It comprises one or more cache system(s) 605 configured for reduced Vcc guardband in accordance with some of the embodiments disclosed herein.
  • the control functionality may comprise one or more circuit blocks to perform various interface control functions (e.g., memory control, graphics control, I/O interface control, and the like. These circuits may be implemented on one or more separate chips and/or may be partially or wholly implemented within the processor(s) 602 .
  • the memory 606 comprises one or more memory blocks to provide additional random access memory to the processor(s) 602 . It may be implemented with any suitable memory including but not limited to dynamic random access memory, static random access memory, flash memory, or the like.
  • the wireless network interface 608 is coupled to the antenna 609 to wirelessly couple the processor(s) 602 to a wireless network (not shown) such as a wireless local area network or a cellular network. It is shown here as a separate chip but could alternatively be incorporated into the control functionality (e.g., within the processor or in an I/O chip).
  • the computer platform 601 may implement a variety of different computing devices or other appliances with computing capability. Such devices include but are not limited to laptop computers, notebook computers, personal digital assistant devices (PDAs), cellular phones, audio and/or or video media players, and the like. It could constitute one or more complete computing systems or alternatively, it could constitute one or more components useful within a computing system.
  • PDAs personal digital assistant devices
  • 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.
  • 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.
  • PMOS transistor refers to a P-type metal oxide semiconductor field effect transistor.
  • NMOS transistor refers to an N-type metal oxide semiconductor field effect transistor.
  • MOS transistor MOS transistor
  • NMOS transistor NMOS transistor
  • PMOS transistor PMOS transistor
  • transistor can include other suitable transistor types, e.g., junction-field-effect transistors, bipolar-junction transistors, metal semiconductor FETs, and various types of three dimensional transistors, MOS or otherwise, known today or not yet developed.
  • suitable transistor types e.g., junction-field-effect transistors, bipolar-junction transistors, metal semiconductor FETs, and various types of three dimensional transistors, MOS or otherwise, known today or not yet developed.
  • IC semiconductor integrated circuit
  • PDA programmable logic arrays
  • 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 circuit. 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.

Abstract

Disclosed herein are approaches to reducing a guardband (margin) used for minimum voltage supply (Vcc) requirements for memory such as cache.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
The present application is a divisional of a co-pending U.S. patent application Ser. No. 14/038,639, filed Sep. 26, 2013, which is a continuation application of U.S. patent application Ser. No. 11/964,551, filed Dec. 26, 2007, now issued as U.S. Pat. No. 8,589,706.
BACKGROUND
The present invention relates generally to power saving methodologies for memory such as cache systems. In some embodiments, it provides a cache organization with a non-intrusive power management interface.
Memory systems such as static random access memory (SRAM) cache using cells such as the so-called 6T, 4T, or other, typically have a minimum required Vcc when in operation. Due to factors (e.g., aging, di/dt voltage droop, IR drop, and process variation) that reduce how much voltage the memory system actually sees, a guardband (or error margin) is added to the specified minimum supply to account for worst case conditions. For example, with some processor cache, guardbands of up to 100 mV may be employed, i.e., added to the minimum required Vcc. Accordingly, solutions for reducing utilized guardbands may be desired.
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.
FIG. 1 is a schematic diagram of a portion of a cache system with an inversion circuit to mitigate impact of conditions or protect against conditions contributing to increased guardband in accordance with some embodiments.
FIG. 2 is a state diagram showing a way for controlling the inversion circuit of FIG. 1 in response to power state changes in accordance with some embodiments.
FIG. 3 is a schematic diagram showing a portion of a cache system with cache section disable circuitry to mitigate against conditions contributing to increased guardband in accordance with some embodiments.
FIG. 4 is a diagram showing required cache activity based on “P” type performance state conditions.
FIG. 5 is a schematic diagram of a portion of a cache system with both an inversion circuit and cache section disable circuitry to mitigate against conditions [see above] contributing to increased guardband in accordance with some embodiments.
FIG. 6 is a diagram of a mobile platform system having a processor with cache in accordance with some embodiments disclosed herein.
DETAILED DESCRIPTION
Disclosed herein are approaches to reducing a guardband (margin) used for minimum voltage supply (Vcc) requirements for memory such as cache (e.g., L1, L2, or other). In some embodiments, during normal operation, when coming out of a mode where the memory was “flushed” (e.g., a reduced power or inactive mode), the data written back into the memory is inverted on different occasions, e.g., alternate times when the memory is re-activated. This continues for an extended duration, e.g., lifetime of the memory, which, from a statistical standpoint, increases the likelihood that the data bias for the memory will be better balanced, thereby impeding the effects of aging and thus reducing the needed Vcc guardband that would otherwise be required.
In some embodiments, another independent approach is to de-activate a portion of the memory when less performance is required, e.g., when the processor is operating at a lower frequency. With memory such as cache, the required minimum Vcc increases as the amount of active memory is increased. Thus, if less memory is needed during an active (albeit lower performance) state, a portion of the memory is de-activated, allowing the Vcc guardband, in turn, to be reduced.
Both approaches allow for a lower memory supply voltage when the memory is operating, which results in less overall power consumption.
Data Inversion
Data bias is the percentage of time that a given state, e.g., “1” is stored in a bit cell over a period of time, e.g., the life of the cell. The data bias can have an important impact on the bit cell's aging. An imbalanced data bias (e.g. 25% “1”) will skew the voltage transfer curves of the cell's inverters more than a balanced data bias (i.e. 50% “1”). This results in more detrimental aging effects, requiring a higher supply voltage guardband for the memory. In fact, for a cache system using a minimum supply (Vcc) of around or below 1.0 V, simulations demonstrated that the guardband (margin added to this amount to overcome worst-case conditions, aging, etc.) could be lowered by at least 15-45 mV in going from a data bias of 25% to one of 50%.
Thus, in some embodiments, a circuit is provided to flip (invert) the bits in the memory on a regular basis. For example, it may be inverted when coming out of an inactive mode, on different occasions, when the memory is re-populated. With cache in many processor platforms, especially mobile platforms, the processors may be frequently transitioned in and out of active cache modes, thereby providing an opportunity for sufficiently regular inversion, which may result in improved data biases. For example, with mobile computers using ACPI (Advanced Configuration Power Interface) C states, aging is a relatively slow process compared to the frequency of C6 transitions (especially those on mobile products) and thus, the statistical likelihood that the data bias will be balanced is fairly good.
The “ACPI” specification provides for different power management states for different platform levels, e.g., system, processor, devices. The so-called C states define activity for a processor or core within a processor. The C0 state is the state of highest activity, while the C6 state is the state of lowest activity, with the other states falling in line between these states. It should be appreciated that other power management specifications could be employed, and the invention is not so limited.
FIG. 1 shows a circuit for implementing data inversion that is triggered from power activity changes in accordance with some embodiments. The circuit generally comprises an operating system power management module (OSPM) 102, register (e.g., one or more flip-flops) 104, XOR gates 106 (input gate 106A and output gate 106B), and cache system 108, coupled together as shown. Any or all of these logic circuits may or may not be hardened. The cache system 108 comprises multiple partitions (or “Ways”), eight in this depiction, along with control logic, to control data written into and out from the cache system.
The cache receives data at an input port (Data In′) and provides it from an output port (Data Out′). The input and output ports may comprise any suitable number of bits (e.g., 1, 2, 4, 8, etc.), and thus, the XOR gates 106 likewise comprise a corresponding number of gates. That is, each depicted XOR gate may actually correspond to a number of gates in parallel supporting the number of bits on the data input and output ports.
The OSPM (operating system power management) module is a module that is aware of the current C state for the processor. Circuitry is provided (e.g., within the module) to generate a Cn signal to control the register 104 to toggle its data whenever the system transitions from C6 to C0 (as shown in FIG. 2). It should be appreciated that while an OCPM module is shown, any other suitable circuit or module, depending on the particularly implemented power management scheme, could be used.
The I register output is coupled to an input at both XOR gates (106A, 106B). The other input to XOR gate 106A is coupled to the Data In line, while the other input to XOR gate 106B is coupled to the Data Out′ line. The output from XOR 106A is coupled to Data In′ (input to cache 108), and the output from XOR 106B provides the Data Out signal.
In operation, when the register 104 is de-asserted (‘0), the XOR gates simply buffer the data into and out of the cache and no inversion occurs. On the other hand, when the register is asserted (‘1), data written into the cache is inverted before being stored in the cache and then inverted again, back to its original value by XOR 106B when read out from the cache. Thus, from the standpoint of the computing system writing data into and out from the cache, the inversion circuitry and process is transparent, i.e., Data Out corresponds to Data In, regardless of whether or not it was inverted for storage in the cache.
As shown in FIG. 2, when the system goes from a C6 to a C0 state, the Cn signal causes the contents of register 104 to toggle. Note that circuitry generating Cn may be made to flip the register 104 sufficiently prior to actual entry of C0 or at least before the data is written into the cache to avoid incurring performance penalties. Moreover, it should be appreciated that transition from C6 to C0 is but one event where the cache is regularly being re-populated, but there may be other events that could be used to trigger toggling of the I register. Thus, for alternating instances when the cache is re-populated, the written data is inverted. So one time it will be re-populated with non-inverted data and the next time, with inverted data, and so on.
With this embodiment, the existing C state infrastructure is used to drive the inversion process. For ease of explanation and illustration, the transitions from C6 to C0 are shown, but again, it should be appreciated that any C-state (or other state transition) that triggers a cache flush could be used (e.g. C3-6).
This approach exploits the cache-flush opportunity present in at least some of the C states. A benefit of this is that “bit-flipping” counters at the sub-array level are not needed because whether or not the data has been flipped in individual sub-arrays during normal operation does not need to be tracked. In addition, this approach may be conveniently implemented in existing designs because the inversion circuitry is “wrapped” around the cache, in an end-to-end manner, so a reconfiguration may facilitate a non-intrusive power management interface for the cache system. Note also that this approach can be applied equally well to both the data and/or tags of the cache array, as well as to other memory or cache such as register files.
Performance Based Cache De-Activation
It has been appreciated that decreasing the size of cache by a certain factor (e.g., factor of 2) as the clock frequency is reduced may have negligible impact on the overall performance of a system, as it is affected by the cache. For example, it has been observed that a decrease of CPU clock frequency by one-half, e.g., going from 2 GHz. to 1 GHz. allows for 75% of the cache to be de-activated without paying much (if any) performance penalty. The frequency is reduced by a factor of two, but the cache can be reduced by a factor of four. Thus, with some embodiments disclosed herein, portions of the cache are de-activated when clock frequency is reduced, e.g., for a reduced power state.
Among other benefits, this allows for a lower Vcc minimum supplied to the cache and thus, it facilitates a lower minimum Vcc guardband. (From a statistical standpoint, cache systems with larger numbers of cells require larger minimum supply voltages because they are likely to have more extreme process-variation outliers, i.e., they are likely to have worst-case cells with higher required minimum supply requirements when active. Therefore, in general, less guardband is needed as the number of active cells in a cache system decreases. Note that this works even if some of the actual worse-case cells are in partitions that remain active because from a statistical perspective, it will be highly unlikely that there would be enough “bad cells” to thwart error correction or masking methods used with most cache systems.
In some embodiments, ACPI P-states, which define platform performance levels (e.g., operating frequency for processor or core), are used to determine a portion of the cache to be activated. This takes advantage of the fact that P-state transitions to lower power states (e.g., from P0 to P1) effectively slow the internal CPU clock without changing the bandwidth or latency of the main memory. This means that the processor can afford a larger cache “miss” rate without suffering from undue performance loss.
FIG. 3 shows a circuit for de-activating portions of memory systems based on required performance so that lower voltage supplies can be used when less memory is active. In this depiction, provided with the cache system 108 are power gates (PG1 to PG8) for independent activation and de-activation of the separate cache partitions (ways in this depiction). The power gates are coupled to a control bus (Pn) that is controlled by the OSPM 102 based on the existing P-state for the processor not shown) housing the cache 108. Thus, circuitry in the OSPM generates the Pn signal to activate an appropriate percentage of the cache ways based on the required system operating performance, as gleaned from the current P-state. The logic is made so that when ways are de-activated, they are removed from the logical memory space. In addition, it also may be made to rotate the ways that are de-activated, so that the same ways aren't always de-activated, to mitigate against the adverse effects of aging.
FIG. 4 shows an example where the system transitions between P0 and P1. P0 is the highest performance state with the highest operating frequency. In this state with this example, 100% of the cache is deemed necessary for acceptable overall performance. In contrast, P1 is a lower performance state where the frequency is reduced by 50%. Thus, in this state (with the afor mentioned frequency-active cache correlation requirement), only 25% of the cache is required to be activated. Thus, when in the P1 state, the power gates are controlled so that two of the eight ways are active. In this state, the guardband for the minimum applied cache supply can be reduced, relative to the guardband needed for the P0 state.
FIG. 5 shows another embodiment that combines both the inversion and de-activation schemes from FIGS. 1 and 3. They work together to allow for an even greater reduction in the average, minimum required cache supply voltage guardband.
With reference to FIG. 6, one example of a portion of a computer platform 601 (e.g., computing system such as a mobile personal computer, server, PDA, cell phone, or the like) is shown. The represented portion comprises one or more processors 602, power supply 603, interface control functionality 604, memory 606, wireless network interface 608, and an antenna 609. The power supply 603, which may include one or more AC adaptors, batteries, and/or DC-DC voltage regulators, provides DC supplies to the platform components. The processor(s) 602 is coupled to the memory 606 and wireless network interface 608 through the control functionality 604. The processor(s) may comprise any processor including a controller, single core processor and/or multi-core processor. It comprises one or more cache system(s) 605 configured for reduced Vcc guardband in accordance with some of the embodiments disclosed herein.
The control functionality may comprise one or more circuit blocks to perform various interface control functions (e.g., memory control, graphics control, I/O interface control, and the like. These circuits may be implemented on one or more separate chips and/or may be partially or wholly implemented within the processor(s) 602.
The memory 606 comprises one or more memory blocks to provide additional random access memory to the processor(s) 602. It may be implemented with any suitable memory including but not limited to dynamic random access memory, static random access memory, flash memory, or the like. The wireless network interface 608 is coupled to the antenna 609 to wirelessly couple the processor(s) 602 to a wireless network (not shown) such as a wireless local area network or a cellular network. It is shown here as a separate chip but could alternatively be incorporated into the control functionality (e.g., within the processor or in an I/O chip).
The computer platform 601 may implement a variety of different computing devices or other appliances with computing capability. Such devices include but are not limited to laptop computers, notebook computers, personal digital assistant devices (PDAs), cellular phones, audio and/or or video media players, and the like. It could constitute one or more complete computing systems or alternatively, it could constitute one or more components useful within a computing system.
In the preceding description, numerous specific details have been set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques may have not been shown in detail in order not to obscure an understanding of the description. With this in mind, references to “one embodiment”, “an embodiment”, “example embodiment”, “various embodiments”, etc., indicate that the embodiment(s) of the invention so described may include particular features, structures, or characteristics, but not every embodiment necessarily includes the particular features, structures, or characteristics. Further, some embodiments may have some, all, or none of the features described for other embodiments.
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.
The term “PMOS transistor” refers to a P-type metal oxide semiconductor field effect transistor. Likewise, “NMOS transistor” refers to an N-type metal oxide semiconductor field effect transistor. It should be appreciated that whenever the terms: “MOS transistor,” “NMOS transistor,” or “PMOS transistor” are used, unless otherwise expressly indicated or dictated by the nature of their use, they are being used in an exemplary manner. They encompass the different varieties of MOS devices including devices with different Vts, material types, insulator thicknesses, gate(s) configurations, to mention just a few. Moreover, unless specifically referred to as MOS or the like, the term transistor can include other suitable transistor types, e.g., junction-field-effect transistors, bipolar-junction transistors, metal semiconductor FETs, and various types of three dimensional transistors, MOS or otherwise, known today or not yet developed.
The invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. For example, it should be appreciated that the present invention is applicable for use with all types of semiconductor integrated circuit (“IC”) chips. Examples of these IC chips include but are not limited to processors, controllers, chip set components, programmable logic arrays (PLA), memory chips, network chips, and the like.
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 circuit. 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 (26)

What is claimed is:
1. An apparatus, comprising:
a processor with a cache system partitioned into multiple partitions;
a control circuit to de-activate one or more of the partitions in response to the processor being subjected to a lower performance state, wherein the processor clock frequency is lowered and a smaller supply voltage guardband is used in the lower performance state; and
an inversion circuit coupled to the cache system.
2. The apparatus of claim 1, in which the control circuit is coupled to an operating system power management module to de-activate the one or more partitions in response to a P-state transition to a lower P-state.
3. The apparatus of claim 1, in which the processor is a multiple core processor.
4. The apparatus of claim 1, wherein the inversion circuit is to invert data written into and back out from the cache system for at least some active states when the cache system is re-activated.
5. The apparatus of claim 4, in which the inversion circuit is coupled to an inversion control circuit to cause the inversion circuit to invert data written into and out from the cache system on alternating occasions when the cache system is re-activated.
6. The apparatus of claim 5, in which the inversion control circuit is coupled to an operating system power management module to control the inversion circuit in response to one or more predefined C-states.
7. The apparatus of claim 6, in which the inversion control circuit comprises a register to control the inversion circuit, wherein the register has control data that toggles each time the cache is re-activated.
8. A device to reduce a memory power consumption, comprising:
a processor;
a memory system partitioned into multiple partitions coupled to the processor;
a control circuit to de-activate one or more of the partitions in response to the processor being subjected to a lower performance state, wherein the processor clock frequency is lowered and a smaller supply voltage guardband is used in the lower performance state; and
an inversion circuit coupled to the cache system.
9. The device of claim 8, in which the control circuit is coupled to an operating system power management module to de-activate the one or more partitions in response to a P-state transition to a lower P-state.
10. The device of claim 8, in which the processor is a multiple core processor.
11. The device of claim 8, wherein the inversion circuit is to invert data written into and back out from the memory system for at least some active states when the memory system is re-activated.
12. The device of claim 8, in which the inversion circuit is coupled to an inversion control circuit to cause the inversion circuit to invert data written into and out from the memory system on alternating occasions when the memory system is re-activated.
13. The device of claim 12, in which the inversion control circuit is coupled to an operating system power management module to control the inversion circuit in response to one or more predefined C-states.
14. The device of claim 13, in which the inversion control circuit comprises a register to control the inversion circuit, wherein the register has control data that toggles each time the cache is re-activated.
15. A method to reduce power consumption, comprising:
de-activating one or more partitions of a memory system partitioned into multiple partitions in response to a processor being subjected to a lower performance state, wherein the processor clock frequency is lowered and a smaller supply voltage guardband is used in the lower performance state; and
inverting data written into and back out from the memory system.
16. The method of claim 15, in which the de-activating is performed by a control circuit which is coupled to an operating system power management module, and in which the control circuit is to de-activate the one or more partitions in response to a P-state transition to a lower P-state.
17. The method of claim 15, in which the processor is a multiple core processor.
18. The method of claim 15, wherein inverting data written into and back out from the memory system is for at least some active states when the memory system is re-activated.
19. The method of claim 18, wherein the data written into and out from the memory are inverted on alternating occasions when the memory system is re-activated.
20. The method of claim 15, wherein inverting the data is performed for one or more predefined C-states.
21. An apparatus comprising:
means for de-activating one or more partitions of a memory system partitioned into multiple partitions in response to a processor being subjected to a lower performance state, wherein the processor clock frequency is lowered and a smaller supply voltage guardband is used in the lower performance state; and
means for inverting data written into and back out from the memory system.
22. The apparatus of claim 21, in which the means for de-activating are to de-activate the one or more partitions in response to a P state transition to a lower P state.
23. The apparatus of claim 21, in which the processor is a multiple core processor.
24. The apparatus of claim 21, wherein the means for inverting data are to write data into and back out from the memory system for at least some active states when the memory system is re-activated.
25. The apparatus of claim 21, wherein the means for inverting data is to invert data written into and out of the memory on alternating occasions when the memory system is re-activated.
26. The apparatus of claim 21, wherein the means for inverting data is to perform for one or more predefined C states.
US14/666,165 2007-12-26 2015-03-23 Apparatus and method to reduce memory power consumption by inverting data Active US9720484B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/666,165 US9720484B2 (en) 2007-12-26 2015-03-23 Apparatus and method to reduce memory power consumption by inverting data

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/964,551 US8589706B2 (en) 2007-12-26 2007-12-26 Data inversion based approaches for reducing memory power consumption
US14/038,639 US9015507B2 (en) 2007-12-26 2013-09-26 Memory data inversion for reducing power consumption
US14/666,165 US9720484B2 (en) 2007-12-26 2015-03-23 Apparatus and method to reduce memory power consumption by inverting data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/038,639 Division US9015507B2 (en) 2007-12-26 2013-09-26 Memory data inversion for reducing power consumption

Publications (2)

Publication Number Publication Date
US20150192977A1 US20150192977A1 (en) 2015-07-09
US9720484B2 true US9720484B2 (en) 2017-08-01

Family

ID=40800127

Family Applications (3)

Application Number Title Priority Date Filing Date
US11/964,551 Active 2031-09-22 US8589706B2 (en) 2007-12-26 2007-12-26 Data inversion based approaches for reducing memory power consumption
US14/038,639 Active US9015507B2 (en) 2007-12-26 2013-09-26 Memory data inversion for reducing power consumption
US14/666,165 Active US9720484B2 (en) 2007-12-26 2015-03-23 Apparatus and method to reduce memory power consumption by inverting data

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US11/964,551 Active 2031-09-22 US8589706B2 (en) 2007-12-26 2007-12-26 Data inversion based approaches for reducing memory power consumption
US14/038,639 Active US9015507B2 (en) 2007-12-26 2013-09-26 Memory data inversion for reducing power consumption

Country Status (1)

Country Link
US (3) US8589706B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10714163B2 (en) 2019-05-13 2020-07-14 Intel Corporation Methods for mitigating transistor aging to improve timing margins for memory interface signals

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589706B2 (en) 2007-12-26 2013-11-19 Intel Corporation Data inversion based approaches for reducing memory power consumption
US8589629B2 (en) * 2009-03-27 2013-11-19 Advanced Micro Devices, Inc. Method for way allocation and way locking in a cache
US20120166731A1 (en) * 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
US9753858B2 (en) 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
US8984368B2 (en) 2012-10-11 2015-03-17 Advanced Micro Devices, Inc. High reliability memory controller
US9385032B2 (en) * 2013-03-15 2016-07-05 Gsi Technology, Inc. Systems and methods involving data bus inversion memory circuitry, configuration and/or operation
US9384822B2 (en) * 2013-03-15 2016-07-05 Gsi Technology, Inc. Systems and methods involving data bus inversion memory circuitry, configuration and/or operation including data signals grouped into 10 bits and/or other features
JP6244842B2 (en) * 2013-11-14 2017-12-13 富士通株式会社 Manufacturing method of semiconductor integrated circuit
US9645864B2 (en) 2014-02-06 2017-05-09 Intel Corporation Technologies for operating system transitions in multiple-operating-system environments
WO2015161475A1 (en) * 2014-04-24 2015-10-29 Intel IP Corporation Connection identifier for high-efficiency wireless networks
EP3226641B1 (en) * 2014-11-19 2023-08-09 Atlas Global Technologies LLC Method and apparatus for processing ppdu based on bbs identification information in high efficiency wireless lan

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426755A (en) 1991-09-03 1995-06-20 Seiko Epson Corporation Semiconductor device including clock selection circuitry selecting between high and low frequency clock signals for reduced power consumption
US5740118A (en) 1995-11-22 1998-04-14 Fujitsu Limited Semiconductor memory device
US5890005A (en) 1997-06-02 1999-03-30 Nokia Mobile Phones Limited Low power, low interconnect complexity microprocessor and memory interface
US6256252B1 (en) 1999-09-20 2001-07-03 Mitsubishi Denki Kabushiki Kaisha Memory-embedded semiconductor integrated circuit device having low power consumption
US6292868B1 (en) 1996-10-15 2001-09-18 Micron Technology, Inc. System and method for encoding data to reduce power and time required to write the encoded data to a flash memory
US20020103977A1 (en) * 2001-01-30 2002-08-01 Andy Ewoldt Low power consumption cache memory structure
US6490703B1 (en) 1999-09-30 2002-12-03 Intel Corporation Bus power savings using selective inversion in an ECC system
US20030009617A1 (en) 2001-03-15 2003-01-09 Ehud Cohen Method for reducing power consumption through dynamic memory stoarge inversion
US20030065886A1 (en) * 2001-09-29 2003-04-03 Olarig Sompong P. Dynamic cache partitioning
US6587385B2 (en) 1999-06-22 2003-07-01 Mitsubishi Denki Kabushiki Kaisha Clock synchronous semiconductor memory device having a reduced access time
US6657911B2 (en) 2001-10-23 2003-12-02 Hitachi, Ltd. Semiconductor device with low power consumption memory circuit
US6678202B2 (en) 2000-12-22 2004-01-13 Texas Instruments Incorporated Reduced standby power memory array and method
US20040017234A1 (en) 2002-07-26 2004-01-29 Tam Simon M. VCC adaptive dynamically variable frequency clock system for high performance low power microprocessors
US20040128445A1 (en) * 2002-12-31 2004-07-01 Tsafrir Israeli Cache memory and methods thereof
US6768144B2 (en) 2001-12-31 2004-07-27 Texas Instruments Incorporated Method and apparatus for reducing leakage current in an SRAM array
US6889331B2 (en) 2001-08-29 2005-05-03 Analog Devices, Inc. Dynamic voltage control method and apparatus
US6909662B2 (en) 2002-09-13 2005-06-21 Nec Electronic Corporation Data read circuit in a semiconductor device featuring reduced chip area and increased data transfer rate
US7039818B2 (en) 2003-01-22 2006-05-02 Texas Instruments Incorporated Low leakage SRAM scheme
US20060143382A1 (en) * 2004-12-29 2006-06-29 Satish Damaraju Reducing power consumption in a sequential cache
US7127560B2 (en) * 2003-10-14 2006-10-24 International Business Machines Corporation Method of dynamically controlling cache size
US20070016807A1 (en) * 2005-07-12 2007-01-18 Donghyouk Lim Method for reducing memory power consumption
US20070083783A1 (en) * 2005-08-05 2007-04-12 Toru Ishihara Reducing power consumption at a cache
US7280412B2 (en) 2005-11-21 2007-10-09 Samsung Electronics Co., Ltd. Circuits and methods for data bus inversion in a semiconductor memory
US20070271421A1 (en) 2006-05-17 2007-11-22 Nam Sung Kim Reducing aging effect on memory
US20080098244A1 (en) 2006-10-24 2008-04-24 Texas Instruments Incorporated Power controller, a method of operating the power controller and a semiconductor memory system employing the same
US20080109670A1 (en) * 2006-11-06 2008-05-08 Reino Johansson Power control for memories
US20080313482A1 (en) * 2005-12-21 2008-12-18 Nxp B.V. Power Partitioning Memory Banks
US7523324B2 (en) 2003-01-10 2009-04-21 Broadcom Corporation Method and apparatus for improving bus master performance
US20090172283A1 (en) 2007-12-31 2009-07-02 Khellah Muhammad M Reducing minimum operating voltage through hybrid cache design
US8589706B2 (en) 2007-12-26 2013-11-19 Intel Corporation Data inversion based approaches for reducing memory power consumption

Patent Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426755A (en) 1991-09-03 1995-06-20 Seiko Epson Corporation Semiconductor device including clock selection circuitry selecting between high and low frequency clock signals for reduced power consumption
US5740118A (en) 1995-11-22 1998-04-14 Fujitsu Limited Semiconductor memory device
US6292868B1 (en) 1996-10-15 2001-09-18 Micron Technology, Inc. System and method for encoding data to reduce power and time required to write the encoded data to a flash memory
US5890005A (en) 1997-06-02 1999-03-30 Nokia Mobile Phones Limited Low power, low interconnect complexity microprocessor and memory interface
US6587385B2 (en) 1999-06-22 2003-07-01 Mitsubishi Denki Kabushiki Kaisha Clock synchronous semiconductor memory device having a reduced access time
US6256252B1 (en) 1999-09-20 2001-07-03 Mitsubishi Denki Kabushiki Kaisha Memory-embedded semiconductor integrated circuit device having low power consumption
US6732288B2 (en) 1999-09-30 2004-05-04 Intel Corporation Bus power savings using selective inversion in an ECC system
US6490703B1 (en) 1999-09-30 2002-12-03 Intel Corporation Bus power savings using selective inversion in an ECC system
US6678202B2 (en) 2000-12-22 2004-01-13 Texas Instruments Incorporated Reduced standby power memory array and method
US20020103977A1 (en) * 2001-01-30 2002-08-01 Andy Ewoldt Low power consumption cache memory structure
US20030009617A1 (en) 2001-03-15 2003-01-09 Ehud Cohen Method for reducing power consumption through dynamic memory stoarge inversion
US6889331B2 (en) 2001-08-29 2005-05-03 Analog Devices, Inc. Dynamic voltage control method and apparatus
US20030065886A1 (en) * 2001-09-29 2003-04-03 Olarig Sompong P. Dynamic cache partitioning
US6657911B2 (en) 2001-10-23 2003-12-02 Hitachi, Ltd. Semiconductor device with low power consumption memory circuit
US6768144B2 (en) 2001-12-31 2004-07-27 Texas Instruments Incorporated Method and apparatus for reducing leakage current in an SRAM array
US20040017234A1 (en) 2002-07-26 2004-01-29 Tam Simon M. VCC adaptive dynamically variable frequency clock system for high performance low power microprocessors
US6909662B2 (en) 2002-09-13 2005-06-21 Nec Electronic Corporation Data read circuit in a semiconductor device featuring reduced chip area and increased data transfer rate
US20040128445A1 (en) * 2002-12-31 2004-07-01 Tsafrir Israeli Cache memory and methods thereof
US7523324B2 (en) 2003-01-10 2009-04-21 Broadcom Corporation Method and apparatus for improving bus master performance
US7039818B2 (en) 2003-01-22 2006-05-02 Texas Instruments Incorporated Low leakage SRAM scheme
US7127560B2 (en) * 2003-10-14 2006-10-24 International Business Machines Corporation Method of dynamically controlling cache size
US20060143382A1 (en) * 2004-12-29 2006-06-29 Satish Damaraju Reducing power consumption in a sequential cache
US20070016807A1 (en) * 2005-07-12 2007-01-18 Donghyouk Lim Method for reducing memory power consumption
US20070083783A1 (en) * 2005-08-05 2007-04-12 Toru Ishihara Reducing power consumption at a cache
US7280412B2 (en) 2005-11-21 2007-10-09 Samsung Electronics Co., Ltd. Circuits and methods for data bus inversion in a semiconductor memory
US7400541B2 (en) 2005-11-21 2008-07-15 Samsung Electronics Co., Ltd. Circuits and methods for data bus inversion in a semiconductor memory
US20080313482A1 (en) * 2005-12-21 2008-12-18 Nxp B.V. Power Partitioning Memory Banks
US20070271421A1 (en) 2006-05-17 2007-11-22 Nam Sung Kim Reducing aging effect on memory
US20080098244A1 (en) 2006-10-24 2008-04-24 Texas Instruments Incorporated Power controller, a method of operating the power controller and a semiconductor memory system employing the same
US20080109670A1 (en) * 2006-11-06 2008-05-08 Reino Johansson Power control for memories
US8589706B2 (en) 2007-12-26 2013-11-19 Intel Corporation Data inversion based approaches for reducing memory power consumption
US20090172283A1 (en) 2007-12-31 2009-07-02 Khellah Muhammad M Reducing minimum operating voltage through hybrid cache design

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
Final Office Action mailed Feb. 11, 2013 for U.S. Appl. No. 11/964,551.
Non-Final Office Action (Restriction Requirement) mailed Oct. 7, 2010 for U.S. Appl. No. 11/964,551.
Non-Final Office Action mailed Aug. 1, 2014 for U.S. Appl. No. 14/038,639.
Non-Final Office Action mailed Jan. 12, 2012 for U.S. Appl. No. 11/964,551.
Non-Final Office Action mailed Jan. 6, 2011 for U.S. Appl. No. 11/964,551.
Non-Final Office Action mailed Jul. 17, 2012 for U.S. Appl. No. 11/964,551.
Non-Final Office Action mailed Jun. 20, 2011 for U.S. Appl. No. 11/964,551.
Notice of Allowance mailed Dec. 22, 2014 for U.S. Appl. No. 14/038,639.
Notice of Allowance mailed Jun. 21, 2013 for U.S. Appl. No. 11/964,551.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10714163B2 (en) 2019-05-13 2020-07-14 Intel Corporation Methods for mitigating transistor aging to improve timing margins for memory interface signals

Also Published As

Publication number Publication date
US20090172449A1 (en) 2009-07-02
US9015507B2 (en) 2015-04-21
US8589706B2 (en) 2013-11-19
US20140032827A1 (en) 2014-01-30
US20150192977A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
US9720484B2 (en) Apparatus and method to reduce memory power consumption by inverting data
US6597620B1 (en) Storage circuit with data retention during power down
US8933724B2 (en) State transitioning clock gating
Mai et al. Low-power SRAM design using half-swing pulse-mode techniques
US6822481B1 (en) Method and apparatus for clock gating clock trees to reduce power dissipation
US8462541B2 (en) Circuits and methods for reducing minimum supply for register file cells
US8243541B2 (en) Methods and apparatuses for improving reduced power operations in embedded memory arrays
US7904838B2 (en) Circuits with transient isolation operable in a low power state
US7961499B2 (en) Low leakage high performance static random access memory cell using dual-technology transistors
US7345947B2 (en) Memory array leakage reduction circuit and method
JP5791207B2 (en) Data processor having multiple low power modes
US8688901B2 (en) Reconfigurable load-reduced memory buffer
US8488390B2 (en) Circuits and methods for memory
US7649385B2 (en) Logic with state retentive sleep mode
JP5477384B2 (en) Semiconductor integrated circuit device, control method for semiconductor integrated circuit device, and cache device
Irwin et al. Energy issues in multimedia systems
Kunitake et al. Guidelines for mitigating NBTI degradation in on-chip memories
JP2004319999A (en) Semiconductor device, cpu, image processing circuit and electronic apparatus, and driving method of semiconductor device
Kumar et al. A Survey on
Wuu Dynamic and Adaptive Techniques in SRAM Design
JP2010157311A (en) Pseudo-static dynamic bit line circuit and method

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4