一种快速剔除Flash不稳定块的方法、系统、装置及存储介质
技术领域
本申请涉及Flash不稳定块剔除的技术领域,尤其是涉及一种快速剔除Flash不稳定块的方法、系统、装置及存储介质。
背景技术
NAND Flash存储器是Flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NAND Flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储。因NAND Flash的硬件机制,NAND Flash在出厂及使用过程中会出现坏块;为避免坏块读写操作和保护数据不丢失,应对坏块进行有效分析和管
相关技术可参考申请公开号为CN110597458A的中国发明专利,其提供一种NANDFLASH的坏块处理方法,首先进行NAND FLASH出厂坏块检查,之后对坏块进行处理,若NANDFLASH写入数据失败,则备份此块已有数据至缓存块中,然后擦除此块;若CC校验失败或读写数据对比不一致,则备份此块已有数据至缓存块中,擦除此块。
针对上述中的相关技术,发明人认为存在有以下缺陷:Flash的有部分块扫描标记点或者ECC对比的时候都是好的,逻辑读写就是坏的,或者有时好有时坏,这种块就属于不稳定块。现有的读原厂坏块信息或者ECC对比检测坏块并不能完全的检查出这些不稳定块,一旦这种不稳定的块用起来就会导致用户数据出错,对数据安全有很大影响。
发明内容
为了排除一些扫描不出来的不稳定块,本申请提供一种快速剔除Flash不稳定块的方法、系统、装置及存储介质。
第一方面,本申请提供一种快速剔除Flash不稳定块的方法,采用如下的技术方案:
一种快速剔除Flash不稳定块的方法,包括:
获取坏块位置,根据坏块位置分析地址线上所有的块是否不稳定;
获取分析结果,并剔除该地址线上所有的块。
通过采用上述技术方案,通过对坏块位置的分析,来分析这根地址线上的块是否不稳定,得到结果并全部剔除这根地址线上所有的块,从而快速剔除一些扫描不出来的不稳定块,达到保障数据安全的效果。
可选的,所述获取坏块位置,根据坏块位置分析地址线上所有的块是否不稳定的步骤包括:
统计每个BANK中坏块的数量;
根据坏块的数量,计算坏块比例;
根据坏块比例,与预设的标准比例对比,并判断是否超过预设的标准比例;
若判断为是,则进行分析。
可选的,所述统计每个BANK中坏块的数量的步骤之后,包括:获取坏块的数量,根据坏块的数量形成坏块列表。
通过采用上述技术方案,方便对坏块的存放。
可选的,所述若判断为是,则进行分析的步骤包括:
获取坏块列表和预先设置的地址线参数;
统计每个地址线上坏块的比例;
将达到预设条件的地址线标坏,形成分析结果。
可选的,所述获取坏块列表和预先设置的参数的步骤包括:所述地址线参数包括地址线高位比例和地址线低位比例两个参数。
可选的,所述获取分析结果,并剔除该地址线上所有的块的步骤之后,包括:获取坏块列表并更新。
通过采用上述技术方案,剔除该地址线的块更新坏块列表,这种操作可以提高成品的良率。
第二方面,本申请提供一种快速剔除Flash不稳定块的系统,采用如下的技术方案:
一种快速剔除Flash不稳定块的系统,包括:
坏块分析模块,用于获取坏块位置,根据坏块位置分析地址线上所有的块是否不稳定;
坏块剔除模块,用于获取分析结果,并剔除该地址线上所有的块。
通过采用上述技术方案,通过对坏块位置的分析,来分析这根地址线上的块是否不稳定,得到结果并全部剔除这根地址线上所有的块,从而快速剔除一些扫描不出来的不稳定块,达到保障数据安全的效果。
第三方面,本申请提供一种快速剔除Flash不稳定块的装置,采用如下的技术方案:
一种快速剔除Flash不稳定块的装置,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述任一种方法的计算机程序。
通过采用上述技术方案,通过对坏块位置的分析,来分析这根地址线上的块是否不稳定,得到结果并全部剔除这根地址线上所有的块,从而快速剔除一些扫描不出来的不稳定块,达到保障数据安全的效果。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,存储有能够被处理器加载并执行如上述任一种方法的计算机程序。
通过采用上述技术方案,通过对坏块位置的分析,来分析这根地址线上的块是否不稳定,得到结果并全部剔除这根地址线上所有的块,从而快速剔除一些扫描不出来的不稳定块,达到保障数据安全的效果。
附图说明
图1是本申请实施例中剔除方法的方法流程图。
图2是本申请实施例中分析块的方法流程图。
图3是本申请实施例中剔除系统的模块框图。
附图标记说明:1、坏块分析模块;2、坏块剔除模块。
具体实施方式
以下结合附图1-3对本申请作进一步详细说明。
本申请实施例公开一种快速剔除Flash不稳定块的方法。参照图1,快速剔除Flash不稳定块的方法包括:
S1,获取坏块位置。
其中,获取坏块位置时,根据坏块位置分析地址线上所有的块是否不稳定。
具体地,S1还包括以下步骤:
S101,统计每个BANK中坏块的数量。
其中,统计每个BANK中坏块的数量是通过两种检测坏块的方法实现。
具体地,检测方法1,首先进行NAND Flash出厂坏块检查:
1.1,NAND Flash第一次使用时,扫描所有块的第一页的00B区坏块标记点是否为0xff,不是0xff则为坏块;并统计非0xff有多少数量;将所有块的第一页的00B区扫描出来的坏块标记存入NAND Flash的第一个块中,并把坏块数量及坏块建立完成标记,这个标记表示NAND已经检查过出厂坏块,一并写入NAND Flash第一块中;
1.2,以后使用NAND Flash首先查看第一块的坏块建立完成标记是否存在,存在则直接读出第--块存放的坏块列表到内存中,以便减少坏块检查的时间;不存在坏块建立完成标记,则需要按照步骤1.1重新建立坏块列表。
检测方法2,NAND的使用及新坏块产生处理,第一块存放了坏块列表及坏块数量,建立标志等信息,存储数据时,需要绕过此块;未避免正常使用NAND Flash时,出现坏块;需要NAND Flash写入数据后,判断状态寄存器提示是否写入成功;写入成功再次读出数据,判断此时的ECC是否正常、读数据与写入数据是否一致;以此来证明存入的数据为正确数据可用;
2.1,当上述情况中,写入数据失败,则备份此块已有数据至缓存块中;然后擦除此块,判断此时状态寄存器是否提示擦除成功,成功则表明此块可用;失败则将此块的00B区坏块标记点写入非0XFF数据,并及时更新第一块中相应的坏块列表及坏块数量;
2.2,当上述情况中出现了ECC校验失败或读写数据对比不-致,则备份此块已有数据至缓存块中,擦除此块;查看此时状态寄存器提示擦除是否失败,失败则表明此块为坏块,将此块的00B区坏块标记点写入非0XFF数据,并及时更新第一块中相应的坏块列表及坏块数量;成功表明此块因为电压不稳定造成了数据存储失败;
当新坏块出现时,NAND Flash缓存块中的数据则需要转移到下一个可用块中;保证所有数据正常存储。
S102,根据坏块的数量,计算坏块比例;
S103,根据坏块比例,与预设的标准比例对比,并判断是否超过预设的标准比例。
其中,关于好块和坏块,NAND Flash在出厂的时候,会做出保证:关于好的,可以使用的块的数目达到一定的数目,比如三星的K9G8G08U0M,整个Flash一共有4096个块,出厂的时候,保证好的块至少大于3996个,也就是意思是,新买到这个型号的NAND Flash,最坏的可能有3096-3996=100个坏块。保证第一个块是好的,并且一般相对来说比较耐用。做此保证的主要原因是,很多NAND Flash坏块管理方法中,就是将第一个块,用来存储BBT,否则,都是出错几率一样的块,那么管理就比较困难。一般来说,不同型号的NAND Flash的数据手册中,也会提到NAND Flash最多允许多少个坏块。就比如上面提到的三星的K9G8G08U0M,最多有100个坏块。
S104,若判断为是,则进行分析。
具体地,分析算法包括:
获取坏块列表和预先设置的地址线参数;其中,地址线参数包括地址线高位比例和地址线低位比例两个参数。统计每个地址线上坏块的比例;将达到预设条件的地址线标坏,形成分析结果。
S2,获取分析结果,并剔除该地址线上所有的块。其中,在剔除该地址线上所有的块后,获取坏块列表并更新,这种操作可以提高成品的良率。
本申请实施例一种快速剔除Flash不稳定块的方法的实施原理为:通过对坏块位置的分析,来分析这根地址线上的块是否不稳定,得到结果并全部剔除这根地址线上所有的块,从而快速剔除一些扫描不出来的不稳定块,达到保障数据安全的效果。
基于上述方法,本申请实施例还公开一种快速剔除Flash不稳定块的系统。参照图3,快速剔除Flash不稳定块的系统包括:
坏块分析模块1,坏块分析模块1用于获取坏块位置,根据坏块位置分析地址线上所有的块是否不稳定;
坏块剔除模块2,坏块剔除模块2用于获取分析结果,并剔除该地址线上所有的块。
本申请实施例还公开一种快速剔除Flash不稳定块的装置,其包括存储器和处理器,其中,存储器上存储有能够被处理器加载并执行如上述的快速剔除Flash不稳定块的方法的计算机程序。
本申请实施例还公开一种计算机可读存储介质。计算机可读存储介质内存储有能够被处理器加载并执行如上述的快速剔除Flash不稳定块的方法的计算机程序,计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施例仅用以说明本发明的技术方案,而非对发明的保护范围进行限制。显然,所描述的实施例仅仅是本发明部分实施例,而不是全部实施例。基于这些实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明所要保护的范围。尽管参照上述实施例对本发明进行了详细的说明,本领域普通技术人员依然可以在不冲突的情况下,不作出创造性劳动对本发明各实施例中的特征根据情况相互组合、增删或作其他调整,从而得到不同的、本质未脱离本发明的构思的其他技术方案,这些技术方案也同样属于本发明所要保护的范围。