System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种TOE的加速系统及方法技术方案_技高网

一种TOE的加速系统及方法技术方案

技术编号:40980530 阅读:4 留言:0更新日期:2024-04-18 21:26
本发明专利技术公开了一种TOE的加速系统及方法,涉及硬件设计技术领域,通过在网络芯片中设置cache模块,可以将大部分连接的QPC从主机内存缓存到芯片内部,就会极大的提高对TCP报文的处理速度,减少网络芯片与主机之间的通信占用带宽;并且即使QPC并没有缓存到芯片内部,也能够从主机侧获取QPC,不影响原有的工作方式,在减少带宽占用的同时,保证了正常的报文处理。

【技术实现步骤摘要】

本专利技术涉及硬件设计,具体涉及一种toe的加速系统及方法。


技术介绍

1、传统以太网环境中,tcp(transmission control protocol,传输控制协议)协议处理都是网卡将tcp报文推送到上位机后,在主机cpu(central processing unit/processor,中央处理器)中进行实现。当连接数过多,数据吞吐量过大的情况下,就会占用大量的cpu资源从而降低系统性能。toe(即tcp卸载引擎)的目的是在网卡上集成专用电路来替代cpu中对tcp数据处理,从而减轻cpu对tcp的处理负荷。

2、cache(高速缓冲存储器)常用cpu与主内存之间的一块sram(static random-access memory,静态随机存取存储器),用于缓存主内存的数据,但因为容量比主内存小的多,所以不可能将主内存的所有数据都缓存。如果将一段时间内经常访问的数据,或者访问数据附近的数据缓存到sram中,那么就能提高cpu的数据的访问速度。

3、如图5所示,应用toe处理单个报文时,当前连接的qpc(queue pair context,队列上下文)是存储在主机内存中。当芯片的toe处理tcp报文时,需要从主机侧内存中读取qpc,然后toe根据读到的qpc处理当前接受到的报文,处理完成后将报文内容发送到主机。

4、每个报文处理都需要从主机侧读取qpc,芯片与主机的交互会变的很频繁,芯片占用主机的通信带宽会变得很大。如果将支持最大连接数目的qpc全部下载到芯片里面,就需要在芯片内设计一块很大内存,极其占用芯片资源。


技术实现思路

1、本专利技术的目的在于提供一种toe的加速系统及方法,解决了现有技术中存在的技术问题。

2、本专利技术通过下述技术方案实现:

3、一方面,本专利技术提供一种toe的加速系统,包括:设置于网络芯片中的toe模块、设置于网络芯片中的cache模块以及用于处理数据的主机;

4、所述cache模块,用于缓存主机中的部分或者全部qpc数据,并将qpc数据对应的fp数据和/或qpn数据作为索引存储;fp数据用于表征报文的指纹信息;

5、所述cache模块,还用于缓存主机中qpc数据对应的qpc存储地址;

6、所述toe模块,用于从cache模块获取与收发报文对应的目标qpc数据或通过cache模块中的qpc存储地址从主机中获取与收发报文对应的目标qpc数据,并根据目标qpc数据对收发报文进行处理,并将收发报文传出;

7、所述主机,用于响应第一报文以及产生第二报文,且允许cache模块请求主机内部存储的qpc数据;其中,第一报文用于表征接收的报文,第二报文用于表征发送的报文。

8、另一方面,本专利技术提供一种toe的加速方法,包括:报文发送加速过程以及报文接收加速过程;

9、所述报文接收加速过程,包括:

10、通过toe模块接第一报文,并获取第一报文对应的fp数据;

11、通过toe模块以第一报文对应的fp数据,在cache模块中进行qpc数据的匹配,以获取qpc数据的第一命中结果;所述第一命中结果包括命中或未命中;

12、根据所述qpc数据的第一命中结果,通过toe模块从cache模块或主机获取第一报文对应的第一目标qpc数据,并根据第一报文对应的第一目标qpc数据对第一报文进行处理,实现toe加速;

13、所述报文发送加速过程,包括:

14、通过主机发送第二报文,同时携带第二报文对应的fp数据以及qpn数据;

15、通过toe模块以第二报文对应的fp数据以及qpn数据为基础,在cache模块中进行qpc数据的匹配,以获取qpc数据的第二命中结果;所述第二命中结果包括命中或未命中;

16、根据所述qpc数据的第二命中结果,通过toe模块从cache模块或主机获取第二报文对应的第二目标qpc数据,并根据第二报文对应的第二目标qpc数据对第二报文进行处理,实现toe加速。

17、在一种可能的实施方式中,通过toe模块接第一报文,并获取第一报文对应的fp数据,包括:

18、通过toe模块接第一报文,并解析第一报文对应的五元组;以五元组为基础,通过哈希算法获取第一报文对应的fp数据。

19、在一种可能的实施方式中,通过toe模块以第一报文对应的fp数据,在cache模块中进行qpc数据的匹配,以获取qpc数据的第一命中结果,包括:

20、将第一报文对应的fp数据的低n1比特作为cache模块的第一目标index值;n1表示cache模块中data cache单元的总index数目关于2的对数,data cache单元用于表征cache模块中存储qpc数据的存储单元;

21、对比第一目标index值的所有tag,并判断是否存在fp与第一报文对应的fp数据相同的tag,若是,则读取该tag的qpc数据,否则确定qpc数据的第一命中结果为未命中;

22、判断该qpc数据中的五元组是否与第一报文对应的五元组是否一致,若是,则第一命中结果为命中,否则确定qpc数据的第一命中结果为未命中。

23、在一种可能的实施方式中,根据所述qpc数据的第一命中结果,通过toe模块从cache模块或主机获取第一报文对应的第一目标qpc数据,并根据第一报文对应的第一目标qpc数据对第一报文进行处理,包括:

24、当所述qpc数据的第一命中结果为命中时,根据第一报文对应的fp数据和五元组,通过toe模块从cache模块匹配第一报文对应的第一目标qpc数据,并根据第一报文对应的第一目标qpc数据对第一报文进行处理;

25、当所述qpc数据的第一命中结果为未命中,根据第一报文对应的五元组,获取第一报文对应的qpn数据,并根据第一报文对应的fp和qpn数据,通过cache模块从主机获取第一报文对应的第一目标qpc数据,同时将第一目标qpc数据缓存在cache模块中,并根据第一报文对应的第一目标qpc数据对第一报文进行处理。6.根据权利要求5所述的toe的加速方法,其特征在于,根据第一报文对应的fp数据和五元组,通过toe模块从cache模块匹配第一报文对应的第一目标qpc数据,并根据第一报文对应的第一目标qpc数据对第一报文进行处理,包括:

26、通过toe模块从cache模块查找fp数据与第一报文对应的fp数据的qpc数据,并再查找得到的qpc数据中匹配五元组与第一报文对应的五元组相同的qpc数据,得到第一目标qpc数据,并根据第一报文对应的第一目标qpc数据对第一报文进行处理。

27、在一种可能的实施方式中,根据第一报文对应的五元组,获取第一报文对应的qpn数据,并根据第一报文对应的fp和qpn数据,通过cache模块从主机获取第一报文对应的第一目标qpc数据,同时将qpc数据缓存在cache模块本文档来自技高网...

【技术保护点】

1.一种TOE的加速系统,其特征在于,包括:设置于网络芯片中的TOE模块、设置于网络芯片中的cache模块以及用于处理数据的主机;

2.一种基于权利要求1所述加速系统的TOE的加速方法,其特征在于,包括:报文发送加速过程以及报文接收加速过程;

3.根据权利要求2所述的TOE的加速方法,其特征在于,通过TOE模块接第一报文,并获取第一报文对应的FP数据,包括:

4.根据权利要求3所述的TOE的加速方法,其特征在于,通过TOE模块以第一报文对应的FP数据,在cache模块中进行QPC数据的匹配,以获取QPC数据的第一命中结果,包括:

5.根据权利要求4所述的TOE的加速方法,其特征在于,根据所述QPC数据的第一命中结果,通过TOE模块从cache模块或主机获取第一报文对应的第一目标QPC数据,并根据第一报文对应的第一目标QPC数据对第一报文进行处理,包括:

6.根据权利要求5所述的TOE的加速方法,其特征在于,根据第一报文对应的FP数据和五元组,通过TOE模块从cache模块匹配第一报文对应的第一目标QPC数据,并根据第一报文对应的第一目标QPC数据对第一报文进行处理,包括:

7.根据权利要求6所述的TOE的加速方法,其特征在于,根据第一报文对应的五元组,获取第一报文对应的QPN数据,并根据第一报文对应的FP和QPN数据,通过cache模块从主机获取第一报文对应的第一目标QPC数据,同时将QPC数据缓存在cache模块,并根据第一报文对应的第一目标QPC数据对第一报文进行处理,包括:

8.根据权利要求2所述的TOE的加速方法,其特征在于,通过TOE模块以第二报文对应的FP数据以及QPN数据为基础,在cache模块中进行QPC数据的匹配,以获取QPC数据的第二命中结果,包括:

9.根据权利要求8所述的TOE的加速方法,其特征在于,根据所述QPC数据的第二命中结果,通过TOE模块从cache模块或主机获取第二报文对应的第二目标QPC数据,并根据第二报文对应的第二目标QPC数据对第二报文进行处理,包括:

10.根据权利要求9所述的TOE的加速方法,其特征在于,当所述QPC数据的第二命中结果为未命中,根据第二报文对应的QPN数据,通过TOE模块从主机获取第二报文对应的第二目标QPC数据,并根据第二报文对应的第二目标QPC数据对第二报文进行处理,包括:

...

【技术特征摘要】

1.一种toe的加速系统,其特征在于,包括:设置于网络芯片中的toe模块、设置于网络芯片中的cache模块以及用于处理数据的主机;

2.一种基于权利要求1所述加速系统的toe的加速方法,其特征在于,包括:报文发送加速过程以及报文接收加速过程;

3.根据权利要求2所述的toe的加速方法,其特征在于,通过toe模块接第一报文,并获取第一报文对应的fp数据,包括:

4.根据权利要求3所述的toe的加速方法,其特征在于,通过toe模块以第一报文对应的fp数据,在cache模块中进行qpc数据的匹配,以获取qpc数据的第一命中结果,包括:

5.根据权利要求4所述的toe的加速方法,其特征在于,根据所述qpc数据的第一命中结果,通过toe模块从cache模块或主机获取第一报文对应的第一目标qpc数据,并根据第一报文对应的第一目标qpc数据对第一报文进行处理,包括:

6.根据权利要求5所述的toe的加速方法,其特征在于,根据第一报文对应的fp数据和五元组,通过toe模块从cache模块匹配第一报文对应的第一目标qpc数据,并根据第一报文对应的第一目标qpc数据对第一报文进行处理,...

【专利技术属性】
技术研发人员:周志兵杨成勇王万财吴小林
申请(专利权)人:成都北中网芯科技有限公司
类型:发明
国别省市:

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

1