TCAM搬移控制方法、网络通信设备和可读存储介质与流程

文档序号:36243543发布日期:2023-12-02 07:06阅读:35来源:国知局
TCAM的制作方法

本技术涉及网络通信,具体而言,涉及一种tcam搬移控制方法、网络通信设备和可读存储介质。


背景技术:

1、随着科学技术的不断发展,三态内容寻址存储器(ternary content addressablememory,tcam)因其具有支持精确查找和模糊匹配的特性,被广泛用于存放网络通信过程中涉及的各种业务表项(例如,访问控制列表(access control list,acl)匹配规则表项、mac地址表项、路由转发匹配规则表项等),以便在网络通信过程中发挥tcam存储器的器件特性。

2、在tcam存储器的使用过程中,表项数据在tcam存储器内通常按照优先级高低状况降序地排列存储,而用户往往会因通信需求对tcam存储器存储的某个或某几个表项数据进行优先级调整,或者往tcam存储器存入非最低优先级的表项数据,导致对应tcam存储器已存储的众多表项数据需要通过数据搬移操作重新排列存储。

3、目前,现有tcam数据搬移方案需要由网络通信设备中的中央处理器(centralprocessing unit,cpu)使用间接访问接口与tcam存储器进行多次i/o交互动作,才能通过数据读/写操作针对该tcam存储器存储的一个表项数据实现数据搬移效果。但值得注意的是,倘若tcam存储器存在大量表项数据需要搬移时,这种数据搬移方案在实际应用过程中会长时间占用cpu,导致网络通信设备无法及时开展期望通信业务,并会因i/o交互总耗时过长,导致这种数据搬移方案的tcam数据搬移效率低下。


技术实现思路

1、有鉴于此,本技术的目的在于提供一种tcam搬移控制方法、网络通信设备和可读存储介质,能够通过单次i/o交互动作实现多项tcam数据的数据搬移效果,提升tcam数据搬移效率,并避免cpu在tcam数据搬移过程中被长时间占用,确保对应网络通信设备可利用cpu及时开展期望通信业务。

2、为了实现上述目的,本技术实施例采用的技术方案如下:

3、第一方面,本技术提供一种tcam搬移控制方法,应用于网络通信设备,所述网络通信设备包括dma控制器、中央处理器及tcam存储器,所述方法包括:

4、所述中央处理器响应针对所述tcam存储器的数据搬移请求,生成与所述数据搬移请求匹配的至少一个tcam搬移指令,其中每个tcam搬移指令用于指示搬移所述tcam存储器存储的一组待搬移数据;

5、所述中央处理器将生成的所有tcam搬移指令写入到预先配置的指令存储空间中;

6、所述dma控制器从所述指令存储空间提取各个tcam搬移指令,并针对提取出的每个tcam搬移指令,按照该tcam搬移指令对所述tcam存储器存储的对应待搬移数据进行数据搬移处理。

7、在可选的实施方式中,所述指令存储空间包括多个存储子空间,每个存储子空间均用于单独存储一个tcam搬移指令,每个存储子空间的存储地址与所述dma控制器在tcam搬移控制通道下的一个描述符基地址相互对应,则所述dma控制器从所述指令存储空间提取各个tcam搬移指令的步骤,包括:

8、检测所述中央处理器针对所述tcam搬移控制通道配置的待执行搬移指令数目是否大于零,其中所述待执行搬移指令数目由所述中央处理器在向所述指令存储空间写入完所有tcam搬移指令时生成;

9、在检测到所述待执行搬移指令数目大于零时,根据与所述tcam搬移控制通道相关的所有描述符基地址,轮询地访问所述指令存储空间包括的各个存储子空间进行搬移指令读取,得到对应存储子空间所存储的tcam搬移指令。

10、在可选的实施方式中,单个tcam搬移指令包括对应待搬移数据在所述tcam存储器处的实际存储地址及期望存储地址,则所述按照该tcam搬移指令对所述tcam存储器存储的对应待搬移数据进行数据搬移处理的步骤,包括:

11、按照该tcam搬移指令所包括的实际存储地址,从所述tcam存储器处读取与所述实际存储地址匹配的目标数据;

12、按照该tcam搬移指令所包括的期望存储地址,将读取到的目标数据写入到与所述期望存储地址对应的数据存储位置处;

13、删除所述tcam存储器在所述实际存储地址处存储的目标数据。

14、在可选的实施方式中,单组待搬移数据包括需要搬移的匹配规则信息和触发行为信息,则对应tcam搬移指令包括所述匹配规则信息的第一实际存储地址、第一期望存储地址和第一存储数据长度,以及所述触发行为信息的第二实际存储地址、第二期望存储地址和第二存储数据长度,所述按照该tcam搬移指令对所述tcam存储器存储的对应待搬移数据进行数据搬移处理的步骤,包括:

15、根据所述第二实际存储地址及所述第二存储数据长度,从所述tcam存储器在所述第二实际存储地址处存储的所有数据中读取数据长度与所述第二存储数据长度对应的目标触发行为信息;

16、根据所述第二期望存储地址,将读取到的目标触发行为信息写入到与所述第二期望存储地址对应的数据存储位置处;

17、根据所述第一实际存储地址及所述第一存储数据长度,从所述tcam存储器在所述第一实际存储地址处存储的所有数据中读取数据长度与所述第一存储数据长度对应的目标匹配规则信息;

18、根据所述第一期望存储地址,将读取到的目标匹配规则信息写入到与所述第一期望存储地址对应的数据存储位置处;

19、删除所述tcam存储器在所述第一实际存储地址处存储的目标匹配规则信息,并删除所述tcam存储器在所述第二实际存储地址处存储的目标触发行为信息。

20、在可选的实施方式中,所述方法还包括:

21、所述dma控制器在执行完单个tcam搬移指令所对应的数据搬移操作后,向所述中央处理器反馈针对该tcam搬移指令的搬移完成告知消息。

22、在可选的实施方式中,所述方法还包括:

23、所述中央处理器在上电初始化时,在内存空间中配置由多个存储子空间组成的指令存储空间;

24、所述中央处理器将所述dma控制器的一个控制通道配置为tcam搬移控制通道,并建立所述dma控制器在tcam搬移控制通道下的每个描述符基地址与单个存储子空间的存储地址之间的关联关系。

25、第二方面,本技术提供一种网络通信设备,所述网络通信设备包括dma控制器、中央处理器及tcam存储器,其中所述tcam存储器用于存储数据;

26、所述中央处理器,用于响应针对所述tcam存储器的数据搬移请求,生成与所述数据搬移请求匹配的至少一个tcam搬移指令,其中每个tcam搬移指令用于指示搬移所述tcam存储器存储的一组待搬移数据;

27、所述中央处理器,还用于将生成的所有tcam搬移指令写入到预先配置的指令存储空间中;

28、所述dma控制器,用于从所述指令存储空间提取各个tcam搬移指令,并针对提取出的每个tcam搬移指令,按照该tcam搬移指令对所述tcam存储器存储的对应待搬移数据进行数据搬移处理。

29、在可选的实施方式中,所述dma控制器,还用于在执行完单个tcam搬移指令所对应的数据搬移操作后,向所述中央处理器反馈针对该tcam搬移指令的搬移完成告知消息。

30、在可选的实施方式中,所述中央处理器,还用于在上电初始化时,在内存空间中配置由多个存储子空间组成的指令存储空间;

31、所述中央处理器,还用于将所述dma控制器的一个控制通道配置为tcam搬移控制通道,并建立所述dma控制器在tcam搬移控制通道下的每个描述符基地址与单个存储子空间的存储地址之间的关联关系。

32、第三方面,本技术提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被包括有dma控制器、中央处理器及tcam存储器的网络通信设备执行时,实现前述实施方式中任意一项所述的tcam搬移控制方法。

33、在此情况下,本技术实施例的有益效果可以包括以下内容:

34、本技术中的中央处理器在生成与针对tcam存储器的数据搬移请求匹配的至少一个tcam搬移指令后,会将生成的所有tcam搬移指令写入到预先配置的指令存储空间中,使dma控制器能够从指令存储空间提取各个tcam搬移指令,并针对提取出的每个tcam搬移指令,按照该tcam搬移指令对tcam存储器存储的对应待搬移数据进行数据搬移处理,从而通过cpu与dma控制器之间的单次i/o交互动作,使dma控制器能够利用直接存储器访问(direct memory access,dma)方式针对单项tcam数据或多项tcam数据实现数据搬移效果,以有效提升tcam数据搬移效率,降低i/o交互总耗时,避免cpu在tcam数据搬移过程中被长时间占用,确保对应网络通信设备可利用cpu及时开展期望通信业务。

35、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1