MLC Makeover
After all of that talking up, we’ll risk being anticlimactic and say that the days of SLC could be numbered. Even Intel, the current leader in SSD sales, has backed off from its SLC-based drive messaging in recent months, perhaps in an effort to appease recession-strapped businesses. We’re hearing more about MLC in the enterprise these days. Some of it may have to do with price, but some of it is because MLC has made some significant improvements.
We mentioned earlier that SSD drives, and MLC models in particular, tended to lose their luster on write operations. This is largely because of the odd there-and-back process SSDs use when writing. Even if you only want to write a small amount of data to an SSD, say 8KB, the system has to send a 128KB stack of data to system memory. Of that 128KB, 8KB gets replaced with the desired data, then the whole 128KB wad gets sent back to the SSD. (Additionally, whereas read operations can simply assess the value of a cell in a single operation, writes to cells that have already been written once require an erasure of the cell before writing in the new data–two steps instead of one.) The difference between 8KB and 128KB is known as write amplification. All of that extra data being moved about takes more time.
Recently, though, SSD manufacturers have started updating their drive firmware with new algorithms that markedly reduce the size of the data block being sent to and from system memory. The effect on drive performance isn’t night and day different, but it helps.
Another recent enhancement is the TRIM command. TRIM solves the problem of SSDs getting progressively slower as blocks get written to. There’s an inherent mismatch in the way that operating systems and SSD controllers have tracked how and when data gets deleted. Resolving this mismatch usually happens in the drive’s cache, but it takes a lot of extra time. The TRIM command resolves certain elements of this mismatch and improves overall performance.
The catch is that the TRIM command must be supported by both the drive controller and the operating system. Windows 7 and Linux 2.6.28 both support it, as do an increasing number of controllers. Some SSD drives are firmware-upgradeable to support TRIM, some aren’t. Definitely check on this point before committing to a purchase and, after you purchase, refer back to the vendor’s support pages periodically for firmware updates. TRIM is still a recent advance, complete with plenty of speed bumps during early deployment, and will be prone to fine-tuning.