ACM Computing Surveys, Vol. 26, No. 2, June 1994, pp. 145-185.
Peter M. Chen Computer Science and Engineering Division Dept of EE and CS University of Michigan Ann Arbor, MI 48109-2122 |
Edward K. Lee DEC Systems Research Center 130 Lytton Avenue Palo Alto, CA 94301-1044 |
Garth A. Gibson School of Computer Science Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3891 |
Randy H. Katz Computer Science Division Dept of EE and CS University of California Berkeley, CA 94720 |
David A. Patterson |
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 includes an annotated bibliography of disk array-related literature.
CONTENT INDICATORS: (Computing Reviews Classification) B.4.2
and B.4.5 [Input/Output and Data Communications]: Input/Output Devices;
Reliability, Testing, and Fault-Tolerance; D.4.2 [Operating Systems]:
Storage Management; E.4 [Coding and Information Theory].
KEYWORDS: disk array, RAID, parallel I/O, storage, striping,
redundancy
FULL PAPER: pdf / postscript