Pre and Post Update Testing
Samsung launched their 840 Series SSDs back in May of 2013, which is over three years ago as of this writing. They were well-received as a budget unit but rapidly eclipsed by the follow-on release of the 840 EVO.
A quick check of our test 840 revealed inconsistent read speeds.
We broke news of Samsung’s TLC SSDs being effected by a time-based degrading of read speeds in September of 2014, and since then we have seen nearly every affected product patched by Samsung, with one glaring exception - the original 840 SSD. While the 840 EVO was a TLC SSD with a built-in SLC static data cache, the preceding 840 was a pure TLC drive. With the focus being on the newer / more popular drives, I had done only spot-check testing of our base 840 sample here at the lab, but once I heard there was finally a patch for this unit, I set out to do some pre-update testing so that I could gauge any improvements to read speed from this update.
As a refresher, ‘stale’ data on an 840 EVO would see reduced read speeds over a period of months after those files were written to the drive. This issue was properly addressed in a firmware issued back in April of 2015, but there were continued grumbles from owners of other affected drives, namely the base model 840. With the Advanced Performance Optimization patch being issued so long after others have been patched, I’m left wondering why there was such a long delay on this one? Differences in the base-840’s demonstration of this issue revealed themselves in my pre-patch testing:
Subject: Motherboards | October 29, 2015 - 11:01 AM | Sebastian Peak
Tagged: Z170X-Gaming GT, Z170X-Gaming 7, Z170X-Gaming G1, thunderbolt 3, motherboard, gigabyte, firmware
GIGABYTE has announced support for Intel Thunderbolt 3 for three existing Z170 motherboards after receiving certification from Intel.
The motherboards include the GIGABYTE GA-Z170X-Gaming G1, GA-Z170X-Gaming GT, and GA-Z170X-Gaming 7. How do you get Thunderbolt 3 if you own one of these boards? Simply update to the latest firmware.
“Users that wish to upgrade their motherboard can download an updated version of the firmware from GIGABYTE’s website. Once the user installs the updated firmware, Thunderbolt™ 3 support will be enabled on the motherboard.”
GIGABYTE has provided quick links to access the firmware update page for each motherboard:
Thunderbolt 3 on the motherboards is powered by Intel’s controller, and is available via USB Type-C connector on the motherboards to provide bandwidth of up to 40 Gb/s, double that of Thunderbolt 2.
Subject: Storage | October 1, 2015 - 05:42 PM | Allyn Malventano
Tagged: Samsung, firmware, 840 evo, msata
It took them a while to get it right, but Samsung did manage to fix their read degradation issue in many of their TLC equipped 840 Series SSDs. I say many because there were some models left out when firmware EXT0DB6Q was rolled out via Magician 4.6. The big exception was the mSATA variant of the 840 EVO, which was essentially the same SSD just in a more compact form. This omission was rather confusing as the previous update was applicable to both the 2.5" and mSATA form factors simultaneously.
The Magician 4.7 release notes included a bullet for Advanced Performance Optimization support on the 840 EVO mSATA model, but it took Samsung some time to push out the firmware update that enabled this possibility. We know from our previous testing that the Advanced Performance Optimization feature was included with other changes that enabled reads from 'stale' data at full speeds, compensating for the natural voltage drift of flash cell voltages representing the stored data.
Now that the firmware has been made available (it came out early this week but was initially throttled), I was able to apply it to our 840 EVO 1TB mSATA sample without issue, and could perform the Advanced Performance Optimization and observe the expected effects, but my sample was recently used for some testing and did not have data old enough to show a solid improvement with the firmware applied *and before* running the Optimization. Luckily, an Overclock.net forum member was able to perform just that test on his 840 EVO 500GB mSATA model:
Kudos to that member for being keen enough to re-run his test just after the update.
It looks like the only consumer 840 TLC model left to fix is the original 840 SSD (not 840 EVO, just 840). This was the initial model launched that was pure TLC flash with no SLC TurboWrite cache capability. We hope to see this model patched in the near future. There were also some enterprise units that used the same planar 19nm TLC flash, but I fear Samsung may not be updating those as most workloads seen by those drives would constantly refresh the flash and not give it a chance to become stale and suffer from slowing read speeds. The newer and faster V-NAND equipped models (850 / 950 Series) have never been susceptible to this issue.
We have been tracking the differences between AMD’s FreeSync and Nvidia’s G-Sync for some time now. The launch of FreeSync-capable displays started out a bit shaky, as some features we took for granted went missing. The first round of FreeSync displays we reviewed came with non-functional overdrive when the display / GPU pipeline was operating in FreeSync mode.
Comparison of overdrive response in first round FreeSync displays. Images should look like the ROG Swift (left), which was correctly applying overdrive.
While AMD apparently fixed a portion of this problem in a subsequent driver update, getting overdrive to function in these early displays would require a firmware update. Unlike what you may be used to with a motherboard or SSD firmware, displays are not typically end-user upgradeable. This meant that even if manufacturers produced a fix, owners would have to send in their display to be updated (and be without it for several weeks).
The only manufacturer to step forward and retroactively support overdrive in their first gen FreeSync panel was BenQ. In a statement issued via TFTCentral:
BenQ have confirmed that the FreeSync/AMA issue which affected their XL2730Z display has now been fixed. This issue caused the overdrive (AMA) feature to not function when the screen was connected to a FreeSync capable system. As a result, users could not make use of the AMA feature and benefit from the improved response times that the 'normal' AMA mode offered, as compared with AMA Off. See our review for more information.
A driver update from AMD is already available and should be downloaded from their website. In addition BenQ will be releasing a firmware update for the monitor itself to fix this issue. Current stocks in distribution are being recalled and updated with retailers so future purchases should already carry this new firmware. This is expected to apply for stock purchased AFTER 1st July, as V002 firmware screens should be shipped by BenQ to distributors in late June.
For those who already have an XL2730Z if you want to, you can return it to BenQ for them to carry out the firmware update for you. This only applies if the user is experiencing issues with the performance of the screen. There is no simple way for the end user to update the firmware themselves and it is not encouraged. Users should contact BenQ support through their relevant country website for more information on how to return their screen for the update.
The catch with the above is that the statement came from BenQ PR for Europe, and we nor TFTCentral have been able to confirm any equivalent upgrade process in place for the USA. We did note in various online reviews that those receiving their BenQ XL2730Z in the last week of June confirmed having the new V002 firmware.
If you have one of these panels, verifying your firmware is simple. Hold down the menu button while powering up the display (you will have to hold the power button for a few seconds before you hear a beep).
The display will power up and appear as normal, except that now pressing the menu button again will bring up the above service menu. Those with the update will have “V002” as the starting text of the ‘F/W Version’ result.
Overdrive functioning on the ASUS MG279Q IPS FreeSync display, showing an odd simultaneous ‘negative ghost’ outline of a slightly ghosted image.
We have been eager to retest the BenQ since hearing of this updated firmware revision. While we have seen overdrive functioning in the recent ASUS MG279Q, it was not a perfect implementation, and we were curious to know if BenQ’s implementation fared any better.
The tale of the Samsung 840 EVO is a long and winding one, with many hitches along the way. Launched at the Samsung 2013 Global SSD Sumit, the 840 EVO was a unique entry into the SSD market. Using 19nm planar TLC flash, the EVO would have had only mediocre write performance if not for the addition of a TurboWrite cache, which added 3-12GB (depending on drive capacity) of SLC write-back cache. This gave the EVO great all around performance in most consumer usage scenarios. It tested very well, was priced aggressively, and remained our top recommended consumer SSD for quite some time. Other editors here at PCPer purchased them for their own systems. I even put one in the very laptop on which I'm writing this article.
An 840 EVO read speed test, showing areas where old data had slowed.
About a year after release, some 840 EVO users started noticing something weird with their systems. The short version is that data that sat unmodified for a period of months was no longer able to be read at full speed. Within a month of our reporting on this issue, Samsung issued a Performance Restoration Tool, which was a combination of a firmware and a software tool that initiated a 'refresh', where all stale data was rewritten, restoring read performance back to optimal speeds. When the tool came out, many were skeptical that the drives would not just slow down again in the future. We kept an eye on things, and after a few more months of waiting, we noted that our test samples were in fact slowing down again. We did note it was taking longer for the slow down to manifest this time around, and the EVOs didn't seem to be slowing down to the same degree, but the fact remained that the first attempt at a fix was not a complete solution. Samsung kept up their end of the bargain, promising another fix, but their initial statement was a bit disappointing, as it suggested they would only be able to correct this issue with a new version of their Samsung Magician software that periodically refreshed the old data. This came across as a band-aid solution, but it was better than nothing.
Well here we are again with this Samsung 840 EVO slow down issue cropping up here, there, and everywhere. The story for this one is so long and convoluted that I’m just going to kick this piece off with a walk through of what was happening with this particular SSD, and what was attempted so far to fix it:
The Samsung 840 EVO is a consumer-focused TLC SSD. Normally TLC SSDs suffer from reduced write speeds when compared to their MLC counterparts, as writing operations take longer for TLC than for MLC (SLC is even faster). Samsung introduced a novel way of speeding things up with their TurboWrite caching method, which adds a fast SLC buffer alongside the slower flash. This buffer is several GB in size, and helps the 840 EVO maintain fast write speeds in most typical usage scenarios, but the issue with the 840 EVO is not its write speed – the problem is read speed. Initial reviews did not catch this issue as it only impacted data that had been stagnant for a period of roughly 6-8 weeks. As files aged their read speeds were reduced, starting from the speedy (and expected) 500 MB/sec and ultimately reaching a worst case speed of 50-100 MB/sec:
There were other variables that impacted the end result, which further complicated the flurry of reports coming in from seemingly everywhere. The slow speeds turned out to be the result of the SSD controller working extra hard to apply error correction to the data coming in from flash that was (reportedly) miscalibrated at the factory. This miscalibration caused the EVO to incorrectly adapt to cell voltage drifts over time (an effect that occurs in all flash-based storage – TLC being the most sensitive). Ambient temperature could even impact the slower read speeds as the controller was working outside of its expected load envelope and thermally throttled itself when faced with bulk amounts of error correction.
An example of file read speed slowing relative to age, thanks to a tool developed by Techie007.
Once the community reached sufficient critical mass to get Samsung’s attention, they issued a few statements and ultimately pushed out a combination firmware and tool to fix EVO’s that were seeing this issue. The 840 EVO Performance Restoration Tool was released just under two months after the original thread on the Overclock.net forums was started. Despite a quick update a few weeks later, that was not a bad turnaround considering Intel took three months to correct a firmware issue of one of their own early SSDs. While the Intel patch restored full performance to their X25-M, the Samsung update does not appear to be faring so well now that users have logged a few additional months after applying their fix.
Subject: Storage | January 26, 2015 - 05:27 PM | Jeremy Hellstrom
Tagged: Samsung, firmware, EVO, 840 evo
In the fall it was confirmed by Samsung that stale data on some 840 EVO drives would suffer performance degradation and released a tool to mitigate the issue which Al reviewed here. The Tech Report recently heard of some cases of drives slowing even with the new EXT0CB6Q firmware installed and decided to investigate. They took a 840 EVO 250GB SSD which had been filled with files to test the patch and was then left forgotten on a shelf for several months and tested the speeds. The benchmarks showed an average speed between 35-54MB/s far below what you would expect to see from an SSD but in line with what users have been reported. On the other hand another 840 EVO which has been in constant use since the firmware update shows no signs whatsoever of slowing down, though NTFS compression was recently used on the drive which could have refreshed the flash. Obviously more testing needs to be done, keep your eyes out for updates on this new development.
"In October, Samsung patched its 840 EVO SSD to address a problem that caused slow read speeds with old data. Recent reports suggest the issue isn't completely fixed, and the results of our own testing agree."
Here are some more Storage reviews from around the web:
- Plextor M6e Black Edition SSD @ The SSD Review
- OCZ Challenge update: All 5 ARC 100 SSD’s hit 200TB mark @ Kitgru
- Samsung's Portable SSD T1 @ The Tech Report
- Samsung Portable SSD T1 500GB @ Custom PC Review
- Samsung T1 SSD @ HardwareHeaven
- Samsung Portable SSD T1 @ The SSD Review
- Kingston SDCA3 microSDHC/SDXC UHS-I U3 Card @ The SSD Review
- Synology DiskStation DS215j 2-Bay NAS @ eTeknix
Subject: Storage | October 29, 2014 - 03:10 PM | Allyn Malventano
Tagged: tlc, Samsung, firmware, 840
If you own a Samsung 840 SSD, it appears that after much repeated and vocal pressure, Samsung has acknowledged the slow down also affects your drive. We're not talking about the EVO or the Pro, this is the original pure TLC model that launched (the EVO is a TLC+SLC cache hybrid while the Pro is all MLC). Here's the quote from Samsung, via Computer Base:
Uns ist durch das Feedback, das uns erreicht hat, bekannt, dass es auch beim Zugriff auf bestimmte Daten bei Modellen der SSD 840 zu niedrigeren Leseleistungen als angegeben kommen kann.
Im Moment untersuchen unsere Produktexperten systematisch die betreffenden SSD-Modelle innerhalb verschiedener Systemumgebungen und arbeiten an einer schnellstmöglichen Lösung.
Aufgrund der unterschiedlichen Technologien sind die Modelle der PRO-Serie (840 PRO und 850 PRO) nicht betroffen.
What? You can't read German? Neither can we, but paraphrasing from the poor quality translation from several online tools, we deduce that Samsung has acknowledged the issue on the 840, and is working on a solution as quickly as possible. This is similar verbiage to the statement issued for the 840 EVO acknowledgement.
** Update **
Thanks to Zyhmet, who commented shortly after posting, here's a human translation:
Because of the feedback we got, we realized that, accessing specific data with units of SSD 840 could lead to lower reading performance.
For the moment our experts are systematically examining the SSD-units with different system environments and we are working on a solution as fast as possible.
Due to different technologies the PRO-series (840 PRO and 850 PRO) are not affected.
** End update **
Side note - of those who have used the 840 EVO Performance Restoration Tool, a few have reported an issue cropping up. The error manifests as a SMART data misreporting error:
What's odd about this error is that it was present on some of our pre-production test samples (firmware EXT0AB0Q), and was corrected once we updated those samples to the first retail build (EXT0BB0Q). The image above was an actual screen shot taken during our temperature-dependency testing of the slow down issue. While none of our samples had the issue return when updating all the way to the performance restored firmware, one of those updates did corrupt the Master File Table, rendering the majority of the SSD inaccessible. While we have seen no other reports of corrupted partitions, several users noticed the SMART reporting issue after updating. It's odd to see this sort of a regression with firmware updates, in that a bug fixed in the initial shipping firmware has returned (for some) in a subsequent update. If you've updated your 840 EVO with their Performance Restoration Tool, it may be a good time to check your SMART attributes. If you see the error above, please leave us a note in the comments.
Circling back to the slow down issue - given that it is present in two TLC-based SSDs from Samsung, one has to wonder if this issue exists in other Samsung TLC SSDs as well. Here's the list of potentials (thanks to an anonymous comment on a prior story):
- 840 EVO - 19nm TLC
- 840 - 21nm TLC
- PM841 - 21nm TLC
- PM851 - 21nm TLC (some SKUs)
- 845DC EVO - 19nm TLC
- PM843 - 21nm TLC
- PM853T - 21nm TLC
We have several questions out to Samsung on these issues, but to date they have not been answered. More to follow as we wait for an official (English) response.
Subject: Storage | October 27, 2014 - 02:59 PM | Allyn Malventano
Tagged: Samsung, firmware, 840 evo
Over the weekend Samsung silently updated their 840 EVO Performance Restoration Tool. The incremental update improved support for some system configurations that were previously not recognizing an installed 840 EVO. Samsung also improved how the GUI progress bar responds during the update process, presumably to correct the near silent failure that occurred when the tool was unable to update the drive's firmware. Previously, the tool would halt at 15% without any clear indication that the firmware could not be updated (this would occur if the tool was unable to issue the necessary commands to the SSD, mainly due to the motherboard being in the wrong storage controller mode or using an incompatible storage driver).
Still no word on relief for those owners of the original 840 (non EVO or Pro). We've also heard from some users with Samsung OEM TLC-based SSDs that showed the same type of slow down (some variants of the PM851 apparently used TLC flash). More to follow there.
We evaluated the Samsung 840 EVO Performance Restoration Tool here. If you've already successfully run the 1.0 version of the tool, there is no need to re-run the 1.1 version, as it will not do anything additional to an EVO that has been updated and restored.
** Edit **
The tool is now available for download from Samsung here. Another note is that they intend to release an ISO / DOS version of the tool at the end of the month (for Lunix and Mac users). We assume this would be a file system agnostic version of the tool, which would either update all flash or wipe the drive. We suspect it would be the former.
** End edit **
As some of you may have been tracking, there was an issue with Samsung 840 EVO SSDs where ‘stale’ data (data which had not been touched for some period of time after writing it) saw slower read speeds as time since written extended beyond a period of weeks or months. The rough effect was that the read speed of old data would begin to slow roughly one month after written, and after a few more months would eventually reach a speed of ~50-100 MB/sec, varying slightly with room temperature. Speeds would plateau at this low figure, and more importantly, even at this slow speed, no users reported lost data while this effect was taking place.
An example of file read speeds slowing relative to file age.
Since we first published on this, we have been coordinating with Samsung to learn the root causes of this issue, how they will be fixed, and we have most recently been testing a pre-release version of the fix for this issue. First let's look at the newest statement from Samsung:
Because of an error in the flash management software algorithm in the 840 EVO, a drop in performance occurs on data stored for a long period of time AND has been written only once. 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. In other words, as the SSD is used more and more over time, the performance decrease disappears naturally. For those who want to solve the issue quickly, this software restores the read performance by rewriting the old data. The time taken to complete the procedure depends on the amount of data stored.
This partially confirms my initial theory in that the slow down was related to cell voltage drift over time. Here's what that looks like:
As you can see above, cell voltages will shift to the left over time. The above example is for MLC. TLC in the EVO will have not 4 but 8 divisions, meaning even smaller voltage shifts might cause the apparent flipping of bits when a read is attempted. An important point here is that all flash does this - the key is to correct for it, and that correction is what was not happening with the EVO. The correction is quite simple really. If the controller sees errors during reading, it follows a procedure that in part adapts to and adjusts for cell drift by adjusting the voltage thresholds for how the bits are interpreted. With the thresholds adapted properly, the SSD can then read at full speed and without the need for error correction. This process was broken in the EVO, and that adaptation was not taking place, forcing the controller to perform error correction on *all* data once those voltages had drifted near their default thresholds. This slowed the read speed tremendously. Below is a worst case example:
We are happy to say that there is a fix, and while it won't be public until
some time tomorrow now, we have been green lighted by Samsung to publish our findings.