I’ve been using SSDs for many years now and I’m more than happy as the speed difference on a notebook compared to hard disks is just like day and night. Unfortunately I use a one terabyte Samsung 840 Evo in my notebook that has now bitten me for the second time.
Back in 2014 news broke that the Samsung 840 Evo line of SSDs has a nasty bug that significantly reduces read performance on files that have been sitting on the hard drive for some time. I noticed the issue at the time as I have lots of 20+ GB virtual machine image files on my hard drive of which large parts are not modified over time and accessing them or making a backup of them became slow over time. Samsung had a fix for the issue at the time that consisted of two parts, an SSD firmware update and just reading and writing all data on the SSD once to restore performance. That actually worked, at least for some time.
Unfortunately the issue appeared again for many people at the beginning of 2015 and this time Samsung had to admit that their 840 Evo SSDs are faulty and are loosing charge in the SSD memory cells over time. This post and its references go into the details. Again, they delivered a firmware update which now regularly reads and writes all data on the SSD to keep up performance as reported by AnandTech in the article post above. I would call that an ugly fix. AnandTech is not worried that this has a major impact on SSD endurance and I hope they are right. Personally I don’t like the idea that my SSD is doing such a thing deep inside.
How Bad Was It Really?
At first I thought that I could perhaps sit this one out but read performance became so bad over time that I had no other choice. While new virtual machine image files could be read at 350 MB/s from an encrypted partition on my notebook, the average speed on older files was a mere 20-30 MB/s and read speeds had become very erratic. Scary!
How Things Improved After The Firmware Upgrade
At first I wondered how long the firmware update would take because last time around the utility performed a full read/write cycle, which as you can image, would take quite a while on a slow 1 terabyte SSD. But for this second fix only the firmware update is done that takes a minute or two at most. After a reboot the firmware goes to work inside the SSD without the operating system noticing whenever no data is read or written.
To see how things would improve I started to copy a number of new and old 20+ GB virtual machine images to the null device. During the first round read speeds were still in the 20-30 MB/s range while new files transferred at 350 MB/s as measured before. On the second try I could get smooth and sustained read speeds on those old files of around 150 MB/s. That probably means that the new firmware took some first measures already when it read the data on my first try. Much better but still it was not where it should be. I ran a couple of more iterations but I still only got 150 MB/s on those files. So I let the firmware do it’s job overnight. The next day I’m happy to report that the old files can now be read again at 300+ MB/s.
I really hope that is the end of the story for me. I hope the firmware is clever and doesn’t start to do things while I’m on battery because reading and writing massive amounts of data inside the drive must consume quite some energy. And lets also hope it has no detrimental effects on endurance that would show up in the next two or three years.
On the bright side the current 850 Evo lines of Samsung’s consumer SSDs is built on a different flash technology and so far no similar effects have been reported. I keep my fingers crossed!