Android 4.3 introduces fstrim which will help the eMMC controller take out the piled up trash.
AnandTech has discovered one feature introduced in Android 4.3 that you won't find in Google's recipe for the latest Jelly Bean: support for fstrim. Although this is good news for all Nexus device owners, it's even more so for first-generation Nexus 7 owners who've felt like tossing the 7 inch paperweight out the window. Android 4.3, it seems, brings new life to Google's former flagship tablet.
Let's rewind a bit. Out of the box, the Nexus 7 (2012) can be a speed demon. It's zippy and fun to use, and produces impressive graphics in Tegra-optimized games. But after a while the performance begins to degrade. It slows to an annoying crawl, thus forcing owners to wipe the slate clean and start over. After that, it's zippy all over again. Rinse and repeat.
AnandTech calls this a "storage I/O aging problem". When the tablet owner deletes a movie, TV episode or uninstalls an app, this isn't communicated directly to the eMMC controller. Thus it still treats the pages in NAND as having actual data even though the blocks are no longer in use. The data structure used by the controller maps both logical locations and physical locations in NAND, so the more locations that have to be tracked, the slower the internal NAND management works.
Enter fstrim. This application slides in between the operating system and the eMMC controller and tells the latter that specific blocks are no longer in use and ready for garbage collection. Thus the controller has less mapping to do and in turn speeds up the storage I/O performance. Fstrim will run once every 24 hours if the battery level is 80 percent or above when unplugged, or at 30 percent when plugged in, and untouched for an hour.
Before the Android 4.3 update, the first-gen Nexus 7's eMMC controller would pile up roadmaps of tracked data. For instance, say the user downloaded and installed a 1.5 GB game from Google Play. Eventually it's uninstalled, and is recognized as such by the operating system which declares that space fee and ready for more data. But until that space is rewritten by new data, the eMMC still considered that 1.5 GB of space as legit data and kept track of it. Now imagine all the deleted apps, movies and TV shows that keep piling up, and you have a busy eMMC controller and a very laggy tablet.
"Without TRIM the controller will track blocks that have data deleted by the filesystem, but the controller still believes it has data it needs to track," the report states. "TRIM is the signaling pathway through which the filesystem and OS can tell the controller that it can now consider those blocks unused and [ready] for garbage collection."
Because this new feature is baked into Android 4.3, all devices with the new OS should see a slight improvement in performance thanks to the new garbage collection. It's unfortunate that fstrim didn't arrive until the new Nexus 7 tablet hit the market, but it's better late than never.