基于所存储的行锤击阈值的值的行锤击监视的制作方法

文档序号:8417616阅读:413来源:国知局
基于所存储的行锤击阈值的值的行锤击监视的制作方法
【技术领域】
[0001]本发明的实施例总地涉及存储器管理,并且更具体地涉及基于所存储的经编程的值来监视行锤击事件。
[0002]版权声明/许可
本专利文档的公开内容的部分可能包含受版权保护的材料。版权拥有者不反对任何人对本专利文档或本专利的公开内容的复制,因为其出现在专利商标局的专利文件或记录中,但在其它方面保留所有任何版权权利。本版权声明适用于下文描述和在此的附图中的所有数据,以及下文中描述的任何软件:版权所有?2012年,英特尔公司,保留所有权利。
【背景技术】
[0003]随着计算技术的发展,计算设备更小并且具有更多的处理能力。另外,它们包括越来越多的存储设备和存储器以便满足在设备上执行的编程和计算的需求。通过提供具有更高密度的设备来实现设备的不断缩小的大小连同增加的存储容量,其中,在存储器设备中存在越来越多的原子存储单元,但每个原子存储单元具有越来越小的几何形状。
[0004]在最新一代的增加的密度的设备中,间歇性故障已经出现在某些设备中。例如,一些基于现有的DDR3 (双倍数据速率,版本3)的系统在重工作负载的状况下经历间歇性故障。研宄人员已经将这些故障追溯到在存储器单元的刷新窗内对存储器的单个行的重复访问。例如,对于32 nm的工艺来说,如果在64 ms的刷新窗内访问了一行550K次或更多次,那么去往被访问行的在物理上相邻的字线具有经历数据损坏的高可能性。这种状况在DRAM (动态随机存取存储器)工业中被称为“行锤击”(row hammer)或“单行干扰”,该状况在DRAM工业中最频繁地被观察到并将被用于总地描述本文中的状况。行锤击可能导致跨选通门(passgate)的迀移。由对一个行的重复访问导致的泄漏和寄生电流导致非访问的物理上相邻行中的数据损坏。
[0005]然而,本领域的技术人员也理解的是:存储器设备在不同代设备当中、不同制造商的可比较设备当中、以及甚至相同制造商的不同批次当中有所不同。因此,虽然已经观察到重工作负载导致间歇性故障,但没有适用于所有设备的对于“重工作负载”的清楚的定义。因此,没有将行锤击状况清楚地定义为适用于所有设备的一般性参数。
【附图说明】
[0006]下面的描述包括对具有对本发明的实施例实现作为举例而给出的图示的图的讨论。应该作为举例而不是作为限制来理解这些图。如本文中所使用的,对一个或多个“实施例”的提及应该被理解为描述包括在本发明的至少一个实现中的特定的特征、结构或特性。因此,本文中出现的诸如“在一个实施例中”或者“在替代实施例中”的短语描述本发明的各个实施例和实现,并且并不一定都指的是相同的实施例。然而,它们也不一定是互斥的。
[0007]图1A是使用可编程行锤击阈值来监视行锤击状况的系统的实施例的框图。
[0008]图1B是在存储器设备处包括用于根据可编程行锤击阈值来指示检测到的行锤击事件的列/地址信息逻辑和分布式检测逻辑的系统的实施例的框图。
[0009]图2是在存储器设备处包括行锤击检测逻辑和受害者逻辑的系统的实施例的框图。
[0010]图3A是根据来自存储器设备的配置存储设备的阈值来监视行锤击状况的系统的实施例的框图。
[0011]图3B是根据来自存储器模块的配置存储设备的阈值来监视行锤击状况的系统的实施例的框图。
[0012]图4是用于根据可编程行锤击阈值来检测行锤击状况的过程的实施例的流程图。
[0013]图5是用于监视存储器设备的行锤击状况的过程的实施例的流程图。
[0014]图6是支持有目标刷新命令的命令真值表的实施例。
[0015]图7是可以在其中实现行锤击监视的计算系统的实施例的框图。
[0016]图8是可以在其中实现行锤击监视的移动设备的实施例的框图。
[0017]下面是对某些细节和实现的描述,包括可能描绘了下文描述的实施例中的一些或所有实施例的图的描述,以及讨论了本文中呈现的发明构思的其它潜在实施例或实现。
【具体实施方式】
[0018]如本文中所描述的,存储器设备包括对行锤击事件进行监视的检测逻辑。检测逻辑获取针对存储器设备的阈值,该阈值指示时间窗内导致物理上相邻的行上的数据损坏风险的访问的数量。检测逻辑从寄存器获取阈值,所述寄存器存储用于存储器设备的配置信息,并且可以是该存储器本身上的寄存器和/或可以是该存储器设备所属的存储器模块的配置存储设备中的一项。检测逻辑确定对存储器设备的行的访问的数量是否超过阈值。响应于检测到访问的数量超过阈值,检测逻辑可以生成触发以使得存储器设备执行目标为物理上相邻的受害者行的刷新。
[0019]之前标识的用于处理由于行锤击导致的故障的一种方法是限制每行每刷新周期所允许的访问的数量,这在系统中具有性能影响。所标识的用于解决行锤击故障的另一种方法包括:减小埋沟阵列晶体管(buried channel array transistor:BCAT)的底部关键尺寸(BCD),和/或增加沟道长度以改进漏致势皇降低(DIBL)。然而,改变设备的尺寸大小有物理和实际限制。就某些尺寸现在可以改变的程度而言,将仍然需要制造工艺的改变。此夕卜,其留下了如何解决下一代产品中的问题的问题。
[0020]另一种处理行锤击问题的方法是降低刷新之间的时间。然而,即使当设备密度已经增加时,刷新时间也已经保持恒定。要求当前的设备在相同时段内在越来越大的区域上执行刷新。因此,进一步降低刷新时间将导致系统中的性能影响,诸如在存储器设备中需要额外的刷新开销导致系统中的性能影响。
[0021]虽然这些当前提出的用于处理行锤击的方法对具有负面性能影响,但甚至不清楚将需要做出什么样的处理变化,或者将需要改变多少刷新时间来总地解决行锤击。存储器控制器制造商和存储器设备制造商通常不是相同的实体。大多数存储器控制器制造商想要制作可以与来自不同设备制造商的存储器设备交接的控制器。然而,当前提出的方法将存储器控制器固定到来自单个制造商的特定批次的存储器设备,否则仍然将存在行锤击的风险。
[0022]本文中所描述的系统可以提供用于监视和解决行锤击事件的活动运行时机制,而不是做出设计改变或改变存储器设备的操作参数。可以根据存储在存储器设备中和/或存储在包括多个存储器设备的存储器模块上的经编程的配置值或其它阈值的值来活动地执行监视。在一个实施例中,存储器控制器监视对存储器设备的每次访问,以确定对任意行的访问的数量是否导致行锤击状况。可替代地,监视逻辑可以分布到存储器设备和/或存储器模块。不管监视机构位于何处,其根据从存储位置获取的所存储的阈值的值来执行监视。如下面更详细描述的,当基于所获取的阈值的值检测到行锤击状况时,检测逻辑可以触发行锤击刷新或有目标刷新。
[0023]行锤击阈值的存储认识到以下事实:行锤击限制将跨存储器设备供应商并且也跨相同供应商或制造商的不同批次有所不同。另外,存储器设备已经历史性地进展到增加存储器设备的密度的新的工艺技术。没有理由相信该趋势将在不远的未来停止。鉴于行锤击状况是存储器密度问题,向新的工艺技术的进展也将改变存储器设备的行锤击限制或阈值。用较新的设备来替换存储器设备是普遍的,较新的设备由于上述任意原因可能具有不同的行锤击事件阈值。存储阈值并在监视中使用该阈值使得存储器子系统能够跟踪该存储器子系统中存在的设备所特有的行锤击。
[0024]因此,存储器控制器可以跟踪对行的访问的数量(跟踪行锤击),并向该存储器设备发出命令以便刷新目标相邻行。在一个实施例中,阈值信息存储在存储器设备(例如,DRAM)本身上的寄存器上。例如,这样的信息可由制造商或设备测试者来熔丝。在一个实施例中,该值作为字段存储在配置寄存器中,其在确定其特性之后被写入存储器模块(例如,DIMM (双列直插式存储器模块)),或被写入特定的存储器设备。
[0025]将理解的是:信息的存储可以以多种不同方式中的任意方式来执行。在一个实施例中,在设备和/或存储器模块中对信息进行编码。例如,三比特码可用于提供阈值限制。可以通过存储器控制器供应商、存储器设备供应商、不同的第三方或它们的某种组合达成一致的任意方式来建立编码。下面是可以对编码进行配置的不同方式的示例。编码示例1:000 -没有限制;001 - 500K ;010 -400K ;011 - 300K ;100 - 250K ;101 - 200K; 110-150K ;111 -1OOKo 示例 2:000 - 100K 或者没有定义;001 - 150K ;010 - 200K ;011 -250K ;100 - 300K ;101 - 400K ;110 - 450K+ ;111-未知的RH限制。本领域的技术人员将理解:这些示例中使用的具体值实际上存在无数的变化。因此,这些示例意在说明编码,但不应被理解为限制性的。
[0026]本文中提供的示例主要针对DRAM讨论了行锤击问题。然而,将理解的是:行锤击问题更通常是随着存储器密度增加而出现的存储器设备缩放问题。因此,针对DRAM的描述将被理解为可应用于包括存储器控制器或等效逻辑的其它存储器技术的非限制性示例。本文中描述的有目标刷新命令与多种存储器技术中的任意存储器技术兼容,这些存储器技术诸如DDR4 (双倍数据速率版本4,在本申请提交时是开发中的规范)、LPDDR4 (低功率双倍数据速率版本4,在本申请提交时是开发中的规范)、或者WIDE1 (在本申请提交时是开发中的规范)。行锤击状况限制信息的存储同样与其中存储器设备可以在其自身上存储配置信息和/或存储器模块存储配置信息的任意存储器技术兼容。
[0027]图1A是使用可编程行锤击阈值来监视行锤击状况的系统的实施例的框图。在一个实施例中,所存储的阈值的使用可以被称为可编程行锤击阈值。系统100包括耦合到存储器控制器120的存储器设备110。存储器设备110可以包括具有相邻行的存储器单元的任何类型的存储器技术,其中,数据是经由字线或等价物可访问的。在一个实施例中,存储器设备I1包括动态随机存取存储器(DRAM)技术。
[0028]存储器设备110包括存储器阵列112,其表示存储器的一个或多个逻辑和/或物理群组(其可以包括排、组和/或其他成群组)。虽然没有在系统100中特别示出,但存储器阵列112可以包括作为时间窗内重复访问的目标的一个或多个行。这样的行遭受行锤击状况。在许多现代存储器设备中,半导体布局的架构导致一个或多个物理上相邻的行具有遭遇损坏的风险。由于行锤击状况而导致的具有遭遇损坏的风险的一个或多个行在本文中被称为受害者tx。
[0029]存储器设备110包括列逻辑114和行逻辑116,其用于对向存储器阵列112内的适当存储器位置的访问指令进行解码。不要求行和列的数量相等,并且,实际上它们通常是不相等的。存储器控制器120通过命令总线(例如,命令/地址(C/A)总线)向存储器设备110发送命令或指令,该命令或指令随后由存储器设备110解释。存储器设备110对命令信息进行解码以便在存储器中执行各种访问功能,并经由列逻辑114和行逻辑116对地址信息进行解码。逻辑使用列地址选通或信号(CAS)与行地址选通或信号(RAS)的组合对存储器中的特定位置进行访问。可以根据已知的存储器架构或其衍生物来实现存储器的行。简而言之,存储器的行包括一个或多个可寻址列的存储器单元,如由列逻辑114生成的CAS所标识的。行是经由由行逻辑116生成的RAS可寻址的。
[0030]在一个实施例中,存储器设备包括配置118。在一个实施例中,配置118存储在存储器设备118中。可替代地,配置118表示与存储器设备110相关联的配置,其存储在不同于存储器设备110中的某处。配置118可以存储在寄存器设备或存储器设备中的其它存储设备中。
[0031]系统100包括检测器130,其表示使系统100能够检测行锤击事件或行锤击状况的硬件和/或软件或其它逻辑。可以存在用于检测行锤击状况的多种不同机制。系统100经由检测器130来检测行锤击状况,检测器130在一个实施例中包括用于监视对存储器的所选择行的访问的表格或日志。因此,检测器130可以确定存储器阵列112的行何时在阈值时间段内经历重复的访问。检测器130可
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1