Flash Destroyer Tests Limit of Solid State Storage
An anonymous reader writes "We all know that flash and other types of solid state storage can only endure a limited number of write cycles. The open source Flash Destroyer prototype explores that limit by writing and verifying a solid state storage chip until it dies. The total write-verify cycle count is shown on a display — watch a live video feed and guess when the first chip will die. This project was inspired by the inevitable comments about flash longevity on every Slashdot SSD story. Design files and source are available at Google Code."
It'll be nice to get some third-party data on exactly how long these things last on average.
a live stream linked on slashdot.. ouch..
You would think after the write cycles were exceeded the chips would be more or less read-only instead of 'dead.'
Am I mistaken on this presumption?
Flash! Aa-aaahhh!!
For the guy a couple days back who asked what kind of project can he do that would be useful to the world, here is a great example. Try something like this.
Qxe4
Wait, which flash are we talking about here?
Excellent work! Given that the chance that the manufacturers will provide this data approaches zero, this is the only way we're going to get realistic figures for the longevity of flash chips. Hopefully, this will encourage more independent hardware testing in other fields
Proud member of the Weirdo-American community.
I was expecting something cool, like storing a picture, displaying it, and then constantly XORing each pixel with some random number twice, repeatedly, and watching the image decay over time. Although it would appear that it'd need quite a lot of time.
This project was inspired by the inevitable comments about flash longevity on every Slashdot SSD story.
Take that every 'dotter that says bitching on this website doesn't get anything done!
/removestonguefromcheek
Motorcycles, Robots, Space Gossip and More!
article says: We used a Microchip 24AA01-I/P 128byte I2C EEPROM (IC2), rated for 1million write cycles.
Um, SSDs don't use anything like this part as their storage.
I bet the server's IP address is untraceable.
"The cost of freedom is eternal vigilance." -Thomas Jefferson
wasn't there a /. story about this several years ago? As in, someone who just wrote:
n=0 /mnt/usb /mnt/usb/t /mnt/usb /mnt/usb /mnt/usb/t || { echo $n; exit 1; } /mnt/usb
while true; do
head -c$(( 1024 * 256 )) > t.t
mount
cp t.t
umount
mount
cmp t.t
umount
n=$(( $n + 1 ))
done
and ran it on an old computer for 5 years straight with no errors?
He's running a test on one of the old EEPROM chips that have existed for maybe 30 years. This is totally different technology from the flash memory in modern devices (including memory cards, USB sticks, and solid state disks). This project really bears no relevance to solid state storage.
Yeah, that's what I was wondering too the moment I saw the 1 million cycles... what I heard was that SLC is usually rated for ~100k writes and MLC for ~10k writes, so completely different type of chip. So I'm not sure what this data will be relevant for, but it's not SSDs... what's this for, BIOS chips or something?
Live today, because you never know what tomorrow brings
but let's hope more than one third-party decides to run these tests so we have larger data sets and from separate sources.
I'd like to know what universe you get your SSDs from that don't use EEPROMs. Oh, you think the size is a big deal? Let me introduce you to a wild concept known as 'scaling'.
I support the Slashcott and will not be reading or commenting from 2/10/14 to 2/17/14. Beta is steaming pile of dog shit
the numbers on the live video are updating at about 7 per second. even if the ssd was a 4GB one, that means 28GB/second. sorry i didn't know we already had SATA version 14 with supports 28GB second...
The display only goes to 9,999,999! I think that won't be enuf... should be 100M or 1G.
NOW!
Now, to see how much explosives it takes to MAKE it fail!
This is my favorite part! :-)
Any technology distinguishable from magic is insufficiently advanced. - Geek's corollary to Clarke's law
If it fails on a write, then the data written is useless (because some random bit/s will be wrong), so the storage is "dead" in that it is no longer useful. IOW, it can no longer be used for its intended purpose.
"Read-only" refers to storage which contains useful information, in that it was written once with the desired data, even if it can't be again (ROM or PROM). So even though it's read-only, it still fulfills its intended purpose.
In any case, read-only = useful, dead = not useful; worn out flash = not useful.
"National Security is the chief cause of national insecurity." - Celine's First Law
Micron has SLC chips that do 1 million cycles as of 1.5 years ago.
That Castrol commercial with 50 engines running on engine stands with no oil in them?
Oh bleh... AC box checked accidentally. The parent is me.
I support the Slashcott and will not be reading or commenting from 2/10/14 to 2/17/14. Beta is steaming pile of dog shit
You mean, like reptiles?
Most modern flash memories have their controllers check which blocks are dying or dead and re-route write and read requests to good blocks. So while your flash may seem to be working perfectly well, various blocks inside it may be dying and its storage size may be progressively decreasing.
So I hope they are rewriting the entire flash in their test. Otherwise it is not representative.
Actually, I rescind my post, as I realize I was confusing EEPROM with NOR/NAND. Your point is actually quite valid.
I support the Slashcott and will not be reading or commenting from 2/10/14 to 2/17/14. Beta is steaming pile of dog shit
More importantly, the test pattern does not resemble normal SSD usage. Complete writes are very unusual for SSD and a cycle is not completed nearly as quickly as a cycle on this EEPROM (400 cycles per minute). When an SSD is written to in normal usage, a wear leveling algorithm distributes the data and avoids writing to the same physical blocks again and again. The German computer magazine C't has run continuous write tests with USB sticks and never managed to destroy even a single visible block on a stick that way. The first test (4 years ago) wrote the same block more than 16 million times before they gave up. The second test (2 years ago) wrote the full capacity over and over again. The 2GB stick did not show any signs of wear after more than 23TB written to it.
This is internal EEPROM and is a whole different kettle of fish compared to the new state of the art sub-sub-micron stuff in flash drives now days.
The most important thing is that this is rated for an industrial environment. It's not going to prove anything!
Okay, I'll bite. Let me introduce you to this thing called "functional equivalence". You do realize that even though they are all "nonvolatile storage," there is a difference between EEPROM and Flash, and that there are many different kinds of low- and high-density Flash and they all have different proprietary silicon designs with different characteristics?
Microchip EEPROMs are specifically designed for low-density, high-reliability applications, and are totally different at the transistor level from high-density MLC Flash used in solid state disks.
+1 Informative :)
They could add an extra digit to the front of the display showing how many times the other numbers have reached their maximum! Brilliant, 10x the capacity for only one digit more!
They're testing an EEPROM: while the underlining physics of storing data in an EEPROM and Flash RAM are the same - floating gate transistors - EEPROMs use best-of-breed implementations, single-bit addressable floating gate, while the Flash RAM found in SSDs is the cheapest, lest enduring MLC NAND. MLC NAND are the cheapest per bit, and have a write cycle endurance of two to three orders of magnitude lower than EEPROMs.
SSDs do not contain EEPROMs. They don't even contain SLC (NOR or NAND). In fact, SSDs don't even contain NOR MLCs. Only the cheapest will do, for SSDs.
"The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
Never heard of him. Is he a Marvel Universe character?
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Oddly, the NAND I deal with (MLC and SLC) tend to have ~1M writes for SLC, and at least 100k writes for MLC. The 10k flash chips I used were high capacity Intel Strataflash (MLC, but NOR), which aren't written as often.
NOR has markedly less endurance because it uses tunnelling one way (erase, I think) and hot electron injection the other way (write). Sending electrons blasting through insulation is a good way to wear it out. NAND flash uses tunnelling, so it doesn't wear as much.
I've also seen this kind of I2C flash with as low as 1k write/erase cycles.
And a little known fact is that these endurance ratings tend to be guaranteed by manufacturer. In practice, it's not unheard of to get 10x as many cycles in. The other thing is, flash gets slower as it wears out - if the cell doesn't die outright (i.e., insulation breakdown), the cell may take so long to program or erase that that internal programming/erasing timer expires and you get a timeout. That too is an error condition.
Anyone feel like replicating this experiment with a standard flash chip scrounged from a USB stick?
It would also be nice to try an entirely software approach on a USB stick plugged into a pc, to see how good the wear levelling in commodity usb sticks is.
Nah, fish.
Flash - Ah - Saviour of the universe
Flash - Ah - He'll save ev'ry one of us
Seemingly there is no reason for these
Extraordinary intergalactical upsets (ha ha ha)
What's happening Flash?
Only Dr Hans Zarkov formerly at N A S A
Has provided any explanation
Flash - Ah - He's a miracle
This mornings unprecedented solar eclipse
Is no cause for alarm
Flash - Ah - King of the impossible
He's for ev'ry one of us
Stand for ev'ry one of us
He'll save with a mighty hand
Ev'ry man ev'ry woman ev'ry child
With a mighty Flash
General Kaka Flash Gordon approaching
What do you mean Flash Gordon approaching?
Open fire all weapons
Dispatch war rocket Ajax to bring back his body
Flash - Ah
Gordon's alive
Flash - Ah - He'll save ev'ry one of us
Just a man with a man's courage
He knows nothing but a man
But he can never fail
No one but the pure in heart
May find the golden grail oh oh oh oh
Flash Flash I love you
But we only have fourteen hours to save the Earth
Flash!
I've abandoned my search for truth; now I'm just looking for some useful delusions.
what are the odds of multicast packets getting through all the routers on the internet...
I was about to joke with the moderating system, but mods shouldn't waste their points on this post. +-0 Agreeable.
I am really not big on the "I told you so" thing, but in other stories about SSDs I mentioned that I could easily write a program like this, and some people called me an idiot and said I was full of BS. Well, to those specific people: See? Just maybe I knew what I was talking about after all.
Gloat gloat.
And now back to our regularly scheduled program.
IIC EEPROMs are always too small for BIOS, I'm not sure what the biggest ones are, but they're quite small, maybe 2 or 4kB being the largest size.
They're generally used for menial stuff, For example... serial numbers on things, last operating mode (so battery powered devices can save states when power is removed), DIMMs all have them so that the machine knows what speed / config the RAM is (a PC's SMBUS is essentially I2C, there are slight differences but most things are identical and compatible).
The bus itself is rather slow, but can handle a whole bunch of devices, and only requires two wires.
BIOS is either stored on parallel bus (E)(E)PROM - The amount of E's depends on generation, OLD stuff was PROM (one time writable) or EPROM (rewritable, but requires UV to erase), starting around pentium era things went to EEPROM (electrically erasable). Modern boards seem to use SPI EEPROMs (this is also a serial bus like IIC, but dumber (no addressing) and it can be spooled up a lot faster). Some fairly recent boards still use parallel chips though.
Sent from my PDP-11
Is scaled up EEPROM kosher, then?
Sent from my PDP-11
Moreover, since it costs money to evaluate the EEPROM for over 1 million write cycles, 1 million write cycles is what is commonly specified. That more or less means that it has been tested to do *at least* that. I would not be surprised at all that the actual number is substantially higher, even after testing multiple chips. I'm using smart cards that use 100K write cycles for their EEPROM but I was assured this was the verified lower bound. Since the lower bound is much lower on flash chips, it makes more sense to test them to the limit instead of just drawing a line at some power of 10.
The AC actually posited a worse case scenario, in that the whole disk was filled, and only one "spot" was repeatedly changed.
There are two ways to handle this:
Yes, they do. They are basically testing how many times you can update the firmware. After 1.6M upgrades, it seems we'll have to worry.
...will the Flash Destroyer hold up under this load?
http://www.bynarystudio.com
The counter sounds more like a gimmick than anything else. There also seems to be a dispute about whether the EEPROM they're testing is the same thing as a flash memory module. Real SSD and flash storage has wear leveling. Does this thing? Also, Flash memory comes in different variants (multi-level cell, single level cell, and likely other variations). Which is this?
So... I guess I have to wonder why not just some damn flash chips, and write a program to write to them over and over, then read. That sounds like about an hours work or so. It seems like they're more interested in creating a toy than actually producing independent relevant results.
AccountKiller
Technically true, but I should have quoted Wikipedia:
Flash memory is a later form of EEPROM. In the industry, there is a convention to reserve the term EEPROM to byte-wise erasable memories compared to block-wise erasable flash memories.
I concede that there in principle Flash and EEPROM are very similar, but the fact remains that the Microchip part is made on a super-robust 180nm process, while state-of-the-art high-density flash chips use 60nm, 45nm or smaller transistors. There is basically no correlation between the longevity of the two processes because they are so different on the molecular scale.
1. Put a bunch of ad space on your web site.
2. Create a program called "Flash Killer" which has nothing to do with Adobe's software, but is still pretty cool, and put it on your web site
3. Post a story about it on slashdot.
4. Profit!
This is what I got from a 2GB Kingston Flash Key. After that there were errors in almost all overwrites. However the real kicker is that while the key read back wrong data, there never ever was any error reported. Since doing that beginning of 2009, I do not rust USB Flash anymore.
Set-up: Linux, 1MB random data replicated to fill the chip, then read back to compare. Repeat with new random data. I had one isolated faulty read-back around 3500 cycles and then from arounf 3700 cycles 90% (and pretty soon 100%) faulty read-backs. Language was Python, no errors for the device on STDERR, or the systemlogs. And I looked carefully.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Haha. I was looking at the video and one of those ads popped up at the bottom of the video feed advertising "Top Anti-aging creams". Now I wonder? :P
When shit hits the fan get some of these https://youtu.be/pY-GncsZ-UE
Those IOdrives have been getting some flak over poor performance once the sucker has been filled once and the wear leveling is in play. I wonder if this could help prove the product is decent, or is in fact made of fail?
Tunneling is what does the damage (the electrons have more energy). I don't work on NAND flash but I suspect the greater endurance comes from having less margin for data retention. NOR flash is used in embedded applications, often under extreme conditions, and the data has to last for a long time.
Visit the
I am working on flash write/erase cycling right now in my day job and I can tell you that this is not a very good test. Temperature affects cycling endurance (and this is reflected in the spec), so if your SSD is 20-30C higher than room temp it's going to make a difference. Fowler-Nordheim tunneling (which NAND flash uses for program and erase) is hardest at cold temperatures, so the first operation after powerup might be the worst case in a PC. (Yes, I know they're not using an SSD here, but they are doing their cycling at room temp.)
Another thing to keep in mind is that continuous cycling is not realistic. The wear-out mechanism here is charge trap-up, where electrons get stuck in the floating gate oxide and repel other electrons, slowing down program and erase. Over time, thermal energy lets the electrons detrap. So irregular usage in a hot PC should actually be nicer environment for endurance.
A final factor is process variation, which can only be covered by using a large sample size (>100) and/or using units from separate lots with known characteristics, none of which an end user will likely have access to. Even that doesn't tell you anything about the defect rate.
There are really two types of tests that people are talking about here. The first is a spec compliance test, which uses the extreme conditions I mentioned above to guarantee that all units will have the spec endurance under all spec conditions. This should be done by the manufacturer. The second is a real world usage test, which will only give realistic results if done under actual use conditions. The number you get from the article's test probably won't tell you much.
[Disclaimer: I work on embedded NOR flash, not NAND, but the bits are the same and the article's talking about EEPROM so I figure I can butt in.]
Visit the
Pass through the airport scanners a few times and you'll see the drives start to fail