How SSD Works
Two types of NAND flash memory are used to make SSD: SLC, storing one bit per cell and MLC, storing two or more bits per cell. Even without any software or firmware enhancements, SLC memory is inherently faster, is more reliable and has greater longevity than MLC, Avian Security's Cohen says. On the other hand, SLC is also more costly to produce and stores significantly less data than MLC.
All SSD natively excels at sequential and random reads -- such as watching videos or listening to music -- because as long as there's free space, the operations require no additional processing to retrieve data. This is why SSD is an excellent choice for handhelds; these devices are used mostly to access music or video, with few data writes required.
NAND is not efficient at random writes. In fact, most vendors tout burst speeds when offering read and write rates without showing sustained sequential figures in their marketing materials, according to Cohen, Unsworth and others. To make up for this shortcoming, vendors are trying to navigate slow read/write speeds not through the NAND flash itself, but through the controller electronics, memory buffers, multiple controller channels, interleaving NAND chips in parallel and flash management software, according to Unsworth.
For example, this month Micron unveiled its newest SSD line for notebooks, the C100 and C200 models, which have from 32GB to 128GB of capacity. Micron states that the drives offer sustained read speeds of up to 250MB/sec. and write speeds of up to 100MB/sec.
The faster sequential write speeds are achieved through two methods: a DRAM buffer, and by increasing the number of I/O channels. The use of firmware tricks the application into believing that the data is being written randomly to the drive, when it's actually being remapped and written sequentially, says Gregory Wong, president of Forward Insights, a consulting and market research firm focused on nonvolatile semiconductor memories.
SSDs are vastly more efficient than hard disk drives in random reads because there is no actuator head (similar to a record player's needle) that must be positioned over the data for retrieval. For example, mechanical positioning latency on a 7,200-rpm hard disk drive can be as much as 5 or 6 milliseconds. Page read times, or access times, for SDD are about 100 times faster than hard disk drives.
"Sequential performance is easy to improve with a DRAM buffer. But if you look at a user profile on a PC, most operations are random," Wong says.
The problem associated with random writes on SSD is that NAND requires an application to find an empty block to write to. If there is no empty block, the application must actually erase the data before it can write to the block, creating about a 2-millisecond delay, which adds up to significant overhead, Wong says.
Another fundamental problem with NAND flash memory is something called write amplification. Data is not written to flash memory in the same way it is written to a host system. Instead, data is laid down in .5MB to 1MB blocks, so if a host requests a 4KB block deletion on a flash drive, anything on the order of 20 to 40 times as much data is written to the NAND flash memory as is written to the host, according to Knut Grimsrud, Intel's director of storage architecture.
"The result is that when you want to write 4KB, for example, you end up having to erase a megabyte's worth of space and then you have to put the data back in it that you didn't want to write, and so often times you end up writing a lot more to the NAND than you wanted to," Grimsrud says, adding that the process creates significant overhead.