The new skinny on flash SSDs... - by
Zsolt Kerekes,
editor StorageSearch.com -
July 2009
This
article proposes a simple new terminology for grouping
flash SSDs with
respect to the relative size of the internal
RAM cache. These are:-
Understanding which type your SSD belongs to can
be helpful, because each set has common modalities. This means you can re-use
knowledge and models learned from one SSD device and apply that view to other
SSDs which have a similar architecture.
Thinking about flash SSDs in
this way makes it easier to group and sort SSDs you may be working with
relative to the macro market situation. For any particular product - the new
terminology provides a shorthand clue about
- what behavior to expect,
- other similar devices you should be comparing it with,
- characteristics and limitations - and
- the risk / benefit profile suitability of the SSD for your chosen
application.
If you don't consciously go through this tick list /
thought process when comparing flash SSDs (even when they have the same
interface, form factor and flash memory type) - the results will be like
comparing apples and oranges. And you will not get the optimum results from your
invested efforts.
Categorizing the RAM cache architecture is essential
because it affects a lot of parameters including:-
- the way you should design the benchmark test to assess long term
performance to avoid halo effects
- power consumption - bigger internal RAM means more watts consumed and
higher running temperature
- reliability -
increasing the RAM size impacts reliability in many ways
- more components to go wrong - which impacts MTBF
- can attenuate flash write cycles and improve
endurance
(using a simpler implementation of
SSD controller)
- increases the holdup time required for the internal UPS or capacitor to
flush the cache - which increases
criticality of
the UPS
- more software threads define the state of the SSD - so more intensive
power cycle testing is required to confirm that the firmware design has been
validated correctly
- price - there are
complex alternatives to be balanced here
- bigger RAM cache increases the SSD cost (due to direct cost of RAM and
UPS) but
- smaller RAM cache may mean a faster (more expensive) SSD controller is
required to achieve the same performance (compared to using more RAM and a
slower internal micro-controller)
- performance - generally you would expect that increasing the size of the
RAM cache would always be the best way to increase the performance of the flash
SSD - but above a certain point in any design - another option is to increase
the speed of the SSD controller instead (or perform more of its functions in
hardware rather than micro-code)
It's important to realize that the RAM
cache is not the only cache technology available to the SSD designer. Some
manufacturers stream write data to pre-erased flash blocks before doing much
processing on them in RAM. SanDisk
refers to their way of doing this as "nCache".
Generally
the use of flash cache provides a simple and cheap way of implementing high R/W
throughput (MB/s) for sequential streaming data - but suffers from the
disadvantage of not being intrinsically as good as RAM when it comes to small
random IOPS. Some designers get around the
random IOPS
performance problem in a flash cache environment by using hardware based
mapping and translation schemes - but these are not as yet common in the market.
For simplicity it's useful to classify RAM cache types within flash
SSDs into the following 3 types. | |
| . |
| New
flash SSD terminology proposed by StorageSearch.com - July 28, 2009 |
Fat flash
SSD
> 10,000 ppm |
A flash SSD in which the ratio
of RAM cache to flash array is at least 10x higher than that in
(more common) regular flash SSDs.
The first Fat flash SSD in
rackmount form factor was the
RamSan-500 launched in
September 2007 by Texas Memory Systems. RAM cache size was 64GB compared to SLC
flash SSD capacity of 2TB - giving a RAM/flash ratio of 32,000 ppm ).
In the 2.5" form factor - an early example of fat flash SSD
was the
Platinum M-Cell SSD from
DTS which (at launch time in June 2009) included 1GB internal RAM cache in an
SLC flash SSD with 64GB capacity - giving a RAM/flash ratio of 16,000
ppm.
|
Regular
flash SSD
around 1,000 ppm
(typically 500 to 2,000 ppm) |
This is the design choice used
in most fast flash SSDs currently in the market which include a RAM cache.
It's a self referential definition. It's a market efficient
compromize which results in competitively attractive products. It makes the SSD
controller much easier to design than in the "skinny RAM" category
below. And it doesn't push up the design costs like the "fat RAM"
designs above. The regular RAM cache size suits a wide range of flash SSD
applications - those in which neither performance nor reliability are being
pushed to the design limits.
If we look at
2.5" flash SSDs -
the most popular products from most manufacturers typically have an internal
RAM/flash ratio in the range 500ppm to
2,000ppm.
Manufacturers in this category include:-
Corsair (Performance
Series), Memoright
(GT series), OCZ (Summit
Series),
STEC (Zeus IOPS) and
Super Talent
(UltraDrive ME). |
Skinny
flash SSD
< 100 ppm |
These are designs which include
miniscule amounts of RAM - orders of magnitude smaller than Regular flash
SSDs.
In extreme cases there may not even be any external RAM chips
at all. The RAM being implemented as part of the real-estate inside the SSD
controller.
In the current market some extreme skinny flash SSDs have
a RAM/flash ratio below 1ppm.
Advocates of skinny flash SSD
architecture cite reliability as the main driving force. Tossing out the RAM
reduces chip count and can help towards lower power consumption.
Companies
who currently market all their SSDs in this category include
SandForce (SF-1000)
and
WD Solid State
Storage (SiliconDrive III), and
Virident Systems
(FlashMAX).
Foremay's
SC199 Cheetah V-series (2.5" SSD) is skinny with no RAM cache - whereas
their U-series (1.8" SSD) is regular with 64MB cache.
Getting good
performance in skinny RAM architecture requires a very well designed SSD
controller and a deep commitment at the outset that you are going to stick with
this method. (And not bail out when you hit a hard design problem.) Instead of
having the luxury of using RAM to cache large blocks of write data - you have to
cache write data to flash. Which requires good garbage collection and
pre-erased block availability. The nv RAM is restricted to storing the state of
the machine and tables which may only be tens of kilobytes in size.
This
is the RISC approach to flash SSD design. The battery / capacitor holdup time
(when power fails) can be a low multiple of a single flash write-erase cycle.
Another advantage of the skinny approach is faster power up ready time - when
power is restored. This is a parameter which is not defined in most datasheets -
but can be surprisingly long in some products. | |
| . |
 |
| . |
Notes:- the ratio of RAM to flash in a
flash SSD is always a fraction. To simplify comparisons betweeen these fractions
I'm using the form "integer ppm" - where
integer = RAM capacity divided by flash capacity x 1 million (parts
per million)
As an example the RAM/flash ratio for a product with
256MB RAM and 256GB flash is 1,000 ppm.
A product with a RAM/flash
ratio of 1 million is actually a
RAM-SSD with internal
flash backup.
RAM/flash Ratios will Vary Over Time
Don't
take the exact numeric examples above as gospel. The exact ratio of RAM/flash
cache for each classification of SSD will vary according to market
conditions - and the
relative
prices of RAM versus flash memory. But that still provides a convenient
frame of reference and mental bin for sorting those with massively more RAM, and
those with massively less than the most common (regular) models.
What
About MRAM? PRAM? etc?
I've used the term "RAM" above as
a catch-all phrase which includes DRAM, SRAM and true nv RAMs such as MRAM. I
don't think it's likely that flash SSDs using a 3 tiered cache (true nv RAM,
battery / capacitor backed RAM, and flash) will become widely established. So
the fat, regular, skinny appellations can be used regardless of the RAM cache
type.
What's the Way Ahead?
It's hard to predict in
advance how useful new jargon will be. The market is always the deciding factor
in jargon adoption - just as with
products.
3
years ago (in 2006) when I suggested to flash SSD oems the importance of a
creating new standard way to refer to flash SSD life - related to endurance -
that didn't work. But there was a real need in the market - and my educational
article on
SSD Myths and
Legends - "write endurance" - originally aimed at a niche market -
has been seen by nearly 0.5 million readers.
Since then users have
had to learn a great deal more about
SSD jargon to sort
out the wheat from the chafe.
I plan to start using the new labels in
editorial August 1, 2009. As always - feedback from vendors and readers will
be used to update these terms and this article from time to time.
3rd party citations for these new terms:-
- Fast
Eddy Felson - from the blog - Dr. Codd Was Right - "musings on the
primacy of the relational model, database and silliness of all things xml"
|
|
later articles on a similar theme:-
Why size matters in
SSD architecture - the memory chip count ceiling at which the
SSD controller is
optimized - predetermines cost, performance and reliability
how fast can your SSD
run backwards? - Key Symmetries in SSD design - what they are and why you
need to know
an
introduction to enterprise SSD silos - 7 ways to classify where all
SSDs will fit in the pure SSD datacenter
relative SSD capacity
ratios in the server, SAN and archive - market data from HPCs indicates how
much SSD you should put in the server compared to the SAN - but an entirely new
set of assumptions may be more appropriate when it comes to figuring out the
size of solid state storage deployed for backup.
| |
| . |
|

| |
.. |
 |
| SSD jargon |
| Just when Megabyte thought he was
almost there. | | |
|
|
|
| . |
|
|
| . |
|
|
| . |
the Problem with
Write IOPS
the "play it again Sam" syndrome |
Editor:- Flash SSD "random
write IOPS" are now similar to "read IOPS" in many of the
fastest SSDs.
So
why are they such a poor predictor of application performance?
And
why are users still buying
RAM SSDs which cost
9x more than SLC? - even when the IOPS specs look similar. |
 |
This article tells you
why the specs got faster - but the applications didn't. And why competing SSDs
with apparently identical benchmark results can perform completely
differently. ...read
the article | | | |
| . |
|
|
| . |
| the 3 fastest flash
PCIe SSDs - list / lists |
Are you tied up in
knots trying to shortlist flash SSD accelerators ranked according to
published comparative benchmarks?
You know the sort of thing I mean -
where a magazine compares 10 SSDs or a blogger compares 2 SSDs against each
other. It would be nice to have a shortlist so that you don't have to waste too
much of your own valuable time testing unsuitable candidates wouldn't it?
StorageSearch's long running
fastest SSDs directory
typically indicates 1 main product in each form factor category but those
examples may not be compatible with your own ecosystem.
If so a
new article -
the 3 fastest PCIe
SSDs list (or is it really lists?) may help you cut that Gordian
knot. Hmm... you may be thinking that StorageSearch's editor never gives easy
answers to SSD questions if more complicated ones are available.
|
 |
But in this case you'd be
wrong. (I didn't say you'd like the answers, though.) ...read the article | | | |
| . |
| SSD power down
management architectures |
Why should you care
what happens in an SSD when the power goes down?
This important design
feature - which barely rates a mention in most SSD datasheets and press releases
- is really important in determining SSD data integrity and operational
reliability.
This article - which surveys power down management
design architectures and characteristics in SSDs - will help you understand
why some SSDs which work perfectly well in one type of application might fail
in others... even when the changes in the operational environment appear to be
negligible. |
|
| | |
| . |
 | |