System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种实现高速数据通道容错的方法、装置、芯片及存储介质制造方法及图纸_技高网

一种实现高速数据通道容错的方法、装置、芯片及存储介质制造方法及图纸

技术编号:44302891 阅读:2 留言:0更新日期:2025-02-18 20:20
本发明专利技术公开了一种实现高速数据通道容错的方法,其应用于设置有第一数据通道以及第二数据通道的网络加速芯片中;所述方法至少包括:网络加速芯片通过第一数据通道与主机进行数据交互;对第一数据通道进行异常检测,在检测到第一数据通道出现异常时,收集第一数据通道对应的异常配置信息;根据异常配置信息,确定需要与主机恢复未完成数据交互的IO上下文环境,将当前交互切换至第二数据通道;利用第二数据通道根据所确定的未完成数据交互的IO上下文环境继续与主机进行数据交互。本发明专利技术还公开了相应的装置、芯片及存储介质。实施本发明专利技术,可以提高网络加速芯片在关键数据交互路径中的容错能力和鲁棒性。

【技术实现步骤摘要】

本专利技术涉及计算机,特别是涉及实现高速数据通道容错的方法、装置、芯片及存储介质


技术介绍

1、在数据中心的应用中,智能网卡/数据处理单元(smart network interfacecard/data processing unit,smartnic/dpu)通常设计成一个复杂的片上系统(system ona chip,soc),包括多核cpu、动态随机存取存储器/静态存储器(dynamic/static randomaccess memory,dram/sram)、特定应用集成电路(application specific integratedcircuit,asic)、现场可编程逻辑门阵列(field programmable gate array,fpga)等硬件资源,它还具备可编程的专用加速引擎和dma引擎等硬件模块,可以针对特定的应用场景提供加速服务。smartnic/dpu芯片已被广泛应用于虚拟化加速、网络协议栈、数据加解密、云服务、机器学习、存储等领域。

2、smartnic/dpu可以为卸载i/o密集型和计算密集型任务提供高速数据通道。在高速数据通道中实现卸载(offloading)任务过程中,为了与不同应用场景中的交互信息进行适配,高速数据通道需要在与主机进行协商后确定相应的数据存放格式。这些数据格式可能是针对某种应用程序中公开规范所定义的协议,其中包括协议和非易失性内存主机控制器接口规范(non-volatile memory express,nvme)协议、虚拟化io设备(virtual i/odevice,virtio)协议、xts-aes加密算法(一种高性能加密算法)以及用户与dpu之间的私有数据格式等。

3、在整个数据卸载过程中,高速数据通道通过外围组件快速互连(peripheralcomponent interconnect express,pcie)高速总线与主机进行连接和通信,并从主机获得需要处理的数据。虽然asic可以在dpu内设计高速数据通道,提供更高的卸载能力,但是它存在一些劣势,例如灵活性不足、可编程性较差、难以实现软件的灵活定义和配置等问题。此外,asic的设计完成后,其硬件逻辑不可变,很难适应需求的变化。因此,使用asic设计面对数据中心复杂应用场景下的高效、高可靠的数据通道存在很大挑战。

4、在高可用性和高可靠性对数据处理要求较高的存储、数据加解密领域中,如果由于asic逻辑异常导致高速数据通道不可用或不可靠,则会对上游的应用程序的数据安全带来潜在的风险。例如,在纠删码(erasure coding,ec)计算过程中可能会因处理异常而丢失数据,或由于加解密过程异常而无法恢复原始数据等问题。故现有技术所采用的高速数据通道中,存在容错能力不足以及鲁棒性差的缺点。


技术实现思路

1、本专利技术所要解决的技术问题在于,提供一种实现高速数据通道容错的方法、装置、芯片及存储介质,可以提高网络加速芯片在关键数据交互路径中的容错能力和鲁棒性。

2、为解决上述技术问题,作为本专利技术的一方面,提供一种实现高速数据通道容错的方法,所述方法应用于网络加速芯片中,所述网络加速芯片中设置有用于高速数据交互的第一数据通道以及用作冗余通道的第二数据通道;所述方法至少包括:

3、所述网络加速芯片通过所述第一数据通道与主机进行数据交互;

4、对所述第一数据通道进行异常检测,在检测到所述第一数据通道出现异常时,收集第一数据通道对应的异常配置信息;

5、根据所述异常配置信息,确定需要与主机恢复数据交互的未完成数据交互的io上下文环境,将当前交互切换至第二数据通道;

6、利用所述第二数据通道根据所确定的未完成数据交互的io上下文环境继续与所述主机进行数据交互。

7、其中,进一步包括根据主机提供的io队列完成对第一数据通道以及第二数据通道的初始化配置的步骤,包括:

8、在网络加速芯片的内存中,为dma引擎分配dma命令队列的空间资源,并初始化第二数据通道中的dma引擎和dma队列组件;

9、在网络加速芯片的内存中,为io请求上下文队列分配用于存放元数据的空间资源;

10、将主机io队列中的相关信息配置于第一数据通道的请求上下文组件中,以完成初始化;所述io队列中的相关信息包括:主机io队列的基地址、队列深度、初始队列头部和初始队列尾部,以及主机io队列中对应io请求上下文队列的基地址信息。

11、其中,所述对所述第一数据通道进行异常检测,进一步包括:

12、启动对第一数据通道的异常监控,在下述三种异常条件中的任意一个满足时,则确定所述第一数据通道出现异常:

13、如果在io请求上下文队列中元数据中发现第一数据通道存入的异常信息,则判断第一数据通道出现了异常;

14、通过对第一数据通道建立周期性的心跳保活检测,向所述第一数据通道定期性发送心跳检测信号,如果在预定时间内检测条件与预期不符,则判断第一通道出现了异常,其中,所述心跳检测信号是基于第一数据通道中的一个状态条件而生成;

15、接收到第一数据通道通过spi中断上报的异常消息,则判断第一通道出现了异常。

16、其中,所述在检测到所述第一数据通道出现异常时,收集第一数据通道对应的异常配置信息,进一步包括:

17、在第一数据通道的队列上下文组件中获取io暂停时异常主机队列配置信息,所述异常主机队列配置信息包括:异常主机队列的基地址、队列深度、队列的头部/尾部游标基址,以及异常时第一通道访问主机队列的位置信息、第一数据通道访问io请求上下文队列的位置信息;

18、根据所述异常主机队列配置信息,在第一数据通道的io请求上下文队列组件中收集第一数据通道未处理完成的io请求上下文信息,并从所述io请求上下文队列中获取未处理完成的io请求的元数据信息。

19、其中,所述根据所述异常配置信息,确定需要与主机恢复未完成数据交互的io上下文环境,将当前交互切换至第二数据通道,进一步包括:

20、在第二数据通道中通过dma引擎申请dma命令队列,建立与主机交互io请求的上下文环境;

21、根据所收集的第一数据通道中未处理完成的io请求上下文信息,及相应的元数据进行解析,确定未完成的io请求,并封装成dma命令,通过第二数据通道中的dma引擎与主机交互未完成数据交互的io请求;

22、通过io请求上下文信息确定第二数据通道需要与主机恢复数据交互的未完成数据交互的io上下文环境,控制第二数据通道根据所确定的未完成数据交互的io上下文环境读写主机的io队列中的io请求,并向主机传输io数据。

23、其中,进一步包括:

24、在所述网络加速芯片通过所述第一数据通道与主机进行数据交互时,将当前交互对应的元数据存储进网络加速芯片中的io请求上下文队列中。

25、其中,所述网本文档来自技高网...

【技术保护点】

1.一种实现高速数据通道容错的方法,所述方法应用于网络加速芯片中,其特征在于,所述网络加速芯片中设置有用于高速数据交互的第一数据通道以及用作冗余通道的第二数据通道;所述方法至少包括:

2.如权利要求1所述的方法,其特征在于,进一步包括根据主机提供的IO队列完成对第一数据通道以及第二数据通道的初始化配置的步骤,包括:

3.如权利要求2所述的方法,其特征在于,所述对所述第一数据通道进行异常检测,进一步包括:

4.如权利要求3所述的方法,其特征在于,所述在检测到所述第一数据通道出现异常时,收集第一数据通道对应的异常配置信息,进一步包括:

5.如权利要求3所述的方法,其特征在于,所述根据所述异常配置信息,确定需要与主机恢复未完成数据交互的IO上下文环境,将当前交互切换至第二数据通道,进一步包括:

6.如权利要求1至5任一项所述的方法,进一步包括:

7.如权利要求6所述的方法,其特征在于,所述网络加速芯片为DPU芯片或SMARTNIC芯片;所述第一数据通道为ASIC数据通道,所述第二数据通道为DMA数据通道。

<p>8.一种实现高速数据通道容错的装置,所述装置应用于网络加速芯片中,其特征在于,所述网络加速芯片中设置有用于高速数据交互的第一数据通道以及用作冗余处理的第二数据通道;所述装置至少包括:

9.一种网络加速芯片,其特征在于,所述网络加速芯片中设置有用于高速数据交互的第一数据通道以及用作冗余处理的第二数据通道,进一步包括:

10.如权利要求9所述的网络加速芯片,其特征在于,其中:

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法的步骤。

...

【技术特征摘要】

1.一种实现高速数据通道容错的方法,所述方法应用于网络加速芯片中,其特征在于,所述网络加速芯片中设置有用于高速数据交互的第一数据通道以及用作冗余通道的第二数据通道;所述方法至少包括:

2.如权利要求1所述的方法,其特征在于,进一步包括根据主机提供的io队列完成对第一数据通道以及第二数据通道的初始化配置的步骤,包括:

3.如权利要求2所述的方法,其特征在于,所述对所述第一数据通道进行异常检测,进一步包括:

4.如权利要求3所述的方法,其特征在于,所述在检测到所述第一数据通道出现异常时,收集第一数据通道对应的异常配置信息,进一步包括:

5.如权利要求3所述的方法,其特征在于,所述根据所述异常配置信息,确定需要与主机恢复未完成数据交互的io上下文环境,将当前交互切换至第二数据通道,进一步包括:

6.如权利要求1...

【专利技术属性】
技术研发人员:刘静涛刘坤
申请(专利权)人:云豹创芯南京智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1