5leep.comxIf you’ve noticed that your phone is getting slower, getting hot, and sucking battery like a frat bro with an unlimited supply of Coors Lite, there may be a very non-obvious culprit. Your flash RAM card could be the problem.

Flash RAM has a finite life. Each location on the chip can only be written to so many times before it loses its ability to retain data. When that happens, the spot is supposed to be marked bad and not reused. However, experience has shown that this only happens on writes, and a write can be successful but not be reliably readable later. So, there may be bad blocks on your SD card that go unnoticed by the operating system until it attempts to write new data there.

The insidious side effect of this is that those read errors will cause many, many retries to access the marginal data block. The result is a series of what are called “wakelocks” that prevent the phone’s CPU from going into sleep mode. Particularly, the mmc0_detect, mmc1_detect, and mmc2_detect functions of the OS kernel will keep trying to access the card and keep your phone’s processor awake. More »