Why do I need RAID on an SSD?
The advantages of SSD-based storage arrays over hard disk storage arrays include reduced access time to the drive and superior read / write performance. However, SSD-based RAID’s performance requires an optimal combination of processor, cache, software, and hardware. When all these factors work together perfectly, a RAID array from an SSD can significantly outperform a comparable configuration using traditional HDDs.
A typical SSD consumes less power than hard drives, so when combining a large number of solid-state drives into a RAID array, saving energy compared to a RAID array from a HDD can also lead to lower costs when paying corporate electricity bills.
However, SSD RAID has limitations and disadvantages: in particular, a higher price per gigabyte of space compared to hard drives of comparable capacity. And the flash MTBF is limited by a certain number of rewrite cycles. That is, SSD-drives have a certain service life, which depends on the operation: the more actively the information on it is rewritten, the faster the drive will fail. Corporate SSDs, on the other hand, have a decent life comparable to mechanical hard drives.
How Kingston SSDs Live in RAID Mode with Broadcom Controllers
At the dawn of the advent of SSDs, RAID designs were fraught with many nuances. Including due to the use of less fault-tolerant HDD-drives. Solid state drives are much more reliable than their counterparts based on magnetic disks. As we know, there are no moving elements in SSD solutions, so mechanical damage is reduced to zero. SSD failure due to power surges is also unlikely, given that at the level of your home PC and any server you are protected by UPSs, surge protectors and even a power supply.
At the same time, SSDs have one more significant plus: even if memory cells are worn out for writing, data can still be read from them, but if the magnetic disk is damaged, alas.
Today, using SSD solutions in RAID arrays of different levels is quite normal practice. The main thing is to choose the right solid state drives, the latency of which is minimal. It is also ideal to use SSDs from the same manufacturer and the same model so that there is no mishmash of drives that support different types of loads and are built on the basis of different types of memory, controllers, and other technologies. That is, if we decided to purchase four or 16 Kingston NVMe SSDs to create a RAID array, then it would be better if they all come from the same series and model range.
By the way, in the last article, we cited Broadcom controllers as an example when we talked about Kingston's NVMe SSD. The fact is that in the manuals for these devices compatible drives are immediately registered (including solutions from the aforementioned American manufacturer SSD), with which the controller will work flawlessly. It is necessary to rely on this information when choosing the “controller-SSD” bundle for RAID.
We analyze the work of Kingston SSDs in the most popular types of RAID – “1”, “5”, “10”, “50”
So, the “zero” RAID level does not provide data redundancy, but only increases performance. RAID 0 does not provide any data protection at all, therefore, we will not consider it within the corporate segment. RAID 1, on the other hand, provides complete redundancy, but only a modest performance increase, and therefore it should be considered if performance improvement is not a fundamental factor when creating a RAID array from an SSD.
RAID 1 based on Kingston SSDs and Broadcom controllers
So, the first level RAID array based on the Broadcom MegaRAID 9460-16i controller combines from two to 32 Kingston drives, which are copies of each other, and provides complete redundancy. If using traditional HDDs, the speed of writing and reading data remained at the level of this HDD itself, then using NVMe SSD solutions we get a tenfold increase in performance. Especially regarding data access time. For example, with two Kingston DC1000M U.2 NVMe SSDs in server RAID 1, we get 350,000 IOPS when reading random data and 75,000 IOPS when writing.
In terms of sequential read speed, the results will correspond to the characteristics of the drive – 3200 MB / s. But, since both NVMe SSDs are operational, data can be read from them at the same time, which makes read operations pretty fast. But the write speed (claimed is 2000 MB / s) will be slower, because each write operation is performed twice.
RAID 1 is ideal for small databases or any other environment that requires fault tolerance but low capacity. Mirroring drives especially helps in disaster recovery scenarios (performance deteriorates slightly), because it provides instant “reanimation” of important data if one of the drives in the array fails. But, since this level of protection requires doubling the capacity for storing a mirrored copy of the data (100 TB will require 200 TB of storage space), many enterprise systems use more economical storage options: RAID 5 and RAID 6.
RAID 5 based on Kingston SSDs and Broadcom controllers
To organize a fifth-level RAID array, we need at least three drives, the data on which are striped (cyclically written to all drives in the array), but are not duplicated. When organizing them, one should take into account their more complex structure, since such a concept as “checksum” (or “parity”) appears here. This concept refers to the logical algebraic function XOR (it is also the exclusive "OR"), which dictates the use of at least three drives in the array (maximum – 32). In this case, the parity information is written to all “disks” in the array.
For an array of four Kingston DC500R SATA SSDs with 3.84 TB each, we get 11.52 TB of space and 3.84 for checksums. And if you combine 16 Kingston DC1000M U.2 NVMe drives with a capacity of 7.68 TB in a fifth level RAID, we will teach 115.2 TB with a loss of 7.68 TB. As you can see, the more drives, the better. It is also better because the more drives in RAID 5, the higher the total write performance. And linear reading will reach RAID 0.
A RAID 5 drive group provides high throughput (especially for large files) and redundancy with minimal power loss. This type of array organization is best suited for networks that perform many small I / O operations at the same time. But it is not worth using it for tasks requiring a large number of write operations of small or small blocks.
There is one more nuance: if at least one of the NVMe drives fails, RAID 5 goes into degradation mode and the failure of another storage device can become critical for all data. In the event of a single drive failure in the array, the RAID controller uses the parity information to recreate all the missing data.
RAID 10 based on Kingston SSDs and Broadcom controllers
So, RAID 0 provides us with a twofold increase in speed and access time, and RAID 1 provides reliability. It would be ideal to combine them, and here RAID 10 (or 1 + 0) comes to the rescue. “Ten” is assembled from four SATA SSD- or NVMe-drives (maximum – 32) and implies an array of “mirrors”, the number of drives in which should always be a multiple of four. The data in this array is written by splitting into fixed blocks (as in the case of RAID 0) and interleaving between drives, distributing copies between the "disks" in the RAID 1. And due to the possibility of simultaneous access to several groups of disks, RAID 10 shows high performance.
Since RAID 10 is able to distribute data across multiple mirror pairs, this means that it can allow the failure of one drive in a pair. However, in the event of a failure of both mirror pairs (i.e., all four drives), inevitable data loss will occur. As a result, we also get good fault tolerance and reliability. But it is worth bearing in mind that, like RAID 1, a tenth-level array uses only half of the total capacity, and therefore is an expensive solution. Yes, and difficult to configure.
RAID 10 is suitable for use with data warehouses that require 100% redundancy of mirror disk groups, as well as increased RAID 0 I / O performance. This is the best solution for medium-sized databases or any environment that requires higher fault tolerance than RAID 5.
RAID 50 based on Kingston SSDs and Broadcom controllers
A combined array similar to RAID of the tenth level, which is a zero-level array created from arrays of the fifth level. As in the previous case, the main purpose of this array is to obtain doubled performance while maintaining data reliability in RAID 5 arrays. At the same time, RAID 50 provides increased write performance and better data protection than standard RAID 5 in the event of a disk failure, and is also capable of faster recovery in case of failure of one of the drives.
A RAID 50 disk group splits the data into smaller blocks, and then distributes it to each RAID 5 array. A RAID 5 disk group, in turn, also splits the data into smaller blocks, calculates the parity, performs an OR logical operation on the blocks, and then performs write operations to data blocks and parity for each disk in the disk group.
And although performance inevitably decreases in the event of a failure of one of the drives, it is not as significant as in a RAID 5 array, since one failure affects only one of the arrays, leaving the other fully operational. In fact, a RAID 50 can withstand up to eight failures of the HDD / SSD / NVMe drive if each failed drive is in a separate RAID 5 array.
RAID 50 is best used for applications that require high reliability and that need to process a large number of requests while maintaining high data transfer rates and lower cost drives than RAID 10. However, since at least six drives are required to configure RAID 50, cost is not completely excluded as a factor. One of the drawbacks of RAID 50 is that, like RAID 5, it needs a sophisticated controller: such as the Broadcom MegaRAID 9460-16i we mentioned in a previous article.
It is also worth noting that RAID 50 has less disk space than RAID 5, due to the allocation of capacity for the contents of parity records. However, it still has more usable space than other RAID levels, especially those that use mirroring. With a minimum requirement of six drives, RAID 50 can be an expensive option, but the extra disk space justifies the cost by protecting corporate data. This type of array is recommended for working with data that requires high reliability of storage, high frequency of requests, high transmission speed and high capacity for hosting.
RAID 6 and RAID 60: we also haven’t forgotten about them
Since we’ve talked about arrays of the fifth and fiftieth levels, it’s a sin not to mention such types of organization of arrays as RAID 6 and RAID 60.
The performance of RAID 6 is similar to RAID 5, but here at least two drives are given under parity, which allows the array to survive the failure of two drives without data loss (in RAID 5, this situation is extremely undesirable). This ensures higher reliability. Otherwise, everything is the same as in the fifth-level array: in the event of a failure of one or two disks, the RAID controller uses parity blocks to recreate all the missing information. If two drives fail, recovery does not occur simultaneously: first, the first drive is reanimated, then the second. Thus, two data recovery operations are performed.
It is easy to guess that if RAID 50 is a zero-level array of fifth-level arrays, then RAID 60 is a zero-level array of sixth-level arrays, which we just talked about. That is, such an organization of RAID storage allows you to survive the loss of two SSDs in each group of RAID 6 drives. The principle of operation is similar to that described in the section on RAID 50, but the number of failures that an array of the sixtieth level can withstand grows from 8 to 16 drives. Typically, such arrays are used for online customer service, which requires high fault tolerance.
Although mirroring provides more fault tolerance than RAID 50/60, it also requires much more space. Since the amount of data doubles, you actually get only 50% of the total capacity of the drives installed in the server for recording and storing information. Choosing between RAID 50/60 and RAID 10 will most likely depend on your budgets, server capacity, and your data protection needs. And the cost comes to the fore when we talk about SSD-solutions (both corporate and consumer class).
It is equally important that now we know for sure – RAID based on SSD is a completely safe solution and normal practice for modern business. As part of home use, there is also a reason to switch to NVMe, if budgets allow. And if you still have a question, why all this is necessary, return to the beginning of the article – we have already answered it in detail.
This article was prepared with the support of our Broadcom colleagues, who provide their controllers with Kingston engineers for testing with enterprise-class SATA / SAS / NVMe drives. Thanks to this friendly symbiosis, customers do not have to doubt the reliability and stability of Kingston drives with HBA and RAID controllers from Broadcom.
Additional information on Kingston products can be found on the company's official website.