CN102024490B - 伪静态存储器及其读操作与刷新操作的控制方法 - Google Patents

伪静态存储器及其读操作与刷新操作的控制方法 Download PDF

Info

Publication number
CN102024490B
CN102024490B CN200910093837.4A CN200910093837A CN102024490B CN 102024490 B CN102024490 B CN 102024490B CN 200910093837 A CN200910093837 A CN 200910093837A CN 102024490 B CN102024490 B CN 102024490B
Authority
CN
China
Prior art keywords
data
impact damper
memory
write
read operation
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
CN200910093837.4A
Other languages
English (en)
Other versions
CN102024490A (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.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
GigaDevice Semiconductor Beijing Inc
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 GigaDevice Semiconductor Beijing Inc filed Critical GigaDevice Semiconductor Beijing Inc
Priority to CN200910093837.4A priority Critical patent/CN102024490B/zh
Publication of CN102024490A publication Critical patent/CN102024490A/zh
Application granted granted Critical
Publication of CN102024490B publication Critical patent/CN102024490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种伪静态存储器,包括:读操作缓冲器及读操作标志寄存器,写操作缓冲器及写操作标志寄存器,比较器,用于比较当前读操作所针对的存储器组地址,与当前写操作缓冲器中缓存的第二数据需写入的存储器组地址,并输出比较结果信号;控制电路,用于在当前时钟周期读操作与刷新操作冲突时,依据所述读状态信号、写状态信号及比较结果信号,控制进行以下操作:从读操作缓冲器或写操作缓冲器上执行读操作且并行执行刷新操作;或者,从指定的存储器组上执行读操作,并将所读取的数据缓存至读操作缓冲器。本发明可以提高伪SRAM的存取速度,进而提高它的工作效率。

Description

伪静态存储器及其读操作与刷新操作的控制方法
技术领域
本发明涉及存储器处理的技术领域,特别是涉及一种可控制读操作与刷新操作的伪静态存储器及其控制方法,以及,一种可并行控制读/写操作与刷新操作的伪静态存储器。 
背景技术
动态随机存储器(Dynamic Random-Access Memory,DRAM)是一种大容量的存储器,DRAM对存储器阵列的晶体管要求很少(最少时单管就能实现),十分有利于降低面积开销,故随着系统芯片尺寸的逐渐减小而被广泛应用。由于漏电造成DRAM的晶体管只能将数据保持很短的时间,为了保持数据,DRAM必须隔一段时间刷新(refresh)一次。如果存储单元没有被刷新,存储的信息/数据就会丢失。 
静态存储器(Static Random Access Memory,SRAM)是典型高速存储器,公知的是,DRAM的存取速度不如SRAM快。目前,随着系统芯片的尺寸逐渐减小,对存储器所占面积的要求更加小,一种常用的方式为,利用DRAM的内核,制造SRAM,也就是伪静态存储器(伪SRAM)。即伪SRAM具有一个DRAM存储器内核和一个“SRAM型”接口的存储器件。伪SRAM内部的DRAM架构使它比传统SRAM具有更多的长处,例如体积更为轻巧,但是,由于它使用了DRAM内核,因而也需要进行周期性的刷新,以便保存数据。所以同时带来的问题就是刷新导致存取速度上不如真正的SRAM快。可见,存取速度成为伪SRAM存储器的发展瓶颈。 
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能创造性地提出一种伪静态存储器的并行刷新与读/写操作的机制,以提高伪SRAM的存取速度,进而提高它的工作效率。 
发明内容
本发明所要解决的技术问题是提供一种可控制读操作与刷新操作的伪静态存储器及其控制方法,以提高伪SRAM的存取速度,进而提高它的工作效率。 
本发明还提供了一种可并行控制读/写操作与刷新操作的伪静态存储器,以进一步提高伪SRAM的存取速度。 
为了解决上述问题,本发明公开了一种伪静态存储器,包括: 
读操作缓冲器及读操作标志寄存器,所述读操作标志寄存器用于存储标识所述读操作缓冲器中是否缓存有第一数据的读状态信号; 
写操作缓冲器及写操作标志寄存器,所述写操作缓冲器缓存需要写入指定存储器组的第二数据及对应的存储器组地址;所述写操作标志寄存器用于存储标识所述写操作缓冲器中是否缓存有新的第二数据的写状态信号; 
比较器,用于比较当前读操作所针对的存储器组地址,与当前写操作缓冲器中缓存的第二数据需写入的存储器组地址,并输出比较结果信号; 
控制电路,用于在当前时钟周期读操作与刷新操作冲突时,依据所述读状态信号、写状态信号及比较结果信号,控制进行以下操作: 
从读操作缓冲器或写操作缓冲器上执行读操作且并行执行刷新操作; 
或者,从指定的存储器组上执行读操作,并将所读取的数据缓存至读操作缓冲器。 
优选的,所述读状态信号在读操作缓冲器中缓存有第一数据时为1,在读操作缓冲器中没有第一数据时为0;所述写状态信号在写操作缓冲器中缓存有新的第二数据时为1,在写操作缓冲器中没有新的第二数据时为0;所述比较器在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二数据所对应的存储器组地址相同时输出比较结果信号为1,在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二 数据所对应的存储器组地址不同时输出比较结果信号为0;所述控制电路包括: 
第一控制子模块,用于在第一预置条件下执行从写操作缓冲器上读取数据且并行刷新的操作;所述第一预置条件为读状态信号、写状态信号及比较结果信号依次为111或011; 
第二控制子模块,用于在第二预置条件下执行从读操作缓冲器上读取数据且并行刷新的操作;所述第二预置条件为读状态信号、写状态信号及比较结果信号依次为100、110或101; 
第三控制子模块,用于在第三预置条件下执行从指定的存储器组上读取数据,并将所读取的数据缓存至读操作缓冲器的操作;所述第三预置条件为读状态信号、写状态信号及比较结果信号依次为000、010或001。 
优选的,所述控制电路还用于在当前时钟周期读操作与刷新操作不冲突时,依据所述写状态信号及比较结果信号,从写操作缓冲器或指定的存储器组上执行读操作。 
优选的,所述写状态信号在写操作缓冲器中缓存有新的第二数据时为1,在写操作缓冲器中没有新的第二数据时为0;所述比较器在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二数据所对应的存储器组地址相同时为输出比较结果信号为1,在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二数据所对应的存储器组地址不同时输出比较结果信号为0;所述控制电路包括: 
第五控制子模块,用于在第五预置条件下执行从指定的存储器组上读取数据且并行执行刷新操作;所述第五预置条件为写状态信号及比较结果信号依次为01、00或10; 
第六控制子模块,用于在第六预置条件下执行从写操作缓冲器上读取数据且并行执行刷新操作;所述第六预置条件为写状态信号及比较结果信号依次为11。 
优选的,所述读操作缓冲器的结构与存储器组的结构相同,所述写操作缓冲器包括数据存储部分与地址存储部分,所述数据存储部分与存 储器组的容量配置相同,地址存储部分的空间依据存储器组的个数确定。 
本发明实施例还公开了一种伪静态存储器读操作与刷新操作的控制方法,所述伪静态存储器包括读操作缓冲器、写操作缓冲器,所述的方法包括: 
进入当前时钟周期; 
在当前时钟周期读操作与刷新操作冲突时,检测读操作缓冲器和写操作缓冲器中的数据信息,并依据所述数据信息执行以下判断步骤: 
1)如果写操作缓冲器中存在需要写入指定存储器组的新的第二数据,并且所述新的第二数据需写入的存储器组地址与当前读操作所针对的存储器组地址相同,则读取所述写操作缓冲器中的新的第二数据且并行执行刷新操作; 
2)如果读操作缓冲器中存在从存储器组地址读出的第一数据,则读取所述读操作缓冲器中的第一数据且并行执行刷新操作; 
如果读操作缓冲器中不存在所述第一数据,则从当前读操作所针对的存储器组地址中读出数据,并在读操作缓冲器中缓存所述读出数据。 
优选的,所述的方法还包括: 
在同一时钟周期读操作与刷新操作不冲突时,依据所述数据信息执行以下判断步骤: 
判断写操作缓冲器中是否存在需要写入指定存储器组的新的第二数据,并且所述第二数据需写入的存储器组地址与当前读操作所针对的存储器组地址相同,若是,则读取所述写操作缓冲器中的第二数据且并行执行刷新操作;否则,从当前读操作所针对的存储器组地址中读出数据且并行执行刷新操作。 
与现有技术相比,本发明具有以下优点: 
本发明中伪SRAM的读操作和刷新操作可以同时进行,从而可以有效提高伪SRAM的存取速度,进而提高伪SRAM的工作效率。 
具体而言,在本发明中通过新增读操作缓冲器及读操作标志寄存器、写操作缓冲器及写操作标志寄存器,其中,写操作缓冲器缓存的是某个存储器组地址最新写入数据。在读操作与刷新操作冲突时,可以将对应存储器组地址上的读出数据缓存至读操作缓冲器,以便在下一个周期可以直接从读操作缓冲器上读取,而不至于与针对存储器组的刷新操作再发生冲突;并且,如果写操作缓冲器中存在当前读操作所针对的存储器组地址中最新写入的数据,则直接从该写操作缓冲器上进行读操行,并同时针对相应的存储器组进行刷新。可以看出,在当前时钟周期读操作与刷新操作冲突时,本发明中的读操作与刷新操作在部分周期可以并行从而有效提高伪SRAM的存取速度,进而提高伪SRAM的工作效率,而且本发明的结构简单,并不会增加伪SRAM的面积。 
附图说明
图1是本发明的一种可控制读操作与刷新操作的伪静态存储器的电路结构图; 
图2是图1所示的伪静态存储器中各寄存器、缓冲器的容量结构示意图; 
图3是本发明一种伪静态存储器的读操作与刷新操作的方法流程图; 
图4是本发明的一种可控制读/写操作与刷新操作的伪静态存储器的电路结构图; 
图5是本发明一种伪静态存储器的写操作与刷新操作的方法流程图; 
图6是图3所示的伪静态存储器中各寄存器、缓冲器的容量结构示意图。 
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。 
本专利发明人创造性地提出了通过使得读/写操作与刷新操作并行的方式来提高存取速度的构思,并提出了一种全新的伪SRAM的设计,参考图1所示的本发明伪SRAM的一种电路结构图,该伪SRAM具体可以包括: 
读操作缓冲器R_buf; 
读操作标志寄存器R_tag,用于存储标识所述读操作缓冲器R_buf中是否缓存有第一数据的读状态信号; 
需要说明的是,所述第一数据可以理解为,在当前读操作与刷新操 作所针对的M_bank[i]地址相同时,最新写入R_buf的有效数据。也就是说,若某个时钟周期,读操作与刷新操作所针对的M_bank[i]地址不同时,即使R_buf中有数据,但该数据也不是第一数据。此时,即可视作R_buf中未缓存有第一数据的情形。 
写操作缓冲器W_buf,用于缓存需要写入指定存储器组M_bank[i]的第二数据及对应的存储器组地址; 
写操作标志寄存器W_tag,用于存储标识所述写操作缓冲器W_buf中是否缓存有新的第二数据的写状态信号; 
比较器Address Comparator,用于比较当前读操作所针对的存储器组地址R/W_adr,与当前写操作缓冲器W_buf中缓存的第二数据需写入的存储器组地址,并输出比较结果信号; 
控制电路Control circuit,用于在当前时钟周期读操作与刷新操作的地址冲突(即R/W_adr与Refresh address相同)时,依据所述R_tag、W_tag及比较结果信号,控制进行以下操作: 
从读操作缓冲器R_buf或写操作缓冲器W_buf上执行读操作且并行执行刷新操作; 
或者,从指定的存储器组M_bank[i]上执行读操作,并将所读取的数据缓存至读操作缓冲器R_buf。 
具体而言,如果R_tag在R_buf缓存有第一数据时表示为1,在没有第一数据时表示为0;W_tag在W_buf缓存有新的第二数据和地址时为1,在没有新的第二数据和地址时为0;Address Comparator在比较R/W_adr与W_buf中缓存的第二数据所对应的存储器组地址相同时,输出比较结果信号为1,在比较地址不同时输出比较结果信号为0;当AddressComparator比较R/W_adr与Refresh address,发现冲突时,则Control circuit可以通过以下子模块进行控制: 
第一控制子模块,用于在第一预置条件下执行从W_buf上读取数据且并行刷新的操作;所述第一预置条件为R_tag、W_tag及比较结果信号依次为111或011; 
第二控制子模块,用于在第二预置条件下执行从R_buf上读取数据且并行刷新的操作;所述第二预置条件为R_tag、W_tag及比较结果信号依次为100、110或101; 
第三控制子模块,用于在第三预置条件下执行从指定的M_bank[i]上读取数据,并将所读取的数据缓存至R_buf的操作;所述第三预置条件为R_tag、W_tag及比较结果信号依次为000、010或001。 
为清楚示意,本实施例中Control circuit所依据的控制信号及对应的控制操作具体可以参考下表: 
  R_tag   W_tag   R/W_adr与  W_buf中地址   的比较结果信  号   是否继续   刷新   当前时钟周期进行的操作
  1   0   0   是   从R_buf上读出数据
  0   0   0   否   从M_bank[i]中读出数据,并   存入R_buf中
  1   1   0   是   从R_buf上读出数据
  0   1   0   否   从M_bank[i]中读出数据,并   存入R_buf中
  1   0   1   是   从R_buf上读出数据
  0   0   1   否   从M_bank[i]中读出数据,并   存入R_buf中
  1   1   1   是   从W_buf上读出数据
  0   1   1   是   从W_buf上读出数据
在本实施例中,W_tag为1表示W_buf中存的是需要写入指定M_bank[i]的新数据,在这种情况下,如果R/W_adr与W_buf中存储的地址相同,则直接从W_buf上读出数据,即应用本发明实施例,可以保证读出的数据总是当前指定M_bank[i]上最新的数据。可以理解的是,由于本发明在同一时钟周期的刷新操作所针对的M_bank[i],与读操作所针对 的R_buf、W_buf地址不同,故在本发明实施例中完全可以保证并行操作的有效执行。 
在具体实现中,如果当前时钟周期从M_bank[i]中读出数据,并存入R_buf中,则将R_tag置1;如果当前时钟周期的刷新操作地址从M_bank[i]切换至M_bank[j],即此时R_buf中已存的第一数据失效,则将R_tag置0。关于W_tag的设置,将在下文中提出一种示例来说明。 
作为另一优选实施例,当Address Comparator比较R/W_adr与Refreshaddress,未发现冲突时,Control circuit可以仅依据W_tag、AddressComparator比较R/W_adr与W_buf中缓存的第二数据所对应的存储器组地址输出的比较结果信号,通过以下子模块进行控制: 
第五控制子模块,用于在第五预置条件下执行从指定的M_bank[i]上读取数据,且并行执行刷新操作;所述第五预置条件为W_tag及比较结果信号依次为01、00或10; 
第六控制子模块,用于在第六预置条件下执行从W_buf上读取数据,且并行执行刷新操作;所述第六预置条件为W_tag及比较结果信号依次为11。 
为清楚示意,本实施例中控制电路所依据的控制信号及对应的控制操作具体可以参考下表: 
Figure G2009100938374D00081
为保证从指定M_bank[i]上读出的数据是最新的,本实施例中还增加了多路选择器MUX。以上所有读操作数据的输出,均送至多路选择器MUX,同时由控制电路产生选择信号,输出最终的数据。此外,X DEC、 Y DEC分别指行寻址器及列寻址器,由于刷新操作是针对一行中的所有存储器组进行,无需列寻址,所以由X DEC连接M_bank[i]。Refreshcounter是Control circuit用来控制刷新时钟周期的,以上均属现有伪SRAM的基本结构,本发明对此就不详述了。 
在本发明实施例中,如果需要从MUX的输出端DOUT查看写入的数据,则可以由将写入的数据din传给MUX来实现,在本实施例中并非必要。此外,本发明采用MUX进行信号选择操作仅仅是一种示例,在实际中,本领域技术人员采用任一种信号选择方式都是可行的,本发明对此无需加以限制。 
在具体实现中,读操作标志寄存器、写操作标志寄存器是地址数量等同于M_bank[i]的单比特寄存器;R_buf的结构与存储器组的结构相同,W_buf包括数据存储部分与地址存储部分,所述数据存储部分与存储器组的容量配置相同,地址存储部分的空间依据存储器组的个数(二进制的位数)确定。参考图2所示的一种对寄存器、缓冲器的具体容量的举例为: 
1)M_bank:共有32个M_bank,每个bank容量为256*64; 
2)W_buf:双口静态存储器,一读一写,容量为256*69,位宽是69,包含64比特数据位和5比特地址位; 
3)写操作标志寄存器:静态存储器,容量256*1,上电复位后为0; 
4)读操作标志寄存器:静态存储器,容量256*1,上电复位后为0; 
5)R_buf:伪静态存储器,无需刷新,容量为256*64。 
当然,上述本发明伪SRAM的结构仅仅用作示例,本领域技术人员采用其它电路或部件实现相应电路或模块的功能都是可行的,本发明对此无需加以限制。 
对于应用本发明的伪SRAM读操作与刷新操作控制的流程而言,具体可以包括以下步骤: 
步骤S1、进入当前时钟周期; 
步骤S2、判断当前时钟周期读操作与刷新操作是否冲突,若是,则 执行步骤S3;否则,执行步骤S4; 
步骤S3、检测读操作缓冲器和写操作缓冲器中的数据信息,并依据所述数据信息执行以下判断步骤: 
1)如果写操作缓冲器中存在需要写入指定存储器组的新的第二数据,并且所述第二数据需写入的存储器组地址与当前读操作所针对的存储器组地址相同,则读取所述写操作缓冲器中的第二数据且并行执行刷新操作; 
2)排除上述情况,如果读操作缓冲器中存在从存储器组地址读出的第一数据,则读取所述读操作缓冲器中的第一数据且并行执行刷新操作; 
如果读操作缓冲器中不存在所述第一数据,则从当前读操作所针对的存储器组地址中读出数据,并在读操作缓冲器中缓存所述读出数据。 
步骤S4、判断写操作缓冲器中是否存在需要写入指定存储器组的新的第二数据,并且所述第二数据需写入的存储器组地址与当前读操作所针对的存储器组地址相同,若是,则读取所述写操作缓冲器中的第二数据且并行执行刷新操作;否则,从当前读操作所针对的存储器组地址中读出数据且并行执行刷新操作。 
可以看出,在当前时钟周期读操作与刷新操作冲突,本发明中的读操作与刷新操作仍然可以在部分周期并行操作,从而有效提高伪SRAM的存取速度,进而提高伪SRAM的工作效率。 
为使本领域技术人员更好地理解本发明,以下通过图3所示的流程图,将应用图1所示的伪SRAM进行读操作和刷新操作的过程,作为一种具体应用的示例进一步说明。 
步骤31、读操作开始; 
步骤32、比较当前刷新操作和读操作的地址; 
步骤33、判断上述两个地址是否相同,若是,则表示冲突,执行步骤34;若否,则表示不冲突,执行步骤35; 
步骤34、同时读取W_tag、R_tag、W_buf; 
步骤341、判断W_tag是否为1,若W_tag为1,则比较R/W_adr与W_buf中存储的地址,判断是否相同,若地址相同,则产生选择W_buf的MUX选择控制信号,该信号传入MUX,刷新继续;若地址不同,则产生选择非W_buf的MUX控制选择信号;若W_tag为0,则产生选择非W_buf的MUX选择控制信号;非W_buf的MUX选择信号与R_tag=0条件结合,产生选择M_bank[i]的选择信号; 
步骤342、判断R_tag是否为1,若R_tag为0,并且当前还有一个选择非W_buf的MUX控制信号,则直接产生选择M_bank[i]的MUX选择信号,该信号传入MUX,停止刷新操作、并读取M_bank[i]中的数据写入R_buf,并将R_tag置1;若R_tag为1,则继续刷新操作并读取R_buf中的数据,然后传入MUX,同时产生选择R_buf的MUX选择信号,该信号传入MUX; 
步骤343、读取W_buf中的数据,然后传入MUX; 
步骤344、步骤341和343产生的数据在步骤341、342产生的MUX选择信号的选择下从MUX输出端输出最终数据; 
步骤35、同时进行刷新操作、读取W_tag、W_buf、M_bank[i]; 
步骤351、判断W_tag是否为1,若W_tag为0,则产生选择M_bank[i]的MUX选择信号,该信号传入MUX;若W_tag为1,则比较R/W_adr与W_buf的地址,判断是否相同,若地址相同,则产生选择W_buf的MUX选择信号,该信号传入MUX;若地址不同,则产生选择M_bank[i]的MUX选择信号,该信号传入MUX; 
步骤352、读取W_buf中的数据,然后传入MUX; 
步骤353、读取M_bank[i]中的数据,然后传入MUX; 
步骤354、步骤352、353产生的数据在步骤351产生的MUX选择信号的选择下从MUX输出端输出最终数据。 
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他 顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。 
参考图4,为进一步提高伪SRAM的存取效率,本发明还提供了一种即可控制读操作与刷新操作,又可控制写操作与刷新操作的伪SRAM,该伪SRAM具体可以包括: 
刷新计数器Refresh counter和刷新产生器Refresh_address; 
第一寄存器组RegA; 
第二寄存器组RegB; 
写操作缓冲器W_buf; 
将需要写入存储器组M_bank[i]的新数据及对应的存储器组地址写入第一寄存器组RegA,以及,将写操作缓冲器W_buf中已存的数据及对应的存储器组地址写入第二寄存器组RegB; 
写操作标志寄存器W_tag; 
读操作缓冲器R_buf; 
读操作标志寄存器R_tag,用于存储标识所述读操作缓冲器中R_buf是否缓存有数据的读状态信号; 
比较器Address Comparator,可以包括以下子模块: 
第一比较子模块,用于比较当前读操作所针对的存储器组地址R/W_adr,与写操作缓冲器W_buf中的存储器组地址,并输出第一比较结果信号; 
第二比较子模块,用于比较当前写操作所针对的存储器组地址R/W_adr,与第二寄存器组RegB中的存储器组地址,并输出第二比较结果信号; 
在具体实现中,所述Address Comparator还可以用于比较刷新地址与当前读操作所针对的存储器组地址,并输出是否冲突的比较结果信号; 
控制电路Control circuit,可以包括第一写操作控制子模块、第二写 操作控制子模块、第三读操作控制子模块和第四读操作控制子模块,其中: 
第一写操作控制子模块,用于在当前时钟周期写操作与刷新操作冲突时,执行以下操作: 
1)把第一寄存器组RegA中的数据写入写操作缓冲器W_buf; 
2)刷新操作; 
3)在所述写操作标志寄存器的写状态信号W_tag为有效标识信号,并且比较器Address Comparator输出R/W_adr与RegB中的地址不同的第二比较结果信号时,将第二寄存器组RegB中的数据写入其指定的存储器组中,然后结束本周期的操作; 
4)在所述写操作标志寄存器的写状态信号W_tag为有效标识信号,并且比较器Address Comparator输出R/W_adr与RegB中的地址相同的第二比较结果信号时,结束本周期的操作; 
5)在本周期结束前判断写操作标志寄存器的写状态信号W_tag为无效标识信号时,将W_tag设置为有效标识信号。 
第二写操作控制子模块,用于在当前时钟周期写操作与刷新操作不冲突时,执行以下操作: 
1)将第一寄存器组RegA中的数据写入当前写操作所针对的存储器组; 
2)刷新操作; 
3)在写操作标志寄存器的写状态信号W_tag为有效标识信号,且比较器Address Comparator输出R/W_adr与RegB中的地址相同的第二比较结果信号时,将写操作标志寄存器的写状态信号W_tag改为无效标识信号,然后结束本周期操作; 
4)在写操作标志寄存器的写状态信号W_tag为有效标识信号,且比较器Address Comparator输出R/W_adr与RegB中的地址不同的第二比较结果信号时,维持W_tag的有效标识状态,并结束本周期操作; 
5)在写操作标志寄存器的写状态信号W_tag为无效标识信号时, 维持W_tag的无效标识状态,并结束本周期操作。 
第三读操作控制子模块,用于在当前时钟周期读操作与刷新操作冲突时,依据所述读状态信号R_tag、写状态信号W_tag及比较器AddressComparator的第一比较结果信号,控制进行以下操作: 
从读操作缓冲器R_buf或写操作缓冲器W_buf上执行读操作且并行执行刷新操作; 
或者,从指定的存储器组M_bank[i]上执行读操作,并将所读取的数据缓存至读操作缓冲器R_buf。 
第四读操作控制子模块,用于在当前时钟周期读操作与刷新操作不冲突时,依据写状态信号W_tag及比较器Address Comparator的第一比较结果信号,从写操作缓冲器W_buf或指定的存储器组M_bank[i]上执行读操作且并行执行刷新操作。 
为保证从指定M_bank[i]上读出的数据是最新的,本实施例中还增加了多路选择器MUX。此外,X DEC、Y DEC分别指行寻址器及列寻址器,Refresh counter是Control circuit用来控制刷新时钟周期的,以上均属现有伪SRAM的基本结构。 
由于比较器的第一比较子模块及控制电路的第三读操作控制子模块和第四读操作控制子模块的功能相应于图1所示实施例中的描述,故在此不赘述,以下重点说明本实施例与图1所示实施例的不同之处。 
其中,RegA包括数据存储部分Reg_d与地址存储部分R/W_adr,需要写入M_bank[i]的数据Reg_d及地址R/W_adr均预先写入RegA,因此RegA中的数据总是最新的;W_buf也包括数据存储部分与地址存储部分(图中未示出),用于在某些情况下存储RegA传送的数据及地址,因此W_buf总是晚于RegA获得数据;同样地,RegB也包括数据存储部分Reg_W_buf与地址存储部分W_buf_adr,用于在某些情况下存储W_buf传送的数据及地址,因此RegB总是晚于W_buf获得数据。至于在什么情况下将RegA的数据传给W_buf,在什么情况下将W_buf的数据传给RegB,将在下文中详细说明。 
在本发明实施例中,在将新数据写入RegA时,同时将W_buf中已存的数据(以前某个时钟周期写入的数据)写入RegB。假设在当前时钟周期,Address Comparator比较RegA中的R/W_adr与Refresh address所指向的M_bank[i]相同,即表示当前写操作与刷新操作冲突,则在这种情况下,Control circuit会控制同时进行如下操作: 
O1、将RegA的数据传给W_buf; 
O2、Refresh; 
O3、对W_tag进行判断,在W_tag=0时,将W_tag置为1;在W_tag=1,且Address Comparator比较R/W_adr与RegB中的W_buf_adr不同时,将RegB中的Reg_W_buf,写入W_buf_adr指定的M_bank[i]中。 
假设在当前时钟周期,Address Comparator比较RegA中的R/W_adr与Refresh address所指向的M_bank[i]不同,即表示当前写操作与刷新操作不冲突,则在这种情况下,Control circuit会控制同时进行如下操作: 
O5、将RegA的数据传给R/W_adr指定的M_bank[i]中; 
O6、Refresh; 
O7、对W_tag进行判断,在W_tag=1时,且Address Comparator比较R/W_adr与RegB中的W_buf_adr相同时,将W_tag置为0;若AddressComparator比较R/W_adr与RegB中的W_buf_adr不同时,将W_tag保持1的状态;在W_tag=0时,将W_tag保持为0的状态。 
在本发明实施例中,如果需要从DOUT查看写入的数据,则可以由RegA将写入的数据din传给MUX来实现,在本实施例中并非必要。本发明采用MUX进行信号选择操作仅仅是一种示例,在实际中,本领域技术人员采用任一种信号选择方式都是可行的,本发明对此无需加以限制。 
参考图5,示出了应用本发明伪SRAM进行写操作与刷新操作控制的流程图,具体可以包括以下步骤: 
步骤501、进入当前时钟周期; 
步骤502、将新数据写入RegA,将W_buf中已存的数据写入RegB; 
步骤503、比较RegA中的R/W_adr与Refresh address所指向的M_bank[i]是否相同,若是,则表示冲突,执行步骤504;若否,则表示不冲突,执行步骤505; 
步骤504、把RegA的数据写入W_buf; 
继续刷新; 
读取W_tag判断是否为1,若为1,则比较R/W_adr与RegB中W_buf_adr是否相同,若相同,则结束本周期的操作;若不同,则将RegB中的Reg_W_buf,写入W_buf_adr指定的M_bank[i]中;若W_tag=0,则将W_tag置为1。 
步骤505、将RegA的数据传给R/W_adr指定的M_bank[i]; 
继续刷新; 
读取W_tag判断是否为1,若为1,则比较R/W_adr与RegB中W_buf_adr是否相同,若相同,则将W_tag置为0,然后结束本周期的操作;若不同,则结束本周期的操作;若W_tag=0,则结束本周期的操作。 
可以看出,无论当前时钟周期写操作与刷新操作是否冲突,本发明中的写入操作(包括置位操作)与刷新操作不是针对同一存储器组的地址,所以可以并行操作,从而有效提高伪SRAM的存取速度,进而提高伪SRAM的工作效率。 
在具体实现中,读操作标志寄存器、写操作标志寄存器可以等同于M_bank[i]的单比特寄存器;R_buf的结构与存储器组的结构相同,W_buf可以包括数据存储部分与地址存储部分,所述数据存储部分与存储器组的结构相同,地址存储部分的空间依据存储器组的个数(二进制的位数)确定。参考图5所示的一种对寄存器、缓冲器的具体容量的举例为: 
1)RegA寄存器组:容量1*69,包含64比特数据和5比特对应当前写操作指定的M_bank[i]的地址; 
2)RegB寄存器组:容量1*69,包含64比特数据和5比特对应以前某次写操作指定的M_bank[i]的地址; 
3)W_buf:双口静态存储器,一读一写,容量为256*(64+X),包 含64比特数据位和X比特地址位,其中,X指地址位数,如存储器中64个bank的地址位数X为6; 
4)写操作标志寄存器:静态存储器,容量256*1,上电复位后为零; 
5)读操作标志寄存器:静态存储器,容量256*1,上电复位后为零; 
6)R_buf:伪静态存储器,无需刷新,容量256*64。 
本说明书中的各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于方法实施例而言,由于其与伪静态存储器实施例基本相似,所以描述的比较简单,相关之处参见伪静态存储器实施例的部分说明即可。 
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。 
以上对本发明所提供的一种伪静态存储器读操作与刷新操作的控制伪静态存储器及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。 

Claims (8)

1.一种伪静态存储器,其特征在于,包括:
读操作缓冲器及读操作标志寄存器,所述读操作标志寄存器用于存储标识所述读操作缓冲器中是否缓存有第一数据的读状态信号;
写操作缓冲器及写操作标志寄存器,所述写操作缓冲器缓存需要写入指定存储器组的第二数据及对应的存储器组地址;所述写操作标志寄存器用于存储标识所述写操作缓冲器中是否缓存有新的第二数据的写状态信号;
比较器,用于比较当前读操作所针对的存储器组地址,与当前写操作缓冲器中缓存的第二数据需写入的存储器组地址,并输出比较结果信号;
控制电路,用于在当前时钟周期读操作与刷新操作冲突时,依据所述读状态信号、写状态信号及比较结果信号,控制进行以下操作:
从读操作缓冲器或写操作缓冲器上执行读操作且并行执行刷新操作;
或者,从指定的存储器组上执行读操作,并将所读取的数据缓存至读操作缓冲器。
2.如权利要求1所述的伪静态存储器,其特征在于,所述读状态信号在读操作缓冲器中缓存有第一数据时为1,在读操作缓冲器中没有第一数据时为0;所述写状态信号在写操作缓冲器中缓存有新的第二数据时为1,在写操作缓冲器中没有新的第二数据时为0;所述比较器在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二数据所对应的存储器组地址相同时输出比较结果信号为1,在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二数据所对应的存储器组地址不同时输出比较结果信号为0;所述控制电路包括:
第一控制子模块,用于在第一预置条件下执行从写操作缓冲器上读取数据且并行刷新的操作;所述第一预置条件为读状态信号、写状态信号及比较结果信号依次为111或011;
第二控制子模块,用于在第二预置条件下执行从读操作缓冲器上读取数据且并行刷新的操作;所述第二预置条件为读状态信号、写状态信号及比较结果信号依次为100、110或101;
第三控制子模块,用于在第三预置条件下执行从指定的存储器组上读取数据,并将所读取的数据缓存至读操作缓冲器的操作;所述第三预置条件为读状态信号、写状态信号及比较结果信号依次为000、010或001。
3.如权利要求1或2所述的伪静态存储器,其特征在于,所述控制电路还用于在当前时钟周期读操作与刷新操作不冲突时,依据所述写状态信号及比较结果信号,从写操作缓冲器或指定的存储器组上执行读操作。
4.如权利要求3所述的伪静态存储器,其特征在于,所述写状态信号在写操作缓冲器中缓存有新的第二数据时为1,在写操作缓冲器中没有新的第二数据时为0;所述比较器在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二数据所对应的存储器组地址相同时为输出比较结果信号为1,在比较当前读操作所针对的存储器组地址与写操作缓冲器中缓存的第二数据所对应的存储器组地址不同时输出比较结果信号为0;所述控制电路包括:
第五控制子模块,用于在第五预置条件下执行从指定的存储器组上读取数据且并行执行刷新操作;所述第五预置条件为写状态信号及比较结果信号依次为01、00或10;
第六控制子模块,用于在第六预置条件下执行从写操作缓冲器上读取数据且并行执行刷新操作;所述第六预置条件为写状态信号及比较结果信号依次为11。
5.如权利要求1所述的伪静态存储器,其特征在于,所述读操作缓冲器的结构与存储器组的结构相同,所述写操作缓冲器包括数据存储部分与地址存储部分,所述数据存储部分与存储器组的容量配置相同,地址存储部分的空间依据存储器组的个数确定。
6.如权利要求6所述的伪静态存储器,其特征在于,还包括:
多路选择器,与控制电路相连,用于依据控制电路的选择信号选择输出相应的数据。
7.一种伪静态存储器读操作与刷新操作的控制方法,其特征在于,所述伪静态存储器包括读操作缓冲器、写操作缓冲器,所述的方法包括:
进入当前时钟周期;
在当前时钟周期读操作与刷新操作冲突时,检测读操作缓冲器和写操作缓冲器中的数据信息,并依据所述数据信息执行以下判断步骤:
1)如果写操作缓冲器中存在需要写入指定存储器组的新的第二数据,并且所述新的第二数据需写入的存储器组地址与当前读操作所针对的存储器组地址相同,则读取所述写操作缓冲器中的新的第二数据且并行执行刷新操作;
2)如果读操作缓冲器中存在从存储器组地址读出的第一数据,则读取所述读操作缓冲器中的第一数据且并行执行刷新操作;
如果读操作缓冲器中不存在所述第一数据,则从当前读操作所针对的存储器组地址中读出数据,并在读操作缓冲器中缓存所述读出数据。
8.如权利要求7所述的方法,其特征在于,还包括:
在同一时钟周期读操作与刷新操作不冲突时,依据所述数据信息执行以下判断步骤:
判断写操作缓冲器中是否存在需要写入指定存储器组的新的第二数据,并且所述第二数据需写入的存储器组地址与当前读操作所针对的存储器组地址相同,若是,则读取所述写操作缓冲器中的第二数据且并行执行刷新操作;否则,从当前读操作所针对的存储器组地址中读出数据且并行执行刷新操作。
CN200910093837.4A 2009-09-23 2009-09-23 伪静态存储器及其读操作与刷新操作的控制方法 Active CN102024490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910093837.4A CN102024490B (zh) 2009-09-23 2009-09-23 伪静态存储器及其读操作与刷新操作的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910093837.4A CN102024490B (zh) 2009-09-23 2009-09-23 伪静态存储器及其读操作与刷新操作的控制方法

Publications (2)

Publication Number Publication Date
CN102024490A CN102024490A (zh) 2011-04-20
CN102024490B true CN102024490B (zh) 2012-12-05

Family

ID=43865687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910093837.4A Active CN102024490B (zh) 2009-09-23 2009-09-23 伪静态存储器及其读操作与刷新操作的控制方法

Country Status (1)

Country Link
CN (1) CN102024490B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326145A (zh) * 2015-06-26 2017-01-11 深圳市中兴微电子技术有限公司 一种存储器的控制方法和装置
US9514800B1 (en) * 2016-03-26 2016-12-06 Bo Liu DRAM and self-refresh method
US10127967B1 (en) * 2017-11-09 2018-11-13 Nanya Technology Corporation DRAM and method for operating the same
CN112102859B (zh) * 2019-06-17 2023-08-15 华邦电子股份有限公司 伪静态随机存取存储器及其数据写入方法
CN113488099A (zh) * 2021-06-11 2021-10-08 青岛本原微电子有限公司 Dsp寄存器访问冲突处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1624801A (zh) * 2003-12-05 2005-06-08 晶豪科技股份有限公司 伪静态随机存取存储器及其数据刷新方法
JP2005302196A (ja) * 2004-04-14 2005-10-27 Nec Electronics Corp 半導体記憶装置及び半導体記憶システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1624801A (zh) * 2003-12-05 2005-06-08 晶豪科技股份有限公司 伪静态随机存取存储器及其数据刷新方法
JP2005302196A (ja) * 2004-04-14 2005-10-27 Nec Electronics Corp 半導体記憶装置及び半導体記憶システム

Also Published As

Publication number Publication date
CN102024490A (zh) 2011-04-20

Similar Documents

Publication Publication Date Title
CN100545940C (zh) 控制存储器的存取和刷新的系统和方法
US9524771B2 (en) DRAM sub-array level autonomic refresh memory controller optimization
CN108154895A (zh) 执行锤击刷新操作和关联操作的存储器设备和存储器系统
CN102024490B (zh) 伪静态存储器及其读操作与刷新操作的控制方法
US7506100B2 (en) Static random access memory (SRAM) compatible, high availability memory array and method employing synchronous dynamic random access memory (DRAM) in conjunction with a data cache and separate read and write registers and tag blocks
US7617355B2 (en) Parity-scanning and refresh in dynamic memory devices
CN1988034A (zh) 具有在端口间的数据发送模式的多径访问半导体存储器件
CN104505117B (zh) 一种动态存储器刷新方法与刷新控制器
CN102024492B (zh) 伪静态存储器及其写操作与刷新操作的控制方法
CN106856098B (zh) 一种用于DRAM或eDRAM刷新的装置及其方法
CN101308697A (zh) 基于sdram的大容量fifo突发缓存器及数据存储方法
CN101477837B (zh) 一种存储器容量检测方法和装置
CN108053855A (zh) 一种基于sdram芯片的矩阵转置方法
US20030204667A1 (en) Destructive-read random access memory system buffered with destructive-read memory cache
CN106710625A (zh) 突发模式读可控sram
US20190294364A1 (en) Energy Conservation for Memory Applications
CN105487988B (zh) 基于存储空间复用提高sdram总线有效访问速率的方法
CN103870204A (zh) 一种cache中数据写入和读取方法、cache控制器
US20040078544A1 (en) Memory address remapping method
US7724567B2 (en) Memory device and method of refreshing
CN1551232B (zh) 用于增强高速数据存取中刷新操作的半导体存储装置
CN101499314A (zh) 存储器装置与其更新方法
CN114121112A (zh) 半导体装置中的气泡破裂寄存器
Noda et al. A soft-error-immune maintenance-free TCAM architecture with associated embedded DRAM
CN103295627A (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
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A12

Applicant after: GIGADEVICE SEMICONDUCTOR Inc.

Address before: 100084 room B301, research building, Tsinghua University, Beijing, Haidian District

Applicant before: GigaDevice Semiconductor Inc.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: BEIJING GIGADEVICE SEMICONDUCTOR CO., LTD.

Free format text: FORMER NAME: BEIJING GIGADEVICE SEMICONDUCTOR INC.

CP03 Change of name, title or address

Address after: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A block 12 layer

Patentee after: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.

Address before: 100083 Beijing City, Haidian District Xueyuan Road No. 30, large industrial building A12

Patentee before: GigaDevice Semiconductor Inc.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.