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

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

2021-10-09 14:09:00 来源:中国专利 TAG:存储器 纠错 电子设备 能力测试 装置


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


背景技术:

2.nand flash(nand闪存)主控的纠错能力体现了对nand flash颗粒中数据的保护能力,对主控软件开发人员来说,掌握主控的纠错能力,可以更准确地控制flash颗粒在量产阶段进行质量筛选的坏块bit(位)翻转阈值,或者在主控软件运行阶段能够根据当前页(page)的bit翻转个数评估所在块(block)的使用寿命,以便进行坏块替换、磨损均衡等策略,从而提升nand flash的整体使用寿命。
3.测试nand flash主控的纠错能力,一般是通过对nand flash进行擦除(erase)、编码(program)之后再对nand flash颗粒进行高温处理,以使得nand flash中的数据质量变差,后期通过判断读操作是否成功来进行纠错能力的大致估计,这种方法存在两个弊端,首先,读取到的值不会很准确,其次,对nand flash颗粒来说有较大损伤。


技术实现要素:

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

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

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜