Samsung has deployed three-bit TLC NAND in two generations of solid-state drives: the 840 Series and the 840 EVO. The value-oriented drives have been very popular, but they seem to have a problem. Scores of owners are reporting that older files have substantially slower read speeds than newer ones. The problem is detailed in several Reddit and forum threads, including this epic one over at Overclock.net. It's on Samsung's radar, as well. The company provided the following statement when we inquired about the issue:
Samsung recognizes the seriousness of any potential degradation of read performance on old data. We are testing and validating the circumstances that potentially cause this performance drop and will work diligently to resolve the issue.
Online reports suggest the problem only manifests in files that are several months old. Some users are reporting read rates as low as ~20MB/s for data that should read at 10-20X that speed. Drives may not have to be powered on for read performance to suffer, either. I've seen at least one post complaining about slow reads on a drive that was unplugged and untouched for months after being filled with data.
Full performance can apparently be restored by rewriting the affected files or defragging the drive. Defragmentation does plenty of rewriting, but it's typically not recommended for SSDs, which have limited write endurance and are unaffected by file fragmentation.
There are a couple of theories about the cause. One pins the blame on the background garbage-collection and wear-leveling algorithms that shuffle data around on the drive. SSDs achieve peak performance by accessing data over multiple NAND channels simultaneously, but the data must be distributed across multiple physical flash dies to take advantage of that parallelism.
The other theory involves a change in cell voltages over time. Flash memory writes data by trapping electrons inside a floating gate. Electrons can leak out of the cell over time, though, and cells are prone to interference from the activity of their neighbors. TLC NAND is especially sensitive to voltage changes because it must differentiate between more possible values within each cell. Error correction routines are supposed to compensate, but the amount of work required to read older data accurately could be responsible for the slower performance observed on the 840 Series and 840 EVO.
We have several of the affected drives in the lab, but due to the order in which we benchmark SSDs, none of them have any old data on them. We took a shot at simulating the problem over the weekend by filling an 840 Series and 840 EVO 250GB with 10GB of static data. We read those files, hammered the drives for 24 hours with our IOMeter "workstation" access pattern, and read the original data again.
Read performance dropped on both drives, but only by about 20MB/s. The data were only a couple days old, which may explain why read speeds didn't drop further.
In any case, the issue appears to be very real. Let's hope Samsung can address it with a firmware update—one that hopefully doesn't require wiping the drive. In the meantime, users at least seem to be able to access all their info, even if they have to wait for it.