[发明专利]CAM表的处理方法和设备在审
| 申请号: | 202210614666.0 | 申请日: | 2022-05-31 |
| 公开(公告)号: | CN115048375A | 公开(公告)日: | 2022-09-13 |
| 发明(设计)人: | 吴义涛;任永顺;王洪炼 | 申请(专利权)人: | 重庆奥普泰通信技术有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/245 |
| 代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 郭李君;臧建明 |
| 地址: | 401120 重庆市渝北*** | 国省代码: | 重庆;50 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | cam 处理 方法 设备 | ||
本申请提供一种CAM表的处理方法和设备,包括获取待处理标签数据和待处理标签数据对应的端口数据;对待处理标签数据进行数据位划分,获得多个标签子数据;并为每个标签子数据设置对应的存储数据;其中,所有标签子数据对应的存储数据的与运算结果为端口数据;针对每个标签子数据,根据标签子数据生成读写地址,获得多个读写地址;在RAM块中读写地址对应数据区域写入标签子数据对应的存储数据,通过如此设置,可以减少RAM块的深度,降低资源使用率,还可以提高系统工作频率。
技术领域
本申请涉及通信技术,尤其涉及一种CAM表的处理方法和设备。
背景技术
在数据通信技术中,需要对数据进行控制和转发。对数据的转发和控制可以利用内容可寻址存储器(Content Addressable Memory,简称:CAM)芯片通过查表实现。
现场可编程门阵列(Field Programmable Gate Array,简称:FPGA)作为一种可编程逻辑器件,可以实现对各种数据信号的处理,因此,也可以通过FPGA实现CAM功能。使用CAM芯片实现CAM功能的原理是将标签数据与CAM芯片中的所有数据项进行比较,确定CAM芯片中是否有与该标签数据相匹配的数据,并获取匹配上数据在CAM芯片中的地址。由于FPGA的RAM块都是用地址查询数据的存储器,因此使用FPGA的RAM实现CAM时,需要将根据标签数据生成RAM的地址,再使用所生成的RAM地址查询RAM块中存储数据,并根据存储数据获得端口。
然而,在根据标签数据生成RAM的地址时,会使得RAM的深度非常庞大,影响系统工作频率和资源利用率。
发明内容
本申请提供一种CAM表的处理方法和设备,旨在提高资源利用率,提高系统工作频率,增加设计灵活性。
本申请一实施例提供一种CAM表的处理方法,方法应用于转发设备,转发设备包括处理芯片,处理芯片内设有多个RAM块,方法包括:
获取待处理标签数据和待处理标签数据对应的端口数据;
对待处理标签数据进行数据位划分,获得多个标签子数据;并为每个标签子数据设置对应的存储数据;其中,所有标签子数据对应的存储数据的与运算结果为端口数据;
针对每个标签子数据,根据标签子数据生成读写地址,获得多个读写地址;在RAM块中读写地址对应数据区域写入标签子数据对应的存储数据。
在一实施例中,方法还包括:
获取待处理标签数据对应的端口数据;
对端口数据进行数据位划分获得多个中间数据;
从多个中间数据中选择有效数据作为重映射后的端口数据,并生成重映射后的端口数据的修正数据。
在一实施例中,方法还包括:
获取转发业务请求和待查询的RAM块的标识,其中,转发业务请求包括标签数据;
将标签数据分为多个查询子标签,在待查询的RAM块中使用每个查询子标签进行查询,获得每个查询子标签对应的存储数据;
将每个查询子标签对应的存储数据进行与运算获得运算结果;并在运算结果有效时,根据运算结果获得端口。
在一实施例中,每个RAM块设有多个数据分区,每个数据分区存储有一个分割后的CAM表;将标签数据分为多个查询子标签,在待查询的RAM块中使用每个查询子标签进行查询,获得每个查询子标签对应的存储数据,具体包括:
获取待查询的RAM块中待查询的数据分区的标识;
在待查询的数据分区内使用每个查询子标签进行查询,获得每个查询子标签对应的分区存储数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆奥普泰通信技术有限公司,未经重庆奥普泰通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210614666.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑施工地基防老化加固装置
- 下一篇:制铜挤压机的控制系统





