存储器同步方法和刷新控制电路的制作方法

文档序号:6571138阅读:389来源:国知局
专利名称:存储器同步方法和刷新控制电路的制作方法
技术领域
本发明涉及用于同步安装的存储器的多个列(rank)的刷新定时的存储器同步方法和刷新控制电路。
背景技术
传统上已知的容错计算机在计算机系统中多路(例如两路或三路)复用构成计算机硬件的组件,例如CPU(中央处理单元)、存储器、盘、网络、电源等,以便即使组件之一出现故障也可以实现不间断的操作而无需停止计算机系统。
就容错计算机而言,存在一种锁步(lockstep)方法,其中被多路复用的共有组件始终以相同的定时同步地执行相同的操作,还存在一种通过将处理结果放在一起并进行比较来允许某些组件不保持同步的方法。例如在日本专利早期公开No.1999-338832和日本专利早期公开No.2004-110803中对这些进行了描述。
就此而论,为了实现CPU总线的完全锁步,对其下的组件的处理需要被同步。具体而言,对存储器的访问要求高速处理,所以希望在CPU和存储器之间也执行完全锁步的操作。
用于一般计算机系统的存储器是被称为DRAM(动态随机访问存储器)的一种存储器,这类存储器需要通过刷新操作周期性地补充电荷以保持存储器的内容。即使从CPU到存储器的访问同步,如果刷新的定时中断(off),则从存储器返回到CPU的数据的定时也可能是中断的。
下面将描述引起定时中断刷新的因素。
图1是用于周期性地生成刷新的电路的框图。
就图1中所示的电路而言,刷新计数器1对用于执行刷新的定时进行计数。该计数器根据异步的异步复位信号RST变为初始值0,并且与时钟信号CLK同步地工作。该计数器也可以根据同步复位信号变为初始值0。在图1中,刷新计数器异步复位信号112被输入。刷新间隔寄存器2是用于设置刷新间隔的寄存器。就刷新间隔而言,根据要使用的存储器的类型确定最大周期(tREFI)。例如,就JEDEC所规定的DDR SDRAM和DDR2 SDRAM来说,该间隔为7.8μs或3.9μs。例如在时钟信号CLK的频率为200MHz时按照7.8μs的周期执行刷新的情况下,刷新间隔寄存器2的值被设置为1560(7.8μs/5ns)。刷新间隔比较部分4将刷新计数器1的值与刷新间隔寄存器2的值进行比较,并且如果它们相匹配则输出“1”。存储器命令生成部分7调整刷新和其它请求(图1中省略了)并且将最佳命令发布(issue)给存储器总线。
图2是示出了图1中所示电路的操作的时序图。
刷新计数器1根据异步复位信号RST被初始化为0,并且刷新计数器1与时钟信号CLK同步地进行计数。
如果刷新计数器1的值与刷新间隔寄存器2的值相匹配,则刷新计数器异步复位信号112变为活动并且宣告刷新开始。刷新计数器1通过刷新计数器异步复位信号112被初始化为0,以继续计数。
图2中所示的Wait REF(等待REF)到Req Busy(Req忙)是存储器命令生成部分7的内部信号。当刷新计数器异步复位信号112被断言(asserted)时,Req Busy是活动的,使得刷新不能立刻开始并且WaitREF信号变为活动。如果Req Busy被释放,则OK REF被断言并且刷新命令被发布给存储器。
因此,用于将刷新命令发布给存储器的定时基于刷新计数器1的定时。为了同步被多路复用的存储器的刷新定时,需要同步用于判定刷新周期的计数器。
图3是示出了由板A和板B两个板子构成的容错计算机。下面,将描述在同步图3中所示的容错计算机的存储器刷新定时的情况下的问题。
图4是示出了由于图3中所示的容错计算机的异步复位的定时所引起的问题的图。
在对图3中所示的板A和板B同时执行异步复位的情况下,每个板子的复位路线的特性可能略微不同,或者即使它们完全同时,也可能不满足建立或保持。因此,根据图4中所示的异步复位的定时,计数器值可能不同。
图5是示出了当重启图3中所示的容错计算机上的板A时的操作的图。
就容错计算机而言,出故障的模块被隔离并且被重新安装。但是,在这种情况下,工作中的模块没有通过异步复位来初始化,使得计数器值不匹配,如图5中所示。
图6是示出了在刷新请求的定时中断并且同步的存储器读取在图3中所示的容错计算机中的存储器命令生成部分7中发生竞争的情况下被发布给存储器总线的命令的顺序的图。
如图6中所示,在板A和板B上,Read(读)在相同的定时被断言。在这种情况下,板A的Start REF(开始REF)定时比板B的Start REF落后1个时钟。就板A而言,Read和Start REF是同时的。如果Read的优先级较高,则读取命令被发布给存储器,并且随后预充电(在刷新主题列开放的情况下)和刷新分别被发布。
在板B上,Start REF在Read之前被断言,使得刷新过程首先被执行并且读取随后被发布。如果是对与刷新相同的列的读取,则可以通过在刷新命令之后的足够时间(t RFC)之后执行激活来发布读取命令,如图6中所示。
因此,存在如果刷新请求只相差1个时钟,则从存储器中读取的数掘的响应相差很多个时钟的情况。
关于上面提到的存储器刷新操作,构思了各种技术。例如在日本专利早期公开No.1995-73059、日本专利公开No.1995-9625和日本专利早期公开No.2000-330812中所描述的。
虽然日本专利早期公开No.1995-73059和日本专利公开No.1995-9625描述了一种通过延迟刷新操作来使刷新操作避开其它存储器访问的方法,但是存在这样的问题,即在用于判定刷新定时的计数器值随板子不同而不同的情况下,不能保证锁步操作。
还有这样一个问题,即在通过等待用于将读取数据返回到已经对存储器做出请求的模块的定时来保证锁步的系统中会发生存储器访问的性能恶化。
日本专利早期公开No.2000-330812中所描述的方法只在初始化存储器时对刷新电路计时,并且没有考虑来自用于向多个存储器模块施加刷新控制的高阶模块的访问。

发明内容
本发明的目的在于提供能够同步安装的存储器的多个列的刷新定时并且最小化常规存储器访问的性能恶化的存储器同步方法和刷新控制电路。
根据本发明,在常规状态下,对安装的存储器的多个列执行常规刷新,其中按照预定的第一间隔利用通过同步复位信号初始化的计数器的计数值顺序地执行刷新。在同步复位信号变为活动的情况下,通过按照比第一间隔短的第二间隔顺序地执行刷新来执行高速刷新。因而,同步复位信号在相同的定时被提供给要同步的板子。并且作为用于刷新的定时的计数器被初始化,以使得用于之后的刷新的定时同步。而且,只有当同步复位信号被提供时才集中执行刷新,使得常规存储器访问的性能恶化最小化。
根据下面参考附图的描述,可以清楚本发明的上述和其它目的、特征和优点,附图示出了本发明的示例。


图1是用于周期性地生成刷新的电路的框图;图2是示出了图1中所示的电路的操作的时序图;图3是示出了由板A和板B两个板子构成的容错计算机的图;图4是示出了由于图3中所示的容错计算机的异步复位的定时所引起的问题的图;图5是示出了当重启图3中所示的容错计算机上的板A时的操作的图;图6是示出了在刷新请求的定时中断并且同步的存储器读取在图3中所示的容错计算机中的存储器命令生成部分中发生竞争的情况下被发布给存储器总线的命令的顺序的图;图7是示出了根据本发明的刷新控制电路的实施例的图;图8是示出了用于描述图7中所示的刷新控制电路的基本操作的电路配置的图;图9是示出了图8中所示的刷新列控制部分和存储器命令生成部分的操作的时序图;图10是示出了利用图8中所示的电路的两个板子的刷新定时的图;图11是示出了用于描述图7中所示的刷新控制电路的另一基本操作的电路配置的图;图12是用于描述图11中所示的刷新列计数器和存储器命令生成部分的操作的图;图13是示出了用于四列配置的刷新的外观的图;图14是示出了按照tREFI/4的间隔刷新列0到列1,然后就在刷新列2之前接收同步复位信号SYNC的情况的图;图15是示出了常规刷新定时和当同步复位信号SYNC被断言时的刷新定时的图;图16是示出了根据本发明的刷新控制电路的另一实施例的图。
具体实施例方式
图7是示出了根据本发明的刷新控制电路的实施例的图。
如图7中所示,本实施例由作为第一计数器的刷新计数器1、作为刷新间隔设置装置的刷新间隔寄存器2、作为第一比较装置的刷新间隔比较部分4、作为第二比较装置的刷新定时比较部分3、作为第二计数器的刷新列计数器6、刷新列控制部分5以及存储器命令生成部分7构成。本实施例同步了安装的存储器的多个列的刷新定时。
刷新计数器1对用于执行刷新的定时进行计数。刷新计数器1与时钟信号同步工作,并且每当时钟上升时就增加+1以输出刷新计数值101。并且该计数值通过同步复位信号SYNC或刷新初始化信号104被初始化。
刷新间隔寄存器2是用于任意地设置刷新间隔的寄存器,并且输出指示间隔的刷新间隔值102。
刷新间隔比较部分4将从刷新计数器1输出的刷新计数值101与从刷新间隔寄存器2输出的刷新间隔值102进行比较。在它们相匹配的情况下,它输出用于将刷新计数器1初始化为“1”的刷新初始化信号104。
在从刷新计数器1输出的刷新计数值101变为预定值(例如“1”)的情况下,刷新定时比较部分3将刷新开始信号(Start REF)103输出为“1”。
刷新列计数器6是这样一个计数器,它在从刷新定时比较部分3输出的刷新开始信号(Start REF)103为“1”时进行增序计数,并且输出计数值作为常规刷新列号(rank number)109。常规刷新列号109指示刷新主题存储器(DIMM)的列号。更具体地说,每当从刷新定时比较部分3输出的刷新开始信号(Start REF)103变为“1”时,它就递增列号。并且计数值通过同步复位信号SYNC被初始化。
如果同步复位信号SYNC变为活动,则刷新列控制部分5激活并在用于同步刷新的刷新定时输出高速刷新请求信号110。并且在被来自存储器命令生成部分7的刷新发布通知信号107通知的情况下,它递增包括在刷新发布通知信号107中的列号并且将其输出为高速请求列号111。
存储器命令生成部分7调整刷新和其他请求,并且在最佳定时向存储器总线发布命令。存储器命令生成部分7生成用于执行对列号为根据从刷新定时比较部分3输出的刷新开始信号(Start REF)103而从刷新列计数器6输出的常规刷新列号109的列的刷新的命令,并且在刷新被发布给该列的情况下输出刷新发布通知信号107。在从刷新列控制部分5输出高速刷新请求信号110的情况下,存储器命令生成部分7生成用于执行对列号为从刷新列控制部分5输出的高速请求列号111的列的刷新的命令。
下面,将描述利用如上所述构成的刷新控制电路的存储器同步方法。
图8是示出了用于描述图7中所示的刷新控制电路的基本操作的电路配置的图。
在图8中所示的电路中,刷新间隔寄存器2、刷新计数器1和刷新间隔比较部分4的细节与图1中所示的相同。刷新定时比较部分3是比较器,并且当从刷新计数器1输出的输出刷新计数值101为“1”时激活刷新开始信号(Start REF)103。这里,从刷新计数器1输出的输出刷新计数值101被与“1”相比较。但是,它也可被与另一值相比较。在初始值为“0”的增序计数器被用作刷新计数器1的情况下,在刷新计数器1的异步复位期间,刷新计数值101变为“0”。因此,需要小心,因为如果与“0”进行比较则刷新开始信号(Start REF)103会在初始状态下连续地变为活动。因为刷新计数器1按照由刷新间隔寄存器2建立的给定间隔被复位,所以刷新开始信号(Start REF)103按照给定的间隔变为活动,并持续1个时钟。
图9是用于描述图8中所示的刷新列控制部分5和存储器命令生成部分7的操作的时序图。
一旦接收到刷新开始信号(Start REF)103,刷新列控制部分5就将刷新请求信号(REF Req)105和刷新列信号(REF列)106输出到存储器命令生成部分7以将刷新发布给连接到存储器总线的所有列。
当刷新请求信号(REF Req)105为活动时,存储器命令生成部分7向所指示的刷新列信号(REF Rank)106的存储器发布刷新,并且将刷新发布通知信号(REF Ack)107返回给刷新列控制部分5以通知其刷新已经被发布。
一旦接收到刷新发布通知信号(REF Ack)107,刷新列控制部分5就递增列号并且将刷新请求信号(REF Req)105断言到下一个刷新列信号(REF Rank)106。对存储器的所有列执行该操作。
这里,如果用于同步系统的同步复位信号SYNC被断言,则刷新计数器1和刷新列控制部分5变为初始值。作为刷新主题的存储器的列现在从“0”开始,并且板A和板B的刷新定时相匹配,如图10中所示。图10是示出了利用图8中所示的电路的两个板子的刷新定时的图。
通过以上操作,可以按照给定的间隔连续地将刷新发布给存储器的所有列。实际上,存在由于与其它存储器访问的竞争而使得刷新不能按照图9中所示继续进行的情况。
图11是示出了用于描述图7中所示的刷新控制电路的另一基本操作的电路配置的图。
在图11中所示的电路中,刷新间隔寄存器2、刷新计数器1和刷新间隔比较部分4的细节与图1中所示的相同。刷新定时比较部分3的细节与图8中所示的相同。
图12是用于描述图11中所示的刷新列计数器6和存储器命令生成部分7的操作的图。
刷新列计数器6确定刷新主题存储器的列,并且根据刷新开始信号(Start REF)103进行增序计数。在刷新开始信号(Start REF)103为活动时,存储器命令生成部分7向所指示的刷新列信号(REF Rank)106的存储器发布刷新。根据该方法,每列的刷新周期(tREFI)是列数×刷新开始信号(Start REF)103的周期。因此,刷新周期/列数的值被设置在刷新间隔寄存器2上。
图12中所示的示例是用于四列配置的存储器的刷新,所以刷新开始信号(Start REF)103的间隔为tREFI/4。
图13是示出了用于四列配置的刷新的外观的图。
如图13中所示,要被刷新的列按照tREFI/4的间隔被顺次改变,以使得每列的刷新周期变为tREFI。
用于上述基本操作的电路配置具有下述缺陷。
在图8中所示的电路配置中,刷新按照给定的间隔被相继发布给所有列。因而,在存在与其他存储器访问的竞争的情况下,刷新操作被集中插入,使得每当执行刷新时就会引起暂时的性能恶化。
在图11中所示的电路配置中,刷新不被集中执行,所以不会存在利用图8中所示的电路时出现的在刷新定时暂时的存储器访问性能恶化。等待最多只有一个刷新周期,这可以通过利用传统技术使刷新保持等待来解决。但是,存在刷新没有在规定时间内执行的情况,这取决于同步复位信号SYNC被断言的定时。
图14是示出了按照tREFI/4的间隔刷新列0到列1,然后就在刷新列2之前接收同步复位信号SYNC的情况的图。
一旦接收到同步复位信号SYNC,刷新计数器1和刷新列计数器6就被复位。因此,对列2和列3的预定刷新被取消,并且从列0开始顺次执行刷新。对列0和列1的刷新在tREFI时间内被执行。但是,对列2利列3的刷新远远超过了tREFI,所以不能保证存储器的内容。
作为比较,由于图11中所示的电路的刷新周期和刷新的集中,所以图7中所示的电路不存在图8中所示的电路的存储器性能恶化这样的问题。
图7中所示的电路的常规刷新操作与图11中所示电路的常规刷新操作相同。
在这种情况下,刷新开始信号(Start REF)103和常规刷新列信号109被分别选择为要输入到存储器命令生成部分7的刷新请求信号(REFReq)105和刷新列信号(REF Rank)106。
在同步复位信号SYNC在这里被断言的情况下,刷新请求信号(REFReq)105和刷新列信号(REF Rank)106被分别切换成从刷新列控制部分5输出的高速刷新请求信号110和高速请求列信号111。这个状态一直持续,直到对所有列都执行了刷新为止,并且之后其返回到常规刷新。在切换为刷新列控制部分5的输出的情况下的操作与图8中所示的操作相同。
图15是示出了常规刷新定时和当同步复位信号SYNC被断言时的刷新定时的图。
就作为第一过程的常规刷新而言,刷新被执行,同时按照作为第一间隔的tREFI/4的定时切换列。如果同步复位信号SYNC被断言,则对每个列相继执行刷新以作为高速刷新,这是第二过程。
在本示例中,与图14所示情况一样,同步复位信号SYNC就在刷新列2之前被断言。就列2的刷新定时而言,可以在略微的延迟(tREFI)+δ之后被发布。并且刷新可以在比tREFI短的周期内被发布给列0、列1和列3。
因而,根据本实施例,作为刷新定时的参考的计数器和刷新主题的列号通过同步复位信号被初始化,以使得安装的存储器的多个列的定时刷新可以被同步。也可以通过将刷新间隔从常规操作切换到同步处理上来执行对常规操作的处理速度的影响最小的刷新。
(其它实施例)图16是示出了根据本发明的刷新控制电路的另一实施例的图。
本实施例的基本配置与图7中所示的相同。但是,对用于在同步复位信号SYNC被断言时切换刷新定时的电路运用了另外的独创性设计。如图16中所示,本实施例包括用于设置比刷新间隔寄存器2所设置的刷新间隔更短的刷新间隔的寄存器,并且还包括刷新同步控制部分8,用于利用同步复位信号SYNC作为触发并且输出指示刷新间隔的值作为高速刷新间隔信号113。此外,刷新同步控制部分8利用同步复位信号SYNC作为触发断言指示高速刷新周期的刷新计数器异步复位信号,并持续给定的一段时间(直到完成所有列的刷新为止)。
在从刷新同步控制部分8输出高速刷新间隔信号113的情况下,刷新间隔比较部分4将从刷新计数器1输出的刷新计数值101与从刷新同步控制部分8输出的高速刷新间隔信号113进行比较。在任何其它情况下,刷新间隔比较部分4将从刷新计数器1输出的刷新计数值101与从刷新间隔寄存器2输出的刷新间隔值102进行比较。在它们相匹配的情况下,它输出用于初始化刷新计数器1的刷新计数器初始化信号104。
因而,在对刷新进行同步处理时,刷新间隔比较部分4将刷新计数值101与高速刷新间隔信号113进行比较,以允许上述刷新在比常规刷新较早的时段内被发布。
由于本发明按照上述方式构成,所以其具有以下效果。
(1)同步复位信号在相同的定时被提供给要同步的板子,并且作为用于刷新的定时的计数器通过同步复位信号被初始化,使得之后用于存储器刷新的定时可以被同步。
(2)只有当同步复位信号被提供时才集中执行刷新,使得常规存储器访问的性能恶化可得以最小化。
虽然使用了具体术语描述本发明的优选实施例,但是这种描述只是为了说明的目的,并且应当理解在不脱离所附权利要求的精神或范围的情况下可以进行修改和变化。
权利要求
1.一种用于同步安装的存储器的多个列的刷新定时的存储器同步方法,包括第一步骤,按照预定的第一间隔,利用通过同步复位信号初始化的计数器的计数值,顺序地刷新所述多个列;以及第二步骤,按照比所述第一间隔短的第二间隔,利用所述同步复位信号作为触发,顺序地刷新所述多个列。
2.根据权利要求1所述的存储器同步方法,其中每当所述计数器的计数值变为预定值时,所述第一步骤通过递增指示刷新主题列的列号来顺序地刷新所述多个列;并且每当有关于刷新被发布给所述列的通知时,所述第二步骤通过递增指示所述刷新主题列的所述列号来顺序地连续刷新所述多个列。
3.根据权利要求1所述的存储器同步方法,其中每当所述计数器的计数值变为预定值时,所述第一步骤通过递增指示刷新主题列的列号来顺序地刷新所述多个列;并且每当所述计数器的计数值变为所述预定值时,所述第二步骤按照所述第二间隔利用所述同步复位信号作为触发初始化所述计数器并且通过递增指示所述刷新主题列的所述列号顺序地刷新所述多个列。
4.一种用于同步安装的存储器的多个列的刷新定时的刷新控制电路,包括第一计数器,其通过同步复位信号被初始化并且对用于执行刷新的定时进行计数;刷新间隔设置装置,用于设置刷新间隔并且输出指示所述间隔的值;第一比较装置,用于在所述第一计数器的计数值和从所述刷新间隔设置装置输出的所述值之间进行比较并且它们相匹配的情况下输出用于初始化所述第一计数器的初始化信号;第二比较装置,用于在所述第一计数器的计数值变为预定值的情况下输出刷新开始信号;第二计数器,其通过同步复位信号被初始化,并且每当所述刷新开始信号被从所述第二比较装置输出时,就进行增序计数且输出所述计数值作为列号;存储器命令生成装置,用于生成用于刷新具有根据所述刷新开始信号而从所述第二计数器输出的所述列号的列的命令,并且在刷新被发布给所述列的情况下输出刷新发布通知信号;以及刷新列控制装置,用于在利用所述同步复位信号作为触发从所述存储器命令生成装置输出所述刷新发布通知信号的情况下,递增包括在所述刷新发布通知信号中的所述列号并将所述列号与高速刷新请求信号一起输出,并且其中在所述高速刷新请求信号被从所述刷新列控制装置输出的情况下,所述存储器命令生成装置生成用于刷新具有与所述高速刷新请求信号一起被输出的所述列号的列的命令。
5.一种用于同步安装的存储器的多个列的刷新定时的刷新控制电路,包括第一计数器,其通过同步复位信号被初始化并且对用于执行刷新的定时进行计数;刷新间隔设置装置,用于设置刷新间隔并且输出指示所述间隔的值;刷新同步控制装置,用于设置比所述刷新间隔设置装置所设置的所述间隔更短的间隔并且利用所述同步复位信号作为触发输出指示所述间隔的值;第一比较装置,用于在指示所述间隔的所述值由所述刷新同步控制装置输出的情况下将所述第一计数器的计数值与从所述刷新同步控制装置输出的所述值进行比较,并且在任何其它情况下将所述第一计数器的计数值与从所述刷新间隔设置装置输出的所述值进行比较,以在它们相匹配时输出用于初始化所述第一计数器的初始化信号;第二比较装置,用于通过所述同步复位信号被初始化,并且用于在所述第一计数器的计数值变为预定值的情况下输出刷新开始信号;第二计数器,其每当所述刷新开始信号被从所述第二比较装置输出时,就进行增序计数并且输出所述计数值作为列号;以及存储器命令生成装置,用于生成用于刷新具有根据所述刷新开始信号而从所述第二计数器输出的所述列号的列的命令。
全文摘要
本发明提供了一种存储器同步方法和一种刷新控制电路。利用通过同步复位信号来初始化并且对用于执行刷新的定时进行计数的第一计数器的计数值来顺序地刷新由第二计数器指定的列号,并且在同步复位信号活动的情况下,由刷新列控制单元指定的列号被连续地顺序刷新。
文档编号G06F13/16GK101017467SQ20071000492
公开日2007年8月15日 申请日期2007年2月7日 优先权日2006年2月7日
发明者田中幸宏 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1