CN117311601A - 用于控制对存储设备访问的装置和包括该装置的存储系统 - Google Patents
用于控制对存储设备访问的装置和包括该装置的存储系统 Download PDFInfo
- Publication number
- CN117311601A CN117311601A CN202310593782.3A CN202310593782A CN117311601A CN 117311601 A CN117311601 A CN 117311601A CN 202310593782 A CN202310593782 A CN 202310593782A CN 117311601 A CN117311601 A CN 117311601A
- Authority
- CN
- China
- Prior art keywords
- row
- memory cells
- mitigation
- rows
- row hammer
- 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.)
- Pending
Links
- 210000004027 cell Anatomy 0.000 claims abstract description 108
- 230000000116 mitigating effect Effects 0.000 claims abstract description 94
- 230000000694 effects Effects 0.000 claims abstract description 42
- 230000000977 initiatory effect Effects 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims abstract description 5
- 210000000352 storage cell Anatomy 0.000 claims abstract description 3
- 230000004913 activation Effects 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/02—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1048—Data bus control circuits, e.g. precharging, presetting, equalising
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了一种用于控制对存储设备访问的装置。存储设备包括多行存储单元。所述装置包括操作监视器,操作监视器被配置为跟踪对所述存储设备的多行存储单元进行的存储操作;行锤击计数器,所述行锤击计数器被配置为对于所述多行存储单元中的每一行存储单元,确定由于对所述存储设备的其他行存储单元的存储操作而由该行存储单元受到的行锤击效应;缓解模块,所述缓解模块被配置为对于所述多行存储单元中的每一行存储单元,在该行存储单元所受到的累积行锤击效应达到预定阈值的情况下,启动行锤击缓解;和虚拟主机模块,所述虚拟主机模块被配置为响应于所述缓解模块启动针对一行存储单元的行锤击缓解来执行针对该行存储单元的所述行锤击缓解。
Description
技术领域
本申请总体上涉及存储技术,并且具体地涉及一种用于控制对存储设备访问的装置以及包括该装置的存储系统。
背景技术
几乎所有当前可用的存储系统,例如双倍数据速率(DDR)、低功率DDR(LPDDR)、图形DDR(GDDR)和高带宽存储(HBM)存储系统都存在行锤击(row hammer)问题。行锤击是一种安全漏洞,它利用了动态随机存取存储器(DRAM)中的意外和不良副作用,其中不同行的存储单元通过泄漏电荷在它们之间进行电交互,这可能会改变相邻行的存储单元的内容,而这些行在原始的存储器访问时并没有被寻址。这种对DRAM存储单元之间隔离的破坏是由于当今DRAM存储系统中的高单元密度所造成的,并且可以通过多次快速激活相同存储器的行的特别存储器访问模式来触发。
一种用于缓解行锤击问题的潜在方法是针对每一行设置一个嵌入式监视器和计数器,其目标是在DDR、LPDDR、GDDR和HBM存储系统中的激活命令(或在某些情况下激活命令)。这种方法仍然有几个问题。一个主要问题是存储系统必须为每行重复设置监视器和计数器的成本,并由此重复了行锤击缓解调度、受害行更新和计数器重置逻辑的成本。
因此,需要对现有存储系统进行进一步改进。
发明内容
本申请的一个目的是提供一种具有成本效益的行锤击缓解机制的存储系统。
根据本申请的一个方面,提供了一种用于控制对存储设备访问的装置,所述存储设备包括多行存储单元,所述装置包括操作监视器,所述操作监视器被配置为跟踪对所述存储设备的所述多行存储单元进行的存储操作;行锤击计数器,所述行锤击计数器被配置为对于所述多行存储单元中的每一行存储单元,确定由于对所述存储设备的其他行存储单元的存储操作而由该行存储单元受到的行锤击效应;缓解模块,所述缓解模块被配置为对于所述多行存储单元中的每一行存储单元,在该行存储单元所受到的累积行锤击效应达到预定阈值的情况下,启动行锤击缓解;和虚拟主机模块,所述虚拟主机模块被配置为响应于所述缓解模块启动针对一行存储单元的行锤击缓解来执行针对该行存储单元的所述行锤击缓解。
在一些实施例中,所述行锤击计数器还被配置为对于所述多行存储单元的每一行存储单元,根据与该行存储单元相邻的一行或多行存储单元的存储操作,确定该行存储单元所受到的行锤击效应。
在一些实施例中,所述行锤击计数器包括低级别的计数器,所述低级别的计数器被配置为确定所有行的存储单元所受到的行锤击效应;以及高级别的计数器,所述高级别的计数器被配置为确定由所述低级别计数器确定的行锤击效应超过预定阈值的所述多行存储单元中的一部分行存储单元所受到的行锤击效应。
在一些实施例中,所述操作监视器被配置为通过跟踪由耦接到所述存储设备的主机设备发出的激活命令,跟踪对所述存储设备的所述多行存储单元中的存储操作。
在一些实施例中,所述行锤击计数器包括多个计数器,每个计数器分配给所述存储单元中的一行。
在一些实施例中,所述缓解模块包括多个行锤击缓解引擎,每个行锤击缓解引擎被耦接到所述多个计数器中的一个。
在一些实施例中,所述缓解模块包括缓解仲裁器,所述缓解仲裁器耦接在所述多个行锤击缓解引擎和所述虚拟主机模块之间,并且所述缓解仲裁器被配置为调度针对各行存储单元的行锤击缓解的启动。
在一些实施例中,所述装置还包括警报生成器,所述警报生成器被耦接到所述缓解模块,并且所述警报生成器被配置为生成警报信号并将所述警报信号发送到所述主机设备以通知正在所述存储设备内执行的行锤击缓解操作。
在一些实施例中,所述警报发生器通过以下之一被耦接到所述主机设备:Alert_n引脚、环回数据输出QLBD总线或环回数据选通QLBS总线。
在一些实施例中,所述缓解模块还被配置为当所述一行存储单元所受到的累积行锤击效应达到预定阈值时,重置所述该行存储单元的计数器计数值。
在一些实施例中,所述装置集成在寄存时钟驱动器中。
在本申请的另一个方面,提供了一种存储系统。该存储系统包括至少一个存储器模块和包括上述方面的装置。
以上为本申请的概述,可以简化、概括和省略细节。本领域技术人员将理解,本部分仅是说明性的,并不旨在以任何方式限制本申请的范围。本概述部分既不旨在确定要求保护的主题的关键特征或基本特征,也不旨在充当确定要求保护的主题的范围的辅助手段。
附图说明
从以下描述和所附权利要求结合附图将更全面地理解本申请的前述和其他特征。应当理解,这些附图仅描绘了本申请内容的几个实施例,不应理解为对本申请范围的限制。结合附图对本申请的内容进行更清楚、更详细的说明。
图1示出了根据本申请实施例的存储系统;
图2示出了根据本申请实施例的用于控制对存储设备访问的装置。
具体实施方式
在下面的详细描述中,参考了形成其一部分的附图。在附图中,除非上下文另有明确规定,否则相似的附图标记通常指代相似的部件。在具体实施方式、附图和权利要求中描述的说明性的实施例不旨在进行限制。在不脱离本申请主题的精神或范围的情况下,可以采用其他实施例并且可以做出其他改变。应当理解,在本申请中概括描述并在附图中示出的本申请的各种形式的各种配置、替代、组合和设计旨在构成本申请的一部分。
图1示出了根据本申请实施例的具有存储系统110的电子设备100。如图1所示,存储系统110包括具有一个或多个存储器模块114的存储设备,以及本地控制模块,例如寄存时钟驱动器(RCD)112,其用于控制对一个或多个存储器模块114的访问。存储器模块114可以作为双列直插式存储器模块(DIMM)设置在PCB板上,并通过存储器接口与诸如中央处理单元(CPU)的主机设备120接口,从而在主机设备120和存储系统110之间交互数据。在某些实施例中,存储系统110可以是与JEDEC DDR SDRAM标准兼容的存储系统,包括JEDEC DDR2、DDR3、DDR4、DDR5或任何其他DDR标准,并且相应地接口可能是DDR接口。
在图1所示的实施例中,存储系统110的存储器模块114包括DRAM存储器模块0至4、DRAM存储器模块10至14、DRAM存储器模块20至24和DRAM存储器模块30至34。存储器模块114构成了具有多行存储单元的存储设备。多行存储单元可以由相应的数据访问命令来寻址。当主机设备120对一行存储单元进行寻址访问时,在存储单元收到数据访问命令之前,主机设备120向RCD 112发出激活命令以激活或打开多行存储单元以用于后续数据访问。例如,2021年10月发布的JEDEC标准JESD79-5A定义了示例性激活命令。具体地,在命令/地址(CA)引脚CA0和CA1为低电平的情况下发出激活命令。与激活命令一致,地址位被发出以选择将被激活的存储系统110的存储体组、存储体或行。例如,以X4/8ballout形式的BG[2:0]引脚上的值或X16 ballout形式的BG[1:0]引脚上的值可用于选择存储系统110的存储体组。BA[1:0]引脚上的值可用于选择一个存储体组中的存储体。R[17:0]的其他适当CA引脚上提供的地址可用于选择要激活的特定行的存储单元。特定行的存储单元可以保持激活(或打开)以供访问,直到预充电命令或发出预充电的所有命令被发出。在同一存储体组中的一个不同行被打开之前,应先对一个存储体组进行预充电。
由于激活命令可以指示对存储设备的其中一行存储单元进行数据访问操作,其最初由RCD 112从主机设备120接收并被处理,因此在RCD 112内可以使用如下文所述的集中式监控和行锤击缓解机制。集中式监控机制可以避免针对分别的多行存储单元的监控器和计数的重复的大量成本,因此减少了用于采用这种分别监控并计数机制的大量成本。
图2示出了根据本申请实施例的用于控制对存储设备20访问的装置。存储设备20包括可以通过数据访问命令寻址的多行存储单元,并且存储设备20可以包括如图1所示的存储器模块114,或者包括单个存储器模块。该装置可以集成在本地控制模块中,例如图1中所示的RCD 112。
如图2所示,该装置包括操作监视器201,其跟踪对存储设备20的多行存储单元进行的存储操作。具体地,存储操作可以通过某些预定义的CA引脚从主机设备(未显示)接收到的激活命令来发信号。激活命令用于激活对存储器设备20的各行存储单元的数据访问操作,其向存储设备20中的特定行存储单元发送存储操作的启动信号。在一些实施例中,操作监视器201可以是部署在设备内的信号路径的上游,以监视接收到的任何激活命令,这些激活命令是用于寻址存储设备20的任何行的存储单元的任何激活命令。在实施例中,操作监视器201耦接到CA引脚,其与RCD 112内的正常命令路径并行。正常命令路径用于将数据访问信号或命令从主机设备传输到存储设备20以进行正常数据访问操作。激活命令可以根据被寻址的行对某些存储单元进行读/写操作,这些操作可能会影响被寻址的存储单元行中的电荷。由于当今存储设备中存储单元的高密度,因此读/写操作可能至少在一定程度上进一步影响与被寻址行相邻的行中的存储单元的电荷。相邻行的存储单元相互产生不利影响的效果被称为行锤击(row hammer)。与被寻址的行相邻的行被称为受影响的受害行,而被激活命令寻址的行被称为影响其他行的加害行。当寻址的行被多次激活时,与其相邻的受害行需要在电荷泄漏模糊与其存储单元中存储的电荷相关的实际值之前被刷新。可以理解,受害行的范围可能会根据存储设备存储单元的密度、存储设备的制造工艺以及一些其他物理因素而改变。在一些示例中,如果对加害行的存储操作可能影响这四个最相邻的行,则受害行的预定范围可以包括与加害行最相邻的四个行。例如,如果加害行是位于存储设备中间的第i行,则受害行可能包括第(i-2)行、第(i-1)行、第(i+1)行和第(i+2)行。换句话说,一些与第i行不太接近的其他行可能不会受到对第i行的操作的明显影响,因此可以忽略对这些行的行锤击影响。可以理解,受害行的范围可以在实践中进行配置或调整。在一个示例中,如果更多相邻行可能会受到寻址的行的影响,则可以将受害行的范围设置得更大。在一些其他示例中,如果相邻行不太可能受到寻址的行的影响,则可以将受害行的预定范围设置得更小。换言之,可以类似地配置或调整针对一个受害行的加害行的范围。如果一行存储单元可能会受到对更多相邻行的存储操作的影响,则可以将加害行的范围设置得更大。如果一行存储单元可能会受到对较少相邻行的存储操作的影响,则可以将加害行的范围设置得更小。
操作监视器201可以耦接到行锤击计数器202以传输关于由操作监视器201监控的存储操作的信息。因此,对于多行存储单元的每一行存储单元,行锤击计数器202可以确定由于对存储设备的其他行存储单元的存储操作而由该行存储单元所受到的行锤击效应。在一个实施例中,行锤击计数器202可以对寻址存储设备的各行存储单元的激活命令进行计数,即,针对加害行的激活命令。如上所述,由于受害行与相应的加害行相关,因此可能需要进一步的转换来记录当它们作为“受害行”而不是作为“攻击者”操作时,多行存储单元所受到的行锤击效应。
下面的表1示出了表示各行所受到的行锤击效应的示例性行锤击效应计数或受害计数。如表1所示,每一行存储单元都分配有一个计数器,该计数器是行锤击计数器的一部分,即第0行分配有计数器0,第1行分配有计数器1……第i行分配有计数器i……第n行分配有计数器n。因此,例如,当第2行的加害行被激活命令寻址和激活时,计数器2中的计数器计数可以增加1。此时,第2行是受害行。例如,第2行的加害行可以是四个相邻行,即第0行、第1行和第3行和第4行。因此,在第0行、第1行和第3行和第4行中的任何一个被激活时,受害计数或行锤击效应计数可以被更新并改变。例如,如果第1行被寻址和激活,第2行的受害计数可能会增加1。行所受到的行锤击效应与受害计数呈正相关。在一些其他示例中,每个受害行的受害计数进行加权,这是因为加害行对受害行的影响可能根据加害行到受害行的距离而不同。例如,当第1行被寻址时,第2行受到的行锤击效应可能大于第2行在第0行被寻址时受到的行锤击效应,这是因为第1行比第0行更靠近第2行。因此,加权受害行可以通过加权不同的影响因素来获得。例如,当第1行或第3行被寻址时,第2行的受害计数可能会增加,而当第0行或第4行被寻址时,第2行的受害计数可能会增加1,如表1所示。在一些实施例中,可以在每个计数器内部署加权模块或子模块以实现影响因素的适当加权。
表1行锤击效应计数或受害计数
在一些实施例中,行锤击计数器202可以是单个模块,其集成了用于存储设备中的所有行存储单元的计数器功能。然而,在一些其他实施例中,行锤击计数器202可以由多个单独的计数器组成,例如如图2所示的计数器0到计数器n。在这种情况下,操作监视器201可以耦接到这(n+1)个计数器发送有关接收相应激活命令的信息。
由于行锤击计数器202需要确定存储设备20中的所有行的存储单元所受到的行锤击效应,因此应该为每一行分配一个计数器计数。因此,如果计数器计数具有较大的位宽,例如16位、32位或更高,所有的计数器的计数可能会占用太多的存储空间,但存储空间在本地控制模块或RCD 200中是相对有限的。而且,在对存储设备202的存储操作期间,所有行的存储单元都不太可能受到同等影响,因为在大多数情况下,只有存储相关数据的少量几行的存储单元可能会受到它们的相邻行的相互影响。
为了减少对本地控制模块或RCD 200中的存储空间的不期望占用,行锤击计数器202可以分为两个部分。行锤击计数器202的第一部分可以是低级别的计数器,用于确定和记录所有行存储单元所受到的行锤击效应。但是,计数器计数可以是小位宽,例如4位或8位。可以理解,对于图2所示的行锤击计数器202的分布式计数器结构,低级别的计数器可以分为多个低级别的计数器子单元,分别对应计数器0到计数器n。此外,可以理解,在一些其他替代实施例中,单个计数器可以包括多个计数器值,每个计数器值可以被分配用于一行存储单元。行锤击计数器202的第二部分可以是高级别计数器,其被“动态”分配给低级别计数器子单元的计数器计数超过预定阈值的一个或多个行,以便确定和记录这些行所受到的行锤击效应。高级别计数器中的计数器计数表明,各行可能比未分配有行锤击计数器202的高级别计数器的其余行受到更多影响。如上所述,由于在一段时间内只有较少数量的行可能受到对其他行的存储器操作的累积影响,因此在高级别中配置的计数器计数的数量可能很小,至少比低级别计数器子单元中的计数器计数数量小很多。在一些示例中,高级别计数器的计数可以具有更大的位宽,例如16位、32位或更高。在这种情况下,如果某行存储单元的高级别的计数器仍然超过另一个预定阈值,则表明该行存储单元受到了显着的行锤击效应,因此需要缓解行锤击效应。
仍然参考图2,该装置还包括缓解模块203。缓解模块203被配置为针对存储设备的存储单元的每一行存储单元,在该行存储单元所受到的累积的行锤击效应达到预定阈值的情况下,启动行锤击缓解。在一个实施例中,缓解模块203耦接到行锤击计数器202以接收计数器计数,该计数器计数指示被确定的存储设备20的多行存储单元所受到的行锤击效应。
在诸如图2所示的实施例的一些实施例中,缓解模块203可以被划分为单独的缓解引擎,并且每个缓解引擎可以被耦接到相应的计数器。换句话说,每个行锤击缓解引擎可以跟踪一行存储单元所受到的行锤击效应并采取相应的行动。如果针对该行存储单元的累积行锤击效应达到或大于预定阈值,则缓解模块203可以为该行存储单元生成缓解命令。在一些实施例中,缓解模块203还可以生成计数器重置命令并将计数器重置命令发送到相应的计数器。以这种方式,计数器中的计数器计数就可以被重置,因为对应的一行存储单元很快就会被刷新,并且可以消除之前累积的行锤击效应。重置后,可以让计数器再次继续判断各行存储单元的行锤击效应。可以理解,缓解模块203可以存储预定阈值,用于确定是否启动行锤击缓解。在表1所示的以整数格式测量行锤击计数的示例中,预定阈值可以是预定整数,例如100、200、500、1000或任何其他适当的数字。在一些实施例中,可以根据存储设备的特性来调整预定阈值。例如,高密度存储芯片的预定阈值可能大于低密度存储芯片的预定阈值,或者高电源电压存储芯片的预定阈值可能大于低电源电压存储芯片的预定阈值。
在一些实施例中,缓解模块203可以被划分为两个或更多行锤击缓解引擎,并且每个行锤击缓解引擎可以对应于两行或更多行存储单元。例如,每个行锤击缓解引擎可以对应于存储列中的多行存储单元、存储子通道中的多行存储单元、存储体组中的多行存储单元或存储体中的多行存储单元。
该装置还包括虚拟主机模块204。虚拟主机模块204被耦接到缓解模块203以接收缓解命令。虚拟主机模块204可以响应于缓解模块203针对一行存储单元启动行锤击缓解的提示来执行针对该行存储单元的行锤击缓解。在一些实施例中,虚拟主机模块204可以发出刷新命令或其他预编程的行锤击缓解命令序列,这些命令可以与DDR标准中定义的命令格式兼容。由于虚拟主机模块204集成在RCD 200内,因此不需要从存储系统外部的“真实”主机设备接收用于减轻存储设备20中行锤击效应的命令,从而减少主机设备的工作量。作为装置中信号路径的下游,虚拟主机模块可以通过多路复用器205耦接到存储设备20。正常命令路径也通过多路复用器205耦接到存储设备20,该正常命令路径与设备的信号路径并行。因此,多路复用器205可以被切换为将虚拟主机模块204连接到存储设备20,或者将正常的命令路径从外部主机设备连接到存储设备20。
在图2所示的实施例中,缓解模块203还包括缓解仲裁器206。缓解仲裁器206可以被耦接在行锤击缓解引擎0至行锤击缓解引擎n与虚拟主机模块204之间。在一些情况下,两行或多行存储单元可能同样受到其他加害行的影响,因此它们各自的计数器可能同时达到预定阈值。例如,计数器0和计数器4都可以达到预定阈值,因此行锤击缓解引擎0和行锤击缓解引擎4都可以生成缓解命令。在一些实施例中,缓解仲裁器206可以为各行的存储单元调度缓解命令以避免虚拟主机模块204中出现信号拥堵。在一些其他实施例中,缓解仲裁器206可以将针对各行存储单元的缓解命令单元同时传送到虚拟主机模块204,使得虚拟主机模块可以同时刷新对应行的存储单元。
在一些实施例中,缓解模块203可以耦接到警报生成器207。警报生成器207可以生成警报信号并将其发送到外部主机设备。以这种方式,可以向外部主机设备发信号通知正在存储系统内执行的行锤击缓解操作。警报生成器207可以通过现有标准中定义的某些引脚耦接到主机设备。例如,Alert_n引脚、QLBD(环回数据输出)总线或QLBS(环回数据选通)总线可用于传输警报信号。现有的DDR标准为Alert_n定义了一个警报功能,即如果CRC有错误,则Alert_n在一段时间间隔内变为低电平,然后返回高电平。QLBD总线和QLBS总线具有相似的信号输出能力,因此可用于指示行锤击缓解的性能。由于现有标准中的Alert_n引脚与其他功能如命令总线奇偶校验错误检查、写入CRC错误检查等是多用途的,因此可以在设备中配置适当的优先级来确定当同时有多个功能被触发时将哪种类型的信号发送到主机设备。警报生成器207可以在不同时间发送静态低或高值,或特定的切换模式,以向主机设备指示不同的功能。可以理解,当主机设备接收到指示正在进行的行锤击缓解的警报信号时,它可以暂停与RCD 200的通信一段时间,以允许存储系统中完整地进行内部行锤击缓解操作。以这种方式,主机设备的行锤击处理状态机制或其他类似的行锤击缓解机制不会被错误触发。
在一些实施例中,警报生成器207和主机设备之间的通信可以是双向的,并且主机设备因此可以向警报生成器207发送缓解命令,例如,在何时主机设备被通知针对某些受害行出现了明显行锤击效应。警报生成器207可以通过缓解模块203将缓解命令传递给虚拟主机模块204。一旦接收到缓解命令,虚拟主机模块204就可以有针对性地执行针对遭受行锤击影响的受害行的行锤击缓解。这样,主机设备不必从行锤击计数器202读回计数,这减少了主机设备的工作量。
需要说明的是,虽然以上描述了根据本申请实施例的用于控制对存储设备访问的装置的设备的几个模块或子模块,但是这种划分仅仅是示例性的而不是强制性的。实际上,根据本申请的实施例,上述两个或多个模块的特征和功能可以体现在一个模块中。反之,上述一个模块的特征和功能可以进一步划分为多个模块。
本领域技术人员将能够通过研究说明书、申请、附图和所附权利要求来理解和实施对所公开实施例的其他变体。在权利要求中,词语“包括”或“包括”不排除其他元件和步骤,词语“一”不排除复数。在本申请的实际应用中,一个部件可以执行权利要求中引用的多个技术特征的功能。权利要求中的任何参考数字不应被解释为限制范围。
Claims (13)
1.一种用于控制对存储设备访问的装置,其特征在于,所述存储设备包括多行存储单元,所述装置包括:
操作监视器,所述操作监视器被配置为跟踪对所述存储设备的所述多行存储单元进行的存储操作;
行锤击计数器,所述行锤击计数器被配置为对于所述多行存储单元中的每一行存储单元,确定由于对所述存储设备的其他行存储单元的存储操作而由该行存储单元受到的行锤击效应;
缓解模块,所述缓解模块被配置为对于所述多行存储单元中的每一行存储单元,在该行存储单元所受到的累积行锤击效应达到预定阈值的情况下,启动行锤击缓解;和
虚拟主机模块,所述虚拟主机模块被配置为响应于所述缓解模块启动针对一行存储单元的行锤击缓解来执行针对该行存储单元的所述行锤击缓解。
2.根据权利要求1所述的装置,其特征在于,所述行锤击计数器还被配置为对于所述多行存储单元的每一行存储单元,根据与该行存储单元相邻的一行或多行存储单元的存储操作,确定该行存储单元所受到的行锤击效应。
3.根据权利要求1所述的装置,其特征在于,所述行锤击计数器包括:
低级别的计数器,所述低级别的计数器被配置为确定所有行的存储单元所受到的行锤击效应;以及
高级别的计数器,所述高级别的计数器被配置为确定由所述低级别计数器确定的行锤击效应超过预定阈值的所述多行存储单元中的一部分行存储单元所受到的行锤击效应。
4.根据权利要求1所述的装置,其特征在于,所述操作监视器被配置为通过跟踪由耦接到所述存储设备的主机设备发出的激活命令,跟踪对所述存储设备的所述多行存储单元的存储操作。
5.根据权利要求1所述的装置,其特征在于,所述行锤击计数器包括多个计数器,每个计数器分配给一行存储单元。
6.根据权利要求5所述的装置,其特征在于,所述缓解模块包括多个行锤击缓解引擎,每个行锤击缓解引擎耦接到所述多个计数器中的一个。
7.根据权利要求6所述的装置,其特征在于,所述缓解模块包括缓解仲裁器,所述缓解仲裁器耦接在所述多个行锤击缓解引擎和所述虚拟主机模块之间,并且所述缓解仲裁器被配置为调度针对各行存储单元的行锤击缓解的启动。
8.根据权利要求1所述的装置,其特征在于,所述装置还包括:
警报生成器,所述警报生成器被耦接到所述缓解模块,并且所述警报生成器被配置为生成警报信号并将所述警报信号发送到所述主机设备以通知正在所述存储设备内执行的行锤击缓解操作。
9.根据权利要求8所述的装置,其特征在于,所述警报发生器通过以下之一被耦接到所述主机设备:Alert_n引脚、环回数据输出QLBD总线或环回数据选通QLBS总线。
10.根据权利要求1所述的装置,其特征在于,所述缓解模块还被配置为当一行存储单元所受到的累积行锤击效应达到预定阈值时,重置该行存储单元的计数器计数值。
11.根据权利要求1所述的装置,其特征在于,所述缓解模块还被配置为对于所述多行存储单元的每一行存储单元,当从耦接到所述存储设备的所述主机设备接收到缓解命令时,启动行锤击缓解。
12.根据权利要求1所述的装置,其特征在于,所述装置集成在寄存时钟驱动器中。
13.一种存储系统,其特征在于,所述存储系统包括:
至少一个存储器模块,包括多行存储单元;和
一种用于控制对所述至少一个存储器模块的访问的装置,其中所述装置包括:
操作监视器,所述操作监视器被配置为跟踪对所述存储设备的所述多行存储单元进行的存储操作;
行锤击计数器,所述行锤击计数器被配置为对于所述多行存储单元中的每一行存储单元,确定由于对所述存储设备的其他行存储单元的存储操作而由该行存储单元受到的行锤击效应;
缓解模块,所述缓解模块被配置为对于所述多行存储单元中的每一行存储单元,在该行存储单元所受到的累积行锤击效应达到预定阈值的情况下,启动行锤击缓解;和
虚拟主机模块,所述虚拟主机模块被配置为响应于所述缓解模块启动针对一行存储单元的行锤击缓解来执行针对该行存储单元的所述行锤击缓解。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/852,344 US11935623B2 (en) | 2022-06-28 | 2022-06-28 | Apparatus for controlling access to a memory device and memory system comprising the same |
US17/852,344 | 2022-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117311601A true CN117311601A (zh) | 2023-12-29 |
Family
ID=89254157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310593782.3A Pending CN117311601A (zh) | 2022-06-28 | 2023-05-24 | 用于控制对存储设备访问的装置和包括该装置的存储系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11935623B2 (zh) |
CN (1) | CN117311601A (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11087819B2 (en) * | 2018-10-09 | 2021-08-10 | Micron Technology, Inc. | Methods for row hammer mitigation and memory devices and systems employing the same |
US10950288B2 (en) * | 2019-03-29 | 2021-03-16 | Intel Corporation | Refresh command control for host assist of row hammer mitigation |
WO2022154890A1 (en) * | 2021-01-14 | 2022-07-21 | Micron Technology, Inc. | Memory devices and systems configured to communicate a delay signal and methods for operating the same |
US11994990B2 (en) * | 2022-01-21 | 2024-05-28 | Micron Technology, Inc. | Memory media row activation-biased caching |
US20230393992A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Row hammer mitigation using a victim cache |
-
2022
- 2022-06-28 US US17/852,344 patent/US11935623B2/en active Active
-
2023
- 2023-05-24 CN CN202310593782.3A patent/CN117311601A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11935623B2 (en) | 2024-03-19 |
US20230420020A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11315619B2 (en) | Apparatuses and methods for distributing row hammer refresh events across a memory device | |
US11715512B2 (en) | Apparatuses and methods for dynamic targeted refresh steals | |
KR102234239B1 (ko) | 반도체 디바이스 | |
US10410710B2 (en) | Systems and methods for performing row hammer refresh operations in redundant memory | |
US11380382B2 (en) | Refresh logic circuit layout having aggressor detector circuit sampling circuit and row hammer refresh control circuit | |
US9761298B2 (en) | Method, apparatus and system for responding to a row hammer event | |
US9600362B2 (en) | Method and apparatus for refreshing and data scrubbing memory device | |
CN111128268A (zh) | 用于基于存取的刷新时序的设备及方法 | |
CN102456394A (zh) | 执行dram刷新操作的存储电路、系统和模块及其操作方法 | |
US20230010619A1 (en) | Apparatuses and methods for dynamically allocated aggressor detection | |
KR101626468B1 (ko) | 누설 전류 차단기능을 갖는 데이터 처리장치의 메모리 모듈 | |
WO2022046224A1 (en) | Monitoring and mitigation of row disturbance in memory | |
CN114077384A (zh) | 存储器装置和用于控制存储器装置的刷新操作的方法 | |
US20240194239A1 (en) | Apparatus with refresh management mechanism | |
KR20110018947A (ko) | 전기 회로, 방법 및 동적 랜덤 액세스 메모리 | |
CN114067876A (zh) | 多个存储器装置的交错刷新地址计数器以及相关方法、装置和系统 | |
US20230206988A1 (en) | Apparatus with memory process feedback | |
US11972788B2 (en) | Apparatuses, systems, and methods for controller directed targeted refresh operations based on sampling command | |
CN117311601A (zh) | 用于控制对存储设备访问的装置和包括该装置的存储系统 | |
US20220374168A1 (en) | Memory with memory-initiated command insertion, and associated systems, devices, and methods | |
CN113393876A (zh) | 存储器、存储器系统和存储器的操作方法 | |
US11790974B2 (en) | Apparatuses and methods for refresh compliance | |
US20220179556A1 (en) | Memory device having hidden refresh | |
CN116564379A (zh) | 用于直接刷新管理命令的设备、系统及方法 |
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 |