用以控制存储器的电路及相关的方法

文档序号:1695612 发布日期:2019-12-10 浏览:34次 >En<

阅读说明:本技术 用以控制存储器的电路及相关的方法 (Circuit for controlling memory and related method ) 是由 陈忠敬 林政南 林群超 宋哲远 于 2018-05-31 设计创作,主要内容包括:本发明揭露一种用以控制一存储器的电路,其包含有一刷新控制电路以及一存储器控制电路,其中该刷新控制电路用以判断该存储器的忙碌程度,并根据该存储器的忙碌程度以决定出一时间点,并根据该时间点产生一刷新命令;以及该存储器控制电路用以根据该刷新命令以控制该存储器进行一刷新操作。(the invention discloses a circuit for controlling a memory, which comprises a refresh control circuit and a memory control circuit, wherein the refresh control circuit is used for judging the busy degree of the memory, determining a time point according to the busy degree of the memory and generating a refresh command according to the time point; and the memory control circuit is used for controlling the memory to carry out a refresh operation according to the refresh command.)

用以控制存储器的电路及相关的方法

技术领域

本发明是有关于存储器,尤指一种关于动态随机存取存储器中产生刷新命令(refresh command)的电路及相关的方法。

背景技术

在动态随机存取存储器中,存储单元需要透过刷新来维持电容的电位,因此存储器控制器会每隔一固定的时间(tREFI,约7.8微秒(us))发送一次刷新命令给动态随机存取存储器。然而,依据动态随机存取存储器的操作规范,在进行刷新操作之前存储器控制器会先发送一针对所有存储库进行的预充电命令(pre-charge command)至动态随机存取存储器,并于一段时间(tRP)之后才可发送刷新命令给动态随机存取存储器以刷新一存储器单元;此外,每次进行刷新操作之后,需要再等待一段时间(tRFC)后才能再次执行读取、写入等命令,亦即在这段时间内(tRP+tRFC)并无法对动态随机存取存储器进行存取。若是此时系统处于繁忙状态而需要多次进行存取操作,这些刷新操作便会严重影响到存储器的效能。

发明内容

因此,本发明的目的之一在提出一种关于动态随机存取存储器中产生刷新命令的电路及相关的方法,其可以根据存储器的忙碌程度以动态地决定进行刷新操作的时间点,以解决先前技术中所述的问题。

在本发明的一个实施例中,揭露了一种用以控制一存储器的电路,其包含有一刷新控制电路以及一存储器控制电路,其中该刷新控制电路用以判断该存储器的忙碌程度,并根据该存储器的忙碌程度以决定出一时间点,并根据该时间点产生一刷新命令;以及该存储器控制电路用以根据该刷新命令以控制该存储器进行一刷新操作。

在本发明另一个实施例中,揭露了一种控制一存储器的方法,其包含有以下步骤:判断该存储器的忙碌程度,并根据该存储器的忙碌程度以决定出一时间点,并根据该时间点产生一刷新命令;以及使用一存储器控制电路来根据该刷新命令以控制该存储器进行一刷新操作。

附图说明

图1A为根据本发明一实施例的电路的方块图。

图1B为习知技术中存储器控制电路控制存储器进行多次刷新操作的示意图。

图1C为根据本发明一实施例的存储器控制电路控制存储器进行多次刷新操作的示意图。

图2为根据本发明一实施例的电路的细部方块图。

图3为根据本发明一实施例的产生刷新命令的方法的流程图。

图4为在存储库冲突事件发生时一并发出刷新命令的时序图。

符号说明

100 电路

102 存储器

110 刷新控制电路

112 控制器

114 带宽侦测器

116 存取请求侦测器

118 刷新时间计数器

119 刷新次数计数器

120 存储器控制电路

122 存储器控制器

124 仲裁器

202、204 处理电路

300~324 步骤

具体实施方式

图1A为根据本发明一实施例的电路100的方块图。如图1A所示,电路100包含了一刷新控制电路110以及一存储器控制电路120,其中存储器控制电路120是用来存取一存储器102。在本实施例中,存储器102是为一动态随机存取存储器,存储器控制电路120是为一动态随机存取存储器控制电路,且刷新控制电路110是用来根据存储器102(或是存储器控制电路120)的忙碌程度来产生一刷新命令至存储器控制电路120,以使得存储器控制电路120控制存储器102进行一刷新操作。

图1B为习知技术中存储器控制电路控制存储器进行多次刷新操作的示意图,其中图示的tREFI为存储器刷新时间间隔,亦即两个存储器刷新指令应间隔的最小周期。在图1B所示的操作时序图中,由于在(tRP+tRFC)的期间内并无法对存储器102进行存取,因此,若是系统需要对存储器102进行读取或写入操作,则只能在图示的“DRAM存取期间”内进行,亦即存储器102的存取受限于刷新操作的时间点。

图1C为根据本发明一实施例的存储器控制电路120控制存储器102进行多次刷新操作的示意图。如图1C所示,刷新控制电路110会根据存储器102或是存储器控制电路120的忙碌程度来决定产生一刷新命令至存储器控制电路120的时间点,例如在系统较空闲时连续产生多个刷新命令(如图1C所示的在时间点t1及t2连续产生两个刷新命令),而在系统繁忙时则暂时不发出刷新命令以避免影响到系统效能。另一方面,除了可以动态地控制产生刷新命令的时间,由于两次的刷新操作可以共享一个预充电命令,故可以省下一次预充电命令的时间(tRP),增加存储器102可被存取的时间长度。

图2为根据本发明一实施例的电路100的细部方块图。如图2所示,存储器控制电路120包含一存储器控制器122与一仲裁器124,在本实施例中,存储器控制器122是为一动态随机存取存储器控制器,仲裁器124则用来接收多个处理电路202、204的存取请求,以及对该些存取请求进行排序,并依序将排序后的该些存取请求传送至存储器控制器122;此外,刷新控制电路110所产生的刷新命令亦可透过仲裁器124传送至存储器控制器122中来执行。刷新控制电路110包含了一控制电路112、一带宽侦测器114、一存取请求侦测器116、一刷新时间计数器118以及一刷新次数计数器119,其中带宽侦测器114以及存取请求侦测器116是用来判断存储器102的忙碌程度,刷新时间计数器118是用来计数存储器102进行刷新操作的一时间长度(亦即,上一次进行刷新操作到目前时间点的一时间长度),刷新次数计数器119是用来计数刷新控制电路110累积的应产生而未产生的刷新命令的数量,以及控制器112是用来根据带宽侦测器114以及存取请求侦测器116所判断出的存储器102的忙碌程度、以及刷新时间计数器118与刷新次数计数器119的计数结果以决定出产生刷新命令的时间点。

在一实施例中,刷新控制电路110、存储器控制器122以及仲裁器124是被整合在同一个芯片中。在本发明的另一实施例中,刷新控制电路110中的控制器112、带宽侦测器114、存取请求侦测器116、刷新时间计数器118以及一刷新次数计数器119中的至少一部分可以使用软件方式来实作。

在刷新控制电路110的操作中,带宽侦测器114可以透过侦测存储器控制器122在一段时间内对存储器102的存取次数,来决定出存储器102的带宽。在一实施例中,当仲裁器124送出一个存取请求至存储器控制器122,且存储器控制器122有回应此存取请求给仲裁器124,则代表系统已取得对存储器102的存取,此时带宽侦测器114便可以依据该响应将存储器控制器122对存储器102的存取次数增加“1”。以一范例来做为说明,带宽侦测器114可以计算在一百万个频率周期中存储器控制器122回应了多少个存取请求给仲裁器124来计算出存储器102的带宽,假设在一百万个频率周期中存储器控制器122回应了十二万个存取请求,则可以计算出带宽为12%(120000/1000000=0.12=12%)。之后,带宽侦测器114再将所计算出的带宽信息传送给控制器112。在本实施例中,该带宽信息是提供给控制器112来据以判断存储器102的忙碌程度。在另一实施例中,带宽侦测器114可以依据该带宽信息判断出存储器102的忙碌程度,并将判断结果传送给控制器112。

存取请求侦测器116是用来侦测仲裁器124内部所接收到的存取请求的状态。具体来说,存取请求侦测器116可以侦测目前有发出存取请求的处理电路的优先状态,例如是否具有最高优先权(highest priority)、或者是否有很多的存取请求正在等待发送给存储器控制器122…等等,并传送给控制器112。在本实施例中,上述信息是提供给控制器112来据以判断存储器102的忙碌程度。在另一实施例中,存取请求侦测器116可以依据该些上述信息判断出存储器102的忙碌程度,并将判断结果传送给控制器112。

在一实施例中,若是存取请求侦测器116有侦测到有具有最高优先权的处理电路发出存取请求、或是仲裁器124内部待处理的存取请求超过第一特定数量(例如说超过5个)、或是带宽侦测器114所计算出的带宽大于第一特定值(例如说大于80%),则控制器112会判断存储器102具有高忙碌程度;若是存取请求侦测器116侦测到仲裁器124内部待处理的存取请求位于第一特定数量与第二特定数量之间(例如说2~5个之间)、或是带宽侦测器114所计算出的带宽位于第一特定值与第二特定值之间(例如说30%~80%之间),则控制器112会判断存储器102具有中等忙碌程度;以及若是存取请求侦测器116侦测到仲裁器124内部待处理的存取请求低于第二特定数量(例如说少于2个)、或是带宽侦测器114所计算出的带宽小于第二特定值(例如说小于30%),则控制器112会判断存储器102具有低忙碌程度。需注意的是,上述判断忙碌程度的内容仅是用来作为范例说明,并非是作为本发明的限制。

控制器112在根据带宽侦测器114以及存取请求侦测器116所提供的信息来判断出存储器102的忙碌程度之后,会根据刷新时间计数器118以及刷新次数计数器119的计数结果决定出产生刷新命令的时间点。控制器112会控制存储器控制器122于系统较不繁忙时多对存储器102进行刷新操作,以及于系统较繁忙时少对存储器102进行刷新操作。举例来说,若是刷新时间计数器118指出目前已经到达一预设时间周期(例如,7.8us),则控制器112根据存储器102的忙碌程度以及刷新次数计数器119中所记录的刷新控制电路110累积未产生的刷新命令的数量,以决定出一产生刷新命令的时间点。在一实施例中,当控制器112判断存储器102为高忙碌程度,则控制器112可以暂时不发出刷新命令以将时间让给针对存储器102的存取操作,具体来说,假设此时刷新次数计数器119所记录的累积未产生的刷新命令的数量小于一第一预设值(例如,8个),则控制器112不产生刷新命令,并控制刷新次数计数器119增加累积未产生的刷新命令的数量;此外,若此时刷新次数计数器119所记录的累积未产生的刷新命令的数量已到达该第一预设值,则控制器112还是需要产生该刷新命令至存储器控制电路120以控制存储器102进行该刷新操作。在另一实施例中,当控制器112判断存储器102为低忙碌程度,则控制器112可以将先前累积未发出的刷新命令连续地发送给存储器控制电路120,甚至可以提前多发出刷新命令给存储器控制电路120,具体来说,假设刷新次数计数器119所记录的累积未产生的刷新命令的数量大于一第二预设值(例如,0次),则控制器112产生一刷新命令至存储器控制电路120以控制存储器102进行刷新操作,并控制刷新次数计数器119减少该累积未产生的刷新命令的数量;此外,假设刷新次数计数器119所记录的累积未产生的刷新命令的数量不大于该第二预设值,则控制器112不产生刷新命令。

参考图3,其为根据本发明一实施例的产生刷新命令的方法的流程图。在图3所示的流程中,于步骤300,流程开始且电路100开始致能操作。在步骤302中,控制器112设定刷新次数计数器119所记录的刷新控制电路110累积未产生的刷新命令的数量(以下简称为“数量C”)为一预设值(本实施例中假设数量C等于4)。在步骤304中,控制器112根据带宽侦测器114以及存取请求侦测器116所提供的信息来判断出存储器102的忙碌程度,其中若是判断为高忙碌程度则流程进入步骤306,若是判断为中等忙碌程度则流程进入步骤314,以及若是判断为低忙碌程度则流程进入步骤316。

于步骤306,控制器112判断刷新时间计数器118所记录的时间长度T是否大于预设时间周期(例如,7.8us),若是则流程进入步骤308,若否则流程进入步骤324。在步骤308中,控制器112判断刷新次数计数器119所记录的数量C是否到达一第一预设值(在本实施例中,第一预设值为“8”),若是,则流程进入步骤312,控制器112产生一刷新命令至存储器控制电路120,之后流程进入步骤322等待一时间tRFC,最后流程进入步骤324以回到步骤304;若否,则流程进入步骤310,此时控制器112不会产生刷新命令,且控制器112控制刷新次数计数器119增加所记录的数量C,之后流程进入步骤322。

于步骤314,控制器112判断刷新时间计数器118所记录的时间长度T是否大于预设时间周期,若是,则流程进入步骤312;若否,则流程进入步骤324。

于步骤316,控制器112判断刷新时间计数器118所记录的时间长度T是否大于预设时间周期,若是,则流程进入步骤312;若否,则流程进入步骤318。在步骤318中,控制器112判断刷新次数计数器119所记录的数量C是否大于一第二预设值(本实施例中,第二预设值为“0”),若是,则流程进入步骤320控制器112控制刷新次数计数器119减少所记录的数量C,之后再进入步骤312;若否,则流程进入步骤324。

在以上图1~3的实施例中,由于刷新控制电路110可以根据存储器102的忙碌程度来决定延后或是提前产生刷新命令,亦即在存储器102不忙碌的时候提早多发出几个刷新命令,而在存储器102忙碌的时候暂时不发出刷新命令以避免影响到系统的效能,因此可以在维持存储器102正常操作的情形下(亦即,在一段时间内发出足够数量的刷新命令),同时兼顾系统效能。

此外,在一实施例中,为了进一步增进系统效能并降低存储器102无法存取的时间,当图3的流程进入步骤312且控制器112准备要发送刷新命令时,控制器112会选择在该时间点之后的一时间范围内所发生的存储库冲突(bank conflict)事件的同时产生该刷新命令,其中存储库冲突指的是多个连续的存取命令需要存取相同存储库(bank)但是不同列(row)的地址;此外,若是该时间范围内没有存储库冲突发生时,控制器112仍须产生该刷新命令。具体来说,由于当发生存储库冲突事件时存储器控制电路120需要传送仅针对发生存储库冲突的该存储库的一预充电命令以及一致能命令(active command)至存储器后才能再发出存取命令,因此,本实施例可以将上述的预充电命令改为一对所有存储库进行的预充电命令,并在对所有存储库进行的预充电命令以及致能命令之间发出刷新命令,其时序可参考图4所示。

如上所述,由于发生存储库冲突事件以及进行刷新命令都需要先进行预充电操作,因此,透过存储库冲突(bank conflict)事件与刷新命令共享一次预充电命令,可以进一步节省一次预充电命令的时间,减少了无法存取存储器102的等待时间,故可以进一步提升系统的使用效率。

以上所述仅为本发明的较佳实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:稳压器、动态随机存取存储器、及位元线电压的稳定方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类