CN101640065B - 用于嵌入式dram的刷新控制器及刷新控制方法 - Google Patents
用于嵌入式dram的刷新控制器及刷新控制方法 Download PDFInfo
- Publication number
- CN101640065B CN101640065B CN2008101280786A CN200810128078A CN101640065B CN 101640065 B CN101640065 B CN 101640065B CN 2008101280786 A CN2008101280786 A CN 2008101280786A CN 200810128078 A CN200810128078 A CN 200810128078A CN 101640065 B CN101640065 B CN 101640065B
- Authority
- CN
- China
- Prior art keywords
- signal
- refresh
- repository group
- last
- repository
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40611—External triggering or timing of internal or partially internal refresh operations, e.g. auto-refresh or CAS-before-RAS triggered refresh
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/04—Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
一种用于嵌入式DRAM的刷新控制器,被配置为接收外部存取信号,产生刷新使能信号(REFN)、刷新地址信号(CRA)和冲突信号,所述嵌入式DRAM包括多个存储库组,所述控制器包括:状态控制模块,根据刷新间隔和时钟周期产生刷新使能信号REFN和最后刷新信号last_ccr;刷新搜索模块,在所述多个存储库组中搜索至少一个该刷新间隔内待刷新的存储库组,并根据所述外部存取信号和搜索到的存储库组产生刷新地址信号CRA;记分板模块,根据所述刷新地址信号CRA和外部存取信号记录所述多个存储库组的每一个的状态;冲突探测模块,根据所述外部存取信号、最后刷新信号last_ccr和所述每个存储库的状态产生冲突信号。本发明还提供了相应的刷新控制方法。
Description
技术领域
本发明涉及DRAM刷新控制,具体地,涉及用于嵌入式DRAM的刷新控制器及刷新控制方法。
背景技术
相比于传统的外接式动态随机存取存储器(dynamic random accessmemory,DRAM),嵌入式DRAM(embedded DRAM,eDRAM)具有更宽的带宽,并能够降低耗电量和芯片的引脚数目。在65nm一代技术中,嵌入式DRAM已经可以具有超过500MHz的性能。但是,和传统的DRAM一样,为了保持嵌入式DRAM中存储的数据,必须要周期性对各个存储单元进行刷新。刷新结构的滞后可能会限制嵌入式DRAM系统性能的进一步发展。
和传统的DRAM一样,嵌入式DRAM的同时刷新(concurrent refresh,CCR)模式能够允许刷新操作与读/写操作同时进行。但是,嵌入式DRAM的CCR刷新操作的目标存储库(memory bank)必须不同于当前正在进行读/写操作的存储库,也就是,不能够同时对同一存储库执行刷新操作和读/写操作。在嵌入式DRAM的CCR刷新中,存在多种刷新方式。单倍CCR是指在一个刷新周期内,只对一个存储库进行刷新,而双倍CCR意味着,在一个刷新周期内,对两个存储库进行刷新,类似地,四倍CCR意味着每次刷新四个存储库。此外,嵌入式DRAM可以将每个操作在多个时钟周期之内完成,以支持更高的工作频率。并且,除了一个时钟周期完成一个操作的单流水级操作之外,嵌入式DRAM还支持多流水级的操作方式。2流水级操作是指,刷新、读、写操作中的每一操作都在两个时钟周期之内完成,4流水级操作是指,每一操作都在四个时钟周期之内完成。
为了支持各种方式下的CCR刷新,现有技术提出了多种刷新方式。例如,美国专利US.6195303提出一种用于DRAM的基于时钟的刷新机制。然而,但是该机制不能应用于嵌入式DRAM。美国专利US.6393534提出一种用于避免同时请求中存储器冲突的规划电路,然而该规划电路仅应用于RDRAM,不能应用于嵌入式DRAM,并且非常复杂,难以实现和综合(synthesis)。美国专利US 6967885提出一种嵌入式DRAM,具有分布的行地址计数器的同时刷新模式。该刷新模式在65nm技术中可以达到1GHz的频率。该技术是通过在嵌入式DRAM内部添加行地址计数器而实现的,是对嵌入式DRAM本身进行的改进。本发明在该专利的基础上,通过在嵌入式DRAM外部添加刷新控制器来控制CCR刷新。
发明内容
本发明的目的是对嵌入式DRAM提供一种灵活的刷新控制器,以在各种刷新方式中控制刷新的进行,消除或避免存储库的冲突。
为此,根据本发明的第一方面,提供一种用于嵌入式DRAM的刷新控制器,被配置为接收外部存取信号,产生刷新使能信号REFN、刷新地址信号CRA和冲突信号,并将该刷新使能信号REFN和刷新地址信号CRA传送给所述嵌入式DRAM,所述嵌入式DRAM包括多个存储库组,所述控制器包括:状态控制模块,被配置为根据刷新间隔和时钟周期产生所述刷新使能信号REFN和所述最后刷新信号last_ccr;刷新搜索模块,被配置为在所述多个存储库组中搜索至少一个该刷新间隔内待刷新的存储库组,并根据所述外部存取信号和搜索到的存储库组产生所述刷新地址信号CRA;记分板模块,被配置为根据所述刷新地址信号CRA和外部存取信号记录所述多个存储库组的每一个的状态;冲突探测模块,被配置为根据所述外部存取信号、最后刷新信号last_ccr和所述每个存储库的状态产生冲突信号。
根据本发明的第二方面,提供一种用于嵌入式DRAM的刷新控制方法,所述嵌入式DRAM包括多个存储库组,所述方法包括:接收外部存取信号;在每一刷新间隔内,根据时钟周期产生刷新使能信号REFN和最后刷新信号last_ccr;在所述多个存储库组中搜索至少一个该刷新间隔内待刷新的存储库组,并根据外部存取信号和搜索到的存储库组产生刷新地址信号CRA;根据所述刷新地址信号CRA和外部存取信号记录所述多个存储库组的每一个的状态;根据所述外部存取信号、最后刷新信号last_ccr和所述每个存储库的状态产生冲突信号,并将该刷新使能信号REFN和刷新地址信号CRA传送给所述嵌入式DRAM。
根据本发明的刷新控制器和控制方法,能够适用于单倍、双倍、四倍CCR以及各种流水级操作方式的组合,具有极大的灵活性和可配置性。针对各种刷新方式,本发明的控制器和方法都能够进行简单而高效的刷新控制,避免存取冲突和刷新冲突。
附图说明
以下结合附图描述本发明的实施例,图中:
图1是根据本发明一个实施例的刷新控制器的体系结构图;
图2示出状态控制模块12的工作流程;
图3示出刷新搜索模块13的示例结构;
图4示出记分板模块14中任一记分板X的工作流程;
图5示出冲突探测模块15的工作流程;
图6是图1中刷新控制器的刷新工作流程;以及
图7示出图6中刷新流程的时序图。
具体实施方式
以下参照附图,结合具体的实施例说明本发明的实现方式。
图1是根据本发明一个实施例的刷新控制器的体系结构图。图1的刷新控制器总体由数字100表示。该控制器100与嵌入式DRAM相连,被配置为从外部接收针对存储库bai的存取信号,产生刷新使能信号REFN,刷新地址信号CRA和冲突信号。其中产生的刷新使能信号REFN和刷新地址信号CRA被传送给嵌入式DRAM,通过这两个信号来实现对嵌入式DRAM的刷新控制。冲突信号被返回给存取请求发起者,以告知其冲突的发生。上述的嵌入式DRAM中包括多个存储库(memory bank)。根据嵌入式DRAM的不同配置和刷新模式,这些存储库被分为多个存储库组。例如,对于单倍CCR模式,每个存储库组就对应一个存储库;对于双倍CCR模式,由于每个刷新周期要刷新两个存储库,因此每个存储库组中包含两个存储库。对于四倍CCR模式,每个存储库组可包括四个存储库。
更具体地,外部存取信号bai可以是读请求信号或者写请求信号,并且该信号指示要存取的存储库的地址。刷新使能信号REFN具有两个状态,用于指示嵌入式DRAM目前是/否处于刷新状态之中。刷新地址信号CRA指示要刷新的存储库组的地址。REFN信号与CRA信号结合在一起,就可以指示嵌入式DRAM是否在刷新,以及刷新哪一个存储库组的信息。
为了产生和处理上述的信号,如图所示,控制器100包括状态控制模块12,刷新搜索模块13,记分板模块14以及冲突探测模块15。
状态控制模块12用于监控刷新间隔和时钟周期,由此产生刷新使能信号REFN和最后刷新信号last_ccr。刷新搜索模块13用于在多个存储库组中搜索待刷新的存储库组,并根据外部存取信号bai和搜索到的存储库组产生刷新地址信号CRA。记分板模块14用于根据刷新地址信号CRA和外部存取信号bai记录每个存储库组的状态。冲突探测模块15用于根据外部存取信号bai、最后刷新信号last_ccr和每个存储库的状态产生冲突信号。
下面结合具体的刷新操作的例子说明控制器100中各个模块的工作流程。
在一个示例中,假定对于65nm工艺下的Cu65型嵌入式DRAM,各个存储单元的数据保持时间为tREF=40,960ns。系统的时钟周期为tCK=3ns。该嵌入式DRAM中存储库的数目为N_BANKS=8,单倍CCR,从而存储库组的数目N_BG也等于8,每个存储库中的行数M=256。为了保证每个存储单元中的数据不会丢失,就要保证每个存储库的每一行在保持时间tREF之内被刷新一次,也就是,对于每一个存储库,相邻的刷新操作之间的平均刷新间隔应该不超过tREF/tCK/M个时钟。然而,存储库并不是每次按照同一顺序进行刷新的,因此,存在这样一种可能,某存储库在一个刷新间隔内第一个被刷新,而在下一刷新间隔之内最后一个被刷新。为了保证在这种最恶劣情况下的存储库也能按时被刷新,可以将刷新间隔设定为tREF/tCK/M-N_BG个时钟。也就是,上述例子中,刷新间隔的时钟数N_RFC=tREF/tCK/M-N_BG=45。本领域技术人员可以理解,这并不是唯一的设定刷新间隔的方式。可以设定更短的刷新间隔以保证存储单元的及时刷新。
现在参照图2,以刷新间隔为N_RFC为例,说明状态控制模块12的工作流程。总体来说,状态控制模块12基于时序来产生刷新使能信号REFN和最后刷新信号last_ccr,使得在每个刷新间隔的一开始,就开始启动对嵌入式DRAM中存储库组的刷新,并且每一个时钟周期开始启动一组存储库的刷新,以确保尽快完成刷新操作。其中,REFN信号具有两个状态,第一状态和第二状态,这里假设REFN的第一状态(0)表示目前嵌入式DRAM处于正在刷新的状态,REFN为第二状态(1)表示嵌入式DRAM没有处于刷新状态。last_ccr信号也具有两个状态,这里假设last_ccr的第一状态(0)表示目前有多于一个存储库组有待刷新;last_ccr的第二状态(1)表示当前刷新周期内只剩最后一个存储库组有待刷新。具体地一状态和第二状态为0或者为1和具体电路实现有关,本发明以下内容都基于上述假设。
如图2所示,首先在步骤20中,将信号REFN和last_ccr都设置为第一状态。这是一个新的刷新间隔开始时的初始设定,因为刷新间隔一开始,就要开始启动存储库的刷新,并且目前有多于一个存储库有待刷新。除此之外,在步骤20中,还设置一个计数器i_RFC,用于对时钟周期进行计数。在步骤20中,也将i_RFC设定为0,表明开始一个新的刷新间隔。
接着,在步骤21,随着时钟周期的增加,i_RFC增加1。
然后,在步骤22,判断i_RFC是否等于刷新间隔的时钟数N_RFC。如果二者相等,意味着,这一刷新间隔已经结束,于是回到步骤20,开始下一新的刷新间隔。如果二者不相等,意味着,这一刷新间隔还没有结束,前进至步骤23。
在步骤23,判断i_RFC与嵌入式DRAM中存储库组的数目N_BG的关系。其中,对于单倍CCR,存储库组数目N_BG与存储库数目N_BANKS相等;对于双倍CCR,每一存储库组包含两个存储库,N_BG=N_BANKS/2;对于四倍CCR,N_BG=N_BANKS/4。由于状态控制模块12每一时钟周期开始启动对一个存储库组的刷新,因此,如果i_RFC大于或等于N_BG,就表明已经完成了对所有存储库组的刷新,不再需要继续启动刷新,因此,在步骤24中将REFN设定为第二状态,last_ccr仍然为第一状态,并回到步骤21继续进行时钟计数,直至该刷新间隔结束。如果i_RFC小于N_BG,则前进至步骤25。
在步骤25,判断i_RFC与N BG-1是否相等。如果两者相等,则意味着,刷新还没有完成,并且目前只剩最后一个存储库组有待刷新,因此,在步骤26中将last_ccr设定为第二状态,REFN信号仍然为第一状态。如果两者不相等,则在步骤27中将REFN,last_ccr都设为第一状态。步骤26,27之后,都回到步骤21进行时钟计数,直至该刷新间隔结束。
根据图2的流程图,状态控制模块12基于时序产生刷新使能信号REFN和最后刷新信号last_ccr,并将信号REFN传送给嵌入式DRAM,将信号last_ccr传送给刷新搜索模块13和冲突探测模块14。
刷新搜索模块13接收外部存取信号bai和最后刷新信号last_ccr,基于双重搜索模式搜索出待刷新的存储库组,并产生刷新地址信号CRA。图3示出刷新搜索模块13的示例结构。
如图3所示,刷新搜索模块13包括第一搜索模块31,第二搜索模块32,比较器33和复用器34。在一个具体的实施例中,第一搜索模块31为前向搜索模块,第二搜索模块32为后向搜索模块,它们都连接到记分板模块15,分别从前向后和从后向前搜索出待刷新的存储库组X和Y,也就是进行双向搜索。如果只有一个存储库组有待刷新,那么X=Y。
双向搜索可按照下述方式实现。前向搜索模块将其搜索的存储库组序号初始设定为X=0,后向搜索模块将其搜索的存储库组序号初始设定为Y=N_BG-1。在以后的每一时钟周期,判断上一周期刷新的存储库组是选自哪一搜索模块,如果选自前向搜索模块,则令X=X+1,Y不变;如果选自后向搜索模块,则令Y=Y-1,X不变。因为X和Y只向同一方向增加或减少,因此这样前后逼近的方式可以有序搜索待刷新的存储库组,保证每一存储库组在一个刷新间隔之内只被刷新一次。
可以理解,第一搜索模块和第二搜索模块可以通过其他搜索算法实现双重搜索,只要能够有序搜索出待刷新的存储库组就可以。例如,第一搜索模块搜索序号为奇数的存储库组,第二搜索模块搜索序号为偶数的存储库组。或者以如下方式实现:第一搜索模块将其搜索的存储库组序号初始设定为X=1,第二搜索模块将其搜索的存储库组初始序号设定为Y=0,在以后的每一时钟周期,令X=X+1,并判断上一周期刷新的存储库组选自哪一搜索模块。若选自第一搜索模块,则Y不变,则选自第二搜索模块,则Y=X-1,即Y等于上一周期的X,也就是刷新过程中漏掉的存储库组。本领域技术人员可以根据需要采用不同的算法来实现这样的双重搜索过程。
第一搜索模块31和第二搜索模块32分别搜索出待刷新的存储库组X,Y之后,这两个存储库组X,Y被送往一个多路复用器34,同时,存储库组X还被传送至一个比较器33。比较器33对外部存取信号bai和存储库组X进行比较,产生比较信号,并将该比较信号输出到复用器34作为其控制信号。具体地,比较器33判断信号bai指示的存储库地址是否属于存储库组X,如果不属于,则产生第一状态的比较信号。该比较信号控制复用器34从X和Y中选择输出X。如果bai指示的存储库地址属于存储库组X,则比较33产生第二状态的比较信号,该信号控制复用器34从X和Y中选择Y作为输出。从复用器34输出的信号(X或Y)就作为下一时钟周期将要进行刷新的存储库组的地址信号CRA。该刷新地址信号CRA被输出给嵌入式DRAM以指示其进行刷新,同时,该信号还传送给记分板模块14和冲突探测模块15。
记分板模块14用于记录各个存储库组的状态。在一个实施例中,记分板模块14包括记分板0,记分板1,...,记分板N_BG-1,也就是,每一记分板对应于一个存储库组,记录该存储库组的状态。在一个例子中,每一记分板由一个计数器实现。当计数器X的计数为0时,表明对应的存储库组X处于空闲状态;当计数器X的计数不为0时,表明对应的存储库组X正在进行某种操作。
图4示出记分板模块14中任一记分板X的工作流程。首先,在刷新间隔的开始,记分板X的计数score[X]被设为0,如步骤41所示。然后在步骤42,判断是否要刷新存储库组X,或者是否将要对其进行存取。这个判断的步骤可以通过将存储库组X与外部存取信号bai以及刷新地址信号CRA进行比对来执行。如果bai指示的地址属于存储库组X,则表明将要对其进行存取。如果CRA指示的地址为存储库组X,则表明将要对其进行刷新。
通过这样的比对,如果判断的结果是将要刷新或者存取存储库组X,那么就执行步骤43,将记分板X的计数score[X]设定为S-1,其中S为流水级数目。也就是说,对于2流水级操作,S=2,score[X]就被设定为1,对于4流水级操作,S=4,score[X]就被设定为3。之后回到步骤42,在下一时钟周期继续进行判断。
如果步骤42中判断的结果是下一时钟不会对存储库组X进行刷新或存取,那么就前进至步骤44,判断score[X]是否为0。如果score[X]为0,则执行步骤45,保持score[X]的当前值,然后回到步骤42,在下一时钟周期继续进行判断。如果score[X]不为0,则在步骤46将score[X]的值减1,即,score[X]=score[X]-1。之后回到步骤42,在下一时钟周期继续进行判断。
以上的流程意味着,对于将要开始刷新操作或读取操作的存储库组,将其对应的记分板计数设定为S-1,对于当前不为0的记分板计数,每个时钟将其值减1。这是因为,对于S流水级操作来说,每个操作会在S个时钟周期内完成。当某个存储库组开始进行操作时,将其对应的记分板计数设为S-1就指示出,这个记分板对应的存储库组开始进入操作状态。之后,对于非0的记分板计数,每个周期将其减1。这就保证,每个存储库组从开始进入操作状态(score[X]=S-1)时起,需要经过S个时钟周期才会变回空闲状态(score[X]=0)。在这S个时钟周期之内,对应的存储库一直处于操作状态。对于单流水级操作,即S=1来说,记分板计数一直保持为0,相当于记分板不发挥作用。
根据以上描述的记分板模块14所记录的存储库组的状态,以及外部存取信号的目标存储库bai、刷新地址信号CRA,冲突探测模块15可以据此探测是否存在冲突,并产生冲突信号。图5示出冲突探测模块15的工作流程。
如图5所示,首先在步骤50,冲突探测模块15接收到外部存取信号,要求对存储库bai进行读/写操作。接着在步骤51,判断存储库bai所对应的记分板的计数是否为0。如果该计数不为0,则意味着,该存储库的上一操作还没有执行完毕,目前处于操作状态,不能被访问,因此要执行步骤52,产生冲突信号,也就是,将conflict设为1。如果该计数为0,则说明,该存储库当前处于空闲状态,有可能被访问,因此,进入步骤53,进行进一步判断。
在步骤53,判断last_ccr信号是否为第二状态。如上所述,last_ccr信号为第一状态时,说明还有多于一个存储库有待刷新。在这样的情况下,总可以找到一个不与存取信号冲突的库进行刷新。因此,如果判断last_ccr为第一状态,则执行步骤54,令conflict为0,也就是认为没有出现冲突,确认可以对存储库bai进行存取。而在last_ccr为第二状态时,说明当前的刷新间隔中,只有一个存储库组可供刷新。此时,有可能出现冲突,因此进入步骤55,继续进行判断。
在步骤55,判断要存取的存储库bai是否属于要刷新的存储库组,即信号CRA所指示的存储库组。如果不属于,那么没有出现冲突,于是同样执行步骤54。如果bai属于CRA指示的存储库组,同时,由于last_ccr位第二状态,这一存储库组是唯一有待刷新的存储库组,这时就出现了存取与刷新的冲突。这种情况下,执行步骤56,即产生冲突信号。
在单流水级操作中,如上所述,每个记分板的计数一直为0。因此,步骤51中的判断结果必然是肯定的。也就是说,在单流水级操作中,由于每一操作都是在一个时钟周期之内就完成了,因此,不会出现因为要访问的存储库仍然处于上一操作状态而引起的冲突。因此,对于单流水级操作,可以省略掉步骤51和52,直接进入步骤53开始判断。
在CCR刷新中,为了保持存储单元中的数据,刷新操作要优先于存取操作来执行。因此,在产生冲突信号,即conflict=1时,冲突信号被返回给存取请求发起者,通知该发起者将该存取请求延迟,直至不再出现冲突。
如上所述描述了状态控制模块12,刷新搜索模块13,记分板模块14和冲突探测模块15各自的工作流程。现在参照图6描述刷新控制器体系的刷新工作流程。
图6是图1中刷新控制器的刷新工作流程。如图6所示,一开始,在步骤60,刷新控制器体系处于空驶状态。接下来要通过判断刷新使能信号REFN和最后刷新信号last_ccr来确定要实施的步骤。如上所述,信号REFN和last_ccr都是由状态控制模块12产生的,具体产生过程如图2中所示。对于产生的信号REFN,在步骤61中判断其是否为1。如果REFN为第二状态,表明嵌入式DRAM没有处于刷新状态,因此,刷新控制器不必对其进行刷新控制,只需返回到步骤60,保持在空驶状态即可。如果REFN为第一状态,表明嵌入式DRAM已经进入刷新状态,刷新控制器必须对其进行刷新控制。因此,控制器进入步骤62继续进行判断。
在步骤62,刷新控制器判断最后刷新信号last_ccr是否为第二状态。如果last_ccr不为第二状态,表明当前刷新间隔中还有多个存储库组有待刷新,于是控制器进入步骤63,利用双重搜索在存储库组中搜索出两个待刷新的存储库组X和Y。然后在步骤64,判断外部存取信号指示的存储库bai是否属于存储库组X。如果bai属于存储库组X,则执行步骤65,将下一个刷新的存储库组设定为Y,也就是,使得刷新地址信号CRA指示存储库组Y。同时,将存储库组Y对应的记分板的计数score[Y]设定为S-1,其中S为流水级数目。如果bai不属于存储库组X,则执行步骤66,将下一个刷新的存储库组设定为X,也就是,使得刷新地址信号CRA指示存储库组X。同时,将存储库组X对应的记分板的计数score[X]设定为S-1。其中,从步骤63至步骤66中的搜索和判断由刷新搜索模块13来执行。将记分板的计数设为S-1的意义参照图4中记分板的工作流程。
如果在步骤62中判断的结果为last_ccr为第二状态,就意味着在当前刷新间隔内只有一个存储库组有待刷新。这时,控制器进入步骤67,执行双重搜索,搜索出唯一的一个待刷新存储库组。接着在步骤68中,将该存储库组设定为下一个刷新的存储库组,也就是,使得刷新地址信号CRA指示该存储库组。同时,将该存储库组对应的记分板计数设定为S-1。类似的,步骤67,68中的搜索由刷新搜索模块13来执行。
在执行上述流程的同时,冲突探测模块15根据外部存取信号bai,刷新地址信号CRA以及记分板模块14记录的状态,来判断是否出现冲突,判断方法参照图5。在出现冲突的时候,冲突探测模块15以冲突信号的方式通知存取请求发起者,如此来延迟该存取请求,直至不再出现冲突。因此,从刷新流程的角度,在上述步骤67中搜索到唯一待刷新的存储库组之后,就可以直接对其进行刷新了。刷新的时序不会受到存取冲突的影响,因为冲突探测模块15已经通过延迟存取请求的方式避开了这种冲突。
图7示出刷新流程的时序图。从图7中可以看到刷新使能信号REFN,刷新地址信号CRA和最后刷新信号last_ccr随时钟的改变。
具体地,如图7所示,时间被划分为多个刷新间隔,每个刷新间隔包含N_RFC个时钟。刷新控制器通过信号REFN和CRA,控制嵌入式DRAM在每个刷新间隔一开始就启动对存储库组的刷新,并尽快完成刷新操作。因此,在每个刷新间隔的第0个时钟到第N_BG-1个时钟,每个时钟启动对一个存储库组的刷新。在这期间,信号REFN为低电平,即REFN=0的状态(第一状态),以指示嵌入式DRAM处于刷新状态。
在REFN处于低电平的期间,刷新搜索模块通过双向搜索,不断搜索出待刷新的存储库组,来作为信号CRA指向的刷新地址。因此,可以看到,CRA信号指向的存储库组的号码不断变化,直到第N_BG个时钟,所有存储库组都被刷新。可以看到,在第一个刷新间隔,0号存储库组第一个被刷新,而在第二个刷新间隔,0号存储库组最后一个被刷新。这就是以上描述过的可能出现的最恶劣情况。正是因为这种情况,刷新间隔的时钟数才需要在原来的基础上减去存储库组的数目。
最后刷新信号last_ccr在整个刷新间隔中,只在一个时钟周期,也就是第N_BG个时钟周期处于高电平状态,即last_ccr=1的状态(第二状态)。这个状态表明在当前的刷新间隔之内,只有一个存储库组还没有被刷新。
从图5中的冲突探测流程可以看到,仅仅在last_ccr=1(第二状态),并且要存取的存储库bai属于下一刷新存储库组CRA时,才会出现存取与刷新的冲突。而从图7的时序图中明显可以看到,last_ccr=1(第二状态)出现的概率为1/N_RFC。因此,如果每个时钟顺序依次地访问嵌入式DRAM中的存储库,出现存取刷新冲突的概率最大为1/N_RFC。
在以上描述的实施例中,刷新控制器及其模块、单元主要由集成电路或门阵列、诸如晶体管等的半导体、或者诸如可编程门阵列、可编程逻辑设备等的硬件电路实现。并且,可以理解,本发明的刷新控制器和方法可以适用于单流水级操作、2流水级操作、4流水级操作以及单倍CCR、双倍CCR、四倍CCR的各种组合操作方式,具有极大的灵活性和可配置性。
以上结合具体实施例描述了本发明的实施方式。但是,本发明并不限于以上具体描述的实施例。本领域普通技术人员能够理解,可以对本发明进行多种变换、替换和修改而不偏离本发明的精神和范围;本发明的保护范围由所附权利要求来限定。
Claims (20)
1.一种用于嵌入式DRAM的刷新控制器,被配置为接收外部存取信号,产生刷新使能信号REFN、刷新地址信号CRA和冲突信号,并将该刷新使能信号REFN和刷新地址信号CRA传送给所述嵌入式DRAM,所述嵌入式DRAM包括多个存储库组,所述控制器包括:
状态控制模块,被配置为根据刷新间隔和时钟周期产生所述刷新使能信号REFN和最后刷新信号last_ccr;
刷新搜索模块,被配置为在所述多个存储库组中搜索至少一个该刷新间隔内待刷新的存储库组,并根据所述外部存取信号和搜索到的存储库组产生所述刷新地址信号CRA;
记分板模块,被配置为根据所述刷新地址信号CRA和外部存取信号记录所述多个存储库组的每一个的状态;
冲突探测模块,被配置为根据所述外部存取信号、最后刷新信号last_ccr和所述每个存储库的状态产生冲突信号。
2.如权利要求1的刷新控制器,其中,所述状态控制模块被配置为,在每一刷新间隔内对时钟周期进行计数,当该计数小于所述存储库组的数目减1时,将所述刷新使能信号REFN设定为第一状态,将所述最后刷新信号last_ccr设定为第一状态;当该计数等于所述存储库组的数目减1时,将所述刷新使能信号REFN设定为第一状态,将所述最后刷新信号last_ccr设定为第二状态;以及,当该计数大于或等于存储库组的数目时,将所述刷新使能信号REFN设定为第二状态,将所述最后刷新信号last_ccr设定为第一状态。
3.如权利要求2的刷新控制器,其中,所述刷新搜索模块包括:
第一搜索模块,被配置为在所述多个存储库组中搜索该刷新间隔内待刷新的第一存储库组;
第二搜索模块,被配置为在所述多个存储库组中搜索该刷新间隔内待刷新的第二存储库组;
比较器,被配置为将搜索出的第一存储库组与外部存取信号相比较,产生比较信号;以及
复用器,被配置为在所述比较信号的控制下,对第一存储库组和第二存储库组进行复用,产生所述刷新地址信号CRA。
4.如权利要求3的刷新控制器,其中,当所述最后刷新信号last_ccr处于第二状态时,所述第一搜索模块和第二搜索模块搜索出的第一存储库组和第二存储库组相同。
5.如权利要求3的刷新控制器,其中所述第一搜索模块为前向搜索模块,被配置为在所述多个存储库组中从前向后进行搜索;所述第二搜索模块为后向搜索模块,被配置为在所述多个存储库组中从后向前进行搜索。
6.如权利要求3的刷新控制器,其中,所述复用器被配置为当所述比较信号处于第一状态时,选择第一存储库组地址作为所述刷新地址信号CRA;当比较信号处于第二状态时,选择第二存储库组地址作为所述刷新地址信号CRA。
7.如权利要求1的刷新控制器,其中,所述记分板模块包括多个计数器,每一计数器对应于所述多个存储库组中的每一个组。
8.如权利要求7的刷新控制器,其中,当计数器X的计数为0,对应的存储库组X处于空闲状态,当计数器X的计数不为0时,对应的存储库组X正在进行某种操作。
9.如权利要求2的刷新控制器,其中,所述冲突探测模块被配置为,当所述最后刷新信号last_ccr处于第二状态并且外部存取信号的目标存储库属于所述刷新地址信号CRA指示的存储库组时,产生冲突信号。
10.如权利要求8的刷新控制器,其中,所述冲突探测模块被配置为,当外部存取信号指示的存储库组所对应的计数器不为0时,产生冲突信号。
11.如权利要求1的刷新控制器,其中,所述多个存储库组的每一个包括1个、2个或者4个存储库。
12.一种用于嵌入式DRAM的刷新控制方法,所述嵌入式DRAM包括多个存储库组,所述方法包括:
接收外部存取信号;
在每一刷新间隔内,根据时钟周期产生刷新使能信号REFN和最后刷新信号last_ccr;
在所述多个存储库组中搜索至少一个该刷新间隔内待刷新的存储库组,并根据外部存取信号和搜索到的存储库组产生刷新地址信号CRA;
根据所述刷新地址信号CRA和外部存取信号记录所述多个存储库组的每一个的状态;
根据所述外部存取信号、最后刷新信号last_ccr和所述每个存储库的状态产生冲突信号;
并将该刷新使能信号REFN和刷新地址信号CRA传送给所述嵌入式DRAM。
13.如权利要求12的刷新控制方法,其中,所述产生刷新使能信号REFN和最后刷新信号last_ccr的步骤包括:
在每一刷新间隔内对时钟周期进行计数,当该计数小于所述存储库组的数目减一时,将刷新使能信号REFN设定为第一状态,将最后刷新信号last_ccr设定为第一状态;当该计数等于所述存储库组的数目减一时,将刷新使能信号REFN设定为第一状态,将最后刷新信号last_ccr设定为第二状态;以及,当该计数大于或等于存储库组的数目时,将刷新使能信号REFN设定为第二状态,将最后刷新信号last_ccr设定为第一状态。
14.如权利要求13的刷新控制方法,其中所述搜索存储库组,并产生刷新地址信号CRA的步骤包括:
在所述多个存储库组中搜索该刷新间隔内待刷新的第一存储库组和第二存储库组;
将搜索出的第一存储库组与外部存取信号相比较,产生比较信号;以及
在所述比较信号的控制下,对第一存储库组和第二存储库组进行复用,产生所述刷新地址信号CRA。
15.如权利要求14的刷新控制方法,其中,当所述最后刷新信号last_ccr处于第二状态时,第一搜索模块和第二搜索模块搜索出的第一存储库组和第二存储库组相同。
16.如权利要求14的刷新控制方法,其中,搜索待刷新的第一存储库和第二存储库组的步骤包括,所述第一搜索模块在所述多个存储库组中从前向后进行搜索,所述第二搜索模块在所述多个存储库组中从后向前进行搜索。
17.如权利要求14的刷新控制方法,其中对第一存储库组和第二存储库组进行复用的步骤包括:当所述比较信号处于第一状态时,选择第一存储库组地址作为所述刷新地址信号CRA;当比较信号处于第二状态时,选择第二存储库组地址作为所述刷新地址信号CRA。
18.如权利要求12的刷新控制方法,其中记录所述多个存储库组的每一个的状态的步骤包括:使用多个计数器,每一计数器对应于所述多个存储库组中的每一个组,记录所述多个存储库组的每一个的状态,当计数器X的计数为0,对应的存储库组X处于空闲状态,当计数器X的计数不为0时,对应的存储库组X正在进行某种操作。
19.如权利要求13的刷新控制方法,所述产生冲突信号的步骤包括:当所述最后刷新信号last_ccr处于第二状态并且外部存取信号的目标存储库属于所述刷新地址信号CRA指示的存储库组时,产生冲突信号。
20.如权利要求18的刷新控制方法,所述产生冲突信号的步骤包括:当外部存取信号指示的存储库组所对应的计数器不为0时,产生冲突信号。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101280786A CN101640065B (zh) | 2008-07-29 | 2008-07-29 | 用于嵌入式dram的刷新控制器及刷新控制方法 |
JP2009149598A JP5147787B2 (ja) | 2008-07-29 | 2009-06-24 | 組み込みdram用リフレッシュ・コントローラ及びリフレッシュ制御方法 |
KR1020090057078A KR101020019B1 (ko) | 2008-07-29 | 2009-06-25 | 내장형 dram을 위한 리프레시 제어기 및 리프레시 제어 방법 |
US12/507,224 US7885134B2 (en) | 2008-07-29 | 2009-07-22 | Refresh controller and refresh controlling method for embedded DRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101280786A CN101640065B (zh) | 2008-07-29 | 2008-07-29 | 用于嵌入式dram的刷新控制器及刷新控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101640065A CN101640065A (zh) | 2010-02-03 |
CN101640065B true CN101640065B (zh) | 2012-07-04 |
Family
ID=41608228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101280786A Expired - Fee Related CN101640065B (zh) | 2008-07-29 | 2008-07-29 | 用于嵌入式dram的刷新控制器及刷新控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7885134B2 (zh) |
JP (1) | JP5147787B2 (zh) |
KR (1) | KR101020019B1 (zh) |
CN (1) | CN101640065B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9104581B2 (en) * | 2010-06-24 | 2015-08-11 | International Business Machines Corporation | eDRAM refresh in a high performance cache architecture |
TWI473091B (zh) * | 2011-10-19 | 2015-02-11 | Winbond Electronics Corp | 隨機存取記憶體及其刷新控制器 |
TWI498889B (zh) * | 2012-03-26 | 2015-09-01 | Etron Technology Inc | 記憶體及更新記憶體的方法 |
KR101962874B1 (ko) * | 2012-04-24 | 2019-03-27 | 삼성전자주식회사 | 메모리 장치, 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법 |
CN103700393B (zh) | 2012-09-28 | 2016-08-03 | 国际商业机器公司 | 用于dram的中间电路和方法 |
US9870814B2 (en) | 2012-10-22 | 2018-01-16 | Hewlett Packard Enterprise Development Lp | Refreshing a group of memory cells in response to potential disturbance |
KR20150133857A (ko) * | 2013-04-15 | 2015-11-30 | 쇼오트 아게 | 유리 및 유리 세라믹스의 투과율 변경 방법 및 이 방법에 따라 제조될 수 있는 유리 또는 유리 세라믹 물품 |
KR102553181B1 (ko) * | 2016-07-12 | 2023-07-10 | 에스케이하이닉스 주식회사 | 메모리 장치 및 메모리 장치의 동작 방법 |
EP3605541A4 (en) * | 2017-04-14 | 2020-04-01 | Huawei Technologies Co., Ltd. | MEMORY REFRESHING TECHNOLOGY AND COMPUTER SYSTEM |
US12001697B2 (en) | 2020-11-04 | 2024-06-04 | Rambus Inc. | Multi-modal refresh of dynamic, random-access memory |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006130276A1 (en) * | 2005-05-31 | 2006-12-07 | Micron Technology, Inc. | System and method for hidden-refresh rate modification |
EP1839313A1 (en) * | 2004-12-28 | 2007-10-03 | QUALCOMM Incorporated | Directed auto-refresh synchronization |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628850A (ja) * | 1992-07-07 | 1994-02-04 | Mitsubishi Electric Corp | ダイナミックramの制御回路 |
JPH10222979A (ja) * | 1997-01-31 | 1998-08-21 | Mitsubishi Electric Corp | 情報処理装置 |
JP2000251467A (ja) * | 1999-03-02 | 2000-09-14 | Nec Ibaraki Ltd | メモリリフレッシュ制御装置およびその制御方法 |
US6650586B1 (en) | 2000-06-28 | 2003-11-18 | Intel Corporation | Circuit and system for DRAM refresh with scoreboard methodology |
JP2005222581A (ja) * | 2004-02-03 | 2005-08-18 | Renesas Technology Corp | 半導体記憶装置 |
KR100652380B1 (ko) * | 2004-10-25 | 2006-12-01 | 삼성전자주식회사 | 버퍼를 이용하여 리프레쉬하는 메모리 장치 및 그 방법 |
US20080270683A1 (en) * | 2007-04-25 | 2008-10-30 | International Business Machines Corporation | Systems and methods for a dram concurrent refresh engine with processor interface |
-
2008
- 2008-07-29 CN CN2008101280786A patent/CN101640065B/zh not_active Expired - Fee Related
-
2009
- 2009-06-24 JP JP2009149598A patent/JP5147787B2/ja not_active Expired - Fee Related
- 2009-06-25 KR KR1020090057078A patent/KR101020019B1/ko not_active IP Right Cessation
- 2009-07-22 US US12/507,224 patent/US7885134B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1839313A1 (en) * | 2004-12-28 | 2007-10-03 | QUALCOMM Incorporated | Directed auto-refresh synchronization |
WO2006130276A1 (en) * | 2005-05-31 | 2006-12-07 | Micron Technology, Inc. | System and method for hidden-refresh rate modification |
Also Published As
Publication number | Publication date |
---|---|
KR20100012807A (ko) | 2010-02-08 |
CN101640065A (zh) | 2010-02-03 |
KR101020019B1 (ko) | 2011-03-09 |
JP5147787B2 (ja) | 2013-02-20 |
US7885134B2 (en) | 2011-02-08 |
JP2010033695A (ja) | 2010-02-12 |
US20100027363A1 (en) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101640065B (zh) | 用于嵌入式dram的刷新控制器及刷新控制方法 | |
US11315619B2 (en) | Apparatuses and methods for distributing row hammer refresh events across a memory device | |
EP1751769B1 (en) | Method and system for providing seamless self-refresh for directed bank refresh in volatile memories | |
US9691466B1 (en) | Memory device including refresh controller | |
JP4912718B2 (ja) | ダイナミック型半導体メモリ | |
CN1697078B (zh) | 半导体存储器 | |
US7583552B2 (en) | Method and system for providing independent bank refresh for volatile memories | |
CN101276640B (zh) | 半导体存储器、系统及半导体存储器的操作方法 | |
WO2019079157A1 (en) | APPARATUS AND METHODS FOR REFRESHING MEMORY | |
CN100578665C (zh) | 半导体存储器 | |
CN102655022A (zh) | 半导体存储器件的刷新控制电路和方法 | |
CN104505117B (zh) | 一种动态存储器刷新方法与刷新控制器 | |
US11482275B2 (en) | Apparatuses and methods for dynamically allocated aggressor detection | |
US6728157B2 (en) | Semiconductor memory | |
JP2012033248A (ja) | 半導体装置 | |
CN111816230B (zh) | 半导体存储器件及其操作方法 | |
US11783884B2 (en) | Semiconductor memory device and memory system including the same | |
CN103065675B (zh) | 存储系统 | |
CN100456387C (zh) | 半导体存储器 | |
CN100367410C (zh) | 改进预充电时间的半导体存储装置 | |
US7355872B2 (en) | Segmented content addressable memory architecture for improved cycle time and reduced power consumption | |
CN114974344A (zh) | 半导体存储器件和包括其的存储器系统 | |
CN100452239C (zh) | 半导体存储器 | |
JP5333566B2 (ja) | ダイナミック型半導体メモリのリフレッシュ制御方法 | |
CN1716442B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20160729 |
|
CF01 | Termination of patent right due to non-payment of annual fee |