It is very important to improve the read and write performance of RAID. The write performance of RAID is related to disk scheduling algorithms and destage algorithms. The read performance of RAID is associated with prefetching and caching technologies. This thesis presents a destage algorithm for fragmented writes in RAID, prefetching algorithms that resolves the fundamental problems of sequential prefetching when it confronts with striped disk arrays, and a sophisticated prefetching and buffer management algorithm that resolves five problems that are newly addressed in this thesis.
Contiguous reads and writes outperform fragmented reads and writes even though the starting positions and the end positions of the kinds of I/O are the same, fragmented reads and writes are forcefully transformed into contiguous reads and writes via a proposed matrix-stripe-cache-based contiguity transform (MSC-CT) method, which employs a rule of consistency for data integrity at the block level, and a rule of performance that ensures no performance degradation. MSC-CT performs at destage in a redundant rray of independent disks (RAID) array.
Traditional studies on disk arrays have focused on parallelism or load balance of disks. However, this thesis reveals that the independency of disks is more important than parallelism for concurrent reads of larger numbers of processes in striped disk arrays, whereas parallelism is only significant for concurrent reads of small numbers of processes. Hence, this thesis propose two types of sequential prefetching: strip-aligned sequential prefetching (SASEQP) for independency and massive stripe prefetching (MSP) for parallelism.
Conventional prefetching schemes regard prediction accuracy as important because useless data prefetched by a faulty prediction may pollute the cache. If prefetching requires considerably low read cost but the prediction is not accurate, it may or may not be beneficial depending on the situation. ...