CN115440287A - Ssd坏块筛选方法、装置和电子装置 - Google Patents
Ssd坏块筛选方法、装置和电子装置 Download PDFInfo
- Publication number
- CN115440287A CN115440287A CN202210956256.4A CN202210956256A CN115440287A CN 115440287 A CN115440287 A CN 115440287A CN 202210956256 A CN202210956256 A CN 202210956256A CN 115440287 A CN115440287 A CN 115440287A
- Authority
- CN
- China
- Prior art keywords
- address
- data
- ssd
- determining
- tested
- 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
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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及一种SSD坏块筛选方法、装置和电子装置,其中,该SSD坏块筛选方法包括:向待测SSD的所有存储单元写入第一数据;将所述待测SSD的每个存储单元的当前数据与所述第一数据进行比对,确定当前数据与所述第一数据不一致的所述存储单元的第一地址;向待测SSD的所有存储单元写入第二数据;将所述待测SSD的每个存储单元的当前数据与所述第二数据进行比对,确定当前数据与所述第二数据不一致的所述存储单元的第二地址;基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址。通过本申请,解决了相关技术中SSD坏块筛选的准确率不高的技术问题,避免了待测SSD中坏块漏检的情形,提高了SSD坏块筛选的准确率。
Description
技术领域
本申请涉及数据存储领域,特别是涉及一种SSD坏块筛选方法、装置和电子装置。
背景技术
随着信息技术的高速发展,数据信息的存储要求也在不断提高,快速且不会丢失数据的存储介质的需求越来越多。当前大部分存储介质都是以电荷的形式存储数据,可以进行擦除放电和编译充电动作。电荷可以长时间维持,以用于长期保存数据。
但是,由于存储介质中电荷偶尔会发生电荷偏移,导致产生坏块,从而在读取数据时发生错误。为了对坏块进行筛选,相关技术中对SSD的页内的位翻转总数是否超过阈值进行判断,进而确定当前块是否为坏块。但是,由于某些位中的存储值固定为0或者1,并不会随着写入的测试数据的改变而改变。例如位中的存储值固定为1时,若几次测试过程中均以1作为测试数据,则最终测试结果为该块正常。而在实际使用中,当写入数据0时,该位的存储值仍为1。因此,相关技术中对SSD坏块进行筛选的方法存在漏检的情形,导致SSD坏块筛选的准确度不高。
针对相关技术中SSD坏块筛选的准确度不高的技术问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种SSD坏块筛选方法、装置和电子装置,以解决相关技术中SSD坏块筛选的准确度不高的技术问题。
第一个方面,在本实施例中提供了一种SSD坏块筛选方法,包括:
向待测SSD的所有存储单元写入第一数据;
将所述待测SSD的每个存储单元的当前数据与所述第一数据进行比对,确定当前数据与所述第一数据不一致的所述存储单元的第一地址;
向待测SSD的所有存储单元写入第二数据;
将所述待测SSD的每个存储单元的当前数据与所述第二数据进行比对,确定当前数据与所述第二数据不一致的所述存储单元的第二地址;
基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址。
在其中的一些实施例中,所述第一数据包括全零数据,所述确定当前数据与所述第一数据不一致的所述存储单元的第一地址包括:
确定覆盖非零位的所有所述存储单元的第一非零地址。
在其中的一些实施例中,所述确定覆盖非零位的所有所述存储单元的第一非零地址之后还包括:
对所述待测SSD进行数据擦除;
向所述待测SSD的所有所述存储单元写入全零数据;
确定覆盖非零位的所有所述存储单元的第二非零地址;
基于所述第一非零地址以及所述第二非零地址,确定所述第一地址。
在其中的一些实施例中,所述基于所述第一非零地址以及所述第二非零地址,确定所述第一地址包括:
依次将每个所述第一非零地址与每个所述第二非零地址进行比较,若相同,则将相同的地址确定为所述第一地址。
在其中的一些实施例中,所述第二数据包括全壹数据,所述确定当前数据与所述第二数据不一致的所述存储单元的第二地址包括:
确定覆盖非壹位的所有所述存储单元的第一非壹地址。
在其中的一些实施例中,所述确定覆盖非壹位的所有所述存储单元的第一非壹地址之后还包括:
对所述待测SSD进行数据擦除;
向所述待测SSD的所有所述存储单元写入全壹数据;
确定覆盖非壹位的所有所述存储单元的第二非壹地址;
基于所述第一非壹地址以及所述第二非壹地址,确定所述第二地址。
在其中的一些实施例中,所述基于所述第一非壹地址以及所述第二非壹地址,确定所述第二地址包括:
依次将每个所述第一非壹地址与每个所述第二非壹地址进行比较,若相同,则将相同的地址确定为所述第二地址。
在其中的一些实施例中,所述基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址包括:
将所述第一地址以及所述第二地址所覆盖的所有块确定为坏块,并确定所述坏块地址。
第二个方面,在本实施例中提供了一种SSD坏块筛选装置,包括:
第一数据写入模块,用于向待测SSD的所有存储单元写入第一数据;
第一地址确定模块,用于将所述待测SSD的每个存储单元的当前数据与所述第一数据进行比对,确定当前数据与所述第一数据不一致的所述存储单元的第一地址;
第二数据写入模块,用于向待测SSD的所有存储单元写入第二数据;
第二地址确定模块,用于将所述待测SSD的每个存储单元的当前数据与所述第二数据进行比对,确定当前数据与所述第二数据不一致的所述存储单元的第二地址;
坏块地址确定模块,用于基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址。
第三个方面,在本实施例中提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行第一个方面中任一项所述的SSD坏块筛选方法。
与相关技术相比,本发明提供了一种SSD坏块筛选方法、装置和电子装置,其中,SSD坏块筛选方法包括:向待测SSD的所有存储单元写入第一数据;将所述待测SSD的每个存储单元的当前数据与所述第一数据进行比对,确定当前数据与所述第一数据不一致的所述存储单元的第一地址;向待测SSD的所有存储单元写入第二数据;将所述待测SSD的每个存储单元的当前数据与所述第二数据进行比对,确定当前数据与所述第二数据不一致的所述存储单元的第二地址;基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址。通过不同的第一数据以及第二数据对待测SSD进行二次坏块筛选,并获取写入后的当前数据与第一数据或者第二数据不同的存储单元地址,以避免仅通过单个测试数据对待测SSD进行检测时,坏块中的当前数据与测试数据相同,从而导致坏块漏检的情形,解决了相关技术中SSD坏块筛选的准确率不高的技术问题,避免了待测SSD中坏块漏检的情形,提高了SSD坏块筛选的准确率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明一实施例的SSD坏块筛选方法的终端硬件结构图;
图2是本发明一实施例的SSD坏块筛选方法的流程示意图;
图3是本发明另一实施例的SSD坏块筛选方法的流程示意图;
图4是本发明另一实施例的SSD坏块筛选方法的流程示意图;
图5是本发明一实施例的SSD坏块筛选方法的结构框图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的SSD坏块筛选方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的SSD坏块筛选方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
示例性地,由于SSD中的电荷会发生偏移现象,以Nand Flash为例,若一些块中出现电荷偏移,会导致位出现翻转,在读取时容易发生错误检查和纠正失败的问题,进而造成数据丢失。一般在Nand Flash出厂时,会标注一些原厂坏块,原厂坏块和后期使用中产生的坏块都需要在量产前进行严格筛选。一般筛选流程会在某温度下对Nand Flash进行若干次擦除、编程、读取以及标记坏块等操作,然后统计页或者编码单元中的位翻转数,并与设置的阈值相比较,若位翻转数超过设置的阈值,则认为当前块是坏块并进行标记。
在现有技术中,对SSD进行坏块筛选往往会存在遗漏的情形。例如,在特定温度下,测试SSD的页内位翻转总数是否超过阈值以对坏块进行筛选,但是由于某些位固定是0或者1,并不会随着测试数据而改变。当测试数据与位的存储值相同时,在本轮筛选中该块会被认定为好块,从而造成坏块遗漏。又例如,在使用TLC或者QLC时,写入测试数据0后,由于位过多,电荷可能会被偏移成1,或者电荷未被偏移成0,导致页内的位翻转数可能先后造成小于阈值或大于阈值的情形,进而造成数据丢失的隐患。
基于此,通过判断位翻转数是否在阈值范围内的方法对坏块进行筛选,并不能准确地确定每个坏块。并且,在SSD的后期使用过程中,好块也可能变成坏块,现有技术中的方案并不能预测SSD在后期使用过程中的状况,容易产生误差。
请参阅图2,图2是本发明一实施例的SSD坏块筛选方法的流程示意图。
在一个实施例中,SSD坏块筛选方法,包括:
S202:向待测SSD的所有存储单元写入第一数据。
示例性地,设置第一数据,并向待测SSD中的所有存储单元中写入第一数据。若待测SSD中不存在坏块,此时待测SSD的所有存储单元中的当前数值应当均为第一数据。其中,SSD即固态硬盘,是指用固态电子存储芯片阵列制成的硬盘,基于存储介质的不同,一般包括Flash和DRAM两大类。
具体的,第一数据可基于实际需要进行设置。例如,以每个存储单元的存储空间为4bit为例,写入“1010”的第一数据。优选的,为方便比较,写入全零数据或者全壹数据,即“0000”或“1111”,从而降低计算量。
具体的,本实施例中的存储单元,包括核心(die)、平面(plane)、块(block)、页(page)以及单元(cell),或者上述的叠加形式。
S204:将待测SSD的每个存储单元的当前数据与第一数据进行比对,确定当前数据与第一数据不一致的存储单元的第一地址。
示例性地,写入第一数据后,获取待测SSD的所有存储单元的当前数据,并依次将每个当前数据与第一数据进行比对;若当前数据与第一数据不一致,则表明在写入过程中第一数据没有写入该当前数据对应的存储单元,即该存储单元存在坏块,因此需要获取该存储单元的地址,即第一地址。
可以理解的,若当前数据与第一数据一致,则表明在写入过程中第一数据已经被写入当前数据对应的存储单元,即该存储单元不存在坏块;或者该存储单元虽然存在坏块,但是其当前数据恰好与第一数据一致。由于无法确定该存储单元是否存在坏块,因此需要通过后续的第二数据再次进行筛选。
S206:向待测SSD的所有存储单元写入第二数据。
示例性地,设置第二数据,并向待测SSD中的所有存储单元中写入第二数据。若待测SSD中不存在坏块,此时待测SSD的所有存储单元中的当前数值应当均为第二数据。
具体的,第二数据可基于实际需要进行设置。例如,以每个存储单元的存储空间为4bit为例,写入“0101”的第一数据。优选的,为方便比较,写入全零数据或者全壹数据,即“0000”或“1111”,以减少计算量。
可以理解的,第二数据与第一数据的数值不同。
S208:将待测SSD的每个存储单元的当前数据与第二数据进行比对,确定当前数据与第二数据不一致的存储单元的第二地址。
示例性地,写入第二数据后,获取待测SSD的所有存储单元的当前数据,并依次将每个当前数据与第二数据进行比对;若当前数据与第二数据不一致,则表明在写入过程中第二数据没有写入该当前数据对应的存储单元,即该存储单元存在坏块,因此需要获取该存储单元的地址,即第二地址。
可以理解的,若当前数据与第二数据一致,则表明在写入过程中第二数据已经被写入当前数据对应的存储单元,即该存储单元不存在坏块;或者该存储单元虽然存在坏块,但是其当前数据恰好与第二数据一致。
具体的,仅通过单个第一数据或者第二数据对坏块进行筛选时,由于坏块中可能存在与第一数据或者第二数据相同的存储值,因此需要通过不同的两个测试数据对坏块进行筛选。由于第一数据与第二数据不同,因此在通过第一数据筛选时遗漏的存储单元,必然可以通过第二数据筛选出来,相反的,若通过第二数据筛选时遗漏的存储单元,也必然可以通过第一数据筛选出来。
S210:基于第一地址以及第二地址,确定待测SSD的坏块地址。
示例性地,通过第一数据以及第二数据进行筛选后,得到存储单元的第一地址以及第二地址。基于第一地址以及第二地址,确定坏块地址。例如,基于第一地址以及第二地址对应的存储单元所覆盖的所有块,确定坏块地址。
本实施例向待测SSD的所有存储单元写入第一数据;将待测SSD的每个存储单元的当前数据与第一数据进行比对,确定当前数据与第一数据不一致的存储单元的第一地址;向待测SSD的所有存储单元写入第二数据;将待测SSD的每个存储单元的当前数据与第二数据进行比对,确定当前数据与第二数据不一致的存储单元的第二地址;基于第一地址以及第二地址,确定待测SSD的坏块地址。通过不同的第一数据以及第二数据对待测SSD进行二次坏块筛选,并获取写入后的当前数据与第一数据或者第二数据不同的存储单元地址,以避免仅通过单个数据对待测SSD进行检测时,坏块中的当前数据与检测数据相同,从而导致坏块漏检的情形,解决了相关技术中SSD坏块筛选的准确率不高的技术问题,避免了待测SSD中坏块漏检的情形,提高了SSD坏块筛选的准确率。
在另一个实施例中,第一数据包括全零数据,确定当前数据与第一数据不一致的存储单元的第一地址包括:
确定覆盖非零位的所有存储单元的第一非零地址。
示例性地,将第一数据设置为全零数据,即在待测SSD的所有位中写入全零数据,若待检测SSD不存在坏块,此时所有的位的当前数据均应当是0。写入全零数据后,读取待测SSD数据,搜寻所有当前数据为1的位即非零位,记录覆盖非零位的所有存储单元的第一非零地址。
具体的,第一非零地址包括核心地址、平面地址、块地址、页地址以及单元地址中的至少一种。
本实施例中第一数据设为全零数据,从而方便了对第一非零地址的确定,在读取过程中仅需读取待测SSD中当前数据为1的位对应的存储单元即可,从而降低了SSD坏块筛选的计算成本。
在另一个实施例中,确定覆盖非零位的所有存储单元的第一非零地址之后还包括:
步骤1:对待测SSD进行数据擦除;
步骤2:向待测SSD的所有存储单元写入全零数据;
步骤3:确定覆盖非零位的所有存储单元的第二非零地址;
步骤4:基于第一非零地址以及第二非零地址,确定第一地址。
示例性地,在获取第一非零地址后,对待测SSD进行全盘数据擦除;擦除数据后,再次在待测SSD的所有位中写入全零数据;读取待测SSD中的当前数据,搜寻所有当前数据为1的位即非零位,记录覆盖非零位的所有存储单元的地址即第二非零地址。
示例性地,通过两次写入全零数据,分别获取第一非零地址以及第二非零地址后,基于第一非零地址以及第二非零地址确定覆盖非零位的存储单元的最终地址,即第一地址。
本实施例先后两次写入全零数据,以对待测SSD进行测试,从而获取第一非零地址以及第二非零地址,并基于第一非零地址以及第二非零地址确定第一地址,从而通过两次位翻转检测的方式,降低了待测SSD中电荷偶然偏移等事件对第一地址的影响,提高了第一地址的准确性。
在另一个实施例中,基于第一非零地址以及第二非零地址,确定第一地址包括:
依次将每个第一非零地址与每个第二非零地址进行比较,若相同,则将相同的地址确定为第一地址。
示例性地,获取第一非零地址以及第二非零地址后,将每个第一非零地址与每个第二非零地址进行比对,得到相同的非零地址,并作为第一地址。
具体的,第一非零地址以及第二非零地址分别存储于第一序列以及第二序列中。获取第一序列中的第一个第一非零地址,并将该第一非零地址与第二序列中的所有第二非零地址进行匹配,得到与第一非零地址相同的第二非零地址,并作为第一地址。继续获取第一序列中的第二个第一非零地址,重复上述过程,直至第一序列中的所有第一非零地址均执行完上述过程。
请参阅图3,图3是本发明另一实施例的SSD坏块筛选方法的流程示意图。
在其中一个具体实施例中,在待测SSD的每个位写入数据0,判断所有位的当前数据是否为0,若不为0则标记该位置;擦除待测SSD的数据,再次在每个位写入数据0,判断所有位的当前数据是否为0,若不为0则标记该位置;将两次标记的位置进行比较,若相同,则将该位置对应的块标记为坏块。
本实施例将第一非零地址与第二非零地址进行比较,从而排除不同的非零地址,进而降低了电荷的偶然偏移等意外事件对第一地址的影响,提高了第一地址的准确性。
在另一个实施例中,第二数据包括全壹数据,确定当前数据与第二数据不一致的存储单元的第二地址包括:
确定覆盖非壹位的所有存储单元的第一非壹地址。
示例性地,将第二数据设置为全壹数据,即在待测SSD的所有位中写入全壹数据,若待检测SSD不存在坏块,此时所有的位的当前数据均应当是1。写入全壹数据后,读取待测SSD数据,搜寻所有当前数据为0的位即非壹位,记录覆盖非壹位的所有存储单元的第一非壹地址。
具体的,第一非壹地址包括核心地址、平面地址、块地址、页地址以及单元地址中的至少一种。
本实施例中第二数据设为全壹数据,从而方便了对第一非壹地址的确定,在读取过程中仅需读取待测SSD中当前数据为0的位对应的存储单元即可,从而降低了SSD坏块筛选的计算成本。
在另一个实施例中,确定覆盖非壹位的所有存储单元的第一非壹地址之后还包括:
步骤1:对待测SSD进行数据擦除;
步骤2:向待测SSD的所有存储单元写入全壹数据;
步骤3:确定覆盖非壹位的所有存储单元的第二非壹地址;
步骤4:基于第一非壹地址以及第二非壹地址,确定第二地址。
示例性地,在获取第一非壹地址后,对待测SSD进行全盘数据擦除;擦除数据后,再次在待测SSD的所有位中写入全壹数据;读取待测SSD中的当前数据,搜寻所有当前数据为0的位即非壹位,记录覆盖非壹位的所有存储单元的地址即第二非壹地址。
示例性地,通过两次写入全壹数据,分别获取第一非壹地址以及第二非壹地址后,基于第一非壹地址以及第二非壹地址确定覆盖非壹位的存储单元的最终地址,即第二地址。
本实施例先后两次写入全壹数据,以对待测SSD进行测试,从而获取第一非壹地址以及第二非壹地址,并基于第一非壹地址以及第二非壹地址确定第二地址,从而通过两次位翻转检测的方式,降低了待测SSD中电荷偶然偏移等事件对第二地址的影响,提高了第二地址的准确性。
在另一个实施例中,基于第一非壹地址以及第二非壹地址,确定第二地址包括:
依次将每个第一非壹地址与每个第二非壹地址进行比较,若相同,则将相同的地址确定为第二地址。
示例性地,获取第一非壹地址以及第二非壹地址后,将每个第一非壹地址与每个第二非壹地址进行比对,得到相同的非壹地址,并作为第二地址。
具体的,第一非壹地址以及第二非壹地址分别存储于第三序列以及第四序列中。获取第三序列中的第一个第一非壹地址,并将该第一非壹地址与第四序列中的所有第二非壹地址进行匹配,得到与第一非壹地址相同的第二非壹地址,并作为第二地址。继续获取第三序列中的第二个第一非壹地址,重复上述过程,直至第三序列中的所有第一非壹地址均执行完上述过程。
请参阅图4,图4是本发明另一实施例的SSD坏块筛选方法的流程示意图。
在其中一个具体实施例中,在待测SSD的每个位写入数据1,判断所有位的当前数据是否为1,若不为1则标记该位置;擦除待测SSD的数据,再次在每个位写入数据1,判断所有位的当前数据是否为1,若不为1则标记该位置;将两次标记的位置进行比较,若相同,则将该位置对应的块标记为坏块。
本实施例将第一非壹地址与第二非壹地址进行比较,从而排除不同的非壹地址,进而降低了电荷的偶然偏移等意外事件对第二地址的影响,提高了第二地址的准确性。
在另一个实施例中,基于第一地址以及第二地址,确定待测SSD的坏块地址包括:
将第一地址以及第二地址所覆盖的所有块确定为坏块,并确定坏块地址。
示例性地,获取存储单元的第一地址以及第二地址后,将第一地址以及第二地址对应的存储单元所覆盖的块确定为坏块,并记录坏块的地址。具体的,由于第一地址以及第二地址对应的存储单元中的存储值是固定的,不随写入的测试数据而变化,在实际使用过程中容易造成数据错误,因此需要将第一地址以及第二地址对应的存储单元所覆盖的所有坏块筛选出来。
可以理解的,由于第一数据与第二数据不同,因此在通过第一数据筛选时遗漏的存储单元,必然可以通过第二数据筛选出来,相反的,若通过第二数据筛选时遗漏的存储单元,也必然可以通过第一数据筛选出来。因此,需要将第一地址以及第二地址所覆盖的所有块确定为坏块。
本实施例将将第一地址以及第二地址所覆盖的所有块确定为坏块,并对两次坏块筛选结果进行合并,以避免通过单个测试数据进行筛选时造成坏块遗漏,进一步提高了SSD坏块筛选的准确性。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中还提供了一种SSD坏块筛选装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本实施例的SSD坏块筛选装置的结构框图,如图5所示,该装置包括:
第一数据写入模块10,用于向待测SSD的所有存储单元写入第一数据;
第一地址确定模块20,用于将待测SSD的每个存储单元的当前数据与第一数据进行比对,确定当前数据与第一数据不一致的存储单元的第一地址;
第一地址确定模块20,还用于确定覆盖非零位的所有存储单元的第一非零地址;
第一地址确定模块20,还用于对待测SSD进行数据擦除;
向待测SSD的所有存储单元写入全零数据;
确定覆盖非零位的所有存储单元的第二非零地址;
基于第一非零地址以及第二非零地址,确定第一地址;
第一地址确定模块20,还用于依次将每个第一非零地址与每个第二非零地址进行比较,若相同,则将相同的地址确定为第一地址;
第二数据写入模块30,用于向待测SSD的所有存储单元写入第二数据;
第二地址确定模块40,用于将待测SSD的每个存储单元的当前数据与第二数据进行比对,确定当前数据与第二数据不一致的存储单元的第二地址;
第二地址确定模块40,还用于确定覆盖非壹位的所有存储单元的第一非壹地址;
第二地址确定模块40,还用于对待测SSD进行数据擦除;
向待测SSD的所有存储单元写入全壹数据;
确定覆盖非壹位的所有存储单元的第二非壹地址;
基于第一非壹地址以及第二非壹地址,确定第二地址;
第二地址确定模块40,还用于依次将每个第一非壹地址与每个第二非壹地址进行比较,若相同,则将相同的地址确定为第二地址;
坏块地址确定模块50,用于基于第一地址以及第二地址,确定待测SSD的坏块地址;
坏块地址确定模块50,还用于将第一地址以及第二地址所覆盖的所有块确定为坏块,并确定坏块地址。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1:向待测SSD的所有存储单元写入第一数据;
S2:将待测SSD的每个存储单元的当前数据与第一数据进行比对,确定当前数据与第一数据不一致的存储单元的第一地址;
S3:向待测SSD的所有存储单元写入第二数据;
S4:将待测SSD的每个存储单元的当前数据与第二数据进行比对,确定当前数据与第二数据不一致的存储单元的第二地址;
S5:基于第一地址以及第二地址,确定待测SSD的坏块地址。
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种SSD坏块筛选方法,其特征在于,包括:
向待测SSD的所有存储单元写入第一数据;
将所述待测SSD的每个存储单元的当前数据与所述第一数据进行比对,确定当前数据与所述第一数据不一致的所述存储单元的第一地址;
向待测SSD的所有存储单元写入第二数据;
将所述待测SSD的每个存储单元的当前数据与所述第二数据进行比对,确定当前数据与所述第二数据不一致的所述存储单元的第二地址;
基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址。
2.根据权利要求1所述的SSD坏块筛选方法,其特征在于,所述第一数据包括全零数据,所述确定当前数据与所述第一数据不一致的所述存储单元的第一地址包括:
确定覆盖非零位的所有所述存储单元的第一非零地址。
3.根据权利要求2所述的SSD坏块筛选方法,其特征在于,所述确定覆盖非零位的所有所述存储单元的第一非零地址之后还包括:
对所述待测SSD进行数据擦除;
向所述待测SSD的所有所述存储单元写入全零数据;
确定覆盖非零位的所有所述存储单元的第二非零地址;
基于所述第一非零地址以及所述第二非零地址,确定所述第一地址。
4.根据权利要求3所述的SSD坏块筛选方法,其特征在于,所述基于所述第一非零地址以及所述第二非零地址,确定所述第一地址包括:
依次将每个所述第一非零地址与每个所述第二非零地址进行比较,若相同,则将相同的地址确定为所述第一地址。
5.根据权利要求1所述的SSD坏块筛选方法,其特征在于,所述第二数据包括全壹数据,所述确定当前数据与所述第二数据不一致的所述存储单元的第二地址包括:
确定覆盖非壹位的所有所述存储单元的第一非壹地址。
6.根据权利要求5所述的SSD坏块筛选方法,其特征在于,所述确定覆盖非壹位的所有所述存储单元的第一非壹地址之后还包括:
对所述待测SSD进行数据擦除;
向所述待测SSD的所有所述存储单元写入全壹数据;
确定覆盖非壹位的所有所述存储单元的第二非壹地址;
基于所述第一非壹地址以及所述第二非壹地址,确定所述第二地址。
7.根据权利要求6所述的SSD坏块筛选方法,其特征在于,所述基于所述第一非壹地址以及所述第二非壹地址,确定所述第二地址包括:
依次将每个所述第一非壹地址与每个所述第二非壹地址进行比较,若相同,则将相同的地址确定为所述第二地址。
8.根据权利要求1所述的SSD坏块筛选方法,其特征在于,所述基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址包括:
将所述第一地址以及所述第二地址所覆盖的所有块确定为坏块,并确定所述坏块地址。
9.一种SSD坏块筛选装置,其特征在于,包括:
第一数据写入模块,用于向待测SSD的所有存储单元写入第一数据;
第一地址确定模块,用于将所述待测SSD的每个存储单元的当前数据与所述第一数据进行比对,确定当前数据与所述第一数据不一致的所述存储单元的第一地址;
第二数据写入模块,用于向待测SSD的所有存储单元写入第二数据;
第二地址确定模块,用于将所述待测SSD的每个存储单元的当前数据与所述第二数据进行比对,确定当前数据与所述第二数据不一致的所述存储单元的第二地址;
坏块地址确定模块,用于基于所述第一地址以及所述第二地址,确定所述待测SSD的坏块地址。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至8中任一项所述的SSD坏块筛选方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210956256.4A CN115440287A (zh) | 2022-08-10 | 2022-08-10 | Ssd坏块筛选方法、装置和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210956256.4A CN115440287A (zh) | 2022-08-10 | 2022-08-10 | Ssd坏块筛选方法、装置和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115440287A true CN115440287A (zh) | 2022-12-06 |
Family
ID=84242188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210956256.4A Pending CN115440287A (zh) | 2022-08-10 | 2022-08-10 | Ssd坏块筛选方法、装置和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115440287A (zh) |
-
2022
- 2022-08-10 CN CN202210956256.4A patent/CN115440287A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429326B2 (en) | Method and system for NAND-flash identification without reading device ID table | |
US8386860B2 (en) | Methods of calculating compensation voltage and adjusting threshold voltage and memory apparatus and controller | |
US8255643B2 (en) | Memory system and data processing method thereof | |
US10884665B2 (en) | Data reading method, storage controller and storage device for optimizing read voltages | |
US9514843B2 (en) | Methods for accessing a storage unit of a flash memory and apparatuses using the same | |
US20180173588A1 (en) | Patrol Scrub Periods Based on Power Status | |
CN111813591B (zh) | Nand Flash的数据纠错方法、装置、电子设备及存储介质 | |
US20100318874A1 (en) | Electronic memory device and method for error correcting thereof | |
CN116230066A (zh) | 一种实现质量等级划分的方法、计算机存储介质及终端 | |
CN101441891A (zh) | 一种利用闪存的方法 | |
CN112331249A (zh) | 预测存储器件寿命的方法、装置、终端设备和存储介质 | |
CN114327258A (zh) | 一种固态硬盘处理方法、系统、设备及计算机存储介质 | |
WO2024098936A1 (zh) | 存储方法、装置、设备和存储介质 | |
CN115440287A (zh) | Ssd坏块筛选方法、装置和电子装置 | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
CN114327265B (zh) | 读取干扰检查方法、存储器存储装置及控制电路单元 | |
CN113419682B (zh) | 一种数据处理方法、装置和计算机闪存设备 | |
CN108572786B (zh) | 避免读取扰动的数据搬移方法以及使用该方法的装置 | |
CN115148263A (zh) | 寻找多颗粒的公共最佳读取电压的方法、存储系统 | |
CN112470227A (zh) | 一种数据块处理的方法及控制器 | |
CN115148271A (zh) | 一种存储芯片的测试方法、系统及存储介质 | |
CN103984614A (zh) | 一种监控方法及监控装置、电子设备 | |
CN112447241A (zh) | 一种实现数据重读的方法、装置、计算机存储介质及终端 | |
US20040172496A1 (en) | Double buffered flash programming | |
CN109308930B (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 | ||
CB02 | Change of applicant information |
Address after: 310051 room 512, building 2, 2930 South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Zhejiang Huayi Core Technology Co.,Ltd. Address before: 310051 room 512, building 2, 2930 South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: Zhejiang Dahua Technology Co.,Ltd. |
|
CB02 | Change of applicant information |