Patent ID: 7356757

Claim:
A fault tolerance system for one or two failed disks in a disk array, comprising: a disk array comprising n disks, each of which is logically divided into multiple blocks, wherein each of the blocks comprises a plurality of data blocks, x first parity blocks, and x+1 second parity blocks; a processor, which is connected to the disk array through a bus, and which comprises: a modulus operation unit for performing a modulus operation on an operand; a shift operation unit for performing shift operation on the blocks of the disk array; and an address conversion unit for converting a logic address into a physical address; and an exclusive-or (XOR) unit for performing XOR operations on blocks of the disk array when generating the first/second parity blocks, or reconstructing failed data blocks; wherein the processor is configured for reading selective data blocks from nâˆ’2 disks, computing the x first parity blocks according to the selective data blocks by means of a first computing rule and the x+1 second parity blocks according to the selective data blocks by means of a second computing rule, assigning the first parity blocks into one of the n disks and the second parity blocks into another one of the n disks, and reconstructing the failed data blocks in at most two disks in case of failure of the at most two disks according to the first parity blocks and the second parity blocks.