DMA传输方法和装置与流程

    专利查询2026-04-05  6


    本申请涉及计算机,尤其涉及一种dma传输方法和装置。


    背景技术:

    1、dma(direct memory access,直接存储器访问)传输方式为传统块式或者单链式。每次dma请求可以传送一组信息,即一组连续的数据。这种方式适用于需要连续传输大量数据的情况,可以保证在规定长度的字节数传送完毕后才释放总线控制权。

    2、现有的dma传输方式无法有效利用srio(serial rapidio,高速串行io口)传输通路的带宽。


    技术实现思路

    1、为了解决上述技术缺陷之一,本申请提供了一种dma传输方法和装置。

    2、本申请第一个方面,提供了一种dma传输方法,该方法包括:

    3、初始化srio链路;

    4、与对端建立srio通信链路;

    5、与对端建立映射地址相同的内存窗口映射;

    6、在映射地址中分配发送环形缓冲区;其中,发送环形缓冲区的地址与对端发送环形缓冲区的地址相同;

    7、打开srio控制器的链式dma发送完成中断;其中,srio控制器具有多个dma传输通道;

    8、打开srio控制器的链式dma发送控制器完成中断;

    9、根据预先配置分配多个空的dma描述;

    10、根据下发数据分配dma通道;

    11、根据下发数据计算描述符的数量;

    12、根据数量,确定描述符是否充足;

    13、若描述符充足,则根据描述符下发该下发数据。

    14、可选地,初始化srio链路,包括:

    15、srio控制器上电;

    16、配置srio时钟、srio速率、srio lane;

    17、使能接收io,使能发送io,使能dma传输控制器;

    18、初始化发送链路。

    19、可选地,与对端建立srio通信链路,包括:

    20、检测对端发送链路是否初始化完成并正常建立;

    21、待对端正常建立发送链路后,初始化接收链路;

    22、与对端进行链路同步对齐锁定。

    23、可选地,根据描述符下发该下发数据,包括:

    24、进行描述符填充;

    25、将下发数据写入doorbell信息当中;

    26、把描述符置为有效描述;

    27、在下发数据发送完成后,给自身发送发送完成中断,给对端发送doorbell中断,其中,doorbell中断中携带本次发送信息。

    28、可选地,确定描述符是否充足之后,还包括:

    29、若描述符不充足,则打开dma自检模块,查看dma状态是否正常;

    30、若dma状态正常,则等待描述符充足后,执行根据描述符下发该下发数据的步骤;

    31、若dma状态异常,则进入dma模块恢复流程,如果恢复正常,则执行根据下发数据计算描述符的数量的步骤及后续步骤;如果无法恢复正常,则进行异常上报。

    32、可选地,根据描述符下发该下发数据之后,还包括:

    33、如果在预设时长内接收到发送完成中断,则进行发送完成描述的回收;

    34、如果在预设时长内未接收到发送完成中断,则执行如下步骤:

    35、检查链路;

    36、若链路异常,则进行链路恢复,若链路无法恢复,则进行异常上报;

    37、若链路正常,或者,链路异常但链路恢复,则恢复dma传输;若dma传输无法恢复,则进行异常上报;若dma传输恢复,则向对端发送链路恢复请求,待与对端再次链路同步后,重复执行根据下发数据分配dma通道的步骤及后续步骤。

    38、可选地,在映射地址中分配发送环形缓冲区之后,还包括:

    39、打开doorbell的中断;

    40、接收doorbell信息;

    41、解析doorbell信息;

    42、将解析到的数据存入接收数据队列。

    43、可选地,该方法,还包括:

    44、若收到链路恢复请求,则进行链路恢复,如果链路恢复成功,则重复执初始化srio链路的步骤及后续步骤,如果链路恢复不成功,则进行异常上报。

    45、可选地,方法涉及的高性能微处理器板卡为一个;高性能微处理器板卡包括4片高性能微处理器;高性能微处理器之间,依次通过srio总线连接;

    46、或者,方法涉及的高性能微处理器板卡为两个;高性能微处理器板卡之间通过srio交换机互联;每个高性能微处理器板卡均包括链路同步模块、链路恢复模块、dma传输管理模块、dma传输恢复模块;两个高性能微处理器板卡中的链路同步模块互联、链路恢复模块互联、dma传输管理模块互联、dma传输恢复模块互联。

    47、本申请第二个方面,提供了一种dma传输装置,该装置涉及一个高性能微处理器板卡;高性能微处理器板卡包括4片高性能微处理器;高性能微处理器之间,依次通过srio总线连接;

    48、或者,装置涉及两个高性能微处理器板卡;高性能微处理器板卡之间通过srio交换机互联;每个高性能微处理器板卡均包括链路同步模块、链路恢复模块、dma传输管理模块、dma传输恢复模块;两个高性能微处理器板卡中的链路同步模块互联、链路恢复模块互联、dma传输管理模块互联、dma传输恢复模块互联;

    49、装置执行如上述第一个方面所述的方法。

    50、本申请提供一种dma传输方法和装置,所述方法包括:初始化srio链路;与对端建立srio通信链路;与对端建立映射地址相同的内存窗口映射;在映射地址中分配发送环形缓冲区;其中,发送环形缓冲区的地址与对端发送环形缓冲区的地址相同;打开srio控制器的链式dma发送完成中断;其中,srio控制器具有多个dma传输通道;打开srio控制器的链式dma发送控制器完成中断;根据预先配置分配多个空的dma描述;根据下发数据分配dma通道;根据下发数据计算描述符的数量;根据数量,确定描述符是否充足;若描述符充足,则根据描述符下发该下发数据。本申请提供的方法可以实现多dma传输通道的数据传输,有效利用srio传输通路的带宽。



    技术特征:

    1.一种dma传输方法,其特征在于,所述方法包括:

    2.根据权利要求1所述的方法,其特征在于,所述初始化srio链路,包括:

    3.根据权利要求1所述的方法,其特征在于,所述与对端建立srio通信链路,包括:

    4.根据权利要求1所述的方法,其特征在于,所述根据描述符下发所述下发数据,包括:

    5.根据权利要求1所述的方法,其特征在于,所述确定描述符是否充足之后,还包括:

    6.根据权利要求1所述的方法,其特征在于,所述根据描述符下发所述下发数据之后,还包括:

    7.根据权利要求1所述的方法,其特征在于,所述在映射地址中分配发送环形缓冲区之后,还包括:

    8.根据权利要求7所述的方法,其特征在于,所述方法,还包括:

    9.根据权利要求1所述的方法,其特征在于,所述方法涉及的高性能微处理器板卡为一个;所述高性能微处理器板卡包括4片高性能微处理器;高性能微处理器之间,依次通过srio总线连接;

    10.一种dma传输装置,其特征在于,所述装置涉及一个高性能微处理器板卡;所述高性能微处理器板卡包括4片高性能微处理器;高性能微处理器之间,依次通过srio总线连接;


    技术总结
    本申请提供一种DMA传输方法和装置,所述方法包括:初始化SRIO链路;与对端建立SRIO通信链路;与对端建立映射地址相同的内存窗口映射;在映射地址中分配发送环形缓冲区;打开SRIO控制器的链式DMA发送完成中断;其中,SRIO控制器具有多个DMA传输通道;打开SRIO控制器的链式DMA发送控制器完成中断;根据预先配置分配多个空的DMA描述;根据下发数据分配DMA通道;根据下发数据计算描述符的数量;根据数量,确定描述符是否充足;若描述符充足,则根据描述符下发该下发数据。本申请提供的方法可以实现多DMA传输通道的数据传输,有效利用SRIO传输通路的带宽。

    技术研发人员:刘飞
    受保护的技术使用者:上海思朗科技有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-35189.html

    最新回复(0)