|
The new skinny on flash SSDs... by Zsolt Kerekes, editor
StorageSearch.com |
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).
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"
| |
| . | |
 |
Just when Megabyte thought he'd
got there. Another signpost on the storage frontier. | | |
| . |
| There
are
hundreds
of articles about SSDs on StorageSearch.com |
Here, below, are some
examples.
- 2010 - 1st Fizz
in the SSD Bubble? - even the dogs in the street know this is going to be a
multibillion dollar market. Greed will play as big a part as technology in
shaping the
SSD year ahead.
- the pros and cons of
using SSD ASAPs - auto tuning SSD appliances are a new category of SSD
which entered the market in the 2nd half of 2009 to accelerate servers without
needing human tune-ups. How can you tell if they are right for you? And how
well do they work?
- the Problem
with Write IOPS - in flash SSDs - long established as a useful performance
modeling metric - this article explains why some specs are exaggerated when
applied to flash SSDs - or predict the wrong results for many common
applications.
| | | |