The Berkeley RAID Paper: Naming Redundant Disk Arrays Without Inventing Every Technique
What the 1988 Patterson-Gibson-Katz RAID paper actually proposed, how its levels organized tradeoffs, which ideas predated it, and why naming mattered.
In 1988, David Patterson, Garth Gibson, and Randy Katz published “A Case for Redundant Arrays of Inexpensive Disks (RAID)” at ACM SIGMOD. The paper argued that arrays of smaller disks could outperform large expensive disks and that redundancy could address the reliability penalty of having many devices. Its lasting contribution was a framework of RAID levels and an economic/performance case—not the invention of mirroring, striping, parity, or every array technique from first principles.
The technology trend created an opportunity
The authors compared large mainframe-class disks with rapidly improving smaller disks used in personal computers and workstations. Many small disks could offer aggregate bandwidth, capacity, and cost advantages. Operating them in parallel, however, meant more components and therefore more frequent device failures at the array level.
Redundancy could restore useful reliability, but its placement changed performance and capacity. The paper organized designs into RAID levels 1 through 5 and contrasted them with a nonredundant striped array that later industry usage commonly calls RAID 0. The original acronym’s “inexpensive” later became “independent” in common standards and marketing as product categories changed.
RAID 1 mirrored data. RAID 2 used bit-level striping with Hamming-code-style error correction. RAID 3 used byte-level striping with a dedicated parity disk. RAID 4 used block-level striping with a dedicated parity disk. RAID 5 distributed parity blocks across disks to avoid one fixed parity device becoming the central bottleneck.
These levels were analytical categories, not a claim that all would be equally practical. Workload unit, request size, read/write ratio, controller behavior, reconstruction, and disk independence affected results. RAID 2 and 3 became uncommon in general-purpose products, while mirrored, block-striped parity, and later dual-parity schemes dominated.
The small-write penalty was explicit
Updating one data block in a parity array can require reading old data and parity, calculating changes, and writing new data and parity—a read-modify-write cycle. Full-stripe writes can calculate parity from all new data and avoid some reads. The paper analyzed how level choice affected small writes and large transfers rather than presenting parity as free capacity.
The model assumed device and controller characteristics of its era. Later caches, nonvolatile write buffers, SSDs, erasure codes, zoned storage, and distributed systems change constants and failure modes, but not the need to state the failure unit and update consistency protocol.
Prior systems matter to the credit story
Mirrored disks and data striping existed before 1988, and IBM’s Norman Ken Ouchi patented a system for recovering data stored in failed memory units in the late 1970s. Tandem and other fault-tolerant systems used redundant storage. The Berkeley authors synthesized and compared array organizations, coined a memorable taxonomy/acronym, and published a case that helped define a market.
That taxonomy also accumulated meanings the paper did not define. RAID 6 (dual distributed parity) and nested labels such as RAID 10 came later; vendor “RAID 5” implementations can differ in layout, metadata, consistency, and failure handling.
Redundancy was never backup
RAID maintains availability through specified device failures. It does not inherently protect against deletion, ransomware, controller bugs, fire, theft, correlated media defects, or an application writing corrupt data. Rebuild exposes the array to added load and another failure, and parity does not authenticate content.
The paper’s durable lesson is to quantify the array as a system: cost, bandwidth, I/O size, redundant capacity, failure rate, and recovery. Its historical achievement was giving researchers and vendors a common map of tradeoffs, which was more influential than claiming ownership of every road on that map.
Related:
- Java 1.0 Ships: Sun Takes a Portable Virtual Machine onto the Early Web
- The Integrated Circuit: How Kilby and Noyce Solved Different Parts of the Same Problem
Sources: