1. In a DMA controller of a RAID storage controller in a RAID storage subsystem, a method to compute parity comprising the steps of: transferring a data portion of a stripe from a host system to a RAID storage subsystem through said DMA controller from a random access source memory to a destination memory, wherein said data portion of said stripe is comprised of a plurality of data blocks wherein each of said plurality of data blocks is comprised of a plurality of data segments, and wherein said plurality of data segments are stored in said source memory in a first predetermined order and wherein said data segments are transferred to said destination memory in a second predetermined order different from said first predetermined order; and computing, within said DMA controller, a plurality of XOR parity segments corresponding to said plurality of data segments, wherein the step of transferring a data portion of a stripe further comprises the steps of: a) transferring a first data segment of said plurality of data segments of a data block of said plurality of data blocks of said stripe; b) transferring a corresponding data segment of said plurality of data segments of a next data block of said plurality of data blocks; c) storing XOR parity generated by said computing step in a buffer; d) repeating steps b) and c) for each data block of said stripe until each corresponding data segment of each block of said plurality of data blocks of said stripe have been transferred; and e) repeating steps a) through d) for a next data segment of said plurality of data segments in each of said plurality of blocks in said data portion of said stripe until all of said plurality of data segments have been transferred, and wherein the computing step is performed substantially simultaneously with said step of transferring.