【技术实现步骤摘要】
一种适用于网络传输的DMA传输方法及DMA控制器
本专利技术涉及DMA传输领域,特别是涉及一种适用于网络传输的DMA传输方法及DMA控制器。
技术介绍
现有技术中,在网络传输下的DMA(DirectMemoryAccess,直接存储器访问)传输包括WriteDMA和ReadDMA。请参照图1,图1为现有技术中的一种DMA传输的实现原理图。WriteDMA是指FPGA(Field-ProgrammableGateArray,现场可编程逻辑门阵列)端向主机端传输数据,ReadDMA是指主机端向FPGA端传输数据。FPGA端(即板卡端)配置有PCIE(peripheralcomponentinterconnectexpress,外设部件高速互连标准)控制器、DMA控制器及SmartNIC(NetworkInterfaceCard,网卡)。对于WriteDMA,板卡端准备好所需传输的数据后(通过SmartNIC从外部终端获取数据,并将数据存储至板卡端内存),需要告知主机端即将传输的数据在板卡端内存的存储地址及数据的大小(交互路径:DMA控制器—PCIE控制器—主机端)。然后主机端根据此信息生成描述符,随后配置板卡端寄存器以告知板卡端的DMA控制器描述符在主机端的存储地址,而后由DMA控制器将描述符搬移至板卡端内存中预留的描述符存储空间。DMA控制器在搬移完描述符后依次读取描述符存储空间中的内容,执行WriteDMA传输。等描述符存储空间中所有描述符都执行完后,DMA控制器发送中断信号至主机端。若板卡端所需传输的数据中还存在未传输的数据,需要再重新生成描述符并再次执 ...
【技术保护点】
1.一种适用于网络传输的DMA传输方法,其特征在于,应用于板卡端配置的直接存储器访问DMA控制器,包括:在Write DMA传输之前,预先将主机端预留的存储空间的地址依次写入所述板卡端配有的先进先出FIFO存储器,其中,所述主机端预留的存储空间是为存储所述板卡端的传输数据预留的空间;当准备Write DMA传输时,根据所述FIFO存储器中存储的地址和所述板卡端的传输数据的存储地址及数据大小自主生成描述符,并将所述描述符存储至所述板卡端预留的描述符存储空间,以执行Write DMA传输;在准备Read DMA传输时,根据所述主机端配置的板卡端寄存器信息,获取所述主机端根据板卡端内存空间主动生成的描述符的存储地址;按照所述主机端主动生成的描述符的存储地址,从所述主机端中将描述符搬移至所述板卡端预留的描述符存储空间,以执行Read DMA传输。
【技术特征摘要】
1.一种适用于网络传输的DMA传输方法,其特征在于,应用于板卡端配置的直接存储器访问DMA控制器,包括:在WriteDMA传输之前,预先将主机端预留的存储空间的地址依次写入所述板卡端配有的先进先出FIFO存储器,其中,所述主机端预留的存储空间是为存储所述板卡端的传输数据预留的空间;当准备WriteDMA传输时,根据所述FIFO存储器中存储的地址和所述板卡端的传输数据的存储地址及数据大小自主生成描述符,并将所述描述符存储至所述板卡端预留的描述符存储空间,以执行WriteDMA传输;在准备ReadDMA传输时,根据所述主机端配置的板卡端寄存器信息,获取所述主机端根据板卡端内存空间主动生成的描述符的存储地址;按照所述主机端主动生成的描述符的存储地址,从所述主机端中将描述符搬移至所述板卡端预留的描述符存储空间,以执行ReadDMA传输。2.如权利要求1所述的适用于网络传输的DMA传输方法,其特征在于,所述根据所述FIFO存储器中存储的地址和所述板卡端的传输数据的存储地址及数据大小自主生成描述符,并将所述描述符存储至所述板卡端预留的描述符存储空间,以执行WriteDMA传输,包括:为所述板卡端的传输数据中的网络报文依次配置传输地址,其中,所述传输地址为从所述FIFO存储器存储的地址中依次选择的地址;在为未配置的网络报文配置传输地址的同时,根据已配置的网络报文在所述板卡端的存储地址、数据大小及其对应的传输地址自主生成描述符,并将所述描述符依次存储至所述板卡端预留的描述符存储空间;在存储刚生成的描述符的同时,根据已存储的描述符执行WriteDMA传输。3.如权利要求2所述的适用于网络传输的DMA传输方法,其特征在于,该DMA传输方法还包括:预先将所述板卡端预留的描述符存储空间分为不同优先级的多组队列式存储空间;其中,优先级高的队列式存储空间中存储的描述符比优先级低的队列式存储空间中存储的描述符优先读取;则所述为所述板卡端的传输数据中的网络报文依次配置传输地址,包括:按照所述板卡端的传输数据中的网络报文的优先级,依次为所述网络报文配置传输地址;其中,优先级高的网络报文比优先级低的网络报文优先配置,且板卡端网络报文的优先级类别与所述队列式存储空间的优先级类别相同;所述将所述描述符依次存储至所述板卡端预留的描述符存储空间,包括:将所述描述符按照其对应的网络报文所属的优先级类别存储至相同类别的队列式存储空间。4.如权利要求1所述的适用于网络传输的DMA传输方法,其特征在于,所述按照所述主机端主动生成的描述符的存储地址,从所述主机端中将描述符搬移至所述板卡端预留的描述符存储空间,以执行ReadDMA传输,包括:在所述主机端配置板卡端寄存器信息的同时,按照所述主机端已主动生成的描述符的存储地址,从所述主机端中将描述符依次搬移至所述板卡端预留的描述符存储空间;在从所述主机端中搬移新生成的描述符的同时,根据已存储的描述符执行ReadDMA传输。5.如权利要求4所述的适用于网络传输的DMA传输方法,其特征在于,所述主机端主动生成的任一描述符包括:所述主机端的传输数据中一个网络报文在所述主机端的存储地址、该网络报文的数据大小,及该网络报文即将传输的所述板卡端的内存地址。6.如权利要求5所述的适用于网络传输的DMA传输方法,其特征在于,该DMA传输...
【专利技术属性】
技术研发人员:郝锐,阚宏伟,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。