Method, system, and apparatus for dynamic clock adjustment

A method, apparatus, article of manufacture, and system, the method including, in some embodiments, determining an impedance of a power distribution network of a load for a range of frequencies, and adjusting a functionality of the load based on a relationship between the impedance of the power distribution network for the range of frequencies and the functionality of the load.

BACKGROUND

The reliability and stability of a device, system, platform, or operating environment may depend on the device, system, platform, or operating environment functioning within design specifications. Due to a number of factors, attempts may be made to operate a device, system, platform, or operating environment outside of the design specifications. In some instances, an out of specification condition may result from component and system degradations that may typically occur over time. In some instances however the out of specification condition may be the result of, for example, manufacturing variations.

Operationally, an out of specification operating condition may result in a decrease in device and system reliability and stability.

DETAILED DESCRIPTION

The several embodiments described herein are solely for the purpose of illustration. Embodiments may include any currently or hereafter-known versions of the elements described herein. Therefore, persons skilled in the art will recognize from this description that other embodiments may be practiced with various modifications and alterations.

FIG. 1is exemplary flow diagram of a process100, in accordance with some embodiments herein. At operation105, a determination is made of an impedance of a power distribution network of a load for a range of frequencies. In some embodiments, the power distribution network of the load includes all aspects, components, and devices of a power distribution network of the load. For example, the power distribution network may include all connectors, wires, and traces that supply power to the load and provide a ground return path to the load. Additionally, the power distribution network may also include related voltage regulation circuits (e.g., inductors, switching field effect transistors, control elements, etc.) and other associated circuits such as, for example, a signal conditioner (e.g., a filter, etc.).

The determination of the impedance at operation105may be done at more than one frequency, over a range of frequencies. In some embodiments the range of frequencies may correspond to an actual, potential, or designed range of operating frequencies of the load. In some embodiments, the range of frequencies may correspond to a specification or tolerance for an operating frequency used by the load. The operating frequency of the load may be controlled by a clock mechanism. In some embodiments, the load may include any number and variety of devices that include a clock mechanism to control an operational frequency or speed thereof. In some embodiments, the load may include a microprocessor, a multi-core microprocessor, a core of a microprocessor, and combinations thereof.

At operation110, a functionality of the load is adjusted based on a relationship between the determined impedance of the power distribution network and the functionality of the load. In some embodiments, the functionality of the load that is adjusted is an operating frequency of the load. In accordance with some embodiments herein, the relationship used as a basis for the adjustment may be applicable for the range of frequencies used in operation105.

FIG. 2is exemplary flow diagram of a process200, in accordance with some embodiments herein. In some embodiments, process100is a high-level overview of process200. It is noted however that processes other than process200, including those with more, fewer, and different operations, may be used to implement the operations ofFIG. 1.

At operation202, an initial frequency of a test signal is identified. The initial frequency may be selected to correlate to a frequency known to be within a design specification of the load. At operation205, a signal at the determined frequency is generated that will be used to sample an impedance of the power distribution network of a load. In some embodiments, process200is automatically initiated when the power load is turned on. That is, process200is initiated upon a power-on of the load. In some embodiments herein, process200may be referred to as a self-test since the process may be automatically initiated upon power-on and tests certain aspects of its self. The self-test signal may be a square wave or other type of wave.

At operation210, a determination of the impedance of the power distribution network for the load using the self-test signal is performed. Operation210may include setting the signal generator that supplies the self-test signal to a minimum or fundamental frequency for an initial determination of the impedance of the power distribution network. The minimum frequency may be a predetermined frequency that is known to be within the operational specifications for the load of the power distribution network.

Operation210may further include making measurements of the power distribution network to determine the impedance thereof. For example, current and voltage measurements of the power distribution network under test may be made in order to calculate the impedance of the power distribution network.

A Fast Fourier Transform (FFT) operation maybe used to determine the impedance using the values of the measurement results and the input signal frequency. The FFT operation calculates the impedance at the frequency of the test signal. In some embodiments, other calculation techniques and processes may be used.

At operation215, the impedance data determined at operation210is stored. The stored impedance data includes an indication of the frequency of the test signal used to determine the impedance. That is, the frequency associated with the determined impedance calculation is also stored at operation215. A temporary register, cache, and other type of memory may be used to store the determined impedance and associated frequency data.

At operation220, a determination is made whether a maximum frequency for the determined impedance has been used in the determination of the impedance of the power distribution network. In an instance where the maximum frequency for the determined impedance has not been reached, then process200proceeds to operation222. At operation222, the frequency of the test signal is incremented by a predetermined amount. The predetermined amount of the frequency increase may be a fixed amount and, in some embodiments, a variable increment. In this regard, a signal generator used to generate the self-test signal may be a variable signal generator. From operation222, process200returns to operation205where the impedance test routine (205,210,215,220) is repeated for each incremental frequency.

If the maximum frequency for the determined impedance has been used in determining the impedance of the power distribution network then process200proceeds to operation225.

The maximum frequency considered at operation220may be a predetermined upper limit of an acceptable operating frequency of the load (e.g., design specified).

At operation225, the impedance data, including the associated frequency, are evaluated. The evaluation of operation225may take into consideration the operational and functional limitations of the load. For example, functional limitations impacting the performance, reliability, and stability of the load may be of particular interest and considered in the evaluation. In some embodiments, a functionality of the load may be adjusted and configured based on the impedance data and the relationship of same with the functionality of the load. An algorithm relating to the determined impedance data and the functionality of the load may be used to evaluate the impedance data.

At operation230, a functionality of the load may be adjusted based on the evaluation of the algorithm relating to the determined impedance data and the functionality of the load. In some embodiments, a functionality of the load may be adjusted based on the impedance of the power distribution network. In particular, an operating frequency of the load may be adjusted based on the determined impedance of the power distribution network.

In some embodiments, a device (i.e., a load) including a clock or a clocked operation may be adjusted in accordance with some embodiments herein where the device's clock speed is a function of the impedance of the power distribution network of the load. For example, the methods herein may be applied in the context of a device, system, or circuit having a microprocessor with one or more cores where the clock speed of the one or more cores is a function of the impedance of the power distribution network of the microprocessor. In some embodiments, a maximum (minimum) processor frequency of operation for the microprocessor may be limited by the impedance of the power distribution network of the microprocessor. The maximum (minimum) processor frequency may be bounded by the acceptable functional limits of the microprocessor and the load.

For example, if the impedance of the distribution network is over (under) a certain threshold, then the operating frequency of the microprocessor may have to be lowered (raised) to avoid an unstable or unreliable operating condition. In this manner, a core speed of the processor may be adjusted to a speed compatible with the determined impedance of the power distribution network.

FIG. 3is an exemplary depiction of an apparatus300, in accordance with some embodiments herein. Apparatus300may include more, fewer, and alternate components and devices than those shown inFIG. 3. A power distribution network305supplies power to load310. Load310may be a microprocessor including one or more processor cores. Device320provides a mechanism for implementing a power-on impedance self-test, in accordance with embodiments herein.

Device320may include a controller325to control various aspects of the power-on impedance self-test in accordance with embodiments herewith, a signal generator330that may generate variable frequency signals, a current sensor335to measure a current, a voltage sensor340to measure a voltage, and a thermal sensor345to measure a temperature of load410. In some embodiments, device320is included on the same die as an adjustable load315(e., a microprocessor). Device320and load315may be included on the same die, same package, same circuit board, etc. at a time of manufacture so that, for example, the control of the adjustment of the functionality of load is specifically matched to load310.

In this manner, the functionality of load310may be dynamically adjusted by device320to match the impedance of a power distribution network305, including an instance where the impedance of the power distribution network changes. The impedance of a power distribution network may change over a period of time due to component/system degradation. The impedance of a power distribution network may also change over a period of time due to variances in manufacturing processes, including, for example, quality control issues.

Controller325may operate in accordance with some embodiments herein. Controller325may execute code and program instructions to implement some of the methods and operations disclosed herein. In some embodiments, device320and controller325may include a register or cache (not shown) to store impedance data.

FIG. 4is an exemplary depiction of a system400, in accordance with some embodiments herewith. System400may include a power distribution network405that supplies power to a load410, including one or more processor cores. Device420may include a controller425to control various aspects of a power-on impedance self-test in accordance with embodiments herewith, a variable signal generator430, a current sensor435, a voltage sensor, and a thermal sensor. In some embodiments, device420is included on the same die as microprocessor array415. Device420may control, for example, an adjustment of the functionality of a microprocessor array415to correspond to an impedance of power distribution network405. System400may also include a memory445attached to load410.

Those in the art should appreciate that system400may include additional, fewer, or alternative components to power distribution network405, load410, device420, and memory445. Memory445may comprise any type of memory for storing data, including but not limited to a Single Data Rate Random Access Memory, a Double Data Rate Random Access Memory, or a Programmable Read Only Memory.

System400may be a part of a larger system, device, or network device. For example, system400may comprise a personal computer, a mobile computing/computing device, and a network server.

It should be appreciated that the drawings herein are illustrative of various aspects of the embodiments herein, not exhaustive of the present disclosure.