半导体存储装置及其制造方法 【技术领域】
本发明涉及进行存储单元的程序操作和验证存储单元的程序状态的校验操作的半导体存储装置及其程序以及校验处理的控制方法。
背景技术
作为现有的半导体存储装置,根据图4~图6说明关于NOR型快速存储器及其操作方法。
图4是表示现有的NOR型快速存储器的主要部分构成例子的电路图,图5是在1个单元中存储2位的图4的NOR型快速存储器的阈值电压分布图。
在图4中,NOR型快速存储器1具有:程序控制电路11,字线电压发生电路12,主阵列行(Row)译码器13,表示由多个浮置栅晶体管组成的快速单元阵列中的1个的主单元14,参考(基准)单元行译码器15,参照用地基准阈值电压(下限设定值Vtmin)的参考单元RefA,参照用的基准阈值电压(上限设定值Vtmax)的参考单元RefB,判定用的读出放大器S/A,主单元用的读出负荷16,参考用的读出负荷17,写入电路18,开关元件16A、17A、18A、19、20A、20B。
程序控制电路11在校验操作时将校验执行信号VRFY1输出到字线电压发生电路12和开关元件16A、17A,同时,将参考单元选择信号RSA(或RSB)输出到参考单元RefA(或RefB)。另外,程序控制电路11在程序操作时将程序执行信号PROG输出到字线电压发生电路12和开关元件18A。
程序控制电路11根据来自读出放大器S/A的校验判定信号VRFY2从写入电路18将程序脉冲施加到主单元14后,执行校验操作,判定已选择的主单元14的阈值电压是否是参考单元RefA的阈值电压Vtmin以上,作为该判定结果,若主单元14的阈值电压是参考单元RefA的阈值电压Vtmin以下,就再一次返回到程序,若主单元14的阈值电压是参考单元RefA的阈值电压Vtmin以上,判定是否是另外的参考单元RefB的阈值电压Vtmax以下,(从参考单元选择信号RSA转换到参考单元选择信号RSB),若是参考单元RefB的阈值电压Vtmax以下,那么程序就正常结束,另外,若不是参考单元RefB的阈值电压Vtmax以下,就执行控制以便进行程序强制结束(失败)。
字线电压发生电路12从程序控制电路11接收程序执行信号PROG,并将程序电压输出到主阵列行译码器13和参考单元行译码器15,从程序控制电路11接收校验执行信号,并将校验电压输出到主阵列行译码器13和参考单元行译码器15。
主阵列行译码器13对被输入的地址信号ADD译码,将校验电压或程序电压输出到按照地址应选择的主阵列字线,并选择规定的主单元14。这样,主阵列译码器13还兼对地址信号译码,用于将在字线电压发生电路12中生成的字线电压(校验电压或程序电压)提供给被选择的字线的驱动器功能。此外,未图示的列(Column)译码器也对被输入的地址信号ADD译码,输出列选择信号COL,并选择按照地址应选择的规定的位线。
参考单元行译码器15,将所输入的参考单元地址ADDREF进行译码,将校验电压输出到参考单元用的字线并选择规定的参考单元RefA或RefB。这样,参考单元行译码器15也兼备用于对地址信号ADDREF译码,并将在字线电压发生电路12中生成的字线电压(校验电压或程序电压)提供给被选择的字线的驱动器功能。
读出放大器S/A在校验操作时比较并判定选择主单元14的阈值电压是否是参考单元RefA的阈值电压Vtmin,作为该结果信号将校验判定信号VRFY2输出到程序控制电路11。
此外,在图4中,只示出参考单元RefA,RefB的2个,但除参考单元RefA,RefB以外,在各存储器状态中的参考单元还需要另一途径。另外,做到通过参考单元行译码器15能够个别地选择参考单元RefA,RefB,但由于做到能够用参考单元选择信号RSA,RSB,个别地选择列(参考位线),因此使参考单元RefA,RefB的字线共同也没有问题。
通过上述构成,以下,一边参照图6一边说明关于现有的NOR型快速存储器中的程序操作和校验操作的一般的子程序。
图6是表示在图4的NOR型快速存储器中的程序操作和校验操作的流程图。此外,此处,所谓程序是设定通过将电子储蓄在主单元14的浮置栅中使作为存储单元的快速单元的阈值电压变高的处理。
首先,在步骤S1中,程序控制电路11将校验执行信号VRFY1输出到字线电压发生器12,字线电压发生器12将校验电压(5V左右)输出到主阵列行译码器13和参考单元行译码器15,主阵列行译码器13和参考单元行译码器15分别将主单元14和参考单元RefA的各字线电压设定在校验电压(5V左右)。
而且,在步骤S2中,通过执行校验,比较读出放大器S/A流经两个输入端的电流,比较主单元14的阈值电压和参考单元RefA的阈值电压Vtmin,并将该比较结果作为检验判定信号VRFY2输出到程序控制电路11,程序控制电路11根据该检验判定信号VRFY2判定主单元14的阈值电压是否是参考单元RefA的阈值电压Vtmin以上。
在步骤S2中,若主单元14的阈值电压是参考单元RefA的阈值电压Vtmin以上(YES),那么就转移(跳到)步骤S3的处理。在步骤S3中,判定主单元14的阈值电压是否是参考单元RefA的阈值电压Vtmax以下。若在步骤S2中主单元14的阈值电压是参考单元RefA的阈值电压Vtmin以上,并且,在步骤S3中该阈值电压是参考单元RefB的阈值电压Vtmax以下(YES),那么在步骤S4中,作为程序正常而结束处理。另外,若在步骤S2中主单元14的阈值电压不是参考单元RefA的阈值电压Vtmin以上,并且在步骤S3中该阈值电压不是参考单元RefB的阈值电压Vtmax以下(NO),那么在步骤S5将强制结束该程序处理(失败)。
另一方面,当在步骤S2中主单元14的阈值电压不是参考单元RefA的阈值电压Vtmin以上的场合(NO),转移到下一个步骤S6的处理,在步骤S6中程序控制电路11将程序执行信号PROG输出到字线电压发生电路12,字线电压发生电路12将程序电压(6~10V左右)输出到主阵列行译码器13,主阵列行译码器13将主单元14的字线电压设定为程序电压(6~10V左右)。此处,由于在快速存储器中由程序时的字线电压决定快速单元(主单元14)的阈值电压,因此必须根据想要设定的阈值电压变更字线电压。
接着,在步骤S7中只在0.5~1微秒期间(程序时间)从写入电路18将程序脉冲,例如5V~6V的脉冲电压施加到主单元14的浮置栅晶体管的漏极。
而且,在步骤S8中将字线电压从程序电压(6~10V左右)变更为校验电压(5V左右)。
在步骤S9中,执行校验,并判定快速单元(主单元14)的阈值电压是否是参考单元RefA的阈值电压Vtmin以上,当在步骤S9中是阈值电压Vtmin以上的场合(YES),在接着继续的步骤S3中判定该阈值电压是否只电压Vtmax以下。若在步骤S3中该阈值电压是阈值电压Vtmin以上,并且,在步骤S3中阈值电压是阈值电压Vtmax以下(YES),那么在步骤S4中设定程序正常结束。另外,若在步骤S9中该阈值电压不是阈值电压Vtmin以上,并且,在步骤S3中该阈值电压不是阈值电压Vtmax以下(NO),那么在步骤S5中设定程序强制结束(失败)。
另一方面,若在步骤S9中执行校验,并且快速单元(主单元14)的阈值电压不是阈值电压Vtmin以上(NO),那么在步骤S10中对施加程序脉冲的子程序的执行次数计数,若该计数数未满所规定的最大设定次数(YES),那么就返回到步骤S9的处理并再次进行程序脉冲施加处理。另外,若该计数数达到了所规定的最大设定次数(NO),那么在步骤S5中为防止陷入无限循环,设定为程序强制结束(失败)。
此外,在上述步骤的各处理中,在2值存储器的场合,即使没有步骤S1、S2的各处理也没有问题,但在多值存储器的场合,为了防止重复编程引起的状态变化,步骤S1、S2的处理变成必不可少。另外,在S3的处理中,对于2值存储器不需要是否是阈值电压Vtmax以下的判定。而且,步骤S10的处理在选择主单元14因某些理由是不能编程的单元,或者是难以编程的单元的场合,为防止程序子程序陷入无限循环而进行的处理。
在上述现有的NOR型快速存储器中,根据施加程序脉冲时和程序校验时的存储器操作状态变更字线电压。为此,在NOR型快速存储器内部必须设置字线电压发生器12,并根据存储器操作状态变更字线电压。
尤其,在多值存储器时,该电压控制变得非常复杂,字线电压在快速存储器的场合使用6~10V左右的高电压,在使这样的高电压变化时,从电压过渡到稳定需要长时间(数百ns~数μs)。结果电路规模的增加引起的面积增加和程序操作时间的延迟成为问题。尤其,在多值存储器的场合,越增加1个单元左右的信息量,该问题就变得更显著。
【发明内容】
本发明就是鉴于上述问题形成的,其目的在于提供能够至少谋求程序和校验操作的高速化,进而,能够谋求缩小芯片面积和减小程序操作电流的半导体存储器及其控制方法。
为达到上述目的,本发明的半导体存储装置,其特征在于,它具备由通过施加电应力(electrical stress)改变电阻值的非易失性电阻变化存储器元件和选择晶体管组成的存储器单元,以及将字线电压提供给连接到所述存储器单元的字线的字线电压提供设备,所述字线电压提供设备对于所述存储器单元的程序操作和验证所述存储器单元的程序状态的校验操作的互为前后的2个操作,将相同电压的字线电压提供给连接到写入对象的所述存储器单元的所述字线。
另外,本发明的半导体存储装置,在比较流经通过选择与输入地址相应的字线和位线所选择的规定的存储器单元和参考单元的电流值并进行校验操作和程序操作中至少校验操作的场合,所述存储器单元用非易失性电阻变化存储器元件和选择晶体管构成,施加到所述存储器单元的电压在所述校验操作时和所述程序操作时被设定为同一电压。
另外,希望本发明的半导体存储装置中的存储器单元在行方向和列方向分别配置多个,构成存储器单元阵列,所述存储器阵列具有多条所述字线和多条位线,所述字线沿着行方向共同连接到多个所述存储器单元,所述位线沿着列方向共同连接到多个所述存储器单元。
而且,希望本发明的半导体存储装置的所述存储器单元用所述非易失性电阻变化存储器元件和所述选择晶体管的串联电路构成,所述字线连接到所述选择晶体管的栅极,所述位线连接到所述串联电路的一端。
而且,希望在本发明的半导体存储装置中,所述校验操作将流经参考单元的电流值与连接到按照输入地址被选择的所述字线和所述位线的所述存储器单元进行比较并被执行。
而且,希望在本发明的半导体存储装置中,所述写入操作通过被施加到按照所述输入地址被选择的所述字线的所述字线电压将写入对象的所述存储器单元内的所述选择晶体管变成导通状态,并经由按照所述输入地址被选择的所述位线,通过将程序脉冲施加到写入对象的所述存储器单元的所述非易失性电阻变化存储器元件被执行。
而且,希望本发明的半导体存储装置中的所述非易失性电阻变化存储器元件通过按照所述程序脉冲的施加状态使电阻状态变化,能存储多值数据。
为达到上述目的,本发明的半导体存储装置的控制方法对于上述构成的本发明的半导体存储装置,按照地址输入选择连接到写入对象的所述存储器单元的所述字线,对于已选择的所述字线,在将所述字线电压设定为校验电压后,执行所述校验操作,并切不变更所述字线电压继续进行所述程序操作。
另外,希望在本发明的半导体存储装置的控制方法中,在进行了所述程序操作后,不变更所述字线电压继续进行校验操作。
为达到上述目的,本发明的半导体存储装置的控制方法对于上述构成的本发明的半导体存储装置,按照地址输入选择连接到写入对象的所述存储器单元的所述字线,对于已选择的所述字线,在将所述字线电压设定为程序电压后,执行所述程序操作,并且不变更所述字线电压继续进行所述校验操作。
在本发明中,存储器单元是用非易失性电阻变化存储器元件和选择晶体管构成的1T1R型的存储器单元,更具体地说,用非易失性电阻变化存储器元件和选择晶体管的串联电路构成,非易失性电阻变化存储器元件用通过按照经由位线被施加的电压使电阻状态变化将多值变成能存储的非易失可变电阻元件构成。另外,字线连接到选择晶体管的栅极,并能控制选择晶体管的导通状态,位线连接到所述串联电路的一端,并将写入用的电压能施加到非易失性电阻变化存储器元件而被构成。该存储器单元的字线电压在校验操作时和程序操作时能够变成相等。这只是连接到存储器单元的字线在元件选择用的选择晶体管的选择操作中才被利用。因此,象快速存储器那样通过字线电压的电压值的高低没有改变存储器元件的电阻状态。利用该原理在程序操作和校验操作时能得到将字线电压控制在恒定电压的本发明的半导体存储装置的控制方法。
因此,只使字线电压没有变化的部分能够缩短将操作从程序转换到校验的时间。与此相同,也能够缩短将操作从校验转换到程序的时间,作为其结果,能够缩短包含校验的程序的合计时间。另外,由于使字线电压没有变化,因此能够删除字线电压发生电路和控制电路或者能够简化。为此,能谋求缩小芯片面积。而且,通过使这些电路被删除或简化,能从程序时的芯片的操作电流减掉这些电路的操作电流。这些效果,尤其象多值存储器那样在校验次数多,复杂的存储器中变得尤为显著。
非易失性电阻变化存储器元件在电极间形成薄膜。该薄膜用含有锰的钙钛矿构造的氧化物,例如Pr0.7Ca0.3MnO3等材料形成,是通过在电极间施加电压,使电阻值变化的非易失性的存储器材料。
【附图说明】
图1是表示在本发明的本发明的半导体存储装置的实施形态中的主要部分构成例子的电路图。
图2是在1单元中存储2位(4值)的场合的非易失性电阻变化存储器元件的电阻值分布图。
图3是表示在本发明的半导体存储装置中的程序操作和校验操作的流程图。
图4是表示现有的NOR型快速存储器的主要部分构成例子的电路图。
图5是在1单元存储2位(4值)的NOR型快速存储器的存储器单元晶体管的阈值电压分布图。
图6是表示现有的NOR型快速存储器中的程序操作和校验操作的流程图。
【具体实施方式】
以下,一边参照附图一边说明关于本发明的半导体存储装置的一个实施形态。
图1是表示在本发明的半导体存储装置的实施形态中的主要部分构成例子的电路图,图2是在1单元中存储2位(4值)的非易失性电阻变化存储器元件的电阻值分布图。此外,在具有与图4所示的NOR型快速存储器相同或类似的功能的电路要素、电路块或信号中附加相同的符号,并省略重复的说明。
在图1中,半导体存储器装置具有程序控制电路21,主阵列行译码器22,表示多个存储器单元中的一个的主单元23,参考单元行译码器24,第1参考单元25,第2参考单元26,判定用的读出放大器S/A,读出负荷16、17,写入电路18,以及开关元件16A、17A、18A、19、20A、20B。
此处,主单元23具有作为开关元件的选择晶体管23A,以及相当于阈值电压能变化的浮置栅晶体管的、按照施加电压电阻值变化的非易失可变电阻元件23B,并用1T1R型的存储器单元构成。虽未图示,但该主单元23在行方向和列方向被配置多个,构成矩阵形状的存储器阵列(以下,也适宜地叫做主阵列)。在该存储器阵列的行方向延伸的多个字线用一定间隔被配置,该字线在每一行中分别被连接到多个选择晶体管23A的各栅极。另外,在存储器单元阵列的列方向(对行方向垂直)延伸的多个位线被配置,该位线在每一列中分别与多个非易失可变电阻元件23B的各一端连接,这些非易失可变电阻元件23B的其它各端分别被连接到各存储器单元的各选择晶体管的漏极或源极。
该非易失可变电阻元件23B在电极间形成薄膜并构成非易失性电阻变化存储器元件。另外,该薄膜作为强电介质用含有锰的钙钛矿构造的氧化物,例如Pr0.7Ca0.3MnO3等构成。此外,非易失可变电阻元件23B被连接到选择晶体管23A的前级,也可以被连接到它的后级。即,主单元23可以这样构成能够,就是说,位线与选择晶体管23B的漏极或源极连接,并使它的选择晶体管23A的源极或漏极与非易失可变电阻元件23B的一端连接。
第1参考单元25用被设定为参照用的下限设定电阻值RrefA1的参考电阻25B和参考选择晶体管25A构成,主单元23的电阻状态在是否是对应于某种存储器状态(在本实施形态中,是存储器状态R10)的电阻值分布的下限值RrefA1以上的判断中被使用。另外,第2参考单元26用被设定为参照用的上限设定电阻值RrefB1的参考电阻26B和参考选择晶体管26A构成,并且,在是否是对应于某种存储器状态(在本实施形态中是存储器状态R10)的电阻值分布的上限值RrefB1以下的判定中被使用。此外,参考单元25、26的各参考电阻25B、26B作为与主单元23的非易失可变电阻元件23B相同的非易失性可变电阻元件被构成,但也可以是电阻值是固定的固定电阻元件。
程序控制电路21在校验执行时将校验执行信号VRFY1输出到开关元件16A、17A,同时,将参考单元选择信号RSA(或RSB)输出到参考单元25(或26)。另外,程序控制电路21根据来自读出放大器S/A的校验判定信号VRFY2,从写入电路18将程序脉冲施加到主单元23后,执行校验操作,并判定非易失性可变电阻存储器元件23B的电阻值是否是参考单元25的下限设定电阻值(RrefA1)以上,在非易失可变电阻元件23B的电阻值不是它的下限设定电阻值(RrefA1)以上的程序时,将程序执行信号PROG输出到开关元件18A。这时,被选择的字线电压就会变成在程序操作时照旧也提供在校验电压时被设定的电压。
程序控制电路21根据来自读出放大器S/A的校验判定信号VRFY2,将程序脉冲从写入电路施加到主单元23后,执行校验操作,并判定非易失可变电阻元件23B的电阻值是否是参考单元25的参考电阻25B的下限设定电阻值(RrefA1)以上。作为该判定结果,若非易失可变电阻元件23B的电阻值不是参考单元25的下限设定电阻值(RrefA1)以上,那么就再次返回到程序,若非易失可变电阻元件23B的电阻值是参考单元25的下限设定电阻值(RrefA1),那么就从参考单元选择信号RSA转换成参考单元选择信号RSB,并判定非易失可变电阻元件23B的电阻值是否是参考单元26的参考电阻26B的上限设定电阻值(RrefB1)以下。作为该判定结果,若非易失可变电阻元件23B的电阻值是参考单元26的上限设定电阻值(RrefB1)以下,程序就正常结束,另外,若非易失性可变电阻元件23B的电阻值不是参考单元26的上限设定电阻值(RrefB1)以下,那么就进行控制以便进行程序强制结束(失败)。
若重复以上进行说明,那么程序控制电路21使用后述的读出放大器S/A进行校验,并判定在选择主单元25中的非易失可变电阻元件23B的电阻值是否是参考单元的参考电阻25B的下限电阻值以上。若除此以外,就认为是程序正常结束,若不是除此以外,就将程序执行信号PROG输出到开关元件18A。
主阵列行译码器22将被输入的地址信号ADD译码,并将相同的字线电压(校验电压和程序电压是相同的电压)输出到按照地址应选择的主阵列的字线,并选择规定的主单元23。此外,未图示的列译码器也将被输入的地址信号译码,并输出列选择信号COL,选择按照地址应选择的规定的位线。这样,通过选择与输入地址相应的字线和位线选择规定的主单元23和参考单元25、26。另外,在图1中,如图4那样没有字线电压发生电路12,但若字线电压与电源电压相等,那么就不需要字线电压发生电路。另一方面,在电源电压以外的电压作为字线电压变成需要的场合,字线电压发生电路需要另一种途径,但是,这时即使将程序操作和校验操作交互反复,象快速存储器那样,由于没有必要按照程序操作和校验操作使字线电压变化,因此电路构成就能够非常简单化。
参考单元行译码器24将被输入的参考单元地址信号ADDREF译码,并将字线电压(校验电压)输出到规定的参考单元用的字线,选择规定的参考单元25或26。
读出放大器S/A在校验操作时,比较并判断非易失可变电阻元件23B的电阻值是否是参考单元25的下限设定电阻值(RrefA1)以上,作为该结果信号将校验判定信号VRFY2输出到程序控制电路21。另外,读出放大器S/A在非易失可变电阻元件23B的电阻值是参考单元25的下限设定电阻值RrefA1)以上的场合,比较并判定非易失可变电阻元件23B的电阻值是否是参考单元26的上限设定电阻值RrefB1)以下,并作为该结果信号将校验判定信号VRFY2输出到程序控制电路21。
此外,在图1中,没有示出参考单元25、26的2个参考单元,但除这些参考单元25、26以外,各存储器状态中的参考单元也需要另一种途径。另外,做到由参考单元行译码器24能个别地选择2个参考单元25、26的各字线,但由于做到能用参考单元选择信号RSA、RSB个别地选择列(参考位线),因此将2个参考单元25、26的字线变为共同也没有关系。
根据上述构成,以下,一边参照图3一边说明关于图1的半导体存储器装置2中的程序和校验的子程序。此处,例如说明关于从图2的R11的存储器状态编程到R10的存储器状态的场合。
图3是表示图1的半导体存储器装置2中的程序操作和校验操作的流程图。此外,所谓程序,此处说明关于将非易失可变电阻元件23B的电阻值变高的场合,但不限于此,即使将该电阻值变低的场合也作为程序定义,在本发明中也没有问题。
首先,在步骤S11将被连接到与规定地址对应的写入对象的主单元23的选择晶体管23A的栅极的字线的字线电压设定为校验电压。这时的字线电压被设定高到选择晶体管23A的导通电阻不影响程序操作的程度。若在该字线上例如施加5~8V左右的电压,那么它的影响几乎可以忽略,但即使是电源电压程度有时候也没有问题。
接着,在步骤S12中执行校验操作,将用于通过读出放大器S/A判定非易失可变电阻元件23B的电阻值是否是参考单元25的下限设定电阻值(RrefA1)以上的校验判定信号VRFY2输出到程序控制电路21。程序控制电路21根据校验判定信号VRFY2判定非易失可变电阻元件23B的电阻值是否是参考单元25的下限设定电阻值(RrefA1)以上。在该校验操作的场合,在非易失可变电阻元件23B的两端将1~2V左右的电压施加100ns(时间)左右。此外,施加到非易失可变电阻元件23B两端的电压设定为不发生引线干扰程度的电压,通常,在程序操作时,比施加到非易失可变电阻元件23B的两端的电压小。
而且,在步骤S12中,若非易失可变电阻元件23B的电阻值是下限设定电阻值(RrefA1)以上(YES),那么在步骤S13中判定非易失可变电阻元件23B的电阻值是否是上限设定电阻值(RrefB1)以下,若非易失可变电阻元件23B的电阻值是上限设定电阻值(RrefB1)以下(YES),那么在步骤S14中进行程序结束处理。另外,若在步骤S13中非易失可变电阻元件23B的电阻值不是上限设定电阻值(RrefB1)以下(NO),那么在步骤S15中就进行强制结束处理。
另一方面,若在步骤S12中非易失可变电阻元件23B的电阻值不是下限设定电阻值(RrefA1)以上(NO),那么在步骤S16中不变更字线的电压,而向主单元23进行施加程序脉冲(在电阻两端将5~6V左右的电压施加100ns时间左右)。
在步骤S17中,从施加程序脉冲不变更字线的电压,执行校验操作,并将用于通过读出放大器S/A判定非易失可变电阻元件23B的电阻值是否是下限设定电阻值(RrefA1)以上的校验判定信号VRFY2输出到程序控制电路21。程序控制电路21根据校验判定信号VRFY2,判定非易失可变电阻元件23B的电阻值是否是下限设定电阻值(RrefA1)以上。
当在步骤S17中非易失可变电阻元件23B的电阻值是下限设定电阻值(RrefA1)以上的场合(YES),在步骤S13中判定非易失可变电阻元件23B的电阻值是否是下限设定电阻值(RrefB1)以下。若在步骤S13中非易失可变电阻元件23B的电阻值是上限设定电阻值(RrefB1)以下(YES),那么在步骤S14中进行程序正常结束处理。另外,若在步骤S13中非易失可变电阻元件23B的电阻值不是上限设定电阻值(RrefB1)以下(NO),那么在步骤S15中就进行强制结束(失败)处理。
另外,当在S17中非易失可变电阻元件23B的电阻值不是下限设定电阻值(RrefA1)以上的场合(NO),在步骤S18中对施加程序脉冲的子程序的执行次数进行计数,并判定该计数值是否未满被规定的最大次数。当在步骤S18中计数值未满最大设定次数的场合(YES),转移到步骤S16的处理。另外,当在步骤S18中计数值满足最大设定次数的场合,即,在达到了最大设定次数的场合(NO),进行步骤S15的强制结束(失败)处理。该步骤S18的处理,在选择主单元23A因某些理由是不能编程或难以编程的场合,为防止程序子程序陷入无限循环而被进行。
此外,在2值存储器的场合,即使没有步骤S11、S12的校验处理也没有问题,但在多值存储器的场合,为防止重复编程引起的状态变化,步骤S11、S12的校验处理是必不可少的。在没有步骤S11、S12的校验处理的场合,在施加程序脉冲以前有必要将字线电压设定为程序电压。但是,若执行步骤S11就没有问题。而且,是否是步骤S13的上限设定电阻值以上的判定也不需要2值用存储器。
根据以上所述,若依据本实施形态,在通过用读出放大器S/A比较流经通过选择与输入地址相应的字线和位线被选择的规定的主单元23和参考单元25或26的电流值进行校验操作和程序操作的互为前后的2个操作中至少校验操作的场合,由于用选择晶体管23A以及按照施加电压使电阻状态变化的非易失可变电阻元件23B的串联电路构成该主单元23,并且施加到存储器单元23的字线的电压在校验操作时和程序操作时被设定为同一电压,因此只按照校验操作和程序操作使字线电压没有变化的部分能谋求程序处理的高速化,另外,只是字线电压发生电路和控制电路能删除或能简化的部分能谋求芯片面积的缩小,而且,由于通过删除或简化这些电路,能从程序时的芯片的操作电流减掉这些电路的操作电流,因此能谋求程序操作电流的减小。
虽然本发明根据一种有限实施例被说明,人们知道在不脱离本发明的精神和范围由精通于该技术的人们可以做各种修改和变更。因此本发明应根据后面的权利要求进行测定。