Kadahaf,
Every I/O device has a small speed memory called 'cache' , basically built on semiconductor technology. The cache in these devices speed up the data processing.
In the case of HDD, the DMA controller uses to transfer data from HDD to cache, and then from cache to Main Memory[ RAM ] .This speeds up the data transfer , than directly copying from the HDD to memory. Even our processors have cache ['L1' and 'L2' cache ] for the same purposes. TO 'Speed" up the data flow rate.