CN116913351B - 一种存储设备数据丢失测试方法、装置、介质及设备 - Google Patents
一种存储设备数据丢失测试方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN116913351B CN116913351B CN202311178413.4A CN202311178413A CN116913351B CN 116913351 B CN116913351 B CN 116913351B CN 202311178413 A CN202311178413 A CN 202311178413A CN 116913351 B CN116913351 B CN 116913351B
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- writing
- size
- storage
- 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 64
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000015654 memory Effects 0.000 claims description 33
- 238000010998 test method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013519 translation 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/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及存储设备测试技术领域,公开了一种存储设备数据丢失测试方法,包括:根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、位置以及执行测试步骤的次数;对写入第一数据后的所述存储设备执行下电操作;读取下电后存储设备的第一存储单元中的第二数据;获取所述第一数据与所述第二数据之间的差异数据作为丢失数据。本发明解决现有方法无法自动化获取写XLC block时丢失最大数据量的问题。
Description
技术领域
本发明涉及存储设备测试技术领域,尤其涉及一种存储设备数据丢失测试方法、装置、介质及设备。
背景技术
eMMC (Embedded Multi Media Card)为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格,由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器(nand-flash)及eMMC控制器。eMMC的一个明显优势是在封装中集成了一个eMMC控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间,越来越多的移动设备采用eMMC作为存储单元。
在对eMMC存储设备进行读写操作时,消耗完SLC(单层储存单元,Single-LevelCell )block后,就会开始消耗XLC(多层存储单元,X-Level Cell)block。在掉电后,XLCblock丢失的最大数据量也是各大厂家在衡量eMMC性能的重大指标之一。
但是现有测试方法中还没有发现可以自动化获取向存储设备写XLC block时丢失的最大数据量的方法。
发明内容
本发明提供一种存储设备数据丢失测试方法、装置、介质及设备,用于解决现有技术存在的问题。
为实现上述目的及其他相关目的,本发明提供一种存储设备数据丢失测试方法,包括:
根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、地址以及执行测试步骤的次数;
对写入第一数据后的所述存储设备执行下电操作;
读取下电后存储设备的第一存储单元中的第二数据;
获取所述第一数据与所述第二数据之间的差异数据作为丢失数据。
于本发明一实施例中,对所述存储设备执行多次测试步骤,得到多个差异数据,多个差异数据中的最大数据作为丢失数据。
于本发明一实施例中,在向所述存储设备的第一存储单元写入第一数据的步骤前,所述方法还包括:
根据第二数据写入参数向所述存储设备的第二存储单元写入第三数据,所述第三数据写入参数包括所述第三数据的大小、类型、地址。
于本发明一实施例中,所述第三数据的数据量大于所述第二存储单元的存储容量。
于本发明一实施例中,在进行第一次测试步骤时,所述第一数据的写入起始地址为零;在执行第二次测试步骤时,所述第三数据的写入起始地址从所述第一数据的写入结束地址开始,所述第一数据的写入起始地址从所述第三数据的写入结束地址开始。
于本发明一实施例中,所述第三数据的数据量cold_data_capcity表示为:
cold_data_capcity = BKOPS_threshold*(SLC_page_count*a*b)+n
其中,BKOPS_threshold表示存储设备内部预留的SLC blocks的数量;SLC_page_count表示存储设备设定的总SLC page数量,a表示一个page的大小;SLC_page_count*a*b为XLC的总page数量,b表示XLC的总page数量为SLC的总page数量的b倍,n表示数据量的大小。
于本发明一实施例中,所述第一数据的数据量hot_data_capcity表示为:
hot_data_capcity=trunk_size*2*(cycle+1)
其中,trunk_size表示基本写入单元的大小;cycle表示执行测试步骤的次数。
为实现上述目的及其他相关目的,本发明还提供一种存储设备数据丢失测试装置,所述测试装置包括:
数据写入模块,用于根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、位置以及执行测试步骤的次数;
下电控制模块,用于对写入第一数据后的所述存储设备执行下电操作;
数据读取模块,用于读取下电后存储设备的第一存储单元中的第二数据;
数据比较模块,用于获取所述第一数据与所述第二数据之间的差异数据作为丢失数据。
为实现上述目的及其他相关目的,本发明还提供一种计算机设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述处理器执行前述的一个或多个所述的存储设备数据丢失测试方法。
为实现上述目的及其他相关目的,本发明还提供一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得处理器执行前述的一个或多个所述的存储设备数据丢失测试方法。
如上所述,本发明提供的一种存储设备数据丢失测试方法、装置、机器可读介质及设备,具有以下有益效果:
本发明的一种存储设备数据丢失测试方法,包括:根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、位置以及执行测试步骤的次数;对写入第一数据后的所述存储设备执行下电操作;读取下电后存储设备的第一存储单元中的第二数据;获取所述第一数据与所述第二数据之间的差异数据作为丢失数据。本发明解决现有方法无法自动化获取写XLC block时丢失最大数据量的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一示例性的存储设备数据丢失测试方法实施环境的示意图;
图2为本申请一示例性的一种存储设备数据丢失测试方法的流程图;
图3为本申请一示例性的一种存储设备数据丢失测试装置的框图;
图4示出了适于用来实现本申请实施例的计算机设备的计算机***的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
图1示出根据计算机***的示意性框图。计算机***包括主机、控制***和存储器。在下文以固态硬盘为例进行描述。固态硬盘例如包括图中所示的控制***和存储器,存储器的存储介质例如为闪存芯片阵列。
控制***的主机接口连接至主机,以传输指令。主机接口例如是SATA、M.2、mSATA和PCI-E。处理器与主机接口、缓存控制器和存储器控制器128相连接。控制***中的缓存芯片包括SRAM芯片和DRAM芯片,例如存储L2P映射表。处理器用于实现存储器控制的核心软件层,即FTL(Flash Translation Layer ,闪存转换层),使得操作***和文件***能够像访问硬盘一样访问存储器。该FTL还有例如支持所有SLC(Single Level Cell,单层单元)和MLC(Multi-Level Cell,多层单元)、支持坏块管理、损耗均衡、垃圾回收、断电恢复、写平衡技术等特点。FTL的核心功能是地址映射,其中,处理器经由缓存控制器读取缓存芯片以获得L2P映射表,基于L2P映射表将从主机接收到的逻辑地址映射成存储器的物理地址。控制***的存储器控制器连接至存储器,根据处理器提供的物理地址对存储器的相应存储单元进行数据访问操作。
存储器包括eMMC。为了提高数据读写性能,控制***的存储器控制器可以经由多个通道CH0和CH1对eMMC进行读写。每个通道连接一组eMMC。每个eMMC包括多个物理块,每个物理块包括多个物理页。对闪存芯片的数据访问操作包括读、写和擦除。由于eMMC的物理特性,数据操作的基本单位例如是物理页,擦除操作的基本单位例如是物理块。
在主机执行数据操作时,控制***从主机接收到指令。控制***将指令中的逻辑地址映射成物理地址,该物理地址用于表征存储器中的位置,包括通道、物理块和物理页等。在读取操作中,控制***以物理页为单位读取数据,以及从中获取与逻辑地址相对应的读取数据。在写入操作中,控制***将指令中的数据生成以物理页为单位的数据,然后以物理页为单位写入到EMMC中。在写入操作时,还需要更新L2P映射表。
应该理解,图1中的控制***的数目仅仅是示意性的。根据实际需要,可以具有任意数目的控制***和存储器。
在对eMMC存储设备进行读写操作时,消耗完SLCSLC,单层储存单元(Single-LevelCell )block后,就会开始消耗XLC block。在掉电后,XLC(多层存储单元,X-Level Cell)block丢失的最大数据量也是各大厂家在衡量eMMC性能的重大指标之一。
但是现有测试方法中还没有发现可以自动化获取向存储设备写XLC block时丢失的最大数据量的方法,故本发明提出了一种存储设备数据丢失测试方法,该方法适用于写XLC block的测试。
本申请的实施例分别提出一种存储设备数据丢失测试方法、一种存储设备数据丢失测试装置、一种计算机设备、一种计算机可读存储介质,以下将对这些实施例进行详细描述。
请参阅图2,图2是本申请的一示例性实施例示出的一种存储设备数据丢失测试方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的控制***具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
请参阅图2,图2为本申请一示例性的一种存储设备数据丢失测试方法的流程图,该存储设备数据丢失测试方法至少包括步骤S210至步骤S240,详细介绍如下:
步骤S210,根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、地址以及执行测试步骤的次数;
在一实施例中,所述存储设备为eMMC,第一存储单元为eMMC中的XLC block。在接收到主机的数据写入指令后,根据第一数据写入参数将第一数据写入到存储单元中。第一数据的大小指第一数据的数据量,类型为随机数据,地址包括写入起始地址以及写入结束地址。
步骤S220,对写入第一数据后的所述存储设备执行下电操作;
本申请是对掉电后eMMC存储设备的XLC block丢失的最大数据量进行测试,因此在完成第一数据的写入后对存储设备执行下电操作。
步骤S230,读取下电后存储设备的第一存储单元中的第二数据;
在存储设备下电后,eMMC存储设备可能会发生数据丢失,因此获取此时XLC block中的存储的数据为第二数据。
步骤S240,获取所述第一数据与所述第二数据之间的差异数据作为丢失数据。
将第一数据与第二数据进行比较,得到差异数据,这个差异数据就可以认为是因发生掉电而产生的丢失数据。
以上步骤介绍了对存储设备丢失的数据进行了一次测试,当然本领域技术人员可以根据实际需求进行多次测试,多次测试即循环执行上述步骤S210至步骤S240。
需要说明的是,每执行一次测试步骤会得到一个差异数据,若仅仅只进行了一次测试步骤,则这个差异数据就可以认为是丢失数据;若执行了多次测试步骤,则会得到多个差异数据,多个差异数据中的最大数据就可以最为最大丢失数据。
在一实施例中,对所述存储设备执行多次测试步骤,得到多个差异数据,多个差异数据中的最大数据作为丢失数据。
一般来说,在对eMMC存储设备进行读写操作时,会先消耗SLC block,待消耗完SLCSLC,单层储存单元(Single-Level Cell )block后,才会开始消耗XLC block。本申请是测试XLC block的丢失数据,为了确保在写入数据时,数据会被写入到XLC block中,因此,在对XLC block即第一存储单元进行数据写入前,先要对第二存储单元SLC block进行数据写入。
在一实施例中,在向所述存储设备的第一存储单元写入第一数据的步骤前,所述方法还包括:根据第二数据写入参数向所述存储设备的第二存储单元写入第三数据,所述第三数据写入参数包括所述第三数据的大小、类型、地址。
为了保证第二存储单元的数据写满,所述第三数据的数据量大于所述第二存储单元的存储容量。
需要说明的是,第三数据可以是冷数据,即cold_data,所述第三数据的数据量cold_data_capcity表示为:
cold_data_capcity = BKOPS_threshold*(SLC_page_count*a*b)+n
其中,BKOPS_threshold表示存储设备内部预留的SLC blocks的数量;SLC_page_count表示存储设备设定的总SLC page数量,a表示一个page的大小;SLC_page_count*a*b为XLC的总page数量,b表示XLC的总page数量为SLC的总page数量的b倍,n表示数据量的大小。
具体地,a可以取值32K,b可以取值3,n可以取值1024KB,则第三数据的数据量cold_data_capcity表示为
cold_data_capcity = BKOPS_threshold*(SLC_page_count*32KB*3)+1024KB
其中,BKOPS_threshold为device内部预留的SLC blocks的数量;SLC_page_count为device设定的总SLC page数量,其中32K表示一个page大小;SLC_page_count*32KB*3为XLC的总page数量,3表示XLC为SLC的3倍;1024KB表示1G,即在BKOPS_threshold*(SLC_page_count*32KB*3)基础上再额外写1G,确保数据会写到XLC block上。
在一实施例中,所述第一数据可以是热数据,第一数据量hot_data_capcity表示为:
Hot_data_capcity=trunk_size*2*(cycle+1)
其中,trunk_size表示基本写入单元的大小;cycle表示执行测试步骤的次数。需要说明的是,hot data的数据单元会随着cycle的增加而增加,例如,cycle=1,trunk_size=4,hot data unit=4*2*2=16,即一笔CMD25携带16个512byte;cycle=2时,一笔带24个512byte。
在一实施例中,由于不同测试平台自身限制,一笔写命令可携带的数据量不同,假设测试平台A一笔写所携带的数据量为M(Hot_data_capcity),则当cycle=(M/ (trunk_size*2))-1圈时,让cycle重新归0。
在一实施例中,在进行第一次测试步骤时,所述第一数据的写入起始地址为零;在执行第二次测试步骤时,所述第三数据的写入起始地址从所述第一数据的写入结束地址开始,所述第一数据的写入起始地址从所述第三数据的写入结束地址开始。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本申请的一示例性实施例示出一种存储设备数据丢失测试方法,所述测试方法包括:
1、运行上下电模块;
2、初始化eMMC;
3、发送命令检查缓存的功能是否关闭,在缓存的功能关闭时执行步骤4;
4、全卡写pattern_A,即向整个存储设备写入数据,这些写入的数据可以是同样的数据,比如,全为1或全为2;通过此步骤后,可以避免由于存储设备中包括其他的数据而在后续写入数据比较的过程中产生错误;
5、进入循环步骤(执行6-13);
6、生成冷数据cold data模型:
(1)生成冷数据cold data总量:确定冷数据的总量
cold_data_capcity= BKOPS_threshold*(SLC_page_count*32KB*3)+1024KB
其中,BKOPS_threshold为存储设备内部预留的SLC blocks的数量;SLC_page_count为存储设备设定的总SLC page数量,其中32K表示一个page大小;SLC_page_count*32KB*3为XLC的总page数量,其中3表示XLC为SLC的3倍;1024KB表示1G,即在BKOPS_threshold*(SLC_page_count*32KB*3)基础上再额外写1G,确保数据会写到XLC block上;
(2)生成数据单元cold data unit单元为4 MB、数据内容为pattern_B、冷数据开始逻辑地址cold data start lba从热数据结束逻辑地址hot data end lba开始,需要说明的是,第一圈循环(第一次测试)时,冷数据开始逻辑地址cold data start lba=0;
7、冷数据开始逻辑地址cold data start lba=热数据结束逻辑地址hot dataend lba;
8、开始进行冷数据cold data的写操作;
9、冷数据结束逻辑地址cold data end lba=冷数据开始逻辑地址cold datastart lba +冷数据cold data 总量;
10、发送命令开启缓存功能;
11、生成热数据hot data模型:
(1)数据单元:trunk_size*2*(cycle+1) KB;
其中,trunk_size 作为输入参数表示base write unit;cycle为测试圈数。hotdata的数据单元会随着cycle的增加而增加,例如,cycle=1,trunk_size=4,hot data unit=4*2*2=16,即一笔CMD25携带16个512byte;cycle=2时,一笔带24个512 byte。即一笔CMD25携带16个512byte;cycle=2时,一笔带24个512 byte;
(2)数据内容为pattern_rand(随机数据)、热数据开始逻辑地址hot data startlba从冷数据结束逻辑地址cold data end lba开始;
12、热数据开始逻辑地址Hot data start lba=冷数据结束逻辑地址cold dataend lba;
13、开始进行热数据hot data的写操作;
14、热数据结束逻辑地址hot data end lba=热数据开始逻辑地址hot datastart lba+trunk_size*2*(cycle+1);
15、运行上下电模块;
16、读取热数据hot data,并记录下电前与下电后的热数据,并比较得到不一致的数据量;
17、最终输出数据不一致的最大数据量为在cache-on条件下掉上电后XLC丢失的最大数据量。
需要说明的是,由于不同测试平台自身限制,一笔写命令可携带的数据量不同,假设测试平台A一笔写所携带的数据量为M,则当cycle=(M/ (trunk_size*2))-1圈时,让cycle重新归0。
图3是本申请的一示例性实施例示出的存储设备数据丢失测试装置的框图。该装置可以应用于图1所示的实施环境,并具体配置在智能终端中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
如图3所示,一种存储设备数据丢失测试装置,所述测试装置包括:
数据写入模块310,用于根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、位置以及执行测试步骤的次数;
下电控制模块320,用于对写入第一数据后的所述存储设备执行下电操作;
数据读取模块330,用于读取下电后存储设备的第一存储单元中的第二数据;
数据比较模块340,用于获取所述第一数据与所述第二数据之间的差异数据作为丢失数据。
需要说明的是,上述实施例所提供的存储设备数据丢失测试装置与上述实施例所提供的存储设备数据丢失测试方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种计算机设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述计算机设备实现上述各个实施例中提供的存储设备数据丢失测试方法。
图4示出了适于用来实现本申请实施例的计算机设备的计算机***的结构示意图。需要说明的是,图4示出的计算机设备的计算机***仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机***包括中央处理单元(Central Processing Unit,CPU),其可以根据存储在只读存储器(Read-Only Memory,ROM)中的程序或者从储存部分加载到随机访问存储器(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 中,还存储有***操作所需的各种程序和数据。CPU、ROM 以及RAM 通过总线彼此相连。输入/输出(Input /Output,I/O)接口也连接至总线。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分;包括硬盘等的储存部分;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入储存部分。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图2所示的存储设备数据丢失测试方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线,或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框,以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的存储设备数据丢失测试方法。该计算机可读存储介质可以是上述实施例中描述的存储器中所包含的,也可以是单独存在,而未装配入该存储器中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的存储设备数据丢失测试方法。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种存储设备数据丢失测试方法,其特征在于,所述测试方法包括:
根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、地址以及执行测试步骤的次数;
对写入第一数据后的所述存储设备执行下电操作;
读取下电后存储设备的第一存储单元中的第二数据;
获取所述第一数据与所述第二数据之间的差异数据作为丢失数据;
在向所述存储设备的第一存储单元写入第一数据的步骤前,所述方法还包括:
根据第二数据写入参数向所述存储设备的第二存储单元写入第三数据,所述第二数据写入参数包括所述第三数据的大小、类型、地址;所述第三数据的数据量大于所述第二存储单元的存储容量。
2.根据权利要求1所述的存储设备数据丢失测试方法,其特征在于,对所述存储设备执行多次测试步骤,得到多个差异数据,多个差异数据中的最大数据作为丢失数据。
3.根据权利要求1所述的存储设备数据丢失测试方法,其特征在于,在进行第一次测试步骤时,所述第一数据的写入起始地址为零;在执行第二次测试步骤时,所述第三数据的写入起始地址从所述第一数据的写入结束地址开始,所述第一数据的写入起始地址从所述第三数据的写入结束地址开始。
4.根据权利要求3所述的存储设备数据丢失测试方法,其特征在于,所述第三数据的数据量cold_data_capcity表示为:
cold_data_capcity = BKOPS_threshold*(SLC_page_count*a*b)+n
其中,BKOPS_threshold表示存储设备内部预留的SLC blocks的数量;SLC_page_count表示存储设备设定的总SLC page数量,a表示一个page的大小;SLC_page_count*a*b为XLC的总page数量,b表示XLC的总page数量为SLC的总page数量的b倍,n表示数据量的大小。
5.根据权利要求4所述的存储设备数据丢失测试方法,其特征在于,所述第一数据的数据量hot_data_capcity表示为:
hot_data_capcity=trunk_size*2*(cycle+1)
其中,trunk_size表示基本写入单元的大小;cycle表示执行测试步骤的次数。
6.一种存储设备数据丢失测试装置,其特征在于,所述测试装置包括:
数据写入模块,用于根据第一数据写入参数向所述存储设备的第一存储单元写入第一数据,所述第一数据写入参数包括第一数据的大小、类型、位置以及执行测试步骤的次数;在向所述存储设备的第一存储单元写入第一数据的步骤前,根据第二数据写入参数向所述存储设备的第二存储单元写入第三数据,所述第二数据写入参数包括所述第三数据的大小、类型、地址;所述第三数据的数据量大于所述第二存储单元的存储容量;
下电控制模块,用于对写入第一数据后的所述存储设备执行下电操作;
数据读取模块,用于读取下电后存储设备的第一存储单元中的第二数据;
数据比较模块,用于获取所述第一数据与所述第二数据之间的差异数据作为丢失数据。
7.一种计算机设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述处理器执行如权利要求1-5中的一个或多个所述的存储设备数据丢失测试方法。
8.一个或多个机器可读介质,其特征在于,
其上存储有指令,当由一个或多个处理器执行时,使得处理器执行权利要求1-5中的一个或多个所述的存储设备数据丢失测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178413.4A CN116913351B (zh) | 2023-09-13 | 2023-09-13 | 一种存储设备数据丢失测试方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178413.4A CN116913351B (zh) | 2023-09-13 | 2023-09-13 | 一种存储设备数据丢失测试方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116913351A CN116913351A (zh) | 2023-10-20 |
CN116913351B true CN116913351B (zh) | 2023-12-26 |
Family
ID=88358844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311178413.4A Active CN116913351B (zh) | 2023-09-13 | 2023-09-13 | 一种存储设备数据丢失测试方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116913351B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5528166A (en) * | 1978-08-17 | 1980-02-28 | Nec Corp | Data communication terminal unit with floppy disc |
KR20160005570A (ko) * | 2014-07-07 | 2016-01-15 | 삼성전자주식회사 | 메모리 장치를 제조하는 방법과 작동 방법, 및 이를 포함하는 시스템의 작동 방법 |
CN112133357A (zh) * | 2020-09-30 | 2020-12-25 | 深圳市宏旺微电子有限公司 | 一种eMMC的测试方法及装置 |
CN115273955A (zh) * | 2022-06-21 | 2022-11-01 | 尧云科技(西安)有限公司 | 一种eMMC busy时间内掉电的数据测试方法及装置 |
CN115547396A (zh) * | 2022-11-30 | 2022-12-30 | 合肥康芯威存储技术有限公司 | 一种针对eMMC的测试方法和装置 |
CN115631779A (zh) * | 2022-10-09 | 2023-01-20 | 深圳市广和通无线股份有限公司 | 数据保护电路、方法、装置、电子设备及存储介质 |
WO2023019415A1 (zh) * | 2021-08-17 | 2023-02-23 | 华为技术有限公司 | 掉电检测方法及相关设备 |
CN115756984A (zh) * | 2022-11-21 | 2023-03-07 | 亿咖通(湖北)技术有限公司 | 内存测试方法、装置、设备及存储介质 |
WO2023098192A1 (zh) * | 2021-11-30 | 2023-06-08 | 苏州浪潮智能科技有限公司 | 固态硬盘异常掉电处理方法、装置、电子设备及介质 |
CN116340191A (zh) * | 2023-05-31 | 2023-06-27 | 合肥康芯威存储技术有限公司 | 一种存储器固件的测试方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US10013305B2 (en) * | 2016-10-26 | 2018-07-03 | SK Hynix Inc. | Semiconductor devices and methods relating to the repairing of the same |
-
2023
- 2023-09-13 CN CN202311178413.4A patent/CN116913351B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5528166A (en) * | 1978-08-17 | 1980-02-28 | Nec Corp | Data communication terminal unit with floppy disc |
KR20160005570A (ko) * | 2014-07-07 | 2016-01-15 | 삼성전자주식회사 | 메모리 장치를 제조하는 방법과 작동 방법, 및 이를 포함하는 시스템의 작동 방법 |
CN112133357A (zh) * | 2020-09-30 | 2020-12-25 | 深圳市宏旺微电子有限公司 | 一种eMMC的测试方法及装置 |
WO2023019415A1 (zh) * | 2021-08-17 | 2023-02-23 | 华为技术有限公司 | 掉电检测方法及相关设备 |
WO2023098192A1 (zh) * | 2021-11-30 | 2023-06-08 | 苏州浪潮智能科技有限公司 | 固态硬盘异常掉电处理方法、装置、电子设备及介质 |
CN115273955A (zh) * | 2022-06-21 | 2022-11-01 | 尧云科技(西安)有限公司 | 一种eMMC busy时间内掉电的数据测试方法及装置 |
CN115631779A (zh) * | 2022-10-09 | 2023-01-20 | 深圳市广和通无线股份有限公司 | 数据保护电路、方法、装置、电子设备及存储介质 |
CN115756984A (zh) * | 2022-11-21 | 2023-03-07 | 亿咖通(湖北)技术有限公司 | 内存测试方法、装置、设备及存储介质 |
CN115547396A (zh) * | 2022-11-30 | 2022-12-30 | 合肥康芯威存储技术有限公司 | 一种针对eMMC的测试方法和装置 |
CN116340191A (zh) * | 2023-05-31 | 2023-06-27 | 合肥康芯威存储技术有限公司 | 一种存储器固件的测试方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116913351A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216362B2 (en) | Data storage device and operating method thereof | |
US9043536B2 (en) | Method of recording mapping information, and memory controller and memory storage apparatus using the same | |
CN108369818B (zh) | 一种闪存设备的刷新方法和装置 | |
CN106681654B (zh) | 映射表载入方法与存储器存储装置 | |
US20100287217A1 (en) | Host control of background garbage collection in a data storage device | |
US20110022778A1 (en) | Garbage Collection for Solid State Disks | |
US9223696B2 (en) | Data storage device for holding erasure of victim block having valid page copied to merge block and method of operating the same | |
CN107908571B (zh) | 一种数据写入方法、闪存装置及存储设备 | |
TWI479315B (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
TWI650639B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
US10997068B1 (en) | Rapid SSD preconditioning | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20210147696A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20210144249A (ko) | 저장 장치 및 이의 동작 방법 | |
KR102596964B1 (ko) | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 | |
KR102620727B1 (ko) | 전자 장치 | |
CN112230849B (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN103544118A (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN116913351B (zh) | 一种存储设备数据丢失测试方法、装置、介质及设备 | |
US10921988B2 (en) | System and method for discovering parallelism of memory devices | |
Du et al. | Enhancing SSD performance with LDPC-aware garbage collection | |
KR20210018570A (ko) | 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 |
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 |