首页> 中国专利> 目标行刷新方法及存储器装置中所采用的决策电路

目标行刷新方法及存储器装置中所采用的决策电路

摘要

一种目标行刷新方法包括:提供第一先进先出缓冲器作为具有M个条目的第一数据表,第一数据表的每一条目能够储存目标行地址的信息;提供第二先进先出缓冲器作为具有K个条目的第二数据表,分别能够储存相同或不同的候选行地址;输入地址寄存器以接收输入地址;判断输入地址寄存器中的输入地址是否符合第一数据表中所记录的地址信息;当不符合时,根据采样策略使用输入地址来决定是否更新目标行锁存器的信息,以决定是否对比输入地址与第二数据表中所记录的地址数据来决定目标行地址;以及执行目标行刷新操作以刷新一个或多个行。

著录项

  • 公开/公告号CN113223570A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 晶豪科技股份有限公司;

    申请/专利号CN202011460400.2

  • 发明设计人 赖亚群;吴柏勋;许人寿;

    申请日2020-12-11

  • 分类号G11C8/00(20060101);G11C16/14(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人李芳华

  • 地址 中国台湾新竹市

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本发明关于一种减轻行地址重复访问敲打的机制,尤指一种目标行刷新方法以及一存储器装置中所采用的一决策电路来决定一目标行刷新操作所要采用的一目标行地址以刷新该存储器装置的一目标行所相邻的一个或多个行。

背景技术

一般来说,一个骇客可通过在一个特定时间(例如64毫秒)内大量访问(access)存储器装置的某些行地址来造成行地址重复访问敲打的错误,从而攻击诸如DRAM之类的存储器装置。而为了减轻行地址重复访问敲打的错误,需要适当地决判断决定哪一个行地址是受到攻击的,亦即骇客的目标行地址。传统机制安排采用多个计数器电路来分别对在该特定时间内所接收到的所有不同的输入行地址的总数进行计数,例如,传统机制采用N个计数器电路来计数该特定时间内所接收到的N个不同输入行地址的总数,然而,如果该名骇客精心设计更多不同的行地址来掩护所想要大量访问的目标行地址时,则实作上所需的N的值将会非常大,而实作更多数目的计数器电路,则必然将占用该存储器装置的更多电路区域。

发明内容

因此,本发明的目的之一在于提供一种目标行刷新方法及一存储器装置中所使用的一决策电路,以判断决定一目标行刷新操作所要使用的一目标行地址以刷新该存储器装置的一目标行所相邻的一个或多个行,来解决上述的问题。

根据本发明的实施例,其揭露一种目标行刷新方法,该方法包含有:提供并使用一第一先进先出缓冲器作为一第一数据表,该第一数据表具有M个条目,该M个条目的每一条目能够用来储存一目标行地址的信息;提供并使用一第二先进先出缓冲器作为一第二数据表,该第二数据表具有K个条目,该K个条目分别能够用来储存多个相同或不同的候选行地址;提供一输入地址寄存器以接收一输入地址;判断该输入地址寄存器中的该输入地址是否符合该第一数据表中所记录的地址信息;当该输入地址不符合该第一数据表中所记录的该地址信息,根据一采样策略通过使用该输入地址寄存器中的该输入地址来决定是否要更新一目标行锁存器的信息,以决定是否要对比该输入地址与该第二数据表中所记录的地址数据来决定一目标行地址;以及当该目标行地址被决定时,执行一目标行刷新操作以刷新该目标行地址所相应的一目标行所邻近的一存储器装置的一个或多个行。

根据本发明的实施例,其另揭露一种存储器装置中所采用的决策电路,该决策电路用来决定要被一目标行刷新操作所使用的一目标行地址来刷新该存储器装置的一目标行所邻近的一个或多个行,该决策电路包含有一第一先进先出缓冲器、一第二先进先出缓冲器、一输入地址寄存器、一第一对比电路以及一目标行锁存器。第一先进先出缓冲器用来作为一第一数据表,该第一数据表具有M个条目,该M个条目的每一条目能够用来储存一目标行地址的信息。第二先进先出缓冲器用来作为一第二数据表,该第二数据表具有K个条目,该K个条目分别能够用来储存多个相同或不同的候选行地址的信息。输入地址寄存器用来接收一输入地址。第一对比电路耦接于该第一先进先出缓冲器与该输入地址寄存器之间,并用来对比该输入地址寄存器中的该输入地址与该第一数据表中所记录的地址信息以判断该输入地址是否符合该第一数据表中所记录的该地址信息。目标行锁存器耦接于该输入地址寄存器与该第二先进先出缓冲器,并用来被该决策电路所控制以当该输入地址不符合该第一数据表中所记录的该地址信息时用来根据一采样策略通过采样该输入地址寄存器中的该输入地址来判断是否要更新该目标行锁存器的信息,来决定是否要对比该输入地址与该第二数据表中所记录的地址信息以决定一目标行地址。

附图说明

图1为本发明一实施例的用以基于一统计机制来对在一或每一个迭代期间来决定或选取一目标行地址而无需使用任何计数器电路来节省更多的电路面积的一决策电路的方块示意图。

图2为图1所示的决策电路的操作流程图。

图3为本发明一实施例当一迭代期间结束时第二对比电路仍然尚未判断决定该迭代期间的目标行地址的一例子的流程示意图。

图4为本发明一实施例包含有多个目标行地址产生器且每一目标行地址产生器均可通过使用图1所示的决策电路来实现的一存储器装置的方块示意图。

图5为本发明一实施例使用图1所示的决策电路来决定多个不同迭代期间的多个目标行地址的范例示意图。

具体实施方式

本发明旨在提供一种技术解决方案/机制,该技术解决方案/机制能够有效地减轻一动态随机存取存储器(dynamic random access memory,DRAM)的行地址重复访问敲打(row hammer)的错误,以及能够通过基于统计概念或结果来选取一个或多个目标行地址(target row address)来执行一目标行地址刷新操作从而降低计算复杂度和电路面积。另外,本发明所提供的技术解决方案/机制也能够处理解决多记忆库的短tRAS时间的问题,其中tRAS为一行启用/激活时间(row active time),亦即是在一个行启用命令和发出一预充电(pre-charge)命令之间所需要的最小时钟周期数。

在一实施例,本发明所提供的技术方案/机制用于将一较长的时间区段(例如具有诸如64毫秒之类的一特定时间长度)划分为多个较短的迭代期间(iteration period),并且每一个迭代期间例如等于N倍的tREFI周期,其中例如N为等于16(但不限于此),并且一个tREFI周期表示一刷新间隔(refresh interval)的时间,例如等于64毫秒除以8192的结果,亦即7.8微秒。在该实施例中,该较长的时间区段(具有该特定时间长度,例如64毫秒)例如会被划分为512个迭代期间(但不限于此)。对于每一个迭代期间,本发明所提供的技术解决方案/机制被安排用来决定是否要在该每一个迭代期间中监控一个或多个输入地址,并且如果决定要监控该些输入地址时用来选取在该每一个迭代期间中最频繁地出现的一个激活的输入地址(active input address),以便基于相同或不同的策略/参数以及相同或不同的统计概念/结果来为该每一个迭代期间决定出一个目标行地址,因此接着,在下一个迭代期间,本发明所提供的技术解决方案/机制就可以基于所决定出的目标行地址执行该目标行刷新操作(target row refresh(TRR)operation)。举例来说,一个骇客可能试图在64毫秒内攻击某个地址从而引起行地址重复访问敲打的错误,而基于本发明对于多个(例如512个)迭代期间所分别决定出的多个目标行地址,本发明所提供的技术解决方案/机制有相当大的机会可以正确地将该名骇客所攻击的地址决定判定一个目标行地址,如此该目标行刷新操作基于所决定出的该目标行地址就可以得到一目标行并接着可以适当地刷新被重复访问敲打的行(亦即目标行)所邻近的一个或多个行以及防止数据损毁。

对在一个或每一个迭代期间,决定出哪一个输入地址为目标行地址的操作描述于下。请参照图1及图2,图1是本发明一实施例的用以基于一统计机制来对在一或每一个迭代期间来决定或选取一目标行地址而无需使用任何计数器电路来节省更多的电路面积的一决策电路100的方块示意图,决策电路100包括一第一先进先出缓冲器105、一第一对比电路110、一输入地址寄存器115、一目标行锁存器120、一第二对比电路125、一第二先进先出缓冲器130以及一多工器MUX,图2是图1所示的决策电路100的操作流程图。倘若大体上可达到相同的结果,并不需要一定照图2所示的流程中的步骤顺序来进行,且图2所示的步骤不一定要连续进行,亦即其他步骤亦可插入其中;详细的流程步骤说明于下:

步骤205:开始;

步骤210:接收一输入地址;

步骤213:决定一锁定标志(lock flag)是否等在一特定值例如“1”;如果是,则流程进行步骤250,否则,流程进行步骤215;

步骤215:将该输入地址储存至输入地址寄存器115;

步骤220:第一对比电路110检查第一先进先出缓冲器105中是否存在有该输入地址;如果第一先进先出缓冲器105中存在有该输入地址,则流程进行步骤250,否则,流程进行步骤225;

步骤225:决定是否对该输入地址进行采样并储存到目标行锁存器120中;如果是,则流程进行步骤230,否则,流程进行步骤250;

步骤230:采样该输入地址以更新该目标行锁存器120;

步骤235:判断该输入地址是否与第二先进先出缓冲器130中所有现存的地址匹配符合N次以上;如果是,则流程进行步骤240,否则,流程进行步骤245;

步骤240:将该锁定标志设为值“1”;

步骤245:通过该目标行锁存器120中所闩锁的该地址来更新该第二先进先出缓冲器130;以及

步骤250:结束。

实作上,第一先进先出缓冲器105例如用来作为一数据库,该数据库储存具有M个条目/变量(entry)的一第一数据表(table)/列表(list)的信息,该第一数据表至多用来记录先前所决定出的M个目标行地址。举例来说,如果在一迭代期间中将一个地址决定为一目标行地址,则记录在除了最后一个条目的外的所有条目中的每一条目中的信息均将会被移动并储存至下一个条目中,该最后一个条目(亦即第M个条目/变量)所记录的信息会被丢弃,而该所决定出的地址会被更新至该第一数据表/列表的第一个条目/变量。而当此地址在此迭代期间的结束时被更新至该第一数据表/列表的第一个条目时,该目标行刷新操作可以基于该第一数据表/列表的第一个条目中所记录的该目标行地址所相应的该目标行而在下一个迭代期间来执行操作。在不同的迭代期间,第一先进先出缓冲器105的内容均并未被清除/清空。初始来说,由该第一先进先出缓冲器105所实现的该第一数据表的有效条目个数于该第一个/次的迭代期间的开头时为零,其中一个有效条目指储存了一个先前所决定出的有效目标行地址的一个条目。

第二先进先出缓冲器130例如用于储存一第二数据表的信息,该第二数据表具有K个条目,每一个条目带有一相应标志,该相应标志可通过使用一个位元来实现,也就是,带有K个标志的K个条目。对于每一个迭代期间,第二先进先出缓冲器130的内容会在一相应的先前迭代期间结束时或在该每一个迭代期间的开始时被清除/清空,第二先进先出缓冲器130在每一个迭代期间的开始时初始设定为空的,也就是说,该第二数据表的有效条目个数在每一个迭代期间的开始为零,其中该第二数据表中的一有效条目是指储存有地址信息的一个条目。第二先进先出缓冲器130用于在该目标行地址在一个迭代期间被决定出之前用来储存该迭代期间中所采样到的所有输入地址,因此,如果在已经决定出一目标行地址之前在此迭代期间采样了两个或多个相同的输入地址,则第二先进先出缓冲器130将会把该两个或多个相同的输入地址储存于该第二数据表/列表中的多个不同的条目。对于每一个条目,与该第二数据表/列表中一个相应条目有关联的该标志是用来表示在该相应条目中所记录的一地址信息是否匹配符合于(亦即等于)一目前所采样的输入地址的结果。举例来说,一标志记录其值为“1”是表示该相应条目中所记录的该地址信息匹配符合于该当前所采样的输入地址,而该标志记录其值为“0”表示该相应条目中所记录的该地址信息并不匹配于该当前所采样的输入地址;然而,这并非是本发明的限制。因此,例如,如果当前所采样的输入地址匹配符合了该第二数据表/列表的多个不同条目上所记录的k个相同的地址,则会有k个标志记录其值为“1”,而其他标志则记录其值为“0”。在对第二先进先出缓冲器130中所已经记录的多笔地址与该当前所采样的输入地址进行每一次的对比(以决定该迭代期间的该目标行地址)之后,所有K个标志的内容均会被清空,以用于下一轮的地址对比。应注意的是,本发明的实施例中并没有采用可以用来计数不同地址的个数的计数器电路,因此,可以大幅地节省电路面积。

在步骤210,输入地址寄存器115是用来暂时地储存一目前所接收到的命令所携带有的目前所接收到的输入地址,该命令例如是从一主机所发送出一个启用/激活(active,ACT)命令,该主机例如是一中央处理器。

决策电路100中所实现的该锁定标志最初是被设置为“0”,并且在一次迭代改变时也会被设置/清除为“0”,而当此迭代期间的该目标行地址已经被决定出之后,该锁定标志会被设置为“1”。因此,当确定是否要来判断当前接收到的一个输入地址是否是该目标行地址时,决策电路100于步骤213是被使用来判断该锁定标志是否等于“1”,如果该锁定标志等于值“1”,则表明即使在该次迭代尚未更改的情形下该迭代期间的该目标行地址已经被决定出,而不需要在此迭代期间重新来决定该目标行地址,因此流程会进行步骤250。反之,如果该锁定标志等于值“0”,则表明该迭代期间的该目标行地址仍尚未被决定出。

在步骤215,当前所接收到的该输入地址是被储存至输入地址寄存器115中。

第一对比电路110是耦接至输入地址寄存器115,并用来对比该当前所接收到的输入地址与第一先进先出缓冲器105所实现的该第一数据表的一个或多个条目所记录的地址信息(步骤220),如果第一对比电路110判定出该当前所接收的输入地址是相同于第一先进先出缓冲器105所已经记录或缓冲的一地址,则第一对比电路110会判定该目标行地址(相同于该当前所接收到的输入地址)是已经发生出现在一个先前迭代期间,而该目标行刷新操作可能已经基于该目标行地址来执行其操作,因此,对于这一个迭代期间可以不需要将当前所接收到的输入地址决定为目标行地址,而在这种情况下该当前所接收到的输入地址可以不会视为是目标行地址。接着,如果接收到下一个输入地址时,则会将下一个输入地址储存至并更新至输入地址寄存器115。而如果第一对比电路110判断出该当前所接收的输入地址不同于第一先进先出缓冲器105中已经记录或缓冲的所有地址时,则第一对比电路110会基于一采样策略来决定是否要通过储存输入地址寄存器115中所记录的输入地址来更新目标行锁存器120。

采样策略所指的可以是一连续的采样策略或是一离散的采样策略,其中该离散的采样策略是具有一采样区间,该采样区间在多个不同的迭代期间是可以被进行更改。此外,该连续的采样策略可以指的是采样并储存当前接收到的每一个输入地址,而该离散的采样策略可以指的是采样并储存一输入地址并丢弃或忽略其他一个或多个输入地址。此外,对于多个不同的迭代期间,该采样策略可以被更改而变得不同,举例来说,该采样策略可以针对不同的迭代期间指示出不同的采样周期,例如,基于该采样策略,在一迭代期间中,决策电路100或第一对比电路110可以在当接收到每五笔尚未被记录于第一先进先出缓冲器105的输入地址时控制目标行锁存器120来采样并储存一输入地址,而在下一个迭代期间中,第一对比电路110可以在当接收到每四笔尚未被记录于第一先进先出缓冲器105的输入地址时控制目标行锁存器120来采样并储存一输入地址。再者,第一对比电路110也可以控制目标行锁存器120周期性地或随机地采样和储存一个输入地址。凡此以上实施例均非是本发明的限制。

在目标行锁存器120对该输入地址进行采样(步骤230)之后,第二对比电路125是用来将该被采样的输入地址与第二先进先出缓冲器130中当前所缓冲的一一个或多个地址进行对比(步骤235)。第二对比电路125是用于对比该所采样的输入地址与第二先进先出缓冲器130中当前所缓冲的所有地址,以检查并记录第二先进先出缓冲器130中当前所缓冲的每一个地址是否等于该所采样的输入地址,如上所述,该第k个对应标志是用来在第二对比电路125进行每一次的对比之后用来表示第二先进先出缓冲器130所实现的该第二数据表的第k个条目当前所缓冲的一相应地址是否等于该所采样的输入地址,而在第二先进先出缓冲器130所缓冲的一一个或多个地址与该所采样的输入地址进行对比之后,第二对比电路125会用来收集所有标志的信息并计算记录有其值为“1”的标志的个数,而第二对比电路125会用来将记录有其值为“1”的标志的个数与该迭代期间的一特定阈值TH进行比较,其中例如特定阈值TH例如可以被设置为2(但不限定),如果记录有其值为“1”的标志的个数等于或大于特定阈值TH,则第二对比电路125会将该被采样的输入地址决定为该迭代期间的目标行地址。反之,该被采样的输入地址是不会被决定为此迭代期间的目标行地址。而如果将该被采样的输入地址决定为该迭代期间的该目标行地址,则接着该第二先进先出缓冲器130以及所有K个标志的内容均会被清空并重置为空的。而如果记录有其值为“1”的标志的个数小于特定阈值TH,则第二对比电路125会被安排用来将该被采样的输入地址储存至第二先进先出缓冲器130中,在这种情况下,在第二对比电路125执行对比之后,第二先进先出缓冲器130的内容是并未被清除,而与此对比结果有相对应的K个对应标志的内容是会被重置为空的。

当已经找到或决定出了该迭代期间的该目标行地址时,决策电路100会被安排用来将该锁定标志设置为值“1”(步骤240)。而如果一输入地址并没有被视为是该目标行地址,则第二对比电路125会使用该输入地址来更新第二先进先出缓冲器130(步骤245),举例来说,第二数据表中除了第K个条目的外的所有条目的信息均会被移动至相应的下一个条目,而该当前所接收到的输入地址的信息会被储存至该第二数据表的该第一个条目中,第K个条目的信息则被丢弃。

实作上,该多工器MUX具有耦接于目标行锁存器120的一第一输入、具有耦接于第一先进先出缓冲器105的一第二输入以及具有一输出,该输出耦接于第一先进先出缓冲器105的第一个条目所相对应的该储存位置。如果一目前所接收到的输入地址是被目标行锁存器120所采样并锁存以及接着被第二对比电路125决定为该目标行地址,则目标行锁存器120是会被决策电路100所控制以传送该目前所采样的输入地址至多工器MUX的该第一输入,而决策电路100可以控制该多工器MUX选择其第一输入的讯号作为其输出的讯号,如此,在此情况下,该当前所接收并采样的输入地址(如果被视为该目标行地址的话)将会被储存于该第一数据表的该第一个条目中。然而,在某些情况下,如果目标行锁存器120在整个一次迭代期间中均从未被更新过(即没有任何输入地址被采样),则决策电路100会被安排用来控制该多工器MUX选择其第二输入的讯号作为其输出的讯号,其中决策电路100可以侦测在整个一次迭代期间中目标行锁存器120是否已经被更新。如果判定目标行锁存器120在整个一次迭代期间中均从未被更新,则决策电路100会控制第一先进先出缓冲器105输出/传输在第一先进先出缓冲器105中当前所缓冲的最后一个有效条目的信息至该多工器MUX的该第二输入;相应的流程内容是描述于下。

图3为本发明一实施例当一迭代期间结束时决策电路100更新一迭代期间的目标行地址的一例子的流程示意图。倘若大体上可达到相同的结果,并不需要一定照图3所示的流程中的步骤顺序来进行,且图3所示的步骤不一定要连续进行,亦即其他步骤亦可插入其中;详细的流程步骤是说明于下:

步骤305:开始;

步骤310:判断该次迭代是否改变(亦即判断该迭代期间是否结束);如果是,则流程进行步骤315,否则,流程进行步骤335;

步骤315:判断目标行锁存器120在该整个迭代期间是否有被更新;如果是,则流程进行步骤320,否则,流程进行步骤325;

步骤320:决策电路100将在该第一数据表中的条目中所缓冲的地址信息分别移动至相应的下一个条目的位置,以及控制多工器MUX选择在其第一输入的讯号作为其输出的讯号以将目标行锁存器120中所锁存的地址信息分派至第一先进先出缓冲器105所实现的该第一数据表的该第一个条目,其中如果该第一数据表储存的数据尚未额满时,则该第一数据表的有效条目个数是累加一;

步骤325:决策电路100将在该第一数据表的条目中所缓冲的地址信息分别移至相应的下一个条目的位置,并控制多工器MUX选择其第二输入的讯号作为该输出的讯号以将第一先进先出缓冲器105所实现的该第一数据表中目前所缓冲的多个有效地址中的最后一个地址的信息分派至该第一数据表的该第一个条目,其中如果该第一数据表不是空的,则该第一数据表的有效条目个数是减去一;

步骤330:将该锁定标志重置为值“0”,清空第二先进先出缓冲器130的内容,并且对于下一个迭代期间改变一个或多个策略或参数;以及

步骤335:结束。

再者,对于多个不同的迭代期间调整一个或多个参数的操作可以对于该些不同的迭代期间来调整特定阈值TH的值。然而,这并非是本案的限制。

图4为本发明一实施例的存储器装置400的方块示意图,存储器装置400例如是DRAM并包含有多个目标行地址产生器420,每一个目标行地址产生器420是利用决策电路100来实现。存储器装置400包括有一目标行刷新控制器405、一刷新计数器电路410以及多个存储器库(memory bank)电路413,其中目标行刷新控制器405和刷新计数器电路410是为周边电路。每一存储器库电路413包括有一行地址寄存器415、一目标行地址产生器420与一存储器库阵列425。该些存储器库电路413分别设置用于多个不同的存储器库。

对在一或每一存储器库电路413,行地址寄存器415是用来接收一输入启用地址(input active address)ACT_Addr、一刷新地址REF_Addr、一输入命令CMD(例如启用/激活命令、刷新命令及/或预充电命令)、一目标行刷新致能讯号TRR_En以及目标行地址产生器420所产生的一目标行地址TRA。基于上述所接收的讯号,行地址寄存器415能够产生并输出该内部行地址(internal row address)至存储器库阵列425,并且也能够产生成并输出该内部行地址与内部启用/激活命令至目标行地址产生器420。

该刷新命令是指一个自动刷新命令,例如可以在每一个tREFI周期均产生一自动刷新命令以刷新一个对应的行,举例来说,刷新计数器电路410是被安排用来当一旦接收到一个刷新命令机就从一第一值开始计数到一第二值。初始来说,刷新计数器电路410的值可以被设置为零,并且当每一接收到该刷新命令时,该值会递增一以指示出一个刷新命令将刷新哪一个行。刷新计数器电路410是基于其计数值来对于所将要刷新的该行来产生该刷新地址REF_Addr。应注意的是,对于该自动刷新命令,该刷新地址REF_Addr是用来刷新该刷新地址REF_Addr所相应的一个行,而该目标行刷新操作所使用的该目标行地址TRA是用来刷新一个被频繁使用的行所相邻的一个或多个行,该被频繁使用的行可以相同于或也可以不同于该刷新地址REF_Addr所相应的一个行。

目标行刷新控制器405是用来接收该刷新命令以产生该目标行刷新更新讯号TRA_Up与该目标行刷新致能讯号TRR_En,其中该目标行刷新更新讯号TRA_Up是被目标行地址产生器420所接收,而该目标行刷新致能讯号TRR_En是被行地址寄存器415所接收。目标行刷新控制器405可以在当一个目前的迭代期间结束时(亦即该次迭代改变时;但不限定)产生并输出该目标行刷新更新讯号TRA_Up。当接收到从目标行刷新控制器405所产生的该目标行刷新更新讯号TRA_Up时,目标行地址产生器420是用来输出该目标行地址TRA,亦即第一先进先出缓冲器105的该第一数据表/列表的第一个条目上所记录的地址信息,而该目标行地址TRA接着会被发送至行地址寄存器415。此外,目标行刷新控制器405是被安排用来产生并输出该目标行刷新致能信号TRR_En以通知行地址寄存器415,当该目标行刷新致能信号TRR_En有效(asserted)时,行地址寄存器415是被通知以接收该目标行地址TRA,而如果该目标行刷新致能信号TRR_En被目标行刷新控制器405控制为并非有效,则行地址寄存器415是用来基于该刷新地址REF_Addr来产生该内部行地址,而该内部行地址所相应的一个行会被刷新。当该目标行刷新致能讯号TRR_En是有效的并且行地址寄存器415已接收到该目标行地址TRA时,行地址寄存器415是用来基于该目标行地址TRA来产生该内部行地址,而该目标行刷新操作可以执行以刷新该目标行地址TRA所相应的该目标行(亦即被大量地使用的行)所相邻/邻近的多个行,以减轻行地址重复访问敲打的错误。

图5是本发明一实施例使用决策电路100来决定多个不同迭代期间的多个目标行地址的范例示意图。在本实施例中,是假设骇客使用一个具有均匀型样地址(uniformpattern address)的重复序列,该均匀型样地址例如是{Addr1、Addr2、Addr3、Addr4、Addr5}(但不限定),来攻击一个存储器装置,而第一先进先出缓冲器105是具有该第一数据表,该第一数据表具有四个条目以记录四个地址。在迭代期间TRP1中,第一先进先出缓冲器105的内容是空的,而决策电路100会监控所有地址{Addr1、Addr2、Addr3、Addr4、Addr5},而最终会决定该地址Addr1为迭代期间TRP1的目标行地址,决策电路100会在迭代期间TRP1的结尾时输出该地址Addr1。接着,在迭代期间TRP2的期间,该目标行刷新操作可以基于该地址Addr1来执行刷新。在该迭代期间TRP2中,第一先进先出缓冲器105是记录有该地址Addr1的信息,一输入地址如果等于该地址Addr1的话则将会被决策电路100的第一对比电路110丢弃,决策电路100会监控地址{Addr2、Addr3、Addr4、Addr5}而最终决定该地址Addr2是为迭代期间TRP2的目标行地址,决策电路100会在迭代期间TRP2的结尾时输出该地址Addr2。接着,在迭代期间TRP3期间,该目标行刷新操作可以基于该地址Addr2来执行刷新。在迭代期间TRP3中,第一先进先出缓冲器105会记录有该地址Addr1和该Addr2的信息,一个输入地址如果等于该地址Addr1或Addr2则将会被决策电路100的第一对比电路110丢弃,而决策电路100会监控地址{Addr3、Addr4、Addr5}并且最终决定该地址Addr3为迭代期间TRP3的目标行地址,决策电路100会在迭代期间TRP3的结尾时输出该地址Addr3。对于其他不同的迭代期间,其操作均类似于上述的操作,为简洁起见,不再赘述。

再者,在其他实施例中,一个骇客也可能使用一个具有均匀型样地址例如是{Addr1、Addr2、Addr3、Addr4}的重复序列来攻击一个存储器装置,而该第一先进先出缓冲器105可能具有该第一数据表,其中该第一数据表是具有八个条目以最多记录八个地址。也就是说,该第一数据表的所有条目的个数是大于该均匀型样地址的的不同地址的个数。在本实施例中,举例来说,在该第一数据表使用了四个条目来依顺序记录四个迭代期间的地址Addr1、Addr2、Addr3、Addr4的信息之后,由于该均匀型样地址中的所有地址Addr1、Addr2、Addr3、Addr4均已经被记录于该第一数据表中,因此接下来相同的地址将会被忽略并且决策电路100此时不再监控任何的地址。如此一来,即使是在第五个/次的行迭代期间结束时,目标行锁存器120也不会被更新,在这种情况下,在第一次没有更新目标行锁存器120的情况下,在该第一数据表中当前所记录的所有有效地址中的最后一个地址(亦即Addr1)的地址信息会被选取作为该第五次的迭代期间的目标行地址并被传输至该第一数据表的该第一个条目中。同样地,对于第六个/次的迭代期间,即使当该第六个/次的迭代期间结束时,目标行锁存器120也不会被更新,在这种情况下,在第二次没有更新目标行锁存器120的情况下,在该第一数据表中当前所记录的所有有效地址中的最后一个地址(亦即Addr2)的地址信息会被选取作为该第六次迭代期间的目标行地址并被传输至该第一数据表的该第一个项目中。该第七次/个迭代期间和该第八次/个迭代期间的操作均与上述操作类似。对于第七次迭代期间,该第一信息表中当前所记录的所有有效地址中的最后一个地址(亦即Addr3)的地址信息会被选取作为该第七次迭代期间的该目标行地址并被传输至该第一数据表的该第一个条目中。对于第八次迭代期间,该第一信息表中当前所记录的所有有效地址中的最后一个地址(亦即Addr4)的地址信息会被选取作为为该第八次迭代期间的目标行地址并被传送至该第一数据表的该第一个条目中。

与现有技术的机制相比,本案的电路不采用任何计数器电路就能够决定一迭代期间的一目标行地址,而由在一个计数器电路是占据较多电路面积,因此与现有技术机制相比,本案所提供的技术解决方案可以节省近50%的电路面积。

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

【符号说明】

100:决策电路

105:第一先进先出缓冲器

110:第一对比电路

115:输入地址寄存器

120:目标行锁存器

125:第二对比电路

130:第二先进先出缓冲器

400:存储器装置

405:目标行刷新控制器

410:刷新计数器电路

413:存储器库电路

415:行地址寄存器

420:目标行地址产生器

425:存储器库阵列

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号