The first copy (see Figure 1) is performed by the directmemoryaccess (DMA) engine, which reads file contents from the disk and stores them into a kernel address space buffer.
The ECC controller transmits the data to a directmemoryaccess (DMA) buffer for transfer to the host device, and to an ECC block for error detection and correction of the data.