What is RAID 6?
RAID 6 is a redundant array of independent disks configuration that uses double parity to tolerate up to two simultaneous disk failures, commonly deployed in large storage arrays.
RAID 6 is a disk array redundancy scheme that provides fault tolerance for up to two concurrent disk failures by computing two independent parity blocks per stripe. Unlike RAID 5, which uses a single parity block, RAID 6 writes two parity blocks, each calculated using different algorithms (e.g., XOR plus Reed-Solomon or P+Q parity). This allows the array to survive any two drive failures without data loss, making it suitable for environments with large numbers of disks where the probability of a second failure during rebuild is non-trivial.
In operation, each write to the array requires updating both parity blocks, incurring additional I/O overhead. RAID 6 reads are comparable to RAID 5, but writes are slower due to the extra parity computation. The logical capacity of a RAID 6 array is (N-2) times the smallest disk size, where N is the number of drives. Rebuild times are longer than RAID 5 because of the parity calculations, but the array remains available even during a dual-drive failure scenario.
RAID 6 sits above RAID 5 in fault tolerance but below RAID 10 in write performance. It is commonly used in network-attached storage (NAS) and storage area networks (SAN) with large disk counts, where the trade-off of higher write overhead is acceptable for increased protection against drive failures.
Key facts
- Requires at least 4 disks and uses double parity for redundancy.
- Tolerates two simultaneous disk failures without data loss.
- Write performance is lower than RAID 5 due to dual parity calculations.
- Storage efficiency is equivalent to N-2 disks, losing two disks to parity.
- Commonly implemented using Reed-Solomon codes or diagonal XOR parity.
How it works in practice
Related terms
References
More in Storage
Block Storage
Block storage is a storage architecture that presents raw fixed-size chunks (blocks) to a computer, which the operating system partitions and formats before use, commonly used for virtual machine disks and database volumes.
Cold Storage
Cold storage is a low-cost, slow-retrieval data tier for infrequently accessed information, such as backups, archives, or compliance records, with retrieval times ranging from minutes to hours.
Erasure Coding
Erasure coding is a data protection method that splits data into fragments (shards) and adds parity, allowing reconstruction from a subset of fragments; it is commonly used in cloud object storage to tolerate failures efficiently.
Fibre Channel
Fibre Channel is a high-speed networking standard primarily used to connect storage devices in storage area networks, operating as a dedicated protocol stack separate from Ethernet.
File Storage
File storage exposes data as a hierarchical filesystem over network protocols like NFS and SMB, commonly delivered via network-attached storage (NAS) appliances for shared access.
Hot Storage
Hot storage is the default high-performance tier in object storage systems, optimized for low-latency access to frequently retrieved data.
iSCSI
iSCSI is a storage protocol that encapsulates SCSI block-level commands over TCP/IP, enabling servers to access remote disks as if they were locally attached.
NFS
NFS (Network File System) is a distributed file system protocol originally developed by Sun Microsystems that allows a client to access files over a network as if they were local. It is widely used in Unix and Linux environments and runs over IP networks.
Object Storage
Object storage is a flat data storage architecture that manages data as immutable objects, each with a unique identifier, metadata, and API access over HTTP. It is the model behind Amazon S3 and similar cloud storage services.
RAID
RAID (Redundant Array of Independent Disks) combines multiple physical disk drives into a single logical unit to improve performance, fault tolerance, or both, using techniques like striping, mirroring, and parity.