CN112466384B - 一种闪存编程挂起特性的测试方法、测试装置及测试设备 - Google Patents
一种闪存编程挂起特性的测试方法、测试装置及测试设备 Download PDFInfo
- Publication number
- CN112466384B CN112466384B CN202011263978.9A CN202011263978A CN112466384B CN 112466384 B CN112466384 B CN 112466384B CN 202011263978 A CN202011263978 A CN 202011263978A CN 112466384 B CN112466384 B CN 112466384B
- Authority
- CN
- China
- Prior art keywords
- programming
- test
- executing
- program
- flash 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 173
- 230000015654 memory Effects 0.000 title claims abstract description 115
- 239000000725 suspension Substances 0.000 title claims abstract description 73
- 238000010998 test method Methods 0.000 title claims abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000011084 recovery Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006399 behavior Effects 0.000 claims 1
- 239000007787 solid Substances 0.000 abstract description 9
- 238000012545 processing Methods 0.000 description 8
- 230000001186 cumulative effect Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种闪存编程挂起特性的测试方法、测试装置、测试设备及计算机可读存储介质,根据设定的尝试执行编程挂起操作的次数、从开始执行编程脉冲操作到第一次执行编程挂起操作之间的第一时间间隔、从执行编程恢复操作到下次执行编程挂起操作之间的第二时间间隔,对待测闪存的第一存储单元执行编程脉冲操作,并在执行编程脉冲操作的过程中执行编程挂起操作以对待测闪存的第二存储单元执行读操作,统计各测试组中对第一存储单元执行完编程脉冲操作时实际执行编程挂起操作的次数;最后确定临界点对应的测试参数,从而准确地测得了闪存在执行编程脉冲操作时允许执行编程挂起操作的次数和间隙,为降低固态硬盘产品的读延迟提供数据支持。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种闪存编程挂起特性的测试方法、测试装置、测试设备及计算机可读存储介质。
背景技术
随着国家新基建工作的发展,云计算、5G、大数据等技术的需求量出现爆发式增长,这些新技术对数据的存储容量和存储性能提出了更高的要求。大量用户数据的存储离不开服务器,目前固态硬盘以其卓越的读写性能,在服务器的底层存储介质中所占的比重越来越大。固态硬盘的一个重要指标是尽可能的降低读延时,通过允许读操作中断正在进行的编程操作,可以减小编程操作对读延迟的影响。
在闪存(NAND Flash)内部,编程算法是一组编程脉冲序列。当执行编程挂起命令时,编程算法会暂停当前编程操作并记录当前脉冲,在执行编程恢复操作时,编程操作从暂停脉冲处开始继续执行。因此,闪存在执行编程脉冲操作时允许执行编程挂起操作的次数和间隙,决定了固态硬盘的读延迟的大小。
然而,现今在设计固态硬盘的操作程序时,往往参考设备厂商给出的编程挂起特性的范围,无法准确地根据闪存实际的编程挂起特性进行设计。
发明内容
本发明的目的是提供一种闪存编程挂起特性的测试方法、测试装置、测试设备及计算机可读存储介质,用于测试闪存实际的编程挂起特性,以便准确的进行相关操作程序的设计。
为解决上述技术问题,本发明提供一种闪存编程挂起特性的测试方法,包括:
获取各测试组的测试参数;
根据各所述测试组的所述测试参数,对待测闪存的第一存储单元执行编程脉冲操作,并在执行所述编程脉冲操作的过程中执行编程挂起操作以对所述待测闪存的第二存储单元执行读操作,并在执行完所述读操作后执行编程恢复操作以继续执行所述编程脉冲操作,直至完成所述编程脉冲操作;
统计各所述测试组中对所述第一存储单元执行完所述编程脉冲操作时实际执行所述编程挂起操作的次数;
确定所述实际执行所述编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为所述待测闪存的编程挂起操作临界参数;
其中,一个所述测试组对应一组所述测试参数,并对应一次完整的所述编程脉冲操作;所述测试参数包括尝试执行所述编程挂起操作的次数、从开始执行所述编程脉冲操作到第一次执行所述编程挂起操作之间的第一时间间隔、从执行所述编程恢复操作到下次执行所述编程挂起操作之间的第二时间间隔。
可选的,所述获取测试参数,具体为:
获取测试人员在测试参数配置界面上输入的测试参数。
可选的,所述尝试执行所述编程挂起操作的次数具体为从1到20的正整数中的任意一个;
所述第一时间间隔具体为50微秒或60微秒;
所述第二时间间隔具体为30微秒、40微秒、50微秒、60微秒、70微秒、100微秒、200微秒、300微秒中的任意一个。
可选的,所述统计各所述测试组中对所述第一存储单元执行完所述编程脉冲操作时实际执行所述编程挂起操作的次数,具体为:
统计各所述测试组中成功执行所述读操作的次数,记为所述实际执行所述编程挂起操作的次数。
可选的,所述编程挂起操作临界参数,具体为:
各组所述第一时间间隔和所述第二时间间隔对应的实际执行所述编程挂起操作的次数。
可选的,还包括:
统计各所述测试组对应的从开始执行所述编程脉冲操作到完成所述编程脉冲操作的累计编程时间、在所述累计编程时间中所述读操作所占用的读操作总时间以及在所述累计编程时间中实际执行所述编程脉冲操作的编程总时间。
可选的,还包括:
根据所述尝试执行所述编程挂起操作的次数、所述第一时间间隔、所述第二时间间隔和所述实际执行所述编程挂起操作的次数生成图表;
输出所述图表。
为解决上述技术问题,本发明还提供一种闪存编程挂起特性的测试装置,包括:
获取单元,用于获取各测试组的测试参数;
执行单元,用于根据各所述测试组的所述测试参数,对待测闪存的第一存储单元执行编程脉冲操作,并在执行所述编程脉冲操作的过程中执行编程挂起操作以对所述待测闪存的第二存储单元执行读操作,并在执行完所述读操作后执行编程恢复操作以继续执行所述编程脉冲操作,直至完成所述编程脉冲操作;
第一统计单元,用于统计各所述测试组中对所述第一存储单元执行完所述编程脉冲操作时实际执行所述编程挂起操作的次数;
检验单元,用于确定所述实际执行所述编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为所述待测闪存的编程挂起操作临界参数;
其中,一个所述测试组对应一组所述测试参数,并对应一次完整的所述编程脉冲操作;所述测试参数包括尝试执行所述编程挂起操作的次数、从开始执行所述编程脉冲操作到第一次执行所述编程挂起操作之间的第一时间间隔、从执行所述编程恢复操作到下次执行所述编程挂起操作之间的第二时间间隔。
为解决上述技术问题,本发明还提供一种闪存编程挂起特性的测试设备,包括:
存储器,用于存储指令,所述指令包括上述任意一项所述闪存编程挂起特性的测试方法的步骤;
处理器,用于执行所述指令。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述闪存编程挂起特性的测试方法的步骤。
本发明所提供的闪存编程挂起特性的测试方法,根据设定的尝试执行编程挂起操作的次数、从开始执行编程脉冲操作到第一次执行编程挂起操作之间的第一时间间隔、从执行编程恢复操作到下次执行编程挂起操作之间的第二时间间隔,对待测闪存的第一存储单元执行编程脉冲操作,并在执行编程脉冲操作的过程中执行编程挂起操作以对待测闪存的第二存储单元执行读操作,并在执行完读操作后执行编程恢复操作以继续执行编程脉冲操作,直至完成编程脉冲操作;统计各测试组中对第一存储单元执行完编程脉冲操作时实际执行编程挂起操作的次数;最后确定实际执行编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为待测闪存的编程挂起操作临界参数,从而准确地测得了闪存在执行编程脉冲操作时允许执行编程挂起操作的次数和间隙,有助于准确的进行相关操作程序的设计,为降低固态硬盘产品的读延迟提供数据支持。
本发明还提供一种闪存编程挂起特性的测试装置、测试设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种闪存编程挂起特性的测试方法的流程图;
图2为本发明实施例提供的一种闪存编程挂起特性测试结果统计图;
图3为本发明实施例提供的一种闪存编程挂起特性的测试装置的结构示意图;
图4为本发明实施例提供的一种闪存编程挂起特性的测试设备的结构示意图。
具体实施方式
本发明的核心是提供一种闪存编程挂起特性的测试方法、测试装置、测试设备及计算机可读存储介质,用于测试闪存实际的编程挂起特性,以便准确的进行相关操作程序的设计。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种闪存编程挂起特性的测试方法的流程图。
如图1所示,本发明实施例提供的闪存编程挂起特性的测试方法包括:
S101:获取各测试组的测试参数。
其中,一个测试组对应一组测试参数,并对应一次完整的编程脉冲操作。
在具体实施中,通过网线连接Nand Flash测试设备与测试电脑主机后,打开测试设备电源。通过在测试主机上进行人工配置或运行预先设计的测试脚本,执行本发明实施例提供的闪存编程挂起特性的测试方法。
为方便对不同的待测内存进行个性化测试,可以在测试电脑主机上为工作人员提供测试参数配置界面,以供测试人员对测试参数进行配置,在完成配置后,点击“Submit”按钮,触发Nand Flash测试设备进行编程挂起性能测试。
测试参数包括尝试执行编程挂起操作(Program Suspend)的次数(Read_Num)、从开始执行编程脉冲操作到第一次执行编程挂起操作之间的第一时间间隔(Start2Sus)、从执行编程恢复操作(Program Resume)到下次执行编程挂起操作之间的第二时间间隔(Res2Sus)。同时,由于涉及到对测试设备上内存具体的存储位置的编程脉冲操作和读操作,需要设置的测试参数还可以包括用于执行编程脉冲操作的存储单元和用于执行读操作的存储单元。存储单元可以以CE(一个独立的闪存组件)或LUN(能够独立执行命令和报告状态的最小单元,每个CE有一个或多个LUN)或BLOCK(由多个页面组成,是用于编程操作的最小可寻址单元)为单位构成。
因此,步骤S101具体可以为获取测试人员在测试参数配置界面上输入的测试参数。
此外,还可以采用以下测试参数的组合生成测试组。其中,尝试执行编程挂起操作的次数具体为从1到20的正整数中的任意一个;第一时间间隔具体为50微秒或60微秒;第二时间间隔具体为30微秒、40微秒、50微秒、60微秒、70微秒、100微秒、200微秒、300微秒中的任意一个。将此三个测试参数进行不同的组合得到不同的测试组,对应每个测试组进行一次测试。
S102:根据各测试组的测试参数,对待测闪存的第一存储单元执行编程脉冲操作,并在执行编程脉冲操作的过程中执行编程挂起操作以对待测闪存的第二存储单元执行读操作,并在执行完读操作后执行编程恢复操作以继续执行编程脉冲操作,直至完成编程脉冲操作。
对第一存储单元(可以以BLOCK为单位)开始执行编程脉冲操作后,经过第一时间间隔,执行编程挂起操作,开始读操作,完成读操作后,执行编程恢复操作,继续进行编程脉冲操作,经过第二时间间隔后,若未达到尝试执行编程挂起操作的次数,则执行编程挂起操作,开始读操作……如此反复,直至完成编程脉冲操作。
对各个测试组,分别执行步骤S102。
S103:统计各测试组中对第一存储单元执行完编程脉冲操作时实际执行编程挂起操作的次数。
每当对一个测试组执行完步骤S102时,统计对第一存储单元执行完编程脉冲操作时实际执行编程挂起操作的次数(Suspend)。测试设备在成功执行编程挂起操作后,会对测试电脑主机反馈编程挂起成功的信息,可以据此来统计实际执行编程挂起操作的次数。此外,步骤S103具体可以为:
统计各测试组中成功执行读操作的次数,记为实际执行编程挂起操作的次数。
根据测试设备对读操作的反馈,通过统计测试设备成功执行读操作的次数,也可以确定实际执行编程挂起操作的次数。
S104:确定实际执行编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为待测闪存的编程挂起操作临界参数。
闪存在进行一次编程脉冲操作的过程中,可以进行编程挂起操作的次数是有限的,且连续执行编程脉冲操作的时间也不可能无限小,这影响着闪存的读延迟。当超出闪存的编程挂起能力时,实际执行编程挂起操作的次数将小于尝试执行编程挂起操作的次数。故本发明实施例提供的闪存编程挂起特性的测试方法的目的在于确定实际执行编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点,输出此时的测试参数即为待测闪存的编程挂起操作临界参数。
具体来说,编程挂起操作临界参数,具体可以为:
各组第一时间间隔和第二时间间隔对应的实际执行编程挂起操作的次数。
基于此,工程师在编写闪存相关程序时,当确定了第一时间间隔和第二时间间隔,即可获悉对应的实际执行编程挂起操作的次数,进而可以根据实际执行编程挂起操作的次数来设计执行对闪存进行读操作的频次。
本发明实施例提供的闪存编程挂起特性的测试方法,根据设定的尝试执行编程挂起操作的次数、从开始执行编程脉冲操作到第一次执行编程挂起操作之间的第一时间间隔、从执行编程恢复操作到下次执行编程挂起操作之间的第二时间间隔,对待测闪存的第一存储单元执行编程脉冲操作,并在执行编程脉冲操作的过程中执行编程挂起操作以对待测闪存的第二存储单元执行读操作,并在执行完读操作后执行编程恢复操作以继续执行编程脉冲操作,直至完成编程脉冲操作;统计各测试组中对第一存储单元执行完编程脉冲操作时实际执行编程挂起操作的次数;最后确定实际执行编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为待测闪存的编程挂起操作临界参数,从而准确地测得了闪存在执行编程脉冲操作时允许执行编程挂起操作的次数和间隙,有助于准确的进行相关操作程序的设计,为降低固态硬盘产品的读延迟提供数据支持。
图2为本发明实施例提供的一种闪存编程挂起特性测试结果统计图。
在上述实施例的基础上,本发明实施例提供的闪存编程挂起特性的测试方法还包括:
统计各测试组对应的从开始执行编程脉冲操作到完成编程脉冲操作的累计编程时间(totalPRO)、在累计编程时间中读操作所占用的读操作总时间(sus2resume)以及在累计编程时间中实际执行编程脉冲操作的编程总时间(tPROG)。
通过统计上述参数,可以进一步给工程师在编写闪存相关程序提供更多的参考。
进一步的,本发明实施例提供的闪存编程挂起特性的测试方法还可以包括:
根据尝试执行编程挂起操作的次数、第一时间间隔、第二时间间隔和实际执行编程挂起操作的次数生成图表;
输出图表。
表1为参照本发明上述实施例给出的测试参数进行测试的一部分测试组对应的测试结果。
表1闪存编程挂起特性测试结果表(部分)(单位:微秒)
可以看到,在不同的测试组中,实际执行编程脉冲操作的编程总时间(tPROG)基本是一致的,而随着尝试执行编程挂起操作的次数(Read_Num)的增加、从开始执行编程脉冲操作到第一次执行编程挂起操作之间的第一时间间隔(Start2Sus)以及从执行编程恢复操作到下次执行编程挂起操作之间的第二时间间隔(Res2Sus)的增加,若未达到临界点,读操作总时间(sus2resume)以及累计编程时间(totalPRO)始终是增加的。
基于测试数据进一步生成更为直观的统计图。以测试组对应的测试参数(尝试执行编程挂起操作的次数(Read_Num)、第一时间间隔(Start2Sus)(Delay1)、第二时间间隔(Res2Sus)(Delay2))为横坐标,以实际执行编程挂起操作的次数(Suspend)为纵坐标,得到部分测试数据对应的闪存编程挂起特性测试结果统计图如图2所示。
综合表1和图2均可以看到,当达到临界点时,如“Read_Num=20,Start2Sus=50,Res2Sus=50”对应“Suspend=20”,“Read_Num=20,Start2Sus=50,Res2Sus=60”对应“Suspend=18”。当Start2Sus<60us时,实际执行编程挂起操作的次数(Suspend)总是随着尝试执行编程挂起操作的次数(Read_Num)的增加而增加,因为编程过程中一直被挂起,所以累计编程时间(totalPRO)一直在增加。当Start2Sus≥60us时,实际执行编程挂起操作的次数(Suspend)达到一定数值后,编程脉冲操作完成,累计编程时间(totalPRO)达到一定值后不再变化。当Start2Sus=60us时,由于实际执行编程挂起操作的次数(Suspend)变小,累计编程时间(totalPRO)降低,固态硬盘中固件代码中设置的最大挂起次数需小于20。
上文详述了闪存编程挂起特性的测试方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的闪存编程挂起特性的测试装置、设备及计算机可读存储介质。
图3为本发明实施例提供的一种闪存编程挂起特性的测试装置的结构示意图。
如图3所示,本发明实施例提供的闪存编程挂起特性的测试装置包括:
获取单元301,用于获取各测试组的测试参数;
执行单元302,用于根据各测试组的测试参数,对待测闪存的第一存储单元执行编程脉冲操作,并在执行编程脉冲操作的过程中执行编程挂起操作以对待测闪存的第二存储单元执行读操作,并在执行完读操作后执行编程恢复操作以继续执行编程脉冲操作,直至完成编程脉冲操作;
第一统计单元303,用于统计各测试组中对第一存储单元执行完编程脉冲操作时实际执行编程挂起操作的次数;
检验单元304,用于确定实际执行编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为待测闪存的编程挂起操作临界参数;
其中,一个测试组对应一组测试参数,并对应一次完整的编程脉冲操作;测试参数包括尝试执行编程挂起操作的次数、从开始执行编程脉冲操作到第一次执行编程挂起操作之间的第一时间间隔、从执行编程恢复操作到下次执行编程挂起操作之间的第二时间间隔。
进一步的,本发明实施例提供的闪存编程挂起特性的测试装置还可以包括:
第二统计单元,用于统计各测试组对应的从开始执行编程脉冲操作到完成编程脉冲操作的累计编程时间、在累计编程时间中读操作所占用的读操作总时间以及在累计编程时间中实际执行编程脉冲操作的编程总时间。
进一步的,本发明实施例提供的闪存编程挂起特性的测试装置还可以包括:
制图单元,用于根据尝试执行编程挂起操作的次数、第一时间间隔、第二时间间隔和实际执行编程挂起操作的次数生成图表;
输出单元,用于输出图表。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图4为本发明实施例提供的一种闪存编程挂起特性的测试设备的结构示意图。
如图4所示,本发明实施例提供的闪存编程挂起特性的测试设备包括:
存储器410,用于存储指令,所述指令包括上述任意一项实施例所述的闪存编程挂起特性的测试方法的步骤;
处理器420,用于执行所述指令。
其中,处理器420可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器420可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable LogicArray)中的至少一种硬件形式来实现。处理器420也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(CentralProcessing Unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器420可以集成有图像处理器GPU(Graphics Processing Unit),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器420还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器410可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器410还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器410至少用于存储以下计算机程序411,其中,该计算机程序411被处理器420加载并执行之后,能够实现前述任一实施例公开的闪存编程挂起特性的测试方法中的相关步骤。另外,存储器410所存储的资源还可以包括操作系统412和数据413等,存储方式可以是短暂存储或者永久存储。其中,操作系统412可以为Windows。数据413可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,闪存编程挂起特性的测试设备还可包括有显示屏430、电源440、通信接口450、输入输出接口460、传感器470以及通信总线480。
本领域技术人员可以理解,图4中示出的结构并不构成对闪存编程挂起特性的测试设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的闪存编程挂起特性的测试设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的闪存编程挂起特性的测试方法,效果同上。
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。
为此,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如闪存编程挂起特性的测试方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-OnlyMemory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的计算机可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的闪存编程挂起特性的测试方法的步骤,效果同上。
以上对本发明所提供的一种闪存编程挂起特性的测试方法、装置、设备及计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种闪存编程挂起特性的测试方法,其特征在于,包括:
获取各测试组的测试参数;
根据各所述测试组的所述测试参数,对待测闪存的第一存储单元执行编程脉冲操作,并在执行所述编程脉冲操作的过程中执行编程挂起操作以对所述待测闪存的第二存储单元执行读操作,并在执行完所述读操作后执行编程恢复操作以继续执行所述编程脉冲操作,直至完成所述编程脉冲操作;
统计各所述测试组中对所述第一存储单元执行完所述编程脉冲操作时实际执行所述编程挂起操作的次数;
确定所述实际执行所述编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为所述待测闪存的编程挂起操作临界参数;
其中,一个所述测试组对应一组所述测试参数,并对应一次完整的所述编程脉冲操作;所述测试参数包括尝试执行所述编程挂起操作的次数、从开始执行所述编程脉冲操作到第一次执行所述编程挂起操作之间的第一时间间隔、从执行所述编程恢复操作到下次执行所述编程挂起操作之间的第二时间间隔。
2.根据权利要求1所述的测试方法,其特征在于,所述获取测试参数,具体为:
获取测试人员在测试参数配置界面上输入的测试参数。
3.根据权利要求1所述的测试方法,其特征在于,所述尝试执行所述编程挂起操作的次数具体为从1到20的正整数中的任意一个;
所述第一时间间隔具体为50微秒或60微秒;
所述第二时间间隔具体为30微秒、40微秒、50微秒、60微秒、70微秒、100微秒、200微秒、300微秒中的任意一个。
4.根据权利要求1所述的测试方法,其特征在于,所述统计各所述测试组中对所述第一存储单元执行完所述编程脉冲操作时实际执行所述编程挂起操作的次数,具体为:
统计各所述测试组中成功执行所述读操作的次数,记为所述实际执行所述编程挂起操作的次数。
5.根据权利要求1所述的测试方法,其特征在于,所述编程挂起操作临界参数,具体为:
各组所述第一时间间隔和所述第二时间间隔对应的实际执行所述编程挂起操作的次数。
6.根据权利要求1所述的测试方法,其特征在于,还包括:
统计各所述测试组对应的从开始执行所述编程脉冲操作到完成所述编程脉冲操作的累计编程时间、在所述累计编程时间中所述读操作所占用的读操作总时间以及在所述累计编程时间中实际执行所述编程脉冲操作的编程总时间。
7.根据权利要求6所述的测试方法,其特征在于,还包括:
根据所述尝试执行所述编程挂起操作的次数、所述第一时间间隔、所述第二时间间隔和所述实际执行所述编程挂起操作的次数生成图表;
输出所述图表。
8.一种闪存编程挂起特性的测试装置,其特征在于,包括:
获取单元,用于获取各测试组的测试参数;
执行单元,用于根据各所述测试组的所述测试参数,对待测闪存的第一存储单元执行编程脉冲操作,并在执行所述编程脉冲操作的过程中执行编程挂起操作以对所述待测闪存的第二存储单元执行读操作,并在执行完所述读操作后执行编程恢复操作以继续执行所述编程脉冲操作,直至完成所述编程脉冲操作;
第一统计单元,用于统计各所述测试组中对所述第一存储单元执行完所述编程脉冲操作时实际执行所述编程挂起操作的次数;
检验单元,用于确定所述实际执行所述编程挂起操作的次数小于尝试执行编程挂起操作的次数的临界点对应的测试参数为所述待测闪存的编程挂起操作临界参数;
其中,一个所述测试组对应一组所述测试参数,并对应一次完整的所述编程脉冲操作;所述测试参数包括尝试执行所述编程挂起操作的次数、从开始执行所述编程脉冲操作到第一次执行所述编程挂起操作之间的第一时间间隔、从执行所述编程恢复操作到下次执行所述编程挂起操作之间的第二时间间隔。
9.一种闪存编程挂起特性的测试设备,其特征在于,包括:
存储器,用于存储指令,所述指令包括权利要求1至7任意一项所述闪存编程挂起特性的测试方法的步骤;
处理器,用于执行所述指令。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述闪存编程挂起特性的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011263978.9A CN112466384B (zh) | 2020-11-12 | 2020-11-12 | 一种闪存编程挂起特性的测试方法、测试装置及测试设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011263978.9A CN112466384B (zh) | 2020-11-12 | 2020-11-12 | 一种闪存编程挂起特性的测试方法、测试装置及测试设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112466384A CN112466384A (zh) | 2021-03-09 |
CN112466384B true CN112466384B (zh) | 2023-02-28 |
Family
ID=74826265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011263978.9A Active CN112466384B (zh) | 2020-11-12 | 2020-11-12 | 一种闪存编程挂起特性的测试方法、测试装置及测试设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112466384B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1386224A (zh) * | 2000-07-31 | 2002-12-18 | M-系统快闪盘开拓者公司 | 使非易失性存储器作为数据存储/处理设备运转时能执行代码的系统和方法 |
CN101140801A (zh) * | 2006-08-31 | 2008-03-12 | 三星电子株式会社 | 相变随机存取存储器设备及相关的操作方法 |
CN110727394A (zh) * | 2018-07-17 | 2020-01-24 | 爱思开海力士有限公司 | 数据存储装置、该数据存储装置的操作方法以及存储系统 |
-
2020
- 2020-11-12 CN CN202011263978.9A patent/CN112466384B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1386224A (zh) * | 2000-07-31 | 2002-12-18 | M-系统快闪盘开拓者公司 | 使非易失性存储器作为数据存储/处理设备运转时能执行代码的系统和方法 |
CN101140801A (zh) * | 2006-08-31 | 2008-03-12 | 三星电子株式会社 | 相变随机存取存储器设备及相关的操作方法 |
CN110727394A (zh) * | 2018-07-17 | 2020-01-24 | 爱思开海力士有限公司 | 数据存储装置、该数据存储装置的操作方法以及存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112466384A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109448778B (zh) | 一种固态硬盘性能测试方法、系统、装置及可读存储介质 | |
CN109346122B (zh) | 固态硬盘性能的测试方法及装置 | |
CN110718264A (zh) | 测试固态硬盘信息的方法、装置、计算机设备及存储介质 | |
CN108777158B (zh) | 测试固态硬盘Trim性能的方法、装置及计算机设备 | |
CN103116069A (zh) | 芯片频率的测试方法、装置及系统 | |
CN110956997A (zh) | 一种固态硬盘ber的测试方法、测试装置及测试设备 | |
US7681157B2 (en) | Variable threshold system and method for multi-corner static timing analysis | |
CN112597064B (zh) | 对程序进行仿真的方法、电子设备及存储介质 | |
CN112199053B (zh) | 一种应用于小容量存储区的日志记录方法、装置及介质 | |
CN112466384B (zh) | 一种闪存编程挂起特性的测试方法、测试装置及测试设备 | |
CN112133357A (zh) | 一种eMMC的测试方法及装置 | |
CN115480973A (zh) | 一种服务器性能测试方法、装置、介质 | |
CN103902301A (zh) | 读取bios的方法、装置以及处理器 | |
CN116149901A (zh) | 一种数据校验测试方法、装置及计算机可读存储介质 | |
CN105095072A (zh) | 一种应用测试方法、装置及终端 | |
CN113272785A (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN104216836A (zh) | 一种存储系统的并行读写方法和装置 | |
CN108845765B (zh) | 一种nand数据读取方法、系统、设备及存储介质 | |
CN112269535A (zh) | 存储系统的空间资源分配方法、装置及可读存储介质 | |
CN111966301A (zh) | 分布式对象存储系统的迁移速度控制方法、装置及介质 | |
CN106648751B (zh) | 一种嵌入式软件快速升级的方法及嵌入式设备 | |
CN113126918B (zh) | 一种碎片化数据读取方法、装置及介质 | |
CN115641907A (zh) | 一种磁盘的测试方法、装置、设备及介质 | |
CN111176572B (zh) | 一种存储数据的保护方法、装置、设备及介质 | |
CN114415947B (zh) | 一种Dummy read控制方法、装置及介质 |
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 |