一种存储单元的编程方法技术

技术编号:14211458 阅读:113 留言:0更新日期:2016-12-18 20:44
本发明专利技术公开了一种存储单元的编程方法,该方法包括:采用初始编程电压对当前地址对应的当前存储单元进行编程;对当前存储单元进行编程校验,检验所述当前存储单元的当前状态是否为已经编程成功,若是,则结束当前存储单元的编程操作;否则,将基于当前编程电压阶梯式递增的新编程电压作为当前编程电压,对所述当前存储单元施加当前编程电压,并返回执行所述对当前存储单元进行的编程校验操作。本发明专利技术实施例提供的存储单元的编程方法,通过采用阶梯式递增的编程电压,提高了电子比较活跃的存储单元的数据保持力。

【技术实现步骤摘要】

本专利技术实施例涉及存储
,具体涉及一种存储单元的编程方法
技术介绍
非易失闪存介质(nor Flash/nand Flash)是一种很常见的存储芯片,兼有随机存储器(Random Access Memory,RAM)和只读存储器(Read-Only Memory,ROM)的优点,数据掉电不会丢失,是一种可在系统进行电擦写的存储器,同时它的高集成度和低成本使它成为市场主流。Flash芯片是由内部成千上万个存储单元组成的,每个储存单元存储一位数据,多个存储单元构成页,多个页组成块,正是由于该特殊的物理结构,在nor Flash/nand Flash中是以页为单位进行读/写(编程操作)数据,以块为单位进行擦除数据的。在Flash芯片中,一个存储单元可看作为一个金属氧化物半导体场效晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor,MOSFET)。图1是一种常见的MOSFET结构图,包括栅极20、源极21、漏极22、P型阱23、N型阱25、P型硅半导体衬底26以及隧穿氧化层24,其相互间的连接为:P型硅半导体衬底26扩散出两个N型区,P型阱23上方覆盖一层隧穿氧化层24,最后在N型区上方通过腐蚀的方法做成两个孔,通过金属化的方法分别在绝缘层上及两个孔内做成三个电极:栅极20、源极21和漏极22,源极21和漏极22分别对应两个N型区且栅极20为存储单元的字线,漏极22为存储单元的位线。进一步的,栅极20又包括控制栅极201、多晶硅层间电介质202(Inter-Poly Dielectric,IPD)、浮动栅极203,且浮动栅极203可以存储电荷。当对一个存储单元进行编程操作时,分别给栅极20、源极21以及漏极22施加相应的编程电压,此时,会有电流从漏极22流向源极21,电子从源极21流向漏极22的途中,会有一部分流向浮动栅极203,当浮动栅极203中的电子达到一定数量时,此存储单元就被编程成功,即此存储单元被成功写0。现有的存储单元的编程方法是:为了保证编程的速度,通常每次编程操作都施加一个较大的编程电压。但是,由于Flash芯片制作工艺的问题,会有一些存储单元的电子比较活跃,编程速度很快,通常施加一次编程电压后,存储单元的阈值电压就会达到预设范围内的最低值,所述存储单元编程成功,但是由于这些存储单元的电子比较活跃,它们的数据保持力相对较弱,经过长时间的放置,这些存储单元的阈值电压会继续降低,导致对这些存储单元进行读操作时发生读数据错误。因此,有必要设计一种新的存储单元的编程方法,以提高存储单元的数据保持力。
技术实现思路
本专利技术提供一种存储单元的编程方法,以提高编程速度。该方法包括:采用初始编程电压对当前地址对应的当前存储单元进行编程;对当前存储单元进行编程校验,检验所述当前存储单元的当前状态是否为已经编程成功,若是,则结束当前存储单元的编程操作;否则,将基于当前编程电压阶梯式递增的新编程电压作为当前编程电压,对所述当前存储单元施加当前编程电压,并返回执行所述对当前存储单元进行的编程校验操作。进一步地,每个存储单元对应采用的阶梯式编程电压的阶梯数量、每个阶梯对应的电压值以及每个阶梯对应的电压值持续的时间相同或不同。进一步地,在对所述当前存储单元施加当前编程电压之前,还包括:通过编程计数器对当前存储单元编程失败的次数进行累计;判断所述编程计数器中的数值是否为设定的最大值,若是,则结束当前存储单元的编程操作,否则执行对所述当前存储单元施加当前编程电压的操作。优选的,所述设定的最大值为小于或者等于200的正整数。进一步地,所述方法还包括:当检验所述当前存储单元的当前状态为已经编程成功时,判断所述当前地址是否为最后的编程地址,若是则退出操作,否则更改所述当前地址,继续对其他的存储单元进行所述编程校验操作,直至所有的存储单元完成编程操作。示例性地,所述检验当前存储单元的当前状态是否为已经编程成功,具体为:检测从当前存储单元的源极流向漏极的电流值是否小于预设电流值,若是,则所述当前存储单元的当前状态为已经编程成功。本专利技术实施例提供的一种存储单元的编程方法,首先采用初始编程电压对当前地址对应的当前存储单元进行编程,然后对当前存储单元进行编程校验,检验所述当前存储单元的当前状态是否为已经编程成功,若是,则结束当前存储单元的编程操作;否则,将基于当前编程电压阶梯式递增的新编程电压作为当前编程电压,对所述当前存储单元施加当前编程电压,并返回执行所述对当前存储单元进行的编程校验操作。通过采用阶梯式递增的编程电压,提高了电子比较活跃的存储单元的数据保持力。附图说明图1是Flash芯片中一种作为存储单元的金属氧化物半导体场效晶体管的结构图;图2是本专利技术实施例一中的一种存储单元的编程方法流程图;图3是本专利技术实施例一中的阶梯式编程电压的示意图;图4是本专利技术实施例二中的一种存储单元的编程方法流程图;图5为本专利技术实施例三中的一种存储单元的编程方法流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图2为本专利技术实施例一提供的一种存储单元的编程方法流程图,本实施例可适用于对一些电子比较活跃的存储单元进行编程操作。参加图2,本实施例提供的存储单元的编程方法具体包括如下步骤:S110、采用初始编程电压对当前地址对应的当前存储单元进行编程。初始编程电压通常选用最低的编程电压,因为有些存储单元的电子比较活跃,编程速度很快,通常施加一次编程电压后,存储单元的阈值电压就会达到预设范围内的最低值,所述存储单元编程成功,但是由于这些存储单元的电子比较活跃,它们的数据保持力相对较弱,经过长时间的放置,这些存储单元的阈值电压会继续降低,导致对这些存储单元进行读操作时发生读数据错误。最低的编程电压以及最高的编程电压可以根据不同的Flash存储器通过大量的试验获得,由于制作工艺的问题,每个存储单元所需要的最低的编程电压以及最高的编程电压可能不同。通过编写程序代码可以控制Flash存储器进行三大主要操作,分别是读操作、写操作和擦除操作,其中,写操作又被称作编程操作,即完成对存储单元的写0操作。需要说明的是,对一个存储单元进行编程操作的原理是通过分别给存储单元的栅极以及漏极施加相应的编程电压,会有电流从漏极流向源极,电子从源极流向漏极的途中,会有一部分流向浮动栅极,当浮动栅极中的电子达到一定数量时,此存储单元就被编程成功,即此存储单元被成功写0,具体的存储单元的结构可以参见图1所示的结构示意图。S120、对当前存储单元进行编程校验,检验所述当前存储单元的当前状态是否为已经编程成功,若是,则执行步骤S130,否则执行步骤S140。对存储单元进行编程校验的实质是对所述存储单元进行一次读操作,更具体地可以理解为检验读出的数值是否为0,如果为0则说明所述存储单元已经编程成功,否则失败,需要再次进行编程操作。示例性地,所述检验存储单元的当前状态是否为已经编程成功,即编程校验,具体可以为:检测从存储单元的源极流向漏极的电流值是否小本文档来自技高网
...
一种存储单元的编程方法

【技术保护点】
一种存储单元的编程方法,其特征在于,包括:采用初始编程电压对当前地址对应的当前存储单元进行编程;对当前存储单元进行编程校验,检验所述当前存储单元的当前状态是否为已经编程成功,若是,则结束当前存储单元的编程操作;否则,将基于当前编程电压阶梯式递增的新编程电压作为当前编程电压,对所述当前存储单元施加当前编程电压,并返回执行所述对当前存储单元进行的编程校验操作。

【技术特征摘要】
1.一种存储单元的编程方法,其特征在于,包括:采用初始编程电压对当前地址对应的当前存储单元进行编程;对当前存储单元进行编程校验,检验所述当前存储单元的当前状态是否为已经编程成功,若是,则结束当前存储单元的编程操作;否则,将基于当前编程电压阶梯式递增的新编程电压作为当前编程电压,对所述当前存储单元施加当前编程电压,并返回执行所述对当前存储单元进行的编程校验操作。2.根据权利要求1所述的方法,其特征在于,每个存储单元对应采用的阶梯式编程电压的阶梯数量、每个阶梯对应的电压值以及每个阶梯对应的电压值持续的时间相同或不同。3.根据权利要求1所述的方法,其特征在于,在对所述当前存储单元施加当前编程电压之前,还包括:通过编程计数器对当前存储单元编程失败的次数进行累计;判断所述编程...

【专利技术属性】
技术研发人员:薛子恒潘荣华
申请(专利权)人:北京兆易创新科技股份有限公司
类型:发明
国别省市:北京;11

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

1