The **external** battery management chip can generate interrupts for conditions that need attention. Things like excessive current, battery temperature, **low voltage**, others.
To write to flash memory -
you need an erased 'erase block' (or have to erase one)
and then re-program the entire block.
Both "erase" and "re-program" are power hungry operations.
At least in the lab126 code included in the 2.5.8 firmware u-boot, they disable interrupts while doing the "erase" and "re-program".
I.E: If you don't have enough battery capacity to complete the operation, they don't want to hear about it.
A really great piece of logic.