Does a RAID controller with an NV cache improve the performance or integrity of an SSD array?

Solution 1:

If used with SSDs without powerloss-protected write cache, the RAID controller's NVCACHE is extemely important to obtain good performance.

However, as you are using SSDs with powerloss-protected write caches, performance should not vary much between the various options. On the other hand, there are other factors to consider:

  • with hardware RAID is often simpler to identify and replace a failed disk: the controller clearly marks the affected drive (eg: with an amber light) and replacing it is generally as simple as pull the old drive/insert the new one. With a software RAID solution, you need to enter the appropriate commands to indentify and replace the failed drive;
  • hardware RAID presents the BIOS a single volume for booting, while software RAID shows the various component devices;
  • with the right controller (ie: H730 or H740) and disks (SAS 4Kn) you can very easily enable the extended data integrity field (T10/T13);
  • hardware RAID runs an opaque, binary blob on which you have no control;
  • Linux software RAID is much more flexible than any hardware RAID I ever used.

That said, on such a setup I strongly advise you to consider using ZFS on Linux: the powerloss-protected write caches means you can go ahead without a dedicated ZIL device, and ZFS added features (compression, checksumming, etc) can be very useful.

To directly reply to your questions:

  1. Are any of these configurations at risk for data loss or corruption on power loss? No: as any caches is protected, you are should not corrupt any data on power losses.
  2. Which configuration should I expect to have the best write performance? The H740P configured in write-back cache mode should give you the absolute maximum write performance. However in some circumstances, depending on your specific workload, write-through can be faster. DELL (and LSI) controller even have some specific SSD features (ie: CTIO and FastPath) which build on write-through and can increase your random write performance.
  3. Are there any other benefits to an NV cache that I haven't considered? Yes: a controller with a proper NVCACHE will never let the two RAID1/10 legs to have different data. In some circumstances, Linux software RAID is prone to (harmless) RAID1 mismatches. ZFS does not suffer from that problem.

Solution 2:

Q1: Are any of these configurations at risk for data loss or corruption on power loss?

A1: You shouldn't have any issues, unless you'll configure cache in write-back mode, and w/out NV RAM.

Q2: Which configuration should I expect to have the best write performance?

A2: One having biggest amount of cache obviously! ...and no parity RAID, but RAID10 of course.

Q3: Are there any other benefits to an NV cache that I haven't considered?

A3: Write coalescing, spoofing etc. But these are minor really.

Tags:

Raid

Ssd

Cache