CN108369820A - Dram相邻行干扰缓解 - Google Patents
Dram相邻行干扰缓解 Download PDFInfo
- Publication number
- CN108369820A CN108369820A CN201680071734.6A CN201680071734A CN108369820A CN 108369820 A CN108369820 A CN 108369820A CN 201680071734 A CN201680071734 A CN 201680071734A CN 108369820 A CN108369820 A CN 108369820A
- Authority
- CN
- China
- Prior art keywords
- data word
- data
- counter
- row address
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4078—Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40626—Temperature related aspects of refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/025—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/06—Acceleration testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0403—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals during or with feedback to manufacture
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
- G11C29/789—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Dram (AREA)
Abstract
本发明涉及缓解DRAM集成电路中的行锤(row hammer)攻击。公开了用于具有适度开销的嵌入式目标行刷新(TRR)解决方案的装置和方法。在操作中,它对用户来说几乎是透明的。除了通过模式寄存器启用以及平均刷新率增加近似1%的一半外,不需要其他用户操作。伴随着ACTIVE命令的行地址流被监测和过滤,以仅跟踪以危险速率出现的地址并拒绝以低于危险速率出现的地址。
Description
相关申请的交叉引用
本专利申请要求2015年10月21日提交的美国临时申请62/244,494的优先权,该申请据此全文以引用方式并入本文。
技术领域
本发明涉及动态随机存取存储器(DRAM)集成电路中的数据干扰漏洞。具体地讲,它涉及通过故意在系统DRAM存储器中引起行干扰(也称为“行锤击”)来缓解对计算系统的攻击。
背景技术
在存储器技术中,“干扰”是指存储器阵列中的一个或多个存储器单元中的数据丢失。这可能由环境因素中的许多原因造成,诸如由α粒子或其他电离原子产生的辐射以及电源故障。它们也可能因为对同一阵列中的一个或多个其他存储器单元的操作而发生。大多数存储器中都会发生干扰。失效机理可能在不同技术(例如,DRAM、SRAM、闪存等)之间有所不同,并且可能在不同制造商之间有所不同,甚至在同一制造商的相同技术的不同工艺代之间有所不同。
DRAM技术的特点之一是通过在每个存储器单元中的电容器上捕获一定数量的电荷来存储数据。对存储器单元的存取具有破坏性,意味着必须读取一行中所有单元中的数据,然后将数据重写到这些单元中以便在取消存取该行之前将电荷水平恢复到其原始状态。因此,读存取实际上是读-恢复操作,并且写操作实际上是读取-修改-恢复操作。
在大多数应用中,使用DRAM控制器来管理DRAM操作细节的复杂度。如果一行存储器单元在操作过程中不能被周期性存取,则这些存储器单元中的电荷可能漏掉而导致数据丢失。DRAM控制器负责通过以足够的频率向DRAM发出刷新(REF)命令来对此进行管理,在该频率下,每个存储器单元在指定的刷新周期期间至少经历一次读取-恢复操作。
在最近几代的DRAM器件中,已经发现了一种称为“行锤击”(row hammering)的干扰机制,其可被试图潜入计算机系统并获得访问权和/或控制权的恶意人员(以下称为“攻击者”,并且通常俗称为“黑客”)利用。这个漏洞是由于当前代的DRAM中更小、更密集包装的存储器单元产生的。由于字线在物理上比前几代更接近,所以相邻字线之间的电容耦合增大。重复激活字线(“目标行”)导致在两个相邻字线(“受害行”)上反复部分激活。这又导致受害行上的单元发生电荷丢失,这会导致一些单元在该行的下一次刷新之前丢失其数据。这种被称为“双重锤击”的变化是一种攻击,其中单个受害行的任一侧上的两个目标行被重复存取,从而更快速地引起干扰。
通常将DRAM集成电路组织成存储体,其允许命令在不同时间被基本上并行地导向不同存储体,从而允许在存储器的不同部分中执行多个同时操作。典型地,为了对存储体执行存取操作(读取或写入),通过对该存储体发出行激活命令(ACT)并指定该存储体中的特定行地址来激活(或“打开”)该行。这允许在位于该行的存储器列地址执行连续的读取和/或写入操作。当对一行的存取完成时,必须通过向该存储体发出预充电命令(PRE)或通过一次向所有存储体发出预充电全部命令(PREA)来将该行停用(或“关闭”-也称为预充电)。
行锤击可能涉及将ACT命令和具有自动预充电命令(RDA)的读取的重复对发布到试图改变相邻受害行中的一行中的数据的特定目标行(或多个行)。RDA命令对该行执行正常读取命令(RD)与紧随其后的预充电(“自动预充电”)的组合。这可能是用来执行行锤攻击最快的方法而不会明显(因此不容易检测到),因为没有读或写操作的一系列ACT和即刻PRE命令将没有合法的用途。
这是一种有效的攻击方法,因为通常可以将一个或多个存储页面(在现代系统中通常是四个千字节)存储到单个行中,从而允许处理器一次存取一个或多个完整页面。因此,存取特定页面导致的行干扰将发生在一个完全不同的存储页面中t——这就是问题所在。
在大多数现代操作系统(OS)中,主存储器通常是虚拟化的。这意味着每个页面都有一个与DRAM中的物理位置相对应的“物理地址”,和一个“虚拟地址”,该地址被操作系统和用户应用程序操纵以模拟更大的连续存储空间。操作系统维护着一个“页表”,它跟踪每个虚拟页面与其物理对应物之间的转换。存储器中的每个页面在页表中都有一条数据记录,称为页表项(PTE)。由于PTE也存储在主存储器中,因此容易受到行锤击攻击。
通常,不同的页面具有不同的权限级别(例如,存取该页面所需的用户安全级别)。因此,攻击者可以启动一个非特权应用程序,该应用程序运行行锤击攻击,这反过来会破坏没有任何存取权限的存储器位置中的数据。这些位置可能属于另一个应用程序,甚至可能属于操作系统本身。这会造成违反安全规定。一旦违规发生,攻击者可以使用超出本公开范围的各种技术来获得系统的访问权和/或控制权。
最近一篇基于卡内基梅隆大学和英特尔公司联合进行的研究的论文FlippingBits in Memory Without Accessing Them:An Experimental Study of DRAMDisturbance Errors(在不存取存储器的情况下翻转存储器中的位:DRAM干扰错误的实验研究),Yoongu Kim等人,IEEE第41届计算机体系结构国际研讨会,2014年6月(以下简称Kim)分析了该问题并提出了七种可能的解决方案:[1]制造更好的存储芯片,[2]通过纠错编码(ECC)纠正错误,[3]更频繁地刷新,[4](由制造商)报废弱单元,[5](由最终用户)报废弱单元,[6]识别目标行并刷新其邻居,以及他们提出的解决方案[7]概率性相邻行激活;该论文据此全文以引用方式并入本文。
Kim解决方案[3]提高了刷新率,是目前常规的方法。在大多数目前代的系统中,刷新频率加倍将消除这个问题,方法是确保在行锤击攻击可能对单元电荷造成足够的损坏以产生错误之前刷新每行。虽然这具有简单性的优点,但它需要增加系统功率,这在数据中心应用(由于高功率密度)和电池供电的设备诸如手机、平板电脑和膝上型计算机中是不期望的(电池寿命长是主要卖点)。它还会降低系统性能,因为额外的刷新周期会降低存储系统带宽。
Kim解决方案[1]是设计更好的存储器。主要的DRAM制造商已经尝试改进他们的存储器设计,取得了一些成功。例如,2014年8月的JEDEC LPDDR4(低功率双倍数据速率4)SDRAM标准,JESD209-4(以下称为JEDEC LPDDR4)包括称为“目标行刷新”(TRR)的可选功能;该文献据此全文以引用方式并入本文。如果执行TRR,LPDDR4部分由制造商测试以确定该特定部分的最大激活计数(MAC),MAC是在行锤击可能导致存储器干扰之前,单个行中可以容忍的刷新周期之间重复ACT和PRE(或PREA或RDA)命令的数量。
存储器控制器或操作系统必须跟踪已发布到每个行的行激活次数来确定是否已达到MAC限制。然后,在进入TRR模式以对目标行及其相邻两个邻居执行三次连续刷新之前,必须将该部分置于其空闲状态(通过对所有存储体预充电)。由于存储器控制器只知道目标行,因此SDRAM片上TRR电路通过内部识别两个受害行来进行协助并处理其对控制器的寻址。这给存储器控制器和/或操作系统软件带来了很大的负担,因此明显增加了设计安全系统的复杂性。
虽然TRR不是2012年9月的JEDEC DDR4(双倍数据速率4)SDRAM标准,JESD79-4(以下称为JEDEC DDR4)的一部分,但主要DRAM制造商已将TRR实现并入其最新的DDR4产品中;上面的文献据此全文以引用方式并入本文。
例如,Micron Technology在其DDR4部件中提供了与LPDDR4特性类似(但不完全相同)的TRR电路。Micron声称,虽然提供了该电路,但通常不需要,因为大多数测试部件都没有漏洞。遗憾的是,系统设计人员大部分时间都需要处理并非所有情况,实际上,这与LPDDR4解决方案类似。
SK Hynix在其最新的DDR4产品中也提供了TRR电路,与LPDDR4和Micron解决方案类似(但不完全相同)。这也有同样的缺点。另外,由于这些TRR电路没有标准化,所以系统设计人员现在必须考虑其DRAM来自哪家制造商,并且包括适用于两者的适当算法。
三星公司提供第三种解决方案,称为“伪TRR”,但细节尚未公开。三星公司声称,伪TRR和刷新率翻倍的组合将解决行锤击问题,这表明他们对该问题的答案是将Kim解决方案[1]和[3]组合。
Kim解决方案[2]使用纠错码(ECC),其价格昂贵并且具有限制。目前ECC仅用于数据中心和企业级存储器模块,对于大多数消费者系统来说太昂贵了。ECC SDRAM模块通常使用Hamming单错纠正双错检测(SECDED)代码。Kim研究指出,行锤击攻击经常会在典型的64位DRAM数据字中造成多重错误,并且SECDED不足以单独解决问题。可以使用更强的纠错码(例如,Reed-Solomon、二进制BHC等),但是它们需要大量计算,耗费大量时间、功率、额外的存储器单元(来为每个数据字保留奇偶校验位)以及硅面积才能实现。这使得它们不适合用于快速系统存储器应用,而且对于低性能系统而言较昂贵。
ECC的另一个问题是,为了纠正错误,必须从DRAM中读出数据(可能在刷新周期期间)、解码、纠正、重新编码,然后写回到存储器单元中。这会花费比正常刷新周期更长的时间并且进一步增加功率,同时降低存储器带宽
该Kim论文对解决方案[4]和[5]相当不赞成。它指出,解决方案[4]让制造商在发货前就报废受害行,这由于测试时间和潜在的备用行数量而是不切实际的。Kim也观察到,让用户报废受害单元的解决方案[5]只会给系统设计者带来同样的负担,系统设计者必须在处理时间和可用存储器方面花费大量成本来寻找并替换在系统级执行类似操作的坏存储器行。
Kim也不赞成解决方案[6],该解决方案要识别目标行并刷新其邻居。由于对存储器芯片中的每一行都有存取频率计数器是不切实际的,因此必须使用复杂的算法、搜索和近似,并且这些会产生许多误中,需要许多不必要的额外刷新周期。
Kim赞同解决方案[7],概率性相邻行激活,其具有简单和低开销的优点,但并非没有缺点。这种方法是在每个激活和预充电对之后执行“偏性抛币”。因此随机地(Kim建议近似采取每千行中激活一行)激活两个相邻行中的一行,然后进行预充电(相当于对该行的刷新)。可能需要成千上万次行激活才会产生错误(根据Kim,50,000次,或者根据JEDECLPDDR4,200,000或更多次)。因此,一个多次被瞄准的行可能具有很高的可能性来使两个邻近的受害行在锤击攻击成功引起干扰错误之前很长时间就被刷新,因此导致可以针对特定系统调整的可接受的低错误率。
像大多数其他解决方案一样,概率性相邻行激活的缺点在于它对存储器控制器和/或软件带来了负担,并且需要存储器制造商通常不会提供并且在将来也可能不愿意提供的邻居信息。Kim提出了一种可能的解决方法,就是对行之间的邻接关系进行有根据的猜测,但这会增加所需的开销(由于当有根据的猜测错误时会进行不必要的刷新),同时降低结果的质量(因为可能错过真正的受害行)。而且,许多工程师更喜欢实现确定性的硬件和/或软件(和/或管理者可能要求他们这样做),并且可能发现概率性相邻行激活的非确定性性质是不可接受的。
因此,非常希望提供一种对行锤击问题的解决方案,该解决方案对存储器控制器和/或软件基本上是透明的,并且在内部以非常少的开销以及存储器控制器或操作系统的最少参与来处理对DRAM的发布。
附图说明
图1示出了根据本发明的实施方案的DRAM集成电路。
图2示出了根据本发明的实施方案的计算。
图3示出了根据本发明的实施方案的FIFO CAM。
图4A至4D示出了根据本发明的实施方案的FIFO CAM的操作。
图5示出了根据本发明的实施方案的BBR CAM。
图6A至6H示出了根据本发明的实施方案的BBR CAM的操作。
图7示出了根据本发明的实施方案的BBR CAM中的行数量分配的抽象概念。
图8A至8C示出了根据本发明的实施方案的对BBR CAM中的任期计数器的需求。
图9示出了根据本发明的实施方案的BBR CAM中的行数量分配的抽象概念。
图10示出了根据本发明的实施方案的目标行刷新队列。
图11示出了根据本发明的实施方案的在FIFO CAM和BBR CAM中的行分配。
具体实施方式
本领域的普通技术人员将认识到,本发明的示例性实施方案和方法的附图和描述仅是例示性的而不是以任何方式进行限制。在阅读本公开之后,其他实施方案将容易地出现在这些技术人员的心中。
图1示出了根据本发明的DRAM集成电路100。DRAM 100包括多个主要功能块:全局命令路径110、全局地址路径120、存储体地址路径130、存储体数据路径150、全局TRR路径160、模式寄存器180和NVM块190。本领域的技术人员将会理解,在DRAM集成电路100上存在未在图1中示出的许多其他电路,例如全局数据路径,为了避免过分复杂化本公开而省略了这些电路。
需注意,在DRAM术语中,不同电路组通常被称为具有特定功能的“路径”。这是因为所有这些“路径”最终都会通向最终存储数据的存储器单元阵列。这是讨论常常位于多个物理位置和组织层次结构中的多个层级的功能的一种便捷方式。例如,在图1中,存在全局地址路径120和存储体地址路径130。每条路径中的全局电路中的功能块通常在DRAM中仅实例化一次,而存储体电路中的功能块通常为每个存储体实例化一次。
回到图1,全局命令路径110是命令电路,其处理到DRAM 100的时钟和命令输入,并生成控制其他功能块所必需的信号。图1中仅显示少量功能子块,以避免过分复杂。由于相对于差分时钟信号CK和CK#执行操作,所以DRAM 100是同步DRAM(SDRAM)。需注意,这里使用“#”符号来表示在低或逻辑0状态下有效的信号和/或在其他信号的逻辑补码。这里CK#是CK的逻辑补码。
监测命令输入信号,并且可以根据DRAM 100的设计细节,在控制输入块112中的上升和/或下降时钟边缘(或转换)处捕获命令输入信号。其他信号,例如用于存储体、块和行地址信号的地址输入,也可以在CK和CK#的一个或多个有效边缘上捕获,尽管为了避免过分复杂,这些信号和连接中的许多信号并没有明确地在图1中示出。
命令解码器114可以接受来自控制输入112的捕获的命令输入信号并将它们转换成用于DRAM 100的正确操作的各种内部控制信号。虽然通向刷新控制逻辑116和FIFO CAM162的连接被明确地示出并将在下面讨论,但为了避免过分复杂,图1中未示出许多其他连接。
刷新控制逻辑116可以由命令解码器114控制,并且继而可以控制刷新计数器118。明确示出了从目标行刷新队列172到刷新控制逻辑116的连接,并将在下面进行讨论。
通常,响应于呈现给控制输入112并由控制解码器114命令的定期刷新操作,SDRAM器件诸如DRAM 100以由刷新计数器118的设计细节确定的顺序循环通过所有可寻址行。从刷新计数器118到多路复用器134和BBR CAM 164的连接被明确地示出并将在下面进行讨论。DRAM部件通常包括多个存储体,其中在正常刷新操作期间,每个存储体中的相同行位置被同时刷新。
根据存储器的大小,在单次刷新操作期间可以刷新多于一个行位置。通常,业界普遍认为,每行需要在85℃以下平均每64毫秒(ms)刷新一次,或者在85℃以上每32毫秒刷新一次。因此,要在低于85℃的温度下以及在具有8,192行(或多组行)的部件中刷新,必须平均每7.8微秒(μs)发出刷新命令,或者在高于85℃的温度下每3.9ms发出刷新命令。这是存在于许多代产品的DRAM数据表上的众所周知的规格(tREFI)。
全局地址路径120可监测并捕获相对于地址输入122中的CK和CK#的存储体、块和行地址输入。地址输入122然后将捕获的地址呈现给需要这些地址的地方。在正常操作中,这通常是地址逻辑124。
典型地,DRAM被分成多个存储体以允许基本上同时发生并行操作。存储体地址输入包括许多位,在图1中由A1表示。每个存储体通常分成若干块,这些块通过A2代表的单独位数寻址。此外,每个块通常将包括通过图中A3表示的第三位数寻址的许多行。
在最近几代SDRAM中,有八个存储体,这意味着A1=3。DDR4则明显不同,它有16个存储体,A1=4。A2和A3的值根据存储器的大小(其与存储器单元的数量、块的数量以及它们在行和列方面的内部组织有关)而变化。因此A2和A3因部件而异,通常被制造商视为专有信息。本发明的优点在于它提供DRAM 100内部的出色TRR解决方案,使得制造商可以将这些设计细节作为专有信息保留。
回到图1,可以在DRAM 100中多次实例化存储体地址路径130,典型地每个存储体一次。尽管存储体地址路径130中存在许多子块,但图中仅示出了存储体行解码器132和多路复用器134以避免过分复杂。
存储体行解码器132可以用于在块和行地址位与存储体中的要存取的实际物理行之间进行转换,而存储体地址位用于选择哪个存储体用于该操作。多路复用器134可以选择块和行地址位的源。例如,对于正常读取或写入操作,源可以是地址逻辑124,并且对于正常刷新操作,源可以是刷新计数器118。下面将讨论源可以是目标行刷新队列172的情况。
存储体数据路径150可以在DRAM 100中多次实例化,每个存储体中至少一次。尽管存储体地址路径150中存在许多子块,但图1中仅示出了存储器阵列152和位线/读出放大器(BLSA)电路块154,以避免过分复杂。存储器阵列152包括组织在可寻址块、可寻址行和可寻址列中的存储器单元,其中通过读取、写入和刷新操作来存储和存取数据。BLSA电路与可寻址列耦接,并提供存储器阵列152和数据路径的其余部分(图1中未示出)之间的模拟连接,在定期存储器存取期间数据会通过该连接。这些电路的细节在本领域中是公知的,并且不需要进一步详细描述。可寻址块和可寻址行可以由存储体行解码器132唯一地选择,可以使用该存储体行解码器选择用于存取或刷新操作的特定可寻址行。
全局目标行刷新(TRR)路径160包括子块FIFO CAM 162、BBR CAM 164、TRR逻辑166、观察列表计数器168、任期计数器170和目标行刷新队列172。一般而言,该块可监测解码器114以检测激活(ACT)命令的到达,并且监测地址输入122以检测相关联的活动行地址序列的到达。全局TRR路径160提供两级过滤器,该过滤器监测活动行地址序列的到达,检测以比预定的最大安全速率更频繁的速率到达的活动行地址,跟踪那些检测到的活动行地址的出现次数,并且如果该特定活动行地址的出现次数超过预定的安全最大出现次数,则请求针对该特定活动行地址的特殊刷新操作。由此,避免了在特定地址进行过多的行激活(与作为行锤攻击目标的地址一致),并且过滤掉了不太频繁出现的地址(与不是行锤攻击目标的地址一致)。
模式寄存器180包括多个子寄存器,这些子寄存器包含用于DRAM100的控制数据。这些数据由存储器控制器通常在从双列直插存储器模块(DIMM)应用中的串行存在检测(SPD)器件读取它们之后加载,或通常由其他应用中的软件或固件加载。在大多数DRAM器件中,都保留有未定义的位或者整个未定义的寄存器,以供将来在相关标准中使用。这些可用位中的一些可用于控制各种特性,诸如启用或禁用全局TRR路径160或确定各种存储器诸如FIFO CAM 162和BBR CAM 164的深度。
模式寄存器180耦接到地址逻辑124,并且其中存储的数据通常经由地址输入被加载。它还耦接到TRR逻辑166,使得模式寄存器180的内容可以启用控制和/或全局TRR路径160。本文描述的用于全局TRR路径160的各种控制参数也可以被存储在模式寄存器180中。来往于模式寄存器180的很多连接已经从图1中省略,以避免使本公开过分复杂化。
非易失性存储器(NVM)块190存储DRAM 100的操作中使用的各种信息。例如,NVM块190中的许多位控制在测试之后但在部件从制造商出货之前被禁用的测试功能。其他位用于调整多个内部设计参数,例如,调整来内部稳压器的输出端的内部电压电平,调整关键电路的延迟值以最大化功能和/或良品率,或用冗余的行和/或列更换故障行和/或列以将损坏的部分与坏的存储器位一起转换成功能完整的部分等。用于实现NVM模块190的非易失性技术的确切性质在本领域是公知的。通常,它可以使用熔丝来实现,尽管可以使用在电源断开连接时保留数据的任何技术,诸如例如闪存、EEPROM、熔断晶体管栅极氧化物、反熔丝等。
存储在NVM块190中的信息通常由制造商定义并且对用户是透明的。本文描述的用于全局TRR路径160的各种控制参数也可以被存储在NVM块190中。组合地,模式寄存器180和NVM块190可允许制造商和最终用户(如果制造商允许的话)两者控制全局TRR路径160的功能的各方面。
图2示出了根据本发明的实施方案的计算200,其包括公式202至214。为了评估任何特定设计的行锤问题,需要一些经验数据和一些分析。计算200仅是示例性的,并且本领域的技术人员将容易认识到,对于本发明的不同实施方案,不同的假设会产生不同的结果。
参数tRC通常是行内普遍知道的重要SDRAM数据表参数,被称为“行周期时间”或有时称为“ACTIVATE-ACTIVATE”命令周期。它通常可以表示为两个其他参数tRAS(ACTIVATE-PRCHARGE命令周期)与tRP(PRECHARGE命令周期)之和。该值可以表示一行可能被打开然后关闭的最短时间段。因此tRC的最低值可以是行锤击攻击的最坏情况,并且可以确定在刷新周期期间可以尝试的行锤攻击存取的次数。
在公式202中,对于该示例性计算,最坏情况tRC将被假定为44.5纳秒(ns),其对应于Micron Technology最新4Gb DDR4产品MT40A1G4xx-0xxE、MT40A512M8xx-0xxE和MT40A256M16GE-0xxE的数据表中的最短tRC(用于最快的仓)。
公式204示出了从如上所述的64ms刷新周期时间和8,192个刷新周期进行的tREFI=7.8μs的示例性推导。
公式206示出了NHAMMER(最大值)的示例性推导,其被定义为64ms刷新周期中可能的行开启和关闭的最大数量除以最小行存取时间tRC(最小值)(这里假定为44.5ns),这产生大约1.44e+6(144万或1,440,000)次行周期事件。需注意,对于85℃以上的较高温度,由于tRC基本保持不变时更高的存储器单元泄漏,刷新率实际上翻倍了。因此,公式206的分子中的64ms在高于85℃的情况下变为32ms,这意味着NHAMMER(最大值)的值减半,使公式206中的用于85℃以下的情况的值是最坏情况。
公式208显示了示例性假设NWC(最小值)=200,000,这是Micron DDR44 Gb数据表和JEDEC LPDDR4标准两者中的最坏情况(例如最低)最大存取计数(MAC)(例如,在行锤损坏可以发生之前的行存取次数或周期数)。这是用于为最容易受到行锤击的部分设计的阈值的一个合理值。
公式210表示本发明的实施方案的示例性设计目标。由于NWC(最小值)是单行可以容忍的刷新之间的存取次数,那么可以通过两行来执行双行锤攻击,其中每行各执行一半的存取。为了避免跟踪目标行对(比单个目标行更多地涉及到),使用最坏情况MAC的一半是有意义的,这样双行攻击就如同单行攻击那样被捕获。因此,对于示例性计算,假定NWC=100,000(=1.00e+5)是合理的。本领域的技术人员将认识到,其他假设、数据或竞争设计目标将导致不同实施方案中NWC的不同值。
公式212示出了对刷新周期期间可能发生的可能行锤击攻击的最坏情况数量NTRR(最大值)的示例性推导。在这个示例性计算中,NTRR(最大值)=15(14.4算到最接近的整数),这意味着在64ms刷新周期中只有最多15次行锤攻击的时间。本领域的技术人员将会理解,该计算仅仅是示例性的,不同的假设会导致不同的结果,可能引入其他假设和因素,并且对于任何特定的DRAM实施方案,所使用的假设可能是不同的并且适于那个特殊的情况。
因此,在图2的计算中的假设的最坏情形下,只有NTRR(最大值)或者15个目标行需要在任何完整的刷新周期期间被监测,只要它们是正确的15行。由于每次存取目标行时都会进行有效刷新,因此只有相邻的受害行需要特殊的刷新周期。如示例性公式214中所推导的,在完整的8,192个操作刷新周期期间额外的30次刷新操作仅占开销的0.4%,这与常规解决方案中将刷新率(100%开销)加倍相比,是非常适中的代价。
公式202到214中计算的各种参数是针对特定的一组预期条件预定的。优选的是,一旦全局TRR路径160运行,这些参数就不会改变。如果需要改变,最好停止DRAM 100的操作,刷新所有存储体中的所有行,更改任何所需参数,执行全局重置,然后重启操作。
为DRAM 100中的每行提供计数器以仅跟踪具有高存取速率的行在硅芯片面积方面是不切实际的。因此,需要对伴随激活(ACT)命令的行地址流进行过滤,以筛选出没有足够频繁地激活以致需要在正常刷新周期之外进行额外刷新的行。
图3示出了图1所述根据本发明的实施方案的FIFO CAM 162,它用作第一级行地址过滤。FIFO和CAM存储器在本领域中都是已知的;FIFO CAM存储器体现了这两者的显著特点。
FIFO是先入/先出存储器。数据作为一系列数据字被写入FIFO中。数据然后以一系列数据字按照它们原始写入的顺序从FIFO中读出。有许多类型的FIFO具有本领域已知的各种特性和实现方式。FIFO CAM162的FIFO部分的具体实现方式是设计选择问题。
CAM是内容可寻址存储器。在典型的CAM中,数据字可以像在典型SRAM(静态随机存取存储器)中那样被写入存储器中的特定地址或从存储器中的特定地址读取。在比较模式下,CAM通常在数据输入端口呈现一个数据字,并对存储器内容进行评估,以确定所呈现的数据是否已经驻留在存储器中。在FIFO CAM 162中,由电路的FIFO部分处理数据读取和写入,而CAM部分将输入数据字与当前内容进行比较,以确定在其被呈现给FIFO CAM 162以供写入时是否存在匹配。有许多类型的CAM具有本领域已知的各种特性和实现方式。FIFO CAM162的CAM部分的具体实现方式是设计选择问题。
回到图3,FIFO CAM 162包括FIFO逻辑310、多个(Ni)地址条目312、多个(A1+A2+A3)地址输入314、多个(A1+A2+A3)地址输出316、CAM逻辑320、多个(Ni)匹配标记322,以及匹配标记输出324。
多个地址条目312可以被认为是Ni字深和(A1+A2+A3)位宽的移位寄存器,尽管许多不同的具体实施是可能的并且落入本发明的范围内。Ni的值取决于实施方案并且是设计选择问题。在一些实施方案中,可以在测试集成电路100之后对该值进行编程和选择。通常,出于下述原因而需要Ni=2*NTRR(最大值)+1的最小值。因此在所述的示例性实施方案中Ni≥31,因为NTRR(最大值)=15。本领域的技术人员将认识到,可以在特定实施方案中调整为Ni选择的值以实现其他设计目标。
FIFO逻辑310耦接到命令解码器114,如图1所示。每当ACT命令可被呈现给DRAM100时,来自地址输入122的对应行地址可被呈现给地址输入314以写入地址条目1中。同时,地址条目1的先前内容可以被移位到地址条目2中,地址条目2的先前内容可以被移位到地址条目3中,以此类推,直到并且包括地址条目Ni-1的先前内容可以被移位到地址条目Ni中。Ni=2*NTRR(最大值)+1的“+1”部分的原因是地址条目Ni-1的先前内容(现在在最后的地址条目Ni中)可以在从FIFO中收回之前由CAM逻辑320与地址条目1中的新条目进行比较。
图4A示出了根据本发明的实施方案的FIFO CAM 400的操作的抽象概念。在这个示例中,为简化说明,Ni=8。FIFO CAM 400具有八个地址条目实例412、多个地址输入414、多个地址输出416、八个匹配标记422,一个匹配标记与每个地址条目412相关联,以及匹配标记输出424。
图4A示出了最近八个ACT命令之后的FIFO CAM 400的内容。每个ACT命令具有自始至终由地址A、B、C、D、E、F、G和H表示的关联活动行地址。地址H是与当前活动ACT命令相关联的当前活动行地址(CARA)。每个较早的地址A至G是先前的活动行地址(PARA)。当使当前活动ACT命令生效时,地址H被写入地址条目412,而地址A至G中的每个及其相关联的匹配标记422被向下移动一个位置。在移位之后,地址A连同其关联的匹配标记一起从FIFO CAM 400中读出以供进一步处理。由于全部八个地址条目412包含唯一地址,因此当每个地址条目412被存储时,所有匹配标记都被设置为逻辑0。
图4B示出了第九个ACT命令之后的FIFO CAM 400的内容,其中地址B是关联的当前活动行地址。如图4A所示,所有地址B至H及其匹配标记422向下移动一个位置,地址A在最后一个地址条目412中被覆盖,并且地址B(CARA)被写入第一个地址条目412中。由于地址B匹配一个或多个存储的PARA,所以CAM逻辑(图4B中未示出)检测到匹配条件并将这两个条目的匹配标记设置为逻辑1。从FIFO CAM 400中读出地址B的第一个实例及其匹配标记422(现在设置为逻辑1),以便在地址输出416和匹配标记输出424上进一步处理。
图4C示出了第10个ACT命令之后FIFO CAM 400的内容,其中地址B又是CARA。如上文那样,地址条目412及其匹配标记422全部向下移动一个位置。由于地址B与另一个条目匹配,因此这两个条目的匹配标记都被设置为逻辑1。在这种情况下,当匹配标记422已经被预先设置为逻辑1时,它保持逻辑1。在移位和匹配之后,从FIFO CAM 400中读出地址C及其匹配标记,以便在地址输出416和匹配标记输出424上进一步处理。
图4D示出了在第十一个ACT命令之后FIFO CAM 400的内容,其中地址J是关联的CARA。如上文那样,地址条目412及其匹配标记422全部向下移动一个位置。由于地址J与另一个条目不匹配,所以其条目的匹配标记被设置为逻辑0,并且没有其他匹配标记422被改变。在移位和匹配之后,从FIFO CAM 400中读出地址D及其匹配标记,以便在地址输出416和匹配标记输出424上进一步处理。
回到图1中的DRAM 100,来自FIFO CAM 162(第一级行地址过滤器)的地址输出316(图1中未标出)耦接到BBR CAM 164(其充当第二级行地址过滤器)的地址输入。
如上所述,FIFO CAM 162中的地址条目312的数量可以是Ni=2*NTRR(最大值)+1的最小值。对Ni公式的“+1”部分的需要在图4A至4D中示出,也就是说,新条目可以与FIFO CAM 162中的最旧条目相匹配,之后该最旧条目被收回并被发送到BBR CAM 164。对Ni公式的“2*NTRR(最大值)”部分的需要与高效过滤当前和先前活动行地址流有关。如果地址是行锤击攻击的一部分,则它需要平均每NTRR(最大值)个ACT命令出现一次才能有效。具有略多于两倍NTRR(最大值)的地址条目的FIFO CAM 162将捕获在2*NTRR(最大值)个ACT命令内出现两次的活动行地址的所有出现。因此,未足够经常出现以被标记的CARA将被该过滤器的第二级忽略,因为它们的匹配标记未被设置。
图5示出了适合用在DRAM 100中的存储体/块/行地址CAM(BBR CAM)164,其充当地址过滤器的第二级。BBR CAM 164包括随机存取存储器(RAM)逻辑502、CAM逻辑504、多个(Nk)跟踪地址条目506、存储体/块/行地址输入508和存储体/块/行地址输出510。BBRCAM164中的每个跟踪地址条目506具有关联的观察列表计数器(WLC)168和任期计数器(TC)170。
RAM逻辑502和CAM逻辑504由图1的TRR逻辑166控制(5中未示出)。当先前的活动行地址(PARA)从FIFO CAM 162呈现给BBR CAM 164时,TRR逻辑166命令CAM逻辑504寻找与所跟踪的地址条目506中的一个的匹配项。如果发生匹配,则该跟踪地址条目已经被观察列表计数器168监测。在这种情况下,相关联的观察列表计数器168被递增以跟踪PARA自从其上次刷新并且PARA及其相关联的匹配标记被丢弃以来被激活的总次数。这使得BBR CAM 164中的每个跟踪地址条目506的内容保持唯一,使得在任何给定时间,只有一个观察列表计数器168和一个任期计数器170跟踪特定的PARA。
如果来自FIFO CAM 164的PARA与BBR CAM 166中的跟踪地址条目506不匹配,但其匹配标记324被设置为逻辑1,则跟踪地址条目506的内容从BBR CAM 164中收回并被PARA替换,同时关联的观察列表计数器168和用于该跟踪地址条目506的任期计数器170被初始化(在一些实施方案中都被设置为逻辑1)以开始跟踪该PARA,并且关联的匹配标记被丢弃。
如果来自FIFO CAM164的PARA与BBR CAM166中的跟踪地址条目506不匹配,并且其匹配标记被设置为逻辑0,则PARA及其关联的匹配标记被丢弃。以这种方式,该过滤过程的第二级因此忽略了出现次数小于行锤危险率的PARA。因此,由FIFO CAM 162和BBR CAM 164执行的两级过滤仅有效地跟踪可能作为行锤击攻击的一部分的行地址。
图6A至图6G示出了根据本发明的原理的BBR CAM 664及其相关联的观察列表计数器668和任期计数器670的简化抽象概念(总体由附图标记600指示)。在这个特定的示例性情况下,选择值Nk=8(在图5中定义为BBR CAM条目的总数)和另一项的值N任期(最小值)=4(定义为条目必须保留在BBR CAM 664中才有资格被收回的最短任期)。在先前的活动行地址(PARA)条目可以被收回以支持新的PARA之前,其相关联的任期计数器670的值必须超过N任期(最小值)。本领域的技术人员将认识到,根据对图2中的公式202至214的讨论,值Nk=8和N任期(最小值)=4对于实际设计来说可能太小。这并不重要,因为这些图的目的是提供BBR CAM操作的简单易懂的示例,其在其他实施方案中是典型的BBR CAM,例如图1中的BBR CAM 164。
现在转到图6A,BBR CAM 664包括八个跟踪地址条目606和一个PARA地址输入608。该图中的每行620包括单个跟踪地址条目606及其相关联的观察列表计数器668和任期计数器670。每行都有一个唯一的附图标记620-1至620-8(因为在这个示例中Nk=8)。
图6A中的行620-1至620-8的内容示出了BBR CAM 664的初始填充(在例如全局刷新操作之后),其填充一系列八个先前存取的行地址(PARA),按照从第一个到最后一个的顺序是:PARA A、PARA B,一直到PARA H。本领域技术人员将会理解,可以发生其他初始序列,或者BBR CAM 664可以被初始化为这样的状态(通过例如复位逻辑)而不处理初始序列并且所有这些情况都落入本发明的范围内。
由于对于这些行中的任何一行,每个PARA自从最后一个刷新周期起出现一次,因此每个观察列表计数器668中的值为1。由于PARA A是第一个,所以在行620-8中其相关联的任期计数器670具有值8。类似地,由于PARA B是第二个,所以在行620-7中其相关联的任期计数器670具有值7,以此类推,直到PARA H,这是最后一个,并且在行620-1中其相关联的任期计数器670具有值1。
转到图6B,示出了在从图6A的状态开始的多个操作之后,BBR CAM 664及其相关联的观察列表计数器668和任期计数器670的状态。通常,结合图6B至6G描述的操作假设分别从图6A至图6F中示出的BBR CAM 664及其相关联的观察列表计数器668和任期计数器670的状态开始,不同的是图6H,其也从图6F的状态开始。因此,图6A至图6G示出了在被选择来例示BBR CAM 664的特性和操作的较长操作序列期间的七个不同时间点,而图6H示出了具有与图6G对比的不同设计参数的一个另选实施方案。
在图6B所示的情况下,已经接收到一系列10,000个PARA D的连续实例。这可能是简单而直接的行锤击攻击的一部分。需注意,行620-5上的观察列表计数器668已经从1递增到10,001。类似地,所有行620上的所有任期计数器670也已经相对于图6A所示的状态递增了10,000次,表明它们已经驻留的ACT命令的数量。
现在转到图6C,BBR CAM 664及其关联的观察列表计数器668和任期计数器670处理了另外的10,000次操作:2,000个PARA A实例以及5,000个PARA B实例和3,000个PARA C实例。行620-8上保存了PARA A的跟踪条目606的观察列表计数器668已经递增了2,000次。类似地,行620-7上保存了PARA B的跟踪条目606的观察列表计数器668已经递增了5,000次。最后,行620-6上保存了PARA C的跟踪条目606的观察列表计数器668已经递增了3,000次。任期计数器670也全部递增了10,000次。需注意,这些10,000次操作可能以任何顺序发生,图6C中显示的计数器值将相同。
图6D示出了BBR CAM 664及其相关联的观察列表计数器668和任期计数器670处理了三个以上的PARA操作的情况:PARA E、PARA G和PARA H的单个实例。在该图中,相对于图6C,行620-4、620-2和620-1上的观察列表计数器668都已经递增了一次,而任期计数器670已经全部递增了三。需注意,所有任期计数器670具有超过值N任期(最小值)=4的值。如果将不同的PARA呈现给BBR CAM 664,这使它们全部成为回受的候选者。
图6E示出了这样的情况,其中呈现新的PARA J用于处理。BBR CAM 664的CAM电路(图6E中未示出)将不会找到与任何跟踪地址条目606匹配的项,因此必须选择一行620的内容用于收回。用于选择新PARA的行620的第一个标准是这样的一行:其在观察列表计数器668中具有最低值,任期计数器670的值大于N任期(最小值)(在这种情况下是四个)。由于所有行都具有足够的任期,所以选择行620-3,因为其观察列表计数器668具有最低值。其跟踪地址条目606被PARA J重写,并且其观察列表计数器668和任期计数器670都被重置为1,并且所有其他任期计数器670都被递增。
图6F图示了其中PARA K、PARA L和PARA M被呈现给BBR CAM664以从图6E所示的状态开始按照该顺序处理的情况。需注意,PARA K不是匹配项,除620-3之外的所有行620在他们的任期计数器670中都具有大于N任期(最小值)的值,并且行620-1、620-2和620-3在他们的观察列表计数器668中并列为最低值。因此,用于选择要收回的行620的第二个标准发挥了作用:在其任期计数器中具有最高值的行620被替换。本领域的技术人员将认识到,用于实现第二个标准的其他方法是可能的(例如,使用伪随机数序列等来选择并列行620中的一个)。
本领域的技术人员将认识到,一旦行620已经计数到足够的任期时间点,就没有理由继续对行620的任期进行计数。这些技术人员将认识到,图6A至6H所示的大任期计数被示出为说明BBR CAM164操作的原理,可以在本发明的实施方案中使用更小的计数器,并且任何长度的任期计数器在本发明的范围内。
注意,一旦BBR CAM 664已满(例如,所有行620都是跟踪PARA)或重置为适当状态,则每个行在其任期计数器中将具有不同的值,因为对于每个呈现的PARA,所有任期计数器都递增。BBR CAM 664可以被设计为使得当被初始化时,其在每个任期计数器670中具有范围从1到N任期(最小值)的不同值以简化逻辑设计。
应用第二条标准,行620-4被PARA K收回并取代,行620-2又被PARA L收回并取代,最后一行620-1被PARA M收回并取代。注意,除了每个轮到的收回行(当其任职计数器被初始化为1时)以外,所有其他行620的所有任期计数器670使每个操作递增。
图6G示出了其中PARA P被呈现给BBR CAM 664以从图6F所示的状态进行处理的情况。由于图6F中行620-1、620-2、620-3和620-4中的任期计数器670都小于或等于N任期(最小值),所以它们没有资格被收回,并且行620-8被选择用于收回(由于具有最低值的观察列表计数器668),并且PARA P被写入其被跟踪地址条目606,其观察列表计数器668和任期计数器670都被重置为1。这说明如果不够仔细,具有高观察列表计数器668值的行620(例如,行620-8)可能被复杂的行锤击攻击消除。
图6H示出了设计参数N任期(最小值)=3(而不是N任期(最小值)=4,如图6A至6G所示)的另选实施方案中的情况。图6F的初始状态是为了方便而选择的,其出现的方式对于本实施方案并不重要。在这种情况下,在其观察列表计数器668中具有低值的行620-3有资格被收回并由PARA P收回并取代。与此不同的是图6G,其中在其观察列表计数器668中具有高得多的值的行620-8被收回,这不是理想的结果。
现在转到图7,FIFO CAM 162被示为耦接到BBR CAM 164,如在图1的示例性实施方案DRAM集成电路100中那样。FIFO CAM 162包括多个(Ni)条目312,并且BBR CAM 164包括多个(Nk)行620。
如前所述,NTRR(最大值)是通过经验确定的设计值,表示可能作为刷新周期中的目标的最大行数量。在图1的示例性实施方案中,NTRR(最大值)=15,如由图2的示例性公式所推导的。本领域的技术人员将认识到,其他实施方案以及对于各种其他设计变量可以具有不同的NTRR(最大值)值。这些技术人员还将理解,NTRR(最大值)的选择值可以被硬件连接到设计中,或者稍后作为制造或用户选择而被选定和/或编程。
FIFO CAM162的期望大小,Ni=2*NTRR(最大值)+1,已结合图3进行了讨论,并且与目标行地址的实例必须被呈现给DRAM集成电路100从而构成成功的行锤攻击危险的速率相关。如果新的活动行地址的实例没有以足够的频率出现(例如,在Ni次行激活内出现两次),那么它被忽略,除非其当前已被BBR CAM 164跟踪,在这种情况下,相关联的字620中的相关联观察列表计数器168递增。因此,新行地址(其可能被用来收回在其观察列表计数器168中具有较大值的行)的最大平均速率是每Ni次行激活NTRR(最大值)个PARA。
回到图7,BBR CAM 164的Nk行620在概念上被划分为三个区域。需注意,跟踪地址条目606的物理地址由来自FIFO CAM 162的传入PARA序列确定,并且可以物理地和随机地散布在整个阵列上。图7是抽象的,因为它假设不同行的组被逻辑分在一起以便于说明。
第一区域的大小可以是NTRR(最大值)行620。由于这是可能成功的行锤攻击的最大可能数量,所以该数量的行620应可用于存储最高的观察列表计数器值668。一般而言,随着这些值继续增加,这些行620的内容变得难以收回。
第二区域的大小可以是N任期(最小值)行620,它是行620在被收回之前必须保持驻留在BBR CAM 164中的时间长度。任期要求抵抗了解FIFO CAM 162和BBR CAM 164的操作的攻击者设计的行锤算法,这将在下面讨论。
第三区域的大小Nz可以是至少一行。这是为了提供一个或多个行620,使得高值的行不会如同结合图6G描述的情况那样被进入BBR CAM 164的新PARA收回并取代。相反,通过使N任期(最小值)从四行减小而不是从图6H中的三行减少,实际上创建了Nz=1的第三区域并且保护了第一区域中的高值行620中的一行。
图8A、图8B和图8C示出了对由附图标记800总体指示的实施方案的一系列操作,包括BBR CAM 864,还包括八个跟踪地址条目806和一个PARA地址输入808。存在八个观察列表计数器868,但是没有任期计数器。每个BBR CAM 864行820包括单个跟踪地址条目806和单个观察列表计数器668。每行都有一个唯一的附图标记820-1至820-8(因为在这个示例中Nk=8)。
图8A示出了由15个PARA组成的序列初始化后的BRR CAM。每个行820在其观察列表计数器868中具有值2,不同的是行820-1具有值1。由于这个示例假设无任期要求的具有最低计数的行820-1是收回的合理选择。需注意,除了随机地、伪随机地或顺序地(或其他任意方法)在其他行820之间进行选择之外,没有进行该选择的逻辑依据。一般来说,我们希望收回具有较低的观察清单计数的行,并保留具有较高的计数的行。
图8B示出了BBR CAM 800在PARA J已被呈现给它之后从图8A的状态开始,从行820-1收回PARA H。类似地,图8C示出了BBR CAM800在PARA H已被呈现给它之后从图8B的状态开始,从行820-1收回PARA J。需注意,图8C中的BBR CAM 800的状态与图8A中的状态相同。如果这是以H、J、H、J、H、J等的连续流来重复的,那么对由PARA H和PARA J寻址的存储器行的行锤击攻击将不被注意并且是成功的,因为BBR CAM 800中没有行820会跟踪它们。
图8A、8B和8C的示例示出了例如图1的DRAM 100中的BBR CAM164的任期要求的用途。如上所述,FIFO CAM 162过滤所有地址存取的流,并且仅标记足够频繁出现以成为行锤击威胁的地址。BBR CAM164通过跟踪最危险的地址同时丢弃具有较低观察列表计数的地址(其可能经常被存取足够长的时间以被标记,但已经减慢并因此不再是危险)并用当前正在以危险频率发生的新候选者替换它们,进一步过滤来自FIFO CAM162的标记地址。
由于NTRR(最大值)是同时发生的行锤攻击的最大数量,N任期(最小值)必须足够大以对NTRR(最大值)次同时攻击中的每一次具有一个行条目620。这将迫使攻击者对每次真正的攻击都有一个伪造的PARA,试图收回高观察列表计数器868值,以用较低的值将其取代。通过添加一个或多个附加行820(Nz),收回行所花费的时间增加到在刷新周期中没有足够时间来维持攻击并且同时收回监测该攻击的行820的时间点。这确保真正的攻击地址都可以在BBRCAM 164中被跟踪,而不会被引入到地址攻击流中的其他地址的计算模式收回。
现在转到图9,FIFO CAM 162被示为耦接到BBR CAM 164,如在图1的示例性实施方案DRAM集成电路100中那样。FIFO CAM 162包括多个(Ni)条目312,并且BBR CAM 164包括多个(Nk)行620。
如图7中那样,图9中的BBR CAM 164的Nk行620在概念上被划分为与图7中相同的三个区域。需注意,跟踪地址条目606的物理地址由来自FIFO CAM 162的传入PARA序列确定,并且可以物理地散布在整个阵列上。图9是抽象的,因为它假设不同行的组被逻辑分在一起以便于说明。
基于上面对图8A至8C的讨论,示出了N任期(最小值)=NTRR(最大值)和Nz=1的值。合起来,Nk的结果值=2*NTRR(最大值)+1。虽然在图9中描述的实施方案中的情况是Ni=Nk,但在本发明的其他实施方案中可能不是这种情况。
本领域的技术人员将会理解,可能存在设计折衷,其中可以不同地确定Ni和Nk的值。例如,在图2的公式中,NTRR(最大值)根据Ni计算为14.4,然后四舍五入到最接近的整数15,但是在另一个实施方案中,计算也可以不四舍五入而完成:Ni=2*14.4+1=29.8,其舍入到30而不是Ni=2*15+1=31。虽然这在FIFO CAM中保存了一个条目,但不希望对Nk这种方式计算,在任何一种情况下都应该四舍五入并得到值31以避免不必要地收回高计数行。这些技术人员还将认识到,例如,作为设计选择问题,一些实施方案可以具有附加条目312和/或行620以增加防护带(例如安全裕度),并且所有这些情况都在本发明的范围内。
回到图1,刷新计数器118被显示为耦接到BBR CAM 164。在正常操作期间,所有行将按由刷新计数器118确定的顺序周期性地刷新。在刷新操作期间,刷新计数器118的内容被呈现给BBR CAM164以确定正被刷新的行是否匹配潜在目标行跟踪地址506中的一个。
由于行锤击攻击中的损坏发生在与目标行相邻的行中,确保包含该损坏的首选方法是确保刷新计数器序列确保相邻行在连续刷新操作中被刷新,尽管可以使用其他序列。
因此,如果与刷新计数器118相匹配,则没有理由进一步监测该特定PARA,因为对相邻行中数据的任何行锤击损坏刚被校正和/或即将被先前和/或后续定期刷新操作校正。在这种情况下,TRR逻辑166将观察列表计数器168和任期计数器170重置为其重置状态。两者都可以设置为1,但也可以使用其他值(例如0)。这有效地重置了对跟踪地址506中将基于来自FIFO CAM 162的未来PARA流来继续对匹配进行计数或被收回的PARA的监测。另选地,跟踪地址506的内容可被重置为其重置值。本领域的技术人员将会理解,还有其他方法来实现这个功能,并且它们都在本发明的范围内。
回到图1,BBR CAM 164被示为耦接到目标行刷新队列(TRRQ)172。当观察列表计数器168的值超过NWC(来自图2中的公式210)的值时,TRR控制逻辑166命令BBR CAM 164将其跟踪地址条目606中的相关联PARA发送到TRRQ 172,然后当非定期数据丢失缓解刷新操作完成时重置行620,就好像它已经被定期刷新命令刷新一样。TRRQ172在每个存储体地址路径130中耦接到多路复用器134。刷新控制逻辑116然后可以在执行非定期数据丢失缓解刷新操作时使用多路复用器134从TRRQ 172中选择正确的地址。
现在转到图10,TRRQ 172包括队列控制逻辑1002、耦接到BBR CAM 164的地址输入1004,和多个(Nq)的队列条目1006。每个队列条目1006还包括存储体地址寄存器1008、块地址寄存器1010和行地址寄存器1012。
队列条目1006的确切数量是设计选择问题,尽管最佳情况最小值可以是NTRR(最大值)。如果攻击者详细了解全局TRR路径160的电路,则可以将计算出的输入地址流设计为对多达NTRR(最大值)个观察列表计数器168按照一样多的连续ACT命令触发非定期数据丢失缓解刷新操作。如果条目1006的数量不足,则TRRQ 172可能溢出,导致数据丢失。这可以在队列控制逻辑1002或TRR逻辑166中或以某种其他方式被补偿,尽管为NTRR(最大值)个具有最高值观察列表计数器168的危险目标行提供足够的条目1006可能更简单并且代价更低。本领域的技术人员将认识到,任何防止TRRQ172溢出的方法都在本发明的范围内。
队列控制逻辑1002监测条目1006的任期和占用率,并分析每个存储体地址寄存器1008的内容。当存在等待特定TRR刷新操作的占用条目2006时,队列控制逻辑1002可确定哪些存储体具有待定TRR刷新条目1006。然后,队列控制逻辑1002将用于至少一个条目1006的块地址寄存器1010和行地址寄存器1012的内容发送到在相关存储体地址寄存器1008中寻址的存储体。队列控制逻辑1002耦接到刷新控制逻辑116(未示出),并通知该刷新控制逻辑TRRQ 172中的一个或多个条目需要特殊的刷新操作。刷新控制逻辑116继而调度将在随后的刷新命令期间发生的非定期数据丢失缓解刷新操作。在这种非定期数据丢失缓解刷新操作期间,刷新计数器中的值不会改变,因此它可以在相同位置恢复定期刷新操作而不会跳过定期刷新操作序列中的位置。
如果多个条目1006被占用并且存储体地址寄存器1008用于多个存储体,则在一些实施方案中,多个条目1006可以被发送到不同的存储体,以允许在这些存储体中同时发生同时的非定期数据丢失缓解刷新操作。如果两个以上的条目1006寻址同一个存储体,则具有最高任期的条目被发送到该存储体,并且另一个被保留用于随后的特殊TRR刷新操作。在其他实施方案中,作为设计选择问题,TRRQ 172中的条目1006也可以一次处理一个。
由于对于每个目标行,都存在必须接收特殊的TRR刷新操作的两个受害行,因此每个受害行的行地址必须根据目标行的地址来确定。这优选地在每个存储体中的存储体行解码器132中完成,其中可以构建简单的逻辑功能以寻址目标行的处于特定地址的邻居。本领域的技术人员将认识到,受害行地址确定可以作为设计选择问题在DRAM 100中的其他地方执行(例如,在队列控制逻辑2002中),并且所有这样的实施方案都落入本发明的范围内。
一些DRAM在刷新操作期间只刷新每个存储体中的一行,而另一些则刷新多行。如果每个刷新命令仅刷新一行,则需要两个刷新命令来处理TRRQ172中的条目1006。如果每个刷新命令刷新多行,则只需要单个刷新命令来处理TRRQ 172中的条目1006。任一种情况都在本发明的范围内。
一旦条目1006已被处理(例如,两个受害行已被刷新),则从TRRQ172清除条目1006。如果仍有活动条目(例如,在同一存储体中有两个目标行在相同的特殊TRR刷新操作期间不能处理),则队列控制逻辑1002通知刷新控制逻辑116需要另一个特殊TRR刷新操作,并且需要调度。
图2中公式214中的计算假设需要两个特殊的TRR刷新来处理条目1006。因此,如果NTRR(最大值)=15,则开销为每8,192次定期刷新30次特殊TRR刷新,导致所需刷新命令的频率增加0.4%。如果条目1006仅需要单个特殊TRR刷新命令,则对于DRAM 100的示例性实施方案,开销下降到0.2%。
现在转到图11,示出了DRAM集成电路1100的抽象视图,本发明的示例性实施方案包括修改的FIFO CAM 1162和修改的BBR CAM1164。所示出的FIFO CAM 1162耦接到BBR CAM1164,并且两者的功能基本上与图1的示例性实施方案DRAM集成电路100中的相应对应物FIFO CAM 162和BBR CAM 164一样。FIFO CAM 1162包括多个(Ni(最大值))地址条目1312,并且BBR CAM 164包括多个(Nk(最大值))行1620。
FIFO CAM 1162包括两个区域。Ni(活动)区域和阴影Ni(空闲)区域。在特定应用中Ni(活动)=Ni。Ni(空闲)的存在通过允许从一定范围的值中选择行1312的数量而不是对于所有应用都将Ni作为一个固定值,来允许为该应用调节Ni的值。Ni(最大值)的大小是设计选择问题。
类似地,BBR CAM 1164包括两个区域。Nk(活动)区域和阴影Nk(空闲)区域。在特定应用中Nk(活动)=Nk。Nk(空闲)的存在通过允许从一定范围的值中选择行1620的数量而不是对于所有应用都将Nk作为一个固定值,来允许为该应用调节Nk的值。Nk(最大值)的大小是设计选择问题。
DRAM 1100还包括修改的模式寄存器1180和修改的NVM块1190,并且两者的功能基本上与图10的示例性实施方案DRAM集成电路100中的相应对应物模式寄存器180和NVM块190一样。Ni(活动)和Nk(活动)的大小可以由模式寄存器1180和/或NVM模块1190控制。
公开了用于具有适度开销的嵌入式目标行刷新(TRR)解决方案的装置和方法。在操作中,它对用户来说几乎是透明的。除了通过模式寄存器启用以及平均刷新率增加近似不超过1%的一半外,不需要其他用户操作。伴随着ACTIVE命令的行地址流被监测和过滤,以仅跟踪以危险速率出现的地址并拒绝以低于危险速率出现的地址。
本领域的普通技术人员将认识到,以上附图、描述和实施方案仅是示例性的。在阅读本公开之后,许多其他实施方案将容易地出现在这些技术人员的心中。因此,除了所发布的权利要求外,本发明不以任何方式受到限制。
Claims (20)
1.一种缓解具有可寻址行的存储器阵列中的数据丢失的方法,其中每个可寻址行需要定期刷新操作,所述存储器阵列(i)耦接到解码器,所述编码器进一步耦接到地址输入,并且(ii)耦接到命令电路,所述命令电路进一步耦接到命令输入,所述方法包括:
(A)监测所述命令输入以检测行激活命令;
(B)监测所述地址输入以检测活动行地址序列,每个活动行地址与行激活命令相关联;
(C)将所述活动行地址序列呈现给耦接到所述地址输入的第一过滤器,所述第一过滤器检测所述活动行地址何时以比预定的最大速率更频繁的速率出现;
(D)将检测到的行地址呈现给耦接到所述第一过滤器的第二过滤器:
其中跟踪每个所检测到的行地址的出现次数,使得:
在特定的检测到的行地址的出现次数超过预定的最大出现次数时,
则对与所述特定的检测到的地址相关联的物理行物理相邻的每一行执行非定期数据丢失缓解刷新操作。
2.根据权利要求1所述的方法,
其中所述预定的最大速率由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器,并且
其中所述预定的最大出现次数由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
3.根据权利要求1所述的方法,还包括以下步骤:
(E)重置对特定的检测到的行地址的所述跟踪:
当对与所述特定的检测到的地址相关联的所述物理行物理相邻的每一行执行非定期数据丢失缓解刷新操作时,或者
当定期刷新操作刷新与所述特定的检测到的行地址相关联的所述物理行时,执行所述步骤。
4.根据权利要求3所述的方法,
其中所述预定的最大速率由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器,并且
其中所述预定的最大出现次数由存储在包括以下部件中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
5.根据权利要求2所述的方法,其中所述第一过滤器包括第一存储器:
其中所述第一存储器被配置成使得数据以先进/先出(FIFO)方式被写入、存储在所述第一存储器中的多个第一数据字中并且从所述多个第一数据字读取,
其中所述第一数据字中的每一个被配置为具有相关联的匹配标记,
其中呈现给所述第一过滤器的每个活动行地址被写入并存储在第一数据字中并与所述多个第一数据字中的每一个的内容进行比较,
其中所述第一存储器被配置成使得为所述第一多个数据字中的每一个设置所述相关联的匹配标记,其中所述数据字的所述内容与所呈现的活动行地址相匹配,并且
其中所述第一存储器被配置成使得不为所述第一多个数据字中的每一个设置所述相关联的匹配标记,其中所述数据字的所述内容与所述呈现的活动行地址不匹配。
6.根据权利要求5所述的方法,
其中所述预定的最大速率由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器,并且
其中所述预定的最大出现次数由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
7.根据权利要求5所述的方法,其中所述第二过滤器包括第二存储器、多个第一计数器和多个第二计数器:
其中所述第二存储器被配置成使得数据以随机存取方式被写入、存储在所述第二存储器中的多个第二数据字中并且从所述多个第二数据字读取,
其中每个第二数据字被配置为具有所述多个第一计数器中的相关联的一个和所述多个第二计数器中的相关联的一个,
其中每个所述第二数据字被配置为存储检测到的行地址;
其中所述第一计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的出现次数,并且
其中所述第二计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的任期。
8.根据权利要求7所述的方法,
其中所述预定的最大速率由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器,并且
其中所述预定的最大出现次数由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
9.根据权利要求2所述的方法,其中所述第二过滤器包括第二存储器、多个第一计数器和多个第二计数器:
其中所述第二存储器被配置成使得数据以随机存取方式被写入、存储在所述第二存储器中的多个第二数据字中并且从所述多个第二数据字读取,
其中每个第二数据字被配置为具有所述多个第一计数器中的相关联的一个和所述多个第二计数器中的相关联的一个,
其中每个所述第二数据字被配置为存储检测到的行地址;
其中所述第一计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的出现次数,并且
其中所述第二计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的任期。
10.根据权利要求9所述的方法,
其中所述预定的最大速率由存储在包括以下部件中的一种中的数据来指定:(i)非易失性存储器和(ii)模式寄存器,并且
其中所述预定的最大出现次数由存储在包括以下部件中的一种中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
11.根据权利要求1所述的方法,其中所述第一过滤器包括第一存储器:
其中所述第一存储器被配置成使得数据以先进/先出(FIFO)方式被写入、存储在所述第一存储器中的多个第一数据字中并且从所述多个第一数据字读取,
其中所述第一数据字中的每一个被配置为具有相关联的匹配标记,
其中呈现给所述第一过滤器的每个活动行地址被写入并存储在第一数据字中并与所述多个第一数据字中的每一个的内容进行比较,
其中所述第一存储器被配置成使得为所述第一多个数据字中的每一个设置所述相关联的匹配标记,其中所述数据字的所述内容与所呈现的活动行地址相匹配,并且
其中所述第一存储器被配置成使得不为所述第一多个数据字中的每一个设置所述相关联的匹配标记,其中所述数据字的所述内容与所述呈现的活动行地址不匹配。
12.根据权利要求11所述的方法,
其中所述预定的最大速率由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器,并且
其中所述预定的最大出现次数由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
13.根据权利要求11所述的方法,其中所述第二过滤器包括第二存储器、多个第一计数器和多个第二计数器:
其中所述第二存储器被配置成使得数据以随机存取方式被写入、存储在所述第二存储器中的多个第二数据字中并且从所述多个第二数据字读取,
其中每个第二数据字被配置为具有所述多个第一计数器中的相关联的一个和所述多个第二计数器中的相关联的一个,
其中每个所述第二数据字被配置为存储检测到的行地址;
其中所述第一计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的出现次数,并且
其中所述第二计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的任期。
14.根据权利要求13所述的方法,
其中所述预定的最大速率由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器,并且
其中所述预定的最大出现次数由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
15.根据权利要求1所述的方法,其中所述第二过滤器包括第二存储器、多个第一计数器和多个第二计数器:
其中所述第二存储器被配置成使得数据以随机存取方式被写入、存储在所述第二存储器中的多个第二数据字中并且从所述多个第二数据字读取,
其中每个第二数据字被配置为具有所述多个第一计数器中的相关联的一个和所述多个第二计数器中的相关联的一个,
其中每个所述第二数据字被配置为存储检测到的行地址;
其中所述第一计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的出现次数,并且
其中所述第二计数器中的每一个被配置为跟踪存储在所述相关联的数据字中的所检测到的行地址的任期。
16.根据权利要求15所述的方法,
其中所述预定的最大速率由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器;并且
其中所述预定的最大出现次数由存储在包括以下部件的组中的一者中的数据来指定:(i)非易失性存储器和(ii)模式寄存器。
17.根据权利要求15所述的方法,还包括以下步骤:
(F)在以下情况下选择所述多个第二数据字中的一个:
将不匹配所述多个数据字中的任何数据字的内容的新检测到的行地址呈现给所述第二过滤器,和
与所选择的数据字相关联的所述第二计数器的所述任期值大于预定的任期值;
(G)用所述新检测到的行地址替换所述第二数据字中的所选择的数据字的所述内容;
(H)重置与所述第二数据字中的所选择的数据字相关联的第一计数器;并且
(I)重置与所述第二数据字中的所选择的数据字相关联的第二计数器。
18.根据权利要求13所述的方法,还包括以下步骤:
(F)在以下情况下选择所述多个第二数据字中的一个:
将不匹配所述多个数据字中的任何数据字的内容的新检测到的行地址呈现给所述第二过滤器,和
与所选择的数据字相关联的所述第二计数器的所述任期值大于预定的任期值;
(G)用所述新检测到的行地址替换所述第二数据字中的所选择的数据字的所述内容;
(H)重置与所述第二数据字中的所选择的数据字相关联的第一计数器;并且
(I)重置与所述第二数据字中的所选择的数据字相关联的第二计数器。
19.根据权利要求9所述的方法,还包括以下步骤:
(F)在以下情况下选择所述多个第二数据字中的一个:
将不匹配所述多个数据字中的任何数据字的内容的新检测到的行地址呈现给所述第二过滤器,和
与所选择的数据字相关联的所述第二计数器的所述任期值大于预定的任期值;
(G)用所述新检测到的行地址替换所述第二数据字中的所选择的数据字的所述内容;
(H)重置与所述第二数据字中的所选择的数据字相关联的第一计数器;并且
(I)重置与所述第二数据字中的所选择的数据字相关联的第二计数器。
20.根据权利要求7所述的方法,还包括以下步骤:
(F)在以下情况下选择所述多个第二数据字中的一个:
将不匹配所述多个数据字中的任何数据字的内容的新检测到的行地址呈现给所述第二过滤器,和
与所选择的数据字相关联的所述第二计数器的所述任期值大于预定的任期值;
(G)用所述新检测到的行地址替换所述第二数据字中的所选择的数据字的所述内容;
(H)重置与所述第二数据字中的所选择的数据字相关联的第一计数器;并且
(I)重置与所述第二数据字中的所选择的数据字相关联的第二计数器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562244494P | 2015-10-21 | 2015-10-21 | |
US62/244,494 | 2015-10-21 | ||
US15/019,788 | 2016-02-09 | ||
US15/019,788 US9812185B2 (en) | 2015-10-21 | 2016-02-09 | DRAM adjacent row disturb mitigation |
PCT/US2016/057361 WO2017070050A1 (en) | 2015-10-21 | 2016-10-17 | Dram adjacent row disturb mitigation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108369820A true CN108369820A (zh) | 2018-08-03 |
CN108369820B CN108369820B (zh) | 2022-04-01 |
Family
ID=58557728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680071734.6A Active CN108369820B (zh) | 2015-10-21 | 2016-10-17 | 缓解具有可寻址行的存储器阵列中的数据丢失的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9812185B2 (zh) |
KR (1) | KR20180059556A (zh) |
CN (1) | CN108369820B (zh) |
WO (1) | WO2017070050A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112489706A (zh) * | 2019-09-11 | 2021-03-12 | 美光科技公司 | 用于基于存储器装置温度来调节存储器装置刷新操作的方法以及相关存储器装置和系统 |
TWI749891B (zh) * | 2020-01-21 | 2021-12-11 | 晶豪科技股份有限公司 | 目標列刷新方法及記憶體裝置中所採用之決策電路 |
WO2022077971A1 (zh) * | 2020-10-16 | 2022-04-21 | 长鑫存储技术有限公司 | 存储器测试方法 |
CN115906087A (zh) * | 2023-03-09 | 2023-04-04 | 长鑫存储技术有限公司 | 行锤攻击保护方法与存储器 |
US11735250B2 (en) | 2021-02-04 | 2023-08-22 | Winbond Electronics Corp. | Sense amplifier activation timing scheme to suppress disturbance in memory cells of dram memory device |
WO2024045218A1 (zh) * | 2022-08-30 | 2024-03-07 | 长鑫存储技术有限公司 | 监测电路、刷新方法及存储器 |
Families Citing this family (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9324398B2 (en) | 2013-02-04 | 2016-04-26 | Micron Technology, Inc. | Apparatuses and methods for targeted refreshing of memory |
US9047978B2 (en) | 2013-08-26 | 2015-06-02 | Micron Technology, Inc. | Apparatuses and methods for selective row refreshes |
JP2015219938A (ja) | 2014-05-21 | 2015-12-07 | マイクロン テクノロジー, インク. | 半導体装置 |
WO2016083865A1 (zh) * | 2014-11-25 | 2016-06-02 | 三星电子株式会社 | 基于概率信息检测半导体存储器的被最频繁存取的地址的方法 |
US11164033B2 (en) | 2015-05-29 | 2021-11-02 | Micron Technology, Inc. | Histogram creation process for memory devices |
US20170147430A1 (en) * | 2015-11-20 | 2017-05-25 | Texas Instruments Incorporated | Methods and apparatus to detect and correct errors in destructive read non-volatile memory |
KR102522154B1 (ko) * | 2016-03-15 | 2023-04-17 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 컨트롤러 및 이의 동작 방법 |
US9792975B1 (en) * | 2016-06-23 | 2017-10-17 | Mediatek Inc. | Dram and access and operating method thereof |
KR102468728B1 (ko) * | 2016-08-23 | 2022-11-21 | 에스케이하이닉스 주식회사 | 리프레쉬 제어 회로, 반도체 메모리 장치 및 그의 동작 방법 |
US10032500B2 (en) * | 2016-10-07 | 2018-07-24 | Tc Lab, Inc. | Memory disturb recovery scheme for cross-point memory arrays |
US10490251B2 (en) | 2017-01-30 | 2019-11-26 | Micron Technology, Inc. | Apparatuses and methods for distributing row hammer refresh events across a memory device |
US10528736B1 (en) * | 2017-03-28 | 2020-01-07 | Symantec Corporation | Systems and methods for detecting preparatory-stages of rowhammer attacks |
EP3605541A4 (en) * | 2017-04-14 | 2020-04-01 | Huawei Technologies Co., Ltd. | MEMORY REFRESHING TECHNOLOGY AND COMPUTER SYSTEM |
US10192608B2 (en) * | 2017-05-23 | 2019-01-29 | Micron Technology, Inc. | Apparatuses and methods for detection refresh starvation of a memory |
US10902902B2 (en) * | 2017-05-24 | 2021-01-26 | SK Hynix Inc. | Memory system and operation method of memory system |
KR102306380B1 (ko) * | 2017-05-24 | 2021-09-30 | 에스케이하이닉스 주식회사 | 리프레시 대상 로우 선정 회로 |
KR102415867B1 (ko) * | 2017-11-29 | 2022-07-04 | 에스케이하이닉스 주식회사 | 메모리 셀의 결함을 제거하기 위한 메모리 시스템 및 그의 동작 방법 |
US10580475B2 (en) | 2018-01-22 | 2020-03-03 | Micron Technology, Inc. | Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device |
KR20190123875A (ko) | 2018-04-25 | 2019-11-04 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 구비하는 메모리 시스템 |
KR102410924B1 (ko) | 2018-05-14 | 2022-06-20 | 삼성전자주식회사 | 해머 리프레쉬 동작을 수행하는 리프레쉬 제어 회로, 메모리 장치 및 메모리 장치의 동작 방법 |
WO2019222960A1 (en) | 2018-05-24 | 2019-11-28 | Micron Technology, Inc. | Apparatuses and methods for pure-time, self adopt sampling for row hammer refresh sampling |
US11152050B2 (en) | 2018-06-19 | 2021-10-19 | Micron Technology, Inc. | Apparatuses and methods for multiple row hammer refresh address sequences |
US10573370B2 (en) * | 2018-07-02 | 2020-02-25 | Micron Technology, Inc. | Apparatus and methods for triggering row hammer address sampling |
KR20220146701A (ko) | 2018-08-03 | 2022-11-01 | 마이크론 테크놀로지, 인크 | 행 해머를 완화하기 위한 방법 및 이를 이용한 메모리 디바이스 및 시스템 |
JP2020030873A (ja) * | 2018-08-21 | 2020-02-27 | キオクシア株式会社 | メモリシステム |
KR102617016B1 (ko) | 2018-09-17 | 2023-12-27 | 삼성전자주식회사 | 자주 접근되는 어드레스를 검출하는 레지스터 클럭 드라이버를 포함하는 메모리 모듈 |
US10726903B2 (en) * | 2018-09-21 | 2020-07-28 | Nanya Technology Corporation | Row-determining circuit, DRAM, and method for refreshing a memory array |
CN118197372A (zh) | 2018-10-09 | 2024-06-14 | 美光科技公司 | 用于行锤击缓解的方法以及采用所述方法的存储器装置和系统 |
US10825534B2 (en) * | 2018-10-26 | 2020-11-03 | Intel Corporation | Per row activation count values embedded in storage cell array storage cells |
US10685696B2 (en) | 2018-10-31 | 2020-06-16 | Micron Technology, Inc. | Apparatuses and methods for access based refresh timing |
CN113168861B (zh) | 2018-12-03 | 2024-05-14 | 美光科技公司 | 执行行锤刷新操作的半导体装置 |
CN113196223B (zh) | 2018-12-21 | 2024-07-23 | 美光科技公司 | 用于基于活动的存储器维护操作的方法及采用所述方法的存储器装置及系统 |
CN117198356A (zh) | 2018-12-21 | 2023-12-08 | 美光科技公司 | 用于目标刷新操作的时序交错的设备和方法 |
US10957377B2 (en) | 2018-12-26 | 2021-03-23 | Micron Technology, Inc. | Apparatuses and methods for distributed targeted refresh operations |
US10817371B2 (en) | 2018-12-31 | 2020-10-27 | Micron Technology, Inc. | Error correction in row hammer mitigation and target row refresh |
US10908846B2 (en) * | 2019-01-03 | 2021-02-02 | SK Hynix Inc. | Memory system and operation method thereof |
US10770127B2 (en) | 2019-02-06 | 2020-09-08 | Micron Technology, Inc. | Apparatuses and methods for managing row access counts |
US11615831B2 (en) | 2019-02-26 | 2023-03-28 | Micron Technology, Inc. | Apparatuses and methods for memory mat refresh sequencing |
US11043254B2 (en) | 2019-03-19 | 2021-06-22 | Micron Technology, Inc. | Semiconductor device having cam that stores address signals |
US10950288B2 (en) | 2019-03-29 | 2021-03-16 | Intel Corporation | Refresh command control for host assist of row hammer mitigation |
US11227649B2 (en) | 2019-04-04 | 2022-01-18 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of targeted refresh operations |
US11264096B2 (en) | 2019-05-14 | 2022-03-01 | Micron Technology, Inc. | Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits |
US11158364B2 (en) | 2019-05-31 | 2021-10-26 | Micron Technology, Inc. | Apparatuses and methods for tracking victim rows |
US11069393B2 (en) | 2019-06-04 | 2021-07-20 | Micron Technology, Inc. | Apparatuses and methods for controlling steal rates |
US10978132B2 (en) | 2019-06-05 | 2021-04-13 | Micron Technology, Inc. | Apparatuses and methods for staggered timing of skipped refresh operations |
US11158373B2 (en) | 2019-06-11 | 2021-10-26 | Micron Technology, Inc. | Apparatuses, systems, and methods for determining extremum numerical values |
KR102587962B1 (ko) | 2019-06-25 | 2023-10-11 | 삼성전자주식회사 | 탐색 회로, 이를 포함하는 해머 어드레스 관리 회로 및 메모리 시스템 |
US11139015B2 (en) | 2019-07-01 | 2021-10-05 | Micron Technology, Inc. | Apparatuses and methods for monitoring word line accesses |
US10832792B1 (en) | 2019-07-01 | 2020-11-10 | Micron Technology, Inc. | Apparatuses and methods for adjusting victim data |
US11386946B2 (en) | 2019-07-16 | 2022-07-12 | Micron Technology, Inc. | Apparatuses and methods for tracking row accesses |
US10978171B2 (en) * | 2019-07-31 | 2021-04-13 | Microsoft Technology Licensing, Llc | Identification of susceptibility to induced charge leakage |
US11354408B2 (en) * | 2019-08-15 | 2022-06-07 | Nxp Usa, Inc. | Technique for detecting and thwarting row-hammer attacks |
US10943636B1 (en) | 2019-08-20 | 2021-03-09 | Micron Technology, Inc. | Apparatuses and methods for analog row access tracking |
US10964378B2 (en) | 2019-08-22 | 2021-03-30 | Micron Technology, Inc. | Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation |
US11302374B2 (en) | 2019-08-23 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic refresh allocation |
US11200942B2 (en) | 2019-08-23 | 2021-12-14 | Micron Technology, Inc. | Apparatuses and methods for lossy row access counting |
US11302377B2 (en) | 2019-10-16 | 2022-04-12 | Micron Technology, Inc. | Apparatuses and methods for dynamic targeted refresh steals |
US11222685B2 (en) * | 2020-05-15 | 2022-01-11 | Advanced Micro Devices, Inc. | Refresh management for DRAM |
US11561862B2 (en) * | 2020-05-29 | 2023-01-24 | Advanced Micro Devices, Inc. | Refresh management for DRAM |
US11488654B2 (en) * | 2020-06-15 | 2022-11-01 | Advanced Micro Devices, Inc. | Memory row recording for mitigating crosstalk in dynamic random access memory |
US11309010B2 (en) | 2020-08-14 | 2022-04-19 | Micron Technology, Inc. | Apparatuses, systems, and methods for memory directed access pause |
US11348631B2 (en) * | 2020-08-19 | 2022-05-31 | Micron Technology, Inc. | Apparatuses, systems, and methods for identifying victim rows in a memory device which cannot be simultaneously refreshed |
US11380382B2 (en) | 2020-08-19 | 2022-07-05 | Micron Technology, Inc. | Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit |
US11222682B1 (en) | 2020-08-31 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for providing refresh addresses |
KR102467747B1 (ko) * | 2020-09-18 | 2022-11-16 | 한양대학교 에리카산학협력단 | 행 해머링을 이용한 dram의 성능 분석 방법 및 오류 검출 방법 |
US11557331B2 (en) | 2020-09-23 | 2023-01-17 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh operations |
US20220129200A1 (en) * | 2020-10-26 | 2022-04-28 | Qualcomm Incorporated | Dram with quick random row refresh for rowhammer mitigation |
US11222686B1 (en) | 2020-11-12 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for controlling refresh timing |
US11462291B2 (en) | 2020-11-23 | 2022-10-04 | Micron Technology, Inc. | Apparatuses and methods for tracking word line accesses |
US11264079B1 (en) | 2020-12-18 | 2022-03-01 | Micron Technology, Inc. | Apparatuses and methods for row hammer based cache lockdown |
KR20220091755A (ko) | 2020-12-24 | 2022-07-01 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 구비하는 메모리 시스템 |
US11482275B2 (en) | 2021-01-20 | 2022-10-25 | Micron Technology, Inc. | Apparatuses and methods for dynamically allocated aggressor detection |
KR20220120771A (ko) | 2021-02-23 | 2022-08-31 | 삼성전자주식회사 | 메모리 장치 및 그것의 동작 방법 |
US11600314B2 (en) | 2021-03-15 | 2023-03-07 | Micron Technology, Inc. | Apparatuses and methods for sketch circuits for refresh binning |
US11615829B1 (en) | 2021-04-29 | 2023-03-28 | Samsung Electronics Co., Ltd. | Memory device performing refresh operation based on a random value and method of operating the same |
US12027199B2 (en) | 2021-05-26 | 2024-07-02 | Samsung Electronics Co., Ltd. | Memory device and method of controlling row hammer |
US11379306B1 (en) * | 2021-07-29 | 2022-07-05 | Bae Systems Information And Electronic System Integration Inc. | Method for radiation hardening synchronous DRAM |
US11664063B2 (en) | 2021-08-12 | 2023-05-30 | Micron Technology, Inc. | Apparatuses and methods for countering memory attacks |
KR20230037992A (ko) | 2021-09-10 | 2023-03-17 | 삼성전자주식회사 | 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법 |
US20230114414A1 (en) * | 2021-09-28 | 2023-04-13 | Advanced Micro Devices, Inc. | Method and apparatus for protecting memory devices via a synergic approach |
US11790974B2 (en) | 2021-11-17 | 2023-10-17 | Micron Technology, Inc. | Apparatuses and methods for refresh compliance |
KR20230076039A (ko) * | 2021-11-23 | 2023-05-31 | 에스케이하이닉스 주식회사 | 메모리 |
US11688451B2 (en) | 2021-11-29 | 2023-06-27 | Micron Technology, Inc. | Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking |
KR20230080776A (ko) | 2021-11-30 | 2023-06-07 | 삼성전자주식회사 | 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
US20230205872A1 (en) * | 2021-12-23 | 2023-06-29 | Advanced Micro Devices, Inc. | Method and apparatus to address row hammer attacks at a host processor |
US20230238045A1 (en) * | 2022-01-24 | 2023-07-27 | Micron Technology, Inc. | Dynamic random access memory multi-wordline direct refresh management |
US20230393770A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Memory device security and row hammer mitigation |
US20240112722A1 (en) * | 2022-09-30 | 2024-04-04 | Advanced Micro Devices, Inc. | Directed refresh management for dram |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100180083A1 (en) * | 2008-12-08 | 2010-07-15 | Lee Ruby B | Cache Memory Having Enhanced Performance and Security Features |
US20140059287A1 (en) * | 2012-06-30 | 2014-02-27 | Kuljit Bains | Row hammer refresh command |
US20140089576A1 (en) * | 2012-09-24 | 2014-03-27 | Kuljit S. Bains | Method, apparatus and system for providing a memory refresh |
US20140156923A1 (en) * | 2012-11-30 | 2014-06-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US20150003180A1 (en) * | 2013-06-28 | 2015-01-01 | SK Hynix Inc. | Semiconductor device and operation method thereof |
US20150089183A1 (en) * | 2013-09-26 | 2015-03-26 | Kuljit S. Bains | Mapping a physical address differently to different memory devices in a group |
CN104781885A (zh) * | 2012-12-21 | 2015-07-15 | 英特尔公司 | 用于对行敲击事件进行响应的方法、装置和系统 |
US20150200002A1 (en) * | 2014-01-15 | 2015-07-16 | Jiang Lin | Handling maximum activation count limit and target row refresh in ddr4 sdram |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356485B1 (en) * | 1999-02-13 | 2002-03-12 | Integrated Device Technology, Inc. | Merging write cycles by comparing at least a portion of the respective write cycle addresses |
KR101975029B1 (ko) * | 2012-05-17 | 2019-08-23 | 삼성전자주식회사 | 리프레쉬 주기를 조절하는 반도체 메모리 장치, 메모리 시스템 및 그 동작방법 |
US8938573B2 (en) | 2012-06-30 | 2015-01-20 | Intel Corporation | Row hammer condition monitoring |
US9236110B2 (en) | 2012-06-30 | 2016-01-12 | Intel Corporation | Row hammer refresh command |
KR102003894B1 (ko) * | 2012-09-20 | 2019-07-25 | 에스케이하이닉스 주식회사 | 셀 어레이, 메모리 및 이를 포함하는 메모리 시스템 |
US20140085995A1 (en) * | 2012-09-25 | 2014-03-27 | Zvika Greenfield | Method, apparatus and system for determining a count of accesses to a row of memory |
US9299400B2 (en) * | 2012-09-28 | 2016-03-29 | Intel Corporation | Distributed row hammer tracking |
US9384821B2 (en) * | 2012-11-30 | 2016-07-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
US9251885B2 (en) * | 2012-12-28 | 2016-02-02 | Intel Corporation | Throttling support for row-hammer counters |
US9324398B2 (en) * | 2013-02-04 | 2016-04-26 | Micron Technology, Inc. | Apparatuses and methods for targeted refreshing of memory |
KR20150132366A (ko) * | 2013-03-15 | 2015-11-25 | 피에스4 뤽스코 에스.에이.알.엘. | 반도체 기억 장치 및 이를 구비한 시스템 |
WO2014158154A1 (en) * | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Regulating memory activation rates |
KR102133380B1 (ko) * | 2013-08-09 | 2020-07-14 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그의 동작방법 |
US9355689B2 (en) * | 2013-08-20 | 2016-05-31 | Oracle International Corporation | Detection of multiple accesses to a row address of a dynamic memory within a refresh period |
US9047978B2 (en) * | 2013-08-26 | 2015-06-02 | Micron Technology, Inc. | Apparatuses and methods for selective row refreshes |
KR20150026227A (ko) * | 2013-09-02 | 2015-03-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
US9690505B2 (en) * | 2013-09-27 | 2017-06-27 | Hewlett Packard Enterprise Development Lp | Refresh row address |
KR102163544B1 (ko) * | 2013-12-04 | 2020-10-08 | 에스케이하이닉스 주식회사 | 뱅크 구조를 갖는 반도체 메모리 장치 |
US9478263B2 (en) * | 2014-01-17 | 2016-10-25 | Apple Inc. | Systems and methods for monitoring and controlling repetitive accesses to volatile memory |
US10534686B2 (en) * | 2014-01-30 | 2020-01-14 | Micron Technology, Inc. | Apparatuses and methods for address detection |
US9293188B2 (en) * | 2014-02-03 | 2016-03-22 | Advanced Micro Devices, Inc. | Memory and memory controller for high reliability operation and method |
KR102193993B1 (ko) * | 2014-02-21 | 2020-12-22 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR102194003B1 (ko) * | 2014-02-25 | 2020-12-22 | 삼성전자주식회사 | 메모리 모듈 및 이를 포함하는 메모리 시스템 |
US9431085B2 (en) * | 2014-03-28 | 2016-08-30 | Synopsys, Inc. | Most activated memory portion handling |
KR20160000626A (ko) * | 2014-06-25 | 2016-01-05 | 에스케이하이닉스 주식회사 | 메모리 장치 |
KR102116980B1 (ko) * | 2014-07-02 | 2020-05-29 | 삼성전자 주식회사 | 리던던시 메모리 셀의 리프레쉬 동작을 제어하는 반도체 메모리 장치 |
KR20160035444A (ko) * | 2014-09-23 | 2016-03-31 | 에스케이하이닉스 주식회사 | 스마트 리프레쉬 장치 |
KR102285772B1 (ko) * | 2015-02-02 | 2021-08-05 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
-
2016
- 2016-02-09 US US15/019,788 patent/US9812185B2/en active Active
- 2016-10-17 CN CN201680071734.6A patent/CN108369820B/zh active Active
- 2016-10-17 KR KR1020187013774A patent/KR20180059556A/ko not_active Application Discontinuation
- 2016-10-17 WO PCT/US2016/057361 patent/WO2017070050A1/en active Application Filing
-
2017
- 2017-11-03 US US15/803,710 patent/US10262717B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100180083A1 (en) * | 2008-12-08 | 2010-07-15 | Lee Ruby B | Cache Memory Having Enhanced Performance and Security Features |
US20140059287A1 (en) * | 2012-06-30 | 2014-02-27 | Kuljit Bains | Row hammer refresh command |
US20140089576A1 (en) * | 2012-09-24 | 2014-03-27 | Kuljit S. Bains | Method, apparatus and system for providing a memory refresh |
US20140156923A1 (en) * | 2012-11-30 | 2014-06-05 | Intel Corporation | Row hammer monitoring based on stored row hammer threshold value |
CN104781885A (zh) * | 2012-12-21 | 2015-07-15 | 英特尔公司 | 用于对行敲击事件进行响应的方法、装置和系统 |
US20150003180A1 (en) * | 2013-06-28 | 2015-01-01 | SK Hynix Inc. | Semiconductor device and operation method thereof |
US20150089183A1 (en) * | 2013-09-26 | 2015-03-26 | Kuljit S. Bains | Mapping a physical address differently to different memory devices in a group |
US20150200002A1 (en) * | 2014-01-15 | 2015-07-16 | Jiang Lin | Handling maximum activation count limit and target row refresh in ddr4 sdram |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112489706A (zh) * | 2019-09-11 | 2021-03-12 | 美光科技公司 | 用于基于存储器装置温度来调节存储器装置刷新操作的方法以及相关存储器装置和系统 |
TWI749891B (zh) * | 2020-01-21 | 2021-12-11 | 晶豪科技股份有限公司 | 目標列刷新方法及記憶體裝置中所採用之決策電路 |
WO2022077971A1 (zh) * | 2020-10-16 | 2022-04-21 | 长鑫存储技术有限公司 | 存储器测试方法 |
CN114388049A (zh) * | 2020-10-16 | 2022-04-22 | 长鑫存储技术有限公司 | 存储器测试方法 |
US11599646B2 (en) | 2020-10-16 | 2023-03-07 | Changxin Memory Technologies, Inc. | Memory test method |
CN114388049B (zh) * | 2020-10-16 | 2023-09-12 | 长鑫存储技术有限公司 | 存储器测试方法 |
US11735250B2 (en) | 2021-02-04 | 2023-08-22 | Winbond Electronics Corp. | Sense amplifier activation timing scheme to suppress disturbance in memory cells of dram memory device |
WO2024045218A1 (zh) * | 2022-08-30 | 2024-03-07 | 长鑫存储技术有限公司 | 监测电路、刷新方法及存储器 |
CN115906087A (zh) * | 2023-03-09 | 2023-04-04 | 长鑫存储技术有限公司 | 行锤攻击保护方法与存储器 |
CN115906087B (zh) * | 2023-03-09 | 2023-07-07 | 长鑫存储技术有限公司 | 行锤攻击保护方法与存储器 |
Also Published As
Publication number | Publication date |
---|---|
US9812185B2 (en) | 2017-11-07 |
KR20180059556A (ko) | 2018-06-04 |
WO2017070050A1 (en) | 2017-04-27 |
US20170117030A1 (en) | 2017-04-27 |
US10262717B2 (en) | 2019-04-16 |
CN108369820B (zh) | 2022-04-01 |
US20180114561A1 (en) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108369820A (zh) | Dram相邻行干扰缓解 | |
Lee et al. | TWiCe: Preventing row-hammering by exploiting time window counters | |
Son et al. | Making DRAM stronger against row hammering | |
US11610623B2 (en) | Apparatus with a row-hammer address latch mechanism | |
Park et al. | Graphene: Strong yet lightweight row hammer protection | |
US10339994B2 (en) | Semiconductor device | |
US11462291B2 (en) | Apparatuses and methods for tracking word line accesses | |
US11810612B2 (en) | Apparatuses and methods for row hammer based cache lockdown | |
Gomez et al. | DRAM row-hammer attack reduction using dummy cells | |
Lee et al. | TWiCe: Time window counter based row refresh to prevent row-hammering | |
CN114121124A (zh) | 用于更新存储器中的散列键的设备、系统和方法 | |
US11527280B2 (en) | Monitoring and mitigation of row disturbance in memory | |
WO2015149037A1 (en) | Most activated memory portion handling | |
Talukder et al. | PreLatPUF: Exploiting DRAM latency variations for generating robust device signatures | |
US11468937B2 (en) | Apparatuses and methods for generating refresh addresses | |
Chakraborty et al. | Deep learning based diagnostics for rowhammer protection of DRAM chips | |
CN104035834A (zh) | 一种考虑防护措施的缓存可靠性分析方法 | |
Wang et al. | Discreet-para: Rowhammer defense with low cost and high efficiency | |
Zhou et al. | Dnn-defender: An in-dram deep neural network defense mechanism for adversarial weight attack | |
WO2023021452A1 (en) | A method for protecting a dram module against rowhammer attacks, and a dram module | |
Zhou et al. | Threshold Breaker: Can Counter-Based RowHammer Prevention Mechanisms Truly Safeguard DRAM? | |
Woo et al. | Mitigating Row-hammering by Adapting the Probability of Additional Row Refresh | |
Woo et al. | RAMPART: RowHammer Mitigation and Repair for Server Memory Systems | |
Zhou et al. | DRAM-Locker: A General-Purpose DRAM Protection Mechanism against Adversarial DNN Weight Attacks | |
Wang | Emerging Memory System Design to Improve Memory Reliability and Energy Efficiency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |