SnapRAID is only one of the available not standard RAID solutions for disk arrays.

The best known others are:

unRAID - Commercial and OpenSource GPL2 solution. A modified version of the Linux Reiserfs filesystem with real-time redundancy. No integrity checksum is supported.

FlexRAID - Commercial and proprietary C++/Java application for Windows, with some limited support for Linux. It supports both snapshot redundancy and real-time redundancy, with integrity checksum.

ZFS - OpenSource filesystem (but GPL incompatible) with real-time redundancy and integrity checksum.

Btrfs - OpenSource filesystem GPL2 with real-time redundancy. From Linux 3.9 it supports RAID5/6 redundancy and integrity checksums. Recently various issues were found and the official wiki now states: The parity RAID code has multiple serious data-loss bugs in it. It should not be used for anything other than testing purposes.

Storage Spaces - The last contender from Microsoft, and integrated into Windows 8. Proprietary with real-time redundancy. Checksumming is not supported. It also has some other limitations.

The main factor to categorize them is when the redundancy information is updated. In real-time solutions the parity data is updated in real-time, without an explicit action from the user. Like in standard RAID. In snapshot solutions the parity data is updated only upon an explicit request from the user. Like in backups.

Other important factors are the support of an integrity checksum to identify silent data corruption and the possibility to fix it, if you can use already filled disk, if you can recover your data from not broken disks when you get too many failures to have a full recover, and if all your disks are spinning when reading one file.

SnapRAID unRAID FlexRAID ZFS Btrfs Storage Spaces Redundancy model

Real-time computes parity at real-time like RAID, snapshot at request time, like Backup. Snapshot Real-time Real-time

Snapshot Real-time

Snapshot Real-time

Snapshot Real-time Integrity

If data is validated with some kind of checksum, and which one is the default. Yes

SpookyHash

128 bit No [8] Yes

Adler32

32 bit Yes

fletcher4

256 bit Yes

CRC32C

32 bit No [9] Fix silent errors

If silent errors are detected and fixed before they can propagate into the parity. Yes No [1] No [2] Yes [3] Yes [3] No Number of failures

How many disk failures are supported? 1 is for RAID5, 2 for RAID6. 1 2 3 4 5 6 1 2 1 2 3 4 5 6+ 1 2 3 1 2 1 2 Other failures

If more disks fail than the supported redundancy model, is it possible to recover the data in the not failed disks? Yes Yes Yes No No No Power/Noise

How many disks are spinning when reading a single file? One One One All All All Filled disks

Can you start with already filled disks? Yes Partial[4] Yes No No No Add disks

Can you add disks at later time? Yes Yes Yes No[5] Yes Yes Operating system

Which OS is supported? Linux

Windows

Mac OS X

OpenIndiana

Solaris

BSD Linux Windows

Linux Linux [6]

Mac OS X

OpenIndiana

Solaris

BSD Linux Windows Age

The year of the first official release supporting at least RAID5 redundancy. 2011 2005 2008 2005 not yet stable [11] 2012 License/Price

Software license and price. Open Source GPL3

Free Open Source GPL2

89$/129$ Proprietary

40$/60$ Open Source CDDL

Free Open Source GPL2

Free Proprietary

Windows 8/10 Interface

Which interface is provided? GUI or command line? command line

or Elucidate GUI, or plugin for for OpenMediaVault command line

GUI GUI command line

GUI/Plugins [7] command line

GUI[10] GUI

Notes

[1] - unRAID doesn't have any kind of checksum, and it just ignores silent errors. Even worse, if a parity error is detected as result of a silent error in the data, the parity is automatically recomputed, making impossible to recover the silent error, even manually.

[2] - Flexraid uses checksums to validate files, but such checksums are not verified when data is read to update the parity. This means that any silent error present will propagate into the parity, making impossible to fix it later, even if it can be still detected comparing the file checksum.

You can get in a state where the "Validate" operation reports errors, but the "Verify" one reports no problem in the parity, making impossible to fix the errors.

[3] - ZFS and Btrfs provide a bit-rot protection at the same level of SnapRAID, always checking data before using it. In this regards all the three solutions represent the state-of-the-art.

A cons of ZFS is that the default Fletcher checksum is a choice that favorites speed over quality. The same for the default CRC32C used by Btrfs. The 128 bits SpookyHash used by SnapRAID is instead the state-of-the-art in checksumming quality, without compromising in speed.

Another cons of ZFS is that it lacks a fast RAID implementation in assembler. It only has a C implementation, that is from two to four times slower than SnapRAID/Btrfs.

ZFS also uses a sub-optimal RAID-Z3 algorithm, that requires double computations than the equivalent SnapRAID's z-parity.

Instead, both SnapRAID and Btrfs use top-notch assembler implementations to compute the RAID parity, always using the best known RAID algorithm and implementation.

[4] - unRAID allows to use filled disks but only if they are already formatted with the ReiserFS, XFS or Btrfs filesystems. But not ext4 or NTFS, the two most common filesystems used in Linux and Windows.

[5] - ZFS allows to add a new vdev at the pool, but not a disk to a vdev. See The 'Hidden' Cost of Using ZFS for Your Home NAS.

[6] - ZFS is also available in Linux at kernel level using ZFS on Linux.

[7] - ZFS has external GUIs, like Napp-it and plugins for FreeNAS and NAS4Free.

[8] - unRAID can have integrity checksum using a plugin like Dynamix File Integrity, Checksum Suite or bunker but they are all independent at the parity processing and not used to help the recovering process. For example, when recovering a single failed disk with double parity, the checksum can be used to identify additional silent errors, and still be able to recover.

[9] - Storage Spaces can be used with ReFS that support integrity checksum, but not in the Parity mode: "Although, you may be able to select Simple (no resiliency) or Parity, both of these options will fail the process".

[10] - Btrfs has external GUIs, like Rockstor.

[11] - Btrfs supports RAID5 from 2013, but recently some serious issues in the RAID5/6 support were found. At present they aren't fixed yet. The official wiki says: "The parity RAID code has multiple serious data-loss bugs in it. It should not be used for anything other than testing purposes".

If you think that some information reported is incorrect or simply unfair, please report it in the Forum.