一种检测PairPage的方法与流程

文档序号:18600424发布日期:2019-09-03 22:35阅读:685来源:国知局
一种检测Pair Page的方法与流程
本发明涉及采用闪存颗粒作为存储介质的嵌入式存储
技术领域
,具体的说涉及一种检测pairpage的方法。
背景技术
:随着技术发展,闪存厂商为了降低闪存成本,发明了mlc(multi-levelcell)和tlc(trinary-levelcell)技术,nandflashmemory以mlc为例,mlc每一个物理cell可以存储2bit数据,闪存厂商把msb和lsb一个物理cell上的两个bit分别映射到两个不同的page上,那么lsb对应的page就是lowerpage,msb对应的page就是upperpage,一般称为sharedpages或者pairedpages,那么由于一个物理cell其实是被两个page所共享,所以问题就来了,既然一个cell中的两个bit被映射到两个不同的逻辑page中,那么如果在upperpage尚未写入数据而就去读取lowerpage的数据则有一定机率造成lowerpage数据错误,又或者在突然掉电的情况下,也可能因为其upperpage尚未写入数据的情况下造成lowerpage数据丢失,导致pairpage的不稳定,进而导致数据block的不稳定,从而导致闪存的稳定性下降。技术实现要素:针对现有技术中的不足,本发明要解决的技术问题在于提供了一种检测pairpage的方法,通过这种方法可用来筛选pairpage不稳定的块。为解决上述技术问题,本发明通过以下方案来实现:一种检测pairpage的方法,其特征在于,包括以下步骤:s1:写入数据到page0;s2:写入数据到page1,回读page0数据,并确认数据是否有错误及统计错误bit总数;s3:依序写入数据到pagem;s4:判断pagem所在的pairpage是否完全被写完,若写完,则执行步骤s5,若没写完,则执行步骤s3;s5:回读pagem所在pairpage的lowerpage至upperpage之间所有page数据并确认数据是否有错误及统计错误bit总数;s6:判断所有的page是否被写完,若写完,则执行步骤s7,若没写完,则执行s3;s7:判断所述步骤s5中错误bit总数是否超过系统预设值,若超过,则标记对应block后执行步骤s8,若未超过,则直接执行步骤s8;s8:结束。进一步的,所述步骤s3中数据从page2开始依序被写入,一直写完所有的page。进一步的,所述pairpage2个page中lowerpage先被写入数据,upperpage后被写入数据。进一步的,所述数据错误bit总数为上次回读得到的错误bit总数加上本次回读得到的错误bit数,为一个累加的总量。相对于现有技术,本发明的有益效果是:在每一次pairpage的upperpage被写完之后,系统都要回读数据来检测本身pairpage是否相互影响及upperpage尚未写入数据是否对lowerpage数据有影响,并将这种影响体现在回读数据的错误上,若回读数据错误,系统会统计总的错误bit数,可根据这种检测方法来筛选不稳定pairpage的块,进而提高闪存的稳定性。附图说明图1为本发明检测pairpage方法的流程示意图。具体实施方式下面结合附图对本发明的优选实施例进行详细阐述,以使发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。参照附图1,本发明检测pairpage的方法,包括以下步骤:s1:写入数据到page0;s2:写入数据到page1,回读page0数据,并确认数据是否有错误及统计错误bit总数;s3:依序写入数据到pagem;s4:判断pagem所在的pairpage是否完全被写完,若写完,则执行步骤s5,若没写完,则执行步骤s3;s5:回读pagem所在pairpage的lowerpage至upperpage之间所有page数据并确认数据是否有错误及统计错误bit总数;s6:判断所有的page是否被写完,若写完,则执行步骤s7,若没写完,则执行s3;s7:判断所述步骤s5中错误bit总数是否超过系统预设值,若超过,则标记对应block后执行步骤s8,若未超过,则直接执行步骤s8;s8:结束。假设一个数据block包含如下的pairpage:pairpageslowerpageupperpage1page0page22page1page43page3page64page5page85page7page106page9page12………当数据从page0写到page1时,这时候回读page0数据并确认数据是否有错及统计错误bit数(此时pairpage1的upperpage尚未写入数据),当依序写到page2时,则回读page0-1-2数据并确认数据是否有错及统计错误bit总数(此时pairpage1的lowerpage和upperpage都写入数据,pairpage2的upperpage尚未写入数据),当依序写到page4时,则回读page1-2-3-4数据并确认数据是否有错及统计错误bit总数(此时pairpage2的lowerpage和upperpage都写入数据,pairpage3的upperpage尚未写入数据),当依序写到page6时,则回读page3-4-5-6数据并确认数据是否有错及统计错误bit总数(此时pairpage3的lowerpage和upperpage都写入数据,pairpage4的upperpage尚未写入数据),当依序写到page8时,则回读page5-6-7-8数据并确认数据是否有错及统计错误bit总数(此时pairpage4的lowerpage和upperpage都写入数据,pairpage5的upperpage尚未写入数据),按照这种方法一直写入数据及回读数据,直到所有的page都被写完。回读数据时可以检测出pairpage中lowerpage和upperpage之间是否相互影响,如page4的写入后,若检测出page1数据有错,则说明本身pairpage相互影响;本发明方法还可以检测出upperpage尚未写入数据是否对lowerpage有影响,如page6写完后,由于page5已经写入了数据,而page8还为写入,此时回读数据,若检测page5数据有错,则说明upperpage尚未写入数据对lowerpage有影响。通过这种方法来检测pairpage,系统会根据检测结果来统计出数据错误的bit数,若数据错误的bit数超过了预设值,则相应的block被认定为不稳定的块,会被筛选出来。本发明通过这种方法来检测pairpage,可用来筛选不稳定的block,进而增加闪存的稳定性。以上所述仅为本发明的优选实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的
技术领域
,均同理包括在本发明的专利保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1