Processor device voltage characterization
Patent Information
- Application Number
- CN202310194332.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-06-10
- Filing Date
- 2017-06-02
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2037-06-02
Smart Images

Figure CN116166111B_ABST
Abstract
Description
[0001] This invention patent application is a divisional application of the invention patent application with international application number PCT / US2017 / 035566, international application date of June 2, 2017, application number 201780036056.4 that entered the Chinese national phase, and titled "Processor Device Voltage Characterization". background
[0002] Integrated circuits (such as those used in computing systems and associated processor devices) typically consume electrical power related to supply voltage, operating frequency, performance level, or the characteristics of various leakage and parasitic components. Power consumption in computing devices (such as computers, laptops, desktop computers, servers, smartphones, game consoles, etc.) can have a large power budget allocated to the main processor, graphics processor, or system-on-a-chip (SoC) components. These processors may include more than one domain, which isolates power consumption between specific parts of the integrated circuit device, such as isolating power consumption to each specific processing or graphics core with corresponding supply voltage requirements.
[0003] Overview
[0004] This paper presents power reduction and voltage regulation techniques for computing systems and various devices. In one example, a method includes receiving a voltage characterization service via a communication interface of a computing device, delivered by a deployment platform remote from the computing device. The method includes implementing the voltage characterization service for a processing unit of the computing device to determine that at least one input voltage of the processing device is lower than a manufacturer-specified operating voltage. The voltage characterization service includes functional testing that utilizes associated system components of the computing device in a context to iteratively adjust the voltage to operate the processing device. During the implementation of the voltage characterization service, the method includes monitoring for operational failures of at least the processing device and, in response to the operational failure, restarting the processing device using a recovery voltage higher than the current value of the iteratively adjusted voltage.
[0005] This overview is provided to introduce, in a simplified form, some concepts that will be further described in the detailed description below. It is to be understood that this overview is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Brief description of the attached diagram
[0006] Many aspects of this disclosure can be better understood with reference to the following figures. Although several implementations are described in conjunction with these figures, this disclosure is not limited to the implementations disclosed herein. Rather, it is intended to cover all alternatives, modifications, and equivalents.
[0007] Figure 1An example of a voltage regulation environment in an implementation is shown.
[0008] Figure 2 A method for regulating the operating voltage environment in one implementation is shown.
[0009] Figure 3 Includes graphs illustrating voltage and power reduction in one implementation.
[0010] Figure 4 An example of a voltage regulation environment in an implementation is shown.
[0011] Figure 5 The operation of a voltage regulation environment in one implementation is illustrated.
[0012] Figure 6 An example of thermal voltage adjustment operation in one implementation is shown.
[0013] Figure 7 Example computing systems are illustrated that are applicable to any architecture, platform, process, method, and operational scenario disclosed herein.
[0014] Figure 8 An example of a method for handling operational safety voltages in an implementation is given. Detailed description
[0015] The power consumption in computing devices (such as computers, laptops, desktop computers, servers, smartphones, game consoles, etc.) can have a large power budget allocated to the main processor or system-on-a-chip (SoC) components. As the processing demands in computing devices increase, the associated power consumption rises proportionally, leading to difficulties in device packaging, battery life, heat dissipation, fan noise, and speed limits. When integrated circuit devices such as processors or processing devices are manufactured, large voltage margins are included to account for variations between parts, system integration margins, and end-of-life (EoL) margins. These margins allow for uniformity and ease of manufacturing testing, but come with higher voltage and power consumption. Operating at higher voltages and power consumption in integrated circuits and associated equipment can result in increased component stress and lower long-term component reliability. Processing devices can also be manufactured using microfabrication processes, which shrink feature geometries and result in reduced associated device capacitance and operating voltage requirements, potentially leading to lower power consumption. However, device leakage becomes more problematic with these smaller geometries.
[0016] These processing devices may also include more than one power domain, which isolates power consumption between specific parts, such as isolating power consumption to each specific processing core or graphics core with corresponding power supply voltage requirements. Power consumption and associated temperature of the computing device can be reduced by throttling the processing device, such as by lowering / slowing down the operating frequency or disabling selective power domains. Some examples of throttling or selective power-off include limiting AC power only by disabling clocks or specific logic functions, leaving DC power consumption unaffected. DC power consumption can be reduced by shutting down individual parts or the entire processing device. However, the processing device's capabilities and performance are typically reduced during these throttling operations. Other power-saving techniques involve providing system-level voltage regulators and power supplies with improved operating efficiency.
[0017] The various examples and implementations described herein advantageously provide lower power consumption in processing devices and associated computing systems without altering their performance levels. Voltage reduction techniques for computing systems and processing devices are discussed to determine reduced operating voltages below those specified by the manufacturer. These reduced operating voltages can result in associated power reduction. Moreover, the techniques and implementations exemplify various ways to employ these reduced operating voltages once determined, such as in systems with safety features to limit changes in operating voltage or to assist in thermal management.
[0018] The voltage regulation techniques described herein utilize processing devices, such as system-on-a-chip (SoC) devices, within the context of various system components of a computing assembly. These system components may include one or more housings used during functional testing of the processing device, thermal management elements (such as cooling fans, heat sinks, or heat pipes), memory elements (such as random access memory or cache memory), data storage elements (such as mass storage devices), and power electronics elements (such as voltage regulation or electrical conversion circuitry systems). Furthermore, the voltage regulation techniques described herein operatively utilize internal components or portions of the processing device, such as processing core elements, graphics core elements, northbridge elements, input / output elements, or other integrated features of the processing device.
[0019] During the manufacturing of the processing device, manufacturing tests can adjust various voltage settings for the manufacturer-specified operating voltages to suit the various associated voltage domains or voltage rails of the processing device. When placed in a computing device such as a computer, server, gaming system, or other computing device, voltage regulation elements use these manufacturer-specified operating voltages to provide the appropriate input voltage to the processing device. A voltmeter may be employed, which associates the various parts of the processing device with the manufacturer-specified operating voltages and the specific clock frequencies of those parts. Therefore, many processing devices employ hard-coded frequency / voltage (F / V) meters that can be set via fuses to indicate the voltages preferred for circuitry systems supporting different voltage domains and operating frequencies. In some examples, these fuses include a voltage identifier (VID) indicating a normalized representation of the manufacturer-specified operating voltage.
[0020] Built-in System Test (BIST) circuitry can be used to test individual parts of a processing device; however, this BIST circuitry typically activates only a small portion of the processing device and only traverses dedicated and predetermined test paths. While the BIST circuitry can test the correctness / effectiveness of the processing device's fabrication, it generally fails to capture manufacturing variations between devices that still meet BIST thresholds. Manufacturing variations between devices include variations in metal width, metal thickness, insulation thickness between metal layers, contact and via resistance, or variations in transistor electrical characteristics across multiple transistor types, and all of these variations affect the actual power consumption during functional operation. These structures not only differ from processing devices, but they also vary within the processing device based on normal process variations and lithography differences, resulting in subtle differences in properties across all these structures. As a result, reduced operating voltages can vary and can be virtually unique on each processing device. BIST also typically produces pass / fail results under specific test conditions. These test conditions often differ significantly from actual system operation in terms of performance (and power), and therefore do not accurately represent the device's system power and performance capabilities. Because of the significant variability between BIST results and functional results, it can be observed that the voltage used in BIST is sufficient for operation, but may require a large voltage margin. In contrast to BIST testing, the functional tests described herein employ a functional mode, which activates not only the entire processing device but also other components of the system surrounding it that may share a power domain or other element context with the processing device.
[0021] In the examples presented herein, functional tests are used to determine the reduced operating voltage (Vmin) of a processing device, such as a system-on-a-chip (SoC), graphics processing unit (GPU), or central processing unit (CPU). These functional tests run system-level programs that test not only the processing device but also the entire computing system in which the processing device is installed. Target applications may be employed that utilize the computing system and processing device to ensure that specific processing units within the processing device are properly activated. This may include ensuring that all parts of the processing device are fully activated, a subset of units are fully activated, or a specific set of background operations is activated along with target power operations.
[0022] In a specific example, a System-on-a-Chip (SoC) is used in a computing system. An SoC may include a Central Processing Unit (CPU) with one or more processing cores, a Graphics Processing Unit (GPU) with one or more graphics cores, a Northbridge that handles communication between the cores, integrated memory, and non-SoC memory. Input / output sections are also included in the SoC to allow communication with Universal Serial Bus (USB) ports, Peripheral Component Interconnect Fast (PCIe) links, mass storage interfaces, network interfaces such as Ethernet or wireless networks, user interface devices, games, and other devices communicatively coupled to the SoC. Multiple power domains may be employed within the SoC, such as a first power domain for the processing cores, a second power domain for the Northbridge, and a third power domain for the graphics cores, etc. Each of these cores can be functionally tested in parallel to ensure flow propagation and logic activation across the core boundaries, including both clock and voltage boundaries.
[0023] Functional testing of the CPU portion can include simultaneous operations on all processing cores (or a sufficient number of cores to represent the "worst" possible scenarios a user application might experience) to generate both DC and AC power requirements for the processing cores that replicate real-world operation. Distributed checks, such as watchdog timers or error checking and reporting elements built into the processing device, can be provided to monitor or report alerts in the event of a failure, crash, or system hang. A similar approach can be used for the GPU, where functional testing ensures that the GPU and associated graphics cores are focused on high-level graphics rendering activities to generate worst-case power consumption (DC and AC), temperature rise, on-chip noise, and a sufficient number of real data paths to generate an accurate Vmin operation. Northbridge testing can be performed similarly and also includes memory activity between external memory devices and the on-chip portions served by those memory devices.
[0024] The power reduction using the voltage regulation process described herein can employ a voltage regulation module (VRM) or an associated power controller circuitry with selectable voltage supply values (e.g., in increments of 12.5mV, 6.25mV, 3.125mV, etc.), wherein the processing equipment communicates with the VRM or associated power controller circuitry to indicate the desired voltage supply value during a state where the associated power / functional test or processing equipment may be operating.
[0025] Once the reduced voltage value is determined, the processing device can receive an input voltage set to the desired reduced value from the associated VRM. This allows the input voltage of the processing device to be set below the level specified by the manufacturer, resulting in several technical effects. For example, the associated power savings can be significant (such as 20-50 watts in some examples, or 30% in others), and cost savings can be achieved in designing and manufacturing reduced-capacity system power supplies, reducing the VRM specifications of the processing device, and using cheaper or smaller heat sinks and cooling fans. Smaller system enclosures or packages can be used. Furthermore, power savings can lead to system characteristics that reduce power supply requirements or battery consumption.
[0026] Now turn to the various examples shown in the included figures, which are given Figure 1 This illustrates a voltage regulation environment in practice. Specifically, Figure 1 This includes a voltage regulation environment 100. Environment 100 includes a deployment platform 101 and a user system coupled to one or more communication links, such as communication link 152. Other example systems and components that can implement the features discussed for user system 110 are included at least below. Figure 4 and Figure 7 middle.
[0027] User system 110 includes Figure 1 Several components are detailed herein. These components include system processor 120 and power system 130. System processor 120 may include one or more integrated elements, such as processor core 121, cache memory 122, communication interface 123, graphics core 124 and northbridge 125, and other integrated elements not shown for clarity. Additionally, user system 110 may include assembly elements, namely housing element 111, thermal management element 112, memory element 113, storage element 114, communication interface 115 and graphics element 116, and other elements not shown for clarity. When system processor 120 is installed in user system 110, these assembly elements provide system resources and context for the operation of system processor 120.
[0028] In operation, power system 130 provides one or more input voltages to system processor 120 via link 151. System processor 120 can request one or more input voltages or change the levels of one or more input voltages via link 150. Once an input voltage is provided, system processor 120 can boot into operating system (OS) to provide various operations of user system 110, including user applications, communication services, storage services, gaming services, or other features of the computing system. To establish one or more input voltage levels, deployment platform 101 can transmit software 140 or related instructions to user system 110 via link 152, which performs a voltage adjustment process to determine the reduced operating voltage of user system 110 or system processor 120.
[0029] include Figure 2 The operation of the voltage adjustment process is illustrated below. Specifically, Figure 2 This is a flowchart illustrating the methods of operating environment 100 in an implementation. Figure 2 The voltage regulation method discussed herein allows the system processor 120 or the associated user system 110 to determine the appropriate reduced input voltage for the system processor 120 in accordance with the deployment system 101, thereby resulting in power savings for the user system 110.
[0030] Processor devices such as system processor 120 were initially incorporated (211) into the manufactured system, namely user system 110. Figure 1 In this diagram, system processor 120 is shown installed in user system 110, such as on the motherboard or other circuit board of user system 110. As mentioned above, user system 110 also includes numerous context assembly components. In many examples, user system 110 is a system in which system processor 120 is installed during system assembly prior to testing and shipping to the user. Therefore, the hardware and software components included in user system 110 can be the actual components that system processor 120 uses to operate once installed on the user site.
[0031] User system 110 initially uses a default voltage (212) to power system processor 120. For example, power system 130 may provide an input voltage via link 151 according to a manufacturer-specified operating voltage, indicated by VID information received from system processor 120 via link 150. In other examples, such as when iteratively providing a gradually increasing voltage to system processor 120, the default voltage may include a starting point from which the voltage level increases over time. In examples using incrementally increasing voltages, the startup voltage may be selected to be sufficiently low and less than those supplied by the manufacturer. Other default voltage levels may be used. Once the input voltage is provided, system processor 120 may initialize and boot into an operating system or other functional state.
[0032] Deployment platform 101 can transmit one or more functional tests via link 152 for implementation by system processor 120 after booting into the operating system. Deployment platform 101 can also transmit software, firmware, or instructions to user system 110 via link 152 to initiate one or more functional tests of user system 110 during a voltage regulation process. These functional tests may include performance tests utilizing various integrated components of system processor 120 and various context assembly components of user system 110. Prior to boot, there may be portions of a voltage regulation process or functional tests to adjust the input voltage of system processor 120, such as by first initializing a first portion of system processor 120 before initializing a second portion. The following... Figure 7-8 Further discussion of these parts can be found there.
[0033] Once the system processor 120 can begin implementing functional tests, it runs one or more performance tests on each power domain (213) of the system processor 120. These power domains may include different input voltages and different input voltage levels. Functional tests may utilize two or more power domains simultaneously, which may further include different associated clock signals to run associated logic at predetermined frequencies. As mentioned above, functional tests may include operations initiated simultaneously on more than one processing core to generate both DC and AC power requirements for replicating real-world operations for the processing core, graphics core, and interface core. Furthermore, functional tests include processes that utilize elements of the user system 110 (such as storage devices, memory, communication interfaces, thermal management elements, or other elements) in accordance with the elements of the system processor 120.
[0034] The system processor 120 will typically remain at a specific operating voltage or a set of operating voltages for a predetermined period of time. This predetermined period of time allows sufficient time for functional testing, not only utilizing all desired system and processor components but also allowing for the occurrence of any errors or failures. The dwell time can vary and can be determined from the functional testing itself, or it can be set to a predetermined time based on manufacturing / testing preferences. Furthermore, the dwell time can be established based on past functional tests and set to reflect past test results indicating that a certain number of system processor errors / failures will be captured within a reasonable timeframe.
[0035] If the system processor 120 and the user system 110 do not experience any faults or errors related to the voltage adjustment process during the dwell time, the specific input voltage applied can be considered high enough to successfully operate the user system 110 (214). Therefore, a specific iteration of the input voltage level applied to the system processor 120 is considered a "pass," and another gradually adjusted input voltage can be applied. Figure 2 As shown in operation (216), the input voltage of system processor 120 can be incrementally reduced, system processor 120 is restarted, and functional tests are performed again for the dwell time. In some examples, the restart of processor 120 can be omitted, and further operational tests can be applied at a new voltage level for each dwell time frame in a continuous or repetitive manner. This process is repeated until the lower limit (215) of the voltage regulator associated with power system 130 is reached, or a related fault of system processor 120 or user system 110 is experienced. This process is employed to determine the reduced operating voltage of system processor 120 in the context of the assembly components of user system 110. Once the voltage adjustment of the associated power domain is found, indications of these voltage adjustments can be stored in operation 217 for later use at the voltage “minimum” (Vmin), optionally with a margin suitable for operational “safety” to reduce undetected faults or errors during functional testing.
[0036] Functional tests may include one or more applications, scripts, or other operational test procedures that bring a specific power domain to the desired power consumption and operation, which can be combined with ensuring that user system 110 also operates at a preferred temperature. These functional tests may also run integrity checks (such as checking deterministic and repeatable mathematical calculations or checksums). The voltage supplied by power system 130 may decrease one increment at a time, and the functional tests run for a period of time until a fault occurs. The functional tests can automatically handle all possible fault modes resulting from a voltage drop exceeding the functional level. Possible faults include checksum errors detected at the test application level, kernel-mode crashes detected by the operating system, system hangs, or hardware errors detected by the system processor that lead to a "synchronization flood" error mechanism. All fault modes can be automatically recovered for further functional testing. To enable automatic recovery, a watchdog timer may be included and started in the accompanying controller, such as a System Management Controller (SMC), embedded controller, or other control circuitry system. The functional tests may issue commands to the accompanying controller to periodically initialize or reset the watchdog timer. If the watchdog timer expires or the system processor 120 experiences a fault mode, the accompanying controller may perform a system reset for the user system 110 or the system processor 120. A fault mode that causes a system reset may prompt the associated circuitry or accompanying controller to initialize the system processor 120 with a “default” or “known good” voltage level from the power system 130. These default levels may include manufacturer-specified voltages or voltage levels associated with a recent functional test “pass” condition.
[0037] Once user system 110 initializes or starts after a failure during functional testing, the failure can be recorded by the failure process during functional testing or by another entity monitoring the functional test (such as deployment platform 101). The voltage level can then be increased by a predetermined amount, which may include one or more increments used during the previous voltage drop process. In some examples, this increase may correspond to 2-3 increments, which may take into account test variability and time-to-fail variability during functional testing.
[0038] The voltage value determined from the voltage regulation process can be stored in a memory device or data structure along with other relevant information, such as the date / time of the functional test, version information of the functional test, or other information. A version identifier can be used to enable "in-field" special processing of results determined by different versions of user system 110. This data structure can be securely signed by a hardware security module (HSM) to ensure the authenticity of the stored voltage information and related information. The digital signature of the data structure can be verified during each subsequent startup of user system 110, and the stored voltage information can be used as the selected operating voltage for any remaining factory / manufacturing tests and subsequent user site operations. Figure 8 Other examples of safe voltage handling are discussed in the paper.
[0039] After the voltage regulation process is completed, the resulting user system characteristics (e.g., power level, battery operation, system attributes) are significantly improved. Therefore, the voltage regulation process described above allows the user system to independently "learn" the appropriate reduced operating voltage during manufacturing or integration testing. Examples of in-situ voltage regulation processes are shown below. Figure 4 It is described in the text.
[0040] The iterative voltage search process can be repeated individually for each power domain and for each power state within each domain, where power savings will be achieved. For example, a first set of functional tests can be run while iteratively decreasing the input voltage corresponding to a first voltage / power domain of the system processor 120. A second set of functional tests can then be run while iteratively decreasing a second input voltage corresponding to a second voltage / power domain of the system processor 120. When performing the second set of functional tests for the second input voltage, the first voltage can be set to a value found during the first functional test or set to a default value, etc.
[0041] Advantageously, no line-end (EoL) voltage margin needs to be added during manufacturing testing or during initial shipment of the user system 110. The EoL margin can be added as needed, such as 10 to 50 millivolts (mV) and other values, or it can be added after in-situ testing as described later below. The EoL margin is typically added to integrated circuit systems to provide sufficient protection band because the associated silicon timing paths in the integrated circuit slow down over time with use. Although the amount of margin typically used for EoL may only be 15-30 mV (depending on operating conditions, technical attributes, and expected lifetime), the systems described herein can partially or completely eliminate this margin from the outset. In some examples, the initial voltage margin is used incrementally above Vmin at the initial time, and subsequently, as the system operates during normal use, further EoL margins can be increased proportionally to the total operating time of the system (e.g., in hours) or incrementally based on the operating time of individual voltage domains. Therefore, after the initial voltage adjustment process, additional voltage headroom is restored from the system processor 120, and any necessary headroom for the EoL can be stepped back over the operational lifetime of the user system 110. Furthermore, by operating the user system at a lower voltage for an extended period, system reliability is further improved, and system acoustics are also more optimized, as lower power levels mean the cooling system will require a lower average fan speed. These acoustic benefits may gradually diminish over time as the EoL headroom is stepped back, but it will improve the initial customer experience.
[0042] In a further example, the process described above can be performed in an exemplary or model user system, where the system processor 120 is included in a receptacle or socket configuration. This alternative method can be used in place of the methods listed above or other methods. In this example, a reduced voltage is determined during the device manufacturing process using a receptacle system for system processor testing. In this example, the voltage adjustment process occurs in the receptacle system before the system processor 120 is assembled into the end-user system 110 during manufacturing (e.g., together with other system components in the final assembly). Although some voltage adjustment may occur in the receptacle system, normalized or modeled additional or smaller margins can be removed / added from the final results of the receptacle test to account for variations in the final assembly hardware / software. The found final voltage level can be stored in the non-volatile memory of the system processor 120 or in another system that subsequently transmits the final voltage level to the final assembly. Another brief final integral voltage adjustment test can occur to verify the receptacle test results. Alternatively, the receptacle test can establish a default or baseline voltage that the fully integrated system can use in another voltage adjustment process.
[0043] Figure 3Various graphs illustrating how the voltage regulation process might progress are shown, namely Graph 300 and Graph 320. Graph 300 shows a "downward" incremental search using a gradually decreasing voltage Vmin, where a safety margin is added at the end of the process to establish the operating voltage V. OP The remaining margin (V) EOL The voltage level (V0) can be stepped to take EoL into account. Specifically, Figure 300 shows the default or initial voltage level V0 applied to the processor device. After the dwell time of the functional test, a successful result prompts an incremental decrease to V1 and a retest under the functional test. Further incremental decreases can be performed for each successful iteration of the functional test up to the associated time indicated in Figure 300. Finally, the lowest or reduced operating voltage is found at V3, and an optional margin is applied to establish V... OP V is used for the normal operation of the processing equipment. OP This period of operation is indicated by t5. This time may occur during the on-site deployment of associated systems. After the specified number of hours indicated by t5, the EoL margin may be stepped up to the established V. EOL Multiple steps of the EoL margin may occur, but for clarity, only one is shown in Figure 300.
[0044] In contrast to the downward voltage search in Figure 300, Figure 320 illustrates the upward voltage search process. Figure 320 shows the establishment of the operating voltage V using an increasing increment Vmin of a gradually rising voltage. OP The remaining margin (V) EOL The voltage increments can be stepped to take EoL (Effective Origin Level) into account. Specifically, Figure 320 shows the manufacturer-specified voltage level at V0 and the initial test voltage level V1 applied to the processor device. After the functional test dwell time at V1, a failed test result prompts an incremental increase to V2 and a retest under the functional test. Further incremental increases can be performed for each unsuccessful test iteration of the functional test up to the associated time indicated in Figure 300. Finally, a successful operating voltage is found at V3, where the functional test indicates a "pass" condition. Since the increments can be relatively large, the operating voltage can be established by short tests at slightly lower voltages to establish V0. OP Or in other examples V OP It can be set to V3. V is used for normal operation of the processing equipment. OP This period of operation is indicated by t4. This time may occur during the on-site deployment of associated systems. After the specified number of hours indicated by t4, the EoL margin may be stepped up to the established V. EOLMultiple steps of the EoL margin may occur, but for clarity, only one is shown in Figure 320.
[0045] exist Figure 3 The voltage level indicated may vary depending on the actual voltage level applied to the processing device. For example, for devices operating around 0.9V, the process in Figures 300 or 320 can be used to identify a reduced voltage level. Considering changes in user applications and device aging over time, a 50mV safety margin can be added to Figure 300 to establish V. OP However, other values may be selected depending on the operating voltage, increment stage size, and aging considerations.
[0046] The processes in Figures 300 and 320 can be implemented independently for each power supply or power domain associated with the processing device. Running the process one power supply or power domain at a time allows differentiation of which power supply or power domain is causing the system failure when looking up Vmin for each domain. However, simultaneously lowering multiple voltages across each power supply or power domain can be useful for reducing test time, especially when the failure can be differentiated between the individual power supply or power domains. In a further example, a “binary” voltage adjustment / search algorithm can be used to find Vmin by lowering the voltage to half of the expected Vmin instead of in incremental steps as shown in Figures 300 or 320. In such examples, further testing of Vmin may be necessary if the voltage is increased once a failure occurs and the system test is successfully run with this increased value. Other voltage adjustment / search techniques can be used that do not deviate from operation to establish the true Vmin during manufacturing, which can then be appropriately adjusted to provide a reasonable margin for end-user operation.
[0047] Figure 3 The document also includes Figure 330. Figure 330 illustrates the potential power savings for a number of processing devices. When Vmin is established for each processing device, the power consumption of the processing device, indicated by the "Gaussian" distribution, is shifted to the left, thus indicating a lower total power consumption for the device. It should be noted that in examples without a "normal" device distribution, these power consumption shifts also occur.
[0048] Return to Figure 1The deployment platform 101 includes components such as a platform from which voltage regulation processes are stepped, and where the failure or success of functional tests is monitored. The deployment platform 101 may include communication interfaces, network interfaces, processing systems, computer systems, microprocessors, storage systems, storage media, or other processing devices or software systems, and may be distributed among multiple devices or across multiple geographical locations. Examples of the deployment platform 101 may include software such as operating systems, logs, databases, utilities, drivers, network software, and other software stored on computer-readable media. The deployment platform 101 may include one or more platforms hosted by a distributed computing system or cloud computing service. The deployment platform 101 may include logical interface elements such as software-defined interfaces and application programming interfaces (APIs).
[0049] User system 110 and deployment platform 101 can communicate via one or more communication links 152. In some examples, communication link 152 includes one or more network links such as wireless or wired network links. Other configurations in which the components of user system 110 and deployment platform 101 are communicatively coupled through various logical, physical, or application programming interfaces are also possible. Example communication links may use metal, glass, optical fiber, air, gaps, or some other material as the transmission medium. Example communication links may use various communication interfaces and protocols, such as Internet Protocol (IP), Ethernet, USB, Thunderbolt, Bluetooth, IEEE 802.11 WiFi, or other communication signaling or communication formats, including combinations, modifications, or variations thereof. Communication links may be direct links or may include intermediate networks, systems, or devices, and may include logical network links transmitted over multiple physical links.
[0050] User system 110 includes a computing system or computing assembly, such as a computer, server, tablet device, laptop computer, smartphone, gaming system, entertainment system, storage system, or other computing system, including combinations thereof. User system 110 includes... Figure 1Several components are detailed herein. These components include system processor 120 and power system 130. Additionally, user system 110 may include assembly components, namely housing element 111, thermal management element 112, memory element 113, storage element 114, communication interface 115, and graphics element 116, as well as other components not shown for clarity. Housing element 111 may include structural support elements, a housing, chassis element, or other elements that house and structurally support other components of user system 110. Thermal management element 112 may include heat sinks, fans, heat pipes, heat pumps, cooling elements, or other elements for managing and controlling the temperature of user system 110. Memory element 113 may include random access memory (RAM), cache memory devices, or other volatile memory elements employed by system processor 120. Storage element 114 includes non-volatile memory elements, such as hard disk drives (HDDs), flash memory devices, solid-state drives (SSDs), or other memory devices that store the operating system, applications, or other software or firmware of user system 110. Communication interface 115 may include network interface, peripheral interface, storage interface, audio / video interface, or other interfaces that communicatively couple the user system to external systems and devices. Graphical element 116 may include display interface, monitor, touch screen, touch interface, user interface, etc.
[0051] Power system 130 typically includes voltage regulator circuitry, controller circuitry, power filtering elements, power conditioning elements, power conversion elements, power electronics, or other power processing and conditioning elements. Power system 130 receives power from an external source (such as from a battery or external power supply) and converts / regulates that power to generate voltage and current to operate the components of user system 110.
[0052] Figure 4 This is presented as another example of a voltage regulation process. Figure 4 Field or in-situ voltage regulation of user systems is discussed. Although the following text addresses... Figure 4 The discussion takes place in the context of deployment platforms and user systems located at sites geographically dispersed from each other; however, it should be understood that the characteristics discussed above regarding voltage regulation based on manufacturing testing can be applied to... Figure 4 ,vice versa.
[0053] Figure 4An example of a voltage regulation environment 400 in an implementation is illustrated. Environment 400 includes a deployment platform 402, one or more packet networks 405, and a gaming system 410. In this example, the user system includes a gaming system, but may alternatively employ any user system mentioned herein. Furthermore, the gaming system 410 includes a user interface device such as a game controller 411, and one or more processing devices 412. Other elements of the user system, such as a power control system, are included but not limited to these components. Figure 4 The term "voltage characterization platform element" is omitted to focus on the voltage characterization platform element. Other example systems and elements that can realize the features discussed for game system 410 are at least included above. Figure 1 And the following text Figure 7 middle.
[0054] Deployment platform 402 is located at site "A" at a location remote from site "B" of gaming system 410. Deployment platform 402 and gaming system 410 communicate via one or more packet networks 405 and associated links. For example, site "A" could be a vendor site or distributed computing platform, while site "B" could be a customer or user location, such as a merchant's, residence, or other location. Initially, when processing device 412 is installed in gaming system 410, gaming system 410 may not have been calibrated to operate at a voltage lower than the voltage specified by the manufacturer of processing device 412. Deployment platform 402 may transmit voltage adjustment firmware 430 for delivery to gaming system 410. Gaming system 410 may then implement elements of the voltage adjustment firmware 430 to determine the adjusted operating voltage for processing device 412 used by gaming system 410.
[0055] Figure 5 Example operation of the components of system 400 is included to illustrate this. Figure 5In this process, deployment platform 402 transmits voltage adjustment firmware 430 for delivery to gaming system 410 via packet network 405. Gaming system 410 receives and implements the voltage adjustment firmware 430 to provide voltage adjustment features, such as those provided by initial characterization platform 440 and periodic adjustment platform 450. For example, initial characterization platform 440 may be implemented to perform a voltage search for processing device 412. The resulting voltage data, such as the voltage level found from the voltage search, may be transmitted to storage elements of gaming system 410 or to deployment platform 402. Another voltage adjustment process may be processed by periodic adjustment platform 450, which may provide performance-based voltage adjustment and EoL voltage adjustment to processing device 412, or determine telemetry data derived from monitoring performance data or operational statistics of the gaming system. This telemetry data may be transmitted to gaming system 410 for storage or to deployment platform 402 for comparison with other gaming systems, data analysis, archiving, or other processing.
[0056] As mentioned above, voltage regulation firmware 430 may include an initial characterization platform 440 and a periodic adjustment platform 450. Elements of platforms 440 and 450 may be operated in parallel to implement the various functions discussed herein. Voltage regulation firmware 430 may be implemented using program instructions and, along with other functions, may be implemented at least in part based on the gaming system 410, which may operate as described with reference to the various operating scenarios, sequences, and processes illustrated herein. For example, voltage regulation firmware 430 may include program instructions including an initial characterization platform 440 that, among other functions, establishes a reduced operating voltage for the processor device 412. Voltage regulation firmware 430 may include program instructions including a periodic adjustment platform 450 that establishes an adjustment to the reduced operating voltage with an EoL margin and, among other functions, allows voltage adjustment in various scenarios.
[0057] Now we turn to a specific module of the initial characterization platform 440, which includes a performance simulator 441, a performance monitor 442, voltage control 443, and margin control 444. The performance simulator 441 includes one or more functional tests that utilize components of the processing device 412, such as the processing core, graphics core, communication components, memory components, and other components. The performance simulator 441 also utilizes the processing device 412 in the context of various components of the gaming system 410, such as memory drives, RAM, graphics cards, communication interfaces, fans, housings, thermal management components, power supply components, etc., as described above. Figure 1-2The functional tests discussed herein allow for rigorous operational testing of the gaming system 410 during incremental adjustments to the supply voltage to the processing device 412. Voltage control module 443 allows control over adjustments to the supply voltage to the processing device 412 provided by the power system of the gaming system 410. During operational testing provided by performance simulator 441, performance monitor 442 provides monitoring for faults, crashes, overloads, or other conditions that may indicate the voltage supplied to the processing device 412 is currently too low for proper operation. Margin control 444 determines the margin to be added after a reduced voltage has been found for the processing device 412 in the gaming system 410. The margin may vary based on the lifespan of the gaming system 410 (in an example where the gaming system 410 has had multiple operating hours), the components and elements included in the gaming system 410, expected usage patterns, past usage patterns, or other factors (including combinations thereof). The margin added to each reduced voltage may vary based on the voltage domain, faults recorded during operational testing, or, among other things, a predetermined value.
[0058] The initial characterization platform 440 may be implemented during the startup period of the gaming system 410, while the gaming system 410 is being upgraded to a new version of the operating system or gaming platform software, or at another predetermined time when the gaming system 410 can devote time to non-user functions. A performance simulator 441 is loaded onto the gaming system to apply stress to the associated power requirements and input voltage of the processing device 412, and to cause the input voltage to drop until one or more failures occur. The voltage at which the system fails (or the last known voltage at which the system operates successfully) is recorded and used to establish a new, reduced operating voltage for the processing device 412. A margin of 10-20 mV from these reduced operating voltages may be added for operational safety, and approximately 50 mV for protection bands and EoL degradation applied to the application. Additional protection bands may be added if a small amount is needed for potential temperature effects (e.g., 10-20 mV). All specific voltage values mentioned herein are for illustrative purposes only and are due to actual voltage levels varying with technology and time, and the appropriate amount of protection band can be adjusted as needed. Once the reduced value is found and an appropriate margin is included, the final operating voltage can be stored in a non-volatile memory device for use in subsequent system operations.
[0059] Now we turn to the specific modules of platform 450, which include operation telemetry module 451, EoL scaling module 452, thermal voltage adjustment module 453, standby voltage adjustment module 454, frequency maximization module 455, fail-safe module 456, and user input module 457.
[0060] Telemetry module 451 monitors and stores operating statistics, voltage settings, power consumption, operating hours, workload statistics, or other information for gaming system 410. Telemetry data can help determine the relative stability of system operation for each voltage setting by at least tracking what system and voltage regulation characteristics are being used and what the associated crash rate might occur. Telemetry also indicates whether a lower voltage setting actually reduces the system crash rate due to improved reliability characteristics associated with lower voltage and temperature. Telemetry data can be stored in gaming system 410, such as in logs or databases stored in non-volatile memory devices, and can be transmitted to a deployment platform for further analysis and storage. EoL scaling module 452 can track operating hours or operating stress rates of processing device 412, such as by combining telemetry data, and establish an EoL voltage margin to compensate for EoL degradation over time. A table of voltage margins related to operating hours or other factors can be maintained by gaming system 410 for use when applying EoL margins.
[0061] The thermal voltage regulation module 453 can operate the processing device 412 with an input voltage at a level higher than a previously determined reduced level, and scales down the voltage in response to the temperature or power consumption level of the gaming system 410. For example, a thermal voltage regulation margin can be applied in addition to the guard band or EoL margin discussed herein. This thermal voltage regulation margin allows the gaming system 410 to operate at a power consumption higher than “minimum” or not reduced, but as the temperature inside the gaming system’s enclosure increases, this additional thermal voltage regulation margin may be reduced to provide lower power operation—and consequently, a corresponding decrease in temperature. For example, the gaming system 410 may operate at a manufacturer-specified voltage level until a thermal level indication requires adjustment, and a reduced operating voltage may be applied based on a previously determined Vmin level. In the following… Figure 6 Further discussion on thermal voltage adjustment can be found there.
[0062] The standby voltage adjustment module 454 can also reduce the voltage applied to the processing device 412 in response to the processing device 412 or parts of the gaming system 410 entering an idle or inactive state. In many cases, a reduced voltage level is established to prevent crashes or other malfunctions of the gaming system 410 during normal operation. However, when parts of the gaming system are in standby mode, a reduced voltage margin or other reduced voltage levels can also be applied for these modes. For example, initial characterization can also determine a reduced voltage or reduced margin for the idle state or other modes of the processing device 412. Each voltage domain can be monitored individually for the operating state, and the voltage level adjusted accordingly.
[0063] The frequency maximization module 455 provides enhanced performance to the gaming system 410 in examples where a higher clock frequency than normal is required. A larger clock frequency allows for faster operation of the associated logic, memory, and communication elements of the processing device 412. However, the increased power consumption typically accompanies the increased clock frequency. Similar to the thermal adjustment margin discussed above, additional margins can be applied to allow frequency scaling beyond the guard band or EoL margin. Improving performance by increasing the clock frequency also results in an increase in power consumption at a fixed voltage. However, if the gaming system 410 wishes to maintain constant power consumption or stay within predetermined limits, the voltage can be decreased while increasing the frequency. The process of determining Vmin can still use the original system frequency. However, the nature of the relationship between voltage and frequency (approximately 1% voltage for every 1.5% of frequency) and how both voltage and frequency affect power consumption (leakage and AC power together follow an approximate "voltage cubed times frequency" formula) allows voltage margins to translate into additional performance at a constant power target. In this case, if the computing system can tolerate different performance values, each system can be tuned independently for these different performance values, similar to adjusting voltage levels.
[0064] The fail-safe module 456 provides a fail-safe mechanism, or control of the watchdog element, to ensure that when the gaming system 410 operates below the manufacturer-specified voltage, the voltage can be subsequently increased in the event of erratic, unstable, or faulty system operation. Specifically, in a user system where the voltage on one or more power rails has been set below the manufacturer-specified value, the voltage can be restored to a higher value if system stability (i.e., the number of system crashes or hangs) exceeds a predetermined value or some predetermined threshold. This fail-safe rollback method allows the system to increase the voltage by a small value, an intermediate value, or restore it to the manufacturer-specified voltage in an attempt to restore stable system operation before the user system is logged as a field fault. After a field fault and subsequent rollback, the user system may continue to operate at the rollback voltage level or alternatively be prompted to return to the manufacturer for replacement or repair.
[0065] User input module 457 provides a user input method via one or more user interface elements to allow a user or operator to change the voltage or other properties of gaming system 401. User input module 457 can communicate via user interface elements of gaming system 10 or provide a dedicated API to receive user input from user input devices, graphical user interfaces, or via a web-based user interface. In some examples, the voltage can be reduced based on user instructions or user control. Gaming system 410 can establish user-controllable settings to allow the user to reduce the system voltage to a level below the manufacturer-specified level. However, watchdog and fail-safe features described herein can be used to prevent the system from becoming inoperable during such user voltage adjustments. In further examples, power saving may be more important than system reliability or stability, and margins can be excluded to achieve additional power savings. Faults during functional testing may be ignored due to some non-fatal nature (i.e., graphics rendering errors) to allow even lower voltage operation. Various protection bands can be selected by the user to allow control over how much power saving is ideal relative to (vs.) system stability. Reliability and power saving can be improved by reducing the operating voltage, but if the selected operating voltage is too low, stability will be affected. For example, the first protection band provides low power consumption [i.e., 75mV protection band], the second protection band provides even lower power consumption [i.e., 50mV protection band], and the third protection band provides ultra-low power consumption [i.e., 25mV protection band]. Other levels and protection bands can be selected.
[0066] Figure 4 This illustrates a voltage regulation technique in an existing system where the processor voltage level is incrementally reduced until a safe operating level is reached, either through self-contained firmware code or via online updates. This method achieves power reduction in the user environment without using manufacturing system test equipment and platforms. Instead of (or in addition to) reducing the operating voltage of the processor device, Figure 4 The example in the example utilizes voltage reduction techniques in a consumer environment by running one or more scripts to perform Vmin searches on each power / voltage domain where a reduction is desired. The scripts may run in response to each startup of the gaming system 410, or alternatively be scheduled or implemented periodically to reduce startup time latency.
[0067] However, control over voltage reduction and power consumption can be implemented after the manufacturing and delivery of the gaming system 410, and therefore may not be possible to improve the size of components such as fans, enclosures, heat sinks, etc. Nevertheless, in this case, the user system does achieve power savings and improved reliability characteristics after operating at lower voltage levels, lower power levels, and potentially cooler temperatures. Furthermore, the user system may have improved acoustic characteristics because it operates at a lower cooling capacity than inherent in its design. Other advantages include reduced power consumption in server farms or large computing centers where many computing systems are deployed. Power savings achieved by reducing the operating voltage of processing equipment below the manufacturer-specified level can lead to reduced data center power requirements and cooling requirements. However, because voltage regulation may occur in user site environments where ambient temperatures may not be controllable (as opposed to manufacturing environments), user site temperatures may impact achievable power savings. Some devices perform poorly at their highest temperatures, while others may be limited at their lowest temperatures (i.e., temperature inversion characteristics in devices operating at lower voltages). Although ambient and enclosure temperatures may be known in the user environment, there are limitations to being able to control them as effectively as in the manufacturing environment.
[0068] Turn now Figure 6 This provides several examples of how computer systems and associated processing devices can be operated to allow for thermally based voltage regulation. Although Figure 6 The examples illustrate heat-based or temperature-based voltage regulation, but similar principles can be applied to power-based voltage regulation. Other factors can also be used to regulate voltage, such as standby mode status or cooling system status. Figure 6 The operation can be performed by any processing device discussed herein, such as the thermal voltage adjustment module 453 implemented by processing device 412.
[0069] Table 610 includes three thermal schemes 611-613 in which the computing system can operate. A first scheme 611 is defined where power consumption is less than or equal to a preferred power threshold or system temperature is less than or equal to a first threshold temperature. The temperature of the entire system can be measured, such as the temperature inside the associated housing, or alternatively, the temperature of a specific integrated circuit, such as the silicon chip temperature of the processing device. In this first scheme 611, the computing system operates below desired operating limits and can be operated at a manufacturer-specified voltage or at a voltage level with an associated thermal adjustment margin applied above Vmin. Furthermore, any associated fan or cooling system components operate at optimal levels.
[0070] If the temperature rises, the second scenario 612 can be entered. The temperature may rise due to increased ambient temperature, increased workload or power consumption of associated computing system components, or other factors. The second scenario 612 is defined where power consumption exceeds a preferred power threshold or the system temperature exceeds a first threshold temperature. In this second scenario 612, the computing system operates close to desired operating limits and may still operate at the manufacturer-specified voltage (or at a voltage level with an associated thermal voltage drop margin applied to the minimum operating voltage). Furthermore, any associated fan or cooling system components operate at an increased level compared to the first scenario.
[0071] If the temperature continues to rise, a third scenario 613 can be entered. The temperature may rise further due to increased ambient temperature, increased workload or power consumption of associated computing system components, or other factors. The third scenario 613 is defined where power consumption exceeds a preferred power threshold or the system temperature exceeds a second threshold temperature, which is higher than a first temperature threshold. In this second scenario 612, the computing system exceeds desired operating limits, and the voltage level of the processing device is scaled back to a lower level. These lower voltage levels may correspond to previously determined reduced voltages or the initiation of a reduction in associated thermal voltage drop margins. Furthermore, compared to the first and second scenarios, any associated fan or cooling system components can operate at maximum levels.
[0072] It should be noted that throughout all three schemes in Table 610, no degradation or throttling of the processing equipment's operational performance is employed. Since voltage margin is included in the first scheme, the temperature rise can be offset by reducing the input voltage of the processing equipment, while preserving any operational performance parameters (such as operating frequency, idle state, active state, workload, throughput, bandwidth, or other parameters) unaffected and operating at optimal levels.
[0073] To further illustrate the thermal-based regulation of voltage levels, flowchart 620 is included. In FIG. 620, the processing device operates (621) the computing system at a selected voltage level. These selected voltage levels may initially be a default value, a manufacturer-specified voltage level, or a reduced voltage level with applied thermal margin, among other values. As shown in further operation of FIG. 620, the selected voltage level may change due to an increase in temperature. Once a first temperature threshold is exceeded (622), as found in scheme 612, the processing device may adjust (623) cooling system components to compensate for the increased temperature. Adjusting cooling system components may include adjusting fan speed, louver position, heat sink parameters, climate control system parameters, heat pump settings, or other adjustments, including combinations thereof. If a second temperature threshold is exceeded (624), the processing device may decrease (626) the operating voltage of the processing device, such as by instructing voltage regulation elements to reduce the voltage level supplied to the processing device. These voltage levels may be decreased incrementally in an attempt to mitigate the temperature increase stepwise. In the operations described above, when the voltage level is reduced to compensate for the increased temperature, the performance of the processing device is maintained rather than throttled. However, if a minimum voltage limit is reached (625), the voltage may not be able to be reduced further to compensate for the temperature increase. In response to the minimum voltage limit being reached, the processing device may reduce or throttle (627) system performance to change the clock speed, idle parts of the processing device, shut down various context elements of the computer system, or, in extreme cases, even shut down the entire system. It should be noted that, unlike operation 627, the voltage regulation technique of operation 626 does not degrade or throttle the performance of the processing device. After a period of time, the operating voltage and other adjustments of the processing device may be incrementally returned, or returned to the initial or default levels.
[0074] In further examples, techniques for increasing the operating frequency of a system are provided. For example, a frequency maximization module 455 provides enhanced performance to the gaming system 410. In these further examples, voltage margin is employed to improve system performance rather than reduce system power consumption. Improving performance by increasing the clock frequency can also result in an increase in power consumed at a fixed voltage. However, if a power consumption cap or limit is required, the voltage can be decreased while increasing the frequency. In this case, Vmin can still be found at the original system frequency, as discussed herein. However, the nature of the relationship between voltage and frequency (approximately 1% voltage for every 1.5% of frequency) and how both voltage and frequency affect power consumption (leakage and AC power together follow an approximate "voltage cubed times frequency" formula) allows voltage margin to become additional performance at a constant power target. In this case, if the computational system can tolerate different performance values, each system can be adjusted independently for these different performance values, similar to a decrease in voltage level. While these performance improvements can be applied to the device during the manufacturing process, they can also be implemented in situ using firmware deployed to the user site.
[0075] For this particular example, the minimum operating voltage, discovered using the process mentioned above, is dynamically adopted to extract additional performance from the system without increasing power consumption. This additional performance can be achieved by increasing the clock frequency associated with the specific voltage or voltage domain. Since maximum power is focused on the system's thermal characteristics in many examples, the system's thermal response time allows the voltage to be adjusted without adversely affecting the maximum power consumed from a thermal perspective. Voltage adaptation is achieved by monitoring the processing device's activity level via a performance monitor on the device or by monitoring the associated voltage regulator's current, voltage, or power levels. Depending on the voltage difference between the operating minimum (with an appropriate guard band) and the manufacturer-specified voltage level, the voltage transition between high and low activity levels can then utilize an intermediate voltage level so that the voltage transition between low and high activity is not too large. Voltage swings exceeding 100mV are considered excessive and must therefore be compensated either by incremental voltage increases or simply by using a fixed amount of additional voltage to compensate for low activity states, such as 25mV or 50mV above the minimum voltage.
[0076] Therefore, the techniques discussed for increasing operating frequency and associated device performance allow the system to operate at an initial or default voltage level during periods when additional performance is not expected or required. Once a higher level of activity is needed, the frequency can be increased and the corresponding voltage decreased to keep power consumption (such as power levels in watts) below a preferred level. Once a lower desired power level and / or low activity level is detected, the corresponding voltage and frequency levels can be allowed to revert to their previous values.
[0077] Figure 7 A computing system 700 is illustrated, representing any system or collection of systems capable of implementing the various operating architectures, platforms, scenarios, and processes disclosed herein. For example, computing system 700 can be used to implement... Figure 1 Any user system 110 or Figure 4 The game system 410.
[0078] When implemented by computing system 700, examples of user system 110 or gaming system 410 include, but are not limited to, game consoles, smartphones, tablet computers, laptop computers, servers, personal communication devices, personal assistive devices, wireless communication devices, subscriber equipment, client equipment, access terminals, telephones, mobile wireless phones, personal digital assistants, personal computers, e-books, mobile internet devices, wireless network interface cards, media players, or some other computing devices, including combinations thereof.
[0079] The computing system 700 may be implemented as a single device, system, or apparatus, or it may be implemented as multiple devices, systems, or apparatuses in a distributed manner. The computing system 700 includes, but is not limited to, a housing 701, a system-on-a-chip (SoC) device 710, a southbridge 730, a storage system 731, a video element 732, a memory element 733, a network module 734, auxiliary memory 735, a voltage regulator, an input power adjustment circuitry system 750, a cooling element 752, an SoC thermal element 753, and a thermal monitor 754. The SoC device 710 is operatively coupled to other components in the computing system 700, such as the southbridge 730, storage system 731, video element 732, memory element 733, network module 734, auxiliary memory 735, voltage regulator 740, SoC thermal element 753, and thermal monitor 754. One or more components of the computing system 700 may be included on a motherboard 702, but other arrangements are also possible.
[0080] The SoC device 710 loads and implements software from the storage system 731. The software may include various operating systems, user applications, games, multimedia applications, or other user applications. The software may also include firmware 760, which includes other elements indicated by secure boot firmware 761 and voltage change firmware 762. Other software and firmware elements may be included in the software stored in the storage system 731 and implemented by the SoC device 710, such as… Figure 1 and Figure 4 Found there.
[0081] When implemented by SoC device 710 to provide voltage regulation services, thermal voltage regulation, in-situ characterization, or safe voltage scaling features, the software guides SoC device 710 to perform operations as described herein, at least for the various processes, operating scenarios, and sequences discussed in the above implementation. SoC device 710 may optionally include additional devices, features, or functions not discussed for simplicity purposes.
[0082] Still referencing Figure 7 The SoC device 710 may include a microprocessor that retrieves and implements software from the storage system 731, as well as a processing circuitry. The SoC device 710 may be implemented in a single processing device, but may also be distributed across multiple processing devices or subsystems that cooperate in implementing program instructions. Examples of the SoC device 710 include general-purpose central processing units, dedicated processors, graphics processing units, and logic devices, as well as any other type of processing device, combinations thereof, or variations thereof.
[0083] exist Figure 7 In this SoC device 710, there are processing cores 711, graphics cores 712, communication interfaces 713, memory interfaces 714, security processors 720, electronic fuses 721, security memory 722, and other components. Some components of the SoC device 710 may be included in the northbridge portion of the SoC device 710.
[0084] Storage system 731 may include any computer-readable storage medium that can be read by SoC device 710 and is capable of storing software such as firmware 760. Storage system 731 may include volatile and non-volatile, removable and non-removable media implemented in any method or technique for storing information such as computer-readable instructions, data structures, program modules, or other data. Examples of storage media include random access memory, read-only memory, disk, optical disk, flash memory, virtual and non-virtual memory, magnetic tape cassette, magnetic tape, disk storage or other magnetic storage devices, or any other type of storage medium. In any case, the computer-readable storage medium is not a propagated signal. In addition to computer-readable storage media, in some implementations, storage system 731 may also include computer-readable communication media through which at least some software can communicate internally and externally. Storage system 731 may be implemented as a single storage device, but may also be implemented across multiple storage devices or subsystems placed together or distributed relative to each other. Storage system 731 may include additional elements, such as controllers, capable of communicating with SoC device 710 or possibly other systems.
[0085] Specifically, program instructions may include various components or modules that cooperate or otherwise interact to implement the various processes and operational scenarios described herein. These components or modules may be embodied in compiled or interpreted instructions, or in some other variation or combination of instructions. These components or modules may execute synchronously or asynchronously, serially or in parallel, in a single-threaded or multi-threaded environment, or according to any other suitable execution paradigm, variation, or combination thereof. In addition to firmware 760 or including firmware 760, the software may include additional processes, programs, or components, such as operating system software or other application software.
[0086] Typically, software, when loaded into and executed by the SoC device 710, can transform a suitable apparatus, system, or device (represented by computing system 700) entirely from a general-purpose computing system to a dedicated computing system, tailored to provide voltage regulation services, thermal voltage regulation, in-situ characterization, or safe voltage scaling features, and other ancillary services. In fact, coded software on storage system 731 can transform the physical structure of storage system 731. In different implementations of this specification, the specific transformation of the physical structure can depend on various factors. Examples of such factors may include, but are not limited to, the technology of the storage medium used to implement storage system 731 and whether the computer storage medium is used as primary or secondary storage, among others. For example, if the computer-readable storage medium is implemented as a semiconductor-based memory, the software can transform the physical state of the semiconductor memory when program instructions are encoded therein, such as by transforming the state of the transistors, capacitors, or other discrete circuit elements constituting the semiconductor memory. A similar transformation can occur relative to magnetic or optical media. Other transformations of the physical medium are also possible without departing from the scope of this specification; the examples provided above are merely for the convenience of this discussion.
[0087] Turning to the other components of computing system 700, voltage regulator 740 provides an operating voltage to SoC device 710 with an associated current. Voltage regulator 740 includes various power electronics, power controllers, filters, passive components, and other elements to convert input power received from a power source via link 751 through input power adjustment element 750 into a voltage usable by SoC device 710. SoC device 710 can instruct voltage regulator 740 to provide specific voltage levels for one or more voltage domains, such as... Figure 7The first, second, and third voltage domains 741-743 are defined in the system 700. The SoC device 710 may instruct the voltage regulator 740 to provide specific voltage levels for one or more operating modes, such as normal, standby, idle, and other modes. The voltage regulator 740 may include a switch-mode voltage circuitry or other regulating circuitry. The cooling element 752 may include a fan, heat sink, heat pump, refrigeration element, solid-state cooling device, liquid cooling device, or other cooling element that reduces or maintains the temperature within the housing 701. The SoC thermal element 753 may include elements similar to the cooling element 752, but applied to the SoC device 710 rather than the entire housing 701. The thermal monitor 754 may include one or more thermocouples or other temperature sensing elements that indicate to the SoC device 710 the current temperature inside or outside the housing 701, or the temperature associated with various components of the system 700, including the temperature of the SoC device.
[0088] The Southbridge 730 includes interface and communication elements that provide coupling between the SoC 710 and peripheral devices, user input devices, user interface devices, printers, microphones, speakers, or other external devices and elements. In some examples, the Southbridge 730 includes a System Management Bus (SMB) controller or other system management controller elements. The video element 732 includes various hardware and software elements for outputting digital images, video data, audio data, or other graphics and multimedia data, which can be used to render images on a display, touchscreen, or other output device. Digital conversion equipment, filtering circuitry systems, image or audio processing elements, or other equipment may be included in the video element 732.
[0089] Network element 734 can provide communication between computing system 700 and other computing systems (not shown), which can occur on or on a communication network and according to various communication protocols, combinations of protocols, or variations thereof. Example networks include intranets, the Internet, local area networks (LANs), wide area networks (WANs), wireless networks, wired networks, virtual networks, software-defined networks, data center buses, computing backplanes, or any other type of network, combinations of networks, or variations thereof. The communication networks and protocols mentioned above are well-known and do not need to be discussed in detail here. However, some communication protocols that can be used include, but are not limited to, Internet protocols (IP, IPv4, IPv6, etc.), Transmission Control Protocol (TCP), and User Datagram Protocol (UDP), as well as any other suitable communication protocols, variations thereof, or combinations thereof.
[0090] Memory element 733 may include random access memory (RAM), a cache memory device, or other volatile memory elements employed by SoC 710. Storage system 731 includes non-volatile memory elements such as hard disk drives (HDDs), flash memory devices, solid-state drives (SSDs), optical storage devices, phase-change memory devices, resistive memory devices, or other memory devices storing the operating system, applications, voltage regulation firmware, or other software or firmware of system 700. Auxiliary memory 735 may include non-volatile memory elements such as hard disk drives (HDDs), flash memory devices, solid-state drives (SSDs), optical storage devices, phase-change memory devices, resistive memory devices, or other memory devices. In some examples, auxiliary memory 735 is included in storage system 731. In further examples, auxiliary memory 735 includes a memory device with secure storage capabilities that accepts digitally signed data such as voltmeter data, voltage offset data, or other information.
[0091] For example Figure 7 The operation of some components is presented Figure 8 The flowchart in the document. Specifically, Figure 8 This includes descriptions of safe voltage scaling operations, such as starting the computing system 700 with any voltage determined via a voltage adjustment process. In many computer systems, input voltages have safety limits to prevent unauthorized operators from altering the system voltage. Furthermore, security measures such as digitally signed voltage data ensure that stored voltage data cannot be altered without detection. It should be noted that... Figure 8 The voltage / level indicated is merely exemplary, and different voltage / level will typically be used in actual implementations.
[0092] although Figure 8 The operation can usually be performed by the computing system 700, but Figure 8 Specific operations are directed to the security processor 720. The security processor 720 includes a processing core separate from the processing core 711 and the graphics core 712. In some examples, the security processor 720 may be included in logic separate from the SoC 710. The security processor 720 typically handles the initialization process of the SoC 710 during the power-on or boot process. Therefore, the security processor 720 can be initialized and prepared to operate before other components of the SoC 710.
[0093] Turn now Figure 8 During operation, the SoC 710 is powered on according to the voltage indicated by VID (801). These voltages indicated by VID are determined by… Figure 7The VID 723 in the code represents and can be considered the "default" voltage, which is typically specified according to the manufacturer's specifications or hard-coded by the manufacturer using an electronic fuse (e-fuse) 721. In some examples, once these VIDs are set by the manufacturer, they cannot be changed by the SoC operator or user. VIDs typically include a normalized value or encoded bits used to derive the actual voltage used to drive the SoC 710. Example VIDs can be found in... Figure 8 This can be seen in Table 810. Specifically, Table 810 includes a list of voltage fields with corresponding VIDs expressed in hexadecimal and the corresponding voltages. In a typical example, only the VID is provided to the voltage regulator 740, and the voltage regulator 740 converts the VID to the actual voltage. For clarity, Table 810 is shown with additional details.
[0094] Once the safety processor 720 is powered on after receiving input power from the voltage regulator 740 according to VID 723, the safety processor 720 reads (802) voltage offset 763 from the auxiliary memory 735. These voltage offsets, such as those described above, are determined during voltage regulation and stored in the auxiliary memory 735 for later use. Example voltage offsets are shown in... Figure 8 Table 811 shows and indicates incremental offsets for multiple voltage or power domains, which may include positive or negative offsets. The voltage offsets may be stored in auxiliary memory 735 using a secure stored procedure, such as a digitally signed secure procedure. The secure procedure verifies the voltage offsets and ensures that tampering or alteration is not performed. The secure procedure may include public-key / private-key encryption or other digital signature / authentication or data encryption techniques.
[0095] The voltage value determined from the voltage regulation process can be stored in a memory device or data structure along with other relevant information, such as the time / date of the functional test, version information of the functional test, or other information. A version identifier can be used to provide special processing for results determined by different versions of System 700. This data structure can be securely signed by a Hardware Security Module (HSM) to ensure the authenticity of the stored voltage information and related information. The digital signature of the data structure can be verified during each subsequent startup of System 700 and can be used as the selected operating voltage for any remaining factory / manufacturing tests and subsequent user site operations.
[0096] Security processor 720 uses VID 723 and voltage offset 763 to generate (803) voltage setting table 724 in security memory 722. In some examples, security processor 720 adds the voltage corresponding to the VID to the voltage offset and generates a new VID stored in security memory 722. These new VIDs can be presented to voltage regulator 740, which responds by implementing (804) the input voltage of SoC 710 corresponding to the VID. Various margins or adjustments can be made to the new VID or other voltage information in voltage table 724 during operation of SoC 710, such as adding additional margin, implementing EoL margin, providing thermal / power-based voltage regulation or frequency-based throttling, or other features. In typical examples, only security processor 720 can access security memory 722, and processing core 711 or graphics core 712 cannot access security memory 722. Therefore, user-level applications running in the operating system typically cannot directly modify VIDs. However, in this example, the security processor 720 may receive requests from various drivers, hypervisors, or other components to change the VID in response to user commands or other altered input.
[0097] Certain aspects of the invention can be understood from the foregoing disclosure, and the following are various examples of these aspects.
[0098] Example 1: A method for changing the power consumption of a computing device, the method comprising receiving a voltage characterization service via a communication interface of the computing device, the voltage characterization service being transmitted from a deployment platform remote from the computing device. The method includes implementing the voltage characterization service for a processing unit of the computing device to determine that at least one input voltage of the processing unit is lower than a manufacturer-specified operating voltage, the voltage characterization service including a functional test that utilizes associated system components of the computing device in a context to iteratively adjust the voltage to operate the processing unit. During the implementation of the voltage characterization service, the method includes monitoring for operational failures of at least the processing unit and, in response to the operational failure, restarting the processing unit using a recovery voltage higher than the current value of the iteratively adjusted voltage.
[0099] Example 2: As in Example 1, wherein monitoring the operational failure of at least the processing device includes, in the system management controller, establishing a watchdog timer for the processing device, wherein if the processing device does not respond for a predetermined period of time, the watchdog timer initiates a reset of the processing device.
[0100] Example 3: The method of Examples 1-2 further includes, during the implementation of the voltage characterization service, applying incrementally adjusted input voltages to the processing device, operating the processing device according to the functional test, and monitoring for operational failures of at least the processing device during the application of each incrementally adjusted input voltage. In response to an operational failure during the functional test, the method includes determining a corresponding value for the incrementally adjusted input voltage and establishing at least one input voltage for the processing device based at least in part on the corresponding value of the incrementally adjusted input voltage.
[0101] Example 4: The method of Examples 1-3, wherein using the recovery voltage to restart the processing device includes: establishing a minimum operating voltage for the at least one input voltage based on the current value of the iteratively adjusted voltage, adding a voltage margin to the minimum operating voltage, and instructing the voltage regulator circuitry of the computing device to supply the minimum operating voltage with the voltage margin to the processing device for user operation of the processing device in the computing device.
[0102] Example 5: The method of Examples 1-4, wherein receiving the voltage characterization service through the communication interface of the computing device includes receiving firmware of the voltage characterization service transmitted by a remote deployment platform via one or more network links associated with the communication interface.
[0103] Example 6: The method of Examples 1-5, wherein implementing the voltage characterization service for the processing device includes: for each of the iteratively adjusted voltages, booting the processing device into an operating system and implementing the functional test, wherein the functional test runs one or more application-level procedures configured to utilize the processor core elements, graphics core elements, and input / output elements of the processing device.
[0104] Example 7: The method of Examples 1-6, wherein implementing the voltage characterization service for the processing device includes an initial implementation of the voltage characterization service in response to receiving the voltage characterization service, and a periodic implementation of the voltage characterization service in response to the processing device reaching a predetermined number of operating hours.
[0105] Example 8: The method of Examples 1-7 further includes, when implementing the voltage characterization service, incrementally adjusting the at least one input voltage by initially operating the processing device with a first input voltage and gradually decreasing or increasing the input voltage in predetermined increments while performing the functional test and monitoring for the occurrence of the operational failure.
[0106] Example 9: An apparatus includes one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media. Based at least in part on an implementation of a computing system, the program instructions instruct the computing system to receive a voltage characterization service, transmitted from a deployment platform remote from the computing system, at least via a communication interface of the computing system. The program instructions instruct the computing system to initiate the implementation of the voltage characterization service for a processing device of the computing system to determine that at least one input voltage of the processing device is lower than a manufacturer-specified operating voltage. The voltage characterization service includes a functional test that, in context, operates the processing device at an iteratively adjusted voltage using associated system components of the computing system. During the implementation of the voltage characterization service, the program instructions instruct the computing system to monitor for operational failures of at least the processing device and, in response to the operational failure, to restart the processing device using a recovery voltage higher than the current value of the iteratively adjusted voltage.
[0107] Example 10: The apparatus as described in Example 9 includes further program instructions, at least in part based on the implementation of the computing system, to instruct the computing system to at least: monitor the operational failure of at least the processing device using a system management controller, the system management controller establishing a watchdog timer for the processing device, and if the processing device does not respond for a predetermined time period, the watchdog timer initiating a reset of the processing device.
[0108] Example 11: An apparatus as described in Examples 9-10, comprising further program instructions, at least in part based on an implementation of the computing system, to instruct the computing system to apply incrementally adjusted input voltages to the processing device during the implementation of the voltage characterization service, to operate the processing device according to the functional test, and to monitor for operational failures of at least the processing device during the application of each incrementally adjusted input voltage. In response to an operational failure during the functional test, the program instructions instruct the computing system to determine a corresponding value for the incrementally adjusted input voltage and to establish at least one input voltage for the processing device based at least in part on the corresponding value of the incrementally adjusted input voltage.
[0109] Example 12: An apparatus as described in Examples 9-11, comprising further program instructions, at least in part based on an implementation of the computing system, instructing the computing system to establish a minimum operating voltage for the at least one input voltage based at least on the current value of the iteratively adjusted voltage, adding a voltage margin to the minimum operating voltage, and instructing the voltage regulator circuitry of the computing system to supply the minimum operating voltage having the voltage margin to the processing device for user operation of the processing device in the computing system.
[0110] Example 13: An apparatus as described in Examples 9-12, including further program instructions, at least in part based on an implementation of the computing system, to instruct the computing system to receive firmware including the voltage characterization service transmitted from a remote deployment platform, at least via one or more network links associated with the communication interface.
[0111] Example 14: An apparatus as described in Examples 9-13, including further program instructions, at least in part based on the implementation of the computing system, to boot the processing device into an operating system and perform the functional test for at least each of the iteratively adjusted voltages, wherein the functional test runs one or more application-level procedures configured to utilize the processor core elements, graphics core elements, and input / output elements of the processing device.
[0112] Example 15: An apparatus as described in Examples 9-14, including further program instructions, at least in part based on an implementation of the computing system, to instruct the computing system to initially implement the voltage characterization service for the processing device at least in response to receiving the voltage characterization service, and to periodically implement the voltage characterization service in response to the processing device reaching a predetermined number of operating hours.
[0113] Example 16: An apparatus as described in Examples 9-15, including further program instructions, at least in part based on the implementation of the computing system, to instruct the computing system to perform the voltage characterization service by initially operating the processing device with a first input voltage and gradually decreasing or increasing the input voltage in predetermined increments while performing the functional tests and monitoring for the occurrence of operational failures.
[0114] Example 17: An in-situ voltage adjustment platform for a computing device, the platform including a firmware update service configured to receive voltage characterization firmware transmitted from a deployment platform remote from the computing device, and a characterization service configured to implement the voltage characterization firmware to determine that at least one input voltage of a processing device for the computing device is lower than a manufacturer-specified operating voltage. The voltage characterization firmware initiates the implementation of one or more functional tests, which utilize associated system components of the computing device in a context to iteratively adjust the voltage to operate the processing device. During the implementation of the one or more functional tests, the characterization service is configured to monitor for operational failures of at least the processing device and, in response to the operational failures, restart the processing device using a recovery voltage higher than the current value of the iteratively adjusted voltage.
[0115] Example 18: A platform as in Example 17 includes a watchdog service for the processing device, which initiates a reset of the processing device if the processing device does not respond for a predetermined period of time.
[0116] Example 19: A platform as in Examples 17-18, including the characterization service, the characterization service being configured to restart the processing device by using the recovery voltage in at least the following ways: establishing a minimum operating voltage for the at least one input voltage based on the current value of the iteratively adjusted voltage, adding a voltage margin to the minimum operating voltage, and instructing the voltage regulator circuitry of the computing device to supply the processing device with the minimum operating voltage having the voltage margin for user operation of the processing device in the computing device.
[0117] Example 20: A platform as in Examples 17-19, including the characterization service configured to operate the processing device according to one or more functional tests when the processing device is installed in the computing device, wherein the computing device includes one or more of a housing, thermal management elements, memory elements, communication elements, data storage elements, and power electronic elements used during the one or more functional tests.
[0118] The functional block diagrams, operational scenarios, sequences, and flowcharts provided in the accompanying drawings illustrate exemplary systems, environments, and methods for performing novel aspects of this disclosure. Although the methods included herein may be shown as functional diagrams, operational scenarios or sequences, or flowcharts and described as a series of actions for the purpose of simplicity of explanation, it is to be understood and appreciated that the methods are not limited by the order of these actions, as, according to the invention, certain actions may occur in a different order than those shown and described herein and / or concurrently with other actions. For example, those skilled in the art will understand and appreciate that methods may alternatively be represented as a series of interrelated states or events, such as in the form of a state diagram. Furthermore, not all actions shown in the methods are necessary for the novel implementation.
[0119] The descriptions and accompanying drawings included herein depict specific implementations intended to teach those skilled in the art how to make and use the best options. For the purpose of teaching the principles of inventiveness, some conventional aspects have been simplified or omitted. Those skilled in the art will appreciate that variations from these implementations also fall within the scope of this invention. Those skilled in the art will also appreciate that the features described above can be combined in various ways to form multiple implementations. As a result, the invention is not limited to the specific implementations described above, but is defined only by the claims and their equivalents.
Claims
1. A method for changing the power consumption of a computing device, comprising: After reducing at least one supply voltage applied to at least one voltage domain of the computing device, the processing device of the computing device is iteratively booted into the operating system; For each decrease of the at least one supply voltage, a voltage characterization service is executed to perform one or more functional tests sharing the at least one supply voltage. The one or more functional tests run one or more application-level processes in the operating system and run the processor core elements and interface elements of the processing device in the context of multiple elements outside the processing device. During the execution of the voltage characterization service, at least the operational faults of the processing equipment are monitored. as well as At least one resulting supply voltage is determined based on the aforementioned operational failure.
2. The method as described in claim 1, characterized in that, Monitoring the operational failures of at least the processing device includes establishing a watchdog timer for the processing device, wherein if the processing device fails to respond for a predetermined period of time, the watchdog timer initiates a reset of the processing device.
3. The method as described in claim 1, characterized in that, Also includes: The incrementally adjusted supply voltage is applied to the processing device, the processing device is operated according to the functional test, and at least the operational faults of the processing device are monitored. In response to the operational failure, a corresponding value of the incrementally adjusted supply voltage is determined, and the processing device establishes the at least one generated supply voltage based at least in part on the corresponding value of the incrementally adjusted supply voltage.
4. The method as described in claim 1, characterized in that, The iterative guidance of the processing device includes: establishing a minimum operating voltage for the at least one supply voltage based on the current value of the iteratively decreasing voltage, adding a voltage margin to the minimum operating voltage to establish the supply voltage generated by the at least one, and instructing the voltage regulator circuitry of the computing device to supply the supply voltage generated by the at least one to the processing device for user operation of the processing device in the computing device.
5. The method as described in claim 1, characterized in that, Also includes: Data including the voltage characterization service is received via one or more network links associated with the communication interface of the computing device.
6. The method as described in claim 1, characterized in that, Also includes: After determining the power supply voltage generated for at least one of the above, the voltage characterization service is performed to determine changes in the operational faults of at least the processing equipment; as well as The power supply voltage generated by the at least one is modified, at least in part, based on the changes in the operational failure, attributable to the addition of an end-of-life (EoL) voltage margin to the power supply voltage generated by the at least one.
7. The method as described in claim 1, characterized in that, The execution of the voltage characterization service includes: initial execution of the voltage characterization service, and periodic execution of the voltage characterization service in response to the processing device reaching a predetermined number of operating hours to determine at least one end-of-life (EoL) voltage margin for the at least one supply voltage.
8. The method as described in claim 1, characterized in that, Also includes: The at least one supply voltage is incrementally adjusted by initially operating the processing device with a first supply voltage and gradually decreasing the supply voltage to below the operating voltage specified by the manufacturer while performing the functional tests and monitoring for the occurrence of operational failures.
9. A computing device, comprising: One or more computer-readable storage media; Program instructions stored on the one or more computer-readable storage media, the program instructions being at least partially based on an implementation of the computing system, instructing the computing system to at least: After reducing at least one supply voltage applied to at least one voltage domain of the computing system, the processing device of the computing system is iteratively booted into the operating system; For each decrease of the at least one supply voltage, a voltage characterization service is executed to perform one or more functional tests sharing the at least one supply voltage. The one or more functional tests run one or more application-level processes in the operating system and run the processor core elements and interface elements of the processing device in the context of multiple elements outside the processing device. During the execution of the voltage characterization service, at least the operational faults of the processing equipment are monitored. as well as At least one resulting supply voltage is determined based on the aforementioned operational failure.
10. The computing device as claimed in claim 9, characterized in that, This includes further program instructions, which are at least partially based on execution by the computing system, to instruct the computing system to at least: A watchdog timer is established for the processing device. If the processing device does not respond for a predetermined period of time, the watchdog timer initiates a reset of the processing device.
11. The computing device as claimed in claim 9, characterized in that, This includes further program instructions, which are at least partially based on execution by the computing system, to instruct the computing system to at least: The incrementally adjusted supply voltage is applied to the processing device, the processing device is operated according to the functional test, and at least the operational faults of the processing device are monitored. In response to the operational failure, a corresponding value of the incrementally adjusted supply voltage is determined, and the processing device establishes the at least one generated supply voltage based at least in part on the corresponding value of the incrementally adjusted supply voltage.
12. The computing device as claimed in claim 9, characterized in that, This includes further program instructions, which are at least partially based on execution by the computing system, to instruct the computing system to at least: Based on the current value of the iteratively decreasing voltage, a minimum operating voltage for the at least one supply voltage is established, a voltage margin is added to the minimum operating voltage to establish the at least one generated supply voltage, and the voltage regulator circuitry of the computing system is instructed to supply the at least one generated supply voltage to the processing device for user operation of the processing device in the computing system.
13. The computing device as claimed in claim 9, characterized in that, This includes further program instructions, which are at least partially based on execution by the computing system, to instruct the computing system to at least: Data including the voltage characterization service is received via one or more network links associated with the communication interface of the computing system.
14. The computing device as claimed in claim 9, characterized in that, This includes further program instructions, which are at least partially based on execution by the computing system, to instruct the computing system to at least: After determining the power supply voltage generated for at least one of the above, the voltage characterization service is performed to determine changes in the operational faults of at least the processing equipment; as well as The power supply voltage generated by the at least one is modified, at least in part, based on the changes in the operational failure, attributable to the addition of an end-of-life (EoL) voltage margin to the power supply voltage generated by the at least one.
15. The computing device according to claim 9, characterized in that, The execution of the voltage characterization service includes: initial execution of the voltage characterization service, and periodic execution of the voltage characterization service in response to the processing device reaching a predetermined number of operating hours to determine at least one end-of-life (EoL) voltage margin for the at least one supply voltage.
16. The computing device as claimed in claim 9, characterized in that, This includes further program instructions, which are at least partially based on execution by the computing system, to instruct the computing system to at least: The voltage characterization service is performed by initially operating the processing device with a first supply voltage and gradually decreasing the supply voltage in predetermined increments to below the operating voltage specified by the manufacturer while performing the functional tests and monitoring for the occurrence of operational failures.
17. A voltage regulation device for a computing system, the device comprising: Configured to receive firmware update services for voltage characterization firmware; as well as The representation service is configured to: After reducing at least one supply voltage applied to at least one voltage domain of the processing device of the computing system, an iterative boot of the processing device of the computing system into the operating system is performed; For each decrease of the at least one supply voltage, the voltage characterization firmware is executed to perform one or more functional tests sharing the at least one supply voltage, the one or more functional tests running one or more application-level processes in the operating system and running the processor core elements and interface elements of the processing device in the context of multiple elements outside the processing device; During the execution of the characterization service, at least the operational failures of the processing equipment are monitored. as well as At least one resulting supply voltage is determined based on the aforementioned operational failure.
18. The apparatus as claimed in claim 17, characterized in that, include: The representation service is further configured to: After determining the power supply voltage generated for at least one of the above, the voltage characterization firmware is executed to determine changes in the operational fault of at least the processing device; as well as The power supply voltage generated by the at least one is modified, at least in part, based on the changes in the operational failure, attributable to the addition of an end-of-life (EoL) voltage margin to the power supply voltage generated by the at least one.
19. The apparatus as claimed in claim 17, characterized in that, Execution of the voltage characterization firmware includes: initial execution of the voltage characterization firmware, and periodic execution of the voltage characterization firmware in response to the processing device reaching a predetermined number of operating hours to determine at least one end-of-life (EoL) voltage margin for the at least one supply voltage.
20. The apparatus as claimed in claim 17, characterized in that, include: The characterization service is configured to operate the processing device in the operating system according to one or more functional tests when the processing device is physically installed in the computing system, wherein the computing system includes one or more of a housing, thermal management elements, memory elements, communication elements, data storage elements, and power electronic elements used during the one or more functional tests.
Citation Information
Patent Citations
Method and program for setting microprocessor power supply voltage
US20090228727A1
Information processing apparatus, voltage acceptance test system, and voltage acceptance test method
US20100063759A1