Update procedure in detail
As for how the update process takes place, it is a two phase procedure. We gathered up our 840 EVO samples…
…and then we fired up the tool:
The tool does a few things, but before we get into that, here is the SATA controller configurations supported by the tool:
- Intel chipset (AHCI mode) with Microsoft driver
- Intel chipset (AHCI mode) with Intel RST driver
- AMD chipset (AHCI mode) with Microsoft driver
- AMD chipset (AHCI mode) with AMD driver (MUST be most recent)
- NVIDIA chipset (AHCI mode)
AMD's own driver is picky about updating, and the documentation PDF included with the tool details uninstallation of it, as well as other troubleshooting procedures. Now to get into the update process itself. Here's how it works:
- Update firmware to EXT0CB6Q – this firmware corrects the error in the flash management software.
- Shut down the system – This is important as it power cycles the SSD, which is necessary after a firmware update.
- Rewrite all allocated (not TRIMmed) portions of the flash – This resets the write state of those flash memory pages to values that will work correctly with future read cycles.
The last portion actually takes place across three ‘steps’ as far as the Performance Restoration tool is concerned. Step 1 and 2 appear to take a fixed amount of time proportional to the total capacity of the SSD, while step 3 takes time proportional to the amount of data present on the SSD. As an example, updating a 1TB EVO took 5 minutes for step 1, 5 minutes for step 2, and step 3 took less than a minute to reshuffle ~25GB of data after a couple of minutes to initialize the process. The step 3 time is obviously going to vary based on the amount and age of the stored data. Smaller capacity models will be quicker on steps 1 and 2, but slower on step 3, as the rewrite process bypasses the SLC cache and must be performed with pure TLC writes, which are slower at those smaller capacities.
Samsung states you *can* use the drive during this process, but I would not recommend it, as you are tempting fate. Even if it is your OS drive, just leave the system idle for an evening if at all possible. Going further, I would highly recommend backing up the system prior to performing this update, as anything can go wrong. Out of five drives we tested the process on, one of them corrupted its MFT during the post-reboot process, and a subsequent reboot resulted in the loss of nearly all data. While MFT corrupted in a manner where the data could be recovered with forensic software (i.e. it was not TRIMmed), you don’t want to bank on that type of a recovery if something goes sideways during the update.
** Edit **
A few readers have asked what to do if they are running a RAID of EVOs. Here's your sequence:
- Attach an additional unpartitioned drive to the system that can hold the complete contents of your RAID.
- Use cloning software (Acronis, etc) to clone the live OS RAID partition to the other disk.
- Reboot from the cloned partition and break the RAID from within Windows.
- Reboot and switch controller from RAID to AHCI mode in BIOS.
- Partition and format the empty EVOs individually.
- Run the tool on each EVO. Don't try to outsmart its shutdown request with a simple reboot – power needs to be cycled to the EVO after the FW update for it to take proper effect. The full process for an empty EVO takes about 10 minutes per drive.
- Once completed on all EVOs, delete partitions, reboot and re-enable RAID mode.
- Re-create your RAID, clone your OS back to the RAID, switch boot order back to the RAID.
- Consider keeping your cloned drive as a backup drive for future events (everyone should have a backup drive!).
** End edit **
Observing the tool operate during its restoration process, we can deduce that it is *not* performing file level rewrites like many of the other workarounds people have been using. As a matter of fact, all of the rewrites appear to take place at the flash block level, and between the EVO’s controller and its connected flash memory. Here is a look at disk activity during the process:
As you can see, Windows is oblivious to the process, but to be sure that something was in fact happening, I monitored the power consumption of the EVO during the entire process. Here is that result:
The first stage at the left was the firmware update, followed by a shutdown (where the trace goes to 0). Then upon booting, the tool relaunches. The wide band of relatively high power consumption takes place during steps 1 and 2 (>18:16). Step 3 starts with even higher consumption (18:16-18:18), and the falloff to ~1.3W was where the EVO was actually refreshing the user data stored on the SSD. Once all was completed, the EVO returned to the expected ~300mW idle power.
Once the tool completes the full procedure on an SSD, there is no way to repeat the process. You can’t even restart the process on a given SSD as the option is greyed out. This is meant to be a one way trip, and should permanently correct an updated EVO moving forward. Once you’ve updated, you can safely remove the software as it is no longer needed.
With the update completed, read speeds are returned to normal. This example was 80% full of files prior to the restoration process:
So there you have it. Based on the information we have been provided and our observation of this process and current results, we believe this to be a permanent fix for the 840 EVO read speed degradation issue. Only time will tell for sure, and we will of course report back any further developments on that front.
Before we close, there are a couple of questions we are still working to get answered:
- The statement on page one states that the slow down only happens to data that was written to a new drive and never touched again, yet our own testing showed the effect taking place on drives that had been fully rewritten multiple times (while testing for review). This may just be a translation issue, as the statement originated from Samsung Korea.
- Users of the standard 840 (non EVO or Pro) were seeing the same or similar issue, yet this has not been acknowledged by Samsung.
For now, I would start preparing for the update by backing up your data. The update may be non-destructive, but this is one of those situations where a random glitch can lead to corruption or loss of all data, so don't roll those dice unless you're particularly daring. Good luck in advance to all of those updating.