Flash Storage Myths and Caching RAID Controllers
Since SSDs (Solid State Disks or Drives) have been widely deployed in servers the last several years, misconceptions and even some outright myths have emerged - eRacks attempts here to give accurate information regarding these, and set the record straight.
Here are someof them:
- "All-flash" is Better
- Flash is Always Faster
- Flash Wears Out
- Flash is More Expensive
Let's address these, in an order that helps explain how things work, and how they relate:
Half-true: "Flash Wears Out"
In early flash drive and SSD technology, it was true that there were a limited number of writes that could be done to a given block of data in a flash drive, after which failures would occur - although technically this is still true, two things have happened:
- The number of writes before these failures occur has vastly increased, and
- Wear-leveling algorithms, that spread out the writes evenly across all the blocks in the entire drive,
have vastly increaed the number of writes before any failures occur, and now (as of this writing, January 2020) rendered this issue (almost!) nonexistent - only the most heavily (re-)write oriented applications, such as video surveillance, are still at issue.
That said, SSDs still have a vey different partial-failure profile, and therefore the best-practices usage profile and recommendations are vastly diverse for SSDs and HDDs, inlcluding
Myth: " 'All-flash' is Better"
This myth started with some hosting vendors touting their "All-flash" servers, with the implication that this somehow made them superior -
SSDs, now with all the heavy "wear-leveled" algorithms, tend to fail "All at once" as opposed to HDDs, which
- Tend to fail in "Bad spots", and/or those of heavy write activity,
- are often much more recoverable using forensic techniques, due to the "Physical" nature of the data
So the usage circumstances under which SSDs or HDD fail are very different - making a hybrid approach superior to using either technology alone.
Myth: "Flash is Always Faster"
Unbuffered reads & writes to the SSD media itself typically complete faster than those to HDD Media - but this doesn't tell the whole story:
- It's all about the bus bandwidth
- The RAID or volume structure matters
- The diversity of data matters - same bocks or different?
- sustained write speed requirements matter (eg, video or multitrack audio recording)
In 95%+ of the real-world scenarios out there, a good-quality, well-designed caching RAID controller can perform on a par with, or often even ourperform, a typical SSD-based server.
- For burst writes, or cached reads, it's the bus bandwidth that matters - this will happen at 12MBps (SAS12), 6 Mbps (SATA6), or 24+MBps (NVMe / PCIe).
- In a RAID 0 or hybrid-RAID (RAID50, 60) environment, the gatling-gun effect of striped reads means that reads can be several times faster than raw SSD reads
- Write-back cache technology means that (burst) writes occur at bus-bandwidth speeds, which are often orders of magnitude faster than raw SATA (SSD or HDD) write speeds.
- If it's the same oft-cached data, such as OS code, config, App code, etc, then the underlying drive technology does not matter -
- it will all be cached by the controller, and delivered as fast as the bus speed (typically PCIe) allows, regardless of SSD vs HDD.
- The only circumstance under which write bandwidth matters, is when you need to have sustained, ongoing writes of new data - eg, video surveillance, or multi-track audio recording -
Even so, there are considerations for when to use SSDs vs HDDs -
- HDDs are more reliable on extreme rewrites
- SSDs are faster on sustained writes
So, for time-based sliding-window-based video recording, such as video surveillance (eg, NVR, DVR) servers, we recommend HDD-based systems.
And for Multitrack-audio recording, where you need the sustained speed, but the volume is way less, we recomend SSD-based systems.
For the other 95%, this dictates a hybrid approach - SSD+HDD.
Somewhat true: "Flash is More Expensive"
Although this one is partially true, it's more nuanced, and there are circumstances where SSD is cheaper:
- At the lower end, the prices are closer together, and getting more competitive all the time -
- At the high end, SSDs can be several TIMES as expensive per GB
- For smaller dirives, such as Laptop M.2 drives, SSDs are available in smaller sizes, so the net cost per disk is lower for SSDs, even though the cost per GB may be the same
eg, a 128GB mSATA SSD can be purchased for $26, whereas the smallest available 2.5" rotating-platter 320GB HD is about $25, roughly the same price.
In summary, a good knowledge of the rel facts surrounding SSDs vs spinnging-platter hard disks, will serve you well (no pun intended).
- A good caching RAID controller can often outperform an "all-SSD" system
- that said, a better approach, is a Hybrid-RAID system, with a spinning-platter HD mirroring an SSD
- Or multiples thereof, such as found in a RAID50, RAID60, or JBOD Compound RAID scenario
- See our article on RAID levels for details
- Hybrid-RAID spreads the risk of failure across diverse technologies with different risk profiles, greatly increasing the likelihood of one covering where the other fails.
- A good quality caching RAID controller, is a exercise in high speed parallel processing - we like to call it the gatling-gun effect
- So effectively, your writes complete at bus speeds, and it's up to the controller to ensure the data is properly written to the array of 12 or 16 or however many drives.
- In practice, this is actually faster than a single drive on a SAS or SATA connection, or even an NVMe connection, depending on other factors such as the type of drive, and its internal cache configuration
- It is very difficult to saturate the bendwidth of a RAID controller such as this, and would require incoming bandwidth of that found in sustained video recording to do so (NV, DVR apps), or multi-track audio recording.
- If you have those kind of needs, call us and we will configure an architecture and solution for you that works.
- All this said, it's possible to combine the benefits of the RAID controller, and the benefits of flash storage - check our flash line of storage servers