• Very fast sequential read and write performance.
• Very fast random read, which helps in fast application
load and boot-up times.
• Very poor random write performance (less than one-tenth the speed of existing HDDs).
• Horrible performance under workloads with intermixed
reads and writes.
Purely from a performance standpoint, the most pressing issue is achieving write speeds, particularly random
write speeds, especially in workloads with both random
reads and writes. Fundamentals of NAND programming
introduce significant delays in the write performance
of drives. At the heart of this phenomenon is the need
to erase a block before writing. This process introduces
latency and is the reason notebook SSDs are so slow in
writes, particularly random writes and particularly when
the host sends mixed reads and writes. Thus, the drive
access patterns typified in the enterprise render these one-dimensional notebook SSDs worthless as a result of flaws
in architecture and design.
THE PERFORMANCE AND RELIABILI T Y CHALLENGE
To achieve these ultimate drive-level performance characteristics, an entirely different product architecture is
required from that used in notebook SSDs. An enterprise-class SSD is an optimized memory system with complex,
tightly integrated hardware and software. At the heart of
such a product is an elaborate chipset that performs all
the vital communication protocols, as well as the critical
media management. NAND is both a wonderful and a
fickle medium. While the mechanical characteristics of
NAND-based drives are obviously improved when compared with HDDs, NAND has unique reliability challenges
not common to HDDs. It is the role of the SSD chipset
and the coordinated manufacturing process that ultimately renders an SSD enterprise class.
An enterprise SSD implements high levels of parallel flash
access and combines an optimal mix of two memory
technologies—DRAM and NAND—to achieve the performance and reliability required by enterprise applications.
DRAM is extremely fast but requires power to maintain
the data. DRAM devices are also used on disk drives, generally for cache to enhance the performance, but when
used in disk drives they add to the risk of losing the data
if power is lost. With enterprise-class SSDs, the DRAM is
used for cache, but the drive adds power backup so when
power is turned off, the device has enough power left to
write the data from DRAM into flash (like the hibernate
feature on laptops).
Enterprise SSDs use relatively large DRAM capacities
within the drive (in the realm of a gigabyte). The use of
DRAM helps the system overcome the biggest shortcomings of NAND, most notably random write performance.
It allows the SSD to gather random writes and to use the
good performance characteristics of NAND (relatively
good sequential writes) to write the data at very high
speeds. There is potential skepticism around the use of
DRAM technology because all data written to flash would
then become random data, but as explained earlier,
NAND flash has very good random read characteristics.
By using DRAM in combination with power backup,
the drive can effectively create a very fast nonvolatile
memory device that can achieve access times and latencies that are 150 times faster than those of mechanical
drives. This is one of the unique characteristics of SSDs
that cannot be emulated by mechanical disk drives, no
matter how many are used in parallel.
SSD RELIABILI T Y
Attaining the right levels of reliability for mission-critical
applications requires that the drive maintain perfect data
integrity, preventing any data loss or metadata corruption
that would prevent the drive from rebooting following
power removal. To achieve this, an enterprise-class SSD
must have full data-path protection within the drive.
Although this feature is currently used in enterprise-class
HDDs, it is implemented in only one SSD. Figure 2 shows
the salient architectural features of an enterprise SSD,
including all the fully protected internal data flows.
Beyond the data-path protection, there are three pillars
of media management that the drive must implement in
a coordinated fashion:
Extensive full data-path error detection/correction.
An interesting phenomenon in SSDs is that the incidence
of errors increases exponentially through utilization; this