非易失性半导体存储装置及其机密保护方法

文档序号:6751163阅读:206来源:国知局
专利名称:非易失性半导体存储装置及其机密保护方法
技术领域
本发明涉及一种具备机密保持功能的可电改写数据的非易失性半导体存储装置及其机密保护方法。
背景技术
近年来,以闪存为代表的非易失性半导体存储装置由于可电改写数据,并且即使在切断电源的状态下也可保持数据,所以被使用于各种领域中。例如,在移动电话、数字摄像机、硅音频播放机等系统中,被用作保存数据的存储装置。另外,还被用作装载在IC卡等上的微型计算机的内部存储装置。
在非易失性半导体存储装置中,例如保存使系统按期望步骤动作的程序、关于个人秘密的信息、或由著作权保护的信息等。若这些程序或信息被第三者不正当地读取,或可自由改写,则从机密信息保护上看,非常不好。因此,通常为了机密保持而在非易失性半导体存储装置中装载安全电路。
图20是表示现有的非易失性半导体存储装置的结构的电路图。如图所示,非易失性半导体存储装置具备与外部设备进行地址及数据交换用的数据输入输出缓冲器1000、实现安全功能的安全电路1003和配置多个存储单元的存储单元阵列1011。
数据输入输出缓冲器1000从外部接收地址和数据,将地址和数据分别传送到内部地址总线1001和内部数据总线1002。数据端子DATA是双向总线,例如在读取动作时,从数据端子DATA将内部数据总线1002的数据输出到外部设备,在写入动作时,将来自外部设备的数据经数据端子DATA输入内部数据总线1002。
安全电路1003具备密码存储电路1004、比较来自密码存储电路1004的输出值1006与内部数据总线1002的值的比较电路1005、和限制对存储单元阵列1011的访问的动作限制电路1008。
在存储单元阵列1011与动作限制电路1008之间,经地址总线1009和数据总线1010进行数据交换。
图21是表示上述现有非易失性半导体存储装置的机密保护方法的流程图。
首先,在步骤S2000中,设定为安全认证模式,从数据端子DATA输入解除安全功能的密码。此时,数据输入输出缓冲器1000向内部数据总线1002输出密码,将该密码输入比较电路1005。
接着,在步骤S2001中,比较电路1005比较从密码存储电路1004输出的密码1006和输入内部数据总线1002的密码的值,判断两者是否一致。
当步骤S2001中的判断结果为两个密码一致的情况下,输出H电平的判断信号1007(参照图20),在两个密码不一致的否情况下,输出L电平的判断信号1007。将这些判断信号1007输入动作限制电路1008。
若输出H电平的判断信号1007,则进入到步骤S2002,动作限制电路1008接收H电平的一致信号1007,允许解除安全功能。另外,若允许解除安全功能,则再前进到步骤S2003,内部地址总线1001与地址总线1009之间变为连接状态,并且,内部数据总线1002与数据总线1010之间变为连接状态,可访问存储单元阵列1011。
另一方面,在步骤S2001的判断中,在从数据端子DATA输入的密码与密码存储电路1004中保存的密码不一致的情况下,因为从比较电路1008输出的判断信号1007变为L电平,所以动作限制电路1008不允许解除安全功能。因此,内部地址总线1001与地址总线1009之间变为截断状态,并且,内部数据总线1002与数据总线1010之间变为截断状态,不可访问存储单元阵列1011。
如上所述,在设置安全电路1003的现有非易失性半导体存储装置中,因为只有事先知道保存在密码存储电路1004中的密码的人才能访问存储单元阵列1011,所以可防止第三者不正当访问。
专利文献特开2001-306400号公报(摘要)但是,上述具备安全电路的现有非易失性半导体存储装置的安全电路以及其机密保护方法(安全解除方法)中存在如下缺点。
第1,如图20所示,在上述现有安全电路中必需新添设置存储密码的存储电路、和用于比较该存储电路中保存的密码与从数据端子输入的密码的比较电路。因此,存储器芯片的电路规模增大。可是,随着设备的小型化,非易失性半导体存储装置也必需小型化,上述电路规模的增大成为阻碍设备小型化的主要原因。另外,作为提高安全功能的一个手段,考虑增加密码的位数,但若增加位数,则密码存储电路或比较电路的电路规模进一步增大,上述缺点更明显。
第2,为了在非易失性半导体存储装置中组装安全功能,除以前组装的动作模式外,必需新添组装称为进行比较密码存储电路中保存的密码和从数据端子输入的密码动作的安全认证模式的其它动作模式。因此,新加入其它动作模式导致控制电路变复杂,存在控制电路的电路规模增大的缺点。

发明内容
本发明的目的在于提供一种不新添加动作模式、并且仅由极少的附加电路就可实现安全功能的非易失性半导体存储装置及其机密保护方法。
本发明的非易失性半导体存储装置以具有安全保护用解除代码存储单元、和进行程序查证用列闩锁电路的非易失性半导体存储装置为前提,具备控制部,当输入解除安全功能用的密码时,在列闩锁电路中闩锁密码,进行闩锁密码与解除代码存储单元的查证动作。
从而,利用事先装载在非易失性半导体存储装置中的列闩锁电路及其程序查证功能,可进行安全认证动作,所以不用新设置动作模式,并且仅由附加电路就可实现安全功能。因此,可避免追加安全功能引起的动作控制复杂化或电路规模的增大。
在输入安全解除指令的情况下、或在输入特定地址、特定数据的情况下开始闩锁动作与查证动作,通过进一步设置任意设定安全解除指令、特定地址、特定数据的寄存器,可对每个用户或每个芯片进行任意设定,所以在未公开安全解除方法的情况下,恶意的第三者难以特定安全解除方法。因此,可进一步提高安全保护功能。
当检测密码是禁止数据时,通过控制存储单元阵列不能从外部进行访问,可使用与安全解除代码不一致的密码来排除解除安全功能的恶意访问。
作为禁止数据,有不存在程序状态数据位的密码、和在将密码的所有位区分成1或2个以上组时、在任一组中都不存在具有程序状态数据的位的密码。
在对列闩锁电路的密码闩锁动作之前未输入特定地址的情况下,或在与解除代码存储单元的查证动作之前未输入特定地址、特定数据的情况下,不执行安全功能的解除,通过还设置任意设定特定地址、特定数据用的寄存器,可对每个用户或每个芯片任意设定,所以在未公开安全解除方法的情况下,恶意第三者难以特定安全解除方法。因此,可进一步提高安全保护功能。
还设置进行密码加密处理,并输出到列闩锁电路的数据加密电路,还设置复位部,在查证动作时,判断密码与安全解除代码不一致的情况下,复位列闩锁电路中闩锁的数据,从而可进一步提高安全保护功能。


图1是表示本发明实施例1的非易失性半导体存储装置结构的电路图。
图2是表示实施例1的非易失性半导体存储装置中使用的存储单元晶体管的截面构造的截面图。
图3是表示实施例1的非易失性半导体存储装置中使用的通常存储单元阈值分布的图。
图4是表示实施例1的非易失性半导体存储装置的写入动作的流程图。
图5(a)、(b)分别是顺序表示列闩锁电路和1个列锁存器结构的电路图。
图6是表示实施例1的非易失性半导体存储装置的安全解除方法的步骤流程图。
图7是表示实施例1的非易失性半导体存储装置的安全解除方法的步骤时序图。
图8(a)-(h)是表示对应于安全解除代码和各种密码的查证动作前后的锁存数据变化的图。
图9是表示本发明实施例2的非易失性半导体存储装置结构的电路图。
图10(a)-(d)是表示禁止数据检测电路的具体构成的各种实例的图。
图11是表示实施例2的非易失性半导体存储装置的安全解除方法的步骤流程图。
图12是表示实施例2的非易失性半导体存储装置的安全解除方法的步骤时序图。
图13是表示本发明实施例3的非易失性半导体存储装置结构的电路图。
图14是表示实施例3的非易失性半导体存储装置的安全解除方法的步骤流程图。
图15是表示实施例3的非易失性半导体存储装置的安全解除方法的步骤时序图。
图16是表示本发明实施例4的非易失性半导体存储装置结构的电路图。
图17是表示本发明实施例5的非易失性半导体存储装置结构的电路图。
图18是表示实施例6的非易失性半导体存储装置中使用的存储单元阈值电压分布的图。
图19是表示实施例7的非易失性半导体存储装置中使用的存储单元阈值分布的图。
图20是表示现有非易失性半导体存储装置的结构电路图。
图21是表示现有非易失性半导体存储装置的安全解除方法的流程图。
图中10-存储单元阵列,11-主区域,12-副区域,13-安全解除码存储部,20-字线驱动器,21-源极线/驱动器,22-正高电压生成电路,23-付高电压生成电路,24-控制电路,25-指令码,26-地址码,27-位线复位电路,28-位线复位驱动器,29-列闩锁电路,30-PASS输出电路,31-列控制门,32-列驱动器,33-读出放大器,34-数据输入输出缓冲器,35-寄存器,40-安全电路,41-安全控制电路,42-禁止数据检测电路,43-地址、数据检测电路,44-数据加密电路,101-控制门,102-绝缘膜(ONO膜),103-浮动门,104-沟道氧化膜,105-源极区域,106-漏极区域,107-P井,108-深N井,109-半导体基板,200-读出判定电平,201-通常程序阈值分布,202-通常消除阈值分布,203-通常查证判定电平,204-认证判定电平,205-码存储部程序阈值分布,206-码存储部消除阈值分布,207-程序查证判定电平,208-消除查证判定电平,209-认证查证判定电平,400-位线电位检测电路,401-传输门,402-电平移动电路,403-闩锁电路,404-闩锁复位电路,MCm00~MCm13、MCo00~MCo11-存储单元,WLm0~WLm3、WLo0、WLo1-字线,SLm0、SLm1、SLo0-源极线,PWm0、PWm1、PWo0-井线,/C E-芯片使能信号,/OE-输出使能信号,/WE-写入使能信号,RY/BY-空闲/忙信号,A-地址端子,DI-数据输入端子,DO-数据输出端子,SCOM-安全解除指令检测信号,SPV-安全认证查证信号,PASS-查证结果判定信号,SPASS-安全解除信号,LDET-禁止数据检测信号,ADDET-地址数据检测信号,DSCR-数据加密信号,LRST-闩锁复位信号。
具体实施例方式
下面,对本发明的实施例,以作为代表的非易失性半导体存储装置的闪存为例进行说明。
(实施例1)—电路结构—图1是表示本发明实施例1的非易失性半导体存储装置(闪存)结构的电路图。如图所示,本实施例的非易失性半导体存储装置具备存储单元阵列10、和在存储单元阵列10中保存数据、在从存储单元阵列10中取出数据时动作的外围电路。
存储单元阵列10具备配置成矩阵状的多个存储单元MCm00-MCm13、Mco00-Mco11。存储单元阵列10被区分成作为向用户公开的区域的主区域11、和作为不向用户公开的区域的选项区域12。主区域11中配置多个存储单元MCm00-MCm13(通常存储单元)。另外,在选项区域12中还配置多个存储单元Mco00-Mco11,其中,由存储单元Mco00-Mco11(解除代码存储单元)构成安全解除代码保存部13。在主区域11中,用户可自由执行数据的读取、写入、消除动作。另一方面,在选项区域12中,用户不能自由执行数据的读取、写入、消除动作。如后所述,在选项区域12中,存储单元阵列的冗长地址信息、高电压发生电路的电压触发信息、及保存解除安全功能用的安全解除代码、由指令解码器25检测的安全解除指令、由地址解码器26解码的安全解除指令的存储单元阵列信息等。
在存储单元阵列10中设置从配置在外围电路中的字线驱动器20沿行方向延伸并连接于各存储单元栅极上的字线WLm0-WLm3、WLo0-Wlo1、从配置在外围电路中的列选通器31(列解码电路)沿列方向延伸并连接于各存储单元漏极上的位线BLm0-BLm1、从配置在外围电路中的源线/井线驱动器21沿行方向延伸并分别连接于各存储单元的源极、基板上的源线SLm0-SLm1、Slo0及井线PWm0-PWm1、Pwo0。这里,在现实的非易失性半导体存储装置的存储单元阵列中,字线、位线、存储单元等除图1中图示的外,还存在很多个,但为了简化说明,图1中仅示出各自的一部分。另外,对下面各实施例中说明的各种电路也一样。
这里,在主区域11中,存储单元MCm00-MCm11的源极连接于共用的源线SLm0,基板连接于共用的井线PWm0,由存储单元MCm00-MCm11构成M0。存储单元MCm02-MCm13的源极连接于共用的源线SLm1,基板连接于共用的井线PWm1,由存储单元MCm02-MCm13构成M1。
另外,在选项区域12中,存储单元MCo00-MCo11的源极连接于共用的源线SLo0,基板连接于共用的井线PWo0,由存储单元MCo00-MCo11构成MO0。
字线驱动器20分别接收来自地址解码器26的解码信号、和来自正高电压发生电路22及负高电压发生电路23的输出电压,向各字母施加存储单元晶体管动作必需的电压。
源线/井线驱动器2向各源线、井线施加存储单元晶体管动作必需的电压。
正高电压发生电路22发生读取、写入、删除等动作必需的正高电压。负高电压发生电路23发生读取、写入、删除等动作必需的负高电压。
控制电路24接收芯片使能信号/CE、输出使能信号/OE、写入使能/WE的输入、和来自指令解码器25的信号输入,控制读取、写入、删除的各种动作。从控制电路24输出的就绪/占线信号RY/BY等控制信号(存在多个图1中未图示的控制信号)输入字线驱动器20、源线/井线驱动器21、正高电压发生电路22、负高电压发生电路23、指令解码器25、地址解码器26、位线复位驱动器28、列闩锁电路29、PASS输出电路30、列驱动器32、读出放大器33、数据输入输出缓冲器34、寄存器35、安全电路40等,由从控制电路24输出的控制信号来控制电路整体的动作。
指令解码器25解码由从地址端子A输入的地址和从数据输入端子DI输入的数据构成的指令,发生控制各种动作开始用的信号。这里,在将解除安全功能用指令(安全解除指令)输入指令解码器25的情况下,从指令解码器25向安全控制电路41发送H电平的安全解除指令检测SCOM。这里,安全解除指令是事先专门设置的指令。
地址解码器26解码从地址端子A输入的地址,发生选择规定字线、源线、井线、位线用的解码信号。
位线复位电路27是将位线电位设定为接地电压的电路。在位线复位电路27中,晶体管DT0将位线BL0设定为接地电压,晶体管DT1将位线BL1设定为接地电压位线复位电路27的晶体管DT0、DT的栅极连接于位线驱动器28上,由从位线驱动器28输出的驱动信号BLRST来控制晶体管DT0、DT1的导通、截止。
列闩锁电路29具有对每个位线设置的列锁存器29a、29b、…。在图1所示的列闩锁电路29中,列锁存器29a连接于位线BL0,列锁存器29b连接于位线BL1。在图1中,为了简化,仅示出两个列锁存器29a、29b和两个位线BL0、BL1,但在现实器件中,因为配置很多个位线,所以以每个规定的位线数来设置多个列闩锁电路。
通常,在非易失性半导体存储装置中,在执行写入数据的锁存动作、基于锁存数据的程序动作及程序动作后判断是否适当编码存储单元的查证动作时使用列闩锁电路29。在本实施例中,特征之一在于利用列闩锁电路29的程序查证动作来执行安全保护用动作。后面描述这些动作的细节。
PASS输出电路30在查证动作时接收来自列闩锁电路29的输出信号,在判断适当编程所有存储单元的情况下,输出H电平的查证判断结果信号PASS。
列选通器31用于将位线BL0、BL1中的一个位线连接于读出放大器33。晶体管YT0、YT1的控制栅极分别连接于列驱动器32。晶体管YT0接收来自列驱动器32的信号YGO,将位线BL0与读出放大器33切换为连接、非连接。晶体管YT1接收来自列驱动器32的信号YG1,将位线BL1与读出放大器33切换为连接、非连接。
读出放大器33是如下电路判断读取动作时保存在存储单元中的数据,对应于判断结果,输出高电平信号或低电平信号。
数据输入输出缓冲器34在输入由地址和数据构成的指令时,或输入写入数据时,将从数据输入端子DI输入的指令、或写入数据输出到内部数据总线DIN。另外,在读取动作时,将从读出放大器33输出的读取数据经数据输入输出缓冲器34输出到数据输出端子DO。这里,在本实施例中,作为连接于数据输入输出缓冲器34上的外部数据端子,设置了作为输入声音单向总线的数据输入端子DI、和作为输出专用的单向总线的数据输出端子DO,但也可由兼用输入输出的双向总线来设置1个外部数据端子。
寄存器35是保存上述选项区域12中保存的冗长地址信息、电压触发信息、安全解除指令信息、安全解除代码的存储单元地址信息等各种信息的区域。将关于这些信息的信号输入正高电压发生电路22、负高电压发生电路23、指令解码器25、地址解码器26等。寄存器35连接于数据输入输出缓冲器34,在接通电源时,由读出放大器33读取选项区域12中保存的上述各种信息。读取的数据经数据输入输出缓冲器34保存在寄存器35中。在下面的说明中,将从选项区域12中读取后保存在寄存器35中的上述各种信息统称为选项数据。
本实施例的安全电路40具有安全控制电路41。安全控制电路41分别接收来自指令解码器25的信号SCOM(安全解除指令检测信号)和来自PASS输出电路30的查证判断结果信号PASS,分别输出控制地址解码器26的安全认证查证信号SPV、和执行安全功能解除的安全解除信号SPASS。
将安全解除信号SPASS输入数据输入输出缓冲器34,安全解除信号SPASS为L电平的状态是安全功能打开状态,是不能从外部访问存储单元阵列10的状态。即,在安全解除信号SPASS为L电平时,在读取动作时,不将从读出放大器33输出的读取数据输出到数据输出端子DO。此时,数据输出端子DO与读取数据无关,总是输出所有位为H电平的信号。
另一方面,安全解除信号SPASS为H电平的状态是安全功能解除状态,是可从外部访问存储单元阵列10的状态。即,在安全解除信号SPASS为H电平时,在读取动作时,将从读出放大器33输出的读取数据输出到数据输出端子DO。
在本实施例中,说明为存储器容量为1M比特,数据总线宽度为16位。因此,作为数据输入端子DI,设置DI
-DI[16]等16个端子,作为数据输出端子DO,设置DO
-DO[15]等16个端子。另外,因为字数为65536个字,所以作为地址端子A,设置A
-A[15]等16个端子。
—电路动作的概略—下面,说明根据本实施例的非易失性半导体存储装置的写入动作。开始,说明作为理解写入动作必需的、本实施例的非易失性半导体存储装置中使用的存储单元的截面结构。
图2是表示本实施例的非易失性半导体存储装置中使用的存储单元晶体管的截面构造的截面图。如图所示,在半导体基板109的表面部中形成掺杂N井108、P井07,在P井107内形成源极区域105和漏极区域106。另外,在位于半导体基板109的源极区域105与漏极区域106之间的区域(沟道区域)上从下往上顺序设置隧道氧化膜104、由多晶硅构成的浮动栅103、ONO(Oxide-Nitride-Oxide)膜102、由多晶硅构成的控制栅101。若向源极105、漏极106、P井107、和控制栅101之间施加高电压,则产生发生通过隧道氧化膜104的隧道电流的现象,所以向浮动栅103中注入电子和从浮动栅103中提取电子。通过利用存储单元(晶体管)的阈值电压随浮动栅103的电子注入状态、提取状态不同而不同,可写入、删除数据。
图3是表示本实施例的非易失性半导体存储装置中使用的通常存储单元阈值分布的图。将阈值电压比读取判断电平200低的状态(电子提取状态)设为保持数据0的程序状态(阈值分布201),将阈值电压比读取判断电平200高的状态(电子注入状态)设为保持数据1的擦除状态(阈值分布202)。在下面的说明中,将程序状态的数据说明为数据0,将擦除状态的数据说明为数据1。
作为将存储单元变为程序状态(数据0)的动作的写入动作如下进行将源极105变为开状态,分别向控制栅101施加例如-8V、向漏极106施加例如5V、向井107施加例如接地电压(0V)的电压,将浮动栅103中保存的电子提取到漏极106。从浮动栅106提取电子的晶体管的阈值电压比读取判断电位200低,所以在写入数据0的存储单元中,在读取动作时流过单元电流。
将存储单元变为擦除状态(数据1)的删除动作如下进行将漏极106变为开状态,向控制栅101施加例如5V、向源极105和井107分别施加例如-8V的电压,从源极105和井107向浮动栅103注入电子。通过将向浮动栅106注入电子的晶体管的阈值电压设定得比读取判断电位200高,在读取时没有流过单元电流。
在本实施例的闪存中,在初始状态下,所有存储单元变为作为向浮动栅中注入电子状态的数据1保持状态(擦除状态)。可向保持数据1的1个存储单元中写入数据0,但不能向保持数据0的1个存储单元中写入数据1。在写入数据1中,因为必需控制字线、源线及井线的电位,所以仅通过一个块单位的汇总删除动作就可写入数据1。
存储单元的数据判断为0或1的读取动作如下进行使用读出放大器判断在向控制栅101施加读取电压、并向源极105和井107施加接地电压(0V)、向漏极106施加1V左右电压的状态下是否流过单元电流。在流过单元电流的情况下,判断为程序状态(数据0),在未流过单元电流的情况下,判断为擦除状态(数据1),将判断结果作为读取数据输出。
下面,说明本实施例的非易失性半导体存储装置(闪存)的写入动作。
闪存的写入速度是微秒级的,非常慢。在本实施例中,因为数据输入端子DI具有16位的总线宽度,所以在通常的写入方法中,不能以16位单位来写入。因此,在闪存中配置列闩锁电路29,事先在列闩锁电路29中锁存多个写入数据(数据0或1),之后,将锁存的数据汇总写入连接于1个字线及各位线上的存储单元中,通过该方法,可实现实效的写入时间的缩短。因此,将事先将写入数据锁存在列闩锁电路29中的动作称为页面闩锁动作,将根据锁存在列闩锁电路29中的数据来执行汇总写入的动作称为页面程序动作。
在本实施例的非易失性半导体存储装置中,列闩锁电路29具有128位的数据锁存能力,即具有128个列锁存器。因为数据输入端子DI具有16位总线宽度,所以通过1周期的页面锁存动作可使16位的写入数据锁存在列闩锁电路29中的16个列锁存器中,通过执行8周期的页面锁存动作,可使128位的写入数据锁存在列闩锁电路29的所有列锁存器29a、29b、…中。此时,写入数据中包含数据0、1两者。因此,在通过页面锁存动作使128位的写入数据锁存在列闩锁电路29的列锁存器29a、29b、…中后,通过页面程序动作来执行128位的汇总写入动作。
在执行汇总写入动作时,将变为写入对象的存储单元(连接于共用字线上的存储单元)的初始状态全部设为数据1(擦除状态)。另外,在对某个存储单元的写入数据为数据0的情况下,处于擦除状态下的该存储单元变为程序状态。在向某个存储单元的写入数据为数据1的情况下,该存储单元保持擦除状态原样不变。
下面,说明使用页面锁存动作、页面程序动作执行的闪存写入动作顺序。页面锁存动作、页面程序动作本身与现有的非易失性半导体存储装置相同,是公知技术。图4是表示根据本实施例的非易失性半导体存储装置的写入动作的流程图。
首先,在步骤S300中,在向闪存接通电源后,在步骤S301中,由读出放大器33读取保存在存储单元阵列10内的选项区域12中的冗长地址信息、电压触发信息等(选项数据),经数据输入输出缓冲器34将该选项数据传送给寄存器35,保存在寄存器中。
接着,在步骤S302中,通过从地址端子A和数据输入端子DI输入程序指令,开始程序动作。
一旦开始程序动作,则在步骤S303中,通过页面锁存动作将128位的写入数据保存在列闩锁电路29中。如上所述,执行8周期的页面锁存动作。
一旦128位的页面锁存动作结束,则在步骤S304中,执行对列闩锁电路129中保存的128位数据的页面程序动作。
在页面程序动作结束后,在步骤S305中,判断成为程序对象的存储单元是否设定为规定的阈值电压(即是否达到规定的阈值电压)(程序查证动作)。在本实施例中,程序查证动作是判断是否充分执行从存储单元晶体管的浮动栅中提取电子的动作,具体而言,判断执行写入以变为程序状态的存储单元的阈值电压是否小于程序查证判断电平203(参照图3)。通过由列闩锁电路29汇总执行128位的程序查证动作。下面描述由列闩锁电路29执行的程序查证动作的细节。
步骤S305的判断结果,在程序对象的存储单元中任一存储单元的阈值电压未达到规定电压的情况下,返回步骤S304的动作,再次执行页面程序动作。若程序对象的存储单元全部设定在规定的阈值电压,则前进到步骤S306,经PASS输出电路30输出H电平的PASS信号,由此完成写入动作。
—写入动作的细节—下面,说明列闩锁电路29的结构、及使用列闩锁电路29的写入动作的细节。
图5(a)、(b)分别是顺序表示列闩锁电路29和1个列锁存器结构的电路图。如图5(a)所示,列闩锁电路对应于16位的输入数据与16个内部数据总线DIN[]-DIN[15]连接。以1个内部数据总线DIN
为例,内部数据总线DIN
连接于8个列锁存器29a-29h。通过1周期的页面锁存动作,来自内部数据总线DIN
的数据保存在列锁存器29a-29h的任一列锁存器中。通过信号PLG
-PLG[7]来选择保存的列锁存器。例如,在8周期的页面锁存动作中,在第1周期的页面存锁动作时,信号PLG
变为H电平,将来自内部数据总线DIN
的输入数据保存在列锁存器29a中。接着,通过执行页面闩锁动作,信号PLG[1]-PLG[7]依次变为H电平,将来自内部数据总线DIN
的各输入数据依次保存在列锁存器29b-29h中。
图5(b)是详细表示图5(a)的列锁存器29a的具体结构的电路图。这里,虽仅示出1个列锁存器29a的结构,但其它列锁存器29b-29h等的结构也一样。
列锁存器29a具备位线电位检测电路400、保存写入数据的锁存器403、将锁存器403的逻辑信号变换为Vpp电压的电平移位电路402、将位线BLO-电平移位电路402、锁存器403间切换成连接状态、非连接状态的传输门401、在控制信号TFG为激活状态时将传输门401的P沟道晶体管MPTO变为激活状态的反相器XI、接收位线电位检测电路400的输出后复位锁存器403的锁存数据的锁存复位电路404、和将内部数据总线DIN
和锁存器403切换为连接状态、非连接状态的晶体管MNT1、MPT1。
这里,电平移位电路402、传输门401的P沟道型晶体管MPTO、反相器XI、及位线电位检测电路400的P沟道型晶体管MPV0、MPV1上连接电压Vpp的电源。
位线电位检测电路400具有接收两个输入信号后执行NOR运算的功能,一侧输入部连接于位线BL0,另一侧的输入部连接于控制信号NVRF。另外,在控制信号为L电平,并且位线BL0的电位比位线电位检测电路的反转设定值低的情况下,输出H电平的信号。
位线电位检测电路400的输出部连接于锁存复位电路404,在位线电位检测电路400输出H电平的信号的情况下,将锁存复位电路404设定为激活状态。通过将锁存复位电路404设定为激活状态,复位锁存器403,将锁存器403的节点LAT的电位设定为H电位。
下面,说明使用如上所述构成的列闩锁电路29的写入动作。这里,以向连接于字线WLm0上的存储单元中写入数据的情况为例进行说明。
—页面锁存动作—在输入程序指令后,通过页面锁存动作将写入数据保存在锁存器403中。这里,页面锁存动作的第1周期中,信号PLG
变为H电平,晶体管MNT1、MPT1变为导通,来自内部数据总线DIN
的输入数据被保存在列锁存器29a内的锁存器403中。在锁存程序状态的数据(数据0)的情况下,节点LAT的电位维持在L电平,在锁存擦除状态的数据(数据1)的情况下,节点LAT的电位维持在H电平。
—页面程序动作—一旦8个周期的页面锁存动作结束,则执行页面程序动作。开始,将电压Vpp设定为程序电压(5V)。接着,激活控制信号TFG信号,将位线BL0与电位移位电路402、锁存器403变为连接状态。在与该动作相同的定时下,使选择的存储单元的字线WLm0的电位为-8V,使源线SLm0变为打开状态,使驱动信号BLRST变为非激活状态,使位线复位电路27变为非激活状态。
这里,若锁存器403的节点LAT的电位为L电平(数据0),则向位线BL0(存储单元的漏极)施加电压5V,向隧道氧化膜施加电压13V,在隧道氧化膜中流过FN隧道电流,执行写入动作。另一方面,若锁存器403的节点LAT的电位为H电平(数据1),则向位线BL0(存储单元的漏极)施加接地电压(0V),向隧道氧化膜施加的电压变为8V,不流过FN隧道电流,不执行写入动作。
在向各存储单元施加一定期间的写入脉冲后,传输门401变为非激活状态,分离位线BL0与锁存器403、电位移位电路402,同时,将字线WLm0和源线SLm0设定为接地电压,并使驱动信号BLRST变为激活状态,放电锁存在位线BL0中的电荷,将位线BL0设定为接地电压。通过以上操作完成程序动作。
—程序查证动作—接着,执行程序查证动作。开始,将电压Vpp设定为作为查证漏极电压的电源电压(VDD)。接着,使驱动信号BLRST变为非激活状态,使位线复位电路27变为非激活状态,同时,使传输门401变为激活状态,使位线BL0与锁存器403、电位移位电路402变为连接状态。这里,锁存器403的节点LAT的电位为L电平(数据0)的情况,即将程序状态的数据被锁存的位线预充电到作为查证漏极电压的电源电压(VDD)。另一方面,将锁存器403的节点LAT的电位为H电平(数据1)的、锁存擦除状态数据的位线维持在接地电压。
接着,在完成对锁存程序状态数据的位线的预充电的时刻,传输门401变为非激活状态,同时,向选择存储单元的字线WLm0施加程序查证电压(1V),开始查证动作。这里,着眼于锁存程序状态数据的存储单元的查证动作,则若该存储单元的阈值电压达到适当程序状态下的阈值电压(在本实施例中,只要充分除掉存储单元晶体管的浮动栅中的电子,使其阈值电压小于程序查证判断电平203(参照图3)),则存储单元中流过电流,将被预充电到查证漏极电压(VDD)的位线电荷进行放电,位线电位向接地电压下降。另一方面,在存储单元的阈值电压未达到适当程序状态下的阈值电压的情况下,存储单元中不流过电流,位线电位维持在检查漏极电压(VDD)。另外,若着眼于锁存擦除状态数据的存储单元的查证动作,则位线电位从查证开始时总是维持在接地电压。
接着,经过一定期间后,将位线电位检测电路400的控制信号NVRF设定为L电平,位线电位检测电路400变为激活状态。这里,若着眼于锁存程序状态数据的存储单元的查证动作,则若存储单元的阈值电压达到适当程序状态中的阈值电压,则位线电位变得比查证漏极电压(VDD)低,并比位线电位检测电路的反转设定值还低,所以从位线电位检测电路400输出H电平的信号,锁存复位电路404变为激活状态。由此,闩锁电路403的节点LAT的电位从L电平(数据0)改写为H电平(数据1)。另一方面,在存储单元的阈值电压未达到适当程序状态中的阈值电压的情况下,因为位线电位维持在查证漏极电压(VDD),所以从位线电位检测电路400输出L电平的信号,锁存复位电路404为非激活状态不变,闩锁电路403的节点LAT的电位保持在页面程序动作时的状态。
通过以上动作,若存储单元的阈值电压达到适当程序状态中的阈值电压,则通过程序查证动作,将锁存在节点LAT中的数据(电压值)改写为H电平(数据1),所以不执行以后的程序动作。另外,若着眼于锁存擦除状态数据的存储单元的查证动作,则因为位线电位维持在接地电压,所以从位线电位检测电路400输出H电平的信号,锁存复位电路404被设定为激活状态。从而,闩锁电路403的节点LAT的电位被设定为H电平(数据1),但这不变为查证开始时的状态。
在上述列闩锁电路的结构中,若汇总程序查证动作后的节点LAT中锁存的数据(锁存数据)的变化状态,则如下所述。
表1

如表1的第1栏所示,在查证开始时的锁存数据为L电平(数据0)的情况下,在保存在存储单元中的数据(存储单元数据)为程序状态数据(数据0)的情况下,查证结束后的锁存数据从L电平(数据0)反转为H电平(数据1)。
如表1的第2栏所示,在查证开始时的锁存数据为L电平(数据0)、存储单元数据为擦除状态的数据(数据1)的情况下,查证结束后的锁存数据维持L电平(数据0)。
如表1的第3栏、第4栏所示,在查证开始时的锁存数据为H电平(数据1)的情况下,与保存在存储单元中的数据状态无关,查证结束后的锁存数据维持H电平(数据1)。
这里,在表1的第3栏所示的、查证开始时的锁存数据为H电平(数据1)、存储单元数据为程序状态数据(数据0)的情况下,实际上,执行页面程序的存储单元在页面程序前全部变为擦除状态(数据1),所以实际数据改写时的程序查证动作是不可能发生的情况。但是,如后所述,在本发明的安全保护功能中利用该动作的情况下,保存安全解除代码的存储单元的一部分有时当然为程序状态(数据0),所以产生这种情况。此时,无论写入数据与存储单元数据是否一致,查证动作结束后的锁存数据为1。
在通过程序查证动作使所有锁存数据(锁存在节点LAT中的数据)变为H电平(数据1)的情况下,即写入数据与存储单元数据一致的情况下,从PASS输出电路30输出H电平的PASS信号,结束写入动作。另一方面,若未达到适当程序状态的阈值电压值的存储单元还有1位,则在程序查证结束后,存在锁存数据LAT为L电平(数据0)的单元,所以从PASS输出电路30输出L电平的PASS信号,反复进行提取程序动作和查证动作,直到输出H电平的PASS信号为止。
—机密保护方法—下面,详细说明利用上述公知的程序查证动作的、涉及本发明的非易失性半导体存储装置的机密保持方法(或安全解除方法)。
本发明的机密保护方法(安全解除方法)的特征在于使用非易失性半导体存储装置中预备的列闩锁电路、页面锁存动作及程序查证动作来执行。
图6是表示实施例1的非易失性半导体存储装置的安全解除方法的步骤流程图。
首先,在步骤S500中,若执行电源接通动作,则在带安全功能的非易失性半导体存储装置中,在步骤S501中,因为安全功能作用,所以从外部访问存储单元阵列10变为禁止状态。
接着,在步骤S502中,读出放大器33读取保存在选项区域12中的冗长地址信息、电压触发信息、安全解除指令信息、安全解除代码的存储单元地址信息等(选项数据),经数据输入输出缓冲器34保存在寄存器35中。
接着,在步骤S503中,从地址端子A和数据输入端子DI输入用于解除安全功能的安全解除指令。
接着,在步骤S504中,若检测输入适当的安全解除指令,则移动到输入用于解除安全功能的密码的步骤。通过页面锁存动作,将输入密码保存在列闩锁电路29中。通过执行8周期的页面锁存动作,将输入数据端子DI
-DI[15]将128位的密码保存在列闩锁电路29中。
若完成对列闩锁电路29的密码保存,则在步骤S505中,执行列闩锁电路29中保存的密码与解除代码保存部13中保存的安全解除代码的查证动作。在以下说明中,将列闩锁电路29中保存的密码与安全解除代码保存部13的存储单元中保存的安全解除代码的查证动作称为[安全认证查证动作]。
在步骤S505的判断中,在结束安全认证查证动作后,锁存数据LAT全部变为H电平(数据1)的情况下,即,判断输入密码与安全解除代码一致的情况下,从PASS输出电路30输出H电平的PASS信号,前进到步骤S506,解除安全功能。
在解除安全功能后,在步骤S507中,可从外部访问存储单元阵列10,可进行读取、写入、删除等动作。
另一方面,在结束安全认证查证动作后,节点LAT的锁存数据未全部变为H电平(数据1)的情况下,即,判断输入密码与安全解除代码不一致的情况下,从PASS输出电路30输出L电平的PASS信号,前进到步骤S508,不解除安全功能。此时,从外部对存储单元阵列10的访问仍为禁止状态不变。
如上所述,为了解除安全功能,必需输入安全解除指令,之后输入与存储单元中保存的安全解除代码完全相同的密码。
时序7是表示实施例1的非易失性半导体存储装置的安全解除方法的步骤时序图。
如图所示,在时刻T0,输入安全解除指令。在本实施例中,安全解除指令为3周期的指令(CA0-CA2、CD0-CD2),但安全解除指令的周期数不限于3周期。指令解码器25检测输入安全解除指令,将H电平的信号SCOM输出到安全控制电路41。此时,从数据输出端子DO
-DO[15]输出不允许读取信号FFFh(Outputdisable),为不可读取状态。
接着,安全控制电路41从接收H电平的信号SCOM的时刻T1开始,移动到输入解除安全功能的密码的步骤。通过页面锁存动作,将输入密码保存在列闩锁电路29中。通过执行8周期页面锁存动作,从输入数据端子DI
-DI[15]将128位的密码(P0-P7)保存在列闩锁电路29中。这里,页面锁存动作时的输入地址端子A的设定是任意(Don’t Care)的。
接着,从结束对列闩锁电路29的密码页面锁存动作的时刻T2开始,就绪/占线信号RY/BY变到L电平,变为占线状态,执行列闩锁电路29中保存的密码与安全解除代码保存部13的存储单元中保存的安全解除代码的查证动作。在查证动作时,安全控制电路41向地址解码器26输出H电平的安全认证查证信号SPV。若向地址解码器26输入H电平的SPV信号,则地址解码器26发生解码信号,以选择选项区域12中保存安全解除代码13的存储单元的地址。
接着,在时刻T2a,选择连接于安全解除代码保存部13的存储单元MCo01、MCo11上的字线WLo1,向该字线WLo1施加从正高电压发生电路22输出的输出电压Vpv。从而,执行列闩锁电路29中保存的密码与安全解除代码的查证动作。
接着,在时刻T2b,在通过上述查证动作判断密码与安全解除代码一致的确良情况下,即查证动作结束后的锁存数据LAT全部变为H电平的情况下,从PASS输出电路30输出H电平的PASS信号。将H电平的PASS信号输入安全控制电路41,接收H电平的PASS信号的安全控制电路41输出H电平的安全解除信号SPASS。将该SPASS信号输入数据输入输出缓冲器34,由此,解除安全功能,可从外部访问存储单元阵列10。
在时刻T2c,查证动作结束,将选择字线WLo1设定为接地电压。
在时刻T3以后,因为解除安全功能,所以若进行读取动作,则分别向数据输出端子DO
-DO[15]输出存储单元的数据DO-D2。
在上述查证动作时,在判断密码与安全解除代码不一致的情况下,即,查证动作结束后的锁存数据LAT未全部变为H电平的情况下,从PASS输出电路30输出L电平的PASS信号。安全控制电路41输出L电平的安全解除信号SPASS,不解除安全功能。此时,即使执行读取动作,也不能读取存储单元的数据,总是从数据输出端子DO
-DO[15]仅输出FFFFh(Output disable)。
—安全解除代码与密码的关系—图8(a)-(h)是表示对应于安全解除代码和各种密码的查证动作前后的锁存数据变化的图。
对如上所述通过8周期的页面锁存动作保存在列闩锁电路中的128位的锁存数据执行本实施例的查证动作,但这里为了简化说明,说明1字大小的数据(16位)的锁存数据的变化状态。设保存在存储单元中的安全解除代码值为5555h。
如图8(a)所示,在输入与安全解除代码相同的5555h作为密码的情况下,查证动作后的锁存数据全部变为数据1,所以从PASS输出电路30输出H电平的PASS信号,解除安全功能。
这里,如图8(b)所示,在将0055h的密码保存在列闩锁电路29中的情况下,查证动作后的锁存数据中锁存数据为数据0、安全解除代码为数据0的第15、第13、第11、第9、第7、第5、第3、第1锁存数据从数据0反转为数据1。另一方面,锁存数据为数据0、安全解除代码为数据1的第14、第12、第10、第8锁存数据仍为数据0不变。因此,并非所有锁存数据变为数据1,所以从PASS输出电路30输出L电平的PASS信号,不解除安全功能。
如图8(c)所示,在将FFFFh的密码保存在列闩锁电路29中的情况下,查证动作后的锁存数据全部为数据1不变。如上所述,是由于在查证开始时的锁存数据为数据1的情况下,与保存在存储单元中的存储单元数据状态无关,查证结束后的锁存数据为数据1不变化。因此,因为锁存数据全部变为数据1,所以尽管密码与安全解除代码不一致,都从PASS输出电路30输出H电平的PASS信号,解除安全功能。
如图8(d)、(e)、(f)、(g)所示,即使在输入锁存数据分别为7FFFh、FF7Fh、7F7Fh、7777h的情况下,也与图8(c)所示情况一样,因为查证动作后的锁存数据的全部变为数据1,所以尽管密码与安全解除代码不一致,都从PASS输出电路30输出H电平的PASS信号,解除安全功能。下面详细说明图8(c)-(g)及图8(h)。
因此,基本上仅在查证动作后的锁存数据全部为数据1的情况下、即输入密码与安全解除代码一致的情况下,解除安全功能。但是,通过设定特殊的密码,尽管密码与安全解除代码不一致,也都能解除安全功能,但通过排除具有某个数据(图8(c)-(g)所示数据)的密码的单元,可删除这种可能性。以后面的其它实施例中说明具体单元。
这里,因为由保存在寄存器35中的安全解除指令信息来决定上述实施例中的安全解除指令,所以通过变更寄存器35中保存的值、即事先保存在选项区域12中的安全解除指令信息,可随时进行变更。通过如此构成,可对每个用户、或每个芯片任意设定、变更安全解除指令,所以在未公开安全解除指令的情况下,恶意第三者难以特定安全解除指令。因此,可进一步提高安全保护功能。
另外,因为由保存在寄存器35中的安全解除代码的存储单元地址信息来决定安全认证查证动作时的查证对象存储单元地址,所以通过变更寄存器35中保存的值、即事先保存在选项区域12中的安全解除代码的存储单元地址信息,可随时进行变更。通过如此构成,可对每个用户、或每个芯片任意设定、变更保存安全解除代码的存储单元的地址,所以难以特定保存安全解除代码的存储单元的地址。因此,恶意第三者难以破解安全解除指令,可进一步提高安全保护功能。
并且,在本实施例中,说明输入密码与安全解除代码为与闪存中执行页面程序的存储单元位数(列闩锁电路29中的列锁存器数)相同的128位,但也可使输入密码与安全解除代码的位数与闪存的列闩锁电路29中的列锁存器数不同。例如,也可在设输入密码与安全解除代码为64位的情况下,通过4周期的页面锁存动作将64位的密码保存在列闩锁电路29中。因此,在本发明中,安全解除代码的位数是可变的,可根据设备侧的请求来自由设定安全保护功能。
如上所述,本发明利用执行非易失性半导体存储装置中预备的汇总写入动作的列闩锁电路29中来执行安全认证动作,所以象现有的带安全保护功能的非易失性半导体存储装置那样,不必需密码保存锁存电路、比较电路,可不增大电路规模地实现安全功能。另外,因为利用将写入数据保存在列闩锁电路中的页面锁存动作和确认锁存数据与存储单元数据一致的查证动作来执行安全认证动作,所以可不必具有新的动作模式、不增大控制电路的电路规模就可实现安全功能。并且,因为非易失性半导体存储装置中汇总写入位数(列锁存位数)多,所以可不增大电路规模就可增加安全位数。即,可容易提高安全保护功能。
另外,因为可由寄存器中设定的值来任意设定、变更安全解除指令、安全解除代码的存储单元地址,所以可进一步提高安全保护功能。
这里,也可在检测出输入有不是安全解除指令的特定地址、特定数据之一或两者后,执行安全功能的解除动作(锁存动作、查证动作)。该检测动作既可在电源接通时进行,也可在复位模式解除时进行,也可在将写入数据保存在列闩锁电路中的页面锁存动作的开始前进行。
并且,通过保存对每个用户、或每个芯片设定的特定地址、特定数据的值来作为寄存器35内的特定地址、数据信息,可随时变更寄存器35中保存的值、即事先保存在选项区域12中的特定地址、数据信息。通过如此构成,因为可对每个用户、或每个芯片任意设定、变更特定地址、数据,所以恶意第三者难以破解特定地址、特定数据,可进一步提高安全保护功能。
(实施例2)在实施例1的查证动作中,例如,在锁存数据全部为数据1的情况下,与存储单元中保存的安全解除代码的数据无关,查证动作后的锁存数据全部变为数据1,所以在查证动作中必然输出H电平的PASS信号。因此,若在列闩锁电路中全部保存数据1的密码,则可与安全解除代码的数据无关地解除安全功能。因此,设置检测输入锁存数据是禁止数据的检测单元。这里,所谓禁止数据是指将输入数据的所有位分成1或2个以上组时,1个组中的所有位为数据1的数据。换言之,所谓禁止数据是指不正当密码的输入数据(锁存数据)。在通过检测单元检测输入数据(锁存数据)是禁止数据的情况下,不执行安全功能的解除。
—电路结构及动作—图9是表示实施例2的非易失性半导体存储装置(闪存)的结构的电路图。在图9所示电路中,由相同符号来表示与上述实施例1相同的结构要素,省略该结构要素的说明。在本实施例的说明中,仅说明与图1所示电路中不同的结构要素。
在图9所示电路中,除图1所示实施例1的电路外,在安全电路40中设置禁止数据检测电路42。禁止数据检测电路42上连接内部数据总线DIN,禁止数据检测电路42在页面锁存动作时经内部数据总线DIN接收输入数据(在图9所示电路中,虽不是锁存在列锁存器中的数据等,但为了方便也称为[锁存数据]时,若检测输入数据(锁存数据)是禁止数据,则向安全控制电路41输出H电平的禁止数据检测信号LDET。禁止数据检测电路42是为了防止如上所述在输入的密码数据(锁存数据)为上述禁止数据的情况下,与存储单元中保存的安全解除代码无关地解除安全功能而设置的,在输入密码的页面锁存动作中检测输入数据(锁存数据)是上述禁止数据的情况下,向安全控制电路41输出H电平的禁止数据检测信号LDET,不解除安全功能。
另外,在图9所示电路中,禁止数据检测电路42相对数据输入输出缓冲器34与列闩锁电路29并联配置,但即使与列闩锁电路29串联设置禁止数据检测电路42,也可得到与本实施例相同的效果。例如,也可将禁止数据检测电路42设置在数据输入输出缓冲器34与列闩锁电路29之间,或设置在列闩锁电路29与PASS输出电路30之间。
图10(a)~(d)是表示禁止数据检测电路42的具体构成的各种实例的图。禁止数据检测电路42组合NAND电路、NOR电路、反相电路等运算电路而构成。
禁止数据检测电路42的结构在图10(a)所示实例中以每16位、在图10(b)所示实例中以每8位、在图10(c)所示实例中以每4位、在图10(d)所示实例中以每2位将内部数据总线DIN
-[15]区分成组,检测组内任一组中的所有位为数据1,使安全功能解除停止。
在图10(a)所示实例中,在来自内部数据总线DIN
-[15]的输入数据(锁存数据)全部为数据1的情况下,从禁止数据检测电路42输出H电平的禁止数据检测LDET。
在图10(b)所示实例中,在来自内部数据总线DIN
-[7]、DIN[8]-[15]任一组的输入数据(锁存数据)全部为数据1的情况下,从禁止数据检测电路42输出H电平的禁止数据检测LDET。
在图10(c)所示实例中,在来自内部数据总线DIN
-[3]、DIN[4]-[7]、DIN[8]-[11]、DIN[12]-[15]任一组的输入数据(锁存数据)全部为数据1的情况下,从禁止数据检测电路42输出H电平的禁止数据检测LDET。
在图10(d)所示实例中,在来自内部数据总线DIN
-[1]、DIN[2]-[3]、DIN[4]-[5]、DIN[6]-[7]、DIN[8]-[9]、DIN[10]-[11]、DIN[12]-[13]、DIN[14]-[15]任一组的输入数据(锁存数据)全部为数据1的情况下,从禁止数据检测电路42输出H电平的禁止数据检测LDET。
在图9所示电路中,若从禁止数据检测电路42向安全控制电路41输入H电平的禁止数据检测LDET,则不解除安全功能。
这里,参照图8(c)-(h)来说明查证动作前后锁存数据的变化。如实施例1中所述,设存储单元中保存的安全解除代码的值为5555h。
如图8(c)所示,在将FFFFh的密码保存在列闩锁电路29中的情况下,查证动作后的锁存数据全部位变为数据1,在实施例1中,尽管密码与安全解除代码不一致,也可解除安全功能。此时,通过设置图10(a)所示禁止数据检测电路,可检测输入FFFFh的数据(锁存数据)作为密码。另外,可通过从目标数据检测电路输出的H电平的禁止数据检测信号LDET来禁止解除安全功能。
如图8(d)、(e)所示,在列闩锁电路29中保存7FFFh或FF7Fh密码的情况下,因为查证动作后的锁存数据的全部位变为数据1,所以在实施例1中,尽管密码与安全解除代码不一致,也能解除安全功能。另外,即使使用图10(a)所示禁止数据检测电路,但由于输入数据(锁存数据)并非所有位为数据1,所以不作为禁止数据检测,与存储单元中保存的安全解除代码无关,解除安全功能。此时,通过设置图10(b)所示的禁止数据检测电路,可检测输入7FFFh或FF7Fh的数据(锁存数据)作为密码。通过从禁止数据检测电路输出的H电平禁止数据检测信号LDET,可禁止解除安全功能。通过图10(b)所示的禁止数据检测电路,由于不仅两个锁存数据,而且还可检测FFFFh的锁存数据,所以可进一步限制解除安全功能的密码数。
如图8(f)所示,在列闩锁电路29中保存7F7Fh的密码的情况下,因为查证动作后的锁存数据全部位变为数据1,所以在实施例1中,尽管密码与安全解除代码不一致,也能解除安全功能。另外,即使使用图10(a)-(b)所示禁止数据检测电路,但由于不作为禁止数据检测,与存储单元中保存的安全解除代码无关,解除安全功能。此时,通过设置图10(c)所示的禁止数据检测电路,可检测输入7F7Fh的数据(锁存数据)作为密码。通过从禁止数据检测电路输出的H电平禁止数据检测信号LDET,可禁止解除安全功能。通过图10(c)所示的禁止数据检测电路,由于不仅锁存数据7F7Fh,而且还可检测锁存数据FFFFh、7FFFh、FF7Fh,所以可进一步限制解除安全功能的密码数。
如图8(g)所示,在列闩锁电路29中保存7777h的密码的情况下,因为查证动作后的锁存数据全部位变为数据1,所以在实施例1中,尽管密码与安全解除代码不一致,也能解除安全功能。另外,即使使用图10(a)-(c)所示禁止数据检测电路,但由于不作为禁止数据检测,所以与存储单元中保存的安全解除代码无关,解除安全功能。此时,通过设置图10(d)所示的禁止数据检测电路,可检测输入7777h的数据(锁存数据)作为密码。通过图10(d)所示的禁止数据检测电路,由于不仅锁存数据7777,而且还可检测锁存数据FFFFh、7FFFh、FF7Fh,7F7Fh,所以可进一步限制解除安全功能的密码数。
通过从安全解除代码(密码)中去除禁止数据检测电路检测的禁止数据,尽管输入密码,但也可避免不解除安全等麻烦。
在本实施例的禁止数据检测电路中,尤其是通过设置图10(d)所示禁止数据检测电路,可仅在将作为与安全解除代码数据相同的5555h作为密码输入的情况下才可解除安全功能。即,如图8(h)所示,构成为将输入锁存数据区分成由虚线表示的小组,检测该组内任一组的所有位为数据1,可大幅度限制解除安全功能的密码,可进一步提高安全保护功能。
—机密保护方法—下面,详细说明本实施例的非易失性半导体存储装置(闪存)中的机密保护方法(安全解除方法)。
图11是表示实施例2的非易失性半导体存储装置的安全解除方法的步骤流程图。这里,图11中所示步骤中步骤S600-S603及步骤S606-S609的处理与上述实施例的图6中的步骤S500-S503、S505-S508的处理一样,所以省略说明。这里,说明步骤S604-S605的处理。
在步骤S603中,一旦检测输入安全解除指令,则在步骤S604中,移动到输入用于解除安全功能的密码的处理(密码页面锁存)。若经内部数据总线DIN
-DIN[15]将输入的密码(输入数据或锁存数据)输入到禁止数据检测电路42,则在步骤S604中,检测数据检测电路42判断输入数据(锁存数据)是否与上述禁止数据(例如FFFFh、7FFFh、FF7Fh,7F7Fh、7777h)一致。
步骤S604的判断结果,在输入密码与禁止数据一致(是)的情况下,因为无存储单元中保存的安全解除代码无关地解除安全功能,所以移动到步骤S609,控制不解除安全功能。
另一方面,步骤S604的判断结果,在输入密码与禁止数据不一致(否)的情况下,前进到步骤S605,通过页面锁存动作,将输入密码保存在列闩锁电路29。此时,执行8周期一系列的输入密码检查动作和密码页面锁存动作,从输入数据端子DI
-[15],将128位的密码保存在列闩锁电路29中。
通过8周期的输入密码检查动作和密码页面锁存动作,仅在输入密码与禁止数据都不一致的情况下,在步骤S606中,执行列闩锁电路中保存的密码与安全解除代码存储部13的存储单元中保存的安全解除代码的查证动作。步骤S606之后的处理与实施例1一样,所以省略说明。
如上所述,通过本实施例的安全保护方法,利用禁止数据检测电路42,可防止由存储单元中保存的安全解除代码以外的密码来解除安全功能,可进一步提高安全保护功能。
—时序图—图12是表示实施例2的非易失性半导体存储装置的安全解除方法的步骤时序图。这里,以输入禁止数据FFFFh来作为输入密码的情况为例进行说明。
在时刻T0,若输入安全解除指令,则通过指令解码器25检测输入安全解除指令,将H电平的信号SCOM(安全解除指令检测信号)输出到安全控制电路41。
接着,从安全控制电路41接收H电平的信号SCOM的时刻T1开始,输入解除安全功能用的密码。经内部数据总线DIN
-[15],将输入密码输入到禁止数据检测电路42,检查与禁止数据(例如FFFFh、7FFFh、FF7Fh,7F7Fh、7777h)是否一致。这里,在页面锁存动作的第2周期(时刻T1a)输入FFFFh作为输入密码P1的情况下,禁止数据检测电路42检测该输入密码及禁止数据,从禁止数据检测电路42输出H电平的禁止数据检测信号LDET。另一方面,在输入密码与哪个禁止数据都不一致的情况下,从禁止数据检测电路42输出L电平的禁止数据检测信号LDET。
将该H电平或L电平的禁止数据检测信号LDET输入安全控制电路41。一旦安全控制电路41一次接收H电平的禁止数据检测信号LDET,则即使8周期的页面锁存动作结束,安全认证查证信号SPV也不变为H电平。因此,在时刻T2以后,不开始输入密码与安全解除代码的查证动作。因此,不解除安全功能。此时,即使在时刻T3以后执行读取动作,也不能读取存储单元的数据,总是从数据输出端子DO
-[15]仅输出FFFFh。
如上所述,在本实施例的非易失性半导体存储装置(闪存中),因为设置禁止数据检测电路42,所以可防止由存储单元中保存的安全解除代码以外的密码来解除安全功能。这里,通过将禁止数据检测电路42构成为将输入数据或锁存数据的所有位区分成1或2个以上组,检测组内任一组的所有位都为数据1,可大幅度限制解除安全功能的密码。因此,可进一步提高安全保护功能。
在本实施例中,当检测禁止数据时,通过禁止对列闩锁电路的密码锁存动作结束后的查证动作,虽不能从外部访问存储单元,但也可采用其它方法。例如,有当检测禁止数据时,不允许对列闩锁电路的密码锁存动作的方法。另外,也可采用当检测禁止数据时,即使在执行对列闩锁电路的密码锁存动作、查证动作后判断密码与安全解除代码一致,也禁止访问存储单元的方法。
(实施例3)在实施例1、2中,若输入安全解除指令,则通过页面锁存动作输入解除安全功能用的密码,之后,执行确认密码与安全解除代码一致的查证动作,在两者不一致的情况下,通过解除安全功能,确保安全功能。这里,页面锁存动作时的地址输入端子A的设定及查证动作时的地址输入端子A、数据输入端子DI的设定是任意的(Don’t Care)。
但是,在实施例3中,设置检测单元,检测在页面锁存动作前输入特定地址、且在查证动作前输入特定地址、特定数据。另外,构成为即使输入安全解除指令,输入与安全解除代码相同数据的密码(不输入禁止数据),也在页面锁存动作时输入特定地址,并且在查证动作时不输入特定地址及特定数据的情况下,不解除安全功能。
这里,通过构成为由保存在寄存器中的值来决定页面锁存动作时检测的特定地址、和在查证动作时检测的特定地址、特定数据,可任意设定特定地址、特定数据的值,所以可进一步提高安全保护功能。
—电路结构及动作—图13是表示实施例3的非易失性半导体存储装置(闪存)的结构的电路图。在图13所示电路中,由相同符号来表示与上述实施例2相同的结构要素(参照图9),省略该结构要素的说明。在本实施例的说明中,仅说明与图9所示电路中不同的结构要素。
如图13所示,在本实施例的非易失性半导体存储装置中,除安全控制电路41和禁止数据检测电路42外,还设置地址、数据检测电路43。地址、数据检测电路43的输入部连接于地址端子A、内部数据总线DIN及寄存器35的各输出部。另外,在接收地址端子A、内部数据总线DIN及寄存器35的输出、检测在页面锁存动作时输入特定地址并允许锁存动作的情况下、或在查证动作时检测特定地址及特定数据并允许查证动作的情况下,向安全控制电路41输出H电平的地址、数据检测信号ADDET(第1及第2特定数据检测信号)。
这里,构成为由保存在寄存器35中的特定地址、特定数据信息(未图示)来决定在页面锁存动作时检测的特定地址、和在查证动作时检测的特定地址、特定数据。禁止数据与实施例2一样。因此,通过变更寄存器35中保存的信息值、即事先保存在选项区域12中的特定地址、特定数据信息,可随时变更页面锁存动作时检测的特定地址、和在查证动作时检测的特定地址及特定数据。通过如此构成,可对每个用户、每个芯片任意设定、变更特定数据,所以恶意的第三者难以破解特定地址、特定数据。因此,可进一步提高安全保护功能。
另外,本实施例的非易失性半导体存储装置虽还具备实施例2中说明的禁止数据检测电路42,但不必一定具备禁止数据检测电路42。即使仅在实施例1的电路中加入地址、数据检测电路43,也可提高安全功能。
—机密保护方法—下面,详细说明本实施例的非易失性半导体存储装置(闪存)中的机密保护方法(安全解除方法)。
图14是表示实施例3的非易失性半导体存储装置的安全解除方法的步骤流程图。这里,图14中所示步骤中步骤S700-S703的处理与上述实施例1的图6中的步骤S500-S503(实施例2中的步骤S600-S603)的处理一样,所以省略说明。这里,说明步骤S704以后的处理。
在步骤S703中,一旦检测输入安全解除指令,则在步骤S704中,移动到输入用于解除安全功能的密码的处理(密码页面锁存)。开始,若向地址、数据检测电路43输入从地址端子A输入的地址,则在地址、数据检测电路43中判断输入地址与特定地址是否一致。
步骤S704的判断结果,在输入地址A与禁止数据一致(是)的情况下,前进到步骤S705,执行输入密码检查动作。输入密码检查动作与实施例2中图11的步骤S604的处理一样,所以省略说明。
步骤S705的判断结果,在输入密码检查动作中输入密码与禁止数据不一致(NO)的情况下,前进到步骤S706,通过页面锁存动作,将输入密码保存在列闩锁电路29中。此时,执行8周期的一系列输入地址检查动作、输入密码检查动作和密码页面锁存动作,从输入数据端子DI
-[15]将128位的密码保存在列闩锁电路29中。
另一方面,步骤S704的判断结果,在输入地址与特定地址不一致(否)的情况下,步骤S705的判断结果,在输入数据与特定数据一致(是)的情况下,都移动到步骤S712,不解除安全功能。
即,在步骤S704、S705的判断中,通过8周期的输入地址检查动作、输入密码检查动作和密码页面锁存动作,仅在输入地址与特定地址一致、且输入密码一次都不与特定数据一致的情况下,才前进到步骤S707以后的处理,执行列闩锁电路中保存的密码与安全解除代码保存部13的存储单元中保存的安全解除代码的查证动作。
在查证动作中,开始,在步骤S707中,向地址、数据检测电路43输入从地址端子A输入的地址,通过地址、数据检测电路43,判断输入地址与特定地址是否一致。
步骤S707的判断结果,在输入地址与特定地址一致(是)的情况下,前进到步骤S708,执行输入数据检查动作。步骤S708的判断结果,在来自数据输入端子DI
-[15]的输入数据与特定数据一致(是)的情况下,前进到步骤S709,执行列闩锁电路中保存的密码与安全解除代码保存部13的存储单元中保存的安全解除代码的查证动作。步骤S709中的判断结果,在查证动作中密码与安全解除代码一致(是)的情况下,前进到步骤S710,解除安全功能,并且,在步骤S711中,可从外部访问存储单元阵列。
另一方面,在步骤S707、S708、S709中任一判断结果为否的情况下,移动到步骤S712,不允许解除安全功能。
如上所述,根据本实施例的机密保护方法,若在页面锁存动作时输入特定地址,并且在查证动作时不输入特定地址、特定数据,则由于最终未解除安全功能,所以可进一步提高安全保护功能。
—时序图—图15是表示实施例3的非易失性半导体存储装置的安全解除方法的步骤时序图。
在时刻T0,若输入安全解除指令,则通过指令解码器25检测输入安全解除指令,将H电平的信号SCOM(安全解除指令检测信号)输出到安全控制电路41。
接着,从安全控制电路41接收H电平的信号SCOM的时刻T1开始,输入解除安全功能用的密码。将来自地址端子A的输入地址(PL-ADDRESS)输入地址、数据检测电路43,检查输入地址与特定地址是否一致。这里,在输入地址与特定地址一致的情况下,从地址、数据检测电路43输出H电平的地址、数据检测信号ADDET,将H电平的地址、数据检测信号ADDET输入安全控制电路41。
与此同时,将输入密码经内部数据总线DIN
-[15]输入禁止数据检测电路42,检查与禁止数据(例如FFFFh、7FFFh、FF7Fh,7F7Fh、7777h)是否一致。这里,在页面锁存动作中输入FFFFh等作为输入密码的情况下,禁止数据检测电路42检测该输入密码及禁止数据,从禁止数据检测电路42输出H电平的禁止数据检测信号LDET。另一方面,在输入密码与哪个禁止数据都不一致的情况下,从禁止数据检测电路42输出L电平的禁止数据检测信号LDET。
将该H电平或L电平的禁止数据检测信号LDET输入安全控制电路41。一旦安全控制电路41一次接收H电平的禁止数据检测信号LDET,则即使8周期的页面锁存动作结束,安全认证查证信号SPV也不变为H电平。因此,在时刻T2以后,不开始输入密码与安全解除代码的查证动作。因此,不解除安全功能。此时,即使在时刻T3以后执行读取动作,也不能读取存储单元的数据,总是从数据输出端子DO
-[15]仅输出FFFFh。
仅在将H电平的地址、数据检测信号ADDET、及L电平的禁止数据检测信号LDET输入安全控制电路41的情况下,才将输入密码保存在列闩锁电路29中。这些动作执行8周期。
若在将H电平的地址、数据检测信号ADDET、及L电平的禁止数据检测信号LDET8周期输入安全控制电路41的状态下执行密码页面锁存动作,则在时刻T2以后,从安全控制电路41输出H电平的SPV信号,就绪/占线信号RY/BY变为L电平,变为占线状态,执行列闩锁电路29中保存的密码与安全解除代码保存部13的存储单元中保存的安全解除代码的查证动作。在查证动作时,向地址、数据检测电路43输入输入地址(PV-ADDRESS)和输入数据(PV-DATA),检查与特定地址、特定数据是否一致。这里,在输入地址、输入数据与特定地址、特定数据一致的情况下,从地址、数据检测电路43输出H电平的地址、数据检测信号ADDET。将H电平的地址、数据检测信号ADDET输入安全控制电路41,在该状态下执行实施例1中说明的查证动作。通过该查证动作,在判断密码与安全解除代码一致的情况下,在时刻T2b,输出H电平的PASS信号,从安全控制电路41输出H电平的SPASS信号,解除安全功能,所以在时刻T3以后,可从外部访问存储单元阵列。
这里,在页面锁存动作时输入特定地址的情况下,或在查证动作时输入特定地址及特定数据的情况下,输出L电平的地址、数据检测信号ADDET,向安全控制电路41输入L电平的地址、数据检测信号ADDET,不解除安全功能。
根据本实施例的非易失性半导体存储装置,通过设置地址、数据检测电路43,若在页面锁存动作时输入特定地址、且在查证动作时不输入特定地址及特定数据,则不执行安全解除处理,所以可进一步提高安全保护功能。
并且,通过构成为根据寄存器35中保存的特定地址、特定数据信息来决定检测的特定地址、特定数据的值,可随时变更寄存器35中保存的值、即,事先保存在选项区域12中的特定地址、数据信息。通过如此构成,因为可对每个用户、或每个芯片任意设定、变更特定地址、数据,所以恶意第三者难以破解特定地址、特定数据。因此,可进一步提高安全保护功能。
另外,在本实施例中,作为在页面锁存动作时、查证动作时检测到的为(1)页面锁存动作时检测的特定地址、(2)查证动作时检测的特定地址、(3)查证动作时检测的特定数据3种,但也可构成不检测所有上述3种,而检测任1个或任2个。
(实施例4)—电路结构及动作—图16是表示实施例4的非易失性半导体存储装置(闪存)的结构的电路图。在图16所示电路中,由相同符号来表示与上述实施例3相同的结构要素(参照图13),省略该结构要素的说明。在本实施例的说明中,仅说明与图13所示电路中不同的结构要素。
如图16所示,在本实施例的非易失性半导体存储装置中,除安全控制电路41、禁止数据检测电路42及地址、数据检测电路43外,还设置数据加密电路44。编码加密电路44配置在数据输入输出缓冲器34与列闩锁电路29之间,是编码处理从数据输入端子DI输入的数据后输出的电路。这里,所谓数据加密处理是指随机改写输入数据的各位后输出的处理。通过从安全控制电路41输出的数据编码信号DSCR来控制数据加密电路44。
下面,说明上述数据加密处理。
输入安全解除指令,通过页面锁存动作输入解除安全功能用的密码时,从安全控制电路41输出H电平的数据编码信号DSCR。数据加密电路44一旦接收H电平的数据编码信号DSCR,则编码处理从数据输入端子DI输入的数据后,输出到列闩锁电路29。这里,数据加密处理从输入安全解除指令开始,仅在输入解除安全功能的密码时执行,在通常写入时的页面锁存动作时不执行数据加密处理。
在将密码保存在列闩锁电路29中后,执行密码与安全解除代码的查证动作,但为了在查证动作中判断两者一致后解除安全功能,必需预知上述编码处理方法。即,在把握数据编码方法上若未输入密码,则在查证动作中判断两者一致后不能解除安全功能。
根据本实施例的非易失性半导体存储装置,万一第三者恶意地利用任何手段来破解安全解除代码,则即使输入破解数据来作为密码,但因为输入密码由数据加密电路44进行编码处理后保存在列闩锁电路29中,所以不能解除安全功能。
如上所述,通过本实施例,通过附加数据加密电路44,可进一步提高安全保护功能。
在本实施例中,虽除禁止数据检测电路42、地址、数据检测电路43外,还设置数据加密电路44,但不必必需有禁止数据检测电路42、地址、数据检测电路43,在图1所示电路中也可设置数据加密电路44。
(实施例5)—电路结构及动作—图17是表示实施例5的非易失性半导体存储装置(闪存)的结构的电路图。在图17所示电路中,由相同符号来表示与上述实施例4相同的结构要素(参照图16),省略该结构要素的说明。在本实施例的说明中,仅说明与图16所示电路中不同的结构要素。
如图17所示,在本实施例的非易失性半导体存储装置中,与实施例3一样,设置安全控制电路41、禁止数据检测电路42及地址、数据检测电路43、数据加密电路44。并且,本实施例的非易失性半导体存储装置使安全控制电路41负担在一定条件下复位列闩锁电路29中保存的锁存数据的功能。若从安全控制电路41向列闩锁电路29输出锁存复位信号LRST,则由H电平的锁存复位信号LRST来复位列闩锁电路29的锁存数据。
下面,说明锁存数据复位单元。有利用所谓竖起探针的方法(芯片探测法)等将列闩锁电路29中保存的锁存数据取出给第三者的危险。在本实施例中,可取得查证动作后的锁存数据,可根据该得到的数据来预测查证动作的运算处理方法及预测安全解除代码。本实施例的锁存数据复位单元目的在于防止上述事态,执行以下处理。
在查证动作中判断密码与安全解除代码不一致的情况下,若从PASS输出电路30输出L电平的PASS信号,则从安全控制电路41输出H电平的锁存复位信号LRST,输入列闩锁电路29中。此时,列闩锁电路29接收H电平的锁存复位信号LRST,复位列闩锁电路29的全部锁存数据。之后,不解除安全功能。
在本实施例的非易失性半导体存储装置中,通过具备在查证动作时,在判断密码与安全解除代码不一致的情况下,复位列闩锁电路的锁存数据的功能,即使从外部向列闩锁电路输入适当密码,并得到查证动作后的锁存数据,也仅得到复位后的锁存数据。即,在查证动作中,在安全认证作业中失败情况下的锁存数据的值仅为复位后的数据。因此,恶意的第三者难以破解安全解除代码,可进一步提高安全保护功能。
(实施例6)下面,参照附图来说明实施例6。在本实施例中,安全解除动作与上述实施例1-5中说明的结构、步骤一样,但在本实施例中,在安全认证查证判断电平中具有特征。
图18是表示实施例6的非易失性半导体存储装置中使用的存储单元阈值电压分布的图。如图3中的说明所述,在非易失性半导体存储装置的各存储单元中,就向存储单元晶体管的浮动栅注入电子的擦除状态(通常擦除阈值分布202)而言,阈值电压比从浮动栅中提取电子的程序状态(通常程序阈值分布201)高。因此,使用两个阈值分布201、202的中间电平的读取判断电平200,判断存储单元中保存的数据是0还是1。并且,在查证动作中,通过在读取判断电平200和程序状态的阈值分布201之间设定通常查证判断电平203,可防止不充分的电子提取导致的误读取。
这里,在本实施例中,为了判断安全认证查证动作中的阈值电压电平,将安全认证用认证查证判断电平204移位到比通常查证判断电平203还靠擦除状态侧,换言之,认证查证判断电平204的位置是特征。由此,得到如下所示效果。
存储单元的阈值分布随着时间经过而移位到程序状态侧或擦除状态侧。例如,程序状态的存储单元的阈值电压随着时间经过移位到擦除状态侧的阈值电压。原因如下。
在读取动作时,分别向控制栅施加正的升压电压(3.6V左右),向源极施加接地电压,向漏极施加1V左右的电压。此时,因为向读取存储单元及共同连接读取存储单元控制栅的其它存储单元施加正的升压电压(3.6V左右),所以受到应力(读取栅不能)。通过应力电压,在读取动作中,向浮动栅注入电子,从充分写入状态移动到轻度写入状态,结果,阈值电压上升。因此,长时间执行读取动作,则程序状态的存储单元阈值电压上升,移位到擦除状态侧的阈值电压。虽在程序动作之后执行写入动作时的通常查证动作,但也可不在程序动作之后执行安全认证动作查证动作,有时在程序动作后经过足够时间后执行,所以执行安全认证查证动作的解除代码存储单元的阈值电压移位到擦除状态的阈值电压的概率高。
如上所述,在安全解除代码保存部13的存储单元的阈值分布向通常擦除阈值分布202的方向移位的状态下,假设使用通常查证判断电平203来执行安全认证查证动作,则因为可能存在具有超过通常查证判断电平203的阈值电压的存储单元,所以有可能执行错误判断处理。从安全可靠性来讲,这种错误判断是不利的。
因此,在本实施例中,考虑阈值分布移位,使安全认证查证判断电平204比通常查证判断电平203还靠擦除状态侧。因此,可抑制安全认证查证动作中的错误判断的发生,可提高安全认证动作的正确性。
(实施例7)下面,参照附图来说明实施例7。在本实施例中,安全解除动作与上述实施例1-5中说明的结构、步骤一样,但在本实施例中,在保存安全解除代码的存储单元的阈值分布及安全认证查证判断电平中具有特征。
图19是表示实施例7的非易失性半导体存储装置中使用的存储单元阈值分布的图。在该图中,虽省略通常存储单元在程序状态中的阈值分布的图示,但与图18所示一样。特征在于,安全解除代码保存部13中处于程序状态下的存储单元的代码保存部程序阈值分布205、和安全解除代码保存部13中处于擦除状态的存储单元的代码保存部擦除阈值分布206都小于读取判断电平200,即分布在与通常程序阈值分布201(参照图3、图18)相同侧。安全解除代码保存部13中的存储单元的代码保存部程序阈值分布205位于阈值电压比代码保存部擦除阈值分布206低的一侧。
为了具有这种代码保存部程序阈值分布205和代码保存部擦除阈值分布206,在安全解除代码保存部13的存储单元中保存数据如下所示。
对向安全解除代码保存部13的存储单元(解除代码存储单元)中写入安全解除代码的动作而言,当解除代码存储单元变为程序状态时,通过以程序查证判断电平207来执行查证动作时的判断阈值电压电平来进行写入,另一方面,在变为擦除状态时,通过由擦除查证判断电平208来执行查证动作时的判断阈值电压电平来实现。通过以上的写入动作,将处于程序状态的解除代码存储单元和处于擦除状态的解除代码存储单元的阈值分布都设定在程序状态侧。
设定以具有上述阈值分布的安全解除代码为对象的安全认证查证动作的判断阈值电压(认证查证判断电平209),使之成为安全解除代码的程序状态阈值分布205与擦除状态阈值分布206之间的值。具体而言,在安全认证查证动作时,从正高电压发生电路22向字线驱动器20提供规定电压,以判断阈值电压电平变为认证查证判断电平209,施加到安全解除代码保存部13的存储单元的字线WLo1。
如上所述,通过将解除代码存储单元的程序状态、擦除状态的阈值电压都设定为程序状态的阈值电压,即使恶意的第三者以任何手段破解安全解除代码,保存在解除代码存储单元中的安全解除代码由于全部是通常存储单元的程序状态数据,所以破解的数据全部变为程序状态的数据。因此,难以破解安全解除代码,可进一步提高安全保护功能。
这里,在本实施例中,虽将解除代码存储单元的阈值电压与程序状态、擦除状态一起设定在通常存储单元的程序状态侧,但也可一起设定在通常存储单元的擦除状态侧。
以上,作为本发明的实施例,说明实施例1-7。可将本发明的非易失性半导体存储装置内置于微型计算机、IC卡等集成电路(LSI)中使用。因此对使微型计算机动作的程序或个人信息等的机密保护有效。
另外,可将本发明的非易失性半导体存储装置装载在电子设备中使用。作为电子设备,考虑DVD(Digital Versatile Disc)、DVC(Digital Video Camera)、PDA(Personal Digital Assistant)、移动电话(移动体通信)、个人计算机(膝上型、台式)等。
并且,还可构成为将本发明的机密保护方法从存储装置读入CPU(Central Processing Unit中央运算处理装置),由CPU来执行程序处理。此时,上述机密保护方法即使是程序处理状态也是有效的。
如上所述,本发明的非易失性半导体存储装置及其机密保护方法不必新添设置电路规模大的安全电路,所以可以小面积、低成本来实现具有安全功能的非易失性半导体存储装置。因此,对集成电路(LSI)、电子设备的小型化、低成本化非常有效。
最后,本发明的非易失性半导体存储装置及其机密保护方法不限于上述示例,在不脱离本发明的精神范围内施加各种变更等都是有效的。例如,在本实施例中,虽以NOR型闪存为例进行说明,但对DINOR型、NAND型、AND型闪存也可适用。另外,在本实施例中,虽以闪存为例进行说明,但对其它非易失性半导体存储装置(EEPROM、FeRAM等)也可适用。另外,在本实施例中,虽以图1所示结构的存储器电路为例进行说明,但对其它结构的存储器电路也可适用。并且,在本实施例中,虽以图5所示结构的列闩锁电路为例进行说明,但对执行页面锁存动作、程序动作、查证动作的其它结构的列闩锁电路也可适用。
根据本发明的非易失性半导体存储装置及其机密保护方法,因为利用程序查证动作来执行安全解除用认证动作,所以不需要密码存储电路、比较电路,可不增大电路规模地实现安全功能。并且,因为非易失性半导体存储装置中汇总写入位数(列锁存位数)多,所以可不增大电路规模地增加安全位数。即,可容易提高安全保护功能。
权利要求
1.一种非易失性半导体存储装置,具备具有配置成矩阵状的多个存储单元的存储单元阵列;沿上述存储单元阵列的行方向配置,共同连接在多个存储单元上的多个字线;沿上述存储单元阵列的列方向配置,共同连接在多个存储单元上的多个位线;共同连接于上述多个位线中的1个或2个以上的位线上,进行闩锁写入上述存储单元的数据的动作,和确认该锁存数据与写入上述存储单元的数据一致的查证动作的列闩锁电路;保存许可从外部访问上述存储单元阵列的安全解除代码的多个解除代码存储单元;和当输入解除安全功能用的密码时,在上述列闩锁电路中闩锁上述密码,进行该闩锁密码与上述解除代码存储单元的查证动作的控制部。
2.根据权利要求1所述的非易失性半导体存储装置,其特征在于上述控制部通过上述查证动作,在判断上述密码与上述安全解除代码一致的情况下,许可从外部访问上述存储单元阵列。
3.根据权利要求1所述的非易失性半导体存储装置,其特征在于在接通电源时,设定上述安全功能。
4.根据权利要求1所述的非易失性半导体存储装置,其特征在于还具备检测输入安全解除指令的检测部,上述控制部在上述检测部检测到上述安全解除指令时,开始执行安全认证用的上述闩锁动作和上述查证动作。
5.根据权利要求4所述的非易失性半导体存储装置,其特征在于还具备用于任意设定上述检测部检测的安全解除指令的值的寄存器。
6.根据权利要求1所述的非易失性半导体存储装置,其特征在于还具备检测输入特定地址和特定数据中至少之一的检测部,上述控制部在上述检测部检测到特定地址和特定数据中至少之一时,开始执行安全认证用的上述闩锁动作和上述查证动作。
7.根据权利要求6所述的非易失性半导体存储装置,其特征在于在接通电源时进行上述检测部的检测动作。
8.根据权利要求6所述的非易失性半导体存储装置,其特征在于在复位模式解除时进行上述检测部的检测动作。
9.根据权利要求6所述的非易失性半导体存储装置,其特征在于在上述列闩锁电路中进行上述密码闩锁动作开始之前执行上述检测部的检测动作。
10.根据权利要求6~9中任意一项所述的非易失性半导体存储装置,其特征在于还具备用于任意设定上述检测部检测的特定地址和特定数据的值的寄存器。
11.根据权利要求1~10中任意一项所述的非易失性半导体存储装置,其特征在于还具备用于检测上述密码是应禁止使用的数据的禁止数据检测部,上述控制部在上述禁止数据检测部检测到上述禁止数据时,控制上述存储单元阵列不能从外部访问。
12.根据权利要求11所述的非易失性半导体存储装置,其特征在于上述禁止数据不是所有位为程序状态数据的数据。
13.根据权利要求11所述的非易失性半导体存储装置,其特征在于上述禁止数据是当将密码的所有位区分成1个或2个以上组时,在任一组中都不存在具有程序状态数据的位的数据。
14.根据权利要求1~10中任意一项所述的非易失性半导体存储装置,其特征在于还具备用于检测在开始对上述列闩锁电路的密码闩锁动作之前已输入特定地址的检测部,上述控制部在上述检测部未检测到输入特定地址的情况下,控制上述存储单元阵列不能从外部访问。
15.根据权利要求14所述的非易失性半导体存储装置,其特征在于还具备用于任意设定上述检测部检测的特定地址的值的寄存器。
16.根据权利要求1~10任意一项所述的非易失性半导体存储装置,其特征在于还具备用于检测在与上述解除代码存储单元的查证动作之前已输入特定地址和特定数据中的至少一个的检测部,上述控制部在上述检测部未检测到输入特定地址和特定数据中的至少一个的情况下,控制上述存储单元阵列不能从外部访问。
17.根据权利要求16所述的非易失性半导体存储装置,其特征在于还具备用于任意设定上述检测部检测的特定地址和特定数据的值的寄存器。
18.根据权利要求1~17中任意一项所述的非易失性半导体存储装置,其特征在于还具备在上述控制部执行上述闩锁动作之前对上述密码进行加密处理,并输出到上述列闩锁电路的数据加密电路。
19.根据权利要求1~18中任意一项所述的非易失性半导体存储装置,其特征在于还具备在上述控制部执行上述查证动作时,判断上述密码与上述安全解除代码不一致的情况下,复位上述列闩锁电路中闩锁的数据的闩锁复位电路。
20.根据权利要求1~10中任意一项所述的非易失性半导体存储装置,其特征在于将上述解除代码存储单元配置在上述存储单元阵列中,还具备可任意设定上述解除代码存储单元在存储单元阵列中的地址的寄存器。
21.根据权利要求1~10中任意一项所述的非易失性半导体存储装置,其特征在于上述解除代码存储单元在查证动作时的查证判断阈值电压值与数据写入时的查证动作时的查证判断阈值电压值不同。
22.根据权利要求1~10中任意一项所述的非易失性半导体存储装置,其特征在于在将上述安全解除代码写入上述解除代码存储单元中时,将解除代码存储单元的程序状态与擦除状态数据的阈值都设定在上述存储单元的程序状态侧或擦除状态侧,并且,将上述解除代码存储单元的上述程序状态和上述擦除状态的数据阈值设定为互不相同的值后写入。
23.一种非易失性半导体存储装置的机密保护方法,该装置具有页面程序功能和安全保护功能,该方法包含步骤(a),当输入解除安全功能的密码时,在列闩锁电路中闩锁上述密码,和步骤(b),进行上述步骤(a)中闩锁的上述密码与保存安全解除代码的解除代码存储单元的查证动作。
24.根据权利要求23所述的非易失性半导体存储装置的机密保护方法,其特征在于在上述步骤(b)中,在判断上述密码与上述安全解除代码一致的情况下,许可从外部访问上述存储单元阵列。
全文摘要
本发明提供一种不需要新添设置动作模式、并且仅由极少的附加电路就可实现安全功能的非易失性半导体存储装置及其机密保护方法。使用执行非易失性半导体存储装置中预备的汇总写入动作(页面闩锁动作、页面程序动作、查证动作)的列闩锁电路(29)来实现安全功能。通过安全控制电路(41)的控制,在列闩锁电路(29)中保存解除安全功能用的密码,执行保存在列闩锁电路(29)中的密码与保存在解除代码保存部(13)中的安全解除代码的查证动作。在查证动作中判断密码与安全解除代码一致的情况下,执行安全功能的解除。
文档编号G11C16/06GK1452077SQ0312262
公开日2003年10月29日 申请日期2003年4月16日 优先权日2002年4月17日
发明者河野和幸 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1