It may confuse readers to know that the solid state memory in Android devices naturally slow down with use. Before Android 4.3 released, many believed cheap flash memory modules contributed to bad performance. It shocked everyone that both cheap memory and a little-known bug in Android were culprits.
All Android and iOS devices use primitive, compared to desktop SSDs, solid state storage devices. Within the Android storage device ecosystem, most storage devices utilize eMMC technology, of which multiple versions exist. Newer smartphones tend to use the more refined eMMC version 4.4 and above, whereas older devices use eMMC (among other, less common technologies).
Virtually all of these slow down rapidly over time as data gets transferred and deleted. That’s because of a lack of fstrim (or TRIM) implementation in Android. TRIM allows solid state drives to recover from performance degradation, which naturally occurs over time with flash-based solid state memory.
I’ve written about Android’s lack of TRIM before, and several device specific methods of speeding your device up. This article continues along this path, addressing three general tips for improving the performance of solid state memory on Android mobile devices that everyone should know.
But before explaining further let’s talk about what goes into one of these storage modules.
What are these devices composed of?
The average solid state storage device contains three primary, interrelated features: A controller, memory and TRIM technology. The controller manages how your smartphone or tablet writes data to or reads data from memory. The memory module actually stores the information that you’re either reading or writing. TRIM is a firmware-contained method of keeping the drive functioning at optimal speeds, native to each controller.
The kind of controller that manages your device also determines how it’s maintained and the extent of performance degradation over time. In desktop SSDs, the 400 MHz ARM CPU-powered controllers (possibly ASIC or FPGA) oftentimes possess processing power on par with low-end smartphones. They cost quite a bit more, as well. The additional processing power permits these expensive controllers to perform extensive self-optimization routines.
The eMMC drives in Smartphones and tablets are very low cost and of much lower quality than desktop SSDs. Consequently, even when they work properly, their function is minimally sufficient.
There’s one kind of storage memory technology used in your phone: NAND flash memory. NAND flash memory is the most common storage medium used by all consumer devices. It stores data in a way that makes it difficult to write data over used blocks, or chunks of memory. NAND requires that a secondary erase operation occur before a block can be overwritten.
And that’s where TRIM technology takes over.
Of the various versions of eMMC, only newer models include support for TRIM. There are varying kinds of eMMC devices on the market — of these only eMMC 4.4 (PDF link) and on include TRIM support. Fortunately, the vast majority of devices use some form of eMMC drive. If older than eMMC 4.4, there normally exists some kind of alternative to TRIM, which allows for drive optimization.
For many devices, there’s at least some degree of automatic drive optimization. If so, then you can likely optimize its performance by following three easy steps.
How Do I Keep My Device From Slowing Down?
#1: Keep Your Drive Half Filled
eMMC, and really any flash storage device, needs to keep 50% of its space empty, for optimal performance. The more free space, the more the controller can optimize the drive. When there’s less space to work with, the controller must work extra hard to write data. Consequently, whenever you use most apps, they will feel sluggish and suffer from “stutter”. The conventional wisdom holds that the less data stored on your device, the better, you can get away with keeping 25% of the drive empty. However, for those of you seeking to improve their device’s performance, you can manually run TRIM command with LagFix.
The consumer SSD industry went through the same initial teething issues as the mobile devices industry. Early SSDs did not properly implement TRIM and thus their controllers worked extra hard to write information to mostly filled disks. Manufacturers even developed the same half-measures that were implemented before Android 4.3 brought official TRIM.
#2: Uninstall Crappy Software
Don’t be a digital pack rat. Keeping a minimal number of installed software and media remains one of the cornerstones of a fast device. As already mentioned, keep at least a quarter of your drive’s space empty. Fewer apps also means fewer demands on data and a longer battery life.
#3: Leave the Device Idle While Plugged In For 24 Hours
Many devices, but certainly not all, came up with alternative solutions to TRIM. Unfortunately, the implementation of these custom half-measures varied by manufacturer and oftentimes didn’t work properly. Additionally, TRIM in Android 4.3 requires uninterrupted idle time. That means you cannot use the device during this time period. Similarly, the majority of optimization workarounds in older handsets require uninterrupted idle time, combined with a full battery.
On the downside, charging your battery for extended periods of time will cause some battery wear. However, provided you don’t charge overnight on a regular basis, you shouldn’t cause any battery issues.
The state of Android SSD implementation remained poor up until 4.3 released. Unfortunately, most of today’s devices won’t get an update. Fortunately, on most older Android devices you can restore performance using three steps: First, avoid filling the drive beyond 50% capacity (you can get away with 25% free space). Second, keep the drive clean of unneeded files. Third, let the device sit idle for 24 hours. If you’re lucky, this should activate its internal optimization feature.
Anyone got a slow Android device that used to be faster? Let us know in the comments.