基于NANDflash的读错误处理方法和装置制造方法及图纸

技术编号:19098297 阅读:50 留言:0更新日期:2018-10-03 02:34
本发明专利技术实施例公开了一种基于NAND flash的读错误处理方法和装置,应用于NAND flash存储设备,所述NAND flash存储设备包括至少一个NAND flash单元,每个NAND flash单元包括至少一个数据块,每个数据块包括至少一个数据页。所述方法包括:当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。本发明专利技术实施例解决了现有技术中数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。

【技术实现步骤摘要】
基于NANDflash的读错误处理方法和装置
本专利技术实施例涉及存储器技术,尤其涉及一种基于NANDflash的读错误处理方法和装置。
技术介绍
NANDflash是Flash内存的一种,属于非易失性存储设备。NANDflash在使用过程中,一些数据块会出现读错误。针对这种问题,通常的做法是将该块标记为坏块而不再使用。但是,NANDflash的一个数据块包含很多页存储空间,一个数据块中的某一存储位置出现错误,并不意味着该数据块的其他位置不可使用,因此,若将该数据块标记为坏块则会造成存储空间的浪费。
技术实现思路
本专利技术实施例提供一种基于NANDflash的读错误处理方法和装置,以解决现有技术中数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。第一方面,本专利技术实施例提供了一种基于NANDflash的读错误处理方法,应用于NANDflash存储设备,所述NANDflash存储设备包括至少一个NANDflash单元,每个NANDflash单元包括至少一个数据块,每个数据块包括至少一个数据页,该方法包括:当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。进一步的,该方法还包括:当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。第二方面,本专利技术实施例提供了一种基于NANDflash的读错误处理装置,应用于NANDflash存储设备,所述NANDflash存储设备包括至少一个NANDflash单元,每个NANDflash单元包括至少一个数据块,每个数据块包括至少一个数据页,该装置包括:位置记录模块,用于当目标数据块发生读错误时,记录发生读错误的数据页的位置;累加判断模块,用于累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;坏块标记模块,用于当累加判断模块判断出超过所述预设阈值时,将目标数据块标记为坏块。进一步的,该装置还包括:无效数据写入模块,用于当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。本专利技术实施例通过对NANDflash存储设备中发生读错误的情况进行了处理,具体通过记录发生读错误的数据页在目标数据块的位置,并通过累加目标数据块的读错误页数来判断读错误的页数是否超过预设阈值,将读错误页数超过预设阈值的目标数据块标记为坏块,从而解决了数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。附图说明图1是本专利技术实施例一中的一种基于NANDflash的读错误处理方法的流程图;图2是本专利技术实施例二中的一种基于NANDflash的读错误处理方法的流程图;图3是本专利技术实施例三中的一种基于NANDflash的读错误处理装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1是本专利技术实施例一中提供的一种基于NANDflash的读错误处理方法的流程图。本实施例可适用于基于NANDflash的读错误处理的情况,应用于NANDflash存储设备,该方法可以由具有NANDflash的读错误处理功能的装置来执行,该装置可以采用软件和/或硬件的方式实现。该方法具体包括:S110、当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置。具体的,NANDflash内存是flash内存的一种,属于非易失性存储设备。存储设备的主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动地完成程序或数据的存取。NANDflash存储设备包括至少一个NANDflash单元,每个NANDflash单元包括至少一个数据块,每个数据块包括至少一个数据页。NANDflash存储设备容量较大,改写速度快,适用于大量数据的存储。NANDflash以页为单位对数据进行读写,以块为单位擦除数据,按照这样的组织方式可以形成三类地址:列地址(地址的低八位)、页地址和块地址,通过对三类地址的管理对数据进行处理。NANDflash内存以块为单位进行擦除操作。闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入。NANDflash在使用的过程中,将待处理的数据块作为目标数据块,对目标数据块所做的操作可以是读操作、写操作或擦除操作,其中,读操作是指对NANDflash的数据进行读取,写操作是指,将待写入数据写入到NANDflash中目标地址对应的存储位置,擦除操作是指擦除目标数据块中的数据。每个目标数据块中包括至少一个数据页,目标数据块在数据处理过程中发生读错误,可选的,读错误指的是NANDflash中的目标数据无法被正常读取,目标数据块发生读错误的原因可以是芯片的划痕等物理问题。当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置。可选的,发生读错误的数据页在目标数据中的位置可以是物理位置,如发生读错误的数据页在目标数据的第5页。S120、累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值。具体的,统计目标数据块中出现的读错误的页数,将目标数据块中读错误的页数记为L,当目标数据块中每出现一个读错误,将读错误页数加1,累加目标数据块中的读错误页数。可选的,根据用户对存储器性能和功能的要求,设定一个预设阈值N,判断目标数据中读错误的页数L是否超过预设阈值N。S130、当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。具体的,当目标数据块中读错误的页数超过一定数量时,即当判断出读错误页数L大于预设阈值N时,将目标数据块标记为坏块。若判断出读错误页数L未达到预设阈值N,则对读错误页数继续进行累加。具体的,如果读错误页数L未达到预设阈值N,继续对NANDflash存储设备中的目标数据进行读取,累加读错误页数。本专利技术实施例通过记录发生读错误的数据页在目标数据块的位置,并通过累加目标数据块的读错误页数来判断读错误的页数是否超过预设阈值,将读错误页数超过预设阈值的目标数据块标记为坏块,从而避免以整个数据块为单位记录读错误,继而解决数据块因出现读错误而被标记为坏块所造成的存储空间浪费的问题。实施例二图2是本专利技术实施例二提供的一种基于NANDflash的读错误处理方法的流程图,本实施例在上述实施例的基础上进行了优化,该方法还包括“当对目标数据块的写操作发生时,在所述位置对应的数据页中写入无效数据”。具体包括以下步骤:S210、当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置。S220、累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值。S230、当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。S240、当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。可选的,对写入的无效数据的内容不做具体限定,可以是任意写入无效数据,也可以是预先在算法中设定一个无效数据表,当需要在发生读错误的数据页中写入无效数据时,从该无效数据表中选本文档来自技高网...

【技术保护点】
1.一种基于NAND flash的读错误处理方法,应用于NAND flash存储设备,所述NAND flash存储设备包括至少一个NAND flash单元,每个NAND flash单元包括至少一个数据块,每个数据块包括至少一个数据页,其特征在于,所述方法包括:当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。

【技术特征摘要】
1.一种基于NANDflash的读错误处理方法,应用于NANDflash存储设备,所述NANDflash存储设备包括至少一个NANDflash单元,每个NANDflash单元包括至少一个数据块,每个数据块包括至少一个数据页,其特征在于,所述方法包括:当目标数据块发生读错误时,记录发生读错误的数据页在目标数据块的位置;累加目标数据块的读错误页数,判断所述读错误页数是否超过预设阈值;当判断出所述读错误页数超过所述预设阈值时,将目标数据块标记为坏块。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当对目标数据块的数据页的写操作发生时,在所述位置对应的数据页中写入无效数据。3.一种基于NANDflash...

【专利技术属性】
技术研发人员:陈诚
申请(专利权)人:北京京存技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1