Redundant disk arrays: Reliable, parallel secondary storage. Ph.D. Thesis

During the past decade, advances in processor and memory technology have given rise to increases in computational performance that far outstrip increases in the performance of secondary storage technology. Coupled with emerging small-disk technology, disk arrays provide the cost, volume, and capacity of current disk subsystems but, by leveraging parallelism, many times their performance. Unfortunately, arrays of small disks may have much higher failure rates than the single large disks they replace. Redundant Arrays of Inexpensive Disks (RAID) use simple redundancy schemes to provide high data reliability. This dissertation investigates the data encoding, performance, and reliability of redundant disk arrays. Organizing redundant data into a disk array is treated as a coding problem in this dissertation. Among alternatives examined, codes as simple as parity are shown to effectively correct single, self-identifying disk failures. The performance advantages of striping data across multiple disks are reviewed in this dissertation. For large transfers this parallelism reduces response time. Striping data also automatically distributes independent, small accesses across disks to increase throughput. This dissertation evaluates the performance lost to the maintenance of redundant data. This loss is negligible for large transfers but can be significant for small writes because of increases in aggregate disk service time. Because disk arrays include redundancy to protect against the high failure rates caused by large numbers of disk components, it is crucial that disk failures be characterized. This dissertation provides evidence that disk lifetimes can be modeled as exponential random variables. Building on an exponential model for disk lifetimes, this dissertation presents analytic models for disk-array lifetime, evaluates these against event-driven simulation, and applies them to an example redundant disk array. These models incorporate the effects of independent and dependent disk failures (shared support hardware) as well as the effects of on-line spare disks. For the example redundant disk array, these models show that a 10% overhead for an N + 1-parity encoding plus a 10% overhead for on-line spares can provide higher reliability than the 100% overhead of conventional mirrored disks.

[1]  Morton M. Astrahan,et al.  Logical Design of the Digital Computer for the SAGE System , 1957, IBM J. Res. Dev..

[2]  E. Kaplan,et al.  Nonparametric Estimation from Incomplete Observations , 1958 .

[3]  M. M. Astrahan,et al.  The Evolution of Computing Machines and Systems , 1962, Proceedings of the IRE.

[4]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[5]  Peter J. Denning,et al.  Effects of scheduling on file memory operations , 1899, AFIPS '67 (Spring).

[6]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[7]  Robert T. Chien,et al.  Coding for Error Control , 1969, IBM Syst. J..

[8]  Peter J. Denning,et al.  Virtual memory , 1970, CSUR.

[9]  Donald E. Knuth,et al.  An empirical study of FORTRAN programs , 1971, Softw. Pract. Exp..

[10]  Toby J. Teorey,et al.  A comparative analysis of disk scheduling policies , 1972, CACM.

[11]  E. Pugh,et al.  Storage hierarchies: Gaps, cliffs, and trends , 1971 .

[12]  David T. Brown,et al.  Channel and Direct Access Device Architecture , 1972, IBM Syst. J..

[13]  Yitzhak Dishon,et al.  Design Innovations of the IBM 3830 and 2835 Storage Control Units , 1972, IBM J. Res. Dev..

[14]  R. Chien,et al.  Error-Correcting Codes, Second Edition , 1973, IEEE Transactions on Communications.

[15]  D. A. Sprott Normal likelihoods and their relation to large sample theory of estimation , 1973 .

[16]  Lee J. Scheffier Optimal folding of a paging drum in a three level memory system , 1973, SOSP 1973.

[17]  J.P. Buzen,et al.  I/O subsystem architecture , 1975, Proceedings of the IEEE.

[18]  Krishnamurthi Kannan,et al.  The design of a mass memory for a database computer , 1978, ISCA '78.

[19]  A. Avizienis,et al.  Fault-tolerance: The survival attribute of digital systems , 1978, Proceedings of the IEEE.

[20]  Thomas Beretvas Performance Tuning in OX/VS2 MVS , 1978, IBM Syst. J..

[21]  G. Moore Are we really ready for VLSI2? , 1979, 1979 IEEE International Solid-State Circuits Conference. Digest of Technical Papers.

[22]  Marilyn Bohl,et al.  Introduction to IBM direct access storage devices , 1980 .

[23]  David R. Ditzel Special Feature Program Measurements on a High-Level Language Computer , 1980, Computer.

[24]  I. Y. Bucher,et al.  I/O performance measurement on Cray-1 and CDC 7600 computers , 1980 .

[25]  Michael Stonebraker,et al.  Operating system support for database management , 1981, CACM.

[26]  Anneliese Amschler Andrews,et al.  BEST/1 Analysis of the IBM 3880-13 Cached Storage Controller , 1982, Int. CMG Conference.

[27]  A. M. Patel Error and failure-control proceedure for a large-size bubble memory , 1982 .

[28]  Kishor S. Trivedi,et al.  Optimal Design of Multilevel Storage Hierarchies , 1982, IEEE Transactions on Computers.

[29]  E. J. Weldon,et al.  High Speed Interleaved Reed-Solomon Error Detection and Correction System , 1983, Other Conferences.

[30]  I. Dal Allan The role of the intelligent peripheral interface in systems architecture , 1983, AFIPS '83.

[31]  Michael Stonebraker,et al.  A measure of transaction processing power , 1985 .

[32]  Carol P. Grossman,et al.  Cache-DASD Storage Design for Improving System Performance , 1985, IBM Syst. J..

[33]  C. G. Bell Multis: A New Class of Multiprocessor Computers , 1985, Science.

[34]  Gilbert E. Houtekamer The Local Disk Controller , 1985, SIGMETRICS.

[35]  A.Y.C. Yu,et al.  Microprocessor technology trends , 1986, Proceedings of the IEEE.

[36]  H. T. Kung Memory requirements for balanced computer architectures , 1986, ISCA '86.

[37]  James R. Larus,et al.  Evaluation of the SPUR Lisp architecture , 1986, ISCA '86.

[38]  Willy Zwaenepoel,et al.  File access performance of diskless workstations , 1986, TOCS.

[39]  Michelle Y. Kim,et al.  Synchronized Disk Interleaving , 1986, IEEE Transactions on Computers.

[40]  David J. Kuck,et al.  On Input/Output Speedup in Tightly Coupled Multiprocessors , 1986, IEEE Transactions on Computers.

[41]  Stephen Goldstein,et al.  Storage Performance - An Eight Year Outlook , 1987, Int. CMG Conference.

[42]  M. Y. L. Kim Synchronously interleaved disk systems with their application to the very large FFT , 1987 .

[43]  Robert Geist,et al.  A continuum of disk scheduling algorithms , 1987, TOCS.

[44]  Garth A. Gibson Estimating Performance of Single Bus, Shared Memory Multiprocessors , 1987 .

[45]  Alan Jay Smith,et al.  Aspects of cache memory and instruction buffer performance , 1987 .

[46]  Kishor S. Trivedi,et al.  Reliability Modeling Using SHARPE , 1987, IEEE Transactions on Reliability.

[47]  Jeffrey P. Buzen,et al.  A unified operational treatment of RPS reconnect delays , 1987, SIGMETRICS '87.

[48]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[49]  Irving S. Reed,et al.  On the VLSI Design of a Pipeline Reed-Solomon Decoder Using Systolic Arrays , 1988, IEEE Trans. Computers.

[50]  Ting-Ting Yao Lin Design and evaluation of an on-line predictive diagnostic system , 1988 .

[51]  David A. Wood,et al.  SPUR Memory System Architecture , 1988 .

[52]  Benjamin Arazi,et al.  A commonsense approach to the theory of error correcting codes , 1988, MIT Press Series in Computer Systems.

[53]  Eiji Fujiwara,et al.  Error-control coding for computer systems , 1989 .

[54]  Randy H. Katz,et al.  A VLSI chip set for a multiprocessor workstation. II. A memory management unit and cache controller , 1989 .

[55]  Randy H. Katz,et al.  How reliable is a RAID? , 1989, Digest of Papers. COMPCON Spring 89. Thirty-Fourth IEEE Computer Society International Conference: Intellectual Leverage.

[56]  H. T. Kung,et al.  The design of nectar: a network backplane for heterogeneous multicomputers , 1989, ASPLOS III.

[57]  Jack P. Gelb An Overview of System-Managed Storage , 1989, Comput. Meas. Group Trans..

[58]  Herman H. Goldstine,et al.  Preliminary discussion of the logical design of an electronic computing instrument (1946) , 1989 .

[59]  J. Warlaumont X‐ray lithography: On the path to manufacturing , 1989 .

[60]  Gordon Bell,et al.  The future of high performance computers in science and engineering , 1989, CACM.

[61]  Lawrence S. Kroll Mathematica--A System for Doing Mathematics by Computer. , 1989 .

[62]  Randy H. Katz,et al.  Simulation analysis of data-sharing in shared memory multiprocessors , 1989 .

[63]  Ronald W. Wolff,et al.  Stochastic Modeling and the Theory of Queues , 1989 .

[64]  A. L. Narasimha Reddy,et al.  An Evaluation of Multiple-Disk I/O Systems , 1989, IEEE Trans. Computers.

[65]  Randy H. Katz,et al.  Disk system architectures for high performance computing , 1989, Proc. IEEE.

[66]  Mark H. Kryder,et al.  Data storage in 2000-trends in data storage technologies , 1989 .

[67]  Daniel P. Siewiorek,et al.  Error log analysis: statistical modeling and heuristic trend analysis , 1990 .

[68]  John C. S. Lui,et al.  Performance Analysis of Disk Arrays under Failure , 1990, VLDB.

[69]  Ann L. Chervenak,et al.  Performance Measurements of the First RAID Prototype , 1990 .

[70]  Jim Gray,et al.  Parity Striping of Disk Arrays: Low-Cost Reliable Storage with Acceptable Throughput , 1990, VLDB.

[71]  R. Wood Magnetic megabits , 1990, IEEE Spectrum.

[72]  Edward K. Lee Software and Performance Issues in the Implementation of a RAID Prototype , 1990 .

[73]  Kishor S. Trivedi,et al.  Reliability estimation of fault-tolerant systems: tools and techniques , 1990, Computer.

[74]  David A. Patterson,et al.  Maximizing performance in a striped disk array , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[75]  Richard P. King,et al.  Disk arm movement in anticipation of future requests , 1990, TOCS.

[76]  Randy H. Katz,et al.  An evaluation of redundant arrays of disks using an Amdahl 5890 , 1990, SIGMETRICS '90.

[77]  Michael Stonebraker,et al.  The Implementation of Postgres , 1990, IEEE Trans. Knowl. Data Eng..

[78]  Randy H. Katz,et al.  Performance consequences of parity placement in disk arrays , 1991, ASPLOS IV.

[79]  J. Menon,et al.  Methods for improved update performance of disk arrays , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.