Abstract: Disk arrays were proposed in the 1980s as a way to use parallelism between multiple disks to improve aggregate I/O performance. Today they appear in the product lines of most major computer manufacturers. This paper gives a comprehensive overview of disk arrays and provides a framework in which to organize current and future work. The paper first introduces disk technology and reviews the driving forces that have popularized disk arrays: performance and reliability. It then discusses the two architectural techniques used in disk arrays: striping across multiple disks to improve performance and redundancy to improve reliability. Next, the paper describes seven disk array architectures, called RAID (Redundant Arrays of Inexpensive Disks) levels 0-6 and compares their performance, cost, and reliability. It goes on to discuss advanced research and implementation topics such as refining the basic RAID levels to improve performance and designing algorithms to maintain data consistency. Last, the paper describes six disk array prototypes or products and discusses future opportunities for research. The paper
|
3148
|
Computer architecture: a quantitative approach
– Hennessy, Patterson
- 1990
|
|
656
|
The design and implementation of a log-structured file system
– Rosenblum, Ousterhout
- 1992
|
|
550
|
The case for redundant arrays of inexpensive disks (RAID
– Patterson, Gibson, et al.
- 1988
|
|
269
|
Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities
– Amdahl
- 1967
|
|
245
|
Computer Organization and Design: The Hardware/Software Interface
– Hennessy, Patterson
- 1998
|
|
194
|
Disk scheduling revisited
– Seltzer, Chen, et al.
- 1990
|
|
170
|
Disk Striping
– Salem, H
- 1986
|
|
136
|
Synchronized disk interleaving
– Kim
- 1986
|
|
132
|
Maximizing performance in a striped disk array
– Chen, Patterson
- 1990
|
|
131
|
Disk Shadowing
– Bitton, Gray
- 1988
|
|
124
|
Redundant Disk Arrays: Reliable, Parallel Secondary Storage
– Gibson
- 1992
|
|
116
|
Multi-Disk Management Algorithms
– Livny, Khoshafian, et al.
- 1987
|
|
101
|
Performance Analysis of Disk Arrays Under Failure
– Muntz, Lui
- 1990
|
|
94
|
Parity declustering for continuous operation in redundant disk arrays
– Holland, Gibson
- 1992
|
|
91
|
Chained declustering: a new availability strategy for multiprocessor database machines
– Hsiao, DeWitt
- 1990
|
|
89
|
Data Placement in Bubba
– Copeland
- 1988
|
|
82
|
The TickerTAIP Parallel RAID Architecture
– Cao, Lim, et al.
- 1993
|
|
69
|
Detection and Exploitation of File Working Sets
– Tait, Duchamp
- 1991
|
|
68
|
Parity Striping of Disc Arrays: Low-Cost Reliable Storage with Acceptable Throughput
– Gray, Horst, et al.
- 1990
|
|
68
|
An Analytic Performance Model for Disk Arrays
– Lee, Katz
- 1993
|
|
58
|
Disk array storage system reliability
– Burkhard, Menon
- 1993
|
|
54
|
An evaluation of redundant arrays of disks using an Amdahl 5890
– Chen, Gibson, et al.
- 1990
|
|
54
|
Practical Prefetching Techniques for Parallel File Systems
– Kotz, Ellis
|
|
52
|
Parity logging overcoming the small write problem in redundant disk arrays
– Stodolsky, Gibson, et al.
- 1993
|
|
51
|
Performance Consequences of Parity Placement in Disk Arrays
– Lee, Katz
- 1991
|
|
50
|
sfs: A parallel file system for the CM-5
– LoVerso, Isman, et al.
- 1993
|
|
48
|
A Status Report on Research in Transparent Informed Prefetching
– Patterson, Gibson, et al.
- 1993
|
|
43
|
RAID-II: A high-bandwidth network file server
– Drapeau
- 1994
|
|
43
|
The architecture of a fault-tolerant cached RAID controller
– Menon, Cortney
|
|
40
|
Distorted mirrors
– Orji, Solworth
- 1993
|
|
35
|
Approximate analysis of fork/join synchronization in parallel queues
– Nelson, Tantawi
- 1988
|
|
34
|
How reliable is a RAID
– Schulze, Gibson, et al.
- 1989
|
|
32
|
Striping in a RAID Level 5 Disk Array
– Chen, Lee
- 1995
|
|
30
|
Intelligent caching for remote file service
– Korner
- 1990
|
|
29
|
Queueing network models for parallel processing with asynchronous tasks
– Heidelberger, Trivedi
- 1982
|
|
27
|
Design and Modeling of Clustered RAID
– Merchant, Yu
- 1992
|
|
27
|
ErrorCorrecting Codes, Second Edition
– Peterson, Weldon
- 1972
|
|
26
|
Asynchronous disk interleaving: Approximating access delays
– Kim, Tantawi
- 1991
|
|
26
|
Floating Parity and Data Disk Arrays
– Menon, Roche, et al.
- 1993
|
|
25
|
Error Correcting Codes, 2nd Ed
– Peterson, Weldon
- 1972
|
|
24
|
Two parallel queues created by arrivals with two demands I
– FLATTO, HAHN
- 1984
|
|
20
|
Performance of a disk array prototype
– Chervenak, Katz
- 1991
|
|
18
|
Maintaining Good Performance in Disk Arrays During Failure Via Uniform Parity Group Distribution
– Ng, Mattson
- 1992
|
|
14
|
On-Line Failure Recovery in Redundant Disk Arrays
– Fast
- 1993
|
|
13
|
High Performance Network and Channel-Based Storage
– Katz
- 1991
|
|
13
|
RAID-II: Design and implementation of a large scale disk array controller
– Katz, Chen, et al.
|
|
12
|
Two Parallel Queues Created by Arrivals with Two Demands
– Baccelli
- 1985
|
|
12
|
A Queueing Analysis of RAID Architectures
– Chen, Towsley
- 1991
|
|
12
|
Automatic Tuning of Data Placement and Load Balancing in Disk Arrays. Database Systems for NextGeneration Applications: Principles and Practice
– Scheuermann, Weikum, et al.
- 1991
|
|
12
|
Tuning of Striping Units in Disk-Array-Based File Systems
– Weikum, Zabback
- 1992
|