Trying to eke more performance out of an existing embedded hardware design is a really tough job in many cases. A good hardware design has already been finely tuned to extract maximum performance from many of the components as part of the BOM cost optimization. So it's not just a matter of turning up the clock because doing so can cause the processor, memory, or chipset components to run out of spec. Even if turning up the clock doesn't drive components out of spec, it will increase power consumption and that's rarely desirable. Turning up the clock can also break firmware timing loops, which is another problem best averted. So it's unusual to stumble upon a simple component substitution that can vastly improve performance and cut power consumption without requiring a hardware redesign or a software/firmware rewrite. That's exactly what you'll get if you substitute a solid-state disk (SSD) for a hard disk drive (HDD) in your embedded design.
Many embedded systems rely on HDDs for bulk storage and many system boards and modules make it very easy to use standard HDDs. For example, the RadiSys Procelerant® CEZ5XL is a COM Express module that operates over an industrial temperature range (-40°C to +85°C) and includes a SATA controller for connectivity to SATA-interfaced HDDs and SSDs. RadiSys is a Premier member of the Intel® Embedded and Communications Alliance ( Intel® ECA).
There are two simple reasons for relying on HDD storage:
- HDDs provide huge storage capacity,
- at the lowest cost per stored bit.
HDD storage incurs a penalty however. HDD access times are measured in milliseconds instead of the nanosecond access times of semiconductor memory. That's a six-order-of-magnitude difference! Consequently, the performance of HDD-based embedded systems can often be limited by the HDD's performance.
Here's where SSDs can make a huge difference. Because SSDs are designed to appear to the system like an HDD, because they use standard HDD interfaces, and because they often employ the same form factor as HDDs, you can directly replace an HDD with an SSD in most embedded systems with no hardware, firmware, cable, or mechanical changes. The system simply runs faster, instantly.
The performance figures of merit for HDDs in most situations are average access times, IOPS (I/O operations per second), and power consumption.
- The average access time for an HDD is measured in milliseconds. For an SSD, it's microseconds-three orders of magnitude faster.
- An HDD's IOPS rating will be in the hundreds while the SSD's IOPS rating will be in the thousands (or tens of thousands for Intel's X25-M SATA SSDs based on 34nm NAND Flash chips). That's one or two orders of magnitude improvement in IOPS performance.
- Finally, an HDD consumes several Watts of power. An SSD consumes tenths of a Watt or less-another one or two orders of magnitude improvement.
The performance figures of merit for HDDs in most situations are average access times, IOPS (I/O operations per second), and power consumption, as shown in the following table:
Consequently, RadiSys' Procelerant® CEZ5XL COM Express module, based on the Intel® Atom processor, optionally includes an on-board SSD, which provides faster storage performance than an HDD and improved ruggedness because SSDs are not subject to the same shock and vibration limitations as are HDDs.
Advantech's Intel® Atom-based Mobile Clinical Assistant-the battery-powered MICA-101 computer, digitizing pad, and work slate with a built-in digital camera and multiple wireless-networking systems-is an example of a complete embedded system that can take advantage of an SSD's rugged attributes. Advantech is a Premier member of the Intel® ECA. The MICA-101 is available with either a 60-Gbyte, 1.8-inch HDD or an optional SSD, depending on end-application requirements. Advantech's MICA-101 is likely to see active, carry-around use so an SSD's shock resistance should prove to be a substantial asset.
Where SSDs do not shine is in storage cost per bit. HDDs are the clear leader here. However, many embedded systems don't need nearly the amount of storage provided by the smallest available HDDs, which are optimized for the high-volume PC market-not the embedded market. According to a presentation made at the recent Flash Memory Summit, the HDD industry's least expensive HDD costs $30 in volume. That's for a 1-head, 1-platter drive. The capacity of a $30 drive is currently 120 Gbytes, which works out to 25 cents per gigabyte. That minimum drive capacity grows each year but the cost floor does not drop because the cost of the HDD's motors, bearings, head, and platter do not decrease. You just get more storage on that lone platter for the same price thanks to density improvements. That's great for PCs. Not so great for embedded systems. So even though the HDD may be the cost-per-bit leader in data storage, the basic mechanics of the rotating-memory drive set the lower limit in cost. SSDs are based on NAND Flash memory chips, so they can be built with much smaller capacities. In some cases, 8- and 16-Gbyte SSDs cost less than the smallest available HDD, albeit with less total capacity.
Thus there are at least three ways that it can make sense to unplug an HDD and replace it with an SSD in your embedded design:
- You simply need more performance. An SSD will improve the performance of any disk-based system. In some test cases based on Windows, the improvement was 50\%. That's a huge jump and one you're not likely to get from merely turning up the clock.
- You need less power consumption. SSDs are clearly superior to HDDs in this case.
- You need lower-cost storage. Although SSDs cannot compete with HDDs on a cost-per-bit basis, small-capacity SSDs can be less expensive than the lowest-cost HDD and that gap will widen with the continuation of Moore's Law. So if your design doesn't need all the capacity offered by an HDD, an SSD may better suit your requirements.
Do you think SSDs can fill a need in your embedded designs? How? If not, why not?
Note: For more information on SSDs, you may want to download this Intel Technology Journal article: Solid State Drive Applications in Storage and Embedded Systems
Roving Reporter (Intel Contractor)
Intel® Embedded and Communications Alliance