2R1W存储器的数据处理方法及数据处理系统技术方案

技术编号:14242550 阅读:76 留言:0更新日期:2016-12-21 19:43
本发明专利技术提供的一种2R1W存储器的数据处理方法及处理系统,所述方法包括:根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;当数据写入2R1W存储器和/或从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。本发明专利技术只需要额外1/2n的存储器面积就可以基于现有的SRAM单元构建2R1W存储器;同时,不需要复杂的控制逻辑,只需要简单的异或运算就可实现多个端口的操作;另外,也不需要额外的存储器块映射表和控制逻辑。

【技术实现步骤摘要】

本专利技术涉及网络通信
,尤其涉及一种2R1W存储器的数据处理方法及数据处理系统
技术介绍
在设计以太网交换芯片时,通常需要使用大容量的多端口存储器,例如2读1写(同时支持2个读端口和1个写端口)存储器、1读2写存储器、2读2写存储器或者更多端口的存储器。通常情况下,供应商一般只提供1个读或者写存储器、1读1写存储器和2个读或者写存储器,如此,设计者仅能基于上述基本存储器单元构建多个端口的存储器。如图1所示,为典型的6T SRAM的数字电路结构示意图;通过图示可知:6T SRAM由6个MOS管组成。结合图2所示,为了描述方便,将图1进行简化,其中间的4个MOS管简化成2个反相器首尾相连,其左边存放的这个存储单元的真值,而右边存放的是这个存储单元的反值;左边的MOS管连接位线X,右边的MOS管连接位线Y。其中,读出数据过程中,位线X和位线Y预先充电到一定的电压值,然后字线加上一定的电压,左边和右边的2个MOS管导通,左边的MOS管把存储的真值,例如“0”值输出到位线X上,右边的MOS管把反值,例如:“1”输出到位线Y上,位线X和位线Y通过连接的差分感应放大器,最终输出这个存储单元的值真值“0”。写入数据过程中,例如:将数据“1”写入到这个存储单元,位线X输入“1”,位线Y输入“0”,形成互补输入,然后字线打开,左右2个MOS管同时导通,这样就把真值强制修改成“1”,反值强制修改成“0”;如上所知:这种6T SRAM的读和写操作不可以同时进行,相应的,供应商会提供双端口的SRAM存储器。结合图3所述,为双端口的SRAM存储器的数字电路结构示意图。其在上述6T SRAM的基础上多增加了2个MOS管,不仅如此,为了防止在读数据的时候引起SRAM存储器的真值的翻转,中间的4个MOS管尺寸要比相应的6T SRAM的4个MOS管尺寸要大;以某厂家提供的14nm下的数据显示,6T SRAM的尺寸是0.064平方微米,而8T SRAM的尺寸是0.201平方微米,是前者的3.14倍大。结合图4所示,为了避免同时具有读写功能的SRAM存储器面积过大,同时又要增加存储器的存储密度,尽量避免使用8T SRAM;如此在6T SRAM的基础通过线路更改避免上述问题的出现。相应的,在6T SRAM的基础,把一根字线分割成左右两个,这样可以做成2个读端口同时操作或者1个写端口,这样从左边MOS管读出的数据和右边MOS管读出的数据可以同时进行,需要注意的是,右边MOS管读出的数据需要反相之后才可以用,同时为了不影响数据读取的速度,读出的感应放大器需要用伪差分放大器。这样,6T SRAM面积不变,唯一的代价是增加一倍的字线,从而保证总体的存储密度基本不变。如此,在SRAM的端口类型为1个读或者写,2个读或者写,以及1写或者2读的基础上,通过定制设计,例如:修改存储单元的办法,以及算法设计来增加SRAM的端口数量。如图5所示,为现有技术中采用另一实施方式的通过定制设计形成的2R1W存储器读写操作流程示意图;通过定制设计可以增加SRAM的端口,上述图4示例中,把一个字线切割成2个字线,将读端口增加到2个;现有技术中,还可以通过分时操作的技术,即读操作在时钟的上升沿进行,而写操作在时钟的下降沿完成,这样也可以把一个基本的1读或者1写的SRAM扩展成1读和1写的SRAM类型,即1个读和1个写操作可以同时进行,存储密度基本不变。现有技术中的采用定制设计,其定制设计的周期一般比较长,需要做spice仿真,还要提供存储器编译器,以生成不同大小和类型的SRAM,对于供应商来说,一般需要6~9个月的时间,才能提供一个新型的SRAM的类型,而且这样的定制设计是与具体的工艺(例如GlobalFoundries 14nm, 28nm还是TSMC的28nm,16nm)强相关的,工艺一旦改变,定制设计的SRAM库需要重新设计。如图6所示,为现有技术一实施方式中采用算法设计形成的2R1W存储器读写操作流程示意图;算法设计是基于厂家提供的现成的SRAM类型,通过算法来实现2R1W存储器,最大的好处是避免定制设计,缩短时间,同时设计与厂家库无关,可以很容易的在不同的厂家库之间移植。本实施方式中,以SRAM2P为基础构建2R1W的SRAM为例,所述SRAM2P是一种能够支持1读和1读/写的SRAM类型,即可以对SRAM2P同时进行2个读操作,或者1个读和1个写操作。本实施方式中,通过复制一份SRAM以SRAM2P为基础构建2R1W的SRAM;该示例中,右边的SRAM2P_1是左边SRAM2P_0的拷贝,具体操作的时候,把两块SRAM2P作为1读和1写存储器来使用;其中,写入数据时,同时往左右两个SRAM2P写入数据,读出数据时,A固定从SRAM2P_0读取,数据B固定从SRAM2P_1读取,这样就可以实现1个写操作和2个读操作并发进行。该种算法设计过程中,需要额外一份SRAM2P存储器的拷贝,存储器的面积需要加倍,开销很大。如图7a、7b所示,为现有技术另一实施方式中采用算法设计形成的2R1W存储器读写操作流程示意图;该实施方式中,把逻辑上一整块的16384深度的SRAM分割成逻辑上4块4096深度的SRAM2P,编号依次为为0、1、2、3,再额外增加一块4096深度的SRAM,编号为4,作为解决读写冲突用,对于读数据A和读数据B,永远保证这2个读操作可以并发进行,当2个读操作的地址是处于不同的SRAM2P中时,因为任何一个SRAM2P都可以配置成1R1W类型,所以读写不会有冲突;当2个读操作的地址处于同一块SRAM2P中时,例如:均处于SRAM2P_0中,由于同一个SRAM2P最多只能提供2个端口同时操作,此时,其端口被2个读操作占用,如果恰好有一个写操作要写入SRAM2P_0,那么这时就把这个数据写入存储器第4块SRAM2P_4中。该种实施方式中,需要有一个存储器块映射表记录哪一个存储器块存放有效数据,如图7b所示,存储器块映射表的深度和一个存储器块的深度相同,即都是4096个深度,每一个条目中在初始化后依次存放每个存储器块的编号,从0到4,图7a示例中,由于SRAM2P_0在写入数据的时候发生读写冲突,数据实际上是写入到SRAM2P_4中,此时,读操作同时会读取存储器映射表中对应的内容,原始内容为{0, 1, 2, 3, 4本文档来自技高网...
2R1W存储器的数据处理方法及数据处理系统

【技术保护点】
一种2R1W存储器的数据处理方法,其特征在于,所述方法包括:根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;当数据写入2R1W存储器和/或从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。

【技术特征摘要】
1.一种2R1W存储器的数据处理方法,其特征在于,所述方法包括:根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;当数据写入2R1W存储器和/或从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。2.根据权利要求1所述的2R1W存储器的数据处理方法,其特征在于,每块SRAM2P存储器的深度与宽度的乘积=(2R1W存储器的深度与宽度乘积)/2n。3.根据权利要求1或2所述的2R1W存储器的数据处理方法,其特征在于,“当数据写入2R1W存储器时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出”具体包括:获取当前数据的写入地址为W(x,y),x表示写入数据所处于的SRAM2P存储器的排列位置,0≤x<2n,y表示写入数据所处于的SRAM2P存储器中的具体的指针地址,0≤y≤M;获取与写入地址具有相同指针地址的其余主存储器中的数据,将其同时与当前写入数据做异或运算,并将异或运算结果写入到辅助存储器的相同指针地址中。4.根据权利要求1或2所述的2R1W存储器的数据处理方法,其特征在于,“当数据从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出”具体包括:若当前两个读出数据的读出地址处于相同的SRAM2P存储器中,则分别获取两个读出数据的读出地址为R1(x1,y1),R2(x2,y2),x1、y1均表示读出数据所处于的SRAM2P存储器的排列位置,0≤x1<2n,0≤x2<2n,y1、y2均表示读出数据所处于的SRAM2P存储器中的具体的指针地址,0≤y1≤M,0≤y2≤M;任选其中一个读出地址R1(x1,y1)中存储的读出数据,从当前的指定读出地址中直接读出当前存储的数据;获取与另一个读出地址具有相同指针地址的其余主存储器、以及辅助存储器中存储的数据,并对其做异或运算,将异或运算结果作为另一个读出地址的存储数据进行输出。5.根据权利要求1或2所述的2R1W存储器的数据处理方法,其特征在于,“当数据从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出”具体...

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

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

1