半导体器件及将资料写入该半导体器件的方法转让专利

申请号 : CN200480042988.2

文献号 : CN101002279B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 山田重和

申请人 : 斯班逊有限公司斯班逊日本有限公司

摘要 :

本发明提供一种包括存储器部分的半导体器件,该存储器部分包括具有不同阈值的存储器单元;从将用输入的写入数据编程的存储器单元读取数据的读取电路;以及侦测电路,该侦测电路比较写入数据与从该内存单元读取的数据,因此侦测编程的数据造成擦除的图样。于编程期间引起擦除的图样处理为禁止操作。若确认为禁止操作,则强迫停止处理而不会由写入命令起始编程。此种方式可以避免编程造成擦除结果。

权利要求 :

1.一种半导体器件,包括:

存储器部分,该存储器部分含有具有不同阈值的存储器单元;

读取电路,该读取电路从将用输入的写入数据编程的存储器单元读取数据;以及侦测电路,该侦测电路比较写入数据与从该存储器单元读取的数据,因此侦测编程的数据造成擦除的图样,其中,当侦测到该图样时,该侦测电路产生禁止写入数据编程的信号。

2.如权利要求1所述的半导体器件,还包括用来验证的感测放大器,其中该读取电路通过该用来验证的感测放大器从该存储器单元读取数据。

3.如权利要求2所述的半导体器件,其中该读取电路通过用来验证的该感测放大器而从该存储器单元读取数据两次。

4.如权利要求1所述的半导体器件,还包括用来验证的感测放大器,其中该读取电路通过使用该用来验证的感测放大器从该存储器单元读取数据,使得从该存储器单元读取的数据与提供的特定参考单元相比较,该特定的参考单元与用来验证的参考单元相分离。

5.如权利要求1所述的半导体器件,还包括用来验证的感测放大器,其中该读取电路通过使用该用来验证的感测放大器从该存储器单元读取数据,使得从该存储器单元读取的数据与用来验证的参考单元相比较。

6.如权利要求1所述的半导体器件,还包括用来验证的感测放大器,其中该读取电路以特定的感测比通过使用该用来验证的感测放大器从该存储器单元读取数据,该特定的感测比与验证时所用的感测比不同。

7.如权利要求1所述的半导体器件,其中该存储器部分包括可同时操作的板块。

8.如权利要求1所述的半导体器件,其中:

该存储器部分包括可同时操作的板块;以及

这些板块共享读取电路和侦测电路。

9.如权利要求1所述的半导体器件,其中该读取电路包括感测放大器用来从该存储器部分读取数据。

10.如权利要求5所述的半导体器件,其中该用来验证的感测放大器包括移位从该存储器单元读取数据的读取电平的晶体管电路。

11.如权利要求1所述的半导体器件,还包括电路将由该侦测电路侦测的结果输出至该半导体器件的外部。

12.如权利要求1所述的半导体器件,其中该半导体器件为半导体存储器件。

13.如权利要求1所述的半导体器件,其中这些阈值为三个或更多个不同的阈值。

14.一种将数据编程在具有不同阈值的存储器单元中的方法,包括下列步骤:从将要用输入的写入数据编程的存储器单元读取数据;

将该写入数据与从该存储器单元读取的数据相比较,因此侦测编程的数据引起擦除的图样;以及当侦测到该图样时,产生禁止写入数据编程的信号。

15.如权利要求14所述的方法,其中该不同的阈值可以是三个或更多个不同的阈值。

说明书 :

技术领域

本发明关于半导体器件及将数据写入该半导体器件的方法。详言之,本发明关于具有多位存储器单元的半导体器件,以及将数据写入该多位存储器单元的方法。

背景技术

最近,譬如闪存的半导体存储器器件已经要求要有增加的存储器容量。所提出的多位半导体存储器器件符合了上述的要求。此种半导体存储器器件提出于日本专利申请公开第8-235886号和2002-216485号。这些公开申请案显示在一个存储器单元中能够储存二个或更多个位。
于具有多位存储器单元的半导体存储器器件中,二位信息能够储存在具有四个电平描述为1、2、3和4的存储器单元中。四个电平的每一电平对应于输入或输出数据的二位的四种组合中的个别其中一种情况。这些电平1、2、3和4个别定义为二位输入或输出数据(1,1)、(0,1)、(1,0)和(0,0)。此处,数据“0”定义为编程状态,而数据“1”定义为擦除状态。存储器单元的编程将储存的数据从“1”改变至“0”,而擦除将储存的数据从“0”改变至“1”。一般而言,闪存禁止由写入命令将存储器单元中的数据从“0”改变至“1”。
当闪存被供以写入命令而改变存储器单元于第2电平至第三电平状态的临限电压Vth时,实际的编程操作改变存储器单元中的数据从(0,1)至(1,0)。也就是说,二个位中的其中一个位从“0”改变至“1”。此意味着在此编程中执行了擦除。

发明内容

本发明欲解决于先前技术中之上述问题,并提供一种半导体器件及编程该半导体器件并在编程过程中可避免擦除的方法。
本发明包括半导体器件,该半导体器件包括:含有具有不同阈值的存储器单元的存储器部分;从将用输入的写入数据编程的存储器单元读取数据的读取电路;以及侦测电路,该侦测电路比较写入数据与从该存储器单元读取的数据,因此侦测编程的数据造成擦除的图样(pattern)。上述问题能藉由侦测于编程期问引起擦除的图样而得以解决。
可以组构侦测电路使得产生禁止写入的数据编程的信号。
可以组构半导体电路使得进一步包括用来验证的感测放大器,其中读取电路通过用来验证的感测放大器从该存储器单元读取数据。于此组构中,较理想的情况是,读取电路通过用来验证的感测放大器从该存储器单元读取数据两次。
可以组构半导体器件使得进一步包括用来验证的感测放大器,其中读取电路藉由使用用来验证的感测放大器从该存储器单元读取数据,使得从该存储器单元读取的数据与提供的特定参考单元相比较,该特定的参考单元与用来验证的参考单元相分离。
可以组构半导体器件使得进一步包括用来验证的感测放大器,其中该读取电路藉由使用用来验证的感测放大器而从该存储器单元读取数据,使得从该存储器单元读取的数据与用来验证的参考单元相比较。于此架构中,较佳的情况是,用来验证的感测放大器具有晶体管电路,该晶体管电路移位(shifts)可从该存储器单元读取数据的读取电平。
可以组构半导体器件使得进一步包括用来验证的感测放大器,其中该读取电路在特定感测比藉由使用用来验证的感测放大器从该存储器单元读取数据,该特定的感测比与验证时所用的感测比不同。
可以组构半导体器件使得存储器部分包括可同时操作的板块(bank)。于此种组构中,较佳的情况是,存储器部分包括可同时操作的板块,而这些板块共享读取电路和侦测电路。
可以组构半导体器件而使得读取电路包括感测放大器用来从该存储器部分读取数据。
可以组构该半导体器件使得进一步包括将该侦测电路侦测的结果输出至半导体器件的外部的电路。
本发明为一种将数据编程在具有不同阈值的存储器单元中的方法,包括下列步骤:从将要用输入的写入数据编程的存储器单元读取数据;以及将该写入数据与从该存储器单元读取的数据相比较,因此侦测编程的数据引起擦除的图样。本方法可包括步骤:当侦测到图样时,产生禁止写入的数据编程的信号。在此半导体器件和方法中,该不同的阈值可以是三个或更多个不同的阈值。

附图说明

图1为依照本发明的第一实施例半导体器件的区块图;
图2为依照第一实施例半导体器件的详细区块图;
图3显示用来读取的参考单元的阈值Vth;
图4显示施加至字符线WL的电压;
图5显示用来编程和预先读取的参考单元的阈值Vth;
图6为数据输入缓冲器的电路组态的图标;
图7为用来验证的感测放大器的电路组态的图标;
图8显示流经用来验证的感测放大器的侦测电流;
图9为故障检查电路的电路配置图;
图10为第一实施例中编程操作的时序图;
图11为依照本发明的第二实施例半导体器件的详细区块图;
图12显示用来编程和预先读取的参考存储器单元的阈值Vth;
图13为使用在第二实施例中用来验证的感测放大器的电路组态图;
图14为于第二实施例中编程操作的时序图;
图15为依照第三实施例半导体器件的详细区块图;以及
图16为于第三实施例中编程操作的时序图。

具体实施方式

现将参照所附图式而详细说明本发明的各个实施例。
(第一实施例)
图1为依照本发明的第一实施例半导体器件的区块图。如图1中所示,半导体器件1装备有控制电路2、程序次序电路3、数据输入缓冲器4、验证感测区块5、存储器核心6、故障检查电路(abort checkcircuit)7、和数据输出电路8。半导体器件1为具有同时操作(SO)的多位闪存。为了简化的目的,省略关于擦除的电路区块。
控制电路2就在编程之前设定将要被编程的存储器单元的数据读取(预先读取)周期,以便侦测于编程期间引起擦除的图样。程序次序电路3藉由施加编程电压Vpp在存储器单元而实际编程该存储器单元。半导体器件1可以是封装的半导体存储器器件,或可以是譬如系统LST的半导体器件的一部分。
数据输入缓冲器4将输入的写入数据INPUT I/O DATA转换成INPUTDATA(A)和INPUTDATA(B),该转换后的数据应用至故障检查电路7。INPUTDATA(A)和INPUTDATA(B)表示将写入于单一存储器单元的数据的电平。存储器核心6为半导体器件1的存储器部分,并由各个能够以不同的阈值储存多个位的存储器单元组成。有多种具有上述能力的存储器单元的类型,而且可使用任何类型的多位存储器单元。
验证感测区块5读出存在于来自存储器核心6的存储器单元中的数据,并将此存储器单元存在的数据CELLDATA(01)供应至故障检查电路7。SO功能允许于编程另一板块期间将从一板块读取数据,而使得读取感测放大器不能使用。基于上述的考量,涉及编程的读取电路使用验证感测放大器53,其将于后文中讨论。于进入正式编程阶段后,藉由编程验证操作而从存储器单元读取数据,并将此数据提供至控制电路2,如数据PGMV--_data。当控制电路2判定编程正常完成时,控制电路2提供信号PROGRAM_OK至数据输出电路8,该数据输出电路8输出通过信号(pass signal)至半导体器件1的外部。
故障检查电路7将输入的写入数据INPUTDATA与在存储器单元中的存在数据CELLDATA(01)作比较,并侦测于编程期间引起擦除的图样。若侦测到此图样,则故障检查电路7产生异常信号(abortsignal)。反之,若于编程期间未侦测到引起擦除的图样,则故障检查电路7产生无异常信号(no_abort signal)。这些信号供应至数据输出电路8和控制电路2。控制电路2反应于该异常信号而停止编程。数据输出电路反应于该异常信号而输出失败信号(fail signal)至半导体器件1的外部。因此,于编程期间万一有引起擦除的图样,则由写入命令所指示的编程被强迫终止,而没有起始编程。因此可以防止于编程期间发生擦除的情况发生。
现将依照第一实施例半导体器件1的区块图而予详细说明。图2为显示依照第一实施例半导体器件1的详细区块图。如图2中所示,半导体器件1包括控制电路2、数据输入缓冲器4、验证感测区块5、存储器核心6、故障检查电路7、数据输出电路8、地址缓冲器9和10、读取参考单元11A至11C、读取感测放大器12和13A至13C、以及比较器电路14A至14C。
具有SO功能的半导体器件具有多个板块,各板块装备了独立的定位系统。于编程或擦除另一库期间,能从板块读取数据。为了避免增加芯片面积,各库共享在编程和擦除时所用的验证感测放大器,并共享在读取时所用的读取感测放大器。
控制电路2接收从半导体器件1的外部供应的控制信号(譬如芯片致能信号和写入致能信号)和供应自指定的命令缓存器的控制信号,并根据该控制信号施行读取、编程和擦除操作。数据输入缓冲器4被供以来自控制电路2的信号PGM_SET和DATALOAD,并将外部供应的写入数据INPUT_I/O_data转换成数据INPUTDATA(A)和INPUTDATA(B),然后将此INPUTDATA(A)和INPUTDATA(B)供应至故障检查电路7。地址缓冲器9和10用来锁存由外部供应的地址信号。
存储器核心6具有二个板块BANKA和BANKB,该板块BANKA和BANKB个别装设了X译码器61和62、Y译码器63和64、以及存储器单元数组65和66。各存储器单元数组65和66具有排列成矩阵的电可擦除和可编程非挥发性存储器单元、字符线和位线。各存储器单元能够储存具有不同阈值的多个位。
X译码器61和62译码X地址信号,该X地址信号为锁存于地址缓冲器9和10中的部分的地址信号,并选择由译码的X地址所指定的存储器单元数组65和66中的存储器单元。Y译码器63和64译码锁存于地址缓冲器9和10中的部分的地址信号的Y地址信号,并选择由译码的Y地址所指定的存储器单元数组65和66中的存储器单元。
读取感测放大器12感测于存储器单元数组65和66中选择的存储器单元中从该存储器单元读取数据时的流动电流,并将此感测的单元电流转换成对应的电压。参考单元11A至11C与侦测选择的单元的电平相关。同时选择三个参考单元11A至11C以使能够于读取时快速感测。读取感测放大器13A至13C感测流经参考单元11A至11C的电流,并将此感测的电流转换成对应的电压。读取感测放大器13A至13C分别与参考单元11A至11C协作。
比较器电路14A至14C比较存在于由读取感测放大器12所侦测的存储器单元中的数据与由读取感测放大器13A至13C所感测的参考单元11A至11C的电流,因此确认存储器单元的数据的电平。由此读取的数据的电平输出至数据输出电路8作为存储器单元数据。比较器电路14A至14C分别与读取感测放大器13A至13C协作以达成快速读取处理。
验证感测放大器区块5包括五个参考单元51A至51E、验证感测放大器52和53、和比较器电路54。五个参考单元中的三个参考单元51A至51C用来进行一般的编程验证。其余的二个参考单元51D和51E用来预先读取。参考单元51D用来第一次预先读取,而参考单元51E用来接着该第一次预先读取后的第二次预先读取。
验证感测放大器52感测流经参考单元51A至51E的电流,并将该感测的电流转换成对应的电压。验证感测放大器53感测流经读取与其中所存数据相关的存储器单元的电流。于预先读取时,验证感测放大器53读取于存储器单元中存在的数据两次。比较器电路54比较由该验证感测放大器53所感测的存储器单元中存在的数据与由该验证感测放大器52所感测的参考单元的各电平,并决定存储器单元中存在数据CELLDATA的电平。
故障检查电路7比较读自数据输入缓冲器4的写入数据INPUTDATA与供自比较器电路54于存储器单元中的存在数据CELLDATA,并侦测于编程期间发生擦除的图样。若侦测到图样,则故障检查电路7提供异常信号至控制电路2和数据输出电路8,而这些电路会终止序列而不起始编程。若未侦测到图样,则故障检查电路7提供无异常信号(No_abort signal)至控制电路2,该控制电路2起始编程。数据输出电路8反应于无异常信号而输出表示完成编程的通过信号至半导体器件1的外部,并反应于该异常信号而输出表示编程已被禁止的失败信号至半导体器件1的外部。于正式读取时,数据输出电路8输出单元数据至外部。
验证感测放大器53和故障检查电路7分别对应于所需的读取电路和侦测电路。
现将说明读取操作,其中从存储器核心6读取数据并将其输出至半导体器件1的外部。图3图式说明读取参考单元11的阈值Vth。图4图式说明施加到字符线WL的电压。于图3中,水平轴表示各存储器单元的阈值,垂直轴表示存储器单元的数目。各存储器单元的阈值根据编程的数据而具有任何的第一电平(Level 1)、第二电平(Level 2)、第三电平(Level 3)和第四电平(Level 4)。第一电平、第二电平、第三电平和第四电平分别对应于二位的数据“11”、“01”、“10”、“00”。
如图3中所示,阈值Vth定义于存储器单元的邻接电平间之中点处。“读取电平1-2”的阈值Vth为参考单元11A的阈值,用来鉴别存储器单元的Level 1与Level 2之间。“读取电平1、2-3、4”的阈值Vth为参考单元11B的阈值,用来鉴别存储器单元的Level 1、Level 2和Level 3、Level 4之间。“读取电平3-4”的阈值Vth为参考单元11C的阈值,用来鉴别Level 3和Level 4之间。
如图4中曲线IV所示,判定施加到存储器单元数组65和66的字符线WL的电压(Vgate)以便使在Level 4的单元电流(Idrain)趋近于0。连接到参考单元11的字符线WL被提供与供应至存储器单元数组65和66的字符线相同的电压。因此,不同量的电流流经具有不同阈值的参考单元11A至11C。读取感测放大器13A至13C将流经参考单元11A至11C的电流转换成对应的电压,然后将这些电压分别供应至三个比较器电路14A至14C。比较器电路14A至14C比较各存储器单元的电平与参考电压的电平,并确认于这些存储器单元中的数据。数据输出电路8将单元数据输出至半导体器件1的外部。
图5为说明设于验证感测区块5中参考单元51的阈值Vth。阈值Vth_PGM2为用来验证编程的参考单元51A的阈值,以便判定存储器单元于编程处理中是否已正确地编程至Level 2。阈值Vth_PGM3为用来验证编程的参考单元51B的阈值,以便判定是否存储器单元于编程处理中已正确地编程至Level 3。
阈值Vth_PGM4为用来验证编程的参考单元51C的阈值,以便判定是否存储器单元于编程处理中已正确地编程至Level 4。符号Vt1为用来第一次预先读取的参考单元51D的阈值。符号Vt2为用来第二次预先读取的参考单元51E的阈值。
如图5中所示,用来预先读取的阈值Vt1和Vt2定义于存储器单元的邻接电平间的中点处。也就是说,这些阈值与用来读取的阈值Vth相同。依照第一实施例,藉由提供两个用来预先读取的参考单元51D和51E而不改变感测放大器的负载来执行预先读取。
现将说明编程。验证感测放大器53施行预先读取两次,俾使在起始编程之前储存于将要被编程的存储器单元中的现有的数据被读取两次。于第一次预先读取时,验证感测放大器53感测流经存储器单元的电流,并将该电流转换成对应的电压,该电压供应至比较器电路54作为现有的数据CELLDATA。控制电路2施加电压至连接至具有阈值Vt1的参考单元51D的字符线。验证感测放大器52感测流经参考单元51D的电流,并将该电流转换成对应的电压,然后将该电压供应至比较器电路54作为参考数据。比较器电路54参考来自参考单元51D的参考数据,并判定于存储器单元中的现有数据是在Level 1、2或Level 3、4。
于第二次预先读取时,验证感测放大器53感测流经存储器单元的电流,并将该电流转换成对应的电压,然后将该电压供应至比较器电路54作为现有数据CELLDATA。控制电路2施加电压至连接至具有阈值Vt2的参考单元51E的字符线。若于存储器单元中的现有数据是在Level 1或Level 2,则验证感测放大器52感测流经用来第二次预先读取的参考单元51E的电流,并将该电流转换成对应的电压,然后将该电压供应至比较器电路54作为与第二次预先读取有关的参考数据。比较器电路54参考上述来自参考单元51E的参考数据,并判定于存储器单元中的现有数据是否是在Level 1或Level 2。
当存储器单元是在Level 2而其藉由参照来自数据输入缓冲器4的INPUTDATA信号而判定用来编程存储器单元至Level 3的写入命令被输入时,则故障检查电路7产生异常信号,仅禁止编程或将该编程处理为错误。于此种方式,可防止于编程期间发生擦除。除了上述的情况,故障检查电路7产生无异常信号,而控制电路2产生PGM_START信号以执行编程。反应于此信号,程序次序电路3实际编程该存储器单元。
现将说明数据输入缓冲器4。图6为数据输入缓冲器4的结构的图式。如图6中所示,数据输入缓冲器4系由输出数据INPUTDATA(A)的电路和输出数据INPUTDATA(B)的另一电路所组成。二个电路的每一个包含有反相器41a至41e、PMOS晶体管42a至42c、和NMOS晶体管43a至43e。VCC电源供应器线用来供应电源至各电路。符号INPUT_I/O_data为外部供应的写入信号。符号INPUTDATA为写入数据。
PMOS晶体管42a和42b以及NMOS晶体管43a系串联连接于供应电源Vcc与接地Vss之间。PMOS晶体管42a和NMOS晶体管43b的闸极系藉由将控制电路2确认接收写入命令时所产生的PGM_SET信号通过利用反相器41a反相所获得的信号来控制。PMOS晶体管42b和NMOS晶体管43a的闸极系由信号INPUT_I/O_data所控制。反相器41c和41d以及NMOS晶体管43d和43e形成闩锁电路。
NMOS晶体管43c和43d的闸极系由来自控制电路2的DATALOAD信号所控制。PMOS晶体管42c的闸极由重置信号RESETB所控制。锁存在闩锁电路中的数据经由反相器41e供应至故障检查电路7。
现将说明验证感测放大器53。图7为验证感测放大器53的电路配置图。如图7中所示,验证感测放大器53包括PMOS晶体管531a和531b、NMOS晶体管532a至532d、NAND电路533和负载534。偏压电路535由NMOS晶体管532a、532c和532d以及PMOS晶体管531b所形成。PMOS晶体管531a、负载534、和NMOS晶体管532a和532b系串联连接于电源供应器Vcc和接地Vss之间。
同样情况,PMOS晶体管531b以及NMOS晶体管532d和532e系串联连接于供应电源Vcc与接地Vss之间。NMOS晶体管532b和PMOS晶体管531a和531b的闸极系由于信号PGM_SET和重置信号RESETB的NAND操作的输出信号所控制。NMOS晶体管532c的闸极系由流经存储器单元的电流CORE_DRAIN所控制。NMOS晶体管532a的闸极系由NMOS晶体管532d与532c之间的节点N1的电位所控制。PMOS晶体管531a和NMOS晶体管532a之间的节点N2的电位如CELLDATA供应至比较器电路54。第一实施例使用两个参考单元51D和51E用来预先读取,使得可实现预先读取而不须改变验证感测放大器53的负载。
于闪存单元中,于读取存取时电流流过。因此,箝制低于1(V)的电压施加作为存储器单元的汲极电压,以避免其错误的编程。于该实施例中,节点N2被箝制于大约0.8(V)。
图8显示由验证感测放大器53所侦测的电流。于图8中显示NOR型闪存的例子。于闪存中,当电子未充电于单元的浮置闸极时,存储器单元允许电流流动,使得保持数据“1”于擦除状态。反之,当电子已充电于单元的浮置闸极时,该单元不允许电流流动,使得保持数据“0”于已编程状态。验证感测放大器53感测流动于存储器单元中的单元电流CORE_DRAIN,并将该电流转换成对应的电压,然后将该电压供应至比较器电路54作为存储器单元的现有的数据CELLDATA。
现将说明故障检查电路7。图9显示故障检查电路7的配置。如图9中所示,故障检查电路7包括反相器71a和71b、NAND电路72和NOR电路73。故障检查电路7比较由验证感测放大器53所产生的数据与来自验证感测放大器52的数据,并当将写入于存储器单元的输入数据为(1,0)而存在于其中的存储器单元数据为(0,1)时,产生高(HIGH)的异常信号。详言之,当INPUTDATA(A)为低(LOW)而INPUTDATA(B)为高(HIGH)时,则NAND电路72的输出为LOW。当NAND电路72为LOW而CELLDATA为HIGH时,则NOR电路73的输出为HIGH。也就是说,当将存储器单元编程至Level 3(10)的写入命令被输入且此存储器单元是在Level 2(01)时,故障检查电路7产生高电平异常信号。
图10为编程的时序图。图10的部分(a)显示当产生无异常信号时的序列,而部分(b)显示当产生异常信号时的序列。
控制电路接收写入命令,并由于确认接收(acknowledgement)写入命令而上升信号PGM SET至HIGH。信号PGM_SET改变信号PREREAD以执行预先读取至HIGH。信号lst_READ改变至HIGH,并用验证感测放大器53执行第一次预先读取。然后,信号2nd_READ改变至HIGH,用验证感测放大器53执行第二次预先读取。在信号PGM_SET改变至HIGH之前,重置信号RESETB改变至LOW,而使数据输入缓冲器4的闩锁电路中的数据被重置。
当信号PREREAD切换至HIGH时,信号DATALOAD切换至HIGH,而数据加载到数据输入缓冲器4。当从故障检查电路7来的异常信号为LOW时,信号PGM_STASRT能切换至HIGH。当信号PROGRAM_OK切换至HIGH时,数据输出电路8由于完成编程而将通过信号PASS输出至半导体器件1的外部,则控制电路2起始实际的编程。当编程存储器单元至Level 3(10)的写入命令和此存储器单元是在Level 2(01)时,故障检查电路7设定异常信号至HIGH。反应于此异常信号,控制电路2强迫终止此处理而不起始由此写入命令所指示的编程。因此可以避免于编程期间的擦除。此时,数据输出电路8反应于此异常信号而输出失败信号(Fail)至半导体器件1的外部。如此可使主系统确认该主系统已经发出被禁止的写入命令的信号。
依照第一实施例,藉由比较输入的写入数据与储存在存储器单元内的数据而侦测于编程期间引起擦除的图样。由此侦测的图样处理为禁止操作。当侦测到禁止操作时,强迫终止此处理而不起始由此写入命令所指示的编程,以便能妨止于编程期间的擦除。
读取及感测存储器单元中存在的数据两次,俾能减少读取电路的数目并避免由于增加读取电路的数目而增加芯片体积。
(第二实施例)
现将说明本发明的第二实施例。图11为依照本发明的第二实施例半导体器件的详细区块图。如图11中所示,半导体器件100包括控制电路2、数据输入缓冲器4、验证感测放大器区块105、存储器核心6、故障检查电路7、和数据输出电路8、地址缓冲器9和10、读取参考单元11、读取感测放大器12、13A至13C、和比较器电路14A至14C。验证感测放大器区块105包括验证感测放大器52和153、和比较器电路54。第二实施例中亦使用在第一实施例的部分将给予如前面所述的相同的组件符号,并于此处省略其说明。
图12说明参考存储器单元51的阈值Vth。阈值Vt_PGM2为用来验证编程的参考单元51A的阈值,以便决定是否存储器单元于编程处理中已正确地编程至Level 2。阈值Vt_PGM3为用来验证编程的参考单元51B的阈值,以便决定是否存储器单元于编程处理中已正确地编程至Level 3。阈值Vt_PGM4为用来验证编程的参考单元51C的阈值,以便决定是否存储器单元于编程处理中已正确地编程至Level 4。
第二实施例并不使用用来预先读取的参考单元51D和51E,而是使用用来PGM_LEVEL2的参考单元51A和用来PGM_LEVEL3的参考单元51B以便预先读取。用来PGM_LEVEL3的参考单元51B用来第一次预先读取,而用来PGM_LEVEL2的参考单元51A用来第二次预先读取。于此种情况,若于存储器单元中的数据用图7中所示的验证感测放大器读取而没作任何的修饰,则将无法获得用来LEVEL2和LEVEL3的足够的裕度(margin)。必须记住,第二实施例使用图13中所使用的验证感测放大器153系为了确保有足够的裕度。
图13为使用来第二实施例中的验证感测放大器的电路组态图。如图13中所示,验证感测放大器153包括PMOS晶体管531a、531b和531c、NMOS晶体管532a至532d、NAND电路533、负载534、和反相器536。验证感测放大器153亦使用在验证感测放大器53的部分将给予如前面所述的相同的组件符号,并于此处省略其说明。
为了保证有足够的读取裕度,依照图13中所示的第二实施例,增加用来旁通部分负载534的PMOS晶体管531c以便当信号PREREAD切换至HIGH时减少验证感测放大器153的负载。PMOS晶体管531c于预先读取时移位存储器单元中现有数据的电平。当信号PREREAD为HIGH时,此情况将于节点N2可获得的CELLDATA移位至较高的电位。也就是说,在感测存储器单元储存数据“0”时,能感测存储器单元如同该存储器单元具有高于一般“0”的阈值。此意味着增加数据“0”的读取裕度。
图14为于第二实施例中编程操作的时序图。图14的(a)部分显示当产生无异常信号时的序列,而(b)部分显示当产生异常信号时的序列。于此范例操作中,显示于图10中的信号lst_READ和信号2nd_READ分别由PGMV_LEVEL3和PGMV_LEVEL2所取代。控制电路2接收写入命令,并切换指示写入命令确认接收的信号PGM_SET至HIGH。此信号PGM_SET改变用来执行预先读取的信号PREREAD至HIGH。当信号PGMV_LEVEL3为HIGH时,用验证感测放大器153施行第一次预先读取。当信号PGMV_LEVEL2为HIGH时,用验证感测放大器153施行第二次预先读取。
于第一次预先读取时,验证感测放大器153于下列的序列有减少的负载。信号PREREAD切换至HIGH,而反相器536的输出改变至LOW。因此,PMOS晶体管531c导通,而负载534改变至预先读取使用,其中负载534有减少的负载。因此,于节点N2的CELLDATA电位移位至较高的电平。
控制电路2施加电压至连接至具有阈值Vth_PGM3的参考单元51B的字符线。验证感测放大器52感测流经参考单元51B的电流,并将该电流转换成对应的电压,该电压供应至比较器电路54。比较器电路54参考来自参考单元51B的数据,并判定在存储器单元中的现有数据是否是在LEVEL1、2或LEVEL3、4。于第二次预先读取时,验证感测放大器153于上述相同的序列具有减少的负载。也就是说,信号PREREAD切换至HIGH,而反相器536的输出改变至LOW。因此,PMOS晶体管531c导通,而负载534改变至预先读取使用,其中负载534有减少的负载。于是,于节点N2的CELLDATA电位移位至较高的电平。
控制电路2施加电压至连接至具有阈值Vth_PGM2的参考单元51A的字符线。验证感测放大器52感测流经参考单元51A的电流,并将该电流转换成对应的电压,该电压供应至比较器电路54。比较器电路54参考来自参考单元51A的数据,并判定在存储器单元中的现有数据是否是在LEVEL1或LEVEL2。于切换信号DATALOAD至HIGH之前,先将重置信号RESETB改变至LOW,并重置数据输入缓冲器4的锁存电路中的数据。当信号PREREAD切换至HIGH时,信号DATALOAD改变至HIGH,而数据因此加载至数据输入缓冲器4。
故障检查电路7在除了判定存储器单元是在LEVEL2且输入编程此存储器单元至LEVEL3的命令的情况以外,并不设定异常信号至HIGH。当异常信号为LOW时,控制电路2改变信号PGM_START至HIGH,而使得起始实际的编程。控制电路基于完成编程而将信号PROGRAM_OK改变至HIGH,并且数据输出电路8输出信号PASS至半导体器件100的外部。
当编程此存储器单元至LEVEL3的写入命令和此存储器单元是在LEVEL2时,故障检查电路7改变异常信号至HIGH。此时,数据输出电路8输出失败信号(Fail)至半导体器件100的外部。于此种方式,处理被强迫终止而不起始由写入命令所指示的编程,使得可避免于编程期间的擦除。
依照此第二实施例,验证感测放大器153改变成具有于预先读取时适合预先读取的负载,而使得可实现使用具有某裕度的感测比的读取。再者,不须额外提供专用来预先读取的参考单元。
(第三实施例)
现在将说明第三实施例。第一和第二实施例为具有同时操作(SO)功能的闪存。相对于这些闪存,第三实施例应用来习知的闪存而不具有SO功能。图15为依照第三实施例半导体器件的详细区块图。如图15中所示,半导体器件200包括控制电路2、数据输入缓冲器4、验证感测区块105、存储器核心206、故障检查电路7、数据输出电路8、地址缓冲器9、读取参考单元11、读取感测放大器12和13A至13C、以及比较器电路14A至14C。第三实施例中亦使用在第一和第二实施例部分者给予如前面相同的组件符号,并于此处省略其说明。第三实施例不具有一板块涉及编程且另一板块同时涉及读取的情况。因此,藉由使用读取感测放大器12而施行预先读取。
图16为于第三实施例中编程操作的时序图。图16的部分(a)显示当产生无异常信号时的序列,而部分(b)显示当产生异常信号时的序列。控制电路2接收写入命令,并切换指示此命令确认接收的信号PGM_SET至HIGH。此信号PGM_SET改变用来执行预先读取的信号PREREAD至HIGH,并藉由一次预先读取操作而读取现存数据,该一次预先读取操作与使用读取感测放大器12的正式读取操作相同。
详言之,电压(Vgate)施加到连接至存储器单元263的字符线WL和连接至参考单元11的字符线WL。读取感测放大器12将流经存储器核心单元的电流转换成对应的电压。读取感测放大器13A至13C转换流经参考单元11A至11C的电流,并将这些电流转换成对应的电压,然后将这些电压供应至三个比较器电路14A至14C。然后,比较器电路14A至14C比较存储器单元的电平与来自读取感测放大器13A至13C的电平,并确认送至故障检查电路7作为CELLDATA(01)的存储器单元数据。
信号DATALOAD改变至HIGH之前,重置信号改变至LOW,并因此重置数据输入缓冲器4的闩锁电路中的数据。当信号PREREAD改变至HIGH时,信号DATALOAD改变至HIGH,而数据加载数据输入缓冲器4中。当来自故障检查电路7的异常信号为LOW时,控制电路2将信号PGM_START改变至HIGH,并实际起始编程。当正确地完成编程时,信号PROGRAM_OK改变至HIGH,而数据输出电路8将通过信号PASS输出至半导体器件200的外部。
当将写入于存储器单元的数据是在LEVEL3(10)而此存储器单元是在LEVEL2(01)时,故障检查电路7设定异常信号至HIGH。反应于此异常信号,控制电路2强迫终止处理而不起始由命令所指示的编程。如此能避免于编程期间的擦除。此时,数据输出电路8接收异常信号并输出失败信号至半导体器件200的外部。如此可使主系统确认该主系统已经发出被禁止的写入命令。
如上所述,不具有SO功能的半导体器件不须在第一和第二实施例中使用两次执行的预先读取,因为读取感测放大器12能用来预先读取。当于一般读取操作的情况时,能由一次施行预先读取而读取存在的数据。因此,不再需要图10中所示第一实施例中的lst和2nd_READ的各波形,但是能依照信号PREREAD施行预先读取。
如关于第一和第二实施例的描述,可使用验证感测放大器53施行预先读取。于此情况,需要两次执行的预先读取。
依照针对没有SO功能的半导体器件的第三实施例,输入的写入数据是与存储器单元中现有的数据相比较以侦测于编程期间引起擦除的图样。因此可以避免于编程期间引起擦除的事情。
本案为于2004年3月26日提出的国际申请案PCT/JP2004/004294号的连续申请案。