Take time to get to know the flash you think you love

Not all SSDs are created equal

5 Reg comments Got Tips?

We have looked at what workloads drive enterprise flash adoption and why picking the right storage medium for the job matters.

Unfortunately, the market doesn't always meet everyone's needs, so an understanding of what is available is important.

Flash comes in a variety of solutions, from the roll-your-own to the pre-packaged. Although the mental image of some poor tech having to crack open 5,000 servers and install SSDs is amusing, it is also fanciful.

In practice, flash in the enterprise is going to come pre-packaged. It comes not from flash vendors but from device vendors. You may like a particular flash vendor's NAND more than the next, but it may not be an option available from your device vendor.

This might matter and it might not. It really depends on which particular flavour of flash solution you are choosing and how the device vendor in question implements flash in its solution.

Behavioural study

Let's assume for a moment that the people who work in the NAND fabs around the world are generally competent, capable people. Let's also assume that the people who design NAND flash have been doing it for so long that it is quite hard for them to get it wrong.

It doesn't really matter so much which fab the raw flash comes out of. If you have enough deep nerd skills and a nuclear-powered slide rule you can work with the flash vendor to characterise the flash it makes and learn its foibles.

The characterisation goes far beyond simply understanding the write limits of the NAND cells you are provided. Everything can affect flash, from thermals to the shape of the voltage patterns you are using to drive the cells. Power supply jitter tolerances differ.

A thousand and one nerdy little things can change how best to treat different runs of NAND from the same fab, let alone different NAND from different vendors’ fabs, and that’s when all the folks making the bits are doing their jobs properly. Clearly, working with raw flash takes skill and significant expertise.

Normally the same vendor that fabs the flash cells packages them up with a controller and sells them as some flavour of SSD. There are a handful of companies out there that build their own controller but not a lot.

Many of The Register's readers will remember the name SandForce as being important here: it pioneered the modern eMLC SSD and largely dominates the third-party SATA SSD space.

SandForce is an example of a vendor using a single controller with flash cells originating from multiple fabs. Given how difficult it can be to get all the details right this seems not quite rational. Well, it is and it isn't.

On the one hand SandForce lived and breathed SSDs. The whole company existed to create those controllers (until it got bought by LSI, now a part of Seagate).

SandForce brought together some of the leading industry experts from the fab manufacturers and ultimately designed a controller that "just worked" with most flash cells.

It didn't manufacture whole drives. Beyond making sure the voltages were the right shape and were stable, the rest of the SSD problem was up to the company that packaged the SandForce controller with the NAND, added some firmware and called it a drive. Here everything from thermals to choice of material for PCB traces matters.

Each of these high-end vendors makes different choices

Some enterprise vendors go far beyond this. They make hybrid or, more typically, all-flash arrays with the sort of TLC that only the dedicated nerd can provide. What they create is not a drive to be shoved into any old array but a system.

The SSD sleds may or may not contain a full controller. The wear levelling may or may not be handled by the host CPU instead of an embedded processor on the SSD controller.

Each of these high-end vendors makes different choices, but they all take great care to characterise the flash they use and understand how its foibles will affect their system.

These are not user-serviceable flash systems. They are vendor-supplied flash solutions, and they are the only real example of when it doesn’t matter which flash vendor is under the hood.

The full package

EMC has traditionally had the lion's share of the storage market. EMC's share generally hovers between 20 per cent and 25 per cent of the market.

This is changing, but traditional EMC-style storage currently makes up the bulk of storage units that ship into enterprises, and will do so for some time.

The model of using packaged SSDs each with its own controller, firmware and so forth, and then treating them more or less as fast hard drives seems set to stay with us. It means minimum fuss and integration effort for the array vendor, and also places almost the entire burden for smooth and efficient operation on the SSD itself.

While SandForce earned a very positive initial reputation, other third-party controller vendors earned some pretty negative views. For quite some time, OCZ's controllers could only be described as catastrophic. JMicron’s early controllers had write-speed and stability issues.

Eventually Intel became the industry standard among the captive controller companies (those which both fab the flash and create the controller). Marvell took over from SandForce as the third-party controller of choice, embraced by companies such as SanDisk and Micron.

Which vendor sells you the SSD matters. It is one thing to pair up a Marvell controller with some NAND cells; it is another entirely to write custom firmware to get the most out of those cells or to put in the time and effort to determine if there are any runs from any of the partner fabs that don't quite work right or that need some extra TLC.

The custom firmware can mean the difference between an SSD optimised for consumer workloads or for databases, and a 960GB SSD from one vendor may have more spare cells than a 960GB SSD from another. And which vendor actually needs more will depend on each vendor's implementation and how the array handles the SSD.

Tough questions

Vendors selling arrays that use SSDs (instead of essentially building their own like many of the true all-flash array vendors) show varying levels of diligence.

Some seem not to care who the flash vendor, controller vendor and SSD vendor are. What matters is the price at which they can get the units and how unit and replacement costs affect the bottom line.

When buying flash storage ask some hard questions about just how flash-aware the unit in question is.

Is it just a disk array with some changes to the UI to recognise when an SSD is plugged in, and maybe some third-rate tiering that will burn a hole through the SSDs in no time?

Or is the vendor aware of every quirk and foible of the SSDs it ships with its arrays, and has it made relevant changes to its array software to deal with them?

Was the product engineered from the ground up to understand flash and what role does flash play? Are writes written first to flash and then demoted to disk? Are they written first to disk and then promoted to flash?

Or is the algorithm more complex, and what does that complexity mean for your workloads? How will those workloads affect the life of your flash?

Ultimately, none of this may matter if you are not planning to push your storage to the edge. If what you want is something a bit faster than disk, any old hybrid or all-flash array will do.

But the more demanding your workload and the more important your data, the deeper you should look. What are guaranteed performance numbers? What is the guaranteed lifespan?

None of us are likely to get away without needing at least some flash in our data centres, so who is making yours? ®


Biting the hand that feeds IT © 1998–2020