(57)【要約】【課題】キーコードが格納されている領域のメモリセルのテストを行う場合に、キーコードが読み出されることなくテストを行なうことができる、不揮発性半導体装置を提供する。【解決手段】不揮発性半導体装置１０は、キーコードが格納されるキーコード格納領域１４を含むキーコード格納ブロック１３と、キーコード格納ブロック１３に対するアクセスの可否を示すデータを格納するインジケータビット格納領域１５と、を備え、キーコード格納ブロック１３へのアクセスを可能とするインジケータビット格納領域１５の書き換えは、インジケータビット格納領域１５のデータをイレースすることにより行われ、インジケータビット格納領域１５のデータをイレースする際には、キーコードもイレースされる。【選択図】図１
2014021992.tif 000002
【特許請求の範囲】
【請求項１】
キーコードが格納されるキーコード格納領域を含むキーコード格納ブロックと、
前記キーコード格納ブロックに対するアクセスの可否を示すデータを格納するインジケータビット格納領域と、
を備え、
前記インジケータビット格納領域の書き換えの際、前記インジケータビット格納領域のデータをイレースすることにより前記キーコード格納ブロックへのアクセスを可能とし、
前記インジケータビット格納領域のデータをイレースする際には、前記キーコードもイレースされる
ことを特徴とする不揮発性半導体装置。
【請求項２】
前記キーコード格納領域へ前記キーコードを書き込む際には、前記キーコード格納ブロックへのアクセスが不可能であることを表すデータが前記インジケータビット格納領域に書き込まれるとともに、当該データの書き込みは、前記インジケータビット格納領域をプログラムすることにより行われる
ことを特徴とする請求項１に記載の不揮発性半導体装置。
【請求項３】
前記インジケータビット格納領域のデータは複数ビットで構成される
ことを特徴とする請求項１または請求項２に記載の不揮発性半導体装置。
【請求項４】
前記インジケータビット格納領域におけるイレースビット数を判定するインジケータビット判定回路と、
前記キーコード格納ブロックのアドレスが選択された場合に、前記インジケータビット判定回路の判定結果に応じて、前記キーコード格納ブロックに格納されたデータの読み出し、又はキーコード格納ブロックへのデータの書き込みの許可又は不許可を制御する入出力回路と、
を備える
ことを特徴とする請求項１から請求項３いずれか一項に記載の不揮発性半導体装置。
【請求項５】
前記インジケータビット格納領域のデータのイレース処理後に、上記入出力回路を介しての前記キーコード格納ブロックの読み書きテストを、前記インジケータビット格納領域におけるイレースビット数が所定数以上の場合に行なう
ことを特徴とする請求項４に記載の不揮発性半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ機能を備えた不揮発性半導体装置に関するものである。
【背景技術】
【０００２】
近年、不揮発性半導体装置を含めたセキュリティ機能付きシステムが登場してきており、不揮発性半導体装置内部にセキュリティ機能を実現するためのキーコードが格納されるようになってきている。このような不揮発性半導体装置においては、キーコードが外部に漏れることを防ぐために、キーコードが格納されている領域に対しては、たとえテストモードの場合であってもアクセスが禁止されている。
【０００３】
なお、関連する技術としてセキュリティ機能を内蔵したマイクロコントローラがある（特許文献１を参照）。この特許文献１に記載のマイクロコントローラは、セキュリティのプロテクト効果を低下させることなく、セキュリティをかけた後もキーコードの比較によりＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）データの読み出しを可能にするものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２７１７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のマイクロコントローラでは、キーコード格納領域について書き込みテストはできても読み出しテストを行うことが困難である。
不揮発性半導体装置内部にキーコードが格納されている場合において、このキーコードは不揮発性半導体装置内部でのみ使用される。そして、キーコードがプログラムされた後は、不揮発性半導体装置の不良解析を行うためのテストモードであっても、キーコードが読み出されるような動作、例えば、キーコード格納領域のメモリセルのデータの読み出しやメモリセルの閾値電圧、電流測定などのテストモードを禁止しなければならない。そのため、キーコード格納領域の不良解析を行うことができず、ユーザが使用している際に不揮発性半導体装置が故障しても、不揮発性半導体装置のベンダは何が原因で故障したのかを解析することが困難となるという問題があった。
【０００６】
本発明は、斯かる実情に鑑みなされたものであり、その目的は、キーコードを格納する領域のメモリセルのテストを行う場合に、その領域に書き込まれているキーコードが読み出されることなく、キーコードを格納する領域に対するテストを行なうことができる、不揮発性半導体装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するためになされたものであり、本発明の不揮発性半導体装置は、キーコードが格納されるキーコード格納領域を含むキーコード格納ブロックと、前記キーコード格納ブロックに対するアクセスの可否を示すデータを格納するインジケータビット格納領域と、を備え、前記キーコード格納ブロックへのアクセスを可能とする前記インジケータビット格納領域の書き換えは、前記インジケータビット格納領域のデータをイレースすることにより行われ、前記インジケータビット格納領域のデータをイレースする際には、前記キーコードもイレースされることを特徴とする。
このような構成の不揮発性半導体装置では、キーコード格納ブロックへアクセスするためにインジケータビット格納領域のデータをイレースする際に、キーコードも同時にイレースされる。
これにより、キーコードが格納されているキーコード格納ブロックのメモリセルのテストを行う場合に、キーコードが読み出されることなくテストを行なうことができる。
【発明の効果】
【０００８】
本発明の不揮発性半導体装置においては、キーコード格納ブロックへアクセスするためにインジケータビット格納領域のデータをイレースする際に、キーコードもイレースされる。これにより、キーコードが格納されているキーコード格納ブロックのメモリセルのテストを行う場合に、キーコードが読み出されることなくテストを行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】この発明の一実施形態による不揮発性半導体装置１０の構成を示すブロック図である。
【図２】ＮＡＮＤ型フラシュメモリによるメモリセルアレイ１１の構成例を示す図である。
【図３】メモリセルアレイ１１から通常ブロック１２のデータを読み出す場合の例を示す図である。
【図４】メモリセルアレイ１１からキーコードが格納されているキーコード格納ブロック１３のデータを読み出す場合の例を示す図である。
【図５】インジケータビットとテスト条件について説明するための図である。
【図６】不揮発性半導体装置１０における処理の流れをフローチャートで示した図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態について説明する。
【００１１】
図１は、この発明の一実施形態による不揮発性半導体装置１０の構成を示すブロック図である。この図１に示す不揮発性半導体装置１０は、ＮＡＮＤ型フラッシュメモリで構成される半導体記憶装置の例である。
【００１２】
図１に示す不揮発性半導体装置１０は、基本的には一般的な不揮発性半導体装置の構成と同じであるが、本実施形態の不揮発性半導体装置１０は、メモリセルアレイ１１内に、一括消去単位となるブロックを複数有している。この複数のブロックは、通常データ（キーコードを含まないデータ）が保持される通常データ格納領域１２Ａを有する通常ブロック１２と、キーコードが保持されるキーコード格納領域１４を有するキーコード格納ブロック１３とから構成される。また、不揮発性半導体装置１０は、Ｉ／Ｏバッファ回路３０内に、後述するキーデータ保護回路３２を備える。
上記キーコードは、メモリセルアレイ１１内に記憶されたデータに対してセキュリティ機能を持たせるためのキーデータである。さらに、このキーコードに関連付けされてインジケータビットが保持されるインジケータビット格納領域１５がキーコード格納ブロック１３内に設けられる。このインジケータビットは、例えば、４ビットのデータである。
【００１３】
なお、図１に示す例では、通常ブロック１２と、キーコード格納ブロック１３とをそれぞれ１つのみ例示しているが、実際には、通常ブロック１２は１又は複数であり、キーコード格納ブロック１３は、１又は複数である。
また、以下の説明において、本実施形態の不揮発性半導体装置１０では、メモリセルのイレースはブロック単位で行われ、メモリセルがイレースされると、このイレースされたメモリセルのデータは、「１」となり、また、メモリセルがプログラムされると、このメモリセルは、「０」になるものとする。
【００１４】
（不揮発性半導体装置１０の全体構成）
まず、この図１に示す不揮発性半導体装置１０の構成の概要について説明する。図１に示すように、本実施形態に係る不揮発性半導体装置１０は、メモリセルアレイ１１と、ページバッファ２１と、ロウデコーダ（Ｘデコーダ）２２と、カラムデコーダ２３と、電圧生成回路２４と、アドレスレジスタ２５と、コマンドレジスタ２６と、制御回路２７と、Ｉ／Ｏバッファ回路（入出力バッファ回路）３０と、入出力端子となるＩ／Ｏ端子４１と、を有して構成される。
【００１５】
図１において、メモリセルアレイ１１は、複数のスタックゲート構造のトランジスタ、すなわち電気的書き換え可能な不揮発性メモリセルをカラム方向（列方向）に直列接続して、ビット線毎に設けられたＮＡＮＤセルストリングを、行方向（ビット線の配列方向）に複数個配置したブロックから構成される。このブロックは、ビット線の配線方向に複数個配置される。また、このブロックは、メモリセルのデータの消去単位で設けられている。各ブロックにおいては、同一行に配置された不揮発性メモリの各々のゲートには、ビット線に直交したワード線が接続される。１本のワード線により選択される不揮発性メモリセルの範囲がプログラム及び読み出しの単位となる１ページである。
【００１６】
図２は、ＮＡＮＤ型フラシュメモリによるメモリセルアレイ１１の構成例を示す図である。より具体的には、メモリセルアレイ１１は、図２に示すように、Ｎ＋１本のビット線ＢＬ０〜ＢＬＮ（ビット線ＢＬで総称）と、ｎ＋１本のワード線ＷＬ０〜ＷＬｎ（ワード線ＷＬで総称）と、共通ソース線ＣＳＬと、各ビット線ＢＬと共通ソース線ＣＳＬとの間にそれぞれ接続されたＮ＋１個のメモリストリングＳＴ０〜ＳＴＮ（メモリストリングＳＴで総称）と、を備える。各メモリストリングＳＴは、互いに直列接続されたｎ＋１個のフローティングゲート構造の電気的書き換え可能な不揮発性のメモリセルＭＣ０〜ＭＣｎを備え、ドレイン側のメモリセルＭＣｎは選択ゲートトランジスタＳＳ１を介して対応するビット線ＢＬに接続され、ソース側のメモリセルＭＣ０は選択トランジスタＧＳ１を介して共通ソース線ＣＳＬに接続される。また、同一行のメモリセルの制御ゲートは、共通のワード線ＷＬに接続されている。
【００１７】
図２に示すメモリセルアレイにおいて、メモリセルの消去は、例えば、メモリセルＭＣ０〜ＭＣｎが形成されるＰ型ウェル領域に高電圧を印加し、ワード線ＷＬ０〜ＷＬｎに０Ｖを印加することにより行われる。これにより、例えばポリシリコンなどからなる電荷蓄積層であるフローティングゲートより電子を引き抜いて、メモリセルＭＣの閾値電圧を消去閾値電圧ＶｔＬ（例えば、−１Ｖ）に設定する。一方、書き込み（プログラム）においては、例えば、選択されるメモリセルのソース、及びドレインに０Ｖを与え、制御ゲート（選択したワード線ＷＬ）に高電圧を印加することにより、半導体基板よりフローティングゲートに電子を注入し、閾値電圧を上昇させて書込閾値電圧ＶｔＨに設定する。そして、例えば、メモリセルＭＣ０〜ＭＣｎの閾値電圧を閾値電圧ＶｔＬのままに保持することにより当該メモリセルのデータ値を「１」とし、閾値電圧を閾値電圧ＶｔＨに設定することにより当該メモリセルのデータ値を「０」とする。
【００１８】
また、メモリセルからデータを読み出すときには、全てのビット線ＢＬを所定の電圧でプリチャージした後に、閾値ＶｔＬとＶｔＨ間の読み出し電圧を、読み出し対象のメモリセルＭＣに共通に接続されたワード線ＷＬを介して、選択メモリセルの各制御ゲートに印加する。また、高電圧を、上記選択メモリセル以外のメモリセルＭＣおよび選択トランジスタＳＳ１，ＧＳ１の各制御ゲートに印加して、上記選択メモリセル以外のメモリセルＭＣならびに選択トランジスタＳＳ１，ＧＳ１を導通させる。従って、選択メモリセルのデータ値が「１」のときには、当該選択メモリセルにセル電流が流れる一方、選択メモリセルのデータ値が「０」のときには、当該選択メモリセルにセル電流が流れないので、セル電流が流れるか否かに基づいて、各選択メモリセルに書き込まれているデータを読み出すことができる。
【００１９】
図１に戻り、ページバッファ２１は、メモリセルアレイ１１のビット線に接続され、接続されたビット線の電位を増幅して判定するセンスアンプ回路として用いるラッチ回路を有する。ロウデコーダ２２は、メモリセルアレイ１１のワード線の選択を行う。カラムデコーダ２３は、メモリセルアレイ１１のビット線及びページバッファ２１におけるページの選択を行う。電圧生成回路２４は、不揮発性メモリセルに対するデータのプログラム、消去及び読み出しに用いられる各種電圧を電源電圧から昇圧動作等により生成する。
【００２０】
アドレスレジスタ２５は、Ｉ／Ｏバッファ回路３０から入力されるアドレスを保持し、保持したアドレスをロウデコーダ２２及びカラムデコーダ２３へ出力する。コマンドレジスタ２６は、Ｉ／Ｏバッファ回路３０から入力されるコマンドデータを保持する。
【００２１】
制御回路２７は、Ｉ／Ｏバッファ回路３０から入力する制御信号及びコマンドレジスタ２６から供給されるコマンドデータにより、メモリセルアレイ１１に対するデータのプログラム、読み出し、消去、テスト（試験）などの動作、及びベリファイ動作の制御を行う。例えば、制御回路２７は、メモリセルアレイ１１からのデータ読み出し動作と、メモリセルアレイ１１へのデータ書き込み動作（プログラム動作及びプログラムベリファイ動作）と、メモリセルアレイ１１のデータ消去動作（イレース動作及びその後のイレースベリファイ動作）とにおいて、ページバッファ２１を制御するための制御信号を出力する。
【００２２】
Ｉ／Ｏバッファ回路３０は、Ｉ／Ｏ端子４１から、すなわち外部から入力されるデータ等をバッファメモリ３１に保持する。例えば、Ｉ／Ｏバッファ回路３０は、外部から供給されるアドレスをバッファメモリ３１に保持し、このバッファメモリ３１に保持したデータをアドレスレジスタ２５へ出力する。また、Ｉ／Ｏバッファ回路３０は、外部から供給されるコマンドを示すコマンドデータをバッファメモリ３１に保持し、このバッファメモリ３１に保持したデータをコマンドレジスタ２６へ出力する。また、Ｉ／Ｏバッファ回路３０は、外部から供給される書込みデータをバッファメモリ３１に保持し、このバッファメモリ３１に保持したデータをページバッファ２１へ出力する。また、Ｉ／Ｏバッファ回路３０は、外部から入力される制御信号をバッファメモリ３１に保持し、このバッファメモリ３１に保持した制御信号を制御回路２７へ出力する。
【００２３】
また、Ｉ／Ｏバッファ回路３０は、ページバッファ２１を介し、メモリセルアレイ１１から読み出されたデータをバッファメモリ３１に保持し、このバッファメモリ３１に保持したデータをＩ／Ｏ端子４１から外部に出力する。また、Ｉ／Ｏバッファ回路３０は、キーコード格納ブロック１３中のキーコード格納領域１４内のキーコードがＩ／Ｏ端子４１から外部に出力されないように、キーコード格納ブロック１３のデータを保護するためのキーデータ保護回路３２を有している。
【００２４】
上記構成の不揮発性半導体装置１０において、キーコード格納ブロック１３内のキーコード格納領域１４内にキーコードが、インジケータビット格納領域１５内にインジケータビットがそれぞれ記憶されている。インジケータビット格納領域１５内のインジケータビットは、例えば４ビットのデータであり、このインジケータビット格納領域１５には、キーコード格納ブロック１３のデータ（例えば、キーコード格納領域１４内のキーコード）の読み出しを許可又は不許可にする情報が記録される。
このインジケータビット格納領域１５は、キーコード格納領域１４をプログラムする際に、同時にオール０（“００００”）にプログラムされ、後述するキーデータ保護回路３２により、キーコード格納領域１４からのキーコードの読み出しが禁止とされる。
【００２５】
そして、本実施形態の不揮発性半導体装置１０においては、キーコード格納ブロック１３のデータを読み出そうとする場合は、後述するように、インジケータビット格納領域１５内のインジケータビットがイレースされ、さらに、このインジケータビットがイレースされると同時に、キーコードもイレースされる（データが消える）構成とされている。
これにより、本実施形態の不揮発性半導体装置１０では、キーコード格納領域１４内のキーコードが読み出されることを防ぐとともに、インジケータビット格納領域１５内のインジケータビットとキーコード格納領域１４内のキーコードをイレースした後は、キーコード格納ブロック１３のデータの読み出しができるようになり、キーコード格納ブロック１３のメモリセルのテストを行うことができるようになる。
【００２６】
また、図３及び図４は、図１に示す不揮発性半導体装置１０において、メモリセルアレイ１１からデータを読み出す場合の動作について説明するための図である。このうち、図３は、メモリセルアレイ１１から通常ブロック１２のデータを読み出す場合の例を示す図である。また、図４は、メモリセルアレイ１１からキーコードが格納されているキーコード格納ブロック１３のデータを読み出す場合の例を示す図である。
【００２７】
図３に示す通常データの読み出しの場合、ページバッファ２１が、メモリセルアレイ１１内の通常ブロック１２のアクセスを行うことにより、通常ブロック１２内の通常データ格納領域１２Ａのデータが読み出されてバッファメモリ３１に保持される。
そして、バッファメモリ３１に読み出された通常データ格納領域１２Ａのデータは、キーデータ保護回路３２が作用することなく、バッファメモリ３１からそのままＩ／Ｏ端子４１から外部に出力される。なお、図３において、キーコード使用回路２８は、メモリセルアレイ１１に記録されたデータに対して、キーコード格納領域１４内のキーコードを用いてＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の共通鍵暗号化方式により暗号化を行うための回路である。このキーコード使用回路２８は、例えば、Ｉ／Ｏバッファ回路３０内や、制御回路２７内などに設けられている。
【００２８】
次に、図４に示すキーコード格納ブロックのデータの読み出しの場合について説明するが、その前に、キーコード格納領域１４の書き込み及び読み出しの際に、キーコード格納領域１４とインジケータビット格納領域１５に対して行われるプログラム及びイレースの前提条件と、キーデータ保護回路３２の構成について説明する。
【００２９】
（キーコードの書き込み及び読み出しの際の前提条件）
本実施形態の不揮発性半導体装置１０では、第１の前提条件として、キーコード格納ブロック１３のキーコード格納領域１４内のキーコードを書き込む際には、同時にインジケータビット格納領域１５をプログラムする（オールゼロ“００００”を書き込む）ように構成されている。そして、インジケータビット格納領域１５がオールゼロ“００００”にプログラムされている場合、キーデータ保護回路３２は、バッファメモリ３１に保持されたデータがＩ／Ｏ端子４１に出力されることを禁止する。
【００３０】
また、第２の前提条件として、不揮発性半導体装置１０では、キーコード格納ブロック１３のデータを読み出す場合、最初に、キーコード格納領域１４内のキーコードとインジケータビット格納領域１５内のインジケータビットのイレースを行う。このキーコード格納領域１４内のキーコードとインジケータビット格納領域１５内のインジケータビットとがイレースされることにより、キーコード格納ブロック１３に対するデータの書き込み、及び読み出しを行うことができる構成となっている。これにより、不揮発性半導体装置１０では、不良解析（例えば、閾値の判定）などのテストを行う場合に、キーコード格納領域１４内のキーコードが外部に出力されることなく、キーコード格納ブロック１３からのデータの読み出しが可能になり、キーコード格納ブロック１３内のメモリセルのテストを行うことができる。
【００３１】
なお、上記第１の前提条件（キーコード格納領域１４の書込み時にインジケータビット格納領域１５内のデータ（インジケータビット）をイレースする条件）と、上記第２の前提条件（キーコード格納領域１４からの読み出し時にキーコード格納領域１４内のキーコード、及びインジケータビット格納領域１５内のインジケータビットとをイレースする条件）を実現するための制御は、例えば、制御回路２７により行われるものである。
【００３２】
（キーデータ保護回路３２の構成）
また、キーデータ保護回路３２は、図４に示すように、インジケータビット判定回路３３と、２入力のＡＮＤ回路（一方の入力端子が論理反転入力端子であるアンド回路）３４及び３５と、２入力のＯＲ（オア）回路３６と、を有して構成されている。
【００３３】
このキーデータ保護回路３２において、インジケータビット判定回路３３には、バッファメモリ３１に保持されたインジケータビット格納領域１５の４ビットデータが入力される。インジケータビット判定回路３３は、この４ビットデータ中のイレースビット数（「１」の数）を判定して出力信号ＩＢを出力する。
【００３４】
図５は、インジケータビットとテスト条件について説明するための図である。この図５において、図５（Ａ）は、インジケータビット判定回路３３におけるインジケータ値と出力信号ＩＢとの対応関係を示し、インジケータビット格納領域１５のプログラム数（「０」の個数）をインジケータ値とし、このインジケータ値に対応するインジケータビット判定回路３３の出力信号ＩＢの出力状態（「Ｈ」レベル又は「Ｌ」レベル）を表で示したものである。なお、図５（Ｂ）は、後述する信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔと、信号ＩＢと、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅと、信号Ｔｅｓｔｍｏｄｅ’との対応関係を表で示したものである。
【００３５】
そして、インジケータビット判定回路３３の出力信号ＩＢは、図５（Ａ）の表に示すように、インジケータビット格納領域１５のイレースビット数（「１」の数）が、３個以上の場合に「１（Ｈレベル）」となり、それ以外の場合は、「０（Ｌレベル）」となる。
【００３６】
このインジケータビット判定回路３３の出力端子は、ＡＮＤ回路３４の一方の入力端子（論理反転入力端子）ａに接続され、インジケータビット判定回路３３の出力信号ＩＢは、このＡＮＤ回路３４の入力端子ａに入力される。また、ＡＮＤ回路３４の他方の入力端子ｂには、ページバッファ２１から信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔが入力される。
この信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔは、メモリセルアレイ１１内のキーコード格納ブロック１３がセンシング（アクセス）される際に生成される信号であり、キーコード格納ブロック１３がセンシングされる際に「１（Ｈレベル）」となる信号である。
【００３７】
ＡＮＤ回路３４の出力端子からは、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅ（「１（Ｈレベル）」で出力禁止）が出力される。上記ＡＮＤ回路３４の出力端子ｃは、ＯＲ回路３６の一方の入力端子ａに接続され、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが、このＯＲ回路３６の入力端子ａに入力される。ＯＲ回路３６の他方の入力端子ｂには、バッファメモリ３１に保持されたデータ（この例では、キーコード格納ブロック１３のデータ）が入力される。
【００３８】
ＯＲ回路３６の出力端子ｃはＩ／Ｏ端子４１に接続されており、このＯＲ回路３６の出力信号は、Ｉ／Ｏ端子４１から外部に出力される。この例では、ＯＲ回路３６の入力端子ａに入力される信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「０（Ｌレベル）」の場合にのみ、ＯＲ回路３６の入力端子ｂに入力されるデータ（バッファメモリ３１に保持されたデータ）をＩ／Ｏ端子４１から外部に出力することが可能になる。
【００３９】
一方、ＯＲ回路３６の入力端子ａに入力される信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「１（Ｈレベル）」の場合は、ＯＲ回路３６の出力信号は常時「１（Ｈレベル）」となり、バッファメモリ３１に保持されたデータを外部出力することが禁止される。すなわち、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅは、「０（Ｌレベル）」の場合にのみ有効（出力許可）になる。
【００４０】
すなわち、この信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅは、通常ブロック１２へのアクセスが選択されている場合（信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔが「０（Ｌレベル）」の場合）は、インジケータビット格納領域１５のイレースビットの個数に係わらず常に「０（Ｌレベル）」となり、バッファメモリ３１のデータのＩ／Ｏ端子４１への出力が許可される。
一方、キーコード格納ブロック１３へのアクセスが選択されている場合は、インジケータビット格納領域１５のイレースビットの個数が３個以上の場合においてのみ「０（Ｌレベル）」となり、この場合のみバッファメモリ３１のデータのＩ／Ｏ端子４１への出力が許可される。
【００４１】
また、ＡＮＤ回路３４の出力端子ｃは、ＡＮＤ回路３５の一方の入力端子（論理反転入力端子）ａに接続され、ＡＮＤ回路３４から出力される信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅがＡＮＤ回路３５の入力端子ａに入力される。また、ＡＮＤ回路３５の他方の入力端子ｂには、制御回路２７から、テストモード信号Ｔｅｓｔｍｏｄｅが入力される。このテストモード信号Ｔｅｓｔｍｏｄｅは、メモリセルのテスト（例えば、不良解析の試験）を行う際に「１（Ｈレベル）」となる信号である。このＡＮＤ回路３５の出力端子ｃからは、信号Ｔｅｓｔｍｏｄｅ’が出力される。
【００４２】
（図４に示す不揮発性半導体装置１０おける処理の流れの説明）
そして、上記前提条件と上記キーデータ保護回路３２の構成の基で、図４において、ページバッファ２１が、メモリセルアレイ１１内のキーコード格納ブロック１３をセンシングすることにより、キーコード格納ブロック１３中のキーコード格納領域１４内のキーコードとインジケータビット格納領域１５内のインジケータビットとが読み出されバッファメモリ３１に保持される。
【００４３】
続いて、キーデータ保護回路３２内のインジケータビット判定回路３３は、インジケータビット格納領域１５のビット値を読み出し、イレースされているビットの個数（「１」の個数）を判定する。
このインジケータビット判定回路３３は、図５（Ａ）の表に示すように、イレースされているビットの個数（「１」の個数）が３個以上の場合、すなわち、インジケータ値０（“１１１１”）の場合と、インジケータ値１（“１１１０”）の場合とにおいて、出力信号ＩＢを「１（Ｈレベル）」にする
また、インジケータビット判定回路３３は、イレースされているビットの個数（「１」の個数）が２個以下の場合、すなわち、インジケータ値２（“１１００”）の場合と、インジケータ値３（“１０００”）の場合と、インジケータ値４（“００００”）の場合とにおいて、出力信号ＩＢを「０（Ｌレベル）」にする。
【００４４】
そして、キーデータ保護回路３２は、図５（Ｂ）の表の状態３に示すように、キーコード格納ブロック１３のデータの読み出しの場合（信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔ＝Ｈの場合）において、インジケータビット格納領域１５内のインジケータビットの「１」の個数が２個以下の場合（信号ＩＢ＝Ｌの場合）は、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅを「１（Ｈレベル）」にする。このため、ＯＲ回路３６によりＩ／Ｏ端子４１は常に「１（Ｈレベル）」となり、バッファメモリ３１に保持されたデータは、Ｉ／Ｏ端子４１に出力されなくなる。
【００４５】
一方、キーデータ保護回路３２は、図５（Ｂ）の表の状態４に示すように、キーコード格納ブロック１３のデータの読み出しの場合（信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔ＝Ｈの場合）において、インジケータビット格納領域１５内のインジケータビットの「１」の個数が３個以上の場合（信号ＩＢ＝Ｈの場合）は、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅを「０（Ｌレベル）」にする。このため、ＯＲ回路３６の入力端子ａは「０（Ｌレベル）」となり、バッファメモリ３１に保持されたデータは、Ｉ／Ｏ端子４１に出力される。
【００４６】
また、通常ブロック１２のデータの読み出しの場合（信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔ＝Ｌの場合）は、図５（Ｂ）の表の状態１及び状態２に示すように、インジケータビット格納領域１５内のインジケータビットにおけるイレースビット数（「１」の個数）に関係なく（信号ＩＢの値に関係なく）、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが常に「０（Ｌレベル）」となり、キーデータ保護回路３２は、バッファメモリ３１に保持されたデータをＩ／Ｏ端子４１に出力する。
【００４７】
また、ＡＮＤ回路３５の入力端子ｂに入力されるテストモード信号Ｔｅｓｔｍｏｄｅは、ユーザが入力するテストコマンドに応じて制御回路２７により生成される信号であり、このテストモード信号Ｔｅｓｔｍｏｄｅは、ＡＮＤ回路３５により、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「０（Ｌレベル）」の場合に活性化され、テストモード信号Ｔｅｓｔｍｏｄｅ’が「１（Ｈレベル）」となる。このテストモード信号Ｔｅｓｔｍｏｄｅ’は、制御回路２７に送られ、このテストモード信号Ｔｅｓｔｍｏｄｅ’が「１（Ｈレベル）」になることにより、制御回路２７は、メモリセルアレイ１１のテスト（例えば、閾値電圧の判定テスト）を開始することができる。
【００４８】
この信号Ｔｅｓｔｍｏｄｅ’が「１（Ｈレベル）」となりテスト可能な状態になるのは、図５（Ｂ）の表に示すように。信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「０（Ｌレベル）」になる状態１と、状態２と、状態４の場合である。
このうち、状態１及び状態２は、信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔが「０（Ｌレベル）」である通常ブロックへのアクセスが選択された場合であり、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅは常に「０」になるため、通常ブロック１２は、常にテスト可能な状態になる。
一方、状態３及び状態４は、信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔが「１（Ｈレベル）」になるキーコード格納ブロック１３へのアクセスが選択された場合である。この場合、状態３では、信号ＩＢが「０（レベル）」、すなわちインジケータビット格納領域１５内のインジケータビットのイレースビット数が２個以下であり、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「１（Ｈレベル）」となるため、テスト不可の状態になる。一方、状態４では、信号ＩＢが「１（Ｈレベル）」、すなわちインジケータビット格納領域１５内のインジケータビットのイレースビット数が３個以上であり、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「０（Ｌレベル）」となるため、テスト可能な状態になる。
【００４９】
以上説明したように、本実施形態の不揮発性半導体装置１０では、インジケータビット格納領域１５とキーデータ保護回路３２とを備えることにより、キーコード格納ブロック１３に格納されたキーコード格納領域１４内のキーコードが読み取られることなく、キーコード格納ブロック１３のメモリセルのテストを行うことができる。
【００５０】
なお、インジケータビット格納領域１５を複数ビット（本実施形態では、４ビット）としたのは、仮にインジケータビット格納領域１５内のインジケータビットが１ビットであるとすると、キーコード格納ブロック１３のテスト（例えば、閾値レベルの判定テスト）の際に、そのビットがプログラムされると（「０」になると）、直ちに「信号ＩＢ＝０（Ｌレベル）」となり、「信号Ｋｅｙ  Ｔｅｓｔ  Ｄｉｓａｂｌｅ＝１（Ｈレベル）」となってしまい、キーコード格納ブロック１３のテストが終了してしまうため、インジケータビット格納領域１５自身のテスト（例えば、閾値電圧テスト）が行えなくなる。これを防ぐために、インジケータビット格納領域１５内のインジケータビットは、複数ビットで構成される。
【００５１】
インジケータビット格納領域１５内のインジケータビットを複数ビット（例えば、４ビット）にすると、テストの際に、４ビットのうちの例えば３ビットが同時に「０」になる確率は低いため、その間に、キーコード格納領域１４及びインジケータビット格納領域１５を含むキーコード格納ブロック１３のメモリセルのテストを行うことができる。なお、この場合のテストとしては、例えば、電圧生成回路２４（図１を参照）によりワード線のレベルを変化させてメモリセルの閾値電圧分布を測定する不良解析のためのテスト等がある。なお、インジケータビット格納領域１５内のインジケータビットのビット数は、４ビットに限定されず、２ビット以上の任意のビット数とすることができる。
【００５２】
また、本実施形態では、図５（Ａ）の表の状態１及び状態２に示すように、インジケータビット格納領域１５内のインジケータビットのインジケータ値が０（＝“１１１１”）と１（＝“１１１０”）の場合にテスト可能としているが、このインジケータビット格納領域１５内のインジケータビットは、１のビットの個数が３個以上であればよく、例えば、“０１１１”や、“１０１１”や、“１１０１”の場合にもテスト可能とすることができる。
【００５３】
また、図６は、不揮発性半導体装置１０における処理の流れをフローチャートで示した図である。この図６において、図６（Ａ）は、リード動作時の処理の流れを示すフローチャートであり、図６（Ｂ）は、テストモード時の処理の流れを示すフローチャートである。以下、図６のフローチャートを参照して、その処理の流れについて説明する。
【００５４】
図６（Ａ）に示すリード動作時のフローにおいて、最初に、データを読み出す対象となるブロックのセンシング、すなわち、データを読み出し対象のブロックのページバッファのアドレスが入力されると（ステップＳ１１）、ページバッファ２１は、インジケータビット格納領域１５内のインジケータビットを読み出してバッファメモリ３１に保持する。そして、キーデータ保護回路３２内のインジケータビット判定回路３３は、バッファメモリ３１に保持されたインジケータビット格納領域１５内のインジケータビットをリードする（ステップＳ１２）。
【００５５】
続いて、インジケータビット判定回路３３は、インジケータビット格納領域１５内のインジケータビットのイレース個数（「１」の個数）が３個以上であるか否かを判定する（ステップＳ１３）。
そして、ステップＳ１２の処理において、イレース個数（「１」の個数）が３個以上であると判定された場合に（ステップＳ１３；Ｙｅｓ）、キーデータ保護回路３２は、ＡＮＤ回路３４とＯＲ回路３６の動作により、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅを「０」にして、バッファメモリ３１に保持されたデータのＩ／Ｏ端子４１への出力を許可する（ステップＳ１４）。
【００５６】
一方、ステップＳ１２の処理において、インジケータビット判定回路３３により、インジケータビット格納領域１５内のインジケータビットのイレース個数（「１」の個数）が３個以上でないと判定された場合に（ステップＳ１３；Ｎｏ）、キーデータ保護回路３２は、信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔを基に、キーコード格納ブロック１３が選択されているか否かを判定する（ステップＳ１５）。
そして、ステップＳ１５の処理において、キーコード格納ブロック１３が選択されていないと判定された場合は（ステップＳ１５；Ｎｏ）、通常ブロック１２が選択されている（信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔが「０（Ｌレベル）」である）ので、キーデータ保護回路３２は、ＡＮＤ回路３４により、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅを「０（Ｌレベル）」とし（ステップＳ１４）、バッファメモリ３１に保持されたデータをＩ／Ｏ端子４１から外部に出力させる。
【００５７】
一方、ステップＳ１５の処理において、キーコード格納ブロック１３が選択されていると判定された場合は（ステップＳ１５；Ｙｅｓ）、キーデータ保護回路３２は、インジケータビット判定回路３３の出力信号ＩＢが「０（Ｌレベル）」かつ信号ＫｅｙＢｌｏｃｋＳｅｌｅｃｔが「１（Ｈレベル）」であるので、ＡＮＤ回路３４により、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅを「１（Ｈレベル）」とし（ステップＳ１６）、バッファメモリ３１に保持されたデータがＩ／Ｏ端子４１から外部に出力されることを禁止する。
【００５８】
また、図６（Ｂ）に示すテスト時の動作フローにおいて、最初に、不良解析に使用するテストコードが、Ｉ／Ｏバッファ回路３０に入力される（ステップＳ２１）。続いて、Ｉ／Ｏバッファ回路３０のキーデータ保護回路３２は、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「０（Ｌレベル）」であるか否かを判定する（ステップＳ２２）。
【００５９】
そして、ステップＳ２２の処理において、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「０（Ｌレベル）」であると判定された場合は（ステップＳ２２；Ｙｅｓ）、キーデータ保護回路３２は、テスト可能であると判定して、テストモードに移行することを許可する（ステップＳ２３）。すなわち、キーデータ保護回路３２は、信号Ｔｅｓｔｍｏｄｅ’を「１（Ｈレベル）」として、テストモードに移行することを許可する。
一方、ステップＳ２２の処理において、信号ＫｅｙＢｌｏｃｋＤｉｓａｂｌｅが「１（Ｈレベル）」であると判定された場合は（ステップＳ２２；Ｎｏ）、キーデータ保護回路３２は、テスト不可能であると判定して、テストモードに移行することを許可しない。すなわち、キーデータ保護回路３２は、信号Ｔｅｓｔｍｏｄｅ’を「０（Ｌレベル）」として、テストモードに移行することを禁止にする。
【００６０】
以上、本発明の実施形態について説明したが、ここで、本発明と上述した実施形態との対応関係について補足して説明しておく。すなわち、本発明における不揮発性半導体装置は、不揮発性半導体装置１０が対応し、本発明におけるキーコード格納ブロックは、キーコード格納ブロック１３が対応し、本発明におけるキーコードは、キーコード格納領域１４内のキーコードが対応し、本発明におけるインジケータビット格納領域は、インジケータビット格納領域１５が対応する。また、本発明における判定回路は、キーデータ保護回路３２が対応し、本発明におけるインジケータビット判定回路は、キーデータ保護回路３２内のインジケータビット判定回路３３が対応し、本発明における入出力回路は、キーデータ保護回路３２を含むＩ／Ｏバッファ回路３０が対応する。
【００６１】
そして、上記実施形態において、不揮発性半導体装置１０は、キーコードが格納されるキーコード格納領域１４を含むキーコード格納ブロック１３と、キーコード格納ブロック１３に対するアクセスの可否を示すデータを格納するインジケータビット格納領域１５と、を備え、キーコード格納ブロック１３へのアクセスを可能とするインジケータビット格納領域１５の書き換えは、インジケータビット格納領域１５のデータ（インジケータビット）をイレースすることにより行われ、インジケータビット格納領域１５のデータをイレースする際には、キーコードもイレースされる。これにより、キーコードが外部に出力されることなくテストを行なうことができる。
【００６２】
また、上記実施形態において、不揮発性半導体装置１０は、キーコード格納ブロック１３中のキーコード格納領域１４内にキーコードを書き込む際には、キーコード格納ブロック１３へのアクセスが不可能であることを表すデータがインジケータビット格納領域１５に書き込まれるとともに、当該データの書き込みは、インジケータビット格納領域１５をプログラムすることにより行われる。
このような構成の不揮発性半導体装置１０では、キーコード格納ブロック１３中のキーコード格納領域１４内にキーコードを書き込む際には、同時にインジケータビット格納領域１５をプログラムする。
これにより、キーコードをキーコード格納ブロック１３中のキーコード格納領域１４に書き込んだ後は、インジケータビット格納領域１５内のインジケータビットをイレースしない限り、キーコード格納ブロック１３にアクセスできないようにすることができる。
【００６３】
また、上記実施形態において、不揮発性半導体装置１０では、インジケータビットは複数ビット（例えば、４ビット）で構成される。
このような構成の不揮発性半導体装置１０では、インジケータビット格納領域１５内のインジケータビットのビット数を、例えば、４ビットで構成し、キーコード格納ブロック１３へアクセスする際には、インジケータビット格納領域１５内のインジケータビットの４ビットをイレース（インジケータビット＝“１１１１”）する。そして、例えば、判定回路（キーデータ保護回路３２）は、４ビットのうちの例えば３ビット以上が「１」である場合に、キーコード格納ブロック１３へのアクセスが可能と判定する。
これにより、インジケータビット格納領域１５のメモリセルのテストを行う場合に、インジケータビットが３ビット以上同時に「０」になる確率は極めて低いため、その間に、キーコード格納領域１４及びインジケータビット格納領域１５を含むキーコード格納ブロック１３のメモリセルのテストを行うことができる。
【００６４】
また、上記実施形態において、不揮発性半導体装置１０は、インジケータビット格納領域１５におけるイレースビット数を判定するインジケータビット判定回路３３と、キーコード格納ブロック１３のアドレスが選択された場合に、インジケータビット判定回路３３の判定結果に応じて、キーコード格納ブロック１３に格納されたデータの読み出し、又はキーコード格納ブロック１３へのデータの書き込みの許可又は不許可を制御する入出力回路（キーデータ保護回路３２を含むＩ／Ｏバッファ回路３０）と、を備える。
このような構成の不揮発性半導体装置１０では、インジケータビット判定回路３３により、インジケータビット格納領域１５におけるイレースビット数（「１」の個数）を判定し、入出力回路（キーデータ保護回路３２を含むＩ／Ｏバッファ回路３０）は、このインジケータビット判定回路３３の判定結果に応じて、キーコード格納ブロック１３へのアクセスの許可又は不許可を制御する。
これにより、インジケータビット格納領域１５のイレースビット数（「１」の個数）に応じて、キーコード格納ブロック１３へのデータの書き込みの許可又は不許可を制御することができる。すなわち、簡易な方法により、キーコード格納ブロック１３へのアクセスを許可するか否かを判定することができる。
【００６５】
また、上記実施形態において、不揮発性半導体装置１０は、インジケータビット格納領域１５内のインジケータビットのイレース処理後に、入出力回路（Ｉ／Ｏバッファ回路３０）を介してのキーコード格納ブロック１３の読み書きテストを、インジケータビット格納領域１５のイレースビット数が所定数以上の場合に行なう。
これにより、簡易な方法により、キーコード格納ブロック１３へのアクセスを許可するか否かを判定することができる。また、キーコード格納領域１４及びインジケータビット格納領域１５を含むキーコード格納ブロック１３のメモリセルのテストを行うことができる。
【００６６】
以上、本発明の実施の形態について説明したが、本発明の不揮発性半導体装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００６７】
１０…不揮発性半導体装置、１１…メモリセルアレイ、１２…通常ブロック、１２Ａ…通常データ格納領域、１３…キーコード格納ブロック、１４…キーコード格納領域、１５…インジケータビット格納領域、２１…ページバッファ、２２…ロウデコーダ、２３…カラムデコーダ、２４…電圧生成回路、２５…アドレスレジスタ、２６…コマンドレジスタ、２７…制御回路、３０…Ｉ／Ｏバッファ回路、３１…バッファメモリ、３２…キーデータ保護回路
【図１】
2014021992.tif 000003
【図２】
2014021992.tif 000004
【図３】
2014021992.tif 000005
【図４】
2014021992.tif 000006
【図５】
2014021992.tif 000007
【図６】
2014021992.tif 000008