I recently had a short debate with someone on Twitter about using RAID on a desktop system. RAID stands for redundant array of independent disks (or redundant array of inexpensive disks). My viewpoint was that while it is a good idea, the vast majority of normal computer users are not using it. I assumed he was advocating for RAID 1, but he was actually suggesting that people should use RAID 10 for their boot drive. So, the question is, should you consider using RAID 10 in a desktop system?
What is RAID 10?
RAID 10 is a RAID 0 stripe of separate mirrors that requires a minimum of four drives to implement. With four drives, you would have two drives in a RAID 1 mirror and two drives in a separate RAID 1 mirror. These two separate RAID 1 mirrors would be in a RAID 0 stripe. Because of the mirroring in the RAID 1 arrays, you lose 50% of your total drive capacity.
This configuration gives excellent read and write performance, and a high level of redundancy. All four drives can read and write data simultaneously. There is no parity calculation or parity write activity. This makes RAID 10 an excellent choice for write-heavy usage.
You can lose one, and possibly two of the four drives and not lose any data. If you lose any one of the four drives, you are fine. You may be able to survive the loss of two drives at the same time, depending on which two you lose.
With luck, you may lose just one physical drive in each of the two separate RAID 1 arrays. In this event, your logical drive will stay online and you won’t lose any data. If you lose two drives in the same RAID 1 array, your overall RAID 10 array is broken. That means your luck ran out and you will need to restore your data from backups.
Why Don’t People Use RAID 10?
Lets take a look at the cost of using RAID 10 in a desktop system, using the prices of the current Samsung 860 EVO MLC SATA drive. This is single drive pricing from Amazon (which may vary over time), and these are affiliate links. Remember, you need four physical drives to create a RAID 10 drive array.
- 250GB Samsung 860 EVO $43.99
- 500GB Samsung 860 EVO $64.10
- 1TB Samsung 860 EVO $115.21
- 2TB Samsung 860 EVO $279.99
The sweet spot here in terms of cost/GB is the 1TB size. Buying four 1TB drives would be fairly expensive. Smaller drive sizes are more affordable, but your cost/GB is actually higher.
RAID 10 is expensive to implement! It costs at least twice as much per GB of storage compared to a single drive. Unfortunately, smaller drive sizes (from the same product family) usually cost more per GB than larger sizes. This also increases the total cost for RAID 10. That is why it is sometimes called “Rich Man’s RAID”.
Smaller drive sizes also usually have lower performance because they have fewer NAND storage chips and smaller DRAM caches. They also sometimes use different NAND controllers with fewer channels and lower performance.
Example 1: Four Ways to get 500GB of Space
Four 250GB Samsung 860 EVO drives would cost $175.96. With RAID 10, you would have 500GB of useable space (before formatting). This is 35.2 cents/GB. You would have the best redundancy story, (able to lose one and possibly two physical drives). From a performance perspective, you would have 4X the read performance and 2X the write performance compared to a single drive.
Two 500GB Samsung 860 EVO drives would cost $128.20. With RAID 1, you would have 500GB of useable space (before formatting). This is 23.0 cents/GB. You would be able to lose one physical drive. Performance-wise, you would have 2X the read performance, and the same write performance compared to a single drive.
If you had two standalone 250GB Samsung 860 EVO drives, they would cost $87.98. In this case, you would have 500GB of total useable space (before formatting). This is 17.6 cents/GB. You could lose either drive, and you would only lose the data on that drive. If your data were evenly split between the two identical drives, you could get 2X the read performance and 2X the write performance of a single drive.
A single 500GB Samsung 860 EVO is only $64.10, so it would be 12.8 cents/GB. You would not have any redundancy with a single drive. Your read and write performance would also be limited by what that particular drive delivered.
How About Some Benchmark Results?
Based on hardware I had available, I put together some quick CrystalDiskMark 7.0 tests with different numbers of SATA SSD drives. I happened to have four 256GB Samsung 840 PRO SATA AHCI SSDs that I used with an MSI B450 Tomahawk motherboard. This motherboard has a RAID controller that is part of the B450 chipset.
The CDM testing was done with a 4GB test file (so it would not just fit the DRAM cache of the drive itself). The first result was sequential throughput.
With a single Samsung 840 PRO drive, you hit the SATA III interface limit for reads, with a somewhat lower score for writes. This is because it is a smaller capacity, older SSD. Using two drives in a Storage Spaces mirror, we see double the read performance and about the same write performance. With four drives in a RAID 10 array (using the chipset RAID controller), we see four times the read performance and double the write performance of a single drive.
We don’t see as much of a performance uplift with random 4K reads and writes (with a queue depth of 32 and 16 threads). There is some improvement, especially for reads, but not that much for writes.
What Are People Actually Doing?
I believe that most people only have a single SSD or HDD in their desktop system for their boot drive (where the operating system is installed). They also don’t do any sort of backups of their boot drive (or any other drives in their system). I think this is the most common use case.
This combination is quite dangerous, but many people get away with it for years. Modern SSDs have become so reliable that they simply don’t fail very often. Even modern magnetic drives don’t fail as much as they used to years ago. Despite this, if you care about your data, you should be doing something to protect it.
Protecting your data with an appropriate level of RAID is one level of defense, but not the total solution. RAID can help prevent unexpected downtime, and it might protect your data (if you are lucky). If you are lucky, you won’t suffer more simultaneous physical drive failures than your RAID level can handle. For example, if you only lose one physical drive, your logical drive will stay online, and you won’t lose any data. You will be able to replace the failed physical drive, and the drive array can be repaired (usually automatically).
If you are not so lucky, you will have more simultaneous physical drive failures than your RAID level can handle. If this happens, your logical drive will go offline and your data will be lost! You can replace the physical drives and rebuild the array, but your data will still be lost. I hope you had a backup!
What Should People Be Doing?
If you don’t mind spending more money and if you want better performance, then using RAID 10 or RAID 1 for your boot drive is a good idea. This assumes that your system can support it. Your motherboard is more likely to have multiple SATA ports than multiple M.2 slots. If you want RAID 10, you will probably need an onboard chipset RAID controller.
You also need to consider modern M.2 PCIe NVMe drives vs. obsolescent SATA AHCI drives. A single M.2 PCIe 3.0 x4 NVMe drive will have more performance than four SATA AHCI drives in RAID 10. This gap will widen as M.2 PCIe 4.0 x4 NVMe drives become more common.
Backup Your Data!
Really, this is your best defense against many more threats compared to any RAID level. RAID is not a substitute for backups. This is true for SQL Server databases as well as client desktop machines.
There are many different ways to backup the data from your various machines. At the very least, backing up to an external USB 3.0 drive is better than nothing. If you have a wireless router, you can probably plug an external USB 3.0 drive into it and share it on your network.
Another common local backup solution is a NAS appliance (from companies like Synology or QNAP). These can be used to backup data from all of your machines. Finally, many people use some sort of cloud backup solution for at least some of their data.
Using an appropriate RAID level for your boot drive is one part of protecting your data and keeping your machine running. RAID by itself is not complete protection from data loss. I would argue that backing up your data is much more important than protecting it with RAID.
Ideally, you would use both RAID and backups together to make your system more robust and protect your data. Unfortunately, many people do neither of these things. If you are one of those people, your first step should be doing some sort of backup solution for your data.
You might enjoy my recent YouTube video about Building a B550 Aorus Master System, along with the companion blog post.
If you have any questions about this post, please ask me here in the comments or on Twitter. I am pretty active on Twitter as GlennAlanBerry. Thanks for reading!