The SSD Endurance Experiment: Casualties on the way to a petabyte
techreport.com
techreport.com
According to Intel, this end-of-life behavior generally
matches what's supposed to happen. The write errors
suggest the 335 Series had entered read-only mode. When
the power is cycled in this state, a sort of self-destruct
mechanism is triggered, rendering the drive unresponsive.
So you enter a read-only mode, and then on power cycle you self-destruct, making the intact data inaccessible? In what circumstance is that possibly the right choice? Intel says attempting writes in the read-only state could
cause problems, so the fact that Anvil kept trying to push
data onto the drive may have been a factor.
Oh, I see. Maybe it's to prevent the unwanted writes from damaging the drive. Wait, what? The attempted writes can damage a drive that is in read-only mode?I've recovered many hard disks that have gone bad in various ways, including multiple Seagate Barracuda 7200.11 drives that suffered from the BSY bug, and I've never had a disk that I couldn't recover at least some of the data from, even if that meant hooking up serial cables and re-reading the data multiple times (eg: Spinrite).
But a drive that disappears completely when things go bad is never a good outcome.
You will notice that their Enterprise SSDs do not self-brick.
[EDIT] Read down for clarification regarding "almost-dead"
Last I checked, Intel used their own controllers in their enterprise SSDs. Now I wonder if their older consumer drives like the X25-M (which used in-house controllers) become read-only instead of bricking themselves.
http://www.xtremesystems.org/forums/showthread.php?271063-SS...
X25-M G1 dies at ~883TB written (without TRIM, so in reality much more), also by just failing to be detected.
On the first page of that thread you see an X25-V (40GB) with 1.5PB written and apparently it is still alive as of earlier this year...
http://www.xtremesystems.org/forums/showthread.php?271063-SS...
Or, in some OLTP scenarios, every few minutes for a month or so.
Based on what I read from the article it implies that at this point the drive itself MAY be ok but not reliable so the intel software pro-actively commits suicide.
Without the self-bricking you could sell a drive that has reached this point to some unsuspecting person since it ostensibly works but is unreliable, if it fails 2 months later then the seller can just deny responsibility.
Although why it 100% self-bricks instead of going into "read-only brick" mode is a good question.
How do you know? Was there a test that managed to put one of the enterprise drives into Read only mode? Nope.
This brisking of intel wasnt intentional, it sounds like a broken firmware.
> Intel really doesn't want its client SSDs to be used after the flash has exceeded its lifetime spec. The firm's enterprise drives are designed to remain in logical disable mode after the MWI bottoms out, regardless of whether the power is cycled. Those server-focused SSDs will still brick themselves if data integrity can't be verified, though.
I agree with you - I was surprised by the behaviour the article describes. That said, the obvious alternative of entering a permanent read only state is still problematic: how do you dispose of such a drive safely when you can't overwrite the data that remains? You'd need people to be aware of the secure erase command and continue to support that in read only mode.
Of course, for retiring a drive there's no good reason not to just physically destroy it.
You should do it with some care so to keep the various materials easily recyclable.
I say "allegedly" because implementation of S.M.A.R.T. attributes is so inconsistent between drives/vendors, and is often totally undocumented. Most manufacturers seem to provide a Windows program that monitors the attributes, but since they're usually undocumented you're kind of out of luck if you're on another OS...
http://www.smartmontools.org
http://smartmontools.sourceforge.net/> For a drive that voluntarily went into read only mode, I didn't expect it to get bricked, especially for a consumer drive. I am disappointed with Intel's engineers.
> I'd like to be able to read my data, even most of my data, if my SSD has failed. Disabling writes seems quite fair, disabling reads seems unnecessary and potentially cruel, depending on what data has been laid down since the last backup.
> ...I think it's a big deal, I'd want my SSD drive to tell me when it's time to move my data safely to another drive, right?
> Not only Intel but all three. Read only, even with some corrupt data, is far far better than becoming inaccessible. The three failed miserably, SMART warnings and writing-much-over-spec notwithstanding.
> ...I find it concerning since the SSDs appear to brick themselves instead of going into read only mode, once they have reached their write limits.
Seriously, it's the 21st centuary and everyone should always be making backups.
Think about it. If the SSD fails to erase, do you want that to mean it's readable forever? Would you be happy if the NSA was snooping around and your SSD refused to do anything other than disgorge secrets? This feature is good privacyware. If the drive can't be erased it also can't be read.
You seem to live in a bizarre fantasy world where if a drive dies, people just go out onto the street and hand it to random strangers, saying 'please! try to take my data and invade my privacy!' No, what happens when a drive dies is that it gets chucked and hit with a hammer if it had (unencrypted) data on it.
If so, I think she/he can afford to spare a few thousand dollars to some recovery service to read my drive.
But you started talking about this being a "privacy" feature, and now that they told you it's not really protective, you go on about how it's good enough for one's "wife". As if that's where privacy concerns end...
These are the values for a Samsung 830 SSD:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
5 Reallocated_Sector_Ct PO--CK 100 100 010 - 0
9 Power_On_Hours -O--CK 097 097 000 - 13779
12 Power_Cycle_Count -O--CK 099 099 000 - 68
177 Wear_Leveling_Count PO--C- 096 096 000 - 118
179 Used_Rsvd_Blk_Cnt_Tot PO--C- 100 100 010 - 0
181 Program_Fail_Cnt_Total -O--CK 100 100 010 - 0
182 Erase_Fail_Count_Total -O--CK 100 100 010 - 0
183 Runtime_Bad_Block PO--C- 100 100 010 - 0
187 Uncorrectable_Error_Cnt -O--CK 100 100 000 - 0
190 Airflow_Temperature_Cel -O--CK 074 058 000 - 26
195 ECC_Rate -O-RC- 200 200 000 - 0
199 CRC_Error_Count -OSRCK 253 253 000 - 0
235 POR_Recovery_Count -O--C- 099 099 000 - 62
241 Total_LBAs_Written -O--CK 099 099 000 - 10945325283
Monitor all? Or just the wearlevel-count? Or watch only for the program or runtime error counts? What do these even mean?The ones I listed are the main wear indicators, for the others I'd worry if they had any value at all in the RAW column, even if the normalized value was not close to 0. If that happens then carefully research the implications of whichever one it happened to.
If this is a linux server then if you configure smartmontools correctly it will email you when it gets close.
I suspect that between 177 (wear level) and 241 (blocks written), 177 may be the best indicator, because 241 may not take into account write-amplification - useful discussion of this from Anandtech: http://www.anandtech.com/show/6459/samsung-ssd-840-testing-t...
I have quite some experience with Flash in the form of eMMC and SD/CF. SSDs aren't that much different from those on the low level.
The controller that comes with the flash storage contains a core that manages the bad blocks. Comparable to bad sector management on HD. The software these controllers run contain a lot of rules of thumb to manage bad blocks, which is where these full failures come from IMO.
Each controller has access to a pool of reserve blocks that are used when bad blocks are detected. Once those run out the embedded software starts showing weird behavior when using the device and shortly after there's a complete fail.
I think the pool of reserve blocks is "Used_Rsvd_Blk_Cnt_Tot" in your list. Apparently there are 100, of which you consumed 0. There's a threshold at 10 so I assume that's where the diagnostics software will warn you.
The 100 is a normalized number, it's not the actual number of blocks. (A percentage basically, so 100% are still left.)
If the drive used any blocks at all I'd worry about it, I would not consider it a wear indicator but rather a failure indicator.
I'm not too sure about that. The only ref I can give is that they use the suffix "Cnt_Tot" which means "total count". When it's a percentage they denote it as such as in "Perc_Rated_Life_Used" and "Workld_Host_Reads_Perc". Don't be surprised by the low count (100).
In Smartmontools I found the code for this variable:
http://smartmontools.sourceforge.net/doxygen/atacmds_8cpp_so...
It's code 179 (0xB3).
From Samsung's website:
http://www.samsung.com/global/business/semiconductor/minisit...
ID # 179 Used Reserved Block Count (total)
This attribute represents the number of reserved blocks that have been used as a result of a read, program or erase failure. This value is related to attribute 5 (Reallocated Sector Count) and will vary based on SSD density.
.. so at least for samsung there's use of exact numbers.From Intel's website:
http://download.intel.com/newsroom/kits/ssd/pdfs/intel_ssd_5...
(Ctrl-F for "Available Reserved Space")
.. they use a normalized value (100).
So it can be either percentage or absolute value, depending on manufacturer.
You should run the short and long smartctl tests occasionally to get more reliable results though (smartctl -t short and smartctl -t long)
Your drive looks in good shape in my opinion but thinks can always change suddenly so always backup.
Though I guess in the long run if they do even half as well as the report suggests we're probably in good shape.
and http://www.tomshardware.com/reviews/ssd-reliability-failure-...
Together with this one should give a good picture on SSDs
But if they also completely brick themselves at EOL then it doesn't like a good choice, so ... are there any reliable SSDs??
For most rational definitions of reliable, absolutely. In this case inexpensive MLC or even TLC drives withstood hundreds of TB or more of writes before failing, clearly indicating their remaining lifespan the entire time. In the common applications of these drives, they're unlikely to ever see tens of TB of writes.
They can't last forever. It is odd that the Intel "bricks" itself, and that sounds more like a fault than anything (I'm at a loss to explain how that makes sense as a behavior, beyond maybe "hiding your data after you've lost the ability to wipe it"), but again it was clearly communicating the entire time that its death was imminent.
As an aside, that power test you linked was an extreme test of thousands upon thousands of abrupt power cuts while a write-back cache was enabled and populated, against a very small number of drives. It is not relevant to consumer products (where few or no drives have power retention), but it's even odder in the enterprise space, where power assurance is at the rack or even center scale, not component by component.
Regarding the power tests I think the relevance is that the drives lie to the OS about sync, and just claim they completed it when its in their cache, and then hope they can write it to flash before power loss / before the capacitor runs out. The cache wouldn't be a problem if it could be reliably flushed. As it is they will corrupt the integrity of anything that relies on syncs / write barriers like databases.
I'm an overly cautious person when it comes to data so I'm still holding off - these results look promising enough to throw some of that caution to the wind.
Compared to HDD, SSD failure modes are highly desirable and easy to handle.
Using a junction point for a critical folder like that requires booting into a recovery mode and entering a bunch of incantations into a cmd window. And things will go sideways if you have to remove the Users drive at any point.
An easier course of action is to just use the Libraries functionality under windows and map each of those to write by default into your HDD. so most of my documents reside in D:\media\Documents instead of C:\Users\[blah]\Documents. Then you can also leverage the SSD speed for stuff in your AppData.
If you use Windows 8, I've heard that doing something like this causes massive problems when updating Windows itself. It's been fine for Windows 7 though.
Our systems vendor is making a big push for SSD only systems for many reasons. Namely speed but the reduced costs for electricity and cooling are apparently significant too. There there is the form factor, they are going to be much more space efficient than spinning drives
Mirroring is really useful with spinning rust, where failures are (more or less) unpredictable and you need a spare to use while the first is replaced. I wonder if there's a better solution when the failure of the drive is more predictable that avoids having a second unit sitting there all the time - especially for applications where the data isn't absolutely critical.
and
> would not endanger data
in the same train of thought does not compute. Raid arrays do not protect your data. Only backups will do that.
In fact, striped raid arrays will tend to lose data faster than a drive by itself - when it comes time to calculate parity, they'll find an overlooked mistake and take out 2-3 more drives, writing off all the data on that cluster at once.
There is, however, a lesson I learned - never, ever build an array with drives of the same maker, model and batch, as they will have a tendency to fail at the same time for the same reasons. I did not build the array (I'd never do it), but it failed under my watch. Luckily, the first drive to go went one week before the second and the third and I had a plan-B.
That's exactly the issue - you can't have a takeaway if you don't have a reasonable sample size. Are these drives all in the top 5% of quality for their respective brands? We'll never know unless we do a larger study.
http://arstechnica.com/science/2012/11/nand-flash-gets-baked...
Two of them are still going strong, one failed in very unique circumstances (and was probably recoverable by Samsung).
'Verify disk' in Disk Utility from time to time. I usually get error messages and have to boot from the recovery partition to repair my system disk (Command-R).
According to the local Genius Bar, that's normal to a certain degree. For one MacBook Pro, I got the mainboard and the SSD repaired on warranty.
I am wondering if these issues are related to HFS+ or to the reduced reliability of SSDs …
on a side note, glad i paid the extra cost for the 840 pro!
In any case, all the drives so far indicated they were destined to keel over via the SMART attributes long before it actually happened... Certainly long enough to buy a new drive and copy all the data, even for the less reliable TLC drive.
In fact even under a heavy workstation load you'd have enough time to save up money working a minimum wage part-time job, order the SSD when it goes on sale, wait for it to arrive via ground shipping, forget that you need an external SATA adapter, save up for that, order it, wait for shipping, then copy the data.
My original Intel X25-M G2, which I used for several years in my daily workstation, had around 4 TB total writes before I replaced it. That's two orders of magnitude lower than the apparent limit for these drives.
That's a really interesting metric. Can we call that the xenadu factor?
As opposed to hard drives, which are always so good about failing predictably /s
My take away was that SSDs are somewhat easy to predict failure on. I'd take predictable failure over unpredictable any day.
not that this is a rule, i've seen hdds fail instantly for no reason as well, and flash media throw a massive wobbler but still be recoverable. but in my experience this is not the normal behaviour.
but who cares as long as you have backups and a contingency plan?
[1] http://static.googleusercontent.com/media/research.google.co...
Edit: My apologies, mixed up this with other youtube wsj article which is behind paywall. Consequence of opening multiple articles at once.
Even with only six subjects, the fact that we didn't experience any failures until after 700TB is a testament to the endurance of modern SSDs. So is the fact that three of our subjects have now written over a petabyte. That's an astounding total for consumer-grade drives, and the Corsair Neutron GTX, Samsung 840 Pro, and compressible Kingston HyperX 3K are still going!
A properly functioning drive will last ages now. Not all manufacturers produce the same rate of improperly functioning drives, so that's where the discrepency in product exists.