关于DMA xfer

 最近遇到一个问题,Trim CMD 的 DMA xfer 沒有done 。那什么是DMA xfer 呢?

 

DMA:Direct memory access controller,直接存储器存储。DMA可以实现数据在外设与存储器、存储器与存储器之间的快速转换,且不需要CPU的干预,这样就可以释放CPU的资源,让CPU干其他的事情,提高效率。有的STM32芯片有两个DMA,有的就只有一个DMA,这个要查具体的芯片手册。

 

 xfer就是转移,移交的意思。记录一下。 

 

IO CMD IN

nvme_cmd idx:9 free:59

reqs [0x83f48] id:[4] free:[59] min-free[59] nvme_cmd[59]

NvmeCmd_IO : [9] 

NvmeCmd_Trim  nr:1 att:4

MEM_ALLOC -  nvmet_alloc_admin_res 

CPU[1] SZ[0x8] align[4] FreeADR[0x201fee10] AllocADR[0x201fee10] Wasted[0] 

get Dtags(0x1f3): mem(0x201f3000) cnt(4) 

get Dtags(0x1f4): mem(0x201f4000) cnt(3) 

MEM_ALLOC -  nvmet_map_admin_prp_check 

CPU[1] SZ[0x20] align[4] FreeADR[0x201fee28] AllocADR[0x201fee28] Wasted[0] 

NVME_P0 2

/***** CC.EN 0 *****/

FdIORunning: 0x1 BdIORunning: 0x0

 

上一篇:RDMA


下一篇:STM32H743中的DCMI无法进入行中断和场中断问题