CN115249501A - 攻击地址的获取方法及其电路、锤击刷新方法和存储器 - Google Patents
攻击地址的获取方法及其电路、锤击刷新方法和存储器 Download PDFInfo
- Publication number
- CN115249501A CN115249501A CN202110469619.7A CN202110469619A CN115249501A CN 115249501 A CN115249501 A CN 115249501A CN 202110469619 A CN202110469619 A CN 202110469619A CN 115249501 A CN115249501 A CN 115249501A
- Authority
- CN
- China
- Prior art keywords
- address
- count value
- sequence
- attack
- activation
- 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
Images
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
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例涉及一种攻击地址的获取方法及其电路、锤击刷新方法和存储器,所述攻击地址的获取方法,包括:接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;根据所述序列计数值和所述激活计数值生成锁存控制信号;根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。在本申请实施例中,可以准确评估各个数据行发生行锤击问题的发生概率,还可以有效降低获取方法被恶意破解和针对性攻击的风险,从而进一步提高了获取方法的安全性,即,本申请实施例提供了一种可靠性较高的获取方法。
Description
技术领域
本申请实施例涉及半导体存储器技术领域,特别是涉及攻击地址的获取方法及其电路、锤击刷新方法和存储器。
背景技术
随着半导体存储器技术的不断发展,同步动态随机存储器(Synchronous DynamicRandom Access Memory,SDRAM)的体积不断缩小。但是,随着存储器体积的缩小,相邻行之间的距离也在不断缩窄,从而导致发生行锤击问题的风险越来越高。行锤击是指在一定时间段内对攻击行的重复访问,导致与攻击行(aggressive row)相邻的受害者行(victimrow)发生故障的现象。行锤击会造成受害者行的数据变化,从而导致存储器的可靠性大大降低。
发明内容
本申请实施例提供了一种攻击地址的获取方法及其电路、锤击刷新方法和存储器,可以有效降低行锤击的发生风险,从而提高存储器的数据可靠性。
一种攻击地址的获取方法,包括:
接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;
接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;
根据所述序列计数值和所述激活计数值生成锁存控制信号;
根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。
在其中一个实施例中,所述根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址,包括:
当所述锁存控制信号使能有效时,对当前的所述目标行地址进行锁存;
根据锁存顺序输出已锁存的目标行地址作为所述攻击地址。
在其中一个实施例中,所述根据锁存顺序输出已锁存的目标行地址作为所述攻击地址,包括:
响应于下一周期的所述刷新信号,根据锁存顺序输出预设数量的已锁存的目标行地址作为所述攻击地址。
在其中一个实施例中,所述根据锁存顺序输出预设数量的已锁存的目标行地址作为所述攻击地址,包括:
根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址。
在其中一个实施例中,所述方法还包括:
响应于下一周期的所述刷新信号,对各所述攻击地址对应的所述激活计数值进行复位。
在其中一个实施例中,所述根据第二预设次序更新所述目标行地址对应的激活计数值,包括:以数值递增的次序更新所述目标行地址对应的激活计数值;
所述对各所述攻击地址对应的所述激活计数值进行复位,包括:对各所述攻击地址对应的所述激活计数值清零。
在其中一个实施例中,所述根据所述刷新信号和第一预设次序更新序列计数值,包括:
根据当前的所述序列计数值和第一预设计数步长更新所述序列计数值。
在其中一个实施例中,所述根据第二预设次序更新所述目标行地址对应的激活计数值,包括:
根据所述目标行地址对应的当前的激活计数值和第二预设计数步长更新所述激活计数值;
其中,所述第一预设计数步长和所述第二预设计数步长相等。
在其中一个实施例中,所述根据所述序列计数值和所述激活计数值生成锁存控制信号,包括:
当所述序列计数值等于所述激活计数值时,生成使能有效的所述锁存控制信号。
在其中一个实施例中,所述根据所述序列计数值和所述激活计数值生成锁存控制信号,还包括:
当所述序列计数值大于所述激活计数值时,生成使能无效的所述锁存控制信号。
在其中一个实施例中,所述方法还包括:
当所述锁存控制信号使能无效时,保持对前一的所述目标行地址进行锁存。
一种锤击刷新方法,包括如上述的攻击地址的获取方法的步骤,还包括:
确定所述攻击地址的相邻行地址为锤击刷新地址;
对所述锤击刷新地址对应的数据行进行锤击刷新。
在其中一个实施例中,所述确定所述攻击地址的相邻行地址为锤击刷新地址,包括:
分别获取所述攻击地址的第一相邻行地址和第二相邻行地址,所述攻击地址位于所述第一相邻行地址和所述第二相邻行地址之间。
一种攻击地址的获取电路,包括:
序列计数器,用于接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;
激活计数器,用于接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;
数据分析单元,分别与所述序列计数器和所述激活计数器连接,用于根据所述序列计数值和所述激活计数值生成锁存控制信号;
地址锁存器,与所述数据分析单元连接,用于根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。
一种存储器,包括如上述的攻击地址的获取电路。
上述攻击地址的获取方法及其电路、锤击刷新方法和存储器,所述攻击地址的获取方法,包括:接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;根据所述序列计数值和所述激活计数值生成锁存控制信号;根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。在本申请实施例中,通过获取存储阵列中各行的激活计数值,可以准确评估各个数据行发生行锤击问题的发生概率,便于存储器根据不同的发生概率分别执行对应的行锤击规避措施,而且,通过采用不断更新的序列计数值对激活计数值进行比较,可以有效降低获取方法被恶意破解和针对性攻击的风险,从而进一步提高了获取方法的安全性,即,本申请实施例提供了一种可靠性较高的获取方法。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一实施例的攻击地址的获取系统的示意图;
图2为一实施例的攻击地址的获取方法的流程图之一;
图3为一实施例的步骤S400的子流程图;
图4为一实施例的攻击地址的获取方法的流程图之二;
图5为一实施例的攻击地址的获取方法的流程图之三;
图6为一实施例的攻击地址的获取方法的步骤S100至S200的子流程图;
图7为一实施例的攻击地址的获取方法的流程图之四;
图8为一实施例的锤击刷新方法的流程图;
图9为一实施例的攻击行和相邻行的示意图。
元件标号说明:
攻击地址的获取电路:10;序列计数器:100;激活计数器:200;数据分析单元:300;地址锁存器:400。
具体实施方式
为了便于理解本申请实施例,下面将参照相关附图对本申请实施例进行更全面的描述。附图中给出了本申请实施例的首选实施例。但是,本申请实施例可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请实施例的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本文中在本申请实施例的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请实施例。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供了一种攻击地址的获取方法,本申请实施例的获取方法以应用于图1所示的攻击地址的获取系统为例进行说明。具体地,本申请实施例的攻击地址的获取电路10与存储阵列均设置于存储器内部,并相互连接。攻击地址的获取电路10用于确定存储阵列中被频繁进行读写操作的数据行(即攻击地址),从而便于实施相应的应对措施,以避免行锤击造成的数据异常或丢失的问题。其中,相应的应对措施包括但不限于刷新与攻击地址相邻行的已存储数据、限制对攻击地址的数据读写操作等。
如图1所示,攻击地址的获取电路10还与控制器连接,存储器中还设置有命令解码器,命令解码器从控制器获取命令信号,并对命令信号进行解码,以获取内部电路能够执行的各种内部指令信号,例如激活信号ACT、预充电信号Pre、读写信号R/W及刷新信号REF等,攻击地址的获取电路10接收激活信号ACT和刷新信号REF,并响应于上述信号执行攻击地址的获取方法中的各步骤。
其中,激活信号ACT在控制器指示存储器执行行存取时被激活,当激活信号ACT被激活时,存储阵列中需要执行读写操作的数据行被打开。读写信号R/W在需要执行读写操作的数据行打开后被激活,当读写信号R/W被激活时,可以对对应的数据行进行数据读写。预充电信号Pre在完成对数据行的读写操作后被激活,当预充电信号Pre被激活时,存储阵列中需要执行读写操作的数据行被关闭。
刷新信号REF在需要执行自动刷新命令时被激活,并且可以根据内部时序以一定的周期被反复激活。可以理解的是,即使不存在行锤击问题,存储单元的存储电容中存储的电荷也会随着时间而不断流失,因此,存储器需要以一定的周期执行刷新操作,从而确保存储单元中存储的数据的准确性。具体地,当执行刷新操作时,先获取存储单元中当前的电荷量,再根据当前的电荷量判断该存储单元存储的数据是1还是0,最后根据判定结果重新向存储电容进行充电或放电,从而使存储电容中存储的电荷量与其所要存储的数据相对应。
参考图1,本申请实施例的攻击地址的获取电路10包括序列计数器100、激活计数器200、数据分析单元300和地址锁存器400,本申请实施例的获取方法的各步骤分别由获取电路中各元件一一对应执行,图2为一实施例的攻击地址的获取方法的流程图之一,结合参考图1和图2,本实施例的获取方法包括步骤S100至S400。
S100:接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值。
具体地,序列计数器100接收到当前周期的刷新信号,并响应于刷新信号更新序列计数器100的值。通过采用基于刷新信号不断更新的序列计数值,可以有效降低获取方法被恶意破解和针对性攻击的风险,从而提高了获取方法的安全性。
其中,序列计数器100中内置有数值更新的第一预设次序,第一预设次序例如可以为X1,X2,X3,X4…,若在接收到当前周期的刷新信号前,序列计数器100的序列计数值为X2,则在接收到当前周期的刷新信号后,序列计数器100的序列计数值更新为X3。可选地,第一预设次序可以为有固定变化规律的递增序列,例如为11,12,13,14…。第一预设次序也可以为有固定变化规律的递减序列,例如为18,16,14,12…。第一预设次序还可以为没有固定变化规律的一串序列,例如为11,13,14,15,17…。需要明确的是,本实施例不具体限定第一预设次序的设置方式,只需要第一预设次序为一有限长序列,且序列计数器100能够在每次接收到刷新信号时,根据第一预设次序对序列计数值进行一次更新即可,即,除随机计数器以外的其他具有规律变化的计数器均可以认定为本实施例的序列计数器100。
S200:接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值。
具体地,激活计数器200接收到当前周期的激活信号,并响应于激活信号更新激活计数器200的值。激活计数器200中内置有数值更新的第二预设次序,预设次序例如可以为Y1,Y2,Y3,Y4…,若在接收到当前周期的激活信号前,激活计数器200的序列计数值为Y2,则在接收到当前周期的激活信号后,激活计数器200的序列计数值更新为Y3。与第一预设次序相似地,第二预设次序可以为有固定变化规律的递增序列,也可以为有固定变化规律的递减序列,还可以为没有固定变化规律的一串序列。需要明确的是,第二预设次序可以与第一预设次序相同,也可以与第二预设次序不同,本实施例不具体进行限定。
其中,在本申请实施例中,序列计数器100接收刷新信号的频率低于激活计数器200接收激活信号的频率,但两个信号的接收频率之间存在正相关关系。可以理解的是,数据行响应于激活信号被激活的频率通常与存储器的读写速度正相关,而且,正是由于对被攻击的数据行的不断读写才会导致行锤击的风险增加。因此,根据数据行被激活的频率设置控制器发送刷新信号的频率,能够更好地对存储阵列进行保护。
S300:根据所述序列计数值和所述激活计数值生成锁存控制信号。
具体地,当所述序列计数值和所述激活计数值满足一定条件时,可以认为该激活计数器200对应的数据行被频繁激活,存在发生行锤击的风险,即可以发出使能有效的锁存控制信号,以指示地址锁存器400对该激活计数器200对应的数据行的地址(即目标行地址)进行锁存。其中,数据分析单元300中可以预设第一预设次序与第二预设次序之间的映射关系,以判定序列计数值和激活计数值是否满足条件。示例性地,数据分析单元300可以是具有基础的数值大小比较功能的比较器,并可以根据序列计数器100和激活计数器200之间的大小关系判定输出对应的锁存控制信号。例如,可以当所述序列计数值等于所述激活计数值时,生成使能有效的所述锁存控制信号;并当所述序列计数值大于所述激活计数值时,生成使能无效的所述锁存控制信号,以提供一种较为易于实行,且占用数据分析时间较少的判定逻辑。
可以理解的是,本实施例不具体限定数据分析单元300的类型,数据比较器也可以是具有更加复杂的数据处理或逻辑判定规则的比较器,而不仅仅用于比较数值的大小关系,从而提升攻击地址的获取方法和获取电路的复杂度,进而降低被恶意破解的风险,提高存储器的可靠性。
S400:根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。
具体地,地址锁存器400响应于锁存控制信号对所述目标行地址进行锁存,被锁存的目标行地址可以作为攻击地址的备选地址。其中,地址锁存器400可以锁存多个目标行地址。可选地,地址锁存器400可以在需要的时刻输出锁存的全部目标行地址作为攻击地址,也可以只输出锁存的部分目标行地址作为攻击地址,具体可以根据刷新速度等参数确定攻击地址的数量。
在本实施例中,所述攻击地址的获取方法包括:接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;根据所述序列计数值和所述激活计数值生成锁存控制信号;根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。在本申请实施例中,通过获取存储阵列中各行的激活计数值,可以准确评估各个数据行发生行锤击问题的发生概率,便于存储器根据不同的发生概率分别执行对应的行锤击规避措施,而且,通过采用不断更新的序列计数值对激活计数值进行比较,可以有效降低获取方法被恶意破解和针对性攻击的风险,从而进一步提高了获取方法的安全性,即,本申请实施例提供了一种可靠性较高的获取方法。
在其中一个实施例中,存储器中设置有多个激活计数器200,且每个激活计数器200对应于至少一个数据行,以对对应数据行的激活次数进行统计。可以理解的是,在存储器中包括大量的存储单元,相应地,也必然存在大量的数据行,如果保持每个数据行的激活次数进行统计,需要耗费大量的时间和空间。因此,激活计数器200可以配置有一个对应的激活次数列表,且激活次数列表中只保存被激活次数较多的数据行的激活计数值,即,激活次数列表中存储的数据行是发生行锤击风险较高的数据行,从而可以减少所需要存储的数据数量。
进一步,还可以以预设频率对激活信号进行采样。例如,攻击地址的获取电路10可以在每接收到n个激活信号时,对其中的一个激活信号进行采样,并获取该激活信号携带的目标行地址信息进行统计,而不对剩余的n-1个激活信号进行统计。可以理解的是,若一个数据行被频繁激活,则以固定间隔进行采样时,该数据行的激活次数也远大于其他正常读写的数据行的激活次数。因此,这也是一种较为可靠的激活计数器200的计数方式,而且可以大大降低激活计数器200的计数数量,从而有效降低激活计数器200的计数压力,并降低攻击地址的获取方法所需要占用的时间,进而提升攻击地址的获取方法的效率。
图3为一实施例的步骤S400的子流程图,参考图3,在本实施例中,步骤S400所述根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址,包括步骤S410至S420。
S410:当所述锁存控制信号使能有效时,对当前的所述目标行地址进行锁存。
S420:根据锁存顺序输出已锁存的目标行地址作为所述攻击地址。
其中,使能有效的锁存控制信号是指,数据分析单元300判定当前的目标行地址被频繁读取时发出的锁存控制信号,当前的目标行地址是指激活计数器200更新时接收到的激活信号所携带的目标行地址。示例性地,若地址锁存器400在当前周期锁存了6个目标行地址,且对目标行地址的锁存顺序由先至后依次为a1,a2,a3,a4,a5,a6,当前需要输出3个目标行地址作为所述攻击地址,则地址锁存器400输出a1,a2,a3作为目标行地址。
可以理解的是,序列计数器100可以理解为一个数值可变的阈值序列,且该阈值序列中的各个数值与发生行锤击风险的顺序相对应。因此,可以认为先被锁存的目标行地址发生行锤击的风险相对较高,本实施例在输出攻击地址时,先输出发生行锤击的风险相对较高的地址,可以更加有效地避免行锤击的问题,从而提升攻击地址的获取方法的准确性。
在其中一个实施例中,所述根据锁存顺序输出已锁存的目标行地址作为所述攻击地址,包括:响应于下一周期的所述刷新信号,根据锁存顺序输出预设数量的已锁存的目标行地址作为所述攻击地址。具体地,如前述说明,控制器输出的刷新信号用于控制存储器进行自动刷新,自动刷新即是指前述的用于避免时间导致的电荷流失问题所采取的刷新方式。在本实施例中,地址锁存器400响应于刷新信号输出攻击地址,即可在存储器的自动刷新阶段同时对攻击地址进行对应的操作,从而提高对应操作的处理效率,也可以避免影响存储器的工作性能。
以该操作是锤击刷新为例,自动刷新操作可以响应于单个刷新信号而将需要被刷新的多个数据行的刷新,自动刷新操作需要占用行刷新周期时间(the refresh cycle,tRFC),并且自动刷新操作之间存在刷新间隔时间(the refresh interval time,tREFI)的平均刷新间隔。响应于刷新命令,存储器执行对多个数据行的自动刷新,而可以理解的是,在本实施例中,由于攻击地址的数量通常少于需要执行自动刷新的地址的数量,锤击刷新所需的时间通常也短于行刷新周期时间tRFC,即,行刷新周期时间tRFC足以完成锤击刷新。因此,本实施例的锤击刷新无需占用攻击地址的相邻行对应的存储单元的数据读写时间,还可以有效还能加强存储器的数据安全性,即,提供了一种可靠性和效率较高的方法。
其中,输出预设数量的已锁存的目标行地址时,预设数量可以为一个,也可以为多个,例如为2个、4个等。可以理解的是,若存储器中的布线密度较高,意味着发生行锤击的风险较大,则可以每次对较多数量的数据行进行锤击刷新,若存储器中的布线密度较低,则可以每次对较少数量的数据行进行锤击刷新。因此,具体数量可以根据存储器中的布线密度确定,本实施例不具体进行限定。
图4为一实施例的攻击地址的获取方法的流程图之二,在本实施例中,攻击地址的获取方法包括步骤S100至S422。
S100:接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;
S200:接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;
S300:根据所述序列计数值和所述激活计数值生成锁存控制信号;
S410:当所述锁存控制信号使能有效时,对当前的所述目标行地址进行锁存。
S421:响应于下一周期的所述刷新信号,根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址。
S422:响应于下一周期的所述刷新信号,对各所述攻击地址对应的所述激活计数值进行复位。
可以理解的是,上述步骤S100至S410的实施方式与前述实施例相同,因此可以参考前述实施例,在此处不再进行赘述。在本实施例中,步骤所述根据锁存顺序输出预设数量的已锁存的目标行地址作为所述攻击地址,包括:根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址,在本实施例中,每次对两个目标行地址进行输出,该数量可以适应于当前的工艺制程水平,从而在不影响自动刷新操作以及数据读写时序的前提下,较为有效地避免行锤击问题,进而提升存储器的数据可靠性。
此外,本实施例的获取方法还进一步包括步骤S422,其中,下一周期和当前周期为在时间上相邻的两个周期,即,当前周期的所述刷新信号和下一周期的所述刷新信号也为时间上相邻的两个刷新信号。而且,步骤根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址,以及步骤对各所述攻击地址对应的所述激活计数值进行复位响应于同一刷新信号执行,通过设置响应于同一信号执行,可以有效提升上述两个步骤的同步性,还可以减少攻击地址的获取方法所需要的信号的数量,从而简化获取方法的逻辑。
可以理解的是,上述两个步骤S421和S422的执行主体并不相同,具体地,地址锁存器400根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址,激活计数器200对各所述攻击地址对应的所述激活计数值进行复位。因此,本申请实施例并不具体限定上述两个步骤的执行顺序,上述两个步骤可以依次执行,且不需要限定两个步骤之间的执行次序,上述两个步骤也可以同时执行,以提高攻击电路的获取方法的数据处理和复位效率。
图5为一实施例的攻击地址的获取方法的流程图之三,在本实施例中,攻击地址的获取方法包括步骤S100至S423。
S100:接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;
S210:接收携带目标行地址信息的激活信号,以数值递增的次序更新所述目标行地址对应的激活计数值;
S300:根据所述序列计数值和所述激活计数值生成锁存控制信号;
S410:当所述锁存控制信号使能有效时,对当前的所述目标行地址进行锁存。
S421:响应于下一周期的所述刷新信号,根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址。
S423:响应于下一周期的所述刷新信号,对各所述攻击地址对应的所述激活计数值清零。
可以理解的是,上述步骤S100、S300至S421的实施方式与前述实施例相同,因此可以参考前述实施例,在此处不再进行赘述。在本实施例中,步骤S200中的所述根据第二预设次序更新所述目标行地址对应的激活计数值,包括:以数值递增的次序更新所述目标行地址对应的激活计数值,且步骤S422中的对各所述攻击地址对应的所述激活计数值进行复位,包括:对各所述攻击地址对应的所述激活计数值清零。
具体地,本实施例采用递增的方式对激活计数值进行更新,例如采用0,1,2,3…的方式对激活计数值进行更新,相应地,对激活计数器200复位时采用清零的方式,二者之间具有清晰的对应关系,可以大大简化对激活计数器200的数据分析难度,从而提高本实施例的获取方法的数据处理效率。在其他实施例中,若采用递减的方式对激活计数值进行更新,例如采用10,9,8,7…的方式对激活计数值进行更新,相应地,对激活计数器200复位时则可以采用复位至10的方式,以实现上述提高数据处理效率的效果。
图6为一实施例的攻击地址的获取方法的步骤S100至S200的子流程图,参考图6,在本实施例中,步骤S100中的所述根据所述刷新信号和第一预设次序更新序列计数值,包括:根据当前的所述序列计数值和第一预设计数步长更新所述序列计数值,即,步骤S100可以通过下述步骤S110实施。而且,步骤S200中的所述根据第二预设次序更新所述目标行地址对应的激活计数值,包括:根据所述目标行地址对应的当前的激活计数值和预设计数步长更新所述激活计数值其中,所述第一预设计数步长和所述第二预设计数步长相等,即,步骤S200可以通过下述步骤S220实施。
S110:接收当前周期的刷新信号,根据当前的所述序列计数值和第一预设计数步长更新所述序列计数值。
S220:接收携带目标行地址信息的激活信号,根据所述目标行地址对应的当前的激活计数值和第二预设计数步长更新所述激活计数值。
在本实施例中,当第一预设计数步长和第二预设计数步长均大于0时,即为前述实施例中步骤S210的以数值递增的次序进行更新,当第一预设计数步长和第二预设计数步长均小于0时,即可以认为是以数值递减的次序进行更新。示例性地,第一预设计数步长和第二预设计数步长可以均为0,序列计数器100的更新次序例如可以为0,1,2,3,4…,激活计数器200的更新次序例如也可以为0,1,2,3,4…。在本实施例中,通过采用上述预设计数步长相同的方式,可以大大简化序列计数器100和激活计数器200的内部逻辑,从而提高序列计数器100和激活计数器200的技术准确性,而且,由于序列计数器100仍为随着刷新信号进行数值变化的计数器,因此,本实施例的攻击地址的获取方法仍可以避免被恶意破解的问题,从而保证获取方法的可靠性。
在其中一个实施例中,所述方法还包括:当所述锁存控制信号使能无效时,保持对前一的所述目标行地址进行锁存。通过上述步骤,若当前的目标行地址不是存在行锤击风险的数据行,则地址锁存器400锁存的地址不发生变化,从而避免地址的锁存错误,从而提高获取方法的准确性。
图7为一实施例的攻击地址的获取方法的流程图之四,参考图7,在本实施例中,攻击地址的获取方法包括步骤S110至S423。
S110:接收当前周期的刷新信号,根据当前的所述序列计数值和第一预设计数步长更新所述序列计数值;
S220:接收携带目标行地址信息的激活信号,根据所述目标行地址对应的当前的激活计数值和第二预设计数步长更新所述激活计数值;
S310:判断所述序列计数值是否等于所述激活计数值;
当所述序列计数值等于所述激活计数值时,S320:生成使能有效的所述锁存控制信号。当所述序列计数值不等于所述激活计数值时,S330:生成使能无效的所述锁存控制信号。
S410:当所述锁存控制信号使能有效时,对当前的所述目标行地址进行锁存;
S421:响应于下一周期的所述刷新信号,根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址。
S430:当所述锁存控制信号使能无效时,保持对前一的所述目标行地址进行锁存。
S423:响应于下一周期的所述刷新信号,对各所述攻击地址对应的所述激活计数值清零。
其中,序列计数器100执行步骤S110,激活计数器200执行步骤S220和步骤S423,数据分析单元300执行步骤S310至S330,地址锁存器400执行步骤S410、S421和S430,而且,如前述说明,由于步骤S421和S423的执行主体不同,两个步骤可以同时执行,以提升本实施例的获取方法的效率。在本实施例中,可以准确评估各个数据行发生行锤击问题的发生概率,还可以有效降低获取方法被恶意破解和针对性攻击的风险,从而进一步提高了获取方法的安全性,而且,通过设置对序列计数器100和激活计数器200设置相对应的更新次序和计数步长,可以有效提高计数的效率和准确性,即,本申请实施例提供了一种可靠性较高、处理效率较高的获取方法和获取电路。
图8为一实施例的锤击刷新方法的流程图,参考图8,本实施例包括如上述的攻击地址的获取方法的步骤S100至S400,还包括步骤S500至S600。
S500:确定所述攻击地址的相邻行地址为锤击刷新地址;
S600:对所述锤击刷新地址对应的数据行进行锤击刷新。
在本实施例中,通过对锤击刷新地址对应的数据行进行刷新,可以避免行锤击对相邻行地址中保存的数据的影响,从而提高存储器存储的数据的可靠性。
本申请实施例还提供了一种锤击刷新电路,锤击刷新电路包括前述实施例中的攻击地址的获取电路,还包括加减运算器和刷新模块。
其中,加减运算器与攻击地址的获取电路中的地址锁存器连接,用于对地址锁存器输出的攻击地址进行加减运算,以获得相邻行地址作为锤击刷新地址。例如,若加减运算器对攻击地址分别进行加一和减一的运算,则可以获得两个锤击刷新地址;若加减运算器对攻击地址分别进行加一、加二、减一和减二的运算,则可以获得四个锤击刷新地址。可以理解的是,加减运算器的具体运算内容可以根据相邻字线之间的间距确定,运算获得的锤击刷新地址的数量与相邻字线之间的间距反向相关。
刷新模块与加减运算器连接,且分别与多个数据行的数据读写电路连接,刷新模块用于通过数据读写电路获取锤击刷新地址对应的数据行中已存储的数据,根据已存储的数据生成刷新数据,并通过数据读写电路将刷新数据重新写入锤击刷新地址对应的数据行中,从而实现锤击刷新。可选地,锤击刷新操作可以与自动刷新操作共用至少部分刷新模块,从而减少存储器中的刷新模块的数量和体积。
图9为一实施例的攻击行和相邻行的示意图,参考图9,在存储阵列中可以存在多个攻击行,各攻击行可以如图9所示分别位于不同的存储块中,在其他实施例中,一个存储块中也可以包括多个攻击行。而且,攻击行可以位于存储块的中部,即,如图9中第一存储块所示,该攻击行与其对应的第一相邻行、第二相邻行位于同一存储块。攻击行还可以位于存储块的边界,即,如图9中第二存储块所示,该攻击行与其对应的第一相邻行、第二相邻行位于不同存储块。可以理解的是,本实施例的锤击刷新方法可以应用于上述各种位置的攻击行,因此具有较高的可靠性。
进一步地,所述确定所述攻击地址的相邻行地址为锤击刷新地址,包括:分别获取所述攻击地址的第一相邻行地址和第二相邻行地址,所述攻击地址位于所述第一相邻行地址和所述第二相邻行地址之间。可以理解的是,在一些实施例中,也可以只对攻击行的其中一个相邻行进行锤击刷新,还可以对攻击行单侧的多个相邻的数据行进行锤击刷新,具体可以根据不同相邻行受到行锤击效应影响的程度确定,例如可以根据相邻行与锤击行之间的距离关系确定,因为邻近相邻行相比更远相邻行收到行锤击的情况更加严重,从而提高锤击刷新的准确性和效率。
应该理解的是,虽然图2至图8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的次序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的次序限制,这些步骤可以以其它的次序执行。而且,图2至图8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行次序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请实施例还提供了一种存储器,包括如上述的攻击地址的获取电路10,基于上述攻击地址的获取电路10,本实施例提供了一种数据可靠性较高的存储器。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请实施例的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请实施例构思的前提下,还可以做出若干变形和改进,这些都属于本申请实施例的保护范围。因此,本申请实施例专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种攻击地址的获取方法,其特征在于,包括:
接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;
接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;
根据所述序列计数值和所述激活计数值生成锁存控制信号;
根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。
2.根据权利要求1所述的获取方法,其特征在于,所述根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址,包括:
当所述锁存控制信号使能有效时,对当前的所述目标行地址进行锁存;
根据锁存顺序输出已锁存的目标行地址作为所述攻击地址。
3.根据权利要求2所述的获取方法,其特征在于,所述根据锁存顺序输出已锁存的目标行地址作为所述攻击地址,包括:
响应于下一周期的所述刷新信号,根据锁存顺序输出预设数量的已锁存的目标行地址作为所述攻击地址。
4.根据权利要求3所述的获取方法,其特征在于,所述根据锁存顺序输出预设数量的已锁存的目标行地址作为所述攻击地址,包括:
根据锁存顺序输出一个已锁存的目标行地址作为所述攻击地址。
5.根据权利要求2所述的获取方法,其特征在于,所述方法还包括:
响应于下一周期的所述刷新信号,对各所述攻击地址对应的所述激活计数值进行复位。
6.根据权利要求5所述的获取方法,其特征在于,所述根据第二预设次序更新所述目标行地址对应的激活计数值,包括:以数值递增的次序更新所述目标行地址对应的激活计数值;
所述对各所述攻击地址对应的所述激活计数值进行复位,包括:对各所述攻击地址对应的所述激活计数值清零。
7.根据权利要求1所述的获取方法,其特征在于,所述根据所述刷新信号和第一预设次序更新序列计数值,包括:
根据当前的所述序列计数值和第一预设计数步长更新所述序列计数值。
8.根据权利要求7所述的获取方法,其特征在于,所述根据第二预设次序更新所述目标行地址对应的激活计数值,包括:
根据所述目标行地址对应的当前的激活计数值和第二预设计数步长更新所述激活计数值;
其中,所述第一预设计数步长和所述第二预设计数步长相等。
9.根据权利要求1至8任一项所述的获取方法,其特征在于,所述根据所述序列计数值和所述激活计数值生成锁存控制信号,包括:
当所述序列计数值等于所述激活计数值时,生成使能有效的所述锁存控制信号。
10.根据权利要求9所述的获取方法,其特征在于,所述根据所述序列计数值和所述激活计数值生成锁存控制信号,还包括:
当所述序列计数值大于所述激活计数值时,生成使能无效的所述锁存控制信号。
11.根据权利要求10所述的获取方法,其特征在于,所述方法还包括:
当所述锁存控制信号使能无效时,保持对前一的所述目标行地址进行锁存。
12.一种锤击刷新方法,其特征在于,包括如权利要求1至11任一项所述的攻击地址的获取方法的步骤,还包括:
确定所述攻击地址的相邻行地址为锤击刷新地址;
对所述锤击刷新地址对应的数据行进行锤击刷新。
13.根据权利要求12所述的锤击刷新方法,其特征在于,所述确定所述攻击地址的相邻行地址为锤击刷新地址,包括:
分别获取所述攻击地址的第一相邻行地址和第二相邻行地址,所述攻击地址位于所述第一相邻行地址和所述第二相邻行地址之间。
14.一种攻击地址的获取电路,其特征在于,包括:
序列计数器,用于接收当前周期的刷新信号,根据所述刷新信号和第一预设次序更新序列计数值;
激活计数器,用于接收携带目标行地址信息的激活信号,根据第二预设次序更新所述目标行地址对应的激活计数值;
数据分析单元,分别与所述序列计数器和所述激活计数器连接,用于根据所述序列计数值和所述激活计数值生成锁存控制信号;
地址锁存器,与所述数据分析单元连接,用于根据所述锁存控制信号对所述目标行地址进行锁存,以作为所述攻击地址。
15.一种存储器,其特征在于,包括如权利要求14所述的攻击地址的获取电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110469619.7A CN115249501A (zh) | 2021-04-28 | 2021-04-28 | 攻击地址的获取方法及其电路、锤击刷新方法和存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110469619.7A CN115249501A (zh) | 2021-04-28 | 2021-04-28 | 攻击地址的获取方法及其电路、锤击刷新方法和存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115249501A true CN115249501A (zh) | 2022-10-28 |
Family
ID=83695916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110469619.7A Pending CN115249501A (zh) | 2021-04-28 | 2021-04-28 | 攻击地址的获取方法及其电路、锤击刷新方法和存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115249501A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906087A (zh) * | 2023-03-09 | 2023-04-04 | 长鑫存储技术有限公司 | 行锤攻击保护方法与存储器 |
CN116434800A (zh) * | 2023-06-06 | 2023-07-14 | 长鑫存储技术有限公司 | 刷新电路及存储器 |
-
2021
- 2021-04-28 CN CN202110469619.7A patent/CN115249501A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906087A (zh) * | 2023-03-09 | 2023-04-04 | 长鑫存储技术有限公司 | 行锤攻击保护方法与存储器 |
CN115906087B (zh) * | 2023-03-09 | 2023-07-07 | 长鑫存储技术有限公司 | 行锤攻击保护方法与存储器 |
CN116434800A (zh) * | 2023-06-06 | 2023-07-14 | 长鑫存储技术有限公司 | 刷新电路及存储器 |
CN116434800B (zh) * | 2023-06-06 | 2023-08-18 | 长鑫存储技术有限公司 | 刷新电路及存储器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052243B (zh) | 用于刷新存储器的设备及方法 | |
CN111247586A (zh) | 用于刷新存储器的设备及方法 | |
CN115249501A (zh) | 攻击地址的获取方法及其电路、锤击刷新方法和存储器 | |
CN112767983B (zh) | 刷新控制电路及存储器 | |
CN114078555A (zh) | 用于存储器指导的存取暂停的设备、系统和方法 | |
CN114420181A (zh) | 刷新电路和存储器 | |
CN114283863B (zh) | 行锤击检测和避免 | |
TWI741809B (zh) | 刷新測試電路及方法 | |
KR100495755B1 (ko) | 미리 정의된 정지점 조건의 발생시에 신호를 감시하는메모리를 이용하는 디지털 회로 | |
US10916293B1 (en) | Target row refresh mechanism capable of effectively determining target row address to effectively mitigate row hammer errors without using counter circuit | |
CN115249500A (zh) | 攻击地址的获取方法及其电路、锤击刷新方法和存储器 | |
Jiang et al. | Quantifying rowhammer vulnerability for dram security | |
WO2019022837A1 (en) | MINIMAL REDUCTION IN PERFORMANCE DEGRADATION DUE TO REFRESH OPERATIONS IN MEMORY SUBSYSTEMS | |
CN116261754A (zh) | 具有用于行锤击缓解的快速随机行刷新的dram | |
US20210049269A1 (en) | Technique for Detecting and Thwarting Row-Hammer Attacks | |
CN114627926A (zh) | 存储系统 | |
CN115249499A (zh) | 攻击地址的获取方法及其电路、锤击刷新方法和存储器 | |
US6393514B1 (en) | Method of generating an almost full flag and a full flag in a content addressable memory | |
US20020059496A1 (en) | Memory interface circuit | |
US6958944B1 (en) | Enhanced refresh circuit and method for reduction of DRAM refresh cycles | |
US20230162776A1 (en) | Memory | |
US20240038288A1 (en) | Memory device refresh operations | |
US12002502B2 (en) | Memory device and refresh method thereof | |
Chung et al. | Reducing test time and area overhead of an embedded memory array built-in repair analyzer with optimal repair rate | |
US11599646B2 (en) | Memory test method |
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 |