Followers

Monday, December 1, 2008

SanDisk plans hat trick of SSD performance improvements

By Joel Hruska

For all the performance advantages that a solid state drives (SSDs) can offer, the technology's mass-market appeal is limited by high costs, low drive capacities, and decidedly mediocre (given the first two factors) random write performance. SanDisk believes it has found a way to address all three of these multi-level cell (MLC) flash drive issues, and the company plans to present the details of its solutions—including information on its brand-new ExtremeFFS technology—at CES in January.


The first two components of SanDisk's plan are entirely unsurprising: the company will begin the transition to a smaller, 34nm manufacturing process by the end of 2009. It also plans to introduce 3-bit and 4-bit MLC drives. At present, SLC drives store two states (1 bit) per block of memory, while MLC drives store four states (two bits). Increasing the number of bits (and, by extension, the number of states) stored in a single block of memory will increase drive capacities (improve cost-per-gigabyte), while a smaller manufacturing process allows the company to build more flash on a single wafer (decreasing drive cost).


SLC and MLC, compared point-by-point

Adding additional bits to MLC drives, however, has a direct effect on write performance, and MLC can't afford to get any slower here. (For an example of SLC, MLC, and HDD write performance, see Tech Report). This is where ExtremeFFS enters the picture. According to SanDisk, ExtremeFFS (Flash File System) "has the potential to accelerate random write speeds by up to 100 times over existing systems," and will appear in shipping products within 2009. The company is playing coy on exactly how ExtremeFFS works, but has at least given a high-level overview.

Currently, SanDisk products (and presumably quite a few others) use TrueFFS, which SanDisk pioneered back in 1994. TrueFFS's read-modify-write cycle is performed as follows. First, the drive finds the block of flash it wants to write data into. If that block is empty, the write is performed in a millisecond or less. If, however, that block already contains data, the file system reads the current data block, moves the information within it to another location, and writes the new data in its place. The entire operation takes about 100 milliseconds—two orders of magnitude longer than it took to write data to an empty flash block.

SanDisk's ExtremeFFS will resolve this performance hit by decoupling the write cycle from the Modify/Delete cycle. Under ExtremeFFS, when new data comes in, it's immediately written to an empty location on the drive. Because the flash is multithreaded and uses a non-blocking architecture, one segment of the drive controller can be occupied with handling writes, while another part flags outdated blocks for erase or overwrite. ExtremeFFS maintains a lookup table where block states are categorized and processed, in order to avoid mistakenly overwriting a block of "good" information.

One thing we don't know yet is how ExtremeFFS will impact drive reliability. Multi Level Cell drives are inherently less reliable than their SLC brethren, and while a number of major companies have been working on this issue, adding more cells per block will only make the problem worse again. Hopefully SanDisk will address this point in their CES presentation. ExtremeFFS, however, should work just fine for current 2-bit MLC drives. If the file system lives up to SanDisk's claims, faster SSDs could arrive more quickly than we previously thought.

Original here

No comments: