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.

Comments Locked

122 Comments

View All Comments

  • eddman - Thursday, December 21, 2017 - link

    At what point this message comes up? It says "When a battery gets closer to the end of its lifespan", but when is that exactly? 20% health? 50%? The performance drop seems to start much earlier than that.
  • picka - Tuesday, December 26, 2017 - link

    Mi iPhone SE is locked at 911MHz for hours with battery wear at 5%. The phone is 6 months old. It is definitely planned obsolescence.
  • ikjadoon - Thursday, December 21, 2017 - link

    You poor soul. This notification does NOT trigger when this SoC throttling occurs.

    That’s the entire issue, man. People have batteries trying to prevent suicide by entering a protected mode that kills SoC performance...yet Apple refuses to let you know that.
  • Dgh - Thursday, December 21, 2017 - link

    It actually does .... throttling does not change the CONDITION of the battery .... poor man
  • eddman - Thursday, December 21, 2017 - link

    You seem to have completely missed the point. It's not that the throttling changes the condition of the battery; it's that once the battery health drops to a certain point, far from the end of its lifespan (I don't know the percentage), the processor's max frequency, and its performance as result, drops significantly. It seems that the user is not notified of this drop.

    That link you posted is for when the battery is nearing death.
  • Dgh - Thursday, December 21, 2017 - link

    I know what the issue is. Also posted a link that shows this is no apple design flaw but others have the same issue. Removed.

    That in combination withbthe fact the world hardly knows IOS gives a message .... i think all critics ar a bit harsh ( BUT RIGHT in apple failing to communicate ... and they should be accountable )
  • eddman - Friday, December 22, 2017 - link

    You keep repeating the same thing. IOS does NOT give any message about reduced performance, it just says "need to be serviced" and it does happen long before reaching critical levels.
  • sonny73n - Friday, December 22, 2017 - link

    You think critics are harsh? Then let me roll back to iOS 9.
  • picka - Tuesday, December 26, 2017 - link

    They should be accountable for slowing down my phone when it is not my choice. I have a 6 months old SE that has battery wear of 5% and yet my phone is not operating at max frequency. I bought a 1.85GHz phone and I expect it to work at that frequency unless I decide to put it in low power mode myself. Apple should provide a toggle like on Samsung, having performance mode or whatever. What percentage battery wear does Apple consider unhealthy and is throttling. My battery is pretty much new and I get half the perfomance. There are some blips to 1.5 or 1.85GHz and the difference is night and day.
  • Dgh - Thursday, December 21, 2017 - link

    Google bro before you tell YOUR thruth.

    Below a guy posted when he had the message. Later he posted his battery capacity ... thats a looooong way from death and i have the throttling starts at 75%

    “I just noticed this message on mine today. The last month I've been noticing lots of weird battery drain/shutdown issues, so not surprised. This is on a iPhone 6 bought at launch, so just under 2.5 years old”

    And then

    “FYI: just ran some battery apps - they put mine at 55-61% health (i.e. 1000 or 1100 mAh down from 1810mAh)”

    https://forums.macrumors.com/threads/your-iphone-b...

Log in

Don't have an account? Sign up now