(57)【要約】【課題】新たに動作モードを設けることなく、且つわずかな付加回路だけでセキュリティ機能を実現することができる不揮発性半導体記憶装置及びその機密保護方法を提供する。【解決手段】不揮発性半導体記憶装置に予め備わっている一括書き込み動作（ページラッチ動作，ページプログラム動作，ベリファイ動作）を行なうカラムラッチ回路２９を用いてセキュリティ機能を実現する。セキュリティ制御回路４１の制御により、カラムラッチ回路２９にセキュリティ機能を解除するためのパスワードを格納し、カラムラッチ回路２９に格納されたパスワードと解除コード格納部１３に格納されているセキュリティ解除コードとのベリファイ動作を行なう。ベリファイ動作でパスワードとセキュリティ解除コードとが一致と判定された場合は、セキュリティ機能の解除を行なう。【選択図】　　　　図１
2004005941.tif 000002
【特許請求の範囲】
【請求項１】
マトリクス状に配置された複数のメモリセルを有するメモリセルアレイと、
上記メモリセルアレイの行方向に配置された複数のメモリセルに共通に接続される複数のワード線と、
上記メモリセルアレイの列方向に配置された複数のメモリセルに共通に接続される複数のビット線と、
上記複数のビット線のうちの１又は２以上のビット線に共通に接続され、上記メモリセルに書き込むデータをラッチする動作と、該ラッチされたデータと上記メモリセルに書き込まれたデータとの一致を確認するベリファイ動作とを行なうカラムラッチ回路と、
上記メモリセルアレイへの外部からのアクセスを許可するセキュリティ解除コードを記憶する複数の解除コード格納メモリセルと、
セキュリティ機能を解除するためのパスワードが入力されたときに、上記カラムラッチ回路に上記パスワードをラッチして、該ラッチされたパスワードと上記解除コード格納メモリセルとのベリファイ動作を行なう制御部と
を備えている不揮発性半導体記憶装置。
【請求項２】
請求項１記載の不揮発性半導体記憶装置において、
上記制御部は、上記ベリファイ動作により、上記パスワードと上記セキュリティ解除コードとが一致と判定された場合に、上記メモリセルアレイへの外部からのアクセスを許可する，不揮発性半導体記憶装置。
【請求項３】
請求項１又は２記載の不揮発性半導体記憶装置において、
電源投入時に、上記セキュリティ機能が設定される，不揮発性半導体記憶装置。
【請求項４】
請求項１〜３のうちいずれか１つに記載の不揮発性半導体記憶装置において、
セキュリティ解除コマンドが入力されたことを検知する検知部をさらに備えており、
上記制御部は、上記検知部で上記セキュリティ解除コマンドが検知されたときに、セキュリティ認証のための上記ラッチ動作と上記ベリファイ動作とを開始する，半導体記憶装置。
【請求項５】
請求項４記載の不揮発性半導体記憶装置において、
上記検知部で検知されるセキュリティ解除コマンドの値を任意に設定するためのレジスタをさらに備えている，不揮発性半導体記憶装置。
【請求項６】
請求項１〜３のうちいずれか１つに記載の不揮発性半導体記憶装置において、
特定アドレス及び特定データのうち少なくともいずれか１つが入力されたことを検知する検知部をさらに備えており、
上記制御部は、上記検知部で特定アドレス及び特定データのうち少なくともいずれか１つが検知されたときに、セキュリティ認証のための上記ラッチ動作と上記ベリファイ動作とを開始する，不揮発性半導体記憶装置。
【請求項７】
請求項６記載の不揮発性半導体記憶装置において、
上記検知部の検知動作は、電源投入時に行われる，不揮発性半導体記憶装置。
【請求項８】
請求項６記載の不揮発性半導体記憶装置において、
上記検知部の検知動作は、リセットモード解除時に行われる，不揮発性半導体記憶装置。
【請求項９】
請求項６記載の不揮発性半導体記憶装置において、
上記検知部の検知動作は、上記カラムラッチに上記パスワードのラッチを行なう動作の開始前に行われる，不揮発性半導体記憶装置。
【請求項１０】
請求項６〜９のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記検知部で検知される特定アドレス及び特定データを任意に設定するためのレジスタをさらに備えている，不揮発性半導体記憶装置。
【請求項１１】
請求項１〜１０のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記パスワードが使用を禁止すべきデータであることを検知するための禁止データ検知部をさらに備え、
上記制御部は、上記禁止データ検知部で上記禁止データが検知されたときには、上記メモリセルアレイへの外部からのアクセスを不可能とする，不揮発性半導体記憶装置。
【請求項１２】
請求項１１記載の不揮発性半導体記憶装置において、
上記禁止データは、プログラム状態のデータを有するビットが存在しないデータである，不揮発性半導体記憶装置。
【請求項１３】
請求項１１記載の不揮発性半導体記憶装置において、
上記禁止データは、パスワードの全ビットを１又は２以上のグループに区画したときに、いずれかのグループにプログラム状態のデータを有するビットが存在しないデータである，不揮発性半導体記憶装置。
【請求項１４】
請求項１〜１３のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記カラムラッチ回路へのパスワードのラッチ動作の前に、特定アドレスが入力されたことを検知する検知部をさらに備えており、
上記制御部は、上記検知部で特定アドレスが入力されたことが検知されない場合には、上記メモリセルアレイへの外部からのアクセスを不可能とする，不揮発性半導体記憶装置。
【請求項１５】
請求項１４記載の不揮発性半導体記憶装置において、
上記検知部で検知される特定アドレスを任意に設定するためのレジスタをさらに備えている，不揮発性半導体記憶装置。
【請求項１６】
請求項１〜１５のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記解除コード格納メモリセルとのベリファイ動作の前に、特定アドレス及び特定データのうち少なくともいずれか１つが入力されたことを検知する検知部をさらに備えており、
上記制御部は、上記検知部で特定アドレス及び特定データのうち少なくともいずれか１つが入力されたことが検知されない場合は、上記メモリセルアレイへの外部からのアクセスを不可能とする，不揮発性半導体記憶装置。
【請求項１７】
請求項１６記載の不揮発性半導体記憶装置において、
上記検知部で検知される特定アドレス及び特定データの値を任意に設定するためのレジスタをさらに備えている，不揮発性半導体記憶装置。
【請求項１８】
請求項１〜１７のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記制御部における上記ラッチ動作の前に、上記パスワードをスクランブル処理して上記カラムラッチ回路に出力するデータスクランブル回路をさらに備えている，不揮発性半導体記憶装置。
【請求項１９】
請求項１〜１８のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記制御部の上記ベリファイ動作の際に、上記パスワードと上記セキュリティ解除コードとが不一致と判定された場合は、上記カラムラッチ回路にラッチされたデータをリセットするラッチリセット手段を備えている，不揮発性半導体記憶装置。
【請求項２０】
請求項１〜１９のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記解除コード格納メモリセルは、上記メモリセルアレイ中に配置されており、
上記解除コード格納メモリセルのメモリセルアレイ中におけるアドレスを任意に設定可能とするレジスタをさらに備えている，不揮発性半導体記憶装置。
【請求項２１】
請求項１〜２０のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記解除コード格納メモリセルのベリファイ動作時におけるベリファイ判定しきい値電圧値が、データ書き込み時のベリファイ動作時におけるベリファイ判定しきい値電圧値と異なる，不揮発性半導体記憶装置。
【請求項２２】
請求項１〜２１のうちいずれか１つに記載の不揮発性半導体記憶装置において、
上記解除コード格納メモリセルに上記セキュリティ解除コードを書き込む際は、解除コード格納メモリセルのプログラム状態とイレーズ状態のデータのしきい値を、共に上記メモリセルのプログラム状態側あるいはイレーズ状態側に設定し、
且つ、上記解除コード格納メモリセルの上記プログラム状態と上記イレーズ状態とのデータのしきい値は互いに異なる値に設定して書き込む，不揮発性半導体記憶装置。
【請求項２３】
ページプログラム機能とセキュリティ保護機能とを有する不揮発性半導体記憶装置の機密保護方法であって、
セキュリティ機能を解除するためのパスワードが入力されたときに、カラムラッチ回路に上記パスワードをラッチするステップ（ａ）と、
上記ステップ（ａ）でラッチされたパスワードとセキュリティ解除コードが格納された解除コード格納メモリセルとのベリファイ動作を行なうステップ（ｂ）と
を含む，不揮発性半導体記憶装置の機密保護方法。
【請求項２４】
請求項２３記載の不揮発性半導体記憶装置の機密保護方法において、
上記ステップ（ｂ）において、上記パスワードと上記セキュリティ解除コードとが一致と判定された場合に、上記メモリセルアレイへの外部からのアクセスを許可する，不揮発性半導体記憶装置の機密保護方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機密保持機構を備えた電気的にデータの書き換えが可能な不揮発性半導体記憶装置及びその機密保護方法に関する。
【０００２】
【従来の技術】
近年、フラッシュメモリに代表される不揮発性半導体記憶装置は、電気的にデータの書き換えが可能で、且つ電源を切った状態でもデータを保持することができるため、様々な分野で使用されている。例えば、携帯電話，デジタルカメラ，シリコンオーディオプレーヤー等のシステムにおいて、データ格納用の記憶装置として用いられている。また、ＩＣカード等に搭載するマイクロコンピュータの内部記憶装置としても用いられている。
【０００３】
不揮発性半導体記憶装置には、例えば、システムを所望の手順に従って動作させるためのプログラムや、個人のプライバシーに関わる情報や、著作権で保護される情報等が格納されている。これらのプログラムや情報を第三者が不正に読み出し、または書き換えを自由にできるならば、機密情報保護の点で非常に好ましくない。このため、一般に、不揮発性半導体記憶装置には機密保護のためにセキュリティ回路が搭載されている。
【０００４】
図２０は、従来の不揮発性半導体記憶装置の構成を示す回路図である。同図に示されるように、不揮発性半導体記憶装置は、外部機器とのアドレス及びデータのやり取りを行なうためのデータ入出力バッファ１０００と、セキュリティ機能を果たすためのセキュリティ回路１００３と、多数のメモリセルが配置されたメモリセルアレイ１０１１とを備えている。
【０００５】
データ入出力バッファ１０００は、外部からアドレスとデータを受け取り、アドレスとデータとをそれぞれ内部アドレスバス１００１と内部データバス１００２に転送する。データ端子ＤＡＴＡは双方向バスであり、例えば、読み出し動作時には内部データバス１００２のデータがデータ端子ＤＡＴＡから外部機器に出力され、書き込み動作時には外部機器からのデータがデータ端子ＤＡＴＡを経て内部データバス１００２に入力される。
【０００６】
セキュリティ回路１００３は、パスワード記憶回路１００４と、パスワード記憶回路１００４からの出力値１００６と内部データバス１００２との値を比較する比較回路１００５と、メモリセルアレイ１０１１へのアクセスを制限する動作制限回路１００８とを備えている。
【０００７】
メモリセルアレイ１０１１と動作制限回路１００８との間では、アドレスバス１００９及びデータバス１０１０を介してデータのやり取りが行なわれる。
【０００８】
図２１は、上記従来の不揮発性半導体記憶装置の機密保護方法を示すフローチャートである。
【０００９】
まず、ステップＳ２０００で、セキュリティ認証モードに設定してデータ端子ＤＡＴＡからセキュリティ機能を解除するためのパスワードを入力する。そのとき、データ入出力バッファ１０００は内部データバス１００２にパスワードを出力し、このパスワードは比較回路１００５に入力される。
【００１０】
次に、ステップＳ２００１で、比較回路１００５において、パスワード記憶回路１００４から出力されたパスワード１００６と内部データバス１００２に入力されたパスワードの値とが比較され、両者が一致するかどうかが判別される。
【００１１】
そして、ステップＳ２００１における判別の結果、両者のパスワードが一致したＹＥＳの場合は、Ｈレベルの判別信号１００７（図２０参照）が出力され、両者のパスワードが一致しないＮＯの場合は、Ｌレベルの判別信号１００７が出力される。これらの判別信号１００７は動作制限回路１００８に入力される。
【００１２】
そして、Ｈレベルの判別信号１００７が出力されると、ステップＳ２００２に進み、動作制限回路１００８はＨレベルの一致信号１００７を受けてセキュリティ機能の解除を許容する。そして、セキュリティ機能の解除が許容されると、さらにステップＳ２００３に進んで、内部アドレスバス１００１とアドレスバス１００９との間が接続状態になり、且つ、内部データバス１００２とデータバス１０１０との間が接続状態になることにより、メモリセルアレイ１０１１へのアクセスが可能となる。
【００１３】
一方、ステップＳ２００１の判別において、データ端子ＤＡＴＡから入力されたパスワードがパスワード記憶回路１００４に格納されているパスワードと一致しない場合は、比較回路１００８から出力される判別信号１００７がＬレベルになるので、動作制限回路１００８はセキュリティ機能の解除を許容しない。従って、内部アドレスバス１００１とアドレスバス１００９との間が遮断状態になり、且つ、内部データバス１００２とデータバス１０１０との間が遮断状態になることにより、メモリセルアレイ１０１１へのアクセスが不可能となる。
【００１４】
以上のように、セキュリティ回路１００３が設けられた従来の不揮発性半導体記憶装置においては、パスワード記憶回路１００４に格納されたパスワードを予め知っている者しかメモリセルアレイ１０１１へアクセスすることができないため、第三者による不正アクセスを防止することができる。
【００１５】
【特許文献】
特開２００１−３０６４００号公報（要約書）
【００１６】
【発明が解決しようとする課題】
しかしながら、前述したセキュリティ回路を備えた従来の不揮発性半導体記憶装置のセキュリティ回路、及びその機密保護方法（セキュリティ解除方法）に関しては以下に示すような不具合があった。
【００１７】
第１に、図２０に示されるように、上記従来のセキュリティ回路には、パスワードを記憶するための記憶回路と、その記憶回路に格納されたパスワードとデータ端子から入力したパスワードとを比較するための比較回路とを新たに設ける必要がある。このため、メモリチップの回路規模が増大することになる。ところが、機器の小型化に伴い、不揮発性半導体記憶装置も小型化する必要があり、上記の如く回路規模が増大するのは機器の小型化の阻害要因となる。また、セキュリティ機能を高める一つの手段として、パスワードのビット数を増やすことが考えられるが、ビット数を増やすと、パスワード記憶回路や比較回路の回路規模がさらに増大し、上述の不具合がより顕著に現れることになる。
【００１８】
第２に、不揮発性半導体記憶装置にセキュリティ機能を組み込むためには、従来から組み込まれている動作モードの他に、パスワード記憶回路に格納されたパスワードとデータ端子から入力されたパスワードとを比較する動作を行なうセキュリティ認証モードという別の動作モードを新たに組み込む必要がある。このように、別の動作モードを新たに加えることは、制御回路の複雑化を招き、制御回路の回路規模が増大するという不具合がある。
【００１９】
本発明の目的は、新たに動作モードを加えることなく、且つ、わずかな付加回路だけでセキュリティ機能を実現することができる不揮発性半導体記憶装置及びその機密保護方法を提供することにある。
【００２０】
【課題を解決するための手段】
本発明の目的は、新たに動作モードを加えることなく、且つ、わずかな付加回路だけでセキュリティ機能を実現することができる不揮発性半導体記憶装置及びその機密保護方法を提供することにある。
【００２１】
本発明の不揮発性半導体記憶装置は、セキュリティ保護のための解除コード格納メモリセルと、プログラムベリファイを行なうためのカラムラッチ回路とを有する不揮発性半導体記憶装置を前提とし、セキュリティ機能を解除するためのパスワードが入力されたときに、カラムラッチ回路にパスワードをラッチして、ラッチされたパスワードと解除コード格納メモリセルとのベリファイ動作を行なう制御部を備えている。
【００２２】
これにより、不揮発性半導体記憶装置に予め搭載されているカラムラッチ回路及びそのプログラムベリファイ機能を利用して、セキュリティ認証動作を行なうことができるため、新たに動作モードを設けることなく、且つわずかな付加回路だけでセキュリティ機能を実現することができる。従って、セキュリティ機能の追加による動作制御の複雑化や回路規模の増大を回避することができる。
【００２３】
ラッチ動作とベリファイ動作を、セキュリティ解除コマンドが入力された場合、又は特定アドレス，特定データが入力された場合に開始されるようにしておいて、セキュリティ解除コマンド，特定アドレス，特定データを任意に設定するためのレジスタをさらに設けることにより、ユーザー毎、あるいはチップ毎に任意に設定することができるため、セキュリティ解除方法を公開しない場合は、悪意の第三者がセキュリティ解除方法を特定することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【００２４】
パスワードが禁止データであることを検知したときには、メモリセルアレイへの外部からのアクセスを不可能とすることにより、セキュリティ解除コードと一致しないパスワードを用いてセキュリティ機能を解除させるような悪意のアクセスを排除することが可能になる。
【００２５】
禁止データとしては、プログラム状態のデータを有するビットが存在しないパスワードや、パスワードの全ビットを１又は２以上のグループに区画したときにいずれかグループにプログラム状態のデータを有するビットが存在しないパスワードがある。
【００２６】
カラムラッチ回路へのパスワードのラッチ動作の前に特定アドレスが入力されない場合、又は解除コード格納メモリセルとのベリファイ動作の前に特定アドレス，特定データが入力されない場合にはセキュリティ機能の解除が行われないようにしておいて、特定アドレス，特定データを任意に設定するためのレジスタをさらに設けることにより、ユーザー毎、あるいはチップ毎に任意に設定することができるため、セキュリティ解除方法を公開しない場合は、悪意の第三者がセキュリティ解除方法を特定することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【００２７】
パスワードをスクランブル処理して、カラムラッチ回路に出力するデータスクランブル回路をさらに設けたり、ベリファイ動作の際にパスワードとセキュリティ解除コードとが不一致と判定された場合はカラムラッチ回路にラッチされたデータをリセットする手段をさらに設けることにより、さらにセキュリティ保護機能を高めることができる。
【００２８】
【発明の実施の形態】
以下、本発明の実施形態について、代表的な不揮発性半導体記憶装置であるフラッシュメモリを例にとって説明する。
【００２９】
（第１実施形態）
−回路構成−
図１は、第１実施形態に係る不揮発性半導体記憶装置（フラッシュメモリ）の構成を示す回路図である。同図に示すように、本実施形態の不揮発性半導体記憶装置は、メモリセルアレイ１０と、メモリセルアレイ１０にデータを格納したり、メモリセルアレイ１０からデータを取り出す際に動作する周辺回路とを備えている。
【００３０】
メモリセルアレイ１０は、行列状に配置された多数のメモリセルＭＣｍ００〜ＭＣｍ１３，ＭＣｏ００〜ＭＣｏ１１を備えている。メモリセルアレイ１０は、ユーザーに公開されている領域であるメイン領域１１と、ユーザーに公開されていない領域であるオプション領域１２とに区画される。メイン領域１１には、多数のメモリセルＭＣｍ００〜ＭＣｍ１３（通常メモリセル）が配置されている。また、オプション領域１２にも、複数のメモリセルＭＣｏ００〜ＭＣｏ１１が配置されており、そのうちメモリセルＭＣｏ０１，ＭＣｏ１１（解除コード格納メモリセル）によりセキュリティ解除コード格納部１３が構成されている。メイン領域１１には、ユーザーが自由にデータの読み出し，書き込み，消去動作を行なうことができる。一方、オプション領域１２には、ユーザーは自由にデータの読み出し，書き込み，消去動作を行なうことができない。後述するように、オプション領域１２には、メモリセルアレイの冗長アドレス情報，高電圧発生回路の電圧トリミング情報，及びセキュリティ機能を解除するためのセキュリティ解除コード，コマンドデコーダ２５で検知するセキュリティ解除コマンド，アドレスデコーダ２６でデコードするセキュリティ解除コマンドが格納されたメモリセルアドレス情報等が格納されている。
【００３１】
メモリセルアレイ１０には、周辺回路に配置されたワード線ドライバ２０から行方向に延びて各メモリセルのゲートに接続されるワード線ＷＬｍ０〜ＷＬｍ３，ＷＬｏ０〜ＷＬｏ１と、周辺回路に配置されたカラムゲート３１（列デコーダ回路）から列方向に延びて各メモリセルのドレインに接続されるビット線ＢＬ０〜ＢＬ１と、周辺回路に配置されたソース線／ウェル線ドライバ２１から行方向に延びて各メモリセルのソース，基板にそれぞれ接続されるソース線ＳＬｍ０〜ＳＬｍ１，ＳＬｏ０及びウェル線ＰＷｍ０〜ＰＷｍ１，ＰＷｏ０とが設けられている。ここで、現実の不揮発性半導体記憶装置のメモリセルアレイにおいては、ワード線，ビット線，メモリセル等は、図１に図示されているもの以外にも極めて多数存在するが、説明を簡単化するために、図１には各一部のみが図示されている。なお、以下の各実施形態で説明される各種回路についても同様である。
【００３２】
ここで、メイン領域１１において、メモリセルＭＣｍ００〜ＭＣｍ１１のソースは共通のソース線ＳＬｍ０に接続され、基板は共通のウェル線ＰＷｍ０に接続されており、メモリセルＭＣｍ００〜ＭＣｍ１１によりブロックＭ０が構成されている。メモリセルＭＣｍ０２〜ＭＣｍ１３のソースは共通のソース線ＳＬｍ１に、基板は共通のウェル線ＰＷｍ１に接続されていて、メモリセルＭＣｍ０２〜ＭＣｍ１３によりブロックＭ１が構成されている。
【００３３】
また、オプション領域１２において、メモリセルＭＣｏ００〜ＭＣｏ１１のソースは共通のソース線ＳＬｏ０に、基板は共通のウェル線ＰＷｏ０に接続されていて、メモリセルＭＣｏ００〜ＭＣｏ１１によりブロックＭＯ０が構成されている。
【００３４】
ワード線ドライバ２０は、アドレスデコーダ２６からのデコード信号と、正高電圧発生回路２２及び負高電圧発生回路２３からの出力電圧とをそれぞれ受けて、各ワード線にメモリセルトランジスタの動作に必要な電圧を印加する。
【００３５】
ソース線／ウェル線ドライバ２１は、各ソース線，ウェル線にメモリセルトランジスタの動作に必要な電圧を印加する。
【００３６】
正高電圧発生回路２２は、読み出し，書き込み，消去などの動作に必要な正高電圧を発生する。負高電圧発生回路２３は、読み出し，書き込み，消去などの動作に必要な負高電圧を発生する。
【００３７】
制御回路２４は、チップイネーブル信号／ＣＥ，出力イネーブル信号／ＯＥ，書き込みイネーブル信号／ＷＥの入力と、コマンドデコーダ２５からの信号の入力とを受けて、読み出し，書き込み，消去の各種動作を制御する。制御回路２４から出力されるレディー／ビジー信号ＲＹ／ＢＹ等の制御信号（図１には図示されていない制御信号が多数存在する）は、ワード線ドライバ２０，ソース線／ウェル線ドライバ２１，正高電圧発生回路２２，負高電圧発生回路２３，コマンドデコーダ２５，アドレスデコーダ２６，ビット線リセットドライバ２８，カラムラッチ回路２９、ＰＡＳＳ出力回路３０，カラムドライバ３２，センスアンプ３３，データ入出力バッファ３４，レジスタ３５，セキュリティ回路４０等に入力されており、制御回路２４から出力される制御信号によって回路全体の動作制御が行なわれる。
【００３８】
コマンドデコーダ２５は、アドレス端子Ａから入力されるアドレスと、データ入力端子ＤＩから入力されるデータとからなるコマンドをデコードして、各種動作の開始を制御するための信号を発生する。ここで、セキュリティ機能を解除するためのコマンド（セキュリティ解除コマンド）がコマンドデコーダ２５に入力された場合は、コマンドデコーダ２５からセキュリティ制御回路４１に、Ｈレベルのセキュリティ解除コマンド検知信号ＳＣＯＭが送られる。ここで、セキュリティ解除コマンドは予め専用に設けられたコマンドである。
【００３９】
アドレスデコーダ２６は、アドレス端子Ａから入力されるアドレスをデコードして、所定のワード線、ソース線、ウェル線、ビット線を選択するためのデコード信号を発生する。
【００４０】
ビット線リセット回路２７は、ビット線の電位を接地電圧に設定するための回路である。ビットリセット回路２７において、トランジスタＤＴ０はビット線ＢＬ０を接地電圧に設定し、トランジスタＤＴ１はビット線ＢＬ１を接地電圧に設定する。ビット線リセット回路２７のトランジスタＤＴ０、ＤＴ１のゲートはビット線ドライバ２８に接続されており、ビット線ドライバ２８から出力される駆動信号ＢＬＲＳＴにより、トランジスタＤＴ０、ＤＴ１のオン・オフが制御される。
【００４１】
カラムラッチ回路２９は、各ビット線毎に設けられたカラムラッチ２９ａ，２９ｂ，…を備えている。図１に示すカラムラッチ回路２９においては、カラムラッチ２９ａはビット線ＢＬ０に接続され、カラムラッチ２９ｂはビット線ＢＬ１に接続されている。図１には、簡単化するために、２つのカムラッチ２９ａ，２９ｂと、２つのビット線ＢＬ０，ＢＬ１としか図示されていないが、現実のデバイスには、極めて多数のビット線が配置されているので、カラムラッチ回路は、所定のビット線数ごとに多数個設けられている。
【００４２】
一般に、不揮発性半導体記憶装置においては、カラムラッチ回路２９は、書き込みデータのラッチ動作，ラッチデータに基づくプログラム動作，及びプログラム動作後にメモリセルが適正にプログラムされたか否かを判定するベリファイ動作を行なう際に使用される。本実施形態では、カラムラッチ回路２９のプログラムベリファイ動作を利用してセキュリティ保護のための動作を行なう点が１つの特徴である。これらの動作の詳細については後述する。
【００４３】
ＰＡＳＳ出力回路３０は、ベリファイ動作時にカラムラッチ回路２９からの出力信号を受け、全てのメモリセルが適正にプログラムされたと判定された場合にＨレベルのベリファイ判定結果信号ＰＡＳＳを出力する。
【００４４】
カラムゲート３１は、ビット線ＢＬ０，ＢＬ１のうち一つのビット線をセンスアンプ３３に接続する役割を果たす。トランジスタＹＴ０，ＹＴ１の制御ゲートは、それぞれカラムドライバ３２に接続されている。トランジスタＹＴ０は、カラムドライバ３２からの信号ＹＧ０を受けて、ビット線ＢＬ０とセンスアンプ３３とを接続・非接続に切り換える。トランジスタＹＴ１は、カラムドライバ３２からの信号ＹＧ１を受けて、ビット線ＢＬ１とセンスアンプ３３とを接続・非接続に切り換える。
【００４５】
センスアンプ３３は、読み出し動作時にメモリセルに格納されたデータを判定して、その判定結果に応じてハイレベル信号又はロウレベル信号を出力する回路である。
【００４６】
データ入出力バッファ３４は、アドレスとデータとからなるコマンドが入力された時、あるいは書き込みデータが入力された時には、データ入力端子ＤＩから入力されたコマンド、あるいは書き込みデータを内部データバスＤＩＮに出力する。また、読み出し動作時には、センスアンプ３３から出力された読み出しデータが、データ入出力バッファ３４を経てデータ出力端子ＤＯに出力される。ここで、本実施形態では、データ入出力バッファ３４に接続される外部データ端子としては、入力専用の単方向バスであるデータ入力端子ＤＩと、出力専用の単方向バスであるデータ出力端子ＤＯとを設けたが、入出力を兼用した双方向バスを介して１つの外部データ端子を設けてもよい。
【００４７】
レジスタ３５は、前述したオプション領域１２に格納された冗長アドレス情報，電圧トリミング情報，セキュリティ解除コマンド情報，セキュリティ解除コードのメモリセルアドレス情報等の各種情報を格納する領域である。これらの情報に関する信号は、正高電圧発生回路２２，負高電圧発生回路２３，コマンドデコーダ２５，アドレスデコーダ２６等に入力される。レジスタ３５はデータ入出力バッファ３４に接続されており、電源投入時にオプション領域１２に格納された上記各種情報はセンスアンプ３３によって読み出される。この読み出されたデータはデータ入出力バッファ３４を経てレジスタ３５に格納される。なお、以下の説明では、オプション領域１２から読み出されてレジスタ３５に格納される上記各種情報のことを総称してオプションデータと呼ぶことにする。
【００４８】
本実施形態のセキュリティ回路４０は、セキュリティ制御回路４１を有している。セキュリティ制御回路４１は、コマンドデコーダ２５からの信号ＳＣＯＭ（セキュリティ解除コマンド検知信号），及びＰＡＳＳ出力回路３０からのベリファイ判定結果信号ＰＡＳＳをそれぞれ受けて、アドレスデコーダ２６を制御するためのセキュリティ認証ベリファイ信号ＳＰＶと、セキュリティ機能の解除を行なうセキュリティ解除信号ＳＰＡＳＳとをそれぞれ出力する。
【００４９】
セキュリティ解除信号ＳＰＡＳＳは、データ入出力バッファ３４に入力されており、セキュリティ解除信号ＳＰＡＳＳがＬレベルである状態は、セキュリティ機能がオンしている状態であり、メモリセルアレイ１０への外部からのアクセスが不可能な状態である。すなわち、セキュリティ解除信号ＳＰＡＳＳがＬレベルのときは、読み出し動作時に、センスアンプ３３から出力される読み出しデータはデータ出力端子ＤＯに出力されない。このとき、データ出力端子ＤＯには、読み出しデータに関係なく常に全ビットがＨレベルの信号が出力される。
【００５０】
一方、セキュリティ解除信号ＳＰＡＳＳがＨレベルである状態は、セキュリティ機能解除の状態であり、メモリセルアレイ１０への外部からのアクセスが可能な状態である。すなわち、セキュリティ解除信号ＳＰＡＳＳがＨレベルであるときには、読み出し動作時に、センスアンプ３３から出力される読み出しデータはデータ出力端子ＤＯに出力される。
【００５１】
なお、本実施形態では、メモリ容量は１Ｍビット、データバス幅は１６ビットとして説明する。従って、データ入力端子ＤＩとして、ＤＩ［０］〜ＤＩ［１６］という１６個の端子が設けられ、データ出力端子ＤＯとして、ＤＯ［０］〜ＤＯ［１５］という１６個の端子が設けられている。また、ワード数は６５５３６ワードであるため、アドレス端子Ａとして、Ａ［０］〜Ａ［１５］という１６個の端子が設けられている。
【００５２】
−回路動作の概略−
次に、本実施形態に係る不揮発性半導体記憶装置の書き込み動作について説明する。始めに、書き込み動作の理解に必要である，本実施形態の不揮発性半導体記憶装置に使用されるメモリセルの断面構造について説明する。
【００５３】
図２は、本実施形態の不揮発性半導体記憶装置に使用されるメモリセルトランジスタの断面構造を示す断面図である。同図に示すように、半導体基板１０９の表面部に、ディープＮウェル１０８，Ｐウェル１０７が形成され、Ｐウェル１０７内にソース領域１０５とドレイン領域１０６とが形成されている。そして、半導体基板１０９のソース領域１０５とドレイン領域１０６との間に位置する領域（チャネル領域）の上に、トンネル酸化膜１０４と、ポリシリコンからなるフローティングゲート１０３と、ＯＮＯ（Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ　）膜１０２と、ポリシリコンからなるコントロールゲート１０１とが下方から順に設けられている。そして、ソース１０５，ドレイン１０６，Ｐウェル１０７とコントロールゲート１０１との間に高電圧を印加すると、トンネル酸化膜１０４を通過するトンネル電流が発生する現象が生じるので、フローティングゲート１０３への電子の注入とフローティングゲート１０３からの電子の引き抜きとが行なわれる。そして、フローティングゲート１０３における電子の注入状態，引き抜き状態の相違によってメモリセル（トランジスタ）のしきい値電圧が異なることを利用して、データの書き込み，消去が行なわれる。
【００５４】
図３は、本実施形態の不揮発性半導体記憶装置に使用される通常メモリセルのしきい値分布を示す図である。読み出し判定レベル２００よりもしきい値電圧が低い状態（電子引き抜き状態）をデータ０を保持するプログラム状態（しきい値分布２０１）とし、読み出し判定レベル２００よりもしきい値電圧が高い状態（電子注入状態）をデータ１を保持するイレーズ状態（しきい値分布２０２）とする。以下の説明においても、プログラム状態のデータをデータ０、イレーズ状態のデータをデータ１として説明する。
【００５５】
メモリセルをプログラム状態（データ０）にするための動作である書き込み動作は、ソース１０５をオープン状態にし、コントロールゲート１０１に例えば−８Ｖ、ドレイン１０６に例えば５Ｖ、ウェル１０７に例えば接地電圧（０Ｖ）の電圧をそれぞれ印加して、フローティングゲート１０３に蓄積されている電子をドレイン１０６に引き抜くことにより行なわれる。フローティングゲート１０６から電子が引き抜かれているトランジスタのしきい値電圧は、読み出し判定レベル２００よりも低くなるため、データ０が書き込まれたメモリセルにおいては読み出し動作時にセル電流が流れる。
【００５６】
メモリセルをイレーズ状態（データ１）にするための消去動作は、ドレイン１０６をオープン状態にし、コントロールゲート１０１に例えば５Ｖ、ソース１０５とウェル１０７にそれぞれ例えば−８Ｖの電圧を印加して、ソース１０５とウェル１０７とからフローティングゲート１０３に電子を注入することにより行なわれる。フローティングゲート１０６に電子が注入されているトランジスタのしきい値電圧を読み出し判定レベル２００よりも高く設定することによって、読み出し時にセル電流が流れない。
【００５７】
なお、本実施形態のフラッシュメモリにおいては、初期状態では、全てのメモリセルがフローティングゲートに電子が注入された状態であるデータ１保持状態（イレーズ状態）になっている。データ１を保持している１つのメモリセルにデータ０を書き込むことはできるが、データ０を保持している１つのメモリセルにデータ１を書き込むことはできない。データ１の書き込みを行なうには、ワード線，ソース線及びウェル線の電位を制御する必要があるので、データ１の書き込みは、１つのブロック単位での一括消去動作のみによって可能である。
【００５８】
メモリセルのデータが０か１かを判定するための読み出し動作は、コントロールゲート１０１に読み出し電圧を印加し、ソース１０５とウェル１０７に接地電圧（０Ｖ）を、ドレイン１０６に１Ｖ程度の電圧を印加した状態でセル電流が流れるか否かをセンスアンプを使って判定することにより行なわれる。そして、セル電流が流れた場合はプログラム状態（データ０）と判定し、セル電流が流れない場合はイレーズ状態（データ１）と判定して、その判定結果を読み出しデータとして出力する。
【００５９】
次に、本実施形態の不揮発性半導体記憶装置（フラッシュメモリ）の書き込み動作について説明する。
【００６０】
フラッシュメモリの書き込み速度は、μｓｅｃ　オーダーであり、非常に遅い。本実施形態においては、データ入力端子ＤＩは１６ビットのバス幅を有しているため、通常の書き込み方法では１６ビット単位でしか書き込むことができない。そこで、フラッシュメモリではカラムラッチ回路２９を配置し、予め複数の書き込みデータ（データ０又は１）をカラムラッチ回路２９にラッチさせておき、その後、ラッチされているデータを１つのワード線及び各ビット線に接続されるメモリセルに一括して書き込む方法により、実効的な書き込み時間の短縮を実現している。このように、書き込みデータを予めカラムラッチ回路２９にラッチさせる動作をページラッチ動作といい、カラムラッチ回路２９にラッチされたデータに基づいて、一括書き込みを行なう動作をページプログラム動作という。
【００６１】
本実施形態の不揮発性半導体記憶装置では、カラムラッチ回路２９は、１２８ビットのデータラッチ能力を有する，つまり１２８個のカムラッチを備えているとする。データ入力端子ＤＩは１６ビットバス幅を有するため、１サイクルのページラッチ動作で１６ビットの書き込みデータをカラムラッチ回路２９中の１６個のカラムラッチにラッチさせることができ、８サイクルのページラッチ動作を行なうことで、１２８ビットの書き込みデータをカラムラッチ回路２９の全カラムラッチ２９ａ，２９ｂ，…にラッチさせることができる。その際、書き込みデータにはデータ０，１の双方が含まれている。そこで、ページラッチ動作で１２８ビットの書き込みデータをカラムラッチ回路２９のカラムラッチ２９ａ，２９ｂ，…にラッチさせた後に、ページプログラム動作で１２８ビットの一括書き込み動作を行なう。
【００６２】
一括書き込みを行なう際には、書き込み対象となるメモリセル（共通のワード線に接続されるメモリセル）の初期状態を全てデータ１（イレーズ状態）にしておく。そして、あるメモリセルへの書き込みデータがデータ０である場合は、イレーズ状態にある当該メモリセルをプログラム状態にする。あるメモリセルへの書き込みデータがデータ１である場合は、当該メモリセルをイレーズ状態のままにしておく。
【００６３】
次に、ページラッチ動作，ページプログラム動作を用いて行なうフラッシュメモリの書き込み動作シーケンスについて説明する。このページラッチ動作，ページプログラム動作自体は、既存の不揮発性半導体記憶装置と同じであり、周知の技術である。図４は、本実施形態に係る不揮発性半導体記憶装置の書き込み動作を示すフローチャートである。
【００６４】
まず、ステップＳ３００で、フラッシュメモリに電源を投入した後、ステップＳ３０１で、メモリセルアレイ１０内のオプション領域１２に格納されている冗長アドレス情報，電圧トリミング情報等（オプションデータ）がセンスアンプ３３により読み出され、このオプションデータがデータ入出力バッファ３４を介してレジスタ３５に転送されてレジスタに格納される。
【００６５】
次に、ステップＳ３０２で、アドレス端子Ａとデータ入力端子ＤＩとからプログラムコマンドを入力することにより、プログラム動作が開始される。
【００６６】
プログラム動作が開始されると、ステップＳ３０３で、ページラッチ動作により１２８ビットの書き込みデータがカラムラッチ回路２９に格納される。前述したように、このページラッチ動作は８サイクル行なわれる。
【００６７】
１２８ビットのページラッチ動作が終了すると、ステップＳ３０４で、カラムラッチ回路２９に格納された１２８ビットのデータに対するページプログラム動作が行なわれる。
【００６８】
ページプログラム動作が終了した後に、ステップＳ３０５で、プログラム対象となっているメモリセルが所定のしきい値電圧に設定された（つまり所定のしきい値電圧に達しているか）か否かを判定する（プログラムベリファイ動作）。本実施形態においては、プログラムベリファイ動作は、メモリセルトランジスタのフローティングゲートからの電子の引き抜きが十分行なわれた否かを判定する動作であり、具体的には、プログラム状態になるように書き込みが行なわれたメモリセルのしきい値電圧が、プログラムベリファイ判定レベル２０３（図３参照）以下か否かを判定することである。プログラムベリファイ動作は、カラムラッチ回路２９により１２８ビット一括で行なわれる。カラムラッチ回路２９により行なわれるプログラムベリファイ動作の詳細は後述する。
【００６９】
ステップＳ３０５における判定の結果、プログラム対象のメモリセルのうちいずれか１つのメモリセルのしきい値電圧が所定の値に達していない場合には、ステップＳ３０４の動作に戻り、再度ページプログラム動作を行なう。そして、プログラム対象のメモリセルの全てが所定のしきい値電圧に設定されていれば、ステップＳ３０６に進んで、ＰＡＳＳ出力回路３０を介してＨレベルのＰＡＳＳ信号を出力し、これにより、書き込み動作が完了する。
【００７０】
−書き込み動作の詳細−
次に、カラムラッチ回路２９の構成、及びカラムラッチ回路２９を用いた書き込み動作の詳細について説明する。
【００７１】
図５（ａ），（ｂ）は、それぞれ順に、カラムラッチ回路２９及び１つのカラムラッチの構成を示す回路図である。図５（ａ）に示すように、カラムラッチ回路は１６ビットの入力データに対応して１６個の内部データバスＤＩＮ［０］〜ＤＩＮ［１５］と接続されている。１つの内部データバスＤＩＮ［０］を例にとると、内部データバスＤＩＮ［０］は、８個のカラムラッチ２９ａ〜２９ｈに接続されている。１サイクルのページラッチ動作で内部データバスＤＩＮ［０］からのデータはカラムラッチ２９ａ〜２９ｈのいずれか１つのカラムラッチに格納される。格納するカラムラッチの選択は信号ＰＬＧ［０］〜ＰＬＧ［７］により行なわれる。例えば、８サイクルのページラッチ動作において、１サイクル目のページラッチ動作時は信号ＰＬＧ［０］がＨレベルとなり、内部データバスＤＩＮ［０］からの入力データはカラムラッチ２９ａに格納される。引き続きページラッチ動作を行なうことにより、信号ＰＬＧ［１］〜ＰＬＧ［７］が順次Ｈレベルとなり、内部データバスＤＩＮ［０］からの各入力データはカラムラッチ２９ｂ〜２９ｈに順次格納されていく。
【００７２】
図５（ｂ）は、図５（ａ）のカラムラッチ２９ａの具体的な構成を詳しく示す回路図である。ここでは、１つのカラムラッチ２９ａの構成について示しているが、その他のカラムラッチ２９ｂ〜２９ｈ等の構成も同様である。
【００７３】
カラムラッチ２９ａは、ビット線電位検知回路４００と、書き込みデータを格納するラッチ４０３と、ラッチ４０３の論理信号をＶｐｐ電圧に変換するレベルシフト回路４０２と、ビット線ＢＬＯ−レベルシフト回路４０２，ラッチ４０３間を接続状態・非接続状態に切り換えるトランスファゲート４０１と、制御信号ＴＦＧが活性化状態のときにトランスファゲート４０１のＰチャネルトランジスタＭＰＴ０を活性化状態にするインバータＸＩと、ビット線電位検知回路４００の出力を受けてラッチ４０３のラッチデータをリセットするラッチリセット回路４０４と、内部データバスＤＩＮ［０］とラッチ４０３とを接続状態・非接続状態に切り換えるトランジスタＭＮＴ１，ＭＰＴ１とを備えている。
【００７４】
ここで、レベルシフト回路４０２，トランスファゲート４０１のＰチャネル型トランジスタＭＰＴ０，インバータＸＩ，及びビット線電位検知回路４００のＰチャネル型トランジスタＭＰＶ０，ＭＰＶ１には電圧Ｖｐｐの電源が接続されている。
【００７５】
ビット線電位検知回路４００は、２つの入力信号を受けてＮＯＲ演算を行なう機能を有しており、一方の入力部はビット線ＢＬ０に接続され、もう一方の入力部は制御信号ＮＶＲＦに接続されている。そして、制御信号ＮＶＲＦがＬレベルで、且つビット線ＢＬ０の電位がビット線電位検知回路の反転設定値よりも低くなった場合にＨレベルの信号を出力する。
【００７６】
ビット線電位検知回路４００の出力部はラッチリセット回路４０４に接続されており、ビット線電位検知回路４００がＨレベルの信号を出力した場合にラッチリセット回路４０４が活性化状態に設定される。ラッチリセット回路４０４が活性状態に設定されることにより、ラッチ４０３はリセットされ、ラッチ４０３のノードＬＡＴの電位はＨレベルに設定される。
【００７７】
以下、以上のように構成されたカラムラッチ回路２９を用いた書き込み動作について説明する。ここでは、ワード線ＷＬｍ０に接続されたメモリセルにデータを書き込む場合を例にとって説明する。
【００７８】
ページラッチ動作
プログラムコマンドの入力後、ページラッチ動作により書き込みデータをラッチ４０３に格納する。ここで、ページラッチ動作の１サイクル目は信号ＰＬＧ［０］がＨレベルとなり、トランジスタＭＮＴ１，ＭＰＴ１がオンになって内部データバスＤＩＮ［０］からの入力データがカラムラッチ２９ａ内のラッチ４０３に格納される。プログラム状態のデータ（データ０）をラッチしている場合はノードＬＡＴの電位はＬレベルに維持され、イレーズ状態のデータ（データ１）をラッチしている場合はノードＬＡＴの電位はＨレベルに維持される。
【００７９】
ページプログラム動作
８サイクルのページラッチ動作が終了すると、ページプログラム動作が行なわれる。始めに、電圧Ｖｐｐをプログラム電圧（５Ｖ）に設定する。次に、制御信号ＴＦＧ信号を活性化し、ビット線ＢＬ０とレベルシフト回路４０２，ラッチ４０３とを接続状態にする。この動作と同じタイミングで、選択されたメモリセルのワード線ＷＬｍ０の電位を−８Ｖにし、ソース線ＳＬｍ０をオープン状態にし、駆動信号ＢＬＲＳＴを非活性化状態にしてビット線リセット回路２７を非活性化状態にする。
【００８０】
ここで、ラッチ４０３のノードＬＡＴの電位がＬレベル（データ０）であれば、ビット線ＢＬ０（メモリセルのドレイン）には電圧５Ｖが印加され、トンネル酸化膜には電圧１３Ｖが印加されて、トンネル酸化膜にＦＮトンネル電流が流れて書き込み動作が行なわれる。一方、ラッチ４０３のノードＬＡＴの電位がＨレベル（データ１）であれば、ビット線ＢＬ０（メモリセルのドレイン）には接地電圧（０Ｖ）が印加され、トンネル酸化膜に印加される電圧は８Ｖとなり、ＦＮトンネル電流が流れず書き込み動作が行なわれない。
【００８１】
一定期間書き込みパルスが各メモリセルに印加された後、トランスファゲート４０１を非活性化状態にしてビット線ＢＬ０とラッチ４０３、レベルシフト回路４０２とを分離すると同時に、ワード線ＷＬｍ０とソース線ＳＬｍ０を接地電圧に設定し、さらに駆動信号ＢＬＲＳＴを活性化状態にして、ビット線ＢＬ０にチャージされた電荷をディスチャージしてビット線ＢＬ０を接地電圧に設定する。以上の操作でプログラム動作が完了する。
【００８２】
プログラムベリファイ動作
次に、プログラムベリファイ動作を行なう。始めに、電圧Ｖｐｐをベリファイドレイン電圧である電源電圧（ＶＤＤ）に設定する。次に、駆動信号ＢＬＲＳＴを非活性化状態にしてビット線リセット回路２７を非活性化状態にすると共に、トランスファゲート４０１を活性化状態にして、ビット線ＢＬ０とラッチ４０３，レベルシフト回路４０２とを接続状態にする。ここで、ラッチ４０３のノードＬＡＴの電位がＬレベル（データ０）の場合、すなわち、プログラム状態のデータがラッチされているビット線はベリファイドレイン電圧である電源電圧（ＶＤＤ）にプリチャージされる。一方、ラッチ４０３のノードＬＡＴの電位がＨレベル（データ１）である，イレーズ状態のデータがラッチされているビット線は接地電圧に維持される。
【００８３】
次に、プログラム状態のデータがラッチされているビット線へのプリチャージが完了した時点で、トランスファゲート４０１を非活性化状態にすると共に、選択メモリセルのワード線ＷＬｍ０にプログラムベリファイ電圧（１Ｖ）を印加し、ベリファイ動作を開始する。ここで、プログラム状態のデータがラッチされているメモリセルのベリファイ動作に着目すると、当該メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していれば（本実施形態においては、メモリセルトランジスタのフローティングゲートからの電子の引き抜きが十分行なわれて、そのしきい値電圧がプログラムベリファイ判定レベル２０３（図３参照）以下であれば）、メモリセルに電流が流れ、ベリファイドレイン電圧（ＶＤＤ）にプリチャージされていたビット線の電荷はディスチャージされ、ビット線電位は接地電圧に向かって降下していく。一方、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していない場合はメモリセルに電流が流れず、ビット線電位はベリファイドレイン電圧（ＶＤＤ）に維持される。また、イレーズ状態のデータがラッチされたメモリセルのベリファイ動作に着目すると、ビット線電位はベリファイ開始時から常に接地電圧に維持されている。
【００８４】
次に、一定期間経過後、ビット線電位検知回路４００の制御信号ＮＶＲＦをＬレベルに設定して、ビット線電位検知回路４００を活性化状態にする。ここで、プログラム状態のデータがラッチされたメモリセルのベリファイ動作に着目すると、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していれば、ビット線電位はベリファイドレイン電圧（ＶＤＤ）より低下して、ビット線電位検知回路の反転設定値よりも低くなっているので、ビット線電位検知回路４００からＨレベルの信号が出力され、ラッチリセット回路４０４が活性状態になる。これにより、ラッチ回路４０３のノードＬＡＴの電位はＬレベル（データ０）からＨレベル（データ１）に書き換えられる。一方、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していない場合は、ビット線電位がベリファイドレイン電圧（ＶＤＤ）に維持されるので、ビット線電位検知回路４００からＬレベルの信号が出力され、ラッチリセット回路４０４は非活性化状態のままであり、ラッチ回路４０３のノードＬＡＴの電位はページプログラム動作時の状態に保持される。
【００８５】
以上の動作により、メモリセルのしきい値電圧が適正なプログラム状態におけるしきい値電圧に達していれば、プログラムベリファイ動作でノードＬＡＴにラッチされたデータ（電圧値）がＨレベル（データ１）に書き換えられるので、以後のプログラム動作は行なわれない。また、イレーズ状態のデータがラッチされたメモリセルのベリファイ動作に着目すると、ビット線電位は接地電圧に維持されているので、ビット線電位検知回路４００からＨレベルの信号が出力され、ラッチリセット回路４０４が活性化状態に設定される。これにより、ラッチ回路４０３のノードＬＡＴの電位はＨレベル（データ１）に設定されるが、これはベリファイ開始時の状態と変わらない。
【００８６】
以上のようなカラムラッチ回路の構成において、プログラムベリファイ動作後のノードＬＡＴにラッチされたデータ（ラッチデータ）の変化状態をまとめると以下のようになる。
【００８７】
【表１】
2004005941.tif 000003
表１の１段目に示すように、ベリファイ開始時のラッチデータがＬレベル（データ０）の場合で、メモリセルに格納されたデータ（メモリセルデータ）がプログラム状態のデータ（データ０）である場合は、ベリファイ終了後のラッチデータはＬレベル（データ０）からＨレベル（データ１）に反転する。
【００８８】
表１の２段目に示すように、ベリファイ開始時のラッチデータがＬレベル（データ０）でメモリセルデータがイレーズ状態のデータ（データ１）である場合は、ベリファイ終了後のラッチデータはＬレベル（データ０）を維持する。
【００８９】
表１の３段目，４段目に示すように、ベリファイ開始時のラッチデータがＨレベル（データ１）である場合は、メモリセルに格納されたデータの状態に関わらず、ベリファイ終了後のラッチデータはＨレベル（データ１）を維持する。
【００９０】
ここで、表１の３段目に示す，ベリファイ開始時のラッチデータがＨレベル（データ１）でメモリセルデータがプログラム状態のデータ（データ０）である場合は、実際には、ページプログラムが行なわれるメモリセルはページプログラム前に全てイレーズ状態（データ１）にされているので、実際のデータ書き換え時のプログラムベリファイ動作においては起こり得ないケースである。しかし、後述するように、本発明のセキュリティ保護機能にこの動作を利用する場合には、セキュリティ解除コードを格納しているメモリセルの一部は当然プログラム状態（データ０）の場合もあるので、このようなケースが生じる。このとき、書き込みデータとメモリセルデータとが一致していないにも拘わらず、ベリファイ動作の終了後のラッチデータは１である。
【００９１】
プログラムベリファイ動作で全てのラッチデータ（ノードＬＡＴにラッチされたデータ）がＨレベル（データ１）になった場合、すなわち、書き込みデータとメモリセルデータとが一致した場合はＰＡＳＳ出力回路３０からＨレベルのＰＡＳＳ信号が出力され、書き込み動作が終了する。一方、適正なプログラム状態のしきい値電圧値に達していないメモリセルが１ビットでもあると、プログラムベリファイ終了後にラッチデータＬＡＴがＬレベル（データ０）のものが存在するため、ＰＡＳＳ出力回路３０からＬレベルのＰＡＳＳ信号が出力され、ＨレベルのＰＡＳＳ信号が出力されるまで引き続きプログラム動作とベリファイ動作が繰り返し行なわれる。
【００９２】
−機密保護方法−
次に、以上のような周知のプログラムベリファイ動作を利用した，本発明に関する不揮発性半導体記憶装置の機密保護方法（又はセキュリティ解除方法）について詳細に説明する。
【００９３】
本発明における機密保護方法（セキュリティ解除方法）は、不揮発性半導体記憶装置に予め備わっているカラムラッチ回路，ページラッチ動作，及びプログラムベリファイ動作を用いて行なうことを特徴とする。
【００９４】
図６は、第１実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャートである。
【００９５】
始めに、ステップＳ５００で、電源投入動作を行なうと、セキュリティ機能付きの不揮発性半導体記憶装置においては、ステップＳ５０１で、セキュリティ機能が働くので、メモリセルアレイ１０への外部からのアクセスが禁止状態となる。
【００９６】
次に、ステップＳ５０２で、オプション領域１２に格納されている冗長アドレス情報，電圧トリミング情報，セキュリティ解除コマンド情報，セキュリティ解除コードのメモリセルアドレス情報等（オプションデータ）がセンスアンプ３３により読み出されて、データ入出力バッファ３４を介してレジスタ３５に格納される。
【００９７】
次に、ステップＳ５０３で、アドレス端子Ａとデータ入力端子ＤＩからセキュリティ機能を解除するためのセキュリティ解除コマンドを入力する。
【００９８】
次に、ステップＳ５０４で、適正なセキュリティ解除コマンドが入力されたことを検知すると、セキュリティ機能を解除するためのパスワードを入力するステップに移る。入力パスワードはページラッチ動作によりカラムラッチ回路２９に格納される。ページラッチ動作を８サイクル行なうことにより、入力データ端子ＤＩ［０］〜ＤＩ［１５］から１２８ビットのパスワードをカラムラッチ回路２９に格納する。
【００９９】
カラムラッチ回路２９へのパスワード格納が完了すると、ステップＳ５０５で、カラムラッチ回路２９に格納されたパスワードと解除コード格納部１３に格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。以下の説明では、カラムラッチ回路２９に格納されたパスワードとセキュリティ解除コード格納部１３のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作を「セキュリティ認証ベリファイ動作」と呼ぶことにする。
【０１００】
ステップＳ５０５の判定において、セキュリティ認証ベリファイ動作が終了した後にラッチデータＬＡＴが全てＨレベル（データ１）になった場合、すなわち、入力パスワードとセキュリティ解除コードとが一致すると判定された場合には、ＰＡＳＳ出力回路３０からＨレベルのＰＡＳＳ信号が出力され、ステップＳ５０６に進んで、セキュリティ機能が解除される。
【０１０１】
セキュリティ機能が解除された後は、ステップＳ５０７で、メモリセルアレイ１０への外部からのアクセスが可能となり、読み出し，書き込み，消去等の動作が可能となる。
【０１０２】
一方、セキュリティ認証ベリファイ動作の終了後にノードＬＡＴのラッチデータが全てＨレベル（データ１）にならなかった場合、すなわち、入力パスワードとセキュリティ解除コードとが不一致と判定された場合には、ＰＡＳＳ出力回路３０からＬレベルのＰＡＳＳ信号が出力され、ステップＳ０５８に進んで、セキュリティ機能は解除されない。この場合、メモリセルアレイ１０への外部からのアクセスは禁止状態のままである。
【０１０３】
以上のように、セキュリティ機能を解除するためには、セキュリティ解除コマンドを入力し、その後メモリセルに格納されたセキュリティ解除コードと全く同じパスワードを入力しなければならない。
【０１０４】
−タイミングチャート−
図７は、第１実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャートである。
【０１０５】
同図に示すように、時刻Ｔ０においてセキュリティ解除コマンドが入力される。本実施形態では、セキュリティ解除コマンドは３サイクルのコマンド（ＣＡ０〜ＣＡ２、ＣＤ０〜ＣＤ２）であるが、セキュリティ解除コマンドのサイクル数は３サイクルには限られない。コマンドデコーダ２５は、セキュリティ解除コマンドが入力されたことを検知してＨレベルの信号ＳＣＯＭをセキュリティ制御回路４１に出力する。このとき、データ出力端子ＤＯ［０］〜ＤＯ［１５］からは、ＦＦＦｈ（Ｏｕｔｐｕｔ　ｄｉａｂｌｅ　）が出力されており、読み出し不可状態である。
【０１０６】
次に、セキュリティ制御回路４１がＨレベルの信号ＳＣＯＭを受け取った時刻Ｔ１から、セキュリティ機能を解除するためのパスワードを入力するステップに移る。入力パスワードはページラッチ動作によりカラムラッチ回路２９に格納される。ページラッチ動作を８サイクル行なうことで入力データ端子ＤＩ［０］〜ＤＩ［１５］から１２８ビットのパスワード（Ｐ０〜Ｐ７）をカラムラッチ回路２９に格納する。ここで、ページラッチ動作時の入力アドレス端子Ａの設定は任意（Ｄｏｎ’ｔ　Ｃａｒｅ）である。
【０１０７】
次に、カラムラッチ回路２９へのパスワードのページラッチ動作が終了した時刻Ｔ２から、レディー／ビジー信号ＲＹ／ＢＹはＬレベルに遷移してビジー状態となり、カラムラッチ回路２９に格納されたパスワードとセキュリティ解除コード格納部１３のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。ベリファイ動作時、セキュリティ制御回路４１はＨレベルのセキュリティ認証ベリファイ信号ＳＰＶをアドレスデコーダ２６に出力する。ＨレベルのＳＰＶ信号がアドレスデコーダ２６に入力されると、アドレスデコーダ２６はオプション領域１２のセキュリティ解除コード１３が格納されたメモリセルのアドレスを選択するようにデコード信号を発生する。
【０１０８】
次に、時刻Ｔ２ａにおいて、セキュリティ解除コード格納部１３のメモリセルＭＣｏ０１，ＭＣｏ１１に接続されたワード線ＷＬｏ１が選択され、このワード線ＷＬｏ１に正高電圧発生回路２２から出力される出力電圧Ｖｐｖが印加される。これにより、カラムラッチ回路２９に格納されたパスワードとセキュリティ解除コードとのベリファイ動作が行なわれる。
【０１０９】
次に、時刻Ｔ２ｂにおいて、上記ベリファイ動作でパスワードとセキュリティ解除コードとが一致すると判定された場合、すなわち、ベリファイ動作終了後のラッチデータＬＡＴが全てＨレベルとなった場合には、ＰＡＳＳ出力回路３０からＨレベルのＰＡＳＳ信号が出力される。ＨレベルのＰＡＳＳ信号はセキュリティ制御回路４１に入力され、ＨレベルのＰＡＳＳ信号を受けたセキュリティ制御回路４１はＨレベルのセキュリティ解除信号ＳＰＡＳＳを出力する。このＳＰＡＳＳ信号は、データ入出力バッファ３４に入力され、これにより、セキュリティ機能が解除され、メモリセルアレイ１０への外部からのアクセスが可能となる。
【０１１０】
そして、時刻Ｔ２ｃで、ベリファイ動作は終了し、選択ワード線ＷＬｏ１は接地電圧に設定される。
【０１１１】
時刻Ｔ３以降においては、セキュリティ機能が解除されているので、読み出し動作を行なうと、メモリセルのデータＤ０〜Ｄ２がそれぞれデータ出力端子ＤＯ［０］〜ＤＯ［１５］に出力される。
【０１１２】
なお、上記ベリファイ動作時に、パスワードとセキュリティ解除コードとが不一致と判定された場合、すなわち、ベリファイ動作終了後のラッチデータＬＡＴが全てＨレベルでない場合、ＰＡＳＳ出力回路３０からはＬレベルのＰＡＳＳ信号が出力され、セキュリティ制御回路４１はＬレベルのセキュリティ解除信号ＳＰＡＳＳを出力し、セキュリティ機能は解除されない。その場合には、読み出し動作を行っても、メモリセルのデータを読み出すことはできず、データ出力端子ＤＯ［０］〜ＤＯ［１５］からは常にＦＦＦＦｈ（Ｏｕｔｐｕｔ　ｄｉａｂｌｅ　）が出力されるだけである。
【０１１３】
−セキュリティ解除コードとパスワードとの関係−
図８（ａ）〜（ｈ）は、セキュリティ解除コードと各種のパスワードとに対応する，ベリファイ動作前後のラッチデータの変化を示す図である。
【０１１４】
本実施形態のベリファイ動作は前述したように８サイクルのページラッチ動作によってカラムラッチ回路に格納される１２８ビットのラッチデータに対して行なわれるが、ここでは説明を簡単化するため、１ワード分のデータ（１６ビット）におけるラッチデータの変化状態について説明する。メモリセルに格納されているセキュリティ解除コードの値は５５５５ｈとする。
【０１１５】
図８（ａ）に示すように、パスワードとしてセキュリティ解除コードと同じ５５５５ｈを入力した場合、ベリファイ動作後のラッチデータは全てデータ１となるため、ＰＡＳＳ出力回路３０からＨレベルのＰＡＳＳ信号が出力されてセキュリティ機能は解除される。
【０１１６】
ここで、図８（ｂ）に示すように、００５５ｈのパスワードがカラムラッチ回路２９に格納された場合、ベリファイ動作後のラッチデータは、ラッチデータがデータ０で、セキュリティ解除コードがデータ０である１５番目・１３番目・１１番目・９番目・７番目・５番目・３番目・１番目のラッチデータがデータ０からデータ１に反転する。一方、ラッチデータがデータ０で、セキュリティ解除コードがデータ１である１４番目・１２番目・１０番目・８番目のラッチデータはデータ０のままである。従って、全てのラッチデータがデータ１にならないため、ＰＡＳＳ出力回路３０からＬレベルのＰＡＳＳ信号が出力されてセキュリティ機能は解除されない。
【０１１７】
図８（ｃ）に示すように、ＦＦＦＦｈのパスワードがカラムラッチ回路２９に格納された場合、ベリファイ動作後のラッチデータは、全てデータ１のままである。上述のように、ベリファイ開始時のラッチデータがデータ１の場合、メモリセルに格納されたメモリセルデータの状態に関わらず、ベリファイ終了後のラッチデータはデータ１であり変化しないからである。このように、ラッチデータが全てデータ１になるため、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、ＰＡＳＳ出力回路３０からＨレベルのＰＡＳＳ信号が出力されてセキュリティ機能が解除されてしまうこともあり得る。
【０１１８】
図８（ｄ），（ｅ），（ｆ），（ｇ）に示すように、入力ラッチデータがそれぞれ７ＦＦＦｈ，ＦＦ７Ｆｈ，７Ｆ７Ｆｈ，７７７７ｈである場合においても、図８（ｃ）に示す場合と同様に、ベリファイ動作後のラッチデータの全ビットがデータ１となるため、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、ＰＡＳＳ出力回路３０からＨレベルのＰＡＳＳ信号が出力されてセキュリティ機能が解除されてしまうこともあり得る。図８（ｃ）〜（ｇ）及び図８（ｈ）については、後に詳しく説明する。
【０１１９】
このように、基本的には、ベリファイ動作後のラッチデータが全てデータ１の場合、すなわち、入力パスワードとセキュリティ解除コードとが一致する場合に限りセキュリティ機能が解除される。ただし、特殊なパスワードの設定によっては、パスワードとセキュリティ解除コードとが一致しないにも拘わらずセキュリティ機能が解除されてしまうこともあり得るが、あるデータ（図８（ｃ）〜（ｇ）に示すデータ）を有するパスワードを排除する手段を講じることにより、そのような蓋然性は解消しうる。そのための具体的な手段については、後述する別の実施形態で説明する。。
【０１２０】
ここで、上記実施形態におけるセキュリティ解除コマンドはレジスタ３５に格納されたセキュリティ解除コマンド情報により決定されるため、レジスタ３５に格納する値、すなわち、オプション領域１２に予め格納しておくセキュリティ解除コマンド情報を変更することにより随時変更可能である。このような構成にすることで、セキュリティ解除コマンドをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、セキュリティ解除コマンドを公開しない場合は、悪意の第三者がセキュリティ解除コマンドを特定することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【０１２１】
また、セキュリティ認証ベリファイ動作時のベリファイ対象メモリセルのアドレスはレジスタ３５に格納されたセキュリティ解除コードのメモリセルアドレス情報により決定されるため、レジスタ３５に格納する値、すなわち、オプション領域１２に予め格納しておくセキュリティ解除コードのメモリセルアドレス情報を変更することにより随時変更可能である。このような構成にすることで、セキュリティ解除コードが格納されたメモリセルのアドレスをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、セキュリティ解除コードが格納されたメモリセルのアドレスを特定することが困難となる。従って、悪意の第三者がセキュリティ解除コードを解読することが困難となり、セキュリティ保護機能をさらに高めることができる。
【０１２２】
さらに、本実施形態では入力パスワードとセキュリティ解除コードは、フラッシュメモリのページプログラムが行なわれるメモリセルのビット数（カラムラッチ回路２９中のカラムラッチ数）と同じ１２８ビットとして説明してきたが、入力パスワードとセキュリティ解除コードのビット数をフラッシュメモリのカラムラッチ回路２９中のカラムラッチ数とは異ならせることも可能である。例えば、入力パスワードとセキュリティ解除コードを６４ビットとした場合、カラムラッチ回路２９に４サイクルのページラッチ動作で６４ビットのパスワードを格納するようにすればよい。このように、本発明ではセキュリティ解除コードのビット数を可変にすることが可能となり、機器側の要請に応じてセキュリティ保護機能を自由に設定することができる。
【０１２３】
以上のように、本発明は、不揮発性半導体記憶装置に予め備わっている一括書き込み動作を行なうカラムラッチ回路２９を利用してセキュリティ認証動作を行なうため、従来のセキュリティ保護機能付き不揮発性半導体記憶装置のごとく、パスワード格納ラッチ回路，比較回路が不要となり、回路規模を増大させることなくセキュリティ機能を実現することができる。また、書き込みデータをカラムラッチ回路に格納するページラッチ動作と、ラッチデータとメモリセルデータとの一致を確認するベリファイ動作とを利用してセキュリティ認証動作を行なうため、新たな動作モードを備える必要がなく、制御回路の回路規模を増大させることなくセキュリティ機能を実現することができる。さらに、不揮発性半導体記憶装置では一括書き込みビット数（カラムラッチビット数）が多いため、回路規模を増大させることなくセキュリティビット数を増やすことできる。すなわち、セキュリティ保護機能を容易に高めることが可能である。
【０１２４】
また、セキュリティ解除コマンド、セキュリティ解除コードのメモリセルアドレスをレジスタに設定する値により任意に設定・変更することができるため、セキュリティ保護機能をさらに高めることが可能である。
【０１２５】
ここで、セキュリティ解除コマンドではなく、特定アドレス、特定データのいずれか一方、あるいは両方が入力されたことを検知して、セキュリティ機能の解除動作（ラッチ動作，ベリファイ動作）が行なわれるようにしてもよい。この検知動作は、電源投入時に行なわれるようにしてもよいし、リセットモード解除時に行なわれるようにしてもよいし、カラムラッチ回路に書き込みデータを格納するページラッチ動作の開始前に行なわれるようにしてもよい。
【０１２６】
さらに、ユーザ毎，あるいはチップ毎に設定された特定アドレス，特定データの値をレジスタ３５内の特定アドレス・データ情報として格納しておくことで、レジスタ３５に格納する値、すなわち、オプション領域１２に予め格納しておく特定アドレス，データ情報を随時変更可能である。このような構成にすることで、特定アドレス，データをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、悪意の第三者が特定アドレス、特定データを解読することが困難となり、セキュリティ保護機能をさらに高めることができる。
【０１２７】
（第２実施形態）
第１実施形態のベリファイ動作では、例えば、ラッチデータが全てデータ１である場合は、メモリセルに格納されたセキュリティ解除コードのデータに関係なく、ベリファイ動作後のラッチデータが全てデータ１となるため、ベリファイ動作で必ずＨレベルのＰＡＳＳ信号が出力される。従って、カラムラッチ回路に全てデータ１のパスワードを格納すると、セキュリティ解除コードのデータに関係なくセキュリティ機能を解除することができる。そこで、入力ラッチデータが禁止データであることを検知する手段を設ける。ここで、禁止データとは、入力データの全ビットを１又は２以上のグループに分けたときに、１つのグループにおける全ビットがデータ１であるデータをいう。言い換えると、禁止データとは、不正パスワードによる入力データ（ラッチデータ）をいう。そして、この検知手段により、入力データ（ラッチデータ）が禁止データであることを検知した場合は、セキュリティ機能の解除を行なわないようにする。
【０１２８】
−回路構成及び動作−
図９は、第２実施形態に係る不揮発性半導体記憶装置（フラッシュメモリ）の構成を示す回路図である。図９に示す回路において、前述した第１実施形態と同じ構成要素は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図１に示す回路中とは異なる構成要素のみについて説明する。
【０１２９】
図９に示す回路においては、図１に示す第１の実施形態の回路に加えて、禁止データ検知回路４２がセキュリティ回路４０内に設けられている。禁止データ検知回路４２には、内部データバスＤＩＮが接続されており、禁止データ検知回路４２は、ページラッチ動作時に内部データバスＤＩＮを介して入力データ（図９に示す回路においては、カラムラッチにラッチされたデータそのものではないが、便宜上、「ラッチデータ」ともいう）を受け取ったとき、入力データ（ラッチデータ）が禁止データであることを検知すると、Ｈレベルの禁止データ検知信号ＬＤＥＴをセキュリティ制御回路４１に出力する。禁止データ検知回路４２は、前述したように入力されたパスワードのデータ（ラッチデータ）が上記禁止データである場合に、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまうのを防止するために設けられたものであり、入力パスワードのページラッチ動作中に入力データ（ラッチデータ）が上記禁止データであることを検知した場合は、Ｈレベルの禁止データ検知信号ＬＤＥＴをセキュリティ制御回路４１に出力し、セキュリティ機能の解除を行なわないようにする。
【０１３０】
なお、図９に示す回路においては、禁止データ検知回路４２は、データ入出力バッファ３４に対してカラムラッチ回路２９と並列に配置されているが、禁止データ検知回路４２をカラムラッチ回路２９と直列に設けても、本実施形態と同じ効果を得ることができる。例えば、禁止データ検知回路４２を、データ入出力バッファ３４とカラムラッチ回路２９との間、あるいはカラムラッチ回路２９とＰＡＳＳ出力回路３０との間に設けてもよい。
【０１３１】
図１０（ａ）〜（ｄ）は、禁止データ検知回路４２の具体的な構成の各種例を示す図である。禁止データ検知回路４２は、ＮＡＮＤ回路，ＮＯＲ回路，インバータ回路等の演算回路を組み合わせて構成されている。
【０１３２】
禁止データ検知回路４２の構成は、図１０（ａ）に示す例では１６ビット、図１０（ｂ）に示す例では８ビット、図１０（ｃ）に示す例では４ビット、図１０（ｄ）に示す例では２ビット毎に内部データバスＤＩＮ［０］〜［１５］をグループに区分し、このグループ内のいずれか１つのグループにおける全ビットがデータ１であることを検知して、セキュリティ機能の解除を停止させる。
【０１３３】
図１０（ａ）に示す例では、内部データバスＤＩＮ［０］〜［１５］からの入力データ（ラッチデータ）が全てデータ１である場合に、禁止データ検知回路４２からＨレベルの禁止データ検知信号ＬＤＥＴが出力される。
【０１３４】
図１０（ｂ）に示す例では、内部データバスＤＩＮ［０］〜［７］，ＤＩＮ［８］〜［１５］のいずれか１つのグループからの入力データ（ラッチデータ）が全てデータ１である場合に、禁止データ検知回路４２からＨレベルの禁止データ検知信号ＬＤＥＴが出力される。
【０１３５】
図１０（ｃ）に示す例では、内部データバスＤＩＮ［０］〜［３］，ＤＩＮ［４］〜［７］，ＤＩＮ［８］〜［１１］，ＤＩＮ［１２］〜［１５］のいずれか１つのグループからの入力データ（ラッチデータ）が全てデータ１である場合に、禁止データ検知回路４２からＨレベルの禁止データ検知信号ＬＤＥＴが出力される。
【０１３６】
図１０（ｄ）に示す例では、内部データバスＤＩＮ［０］〜［１］，ＤＩＮ［２］〜［３］，ＤＩＮ［４］〜［５］，ＤＩＮ［６］〜［７］，ＤＩＮ［８］〜［９］，ＤＩＮ［１０］〜［１１］，ＤＩＮ［１２］〜［１３］，ＤＩＮ［１４］〜［１５］のいずれか１つのグループからの入力データ（ラッチデータ）が全てデータ１である場合に、禁止データ検知回路４２からＨレベルの禁止データ検知信号ＬＤＥＴが出力される。
【０１３７】
そして、図９に示す回路において、このＨレベルの禁止データ検知信号ＬＤＥＴが禁止データ検知回路４２からセキュリティ制御回路４１に入力されると、セキュリティ機能の解除は行なわれない。
【０１３８】
ここで、ベリファイ動作前後のラッチデータの変化について、図８（ｃ）〜（ｈ）を参照しながら説明する。第１実施形態において説明したように、メモリセルに格納されているセキュリティ解除コードの値は、５５５５ｈとする。
【０１３９】
図８（ｃ）に示すように、ＦＦＦＦｈのパスワードがカラムラッチ回路２９に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ１となるため、第１実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。この場合には　図１０（ａ）に示す禁止データ検知回路を設けることにより、ＦＦＦＦｈのデータ（ラッチデータ）がパスワードとして入力されたことを検知することができる。そして、禁止データ検知回路から出力されるＨレベルの禁止データ検知信号ＬＤＥＴによりセキュリティ機能の解除を禁止することができる。
【０１４０】
図８（ｄ），（ｅ）に示すように、７ＦＦＦｈ又はＦＦ７Ｆｈのパスワードがカラムラッチ回路２９に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ１となるため、第１実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。また、図１０（ａ）に示す禁止データ検知回路を用いたとしても、入力データ（ラッチデータ）が全ビットデータ１ではないため、禁止データとして検知されることはなく、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまう。この場合には　図１０（ｂ）に示す禁止データ検知回路を設けることにより、７ＦＦＦｈ又はＦＦ７Ｆｈのデータ（ラッチデータ）がパスワードとして入力されたことを検知することができる。そして、禁止データ検知回路から出力されるＨレベルの禁止データ検知信号ＬＤＥＴによりセキュリティ機能の解除を禁止することができる。図１０（ｂ）に示す禁止データ検知回路により、２つのラッチデータ（７ＦＦＦｈとＦＦ７Ｆｈ）だけでなく、ＦＦＦＦｈのラッチデータも検知することができるため、セキュリティ機能を解除するパスワード数をさらに制限することができる。
【０１４１】
図８（ｆ）に示すように、７Ｆ７Ｆｈのパスワードがカラムラッチ回路２９に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ１となるため、第１実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。また、図１０（ａ）〜（ｂ）に示す禁止データ検知回路を用いたとしても、禁止データとして検知されることはないので、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまう。この場合には　図１０（ｃ）に示す禁止データ検知回路を設けることにより、７Ｆ７Ｆｈのデータ（ラッチデータ）がパスワードとして入力されたことを検知することができる。そして、禁止データ検知回路から出力されるＨレベルの禁止データ検知信号ＬＤＥＴによりセキュリティ機能の解除を禁止することができる。図１０（ｃ）に示す禁止データ検知回路により、ラッチデータ７Ｆ７Ｆｈだけでなく、ラッチデータＦＦＦＦｈ，７ＦＦＦｈ，ＦＦ７Ｆｈも検知することができるため、セキュリティ機能を解除するパスワード数をさらに制限することができる。
【０１４２】
図８（ｇ）に示すように、７７７７ｈのパスワードがカラムラッチ回路２９に格納された場合、ベリファイ動作後のラッチデータが全ビットデータ１となるため、第１実施形態においては、パスワードとセキュリティ解除コードとが一致しないにも拘わらず、セキュリティ機能が解除される。また、図１０（ａ）〜（ｃ）に示す禁止データ検知回路を用いたとしても、禁止データとして検知されることはないので、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまう。この場合には　図１０（ｄ）に示す禁止データ検知回路を設けることにより、７７７７ｈのデータ（ラッチデータ）がパスワードとして入力されたことを検知することができる。　図１０（ｄ）に示す禁止データ検知回路により、ラッチデータ７７７７だけでなく、ラッチデータＦＦＦＦｈ，７ＦＦＦｈ，ＦＦ７Ｆｈ，７Ｆ７Ｆｈも検知することができるため、セキュリティ機能を解除するパスワード数をさらに制限することができる。
【０１４３】
そして、禁止データ検知回路によって検知する禁止データをセキュリティ解除コード（パスワード）から除外しておくことにより、パスワードを入力したにも拘わらず、セキュリティが解除されないというようなトラブルを回避することができる。
【０１４４】
本実施形態の禁止データ検知回路のうち，特に図１０（ｄ）に示す禁止データ検知回路を設けることにより、セキュリティ解除コードと同一データである５５５５ｈをパスワードとして入力する場合のみセキュリティ機能を解除することが可能となる。すなわち、図８（ｈ）に示すように、入力ラッチデータを点線で示す細かいグループに区分し、このグループ内のいずれか１つのグループの全ビットがデータ１であることを検知しうる構成にすることで、セキュリティ機能を解除するパスワードを大幅に制限することができ、セキュリティ保護機能をさらに高めることが可能となる。
【０１４５】
−機密保護方法−
次に、本実施形態の不揮発性半導体記憶装置（フラッシュメモリ）における，機密保護方法（セキュリティ解除方法）について詳細に説明する。
【０１４６】
図１１は、第２実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャートである。ここで、図１１に示す手順のうちステップＳ６００〜Ｓ６０３及びステップＳ６０６〜Ｓ６０９の処理は、上記第１実施形態の図６におけるステップＳ５００〜Ｓ５０３，Ｓ５０５〜Ｓ５０８の処理と同様であるため説明を省略する。ここでは、ステップＳ６０４〜Ｓ６０５の処理について説明する。
【０１４７】
ステップＳ６０３で、セキュリティ解除コマンドが入力されたことを検知すると、ステップＳ６０４で、セキュリティ機能を解除するためのパスワードを入力する処理（パスワードページラッチ）に移る。入力されたパスワード（入力データ又はラッチデータ）が内部データバスＤＩＮ［０］〜［１５］を介して禁止データ検知回路４２に入力されると、ステップＳ６０４で、禁止データ検知回路４２において入力データ（ラッチデータ）が上記禁止データ（例えばＦＦＦＦｈ，７ＦＦＦｈ，ＦＦ７Ｆｈ，７Ｆ７Ｆｈ，７７７７ｈ）と一致するか否かを判別する。
【０１４８】
そして、ステップＳ６０４の判定の結果、入力されたパスワードが禁止データと一致するＹＥＳの場合は、メモリセルに格納されたセキュリティ解除コードに関係なくセキュリティ機能が解除されてしまうおそれがあるため、ステップＳ６０９に移行して、セキュリティ機能の解除が行なわれないように制御される。
【０１４９】
一方、ステップＳ６０４の判定の結果、入力されたパスワードが禁止データと一致しないＮＯの場合は、ステップＳ６０５に進んで、ページラッチ動作によりカラムラッチ回路２９に入力パスワードを格納する。その場合、一連の入力パスワードチェック動作とパスワードページラッチ動作は８サイクル行なわれ、入力データ端子ＤＩ［０］〜［１５］から１２８ビットのパスワードがカラムラッチ回路２９に格納される。
【０１５０】
そして、８サイクルの入力パスワードチェック動作とパスワードページラッチ動作で、入力パスワードが一度も禁止データと一致しなかった場合にのみ、ステップＳ６０６で、カラムラッチ回路に格納されたパスワードとセキュリティ解除コード格納部１３のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作を行なう。このステップＳ６０６以降の処理は、第１実施形態と同様であるので、その説明を省略する。
【０１５１】
以上のように、本実施形態のセキュリティ保護方法により、禁止データ検知回路４２を利用して、メモリセルに格納されたセキュリティ解除コード以外のパスワードでセキュリティ機能が解除されるのを防止することができるため、セキュリティ保護機能をさらに高めることができる。
【０１５２】
−タイミングチャート−
図１２は、第２実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャートである。ここでは、入力パスワードとして禁止データＦＦＦＦｈを入力した場合を例にとって説明する。
【０１５３】
時刻Ｔ０においてセキュリティ解除コマンドが入力されると、コマンドデコーダ２５によりセキュリティ解除コマンドが入力されたことが検知され、Ｈレベルの信号ＳＣＯＭ（セキュリティ解除コマンド検知信号）がセキュリティ制御回路４１に出力される。
【０１５４】
次に、セキュリティ制御回路４１がＨレベルの信号ＳＣＯＭを受け取った時刻Ｔ１から、セキュリティ機能を解除するためのパスワードが入力される。入力パスワードは、内部データバスＤＩＮ［０］〜［１５］を介して禁止データ検知回路４２に入力され、禁止データ（例えばＦＦＦＦｈ，７ＦＦＦｈ，ＦＦ７Ｆｈ，７Ｆ７Ｆｈ，７７７７ｈ）と一致するか否かがチェックされる。ここで、ページラッチ動作の２サイクル目（時刻Ｔ１ａ）で入力パスワードＰ１としてＦＦＦＦｈ等が入力された場合、この入力パスワードは禁止データ検知回路４２で禁止データと検知され、禁止データ検知回路４２からはＨレベルの禁止データ検知信号ＬＤＥＴが出力される。一方、入力パスワードがどの禁止データとも一致しない場合には、禁止データ検知回路４２からはＬレベルの禁止データ検知信号ＬＤＥＴが出力される。
【０１５５】
このＨレベル又はＬレベルの禁止データ検知信号ＬＤＥＴはセキュリティ制御回路４１に入力される。セキュリティ制御回路４１がＨレベルの禁止データ検知信号ＬＤＥＴを一度受け取ると、たとえ８サイクルのページラッチ動作が終了してもセキュリティ認証ベリファイ信号ＳＰＶがＨレベルにはならない。従って、時刻Ｔ２以降において、入力パスワードとセキュリティ解除コードとのベリファイ動作は開始されない。これにより、セキュリティ機能が解除されることはない。その場合には、時刻Ｔ３以降に読み出し動作を行っても、メモリセルのデータを読み出すことはできず、データ出力端子ＤＯ［０］〜［１５］からは常にＦＦＦＦｈが出力されるだけである。
【０１５６】
以上のように、本実施形態の不揮発性半導体記憶装置（フラッシュメモリ）では、禁止データ検知回路４２が設けられているので、メモリセルに格納されたセキュリティ解除コード以外のパスワードでセキュリティ機能が解除されるのを防止することができる。ここで、禁止データ検知回路４２を、入力データ又はラッチデータの全ビットを１又は２以上のグループに区分し、このグループ内のいずれか１つのグループの全ビットがデータ１であることを検知しうるように構成することにより、セキュリティ機能を解除するパスワードを大幅に制限することができる。従って、セキュリティ保護機能をさらに高めることができる。
【０１５７】
本実施形態では、禁止データが検知されたときは、カラムラッチ回路へのパスワードラッチ動作終了後のベリファイ動作を禁止することにより、外部からメモリセルアレイへのアクセスを不可能にしたが、他の方法を採用することもできる。例えば、禁止データが検知されたときは、カラムラッチ回路へのパスワードラッチ動作を許可しない方法がある。また、禁止データが検知されたときは、カラムラッチ回路へのパスワードラッチ動作，ベリファイ動作を行なった後にパスワードとセキュリティ解除コードとが一致と判定されても、メモリセルへのアクセスを禁止する方法を採用することもできる。
【０１５８】
（第３実施形態）
第１，第２実施形態では、セキュリティ解除コマンドが入力されると、セキュリティ機能を解除するためのパスワードをページラッチ動作により入力し、その後、パスワードとセキュリティ解除コードとの一致を確認するベリファイ動作を行ない、両者が一致した場合にセキュリティ機能を解除することにより、セキュリティ機能を確保していた。ここで、ページラッチ動作時のアドレス入力端子Ａの設定、及びベリファイ動作時のアドレス入力端子Ａ、データ入力端子ＤＩの設定は任意（Ｄｏｎ’ｔ　Ｃａｒｅ）であった。
【０１５９】
ところが、第３実施形態では、ページラッチ動作前に特定アドレスが入力されたこと、且つベリファイ動作前に特定アドレス，特定データが入力されたことを検知する手段を設ける。そして、セキュリティ解除コマンドを入力して、セキュリティ解除コードと同一データのパスワードを入力した（禁止データを入力していない）としても、ページラッチ動作時に特定アドレスを入力し、且つ、ベリファイ動作時に特定アドレス及び特定データを入力しない場合には、セキュリティ機能が解除されないように構成する。
【０１６０】
ここで、ページラッチ動作時に検知する特定アドレスと、ベリファイ動作時に検知する特定アドレス，特定データとをレジスタに格納する値により決定されるように構成することにより、特定アドレス，特定データの値を任意に設定することが可能になるため、セキュリティ保護機能をさらに高めることができる。
【０１６１】
−回路構成及び動作−
図１３は、第３実施形態に係る不揮発性半導体記憶装置（フラッシュメモリ）の構成を示す回路図である。図１３に示す回路において、前述した第２実施形態と同じ構成要素（図９参照）は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図９に示す回路中とは異なる構成要素のみについて説明する。
【０１６２】
図１３に示すように、本実施形態の不揮発性半導体記憶装置には、セキュリティ制御回路４１及び禁止データ検知回路４２に加えて、アドレス・データ検知回路４３が設けられている。アドレス・データ検知回路４３の入力部は、アドレス端子Ａ，内部データバスＤＩＮ及びレジスタ３５の各出力部に接続されている。そして、アドレス端子Ａ，内部データバスＤＩＮ及びレジスタ３５の出力を受けて、ページラッチ動作時に特定アドレスが入力されたことを検知してラッチ動作を許可する場合や、ベリファイ動作時に特定アドレス及び特定データを検知してベリファイ動作を許容する場合には、Ｈレベルのアドレス・データ検知信号ＡＤＤＥＴ（第１及び第２特定データ検知信号）をセキュリティ制御回路４１に出力する。
【０１６３】
ここで、ページラッチ動作時に検知される特定アドレスと、ベリファイ動作時に検知される特定アドレス及び特定データとは、レジスタ３５に格納された特定アドレス・特定データ情報（図示せず）により決定されるように構成されている。禁止データについては、第２実施形態と同様である。従って、レジスタ３５に格納する情報値、すなわち、オプション領域１２に予め格納しておく特定アドレス・特定データ情報を変更することにより、ページラッチ動作時に検知する特定アドレスと、ベリファイ動作時に検知する特定アドレス及び特定データとを随時変更することが可能である。このような構成にすることで、特定アドレス，特定データをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、悪意の第三者が特定アドレス，特定データを解読することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【０１６４】
なお、本実施形態の不揮発性半導体記憶装置は、第２実施形態で説明したような禁止データ検知回路４２をも備えているが、禁止データ検知回路４２を必ずしも備えている必要はない。第１実施形態の回路にアドレス・データ検知回路４３を加えるだけでも、セキュリティ機能の向上を図りうる。
【０１６５】
−機密保護方法−
次に、本実施形態の不揮発性半導体記憶装置（フラッシュメモリ）における機密保護方法（セキュリティ解除方法）について詳細に説明する。
【０１６６】
図１４は、第３実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャートである。ここで、図１４に示す手順のうちステップＳ７００〜Ｓ７０３の処理は、上記第１実施形態の図６におけるステップＳ５００〜Ｓ５０３（第２の実施形態におけるステップＳ６００〜Ｓ６０３）の処理と同様であるため説明を省略する。ここでは、ステップＳ７０４以降の処理について説明する。
【０１６７】
ステップＳ７０３で、セキュリティ解除コマンドが入力されたことを検知すると、ステップＳ７０４で、セキュリティ機能を解除するためのパスワードを入力する処理（パスワードページラッチ）に移る。始めに、アドレス端子Ａから入力されたアドレスはアドレス・データ検知回路４３に入力されると、アドレス・データ検知回路４３において入力アドレスが特定アドレスと一致するか否かを判別する。
【０１６８】
そして、ステップＳ７０４の判別の結果、入力アドレスＡが特定アドレスと一致するＹＥＳの場合は、ステップＳ７０５に進んで、入力パスワードチェック動作を行なう。この入力パスワードチェック動作は、第２実施形態における図１１のステップＳ６０４の処理と同様であるので説明を省略する。
【０１６９】
そして、ステップＳ７０５の判別の結果、入力パスワードチェック動作で入力パスワードが禁止データと一致しないＮＯの場合は、ステップ７０６に進んで、ページラッチ動作によりカラムラッチ回路２９に入力パスワードを格納する。その場合、一連の入力アドレスチェック動作と入力パスワードチェック動作とパスワードページラッチ動作は８サイクル行なわれ、入力データ端子ＤＩ［０］〜［１５］から１２８ビットのパスワードがカラムラッチ回路２９に格納される。
【０１７０】
一方、ステップＳ７０４の判別の結果、入力アドレスが特定アドレスと一致しないＮＯの場合、ステップＳ７０５の判別の結果、入力データが特定データと一致するＹＥＳの場合には、いずれもステップ７１２に移行して、セキュリティ機能を解除しない。
【０１７１】
すなわち、ステップＳ７０４，Ｓ７０５の判別において、８サイクルの入力アドレスチェック動作、入力パスワードチェック動作、及びパスワードページラッチ動作で、入力アドレスが特定アドレスと一致し、且つ入力パスワードが一度も禁止データと一致しない場合にのみ、ステップＳ７０７以下の処理に進んで、カラムラッチ回路に格納されたパスワードとセキュリティ解除コード格納部１３のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。
【０１７２】
ベリファイ動作において、始めに、ステップＳ７０７で、アドレス端子Ａから入力されたアドレスはアドレス・データ検知回路４３に入力されて、アドレス・データ検知回路４３により、入力アドレスが特定アドレスと一致するか否かを判別する。
【０１７３】
そして、ステップＳ７０７の判別の結果、入力アドレスが特定アドレスと一致するＹＥＳの場合は、ステップＳ７０８に進んで、入力データチェック動作を行なう。そして、ステップＳ７０８の判別の結果、データ入力端子ＤＩ［０］〜［１５］からの入力データが特定データと一致するＹＥＳの場合は、ステップＳ７０９に進んで、カラムラッチ回路に格納されたパスワードとセキュリティ解除コード格納部１３のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作を行なう。このステップＳ７０９における判別の結果、ベリファイ動作でパスワードとセキュリティ解除コードとが一致するＹＥＳの場合は、ステップＳ７１０に進んでセキュリティ機能を解除し、さらに、ステップＳ７１１で、メモリセルアレイへの外部からのアクセスが可能となる。
【０１７４】
一方、ステップＳ７０７，Ｓ７０８，Ｓ７０９におけるいずれかの判別結果がＮＯである場合には、ステップＳ７１２に移行して、セキュリティ機能の解除を許容しない。
【０１７５】
以上のように、本実施形態の機密保護方法によると、ページラッチ動作時に特定アドレスを入力し、且つベリファイ動作時に特定アドレス、特定データを入力しないと、最終的にセキュリティ機能が解除されないため、セキュリティ保護機能をさらに高めることができる。
【０１７６】
−タイミングチャート−
図１５は、第３実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャートである。
【０１７７】
時刻Ｔ０においてセキュリティ解除コマンドが入力されると、コマンドデコーダ２５によりセキュリティ解除コマンドが入力されたことが検知され、Ｈレベルの信号ＳＣＯＭ（セキュリティ解除コマンド検知信号）がセキュリティ制御回路４１に出力される。
【０１７８】
次に、セキュリティ制御回路４１がＨレベルの信号ＳＣＯＭを受け取った時刻Ｔ１から、セキュリティ機能を解除するためのパスワードが入力される。アドレス端子Ａからの入力アドレス（ＰＬ−ＡＤＤＲＥＳＳ）は、アドレス・データ検知回路４３に入力され、入力アドレスが特定アドレスと一致するか否かがチェックされる。ここで、入力アドレスが特定アドレスと一致した場合は、アドレス・データ検知回路４３からＨレベルのアドレス・データ検知信号ＡＤＤＥＴが出力され、Ｈレベルのアドレス・データ検知信号ＡＤＤＥＴはセキュリティ制御回路４１に入力される。
【０１７９】
これと同時に、入力パスワードは、内部データバスＤＩＮ［０］〜［１５］を介して禁止データ検知回路４２に入力され、禁止データ（例えばＦＦＦＦｈ，７ＦＦＦｈ，ＦＦ７Ｆｈ，７Ｆ７Ｆｈ，７７７７ｈ）と一致するか否かがチェックされる。ここで、ページラッチ動作で入力パスワードとしてＦＦＦＦｈ等が入力された場合、この入力パスワードは禁止データ検知回路４２で禁止データと検知され、禁止データ検知回路４２からはＨレベルの禁止データ検知信号ＬＤＥＴが出力される。一方、入力パスワードがどの禁止データとも一致しない場合には、禁止データ検知回路４２からはＬレベルの禁止データ検知信号ＬＤＥＴが出力される。
【０１８０】
このＨレベル又はＬレベルの禁止データ検知信号ＬＤＥＴはセキュリティ制御回路４１に入力される。セキュリティ制御回路４１がＨレベルの禁止データ検知信号ＬＤＥＴを一度受け取ると、たとえ８サイクルのページラッチ動作が終了してもセキュリティ認証ベリファイ信号ＳＰＶがＨレベルにはならない。従って、時刻Ｔ２以降において、入力パスワードとセキュリティ解除コードとのベリファイ動作は開始されない。これにより、セキュリティ機能が解除されることはない。その場合には、時刻Ｔ３以降に読み出し動作を行っても、メモリセルのデータを読み出すことはできず、データ出力端子ＤＯ［０］〜［１５］からは常にＦＦＦＦｈが出力されるだけである。
【０１８１】
そして、Ｈレベルのアドレス・データ検知信号ＡＤＤＥＴ、及びＬレベルの禁止データ検知信号ＬＤＥＴがセキュリティ制御回路４１に入力される場合のみ、カラムラッチ回路２９に入力パスワードが格納される。これらの動作は８サイクル行なわれる。
【０１８２】
８サイクルＨレベルのアドレス・データ検知信号ＡＤＤＥＴ、及びＬレベルの禁止データ検知信号ＬＤＥＴがセキュリティ制御回路４１に入力された状態でパスワードページラッチ動作が行なわれると、時刻Ｔ２以降、セキュリティ制御回路４１からＨレベルのＳＰＶ信号が出力され、レディー／ビジー信号ＲＹ／ＢＹはＬレベルになってビジー状態となり、カラムラッチ回路２９に格納されたパスワードとセキュリティ解除コード格納部１３のメモリセルに格納されたセキュリティ解除コードとのベリファイ動作が行なわれる。ベリファイ動作時、入力アドレス（ＰＶ−ＡＤＤＲＥＳＳ）と入力データ（ＰＶ−ＤＡＴＡ）とはアドレス・データ検知回路４３に入力され、特定アドレス，特定データと一致するか否かがチェックされる。ここで、入力アドレス，入力データが特定アドレス，特定データと一致した場合は、アドレス・データ検知回路４３からＨレベルのアドレス・データ検知信号ＡＤＤＥＴが出力される。Ｈレベルのアドレス・データ検知信号ＡＤＤＥＴはセキュリティ制御回路４１に入力され、この状態で第１実施形態において説明したベリファイ動作が行なわれる。このベリファイ動作により、パスワードとセキュリティ解除コードとが一致と判定された場合は、時刻Ｔ２ｂで、ＨレベルのＰＡＳＳ信号が出力され、セキュリティ制御回路４１からＨレベルのＳＰＡＳＳ信号が出力されてセキュリティ機能が解除されるので、時刻Ｔ３以降、メモリセルアレイへの外部からのアクセスが可能となる。
【０１８３】
ここで、ページラッチ動作時に特定アドレスが入力されなかった場合、あるいは、ベリファイ動作時に特定アドレス及び特定データが入力されなかった場合は、Ｌレベルのアドレス・データ検知信号ＡＤＤＥＴが出力され、Ｌレベルのアドレス・データ検知信号ＡＤＤＥＴがセキュリティ制御回路４１に入力されて、セキュリティ機能が解除されない。
【０１８４】
本実施形態の不揮発性半導体記憶装置によると、アドレス・データ検知回路４３を設けることにより、ページラッチ動作時に特定アドレスが入力され、且つベリファイ動作時に特定アドレス及び特定データが入力されないとセキュリティ解除処理が行なわれないため、セキュリティ保護機能をさらに高めることができる。
【０１８５】
さらに、検知する特定アドレス，特定データの値をレジスタ３５に格納される特定アドレス・特定データ情報により決定されるように構成することで、レジスタ３５に格納する情報値、すなわち、オプション領域１２に予め格納される特定アドレス・特定データ情報を変更することにより随時変更することが可能である。そして、このような構成にすることで、特定アドレス，特定データをユーザー毎、あるいはチップ毎に任意に設定・変更することができるため、悪意の第三者が特定アドレス，特定データを解読することが困難となる。従って、セキュリティ保護機能をさらに高めることができる。
【０１８６】
なお、本実施形態では、ページラッチ動作時，ベリファイ動作時に検知するものとして、（１）ページラッチ動作時に検知する特定アドレス、（２）ベリファイ動作時に検知する特定アドレス、（３）ベリファイ動作時に検知する特定データの３つであったが、上記３つを全て検知するのではなく、いずれか１つ、あるいはいずれか２つを検知する構成にしてもよい。
【０１８７】
（第４実施形態）
−回路構成及び動作−
図１６は、第４実施形態に係る不揮発性半導体記憶装置（フラッシュメモリ）の構成を示す回路図である。図１６に示す回路において、前述した第３実施形態と同じ構成要素（図１３参照）は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図１３に示す回路中とは異なる構成要素のみについて説明する。
【０１８８】
図１６に示すように、本実施形態の不揮発性半導体記憶装置には、セキュリティ制御回路４１，禁止データ検知回路４２及びアドレス・データ検知回路４３に加えて、データスクランブル回路４４が設けられている。データスクランブル回路４４は、データ入出力バッファ３４とカラムラッチ回路２９との間に配置され、データ入力端子ＤＩから入力されたデータをスクランブル処理して出力する回路である。ここで、データスクランブル処理とは、入力データの各ビットをランダムに入れ替えて出力する処理のことをいう。データスクランブル回路４４は、セキュリティ制御回路４１から出力されるデータスクランブル信号ＤＳＣＲにより制御される。
【０１８９】
次に、上記データスクランブル処理について説明する。
【０１９０】
セキュリティ解除コマンドを入力して、セキュリティ機能を解除するためのパスワードをページラッチ動作により入力する際には、セキュリティ制御回路４１からＨレベルのデータスクランブル信号ＤＳＣＲが出力される。データスクランブル回路４４は、Ｈレベルのデータスクランブル信号ＤＳＣＲを受け取ると、データ入力端子ＤＩから入力されたデータをスクランブル処理してカラムラッチ回路２９に出力する。ここで、データスクランブル処理は、セキュリティ解除コマンドを入力して、セキュリティ機能を解除するためのパスワードを入力したときしか行なわれず、通常の書き込み時におけるページラッチ動作時にはデータスクランブル処理は行なわれない。
【０１９１】
パスワードがカラムラッチ回路２９に格納された後、パスワードとセキュリティ解除コードとのベリファイ動作が行なわれるが、このベリファイ動作で両者が一致すると判定されてセキュリティ機能を解除するためには、上記スクランブル処理方法を予め知っておく必要がある。すなわち、データスクランブル方法を把握した上でパスワードを入力しなければ、ベリファイ動作で両者が一致することを判定してセキュリティ機能を解除することはできない。
【０１９２】
本実施形態の不揮発性半導体記憶装置によると、万一、悪意の第三者がセキュリティ解除コードを何らかの手段で解読して、その解読データをパスワードとして入力しても、入力パスワードはデータスクランブル回路４４でスクランブル処理されてカラムラッチ回路２９に格納されるため、セキュリティ機能を解除することができない。
【０１９３】
以上のように、本実施形態により、データスクランブル回路４４を付加することによりセキュリティ保護機能をさらに高めることができる。
【０１９４】
なお、本実施形態においては、禁止データ検知回路４２，アドレス・データ検知回路４３に加えて、データスクランブル回路４４を設けたが、禁止データ検知回路４２，アドレス・データ検知回路４３は必ずしも必要ではなく、図１に示す回路にデータスクランブル回路４４を設けてもよい。
【０１９５】
（第５実施形態）
−回路構成及び動作−
図１７は、第５実施形態に係る不揮発性半導体記憶装置（フラッシュメモリ）の構成を示す回路図である。図１７に示す回路において、前述した第４実施形態と同じ構成要素（図１６参照）は同じ符号で示し、その構成要素の説明は省略する。本実施形態の説明においては、図１６に示す回路中とは異なる構成要素のみについて説明する。
【０１９６】
図１７に示すように、本実施形態の不揮発性半導体記憶装置には、第３実施形態と同様に、セキュリティ制御回路４１，禁止データ検知回路４２，アドレス・データ検知回路４３，データスクランブル回路４４が設けられている。さらに、本実施形態の不揮発性半導体記憶装置は、カラムラッチ回路２９に格納されたラッチデータを一定条件下でリセットする機能をセキュリティ制御回路４１にもたせている。セキュリティ制御回路４１から、ラッチリセット信号ＬＲＳＴがカラムラッチ回路２９に出力されると、カラムラッチ回路２９のラッチデータはＨレベルのラッチリセット信号ＬＲＳＴによりリセットされる。
【０１９７】
次に、ラッチデータリセット手段について説明する。カラムラッチ回路２９に格納されたラッチデータは、探針を立てるという方法（チッププローブ法）等を利用して第三者に取り出されるおそれがある。本実施形態においては、ベリファイ動作後のラッチデータを取得することが可能であり、この得られたデータに基づいてベリファイ動作の演算処理方法の予測、及びセキュリティ解除コードの予測が可能となる。本実施形態のラッチデータリセット手段は、上記のような事態を防止することを目的とするものであり、以下のような処理を行なう。
【０１９８】
ベリファイ動作においてパスワードとセキュリティ解除コードとが不一致と判定され、ＰＡＳＳ出力回路３０よりＬレベルのＰＡＳＳ信号が出力されると、セキュリティ制御回路４１からＨレベルのラッチリセット信号ＬＲＳＴが出力されて、カラムラッチ回路２９に入力される。そのとき、カラムラッチ回路２９は、Ｈレベルのラッチリセット信号ＬＲＳＴを受けて、カラムラッチ回路２９の全てのラッチデータをリセットする。その後、セキュリティ機能が解除されることはない。
【０１９９】
本実施形態の不揮発性半導体記憶装置においては、ベリファイ動作の際に、パスワードとセキュリティ解除コードとが不一致と判定された場合は、カラムラッチ回路のラッチデータをリセットする機能を備えることで、外部から適当なパスワードをカラムラッチ回路に入力し、ベリファイ動作後のラッチデータを得たとしても、リセットされたラッチデータを得るだけである。すなわち、ベリファイ動作でセキュリティ認証作業に失敗した場合のラッチデータの値はリセットされたデータでしかない。従って、悪意の第三者がセキュリティ解除コードを解読することが困難となり、セキュリティ保護機能をさらに高めることができる。
【０２００】
（第６実施形態）
次に、第６実施形態について図面を参照しながら説明する。本実施形態において、セキュリティ解除動作は、前述した第１〜第５実施形態で説明した構成・手順と同一であるが、本実施形態では、セキュリティ認証ベリファイ判定レベルに特徴を有している。
【０２０１】
図１８は、第６実施形態に係る不揮発性半導体記憶装置（フラッシュメモリ）に使用されるメモリセルのしきい値電圧の分布を示す図である。図３についての説明において述べたように、不揮発性半導体記憶装置の各メモリセルにおいて、メモリセルトランジスタのフローティングゲートに電子が注入されたイレーズ状態（通常イレーズしきい値分布２０２）においては、フローティングゲートから電子が引き抜かれたプログラム状態（通常プログラムしきい値分布２０１）よりもしきい値電圧が高い。したがって、両しきい値分布２０１，２０２の中間レベルの読み出し判定レベル２００を用いて、メモリセルに格納されているデータが０か１かを判定している。さらに、ベリファイ動作においては、読み出し判定レベル２００とプログラム状態のしきい値分布２０１との間に通常ベリファイ判定レベル２０３を設定することにより、不十分な電子の引き抜きに起因する誤読み出しを防止することができる。
【０２０２】
ここで、本実施形態では、セキュリティ認証ベリファイ動作におけるしきい値電圧レベルを判定するために、セキュリティ認証のための認証ベリファイ判定レベル２０４を通常ベリファイ判定レベル２０３よりもイレーズ状態側にシフトさせていること、言い換えると、認証ベリファイ判定レベル２０４の位置が特徴である。これによって、以下に示すような効果が得られる。
【０２０３】
メモリセルのしきい値分布は、時間の経過と共にプログラム状態側、あるいはイレーズ状態側にシフトする。例えば、プログラム状態のメモリセルのしきい値電圧は時間の経過と共にイレーズ状態側のしきい値電圧にシフトする。この原因は以下に示す通りである。
【０２０４】
読み出し動作時には、コントロールゲートに正の昇圧電圧（３．６Ｖ程度）、ソースに接地電圧、ドレインに１Ｖ程度の電圧がそれぞれ印加される。この場合、読み出しメモリセル、及び読み出しメモリセルのコントロールゲートが共通に接続された他のメモリセルに正の昇圧電圧（３．６Ｖ程度）が印加されるためストレスを受ける（リードゲートディスターブ）。このストレス電圧により読み出し動作中に電子がフローティングゲートに注入され、十分な書き込み状態から軽い書き込み状態に移行して、結果的にしきい値電圧が上昇することになる。従って、読み出し動作を長期間行なうにつれて、プログラム状態のメモリセルのしきい値電圧が上昇し、イレーズ状態側のしきい値電圧にシフトすることになる。書き込み動作時の通常ベリファイ動作はプログラム動作直後に行われるが、セキュリティ認証動作ベリファイ動作はプログラム動作直後ではなく、プログラム動作終了後十分時間が経過した後に行われる場合もあるので、セキュリティ認証ベリファイ動作が行われる解除コード格納メモリセルのしきい値電圧はイレーズ状態のしきい値電圧にシフトしている確率が高い。
【０２０５】
以上のように、セキュリティ解除コード格納部１３のメモリセルのしきい値分布が通常イレーズしきい値分布２０２の方向にシフトした状態において、仮に通常ベリファイ判定レベル２０３を用いてセキュリティ認証ベリファイ動作を行なうと、通常ベリファイ判定レベル２０３を超えたしきい値電圧を有するメモリセルが存在している可能性があるため、誤った判定処理を行なうおそれがある。このような誤判定はセキュリティの信頼性にとって好ましいものではない。
【０２０６】
そこで、本実施形態では、しきい値分布のシフトを考慮して、セキュリティ認証ベリファイ判定レベル２０４を通常ベリファイ判定レベル２０３よりもイレーズ状態側にシフトさせている。従って、セキュリティ認証ベリファイ動作での誤判定の発生を抑制することができ、セキュリティ認証動作の正確性を向上させることができる。
【０２０７】
（第７実施形態）
次に、第７実施形態について図面を参照しながら説明する。本実施形態において、セキュリティ解除動作は、前述した第１〜第５実施形態で説明した構成・手順と同一であるが、本実施形態では、セキュリティ解除コードを格納するメモリセルのしきい値分布、及びセキュリティ認証ベリファイ判定レベルに特徴を有する。
【０２０８】
図１９は、第７実施形態に係る不揮発性半導体記憶装置（フラッシュメモリ）に使用されるメモリセルのしきい値分布を示す図である。同図において、通常メモリセルのプログラム状態におけるしきい値分布の図示は省略されているが、図１８に示す通りである。セキュリティ解除コード格納部１３中のプログラム状態にあるメモリセルのコード格納部プログラムしきい値分布２０５と、セキュリティ解除コード格納部１３中のイレーズ状態にあるメモリセルのコード格納部イレーズしきい値分布２０６とは、共に読み出し判定レベル２００以下に，つまり通常プログラムしきい値分布２０１（図３，図１８参照）と同じ側に分布していることが特徴である。そして、セキュリティ解除コード格納部１３中のメモリセルのコード格納部プログラムしきい値分布２０５は、コード格納部イレーズしきい値分布２０６よりもしきい値電圧が低い側にある。
【０２０９】
このようなコード格納部プログラムしきい値分布２０５及びコード格納部イレーズしきい値分布２０６を有するように、セキュリティ解除コード格納部１３のメモリセルにデータを格納するには、以下のようにする。
【０２１０】
セキュリティ解除コード格納部１３中のメモリセル（解除コード格納メモリセル）にセキュリティ解除コードを書き込む動作において、解除コード格納メモリセルをプログラム状態にする際は、ベリファイ動作時の判定しきい値電圧レベルをプログラムベリファイ判定レベル２０７で行なうことで書き込み、一方、イレーズ状態にする際には、ベリファイ動作時の判定しきい値電圧レベルをイレーズベリファイ判定レベル２０８で行なうことで実現できる。以上の書き込み動作により、プログラム状態にある解除コード格納メモリセルと、イレーズ状態にある解除コード格納メモリセルとのしきい値分布を共にプログラム状態側に設定する。
【０２１１】
上記しきい値分布をもつセキュリティ解除コードを対象とするセキュリティ認証ベリファイ動作の判定しきい値電圧（認証ベリファイ判定レベル２０９）は、セキュリティ解除コードのプログラム状態しきい値分布２０５とイレーズ状態しきい値分布２０６の間の値になるように設定されている。具体的には、セキュリティ認証ベリファイ動作時に、判定しきい値電圧レベルが認証ベリファイ判定レベル２０９になるように、正高電圧発生回路２２から所定の電圧がワード線ドライバ２０に供給され、セキュリティ解除コード格納部１３のメモリセルのワード線ＷＬｏ１に印加される。
【０２１２】
以上のように、解除コード格納メモリセルのプログラム状態、イレーズ状態のしきい値電圧を共にプログラム状態のしきい値電圧に設定することで、悪意の第三者がセキュリティ解除コードを何らかの手段で解読したとしても、解除コード格納メモリセルに格納されているセキュリティ解除コードは、全て通常メモリセルのプログラム状態のデータであるため、解読されたデータは全てプログラム状態のデータとなる。従って、セキュリティ解除コードの解読が困難になり、セキュリティ保護機能をさらに高めることができる。
【０２１３】
ここで、本実施形態では、解除コード格納メモリセルのしきい値電圧をプログラム状態、イレーズ状態共に、通常メモリセルのプログラム状態側に設定したが、共に通常メモリセルのイレーズ状態側に設定してもよい。
【０２１４】
以上、本発明の実施形態として、第１〜第７実施形態について説明した。本発明の不揮発性半導体記憶装置はマイクロコンピュータ、ＩＣカード等の集積回路（ＬＳＩ）に内蔵して用いることができる。このため、マイクロコンピュータを動作させるプログラムや個人情報等の機密保護に対して有効である。
【０２１５】
また、本発明の不揮発性半導体記憶装置は電子機器に搭載して使用することができる。電子機器の例としては、ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ），ＤＶＣ（Ｄｉｇｉｔａｌ　Ｖｉｄｅｏ　Ｃａｍｅｒａ），ＰＤＡ（Ｐｅｒｓｏｎａｌ　Ｄｉｇｉｔａｌ　Ａｓｓｉｓｔａｎｔ），携帯電話（移動体通信）、パーソナルコンピュータ（ノート型、デスクトップ型）等が考えられる。
【０２１６】
さらに、本発明の機密保護方法は、記憶装置からＣＰＵ（Ｃｅｎｔｒａｌ　ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ：中央演算処理装置）へと読み込まれて、このＣＰＵからプログラム処理を行なう構成にすることもできる。この場合、上記機密保護方法はプログラム処理の形態としても有効となる。
【０２１７】
以上のように、本発明の不揮発性半導体記憶装置及びその機密保護方法は、回路規模の大きなセキュリティ回路を新たに設置する必要がないため、小面積・低コストでセキュリティ機能を備えた不揮発性半導体記憶装置を実現することができる。従って、集積回路（ＬＳＩ）、電子機器の小型化・低コスト化に対して極めて有効である。
【０２１８】
最後に、本発明の不揮発性半導体記憶装置及びその機密保護方法は、上述の例示にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更等を加えたものに対しても有効である。例えば、本実施形態ではＮＯＲ型フラッシュメモリを例に説明してきたが、ＤＩＮＯＲ型、ＮＡＮＤ型、ＡＮＤ型のフラッシュメモリに対しても適用可能である。また、本実施形態ではフラッシュメモリを例に説明してきたが、他の不揮発性半導体記憶装置（ＥＥＰＲＯＭ，ＦｅＲＡＭ等）に対しても適用可能である。また、本実施形態では図１に示す構成のメモリ回路を例に説明してきたが、その他の構成のメモリ回路に対しても適用可能である。さらに、本実施形態では図５に示す構成のカラムラッチ回路を例に説明してきたが、ページラッチ動作、プログラム動作、ベリファイ動作を行なうその他の構成のカラムラッチ回路に対しても適用可能である。
【図面の簡単な説明】
【図１】第１実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図２】第１実施形態の不揮発性半導体記憶装置に使用されるメモリセルトランジスタの断面構造を示す断面図である。
【図３】第１実施形態の不揮発性半導体記憶装置に使用される通常メモリセルのしきい値分布を示す図である。
【図４】第１実施形態に係る不揮発性半導体記憶装置の書き込み動作を示すフローチャート図である。
【図５】（ａ），（ｂ）は、それぞれ順に、カラムラッチ回路及び１つのカラムラッチの構成を示す回路図である。
【図６】第１実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャート図である。
【図７】第１実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャート図である。
【図８】（ａ）〜（ｈ）は、セキュリティ解除コードと各種のパスワードとに対応する，ベリファイ動作前後のラッチデータの変化を示す図である。
【図９】第２実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図１０】（ａ）〜（ｄ）は、禁止データ検知回路の具体的な構成の各種例を示す図である。
【図１１】第２実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャート図である。
【図１２】第２実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャート図である。
【図１３】第３実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図１４】第３実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すフローチャート図である。
【図１５】第３実施形態に係る不揮発性半導体記憶装置のセキュリティ解除方法の手順を示すタイミングチャート図である。
【図１６】第４実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図１７】第５実施形態に係る不揮発性半導体記憶装置の構成を示す回路図である。
【図１８】第６実施形態に係る不揮発性半導体記憶装置に使用されるメモリセルのしきい値電圧の分布を示す図である。
【図１９】第７実施形態に係る不揮発性半導体記憶装置に使用されるメモリセルのしきい値分布を示す図である。
【図２０】従来の不揮発性半導体記憶装置の構成を示す回路図である。
【図２１】従来の不揮発性半導体記憶装置のセキュリティ解除方法を示すフローチャート図である。
【符号の説明】
１０　　メモリセルアレイ
１１　　メイン領域
１２　　オプション領域
１３　　セキュリティ解除コード格納部
２０　　ワード線ドライバ
２１　　ソース線／ウェル線ドライバ
２２　　正高電圧発生回路
２３　　負高電圧発生回路
２４　　制御回路
２５　　コマンドデコーダ
２６　　アドレスデコーダ
２７　　ビット線リセット回路
２８　　ビット線リセットドライバ
２９　　カラムラッチ回路
３０　　ＰＡＳＳ出力回路
３１　　カラムゲート
３２　　カラムドライバ
３３　　センスアンプ
３４　　データ入出力バッファ
３５　　レジスタ
４０　　セキュリティ回路
４１　　セキュリティ制御回路
４２　　禁止データ検知回路
４３　　アドレス・データ検知回路
４４　　データスクランブル回路
１０１　コントロールゲート
１０２　絶縁膜（ＯＮＯ膜）
１０３　フローティングゲート
１０４　トンネル酸化膜
１０５　ソース領域
１０６　ドレイン領域
１０７　Ｐウェル
１０８　ディープＮウェル
１０９　半導体基板
２００　読み出し判定レベル
２０１　通常プログラムしきい値分布
２０２　通常イレーズしきい値分布
２０３　通常ベリファイ判定レベル
２０４　認証ベリファイ判定レベル
２０５　コード格納部プログラムしきい値分布
２０６　コード格納部イレーズしきい値分布
２０７　プログラムベリファイ判定レベル
２０８　イレーズベリファイ判定レベル
２０９　認証ベリファイ判定レベル
４００　ビット線電位検知回路
４０１　トランスファゲート
４０２　レベルシフト回路
４０３　ラッチ
４０４　ラッチリセット回路
ＭＣｍ００〜ＭＣｍ１３、ＭＣｏ００〜ＭＣｏ１１　メモリセル
ＷＬｍ０〜ＷＬｍ３、ＷＬｏ０、ＷＬｏ１　ワード線
ＳＬｍ０、ＳＬｍ１、ＳＬｏ０　ソース線
ＰＷｍ０、ＰＷｍ１、ＰＷｏ０　ウェル線
／ＣＥ　チップイネーブル信号
／ＯＥ　出力イネーブル信号
／ＷＥ　書き込みイネーブル信号
ＲＹ／ＢＹ　レディー／ビジー信号
Ａ　　　アドレス端子
ＤＩ　　データ入力端子
ＤＯ　　データ出力端子
ＳＣＯＭ　　セキュリティ解除コマンド検知信号
ＳＰＶ　　　セキュリティ認証ベリファイ信号
ＰＡＳＳ　　ベリファイ判定結果信号
ＳＰＡＳＳ　セキュリティ解除信号
ＬＤＥＴ　　禁止データ検知信号
ＡＤＤＥＴ　アドレス・データ検知信号
ＤＳＣＲ　　データスクランブル信号
ＬＲＳＴ　　ラッチリセット信号
【図１】
2004005941.tif 000004
【図２】
2004005941.tif 000005
【図３】
2004005941.tif 000006
【図４】
2004005941.tif 000007
【図５】
2004005941.tif 000008
【図６】
2004005941.tif 000009
【図７】
2004005941.tif 000010
【図８】
2004005941.tif 000011
【図９】
2004005941.tif 000012
【図１０】
2004005941.tif 000013
【図１１】
2004005941.tif 000014
【図１２】
2004005941.tif 000015
【図１３】
2004005941.tif 000016
【図１４】
2004005941.tif 000017
【図１５】
2004005941.tif 000018
【図１６】
2004005941.tif 000019
【図１７】
2004005941.tif 000020
【図１８】
2004005941.tif 000021
【図１９】
2004005941.tif 000022
【図２０】
2004005941.tif 000023
【図２１】
2004005941.tif 000024