Exploring Solid-State Drives

August 7, 2012

Karl Paulsen

Solid-state
drives, known
as SSDs, can
be found in today’s
ultra-thin computers
and in other
devices such as tablets
where memory
requirements above
64 GB or so are
necessary. SSDs are now making their way into
hybrid spinning disk systems where
they’re used as caches for memory or
when applications need frequent calls
by the CPU, GPU or as the front end to
large-scale storage systems.

SSDs are an excellent resource for
improving disk-based performance,
depending upon the type specified
and the applications for which they
will serve. SSD systems can be incredibly
fast. As of mid-2012, the fastest
in-production SSDs in a single addressable
4RU-space reach 28 GBps
or 11.7 million input/output operations
per second (IOPS). (Source:
STORAGEsearch.com).

FLASH MEMORY CELLS
We should first note that SSDs are
sometimes improperly referred to as
“solid-state disks.” SSDs are not disks,
but groups of Flash memory cells governed
by a controller that manages the
input-output mapping of the data bits
stored in those cells. Fig. 1 shows a single
Flash memory cell.

Fig. 1: Construction of a single Flash cell showing the current flow when an electric field (in yellow)—applied to the word line and the bit line—excites electrons [“E”], forcing them into the floating gate where they are “trapped” between the insulting oxide layers. The “write” state of the cell is held there until erased by an opposing charge. The cell is “read” by a sensor that compares the charge of the floating gate against a steady current. If the cell is “closed,” it represents a “zero.” If current can move through the floating gate, it is considered “open,” representing a “one.”

SLC Flash is considered industrial
grade Flash, with MLC being considered
consumer grade. The endurance
of SLC Flash is more than 10 times that
of MLC Flash.

Flash SSD endurance remains a top
issue in the SSD versus spinning disk
battle. Optimizing endurance of the
less costly MLC becomes an I/O intensive
issue. The SSD must be reliable
and well designed for a sustained, and
balanced, level of high performance
across the array of data types it will be
presented with.

How well an SSD performs in a particular application depends on how the designers
have managed the symmetries and
the asymmetries of the SSD. Symmetries are related to read/write behavior. These behaviors
include latency, throughput and read/
write IOPS, which is pronounced “eye-ops.”

SPEED RATINGS
In a spinning disk drive, three key factors
affect IOPS: the rotational (spindle) speed;
the average latency; and the average seek
time. Fig. 2 shows how this is calculated.
SSDs will have different performance parameters
than the fellow disk drives.

SSDs will usually specify two speed
ratings for reading and for writing. The
first rating is called “sustained MBps performance,”
and is the rating most manufacturers
will use in marketing their drive.
The other rating is the called the “4K Random
IOPS performance.” The latter rating
provides a much better idea of how the
drive actually performs in a real operating
environment.

Sustained MBps performance is based
upon how well the SSD can maintain a sequential
transfer rate, continuously, over
a period of 30 seconds. The 4K Random IOPS, which is based upon how many
4,096 byte (4K) operations per second
the drive can handle when each block is
being written to or read from in a random
position. See Fig. 3 for a method to translate
MBps to IOPS. Unfortunately, each
SSD manufacturer will probably use its
own method for specifying the IOPS rating
for their particular SSD.

SSDs are selected for their specific applications.
The kinds of data to be written,
along with the frequency of when
that data is written, may produce different
results in the random 4K IOPS sustained
write (30-second period) versus a
sustained write over a period of several
minutes.

In database operations, such as that in
a metadata controller, one would want an
SSD that could sustain a high rate of random
read/write operations. When the SSD
is used in a video server, one would want
to select an SSD with a high rate of writing
or reading over a long period—for example
several minutes to more than an hour
based upon program length or content.

Fig. 2: Calculation method for finding the number of input-output operations per second for a spinning disk drive, on a per-spindle (i.e., per-drive) basis.

Of course each manufacturer of Flash
(aka Solid State) video servers will certainly
optimize their products for the
applications they serve. IT-centric applications
that employ SSD front ends, however,
may not be as selective or may be
optimized with Flash memory that suits
one application and may not be as well
suited for another.

The types of data presented to SSDs
can also cause differences in performance.
For example, using compressed
data can impact how a solid-state drive
handles its reads or writes. Since most
digital video files are already compressed,
be sure that if you’re installing an SSD in a
workstation that it meets the appropriate
compressibility benchmark for video or
audio operations. Here the controller associated
with the SSD becomes a critical
factor when managing compressed versus
uncompressed data.

Another element to know is if you need
support for non-512 byte sectors, including
512-byte emulation, also known as Advanced
Format or 512e. This large-sector drive format is an emerging technology
that breaks down the legacy 512-byte barrier
(or the 1,024-byte barrier), but may
not be supported by all SSDs or controllers—
or software.

Fig. 3: Bandwidth conversion from IOPS to megabytes per second with selected examples typical for disk arrays or solid-state drive storage systems.

As inferred earlier, a critical part of the SSD is its controller. The controllers
managing SSDs are getting better at remapping
non-usable sections of the Flash
memory. Memories do begin to leak or
may fail completely. Being able to map
those bad cells out is critical to gaining
the maximum life out of the SSD memory
components.

We are seeing more entries into the
solid-state video server domain. These
products offer some interesting, and often
cost-effective, alternatives to broadcasters and production services.

In a future article, we’ll look at the
physical differences between the SLC and
MLC Flash memories, and how SSD video
server products are being used.

Karl Paulsen, (CPBE), is a SMPTE Fellow
and chief technologist at Diversified
Systems. Read more about these and other
storage topics in his recent book “Moving
Media Storage Technologies.” Contact
Karl atkpaulsen@divsystems.com.