检测存储设备坏块的方法和装置的制作方法

上传人:ting****789 文档编号:310009857 上传时间:2022-06-14 格式:DOCX 页数:10 大小:23.18KB
返回 下载 相关 举报
检测存储设备坏块的方法和装置的制作方法_第1页
第1页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《检测存储设备坏块的方法和装置的制作方法》由会员分享,可在线阅读,更多相关《检测存储设备坏块的方法和装置的制作方法(10页珍藏版)》请在金锄头文库上搜索。

1、检测存储设备坏块的方法和装置的制作方法专利名称:检测存储设备坏块的方法和装置的制作方法技术领域:本发明涉及存储技术,尤其涉及一种检测存储设备坏块的方法和装置。背景技术:Nand闪存是一种比硬盘驱动器更好的存储方案,由于其编程速度快、擦除时间短,在现有产品的应用中极具吸引力。根据技术方式,Nand闪存分为单层单元(Single LayerCell,简称 SLC)Nand 闪存和多层单兀(Multi-Level Cell,简称 MLC)Nand 闪存。SLC Nand闪存的每个存储单元中只有Ibit数据,而MLC Nand闪存的每个存储单元存储2bit数据。与SLC Nand闪存相比,MLC Na

2、nd闪存的容量大、成本低,但由于MLC Nand闪存的存储单元 中存放的资料较多,结构复杂,出错的几率大,容易发生位翻转,在使用MLCNand闪存时,需要使用纠错算法进行数据的校验和纠错。现有技术中,针对Nand闪存的使用过程中新增坏块的检测主要采用以下两种方案。方案一只有在擦除失败的时候,将块标记为坏块,如果在写的过程中出现位翻转现象,直接返回失败给上层文件系统处理,如果在读的过程中出现纠错算法不能纠正的情况,也直接返回失败给上层文件系统处理。方案二 在擦除失败的时候,将块标记为坏块,并且,如果在写的过程中出现位翻转现象,将块标记为坏块,如果在读的过程中出现纠错算法不能纠正的情况,也将块标记

3、为坏块。采用上述两种检测坏块的方法,容易造成由于坏块太多而找不到可用块进行写操作或数据无法读出的现象,甚至由于坏块数量太多使得芯片报废,从而导致存储设备的可靠性差。发明内容本发明的第一个方面是提供一种检测存储设备坏块的方法,用以解决现有技术中的缺陷,提高存储设备的可靠性。本发明的另一个方面是提供一种检测存储设备坏块的装置,用以解决现有技术中的缺陷,提高存储设备的可靠性。本发明的第一个方面是提供一种检测存储设备坏块的方法,包括向目标块中写入目标数据和目标数据对应的普通校验强度的校验码;比较目标数据与目标块中存储的目标数据,获取目标块中存储的目标数据中发生翻转的位的数量;当目标块中存储的目标数据中

4、发生翻转的位的数量大于或等于预设的第一校验水线并小于预设的第二校验水线时,为目标块添加准坏块标记,生成目标数据对应的高级校验强度的校验码并采用高级校验强度的校验码更新目标块中写入的普通校验强度的校验码;当目标块中存储的目标数据中发生翻转的位的数量大于或等于第二校验水线时,为目标块添加坏块标记。如上所述的方法,其中,向目标块中写入目标数据和目标数据对应的普通校验强度的校验码包括获取一个空闲块;判断空闲块是否携带坏块标记;如果是,返回获取一个空闲块的步骤;否则,以空闲块作为目标块,向目标块中写入目标数据和目标数据对应的普通校验强度的校验码;比较目标数据与目标块中存储的目标数据,获取目标块中存储的目

5、标数据中发生翻转的位的数量包括从目标块中读取存储的目标数据,比较目标数据与目标块中存储的目标数据,统计目标块中存储的目标数据中发生翻转的位的数量。本发明的另一个方面是提供一种检测存储设备坏块的方法,包括当目标块携带准坏块标记时,从目标块中读取目标 数据和目标数据对应的高级校验强度的校验码,根据高级校验强度的校验码,采用高级校验强度的纠正算法纠正目标块中存储的目标数据;当目标块未携带准坏块标记并且未携带坏块标记时,从目标块中读取目标数据和目标数据对应的普通校验强度的校验码,根据普通校验强度的校验码,采用普通校验强度的纠正算法纠正目标块中存储的目标数据。如上所述的方法,其中,采用普通校验强度的纠正

6、算法纠正目标块中存储的目标数据之后,还包括根据从目标块中读取的目标数据和目标数据对应的普通校验强度的校验码,获取目标块中存储的目标数据中发生翻转的位的数量;当目标块中存储的目标数据中发生翻转的位的数量大于或等于预设的第一校验水线时,为目标块添加准坏块标记,生成目标数据对应的高级校验强度的校验码并采用高级校验强度的校验码更新目标块中写入的普通校验强度的校验码,向文件系统返回采用普通校验强度的纠正算法纠正的目标块中存储的目标数据;当目标块中存储的目标数据中发生翻转的位的数量小于第一校验水线时,向文件系统返回采用普通校验强度的纠正算法纠正的目标块中存储的目标数据。如上所述的方法,其中,采用高级校验强

7、度的纠正算法纠正目标块中存储的目标数据之后,还包括根据从目标块中读取的目标数据和目标数据对应的高级校验强度的校验码,获取目标块中存储的目标数据中发生翻转的位的数量;当目标块中存储的目标数据中发生翻转的位的数量大于或等于预设的第二校验水线时,为目标块添加坏块标记,向目标块的下一个空闲块中写入并向文件系统返回采用最高校验强度纠正的目标块中存储的目标数据,;当目标块中存储的目标数据中发生翻转的位的数量小于预设的第二校验水线时,向文件系统返回采用最高校验强度纠正的目标块中存储的目标数据。本发明的又一个方面是提供一种检测存储设备坏块的装置,包括写入单元,用于向目标块中写入目标数据和目标数据对应的校验码;

8、比较单元,用于比较目标数据与目标块中存储的目标数据,获取目标块中存储的目标数据中发生翻转的位的数量;标记单元,用于当目标块中存储的目标数据中发生翻转的位的数量大于或等于预设的第一校验水线并小于预设的第二校验水线时,为目标块添加准坏块标记,生成目标数据对应的高级校验强度的校验码并采用高级校验强度的校验码更新目标块中写入的普通校验强度的校验码,当目标块中存储的目标数据中发生翻转的位的数量大于或等于第二校验水线时,为目标块添加坏块标记。如上所述的装置,其中,写入单元具体用于获取一个空闲块,判断空闲块是否携带坏块标记,如果是,再次获取一个空闲块,否则,以空闲块作为目标块,向目标块中写入目标数据和目标数

9、据对应的普通校验强度的校验码;比较单元具体用于从目标块中读取存储的目标数据,比较目标数据与目标块中存储的目标数据,统计目标块中存储的目标数据中发生翻转的位的数量。本发明的再一个方面是提供一种检测存储设备坏块的装置,包括读取单元,用于当目标块携带准坏块标记时,从目标块中读取目标数据和目标数据对应的高级校验强度的校验码,当目标块未携带准坏块标记并且未携带坏块标记时,从目标块中读取目标数据和目标数据对应的普通校验强度的校验码; 校验单元,用于在目标块携带准坏块标记时,根据高级校验强度的校验码,采用高级校验强度的纠正算法纠正目标块中存储的目标数据,并用于在目标块未携带准坏块标记并且未携带坏块标记时,根

10、据普通校验强度的校验码,采用普通校验强度的纠正算法纠正目标块中存储的目标数据。如上所述的装置,其中,还包括比较单元,用于在目标块未携带准坏块标记并且未携带坏块标记时,根据从目标块中读取目标数据和目标数据对应的普通校验强度的校验码,获取目标块中存储的目标数据中发生翻转的位的数量;标记单元,用于在目标块中存储的目标数据中发生翻转的位的数量大于或等于预设的第一校验水线时,为目标块添加准坏块标记,生成目标数据对应的高级校验强度的校验码并采用高级校验强度的校验码更新目标块中写入的普通校验强度的校验码;收发单元,用于向文件系统返回采用普通校验强度纠正的目标块中存储的目标数据。如上所述的装置,其中,还包括比

11、较单元还用于在目标块携带准坏块标记时,根据从目标块中读取目标数据和目标数据对应的高级校验强度的校验码,获取目标块中存储的目标数据中发生翻转的位的数量;标记单元还用于在目标块中存储的目标数据中发生翻转的位的数量大于或等于预设的第二校验水线时,为目标块添加坏块标记,向目标块的下一个空闲块中写入采用最高校验强度纠正的目标块中存储的目标数据;收发单元还用于向文件系统返回采用最高校验强度纠正的目标块中存储的目标数据。由上述发明内容可见,本发明所提供的检测存储设备坏块的方法和装置,通过在系统中为Nand Flash的位翻转数量设置水线,区分出块的不同状态,并针对不同状态设置不同的数据校验强度,可保证块由正

12、常块变为坏块时期中的数据可以被正确读出,有效提高了存储设备的可靠性。图I为本发明实施例一的检测存储设备坏块的方法的流程图;图2为本发明实施例二的检测存储设备坏块的方法的流程图;图3为本发明实施例三的检测存储设备坏块的装置的结构示意图;图4为本发明实施例四的检测存储设备坏块的装置的结构示意图;图5为本发明实施例六的检测存储设备坏块的方法的流程图;图6为本发明实施例七的检测存储设备坏块的方法的流程图;图7为本发明实施例八的检测存储设备坏块的装置的结构示意图;图8为本发明实施例九的检测存储设备坏块的装置的结构示意图。具体实施例方式图I为本发明实施例一的检测存储设备坏块的方法的流程图。如图I所示,本实

13、施例的方法包括步骤101 :向目标块中写入目标数据和目标数据对应的普通校验强度的校验码。在本步骤中,具体的,写入的目标数据存放于该目标块的数据存储区;所生成的普通校验强度的校验码存储于该目标块的空闲存储区。优选地,该普通校验强度可以为芯片要求的校验强度。步骤102 比较目标数据与目标块中存储的目标数据,获取目标块中存储的目标数据中发生翻转的位的数量。具体地,可将步骤I中写入目标块中的目标数据读出,然后,与目标数据进行对比统计,得到目标块中存储的目标数据发生翻转的位的位数。步骤103 :判断目标块中存储的目标数据中发生翻转的位数是否大于或等于第二校验水线。步骤104 :若目标块中存储的目标数据中

14、发生翻转的位的数量大于或等于第二校验水线,为目标块添加坏块标记。具体地,该第二校验水线可以为芯片所要求的校验强度。例如,可设置第二校验水线为8bit/512Byte。表示若一个目标块中所存储的数据的位翻转数量超过此值,则表示该块已经是一个坏块,不能再存储数据。此时,给该块添加坏块标记。具体地,该坏块标记可以存储在闪存空闲区内。优选地,可存储在空闲区的第6个字节。若该字节内是非OxFF的值,则表示此块为坏块。步骤105 :若目标块中存储的目标数据中发生翻转的位的数量小于预设的第二校验水线时,继续判断该翻转的位数是否大于或等于第一校验水线。步骤106 :若翻转的位数大于或等于预设的第一校验水线,为

15、目标块添加准坏块标记,生成目标数据对应的高级校验强度的校验码并更新;步骤107 :若翻转的位数小于预设的第一校验水线,向文件系统返回写入成功消肩、O在该步骤中,具体地,第一校验水线的值可以为一个低于第二校验水线且接近第二校验水线的值,比如,可以设置为第二校验水线的值的75%,即若第二校验水线的值为8bit/512Byte,则第一校验水线的值就为6bit/512Byte。第一校验水线表示一个块已经接近坏块了,还可以存储数据,但是需要对数据进行加强保护。当目标块中存储的目标数据中发生翻转的位的数量大于或等于预设的第一校验水线并小于预设的第二校验水线时,可以为此目标块添加准坏块标记,具体地,该准坏块

16、标记可以存储在闪存空闲区内,且优选地,可以存储在存储坏块标记的位置的后面。同时,生成目标数据对应的高级校验强度的校验码并采用高级校验强度的校验码更新目标块中写入的普通校验强度的校验码。当目标块为准坏块时,需对该准坏块进行加强保护,即要提高其校验强度。该提高的校验强度即为高级校验强度。该高级校验强度的校验强度略高于普通校验强度,以保证当目标块中的位翻转数量刚超过第二校验水线时,还可以将数据完全纠正过来。具体地,可以设置该高级校验强度为普通校验强度的125%。如,普通校验强度可以设为8bit/512Byte,则高级校验强度可以为10bit/512Byte。在本发明实施例一中,通过在系统中为写入数据的位翻转数量设置水线,区分出块的不同状态,并针对不同状态设置不同的数据校验强度,可保证块由正常块变为坏块时期中的数据可以被正确读出,有效提高了存储设备的可靠性。图2为本发明实施例二的检测存储设备坏块的方法的流程图。如图2所示,该方法可以包括步骤201 :获取一个空闲块。具体地,在有待写入数据时,文件系统会首先查找Nand闪存中的空闲块,然后选

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号