针对被干扰行执行照顾操作的存储器装置及其操作方法与流程

文档序号:16148069发布日期:2018-12-05 16:54阅读:151来源:国知局

这里的一个或多个实施例涉及一种用于针对被干扰行执行照顾操作的存储器装置和用于操作存储器装置的方法。

背景技术

改进存储器装置的集成和速度仍是系统设计者的目标。在动态随机存取存储器(dram)中,应力被施加到与被访问越来越多次数的其他存储器单元邻近的存储器单元。该应力可降低邻近存储器单元的数据保持特性,并因此可负面影响整个dram的数据可靠性。

作为一个示例,当连接到特定字线的存储器单元以增长的频率被访问时,连接到与该特定字线邻近的字线的存储器单元的数据保持特性被降低。此外,当dram的大小减小时,存储器单元的访问频率也可增加。由于这个原因,经受负面的数据保持特性的存储器单元的数量可增大。



技术实现要素:

根据一个或多个实施例,一种存储器装置,包括:存储器单元阵列,包括多个行;刷新控制器,用于对所述多个行执行刷新操作;控制逻辑,用于基于所述多个行在第一周期期间被访问的次数来控制对与第一行最邻近的第一邻近区域的照顾操作,并用于基于所述多个行在第二周期期间被访问的次数来控制对与第二行第二邻近的第二邻近区域的照顾操作,其中,第一周期与第二周期是不同周期。

根据一个或多个其他实施例,提供一种用于操作存储器装置的方法,所述存储器装置包括包含多个行和基于与第一行的邻近程度的第一邻近区域至第n邻近区域(其中,n为等于或大于2的整数)的存储器单元阵列。所述方法包括:对所述多个行的访问数量执行计数操作,以确定被集中访问的行;基于执行计数操作的条件从第一邻近区域至第n邻近区域中选择一个邻近区域;对选择的一个邻近区域中的一个或多个行执行照顾刷新操作。

根据一个或多个其他实施例,提供一种用于操作存储器装置的方法,所述存储器装置包括包含第一行至第m行(其中,m为等于或大于2的整数)的存储器单元阵列。所述方法包括:基于通过在第一周期期间对第一行至第m行中的每个行的访问数量进行计数而得到的结果,确定第h行;刷新与第h行邻近的行中的第h-1行和第h+1行;基于通过在第二周期期间对第一行至第m行中的每个行的访问数量进行计数而得到的结果,确定第i行;刷新与第i行邻近的行中的第i-2行和第i+2行。

附图说明

通过参考附图详细描述示例性实施例,特征对于本领域技术人员而言将变得清楚,其中:

图1示出存储器系统的实施例;

图2a、图2b、图3a和图3b示出邻近行或区域的示例;

图4示出存储器装置的实施例;

图5a和图5b示出照顾操作(careoperation)的周期(period)的实施例;

图6和图7示出用于操作存储器装置的方法的实施例;

图8示出刷新操作的实施例;

图9和图10示出访问数量确定器的实施例;

图11a和图11b示出访问数量确定器的其他实施例;

图12a和图12b示出刷新操作的其他实施例;

图13a至图13c示出照顾刷新操作的刷新周期的实施例;

图14示出照顾刷新操作的周期的实施例;

图15示出用于操作存储器装置的方法的另一实施例;

图16示出访问数量确定器的另一实施例;

图17示出用于操作存储器装置的方法的另一实施例;

图18a和图18b示出访问数量确定器的其他实施例;

图19示出照顾刷新操作的周期的另一实施例;

图20示出存储器系统的实施例;

图21示出数据处理存储器系统的实施例。

具体实施方式

图1示出可包括存储器控制器100和存储器装置200的存储器系统10的实施例。存储器装置200可包括存储器单元阵列210、刷新控制器220和控制逻辑230。根据示例性实施例,控制逻辑230可包括可对一个或多个被干扰行执行管理操作的被干扰行管理器231。被干扰行管理器231可使用软件或硬件执行被干扰行的管理。在一个实施例中,被干扰行管理器231可通过使用硬件与软件的组合来执行被干扰行的管理。除了被干扰行管理器231之外,控制逻辑230还可包括用于控制存储器操作的其他元件。

存储器控制器100可通过存储器接口向存储器装置200提供各种信号。这些信号可控制包括写入操作和读取操作的存储器操作。例如,存储器控制器100可向存储器装置200提供命令cmd和地址add以访问存储器单元阵列210的数据data。命令cmd可包括针对正常存储器操作(诸如,数据的写入和读取)的命令。此外,当存储器装置200包括动态随机存取存储器(dram)单元时,命令cmd可包括用于刷新dram单元的刷新命令。

存储器控制器100可基于来自主机host的请求访问存储器装置200。存储器控制器100可使用各种协议与主机host通信。存储器单元阵列210可包括多个存储器单元。例如,存储器单元阵列210可包括多条字线,并且多个存储器单元可连接到多条字线中的每条。例如,连接到一条字线的存储器单元可被称为行。存储器单元阵列210可包括多个行。

根据示例性实施例,当一个行被集中地或频繁地访问(或激活)时,多个邻近区域可基于与被集中访问的行的邻近的程度被检测。例如,最邻近于被集中访问的行的第一邻近区域和作为其下一个邻近区域的第二邻近区域可被检测。

在一个实施例中,与被集中访问的行邻近的多个(例如,n个)邻近区域可被检测。在这种情况下,第一邻近区域可包括相对最邻近于被集中访问的行的行(例如,邻近行)。第n邻近区域可包括相对不邻近于被集中访问的行的行。此外,多个邻近区域中的每个可包括一个行或者两个或更多个行,例如,每个邻近区域可包括一个行或者两个或更多个行。

刷新控制器220可基于来自存储器控制器100的刷新命令,刷新存储器单元阵列210的行。在一个实施例中,刷新控制器220可在自刷新模式下在不被存储器控制器100干涉的情况下刷新存储器单元阵列210的行。此外,根据实施例,当特定行被集中访问时,刷新控制器220可基于控制逻辑230的控制,刷新与被集中访问的行邻近的一个或多个行。

当存储器操作正被执行时,特定行(例如,第一行)可被集中访问。此时,与第一行邻近的行可被干扰,并且行被干扰的程度可基于与第一行邻近的程度而改变。例如,最靠近第一行的行(例如,第二行)可被最大量地干扰,但布置为比第二行相对不靠近第一行的行(例如,第三行)可被较少量地干扰。第二行和第三行可由于第一行被集中(例如,被越来越多次数或大于预定数量的次数)访问而被干扰,因此第二行和第三行中的每个可被称为被干扰行。

如上所述,多个被干扰行可基于与被集中访问的行的邻近的程度而出现。为了保持数据可靠性,控制逻辑230可对与被集中访问的行邻近的行执行被干扰行管理操作。例如,可根据邻近的程度使用不同方法执行被干扰行管理操作。在一个实施例中,被干扰行管理操作可包括基于不同方法的确定被集中访问的行的操作和检测与被集中访问的行具有不同邻近程度的多个被干扰行的操作。被干扰行管理操作还可包括照顾(care)检测的多个被干扰行的操作。

根据实施例,被干扰行管理器231可根据来自存储器控制器100的命令cmd和地址add对行被访问(或激活)的次数进行计数。此外,被干扰行管理器231可检测与在特定周期内最多访问的第一行具有不同的邻近程度的多个邻近区域。例如,当检测到三个邻近区域时,被干扰行管理器231可检测与第一行最邻近的第一邻近区域、与其下一个(或第二)邻近的第二邻近区域以及与其下一个(或第三)邻近的第三邻近区域。

此外,与第一行邻近的行可包括并行布置的多个行之中与第一行向上邻近的行和向下邻近的行。根据实施例,第一邻近区域可包括与第一行最邻近的第一邻近行。在这种情况下,第一邻近行可包括向上邻近和向下邻近于第一行的两个邻近行。类似地,第二邻近区域和第三邻近区域可分别包括第二邻近行和第三邻近行,第二邻近行和第三邻近行中的每个可包括两个邻近行。

在上述实施例中,被集中访问的行已在上面被描述为与在特定周期中被最多(例如,最大频率或次数)访问的行对应。在一个实施例中,可基于各种其他准则来确定被集中访问的行。例如,被最多访问的两个或更多个行中的每个行可被确定为被集中访问的行,或者持续被访问多于参考值次数的行可被确定为被集中访问的行。以这种方式,可通过各种方法执行确定操作。

对检测的邻近区域执行的照顾操作的示例包括:被干扰行管理器231控制刷新操作(例如,照顾刷新操作)。根据实施例,第一邻近区域可包括被被集中访问的第一行最大量干扰的行。因此,可以以最短的周期对第一邻近区域执行照顾刷新操作。第三邻近区域可包括被第一行相对少干扰的行。因此,可以以比第一邻近区域的周期相对长的周期对第三邻近区域执行照顾刷新操作。

控制逻辑230可将检测的邻近区域中的行的地址提供给刷新控制器220。刷新控制器220可基于该地址执行照顾刷新操作。例如,刷新控制器220可包括产生用于执行正常刷新操作(或自动刷新操作)的计数地址的内部计数器。刷新控制器220可与执行正常刷新操作同时地根据特定周期执行用于照顾被干扰的行的照顾刷新操作。在一个刷新周期中,存储器单元阵列210中的行可根据正执行的正常刷新操作而被刷新至少一次。此外,通过集中访问被干扰的一个或多个行可被额外地刷新。

根据实施例,当特定行被集中访问时,即使当被工艺微型化干扰的区域扩大时,也可基于邻近的程度执行优化的照顾操作。因此,数据可靠性可被有效增强。

在上述实施例中,刷新操作已在上面被描述为照顾操作。在其他实施例中,不同种类的照顾操作可被执行,以增强被干扰的行的数据可靠性。例如,可通过移动数据、复制数据或与数据有关的其他操作来执行照顾操作。

存储器装置200可包括dram(诸如,双数据速率同步动态随机存取存储器(ddrsdram)、低功耗双数据速率(lpddr)sdram、图形双数据速率(gddr)sdram、rambus动态随机存取存储器(rdram)等)。其他实施例可应用于包括非易失性存储器(诸如,磁性ram(mram)、铁电ram(feram)、相变ram(pram)、阻式ram(reram)等)的用于执行与刷新操作对应的数据保持操作的存储器装置。

存储器装置200可包括包含一个或多个存储器芯片的半导体封装件或可包括多个存储器芯片被安装在模块板上的存储器模块。在图1中,存储器控制器100和存储器装置200被示出为不同的元件。在一个实施例中,存储器装置200可被实现为存储器控制功能和存储器单元阵列被集成在一个半导体封装件中的存储器系统。

图2a、图2b、图3a和图3b示出可根据邻近程度被分类的邻近行或邻近区域的示例。参照图2a,存储器单元阵列210可包括多条字线wl1至wlm并可基于特定周期确定多条字线wl1至wlm之中被最多访问的行。根据实施例,可设置多个不同周期,并且可在每个周期确定被最多访问的行。

当第k行(例如,连接到第k条字线wlk的存储器单元)被假设为被最多访问的行时,多个邻近区域可基于与第k行的邻近程度被检测。例如,在附图中与第k行的上侧和下侧最邻近的第一邻近区域region_adj1可被检测。此外,与第k行第二邻近的第二邻近区域region_adj2可被检测。此外,与第k行邻近的一个或多个邻近区域可被进一步检测。在图2a中,与第k行向上邻近的数量a的邻近区域region_adj1至region_adja被检测,与第k行向下邻近的数量b的邻近区域region_adj1至region_adjb被检测。

在图2a中示出的邻近区域region_adj1至region_adja和邻近区域region_adj1至region_adjb中的每个可包括一个或多个行。例如,在与第k行的上边邻近的邻近区域region_adj1至region_adja中,由于第k行被集中访问,所以第一邻近区域region_adj1中的行可被最大量干扰。然而,第a邻近区域region_adja中的行可被相对少干扰。基于邻近程度考虑干扰特性,当对邻近区域region_adj1至region_adja执行管理操作时,可针对邻近区域中的每个应用不同的收集周期(例如,用于确定被最多访问的行的周期)。此外,可根据针对每个邻近区域的不同周期来执行照顾操作。

根据实施例,当第k行是在相对最短的周期(例如,第一周期)中被最多访问的行时,第一邻近区域region_adj1中的行可被刷新。此外,当第k行是在比第一周期长的周期(例如,第二周期)中被最多访问的行时,第二邻近区域region_adj2中的行可被刷新。此外,当第k行被确定为在比其他周期相对长的预定周期(例如,第a周期)中被最多访问的行时,第a邻近区域region_adja中的行可被刷新。

在图2b中,示出仅存储器单元阵列的一些行被分类为多个邻近区域的示例。此外,图2b示出相同数量的邻近区域被布置在被最多访问的行的上侧和下侧上。

参照图2b,被最多访问的第k行可被确定,与第k行的上侧和下侧邻近的数量c的邻近区域region_adj1至region_adjc可被检测。如在图2a的实施例中一样,邻近区域region_adj1至region_adjc中的每个可包括一个或多个行。当第k行对应于在相对短的第一周期期间被最多访问的行时,与第k行最邻近的第一邻近区域region_adj1中的行可被刷新。此外,当第k行对应于在相对长的第二周期期间被最多访问的行时,与第k行下一个(或第二)邻近的第二邻近区域region_adj2中的行可被刷新。

图3a和图3b示出邻近区域包括一个邻近行的示例。图3a示出三个邻近行从被最多访问的行的上侧和下侧中的每个被检测的示例。图3b示出数量n的邻近行从被最多访问的行的上侧和下侧中的每个被检测的示例。

参照图3a,被最多访问的第k行可被确定,与第k行最邻近的第一邻近行可包括与第k-1字线wl(k-1)对应的第k-1行和与第k+1字线wl(k+1)对应的第k+1行。此外,与第k行第二邻近的第二邻近行可包括与第k-2字线wl(k-2)对应的第k-2行和与第k+2字线wl(k+2)对应的第k+2行。类似地,第三邻近行可包括与第k+3字线wl(k+3)对应的第k+3行和与第k-3字线wl(k-3)对应的第k-3行。

当第k行在相对短的第一周期期间被最多访问时,可通过刷新第k-1行和第k+1行(例如,±1邻近行)来执行照顾操作。此外,当第k行在相对长的第三周期期间被最多访问时,可通过刷新第k-3行和第k+3行(例如,±3邻近行)来执行照顾操作。

参照图3b,被最多访问的第k行可被确定,第一邻近行至第n邻近行可针对第k行被检测。在这种情况下,第n邻近行(例如,±n邻近行)与第k行之间的邻近距离可相对大于第一邻近行(例如,±1邻近行)与第k行之间的邻近距离。

根据上述实施例,能被最多干扰的最邻近行可基于在具有相对短的周期的收集周期中执行的确定的结果被检测。然而,多个相对不邻近行可基于在具有相对长的周期的收集周期中执行的确定的结果被检测。此外,可在每个相对短的周期对±1邻近行执行照顾刷新操作,但可在每个相对长的周期对±n邻近行执行照顾刷新操作。

在下文中,在描述示例性实施例时,邻近区域可被假设为包括一个邻近行(例如,与上侧和下侧邻近的±1邻近行)。此外,根据实施例,为了便于描述,将执行照顾操作的邻近区域或邻近行可被称为区域或行。

图4示出可包括访问数量确定器310、邻近行地址产生器320和刷新控制器330的存储器装置300的实施例。元件可以以各种方式在存储器装置300中实现。例如,访问数量确定器310和邻近行地址产生器320可在图1的控制逻辑230中或可在被干扰行管理器231中。访问数量确定器310的实施例可以以作为软件、硬件或二者的逻辑来实现。

访问数量确定器310可包括第一计数器块(或简称计数器)(例如,计数器块1)311_1至第n计数器块(例如,计数器块n)311_n。第一计数器块311_1至第n计数器块311_n中的每个可包括多个计数器。访问数量确定器310可基于命令cmd执行基于被访问(激活)的行的地址add的计数操作,并可基于计数结果输出指示被集中访问的行的位置的地址。例如,访问数量确定器310可输出与在特定周期中被最多访问的行对应的地址(例如,最大访问地址add_max)。

根据实施例,访问数量确定器310可基于周期信息info_t执行计数操作。第一计数器块311_1可基于周期信息info_t在第一周期期间执行计数操作,并可输出与在第一周期期间被最多访问的行对应的最大访问地址add_max。此外,第二计数器块311_2可基于周期信息info_t在第二周期期间执行计数操作,并可输出与在第二周期期间被最多访问的行对应的最大访问地址add_max。类似地,第n计数器块311_n可基于周期信息info_t在第n周期期间执行计数操作,并可输出与在第n周期期间被最多访问的行对应的最大访问地址add_max。

邻近行地址产生器320可产生指示邻近行(或其位置)的邻近行地址add_ref_adj。根据实施例,邻近行地址产生器320可根据不同周期产生指示具有不同的邻近程度的邻近行中的相应行的邻近行地址add_ref_adj。例如,邻近行地址产生器320可基于周期信息info_t产生邻近行地址add_ref_adj。

例如,当第一计数器块311_1根据在第一周期期间执行的计数结果输出最大访问地址add_max时,邻近行地址产生器320可输出与最大访问地址add_max的上侧和下侧最邻近的地址(例如,±1邻近行的地址)。此外,当第二计数器块311_2根据在第二周期期间执行的计数结果输出最大访问地址add_max时,邻近行地址产生器320可输出与最大访问地址add_max的上侧和下侧第二邻近的地址(例如,±2邻近行的地址)。此外,当第n计数器块311_n根据在第n周期期间执行的计数结果输出最大访问地址add_max时,邻近行地址产生器320可输出与最大访问地址add_max的上侧和下侧第n邻近的地址(例如,±n邻近行的地址)。

刷新控制器330可包括刷新地址计数器331和选择器332。刷新地址计数器331可输出用于顺序刷新存储器单元阵列的行的计数地址add_ref_cnt。此外,选择器332可接收并选择性地输出计数地址add_ref_cnt和邻近行地址add_ref_adj。例如,选择器332可在执行正常刷新操作时输出计数地址add_ref_cnt。每当第一周期至第n周期到达时,选择器332可输出邻近行地址add_ref_adj。

图5a和图5b示出用于设置照顾操作的各种周期的实施例。此外,在下面的实施例中,照顾操作可被假设为对应于照顾刷新操作。

参照图5a,第一周期p1可以是比其他周期p2至pn短的周期,可确定在每个第一周期p1被访问最多的行,并且可对与确定的行最邻近的行(±1邻近行)执行照顾刷新操作。此外,第二周期p2可以是比第一周期长的周期,可确定在每个第二周期p2被访问最多的行,并且可对与确定的行第二邻近的行(±2邻近行)执行照顾刷新操作。以这种方式,第n周期pn可以是比其他周期p1至p(n-1)长的周期,可确定在每个第n周期pn被访问最多的行,并且可对与确定的行第n邻近的行(±n邻近行)执行照顾刷新操作。

在图5a中,第一周期p1至第n周期pn被示出为具有相同时间。在图5b中,第一周期p1至第n周期pn可具有不同时段,并且各自的时段的时间(例如,确定被最多访问的行的时间)可不同。

图6和图7示出用于操作存储器装置的方法的实施例。参照图6,存储器装置可基于来自存储器控制器的命令和地址执行存储器操作。在存储器操作中,可对多个行执行访问(或激活)操作。存储器装置可对被访问的行执行计数操作。例如,可对多个周期执行计数操作,并且可在每个周期中确定被集中访问的行。例如,可设置数量n的周期,并且可在每个周期中确定被访问最多的行。

当第一周期到达时,在操作s11中,存储器装置可在第一周期期间确定被访问最多的行(以下称为最大访问行)。在操作s12中,存储器装置可根据确定的结果刷新一个或多个第一邻近区域(例如,与上侧和下侧邻近的区域)。第一邻近区域可以是与最大访问行最邻近的区域并且可包括一个或多个邻近行。

随后,当第二周期到达时,在操作s13中,存储器装置可在第二周期中确定最大访问行,并且可在操作s14中根据通过确定最大访问行而获取的结果来刷新一个或多个第二邻近区域。第二邻近区域可以是与最大访问行第二邻近的区域。以类似的方法,上述确定和对邻近区域的刷新操作可在多个周期中被重复执行。当数量n的周期被设置并且当第n周期到达时,在操作s15中,存储器装置可在第n周期中确定最大访问行。基于通过确定最大访问行而获取的结果,在操作s16中,存储器装置可刷新一个或多个第n邻近区域。

在图7中,将描述对与被最多访问的行向上邻近和向下邻近的三个行执行照顾刷新操作的示例。首先,当第一周期到达时,可在第一周期期间确定最大访问行,例如,在操作s21中,第h行可被确定为最大访问行。可对与在每个第一周期的最大访问行最邻近的行(例如,±1邻近行)执行刷新操作(例如,照顾刷新操作)。因此,在操作s22中,可对第h-1行和第h+1行执行刷新操作。

当第二周期到达时,可在第二周期期间确定最大访问行,例如,在操作s23中,第i行可被确定为最大访问行。可对与在每个第二周期的最大访问行第二邻近的行(例如,±2邻近行)执行刷新操作。因此,在操作s24中,可对第i-2行和第i+2行执行刷新操作。

当第三周期到达时,可在第三周期期间确定最大访问行,例如,在操作s25中,第j行可被确定为最大访问行。可对与在每个第三周期的最大访问行第三邻近的±3邻近行执行刷新操作。因此,在操作s26中,可对第j-3行和第j+3行执行刷新操作。

图8示出由图4的刷新控制器执行的刷新操作的实施例。示出了根据第一周期至第三周期对±1邻近行、±2邻近行和±3邻近行执行照顾刷新操作的示例。

参照图4和图8,刷新控制器330可输出计数地址add_ref_cnt(由刷新地址计数器331在正常刷新操作中产生)作为刷新地址add_ref。刷新控制器330还可输出用于根据特定周期执行照顾刷新操作的邻近行地址add_ref_adj(作为刷新地址add_ref)。例如,可对第一行至第七行执行正常刷新操作r1至r7。然后,当第一周期到达时,可对与在第一周期期间被访问最多的行最邻近的行(±1邻近行)执行照顾刷新操作c1。随后,可执行正常刷新操作(例如,可对第八行和第九行执行正常刷新操作r8和r9)。然后,当第二周期到达时,可对与在第二周期期间被访问最多的行第二邻近的行(±2邻近行)执行照顾刷新操作c2。

类似地,随后可执行正常刷新操作(例如,可对第十行执行正常刷新操作r10)。然后,当第三周期到达时,可对与在第三周期期间被访问最多的行第三邻近的行(±3邻近行)执行照顾刷新操作c3。在图8中,示出了第一周期对应于执行八次正常刷新操作的间隔、第二周期对应于执行十六次正常刷新操作的间隔、以及第三周期对应于执行三十二次正常刷新操作的间隔的示例。在其他实施例中,可以以不同方式设置第一周期至第三周期。

图9和图10示出访问数量确定器400的实施例。参照图9,访问数量确定器400可包括第一计数器块410至第三计数器块430。第一计数器块410至第三计数器块430中的每个可包括多个地址寄存器(add_reg)和与之对应的多个计数器(cnt)。此外,指示被访问的行的地址add和包括关于多个周期的信息的周期信息info_t可被提供给第一计数器块410至第三计数器块430中的每个。

第一计数器块410可在第一周期period1期间对行的访问数量进行计数,并可输出行(在第一周期period1期间被访问最多的行)的地址作为最大访问地址add_max。类似地,第二计数器块420可在第二周期period2期间对行的访问数量进行计数,并可输出行(在第二周期period2期间被访问最多的行)的地址作为最大访问地址add_max。此外,第三计数器块430可在第三周期period3期间对行的访问数量进行计数,并可输出行(在第三周期period3期间被访问最多的行)的地址作为最大访问地址add_max。

以下将参考第一计数器块410描述计数器块的实施例。第一计数器块410可包括多个地址寄存器411_1至411_p和与之对应的多个计数器412_1至412_p。地址寄存器411_1至411_p的数量可等于或小于存储器单元阵列中的行的数量。在实施例中,存储器单元阵列中的被频繁访问的一些行可通过特定算法被选择作为候选行。选择的候选行的地址可被存储在地址寄存器411_1至411_p中。此外,基于提供给第一计数器块410的地址add,与存储和提供的地址add相同的地址的地址寄存器对应的计数器可执行计数操作。

图10示出图9中的访问数量确定器400的计数操作的实施例。以下将参考第一计数器块410描述计数操作的示例。

第一计数器块410可确定在第一周期期间被访问最多的行。例如,在第一周期期间,与第二地址add2对应的第二行可被最多访问,对与存储在第一地址寄存器411_1中的地址对应的行的访问数量可以是a,对与存储在第三地址寄存器411_3中的地址对应的行的访问数量可以是b,对与存储在第p地址寄存器411_p中的地址对应的行的访问数量可以是c。因此,第一计数器块410可输出存储在第二地址寄存器411_2中的第二地址add2作为最大访问地址add_max。因此,可对与第二行最邻近的行(例如,±1邻近行)执行照顾刷新操作。

随后,与第二地址寄存器411_2对应的计数器412_2的值可被重置,并且在下一个第一周期期间被访问最多的行可被再次确定。此时,由于不对与除第二行以外的行邻近的行执行照顾刷新操作,所以分别对应于其他地址寄存器411_1和411_3至411_p的计数器的计数值可被保持而不被重置。例如,当下一个第一周期开始时,与第三地址寄存器411_3对应的计数值可具有值b并且可开始计数操作。当与第三地址寄存器411_3对应的计数器412_3的计数值在下一个第一周期到达的时刻为最大时,第一计数器块410可输出第三地址add3作为该下一个第一周期中的最大访问地址add_max。

图11a和图11b示出访问数量确定器310的另外的实施例。在图11a和图11b中,一个计数器块共享分别对应于多个周期的计数操作。此外,为了便于描述,图11a和图11b示出第一周期period1至第三周期period3。

参照图11a,访问数量确定器310可包括在确定与多个周期对应的最大访问地址add_max的步骤中共享的计数器块510。计数器块510可包括多个地址寄存器510_1至510_p和与之对应的多个计数器520_1至520_p。

与上述实施例类似,计数器块510可确定在第一周期期间被访问最多的行并可基于确定的结果输出最大访问地址add_max1。可对最大访问地址add_max1的±1邻近行执行照顾刷新操作,并且可重置对应计数器的计数值。

基于与多个第一周期对应的计数结果的最大访问地址add_max1可被输出。当第二周期到达时,计数器块510可输出用于对±2邻近行执行照顾刷新操作的最大访问地址add_max2。根据实施例,最大访问地址add_max2可通过在第二周期到达的时刻检查计数器520_1至520_p的计数值来确定。例如,在第二周期到达的时刻,与具有最大计数值的计数器对应的地址可被输出作为最大访问地址add_max2。类似地,计数器块510可在第三周期到达的时刻检查计数器520_1至520_p的计数值。基于计数值,计数器块510可输出用于对±3邻近行执行照顾刷新操作的最大访问地址add_max3。

图11b示出在图11a中示出的元件以外还可包括地址寄存器530的计数器块510的另一实施例。与上述实施例相同或类似,计数器块510可输出分别对应于第一周期period1至第三周期period3的最大访问地址add_max1至最大访问地址add_max3。

根据实施例,计数器块510可确定在第一周期期间被访问最多的行并可基于确定的结果输出最大访问地址add_max1。此外,第二周期可在多个第一周期过去之后到达。因此,在最大访问地址add_max2对应于第二周期的时刻,可存在在该时刻之前的多个第一周期中执行的确定结果。

根据实施例,与在多个第一周期中确定的一个或多个最大访问行对应的地址可被输出作为第二周期中的最大访问地址add_max2。例如,关于被集中访问的行,可首先对±1邻近行执行照顾刷新操作,然后,可对±2邻近行执行照顾刷新操作。因此,在本实施例中,在第二周期到达的时刻,±1邻近行已经经受照顾刷新操作的一个或多个行可在该时刻前被选择,并且与选择的行对应的地址可被输出作为第二周期中的最大访问地址add_max2。

根据实施例,在第一周期中确定的多个最大访问行中的任意最大访问行可被选择作为第二周期中的最大访问行。例如,在多个第一周期中被首先确定为最大访问行的行可被确定为第二周期中的最大访问行。在一个实施例中,在多个第一周期中的对应于特定顺序的第一个第一周期中确定的最大访问行可被确定为第二周期中的最大访问行,或在最后一个第一周期中确定的最大访问行可被确定为第二周期中的最大访问行。

在一个实施例中,与在每个第一周期确定的最大访问行对应的计数器的计数值可被重置,并且可根据随后请求访问的地址add对重置的最大访问行执行计数操作。在之前的第一周期中被确定为最大访问行的行的计数值可在第二周期到达的时刻被相互比较。具有计数值中的最大计数值的行可被确定为第二周期中的最大访问行。

图11b的地址寄存器530可存储被确定为第二周期和/或第三周期中的最大访问行的一个或多个行的地址。例如,地址寄存器530可包括存储一个或多个行的地址的一个或多个寄存器。例如,与在多个第一周期中确定的最大访问行之一对应的地址可被存储在地址寄存器530中。在第二周期到达的时刻,存储在地址寄存器530中的地址可被输出作为最大访问地址add_max2。

类似地,最大访问地址add_max3可在第三周期中从计数器块510被输出。例如,最大访问地址add_max2可在每个第二周期被输出,并且在一个第二周期中确定的最大访问地址可被输出作为第三周期中的最大访问地址add_max3。

图12a和图12b示出通过图11a和图11b中的计数器块的刷新操作的实施例。在这些实施例中,根据第一周期至第三周期对±1邻近行、±2邻近行和±3邻近行执行照顾刷新操作。

参照图12a,根据特定周期,可对多个±1邻近行连续地执行照顾刷新操作c1,并且可对±2邻近行执行照顾刷新操作c2。当对±1邻近行执行三次照顾刷新操作c1并然后对±2邻近行执行照顾刷新操作c2时,并且当第一行至第三行(1至3)在三次第一周期p1中被顺序确定为最大访问行时,被首先确定的第一行(1)可被确定为随后的第二周期p2中的最大访问行。此外,当第二行、第一行和第五行(2、1和5)在下一组三次第一周期p1中被顺序确定为最大访问行时,第二行(2)可被确定为随后的第二周期p2中的最大访问行。

类似地,当第三周期到达时,在多个之前的第二周期p2中选择的最大访问行之一可被确定为第三周期p3中的最大访问行。在图12a的实施例中,示出了在多个第二周期p2中被首先选择的第一行(1)被确定为继第二周期p2之后的第三周期p3中的最大访问行的示例。

参照图12b,示出在多个第一周期p1中的最后一个第一周期p1中确定的最大访问行被确定为随后的第二周期p2中的最大访问行的示例。此外,在多个第二周期p2中的最后一个第二周期p2中确定的最大访问行可被确定为随后的第三周期p3中的最大访问行。如图12b所示,当第一行至第三行(1至3)被顺序确定为多个第一周期p1中的最大访问行时,被最后确定的第三行(3)可被确定为随后的第二周期p2中的最大访问行。此外,当第二行、第一行和第五行(2、1和5)被顺序确定为多个第一周期p1中的最大访问行时,第五行(5)可被确定为随后的第二周期p2中的最大访问行。

图13a至图13c示出当应用照顾刷新操作时的刷新周期的实施例。图13a至图13c示出刷新间隔为15.6μs、行的总数为4096、以及刷新周期为64ms的实施例。这些值对应于dram的一类刷新标准。在其他实施例中,可基于不同值执行照顾刷新操作。

根据实施例,可根据刷新间隔顺序执行正常刷新操作r。当用于执行照顾刷新操作c的周期到达时,可在特定刷新时刻同时执行正常刷新操作和照顾刷新操作(r+c)。由于正常刷新操作和照顾刷新操作在照顾刷新操作被执行的时刻被同时执行,所以刷新周期可被保持为64ms并且照顾刷新操作可被执行。根据这里描述的一个或多个其他实施例,照顾刷新操作c可以是多个周期之一中的刷新操作。

参照图13b,可根据刷新间隔顺序执行正常刷新操作r。当用于执行照顾刷新操作c的周期到达时,可执行照顾刷新操作c。此时,刷新周期可基于照顾刷新操作c在一个刷新周期中被执行的次数而增加时间α从而大于64ms。

参照图13c,可根据刷新间隔顺序执行正常刷新操作r。例如,可针对正常刷新操作r被执行的多个时刻中的至少一些来同时刷新两个或更多个行。此外,当用于执行照顾刷新操作的周期到达时,可执行照顾刷新操作c。通过控制在一个刷新时刻被刷新的行的数量,刷新周期可被保持为64ms并且照顾刷新操作可被执行。

图14示出用于设置用于执行照顾刷新操作的周期的实施例。在上述实施例中,示出了针对时间设置用于执行照顾刷新操作的第一周期p1至第n周期pn的示例。然而,在图14的实施例中,可基于施加命令的次数(或激活的次数)num_act来设置第一周期p1至第n周期pn中的每个。

根据实施例,第一周期p1可以是与相对较小数量的激活对应的周期,而第n周期pn可以是与相对较大数量的激活对应的周期。例如,可确定在数量a的激活中被访问最多的行,并且可基于确定的结果对±1邻近行执行照顾刷新操作。此外,可确定在数量b的激活中被访问最多的行,并且可基于确定的结果对±2邻近行执行照顾刷新操作。此外,可确定在数量c的激活中被访问最多的行,并且可基于确定的结果对±3邻近行执行照顾刷新操作。a的值可比b或c的值相对小。因此,第一周期p1可具有比第二周期p2至第n周期pn的时间间隔短的时间间隔。此外,命令可被不定期地施加。因此,即使是相同周期(例如,第一周期p1),但先前的第一周期p1与下一个第一周期p1可以是不同的时间间隔。

图15示出用于操作存储器装置的方法的另一实施例。参照图15,存储器装置可包括用于确定在多个周期中的每个中被访问最多的行的多个计数器块。计数器块可根据不同的计数操作产生计数结果。在图15中,为了便于描述,用于确定在第一周期中被访问最多的行的第一计数器块和用于确定在第二周期中被访问最多的行的第二计数器块将作为示例被描述。

第一计数器块可包括多个地址寄存器和与之对应的多个计数器。在操作s31中,第一计数器块可基于计数操作在每个第一周期确定最大访问行,并例如使用来自外部的地址执行计数操作。在操作s32中,存储器装置可基于通过第一计数器块的确定的结果来刷新一个或多个第一邻近区域(例如,±1邻近行)。

在操作s33中,基于由第一计数器块在每个第一周期产生的最大访问行的确定结果可在第二计数器块中被更新。例如,当第一计数器块确定第一行为一个第一周期中的最大访问行时,与存储第一行的地址寄存器对应的计数值可在第二计数器块中增加。例如,当第一行的地址未存储在第二计数器块中时,第一行的地址可被存储在第二计数器块的一个地址寄存器中,并且与存储的地址对应的计数值可增加。

在操作s34中,基于第二计数器块的计数结果,第二计数器块可在每个第二周期确定最大访问行。例如,当第二周期具有是第一周期的d倍长的周期时,第二计数器块可在每个第二周期执行d次计数操作。第二计数器块可基于d次计数操作的结果确定最大访问行,并且在操作s35中,存储器装置可基于第二计数器块的确定结果来刷新一个或多个第二邻近区域(例如,±2邻近行)。

根据上述实施例,由第二计数器块执行的计数的次数减少。因此,由存储器装置的计数器块消耗的电力减少。

图16示出执行根据图15的实施例的计数操作的访问数量确定器600的另一实施例。参照图16,访问数量确定器600可包括第一计数器块610_1至第n计数器块610_n。第一计数器块610_1可确定在第一周期中被访问最多的行,第n计数器块610_n可确定在第n周期中被访问最多的行。此外,第一计数器块610_1至第n计数器块610_n中的每个可包括多个地址寄存器和与之对应的多个计数器。

第一计数器块610_1可确定与第二地址add2对应的第二行为最大访问行,并可提供在第一周期期间的确定的结果。此外,可基于确定结果对±1邻近行执行照顾刷新操作。此外,第一计数器块610_1的确定结果可在第二计数器块610_2至第n计数器块610_n中被更新。例如,由于第二行被确定为最大访问行,所以与存储第二地址add2的地址寄存器对应的计数器的计数值可在第二计数器块610_2至第n计数器块610_n中的每个中增加一。每当第一周期到达时,这样的更新操作可被执行。

当第二周期到达时,第二计数器块610_2可提供通过基于第二计数器块610_2的计数结果确定最大访问行而得到的结果。此外,基于来自第二计数器块610_2的计数结果,可对最大访问行的±2邻近行执行照顾刷新操作。例如,当d次第一周期对应于与一个第二周期对应的周期时,第二计数器块610_2可在第二周期期间执行d次计数操作并可基于计数结果确定最大访问行。

类似地,当第n周期到达时,第n计数器块610_n可提供通过基于第n计数器块610_n的计数结果确定最大访问行而得到的结果。此外,基于来自第n计数器块610_n的计数结果,可对最大访问行的±n邻近行执行照顾刷新操作。例如,当e次第一周期对应于与一个第n周期对应的周期时,第n计数器块610_n可在第n周期期间执行e次计数操作并可基于计数结果确定最大访问行。

在图16中,示出了第一计数器块610_1的确定结果在第二计数器块610_2至第n计数器块610_n(或简称计数器块610_2至610_n)中被更新的示例。在其他实施例中,第一计数器块610_1的确定结果可在第二计数器块610_2中被更新并且第二计数器块610_2的确定结果可在第三计数器块610_3中被更新。以这种方式,第n-1计数器块610_(n-1)的确定结果可在第n计数器块610_n中被更新。

图17示出用于操作存储器装置的方法的另一实施例。根据这个实施例,在对与被集中访问的行邻近的行执行照顾刷新操作的步骤中,可基于与被集中访问的行邻近的程度设置具有不同值的阈值。例如,与被集中访问的行最邻近的第一邻近行(例如,±1邻近行)可在第一邻近行被干扰的程度上是大的。因此,可针对第一邻近行设置具有相对小的值的第一阈值。当被集中访问的行的访问数量num_acc达到第一阈值时,可对第一邻近行执行照顾刷新操作。

此外,与被集中访问的行第二邻近的第二邻近行(例如,±2邻近行)可在被干扰程度上小于第一邻近行。因此,可针对第二邻近行设置具有相对大的值的第二阈值。当被集中访问的行的访问数量达到第二阈值时,可对第二邻近行执行照顾刷新操作。

参照图17,第一阈值th1可被设置为第一邻近行的照顾刷新条件,并且在操作s41中,行的访问数量可被计数。在操作s42,可确定是否存在计数值大于第一阈值th1的行。当确定存在计数值大于第一阈值th1的行时,可持续执行计数操作。当与特定行对应的计数值大于第一阈值th1时,可对与该特定行邻近的第一邻近行执行照顾刷新操作。

类似地,第二阈值th2可被设置为第二邻近行的照顾刷新条件,并且在操作s43中,行的访问数量可被计数。在操作s44,可确定是否存在计数值大于第二阈值th2的行。当确定存在计数值大于第二阈值th2的行时,可对与该行邻近的第二邻近行执行照顾刷新操作。以这种方式,对与第三邻近行关联的行的访问数量进行计数的操作(s45)和确定与特定行对应的计数值是否大于第三阈值th3的操作(s46)可被执行。此外,对与第n邻近行关联的行的访问数量进行计数的操作(s47)和确定与特定行对应的计数值是否大于第n阈值thn的操作(s48)可被执行。

图18a和图18b示出访问数量确定器的另一实施例以及针对多个邻近行设置阈值的示例。图18a示出与被集中访问的行(例如,第k行)邻近的三个邻近行。此外,示出了用于对±1邻近行执行照顾刷新操作的第一阈值th1被设置为1000、用于对±2邻近行执行照顾刷新操作的第二阈值th2被设置为2000、以及用于对±3邻近行执行照顾刷新操作的第三阈值th3被设置为3000的示例。

当第k行被集中访问时,与第k行邻近的邻近行可被干扰。邻近行被干扰的程度可基于与第k行邻近的程度而不同。当第k行的访问数量大于作为第一阈值th1的1000时,±1邻近行可被大量地干扰。出于这个原因,数据可靠性可降低,但±2邻近行被干扰的程度可能仍然小。因此,可首先对±1邻近行执行照顾刷新操作。

随后,第k行可被持续并集中地访问。因此,第k行的访问数量可大于作为第二阈值th2的2000。因此,可对±2邻近行执行照顾刷新操作。类似地,第k行可被持续并集中地访问。因此,当第k行的访问数量大于作为第三阈值th3的3000时,可对±3邻近行执行照顾刷新操作。

参照图18b,访问数量确定器700可包括第一计数器块710至第三计数器块730。第一计数器块710可对行的访问数量进行计数以输出被访问多于第一阈值th1的行的地址add。类似地,第二计数器块720可输出被访问多于第二阈值th2的行的地址add。第三计数器块730可输出被访问多于第三阈值th3的行的地址add。

例如,当特定行的访问数量大于第一阈值th1时,第一计数器块710可输出与该访问数量对应的地址add并可重置第一计数器块710的计数值。此外,当特定行的访问数量大于第二阈值th2时,第二计数器块720可输出与该访问数量对应的地址add并可重置第二计数器块720的计数值。此外,当特定行的访问数量大于第三阈值th3时,第三计数器块730可输出与该访问数量对应的地址add并可重置第三计数器块730的计数值。

根据上述实施例,可不对邻近行周期性地执行照顾刷新操作。例如,当存储器单元阵列的多个行被同等访问时,在所有实例中,可不需要执行照顾刷新操作。因此,照顾刷新操作可不被执行,直至访问数量大于第一阈值th1为止。

在一个实施例中,当存储器单元阵列的多个行被同等访问而不被集中访问时,可不需要执行照顾刷新操作。因此,可在第一计数器块710至第三计数器块730中的每个中设置特定周期。当不存在在设置的周期期间被访问多于第一阈值th1的行时,本实施例可通过重置第一计数器块710至第三计数器块730中的每个的计数值来实现。

图19示出用于设置用于执行照顾刷新操作的周期的另一实施例。在图19中,示出了多个邻近区域的照顾刷新条件被不同设置的示例。

例如,第一周期p1可被设置以对第一邻近区域(例如,±1邻近行)执行照顾刷新操作。第二周期p2可被设置以对第二邻近区域(例如,±2邻近行)执行照顾刷新操作。例如,根据上述实施例,第一周期p1可以是具有特定时间间隔的周期。因此,可对在第一周期p1期间被访问最多的行的第一邻近区域执行照顾刷新操作。

例如,根据上述实施例,第二周期p2可以是与特定命令的施加的数量(或激活的数量)对应的周期。因此,可对在第二周期p2期间被访问最多的行的第二邻近区域执行照顾刷新操作。此外,多个第二周期p2的时间间隔可不同。

特定的阈值thn可被设置以对第n邻近区域(例如,±n邻近行)执行照顾刷新操作。当特定行的访问数量大于阈值thn时,可对该特定行的第n邻近区域执行照顾刷新操作。

图20示出可包括存储器控制器810和存储器装置820的存储器系统800的实施例。存储器装置820可包括存储器单元阵列821、刷新控制器822以及控制逻辑823。此外,存储器控制器810可包括访问数量确定器811,控制逻辑823可包括邻近行地址产生器823_1。

根据上述实施例的各种计数操作、确定操作以及邻近行地址产生操作中的至少一些可由存储器控制器810执行。在图20的实施例中,示出了存储器控制器810对行的访问数量进行计数以向存储器装置820提供被最多访问的行的地址(例如,最大访问地址add_max)的示例。例如,本实施例可被实施,从而存储器控制器810产生邻近行的地址并向存储器装置820提供该地址。

访问数量确定器811可向存储器装置820提供针对多个周期中的每个确定的最大访问地址add_max。访问数量确定器811可使用从主机host提供的地址执行计数操作。此外,邻近行地址产生器823_1可在多个周期中产生具有不同的邻近程度的邻近行地址。例如,根据上述实施例,邻近行地址产生器823_1可在第一周期中产生与最大访问地址add_max的±1邻近行对应的地址,并可在第二周期中产生与最大访问地址add_max的±2邻近行对应的地址。

刷新控制器822可使用由刷新控制器822产生的计数地址执行正常刷新操作,并可使用由邻近行地址产生器823_1产生的邻近行地址执行照顾刷新操作。

图21示出包括应用处理器910和存储器装置920的数据处理系统900的实施例。应用处理器910的存储器控制模块911和存储器装置920可配置存储器系统。存储器装置920可包括存储器单元阵列921、刷新控制器922以及控制逻辑923。控制逻辑923可包括被干扰行管理器923_1。

例如,应用处理器910可被实现为片上系统(soc)。soc可包括应用基于特定总线标准的协议的系统总线,并可包括连接到系统总线的各种知识产权(ip)保护的或专有的软件模块和/或硬件。系统总线的标准协议的一个示例是高级精简指令集机器(arm)的高级微控制器总线架构(amba)协议。amba协议的总线类型可包括高级高性能总线(ahb)、高级外围总线(apb)、axi、axi4、axi一致性扩展(ace)等。此外,其他类型的协议(诸如,sonic公司的nnetwork、ibm的coreconnect、ocp-ip的开放内核协议等)可应用于系统总线。

存储器装置920可执行与根据上述实施例的照顾操作(例如,照顾刷新操作)关联的各种功能。例如,被干扰行管理器923_1可对行的访问数量进行计数,针对设置的多个周期中的每个确定最大访问行,并检测与确定的行具有不同的邻近程度的多个被干扰行。此外,可基于不同方法对检测的多个被干扰行执行照顾操作。

这里描述的方法、处理和/或操作可通过将由计算机、处理器、控制器或其他信号处理装置执行的代码或指令来执行。计算机、处理器、控制器或其他信号处理装置可以是这里描述的那些或除了这里描述的元件之外的一个。由于组成方法(或计算机、处理器、控制器或其他信号处理装置的操作)的基础的算法被具体描述,所以用于实现方法实施例的操作的代码或指令可将计算机、处理器、控制器或其他信号处理装置转换成用于执行这里描述的方法的专用处理器。

公开的实施例的控制器、管理器、计数器、确定器、产生器、块、模块以及其他信号产生和信号处理特征可以以逻辑(例如,可包括硬件、软件或二者)来实现。例如,当至少部分地以硬件实现时,控制器、管理器、计数器、确定器、产生器、块、模块以及其他信号产生和信号处理特征可以是各种集成电路中的任何一个,所述各种集成电路包括但不限于应用专用集成电路、现场可编程门阵列、逻辑门的组合、片上系统、微处理器或另一类型的处理或控制电路。

例如,当至少部分地以软件实现时,控制器、管理器、计数器、确定器、产生器、块、模块以及其他信号产生和信号处理特征可包括用于存储将由例如计算机、处理器、微处理器、控制器或其他信号处理装置执行的代码或指令的存储器或其他存储装置。计算机、处理器、微处理器、控制器或其他信号处理装置可以是这里描述的那些或除了这里描述的元件之外的一个。由于组成方法(或计算机、处理器、微处理器、控制器或其他信号处理装置的操作)的基础的算法被具体描述,所以用于实现方法实施例的操作的代码或指令可将计算机、处理器、控制器或其他信号处理装置转换成用于执行这里描述的方法的专用处理器。

根据一个或多个前述实施例,存储器装置和用于操作存储器的方法可基于与被集中访问的行的邻近(或接近)的程度来设置多个邻近区域。然后,可对设置的邻近区域不同地执行照顾操作。因此,可根据邻近区域被干扰的程度来执行优化的照顾操作。

示例实施例已在这里被公开,虽然采用具体术语,但它们仅在通用和描述性意义上被使用和解释,而不为了限制的目的。在一些实例中,如截至本申请提交的本领域技术人员将清楚的,除非另外指示,否则与具体实施例相关进行描述的特征、特性和/或元件可被单独使用或与关于其他实施例进行描述的特征、特性和/或元件组合使用。因此,在不脱离实施例的在权利要求书中阐述的精神和范围的情况下,可做出形式和细节上的各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1