Software-Defined Batteries
By Anirudh Badam, Ranveer Chandra, Jon Dutra, Anthony Ferrese, Steve Hodges, Pan Hu, Julia Meinershagen,
Thomas Moscibroda, Bodhi Priyantha, and Evangelia Skiani
DOI: 10.1145/3007179
Abstract
Different battery chemistries perform better on different
axes, such as energy density, cost, peak power, recharge
time, longevity, and efficiency. Mobile system designers
are constrained by existing technology, and are forced
to select a single chemistry that best meets their diverse
needs, thereby compromising other desirable features. In
this paper, we present a new hardware–software system,
called Software Defined Battery (SDB), which allows system designers to integrate batteries of different chemistries. SDB exposes application programming interfaces
(APIs) to the operating system, which controls the amount
of charge flowing in and out of each battery, enabling it
to dynamically trade one battery property for another
depending on application and/or user needs. Using microbenchmarks from our prototype SDB implementation,
and through detailed simulations, we demonstrate that it
is possible to combine batteries which individually excel
along different axes to deliver an enhanced collective performance when compared to traditional battery packs.
1. INTRODUCTION
The utility of a mobile device is often constrained by the
capabilities of its battery. While integrated circuit performance has doubled every 18 months according to Moore’s
law, the same is far from true for battery technology. Battery
performance can be evaluated in many different ways (see
Table 1), but no matter which metric we look at, it has taken
more than a decade to double performance.
Furthermore, the various properties of batteries are often
at odds with each other. For example, batteries with higher
power densities tend to have lower volumetric and gravi-
metric energy densities, and vice versa. Similarly, making a
conformable battery that fits a particular industrial design
compromises its performance characteristics.
Such tradeoffs are present even within a given physical battery. For example, energy delivered by a battery in a
single charge–discharge cycle (energy capacity) is inversely
related to the rate at which the battery is drained (discharge
rate). This is because the resistance losses inside a battery
are proportional to the square of the current. Similarly, a
battery’s longevity—its ability to perform consistently following many charge–discharge cycles—is inversely related
to the discharge and recharge rates. This is because higher
currents speed up the creation of fissures in the electrodes
that reduce the amount of energy a battery can store.
In summary, no single battery type can deliver the ever-growing list of requirements of modern devices: fast charging, high capacity, low cost, less volume, light weight, less
heating, better longevity, and high peak discharge rates.
A growing range of battery chemistries are under development, each of which delivers a different set of benefits.
We believe that combining multiple of these heterogeneous
batteries instead of using a single battery chemistry can
allow a mobile system to dynamically trade between their
capabilities and thereby offer attractive tradeoffs.
However, traditional methods of integrating multiple
batteries are not suitable for heterogeneous batteries.
Connecting them in series or parallel does not provide
enough control over usage: batteries connected in series
can only supply the same amount of current; batteries connected in parallel must operate at the same voltage and can
only supply currents that are inversely proportional to their
internal resistances.
We propose a new system, called Software Defined Battery
(SDB), that allows heterogeneous batteries with different
chemistries to be integrated in a mobile system. SDB consists of hardware and software components. The hardware
enables fine-grained control of the amount of power going
in and out of each battery using smart switching circuitry.
The software, which resides in the operating system (OS),
computes how much power to draw from each battery, and
how to recharge each battery.
Deciding ho w much po wer to dra w from and ho w to charge
each battery is nontrivial. It depends on the efficiency of each
battery under different workloads, the age of each battery,
and also the usage profile. For example, if a high power work-
load is anticipated in the future, then it could be worth-while
The original version of this paper was published in
Proceedings of ACM SOSP’ 15.
Table 1: A number of battery characteristics.
Battery characteristics Units
Energy capacity J
Volume mm3
Mass kg
Discharge rate W
Recharge rate W
Gravimetric energy density J/kg
Volumetric energy density J/L
Cost $/J
Discharge power density W/kg
Recharge power density W/kg
Cycle count Number of discharge/recharge cycles
Longevity of original capacity after N cycles
Internal resistance Ohm
Efficiency of energy turned into heat
Bend radius mm
These are often in tension with each other, for example, increasing recharge rate
compromises longevity.