All Solid State Drives Suffer Performance Drop-off
Lucas123 writes "The recent revelation that Intel's consumer X25-M solid state drive had a firmware bug that drastically affected its performance led Computerworld to question whether all SSDs can suffer performance degradation due to fragmentation issues. It seems vendors are well aware that the specifications they list on drive packaging represent burst speeds when only sequential writes are being recorded, but after use performance drops markedly over time. The drives with better controllers tend to level out, but others appear to be able to suffer performance problems. Still not fully baked are benchmarking standards that are expected out later this year from several industry organizations that will eventually compel manufacturers to list actual performance with regard to sequential and random reads and writes as well as the drive's expected lifespan under typical conditions."
How can that be? They tested every drive in existence?
Just place SSD drives to usenet or torrent servers and use them as /var/log mountpoints... you soon see real tests how well those work when comparing to old fashion harddrives!
Even the article itself says that it isn't much of a big deal, once you get past the headline, of course.
And this seems like the sort of issue that will be resolved in the next generation, anyway.
... these things aren't going to be a big deal in the long run, I mean who wasn't expecting some amount of technological immaturity? We shouldn't forget though that even with it's immaturity it's still much faster then hard disk drives but the SATA interface controller was not designed to handle such high speeds, not to mention much software is not geared, nor optimized for SSD usage.
Still price has come down considerably on many SSD's over the last 6 months, I was thinking about picking up an X-25 M for a mere $350 bucks, would be worth it (to me) just to reduce load times in games like Empire total war IMHO.
This isn't a bug, it is a property of flash memory. That is like calling a car that eventually runs out of gas poorly designed. The only way around it would be a new type of "defrag" where unused blocks were cleared in advance and partially used blocks consolidated.
Think I'll stick with the tried and true IDE/SATA tech.
The Navy Motto "IF it ain't broke Fix It" "A day is wasted if you don't learn something new"
"Drastically effected its performance"
This is patently false. Whats really happening is that SUSTAINED WRITE PERFORMANCE decreases by about 20% on a full drive as compared to a fresh drive. You might say 20% is too much, and I'd probably agree with you, except that ONLY sustained write performance is being affected.
Your read speed will not decrease. Your read latency will not increase. Unless you're using your SSDs as the temp drive for a high definition video operation (And why the hell would you for that? Platter drives are far better suited to that task between sequential write speed and total storage space) then you have nothing to worry about.
This happens on all drives, as the article title correctly states. The solution is a new write command that pre-erases blocks as you use them, so the odds that you have to erase-then-write as you go along are decreased. Win7 knows how to do this.
Nonetheless, it is totally overblown and your SSD will perform better than any platter based drive even when totally full.
http://www.anandtech.com/storage/showdoc.aspx?i=3531&p=4
Anandtech has a very detailed article that explains all about this and some ways to recover the lost speed (sometimes).
-Lod
...you mean to tell me that fragmentation *reduces* the performance of storage???
I purchased a Lenovo X301 with a 120 GB flash drive last September and have been nothing but pleased with the performance of the drive. I boot Vista and also run openSUSE in a vm. The drive speed is high and consistent. The drive in the X301 is supposed to have better controllers than some, and it certainly does better than a USB stick. Any theoretical problems with write speed don't appear to me to affect typical real world use.
One that can relocate MFTs, most used files and swap to the chips on the outer edge of the circuit board, where the throughput is faster.
The fundamental problem with NAND-based solid-state drives is that they use NAND flash memory--the same stuff that you find in USB flash drives, media cards, etc.
The advantages of NAND is that NAND is both ubiquitous and cheap. There are scads of vendors who already make flash-memory products, and all they need to do to make SSDs are to slap together a PCB with some NAND chips, a SATA 3Gb/s interface, a controller (usually incorporating some sort of wear-leveling algorithm) and a bit of cache.
The disadvantages of NAND include limited read/write cycles (typically ~10K for multi-level cell drives) and the fact that writing new data to a block involves copying the whole block to cache, erasing it, modifying it in cache, and rewriting it.
This isn't a problem if you're writing to blank sectors. But if you're writing, say, 4KB of data to a 512KB block that previously contained part of a larger file, you have to copy the whole 512KB block to cache, edit it to include the 4KB of data, erase the block, and rewrite it from cache. Multiply this by a large sequence of random writes, and of course you'll see some slowdown.
SSDs will always have this problem to some degree as long as they use the same NAND flash architecture as any other flash media. For SSDs to really effectively compete with magnetic media they need to start from scratch.
Of course, then we wouldn't have the SSD explosion we see today, which is made possible by the low cost and high availability of NAND flash chips.
This is old news, and both the Intel drives and the OCZ Vertex have updated firmwares/controllers that remedy (but do not completely solve) the issue.
When we get support for TRIM, it will be even less of an issue, even on cheapo drives with crappy controllers/firmware.
The issue won't be completely solved ever, because of how SSD arranges flash memory and how flash memory can't really be overwritten in a single pass.
See anandtech's write up if you want details.
http://www.anandtech.com/printarticle.aspx?i=3531
Power management can turn off sections of the flash memory. This is good, of course, to reduce battery consumption in laptops and netbooks. But the process of turning a section's power off and then turning another section's power on can slow down the access. With very random access, expect that to simply happen a lot. So random hopping around the storage, while not as slow as a mechanical hard drive, will be slower than sequential.
Add wear leveling into the picture and you have a layer of memory translation. The purpose is to select different blocks out of a pool each time an erase needs to be done. So if you write over the same page of storage a million times, it is actually erasing a number of different blocks. In real world writing, which has its own random access, the end result over time is that this translation layer has the data scattered all over the available space.
Now even a sequential access to the data is really accessing the data in a random order based on what the wear leveling translation layer state is. This increases the number of times the access transitions from power controlled section to another. If the design is one where few or even one section can be powered on at the same time, this slows things down even for a sequential access. If the design allows many or even all sections to power on at the same time, then it shouldn't slow down (just for sequential reading), but would increase the power drawn and shorten battery charge/life if on battery power.
What would be useful ... if you don't mine occasionally losing all your data ... would be some kind of reset operation that can be done to the whole SSD device to discard and re-initialize the wear leveling translation (but not discard the bad blocks data). You could sequentially write over the whole device, which will help some, but won't be a complete re-initialization. The OS needs to be writing to the device in units of at least the erase block size in order to do this right. Multiple whole writes might do better than just one, but this is accumulating more wear on most (or if enough passes is done, perhaps just two ... all) blocks.
now we need to go OSS in diesel cars
Both means should be provided. That way we can still have SSD devices emulating regular hard drives. But even if the direct layer access is not provided, a standard command code to identify block sizes, and a standard command code to erase a block (e.g. discard it from wear leveling translation for now) would be partly useful. One could erase all the blocks and thus reset the wear leveling over the whole device. Of course, you better have a few backup copies of the data.
now we need to go OSS in diesel cars
So according to what you're saying, and what the Anandtech article said, the headline is just plain Wrong!
http://www.anandtech.com/storage/showdoc.aspx?i=3531&p=1
The slowdown is only particular to NAND Flash. Dynamic RAM based solid state drives don't suffer from this phenomenon. (Gigabyte i-Ram and ACARD ANS-9010) However, they are definitely also Solid State Drives.
http://www.computerworld.com/action/article.do?command=printArticleBasic&taxonomyName=Storage&articleId=9132668&taxonomyId=19
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
I've used it as a desktop drive for four months so far, and, using hdparm -T as a benchmark (I know, I know, but it's on a desktop!) it has the same throughput as it ever did. I download torrents to it.
It would copy completed torrents to a platter-drive at 60MB/sec when new and will still do 60MB/sec now.
I don't see a problem. Opera/Firefox open in less that one second (by wristwatch!) instead of ten on a platter-drive (Pentium-M, 1.6 GHz). The whole computer seems more responsive -- even modern in terms of speed.
Thumbs up on SSDs! My Patriot drive was on sale at Fry's for about $70 US (32GB). Best upgrade I ever made; I boot from it (less than 20 seconds on Ubuntu 9.04) but use a platter drive for /home and swap.
Looks like it. they're all borked. Every single one of them. I said so in the title, and I only bother reading the title in Slashdot stories these days.
http://4onlineshop.stores.yahoo.net/an5insax1ram.html
The ANS9010 and 9010B suffer no such issues since they are ram-based. They also have a CF backup slot in addition to a backup battery. Very slick and a better solution for a boot drive than a typical SSD if you absolutely must have maximum speed. Pricing with RAM is comparable to an enterprise-level SSD, just roughly 1/2 to 1/4 the capacity is all.
On page 8: Putting Theory to Practice: Understanding the SSD Performance Degradation Problem
I don't need to test my programs.. I have an error correcting modem.
Firewire.
this is my sig
I'm running an Intel x25m as my boot drive, I've used the system with and without the SSD, you'll pry the SSD from my cold dead hands. The responsiveness when using the SSD is astonishing, apps just spring open as fast as you can release the mouse button.
wrote a thorough review of SSDs, including the X25, complete with a full technical explanation of exactly what causes the performance degradation.
About 2 months ago.
I agree that it is not news (the topic, including performance reviews, was thoroughly covered by Tom's Hardware about 2 months ago), but the OCZ Vertex did not in fact "update" the controller. The new top-of-the-line Intel SSD does indeed have a new controller, that helps to minimize (but not eliminate) the issue. OCZ, on the other hand, just threw in another of the old controllers, and divided the memory between them to increase average throughput. The problem is still there, but it is somewhat less noticeable because the throughput is better on average.
However...
As long as they can get the read, write, random read, random write performance to be substantially better than a hard disk - across the board I don't care too much. .ico files on it (754 bytes?) in a zip file.
Example: many many years ago, on my 286, I extracted a floppy disk with 1,800
That took about an hour to do.
I then learned about 'smartdrv.sys' (or was it EXE?)
The time to do it went from an hour to about 30 to 60 seconds.
The way the FAT16 worked on my machine with a 20mb drive and a 286 CPU it was writing back and forth constantly for that many files, it was very in-efficient, each subsequent .ico file being extracted from the zip made it slower.
Now if we have some kind of alternative which alleviates this problem in Windows (and can still keep write corruption down, in the event of a power failure) I'd be curious to see it implimented.
Sooner or later SSD's will be better than magnetic hard disks, across the board (possibly inclduing space) right now there's some issues but I'm thinking, after Anands huge article a month or so ago, the manufacturers know that the consumers are switched on to this.
You'll see an OCZ Vertex 2.0 drive sooner or later, across the board faster than the 1.0, possibly cheaper and possibly bigger.
I would guess, within 18 months 'regular' non geeked out enthusiasts will be snapping up SSD's and within 48 months from now, you'll see SSD's shipped commonly in laptops and desktops purchased from IBM, Dell, HP at regular prices for regular office worker workstations (600$ US jobbies)
I for one, can't wait.
In case someone is wondering: no technical parts of this article say anything interesting. USB is certainly not a good replacement. USB-2 is way too slow and has terrible latency. USB-3 will be better, but it won't go faster than current SATA-2. And no, the write speed of SSD's won't surpass SATA-2 for any reasonably numbers of chips for hard drive replacement.
The only real competitor for SATA currently is the PCI-e bus. If you would create an SSD with seriously low latency and many parallel chips, hooking it up directly to a serial PCI slot with x2 or more lanes would make a difference. It would help if the BIOS and OS still see it as an IDE drive through.
Ext3 not fragmenting is a myth anyway. Ext3 fragments just as badly with multiple concurrent writes going on (like happens on a drive with log files or lots of relatively slow updating files -- like downloads).
Once again I'm shocked by how terrible Slashdot is for anything hardware related. Just as has been said every time anyone has mentioned these pathetic articles from magazines like Computerworld (!), THIS ISN'T NEWS - ANANDTECH EXPLAINED IT VERY CLEARLY MONTHS AGO.
http://www.anandtech.com/storage/showdoc.aspx?i=3531
Even without reading an article, I'm surprised this isn't intuitively obvious to most Slashdot users. I'm also surprised that the majority of hardware articles posted here come from jokes like Computerworld. There needs to be a Shouldhavecheckedanandtech tag for stories.
Windows 7 actually eliminates this degradation for all SSDs through inclusion of the TRIM command, but the necessary cost is shorter device lifetime, which is why the TRIM command won't run automatically. Likely, other operating systems will include it within a couple years.
"I zero-index my hamsters" - Willtor (147206)