一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

读重试测试方法、装置、可读存储介质及电子设备与流程

2021-10-09 14:13:00 来源:中国专利 TAG:闪存 电子设备 重试 装置 可读


1.本发明涉及闪存技术领域,尤其涉及一种读重试测试方法、装置、可读存储介质及电子设备。


背景技术:

2.由于出厂质量较差、使用中磨损或者高温环境影响等原因,nand flash(nand闪存)主控在读nand flash颗粒上的数据时,数据可能存在较多的bit(位)翻转,需要通过主控的ecc(error checking and correcting,错误检查和纠正)模块来进行纠错,并且主控一般会提供读重试(read retry,rr)和深度读重试(deep read retry,drr)功能,配合颗粒厂商提供的调整读电压偏移(read offset)和读软数据(read soft data)等功能,以此能够进一步提升纠错能力,保护数据完整性。
3.不同颗粒厂商的nand flash的结构、控制逻辑不同,提供的read offset、read soft data等功能的实现方法也相差较大;同时,支持多款flash颗粒也是nand flash主控通用性设计的要求,因此,基于现有主控适配新款flash颗粒是主控软件开发人员的常见任务,而且rr、drr功能也是适配新款颗粒任务中的重点。
4.一般情况下,rr和drr功能的验证,需要nand flash的数据超过主控的纠错能力才能够触发执行,所以常用手段就是对nand flash进行擦除(erase)和编码(program)之后对nand flash颗粒进行高温处理,以使得nand flash中的数据质量变差,进而触发主控执行rr和drr流程,这个方法对nand flash的处理一般在几小时左右,并且在验证过程中由于软件bug等原因,可能会需要进行多次高温处理,因此对于rr和drr功能的开发、验证效率比较低。


技术实现要素:

5.本发明所要解决的技术问题是:提供一种读重试测试方法、装置、可读存储介质及电子设备,能够提高测试读重试功能的效率。
6.为了解决上述技术问题,本发明采用的一种技术方案为:
7.一种读重试测试方法,包括:
8.根据接收的待测闪存的读重试功能的测试请求,以块为单位对所述待测闪存的目标操作模式进行遍历,直至遍历完所述目标操作模式中的所有块;
9.对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据;
10.基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页;
11.读取所述位翻转后的预设目标页的数据,得到读取结果,并根据所述读取结果得到所述读重试功能的测试结果。
12.为了解决上述技术问题,本发明采用的另一种技术方案为:
13.一种读重试测试装置,包括:
14.位翻转构造模块,用于:
15.根据接收的待测闪存的读重试功能的测试请求以块为单位对所述待测闪存的目标操作模式进行遍历,直至遍历完所述目标操作模式中的所有块;
16.对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据;
17.基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页;
18.测试模块,用于读取所述位翻转后的预设目标页的数据,得到读取结果,并根据所述读取结果得到所述读重试功能的测试结果。
19.为了解决上述技术问题,本发明采用的另一种技术方案为:
20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种读重试测试方法中的各个步骤。
21.为了解决上述技术问题,本发明采用的另一种技术方案为:
22.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种读重试测试方法中的各个步骤。
23.本发明的有益效果在于:通过对遍历到的目标块中的预设目标页进行读操作,得到目标原始数据,再基于目标原始数据对预设目标页的数据进行位翻转,读取位翻转后的预设目标页的数据,得到读取结果,并根据读取结果得到测试结果,不再像现有技术中,需要对闪存进行擦写以及高温处理操作才能触发读重试功能并进行测试,而是基于预设目标页的目标原始数据对预设目标页的数据进行位翻转,以此强制修改数据来进行位翻转的构造,从而触发主控的读重试功能并对其进行测试,提高了测试读重试功能的效率。
附图说明
24.图1为本发明实施例的一种读重试测试方法的步骤流程图;
25.图2为本发明实施例的一种读重试测试装置的结构示意图;
26.图3为本发明实施例的一种电子设备的结构示意图;
27.图4为本发明实施例的读重试测试方法中的流程图。
具体实施方式
28.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
29.请参照图1,本发明实施例提供了一种读重试测试方法,包括:
30.根据接收的待测闪存的读重试功能的测试请求,以块为单位对所述待测闪存的目标操作模式进行遍历,直至遍历完所述目标操作模式中的所有块;
31.对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据;
32.基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页;
33.读取所述位翻转后的预设目标页的数据,得到读取结果,并根据所述读取结果得到所述读重试功能的测试结果。
34.从上述描述可知,本发明的有益效果在于:通过对遍历到的目标块中的预设目标页进行读操作,得到目标原始数据,再基于目标原始数据对预设目标页的数据进行位翻转,读取位翻转后的预设目标页的数据,得到读取结果,并根据读取结果得到测试结果,不再像现有技术中,需要对闪存进行擦写以及高温处理操作才能触发读重试功能并进行测试,而是基于预设目标页的目标原始数据对预设目标页的数据进行位翻转,以此强制修改数据来进行位翻转的构造,从而触发主控的读重试功能并对其进行测试,提高了测试读重试功能的效率。
35.进一步地,还包括:
36.根据所述测试请求对所述待测闪存的多个操作模式进行遍历,直至遍历完所述待测闪存的所有操作模式;
37.对于遍历到的目标操作模式执行所述根据接收的待测闪存的读重试功能的测试请求以块为单位对所述待测闪存的目标操作模式进行遍历步骤。
38.由上述描述可知,由于待测闪存包括多种块操作模式,比如single level cell(slc,单层式储存)、triple level cell(tlc,3阶单元)两种模式,对待测闪存的多个操作模式进行遍历,轮流对操作模式进行测试,提高了测试的全面性。
39.进一步地,所述对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据之前还包括步骤:
40.对所述目标块的数据进行擦除操作;
41.根据预设数据模板向所述目标块写入数据;
42.根据所述目标块中的数据生成预设目标页的原始数据;
43.所述对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据包括:
44.读取遍历到的目标块中的预设目标页的原始数据,得到目标原始数据。
45.由上述描述可知,通过对目标块进行擦写操作,能够在待测闪存的目标块上建立初始标准数据,在这个基础上进行后续的重复编程修改原始数据的操作,并且,对预设目标页的原始数据只读取一次,后续构造的位翻转均在该目标原始数据的基础上完成,因此,之后连续的两次对预设目标页进行写操作所写入的数据是基本相同的,有效地控制了位翻转个数增加的速度,避免间隔的两次读取中位翻转个数差距较大导致前一次成功后一次就失败的情况,提高了读重试功能测试的有效性。
46.进一步地,所述测试请求还包括当前随机选取次数;
47.所述基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页之前还包括步骤:
48.根据所述目标原始数据确定随机选取总次数;
49.判断所述当前随机选取次数是否大于或等于所述随机选取总次数,若是,则结束测试,并输出提示信息,若否,则将所述当前随机选取次数加一,并执行所述基于所述目标原始数据对所述预设目标页的数据进行位翻转步骤;
50.所述基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页包括:
51.从所述目标原始数据中随机选取任一位,得到目标位;
52.判断所述目标位的数据是否为第一预设值,若否,则返回执行所述判断所述当前
随机选取次数是否大于或等于所述随机选取总次数步骤,若是,则将所述目标位的数据翻转为第二预设值,得到位翻转后的目标原始数据,并将所述位翻转后的目标原始数据写入所述预设目标页,得到位翻转后的预设目标页。
53.由上述描述可知,根据目标原始数据确定随机选取总次数,且每次随机选取前都判断当前随机选取次数是否超过随机选取总次数,能够很好地避免无效的重复选取,在提高测试准确性的同时,提高了测试的效率,且从目标原始数据中随机选取任一位,得到目标位,当目标位的数据为第一预设值时,对该目标位进行位翻转,实现了位翻转的逐步增加,能够模拟真实使用环境下的位翻转,提高了测试的准确性。
54.进一步地,所述读取所述位翻转后的预设目标页的数据之前还包括步骤:
55.接收与所述测试请求对应的读重试功能查看指令;
56.根据所述读重试功能查看指令获取所述读重试功能的触发状态;
57.判断所述读重试功能的触发状态是否为已触发,若是,则执行所述读取所述位翻转后的预设目标页的数据步骤,若否,则返回执行所述判断所述当前随机选取次数是否大于或等于所述随机选取总次数步骤。
58.由上述描述可知,在最后读取预设目标页的数据之前,先判断当前是否已触发了主控的读重试功能,只有在触发了读重试功能的情况下,才对读重试功能进行测试,避免了对读重试功能的误判断,提高了测试的可靠性。
59.进一步地,所述读取所述位翻转后的预设目标页的数据,得到读取结果,并根据所述读取结果得到所述读重试功能的测试结果包括:
60.读取所述位翻转后的预设目标页的数据,得到读取结果;
61.判断所述读取结果是否读失败,若是,则所述读重试功能异常,若否,则所述读重试功能正常,并返回执行所述判断所述当前随机选取次数是否大于或等于所述随机选取总次数步骤。
62.由上述描述可知,通过读取结果判断读重试功能是否正常,当读重试功能正常时,重复执行随机选取步骤,直至达到随机选取总次数后停止测试,提高了读重试功能测试的可靠性和准确性。
63.进一步地,所述待测闪存包括nand flash。
64.由上述描述可知,可用于nand flash主控的读重试功能的测试。
65.请参照图2,本发明另一实施例提供了一种读重试测试装置,包括:
66.位翻转构造模块,用于:
67.根据接收的待测闪存的读重试功能的测试请求以块为单位对所述待测闪存的目标操作模式进行遍历,直至遍历完所述目标操作模式中的所有块;
68.对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据;
69.基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页;
70.测试模块,用于读取所述位翻转后的预设目标页的数据,得到读取结果,并根据所述读取结果得到所述读重试功能的测试结果。
71.本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种读重试测试方法中的各个步骤。
72.请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种读重试测试方法中的各个步骤。
73.本发明上述一种读重试测试方法、装置、可读存储介质及电子设备能够适用于任何具备读重试功能的闪存中,比如nand flash(nand闪存),以下通过具体实施方式进行说明:
74.实施例一
75.请参照图1和4,本实施例的一种读重试测试方法,包括:
76.s0、根据接收的待测闪存的读重试功能的测试请求对所述待测闪存的多个操作模式进行遍历,直至遍历完所述待测闪存的所有操作模式;
77.对于遍历到的目标操作模式执行步骤s1;
78.其中,所述多个操作模式为多个block(块)操作模式,本实施例中,所述多个操作模式包括single level cell(slc,单层式储存)模式及triple level cell(tlc,3阶单元)模式,所述读重试功能包括读重试(read retry,rr)和深度读重试(deep read retry,drr);
79.具体的,如图4所示,根据接收的待测nand flash的rr或drr的测试请求对slc模式与tlc模式进行遍历,直至遍历完所有操作模式,对于遍历到的目标操作模式执行步骤s1,假设遍历到目标操作模式为slc模式,则对slc模式执行s1;
80.s1、根据接收的待测闪存的读重试功能的测试请求,以块为单位对所述待测闪存的目标操作模式进行遍历,直至遍历完所述目标操作模式中的所有块;
81.具体的,以block为单位对待测nand flash的目标操作模型进行遍历,直至遍历完目标操作模式中的所有block;
82.s2、对于遍历到的目标块的数据进行擦除操作;
83.具体的,如图4所示,对于遍历到的目标block的数据进行erase(擦除)操作;
84.s3、根据预设数据模板向所述目标块写入数据;
85.具体的,如图4所示,根据预设数据模板对目标block进行program(写)操作;
86.s4、根据所述目标块中的数据生成预设目标页的原始数据;
87.具体的,根据目标block中的数据生成预设目标page(页)的raw data(原始数据);
88.其中,预设目标page可根据实际情况自由设定选择;
89.s5、对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据;
90.具体的,如图4所示,读取预设目标page的raw data,得到目标raw data;
91.s6、基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页;
92.s7、读取所述位翻转后的预设目标页的数据,得到读取结果,并根据所述读取结果得到所述读重试功能的测试结果。
93.实施例二
94.请参照图4,本实施例在实施例一的基础上进一步限定了如何逐步构造bit(位)翻转并测试rr或drr,具体为:
95.其中,所述测试请求还包括当前随机选取次数;
96.所述s6之前还包括:
97.根据所述目标原始数据确定随机选取总次数;
98.判断所述当前随机选取次数是否大于或等于所述随机选取总次数,若是,则结束测试,并输出提示信息,若否,则将所述当前随机选取次数加一,并执行步骤s6;
99.其中,所述提示信息可以是提示当前随机选取次数大于随机选取总次数,需要重新选择预设目标page;
100.具体的,如图4所示,根据目标raw data的bit个数确定随机选取总次数,判断当前随机选取次数是否大于或等于随机选取总次数,若是,则结束测试,并输出提示信息,若否,则将当前随机选取次数加一,并执行步骤s6,假设目标raw data的bit个数为15,那么随机选取总次数为15,而当前随机选取次数为0,小于随机选取总次数15,因此,将随机选取的次数加一更新为1,然后执行s6;
101.所述s6包括:
102.s61、从所述目标原始数据中随机选取任一位,得到目标位;
103.s62、判断所述目标位的数据是否为第一预设值,若否,则返回执行所述判断所述当前随机选取次数是否大于或等于所述随机选取总次数步骤,若是,则将所述目标位的数据翻转为第二预设值,得到位翻转后的目标原始数据,并将所述位翻转后的目标原始数据写入所述预设目标页,得到位翻转后的预设目标页;
104.其中,第一预设值与第二预设值可以根据实际情况灵活设置,本实施例中,第一预设值为1,第二预设值为0;
105.具体的,如图4所示,从目标raw data中随机选取任一bit,得到目标bit;
106.判断目标bit的数据是否为1,若否,则返回执行所述判断当前随机选取次数是否大于或等于随机选取总次数步骤,若是,则将目标bit的数据翻转为0,得到bit翻转后的目标raw data,并将bit翻转后的目标raw data写入预设目标page,得到bit翻转后的预设目标page;
107.所述s7之前还包括:
108.接收与所述测试请求对应的读重试功能查看指令;
109.根据所述读重试功能查看指令获取所述读重试功能的触发状态;
110.判断所述读重试功能的触发状态是否为已触发,若是,则执行所述读取所述位翻转后的预设目标页的数据步骤,若否,则返回执行所述判断所述当前随机选取次数是否大于或等于所述随机选取总次数步骤;
111.具体的,根据读重试功能查看指令获取rr或drr的触发状态,可通过日志打印将rr或drr的触发状态进行展示;
112.判断rr或drr的触发状态是否为已触发,若是,则执行步骤s7,若否,则返回执行所述判断当前随机选取次数是否大于或等于随机选取总次数步骤;
113.所述s7包括:
114.s71、读取所述位翻转后的预设目标页的数据,得到读取结果;
115.s72、判断所述读取结果是否读失败,若是,则所述读重试功能异常,若否,则所述读重试功能正常,并返回执行所述判断所述当前随机选取次数是否大于或等于所述随机选取总次数步骤;
116.具体的,如图4所示,对bit翻转后的预设目标page的数据进行read操作,得到读取结果;
117.判断读取结果是否read失败,若是,则rr或drr异常,若否,则rr或drr正常,并返回执行所述判断当前随机选取次数是否大于或等于随机选取总次数步骤。
118.实施例三
119.请参照图2,一种读重试测试装置,包括:
120.位翻转构造模块,用于:
121.根据接收的待测闪存的读重试功能的测试请求以块为单位对所述待测闪存的目标操作模式进行遍历,直至遍历完所述目标操作模式中的所有块;
122.对于遍历到的目标块中的预设目标页进行读操作,得到目标原始数据;
123.基于所述目标原始数据对所述预设目标页的数据进行位翻转,得到位翻转后的预设目标页;
124.测试模块,用于读取所述位翻转后的预设目标页的数据,得到读取结果,并根据所述读取结果得到所述读重试功能的测试结果。
125.实施例四
126.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现实施例一或实施例二中读重试测试方法的各个步骤。
127.实施例五
128.请参照图3,一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一或实施例二中读重试测试方法的各个步骤。
129.综上所述,本发明提供的一种读重试测试方法、装置、可读存储介质及电子设备,根据接收的待测闪存的读重试功能的测试请求,以块为单位对待测闪存的目标操作模式进行遍历,直至遍历完目标操作模式中的所有块,读取遍历到的目标块中的预设目标页的原始数据,得到目标原始数据;根据目标原始数据确定随机选取总次数,若当前随机选取次数小于随机选取总次数,则将当前随机选取次数加一,并从目标原始数据中随机选取任一位,若该目标位的数据为第一预设值,则对其进行翻转,得到位翻转后的预设目标页;读取位翻转后的预设目标页的数据,得到读取结果,当读取结果为读失败,则读重试功能异常,否则读重试功能正常,并返回执行随机选取的次数判断步骤,不再像现有技术中,需要对闪存进行擦写以及高温处理操作才能触发读重试功能并进行测试,而是基于预设目标页的目标原始数据对预设目标页的数据进行位翻转,以此强制修改数据来进行位翻转的构造,从而触发主控的读重试功能并对其进行测试,提高了测试读重试功能的效率,且每次位翻转只选取任一位进行,实现了位翻转个数的逐步增加,有效地控制了位翻转个数增加的速度,避免间隔的两次读取中位翻转个数差距较大导致前一次成功后一次就失败的情况,提高了读重试功能测试的有效性。
130.在本技术所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,
或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
131.所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
132.另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
133.所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
134.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
135.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
136.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜