Configurable voltage regulation module card

CN116569123BActive Publication Date: 2026-09-29INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180080933.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-12
Filing Date
2021-11-24
Publication Date
2026-09-29
Estimated Expiration
2041-11-24

AI Technical Summary

Technical Problem

然而,典型的VRM卡被配置为针对特定系统的特定需求提供功率,并且因此当替换该特定系统时通常不能被转移到新系统

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116569123B_ABST
    Figure CN116569123B_ABST
Patent Text Reader

Abstract

A discrete VRM card includes a set of VRM controllers. The set of VRM controllers includes a VRM controller having two feedback loops. The VRM card includes a power stage and a power stage critical signal multiplexer. An output of the power stage critical signal multiplexer determines a feedback loop with which the power stage communicates. The VRM card also includes a configuration selector. The configuration selector determines a feedback loop assignment for the power stage critical signal multiplexer and provides VRM instructions to the VRM controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates generally to voltage regulation modules, and more specifically to pluggable voltage regulation module cards. Background Technology

[0002] Voltage regulation modules (sometimes referred to herein as “VRMs”) are used in many electronic systems to supply voltage and current to various electronic components according to their requirements. A VRM typically consists of at least one semiconductor switch (e.g., a MOSFET switch) and at least one inductor (sometimes called a “choke”). Some VRMs also include capacitors located near the inductor or near the component to which the VRM delivers power. The VRM components that together provide voltage and current (e.g., a MOSFET switch and an inductor pair) are generally referred to collectively as a “power stage.” These VRM components are typically controlled by a circuit called a controller (sometimes referred to as a “VRM controller”).

[0003] A VRM controller is used to control the components of a VRM to deliver current at a given voltage. For example, when the VRM controller closes a semiconductor switch (i.e., turns on a power stage), current flows through the VRM. As a result of this current, the VRM's inductors mitigate voltage changes at the VRM output, thus preventing unwanted voltage spikes or drops in the power delivered to system components. Some VRMs also include capacitors, which smooth the power output from the VRM, preventing voltage "ripple" caused by, for example, transitions between multiple voltages or electronic noise in the system.

[0004] Some VRMs support multiple power stages that can be combined into a single VRM output. These groups can be controlled by the VRM controller to operate as a system providing voltage output. In such a VRM, each power stage typically also requires a capacitor for its output. This capacitor can be provided by a capacitor dedicated to that power stage or by a capacitor source shared among multiple power stages. By alternating power stages that output power, a VRM can sometimes deliver power to system components more smoothly and stably than using a single-power-stage VRM.

[0005] In some electrical systems, delivering power over a very narrow voltage range can be critical. Furthermore, in some electrical systems, even a very temporary failure of the VRM (Vehicle Resistor) delivering power within that voltage range can lead to significant system or operational losses. These systems typically use VRMs with reliable components and multiple power stages. However, these VRM solutions can be very expensive and are often included in systems with other very expensive components (e.g., backplanes and the processor package mounted on them). In some systems, the VRM is integrated into the system (e.g., permanently mounted to the system backplane). However, in systems with integrated VRMs, a failure of the VRM component may require replacing a large portion of the system, including other expensive components. Similarly, a failure of another system component may also require replacing a large portion of the system, including the integrated VRM.

[0006] For this reason, expensive electrical systems are often designed to utilize interstitial VRM cards (sometimes referred to as "discrete VRM cards" or simply "VRM cards") rather than VRMs embedded within the system (e.g., on the system backplane or motherboard). Interstitial VRM cards can be discrete printed circuit boards that insert into the system via ports on the system board. The VRM card is configured to provide power through this port that matches the specific requirements of the system components.

[0007] In these systems, if a component on the system board fails, the expensive VRM solution may be able to be reused in the replacement board, even if the entire system board needs to be replaced. Similarly, if a component in the VRM card fails, the VRM card can be replaced, and the rest of the system can be reused. However, in some systems, VRM components may be available for a significantly longer period than the expected lifespan of the rest of the system. For example, many systems encounter component failures elsewhere in the system before the VRM component may fail. Even if no component fails, system components may become obsolete long before the VRM component fails or becomes obsolete. However, a typical VRM card is configured to provide power for the specific needs of a particular system and therefore cannot typically be transferred to a new system when that particular system is replaced. For this reason, expensive VRM cards may be discarded before they must be, thus increasing system maintenance costs over long-term operation. Summary of the Invention

[0008] According to a first aspect of the invention, a discrete VRM card is provided, comprising an assembly of PWM controllers, wherein the assembly includes a VRM controller having two feedback loops. The VRM card also includes a power stage and a power stage critical signal multiplexer, wherein the output of the power stage critical signal multiplexer determines the feedback loop with which the power stage communicates. Finally, the VRM card includes a configuration selector, wherein the configuration selector determines the feedback loop assignment for the power stage critical signal multiplexer and provides VRM commands to the VRM controller. Embodiments of the invention can advantageously enable discrete VRM cards to provide power to systems with various power input requirements.

[0009] Some embodiments of the present invention can be illustrated as the aforementioned discrete VRM card, wherein a configuration selector is configured to receive system power attributes from a computer system connected to the discrete VRM card. Feedback loop allocation and VRM commands are based on the system power attributes. These embodiments can increase the VRM card's ability to adapt to systems with various power input requirements.

[0010] Some embodiments of the present invention can also be shown as one of the aforementioned discrete VRM cards, wherein the feedback loop allocation is a voltage signal within a predetermined voltage range. These embodiments can provide a low-complexity means of transmitting the feedback loop allocation.

[0011] According to another aspect of the invention, a method is provided, comprising: inserting a VRM card into a system board of a computer system; detecting the power attributes of the computer system; identifying the VRM card configuration based on the power attributes; sending VRM commands to a set of VRM controllers on the VRM card; assigning a set of feedback loops to a power stage critical signal multiplexer based on the identification; and operating the VRM card according to the VRM commands and the feedback loop assignments. This method advantageously enables discrete VRM cards to provide power to systems with various power input requirements.

[0012] Some embodiments of the present invention may also be shown as the methods described above, wherein the VRM instructions include signals that identify the configuration file. These embodiments can provide a low-complexity means of transmitting VRM instructions.

[0013] Some embodiments of the present invention may also be shown as one of the methods described above, wherein detecting power attributes includes performing impedance measurements on a set of contacts that form a connection between a set of power stages on a VRM card and a set of components in a computer system. These embodiments provide means for detecting power attributes on systems that cannot otherwise provide power attributes.

[0014] According to another aspect of the invention, a computer program product is provided, comprising a computer-readable storage medium. The computer-readable storage medium has program instructions embodied therein. These program instructions are executable by a VRM card to cause the VRM card to detect that a VRM card has been inserted into a computer system. These program instructions are also executable by the VRM card to cause the VRM card to detect power attributes of the computer system. The program instructions are further executable by the VRM card to cause the VRM card to identify VRM card configuration based on power attributes. The program instructions are also executable by the VRM card to cause the VRM card to send VRM instructions to a VRM controller on the VRM card. The program instructions are also executable by the VRM card to cause the VRM card to send feedback loop assignments for a power stage critical signal multiplexer on the VRM card. These embodiments can advantageously enable the VRM card to provide power to systems with various power input requirements.

[0015] Some embodiments of the present invention can also be described by the aforementioned computer program product, wherein the detection of power attributes includes reading a set of voltage signals from the VRM card and classifying each voltage signal in the set into a voltage range. This voltage range falls within a predetermined set of voltage ranges. The detection of power attributes also includes forming a VRM configuration number based on the classification. These embodiments can provide a low-complexity means for identifying and transmitting VRM configuration numbers.

[0016] The above description of the invention is not intended to depict every illustrated embodiment or every implementation of this disclosure. Attached Figure Description

[0017] The accompanying drawings included in this application are incorporated in and form a part of this specification. They illustrate embodiments of the present disclosure and, together with the specification, serve to explain the principles of the disclosure. The drawings are merely illustrative of certain embodiments and do not limit the scope of the disclosure.

[0018] Figure 1A A first view of a configurable discrete VRM card before it is attached to the system is depicted.

[0019] Figure 1B A second view depicts a configurable discrete VRM card after it has been attached to the first system.

[0020] Figure 1C A third view depicts the configurable discrete VRM card after it is attached to the second system.

[0021] Figure 2 A method for using configurable discrete VRM cards is described.

[0022] Figure 3 A configurable discrete VRM card that can be configured by a set of contacts on a VRM card connector is described.

[0023] Figure 4 A configurable discrete VRM card that can be configured by a configuration selector chip is described.

[0024] Figure 5 Representative key components of a computer system that can be used according to embodiments are depicted.

[0025] While the invention is subject to various modifications and alternatives, its details have been shown by way of example in the accompanying drawings and will be described in detail. However, it should be understood that the invention is not limited to the specific embodiments described. Rather, the invention is intended to cover all modifications, equivalents, and substitutions that fall within its scope. Detailed Implementation

[0026] This disclosure relates to voltage regulation modules, and more specifically, to pluggable voltage regulation module cards. While this disclosure is not necessarily limited to such applications, its various aspects can be understood through the discussion of various examples using this context.

[0027] Typical computer systems utilize voltage regulation modules (sometimes referred to herein as “VRMs”) to manage power delivery to various components within the specifications of the computer system. For example, a computer system with a 12V power supply may include a first VRM for the system processor responsible for converting the system’s 12V power supply to 3V, and a second VRM for the system memory responsible for converting the system’s 12V power supply to 1.2V. A typical VRM includes inductors (sometimes called “chokes”) that not only step down the voltage to a desired level but also typically prevent sudden changes in the output voltage. VRMs also typically include capacitors fed by the inductors. Capacitors can be used to filter ripple in the output power and prevent voltage drops or surges when the current required by a component suddenly increases or decreases. In these VRMs, a single capacitor or a group of capacitors may be shared by the VRM’s inductors, or each inductor may have its own dedicated capacitor. The VRM’s inductors are typically fed by semiconductor switches (e.g., MOSFET switches), which allow current to flow to the inductors when the switch is closed. The VRM components that switch and step voltages are referred to as the "power stage" in this document. Typically, a power stage includes a pair of switches, an associated inductor, a driver, telemetry, and fault protection.

[0028] A VRM typically includes a controller that adjusts the power stage settings based on the needs of the VRM output and the power consumption components. For example, a VRM controller (also referred to herein as a "VRM controller") can open and close the power stage switch to increase and decrease the voltage output by the VRM. For instance, when such a VRM controller closes the semiconductor switch of the power stage, power is supplied to the inductor, causing the inductor to charge. As the inductor charges, the voltage output by the inductor (and thus the voltage output by the VRM) increases. For example, if the VRM controller targets an output voltage of 1.4V for a memory module, it can close the switch and allow the inductor to charge when the VRM controller detects a VRM output of 1.398V. However, when the VRM controller detects that the VRM output has increased to 1.402V, it can open the switch, cutting off power to the inductor (i.e., cutting off the power stage). By rapidly changing the state of the power stage in a regular pattern sometimes called a "duty cycle," the VRM controller can increase the possibility of the VRM providing a voltage output within the specifications of computer system components.

[0029] In a typical VRM, the VRM controller uses a feedback loop to detect the properties of the voltage output by the VRM. Using the feedback loop, the VRM can monitor, for example, the voltage supplied to system components, and react quickly if conditions cause the output voltage to rise above or fall below component requirements. For example, if a change in processor workload causes a sudden increase in the current drawn by the processor, the VRM's output voltage may drop to a dangerously low level. By using the VRM feedback loop, the VRM controller should be able to detect this voltage drop almost immediately, allowing the VRM to react quickly (e.g., by increasing the duty cycle of the power stage).

[0030] As a result of this switching nature of the VRM power cycle, the actual voltage output of the VRM inductor typically resembles an oscillating wave centered on the target voltage. The magnitude of this wave (i.e., the typical high and low deviations of the inductor's output from the target voltage) can depend on the requirements of the components supplying the output. For particularly sensitive components, only small deviations may be acceptable in order to maximize system performance or avoid system instability. Therefore, in the example above, instead of an output between 1.398V and 1.402V, a VRM output powering the memory modules in a high-performance server could be required to be between 1.3999V and 1.4001V.

[0031] Similarly, some systems may involve very rapid changes in the current drawn by components, which can cause significant, abrupt changes in the output voltage of the VRM. For example, a graphics processing unit (sometimes referred to here as a "GPU") may alternate between demanding a very small amount of current to a relatively large amount of current and returning to a relatively small amount of current. If the GPU is also sensitive to voltage changes above a reasonable threshold, the GPU may require the VRM to be able to respond to these voltage changes very quickly. However, the rate at which the VRM can respond is limited by the effective inductance of the power stage.

[0032] In these cases, a VRM relying on a single power stage may not provide sufficient performance or reliability, and additional parallel power stages can be employed to improve response. In these VRMs, each power stage can be independently controlled by the VRM controller and can be referred to as an independent "power stage." These power stages sometimes each include dedicated capacitors to, for example, eliminate voltage ripple at the output. On the other hand, these power stages sometimes share a common source of capacitance (e.g., a capacitor or a set of capacitors shared among all power stages at a given output).

[0033] For example, a system processor may operate with acceptable stability within a voltage range of 2.7V to 3.3V, but achieve maximum performance between 3.298V and 3.300V. To provide power to the processor within this maximum performance range, a VRM with a single power stage may be insufficient, potentially causing even small variations in the output supplied by the VRM or requested by the processor to increase above the 3.3V stability limit, thus requiring the processor to shut down. However, a VRM with, for example, four power stages may be able to provide power within the maximum performance range.

[0034] In a typical VRM with multiple power stages, the VRM controller sets the duty cycle of each power stage so that the overall output of the VRM meets the requirements of the system components to which the VRM provides power. For example, in a VRM with two power stages, the VRM can drive the power stages out of phase with each other. In other words, the VRM can close the semiconductor switch of the first power stage in a periodic mode and close the semiconductor switch of the second power stage in an offset periodic mode, so that the two power stages alternate.

[0035] In some computer systems, each electronic component (or component subsystem) may have a dedicated VRM. For example, in some systems, a first VRM may power a first processor die, a second VRM may power a second processor die, and a third VRM may power the system memory. In this system, each VRM may have its own set of power stages and its own VRM controller. However, in some computer systems, multiple sets of power stages may share a single VRM controller. For example, the processor die may be powered by a first set of power stages, and the system memory may be powered by a second set of power stages. However, these two sets of power stages may each be controlled by a separate VRM controller.

[0036] In systems where a single VRM controller manages multiple sets of power stages for more than one system component, the VRM controller must typically be able to independently monitor and respond to the properties of the voltage output to each component. Accordingly, these VRM controllers often include multiple feedback loops. For example, a first set of power stages may be connected to a first feedback loop, and a second set of power stages may be connected to a second feedback loop. Although these sets of power stages will independently power the output and be independently monitored by independent feedback loops, a single VRM controller can control each set of power stages, and therefore they can be referred to herein as and belong to the same VRM.

[0037] In some industries and applications within those industries, maintaining high performance of systems powered by VRMs (or VRM arrays) can be extremely important. In some cases, a VRM's inability to consistently provide an output voltage across a narrow range of system requirements may force system components to operate at lower performance levels, thus degrading overall system performance. Furthermore, a temporary failure of the VRM to provide an output voltage with a stable range for a component may cause component failure, requiring a system restart. In either case, the result can potentially lead to a costly reduction in system performance. Therefore, in applications requiring consistent operation of the VRM over a very specific range, VRMs with a large power phase and highly reliable, high-quality components (e.g., semiconductor switches and capacitors) are typically used.

[0038] However, equipping a VRM with multiple power stages composed of reliable, high-quality components can significantly increase the cost of the VRM. Unfortunately, this can also increase the cost of the entire computer system to which the VRM is integrated. This damage can be exacerbated when the VRM is integrated into a system (e.g., on the system motherboard or backplane). In these systems, failure of non-VRM components may require replacing numerous system components, including those on which the VRM is integrated (e.g., the motherboard or GPU board). In these cases, it may be necessary to replace an expensive VRM that is functioning perfectly within system requirements. Similarly, if components integrating the VRM (e.g., capacitors) begin to fail, replacing them may also require replacing other system components, such as integrated, expensive, and perfectly functioning central processing units. Over time, these incidental and unnecessary replacement costs can significantly increase maintenance costs in scenarios with multiple computer systems in use.

[0039] For these reasons, expensive computer systems are often designed to utilize discrete VRM cards (sometimes referred to herein as "intercalated VRM cards" or simply "VRM cards"), which can be attached to (and removed from) the system via a standard or proprietary socket (e.g., a socket designed to accept card edge connectors). Intercalated VRM cards can typically be inserted into and removed from the system when it is not powered. Therefore, if a non-VRM component of the system fails and the system is replaced with a replacement system having the same voltage requirements, the discrete VRM can potentially be removed from the failed system and inserted into the replacement system. In this case, the expensive VRM can be reused, potentially significantly reducing replacement costs (and long-term maintenance).

[0040] Unfortunately, system requirements sometimes change, and replacing a faulty system with a replacement system whose voltage requirements are the same as the faulty system may not be recommended or even feasible. For example, if the faulty processor requires a replacement system backplane (e.g., if the processor package is soldered to the backplane), it may be desirable to replace both the system backplane and the processor with newer components that offer higher performance and efficiency (e.g., a more modern processor model). However, if both systems use discrete VRMs to power the processors, the discrete VRM used to power the faulty processor may not meet the requirements of the updated processor.

[0041] This situation can also occur when system components are updated without system failures. For example, high-performance use cases may operate on regular upgrade cycles to maintain high performance across systems. These high-performance systems are often the same type of systems that require expensive, reliable VRMs and therefore benefit from discrete VRMs rather than integrated VRMs. Unfortunately, the requirements of modern system components can frequently necessitate replacing discrete VRMs when other system components are replaced, thus limiting the benefits derived from using a discrete VRM design.

[0042] Some embodiments of this disclosure address the aforementioned limitations by enabling the discrete VRM design to be reconfigured based on the requirements of the system to which it is added. For example, when inserted into a first system, the discrete VRM card may be configured to provide two outputs. The first output may be a central processing unit operating at 3.5V and requiring four power levels, and the second output may be system memory operating at 1.2V and requiring two power levels. However, when inserted into a second system, the same discrete VRM card may be configured to provide three outputs. The first output may be a central processing unit operating at 4.0V and requiring six power levels, the second output may be a graphics processing unit operating at 1.0V and requiring four power levels, and the third output may be system memory operating at 1.4V and requiring two power levels.

[0043] Some embodiments of this disclosure may include a VRM card design characterized by multiple controllers. For example, a single VRM card may include three controller chips, each including two feedback loops. This would enable a single VRM card to output six independent power supplies if necessary. As another example, a simpler VRM card may include a single controller chip with two feedback loops. This would also enable a simpler VRM card to output two independent power supplies if necessary.

[0044] Some embodiments of this disclosure may also include a power level critical signal multiplexer attached to each power level of the VRM card. Depending on the desired VRM configuration, the power level critical signal multiplexer can enable each power level to connect to any loop of the VRM card. For example, the VRM card may include 10 power levels, each with a power level critical signal multiplexer attached. Each of these power level critical signal multiplexers may include multiple outputs that allow the VRM card to select which feedback loop each power level is connected to. For example, if the 10-power-level VRM card also includes 2 controllers and a total of 4 feedback loops, each of the 10 power level critical signal multiplexers may include four outputs (one for each feedback loop). By selecting a first output for the first 4 power level critical signal multiplexers, the first 4 power level critical signal multiplexers can be connected to a first feedback loop. In other words, the first 4 power levels will be combined into a single output power source controlled by the first feedback loop. Similarly, by selecting a third output for power stage critical signal multiplexers 5 to 8, power stages 5 to 8 will be combined into a single output power source controlled by a third feedback loop. Finally, by selecting a fourth output for power stage critical signal multiplexers 9 and 10, power stages 9 and 10 will be combined into a single output source controlled by a fourth feedback loop.

[0045] Some embodiments of this disclosure provide instructions to each VRM controller when the VRM card is inserted into a computer system. These instructions can inform the controller which power level it is controlling, the default voltage level of those power levels, and the desired voltage range for each output. Therefore, when the VRM card is inserted into a system requiring a first feedback loop to output three power level signals for a set of memories, the VRM card can provide instructions to the VRM controller informing it that the first feedback loop is controlling power levels 9, 10, and 11 at specific target voltages. When the VRM card is inserted into a second system requiring the first feedback loop to output a 10 power level signal for the CPU core, the VRM card can provide instructions to the VRM controller informing it that the first feedback loop is controlling power levels 1 through 10 at specific target voltages.

[0046] In some embodiments, these instructions are provided to the VRM controller in the form of a configuration file. For example, when the first system is inserted, the VRM card may provide instructions to the VRM controller to load a first configuration file. The first configuration file may provide the VRM controller with the information needed to control the power levels assigned to the VRM controller. However, when the second system is inserted, the VRM card may provide instructions to the VRM controller to load a second configuration file. The second configuration file may provide instructions different from those of the first configuration file based on the needs of the second system. That is, like the first configuration file, the second configuration file may provide a list of power levels in the feedback loops assigned to the VRM controller and the instructions necessary to control those power levels (e.g., voltage targets).

[0047] Some embodiments of this disclosure incorporate a configuration selector. In some embodiments, the configuration selector may take the form of a resistor, pin, or simple circuit that sends a signal to the VRM controller. This signal may inform the VRM controller of the profile that the VRM controller should load. This profile may identify the power stage assigned to the VRM controller. Using this information, the VRM controller may notify the power stage critical signal multiplexer of the correct output to be guided to the appropriate feedback loop.

[0048] In some embodiments, the configuration selector can inform the power stage critical signal multiplexer and one or more controllers what VRM card configuration is required for the system to which the VRM card is inserted. For example, the VRM card can be designed to have only two configurations, selectable based on whether the VRM card is inserted into system A or system B. When the VRM card is inserted into system A, the configuration selector can identify the system's attributes and send a signal to one or more VRM controllers and the power stage critical signal multiplexer informing them to use the "System A configuration". However, if the same VRM card is inserted into system B, the configuration selector can identify the system B's attributes and send a signal to one or more VRM controllers and the power stage critical signal multiplexer informing them to use the "System B configuration".

[0049] The form of the configuration selector can vary depending on the requirements of the implementation. For example, in some embodiments, a discrete VRM card designed to be used only in a small number of systems and therefore designed to alternate only between a small number of different configurations, a set of pins or resistors capable of sending a "high" or "low" signal to the VRM controller, or a short binary code based on which of those pins is set "high" may be sufficient.

[0050] However, as the number of possible configurations in which VRM cards are designed to be used increases, simple configuration selector designs may become insufficient. Therefore, some VRM cards incorporate more complex configuration selectors, such as multiplexers, application-specific integrated circuits (sometimes called "ASICs"), or field-programmable gate arrays (sometimes called "FPGAs").

[0051] For example, a VRM card can incorporate an ASIC configuration selector into the VRM, which is designed to switch between more configurations than could be combined into a single set of pins. The increased complexity of the ASIC allows the VRM card to be designed for a significantly greater number of configurations. Similarly, a VRM card can contain an FPGA configuration selector. Similar to ASICs, FPGA configuration selectors can be beneficial when the VRM card is designed to switch between a larger number of configurations.

[0052] Figure 1A A first view of a configurable discrete VRM card 100 before attachment to a system is depicted. The VRM card 100 includes six power stages 102-112. Each power stage 102-112 may include a power stage, an inductor, and a capacitor (not depicted separately). Each power stage 102-112 is also connected to power stage critical signal multiplexers, such as power stage critical signal multiplexer 114 (connected to power stage 102), power stage critical signal multiplexer 116 (connected to power stage 108), and power stage critical signal multiplexer 118 (connected to power stage 112).

[0053] VRM card 100 includes a single controller chip 120 with two feedback loops 122 and 124 for controlling power stages 102-112. This allows VRM card 100 to be split into two separate outputs. In other words, the VRM card can simultaneously provide an output at one voltage to one system component and an output at a second voltage to another system component. The VRM card also includes a configuration selector 126. The configuration selector 126 can take the form of, for example, a set of pins, a simple circuit, an ASIC, an FPGA, or a control chip.

[0054] Configuration selector 126 includes two outputs: 128 and 130. Output 128 is designed to provide instructions to controller 120. These instructions can take different forms depending on the implementation of VRM card 100. For example, if VRM card 100 is designed to use only two configurations, the instructions carried by output 130 can take the form of a "high" signal (e.g., a 5V signal, sometimes interpreted as "true" or "on") or a "low" signal (e.g., a 0V signal, sometimes interpreted as "false" or "off"). If VRM card 100 is designed to use more than two configurations, the instructions carried by output 130 can take the form of a configuration number (e.g., configuration "5") or a binary code for configuration (e.g., "101"), which can inform VRM controller 120 which configuration profile to retrieve from memory. This configuration profile can inform VRM controller 120 which power levels in loops 122 and 124 are controlled and what the voltage limits are. In some embodiments, the VRM controller 120 may not be connected to memory, in which case the instructions carried by the output 128 can provide configuration file information.

[0055] Output 130 is designed to provide instructions to the power stage critical signal multiplexer. These instructions can take the form of a configuration number (similar to the configuration number provided by output 128) or a list of outputs that each power stage critical signal multiplexer will use.

[0056] Each power stage critical signal multiplexer in power stages 102-112 includes two outputs that connect those power stage critical signal multiplexers to feedback loop 122 or feedback loop 124 based on instructions received from configuration selector 126. As shown, the small dashed line 132 represents a conductive trace (e.g., copper wire) that can connect each power stage critical signal multiplexer to feedback loop 122. Conversely, the large dashed line 134 represents a conductive trace that can connect each power stage critical signal multiplexer to feedback loop 124. Through these connections, each power stage 102-112 will be able to send an interface signal or a set of interface signals to the assigned feedback loop 122 or 124. Note that, for understanding... Figure 1A The paths shown by each of the small dashed lines 132 and 134 are simplified and combined. In some embodiments, each power stage critical signal multiplexer may have an independent connection to each of the feedback loops 122 or 124. Thus, in some embodiments, each feedback loop in feedback loops 122 and 124 may have six connections to the power stage critical signal multiplexer (i.e., one connection to each of the power stages 102-112).

[0057] VRM card 100 includes two connector tabs 136 and 138 that can be inserted into a slot in a computer system (such as in a motherboard or system backplane). For example, connector tabs 136 and 138 may take the form of card edge contacts on the edge of a circuit board on which the VRM card 100 is constructed. Connector tab 136 includes a system connector 140, and connector tab 138 includes conductive contacts 142 to 152. In embodiments where power stages 102-112 are intended to be independently assignable to feedback loops 122 or 124, it may be advantageous for each of conductive contacts 142 to 152 to be electrically isolated from each other. In other words, conductive contact 142 may be isolated from each of conductive contacts 144-152. This would theoretically enable a configuration in which power stage 102 provides a first output (e.g., as controlled by feedback loop 122) via conductive contact 142, and phases 104-112 are all combined to provide a second output via conductive contacts 144-152. Furthermore, by designing VRM 100 such that each conductive contact in conductive contacts 144-152 is also electrically isolated from each other, each power stage can theoretically provide a single output, similar to the example above regarding power stage 102.

[0058] On the other hand, if the VRM 100 is designed for a closed set of systems that never require a specific set of power stages to power different outputs, then the conductive contacts of these power stages can be electrically connected. For example, if power stages 102 and 104 power the same output in all configurations of the VRM 100, conductive contacts 142 and 144 may not benefit from being electrically isolated. Instead, in this example, power stages 102 and 104 could be connected to a single conductive contact instead of two physically different conductive contacts.

[0059] Note that connector tabs 136 and 138, system connector 140, and conductive contacts 142 to 152 are example abstract representations of a method by which the VRM card 100 can be inserted into and connected to a motherboard or system backplane. In other embodiments, other connection form factors, connectors, and the number of connectors may be used.

[0060] System connector 140 can act as a connection point between system motherboards, through which system attributes can be transferred from the system board to configuration selector 126. This system attribute can be transferred from system connector 140 to configuration selector 126 via trace 154. The system attribute can take different forms based on the implementation of VRM card 100. For example, if VRM card 100 is designed to operate between two configurations, the system attribute can be in the form of a "high" or "low" value. It can also be a combination of binary values ​​(such as a set of three "high" or "low" values) transferred via a set of pins and traces, resulting in eight possible configurations (e.g., 000, 010, 100, etc.). The system attribute can also be a configuration number or model identifier for a computer system, through which configuration selector 126 can cross-reference a list of VRM configurations in onboard memory. Therefore, the form factor of system connector 140 can vary based on the type of signal used to identify the system attribute. For example, if system power attributes are identified using the simple presence or absence of voltage (or high or low voltage) at the connection, system connector 140 may take the form of one or more trace contacts capable of transmitting that voltage. On the other hand, if system power attributes are identified based on the system's serial number, or the number of outputs and the voltage range required for those outputs, more complex connections, such as a cluster of signal connectors, may be required.

[0061] Conductive contacts 142 to 152 can serve as the output of each of power stages 102 to 152. For example, the voltage output from power stage 102 can be transmitted to the entire computer system via a connection between conductive contact 142 and the system board. The component to which this output voltage is transmitted via a line may depend on the system configuration. For example, if power stages 102 and 104 are combined into a single output to provide voltage to a memory module, conductive contacts 142 and 144 will provide voltage to that memory via a connection on the system board.

[0062] Finally, although not shown herein, configuration selector 126 may identify VRM configuration based on impedance measurements between conductive contacts 142 to 152 rather than through system connector 140. For example, if power stages 102 to 106 are combined into one output (e.g., to a first processor core) and power stage 108 is combined into a second output (e.g., to a second processor core), conductive contacts 142 to 146 will be connected to different board components than conductive contacts 148 to 152. For this reason, the impedance measurement results between conductive contacts 142, 144, and 146 (or between conductive contacts 148, 150, and 152) will be minimal, while the impedance measurement results between any conductive contact in conductive contacts 142, 144, and 146 and any conductive contact in conductive contacts 148, 150, and 152 can be significantly larger. Therefore, when inserted into a system board, the configuration selector 126 can perform impedance measurements between different pairs of conductive contacts 142 to 152 to identify which conductive contacts are combined into the output. These conductive contact combinations can then be used as a basis for identifying the power stages that should be grouped together into a single feedback loop 122 or 124.

[0063] For ease of understanding, Figure 1B A second view depicts the configurable discrete VRM 100 card after it has been attached to the first system. Figure 1B In this configuration, connector inserts 136 and 138 are inserted into slots 156 on system board 158. Upon insertion, conductive contacts 140 to 152 can contact corresponding contacts within slot 156, thereby enabling communication with the first system via system board 158. Through system connector 140 and trace 154, the first system can transmit system attributes to configuration selector 126. Configuration selector 126 can then transmit instructions to each power level critical signal multiplexer to select the output that connects the corresponding power level to the correct feedback loop. These output selections and connections are... Figure 1B It is drawn using dark solid lines superimposed on the short dashed line 132 and the long dashed line 134.

[0064] For example, solid line 160 shows the output of the power stage critical signal multiplexers 102, 104, 106, and 108, including power stage critical signal multiplexers 114 and 116. Solid line 160 shows the connection of power stages 102 to 108 with feedback loop 122. Therefore, Figure 1B The feedback loop 122 is shown to control the first output of the VRM card 100, which consists of power stages 102 to 108 and is transmitted to the board 158 via conductive contacts 142 to 148.

[0065] On the other hand, solid line 162 shows the output of the power stage critical signal multiplexers (including power stage critical signal multiplexer 118) connecting power stages 110 and 112. Solid line 162 also shows the connection of power stages 110 and 112 to feedback loop 124. Therefore, Figure 1B The feedback loop 124 is shown to control the first output of the VRM card 100, which consists of power stages 110 and 112 and is transmitted to the board 158 via conductive contacts 150 and 152.

[0066] Figure 1C A third view depicts the configurable discrete VRM card 100 after being attached to the second system. (See attached image.) Figure 1C As shown, VRM card 100 has been inserted into slot 164 of system board 166 of the second system. Due to the difference in power requirements between the first and second systems, the system attributes received by configuration selector 126 are different. Figure 1B The system attributes received in the configuration. Therefore, the configuration selector has organized power stages 102 to 112 into different outputs. Specifically, with... Figure 1B Compared to the configuration shown, the power stage critical signal multiplexer 116 has switched its output, thus connecting it to feedback loop 124 instead of 122. Therefore, the VRM card 100 now delivers two outputs, each with three power stages, instead of one output with four power stages and one output with two power stages. Specifically, power stages 102 through 106 are now controlled by feedback loop 122 in the first output, and power stages 108 through 112 are now controlled by feedback loop 124 in the second output.

[0067] For example, if Figure 1B The system, consisting of a processor die and a memory both powered by the VRM card 100, may have already experienced [something]. Figure 1B and Figure 1C The switching between the configurations shown. For example, a processor die might require four power stages, while memory might only need two. However, Figure 1C The system may include a processor package with two connected processor dies, each requiring its own output. In this system, a single die can be smaller than [a certain size]. Figure 1B The second system can have a single die, and therefore three power stages are sufficient to power each individual die. Furthermore, the second system can have an embedded VRM built into the system board 166 that provides power to the system memory, and therefore the VRM card 100 will not need to dedicate any of the power stages 102 to 112 to the system memory. Thus, all six power stages 102 to 112 can be dedicated to the processor package.

[0068] Figure 2A method 200 using a configurable discrete VRM card is described. For example, it can be used... Figures 1A to 1C VRM card 100 Figure 3 VRM card 300 or Figure 4 The VRM card 400 is used to execute method 200. Method 200 begins at box 202, where the VRM card is inserted into a system designed to receive power from the VRM card. In box 204, when inserted into the system, the VRM card detects the system's power attributes. Power attributes, as used herein, may refer to the system's power requirements (e.g., the number of outputs, the voltage range of those outputs), system identifiers (e.g., model number, serial number), or identifiers of a power configuration number (e.g., binary code, configuration 5). Depending on how the VRM card and the system are designed to communicate, this detection can occur in several ways.

[0069] For example, conductive contacts on the VRM card connector (e.g., contacts on the card edge connector of the VRM card) can utilize contacts on the system board to complete the circuitry. In some embodiments, the voltage or current flowing through the circuit can indicate system power attributes. In these embodiments, a configuration selector on the VRM card can read the voltage or current flowing through the circuit to determine power attributes. For example, if the VRM card is designed to provide power to three different products with three different power requirements, then each of these products can form a circuit with a configuration selector in a different voltage range. One of these products can be designed to form a circuit containing voltages between 0 and 3 volts, a second of these products can be designed to form a circuit containing voltages between 5 and 8 volts, and a third of these products can be designed to form a circuit containing voltages between 10 and 13 volts. In this example, whether the system is the first, second, or third product can be a system power attribute, which can be identified by the configuration selector by recognizing the voltage range of the circuit formed by the product.

[0070] In another example, conductive contacts on the VRM card connector may contact a set of pins on the system board (or in a slot mounted on the system board). A configuration selector can identify system power attributes by determining which of these pins is connected to circuitry where voltage is present (i.e., on which pins voltage is detected). This determination can be used to formulate a code that can then be used to identify the system's power requirements. In this example, the code or power requirement may be referred to as a power attribute. For example, the VRM card connector may contact a set of four pins on the system board. The configuration selector can determine that the first and third pins in this set have measurable values, thus generating the code "1010". In some embodiments, this code may be cross-referenced to a table that associates the code with system power requirements (or VRM configuration). In other embodiments, the voltage on the pins may be connected to a series of logic gates that can be used to set the output of the configuration selector. Using a set of four pins, there will be 16 possible code combinations, resulting in 16 possible output potentials.

[0071] In another example, conductive contacts on the VRM card connector can form a connection between a configuration selector on the card and memory on the system board. If the configuration selector takes the form of a microprocessor, it can then request and process various information from that memory that can be used as power attributes for the system. For example, the configuration selector can request the system's serial number, system model, the number of outputs requiring power from the VRM card, the voltage range of components on the board, the VRM card configuration number corresponding to the system's power requirements, and others. The configuration selector can then analyze this information to determine the system's power requirements.

[0072] In another example, the VRM card connector may not include any contacts dedicated to collecting information about the computer system to which the VRM card is connected. Instead, a configuration selector can analyze the connection formed between the power stages of the VRM card connector and the computer system. For example, the VRM card may have 16 contacts on the card edge connector, each contact potentially specific to one of the 16 power stages on the VRM card. The configuration selector can perform impedance measurements between each contact to determine which contacts are connected to the same component. For example, if the first four contacts are connected to the same set of memory modules, there will be very little impedance between these four contacts. Similarly, if contacts 5 through 10 and contacts 11 through 16 are all connected to a separate processor, a very small impedance will be measured between any of contacts 5 through 10 and any of contacts 11 through 16. However, relatively large impedances may be measured between contacts in one range of these ranges and contacts in another range of these ranges (e.g., between 3 and 6, 8 and 13, 4 and 12). Therefore, by measuring these impedance values, the configuration selector can identify the number of outputs the system requires (3 in this example) and the number of power stages for each (4, 6, and 6 in this example). These numbers can be used as system power attributes.

[0073] Regardless of how the system power attribute is detected in block 204, it can be used in block 206 to identify the configuration of the VRM card necessary to meet the system power requirements. This may include, for example, selecting one of a limited number of predetermined configurations for the VRM card. For instance, if the power attribute detected in block 204 identifies the computer system as one of two products for which the VRM is designed to be powered, then block 206 may include identifying the power configuration corresponding to that product. This can be as simple as having a configuration selector select one of two outputs based on whether the system power attribute is high (i.e., “on” input) or low (i.e., “off” input). In other embodiments, block 206 may include cross-referencing binary codes, serial numbers, or model numbers with a table in memory that associates those numbers with a VRM card configuration number.

[0074] Once the configuration selector identifies the VRM card configuration in block 206, it can send VRM commands to a set of VRM controllers in block 208 based on the identified configuration. The format of these VRM commands may vary depending on the embodiment of the VRM card. For example, in some embodiments, VRM commands may include voltage targets, power stage allocations, VRM instructions, etc.

[0075] For example, a configuration selector can output a voltage to the VRM controller that falls within one of a set of predefined voltage ranges. The VRM controller can detect this voltage and, based on the predefined voltage range it falls within, retrieve a configuration file from the memory module on the VRM card. In this example, the VRM instruction sent to the VRM controller takes the form of a voltage that instructs the VRM controller to retrieve a specific configuration file.

[0076] Similarly, the configuration selector can also output a series of voltages that can be interpreted as configuration codes. For example, the configuration selector can output two power pulses simultaneously or in series at specific voltages, each falling within one of three voltage ranges (e.g., ranges A, B, and C). Receiving a first signal in a second range (e.g., range B) and a second signal in a first range (e.g., range A) can instruct the VRM controller to retrieve the configuration file corresponding to configuration "BA," while receiving a first signal in a third range and a second signal in a third range can instruct the VRM controller to retrieve the configuration file corresponding to configuration "CC." These configuration files can then inform the VRM controller which power stages each feedback loop controls and the target voltage range.

[0077] As another example, a more sophisticated configuration selector (e.g., an ASIC or microprocessor) could, in response to identifying the VRM card configuration in block 206, retrieve the corresponding profile from the memory module and forward VRM instructions to the VRM controller based on those instructions. In some such embodiments, these VRM instructions may simply be the retrieved profile; in other embodiments, the configuration selector may send specific instructions to each VRM controller or feedback loop. For example, the configuration selector could send instructions to the feedback loop of the first controller to maintain the total output within voltage range 1, and could send instructions to the feedback loop of the second controller to maintain the total output within voltage range 2.

[0078] Once the configuration selector identifies the VRM card configuration in block 206, it can then assign feedback loops to the power stage critical signal multiplexers in block 210. Similar to the VRM instructions sent in block 208, the form of these assignments can vary depending on the VRM card implementation. For example, in some embodiments, the configuration selector can send a specific voltage (e.g., high or low) signal to all power stage critical signal multiplexers. This signal can be provided as input to each power stage critical signal multiplexer circuitry, allowing each power stage critical signal multiplexer to "select" an output (e.g., a signal cluster) corresponding to one of the feedback loops of the VRM controller. For example, a 10V signal could cause the power stage critical signal multiplexer of power stage 3 to select the second feedback loop of controller 1, while the same voltage signal could cause the power stage critical signal multiplexer of power stage 9 to select the first feedback loop of controller 3. This embodiment can be advantageous, for example, when the number of potential VRM card configurations is low and can be pre-identified.

[0079] In another embodiment, the configuration selector can output a separate signal to each power stage critical signal multiplexer. This can be achieved using an analog voltage programmable selection mechanism. For example, the configuration selector can output a 2V signal to a first power stage critical signal multiplexer, a 5V signal to a second power stage critical signal multiplexer, and a 10V signal to a third power stage critical signal multiplexer. In this example, each power stage critical signal multiplexer can have four outputs. The first output can be selected when receiving a signal between 0V and 3.0V, the second output can be selected when receiving a signal between 3.1V and 6.0V, the third output can be selected when receiving a signal between 6.1V and 9.0V, and the fourth output can be selected when receiving a signal between 9.1V and 12V. Thus, in this example, the first power stage critical signal multiplexer will select a first output (e.g., the first feedback loop of the first controller), the second power stage critical signal multiplexer will select a second output (e.g., the second feedback loop of the first controller), and the third power stage critical signal multiplexer will select a fourth output (e.g., the second feedback loop of the second controller). This embodiment can be advantageous, for example, when there are many potential configurations of the VRM card, or when those configurations cannot be predetermined. When the selector in block 204 detects system power attributes (or the VRM card configuration is identified in block 206), new combinations of power stages can be created by updating the voltages sent to each individual power stage critical signal multiplexer in block 210, thereby enabling the updating and customization of the VRM card outputs.

[0080] Once the configuration selector sends the VRM command in box 208 and the feedback loop assignment in box 210, the VRM controller and power stage should be ready to operate together and output power to meet the voltage requirements of the system to which the VRM card is inserted in box 202. Therefore, in box 212, the VRM card can then be operated according to the VRM command and loop assignment.

[0081] Throughout this disclosure, examples of discrete VRM cards have been provided with various numbers of power stages and controllers. Accordingly, it should be understood that the concepts illustrated herein can be applied to discrete VRM cards without any explicit limitation on the number of power stages and controllers. In some use cases, a limited number of controllers and power stages may be beneficial. For example, if the VRM card is designed to serve only a limited number of predetermined computer systems with a predetermined set of power requirements, including more controllers and power stages than necessary to serve those predetermined computer systems could increase the cost of designing and manufacturing the VRM without providing any benefit. Similarly, such a VRM card may not benefit from flexible and (e.g., through the installation of new hardware instructions or firmware updates) updatable controllers, power stage critical signal multiplexers, and configuration selectors. However, if the VRM card is designed to serve an uncertain number of computer systems with various uncertain power requirements, it may be beneficial to design the VRM card to include a larger number of controllers and power stages, thereby increasing the chances that the VRM card will be able to adapt to the power requirements of future computer systems. Similarly, it can be beneficial to design such a VRM card in a way that allows the VRM card to adapt to the needs of future systems (e.g., by updating the configuration selector with new software or by updating the memory modules on the VRM with a new computer system model and corresponding VRM configuration).

[0082] Figure 3 A configurable discrete VRM card 300, which can be configured by a set of contacts on a VRM card connector, is described. The VRM card 300 can be advantageous in situations where the VRM card is designed to serve only a limited number of predetermined computer systems with a predetermined set of power requirements.

[0083] For example, VRM card 300 includes eight power stages 302 to 316 with corresponding power stage critical signal multiplexers. VRM card 300 also includes two VRM controllers 318 and 320, each with two feedback loops. Although in Figure 3 Only the output from the multiplexer attached to power stage 306 is depicted, but this is for presentation and understanding purposes. In reality, each of power stages 302 through 316 can be connected to all four feedback loops.

[0084] The VRM card 300 also includes a configuration selector 322 that can detect power system attributes via contacts 324 and 326. When the VRM card 300 is inserted into a computer system, contacts 324 and 326 can, for example, contact corresponding pins. These pins can conduct current falling within a predetermined set of voltage ranges to contacts 324 and 326. For example, by pre-determining a set of two voltage ranges (e.g., 0V to 3V and 3V to 6V), contacts 324 to 326 can together detect a total of four possible combinations of voltage ranges. For example, this might be sufficient if the VRM card 300 is designed to provide power to three predetermined computer systems. For example, the first computer system may be a desktop system that may require two output voltage signals (e.g., power stages 302 to 312 for the core processor and 314 to 316 for the cache memory), the second computer system may be a storage server that may require four output power signals (e.g., power stages 302 and 304, power stages 306 and 308, power stages 310 and 312, and power stages 314 and 316, each for an independent memory module), and the third computer system may be a computing server that may require one output (e.g., power stages 302 to 316 for the core processor).

[0085] Configuration selector 322 can use output 328 to provide feedback loop allocation to each of power stages 302 to 316 and provide VRM commands to controllers 318 and 320 via output 330. In some embodiments, for example, configuration selector 322 can forward signals it receives from contacts 324 to 326 via outputs 328 and 330. In these embodiments, configuration selector 322 can take the form of a splitter / repeater.

[0086] Upon receiving a feedback loop assignment, the power stage critical signal multiplexer can selectively connect its corresponding power stage to the output of one of the feedback loops. In a previous example where the VRM card 300 is designed to provide power to three predetermined computer systems, a first and third combination of voltages provided by output 328 can connect power stage 306 to the first feedback loop of controller 318, while a second combination of voltages can connect power stage 306 to the first feedback loop of controller 320.

[0087] VRM controllers 318 and 320 can receive VRM instructions in output 330 and retrieve VRM profiles from memory module 332 based on those instructions. In a previous example where VRM card 300 is designed to provide power to three predetermined computer systems, a first combination of voltages provided by output 330 enables each controller 318 and 320 to acquire a first VRM profile, a second combination of voltages enables each controller 318 and 320 to acquire a second VRM profile, and a third combination of voltages enables each controller 318 and 320 to acquire a third VRM profile. Alternatively, each controller 318 and 320 can acquire a VRM profile dedicated to that individual controller, resulting in six possible VRM profiles instead of three. These VRM profiles can inform each controller which power stage each feedback loop is controlling and the output range that each feedback loop will target.

[0088] Figure 4 A configurable discrete VRM card 400, configurable by a configuration selector chip, is depicted. The VRM card 400 may be advantageous in applications where the VRM card is designed to serve an unpredictable number of computer systems with various uncertain power requirements. For example, the VRM card 400 has been designed to have a large number of power stages 402, each with an attached power stage critical signal multiplexer. The VRM card 400 is also designed to have three VRM controllers 404-408, each with two feedback loops. This gives the VRM card 400 a total of six possible power outputs and a large number of power stage combinations.

[0089] The VRM card 400 is also designed to have a microprocessor configuration selector 410 and a dedicated configuration memory module 412. The microprocessor configuration selector 410 can process a wide variety of power attributes and cross-reference them with information from the configuration memory module 412, thereby enabling it to send various feedback loop assignments to the power stage threshold signal multiplexer of power stage 402 and to send VRM commands to controllers 404 to 408. The microprocessor 410 connects to a VRM card connector 414. The VRM card connector 414 can abut contacts in a socket on the motherboard (e.g., motherboard or backplane) of a computer system and receive power attributes from memory on that computer system. These power attributes can take various forms, such as a configuration number (e.g., configuration 521), the model of the computer system, the serial number of the computer system, or even the requested power requirements (e.g., a 3-power-stage output at 1.2V, an 8-power-stage output at 4.2V, and a 4-power-stage output at 3.0V).

[0090] The VRM card connector 414 can also be used to update the firmware of the microprocessor configuration selector 410 and the files within the configuration memory module 412. For example, if a new system is being developed that will be powered by the VRM 400, the VRM 400 can be updated by downloading an updated table to the configuration memory module 412 that lists the model of the new system and the feedback loop allocation and VRM instructions required to power the new system.

[0091] Figure 5 Representative main components of an example computer system 501 that may be used according to embodiments of the present disclosure are depicted. The specific components depicted are presented for illustrative purposes only and are not necessarily the only such variations. Computer system 501 may include a processor 510, memory 520, input / output interfaces (also referred to herein as I / O or I / O interfaces) 530, and a main bus 540. Main bus 540 may provide communication paths for other components of computer system 501. In some embodiments, main bus 540 may be connected to other components, such as a dedicated digital signal processor (not depicted).

[0092] The processor 510 of the computer system 501 may include one or more CPUs 512. The processor 510 may additionally include one or more memory buffers or caches (not depicted) that provide temporary storage for instructions and data to the CPU 512. The CPU 512 may execute instructions on input provided from a cache or from memory 520 and output results to the cache or memory 520. The CPU 512 may include one or more circuits configured to perform one or more methods consistent with embodiments of this disclosure. In some embodiments, the computer system 501 may include multiple processors 510 of a typically relatively large system. However, in other embodiments, the computer system 501 may be a single processor with a single CPU 512.

[0093] The memory 520 of computer system 501 may include a memory controller 522 and one or more memory modules (not shown) for temporary or permanent storage of data. In some embodiments, memory 520 may include random access semiconductor memory, storage devices, or storage media (volatile or non-volatile) for storing data and programs. Memory controller 522 may communicate with processor 510 to facilitate the storage and retrieval of information in the memory modules. Memory controller 522 may communicate with I / O interface 530 to facilitate the storage and retrieval of inputs or outputs in the memory modules. In some embodiments, the memory modules may be dual in-line memory modules.

[0094] I / O interface 530 may include I / O bus 550, terminal interface 552, storage device interface 554, I / O device interface 556, and network interface 558. I / O interface 530 can connect main bus 540 to I / O bus 550. I / O interface 530 can route instructions and data from processor 510 and memory 520 to the respective interfaces of I / O bus 550. I / O interface 530 can also route instructions and data from the respective interfaces of I / O bus 550 to processor 510 and memory 520. Each interface may include terminal interface 552, storage device interface 554, I / O device interface 556, and network interface 558. In some embodiments, each interface may include a subset of the aforementioned interfaces (e.g., embedded computer systems in industrial applications may not include terminal interface 552 and storage device interface 554).

[0095] The logical modules (including, but not limited to, memory 520, processor 510, and I / O interface 530) throughout the computer system 501 can transmit faults and changes of one or more components to a hypervisor or operating system (not shown). The hypervisor or operating system can allocate various resources available in the computer system 501 and track the location of data in memory 520 and the processes allocated to the various CPUs 512. In embodiments where elements are combined or rearranged, aspects of the capabilities of the logical modules can be combined or reallocated. These variations will be apparent to those skilled in the art.

[0096] This invention can be a system, method, and / or computer program product at any possible level of technical detail integration. The computer program product may include a computer-readable storage medium (or media) having computer-readable program instructions thereon for causing a processor to execute aspects of the invention.

[0097] Computer-readable storage media can be tangible devices capable of retaining and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital universal disk (DVD), memory sticks, floppy disks, mechanical encoding devices such as punch cards or protrusions in slots having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses passing through fiber optic cables), or electrical signals transmitted through wires.

[0098] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a suitable computing / processing device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network), or to an external computer or external storage device. The network may include copper cables, optical fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the suitable computing / processing device.

[0099] Computer-readable program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and procedural programming languages ​​(such as the "C" programming language or similar programming languages). The computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as a standalone software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)) or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) may execute computer-readable program instructions by utilizing state information from the computer-readable program instructions to personalize the electronic circuitry in order to perform aspects of this invention.

[0100] This document describes aspects of the invention with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each block of the flowchart illustrations and / or block diagrams, as well as combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0101] These computer-readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in one or more boxes of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that directs a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, such that the computer-readable storage medium storing the instructions comprises an article of manufacture containing instructions that implement the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0102] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce computer-implemented processing, such that the instructions that execute on the computer, other programmable apparatus, or other device perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0103] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. Each block in a flowchart or block diagram may represent a portion of a module, segment, or instruction, comprising one or more executable instructions for implementing a specified logical function(s). In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the figures. For example, two blocks shown consecutively may actually be completed as a single step, executed simultaneously, substantially simultaneously, or with partial or complete temporal overlap, or the blocks may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action or executes a combination of dedicated hardware and computer instructions.

[0104] The description of various embodiments of this disclosure has been presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein has been chosen to explain the principles of the embodiments, practical applications, or technical improvements to technologies found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.

Claims

1. A discrete voltage regulation modulation (VRM) card, comprising: A collection of VRM controllers, wherein the collection includes VRM controllers having two feedback loops; Power stage; A power stage critical signal multiplexer, wherein the output of the power stage critical signal multiplexer determines the feedback loop with which the power stage communicates; and A configuration selector, wherein the configuration selector determines the feedback loop allocation for the power stage critical signal multiplexer and provides VRM instructions to the VRM controller. The configuration selector is configured to receive system power attributes from a computer system connected to a discrete VRM card, wherein the feedback loop allocation and the VRM commands are based on the system power attributes; and The discrete VRM card operates according to the feedback loop allocation and the VRM instructions.

2. The discrete VRM card according to claim 1, wherein the configuration selector provides the feedback loop allocation to the VRM controller, and wherein the VRM controller loads a configuration file based on the feedback loop allocation and VRM instructions.

3. The discrete VRM card according to claim 1, wherein, The configuration selector allocates the feedback loop to the power stage critical signal multiplexer.

4. The discrete VRM card according to claim 1, wherein, The configuration selector is a multiplexer.

5. The discrete VRM card according to claim 1, wherein, The feedback loop is allocated to a voltage signal within a predetermined voltage range.

6. The discrete VRM card according to claim 1, wherein, The VRM command is a combination of voltage signals.

7. The discrete VRM card according to claim 1, wherein, The configuration selector is an FPGA.

8. The discrete VRM card according to claim 1, wherein, The configuration selector is a microprocessor.

9. The discrete VRM card according to claim 1, wherein, The VRM directives include a configuration file.

10. The discrete VRM card according to claim 1, wherein, The VRM instructions include: A set of power stages, the feedback loop communicating with the set of power stages; and Voltage range.

11. A method for operating a voltage regulation module (VRM) card according to claim 1, comprising: Insert the voltage regulation module (VRM) card into the system board of the computer system; The power attributes of the computer system are detected by the VRM card; The VRM card configuration is identified by the VRM card based on the power attribute; The set of VRM controllers on the VRM card that send VRM instructions based on the identification; Based on the identification, the VRM card distributes a set of feedback loops to the power stage critical signal multiplexer on the VRM card; as well as The VRM card is operated according to the VRM instructions and feedback loop assignment.

12. The method according to claim 11, wherein, The VRM instructions include signals that identify the configuration file.

13. The method according to claim 11, wherein, The power attribute includes a voltage signal within a predetermined voltage range.

14. The method according to claim 12, wherein, Sending the VRM command includes sending the voltage signal to the set of VRM controllers.

15. The method according to claim 11, wherein, The power attribute is the model number of the computer system.

16. The method of claim 14, wherein, The identification includes cross-referencing the power attribute with a list of VRM card configurations on the memory module of the VRM card.

17. The method according to claim 11, wherein, Detecting power properties includes performing impedance measurements at a set of contacts that form a connection between a set of power levels on the VRM card and a set of components in the computer system.

18. A computer program product comprising program instructions executable by a voltage regulation module (VRM) card according to claim 1 to cause the VRM card to: The system detects that the VRM card has been inserted into the computer system; Detect the power attributes of the computer system; VRM card configuration is identified based on the aforementioned power attributes; Based on the identification, VRM instructions are sent to the VRM controller on the VRM card; Based on the identification, a feedback loop allocation is sent for the power stage critical signal multiplexer on the VRM card.

19. The computer program product according to claim 18, wherein, The feedback loop assignment is sent to the VRM controller.

20. The computer program product according to claim 18, wherein, The feedback loop allocation is sent to the power stage critical signal multiplexer.

21. The computer program product of claim 18, wherein the detection power attribute includes: Read the set of voltage signals sent to the VRM card; Each voltage signal in the voltage signal set is classified into a voltage range in a predetermined voltage range set; VRM configuration numbers are generated based on the aforementioned classification.

22. The computer program product of claim 21, wherein the VRM configuration number includes a list representing the voltage range of the voltage signal set.

23. The computer program product of claim 18, wherein the power attribute includes a set of requested power outputs and a power requirement for each of the set of requested power outputs.

24. The computer program product according to claim 18, wherein, The program instructions also cause the VRM card to: Receive an updated list at the VRM card, the updated list relating power attributes and VRM card configuration; and The updated list is stored in the memory module on the VRM card.

Citation Information

Patent Citations

  • Configurable power management integrated circuit

    US10126791B2

  • Upgradeable voltage regulator modules

    US6594556B1