Patent ID: 7861035

Claim:
A method of improving Input/Output (I/O) performance of a Redundant Array of Independent Disk (RAID) system using a Matrix Stripe Cache (MSC), the method comprising: a first step of generating a basic rxw-matrix, which presents all of reads, XOR operations, and writes that are required to destage a stripe cache, which is selected to be destaged to disks, in an MSC unit that will perform writing on disks; a second step of performing a contiguity transform for the basic rxw-matrix in order to generate a transformed rxw-matrix, which contains final reads, XOR operations, and writes that are required to destage the selected MSC unit, wherein the contiguity transform of the second stepl comprises: a read contiguity transform and a write contiguity transform, wherein the read contiguity transform precedes the write contiguity transform, and wherein, for each column of the basic rxw-matrix, a read contiguity transform comprises reading the unnecessary region between two need to be read areas and inserting unnecessary read operations into a discontiguous region between two discontiguous elements, where both of which include a read operation and are located in the same column, and there exists no element between them in the rxw-matrix that includes a read operation, wherein, for each column of the basic rxw-matrix, a write contiguity transform comprises writing the unnecessary region between two need to be written areas and inserting unnecessary write operations into the discontiguous region between two discontiguous elements, where both of which include a write operation and are located in the same column, and there exists no element between them in the rxw-matrix that includes a write operation; and a third step of performing reads based on the transformed rxw-matrix generated at the second step, performing XOR operations based on the transformed rxw-matrix, and performing writes based on the transformed rxw-matrix.