Improving disk array reliability and performance
- This graduate work has been published as open access. Learn more... - this link will open in a new window
In this work we present a new data layout and associated scheduling policies to improve RAID reliability and performance. Our implementation uses multiple mirrors, utilizing n disks in a redundancy group thus providing fault tolerance for n – 1 disk failures. As this is an extended form of RAID 1, we refer to this as RAID1nr, where n is the number of mirrors and r indicates the position of the data is rotated on each mirror. The rotated layout is such that a different [special characters omitted] of the data is located on the outer edge of each disk. The redundancy scheme is simple mirroring thus there is no added complexity introduced such as parity or other redundant encoding techniques. We then provide several scheduling policies for reads and writes that take advantage of the data layout. These policies can be set by the administrator for the desired level of performance and reliability. For example, all read requests for a particular block range may be serviced from the same disk. Writes may be scheduled to a subset of disks in order to improve performance using our immediate and eventual consistency policies. We also present load balancing policies for skewed workloads. While the RAID1nr system supports up to n – 1 mirrors, we show that even adding a single extra mirror provides the increased reliability offered by an extra copy of the data, as well as a significant performance increase for read workloads, write workloads, mixed workloads, workloads with skewed distributions, and during degraded mode operation.