Community involvement, possible causes, temporary fixes, and Samsung’s statement
It began with this now beast of a post on Overclock.net. Users sharing info about seeing slow downs, etc. A couple of forum users went as far as to create tools for analyzing the speeds of in-place files (Techie007's SSDReadSpeedTester), as well as a lot of excellent experimentation, analysis, and additional tools by BrainSplatter (gotta love forum nicknames!). The thread is approaching a thousand posts, but I spotted this gem, which I believe best demonstrates the effect of read speed reduction over time:
The above test reads all files from the drive and sorts their respective read speeds by date. As you can see in the above example, speeds steadily tapered off as weeks passed, eventually falling to a steady ~100 MB/sec at the 36 week old point. This is by no means an absolute value, as others who ran the same test on their own SSDs saw reduction over differing (shorter or longer) periods of time.
By this point you may be asking what the heck can be causing this? Here's my hypothesis:
- Over time, flash cell voltages slightly drift.
- Flash circuitry is designed to compensate for this by varying the read voltage thresholds and using varying levels of error detection and correction mechanisms.
- Some unforeseen coordination issue between the flash and the controller, in the face of #2 above, is resulting in slower than normal read speeds for flash that has been storing data, undisturbed, for weeks or months.
Now I know there are many folks from many threads, that having read the above, are saying 'no way, it has to be worse than that!'. No, it doesn't. Why? Because out of all of the dozens or hundreds of folks running these tools and tests, not one has reported a single unreadable sector. Think about it, dozens of people are intentionally reading all data from these drives, which is way more than a user would be doing in typical use, and despite the slowdowns – no errors. If the flash cells or stored voltages were actually degrading so badly over time, the oldest stored data would likely be unreadable. Instead we see a steady speed taper down to a seemingly fixed (~50-100MB/sec, varying with drive capacity / die count) read speed. That indicates to me that the issue is one that can be corrected – maybe even in a manner that would snap speeds back to near full simply by updating the firmware. This is certainly possible, as we've seen it happen before.
How do you get the speed back? Overwrite the files. Yup, it's that simple. Re-writing the flash resets the cell voltages and resets the timer effect on the slow down. I do ask that instead of forcing these rewrites by running defrag on an SSD (I shudder at the thought), just copy the really slow / old files to another drive (or directory on the same drive), and then move those files back to the original location, overwriting the originals. This is much nicer to the flash than a defrag operation, which tends to be much more fragmenting of an operation than a sequential file copy.
Or you can just wait for a fix. Yup, there's one coming, here's a quote straight from Samsung:
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.
Realize this is going to take them some time regardless of how quickly they can reproduce the issue and crank out a firmware. The firmware has to pass QC, which can take a few weeks time even for a simple fix. Also, before those angry at the seeming non-response from Samsung over the past week grab their pitchforks and board a flight to Korea, consider that last week was Chuseok (basically Korean Thanksgiving), so all of the big wigs needed to get the ball rolling on this were home with their families. Now that they are all back in the office, I can assure you that meetings are taking place and the ball is most certainly rolling on a fix. The vibe I get is that Samsung takes these things very seriously, and I suspect we will see a fix shortly.
Stay tuned. More to follow, folks. Your game loads shouldn't take those few extra seconds for much longer!