CN110444243A - 存储设备读错误纠错能力的测试方法、***及存储介质 - Google Patents
存储设备读错误纠错能力的测试方法、***及存储介质 Download PDFInfo
- Publication number
- CN110444243A CN110444243A CN201910701429.6A CN201910701429A CN110444243A CN 110444243 A CN110444243 A CN 110444243A CN 201910701429 A CN201910701429 A CN 201910701429A CN 110444243 A CN110444243 A CN 110444243A
- Authority
- CN
- China
- Prior art keywords
- data
- error
- read
- page
- overturning
- 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.)
- Pending
Links
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
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- 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
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- 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
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了存储设备读错误纠错能力的测试方法、***及存储介质,属于数据存储装置的性能测试方法领域,包括:读取擦除步骤,选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据;翻转步骤,从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0‑1翻转然后保存;再写入步骤,将翻转步骤中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中;读取检验步骤,对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转步骤中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
Description
技术领域
本发明涉及数据存储装置的数据纠错能力测试方法,属于数据存储装置的性能测试方法领域。
背景技术
随着闪存芯片(Flash Memory Chip)的普及,越来越多的存储设备使用闪存芯片作为存储介质。闪存芯片由于本身的物理特性,写进去的数据在读出来的时候会发生一定量的数据位的翻转错误,即将闪存芯片中基本的存储电路双层浮空栅MOS管中的浮空栅极的带电状态(表示为二进制数码的1)和不带电状态(表示为二进制数码的0)翻转错误,这样,在以闪存芯片作为存储介质的存储设备控制器上,就必须加上冗余纠错以及错误处理程序来保证存储数据的正确性。闪存的错误处理能力也渐渐成为评价整个基于闪存芯片的存储设备的可靠性的重要指标之一。
然而,存储设备制造商经常是从国际少有的几个垄断存储芯片厂商(三星、海力士、东芝、茂德、美光等)处采购晶片或是芯片进行生产,然而实际使用前,为了保证采购得到的晶元或是芯片的质量可靠进而确保最终的存储设备存储数据的可靠性以及读写准确性,必须对晶元或是芯片进行纠错能力检验,以验证外购的晶片或是芯片中自带的纠错电路和算法、程序的读错误纠错能力(纠错能力就是该芯片自有的纠错电路对发生在读写过程中的翻转错误的纠正和识读能力)。
至今尚没有发现合适的方法来对晶片或是芯片的纠错能力进行测试和评价。
发明内容
本发明是为了解决上述没有合适的方法来对晶元或是芯片的纠错能力进行测试和评价的问题而进行的,目的在于提供一种存储设备读错误纠错能力的测试方法、***及存储介质。
本项专利主要针对这一问题,提出一种在研发期间人为***一些预定义好的闪存的读错误,来检验存储设备或是存储芯片、存储晶片(Chip)本身处理错误的能力,以提高产品最终的可靠性。
闪存芯片(Flash Memory Chip)是按(数据)块为单位擦除,按(数据)页为单位写读,一个块里包含多个页,一个块里面的页必须要按顺序写入,并且写入之前必须先擦除。为了保证数据的正确性,闪存控制器在写入数据的时候会根据数据生成冗余纠错码数据并把冗余纠错码数据一并写入到闪存页里,在从闪存页里读取数据的时候,冗余纠错码数据会一并读入闪存控制器里并进行冗余校验以及纠错,如果错误的位数超过了纠错算法的阈值,就会触发错误处理程序来做后续处理,否则就会返回正确数据给调用者。为此,基于以上的发明构思,特提出以下的发明方案:
本发明提供一种存储设备读错误纠错能力的测试方法,其特征在于,包括:
读取擦除步骤,选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据;
翻转步骤,从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存;
再写入步骤,将翻转步骤中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中;
读取检验步骤,对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转步骤中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
本发明提供的存储设备读错误纠错能力的测试方法,还可以具有这样的特征:
其中,在读取检验步骤中,还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果。
本发明提供的存储设备读错误纠错能力的测试方法,还可以具有这样的特征:
其中,读取擦除步骤中,选择并读取写入有效数据的闪存块是随机的,被选中的数据块在存储设备的存储芯片中的地址是连续的或是间隔的或是连续与间隔并存的。
本发明提供的存储设备读错误纠错能力的测试方法,还可以具有这样的特征:
其中,在翻转步骤中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况。
本发明提供的存储设备读错误纠错能力的测试方法,还可以具有这样的特征:
其中,在翻转步骤中,每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值。
本发明提供的存储设备读错误纠错能力的测试方法,还可以具有这样的特征:
其中,每个数据页中被翻转的数据位的大小为15-95bit。
本发明还提供一种存储设备读错误纠错能力的测试***,其特征在于包括:
读取擦除模块,其用于:选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据;
翻转模块,其用于:从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存;
再写入模块,其用于将翻转模块中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中;
读取检验模块,对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转模块中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
本发明提供的存储设备读错误纠错能力的测试***,还可以具有这样的特征:
其中,在读取检验单元中,
还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果,
在读取擦除模块中,选择并读取写入有效数据的闪存块是随机的,被选中的数据块在存储设备的存储芯片中的地址是连续的或是间隔的或是连续与间隔并存的。
本发明提供的存储设备读错误纠错能力的测试***,还可以具有这样的特征:
其中,在翻转单元中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况,
每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值。
本发明还提供一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述的存储设备读错误纠错能力的测试方法中的步骤。
发明的作用和效果
根据本发明所涉及的存储设备读错误纠错能力的测试方法,因为具有读取擦除步骤,能够选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据;具有翻转步骤,能够从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存;具有再写入步骤,能够将翻转步骤中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中;具有读取检验步骤,能够对被再次写入数据的数据块的数据进行读取检验,并至少根据报错的数据位的数量大小与翻转步骤中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果,所以,通过预先***一些预定义好的闪存的读错误数据(通过1-0翻转来得到)来写入到存储芯片的数据页中,再进行读取检验,最终读取到的数据就是经过了存储芯片的纠错电路和算法、程序处理后的数据,对比该数据与预先***的读错误数据进行比对,比对的结果就代表了该存储芯片的读错误纠错能力。
附图说明
图1为存储设备的结构示意图。
图2为本发明实施例中存储设备读错误纠错能力的测试方法的步骤示意图;
图3为闪存芯片中数据块、数据页的结构框架示意图;以及
图4为本发明的实施例中存储设备读错误纠错能力的测试***的模块框图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明存储设备读错误纠错能力的测试方法、***及存储介质作具体阐述。
如图1、2所示,存储装置100,具有存储芯片10、控制芯片20以及与外部的数据源连接的接口30以及PCB板40。其中控制芯片中存储有控制程序,控制程序运行存储设备读错误纠错能力的测试方法。
所述存储芯片10为SLC、MLC、TLC或QLC闪存颗粒制成的存储芯片。
在本实施例中,所述存储芯片为NAND闪存芯片,具体为SLC、MLC、TLC或QLC闪存颗粒制作的NAND闪存芯片。在理论上,也可以是其他类型的存储芯片,比如NOR闪存、ROM、PROM、EPROM、EEPROM、Flash ROM、FRAM、MRAM、RRAM、PCRAM等,都是可以作为本发明的存储芯片的。
SLC,Single-LevelCell,即1bit/cell,速度快寿命长,价格超贵(约MLC3倍以上的价格),约10万次擦写寿命。MLC,Multi-LevelCell,即2bit/cell,速度一般寿命一般,价格一般,约3000-10000次擦写寿命。TLC,Trinary-LevelCell,即3bit/cell,也有Flash厂家叫8LC,速度相对慢寿命相对短,价格便宜,约500次擦写寿命。QLC,Quad-Level Cell,即4bit/cell,支持16充电值,速度最慢寿命最短。这三种结构的NAND闪存芯片,简单地说SLC的性能最优,价格超高。一般用作企业级或高端发烧友使用。MLC性能够用,价格适中为消费级SSD应用主流,TLC综合性能最低,价格最便宜。但可以通过高性能主控芯片、主控算法来弥补、提高TLC闪存的性能。
控制芯片20,使用通用的SSD控制芯片,市售购买,比如使用以下现成的:
SATA3控制器,选用美国Marvell公司(中文名迈威科技集团有限公司,现更名美满)的88SS1074、88SS1079控制器,适用SATA数据接口;
NVMe控制器,选用美国Marvell公司(中文名迈威科技集团有限公司,现更名美满)88SS1093、88SS1092控制器,适合于NVMe协议下的PCIe数据接口。
这里列举的美国Marvell公司只是一个实例,实际上市面上任何厂家的SSD控制器都可以实现,并不限定是美国Marvell公司。
数据源连接的接口30,使用的接口包括PCIe、SATA接口。
PCB板40,作为以上硬件的电路载体,所述存储芯片10、控制芯片20以及接口30都设置在所述PCB板40上。
以下结合具体的实施例来说明测试方法的具体过程。
实施例1
如图2所示,存储设备读错误纠错能力的测试方法,包括步骤S1至步骤S4。
读取擦除步骤S1,选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据。
如图3所示,闪存芯片(Flash Memory Chip)包括多个数据块,每个数据块又具有多个数据页,其工作是按数据块为单位擦除,按数据页为单位写读,一个块里包含多个页,一个块里面的页必须要按顺序写入,并且写入之前必须先擦除。
选择并读取写入有效数据的数据块是随机的,被选中的数据块在存储设备的存储芯片中的地址是连续的或是间隔的或是连续与间隔并存的。数据块可以是多个,其地址没有必要是连续的,可以是间隔选取。间隔跟连续两种方案并不影响结果,效果并没有实质性的区别,为了提高检测方法的代表性,发明人建议使用连续与间隔并存的数据块地址进行数据块的选取。
翻转步骤S2,从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存。
在翻转步骤中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况。
数据页可以挑选多个。一般来说控制芯片20对于数据的保护单位都小于等于一个数据页,所以通常都是对每个数据页做独立保护的。如果一个数据页是32K(也可以是其他的容量大小,根据芯片厂商的情况而定),那么翻转这个数据页里的所有数据。只是当数据翻转到一定数量,那么整个数据页32K的数据都没法读出来,但是如果低于控制芯片或是芯片自带的纠错电路、算法的纠错阈值,那么整个32K的数据都还是能够读出来,所以翻转一个32K的数据页,只会有两个结果,1)整个32K的数据页能够读出来,2)整个32K的数据页都读不出来。
如果想翻转128k的数据的话,只能放在4个数据页里并且刚好放满,如果放到8个数据页里,就有可能所有数据页的数据都没法读出来,导致破坏了256K的数据页。如果想翻转135k的数据,则需要放满4个数据页另外再占用1个数据页,即使没有全部使用也会占据。
为了全面试探出存储芯片在各种错误容量下的纠错实际表现,每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值,具体的就是将要翻转的数据页分别设置为被翻转的数据位的大小大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值。显然,此处的纠错阈值时芯片制造厂商标识的纠错阈值。
一般而言,发明人经过试验,推荐每个数据页中被翻转的数据位的大小为15-95bit。
再写入步骤S3,将翻转步骤中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中。
读取检验步骤S4,对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转步骤中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
假设在翻转步骤S2中对一个8个数据页进行了1-0翻转,分别翻转的数据位大小为15、15、15、30、30、45、60、90共300bit,结果通过纠错电路以及算法、程序反馈得到289bit错误并得到纠错,则通过比较预设的翻转错误300bit与纠错发现的错误289bit就可以评估该被测试的芯片的纠错能力。
进一步的,还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果。在知道具体的数据块跟数据页地址,那么纠错电路的检验程序、算法就可以根据上述反馈得到的纠错的289bit的结果来做准确判断:所纠错的数据页的地址是不是预设的翻转的数据页,从而避免遇到非预期的错误。
实施例2
如图4所示,一种存储设备读错误纠错能力的测试***,包括读取擦除模块100、翻转模块200、再写入模块300以及读取检验模块400。
读取擦除模块100,其用于:选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据。
如图3所示,闪存芯片(Flash Memory Chip)包括多个数据块,每个数据块又具有多个数据页,其工作是按数据块为单位擦除,按数据页为单位写读,一个块里包含多个页,一个块里面的页必须要按顺序写入,并且写入之前必须先擦除。
选择并读取写入有效数据的数据块是随机的,被选中的数据块在存储设备的存储芯片中的地址是连续的或是间隔的或是连续与间隔并存的。数据块可以是多个,其地址没有必要是连续的,可以是间隔选取。间隔跟连续两种方案并不影响结果,效果并没有实质性的区别,为了提高检测方法的代表性,发明人建议使用连续与间隔并存的数据块地址进行数据块的选取。
翻转模块200,其用于:从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存。
在翻转过程中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况。
数据页可以挑选多个。一般来说控制芯片20对于数据的保护单位都小于等于一个数据页,所以通常都是对每个数据页做独立保护的。如果一个数据页是32K(也可以是其他的容量大小,根据芯片厂商的情况而定),那么翻转这个数据页里的所有数据。只是当数据翻转到一定数量,那么整个数据页32K的数据都没法读出来,但是如果低于控制芯片或是芯片自带的纠错电路、算法的纠错阈值,那么整个32K的数据都还是能够读出来,所以翻转一个32K的数据页,只会有两个结果,1)整个32K的数据页能够读出来,2)整个32K的数据页都读不出来。
如果想翻转128k的数据的话,只能放在4个数据页里并且刚好放满,如果放到8个数据页里,就有可能所有数据页的数据都没法读出来,导致破坏了256K的数据页。如果想翻转135k的数据,则需要放满4个数据页另外再占用1个数据页,即使没有全部使用也会占据。
为了全面试探出存储芯片在各种错误容量下的纠错实际表现,每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值,具体的就是将要翻转的数据页分别设置为被翻转的数据位的大小大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值。显然,此处的纠错阈值时芯片制造厂商标识的纠错阈值。
一般而言,发明人经过试验,推荐每个数据页中被翻转的数据位的大小为15-95bit。
再写入模块300,其用于将翻转模块中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中。
读取检验模块400,其用于对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转模块中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
假设在翻转模块200中对一个8个数据页进行了1-0翻转,分别翻转的数据位大小为15、15、15、30、30、45、60、90共300bit,结果通过纠错电路以及算法、程序反馈得到289bit错误并得到纠错,则通过比较预设的翻转错误300bit与纠错发现的错误289bit就可以评估该被测试的芯片的纠错能力。
进一步的,还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果。在知道具体的数据块跟数据页地址,那么纠错电路的检验程序、算法就可以根据上述反馈得到的纠错的289bit的结果来做准确判断:所纠错的数据页的地址是不是预设的翻转的数据页,从而避免遇到非预期的错误。
实施例3
本实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下的设备读错误纠错能力的测试方法:
读取擦除步骤S1,选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据。
如图3所示,闪存芯片(Flash Memory Chip)包括多个数据块,每个数据块又具有多个数据页,其工作是按数据块为单位擦除,按数据页为单位写读,一个块里包含多个页,一个块里面的页必须要按顺序写入,并且写入之前必须先擦除。
选择并读取写入有效数据的数据块是随机的,被选中的数据块在存储设备的存储芯片中的地址是连续的或是间隔的或是连续与间隔并存的。数据块可以是多个,其地址没有必要是连续的,可以是间隔选取。间隔跟连续两种方案并不影响结果,效果并没有实质性的区别,为了提高检测方法的代表性,发明人建议使用连续与间隔并存的数据块地址进行数据块的选取。
翻转步骤S2,从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存。
在翻转步骤中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况。
数据页可以挑选多个。一般来说控制芯片20对于数据的保护单位都小于等于一个数据页,所以通常都是对每个数据页做独立保护的。如果一个数据页是32K(也可以是其他的容量大小,根据芯片厂商的情况而定),那么翻转这个数据页里的所有数据。只是当数据翻转到一定数量,那么整个数据页32K的数据都没法读出来,但是如果低于控制芯片或是芯片自带的纠错电路、算法的纠错阈值,那么整个32K的数据都还是能够读出来,所以翻转一个32K的数据页,只会有两个结果,1)整个32K的数据页能够读出来,2)整个32K的数据页都读不出来。
如果想翻转128k的数据的话,只能放在4个数据页里并且刚好放满,如果放到8个数据页里,就有可能所有数据页的数据都没法读出来,导致破坏了256K的数据页。如果想翻转135k的数据,则需要放满4个数据页另外再占用1个数据页,即使没有全部使用也会占据。
为了全面试探出存储芯片在各种错误容量下的纠错实际表现,每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值,具体的就是将要翻转的数据页分别设置为被翻转的数据位的大小大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值。显然,此处的纠错阈值时芯片制造厂商标识的纠错阈值。
一般而言,发明人经过试验,推荐每个数据页中被翻转的数据位的大小为15-95bit。
再写入步骤S3,将翻转步骤中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中。
读取检验步骤S4,对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转步骤中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
假设在翻转步骤S2中对一个8个数据页进行了1-0翻转,分别翻转的数据位大小为15、15、15、30、30、45、60、90共300bit,结果通过纠错电路以及算法、程序反馈得到289bit错误并得到纠错,则通过比较预设的翻转错误300bit与纠错发现的错误289bit就可以评估该被测试的芯片的纠错能力。
进一步的,还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果。在知道具体的数据块跟数据页地址,那么纠错电路的检验程序、算法就可以根据上述反馈得到的纠错的289bit的结果来做准确判断:所纠错的数据页的地址是不是预设的翻转的数据页,从而避免遇到非预期的错误。
显然该存储介质可以是光盘、优盘或者磁盘、软盘、光盘、DVD、硬盘、闪存、CF卡、SD卡、MMC卡、SM卡、记忆棒(Memory Stick)、xD卡、磁带、磁光盘等,将对应上述方法的计算机程序存储或是刻录在该存储介质上,用户获得该存储介质后进行安装或运行即可以在对应的存储装置上执行本发明的实施例1的方法。
实施例的作用与效果
实施例提供的存储设备读错误纠错能力的测试方法,因为具有读取擦除步骤,能够选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据;具有翻转步骤,能够从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存;具有再写入步骤,能够将翻转步骤中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中;具有读取检验步骤,能够对被再次写入数据的数据块的数据进行读取检验,并至少根据报错的数据位的数量大小与翻转步骤中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果,所以,通过预先***一些预定义好的闪存的读错误数据(通过1-0翻转来得到)来写入到存储芯片的数据页中,再进行读取检验,最终读取到的数据就是经过了存储芯片的纠错电路和算法、程序处理后的数据,对比该数据与预先***的读错误数据进行比对,比对的结果就代表了该存储芯片的读错误纠错能力。
因为,在读取检验步骤中,还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果,如此的操作,可以做准确判断:所纠错的数据页的地址是不是预设的翻转的数据页,从而避免遇到非预期的错误。
在翻转步骤中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况,如此操作,不会在测试时过多的影响一个数据库的数据页,使得测试对产品的影响尽可能的小。
进一步的,在翻转步骤中,每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值,这样的设置可以尽可能得到在不同的出错情况下待测试的存储芯片的纠错结果,使得测试结果更能反映芯片的纠错能力。
Claims (10)
1.一种存储设备读错误纠错能力的测试方法,其特征在于,包括:
读取擦除步骤,选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据;
翻转步骤,从缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存;
再写入步骤,将翻转步骤中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中;
读取检验步骤,对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转步骤中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
2.根据权利要求1所述的存储设备读错误纠错能力的测试方法,其特征在于:
其中,在读取检验步骤中,还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果。
3.根据权利要求1所述的存储设备读错误纠错能力的测试方法,其特征在于:
其中,读取擦除步骤中,选择并读取写入有效数据的数据块是随机的,被选中的数据块在存储设备的存储芯片中的地址是连续的或是间隔的或是连续与间隔并存的。
4.根据权利要求1所述的存储设备读错误纠错能力的测试方法,其特征在于:
其中,在翻转步骤中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况。
5.根据权利要求1所述的存储设备读错误纠错能力的测试方法,其特征在于:
其中,在翻转步骤中,每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值。
6.根据权利要求5所述的存储设备读错误纠错能力的测试方法,其特征在于:
其中,每个数据页中被翻转的数据位的大小为15-95bit。
7.一种存储设备读错误纠错能力的测试***,其特征在于包括:
读取擦除模块,其用于:选择并读取写入有效数据的闪存块上的所有闪存页上的数据并保存在缓存中,然后擦除该闪存块中的数据;
翻转模块,其用于:在缓存中保存的数据中挑选包含有效数据的数据页,并对该数据页中的数据位进行0-1翻转然后保存;
再写入模块,其用于将翻转模块中翻转后的保存在缓存中的数据再次写入到读取擦除步骤中被擦除的数据块中;
读取检验模块,其用于对被再次写入数据的数据块的数据进行读取检验,至少根据报错的数据位的数量大小与翻转模块中被翻转的数据位的数量进行对比并得出对比结果,该对比结果即为该存储设备的读错误的纠错能力的测试结果。
8.根据权利要求7所述的存储设备读错误纠错能力的测试***,其特征在于:
其中,在读取检验单元中,
还根据报错的数据块的地址、数据页的地址与翻转步骤中被翻转的对应的数据块的地址、数据页的地址进行对比并得出对比结果,该对比结果也作为为该存储设备的读错误的纠错能力的测试结果,
在读取擦除模块中,选择并读取写入有效数据的闪存块是随机的,被选中的数据块在存储设备的存储芯片中的地址是连续的或是间隔的或是连续与间隔并存的。
9.根据权利要求7所述的存储设备读错误纠错能力的测试***,其特征在于:
其中,在翻转单元中,被进行0-1翻转的数据页是整页整页被翻转的,不存在某个数据页被部分翻转的情况,
每个数据页中被翻转的数据位的大小分别为大于存储设备的纠错阈值、小于存储设备的纠错阈值以及等于存储设备的纠错阈值。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的存储设备读错误纠错能力的测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910701429.6A CN110444243A (zh) | 2019-07-31 | 2019-07-31 | 存储设备读错误纠错能力的测试方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910701429.6A CN110444243A (zh) | 2019-07-31 | 2019-07-31 | 存储设备读错误纠错能力的测试方法、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110444243A true CN110444243A (zh) | 2019-11-12 |
Family
ID=68432426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910701429.6A Pending CN110444243A (zh) | 2019-07-31 | 2019-07-31 | 存储设备读错误纠错能力的测试方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110444243A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470728A (zh) * | 2021-06-29 | 2021-10-01 | 成都佰维存储科技有限公司 | 纠错能力测试方法、装置、可读存储介质及电子设备 |
CN113470723A (zh) * | 2021-06-29 | 2021-10-01 | 成都佰维存储科技有限公司 | 读重试测试方法、装置、可读存储介质及电子设备 |
CN117349071A (zh) * | 2023-10-26 | 2024-01-05 | 易康(广州)数字科技有限公司 | 一种基于大数据的纠错机制在线评估方法、***及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197194A (zh) * | 2007-02-27 | 2008-06-11 | 深圳市同洲电子股份有限公司 | 一种存储器检测方法 |
JP2008287798A (ja) * | 2007-05-17 | 2008-11-27 | Yokogawa Electric Corp | 半導体試験装置 |
CN102034555A (zh) * | 2011-01-19 | 2011-04-27 | 哈尔滨工业大学 | 一种利用奇偶校验码进行故障在线纠错装置及方法 |
CN102332307A (zh) * | 2011-07-28 | 2012-01-25 | 中国空间技术研究院 | Sram型fpga单粒子效应试验***及方法 |
CN102332311A (zh) * | 2011-10-18 | 2012-01-25 | 中国航天科技集团公司第五研究院第五一〇研究所 | 一种基于fpga的nand flash器件单粒子效应测试方法 |
CN102725738A (zh) * | 2010-01-27 | 2012-10-10 | 桑迪士克科技股份有限公司 | 使用位值的存储的计数来校正数据错误的***和方法 |
US8365044B2 (en) * | 2007-04-23 | 2013-01-29 | Agere Systems Inc. | Memory device with error correction based on automatic logic inversion |
CN104240768A (zh) * | 2013-06-13 | 2014-12-24 | 英飞凌科技股份有限公司 | 用于测试存储器的方法和存储器*** |
CN105185413A (zh) * | 2015-09-24 | 2015-12-23 | 中国航天科技集团公司第九研究院第七七一研究所 | 用于片上存储管理单元容错结构的自动验证平台与方法 |
CN105824719A (zh) * | 2016-03-16 | 2016-08-03 | 浙江中控技术股份有限公司 | 一种随机存储器的检测方法及*** |
CN107924705A (zh) * | 2015-08-28 | 2018-04-17 | 英特尔公司 | 存储器装置错误校验和清除模式以及错误透明度 |
CN109558269A (zh) * | 2018-12-05 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘状态的检测方法、装置和介质 |
CN109616148A (zh) * | 2017-09-22 | 2019-04-12 | 爱思开海力士有限公司 | 具有解码器的存储器***、其操作方法和解码器 |
-
2019
- 2019-07-31 CN CN201910701429.6A patent/CN110444243A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197194A (zh) * | 2007-02-27 | 2008-06-11 | 深圳市同洲电子股份有限公司 | 一种存储器检测方法 |
US8365044B2 (en) * | 2007-04-23 | 2013-01-29 | Agere Systems Inc. | Memory device with error correction based on automatic logic inversion |
JP2008287798A (ja) * | 2007-05-17 | 2008-11-27 | Yokogawa Electric Corp | 半導体試験装置 |
CN102725738A (zh) * | 2010-01-27 | 2012-10-10 | 桑迪士克科技股份有限公司 | 使用位值的存储的计数来校正数据错误的***和方法 |
CN102034555A (zh) * | 2011-01-19 | 2011-04-27 | 哈尔滨工业大学 | 一种利用奇偶校验码进行故障在线纠错装置及方法 |
CN102332307A (zh) * | 2011-07-28 | 2012-01-25 | 中国空间技术研究院 | Sram型fpga单粒子效应试验***及方法 |
CN102332311A (zh) * | 2011-10-18 | 2012-01-25 | 中国航天科技集团公司第五研究院第五一〇研究所 | 一种基于fpga的nand flash器件单粒子效应测试方法 |
CN104240768A (zh) * | 2013-06-13 | 2014-12-24 | 英飞凌科技股份有限公司 | 用于测试存储器的方法和存储器*** |
CN107924705A (zh) * | 2015-08-28 | 2018-04-17 | 英特尔公司 | 存储器装置错误校验和清除模式以及错误透明度 |
CN105185413A (zh) * | 2015-09-24 | 2015-12-23 | 中国航天科技集团公司第九研究院第七七一研究所 | 用于片上存储管理单元容错结构的自动验证平台与方法 |
CN105824719A (zh) * | 2016-03-16 | 2016-08-03 | 浙江中控技术股份有限公司 | 一种随机存储器的检测方法及*** |
CN109616148A (zh) * | 2017-09-22 | 2019-04-12 | 爱思开海力士有限公司 | 具有解码器的存储器***、其操作方法和解码器 |
CN109558269A (zh) * | 2018-12-05 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘状态的检测方法、装置和介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113470728A (zh) * | 2021-06-29 | 2021-10-01 | 成都佰维存储科技有限公司 | 纠错能力测试方法、装置、可读存储介质及电子设备 |
CN113470723A (zh) * | 2021-06-29 | 2021-10-01 | 成都佰维存储科技有限公司 | 读重试测试方法、装置、可读存储介质及电子设备 |
CN113470723B (zh) * | 2021-06-29 | 2023-07-14 | 成都佰维存储科技有限公司 | 读重试测试方法、装置、可读存储介质及电子设备 |
CN113470728B (zh) * | 2021-06-29 | 2023-11-21 | 成都佰维存储科技有限公司 | 纠错能力测试方法、装置、可读存储介质及电子设备 |
CN117349071A (zh) * | 2023-10-26 | 2024-01-05 | 易康(广州)数字科技有限公司 | 一种基于大数据的纠错机制在线评估方法、***及存储介质 |
CN117349071B (zh) * | 2023-10-26 | 2024-04-12 | 易康(广州)数字科技有限公司 | 一种基于大数据的纠错机制在线评估方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104919434B (zh) | 用于在固态驱动器中进行较低页数据恢复的***和方法 | |
US6388919B2 (en) | Memory controller for flash memory system and method for writing data to flash memory device | |
CN110459259A (zh) | 存储设备写错误纠错能力的测试方法、***及存储介质 | |
US10248515B2 (en) | Identifying a failing group of memory cells in a multi-plane storage operation | |
CN108694017A (zh) | 存储器***及其操作方法 | |
CN110444243A (zh) | 存储设备读错误纠错能力的测试方法、***及存储介质 | |
CN102403039A (zh) | 半导体存储器件及其操作方法 | |
CN101308703B (zh) | 非易失性存储器阵列字线重试擦除及阈值电压恢复的方法 | |
US10976367B2 (en) | Controller structural testing with automated test vectors | |
US20220068422A1 (en) | Managing block retirement for temporary operational conditions | |
CN105097050B (zh) | 一种存储器寿命测试方法 | |
CN108647111A (zh) | 用于存储器的读取控制装置、读取控制方法和存储器控制器 | |
CN107799150A (zh) | 3d nand闪存的错误缓解 | |
US11221933B2 (en) | Holdup self-tests for power loss operations on memory systems | |
CN109933280A (zh) | 数据存储装置及其操作方法 | |
KR20100090001A (ko) | 메모리 장치, 메모리 관리 장치 및 메모리 관리 방법 | |
CN110111832A (zh) | 半导体存储器装置及其操作方法 | |
CN104751888A (zh) | 一种非易失性存储器的掉电保护方法和装置 | |
US7707380B2 (en) | Memories, method of storing data in memory and method of determining memory cell sector quality | |
CN108121616A (zh) | 存储器电路、多端口存储器电路及其操作方法 | |
CN114283868A (zh) | 闪存芯片的可靠性测试方法、装置、电子设备及存储介质 | |
CN112270945B (zh) | 记录是否有擦除时掉电的方法、装置、存储介质和终端 | |
CN110083305A (zh) | 存储器***及其操作方法 | |
CN116994631B (zh) | 基于ecc的闪存颗粒多次筛选方法、控制器及介质 | |
CN110444244A (zh) | 存储设备读错误纠错能力的测试装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191112 |