Over the last week there's been increasing discussion and evidence of Apple's supposed introduction of CPU throttling mechanisms directly related to the battery wear level on Apple iPhones. The story started out with a report on Reddit of a user experiencing slow performance on an iPhone 6S and subsequent discovery that the performance restored to its full potential after a battery replacement.


Graph credit: John Poole, GeekBench 4 Blog

The report prompted GeekBench author John Poole to make use of the GeekBench benchmark submission database to plot performance of individual devices against iOS versions and discover a clear trend of ever increasing distribution towards lower performance points with newer OS versions.

Matthew Panzarino from TechCrunch was able to get an official statement from Apple when enquiring about the problem:

Our goal is to deliver the best experience for customers, which includes overall performance and prolonging the life of their devices. Lithium-ion batteries become less capable of supplying peak current demands when in cold conditions, have a low battery charge or as they age over time, which can result in the device unexpectedly shutting down to protect its electronic components.

Last year we released a feature for iPhone 6, iPhone 6s and iPhone SE to smooth out the instantaneous peaks only when needed to prevent the device from unexpectedly shutting down during these conditions. We’ve now extended that feature to iPhone 7 with iOS 11.2, and plan to add support for other products in the future.

Apple’s official statement sheds some light into the issue but comes short of an actual technical explanation of why the power management is failing. The company claims that the issue at heart is because of the battery degradation and its inability to supply sufficient current at a stable voltage.


Graph credit: Electronic Component News

Capacity and supply voltage of a battery decreases over time as a function of charge cycles and charging behaviour (Higher charging currents causing more degradation per cycle). This causes the total useable battery capacity before the cut-off voltage to decrease.

The problem facing the iPhones as Apple explains it is however two-fold; the issue at hand happens only during load spikes in which the battery isn’t able to maintain a high enough voltage for the PMIC to reliably be able to use as a source. 


Graph credit: Electronic Component News

SoC blocks such as CPUs and GPUs can have very short transitions from idle to load causing steep transients and load spikes going above the +10W ranges. As batteries degrade over time and the cell impedance also rises also in function of the state of charge and temperature, the current flow becomes restricted and the cell is no longer able to satisfy the power requirement at a high enough operating voltage.

Apple’s approach to the issue is to limit the peak power spikes by reducing the CPU frequencies over time as a function of battery wear. This solution however raises several questions; how does Apple decide the throttling behaviour and was the core fault an engineering fault or design choice?

As demonstrated in John Poole’s dataset Apple is throttling the CPU frequency in several stages. What exactly defines the thresholds to reach these stages can be either a rather simplistic counter taking into account the charge cycles of a given battery, or (and more hopefully) a more dynamic method that would be able to take advantage of the battery PMIC’s capabilities of determining battery wear. Given however that it seems that the OS is limiting performance even at high state of charges, such as fully charges batteries, it seems that the limitation implementation is unfortunately of the more simplistic type.

The second question comes to regard to as why it came to the issue in the first place as this should be a universal issue affecting a greater number of smartphones, not just Apple iPhones.

The first unique characteristic separating Apple iPhones from other smartphones is that Apple is using a custom CPU architecture that differs a lot from those of other vendors. It’s plausible that the architecture is able to power down and power up in a much more aggressive fashion compared to other designs and as such has stricter power regulation demands. If this is the case then another question rises is if this is indeed just a transient load issue why the power delivery system was not designed sufficiently robust enough to cope with such loads at more advanced levels of battery wear? While cold temperature and advanced battery wear are understandable conditions under which a device might not be able to sustain its normal operating conditions, the state of charge of a battery under otherwise normal conditions should be taken into account during the design of a device (Battery, SoC, PMIC, decoupling capacitors) and its operating tolerances.

If the assumptions above hold true then logically the issue would also be more prevalent in the smaller iPhone as opposed to the iPhone Plus models as the latter’s larger battery capacity would allow for greater discharge rates at a given stable voltage. This explanation might also be one of many factors as to why flagship Android and other devices don’t seem to exhibit this issue, as they come with much larger battery cells.

While much of the latter part of this piece is just my personal conjecture as to the deeper causes of the problem, it is clear that this is a larger issue for Apple that has no simple solution (beyond replacing the battery). How this affects more recent devices such as the iPhone 8 and iPhone X, or verifying if indeed the Plus variants would be less prone to the problem is something that will require a lot of testing, collaboration and data collection over longer periods of time.

POST A COMMENT

122 Comments

View All Comments

  • Hurr Durr - Friday, December 22, 2017 - link

    It`s just a standard faulty battery versus explicit throttling of the CPU. No shill points for you. Reply
  • forgot2yield28 - Thursday, December 21, 2017 - link

    The issue probably isn't unique to Apple phones. The Nexus 6P is notorious for sudden shutdowns at 20% battery remaining or greater, much the same as iPhone users were experiencing last year; the issue is reportedly resolved by installing a new battery. To my knowledge, Google never officially acknowledged the issue or pushed a software update akin to what Apple has done to induce throttling (I almost wish they had, I'd rather have a slower device than a dead device, although they should have told users what they were doing). Reply
  • id4andrei - Thursday, December 21, 2017 - link

    Something to remember. With this hidden behavior Apple games the conditions that need to be met for a free battery replacement. You have been robbed of free warranty service. This is class action material. Reply
  • jb510 - Friday, December 22, 2017 - link

    When my iPhome 6 was 18 months old and still under AppleCare it started spontaneously dying when the battery remaining was 40% and I did something like shoot a video. Apple wouldn’t replace the battery because I wasn’t on the current OS and because the battery did “test” out of spec. Sure enough months later when I finally gave up my jailbreak and updated the sudden shutdowns stopped too, but now the phone was slow as heck.... so... I replaced it.

    This is the key thing, no one is defining what an old battery is... in my case it should have been a manufactures defect under warranty replace,met and wasn’t because the software “fixed” it.

    Phones should operate normally, full power, for at least their warranty duration, don’t you think?
    Reply
  • jb510 - Friday, December 22, 2017 - link

    ^ did not test out of spec ^ Reply
  • lmcd - Friday, December 22, 2017 - link

    People are complaining about this but this would be a positive feature that would improve the functionality of my Nokia Lumia 929, which has a degraded battery. Reply
  • Hurr Durr - Friday, December 22, 2017 - link

    I doubt whatever early Snapdragon it has inside would do anything but infuriate you by the slowdowns. Hell, and I was thinking about iPhone SE after my 730 goes four years old... Reply
  • edzieba - Friday, December 22, 2017 - link

    This does potentially reveal something about Apple's perceived SoC performance advantage: if other SoCs are not vulnerable to this issue, then Apple's performance advantage may be less down to process or architecture, and more down to keeping things hot-clocked to the edge of what the batteries are capable of delivering. With the cat out of the bag, other vendors may start using the same trick. Reply
  • superunknown98 - Friday, December 22, 2017 - link

    I think this is clearly either a defect in the batteries Apple has used or an engineering shortcoming. Shouldn't Apple design it's lithium-ion batteries with a "spare area" much like an SSD has more capacity than is usable in case of defective cells? Much like a Tesla, shouldn't the battery not charge to 100% and drain below 20% to keep the battery from outright dying? I understand that eventually a battery will not provide enough voltage or current to keep the phone on but shouldn't this be well after the devices useful life? Reply
  • Jon Tseng - Friday, December 22, 2017 - link

    Has anyone bothered to check how often this happens before rushing to judgement?

    If it's only during a few seconds of peak load, it seems a sensible and worthwhile optimisation to make if it prevents device shutdown.
    Reply

Log in

Don't have an account? Sign up now