4个读端口4个写端口全共享报文的数据缓存处理方法及数据处理系统技术方案

技术编号:14409773 阅读:287 留言:0更新日期:2017-01-11 20:19
本发明专利技术提供的一种4个读端口4个写端口全共享报文的数据缓存处理方法及处理系统,所述方法包括:将2个2个读端口1个写端口存储器并行拼装为一个Bank存储单元;直接基于4个所述Bank存储单元形成4个读端口4个写端口存储器的硬件框架;一个时钟周期下,当数据通过4个写端口写入到4个读端口4个写端口存储器时,若数据的大小小于等于所述2个读端口1个写端口存储器的位宽,则将数据分别写入不同Bank中,同时,对写入的数据进行复制,分别写入至每个Bank的2个2个读端口1个写端口存储器中;若数据的大小大于所述2个读端口1个写端口存储器的位宽,则等待第二个时钟周期,当第二个时钟周期到来时,将数据分别写入不同Bank中,同时,将每个写入数据的高低位分别写入至每个Bank存储单元的2个2个读端口1个写端口存储器中。本发明专利技术具有更低的功耗,更快的处理速度,以及节省更多的资源或面积,实现简单。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其涉及一种4R4W全共享报文的数据缓存处理方法及数据处理系统。
技术介绍
在设计以太网交换芯片时,通常需要使用大容量的多端口存储器,例如2读1写(同时支持2个读端口和1个写端口)存储器、1读2写存储器、2读2写存储器或者更多端口的存储器。通常情况下,供应商一般只提供1个读或者写存储器、1读1写存储器和2个读或者写存储器,如此,设计者仅能基于上述基本存储器单元构建多个端口的存储器。报文缓存是一类特殊的多端口存储器,其写入是可控的,亦即,顺序写入,但是读出却是随机的。用户的其中一种需求中,单向交换容量为2.4Tbps的以太网交换芯片,为了做到线速写入和读出,每个最小报文(64字节)花费的时间只有280ps,需要核心频率高达3.571GHz,该种需求目前在现有的半导体工艺上无法实现。为了实现上述目标,通常的做法是,把整个芯片分割成多个独立的报文转发和处理单元并行进行处理,报文转发和处理单元的英文名称为Slice,例如分割成4个Slice并行处理,每个Slice需要处理的数据带宽就降低,对核心频率的要求也会降低到原核心频率的1/4。相应的,实现该方案过程中,对于报文缓存需要同时提供8个端口供4个Slice访问,其中4个是读端口,4个是写端口。一般的,在SRAM的端口类型为1个读或者写,2个读或者写,以及1写或者2读的基础上,通过定制设计,例如:修改存储单元的办法,以及算法设计来增加SRAM的端口数量。定制设计的周期一般比较长,需要做spice仿真,还要提供存储器编译器,以生成不同大小和类型的SRAM,对于供应商来说,一般需要6~9个月的时间,才能提供一个新型的SRAM的类型,而且这样的定制设计是与具体的工艺(例如GlobalFoundries14nm,28nm还是TSMC的28nm,16nm)强相关的,工艺一旦改变,定制设计的SRAM库需要重新设计。算法设计是基于厂家提供的现成的SRAM类型,通过算法来实现多端口存储器,最大的好处是避免定制设计,缩短时间,同时设计与厂家库无关,可以很容易的在不同的厂家库之间移植。如图1所示,一种通过算法设计的方式,设计一个支持4个slice访问的4R4W的存储架构,该实施方式中,采用1R1W的SRAM2D设计大容量的2R2W的SRAM,逻辑上总共需要4块65536深度2304宽度大小的SRAM2D,由于单个物理SRAM2D的容量无法满足上述需求,需要把1块65536深度2304宽度的逻辑SRAM切割成多块物理SRAM,例如:可以切割成32块16384深度288宽度的物理块,这样总共需要32x4=128块物理块;以上述2R2WSRAM为基本单元,搭建18M字节大小的4R4WSRAM。结合图2所示,逻辑上总共需要4块65536深度2304宽度大小的2R2W的SRAM,即:需要SRAM2D(16384深度288宽度)的物理块的个数为512块;根据现有数据可知:14nm工艺条件下,一块16384深度288宽度大小SRAM2D物理块的大小是0.4165平方厘米,功耗是0.108Watts(核心电压=0.9V,结温=125摄氏度,工艺条件是最快);上述采用厂家库提供的基本单元SRAM复制多份拷贝,构建更多端口SRAM的方法,虽然设计原理上显而易见,但是面积开销非常大,以上述方案为例,单单18M字节4R4WSRAM的面积就占用了213.248平方厘米,总的功耗为55.296Watts,这里还没有考虑到插入Decap和DFT以及布局布线的开销,通过此种算法设计方式设计出的4R4WSRAM,其占用面积以及总功耗均十分庞大;如图3所示,现有技术中另外一种算法设计方式,以2R2W的SRAM为基本单元,通过空间上的分割实现4R4WSRAM的报文缓存,每个XY是一个2R2W的SRAM逻辑块,大小是4.5M字节,总共有4块这样的SRAM逻辑块,构成4R4WSRAM,大小是18M字节(4.5Mx4=18M);其中,S0、S1、S2、S3代表4个slice,每个slice举例来说包含有6个100GE端口,从slice0或者slice1输入去往slice0或者slice1的报文存入X0Y0,从slice0或者slice1输入去往slice2或者slice3的报文存入X1Y0,从slice2或者slice3输入去往slice0或者slice1的报文存入X0Y1,从slice2或者slice3输入去往slice2或者slice3的报文存入X1Y1;对于组播报文,从Slice0或者Slice1来的组播报文同时存入X0Y0和X1Y0中;进一步的,读取报文的时候,slice0或者slice1将从X0Y0或者X0Y1中读取报文,slice2或者slice3将从X1Y0或者X1Y1中读取报文。结合图4所示,现有技术中算法设计的每一个X1Y1的架构图,一个XY逻辑上需要4块16384深度2304宽度的SRAM,每一个逻辑上16384深度和2304宽度的SRAM可以切割成8块16384深度和288宽度的物理SRAM2D;14nm集成电路工艺下,这样一个18M字节的报文缓存总共需要4x4x8=128块16384深度和288宽度的物理SRAM2D,总的面积为51.312平方厘米,总的功耗是13.824Watts(核心电压=0.9V,结温=125摄氏度,工艺条件是最快)上述第二种算法设计的面积和功耗开销只有第一种算法设计的1/4,然而,该算法设计无法实现4个2R2W的SRAM逻辑块在所有的4个slice之间共享,每个Slice输入端口能够占用的最大报文缓存只有9M字节,这样的报文缓存不是真正意义上的共享缓存。
技术实现思路
为解决上述技术问题,本专利技术的目的在于提供一种4R4W全共享报文的数据缓存处理方法及处理系统。为实现上述专利技术目的之一,本专利技术一实施方式提供的4R4W全共享报文的数据缓存处理方法,所述方法还包括:将2个2R1W存储器并行拼装为一个Bank存储单元;直接基于4个所述Bank存储单元形成4R4W存储器的硬件框架;一个时钟周期下,当数据通过4个写端口写入到4R4W存储器时,若数据的大小小于等于所述2R1W存储器的位宽,则将数据分别写入不同Bank中,同时,对写入的数据进行复制,分别写入至每个Bank的2个2R1W存储器中;若数据的大小大于所述2R1W存储器的位宽,则等待第二个时钟周期,当第二个时钟周期到来时,将数据分别写入不同Bank中,同时,将每个写入数据的高低位分别写入至每个Bank存储单元的2个2R1W存储器中。作为本专利技术一实施方式的进一步改进,所述方法还包括:一个时钟周期下,当数据从4R4W存储器读出时,若数据的大小小于等于所述2R1W存储器的位宽,则选择4R4W的存储器中匹配的读端口直接读出数据;若数据的大小大于所述2R1W存储器的位宽,则等待第二个时钟周期,当第二个时钟周期到来时,选择4R4W存储器中匹配的读端口直接读出数据。作为本专利技术一实施方式的进一步改进,所述方法还包括:当数据写入所述4R4W存储器时,根据每个Bank的剩余空闲资源选择数据的写入位置。作为本专利技术一实施方式的进一步改进,所述方法具体包括:为每个Bank对应建立一空闲缓存资源池,所述空闲缓存资源池用本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201610605130.html" title="4个读端口4个写端口全共享报文的数据缓存处理方法及数据处理系统原文来自X技术">4个读端口4个写端口全共享报文的数据缓存处理方法及数据处理系统</a>

【技术保护点】
一种4R4W全共享报文的数据缓存处理方法,其特征在于,所述方法包括:将2个2R1W存储器并行拼装为一个Bank存储单元;直接基于4个所述Bank存储单元形成4R4W存储器的硬件框架;一个时钟周期下,当数据通过4个写端口写入到4R4W存储器时,若数据的大小小于等于所述2R1W存储器的位宽,则将数据分别写入不同Bank中,同时,对写入的数据进行复制,分别写入至每个Bank的2个2R1W存储器中;若数据的大小大于所述2R1W存储器的位宽,则等待第二个时钟周期,当第二个时钟周期到来时,将数据分别写入不同Bank中,同时,将每个写入数据的高低位分别写入至每个Bank存储单元的2个2R1W存储器中。

【技术特征摘要】
1.一种4R4W全共享报文的数据缓存处理方法,其特征在于,所述方法包括:将2个2R1W存储器并行拼装为一个Bank存储单元;直接基于4个所述Bank存储单元形成4R4W存储器的硬件框架;一个时钟周期下,当数据通过4个写端口写入到4R4W存储器时,若数据的大小小于等于所述2R1W存储器的位宽,则将数据分别写入不同Bank中,同时,对写入的数据进行复制,分别写入至每个Bank的2个2R1W存储器中;若数据的大小大于所述2R1W存储器的位宽,则等待第二个时钟周期,当第二个时钟周期到来时,将数据分别写入不同Bank中,同时,将每个写入数据的高低位分别写入至每个Bank存储单元的2个2R1W存储器中。2.根据权利要求1所述的4R4W全共享报文的数据缓存处理方法,其特征在于,所述方法还包括:一个时钟周期下,当数据从4R4W存储器读出时,若数据的大小小于等于所述2R1W存储器的位宽,则选择4R4W的存储器中匹配的读端口直接读出数据;若数据的大小大于所述2R1W存储器的位宽,则等待第二个时钟周期,当第二个时钟周期到来时,选择4R4W存储器中匹配的读端口直接读出数据。3.根据权利要求2所述的4R4W全共享报文的数据缓存处理方法,其特征在于,所述方法还包括:当数据写入所述4R4W存储器时,根据每个Bank的剩余空闲资源选择数据的写入位置。4.根据权利要求3所述的4R4W全共享报文的数据缓存处理方法,其特征在于,所述方法具体包括:为每个Bank对应建立一空闲缓存资源池,所述空闲缓存资源池用于存储当前对应Bank的剩余的空闲指针,当数据发出写入所述4R4W存储器请求时,比较各个空闲缓存资源池的深度,若存在一个具有最大深度的空闲缓存资源池,则直接将数据写入到该最大深度的空闲缓存资源池对应的Bank中;若存在2个以上具有相同的最大深度的空闲缓存资源池,则将该数据随机写入到其中一个具有最大深度的空闲缓存资源池对应的Bank中。5.根据权利要求1至4任一项所述的4R4W全共享报文的数据缓存处理方法,其特征在于,所述方法还包括:根据2R1W存储器的深度和宽度选择2m+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,m为正整数;每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;当数据写入2R1W存储器和/或从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。6.一种4R4W全共享报文的数据缓存处理系统,其特征在于,所述系统包括:数...

【专利技术属性】
技术研发人员:许俊夏杰郑晓阳
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1