These new Solid State Drives (SSDs) are utilizing Flash Memory, also known as non-volatile memory (NVM). The two types of Flash memory being used are MLC (Multi-Level Cell) memory and SLC (Single-Level Cell) memory. MLC (Multi-Level Cell) memory is less expensive and more common in low dollar cost items where you need large amounts of solid state storage; SLC (Single-Level Cell) memory has higher cost and greater performance. You'll find most SSDs and USB Flash Drives (UFDs) utilize MLC memory, MLC memory can also be found in consumer devices where performance is not as critical. Both offer advantages over hard disk drives, as they are resistant to shock, environmental conditions, generates less heat, and are silent and can be packaged into many different form factors. Hard Disk Drives are the dominant form of storage on modern computer systems, but we are seeing manufacturers offer computers that utilize a Solid State drive in conjunction with, or excluding, a Hard Disk drive. In the case of Ultra Low Cost Personal Computers (ULCPCs), Solid State drives may completely replace Hard Disk drives as the dominant storage technology. The biggest advantage Solid State drives hold over Hard Disk drives besides their compact size is that power consumption is greatly reduced as there are no moving parts, and no time is needed for platter spin up. Power consumption is one of the highest concerns for engineers designing any device that may need to run on battery power only (for example, laptops, MP3 players, Cell phones and other small consumer electronics).  If you are purchasing storage for a solution that needs to minimize battery consumption, consider the differences between Solid State drives and Hard Disk drives.

For manufacturers, using SLC as a cache area for a much larger MLC bank of memory can be a way to overcome the increased cost of implementing an entirely SLC-based solution. MLC memory has lower number of potential lifetime writes than SLC memory. To help mitigate this, many MLC devices utilize wear leveling. Wear leveling essentially remembers what cells have and have not been written to, and tries to balance writes across all cells, so the controller is not wearing out some cells prematurely. For Windows, as Solid State drives are not as affected by fragmentation as Hard Disk drives, you will want to disable the Defragmentation option on a SSD to prevent premature wear from occurring. Another item to keep in mind is SSD differs from HDD in that they require the entire page to be cleared and re-written if data changes. These are typically 2-8k blocks. This makes reads inexpensive, but due to wear leveling writes are expensive, and erasures require the entire page or pages be cleared. The benefit is there are no seek times so performance is stable. (We could do the math but that not what this blog is about.) Generally, the progression of drive speed is as follows: fast DRAM > NAND > HDD. This is comparing HDD speeds of 5400 and 7200 RPM, and even high-end 15,000+ RPM drives for SLC. When adding SLC in a Storage Array Raid 0 against 15000 RPM HD the SSD will perform significantly faster but at a much higher cost point.

There is currently a shift in the market place, and solid state drives are the wave of the future. Does it make sense to adopt Solid State storage technologies now? For a ULCPC, it's a given that Solid State is the optimal choice when considering battery life. For a UMPC (Ultra Mobile PC), I would opt for a SSD if I was going to be away from the power grid, and not able to plug the laptop in for extended periods of time. As for some engineers, the memory stick has replaced the briefcase, but most will still want an ultra large HDD for their daily work.

Thanks,
David Winkler