Varying power load conditions on systems under test

An apparatus includes a system test module that initiates a system power test for a computer system. The computer system includes one or more power supplies that provide power to system components. The system power test includes determining power system characteristics under various loading conditions. The apparatus includes a configure module that configures a system component during the system power test. The system component uses a higher amount of power after being configured than in a previous un-configured condition. The apparatus includes a de-configure module that de-configures the system component during the system power test. The system component uses a lower amount of power after being de-configured than in a previous configured condition. The apparatus includes a diagnostic module that measures power system performance of the computer system during varying loading conditions caused by configuring and de-configuring one or more system components by the configure module and the de-configure module.

FIELD

The subject matter disclosed herein relates to computer power and more particularly relates to testing computer power systems while the computer system is operational.

BACKGROUND

Description of the Related Art

Computer systems include several sub-systems. One such sub-system is a power system. A power system of a computer system typically includes some type of power supply, one or more power buses, and a variety of system components that use power and receive the power from the power buses either directly or indirectly. The system components range from a core of a central processing unit (“CPU” or more simply “processor”) to memory to computer buses. Power systems can become unstable in some conditions. In addition, power systems may not function as planned when connected in a final configuration.

In some cases, a power supply may be stable or may operate within acceptable limits when supplying one type of load, but connected to a different load the power supply may become unstable or may operate outside of specified ranges. Often power supplies are tested using resistive loads or other loads that simulate conditions of a computer system. Often power supplies are run in parallel and feedback loops may be designed to keep the power supplies sharing equally during parallel operation. However, when one or more power supplies are installed in a computer system, the loading on the power supplies may differ from bench testing or testing using simulated loading. Testing of the power supply with resistive or simulated loads may lead to a conclusion that when installed in the computer system that the power system of the computer system is stable, is connected properly, and will operate within specifications when in reality power system problems may exist in the final configuration as actually installed that were not previously detected or predicted.

BRIEF SUMMARY

An apparatus for power system testing is disclosed. A method and system also perform the functions of the method. The apparatus includes a system test module that initiates a system power test for a computer system. The computer system includes one or more power supplies that provide power to a plurality of system components. The system power test includes determining power system characteristics under various loading conditions. The apparatus includes a configure module that configures a system component of the plurality of system components during the system power test. The system component uses a higher amount of power after being configured than in a previous un-configured condition. The apparatus includes a de-configure module that de-configures the system component during the system power test. The system component uses a lower amount of power after being de-configured than in a previous configured condition. The apparatus includes a diagnostic module that measures power system performance of the computer system during varying loading conditions caused by configuring and de-configuring one or more system components by the configure module and the de-configure module.

In one embodiment, the configure module configures the system component and the de-configure module de-configures the system component using one or more system firmware commands while the computer system is operational. In another embodiment, configuring the system component changes the system component from a non-operational state to an operational state. The system component in the operational state uses power. De-configuring the system component changes the system component from the operational state to the non-operational state. In a further embodiment, the system component in the non-operational state uses substantially no power. In another embodiment, the system component includes a processor, a processor core, a cache memory, a memory module, an input/output component, a storage device, or a system bus.

In one embodiment, the system component is connected to another system component. In another embodiment, the one or more system components receive power from the one or more power supplies via one or more power buses. In another embodiment, the computer system is operational to process data during the system power test. In another embodiment, the computer system is in a final state during the system power test. The final state includes a state ready for an end user of the computer system to process data.

In one embodiment, the configure module configures and the de-configure module de-configures a plurality of system components during the system power test such that system power usage changes within a full operational load range of the one or more power supplies. In another embodiment, the diagnostic module measures voltage, current, and/or power at one or more points in the power system. In another embodiment, the diagnostic module measures steady-state and/or transient conditions for voltage, current, and/or power in the power system. In another embodiment, the configure module and the de-configure module configure and de-configure system components using a communication bus within the computer system.

A method for power system testing includes initiating a system power test for a computer system. The computer system includes one or more power supplies that provide power to a plurality of system components. The system power test includes determining power system characteristics under various loading conditions. The method includes configuring a system component of the plurality of system components during the system power test. The system component uses a higher amount of power after being configured than in a previous un-configured condition. The method includes de-configuring the system component during the system power test. The system component uses a lower amount of power after being de-configured than in a previous configured condition. The method includes measuring power system performance of the computer system during varying loading conditions caused by configuring and de-configuring one or more system components.

In one embodiment, configuring the system component and de-configuring the system component include using one or more system firmware commands while the computer system is operational. In another embodiment, configuring the system component changes the system component from a non-operational state to an operational state. The system component in the operational state uses power. De-configuring the system component changes the system component from the operational state to the non-operational state. In another embodiment, the computer system is operational to process data during the system power test. In another embodiment, the computer system is in a final state during the system power test. The final state includes a state ready for an end user of the computer system to process data.

A computer system for power system testing includes a power supply, a plurality system components configured to process data, and a power bus that provides power from the power supply to the plurality of system components. The computer system includes a system test module that initiates a system power test for the computer system. The computer system power test includes determining power system characteristics under various loading conditions. The computer system includes a configure module that configures a system component of the plurality of system components during the system power test. The system component uses a higher amount of power after being configured than in a previous un-configured condition. The computer system includes a de-configure module that de-configures the system component during the system power test. The system component uses a lower amount of power after being de-configured than in a previous configured condition. The computer system includes a diagnostic module that measures power system performance of the computer system during varying loading conditions caused by configuring and de-configuring one or more system components by the configure module and the de-configure module. In one embodiment, the system includes an input device and an electronic display both connected to the computer system.

DETAILED DESCRIPTION

The computer readable medium may also be a computer readable signal medium. A computer readable signal medium may include a propagated data signal with program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electrical, electro-magnetic, magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport program code for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wire-line, optical fiber, Radio Frequency (RF), or the like, or any suitable combination of the foregoing

The computer program product may be shared, simultaneously serving multiple customers in a flexible, automated fashion. The computer program product may be standardized, requiring little customization and scalable, providing capacity on demand in a pay-as-you-go model.

The computer program product may be stored on a shared file system accessible from one or more servers. The computer program product may be executed via transactions that contain data and server processing requests that use Central Processor Unit (CPU) units on the accessed server. CPU units may be units of time such as minutes, seconds, hours on the central processor of the server. Additionally the accessed server may make requests of other servers that require CPU units. CPU units are an example that represents but one measurement of use. Other measurements of use include but are not limited to network bandwidth, memory usage, storage usage, packet transfers, complete transactions etc.

The computer program product may be integrated into a client, server and network environment by providing for the computer program product to coexist with applications, operating systems and network operating systems software and then installing the computer program product on the clients and servers in the environment where the computer program product will function.

FIG. 1is a schematic block diagram illustrating one embodiment of a system100for varying load in a system power test in accordance with one embodiment of the present invention. The system100includes a testing apparatus102in a computer system104where the computer system includes multiple power supplies (power supply1106a, power supply2106b, and power supply n+1106n+1, collectively “power supply106”), a power bus108, system components110(individually or collectively), and a computer bus112, a power source114, an electronic display116, an input device118, and a computer120connected to the computer system104through a computer network122, which are described below.

In one embodiment, the system100includes a testing apparatus102that varies a load for the computer system104during a system power test. In another embodiment, the testing apparatus102may be located in or accessible to a computer120connected to the computer system104, for example, through a computer network122or through another communication method, such as a direct connection to the computer system104. In another embodiment, a portion of the testing apparatus102is in or accessible to the computer system104and a remainder of the testing apparatus102is located elsewhere. The testing apparatus102will be discussed in more detail with regard to the apparatus200ofFIG. 2.

The system100includes a computer system104that includes one or more power supplies106that provide power to a plurality of system components110through a power bus108. In one embodiment, the computer system104includes a single power supply (e.g. power supply1106a). In another embodiment, the computer system104includes multiple power supplies (e.g. power supplies1-n106a-106n+1) that are sized for an expected power load of the system components110of the computer system104or that are sized for redundancy. For example, the computer system104may include n+1 power supplies106such that “n” power supplies106a-nprovide a rated amount of power to the computer system104while a redundant power supply106n+1 provides extra capacity in case one of the power supplies106a-nfails. One of skill in the art will recognize other power supply106configurations for a computer system104.

The power supplies106connect to one or more power buses108in the computer system104. For example, the power supplies106may connect to various power buses108each with a different voltage, such as 12 volts (“V”), 5 V, 2.5 V, etc. Each power supply (e.g. power supply1106a) may have multiple outputs each at a different voltage. In another embodiment, the computer system104may include redundant power buses108and some of the power supplies106may connect to one power bus108while other power supplies connect to another power bus108. One of skill in the art will recognize various power supply topologies, power supply configurations, and power bus configurations within a computer system104.

Typically a power supply (e.g. power supply1106a) includes a feedback loop that senses when a voltage or current is different than a setpoint and adjusts to bring the voltage or current back to the setpoint. When multiple power supplies106are linked to a particular power bus108, the power supplies106may include a feedback loop that controls the power supplies106, for example to share current as intended and to work to ensure that the power supplies106operate together without instability or other issues. The power supplies106may include a master and other slave power supplies106. The power supplies106may include a voltage feedback loop to regulate voltage on the power bus108along with other current sharing loops or other regulation loops.

The power supplies106may be direct current (“DC”) to DC, alternating current (“AC”) to DC, DC to AC, AC to AC or other type of power supply configuration. In one embodiment, one or more power supplies106are switching power converters. In other embodiments, the power supplies106include transformers, voltage regulators, etc. The power supplies106may include one or more power stages. For example, a power supply106may include an inverter section, a power conditioning section, and a regulation section. The inverter section may rectify an AC voltage. The power conditioning section may include filtering or may include active components, such as for active power factor correction. The regulation section may provide power to the power bus108.

The computer system104includes a plurality of system components110. The system components110are any component that connect directly or indirectly to the power bus108and that consume power or cause power to be consumed. For example, system components110may include a processor, such as a central processing unit (“CPU”), a core of a multi-core processor, cache memory, a memory module, read-only memory (“ROM”), random access memory (“RAM”), a chipset, a data storage device, a graphics processing unit (“GPU”), a universal serial bus (“USB”) interface, an input/output interfaces, and any other component common to a computer system104and known to those of skill in the art. The computer system104may also include one or more computer buses112used for communication of data between system components110, such as a peripheral component interconnect (“PCI”) express bus, a serial ATA (“SATA”) bus, a USB, etc. One of skill in the art will recognize other computer buses112common to a computer system104. A computer bus112may use power from a power supply106.

In one embodiment, one or more system components110may be configured and/or de-configured. For example, a system component110may be in an un-configured state and may be configured for operation. A system component110that is configured may use more power than the system component110when un-configured. For example, the system component110may use substantially no power when un-configured. Substantially no power, as used herein, includes a state of the system component110of using no power as well as a state of using a small amount of power in comparison with the system component110that is configured and operational where substantially more power is used by the system component110. In one embodiment, the system component110is installed in the computer system104and configuration or de-configuration occurs while the computer system104is operational, for example using a computer bus112.

The system100, in one embodiment, includes a power source114that provides power to the one or more power supplies106. In another embodiment, two or more power sources114provide power to the power supplies106. The power source114may be AC or DC. The power source114may be from a utility, from batteries, from an alternative power source such as solar power, or other power type or source known to those of skill in the art. In one embodiment, the power source114is a power supply from another computer system or device. One of skill in the art will recognize other ways to provide power to the power supplies106.

The system100, in another embodiment, includes one or more electronic displays116that connect to the computer system104, such as a monitor, a display screen, etc. The electronic displays116may be separate from the computer system104or may be integral with the computer system104. The system100may also include one or more input devices118, such as a keyboard, a mouse, a touch screen, a communication bus, or other device capable of receiving input by a user or computer and sending the input to the computer system104. The system100may also include a computer120connected to the computer system104via a computer network122. The compute120may be set up as a client, or may be a test initiating computer that interfaces with the computer system104via the computer network122. The computer network122may include a local area network (“LAN”), the Internet, a wireless network, etc., or a combination of computer networks and may include cabling, routers, switches, servers, etc. known to those of skill in the art.

The computer system104may be a mainframe computer, a system with components in one or more racks, may be a laptop computer, a tablet computer, a personal computer, a server, a workstation, etc. The computer system104may be a router, a switch, a dedicated system that is part of an appliance or other device, or any other system with one or more power supplies106feeding a plurality of system components110. The computer system104may be together in an enclosure or may be distributed in multiple enclosures, racks, etc. The computer system104may include any system where system components110may be configured and de-configured to change an amount of power that a system component110is using.

FIG. 2is a schematic block diagram illustrating one embodiment of an apparatus200for varying load in a system power test in accordance with one embodiment of the present invention. The apparatus200includes one embodiment of the testing apparatus102with a system test module202, a configure module204, a de-configure module206, and a diagnostic module208, which are described below. The modules202-208of the apparatus200may be located together or a portion of one or more modules202-208may be separated. For example, all or a portion of the modules202-208may be external to the computer system104while a portion of the modules202-208may be included in the computer system104. In one embodiment, the apparatus200is included in a computer (such as the computer120connected to through the computer network122a computer that is an input device118) and is independent of the computer system104but is capable of interfacing with the computer system104.

In one embodiment, the apparatus200includes a system test module202that initiates a system power test for the computer system104. The system power test includes determining power system characteristics under various loading conditions. Typically the system power test is useful in determining if the power supplies106are operating properly and/or within specification limits. The loading conditions are various loads to that consume power from the power supplies106. For example, loading on the power bus108may range within a full operational load range for the one or more power supplies106of the computer system104. In one embodiment, the system test module202initiates the system power test while the computer system104is operational. In another embodiment, the system test module202initiates the system power test while the computer system104is in a final assembly state suitable for shipment to a consumer or while being used by a consumer.

The system test module202, in another embodiment, initiates the system power test using one or more interfaces to the computer system104, such as a computer network122, an external interface, a computer bus112, etc. while power supplies106in the computer system104are operational and providing power to the system components110. In another embodiment, at least some system components110are operational at least to some degree. In one embodiment, the system test module202and other modules204-208of the testing apparatus102communicate with the computer system104using low-level commands, such as system firmware commands or basic input/output system (“BIOS”) commands. In other embodiments, the modules202-208communicate with the computer system104using higher level commands.

The apparatus200, in one embodiment, includes a configure module204that configures a system component110during the system power test. The system component110uses a higher amount of power after being configured than in a previous un-configured condition. In another embodiment, the apparatus200includes a de-configure module206that de-configures the system component110during the system power test. The system component110uses a lower amount of power after being de-configured than in a previous configured condition. Typically the configure module204configures the system component110and the de-configure module206de-configures the system component110using one or more system firmware commands while the computer system104is operational. Beneficially, the configure module204and de-configure module206allow changes in power system loading during the system power test while the computer system104is operating and processing data without having to physically alter the computer system104. For example, the computer system104may be in a final state during the system power test where the final state may be a state ready for an end user of the computer system104to process data.

In one embodiment, configuring the system component110changes the system component110from a non-operational state to an operational state where the system component110in the operational state uses power. For example, if a system component110is a core of a CPU, the de-configure module206may de-configure the core to fence off the core so the core is not processing data. In this fenced off or de-configured state, the core may use less power than when configured. In addition, other components controlled by the core of the CPU may use less power or may also be de-configured by the de-configure module. In another embodiment, a hard disk drive may be a system component110that is configured or de-configured by the configure module204and de-configure module206. De-configuring the system component110, in one example, changes the system component110from the operational state to the non-operational state. In the non-operational state, in one example, the system component110uses substantially no power.

Many components in a typical computer system have varying amounts of activity while in operation. However, many system components110use about the same amount of power when accessed as when the system component110is idle. For example, typical system tests in a computer system exercise various system components110. However, the system tests may not provide enough load variation to satisfy system power testing requirements.

By configuring and de-configuring the system component110, power usage of the system component110may change more than when the system component110is accessed and then not accessed. Accessing a system component110, as used herein, includes sending commands, data, running data tests, etc. where the system component110is actively processing data or performing a function normally done when the system component110is configured and in use. In a configured state, the system component110may be ready for use by the computer system104while in a de-configured state the system component110may be unavailable for use, and for example, may be in a state ready for removal from the computer system104.

The configure module204and de-configure module206may allow system power testing without physically inserting a switch or other device to power and remove power from a system component110to change loads, and allow the system components110in the computer system104to be used to vary load instead of using resistors or other simulated load conditions. Beneficially, the apparatus200provides a way to conduct a system power test in a final configuration so that problems with the power system of the computer system104may be detected where the same problems may not be present with typical resistive load testing or other simulated loading situations. For example, capacitance and inductance of the computer system104in a final state may differ from simulated loading conditions and power system stability problems may be present in the final assembled state of the computer system104that may not be present with other loading configurations. The configure module204and the de-configure module206may communicate configure and de-configure commands using a computer bus112such as a communications bus within the computer system104.

In one embodiment, the configure module204and the de-configure module206configure and de-configure enough system components110to fully test the power supplies106and overall power system during the system power test such that system power usage changes within a full operational load range of the one or more power supplies106. The configure module204and the de-configure module206may also configure and de-configure system components110in a particular order to test various parts of the computer system104, impose various loading conditions, run specific tests, etc. during the system power test. The configure module204and the de-configure module206may offer flexibility in system power testing previously unavailable for computer systems104.

In one embodiment, the apparatus includes a diagnostic module208that measures power system performance of the computer system104during varying loading conditions caused by configuring and de-configuring one or more system components110by the configure module204and the de-configure module206. For example, the diagnostic module208may measure voltages, currents, power, etc. at various locations in the computer system104, which may help indicate performance characteristics of the power system of the computer system104during the system power test. In one embodiment, the diagnostic module208may measure steady-state conditions of the power system of the computer system104. In another embodiment, the diagnostic module208measures transient conditions in the power system of the computer system104. The diagnostic module208may also make other measurements, such as bode plots, stability analysis, etc.

FIG. 3is a set of possible waveforms300representing typical voltage and current waveforms when a system load is changed in accordance with one embodiment of the present invention. The set of possible waveforms300indicates conditions that may occur in the computer system104during a system power test. The top waveform is a plot of load304, which may be expressed in watts (“W”), versus time302, which may be expressed in seconds (“S”). The time302axis may be seconds, milliseconds, microseconds, etc. The middle waveform shows a bus voltage306, which may be expressed in volts (“V”) versus time302and the bottom waveform shows a bus current308, which may be expressed in amperes (“A”). The bus voltage306and bus current308may be at any appropriate location within the power system of the computer system104. The load waveform shows a load that decreases at time t1, decreases more at time t2, and increases to an original value at time t3.

The bus voltage306response and bus current response308indicate a fluctuation in both voltage and current when the load changes, indicating a transient condition. The transient condition reveals a voltage and current response that may be considered under-damped. The diagnostic module208may measure waveforms such as the set of waveforms300ofFIG. 3along with other conditions to analyze system response to load changes. In this particular scenario, an under-damped response may indicate an unacceptable or a borderline unacceptable condition in the final assembled state of the power system of the computer system104that may have not been manifest using other testing methods. The diagnostic module208may be used in conjunction with the configure module204and de-configure module206to exercise the power system of the computer system104during system power testing to find system stability, power system efficiency, power system response, system impedance, and a host of other system power tests while the computer system104is operational.

FIG. 4is a schematic flow chart diagram illustrating one embodiment of a method400for varying load in a system power test in accordance with one embodiment of the present invention. The method400begins and initiates402a system power test. The system power test is for a computer system104where one or more power supplies106provide power to system components110that receive power from the power supplies106via one or more power buses108. The system power test includes determining power system characteristics under various loading conditions. The system components110provide loading for the power system of the computer system104. In one embodiment, the system test module202initiates402the system power test.

The method400configures404and de-configures406one or more system components110during the system power test. When the method400configures404a system component110, the system component110uses a higher amount of power after being configured404than in a previous un-configured condition. Likewise, when the method400de-configures406the system component110, the system component110uses a lower amount of power after being de-configured406than in a previous configured condition. The configure module204and the de-configured module206, in various embodiments, may be used to configure404and de-configure406the system components110.

The method400measures408power system performance of the computer system104during varying loading conditions caused by configuring404and de-configuring the system components110, and the method400ends. In one embodiment, the diagnostic module208measures408power system performance. The method400may measure current, voltage, power, etc. at various points of the power system of the computer system104to measure power system performance. The method400may measure408transient performance, steady-state performance, etc.

FIG. 5is a schematic flow chart diagram illustrating another embodiment of a method500for varying load in a system power test in accordance with one embodiment of the present invention. The method500begins and initiates502a system power test. The method500configures504one or more system components110and then measures506power system performance after configuring504the one or more system components110. The method500may also de-configure508one or more system components110and then measures510system performance after de-configuring508the one or more system components110. The method500determines512if there are more tests to perform. If the method500determines512that there are more tests to perform, the method500returns and configures504or de-configures508system components110, or both. If the method500determines512that there are no more tests to perform, the method500ends. One of skill in the art will recognize numerous combinations of configuring504and de-configuring508one or more system components110to adequately test the power system of the computer system104in the system power test.