CN114649044B - 自动刷新次数测试方法及装置 - Google Patents
自动刷新次数测试方法及装置 Download PDFInfo
- Publication number
- CN114649044B CN114649044B CN202011521506.9A CN202011521506A CN114649044B CN 114649044 B CN114649044 B CN 114649044B CN 202011521506 A CN202011521506 A CN 202011521506A CN 114649044 B CN114649044 B CN 114649044B
- Authority
- CN
- China
- Prior art keywords
- refresh
- data
- preset
- automatic
- self
- 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.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims abstract description 42
- 230000014759 maintenance of location Effects 0.000 claims abstract description 125
- 230000015654 memory Effects 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000008859 change Effects 0.000 claims abstract description 42
- 238000012360 testing method Methods 0.000 claims abstract description 41
- 230000001965 increasing effect Effects 0.000 claims description 19
- 230000001680 brushing effect Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 33
- 230000008569 process Effects 0.000 description 22
- 239000003990 capacitor Substances 0.000 description 17
- 238000005259 measurement Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 230000000737 periodic effect Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50016—Marginal testing, e.g. race, voltage or current testing of retention
Landscapes
- Dram (AREA)
Abstract
本公开是关于一种自动刷新次数测试方法和装置,涉及集成电路技术领域。该自动刷新次数测试方法包括:执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,自动刷新操作包括发送自动刷新指令并等待第一预设时间;改变预设刷新次数,获取对应的数据保持能力;获取数据保持能力关于对应的预设刷新次数的变化曲线;通过变化曲线确定存储器的自动刷新次数。本公开提供一种通过正常操作指令即可测得DRAM全阵列自动刷新次数的方法。
Description
技术领域
本公开涉及集成电路技术领域,具体而言,涉及一种自动刷新次数测试方法及装置。
背景技术
动态随机存取存储器(Dynamic Random Access Memory,DRAM)是计算机中常用的半导体存储器件,由许多阵列排布的存储单元组成。每个存储单元通常包括电容器和晶体管,为了防止晶体管漏电而导致数据毁损,需要不断对DRAM进行刷新操作。
DRAM的刷新操作包括两种:自动刷新(Auto Refresh,AR)和自刷新(SelfRefresh,SR);其中,SR是在获取到刷新指令后持续按照顺序循环刷新整个阵列,而AR则可以设置刷新间隔,并按照刷新间隔的时间自动进行刷新。
由于AR刷新完整个阵列所需的自动刷新次数一般是DRAM厂商根据自身工艺水平自行定制的,客户无法直接获知。本发明旨在提供一种通过正常操作指令即可测得DRAM自动刷新次数的方法。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种自动刷新次数测试方法及装置,以通过一种正常操作指令即可测得DRAM全阵列自动刷新次数的方法。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本公开的第一方面,提供一种自动刷新次数测试方法,所述方法包括:
执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,所述自动刷新操作包括发送自动刷新指令并等待第一预设时间;
改变所述预设刷新次数,获取对应的所述数据保持能力;
获取所述数据保持能力关于对应的所述预设刷新次数的变化曲线;
通过所述变化曲线确定所述自动刷新次数。
可选的,获取对应的数据保持能力包括:
执行数据读取步骤,所述数据读取步骤包括在执行所述预设刷新次数的所述自动刷新操作后,等待第二预设时间;
在等待所述第二预设时间后,读取数据;
如果读取到所述数据,则递增所述第二预设时间,并转至所述数据读取步骤,直到无法读取到所述数据时,确定上一个所述第二预设时间为所述数据保持能力;
如果未读取到所述数据,则递减所述第二预设时间,并转至所述数据读取步骤,直到读取到所述数据时,确定当前所述第二预设时间为所述数据保持能力。
可选的,递增或递减所述第二预设时间的步径为1-30μs。
可选的,通过所述变化曲线确定所述自动刷新次数包括:
获取所述变化曲线的周期;
通过所述变化曲线的周期确定所述自动刷新次数。
可选的,所述变化曲线的周期等于所述自动刷新次数。
可选的,所述第一预设时间大于或等于25μs;所述预设刷新次数的改变步进小于或等于256次。
可选的,所述方法还包括:
根据所述自动刷新次数确定所述自动刷新指令每次刷新的行数。
可选的,根据所述自动刷新次数确定所述自动刷新指令每次刷新的行数包括:
确定存储器的总行数除以所述自动刷新次数为所述每次刷新的行数。
可选的,所述方法还包括:
根据自刷新周期测试方法确定存储器的自刷新周期;
根据自刷新电流测试方法获取所述存储器的相邻两次内部刷新之间的间隔时间;
根据所述自刷新周期和所述间隔时间,确定内部自刷新次数;
根据所述内部自刷新次数和所述自动刷新次数,确定行攻击保护电路的偷刷次数。
可选的,根据所述内部自刷新次数和所述自动刷新次数,确定行攻击保护电路的偷刷次数包括:
确定所述自动刷新次数与所述内部自刷新次数的差值为所述行攻击保护电路的偷刷次数。
可选的,所述方法还包括:
根据最小的所述数据保持能力对应的所述预设刷新次数,确定存储器阵列中数据保持能力最差的行。
可选的,根据最小的所述数据保持能力对应的所述预设刷新次数,确定存储器阵列中数据保持能力最差的行包括:
根据所述最小的所述数据保持能力对应的所述预设刷新次数占有的所述自动刷新次数的比例,确定所述数据保持能力最差的行。
可选的,所述自动刷新指令还包括:
在控制存储器进入所述自动刷新操作之前,控制所述存储器掉电上电,并重新写入数据。
可选的,执行预设刷新次数的自动刷新操作包括:
从存储器的存储单元中读出数据后,再重新写入所述数据至所述存储单元中。
根据本公开的第二方面,提供一种自动刷新次数测试装置,包括:
数据获取模块,用于执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,所述自动刷新操作包括发送自动刷新指令并等待第一预设时间;改变所述预设刷新次数,获取对应的所述数据保持能力;
数据处理模块,用于获取所述数据保持能力关于对应的所述预设刷新次数的变化曲线,通过所述变化曲线确定所述自动刷新次数。
本公开提供的技术方案可以包括以下有益效果:
本公开的示例性实施例中的自动刷新次数测试方法和装置,通过预设刷新次数的自动刷新操作;其中,自动刷新操作包括发送自动刷新指令并等待第一预设时间;在存储器执行预设刷新次数的自动刷新操作后,获取存储器当前的数据保持能力;改变预设刷新次数,获取对应的数据保持能力;获取数据保持能力关于对应的预设刷新次数的变化曲线;通过变化曲线确定存储器的自动刷新次数。一方面,通过检测存储器当前的数据保持能力,可以确定出在不刷新的情况下,存储器能够保留数据不丢失的最长时间;只要在该最长时间内执行刷新动作,就可以保证数据不丢失;由于数据保持能力与自动刷新次数强相关,通过数据保持能力的不一致性,可准确测得自动刷新次数。另一方面,上述数据保持能力是在改变预设刷新次数后,在不同的预设刷新次数的自动刷新后获取的;因此,不同的预设刷新次数下,获得的数据保持能力是不同的,数据保持能力与预设刷新次数是相关的,自然就与自动刷新次数相关,通过简单的数据保持能力关于对应的预设刷新次数的变化曲线的周期就可以确定出自动刷新次数,检测过程简单,数据处理也比较容易。再一方面,本公开的示例性实施例提供了一种通过正常操作指令即可测得DRAM全阵列自动刷新次数的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的示例性实施例的一种自动刷新次数测试方法的流程图;
图2示意性示出了根据本公开的示例性实施例提供的自动刷新次数测试方法中的一种数据保持能力的检测流程图;
图3示意性示出了根据本公开的示例性实施例提供的自动刷新次数测试方法中的另一种数据保持能力的检测流程图;
图4示意性示出了根据本公开的示例性实施例提供的自动刷新次数测试方法获取的一种实验结果示意图;
图5示意性示出了现有的自刷新过程中获取的芯片CC的电流波形的实验结果示意图;
图6示意性示出了现有的自刷新过程中获取的芯片AA的电流波形的实验结果示意图;
图7示意性示出了现有的自刷新过程中获取的芯片BB的电流波形的实验结果示意图;
图8示意性示出了根据本公开的示例性实施例的一种自刷新周期测试方法的流程图;
图9示意性示出了根据本公开的示例性实施例提供的自刷新周期测试方法的数据保持能力的检测流程图;
图10示意性示出了根据本公开的示例性实施例提供的自刷新周期测试方法获取的一种实验结果示意图;
图11示意性示出了根据本公开的示例性实施例提供的自刷新周期测试方法获取的另一种实验结果示意图;
图12示意性示出了根据本公开的示例性实施例的自动刷新次数测试装置的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在DRAM集成电路设备中,存储单元阵列典型地以行和列布置,使得特定的存储单元可以通过指定其阵列的行和列来寻址。字线将行连接到一组探测单元中数据的位线读出放大器。然后在读取操作中,选择或者“列选择”读取放大器中的数据子集用于输出。
DRAM中的每个存储单元通常包括电容器和晶体管,晶体管的栅极与字线相连、漏极与位线相连、源极与电容器相连,字线上的电压信号能够控制晶体管的打开或关闭,进而通过位线读取存储在电容器中的数据信息,或者通过位线将数据信息写入到电容器中进行存储。由于在现实中晶体管会有漏电的现象,导致电容器上所存储的电荷数量并不足以正确的判别数据,而导致数据毁损。
因此,需要不断对DRAM进行刷新操作,以保持数据不丢失。刷新操作分为两种:AR和SR。刷新操作与读操作相似,但是没有数据被输出,通常是电容器的充电或放电状态以重复的方式重新应用到单个存储器单元以对DRAM的存储单元进行刷新。在读取放大器读出存储单元中的数据之后,进行恢复操作,使数据重新被写入存储单元中。因此,数据被“刷新”,通过根据行地址启动字线,并且启动读取放大器,执行刷新操作。
对于AR而言,每次刷新的行数是有限的,通常需要刷新多次才能将整个阵列刷新完一次。例如,整个阵列有100行,AR每次刷新的行数为4行,那么刷新完整个阵列则需要的自动刷新次数为25次。通常,通过自动刷新次数可以对DRAM的功耗以及是否采用了行攻击保护电路设计等性能进行判断,从而可以对DRAM进行对比分析,或者是竞品分析等。
然而,对于一个DRAM而言,其内部的自动刷新次数和每次刷新的行数属于保密信息,外人无法获知。基于此,本公开的示例性实施例提供了一种自动刷新次数测试方法和装置,以通过正常操作指令来较准确和简便地测量DRAM全阵列自动刷新次数。
参照图1,示出了根据本公开的示例性实施例的一种自动刷新次数测试方法的流程图。参照图1,该用于动态随机存取存储器全阵列的自动刷新次数测试方法可以包括以下步骤:
步骤S110,执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,自动刷新操作包括发送自动刷新指令并等待第一预设时间;改变预设刷新次数,获取对应的数据保持能力。
步骤S120,获取数据保持能力关于对应的预设刷新次数的变化曲线;通过变化曲线确定自动刷新次数。
根据本公开示例性实施例中的自动刷新次数测试方法,一方面,通过检测存储器当前的数据保持能力,可以确定出在不刷新的情况下,存储器能够保留数据不丢失的最长时间;只要在该最长时间内执行刷新动作,就可以保证数据不丢失;由于数据保持能力与自动刷新次数强相关,通过数据保持能力的不一致性,可准确测得自动刷新次数。另一方面,上述数据保持能力是在改变预设刷新次数后,在不同的预设刷新次数的自动刷新后获取的;因此,不同的预设刷新次数下,获得的数据保持能力是不同的,数据保持能力与预设刷新次数是相关的,自然就与自动刷新次数相关,通过简单的数据保持能力关于对应的预设刷新次数的变化曲线就可以确定出自动刷新次数,检测过程简单,数据处理也比较容易。
下面,将对本示例性实施例中的自动刷新次数测试方法进行进一步的说明。
在步骤S110中,执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,自动刷新操作包括发送自动刷新指令并等待第一预设时间;改变预设刷新次数,获取对应的数据保持能力。
数据保持能力是DRAM存储器在不刷新的情况下,能够保留数据不丢失,抵抗漏电的最长时间。在实际应用中,常用的DRAM数据保持能力为64ms,代表在不刷新DRAM芯片的情况下,其所存储的所有数据能够被全部正确读出的有效时间是64ms,超过64ms可能有数据丢失的情况发生。在该64ms内,需要对存储器进行刷新,以确保数据不被丢失,因此,预设刷新次数和DRAM的数据保持能力强相关。本示例性实施例通过获取预设刷新次数对应的数据保持能力,可以获得数据保持能力关于预设刷新次数的变化规律,以便于确定AR刷新完整个阵列一次所需要的自动刷新次数。
在DRAM的生产制造过程中,由于工艺制造精度限制,DRAM的每一位存储单元中的电容器抵抗漏电的能力有天然的不一致性:比如一个电容器的数据可以保持200ms,即该电容器的数据保持能力为200ms;旁边的另一个电容器的数据可以保持192ms,即该另一个电容器的数据保持能力为192ms。也就是说,DRAM中的多个存储单元的数据保持能力不可能完全一致;对于DRAM而言,每个存储单元的数据保持能力存在一定的不一致性,所带来的结果是,数据保持能力也会随着刷新次数的不同而呈周期变化。
本公开示例性实施例中,自动刷新次数是AR刷新完整个阵列一次所需要的次数。如果进行多次的AR,则会对整个阵列重复进行刷新,从而使得数据保持能力也会随着AR的次数增多而呈周期性变化。
下面通过数据保持能力的具体获取方法来说明数据保持能力的周期性:
本示例性实施例中,首先,在检测存储器的数据保持能力之前,需要对存储器执行预设刷新次数N的自动刷新操作,即发送自动刷新指令,以控制存储器进入自动刷新操作;同时等待第一预设时间;重复执行上述发送AR指令和等待第一预设时间这两个动作N次。存储器在收到AR指令后,就会进入自动刷新状态,并且在执行完刷新后自动退出,一般一个AR指令只执行一次自动刷新,一次自动刷新的时间大概为几百纳秒,通过设置等待第一预设时间,以确保存储器完成了自动刷新操作。
在本公开示例性实施例中,第一预设时间大于一次自动刷新的时间;例如,第一预设时间可以大于或等于25μs,以在等待第一预设时间后,存储器执行完了一次自动刷新。然后,在第一预设时间后,又自动发送AR指令并等待25μs,重复执行预设刷新次数的上述操作,再获取存储器当前的数据保持能力,以获得上述预设刷新次数对应的数据保持能力。一般情况下,第一预设时间越长,测量的准确度也会越高。
接着,通过改变预设刷新次数,可以获取多组预设刷新次数及其对应的数据保持能力,以对上述多组数据进行分析计算,获取自动刷新次数。
需要说明的是,每次执行完预设刷新次数的自动刷新操作时,所等待的第一预设时间是相同的,以保持数据的可比性,提高数据比较的精度,避免引入其他因素。
需要说明的是,DRAM自动刷新操作AR是自动按照顺序,从DRAM阵列的第0行至第L行顺序循环执行的操作,具体包括从存储器的存储单元中读出数据后,再重新写入该数据至存储单元中。
在本示例性实施例中,每次在执行预设刷新次数的自动刷新操作后,不一定会刷新完整个阵列数据,因为在测试过程中,存储器刷新完整个阵列所需要的自动刷新次数是未知的。
在本示例性实施例中,在每次执行预设刷新次数的自动刷新操作之前,还需要控制存储器先掉电,后上电,并重新写入数据,也就是说,每一次执行预设刷新次数的自动刷新操作都是一次全新的操作,并非是在上一次预设刷新次数的自动刷新操作的基础上进行的,这样,可以使得不同的预设刷新次数下的刷新条件是相同的,获得的数据保持能力只单单受到预设刷新次数的影响。
其中,预设刷新次数N的大小可以根据实际需要来确定,例如,预设刷新次数N可以为256次、512次、768次、1024次、1280次等改变步进为256次的多个刷新次数。
在实际应用中,多个预设刷新次数N的改变步进的大小可以根据实际情况确定,例如,预设刷新次数N的改变步进小于或等于256次。一般情况下,测试的改变步进越小,测量的精确度越高,获得的变化曲线越准确。本示例性实施例对于具体的预设刷新次数N及其改变步进不作特殊限定。
另外,在每一个预设刷新次数N的自动刷新操作结束后,对存储器当前的数据保持能力进行检测。
在本示例性实施例中,获取对应的数据保持能力的步骤包括:对存储器执行数据读取步骤,数据读取步骤包括确定第二预设时间Y;在存储器执行预设刷新次数N的自动刷新操作后,等待第二预设时间Y;在等待第二预设时间Y后,读取存储器的数据;如果读取到数据,则递增第二预设时间Y,并转至数据读取步骤,继续对存储器执行数据读取步骤。如果等待递增后的第二预设时间Y后,仍然可以读取到存储器的数据,则继续递增第二预设时间Y,如此循环直至无法读取得到数据时,则确定上一个第二预设时间Y为数据保持能力,此处的上一个第二预设时间Y指的是上一步最大能够读取到数据的第二预设时间Y。
另外,在上述获取数据保持能力的过程中,如果开始未读取到数据,则可以通过递减第二预设时间Y的方式来获取数据保持能力,具体的,如果第一次设定的第二预设时间Y过大,以致于未读取到数据,那么可以对第二预设时间Y进行递减,再重新执行数据读取步骤,直到可以读取到数据时,并将读取到的数据对应的当前第二预设时间Y确定为数据保持能力。
需要说明的是,读取存储器的数据指的是读取整个阵列中的所有数据,只有所有的数据都可以读出时,才算数据可读取到。
在实际应用中,具体的递增还是递减方式以初始设定的第二预设时间Y的大小来灵活应用,其中,Y可以为50μs、100μs等,本示例性实施例对此不作特殊限定。
参照图2,示意性示出了本公开的示例性实施例的一种数据保持能力的检测流程图。如图2所示,先对预设刷新次数N和第二预设时间Y进行初始化,令N=0,Y=0;初始化完成后,写入数据,即对存储器的整个阵列写入数据A;然后,重复执行自动刷新操作N次,每次的自动刷新操作包括发送自动刷新指令并等待第一预设时间;接着,等待第二预设时间Y;在等待第二预设时间Y之后,读取数据A;如果读取到数据A,即读取成功,则递增所述第二预设时间Y,并转至写入数据A的步骤;直到无法读取到数据A,即读取失败,则确定上一步最大能够读取到的所述第二预设时间Y为所述数据保持能力,并记录Y和相应的N,并递增预设刷新次数N,重新进入写入数据A的步骤,进行下一个预设刷新次数N的自动刷新操作后的数据保持能力的获取,在下一个数据保持能力获取中,可以以前一个结束时的Y值开始进行,也可以将Y值置0重新计算,本示例性实施例对此不作特殊限定。
参照图3,示意性示出了本公开的示例性实施例的另一种数据保持能力的检测流程图。如图3所示,先对预设刷新次数N和第二预设时间Y进行初始化,令N=0,Y=0;初始化完成后,写入数据,即对存储器的整个阵列写入数据A;然后,重复执行自动刷新操作N次,每次的自动刷新操作包括发送自动刷新指令并等待第一预设时间;接着,等待第二预设时间Y;在等待第二预设时间Y之后,读取数据A;如果未读取到数据A,即读取失败,则递减第二预设时间Y,并转至写入数据A的步骤;直到读取到数据A,即读取成功时,则确定当前能够读取到的第二预设时间Y为数据保持能力,并记录Y和相应的N,并递增预设刷新次数N,重新进入写入数据A的步骤,进行下一个预设刷新次数N的自动刷新操作后的数据保持能力的获取,在下一个数据保持能力获取中,可以以前一个结束时的Y值开始进行,也可以将Y值置0重新计算,本示例性实施例对此不作特殊限定。
在实际应用中,第二预设时间Y值的范围也可以围绕存储器实际的数据保持能力取值,从而可以以最快的速度获得准确的Y值,其中,递增或递减Y值的步径也可以根据实际情况设置,例如1-30μs,一般Y值递增或递减的步径越小,测得的数据保持能力越准确,但同时测试的次数会增加,因此测试时间会越久。
在步骤S120中,在执行完步骤S110后,可以获取数据保持能力关于对应的预设刷新次数的变化曲线;通过上述变化曲线可以确定存储器的自动刷新次数。
在本示例性实施例中,可以获得数据保持能力Y关于对应的预设刷新次数N的变化曲线,由于DRAM阵列每个行的数据保持能力Y天然的不一致性,该变化曲线会是一个周期曲线,并且其周期即为自动刷新操作刷完整个阵列一次所需要的自动刷新次数,即本示例性实施例需要测量的自动刷新次数。
因为一个自动刷新AR指令每次只执行一次刷新,并且刷新完后会自动退出,因此,需要对自动刷新操作设置刷新次数,即预设刷新次数,以执行需要的刷新任务。比如:DRAM芯片的行数有100行,如果每个AR指令只刷新2行,则需要自动刷新次数为50次才能刷新完所有行。
1)如果确定的预设刷新次数N为60次,则在刷完整个阵列100行后,又重新从第一行开始刷到了20行左右,此时数据保持能力为Y1=Ret(60次)。
2)如果确定的预设刷新次数N为110次,则在刷完整个阵列100行2次后,又重新从第一行开始刷到了20行左右,此时数据保持能力为Y2=Ret(110次)。
由于1)和2)两种情况下都是刷到了第20行,整个阵列的数据保持能力都应该取决于后80行中最弱的一行,因此Y1=Y2。
由上可知,变化曲线所对应的函数Ret(N)是一个周期函数,且其周期即为存储器的自动刷新次数。获得函数Ret(N),即可以获得自动刷新次数,通过自动刷新次数就可以确定自动刷新指令每次刷新的行数,即存储器的总行数除以自动刷新次数。以上述为例,DRAM芯片有100行,除以自动刷新次数50,就是每次AR指令所刷新的行数2行,在实际中,每次刷新的行数也是未知的,只有通过本示例性实施例提供的自动刷新次数测试方法获取到自动刷新次数后,才可以确定每个芯片的AR指令的刷新行数。
参照图4,示意性示出了本示例性实施例提供的自动刷新次数测试方法获取的一种实验结果示意图。如图4所示,横坐标为预设刷新次数N,纵坐标为数据保持能力Y;可见函数Y=Ret(N)为一个周期函数,图中标注的三个周期段:N2-N1=9216=9K(此处的K为1024),N3-N2=9216=9K,N4-N3=9216=9K,也就是说,曲线Y=Ret(N)的周期为9k,9k也就是存储器执行一次完整地整个阵列自动刷新AR的自动刷新次数。
由于上述结果是对设计目标已知的DRAM芯片CC进行自动刷新次数测试的结果。为了验证上述结果的有效性,此处需要对芯片CC进行自刷新SR操作,以获得其自刷新周期,而自刷新周期的获取则需要依据自刷新周期测试方法获得,本公开示例性实施例将在后文对自刷新周期测试方法进行详细说明,此处只使用自刷新周期测试方法测得的自刷新周期结果。
根据自刷新周期测试方法确定出存储器的自刷新周期后,再根据自刷新电流测试方法获取存储器的相邻两次内部刷新之间的间隔时间;根据自刷新周期和间隔时间,可以确定出内部自刷新次数。
例如,本示例性实施例中,通过自刷新周期测试方法测得芯片CC的自刷新周期为300ms,该结果是CC芯片在45℃下的测试实验获得的,与芯片CC的设计目标中相近温度下的自刷新周期较为一致(即与表1中的42℃对应的自刷新周期340.2ms较接近)。
表1
参照图5,示意性示出了现有的电流测试方法获取的芯片CC的电流波形的实验结果示意图。如图5所示,由电流波形图获得的周期为35.341μs和35.227μs,两个周期的平均值为35.284μs,且上述周期值是相邻两次内部自刷新之间的间隔时间,即自刷新间隔。
自刷新周期300ms除以上述的间隔时间35.284μs,获得的是芯片CC的整个整列刷新一次需要的内部自刷新次数300ms/35.284μs≈8k(k=1024)。
由上述结果可知,自动刷新AR刷完整个整列需要的自动刷新次数是9k次,自刷新SR刷完整个整列需要的内部自刷新次数是8k次,AR比SR多刷1k次。
根据芯片CC的设计目标是每8次进行正常的自动刷新AR后,偷刷1次AR以针对可能被攻击的行的相邻两行进行刷新,也就是说,芯片CC在进行自动刷新次数的自动刷新过程中,有8/9的自动刷新次数是正常刷新,有1/9的自动刷新次数是偷刷。由此可见,9k次中,有9k*8/9=8k的自动刷新次数是正常刷新,与SR的内部自刷新次数8k结果一致;有1k是偷刷次数,与AR比SR多刷1k次一致,因此,说明上述测试结果与设计目标是一致的,本示例性实施例的自动刷新次数测试方法是可行的。
另外,行攻击(Row Hammer)的攻击目标是DRAM内存的设计。在DRAM刷新不充分的系统上,一行DRAM存储器上的目标操作可能会影响相邻行的存储器值。这种攻击的结果是物理内存中的一个或多个比特(在这种情况下是GPU内存)的值被翻转,并且可能提供对目标系统的新访问。行攻击保护电路(Row Hammer Protection)则是在DRAM内部增加行攻击保护逻辑电路,如果探测到有地址被不停的访问,会自动在自动刷新AR时偷刷一下被攻击行的相邻两行(前一行和后一行),保证被攻击行的相邻两行不会发生比特值翻转。不同DRAM芯片的行攻击保护逻辑及力度可能是不同的,每个DRAM可能有不同的设计逻辑。
本公开示例性实施例所提供的自动刷新次数测试方法,不仅可以获得自动刷新次数;还可以根据自动刷新次数和内部自刷新次数的差值确定行攻击保护电路的偷刷次数,以对芯片进行行攻击保护逻辑分析。通过偷刷次数可以从侧面反应,芯片是否有行攻击保护电路,以及行攻击的保护力度的强弱,还有保护的开销大小。
具体的,在偷刷次数大于0的时候,可以确定该芯片设置了行攻击保护逻辑电路。即通过偷刷次数可以确定该芯片是否设置了行攻击保护逻辑电路。多个芯片之间相比,偷刷次数越多的芯片,其行攻击的保护力度越强,偷刷次数越少的芯片,其行攻击的保护力度越弱。而保护的开销指的是偷刷次数的多少,偷刷次数越多,保护的开销越大;反之亦然。
参照表2示出了三种芯片AA、BB、CC的测试结果对比。表2中,三种芯片分别使用了至少两个芯片进行测试计算,编号分别是:AA1、AA2、BB1、BB2、CC1、CC2。
表2
表2中自刷新间隔是通过电流测试方法获取的芯片CC的电流波形的实验结果获得的,其中,图5已经示出了芯片CC的平均自刷新间隔35.284μs,从图6和图7则可以确定出芯片AA、芯片BB的平均自刷新间隔分别为(27.619+27.640)/2=27.630μs、(24.550+24.525)/2=24.538μs。
根据自刷新周期和自刷新间隔就可以确定出表2中的内部自刷新次数。由于AA、BB、CC三种芯片的容量是相同的,均为65536行,那么根据内部自刷新次数就可以确定出自刷新SR和自动刷新AR每次刷新的行数(自刷新SR和自动刷新AR每次刷新的行数是相同的)。对于芯片CC而言,每次刷新65536/8k=8行;芯片BB与芯片CC的每次刷新的行数相同;而芯片AA每次刷新的行数是芯片CC的1/3,从上述结果可知,相对于芯片CC和芯片BB而言,芯片AA的功耗较低,与实际功耗测量数据相匹配。
比较表2中的内部自刷新次数和自动刷新次数,可以看出,芯片AA的内部自刷新次数和自动刷新次数相同,行攻击保护电路的偷刷次数为0,芯片AA没有进行行攻击保护电路设计;芯片BB的自动刷新次数比内部自刷新次数多5k,行攻击保护电路的偷刷次数为5k,芯片BB进行了行攻击保护电路设计,并且每8次会做5次行攻击保护电路偷刷;芯片CC的自动刷新次数比内部自刷新次数多1k,行攻击保护电路的偷刷次数为1k,芯片CC进行了行攻击保护电路设计,并且每8次会做1次行攻击保护电路偷刷。
本公开示例性实施例,通过自动刷新次数可以判断芯片的功耗,并且结合内部自刷新次数可以判断芯片的行攻击保护电路设计,从而可以与芯片本身的设计目标进行比较,以判断芯片是否达到了设计目标;还可以进行竞品分析,比较各个芯片产品之间的区别,为芯片性能评估提供参考依据。
另外,在数据保持能力随预设刷新次数的变化函数中,通过最小的数据保持能力对应的预设刷新次数,可以确定出存储器阵列中数据保持能力最差的行,可对生成工艺进行修复调整,以为后期的生产指导提供依据。
在本示例性实施例中,如图4所示,可以根据函数Y=Ret(N)中最小的数据保持能力对应的预设刷新次数240(虚线R对应的N值15616次),由于每次自动刷新的时候,第一次刷新的都是第0行,在实验中记录到图4中的虚线Row0为第0行,则可以知道某一个自动刷新周期内的Row0的在图4中的位置为9216次;则可以根据函数曲线中最小的数据保持能力对应的预设刷新次数15616占有的自动刷新次数的比例,确定数据保持能力最差的行,即(15616-9216)/9k*65536=45511行。也就是在该芯片的阵列中,在总共的65536行中,第45511行的数据保持能力最差。从图4中还可以看出,数据保持能力最差的行的数据保持能力为920ms(虚线L1对应的Y值)。
综上,执行预设刷新次数的自动刷新操作,并得到数据保持能力关于对应的预设刷新次数的变化曲线,根据变化曲线不仅可以确定存储器的自动刷新次数,还可以获得数据保持能力最差的行地址,并对芯片进行功耗和行攻击保护逻辑分析。通过简单的数据保持能力关于对应的预设刷新次数的变化曲线就可以确定出自动刷新次数,检测过程简单,数据处理也比较容易,由于上述变化曲线也为周期曲线,通过其周期即可确定出自动刷新次数,从而提高了确定结果的精确性。确定出的功耗和最弱的行,还可以用于后期的生产指导,据此对生成工艺进行修复调整,提高整个芯片的制程良率。
需要说明的是,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下对自刷新周期测试方法进行详细说明:
参照图8,示出了根据本公开的示例性实施例的一种自刷新周期测试方法的流程图。参照图8,该用于存储器的自刷新周期测试方法可以包括以下步骤:
步骤S810,执行预设次数的数据保持能力获取步骤,数据保持能力获取步骤包括确定预设刷新时间;发送自刷新进入指令,以控制存储器进入自刷新操作;在存储器执行预设刷新时间的自刷新后,发送自刷新退出指令,以控制存储器退出自刷新操作;检测存储器当前的数据保持能力。
步骤S820,获取数据保持能力关于对应的预设刷新时间的函数的周期;通过函数的周期确定存储器的自刷新周期。
根据本示例性实施例中的自刷新周期测试方法,一方面,通过检测存储器当前的数据保持能力,可以确定出在不刷新的情况下,存储器能够保留数据不丢失的最长时间;只要在该最长时间内执行刷新动作,就可以保证数据不丢失;由于数据保持能力与自刷新周期强相关,通过数据保持能力的不一致性,可准确测得自刷新周期,以便于进行自刷新功能验证以及不同的DRAM产品的分析。另一方面,上述数据保持能力是在自刷新预设刷新时间后获取的,在不同的预设刷新时间下,获得的数据保持能力是不同的,因此,数据保持能力与预设刷新时间相关,自然就与自刷新周期相关,通过简单的数据保持能力关于对应的预设刷新时间的函数的周期就可以确定出自刷新周期,检测过程简单,数据处理也比较容易;再一方面,本示例性实施例提供的自刷新周期测试方法,不会存在传统的高温测量中周期相互交叠的情况,因此测量的准确度更高,适用于各种温度范围的测量。
下面,将对本示例性实施例中的自刷新周期测试方法进行进一步的说明。
在步骤S810中,执行预设次数的数据保持能力获取步骤,数据保持能力获取步骤包括确定预设刷新时间;发送自刷新进入指令,以控制存储器进入自刷新操作;在存储器执行预设刷新时间的自刷新后,发送自刷新退出指令,以控制存储器退出自刷新操作;检测存储器当前的数据保持能力。
数据保持能力是DRAM存储器在不刷新的情况下,能够保留数据不丢失,抵抗漏电的最长时间。在实际应用中,常用的DRAM数据保持能力为64ms,代表在不刷新DRAM芯片的情况下,其所存储的所有数据能够被全部正确读出的有效时间是64ms,超过64ms可能有数据丢失的情况发生。在该64ms内,需要对存储器进行刷新,以确保数据不被丢失,因此,自刷新周期和DRAM的数据保持能力强相关。本示例性实施例通过获取数据保持能力,可以提高自刷新周期获取的准确性。
在DRAM的生产制造过程中,由于工艺制造精度限制,DRAM的每一位存储单元中的电容器抵抗漏电的能力有天然的不一致性:比如一个电容器的数据可以保持200ms,即该电容器的数据保持能力为200ms;旁边的另一个电容器的数据可以保持192ms,即该另一个电容器的数据保持能力为192ms。也就是说,DRAM中的多个存储单元的数据保持能力不可能完全一致;对于DRAM而言,每个存储单元的数据保持能力存在一定的不一致性,所带来的结果是,数据保持能力也会随着刷新时间的不同而成周期变化。
下面通过数据保持能力的具体获取方法来说明数据保持能力的周期性:
本示例性实施例中,首先,在检测存储器的数据保持能力之前,对存储器要执行预设刷新时间X的刷新,即先确定预设刷新时间X,发送自刷新进入指令,以控制存储器进入自刷新操作;然后,在存储器执行预设刷新时间X的自刷新后,发送自刷新退出指令,以控制存储器退出自刷新操作。通过上述的发送自刷新进入指令和发送自刷新退出指令即可完成一次自刷新操作。
需要说明的是,DRAM自刷新操作是自动按照顺序,从DRAM阵列的第0行至第L行顺序循环执行的操作,具体包括从存储器的存储单元中读出数据后,再重新写入数据至存储单元中。
由于整个自刷新操作的起始和结束都是通过发送相应的指令完成的,即通过发送自刷新进入指令(Self Refresh Entry Command)可以进入自刷新操作,通过发送自刷新退出指令(Self Refresh Exit Command)可以退出自刷新操作。其中,Self Refresh EntryCommand和Self Refresh Exit Command都是DRAM的标准指令。
在本示例性实施例中,通过发送Self Refresh Entry Command和Self RefreshExit Command可以控制存储器自刷新的时间,即根据确定的预设刷新时间X,通过发送SelfRefresh Entry Command和Self Refresh Exit Command来实现预设刷新时间X的刷新,不一定要刷新完整个阵列数据。
在本示例性实施例中,Self Refresh Entry Command还包括在控制存储器进入自刷新操作之前,控制存储器先掉电,后上电,并重新写入数据,也就是说,每一次自刷新操作都是一次全新的操作,并非是在上一次自刷新操作的基础上进行的。
其中,预设刷新时间X的大小可以根据实际需要来确定,例如,预设刷新时间X可以0μs,20μs,40μs,60μs等间隔20μs的多个刷新时间。本示例性实施例对于具体的预设刷新时间X不作特殊限定。
其次,在每一个预设刷新时间X内的自刷新操作结束后,对存储器当前的数据保持能力进行检测。
在本示例性实施例中,检测存储器当前的数据保持能力的步骤包括:对存储器执行数据读取步骤,数据读取步骤包括确定预设等待时间W;在存储器执行预设刷新时间X的自刷新后,等待预设等待时间W;在等待预设等待时间W后,读取存储器的数据;如果读取到数据,则递增预设等待时间W,并转至数据读取步骤,继续对存储器执行数据读取操作。如果等待递增后的预设等待时间W后,仍然可以读取到存储器的数据,则继续递增预设等待时间W,如此循环直至无法读取得到数据为止。如果未读取到数据,则确定上一个预设等待时间W为数据保持能力,此处的上一个预设等待时间W指的是上一步最大能够读取到数据的预设等待时间W。
需要说明的是,读取存储器的数据指的是读取整个阵列中的所有数据,只有所有的数据都可以读出时,才算数据可读取到。
参照图9,示意性示出了本公开的示例性实施例的数据保持能力的检测流程图。如图9所示,先对预设刷新时间X和预设等待时间W进行初始化,令X=0,W=0;初始化完成后,写入数据,例如,对存储器的整个阵列写入数据A;然后,发送自刷新进入指令;等待预设刷新时间X,在该时间内执行自刷新操作;接着,发送自刷新退出指令,退出自刷新操作;等待预设等待时间W;在等待预设等待时间W之后,读取数据A;如果读取到数据A,即读取成功,则递增预设等待时间W,并转至写入数据A的步骤;如果未读取到数据A,即读取失败,则确定上一步最大能够读取到的预设等待时间W为数据保持能力,并记录W和相应的X,并递增预设刷新时间X,重新进入写入数据A的步骤,进行下一个预设刷新时间X的自刷新后的数据保持能力的获取。关于递减预设刷新时间的方式,此处不再赘述。
在下一个数据保持能力获取中,可以以前一个结束时的W值开始进行,也可以将W值置0重新计算,本示例性实施例对此不作特殊限定。另外,W值的范围还可以围绕存储器实际的数据保持能力取值,从而可以以最快的速度获得准确的W值,其中,递增W值的步径也可以根据实际情况设置,例如1-30μs,本公开示例性实施例对此不作特殊限定。
在本示例性实施例中,执行预设次数的数据保持能力获取步骤的时候,可以在每次执行的时候,确定不同的预设刷新时间X(例如通过递增X的方式),从而可以获得多对X和W值,以便于后续对函数进行分析。其中,预设次数可以是500次、600次等,也就是说,相应的需要确定500个或600个X值,例如,以1ms为步径的情况下,X值可以在0-600ms之间取值。
在步骤S820中,在执行完步骤S810后,可以获取数据保持能力关于对应的预设刷新时间的函数的周期;通过函数的周期确定存储器的自刷新周期。
在本示例性实施例中,可以获得数据保持能力W关于对应的预设刷新时间X的函数W=Ret(X),由于DRAM阵列每个行的数据保持能力W天然的不一致性,函数Ret(X)也会是一个周期函数,并且其周期即为自刷新进入指令刷完整个阵列一次的时间,即本示例性实施例需要测量的自刷新周期。
在实际操作中,获取数据保持能力关于对应的预设刷新时间的函数的周期的步骤,还可以包括:获取数据保持能力随预设刷新时间变化的曲线;根据曲线确定函数的周期,曲线的周期即函数的周期,函数的周期即自刷新周期。
因为自刷新操作是自动循环往复刷新整个阵列的每一行。比如:DRAM芯片有100行,自刷新周期为50μs;
1)如果确定的预设刷新时间X为60μs,则在刷完整个阵列100行后,又重新从第一行开始刷到了20行左右,此时数据保持能力为W1=Ret(60μs)。
2)如果确定的预设刷新时间X为110μs,则在刷完整个阵列100行2次后,又重新从第一行开始刷到了20行左右,此时数据保持能力为W2=Ret(110μs)。
由于1)和2)两种情况下都是刷到了第20行,整个阵列的数据保持能力都应该取决于后80行中最弱的一行,因此W1=W2。
由上可知,函数Ret(X)是一个周期函数,且其周期即为自刷新周期。获得函数Ret(X),即可以获得自刷新周期,相比于现有的通过测量自刷新过程中芯片的电源电流波形,来模拟自刷新相邻两行之间的周期,本示例性实施例获得的自刷新周期的精度更高。
如图5所示,由电流波形图获得的周期为35.341μs和35.227μs,两个周期之间具有一定的误差,且上述周期值是相邻两次内部刷新之间的刷新间隔,乘以总的内部刷新次数才能获得本示例性实施例所要获得的自刷新周期,但DRAM全阵列总刷新次数只有芯片设计者知道。在不知道刷新完整个阵列所需的内部刷新次数时,传统的电流测试方法无法测试得到全阵列的自刷新周期。
参照图10,示意性示出了本示例性实施例提供的自刷新周期测试方法获取的一种实验结果示意图。如图10所示,横坐标为X,纵坐标为W;可见函数W=Ret(X)为一个周期函数,而且其周期290ms即为存储器的自刷新周期。上述的周期290ms为整个阵列的自刷新周期。图5和图10所示的是测量的同一种芯片IDD62的测量结果,已知该芯片刷新完整个阵列需要8192次内部刷新,则内部刷新间隔为290ms/8192=34μs,与图5中的测量结果接近,从而验证了本示例性实施例的自刷新周期测试方法的可行性。
如图7所示,由电流波形图获得的周期为24.550μs和24.525μs,且上述周期值是相邻两行之间的刷新间隔,乘以总内部刷新次数才能获得本示例性实施例所要获得的自刷新周期。
参照图11,示意性示出了本示例性实施例提供的自刷新周期测试方法获取的另一种实验结果示意图。如图11所示,横坐标为X,纵坐标为W;可见函数W=Ret(X)为一个周期函数,而且其周期195ms和199ms的平均值197ms即为存储器的自刷新周期。上述的周期197ms为整个阵列的自刷新周期。图7和图11所示的是测量的同一种芯片VDD2的测量结果,该芯片的内部刷新次数为8192,则内部刷新间隔为197ms/8192=24.05μs,与图7中的测量结果接近,进一步验证了本示例性实施例的自刷新周期测试方法的可行性。
现有的电流测试自刷新周期的方法,当芯片所处的环境温度升高,芯片的自刷新速度较大的时候,会出现相邻电流周期互相交叠的情况,此时,采用电流测试自刷新周期的方法无法辨别周期。而本公开的示例性实施例依据于DRAM阵列天然数据保持能力的差别特性,因此不会有交叠的情况发生,因此依然适用于高温情况下自刷新速度较大的情况,也就是说,本示例性实施例提供的自刷新周期测试方法的温度适用范围更大。
在实际操作中,递增预设等待时间W的步径越小,测量的数据保持能力的精度越高,但同时测试的次数会增加,因此测试时间会越久。
例如,假设自刷新进行预设刷新时间X后退出自刷新,此时DRAM阵列的数据保持能力为W,假设DRAM阵列自刷新按照顺序刷完整个阵列的周期为P=45μs(待测值)。
测试条件A:重复测试X=0μs,20μs,40μs,60μs……(X=0~100μs,步径等于20μs,共6个点)后,相应的DRAM整个阵列的数据保持能力W=200ms,180ms,200ms,180ms(W=160~220ms,步径20ms,共4个点)。
测量结果:W=Ret(X)的周期为40μs,测试时间=X方向6个点×W方向4个点=24U(假设一次测量时间为U)。
测试条件B:重复测试X=0μs,5μs,15μs,20μs...(X=0~100μs步径等于5μs,共21个点)后的DRAM整个阵列的数据保持能力W=205ms,165ms,170ms,160ms……(W=160~220ms,步径5ms,共13个点)。
测量结果:W=Ret(X)的周期为45μs,测试时间=X方向21个点×W方向13个点=273U(假设一次测量时间为U)。
可见,测试条件B的结果比A更加精确,但X,W方向步径均更小,因此耗时更久(273U>24U)。
在本示例性实施例中,如图10所示,可以根据函数W=Ret(X)中最小的数据保持能力对应的预设刷新时间240(虚线R对应的X值),确定存储器阵列中数据保持能力最差的行为240/290×65536=54236。也就是在该芯片的阵列中,在总共的65536行中,第54236行的数据保持能力最差。
也就是说,可以根据函数W=Ret(X)中最小的数据保持能力对应的预设刷新时间240ms占有的自刷新周期290ms的比例240/290,确定数据保持能力最差的行54236。
从图10中还可以看出,开始的前240ms,数据保持能力W值明显小于240ms之后的数据保持能力,说明在最弱的一行进行了一次自刷新后,整个芯片的数据保持能力有了明显的提升,数据保持能力最差的行的数据保持能力恢复到了500ms以上(虚线L2对应的W值),从而也说明了自刷新的重要性。这也从侧面说明了本公开实施例提供的自刷新周期测试方法的有效性。
在实际应用中,确定出最弱的行,还可以据此对生成工艺进行修复调整,以为后期的生产指导提供依据。
综上,执行预设次数的数据保持能力获取步骤,并得到数据保持能力关于对应的预设刷新时间的函数,根据函数不仅可以确定存储器的自刷新周期,还可以获得数据保持能力最差的行地址。通过简单的数据保持能力关于对应的预设刷新时间的函数就可以确定出自刷新周期,检测过程简单,数据处理也比较容易,由于上述函数也为周期函数,通过其周期即可确定出自刷新周期,从而提高了确定结果的精确性。而且不会存在传统的高温测量中周期相互交叠的情况,因此测量的准确度更高,适用于各种温度范围的测量。确定出的最弱的行,还可以用于后期的生产指导,据此对生成工艺进行修复调整,提高整个芯片的制程良率。
需要说明的是,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种自动刷新次数测试装置,用于存储器。参考图12,该自动刷新次数测试装置1200可以包括:数据获取模块1210和数据处理模块1220,其中:
数据获取模块1210,可以用于执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,自动刷新操作包括发送自动刷新指令并等待第一预设时间;改变预设刷新次数,获取对应的数据保持能力;
数据处理模块1220,可以用于获取数据保持能力关于对应的预设刷新次数的变化曲线,通过变化曲线确定存储器的自动刷新次数。
上述中各自刷新周期测试装置的虚拟模块的具体细节已经在对应的自刷新周期测试方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了自刷新周期测试装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (14)
1.一种自动刷新次数测试方法,其特征在于,所述方法包括:
执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,所述自动刷新操作包括发送自动刷新指令并等待第一预设时间;
改变所述预设刷新次数,获取对应的所述数据保持能力;
获取所述数据保持能力关于对应的所述预设刷新次数的变化曲线;
通过所述变化曲线确定所述自动刷新次数;
其中,所述获取对应的数据保持能力包括:
执行数据读取步骤,所述数据读取步骤包括在执行所述预设刷新次数的所述自动刷新操作后,等待第二预设时间;
在等待所述第二预设时间后,读取数据;
如果读取到所述数据,则递增所述第二预设时间,并转至所述数据读取步骤,直到无法读取到所述数据时,确定上一个所述第二预设时间为所述数据保持能力;
如果未读取到所述数据,则递减所述第二预设时间,并转至所述数据读取步骤,直到读取到所述数据时,确定当前所述第二预设时间为所述数据保持能力。
2.根据权利要求1所述的自动刷新次数测试方法,其特征在于,递增或递减所述第二预设时间的步径为1-30μs。
3.根据权利要求1所述的自动刷新次数测试方法,其特征在于,通过所述变化曲线确定所述自动刷新次数包括:
获取所述变化曲线的周期;
通过所述变化曲线的周期确定所述自动刷新次数。
4.根据权利要求3所述的自动刷新次数测试方法,其特征在于,所述变化曲线的周期等于所述自动刷新次数。
5.根据权利要求1所述的自动刷新次数测试方法,其特征在于,所述第一预设时间大于或等于25μs;所述预设刷新次数的改变步进小于或等于256次。
6.根据权利要求1所述的自动刷新次数测试方法,其特征在于,所述方法还包括:
根据所述自动刷新次数确定所述自动刷新指令每次刷新的行数。
7.根据权利要求6所述的自动刷新次数测试方法,其特征在于,根据所述自动刷新次数确定所述自动刷新指令每次刷新的行数包括:
确定存储器的总行数除以所述自动刷新次数为所述每次刷新的行数。
8.根据权利要求1所述的自动刷新次数测试方法,其特征在于,所述方法还包括:
根据自刷新周期测试方法确定存储器的自刷新周期;
根据自刷新电流测试方法获取所述存储器的相邻两次内部刷新之间的间隔时间;
根据所述自刷新周期和所述间隔时间,确定内部自刷新次数;
根据所述内部自刷新次数和所述自动刷新次数,确定行攻击保护电路的偷刷次数。
9.根据权利要求8所述的自动刷新次数测试方法,其特征在于,根据所述内部自刷新次数和所述自动刷新次数,确定行攻击保护电路的偷刷次数包括:
确定所述自动刷新次数与所述内部自刷新次数的差值为所述行攻击保护电路的偷刷次数。
10.根据权利要求1-9任一项所述的自动刷新次数测试方法,其特征在于,所述方法还包括:
根据最小的所述数据保持能力对应的所述预设刷新次数,确定存储器阵列中数据保持能力最差的行。
11.根据权利要求10所述的自动刷新次数测试方法,其特征在于,根据最小的所述数据保持能力对应的所述预设刷新次数,确定存储器阵列中数据保持能力最差的行包括:
根据所述最小的所述数据保持能力对应的所述预设刷新次数占有的所述自动刷新次数的比例,确定所述数据保持能力最差的行。
12.根据权利要求1所述的自动刷新次数测试方法,其特征在于,所述自动刷新指令还包括:
在控制存储器进入所述自动刷新操作之前,控制所述存储器掉电上电,并重新写入数据。
13.根据权利要求1所述的自动刷新次数测试方法,其特征在于,执行预设刷新次数的自动刷新操作包括:
从存储器的存储单元中读出数据后,再重新写入所述数据至所述存储单元中。
14.一种自动刷新次数测试装置,其特征在于,包括:
数据获取模块,用于执行预设刷新次数的自动刷新操作,获取对应的数据保持能力;其中,所述自动刷新操作包括发送自动刷新指令并等待第一预设时间;改变所述预设刷新次数,获取对应的所述数据保持能力;
数据处理模块,用于获取所述数据保持能力关于对应的所述预设刷新次数的变化曲线,通过所述变化曲线确定所述自动刷新次数;
其中,所述数据获取模块获取对应的数据保持能力包括:
执行数据读取步骤,所述数据读取步骤包括在执行所述预设刷新次数的所述自动刷新操作后,等待第二预设时间;
在等待所述第二预设时间后,读取数据;
如果读取到所述数据,则递增所述第二预设时间,并转至所述数据读取步骤,直到无法读取到所述数据时,确定上一个所述第二预设时间为所述数据保持能力;
如果未读取到所述数据,则递减所述第二预设时间,并转至所述数据读取步骤,直到读取到所述数据时,确定当前所述第二预设时间为所述数据保持能力。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011521506.9A CN114649044B (zh) | 2020-12-21 | 2020-12-21 | 自动刷新次数测试方法及装置 |
PCT/CN2021/073814 WO2022068127A1 (zh) | 2020-09-30 | 2021-01-26 | 自刷新周期测试方法及装置、自动刷新次数测试方法及装置 |
US17/440,335 US11929130B2 (en) | 2020-09-30 | 2021-01-26 | Method and device for testing sr cycle as well as method and device for testing ar number |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011521506.9A CN114649044B (zh) | 2020-12-21 | 2020-12-21 | 自动刷新次数测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114649044A CN114649044A (zh) | 2022-06-21 |
CN114649044B true CN114649044B (zh) | 2024-07-19 |
Family
ID=81989839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011521506.9A Active CN114649044B (zh) | 2020-09-30 | 2020-12-21 | 自动刷新次数测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114649044B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230037992A (ko) * | 2021-09-10 | 2023-03-17 | 삼성전자주식회사 | 로우 해머 방지 회로를 포함하는 메모리 장치 및 이의 동작 방법 |
CN115954026B (zh) * | 2023-03-10 | 2023-07-28 | 长鑫存储技术有限公司 | 刷新次数确定方法及设备 |
CN116168759B (zh) * | 2023-04-26 | 2023-09-12 | 长鑫存储技术有限公司 | 半导体存储装置的自刷新功耗分析方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037843A (zh) * | 2019-06-04 | 2020-12-04 | 长鑫存储技术有限公司 | 存储器测试方法、装置、存储器、设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272588B1 (en) * | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
JP4322694B2 (ja) * | 2004-02-04 | 2009-09-02 | エルピーダメモリ株式会社 | 半導体記憶装置および半導体記憶装置のリフレッシュ方法 |
JP4912718B2 (ja) * | 2006-03-30 | 2012-04-11 | 富士通セミコンダクター株式会社 | ダイナミック型半導体メモリ |
US10192608B2 (en) * | 2017-05-23 | 2019-01-29 | Micron Technology, Inc. | Apparatuses and methods for detection refresh starvation of a memory |
-
2020
- 2020-12-21 CN CN202011521506.9A patent/CN114649044B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037843A (zh) * | 2019-06-04 | 2020-12-04 | 长鑫存储技术有限公司 | 存储器测试方法、装置、存储器、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114649044A (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114649044B (zh) | 自动刷新次数测试方法及装置 | |
WO2022068127A1 (zh) | 自刷新周期测试方法及装置、自动刷新次数测试方法及装置 | |
US20180075927A1 (en) | Memory apparatus including a command controller | |
US7649796B2 (en) | Semiconductor memory and operating method of same | |
CN112767982A (zh) | 地址计数电路、存储器件及其操作方法 | |
JP2843481B2 (ja) | リフレッシュアドレステスト回路を備えた半導体メモリ装置 | |
US20070011596A1 (en) | Parity check circuit to improve quality of memory device | |
CN103187102B (zh) | 半导体存储器测试方法和半导体存储器 | |
CN113035259A (zh) | Dram测试方法、装置、可读存储介质及电子设备 | |
KR20170030215A (ko) | 메모리 장치 | |
CN114627940A (zh) | 包括执行目标刷新的存储器件的存储系统 | |
CN114550801B (zh) | 存储芯片的测试方法和测试装置、电子设备 | |
US11482297B2 (en) | Test method for self-refresh frequency of memory array and memory array test device | |
US6317852B1 (en) | Method to test auto-refresh and self refresh circuitry | |
CN114333972B (zh) | 自刷新周期测试方法及装置 | |
US6779136B2 (en) | Method for testing the refresh device of an information memory | |
WO2022151674A1 (zh) | 自刷新频率的检测方法 | |
CN115376600A (zh) | 存储器的测试方法、装置、设备及介质 | |
CN116978423A (zh) | 存储器仿真方法 | |
CN114566205A (zh) | 存储芯片的测试方法、装置、存储介质与电子设备 | |
EP0019150A1 (en) | Method of testing the operation of an internal refresh counter in a random access memory and circuit for the testing thereof | |
CN112599178A (zh) | Dram测试方法、装置、可读存储介质及电子设备 | |
CN116030874B (zh) | 测试方法、装置、电子设备和计算机可读存储介质 | |
CN116168759B (zh) | 半导体存储装置的自刷新功耗分析方法 | |
CN114582390B (zh) | Dram数据存储拓扑的探测方法及探测装置 |
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 |