RAIDs implemented in disk controllers are called hardware RAIDs. A software RAID, on the other hand, is implemented purely in software running on a host computer. In this paper, we describe algorithms that can be used by software RAIDs. We present one algorithm (parallel algorithm) for achieving fastest possible RAID update response time; we present one algorithm (PGS bit map algorithm) for improved recovery times; we present one algorithm for improved update concurrency; and we present four algorithms (Parity Caching, Delta Parity Caching, Delta Parity and Partial Parity Caching, and Data Prefetching) for improved sequential performance. Many of our algorithms are also appropriate for low-cost hardware RAIDs.
[1]
Jai Menon,et al.
The Architecture Of A Fault-tolerant Cached RAID Controller
,
1993,
Proceedings of the 20th Annual International Symposium on Computer Architecture.
[2]
Daniel Stodolsky,et al.
Parity logging overcoming the small write problem in redundant disk arrays
,
1993,
ISCA '93.
[3]
Edward K. Lee.
Software and Performance Issues in the Implementation of a RAID Prototype
,
1990
.
[4]
Garth A. Gibson,et al.
RAID: high-performance, reliable secondary storage
,
1994,
CSUR.
[5]
Jai Menon,et al.
Floating Parity and Data Disk Arrays
,
1993,
J. Parallel Distributed Comput..