非易失半导体存储设备以及在其中编程的方法

文档序号:6756687阅读:143来源:国知局
专利名称:非易失半导体存储设备以及在其中编程的方法
技术领域
本发明涉及非易失半导体存储设备以及在非易失半导体存储设备中编程的方法。具体而言,本发明涉及一种具有多个存储单元的非易失半导体存储设备,其中每一存储单元能够存储多级数据,以及涉及一种在非易失半导体存储设备中编程的方法。
背景技术
一般来说,诸如快闪存储器那样的非易失半导体存储设备包括多个存储单元,每一存储单元具有层叠栅极结构(浮动栅结构)。也就是说,在存储单元的MOS晶体管中,浮动栅提供在基底和控制栅之间。当电荷注入到浮动栅时,每一存储单元的阈值(阈值电压)根据注入电荷的数量而变化。在这样的非易失半导体存储设备中,阈值电压与存储单元中存储的数据相关联。所以,通过检测每一存储单元的阈值电压,能够读取每一存储单元中存储的数据。
“编程”意思是将电荷注入到浮动栅。在存储单元的编程过程中,存储单元的源极/漏极被施加预定电位,并且控制栅被施加高电位。从而,电荷注入到存储单元的浮动栅。通过使用一个编程脉冲,可以对多个存储单元进行编程,这导致以高速(高效率)注入电荷的存储单元与以低速(低效率)注入电荷的存储单元之间的阈值电压差增加。为了防止此类问题,通常在“编程”之后执行“验证(验证步骤)”。在验证过程中,检查浮动栅是否注入期望数量的电荷。也就是说,在验证中,存储单元的阈值电压是否成为期望的值。
图1示出了当根据传统编程方法编程存储单元时,施加于控制栅的电压Vcg与编程时间(编程操作的数量)之间的关系图。如图1所示,在传统的编程中,当编程操作的数量增加时,施加于存储单元的控制栅的电压Vcg增加ΔVcg。在每次施加电压之后,执行验证操作以便验证存储单元的阈值电压是否超过了预定值。对于通过验证操作来确定其阈值电压超过了预定值的存储单元来说,在该状态下完成编程。另一方面,对于没有确定其阈值电压超过预定值的存储单元来说,继续编程操作直到阈值电压达到预定值。
图2示出了根据上述传统方法编程的多个存储单元的阈值电压分布。纵坐标表示阈值电压Vth,横坐标表示存储单元的数量。阈值电压分布的宽度ΔVth表示多个存储单元之间的阈值电压差。也就是说,每一存储单元的阈值电压Vth在预定值Vref到Vref+ΔVth的范围内。由于根据上述传统编程,编程脉冲的电压增加ΔVcg,因此宽度ΔVth与ΔVcg成比例。
在这种非易失半导体存储设备中,阈值电压与存储单元中存储的数据相关联。例如,编程每一存储单元,以致于数据“0”对应较高的阈值并且数据“1”对应较低的阈值。
并且,多级存储技术作为一种增加非易失半导体存储设备中的存储密度的技术是已知的。根据多级存储技术,单个存储单元中存储至少两比特的数据。所述存储单元称为MLC(多级单元)。例如,四级非易失半导体存储设备中,四级存储单元能够存储2比特数据“00”、“01”、“10”以及“11”。根据编程数据,编程每一存储单元,以具有与“00”、“01”、“10”和“11”中任何一个相对应的阈值电压。
根据多级(多比特)非易失半导体存储设备,当与2-值(单比特)非易失半导体存储设备相比较时,对应于不同存储数据的两个邻近阈值电压分布彼此接近。较窄的范围能够导致读取错误并且因此导致读取精度降低。同样,需要尽可能地减少图2所示存储单元的阈值电压的分布宽度ΔVth。在图1所示的编程中,为了使得分布宽度ΔVth变窄并且加宽容限,可以将编程脉冲增量ΔVcg设置为较小的值。然而,在该情况中,存在以下问题编程操作的数量增加并且编程所必需的时间也增加。
日本未审专利公开号2001-357693(专利文献1)中公开了一种用于减少编程所必需的时间以及将分布宽度变窄的技术。图3示出了当根据专利文献1所述的方法编程存储单元时,施加于控制栅的电压Vcg与编程时间(编程操作的数量)之间的关系图。根据所述方法,编程操作被分类为粗略阶段和精细阶段。当编程电压增加ΔVcg3时,执行粗略阶段中的编程直到存储单元的阈值电压超过第一参考电平(Vref3)。当编程电压增加ΔVcg4时,执行精细阶段中的编程直到存储单元的阈值电压超过第二参考电平(Vref4)。精细阶段中的编程脉冲的增量宽度ΔVcg4被设置为小于粗略阶段中编程脉冲的增量宽度ΔVcg3。
图4示出了正好在粗略阶段之后的阈值电压分布以及正好在精细阶段之后的阈值电压分布。上述参考的专利文献1描述了优选地将第一参考值(电平)Vref3设置为以下值,即通过从第二参考值(电平)Vref4中减去一个大于粗略阶段中增量宽度ΔVcg3的值而获得的值。完成粗略阶段之后的阈值电压分布的分布宽度ΔVth3与增量宽度ΔVcg3成比例。在粗略阶段之后,执行精细阶段的编程。结果,获得如图4所示的最终的阈值电压分布,其宽度ΔVth4与增量宽度ΔVcg4成比例。如图4所示,精细阶段之后获得的最终分布宽度ΔVth4比正好在粗略阶段之后获得的分布宽度ΔVth3窄。
如上所述,根据传统的技术,多个编程脉冲被使用并且被连续地应用于编程中(参见图1和3)。在验证操作中检查阈值电压是否超过了参考值Vref(参见图2)。所以,后编程的阈值电压被控制成为期望的阈值电压电平。然而,由于噪声的影响,参考值Vref会波动。在该情况中,如图5所示,部分存储单元的阈值电压保持为低于参考值Vref,因此最终的阈值电压分布扩展到阈值电压的低的一侧。这种问题也出现于上述专利文献1的情况中。换句话说,精细阶段之后的最终阈值电压分布扩展到期望的参考电Vref4以下。

发明内容
所以,本发明的一个目的是提供一种非易失半导体存储设备及其编程的方法,其能够使得阈值电压分布的宽度变得更窄。
本发明的另一目的是提供一种非易失半导体存储设备及其编程的方法,其能够提高读操作的精度。
在本发明的一个方面中,一种对非易失半导体存储设备中具有浮动栅结构的存储单元进行编程的方法,包括第一编程步骤和第二编程步骤。在第一编程步骤,将第一编程脉冲施加于第一存储单元,同时逐渐地增加第一编程脉冲的编程能力,直到第一存储单元的阈值电压变得高于或等于第一参考电压。编程能力通过脉冲电压与脉冲宽度的乘积来定义。在第二编程步骤中,将第二编程脉冲施加于包括在第一存储单元内并且具有的阈值电压低于第二参考电压的第二存储单元,直到第二存储单元的阈值电压变得高于或等于第二参考电压,其中第二参考电压高于第一参考电压。第二编程脉冲的编程能力低于或等于最终编程脉冲的编程能力,最终编程脉冲是第一编程步骤中最后施加的第一编程脉冲。
根据上述的方法,存储单元的阈值电压变得高于或等于第一编程步骤中的第一参考电压。当存储单元的阈值电压低于第二参考电压时,将阈值电设置高于或等于随后的第二编程步骤中的第二参考电压,其中第二参考电压高于第一参考电压。在此,在第二编程步骤中施加于存储单元控制栅的第二编程脉冲的编程能力低于第一编程步骤最后施加的最终编程脉冲的编程能力。因此,第二编程步骤中阈值电压的增长率低于第一编程步骤中阈值电压的增长率。所以,当第二参考电压被设置为稍微高于第一参考电压时,在第二编程步骤中编程的存储单元的阈值电压没有超过由第一编程步骤获得的阈值电压分布的上限。换句话说,虽然阈值电压分布的下限增加,但由第一编程步骤获得的阈值电压分布的上限没有增加。所以,由第二编程步骤使得阈值电压分布的宽度变窄,并因此两个邻近分布之间的容限变宽。所以,提高了读操作的精度。
根据本发明的方法,第二参考电压低于在第一编程步骤中所获得的第一存储单元的阈值电压分布的上限。
第二编程脉冲的脉冲电压低于或等于最终编程脉冲的脉冲电压。第二编程脉冲的脉冲宽度低于或等于最终编程脉冲的脉冲宽度。
在本发明的另一方面中,一种对非易失半导体存储设备中具有浮动栅结构的存储单元进行编程的方法,包括将第一编程脉冲施加于存储单元的第一编程步骤;第一验证步骤,验证存储单元的阈值电压是否变得高于或等于第一参考电压;重复步骤,重复第一编程步骤,同时逐步递增第一编程脉冲的编程能力,直到存储单元通过第一验证步骤;第二验证步骤,验证存储单元的阈值电压是否变得高于或等于第二参考电压,第二参考电压高于第一参考电压;以及第二编程步骤,将第二编程脉冲施加到存储单元,同时保持第二编程脉冲的编程能力,直到存储单元通过第二验证步骤。
第二编程脉冲的编程能力低于或等于最终编程脉冲的编程能力,最终编程脉冲是重复步骤中最后被施加的第一编程脉冲。
在本发明的再一方面中,一种非易失半导体存储设备具有多个存储单元、编程电路、以及验证电路。多个存储单元中的每一个都具有浮动栅结构。编程电路以第一编程模式和第二编程模式操作。验证电路验证多个存储单元中的一个存储单元的阈值电压是否变得高于或等于预定电压。在第一编程模式中,编程电路将第一编程脉冲施加到多个存储单元的第一存储单元,同时逐步递增第一编程脉冲的编程能力,直到验证电路证实第一存储单元的阈值电压变得高于或等于第一参考电压。在第二编程模式中,编程电路将第二编程脉冲施加到第二存储单元,直到验证电路证实第二存储单元的阈值电压变得高于或等于第二参考电压。第二存储单元包括在第一存储单元内并且具有的阈值电压低于第二参考电压,第二参考电压高于第一参考电压。第二编程脉冲的编程能力低于或等于最终编程脉冲的编程能力,最终编程脉冲是第一编程模式中最后施加的第一编程脉冲。
第二参考电压低于在第一编程模式中所获得的第一存储单元的阈值电压分布的上限。
第二编程脉冲的脉冲电压低于或等于最终编程脉冲的脉冲电压。第二编程脉冲的脉冲宽度低于或等于最终编程脉冲的脉冲宽度。
在本发明的又一方面中,一种非易失半导体存储设备具有通过连续编程步骤编程的存储单元;编程电路,在各编程步骤中施加编程脉冲于存储单元;以及验证电路,用于确定被施加了编程脉冲的存储单元的编程结果是通过还是失败。编程电路包括脉冲产生器。在第一编程阶段中,脉冲产生器产生具有每一编程步骤中递增编程能力的编程脉冲,并且在紧随第一编程阶段之后的第二编程阶段中,脉冲产生器产生具有保持编程能力恒定的编程脉冲。基于第一编程阶段中的第一参考电压并基于第二编程阶段中的第二参考电压,验证电路确定编程结果是通过还是失败,其中第二参考电压高于第一参考电压。
脉冲产生器设置第二编程阶段中的编程能力低于或等于第一编程阶段中最后编程步骤所产生的编程脉冲的编程能力。第二编程阶段内的编程脉冲的脉冲电压被设置为低于或等于最后编程步骤中所产生的编程脉冲的脉冲电压。第二编程阶段内的编程脉冲的脉冲宽度被设置为低于或等于最后编程步骤中所产生的编程脉冲的脉冲宽度。
编程电路进一步包括条件寄存器,其指示第一编程阶段或第二编程阶段。
根据非易失半导体存储设备以及编程方法,第二编程模式(步骤)中应用的第二编程脉冲的编程能力低于第一编程模式(步骤)中最后应用的最终编程脉冲的编程能力。因此,第二编程步骤中阈值电压的增长率低于第一编程步骤中阈值电压的增长率。所以,在第二编程步骤中编程的存储单元的阈值电压没有超过由第一编程步骤所获得的阈值电压分布的上限。换句话说,虽然阈值电压分布的下限增加,但由第一编程步骤获得的阈值电压分布的上限没有增加。所以,由第二编程步骤使得阈值电压分布的宽度变窄,并因此两个邻近分布之间的容限变宽。所以,提高了读操作的精度。


图1示出了当根据传统编程方法编程存储单元时,施加于控制栅的电压与编程操作的数量之间的关系图;图2示出了根传统编程方法编程的存储单元的阈值电压的分布图;图3示出了当通过另一传统编程方法编程存储单元时,施加于控制栅的电压与编程操作的数量之间的关系图;图4示出了根据另一传统编程方法完成粗略阶段时以及完成精细阶段时的阈值电压分布图;图5示出了根据传统编程方法,当验证操作中使用的参考电压波动时,存储单元的阈值电压分布图;图6示出了根据本发明的实施例的非易失半导体存储设备的框图;图7示出了根据本发明该实施例的非易失半导体存储设备中编程处理的流程图;图8示出了根据本发明的该实施例,被施加的电压与编程操作的数量之间的关系图,以及阈值电压与编程操作的数量之间的关系图;图9示出了根据本发明实施例完成第一编程阶段时的阈值电压分布以及完成第二编程阶段时的阈值电压分布;以及图10示出了当施加于控制栅的电压恒定时,编程时间和阈值电压之间的关系图。
具体实施例方式
以下将参考附图来描述本发明的实施例。图6示出了根据本发明实施例的包括编程设备的非易失半导体存储设备100。该非易失半导体存储设备100具有存储单元阵列101,编程电路102(写电路),验证电路103,读电路104,比较电压产生电路105,比较器106,以及控制器107。编程电路102,验证电路103,读电路104,比较电压产生电路105,比较器106以及控制器107构成编程设备。
作为编程的目的的存储单元阵列101被配置为快闪存储单元阵列。存储单元阵列101包括以矩阵形式排列的多个存储单元。每一存储单元具有层叠栅极结构(浮动栅结构)。也就是说,在存储单元的MOS晶体管中,浮动栅提供于基底和控制栅之间。并且,每一存储单元是MLC(多级单元)。
存储单元的编程包括以下步骤将编程脉冲施加到存储单元(控制栅)的编程步骤,以及验证(检查)存储单元的阈值电压是否变得高于或等于期望值(电平)的验证步骤。验证步骤紧随编程步骤。连续执行一对编程步骤和验证步骤,直到存储单元的阈值电压满足期望值。通过连续的编程步骤和连续的验证步骤来编程每一存储单元。
并且,根据该实施例,存储单元的编程能够被分为“第一编程阶段”和“第二编程阶段”。换句话说,非易失半导体存储设备100(编程电路102)被配置为在第一编程阶段期间,以“第一编程模式”操作,并且在第二编程阶段期间,以“第二编程模式”操作。在每一编程阶段,连续执行一对编程步骤和验证步骤。如随后所述那样,以不同的方式执行第一编程阶段和第二编程阶段。
编程电路102具有脉冲产生器121和条件寄存器122。该脉冲产生器121生成编程脉冲,其在每一编程步骤被施加到存储单元的控制栅。条件寄存器122存储指示当前编程步骤是处于第一编程阶段还是处于第二编程阶段的信息。通过参考条件寄存器122,脉冲产生器121确定将被产生的编程脉冲。在第一编程阶段期间,脉冲产生器121产生“第一编程脉冲”,而在第二编程阶段期间,脉冲产生器121产生“第二编程脉冲”。
验证电路103、读电路104、比较电压产生电路105以及比较器106构成用于验证的装置(验证电路)。在验证步骤中,验证电路检查(验证)存储单元的阈值电压是否高于或等于预定电压(参考电压)。换句话说,验证电路确定编程步骤的结果是通过还是失败。
在验证步骤中,验证电路103将验证电压施加到存储单元的各控制栅和漏极。读电路104具有读出放大器(放大器)并且从每一存储单元读取单元电压。比较电压产生电路105产生一比较电压,该比较电压用于确定电流是否在源极和漏极之间流动。例如,比较电压产生电路105产生一个电压值为施加于控制栅的验证电压的二分之一的电压,以作为比较电压。比较器106将读电路104输出的单元电压与比较电压产生电路105输出的比较电压进行比较。然后,比较器106将比较的结果输出到控制器107。控制器107控制编程电路102、验证电路103、读电路104、比较电压产生电路105以及比较器106的操作。由此,控制器107指示各电路的操作时序和操作电压。一旦完成存储单元阵列101中所有存储单元的编程,输出控制器108将指示完成的信息通过焊盘109输出到外部。
图7示出了非易失半导体存储设备100中编程处理的流程图。图8示出了编程步骤中施加于控制栅的编程电压Vcg与编程时间(编程操作的数量)之间的关系,以及阈值电压(值)Vth与编程操作的数量之间的关系。根据本实施例,编程被分为第一编程阶段和第二编程阶段。如以下所述,在第一编程阶段,存储单元的阈值电压增加到预定电平。在第二编程阶段,第一编程阶段中获得的存储单元的阈值电压分布的下限稍微地增加。
首先,控制器107将表示第一编程阶段的信息写入条件寄存器122。在第一编程阶段,脉冲产生器121产生“第一编程脉冲”以作为施加于存储单元的编程脉冲。脉冲产生器121将初始编程脉冲的编程电压设置为初始值(初始编程电压)。初始编程脉冲用于第一编程阶段中的第一编程步骤(步骤S1)。控制器107指示验证电路103以产生作为验证电压的“第一参考电压Vref1”。另外,控制器107指示比较电压产生电路105以产生电压值为第一参考电压Vref1一半(0.5*Vref1)的电压。编程电路102通过将步骤S1产生的初始编程电压施加到存储单元(第一存储单元)的控制栅并且通过将预定电压施加到存储单元的漏极,编程存储单元(步骤S2)。
接下来,验证电路103将预定电压施加到存储单元的漏极,并且将第一参考电压Vref1施加到存储单元的控制栅。比较器106执行读电路104从存储单元读取的单元电压与比较电压产生电路105产生的比较电压之间的比较。所以,关于第一参考电压(第一电平)而执行验证(步骤S3)。当读电路104输出的单元电压小于或等于比较电压产生电路105所输出的比较电压(0.5*Vref1)时,能够确定出电流没有在存储单元的源极和漏极之间流动。换句话说,能够确定出存储单元的阈值电压变得高于或等于第一参考电压Vref1。根据上述步骤S3,基于比较器106的比较结果,控制器107确定其阈值被证实高于或等于第一参考电压Vref1的存储单元通过了验证(“通过”),并且确定其阈值电压被证实低于第一参考电压Vref1的存储单元验证失败(“失败”)。
对于在步骤S3中验证操作的结果被确定为“通过”的存储单元来说,第一编程阶段完成。另一方面,对于验证操作的结果被确定为“失败”的存储单元来说,处理返回到步骤S2并且再一次执行编程。在该情况中,每次编程操作的数量递增,编程产生器121产生一编程电压,该编程电压比先前编程电压高ΔVcg1(步骤4)。所以,如图8的图形(a)所示,当编程操作的数量递增时,施加于存储单元的控制栅的编程电压Vcg增大。换句话说,当编程操作的数量递增时,第一编程脉冲的“编程能力”逐步增加。在此,通过脉冲电压(编程电压Vcg)与脉冲宽度(Δt1)的乘积来定义编程能力。
如图8的图形(b)所示,随着编程操作的数量的递增,存储单元的阈值电压Vth增加。在第一编程阶段,重复执行步骤S2到步骤S4,直到存储单元通过验证。换句话说,重复执行步骤S2到步骤S4,直到存储单元的阈值电压Vth达到第一参考电压Vref1。对所有的目的存储单元(第一存储单元)执行相似的操作。控制器107重复第一编程阶段,直到在步骤S3确定所有的第一存储单元“通过”。结果,每一第一存储单元的阈值Vth被设置为高于或等于第一参考电压。
图9示出了完成第一编程阶段时的阈值电压分布。如图9中的图形(a)所示,当完成第一编程阶段时,各存储单元的阈值电压分布在第一参考电压Vref1到上限电压Vupper的范围内。通过使用分布宽度ΔVth1,上限电压Vupper可表示为(Vupper=Vref1+ΔVth1)。分布宽度ΔVth1与增量宽度ΔVcg1成比例。
根据本实施例,第二编程阶段紧随第一编程阶段。在完成第一编程阶段之后,控制器107将表示第二编程阶段的信息写入条件寄存器122。在第二编程阶段,脉冲产生器121产生“第二编程脉冲”,以作为施加于存储单元的编程脉冲。脉冲产生器121将第二编程脉冲的编程电压设置为以下值,即比第一编程阶段中的最终编程电压低预定宽度ΔVcg2的值(步骤S5)。最终编程电压是第一编程阶段中最后施加的最终编程脉冲的编程电压。
并且,控制器107指示验证电路103以产生“第二参考电压Vref2”来作为验证电压。另外,控制器107指示比较电压产生电路105以产生电压值为第二参考电压Vref2的二分之一(0.5*Vref2)的电压。第二参考电压Vref2高于第一参考电压Vref1(参见图9)。并且,第二参考电压Vref2低于上限电压Vupper,也就是,在第一编程阶段获得的第一存储单元的阈值电压分布的上限。例如,第二参考电压Vref2被设置为稍微高于第一参考电压Vref1。
首先,验证电路103将预定电压施加于存储单元的漏极,并且将第二参考电压Vref2施加于存储单元的控制栅。比较器106执行以下的比较,即读电路104从存储单元读取的单元电压与比较电压产生电路105所产生的比较电压之间的比较。所以,关于第二参考电压(第二电平)而执行验证(步骤S6)。当读电路104输出的单元电压低于或等于比较电压产生电路105所输出的比较电压(0.5*Vref2)时,能够确定电流没有在存储单元的源极和漏极之间流动。换句话说,能够确定存储单元的阈值电压高于或等于第二参考电压Vref2。根据上述的步骤S6,基于比较器106的比较结果,控制器107确定其阈值被证实高于或等于第二参考电压Vref2的存储单元通过了验证(“通过”),并确定其阈值被证实低于第二参考电压Vref2的存储单元验证失败(“失败”)。
对于在步骤S6中验证操作的结果为“通过”的存储单元来说,第二编程阶段完成。然而,如图9阴影线区域所示那样,在第一编程阶段中编程的部分第一存储单元具有比第二参考电压Vref2低的阈值。正好在第一编程阶段之后,其阈值高于第一参考电压Vref1而低于第二参考电压Vref2的这样的存储单元称为第二存储单元。在第一编程阶段后的第一步骤S6中,第二存储单元被确定为“失败”。编程电路102将步骤S5中设置的第二编程脉冲重复地施加到第二存储单元,直到第二存储单元的阈值高于或等于第二参考电压Vref2(步骤S7)。换句话说,连续地执行第二编程阶段,直到第二存储单元通过验证步骤S6。结果,如图9的图形(b)所示那样,阈值电压分布的下限增加到第二参考电压Vref2。
通过脉冲电压(编程电压)与脉冲宽度的乘积来定义编程能力。根据本实施例,第二编程阶段中的第二编程脉冲的脉冲宽度设置为Δt1,其与第一编程阶段中的第一编程脉冲的脉冲宽度相同。如上所述,如图8所示,第二编程阶段中的编程电压被设置为低于第一编程阶段中的最终编程电压。并且如图8所示,第二编程阶段中的第二编程电压保持恒定。因此,第二编程阶段中第二编程脉冲的编程能力低于第一编程阶段中第一编程脉冲的编程能力。在该情况中,如图8的图形(b)所示,第二编程阶段中阈值电压的增长率低于第一编程阶段中阈值电压的增长率。结果,如图9的图形(b)所示,即使完成第二编程阶段之后,阈值电压分布的上限也不会改变并且保持在电压值为Vupper。
图10示出了当施加于控制栅的编程电压保持恒定时,编程时间和阈值电压之间的关系。如图10所示,在编程电压相同的情况中,阈值电压展示出关于编程时间(脉冲宽度)的饱和特性。同样,即使当将第二编程阶段中的第二编程电压设置为与第一编程阶段的最终编程电压相同的值,而不是设置第二编程电压低于最终编程电压的时候,由于第二编程脉冲的阈值电压的增长率低于由于第一编程脉冲的阈值电压的增长率。也就是说,如图8的图形(b)所示,第二编程阶段中的阈值电压Vth的增长率低于第一编程阶段中的阈值电压Vth的增长率。如上所述,根据本发明,不但能够将第二编程电压设置为低于最终编程电压,而且能够设置为与最终编程电压相同。
在以上的描述中,第二编程脉冲的脉冲宽度(Δt1)被设置为等于第一编程脉冲的脉冲宽度。然而,第二编程脉冲的脉冲宽度能够被设置为低于第一编程脉冲的脉冲宽度。在该情况中,如果第二编程阶段中的第二编程电压等于第一编程阶段中的最终编程电压,那么第二编程阶段中的编程能力低于第一编程阶段的编程能力。或者,可以设置第二编程电压,以致于第二编程阶段的编程能力低于第一编程阶段的编程能力。
对所有的第二存储单元执行相似的操作。作为第二编程阶段的结果,获得了如图9中图形(b)所示的所有存储单元的最终阈值电压分布。最终阈值电压分布的下限高于正好在第一编程阶段之后的先前阈值电压分布的下限。而且,与先前阈值电压分布相比,最终阈值电压分布的上限不变。如图9所示,最终阈值电压分布的宽度ΔVth2小于先前的分布宽度ΔVth1。由于第二编程阶段,阈值电压分布变窄,但没有移动上限。
作为一个比较实例,考虑以下情况,即根据上述专利文献1中所述的传统方法来编程存储单元(参见图3)。在此,假设由于粗略阶段编程而获得图9的图形(a)所示的阈值电压分布,并且对第二存储单元执行精细阶段编程,其中第二存储单元的阈值电压低于第二参考电压Vref2而稍微高于第一参考电压Vref1。如图3所示,精细阶段中的编程电压高于粗略阶段中的最后编程脉冲的编程电压。也就是说,精细阶段中的编程能力高于粗略阶段中的编程能力。因此,由于精细阶段编程,部分存储单元的阈值超过了在粗略阶段中获得的阈值电压分布的上限(Vupper)。所以,根据专利文献1所述的技术,使分布宽度变窄而不移动粗略阶段编程中所获得的阈值电压分布的上限是不可能的。
根据本发明,一旦完成第一编程阶段,就对其阈值高于第一参考电压Vref1而低于第二参考电压Vref2的第二存储单元执行第二编程阶段。在此,第二编程期间所提供的第二编程脉冲的编程能力等于或低于在第一编程阶段最后提供的最终编程脉冲的编程能力。因此,第二编程阶段内阈值电压的增长率低于第一编程阶段中阈值电压的增长率。所以,在第二编程阶段中,阈值电压分布的下限增加,同时阈值电压的上限不改变。如图9所示,阈值电压分布的宽度从ΔVth1变窄为ΔVth2。随着阈值电压分布的宽度变窄,两个邻近的分布之间的容限变宽。因此,提高了读操作的精度。
在本实施例中,示出并描述了以下实例,其中在完成所有存储单元的第一编程阶段之后,对具有的阈值电压低于第二参考电压Vref2的存储单元执行第二编程阶段。除了上述实例,以下的操作也是可能的。也就是说,每个存储单元执行第一编程阶段和第二编程阶段。在该情况中,当某一存储单元通过了步骤S3(第一验证),那么立刻对该存储单元执行第二编程阶段。
虽然参考其优选实施例示出和描述了本发明,但是根据本发明的非易失半导体存储设备和编程方法并不限于上述实施例。本发明能够在脱离上述特定细节的其他实施例中实施,这对于本领域技术人员来说是显而易见的。因此,本发明的范围将通过权利要求来确定。
权利要求
1.一种对非易失半导体存储设备中具有浮动栅结构的存储单元进行编程的方法,包括第一编程步骤,将第一编程脉冲施加于第一存储单元,同时逐渐地增加所述第一编程脉冲的编程能力,直到所述第一存储单元的阈值电压变得高于或等于第一参考电压,所述编程能力通过脉冲电压与脉冲宽度的乘积来定义;以及第二编程步骤,将第二编程脉冲施加于包括在所述第一存储单元内并且具有的阈值电压低于第二参考电压的第二存储单元,直到所述第二存储单元的所述阈值电压高于或等于所述第二参考电压,所述第二参考电压高于所述第一参考电压,所述第二编程脉冲的编程能力低于或等于最终编程脉冲的编程能力,所述最终编程脉冲是所述第一编程步骤中最后施加的所述第一编程脉冲。
2.根据权利要求1的编程方法,其中所述第二参考电压低于在所述第一编程步骤中所获得的所述第一存储单元的阈值电压分布的上限。
3.根据权利要求1的编程方法,其中所述第二编程脉冲的脉冲电压低于或等于所述最终编程脉冲的脉冲电压。
4.根据权利要求2的编程方法,其中所述第二编程脉冲的脉冲电压低于或等于所述最终编程脉冲的脉冲电压。
5.根据权利要求1的编程方法,其中所述第二编程脉冲的脉冲宽度低于或等于所述最终编程脉冲的脉冲宽度。
6.根据权利要求2的编程方法,其中所述第二编程脉冲的脉冲宽度低于或等于所述最终编程脉冲的脉冲宽度。
7.一种对非易失半导体存储设备中具有浮动栅结构的存储单元进行编程的方法,包括第一编程步骤,将第一编程脉冲施加于存储单元;第一验证步骤,验证所述存储单元的阈值电压是否变得高于或等于第一参考电压;重复步骤,重复所述第一编程步骤,同时逐步递增所述第一编程脉冲的编程能力,直到所述存储单元通过所述第一验证步骤,所述编程能力通过脉冲电压和脉冲宽度的乘积来定义;第二验证步骤,验证所述存储单元的所述阈值电压是否变得高于或等于第二参考电压,所述第二参考电压高于所述第一参考电压;以及第二编程步骤,将第二编程脉冲施加到所述存储单元,同时所述第二编程脉冲的编程能力保持恒定,直到所述存储单元通过所述第二验证步骤。
8.根据权利要求7的编程方法,其中所述第二编程脉冲的所述编程能力低于或等于最终编程脉冲的编程能力,所述最终编程脉冲是所述重复步骤中最后被施加的所述第一编程脉冲。
9.一种非易失半导体存储设备,包括多个存储单元,每一存储单元具有浮动栅结构;以第一编程模式和第二编程模式进行操作的编程电路;以及验证电路,用于验证所述多个存储单元的一个存储单元的阈值电压是否变得高于或等于预定电压,其中所述编程电路在所述第一编程模式中将第一编程脉冲施加到所述多个存储单元的第一存储单元,同时逐步递增所述第一编程脉冲的编程能力,直到所述验证电路证实所述第一存储单元的阈值电压变得高于或等于第一参考电压,所述编程能力是通过脉冲电压和脉冲宽度的乘积来定义的,以及所述编程电路在所述第二编程模式中将第二编程脉冲施加到包括在所述第一存储单元内并且具有的阈值电压低于第二参考电压的第二存储单元,直到所述验证电路证实所述第二存储单元的所述阈值电压变得高于或等于所述第二参考电压,所述第二参考电压高于所述第一参考电压,所述第二编程脉冲的编程能力低于或等于最终编程脉冲的编程能力,所述最终编程脉冲是所述第一编程模式最后施加的所述第一编程脉冲。
10.根据权利要求9的非易失半导体存储设备,其中所述第二参考电压低于在所述第一编程模式中所获得的所述第一存储单元的阈值电压分布的上限。
11.根据权利要求9的非易失半导体存储设备,其中所述第二编程脉冲的脉冲电压低于或等于所述最终编程脉冲的脉冲电压。
12.根据权利要求10的非易失半导体存储设备,其中所述第二编程脉冲的脉冲电压低于或等于所述最终编程脉冲的脉冲电压。
13.根据权利要求9的非易失半导体存储设备,其中所述第二编程脉冲的脉冲宽度低于或等于所述最终编程脉冲的脉冲宽度。
14.根据权利要求10的非易失半导体存储设备,其中所述第二编程脉冲的脉冲宽度低于或等于所述最终编程脉冲的脉冲宽度。
15.一种非易失半导体存储设备,包括通过连续编程步骤编程的存储单元;编程电路,在各所述编程步骤中将编程脉冲施加于所述存储单元;以及验证电路,用于确定被施加了所述编程脉冲的所述存储单元的编程结果是通过还是失败,其中所述编程电路包括脉冲产生器,在第一编程阶段中,所述脉冲产生器产生具有每一编程步骤中递增编程能力的所述编程脉冲,并且在紧随所述第一编程阶段之后的第二编程阶段中,所述脉冲产生器产生具有编程能力保持恒定的所述编程脉冲,所述编程能力通过脉冲电压和脉冲宽度的乘积来定义,以及基于所述第一编程阶段中的第一参考电压并基于第二编程阶段中的第二参考电压,所述验证电路确定所述编程结果是通过还是失败,其中所述第二参考电压高于所述第一参考电压。
16.根据权利要求15的非易失半导体存储设备,其中所述脉冲产生器设置所述第二编程阶段中的编程能力低于或等于所述第一编程阶段中最后编程步骤所产生的所述编程脉冲的所述编程能力。
17.根据权利要求16的非易失半导体存储设备,其中所述第二编程阶段中的所述编程脉冲的脉冲电压被设置为低于或等于所述最后编程步骤中所产生的所述编程脉冲的脉冲电压。
18.根据权利要求16的非易失半导体存储设备,其中所述第二编程阶段中的所述编程脉冲的脉冲宽度被设置为低于或等于所述最后编程步骤中所产生的所述编程脉冲的脉冲宽度。
19.根据权利要求15的非易失半导体存储设备,其中所述编程电路进一步包括条件寄存器,其指示所述第一编程阶段或所述第二编程阶段。
全文摘要
存储单元阵列包括多个存储单元,每一存储单元具有控制栅和浮动栅。以随后有第二编程模式的第一编程模式操作编程电路。在第一编程模式中,编程电路将第一编程脉冲施加到第一存储单元,同时逐步递增第一编程脉冲的编程能力,直到第一存储单元的阈值电压变得高于或等于第一参考电压。在第二编程模式中,编程电路将第二编程脉冲施加到包括在第一存储单元内并且具有的阈值电压低于第二参考电压的第二存储单元,直到第二存储单元的阈值电压变得高于或等于第二参考电压,第二参考电压高于第一参考电压,第二编程脉冲的编程能力低于或等于第一编程模式中最后施加的第一编程脉冲的编程能力。
文档编号G11C16/06GK1658329SQ20051000952
公开日2005年8月24日 申请日期2005年2月21日 优先权日2004年2月19日
发明者铃木润一, 金森宏治 申请人:恩益禧电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1