一种非易失存储器的纠错方法和装置与流程

文档序号:16945591发布日期:2019-02-22 21:34阅读:165来源:国知局
一种非易失存储器的纠错方法和装置与流程

本发明涉及半导体存储器技术领域,特别是涉及一种非易失存储器的纠错方法和装置。



背景技术:

随着非易失性(在断电情况下仍能保持所存储的数据信息)存储器技术的不断发展,非易失存储器中的Nand Flash的工艺尺寸也在进一步缩小,一个存储单元(cell)中流动的电子个数越来越少,但是一个cell所存储的比特(bit)数却越来越多,从1bit/cell,到2bit/cell,再到3bit/cell,甚至到4bit/cell,使得一页中存储的数据量也在增大。

参照图1,示出了现有的Nand Flash基于页的结构示意图,Nand Flash以页为单位读写数据,而以块为单位擦除数据,页是读写操作的最小单位。随着工艺尺寸的缩小,Nand Flash存在的干扰问题越来越严重。使得存取数据过程中产生的错误也越来越多,甚至在初始读取数据时就会发现数据出错,尤其随着其寿命的增加,数据出错的概率也在增大。

为保证数据的可靠性,现有方案可以采用ECC(Error Correction Code,差错控制编码)纠错技术发现并纠正Nand Flash中的错误数据。为了保证纠错能力,现有方案通常采用足够大的ECC码来进行Nand Flash中各页(page)的纠错处理,然而,足够大的ECC码容易造成资源的冗余或浪费,且会花费更长的纠错时间。



技术实现要素:

本发明实施例所要解决的技术问题是提供一种非易失存储器的纠错方法和装置,能够防止资源冗余或浪费,从而可以提高非易失存储器的纠错效率。

为了解决上述问题,本发明公开了一种非易失存储器的纠错方法,包括:

周期性地对非易失存储器样本中页执行读、写和擦除操作;

依据所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,统计非易失存储器中页的错误数据分布规律;

依据所述页的错误数据分布规律对页进行区域划分,针对不同区域确定对应的纠错码;

利用各区域对应的纠错码,进行各区域的纠错处理。

优选地,所述依据所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,统计非易失存储器中页的错误数据分布规律,包括:

记录所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,将记录结果绘制成错误数据分布图形;

依据所述错误数据分布图形统计非易失存储器中页的错误数据分布规律。

优选地,所述周期性地对非易失存储器样本中页执行读、写和擦除操作,包括:

周期性地对非易失存储器样本中页执行读、写和擦除操作,直至所述非易失存储器样本中的所有非易失存储器耗尽寿命。

优选地,所述依据所述页的错误数据分布规律对页进行区域划分,针对不同区域确定对应的纠错码,包括:

依据所述页的错误数据分布规律将所述页划分为对应的区域;

依据各区域中对应的错误数据量确定各区域对应的纠错码。

优选地,所述非易失存储器包括Nand Flash存储器。

依据本发明的另一个方面,提供了一种非易失存储器的纠错装置,包括:

样本测试模块,用于周期性地对非易失存储器样本中页执行读、写和擦除操作;

错误统计模块,用于依据所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,统计非易失存储器中页的错误数据分布规律;

区域划分模块,用于依据所述页的错误数据分布规律对页进行区域划分,针对不同区域确定对应的纠错码;以及

纠错模块,用于利用各区域对应的纠错码,进行各区域的纠错处理。

优选地,所述错误统计模块,包括:

记录单元,用于记录所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,将记录结果绘制成错误数据分布图形;

统计单元,用于依据所述错误数据分布图形统计非易失存储器中页的错误数据分布规律。

优选地,所述样本测试模块,包括:

测试单元,用于周期性地对非易失存储器样本中页执行读、写和擦除操作,直至所述非易失存储器样本中的所有非易失存储器耗尽寿命。

优选地,所述区域划分模块,包括:

区域划分单元,用于依据所述页的错误数据分布规律将所述页划分为对应的区域;

纠错码确定单元,用于依据各区域中对应的错误数据量确定各区域对应的纠错码。

优选地,所述非易失存储器包括Nand Flash存储器。

与现有技术相比,本发明实施例包括以下优点:

本发明实施例对非易失存储器样本中的页周期性地执行读、写和擦除操作,依据此过程中错误数据出现的数目和位置,统计非易失存储器页的错误数据分布规律,依据页的错误数据分布规律将页划分为不同区域,对各区域确定对应不同的纠错码并对各区域进行纠错处理。由于对各区域确定的纠错码与区域中的错误数据分布相对应,因此,可以选择与区域中的错误数据分布相符合的纠错码,如错误数据分布较多的区域采用较大的纠错码,而错误数据分布较少的区域采用较小的纠错码等等,因此能够避免现有技术中对于一页对应全部区域都采用统一的足够大的纠错码而导致的时间、空间等资源冗余或浪费的问题,从而可以提高非易失存储器的纠错效率。

附图说明

图1示出了本发明的一种非易失存储器的纠错方法实施例一的步骤流程图;

图2示出了本发明的一种非易失存储器的纠错方法实施例二的步骤流程图;

图3示出了本发明的一种将Nand Flash样本中错误数据绘制成分布图形的示意图;

图4示出了本发明的一种页的区域划分示意图;

图5示出了示出了本发明的一种Nand Flash的纠错方法示意图;及

图6示出了本发明一种非易失存储器的纠错装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

发明人发现在Nand Flash中,错误在页中的分布并不均匀,有的区域错误比较多,而有的区域错误比较少,但是由于Nand Flash自身的结构特征,一页中的错误分布呈现一定的规律,因此,发明人创造性地提出根据统计规律得出页的错误分布规律,将页依据错误分布规律分割成不同的区域,基于不同区域单独做ECC纠错,可以使得不同区域的错误数量与ECC纠错能力相适应,能够减少资源的冗余或浪费,从而提高纠错效率。

实施例一

参照图1,示出了本发明的一种非易失存储器的纠错方法实施例一的步骤流程图,具体可以包括:

步骤101、周期性地对非易失存储器样本中页执行读、写和擦除操作;

在具体应用中,周期性地对非易失存储器样本中页执行读、写和擦除操作,即可以重复地对非易失存储器样本中每个非易失存储器的每一页执行读、写和擦除操作,可以理解的是,对于执行读、写和擦除操作的具体顺序本发明不加以限制。为了使得最终统计结果更加准确,所述样本可以包括数量尽可能多的随机选取的非易失存储器。

步骤102、依据所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,统计非易失存储器中页的错误数据分布规律;

具体地,可以在周期性地对所述非易失存储器样本中每个非易失存储器的每一页执行读-写-擦操作的过程中,记录所述样本中每个非易失存储器的每一页在读-写-擦操作过程中错误数据的数目和位置,最后对所述记录进行汇总,统计出非易失存储器中页的错误分布规律。

步骤103、依据所述页的错误数据分布规律对页进行区域划分,针对不同区域确定对应的纠错码;

由于非易失存储器的材料和工艺原因,在非易失存储器的读写使用和存放过程中很容易产生坏块,故可以使用ECC来保证数据完整性。即在非易失存储器的每一个页上用额外的存储空间来保存ECC码,当写入数据时,计算出固定长度数据段的ECC码,并更新;当数据读出时,也会读出ECC码,用来验证读取的数据是否正确,如读取数据不正确,则可以通过ECC码来校正数据。ECC能校正多少位数据与ECC算法校正强度以及ECC位数相关。一般来说,能校正数据越多,需要的ECC算法越复杂,需要存储的ECC位数也会越多。

然而,如果对于一页中的各部分都采用相同的ECC进行纠错,无疑会造成资源的冗余或浪费。发明人发现在非易失存储器中,错误在页中的分布并不均匀,有的区域错误比较多,而有的区域错误比较少,但是由于非易失存储器自身的结构特征,一页中的错误分布呈现一定的规律,因此,可以依据页的错误数据分布规律对页进行区域划分,针对不同区域确定对应的纠错码。

步骤104、利用各区域对应的纠错码,进行各区域的纠错处理。

可以为各区域选择与其错误数据相符合的纠错方案,例如对错误数据多的区域可以选择较复杂的纠错码(ECC码),对于错误数据少的区域可以选择较简单的纠错码等等,在实际应用中,本领域技术人员可以根据实际情况依据各区域中错误数据的分布规律确定对应的纠错码,可以使得最终确定的纠错方案能够更加合理地利用资源。

综上,本发明实施例对非易失存储器样本中的页周期性地执行读、写和擦除操作,依据此过程中错误数据出现的数目和位置,统计非易失存储器中页的错误数据分布规律,并依据页的错误数据分布规律将页划分为不同区域,对各区域确定对应不同的纠错码并对各区域进行纠错处理。由于对各区域确定的纠错码与区域中的错误数据分布相对应,因此,可以选择与区域中的错误数据分布相符合的纠错码,如错误数据分布较多的区域采用较大的纠错码,而错误数据分布较少的区域采用较小的纠错码等等,因此能够避免现有技术中对于一页对应全部区域都采用统一的足够大的纠错码而导致的资源冗余或浪费的问题,从而可以提高非易失存储器的纠错效率。

实施例二

参照图2,示出了本发明的一种非易失存储器的纠错方法实施例二的步骤流程图,具体可以包括:

步骤201、周期性地对非易失存储器样本中页执行读、写和擦除操作,直至所述非易失存储器样本中的所有非易失存储器耗尽寿命;

具体地,所述非易失存储器可以包括Nand Flash,或者是Nor Flash等其它非易失存储器,对此,本发明不做具体限制。为了便于说明,本发明实施例中非易失存储器统一指的是Nand Flash存储器。

在实际应用中,为了使得最终统计结果更加准确,可以选取足够多的Nand Flash作为样本,每隔一定周期针对样本中的每个Nand Flash的每一页执行读、写和擦除操作,也即可以重复地对样本中的每个Nand Flash的每一页执行读、写和擦除操作,直至样本中的Nand Flash耗尽寿命。由于一般在初始阶段错误数据会比较少,但是到了一定阶段之后错误数据会突然增加,比如随着Nand Flash寿命的增加,数据出错的概率也在增大,因此,执行读、写和擦除操作,直至样本中的Nand Flash耗尽寿命也是为了确保最终统计结果的准确性。

步骤202、记录所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,将记录结果绘制成错误数据分布图形;

具体地,可以在周期性地对样本中每个Nand Flash的每一页执行读、写和擦除操作的过程中,记录所述样本中每个Nand Flash的每一页在读、写和擦除操作过程中错误数据的数目和位置,并将其绘制在图形中,最后对所述记录进行汇总,得到最终的错误数据分布图形。

在本发明的一种应用示例中,参照图3,示出了本发明的一种将Nand Flash样本中错误数据绘制成分布图形的示意图。其中,横轴表示出错地址,即错误数据出现的位置,纵轴表示错误个数,即一页中出现错误数据的数目。本发明实施例将统计结果绘制成图形,因为图形能够直观地显示出错误数据的分布规律,从而可以保证区域划分更加精确。在具体应用中,本领域技术人员也可以采取其它统计方法来统计错误数据的分布规律。

步骤203、依据所述错误数据分布图形统计非易失存储器中页的错误数据分布规律;

具体地,从图3中可以看出,错误数据的分布具有一定的规律性,在本应用示例中,非易失存储器中页的错误数据的分布呈现出三种分布状态,一部分区域中错误数据的数目最多,一部分区域中错误数据的数目最少,还有一部分区域中错误数据的数目居中。

步骤204、依据所述页的错误数据分布规律将所述页划分为对应的区域;

具体地,依据图3中错误数据的分布规律,可以将该图划分为三段,参照图4,示出了本发明的一种页的区域划分示意图。当然,这里给出的只是一个划分的示例,在具体应用中,可以依据实际错误数据的分布情况将页划分为不同大小及不同数目的区域。

步骤205、依据各区域中对应的错误数据量确定各区域对应的纠错码;

接下来,可以依据图4中对页的区域划分针对不同区域确定对应的纠错码。假设页面容量为15k bytes,那么可以依据所述页的错误数据分布规律将此页可以分为三个区域:第一个区域以6k bytes为单位需要纠正24bits的错误数据,第二个区域以1k bytes为单位需要纠正60bits的错误数据,第三个区域以8k bytes为单位需要纠正8bits的错误数据。

如果按照现有技术进行等量纠错,则需要包含纠正错误最多的部分,即对于第一部分和第三部分都必须选择60bits/1k bytes的ECC码,然而对于第一部分和第三部分无需60bits/1k bytes的ECC纠错码,这无疑带来资源和时间的浪费,导致纠错效率低下。

参照图5,示出了本发明的一种Nand Flash的纠错方法示意图。例如,在本发明实施例中,可以取纵坐标最大的点作为ECC码。对于图4中划分的三个部分需要的ECC纠错码分别为24bits/1k bytes,60bits/1k bytes,8bits/1k bytes。此外,在具体实施时,对于错误较少的区域可以使用纠错能力一般的Hamming码(Hamming code,汉明码),而对于错误较多的区域可以使用纠错能力更强的RS码(Reed-solomon codes,里所码)或BCH(Bose、Ray-Chaudhuri、Hocquenghem,BCH)码,甚至LDPC(Low Density Parity Check Code)码。本领域技术人员可以根据实际情况针对错误数据的分布规律确定相适宜的ECC码,本发明对于具体选择哪种ECC码不加以限制。这样,依据页中不同区域对应的错误数据分布,采用相适宜的纠错码,可以配备与错误数量相符的ECC纠错引擎,防止资源和时间的浪费,进而能够提高纠错效率。

步骤206、利用各区域对应的纠错码,进行各区域的纠错处理。

综上,本发明实施例通过对非易失存储器的样本周期性地执行读、写和擦操作,统计出非易失存储器页的错误分布规律,对页依据错误分布规律进行区域划分,从而可以针对不同区域确定对应的纠错码。使得针对不同区域可以采取不同的纠错方案,即可以针对不同错误数量配备相适宜的纠错码,从而避免了所有部分均采用同样的纠错码,对于错误比较多的区域会出现超过纠错能力的情况,而对于错误比较少的区域纠错能力则戳戳有余的问题,因此,能够防止资源和时间的浪费,进而提高纠错效率。

此外,本发明实施例依据将统计结果绘制成错误数据分布图形的方法,统计非易失存储器中页的错误分布规律,图形能够直观地显示出错误数据的分布规律,从而可以保证准确地统计非易失存储器中页的错误分布规律,进而可以精确地对页进行区域划分,使得可以为不同区域确定适合的纠错码。

装置实施例

参照图6,示出了本发明一种非易失存储器的纠错装置的结构框图,具体可以包括:

样本测试模块610,用于周期性地对非易失存储器样本中页执行读、写和擦除操作;所述样本包括随机选取的多个非易失存储器;

错误统计模块620,用于依据所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,统计非易失存储器中页的错误数据分布规律;

区域划分模块630,用于依据所述页的错误数据分布规律对页进行区域划分,针对不同区域确定对应的纠错码;以及

纠错模块640,用于利用各区域对应的纠错码,进行各区域的纠错处理。

在本发明的一种优选实施例中,所述样本测试模块610,具体可以包括:

测试单元,用于周期性地对非易失存储器样本中页执行读、写和擦除操作,直至所述非易失存储器样本中的所有非易失存储器耗尽寿命。

在本发明的另一种优选实施例中,所述错误统计模块620,具体可以包括:

记录单元,用于记录所述非易失存储器样本中页在所述读、写和擦除操作过程中错误数据出现的数目和位置,将记录结果绘制成错误数据分布图形;

统计单元,用于依据所述错误数据分布图形统计非易失存储器中页的错误数据分布规律。

在本发明的又一种优选实施例中,所述区域划分模块630,具体可以包括:

区域划分单元,用于依据所述页的错误数据分布规律将所述页划分为对应的区域;

纠错码确定单元,用于依据各区域中对应的错误数据量确定各区域对应的纠错码。

在本发明的再一种优选实施例中,所述非易失存储器具体可以包括Nand Flash存储器。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种非易失存储器的纠错方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1