CN101499314A - 存储器装置与其更新方法 - Google Patents
存储器装置与其更新方法 Download PDFInfo
- Publication number
- CN101499314A CN101499314A CNA2008100014954A CN200810001495A CN101499314A CN 101499314 A CN101499314 A CN 101499314A CN A2008100014954 A CNA2008100014954 A CN A2008100014954A CN 200810001495 A CN200810001495 A CN 200810001495A CN 101499314 A CN101499314 A CN 101499314A
- Authority
- CN
- China
- Prior art keywords
- column
- array
- memory
- access
- upgrade
- 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.)
- Granted
Links
Images
Landscapes
- Dram (AREA)
Abstract
一种存储器装置与更新方法,其中存储器装置包括一存储器阵列,此存储器阵列包含多个存储器列。当接收阵列更新脉冲时,依据多个标签标记设定系统所使用的存储器列,以及重设存储器列对应的状态,以标示是否需被更新。当接收列更新脉冲时,依据待更新列数(Row to Refresh)计数器值、剩余更新时间(Refresh Deadline)计数器值与更新等待容许值(Queue)等参数,决定是否更新存储器列。当决定更新存储器列时,依据标签及状态选择一优先的存储器列进行更新,并设定其对应的状态。
Description
技术领域
本发明涉及一种存储器阵列的更新方法与更新电路。
背景技术
随着制造工艺的演进,在高度整合的系统单芯片中,嵌入式存储器所占的比例越来越高。根据调查,专家学者预测在2010年,嵌入式存储器占系统单芯片中的比例将高于60%。因此在提高嵌入式存储器密度的同时,如何提升存储器的效能与节省功率消耗成为现今重要的课题。
图1示出了动态随机存取存储器的架构图。请参照图1,动态随机存取存储器100的基本架构包括阵列形式排列的存储器阵列(Memory Array)110、多任务器(Multiplexer)120、存取列地址译码器(Row Address Decoder)130、行选择器(Column Selector)140、二进制计数器(Binary Counter)150、感应放大器160、以及预充电(Pre-charge)电路170。存储器阵列110中主要是由多条字符线112与位线114以阵列方式交错排列,而每个交错点则有一存储单元(Memory Cell)116,而存储器阵列110则由多个存储单元116所组成,每一个存储单元116由晶体管及储存电容所组成。
当动态随机存取存储器100经由收到存取列地址(Access Row Address,下面以ARA简称)时,会先经过存取列地址译码器130译码后,经由多任务器120致能与列地址RA对应的字符线112,以开启此字符线112上的所有晶体管。因此,电容内储存的电荷便会流至所属纵向的位线114,再通过感应放大器160将数据放大。而行地址(Column Address,下面以CA简称)经由行译码器(Column Decoder)142传送相关地址信息给行选择器140,则将行地址CA所对应的数据DATA传送读出或写入。而在进行数据的读取或者写入之后,所有数据会再经由回授电路充回存储单元116。
值得注意的是,即使存储单元116内的晶体管为关闭的状态,电容所储存的电荷也会因漏电流而随时间逐渐消逝,造成数据流失。因此存储器必须提供周期性更新数据的机制。一般而言,每隔一段时间,例如:电容内电荷消逝至最小可检测电荷的时间,系统便利用二进制计数器150逐一提供更新列地址(Refresh Address,下面简称REFA),并且藉由控制多任务器102选择输出更新列地址REFA。
在经过存取列地址译码器130将更新列地址REFA译码后,致能更新列地址REFA所对应的字符线,以开启对应字符线112上所有存储单元116的晶体管,使得电容内电荷流至所属纵向位线114。之后通过感应放大器160将数据放大后,经回授电路充回存储单元116,藉以在数据流失前将存储器内所有地址的数据更新。而在执行存储器的更新的同时,外部必须停止对存储器的存取,也因此影响存储器的效能。
目前有诸多改善存储器效能的方法,例如:提高电容的大小或者减少漏电流,藉以延长电容内电荷消逝至最小可检测电荷的时间。然而,在不改变工艺的设计之下,一般会藉由减少存储器的更新次数来提高存储器效能。举例来说,如图1的说明,当系统执行数据的读取或者写入动作后,所有的数据皆会经由回授电路充回存储单元101之中,因而这些被存取过的存储单元101便无须进行更新的动作。
美国专利公告号6154409号专利案中,提出一种用于假静态随机存取存储器的自主列辨识隐藏式更新电路及更新方法。如图2所示,此专利的存储器架构包含控制器201、更新计数器202、可锁存丛讯阵列(LatchableBurst Array)203、列译码器204,多任务器205、存储器阵列206、以及行译码器207。此专利主要为于更新周期内,若控制器201执行存储器的更新的同时,外部需要存取存储器,则便会判断是否有足够剩余时间可以先暂停执行更新。
如果还有足够剩余的时间,则利用可锁存丛讯阵列203记录这个被暂停更新的存储器列,并且让外部先执行存取存储器。等到外部结束存取后,或者更新周期内所剩余的时间只够更新所有未被更新的存储器列时,控制器201便从记录被暂停更新的存储器列开始,连续的把先前未被更新的存储器列的更新工作完成。
美国专利公告号6094705号专利案中,提出一种存储器阵列的选择式更新方法与系统。如图3所示,此专利的存储器架构包括存储器阵列301、感应放大器302、行译码器303、列译码器304、多任务器305、存储器存取控制器306、以及更新控制器307。
此专利的方法主要为在更新控制器307中利用位寄存器308记录每个存储器列对应的有效位(Valid Bit)的状态。当存储器存取控制器306发出更新指令时,更新控制器307内的二进制计数器309便会逐一产生更新列地址REFA,并且由更新控制器307开始比对更新列地址REFA与其对应的有效位。若更新列地址REFA对应的存储器列为无效(Invalid)或者有执行过写入动作,则无须执行此次的更新动作。
发明内容
依据本发明的一范例提供一种存储器阵列的更新方法及其电路。此方法为利用记录标签标记值以及状态,藉以在存储器阵列需要更新的标的时,能依据标签及状态实时地搜寻到优先更新的存储器列。而当还有足够时间执行还未被更新的存储器列的数目时,则优先允许系统存取存储器列,藉以减少更新次数,节省存储器的功率消耗,以及提高存储器的工作效能。更新电路依据此方法具体实施,亦具有上述的优点。
依据本发明的一范例采用选择电路记录存储器列对应的标签以及状态,藉以确认存储器列是否为系统所使用,以及存储器列是否被更新或者被存取。在接收到列更新脉冲时,便依据设定值,决定是否对系统所使用的存储器列进行更新。
若还有足够时间能暂时不做存储器的更新,系统便视其所需对存储器列进行存取,以提高存储器工作的效能,及节省存储器更新的次数。而当决定更新系统所使用的存储器列时,便通过标签以及状态实时地搜寻一优先更新的存储器列,以加速存储器的更新。
为使本发明的上述和其它目的、特征和优点能更明显易懂,下文特举本发明的实施范例,并配合附图详细说明如下。
附图说明
图1示出了动态随机存取存储器的架构图。
图2示出了自主列辨识隐藏式更新电路的方块图。
图3示出了存储器阵列的选择式更新系统的方块图。
图4示出了依据本发明的实施范例的存储器装置架构图。
图5示出了依据本发明的实施范例的一更新列选择装置方块示意图。
图6示出了依据本发明的实施范例的更新列选择装置中的标签设定计数器操作方法。
图7示出了依据本发明的实施范例的更新控制器产生寻找更新列(FRR)信号的机制。
图8A与8B示出了依据本发明的实施范例的状态控制流程示意图。
图9示出了依据本发明的另一实施范例的存储器装置架构图。
图10示出了依据本发明的实施范例的更新定时器所提供的阵列更新脉冲(ARS)信号与列更新脉冲(RRS)信号时序图。
图11示出了依据本发明的实施范例的存储器阵列的更新电路的时序图。
图12示出了依据本发明的实施范例的优先级译码器的真值表(PriorityEncoder/Decoder’s Truth Table)。
附图符号说明
100:动态随机存取存储器
110:存储器阵列(Memory Array)
120:多任务器(Multiplexer)
130:列地址译码器(Row Address Decoder)
140:行选择器(Column Selector)
150:二进制计数器(Binary Counter)
160:感应放大器
170:预充电(Pre-charge)电路
112:字符线
114:位线
116:存储单元(Memory Cell)
201:控制器
202:更新计数器
203:可锁存丛讯阵列(Latchable Burst Array)
204:列译码器
205:多任务器
206:存储单元阵列
207:行地址译码器
301:存储器阵列
302:感应放大器
303:行译码器
304:列译码器
305:多任务器
306:存储器存取控制器
307:更新控制器
400:存储器装置
405:列选择装置
410:存取列地址译码器(Row Access Address Decoder)
420:更新列选择装置
430:多任务器
440:存储器阵列
450:感应放大器
462:行译码器
460:行选择器
470:更新定时器
500:更新列选择装置
510:标签标记寄存器组
520:状态寄存器组
530:优先级译码器(Priority Decoder)
540:标签设定计数器(Tagged Counter)
550:更新控制器
503:标签设定计数器值(Number of Tag Set Rows)
505:更新列减少控制讯号(Row to Refresh Decrease)
700:更新控制器
710:待更新列数计数器(Row to Refresh Counter)
720:剩余更新时间计数器(Refresh Deadline Counter)
730:更新延迟计数器
740:状态控制器(State Controller)
750、760、770:比较单元
711:待更新列数(Row to Refresh)计数器值
721:剩余更新时间(Refresh Deadline)计数器值
731:更新延迟计数器值(Pending Refresh)
910:第一阶存取控制电路
920:更新控制器
930、940与950:第二阶存取控制电路
912:标签标记寄存器组
914:状态寄存器组
916:优先级译码器(Priority Decoder)
918:标签设定计数器(Tagged Counter)
932、942与952:控制区块
934、944与954:标签标记寄存器组
936、946与956:状态寄存器组
938、948与958:优先级译码器
具体实施方式
在系统单芯片电路设计中,存储器为不可或缺的组件。而相较于使用六个晶体管的静态随机存取存储器(static random access memory,SRAM),动态随机存取存储器(dynamic random access memory,DRAM)不仅成本价格上较低,且其集积度亦高于SRAM。由于DRAM需周期性的更新储存的数据,因此存储器面临更新时所造成的工作效能降低及功率消耗提高等代价。
在说明依据本发明的实施范例之前,假设本发明的存储器阵列更新方法及更新电路为应用在动态随机存取存储器的更新机制,藉以提升存储器的工作效能与降低消耗功率,但并不局限于此,仍可应用于其它范围,例如亦可适用于假静态随机存取存储器(pseudo SRAM)。
以下根据实际运用的实施范例来说明本发明。
图4示出了本发明的实施范例的存储器装置架构图,具有一阶的存取更新控制机制(One level Access Refresh Control Mechanism)存储器装置。此存储器装置400包括一列选择装置405、存储器阵列440、感应放大器450、行译码器462、行选择器460、以及更新定时器470。存储器阵列440包含多个存储单元以阵列排列方式所组成,每一个存储单元对应一个位线与字位线交错排列。而列选择装置405包括一存取列地址译码器(Row AccessAddress Decoder)410、更新列选择装置420、多任务器430。
本发明的实施范例的列选择装置405,当系统执行数据的存取时,会接收一个来自系统的存取列地址(Access Row Address,下面简称ARA)信号与一标签存取控制(Tag Access Control,下面简称TAC)信号,以便对存取列地址所对应的存储器阵列440内的存储器列进行存取以及标签寄存器(TagRegister)的设定。标签标记寄存器(Tag Flag Registers):每个标签标记对应一个或一个以上的存储器列数,此寄存器的设定方式有两种,一种是由存储器管理单元的软件或硬件标示目前哪些存储器列是有效(或无效),即那些存储器列为系统使用或不使用,不使用的存储器列内含内容对系统为无效的可以不予更新。另一种是除了上述标签存取机制外,当系统在存取未设定标签的存储器列,该存储器列对应的标签会自动设定,标示其内容为有效。
阵列更新周期期间(Array Refresh Period,ARP)为维持每个存储单元内容正确的安全更新周期,在这个期间存储器阵列440内每一有效存储器列都必须被更新或至少被存取一次。列更新周期期间(Row Refresh Period,RRP),为上述阵列更新周期除以总存储器阵列440的列数。
此时,列选择装置405会接收阵列更新脉冲(Array Refresh Strobe,ARS),在每次的阵列更新周期开始的时候产生阵列更新脉冲,以起始此阵列更新周期期间。且列更新脉冲(Row Refresh Strobe,RRS)在每次的阵列更新周期开始后,陆续产生与阵列的列数相当的列更新脉冲给列选择装置405,以进行在存储器阵列440中的更新(Refresh)操作。
在一实施范例中,此阵列更新脉冲ARS信号与列更新脉冲RRS信号可由一更新定时器(Refresh Timer)470所提供,或在另外一实施范例中,亦可由外部电路所提供,此可视设计上的需要而调整。在此亦可将此更新定时器470配置在更新列选择装置420内。
在一实施范例中,此列选择装置405可由存取列地址译码器410、更新列选择装置420与多任务器430所实现。在列选择装置405中,经由存取列地址译码器410译码操作后会获得一译码列地址411。通过控制多任务器430开启在存储器阵列440中译码列地址对应的存储器列,便可对此存储器列进行存取的操作。在本实施范例中,当系统在对存储器列进行存取时,存取列地址ARA将传送到更新列选择装置420,使更新列选择装置420记录存取列地址ARA对应的状态寄存器(Status Register)。状态寄存器(StatusRegister)为对应一个或一个以上的存储器列数,用以记录这个或这些列在这个阵列更新期间是否被存取(Access)或是更新(Refresh)。
如此一来,便可通过记录的状态和标签标记来得知存储器列是否为系统所使用且在此阵列更新周期内被存取过,若是,就可以减少一次的更新操作。
本发明实施范例所提出的存储器装置400架构,在存储器阵列更新期间,需要进行更新(Refresh)数据的操作,而更新过程实际上与存取(Access)的动作相同,如前所述,当存储单元被存取过后,其储存单元会被充电,在这个存储器阵列更新期间就不需要更新了。在本发明实施范例所提出的存储器装置400中,即对多余的更新动作进行改善,纪录在此存储器阵列更新期间内,存储单元是否曾被存取,并立即以一特定电路找出一需要被更新的列。
而本发明所提出应用在此存储器装置400的存储器装置更新方法,也就是在每一个存储器阵列更新脉冲来时,先进行判断系统是否进行存取,若是系统欲进行存取,而在更新周期剩余的时间若是大于进行尚未更新的存储器阵列440的存储器列数量所需的时间时,则优先进行系统的存取。当系统完成存取后,因为对应的存储器列,其连结的存储单元存取过后,储存单元会被充电,这个存储器阵列中已经存取过的存储器列就不需要再更新了,在此同时,若是存取列地址是位于尚未进行更新的存储器阵列440中的其中一存储器列,那么需要更新的列数量就会自动减少一列,可让存储器装置400的效率有效的提高。
上述的存储器装置更新方法,有别于传统利用二进制更新计数器的架构,本实施范例所提出的架构,以及在存储器阵列更新期间内,以系统存取优先,并加上尚未更新存储器列更新所需时间的判断机制,可大幅改善更新操作的效率,也可改进需要更新操作的存储器装置400所需付出的代价,包括例如系统存取的延迟,或是存储器的突发传输(burst)存取被迫中断等等,造成存储器工作效能降低的代价等等。
本发明实施范例所提出的存储器装置400架构,是利用字符线选择区块(Word Line Selection Block)来纪录每个存储器列被存取的状态,例如使用更新列选择装置420中的标签与状态寄存器。本发明提出的架构可以直接跳过中间连续不需被更新的存储器列,而找到下一个要被更新的存储器列。
在本发明实施范例所提出的存储器装置400架构中,更新列选择装置420包含多个标签以及多个状态,其中这些标签分别指示存储器列是否为系统所使用,而这些状态分别指示存储器列是否被更新过或者被存取过。
请参照图5,图5示出了本发明实施范例的更新列选择装置方块示意图。此更新列选择装置500可运用在如图4的更新列选择装置420,或是运用在用以选择一区块(Sector)的存储单元进行更新(Refresh)的操作,下面将以运用在如图4的更新列选择装置为例说明,但并不限于此。此更新列选择装置500接收如前所述的存取列地址(ARA)信号、标签存取控制(TAC)信号、阵列更新脉冲(ARS)信号或是列更新脉冲(RRS)信号等等。此更新列选择装置500包括由多个标签标记寄存器(Tag Flag Registers)所组成的标签标记寄存器组510、多个状态寄存器(Status Registers)所组成的状态寄存器组520、耦接到标签标记寄存器组510与状态寄存器组520的优先级译码器(PriorityDecoder)530、以及计算被设定的标签数量的标签设定计数器(TaggedCounter)540。
标签标记寄存器组510的每个标签标记寄存器对应于一个或多个存储器列或是一群存储单元,所储存的值(位值)代表对应的存储器列或是一群存储单元在存储器阵列,是否被系统使用(或进行存取)。而状态寄存器组520的每个状态寄存器对应于一个或多个存储器列或是一群存储单元,所储存的值(位值)代表对应的存储器列或是一群存储单元是否需要进行更新的状态。因此,在每次存储器阵列更新周期(ARP)开始时,会收到ARS信号,必须重新设定状态寄存器组520内所有状态寄存器。下面的实施范例将针对每个状态寄存器对应存储器阵列的一个存储器列为例说明。
更新列选择装置500每次在接收阵列更新脉冲(ARS)信号触发更新操作时,会先进行状态重新设定(Status Reset),也就是将状态寄存器组520内所有状态寄存器的内容重新设为设定(Set),代表对应的存储器列或是一群存储单元在存储器阵列更新进行期间尚未被系统进行存取的状态。而后若是对应的存储器列或是整群存储单元已经被存取,则设为清空(Clear)状态。而标签设定计数器540则是用来计算目前标签标记寄存器组510内的标签标记寄存器,所储存的标签个数,也就是标签设定计数器540用于计算标签标记寄存器组510内标签标记被设定(Set)的数量,在此实施范例中,是用于计算标签对应被存取存储器列的数量,以便提供给下面将提到的待更新列数(Row to Refresh)值,以变更需要更新列数的数量。
每次更新列选择装置500接收到系统传来存取列地址(ARA)信号的存取要求后,先判断所要存取的存储器列或是此群存储单元对应的标签标记是否是清空(Clear)的状态,若是,则在存取同时,将对应的标签标记值设定为设定(Set)状态,而标签设定计数器540的计数值则加一,否则系统直接对所要存取的存储器列或是此群存储单元进行存取的操作。
在阵列更新周期期间,列更新脉冲(RRS)信号会要求存储器装置进行对所有存储器列中的其中的一存储器列进行更新。因此,本发明实施范例所提出的存储器装置架构,还包括一种更新控制器,此更新控制器可配置在更新列选择装置内部,或是置于存储器装置架构内任一处,并不受限制,在此例子中如图5所示,更新控制器550耦接到更新列选择装置500。而此更新控制器550除了接收阵列更新脉冲(ARS)信号与列更新脉冲(RRS)信号之外,还从更新列选择装置500接收标签设定计数器值503与更新列减少控制信号505。此更新控制器550在阵列更新周期期间,根据列更新脉冲(RRS)信号、及其内部机制,而产生一寻找更新列(Find a Row To Refresh,下面简称“FRR”)信号,并传送到更新列选择装置500。此内部机制将在下面逐一介绍。
更新列选择装置500将根据此寻找更新列(FRR)信号,驱动优先级译码器530,先根据标签标记寄存器组510与状态寄存器组520内的标签与状态,所有的状态(Status)和标签(Tag)会经由一个电路找出一个可以被更新(Refresh)的存储器列或是对应的整群存储单元,这个电路称作优先级译码器(priority encoder/decoder),其输出作为更新列选择装置500的输出信号501。
请参照图6,主要是说明标签标记寄存器及被标签列数(Tagged RowCount)的设定及操作方法示意图。被标签列数(Tagged Row Count)是指所有对应标签标记寄存器被设定的列的数量。此标签标记值的内容主要是用来指出对应的存储器列是否为有效(Valid)状态,用以表示此对应的存储器列在阵列更新期间是否仍需要更新。标签值(Tag)的起始值全部设定为清空(Clear)状态,而后,在阵列更新期间,有一些标签值(Tag)可经由系统存取而设定,或是由系统的存储器管理单元或软件直接设定或是清空。上述所谓由系统的存储器管理单元或软件设定或者是清空,是在系统执行时动态的决定哪些存储器是被使用或者是没有使用(被释放),被释放的存储器,就不需要再对他做更新。而被标签列数在阵列更新期间,是保持一种动态的计算标签值被设定的个数。
如图6的标签更新列数设定操作方法示意图,请先参照步骤S610,将标签标记寄存器组510的内容重新设定为清空(Clear)状态,也就是对应的存储器列或是整群存储单元设为尚未被存取的状态。而此时标签设定计数器值则被设定为起始值,在此实施范例中为0。接着如步骤S620,判断系统是否对标签标记进行写入变更状态,若是,则如步骤S630,对存取的存储器列所对应的标签值进行设定(Set)或是清空(Clear)。
若是系统并未对标签进行写入变更状态,则如步骤S640,若系统进行存取,并同时判断所要存取的存储器列对应的标签值是否是清空(Clear)的状态。若是,则如步骤S650在存取同时,将对应的标签标记值设为设定(Set)状态,而标签设定计数器值则加一。上述的步骤S640与S650是额外的选项,也可以只进行S610到S630这些步骤即可完成标签更新列数设定操作方法。
请参照图7,为示出了本发明的实施范例所提出的具有更新控制器(Refresh Controller)的存储器装置架构示意图。此更新控制器700负责产生寻找更新列的信号(FRR),此更新控制器700包括一个待更新列数计数器(Row to Refresh Counter)710、剩余更新时间计数器(Refresh DeadlineCounter)720、更新延迟计数器730、状态控制器(State Controller)740、比较单元750与760以及770。
更新控制器700耦接到存取列地址(ARA)信号、阵列更新脉冲(ARS)信号与列更新脉冲(RRS)信号之外,还有从如图5的更新列选择装置500传送的标签标记设定计数器值503与更新列减少控制信号505。上述待更新列数计数器710根据标签设定值计数于收到控制信号741时设定为初始值与收到更新列减少控制信号505时进行递减,以计算出待更新列数(Row toRefresh)计数器值711,并传送到比较器750。
状态控制器740接收存取列地址(ARA)信号、阵列更新脉冲(ARS)信号与列更新脉冲(RRS)与剩余新时间计数器值以及三个比较器的输出,而决定是否输出寻找更新列(FRR)信号。剩余更新计数器值(Refresh DeadlineCounter,dlcnt)721是在阵列更新周期期间中,剩余的时间足够更新的列的数量。剩余更新时间计数器720在阵列更新周期开始时,将剩余更新时间(Refresh Deadline)计数器值721初始化为总列数值,并传送到比较器750与状态控制器740。当剩余更新时间计数器720在状态控制器接收到一个列更新脉冲(RRS)则被要求减一。
而比较器750则用以比较从待更新列数计数器710传来的待更新列数(Row to Refresh)计数器值711,与从剩余更新时间计数器720所传来的剩余更新时间计数器值721,当待更新列数(Row to Refresh)计数器值711大于或是大于等于剩余更新时间计数器值(dlcnt)721时,则输出一致能的低更新要求(Low Refresh Request)信号752到状态控制器740。
更新延迟计数器值(Pending Refresh)731在存储器列需要进行更新的操作,但是因为系统正在存取(Access)而延迟没有进行更新的次数。而更新延迟计数器730则是储存一更新延迟计数器值(Pending Refresh)731,并且输出至比较器760与比较器770。而状态控制器740可经由一控制信号745根据更新的状态要求更新延迟计数器加一或减一。比较器760则是用以判断更新延迟计数器值731是否为零,若是更新延迟计数器值731为零,则输出一判断结果信号761到状态控制器740,此判断机制为选择性的信号与数据路径,可根据设计上的需要增加此功能。
另外,高更新要求(High Refresh Request)信号772是当更新延迟计数器值大于或等于可容忍的数值(Thread)时,会发出此高更新要求信号。比较器770则是比较更新延迟计数器值731与可容忍的数值(Thread),当更新延迟计数器值731大于或是大于等于此可容忍的数值(Thread)时,则输出一致能的高更新要求(High Refresh Request)信号772到状态控制器740。
而状态控制器740接收阵列更新脉冲(ARS)信号、存取列地址(ARA)信号、列更新脉冲(RRS)信号、剩余更新时间计数器值721、低更新要求信号752、高更新要求信号772,并且产生寻找更新列(FRR)信号输出。
而上述状态控制器740的操作方法,则如图8A与8B所述本发明的实施范例的状态控制流程示意图。首先,先参照图8A,在开始时,如步骤802,先判断阵列更新脉冲(ARS)信号是否致能,如步骤804。若不是,则持续进行此判断操作,直到收到进行更新操作的指示。而若是收到进行更新操作时,如步骤806,将待更新列数计数器值设定为标签设定计数器值,取得总列数值并且设定剩余更新时间计数器值为总列数值,与设定所有状态寄存器为设定(Set)。
接着步骤808,判断高更新要求(High Refresh Request)信号是否致能,也就是判断更新延迟计数器值(Pending Refresh)是否大于或是等于可容忍的数值(Thread),若是,则进入步骤810的更新程序。
步骤810,找到状态与标签为设定的列,也就是需要更新的列。接着步骤812,对此列进行更新操作并且清空对应的状态,并将待更新列数计数器值减一,更新延迟计数器值也同时减一。接着步骤814,判断是否收到致能的低更新要求信号及/或是判断更新延迟计数器值不为零,若是,则代表待更新列数(Row to Refresh)计数器值仍大于或是大于等于剩余更新时间(Refresh Deadline)计数器值,则持续步骤810、812与814一直持续到收到非致能的低更新要求信号及/或是更新延迟计数器值不为零。
在步骤808中,若是没有收到致能的高更新要求信号时,则判断系统是否存取,如步骤816,若是,则进入步骤818,判断是否收到列更新脉冲(RRS)信号以及致能的低更新要求信号。若是,则如步骤820中将更新延迟计数器值(Pending Refresh)加一,再进入步骤822。若否,则直接跳到步骤822,判断系统存取的存储器列或是群存储单元对应的状态是否为设定(Set)。若是,则进行步骤824,将此列对应的状态设为清除(Clear)并且将待更新列数减一,再进行步骤826的对此列进行存取。若否,则直接进行步骤826的对此列进行存取。
在步骤816中,若系统没有存取的要求时,则进入步骤828,判断是否收到列更新脉冲(RRS)信号以及致能的低更新要求信号。若是,则如步骤830,找寻状态与标签标记为设定的其中一列,也就是如前所述,根据优先级译码器所产生必须更新的一列。接着进行步骤832,更新此列并且清空对应的状态寄存器内容,而将待更新列数(Row to Refresh)计数器值减一。接着如步骤834,判断剩余更新时间(Refresh Deadline)计数器值是否为0,若是,则代表此阵列更新周期结束,并回到步骤804判断阵列更新脉冲(ARS)信号是否致能并开始下一个阵列更新周期。
而在图9B中,则是关于如何更新剩余更新时间(Refresh Deadline)计数器值的流程图。开始为步骤802,而后进入步骤804,先判断是否阵列更新脉冲(ARS)信号致能。若否,则持续进行此判断操作,直到收到阵列更新脉冲(ARS)信号致能。收到阵列更新脉冲(ARS)信号致能后,进行步骤840,剩余更新时间(Refresh Deadline)计数器值设定为总列数值。接着进行步骤842,判断是否收到列更新脉冲(RRS)信号,若否,则持续进行步骤842,若是,则接着进行步骤844,判断剩余更新时间计数器值是否为零。若是,则代表阵列更新周期结束,重新回到步骤804。但是,若剩余更新时间计数器值不为零,则如步骤846,将剩余更新时间计数器值减一,再回到步骤842判断是否收到列更新脉冲(RRS)信号。
请参照图9,为示出了本发明的另一实施范例的存储器装置架构图。在此存储器装置架构中,提出一种具有二阶存取更新控制机制(Two levelAccess Refresh Control Mechanism)的存储器装置900。此更新控制机制包括第一阶存取控制电路与多个第二阶存取控制电路,在此以图标中所显示的第一阶存取控制电路910,以及与其耦接的多个第二阶存取控制电路930、940与950进行说明,但第二阶存取控制电路的数量并不在此限。第一阶存取控制电路910主要是控制对于整个存储器装置架构中所有存储器阵列的存取与更新的操作。而第二阶存取控制电路则是分别针对每个一区段(Sector)所对应的存储器阵列进行存取与更新的操作。此具有二阶存取更新控制机制的存储器装置,用以减少逻辑延迟时间,以增加系统频率频率,亦可延伸控制多个区段存储器装置,藉以针对大容量存储器的更新做有效的管理。
此多阶架构主要还是使用如图5所示的更新列选择装置建构多阶的控制。第一阶存取控制电路中的标签标记寄存器组与状态寄存器组,各对应纪录存储器阵列中的多个区段(Sector)的标签值与状态,以确认是否整个区段(Sector)全部已经被清空。而第二阶存取控制电路则虽然对应的是存储器阵列中的其中区段(Sector),但与图5的操作方式相同。
第一阶存取控制电路910接收如前所述的存取列地址(ARA)信号、标签存取控制(TAC)信号、阵列更新脉冲(ARS)信号、列更新脉冲(RRS)信号与来自更新控制器920的寻找更新列(FRR)信号。第一阶存取控制电路910包括由多个标签标记寄存器(Tag Flag Registers)所组成的标签标记寄存器组912、多个状态寄存器(Status Registers)所组成的状态寄存器组914、优先级译码器(Priority Decoder)916、以及用以计算改变状态的标签数量的标签设定计数器(Tagged Counter)918。
而第二阶存取控制电路,例如图标中的930、940与950,分别包括一控制区块932、942与952;一标签标记寄存器组934、944与954;状态寄存器组936、946与956;以及优先级译码器938、948与958。而第二阶存取控制电路930、940与950分别对应到存储器阵列中的区段(Sector)960、970与980。
第一阶存取控制电路910对第二阶存取控制电路930、940与950分别经由多位的线路931、941与951传送例如标签存取控制(TAC)信号与阵列更新脉冲(ARS)信号。而第二阶存取控制电路930、940与950分别经由多位的线路933、943与953回传例如标签值与状态给第一阶存取控制电路910。
第一阶存取控制电路910的存取更新控制方法,与图5及图6相似,但差异点是其标签标记寄存器组912与状态寄存器组914的每一个标签标记与状态,所储存的值代表对应的第二阶存取控制电路930、940与950在存储器阵列更新期间进行期间,是否为有用的以及全部被存取或更新过。
举例来说,标签标记寄存器组912与状态寄存器组914的标签T1与状态S1对应至第二阶存取控制电路930,而第二阶存取控制电路930为记录存储器第0到第210-1条存储器列所对应的标签与状态。标签T2与状态S2对应至第二阶存取控制电路940,而第二阶存取控制电路940为为记录存储器第210第220-1条存储器列所对应的标签与状态,以此类推。当第二更新列选择装置(例如:411a)内所有状态皆清除(clear)时,则设定第一更新列选择装置内状态S1为清除(clear),亦即表示第0~第210-1条存储器列皆以完成更新,藉以对存储器的更新做有效的管理,减少逻辑延迟时间,增加系统频率频率。
图10则为前述更新定时器所提供的阵列更新脉冲(ARS)信号与列更新脉冲(RRS)信号时序图。在阵列更新脉冲(ARS)信号致能后,则进入阵列更新期间(Array Refresh Period,ARP),更新定时器会提供一系列的列更新脉冲(RRS)频率信号,而此RRS频率信号的脉冲数量则是取决于整个存储器装置所具有的存储器列数量。
图11示出了本发明的一实施范例的存储器阵列的更新电路的时序图。当阵列更新脉冲(ARS)信号致能后,则进入阵列更新期间(Array RefreshPeriod),将提供一系列的列更新脉冲(RRS),在此以512列为例,当开始进行更新时,剩余更新时间计数器值设定为512,而待更新列数计数器值则为412,也就是共有412存储器列的对应状态设定需要更新。在没有系统存取期间,如标号1101所示,在经过数个列更新脉冲(RRS)后,由于剩余更新时间计数器值大于待更新列数计数器值,因此,此阶段会优先让系统进行存取。
如前所述,本发明所提出应用在存储器装置的更新方法,在每一个存储器阵列更新期间,先进行判断系统是否进行存取,若是系统欲进行存取,而在更新周期剩余的时间若是大于进行尚未更新的存储器阵列的存储器列数量所需的时间时,则优先进行系统的存取。当系统完成存取后,因为对应的存储器列,其连结的存储单元被存取过后,储存单元会被充电,这个存储器阵列中的被存取存储器列就不需要再更新了,在此同时,若是存取列地址是位于尚未进行更新的存储器阵列中的其中一存储器列,那么需要更新的列数量就会自动减少一列,可让存储器装置的效率有效的提高。
因此,如标号1102所示,系统存取经过一段时间后,如标号1103所示,剩余更新时间计数器值设定为510,但是待更新列数计数器值已大幅降为324。而又经过了如标号1104所示的系统存取后,如标号1105所示,剩余更新时间计数器值设定为310,待更新列数计数器值也是310,因此,此时,状态控制器根据会根据所接收的信号对寻找更新列(FRR)信号致能而进行必要的更新操作。
请参照图12,是说明一优先级译码器的真值表(PriorityEncoder/Decoder’s Truth Table)的实施范例。在输入端所收到的输入信号中,包括了部分的位数据与一部份不需考虑(x代表不需考虑,也就是“don’tcare”)。而根据输入,可取得一个输出值,并且根据唯一为位“1”的值选择对应的更新对象。
虽然本发明已以实施范例披露如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (26)
1.一种存储器装置,包括
状态寄存器组,包括多个状态寄存器,其中每个该状态寄存器对应一个或多个的存储器列,用以记录所述存储器列在阵列更新周期的更新与存取状态;
更新定时器,产生阵列更新脉冲及列更新脉冲,使更新装置能初始阵列更新周期及列更新周期;
待更新列计数器,纪录需要更新的存储器列个数;
剩余更新计数器,在该阵列更新周期中,计算剩余的时间足够更新的存储器列的数量;以及
列选择器,根据所述状态寄存器的内容,找出一可被更新的该存储器列或一群存储单元。
2.如权利要求1所述的存储器装置,其中,当该阵列更新周期开始时,将所述状态寄存器的所有状态设为设定,当该状态寄存器所对应的存储器列被存取或者是更新时,则将对应的状态设为清除,其中,该状态寄存器用来表示所对应的该存储器列在该阵列更新周期内否需要进行更新。
3.如权利要求2所述的存储器装置,其中,当该阵列更新周期开始时,将该待更新计数器值设定为总列数值,在任何一个该状态寄存器被清除的时候减一,其中当一个未被存取和更新过的该存储器列被更新或存取时,该待更新计数器值被减一。
4.如权利要求3所述的存储器装置,其中该剩余更新时间计数器在该阵列更新周期开始时,初始化为该总列数值,在收到一个列更新脉冲时被减一。
5.如权利要求1所述的存储器装置,其中,当该列更新脉冲动作时,若该待更新列计数器值大于或是大于等于该剩余更新计数器值,则该列选择器根据该状态寄存器组,找出一个状态为设定的该存储器列进行更新。
6.如权利要求1所述的存储器装置,其中该列选择器为优先级译码器。
7.如权利要求1所述的存储器装置,其中该状态寄存器组及该列选择器为多阶架构,包含多层的多个状态寄存器组及列选择器。
8.如权利要求7所述的存储器装置,其中该列选择器为优先级译码器。
9.如权利要求1所述的存储器装置,更包含更新延迟计数器,用以记录所述存储器列应进行更新操作时,因系统正在存取而延迟没有进行更新的次数。
10.如权利要求9所述的存储器装置,其中该延迟根据预先设定的可容忍的数值,该列更新脉冲动作时,若该更新延迟计数器值大于或等于该可容忍的数值时,则该列选择器根据该状态寄存器组,找出一个状态为设定的存储器列进行更新。
11.如权利要求10所述的存储器装置,当该列更新脉冲动作时,若该更新延迟计数器值大于或等于可容忍的数值时,则该列选择器根据该状态寄存器组,找出一个状态为设定的存储器列来被更新,直到更新延迟计数器值为0。
12.一种存储器装置,包括
状态寄存器组,包括多个状态寄存器,其中每个该状态寄存器对应一个或多个的存储器列,用以记录所述存储器列在阵列周期的更新与存取状态;
标签标记寄存器组,用以储存多个标签,其中每个该标签对应一个或一个以上的存储器列;
标签设定计数器,计数所述标签为设定的个数,并于该系统增减该或所述标签设定时自动加减;
更新定时器,产生阵列更新脉冲及列更新脉冲,使该存储器装置能初始阵列更新周期及列更新周期;
待更新列计数器,纪录需要更新的所述存储器列个数;以及
剩余更新计数器,在该阵列更新周期中,计算剩余的时间足够更新所述存储器列的数量。
13.如权利要求12所述的存储器装置,其中当阵列更新周期开始时,将所有所述状态寄存器的状态设为设定,当所述状态寄存器所对应的该或所述存储器列被存取或者是更新,则将该或所述状态设为清除,其中该状态寄存器用来表示所对应的该或所述存储器列在该阵列更新周期内否需要进行更新。
14.如权利要求12所述的存储器装置,其中该标签寄存器的设定方式由存储器管理单元标示目前所述存储器列是有效或无效,即所述存储器列为系统使用或不使用,不使用的所述存储器列内含内容对该系统为无效的可以不予更新。
15.如权利要求12所述的存储器装置,其中该标签寄存器的设定方式当该系统在存取未设定标签的该或所述存储器列,该或所述存储器列对应的标签会自动设定,标示其内容为有效,当该系统开始运作时即将所有的所述标签设定为清除,该系统利用标签存取控制将所要使用到的所述存储器列其对应的所述标签设为设定或是清除,表示所对应的所述存储器列为有效的或是无效的。
16.如权利要求12所述的存储器装置,其中,当阵列更新周期开始时,将该待更新计数器值设定为一标签设定计数器值,在任何一个该状态寄存器被清除的时候减一,当一个该标签值被设定且未被存取和更新过的该存储器列被更新或存取时,该待更新计数器值被减一。
17.如权利要求12所述的存储器装置,其中,该剩余更新时间计数器在该阵列更新周期开始时,初始化为一总列数值,在收到一个列更新脉冲时被减一。
18.如权利要求12所述的存储器装置,更包括列译码器,根据所有所述状态寄存器的内容,找出一个可以被更新的该存储器列或一群存储单元,当该列更新脉冲动作时,若该待更新计数器值大于或是大于等于该剩余更新计数器值,则该列译码器根据该状态寄存器组,找出一个状态为设定的存储器列进行更新。
19.如权利要求12所述的存储器装置,其中该列选择器可为优先级译码器。
20.如权利要求12所述的存储器装置,其中该状态寄存器组、该标签标记寄存器组及该列选择器为多阶架构,包含多层的多个状态寄存器组、该标签标记寄存器组及该列选择器。
21.如权利要求12所述的存储器装置,更包含更新延迟计数器,用以记录所述存储器列应进行更新操作,因该系统正在存取而延迟没有进行更新的次数,其中该延迟是根据预先设定的可容忍的数值,其中,
当该列更新脉冲动作时,若该更新延迟计数器值大于或等于该可容忍的数值时,则该列选择器根据状态寄存器组,找出一个状态为设定的存储器列进行更新。
22.如权利要求21所述的存储器装置,当该列更新脉冲动作时,若该更新延迟计数器值大于或等于该可容忍的数值时,则该列选择器根据该状态寄存器组,找出一个状态为设定的存储器列进行更新,直到该更新延迟计数器值为0。
23.一种存储器装置的更新方法,其中该存储器装置包括一存储器阵列,其中该存储器阵列具有多个存储器列,该方法包括:
状态值用以纪录对应的该存储器列在一阵列更新周期,是否被更新或存取;
当阵列更新期间剩余的时间若是大于进行尚未更新的所述存储器列数量所需的时间时,不需要更新,若是剩余时间小于或等于一待更新列数所需时间,则选出一状态为未更新及未存取的存储器列进行更新。
24.如权利要求23所述的存储器更新方法,若延迟更新的存储器列数大于或等于可容忍的数值时,则列选择器根据状态值,找出一个状态为未更新及未存取的存储器列来进行更新。
25.一种存储器装置的更新方法,其中该存储器装置包括存储器阵列,其中该存储器阵列具有多个存储器列,该方法包括:
标签值用以标示该对应的存储器列是否被使用,一状态值纪录对应的该存储器列在阵列更新周期,是否被更新或存取;
当该阵列更新期间剩余的时间若是大于进行尚未更新的所述存储器列数量所需的时间时,不需要更新,若是该剩余时间小于或小于等于一待更新列数所需时间,则选出该标签值标示为被使用且状态为未更新及未存取的存储器列进行更新。
26.如权利要求25所述的存储器更新方法,若延迟更新的存储器列数大于或等于可容忍的数值时,则列选择器根据状态及标签,找出一个标签设定为被使用且状态为未更新及未存取的存储器列来进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100014954A CN101499314B (zh) | 2008-01-29 | 2008-01-29 | 存储器装置与其更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100014954A CN101499314B (zh) | 2008-01-29 | 2008-01-29 | 存储器装置与其更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101499314A true CN101499314A (zh) | 2009-08-05 |
CN101499314B CN101499314B (zh) | 2012-02-29 |
Family
ID=40946345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100014954A Expired - Fee Related CN101499314B (zh) | 2008-01-29 | 2008-01-29 | 存储器装置与其更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101499314B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087880A (zh) * | 2009-12-08 | 2011-06-08 | 奇景光电股份有限公司 | 存储器元件的初始化方法 |
CN103559142A (zh) * | 2013-11-05 | 2014-02-05 | 中国科学院声学研究所 | 动态随机访问存储器的刷新方法 |
WO2020000954A1 (zh) * | 2018-06-29 | 2020-01-02 | 郑州云海信息技术有限公司 | 一种地址映射方法、系统、设备及计算机可读存储介质 |
CN111429346A (zh) * | 2020-03-16 | 2020-07-17 | 广州兴森快捷电路科技有限公司 | 一种基于fpga的实时视频图像放大方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100456387C (zh) * | 2002-04-15 | 2009-01-28 | 富士通微电子株式会社 | 半导体存储器 |
KR100635203B1 (ko) * | 2004-05-14 | 2006-10-16 | 에스티마이크로일렉트로닉스 엔.브이. | 플래쉬 메모리 장치 및 그 구동 방법 |
-
2008
- 2008-01-29 CN CN2008100014954A patent/CN101499314B/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102087880A (zh) * | 2009-12-08 | 2011-06-08 | 奇景光电股份有限公司 | 存储器元件的初始化方法 |
CN102087880B (zh) * | 2009-12-08 | 2013-09-18 | 奇景光电股份有限公司 | 存储器元件的初始化方法 |
CN103559142A (zh) * | 2013-11-05 | 2014-02-05 | 中国科学院声学研究所 | 动态随机访问存储器的刷新方法 |
CN103559142B (zh) * | 2013-11-05 | 2017-03-08 | 中国科学院声学研究所 | 动态随机访问存储器的刷新方法 |
WO2020000954A1 (zh) * | 2018-06-29 | 2020-01-02 | 郑州云海信息技术有限公司 | 一种地址映射方法、系统、设备及计算机可读存储介质 |
CN111429346A (zh) * | 2020-03-16 | 2020-07-17 | 广州兴森快捷电路科技有限公司 | 一种基于fpga的实时视频图像放大方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101499314B (zh) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1756833B1 (en) | Method and system for providing independent bank refresh for volatile memories | |
US7821861B2 (en) | Memory device and refresh method thereof | |
EP1751769B1 (en) | Method and system for providing seamless self-refresh for directed bank refresh in volatile memories | |
US7617356B2 (en) | Refresh port for a dynamic memory | |
CN1822224B (zh) | 能利用缓冲器刷新数据的存储器装置及其刷新方法 | |
CN101286361A (zh) | 半导体存储器件 | |
WO2000054159A1 (en) | Method and system for selective dram refresh to reduce power consumption | |
CN100570739C (zh) | 用于在动态随机存取存储器中隐藏刷新的方法和系统 | |
US11482275B2 (en) | Apparatuses and methods for dynamically allocated aggressor detection | |
CN101499314B (zh) | 存储器装置与其更新方法 | |
CN105912270B (zh) | 一种面向pm的访存请求解析装置与方法 | |
CN101645305B (zh) | 静态随机存取存储器的自动跟踪数据 | |
US6622222B2 (en) | Sequencing data on a shared data bus via a memory buffer to prevent data overlap during multiple memory read operations | |
KR101660455B1 (ko) | 누설 전력을 감소시키기 위해 데이터 액세스 이전의 정적 랜덤 액세스 메모리(sram)의 비트라인들의 사전-충전 및 관련된 시스템들 및 방법들 | |
CN100545941C (zh) | Dram及dram的刷新方法 | |
US7464230B2 (en) | Memory controlling method | |
CN102376346B (zh) | 动态随机存取存储器单元及其数据更新方法 | |
CN1551232B (zh) | 用于增强高速数据存取中刷新操作的半导体存储装置 | |
US7042786B2 (en) | Memory with adjustable access time | |
JP4176719B2 (ja) | 複数ポートのメモリセル | |
US8626999B2 (en) | Dynamic random access memory unit and data refreshing method thereof | |
US6675270B2 (en) | Dram with memory independent burst lengths for reads versus writes | |
US6631441B2 (en) | DRAM read and write circuit | |
SU1287238A1 (ru) | Буферное запоминающее устройство |
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: 20120229 Termination date: 20210129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |