Due to the integration of multiple I/O device controllers in a storage
controller and the need to provide secure and fast data transfers between
the I/O devices and the storage controller, an architecture that can
perform multiple encrypt/decrypt operations simultaneously is therefore
needed to service multiple transfer requests without a negative impact on
the speed of transfer and processing. The present invention relates to
enhancing Direct Memory Access (DMA) operations between multiple IO
devices and a storage controller by adding a Data Processing Core.
Exemplary implementations are provided to illustrate the background
mechanism used by a DMA controller that minimizes central-processing-unit
(CPU) intervention and the multi-channel architecture which allows
multiple IO requests to be serviced simultaneously.