US20160011962A1 - Allocating memory usage based on voltage regulator efficiency - Google Patents
Allocating memory usage based on voltage regulator efficiency Download PDFInfo
- Publication number
- US20160011962A1 US20160011962A1 US14/329,902 US201414329902A US2016011962A1 US 20160011962 A1 US20160011962 A1 US 20160011962A1 US 201414329902 A US201414329902 A US 201414329902A US 2016011962 A1 US2016011962 A1 US 2016011962A1
- Authority
- US
- United States
- Prior art keywords
- efficiency value
- voltage regulator
- memory device
- memory
- efficiency
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 6
- 230000001965 increasing effect Effects 0.000 claims description 5
- 230000009977 dual effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
-
- 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
Definitions
- the present invention is related to computing device memory, and more specifically, to allocating memory usage based on voltage regulator efficiency.
- memory allocation in a computing device is controlled by the operating system of the computing device.
- the operating system usually optimizes memory access for best performance by balancing memory access multiple channels provided access to the memory.
- the operating system is usually configured to using basic static policy settings.
- static policy settings may include controlling the speed of memory access (i.e., dual in-line memory module (DIMM) speed) or the voltage level provided for memory access.
- DIMM dual in-line memory module
- These static policy settings are typically predetermined by system software or as a result of customer input.
- the voltage regulators of the memory i.e., DIMM regulators
- factor into the efficiency of the memory complex and should be taken into account when balancing power savings and efficiency in a computing device. For at least the aforementioned reasons, there is a need to improve memory usage management systems and techniques.
- a method may be performed at a computing device including memory devices.
- the method may include receiving a first efficiency value of a first voltage regulator associated with a first memory device of the memory devices.
- the method may also include receiving a second efficiency value of a second voltage regulator associated with a second memory device of the memory devices.
- the method may also include receiving a request to write data to one of the first memory devices and the second memory device.
- the method may also include determining whether to write the data to the first memory device or the second memory device based on the first and second efficiency values. Further, the method may include writing the data to the first memory device or the second memory device based on the determination.
- a method may be performed at a computing device including multiple memory devices that are each associated with a respective voltage regulator among multiple voltage regulators.
- the method may include determining a peak efficiency value range for each voltage regulator.
- the method may also include determining whether an efficiency value of one of the voltage regulators is not within the peak efficiency value range of the associated voltage regulator.
- the method may include reallocating memory usage among the memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range.
- FIG. 1 is a block diagram of an example system for allocating memory amongst multiple memory devices based on the efficiency of multiple voltage regulators associated with the memory devices in accordance with embodiments of the present invention
- FIG. 2 is a flowchart of an example method for writing data to a first memory device or a second memory device based on a first and second efficiency value associated with the first and second memories in accordance with embodiments of the present invention
- FIG. 3 is a flowchart of an example method of receiving a memory access request from an application running on a computing device in accordance with embodiments of the present invention
- FIG. 4 is a flowchart of an example method reallocating memory usage among the memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range in accordance with embodiments of the present invention
- FIG. 5 is a flowchart of an example method of determining a peak efficiency value range by executing a training sequence for each voltage regulator in accordance with embodiments of the present invention
- FIG. 6 is a flowchart of an example method for moving data among the memory devices to balance the efficiency values among the voltage regulators such that efficiency values of the voltage regulators are within the peak efficiency value range associated with each voltage regulator;
- FIG. 7 is a graph depicting an example of voltage regulator efficiency based on current.
- computing device should be broadly construed. It can include any type of computing device, for example, a conventional computer, a server, notebook computer, tablet computer, or the like.
- a computing device can also include mobile computing device, for example, a smartphone, a mobile telephone, a personal digital assistant, or the like.
- FIG. 1 illustrates a system for allocating memory among multiple memory devices based on the efficiency of voltage regulators associated with the memory devices in accordance with embodiments of the present invention.
- the computing device may include a memory controller 100 configured to control access to and communicate with memory devices 102 - 108 .
- the memory controller 100 may be a separate chip on a motherboard of the computing device.
- the memory controller 100 may include hardware, software, firmware, or combinations thereof.
- the memory controller 100 may be integrated within a processor of the computing device to reduce memory latency issues with in the computing device.
- the memory devices 102 - 108 may each include a DIMM.
- Another example memory device includes, but is not limited to a non-volatile RAM DIMMS.
- the memory controller 100 may access and communicate with memory devices 102 - 108 via double data rate (DDR) channels.
- DDR double data rate
- FIG. 1 only demonstrates a memory controller in communication with four memory devices, it should be understood to those of skill in the art that the memory controller may be in communication with any number of memory devices within a computing device.
- memory controller 100 may also be configured to control and/or communicate with voltage regulators 110 and 112 .
- FIG. 1 shows a memory controller in communication with two voltage regulators, it should be understood to those of skill in the art that the memory controller may control and/or communicate with any number of voltage regulators.
- each memory device 102 - 108 may be associated with one of the voltage regulators 110 - 112 as illustrated in FIG. 1 .
- An example of a voltage regulator may include, but is not limited to, a switching voltage regulator or a linear voltage regulator.
- FIG. 1 also illustrates that voltage regulators 110 - 112 are configured to regulate the voltage (Vout) applied to memory devices 102 - 108 .
- voltage regulators operate within an efficiency range depending upon the type of voltage regulator.
- one of voltage regulators 110 and 112 may be configured to operate within an efficiency range with values of 55%-95%.
- the lower part of the range indicates the voltage regulator is operating at low efficiency and the upper part of the range indicates the voltage regulator is operating at a high efficiency.
- the efficiency range of a voltage regulator may comprise a variety of types of value ranges depending upon the type of voltage regulator and should not be limited to the provided example.
- the efficiency range of a voltage regulator may be expressed as the power loss.
- operating power loss in a single regulator may range between tens of milliwatts (mW) and several watts (W).
- FIG. 2 illustrates a flowchart of an example method for writing data to a first memory device or a second memory device based on a first and second efficiency value associated with the first and second memories.
- the method includes receiving 200 , at a computing device one or more processors and memory devices, a first efficiency value of a first voltage regulator associated with a first memory device of the memory devices.
- memory controller 100 may receive an efficiency value of voltage regulator 110 associated with memory device 102 .
- receiving 200 a first efficiency value may include receiving the first efficiency value from the first voltage regulator.
- memory controller 100 may receive the efficiency value from voltage regulator 110 .
- receiving 200 a first efficiency value may include receiving the first efficiency value from a third memory device of the memory devices.
- memory controller 110 may receive the efficiency value associated with voltage regulator 100 from memory device 104 .
- the method of FIG. 2 includes receiving 202 a second efficiency value of a second voltage regulator associated with a second memory device of the memory devices.
- memory controller 100 may receive an efficiency value of voltage regulator 112 associated with memory device 106 .
- receiving 200 a second efficiency value may include receiving the second efficiency value from the second voltage regulator.
- memory controller 100 may receive the efficiency value associated with voltage regulator 112 from voltage regulator 112 .
- receiving 200 a second efficiency value may include receiving the second efficiency value from a third memory device of the memory devices.
- memory controller 100 may receive the efficiency value associated with voltage regulator 112 from memory device 104 .
- the first and second efficiency values may comprise a percentage value.
- the efficiency value of voltage regulator 110 may be 85%, and the efficiency value of voltage regulator 112 may be 91%.
- the first and second efficiency values may include a power loss value.
- the efficiency of voltage regulator 110 may be between 50% and 97% with power loss ranging between 10 mW and 10 W.
- FIG. 2 also illustrates the method comprises receiving 204 a request to write data to one of the first memory device and the second memory device.
- receiving 204 may include, as illustrated in FIG. 3 , receiving 300 a memory access request from an application running on the computing device.
- memory controller 100 may receive a request from an application running on the computing device to write data to one of memory devices 102 - 108 .
- the method also comprises determining 206 whether to write the data to the first memory device or the second memory device based on the first and second efficiency values. For example, memory controller 100 determines whether to write data to one of memory device 102 and 106 based on the first efficiency value of voltage regulator 110 and the second efficiency value of voltage regulator 112 , respectively.
- determining 206 may include comparing 302 the first efficiency value to the second efficiency value.
- the comparison 302 may indicate which of the first or second voltage regulators is operating most efficiently.
- the memory controller 100 may compare the efficiency value of voltage regulator 110 to the efficiency value of voltage regulator 112 .
- the comparison may indicate that voltage regulator 112 is operating more efficiently, if, for example, voltage regulator 112 is operating at 90% efficiency versus voltage regulator 110 operating at 85% efficiency.
- determining 206 may include selecting 304 the first memory device or the second memory device based on the comparison.
- selecting 304 includes selecting which of the first voltage regulator and second voltage regulator that is operating more efficiently.
- memory controller 100 may select voltage regulator 112 that is operating more efficiently.
- the method also comprises writing 208 the data to the first memory device or the second memory device based on the determination.
- memory controller 100 may write data from an application running on the computing device to memory 106 after determining voltage regulator 112 was operating more efficiently than voltage regulator 110 .
- the computing device comprising memory controller 100 is able to dynamically manage energy resources when balancing power savings and efficiency in the computing device.
- FIG. 4 illustrates a flowchart of an example method reallocating memory usage among memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range.
- the method includes determining 400 a peak efficiency voltage range for each voltage regulator among multiple voltage regulators.
- the method of FIG. 4 includes receiving an efficiency value from each voltage regulator.
- memory controller 100 may receive the efficiency values from voltage regulators 110 and 112 .
- the method of FIG. 4 may include retrieving an efficiency value for each of the voltage regulators from one or more of the memory devices.
- memory controller 100 may retrieve efficiency values for voltage regulators 110 and 112 from memory device 104 .
- the efficiency values may comprise a percentage value.
- the efficiency value of voltage regulator 110 may be 80%, and the efficiency value of voltage regulator 112 may be 90%.
- the efficiency values may include a power loss value.
- determining 400 may include retrieving the peak efficiency value range for each voltage regulator from one or more memory devices.
- Voltage regulators may operate within an efficiency range depending upon the type of voltage regulator. For example, voltage regulators 110 and 112 may be configured to operate within an efficiency range with values of 55%-95%. However, voltage regulators may be associated with a peak efficiency value range that indicates at which efficiency levels the voltage regulator is operating in an optimum state. For example, voltage regulator 110 may be associated with a peak efficiency value range of 90-92%. Otherwise stated, voltage regulator 110 is, in this example, operating at an optimum state when operating at efficiency values of 90-92%. Thus, voltage regulators operating within peak efficiency value ranges may aide in balancing power savings and efficiency in a computing device.
- determining 400 may include retrieving the peak efficiency value range for each voltage regulator from at least one of the memory devices. For example, memory controller 100 may retrieve the peak efficiency value for voltage regulators 110 and 112 from memory device 104 . In embodiments, determining 400 may include executing a training sequence 500 for each voltage regulator as shown in FIG. 5 .
- the training sequence 500 of FIG. 5 begins by selecting 502 a voltage regulator to determine the peak efficiency value range.
- memory controller may select voltage regulator 112 to execute the training sequence 500 to obtain the peak efficiency value range of voltage regulator 112 .
- the training sequence 500 may include increasing 504 activity on a channel associated with a memory device and the selected voltage regulator.
- memory controller 100 may increase the activity on the DDR channel between memory controller 100 and memory device 106 .
- Activity for example, may be the rate at which a CPU DDR controller accesses its local memory. An application requiring more memory may cause more activity on the memory bus.
- the training sequence 500 may include measuring 506 an input power, output power, and temperature output for the voltage regulator.
- memory controller 100 may measure the input power, output power, and temperature output for the voltage regulator 112 which is associated with memory device 106 .
- the training sequence 500 may include determining 508 the efficiency value based on the measured input power, output power, and temperature output for the voltage regulator. For example, memory controller 100 may determine the efficiency value based on the measured input power, output power, and temperature output for voltage regulator 112 using voltage regulator efficiency value calculations known in the art. In order to determine the peak efficiency value range of a voltage regulator, the training sequence 500 may iteratively 510 increase activity on a channel by determining if all activity levels of a channel have been measured. If all activity levels have not been measured, the training sequence 500 may be repeated until all activity levels have been measured. For example, memory controller 100 may determine if all activity levels of the DDR channel between memory controller 100 and memory device 106 have been measured. If not, the memory controller 100 may run through the steps 504 - 510 until all activity levels have been measured.
- the training sequence 500 may select 512 the peak efficiency value range from among the efficiency values obtained during the training sequence. For example, memory controller 100 may select a peak efficiency value range of 90-92% for voltage regulator 112 based on the results of the training sequence 500 .
- the method also comprises determining 402 whether an efficiency value of one of the voltage regulators is not within the peak efficiency value range of the associated voltage regulator.
- determining 402 may include comparing 600 the efficiency value of at least one voltage regulator to the peak efficiency value of one or more voltage regulators as shown in FIG. 6 .
- memory controller 100 may compare the efficiency value of voltage regulator 112 to the peak efficiency value associated with voltage regulator 112 .
- the comparison 600 may indicate that the efficiency value is outside of the peak efficiency value range.
- voltage regulator 112 may be associated with a peak efficiency value range of 90-92% and may be operating at an efficiency value of 75%.
- the comparison of efficiency value of voltage regulator 112 to the associated peak efficiency value of voltage regulator 112 may indicate the voltage regulator 112 is operating outside of the peak efficiency value range associated with voltage regulator 112 .
- FIG. 6 also illustrates that determining 402 may also comprise determining 602 whether the voltage regulator or regulators are not within with the peak efficiency value range based on the comparison.
- memory controller 100 may determine voltage regulator 112 is operating outside its associated peak efficiency value range based on the comparison of is operating efficiency value to its associated peak efficiency value range.
- the method may include reallocating 404 memory usage among the memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range.
- reallocating 404 may include moving 604 data among the memory devices to balance the efficiency values among the voltage regulators such that the efficiency values of the voltage regulators are within the peak efficiency value range associated with each voltage regulator.
- memory controller 100 may move data from memory device 102 associated with voltage regulator 110 to memory device 106 associated with voltage regulator 112 to balance efficiency values of voltage regulators 110 and 112 .
- voltage regulator 112 may operate or possess an efficiency value of 90%
- voltage regulator 110 may operate or possess an efficiency value of 92%.
- FIG. 7 illustrates a graph depicting an example of voltage regulator efficiency based on current.
- the graph shows that the efficiency of the voltage regulator varies depending on current.
- memory usage may be reallocated depending on whether actual current is greater than the peak efficiency current or less than the peak efficiency current.
- point 700 on the curve indicates an efficiency at one point when the actual current is less than the peak efficiency current
- point 702 on the curve indicates an efficiency at one point when the actual current is greater than the peak efficiency current.
- the load on a memory device may be increased when it is determined that the actual current corresponds to point 700 , because more efficiency can be obtained by increased current.
- the load on a memory device may be decreased when it is determined that the actual current corresponds to point 702 , because more efficiency can be obtained by decreased current.
- the present invention balances power savings and efficiency of a computing device by solutions by configuring an operating system of a computing device to be aware and control voltage regulator efficiencies within a memory complex of the computing device.
- the various techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both.
- the methods and apparatus of the disclosed embodiments, or certain aspects or portions thereof may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter.
- the computer will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device and at least one output device.
- One or more programs may be implemented in a high level procedural or object oriented programming language to communicate with a computer system.
- the program(s) can be implemented in assembly or machine language, if desired.
- the language may be a compiled or interpreted language, and combined with hardware implementations.
- the described methods and apparatus may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the presently disclosed subject matter.
- a machine such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like
- PLD programmable logic device
- client computer a client computer
- video recorder or the like
- the program code When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the processing of the presently disclosed subject matter.
Abstract
Description
- The present invention is related to computing device memory, and more specifically, to allocating memory usage based on voltage regulator efficiency.
- Typically, memory allocation in a computing device is controlled by the operating system of the computing device. The operating system usually optimizes memory access for best performance by balancing memory access multiple channels provided access to the memory. When power savings and efficiency in a computing device are desired, the operating system is usually configured to using basic static policy settings. Such static policy settings may include controlling the speed of memory access (i.e., dual in-line memory module (DIMM) speed) or the voltage level provided for memory access. These static policy settings are typically predetermined by system software or as a result of customer input. However, the voltage regulators of the memory (i.e., DIMM regulators) factor into the efficiency of the memory complex and should be taken into account when balancing power savings and efficiency in a computing device. For at least the aforementioned reasons, there is a need to improve memory usage management systems and techniques.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
- Disclosed herein are systems and methods for allocating memory usage based on voltage regulator efficiency. According to an aspect, a method may be performed at a computing device including memory devices. The method may include receiving a first efficiency value of a first voltage regulator associated with a first memory device of the memory devices. The method may also include receiving a second efficiency value of a second voltage regulator associated with a second memory device of the memory devices. The method may also include receiving a request to write data to one of the first memory devices and the second memory device. The method may also include determining whether to write the data to the first memory device or the second memory device based on the first and second efficiency values. Further, the method may include writing the data to the first memory device or the second memory device based on the determination.
- According to another aspect, a method may be performed at a computing device including multiple memory devices that are each associated with a respective voltage regulator among multiple voltage regulators. The method may include determining a peak efficiency value range for each voltage regulator. The method may also include determining whether an efficiency value of one of the voltage regulators is not within the peak efficiency value range of the associated voltage regulator. Further, the method may include reallocating memory usage among the memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range.
- The foregoing summary, as well as the following detailed description of various embodiments, is better understood when read in conjunction with the appended drawings. For the purposes of illustration, there is shown in the drawings exemplary embodiments; however, the presently disclosed subject matter is not limited to the specific methods and instrumentalities disclosed. In the drawings:
-
FIG. 1 is a block diagram of an example system for allocating memory amongst multiple memory devices based on the efficiency of multiple voltage regulators associated with the memory devices in accordance with embodiments of the present invention; -
FIG. 2 is a flowchart of an example method for writing data to a first memory device or a second memory device based on a first and second efficiency value associated with the first and second memories in accordance with embodiments of the present invention; -
FIG. 3 is a flowchart of an example method of receiving a memory access request from an application running on a computing device in accordance with embodiments of the present invention; -
FIG. 4 is a flowchart of an example method reallocating memory usage among the memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range in accordance with embodiments of the present invention; -
FIG. 5 is a flowchart of an example method of determining a peak efficiency value range by executing a training sequence for each voltage regulator in accordance with embodiments of the present invention; -
FIG. 6 is a flowchart of an example method for moving data among the memory devices to balance the efficiency values among the voltage regulators such that efficiency values of the voltage regulators are within the peak efficiency value range associated with each voltage regulator; and -
FIG. 7 is a graph depicting an example of voltage regulator efficiency based on current. - The presently disclosed subject matter is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or elements similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the term “step” may be used herein to connote different aspects of methods employed, the term should not be interpreted as implying any particular order among or between various steps herein disclosed unless and except when the order of individual steps is explicitly described.
- As referred to herein, the term “computing device” should be broadly construed. It can include any type of computing device, for example, a conventional computer, a server, notebook computer, tablet computer, or the like. A computing device can also include mobile computing device, for example, a smartphone, a mobile telephone, a personal digital assistant, or the like.
- The present invention is now described in more detail. For example,
FIG. 1 illustrates a system for allocating memory among multiple memory devices based on the efficiency of voltage regulators associated with the memory devices in accordance with embodiments of the present invention. Referring toFIG. 1 , the computing device may include amemory controller 100 configured to control access to and communicate with memory devices 102-108. For example, thememory controller 100 may be a separate chip on a motherboard of the computing device. In another example, thememory controller 100 may include hardware, software, firmware, or combinations thereof. In another example, thememory controller 100 may be integrated within a processor of the computing device to reduce memory latency issues with in the computing device. In another example, the memory devices 102-108 may each include a DIMM. Another example memory device includes, but is not limited to a non-volatile RAM DIMMS. As shown inFIG. 1 , thememory controller 100 may access and communicate with memory devices 102-108 via double data rate (DDR) channels. Even thoughFIG. 1 only demonstrates a memory controller in communication with four memory devices, it should be understood to those of skill in the art that the memory controller may be in communication with any number of memory devices within a computing device. - As shown in
FIG. 1 ,memory controller 100 may also be configured to control and/or communicate withvoltage regulators FIG. 1 shows a memory controller in communication with two voltage regulators, it should be understood to those of skill in the art that the memory controller may control and/or communicate with any number of voltage regulators. In accordance with embodiments of the present invention, each memory device 102-108 may be associated with one of the voltage regulators 110-112 as illustrated inFIG. 1 . An example of a voltage regulator may include, but is not limited to, a switching voltage regulator or a linear voltage regulator.FIG. 1 also illustrates that voltage regulators 110-112 are configured to regulate the voltage (Vout) applied to memory devices 102-108. - Typically, voltage regulators operate within an efficiency range depending upon the type of voltage regulator. For example, one of
voltage regulators - In accordance with embodiments of the present invention,
FIG. 2 illustrates a flowchart of an example method for writing data to a first memory device or a second memory device based on a first and second efficiency value associated with the first and second memories. Referring toFIG. 2 , the method includes receiving 200, at a computing device one or more processors and memory devices, a first efficiency value of a first voltage regulator associated with a first memory device of the memory devices. For example,memory controller 100 may receive an efficiency value ofvoltage regulator 110 associated withmemory device 102. In embodiments, receiving 200 a first efficiency value may include receiving the first efficiency value from the first voltage regulator. For example,memory controller 100 may receive the efficiency value fromvoltage regulator 110. In embodiments, receiving 200 a first efficiency value may include receiving the first efficiency value from a third memory device of the memory devices. For example,memory controller 110 may receive the efficiency value associated withvoltage regulator 100 frommemory device 104. - The method of
FIG. 2 includes receiving 202 a second efficiency value of a second voltage regulator associated with a second memory device of the memory devices. For example,memory controller 100 may receive an efficiency value ofvoltage regulator 112 associated withmemory device 106. In embodiments, receiving 200 a second efficiency value may include receiving the second efficiency value from the second voltage regulator. For example,memory controller 100 may receive the efficiency value associated withvoltage regulator 112 fromvoltage regulator 112. In embodiments, receiving 200 a second efficiency value may include receiving the second efficiency value from a third memory device of the memory devices. For example,memory controller 100 may receive the efficiency value associated withvoltage regulator 112 frommemory device 104. In embodiments, the first and second efficiency values may comprise a percentage value. For example, the efficiency value ofvoltage regulator 110 may be 85%, and the efficiency value ofvoltage regulator 112 may be 91%. In another embodiment, the first and second efficiency values may include a power loss value. For example, the efficiency ofvoltage regulator 110 may be between 50% and 97% with power loss ranging between 10 mW and 10 W. -
FIG. 2 also illustrates the method comprises receiving 204 a request to write data to one of the first memory device and the second memory device. In embodiments, receiving 204 may include, as illustrated inFIG. 3 , receiving 300 a memory access request from an application running on the computing device. For example,memory controller 100 may receive a request from an application running on the computing device to write data to one of memory devices 102-108. Returning back toFIG. 2 , the method also comprises determining 206 whether to write the data to the first memory device or the second memory device based on the first and second efficiency values. For example,memory controller 100 determines whether to write data to one ofmemory device voltage regulator 110 and the second efficiency value ofvoltage regulator 112, respectively. - As illustrated in
FIG. 3 , determining 206 may include comparing 302 the first efficiency value to the second efficiency value. In accordance with embodiments of the present invention, thecomparison 302 may indicate which of the first or second voltage regulators is operating most efficiently. For example, thememory controller 100 may compare the efficiency value ofvoltage regulator 110 to the efficiency value ofvoltage regulator 112. In this example, the comparison may indicate thatvoltage regulator 112 is operating more efficiently, if, for example,voltage regulator 112 is operating at 90% efficiency versusvoltage regulator 110 operating at 85% efficiency. - In embodiments, also illustrated in
FIG. 3 , determining 206 may include selecting 304 the first memory device or the second memory device based on the comparison. In accordance with embodiments of the present invention, selecting 304 includes selecting which of the first voltage regulator and second voltage regulator that is operating more efficiently. Continuing the above example,memory controller 100 may selectvoltage regulator 112 that is operating more efficiently. - Returning to
FIG. 2 , the method also comprises writing 208 the data to the first memory device or the second memory device based on the determination. Continuing the above example,memory controller 100 may write data from an application running on the computing device tomemory 106 after determiningvoltage regulator 112 was operating more efficiently thanvoltage regulator 110. Thus, the computing device comprisingmemory controller 100 is able to dynamically manage energy resources when balancing power savings and efficiency in the computing device. - In accordance with embodiments of the present invention,
FIG. 4 illustrates a flowchart of an example method reallocating memory usage among memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range. - Referring to
FIG. 4 , the method includes determining 400 a peak efficiency voltage range for each voltage regulator among multiple voltage regulators. In embodiments, the method ofFIG. 4 includes receiving an efficiency value from each voltage regulator. For example,memory controller 100 may receive the efficiency values fromvoltage regulators FIG. 4 may include retrieving an efficiency value for each of the voltage regulators from one or more of the memory devices. For example,memory controller 100 may retrieve efficiency values forvoltage regulators memory device 104. In embodiments, the efficiency values may comprise a percentage value. For example, the efficiency value ofvoltage regulator 110 may be 80%, and the efficiency value ofvoltage regulator 112 may be 90%. In another embodiment, the efficiency values may include a power loss value. - In embodiments, determining 400 may include retrieving the peak efficiency value range for each voltage regulator from one or more memory devices. Voltage regulators may operate within an efficiency range depending upon the type of voltage regulator. For example,
voltage regulators voltage regulator 110 may be associated with a peak efficiency value range of 90-92%. Otherwise stated,voltage regulator 110 is, in this example, operating at an optimum state when operating at efficiency values of 90-92%. Thus, voltage regulators operating within peak efficiency value ranges may aide in balancing power savings and efficiency in a computing device. - In embodiments, determining 400 may include retrieving the peak efficiency value range for each voltage regulator from at least one of the memory devices. For example,
memory controller 100 may retrieve the peak efficiency value forvoltage regulators memory device 104. In embodiments, determining 400 may include executing atraining sequence 500 for each voltage regulator as shown inFIG. 5 . - The
training sequence 500 ofFIG. 5 begins by selecting 502 a voltage regulator to determine the peak efficiency value range. For example, memory controller may selectvoltage regulator 112 to execute thetraining sequence 500 to obtain the peak efficiency value range ofvoltage regulator 112. Thetraining sequence 500 may include increasing 504 activity on a channel associated with a memory device and the selected voltage regulator. For example,memory controller 100 may increase the activity on the DDR channel betweenmemory controller 100 andmemory device 106. Activity, for example, may be the rate at which a CPU DDR controller accesses its local memory. An application requiring more memory may cause more activity on the memory bus. - Once the activity on a channel has been increased, the
training sequence 500 may include measuring 506 an input power, output power, and temperature output for the voltage regulator. For example,memory controller 100 may measure the input power, output power, and temperature output for thevoltage regulator 112 which is associated withmemory device 106. - After measuring, the
training sequence 500 may include determining 508 the efficiency value based on the measured input power, output power, and temperature output for the voltage regulator. For example,memory controller 100 may determine the efficiency value based on the measured input power, output power, and temperature output forvoltage regulator 112 using voltage regulator efficiency value calculations known in the art. In order to determine the peak efficiency value range of a voltage regulator, thetraining sequence 500 may iteratively 510 increase activity on a channel by determining if all activity levels of a channel have been measured. If all activity levels have not been measured, thetraining sequence 500 may be repeated until all activity levels have been measured. For example,memory controller 100 may determine if all activity levels of the DDR channel betweenmemory controller 100 andmemory device 106 have been measured. If not, thememory controller 100 may run through the steps 504-510 until all activity levels have been measured. - Once all activity levels have been measured, the
training sequence 500 may select 512 the peak efficiency value range from among the efficiency values obtained during the training sequence. For example,memory controller 100 may select a peak efficiency value range of 90-92% forvoltage regulator 112 based on the results of thetraining sequence 500. - Returning to
FIG. 4 , the method also comprises determining 402 whether an efficiency value of one of the voltage regulators is not within the peak efficiency value range of the associated voltage regulator. In accordance with embodiments of the present invention, determining 402 may include comparing 600 the efficiency value of at least one voltage regulator to the peak efficiency value of one or more voltage regulators as shown inFIG. 6 . For example,memory controller 100 may compare the efficiency value ofvoltage regulator 112 to the peak efficiency value associated withvoltage regulator 112. In embodiments, thecomparison 600 may indicate that the efficiency value is outside of the peak efficiency value range. Continuing the previous example,voltage regulator 112 may be associated with a peak efficiency value range of 90-92% and may be operating at an efficiency value of 75%. In this example, the comparison of efficiency value ofvoltage regulator 112 to the associated peak efficiency value ofvoltage regulator 112 may indicate thevoltage regulator 112 is operating outside of the peak efficiency value range associated withvoltage regulator 112. -
FIG. 6 also illustrates that determining 402 may also comprise determining 602 whether the voltage regulator or regulators are not within with the peak efficiency value range based on the comparison. Continuing the above example,memory controller 100 may determinevoltage regulator 112 is operating outside its associated peak efficiency value range based on the comparison of is operating efficiency value to its associated peak efficiency value range. Returning toFIG. 4 , the method may include reallocating 404 memory usage among the memory devices in response to determining that the efficiency value of one of the voltage regulators is not within the peak efficiency value range. In embodiments, reallocating 404 may include moving 604 data among the memory devices to balance the efficiency values among the voltage regulators such that the efficiency values of the voltage regulators are within the peak efficiency value range associated with each voltage regulator. Continuing the above example,memory controller 100 may move data frommemory device 102 associated withvoltage regulator 110 tomemory device 106 associated withvoltage regulator 112 to balance efficiency values ofvoltage regulators memory controller 100 reallocates memory amongst the memory devices,voltage regulator 112 may operate or possess an efficiency value of 90%, andvoltage regulator 110 may operate or possess an efficiency value of 92%. -
FIG. 7 illustrates a graph depicting an example of voltage regulator efficiency based on current. Referring toFIG. 7 , the graph shows that the efficiency of the voltage regulator varies depending on current. The peak efficiency at the peak of the curve in this example. In accordance with embodiments, memory usage may be reallocated depending on whether actual current is greater than the peak efficiency current or less than the peak efficiency current. For example,point 700 on the curve indicates an efficiency at one point when the actual current is less than the peak efficiency current, andpoint 702 on the curve indicates an efficiency at one point when the actual current is greater than the peak efficiency current. In an example of reallocating memory, the load on a memory device may be increased when it is determined that the actual current corresponds to point 700, because more efficiency can be obtained by increased current. Conversely, the load on a memory device may be decreased when it is determined that the actual current corresponds to point 702, because more efficiency can be obtained by decreased current. - Therefore, the present invention balances power savings and efficiency of a computing device by solutions by configuring an operating system of a computing device to be aware and control voltage regulator efficiencies within a memory complex of the computing device.
- The various techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the disclosed embodiments, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter. In the case of program code execution on programmable computers, the computer will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device and at least one output device. One or more programs may be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations.
- The described methods and apparatus may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the presently disclosed subject matter. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the processing of the presently disclosed subject matter.
- Features from one embodiment or aspect may be combined with features from any other embodiment or aspect in any appropriate combination. For example, any individual or collective features of method aspects or embodiments may be applied to apparatus, system, product, or component aspects of embodiments and vice versa.
- While the embodiments have been described in connection with the various embodiments of the various figures, it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function without deviating therefrom. Therefore, the disclosed embodiments should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/329,902 US9367442B2 (en) | 2014-07-12 | 2014-07-12 | Allocating memory usage based on voltage regulator efficiency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/329,902 US9367442B2 (en) | 2014-07-12 | 2014-07-12 | Allocating memory usage based on voltage regulator efficiency |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160011962A1 true US20160011962A1 (en) | 2016-01-14 |
US9367442B2 US9367442B2 (en) | 2016-06-14 |
Family
ID=55067678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/329,902 Active 2034-09-12 US9367442B2 (en) | 2014-07-12 | 2014-07-12 | Allocating memory usage based on voltage regulator efficiency |
Country Status (1)
Country | Link |
---|---|
US (1) | US9367442B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180247388A1 (en) * | 2017-02-24 | 2018-08-30 | Advanced Micro Devices, Inc. | Delta color compression application to video |
US20200072884A1 (en) * | 2018-08-31 | 2020-03-05 | Micron Technology, Inc. | Capacitive voltage divider for monitoring multiple memory components |
US20220334628A1 (en) * | 2019-05-16 | 2022-10-20 | Samsung Electronics Co., Ltd. | Electronic device for performing power management and method for operating the same |
US20230025355A1 (en) * | 2019-01-30 | 2023-01-26 | Micron Technology, Inc. | Power management component for memory sub-system voltage regulation |
US11960349B2 (en) * | 2022-10-07 | 2024-04-16 | Micron Technology, Inc. | Power management component for memory sub-system voltage regulation |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050067902A1 (en) * | 2003-09-26 | 2005-03-31 | Bemat Mohamed A. | Power management in a system having a plurality of power supplies |
US20060179333A1 (en) * | 2005-02-09 | 2006-08-10 | International Business Machines Corporation | Power management via DIMM read operation limiter |
US20070106860A1 (en) * | 2005-11-10 | 2007-05-10 | International Business Machines Corporation | Redistribution of memory to reduce computer system power consumption |
US20080040562A1 (en) * | 2006-08-09 | 2008-02-14 | International Business Machines Corporation | Systems and methods for providing distributed autonomous power management in a memory system |
US20080183959A1 (en) * | 2007-01-29 | 2008-07-31 | Pelley Perry H | Memory system having global buffered control for memory modules |
US20080259646A1 (en) * | 2007-04-20 | 2008-10-23 | Intersil Americas Inc. | Dynamic converter topology |
US20080294916A1 (en) * | 2007-05-04 | 2008-11-27 | Intersil Americas Inc. | Dynamic voltage converter topology switching circuit, system, and method for improving light load efficiency |
US7587559B2 (en) * | 2006-08-10 | 2009-09-08 | International Business Machines Corporation | Systems and methods for memory module power management |
US20100002495A1 (en) * | 2008-07-03 | 2010-01-07 | International Business Machines Corporation | Column Selectable Self-Biasing Virtual Voltages for SRAM Write Assist |
US7752468B2 (en) * | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US20100191991A1 (en) * | 2009-01-29 | 2010-07-29 | Dell Products, Lp | System and Method for Using an On-DIMM Remote Sense for Performance and Power Optimization |
US7895455B2 (en) * | 2007-06-25 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Dynamic converter control for efficient operation |
US20110252180A1 (en) * | 2010-04-13 | 2011-10-13 | Apple Inc. | Memory controller mapping on-the-fly |
US20120098334A1 (en) * | 2009-06-23 | 2012-04-26 | Telefonaktiebolaget L M Ericsson (Publ) | Intermediate Bus Architecture Power Supply Controller |
US20130028090A1 (en) * | 2010-05-12 | 2013-01-31 | Panasonic Corporation | Router and chip circuit |
US20130046967A1 (en) * | 2011-08-17 | 2013-02-21 | Broadcom Corporation | Proactive Power Management Using a Power Management Unit |
US8412972B2 (en) * | 2010-06-28 | 2013-04-02 | Intel Corporation | Method and apparatus for reducing power consumption for memories |
US20130093251A1 (en) * | 2011-10-14 | 2013-04-18 | Fujitsu Limited | Regulator device |
US20130119962A1 (en) * | 2010-07-16 | 2013-05-16 | Telefonaktiebolaget L M Ericsson (Publ) | Intermediate Bus Architecture Power Supply Controller |
US20130246715A1 (en) * | 2010-11-16 | 2013-09-19 | Fujitsu Limited | Communication apparatus, load distribution method, and recording medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151877A1 (en) | 2010-10-19 | 2013-06-13 | Rachid M. Kadri | Systems and methods for predictive control of power efficiency |
US8996822B2 (en) * | 2011-07-29 | 2015-03-31 | Micron Technology, Inc. | Multi-device memory serial architecture |
-
2014
- 2014-07-12 US US14/329,902 patent/US9367442B2/en active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050067902A1 (en) * | 2003-09-26 | 2005-03-31 | Bemat Mohamed A. | Power management in a system having a plurality of power supplies |
US8055922B2 (en) * | 2005-02-09 | 2011-11-08 | International Business Machines Corporation | Power management via DIMM read operation limiter |
US20060179333A1 (en) * | 2005-02-09 | 2006-08-10 | International Business Machines Corporation | Power management via DIMM read operation limiter |
US20070106860A1 (en) * | 2005-11-10 | 2007-05-10 | International Business Machines Corporation | Redistribution of memory to reduce computer system power consumption |
US7752468B2 (en) * | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US20080040562A1 (en) * | 2006-08-09 | 2008-02-14 | International Business Machines Corporation | Systems and methods for providing distributed autonomous power management in a memory system |
US7587559B2 (en) * | 2006-08-10 | 2009-09-08 | International Business Machines Corporation | Systems and methods for memory module power management |
US20080183959A1 (en) * | 2007-01-29 | 2008-07-31 | Pelley Perry H | Memory system having global buffered control for memory modules |
US20080259646A1 (en) * | 2007-04-20 | 2008-10-23 | Intersil Americas Inc. | Dynamic converter topology |
US20080294916A1 (en) * | 2007-05-04 | 2008-11-27 | Intersil Americas Inc. | Dynamic voltage converter topology switching circuit, system, and method for improving light load efficiency |
US7895455B2 (en) * | 2007-06-25 | 2011-02-22 | Hewlett-Packard Development Company, L.P. | Dynamic converter control for efficient operation |
US20100002495A1 (en) * | 2008-07-03 | 2010-01-07 | International Business Machines Corporation | Column Selectable Self-Biasing Virtual Voltages for SRAM Write Assist |
US20100191991A1 (en) * | 2009-01-29 | 2010-07-29 | Dell Products, Lp | System and Method for Using an On-DIMM Remote Sense for Performance and Power Optimization |
US20120098334A1 (en) * | 2009-06-23 | 2012-04-26 | Telefonaktiebolaget L M Ericsson (Publ) | Intermediate Bus Architecture Power Supply Controller |
US20110252180A1 (en) * | 2010-04-13 | 2011-10-13 | Apple Inc. | Memory controller mapping on-the-fly |
US20130028090A1 (en) * | 2010-05-12 | 2013-01-31 | Panasonic Corporation | Router and chip circuit |
US8412972B2 (en) * | 2010-06-28 | 2013-04-02 | Intel Corporation | Method and apparatus for reducing power consumption for memories |
US20130119962A1 (en) * | 2010-07-16 | 2013-05-16 | Telefonaktiebolaget L M Ericsson (Publ) | Intermediate Bus Architecture Power Supply Controller |
US20130246715A1 (en) * | 2010-11-16 | 2013-09-19 | Fujitsu Limited | Communication apparatus, load distribution method, and recording medium |
US20130046967A1 (en) * | 2011-08-17 | 2013-02-21 | Broadcom Corporation | Proactive Power Management Using a Power Management Unit |
US20130093251A1 (en) * | 2011-10-14 | 2013-04-18 | Fujitsu Limited | Regulator device |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180247388A1 (en) * | 2017-02-24 | 2018-08-30 | Advanced Micro Devices, Inc. | Delta color compression application to video |
US20200072884A1 (en) * | 2018-08-31 | 2020-03-05 | Micron Technology, Inc. | Capacitive voltage divider for monitoring multiple memory components |
US10775424B2 (en) * | 2018-08-31 | 2020-09-15 | Micron Technology, Inc. | Capacitive voltage divider for monitoring multiple memory components |
US11293962B2 (en) * | 2018-08-31 | 2022-04-05 | Micron Technology, Inc. | Capacitive voltage divider for monitoring multiple memory components |
US20230025355A1 (en) * | 2019-01-30 | 2023-01-26 | Micron Technology, Inc. | Power management component for memory sub-system voltage regulation |
US20220334628A1 (en) * | 2019-05-16 | 2022-10-20 | Samsung Electronics Co., Ltd. | Electronic device for performing power management and method for operating the same |
US11960349B2 (en) * | 2022-10-07 | 2024-04-16 | Micron Technology, Inc. | Power management component for memory sub-system voltage regulation |
Also Published As
Publication number | Publication date |
---|---|
US9367442B2 (en) | 2016-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9557804B2 (en) | Dynamic power limit sharing in a platform | |
US9454407B2 (en) | Service resource allocation | |
US9244519B1 (en) | Storage system with data transfer rate adjustment for power throttling | |
US9335803B2 (en) | Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores | |
US20160342191A1 (en) | Cpu frequency scaling apparatus and method | |
JP2018500673A (en) | Holistic global performance and power management | |
US20130275781A1 (en) | Mechanism for facilitating power and performance management of non-volatile memory in computing devices | |
JP2015127955A (en) | Dynamic thermal budget allocation for memory array | |
KR20150016097A (en) | Dual supply memory | |
US10037214B2 (en) | Determining power capping policies for a computer device | |
US20220206874A1 (en) | Determination of workload distribution across processors in a memory system | |
US20120124313A1 (en) | Multi-channel memory with embedded channel selection | |
US10678439B2 (en) | Optimization of memory systems based on performance goals | |
US9455928B2 (en) | Balancing a load on a multiple consumer queue | |
US11256318B2 (en) | Techniques for memory access in a reduced power state | |
US20140380069A1 (en) | Date Adjusted Power Budgeting for an Information Handling System | |
US9367442B2 (en) | Allocating memory usage based on voltage regulator efficiency | |
US20200089300A1 (en) | Load line regulation via clamping voltage | |
EP3846036B1 (en) | Matrix storage method, matrix access method, apparatus and electronic device | |
US20130125116A1 (en) | Method and Device for Adjusting Virtual Resource and Computer Readable Storage Medium | |
US10114438B2 (en) | Dynamic power budgeting in a chassis | |
US9342136B2 (en) | Dynamic thermal budget allocation for multi-processor systems | |
US10761583B2 (en) | Variation-aware intra-node power shifting among different hardware components | |
US20220050716A1 (en) | Virtual machine placement method and virtual machine placement device implementing the same | |
US10049714B1 (en) | DRAM and method for managing power thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DECESARIS, MICHAEL;PARSONESE, JAMES J.;REMIS, LUKE D.;AND OTHERS;SIGNING DATES FROM 20140702 TO 20140707;REEL/FRAME:033300/0906 |
|
AS | Assignment |
Owner name: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:034194/0111 Effective date: 20140926 Owner name: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD., Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:034194/0111 Effective date: 20140926 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: LENOVO INTERNATIONAL LIMITED, HONG KONG Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.;REEL/FRAME:039872/0136 Effective date: 20160830 |
|
AS | Assignment |
Owner name: LENOVO INTERNATIONAL LIMITED, HONG KONG Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.;REEL/FRAME:050301/0494 Effective date: 20160701 |
|
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 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |