CN102780620A - 一种网络处理器和报文处理方法 - Google Patents

一种网络处理器和报文处理方法 Download PDF

Info

Publication number
CN102780620A
CN102780620A CN2012102568157A CN201210256815A CN102780620A CN 102780620 A CN102780620 A CN 102780620A CN 2012102568157 A CN2012102568157 A CN 2012102568157A CN 201210256815 A CN201210256815 A CN 201210256815A CN 102780620 A CN102780620 A CN 102780620A
Authority
CN
China
Prior art keywords
message
packet buffer
unit
subelements
memory cell
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.)
Granted
Application number
CN2012102568157A
Other languages
English (en)
Other versions
CN102780620B (zh
Inventor
张广庆
吴立群
王志忠
刘衡祁
王斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201210256815.7A priority Critical patent/CN102780620B/zh
Publication of CN102780620A publication Critical patent/CN102780620A/zh
Application granted granted Critical
Publication of CN102780620B publication Critical patent/CN102780620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种网络处理器和报文处理方法。本发明的网络处理器包括:报文接收单元、报文缓存单元和报文处理单元;其中报文缓存单元将自身划分为多个报文缓存子单元;报文接收单元将报文存储到多个报文缓存子单元中;报文处理单元同时读取多个报文的报文头数据,进行处理,将处理后报文头数据回写到报文缓存单元中原来的位置;报文接收单元从报文缓存单元中读取报文,并发送出去。本发明的网络处理器,能够有效的提升报文处理单元对报文缓存单元的访问带宽。

Description

一种网络处理器和报文处理方法
技术领域
本发明涉及一种本发明涉及数据通信技术领域,尤其涉及一种网络处理器和报文处理方法。
背景技术
图1为基本的网络处理器内部数据流程示意框图,由报文接收、报文缓存、报文处理和报文发送等四个单元组成。报文接收单元主要负责接收输入网络处理器的报文,将接收的报文存储到报文缓存单元的存储器中,并将报文信息参数发送给报文处理单元,报文信息包括报文长度、报文存储地址等相关参数。报文缓存单元的作用是缓存报文。报文处理单元是网络处理器的主要部分,在接收到的报文接收单元发送来的报文信息参数后,从报文缓存单元中读出报文头数据,根据各种业务需求对报文头的数据进行处理,然后将处理后报文头数据回写到报文缓存单元中原来的位置,同时将报文信息参数发送给报文发送单元。报文发送单元从报文处理单元接收到报文信息参数后,根据这些参数从报文缓存单元中读出报文数据,并发送出去。
图2是基于图1的网络处理器基本的报文处理方法。大小为16K*2048bit的报文缓存单元采用一块16K*2048bit的RAM实现。这种存储方式下,报文缓存单元每次只能响应一个对报文头数据的访问请求,很难满足报文处理单元对报文头数据访问带宽需求,影响报文处理单元的效率和网络处理器的性能。
在网络处理器中,报文处理单元主要是对缓存报文的报文头数据进行访问,然后进行解析和编辑等处理。报文处理单元内部的多核结构和并行处理等技术使得报文处理单元的性能得到很大的提升,这种提升同时也导致报文处理单元对报文缓存单元的访问带宽的提升,尤其提高了对报文头数据的访问带宽需求。报文缓存单元所能提供的报文头数据的访问带宽就成了制约报文处理效率的重要因素,进而可能成为整个网络处理器性能提升的瓶颈。
发明内容
本发明要解决的主要技术问题是,提供一种网络处理器和报文处理方法,提升报文处理单元对报文缓存单元的访问带宽。
为解决上述技术问题,本发明提供一种网络处理器,其具体的技术方案如下:
一种网络处理器,其特征在于,包括:报文接收单元、报文缓存单元和报文处理单元;
所述报文缓存单元用于将自身划分为多个报文缓存子单元;
所述报文接收单元用于接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中,并将报文信息参数发送给报文处理单元;
所述报文处理单元用于根据所述报文信息参数,从多个报文缓存单元中同时读出多个报文的报文头数据,根据各种业务需求同时对多个报文的报文头数据进行处理,并将处理后报文头数据回写到所述报文缓存子单元中原来的位置,同时将报文信息参数发送给报文发送单元;
所述报文发送单元用于根据接收到的所述报文信息参数从所述报文缓存单元中读出报文数据,并发送出去。
进一步地,所述报文缓存单元用于根据报文缓存单元的深度,将自身划分为多个报文缓存子单元;所述报文接收单元用于将接收的报文依次轮询写入多个报文缓存子单元中。
进一步地,所述报文缓存单元用于根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
进一步地,所述报文缓存子单元包括至少一个地址空间,所述多个报文缓存子单元中的相同地址空间共同构成一个报文存储单元;所述接收单元用于将接收到的相邻报文,以不同的起始位置依次轮询写入不相同的所述报文存储单元,所述不同的起始位置为位于不同报文缓存子单元和不同报文存储单元中的地址空间。
进一步地,所述接收单元用于将接收到的相邻报文,以不同的起始位置依次轮询写入相邻的所述报文存储单元;所述不同的起始位置为位于相邻的报文存储单元和不同报文缓存子单元中的地址空间。
进一步地,所述报文缓存单元包括N个所述报文缓存子单元;所述接收单元用于将接收的第M个报文以第I个报文缓存子单元的地址空间为起始地址,依次轮询写入所述报文存储单元中;所述M、N、I均为正整数,当M不为N的整数倍时,所述I为M除以N的余数;当M为N的整数倍时,I等于N。
进一步地,所述接收单元用于将接收的第M个报文划分成N个报文分片,将N个报文分片以第I个所述报文缓存子单元中的地址空间为起始地址,依次轮询写入所述报文存储单元中。
同样为了解决上述的技术问题,本发明还提供了一种报文处理方法,其具体的技术方案如下:
报文缓存单元将自身划分为多个报文缓存子单元;
报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中,并将报文信息参数发送给报文处理单元;
所述报文处理单元根据所述报文信息参数,从多个报文缓存单元中同时读出多个报文的报文头数据,根据各种业务需求同时对多个报文的报文头数据进行处理,并将处理后报文头数据回写到所述报文缓存子单元中原来的位置,同时将报文信息参数发送给报文发送单元;
所述报文发送单元根据接收到的所述报文信息参数从所述报文缓存单元中读出报文数据,并发送出去。
进一步地,所述报文缓存单元将自身划分为多个报文缓存子单元的处理过程包括:
报文缓存单元根据报文缓存单元的深度,将自身划分为多个报文缓存子单元;
所述报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中的处理过程包括:
所述报文接收单元将接收的报文依次轮询写入多个报文缓存子单元中。
进一步地,所述报文缓存单元将自身划分为多个报文缓存子单元的处理过程包括:
报文缓存单元根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
进一步地,文缓存单元根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元的处理过程具体包括:
报文缓存单元根据报文处理单元需要报文头数据的长度和对报文头数据的访问带宽,通过划分报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
进一步地,所述报文处理方法还包括:
将多个报文缓存子单元中的相同地址空间组成一个报文存储单元;
所述报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中的过程包括:
所述接收单元将接收到的相邻报文,以位于不同报文缓存子单元和不同报文存储单元中的地址空间为起始位置依次轮询写入不相同的所述报文存储单元。
进一步地,所述接收单元将接收到的相邻报文,以位于不同报文缓存子单元和不同报文存储单元中的地址空间为起始位置依次轮询写入不相同的所述报文存储单元具体包括:
所述接收单元将接收到的相邻报文,以位于不同报文缓存子单元和相邻报文存储单元中的地址空间为起始位置依次轮询写入相邻的所述报文存储单元。
本发明的有益效果是:
本发明的网络处理器通过将报文缓存单元划分为多个报文缓存单元,并且报文处理单元同时对读取多个报文文头数据进行处理,有效的提升了报文缓存单元中报文头数据的访问带宽;通过对报文采用不同的存储方式,存储到报文存储单元中,保证了多个RAM之间数据流量承载均衡,防止出现多个RAM存储空间空满不均匀的情况,如本发明的网络处理器的接收单元用于将接收到的相邻报文,以位于不同报文缓存子单元和不同报文存储单元中的地址空间为不同的起始位置依次轮询写入不相同的所述报文存储单元。
附图说明
图1为一种网络处理器的结构示意图;
图2为一种网络处理器中的报文缓存单元的结构示意图;
图3为本发明实施例一的网络处理器的一种结构示意图;
图4为本发明实施例一的报文缓存单元的一种结构示意图;
图5为本发明实施一的网络处理器的另一种结构示意图;
图6为本发明实施例一的网络处理器的一种报文存储示意图;
图7为本发明实施例一的网络处理器的另一种报文存储示意图;
图8为本发明实施例二的报文处理方法的框架流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
参考图3,为本实施的网络处理器包括:包括:报文接收单元、报文缓存单元和报文处理单元;
报文缓存单元用于将自身划分为多个报文缓存子单元;
报文接收单元用于接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中,并将报文信息参数发送给报文处理单元;
报文处理单元用于根据所述报文信息参数,从多个报文缓存单元中同时读出多个报文的报文头数据,根据各种业务需求同时对多个报文的报文头数据进行处理,并将处理后报文头数据回写到所述报文缓存子单元中原来的位置,同时将报文信息参数发送给报文发送单元;
报文发送单元用于根据接收到的所述报文信息参数从所述报文缓存单元中读出报文数据,并发送出去;
本实施例的报文缓存单元至少包括两种划分方式,一种是:报文缓存单元根据报文缓存单元的深度,将自身划分为多个报文缓存子单元,并且报文的存储方式为:报文接收单元将接收的报文依次轮询写入多个报文缓存子单元中。如图4所示,报文缓存单元RAM的存储空间大小为16K*2048bit,深度为16k,图中RAM划分为4块4K*2048bit的RAM,报文缓存单元包括4个RAMi,RAM0、RAM1、RAM2、RAM3、RAM4;报文接收单元接收到报文后依次轮询写入RAM0、RAM1、RAM2和RAM3。例如,报文接收单元接收的报文依次为A、B、C、D、E、F、G、H这8个报文,报文存储时将A报文写入RAM0、B报文写入RAM1、C报文写入RAM2、D报文写入RAM3,然后E报文写入RAM0、F报文写入RAM1、G报文写入RAM2、H报文写入RAM3。如图4所示的网络处理器,其具体报文处理过程,如图5所示。报文处理单元接收到的报文参数顺序从先到后为A1、B1、C1、D1、E1、F1、G1、H1同时接收单元将报文(从先到后)A、B、C、D、E、F、G、H,依次轮询地写入RAM0、RAM1、RAM2和RAM3中;报文处理单元根据报文参数读取各个报文的报文头数据进行处理,并将处理后的报文都数据写回报文头数据在报文缓存单元RAM中的原来位置,然后将报文参数A1、B1、C1、D1、E1、F1、G1、H1传输给报文发送单元;报文发送单元根据报文参数A1、B1、C1、D1、E1、F1、G1、H1,从报文缓存单元RAM中读取读取报文A、B、C、D、E、F、G、H,并发送出去。
这样的报文存储方式下,在最开始的一段时间内报文处理单元可以同时访问4个报文头数据,例如A、B、C、D四个报文的报文头数据,所以报文缓存单元可以向报文处理单元提供4倍于图2所示的报文头数据访问带宽。
但是如图4所示的报文缓存单元RAM的划分方式和存储方式,虽然提升了报文头数据访问带宽,但还是会存有缺陷,如由于报文处理时由于业务需求不同,各个报文处理顺序和处理时间长短可能不同,导致报文处理完成时间不同,那么报文处理单元发送的报文参数的顺序可能是和输入的顺序是不同的。
为了解决更有效提升报文处理单元对报文头数据的访问带宽,本实施例的报文缓存单元的还可以有另一种划分方式为:报文缓存单元用于根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
例如报文缓存单元RAM可以划分为N个报文缓存子元RAMi(i=0、1、2、3、4……),N为正整数,每个报文缓存子单元RAMi位宽为所述报文缓存单元位宽的1/N,N的值可以取决于报文处理单元需要报文头数据的长度和对报文头数据的访问带宽;即报文缓存单元RAM可以根据报文处理单元需要报文头数据的长度和对报文头数据的访问带宽来划分报文缓存子单元RAMi。
假设报文缓存单元RAM的大小为Depth*Width,其中Width为报文缓存单元RAM的宽度,现在将其划分成N个Depth*(Width/N)的RAM Block,即RAM0、RAM1….RAMN。每个RAM Block的位宽为Width/N。在Width确定的情况下,N值大小由报文处理单元需要的报文头数据长度和报文处理单元对报文头数据的访问带宽需求共同确定,即要满足访问带宽需求又要保证每次读得的数据长度不小于报文处理单元所需要的报文头长度。但在Width确定的情况下只能将访问带宽提高一定倍数,若需要更高的访问带宽,则需要扩大Width来满足。如报文缓存单元的位宽为2048bit时,报文处理单元需要的报文头长度为512bit,若访问带宽需求为两倍的单个RAM块访问带宽,则N值可取2或4;若访问带宽需求为四倍的单个RAM块读带宽,则N值取4;若需要5倍于单个RAM块的访问带宽,则需要将Width扩大到(2048+512)bit。上述通过将报文缓存单元划分为N个RAM,可以使报文处理单元对报文头数据的访问带宽比不划分的情况下,提高N倍。
为了使报文缓存单元RAM按照RAM的位宽划分为N个RAMi的这种划分方式能够克服按照第一种划分方式即按照RAM深度来划分的缺陷,本实施例的报文接收单元将接收的报文存储到N个RAMi中,其存储或写入的方式可以有如下方式。
报文缓存子单元中的相同地址空间共同构成一个报文存储单元;所述接收单元用于将接收到的相邻报文,以不同的起始位置依次轮询写入不相同的所述报文存储单元,所述不同的起始位置为位于不同报文缓存子单元和不同报文存储单元中的地址空间。具体设置如下:
N个RAMi中的相同地址空间共同构成一个报文存储单元;接收单元用于将接收到的相邻报文,以不同的起始位置轮询写入不相同的报文存储单元,所述不同的起始位置为位于不同RAM和不同报文存储单元中的地址空间。如图6所示,报文缓存单元包括4个RAM,RAM0、RAM1、RAM2和RAM3,每个RAM中包括多个地址空间,如RAM0包括地址空间a0、b0、c0、d0……,RAM1包括地址空间a1、b1、c1、d1…….,RAM2包括地址空间a2、b2、c2、d2……,RAM3包括地址空间a3、b3、c3、d3……,地址空间a0、a1、a2、a3构成了一个报文存储单元a,同理b0、b1、b2、b3构成报文存储单元b,c0、c1、c2、c3构成了报文存储单元c,d0、d1、d2、d3构成报文存储单元d。接收单元将A、B、C、D,4个报文存储到报文缓存单元中,其中相邻的两个报文写在以不同的起始位置写入不同的报文存储单元,如图6所示,报文A以a0为起始位置轮询写在报文存储单元a中,报文B可以以c1为起始位置,轮询写入报文存储单元c中,图6中A0、A1、A2、A3为报文A的报文分片。以此类推,报文C可以以b2为起始位置写入存储单元b中,报文D可以以d3为起始地址写入存储单元d中。
当然为了合理和有效率的存储报文,以及提高报文处理单元读取报文的效率,本实施例的报文接收单元还可以将相邻的报文写入相邻的报文存储单元中,这时的不同的起始位置为位于相邻的报文存储单元和不同报文缓存子单元中的地址空间。如图6所示的报文缓存单元,报文B也可以写入与报文存储单元a相邻的存储单元b中,如以b1或b2或b3为起始位置写入报文存储单元b中。同理报文C和D也可以写在报文存储单元才c、d中,但是起始位置所在的RAM是不同的。
进一步地,在上述存储报文的基础上,接收单元可以用于将接收的第M个报文以第I个RAM的地址空间为起始地址,依次轮询写入所述报文存储单元中;所述M、I均为正整数,当M不为N的整数倍时,所述I为M除以N的余数;当M为N的整数倍时,I等于N。
如图7所示,本实施例中,假设报文处理单元每次处理需要的报文头数据长度为512bit,报文缓存单元的大小为16K*2048bit。如图中所示,将这块16K*2048bit的报文缓存RAM划分成4块16K*512bit的RAM Block,即RAM0,RAM1,RAM2和RAM3。图中,RAM0,RAM1,RAM2和RAM3的相同地址单元共同构成报文缓存单元的一个地址单元,通过片选信号选择读写的RAM Block。
报文存储时,A报文为接收到的第一个报文,A0-A3为报文的4个512bit的报文分片。接收单元可以根据报文缓存单元的划分情况,将缓存的报文划分为适合的报文分片,如报文缓存单元中包括N个RAMi,则将报文划分为N个报文分片。A的报文分片写入的RAM Block顺序如图所示为该存储地址空间的RAM0,RAM1,RAM2,RAM3。
B报文、C报文和D报文依次为接收到的第二、第三和第四个报文,B、C、D报文在存储器中的缓存顺序和方式如图中所示。
这样的报文缓存RAM划分和报文存储方式下,报文处理单元可同时读取RAM0,RAM1,RAM2和RAM3,得到A、B、C、D这4个报文的报文头数据A0、B0、C0、D0,然后进行处理,处理完毕后将数据回写到原来的位置,等待报文发送单元发送出去。
本实施例中的报文处理单元可以对报文的处理主要是对报文头部进行处理,可同时处理多个报文。报文缓存单元划分成N个RAM Block后,报文处理单元可以同时对N个RAM Block进行读操作,同时得到N个报文头数据,从而使得报文缓存单元中报文头部分数据的访问带宽得到提升。
在网络处理器中,通过对报文缓存单元RAM的划分和报文缓存管理,有效的提升了报文缓存单元中报文头数据的访问带宽,并保证了多个RAMBlock之间数据流量承载均衡,不会出现多个RAM Block存储空间空满不均匀的情况。
实施例二:
如图8,为本实施例的报文处理方法的框架流程图。其该方法包括以下步骤:
报文缓存单元将自身划分为多个报文缓存子单元;
报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中,并将报文信息参数发送给报文处理单元;
所述报文处理单元用根据所述报文信息参数,从多个报文缓存单元中同时读出多个报文的报文头数据,根据各种业务需求同时对多个报文的报文头数据进行处理,并将处理后报文头数据回写到所述报文缓存子单元中原来的位置,同时将报文信息参数发送给报文发送单元;
所述报文发送单元根据接收到的所述报文信息参数从所述报文缓存单元中读出报文数据,并发送出去。
本实施例报文处理方法中的报文缓存单元将自身划分为多个报文缓存子单元的处理过程包括:
报文缓存单元根据报文缓存单元的深度,将自身划分为多个报文缓存子单元;
所述报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中的处理过程包括:
所述报文接收单元将接收的报文依次轮询写入多个报文缓存子单元中。
上述所述报文缓存单元将自身划分为多个报文缓存子单元的处理过程包括:
报文缓存单元根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
进一步地,报文缓存单元根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元的处理过程具体可以包括:
报文缓存单元根据报文处理单元需要报文头数据的长度和对报文头数据的访问带宽,通过划分报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
本实施例的报文处理方法还包括:
将多个报文缓存子单元中的相同地址空间组成一个报文存储单元;
报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中的过程包括:
接收单元将接收到的相邻报文,以位于不同报文缓存子单元和不同报文存储单元中的地址空间为起始位置依次轮询写入不相同的所述报文存储单元。
本实施例报文处理方法中的接收单元将接收到的相邻报文,以位于不同报文缓存子单元和不同报文存储单元中的地址空间为起始位置依次轮询写入不相同的所述报文存储单元具体包括:
所述接收单元将接收到的相邻报文,以位于不同报文缓存子单元和相邻报文存储单元中的地址空间为起始位置依次轮询写入相邻的所述报文存储单元。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (13)

1.一种网络处理器,其特征在于,包括:报文接收单元、报文缓存单元和报文处理单元;
所述报文缓存单元用于将自身划分为多个报文缓存子单元;
所述报文接收单元用于接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中,并将报文信息参数发送给报文处理单元;
所述报文处理单元用于根据所述报文信息参数,从多个报文缓存单元中同时读出多个报文的报文头数据,根据各种业务需求同时对多个报文的报文头数据进行处理,并将处理后报文头数据回写到所述报文缓存子单元中原来的位置,同时将报文信息参数发送给报文发送单元;
所述报文发送单元用于根据接收到的所述报文信息参数从所述报文缓存单元中读出报文数据,并发送出去。
2.如权利要求1所述的网络处理器,其特征在于,所述报文缓存单元用于根据报文缓存单元的深度,将自身划分为多个报文缓存子单元;所述报文接收单元用于将接收的报文依次轮询写入多个报文缓存子单元中。
3.如权利要求1所述的网络处理器,其特征在于,所述报文缓存单元用于根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
4.如权利要求3所述的网络处理器,其特征在于,所述报文缓存子单元包括至少一个地址空间,所述多个报文缓存子单元中的相同地址空间共同构成一个报文存储单元;所述接收单元用于将接收到的相邻报文,以不同的起始位置依次轮询写入不相同的所述报文存储单元,所述不同的起始位置为位于不同报文缓存子单元和不同报文存储单元中的地址空间。
5.如权利要求4所述的网络处理器,其特征在于,所述接收单元用于将接收到的相邻报文,以不同的起始位置依次轮询写入相邻的所述报文存储单元;所述不同的起始位置为位于相邻的报文存储单元和不同报文缓存子单元中的地址空间。
6.如权利要求5所述的网络处理器,其特征在于,所述报文缓存单元包括N个所述报文缓存子单元;所述接收单元用于将接收的第M个报文以第I个报文缓存子单元的地址空间为起始地址,依次轮询写入所述报文存储单元中;所述M、N、I均为正整数,当M不为N的整数倍时,所述I为M除以N的余数;当M为N的整数倍时,I等于N。
7.如权利要求6所述的网络处理器,其特征在于,所述接收单元用于将接收的第M个报文划分成N个报文分片,将N个报文分片以第I个所述报文缓存子单元中的地址空间为起始地址,依次轮询写入所述报文存储单元中。
8.一种报文处理方法,其特征在于,包括以下步骤:
报文缓存单元将自身划分为多个报文缓存子单元;
报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中,并将报文信息参数发送给报文处理单元;
所述报文处理单元根据所述报文信息参数,从多个报文缓存单元中同时读出多个报文的报文头数据,根据各种业务需求同时对多个报文的报文头数据进行处理,并将处理后报文头数据回写到所述报文缓存子单元中原来的位置,同时将报文信息参数发送给报文发送单元;
所述报文发送单元根据接收到的所述报文信息参数从所述报文缓存单元中读出报文数据,并发送出去。
9.如权利要求8所述的报文处理方法,其特征在于,所述报文缓存单元将自身划分为多个报文缓存子单元的处理过程包括:
报文缓存单元根据报文缓存单元的深度,将自身划分为多个报文缓存子单元。
所述报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中的处理过程包括:
所述报文接收单元将接收的报文依次轮询写入多个报文缓存子单元中。
10.如权利要求8所述的报文处理方法,其特征在于,所述报文缓存单元将自身划分为多个报文缓存子单元的处理过程包括:
报文缓存单元根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
11.如权利要求10所述的报文处理方法,其特征在于,报文缓存单元根据报文缓存单元的宽度,将自身划分为多个报文缓存子单元的处理过程具体包括:
报文缓存单元根据报文处理单元需要报文头数据的长度和对报文头数据的访问带宽,通过划分报文缓存单元的宽度,将自身划分为多个报文缓存子单元。
12.如权利要求11所述的报文处理方法,其特征在于,所述报文处理方法还包括:
将多个报文缓存子单元中的相同地址空间组成一个报文存储单元;
所述报文接收单元接收输入网络处理器的报文,将接收的报文存储到多个报文缓存子单元中的过程包括:
所述接收单元将接收到的相邻报文,以位于不同报文缓存子单元和不同报文存储单元中的地址空间为起始位置依次轮询写入不相同的所述报文存储单元。
13.如权利要求12所述的报文处理方法,其特征在于,所述接收单元将接收到的相邻报文,以位于不同报文缓存子单元和不同报文存储单元中的地址空间为起始位置依次轮询写入不相同的所述报文存储单元具体包括:
所述接收单元将接收到的相邻报文,以位于不同报文缓存子单元和相邻报文存储单元中的地址空间为起始位置依次轮询写入相邻的所述报文存储单元。
CN201210256815.7A 2012-07-24 2012-07-24 一种网络处理器和报文处理方法 Active CN102780620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210256815.7A CN102780620B (zh) 2012-07-24 2012-07-24 一种网络处理器和报文处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210256815.7A CN102780620B (zh) 2012-07-24 2012-07-24 一种网络处理器和报文处理方法

Publications (2)

Publication Number Publication Date
CN102780620A true CN102780620A (zh) 2012-11-14
CN102780620B CN102780620B (zh) 2016-06-15

Family

ID=47125381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210256815.7A Active CN102780620B (zh) 2012-07-24 2012-07-24 一种网络处理器和报文处理方法

Country Status (1)

Country Link
CN (1) CN102780620B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547454A (zh) * 2017-09-07 2018-01-05 郑州云海信息技术有限公司 基于特定传输协议的网络控制芯片中报文拆分处理方法
CN110908939A (zh) * 2019-11-27 2020-03-24 新华三半导体技术有限公司 一种报文处理方法、装置及网络芯片
CN112685358A (zh) * 2020-12-24 2021-04-20 电信科学技术第五研究所有限公司 一种基于fpga的ddr3分组读写方法
CN114598669A (zh) * 2022-03-07 2022-06-07 潍柴动力股份有限公司 一种报文的存储方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870593A (zh) * 2006-04-12 2006-11-29 杭州华为三康技术有限公司 基于现场可编程逻辑阵列的读写缓存单元的方法及装置
CN101257457A (zh) * 2008-03-31 2008-09-03 华为技术有限公司 网络处理器复制报文的方法和网络处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1870593A (zh) * 2006-04-12 2006-11-29 杭州华为三康技术有限公司 基于现场可编程逻辑阵列的读写缓存单元的方法及装置
CN101257457A (zh) * 2008-03-31 2008-09-03 华为技术有限公司 网络处理器复制报文的方法和网络处理器

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547454A (zh) * 2017-09-07 2018-01-05 郑州云海信息技术有限公司 基于特定传输协议的网络控制芯片中报文拆分处理方法
CN110908939A (zh) * 2019-11-27 2020-03-24 新华三半导体技术有限公司 一种报文处理方法、装置及网络芯片
CN110908939B (zh) * 2019-11-27 2020-10-09 新华三半导体技术有限公司 一种报文处理方法、装置及网络芯片
CN112685358A (zh) * 2020-12-24 2021-04-20 电信科学技术第五研究所有限公司 一种基于fpga的ddr3分组读写方法
CN114598669A (zh) * 2022-03-07 2022-06-07 潍柴动力股份有限公司 一种报文的存储方法、装置及设备
CN114598669B (zh) * 2022-03-07 2024-03-19 潍柴动力股份有限公司 一种报文的存储方法、装置及设备

Also Published As

Publication number Publication date
CN102780620B (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
CN101916227B (zh) 一种rldram sio存储器访问控制方法和装置
US20140075108A1 (en) Efficient tcam resource sharing
Bando et al. Flashtrie: Hash-based prefix-compressed trie for IP route lookup beyond 100Gbps
CN102045258B (zh) 数据缓存管理方法及装置
US20160132541A1 (en) Efficient implementations for mapreduce systems
CN107220187B (zh) 一种缓存管理方法、装置及现场可编程门阵列
CN101594299B (zh) 基于链表的交换网络中队列缓冲管理方法
CN104394096A (zh) 一种基于多核处理器的报文处理方法及多核处理器
CN101848135B (zh) 芯片的统计数据的管理方法和装置
CN102780620A (zh) 一种网络处理器和报文处理方法
CN104102586A (zh) 一种地址映射处理的方法、装置
CN106503008A (zh) 文件存储方法和装置及文件查询方法和装置
CN104572498A (zh) 报文的缓存管理方法和装置
CN102970349B (zh) 一种dht网络的存储负载均衡方法
CN102541769A (zh) 一种存储器接口访问控制方法及装置
EP2829988B1 (en) Storage apparatus, and system and method for executing access operations
CN106201918A (zh) 一种基于大数据量和大规模缓存快速释放的方法和系统
US20130110968A1 (en) Reducing latency in multicast traffic reception
US20170212689A1 (en) Packet processing system, method and device utilizing memory sharing
CN113126911A (zh) 基于ddr3 sdram的队列管理方法、介质、设备
US10067868B2 (en) Memory architecture determining the number of replicas stored in memory banks or devices according to a packet size
CN102098221A (zh) 一种报文查询方法及装置
CN107911317A (zh) 一种报文调度方法及装置
US10067690B1 (en) System and methods for flexible data access containers
CN105591979A (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
C14 Grant of patent or utility model
GR01 Patent grant