|
TABLE OF CONTENTS
RAID: High-Performance, Reliable Secondary Storage 1 INTRODUCTION 2 BACKGROUND 2.1 Disk Terminology 2.2 Data Paths 2.3 Technology Trends 3 DISK ARRAY BASICS 3.1 Data Striping and Redundancy 3.2 Basic RAID Organizations 3.2.1 Non-Redundant (RAID Level 0) 3.2.2 Mirrored (RAID Level 1) 3.2.3 Memory-Style ECC (RAID Level 2) 3.2.4 Bit-Interleaved Parity (RAID Level 3) 3.2.5 Block-Interleaved Parity (RAID Level 4) 3.2.6 Block-Interleaved Distributed-Parity (RAID Level 5) 3.2.7 P+Q Redundancy (RAID Level 6) 3.3 Performance and Cost Comparisons 3.3.1 Ground Rules and Observations 3.3.2 Comparisons 3.4 Reliability 3.4.1 Basic Reliability 3.4.2 System Crashes and Parity Inconsistency 3.4.3 Uncorrectable Bit-Errors 3.4.4 Correlated Disk Failures 3.4.5 Reliability Revisited 3.4.6 Summary and Conclusions 3.5 Implementation Considerations 3.5.1 Avoiding Stale Data 3.5.2 Regenerating Parity after a System Crash 3.5.3 Operating with a Failed Disk 3.5.4 Orthogonal RAID 4 ADVANCED TOPICS 4.1 Improving Small Write Performance for RAID Level 5 4.1.1 Buffering and Caching 4.1.2 Floating Parity 4.1.3 Parity Logging 4.2 Declustered Parity 4.3 Exploiting On-Line Spare Disks 4.4 Data Striping in Disk Arrays 4.5 Performance and Reliability Modeling 5 CASE STUDIES 5.1 Thinking Machines Corporation ScaleArray 5.2 StorageTek Iceberg 9200 Disk Array Subsystem 5.3 NCR 6298 5.4 TickerTAIP/DataMesh 5.5 The RAID-II Storage Server 5.6 IBM Hagar Disk Array Controller 6 OPPORTUNITIES FOR FUTURE RESEARCH 6.1 Experience with Disk Arrays 6.2 Interaction among New Organizations 6.3 Scalability, Massively Parallel Computers, and Small Disks 6.4 Latency 7 CONCLUSIONS 8 ACKNOWLEDGEMENTS 9 ANNOTATED BIBLIOGRAPHY |