A redundant array of independent disks (RAID) system comprises N storage
arrays. Each of the N storage arrays comprise a target processing module
and 1 to M hard disk drives, where M and N are integers greater than 1. A
data processing module assigns a first data storage request for a first
data block to one of the target processing modules for processing of
error checking and correcting (ECC) data for the first data block. The
one of the target processing modules sends a first portion of the first
data block and ECC data associated with the first data block to another
of the target processing modules.