(57)【特許請求の範囲】
【請求項１】
電気的に書き換えが可能な複数の不揮発性メモリセルを含むメモリセルアレイと、前記メモリセルアレイに保持されたデータを外部に出力するための出力手段と、前記出力手段の出力を禁止又は許可することにより前記メモリセルアレイに保持されたデータの外部への出力を制御する出力制御手段とを備えた半導体装置の駆動方法であって、
前記メモリセルアレイに電源が供給された場合に、前記出力制御手段が前記出力手段の出力を禁止することにより、前記メモリセルアレイに保持されたデータが外部に出力されないようにする工程と、
前記メモリセルアレイに対して所定の動作手順が行われた場合に、前記出力制御手段が前記出力手段の出力を許可することにより、前記メモリセルアレイに保持されたデータが外部に出力されるようにする工程とを備え、
前記所定の動作手順は、前記メモリセルアレイに含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、前記第１の手順よりも後に前記メモリセルアレイに含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、前記第２の手順よりも後に前記メモリセルアレイに含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含むことを特徴とする半導体装置の駆動方法。
【請求項２】
電気的に書き換えが可能な複数の不揮発性メモリセルを含み、一括して消去される複数の消去単位に区画されたメモリセルアレイと、前記メモリセルアレイに保持されたデータを外部に出力するための出力手段と、前記出力手段の出力を禁止又は許可することにより前記メモリセルアレイに保持されたデータの外部への出力を前記消去単位ごとに制御する出力制御手段とを備えた半導体装置の駆動方法であって、
前記メモリセルアレイに電源供給が開始された際に、前記出力制御手段が前記出力手段の出力を禁止することにより、前記複数の消去単位のうち特定の消去単位に保持されたデータが外部に出力されないようにする工程と、
前記メモリセルアレイにおいて、前記特定の消去単位に対して所定の動作手順が行われた場合に、前記出力制御手段が前記出力手段の出力を許可することにより、前記特定の消去単位に保持されたデータが外部に出力されるようにする工程とを備え、
前記所定の動作手順は、前記特定の消去単位に含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、前記第１の手順よりも後に前記特定の消去単位に含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、前記第２の手順よりも後に前記特定の消去単位に含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含むことを特徴とする半導体装置の駆動方法。
【請求項３】
前記所定の動作手順は、前記第１の手順よりも前に前記メモリセルアレイに書き込まれたデータを消去する第４の手順をさらに含むことを特徴とする請求項１又は２に記載の半導体装置の駆動方法。
【請求項４】
前記第２の手順と前記第３の手順とを所定数のメモリセルごとに順次繰り返して行うことを特徴とする請求項１から３のいずれか１項に記載の半導体装置の駆動方法。
【請求項５】
前記所定の動作手順は、前記第４の手順よりも前に、前記メモリセルアレイに含まれる複数の不揮発性メモリセルのすべてに対して書き込み動作を行う第５の手順をさらに含むことを特徴とする請求項３に記載の半導体装置の駆動方法。
【請求項６】
前記所定の動作手順は、前記第３の手順の後に、前記メモリセルアレイにおいて異常なしきい値電圧を示す不揮発性メモリセルに対して正常なしきい値に戻す動作を行う第６の手順をさらに含むことを特徴とする請求項１から５のいずれか１項に記載の半導体装置の駆動方法。
【請求項７】
電気的に書き換えが可能な複数の不揮発性メモリセルを含むメモリセルアレイと、
前記メモリセルアレイに保持されたデータを外部に出力するための出力手段と、
前記出力手段の出力を禁止又は許可することにより前記メモリセルアレイに保持されたデータの外部への出力を制御する出力制御手段と、
前記メモリセルアレイに対する動作が所定の動作手順の通りに行われたか否かを検知する動作手順検知手段とを備え、
前記所定の動作手順は、前記メモリセルアレイに含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、前記第１の手順よりも後に前記メモリセルアレイに含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、前記第２の手順よりも後に前記メモリセルアレイに含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含み、
前記出力制御手段は、前記メモリセルアレイに対して電源供給が開始された際に、前記出力手段の出力を禁止することにより前記メモリセルアレイに保持されたデータを外部に出力させない一方、前記動作手順検知手段の検知結果に基づいて前記出力手段の出力を許可することにより前記メモリセルアレイに保持されたデータを外部に出力させることを特徴とする半導体装置。
【請求項８】
前記メモリセルアレイに対して電源供給が開始された際に、前記所定の動作手順が検知されていない意味を示す値が保持され、前記動作手順検知手段が前記所定の動作手順を検知した場合に前記所定の動作手順の検知を意味する値が設定される揮発性のレジスタをさらに備え、
前記出力制御手段は、前記レジスタの保持している値に基づいて前記出力手段の出力を禁止又は許可することを特徴とする請求項７に記載の半導体装置。
【請求項９】
前記メモリセルアレイに対して電源供給が開始された際にリセットされ、前記動作手順検知手段が前記所定の動作手順を検知した場合にセットされる揮発性のレジスタをさらに備え、
前記出力制御手段は、前記レジスタがリセットされている場合に前記出力手段の出力を禁止し、前記レジスタがセットされている場合に前記出力手段の出力を許可することを特徴とする請求項７に記載の半導体装置。
【請求項１０】
電気的に書き換えが可能な複数の不揮発性メモリセルを含み、一括して消去される複数の消去単位に区画されたメモリセルアレイと、
前記メモリセルアレイに保持されたデータを外部に出力するための出力手段と、
前記出力手段の出力を禁止又は許可することにより前記メモリセルアレイに保持されたデータの外部への出力を前記消去単位ごとに制御する出力制御手段と、
前記メモリセルアレイにおいて、前記複数の消去単位の各々に対して所定の動作手順が行われたか否かを検知する動作手順検知手段と、
前記複数の消去単位とそれぞれ１対１に対応して設けられ、前記メモリセルアレイに電源供給がされた際にそれぞれがリセット状態に設定され、前記動作手順検知手段により前記所定の動作手順の実行が検知された消去単位に対応するものはセット状態に設定される複数の揮発性レジスタを含むレジスタ部とを備え、
前記所定の動作手順は、前記複数の消去単位のうち特定の消去単位に含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、前記第１の手順よりも後に前記特定の消去単位に含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、前記第２の手順よりも後に前記特定の消去単位に含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含み、
前記出力制御手段は、前記複数のレジスタのうち前記特定の消去単位に対応するレジスタがリセット状態の場合に前記出力手段の出力を禁止することにより前記特定の消去単位に保持されたデータを外部に出力させない一方、前記特定の消去単位に対応するレジスタがセット状態の場合に前記出力手段の出力を許可することにより前記特定の消去単位に保持されたデータを外部に出力させることを特徴とする半導体装置。
【請求項１１】
前記メモリセルアレイに対する動作が前記所定の動作手順通りでないことを異常イベントとして検知する異常動作検知手段をさらに備え、
前記出力制御手段は、前記異常動作検知手段が前記異常イベントを検知した場合には前記メモリセルアレイに電源が供給されている間は、前記出力手段の出力を禁止したままにすることを特徴とする請求項７から１０のいずれか１項に記載の半導体装置。
【請求項１２】
前記メモリセルアレイに対する動作に用いられる電圧が所定の電圧で無いことを異常イベントとして検知する異常動作検知手段をさらに備え、
前記出力制御手段は、前記異常動作検知手段が前記異常イベントを検知した場合には前記メモリセルアレイに電源が供給されている間は、前記出力手段の出力を禁止したままにすることを特徴とする請求項７から１０のいずれか１項に記載の半導体装置。
【請求項１３】
前記メモリセルアレイに保持されたデータとは異なるダミーデータを生成するデータ発生回路をさらに備え、
前記出力制御手段は、前記出力手段の出力を禁止することにより前記メモリセルアレイに保持されたデータを出力させない場合には、前記ダミーデータを前記出力手段の出力として出力させることを特徴とする請求項７から１２のいずれか１項に記載の半導体装置。
【請求項１４】
前記データ発生回路は固定データを生成することを特徴とする請求項１３に記載の半導体装置。
【請求項１５】
前記データ発生回路は、前記メモリセルアレイに供給するアドレス情報を遷移させることによって不特定データを生成することを特徴とする請求項１３に記載の半導体装置。
【請求項１６】
前記データ発生回路は、前記メモリセルアレイに保持されたデータを並べ替えることによってスクランブルデータを生成することを特徴とする請求項１３に記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電気的に消去及び書き込みが可能な不揮発性メモリを備えた半導体装置に関し、特に、不揮発性メモリに対する書き換え動作を外部から行うことが可能であり且つ不揮発性メモリに書き込まれたデータの機密保護が可能な半導体装置とその駆動方法に関する。
【０００２】
【従来の技術】
近年、電気的に消去及び書き込みが可能な不揮発性メモリ（ＥＥＰＲＯＭ：Electrically Erasable and Programable Read Only Memory）を備えた半導体装置として、ＲＯＭライタ等の装置を半導体装置と接続することにより外部からＥＥＰＲＯＭに対する書き換え動作（すなわち消去動作及び書き込み動作）が可能となるように設計された半導体装置が実現されている。例えば、ＥＥＰＲＯＭに中央処理装置（ＣＰＵ：Central Processing Unit)が処理するプログラムを記憶させたＥＥＰＲＯＭ内蔵マイクロコンピュータは、ユーザが外部からプログラムを書き換えることによりユーザの所望する処理をＣＰＵに実行させることができる。
【０００３】
しかし、前述のような外部からの書き換えが可能な半導体装置では、外部への読み出しも可能となるため、第３者によってＥＥＰＲＯＭに保持されたデータを不正に利用されないように外部からの読み出しを禁止する機密保護機能を設ける必要がある。この際、機密保護が可能であり、且つ正当なユーザにとっては適宜書き換え及び読み出しが可能であることが必要である。
【０００４】
以下に、従来例として機密保護機能を備えた半導体装置について説明する。
【０００５】
図１７（ａ）は、第１の従来例に係る半導体装置の機能構成を示している。
【０００６】
図１７（ａ）に示すように、第１の従来例に係る半導体装置１００１は、ＣＰＵ１００２、ＲＡＭ（Random Access Memory）１００３、制御回路１００４及びデータを記憶するための不揮発性メモリブロック１００５を備え、該不揮発性メモリブロック１００５に対して外部から書き換え動作及び読み出し動作が可能となるように制御信号入力端子１００６、アドレス入力端子１００７及びデータ入出力端子１００８が設けられている。また、外部からの動作を制御する回路として、書き換え制御回路１００９、外部入出力制御部１０１０及び消去状態検知回路１０１１が設けられている。なお、不揮発性メモリブロック１００５は、複数のＥＥＰＲＯＭセルが行列状に配列されたメモリセルアレイ１０１２と、該メモリセルアレイ１０１２に対する動作を制御するための入出力制御部１０１３、センスアンプ１０１４及びデコーダ１０１５とによって構成されている。
【０００７】
不揮発性メモリブロック１００５に対する外部からの動作を行う場合は、例えばＲＯＭライタ等の装置を接続し、制御信号入力端子１００６及びアドレス入力端子１００７にそれぞれ動作を指定する命令及び動作の対象となるメモリセルのアドレス情報を入力する。書き込み動作を行う場合にはさらにデータ入出力端子１００８から書き込み用のデータを入力する。制御信号入力端子１００６及びアドレス入力端子１００７から入力された命令及びアドレスは、書き換え制御回路１００９によりそれぞれ制御信号１１０１及びアドレス信号１１０２に生成されて入出力制御部１０１３に入力される。またデータ入出力端子１００８から入力された書き込み用のデータは外部入出力制御部１０１０によりデータ信号１１０３として入出力制御部１０１３に入力される。
【０００８】
入出力制御部１０１３は、制御信号１１０１、アドレス信号１１０２及びデータ信号１１０３に基づいてメモリセルアレイに対する動作を行う。また、入出力制御部１０１３は、読み出し動作時にはメモリセルアレイ１０１２に保持されたデータとしてデータ信号１１０３を、ベリファイ動作時には書き換え動作が正常に行われたか否かを示す結果としてベリファイ結果信号１１０４を外部入出力制御部１０１０に出力する。
【０００９】
消去状態検知回路１０１１は、電源オン時にメモリセルアレイ１０１２のデータを読み出すように構成され、この読み出し動作によりメモリセルアレイ１０１２のすべてのメモリセルが消去状態であるか否かを検知し、メモリセルアレイ１０１２のすべてのメモリセルが消去状態であることを検知した場合には読み出し禁止解除信号１１０５をハイレベルにする。
【００１０】
外部入出力制御部１０１０は、消去状態検知回路１０１１から入力される読み出し禁止解除信号１１０５がローレベルの場合にはデータ信号１１０３の外部への出力を禁止し、ハイレベルの場合に外部への出力の禁止を解除する。
【００１１】
このように、第１の従来例の半導体装置１００１によると、メモリセルアレイ１０１２が消去状態であることが確認された場合にのみ出力の禁止が解除される。これにより、第３者がメモリセルアレイ１０１２に書き込まれたデータを読み出そうとしても、メモリセルアレイ１０１２の全メモリセルのデータを消去しない限り外部への出力が行われないため、メモリセルアレイ１０１２に書き込まれたデータの機密を保護することが可能となる。
【００１２】
また、第２の従来例に係る半導体装置は、データを記憶するための第１の不揮発性メモリブロックと、第１の不揮発性メモリブロックの読み出し禁止を設定するための第２の不揮発性メモリブロックとを備え、第２の不揮発性メモリブロックは、例えば暗証コードとなるデータを書き込まれることにより第１の不揮発性メモリブロックに対する読み出しを禁止する設定を行う。
【００１３】
第２の従来例の半導体装置において、外部より暗証コードが入力され、且つ入力された暗証コードが第２の不揮発性メモリブロックに保持された暗証コードと一致した場合にのみ読み出しの禁止を解除する。このようにして、第１の不揮発性メモリブロックに書き込まれたデータの機密を保護することが可能となる。
【００１４】
【発明が解決しようとする課題】
しかしながら、前記第１の従来例の半導体装置によると、以下のようにして第３者がメモリセルアレイ１０１２に保持されたデータを不正に読み出すことが可能となる。
【００１５】
図１７（ｂ）は、第１の従来例の半導体装置において不揮発性メモリブロックに保持されたデータを不正に読み出す方法を説明するためのグラフであり、消去状態及び書き込み状態のメモリセルにおける電流特性の一例を示している。なお、横軸はゲート電圧Ｖｇであり、縦軸はゲート電圧Ｖｇを印加したときのメモリセル電流Ｉｄｃｅｌｌである。
【００１６】
図１７（ｂ）に示すように、通常の読み出し動作は、消去状態のメモリセルと書き込み状態のメモリセルとにおける電流特性の違いから、ゲート電圧Ｖｇに読み出し用の電圧値であるＶ１を印加したときに、メモリセル電流Ｉｄｃｅｌｌが読み出し判定電流値Ｉ１よりも大きい場合には消去状態と判定し、逆にメモリセル電流Ｉｄｃｅｌｌが読み出し判定電流値Ｉ１よりも小さい場合には書き込み状態と判定することにより、メモリセルが記憶するデータとして“１”又は“０”が読み出される。
【００１７】
ところが、ゲート電圧Ｖｇに通常の電圧値Ｖ１よりも高い電圧Ｖ２を用いると、書き込み状態のメモリセルにおけるセル電流はＩ１よりも大きくなるため、消去状態と誤判定されてしまう。
【００１８】
なお、半導体装置の構成によっては、メモリセル電流Ｉｄｃｅｌｌが読み出し判定電流値Ｉ１よりも大きい場合を書き込み状態と判定し、逆にメモリセル電流Ｉｄｃｅｌｌが読み出し判定電流値Ｉ１よりも小さい場合を消去状態と判定する例もあるが、この場合でも、ゲート電圧Ｖｇに通常の読み出し用の電圧値Ｖ１よりも低い電圧を用いると書き込み状態のメモリセルが消去状態と誤判定される。
【００１９】
このように、読み出し動作時にメモリセルアレイ１０１２のメモリセルに印加するゲート電圧Ｖｇを意図的に異常な値とすることにより、消去状態検知回路１０１１に全メモリセルが消去状態であると誤判定させることが可能となる。従って、メモリセルアレイ１０１２に対して消去動作を行うことなく、消去状態検知回路１０１１の誤判定により読み出し禁止解除信号１１０５がハイレベルとなるため、外部入出力制御部１０１０における出力禁止の設定が解除される。このようにしてメモリセルアレイ１０１２に保持されたデータを不正に読み出すことが可能となる。
【００２０】
なお、このような異常なゲート電圧を印加する方法として、例えば動作テスト等のために電源電圧を操作することが可能なＲＯＭライタを用いることができる。また、検査用プローブ等を用いて直接に異常な電圧をゲートに印加することも可能である。
【００２１】
以上説明したように、第１の従来例に係る半導体装置は、異常なゲート電圧を用いることにより、メモリセルアレイ１０１２に保持されたデータを不正に読み出すことが可能となるという問題を有している。
【００２２】
また、第２の従来例の半導体装置によると、第２の不揮発性メモリブロックに暗証コードの設定する等の読み出しを禁止するための設定を外部から行う必要がある上に、第２の不揮発性メモリブロックに対する機密保護がなされない限りは第１の不揮発性メモリブロックの機密保護も確実ではない。また第２の不揮発性メモリブロックを備えることによりチップコストが上昇するという問題もある。
【００２３】
本発明は、前記従来の問題を解決し、書き換えが可能な不揮発性メモリを備えた半導体装置において、外部からの設定を行うことなく確実な機密保護を実現できるようにすることを目的とする。
【００２４】
【課題を解決するための手段】
前記の目的を達成するため、電源オン時に外部からの読み出し動作を禁止し、外部からの動作が所定の手順によって行われた場合に読み出し禁止を解除する構成とする。
【００２５】
具体的に、本発明に係る第１の半導体装置の駆動方法は、電気的に書き換えが可能な複数の不揮発性メモリセルを含むメモリセルアレイと、メモリセルアレイに保持されたデータを外部に出力するための出力手段と、出力手段の出力を禁止又は許可することにより前記メモリセルアレイに保持されたデータの外部への出力を制御する出力制御手段とを備えた半導体装置の駆動方法を対象とし、メモリセルアレイに電源が供給された場合に、前記出力制御手段が出力手段の出力を禁止することにより、メモリセルアレイに保持されたデータが外部に出力されないようにする工程と、メモリセルアレイに対して所定の動作手順が行われた場合に、出力制御手段が出力手段の出力を許可することにより、メモリセルアレイに保持されたデータが外部に出力されるようにする工程とを備え、所定の動作手順は、メモリセルアレイに含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、第１の手順よりも後にメモリセルアレイに含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、第２の手順よりも後にメモリセルアレイに含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含む。
【００２６】
本発明の第１の半導体装置の駆動方法によると、外部からの設定を行うことなく出力制御手段によりメモリセルアレイに保持されたデータの機密を保護することができ、メモリセルアレイに対する所定の動作手順を知る正当な利用者でない限りはメモリセルアレイに保持されたデータを読み出すことができないので、動作手順を鍵とした機密保護が可能である。
【００２７】
本発明に係る第２の半導体装置の駆動方法は、電気的に書き換えが可能な複数の不揮発性メモリセルを含み、一括して消去される複数の消去単位に区画されたメモリセルアレイと、メモリセルアレイに保持されたデータを外部に出力するための出力手段と、出力手段の出力を禁止又は許可することによりメモリセルアレイに保持されたデータの外部への出力を消去単位ごとに制御する出力制御手段とを備えた半導体装置の駆動方法を対象とし、メモリセルアレイに電源供給が開始された際に、出力制御手段が出力手段の出力を禁止することにより、複数の消去単位のうち特定の消去単位に保持されたデータが外部に出力されない工程と、メモリセルアレイにおいて、特定の消去単位に対して所定の動作手順が行われた場合に、出力制御手段が出力手段の出力を許可することにより、特定の消去単位に保持されたデータが外部に出力される工程とを備え、所定の動作手順は、特定の消去単位に含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、第１の手順よりも後に特定の消去単位に含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、第２の手順よりも後に特定の消去単位に含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含む。
本発明の第２の半導体装置の駆動方法によると、第１の半導体装置の駆動方法と同様の効果を得られるのに加えてメモリセルアレイに保持されたデータのうちの一部のみを読み出す場合に、必要なデータの保持された消去単位についてのみ所定の動作手順を行えばよいため、不要な動作によって不揮発性メモリセルの信頼性を低下させることがない。
【００２８】
本発明の第１又は第２の半導体装置の駆動方法において、メモリセルアレイに保持されたデータが消去された状態を確認した後に出力の禁止を解除するため、前記メモリセルアレイに保持されたデータの機密を保護できる。さらに、データが書き込まれた状態を確認した後に出力の禁止を解除するため、異常なゲート電圧を用いることによってメモリセルアレイの状態を誤判定させようとしても、ゲート電圧の操作によってデータが書き込まれた状態に誤判定させることは不可能であり、不正な読み出しを確実に防止することができる。
【００２９】
本発明の第１又は第２の半導体装置の駆動方法において、所定の動作手順は、第１の手順よりも前にメモリセルアレイに書き込まれたデータを消去する第４の手順をさらに含むことが好ましい。このようにすると、出力禁止手段がメモリセルアレイに保持されたデータの外部への出力の禁止を解除するための条件がより厳密になるので、メモリセルアレイに保持されたデータの機密をより確実に保護することが可能となる。
【００３０】
本発明の第１又は第２の半導体装置の駆動方法において、第２の手順と第３の手順とを所定数のメモリセルごとに順次繰り返して行うことが好ましい。このようにすると、書き込みの信頼性を向上することができると共に、所定の動作手順がさらに厳密になるので、メモリセルアレイに保持されたデータをより確実に保護することが可能となる。
【００３１】
本発明の第１又は第２の半導体装置の駆動方法において、所定の動作手順は、第４の手順よりも前に、不揮発性メモリセルのすべてに対して書き込み動作を行う第５の手順をさらに含むことが好ましい。このようにすると、メモリセルアレイに保持されたデータの機密をより確実に保護できるのに加えて、メモリセルごとのしきい値電圧のばらつきが小さくなり、データの読み出し判定の誤りを少なくすることができるため、メモリセルアレイに保持されたデータの信頼性を向上させることができる。
【００３３】
本発明の第１又は第２の半導体装置の駆動方法において、所定の動作手順は、第３の手順の後に、メモリセルアレイにおいて異常なしきい値電圧を示す不揮発性メモリセルに対して正常なしきい値に戻す動作を行う第６の手順を含むことが好ましい。このようにすると、メモリセルアレイに保持されたデータの機密をより確実に保護できるのに加えて、しきい値電圧の異常によるデータの読み出し判定の誤りを少なくすることができるため、メモリセルアレイに保持されたデータの信頼性を向上させることができる。
【００３４】
本発明に係る第１の半導体装置は、電気的に書き換えが可能な複数の不揮発性メモリセルを含むメモリセルアレイと、メモリセルアレイに保持されたデータを外部に出力するための出力手段と、出力手段の出力を禁止又は許可することによりメモリセルアレイに保持されたデータの外部への出力を制御する出力制御手段と、メモリセルアレイに対する動作が所定の動作手順の通りに行われたか否かを検知する動作手順検知手段とを備え、所定の動作手順は、メモリセルアレイに含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、第１の手順よりも後にメモリセルアレイに含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、第２の手順よりも後にメモリセルアレイに含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含み、出力制御手段は、メモリセルアレイに対して電源供給が開始された際に、出力手段の出力を禁止することによりメモリセルアレイに保持されたデータを外部に出力させない一方、動作手順検知手段の検知結果に基づいて出力手段の出力を許可することによりメモリセルアレイに保持されたデータを外部に出力させることを特徴とする。
【００３５】
本発明の第１の半導体装置によると、動作手順検知手段により所定の動作手順を検知した場合にのみ、出力制御手段におけるメモリセルアレイに保持されたデータの出力の禁止が解除されるため、所定の動作手順の検知を鍵としてメモリセルアレイに保持されたデータの機密保護を行うことが可能となる。
【００３６】
本発明の第１の半導体装置は、メモリセルアレイに対して電源供給が開始された際に、所定の動作手順が検知されていない意味を示す値が保持され、動作手順検知手段が所定の動作手順を検知した場合に所定の動作手順の検知を意味する値が設定される揮発性のレジスタをさらに備え、出力制御手段は、前記レジスタの保持している値に基づいて前記出力手段の出力を禁止又は許可することが好ましい。
【００３７】
本発明の第１の半導体装置において、前記メモリセルアレイに対して電源供給が開始された際にリセットされ、前記動作手順検知手段が前記所定の動作手順を検知した場合にセットされる揮発性のレジスタをさらに備え、前記出力制御手段は、前記レジスタがリセットされている場合に前記出力手段の出力を禁止し、前記レジスタがセットされている場合に前記出力手段の出力を許可することが好ましい。このようにすると、外部からの設定を行うことなく電源オン時には出力禁止の設定ができる。
【００４０】
本発明に係る第２の半導体装置は、電気的に書き換えが可能な複数の不揮発性メモリセルを含み、一括して消去される複数の消去単位に区画されたメモリセルアレイと、メモリセルアレイに保持されたデータを外部に出力するための出力手段と、出力手段の出力を禁止又は許可することによりメモリセルアレイに保持されたデータの外部への出力を消去単位ごとに制御する出力制御手段と、メモリセルアレイにおいて、複数の消去単位の各々に対して所定の動作手順が行われたか否かを検知する動作手順検知手段と、複数の消去単位とそれぞれ１対１に対応して設けられ、メモリセルアレイに電源供給がされた際にそれぞれがリセット状態に設定され、動作手順検知手段により所定の動作手順の実行が検知された消去単位に対応するものはセット状態に設定される複数の揮発性レジスタを含むレジスタ部とを備え、所定の動作手順は、複数の消去単位のうち特定の消去単位に含まれる複数の不揮発性メモリセルが消去状態であることを確認する第１の手順と、第１の手順よりも後に特定の消去単位に含まれる複数の不揮発性メモリセルにデータを書き込む第２の手順と、第２の手順よりも後に特定の消去単位に含まれる複数の不揮発性メモリセルに所定のデータが書き込まれていることを確認する第３の手順を含み、出力制御手段は、複数のレジスタのうち特定の消去単位に対応するレジスタがリセット状態の場合に出力手段の出力を禁止することにより特定の消去単位に保持されたデータを外部に出力させない一方、特定の消去単位に対応するレジスタがセット状態の場合に出力手段の出力を許可することにより特定の消去単位に保持されたデータを外部に出力させることを特徴とする。
【００４１】
本発明の第２の半導体装置によると、第１の半導体装置と同様の効果を得られるのに加えて、消去単位ごとに読み出し禁止を解除するため、不必要な消去動作を行う必要がなく、メモリセルアレイの信頼性の低下を防止することができる。
【００４４】
本発明の第１又は第２の半導体装置は、メモリセルアレイに対する動作が所定の動作手順通りでないことを異常イベントとして検知する異常動作検知手段をさらに備え、出力制御手段は、異常動作検知手段が異常イベントを検知した場合にはメモリセルアレイに電源が供給されている間は、出力手段の出力を禁止したままにすることが好ましい。このようにすると、異常な動作を行うことによってメモリセルアレイに保持されたデータの外部への出力の禁止を解除しようとする不正な読み出し方法を確実に防止することができる。
【００４５】
本発明の第１又は第２の半導体装置において、メモリセルアレイに対する動作に用いられる電圧が所定の電圧で無いことを異常イベントとして検知する異常動作検知手段をさらに備え、出力制御手段は、異常動作検知手段が異常イベントを検知した場合にはメモリセルアレイに電源が供給されている間は、出力手段の出力を禁止したままにすることが好ましい。このようにすると、読み出し動作に用いるゲート電圧を操作してデータの読み出しを故意に誤判定させることによる読み出し禁止の解除方法を確実に防止することができ、より確実な機密保護が可能となる。
【００４７】
本発明の第１又は第２の半導体装置は、メモリセルアレイに保持されたデータとは異なるダミーデータを生成するデータ発生回路をさらに備え、出力制御手段は、出力手段の出力としてメモリセルアレイに保持されたデータを出力させない場合には、ダミーデータを出力手段の出力として出力させることが好ましい。このようにすると、メモリセルアレイに保持されたデータを不正に読み出そうした場合に、出力されたダミーデータをメモリセルアレイに保持されたデータと誤解させることができ、第３者は機密保護機能の有無が区別できなくなるため、より確実な機密保護が可能となる。
【００４８】
本発明の第１又は第２の半導体装置において、データ発生回路は固定データを生成することが好ましい。
【００４９】
本発明の第１又は第２の半導体装置において、データ発生回路は、メモリセルアレイに供給するアドレス情報を遷移させることによって不特定データを生成することが好ましい。
【００５０】
本発明の第１又は第２の半導体装置において、データ発生回路は、メモリセルアレイに保持されたデータを並べ替えることによってスクランブルデータを生成することが好ましい。
【００５１】
【発明の実施の形態】
（第１の実施形態）
本発明の第１の実施形態について図面を参照しながら説明する。
【００５２】
図１は第１の実施形態に係る半導体装置の機能構成を示している。
【００５３】
図１に示すように、本実施形態の半導体装置１０１は、該半導体装置１０１の動作を制御するＣＰＵ１０２、該ＣＰＵ１０２の実行するプログラム及びデータを一時的に記憶するＲＡＭ１０３、該ＣＰＵ１０２及びＲＡＭ１０３を制御する制御回路１０４、並びにデータを記憶する不揮発性メモリブロック１０５を備えている。なお、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４及び不揮発性メモリブロック１０５は、図示はしていないが、制御バス等の配線を介してそれぞれが互いに接続されている。
【００５４】
さらに、本実施形態の半導体装置１０１は、例えばＲＯＭライタ等の装置を半導体装置１０１と接続することにより、不揮発性メモリブロック１０５に対する書き換え及び読み出し等の動作を半導体装置１０１の外部から行うことが可能となるように設計されている。このために半導体装置１０１には、外部との接続手段として、不揮発性メモリブロック１０５に対する命令を入力するための制御信号入力端子８０１、アドレス情報を入力するためのアドレス入力端子８０２及び不揮発性メモリブロック１０５に書き込むデータの入力と不揮発性メモリブロック１０５から読み出されたデータの出力とを行うためのデータ入出力端子８０３が設けられており、制御信号入力端子８０１及びアドレス入力端子８０２は書き換え制御回路１０６を介して、またデータ入出力端子８０３は外部入出力制御部１０７を介して不揮発性メモリブロック１０５と接続されている。さらに、不揮発性メモリブロック１０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部１０８及び読み出し禁止解除制御部１０９が外部入出力制御部１０７と接続するように設けられている。
【００５５】
ここで、本実施形態の半導体装置１０１は、不揮発性メモリブロック１０５にＣＰＵ１０２が実行するプログラムが記憶されており、不揮発性メモリブロック１０５のプログラムがＲＡＭ１０３や制御回路１０４に読み出されることによってＣＰＵ１０２が所定の処理を実行するマイクロコンピュータとして実現されている。ここで、半導体装置１０１のユーザは外部から不揮発性メモリブロック１０５に保持されるプログラムを外部から書き換えることにより半導体装置１０１に所望の処理を行わせることが可能である。
【００５６】
なお、本実施形態の半導体装置１０１において、ＣＰＵ１０２、ＲＡＭ１０３及び制御回路１０４は必ずしも必要ではなく、例えばメモリカード等の記憶用の半導体装置として実現されていてよく、この場合も半導体装置１０１のユーザは個人情報等のデータを外部から不揮発性メモリブロック１０５に保存し、また必要に応じてデータ書き換えることができる。
【００５７】
本実施形態の特徴は、ユーザの所望により外部から不揮発性メモリブロック１０５のデータを書き換えることが可能であり、且つ不揮発性メモリブロック１０５のデータが第３者によって不正に利用されないように半導体装置の外部への読み出しを禁止する機密保持機能を有していることにある。
【００５８】
以下に、本実施形態の半導体装置１０１を構成する各部について具体的に説明する。
【００５９】
書き換え制御回路１０６は、制御信号入力端子８０１及びアドレス入力端子８０２を介して外部から入力された命令及びアドレス情報に基づいて、制御信号８１１及びアドレス信号８１２を生成する回路である。ここで、制御信号８１１は、例えば書き込み動作、消去動作及び読み出し動作等の不揮発性メモリブロック１０５に対する動作を指定する信号であり、またアドレス信号８１２は不揮発性メモリブロック１０５におけるメモリセルのアドレスを指定する信号である。
【００６０】
不揮発性メモリブロック１０５は、複数の不揮発性メモリセルが行列状に配列されたＥＥＰＲＯＭからなるメモリセルアレイ１２１、書き換え制御回路１０６から入力される制御信号８１１及びアドレス信号８１２に基づいてメモリセルアレイ１２１に対する動作を制御する入出力制御部１２２、メモリセルアレイ１２１に保持されたデータを増幅して入出力制御部１２２に出力するセンスアンプ１２３、並びにアドレス信号８１２に基づいてメモリセルアレイ１２１のメモリセルを選択するデコーダ１２４からなる。
【００６１】
入出力制御部１２２は、アドレス信号８１２に指定されたアドレスのメモリセルを選択するようにデコーダ１２４を駆動すると共に、メモリセルアレイ１２１及びセンスアンプ１２３を駆動することによりデコーダ１２４が選択するメモリセルに対して制御信号８１１に指定された動作を行うように構成される。
【００６２】
ここで、制御信号８１１に指定される動作としては、消去動作、書き込み動作及び読み出し動作に加えて、消去動作及び書き込み動作が正常に行われたか否かをそれぞれ判定する消去ベリファイ動作及び書き込みベリファイ動作が含まれる。また、メモリセルごとのしきい値電圧のばらつきを小さくするために全メモリセルに対して書き込みを行うプリプログラム動作と、しきい値電圧が異常な値に変化したメモリセルのしきい値電圧を正常な値に戻すために該メモリセルに弱い書き込み動作又は消去動作を行うリバース動作とを含んでいてもよい。なお、これらの動作の詳細については後述する。
【００６３】
次に書き換え動作検知部１０８及び読み出し禁止解除制御部１０９について説明する。
【００６４】
図２（ａ）は本実施形態に係る書き換え動作検知部１０８及び読み出し禁止解除制御部１０９の機能構成を示している。
【００６５】
図２（ａ）に示すように、本実施形態の書き換え動作検知部１０８は、メモリセルアレイ１２１に対する動作を検知する動作検知回路１３１、メモリセルアレイ１２１に対する消去動作が正常に行われたか否かを検知する消去結果判定回路１３２、メモリセルアレイ１２１に対する書き込み動作が正常に行われたか否かを検知する書き込み結果判定回路１３３及びメモリセルアレイ１２１に対して所定の動作手順が行われたか否かを検知する動作手順検知回路１３４からなる。
【００６６】
動作検知回路１３１は、書き換え制御回路１０６から入力される制御信号８１１に基づいて、メモリセルアレイ１２１に対して行われた動作を検知する回路である。例えば、書き込み動作を指定する制御信号８１１が入力されることにより、動作検知回路１３１はメモリセルアレイ１２１に対する書き込み動作が行われたことを検知する。
【００６７】
消去結果判定回路１３２及び書き込み結果判定回路１３３は、入出力制御部１２２から入力されるベリファイ結果信号８１４に基づいて消去動作及び書き込み動作がそれぞれ正常に行われたか否かを判断する回路である。ここで、ベリファイ結果信号８１４は、消去ベリファイ動作の場合も書き込みベリファイ動作の場合も同じ信号線に生成されるため、動作検知回路１３１の検知結果に従って、入力されたベリファイ結果信号８１４が消去ベリファイ動作による信号であるのか、又は書き込みベリファイ動作による信号であるのかを判断する。
【００６８】
動作手順検知回路１３４は、動作検知回路１３１、消去結果判定回路１３２及び書き込み結果判定回路１３３において検知されたそれぞれの結果に基づいてメモリセルアレイ１２１に対して所定の動作手順が行われたか否かを判断し、メモリセルアレイ１２１の全メモリセルに対して所定の動作手順が行われたと判断された場合には動作手順検知信号８１５として“１”を出力し、それ以外の場合には“０”を出力する回路である。なお、以下の説明においても同様であるが、“０”及び“１”は信号レベルの違いとして区別し得る２つの状態を一般的に表しており、低電位状態及び高電位状態のいずれであってもよい。
【００６９】
ここで、メモリセルアレイ１２１に対する所定の動作手順とは、例えば、消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われる動作手順である。
【００７０】
また、図２（ａ）に示すように、本実施形態の読み出し禁止解除制御部１０９は、制御信号８１１に基づいて読み出し動作を検知するための読み出し動作検知回路１４１、動作手順検知回路１３４が検知した結果を保存する動作手順検知レジスタ１４２及び読み出し禁止を解除するか否かを制御する読み出し禁止解除制御回路１４３からなる。
【００７１】
読み出し動作検知回路１４１は、書き換え制御回路１０６から入力される制御信号８１１が読み出し動作を指定する信号であるか否かを判断する回路である。
【００７２】
動作手順検知レジスタ１４２は、動作手順検知回路１３４から入力される動作手順検知信号８１５が“１”であれば書き込みが行われてセット状態となり、動作手順検知信号８１５が“０”であれば消去が行われてリセット状態となるように構成されている。なお、動作手順検知レジスタ１４２は揮発性であるため、半導体装置１０１の電源オン時にはリセット状態である。
【００７３】
読み出し禁止解除制御回路１４３は、読み出し動作検知回路１４１において読み出し動作が検知された場合に、動作手順検知レジスタ１４２がリセット状態（消去状態）であれば読み出し禁止解除信号８１６を“０”にし、セット状態（書き込み状態）であれば読み出し禁止解除信号８１６を“１”にする回路である。
【００７４】
次に外部入出力制御部１０７について説明する。
【００７５】
図２（ｂ）は本実施形態に係る外部入出力制御部１０７の機能構成を示している。
【００７６】
図２（ｂ）に示すように、本実施形態の外部入出力制御部１０７は、データ信号８１３及びベリファイ結果信号８１４の外部への出力を制御する出力禁止制御回路１５１と、外部から入力されたデータをデータ信号８１３に生成する入力制御回路１５２とによって構成される。
【００７７】
ここで、出力禁止制御回路１５１は、制御信号８１１が読み出し動作を指定し、且つ読み出し禁止解除信号８１６が“１”である場合には、入出力制御部１２２から入力されたデータ信号８１３をデータ入出力端子８０３を介して外部に出力し、それ以外の場合にはデータ信号８１３の出力を禁止する制御を行う。なお、ベリファイ結果信号８１４は読み出し禁止解除信号８１６に関わらず出力禁止制御回路１５１を介してデータ入出力端子８０３を介して外部に出力する。
【００７８】
以下に、前述のように構成された本実施形態の半導体装置１０１の動作について説明する。
【００７９】
まず、半導体装置１０１の外部からメモリセルアレイに対して行う動作について図１、図２（ａ）及び図２（ｂ）を参照しながら説明する。
【００８０】
書き込み動作は、制御信号入力端子８０１に書き込み動作を指定する命令を、アドレス入力端子８０２にメモリセルアレイ１２１における書き込み動作の対象となるメモリセルを指定するアドレス情報を、データ入出力端子８０３に入力データをそれぞれ外部から入力することにより行われる。
【００８１】
これにより、書き換え制御回路１０６が駆動して制御信号８１１に書き込み動作を指定する信号を、またアドレス信号８１２にメモリセルアレイ１２１のアドレスを指定する信号をそれぞれ生成し、入出力制御部１２２に出力する。また、入力制御回路１５２が駆動してデータ入出力端子８０３から入力された入力データをデータ信号８１３として入出力制御部１２２に出力する。入出力制御部１２２に書き込み動作を指定する制御信号８１１が入力されると、入出力制御部１２２は、アドレス信号８１２に指定されたアドレスのメモリセルを選択するようにデコーダ１２４を制御すると共に、メモリセルアレイ１２１を制御してデータ信号８１３として外部から入力されたデータをメモリセルに書き込む。
【００８２】
なお、この書き込み動作は、先頭アドレスからバイト単位又はページ単位で順次連続して行うように制御されていてもよい。
【００８３】
書き込みベリファイ動作は、制御信号入力端子８０１に書き込みベリファイ動作を指定する命令を、アドレス入力端子８０２にメモリセルアレイ１２１における書き込みベリファイ動作の対象となるメモリセルを指定するアドレス情報を、データ入出力端子８０３に比較対象となる入力データをそれぞれ外部から入力することにより行われる。
【００８４】
これにより、書き込み動作と同様にして書き換え制御回路１０６から書き込みベリファイ動作を指定する制御信号８１１及び消去ベリファイ動作の対象となるアドレスを指定するアドレス信号８１２が、また入力制御回路１５２から比較対象となるデータ信号８１３が入出力制御部１２２に入力される。入出力制御部１２２に書き込みベリファイ動作を指定する制御信号８１１が入力されると、入出力制御部１２２は、まず、アドレス信号８１２に指定されたアドレスのメモリセルを選択するようにデコーダ１２４を制御すると共に、メモリセルアレイ１２１及びセンスアンプ１２３を駆動してメモリセルに書き込まれたデータをセンスアンプ信号として読み出す。次にセンスアンプ信号として読み出されたデータとデータ信号８１３として入力されたデータとを比較することにより書き込み動作が正常に行われたか否かを判定する。読み出されたデータとデータ信号８１３として入力されたデータとが完全に一致した場合には、書き込み動作が正常に行われたと判定してベリファイ結果信号８１４に“１”を出力し、それ以外の場合には“０”にする。
【００８５】
なお、書き込みベリファイ動作は、書き込みベリファイ動作を指定する命令を外部から入力する方法に限らず、書き込み動作の後に一連の動作として前述したような書き込みベリファイ動作が行われるように設定されても良い。この場合、比較対象となるデータを外部から入力する必要はなく、例えばバッファ部に保持された書き込み動作時の入力データと、センスアンプ信号として読み出されたデータとを比較することにより判定してもよい。
【００８６】
消去動作及び消去ベリファイ動作は、制御信号入力端子８０１にそれぞれ消去動作及び消去ベリファイ動作を指定する命令を、アドレス入力端子８０２に動作の対象となるアドレス情報をそれぞれ外部から入力することにより行われる。これにより、入出力制御部１２２には書き換え制御回路１０６を介してそれぞれ消去動作及び消去ベリファイ動作を指定する制御信号８１１が入力される。
【００８７】
消去動作を指定する制御信号８１１が入力された場合、入出力制御部１２２は、デコーダ１２４を制御してアドレス信号８１２に指定されたアドレスのメモリセルを選択し、メモリセルアレイ１２１を制御してデコーダ１２４によって選択されたメモリセルを消去状態にする。また、消去ベリファイ動作を指定する制御信号８１１が入力された場合、入出力制御部１２２は、メモリセルアレイ１２１、センスアンプ１２３及びデコーダ１２４を駆動して、アドレス信号８１２に指定されたメモリセルに書き込まれたデータをセンスアンプ信号として読み出す。次にセンスアンプ信号として読み出されたデータがすべて消去状態を示すデータであれば、消去動作が正常に行われたと判定してベリファイ結果信号８１４に“１”を出力し、それ以外の場合にはベリファイ結果信号８１４に“０”を出力する。
【００８８】
なお、消去ベリファイ動作は、外部から消去ベリファイ動作を指定する命令を入力する方法に限らず、消去動作の後に一連の動作として前述したような消去ベリファイ動作が行われるように設定されても良い。
【００８９】
また、読み出し動作は、制御信号入力端子８０１に読み出し動作を指定する命令を、アドレス入力端子８０２に読み出し動作の対象となるアドレス情報をそれぞれ外部から入力することにより行われる。
【００９０】
これにより、書き換え制御回路１０６から読み出し動作を指定する制御信号８１１及び読み出し動作の対象となるアドレスを指定するアドレス信号８１２が入出力制御部１２２に入力される。入出力制御部１２２は、読み出し動作を指定する制御信号８１１が入力されると、メモリセルアレイ１２１、センスアンプ１２３及びデコーダ１２４を駆動してアドレス信号８１２に指定されたメモリセルに書き込まれたデータをセンスアンプ信号として読み出し、読み出したセンスアンプ信号をデータ信号８１３として出力禁止制御回路１５１に出力する。ここで、出力禁止制御回路１５１は、読み出し禁止解除信号８１６が“１”である場合はデータ入出力端子８０３を介してデータ信号８１３を外部に出力する。読み出し禁止解除信号８１６が“０”である場合、出力禁止制御回路１５１はデータ信号８１３の出力を禁止するように制御するため、外部への読み出しは完了しない。
【００９１】
次に、メモリセルアレイ１２１に保持されたデータの外部への読み出し方法について図面を参照しながら説明する。
【００９２】
図３（ａ）は第１の実施形態に係る半導体装置１０１の外部への読み出し禁止を解除するための動作手順を示している。
【００９３】
図３（ａ）に示すように、まず、半導体装置１０１の電源をオンにする。この時、書き換え動作検知部１０８の動作手順検知レジスタ１４２は、揮発性であるためリセット状態である。従って、読み出し禁止解除制御回路１４３は読み出し禁止解除信号８１６を“０”にするため、外部入出力制御部１０７の出力禁止制御回路１５１は、不揮発性メモリブロック１０５から入力されたデータ信号８１３のデータ入出力端子８０３への出力を禁止する制御を行う。つまり、出力禁止制御回路１５１は、電源オン時に必ずメモリセルアレイ１２１に保持されたデータの外部への出力を禁止する。
【００９４】
次に、外部から制御信号入力端子８０１に消去命令を、アドレス入力端子８０２に全メモリセルを指定するアドレス情報をそれぞれ入力する。これにより、消去動作を指定する制御信号８１１が入出力制御部１２２に入力されて全メモリセルに対して消去動作を実行する。この消去動作に伴って、制御信号８１１が動作検知回路１３１に入力されることにより、全メモリセルに対して消去動作が実行されたことが動作手順検知回路１３４に検知される。
【００９５】
次に、外部から制御信号入力端子８０１に消去ベリファイ命令を、アドレス入力端子８０２に全メモリセルを指定するアドレス情報をそれぞれ入力する。これにより、消去ベリファイ動作を指定する制御信号８１１が不揮発性メモリブロック１０５の入出力制御部１２２に入力されて全メモリセルに対して消去ベリファイ動作が実行される。この消去ベリファイ動作に伴って、消去結果判定回路１３２は、ベリファイ結果信号８１４が入力されることによって全メモリセルに対する消去動作が正常に実行されたか否かを判定する。
【００９６】
なお、消去ベリファイ動作は、必ずしも外部から消去ベリファイ命令を入力することにより行われる必要はなく、消去動作と一連の工程として、外部から消去動作を命令することにより行われてもよい。
【００９７】
次に、外部から制御信号入力端子８０１、アドレス入力端子８０２及びデータ入出力端子８０３にそれぞれ書き込み命令、全メモリセルを指定するアドレス及び書き込み用のデータを入力する。これにより、メモリセルアレイ１２１の全メモリセルに対する書き込み動作を行う。ここで、制御信号８１１は動作検知回路１３１に入力され、書き込み動作が全メモリセルに対して実行されたことが検知される。
【００９８】
次に、外部から制御信号入力端子８０１、アドレス入力端子８０２及びデータ入出力端子８０３にそれぞれ書き込みベリファイ命令、全メモリセルを指定するアドレス及び比較対象となるデータを入力する。これにより、メモリセルアレイ１２１の全メモリセルに対する書き込みベリファイ動作を行う。この書き込みベリファイ動作に伴って、書き込み結果判定回路１３３は、ベリファイ結果信号８１４が入力されることによって全メモリセルに対する書き込み動作が正常に実行されたか否かを判定する。
【００９９】
なお、書き込みベリファイ動作は、必ずしも外部から書き込みベリファイ命令を入力することにより行われる必要はなく、書き込み動作と一連の工程として、外部から書き込み動作を命令することにより行われてもよい。また、書き込み動作と書き込みベリファイ動作とを、バイトごと又はページごとに先頭アドレスから順次連続して交互に行うことにより全メモリセルに対して書き込み動作と書き込みベリファイ動作とを行ってもよい。
【０１００】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路１３２において正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路１３３において正常な動作が確認され、さらにアドレス信号８１２に基づいてこれらの動作がメモリセルアレイ１２１の全メモリセルに対して行われたことが確認された場合には、動作手順検知回路１３４は動作手順検知信号８１５を“１”にし、動作手順検知レジスタ１４２がセット状態にされる。
【０１０１】
ここで、動作検知回路１３１において消去動作及び書き込み動作を検知すべきそれぞれの手順に、それぞれ消去動作及び書き込み動作以外の動作が検知された場合、又は消去結果判定回路１３２及び書き込み結果判定回路１３３においてそれぞれ正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路１３４は動作手順検知信号８１５を“０”にするため、動作手順検知レジスタ１４２はリセット状態のままであり、読み出し禁止解除制御回路１４３は読み出し禁止解除信号８１６を“０”にする。従って、出力禁止制御回路１５１は、入出力制御部１２２から入力されるデータ信号８１３のデータ入出力端子８０３への出力を禁止する制御を行うため、読み出し命令を外部から入力してもメモリセルアレイに保持されたデータは出力されない。
【０１０２】
このように、メモリセルアレイ１２１の全メモリセルに対して消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合のみ、動作手順検知レジスタ１４２がセット状態となり、読み出し禁止解除信号８１６が“１”になるため、出力禁止制御回路１５１における読み出し禁止状態が解除され、外部への読み出しが可能な状態となる。
【０１０３】
その後電源をオフにするまで読み出し可能であり、次に電源をオンにすると動作手順検知レジスタ１４２は再びリセット状態となるため、出力禁止制御回路１５１が入出力制御部１２２から入力されたデータのデータ入出力端子８０３への出力を禁止する制御を行う。
【０１０４】
以上説明したように、第１の実施形態の半導体装置１０１によると、メモリセルアレイ１２１に対して、まず消去動作が行われ、次に該消去動作が正常に行われたことが確認され、その後書き込み動作が行われ、続いて該書き込み動作が正常に行われたことが確認されるという一連の動作手順を鍵として出力禁止制御回路１５１における読み出し禁止状態が解除される。従って、第３者がメモリセルアレイ１２１のデータを読み出そうとしても、一連の動作手順を知らないと読み出しを行うことができないので、確実な機密保護が可能である。
【０１０５】
また、鍵となる動作手順に消去動作を含むため、第３者がメモリセルアレイ１２１に書き込まれたデータを読み出そうとしても、消去動作の後にのみ読み出しが可能となるため、第３者がメモリセルアレイ１２１に保持されたデータを読み出すことは不可能となり、プログラム又は個人情報等の機密を保護することができる。
【０１０６】
さらに、鍵となる動作手順に書き込みベリファイ動作による書き込み状態を確認する手順を含むため、第３者がＲＯＭライタ等の装置を用いてゲート電圧を操作してデータの読み出し結果を誤判定させることにより不正にメモリセルアレイ１２１に保持されたデータを読み出すことを防止することができる。すなわち、通常、書き込まれるデータがすべて同じデータとなることはなく、ゲート電圧の操作によって個々のメモリセルに異なるデータが書き込まれた状態を作り出すことはできないため、書き込みベリファイ動作の結果を誤判定させることができず、メモリセルアレイ１２１に保持されたデータの機密を確実に保護することができる。
【０１０７】
また、動作手順検知レジスタ１４２がリセット状態の場合に出力禁止制御回路１５１におけるデータ信号８１３の出力が禁止されるため、電源をオンにすると共に外部への読み出しを禁止する制御が行われる。すなわち、外部から出力禁止の設定を行うことなくメモリセルアレイ１２１に保持されたデータの機密を保護することが可能である。また、出力禁止の設定のために別の不揮発性メモリを必要としないため、半導体装置１０１のコストを低減することができる。
【０１０８】
─外部への読み出し方法の変形例─
前述したように、メモリセルアレイ１２１に保持されたデータの外部への読み出すために必要とされる動作手順は、動作手順検知回路１３４の構成によって規定されるものであり、消去動作、正常な消去状態の確認、書き込み動作及び正常な書き込み状態の確認が順次行われる方法に限定される必要はない。以下に、この動作手順の変形例について述べる。
【０１０９】
図３（ｂ）は第１の実施形態の第１の変形例に係る半導体装置の外部への読み出し禁止を解除するための動作手順を示している。
【０１１０】
図３（ｂ）に示すように、第１の実施形態の第１の変形例は、電源をオンにした後、正常な消去動作の確認及び正常な書き込み動作の確認が順次行われることにより、半導体装置１０１の外部への読み出し禁止が解除される。
【０１１１】
本変形例によると、第１の実施形態と同等の機密保護の機能を有し、さらに、あらかじめ消去状態であった場合には消去動作は不要であるため、消去ベリファイ動作のみを行えば良く、不要な消去動作を省略することができる。このため、消去動作に伴うメモリセル負担を軽減することができ信頼性の低下を防止することができる。
【０１１２】
図４（ａ）は第１の実施形態の第２の変形例に係る半導体装置の外部への読み出し禁止を解除するための動作手順を示している。
【０１１３】
図４（ａ）に示すように、第１の実施形態の第２の変形例は、まず、プリプログラム動作を行い、その後第１の実施形態と同様の手順で書き換え動作及びベリファイ動作がメモリセルアレイ１２１の全メモリセルに対して行われることにより、メモリセルアレイ１２１に保持されたデータの外部への読み出し禁止が解除される。
【０１１４】
ここで、プリプログラム動作とは、消去動作の前に書き込み動作を行うことにより、全メモリセルのしきい値を均一にしようとする動作である。具体的に、プリプログラム動作は、半導体装置１０１の外部から制御信号入力端子８０１及び書き換え制御回路１０６を介してプリプログラム動作を指定する制御信号８１１を入出力制御部１２２に入力することにより、入出力制御部１２２がメモリセルアレイ１２１、センスアンプ１２３及びデコーダ１２４を駆動して全メモリセルに対して書き込み動作を行う。
【０１１５】
前述のプリプログラム動作により、消去状態のメモリセルに対して消去動作が行われることによって生じるしきい値電圧の極端な低下を防ぎ、メモリセルごとのしきい値電圧のばらつきを減少させることができるため、読み出し判定の誤りを防止することができる。
【０１１６】
なお第２の変形例は、プリプログラム動作の後に消去動作、消去ベリファイ動作及び書き込みベリファイ動作のすべてを行う必要はなく、例えば第１の変形例のように消去ベリファイ動作と書き込みベリファイ動作のみを行ってもよい。
【０１１７】
図４（ｂ）は第１の実施形態の第３の変形例に係る半導体装置の外部への読み出し禁止を解除するための動作手順を示している。
【０１１８】
図４（ｂ）に示すように、第１の実施形態の第３の変形例は、まず第１の実施形態と同様の手順で書き換え動作及びベリファイ動作を行った後、リバース動作を行うことにより、半導体装置の外部への読み出し禁止が解除される。
【０１１９】
ここで、リバース動作とは、消去後にしきい値電圧が異常な値に変化したメモリセルに対して通常の動作よりも低い電圧で書き込み動作又は消去動作を行うことにより、正常なしきい値電圧にする動作である。具体的に、リバース動作は、半導体装置１０１の外部から制御信号入力端子８０１及び書き換え制御回路１０６を介してリバース動作を指定する制御信号８１１を入出力制御部１２２に入力することにより、入出力制御部１２２がメモリセルアレイ１２１、センスアンプ１２３及びデコーダ１２４を駆動してしきい値電圧が異常な値となったメモリセルを検出し、その後、該メモリセルに対して通常の動作よりも低い電圧で書き込み動作又は消去動作を行う。
【０１２０】
これにより、メモリセルのしきい値電圧を均一にすることができ、メモリセルアレイの信頼性を向上することができる。
【０１２１】
なお第３の変形例は、リバース動作の前に消去動作、消去ベリファイ動作及び書き込みベリファイ動作のすべてを行う必要はなく、例えば第１の変形例のように消去ベリファイ動作と書き込みベリファイ動作のみを行ってもよい。また、第２の変形例と組み合わせて、消去動作の前にプリプログラム動作を行うように設定してもよい。
【０１２２】
第２の変形例又は第３の変形例によると、読み出し禁止の解除に必要な動作手順がさらに複雑になるため、より確実な機密保護が可能となる。さらに、メモリセルアレイ１２１におけるメモリセルごとのしきい値電圧のばらつきを小さくする動作を行うため、メモリセルアレイ１２１に保持されたデータの読み出し動作においてしきい値の異常による判定の間違いが生じる可能性を抑えられるので、より確実なデータの保存が可能となる。
【０１２３】
さらに、別の変形例として、第１の実施形態の動作手順において、例えば１バイト又は１ページ等の所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行うことにより、全メモリセルに対する書き込み動作と正常な書き込み動作の確認を行う方法に限定することも可能である。具体的には、動作検知回路１３１において書き込み動作及び書き込みベリファイ動作を検知した場合に、動作手順検知回路１３４において、アドレス信号８１２の指定するアドレスが所定数のメモリセルを指定していないない場合に動作手順検知信号８１５を“０”にする。これにより、読み出し禁止を解除するための動作手順をより厳密にすることができると共に、書き込みの信頼性を向上することができる。
【０１２４】
また、動作手順検知回路１３４において、書き込み動作が終了した後に、書き込まれたデータがすべて同じデータ（すなわち、全メモリセルが消去状態又は全メモリセルが書き込み状態）であることを検知した場合には、動作手順検知信号８１５を“０”にすることにより、書き込み後に全メモリセルがすべて同じ状態となることを防ぐことも可能である。これにより、ゲート電圧の操作による書き込みベリファイ動作の結果の誤判定を確実に防止できるため、メモリセルアレイ１２１に保持されたデータの機密を確実に保護することができる。
【０１２５】
（第２の実施形態）
以下、本発明の第２の実施形態について図面を参照しながら説明する。なお、以下の説明において、第１の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０１２６】
図５は第２の実施形態に係る半導体装置の機能構成を示している。
【０１２７】
図５に示すように、本実施形態の半導体装置２０１は、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４、データを記憶するための不揮発性メモリブロック２０５を備えている。また、半導体装置２０１には、外部との接続手段として、制御信号入力端子８０１、アドレス入力端子８０２及びデータ入出力端子８０３が設けられており、制御信号入力端子８０１及びアドレス入力端子８０２は書き換え制御回路１０６を介して、またデータ入出力端子８０３は外部入出力制御部１０７を介して不揮発性メモリブロック２０５と接続されている。さらに、不揮発性メモリブロック２０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部２０８及び読み出し禁止解除制御部２０９が設けられている。
【０１２８】
以下に、本実施形態の半導体装置を構成する各部について具体的に説明する。
【０１２９】
不揮発性メモリブロック２０５は、データを記憶するためのメモリセルアレイ２２１、入出力制御部１２２、センスアンプ１２３及びデコーダ１２４からなる。メモリセルアレイ２２１は、第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３のｎ個（ｎは２以上の整数である）のブロックに分割され、消去単位ごとの一括消去が可能となるように構成されたフラッシュＥＥＰＲＯＭからなる。
【０１３０】
ここで、メモリセルアレイ２２１に対する動作は、第１の実施形態と同様に、消去動作、書き込み動作、読み出し動作、消去ベリファイ動作及び書き込みベリファイ動作が含まれる。なお、プリプログラム動作とリバース動作とをさらに含んでいてもよい。
【０１３１】
図６（ａ）は第２の実施形態に係る書き換え動作検知部２０８及び読み出し禁止解除制御部２０９の機能構成を示している。
【０１３２】
図６（ａ）に示すように、本実施形態の書き換え動作検知部２０８は、動作検知回路１３１、メモリセルアレイ２２１に対する消去動作が正常に行われたか否かを検知する消去結果判定回路２３２、メモリセルアレイ２２１に対する書き込み動作が正常に行われたか否かを検知する書き込み結果判定回路２３３及びメモリセルアレイ２２１に対して所定の動作手順が行われたか否かを検知する動作手順検知回路２３４からなる。
【０１３３】
消去結果判定回路２３２及び書き込み結果判定回路２３３は、書き換え制御回路１０６から入力されるアドレス信号８１２に基づいてベリファイ動作の対象となる消去単位を判断すると共に、入出力制御部１２２から入力されるベリファイ結果信号８１４に基づいて、各消去単位ごとに消去動作及び書き込み動作がそれぞれ正常に行われたか否かを判断する回路である。
【０１３４】
具体的に、消去結果判定回路２３２では、ベリファイ結果信号８１４が入力され、且つ該ベリファイ結果信号８１４が消去ベリファイ動作の結果であることを動作検知回路１３１により検知した場合に、アドレス信号８１２に基づいて消去ベリファイ動作の行われた消去単位を決定し、ベリファイ結果信号８１４に基づいて該消去単位に対する消去動作が正常に行われたか否かを判定する。
【０１３５】
また、書き込み結果判定回路２３３では、ベリファイ結果信号８１４が入力され、且つ該ベリファイ結果信号８１４が書き込みベリファイ動作の結果であることを動作検知回路１３１により検知した場合に、アドレス信号８１２に基づいて書き込みベリファイ動作の行われたメモリセルの位置する消去単位を決定すると共に、アドレス信号８１２及びベリファイ結果信号８１４に基づいて該消去単位の全メモリセルに対する書き込み動作が正常に行われたか否かを判定する。
【０１３６】
動作手順検知回路２３４は、動作検知回路１３１、消去結果判定回路２３２及び書き込み結果判定回路２３３において検知及び判定されたそれぞれの結果に基づいて、メモリセルアレイ２２１に対して所定の動作手順が行われたか否かを消去単位ごとに判断し、所定の動作手順が行われたと判断された場合には、動作手順検知信号８２５を“１”にし、それ以外の場合には“０”にする回路である。
【０１３７】
ここで、動作手順検知信号８２５は、第１の消去単位から第ｎの消去単位までのそれぞれに対応したｎ個の信号からなり、例えば第２の消去単位２６２に対して所定の動作手順が行われたと判断された場合には、第２の消去単位２６２に対する動作手順検知信号８２５が“１”となる。
【０１３８】
また、図６（ａ）に示すように、本実施形態の読み出し禁止解除制御部２０９は、読み出し動作検知回路１４１、動作手順検知回路２３４が検知した結果を消去単位ごとに保存する動作手順検知レジスタ部２４２及び読み出し禁止を解除するか否かを消去単位ごとに制御する読み出し禁止解除制御回路２４３からなる。ここで、動作手順検知レジスタ部２４２には、揮発性メモリセルからなる第１のレジスタ、第２のレジスタ、…、第ｎのレジスタのｎ個のレジスタが設けられており、それぞれ第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３に対応している。
【０１３９】
動作手順検知レジスタ部２４２は、アドレス信号８１２に基づいてレジスタを選択すると共に、動作手順検知信号８２５に基づいて選択されたレジスタに対する書き込みを行うように構成される。例えばアドレス信号８１２として第２の消去単位２６２を指定する信号が入力された場合に、第２の消去単位２６２に対する動作手順検知信号８２５が“１”であれば、第２のレジスタは書き込みが行われてセット状態となり、また第２の消去単位２６２に対する動作手順検知信号８２５が“０”であれば第２のレジスタは消去が行われてリセット状態となる。なお、動作手順検知レジスタ部２４２の各レジスタは揮発性であるため、半導体装置２０１の電源オン時にはすべてリセット状態である。
【０１４０】
読み出し禁止解除制御回路２４３は、読み出し動作検知回路１４１において読み出し動作が検知された場合に、アドレス信号８１２と動作手順検知レジスタ部２４２の各レジスタの書き込み状態とに応じて消去単位ごとに読み出し禁止解除信号８２６を出力する回路である。
【０１４１】
ここで、読み出し禁止解除信号８２６は、第１の消去単位から第ｎの消去単位までのそれぞれに対応したｎ個の信号からなり、例えば、アドレス信号８１２に第２の消去単位２６２を指定する信号が入力された場合、第２のレジスタがセット状態であれば第２の消去単位２６２に対する読み出し禁止解除信号８２６に“１”を出力し、リセット状態であれば第２の消去単位２６２に対する読み出し禁止解除信号８２６を“０”を出力する。
【０１４２】
図６（ｂ）は本実施形態に係る外部入出力制御部２０７の機能構成を示している。
【０１４３】
図６（ｂ）に示すように、本実施形態の外部入出力制御部２０７は、入力制御回路１５２と、データ信号８１３及びベリファイ結果信号８１４の外部への出力を制御する出力禁止制御回路２５１とによって構成される。
【０１４４】
出力禁止制御回路２５１は、制御信号８１１、読み出し禁止解除信号８２６及びアドレス信号８１２に基づいてデータ信号８１３及びベリファイ結果信号８１４の外部への出力を、メモリセルアレイ２２１の消去単位ごとに制御する回路である。具体的に、制御信号８１１が読み出し動作を指定し、且つアドレス信号８１２に指定される消去単位に対する読み出し禁止解除信号８２６が“１”であれば、データ信号８１３として入力されるデータを外部へ出力し、それ以外の場合はデータ信号８１３の外部への出力を禁止する制御を行う。なお、ベリファイ結果信号８１４は読み出し禁止解除信号８２６に関わらずデータ入出力端子８０３を介して外部に出力される。
【０１４５】
以下に、前述のように構成された本実施形態の半導体装置２０１の動作について説明する。
【０１４６】
まず、半導体装置２０１の外部から不揮発性メモリブロック２０５に対して行う動作について図５、図６（ａ）及び図６（ｂ）を参照しながら説明する。
【０１４７】
本実施形態の不揮発性メモリブロック２０５に対する外部からの動作は、第１の実施形態と同様に、制御信号入力端子８０１及びアドレス入力端子８０２にそれぞれ動作を指定する命令及び動作の対象となるメモリセルのアドレス情報を外部から入力することにより行われる。また、書き込み動作及び書き込みベリファイ動作においては、データ入出力端子８０３に書き込み用のデータを入力する。これらの入力に基づいて、書き換え制御回路１０６及び入力制御回路１５２が駆動して制御信号８１１、アドレス信号８１２及びデータ信号８１３が入出力制御部１２２に入力される。
【０１４８】
書き込み動作及び書き込みベリファイ動作は第１の実施形態と同様に行うことができる。
【０１４９】
消去動作を指定する制御信号８１１が入力された場合、入出力制御部１２２は、アドレス信号８１２に指定された消去単位を選択するようにデコーダ１２４を制御すると共にメモリセルアレイ２２１を制御して該消去単位の全メモリセルを消去状態にする。
【０１５０】
また、消去ベリファイ動作を指定する制御信号８１１が入力された場合、入出力制御部１２２は、アドレス信号８１２によって指定される消去単位に書き込まれたデータを消去単位の先頭アドレスから順次連続してセンスアンプ信号として読み出す。次にセンスアンプ信号として読み出されたデータがすべて消去状態を示すデータであれば、消去動作が正常に行われたと判定してベリファイ結果信号８１４に“１”を出力し、それ以外の場合にはベリファイ結果信号８１４に“０”を出力する。
【０１５１】
また、入出力制御部１２２に読み出し動作を指定する制御信号８１１が入力されると、メモリセルアレイ２２１、センスアンプ１２３及びデコーダ１２４を駆動し、アドレス信号８１２に指定されたメモリセルに書き込まれたデータをデータ信号８１３として出力禁止制御回路２５１に出力する。次に、出力禁止制御回路２５１は、アドレス信号８１２に基づいて、入出力制御部１２２から入力された読み出し用のデータ信号８１３がいずれの消去単位に該当するかを判断し、読み出し禁止解除信号８２６のうちの該当する消去単位に対する信号が“１”である場合はデータ入出力端子８０３を介してデータ信号８１３を外部に出力する。読み出し禁止解除信号８２６の該当する消去単位に対する信号が“０”である場合、出力禁止制御回路２５１はデータ信号８１３の出力を禁止するように制御するため、外部への読み出しは完了しない。
【０１５２】
次に、メモリセルアレイ２２１に保持されたデータの外部への読み出し方法について説明する。
【０１５３】
第２の実施形態に係る半導体装置２０１の外部への読み出し禁止を解除するための動作手順は、図３（ａ）に示した第１の実施形態の動作手順とは、メモリセルアレイ２２１に保持されたデータの外部への読み出し禁止の設定が消去単位ごと行われる点が異なっている。以下の説明では、一例として第２の消去単位２６２に対する読み出し方法について、図３（ａ）を参照しながら説明する。
【０１５４】
まず、半導体装置２０１の電源をオンにする。この時、動作手順検知レジスタ部２４２の各レジスタは揮発性メモリであるため、すべてリセット状態である。従って、読み出し禁止解除信号８２６はすべて“０”になるので、外部入出力制御部２０７の出力禁止制御回路２５１は、すべての消去単位について、不揮発性メモリブロック２０５から入力されたデータ信号８１３のデータ入出力端子８０３への出力を禁止する制御を行う。つまり、出力禁止制御回路２５１は、電源オン時に必ずメモリセルアレイ２２１のすべての消去単位に保持されたデータの外部への出力を禁止する。
【０１５５】
次に、制御信号入力端子８０１及びアドレス入力端子８０２から書き換え制御回路１０６を介して消去動作を指定する制御信号８１１及び第２の消去単位２６２を指定するアドレス信号８１２を入出力制御部１２２に入力する。これにより、不揮発性メモリブロック２０５において、第２の消去単位２６２の全メモリセルに対して消去動作が実行される。この消去動作に伴って、制御信号８１１が動作検知回路１３１に入力されることにより、消去動作が実行されたことが動作検知回路１３１に検知される。
【０１５６】
次に、制御信号入力端子８０１及びアドレス入力端子８０２から書き換え制御回路１０６を介して消去ベリファイ動作を指定する制御信号８１１及びアドレス信号８１２を入出力制御部１２２に入力する。これにより、不揮発性メモリブロック２０５において、第２の消去単位２６２の全メモリセルに対して消去ベリファイ動作が実行され、その結果がベリファイ結果信号８１４として出力される。この消去ベリファイ動作に伴って、消去結果判定回路２３２は、入力されたアドレス信号８１２及びベリファイ結果信号８１４に基づいて、第２の消去単位２６２の全メモリセルに対する消去動作が正常に実行されたか否かを判定する。
【０１５７】
次に、制御信号入力端子８０１及びアドレス入力端子８０２から書き換え制御回路１０６を介してそれぞれ書き込み動作を指定する制御信号８１１及び第２の消去単位２６２を指定するアドレス信号８１２を、また、データ入出力端子８０３から外部入出力制御部１０７を介して入力データであるデータ信号８１３を入出力制御部１２２に入力する。これにより、入出力制御部１２２及びデコーダ１２４はアドレス信号８１２及びデータ信号８１３に基づいてメモリセルアレイ２２１の書き込み動作を行う。この動作に伴って、制御信号８１１は動作検知回路１３１に入力され、書き込み動作が実行されたことが検知される。
【０１５８】
次に、制御信号入力端子８０１及びアドレス入力端子８０２から書き換え制御回路１０６を介してそれぞれ書き込みベリファイ動作を指定する制御信号８１１及び第２の消去単位２６２の全メモリセルを指定するアドレス信号８１２を、また、データ入出力端子８０３から外部入出力制御部２０７を介して比較対象となるデータ信号８１３を入出力制御部１２２に入力する。これにより、第２の消去単位２６２の全メモリセルに対して書き込みベリファイ動作が実行され、その結果がベリファイ結果信号８１４として出力される。この書き込みベリファイ動作に伴って、書き込み結果判定回路２３３は、入力されたアドレス信号８１２及びベリファイ結果信号８１４に基づいて、第２の消去単位２６２の全メモリセルに対する書き込み動作が正常に実行されたか否かを判定する。
【０１５９】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路２３２において第２の消去単位２６２に対する正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路２３３において第２の消去単位２６２に対する正常な動作が確認され、さらにアドレス信号に基づいてこれらの動作が第２の消去単位２６２の全メモリセルに対して行われたことが検知された場合には、動作手順検知回路２３４は動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号を“１”にし、動作手順検知レジスタ部２４２の第２のレジスタがセット状態にされる。
【０１６０】
ここで、動作検知回路１３１において消去動作及び書き込み動作を検知すべきそれぞれの手順に、それぞれ消去動作及び書き込み動作以外の動作が検知された場合、又は消去結果判定回路２３２及び書き込み結果判定回路２３３において、それぞれ第２の消去単位に対する正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路２３４は動作手順検知信号８２５の第２の消去単位２６２に対する信号を“０”にするため、動作手順検知レジスタ部２４２の第２のレジスタはリセット状態のままであり、読み出し禁止解除制御回路２４３は読み出し禁止解除信号８２６のうちの第２の消去単位２６２に対する信号を“０”にする。従って、出力禁止制御回路２５１は、第２の消去単位２６２から入力されるデータ信号８１３の外部入出力制御部２０７への出力を禁止する制御を行うため、第２の消去単位２６２に対する読み出し命令を外部から入力しても第２の消去単位２６２に保持されたデータは出力されない。
【０１６１】
このように、第２の消去単位２６２の全メモリセルに対して、消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合のみ、動作手順検知レジスタ部２４２の第２のレジスタがセット状態となり、読み出し禁止解除信号８２６の第２の消去単位２６２に対する信号が“１”になるため、出力禁止制御回路２５１における第２の消去単位２６２の読み出し禁止状態が解除され、外部への読み出しが可能な状態となる。
【０１６２】
その後電源をオフにするまで第２の消去単位２６２に対する読み出しが可能であり、次に電源をオンにすると動作手順検知レジスタ部２４２のレジスタは再びすべてリセット状態となるため、出力禁止制御回路２５１がデータ信号８１３のデータ入出力端子８０３への出力を禁止する制御を行うので、メモリセルアレイ２２１のすべての消去単位に保持されたデータの機密は保護された状態となる。
【０１６３】
なお、以上に説明したメモリセルアレイ２２１に保持されたデータの外部への読み出し方法は、第２の消去単位２６２を例として説明したが、他の消去単位についても同様に、消去単位ごとに独立して読み出しを行うことができる。
【０１６４】
また、動作手順検知回路２３４の設定を変更することにより、図３（ｂ）に示す第１の実施形態に係る第１の変形例のように、正常な消去動作の確認及び正常な書き込み動作の確認が１つの消去単位に対して順次行われた場合に、該消去単位に記憶されたデータの外部への読み出しが可能となるようにしてもよい。勿論、図４（ａ）に示す第１の実施形態に係る第２の変形例のように、プリプログラム動作の検知、消去動作の検知、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が１つの消去単位に対して順次行われた場合、又は図４（ｂ）に示す第１の実施形態に係る第３の変形例のように、消去動作の検知、正常な消去動作の確認、書き込み動作、正常な書き込み動作の確認及びリバース動作の検知が１つの消去単位に対して順次行われた場合に、該消去単位に記憶されたデータの外部への読み出しが可能となるようにしてもよい。
【０１６５】
また、所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行う方法に限定する動作手順及び消去単位内の全メモリセルがすべて同じ状態となることを防ぐ動作手順も第１の実施形態と同様に実施可能である。
【０１６６】
以上説明したように、第２の実施形態によると、第１の実施形態と同様の機密保護が可能であるのに加えて、読み出し禁止の解除を消去単位となるブロックごとに行うため、読み出し禁止の解除を部分的にのみ行えばよい場合には該当する消去単位のみに対して所定の動作を行えば良く、全消去を行う必要がない。従って、不必要な消去動作によるメモリセルの信頼性の低下を防止することができる。
【０１６７】
（第３の実施形態）
以下、本発明の第３の実施形態について図面を参照しながら説明する。なお、以下の説明において、第１の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０１６８】
図７（ａ）及び図７（ｂ）は第３の実施形態に係る半導体装置の機能構成を示している。
【０１６９】
図７（ａ）に示すように、本実施形態の半導体装置３０１は、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４、データを記憶するための不揮発性メモリブロック３０５を備えている。また、半導体装置３０１には、外部との接続手段として、制御信号入力端子８０１、アドレス入力端子８０２及びデータ入出力端子８０３が設けられており、制御信号入力端子８０１及びアドレス入力端子８０２は書き換え制御回路１０６を介して、またデータ入出力端子８０３は外部入出力制御部３０７を介して不揮発性メモリブロック３０５と接続されている。さらに、不揮発性メモリブロック３０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部１０８及び読み出し禁止解除制御部１０９が設けられている。
【０１７０】
また、不揮発性メモリブロック３０５は、メモリセルアレイ１２１、該メモリセルアレイ１２１に対する動作を制御する入出力制御部３２２、センスアンプ１２３及びデコーダ１２４からなる。
【０１７１】
本実施形態の書き換え動作検知部１０８及び読み出し禁止解除制御部１０９は、図２（ａ）に示した第１の実施形態の書き換え動作検知部及び読み出し禁止解除制御部と同様に構成されており、書き換え動作検知部１０８は、動作検知回路１３１、消去結果判定回路１３２、書き込み結果判定回路１３３及び動作手順検知回路１３４からり、また、読み出し禁止解除制御部１０９は読み出し動作検知回路１４１、動作手順検知レジスタ１４２及び読み出し禁止解除制御回路１４３からなる。ただし、読み出し禁止解除制御回路１４３から出力される読み出し禁止解除信号８１６は、入出力制御部３２２のデータ出力禁止制御回路３６２に入力される。
【０１７２】
また、外部入出力制御部３０７は、データ入出力端子８０３を介して外部から入力されたデータをデータ信号８１３として入出力制御部３２２に出力すると共に、入出力制御部３２２から入力されたデータ信号８１３及びベリファイ結果信号８１４をデータ入出力端子８０３を介して外部に出力する回路である。
【０１７３】
本実施形態は、読み出し禁止解除制御部１０９から入力される読み出し禁止解除信号８１６が入出力制御部３２２に入力され、該入出力制御部３２２において読み出し禁止の制御を行う点が第１の実施形態と異なっている。
【０１７４】
以下に、本実施形態の入出力制御部３２２について図面を参照しながら説明する。
【０１７５】
図７（ｂ）は本実施形態の入出力制御部３２２の機能構成を示している。
【０１７６】
図７（ｂ）に示すように、本実施形態の入出力制御部３２２は、メモリセルアレイに対する動作が正常に行われたか否かを判定しその結果を出力するベリファイ結果出力制御回路３６１、メモリセルアレイ１２１に保持されたデータの出力を制御するデータ出力禁止制御回路３６２及びメモリセルアレイ１２１へのデータの入力を制御するデータ入力制御回路３６３からなる。
【０１７７】
データ入力制御回路３６３は、制御信号８１１及びアドレス信号８１２に基づいて、外部入出力制御部３０７からデータ信号８１３として入力されたデータをセンスアンプ信号８３１としてメモリセルアレイ１２１に書き込むための回路である。また、データ出力禁止制御回路３６２は、制御信号８１１及びアドレス信号８１２に基づいてメモリセルアレイ１２１からセンスアンプ信号８３１として読み出されたデータを、データ信号８１３として出力するか否かの制御を行う回路である。
【０１７８】
ここで、データ出力禁止制御回路３６２は、制御信号８１１に読み出し動作を指定する信号が出力され、且つ読み出し禁止解除信号８１６が“１”である場合には、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力し、それ以外の場合にはデータ信号８１３の出力を禁止する制御が行われる。
【０１７９】
また、ベリファイ結果出力制御回路３６１は、制御信号８１１及びアドレス信号８１２に基づいてメモリセルアレイ１２１に対する消去ベリファイ動作及び書き込みベリファイ動作の制御を行い、その結果をベリファイ結果信号８１４として外部入出力制御部３０７に出力する。
【０１８０】
以下に、前述のように構成された本実施形態の半導体装置３０１の動作について説明する。
【０１８１】
まず、半導体装置３０１の外部から不揮発性メモリブロック３０５に対して行う動作について図２（ａ）、図７（ａ）及び図７（ｂ）を参照しながら説明する。
【０１８２】
本実施形態の不揮発性メモリブロック３０５に対する外部からの動作は、第１の実施形態と同様に、制御信号入力端子８０１及びアドレス入力端子８０２にそれぞれ動作を指定する命令及び動作の対象となるメモリセルのアドレス情報を外部から入力することにより行われる。また、書き込み動作及び書き込みベリファイ動作においては、データ入出力端子８０３に書き込み用のデータを入力する。これらの入力に基づいて、書き換え制御回路１０６及び外部入出力制御部３０７が駆動して制御信号８１１、アドレス信号８１２及びデータ信号８１３が入出力制御部３２２に入力される。
【０１８３】
入出力制御部３２２に書き込み動作を指定する制御信号８１１が入力されると、入出力制御部３２２は、アドレス信号８１２に指定されたアドレスのメモリセルを選択するようにデコーダ１２４を制御する。また、データ入力制御回路３６３がメモリセルアレイ１２１を制御してデータ信号８１３として外部から入力されたデータをメモリセルに書き込む。
【０１８４】
なお、この書き込み動作は、先頭アドレスからバイト単位又はページ単位で順次連続して行ってもよい。
【０１８５】
入出力制御部３２２に書き込みベリファイ動作を指定する制御信号８１１が入力されると、入出力制御部３２２は、まず、アドレス信号８１２に指定されたアドレスのメモリセルを選択するようにデコーダ１２４を制御する。また、ベリファイ結果出力制御回路３６１がメモリセルアレイ１２１及びセンスアンプ１２３を駆動してメモリセルに書き込まれたデータをセンスアンプ信号８３１として読み出す。次に、ベリファイ結果出力制御回路３６１において、センスアンプ信号８３１として読み出されたデータとデータ信号８１３として入力されたデータとを比較することにより書き込み動作が正常に行われたか否かを判定する。ベリファイ結果出力制御回路３６１は、読み出されたデータとデータ信号８１３として入力されたデータとが完全に一致した場合には、書き込み動作が正常に行われたと判定してベリファイ結果信号８１４に“１”を出力し、それ以外の場合には“０”にする。
【０１８６】
消去動作を指定する制御信号８１１が入力が入力された場合、入出力制御部３２２は、アドレス信号８１２に指定されたメモリセルを選択するようにデコーダ１２４を制御すると共にメモリセルアレイ１２１を制御して選択されたメモリセルを消去状態にする。
【０１８７】
また、消去ベリファイ動作を指定する制御信号８１１が入力された場合、ベリファイ結果出力制御回路３６１は、メモリセルアレイ１２１、センスアンプ１２３及びデコーダ１２４を駆動してメモリセルに書き込まれたデータをセンスアンプ信号８３１として読み出し、センスアンプ信号８３１として読み出されたデータがすべて消去状態を示すデータであれば、消去動作が正常に行われたと判定してベリファイ結果信号８１４に“１”を出力し、それ以外の場合にはベリファイ結果信号８１４に“０”を出力する。
【０１８８】
また、入出力制御部３２２に読み出し動作を指定する制御信号８１１が入力された場合、まず、データ出力禁止制御回路３６２は、メモリセルアレイ１２１、センスアンプ１２３及びデコーダ１２４を駆動し、アドレス信号８１２に指定されたメモリセルに書き込まれたデータをセンスアンプ信号８３１として読み出す。ここで、データ出力禁止制御回路３６２は、読み出し禁止解除信号８１６が“１”である場合は、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力する。読み出し禁止解除信号８１６が“０”である場合、データ出力禁止制御回路３６２は、センスアンプ信号８３１からデータ信号８１３を生成しないするように制御するため、読み出し動作は行われない。
【０１８９】
次に、メモリセルアレイ１２１に保持されたデータの外部への読み出し方法について図面を参照しながら説明する。
【０１９０】
第３の実施形態に係る半導体装置３０１の外部への読み出し禁止を解除するための動作手順は、図３（ａ）に示した第１の実施形態の動作手順と同様であるが、メモリセルアレイ１２１に保持されたデータの外部への読み出し禁止の設定が、入出力制御部３２２において行われる点が異なっている。以下の説明では、本実施形態のメモリセルアレイ１２１に対する読み出し方法について、図３（ａ）を参照しながら説明する。
【０１９１】
まず、半導体装置３０１の電源をオンにする。この時、動作手順検知レジスタ１４２はリセット状態であるため、読み出し禁止解除制御回路１４３が読み出し禁止解除信号８１６に“０”を出力するので、センスアンプ信号８３１として読み出されたデータの出力を禁止する制御を行う。つまり、データ出力禁止制御回路３６２は、電源オン時に必ずメモリセルアレイ１２１に保持されたデータの不揮発性メモリブロック３０５からの出力を禁止する。
【０１９２】
次に、第１の実施形態と同様にして、外部から消去動作、消去ベリファイ動作、書き込み動作及び書き込みベリファイ動作を順次行う。
【０１９３】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路１３２において正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路１３３において正常な動作が確認された場合には、動作手順検知回路１３４は動作手順検知信号８１５を“１”にする。
【０１９４】
ここで、動作検知回路１３１において消去動作及び書き込み動作を検知すべきそれぞれの手順に、それぞれ消去動作及び書き込み動作以外の動作が検知された場合、又は消去結果判定回路１３２及び書き込み結果判定回路１３３においてそれぞれ正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路１３４は動作手順検知信号８１５を“０”にするため、動作手順検知レジスタ１４２はリセット状態のままとなり、読み出し禁止解除制御回路１４３は読み出し禁止解除信号８１６を“０”にする。従って、データ出力禁止制御回路３６２は、メモリセルアレイ１２１から入力されるセンスアンプ信号８３１をデータ信号８１３として出力しないような制御を行うため、読み出し命令を外部から入力してもメモリセルアレイ１２１に保持されたデータは不揮発性メモリブロック３０５から読み出されない。
【０１９５】
このように、メモリセルアレイ１２１の全メモリセルに対して消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合のみ、動作手順検知レジスタ１４２がセット状態となり、読み出し禁止解除信号が“１”になるため、データ出力禁止制御回路３６２における読み出し禁止状態が解除され、外部への読み出しが可能な状態となる。
【０１９６】
その後電源をオフにするまで読み出しが可能であり、次に電源をオンにすると動作手順検知レジスタ１４２は再びリセット状態となるので、データ出力禁止制御回路３６２がデータ信号８１３の出力を禁止する制御を行うため、メモリセルアレイ１２１に保持されたデータの機密は保護された状態となる。
【０１９７】
なお、動作手順検知回路１３４の設定を変更することにより、図３（ｂ）に示す第１の実施形態に係る第１の変形例のように、正常な消去動作の確認及び正常な書き込み動作の確認が順次行われた場合のみ外部への読み出しを可能としてもよい。勿論、図４（ａ）に示す第１の実施形態に係る第２の変形例のように、プリプログラム動作の検知、消去動作の検知、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合、又は図４（ｂ）に示す第１の実施形態に係る第３の変形例のように、消去動作の検知、正常な消去動作の確認、書き込み動作、正常な書き込み動作の確認及びリバース動作の検知が順次行われた場合のみ外部への読み出しを可能としてもよい。
【０１９８】
また、所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行う方法に限定する動作手順及び全メモリセルがすべて同じ状態となることを防ぐ動作手順も第１の実施形態と同様に実施可能である。
【０１９９】
以上説明したように、第３の実施形態によると、第１の実施形態と同様の機密保護が可能であるのに加えて、メモリセルアレイ１２１に保持されたデータは不揮発性メモリブロック１０５から読み出されないため、例えば入出力制御部３２２と外部入出力制御部３０７との間のデータ信号８１３を解析する等の行為によって第３者がデータを不正に利用することを防止することができ、より確実な機密保護が可能となる。
【０２００】
（第４の実施形態）
以下、本発明の第４の実施形態について図面を参照しながら説明する。なお、以下の説明において、第２及び第３の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０２０１】
図８（ａ）及び図８（ｂ）は第４の実施形態に係る半導体装置の機能構成を示している。
【０２０２】
図８（ａ）に示すように、本実施形態の半導体装置４０１は、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４、データを記憶するための不揮発性メモリブロック４０５を備えている。また、半導体装置４０１には、外部との接続手段として、制御信号入力端子８０１、アドレス入力端子８０２及びデータ入出力端子８０３が設けられており、制御信号入力端子８０１及びアドレス入力端子８０２は書き換え制御回路１０６を介して、またデータ入出力端子８０３は外部入出力制御部３０７を介して不揮発性メモリブロック４０５と接続されている。さらに、不揮発性メモリブロック４０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部２０８及び読み出し禁止解除制御部２０９が設けられている。
【０２０３】
また、不揮発性メモリブロック４０５は、メモリセルアレイ２２１、該メモリセルアレイ２２１に対する動作を制御する入出力制御部４２２、センスアンプ１２３及びデコーダ１２４からなり、メモリセルアレイ２２１は第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３のｎ個（ｎは２以上の整数である）のブロックに分割されたフラッシュＥＥＰＲＯＭからなる。
【０２０４】
本実施形態の書き換え動作検知部２０８及び読み出し禁止解除制御部２０９は、図６（ａ）に示した第２の実施形態の書き換え動作検知部２０８及び読み出し禁止解除制御部２０９と同様に構成されており、書き換え動作検知部２０８は、動作検知回路１３１、消去結果判定回路２３２、書き込み結果判定回路２３３及び動作手順検知回路２３４からり、また、読み出し禁止解除制御部２０９は読み出し動作検知回路１４１、動作手順検知レジスタ部２４２及び読み出し禁止解除制御回路２４３からなる。ただし、読み出し禁止解除制御回路２４３から出力される読み出し禁止解除信号８２６は、入出力制御部４２２のデータ出力禁止制御回路４６２に入力される。
【０２０５】
本実施形態は、読み出し禁止解除制御部２０９から入力される読み出し禁止解除信号８２６が入出力制御部４２２に入力され、該入出力制御部４２２において読み出し禁止の制御を行う点が第２の実施形態と異なっている。
【０２０６】
以下に、本実施形態の半導体装置を前述のように構成する各部の機能構成を具体的に説明する。
【０２０７】
図８（ｂ）は本実施形態の入出力制御部４２２の機能構成を示している。
【０２０８】
図８（ｂ）に示すように、本実施形態の入出力制御部４２２は、ベリファイ結果出力制御回路４６１、メモリセルアレイ２２１に保持されたデータの出力を制御するデータ出力禁止制御回路４６２及びメモリセルアレイ２２１へのデータの入力を制御するデータ入力制御回路３６３からなる。
【０２０９】
データ出力禁止制御回路４６２は、制御信号８１１及びアドレス信号８１２に基づいてメモリセルアレイ２２１からセンスアンプ信号８３１として読み出されたデータを、データ信号８１３として出力するか否かの制御を消去単位ごとに行う回路である。
【０２１０】
ここで、データ出力禁止制御回路４６２は、制御信号８１１が読み出し動作を指定し、且つアドレス信号８１２に指定される消去単位に対する読み出し禁止解除信号８２６が“１”である場合には、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力し、それ以外の場合にはデータ信号８１３の外部への出力を禁止する制御を行う。なお、ベリファイ結果信号８１４は読み出し禁止解除信号８２６に関わらずデータ入出力端子８０３を介して外部に出力される。
【０２１１】
以下に、前述のように構成された本実施形態の半導体装置４０１の動作について説明する。
【０２１２】
まず、半導体装置４０１の外部から不揮発性メモリブロック４０５に対して行う動作について図６（ａ）、図８（ａ）及び図８（ｂ）を参照しながら説明する。
【０２１３】
本実施形態の不揮発性メモリブロック４０５に対する外部からの動作は、第１の実施形態と同様に、制御信号入力端子８０１及びアドレス入力端子８０２にそれぞれ動作を指定する命令及び動作の対象となるメモリセルのアドレス情報を外部から入力することにより行われる。また、書き込み動作及び書き込みベリファイ動作においては、データ入出力端子８０３に書き込み用のデータを入力する。これらの入力に基づいて、書き換え制御回路１０６及び外部入出力制御部３０７が駆動して制御信号８１１、アドレス信号８１２及びデータ信号８１３が入出力制御部３２２に入力される。
【０２１４】
書き込み動作及び書き込みベリファイ動作は、第３の実施形態と同様に行うことができる。
【０２１５】
消去動作を指定する制御信号８１１が入力が入力された場合、入出力制御部４２２は、アドレス信号８１２に指定された消去単位を選択するようにデコーダ１２４を制御すると共にメモリセルアレイ２２１を制御して該消去単位の全メモリセルを消去状態にする。
【０２１６】
また、消去ベリファイ動作を指定する制御信号８１１が入力された場合、ベリファイ結果出力制御回路４６１は、メモリセルアレイ２２１、センスアンプ１２３及びデコーダ１２４を駆動して、アドレス信号８１２に指定された消去単位の先頭アドレスから順次連続してセンスアンプ信号８３１として読み出す。センスアンプ信号８３１として読み出されたデータがすべて消去状態を示すデータであれば、消去動作が正常に行われたと判定してベリファイ結果信号８１４に“１”を出力し、それ以外の場合にはベリファイ結果信号８１４に“０”を出力する。
【０２１７】
また、入出力制御部４２２に読み出し動作を指定する制御信号８１１が入力された場合、まず、データ出力禁止制御回路４６２は、メモリセルアレイ２２１、センスアンプ１２３及びデコーダ１２４を駆動し、アドレス信号８１２に指定されたメモリセルに書き込まれたデータをセンスアンプ信号８３１として読み出す。ここで、データ出力禁止制御回路４６２は、アドレス信号８１２に基づいて、メモリセルアレイ２２１から読み出されたセンスアンプ信号８３１がいずれの消去単位に該当するかを判断し、読み出し禁止解除信号８２６のうちの該当する消去単位に対する信号が“１”である場合はセンスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力する。読み出し禁止解除信号８２６の該当する消去単位に対する信号が“０”である場合、データ出力禁止制御回路４６２はデータ信号８１３の出力を禁止するように制御するため、外部への読み出しは完了しない。データ出力禁止制御回路４６２は、センスアンプ信号８３１からデータ信号８１３を生成しないするように制御するため、読み出し動作は行われない。
【０２１８】
次に、メモリセルアレイ２２１に保持されたデータの外部への読み出し方法について図面を参照しながら説明する。
【０２１９】
第４の実施形態に係る半導体装置４０１の外部への読み出し禁止を解除するための動作手順は、第２の実施形態の動作手順と同様であるが、メモリセルアレイ２２１に保持されたデータの外部への読み出し禁止の設定が、入出力制御部４２２において行われる点が異なっている。以下の説明では、一例として第２の消去単位２６２に対する読み出し方法について、図３（ａ）を参照しながら説明する。
【０２２０】
まず、半導体装置４０１の電源をオンにする。この時、動作手順検知レジスタ部２４２の各レジスタはリセット状態である。従って、読み出し禁止解除信号８２６はすべて“０”になるので、入出力制御部４２２のデータ出力禁止制御回路４６２は、すべての消去単位について、センスアンプ信号８３１として読み出されたデータの外部入出力制御部３０７への出力を禁止する制御を行う。つまり、データ出力禁止制御回路４６２は、電源オン時に必ずメモリセルアレイ２２１のすべての消去単位に保持されたデータの不揮発性メモリブロック４０５からの出力を禁止する。
【０２２１】
次に、第２の実施形態と同様にして、第２の消去単位２６２の全メモリセルに対して、外部から消去動作、消去ベリファイ動作、書き込み動作及び書き込みベリファイ動作を順次行う。
【０２２２】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路２３２において第２の消去単位２６２に対する正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路２３３において第２の消去単位２６２に対する正常な動作が確認された場合には、動作手順検知回路２３４は動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号を“１”にし、動作手順検知レジスタ部２４２の第２のレジスタがセット状態にされる。
【０２２３】
ここで、動作検知回路１３１において、消去動作及び書き込み動作を検知すべきそれぞれの手順に、それぞれ消去動作及び書き込み動作以外の動作が検知された場合、又は消去結果判定回路２３２及び書き込み結果判定回路２３３においてそれぞれ正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路２３４は動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号を“０”にするため、動作手順検知レジスタ部２４２の第２のレジスタはリセット状態のままとなり、読み出し禁止解除制御回路２４３は読み出し禁止解除信号８２６のうちの第２の消去単位２６２に対する信号を“０”にする。従って、データ出力禁止制御回路４６２は、第２の消去単位２６２から入力されるセンスアンプ信号８３１をデータ信号８１３として出力しないような制御を行うため、読み出し命令を外部から入力しても第２の消去単位２６２に保持されたデータは不揮発性メモリブロック４０５から読み出されない。
【０２２４】
このように、第２の消去単位２６２の全メモリセルに対して、消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合のみ、動作手順検知レジスタ部２４２の第２のレジスタがセット状態となり、読み出し禁止解除信号のうちの第２の消去単位２６２に対する信号が“１”になるため、データ出力禁止制御回路４６２における第２の消去単位２６２に対する読み出し禁止状態が解除され、第２の消去単位２６２に保持されたデータの外部への読み出しが可能な状態となる。
【０２２５】
その後電源をオフにするまで第２の消去単位２６２に対する読み出しが可能であり、次に電源をオンにすると動作手順検知レジスタ部２４２のレジスタは再びすべてリセット状態となるため、データ出力禁止制御回路４６２がデータ信号８１３の出力を禁止する制御を行うので、メモリセルアレイ２２１のすべての消去単位に保持されたデータの機密は保護された状態となる。
【０２２６】
なお、以上に説明したメモリセルアレイ２２１に保持されたデータの外部への読み出し方法は、第２の消去単位２６２を例として説明したが、他の消去単位についても同様に、消去単位ごとに独立して読み出しを行うことができる。
【０２２７】
また、動作手順検知回路２３４の設定を変更することにより、図３（ｂ）に示す第１の実施形態に係る第１の変形例のように、正常な消去動作の確認及び正常な書き込み動作の確認が１つの消去単位に対して順次行われた場合に、該消去単位に記憶されたデータの外部への読み出しが可能となるようにしてもよい。勿論、図４（ａ）に示す第１の実施形態に係る第２の変形例のように、プリプログラム動作の検知、消去動作の検知、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が１つの消去単位に対して順次行われた場合、又は図４（ｂ）に示す第１の実施形態に係る第３の変形例のように、消去動作の検知、正常な消去動作の確認、書き込み動作、正常な書き込み動作の確認及びリバース動作の検知が１つの消去単位に対して順次行われた場合に、該消去単位に記憶されたデータの外部への読み出しが可能となるようにしてもよい。
【０２２８】
また、所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行う方法に限定する動作手順及び消去単位内の全メモリセルがすべて同じ状態となることを防ぐ動作手順も第１の実施形態と同様に実施可能である。
【０２２９】
以上説明したように、第４の実施形態によると、第２の実施形態と同様の効果を得られるのに加えて、メモリセルアレイ２２１に保持されたデータは、不揮発性メモリブロック４０５よりも外に出力されないため、例えば入出力制御部４２２と外部入出力制御部３０７との間のデータ信号８１３を解析する等の行為によってデータを不正に利用されることを防止することができ、より確実な機密保護が可能となる。
【０２３０】
（第５の実施形態）
以下、本発明の第５の実施形態について図面を参照しながら説明する。なお、以下の説明において、第３の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０２３１】
図９は第５の実施形態に係る半導体装置の機能構成を示している。
【０２３２】
図９に示すように、本実施形態の半導体装置５０１は、ＣＰＵ５０２、ＲＡＭ５０３、制御回路５０４及び不揮発性メモリブロック３０５を備え、制御バス５１０を介してそれぞれが互いに接続されている。また、半導体装置５０１には、外部との接続手段として入出力端子８０４がＣＰＵ５０２、ＲＡＭ５０３及び制御回路５０４のそれぞれと接続するように設けられている。さらに、不揮発性メモリブロック３０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部１０８及び読み出し禁止解除制御部１０９が設けられている。
【０２３３】
また、不揮発性メモリブロック３０５は、メモリセルアレイ１２１、入出力制御部３２２、センスアンプ１２３及びデコーダ１２４からなり、入出力制御部３２２は、図７（ｂ）に示した第３の実施形態の入出力制御部３２２と同様に、ベリファイ結果出力制御回路３６１、データ出力禁止制御回路３６２及びデータ入力制御回路３６３によって構成されている。
【０２３４】
本実施形態の書き換え動作検知部１０８及び読み出し禁止解除制御部１０９は、図２（ａ）に示した第１の実施形態の書き換え動作検知部１０８及び読み出し禁止解除制御部１０９と同様に構成されており、書き換え動作検知部１０８は、動作検知回路１３１、消去結果判定回路１３２、書き込み結果判定回路１３３及び動作手順検知回路１３４からなり、また、読み出し禁止解除制御部１０９は読み出し動作検知回路１４１、動作手順検知レジスタ１４２及び読み出し禁止解除制御回路１４３からなる。ただし、読み出し禁止解除制御回路１４３から出力される読み出し禁止解除信号８１６は、入出力制御部３２２のデータ出力禁止制御回路３６２に入力される。
【０２３５】
本実施形態は、外部からの不揮発性メモリブロック３０５に対する動作が、ＣＰＵ５０２、ＲＡＭ５０３及び制御回路５０４を介して制御される点が第３の実施形態と異なっている。
【０２３６】
以下に、前述のように構成された本実施形態の半導体装置５０１の動作について説明する。
【０２３７】
まず、半導体装置５０１の外部から不揮発性メモリブロック３０５に対して行う動作について図２（ａ）、図７（ｂ）及び図９を参照しながら説明する。
【０２３８】
本実施形態の不揮発性メモリブロック３０５に対する外部からの動作は、入出力端子８０４に動作を指定する命令、動作の対象となるメモリセルのアドレス情報及び書き込み用のデータ等の制御情報を入力することにより行われる。これにより、ＣＰＵ５０２は、入力された制御情報に基づいて、制御信号８１１、アドレス信号８１２及びデータ信号８１３を生成し、不揮発性メモリブロック３０５の入出力制御部３２２に出力する。
【０２３９】
入出力制御部３２２は、入力された制御信号８１１に指定される動作に基づいて、第３の実施形態と同様にしてメモリセルアレイ１２１、センスアンプ１２３及びデコーダ１２４を駆動し、書き込み動作、書き込みベリファイ動作、消去動作、消去ベリファイ動作及び読み出し動作を行う。
【０２４０】
書き込みベリファイ動作及び消去ベリファイ動作において、ベリファイ結果出力制御回路３６１は、ベリファイ結果信号８１４をＣＰＵ５０２に出力する。また、読み出し動作においてデータ出力禁止制御回路３６２は読み出し禁止解除信号８１６が“１”であればデータ信号８１３をＣＰＵ５０２に出力し、読み出し禁止解除信号８１６が“０”であればデータ出力禁止制御回路３６２は、センスアンプ信号８３１からデータ信号８１３を生成しないするように制御するため、読み出し動作は行われない。
【０２４１】
次に、メモリセルアレイ１２１に保持されたデータの外部への読み出し方法について図面を参照しながら説明する。
【０２４２】
第５の実施形態に係る半導体装置５０１の外部への読み出し禁止を解除するための動作手順は、第３の実施形態の動作手順と同様であるが、不揮発性メモリブロック３０５に対する外部からの動作がＣＰＵ５０２を介して制御される点が異なっている。以下の説明では、本実施形態のメモリセルアレイ１２１に対する読み出し方法について、図３（ａ）に示した動作手順を参照しながら説明する。
【０２４３】
まず、半導体装置５０１の電源をオンにする。この時、動作手順検知レジスタ１４２はリセット状態であるため、読み出し禁止解除制御回路１４３が読み出し禁止解除信号８１６に“０”を出力するので、センスアンプ信号８３１として読み出されたデータの出力を禁止する制御を行う。つまり、データ出力禁止制御回路３６２は、電源オン時に必ずメモリセルアレイ１２１に保持されたデータの不揮発性メモリブロック３０５からＣＰＵ５０２への出力を禁止する。
【０２４４】
次に、入出力端子８０４に制御情報を入力することにより、ＣＰＵ５０２を介して外部から消去動作、消去ベリファイ動作、書き込み動作及び書き込みベリファイ動作を順次行う。
【０２４５】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路１３２において正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路１３３において正常な動作が確認された場合には、動作手順検知回路１３４は動作手順検知信号８１５を“１”にする。
【０２４６】
ここで、動作検知回路１３１において消去動作及び書き込み動作を検知すべきそれぞれの手順に、それぞれ消去動作及び書き込み動作以外の動作が検知された場合、又は消去結果判定回路１３２及び書き込み結果判定回路１３３においてそれぞれ正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路１３４は動作手順検知信号８１５を“０”にするため、動作手順検知レジスタ１４２はリセット状態のままとなり、読み出し禁止解除制御回路１４３は読み出し禁止解除信号８１６を“０”にする。従って、データ出力禁止制御回路３６２は、メモリセルアレイ１２１から入力されるセンスアンプ信号８３１をデータ信号８１３として出力しないような制御を行うため、読み出し命令を外部から入力してもメモリセルアレイ１２１に保持されたデータは不揮発性メモリブロック３０５からＣＰＵ５０２に読み出されない。
【０２４７】
このように、メモリセルアレイ１２１の全メモリセルに対して消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合のみ、動作手順検知レジスタ１４２がセット状態となり、読み出し禁止解除信号８１６が“１”になるため、データ出力禁止制御回路３６２における読み出し禁止状態が解除され、ＣＰＵ５０２の制御により外部への読み出しが可能な状態となる。
【０２４８】
その後電源をオフにするまで読み出しが可能であり、次に電源をオンにすると動作手順検知レジスタ１４２は再びリセット状態となるので、データ出力禁止制御回路３６２がデータ信号８１３の出力を禁止する制御を行うため、メモリセルアレイ１２１に保持されたデータの機密は保護された状態となる。
【０２４９】
なお、動作手順検知回路１３４の設定を変更することにより、図３（ｂ）に示す第１の実施形態に係る第１の変形例のように、正常な消去動作の確認及び正常な書き込み動作の確認が順次行われた場合のみ外部への読み出しを可能としてもよい。勿論、図４（ａ）に示す第１の実施形態に係る第２の変形例のように、プリプログラム動作の検知、消去動作の検知、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合、又は図４（ｂ）に示す第１の実施形態に係る第３の変形例のように、消去動作の検知、正常な消去動作の確認、書き込み動作、正常な書き込み動作の確認及びリバース動作の検知が順次行われた場合のみ外部への読み出しを可能としてもよい。
【０２５０】
また、所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行う方法に限定する動作手順及び全メモリセルがすべて同じ状態となることを防ぐ動作手順も第１の実施形態と同様に実施可能である。
【０２５１】
以上説明したように、第５の実施形態によると、第１の実施形態と同様の機密保護が可能であるのに加えて、メモリセルアレイ１２１に保持されたデータは、不揮発性メモリブロック１０５よりも外に出力されないため、例えば制御バス５１０上のデータ信号８１３を解析する等の行為によってデータを不正に利用されることを防止することができ、より確実な機密保護が可能となる。
【０２５２】
（第６の実施形態）
以下、本発明の第６の実施形態について図面を参照しながら説明する。なお、以下の説明において、第４の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０２５３】
図１０は第６の実施形態に係る半導体装置の機能構成を示している。
【０２５４】
図１０に示すように、本実施形態の半導体装置６０１は、ＣＰＵ６０２、ＲＡＭ６０３、制御回路６０４及び不揮発性メモリブロック４０５を備え、制御バス６１０を介してそれぞれが互いに接続されている。また、半導体装置６０１には、外部との接続手段として入出力端子８０４がＣＰＵ６０２、ＲＡＭ６０３及び制御回路６０４のそれぞれと接続するように設けられている。さらに、不揮発性メモリブロック４０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部２０８及び読み出し禁止解除制御部２０９が設けられている。
【０２５５】
また、不揮発性メモリブロック４０５は、メモリセルアレイ２２１、入出力制御部４２２、センスアンプ１２３及びデコーダ１２４からなり、メモリセルアレイ２２１は第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３のｎ個（ｎは２以上の整数である）のブロックに分割されたフラッシュＥＥＰＲＯＭからなる。
【０２５６】
入出力制御部４２２は、図８（ｂ）に示した第４の実施形態の入出力制御部４２２と同様に、ベリファイ結果出力制御回路４６１、データ出力禁止制御回路４６２及びデータ入力制御回路３６３によって構成されている。
【０２５７】
本実施形態の書き換え動作検知部２０８及び読み出し禁止解除制御部２０９は、図６（ａ）に示した第２の実施形態の書き換え動作検知部２０８及び読み出し禁止解除制御部２０９と同様に構成されており、書き換え動作検知部２０８は、動作検知回路１３１、消去結果判定回路２３２、書き込み結果判定回路２３３及び動作手順検知回路２３４からり、また、読み出し禁止解除制御部２０９は読み出し動作検知回路１４１、動作手順検知レジスタ部２４２及び読み出し禁止解除制御回路２４３からなる。ただし、読み出し禁止解除制御回路２４３から出力される読み出し禁止解除信号８２６は、入出力制御部４２２のデータ出力禁止制御回路４６２に入力される。
【０２５８】
本実施形態は、外部からの不揮発性メモリブロック４０５に対する動作が、ＣＰＵ６０２、ＲＡＭ６０３及び制御回路６０４を介して制御される点が第４の実施形態と異なっている。
【０２５９】
以下に、前述のように構成された本実施形態の半導体装置６０１の動作について説明する。
【０２６０】
まず、半導体装置６０１の外部から不揮発性メモリブロック４０５に対して行う動作について図６（ａ）、図８（ｂ）及び図１０を参照しながら説明する。
【０２６１】
本実施形態の不揮発性メモリブロック４０５に対する外部からの動作は、入出力端子８０４に動作を指定する命令、動作の対象となるメモリセルのアドレス情報及び書き込み用のデータ等の制御情報を入力することにより行われる。これにより、ＣＰＵ６０２は、入力された制御情報に基づいて、制御信号８１１、アドレス信号８１２及びデータ信号８１３を生成し、不揮発性メモリブロック４０５の入出力制御部４２２に出力する。
【０２６２】
入出力制御部４２２は、入力された制御信号８１１に指定される動作に基づいて、第４の実施形態と同様にしてメモリセルアレイ２２１、センスアンプ１２３及びデコーダ１２４を駆動し、書き込み動作、書き込みベリファイ動作、消去動作、消去ベリファイ動作及び読み出し動作を行う。
【０２６３】
書き込みベリファイ動作及び消去ベリファイ動作において、ベリファイ結果出力制御回路４６１は、ベリファイ結果信号８１４をＣＰＵ６０２に出力する。また、読み出し動作においてデータ出力禁止制御回路４６２は読み出し禁止解除信号８２６が“１”であればデータ信号８１３をＣＰＵ６０２に出力し、読み出し禁止解除信号８２６が“０”であればデータ出力禁止制御回路３６２は、センスアンプ信号８３１からデータ信号８１３を生成しないするように制御するため、読み出し動作は行われない。
【０２６４】
次に、メモリセルアレイ２２１に保持されたデータの外部への読み出し方法について図面を参照しながら説明する。
【０２６５】
第６の実施形態に係る半導体装置６０１の外部への読み出し禁止を解除するための動作手順は、第４の実施形態の動作手順と同様であるが、不揮発性メモリブロック４０５に対する外部からの動作がＣＰＵ６０２を介して制御される点が異なっている。以下の説明では、一例として第２の消去単位２６２に対する読み出し方法について、図３（ａ）を参照しながら説明する。
【０２６６】
まず、半導体装置６０１の電源をオンにする。この時、動作手順検知レジスタ部２４２のレジスタはすべてリセット状態である。従って、読み出し禁止解除信号８２６はすべて“０”になるため、入出力制御部４２２のデータ出力禁止制御回路４６２は、すべての消去単位について、センスアンプ信号８３１として読み出されたデータのＣＰＵ６０２への出力を禁止する制御を行う。つまり、データ出力禁止制御回路４６２は、電源オン時に必ずメモリセルアレイ２２１のすべての消去単位に保持されたデータの不揮発性メモリブロック４０５からの出力を禁止する。
【０２６７】
次に、第２の実施形態と同様にして、第２の消去単位２６２の全メモリセルに対して、外部から消去動作、消去ベリファイ動作、書き込み動作及び書き込みベリファイ動作を順次行う。
【０２６８】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路２３２において第２の消去単位２６２に対する正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路２３３において第２の消去単位２６２に対する正常な動作が確認された場合には、動作手順検知回路２３４は動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号を“１”にし、動作手順検知レジスタ部２４２の第２のレジスタがセット状態にされる。
【０２６９】
ここで、動作検知回路１３１において、消去動作及び書き込み動作を検知すべきそれぞれの手順に、それぞれ消去動作及び書き込み動作以外の動作が検知された場合、又は消去結果判定回路２３２及び書き込み結果判定回路２３３においてそれぞれ正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路２３４は動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号をを“０”にするため、動作手順検知レジスタ部２４２の第２のレジスタはリセット状態のままとなり、読み出し禁止解除制御回路２４３は読み出し禁止解除信号８２６のうちの第２の消去単位２６２に対する信号を“０”にする。従って、データ出力禁止制御回路３６２は、メモリセルアレイ２２１の第２の消去単位２６２から入力されるセンスアンプ信号８３１をデータ信号８１３として出力しないような制御を行うため、読み出し命令を外部から入力しても第２の消去単位２６２に保持されたデータは不揮発性メモリブロック４０５から読み出されない。
【０２７０】
このように、第２の消去単位２６２の全メモリセルに対して、消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われた場合のみ、動作手順検知レジスタ部２４２の第２のレジスタがセット状態となり、読み出し禁止解除信号のうちの第２の消去単位２６２に対する信号が“１”になるため、データ出力禁止制御回路４６２における第２の消去単位２６２に対する読み出し禁止状態が解除され、第２の消去単位２６２に保持されたデータの外部への読み出しが可能な状態となる。
【０２７１】
その後電源をオフにするまで第２の消去単位２６２に対する読み出しが可能であり、次に電源をオンにすると動作手順検知レジスタ部２４２のレジスタは再びすべてリセット状態となるため、データ出力禁止制御回路４６２がデータ信号８１３の出力を禁止する制御を行うので、メモリセルアレイ２２１のすべての消去単位に保持されたデータの機密は保護された状態となる。
【０２７２】
また、動作手順検知回路２３４の設定を変更することにより、図３（ｂ）に示す第１の実施形態に係る第１の変形例のように、正常な消去動作の確認及び正常な書き込み動作の確認が１つの消去単位に対して順次行われた場合に、該消去単位に記憶されたデータの外部への読み出しが可能となるようにしてもよい。勿論、図４（ａ）に示す第１の実施形態に係る第２の変形例のように、プリプログラム動作の検知、消去動作の検知、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が１つの消去単位に対して順次行われた場合、又は図４（ｂ）に示す第１の実施形態に係る第３の変形例のように、消去動作の検知、正常な消去動作の確認、書き込み動作、正常な書き込み動作の確認及びリバース動作の検知が１つの消去単位に対して順次行われた場合に、該消去単位に記憶されたデータの外部への読み出しが可能となるようにしてもよい。
【０２７３】
また、所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行う方法に限定する動作手順及び消去単位内の全メモリセルがすべて同じ状態となることを防ぐ動作手順も第１の実施形態と同様に実施可能である。
【０２７４】
以上説明したように、第６の実施形態によると、第２の実施形態と同様の効果を得られるのに加えて、メモリセルアレイ２２１に保持されたデータは、不揮発性メモリブロック４０５よりも外に出力されないため、例えば制御バス６１０上のデータ信号８１３を解析する等の行為によってデータを不正に利用されることを防止することができ、より確実な機密保護が可能となる。
【０２７５】
（第７の実施形態）
以下、本発明の第７の実施形態について図面を参照しながら説明する。なお、以下の説明において、第１の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０２７６】
第７の実施形態に係る半導体装置は、図１に示した第１の実施形態の半導体装置１０１と同等の構成を有しており、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４及び不揮発性メモリブロック１０５を備え、該不揮発性メモリブロック１０５は、書き換え制御回路１０６を介して制御信号入力端子８０１及びアドレス入力端子８０２に接続され、また外部入出力制御部１０７を介してデータ入出力端子８０３と接続されている。さらに、不揮発性メモリブロック１０５に保持されたデータの外部への読み出し禁止の設定のために、第１の実施形態の書き換え動作検知部１０８及び読み出し禁止解除制御部１０９にかえて、図１１に示す書き換え動作検知部７０１及び読み出し禁止解除制御部７０２が設けられている。
【０２７７】
また、本実施形態の不揮発性メモリブロック１０５は、図１に示した第１の実施形態の不揮発性メモリブロック１０５と同様に、メモリセルアレイ１２１、入出力制御部１２２、センスアンプ１２３及びデコーダ１２４からなり、また外部入出力制御部１０７は、図２（ｂ）に示した第１の実施形態の外部入出力制御部１０７と同様に、出力禁止制御回路１５１及び入力制御回路１５２を備えている。
【０２７８】
本実施形態の半導体装置は、書き換え動作検知部７０１においてメモリセルアレイ１２１に対する異常な動作を検知した場合に、読み出し禁止解除制御部７０２においてメモリセルアレイ１２１に保持されたデータの読み出しを許可しないようにする点が第１の実施形態と異なっている。
【０２７９】
以下、本実施形態の半導体装置の書き換え動作検知部７０１及び読み出し禁止解除制御部７０２について図面を参照しながら説明する。
【０２８０】
図１１は、第７の実施形態に係る半導体装置の書き換え動作検知部７０１及び読み出し禁止解除制御部７０２の機能構成を示している。
【０２８１】
図１１に示すように、本実施形態の書き換え動作検知部７０１は、第１の実施形態と同等の書き換え動作検知部１０８と同様の動作検知回路１３１、消去結果判定回路１３２、書き込み結果判定回路１３３及び動作手順検知回路１３４に加えて、メモリセルアレイ１２１に対する異常な動作を検知するための異常動作検知回路７０３を備えている。
【０２８２】
また、読み出し禁止解除制御部７０２は読み出し動作検知回路１４１、動作手順検知レジスタ７０４及び読み出し禁止解除制御回路１４３からなる。
【０２８３】
異常動作検知回路７０３は、書き換え制御回路１０６から入力される制御信号８１１及び不揮発性メモリブロック１０５から入力される動作電圧８４１に基づいて、制御信号８１１に指定された動作に用いられる電圧とは異なる電圧が動作電圧８４１として入力された場合には異常動作検知信号８４２を“１”にし、その他の場合には異常動作検知信号８４２を“０”にする。また、動作手順検知回路１３４に規定された動作手順に含まれていない動作を指定する制御信号８１１を検知した場合にも同様に異常動作検知信号８４２を“１”にする。
【０２８４】
ここで、動作電圧８４１には、電源電圧とメモリセルアレイ１２１に印加されるゲート電圧とが入力される。なお、ソース電圧及びドレイン電圧等を入力することにより、異常な動作を検出することもできる。
【０２８５】
なお、異常動作検知回路７０３は、通常の動作条件とは異なる動作又は動作手順検知回路１３４に規定された動作手順に含まれていない動作を異常な動作として検知し、異常な動作を検知した場合に異常動作検知信号８４２を“１”にするように構成されていれば良く、動作電圧８４１による異常動作の検知方法に限らず、例えば温度センサを設けることにより異常な温度での動作を検知する方法及び光センサを設けることによりパッケージの開封を検知する方法等を用いることも可能である。
【０２８６】
動作手順検知レジスタ７０４は、動作手順検知回路１３４から入力される動作手順検知信号８１５と異常動作検知回路７０３から入力される異常動作検知信号８４２との組み合わせによって、セット状態又はリセット状態となる。具体的には、動作手順検知回路１３４から出力される動作手順検知信号８１５が“１”であり且つ異常動作検知信号８４２が“０”である場合のみ動作手順検知レジスタ７０４はセット状態となり、その他の場合はリセット状態となる。
【０２８７】
本実施形態の半導体装置は、第１の実施形態と同様にして、書き込み動作、書き込みベリファイ動作、消去動作、消去ベリファイ動作及び読み出し動作等の不揮発性メモリブロック１０５に対する外部からの動作を行うことができる。
【０２８８】
以下、メモリセルアレイ１２１に保持されたデータの外部への読み出し方法について図面を参照しながら説明する。
【０２８９】
第７の実施形態に係る半導体装置の外部への読み出し禁止を解除するための動作手順は、図３（ａ）に示した第１の実施形態の動作手順と同様であるが、異常動作検知回路７０３において異常な動作を検知した場合にはデータの外部への読み出し禁止する点が異なっている。以下の説明では、本実施形態のメモリセルアレイ１２１に対する読み出し方法について、図３（ａ）を参照しながら説明する。
【０２９０】
まず半導体装置の電源をオンにする。この時、動作手順検知レジスタ７０４はリセット状態であるため、読み出し禁止解除制御回路１４３が読み出し禁止解除信号８１６に“０”を出力することにより出力禁止制御回路１５１はデータ信号８１３の出力を禁止する制御を行い、入出力制御部１２２から入力されるデータ信号８１３は半導体装置の外部に出力されないので、メモリセルアレイ１２１に保持されたデータの機密は保護された状態にある。
【０２９１】
次に、第１の実施形態と同様にして、外部から消去動作、消去ベリファイ動作、書き込み動作及び書き込みベリファイ動作を順次行う。
【０２９２】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路１３２において正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路１３３において正常な動作が確認された場合には、動作手順検知回路１３４は動作手順検知信号８１５を“１”にする。
【０２９３】
ここで、動作検知回路１３１において他の動作が検知された場合、又は消去結果判定回路１３２及び書き込み結果判定回路１３３において正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路１３４は動作手順検知信号８１５を“０”にするため、動作手順検知レジスタ７０４はリセット状態のままとなり、読み出し禁止解除制御回路１４３は読み出し禁止解除信号を“０”にする。従って、出力禁止制御回路１５１は、入出力制御部１２２から入力されるデータ信号８１３は半導体装置の外部に出力しないような制御を行うため、読み出し命令を外部から入力してもメモリセルアレイ１２１に保持されたデータは半導体装置の外部には出力されない。
【０２９４】
さらに、異常動作検知回路７０３において異常な動作を検知した場合には、異常動作検知信号８４２が“１”となることによって動作手順検知レジスタ７０４はリセット状態となり、読み出し禁止解除制御回路１４３は読み出し禁止解除信号を“０”にする。これにより、動作手順検知回路１３４が前述のように規定された動作手順を検知した場合であっても、異常な電圧を用いた動作により該動作手順が行われた場合にはメモリセルアレイ１２１に保持されたデータの外部への読み出しが禁止される。
【０２９５】
このように、メモリセルアレイ１２１の全メモリセルに対して消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われ、且つこれらの動作が通常の電圧を用いて行われた場合のみ、動作手順検知レジスタ７０４がセット状態となり、読み出し禁止解除信号８１６が“１”になるため、出力禁止制御回路１５１における読み出し禁止状態が解除され、メモリセルアレイ１２１に保持されたデータの外部への読み出しが可能な状態となる。
【０２９６】
なお、動作手順検知回路１３４の設定を変更することにより、図３（ｂ）に示した第１の実施形態に係る第１の変形例と同様に、正常な消去動作の確認及び正常な書き込み動作の確認を順次行うように規定してもよい。勿論、図４（ａ）に示した第１の実施形態に係る第２の変形例と同様に、プリプログラム動作の検知、消去動作の検知、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認行うように規定してもよく、また図４（ｂ）に示した第１の実施形態に係る第２の変形例と同様に、消去動作の検知、正常な消去動作の確認、書き込み動作、正常な書き込み動作の確認及びリバース動作の検知を順次行うように規定してもよい。このように規定しても、規定された動作手順が順次行われ、且つこれらの動作が通常の電圧を用いて行われた場合のみ、外部への読み出しが可能な状態となる。
【０２９７】
また、所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行う方法に限定する動作手順及び全メモリセルがすべて同じ状態となることを防ぐ動作手順も第１の実施形態と同様に実施可能である。
【０２９８】
以上説明したように、第７の実施形態によると、第１の実施形態と同様の機密保護が可能であるのに加えて、異常動作検知回路７０３がメモリセルアレイ１２１に対する異常な動作を検知すると動作手順検知レジスタ７０４がリセット状態となるため、例えば異常なゲート電圧によって生じる読み出しの誤判定を利用した動作を確実に防止することができ、より確実な機密保護が可能となる。
【０２９９】
なお、本実施形態は、異常動作検知回路７０３を第１の実施形態の書き換え動作検知部１０８に適用した半導体装置として説明したが、本実施形態の異常動作検知回路７０３を第３及び第５の実施形態の書き換え動作検知部１０８に適用しても同様の効果を得られる。
【０３００】
（第８の実施形態）
以下、本発明の第８の実施形態について図面を参照しながら説明する。なお、以下の説明において、第２の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０３０１】
第８の実施形態に係る半導体装置は、図５に示した第２の実施形態の半導体装置２０１と同等の構成を有しており、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４及び不揮発性メモリブロック２０５を備え、該不揮発性メモリブロック２０５は、書き換え制御回路１０６を介して制御信号入力端子８０１及びアドレス入力端子８０２に接続され、また外部入出力制御部２０７を介してデータ入出力端子８０３と接続されている。さらに、不揮発性メモリブロック２０５に保持されたデータの外部への読み出し禁止の設定のために、第２の実施形態の書き換え動作検知部２０８及び読み出し禁止解除制御部２０９にかえて、図１２に示す書き換え動作検知部７１１及び読み出し禁止解除制御部７１２が設けられている。
【０３０２】
また、本実施形態の不揮発性メモリブロック２０５は、図５に示した第２の実施形態の不揮発性メモリブロック２０５と同様に、メモリセルアレイ２２１、入出力制御部１２２、センスアンプ１２３及びデコーダ１２４からなり、メモリセルアレイ２２１は第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３のｎ個（ｎは２以上の整数である）のブロックに分割されたフラッシュＥＥＰＲＯＭからなる。また、外部入出力制御部２０７は、図６（ｂ）に示した第２の実施形態の外部入出力制御部２０７と同様に、出力禁止制御回路２５１及び入力制御回路１５２を備えている。
【０３０３】
本実施形態の半導体装置は、書き換え動作検知部７１１において、メモリセルアレイ２２１に対する異常な動作を消去単位ごとに検知し、該書き換え動作検知部７１１が異常な動作を検知した場合に、読み出し禁止解除制御部７１２において該当する消去単位に保持されたデータの読み出しを許可しないようにする点が第２の実施形態と異なっている。
【０３０４】
以下、本実施形態の半導体装置の書き換え動作検知部７１１及び読み出し禁止解除制御部７１２について図面を参照しながら説明する。
【０３０５】
図１２は、第８の実施形態に係る半導体装置の書き換え動作検知部７１１及び読み出し禁止解除制御部７１２の機能構成を示している。
【０３０６】
図１２に示すように、本実施形態の書き換え動作検知部７１１は、第２の実施形態と同等の動作検知回路１３１、消去結果判定回路２３２、書き込み結果判定回路２３３及び動作手順検知回路２３４に加えて、異常な動作を消去単位ごとに検知するための異常動作検知回路７１３を備えている。
【０３０７】
また、読み出し禁止解除制御部７０２は読み出し動作検知回路１４１、動作手順検知レジスタ部７１４及び読み出し禁止解除制御回路２４３からなる。ここで、動作手順検知レジスタ部７１４には、揮発性メモリセルからなる第１のレジスタ、第２のレジスタ、…、第ｎのレジスタのｎ個のレジスタが設けられており、それぞれ第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３に対応している。
【０３０８】
異常動作検知回路７１３は、書き換え制御回路１０６から入力される制御信号８１１及びアドレス信号８１２、並びに不揮発性メモリブロック２０５から入力される動作電圧８４１に基づいて、メモリセルアレイ２２１に対して異常な動作が行われたか否かを消去単位ごとに検知し、その結果を異常動作検知信号８４３として出力する。ここで、異常動作検知信号８４３は、第１の消去単位から第ｎの消去単位までのそれぞれに対応したｎ個の信号からなる。
【０３０９】
具体的に、異常動作検知回路７１３は、アドレス信号８１２に基づいて動作が行われた消去単位を判断すると共に、制御信号８１１に基づいてメモリセルアレイ２２１に対して行われた動作を検知する。そして、動作電圧８４１として入力されたゲート電圧及び電源電圧が、制御信号８１１に指定された動作として設定された電圧値と同じであるか否かを判定することにより異常な動作の有無を検知する。異常な動作が検知された場合には異常動作検知信号８４３のうちの動作が行われた消去単位に対する信号を“１”にし、その他の場合には異常動作検知信号８４３のうちの該消去単位に対する信号を“０”にする。
【０３１０】
なお、異常動作検知回路７１３は、通常の動作条件とは異なる動作又は動作手順検知回路２３４に規定された動作手順に含まれていない動作を異常な動作として検知し、異常な動作を検知した場合に異常動作検知信号８４３を“１”にするように構成されていれば良く、動作電圧８４１による異常動作の検知方法に限らず、例えば温度センサを設けることにより異常な温度での動作を検知するように構成されていても良い。
【０３１１】
動作手順検知レジスタ部７１４の各レジスタは、動作手順検知回路２３４から消去単位ごとに入力される動作手順検知信号８２５と異常動作検知回路７１３から消去単位ごとに入力される異常動作検知信号８４３との組み合わせによって、セット状態又はリセット状態となる。具体的には、動作手順検知回路２３４から出力される動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号が“１”であり且つ異常動作検知信号８４３のうちの第２の消去単位２６２に対する信号が“０”である場合にのみ、動作手順検知レジスタ部７１４の第２のレジスタはセット状態となる。
【０３１２】
本実施形態の半導体装置は、第２の実施形態と同様にして、書き込み動作、書き込みベリファイ動作、消去動作、消去ベリファイ動作及び読み出し動作等の不揮発性メモリブロック２０５に対する外部からの動作を行うことができる。
【０３１３】
以下、メモリセルアレイ２２１に保持されたデータの外部への読み出し方法について図面を参照しながら説明する。
【０３１４】
第８の実施形態に係る半導体装置の外部への読み出し禁止を解除するための動作手順は、第２の実施形態の動作手順と同様であるが、異常動作検知回路７１３において異常な動作を消去単位ごとに検知した場合には該当する消去単位のデータの外部への読み出しを禁止する点が異なっている。以下の説明では、本実施形態のメモリセルアレイ２２１に対する読み出し方法について、一例として第２の消去単位２６２に対する読み出し方法について、図３（ａ）を参照しながら説明する。
【０３１５】
まず半導体装置の電源をオンにする。この時、動作手順検知レジスタ部７１４のレジスタはすべてリセット状態である。従って、読み出し禁止解除信号８２６のすべて“０”になるため、外部入出力制御部２０７の出力禁止制御回路２５１はすべての消去単位ついてデータ信号８１３の出力を禁止する制御を行う。つまり、出力禁止制御回路２５１は、電源オン時に必ずメモリセルアレイ２２１のすべての消去単位に保持されたデータの外部への出力を禁止する。
【０３１６】
次に、第２の実施形態と同様にして、第２の消去単位２６２の全メモリセルに対して、外部から消去動作、消去ベリファイ動作、書き込み動作及び書き込みベリファイ動作を順次行う。
【０３１７】
以上の動作において、まず、動作検知回路１３１において消去動作が検知され、次に消去結果判定回路２３２において第２の消去単位２６２に対する正常な消去動作が確認され、その後、動作検知回路１３１において書き込み動作が検知され、続いて書き込み結果判定回路２３３において第２の消去単位２６２に対する正常な動作が確認された場合には、動作手順検知回路２３４は動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号を“１”にし、動作手順検知レジスタ部７１４の第２のレジスタがセット状態にされる。
【０３１８】
ここで、動作検知回路１３１において他の動作が検知された場合、又は消去結果判定回路２３２及び書き込み結果判定回路２３３において第２の消去単位２６２に対する正常な消去動作及び書き込み動作が確認されなかった場合には、動作手順検知回路２３４は動作手順検知信号８２５のうちの第２の消去単位２６２に対する信号を“０”にするため、動作手順検知レジスタ部７１４の第２のレジスタはリセット状態のままとなり、読み出し禁止解除制御回路２４３読み出し禁止解除信号のうちの第２の消去単位２６２に対する信号はを“０”にする。従って、出力禁止制御回路２５１は、メモリセルアレイ２２１の第２の消去単位２６２から入力されるデータ信号８１３を出力しないような制御を行うため、読み出し命令を外部から入力しても第２の消去単位２６２に保持されたデータは半導体装置の外部には出力されない。
【０３１９】
さらに、異常動作検知回路７１３において第２の消去単位２６２に対する異常な動作を検知した場合には、異常動作検知信号８４３のうちの第２の消去単位２６２に対する信号が“１”となることによって動作手順検知レジスタ部７１４の第２のレジスタはリセット状態となり、読み出し禁止解除制御回路２４３は読み出し禁止解除信号８２６のうちの第２の消去単位２６２に対する信号を“０”にする。これにより、動作手順検知回路２３４が第２の消去単位２６２に対して前述のように規定された動作手順を検知した場合であっても、異常な電圧を用いた動作により該動作手順が行われた場合には第２の消去単位２６２に保持されたデータの外部への読み出しが禁止される。
【０３２０】
このように、第２の消去単位２６２の全メモリセルに対して、消去動作、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認が順次行われ、且つこれらの動作が通常の電圧を用いて行われた場合のみ、動作手順検知レジスタ部７１４の第２のレジスタがセット状態となり、読み出し禁止解除信号８２６のうちの第２の消去単位２６２に対する信号が“１”になるため、出力禁止制御回路２５１における第２の消去単位２６２に対する読み出し禁止状態が解除され、第２の消去単位２６２に保持されたデータの外部への読み出しが可能な状態となる。
【０３２１】
なお、動作手順検知回路２３４の設定を変更することにより、図３（ｂ）に示した第１の実施形態に係る第１の変形例と同様に、正常な消去動作の確認及び正常な書き込み動作の確認を順次行うように規定してもよい。勿論、図４（ａ）に示した第１の実施形態に係る第２の変形例と同様に、プリプログラム動作の検知、消去動作の検知、正常な消去動作の確認、書き込み動作及び正常な書き込み動作の確認を順次行うように規定してもよく、また図４（ｂ）に示した第１の実施形態に係る第２の変形例と同様に、消去動作の検知、正常な消去動作の確認、書き込み動作、正常な書き込み動作の確認及びリバース動作の検知を順次行うように規定してもよい。このように規定しても、規定された動作手順が順次行われ、且つこれらの動作が通常の電圧を用いて行われた場合のみ、外部への読み出しが可能な状態となる。
【０３２２】
また、所定数のメモリセルごとに先頭アドレスから順次連続して書き込み動作及び書き込みベリファイ動作を繰り返して行う方法に限定する動作手順及び消去単位内の全メモリセルがすべて同じ状態となることを防ぐ動作手順も第１の実施形態と同様に実施可能である。
【０３２３】
以上説明したように、第８の実施形態によると、第２の実施形態と同様の効果を得られるのに加えて、異常動作検知回路７１３がメモリセルアレイ２２１に対する異常な動作を消去単位ごとに検知すると動作手順検知レジスタ部７１４のうちの対応するレジスタがリセット状態となるため、例えば異常なゲート電圧によって生じる読み出しの誤判定を利用した動作を確実に防止することができ、より確実な機密保護が可能となる。
【０３２４】
なお、本実施形態は、異常動作検知回路７１３を第２の実施形態の書き換え動作検知部２０８に適用した半導体装置として説明したが、本実施形態の異常動作検知回路７１３を第４及び第６の実施形態の書き換え動作検知部２０８に適用しても同様の効果を得られる。
【０３２５】
（第９の実施形態）
以下、本発明の第９の実施形態について図面を参照しながら説明する。なお、以下の説明において、第１の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０３２６】
第９の実施形態に係る半導体装置は、図１に示した第１の実施形態の半導体装置１０１と同等の構成を有しており、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４及び不揮発性メモリブロック１０５を備え、該不揮発性メモリブロック１０５は、書き換え制御回路１０６を介して制御信号入力端子８０１及びアドレス入力端子８０２に接続され、また外部入出力制御部を介してデータ入出力端子８０３と接続されている。さらに、不揮発性メモリブロック１０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部１０８及び読み出し禁止解除制御部１０９が設けられている。
【０３２７】
また、本実施形態の不揮発性メモリブロック１０５は、図１に示した第１の実施形態の不揮発性メモリブロック１０５と同様に、メモリセルアレイ１２１、入出力制御部１２２、センスアンプ１２３及びデコーダ１２４からなる。
【０３２８】
また、書き換え動作検知部１０８及び読み出し禁止解除制御部１０９は、図２（ａ）に示した第１の実施形態の書き換え動作検知部及び読み出し禁止解除制御部と同様に構成されており、書き換え動作検知部１０８は、動作検知回路１３１、消去結果判定回路１３２、書き込み結果判定回路１３３及び動作手順検知回路１３４からり、また、読み出し禁止解除制御部１０９は読み出し動作検知回路１４１、動作手順検知レジスタ１４２及び読み出し禁止解除制御回路１４３からなる。
【０３２９】
本実施形態の半導体装置は、外部入出力制御部において、読み出しを禁止する場合に、メモリセルアレイ１２１に保持されたデータを出力しないのに加えて、メモリセルアレイ１２１に保持されたデータとは異なるダミーデータを出力する点が第１の実施形態の半導体装置と異なっている。
【０３３０】
以下、本実施形態の半導体装置の外部入出力制御部について図面を参照しながら説明する。
【０３３１】
図１３（ａ）は、第９の実施形態に係る半導体装置の外部入出力制御部の機能構成を示している。
【０３３２】
図１３（ａ）に示すように、本実施形態の外部入出力制御部７２１は、第１の実施形態と同等の出力禁止制御回路１５１及び入力制御回路１５２に加えて、ダミーデータを生成する回路として固定データ発生回路７２２が設けられている。
【０３３３】
固定データ発生回路７２２は、ダミーデータとして固定データ８５１を出力禁止制御回路１５１に出力する。ここで、固定データ８５１は、固定データ発生回路７２２に規定されたデータを出力するので、任意のデータを設定することができる。
【０３３４】
出力禁止制御回路１５１は、入出力制御部１２２から入力されるデータ信号８１３及びベリファイ結果信号８１４、並びに固定データ発生回路７２２から入力される固定データ８５１の外部への出力を制御信号８１１及び読み出し禁止解除信号８１６に基づいて制御する。ここで、出力禁止制御回路１５１は、制御信号８１１として読み出し動作を指定する信号が入力された場合に、読み出し禁止解除信号８１６が“１”であれば、データ信号８１３をデータ入出力端子８０３を介して外部に出力し、固定データ８５１を遮断する。また、読み出し禁止解除信号８１６が“０”であれば、データ信号８１３を遮断し、固定データ８５１をデータ入出力端子８０３を介して外部に出力する。
【０３３５】
また、ベリファイ結果信号８１４は、読み出し禁止解除信号８１６に関わらず出力禁止制御回路１５１によって外部に出力される。
【０３３６】
次に、本実施形態の半導体装置の動作について図１、図２（ａ）及び図１３（ａ）を参照しながら説明する。
【０３３７】
本実施形態の半導体装置は、第１の実施形態及びその変形例と同様に、電源オン時には動作手順検知レジスタ１４２はリセット状態であるため、読み出し禁止解除信号８１６が“０”となる。これにより、出力禁止制御回路１５１はデータ信号８１３を遮断し、固定データ８５１をデータ入出力端子８０３を介して外部に出力する。
【０３３８】
次に、動作手順検知回路１３４によって規定された動作手順として、図３（ａ）に示した第１の実施形態と同様の動作手順がメモリセルアレイ１２１の全メモリセルに対して順次行われた場合のみ、動作手順検知レジスタ１４２がセット状態となり、読み出し禁止解除信号８１６が“１”になるため、出力禁止制御回路１５１は固定データ８５１を遮断し、データ信号８１３をデータ入出力端子８０３を介して外部に出力する。逆に、規定された動作手順を行うことなく読み出し動作を行った場合には、固定データ発生回路７２２から出力される固定データ８５１が外部に出力される。
【０３３９】
なお、前述の動作手順は、動作手順検知回路１３４の設定を変更することにより、図３（ｂ）、図４（ａ）及び図４（ｂ）に示すような第１の実施形態の各変形例と同様の動作手順を行うようにしてもよい。
【０３４０】
以上説明したように、第９の実施形態によると、第１の実施形態と同様の機密保護が可能であるのに加えて、規定された動作手順を行うことなく不正にメモリセルアレイ１２１に保持されたデータを読み出そうとした場合には固定データ発生回路７２２から固定データ８５１が外部に出力されるため、不正な読み出しを行う第３者に固定データ８５１をメモリセルアレイ１２１に保持されたデータと誤解させることができ、機密保護機能の有無を区別し難くなるため、より確実な機密保護が可能となる。
【０３４１】
なお、メモリセルアレイ１２１に保持されたデータとは異なるダミーデータを出力するデータ発生回路は、固定データ発生回路７２２に限らず、様々な変形例が可能であり、特に複雑で予測の困難なデータを生成することが好ましい。以下に、データ発生回路として他の回路を用いた変形例について説明する。
【０３４２】
以下、本実施形態の第１の変形例について図面を参照しながら説明する。
【０３４３】
図１３（ｂ）は、第９の実施形態の第１の変形例に係る半導体装置の外部入出力制御部７２１の機能構成を示している。
【０３４４】
図１３（ｂ）に示すように、本実施形態の第１の変形例に係る外部入出力制御部７２１は、第１の実施形態と同等の出力禁止制御回路１５１及び入力制御回路１５２に加えて、ダミーデータを生成する回路として不特定データ発生回路７２３が設けられている。
【０３４５】
不特定データ発生回路７２３は、ダミーデータとして、アドレス信号８１２を遷移させることにより不特定データ８５２を生成して出力禁止制御回路１５１に出力する。
【０３４６】
出力禁止制御回路１５１は、第９の実施形態と同様に、読み出し禁止解除信号８１６が“１”であれば、データ信号８１３をデータ入出力端子８０３を介して外部に出力すると共に不特定データ８５２を遮断し、読み出し禁止解除信号８１６が“０”であれば、データ信号８１３を遮断すると共に不特定データ８５２をデータ入出力端子８０３を介して外部に出力する。
【０３４７】
本実施形態の第１の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ１２１に保持されたデータを読み出そうとした場合に、不特定データ発生回路７２３から出力される不特定データ８５２が外部に出力されるため、不正な読み出しを行う第３者にとっては出力された不特定データ８５２がメモリセルアレイ１２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０３４８】
次に、本実施形態の第２の変形例について図面を参照しながら説明する。
【０３４９】
図１３（ｃ）は、第９の実施形態の第２の変形例に係る半導体装置の外部入出力制御部７２１の機能構成を示している。
【０３５０】
図１３（ｃ）に示すように、本実施形態の第２の変形例に係る外部入出力制御部７２１は、第１の実施形態と同等の出力禁止制御回路１５１及び入力制御回路１５２に加えて、ダミーデータを生成する回路としてデータスクランブル回路７２４が設けられている。
【０３５１】
データスクランブル回路７２４は、入出力制御部１２２からデータ信号８１３として入力されたデータを並べ替える又は置換する等の方法により、ダミーデータとしてスクランブルデータ８５３を生成して出力禁止制御回路１５１に出力する。
【０３５２】
出力禁止制御回路１５１は、第９の実施形態と同様に、読み出し禁止解除信号８１６が“１”であれば、データ信号８１３をデータ入出力端子８０３を介して外部に出力すると共にスクランブルデータ８５３を遮断し、読み出し禁止解除信号８１６が“０”であれば、データ信号８１３を遮断すると共にスクランブルデータ８５３をデータ入出力端子８０３を介して外部に出力する。
【０３５３】
本実施形態の第２の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ１２１に保持されたデータを読み出そうとした場合に、データスクランブル回路７２４から出力されるスクランブルデータ８５３が外部に出力されるため、不正な読み出しを行う第３者にとっては出力されたスクランブルデータ８５３がメモリセルアレイ１２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０３５４】
なお、第９の実施形態及びその変形例は、メモリセルアレイ１２１に保持されたデータとは異なるダミーデータを出力するデータ発生回路を第１の実施形態の半導体装置に適用した半導体装置として説明したが、本実施形態及びその変形例のデータ発生回路を第７の実施形態の半導体装置に適用しても同様の効果を得られる。
【０３５５】
（第１０の実施形態）
以下、本発明の第１０の実施形態について図面を参照しながら説明する。なお、以下の説明において、第２の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０３５６】
第１０の実施形態に係る半導体装置は、図５に示した第２の実施形態の半導体装置２０１と同等の構成を有しており、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４及び不揮発性メモリブロック２０５を備え、該不揮発性メモリブロック２０５は、書き換え制御回路１０６を介して制御信号入力端子８０１及びアドレス入力端子８０２に接続され、また外部入出力制御部を介してデータ入出力端子８０３と接続されている。さらに、不揮発性メモリブロック２０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部２０８及び読み出し禁止解除制御部２０９が不揮発性メモリブロック２０５と接続するように設けられている。
【０３５７】
また、本実施形態の不揮発性メモリブロック２０５は、図２に示した第２の実施形態の不揮発性メモリブロック２０５と同様に、メモリセルアレイ２２１、入出力制御部１２２、センスアンプ１２３及びデコーダ１２４からなり、メモリセルアレイ２２１は第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３のｎ個（ｎは２以上の整数である）のブロックに分割されており、消去単位ごとの一括消去が可能なように構成されたブロック消去型のＥＥＰＲＯＭからなる。
【０３５８】
また、書き換え動作検知部２０８及び読み出し禁止解除制御部２０９は、図６（ａ）に示した第２の実施形態の書き換え動作検知部２０８及び読み出し禁止解除制御部２０９と同様に構成されており、書き換え動作検知部２０８は、動作検知回路１３１、消去結果判定回路２３２、書き込み結果判定回路２３３及び動作手順検知回路２３４からり、また、読み出し禁止解除制御部２０９は読み出し動作検知回路１４１、動作手順検知レジスタ部２４２及び読み出し禁止解除制御回路２４３からなる。
【０３５９】
本実施形態の半導体装置は、外部入出力制御部において、読み出しを禁止する場合に、メモリセルアレイ２２１に保持されたデータを出力しないのに加えて、メモリセルアレイ２２１に保持されたデータとは異なるダミーデータを出力する点が第２の実施形態の半導体装置と異なっている。
【０３６０】
以下、本実施形態の半導体装置の外部入出力制御部について図面を参照しながら説明する。
【０３６１】
図１４（ａ）は、第１０の実施形態に係る半導体装置の外部入出力制御部の機能構成を示している。
【０３６２】
図１４（ａ）に示すように、本実施形態の外部入出力制御部７３１は、第２の実施形態と同等の出力禁止制御回路２５１及び入力制御回路１５２に加えて、ダミーデータを生成する回路として固定データ発生回路７２２が設けられている。
【０３６３】
固定データ発生回路７２２は、第９の実施形態と同様に、ダミーデータとして固定データ８５１を出力禁止制御回路２５１に出力する。
【０３６４】
出力禁止制御回路２５１は、入出力制御部１２２から入力されるデータ信号８１３及びベリファイ結果信号８１４、並びに固定データ発生回路７２２から入力される固定データ８５１の外部への出力を制御信号８１１、アドレス信号８１２及び読み出し禁止解除信号８２６に基づいて制御する。ここで、出力禁止制御回路２５１は、制御信号８１１として読み出し動作を指定する信号が入力された場合に、アドレス信号８１２に基づいて読み出し動作の対象となる消去単位を判断し、該消去単位に対する読み出し禁止解除信号８２６が“１”であれば、データ信号８１３をデータ入出力端子８０３を介して外部に出力し、固定データ８５１を遮断する。また、読み出し動作の対象となる消去単位消去単位に対する読み出し禁止解除信号８２６が“０”であれば、データ信号８１３を遮断し、固定データ８５１をデータ入出力端子８０３を介して外部に出力する。
【０３６５】
また、ベリファイ結果信号８１４は、読み出し禁止解除信号８２６に関わらず出力禁止制御回路２５１によってデータ入出力端子８０３を介して外部に出力される。
【０３６６】
次に、本実施形態の半導体装置の動作について図５、図６（ａ）及び図１４（ａ）を参照しながら説明する。
【０３６７】
本実施形態の半導体装置は、第２の実施形態及びその変形例と同様に、電源オン時には動作手順検知レジスタ部２４２のレジスタはすべてリセット状態であるため、読み出し禁止解除信号８２６はすべての消去単位に対して“０”となる。これにより、出力禁止制御回路２５１はすべての消去単位から出力されるデータ信号８１３を遮断し、固定データ８５１をデータ入出力端子８０３を介して外部に出力する。
【０３６８】
次に、動作手順検知回路２３４によって規定された動作手順として、図３（ａ）に示した第１の実施形態と同様の動作手順が、一消去単位を構成する全メモリセルに対して順次行われた場合のみ、動作手順検知レジスタ部２４２の該消去単位に対応するレジスタがセット状態となり、読み出し禁止解除信号８２６のうちの該消去単位に対応する信号が“１”になるため、出力禁止制御回路２５１は、該消去単位に対する読み出し動作において、固定データ８５１を遮断し、データ信号８１３をデータ入出力端子８０３を介して外部に出力する。逆に、一消去単位の全メモリセルに対して規定された動作手順を行うことなく読み出し動作を行った場合には、該消去単位に対する読み出し動作において、固定データ発生回路７２２から出力される固定データ８５１が外部に出力される。
【０３６９】
なお、前述の動作手順は、動作手順検知回路２３４の設定を変更することにより、図３（ｂ）、図４（ａ）及び図４（ｂ）に示すような第１の実施形態の各変形例と同様の動作手順を行うようにしてもよい。
【０３７０】
以上説明したように、第１０の実施形態によると、第２の実施形態と同様の効果を得られるのに加えて、規定された動作手順を行うことなく不正にメモリセルアレイ２２１に保持されたデータを読み出そうとした場合には固定データ発生回路７２２から固定データ８５１が外部に出力されるため、不正な読み出しを行う第３者に固定データ８５１をメモリセルアレイ２２１に保持されたデータと誤解させることができ、機密保護機能の有無を区別し難くなるため、より確実な機密保護が可能となる。
【０３７１】
なお、メモリセルアレイ２２１に保持されたデータとは異なるダミーデータを発生する回路は、固定データ発生回路７２２に限らず、様々な変形例が可能であり、特に複雑で予測の困難なデータを生成することが好ましい。以下に、データ発生回路として他の回路を用いた変形例について説明する。
【０３７２】
以下、本実施形態の第１の変形例について図面を参照しながら説明する。
【０３７３】
図１４（ｂ）は、第１０の実施形態の第１の変形例に係る半導体装置の外部入出力制御部７３１の機能構成を示している。
【０３７４】
図１４（ｂ）に示すように、本実施形態の第１の変形例に係る外部入出力制御部７３１は、第１の実施形態と同等の出力禁止制御回路２５１及び入力制御回路１５２に加えて、ダミーデータを生成する回路として不特定データ発生回路７２３が設けられている。
【０３７５】
不特定データ発生回路７２３は、ダミーデータとして、アドレス信号８１２に基づいて不特定データ８５２を生成して出力禁止制御回路２５１に出力する。
【０３７６】
出力禁止制御回路２５１は、第１０の実施形態と同様に、アドレス信号に指定された消去単位に対する読み出し禁止解除信号８２６が“１”であれば、データ信号８１３をデータ入出力端子８０３を介して外部に出力すると共に不特定データ８５２を遮断し、アドレス信号に指定された消去単位に対する読み出し禁止解除信号８２６が“０”であれば、データ信号８１３を遮断すると共に不特定データ８５２をデータ入出力端子８０３を介して外部に出力する。
【０３７７】
本実施形態の第１の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ２２１に保持されたデータを読み出そうとした場合に、不特定データ発生回路７２３から出力される不特定データ８５２が外部に出力されるため、不正な読み出しを行う第３者にとっては出力された不特定データ８５２がメモリセルアレイ２２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０３７８】
次に、本実施形態の第２の変形例について図面を参照しながら説明する。
【０３７９】
図１４（ｃ）は、第１０の実施形態の第２の変形例に係る半導体装置の外部入出力制御部７３１の機能構成を示している。
【０３８０】
図１４（ｃ）に示すように、本実施形態の第２の変形例に係る外部入出力制御部７３１は、第１の実施形態と同等の出力禁止制御回路２５１及び入力制御回路１５２に加えて、ダミーデータを生成する回路としてデータスクランブル回路７２４が設けられている。
【０３８１】
データスクランブル回路７２４は、入出力制御部１２２からデータ信号８１３として入力されたデータを並べ替える又は置換する等の方法により、ダミーデータとしてスクランブルデータ８５３を生成して出力禁止制御回路２５１に出力する。
【０３８２】
出力禁止制御回路２５１は、第１０の実施形態と同様に、アドレス信号８１２に指定された消去単位に対する読み出し禁止解除信号８２６が“１”であれば、データ信号８１３をデータ入出力端子８０３を介して外部に出力すると共にスクランブルデータ８５３を遮断し、アドレス信号８１２に指定された消去単位に対する読み出し禁止解除信号８２６が“０”であれば、データ信号８１３を遮断すると共にスクランブルデータ８５３をデータ入出力端子８０３を介して外部に出力する。
【０３８３】
本実施形態の第２の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ２２１に保持されたデータを読み出そうとした場合に、データスクランブル回路７２４から出力されるスクランブルデータ８５３が外部に出力されるため、不正な読み出しを行う第３者にとっては出力されたスクランブルデータ８５３がメモリセルアレイ２２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０３８４】
なお、第１０の実施形態及びその変形例は、メモリセルアレイ２２１に保持されたデータとは異なるダミーデータを出力するデータ発生回路を第２の実施形態の半導体装置に適用した半導体装置として説明したが、本実施形態及びその変形例のデータ発生回路を第８の実施形態の半導体装置に適用しても同様の効果を得られる。
【０３８５】
（第１１の実施形態）
以下、本発明の第１１の実施形態について図面を参照しながら説明する。なお、以下の説明において、第３の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０３８６】
第９の実施形態に係る半導体装置は、図７（ａ）に示した第３の実施形態の半導体装置３０１と同等の構成を有しており、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４及び不揮発性メモリブロック３０５を備え、該不揮発性メモリブロック３０５は、書き換え制御回路１０６を介して制御信号入力端子８０１及びアドレス入力端子８０２に接続され、また外部入出力制御部３０７を介してデータ入出力端子８０３と接続されている。さらに、不揮発性メモリブロック３０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部１０８及び読み出し禁止解除制御部１０９が設けられている。
【０３８７】
また、本実施形態の不揮発性メモリブロック３０５は、図７（ａ）に示した第３の実施形態の不揮発性メモリブロック３０５と同様に、メモリセルアレイ１２１、入出力制御部、センスアンプ１２３及びデコーダ１２４からなる。
【０３８８】
また、書き換え動作検知部１０８及び読み出し禁止解除制御部１０９は、図２（ａ）に示した第１の実施形態の書き換え動作検知部及び読み出し禁止解除制御部と同様に構成されており、書き換え動作検知部１０８は、動作検知回路１３１、消去結果判定回路１３２、書き込み結果判定回路１３３及び動作手順検知回路１３４からり、また、読み出し禁止解除制御部１０９は読み出し動作検知回路１４１、動作手順検知レジスタ１４２及び読み出し禁止解除制御回路１４３からなる。
【０３８９】
本実施形態の半導体装置は、入出力制御部において、読み出しを禁止する場合に、メモリセルアレイ１２１に保持されたデータを出力しないのに加えて、メモリセルアレイ１２１に保持されたデータとは異なるダミーデータを出力する点が第３の実施形態の半導体装置と異なっている。
【０３９０】
以下、本実施形態の半導体装置の入出力制御部について図面を参照しながら説明する。
【０３９１】
図１５（ａ）は、第１１の実施形態に係る半導体装置の入出力制御部の機能構成を示している。
【０３９２】
図１５（ａ）に示すように、本実施形態の入出力制御部７４１は、第３の実施形態と同等のベリファイ結果出力制御回路３６１、データ出力禁止制御回路３６２及びデータ入力制御回路３６３に加えて、ダミーデータを生成する回路として固定データ発生回路７２２が設けられている。
【０３９３】
固定データ発生回路７２２は、ダミーデータとして固定データ８５１をデータ出力禁止制御回路３６２に出力する。ここで、固定データ８５１は、固定データ発生回路７２２に規定されたデータを出力するので、任意のデータを設定することができる。
【０３９４】
データ出力禁止制御回路３６２は、メモリセルアレイ１２１から入力されるセンスアンプ信号８３１及び固定データ発生回路７２２から入力される固定データ８５１の外部への出力を制御信号８１１及び読み出し禁止解除信号８１６に基づいて制御する。ここで、データ出力禁止制御回路３６２は、制御信号８１１として読み出し動作を指定する信号が入力された場合に、読み出し禁止解除信号８１６が“１”であれば、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力し、固定データ８５１を遮断する。また、読み出し禁止解除信号８１６が“０”であれば、センスアンプ信号８３１を遮断し、固定データ８５１をデータ信号８１３として外部入出力制御部３０７に出力する。
【０３９５】
次に、本実施形態の半導体装置の動作について図７（ａ）及び図１５（ａ）を参照しながら説明する。
【０３９６】
本実施形態の半導体装置は、第１の実施形態及びその変形例と同様に、電源オン時には動作手順検知レジスタ１４２はリセット状態であるため、読み出し禁止解除信号８１６が“０”となる。これにより、データ出力禁止制御回路３６２はセンスアンプ信号８３１を遮断し、固定データ８５１をデータ信号８１３として外部入出力制御部３０７に出力する。
【０３９７】
次に、動作手順検知回路１３４によって規定された動作手順として、図３（ａ）に示した第１の実施形態と同様の動作手順がメモリセルアレイ１２１の全メモリセルに対して順次行われた場合のみ、動作手順検知レジスタ１４２がセット状態となり、読み出し禁止解除信号８１６が“１”になるため、データ出力禁止制御回路３６２はセンスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力する。逆に、規定された動作手順を行うことなく読み出し動作を行った場合には、固定データ発生回路７２２から出力される固定データ８５１をデータ信号８１３として外部入出力制御部３０７に出力する。外部入出力制御部３０７は入力されたデータ信号８１３をデータ入出力端子８０３を介して外部に出力する。
【０３９８】
なお、前述の動作手順は、動作手順検知回路１３４の設定を変更することにより、図３（ｂ）、図４（ａ）及び図４（ｂ）に示すような第１の実施形態の各変形例と同様の動作手順を行うようにしてもよい。
【０３９９】
以上説明したように、第１１の実施形態によると、第３の実施形態と同様の効果を得られるのに加えて、規定された動作手順を行うことなく不正にメモリセルアレイ１２１に保持されたデータを読み出そうとした場合には固定データ発生回路７２２から固定データ８５１が外部に出力されるため、不正な読み出しを行う第３者に固定データ８５１をメモリセルアレイ１２１に保持されたデータと誤解させることができ、機密保護機能の有無を区別し難くなるため、より確実な機密保護が可能となる。
【０４００】
なお、ダミーデータを出力するデータ発生回路は、固定データ発生回路７２２に限らず、様々な変形例が可能であり、特に複雑で予測の困難なデータを生成することが好ましい。以下に、データ発生回路として他の回路を用いた変形例について説明する。
【０４０１】
以下、本実施形態の第１の変形例について図面を参照しながら説明する。
【０４０２】
図１５（ｂ）は、第１１の実施形態の第１の変形例に係る半導体装置の入出力制御部７４１の機能構成を示している。
【０４０３】
図１５（ｂ）に示すように、本実施形態の第１の変形例に係る入出力制御部７４１は、第３の実施形態と同等のベリファイ結果出力制御回路３６１、データ出力禁止制御回路３６２及びデータ入力制御回路３６３に加えて、ダミーデータを生成する回路として不特定データ発生回路７２３が設けられている。
【０４０４】
不特定データ発生回路７２３は、ダミーデータとして、アドレス信号８１２に基づいて不特定データ８５２を生成してデータ出力禁止制御回路３６２に出力する。
【０４０５】
データ出力禁止制御回路３６２は、第１１の実施形態と同様に、読み出し禁止解除信号８１６が“１”であれば、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力すると共に不特定データ８５２を遮断し、また、読み出し禁止解除信号８１６が“０”であれば、センスアンプ信号８３１を遮断すると共に不特定データ８５２をデータ信号８１３として外部入出力制御部３０７に出力する。
【０４０６】
本実施形態の第１の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ１２１に保持されたデータを読み出そうとした場合に、不特定データ発生回路７２３から出力される不特定データ８５２が外部に出力されるため、不正な読み出しを行う第３者にとっては出力された不特定データ８５２がメモリセルアレイ１２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０４０７】
次に、本実施形態の第２の変形例について図面を参照しながら説明する。
【０４０８】
図１５（ｃ）は、第１１の実施形態の第２の変形例に係る半導体装置の入出力制御部７４１の機能構成を示している。
【０４０９】
図１５（ｃ）に示すように、本実施形態の第２の変形例に係る入出力制御部７４１は、第３の実施形態と同等のベリファイ結果出力制御回路３６１、データ出力禁止制御回路３６２及びデータ入力制御回路３６３に加えて、ダミーデータを生成する回路としてデータスクランブル回路７２４が設けられている。
【０４１０】
データスクランブル回路７２４は、メモリセルアレイ１２１からセンスアンプ信号８３１として入力されたデータを並べ替える又は置換する等の方法により、ダミーデータとしてスクランブルデータ８５３を生成してデータ出力禁止制御回路３６２に出力する。
【０４１１】
データ出力禁止制御回路３６２は、第１１の実施形態と同様に、読み出し禁止解除信号８１６が“１”であれば、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力すると共にスクランブルデータ８５３を遮断し、また、読み出し禁止解除信号８１６が“０”であれば、センスアンプ信号８３１を遮断すると共にスクランブルデータ８５３をデータ信号８１３として外部入出力制御部３０７に出力する。
【０４１２】
本実施形態の第２の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ１２１に保持されたデータを読み出そうとした場合に、データスクランブル回路７２４から出力されるスクランブルデータ８５３が外部に出力されるため、不正な読み出しを行う第３者にとっては出力されたスクランブルデータ８５３がメモリセルアレイ１２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０４１３】
なお、第１１の実施形態及びその変形例は、メモリセルアレイ１２１に保持されたデータとは異なるダミーデータを出力するデータ発生回路を第３の実施形態の半導体装置に適用した半導体装置として説明したが、本実施形態及びその変形例のデータ発生回路を第５の実施形態の半導体装置に適用しても同様の効果を得られる。
【０４１４】
（第１２の実施形態）
以下、本発明の第１２の実施形態について図面を参照しながら説明する。なお、以下の説明において、第４の実施形態と同一の機能構成を有する構成要素については同一の符号を付すことにより説明を省略する。
【０４１５】
第１１の実施形態に係る半導体装置は、図８（ａ）に示した第４の実施形態の半導体装置４０１と同等の構成を有しており、ＣＰＵ１０２、ＲＡＭ１０３、制御回路１０４及び不揮発性メモリブロック４０５を備え、該不揮発性メモリブロック４０５は、書き換え制御回路１０６を介して制御信号入力端子８０１及びアドレス入力端子８０２に接続され、また外部入出力制御部３０７を介してデータ入出力端子８０３と接続されている。さらに、不揮発性メモリブロック４０５に保持されたデータの外部への読み出し禁止の設定のために、書き換え動作検知部２０８及び読み出し禁止解除制御部２０９が不揮発性メモリブロック４０５と接続するように設けられている。
【０４１６】
また、本実施形態の不揮発性メモリブロック４０５は、図８（ａ）示した第４の実施形態の不揮発性メモリブロック４０５と同様に、メモリセルアレイ２２１、入出力制御部、センスアンプ１２３及びデコーダ１２４からなり、メモリセルアレイ２２１は第１の消去単位２６１、第２の消去単位２６２、…、第ｎの消去単位２６３のｎ個（ｎは２以上の整数である）のブロックに分割されており、消去単位ごとの一括消去が可能なように構成されたブロック消去型のＥＥＰＲＯＭからなる。
【０４１７】
また、書き換え動作検知部２０８及び読み出し禁止解除制御部２０９は、図６（ａ）に示した第２の実施形態の書き換え動作検知部２０８及び読み出し禁止解除制御部２０９と同様に構成されており、書き換え動作検知部２０８は、動作検知回路１３１、消去結果判定回路２３２、書き込み結果判定回路２３３及び動作手順検知回路２３４からり、また、読み出し禁止解除制御部２０９は読み出し動作検知回路１４１、動作手順検知レジスタ部２４２及び読み出し禁止解除制御回路２４３からなる。
【０４１８】
本実施形態の半導体装置は、入出力制御部において、読み出しを禁止する場合に、メモリセルアレイ２２１に保持されたデータを出力しないのに加えて、メモリセルアレイ２２１に保持されたデータとは異なるダミーデータを出力する点が第２の実施形態の半導体装置と異なっている。
【０４１９】
以下、本実施形態の半導体装置の入出力制御部について図面を参照しながら説明する。
【０４２０】
図１６（ａ）は、第１２の実施形態に係る半導体装置の入出力制御部を示している。
【０４２１】
図１６（ａ）に示すように、本実施形態の入出力制御部７５１は、第４の実施形態と同等のベリファイ結果出力制御回路４６１、データ出力禁止制御回路４６２及びデータ入力制御回路３６３に加えて、ダミーデータを生成する回路として固定データ発生回路７２２が設けられている。
【０４２２】
固定データ発生回路７２２は、第１１の実施形態と同様に、ダミーデータとして固定データ８５１をデータ出力禁止制御回路４６２に出力する。
【０４２３】
データ出力禁止制御回路４６２は、メモリセルアレイ２２１から入力されるセンスアンプ信号８３１及び固定データ発生回路７２２から入力される固定データ８５１の外部への出力を制御信号８１１及び読み出し禁止解除信号８２６に基づいて制御する。ここで、データ出力禁止制御回路４６２は、制御信号８１１として読み出し動作を指定する信号が入力された場合に、アドレス信号８１２に基づいて読み出し動作の対象となる消去単位を判断し、該消去単位に対する読み出し禁止解除信号８２６が“１”であれば、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力し、固定データ８５１を遮断する。また、読み出し動作の対象となる消去単位に対する読み出し禁止解除信号８２６が“０”であれば、センスアンプ信号８３１を遮断し、固定データ８５１をデータ信号８１３として外部入出力制御部３０７に出力する。
【０４２４】
次に、本実施形態の半導体装置の動作について図６（ａ）、図８（ａ）及び図１６（ａ）を参照しながら説明する。
【０４２５】
本実施形態の半導体装置は、第２の実施形態と同様に、電源オン時には動作手順検知レジスタ部２４２のレジスタはすべてリセット状態であるため、読み出し禁止解除信号８２６はすべての消去単位に対して“０”となる。これにより、データ出力禁止制御回路４６２はセンスアンプ信号８３１を遮断し、固定データ８５１をデータ信号８１３として外部入出力制御部３０７に出力する。
【０４２６】
次に、動作手順検知回路２３４によって規定された動作手順として、図３（ａ）に示した第１の実施形態と同様の動作手順が、メモリセルアレイ２２１の一消去単位を構成する全メモリセルに対して順次行われた場合のみ、動作手順検知レジスタ部２４２の該消去単位に対応するレジスタがセット状態となり、読み出し禁止解除信号８２６のうちの該消去単位に対応する信号が“１”になるため、データ出力禁止制御回路４６２は、該消去単位に対する読み出し動作において、固定データ８５１を遮断し、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力する。逆に、一消去単位にたいして規定された動作手順を行うことなく読み出し動作を行った場合には、該消去単位に対する読み出し動作において、固定データ発生回路７２２から出力される固定データ８５１がデータ信号８１３として外部入出力制御部３０７に出力される。
【０４２７】
なお、前述の動作手順は、動作手順検知回路２３４の設定を変更することにより、図３（ｂ）、図４（ａ）及び図４（ｂ）に示すような第１の実施形態の各変形例と同様の動作手順を行うようにしてもよい。
【０４２８】
以上説明したように、第１４の実施形態によると、第４の実施形態と同様の効果を得られるのに加えて、規定された動作手順を行うことなく不正にメモリセルアレイ２２１に保持されたデータを読み出そうとした場合には固定データ発生回路７２２から固定データ８５１が外部に出力されるため、不正な読み出しを行う第３者に固定データ８５１をメモリセルアレイ２２１に保持されたデータと誤解させることができ、機密保護機能の有無を区別し難くなるため、より確実な機密保護が可能となる。
【０４２９】
なお、ダミーデータを出力するデータ発生回路は、固定データ発生回路７２２に限らず、様々な変形例が可能であり、特に複雑で予測の困難なデータを生成することが好ましい。以下に、データ発生回路として他の回路を用いた変形例について説明する。
【０４３０】
以下、本実施形態の第１の変形例について図面を参照しながら説明する。
【０４３１】
図１６（ｂ）は、第１２の実施形態の第１の変形例に係る半導体装置の入出力制御部７５１の機能構成を示している。
【０４３２】
図１６（ｂ）に示すように、本実施形態の第１の変形例に係る入出力制御部７５１は、第４の実施形態と同等のベリファイ結果出力制御回路４６１、データ出力禁止制御回路４６２及びデータ入力制御回路３６３に加えて、ダミーデータを生成する回路として不特定データ発生回路７２３が設けられている。
【０４３３】
不特定データ発生回路７２３は、ダミーデータとして、アドレス信号８１２に基づいて不特定データ８５２を生成してデータ出力禁止制御回路４６２に出力する。
【０４３４】
データ出力禁止制御回路４６２は、第１２の実施形態と同様に、アドレス信号８１２に指定された消去単位に対する読み出し禁止解除信号８２６が“１”であれば、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力すると共に不特定データ８５２を遮断し、アドレス信号８１２に指定された消去単位に対する読み出し禁止解除信号８２６が“０”であれば、センスアンプ信号８３１を遮断すると共に不特定データ８５２をデータ信号８１３として外部入出力制御部３０７に出力する。
【０４３５】
本実施形態の第１の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ２２１に保持されたデータを読み出そうとした場合に、不特定データ発生回路７２３から出力される不特定データ８５２が外部に出力されるため、不正な読み出しを行う第３者にとっては出力された不特定データ８５２がメモリセルアレイ２２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０４３６】
次に、本実施形態の第２の変形例について図面を参照しながら説明する。
【０４３７】
図１６（ｃ）は、第１２の実施形態の第２の変形例に係る半導体装置の入出力制御部７５１の機能構成を示している。
【０４３８】
図１６（ｃ）に示すように、本実施形態の第２の変形例に係る入出力制御部７５１は、第４の実施形態と同等のベリファイ結果出力制御回路４６１、データ出力禁止制御回路４６２及びデータ入力制御回路３６３に加えて、ダミーデータを生成する回路としてデータスクランブル回路７２４が設けられている。
【０４３９】
データスクランブル回路７２４は、メモリセルアレイ２２１からセンスアンプ信号８３１として入力されたデータを並べ替える又は置換する等の方法により、ダミーデータとしてスクランブルデータ８５３を生成してデータ出力禁止制御回路４６２に出力する。
【０４４０】
データ出力禁止制御回路４６２は、第１２の実施形態と同様に、アドレス信号８１２に指定された消去単位に対する読み出し禁止解除信号８２６が“１”であれば、センスアンプ信号８３１をデータ信号８１３として外部入出力制御部３０７に出力すると共にスクランブルデータ８５３を遮断し、アドレス信号に指定された消去単位に対する読み出し禁止解除信号８２６が“０”であれば、センスアンプ信号８３１を遮断すると共にスクランブルデータ８５３をデータ信号８１３として外部入出力制御部３０７に出力する。
【０４４１】
本実施形態の第２の変形例によると、規定された動作手順を行うことなく不正にメモリセルアレイ２２１に保持されたデータを読み出そうとした場合に、データスクランブル回路７２４から出力されるスクランブルデータ８５３が外部に出力されるため、不正な読み出しを行う第３者にとっては出力されたスクランブルデータ８５３がメモリセルアレイ２２１に保持されたデータであるのか否かの区別は困難であり、第３者によるデータの解析を困難にさせることができる。
【０４４２】
なお、第１２の実施形態及びその変形例は、ダミーデータ発生回路を第４の実施形態の半導体装置に適用した半導体装置として説明したが、本実施形態及びその変形例のデータ発生回路を第６の実施形態の半導体装置に適用しても同様の効果を得られる。
【０４４３】
【発明の効果】
本発明の半導体装置によると、揮発性の動作手順検知レジスタがリセット状態の時に不揮発性メモリブロックの読み出しを禁止するように構成されるため、外部から設定を行うことなく、電源オン時に確実に機密保護の設定を行うことができる。また、不揮発性メモリブロックの動作手順を検知する動作手順検知回路が所定の動作手順を検知した場合にのみ読み出し禁止を解除するため、動作手順を鍵とした機密保護が可能である。さらに、動作手順検知回路が規定する動作手順に、正常な消去状態を確認する手順と正常な書き込み状態を確認する手順とを含むことにより、ゲート電圧を操作してメモリセルの状態を誤判定させる方法による不正な読み出しを防止することができ、不揮発性メモリブロックに保持されたデータの機密を確実に保護することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る半導体装置を示す機能ブロック図である。
【図２】（ａ）は本発明の第１の実施形態に係る半導体装置の書き換え動作検知部及び読み出し禁止解除制御部を示す機能ブロック図であり、（ｂ）は本発明の第１の実施形態に係る半導体装置の外部入出力制御部を示す機能ブロック図である。
【図３】（ａ）及び（ｂ）は本発明の第１の実施形態に係る半導体装置の読み出し方法を示すフロー図である。
【図４】（ａ）及び（ｂ）は本発明の第１の実施形態に係る半導体装置の読み出し方法を示すフロー図である。
【図５】本発明の第２の実施形態に係る半導体装置を示す機能ブロック図である。
【図６】（ａ）は第２の実施形態に係る半導体装置の書き換え動作検知部及び読み出し禁止解除制御部を示す機能ブロック図であり、（ｂ）は第２の実施形態に係る半導体装置の外部入出力制御部を示す機能ブロック図である。
【図７】（ａ）は本発明の第３の実施形態に係る半導体装置を示す機能ブロック図であり、（ｂ）は本発明の第３の実施形態に係る半導体装置の入出力制御部を示す機能ブロック図である。
【図８】（ａ）は本発明の第４の実施形態に係る半導体装置を示す機能ブロック図であり、（ｂ）は本発明の第４の実施形態に係る半導体装置の入出力制御部を示す機能ブロック図である。
【図９】本発明の第５の実施形態に係る半導体装置を示す機能ブロック図である。
【図１０】本発明の第６の実施形態に係る半導体装置を示す機能ブロック図である。
【図１１】本発明の第７の実施形態に係る半導体装置の書き換え動作検知部及び読み出し禁止解除制御部を示す機能ブロック図である。
【図１２】本発明の第８の実施形態に係る半導体装置の書き換え動作検知部及び読み出し禁止解除制御部を示す機能ブロック図である。
【図１３】（ａ）は本発明の第９の実施形態に係る半導体装置の外部入出力制御部を示す機能ブロック図であり、（ｂ）及び（ｃ）は第９の実施形態に係る半導体装置の外部入出力制御部の変形例を示す機能ブロック図である。
【図１４】（ａ）は本発明の第１０の実施形態に係る半導体装置の外部入出力制御部を示す機能ブロック図であり、（ｂ）及び（ｃ）は第１０の実施形態に係る半導体装置の外部入出力制御部の変形例を示す機能ブロック図である。
【図１５】（ａ）は本発明の第１１の実施形態に係る半導体装置の入出力制御部を示す機能ブロック図であり、（ｂ）及び（ｃ）は第１１の実施形態に係る半導体装置の入出力制御部の変形例を示す機能ブロック図である。
【図１６】（ａ）は本発明の第１２の実施形態に係る半導体装置の入出力制御部を示す機能ブロック図であり、（ｂ）及び（ｃ）は第１１の実施形態に係る半導体装置の入出力制御部の変形例を示す機能ブロック図である。
【図１７】（ａ）は第１の従来例に係る半導体装置を示す機能ブロック図であり、（ｂ）は第１の従来例に係る半導体装置のメモリセルの電流特性の一例を示し、不揮発性メモリブロックに保持されたデータを不正に読み出す方法を説明するグラフである。
【符号の説明】
１０１  半導体装置
１０２  ＣＰＵ
１０３  ＲＡＭ
１０４  制御回路
１０５  不揮発性メモリブロック
１０６  書き換え制御回路
１０７  外部入出力制御部
１０８  書き換え動作検知部
１０９  読み出し禁止解除制御部
１２１  メモリセルアレイ
１２２  入出力制御部
１２３  センスアンプ
１２４  デコーダ
１３１  動作検知回路
１３２  消去結果判定回路
１３３  書き込み結果判定回路
１３４  動作手順検知回路（動作手順検知手段）
１４１  読み出し動作検知回路
１４２  動作手順検知レジスタ（レジスタ）
１４３  読み出し禁止解除制御回路
１５１  出力禁止制御回路（出力禁止手段）
１５２  入力制御回路
２０１  半導体装置
２０５  不揮発性メモリブロック
２０７  外部入出力制御部
２０８  書き換え動作検知部
２０９  読み出し禁止解除制御部
２２１  メモリセルアレイ
２３２  消去結果判定回路
２３３  書き込み結果判定回路
２３４  動作手順検知回路
２４２  動作手順検知レジスタ部（レジスタ部）
２４３  読み出し禁止解除制御回路
２５１  出力禁止制御回路
２６１  第１の消去単位
２６２  第２の消去単位
２６３  第ｎの消去単位
３０１  半導体装置
３０５  不揮発性メモリブロック
３０７  外部入出力制御部
３２２  入出力制御部（メモリ制御部）
３６１  ベリファイ結果出力制御回路
３６２  データ出力禁止制御回路（出力禁止手段）
３６３  データ入力制御回路
４０１  半導体装置
４０５  不揮発性メモリブロック
４２２  入出力制御部（メモリ制御部）
４６１  ベリファイ結果出力制御回路
４６２  データ出力禁止制御回路（出力禁止手段）
５０１  半導体装置
５０２  ＣＰＵ
５０３  ＲＡＭ
５０４  制御回路
５１０  制御バス
６０１  半導体装置
６０２  ＣＰＵ
６０３  ＲＡＭ
６０４  制御回路
６１０  制御バス
７０１  書き換え動作検知部
７０２  読み出し禁止解除制御部
７０３  異常動作検知回路（異常動作検知手段）
７０４  動作手順検知レジスタ（レジスタ）
７１１  書き換え動作検知部
７１２  読み出し禁止解除制御部
７１３  異常動作検知回路（異常動作検知手段）
７１４  動作手順検知レジスタ部（レジスタ部）
７２１  外部入出力制御部
７２２  固定データ発生回路（データ発生回路）
７２３  不特定データ発生回路（データ発生回路）
７２４  データスクランブル回路（データ発生回路）
７３１  外部入出力制御部
７４１  入出力制御部
７５１  入出力制御部
８０１  制御信号入力端子
８０２  アドレス入力端子
８０３  データ入出力端子
８０４  入出力端子
８１１  制御信号
８１２  アドレス信号
８１３  データ信号
８１４  ベリファイ結果信号
８１５  動作手順検知信号
８１６  読み出し禁止解除信号
８２５  動作手順検知信号
８２６  読み出し禁止解除信号
８３１  センスアンプ信号
８４１  動作電圧
８４２  異常動作検知信号
８４３  異常動作検知信号
８５１  固定データ（ダミーデータ）
８５２  不特定データ（ダミーデータ）
８５３  スクランブルデータ（ダミーデータ）
【図１】
0003891863.tif 000002
【図２】
0003891863.tif 000003
【図３】
0003891863.tif 000004
【図４】
0003891863.tif 000005
【図５】
0003891863.tif 000006
【図６】
0003891863.tif 000007
【図７】
0003891863.tif 000008
【図８】
0003891863.tif 000009
【図９】
0003891863.tif 000010
【図１０】
0003891863.tif 000011
【図１１】
0003891863.tif 000012
【図１２】
0003891863.tif 000013
【図１３】
0003891863.tif 000014
【図１４】
0003891863.tif 000015
【図１５】
0003891863.tif 000016
【図１６】
0003891863.tif 000017
【図１７】
0003891863.tif 000018