Last month, Samsung confirmed that its 840 EVO SSD can suffer from slower read speeds with older data. The company promised to address the issue with updated firmware, and we've been experimenting with the fix.
Before we get into the results of our testing, we should spend a moment on the problem itself. Here's how Samsung describes the issue:
SSDs usually calibrate changes in the statuses of cells over time via the flash management software algorithm. Due to the error in the software algorithm, the 840 EVO performed read-retry processes aggressively, resulting in a drop in overall read performance. This only occurs if the data was kept in its initial cell without changing, and there are no symptoms of reduced read performance if the data was subsequently migrated from those cells or overwritten.
Read-retry is used to compensate for changes in cell voltages, suggesting that voltage drift over time was a key factor here. The EVO's flash management routines evidently haven't been responding to voltage changes correctly.
Fixing the problem is a two-part process managed by Samsung's appropriately named Performance Restoration tool. First, the utility flashes the SSD's firmware with the new EXT0CB6Q revision. Then, it reboots the system and completes the restoration process, which we're told involves "conditioning" the NAND. The entire process is non-destructive, so it shouldn't compromise any data on the drive. It also only needs to be run once. That said, the target drive must have at least 10% free capacity for the tool to work its magic.
The data on the 840 EVOs we have in the lab isn't old enough to be affected by the flaw. Fortunately, our resident developer, Bruno "morphine" Ferreira, has been running an 840 EVO 500GB in his personal system for more than 10 months. Having already noticed slower performance with older files, he bravely volunteered to test Samsung's fix.
The restoration process went off without a hitch, though it took over an hour to condition Bruno's drive. Read speeds seem to be much improved. Below is a screenshot from HD Tach, which tests read performance across the extent of the drive. Click the buttons below the image to switch between results from before and after the fix was applied.
Those dips before the fix correspond to performance slowdowns with older data. They're nowhere to be found after the fix, where read speeds are much more consistent overall.
Samsung recommended running HD Tach to evaluate the fix, but we also had Bruno try SSD Read Speed Tester, which was developed specifically in response to the EVO issue. The graphs below depict the range of file read speeds based on the age of the data. Again, use the buttons to switch between the before and after results.
The differences here aren't as striking, but there's a definite improvement in read performance for older files. Some of the individual files load more than 2X faster after the fix, and one of them experienced a massive 6X speedup. Your mileage may vary, of course, but Samsung's fix seems to work as advertised.
After applying the EVO update, Bruno also noticed snappier application load times. He says Windows now boots faster, too, particularly after it reaches the desktop and starts filling out the taskbar. We don't have hard data on how the fix impacts load times, but OS and application files are likely to be older, so they're good candidates for a speed boost.
Apart from addressing read speeds with older files, the new EVO firmware is supposed to perform identically to the previous release. Bruno ran a couple of quick CrystalDiskMark benchmarks before and after applying the fix, and the scores are pretty much identical.
Given how the bug manifests, we won't know if the EVO is truly fixed until at least a month from now, when freshly written data will be old enough to exhibit slower read performance. Samsung is confident that the problem has been addressed, though, and the company has updated its validation procedures to look for similar issues in future products. For what it's worth, Samsung says the problem is unique to the 840 EVO and not an artifact of that drive's TLC NAND. The older, TLC-based 840 Series is unaffected, and so is the upcoming 850 EVO, which will use the three-bit version of 3D V-NAND.
If all goes well with final testing, the 840 EVO Performance Restoration tool will be released this week. There are still some associated caveats, like the updater not working with SSDs in RAID arrays or with older AMD SATA drivers, but those restrictions aren't too different than those that typically come along with new SSD firmware. We'll post a link to the update tool once it's available.
Update — Samsung has released its Performance Restoration tool to the masses. The utility is available here, while the installation guide can be found here. Although the tool is Windows-only right now, a DOS-based version is coming before the end of the month. That release should allow Mac and Linux users to perform the update via thumb drive.
27 comments — Last by emphy at 4:06 PM on 11/30/14
|Patriot's Hellfire 480GB NVMe SSD reviewedThe NVMe competition heats up||22|
|Samsung's 960 EVO SSD reviewedMore affordable NVMe magic||37|
|Adata's Ultimate SU800 512GB SSD reviewedMicron's 3D NAND finds a new home||11|
|Samsung's 960 Pro 2TB SSD reviewedHoly crap||129|
|Toshiba's OCZ VX500 512GB SSD reviewedA19 flash bids adieu||33|
|Adata's Premier SP550 480GB SSD reviewedTaking aim at the budget segment||36|
|Samsung's Portable SSD T3 reviewed2TB in the palm of your hand||15|
|Crucial's MX300 SSD reviewedThe MX series enters the third dimension||57|
|Biostar's Ryzen motherboards race toward release||47|
|TSUBAME3.0 gears up for AI supercomputing with 2160 Tesla P100s||25|
|Master of Shapes brings Vive tracking to Daydream VR||4|
|Deals of the week: Z270 motherboards, storage, and more||15|
|Phanteks Glacier gear flows into the water-cooling market||11|
|Display your graphics card with Thermaltake's PCIe riser cable||23|
|WWDC 2017 returns to its roots in San Jose||3|
|Unreal Engine 4.15 arrives with HDR and AFR support||60|
|MSI Aero ITX graphics cards put Pascal in petite places||5|