SSDs (solid-state drives) aren’t actually disk drives, they’re assemblages of semiconductors that emulate rotating, mechanical hard disk drives (HDDs) at the interface level. SSDs plug into existing hard-disk drive (HDD) interfaces found in many embedded systems and can be operated by most embedded operating systems as though they were HDDs. Although SSDs do not directly replace HDDs because they cost more per Gbyte, SSDs deliver substantial performance benefits that come in very handy when you need more oomph from your embedded system.
Perhaps the biggest advantage that SSDs have is their plug compatibility with the most popular HDD interface specifications. Intel® SSDs have SATA interfaces, which are available on a wide range of embedded-processor board-level products from vendors including Advantech, Kontron, RadiSys, IEI Technology, MEN Mikro Elektronik GmbH and WIN Enterprises. Because SSDs share the same form factor with HDDs, it’s easy to design and offer embedded systems that will accommodate either an HDD or an SSD. The end customer for the system can then select the appropriate drive based on desired price and performance requirements for the end application. Advantech, Kontron, and RadiSys are Premier members of Intel® Embedded Alliance. IEI Technology Corp is an Associate member of the Alliance. MEN Mikro Elektronik GmbH, and WIN Enterprises are Affiliate members of the Alliance.
SSDs Benefit from Moore’s Law; HDDs Don’t
HDD capacity has actually grown faster than Moore’s Law, thanks to some true technical wizardry from the HDD industry. However, HDD performance is hampered by Newtonian physics—specifically the rotational speed of the spinning platter. Bits go onto and come off of the HDD platter at a data rate largely determined by the disk’s rotational speed. HDD RPMs have climbed in recent years from 5400 to 7200, 10,000, and even 15,000 RPM for enterprise-class HDDs—but that’s only a threefold increase in rotational speed and there’s no way to go much faster. At some point, it becomes impossible to speed disk rotation because the platter will literally fly apart from centripetal forces. Although HDD performance (as measured in I/O transactions per second or IOPS) has barely budged, SSD capacities and I/O speeds benefit from nearly every advance made in semiconductor processing because they’re based on NAND Flash memories.
For system-design purposes, the key disk-performance metric is IOPS—the number of I/O operations per second that a disk can perform. The 15,000-RPM enterprise-class hard drives can achieve around 300 IOPS. By contrast, the Intel® X25-E SATA SSD can achieve 35,000 IOPS for random 4-Kbyte reads and 3,300 IOPS for 4-Kbyte random writes. That’s one to two orders of magnitude faster than the fastest enterprise-class HDDs available. Because they’re not based on rotating media, SSDs can also power up from a low-power mode far more quickly than an HDD can spin up its platters. While hard drives need seconds to spin up after being powered down, SSDs power up in milliseconds.
The higher IOPS and fast power-up abilities of SSDs make them good candidates for many embedded applications, but not all of them. SSDs still cost more per Gbyte than HDDS, so embedded applications that need large amounts of storage (hundreds of Gbytes) at the lowest possible cost (think movie, video, and music storage, for example) should probably stick with HDDs. However, embedded applications that require faster performance can make good use of the SSD’s superior speed.
Measuring SSD Performance
Traditional HDD performance criteria apply directly to SSDs. The most common performance-testing metrics are sustained random and sequential read/write bandwidth (measured in Mbytes/sec), random and sequential read/write IOPS, and power consumed in both the active and idle states. For SSDs, sequential sustained read/write data rates mainly reflect the number of internal NAND Flash memory channels the SSD can activate at one time. Intel® SSDs employ 10 simultaneous channels, resulting in relatively fast transfer rates. Figure 1 shows Intel® SSD bandwidth performance for random and sequential reads and writes over a range of workload block sizes using command-queue depths of 1 and 32.
Figure 1: Intel SSD Bandwidth Performance over a Range of Workloads
Random sustained read/write bandwidth mostly depends on the number of outstanding transaction requests the SSD’s internal controller and firmware can handle simultaneously. Newer SATA system architecture employ Native Command Queuing (NCQ), which permits multiple queued requests. The Intel® X25-M, X18-M, and X25-E SSDs provide more than four times the read bandwidth performance of a typical 2.5-inch laptop HDD and twice the read bandwidth performance of a high-RPM, 3.5-inch, enterprise-class HDD, which you’d likely not use in an embedded application due to cost and power constraints.
SSDs deliver thousands or tens of thousands of IOPs, which is orders of magnitude more than the HDDs. This sort of performance is particularly important for virtual, multitasking operating systems that tend to move 4K-byte blocks in and out of memory with great frequency. Figure 2 shows the IOPS performance of the Intel® SSDs for random and sequential reads and writes over a range of workload block sizes using queue depths of 1 and 32.
Figure 2: Intel SSD IOPS Performance over a Range of Workloads
A Look at SSD Reliability
SSD reliability bears scrutiny as well. SSD suppliers have been very outspoken about the effects of NAND Flash wearout mechanisms on SSD reliability. Memory blocks within NAND Flash devices do wear out over many write/erase cycles and SSDs must use wear-leveling and write-management algorithms to spread the wear as widely as possible, thus ensuring that all of the blocks in all of the NAND Flash devices used within an SSD are used evenly.
In addition, the SSD’s internal firmware algorithms must monitor the health of the constituent Flash devices and detect failures. When a memory block within a NAND Flash device wears out or fails inside of an SSD, the drive itself does not usually fail. Instead, the internal firmware marks the bad block, substitutes a spare block of memory, and soldiers on. When the drive runs out of spare blocks, it continues to operate but with reduced capacity. (Some SSDs are designed with sufficient spare capacity and do not lose capacity over their useful life.) SSDs “fail soft” while HDDs tend to fail suddenly, catastrophically, and without warning from a mechanical head crash or bearing failure.
What particular feature or features make SSDs attractive for use in your embedded designs?
1. Sam Siewert and Dane Nelson, Solid State Drive Applications in Storage and Embedded Systems, Intel® Corp, Intel® Technology Journal, Volume13, Issue 1, 2009, pages 29-53.
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance