CN106250321B - 2r1w存储器的数据处理方法及数据处理*** - Google Patents

2r1w存储器的数据处理方法及数据处理*** Download PDF

Info

Publication number
CN106250321B
CN106250321B CN201610606967.3A CN201610606967A CN106250321B CN 106250321 B CN106250321 B CN 106250321B CN 201610606967 A CN201610606967 A CN 201610606967A CN 106250321 B CN106250321 B CN 106250321B
Authority
CN
China
Prior art keywords
data
memory
sram2p
address
reading
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.)
Active
Application number
CN201610606967.3A
Other languages
English (en)
Other versions
CN106250321A (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.)
Suzhou Centec Communications Co Ltd
Original Assignee
Centec Networks Suzhou Co Ltd
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 Centec Networks Suzhou Co Ltd filed Critical Centec Networks Suzhou Co Ltd
Priority to CN201610606967.3A priority Critical patent/CN106250321B/zh
Publication of CN106250321A publication Critical patent/CN106250321A/zh
Priority to US16/319,297 priority patent/US10754584B2/en
Priority to PCT/CN2017/073646 priority patent/WO2018018876A1/zh
Application granted granted Critical
Publication of CN106250321B publication Critical patent/CN106250321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

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

Description

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},修改之后变成{4,1, 2, 3, 0},第一个块编号和第4个块编号对调,表示数据实际写入到SRAM2P_4中,同时SRAM2P_0变成了备份条目。
当读取数据的时候,需要首先读对应地址的存储器块编号映射表,查看有效数据存放在哪一个存储器块中,例如当要读取地址5123的数据,那么首先读取存储块编号映射表地址1027(5123-4096=1027)存放的内容,根据第二列的数字编号去读取对应存储块的地址1027的内容。
对于写数据操作,需要存储器块编号映射表提供1读和1写端口,对于2个读数据操作,需要存储器块编号映射表提供2个读端口,这样总共需要存储器块编号映射表提供3个读端口和1个写端口,而且这4个访问操作必须是同时进行。
如此,该算法设计相对于第一种算法设计节约了3/4的SRAM大小,但是需要额外的存储器块编号映射表,每次的读或者写操作,都需要先读这个映射表,增加了访问延迟;同时,存储器块编号映射表需要4个访问端口,包含3个读端口和1个写端口,需要特别的SRAM设计或者直接采用寄存器阵列才能满足这样的要求。
发明内容
为解决上述技术问题,本发明的目的在于提供一种2R1W存储器的数据处理方法及处理***。
为实现上述发明目的之一,本发明一实施方式提供的2R1W存储器的数据处理方法,
所述方法包括:
根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;
每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;
当数据写入2R1W存储器和/或从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。
作为本发明一实施方式的进一步改进,每块SRAM2P存储器的深度与宽度的乘积=(2R1W存储器的深度与宽度乘积)/2n。
作为本发明一实施方式的进一步改进,“当数据写入2R1W存储器时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出”具体包括:
获取当前数据的写入地址为W(x,y),x表示写入数据所处于的SRAM2P存储器的排列位置,0≤x<2n,y表示写入数据所处于的SRAM2P存储器中的具体的指针地址,0≤y≤M;
获取与写入地址具有相同指针地址的其余主存储器中的数据,将其同时与当前写入数据做异或运算,并将异或运算结果写入到辅助存储器的相同指针地址中。
作为本发明一实施方式的进一步改进,“当数据从所述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)中存储的读出数据,从当前的指定读出地址中直接读出当前存储的数据;
获取与另一个读出地址具有相同指针地址的其余主存储器、以及辅助存储器中存储的数据,并对其做异或运算,将异或运算结果作为另一个读出地址的存储数据进行输出。
作为本发明一实施方式的进一步改进,“当数据从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出”具体包括:
若当前两个读出数据的读出地址处于不同的SRAM2P存储器中,
则直接获取不同SRAM2P存储器中对应指针地址的数据分别独立进行输出。
为了实现上述发明目的之一,本发明一实施方式提供一种2R1W存储器的数据处理***,所述***包括:数据构建模块,数据处理模块;
所述数据构建模块具体用于:根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;
每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;
当数据写入2R1W存储器和/或从所述2R1W存储器读出时,所述数据处理模块用于:根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。
作为本发明一实施方式的进一步改进,每块SRAM2P存储器的深度与宽度的乘积=(2R1W存储器的深度与宽度乘积)/2n。
作为本发明一实施方式的进一步改进,所述数据处理模块具体用于:
获取当前数据的写入地址为W(x,y),x表示写入数据所处于的SRAM2P存储器的排列位置,0≤x<2n,y表示写入数据所处于的SRAM2P存储器中的具体的指针地址,0≤y≤M;
获取与写入地址具有相同指针地址的其余主存储器中的数据,将其同时与当前写入数据做异或运算,并将异或运算结果写入到辅助存储器的相同指针地址中。
作为本发明一实施方式的进一步改进,若当前两个读出数据的读出地址处于相同的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)中存储的读出数据,从当前的指定读出地址中直接读出当前存储的数据;
获取与另一个读出地址具有相同指针地址的其余主存储器、以及辅助存储器中存储的数据,并对其做异或运算,将异或运算结果作为另一个读出地址的存储数据进行输出。
作为本发明一实施方式的进一步改进,若当前两个读出数据的读出地址处于不同的SRAM2P存储器中,则
所述数据处理模块具体用于:直接获取不同SRAM2P存储器中对应指针地址的数据分别独立进行输出。
与现有技术相比,本发明的2R1W存储器的数据处理方法及处理***,只需要额外1/2n的存储器面积就可以基于现有的SRAM单元构建2R1W存储器;同时,不需要复杂的控制逻辑,只需要简单的异或运算就可实现多个端口的操作;另外,也不需要额外的存储器块映射表和控制逻辑,具有更低的功耗,更快的处理速度,以及节省更多的资源或面积,实现简单,节约人力及物质成本。
附图说明
图1是现有技术中,典型的6T SRAM的数字电路结构示意图;
图2是现有技术中,图1的简化结构示意图;
图3是现有技术中,双端口的SRAM存储器的数字电路结构示意图;
图4是现有技术中,一实施方式中,通过定制设计形成的2R1W存储器的数字电路结构示意图;
图5是现有技术中,另一实施方式的通过定制设计形成的2R1W存储器读写分时操作示意图;
图6是现有技术中,一实施方式中采用算法设计形成的2R1W存储器的报文缓存逻辑单元示意图;
图7a是现有技术中,另一实施方式中采用算法设计形成的2R1W存储器的报文缓存逻辑单元示意图;
图7b是现有技术中,对应图7a存储器块编号映射表的结构示意图;
图8是本发明一实施方式提供的2R1W存储器的数据处理方法的流程示意图;
图9是本发明一实施方式提供的2R1W存储器的报文缓存逻辑单元示意图;
图10是本发明一实施方式中提供的2R1W存储器的数据处理***的模块示意图。
具体实施方式
以下将结合附图所示的各实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图8所示,本发明一实施方式提供的2R1W存储器的数据处理方法,所述2R1W存储器,即同时支持两读一写的存储器。
所述方法包括:根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;
多个所述SRAM2P存储器按照排列顺序依次为SRAM2P(0)、SRAM2P(1)……、SRAM2P(2n),每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;
该发明的优选实施方式中,每块SRAM2P存储器的深度与宽度的乘积=(2R1W存储器的深度与宽度乘积)/2n。
以下为了描述方便,对n取值为2、2R1W存储器为16384深度、128宽度的SRAM存储器进行详细描述。
则在该具体示例中,多个所述SRAM2P存储器按照排列顺序依次为SRAM2P(0)、SRAM2P(1)、SRAM2P(2)、SRAM2P(3)、SRAM2P(4),其中,SRAM2P(0)、SRAM2P(1)、SRAM2P(2)、SRAM2P(3)为主存储器,SRAM2P(4)为辅助存储器,每个SRAM2P存储器的深度和宽度分别为4096和128,相应的,每个SRAM2P存储器均具有4096个指针地址;如果对每个SRAM2P存储器的指针地址均独立标识,则每个SRAM2P存储器的指针地址均为0~4095,若将全部的主存储器的地址依次排列,则全部的指针地址范围为: 0 ~ 16383。该示例中,SRAM2P(4)用于解决端口冲突,且在该实施方式中,无需增加存储器块编号映射表即可以满足需求。
进一步的,在上述硬件框架基础上,所述方法还包括:当数据写入2R1W存储器和/或从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。
本发明优选实施方式中,其数据写入过程如下:
获取当前数据的写入地址为W(x,y),x表示写入数据所处于的SRAM2P存储器的排列位置,0≤x<2n,y表示写入数据所处于的SRAM2P存储器中的具体的指针地址,0≤y≤M;
获取与写入地址具有相同指针地址的其余主存储器中的数据,将其同时与当前写入数据做异或运算,并将异或运算结果写入到辅助存储器的相同指针地址中。
结合图9所示,本发明一具体示例中,将数据128比特全“1”写入到SRAM2P(0)中的指针地址“5”,即当前数据的写入地址为W(0,5),在写入数据过程中,除了直接将数据128比特全“1”写入到指定位置SRAM2P(0)中的指针地址“5”外,同时,需要读取其余主存储器在相同指针地址的数据,假设从SRAM2P(1)中的指针地址“5”读出的数据为128比特全“1”,从SRAM2P(2)中的指针地址“5”读出的数据为128比特全“0”,从SRAM2P(3)中的指针地址“5”读出的数据为128比特全“1”,则将数据128比特全“1”、128比特全“0”、 128比特全“1”、 128比特全“1”做异或运算,并将其异或运算的结果“1”同时写入到SRAM2P(4)中的指针地址“5”。如此,以保证2R1W存储器的2个读端口和1个写端口同时操作。
进一步的,本发明优选实施方式中,其数据读出过程如下:
若当前两个读出数据的读出地址处于相同的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)中存储的读出数据,从当前的指定读出地址中直接读出当前存储的数据;
获取与另一个读出地址具有相同指针地址的其余主存储器、以及辅助存储器中存储的数据,并对其做异或运算,将异或运算结果作为另一个读出地址的存储数据进行输出。
接续图9所示,本发明一具体示例中,读出的数据为2个,其指针地址分别为SRAM2P(0)中的指针地址“2”,以及SRAM2P(0)中的指针地址“5”,即当前数据的读出地址为R(0,2)和R(0,5);
在从2R1W存储器读出数据过程中,由于每一个SRAM2P只能保证1个读端口和1个写端口同时操作,读端口直接从SRAM2P(0)中的指针地址“2”中读取数据,但是另一读端口的请求无法满足。相应的,本发明采用异或运算的方式解决两个读端口同时读出数据的问题。
对于R(0,5)中的数据,分别读取其他三个主存储器以及辅助存储器的指针地址“5”的数据并对其做异或运算,接续上例,从SRAM2P(1)中的指针地址“5”读出的数据为“1”,从SRAM2P(2)中的指针地址“5”读出的数据为“0”,从SRAM2P(3)中的指针地址“5”读出的数据为128比特全“1”,从SRAM2P(4)中的指针地址“5”读出的数据为128比特全“1”,将数据128比特全“1”、128比特全“1”、 128比特全“0”、 128比特全“1”做异或运算,得到128比特“1”,并将其异或运算的结果128比特全“1”作为SRAM2P(0)中的指针地址“5”的存储数据进行输出,通过上述过程得到的数据,其结果与SRAM2P(0)中的指针地址“5”中存储的数据完全一致,如此,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。
本发明一实施方式中,若当前两个读出数据的读出地址处于不同的SRAM2P存储器中,则直接获取不同SRAM2P存储器中对应指针地址的数据分别独立进行输出。
接续图9所示,本发明一具体示例中,读出的数据为2个,其指针地址分别为SRAM2P(0)中的指针地址“5”,以及SRAM2P(1)中的指针地址“10”,即当前数据的读出地址为R(0,5)和R(1,10);
在从2R1W存储器读出数据过程中,由于每一个SRAM2P均能保证1个读端口和1个写端口同时操作,故,读出数据过程中,直接从SRAM2P(0)中的指针地址“5”读取数据,以及直接从SRAM2P(1)中的指针地址“10”读出数据,如此,以保证2R1W存储器的2个读端口和1个写端口同时操作,在此不做详细赘述。
如上所述,只需要额外1/2n的存储器面积就可以基于现有的SRAM单元构建2R1W存储器。
需要说明的是,如果逻辑上把每一个SRAM2P进一步切分,比如切分成4n个具有相同深度的SRAM2P,那么只需要增加额外1/4n的存储器面积就可以构建上述2R1W类型的SRAM;相应的,物理上SRAM的块数也增加了近2倍,在实际的布局布线中会占用不少的面积开销;当然,本发明并不以上述具体实施方式为限,其它采用异或运算以扩展存储器端口的方案也包括在本发明的保护范围内,在此不做详细赘述。
结合图10所示,本发明一实施方式提供的2R1W存储器的数据处理***,所述***包括:数据构建模块100,数据处理模块200;
所述2R1W存储器,即同时支持两读一写的存储器,所述数据构建模块100中包括若干块SRAM2P存储器。
所述数据构建模块100具体用于:根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;
多个所述SRAM2P存储器按照排列顺序依次为SRAM2P(0)、SRAM2P(1)……、SRAM2P(2n),每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;
该发明的优选实施方式中,每块SRAM2P存储器的深度与宽度的乘积=(2R1W存储器的深度与宽度乘积)/2n。
以下为了描述方便,对n取值为2、2R1W存储器为16384深度、128宽度的SRAM存储器进行详细描述。
则在该具体示例中,多个所述SRAM2P存储器按照排列顺序依次为SRAM2P(0)、SRAM2P(1)、SRAM2P(2)、SRAM2P(3)、SRAM2P(4),其中,SRAM2P(0)、SRAM2P(1)、SRAM2P(2)、SRAM2P(3)为主存储器,SRAM2P(4)为辅助存储器,每个SRAM2P存储器的深度和宽度分别为4096和128,相应的,每个SRAM2P存储器均具有4096个指针地址;如果对每个SRAM2P存储器的指针地址均独立标识,则每个SRAM2P存储器的指针地址均为0~4095,若将全部的主存储器的地址依次排列,则全部的指针地址范围为: 0 ~ 16383。该示例中,SRAM2P(4)用于解决端口冲突,且在该实施方式中,无需增加存储器块编号映射表即可以满足需求。
进一步的,在上述硬件框架基础上,当数据写入2R1W存储器和/或从所述2R1W存储器读出时,数据处理模块200用于:根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。
本发明优选实施方式中,数据处理模块200写入数据过程如下:
数据处理模块200具体用于:获取当前数据的写入地址为W(x,y),x表示写入数据所处于的SRAM2P存储器的排列位置,0≤x<2n,y表示写入数据所处于的SRAM2P存储器中的具体的指针地址,0≤y≤M;
数据处理模块200具体用于:获取与写入地址具有相同指针地址的其余主存储器中的数据,将其同时与当前写入数据做异或运算,并将异或运算结果写入到辅助存储器的相同指针地址中。
结合图9所示,本发明一具体示例中,数据处理模块200具体用于:将数据128比特全“1”写入到SRAM2P(0)中的指针地址“5”,即当前数据的写入地址为W(0,5),在写入数据过程中,除了直接将数据128比特全“1”写入到指定位置SRAM2P(0)中的指针地址“5”外,同时,需要读取其余主存储器在相同指针地址的数据,假设从SRAM2P(1)中的指针地址“5”读出的数据为128比特全“1”,从SRAM2P(2)中的指针地址“5”读出的数据为128比特全“0”,从SRAM2P(3)中的指针地址“5”读出的数据为128比特全“1”,则将数据128比特全“1”、128比特全“0”、 128比特全“1”、 128比特全“1”做异或运算,并将其异或运算的结果128比特全“1”同时写入到SRAM2P(4)中的指针地址“5”。如此,以保证2R1W存储器的2个读端口和1个写端口同时操作。
进一步的,本发明优选实施方式中,数据处理模块200读出数据过程如下:
若当前两个读出数据的读出地址处于相同的SRAM2P存储器中,则
数据处理模块200具体用于:分别获取两个读出数据的读出地址为R1(x1,y1),R2(x2,y2),x1、y1均表示读出数据所处于的SRAM2P存储器的排列位置,0≤x1<2n,0≤x2<2n,y1、y2均表示读出数据所处于的SRAM2P存储器中的具体的指针地址,0≤y1≤M,0≤y2≤M;
数据处理模块200具体用于:任选其中一个读出地址R1(x1,y1)中存储的读出数据,从当前的指定读出地址中直接读出当前存储的数据;
数据处理模块200具体用于:获取与另一个读出地址具有相同指针地址的其余主存储器、以及辅助存储器中存储的数据,并对其做异或运算,将异或运算结果作为另一个读出地址的存储数据进行输出。
接续图9所示,本发明一具体示例中,读出的数据为2个,其指针地址分别为SRAM2P(0)中的指针地址“2”,以及SRAM2P(0)中的指针地址“5”,即当前数据的读出地址为R(0,2)和R(0,5);
数据处理模块200在从2R1W存储器读出数据过程中,由于每一个SRAM2P只能保证1个读端口和1个写端口同时操作,读端口直接从SRAM2P(0)中的指针地址“2”中读取数据,但是另一读端口的请求无法满足。相应的,本发明采用异或运算的方式解决两个读端口同时读出数据的问题。
对于R(0,5)中的数据,数据处理模块200分别读取其他三个主存储器以及辅助存储器的指针地址“5”的数据并对其做异或运算,接续上例,从SRAM2P(1)中的指针地址“5”读出的数据为128比特全“1”,从SRAM2P(2)中的指针地址“5”读出的数据为128比特全“0”,从SRAM2P(3)中的指针地址“5”读出的数据为128比特全“1”,从SRAM2P(4)中的指针地址“5”读出的数据为128比特全“1”,将数据128比特“1”、128比特“1”、 128比特“0”、 128比特“1”做异或运算,得到128比特“1”,并将其异或运算的结果128比特全“1”作为SRAM2P(0)中的指针地址“5”的存储数据进行输出,通过上述过程得到的数据,其结果与SRAM2P(0)中的指针地址“5”中存储的数据完全一致,如此,数据处理模块200根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出。
本发明一实施方式中,若当前两个读出数据的读出地址处于不同的SRAM2P存储器中,则数据处理模块200直接获取不同SRAM2P存储器中对应指针地址的数据分别独立进行输出。
接续图9所示,本发明一具体示例中,读出的数据为2个,其指针地址分别为SRAM2P(0)中的指针地址“5”,以及SRAM2P(1)中的指针地址“10”,即当前数据的读出地址为R(0,5)和R(1,10);
数据处理模块200在从2R1W存储器读出数据过程中,由于每一个SRAM2P均能保证1个读端口和1个写端口同时操作,故,读出数据过程中,直接从SRAM2P(0)中的指针地址“5”读取数据,以及直接从SRAM2P(1)中的指针地址“10”读出数据,如此,以保证2R1W存储器的2个读端口和1个写端口同时操作,在此不做详细赘述。
如上所述,只需要额外1/2n的存储器面积就可以基于现有的SRAM单元构建2R1W存储器。
需要说明的是,如果逻辑上把每一个SRAM2P进一步切分,比如切分成4n个具有相同深度的SRAM2P,那么只需要增加额外1/4n的存储器面积就可以构建上述2R1W类型的SRAM;相应的,物理上SRAM的块数也增加了近2倍,在实际的布局布线中会占用不少的面积开销;当然,本发明并不以上述具体实施方式为限,其它采用异或运算以扩展存储器端口的方案也包括在本发明的保护范围内,在此不做详细赘述。
综上所述,本发明的2R1W存储器的数据处理方法及处理***,只需要额外1/2n的存储器面积就可以基于现有的SRAM单元构建2R1W存储器;同时,不需要复杂的控制逻辑,只需要简单的异或运算就可实现多个端口的操作;另外,也不需要额外的存储器块映射表和控制逻辑,具有更低的功耗,更快的处理速度,以及节省更多的资源或面积,实现简单,节约人力及物质成本。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

Claims (4)

1.一种2R1W存储器的数据处理方法,其特征在于,
所述方法包括:
根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;
每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;
当数据写入2R1W存储器和/或从所述2R1W存储器读出时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出;
其中,“当数据写入2R1W存储器时,根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出”具体包括:
获取当前数据的写入地址为W(x,y),x表示写入数据所处于的SRAM2P存储器的排列位置,0≤x<2n,y表示写入数据所处于的SRAM2P存储器中的具体的指针地址,0≤y≤M;获取与写入地址具有相同指针地址的其余主存储器中的数据,将其同时与当前写入数据做异或运算,并将异或运算结果写入到辅助存储器的相同指针地址中;
“当数据从所述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)中存储的读出数据,从当前的指定读出地址中直接读出当前存储的数据;获取与另一个读出地址具有相同指针地址的其余主存储器、以及辅助存储器中存储的数据,并对其做异或运算,将异或运算结果作为另一个读出地址的存储数据进行输出;
若当前两个读出数据的读出地址处于不同的SRAM2P存储器中,则直接获取不同SRAM2P存储器中对应指针地址的数据分别独立进行输出。
2.根据权利要求1所述的2R1W存储器的数据处理方法,其特征在于,
每块SRAM2P存储器的深度与宽度的乘积=(2R1W存储器的深度与宽度乘积)/2n。
3.一种2R1W存储器的数据处理***,其特征在于,
所述***包括:数据构建模块,数据处理模块;
所述数据构建模块具体用于:根据所述2R1W存储器的深度和宽度选择2n+1块具有相同深度及宽度的SRAM2P存储器构建2R1W存储器的硬件框架,n为正整数;
每个SRAM2P存储器均具有M个指针地址,其中,多个所述SRAM2P存储器中的一个为辅助存储器,其余均为主存储器;
当数据写入2R1W存储器和/或从所述2R1W存储器读出时,所述数据处理模块用于:根据数据的当前指针位置,关联主存储器以及辅助存储器中的数据,对其做异或运算,完成数据的写入和读出;
其中,当数据写入2R1W存储器时,所述数据处理模块具体用于:
获取当前数据的写入地址为W(x,y),x表示写入数据所处于的SRAM2P存储器的排列位置,0≤x<2n,y表示写入数据所处于的SRAM2P存储器中的具体的指针地址,0≤y≤M;获取与写入地址具有相同指针地址的其余主存储器中的数据,将其同时与当前写入数据做异或运算,并将异或运算结果写入到辅助存储器的相同指针地址中;
当数据从所述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)中存储的读出数据,从当前的指定读出地址中直接读出当前存储的数据;获取与另一个读出地址具有相同指针地址的其余主存储器、以及辅助存储器中存储的数据,并对其做异或运算,将异或运算结果作为另一个读出地址的存储数据进行输出;
若当前两个读出数据的读出地址处于不同的SRAM2P存储器中,则直接获取不同SRAM2P存储器中对应指针地址的数据分别独立进行输出。
4.根据权利要求3所述的2R1W存储器的数据处理***,其特征在于,每块SRAM2P存储器的深度与宽度的乘积=(2R1W存储器的深度与宽度乘积)/2n。
CN201610606967.3A 2016-07-28 2016-07-28 2r1w存储器的数据处理方法及数据处理*** Active CN106250321B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610606967.3A CN106250321B (zh) 2016-07-28 2016-07-28 2r1w存储器的数据处理方法及数据处理***
US16/319,297 US10754584B2 (en) 2016-07-28 2017-02-15 Data processing method and system for 2R1W memory
PCT/CN2017/073646 WO2018018876A1 (zh) 2016-07-28 2017-02-15 2r1w存储器的数据处理方法及数据处理***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610606967.3A CN106250321B (zh) 2016-07-28 2016-07-28 2r1w存储器的数据处理方法及数据处理***

Publications (2)

Publication Number Publication Date
CN106250321A CN106250321A (zh) 2016-12-21
CN106250321B true CN106250321B (zh) 2019-03-01

Family

ID=57604469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610606967.3A Active CN106250321B (zh) 2016-07-28 2016-07-28 2r1w存储器的数据处理方法及数据处理***

Country Status (3)

Country Link
US (1) US10754584B2 (zh)
CN (1) CN106250321B (zh)
WO (1) WO2018018876A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250321B (zh) 2016-07-28 2019-03-01 盛科网络(苏州)有限公司 2r1w存储器的数据处理方法及数据处理***
KR102532563B1 (ko) * 2018-03-28 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작방법
CN109617838B (zh) * 2019-02-22 2021-02-26 盛科网络(苏州)有限公司 多通道报文汇聚共享内存管理方法及***
CN110162525B (zh) * 2019-04-17 2023-09-26 平安科技(深圳)有限公司 基于b+树的读写冲突解决方法、装置及存储介质
CN112835512A (zh) * 2019-11-25 2021-05-25 深圳市中兴微电子技术有限公司 一种数据读取及写入方法、装置、设备及存储介质
CN114063887A (zh) * 2020-07-31 2022-02-18 深圳市中兴微电子技术有限公司 写入及读取方法、处理器芯片、存储介质和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578097B1 (en) * 2000-08-30 2003-06-10 Silicon Integrated Systems Corp. Method and apparatus for transmitting registered data onto a PCI bus
US6640300B1 (en) * 1999-09-27 2003-10-28 Cypress Semiconductor Corp. Method and apparatus for width and depth expansion in a multi-queue system
CN101566941A (zh) * 2009-06-03 2009-10-28 北京中星微电子有限公司 一种基于静态存储器的fifo存储单元
CN102436420A (zh) * 2010-10-20 2012-05-02 微软公司 使用辅助存储器的低ram空间、高吞吐量的持久键值存储
CN103345448A (zh) * 2013-07-10 2013-10-09 广西科技大学 寻址与存储一体化两读出一写入存储控制器
CN104484129A (zh) * 2014-12-05 2015-04-01 盛科网络(苏州)有限公司 一读一写存储器、多读多写存储器及其读写方法
CN104520817A (zh) * 2012-08-09 2015-04-15 德克萨斯仪器股份有限公司 使用单端口存储器装置的多端口存储器仿真

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608780B2 (en) * 2001-08-23 2003-08-19 Jeng-Jye Shau High performance semiconductor memory devices
US6606275B2 (en) * 2001-08-23 2003-08-12 Jeng-Jye Shau High performance semiconductor memory devices
CN100449504C (zh) 2005-01-05 2009-01-07 华为技术有限公司 一种基于bitmap表的缓存管理方法
JP2011008858A (ja) * 2009-06-25 2011-01-13 Fujitsu Ltd 半導体記憶装置
US8589851B2 (en) * 2009-12-15 2013-11-19 Memoir Systems, Inc. Intelligent memory system compiler
US8959291B2 (en) * 2010-06-04 2015-02-17 Lsi Corporation Two-port memory capable of simultaneous read and write
CN102436427B (zh) 2011-11-07 2014-10-08 华为技术有限公司 一种数据读写方法和存储设备
US8923089B2 (en) * 2012-12-21 2014-12-30 Lsi Corporation Single-port read multiple-port write storage device using single-port memory cells
US20140321471A1 (en) 2013-04-26 2014-10-30 Mediatek Inc. Switching fabric of network device that uses multiple store units and multiple fetch units operated at reduced clock speeds and related method thereof
CN103309626A (zh) 2013-07-03 2013-09-18 盛科网络(苏州)有限公司 实现网络芯片多读写端口存储器的方法及相应存储器
US9524242B2 (en) * 2014-01-28 2016-12-20 Stmicroelectronics International N.V. Cache memory system with simultaneous read-write in single cycle
CN106250321B (zh) * 2016-07-28 2019-03-01 盛科网络(苏州)有限公司 2r1w存储器的数据处理方法及数据处理***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640300B1 (en) * 1999-09-27 2003-10-28 Cypress Semiconductor Corp. Method and apparatus for width and depth expansion in a multi-queue system
US6578097B1 (en) * 2000-08-30 2003-06-10 Silicon Integrated Systems Corp. Method and apparatus for transmitting registered data onto a PCI bus
CN101566941A (zh) * 2009-06-03 2009-10-28 北京中星微电子有限公司 一种基于静态存储器的fifo存储单元
CN102436420A (zh) * 2010-10-20 2012-05-02 微软公司 使用辅助存储器的低ram空间、高吞吐量的持久键值存储
CN104520817A (zh) * 2012-08-09 2015-04-15 德克萨斯仪器股份有限公司 使用单端口存储器装置的多端口存储器仿真
CN103345448A (zh) * 2013-07-10 2013-10-09 广西科技大学 寻址与存储一体化两读出一写入存储控制器
CN104484129A (zh) * 2014-12-05 2015-04-01 盛科网络(苏州)有限公司 一读一写存储器、多读多写存储器及其读写方法

Also Published As

Publication number Publication date
US10754584B2 (en) 2020-08-25
CN106250321A (zh) 2016-12-21
WO2018018876A1 (zh) 2018-02-01
US20190278520A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
CN106250321B (zh) 2r1w存储器的数据处理方法及数据处理***
CN106297861B (zh) 可扩展的多端口存储器的数据处理方法及数据处理***
CN106302260B (zh) 4个读端口4个写端口全共享报文的数据缓存处理方法及数据处理***
US8923089B2 (en) Single-port read multiple-port write storage device using single-port memory cells
CN101751980B (zh) 基于存储器知识产权核的嵌入式可编程存储器
CN110781117A (zh) 一种基于fpga的spi扩展总线接口以及片上***
KR102466965B1 (ko) 반도체장치
US20090254698A1 (en) Multi port memory device with shared memory area using latch type memory cells and driving method
CN100573488C (zh) 一种基于同步访问模式的多端口存储器
CN102610269B (zh) 一种多读单写片内存储器
JP4456687B2 (ja) ランダムアクセスメモリ並びに、同メモリへの書込み及び同メモリからの読出し方法
TWI528322B (zh) 折疊先進先出記憶體產生器
EP3038109B1 (en) Pseudo dual port memory using a dual port cell and a single port cell with associated valid data bits and related methods
CN106158012B (zh) Fpga片内sram的时序处理方法、片内sram及fpga
CN101825997A (zh) 一种异步先入先出存储器
CN102004626A (zh) 双口存储器
CN105577985A (zh) 一种数字图像处理***
US20060155940A1 (en) Multi-queue FIFO memory systems that utilize read chip select and device identification codes to control one-at-a-time bus access between selected FIFO memory chips
US6324122B1 (en) RAM synchronized with a signal
CN102930898B (zh) 一种构建多端口异步存储模块的方法
US7672177B2 (en) Memory device and method thereof
CN100385387C (zh) 一种提高ram利用效率的方法
CN101937703A (zh) 用于具有新型位单元实施的寄存器堆的装置
US9129661B2 (en) Single port memory that emulates dual port memory
US7057962B1 (en) Address control for efficient memory partition

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province

Patentee after: Suzhou Shengke Communication Co.,Ltd.

Address before: Xinghan Street Industrial Park of Suzhou city in Jiangsu province 215021 B No. 5 Building 4 floor 13/16 unit

Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd.

CP03 Change of name, title or address