Patent ID: 7546513

Claim:
A circuit for checking and recovering data from a plurality of disk drives in a disk array, comprising: a plurality of buffers for receiving and storing data, each of the buffers being coupled to a respective one of the plurality of disk drives in the disk array; a plurality of input selectors, each input selector having a plurality of inputs respectively coupled to the plurality of buffers for selectively sending the data in one of the buffers to an output of the input selector; a plurality of operation units coupled in series one after another, each operation unit being coupled to the output of at teast one of the input selectors for receiving the data sent by the input selectors, the plurality of operation units performing operations on the data to produce check data; and an output selector for receiving the check data and having a plurality of outputs respectively coupled to the plurality of buffers to select one of the buffers to send the check data to the disk drive coupled to the selected buffer; wherein when recovering the data in a disk drive to be removed, the buffers coupled to other disk drives receive and store the data or the check data, the data or the check data we sent to the coupled operation units to produce recovery data via the input selectors, and the recovery data are sent to the output selector to select the buffer coupled to the disk drive to be recovered so that the recovery data are sent to the disk drive to be recovered.