CN113098798A - 配置共享表项资源池的方法、包交换方法、芯片以及电路 - Google Patents
配置共享表项资源池的方法、包交换方法、芯片以及电路 Download PDFInfo
- Publication number
- CN113098798A CN113098798A CN202110355203.2A CN202110355203A CN113098798A CN 113098798 A CN113098798 A CN 113098798A CN 202110355203 A CN202110355203 A CN 202110355203A CN 113098798 A CN113098798 A CN 113098798A
- Authority
- CN
- China
- Prior art keywords
- shared
- cache
- processing module
- bus node
- resource
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Abstract
本发明公开了一种配置共享表项资源池的方法、包交换方法、包交换芯片和包交换电路。该包交换电路包括:输入端口处理模块、路由资源处理模块、共享表项缓存处理模块和输出端口处理模块,所述共享表项缓存处理模块通过所述路由资源处理模块分别连接所述输入端口处理模块和所述输出端口处理模块。本发明不需要重新定制芯片和重新投片,只需重新配置芯片的流程,就能适应新的应用场景,具有通用性强、灵活性高等优点;另外,还能减少成本,提升制造流片的效率。
Description
技术领域
本发明属于缓存管理技术领域,更具体地,涉及一种配置共享表项资源池的方法、包交换方法、包交换芯片和包交换电路。
背景技术
包交换,也称为分组交换,它是将用户传送的数据分成一定的长度,每个部分叫做一个分组,在每个分组的前面加上一个分组头,用以指明该分组发往何地址,然后由交换机根据每个分组头中的信息,将分组转发至目的地址。传统的包交换芯片都是支持固定的包类型和包业务,所支持的业务范围都是根据目前的需求而定制的,包交换芯片里面的具体的行为表项深度根据需求而来,芯片一旦流片后,包交换芯片所有的功能都是固定的,所处理的行为表项的大小不可改变。
然而,当后续需求变更时,所处理的行为表项需要扩大或者减小,此时需要重新定制芯片和重新投片,设备也需要对应的升级换代,这就造成流片时间周期变长,成本增加等问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种配置共享表项资源池的方法、包交换方法和包交换芯片,其目的在于当需求变化或协议更新需要修改所处理的行为表项的表项深度时,只需要重新配置芯片的流程,就能适应新的应用场景,具有通用性,由此解决制造新的流片时间周期长、成本高的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种包交换电路,包括:输入端口处理模块、路由资源处理模块、共享表项缓存处理模块和输出端口处理模块,所述共享表项缓存处理模块通过所述路由资源处理模块分别连接所述输入端口处理模块和所述输出端口处理模块;
所述输入端口处理模块,用于接收对共享表项资源池的查表请求,并将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址;
所述路由资源处理模块,用于根据所述内部地址将所述查表请求分配至所述共享表项缓存处理模块对应的缓存,并获得所述查表请求对应的查找结果,将所述查找结果发送至所述输出端口处理模块;
所述输出端口处理模块,用于返回所述查表请求对应的所述查找结果。
可选地,所述路由资源处理模块包括:输入总线节点、输出总线节点、可配置的路由单元、固定总线和交换总线;
所述输入总线节点,用于从所述输入端口处理模块获取所述内部地址;
所述可配置的路由单元,用于根据所述内部地址和所述输入总线节点从所述固定总线和所述交换总线中确定所述查表请求访问所述共享表项资源池的访问路径;其中,当根据所述内部地址计算获得所述查表请求访问的缓存单元与所述输入总线节点属于同一行时,确定通过所述固定总线访问所述缓存单元;当根据所述内部地址计算获得所述查表请求访问的缓存单元与所述输入总线节点属于不同行时,确定通过所述交换总线访问所述缓存单元;
所述输出总线节点,用于根据所述输入总线节点和所述访问路径,将所述查找结果发送至所述输出端口处理模块。
可选地,所述输入总线节点包括多个固定输入总线节点和可配置输入总线节点,所述输入端口处理模块包括多个输入端口;
所述输出总线节点包括多个固定输出总线节点和可配置输出总线节点,所述输出端口处理模块包括多个输出端口;
所述多个固定输入总线节点与所述多个输入端口一一对应,所述多个固定输出总线节点与所述多个输出端口一一对应;
当所述输入端口所需的缓存空间大于预设阈值时,控制所述输入端口连接所述可配置输入总线节点,通过所述可配置输入总线节点访问所述共享表项资源池,并通过所述可配置输出总线节点输出所述查找结果。
可选地,所述共享表项缓存处理模块包括n+1组缓存组,所述n是所述输入端口的个数,所述缓存组构成所述共享表项资源池。
可选地,所述可配置输入总线节点和所述多个固定输入总线节点排成一列,并且所述可配置输入总线节点设于所述多个固定输入总线节点的中间,在所述可配置输入总线节点上部分的所述固定输入总线节点组成第一路由,在所述可配置输入总线节点下部分的所述固定输入总线节点组成第二路由;
其中,所述第一路由中包括一个用于共享所述第二路由的所述固定输入总线节点;所述第二路由中包括一个用于共享所述第一路由的所述固定输入总线节点;
所述可配置输入总线节点用于共享所述第一路由和所述第二路由。
另一个方面,提供了一种配置共享表项资源池的方法,所述配置共享表项资源池的方法应用于上述包交换电路,所述方法包括:
根据所需的存储器资源大小将所述共享表项资源池中的表项划分第一表项和第二表项;其中,将所述共享表项资源池中的每一表项所需的存储器资源大小分别与一个缓存组的存储量进行比较,如果所述表项所需的存储资源大小小于或等于所述缓存组的存储量,则划分所述表项为第一表项;否则,划分所述表项为第二表项;
将所述缓存组对应的所述存储量与所述第一表项对应的所需存储资源大小进行求差运算,所述求差运算的结果为所述第一表项对应的共享存储资源;
根据所述共享存储资源和所述第二表项所需的存储资源,获取所述第二表项的待共享存储资源;
检测所述待共享存储资源是否满足划分所述第一表项的条件;其中,当所述待共享存储资源的大小大于所述缓存组的所述存储量时,确定所述待共享存储资源不满足划分所述第一表项的条件;当所述待共享存储资源的大小小于或等于所述缓存组的所述存储量时,确定所述待共享存储资源满足划分所述第一表项的条件;
若不满足划分所述第一表项的条件,则基于所述待共享存储资源,分配其他所述第一表项对应的共享存储资源给所述第二表项,直至所述第二表项的所述待共享存储资源满足划分所述第一表项的条件。
又一个方面,提供了一种包交换方法,所述方法包括:
接收对共享表项资源池的查表请求;其中,所述共享表项资源池是根据如上所述的配置共享表项资源池的方法进行配置的;
将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址;
根据转换后的所述内部地址将所述查表请求分配至指定的缓存;
识别所述查表请求,获得所述查表请求对应的查找结果;
将所述查找结果发送至对应的输出端口,并通过所述输出端口返回所述查找结果。
可选地,所述将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址,包括:
获取所述查表请求对应的查找地址空间的第一空间量,以及缓存单元的地址空间的第二空间量;
根据所述第一空间量和所述第二空间量,计算所述查表请求对应的待分配的缓存单元数量;
基于所述缓存单元数量和总线节点为所述查表请求分配所述共享资源池的内部地址。
可选地,所述基于所述缓存单元数量和总线节点为所述查表请求分配所述共享资源池的内部地址,包括:
在所述缓存单元数量小于或等于单个总线节点的总缓存单元数量时,在所述单个总线节点内为所述查表请求分配内部地址;
在所述缓存单元数量大于单个总线节点的总缓存单元数量时,基于所述总线节点和可配置总线节点为所述查表请求分配内部地址。
再一个方面,提供了一种包交换芯片,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明实施例提供的配置共享表项资源池的方法、包交换方法和包交换芯片,将共享表项资源池中的表项划分第一表项和第二表项,根据第一表项的共享存储资源将所述第二表项继续划分为多个第一表项,通过改进路由资源,使得支持共享的子模块的个数变多,各个子模块的共享表项的大小可以动态配置,并且不受共享缓存单元位置的限制。由此,当后续需求变更,所处理的行为表项需要扩大或减小时,不需要重新定制芯片和重新投片,只需重新配置芯片的流程,就能适应新的应用场景,具有通用性强、灵活性高等优点;另外,还能减少成本,提升制造流片的效率。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种包交换电路的结构框图;
图2是本发明实施例提供的一种包交换电路的结构示意图;
图3是本发明实施例提供的一种包交换方法的流程图;
图4是本发明实施例提供的一种配置共享表项资源池的方法的流程图;
图5是本发明实施例提供的将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址的示意图;
图6是本发明实施例提供的输入总线节点分配路由资源的示意图;
图7是本发明实施例提供的输出总线节点分配路由资源的示意图;
图8是本发明实施例提供的一种包交换芯片的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
请参阅图1,图1是本发明实施例提供的一种包交换电路的结构框图,该包交换电路10包括:输入端口处理模块11、路由资源处理模块12、共享表项缓存处理模块13以及输出端口处理模块14。其中,路由资源处理模块12包括输入路由和输出路由,所述输入端口处理模块11通过所述输入路由连接所述共享表项缓存处理模块13,所述共享表项缓存处理模块13通过所述输出路由连接所述输出端口处理模块14。
所述输入端口处理模块11用于接收对共享表项资源池的查表请求,并将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址;所述路由资源处理模块12用于根据转换后的所述内部地址将所述查表请求分配至所述共享表项缓存处理模块13对应的缓存;所述共享表项缓存处理模块13用于识别所述查表请求,获得所述查表请求对应的查找结果;所述路由资源处理模块12还用于将所述查找结果发送至所述输出端口处理模块14;所述输出端口处理模块14用于返回所述查表请求对应的所述查找结果。
具体地,所述输入端口处理模块11包括输入端口和输入端口处理单元。该输入端口可以是多个,比如图2中入口port0至入口port n组成该多个输入端口。输入端口处理单元可以完成查找地址的转换和保护,在本实施例中,其用于将查表请求对应的查找地址转换为共享表项资源池的内部地址,该共享表项资源池可通过下述配置共享表项资源池的方法进行配置。
经转换后的所述内部地址传输至所述路由资源处理模块12。所述路由资源处理模块12包括输入总线节点、输出总线节点、固定总线、交换总线和可配置的路由单元。所述输入总线节点用于从所述输入端口处理模块获取所述内部地址。所述可配置的路由单元用于根据所述内部地址和所述输入总线节点从所述固定总线和所述交换总线中确定所述查表请求访问所述共享表项资源池的访问路径;其中,当根据所述内部地址计算获得所述查表请求访问的缓存单元与所述输入总线节点属于同一行时,确定通过所述固定总线访问所述缓存单元;当根据所述内部地址计算获得所述查表请求访问的缓存单元与所述输入总线节点属于不同行时,确定通过所述交换总线访问所述缓存单元。所述输出总线节点,用于根据所述输入总线节点和所述访问路径,将所述查找结果发送至所述输出端口处理模块。
其中,所述可配置的路由单元包括路由使能单元和路由选择器,比如,如图2所示,固定输入总线节点0至固定输入总线节点n,以及可配置输入总线节点共同组成所述输入总线节点。Mux n to 1即所述路由选择器。所述路由使能单元用于确定所述内部地址对应的路由,根据所述路由将所述查表请求分配到指定的缓存。其中,确实所述内部地址对应的路由也即是确定当前具体使用的输入总线节点、使用固定总线还是交换总线,以及具体使用的输出总线节点。
所述输入总线节点包括多个固定输入总线节点和一个可配置输入总线节点。当输入端口所需的缓存空间小于或等于预设阈值时,确定与所述输入端口连接固定输入总线节点,所述固定输入总线节点通过所述固定总线和/或所述交换总线访问共享表项资源池。当输入端口所需的缓存空间大于预设阈值时,所述输入端口通过所述路由选择器连接所述可配置输入总线节点,所述可配置输入总线节点通过所述固定总线和/或所述交换总线访问共享表项资源池。所述输入端口包括多个,该多个输入端口与所述多个固定输入总线节点一一对应。
其中,在所述固定输入总线节点访问所述固定总线和所述交换总线,以及所述可配置输入总线节点访问所述固定总线和所述交换总线时,都是由所述路由使能单元根据所述内部地址计算当前需要访问固定总线还是交换总线。
该输出路由也是由固定总线、交换总线、输出总线节点路由使能单元和路由选择器组成。所述输出总线节点包括多个固定输出总线节点和一个可配置输出总线节点。比如,如图2所示,固定输出总线节点0至固定输出总线节点n,以及可配置输出总线节点共同组成所述输出总线节点。该路由使能单元控制所述查找结果的输出路由,通常是从哪个输入总线节点进入,则从该输入总线节点对应的输出总线节点出去。
其中,输出端口处理模块14包括多个输出端口,所述多个固定输出总线节点与所述多个输出端口一一对应。
所述共享表项缓存处理模块13可以处理所有固定总线和交换总线的查表请求。所述共享表项缓存处理模块13包括缓存处理单元和共享表项资源池,比如,图2中全部的memunit组成所述共享表项资源池。所述缓存处理单元用于根据所述查表请求的种类在所述共享表项资源池中进行查找,并返回查找结果。
下面通过一具体的包交换电路进行说明,例如,如图2所示,该包交换电路包括:多个输入端口、多个固定输入总线节点、可配置输入总线节点、多个缓存单元、多个固定输出总线节点、可配置输出总线节点、固定总线、交换总线以及多个输出端口。
其中,所述输入端口,即图2中的入口port0至入口port n的一端连接需要共享缓存的模块,另一端分别连接一所述输入总线节点,所述输入端口与所述输入总线节点一一对应,当某个输入端口的共享缓存所需的共享空间较大时,还会为该输入端口配置一可配置输入总线节点,以达到任何一个输入端口都可以访问整片缓存空间的目的。其中,入口port 0至入口port n通过Mux n to 1与可配置输入总线节点连接,所述Mux n to 1即数据选择器,其用于将多路输入数据中由n位通道选择信号确定的其中一路数据传送至输出端,即从入口port 0至入口port n中确定一路数据传送至可配置输入总线节点。比如,当某个输入端口的共享缓存所需的共享空间较大时,内部此时需要2个port访问缓存资源,设计Mux n to 1和可配置输入总线节点,由此可以灵活的配置可配置输入总线节点为输入端口的任何一个。
所述固定输入总线节点和可配置输入总线节点组成输入总线节点,所述输入总线节点通过固定总线和交换总线与所述缓存单元(即图1中的全部mem unit)通信连接。其中,路由资源由n+1组固定总线(假设输入端口的端口个数为n,并且还包括一个可配置输入总线节点)和4组交换总线(例如,如图6所示,该4组交换总线包括:第一组交换总线Wdm_0、Wdm_2、Wdm_4、Wdm_6;第二组交换总线Wdm_1、Wdm_3、Wdm_5、Wdm_7、Wdm_8、Wdm_9;第三组交换总线Wum_0、Wum_2、Wum_5、Wum_6、Wum_7;第四组交换总线Wum_1、Wum_3、Wum_4)组成,当单个输入总线节点访问本行的缓存颗粒时,通过固定总线访问,当每组输入总线节点访问非本行的缓存颗粒时,通过交换总线访问,其中,所述交换总线由向上访问的路由总线和向下访问的路由总线组成,向上访问的路由总线(例如图6中的所述第三组交换总线和所述第四组交换总线)和向下访问的路由总线(例如图6中的所述第一组交换总线和所述第二组交换总线)各2条。需要说明的是,上述设置4组交换总线,该4组是与输入总线节点的数目相关的,它是考虑到电路的可实现性和最优化而得到的解,该解如果过大,会导致集成电路后端综合产生问题,比如时序上过不去。另外,上述4组交换总线的排列组合和顺序不是唯一的,具体的交换总线是根据分配算法来确定的,在每次配置交换总线前都会根据算计进行求解以获得对应的交换总线配置方法。
所述缓存单元用于通过固定总线和交换总线连接所述输出总线节点(即固定输出总线节点0至固定输出总线节点n,以及可配置输出总线节点);所述输出总线节点连接所述输出端口,所述输出端口包括出口port 0至port n,其中,可配置输出总线节点通过数据选择器(Mux n to 1)与所述输出端口连接。
其中,所述固定输出总线节点0至固定输出总线节点n是与输入总线节点1至输入总线节点n对称的,从哪个固定输入总线节点进入,则从该固定输入总线节点对应的固定输出总线节点出去,比如从固定输入总线节点2进入,则相应地从固定输出总线节点2出去。输出端口连接的Mux n to1与输入端口连接的Mux n to 1也是对称的,比如输入端口port1通过Mux n to 1与可配置输入总线节点连接,在输出时,可配置输出总线节点通过Mux n to1与输出端口port1连接。
其中,在查表完成后,返回的结果则需要根据查表请求的类型做出相应地反应,比如,查表完成后如果是直接查找和精确匹配查找,则直接根据响应信号的指示处理即可,如果是TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)查找,则需要进行仲裁,仲裁的方法可以是在多个TCAM返回信号同时有效时,取地址小的进行处理。
此外,路由资源受4组交换总线的限制,单个输入总线节点访问的缓存的资源有限,当单个输入总线节点需要的缓存资源很大时,需要为该输入总线节点配置一可配置的输入总线节点。
上述包交换电路采用固定总线和交换总线相结合的方式组成路由总线,该路由总线可以与全部的存储单元连接,并基于下述包交换方法和配置共享表项资源池的方法决定当前使用的存储单元。所述包交换电路减少了输入总线节点与缓存资源的连线。并且采用级联mux实现交换线路的共享,提高了交换线路的利用率。
请参阅图3,基于上述包交换电路,本发明实施例提供了一种包交换方法,所述方法包括:
S101、接收对共享表项资源池的查表请求。
通过上述多个输入端口中的一个输入端口或几个输入端口接收对共享表项资源池的查表请求。
在本实施例中,所述共享表项资源池中的共享表项的大小可以动态配置,不受共享缓存单元位置的限制。具体地,请参阅图4,提供了一种配置所述共享表项资源池的方法,该方法包括:
S201、根据所需的存储器资源大小将所述共享表项资源池中的表项划分第一表项和第二表项;
S202、分配所述第一表项的存储资源,并计算所述第一表项对应的共享存储资源;
S203、根据所述共享存储资源和所述第二表项所需的存储资源,获取所述第二表项的待共享存储资源;
S204、检测所述待共享存储资源是否满足划分所述第一表项的条件;
若否,则跳转执行上述步骤S202至S204,直至所述第二表项的所述待共享存储资源满足划分所述第一表项的条件;若是,则分配算法完成。
其中,在跳转执行步骤S202至S204时,是基于所述待共享存储资源,分配其他所述第一表项的共享存储资源给所述第二表项,直至所述第二表项的所述待共享存储资源满足划分所述第一表项的条件。
其中,所述根据所需的存储器资源大小将所述共享表项资源池中的表项划分第一表项和第二表项,包括:将所述共享表项资源池中的每一表项所需的存储器资源大小分别与一个缓存组的存储量进行比较,如果所述表项所需的存储资源大小小于或等于所述缓存组的存储量,则划分所述表项为第一表项;否则,划分所述表项为第二表项。
在本实施例中,在所述输入端口的个数为n时,所述共享表项资源池总的缓存资源由n+1组缓存组组成,每组缓存组由4个缓存单元组成,每个缓存单元再由4个缓存颗粒组成,如图1所示,4个缓存单元(即memunit)构成一个缓存组,其中每个mem unit包括4个缓存颗粒。所述缓存颗粒是缓存存储的最小单元,其中,之所以每个缓存单元由4个缓存颗粒组成,是由于精确匹配时,哈希桶分为左右哈希,每个哈希桶的值为4的原因导致的。需要说明的是,上述设置1个缓存组由4个缓存单元组成,以及1个缓存单元由4个缓存颗粒组成是基于哈希冲突决定哈希桶为4的,当前的架构可以是左右哈希各4桶,分别从不同的两个入口port进入,这样可以使哈希冲突降低1/8,该哈希冲突的概率是在预设范围内的,当然,在实际应用过程中,还可以设置哈希桶为其他数值,比如8桶,则8个缓存单元组成一个缓存组,8个缓存颗粒组成一个缓存单元;或者16桶等。但是,随着哈希桶数的增加会导致哈希冲突不满足预设范围,比如,哈希桶增加至8桶或16桶,此时造成每次进去的key的比较次数会成倍的增加,从而导致电路的实现功耗增高。因此,经过权衡后确定哈希桶为4。
上述在划分第一表项和第二表项时,主要是将表项所需的存储资源与一个缓存组的存储量进行比较,需要说明的是,还可以采用其他方式划分所述第一表项和所述第二表项,而不仅限于一个缓存组的存储量,比如还可以是两个或多个缓存组的存储量,或者还可以是一个缓存单元的存储量,等。
其中,所述第一表项的存储资源主要通过所述固定总线进行传输,由于第一表项所需的缓存资源较小,因此其不需要交换总线路由资源,这样做的好处在于可以尽可能的减少逻辑上的连线,否则进行后端布局布线时,由于连线太多会导致电路无法综合。
其中,所述分配所述第一表项的存储资源,并计算所述第一表项对应的共享存储资源,包括:将所述缓存组对应的所述存储量与所述第一表项的所需存储资源大小进行求差运算,所述求差运算的结果为所述第一表项对应的共享存储资源。所述第一表项的所需存储资源大小是所述第一表项实际分配的缓存资源。
在分配完成所述第一表项的缓存资源后,重新计算所述第二表项所需的缓存资源,该缓存资源也即是所述第二表项的待共享存储资源,所述第二表项的待共享存储资源等于所述第二表项所需的存储资源减去所述第一表项的共享存储资源。
获得所述第二表项的待共享存储资源后,所述检测所述待共享存储资源是否满足划分所述第一表项的条件包括:当所述待共享存储资源的大小大于所述缓存组的所述存储量时,确定所述待共享存储资源不满足划分所述第一表项的条件;当所述待共享存储资源的大小小于或等于所述缓存组的所述存储量时,确定所述待共享存储资源满足划分所述第一表项的条件。
如果所述待共享存储资源的大小大于一个缓存组的存储量,则说明本行的缓存组的资源还无法满足第二表项的访问需要,还需要继续共享其他第一表项对应的所述共享存储资源,直到该第二表项所需要的存储资源小于或等于一个缓存组的存储量。
上述配置共享表项资源池的方法,通过改进路由资源,使得支持共享的子模块的个数变多,各个子模块的共享表项的大小可以动态配置,并且不受共享缓存单元位置的限制。由此,当后续需求变更,所处理的行为表项需要扩大或减小时,不需要重新定制芯片和重新投片,只需重新配置芯片的流程,就能适应新的应用场景,具有通用性强、灵活性高等优点;另外,还能减少成本,提升制造流片的效率。
S102、将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址。
可以知道的,包交换芯片的包处理部分通常包括包解析模块、一系列的包处理模块、一些查找表项以及包重组模块,其中包处理模块在包处理过程中需要进行查找表的操作。在本实施例中,对于包处理模块过来的地址,需要根据软件的配置转换成所述共享表项资源池的内部地址,因为对于每个包处理模块而言,在一次共享表项资源分配完成后(这里假设共享表项资源池的共享资源被包处理模块全部分配完),所有包处理模块所需要的地址空间的总和等于共享表项资源池的地址最大深度,而共享表项资源池的地址是统一进行地址编码的,所以需要将每个包处理模块的地址转换到共享表项资源池的地址上去。同时,由于每个包处理模块又可以访问共享表项资源池的最大地址,所以包处理模块需要根据实际分配的地址空间进行地址保护,当访问的地址越界时,给出地址越界指示。
其中,所述将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址,包括:获取所述查表请求对应的查找地址空间的第一空间量,以及缓存单元的地址空间的第二空间量;根据所述第一空间量和所述第二空间量,计算所述查表请求对应的待分配的缓存单元数量;基于所述缓存单元数量和总线节点为所述查表请求分配所述共享资源池的内部地址。
其中,所述第一空间量是所述查表请求对应的查找地址的大小,比如2M,3M,7M等。所述查表请求可以从图1中的任意输入端口输入。所述第二空间量指的是一个缓存单元的大小,比如1个mem unit的大小为1M,或者2M等。所述第二空间量的大小是根据实际的存储资源空间大小计算得到的。
所述根据所述第一空间量和所述第二空间量计算所述查表请求对应的待分配的缓存单元数量包括:将第一空间量除以第二空间量,计算所得的商值为所述待分配的缓存单元数量。比如,第一空间量为2M,第二空间量为1M,即待分配的缓存单元数量为2个。
其中,所述基于所述缓存单元数量和总线节点为所述查表请求分配所述共享资源池的内部地址,包括:在所述缓存单元数量小于或等于单个总线节点的总缓存单元数量时,在所述单个总线节点内为所述查表请求分配内部地址;在所述缓存单元数量大于单个总线节点的总缓存单元数量时,基于所述总线节点和可配置总线节点为所述查表请求分配内部地址。
其中,单个总线节点的总缓存单元数量是一个总线节点对应的全部缓存单元的数量,比如,如图2所示,一个总线节点对应4个缓存单元。
下面通过举例说明所述地址转换的详细过程。
例如,请参阅图5,假设缓存单元的地址空间为1M,即所述第二空间量为1M;一共有3个逻辑表,大小分别为2M,3M,11M,即所述第一空间量分别为2M,3M,11M;3个逻辑表分别用图4中的a、c、b表示,当单个port占用的存储资源比较大时,比如查表请求对应为11M时,需要使用到可配置输入总线节点。具体地,
第一个逻辑表2M对应入口port0,port0分配2M的空间,分配的表项的地址为0,1;
第二个逻辑表3M对应入口port1,port1分配3M的空间,分配的表项的地址为4,5,6;
第三个逻辑表11M对应入口port2和可配置总线节点(即port_flex),其中,port2分配7M的空间,分配的表项的地址为2,3,7,8,9,10,11;port_flex分配4M的空间,分配的表项的地址为16,17,18,19。需要说明的是,port2分配的7M的空间包括port2的全部缓存单元的空间,以及port0和port1剩余的缓存单元的空间。
在需要将输入端口的连续的地址(2M,3M,11M)转换成统一的共享表项的内部的地址时,软件需要提供每个port分别分配哪几个缓存单元的地址信息。硬件上需要实现入口地址到共享表项资源池的统一的绝对地址的转换。假设每个缓存单元是1M的空间,以port1为例,如图4所示,port0至port_flex对应的缓存单元的地址信息分别是0、1、2、3……19,根据上述可知port1分配3M的空间,分配的缓存单元的地址信息为4,5,6,在进行地址转换时,即将0M到1M的地址转换为共享表项的内部地址4,1M到2M的地址转换为共享表项的内部地址5,2M到3M的地址转换为共享表项的内部地址6。
值得说明的是,对于直接查找的访问请求,当index超过被分配的最大的地址空间时,需要上报中断指示。对于精确匹配查找的访问请求,当index分配空间时不是2的幂次方时,会出现index超过被分配的最大的空间的情况,此时需要用index减去被分配的最大的空间,重新进行地址的计算。
另外,当单个port占用的存储资源比较大时,需要使用到可配置输入总线节点,所有入口处的port为n时,实际里面使用到的输入总线节点个数为n+1。
S103、根据转换后的所述内部地址将所述查表请求分配至指定的缓存。
在将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址后,根据所述地址计算出所述查表请求需要访问固定总线还是交换总线,从而将所述查表请求分配至指定的缓存。
当所述查表请求对应的输入总线节点访问本行的缓存单元时,直接使用固定总线,当所述查表请求对应的输入总线节点访问非本行的缓存单元时,需要通过可配置的路由单元来选择。
例如,请参阅图6,以8个输入总线节点为例,输入总线节点由8个固定的输入总线节点和1个可配置的输入总线节点组成,可配置的路由单元由Wdm_0-Wdm_9,Wum_0-Wum_7,Wlm_0-Wlm_8组成。所述可配置的路由单元用于解决输入端口具体访问哪个mem unit的问题。其中,Wdm即writedown mux,表示写向下的路由选择;Wum即write up mux,表示写向上的路由选择;Wlm即write line mux,表示用来选定具体是哪一行的路由写入。根据图6可知,体现为多入一出的特点,这是与数据选择器(Mux n to 1)的特征紧密联系的,即将多路输入数据中由n位通道选择信号确定的其中一路数据传送至输出端。
其中,可配置的路由单元Wdm_0和Wdm_1用来选择输入总线节点0和输入总线节点1的交换总线的请求,可配置的路由单元Wdm_2用来选择Wdm_0和输入总线节点2的交换总线的请求,可配置的路由单元Wdm_3用来选择Wdm_1和输入总线节点2的交换总线的请求,可配置的路由单元Wdm_4用来选择Wdm_2和输入总线节点3的交换总线的请求,可配置的路由单元Wdm_5用来选择Wdm_3和输入总线节点3的交换总线的请求,可配置的路由单元Wdm_6用来选择Wdm_4和可配置输入总线节点的交换总线的请求,可配置的路由单元Wdm_7用来选择可配置输入总线节点和输入总线节点4的交换总线的请求,可配置的路由单元Wdm_8用来选Wdm_7和输入总线节点5的交换总线的请求,可配置的路由单元Wdm_9用来选Wdm_8和输入总线节点6的交换总线的请求。
可配置的路由单元Wum_0和Wum_1用来选择输入总线节点7和输入总线节点6的交换总线的请求,可配置的路由单元Wum_2用来选择Wum_0和输入总线节点5的交换总线的请求,可配置的路由单元Wum_3用来选择Wum_1和输入总线节点5的交换总线的请求,可配置的路由单元Wum_4用来选择Wum_3和输入总线节点4的交换总线的请求,可配置的路由单元Wum_5用来选择可配置输入总线节点和输入总线节点3的交换总线的请求,可配置的路由单元Wum_6用来选择Wum_5和输入总线节点2的交换总线的请求,可配置的路由单元Wum_7用来选择Wum_6和输入总线节点1的交换总线的请求。
可配置的路由单元Wlm_0-Wlm_8用来选择交换总线的最终结果,保证所有的输入总线节点能访问到非本行的缓存资源。
需要说明的是,图6对应的方案不是唯一的组织方式,在图6中设置“8+1”的形式,表示入口支持8个port。当有更多入口时,可以基于上述相同的发明构思进行设计。
同理,对于输出总线节点,当所述查表请求对应的输出总线节点访问本行的缓存单元时,直接使用固定总线,当所述查表请求对应的输出总线节点访问非本行的缓存单元时,需要通过可配置的路由单元来选择。
例如,请参阅图7,以8个输出总线节点为例,输出总线节点由8个固定的输出总线节点和1个可配置的输出总线节点组成,配置的路由单元由Rdm_0-Rdm_8,Rum_0-Rum_8,Rlm_0-Rlm_8组成。其中,Rdm即read downmux,表示读向下的路由选择;Rum即read up mux,表示读向上的路由选择;Rlm即read line mux,表示用来选定具体是哪一行的路由读出。
可配置的路由单元Rdm_0和Rdm_1用来选择交换总线0和交换总线1的交换总线的响应,可配置的路由单元Rdm_2用来选择Rdm_0和交换总线2的交换总线的响应,可配置的路由单元Rdm_3用来选择Rdm_1和交换总线2的交换总线的响应,可配置的路由单元Rdm_4用来选择Rdm_2和交换总线3的交换总线的响应,可配置的路由单元Rdm_5用来选择Rdm_3和交换总线3的交换总线的响应,可配置的路由单元Rdm_6用来选择Rdm_5和交换总线4的交换总线的响应,可配置的路由单元Rdm_7用来选择交换总线5和交换总线6的交换总线的响应,可配置的路由单元Rdm_8用来选择Rdm_7和交换总线7的交换总线的响应。
可配置的路由单元Rum_0和Rum_1用来选择交换总线8和交换总线7的交换总线的响应,可配置的路由单元Rum_2用来选择Rum_0和交换总线6的交换总线的响应,可配置的路由单元Rum_3用来选择Rum_1和交换总线6的交换总线的响应,可配置的路由单元Rum_4用来选择Rum_2和交换总线5的交换总线的响应,可配置的路由单元Rum_5用来选择Rum_3和交换总线5的交换总线的响应,可配置的路由单元Rum_6用来选择交换总线4和交换总线3的交换总线的响应,可配置的路由单元Rum_7用来选择Rum_6和交换总线2的交换总线的响应,可配置的路由单元Rum_8用来选择Rum_7和交换总线1的交换总线的响应,可配置的路由单元Rlm_0-Rlm_8用来选择交换总线的最终结果,保证所有的交换总线的返回结果能返回到原来的输入总线节点对应的输出总线节点。其中,图7中的Swap0_to_lu1表示交换总线0到输出总线节点1的路由选择,Swap3_to_flexlu表示交换总线3到可配置输出总线节点的路由选择,Swap5_to_flexlu表示交换总线5到可配置输出总线节点的路由选择,Swap8_to_lu6表示交换总线8到输出总线节点6的路由选择,down6_to_lu表示向下的路由选择,up4_to_lu表示向上的路由选择。
需要说明的是,图7对应的方案不是唯一的组织方式,在图7中设置“8+1”的形式,表示出口支持8个port。当有更多出口时,可以基于上述相同的发明构思进行设计。
在本实施例中,路由资源的设计思路主要是:如何在满足应用的前提下,通过上述配置共享表项资源池的方法得到合适的约束,同时要兼顾灵活性和可实现性。
配置共享表项资源池的方法需要满足通用性,即当输入为在n个输入节点的硬件结构下的任意组合排列,配置需要给出一组分配业务的解,满足每行资源分配一个固定总线和一个交换总线的限制,并且硬件结构上的限制也必须符合。
上述图6和图7中分别以可配置输入总线节点和可配置输出总线节点为界,分为上半部分和下半部分,硬件设计的约束如下:
(1)上半部分的表只能有一个共享到下半部分的资源,比如通过图6中的Wdm_0、Wdm_2、Wdm_4、Wdm_6的连接方式,再输出至Wlm_5、Wlm_6或Wlm_7或Wlm_8。
(2)下半部分的表只能有一个共享到上半部分的资源,比如通过图6中的Wum_1、Wum_3、Wum_4的连接方式,再输出至Wlm_0或Wlm_1或Wlm_2或Wlm_3。
(3)可配置输入总线节点可以共享到整个存储资源。
(4)每个输入节点可以分配到存储资源的最大值和最小值。
(5)每个缓存组可以由一组固定总线和一组交换总线访问,即一组缓存组最多可以由2个port访问。
(6)共享缓存资源池中被分配的最小颗粒度是1个缓存单元。即分配缓存空间的时候,每个port被分配的存储资源的大小必须是缓存单元的整数倍。
在本实施例中,对访问共享表项资源池请求的路由资源进行配置,通过算法和硬件的约束,使得各个子模块与共享缓存资源池之间的信号连接线减少,并且使用尽可能小的代价实现高时钟频率芯片的共享缓存,相比同类技术更省面积,缩短了平均访问延时。
S104、识别所述查表请求,获得所述查表请求对应的查找结果。
获得所述查表请求后,根据所述查表请求的类型、地址范围等在实际的缓存中进行查找,其中,根据所述查表请求的类型的不同,返回的查找结果的处理方式也不同,比如,所述查表请求的种类包括直接查找、精确匹配查找和TCAM查找;在所述查表请求的种类为所述直接查找和所述精确匹配查找时,直接返回所述查找结果;在所述查表请求的种类为所述TCAM查找时,执行仲裁操作,并返回仲裁后的结果。所述仲裁操作的方法可以是在多个TCAM返回信号同时有效时,取地址小的进行处理。
其中,在获得所述查表请求对应的查找结果后,还可以进一步判断查找结果是否匹配,对于类型是精确匹配查找和TCAM查找的操作,如果匹配,则进行下一步的直接查找操作,如果不匹配,则直接返回不匹配的结果。
S105、将所述查找结果发送至对应的输出端口,并通过所述输出端口返回所述查找结果。
其中,所述输出端口将所述查找结果返回给发送所述查表请求的模块。
本发明实施例提供的所述包交换方法,通过改进路由资源,使得支持共享的子模块的个数变多,各个子模块的共享表项的大小可以动态配置,并且不受共享缓存单元位置的限制。由此,当后续需求变更,所处理的行为表项需要扩大或减小时,不需要重新定制芯片和重新投片,只需重新配置芯片的流程,就能适应新的应用场景,具有通用性强、灵活性高等优点;另外,还能减少成本,提升制造流片的效率。
请参阅图8,图8是本发明实施例提供的一种包交换芯片的结构示意图,所述包交换芯片30包括一个或多个处理器31,以及存储器32,图8中以一个处理器31为例。处理器31和存储器32可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的配置共享表项资源池的方法或者包交换方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非易失性软件程序、非易失性计算机可执行程序以及模块,从而执行所述包交换芯片30的各种功能应用以及数据处理,即实现上述配置共享表项资源池的方法和包交换方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述一个或多个模块存储在所述存储器32中,当被所述一个或多个处理器31执行时,执行上述方法实施例中的配置共享表项资源池的方法和包交换方法。
上述产品可执行本发明实施例所提供的配置共享表项资源池的方法和包交换方法,具备执行配置共享表项资源池的方法和包交换方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的配置共享表项资源池的方法和包交换方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种包交换电路,其特征在于,包括:输入端口处理模块、路由资源处理模块、共享表项缓存处理模块和输出端口处理模块,所述共享表项缓存处理模块通过所述路由资源处理模块分别连接所述输入端口处理模块和所述输出端口处理模块;
所述输入端口处理模块,用于接收对共享表项资源池的查表请求,并将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址;
所述路由资源处理模块,用于根据所述内部地址将所述查表请求分配至所述共享表项缓存处理模块对应的缓存,并获得所述查表请求对应的查找结果,将所述查找结果发送至所述输出端口处理模块;
所述输出端口处理模块,用于返回所述查表请求对应的所述查找结果。
2.根据权利要求1所述的包交换电路,其特征在于,所述路由资源处理模块包括:输入总线节点、输出总线节点、可配置的路由单元、固定总线和交换总线;
所述输入总线节点,用于从所述输入端口处理模块获取所述内部地址;
所述可配置的路由单元,用于根据所述内部地址和所述输入总线节点从所述固定总线和所述交换总线中确定所述查表请求访问所述共享表项资源池的访问路径;其中,当根据所述内部地址计算获得所述查表请求访问的缓存单元与所述输入总线节点属于同一行时,确定通过所述固定总线访问所述缓存单元;当根据所述内部地址计算获得所述查表请求访问的缓存单元与所述输入总线节点属于不同行时,确定通过所述交换总线访问所述缓存单元;
所述输出总线节点,用于根据所述输入总线节点和所述访问路径,将所述查找结果发送至所述输出端口处理模块。
3.根据权利要求2所述的包交换电路,其特征在于,
所述输入总线节点包括多个固定输入总线节点和可配置输入总线节点,所述输入端口处理模块包括多个输入端口;
所述输出总线节点包括多个固定输出总线节点和可配置输出总线节点,所述输出端口处理模块包括多个输出端口;
所述多个固定输入总线节点与所述多个输入端口一一对应,所述多个固定输出总线节点与所述多个输出端口一一对应;
当所述输入端口所需的缓存空间大于预设阈值时,控制所述输入端口连接所述可配置输入总线节点,通过所述可配置输入总线节点访问所述共享表项资源池,并通过所述可配置输出总线节点输出所述查找结果。
4.根据权利要求3所述的包交换电路,其特征在于,所述共享表项缓存处理模块包括n+1组缓存组,所述n是所述输入端口的个数,所述缓存组构成所述共享表项资源池。
5.根据权利要求3或4所述的包交换电路,其特征在于,所述可配置输入总线节点和所述多个固定输入总线节点排成一列,并且所述可配置输入总线节点设于所述多个固定输入总线节点的中间,在所述可配置输入总线节点上部分的所述固定输入总线节点组成第一路由,在所述可配置输入总线节点下部分的所述固定输入总线节点组成第二路由;
其中,所述第一路由中包括一个用于共享所述第二路由的所述固定输入总线节点;所述第二路由中包括一个用于共享所述第一路由的所述固定输入总线节点;
所述可配置输入总线节点用于共享所述第一路由和所述第二路由。
6.一种配置共享表项资源池的方法,所述配置共享表项资源池的方法应用于权利要求1至5任一项所述的包交换电路,其特征在于,所述方法包括:
根据所需的存储器资源大小将所述共享表项资源池中的表项划分第一表项和第二表项;其中,将所述共享表项资源池中的每一表项所需的存储器资源大小分别与一个缓存组的存储量进行比较,如果所述表项所需的存储资源大小小于或等于所述缓存组的存储量,则划分所述表项为第一表项;否则,划分所述表项为第二表项;
将所述缓存组对应的所述存储量与所述第一表项对应的所需存储资源大小进行求差运算,所述求差运算的结果为所述第一表项对应的共享存储资源;
根据所述共享存储资源和所述第二表项所需的存储资源,获取所述第二表项的待共享存储资源;
检测所述待共享存储资源是否满足划分所述第一表项的条件;其中,当所述待共享存储资源的大小大于所述缓存组的所述存储量时,确定所述待共享存储资源不满足划分所述第一表项的条件;当所述待共享存储资源的大小小于或等于所述缓存组的所述存储量时,确定所述待共享存储资源满足划分所述第一表项的条件;
若不满足划分所述第一表项的条件,则基于所述待共享存储资源,分配其他所述第一表项对应的共享存储资源给所述第二表项,直至所述第二表项的所述待共享存储资源满足划分所述第一表项的条件。
7.一种包交换方法,其特征在于,所述方法包括:
接收对共享表项资源池的查表请求;其中,所述共享表项资源池是根据权利要求6所述的配置共享表项资源池的方法进行配置的;
将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址;
根据转换后的所述内部地址将所述查表请求分配至指定的缓存;
识别所述查表请求,获得所述查表请求对应的查找结果;
将所述查找结果发送至对应的输出端口,并通过所述输出端口返回所述查找结果。
8.根据权利要求7所述的方法,其特征在于,所述将所述查表请求对应的查找地址转换为所述共享表项资源池的内部地址,包括:
获取所述查表请求对应的查找地址空间的第一空间量,以及缓存单元的地址空间的第二空间量;
根据所述第一空间量和所述第二空间量,计算所述查表请求对应的待分配的缓存单元数量;
基于所述缓存单元数量和总线节点为所述查表请求分配所述共享资源池的内部地址。
9.根据权利要求8所述的方法,其特征在于,所述基于所述缓存单元数量和总线节点为所述查表请求分配所述共享资源池的内部地址,包括:
在所述缓存单元数量小于或等于单个总线节点的总缓存单元数量时,在所述单个总线节点内为所述查表请求分配内部地址;
在所述缓存单元数量大于单个总线节点的总缓存单元数量时,基于所述总线节点和可配置总线节点为所述查表请求分配内部地址。
10.一种包交换芯片,其特征在于,包括:
至少一个处理器;
以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求6至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110355203.2A CN113098798B (zh) | 2021-04-01 | 2021-04-01 | 配置共享表项资源池的方法、包交换方法、芯片以及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110355203.2A CN113098798B (zh) | 2021-04-01 | 2021-04-01 | 配置共享表项资源池的方法、包交换方法、芯片以及电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098798A true CN113098798A (zh) | 2021-07-09 |
CN113098798B CN113098798B (zh) | 2022-06-21 |
Family
ID=76672553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110355203.2A Active CN113098798B (zh) | 2021-04-01 | 2021-04-01 | 配置共享表项资源池的方法、包交换方法、芯片以及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098798B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143195A (zh) * | 2021-11-19 | 2022-03-04 | 烽火通信科技股份有限公司 | 一种数据包处理装置及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020046324A1 (en) * | 2000-06-10 | 2002-04-18 | Barroso Luiz Andre | Scalable architecture based on single-chip multiprocessing |
CN102780611A (zh) * | 2012-06-06 | 2012-11-14 | 华为技术有限公司 | 包交换电路及包交换方法 |
CN107888521A (zh) * | 2017-10-20 | 2018-04-06 | 深圳市楠菲微电子有限公司 | 多协议共享表项资源池的方法和装置 |
CN107888513A (zh) * | 2017-10-23 | 2018-04-06 | 深圳市楠菲微电子有限公司 | 用于交换芯片的缓存方法及装置 |
CN108833299A (zh) * | 2017-12-27 | 2018-11-16 | 北京时代民芯科技有限公司 | 一种基于可重构交换芯片架构的大规模网络数据处理方法 |
CN110120877A (zh) * | 2018-02-05 | 2019-08-13 | 大唐移动通信设备有限公司 | 一种交换芯片的配置电路及交换芯片的参数的配置方法 |
CN112118186A (zh) * | 2020-08-28 | 2020-12-22 | 深圳市风云实业有限公司 | 一种交换芯片路由表项存储方法、转发方法及配置方法 |
-
2021
- 2021-04-01 CN CN202110355203.2A patent/CN113098798B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020046324A1 (en) * | 2000-06-10 | 2002-04-18 | Barroso Luiz Andre | Scalable architecture based on single-chip multiprocessing |
CN102780611A (zh) * | 2012-06-06 | 2012-11-14 | 华为技术有限公司 | 包交换电路及包交换方法 |
CN107888521A (zh) * | 2017-10-20 | 2018-04-06 | 深圳市楠菲微电子有限公司 | 多协议共享表项资源池的方法和装置 |
CN107888513A (zh) * | 2017-10-23 | 2018-04-06 | 深圳市楠菲微电子有限公司 | 用于交换芯片的缓存方法及装置 |
CN108833299A (zh) * | 2017-12-27 | 2018-11-16 | 北京时代民芯科技有限公司 | 一种基于可重构交换芯片架构的大规模网络数据处理方法 |
CN110120877A (zh) * | 2018-02-05 | 2019-08-13 | 大唐移动通信设备有限公司 | 一种交换芯片的配置电路及交换芯片的参数的配置方法 |
CN112118186A (zh) * | 2020-08-28 | 2020-12-22 | 深圳市风云实业有限公司 | 一种交换芯片路由表项存储方法、转发方法及配置方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114143195A (zh) * | 2021-11-19 | 2022-03-04 | 烽火通信科技股份有限公司 | 一种数据包处理装置及方法 |
CN114143195B (zh) * | 2021-11-19 | 2023-05-23 | 烽火通信科技股份有限公司 | 一种数据包处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113098798B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8234435B2 (en) | Relay device | |
US20160241474A1 (en) | Technologies for modular forwarding table scalability | |
US8509078B2 (en) | Bufferless routing in on-chip interconnection networks | |
US8032684B2 (en) | Programmable bridge header structures | |
US7606236B2 (en) | Forwarding information base lookup method | |
US9264357B2 (en) | Apparatus and method for table search with centralized memory pool in a network switch | |
US11042412B2 (en) | Memory allocation method and server | |
WO2021135491A1 (zh) | 流表的匹配方法及装置 | |
CN113098798B (zh) | 配置共享表项资源池的方法、包交换方法、芯片以及电路 | |
US8989189B2 (en) | Scaling IPv4 in data center networks employing ECMP to reach hosts in a directly connected subnet | |
CN112052100B (zh) | 基于共享内存的虚拟机通信方法及设备 | |
CN114710467B (zh) | Ip地址存储方法、装置和硬件网关 | |
US20230367720A1 (en) | Data search method and apparatus, and integrated circuit | |
CN107113323B (zh) | 一种数据存储方法、装置和系统 | |
CN116055446B (zh) | 跨网络的报文转发方法、电子设备及机器可读存储介质 | |
CN114996023B (zh) | 目标缓存装置、处理装置、网络设备及表项获取方法 | |
CN113328948B (zh) | 资源管理方法、装置、网络设备及计算机可读存储介质 | |
CN114079634B (zh) | 一种报文转发方法、装置及计算机可读存储介质 | |
US20180089106A1 (en) | Method and apparatus for replacing data block in cache | |
CN110581807B (zh) | 节点设备、路由方法及互联系统 | |
US20200356567A1 (en) | Search circuit | |
CN114007152B (zh) | 一种针对光纤交换机的端口汇聚处理方法及装置 | |
CN111769961B (zh) | 网络中指定转发者的方法以及节点 | |
CN116450641A (zh) | 数据查找方法及装置、网络设备 | |
CN113411257B (zh) | 传输报文的方法、装置、计算设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |