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 Attached SCSI
||SATA 6 Gb/s
||SATA 3 Gb/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.
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.
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
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.