專利名稱:非易失性半導(dǎo)體存儲裝置及其機(jī)密保護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種具備機(jī)密保持功能的可電改寫數(shù)據(jù)的非易失性半導(dǎo)體存儲裝置及其機(jī)密保護(hù)方法。
背景技術(shù):
近年來,以閃存為代表的非易失性半導(dǎo)體存儲裝置由于可電改寫數(shù)據(jù),并且即使在切斷電源的狀態(tài)下也可保持?jǐn)?shù)據(jù),所以被使用于各種領(lǐng)域中。例如,在移動電話、數(shù)字?jǐn)z像機(jī)、硅音頻播放機(jī)等系統(tǒng)中,被用作保存數(shù)據(jù)的存儲裝置。另外,還被用作裝載在IC卡等上的微型計算機(jī)的內(nèi)部存儲裝置。
在非易失性半導(dǎo)體存儲裝置中,例如保存使系統(tǒng)按期望步驟動作的程序、關(guān)于個人秘密的信息、或由著作權(quán)保護(hù)的信息等。若這些程序或信息被第三者不正當(dāng)?shù)刈x取,或可自由改寫,則從機(jī)密信息保護(hù)上看,非常不好。因此,通常為了機(jī)密保持而在非易失性半導(dǎo)體存儲裝置中裝載安全電路。
圖20是表示現(xiàn)有的非易失性半導(dǎo)體存儲裝置的結(jié)構(gòu)的電路圖。如圖所示,非易失性半導(dǎo)體存儲裝置具備與外部設(shè)備進(jìn)行地址及數(shù)據(jù)交換用的數(shù)據(jù)輸入輸出緩沖器1000、實現(xiàn)安全功能的安全電路1003和配置多個存儲單元的存儲單元陣列1011。
數(shù)據(jù)輸入輸出緩沖器1000從外部接收地址和數(shù)據(jù),將地址和數(shù)據(jù)分別傳送到內(nèi)部地址總線1001和內(nèi)部數(shù)據(jù)總線1002。數(shù)據(jù)端子DATA是雙向總線,例如在讀取動作時,從數(shù)據(jù)端子DATA將內(nèi)部數(shù)據(jù)總線1002的數(shù)據(jù)輸出到外部設(shè)備,在寫入動作時,將來自外部設(shè)備的數(shù)據(jù)經(jīng)數(shù)據(jù)端子DATA輸入內(nèi)部數(shù)據(jù)總線1002。
安全電路1003具備密碼存儲電路1004、比較來自密碼存儲電路1004的輸出值1006與內(nèi)部數(shù)據(jù)總線1002的值的比較電路1005、和限制對存儲單元陣列1011的訪問的動作限制電路1008。
在存儲單元陣列1011與動作限制電路1008之間,經(jīng)地址總線1009和數(shù)據(jù)總線1010進(jìn)行數(shù)據(jù)交換。
圖21是表示上述現(xiàn)有非易失性半導(dǎo)體存儲裝置的機(jī)密保護(hù)方法的流程圖。
首先,在步驟S2000中,設(shè)定為安全認(rèn)證模式,從數(shù)據(jù)端子DATA輸入解除安全功能的密碼。此時,數(shù)據(jù)輸入輸出緩沖器1000向內(nèi)部數(shù)據(jù)總線1002輸出密碼,將該密碼輸入比較電路1005。
接著,在步驟S2001中,比較電路1005比較從密碼存儲電路1004輸出的密碼1006和輸入內(nèi)部數(shù)據(jù)總線1002的密碼的值,判斷兩者是否一致。
當(dāng)步驟S2001中的判斷結(jié)果為兩個密碼一致的情況下,輸出H電平的判斷信號1007(參照圖20),在兩個密碼不一致的否情況下,輸出L電平的判斷信號1007。將這些判斷信號1007輸入動作限制電路1008。
若輸出H電平的判斷信號1007,則進(jìn)入到步驟S2002,動作限制電路1008接收H電平的一致信號1007,允許解除安全功能。另外,若允許解除安全功能,則再前進(jìn)到步驟S2003,內(nèi)部地址總線1001與地址總線1009之間變?yōu)檫B接狀態(tài),并且,內(nèi)部數(shù)據(jù)總線1002與數(shù)據(jù)總線1010之間變?yōu)檫B接狀態(tài),可訪問存儲單元陣列1011。
另一方面,在步驟S2001的判斷中,在從數(shù)據(jù)端子DATA輸入的密碼與密碼存儲電路1004中保存的密碼不一致的情況下,因為從比較電路1008輸出的判斷信號1007變?yōu)長電平,所以動作限制電路1008不允許解除安全功能。因此,內(nèi)部地址總線1001與地址總線1009之間變?yōu)榻財酄顟B(tài),并且,內(nèi)部數(shù)據(jù)總線1002與數(shù)據(jù)總線1010之間變?yōu)榻財酄顟B(tài),不可訪問存儲單元陣列1011。
如上所述,在設(shè)置安全電路1003的現(xiàn)有非易失性半導(dǎo)體存儲裝置中,因為只有事先知道保存在密碼存儲電路1004中的密碼的人才能訪問存儲單元陣列1011,所以可防止第三者不正當(dāng)訪問。
專利文獻(xiàn)特開2001-306400號公報(摘要)但是,上述具備安全電路的現(xiàn)有非易失性半導(dǎo)體存儲裝置的安全電路以及其機(jī)密保護(hù)方法(安全解除方法)中存在如下缺點。
第1,如圖20所示,在上述現(xiàn)有安全電路中必需新添設(shè)置存儲密碼的存儲電路、和用于比較該存儲電路中保存的密碼與從數(shù)據(jù)端子輸入的密碼的比較電路。因此,存儲器芯片的電路規(guī)模增大。可是,隨著設(shè)備的小型化,非易失性半導(dǎo)體存儲裝置也必需小型化,上述電路規(guī)模的增大成為阻礙設(shè)備小型化的主要原因。另外,作為提高安全功能的一個手段,考慮增加密碼的位數(shù),但若增加位數(shù),則密碼存儲電路或比較電路的電路規(guī)模進(jìn)一步增大,上述缺點更明顯。
第2,為了在非易失性半導(dǎo)體存儲裝置中組裝安全功能,除以前組裝的動作模式外,必需新添組裝稱為進(jìn)行比較密碼存儲電路中保存的密碼和從數(shù)據(jù)端子輸入的密碼動作的安全認(rèn)證模式的其它動作模式。因此,新加入其它動作模式導(dǎo)致控制電路變復(fù)雜,存在控制電路的電路規(guī)模增大的缺點。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種不新添加動作模式、并且僅由極少的附加電路就可實現(xiàn)安全功能的非易失性半導(dǎo)體存儲裝置及其機(jī)密保護(hù)方法。
本發(fā)明的非易失性半導(dǎo)體存儲裝置以具有安全保護(hù)用解除代碼存儲單元、和進(jìn)行程序查證用列閂鎖電路的非易失性半導(dǎo)體存儲裝置為前提,具備控制部,當(dāng)輸入解除安全功能用的密碼時,在列閂鎖電路中閂鎖密碼,進(jìn)行閂鎖密碼與解除代碼存儲單元的查證動作。
從而,利用事先裝載在非易失性半導(dǎo)體存儲裝置中的列閂鎖電路及其程序查證功能,可進(jìn)行安全認(rèn)證動作,所以不用新設(shè)置動作模式,并且僅由附加電路就可實現(xiàn)安全功能。因此,可避免追加安全功能引起的動作控制復(fù)雜化或電路規(guī)模的增大。
在輸入安全解除指令的情況下、或在輸入特定地址、特定數(shù)據(jù)的情況下開始閂鎖動作與查證動作,通過進(jìn)一步設(shè)置任意設(shè)定安全解除指令、特定地址、特定數(shù)據(jù)的寄存器,可對每個用戶或每個芯片進(jìn)行任意設(shè)定,所以在未公開安全解除方法的情況下,惡意的第三者難以特定安全解除方法。因此,可進(jìn)一步提高安全保護(hù)功能。
當(dāng)檢測密碼是禁止數(shù)據(jù)時,通過控制存儲單元陣列不能從外部進(jìn)行訪問,可使用與安全解除代碼不一致的密碼來排除解除安全功能的惡意訪問。
作為禁止數(shù)據(jù),有不存在程序狀態(tài)數(shù)據(jù)位的密碼、和在將密碼的所有位區(qū)分成1或2個以上組時、在任一組中都不存在具有程序狀態(tài)數(shù)據(jù)的位的密碼。
在對列閂鎖電路的密碼閂鎖動作之前未輸入特定地址的情況下,或在與解除代碼存儲單元的查證動作之前未輸入特定地址、特定數(shù)據(jù)的情況下,不執(zhí)行安全功能的解除,通過還設(shè)置任意設(shè)定特定地址、特定數(shù)據(jù)用的寄存器,可對每個用戶或每個芯片任意設(shè)定,所以在未公開安全解除方法的情況下,惡意第三者難以特定安全解除方法。因此,可進(jìn)一步提高安全保護(hù)功能。
還設(shè)置進(jìn)行密碼加密處理,并輸出到列閂鎖電路的數(shù)據(jù)加密電路,還設(shè)置復(fù)位部,在查證動作時,判斷密碼與安全解除代碼不一致的情況下,復(fù)位列閂鎖電路中閂鎖的數(shù)據(jù),從而可進(jìn)一步提高安全保護(hù)功能。
圖1是表示本發(fā)明實施例1的非易失性半導(dǎo)體存儲裝置結(jié)構(gòu)的電路圖。
圖2是表示實施例1的非易失性半導(dǎo)體存儲裝置中使用的存儲單元晶體管的截面構(gòu)造的截面圖。
圖3是表示實施例1的非易失性半導(dǎo)體存儲裝置中使用的通常存儲單元閾值分布的圖。
圖4是表示實施例1的非易失性半導(dǎo)體存儲裝置的寫入動作的流程圖。
圖5(a)、(b)分別是順序表示列閂鎖電路和1個列鎖存器結(jié)構(gòu)的電路圖。
圖6是表示實施例1的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟流程圖。
圖7是表示實施例1的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟時序圖。
圖8(a)-(h)是表示對應(yīng)于安全解除代碼和各種密碼的查證動作前后的鎖存數(shù)據(jù)變化的圖。
圖9是表示本發(fā)明實施例2的非易失性半導(dǎo)體存儲裝置結(jié)構(gòu)的電路圖。
圖10(a)-(d)是表示禁止數(shù)據(jù)檢測電路的具體構(gòu)成的各種實例的圖。
圖11是表示實施例2的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟流程圖。
圖12是表示實施例2的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟時序圖。
圖13是表示本發(fā)明實施例3的非易失性半導(dǎo)體存儲裝置結(jié)構(gòu)的電路圖。
圖14是表示實施例3的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟流程圖。
圖15是表示實施例3的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟時序圖。
圖16是表示本發(fā)明實施例4的非易失性半導(dǎo)體存儲裝置結(jié)構(gòu)的電路圖。
圖17是表示本發(fā)明實施例5的非易失性半導(dǎo)體存儲裝置結(jié)構(gòu)的電路圖。
圖18是表示實施例6的非易失性半導(dǎo)體存儲裝置中使用的存儲單元閾值電壓分布的圖。
圖19是表示實施例7的非易失性半導(dǎo)體存儲裝置中使用的存儲單元閾值分布的圖。
圖20是表示現(xiàn)有非易失性半導(dǎo)體存儲裝置的結(jié)構(gòu)電路圖。
圖21是表示現(xiàn)有非易失性半導(dǎo)體存儲裝置的安全解除方法的流程圖。
圖中10-存儲單元陣列,11-主區(qū)域,12-副區(qū)域,13-安全解除碼存儲部,20-字線驅(qū)動器,21-源極線/驅(qū)動器,22-正高電壓生成電路,23-付高電壓生成電路,24-控制電路,25-指令碼,26-地址碼,27-位線復(fù)位電路,28-位線復(fù)位驅(qū)動器,29-列閂鎖電路,30-PASS輸出電路,31-列控制門,32-列驅(qū)動器,33-讀出放大器,34-數(shù)據(jù)輸入輸出緩沖器,35-寄存器,40-安全電路,41-安全控制電路,42-禁止數(shù)據(jù)檢測電路,43-地址、數(shù)據(jù)檢測電路,44-數(shù)據(jù)加密電路,101-控制門,102-絕緣膜(ONO膜),103-浮動門,104-溝道氧化膜,105-源極區(qū)域,106-漏極區(qū)域,107-P井,108-深N井,109-半導(dǎo)體基板,200-讀出判定電平,201-通常程序閾值分布,202-通常消除閾值分布,203-通常查證判定電平,204-認(rèn)證判定電平,205-碼存儲部程序閾值分布,206-碼存儲部消除閾值分布,207-程序查證判定電平,208-消除查證判定電平,209-認(rèn)證查證判定電平,400-位線電位檢測電路,401-傳輸門,402-電平移動電路,403-閂鎖電路,404-閂鎖復(fù)位電路,MCm00~MCm13、MCo00~MCo11-存儲單元,WLm0~WLm3、WLo0、WLo1-字線,SLm0、SLm1、SLo0-源極線,PWm0、PWm1、PWo0-井線,/C E-芯片使能信號,/OE-輸出使能信號,/WE-寫入使能信號,RY/BY-空閑/忙信號,A-地址端子,DI-數(shù)據(jù)輸入端子,DO-數(shù)據(jù)輸出端子,SCOM-安全解除指令檢測信號,SPV-安全認(rèn)證查證信號,PASS-查證結(jié)果判定信號,SPASS-安全解除信號,LDET-禁止數(shù)據(jù)檢測信號,ADDET-地址數(shù)據(jù)檢測信號,DSCR-數(shù)據(jù)加密信號,LRST-閂鎖復(fù)位信號。
具體實施例方式
下面,對本發(fā)明的實施例,以作為代表的非易失性半導(dǎo)體存儲裝置的閃存為例進(jìn)行說明。
(實施例1)—電路結(jié)構(gòu)—圖1是表示本發(fā)明實施例1的非易失性半導(dǎo)體存儲裝置(閃存)結(jié)構(gòu)的電路圖。如圖所示,本實施例的非易失性半導(dǎo)體存儲裝置具備存儲單元陣列10、和在存儲單元陣列10中保存數(shù)據(jù)、在從存儲單元陣列10中取出數(shù)據(jù)時動作的外圍電路。
存儲單元陣列10具備配置成矩陣狀的多個存儲單元MCm00-MCm13、Mco00-Mco11。存儲單元陣列10被區(qū)分成作為向用戶公開的區(qū)域的主區(qū)域11、和作為不向用戶公開的區(qū)域的選項區(qū)域12。主區(qū)域11中配置多個存儲單元MCm00-MCm13(通常存儲單元)。另外,在選項區(qū)域12中還配置多個存儲單元Mco00-Mco11,其中,由存儲單元Mco00-Mco11(解除代碼存儲單元)構(gòu)成安全解除代碼保存部13。在主區(qū)域11中,用戶可自由執(zhí)行數(shù)據(jù)的讀取、寫入、消除動作。另一方面,在選項區(qū)域12中,用戶不能自由執(zhí)行數(shù)據(jù)的讀取、寫入、消除動作。如后所述,在選項區(qū)域12中,存儲單元陣列的冗長地址信息、高電壓發(fā)生電路的電壓觸發(fā)信息、及保存解除安全功能用的安全解除代碼、由指令解碼器25檢測的安全解除指令、由地址解碼器26解碼的安全解除指令的存儲單元陣列信息等。
在存儲單元陣列10中設(shè)置從配置在外圍電路中的字線驅(qū)動器20沿行方向延伸并連接于各存儲單元柵極上的字線WLm0-WLm3、WLo0-Wlo1、從配置在外圍電路中的列選通器31(列解碼電路)沿列方向延伸并連接于各存儲單元漏極上的位線BLm0-BLm1、從配置在外圍電路中的源線/井線驅(qū)動器21沿行方向延伸并分別連接于各存儲單元的源極、基板上的源線SLm0-SLm1、Slo0及井線PWm0-PWm1、Pwo0。這里,在現(xiàn)實的非易失性半導(dǎo)體存儲裝置的存儲單元陣列中,字線、位線、存儲單元等除圖1中圖示的外,還存在很多個,但為了簡化說明,圖1中僅示出各自的一部分。另外,對下面各實施例中說明的各種電路也一樣。
這里,在主區(qū)域11中,存儲單元MCm00-MCm11的源極連接于共用的源線SLm0,基板連接于共用的井線PWm0,由存儲單元MCm00-MCm11構(gòu)成M0。存儲單元MCm02-MCm13的源極連接于共用的源線SLm1,基板連接于共用的井線PWm1,由存儲單元MCm02-MCm13構(gòu)成M1。
另外,在選項區(qū)域12中,存儲單元MCo00-MCo11的源極連接于共用的源線SLo0,基板連接于共用的井線PWo0,由存儲單元MCo00-MCo11構(gòu)成MO0。
字線驅(qū)動器20分別接收來自地址解碼器26的解碼信號、和來自正高電壓發(fā)生電路22及負(fù)高電壓發(fā)生電路23的輸出電壓,向各字母施加存儲單元晶體管動作必需的電壓。
源線/井線驅(qū)動器2向各源線、井線施加存儲單元晶體管動作必需的電壓。
正高電壓發(fā)生電路22發(fā)生讀取、寫入、刪除等動作必需的正高電壓。負(fù)高電壓發(fā)生電路23發(fā)生讀取、寫入、刪除等動作必需的負(fù)高電壓。
控制電路24接收芯片使能信號/CE、輸出使能信號/OE、寫入使能/WE的輸入、和來自指令解碼器25的信號輸入,控制讀取、寫入、刪除的各種動作。從控制電路24輸出的就緒/占線信號RY/BY等控制信號(存在多個圖1中未圖示的控制信號)輸入字線驅(qū)動器20、源線/井線驅(qū)動器21、正高電壓發(fā)生電路22、負(fù)高電壓發(fā)生電路23、指令解碼器25、地址解碼器26、位線復(fù)位驅(qū)動器28、列閂鎖電路29、PASS輸出電路30、列驅(qū)動器32、讀出放大器33、數(shù)據(jù)輸入輸出緩沖器34、寄存器35、安全電路40等,由從控制電路24輸出的控制信號來控制電路整體的動作。
指令解碼器25解碼由從地址端子A輸入的地址和從數(shù)據(jù)輸入端子DI輸入的數(shù)據(jù)構(gòu)成的指令,發(fā)生控制各種動作開始用的信號。這里,在將解除安全功能用指令(安全解除指令)輸入指令解碼器25的情況下,從指令解碼器25向安全控制電路41發(fā)送H電平的安全解除指令檢測SCOM。這里,安全解除指令是事先專門設(shè)置的指令。
地址解碼器26解碼從地址端子A輸入的地址,發(fā)生選擇規(guī)定字線、源線、井線、位線用的解碼信號。
位線復(fù)位電路27是將位線電位設(shè)定為接地電壓的電路。在位線復(fù)位電路27中,晶體管DT0將位線BL0設(shè)定為接地電壓,晶體管DT1將位線BL1設(shè)定為接地電壓位線復(fù)位電路27的晶體管DT0、DT的柵極連接于位線驅(qū)動器28上,由從位線驅(qū)動器28輸出的驅(qū)動信號BLRST來控制晶體管DT0、DT1的導(dǎo)通、截止。
列閂鎖電路29具有對每個位線設(shè)置的列鎖存器29a、29b、…。在圖1所示的列閂鎖電路29中,列鎖存器29a連接于位線BL0,列鎖存器29b連接于位線BL1。在圖1中,為了簡化,僅示出兩個列鎖存器29a、29b和兩個位線BL0、BL1,但在現(xiàn)實器件中,因為配置很多個位線,所以以每個規(guī)定的位線數(shù)來設(shè)置多個列閂鎖電路。
通常,在非易失性半導(dǎo)體存儲裝置中,在執(zhí)行寫入數(shù)據(jù)的鎖存動作、基于鎖存數(shù)據(jù)的程序動作及程序動作后判斷是否適當(dāng)編碼存儲單元的查證動作時使用列閂鎖電路29。在本實施例中,特征之一在于利用列閂鎖電路29的程序查證動作來執(zhí)行安全保護(hù)用動作。后面描述這些動作的細(xì)節(jié)。
PASS輸出電路30在查證動作時接收來自列閂鎖電路29的輸出信號,在判斷適當(dāng)編程所有存儲單元的情況下,輸出H電平的查證判斷結(jié)果信號PASS。
列選通器31用于將位線BL0、BL1中的一個位線連接于讀出放大器33。晶體管YT0、YT1的控制柵極分別連接于列驅(qū)動器32。晶體管YT0接收來自列驅(qū)動器32的信號YGO,將位線BL0與讀出放大器33切換為連接、非連接。晶體管YT1接收來自列驅(qū)動器32的信號YG1,將位線BL1與讀出放大器33切換為連接、非連接。
讀出放大器33是如下電路判斷讀取動作時保存在存儲單元中的數(shù)據(jù),對應(yīng)于判斷結(jié)果,輸出高電平信號或低電平信號。
數(shù)據(jù)輸入輸出緩沖器34在輸入由地址和數(shù)據(jù)構(gòu)成的指令時,或輸入寫入數(shù)據(jù)時,將從數(shù)據(jù)輸入端子DI輸入的指令、或?qū)懭霐?shù)據(jù)輸出到內(nèi)部數(shù)據(jù)總線DIN。另外,在讀取動作時,將從讀出放大器33輸出的讀取數(shù)據(jù)經(jīng)數(shù)據(jù)輸入輸出緩沖器34輸出到數(shù)據(jù)輸出端子DO。這里,在本實施例中,作為連接于數(shù)據(jù)輸入輸出緩沖器34上的外部數(shù)據(jù)端子,設(shè)置了作為輸入聲音單向總線的數(shù)據(jù)輸入端子DI、和作為輸出專用的單向總線的數(shù)據(jù)輸出端子DO,但也可由兼用輸入輸出的雙向總線來設(shè)置1個外部數(shù)據(jù)端子。
寄存器35是保存上述選項區(qū)域12中保存的冗長地址信息、電壓觸發(fā)信息、安全解除指令信息、安全解除代碼的存儲單元地址信息等各種信息的區(qū)域。將關(guān)于這些信息的信號輸入正高電壓發(fā)生電路22、負(fù)高電壓發(fā)生電路23、指令解碼器25、地址解碼器26等。寄存器35連接于數(shù)據(jù)輸入輸出緩沖器34,在接通電源時,由讀出放大器33讀取選項區(qū)域12中保存的上述各種信息。讀取的數(shù)據(jù)經(jīng)數(shù)據(jù)輸入輸出緩沖器34保存在寄存器35中。在下面的說明中,將從選項區(qū)域12中讀取后保存在寄存器35中的上述各種信息統(tǒng)稱為選項數(shù)據(jù)。
本實施例的安全電路40具有安全控制電路41。安全控制電路41分別接收來自指令解碼器25的信號SCOM(安全解除指令檢測信號)和來自PASS輸出電路30的查證判斷結(jié)果信號PASS,分別輸出控制地址解碼器26的安全認(rèn)證查證信號SPV、和執(zhí)行安全功能解除的安全解除信號SPASS。
將安全解除信號SPASS輸入數(shù)據(jù)輸入輸出緩沖器34,安全解除信號SPASS為L電平的狀態(tài)是安全功能打開狀態(tài),是不能從外部訪問存儲單元陣列10的狀態(tài)。即,在安全解除信號SPASS為L電平時,在讀取動作時,不將從讀出放大器33輸出的讀取數(shù)據(jù)輸出到數(shù)據(jù)輸出端子DO。此時,數(shù)據(jù)輸出端子DO與讀取數(shù)據(jù)無關(guān),總是輸出所有位為H電平的信號。
另一方面,安全解除信號SPASS為H電平的狀態(tài)是安全功能解除狀態(tài),是可從外部訪問存儲單元陣列10的狀態(tài)。即,在安全解除信號SPASS為H電平時,在讀取動作時,將從讀出放大器33輸出的讀取數(shù)據(jù)輸出到數(shù)據(jù)輸出端子DO。
在本實施例中,說明為存儲器容量為1M比特,數(shù)據(jù)總線寬度為16位。因此,作為數(shù)據(jù)輸入端子DI,設(shè)置DI
-DI[16]等16個端子,作為數(shù)據(jù)輸出端子DO,設(shè)置DO
-DO[15]等16個端子。另外,因為字?jǐn)?shù)為65536個字,所以作為地址端子A,設(shè)置A
-A[15]等16個端子。
—電路動作的概略—下面,說明根據(jù)本實施例的非易失性半導(dǎo)體存儲裝置的寫入動作。開始,說明作為理解寫入動作必需的、本實施例的非易失性半導(dǎo)體存儲裝置中使用的存儲單元的截面結(jié)構(gòu)。
圖2是表示本實施例的非易失性半導(dǎo)體存儲裝置中使用的存儲單元晶體管的截面構(gòu)造的截面圖。如圖所示,在半導(dǎo)體基板109的表面部中形成摻雜N井108、P井07,在P井107內(nèi)形成源極區(qū)域105和漏極區(qū)域106。另外,在位于半導(dǎo)體基板109的源極區(qū)域105與漏極區(qū)域106之間的區(qū)域(溝道區(qū)域)上從下往上順序設(shè)置隧道氧化膜104、由多晶硅構(gòu)成的浮動?xùn)?03、ONO(Oxide-Nitride-Oxide)膜102、由多晶硅構(gòu)成的控制柵101。若向源極105、漏極106、P井107、和控制柵101之間施加高電壓,則產(chǎn)生發(fā)生通過隧道氧化膜104的隧道電流的現(xiàn)象,所以向浮動?xùn)?03中注入電子和從浮動?xùn)?03中提取電子。通過利用存儲單元(晶體管)的閾值電壓隨浮動?xùn)?03的電子注入狀態(tài)、提取狀態(tài)不同而不同,可寫入、刪除數(shù)據(jù)。
圖3是表示本實施例的非易失性半導(dǎo)體存儲裝置中使用的通常存儲單元閾值分布的圖。將閾值電壓比讀取判斷電平200低的狀態(tài)(電子提取狀態(tài))設(shè)為保持?jǐn)?shù)據(jù)0的程序狀態(tài)(閾值分布201),將閾值電壓比讀取判斷電平200高的狀態(tài)(電子注入狀態(tài))設(shè)為保持?jǐn)?shù)據(jù)1的擦除狀態(tài)(閾值分布202)。在下面的說明中,將程序狀態(tài)的數(shù)據(jù)說明為數(shù)據(jù)0,將擦除狀態(tài)的數(shù)據(jù)說明為數(shù)據(jù)1。
作為將存儲單元變?yōu)槌绦驙顟B(tài)(數(shù)據(jù)0)的動作的寫入動作如下進(jìn)行將源極105變?yōu)殚_狀態(tài),分別向控制柵101施加例如-8V、向漏極106施加例如5V、向井107施加例如接地電壓(0V)的電壓,將浮動?xùn)?03中保存的電子提取到漏極106。從浮動?xùn)?06提取電子的晶體管的閾值電壓比讀取判斷電位200低,所以在寫入數(shù)據(jù)0的存儲單元中,在讀取動作時流過單元電流。
將存儲單元變?yōu)椴脸隣顟B(tài)(數(shù)據(jù)1)的刪除動作如下進(jìn)行將漏極106變?yōu)殚_狀態(tài),向控制柵101施加例如5V、向源極105和井107分別施加例如-8V的電壓,從源極105和井107向浮動?xùn)?03注入電子。通過將向浮動?xùn)?06注入電子的晶體管的閾值電壓設(shè)定得比讀取判斷電位200高,在讀取時沒有流過單元電流。
在本實施例的閃存中,在初始狀態(tài)下,所有存儲單元變?yōu)樽鳛橄蚋訓(xùn)胖凶⑷腚娮訝顟B(tài)的數(shù)據(jù)1保持狀態(tài)(擦除狀態(tài))??上虮3?jǐn)?shù)據(jù)1的1個存儲單元中寫入數(shù)據(jù)0,但不能向保持?jǐn)?shù)據(jù)0的1個存儲單元中寫入數(shù)據(jù)1。在寫入數(shù)據(jù)1中,因為必需控制字線、源線及井線的電位,所以僅通過一個塊單位的匯總刪除動作就可寫入數(shù)據(jù)1。
存儲單元的數(shù)據(jù)判斷為0或1的讀取動作如下進(jìn)行使用讀出放大器判斷在向控制柵101施加讀取電壓、并向源極105和井107施加接地電壓(0V)、向漏極106施加1V左右電壓的狀態(tài)下是否流過單元電流。在流過單元電流的情況下,判斷為程序狀態(tài)(數(shù)據(jù)0),在未流過單元電流的情況下,判斷為擦除狀態(tài)(數(shù)據(jù)1),將判斷結(jié)果作為讀取數(shù)據(jù)輸出。
下面,說明本實施例的非易失性半導(dǎo)體存儲裝置(閃存)的寫入動作。
閃存的寫入速度是微秒級的,非常慢。在本實施例中,因為數(shù)據(jù)輸入端子DI具有16位的總線寬度,所以在通常的寫入方法中,不能以16位單位來寫入。因此,在閃存中配置列閂鎖電路29,事先在列閂鎖電路29中鎖存多個寫入數(shù)據(jù)(數(shù)據(jù)0或1),之后,將鎖存的數(shù)據(jù)匯總寫入連接于1個字線及各位線上的存儲單元中,通過該方法,可實現(xiàn)實效的寫入時間的縮短。因此,將事先將寫入數(shù)據(jù)鎖存在列閂鎖電路29中的動作稱為頁面閂鎖動作,將根據(jù)鎖存在列閂鎖電路29中的數(shù)據(jù)來執(zhí)行匯總寫入的動作稱為頁面程序動作。
在本實施例的非易失性半導(dǎo)體存儲裝置中,列閂鎖電路29具有128位的數(shù)據(jù)鎖存能力,即具有128個列鎖存器。因為數(shù)據(jù)輸入端子DI具有16位總線寬度,所以通過1周期的頁面鎖存動作可使16位的寫入數(shù)據(jù)鎖存在列閂鎖電路29中的16個列鎖存器中,通過執(zhí)行8周期的頁面鎖存動作,可使128位的寫入數(shù)據(jù)鎖存在列閂鎖電路29的所有列鎖存器29a、29b、…中。此時,寫入數(shù)據(jù)中包含數(shù)據(jù)0、1兩者。因此,在通過頁面鎖存動作使128位的寫入數(shù)據(jù)鎖存在列閂鎖電路29的列鎖存器29a、29b、…中后,通過頁面程序動作來執(zhí)行128位的匯總寫入動作。
在執(zhí)行匯總寫入動作時,將變?yōu)閷懭雽ο蟮拇鎯卧?連接于共用字線上的存儲單元)的初始狀態(tài)全部設(shè)為數(shù)據(jù)1(擦除狀態(tài))。另外,在對某個存儲單元的寫入數(shù)據(jù)為數(shù)據(jù)0的情況下,處于擦除狀態(tài)下的該存儲單元變?yōu)槌绦驙顟B(tài)。在向某個存儲單元的寫入數(shù)據(jù)為數(shù)據(jù)1的情況下,該存儲單元保持擦除狀態(tài)原樣不變。
下面,說明使用頁面鎖存動作、頁面程序動作執(zhí)行的閃存寫入動作順序。頁面鎖存動作、頁面程序動作本身與現(xiàn)有的非易失性半導(dǎo)體存儲裝置相同,是公知技術(shù)。圖4是表示根據(jù)本實施例的非易失性半導(dǎo)體存儲裝置的寫入動作的流程圖。
首先,在步驟S300中,在向閃存接通電源后,在步驟S301中,由讀出放大器33讀取保存在存儲單元陣列10內(nèi)的選項區(qū)域12中的冗長地址信息、電壓觸發(fā)信息等(選項數(shù)據(jù)),經(jīng)數(shù)據(jù)輸入輸出緩沖器34將該選項數(shù)據(jù)傳送給寄存器35,保存在寄存器中。
接著,在步驟S302中,通過從地址端子A和數(shù)據(jù)輸入端子DI輸入程序指令,開始程序動作。
一旦開始程序動作,則在步驟S303中,通過頁面鎖存動作將128位的寫入數(shù)據(jù)保存在列閂鎖電路29中。如上所述,執(zhí)行8周期的頁面鎖存動作。
一旦128位的頁面鎖存動作結(jié)束,則在步驟S304中,執(zhí)行對列閂鎖電路129中保存的128位數(shù)據(jù)的頁面程序動作。
在頁面程序動作結(jié)束后,在步驟S305中,判斷成為程序?qū)ο蟮拇鎯卧欠裨O(shè)定為規(guī)定的閾值電壓(即是否達(dá)到規(guī)定的閾值電壓)(程序查證動作)。在本實施例中,程序查證動作是判斷是否充分執(zhí)行從存儲單元晶體管的浮動?xùn)胖刑崛‰娮拥膭幼鳎唧w而言,判斷執(zhí)行寫入以變?yōu)槌绦驙顟B(tài)的存儲單元的閾值電壓是否小于程序查證判斷電平203(參照圖3)。通過由列閂鎖電路29匯總執(zhí)行128位的程序查證動作。下面描述由列閂鎖電路29執(zhí)行的程序查證動作的細(xì)節(jié)。
步驟S305的判斷結(jié)果,在程序?qū)ο蟮拇鎯卧腥我淮鎯卧拈撝惦妷何催_(dá)到規(guī)定電壓的情況下,返回步驟S304的動作,再次執(zhí)行頁面程序動作。若程序?qū)ο蟮拇鎯卧吭O(shè)定在規(guī)定的閾值電壓,則前進(jìn)到步驟S306,經(jīng)PASS輸出電路30輸出H電平的PASS信號,由此完成寫入動作。
—寫入動作的細(xì)節(jié)—下面,說明列閂鎖電路29的結(jié)構(gòu)、及使用列閂鎖電路29的寫入動作的細(xì)節(jié)。
圖5(a)、(b)分別是順序表示列閂鎖電路29和1個列鎖存器結(jié)構(gòu)的電路圖。如圖5(a)所示,列閂鎖電路對應(yīng)于16位的輸入數(shù)據(jù)與16個內(nèi)部數(shù)據(jù)總線DIN[]-DIN[15]連接。以1個內(nèi)部數(shù)據(jù)總線DIN
為例,內(nèi)部數(shù)據(jù)總線DIN
連接于8個列鎖存器29a-29h。通過1周期的頁面鎖存動作,來自內(nèi)部數(shù)據(jù)總線DIN
的數(shù)據(jù)保存在列鎖存器29a-29h的任一列鎖存器中。通過信號PLG
-PLG[7]來選擇保存的列鎖存器。例如,在8周期的頁面鎖存動作中,在第1周期的頁面存鎖動作時,信號PLG
變?yōu)镠電平,將來自內(nèi)部數(shù)據(jù)總線DIN
的輸入數(shù)據(jù)保存在列鎖存器29a中。接著,通過執(zhí)行頁面閂鎖動作,信號PLG[1]-PLG[7]依次變?yōu)镠電平,將來自內(nèi)部數(shù)據(jù)總線DIN
的各輸入數(shù)據(jù)依次保存在列鎖存器29b-29h中。
圖5(b)是詳細(xì)表示圖5(a)的列鎖存器29a的具體結(jié)構(gòu)的電路圖。這里,雖僅示出1個列鎖存器29a的結(jié)構(gòu),但其它列鎖存器29b-29h等的結(jié)構(gòu)也一樣。
列鎖存器29a具備位線電位檢測電路400、保存寫入數(shù)據(jù)的鎖存器403、將鎖存器403的邏輯信號變換為Vpp電壓的電平移位電路402、將位線BLO-電平移位電路402、鎖存器403間切換成連接狀態(tài)、非連接狀態(tài)的傳輸門401、在控制信號TFG為激活狀態(tài)時將傳輸門401的P溝道晶體管MPTO變?yōu)榧せ顮顟B(tài)的反相器XI、接收位線電位檢測電路400的輸出后復(fù)位鎖存器403的鎖存數(shù)據(jù)的鎖存復(fù)位電路404、和將內(nèi)部數(shù)據(jù)總線DIN
和鎖存器403切換為連接狀態(tài)、非連接狀態(tài)的晶體管MNT1、MPT1。
這里,電平移位電路402、傳輸門401的P溝道型晶體管MPTO、反相器XI、及位線電位檢測電路400的P溝道型晶體管MPV0、MPV1上連接電壓Vpp的電源。
位線電位檢測電路400具有接收兩個輸入信號后執(zhí)行NOR運算的功能,一側(cè)輸入部連接于位線BL0,另一側(cè)的輸入部連接于控制信號NVRF。另外,在控制信號為L電平,并且位線BL0的電位比位線電位檢測電路的反轉(zhuǎn)設(shè)定值低的情況下,輸出H電平的信號。
位線電位檢測電路400的輸出部連接于鎖存復(fù)位電路404,在位線電位檢測電路400輸出H電平的信號的情況下,將鎖存復(fù)位電路404設(shè)定為激活狀態(tài)。通過將鎖存復(fù)位電路404設(shè)定為激活狀態(tài),復(fù)位鎖存器403,將鎖存器403的節(jié)點LAT的電位設(shè)定為H電位。
下面,說明使用如上所述構(gòu)成的列閂鎖電路29的寫入動作。這里,以向連接于字線WLm0上的存儲單元中寫入數(shù)據(jù)的情況為例進(jìn)行說明。
—頁面鎖存動作—在輸入程序指令后,通過頁面鎖存動作將寫入數(shù)據(jù)保存在鎖存器403中。這里,頁面鎖存動作的第1周期中,信號PLG
變?yōu)镠電平,晶體管MNT1、MPT1變?yōu)閷?dǎo)通,來自內(nèi)部數(shù)據(jù)總線DIN
的輸入數(shù)據(jù)被保存在列鎖存器29a內(nèi)的鎖存器403中。在鎖存程序狀態(tài)的數(shù)據(jù)(數(shù)據(jù)0)的情況下,節(jié)點LAT的電位維持在L電平,在鎖存擦除狀態(tài)的數(shù)據(jù)(數(shù)據(jù)1)的情況下,節(jié)點LAT的電位維持在H電平。
—頁面程序動作—一旦8個周期的頁面鎖存動作結(jié)束,則執(zhí)行頁面程序動作。開始,將電壓Vpp設(shè)定為程序電壓(5V)。接著,激活控制信號TFG信號,將位線BL0與電位移位電路402、鎖存器403變?yōu)檫B接狀態(tài)。在與該動作相同的定時下,使選擇的存儲單元的字線WLm0的電位為-8V,使源線SLm0變?yōu)榇蜷_狀態(tài),使驅(qū)動信號BLRST變?yōu)榉羌せ顮顟B(tài),使位線復(fù)位電路27變?yōu)榉羌せ顮顟B(tài)。
這里,若鎖存器403的節(jié)點LAT的電位為L電平(數(shù)據(jù)0),則向位線BL0(存儲單元的漏極)施加電壓5V,向隧道氧化膜施加電壓13V,在隧道氧化膜中流過FN隧道電流,執(zhí)行寫入動作。另一方面,若鎖存器403的節(jié)點LAT的電位為H電平(數(shù)據(jù)1),則向位線BL0(存儲單元的漏極)施加接地電壓(0V),向隧道氧化膜施加的電壓變?yōu)?V,不流過FN隧道電流,不執(zhí)行寫入動作。
在向各存儲單元施加一定期間的寫入脈沖后,傳輸門401變?yōu)榉羌せ顮顟B(tài),分離位線BL0與鎖存器403、電位移位電路402,同時,將字線WLm0和源線SLm0設(shè)定為接地電壓,并使驅(qū)動信號BLRST變?yōu)榧せ顮顟B(tài),放電鎖存在位線BL0中的電荷,將位線BL0設(shè)定為接地電壓。通過以上操作完成程序動作。
—程序查證動作—接著,執(zhí)行程序查證動作。開始,將電壓Vpp設(shè)定為作為查證漏極電壓的電源電壓(VDD)。接著,使驅(qū)動信號BLRST變?yōu)榉羌せ顮顟B(tài),使位線復(fù)位電路27變?yōu)榉羌せ顮顟B(tài),同時,使傳輸門401變?yōu)榧せ顮顟B(tài),使位線BL0與鎖存器403、電位移位電路402變?yōu)檫B接狀態(tài)。這里,鎖存器403的節(jié)點LAT的電位為L電平(數(shù)據(jù)0)的情況,即將程序狀態(tài)的數(shù)據(jù)被鎖存的位線預(yù)充電到作為查證漏極電壓的電源電壓(VDD)。另一方面,將鎖存器403的節(jié)點LAT的電位為H電平(數(shù)據(jù)1)的、鎖存擦除狀態(tài)數(shù)據(jù)的位線維持在接地電壓。
接著,在完成對鎖存程序狀態(tài)數(shù)據(jù)的位線的預(yù)充電的時刻,傳輸門401變?yōu)榉羌せ顮顟B(tài),同時,向選擇存儲單元的字線WLm0施加程序查證電壓(1V),開始查證動作。這里,著眼于鎖存程序狀態(tài)數(shù)據(jù)的存儲單元的查證動作,則若該存儲單元的閾值電壓達(dá)到適當(dāng)程序狀態(tài)下的閾值電壓(在本實施例中,只要充分除掉存儲單元晶體管的浮動?xùn)胖械碾娮?,使其閾值電壓小于程序查證判斷電平203(參照圖3)),則存儲單元中流過電流,將被預(yù)充電到查證漏極電壓(VDD)的位線電荷進(jìn)行放電,位線電位向接地電壓下降。另一方面,在存儲單元的閾值電壓未達(dá)到適當(dāng)程序狀態(tài)下的閾值電壓的情況下,存儲單元中不流過電流,位線電位維持在檢查漏極電壓(VDD)。另外,若著眼于鎖存擦除狀態(tài)數(shù)據(jù)的存儲單元的查證動作,則位線電位從查證開始時總是維持在接地電壓。
接著,經(jīng)過一定期間后,將位線電位檢測電路400的控制信號NVRF設(shè)定為L電平,位線電位檢測電路400變?yōu)榧せ顮顟B(tài)。這里,若著眼于鎖存程序狀態(tài)數(shù)據(jù)的存儲單元的查證動作,則若存儲單元的閾值電壓達(dá)到適當(dāng)程序狀態(tài)中的閾值電壓,則位線電位變得比查證漏極電壓(VDD)低,并比位線電位檢測電路的反轉(zhuǎn)設(shè)定值還低,所以從位線電位檢測電路400輸出H電平的信號,鎖存復(fù)位電路404變?yōu)榧せ顮顟B(tài)。由此,閂鎖電路403的節(jié)點LAT的電位從L電平(數(shù)據(jù)0)改寫為H電平(數(shù)據(jù)1)。另一方面,在存儲單元的閾值電壓未達(dá)到適當(dāng)程序狀態(tài)中的閾值電壓的情況下,因為位線電位維持在查證漏極電壓(VDD),所以從位線電位檢測電路400輸出L電平的信號,鎖存復(fù)位電路404為非激活狀態(tài)不變,閂鎖電路403的節(jié)點LAT的電位保持在頁面程序動作時的狀態(tài)。
通過以上動作,若存儲單元的閾值電壓達(dá)到適當(dāng)程序狀態(tài)中的閾值電壓,則通過程序查證動作,將鎖存在節(jié)點LAT中的數(shù)據(jù)(電壓值)改寫為H電平(數(shù)據(jù)1),所以不執(zhí)行以后的程序動作。另外,若著眼于鎖存擦除狀態(tài)數(shù)據(jù)的存儲單元的查證動作,則因為位線電位維持在接地電壓,所以從位線電位檢測電路400輸出H電平的信號,鎖存復(fù)位電路404被設(shè)定為激活狀態(tài)。從而,閂鎖電路403的節(jié)點LAT的電位被設(shè)定為H電平(數(shù)據(jù)1),但這不變?yōu)椴樽C開始時的狀態(tài)。
在上述列閂鎖電路的結(jié)構(gòu)中,若匯總程序查證動作后的節(jié)點LAT中鎖存的數(shù)據(jù)(鎖存數(shù)據(jù))的變化狀態(tài),則如下所述。
表1
如表1的第1欄所示,在查證開始時的鎖存數(shù)據(jù)為L電平(數(shù)據(jù)0)的情況下,在保存在存儲單元中的數(shù)據(jù)(存儲單元數(shù)據(jù))為程序狀態(tài)數(shù)據(jù)(數(shù)據(jù)0)的情況下,查證結(jié)束后的鎖存數(shù)據(jù)從L電平(數(shù)據(jù)0)反轉(zhuǎn)為H電平(數(shù)據(jù)1)。
如表1的第2欄所示,在查證開始時的鎖存數(shù)據(jù)為L電平(數(shù)據(jù)0)、存儲單元數(shù)據(jù)為擦除狀態(tài)的數(shù)據(jù)(數(shù)據(jù)1)的情況下,查證結(jié)束后的鎖存數(shù)據(jù)維持L電平(數(shù)據(jù)0)。
如表1的第3欄、第4欄所示,在查證開始時的鎖存數(shù)據(jù)為H電平(數(shù)據(jù)1)的情況下,與保存在存儲單元中的數(shù)據(jù)狀態(tài)無關(guān),查證結(jié)束后的鎖存數(shù)據(jù)維持H電平(數(shù)據(jù)1)。
這里,在表1的第3欄所示的、查證開始時的鎖存數(shù)據(jù)為H電平(數(shù)據(jù)1)、存儲單元數(shù)據(jù)為程序狀態(tài)數(shù)據(jù)(數(shù)據(jù)0)的情況下,實際上,執(zhí)行頁面程序的存儲單元在頁面程序前全部變?yōu)椴脸隣顟B(tài)(數(shù)據(jù)1),所以實際數(shù)據(jù)改寫時的程序查證動作是不可能發(fā)生的情況。但是,如后所述,在本發(fā)明的安全保護(hù)功能中利用該動作的情況下,保存安全解除代碼的存儲單元的一部分有時當(dāng)然為程序狀態(tài)(數(shù)據(jù)0),所以產(chǎn)生這種情況。此時,無論寫入數(shù)據(jù)與存儲單元數(shù)據(jù)是否一致,查證動作結(jié)束后的鎖存數(shù)據(jù)為1。
在通過程序查證動作使所有鎖存數(shù)據(jù)(鎖存在節(jié)點LAT中的數(shù)據(jù))變?yōu)镠電平(數(shù)據(jù)1)的情況下,即寫入數(shù)據(jù)與存儲單元數(shù)據(jù)一致的情況下,從PASS輸出電路30輸出H電平的PASS信號,結(jié)束寫入動作。另一方面,若未達(dá)到適當(dāng)程序狀態(tài)的閾值電壓值的存儲單元還有1位,則在程序查證結(jié)束后,存在鎖存數(shù)據(jù)LAT為L電平(數(shù)據(jù)0)的單元,所以從PASS輸出電路30輸出L電平的PASS信號,反復(fù)進(jìn)行提取程序動作和查證動作,直到輸出H電平的PASS信號為止。
—機(jī)密保護(hù)方法—下面,詳細(xì)說明利用上述公知的程序查證動作的、涉及本發(fā)明的非易失性半導(dǎo)體存儲裝置的機(jī)密保持方法(或安全解除方法)。
本發(fā)明的機(jī)密保護(hù)方法(安全解除方法)的特征在于使用非易失性半導(dǎo)體存儲裝置中預(yù)備的列閂鎖電路、頁面鎖存動作及程序查證動作來執(zhí)行。
圖6是表示實施例1的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟流程圖。
首先,在步驟S500中,若執(zhí)行電源接通動作,則在帶安全功能的非易失性半導(dǎo)體存儲裝置中,在步驟S501中,因為安全功能作用,所以從外部訪問存儲單元陣列10變?yōu)榻範(fàn)顟B(tài)。
接著,在步驟S502中,讀出放大器33讀取保存在選項區(qū)域12中的冗長地址信息、電壓觸發(fā)信息、安全解除指令信息、安全解除代碼的存儲單元地址信息等(選項數(shù)據(jù)),經(jīng)數(shù)據(jù)輸入輸出緩沖器34保存在寄存器35中。
接著,在步驟S503中,從地址端子A和數(shù)據(jù)輸入端子DI輸入用于解除安全功能的安全解除指令。
接著,在步驟S504中,若檢測輸入適當(dāng)?shù)陌踩獬噶?,則移動到輸入用于解除安全功能的密碼的步驟。通過頁面鎖存動作,將輸入密碼保存在列閂鎖電路29中。通過執(zhí)行8周期的頁面鎖存動作,將輸入數(shù)據(jù)端子DI
-DI[15]將128位的密碼保存在列閂鎖電路29中。
若完成對列閂鎖電路29的密碼保存,則在步驟S505中,執(zhí)行列閂鎖電路29中保存的密碼與解除代碼保存部13中保存的安全解除代碼的查證動作。在以下說明中,將列閂鎖電路29中保存的密碼與安全解除代碼保存部13的存儲單元中保存的安全解除代碼的查證動作稱為[安全認(rèn)證查證動作]。
在步驟S505的判斷中,在結(jié)束安全認(rèn)證查證動作后,鎖存數(shù)據(jù)LAT全部變?yōu)镠電平(數(shù)據(jù)1)的情況下,即,判斷輸入密碼與安全解除代碼一致的情況下,從PASS輸出電路30輸出H電平的PASS信號,前進(jìn)到步驟S506,解除安全功能。
在解除安全功能后,在步驟S507中,可從外部訪問存儲單元陣列10,可進(jìn)行讀取、寫入、刪除等動作。
另一方面,在結(jié)束安全認(rèn)證查證動作后,節(jié)點LAT的鎖存數(shù)據(jù)未全部變?yōu)镠電平(數(shù)據(jù)1)的情況下,即,判斷輸入密碼與安全解除代碼不一致的情況下,從PASS輸出電路30輸出L電平的PASS信號,前進(jìn)到步驟S508,不解除安全功能。此時,從外部對存儲單元陣列10的訪問仍為禁止?fàn)顟B(tài)不變。
如上所述,為了解除安全功能,必需輸入安全解除指令,之后輸入與存儲單元中保存的安全解除代碼完全相同的密碼。
時序7是表示實施例1的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟時序圖。
如圖所示,在時刻T0,輸入安全解除指令。在本實施例中,安全解除指令為3周期的指令(CA0-CA2、CD0-CD2),但安全解除指令的周期數(shù)不限于3周期。指令解碼器25檢測輸入安全解除指令,將H電平的信號SCOM輸出到安全控制電路41。此時,從數(shù)據(jù)輸出端子DO
-DO[15]輸出不允許讀取信號FFFh(Outputdisable),為不可讀取狀態(tài)。
接著,安全控制電路41從接收H電平的信號SCOM的時刻T1開始,移動到輸入解除安全功能的密碼的步驟。通過頁面鎖存動作,將輸入密碼保存在列閂鎖電路29中。通過執(zhí)行8周期頁面鎖存動作,從輸入數(shù)據(jù)端子DI
-DI[15]將128位的密碼(P0-P7)保存在列閂鎖電路29中。這里,頁面鎖存動作時的輸入地址端子A的設(shè)定是任意(Don’t Care)的。
接著,從結(jié)束對列閂鎖電路29的密碼頁面鎖存動作的時刻T2開始,就緒/占線信號RY/BY變到L電平,變?yōu)檎季€狀態(tài),執(zhí)行列閂鎖電路29中保存的密碼與安全解除代碼保存部13的存儲單元中保存的安全解除代碼的查證動作。在查證動作時,安全控制電路41向地址解碼器26輸出H電平的安全認(rèn)證查證信號SPV。若向地址解碼器26輸入H電平的SPV信號,則地址解碼器26發(fā)生解碼信號,以選擇選項區(qū)域12中保存安全解除代碼13的存儲單元的地址。
接著,在時刻T2a,選擇連接于安全解除代碼保存部13的存儲單元MCo01、MCo11上的字線WLo1,向該字線WLo1施加從正高電壓發(fā)生電路22輸出的輸出電壓Vpv。從而,執(zhí)行列閂鎖電路29中保存的密碼與安全解除代碼的查證動作。
接著,在時刻T2b,在通過上述查證動作判斷密碼與安全解除代碼一致的確良情況下,即查證動作結(jié)束后的鎖存數(shù)據(jù)LAT全部變?yōu)镠電平的情況下,從PASS輸出電路30輸出H電平的PASS信號。將H電平的PASS信號輸入安全控制電路41,接收H電平的PASS信號的安全控制電路41輸出H電平的安全解除信號SPASS。將該SPASS信號輸入數(shù)據(jù)輸入輸出緩沖器34,由此,解除安全功能,可從外部訪問存儲單元陣列10。
在時刻T2c,查證動作結(jié)束,將選擇字線WLo1設(shè)定為接地電壓。
在時刻T3以后,因為解除安全功能,所以若進(jìn)行讀取動作,則分別向數(shù)據(jù)輸出端子DO
-DO[15]輸出存儲單元的數(shù)據(jù)DO-D2。
在上述查證動作時,在判斷密碼與安全解除代碼不一致的情況下,即,查證動作結(jié)束后的鎖存數(shù)據(jù)LAT未全部變?yōu)镠電平的情況下,從PASS輸出電路30輸出L電平的PASS信號。安全控制電路41輸出L電平的安全解除信號SPASS,不解除安全功能。此時,即使執(zhí)行讀取動作,也不能讀取存儲單元的數(shù)據(jù),總是從數(shù)據(jù)輸出端子DO
-DO[15]僅輸出FFFFh(Output disable)。
—安全解除代碼與密碼的關(guān)系—圖8(a)-(h)是表示對應(yīng)于安全解除代碼和各種密碼的查證動作前后的鎖存數(shù)據(jù)變化的圖。
對如上所述通過8周期的頁面鎖存動作保存在列閂鎖電路中的128位的鎖存數(shù)據(jù)執(zhí)行本實施例的查證動作,但這里為了簡化說明,說明1字大小的數(shù)據(jù)(16位)的鎖存數(shù)據(jù)的變化狀態(tài)。設(shè)保存在存儲單元中的安全解除代碼值為5555h。
如圖8(a)所示,在輸入與安全解除代碼相同的5555h作為密碼的情況下,查證動作后的鎖存數(shù)據(jù)全部變?yōu)閿?shù)據(jù)1,所以從PASS輸出電路30輸出H電平的PASS信號,解除安全功能。
這里,如圖8(b)所示,在將0055h的密碼保存在列閂鎖電路29中的情況下,查證動作后的鎖存數(shù)據(jù)中鎖存數(shù)據(jù)為數(shù)據(jù)0、安全解除代碼為數(shù)據(jù)0的第15、第13、第11、第9、第7、第5、第3、第1鎖存數(shù)據(jù)從數(shù)據(jù)0反轉(zhuǎn)為數(shù)據(jù)1。另一方面,鎖存數(shù)據(jù)為數(shù)據(jù)0、安全解除代碼為數(shù)據(jù)1的第14、第12、第10、第8鎖存數(shù)據(jù)仍為數(shù)據(jù)0不變。因此,并非所有鎖存數(shù)據(jù)變?yōu)閿?shù)據(jù)1,所以從PASS輸出電路30輸出L電平的PASS信號,不解除安全功能。
如圖8(c)所示,在將FFFFh的密碼保存在列閂鎖電路29中的情況下,查證動作后的鎖存數(shù)據(jù)全部為數(shù)據(jù)1不變。如上所述,是由于在查證開始時的鎖存數(shù)據(jù)為數(shù)據(jù)1的情況下,與保存在存儲單元中的存儲單元數(shù)據(jù)狀態(tài)無關(guān),查證結(jié)束后的鎖存數(shù)據(jù)為數(shù)據(jù)1不變化。因此,因為鎖存數(shù)據(jù)全部變?yōu)閿?shù)據(jù)1,所以盡管密碼與安全解除代碼不一致,都從PASS輸出電路30輸出H電平的PASS信號,解除安全功能。
如圖8(d)、(e)、(f)、(g)所示,即使在輸入鎖存數(shù)據(jù)分別為7FFFh、FF7Fh、7F7Fh、7777h的情況下,也與圖8(c)所示情況一樣,因為查證動作后的鎖存數(shù)據(jù)的全部變?yōu)閿?shù)據(jù)1,所以盡管密碼與安全解除代碼不一致,都從PASS輸出電路30輸出H電平的PASS信號,解除安全功能。下面詳細(xì)說明圖8(c)-(g)及圖8(h)。
因此,基本上僅在查證動作后的鎖存數(shù)據(jù)全部為數(shù)據(jù)1的情況下、即輸入密碼與安全解除代碼一致的情況下,解除安全功能。但是,通過設(shè)定特殊的密碼,盡管密碼與安全解除代碼不一致,也都能解除安全功能,但通過排除具有某個數(shù)據(jù)(圖8(c)-(g)所示數(shù)據(jù))的密碼的單元,可刪除這種可能性。以后面的其它實施例中說明具體單元。
這里,因為由保存在寄存器35中的安全解除指令信息來決定上述實施例中的安全解除指令,所以通過變更寄存器35中保存的值、即事先保存在選項區(qū)域12中的安全解除指令信息,可隨時進(jìn)行變更。通過如此構(gòu)成,可對每個用戶、或每個芯片任意設(shè)定、變更安全解除指令,所以在未公開安全解除指令的情況下,惡意第三者難以特定安全解除指令。因此,可進(jìn)一步提高安全保護(hù)功能。
另外,因為由保存在寄存器35中的安全解除代碼的存儲單元地址信息來決定安全認(rèn)證查證動作時的查證對象存儲單元地址,所以通過變更寄存器35中保存的值、即事先保存在選項區(qū)域12中的安全解除代碼的存儲單元地址信息,可隨時進(jìn)行變更。通過如此構(gòu)成,可對每個用戶、或每個芯片任意設(shè)定、變更保存安全解除代碼的存儲單元的地址,所以難以特定保存安全解除代碼的存儲單元的地址。因此,惡意第三者難以破解安全解除指令,可進(jìn)一步提高安全保護(hù)功能。
并且,在本實施例中,說明輸入密碼與安全解除代碼為與閃存中執(zhí)行頁面程序的存儲單元位數(shù)(列閂鎖電路29中的列鎖存器數(shù))相同的128位,但也可使輸入密碼與安全解除代碼的位數(shù)與閃存的列閂鎖電路29中的列鎖存器數(shù)不同。例如,也可在設(shè)輸入密碼與安全解除代碼為64位的情況下,通過4周期的頁面鎖存動作將64位的密碼保存在列閂鎖電路29中。因此,在本發(fā)明中,安全解除代碼的位數(shù)是可變的,可根據(jù)設(shè)備側(cè)的請求來自由設(shè)定安全保護(hù)功能。
如上所述,本發(fā)明利用執(zhí)行非易失性半導(dǎo)體存儲裝置中預(yù)備的匯總寫入動作的列閂鎖電路29中來執(zhí)行安全認(rèn)證動作,所以象現(xiàn)有的帶安全保護(hù)功能的非易失性半導(dǎo)體存儲裝置那樣,不必需密碼保存鎖存電路、比較電路,可不增大電路規(guī)模地實現(xiàn)安全功能。另外,因為利用將寫入數(shù)據(jù)保存在列閂鎖電路中的頁面鎖存動作和確認(rèn)鎖存數(shù)據(jù)與存儲單元數(shù)據(jù)一致的查證動作來執(zhí)行安全認(rèn)證動作,所以可不必具有新的動作模式、不增大控制電路的電路規(guī)模就可實現(xiàn)安全功能。并且,因為非易失性半導(dǎo)體存儲裝置中匯總寫入位數(shù)(列鎖存位數(shù))多,所以可不增大電路規(guī)模就可增加安全位數(shù)。即,可容易提高安全保護(hù)功能。
另外,因為可由寄存器中設(shè)定的值來任意設(shè)定、變更安全解除指令、安全解除代碼的存儲單元地址,所以可進(jìn)一步提高安全保護(hù)功能。
這里,也可在檢測出輸入有不是安全解除指令的特定地址、特定數(shù)據(jù)之一或兩者后,執(zhí)行安全功能的解除動作(鎖存動作、查證動作)。該檢測動作既可在電源接通時進(jìn)行,也可在復(fù)位模式解除時進(jìn)行,也可在將寫入數(shù)據(jù)保存在列閂鎖電路中的頁面鎖存動作的開始前進(jìn)行。
并且,通過保存對每個用戶、或每個芯片設(shè)定的特定地址、特定數(shù)據(jù)的值來作為寄存器35內(nèi)的特定地址、數(shù)據(jù)信息,可隨時變更寄存器35中保存的值、即事先保存在選項區(qū)域12中的特定地址、數(shù)據(jù)信息。通過如此構(gòu)成,因為可對每個用戶、或每個芯片任意設(shè)定、變更特定地址、數(shù)據(jù),所以惡意第三者難以破解特定地址、特定數(shù)據(jù),可進(jìn)一步提高安全保護(hù)功能。
(實施例2)在實施例1的查證動作中,例如,在鎖存數(shù)據(jù)全部為數(shù)據(jù)1的情況下,與存儲單元中保存的安全解除代碼的數(shù)據(jù)無關(guān),查證動作后的鎖存數(shù)據(jù)全部變?yōu)閿?shù)據(jù)1,所以在查證動作中必然輸出H電平的PASS信號。因此,若在列閂鎖電路中全部保存數(shù)據(jù)1的密碼,則可與安全解除代碼的數(shù)據(jù)無關(guān)地解除安全功能。因此,設(shè)置檢測輸入鎖存數(shù)據(jù)是禁止數(shù)據(jù)的檢測單元。這里,所謂禁止數(shù)據(jù)是指將輸入數(shù)據(jù)的所有位分成1或2個以上組時,1個組中的所有位為數(shù)據(jù)1的數(shù)據(jù)。換言之,所謂禁止數(shù)據(jù)是指不正當(dāng)密碼的輸入數(shù)據(jù)(鎖存數(shù)據(jù))。在通過檢測單元檢測輸入數(shù)據(jù)(鎖存數(shù)據(jù))是禁止數(shù)據(jù)的情況下,不執(zhí)行安全功能的解除。
—電路結(jié)構(gòu)及動作—圖9是表示實施例2的非易失性半導(dǎo)體存儲裝置(閃存)的結(jié)構(gòu)的電路圖。在圖9所示電路中,由相同符號來表示與上述實施例1相同的結(jié)構(gòu)要素,省略該結(jié)構(gòu)要素的說明。在本實施例的說明中,僅說明與圖1所示電路中不同的結(jié)構(gòu)要素。
在圖9所示電路中,除圖1所示實施例1的電路外,在安全電路40中設(shè)置禁止數(shù)據(jù)檢測電路42。禁止數(shù)據(jù)檢測電路42上連接內(nèi)部數(shù)據(jù)總線DIN,禁止數(shù)據(jù)檢測電路42在頁面鎖存動作時經(jīng)內(nèi)部數(shù)據(jù)總線DIN接收輸入數(shù)據(jù)(在圖9所示電路中,雖不是鎖存在列鎖存器中的數(shù)據(jù)等,但為了方便也稱為[鎖存數(shù)據(jù)]時,若檢測輸入數(shù)據(jù)(鎖存數(shù)據(jù))是禁止數(shù)據(jù),則向安全控制電路41輸出H電平的禁止數(shù)據(jù)檢測信號LDET。禁止數(shù)據(jù)檢測電路42是為了防止如上所述在輸入的密碼數(shù)據(jù)(鎖存數(shù)據(jù))為上述禁止數(shù)據(jù)的情況下,與存儲單元中保存的安全解除代碼無關(guān)地解除安全功能而設(shè)置的,在輸入密碼的頁面鎖存動作中檢測輸入數(shù)據(jù)(鎖存數(shù)據(jù))是上述禁止數(shù)據(jù)的情況下,向安全控制電路41輸出H電平的禁止數(shù)據(jù)檢測信號LDET,不解除安全功能。
另外,在圖9所示電路中,禁止數(shù)據(jù)檢測電路42相對數(shù)據(jù)輸入輸出緩沖器34與列閂鎖電路29并聯(lián)配置,但即使與列閂鎖電路29串聯(lián)設(shè)置禁止數(shù)據(jù)檢測電路42,也可得到與本實施例相同的效果。例如,也可將禁止數(shù)據(jù)檢測電路42設(shè)置在數(shù)據(jù)輸入輸出緩沖器34與列閂鎖電路29之間,或設(shè)置在列閂鎖電路29與PASS輸出電路30之間。
圖10(a)~(d)是表示禁止數(shù)據(jù)檢測電路42的具體構(gòu)成的各種實例的圖。禁止數(shù)據(jù)檢測電路42組合NAND電路、NOR電路、反相電路等運算電路而構(gòu)成。
禁止數(shù)據(jù)檢測電路42的結(jié)構(gòu)在圖10(a)所示實例中以每16位、在圖10(b)所示實例中以每8位、在圖10(c)所示實例中以每4位、在圖10(d)所示實例中以每2位將內(nèi)部數(shù)據(jù)總線DIN
-[15]區(qū)分成組,檢測組內(nèi)任一組中的所有位為數(shù)據(jù)1,使安全功能解除停止。
在圖10(a)所示實例中,在來自內(nèi)部數(shù)據(jù)總線DIN
-[15]的輸入數(shù)據(jù)(鎖存數(shù)據(jù))全部為數(shù)據(jù)1的情況下,從禁止數(shù)據(jù)檢測電路42輸出H電平的禁止數(shù)據(jù)檢測LDET。
在圖10(b)所示實例中,在來自內(nèi)部數(shù)據(jù)總線DIN
-[7]、DIN[8]-[15]任一組的輸入數(shù)據(jù)(鎖存數(shù)據(jù))全部為數(shù)據(jù)1的情況下,從禁止數(shù)據(jù)檢測電路42輸出H電平的禁止數(shù)據(jù)檢測LDET。
在圖10(c)所示實例中,在來自內(nèi)部數(shù)據(jù)總線DIN
-[3]、DIN[4]-[7]、DIN[8]-[11]、DIN[12]-[15]任一組的輸入數(shù)據(jù)(鎖存數(shù)據(jù))全部為數(shù)據(jù)1的情況下,從禁止數(shù)據(jù)檢測電路42輸出H電平的禁止數(shù)據(jù)檢測LDET。
在圖10(d)所示實例中,在來自內(nèi)部數(shù)據(jù)總線DIN
-[1]、DIN[2]-[3]、DIN[4]-[5]、DIN[6]-[7]、DIN[8]-[9]、DIN[10]-[11]、DIN[12]-[13]、DIN[14]-[15]任一組的輸入數(shù)據(jù)(鎖存數(shù)據(jù))全部為數(shù)據(jù)1的情況下,從禁止數(shù)據(jù)檢測電路42輸出H電平的禁止數(shù)據(jù)檢測LDET。
在圖9所示電路中,若從禁止數(shù)據(jù)檢測電路42向安全控制電路41輸入H電平的禁止數(shù)據(jù)檢測LDET,則不解除安全功能。
這里,參照圖8(c)-(h)來說明查證動作前后鎖存數(shù)據(jù)的變化。如實施例1中所述,設(shè)存儲單元中保存的安全解除代碼的值為5555h。
如圖8(c)所示,在將FFFFh的密碼保存在列閂鎖電路29中的情況下,查證動作后的鎖存數(shù)據(jù)全部位變?yōu)閿?shù)據(jù)1,在實施例1中,盡管密碼與安全解除代碼不一致,也可解除安全功能。此時,通過設(shè)置圖10(a)所示禁止數(shù)據(jù)檢測電路,可檢測輸入FFFFh的數(shù)據(jù)(鎖存數(shù)據(jù))作為密碼。另外,可通過從目標(biāo)數(shù)據(jù)檢測電路輸出的H電平的禁止數(shù)據(jù)檢測信號LDET來禁止解除安全功能。
如圖8(d)、(e)所示,在列閂鎖電路29中保存7FFFh或FF7Fh密碼的情況下,因為查證動作后的鎖存數(shù)據(jù)的全部位變?yōu)閿?shù)據(jù)1,所以在實施例1中,盡管密碼與安全解除代碼不一致,也能解除安全功能。另外,即使使用圖10(a)所示禁止數(shù)據(jù)檢測電路,但由于輸入數(shù)據(jù)(鎖存數(shù)據(jù))并非所有位為數(shù)據(jù)1,所以不作為禁止數(shù)據(jù)檢測,與存儲單元中保存的安全解除代碼無關(guān),解除安全功能。此時,通過設(shè)置圖10(b)所示的禁止數(shù)據(jù)檢測電路,可檢測輸入7FFFh或FF7Fh的數(shù)據(jù)(鎖存數(shù)據(jù))作為密碼。通過從禁止數(shù)據(jù)檢測電路輸出的H電平禁止數(shù)據(jù)檢測信號LDET,可禁止解除安全功能。通過圖10(b)所示的禁止數(shù)據(jù)檢測電路,由于不僅兩個鎖存數(shù)據(jù),而且還可檢測FFFFh的鎖存數(shù)據(jù),所以可進(jìn)一步限制解除安全功能的密碼數(shù)。
如圖8(f)所示,在列閂鎖電路29中保存7F7Fh的密碼的情況下,因為查證動作后的鎖存數(shù)據(jù)全部位變?yōu)閿?shù)據(jù)1,所以在實施例1中,盡管密碼與安全解除代碼不一致,也能解除安全功能。另外,即使使用圖10(a)-(b)所示禁止數(shù)據(jù)檢測電路,但由于不作為禁止數(shù)據(jù)檢測,與存儲單元中保存的安全解除代碼無關(guān),解除安全功能。此時,通過設(shè)置圖10(c)所示的禁止數(shù)據(jù)檢測電路,可檢測輸入7F7Fh的數(shù)據(jù)(鎖存數(shù)據(jù))作為密碼。通過從禁止數(shù)據(jù)檢測電路輸出的H電平禁止數(shù)據(jù)檢測信號LDET,可禁止解除安全功能。通過圖10(c)所示的禁止數(shù)據(jù)檢測電路,由于不僅鎖存數(shù)據(jù)7F7Fh,而且還可檢測鎖存數(shù)據(jù)FFFFh、7FFFh、FF7Fh,所以可進(jìn)一步限制解除安全功能的密碼數(shù)。
如圖8(g)所示,在列閂鎖電路29中保存7777h的密碼的情況下,因為查證動作后的鎖存數(shù)據(jù)全部位變?yōu)閿?shù)據(jù)1,所以在實施例1中,盡管密碼與安全解除代碼不一致,也能解除安全功能。另外,即使使用圖10(a)-(c)所示禁止數(shù)據(jù)檢測電路,但由于不作為禁止數(shù)據(jù)檢測,所以與存儲單元中保存的安全解除代碼無關(guān),解除安全功能。此時,通過設(shè)置圖10(d)所示的禁止數(shù)據(jù)檢測電路,可檢測輸入7777h的數(shù)據(jù)(鎖存數(shù)據(jù))作為密碼。通過圖10(d)所示的禁止數(shù)據(jù)檢測電路,由于不僅鎖存數(shù)據(jù)7777,而且還可檢測鎖存數(shù)據(jù)FFFFh、7FFFh、FF7Fh,7F7Fh,所以可進(jìn)一步限制解除安全功能的密碼數(shù)。
通過從安全解除代碼(密碼)中去除禁止數(shù)據(jù)檢測電路檢測的禁止數(shù)據(jù),盡管輸入密碼,但也可避免不解除安全等麻煩。
在本實施例的禁止數(shù)據(jù)檢測電路中,尤其是通過設(shè)置圖10(d)所示禁止數(shù)據(jù)檢測電路,可僅在將作為與安全解除代碼數(shù)據(jù)相同的5555h作為密碼輸入的情況下才可解除安全功能。即,如圖8(h)所示,構(gòu)成為將輸入鎖存數(shù)據(jù)區(qū)分成由虛線表示的小組,檢測該組內(nèi)任一組的所有位為數(shù)據(jù)1,可大幅度限制解除安全功能的密碼,可進(jìn)一步提高安全保護(hù)功能。
—機(jī)密保護(hù)方法—下面,詳細(xì)說明本實施例的非易失性半導(dǎo)體存儲裝置(閃存)中的機(jī)密保護(hù)方法(安全解除方法)。
圖11是表示實施例2的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟流程圖。這里,圖11中所示步驟中步驟S600-S603及步驟S606-S609的處理與上述實施例的圖6中的步驟S500-S503、S505-S508的處理一樣,所以省略說明。這里,說明步驟S604-S605的處理。
在步驟S603中,一旦檢測輸入安全解除指令,則在步驟S604中,移動到輸入用于解除安全功能的密碼的處理(密碼頁面鎖存)。若經(jīng)內(nèi)部數(shù)據(jù)總線DIN
-DIN[15]將輸入的密碼(輸入數(shù)據(jù)或鎖存數(shù)據(jù))輸入到禁止數(shù)據(jù)檢測電路42,則在步驟S604中,檢測數(shù)據(jù)檢測電路42判斷輸入數(shù)據(jù)(鎖存數(shù)據(jù))是否與上述禁止數(shù)據(jù)(例如FFFFh、7FFFh、FF7Fh,7F7Fh、7777h)一致。
步驟S604的判斷結(jié)果,在輸入密碼與禁止數(shù)據(jù)一致(是)的情況下,因為無存儲單元中保存的安全解除代碼無關(guān)地解除安全功能,所以移動到步驟S609,控制不解除安全功能。
另一方面,步驟S604的判斷結(jié)果,在輸入密碼與禁止數(shù)據(jù)不一致(否)的情況下,前進(jìn)到步驟S605,通過頁面鎖存動作,將輸入密碼保存在列閂鎖電路29。此時,執(zhí)行8周期一系列的輸入密碼檢查動作和密碼頁面鎖存動作,從輸入數(shù)據(jù)端子DI
-[15],將128位的密碼保存在列閂鎖電路29中。
通過8周期的輸入密碼檢查動作和密碼頁面鎖存動作,僅在輸入密碼與禁止數(shù)據(jù)都不一致的情況下,在步驟S606中,執(zhí)行列閂鎖電路中保存的密碼與安全解除代碼存儲部13的存儲單元中保存的安全解除代碼的查證動作。步驟S606之后的處理與實施例1一樣,所以省略說明。
如上所述,通過本實施例的安全保護(hù)方法,利用禁止數(shù)據(jù)檢測電路42,可防止由存儲單元中保存的安全解除代碼以外的密碼來解除安全功能,可進(jìn)一步提高安全保護(hù)功能。
—時序圖—圖12是表示實施例2的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟時序圖。這里,以輸入禁止數(shù)據(jù)FFFFh來作為輸入密碼的情況為例進(jìn)行說明。
在時刻T0,若輸入安全解除指令,則通過指令解碼器25檢測輸入安全解除指令,將H電平的信號SCOM(安全解除指令檢測信號)輸出到安全控制電路41。
接著,從安全控制電路41接收H電平的信號SCOM的時刻T1開始,輸入解除安全功能用的密碼。經(jīng)內(nèi)部數(shù)據(jù)總線DIN
-[15],將輸入密碼輸入到禁止數(shù)據(jù)檢測電路42,檢查與禁止數(shù)據(jù)(例如FFFFh、7FFFh、FF7Fh,7F7Fh、7777h)是否一致。這里,在頁面鎖存動作的第2周期(時刻T1a)輸入FFFFh作為輸入密碼P1的情況下,禁止數(shù)據(jù)檢測電路42檢測該輸入密碼及禁止數(shù)據(jù),從禁止數(shù)據(jù)檢測電路42輸出H電平的禁止數(shù)據(jù)檢測信號LDET。另一方面,在輸入密碼與哪個禁止數(shù)據(jù)都不一致的情況下,從禁止數(shù)據(jù)檢測電路42輸出L電平的禁止數(shù)據(jù)檢測信號LDET。
將該H電平或L電平的禁止數(shù)據(jù)檢測信號LDET輸入安全控制電路41。一旦安全控制電路41一次接收H電平的禁止數(shù)據(jù)檢測信號LDET,則即使8周期的頁面鎖存動作結(jié)束,安全認(rèn)證查證信號SPV也不變?yōu)镠電平。因此,在時刻T2以后,不開始輸入密碼與安全解除代碼的查證動作。因此,不解除安全功能。此時,即使在時刻T3以后執(zhí)行讀取動作,也不能讀取存儲單元的數(shù)據(jù),總是從數(shù)據(jù)輸出端子DO
-[15]僅輸出FFFFh。
如上所述,在本實施例的非易失性半導(dǎo)體存儲裝置(閃存中),因為設(shè)置禁止數(shù)據(jù)檢測電路42,所以可防止由存儲單元中保存的安全解除代碼以外的密碼來解除安全功能。這里,通過將禁止數(shù)據(jù)檢測電路42構(gòu)成為將輸入數(shù)據(jù)或鎖存數(shù)據(jù)的所有位區(qū)分成1或2個以上組,檢測組內(nèi)任一組的所有位都為數(shù)據(jù)1,可大幅度限制解除安全功能的密碼。因此,可進(jìn)一步提高安全保護(hù)功能。
在本實施例中,當(dāng)檢測禁止數(shù)據(jù)時,通過禁止對列閂鎖電路的密碼鎖存動作結(jié)束后的查證動作,雖不能從外部訪問存儲單元,但也可采用其它方法。例如,有當(dāng)檢測禁止數(shù)據(jù)時,不允許對列閂鎖電路的密碼鎖存動作的方法。另外,也可采用當(dāng)檢測禁止數(shù)據(jù)時,即使在執(zhí)行對列閂鎖電路的密碼鎖存動作、查證動作后判斷密碼與安全解除代碼一致,也禁止訪問存儲單元的方法。
(實施例3)在實施例1、2中,若輸入安全解除指令,則通過頁面鎖存動作輸入解除安全功能用的密碼,之后,執(zhí)行確認(rèn)密碼與安全解除代碼一致的查證動作,在兩者不一致的情況下,通過解除安全功能,確保安全功能。這里,頁面鎖存動作時的地址輸入端子A的設(shè)定及查證動作時的地址輸入端子A、數(shù)據(jù)輸入端子DI的設(shè)定是任意的(Don’t Care)。
但是,在實施例3中,設(shè)置檢測單元,檢測在頁面鎖存動作前輸入特定地址、且在查證動作前輸入特定地址、特定數(shù)據(jù)。另外,構(gòu)成為即使輸入安全解除指令,輸入與安全解除代碼相同數(shù)據(jù)的密碼(不輸入禁止數(shù)據(jù)),也在頁面鎖存動作時輸入特定地址,并且在查證動作時不輸入特定地址及特定數(shù)據(jù)的情況下,不解除安全功能。
這里,通過構(gòu)成為由保存在寄存器中的值來決定頁面鎖存動作時檢測的特定地址、和在查證動作時檢測的特定地址、特定數(shù)據(jù),可任意設(shè)定特定地址、特定數(shù)據(jù)的值,所以可進(jìn)一步提高安全保護(hù)功能。
—電路結(jié)構(gòu)及動作—圖13是表示實施例3的非易失性半導(dǎo)體存儲裝置(閃存)的結(jié)構(gòu)的電路圖。在圖13所示電路中,由相同符號來表示與上述實施例2相同的結(jié)構(gòu)要素(參照圖9),省略該結(jié)構(gòu)要素的說明。在本實施例的說明中,僅說明與圖9所示電路中不同的結(jié)構(gòu)要素。
如圖13所示,在本實施例的非易失性半導(dǎo)體存儲裝置中,除安全控制電路41和禁止數(shù)據(jù)檢測電路42外,還設(shè)置地址、數(shù)據(jù)檢測電路43。地址、數(shù)據(jù)檢測電路43的輸入部連接于地址端子A、內(nèi)部數(shù)據(jù)總線DIN及寄存器35的各輸出部。另外,在接收地址端子A、內(nèi)部數(shù)據(jù)總線DIN及寄存器35的輸出、檢測在頁面鎖存動作時輸入特定地址并允許鎖存動作的情況下、或在查證動作時檢測特定地址及特定數(shù)據(jù)并允許查證動作的情況下,向安全控制電路41輸出H電平的地址、數(shù)據(jù)檢測信號ADDET(第1及第2特定數(shù)據(jù)檢測信號)。
這里,構(gòu)成為由保存在寄存器35中的特定地址、特定數(shù)據(jù)信息(未圖示)來決定在頁面鎖存動作時檢測的特定地址、和在查證動作時檢測的特定地址、特定數(shù)據(jù)。禁止數(shù)據(jù)與實施例2一樣。因此,通過變更寄存器35中保存的信息值、即事先保存在選項區(qū)域12中的特定地址、特定數(shù)據(jù)信息,可隨時變更頁面鎖存動作時檢測的特定地址、和在查證動作時檢測的特定地址及特定數(shù)據(jù)。通過如此構(gòu)成,可對每個用戶、每個芯片任意設(shè)定、變更特定數(shù)據(jù),所以惡意的第三者難以破解特定地址、特定數(shù)據(jù)。因此,可進(jìn)一步提高安全保護(hù)功能。
另外,本實施例的非易失性半導(dǎo)體存儲裝置雖還具備實施例2中說明的禁止數(shù)據(jù)檢測電路42,但不必一定具備禁止數(shù)據(jù)檢測電路42。即使僅在實施例1的電路中加入地址、數(shù)據(jù)檢測電路43,也可提高安全功能。
—機(jī)密保護(hù)方法—下面,詳細(xì)說明本實施例的非易失性半導(dǎo)體存儲裝置(閃存)中的機(jī)密保護(hù)方法(安全解除方法)。
圖14是表示實施例3的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟流程圖。這里,圖14中所示步驟中步驟S700-S703的處理與上述實施例1的圖6中的步驟S500-S503(實施例2中的步驟S600-S603)的處理一樣,所以省略說明。這里,說明步驟S704以后的處理。
在步驟S703中,一旦檢測輸入安全解除指令,則在步驟S704中,移動到輸入用于解除安全功能的密碼的處理(密碼頁面鎖存)。開始,若向地址、數(shù)據(jù)檢測電路43輸入從地址端子A輸入的地址,則在地址、數(shù)據(jù)檢測電路43中判斷輸入地址與特定地址是否一致。
步驟S704的判斷結(jié)果,在輸入地址A與禁止數(shù)據(jù)一致(是)的情況下,前進(jìn)到步驟S705,執(zhí)行輸入密碼檢查動作。輸入密碼檢查動作與實施例2中圖11的步驟S604的處理一樣,所以省略說明。
步驟S705的判斷結(jié)果,在輸入密碼檢查動作中輸入密碼與禁止數(shù)據(jù)不一致(NO)的情況下,前進(jìn)到步驟S706,通過頁面鎖存動作,將輸入密碼保存在列閂鎖電路29中。此時,執(zhí)行8周期的一系列輸入地址檢查動作、輸入密碼檢查動作和密碼頁面鎖存動作,從輸入數(shù)據(jù)端子DI
-[15]將128位的密碼保存在列閂鎖電路29中。
另一方面,步驟S704的判斷結(jié)果,在輸入地址與特定地址不一致(否)的情況下,步驟S705的判斷結(jié)果,在輸入數(shù)據(jù)與特定數(shù)據(jù)一致(是)的情況下,都移動到步驟S712,不解除安全功能。
即,在步驟S704、S705的判斷中,通過8周期的輸入地址檢查動作、輸入密碼檢查動作和密碼頁面鎖存動作,僅在輸入地址與特定地址一致、且輸入密碼一次都不與特定數(shù)據(jù)一致的情況下,才前進(jìn)到步驟S707以后的處理,執(zhí)行列閂鎖電路中保存的密碼與安全解除代碼保存部13的存儲單元中保存的安全解除代碼的查證動作。
在查證動作中,開始,在步驟S707中,向地址、數(shù)據(jù)檢測電路43輸入從地址端子A輸入的地址,通過地址、數(shù)據(jù)檢測電路43,判斷輸入地址與特定地址是否一致。
步驟S707的判斷結(jié)果,在輸入地址與特定地址一致(是)的情況下,前進(jìn)到步驟S708,執(zhí)行輸入數(shù)據(jù)檢查動作。步驟S708的判斷結(jié)果,在來自數(shù)據(jù)輸入端子DI
-[15]的輸入數(shù)據(jù)與特定數(shù)據(jù)一致(是)的情況下,前進(jìn)到步驟S709,執(zhí)行列閂鎖電路中保存的密碼與安全解除代碼保存部13的存儲單元中保存的安全解除代碼的查證動作。步驟S709中的判斷結(jié)果,在查證動作中密碼與安全解除代碼一致(是)的情況下,前進(jìn)到步驟S710,解除安全功能,并且,在步驟S711中,可從外部訪問存儲單元陣列。
另一方面,在步驟S707、S708、S709中任一判斷結(jié)果為否的情況下,移動到步驟S712,不允許解除安全功能。
如上所述,根據(jù)本實施例的機(jī)密保護(hù)方法,若在頁面鎖存動作時輸入特定地址,并且在查證動作時不輸入特定地址、特定數(shù)據(jù),則由于最終未解除安全功能,所以可進(jìn)一步提高安全保護(hù)功能。
—時序圖—圖15是表示實施例3的非易失性半導(dǎo)體存儲裝置的安全解除方法的步驟時序圖。
在時刻T0,若輸入安全解除指令,則通過指令解碼器25檢測輸入安全解除指令,將H電平的信號SCOM(安全解除指令檢測信號)輸出到安全控制電路41。
接著,從安全控制電路41接收H電平的信號SCOM的時刻T1開始,輸入解除安全功能用的密碼。將來自地址端子A的輸入地址(PL-ADDRESS)輸入地址、數(shù)據(jù)檢測電路43,檢查輸入地址與特定地址是否一致。這里,在輸入地址與特定地址一致的情況下,從地址、數(shù)據(jù)檢測電路43輸出H電平的地址、數(shù)據(jù)檢測信號ADDET,將H電平的地址、數(shù)據(jù)檢測信號ADDET輸入安全控制電路41。
與此同時,將輸入密碼經(jīng)內(nèi)部數(shù)據(jù)總線DIN
-[15]輸入禁止數(shù)據(jù)檢測電路42,檢查與禁止數(shù)據(jù)(例如FFFFh、7FFFh、FF7Fh,7F7Fh、7777h)是否一致。這里,在頁面鎖存動作中輸入FFFFh等作為輸入密碼的情況下,禁止數(shù)據(jù)檢測電路42檢測該輸入密碼及禁止數(shù)據(jù),從禁止數(shù)據(jù)檢測電路42輸出H電平的禁止數(shù)據(jù)檢測信號LDET。另一方面,在輸入密碼與哪個禁止數(shù)據(jù)都不一致的情況下,從禁止數(shù)據(jù)檢測電路42輸出L電平的禁止數(shù)據(jù)檢測信號LDET。
將該H電平或L電平的禁止數(shù)據(jù)檢測信號LDET輸入安全控制電路41。一旦安全控制電路41一次接收H電平的禁止數(shù)據(jù)檢測信號LDET,則即使8周期的頁面鎖存動作結(jié)束,安全認(rèn)證查證信號SPV也不變?yōu)镠電平。因此,在時刻T2以后,不開始輸入密碼與安全解除代碼的查證動作。因此,不解除安全功能。此時,即使在時刻T3以后執(zhí)行讀取動作,也不能讀取存儲單元的數(shù)據(jù),總是從數(shù)據(jù)輸出端子DO
-[15]僅輸出FFFFh。
僅在將H電平的地址、數(shù)據(jù)檢測信號ADDET、及L電平的禁止數(shù)據(jù)檢測信號LDET輸入安全控制電路41的情況下,才將輸入密碼保存在列閂鎖電路29中。這些動作執(zhí)行8周期。
若在將H電平的地址、數(shù)據(jù)檢測信號ADDET、及L電平的禁止數(shù)據(jù)檢測信號LDET8周期輸入安全控制電路41的狀態(tài)下執(zhí)行密碼頁面鎖存動作,則在時刻T2以后,從安全控制電路41輸出H電平的SPV信號,就緒/占線信號RY/BY變?yōu)長電平,變?yōu)檎季€狀態(tài),執(zhí)行列閂鎖電路29中保存的密碼與安全解除代碼保存部13的存儲單元中保存的安全解除代碼的查證動作。在查證動作時,向地址、數(shù)據(jù)檢測電路43輸入輸入地址(PV-ADDRESS)和輸入數(shù)據(jù)(PV-DATA),檢查與特定地址、特定數(shù)據(jù)是否一致。這里,在輸入地址、輸入數(shù)據(jù)與特定地址、特定數(shù)據(jù)一致的情況下,從地址、數(shù)據(jù)檢測電路43輸出H電平的地址、數(shù)據(jù)檢測信號ADDET。將H電平的地址、數(shù)據(jù)檢測信號ADDET輸入安全控制電路41,在該狀態(tài)下執(zhí)行實施例1中說明的查證動作。通過該查證動作,在判斷密碼與安全解除代碼一致的情況下,在時刻T2b,輸出H電平的PASS信號,從安全控制電路41輸出H電平的SPASS信號,解除安全功能,所以在時刻T3以后,可從外部訪問存儲單元陣列。
這里,在頁面鎖存動作時輸入特定地址的情況下,或在查證動作時輸入特定地址及特定數(shù)據(jù)的情況下,輸出L電平的地址、數(shù)據(jù)檢測信號ADDET,向安全控制電路41輸入L電平的地址、數(shù)據(jù)檢測信號ADDET,不解除安全功能。
根據(jù)本實施例的非易失性半導(dǎo)體存儲裝置,通過設(shè)置地址、數(shù)據(jù)檢測電路43,若在頁面鎖存動作時輸入特定地址、且在查證動作時不輸入特定地址及特定數(shù)據(jù),則不執(zhí)行安全解除處理,所以可進(jìn)一步提高安全保護(hù)功能。
并且,通過構(gòu)成為根據(jù)寄存器35中保存的特定地址、特定數(shù)據(jù)信息來決定檢測的特定地址、特定數(shù)據(jù)的值,可隨時變更寄存器35中保存的值、即,事先保存在選項區(qū)域12中的特定地址、數(shù)據(jù)信息。通過如此構(gòu)成,因為可對每個用戶、或每個芯片任意設(shè)定、變更特定地址、數(shù)據(jù),所以惡意第三者難以破解特定地址、特定數(shù)據(jù)。因此,可進(jìn)一步提高安全保護(hù)功能。
另外,在本實施例中,作為在頁面鎖存動作時、查證動作時檢測到的為(1)頁面鎖存動作時檢測的特定地址、(2)查證動作時檢測的特定地址、(3)查證動作時檢測的特定數(shù)據(jù)3種,但也可構(gòu)成不檢測所有上述3種,而檢測任1個或任2個。
(實施例4)—電路結(jié)構(gòu)及動作—圖16是表示實施例4的非易失性半導(dǎo)體存儲裝置(閃存)的結(jié)構(gòu)的電路圖。在圖16所示電路中,由相同符號來表示與上述實施例3相同的結(jié)構(gòu)要素(參照圖13),省略該結(jié)構(gòu)要素的說明。在本實施例的說明中,僅說明與圖13所示電路中不同的結(jié)構(gòu)要素。
如圖16所示,在本實施例的非易失性半導(dǎo)體存儲裝置中,除安全控制電路41、禁止數(shù)據(jù)檢測電路42及地址、數(shù)據(jù)檢測電路43外,還設(shè)置數(shù)據(jù)加密電路44。編碼加密電路44配置在數(shù)據(jù)輸入輸出緩沖器34與列閂鎖電路29之間,是編碼處理從數(shù)據(jù)輸入端子DI輸入的數(shù)據(jù)后輸出的電路。這里,所謂數(shù)據(jù)加密處理是指隨機(jī)改寫輸入數(shù)據(jù)的各位后輸出的處理。通過從安全控制電路41輸出的數(shù)據(jù)編碼信號DSCR來控制數(shù)據(jù)加密電路44。
下面,說明上述數(shù)據(jù)加密處理。
輸入安全解除指令,通過頁面鎖存動作輸入解除安全功能用的密碼時,從安全控制電路41輸出H電平的數(shù)據(jù)編碼信號DSCR。數(shù)據(jù)加密電路44一旦接收H電平的數(shù)據(jù)編碼信號DSCR,則編碼處理從數(shù)據(jù)輸入端子DI輸入的數(shù)據(jù)后,輸出到列閂鎖電路29。這里,數(shù)據(jù)加密處理從輸入安全解除指令開始,僅在輸入解除安全功能的密碼時執(zhí)行,在通常寫入時的頁面鎖存動作時不執(zhí)行數(shù)據(jù)加密處理。
在將密碼保存在列閂鎖電路29中后,執(zhí)行密碼與安全解除代碼的查證動作,但為了在查證動作中判斷兩者一致后解除安全功能,必需預(yù)知上述編碼處理方法。即,在把握數(shù)據(jù)編碼方法上若未輸入密碼,則在查證動作中判斷兩者一致后不能解除安全功能。
根據(jù)本實施例的非易失性半導(dǎo)體存儲裝置,萬一第三者惡意地利用任何手段來破解安全解除代碼,則即使輸入破解數(shù)據(jù)來作為密碼,但因為輸入密碼由數(shù)據(jù)加密電路44進(jìn)行編碼處理后保存在列閂鎖電路29中,所以不能解除安全功能。
如上所述,通過本實施例,通過附加數(shù)據(jù)加密電路44,可進(jìn)一步提高安全保護(hù)功能。
在本實施例中,雖除禁止數(shù)據(jù)檢測電路42、地址、數(shù)據(jù)檢測電路43外,還設(shè)置數(shù)據(jù)加密電路44,但不必必需有禁止數(shù)據(jù)檢測電路42、地址、數(shù)據(jù)檢測電路43,在圖1所示電路中也可設(shè)置數(shù)據(jù)加密電路44。
(實施例5)—電路結(jié)構(gòu)及動作—圖17是表示實施例5的非易失性半導(dǎo)體存儲裝置(閃存)的結(jié)構(gòu)的電路圖。在圖17所示電路中,由相同符號來表示與上述實施例4相同的結(jié)構(gòu)要素(參照圖16),省略該結(jié)構(gòu)要素的說明。在本實施例的說明中,僅說明與圖16所示電路中不同的結(jié)構(gòu)要素。
如圖17所示,在本實施例的非易失性半導(dǎo)體存儲裝置中,與實施例3一樣,設(shè)置安全控制電路41、禁止數(shù)據(jù)檢測電路42及地址、數(shù)據(jù)檢測電路43、數(shù)據(jù)加密電路44。并且,本實施例的非易失性半導(dǎo)體存儲裝置使安全控制電路41負(fù)擔(dān)在一定條件下復(fù)位列閂鎖電路29中保存的鎖存數(shù)據(jù)的功能。若從安全控制電路41向列閂鎖電路29輸出鎖存復(fù)位信號LRST,則由H電平的鎖存復(fù)位信號LRST來復(fù)位列閂鎖電路29的鎖存數(shù)據(jù)。
下面,說明鎖存數(shù)據(jù)復(fù)位單元。有利用所謂豎起探針的方法(芯片探測法)等將列閂鎖電路29中保存的鎖存數(shù)據(jù)取出給第三者的危險。在本實施例中,可取得查證動作后的鎖存數(shù)據(jù),可根據(jù)該得到的數(shù)據(jù)來預(yù)測查證動作的運算處理方法及預(yù)測安全解除代碼。本實施例的鎖存數(shù)據(jù)復(fù)位單元目的在于防止上述事態(tài),執(zhí)行以下處理。
在查證動作中判斷密碼與安全解除代碼不一致的情況下,若從PASS輸出電路30輸出L電平的PASS信號,則從安全控制電路41輸出H電平的鎖存復(fù)位信號LRST,輸入列閂鎖電路29中。此時,列閂鎖電路29接收H電平的鎖存復(fù)位信號LRST,復(fù)位列閂鎖電路29的全部鎖存數(shù)據(jù)。之后,不解除安全功能。
在本實施例的非易失性半導(dǎo)體存儲裝置中,通過具備在查證動作時,在判斷密碼與安全解除代碼不一致的情況下,復(fù)位列閂鎖電路的鎖存數(shù)據(jù)的功能,即使從外部向列閂鎖電路輸入適當(dāng)密碼,并得到查證動作后的鎖存數(shù)據(jù),也僅得到復(fù)位后的鎖存數(shù)據(jù)。即,在查證動作中,在安全認(rèn)證作業(yè)中失敗情況下的鎖存數(shù)據(jù)的值僅為復(fù)位后的數(shù)據(jù)。因此,惡意的第三者難以破解安全解除代碼,可進(jìn)一步提高安全保護(hù)功能。
(實施例6)下面,參照附圖來說明實施例6。在本實施例中,安全解除動作與上述實施例1-5中說明的結(jié)構(gòu)、步驟一樣,但在本實施例中,在安全認(rèn)證查證判斷電平中具有特征。
圖18是表示實施例6的非易失性半導(dǎo)體存儲裝置中使用的存儲單元閾值電壓分布的圖。如圖3中的說明所述,在非易失性半導(dǎo)體存儲裝置的各存儲單元中,就向存儲單元晶體管的浮動?xùn)抛⑷腚娮拥牟脸隣顟B(tài)(通常擦除閾值分布202)而言,閾值電壓比從浮動?xùn)胖刑崛‰娮拥某绦驙顟B(tài)(通常程序閾值分布201)高。因此,使用兩個閾值分布201、202的中間電平的讀取判斷電平200,判斷存儲單元中保存的數(shù)據(jù)是0還是1。并且,在查證動作中,通過在讀取判斷電平200和程序狀態(tài)的閾值分布201之間設(shè)定通常查證判斷電平203,可防止不充分的電子提取導(dǎo)致的誤讀取。
這里,在本實施例中,為了判斷安全認(rèn)證查證動作中的閾值電壓電平,將安全認(rèn)證用認(rèn)證查證判斷電平204移位到比通常查證判斷電平203還靠擦除狀態(tài)側(cè),換言之,認(rèn)證查證判斷電平204的位置是特征。由此,得到如下所示效果。
存儲單元的閾值分布隨著時間經(jīng)過而移位到程序狀態(tài)側(cè)或擦除狀態(tài)側(cè)。例如,程序狀態(tài)的存儲單元的閾值電壓隨著時間經(jīng)過移位到擦除狀態(tài)側(cè)的閾值電壓。原因如下。
在讀取動作時,分別向控制柵施加正的升壓電壓(3.6V左右),向源極施加接地電壓,向漏極施加1V左右的電壓。此時,因為向讀取存儲單元及共同連接讀取存儲單元控制柵的其它存儲單元施加正的升壓電壓(3.6V左右),所以受到應(yīng)力(讀取柵不能)。通過應(yīng)力電壓,在讀取動作中,向浮動?xùn)抛⑷腚娮樱瑥某浞謱懭霠顟B(tài)移動到輕度寫入狀態(tài),結(jié)果,閾值電壓上升。因此,長時間執(zhí)行讀取動作,則程序狀態(tài)的存儲單元閾值電壓上升,移位到擦除狀態(tài)側(cè)的閾值電壓。雖在程序動作之后執(zhí)行寫入動作時的通常查證動作,但也可不在程序動作之后執(zhí)行安全認(rèn)證動作查證動作,有時在程序動作后經(jīng)過足夠時間后執(zhí)行,所以執(zhí)行安全認(rèn)證查證動作的解除代碼存儲單元的閾值電壓移位到擦除狀態(tài)的閾值電壓的概率高。
如上所述,在安全解除代碼保存部13的存儲單元的閾值分布向通常擦除閾值分布202的方向移位的狀態(tài)下,假設(shè)使用通常查證判斷電平203來執(zhí)行安全認(rèn)證查證動作,則因為可能存在具有超過通常查證判斷電平203的閾值電壓的存儲單元,所以有可能執(zhí)行錯誤判斷處理。從安全可靠性來講,這種錯誤判斷是不利的。
因此,在本實施例中,考慮閾值分布移位,使安全認(rèn)證查證判斷電平204比通常查證判斷電平203還靠擦除狀態(tài)側(cè)。因此,可抑制安全認(rèn)證查證動作中的錯誤判斷的發(fā)生,可提高安全認(rèn)證動作的正確性。
(實施例7)下面,參照附圖來說明實施例7。在本實施例中,安全解除動作與上述實施例1-5中說明的結(jié)構(gòu)、步驟一樣,但在本實施例中,在保存安全解除代碼的存儲單元的閾值分布及安全認(rèn)證查證判斷電平中具有特征。
圖19是表示實施例7的非易失性半導(dǎo)體存儲裝置中使用的存儲單元閾值分布的圖。在該圖中,雖省略通常存儲單元在程序狀態(tài)中的閾值分布的圖示,但與圖18所示一樣。特征在于,安全解除代碼保存部13中處于程序狀態(tài)下的存儲單元的代碼保存部程序閾值分布205、和安全解除代碼保存部13中處于擦除狀態(tài)的存儲單元的代碼保存部擦除閾值分布206都小于讀取判斷電平200,即分布在與通常程序閾值分布201(參照圖3、圖18)相同側(cè)。安全解除代碼保存部13中的存儲單元的代碼保存部程序閾值分布205位于閾值電壓比代碼保存部擦除閾值分布206低的一側(cè)。
為了具有這種代碼保存部程序閾值分布205和代碼保存部擦除閾值分布206,在安全解除代碼保存部13的存儲單元中保存數(shù)據(jù)如下所示。
對向安全解除代碼保存部13的存儲單元(解除代碼存儲單元)中寫入安全解除代碼的動作而言,當(dāng)解除代碼存儲單元變?yōu)槌绦驙顟B(tài)時,通過以程序查證判斷電平207來執(zhí)行查證動作時的判斷閾值電壓電平來進(jìn)行寫入,另一方面,在變?yōu)椴脸隣顟B(tài)時,通過由擦除查證判斷電平208來執(zhí)行查證動作時的判斷閾值電壓電平來實現(xiàn)。通過以上的寫入動作,將處于程序狀態(tài)的解除代碼存儲單元和處于擦除狀態(tài)的解除代碼存儲單元的閾值分布都設(shè)定在程序狀態(tài)側(cè)。
設(shè)定以具有上述閾值分布的安全解除代碼為對象的安全認(rèn)證查證動作的判斷閾值電壓(認(rèn)證查證判斷電平209),使之成為安全解除代碼的程序狀態(tài)閾值分布205與擦除狀態(tài)閾值分布206之間的值。具體而言,在安全認(rèn)證查證動作時,從正高電壓發(fā)生電路22向字線驅(qū)動器20提供規(guī)定電壓,以判斷閾值電壓電平變?yōu)檎J(rèn)證查證判斷電平209,施加到安全解除代碼保存部13的存儲單元的字線WLo1。
如上所述,通過將解除代碼存儲單元的程序狀態(tài)、擦除狀態(tài)的閾值電壓都設(shè)定為程序狀態(tài)的閾值電壓,即使惡意的第三者以任何手段破解安全解除代碼,保存在解除代碼存儲單元中的安全解除代碼由于全部是通常存儲單元的程序狀態(tài)數(shù)據(jù),所以破解的數(shù)據(jù)全部變?yōu)槌绦驙顟B(tài)的數(shù)據(jù)。因此,難以破解安全解除代碼,可進(jìn)一步提高安全保護(hù)功能。
這里,在本實施例中,雖將解除代碼存儲單元的閾值電壓與程序狀態(tài)、擦除狀態(tài)一起設(shè)定在通常存儲單元的程序狀態(tài)側(cè),但也可一起設(shè)定在通常存儲單元的擦除狀態(tài)側(cè)。
以上,作為本發(fā)明的實施例,說明實施例1-7??蓪⒈景l(fā)明的非易失性半導(dǎo)體存儲裝置內(nèi)置于微型計算機(jī)、IC卡等集成電路(LSI)中使用。因此對使微型計算機(jī)動作的程序或個人信息等的機(jī)密保護(hù)有效。
另外,可將本發(fā)明的非易失性半導(dǎo)體存儲裝置裝載在電子設(shè)備中使用。作為電子設(shè)備,考慮DVD(Digital Versatile Disc)、DVC(Digital Video Camera)、PDA(Personal Digital Assistant)、移動電話(移動體通信)、個人計算機(jī)(膝上型、臺式)等。
并且,還可構(gòu)成為將本發(fā)明的機(jī)密保護(hù)方法從存儲裝置讀入CPU(Central Processing Unit中央運算處理裝置),由CPU來執(zhí)行程序處理。此時,上述機(jī)密保護(hù)方法即使是程序處理狀態(tài)也是有效的。
如上所述,本發(fā)明的非易失性半導(dǎo)體存儲裝置及其機(jī)密保護(hù)方法不必新添設(shè)置電路規(guī)模大的安全電路,所以可以小面積、低成本來實現(xiàn)具有安全功能的非易失性半導(dǎo)體存儲裝置。因此,對集成電路(LSI)、電子設(shè)備的小型化、低成本化非常有效。
最后,本發(fā)明的非易失性半導(dǎo)體存儲裝置及其機(jī)密保護(hù)方法不限于上述示例,在不脫離本發(fā)明的精神范圍內(nèi)施加各種變更等都是有效的。例如,在本實施例中,雖以NOR型閃存為例進(jìn)行說明,但對DINOR型、NAND型、AND型閃存也可適用。另外,在本實施例中,雖以閃存為例進(jìn)行說明,但對其它非易失性半導(dǎo)體存儲裝置(EEPROM、FeRAM等)也可適用。另外,在本實施例中,雖以圖1所示結(jié)構(gòu)的存儲器電路為例進(jìn)行說明,但對其它結(jié)構(gòu)的存儲器電路也可適用。并且,在本實施例中,雖以圖5所示結(jié)構(gòu)的列閂鎖電路為例進(jìn)行說明,但對執(zhí)行頁面鎖存動作、程序動作、查證動作的其它結(jié)構(gòu)的列閂鎖電路也可適用。
根據(jù)本發(fā)明的非易失性半導(dǎo)體存儲裝置及其機(jī)密保護(hù)方法,因為利用程序查證動作來執(zhí)行安全解除用認(rèn)證動作,所以不需要密碼存儲電路、比較電路,可不增大電路規(guī)模地實現(xiàn)安全功能。并且,因為非易失性半導(dǎo)體存儲裝置中匯總寫入位數(shù)(列鎖存位數(shù))多,所以可不增大電路規(guī)模地增加安全位數(shù)。即,可容易提高安全保護(hù)功能。
權(quán)利要求
1.一種非易失性半導(dǎo)體存儲裝置,具備具有配置成矩陣狀的多個存儲單元的存儲單元陣列;沿上述存儲單元陣列的行方向配置,共同連接在多個存儲單元上的多個字線;沿上述存儲單元陣列的列方向配置,共同連接在多個存儲單元上的多個位線;共同連接于上述多個位線中的1個或2個以上的位線上,進(jìn)行閂鎖寫入上述存儲單元的數(shù)據(jù)的動作,和確認(rèn)該鎖存數(shù)據(jù)與寫入上述存儲單元的數(shù)據(jù)一致的查證動作的列閂鎖電路;保存許可從外部訪問上述存儲單元陣列的安全解除代碼的多個解除代碼存儲單元;和當(dāng)輸入解除安全功能用的密碼時,在上述列閂鎖電路中閂鎖上述密碼,進(jìn)行該閂鎖密碼與上述解除代碼存儲單元的查證動作的控制部。
2.根據(jù)權(quán)利要求1所述的非易失性半導(dǎo)體存儲裝置,其特征在于上述控制部通過上述查證動作,在判斷上述密碼與上述安全解除代碼一致的情況下,許可從外部訪問上述存儲單元陣列。
3.根據(jù)權(quán)利要求1所述的非易失性半導(dǎo)體存儲裝置,其特征在于在接通電源時,設(shè)定上述安全功能。
4.根據(jù)權(quán)利要求1所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備檢測輸入安全解除指令的檢測部,上述控制部在上述檢測部檢測到上述安全解除指令時,開始執(zhí)行安全認(rèn)證用的上述閂鎖動作和上述查證動作。
5.根據(jù)權(quán)利要求4所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備用于任意設(shè)定上述檢測部檢測的安全解除指令的值的寄存器。
6.根據(jù)權(quán)利要求1所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備檢測輸入特定地址和特定數(shù)據(jù)中至少之一的檢測部,上述控制部在上述檢測部檢測到特定地址和特定數(shù)據(jù)中至少之一時,開始執(zhí)行安全認(rèn)證用的上述閂鎖動作和上述查證動作。
7.根據(jù)權(quán)利要求6所述的非易失性半導(dǎo)體存儲裝置,其特征在于在接通電源時進(jìn)行上述檢測部的檢測動作。
8.根據(jù)權(quán)利要求6所述的非易失性半導(dǎo)體存儲裝置,其特征在于在復(fù)位模式解除時進(jìn)行上述檢測部的檢測動作。
9.根據(jù)權(quán)利要求6所述的非易失性半導(dǎo)體存儲裝置,其特征在于在上述列閂鎖電路中進(jìn)行上述密碼閂鎖動作開始之前執(zhí)行上述檢測部的檢測動作。
10.根據(jù)權(quán)利要求6~9中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備用于任意設(shè)定上述檢測部檢測的特定地址和特定數(shù)據(jù)的值的寄存器。
11.根據(jù)權(quán)利要求1~10中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備用于檢測上述密碼是應(yīng)禁止使用的數(shù)據(jù)的禁止數(shù)據(jù)檢測部,上述控制部在上述禁止數(shù)據(jù)檢測部檢測到上述禁止數(shù)據(jù)時,控制上述存儲單元陣列不能從外部訪問。
12.根據(jù)權(quán)利要求11所述的非易失性半導(dǎo)體存儲裝置,其特征在于上述禁止數(shù)據(jù)不是所有位為程序狀態(tài)數(shù)據(jù)的數(shù)據(jù)。
13.根據(jù)權(quán)利要求11所述的非易失性半導(dǎo)體存儲裝置,其特征在于上述禁止數(shù)據(jù)是當(dāng)將密碼的所有位區(qū)分成1個或2個以上組時,在任一組中都不存在具有程序狀態(tài)數(shù)據(jù)的位的數(shù)據(jù)。
14.根據(jù)權(quán)利要求1~10中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備用于檢測在開始對上述列閂鎖電路的密碼閂鎖動作之前已輸入特定地址的檢測部,上述控制部在上述檢測部未檢測到輸入特定地址的情況下,控制上述存儲單元陣列不能從外部訪問。
15.根據(jù)權(quán)利要求14所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備用于任意設(shè)定上述檢測部檢測的特定地址的值的寄存器。
16.根據(jù)權(quán)利要求1~10任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備用于檢測在與上述解除代碼存儲單元的查證動作之前已輸入特定地址和特定數(shù)據(jù)中的至少一個的檢測部,上述控制部在上述檢測部未檢測到輸入特定地址和特定數(shù)據(jù)中的至少一個的情況下,控制上述存儲單元陣列不能從外部訪問。
17.根據(jù)權(quán)利要求16所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備用于任意設(shè)定上述檢測部檢測的特定地址和特定數(shù)據(jù)的值的寄存器。
18.根據(jù)權(quán)利要求1~17中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備在上述控制部執(zhí)行上述閂鎖動作之前對上述密碼進(jìn)行加密處理,并輸出到上述列閂鎖電路的數(shù)據(jù)加密電路。
19.根據(jù)權(quán)利要求1~18中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于還具備在上述控制部執(zhí)行上述查證動作時,判斷上述密碼與上述安全解除代碼不一致的情況下,復(fù)位上述列閂鎖電路中閂鎖的數(shù)據(jù)的閂鎖復(fù)位電路。
20.根據(jù)權(quán)利要求1~10中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于將上述解除代碼存儲單元配置在上述存儲單元陣列中,還具備可任意設(shè)定上述解除代碼存儲單元在存儲單元陣列中的地址的寄存器。
21.根據(jù)權(quán)利要求1~10中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于上述解除代碼存儲單元在查證動作時的查證判斷閾值電壓值與數(shù)據(jù)寫入時的查證動作時的查證判斷閾值電壓值不同。
22.根據(jù)權(quán)利要求1~10中任意一項所述的非易失性半導(dǎo)體存儲裝置,其特征在于在將上述安全解除代碼寫入上述解除代碼存儲單元中時,將解除代碼存儲單元的程序狀態(tài)與擦除狀態(tài)數(shù)據(jù)的閾值都設(shè)定在上述存儲單元的程序狀態(tài)側(cè)或擦除狀態(tài)側(cè),并且,將上述解除代碼存儲單元的上述程序狀態(tài)和上述擦除狀態(tài)的數(shù)據(jù)閾值設(shè)定為互不相同的值后寫入。
23.一種非易失性半導(dǎo)體存儲裝置的機(jī)密保護(hù)方法,該裝置具有頁面程序功能和安全保護(hù)功能,該方法包含步驟(a),當(dāng)輸入解除安全功能的密碼時,在列閂鎖電路中閂鎖上述密碼,和步驟(b),進(jìn)行上述步驟(a)中閂鎖的上述密碼與保存安全解除代碼的解除代碼存儲單元的查證動作。
24.根據(jù)權(quán)利要求23所述的非易失性半導(dǎo)體存儲裝置的機(jī)密保護(hù)方法,其特征在于在上述步驟(b)中,在判斷上述密碼與上述安全解除代碼一致的情況下,許可從外部訪問上述存儲單元陣列。
全文摘要
本發(fā)明提供一種不需要新添設(shè)置動作模式、并且僅由極少的附加電路就可實現(xiàn)安全功能的非易失性半導(dǎo)體存儲裝置及其機(jī)密保護(hù)方法。使用執(zhí)行非易失性半導(dǎo)體存儲裝置中預(yù)備的匯總寫入動作(頁面閂鎖動作、頁面程序動作、查證動作)的列閂鎖電路(29)來實現(xiàn)安全功能。通過安全控制電路(41)的控制,在列閂鎖電路(29)中保存解除安全功能用的密碼,執(zhí)行保存在列閂鎖電路(29)中的密碼與保存在解除代碼保存部(13)中的安全解除代碼的查證動作。在查證動作中判斷密碼與安全解除代碼一致的情況下,執(zhí)行安全功能的解除。
文檔編號G11C16/06GK1452077SQ0312262
公開日2003年10月29日 申請日期2003年4月16日 優(yōu)先權(quán)日2002年4月17日
發(fā)明者河野和幸 申請人:松下電器產(chǎn)業(yè)株式會社