This invention relates to a method and apparatus for calculating the power consumption of electronic components, devices or systems. More particularly, but without limitation to the same, the invention relates to a method and apparatus for benchmarking of Random Access Memory (RAM) power consumption.
May modern electronic devices are powered by batteries, which places restrictions on the amount of power that is available between charges. Miniaturisation of electronic devices, an increases in processing capabilities impose conflicting requirements in terms of power consumption and available battery capacity, so a great deal of effort is nowadays spent on reducing the power consumption of the various components of electronic devices.
To ensure that individual components of electronic devices do not consume an unfair or disproportionate amount of available power, it has become commonplace to impose so-called “power budgets” for individual components of electronic systems. Moreover, the consumption of power has to be minimised to the greatest possible extent to conserve power wherever possible, which has led to the routine implementation of so-called “standby”, “power-down”, “hibernate” states in many of the components of electronic devices. Moreover, to enable designers to correctly specify components and to design electronic devices, OEMs are encouraged, or mandated, to provide data sheets specifying the power consumption of OEM components in each available energy state. This detailed information can be used to estimate a theoretical power consumption of an electronic system made up of a number of components, in simulated operational conditions.
Known methods involve calculating a theoretical overall power consumption by computational methods. For example, a device has two states, namely “standby” and “active”, and the average power consumption of the device in each state is known from the OEM's data sheet. A simulation of a particular process estimates that the device will be in the “standby” state for 40% of the process, and the “active” state for the remaining 60% of the time. For a process taking a known amount of time, the theoretical power consumption for the process can be readily calculated. Of course, with a view to reducing power consumption, most devices have more than two states, for example, in the case of a hard disk drive, a “hibernate” state in which the drive is inactive and only it's I/O systems are active to detect a wake up signal, a “wake up” state, whereby the device's firmware is woken from the hibernate state, a “spin-up” state whereby the drive's motor is used to accelerate the disk, an “idle” state, whereby the disk is up to speed, but is not being written to, or read from; “read” and “write” active states, a “spin-down” state whereby the drive transitions from active to “hibernate” etc. With the power consumption for each available state for each device known, it is possible, albeit quite involved, to model the power consumption of complex electronic devices in various simplified model situations.
In one specific example, which is the primary focus of this invention, there exists a need for benchmarking the power consumption of RAM modules, which are notoriously power-hungry components of electronic systems. As RAM technology advances, more and more possible states are being implemented to conserve power, but which, at the same time, make it increasingly difficult to model actual power consumption.
The known system of power budget benchmarking suffers the disadvantage of being based on simplified models and presupposes that the components in question will adopt their various states for known intervals. However, in real situations, the theoretical power consumption rarely matches the actual power consumption because the simulations are rarely able to anticipate events, such as I/O conflicts or data collisions, which regularly occur in real systems and which are dealt with by conflict resolution routines, but which may not be adequately modelled in the simulation. A need therefore arises for an improved and/or alternative benchmarking system that addresses one or more of the above problems.
According a first aspect of the invention, there is provided a power benchmarking method comprising the steps of operating an electronic component during an interval of time and logging the power states that the component adopts during the said interval, interrogating the log to determine the total amount of time the component spent in each power state and multiplying the rated power consumption for each state by the time it spent in each respective state.
Suitably, the total power consumption during the said interval can be calculated by summing the power consumptions for each of the states.
The rated power consumptions for each state may be determinable, for example, by experimentation, or by consulting the OEM data sheet for the component.
The actual power consumption of a system comprising a number of components can be similarly ascertained by carrying out the method for each component and summing the power consumptions of each component to yield a total power consumption for the system during the said interval.
The method may be performed in hardware and/or software. Suitably, hardware may be used for making measurements, whilst software could be used for reading the log and calculating the overall power consumption.
A second aspect of the invention provides a power benchmarking apparatus comprising means for determining the instantaneous power state of an electronic component, the instantaneous power state being any one of a number of possible power states of the electronic component, means for triggering the means for determining at intervals to detect the instantaneous power state at different points in time, means for logging the detected instantaneous power states over an interval of time, means for accessing the log to determine the total amount of time the electronic component spent in each of its possible power state during the said interval of time.
The apparatus suitably further comprises means for calculating the power consumption in each state by multiplying the rated power consumption of the electronic component for each state by the total time it spent in each respective state over the said interval of time. Suitably, apparatus comprises means for calculating the total power consumption over the interval of time, said means comprising means for summing the calculated power consumptions for each state over the said interval.
Thus, the invention suitably provides a means for measuring and/or monitoring the actual power consumption of an electronic component. The invention thus differs from the prior art inasmuch as it measures the actual power consumption, rather than estimating it based on simulation data.
The power benchmarking apparatus comprises means for determining the instantaneous power state of an electronic component, which, in the case of a RAM module, may comprise dedicated hardware embedded on any one or more of: the System On Chip (SOC); the external memory interface; the memory die; the system's Central Processing Unit (CPU); an external memory interface where the commands are readily available; or in an interface between the memory module; and the CPU. In one possible embodiment of the invention, the dedicated hardware may be incorporated into an adaptor module interposed between the memory module's socket and the memory module itself.
In the case of a RAM module, the dedicated hardware suitably comprises an interface operatively connected to the controller of the memory array and/or the memory's registers, and comprises a summing or integrating circuit adapted to count the number of memory state requests.
In the case of low-power DDRx RAM module, the instantaneous power states may be any one of more of the group comprising: deep power down (DPD), idle, idle power-down, self-refresh, active power down, active and idle power down. The dedicated hardware suitably interfaces with the system clock, or the component's internal clock to establish a suitable time base based on clock cycle counting. By such a configuration, the dedicated hardware, is capable of detecting commands within the RAM module identifying the beginning and end of each memory operation state at intervals, e.g. at integer multiples of clock cycles, thus enabling the time that each part of the memory array is in each state to be determined. The memory commands suitable comprise any one or more of the group comprising: active (ACT), pre-charge (PRE), auto refresh (AREF), self-refresh (SREF), READ, WRITE, etc.
The dedicated hardware comprises means for triggering the means for determining at intervals to detect the instantaneous power state at different points in time. As previously described, the trigger signals could be derived from internal memory commands controlling the transition of individual memory cells or units between different energy states.
The apparatus comprises a means for logging the detected instantaneous power states over an interval of time, which suitably takes the form of a storage device that can be internal to, or external of, the component being tested. Suitably, the dedicated hardware comprises an interface for transmitting data, either at the end of a data collection period, or as the data is collected, to a suitable memory device upon which a data log is stored.
The data log is accessible by software to enable a calculation to be carried out based on the logged data to determine the actual power consumption over the interval of time, i.e. the test/measurement routine.
Various embodiments of the invention shall now be described, by way of example only, with reference to the accompanying drawings in which:
In
The CPU 14 thus executes commands and performs read/write operations on the RAM module 12 in a known manner, whilst the DIAP module 36 able to determine line activity simultaneously. Because the direct connections between the external memory interface 16 and the RAM module 12 remain intact, the DIAP module 36 is effectively invisible to the SOC 10 and the RAM module 12, thus neither slowing, nor interfering with, the operation of either. The invisibility of the DIAP module 36 to the system 10, 12 is an important consideration in benchmarking as the system 10, 12 needs to perform, under test conditions, i.e. with the DIAP module 36 active, in the same, or substantially the same manner, as under normal operating conditions, i.e. with the DIAP module 36 inactive, or not present at all.
To perform a benchmarking operation, the system 10, 12 is set to execute a desired function, for example, to execute an application, and the DIAP module 36 is switched on. After a predetermined number of clock cycles 22 or upon detection of a predetermined event on the command and/or address line bus, which can be set via DIAP-addressing software, the DIAP module 36 deactivates. During the test interval, the DIAP module counts the number of memory commands, and records these in an internal log. After completion of the test, the DIAP-interface software can recover the DIAP datasheet via the data line 28 for analysis.
In
For each state 46, the amount of time, t, each memory address has been in that state can be calculated by summing the count 44 multiplied by the time 48. The rated energy requirement E for each interval of memory state activity is known from the OEM's data sheet for the RAM module 12, and this is multiplied by the t values to calculate the energy consumption of the RAM module in each state P. The t and P values can then be summed to determine the total test duration and the total power consumed, which can be divided to yield an average power consumption (energy usage per unit time) for the system under the specified test conditions. This process can be repeated for different durations, and under different loading conditions to determine the actual power requirements of the RAM module 12 under various actual usage conditions.
In a yet further possible embodiment of the invention, the configuration of
The invention is not restricted to the details of the foregoing embodiments, which are merely exemplary of the invention. For example, the hardware implantation of the DIAP module could be altered without departing from the invention, and the DIAP module, or a method or apparatus according to the invention could be used to benchmark or monitor the power consumption of components other than a RAM module, for example, an interface card, a graphics chip, the CPU etc. Moreover, one or more DIAP modules could be fitted to one or more components simultaneously, or sequentially, to establish a power consumption benchmark for a complex system comprised of a number of components. In addition, the invention need not necessarily be used for benchmarking purposes at the design/testing stages of SOC and/or component development: it could be implemented as part of an overall power management system for use in actual operation of an electronic device, which could be advantageous in managing power consumption, and predicting battery discharge, especially in critical situations, such as in battery-powered medical devices or emergency telecommunication devices.
Number | Date | Country | Kind |
---|---|---|---|
13368012.4 | Mar 2013 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2014/053148 | 2/18/2014 | WO | 00 |