Slashdot Mirror


Android 8.0's 'Streaming OS Updates' Will Work Even If Your Phone Is Full (arstechnica.com)

Regardless of whether or not your phone is full of pictures, or videos, or apps, you will still be able to download and install an OS update with Android 8.0. According to the latest source.android.com documentation, Google has cooked up a scheme to make sure that an "insufficient space" error will never stop an update again. Ars Technica reports: Where the heck can Google store the update if your phone is full, though? If you remember in Android 7.0, Google introduced a new feature called "Seamless Updates." This setup introduced a dual system partition scheme -- a "System A" and "System B" partition. The idea is that, when it comes time to install an update, you can normally use your phone on the online "System A" partition while an update is being applied to the offline "System B" partition in the background. Rather than the many minutes of downtime that would normally occur from an update, all that was needed to apply the update was a quick reboot. At that point, the device would just switch from partition A to the newly updated partition B. When you get that "out of space" error message during an update, you're only "out of space" on the user storage partition, which is just being used as a temporary download spot before the update is applied to the system partition. Starting with Android 8.0, the A/B system partition setup is being upgraded with a "streaming updates" feature. Update data will arrive from the Internet directly to the offline system partition, written block by block, in a ready-to-boot state. Instead of needing ~1GB of free space, Google will be bypassing user storage almost entirely, needing only ~100KB worth of free space for some metadata. Ars Technica goes on to note that the feature will be backported to Google Play Services, and will be enabled on "Android 7.0 and later" devices with a dual system partition setup.

2 of 40 comments (clear)

  1. Re:Reclaimable? by Solandri · · Score: 2

    Writes to flash memory perform much better when you have some empty space (about 10%-20%). Unlike a HDD, you cannot overwrite a 0 with a 1, or a 1 with a 0 in flash memory. It has to go 0 -> erased -> 1, or 1 -> erased -> 0. (If you're into electronics, it acts much like an EEPROM.) The erased -> 0/1 step is blazing fast. But the 0/1 -> erased step is really slow; about as slow as or slower than a HDD. Consequently, flash memory controllers try to erase unused cells ahead of time in the background (this was what TRIM was about in the early SSD days), so that they're ready and available for blazing-fast writes. Empty space on the drive represents a buffer of pre-erased space, protecting you from having to erase cells on the fly to write new data. The less of empty space you have, the more likely the controller will be forced to erase cells on the fly, slowing down write speed to a snail's pace.

    So assuming this partition only takes 1-2 GB, having it sitting around unused and empty is a good thing. If you permanently fill that extra space with data, you'll be compromising the performance of your device. You're better off leaving it blank (either as free space, or as an unused partition). Temporarily filling it (to write a new OS) won't have much impact as long as a similar amount of space (the old OS) is deleted and erased immediately after.

  2. Re:Awesome! by Excelcia · · Score: 2

    Depends on how to look at it. It could also be looked at as "we will update your OS whether you want us to or not, and you can't even fill your phone with other stuff to prevent it". Sort of like Windows 10 and its forced updates.

    All your OS are belong to us!