CN105405462B - NAND Flash存储***高磨损区域数据预加重方法 - Google Patents
NAND Flash存储***高磨损区域数据预加重方法 Download PDFInfo
- Publication number
- CN105405462B CN105405462B CN201510866902.8A CN201510866902A CN105405462B CN 105405462 B CN105405462 B CN 105405462B CN 201510866902 A CN201510866902 A CN 201510866902A CN 105405462 B CN105405462 B CN 105405462B
- Authority
- CN
- China
- Prior art keywords
- data
- block
- nand flash
- data block
- flash storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000014759 maintenance of location Effects 0.000 claims abstract description 20
- 238000005259 measurement Methods 0.000 claims description 6
- 241001269238 Data Species 0.000 claims description 5
- 238000007667 floating Methods 0.000 abstract description 91
- 238000002347 injection Methods 0.000 description 20
- 239000007924 injection Substances 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000001939 inductive effect Effects 0.000 description 3
- 238000005299 abrasion Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000005713 exacerbation Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 244000131316 Panax pseudoginseng Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 210000003733 optic disk Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种NAND Flash存储***高磨损区域数据预加重方法,该方法包括以下步骤:在NAND Flash存储器写入数据之后,判断写入数据所在数据块是否被写满;如果数据块已经被写满,查询该数据块的磨损程度信息;根据磨损程度信息判断该数据块是否属于高磨损块;如果数据块属于高磨损块,则对该数据块进行数据预加重。本发明的NAND Flash存储***高磨损区域数据预加重方法,可以减少高磨损区域存储单元数据保持期间由浮栅电荷损失所诱发的数据保持错误数量,提高数据保存可靠性。
Description
技术领域
本发明属于数据存储技术领域,尤其涉及一种NAND Flash存储***高磨损区域数据预加重方法。
背景技术
NAND FLASH存储器得益于其高吞吐、低耗电、耐震、稳定性高、耐低温、发热量小、工作噪音低等众多优势,在手机、数码相机、U盘、MP3,平板电脑、个人电脑、高性能计算机、军工产业等领域拥有广阔的市场前景。
为满足市场对NAND Flash存储器容量日益增长的迫切需求,NAND FLASH存储器呈现出工艺尺寸不断缩小以及MLC(Multi-Level Cell,多电平存储单元)技术广泛运用两大发展趋势。然而在有效提升存储容量,降低单位比特数据存储成本的同时,NAND FLASH同样面临愈发严重的可靠性问题。
在构造方面,NAND FLASH存储器是基于浮栅电荷存储实现数据的保存,如图1(a)所示。然而,在数据保存期间,NAND Flash存储器的浮栅电荷泄漏导致浮栅电荷数量减少,如图1(b)所示,浮栅电荷的丢失将会导致数据错误产生。随着NAND FLASH工艺尺寸不断缩小,NAND Flash存储器的存储单元浮栅结构的几何尺寸不断缩小,导致浮栅电荷存储数量的降低,与此同时,MLC技术的运用使得数据对浮栅电荷数量的变化更加敏感,从而导致数据保持误码率的迅速增加。
NAND FLASH存储器浮栅电荷的丢失速率与其存储单元所经受的编程/擦除次数有密切关联。在对NAND Flash存储器单元进行编程/擦除操作过程中,施加于存储单元隧穿氧化层上的强电场将会诱发氧化层缺陷的产生,从而造成隧穿氧化层绝缘性能下降,从而使浮栅电荷的逃逸几率增加。在NAND Flash存储器的高磨损区域,存储单元隧穿氧化层缺陷不断积累,使数据保存期间浮栅电荷数量迅速下降,从而引发严重的数据保持错误。
随着NAND Flash存储器工艺尺寸不断缩小以及MLC技术的广泛运用,高磨损区域中过高的数据保持错误率已经成为制约NAND FLASH数据可靠性的关键因素。如图2所示为一款典型的商用MLC NAND FLASH存储器的数据保持误码率与存储器所经历的编程/擦除次数以及数据存储时间的变化趋势的曲线示意图。在数据保存期间,NAND Flash存储器数据保持错误随存储单元编程/擦除次数以及数据的存储时间的增加而迅速升高,而存储单元的磨损程度对数据保持错误率具有显著影响。如图2所示,在经历4年的数据保存时间后,经历过6000次编程/擦除的NAND Flash存储器,其数据保持错误率是经历3000次编程/擦除情况下的7倍。可见,高磨损区域中过高的数据保持错误率已经成为制约NAND FLASH数据可靠性的关键因素。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明需要提出一种NAND Flash存储***高磨损区域数据预加重方法,该方法可以减少高磨损区域存储单元数据保持期间由浮栅电荷损失所诱发的数据保持错误数量,提高数据保存可靠性。
为了解决上述问题,本发明实施例提出一种NAND Flash存储***高磨损区域数据预加重方法,该方法包括以下步骤:在NAND Flash存储器写入数据之后,判断写入数据所在数据块是否被写满;如果所述数据块已经被写满,查询所述数据块的磨损程度信息;根据所述磨损程度信息判断所述数据块是否属于高磨损块;如果所述数据块属于所述高磨损块,则对所述数据块进行数据预加重。
根据本发明实施例的NAND Flash存储***高磨损区域数据预加重方法,在数据写入之后,通过对高磨损区域的数据块进行数据预加重处理,可以对NAND Flash存储器的高磨损区域进行浮栅电荷预补偿,从而显著减少高磨损区域存储单元数据保存期间由于浮栅电荷损失所诱发的数据保持错误率,提高NAND Flash存储器存储数据的可靠性。
进一步地,所述磨损程度信息通过以下方式中的任意一种方式获得:通过对所述数据块所经历的编程/擦除次数计数建立;或者向所述数据块写入已知数据,通过对数据错误率的测定获得;或者在经历已知保持时间之后,通过对所述数据块的数据错误率的测定获得。
具体地,通过以下任意一种方法对属于高磨损块的数据块进行数据预加重:通过读取-重写的方法对所述数据块进行数据预加重;通过数据页刷新的方法对所述数据块进行数据预加重;通过字线编程串扰的方法对所述数据块进行数据预加重;通过读串扰的方法对所述数据块进行数据预加重。
其中,所述NAND Flash存储器为MLC NAND Flash存储器,通过读取-重写的方法对所述数据块进行数据预加重,具体包括:S10,读取所述数据块中的所有LSB(LeastSignificant Bit,LSB,最低有效比特)页数据;S11,将所述LSB页数据回写至所述数据块中相对应的LSB数据页中,其中,在所述LSB页数据回写时,诱发所述NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重;以及重复步骤S10-S11,直至达到第一预设次数。
其中,所述NAND Flash存储器为SLC(Single-Level Cell,单电平存储单元)NANDFlash存储器,通过读取-重写的方法对所述数据块进行数据预加重,具体包括:S12,读取所述数据块中的所有的页数据;S13,将所述页数据回写至所述数据块中相对应的数据页中,其中,在所述页数据回写时,诱发所述NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重;以及重复步骤S12-S13,直至达到第二预设次数。
具体地,其中,所述NAND Flash存储器为MLC NAND Flash存储器,通过数据页刷新的方法对所述数据块进行数据预加重,具体包括:读取所述被标记的数据块中的所有LSB页数据;对所述LSB页数据进行ECC(Error Correcting Code,错误检查和纠正码)解码;如果ECC解码成功,将所述LSB页数据回写至所述数据块中相对应的LSB数据页中,且重复回写操作,直至回写次数达到第三预设次数。
其中,所述NAND Flash存储器为SLC NAND Flash存储器,通过数据页刷新的方法对所述数据块进行数据预加重,具体包括:读取所述数据块中的所有页数据;对所述页数据进行ECC解码;如果ECC解码成功,将所述页数据回写至所述数据块中相对应的数据页中,且重复回写操作,直至回写次数达到第四预设次数。
具体地,其中,所述NAND Flash存储器为MLC NAND Flash存储器,通过字线编程串扰的方法对所述数据块进行数据预加重,具体包括:对所述数据块中的所有LSB数据页依次写入全‘1’数据,其中,在所述LSB页操作时,诱发所述NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重;以及,重复写入操作,直至写入次数达到第五预设次数。。
其中,所述NAND Flash存储器为SLC NAND Flash存储器,通过字线编程串扰的方法对所述数据块进行数据预加重,具体包括:对所述数据块中的所有数据页依次写入全‘1’数据,其中,在所述页操作时,诱发所述NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重;以及,重复写入操作,直至写入次数达到第六预设次数。
具体地,通过读串扰的方法对所述数据块进行数据预加重,具体包括:对所述数据块中的所有数据页依次进行读取操作,其中,在所述读取操作时,诱发所述NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重;以及,重复读取操作,直至读取次数达到第七预设次数。
附图说明
图1中(a)和(b)是相关技术中NAND Flash存储器的浮栅电荷数量变化示意图;
图2是相关技术中NAND Flash存储器中数据保持错误率随存储单元编程/擦除次数与存储时间变化趋势的曲线示意图;
图3是根据本发明的一个实施例的NAND Flash存储***高磨损区域数据预加重方法的流程图;
图4是根据本发明的一个具体实施例的NAND Flash存储***高磨损区域数据预加重方法的流程图;
图5中的(a)、(b)和(c)是根据本发明的一个具体实施例的对高磨损区域数据块进行预加重处理的对比效果示意图;
图6是根据本发明的一个实施例的对于MLC NAND Flash存储器采用读取-重写的方法对高磨损区域的数据块进行数据预加重的流程图;
图7是根据本发明的一个实施例的对于SLC NAND Flash存储器采用读取-重写的方法对高磨损区域的数据块进行数据预加重的流程图;
图8中(a)、(b)和(c)是根据本发明的一个具体实施例的在MLC NAND FLASH存储器运用过程中在LSB页数据被回写时器件阵列的电压偏置示意图;
图9中的(a)和(b)是根据本发明的另一个具体实施例的MLC NAND FLASH存储器的LSB和MSB编程算法的示意图;
图10是根据本发明的一个实施例的对于MLC NAND Flash存储器采用数据页刷新的方法对属于高磨损块的数据块进行数据预加重的流程图;
图11是根据本发明的再一个实施例的对于SLC NAND Flash存储器采用数据页刷新的方法对属于高磨损块的数据块进行数据预加重的流程图;
图12是根据本发明的又一个实施例的对于MLC NAND Flash存储器通过字线编程串扰的方法对属于高磨损块的数据块进行数据预加重的流程图;
图13中的(a)和(b)是根据本发明的又一个实施例的采用字线编程串扰的方法对属于高磨损块的数据块进行数据预加重的器件阵列的电压偏置和浮栅电荷注入示意图;
图14是根据本发明的又一个实施例的对于SLC NAND Flash存储器通过字线编程串扰的方法对属于高磨损块的数据块进行数据预加重的流程图;
图15是根据本发明的再一个具体实施例的采用字线编程串扰方法进行数据预加重之后在不同预加重强度N的情况下的保持错误率对比示意图;
图16是根据本发明的又一个具体实施例的采用读串扰的方法对属于高磨损块的数据块进行数据预加重的流程图;以及
图17中的(a)和(b)是根据本发明的又一个实施例的通过读串扰的方法对属于高磨损块的数据块进行数据预加重的器件阵列的电压偏置示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
本申请发明人考虑到,由于NAND Flash存储器数据保持错误问题起因于浮栅电荷在数据保存期间的丢失,所以针对NAND Flash存储器高磨损区域数据保持可靠性显著退化的问题,本发明实施例通过对存储器高磨损区域进行浮栅电荷预补偿以增加其浮栅电荷数量,实现高磨损区域数据预加重,可以有效降低数据对浮栅电荷丢失数量的敏感性,显著减少高磨损区域存储单元数据保持期间由浮栅电荷损失所诱发的数据保持错误数量,有效提升NAND Flash存储器存储数据可靠性。
下面参照附图描述根据本发明实施例提出的NAND Flash存储***高磨损区域数据预加重方法。
图3是根据本发明的一个实施例的NAND Flash存储***高磨损区域数据预加重方法的流程图,如图3所示,该方法包括以下步骤:
S1,在NAND Flash存储器写入数据之后,判断写入数据所在数据块是否被写满。
S2,如果数据块已经被写满,查询该数据块的磨损程度信息。
需要说明的是,由于在NAND Flash存储器中,擦除操作以块为单位,所以同一块中的存储单元具有相同的编程/擦写次数,使得相同块中存储单元的保持可靠性相近,所以本发明实施例的方法以块为单位进行。
具体地,磨损程度信息可以通过以下方式中的任意一种方式获得:
通过对数据块所经历的编程/擦除次数计数建立,由于NAND Flash存储器的浮栅电荷的丢失速率与其存储单元所经历的编程/擦写次数关联,所以通过判断数据块经历的编程/擦写次数可以判断其磨损情况。其中,编程/擦写次数计数可以记录于闪存映射层(FTL,Flash translation layer),尤其是静态磨损均衡模块中。
或者,向数据块写入已知数据,通过对数据错误率的测定获得。
或者,在经历已知保持时间之后,通过对数据块的数据错误率的测定获得。
S3,根据磨损程度信息判断数据块是否属于高磨损块。
例如,当数据块经历的编程/擦除次数达到预设次数时,即判断该数据块为高磨损块;再例如。如果数据错误率达到预设值,则判断该数据块为高磨损块。
S4,如果数据块属于高磨损块,则对数据块进行数据预加重。
由于高磨损区域数据块的数据保持特性下降,所以针对该类块进行数据预加重,而对于非高磨损块,由于其本身数据保持能力较强,可以不进行数据预加重。
总之,在数据写入之后,对数据所在块进行判定,如果该块已经写满,并且已经属于高磨损区域,则对该数据块进行浮栅电荷预补充,实现高磨损区域数据预加重。
图4是根据本发明的一个具体实施例的NAND Flash存储***高磨损区域数据预加重方法的流程图,如图4所示,该方法包括以下步骤:
S100,进行数据访问/写入,数据写入j,触发数据预加重算法。
S110,判断写入数据所在数据块是否已被写满,如果是,则进入步骤S120,否则进入步骤S150。
S120,查询该数据块的磨损程度信息。
S130,判断该数据块是否属于高磨损区域,如果是,则进入步骤S140,否则进入步骤S150。
S140,对该数据块进行数据预加重操作。
S150,退出预加重算法。
根据本发明实施例的NAND Flash存储***高磨损区域数据预加重方法,在数据写入之后,通过对高磨损区域的数据块进行数据预加重处理,可以对NAND Flash存储器的高磨损区域进行浮栅电荷预补偿,从而显著减少高磨损区域存储单元数据保存期间由于浮栅电荷损失所诱发的数据保持错误率,提高NAND Flash存储器存储数据的可靠性。
如图5所示,为根据本发明的一个具体实施例的对高磨损区域数据块进行预加重处理的对比效果示意图,其中,图5(a)为编程之后浮栅电荷数量示意图;图5(b)为高磨损区域数据块进行预加重处理之后浮栅电荷数量上升的示意图;图5(c)为经过数据预加重处理之后浮栅电荷丢失数量的示意图,降低了数据错误率。
下面对NAND Flash存储***高磨损区域数据预加重处理的过程进行进一步详细说明。
具体地,可以通过以下任意一种方法对属于高磨损块的数据块进行数据预加重:通过读取-重写的方法对数据块进行数据预加重;或者,通过数据页刷新的方法对数据块进行数据预加重;或者,通过字线编程串扰的方法对数据块进行数据预加重;或者,通过读串扰的方法对数据块进行数据预加重。下面在实施例中对上述几种数据加重方法进行说明。
实施例1,采用读取-重写的方法对高磨损区域的数据块进行数据预加重。
其中,对于MLC NAND Flash存储器,如图6所示,进行数据预加重具体包括:
S10,读取数据块中的所有LSB页数据,即将需要数据预加重块(Block)中的所有LSB页依次读出。
S11,将LSB页数据回写至该数据块中相对应的LSB数据页中,其中,在LSB页数据回写时,诱发NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重。
具体地,例如,在回写时,施加于NAND Flash存储器的单元浮栅中高电平。在回写过程中,NAND Flash存储器期间阵列具有不同LSB数据的存储单元电压偏置,在回写过程中施加于单元浮栅中的高电平会诱发浮栅电荷再注入,从而对存储器高磨损区域进行浮栅电荷预补偿,实现高磨损区域数据预加重。重复步骤S10-S11,直至达到第一预设次数,例如重复N次,以达到更加明显的浮栅电荷补偿。
对于SLC NAND Flash存储器,如图7所示,进行数据预加重具体包括:
S12,读取被标记的数据块中的所有的页数据,可以看出,不同于MLC NAND Flash存储器中仅仅对LSB数据页进行操作,而对于SLC NAND Flash存储器没有LSB/MSB数据页的划分,所以对于SLC NAND Flash存储器中对所有的数据页进行操作。
S13,将页数据回写至该数据块中相对应的数据页中,其中,在页数据回写时,诱发NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重。例如,在回写时,施加于NANDFlash存储器的单元浮栅中高电平。并重复步骤S12-S13,直至达到第二预设次数,例如重复N1次,以达到更加显著的浮栅电荷补偿。
为了更好地理解浮栅电荷预补偿机理,下面对NAND FLASH存储器编程算法进行阐述。
其中,在MLC NAND FLASH存储器中,每个存储单元中包含多个比特信息,多个比特分阶段写入存储单元。
首先,进行LSB编程,写入的比特LSB,在此阶段,根据具体LSB数据,存储单元阈值电压被划分至两个不同窗口。如果LSB写入1,则存储单元处于编程禁止态,如果LSB写入0,则存储单元处于编程态
在LSB编程后,当进行MSB(Most Significant Bit,最高有效比特)数据写入时,存储器进一步将存储单元阈值电压由两个电压窗口划分至四个电压窗口。
编程过程中存储单元阈值电压的移动通过对存储单元进行浮栅电荷注入实现,浮栅电荷注入分多个阶段实现,每个阶段所注入的电荷量很少,以防止阈值电压的移动过快。每次浮栅电荷注入阶段完成,存储器进行存储单元阈值电压校验,当阈值电压低于预设参考电压(Vref)时,继续进行下一阶段浮栅电荷注入,否则,停止编程算法。
对于SLC NAND FLASH存储器,由于存储单元中仅仅有一个比特,所以仅仅实施上文中所述LSB编程阶段。
通过页回写实现浮栅电荷预补偿的操作机理可以通过图8解释。MLC NAND FLASH存储器保持错误恢复采用LSB页回写实现。具体地,如图8所示为根据本发明在的一个实施例的在MLC NAND FLASH存储器运用过程中,在LSB页数据被回写过程中器件阵列的电压偏置示意图。
参照图8中的(a)、(b)和(c)所示,在过程中,算法首先读取选中字线上存储单元LSB数据,并将数据回写。如果LSB数据为1,则由图9所示的LSB编程算法可知,该存储单元处于编程禁止态。如果LSB数据为0,该存储单元处于编程态。对于处于编程禁止态的存储单元,其单元偏置状态如图所示,虽然其所施加的电压较低,不能够引发显著的浮栅电荷注入,然而,由于存储单元依旧存在典型值为12V的高压,所以轻微的浮栅电荷注入现象不可避免,从而实现存储单元浮栅电荷预补偿。
而对于处于编程状态的存储单元,虽然施加的电压较高,但是由于存储单元的LSB已经处于0,所以存储单元的阈值电压已经超过了相应预设参考电压(Vref),所以在进行第一阶段浮栅电荷注入后算法停止,防止浮栅电荷的过注入,同时,第一阶段已经实施的浮栅电荷注入成功进行了浮栅电荷预补偿。
所以,通过LSB回写操作,所有单元均得到了轻微的浮栅电荷注入从而实现了浮栅电荷预补偿,同时避免了浮栅电荷过注入造成数据破坏。
实施例2,通过数据页刷新的方法对属于高磨损块的数据块进行数据预加重。NANDFlash存储器在写入过程中可能产生数据错误,为了防止此错误在数据加重过程中被扩大,可以首先对其通过ECC解码获取正确数据,并依照正确数据进行数据回写,从而实现数据加重。
其中,对于MLC NAND Flash存储器,如图10所示,通过页刷新的方法进行数据加重具体包括:
S20,读取属于高磨损块的数据块中的所有LSB页数据。
S21,对LSB页数据进行ECC解码。
S22,判断ECC解码是否成功,如果成功,则进入步骤S23,否则进入步骤S24。
S23,将LSB页数据回写至该数据块中相对应的LSB数据页中,且重复回写操作,直至回写次数达到第三预设次数,例如,重复N2次,以达到更加显著的浮栅电荷补偿效果。
S24,算法失败,数据丢失。
对于SLC NAND Flash存储器,如图11所示,通过页刷新的方法进行数据加重具体包括:
S25,读取属于高磨损块的数据块中的所有页数据。
S26,对页数据进行ECC解码。
S27,判断ECC解码是否成功,如果ECC解码成功,进入步骤S28,否则进入步骤S29。
S28,将页数据回写至该数据块中相对应的数据页中,且重复回写操作,直至回写次数达到第四预设次数,例如,重复N3次,以达到更加明显的浮栅电荷补偿效果。
S29,算法失败,数据丢失。
实施例3,通过字线编程串扰的方法对属于高磨损块的数据块进行数据预加重。
其中,对于MLC NAND Flash存储器,如图12所示,字线编程串扰数据加重具体包括:
S30,对属于高磨损块的数据块中的所有LSB数据页依次写入全‘1’数据,对于MLCNAND Flash存储器,对LSB数据页写入“1”将使得存储单元处于编程抑制状态,其中,在LSB页操作时,诱发NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿。例如,NANDFlash存储器的存储单元的控制栅与沟道之间施以高电平,其电压偏置如图13中(a)所示,处于编程抑制状态中的存储单元不会产生显著的浮栅电荷注入,然而,存储单元控制栅与沟道之间的高电压将会诱使轻微的浮栅电荷注入现象如图13(b)所示,该现象即称为字线编程串扰。通过字线编程串扰可以对高磨损区域进行浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,实现高磨损区域数据预加重。为了达到更加显著的浮栅电荷补偿效果,可以重复上述写入操作,直至写入次数达到第五预设次数,例如,重复N4次。
对于SLC NAND Flash存储器,如图14所示,字线编程串扰数据加重具体包括:
S31,对属于高磨损块的数据块中的所有数据页依次写入全‘1’数据,其中,在页操作时,诱发NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重,例如,NAND Flash存储器的存储单元的控制栅与沟道之间施以高电平。不同于MLC NAND Flash存储器中仅仅对LSB数据进行操作,对于SLC NAND Flash存储器中对所有的数据页进行操作。
进一步地,为了达到更加显著的浮栅电荷补偿效果,可以重复上述写入操作,直至写入次数达到第六预设次数,,例如,重复N5次。
如图15所示,为根据本发明的一个具体实施例的采用字线编程串扰方法进行数据预加重之后,对于编程/擦除次数为3000,在不同预加重强度N的情况下的保持错误率对比示意图,如图所示,当选取预加重程度N为80次时,经过4年的保存时间,相较于不采用数据分步加重的情况,其数据错误率降低67%,可见,通过预加重可以有效降低高磨损数据块的数据错误率。
实施例4,通过读串扰的方法对属于高磨损块的数据块进行数据预加重。
具体地,如图16所示,包括:S40,对属于高磨损块的数据块中的所有数据页依次进行读取操作,其中,在读取操作时,诱发NAND FLASH存储器的浮栅电荷注入以实现浮栅电荷预补偿,降低保存期间数据对存储单元浮栅电荷损失的敏感性,从而实现高磨损区域数据预加重,例如,在进行读取操作时,在NAND Flash存储器的存储单元的控制栅与沟道之间施以高电压,器件阵列的电压偏置如图17(a)和(b)所示,在读取操作过程中,施加于存储单元控制栅与沟道之间的高电压将会诱使轻微的浮栅电荷注入,该现象称为读串扰,通过读串扰可以对高磨损区域进行浮栅电荷预补偿,从而实现对高磨损区域数据预加重操作。
进一步地,为了达到更加显著的浮栅电荷补偿效果,可以重复上述读取操作,直至读取次数达到第七预设次数例如进行N6次读取操作。
需要说明的是,在以上实现过程中,操作重复次数例如N、N1、N2、N3、N4、N5、N6需要被优化,以防止浮栅电荷的过度注入造成数据过编程错误的大量产生。再就是,针对不同磨损程度的数据块,操作重复次数N可以相同或者不同,一般情况下,由于高磨损块中电荷丢失速率增大,应当适当增加操作重复次数N。
在本说明书的描述中,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (2)
1.一种NAND Flash存储***高磨损区域数据预加重方法,其特征在于,包括以下步骤:
在NAND Flash存储器写入数据之后,判断写入数据所在数据块是否被写满;
如果所述数据块已经被写满,查询所述数据块的磨损程度信息;
根据所述磨损程度信息判断所述数据块是否属于高磨损块;
如果所述数据块属于所述高磨损块,则对所述数据块进行数据预加重;
其中,所述的数据预加重方法,通过以下方法对属于高磨损块的数据块进行数据预加重:
通过数据页刷新的方法对所述数据块进行数据预加重;
其中,所述NAND Flash存储器为MLC NAND Flash存储器时,通过数据页刷新的方法对所述数据块进行数据预加重,具体包括:
读取所述高磨损块的数据块中的所有LSB页数据;
对所述LSB页数据进行ECC解码;
如果ECC解码成功,将所述LSB页数据回写至所述数据块中相对应的LSB数据页中,且重复回写操作,直至回写次数达到第三预设次数;
所述NAND Flash存储器为SLC NAND Flash存储器时,通过数据页刷新的方法对所述数据块进行数据预加重,具体包括:
读取所述数据块中的所有页数据;
对所述页数据进行ECC解码;
如果ECC解码成功,将所述页数据回写至所述数据块中相对应的数据页中,且重复回写操作,直至回写次数达到第四预设次数。
2.如权利要求1所述的NAND Flash存储***高磨损区域数据预加重方法,其特征在于,所述磨损程度信息通过以下方式中的任意一种方式获得:
通过对所述数据块所经历的编程/擦除次数计数建立;或者
向所述数据块写入已知数据,通过对数据错误率的测定获得;或者
在经历已知保持时间之后,通过对所述数据块的数据错误率的测定获得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510866902.8A CN105405462B (zh) | 2015-12-01 | 2015-12-01 | NAND Flash存储***高磨损区域数据预加重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510866902.8A CN105405462B (zh) | 2015-12-01 | 2015-12-01 | NAND Flash存储***高磨损区域数据预加重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105405462A CN105405462A (zh) | 2016-03-16 |
CN105405462B true CN105405462B (zh) | 2019-10-29 |
Family
ID=55470899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510866902.8A Active CN105405462B (zh) | 2015-12-01 | 2015-12-01 | NAND Flash存储***高磨损区域数据预加重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105405462B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4049275A4 (en) * | 2020-02-13 | 2023-11-15 | SanDisk Technologies LLC | REFRESH OPERATIONS FOR DEDICATED GROUPS OF MEMORY CELL BLOCKS |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106992027B (zh) * | 2017-04-14 | 2020-05-19 | 苏州浪潮智能科技有限公司 | 一种模拟Nand坏块的动态注入方法 |
CN107480012A (zh) * | 2017-08-28 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种固态硬盘的数据恢复方法及数据恢复*** |
TWI695386B (zh) * | 2018-07-17 | 2020-06-01 | 旺宏電子股份有限公司 | 半導體電路及其操作方法 |
CN111124942A (zh) * | 2019-10-31 | 2020-05-08 | 江苏华存电子科技有限公司 | 一种有效平均闪存块擦除次数的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221813A (zh) * | 2006-10-20 | 2008-07-16 | 三星电子株式会社 | 闪存设备中恢复数据的方法和相关闪存设备存储*** |
CN103631529A (zh) * | 2012-08-21 | 2014-03-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器存储装置 |
CN103871480A (zh) * | 2012-12-07 | 2014-06-18 | 群联电子股份有限公司 | 存储器修复方法、存储器控制器与存储器储存装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI479489B (zh) * | 2012-08-13 | 2015-04-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
-
2015
- 2015-12-01 CN CN201510866902.8A patent/CN105405462B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221813A (zh) * | 2006-10-20 | 2008-07-16 | 三星电子株式会社 | 闪存设备中恢复数据的方法和相关闪存设备存储*** |
CN103631529A (zh) * | 2012-08-21 | 2014-03-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器存储装置 |
CN103871480A (zh) * | 2012-12-07 | 2014-06-18 | 群联电子股份有限公司 | 存储器修复方法、存储器控制器与存储器储存装置 |
Non-Patent Citations (1)
Title |
---|
Data pre-emphasis based retention reliability enhance scheme for MLC NAND flash memories;Ma Haozhi等;《2015 IEEE11th International Conference on ASIC》;20151106;第1-4页 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4049275A4 (en) * | 2020-02-13 | 2023-11-15 | SanDisk Technologies LLC | REFRESH OPERATIONS FOR DEDICATED GROUPS OF MEMORY CELL BLOCKS |
Also Published As
Publication number | Publication date |
---|---|
CN105405462A (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105405462B (zh) | NAND Flash存储***高磨损区域数据预加重方法 | |
CN105427886B (zh) | NAND Flash存储***保存期间数据分步加重方法 | |
US9377962B2 (en) | Determining bias information for offsetting operating variations in memory cells | |
US9224456B2 (en) | Setting operating parameters for memory cells based on wordline address and cycle information | |
US8014207B2 (en) | Nonvolatile memory device and method of operating the same | |
US8792272B2 (en) | Implementing enhanced data partial-erase for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding | |
US9208871B2 (en) | Implementing enhanced data read for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding | |
CN103680637B (zh) | 具有异常字线检测器的闪存***及其异常字线检测方法 | |
CN101079322B (zh) | 多位存储装置和存储*** | |
US9036412B2 (en) | Memory device and method of determining read voltage of memory device | |
US7808831B2 (en) | Read disturb mitigation in non-volatile memory | |
TWI494931B (zh) | 記憶體之可適性抺除及軟性程式化 | |
EP2368251B1 (en) | Data refresh for non-volatile storage | |
EP2335248B1 (en) | Programming a memory device to increase data reliability | |
US7535787B2 (en) | Methods and apparatuses for refreshing non-volatile memory | |
US8004896B2 (en) | Method of controlling operation of flash memory device | |
TWI479489B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
KR20060133599A (ko) | 멀티 비트 셀 플래시 메모리 관리 방법 | |
TW200907983A (en) | Non-volatile memory device and method for reading cells | |
CN108766495B (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
US8972653B2 (en) | Memory management method, and memory controller and memory storage apparatus using the same | |
US8699266B2 (en) | Implementing enhanced data write for multi-level cell (MLC) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding | |
CN102543194A (zh) | 一种用于闪存存储器的擦除方法 | |
CN107204204A (zh) | 固态储存装置的断电期间估计方法 | |
CN105404473B (zh) | Nand flash存储器数据保持错误恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |