Many would argue solid-state drives are the future of PC storage, but some of today's SSDs apparently aren't as resilient as one might expect. Drives based on Indilinx's "Barefoot" IDX110M00-LC controller are a case in point. In a recent SSD round-up, we discovered that although Barefoot-based OCZ Vertex and Super Talent UltraDrive ME drives excelled in synthetic tests like HD Tach and IOMeter, they suffered from surprisingly poor real-world write and file copy performance. Our results were consistent and repeatable within the confines of our test environment, so we probed deeper in an attempt determine the true nature of the issue.
We initially tested these drives with revision 1275 of Indilinx's firmwaretheir shipping configurations. Curious to see whether the latest firmware would affect performance, we secure-erased the Vertex to put it into factory-fresh form, flashed it with the most recent 1370 firmware, and ran it through our test suite once more. The newer firmware didn't affect the drive's performance in any of our tests, though.
Up to this point, we had tested all of the SSDs in a used state. We secure-erased each drive before its run through the gauntlet, but the first test in our benchmark suiteHD Tach's full disk benchmark, which we run three timesfills all flash pages by writing across the entire drive.
Testing SSDs in a used condition is important because of the block rewrite penalty associated with flash memory. In an SSD, flash memory is split between 4KB pages organized into 128-page, 512KB blocks. Empty pages can be written to directly. However, occupied pages can only be written on a block-by-block basis, which involves reading the contents of the block, modifying the necessary pages, and rewriting the block as a whole. These extra steps take time, resulting in a performance penalty.
Deleting files simply marks pages as available, rather than actually clearing their contents, so any SSD will encounter the block rewrite penalty after prolonged usage. Even a drive that, cosmetically, shows plenty of available storage capacity can be out of empty pages. Once in this used state, every write request will be slowed by the block rewrite penalty.
We believe that testing SSDs in this used state is the best way to evaluate their performance. A solid-state drive may post impressive benchmark scores when it's fresh from the factory, but it's more important for SSD controllers to deal gracefully with a lack of empty pages. As we discovered, some do a much better job than others.
We briefly explored the performance of used versus factory-fresh SSDs in our initial round-up, comparing the 4k random write performance of each drive in each state. The Indilinx drives showed no obvious signs of weakness; response times slowed when the drives were used, but by a lesser degree than drives powered by Intel or Samsung controllers. In fact, in a fresh state, the Barefoot drives had the quickest response times of the lot.
To determine whether their used state was responsible for the Indilinx drives' poor file copy performance, we ran a handful of freshly-erased drives through iPEAK and FC-Test. These drives were tested with the same system configuration as our initial round-up, this time with the OCZ Vertex updated to Indilinx's 1370 firmware revision.
Our iPEAK results represent an average service time across all nine of our custom workloads, four of which feature file copy operations. In a factory-fresh state, the Indilinx-powered Vertex isn't substantially slower than the Intel drive or the Samsung-powered Corsair. However, the Vertex's service times are nearly four times longer when the drive is in a used state. The Intel and Corsair drives slow down, too, but only to about twice their original service times.
Next we'll look at some real-world file creation, read, and copy operations courtesy of FC-Test. Here we've presented the average throughput across all five of the app's test patterns, which contain a mix of large and small files, and large and small numbers of files.
The Vertex offers quicker file creation speeds than the X25-M when both are in a fresh state. However, while the Intel drive's performance only drops by about 20% in a used state, the OCZ's falls by nearly 70%. The Samsung controller inside the Corsair P256 doesn't particularly like being in a used state, either; its file creation performance drops by nearly 50% going from fresh to used.
In theory, flash memory's block rewrite penalty should have no impact on read performanceused drives should read as quickly as fresh ones. And they do, at least with the X25-M and P256. However, the Vertex's read performance when used lags behind that of a fresh drive by about 10%. That's not a huge margin, but it's a performance gap that, as far as we know, shouldn't exist at all.
Copy tests combine read and write operations, and as one might expect, the Vertex doesn't fare so well here. Its used performance is about 60% slower than a fresh drive, which is a much bigger margin than either the Corsair or Intel drives. The former's performance drops by 30%, while the latter is only 15% slower.
The Indilinx controller would appear to have performance problems when dealing with drives in a used state. But is the controller to blame? Our testing was conducted with Windows XP Service Pack 2 and an older 184.108.40.2062 AHCI driver revision for our system's ICH7R south bridge chip. To make sure we weren't missing any critical software updates for our test platform, we brought the OS up to Service Pack 3 with all the latest hotfixes and installed the most recent Intel 220.127.116.119 AHCI drivers, in addition to new chipset drivers. Once more, we secure-erased the Vertex and ran it through our benchmark suite, only to find that this new configuration's performance was essentially identical to that of the old one. Even with the latest drivers, firmware, and XP updates, the Indilinx controller's used-state performance in file creation, read, and copy operations was still rather poor.
All of this testing was conducted on a relatively old system based around a Pentium 4 processor, 955X chipset, and ICH7R storage controller. While that's hardly cutting-edge hardware, this very same test system had no problems wringing excellent performance from SSDs based on Intel and Samsung controllers.
Could our use of Windows XP explain the Indilinx controller's woes? Perhaps. We're currently conducting Vista testing to see how these SSDs fare. Other sites have also reported better FC-Test performance from the Vertex running under Vista x64. However, based on some initial results of our own Vista testing, we remain skeptical. And the problem with XP performance remains.