Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONFIGURING A VOLTAGE REGULATOR
Document Type and Number:
WIPO Patent Application WO/2017/003482
Kind Code:
A1
Abstract:
A method and system to configure a voltage-regulating device. The method may identify, via firmware, a component configuration, of a computing device. The method may determine, via firmware, a value to specify for a voltage-regulating parameter of voltage-regulating devices associated with the components. The determination of the value may be based on the component configuration. The method may further program, via firmware, the voltage-regulating devices with values to regulate a supply voltage supplied to the component configuration.

Inventors:
HEINRICH, David F. (11445 Compaq Center Drive W, Houston, Texas, 77070, US)
ENGLER, David W. (11445 Compaq Center Drive W, Houston, Texas, 77070, US)
ENGLER, Jennifer Kleiman (11445 Compaq Center Drive W, Houston, Texas, 77070, US)
Application Number:
US2015/038992
Publication Date:
January 05, 2017
Filing Date:
July 02, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP (11445 Compaq Center Drive West, Houston, TX, 77070, US)
International Classes:
G06F1/26; G05F1/46; H02M3/00
Domestic Patent References:
2003-03-06
Foreign References:
US20130262897A12013-10-03
US20090225618A12009-09-10
US20080235504A12008-09-25
US20100102790A12010-04-29
Attorney, Agent or Firm:
ADEKUNLE, Olaolu O. et al. (Hewlett Packard Enterprise, 3404 E. Harmony RoadMail Stop 7, Fort Collins CO, 80528, US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1 . A method for regulating voltage, comprising:

identifying a component configuration of a computing device;

determining, via firmware of the computing device, a value to specify for a voltage regulating parameter, the value based on the component configuration; and

programming a voltage regulator (VR) with the value of the voltage regulating parameter to regulate a supply voltage supplied to the component configuration.

2. The method of claim 1 , wherein identifying the component

configuration comprises identifying, via the firmware, the component configuration.

3. The method of claim 1 , wherein the programing the VR comprises programing, via the firmware, with the value of the voltage regulating parameter.

4. The method of claim 1 , wherein the identifying, the determining, and the programing are implemented at boot time or runtime of an application executing on the computing device.

5. The method of claim 1 , wherein the computing device comprises a server.

6. A computing system comprising:

a processor;

volatile memory modules;

a voltage regulator (VR) to regulate supply voltage to components of the computing system, the components comprising the processor and the volatile memory modules; and firmware to identify a platform configuration of the computing system and to determine a value to specify for a parameter of the VR based on the platform configuration.

7. The computing system of claim 6, wherein firmware programs the VR with the value to specify for the parameter.

8. The computing system of claim 6, wherein the firmware comprises a basic input/output system (BIOS) located in nonvolatile memory coupled to the VR.

9. The computing system of claim 6, wherein the firmware comprises management firmware in a baseboard management controller (BMC) coupled to the VR.

10. The computing system of claim 6, wherein the firmware during start-up or power-on of the computing system identifies the platform configuration and determine the value to specify for the parameter.

1 1 . The computing system of claim 6, wherein the firmware operates at boot time or run time of an application to identify the platform configuration and to determine the value to specify for the parameter.

12. The computing system of claim 6, wherein BIOS firmware and BMC firmware write values to registers located in the VR to program the VR with the value to specify for the parameter.

13. The computing system of claim 6, wherein the VR comprises an interface to communicate with the firmware, and wherein the firmware writes to registers located in the VR to program the VR with the value to specify for the parameter.

14. A non-transitory computer readable media, comprising code, that when executed, causes a processor to:

identify a component configuration of a computing device; determine a value to specify for a voltage regulating parameter, the value based on the component configuration; and

program a voltage regulator (VR) with the value to regulate a supply voltage to the component configuration.

15. The non-transitory computer readable media of claim 14, wherein to identify the component configuration, to determine the value to specify for the voltage regulating parameter, and to program the VR with the value are implemented at boot time or runtime of an application executing on the computing device.

Description:
CONFIGURING A VOLTAGE REGULATOR

BACKGROUND

[0ΘΘ1] Most electronic devices include a power supply component, such as a converter, to receive and supply power, i.e., voltage, to other internal components within the electronic device. The voltage supplied to the components should generally only vary within a certain tolerance range. Unfortunately, an output voltage of an AC to DC converter, for example, in an electronic device may change based on load fluctuations or input voltage changes. Such fluctuations or changes in voltage may violate design specifications of the electronic device, causing inoperable damage to the internal components. Thus, the electronic device may include a voltage regulator to maintain the voltage supplied to the internal components within acceptable limits. If the internal components of an electronic device require several different voltage levels, multiple voltage regulators may be used, for example, one for each different voltage level.

DESCRIPTION OF THE DRAWINGS

[ΘΘΘ2] The advantages of the present techniques are better understood by referring to the following detailed description and the attached drawings, in which:

[0003] Fig. 1 A is an example of a computing system with a platform configuration that includes a configurable voltage regulator;

[ΘΘΘ4] Fig. 1 B is an another example of the computing system with the platform configuration that includes the configurable voltage regulator;

[0Θ05] Fig. 2 is a block diagram of a method for configuring a voltage regulator; and

[0001] Fig. 3 is a block diagram of a tangible, non-transitory, computer-readable medium that stores code configured to program a voltage regulator.

DETAILED DESCRIPTION

[0002] Computing systems may include a variety of electronic components such as processors, memory, integrated circuits, and so forth. Such components may compose the electrical load of the computing system. Manufacturers of computing systems may create computing platforms with various configurations of these components for desired processing and data handling applications and jobs, for example. Each platform configuration may vary greatly and may include various components including central processing units (CPUs), chip sets, and memory modules, among other electronic components and features. As an example, each CPU on a platform may have different requirements, such as different thermal design points (TDP). In some implementations, the number of memory modules, such as dual in-line memory modules (DIMMs), on the platform may vary based on the workload requirements of a user. Further, each DIMM may have different power consumption requirements and transient voltage.

[0ΘΘ3] The supply voltage, as herein described, is the voltage of energy, electricity, or power supplied to the electronic components of a platform

configuration. However, the supply voltage to each component should be

maintained with minimal fluctuations in voltage, temperature, load current, and so forth. Thus, most platform configurations may include multiple voltage regulators (VRs) to maintain and control the supply voltage to each component at a

substantially constant level. In other words, a platform configuration may include a single VR for each of the different voltage requirements associated with the various components. For instance, a CPU may require a voltage of 1 .8 volts while a memory module may require a different voltage of 2.0 volts. Accordingly, the platform configuration may include separate VRs to maintain the voltage requirements for both the CPU and the memory module.

[0004] Each VR of the multiple VRs may have various operating or design parameters. For example, each VR may have an output voltage set point, load/line, operating voltage, and switching mode, among others. Concerning the set point and the load/line parameters, a single value for the set point and the load/line value may be used for most or all of the various components of the platform, regardless if the components have varying voltage requirements. However, the use of one value for the set point parameter, the load/line parameter, or both, may not provide efficient power delivery and thus, may not meet the voltage requirements for each electronic component. Consequently, the VRs may not be configured efficiently for a given component, hence, the computing system may waste power. [0005] The present examples describe various techniques that may identify efficient values for the set point and load/line parameters for each VR, among other parameters, to alleviate power efficiencies. Specifically, based on the various installed components of a platform configuration, firmware can configure each VR with new, more efficient set point and load/line values. The new values for the set point and load/line parameters may enhance or maximize power efficiency and reduce overall power consumption.

[ΘΟΟβ] Fig. 1 A is an example of a computing system 100 with a platform configuration 102 that includes configurable voltage regulators (VRs) 104A-C. The computing system 100 may be a server, a blade server, a workstation, a desktop computer, a mobile computing device, or any other type of computing or electronic device. The platform configuration 102 may be the underlying system of various electronic components on which application programs can run. The electronic components, as illustrated on the platform 102, may include a central processing unit (CPU) 106, a chipset 108, random-access memory (RAM) 1 10, and other

components and devices within the platform 102.

[0007] To provide a steady voltage to the electronic components, the VRs 104A- C may receive external power 1 12 from an external power supply. The external power supply may generate a 5-volt or a 12-volt power voltage or some other voltage. An input of the VRs 104A-C may receive the external power 1 1 2 and provide regulated output voltages at either a fixed voltage level or and an adjustable voltage level to each electronic component of the platform 102. For example, the VR 104A may receive a voltage supplied by the external power 1 1 2 and convert the voltage into an appropriate voltage required by the CPU 1 06. The VR 104A may be electrically connected to the CPU 106 in order to supply the appropriate voltage to the CPU 106. The CPU 106 can include single core processor(s), multi-core processor(s), computing cluster(s), and other configurations. In some examples, the CPU 106 may include dual-core processor(s), dual-core mobile processor(s), and the like. The CPU 106, as described, may be responsible for interpreting and executing most of the commands from the electronic components of the computing system 1 00. [0008] Likewise, the VR 104B may convert a received voltage into a required voltage and may supply the voltage to the chipset 1 08. The chipset 108 may be electrically connected to the VR 104B and the CPU 106. The chipset 108 may be a collection of circuits and programs that manage data throughput between the CPU 106 and the various electronic components of the system 100. In particular, the chipset 1 08 may provide memory and input/output (I/O) management functions, various registers, timers, and other functions accessible or used by the CPU 106.

[0009] The RAM 1 10 may be electrically connected to the VR 104C, which can supply an appropriate voltage to the RAM 1 10. The RAM 1 10 may be volatile memory and, therefore, the data or contents stored therein may be lost when the computing system 100 is powered off. The RAM 1 10 may incorporate memory used as primary storage by the CPU 106 to read and execute stored instructions or data directly. In some examples, the RAM 1 10 may include a dynamic random access memory (DRAM) device, a static random access memory (SRAM) device, or other memory systems.

[0010] Each VR 104A-C may monitor and update its parameter data including its voltage set point, voltage load/line regulation, operating voltage, frequency, switching mode, among others, for its associated electronic component. Such parameters may be used to determine the quality of the voltage supplied to the electronic components of the platform configuration 102.

[0011] Specifically, the VRs 104A-C can set a voltage for each parameter to supply voltage efficiently to the components. As an example of a parameter, the voltage set point may define the desired output voltage of the VRs 104A-C. In the present examples, monitoring of the voltage set point may include a steady output voltage provided by the VRs 104A-C to the respective electronic components of the platform configuration 102.

[001 ] The load line parameter may describe a relationship between output voltage and output current of a control circuit of the VR 104. Moreover, the load line may represents a change in the output voltage when the output current increases by one ampere, that is, the load line=AV/AI. To assist in load/line regulation, the VRs 104A-C may measure the ability to maintain a constant output voltage, regardless of the size of the load and the changes to the input voltage. [0013] Control circuits within each VR 104A-C may adjust an output current so that the output voltage provided by the VRs 1 04A-C may be substantially the same as the voltage for the various parameters. For instance, the voltage set point parameter may refer to a voltage signal level about which a control circuit of the VRs 104A-C tends to operate in equilibrium. Associated control circuits of the VRs 104A- C can consume the current given by the supply voltage.

[ΘΘ14] The voltage supplied by each of the multiple VRs 104A-C may be the same or different voltages depending on the voltage requirement of the electronic component. For example, the CPU 1 06 and the chipset 108 may require the same supply of voltage, 1 .8 volts. In this case, the CPU 106 and the chipset 108 may use the same VR to supply the regulated voltage. Conversely, the CPU 106 may require a voltage supply of 2.0 volts and the chipset may require a voltage supply of 1 .8 volts. In this case, the platform configuration 102 may include two separate VRs to satisfy the voltage requirement of each component.

[ΘΘ15] The computing system 100 may also include a read-only memory (ROM) device 1 14 that may be coupled to the system 100 via the chipset 108. The ROM device 1 14 may include non-volatile memory that provides storage for program code, non-volatile data, and so forth. The various types of ROM devices may include an electronically erasable programmable read only memory (EEPROM or Flash ROM) or other memory systems.

[ΘΘ18] The ROM device 1 14 may store programs to boot the computing device 100, such as a basic input/output system (BIOS), for example. In particular, the ROM device 1 14 may store instructions referred to as the BIOS firmware 1 16. The BIOS firmware 1 1 6 is software used to startup (boot-up) the computing system 1 00 and may be used to interface the various computing components in the system 100. In some examples, BIOS or Flash BIOS, or the Unified Extensible Framework Interface (UEFI), among others, may be used as the platform execution firmware.

[0017] In the present examples, the BIOS firmware 1 16 may implement computational procedures, or a set of rules, to be followed by problem-solving operations and to identify efficient values for the voltage set point and load/line of the VRs 104A-C, among other features. The computational procedures implemented may enable the identification of one or more efficient set point and load/line values. Thereafter, the VRs 104A-C may be programmed with such values. Hence, the VRs 104A-C may be configured to enhance power efficiency, regardless of the platform configuration.

[0018] Fig. 1 B is an another example of the computing system 100 with the platform configuration 102 that includes configurable VRs 104A-D. A manufacturer may offer various platform configuration choices, for example, in order to satisfy different needs and performance requirements of varied end-users. The end-users may select different combinations of hardware devices and software applications for their computing system. The present platform configuration 102 may include multiple VRs, CPUs, memory modules, BMCs, and other hardware devices.

[0019] For simplicity, Fig. 1 B depicts the various VRs 104A-D for each component as a single box. However, as previously stated, each component of the platform configuration 102 may have its own individual VR based on its voltage requirement. For example, the circuits of the various components may require several different voltage levels. The CPU 1 06 can require a voltage of 1 .8 volts, which may be different from the RAM 1 10 voltage of 2.0 volts, or the chipset 108 voltage of 3.3 volts. However, identifying an efficient value for the parameters, regardless of the voltage requirement, may increase power efficiency.

[0020] In the present examples, an efficient value for the parameters of the VRs 104A-D, such as the voltage set point and the load/line, may be determined based on the components, where the values for the parameters may program each of the VRs 104A-D associated with the components. In this way, a more efficient, optimized voltage may be transmitted to the CPU 106, the chipset 1 08, and the RAM 1 10, among other components of the platform 102.

[0021] To provide a steady voltage to the electronic components, the VRs 104A- D may take a voltage supplied by the external power 1 12 and convert the voltage into a voltage required by the CPUs 106, 1 18, the chipset 108, the RAM memory modules 1 1 0, a baseboard management controller (BMC) 120 and other electronic components. Each of the VRs 1 04A-D may monitor and update its parameter data to maintain a steady voltage and to determine the quality of the voltage supplied to the electronic components. [0022] The VR 1 04A may supply a single supply voltage (Vcc) 1 22 to the CPUs 106, 1 18. Multiple CPUs, as shown in Fig. 1 B, may be included in the platform configuration 102 to interpret and execute most of the commands from the electronic components of the computing system 100.

[0023] The VR 1 04B may supply a single supply voltage (Vcc) 1 24 to the chipset 108. The chipset 108 may be connected the CPU 106 via a direct media interface (DMI) 126, for instance, or other types of point-to-point interconnection interfaces.

[0024] As illustrated in Fig. 1 B, the RAM memory modules 1 1 0 may include multiple dual in-line memory modules (DIMMs). A DIMM is a circuit board with one or more RAM integrated circuits (ICs). The DIMMs 1 10 may incorporate memory used as primary storage by the CPUs 106, 1 1 8 to read and execute stored instructions or data directly. The VR 104C may supply a single supply voltage (Vcc) 125 to each DIMM 1 10.

[0025] The BMC 120 may be connected to a VR 1 04D via a platform bus 126 such as a system management bus (SMB), an l 2 C bus, or other type of two-wire bus used to communicate with low-bandwidth devices. The VR 104D may supply a single supply voltage (Vcc) 132 to the BMC 120. Further, as shown in Fig. 1 B, the BMC 120 can be connected to the chipset 108 via a point-to-point serial connection 128 such as a peripheral component interconnect express (PCIe) bus or other type of bus. The BMC 120 may be a micro-controller used to monitor and to manage a physical state of the platform configuration 1 02. The BMC 120 may run

independently of the CPUs 106, 1 1 8. Thus, in an event of a hardware failure, the BMC 120 may continue to operate in certain examples, such as providing

instructions via BMC firmware.

[0020] The BIOS firmware 1 16 may identify the electronic components of the computing system 100. The BIOS firmware 1 16 may further determine the number of components, the requirements associated with each component, for example, the voltage requirement, among other identification information. Based on the various components of the platform configuration 102, the BIOS firmware 1 1 6 may determine one or more efficient values to specify for parameters of the VRs 1 04A-D. Specifically, the BIOS firmware 1 16 may use a computational procedure that may take a set of values, as input values, from the various components of the platform 102 and compute a set of values, as output values. The input values may include the power requirements for the components, for example. The computational procedure may then determine efficient output values to specify for parameters of the VRs 104A-D, such as a voltage set point value and a load/line regulation value.

[0027] The efficient output values for the voltage set point and the load/line regulation may program the VRs 104A-D. During boot time of the computing system 100, the BIOS firmware 1 16 can write values to a register 130 to instruct the register 130 to write the efficient output values to the VRs 104A-D. In other examples, the BIOS firmware 1 1 6 or firmware of the BMC 120 may write values to the register 1 30 during run-time of the system 100. Using such values, the VRs 104A-D may be enabled to supply an efficient voltage to the various components of the platform configuration 102.

[0028] Fig. 2 is a block diagram of a method for configuring a voltage regulator (VR). A platform configuration may include various electronic components, each with different requirements, for example, different values for voltage set point and load/line parameters. With such variability, the use of a single voltage set point value and a single load/line regulation value may not provide efficient power delivery. In the present example methods, computational procedures may identify efficient voltage set point and load/line values for VRs in order to deliver more effective or optimal power consumptions rates.

[0029] At block 202, firmware may identify a component configuration of a computing system. The firmware may be executable code embedded in non-volatile storage, such as in a read-only memory (ROM) device. In the present examples, the firmware may be BIOS firmware stored in a ROM device. In other examples, Flash BIOS or UEFI may identify the configuration and may be stored in the ROM device. The firmware may provide the software and hardware frameworks for controlling, for example, temperature of a cooling system, fan speed, details of a CPU, among others. The firmware may perform several tests, including the power-on self-test (POST), to check proper functioning of the components during start-up of the computing system. The firmware may perform a system inventory by performing additional tests to determine and identify the hardware and software components of the component configuration. The components may include CPUs, memory modules, chipset, and other electronic components, as described with respect to Figs. 1 A and 1 B.

[ΘΘ3Θ] At block 204, the firmware may determine a value for various voltage regulating parameters based on the component configuration using computational procedures, as previously described. In particular, the firmware may compute efficient voltage set point and load/line values using the computational procedures. In this way, the computational procedures may identify efficient set point and load/line regulation values for the VRs based on the component configuration. At block 206, the VRs may be programmed with the identified voltage set point and load/line values.

[0031] In examples, the VRs may be programmed during the initial start-up of the computing system and thus, before the operating system of the computing system has taken control. In the event that a power failure occurs during control by the operating system, the VRs may be programmed dynamically via firmware of a BMC. Thus, the methods for configuring the VRs may be carried out at boot time via BIOS firmware or during runtime of an application via the BMC.

[0032] Fig. 3 is a block diagram of a tangible, non-transitory, computer-readable medium that stores code configured to program a voltage regulator. The computer- readable medium is referred to by the reference number 300. The computer- readable medium 300 can include RAM, a hard disk drive, an array of hard disk drives, an optimal drive, an array of optical drives, a non-volatile memory, a flash drive, a digital versatile disk (DVD), or a compact disk (CD), among others. A processor 302 may access the computer-readable medium 300 over a computer bus 304. Furthermore, the computer-readable medium 300 may include code configured to perform the methods described herein.

[0033] The computer-readable medium 300 may include modules 306, 308, and 310. For example, an identify module 306 may be configured to identify a component configuration of a computing system. In some examples, firmware may identify the configuration. A determine module 308 may be configured to determine a value to specify for voltage regulating parameters based on the identified component configuration. The values for the parameters may include efficient values for a set point and a load/line, for example. A program module 31 0 may be configured to program VRs for the components of the configuration with the efficient values for the set point and load/line. Accordingly, the VRs may be enabled to provide an efficient and regulated voltage supply to the associated components in the configuration.

[0034] While the present techniques may be susceptible to various modifications and alternative forms, the embodiments discussed above have been shown only by way of example. However, it should again be understood that the techniques is not intended to be limited to the particular embodiments disclosed herein. Indeed, the present techniques include all alternatives, modifications, and equivalents falling within the true spirit and scope of the appended claims.