CN104301228A - 网络处理器中查找模块的实现方法及系统 - Google Patents
网络处理器中查找模块的实现方法及系统 Download PDFInfo
- Publication number
- CN104301228A CN104301228A CN201410464912.4A CN201410464912A CN104301228A CN 104301228 A CN104301228 A CN 104301228A CN 201410464912 A CN201410464912 A CN 201410464912A CN 104301228 A CN104301228 A CN 104301228A
- Authority
- CN
- China
- Prior art keywords
- keyword
- module
- lookup
- search
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000003860 storage Methods 0.000 claims abstract description 13
- 230000004807 localization Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 15
- 238000012986 modification Methods 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 6
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供了一种网络处理器中查找模块的实现方法,所述网络处理器包括解析模块、查找模块、更新转发模块以及修改模块,包括:关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。本发明还提供相应的方法。本发明利用三级流水操作改进查找模块,加快处理速度;本发明用多个查找引擎并行执行具体的查表处理,隐藏单个查找时间,提高工作效率。
Description
技术领域
本发明涉及网络通讯领域,具体地,涉及一种网络处理器中查找模块的实现方法及系统。
背景技术
网络处理器是经过专门设计和高度优化来实现网络功能的可编程硬件,用于完成报文处理、协议分析、路由转发等通信工作。网络处理器拥有高性能和可编程的优点,支持不断涌现的网络技术。
图1是现有网络处理器的核心组成部分。网络处理器包括解析模块、查找模块、更新转发模块和修改模块。每个模块用于完成不同的任务。其中,解析模块从帧存储器读出相关的帧,对数据包进行分类解析,识别并提取关键信息,根据需要将多个信息进行组合构成多个查找关键字。每个帧包含多个关键字,每个关键字和某张表相关。查找模块接收来自数据包解析模块的查找关键字,对相关表进行查找和管理。更新转发模块根据查找结果决定帧的输出端口和输出队列。修改模块从帧存储器中读出帧,根据需要修改内容后写回帧存储器。
在片内存储器或片外存储器上保存多张表,包括二层转发表、三层路由表、端口映射表,统称查找表。每张表有一个特定的序号,序号和表一一对应。图2是表的基本结构。每张表包含多个表项,每个表项至少包含关键字字段和结果字段。利用某种特定方法,对要查找的关键字进行转换,得到存储器中的地址。访问地址读出表项,将查找的关键字和表项中的表项中的关键字进行比较。如果匹配,返回包括目标地址、目标端口在内的结果信息。表的类型不同,访问存储器的次数不同,查找需要的时间就不同。在保证数据帧顺序的前提下,必须合理设计结构、充分利用资源,提高处理速度。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种网络处理器中查找模块的实现方法。本发明能够及时接收来自解析模块的查找关键字,避免长时间占用解析模块资源,影响数据帧线性收发;本发明采用多个查找引擎对关键字进行处理;允许查找引擎并行执行查表操作、乱序传递查找结果,加快了处理速度,提高工作效率;按照关键字的接收顺序保存对应的查找结果并顺序提交;本发明在保证功能的前提下隐藏单个查找的处理时间;不同应用场合选择不同数目的工作引擎,速度尽量快的前提下占用的资源少。
根据本发明的一个方面提供的网络处理器中查找模块的实现方法,所述网络处理器包括解析模块、查找模块、更新转发模块以及修改模块,包括如下步骤:
步骤1:关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;
步骤2:关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;
步骤3:查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。
优选地,所述步骤1包括如下步骤:
步骤1.1:根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找引擎对应的寄存器中;
步骤1.2:根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查找结果的存储地址;
步骤1.3:根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述标签用于标识所述关键字。
优选地,所述步骤2中关键字查找包括单查找引擎模式和多查找引擎并行模式;
所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误;
所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并行处理。
优选地,当一帧的查找结果都保存后,由所述更新转发模块取用同时释放存储资源。
优选地,所述步骤1之前还包括如下步骤:
-当解析模块发出一帧的关键字,读取关键字和相应的辅助信息;所述辅助信息包括关键字的长度、查找表的序号和返回结果的长度。
根据本发明的另一个方面提供的网络处理器中查找模块的实现系统,所述网络处理器包括解析模块、查找模块、更新转发模块以及修改模块,所述网络处理器中查找模块的实现系统包括如下模块:
关键字接收模块,用于根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;
关键字查找模块,用于若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;
查找结果汇总模块,用于将查找结果根据所述标签按顺序保存。
优选地,所述关键字接收模块包括如下模块:
查找引擎分配模块,用于根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找引擎对应的寄存器中;
存储地址分配模块,用于根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查找结果的存储地址;
标签添加模块,用于根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述标签用于标识所述关键字。
优选地,所述关键字查找模块中关键字查找包括单查找引擎模式和多查找引擎并行模式;
所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误;
所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并行处理。
优选地,当一帧的查找结果都保存后,由所述更新转发模块取用同时释放存储资源。
优选地,还包括关键字读取模块,
关键字读取模块用于当解析模块发出一帧的关键字,读取关键字和相应的辅助信息;所述辅助信息包括关键字的长度、查找表的序号和返回结果的长度。
与现有技术相比,本发明具有如下的有益效果:
1.本发明利用三级流水操作改进查找模块,加快处理速度;
2.本发明用多个查找引擎并行执行具体的查表处理,隐藏单个查找时间,提高工作效率;
3.本发明支持通过寄存器灵活配置实际工作的查找引擎数目,根据具体应用需求配置引擎数目,平衡资源和速度,实现最优性能,特别地,单引擎模式可用于硬件调试;
4.本发明在接收关键字时就为关键字对应的查找结果分配存储地址,将地址作为标签伴随关键字的处理;每个关键字对应的查找完成后,立即将查找结果保存到结果存储器中并及时释放引擎资源;
5.本发明支持不同帧的关键字乱序传递结果,允许后来帧的关键字先完成,将查找结果先保存到结果存储器,提高工作效率和资源利用率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明中的网络处理器的核心处理模块结构示意图;
图2为本发明中表的基本结构示意图;
图3为本发明中网络处理器中查找模块的实现方法的步骤流程图;
图4为本发明中支持乱序传递结果的查找模块流水线执行示意图;
图5为本发明不支持乱序传递结果的查找模块流水线执行示意图;
图6为本发明单引擎模式下查找模块的处理流程图;
图7为本发明中的多引擎查找模块的结构框图;
图8为本发明的网络处理器中查找模块的实现系统的结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
在本实施例中,图1是现有网络处理器的核心组成部分。网络处理器包括解析模块、查找模块、更新转发模块和修改模块。本发明对其中的查找模块进行研究。图2是本发明中表的基本结构。每张表包含多个表项,每个表项包含关键字字段和结果字段。
本发明提供的网络处理器中查找模块的实现方法,包括如下步骤:
步骤1:关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;
步骤2:关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;
步骤3:查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。
将查找模块分成3级流水,即关键字接收、关键字查找、查找结果汇总利用流水操作加快查找关键字的处理速度。如图3所示,
所述步骤1包括如下步骤:
步骤1.1:根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找引擎对应的寄存器中;
步骤1.2:根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查找结果的存储地址;
步骤1.3:根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述标签用于标识所述关键字。
关键字查找采用多个相同、独立的硬件电路,即查找引擎,并行处理多个查找关键字,隐藏顺序处理时间。允许并行处理不同帧的关键字。本发明支持软件根据具体应用灵活配置查找引擎的数目,选择处理速度和资源占用的最优情况。查找引擎乱序传递的查找结果,按顺序保存供后级模块使用。每个关键字处理完毕后根据标签及时保存结果,尽快释放引擎资源。
更为具体为:
查找模块接收解析模块的查找关键字;根据表的类型,对关键字进行转换,访问保存在查找存储器中的表。如果有匹配的表项,则返回表项中的结果。最终以一帧为单位,将所有查找结果汇总后保存到专用存储器中,供更新转发模块取用。一帧有多个查找关键字,如果对每个关键字顺序执行查找处理,需要花费较多的时钟周期。本发明将查找模块分成3级流水,利用流水操作加快查找关键字的处理速度,及时释放解析模块资源,保证数据包的线性收发。
关键字接收具体为分配引擎、分配存储地址和保存关键字。监控所有查找引擎的空闲/忙碌状态,在前一次分配的引擎号基础上,选用一个可用引擎,将关键字保存到该引擎对应的寄存器中。根据前一次占用的结果存储器地址,得到本次查找结果的存放地址。这些信息作为标签,伴随该查找关键字。
关键字查找级支持多个相同、独立的执行单元,即查找引擎,对多个关键字进行并行处理,隐藏单个关键字的处理时间,提高工作效率。这些关键字可能来自相同的帧,也可以来自不同的帧。只要有一个以上空闲引擎,就允许接收关键字,而无需之前的查找完成,这样能尽快释放解析模块资源,保证帧的线性收发。
提供软件寄存器接口灵活配置工作引擎的数目。支持单引擎模式,即只有一个查找引擎工作,方便硬件调试定位错误。支持多个查找引擎并行工作,隐藏处理时间,提高工作效率。在具体应用中,根据实际情况配置引擎数目,平衡资源和速度两者关系,实现性能的最优。
结果汇总级支持多个查找引擎乱序传递来的查找结果,根据标签信息将查找结果保存到结果存储器相应位置。一帧所有查找结果都保存到存储器中后,立即通知转发模块取用,及时释放存储器资源。
在本实施例中,本发明提供的网络处理器中查找模块的实现系统,包括如下模块:
关键字接收模块,用于根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;
关键字查找模块,用于若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;
查找结果汇总模块,用于将查找结果根据所述标签按顺序保存。
进一步的,所述关键字接收模块包括如下模块:
查找引擎分配模块,用于根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找引擎对应的寄存器中;
存储地址分配模块,用于根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查找结果的存储地址;
标签添加模块,用于根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述标签用于标识所述关键字。
进一步的,所述关键字查找模块中关键字查找包括单查找引擎模式和多查找引擎并行模式;
所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误;具体为:单查找引擎模式时,每个关键字按照接收的顺序依次进行处理。单引擎模式支持硬件的单步调试,可以追踪每个关键字的处理过程;多引擎模式出错的情况下,如果单引擎模式不出错,那么错误主要存在于引擎分配或多引擎处理结果汇总;如果单引擎模式也出错,那么单个引擎的处理过程存在问题。这样定位和改正错误更有针对性。
所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并行处理。
进一步的,当一帧的查找结果都保存后,由所述更新转发模块取用同时释放存储资源。
进一步的,还包括关键字读取模块,关键字读取模块用于当解析模块发出一帧的关键字,读取关键字和相应的辅助信息;所述辅助信息包括关键字的长度、查找表的序号和返回结果的长度。
图4是某个具体应用中查找处理模块对多个帧的关键字的流水线执行示意图。对每个关键字来说,关键字处理阶段和结果汇总阶段均只需要1个时钟周期就可以完成,但是具体查找阶段需要的时间各不相同。其中,第0帧第0个关键字用了7个时钟周期,第0帧第1个关键字用了3个时钟周期,第1帧第0个关键字用了1个时钟周期,第1帧第1个关键字用了3个时钟周期,第2帧第0个关键字用了1个时钟周期。如果以查找模块支持3个查找引擎并行工作为例,即在同一时刻,至多只能有3个关键字处于具体查找阶段。因为每个查找引擎某一时刻只能处理1个关键字。如果有3个查找引擎,那么同一时刻最多只有3个关键字正在被处理。最终,第1帧第0个关键字最先完成;然后,第0帧第1个关键字完成;之后,第2帧第0个关键字完成;之后,第1帧第1个关键字完成;最后,第0帧第0个关键字才完成。5个关键字只需要9个时钟周期就可以处理完成。如果不支持流水,则需要25个时钟周期,多用16个时钟周期。
图5是针对和图4相同的关键字,不支持乱序传递结果时流水线执行的示意图。后来的关键字必须得等前面的关键字保存结果后才能完成。最终需要13个时钟周期才将5个关键字处理完成。比支持乱序传递结果多用4个时钟周期。比较图4和图5,支持乱序传递结果可以节省处理时间,提高资源利用率和工作效率。
图6是单引擎模式下查找模块的处理流程,具体为,等待解析模块准备好一帧所有的查找关键字。准备好后,查找模块开始读关键字和相应的辅助信息并保存到相应的寄存器中。辅助信息包括关键字的长度、查找表的序号、返回结果的长度等。利用关键字执行具体的查找,根据表的类型,采用不同方法得到表项的存放地址,可能需要多次访问查找存储器。查找完成后,查找引擎返回最终的查找结果并保存到结果存储器中。如果一帧有多个关键字,则返回读关键字阶段继续下一个关键字,直到一帧所有的查找结果都保存好后,发出信号通知更新转发模块取用。
如图7所示,本发明包括关键字处理、查找引擎、结果保存逻辑、结果存储器。关键字处理包括查找引擎分配和地址分配。
解析模块准备好一帧所有的关键字后,立即发出信号。查找模块检测到准备好的信号后,开始读关键字和相应的辅助信息,所述辅助信息包含关键字的长度、查找表的序号、返回结果的长度等。查找引擎分配逻辑从空闲的查找引擎中选择1个查找引擎。将关键字写入这个查找引擎对应的寄存器中保存。在上一个关键字占用空间的基础上,从结果存储器中分配一段存储空间,将起始地址也写到这个查找引擎对应的寄存器中,作为标签伴随关键字的处理。与此同时,统计每个帧中关键字的个数,供查找结果汇总时使用。
起始地址为结果存储器中分配的这段存储空间的起始地址。将查找结果保存到结果存储器中需要使用。
利用查找关键字,根据表的类型,采用不同方法执行具体的查找,可能需要多次访问查找存储器,即不同的表对应不同的查找算法,关键字利用查找算法最终得到查找结果的存储地址,从而得到查找结果。多个查找引擎并行工作,隐藏单个查找的处理时间,提高工作效率。
每个查找引擎分别返回最终的查找结果。根据标签中的存储地址,将查找结果一一保存到结果存储器中。支持不同引擎乱序传递查找结果。查找结果保存到结果存储器中后,立即释放占用的引擎资源。一帧所有的查找结果都保存好后发出信号,通知更新转发模块取用。转发模块以一帧为单位,读取查找结果。查找结果被读取后及时释放占用的结果存储器资源。
本发明提供的引擎配置寄存器接口灵活配置工作引擎的数目。表1是引擎配置寄存器的位描述。比特0为1'b1表示查找引擎0使能,为1'b0表示查找引擎0不使能。以此类推。在关键字处理级,引擎配置寄存器的值直接影响了新来的查找关键字分配到哪个引擎中。本发明支持单引擎模式,即只有一个查找引擎工作,方便硬件调试定位错误。支持多个查找引擎并行工作,隐藏处理时间,提高工作效率。在具体应用中,根据实际情况配置引擎数目,平衡资源和速度两者关系,实现性能的最优。
表1
比特位 | 描述 |
[n] | 查找引擎n是否使能。其中,1-使能;0-不使能 |
[n-1] | 查找引擎n-1是否使能。 |
... | ... |
... | ... |
[0] | 查找引擎0是否使能。 |
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (10)
1.一种网络处理器中查找模块的实现方法,所述网络处理器包括解析模块、查找模块、更新转发模块以及修改模块,其特征在于,包括如下步骤:
步骤1:关键字接收,具体为,根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;
步骤2:关键字查找,具体为,若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;
步骤3:查找结果汇总,具体为,将查找结果根据所述标签按顺序保存。
2.根据权利要求1所述的网络处理器中查找模块的实现方法,其特征在于,所述步骤1包括如下步骤:
步骤1.1:根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找引擎对应的寄存器中;
步骤1.2:根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查找结果的存储地址;
步骤1.3:根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述标签用于标识所述关键字。
3.根据权利要求1或2所述的网络处理器中查找模块的实现方法,其特征在于,所述步骤2中关键字查找包括单查找引擎模式和多查找引擎并行模式;
所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误;
所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并行处理。
4.根据权利要求1所述的网络处理器中查找模块的实现方法,其特征在于,当一帧的查找结果都保存后,由所述更新转发模块取用同时释放存储资源。
5.根据权利要求1所述的网络处理器中查找模块的实现方法,其特征在于,所述步骤1之前还包括如下步骤:
-当解析模块发出一帧的关键字,读取关键字和相应的辅助信息;所述辅助信息包括关键字的长度、查找表的序号和返回结果的长度。
6.一种网络处理器中查找模块的实现系统,所述网络处理器包括解析模块、查找模块、更新转发模块以及修改模块,其特征在于,所述网络处理器中查找模块的实现系统包括如下模块:
关键字接收模块,用于根据关键字的接收顺序为接收到的关键字分配存储地址和查找引擎并根据存储地址和查找引擎添加相对应的标签;
关键字查找模块,用于若干个查找引擎并行处理若干个关键字的查找,进而生成查找结果;
查找结果汇总模块,用于将查找结果根据所述标签按顺序保存。
7.根据权利要求6所述的网络处理器中查找模块的实现方法,其特征在于,所述关键字接收模块包括如下模块:
查找引擎分配模块,用于根据所有查找引擎空闲或忙碌的状态,在上一个关键字分配的引擎号基础上,为新接收的关键字选择一个空闲的查找引擎,将新接收的关键字保存到所述查找引擎对应的寄存器中;
存储地址分配模块,用于根据上一个关键字的查找结果占用的存储地址确定新接收的关键字查找结果的存储地址;
标签添加模块,用于根据新接收的关键字的存储地址和查找引擎的引擎号添加标签,所述标签用于标识所述关键字。
8.根据权利要求6或7所述的网络处理器中查找模块的实现方法,其特征在于,所述关键字查找模块中关键字查找包括单查找引擎模式和多查找引擎并行模式;
所述单查找引擎模式为仅一个查找引擎工作,用于调试定位错误;
所述多查找引擎并行模式具体为多个查找引擎对多个帧中的多个关键字进行并行处理。
9.根据权利要求6所述的网络处理器中查找模块的实现方法,其特征在于,当一帧的查找结果都保存后,由所述更新转发模块取用同时释放存储资源。
10.根据权利要求6所述的网络处理器中查找模块的实现方法,其特征在于,还包括关键字读取模块,
关键字读取模块用于当解析模块发出一帧的关键字,读取关键字和相应的辅助信息;所述辅助信息包括关键字的长度、查找表的序号和返回结果的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410464912.4A CN104301228A (zh) | 2014-09-12 | 2014-09-12 | 网络处理器中查找模块的实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410464912.4A CN104301228A (zh) | 2014-09-12 | 2014-09-12 | 网络处理器中查找模块的实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104301228A true CN104301228A (zh) | 2015-01-21 |
Family
ID=52320801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410464912.4A Pending CN104301228A (zh) | 2014-09-12 | 2014-09-12 | 网络处理器中查找模块的实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301228A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802827A (zh) * | 2016-12-06 | 2017-06-06 | 中国电子科技集团公司第三十二研究所 | 用于网络处理器中引擎分配的实现方法 |
CN109347747A (zh) * | 2018-11-13 | 2019-02-15 | 锐捷网络股份有限公司 | 一种数据处理方法及装置 |
CN111459630A (zh) * | 2020-03-24 | 2020-07-28 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 采用硬件多线程机制的网络处理器 |
CN111651487A (zh) * | 2020-05-25 | 2020-09-11 | 上海寒武纪信息科技有限公司 | 处理装置及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1316696A (zh) * | 2000-04-06 | 2001-10-10 | 国际商业机器公司 | 用于网络处理器的全匹配搜索方法和设备 |
CN1885820A (zh) * | 2005-06-21 | 2006-12-27 | 中兴通讯股份有限公司 | 一种路由转发表地址查找引擎装置 |
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
CN103401777A (zh) * | 2013-08-21 | 2013-11-20 | 中国人民解放军国防科学技术大学 | Openflow的并行查找方法和系统 |
CN104012053A (zh) * | 2014-04-30 | 2014-08-27 | 华为技术有限公司 | 查找装置及方法 |
-
2014
- 2014-09-12 CN CN201410464912.4A patent/CN104301228A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1316696A (zh) * | 2000-04-06 | 2001-10-10 | 国际商业机器公司 | 用于网络处理器的全匹配搜索方法和设备 |
CN1885820A (zh) * | 2005-06-21 | 2006-12-27 | 中兴通讯股份有限公司 | 一种路由转发表地址查找引擎装置 |
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
CN103401777A (zh) * | 2013-08-21 | 2013-11-20 | 中国人民解放军国防科学技术大学 | Openflow的并行查找方法和系统 |
CN104012053A (zh) * | 2014-04-30 | 2014-08-27 | 华为技术有限公司 | 查找装置及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802827A (zh) * | 2016-12-06 | 2017-06-06 | 中国电子科技集团公司第三十二研究所 | 用于网络处理器中引擎分配的实现方法 |
CN109347747A (zh) * | 2018-11-13 | 2019-02-15 | 锐捷网络股份有限公司 | 一种数据处理方法及装置 |
CN111459630A (zh) * | 2020-03-24 | 2020-07-28 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 采用硬件多线程机制的网络处理器 |
CN111459630B (zh) * | 2020-03-24 | 2023-12-08 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 采用硬件多线程机制的网络处理器 |
CN111651487A (zh) * | 2020-05-25 | 2020-09-11 | 上海寒武纪信息科技有限公司 | 处理装置及方法 |
CN111651487B (zh) * | 2020-05-25 | 2023-06-27 | 上海寒武纪信息科技有限公司 | 处理装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160132541A1 (en) | Efficient implementations for mapreduce systems | |
CN103095758B (zh) | 一种分布式文件系统及该系统中处理文件数据的方法 | |
CN110601922B (zh) | 一种对照实验的实现方法、装置、电子设备和存储介质 | |
CN109388590B (zh) | 提升多通道dma访问性能的动态缓存块管理方法和装置 | |
CN104301228A (zh) | 网络处理器中查找模块的实现方法及系统 | |
US9400767B2 (en) | Subgraph-based distributed graph processing | |
CN105653204A (zh) | 一种基于磁盘的分布式图计算方法 | |
CN104394096A (zh) | 一种基于多核处理器的报文处理方法及多核处理器 | |
CN106033442B (zh) | 一种基于共享内存体系结构的并行广度优先搜索方法 | |
CN104506669B (zh) | 一种面向分布式网络仿真平台的ip地址分配系统及方法 | |
CN103942152B (zh) | 支持simd体系结构的分布式堆栈数据存储方法 | |
CN114328623A (zh) | 芯片系统中的数据传输处理方法及相关装置 | |
CN104615684A (zh) | 一种海量数据通信并发处理方法及系统 | |
CN104424240A (zh) | 多表关联方法、主服务节点、计算节点及系统 | |
CN101018182A (zh) | 一种桥接的方法及装置 | |
CN105701128B (zh) | 一种查询语句的优化方法和装置 | |
CN102760073B (zh) | 一种任务调度方法、系统及装置 | |
CN108920105A (zh) | 基于社区结构的图数据分布式存储方法及装置 | |
CN110191057B (zh) | 路由查找方法及路由设备 | |
CN108762810A (zh) | 一种基于并行微引擎的网络报文头处理器 | |
JP2020194522A (ja) | データを処理するための方法、装置、デバイス及び媒体 | |
CN114297130A (zh) | 芯片系统中的数据传输处理方法及相关装置 | |
CN111026397A (zh) | 一种rpm包分布式编译方法及装置 | |
CN102841822B (zh) | 对jobTracker主机进行宕机保护的方法和系统 | |
CN110008030A (zh) | 一种元数据访问的方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150121 |