Yes, it is absolutely possible to create a RAID array using solid state drives (SSDs). RAID (Redundant Array of Independent Disks) allows combining multiple physical drives into a single logical unit to provide increased performance, capacity, and/or redundancy. RAID can be implemented with both hard disk drives (HDDs) and SSDs.
Quick Answer
The quick answer is yes, you can create a RAID array with SSDs just like you can with HDDs. In fact, SSD RAID arrays can provide better performance compared to HDD RAID arrays due to the faster read/write speeds of SSDs. Some considerations when using SSDs in RAID include:
- SSDs typically have lower storage capacities than HDDs, so more drives may be required.
- SSDs support a limited number of write cycles, so wear leveling is important.
- Not all RAID levels make sense for SSD RAID. RAID 0, 1, 5, 6, and 10 are common.
- A RAID controller that supports SSDs is required.
How RAID Works
Before looking specifically at implementing RAID with SSDs, let’s first briefly overview how RAID works in general. The key aspects of RAID include:
- Striping – Splitting data evenly across multiple drives. This allows concurrent reads/writes to the drives for enhanced performance.
- Mirroring – Writing identical copies of data to multiple drives. Provides redundancy in case one drive fails.
- Parity – Calculation of error correcting information that gets written across the drives. Allows data reconstruction in case of drive failure.
- Spanning – Combining multiple physical drives into a single logical unit.
There are various standardized RAID levels (RAID 0, 1, 5, etc) that use different combinations of these techniques to meet different goals – performance, redundancy, capacity, etc. Now let’s look at implementing RAID with SSDs specifically…
Benefits of SSD RAID
There are several benefits to using SSDs in a RAID array compared to traditional HDD RAID:
- Faster read/write performance – SSDs provide much lower latency and higher IOPS than HDDs, so SSD RAID can offer very high performance perfect for data intensive applications.
- Better reliability – SSDs have no moving parts unlike HDDs, so physical drive failures are less likely.
- Low power consumption – SSDs use less power than HDDs – important for large arrays.
- Noise reduction – No spinning platters means no noise from the drives.
- Potentially lower cost – Large SSDs are becoming more affordable and can offer more storage density vs enterprise HDDs.
For applications like databases, virtualization, high performance computing, and more – SSD RAID can deliver huge performance and reliability improvements over HDD RAID.
Considerations for SSD RAID
However, there are some additional considerations when implementing RAID with SSDs:
- Lower capacity – Consumer SSDs may be lower capacity than HDDs, so more drives are needed for a given storage size.
- Wear leveling – SSDs can wear out after a number of write cycles. The RAID controller needs wear leveling support.
- RAID controller support – Make sure the RAID controller supports managing and monitoring SSDs.
- RAID 5/6 reconsidered – Parity writes on RAID 5/6 can wear out SSDs faster. Consider RAID 10.
- TRIM support – The RAID controller and OS need TRIM support to maximize SSD performance.
These factors should be taken into account when designing and implementing an SSD RAID array instead of just treating them as drop-in HDD replacements.
Choosing SSDs for RAID
When selecting SSDs for use in RAID, here are some recommendations:
- Use enterprise SSDs designed for RAID/datacenter use, not consumer models.
- Ensure the SSDs use SLC NAND flash for better endurance and performance.
- Get SSDs with power loss protection to prevent data loss.
- Choose SSDs in a smaller capacity if using RAID 0 to reduce rebuild times.
- Pick SSDs from vendors with good firmware and reliability.
- Get SSDs that support full disk encryption if required.
- Ensure the SSDs have capacitors to flush cached data on power loss.
- Consider M.2 NVMe SSDs for even better performance.
Properly vetted and selected enterprise-class SSDs will provide the best results and longevity in RAID configurations.
Supported RAID Levels
SSDs can support all of the most common RAID levels just like HDDs:
- RAID 0 – Striping for performance. No redundancy.
- RAID 1 – Mirroring for redundancy. Half storage capacity.
- RAID 5 – Block-level striping with distributed parity. Solid redundancy.
- RAID 6 – Block-level striping with dual distributed parity. Excellent redundancy.
- RAID 10 – Stripe of mirrors. Great performance and redundancy.
However, as mentioned the additional write overhead of parity calculations on RAID 5/6 should be considered carefully with SSDs versus HDDs. RAID 10 is usually preferred for SSD RAID.
RAID Controller Considerations
The RAID controller is a critical component when building an SSD RAID array. Key criteria for the controller include:
- Make sure it fully supports managing and monitoring SSDs.
- Ensure it has capacitors to flush cache to SSDs on power loss.
- Pick a controller with enough ports for all drives needed.
- Select a controller that supports SAS or SATA SSDs as required.
- Choose a controller with at least 1GB DDR3 cache memory.
- Get a controller with RAID 6 support for best redundancy.
- Prefer controllers with battery backups for the cache.
- Check that TRIM, SMART, and encryption is supported.
Enterprise RAID controllers designed for SSDs provide the most appropriate feature set for optimal performance and reliability.
Building the RAID Array
Once the components have been selected, building the physical RAID array with SSDs follows this general process:
- Install the RAID controller in a server or enclosure.
- Connect the SSD drives to the controller.
- Boot into the controller management interface.
- Create a virtual drive and select the RAID level.
- Select the SSDs to include in the virtual drive.
- Initialize and format the RAID array.
- Monitor drive health and performance statistics.
The management interface will expose drive SMART data and allow monitoring of SSD life remaining, wear leveling, and other vital statistics for the SSDs in the RAID array.
Optimizing SSD RAID Performance
To maximize the performance of an SSD RAID array:
- Enable TRIM support in the OS for best SSD garbage collection.
- Spread random I/O across drives to utilize parallelism.
- Use native command queuing on drives to optimize scheduling.
- Enable write caching and use battery backup cache.
- Monitor SSD health and wear leveling regularly.
- Consider overprovisioning SSDs to improve write performance.
- Replace drives before they exceed their endurance limits.
Tuning RAID controller settings, application access patterns, and the OS can help optimize SSD RAID performance.
Example SSD RAID Configurations
Here are some examples of practical SSD RAID setups:
4 drive SSD RAID 10 array
- 4 x 800GB Enterprise SATA SSDs
- LSI MegaRAID SAS 9286CV-8e RAID Controller
- RAID 10 provides 1.2TB total capacity and redundancy
- Up to 800K IOPS random read, excellent performance
8 drive SSD RAID 6 array
- 8 x 1.6TB Enterprise NVMe SSDs
- LSI MegaRAID SAS 9300-8i12 RAID Controller
- RAID 6 provides 10TB total capacity and great redundancy
- Over 1M IOPS random read for blazing performance
These demonstrate practical and high performance SSD RAID configurations. Capacity, redundancy, and performance can all be tuned as needed.
Conclusion
SSD RAID arrays are a great option compared to traditional HDD RAID, providing faster performance along with low latency and power efficiency. With proper selection of enterprise SSDs and RAID controller, an SSD RAID array can deliver tremendous benefits for I/O intensive workloads. Careful consideration should be given to RAID levels, write amplification, and controller features when architecting SSD RAID. Overall, SSDs are well suited for building high speed, reliable RAID arrays for today’s demanding applications.