一种非易失性存储器的编程方法及非易失性存储器与流程

文档序号:12948006阅读:277来源:国知局
一种非易失性存储器的编程方法及非易失性存储器与流程

本发明涉及存储设备硬件技术领域,尤其涉及一种非易失性存储器的编程方法及非易失性存储器。



背景技术:

非易失性存储器(non-volatilememory),其内部采用非线性宏单元模式,具有容量大,改写速度快等优点,适用于大量数据的存储。广泛应用于嵌入式产品中,如数码相机、mp3随身听记忆卡、体积小巧的u盘等。图1是现有非易失性存储器的一个简易结构图,由图1可知,该非易失性存储器由存储单元阵列11、字线选择单元12、位线选择单元13、电压泵14、以及控制单元15组成,其中,存储单元阵列11由多个存储单元块组成,每个存储单元块由多个存储单元页组成,每个存储单元页又基于每个存储单元字线和位线连接形成;控制单元15为整个非易失性存储器的控制核心,分别与字线选择单元12、位线选择单元13以及电压泵14连接,可控制字线选择单元12和位线选择单元13实现对存储单元阵列11的存储地址选取,还可控制电压泵14对存储单元阵列11施加电压,并控制所施加的电压大小。

在非易失性存储器中,一个存储单元可看作为一个金属氧化物半导体场效晶体管(metal-oxide-semiconductorfield-effecttransistor,mosfet)。图2是一种常见的mosfet结构图,包括栅极20、源极21、漏极22、p型硅半导体衬底23、p-阱24以及隧穿氧化层25。其相互间的连接为:p型硅半导体衬底23扩散出两个n型区,在p型硅半导体衬底23与两个n型区之间形成p-阱24,p型硅半导体衬底23上方覆盖一层隧穿氧化层24,最后在n型区上方用腐蚀的 方法做成两个孔,用金属化的方法分别在绝缘层上及两个孔内做成三个电极:栅极20、源极21和漏极22,源极21和漏极22分别对应两个n型区且栅极20为存储单元的字线,漏极22为存储单元的位线。

现有技术中,在对非易失性存储器的存储单元进行编程操作时,在栅极20施加高压并在漏级22端施加低压,由此形成编程电压差,使得源级21中的浮动电荷流向栅极20中,进而使存储单元状态为0。一般地,在进行编程操作时,所采用的编程电压统一设定,然而非易失性存储器的编程能力会随着温度的变化而变化,当温度升高而编程电压保持不变时,其编程能力就相应降低,甚至一直处于编程失败的状态,增加编程操作的工作时间,从而影响编程除效率,进而降低了非易失性存储器的可靠性和稳定性。



技术实现要素:

有鉴于此,本发明实施例提供一种非易失性存储器的编程方法及非易失性存储器,以提高非易失性存储器编程操作的可靠性、高效性以及稳定性。

一方面,本发明实施例提供了一种非易失性存储器,包括:存储单元阵列、字线选择单元、位线选择单元以及控制单元,还包括:温度监测器,

其中,所述温度监测器,与所述控制单元相连,用于监测非易失性存储器所处环境的温度,并向所述控制单元传输所处环境的温度信息。

进一步的,所述温度监测器通过排线与所述控制单元上的排线接口相连。

进一步的,所述温度监测器为温度传感器。

另一方面,本发明实施例提供了一种非易失性存储器的编程方法,包括:

控制单元接收由温度监测器传输的当前温度信息;

控制单元基于所述当前温度信息确定所述待编程页的当前编程电压;

控制单元基于所述当前编程电压对所述待编程页进行编程操作。

进一步的,在控制单元接收由所述温度监测器传输的温度信息之前,还包括:基于所述温度监测器监测外界环境的当前温度值,并将所述当前温度值转换为二进制编码形式的当前温度信息。

进一步的,在控制单元基于所述当前温度信息确定所述待编程页的当前编程电压之前,还包括:在所述控制单元中设置二元组信息表,其中,所述二元组信息表中包括温度信息与编程电压差的对应关系。

进一步的,所述控制单元基于所述当前温度信息确定所述待编程页的当前编程电压,具体包括:控制单元确定所述当前温度信息在所述二元组信息表中对应的编程电压差,并记为当前编程电压差;控制单元基于所述当前编程电压差确定对所述待编程页中的存储单元施加的当前编程电压。

进一步的,所述控制单元基于所述当前编程电压对所述待编程页进行编程操作,具体包括:通过控制单元对所述待编程页的存储单元进行校验,判断所述待编程页中存储单元是否达到编程状态;如果所述存储单元没有达到编程状态,则通过控制单元向所述存储单元施加所述当前编程电压。

进一步的,所述编程状态指存储单元状态为0。

进一步的,还包括:基于控制单元控制字线选择单元和位线选择单元,选取要编程的存储页,记为待编程页。

本发明实施例提供了一种非易失性存储器的编程方法及非易失性存储器。本发明的编程方法与现有编程方法相比,增加了基于温度监测器监测当前温度信息的操作,并基于所监测的温度信息来确定当前编程电压,由此基于当前编程电压对待编程页进行编程操作。该编程方法能够基于外界温度信息实时调节待编程页的编程电压,在保证编程操作正确性的同时,缩短了编程时间,降低了无效编程损耗,进而达到提高非易失性存储器编程效率,以及提高非易失性 存储器的稳定性和可靠性保持的目的。

附图说明

图1为现有的非易失性存储器的简易结构图;

图2为非易失性存储器中作为存储单元的一种金属氧化物半导体场效晶体管的结构图;

图3为本发明实施例一提供的一种非易失性存储器的简易结构图;

图4为本发明实施例二提供的一种非易失性存储器的编程方法的流程示意图;

图5为本发明实施例三提供的一种非易失性存储器的编程方法的流程示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

实施例一

图3为本发明实施例一提供的一种非易失性存储器的简易结构图,如图3所示,本发明实施例提供的非易失性存储器,除包括存储单元阵列31、字线选择单元32、位线选择单元33、电压泵34、以及控制单元35之外,还包括:温度监测器36。

其中,温度监测器36,与控制单元35相连,用于监测非易失性存储器所处环境的温度,并向控制单元35传输所处环境的温度信息。

在本实施例中,在基于本发明的非易失性存储器进行各种操作之前,首先 可以基于温度监测器36进行外界环境温度的监测,并可通过温度监测器36将所监测的温度信息传输给控制单元35;由此使得控制单元35基于所获得的温度信息调控电压泵34的输出电压,来实时改变非易失性存储器进行各种操作时所需的电压。

进一步的,温度监测器36通过排线与控制单元35上的排线接口相连。具体的,本发明的非易失性存储器中,各单元器件之间的连接都是通过排线与排线接口的对接实现的,由此,所增加的温度监测器36也是通过排线与控制单元35上的排线接口实现连接的。

进一步的,温度监测器36为温度传感器。在本实施例中,温度监测器36主要用于监测外界的温度变化,因此,将温度监测器36优选为温度传感器。

本发明实施例一提供的一种非易失性存储器,与现有的非易失性存储器相比,在其结构上增加了一个与控制单元相连的温度监测器。利用该非易失性存储器,能够首先基于温度监测器对所处的外界环境温度进行监测,并通过所监测的温度信息通过控制单元调控电压泵的输出电压,实现了对非易失性存储器工作所需电压的实时调整,由此在不影响非易失性存储器工作准确性的同时缩短了工作时间,进而达到了提高非易失性存储器的稳定性和可靠性的目的。

实施例二

图4为本发明实施例二提供的一种非易失性存储器的编程方法的流程示意图。该方法由非易失性存储器执行,是对现有编程方法的一种改进,如图4所示,该方法具体包括如下操作:

s401、控制单元接收由温度监测器传输的当前温度信息。

在本实施例中,所述控制单元以及温度传感器均为本发明实施例三所提的 非易失性存储器的结构器件。其中,所述控制单元为所述非易失性存储器的核心单元,用于对所述非易失性存储器的各种操作进行相应的控制调节。一般的,所述非易失性存储器所进行的常见操作有:擦除操作、编程操作以及读操作。示例性的,所述擦除操作可理解为将非易失性存储器中存储单元的状态由“0”变为“1”的操作;所述编程操作可理解为将非易失性存储器中存储单元的状态由“1”变为“0”的操作;所述读操作可理解为对非易失性存储器中的存储单元状态进行的读取操作,上述各种操作一般通过向非易失性存储器施加不同的电压来实现。所述温度监测器用于监测非易失性存储器所处环境的温度值,并向所述控制单元传输所监测的温度信息。

在本实施例中,所述当前温度信息具体可指由温度监测器监测所处环境获得的当前温度值的信息。具体的,所述当前温度信息可以被温度监测器传输,并由所述控制单元接收和识别。

s402、控制单元基于所述当前温度信息确定所述待编程页的当前编程电压。

在本实施例中,所述待编程页具体可理解为存储单元阵列中需要进行编程操作的一个存储单元页(存储页)。所述当前编程电压具体可指当前对所述待编程页进行编程操作时所要施加的编程电压。

在本实施例中,基于所接收的当前温度信息,可以确定所述待编程页的当前编程电压。具体的,可以通过预先设定的温度信息与编程电压的关系映射表来确定当前温度信息所对应的当前编程电压,即,首先可以在关系映射表中查询是否存在当前温度信息,并在存在所述当前温度信息时,确定所述当前温度信息对应的当前编程电压。

在本实施例中,温度信息与编程电压的关系映射表中包含的温度信息与编程电压的对应关系可以基于历史编程操作中不同的温度信息以及所对应的编程 效果较佳的编程电压信息来确定。

s403、控制单元基于所述当前编程电压对所述待编程页进行编程操作。

在本实施例中,在确定出当前编程电压后,控制单元可以控制非易失性存储器中的电压泵向所述待编程页施加已确定的当前编程电压,由此对所述待编程页进行编程操作,使得所述待编程页中的存储单元状态能够由“1”变为“0”。

一般的,在对待编程页进行编程操作时,所述非易失性存储器中的电压泵向存储单元的栅极端施加正电压,向漏极端施加负电压,由此在两端之间形成电压差,使得存储单元源极中的浮动电荷向栅极中移动,以使存储单元栅极中的阈值电压高于设定电压,进而使存储单元状态变为0。

本发明实施例二提供的一种非易失性存储器的编程方法,首先接收温度监测器传输的当前温度信息,然后基于当前温度信息确定待编程页的当前编程电压,最终根据确定的当前编程电压对待编程页进行编程操作。利用该编程方法,实现了编程电压随外界温度的变化而变化,在保证编程操作正确性的同时还保证了编程操作的工作时间能够在有效时间内完成,由此提高了非易失性存储器编程效率,从而达到提高非易失性存储器的稳定性和可靠性的目的。

实施例三

图5为本发明实施例三提供的一种非易失性存储器的编程方法的流程示意图。本发明实施例以上述实施例二为基础进行优化,在本实施例中,在“控制单元接收由温度监测器传输的温度信息”之前,还优化包括了:基于所述温度监测器监测外界环境的当前温度值,并将所述当前温度值转换为二进制编码形式的当前温度信息。

进一步的,在“控制单元基于所述当前温度信息确定所述待编程页的当前 编程电压”之前,还优化包括了:在所述控制单元中设置二元组信息表,其中,所述二元组信息表中包括温度信息与编程电压差的对应关系。

进一步的,本发明实施例将“控制单元基于所述当前温度信息确定所述待编程页的当前编程电压”具体优化为:控制单元确定所述当前温度信息在所述二元组信息表中对应的编程电压差,并记为当前编程电压差;控制单元基于所述当前编程电压差确定对所述待编程页中的存储单元施加的当前编程电压。

进一步的,本发明实施例还将“控制单元基于所述当前编程电压对所述待编程页进行编程操作”具体优化为:通过控制单元对所述待编程页的存储单元进行校验,判断所述待编程页中存储单元是否达到编程状态;如果所述存储单元没有达到编程状态,则通过控制单元向所述存储单元施加所述当前编程电压。

如图5所示,本发明实施例三提供的一种非易失性存储器的编程方法,具体包括如下操作:

s501、基于所述温度监测器监测外界环境的当前温度值,并将所述当前温度值转换为二进制编码形式的当前温度信息。

在本实施例中,可以基于温度监测器监测非易失性存储器所处外界环境的当前温度值,其中,所述当前温度值为外界的具体温度值。此外,在基于温度监测器向控制单元传输当前温度值的信息之前,需要将所述当前温度值由数字信号转换为模拟信号,形成可传输的当前温度信息。

在本实施例中,可通过二进制编码转换实现所述当前温度值到当前温度信息的转换,其过程为:为温度值设置对应二进制编码值的编码长度,然后基于二进制编码将实际的温度值转换为二进制编码值,最终获得所述温度值的二进制编码值,实现温度值的二进制编码转换。由此可知,所述当前温度信息为所述当前温度值的二进制编码值。

一般的,二进制编码值的编码长度可设置为7位,并可将最高位设置为符号位(0表示正,1表示负)。示例性的,-20℃经二进制编码转换后,所得到的二进制编码值可表示并为1010100,其中,最高位的1表示温度为负;又如,温度值30℃时,经二进制编码转换后,所得到的二进制编码值可表示并为0011110,其中,最高位的0表示温度为正。

s502、控制单元接收由温度监测器传输的当前温度信息。

s503、在所述控制单元中设置二元组信息表,其中,所述二元组信息表中包括温度信息与编程电压差的对应关系。

在本实施例中,所述二元组信息表具体可看作一个映射关系表,在所述二元组信息表中,包含了温度信息与编程电压差的映射关系。具体的,在控制单元接收到温度监测器传输的当前温度信息后,需要基于当前温度信息确定当前编程电压。一般地,对所述当前编程电压的确定需要基于二元组信息表中的信息内容确定。因此,在基于温度信息调整编程电压前,需要提前设置包含温度信息与编程电压差对应关系的二元组信息表。

在本实施例中,所述编程电压差具体可指施加在所述待编程页中各存储单元栅极端的高电压,与施加在漏极端的低电压所形成的电压差值。需要说明的是,对待编程页中编程电压的调整实际可理解为对施加在存储单元的栅极端与漏极端两端电压差值的调整,其电压差值越大,就可表明向存储单元施加的编程电压越高。

s504、控制单元确定所述当前温度信息在所述二元组信息表中对应的编程电压差,并记为当前编程电压差。

在本实施例中,基于s503设置二元组信息表后,控制单元首先可在二元组信息表中查找是否存在所获取的当前温度信息,并在确定存在当前温度信息后, 确定所述当前温度信息在二元组信息表中对应的编程电压差,然后将确定出的编程电压差记为当前编程电压差。

s505、控制单元基于所述当前编程电压差确定对所述待编程页中的存储单元施加的当前编程电压。

在本实施例中,所述当前编程电压具体可指电压泵当前需要向所述待编程页的存储单元施加的编程电压。在确定出当前编程电压差后,可以基于所述当前编程电压差来确定电压泵向所述待编程页中的存储单元所施加的当前编程电压。

具体的,可以通过调整电压泵向存储单元的栅极端施加的当前电压,以保证栅极和源极两端所形成编程电压差为已确定的当前编程电压差;也可以通过调整电压泵向存储单元的栅极端施加的当前电压,以保证栅极和源极两端所形成编程电压差为已确定的当前编程电压差;此外,还可以分别调整电压泵向存储单元的栅极端以及漏极端的当前电压,只要能够保证存储单元栅极和漏极两端的编程电压差为当前编程电压差即可。

s506、通过控制单元对所述待编程页的存储单元进行校验,判断所述待编程页中存储单元是否达到编程状态。

在本实施例中,在基于当前编程电压对所述待编程页进行编程操作时,首先通过控制单元对所述待编程页的存储单元进行校验。由此判断所述待编程页中的存储单元是否达到编程状态。

进一步的,所述编程状态指存储单元状态为0。

在本实施例中,判断所述待编程页中的存储单元是否达到编程状态具体可理解为判断所述待编程页中的存储单元状态是否为0。

s507、如果所述存储单元没有达到编程状态,则通过控制单元向所述存储 单元施加所述当前编程电压。

在本实施例中,如果所述待编程页中存在存储单元状态不为1的存储单元,则说明待编程页中还存在没有达到编程状态的存储单元,即,没有完成对所述待编程页的编程操作,需要继续向所述待编程页中未达到编程状态的存储单元继续施加编程电压,已达到存储单元状态为1的目的,其中,所施加的编程电压为上述步骤所确定的当前编程电压。

本发明实施例三提供的一种非易失性存储器的编程方法,优化增加了基于温度监测器的温度监测操作,同时增加了二元组信息表的设置操作,此外,具体化了控制单元基于当前温度信息确定当前编程电压的操作,还具体化了基于当前编程电压待编程页进行的编程操作。利用该编程方法,实现了基于外界温度调节编程电压的操作,从而更加快速准确的实现了对待编程页的编程操作,由此提高了非易失性存储器的编程效率,进而达到提高非易失性存储器的稳定性和可靠性的目的。

在上述实施例的基础上,本实施例三在“控制单元接收由所述温度监测器传输的温度信息”之前,还优化包括了:基于控制单元控制字线选择单元和位线选择单元,选取要编程的存储页,记为待编程页。

在本实施例中,非易失性存储器的编程操作以存储页为单位进行,因此,在进行编程操作之前,需要在存储单元阵列中选定进行编程操作的存储页,由此作为待编程页。具体的,对于待编程页的选择,主要基于控制单元通过控制字线选择单元以及位线选择单元来实现。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽 然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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