The Windows 7 battery life issue: What's making notebook batteries die?
Since Windows 7's final release last fall, some testers have been reporting that dual-boot network computers seem to consume power more efficiently running Windows XP than Windows 7. One example came last October from JKOnTheRun's Kevin C. Tofel, who saw his own Toshiba notebook battery die 45 minutes sooner running Win7 than Windows XP. But even then, Tofel was skeptical of a few curious facts, including that Toshiba changed its power management utilities.
Since 1999, the system that has reported battery capacity and relative power levels to the operating system has been the Advanced Configuration and Power Interface (ACPI), developed by industry leaders such as Intel, Phoenix Technologies, and Toshiba. But ACPI was developed with the BIOS in mind; and as PC architecture evolves, as even Phoenix will readily concede, the conventional BIOS is becoming an historical remnant. And history has also shown that as a lithium-ion battery degrades, its capability to report its own health degrades with it. Only now have batteries become capable of reporting their capacity -- how much charge they can hold -- as compared to their manufacturers' specifications.
Recently, some Windows 7 users have become acquainted with a new "feature" of the operating system -- an advisory where the operating system suggests it might be time for users to replace their batteries. That started feeding into reports that Windows 7 was degrading batteries faster than its predecessors, such as this from InformationWeek that cites members of Microsoft's support forums. That helped feed stories that the operating system was "tarnished" by a battery plague.
The instigator of these complaints appears to be the advisory itself, which users may be interpreting as an indicator that Windows 7 has "eaten" their battery. In fact, as Microsoft Windows division president Steven Sinofsky told users today in a post to the Engineering Windows 7 blog, Win7 is merely reporting a fact of everyday life, whose information had not yet been standardized in the days of Vista.
"PC batteries expose information about battery capacity and health through the system firmware (or BIOS). There is a detailed specification for the firmware interface (ACPI), but at the most basic level, the hardware platform and firmware provide a number of read-only fields that describe the battery and its status," Sinofsky writes. "The firmware provides information on the battery including manufacturer, serial number, design capacity and last full charge capacity. The last two pieces of information -- design capacity and last full charge capacity -- are the information Windows 7 uses to determine how much the battery has naturally degraded. This information is read-only and there is no way for Windows 7 or any other OS to write, set, or configure battery status information. In fact all of the battery actions of charging and discharging are completely controlled by the battery hardware. Windows only reports the battery information it reads from the system firmware. Some reports erroneously claimed Windows was modifying this information, which is definitely not possible...Every single indication we have regarding the reports we've seen are simply Windows 7 reporting the state of the battery using this new feature and we're simply seeing batteries that are not performing above the designated threshold."
As Sinofsky explains, batteries can report their capacity using ACPI in terms of Watt-hours (W-Hr); and from now on, Windows compares this capacity against design capacity. "In Windows 7 we set a threshold of 60% degradation (that is the battery is performing at 40% of its designed capacity) and in reading this Windows 7 reports the status to you. At this point, for example, a battery that originally delivered 5 hours of charge now delivers, on average, approximately 2 hours of charge."
That's a fairly simple calculation to perform, and theoretically, it's been there since the turn of the previous decade. But it would appear that the readings reported by batteries may only have become reliable enough for Windows to rely on this conclusion, in only the last few years.
Last July, Microsoft published this document for hardware engineers explaining how Windows 7 polls information from new-generation batteries. Although Microsoft explains that Win7 can only read information from these batteries, it clearly advises engineers that it's up to them to set their batteries' firmware so that it reports the proper levels.
As the document reads: "Users who run their system on battery power sometimes use the system until the battery is critically low and must enter the hibernate state to save open programs and data. Windows provides multiple battery warning level and action policies that the system manufacturer can tailor to the underlying hardware platform and battery capacity."
The four settings that the document states may be customized by engineers are low battery level, reserve battery level, critical battery level, and critical battery action. These are threshold values separate from the real-time indications reported by ACPI, like last full charge.
With Windows 7, Microsoft introduced a completely revised power configuration utility -- a new PowerCfg, whose purpose is to enable engineers to determine the energy efficiency of a notebook computer. Just last month, Microsoft published a document explaining how the revised utility works:
"PowerCfg inspects the battery information during the analysis. It logs an information item that contains the battery manufacturer, the battery chemistry, the design capacity, and the last full charge capacity. PowerCfg logs an error if it cannot retrieve the battery information from the firmware. PowerCfg logs a warning if the last full charge capacity is less than 50 percent of the battery's design capacity. PowerCfg logs an error if the last full charge capacity is less than 40 percent of the battery's design capacity."
There's where engineers are given that 40% threshold mark for the first time -- the 40% mark that Sinofsky referred to in his blog post today. So the fact that users are seeing "Replace Your Battery" reports for the first time now, may only be because the reliability of such a warning has only recently become viable.
"It should stand to reason that some customers would be surprised to see this warning after upgrading a PC that was previously operating fine," writes Sinofsky. "Essentially the battery was degrading but it was not evident to the customer until Windows 7 made this information available. We recognize that this has the appearance of Windows 7 'causing' the change in performance, but in reality all Windows 7 did was report what was already the case."