Login | Register 

ADLINK Home > ADLINK Applications
ADLINK Applications
  Measurement and Automation 
  Industrial Computers 
ADLINK Tech Forum: Know Your SSDs
ADLINK Home > Products > ADLINK Applications > Industrial Automation
Plurk Twitter
Why SSDs? How do you make SSDs cost-effective? How do you get the most out of SSDs?

Solid-State Drives (SSDs) are one of the fastest storage devices in the world and an increasing proportion of high-end machines are being equipped with SSDs. But how do your applications benefit from SSDs? How can you make SSDs cost effective? Let us first better understand what makes a good SSD.

Why SSDs? What makes a good SSD?

SSDs are the preferred storage devices when it comes to performance. What makes a good SSD? Let's look closer at the components inside an SSD.

SSDs are data storage devices that use solid-state memory. An SSD is composed of three main components: a controller, DRAM and NAND flash (SLC or MLC). Speed and reliability are two important features of SSDs. What determines the performance of an SSD? Which SSDs have the best performance?


Figure 1: Key components of an SSD

The following are key factors that determine the performance of an SSD:

1. Host Interface

The interface limits the bandwidth. There are several common interfaces currently on the market: SATA 6 Gb/s, SATA 3 Gb/s, PATA (IDE), USB 3.0, and USB 2.0. The maximum theoretical speeds of these interfaces are compared in Table 1 below:

Serial ATA Serial Attached SCSI USB Parallel ATA
Interface SATA 6 Gb/s SATA 3 Gb/s SAS USB 3.0 USB 2.0 IDE
Bandwidth 6 Gb/s 3 Gb/s 6 Gb/s 5 Gb/s 480 Mb/s 133 MB/s max.

Table 1: Comparison of SSD interfaces and their bandwidths

SSDs equipped with a PATA interface have maximum read/write performance not exceeding 133MB/s, and have already been phased out of the market in favor of SATA. One of the most popular SSD controllers on the market supporting SATA 3 Gb/s is the JMicron JMF61x series which is equipped with both SATA and USB interfaces. The JMF61x offers up to 250MB/s sequential read using the SATA 3Gb/s interface, but only 30 MB/s using the USB 2.0 interface. The USB is generally used for external enclosures. All drives with a USB 2.0 interface have maximum read/write speeds of 30 MB/s. The new USB 3.0 standard allows external enclosures to breakthrough the bottleneck of USB 2.0, but it will still limit SSD speed performance due to the need for a SATA to USB 3.0 bridge.

If you are planning to buy a fast SSD, choosing right interface, namely SATA 6 Gb/s, is the first step. All ADLINK SSDs feature the SATA 6 Gb/s interface and offer sequential read speed up to 420MB/s. The best choice for performance intensive applications is to connect a SATA 6 Gb/s SSD directly to a SATA 6 Gb/s port.

2. Controller

In an SSD, the controller handles jobs including flash program/erase, host interface communication and ECC memory functions. Powerful controllers can provide good performance and ECC support with the help of good firmware. There are many SATA 3 Gb/s controllers available on the market, but only a few SATA 6 Gb/s controllers. The Marvell 88SS9174 was the first SATA 6 Gb/s SSD controller on the market and it has been well adopted by major SSD manufacturers such as Intel and Crucial. Recently, SandForce introduced the newest SATA 6 Gb/s SSD controller on the market in Q2, 2011 and some SSD makers began sampling in Q3, 2011. The SandForce controller has been adopted by many consumer SSD manufacturers such as OCZ and Memoright.

An SSD equipped with a SATA 6 Gb/s controller and fast NAND flash can provide superior performance compared to one with a SATA 3 Gb/s controller. Selecting a powerful controller with the right flash configuration can ensure your SSD has high performance.

3. Flash

The type of flash used in an SSD is also a key factor in determining its performance. Single-level cell (SLC) flash is faster than multi-level cell (MLC) flash; Toggle Mode NAND flash (a new interface introduced by Samsung and Toshiba) is faster than legacy interface NAND.

Though MLC is a newer technology, the program/erase speed of SLC flash is faster than that of MLC flash. Also, SLC flash has a longer lifetime than MLC flash. With the improvement of the NAND flash interface from legacy mode to Toggle Mode or ONFI 2.0 (Open NAND Flash Interface), the speed of a single flash chip has almost doubled. If an SSD is intended for high performance applications, Toggle/ONFI 2.0 interface flash is a better choice for meeting the requirement. If the application is focused on both performance and heavy workload, then a Toggle Mode SLC SSD is the best choice. If the workload of the application is less intensive, then a Toggle Mode MLC SSD would be a cost effective solution.


Figure 2, Comparison of NAND flash frequencies

4. Firmware

The last important factor determining an SSD's performance is the firmware. All important functions and features of an SSD are implemented and supported by the firmware, such as garbage collection, over-provisioning, secure erase, TRIM commands, wear leveling and write amplification. The firmware plays an important role in maximizing compatibility with the host and will significantly affect the performance under different SATA interface modes (IDE compatible, AHCI, or RAID).

What is required in good SSD firmware? The firmware needs to be able to adapt to meet the needs of different applications, and read/write performance should be consistent whether the drives are new or have been used extensively. Good firmware will result in a smooth benchmark curve using a program like HD Tune, rather than an undesirable spiky one.

How do you make SSDs cost-effective?

How can we make effective use of the high expense of SSDs? Choosing the right model that is suited to your application is very important. Let's examine the cost first.

1. Per GB cost

Even though memory densities have increased greatly, the per GB price of HDD ($0.05~$0.10) is still much lower than the per GB price of SSDs ($1.20~$2.20). The price gap continues to decrease, but will not disappear in the short term. SSDs play a key role in meeting the performance demands of specific applications, so it is important to make your investment in SSD effective.

As was described earlier, SSDs consist of flash memory, a controller and DRAM. The materials cost of SSDs exclusive of flash is almost the same on models with different capacity in the same series. The proportion of the selling price of the non-flash components for a 64GB SSD is around 30%, for a 128GB SSD is 14% and for a 256GB SSD is under 10%. So the lower the capacity of the SSD, the higher the proportion of cost of per GB of the non-flash components. In addition, the lifetime of an SSD is at least 3 years, so it is important to consider the storage capacity demand of the application 3 to 5 years in the future. It is recommended to buy the largest capacity SSD your budget allows for these two reasons:

a. Lower cost per GB
b. Reduced chance of having to buy a new SSD in the future due to increased capacity demands

2. Flash configuration

Most SSD PCBs are designed to use 8 or 16 flash chips because current SSD controllers have either 4 or 8 flash channels (the Intel X25 is a 10 channel flash design). The performance of SSDs is dependent on flash chips working together efficiently. Through good hardware and firmware design, an 8 channel SSD controller can drive 2, 4, 8 or even 1 chip to function efficiently on an SSD. A 64GB SSD with 16 flash chips can be configured with a geometry of 8GBx8 or 16GBx4 or 4GBx16. The performance of a 16GBx4 geometry is worse than that of 8GBx8 or 4GBx16 geometries due to the controller only using 4 channels. The performance of a 4GBx16 geometry is the best, but the cost will higher than an 8GBx8 geometry. If the number of channels or flash geometry are not ideally configured, the write performance will be affected first. If budget is not the primary concern, we currently recommend using configurations such as MLC 128GB/256GB and SLC 64GB/128GB as the most cost effective, as these configurations make maximum use of the controller. Lower priced SSDs often have inefficient configurations, and are definitely not a cost effective choice due to lower write performance.

The largest portion of the cost of an SSD is the flash, so it is critical to buy one with a good flash configuration to ensure good performance from the investment. The price of a SATA 3 Gb/s 2.5" 64GB SSD with MLC flash maybe less than half that of a SATA 6 Gb/s 128GB SSD, but the latter will still be current technology for 2~3 years and give better life time than a phased-out SATA 3 Gb/s 64GB SSD.

How do you make your investment worthwhile? Select the right product for your application.

The ADLINK SSD Series offers four products in 2.5” form factor with different operating temperature ranges and flash types:

  • SLC commercial temperature range (CT: 0°C ~70°C)
  • SLC extend temperature range (ET: -40°C ~+85°C)
  • MLC commercial temperature range (CT: 0°C ~70°C)
  • MLC extend temperature range (ET: -40°C ~+85°C)

As MLC NAND flash stores multiple levels of data per cell compared to SLC NAND flash that stores a single level of data per cell, the per GB cost of SLC flash is almost double that of MLC. The MLC "CT" model offers the best price and the SLC "ET" model offers the best performance and reliability. For heavy workload applications, SLC flash is recommended as it is rated for a higher number of erase/program cycles. If the application is in a rugged or outdoor environment, the ET models are recommended and ADLINK provides both reliable SLC ET and cost effective MLC ET versions with wide operating temperature ranges.

How do you get the most out of SSDs?

1. Avoid performance degradation

a. Make sure the system/OS is setup correctly
ADLINK SSD perform best in AHCI/RAID mode compared to IDE compatible mode and support TRIM commands under Windows, Mac OS X Lion and other OSes. Check drive properties such as NCQ and TRIM (with a program such as CrystalDiskInfo) to make sure the SSD is setup correctly. ADLINK SSDs support an instant garbage collection function in non-TRIM environments to sustain long-term performance.

b. Disable functions designed for hard drives
Defragmenting your SSD serves no useful purpose and only shortens its life. Superfetch, ReadyBoost, and Prefetch functions are intended for OSes installed on hard drives and they are not useful for SSDs. Understand how these functions affect your application and disable them if they are not necessary.

c. If possible, buy enough memory for your system instead of creating a page file on your SSD
The Windows page file allows the totally memory size of the system to be increased and will result in frequent read/write activities on storage device. The performance of SSD with a page file will be seriously degraded.

d. Reserve sufficient storage capacity headroom
Do not fill SSDs to near capacity. The system will perform repeated erase/program cycles in the remaining empty space and result in flash prematurely wearing out and more bad blocks. Even with good wear leveling support, having only a small amount of empty space will still degrade the SSD write performance due to the system having to move and erase blocks more frequently than on a drive with more empty space available.

2. Maximize performance
There are some additional ways to improve SSD performance.

a. Deferred write
The write speed of SSDs when writing large files is better than for small files. Some third-party software can utilize deferred writes to improve SSD performance.

b. Use DRAM to cache the SSD.
Almost there is no erase cycle limitation for DRAM and DRAM is faster than NAND flash. Assigning a small size cache from high speed system memory using third-party software not only decreases file read/write times to improve system performance, but is also effective at decreasing the number of erase cycles on the flash and extends SSD lifetime.

c. Enable active write back cache (RAID)
On a system that supports Intel® Rapid Storage Technology or other write back cache function on hardware RAID card will also provide improved write performance.

Conclusion

A good understanding of the key components of an SSD (interface, controller, flash, firmware) is critical to making the best choice for cost effectiveness and performance for your application. Having a SATA 6 Gb/s capable controller, properly configured high-performance flash (e.g. Toggle Mode NAND), full-featured firmware, good host compatibility and wide temperature range support are the most important factors for a good industrial SSD. Properly configuring your operating system for SSDs can avoid performance degradation and increase performance.

ADLINK and Industrial SSDs

As a leading global supplier of industrial and embedded building blocks, ADLNK is committed to providing the best SSD products to meet the needs of customer applications. In upcoming articles, we will share more details of the unique features and design concepts of ADLINK SSDs.

top