WP_Term Object
    [term_id] => 77
    [name] => Sonics
    [slug] => sonics
    [term_group] => 0
    [term_taxonomy_id] => 77
    [taxonomy] => category
    [description] => 
    [parent] => 14433
    [count] => 49
    [filter] => raw
    [cat_ID] => 77
    [category_count] => 49
    [category_description] => 
    [cat_name] => Sonics
    [category_nicename] => sonics
    [category_parent] => 14433

Is Low Power a Challenge? ICE-Grain Answers the Challenge

Is Low Power a Challenge? ICE-Grain Answers the Challenge
by Paul McLellan on 05-12-2015 at 7:00 am

 Blogs have limited wordcount so insert your own generic opening paragraph here about the importance of low power in IC design. Mention IoT and cloud datacenters for extra credit.

It is well-known that the biggest reductions in power come from changes at the architectural level. Tools and process can do some things and since they are automatic, take them. But to get serious power saving you have to power down blocks, gate clocks, scale voltages and so forth. But this stuff is hard. The most advanced design groups have teams that specialize in this stuff but mainstream SoC groups find it challenging. It usually requires interaction between software and hardware and, unfortunately, the embedded software engineers do not really understand much about the chip, and the designers don’t really understand the software peoples’ issues. Often power saving registers are unused, at least in the first version of the design, since there isn’t time to get it all working together. There is complex timing associated with powering blocks up and down or varying their frequency, and this is complex to manage in software since the software has other stuff it has to do in parallel. So the processor has to do more than run a device driver for as much as a millisecond or two while it all happens and that sort of programming is hard. Despite working in Semiconductor/EDA all my career, my PhD is in operating systems so I have the scars. I have written my share of device drivers.

The biggest savings come from basically exploiting when blocks are going to be idle. To make the design manageable, it is attractive to have relatively few blocks to worry about, but then the chance of them being completely idle diminishes compared to a higher number of smaller blocks. An additional complexity comes from not really knowing if it is worth powering a block down in advance, which can lead to a power-thrashing whereby a block is not even fully turned-off before it is required and has to be brought up again, which wastes power.

So what what would an ideal power manager look like?

  • Instantly detect idle blocks (and somehow know they would continue to be idle for long enough in the future)
  • Instantaneously reduce the power
  • Instantly notice when a block needs to be active and instantly power it up again
  • Across a huge number of fine-grained domains with no power or area overhead
  • And a pony

Well, OK, that is a dream. You are not going to get it. But how close can we get?

Sonics ICE-Grain Power Architecture is an approach that comes close. Note that at this stage Sonics are not announcing a full product, this is technology that they have been working on for 5 years and where they are starting to engage with lead partners and are looking for more. It is also perhaps worth pointing out that the initial products will be targeted at mainstream SoC groups who struggle with this sort of power management, not with very large groups who already understand the technology and have specialized teams and methodologies in place. Plus, although there are some gains from using ICE-Grain with Sonics NoC technology, it is not necessary; the two are independent.

So what’s with the weird name? ICE-Grain comes from two things:

  • Power Grains are a collection of logic that can be individually controlled using one or more power saving methods:

    • driven by one or more clock domains
    • connected to one or more power domains
    • defines conditions for power transitions
    • may contain other grains (grains are hierarchical)
    • frequently small (dozens to hundreds of grains per SoC)
  • ICE stands for Instant Control of Energy (and ICE is, well, cool)

    • the architecture creates unique hardware-based control circuity to optimally control all of the grains. A grain is typically in one of normal operation, clock shut off, power shut off but retention registers still powered, complete shut down.

    Each grain has a local grain controller and there is also a central controller to coordinate shared resources and handle the interface to both software and the outside world. ICE-Grain does not magically find the grains, it starts by looking in the UPF (now IEEE 1801) to find areas that have associated power policy such as retention registers, power down, DVFS, level-shifters and so on.
     The big advantage of hardware control is that it is much faster than software and it makes it much easier to use finer grains and so find more opportunities for power saving (whereas large grains often contain a small portion that must remain active that prevents it being power managed).

    The diagram below shows this graphically. Conventional shows a software-controlled power down that is comparatively slow. The height of the orange shows the power being dissipated and the green the saving from actually managing the power. Under software control the microprocessor (high power) needs to wake up to power down the block. Then there is a saving. Then the microprocessor needs to wake up again to power up the block. With ICE-Grain, the microprocessor can remain dormant, a little bit of control logic consumes a little power for a short time and then even more power saving occurs in the center. Finally, since turning the blocks on again is faster, the entire activity finishes earlier saving power at the end.

    So why are Sonics doing this? They have years of experience of power management. Their NoC today can do some level of powering down blocks if they are idle for a long time (timer-based) and turning them on again when the block is sent a transaction (buffering the transaction if the block is going to be turned-on or causing it to fail if the block is going to remain powered off).

    The ICE-Grain Power Architecture is a complete power subsystem. It is correct-by-construction, eliminating deadlock, conflicts and errors, with powerful debug and tracing facilities. The fine-grained domain partitioning and faster on/off transitions means more opportunities for power saving. Aka lower power. Pony not included.

    The ICE-Grain product page is here.

    Phew, made it to the end of the blog without mentioning the ice-bucket challenge. Nearly…

    Share this post via:

  • Comments

    0 Replies to “Is Low Power a Challenge? ICE-Grain Answers the Challenge”

    You must register or log in to view/post comments.