There are some devices affected by BrickBug
. Samsung Galaxy S2
and Samsung Galaxy Note
are known to have it. There are also reports that some Acer A210/A211
and LG O2x
are affected too. There is a Got Brickbug?
app to test your device, but it is only intended for Samsung users. BrickBug means DEATH of your device if you try LagFix!
There are some unlucky guys already. In case of brickbug - use warranty and exchange your device. This is a hardware fault and manufacturer is responsible.
I provide NO WARRANTIES for LagFix app! Use it on your own risk.
LG O2x brickbug may be recovered following this great tutorial
What does LagFix do?
It calls fstrim utility, which calls ioctl operation called TRIM, TRIM does the magic.
What is fstrim?
fstrim is a Linux utility to call TRIM on your memory devices. You can find more information about it and source code at SourceForge
. It is now a part of util-linux and can be found inside Linux kernel repository
What is ioctl?
This is a programming interface
to talk to storage devices directly in UNIX opearting systems. It is called DeviceIoControl in Windows. It allows to do a lot of low-level things on different storage devices like hard drives, CD-ROMs, flash memory and SSD drives.
What is TRIM?
TRIM is a low-level function, which informs memory controller of unused memory block. This is used on most of SSD drives and some eMMC memory. SD cards use different function - SD ERASE. Read more in Wikipedia
Why the lags?
Devices with TRIM support must be trimmed to know which parts of memory is free and is available to write more data. When memory controller does not know which parts are free, it starts the search asking operating system to help it. This process will take time and the less free space available, the more time is required. And this operation blocks everything else. So everything you do starts to wait (lag) when some data needs to be written. For example, when you switch apps, the state of previously used app is saved to internal memory so you could get back to it when needed. Saving = lags. Simple!
Which devices are affected?
It is known by now, that Nexus S, Galaxy Nexus, Nexus 7, Nexus 4, Nexus 10 and HTC One X need regular trimming. It is also believed that all pre-ICS devices used different memory and they do NOT need it nor support it. Pre-ICS support will be dropped in version 1.2. Other 4.0+ devices? Well, test it! And report if it really helps - your device will be added to the list.
How to properly test it?
app before using LagFix and after. You only need micro test. Look for Sequential Write
values. Reading from memory is NOT affected, because reading does not involve writting and only writting triggers search party for free memory blocks.
Why to reboot?
Most of the users DO NOT need rebooting after trimming. But SOME RARE kernels do not re-initialize free block information after TRIM. It is impossible to detect such kernels, so if LagFix did something but IO related lags did not go away - reboot! Most of users DO NOT need rebooting!
My device is in the affected list, but LagFix does nothing.
Some kernels mount storage with -discard
option. This option forces kernel to call TRIM operation after all write and delete operations. That means that functionality of this app is built-in, you don't need LagFix in such case.
Why not every kernel comes with -discard?
Discard slows down write operations a bit and delete operations a lot. Desktop Linux users NEVER use it, instead they put fstrim in cron to run once per day. Scheduled launching of LagFix is comming in version 1.2.
LagFix is not available for my device in Play Market, why?
It was reported by many users that your device does NOT support TRIM operation. You don't need this app, it will NOT do anything on your device.