一种Nand Flash的编程方法技术

技术编号:15765144 阅读:148 留言:0更新日期:2017-07-06 07:15
本发明专利技术公开了一种Nand Flash的编程方法,包括:对编程页施加编程电压;当满足第1状态编程验证启动条件后启动第1状态编程验证;设置m=1,m为所述Nand Flash的编程状态序号,1≤m≤M,M=2

A programming method of Nand Flash

The invention discloses a method of programming, a Nand Flash includes applying a programming voltage for programming; when meet the state first program verify the startup conditions to start the first state programming verification; set M = 1, the number for the M programming Nand Flash, 1 = M = M, M = 2

【技术实现步骤摘要】
一种NandFlash的编程方法
本专利技术涉及存储设备硬件
,尤其涉及一种NandFlash的编程方法。
技术介绍
NandFlash是Flash内存的一种,属于非易失性存储设备(Non-volatileMemoryDevice),其内部采用非线性宏单元模式,具有容量大,改写速度快等优点,适用于大量数据的存储。广泛应用于嵌入式产品中,如数码相机、MP3随身听记忆卡、体积小巧的U盘等。在NandFlash的发展中,早期NandFlash颗粒的存储单元多为单层单元(Single-LevelCell,SLC),即一个存储单元为1bit(比特)位,此时每个存储单元存在两种状态为0和1,随着NandFlash的发展,NandFlash颗粒的存储单元逐渐演变为多层单元(Multi-LevelCell,MLC),即一个存储单元有2比特位,接着推出了三层单元(Triple-LevelCell,TLC),即一个存储单元有3比特位,甚至四层单元(Quad-LevelCell,QLC),即一个存储单元有4比特位,相对应的,NandFlash颗粒存储单元的状态也由2个变为4个、8个甚至16个。NandFlash的操作包括三部分:擦除操作、编程(写操作)以及读操作,其中以块为单位进行擦除操作,以页为单位进行编程和读操作,对于NandFlash的编程操作,其过程又分为加压编程、编程验证以及验证结果三步操作。在NandFlash存储单元由1比特位变为多比特位的情况下,图1给出了传统的NandFlash进行编程的编程方法示意图。该示意图以TLC存储单元为例,TLC存储单元具有1个擦除状态和7个编程状态,其编程状态记为P1~P7,如图1所示,传统的编程方法是在加压编程之间启动七次编程的结果验证。该方法存在的问题是:在一次加压编程后,存储单元实际上只达到了P1状态,还未达到P2,P3,P4,P5,P6,P7状态,如果此时就启动P2~P7的编程验证,就会大大浪费编程验证时间。其编程验证和扫描验证结果所用的时间就会占据整个编程过程的一半以上,严重影响编程速度。在编程操作中,由于加压编程的时间不能改变,为了提高编程操作速度,只有控制编程验证和扫描验证结果所用的时间。图2为改进后的现有编程方法的示意图,仍以TLCNandFlash为例,如图2所示,该编程方法使用参数来控制何时启动编程验证,例如,在编程验证阶段,如果没有启动P2的验证,那么只做P1的编程验证。该方法虽然减少了验证的次数,提高了编程速度,但在对存储块中的所有编程页都做一样的处理时会产生误差,导致其他问题如对峰值电流和功耗产生影响。
技术实现思路
有鉴于此,本专利技术实施例提供一种NandFlash的编程方法,以提高NandFlash内存的编程速度。本专利技术实施例提供了一种NandFlash的编程方法,包括:S101、对编程页施加编程电压,如果达到启动第1状态编程验证的验证条件,则启动第1状态的编程验证并扫描处于第1状态的存储单元;S102、设置m=1,其中,m为所述NandFlash的编程状态序号,1≤m≤M,M=2n-1,n为NandFlash存储单元具有的比特位;S103、判定m<2n-1是否成立,若是,则执行步骤S104;若否,则执行步骤S106;S104、如果第m状态的扫描结果达到启动第m+1状态编程验证的设定值,则设置m=m+1,启动第m状态的编程验证并扫描处于第m状态的存储单元,之后返回步骤S103;若否,则执行步骤S105;S105、以设定电压增量值抬升所述当前编程电压,启动第1状态至第m状态的编程验证并扫描处于第m状态的存储单元,之后返回步骤S103;S106、判定第m状态的编程验证次数是否达到最大验证次数,若是,则执行步骤S107;若否,则返回执行步骤S105;S107、如果所述编程页中所有编程失败的存储单元总数不大于内部设定值,则结束对所述编程页的编程操作。进一步的,所述对编程页施加编程电压,包括:基于NandFlash中的控制单元通过字线选择单元选取要编程的存储页,记为编程页;对所述编程页的字线施加初始编程电压,并在设定时间内持续施压。进一步的,所述启动第1状态编程验证的验证条件为:对所述编程页施加编程电压的编程次数达到设定验证启动次数;所述预设验证启动次数设定在1次~128次。进一步的,还包括:对编程页施加编程电压,如果所施加编程电压的当前编程次数小于所述预设验证启动次数,则以设定电压增量值抬升所述编程电压,并令当前编程次数自加1。进一步的,还包括:如果所述编程页中所有编程失败的存储单元总数超过内部设定值,则强制结束所述编程页的当前编程验证操作,同时声明所有编程失败的存储单元,并对所述编程页重新执行编程操作。进一步的,所述启动第m状态的编程验证,包括:启动对所述编程页的读操作,基于读操作查验应该编程到第m状态的存储单元是否已编程到了第m状态。进一步的,所述扫描所述第m状态的存储单元,包括:基于所述编程页中存储单元的位线,对应该处于第m状态的存储单元进行扫描,确定编程失败的存储单元个数,并计算第m状态的编程失败率;记所述第m状态的编程失败率为第m状态的扫描结果。进一步的,所述启动第m+1状态编程验证的设定值为一个百分比值,所述百分比值基于所述编程页在历史编程操作中第m状态编程失败率的数据规律设定。进一步的,所述最大验证次数以及内部设定值均基于所述编程页在历史编程操作中的数据规律设定。进一步的,所述设定电压增量值为一固定值。本专利技术实施例提供的一种NandFlash的编程方法,在现有的编程方法的前提下对编程过程中的编程验证及验证结果扫描两阶段的操作进行了改进,在该方法中,将对处于第m+1编程状态存储单元的编程验证基于处于第m状态存储单元的扫描验证结果进行启动,并设定了存储单元编程验证的最大次数以及结束编程操作的结束条件。利用该方法,可以大大降低整个编程操作的时间消耗,很大程度的提高编程速度,同时也避免了编程操作时峰值电流和功耗产生影响。附图说明图1为NandFlash传统编程方法在TLCNandFlash中的过程示意图;图2为现有的NandFlash编程方法在TLCNandFlash中的过程示意图;图3为本专利技术实施例一提供的一种NandFlash的编程方法的流程图;图4为本专利技术实施例二提供的一种NandFlash的编程方法的流程图;图5A为本专利技术实施例三提供的一种NandFlash的编程方法的流程图;图5B为本专利技术实施例三提供的一种NandFlash的编程方法在TLCNandFlash中的过程示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。实施例一图3为本专利技术实施例一提供的一种NandFlash的编程方法的流程图,该方法由NandFlash执行,是对现有编程方法的一种改进,如图3所示,该方法包括:S101、对编程页施加编程电压,如果达到启动第1状态编程验证的验证条件,则启动第1状态的编程验证并扫描处于第1状态的存储单元。在本实施例中,所述编程页具体可为NandFlash的存储单本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/58/201510993595.html" title="一种Nand Flash的编程方法原文来自X技术">Nand Flash的编程方法</a>

【技术保护点】
一种Nand Flash的编程方法,其特征在于,包括:S101、对编程页施加编程电压,如果达到启动第1状态编程验证的验证条件,则启动第1状态的编程验证并扫描处于第1状态的存储单元;S102、设置m=1,其中,m为所述Nand Flash的编程状态序号,1≤m≤M,M=2

【技术特征摘要】
1.一种NandFlash的编程方法,其特征在于,包括:S101、对编程页施加编程电压,如果达到启动第1状态编程验证的验证条件,则启动第1状态的编程验证并扫描处于第1状态的存储单元;S102、设置m=1,其中,m为所述NandFlash的编程状态序号,1≤m≤M,M=2n-1,n为NandFlash存储单元具有的比特位;S103、判定m<2n-1是否成立,若是,则执行步骤S104;若否,则执行步骤S106;S104、如果第m状态的扫描结果达到启动第m+1状态编程验证的设定值,则设置m=m+1,启动第m状态的编程验证并扫描处于第m状态的存储单元,之后返回步骤S103;若否,则执行步骤S105;S105、以设定电压增量值抬升所述当前编程电压,启动第1状态至第m状态的编程验证并扫描处于第m状态的存储单元,之后返回步骤S103;S106、判定第m状态的编程验证次数是否达到最大验证次数,若是,则执行步骤S107;若否,则返回执行步骤S105;S107、如果所述编程页中所有编程失败的存储单元总数不大于内部设定值,则结束对所述编程页的编程操作。2.根据权利要求1所述的方法,其特征在于,所述对编程页施加编程电压,包括:基于NandFlash中的控制单元通过字线选择单元选取要编程的存储页,记为编程页;对所述编程页的字线施加初始编程电压,并在设定时间内持续施压。3.根据权利要求2所述的方法,其特征在于,所述启动第1状态编程验证的验证条件为对所述编程页施加编程电压...

【专利技术属性】
技术研发人员:刘会娟
申请(专利权)人:北京兆易创新科技股份有限公司
类型:发明
国别省市:北京,11

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

1