(57)【要約】【課題】ＳＴＢ機能がハッキング等されることにより、使用できるメモリ領域が減少することを抑制すること。【解決手段】本発明は、不揮発性メモリセルを有する複数のメモリ領域と、各メモリ領域に対応し設けられ、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報をそれぞれ記憶する複数のプログラム禁止情報部２０と、プログラム禁止情報のプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報に基づき、対応するメモリ領域のプログラム禁止状態から可能状態への変更を禁止する第１禁止情報制御回路４１と、プログラム禁止情報のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報に基づきメモリ領域のプログラム可能状態から禁止状態への変更を禁止する第２禁止情報制御回路６１と、を具備する半導体装置およびその制御方法である。【選択図】図３
2008192212.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリセルを有する複数のメモリ領域と、
各メモリ領域に対応し設けられ、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報をそれぞれ記憶する複数のプログラム禁止情報部と、
前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する第１禁止情報制御回路と、
前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する第２禁止情報制御回路と、を具備する半導体装置。
【請求項２】
前記第１禁止情報制御回路は、前記第２禁止情報が前記プログラム禁止情報の対応する各メモリ領域をプログラム可能状態から禁止状態への変更の禁止を示す場合、前記第１禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する請求項１記載の半導体装置。
【請求項３】
前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可するか否かを規定する補助プログラム禁止情報を入力する入力端子を具備し、
第２禁止情報制御回路は、
前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を許可する場合においては、前記補助プログラム禁止情報を無効または有効とするかを規定する補助情報無効化情報が有効を示す場合は、前記補助プログラム禁止情報に基づき前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可または許可せず、前記補助情報無効化情報が無効を示す場合は、前記補助プログラム禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可し、
前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を禁止する場合においては、前記補助プログラム禁止情報および前記補助情報無効化情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する請求項１または２記載の半導体装置。
【請求項４】
前記第２禁止情報を記憶する第２禁止情報記憶部を具備する請求項１から３記載の半導体装置。
【請求項５】
前記プログラム禁止情報記憶部と前記第２禁止情報記憶部とは異なるコマンドを用いる請求項４記載の半導体装置。
【請求項６】
前記プログラム禁止情報記憶部の前記プログラム禁止情報を消去する消去手段は、前記第２禁止情報記憶部の前記第２禁止情報を消去する消去手段とは異なる請求項４記載の半導体装置。
【請求項７】
前記プログラム禁止情報記憶部は半導体基板内のウェルに設けられ、
前記第２禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる請求項４記載の半導体装置。
【請求項８】
前記第１禁止情報を記憶する第１禁止情報記憶部を具備し、
前記第１禁止情報記憶部と前記第２禁止情報記憶部とは異なるコマンドを用いる請求項４記載の半導体装置。
【請求項９】
前記第１禁止情報を記憶する第１禁止情報記憶部を具備し、
前記第１禁止情報記憶部の前記第１禁止情報を消去する消去手段は、前記第２禁止情報記憶部の前記第２禁止情報を消去する消去手段とは異なる請求項４記載の半導体装置。
【請求項１０】
前記第１禁止情報を記憶する第１禁止情報記憶部を具備し、
前記第１禁止情報記憶部は半導体基板内のウェルに設けられ、
前記第２禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる請求項４記載の半導体装置。
【請求項１１】
前記補助情報無効化情報を記憶する補助情報無効化記憶部と、
前記第２禁止情報を記憶する第２禁止情報記憶部と、を具備し、
前記補助情報無効化情報記憶部と前記第２禁止情報記憶部とは異なるコマンドを用いる請求項３記載の半導体装置。
【請求項１２】
前記補助情報無効化情報を記憶する補助情報無効化記憶部と、
前記第２禁止情報を記憶する第２禁止情報記憶部と、を具備し、
前記補助情報無効化記憶部は半導体基板内のウェルに設けられ、
前記第２禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる請求項３記載の半導体装置。
【請求項１３】
不揮発性メモリセルを有する複数のメモリ領域と、
各メモリ領域に対応し設けられ、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報をそれぞれ記憶する複数のプログラム禁止情報部と、
前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する第２禁止情報制御回路と、を具備し、
前記第２禁止情報制御回路は、
前記第２禁止情報が前記メモリ領域のプログラム可能状態から禁止状態への変更を許可する場合においては、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可するか否かを規定する第３禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可または許可せず、
前記第２禁止情報が前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する場合においては、前記第３禁止情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する半導体装置。
【請求項１４】
前記第２禁止情報を記憶する第２禁止情報記憶部と、
前記第３禁止情報を記憶する第３禁止情報記憶部と、を具備し、
前記第２禁止情報記憶部と前記第３禁止情報記憶部とは異なるコマンドを用いる請求項１３記載の半導体装置。
【請求項１５】
前記第２禁止情報を記憶する第２禁止情報記憶部と、
前記第３禁止情報を記憶する第３禁止情報記憶部と、を具備し、
前記第２禁止情報記憶部の前記第２禁止情報を消去する消去手段は、前記第３禁止情報記憶部の前記第３禁止情報を消去する消去手段とは異なる請求項１３記載の半導体装置。
【請求項１６】
前記第２禁止情報を記憶する第２禁止情報記憶部と、
前記第３禁止情報を記憶する第３禁止情報記憶部と、を具備し、
前記第２禁止情報記憶部は半導体基板内のウェルに設けられ、
前記第３禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる請求項１３記載の半導体装置。
【請求項１７】
不揮発性メモリセルを有する複数のメモリ領域と、
各メモリ領域に対応し設けられ、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報をそれぞれ記憶する複数のプログラム禁止情報部と、
前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する第１禁止情報制御回路と、を具備し、
前記第１禁止情報制御回路は、
前記第１禁止情報が前記メモリ領域のプログラム禁止状態から可能状態への変更を許可する場合においては、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を許可するか否かを規定する第４禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を許可または許可せず、
前記第１禁止情報が前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する場合においては、前記第４禁止情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する半導体装置。
【請求項１８】
前記第１禁止情報を記憶する第１禁止情報記憶部と、
前記第４禁止情報を記憶する第４禁止情報記憶部と、を具備し、
前記第１禁止情報記憶部と前記第４禁止情報記憶部とは異なるコマンドを用いる請求項１７記載の半導体装置。
【請求項１９】
前記第１禁止情報を記憶する第１禁止情報記憶部と、
前記第４禁止情報を記憶する第４禁止情報記憶部と、を具備し、
前記第１禁止情報記憶部の前記第１禁止情報を消去する消去手段は、前記第４禁止情報記憶部の前記第４禁止情報を消去する消去手段とは異なる請求項１７記載の半導体装置。
【請求項２０】
前記第１禁止情報を記憶する第１禁止情報記憶部と、
前記第４禁止情報を記憶する第４禁止情報記憶部と、を具備し、
前記第１禁止情報記憶部は半導体基板内のウェルに設けられ、
前記第４禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる請求項１７記載の半導体装置。
【請求項２１】
不揮発性メモリセルを有する複数のメモリ領域を具備する半導体装置の制御方法において、
対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するステップと、
前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するステップと、を有する半導体装置の制御方法。
【請求項２２】
前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するステップは、前記第２禁止情報が前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更の禁止を示す場合、前記第１禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するステップを含む請求項２１記載の半導体装置の制御方法。
【請求項２３】
前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可するか否かを規定する補助プログラム禁止情報を入力するステップを有し、
前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するステップは、
前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を許可する場合においては、前記補助プログラム禁止情報を無効または有効とするかを規定する補助情報無効化情報が有効を示す場合は、前記補助プログラム禁止情報に基づき前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可または許可せず、前記補助情報無効化情報が無効を示す場合は、前記補助プログラム禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可し、
前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を禁止する場合においては、前記補助プログラム禁止情報および前記補助情報無効化情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するステップを含む請求項２０または２１記載の半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置およびその制御方法に関し、特に不揮発性メモリセルを有する半導体装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、データの書換えが可能な半導体装置である不揮発性メモリが携帯電話端末やデジタルカメラ等多くの電子機器に広く利用されている。代表的な不揮発性メモリであるフラッシュメモリは、メモリセルの電荷蓄積層に電荷を蓄積することにより、メモリセルにデータを不揮発的に書き込むことができる。また、電荷蓄積層の電荷を消去することにより、データを消去することができる。不揮発性メモリには、セキュリティの観点からメモリセルへのデータの書き込みや消去、メモリセルのデータの読み出しを禁止する保護機能を有するものがある。
【０００３】
なお、本明細書においては、データを書き込み（データが“０”であり、メモリセルの閾値電圧を高くすること）または消去（データが“１”であり、メモリセルの閾値電圧を低くすること）することをプログラムするという。また、メモリセルへのデータのプログラム（データ“１”を“０”に、またはデータ“０”を“１”にすること）、書き込み（データ“１”を“０”にすること）、消去（データ“０”を“１”にすること）および読み出し（データ“０”または“１”を出力すること）をそれぞれメモリセルのプログラム、書き込み、消去および読み出しと表現する。また、複数のメモリセルを有するメモリ領域内のメモリセルへのデータのプログラム、書き込み、消去および読み出しをそれぞれメモリ領域のプログラム、書き込み、消去および読み出しと表現する。
【０００４】
メモリセルへのプログラム（データの書き込みまたは消去）を禁止する方法として、複数のメモリ領域のうち、それぞれのメモリ領域のプログラムを禁止または可能とする機能がある。このような機能をライトプロテクト機能という。これを実現するため、各メモリ領域のプログラムを禁止するかまたは可能とするかを規定するプログラム禁止情報を記憶するプログラム禁止情報部を各メモリ領域に対応し有する不揮発性メモリがある。
【０００５】
特許文献１には、メモリセルアレイに書き込みを制限する書き込み制限レジスタ（プログラム禁止情報部に相当する）と、書き込みを制限レジスタの書き込みを制限する論理回路を有する不揮発性メモリが開示されている。
【０００６】
特許文献１の技術を応用し、メモリ領域をプログラム禁止状態とした場合、その後メモリ領域のプログラム禁止状態から可能状態への変更を禁止する（つまり、１度プログラム禁止状態へ機能を設定とすると、このメモリ領域はＲＯＭ化する）機能を有する不揮発性メモリがある。このような機能をＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）機能という。このような不揮発性メモリにおいては、ＳＴＢ機能を有効にするか無効にするかを選択することができる。これを実現するため、プログラム禁止情報がプログラム禁止状態となった場合、その後プログラム禁止情報のプログラム禁止状態から可能状態への変更を禁止する（メモリ領域をＲＯＭ化する）か否（メモリ領域をＲＯＭ化しない）かを規定するＲＯＭ化情報（第１禁止情報）を有する。ＲＯＭ化情報は不揮発性のＲＯＭ化情報記憶部に記憶される。例えば、不揮発性メモリを出荷する際、ユーザの要求に応じ、ＲＯＭ化情報が設定される。あるいは、権限を有するユーザのみがＲＯＭ化情報を設定することができる。これにより、ハッカー等によりＲＯＭ化したメモリ領域のデータの改ざんを防止することができる。
【０００７】
特許文献２には、複数の書き込み保護情報（プログラム禁止情報に相当する）を同時に設定するため、各書き込み保護記憶回路（プログラム禁止情報部に相当する）に対応するラッチ回路を設け、ラッチ回路から書き込み保護記憶回路のプログラム禁止情報を同時に設定する不揮発性メモリが開示されている。
【特許文献１】特開平５−２６６６８１号公報
【特許文献２】特開平１１−２１３６８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ＳＴＢ機能を有する不揮発性メモリにおいては、多くのメモリ領域をプログラム禁止状態（つまりＲＯＭ化）すると、使用できるメモリ領域が減少する。つまり、ワーキングメモリ領域が減少する。そうすると、システムの動作が難しくなる。例えば、ハッカー等により多くのメモリ領域がプログラム禁止状態にされると、ワーキングメモリ領域が減少し、システム動作ができなくなってしまう。
【０００９】
本発明は、ＳＴＢ機能がハッキング等されることにより、使用できるメモリ領域が減少することを抑制することが可能な半導体装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、不揮発性メモリセルを有する複数のメモリ領域と、各メモリ領域に対応し設けられ、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報をそれぞれ記憶する複数のプログラム禁止情報部と、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する第１禁止情報制御回路と、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する第２禁止情報制御回路と、を具備する半導体装置である。本発明によれば、ＳＴＢ機能がハッキング等されることによりメモリ領域がプログラム禁止状態にされることを抑制することができる。
【００１１】
上記構成において、前記第１禁止情報制御回路は、前記第２禁止情報が前記プログラム禁止情報の対応する各メモリ領域をプログラム可能状態から禁止状態への変更の禁止を示す場合、前記第１禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する構成とすることができる。この構成によれば、対応するメモリ領域が改ざんされることを抑制することができ、より高セキュリティな不揮発性メモリを提供することができる。
【００１２】
上記構成において、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可するか否かを規定する補助プログラム禁止情報を入力する入力端子を具備し、第２禁止情報制御回路は、前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を許可する場合においては、前記補助プログラム禁止情報を無効または有効とするかを規定する補助情報無効化情報が有効を示す場合は、前記補助プログラム禁止情報に基づき前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可または許可せず、前記補助情報無効化情報が無効を示す場合は、前記補助プログラム禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可し、前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を禁止する場合においては、前記補助プログラム禁止情報および前記補助情報無効化情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する構成とすることができる。この構成によれば、第１禁止情報、第２禁止情報、補助情報無効化情報を適宜設定することにより、要求に応じたセキュリティを実現することができる。
【００１３】
上記構成において、前記第２禁止情報を記憶する第２禁止情報記憶部を具備する構成とすることができる。
【００１４】
上記構成において、前記プログラム禁止情報部と前記第２禁止情報記憶部とは異なるコマンドを用いる構成とすることができる。この構成によれば、プログラム禁止情報記憶部と第２禁止情報記憶部とを独立に制御することができ、第２禁止情報が書き換えられることを抑制することができる。
【００１５】
上記構成において、前記プログラム禁止情報部の前記プログラム禁止情報を消去する消去手段は、前記第２禁止情報記憶部の前記第２禁止情報を消去する消去手段とは異なる構成とすることができる。この構成によれば、プログラム禁止情報と第２禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００１６】
上記構成において、前記プログラム禁止情報記憶部は半導体基板内のウェルに設けられ、前記第２禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる構成とすることができる。この構成によれば、プログラム禁止情報と第２禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００１７】
上記構成において、前記第１禁止情報を記憶する第１禁止情報記憶部を具備し、前記第１禁止情報記憶部と前記第２禁止情報記憶部とは異なるコマンドを用いる構成とすることができる。この構成によれば、第１禁止情報記憶部と第２禁止情報記憶部とを独立に制御することができ、第２禁止情報が書き換えられることを抑制することができる。
【００１８】
上記構成によれば、前記第１禁止情報を記憶する第１禁止情報記憶部を具備し、前記第１禁止情報記憶部の前記第１禁止情報を消去する消去手段は、前記第２禁止情報記憶部の前記第２禁止情報を消去する消去手段とは異なる構成とすることができる。この構成によれば、第１禁止情報と第２禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００１９】
上記構成において、前記第１禁止情報を記憶する第１禁止情報記憶部を具備し、前記第１禁止情報記憶部は半導体基板内のウェルに設けられ、前記第２禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる構成とすることができる。この構成によれば、第１禁止情報と第２禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００２０】
上記構成において、前記補助情報無効化情報を記憶する補助情報無効化記憶部と、前記第２禁止情報を記憶する第２禁止情報記憶部と、を具備し、前記補助情報無効化情報記憶部と前記第２禁止情報記憶部とは異なるコマンドを用いる構成とすることができる。この構成によれば、補助情報無効化記憶部と第２禁止情報記憶部とを独立に制御することができ、第２禁止情報が書き換えられることを抑制することができる。
【００２１】
上記構成において、前記補助情報無効化情報を記憶する補助情報無効化記憶部と、前記第２禁止情報を記憶する第２禁止情報記憶部と、を具備し、前記補助情報無効化記憶部は半導体基板内のウェルに設けられ、前記第２禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる構成とすることができる。この構成によれば、補助情報無効化情報と第２禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００２２】
本発明は、不揮発性メモリセルを有する複数のメモリ領域と、各メモリ領域に対応し設けられ、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報をそれぞれ記憶する複数のプログラム禁止情報部と、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する第２禁止情報制御回路と、を具備し、前記第２禁止情報制御回路は、前記第２禁止情報が前記メモリ領域のプログラム可能状態から禁止状態への変更を許可する場合においては、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可するか否かを規定する第３禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可または許可せず、前記第２禁止情報が前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する場合においては、前記第３禁止情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止する半導体装置である。本発明によれば、独立な２つの情報がいずれもプログラム可能状態からプログラム禁止状態への変更を許可する場合のみ、プログラム禁止情報のプログラム可能状態から禁止状態への変更を許可することができる。よって、一方の情報がハッキングされても、プログラム禁止情報の変更ができないため、より高セキュリティな不揮発性メモリを提供することができる。
【００２３】
上記構成において、前記第２禁止情報を記憶する第２禁止情報記憶部と、前記第３禁止情報を記憶する第３禁止情報記憶部と、を具備し、
前記第２禁止情報記憶部と前記第３禁止情報記憶部とは異なるコマンドを用いる構成とすることができる。この構成によれば、第２禁止情報記憶部と第３禁止情報記憶部とを独立に制御することができ、第２禁止情報と第３禁止情報とが同時に書き換えられることを抑制することができる。
【００２４】
上記構成において、前記第２禁止情報を記憶する第２禁止情報記憶部と、前記第３禁止情報を記憶する第３禁止情報記憶部と、を具備し、前記第２禁止情報記憶部の前記第２禁止情報を消去する消去手段は、前記第３禁止情報記憶部の前記第３禁止情報を消去する消去手段とは異なる構成とすることができる。この構成によれば、第２禁止情報と第３禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００２５】
上記構成において、前記第２禁止情報を記憶する第２禁止情報記憶部と、前記第３禁止情報を記憶する第３禁止情報記憶部と、を具備し、前記第２禁止情報記憶部は半導体基板内のウェルに設けられ、前記第３禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる構成とすることができる。この構成によれば、第２禁止情報と第３禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００２６】
本発明は、不揮発性メモリセルを有する複数のメモリ領域と、各メモリ領域に対応し設けられ、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報をそれぞれ記憶する複数のプログラム禁止情報部と、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する第１禁止情報制御回路と、を具備し、前記第１禁止情報制御回路は、前記第１禁止情報が前記メモリ領域のプログラム禁止状態から可能状態への変更を許可する場合においては、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を許可するか否かを規定する第４禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を許可または許可せず、前記第１禁止情報が前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する場合においては、前記第４禁止情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止する半導体装置である。本発明によれば、独立な２つの情報がいずれもプログラム禁止状態からプログラム可能状態への変更を許可する場合のみ、プログラム禁止情報のプログラム禁止状態から可能状態への変更を許可することができる。よって、一方の情報がハッキングされても、プログラム禁止情報の変更ができないため、より高セキュリティな不揮発性メモリを提供することができる。
【００２７】
上記構成において、前記第１禁止情報を記憶する第１禁止情報記憶部と、前記第４禁止情報を記憶する第４禁止情報記憶部と、を具備し、前記第１禁止情報記憶部と前記第４禁止情報記憶部とは異なるコマンドを用いる構成とすることができる。この構成によれば、第１禁止情報記憶部と第４禁止情報記憶部とを独立に制御することができ、第１禁止情報と第４禁止情報とが同時に書き換えられることを抑制することができる。
【００２８】
上記構成において、前記第１禁止情報を記憶する第１禁止情報記憶部と、前記第４禁止情報を記憶する第４禁止情報記憶部と、を具備し、前記第１禁止情報記憶部の前記第１禁止情報を消去する消去手段は、前記第４禁止情報記憶部の前記第４禁止情報を消去する消去手段とは異なる構成とすることができる。この構成によれば、第１禁止情報と第４禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００２９】
上記構成において、前記第１禁止情報を記憶する第１禁止情報記憶部と、前記第４禁止情報を記憶する第４禁止情報記憶部と、を具備し、前記第１禁止情報記憶部は半導体基板内のウェルに設けられ、前記第４禁止情報記憶部は前記半導体基板内の前記ウェルから分離した別のウェルに設けられる構成とすることができる。この構成によれば、第１禁止情報と第４禁止情報とが同時に消去されることがなく、よりセキリティが高い不揮発性メモリを実現することができる。
【００３０】
本発明は、不揮発性メモリセルを有する複数のメモリ領域を具備する半導体装置の制御方法において、対応する各メモリ領域をプログラム禁止または可能とするかを規定するプログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するステップと、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報に基づき、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するステップと、を有する半導体装置の制御方法である。本発明によれば、ＳＴＢ機能がハッキング等されることによりメモリ領域がプログラム禁止にされることを抑制することができる。
【００３１】
上記構成において、前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するステップは、前記第２禁止情報が前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更の禁止を示す場合、前記第１禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム禁止状態から可能状態への変更を禁止するステップを含む構成とすることができる。この構成によれば、より高いセキュリティを実現することができる。
【００３２】
上記構成において、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可するか否かを規定する補助プログラム禁止情報を入力するステップを有し、前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するステップは、前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を許可する場合においては、前記補助プログラム禁止情報を無効または有効とするかを規定する補助情報無効化情報が有効を示す場合は、前記補助プログラム禁止情報に基づき前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可または許可せず、前記補助情報無効化情報が無効を示す場合は、前記補助プログラム禁止情報によらず前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を許可し、前記第２禁止情報が前記メモリセルのプログラム可能状態から禁止状態への変更を禁止する場合においては、前記補助プログラム禁止情報および前記補助情報無効化情報によらず、前記プログラム禁止情報の対応する前記メモリ領域のプログラム可能状態から禁止状態への変更を禁止するステップを含む構成とすることができる。この構成によれば、第１禁止情報、第２禁止情報、補助情報無効化情報を適宜設定することにより、要求に応じたセキュリティを実現することができる。
【発明の効果】
【００３３】
本発明によれば、ＳＴＢ機能がハッキング等されることにより、使用できるメモリ領域が減少することを抑制することが可能な半導体装置およびその制御方法を提供することができる。
【発明を実施するための最良の形態】
【００３４】
以下に図面を参照に本発明の実施例について説明する。
【実施例１】
【００３５】
図１は、実施例１に係る不揮発性メモリのブロック図である。メモリセルアレイ１０にはワードラインＷＬとビットラインＢＬに接続された不揮発性メモリセルがマトリックス状に配置されている。外部回路からアドレスラッチ１６に入力したアドレス信号により、Ｘデコーダ１３はワードラインＷＬを選択し、Ｙデコーダ１４はＹゲート１８を介しビットラインＢＬを選択する。外部回路からインプット／アウトプットバッファ８４に入出力したデータは、データラッチ８２にラッチされる。データは、Ｙゲート１８で選択されたビットラインＢＬおよびＸデコーダ１３で選択されたワードラインＷＬに接続するメモリセルにプログラムまたは読み出される。外部回路から制御回路７０に入力したコントロールコマンドにより、制御回路７０内のプログラム制御回路７２は、インプット／アウトプットバッファ８４、データラッチ８２を制御する。また、高電圧ジェネレータ８０を制御する。高電圧ジェネレータ８０は、Ｙデコーダ１４およびＸデコーダ１３を介しメモリセルにデータをプログラムまたは読み出すための高電圧を供給する。
【００３６】
図２は実施例１に係る不揮発性メモリのプログラム禁止情報部であるＷＰＣＡＭ（Ｗｒｉｔｅ  Ｐｒｏｔｅｃｔ  Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｙ  Ｍｅｍｏｒｙ）に関連したブロック図である。メモリセルアレイ１０は複数のメモリ領域（メモリ領域１２ａ、１２ｂ、１２ｃ・・・）を有している。メモリ領域１２は、複数の不揮発性メモリセルを有する複数のセクタを有している。デコーダ１５は図１のＸデコーダ１３およびＹデコーダ１４を有している。各メモリ領域（１２ａ、１２ｂ、１２ｃ・・・）に対応し、ＷＰＣＡＭ（２０ａ、２０ｂ、２０ｃ・・・）が設けられている。ＷＰＣＡＭ２０には、対応するメモリ領域１２のプログラムを禁止するか可能とするかを規定するプログラム禁止情報（ＷＰＣＡＭデータ）が記憶されている。
【００３７】
ＷＰＣＡＭ２０には、ＷＰＣＡＭ２０をデコードするＷＰＣＡＭデコーダ２４ａおよび２４ｂが接続されている。ＷＰＣＡＭ制御回路２２にはＷＰＣＡＭコマンドが入力し、ＣＡＭ１（４０）、ＣＡＭ６（６０）が接続されている。ＷＰＣＡＭ制御回路２２は、ＷＰＣＡＭコマンドおよびＣＡＭ１（４０）、ＣＡＭ６（６０）からのデータに基づき、ＷＰＣＡＭデコーダ２４ａを介し、ＷＰＣＡＭ２０をプログラムする。
【００３８】
ＣＡＭ１（４０）はＳＴＢ機能のための不揮発性の第１禁止情報記憶部であり、ＷＰＣＡＭデータ（プログラム禁止情報）を対応するメモリ領域１２についてプログラム禁止とした場合、その後ＷＰＣＡＭデータを対応するメモリ領域１２についてプログラム禁止状態から可能状態への変更を禁止するか否かを規定する第１禁止情報（ＣＡＭ１データ、ＲＯＭ化情報に対応する）を記憶する。
【００３９】
ＣＡＭ６（６０）は不揮発性の第２禁止情報記憶部であり、ＷＰＣＡＭデータ（プログラム禁止情報）を対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を禁止するか否かを規定する第２禁止情報（ＣＡＭ６データ）を記憶する。
【００４０】
メモリ領域１２をプログラムする際は、対応するＷＰＣＡＭ２０のＷＰＣＡＭデータ（プログラム禁止情報）がＷＰＣＡＭデコーダ２４ｂを介しプログラム制御回路７２に読み出される。プログラム制御回路７２は、ＷＰＣＡＭデータが対応するメモリ領域１２についてプログラム禁止状態を示す場合（つまり、ＷＰＣＡＭデータが書き込み状態“０”の場合）、対応するメモリ領域１２をプログラムしない。一方、ＷＰＣＡＭデータがプログラム可能状態を示す場合（つまり、ＷＰＣＡＭデータが消去状態“１”の場合）、対応するメモリ領域１２をプログラムするため、アドレスラッチ１６、高電圧ジェネレータ８０を制御する。
【００４１】
図３はＷＰＣＡＭ制御回路２２周辺の詳細なブロック図である。図２と同じ部材は同じ符号を付し説明を省略する。ＷＰＣＡＭ制御回路２２は第１禁止情報制御回路４１および第２禁止情報制御回路６１を有し、第１禁止情報制御回路４１はスイッチ２５を、第２禁止情報制御回路６１はスイッチ２７を有している。ＷＰＣＡＭ制御回路２２に入力したＷＰＣＡＭ書き込み信号、ＷＰＣＡＭ消去信号はそれぞれスイッチ２７、２５を介しＷＰＣＡＭデコーダ２４ａに出力され、ＷＰＣＡＭデコーダ２４ａで選択されたＷＰＣＡＭ２０を書き込みまたは消去する。ＣＡＭ１制御回路４２はＣＡＭ１コマンドに基づき、ＣＡＭ１（４０）をプログラムする。ＣＡＭ６制御回路６２はＣＡＭ６コマンドに基づき、ＣＡＭ６（６０）をプログラムする。ＣＡＭ１（４０）およびＣＡＭ６（６０）はそれぞれ半導体基板のＰ型ウェル４８、６８に設けられている。Ｐ型ウェル４８、６８はそれぞれＷＰＣＡＭ２０が設けられたＰ型ウェル２８と独立に設けることができる。それらの効果は後述する。ＣＡＭ１（４０）のＣＡＭ１データ（第１禁止情報）はスイッチ２５を制御する。ＣＡＭ６（６０）のＣＡＭ６データ（第２禁止情報）はスイッチ２７を制御する。
【００４２】
図４はＷＰＣＡＭ２０を消去する場合（つまり、対応するメモリ領域をプログラム禁止状態からプログラム可能状態に変更する場合）の第１禁止情報制御回路４１の動作を示すフローチャートである。図４を参照に、第１禁止情報制御回路４１にはＷＰＣＡＭ消去信号が入力する（ステップＳ１０）。第１禁止情報制御回路４１はＣＡＭ１（４０）よりＣＡＭ１データ（第１禁止情報）を読み出す（ステップＳ１２）。第１禁止情報制御回路４１はＣＡＭ１データが“０”か“１”を判断する（ステップＳ１４）。ＣＡＭ１データが“１”（消去状態）の場合、第１禁止情報制御回路４１はスイッチ２５をオンしてＷＰＣＡＭ２０の消去を許可する（ステップＳ１６）。ＣＡＭ１データが“０”（書き込み状態）の場合、第１禁止情報制御回路４１はスイッチ２５をオフしてＷＰＣＡＭ２０の消去を禁止する（ステップＳ１８）。
【００４３】
図５はＷＰＣＡＭ２０を書き込む場合（つまり、対応するメモリ領域をプログラム可能状態からプログラム禁止状態に変更する場合）の第２禁止情報制御回路６１の動作を示すフローチャートである。図５を参照に、第２禁止情報制御回路６１にはＷＰＣＡＭ書き込み信号が入力する（ステップＳ２０）。第２禁止情報制御回路６１はＣＡＭ６（６０）よりＣＡＭ６データ（第２禁止情報）を読み出す（ステップＳ２２）。第２禁止情報制御回路６１はＣＡＭ６データが“０”か“１”を判断する（ステップＳ２４）。ＣＡＭ６データが“１”（消去状態）の場合、第２禁止情報制御回路６１はスイッチ２７をオンしてＷＰＣＡＭ２０への書き込みを許可する（ステップＳ２６）。ＣＡＭ６データが“０”（書き込み状態）の場合第２禁止情報制御回路６１はスイッチ２７をオフしてＷＰＣＡＭ２０への書き込みを禁止する（ステップＳ２８）。
【００４４】
図６は実施例１に係る不揮発性メモリのＣＡＭ１データおよびＣＡＭ６データによるスイッチ２５、２７の動作を示した図である。ＳＴＢ機能を活性とするＣＡＭ１データが“０”（書き込み状態）の場合、スイッチ２５はＣＡＭ６データによらずオフする。つまり、ＷＰＣＡＭの消去を禁止する（メモリ領域のプログラム禁止状態から可能状態への変更を禁止する）。ＣＡＭ１データが“１”（消去状態）の場合、スイッチ２５はＣＡＭ６データによらずオンする。つまりＷＰＣＡＭの消去を許可する（メモリ領域のプログラム禁止状態から可能状態への変更を許可する）。
【００４５】
ＣＡＭ６データが“０”（書き込み状態）の場合、スイッチ２７はＣＡＭ１データによらずオフする。つまり、ＷＰＣＡＭの書き込みを禁止する（メモリ領域のプログラム可能状態から禁止状態への変更を禁止する）。ＣＡＭ６データが“１”（消去状態）の場合、スイッチ２７はＣＡＭ１データによらずオンする。つまり、ＷＰＣＡＭの書き込みを許可する（メモリ領域のプログラム可能状態から禁止状態への変更を許可する）。
【００４６】
実施例１によれば、図４および図６のように、第１禁止情報制御回路４１は、ＷＰＣＡＭが書き込みされた状態（対応するメモリ領域のプログラム禁止状態）で、ＣＡＭ１データ（第１禁止情報）に基づき、ＷＰＣＡＭの消去を禁止した場合（ＣＡＭ１データを“０”、プログラム禁止情報を対応するメモリ領域のプログラム禁止状態とした場合）、その後、プログラム禁止情報の対応するメモリ領域１２のプログラム禁止状態から可能状態への変更を禁止する。また、図５および図６のように、第２禁止情報制御回路６１は、ＣＡＭ６データ（第２禁止情報）に基づき、ＷＰＣＡＭの書き込みを禁止した場合（ＣＡＭ６データを“０”、メモリ領域１２のプログラム可能状態から禁止状態への変更を禁止とした場合）、プログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を禁止する。このような構成により、ＣＡＭ１データを“０”およびＣＡＭ６データを“０”とすることにより、ＷＰＣＡＭデータを固定することができる。よって、例えば、ＳＴＢ機能が活性化された際、ハッカー等によりメモリ領域がプログラム禁止状態にされることを抑制することができる。これにより、ワーキングメモリ領域が減少し、システム動作ができなくなってしまうことを抑制することができる。
【実施例２】
【００４７】
実施例２は、ＣＡＭ６データが“０”の場合はＣＡＭ１データによらず、スイッチ２５をオンしない例である。図７を参照に、第１禁止情報制御回路４１はスイッチ２５を加えＡＮＤ回路６３を有している。ＡＮＤ回路６３にはＣＡＭ１データとＣＡＭ６データとが入力し、出力はスイッチ２５に入力する。その他の構成は実施例１の図３と同じであり説明を省略する。
【００４８】
図８はＷＰＣＡＭ２０を消去する場合の第１禁止情報制御回路４１の動作を示すフローチャートである。図８を参照に、第１禁止情報制御回路４１にはＷＰＣＡＭ消去信号が入力する（ステップＳ３０）。第１禁止情報制御回路４１はＣＡＭ６（６０）よりＣＡＭ６データ（第２禁止情報）を読み出す（ステップＳ３２）。第１禁止情報制御回路４１は、ＣＡＭ６データが“０”か“１”であるかを判断する（ステップＳ３４）。ＣＡＭ６データが“０”（書き込み状態）の場合、第１禁止情報制御回路４１はスイッチ２５をオフしＷＰＣＡＭ２０の消去を禁止する（ステップＳ４２）。
【００４９】
ステップＳ３４において“１”(消去状態）の場合、ＣＡＭ１（４０）よりＣＡＭ１データ（第１禁止情報）を読み出す（ステップＳ３６）。第１禁止情報制御回路４１はＣＡＭ１データが“０”か“１”を判断する（ステップＳ３８）。ＣＡＭ１データが“１”（消去状態）の場合、第１禁止情報制御回路４１はスイッチ２５をオンしてＷＰＣＡＭ２０の消去を許可する（ステップＳ４０）。ＣＡＭ６データが“０”（書き込み状態）の場合、第１禁止情報制御回路４１はスイッチ２５をオフしてＷＰＣＡＭ２０の消去を禁止する（ステップＳ４２）。
【００５０】
図９は実施例２に係る不揮発性メモリのＣＡＭ１データおよびＣＡＭ６データによるスイッチ２５、２７の動作を示した図である。実施例１の図６に対し、ＣＡＭ６データが“０”の場合、ＣＡＭ１データが“１”であっても、スイッチＳ２５をオフとする。つまり、ＷＰＣＡＭの消去を禁止する（メモリ領域のプログラム禁止状態から可能状態への変更を禁止する）。
【００５１】
実施例２によれば、図８および図９のように、第１禁止情報制御回路４１は、ＣＡＭ６データ（第２禁止情報）が“０”の場合（プログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更の禁止を示す場合）、ＣＡＭ１データ（第１禁止情報）によらずプログラム禁止情報の対応するメモリ領域１２のプログラム禁止状態から可能状態への変更を禁止する。これにより、例えばＳＴＢ機能がハッキングされ、ＣＡＭ１データが“０”から“１”に改ざんされた場合、ＷＰＣＡＭデータが“０”から“１”に改ざんされ、対応するメモリ領域が改ざんされることを抑制することができる。このように、より高セキュリティな不揮発性メモリを提供することができる。
【００５２】
また、実施例２に係るフラッシュメモリは第１禁止情報制御回路４１と第２禁止情報制御回路６１とを有しているが、第２禁止情報制御回路６１は有さなくても良い。図１０は実施例２の変形例のＷＰＣＡＭ制御回路２２周辺のブロック図である。図１０を参照に、実施例２の変形例は実施例２の図７に対し、第２禁止情報制御回路６１を有していない。その他の構成は図７と同じであり説明を省略する。
【００５３】
実施例２の変形例によれば、ＣＡＭ１データ（第１禁止情報）と、プログラム禁止情報の対応するメモリ領域１２のプログラム禁止状態から可能状態への変更を許可するか否かを規定する第４禁止情報とに基づき第１禁止情報制御回路４１が制御される。実施例２の変形例ではＣＡＭ６データ（第２禁止情報）が第４禁止情報に対応する。図８および図９のように、ＣＡＭ１データがメモリ領域１２のプログラム禁止状態から可能状態への変更を許可する場合においては、ＣＡＭ６データに基づき、プログラム禁止情報の対応するメモリ領域１２のプログラム禁止状態から可能状態への変更を許可または許可しない。一方。ＣＡＭ１データがメモリ領域１２のプログラム禁止状態から可能状態への変更を禁止する場合においては、ＣＡＭ６データによらず、プログラム禁止情報の対応するメモリ領域１２のプログラム禁止状態から可能状態への変更を禁止する。
【００５４】
実施例２の変形例によれば、独立な２つの情報（第１禁止情報および第４禁止情報）がいずれもプログラム禁止状態からプログラム可能状態への変更を許可する場合のみ、プログラム禁止情報のプログラム禁止状態から可能状態への変更を許可することができる。よって、一方の情報がハッキングされても、プログラム禁止情報の変更ができないため、より高セキュリティな不揮発性メモリを提供することができる。なお、第２禁止情報は、１つの情報であってもよいし、複数の情報の論理演算の出力であってもよい。
【００５５】
実施例２の変形例において、ＣＡＭ１コマンドとＣＡＭ６コマンドは異なるコマンドであることが好ましい。ＣＡＭ１（２０）(第１禁止情報記憶部）の設けられたウェル２８とＣＡＭ６（６０）（第４禁止情報記憶部）の設けられたウェル６８は分離していることが好ましい。つまり、ＣＡＭ１データの消去手段とＣＡＭ６データの消去手段とを異ならせることが好ましい。これらにより、独立に制御される２つの情報（第１禁止情報および第４禁止情報）がいずれもがハッキングされることを抑制することができる。よって、より高セキュリティな不揮発性メモリを提供することができる。
【実施例３】
【００５６】
実施例３は、高電圧を印加する補助入力端子を有する不揮発性メモリの例である。図１１はＷＰＣＡＭ制御回路２２周辺の詳細なブロック図である。実施例１の図３と同じ部材は同じ符号を付し説明を省略する。ＷＰＣＡＭ制御回路２２にはＣＡＭ１（４０）およびＣＡＭ６（６０）に加え、ＣＡＭ３（３０）およびリセットピン３９が接続されている。第２禁止情報制御回路６１は、ＣＡＭ１（４０）、ＣＡＭ３（３０）、ＣＡＭ６（６０）およびリセットピン３９からのデータに基づき、スイッチ２７を制御する。
【００５７】
リセットピン３９は、ＷＰＣＡＭデータ（プログラム禁止情報）の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を許可するか否かを規定する補助プログラム禁止情報（リセットピンデータ）を入力する補助入力端子（単に入力端子ともいう）である。なお、実施例３では、リセットピン３９には外部電源電圧よりも高い高電圧が印加される。そのため、高電圧が印加されているかを判定するための高電圧判定回路(図示せず）がリセットピン３９に接続され、高電圧判定回路はリセットピン３９に高電圧が印加されているかを判定し、補助プログラム禁止情報（リセットピンデータ）を出力する。ＣＡＭ３（３０）は不揮発性の補助情報無効化情報記憶部であり、リセットピンデータを無効または有効とするかを規定する補助情報無効化情報（ＣＡＭ３データ）を記憶する。
【００５８】
第２禁止情報制御回路６１はＡＮＤ回路２１および６６、ＯＲ回路２３を有している。ＡＮＤ回路２１はＣＡＭ１データの反転とＣＡＭ３データのＡＮＤ処理を行う。ＯＲ回路２３はリセットピンデータとＡＮＤ回路２１の出力とのＯＲ処理を行う。ＡＮＤ回路６６はＯＲ回路２３の出力とＣＡＭ６データとをＡＮＤ処理しスイッチ２７に出力する。
【００５９】
図１２はＷＰＣＡＭ２０を書き込む場合（つまり、対応するメモリ領域をプログラム可能からプログラム禁止に変更する場合）の第２禁止情報制御回路６１の動作を示すフローチャートである。
【００６０】
図１２を参照に、第２禁止情報制御回路６１にＷＰＣＡＭ書き込み信号が入力する（ステップＳ５０）。第２禁止情報制御回路６１はＣＡＭ６（６０）よりＣＡＭ６データ（第２禁止情報）を読み込む（ステップＳ５２）。第２禁止情報制御回路６１はＣＡＭ６データが“０”か“１”を判断する（ステップＳ５４）。ＣＡＭ６データが“０”(書き込み状態）の場合、スイッチ２７をオフし、ＷＰＣＡＭの書き込みを禁止する（ステップＳ６６）。ステップＳ５４において“１”(消去状態）の場合、第２禁止情報制御回路６１はＣＡＭ１（４０）よりＣＡＭ１データ（第１禁止情報）を読み込む（ステップＳ５６）。第２禁止情報制御回路６１はＣＡＭ１データが“０”か“１”を判断する（ステップＳ５８）。ＣＡＭ１データが“０”（書き込み状態）の場合、第２禁止情報制御回路６１はＣＡＭ３（３０）よりＣＡＭ３データ（補助情報無効化情報）を読み込む（ステップＳ６０）。第２禁止情報制御回路６１はＣＡＭ３データが“０”か“１”を判断する（ステップＳ６２）。ＣＡＭ３データが“１”（消去状態）の場合、第２禁止情報制御回路６１はスイッチ２７をオンしてＷＰＣＡＭ２０への書き込みを許可する（ステップＳ６８）。
【００６１】
ステップＳ５８においてＣＡＭ１データが“１”（消去状態）の場合またはステップＳ６２においてＣＡＭ３データが“０”（書き込み状態）の場合、第２禁止情報制御回路６１はリセットピン３９よりリセットピンデータ（補助プログラム禁止情報）を読み込む（ステップＳ６３）。リセットピンデータは、リセットピン３９に高電圧(例えば１２Ｖ)が印加されていれば“１”を示し、印加されていなければ“０”を示す。第２禁止情報制御回路６１はリセットピンデータが“０”か“１”を判断する（ステップＳ６４）。リセットピンデータが“１”の場合、第２禁止情報制御回路６１はスイッチ２７をオンしてＷＰＣＡＭ２０への書き込みを許可する（ステップＳ６８）。リセットピンデータが“０”の場合、第２禁止情報制御回路６１は、スイッチ２７をオフしＷＰＣＡＭ２０への書き込みを許可しない（ステップＳ６６）。
【００６２】
ＷＰＣＡＭ２０を消去する場合（つまり、対応するメモリ領域をプログラム禁止状態からプログラム可能状態に変更する場合）の第１禁止情報制御回路４１の動作はＣＡＭ３データ、ＣＡＭ６データ、リセットピンデータによらず実施例１の図４と同じであり説明を省略する。
【００６３】
以上の動作を図１３にまとめた。ＣＡＭ６データが“０”の場合、ＣＡＭ３データ、リセットピンデータによらず、スイッチ２５および２７の動作は実施例１の図６と同じである。
【００６４】
ＣＡＭ６データが“１”の場合は以下のように動作する。「ＳＴＢ機能が無効な場合（ＣＡＭ１データが“１”の場合）」または｛「ＳＴＢ機能が有効な場合（ＣＡＭ１データが“０”の場合）かつ補助情報無効化情報が有効（ＣＡＭ３データが“０”の場合）」｝において、リセットピン３９に前記高電圧が印加されている場合（すなわち補助プログラム禁止情報（リセットピンデータ）が“１”の場合）、ＷＰＣＡＭ２０を書き込む信号が入力すれば、スイッチ２７はオンし、ＷＰＣＡＭ２０は書き込まれる。リセットピン３９に電圧が印加されていない場合（すなわちリセットピンデータが“０”の場合）ＷＰＣＡＭ２０を書き込む信号が入力してもスイッチ２７はオフし、ＷＰＣＡＭ２０には書き込まれないのが原則である。しかし、「ＳＴＢ機能が有効な場合（ＣＡＭ１データが“０”の場合）かつ補助情報無効化情報が無効（ＣＡＭ３データが“１”の場合）」のとき、例外的に補助プログラム禁止情報（リセットピンデータ）に関わらずスイッチ２７はオンし、ＷＰＣＡＭ２０を書き込む信号が入力すれば、ＷＰＣＡＭ２０は書き込まれる。つまり、ＳＴＢ機能が有効な場合（ＣＡＭ１データが“０”の場合）に補助情報無効化情報を無効（ＣＡＭ３データを“１”）としておくことにより、リセットピン３９に高電圧を印加せずともＷＰＣＡＭ２０を書き込み（つまり、対応するメモリ領域１２をプログラム禁止）することができる。
【００６５】
ＳＴＢ機能を活性とするＣＡＭ１データが“０”（書き込み状態）の場合、スイッチ２７をオンしてＷＰＣＡＭ２０への書き込みを許可する条件は、ＣＡＭ３データ（補助情報無効化情報）に依存する。ＣＡＭ３データが“１”（消去状態）の場合、ＷＰＣＡＭ制御回路２２はリセットピンデータを無効にする。ＣＡＭ３データが“０”（書き込み状態）の場合、ＷＰＣＡＭ制御回路２２は、リセットピンデータを有効にする。
【００６６】
実施例３に係る不揮発性メモリにおいては、図１２、図１３を用い説明したように、ＣＡＭ６データが“１”の場合、第２禁止情報制御回路６１が、リセットピンデータ（補助プログラム禁止情報）を無効または有効とするかを規定するＣＡＭ３データ（補助情報無効化情報）に基づき、ＣＡＭ３データが有効（“０”）の場合は、リセットピンデータに基づきプログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を許可または許可しない。一方、ＣＡＭ３データが無効（“１”）の場合は、リセットピンデータによらずプログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を許可する。これにより、ＷＰＣＡＭデータをプログラム可能状態からプログラム禁止状態に変更する際にリセットピン３９に信号が印加されていることを条件とするか否かが選択可能となる。なお、リセットピン３９に入力される信号は高電圧に限られない。高電圧を印加する主旨は、この半導体装置が搭載されるエンドユーザでのシステム基板上に一般には備えない電圧条件であり、ＷＰＣＡＭデータのプログラム可能から禁止への変更を許可するか否かを規定する補助プログラム禁止情報を入力する入力端子であれば良い。
【００６７】
また、ＣＡＭ３データ（補助情報無効化情報）を記憶する補助情報無効化情報記憶部（ＣＡＭ３（３０））が設けられている。さらに、ＣＡＭ６データ（第２禁止情報）を記憶する第２禁止情報記憶部（ＣＡＭ６（６０））が設けられている。これらにより、例えば工場を出荷する際に、または権限のあるユーザが、ＣＡＭ３（３０）およびＣＡＭ６（６０）を適宜設定すれば、ユーザの目的に応じた不揮発性メモリを提供することができる。
【００６８】
さらに、図１３において、ＣＡＭ１データが“０”の場合、ＣＡＭ１データ（第１禁止情報）に基づき、ＷＰＣＡＭ制御回路２２（禁止情報制御回路）は、ＷＰＣＡＭ２０のプログラム禁止情報を対応するメモリ領域１２のプログラム禁止とした場合、その後、そのプログラム禁止情報の対応するメモリ領域１２のプログラム禁止状態から可能状態への変更を禁止する。つまり、図４のステップＳ１０のように、ＷＰＣＡＭ消去信号が入力しても、ステップＳ１８のようにＷＰＣＡＭ２０を消去しない（ＷＰＣＡＭデータを“１”とはしない）。よって、そのＷＰＣＡＭ２０に対応するメモリ領域１２はプログラム禁止状態のままである。これにより、対応するメモリ領域１２をＲＯＭ化することができ、セキュリティを向上させることができる。
【００６９】
さらに、図１２および図１３のように、ＣＡＭ１データ（第１禁止情報）がプログラム禁止状態から可能状態への変更を禁止しない場合においては、ＣＡＭ３データ（補助情報無効化情報）によらず、リセットピンデータ（補助プログラム禁止情報）に基づきプログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を許可するまたは許可しない。つまり、図１３において、ＣＡＭ１データが“１”の場合は、ＣＡＭ３データが“０”または“１”によらず、リセットピンデータが“１”であればスイッチ２７をオンし、リセットピンデータが“０”であればスイッチ２７をオフする。
【００７０】
実施例３によれば、ＣＡＭ１データが“１”の場合、ＣＡＭ３データは影響しない。この場合、ＷＰＣＡＭ２０を書き込みまたは消去することによりメモリ領域１２はプログラム禁止状態と可能状態との変更が相互に可能であり、セキュリティレベルは低い。
【００７１】
ＣＡＭ１データを“０”に設定すると、ＷＰＣＡＭ２０を書き込みすることによりメモリ領域１２はプログラム可能状態から禁止状態に変更され、ＷＰＣＡＭ２０を消去することができないのでメモリ領域１２を再度プログラム可能状態にすることができない。よって、セキュリティレベルは向上する。
【００７２】
さらに、ＣＡＭ３データを“１”に設定すると、リセットピン３９への信号印加によらず、ＷＰＣＡＭ２０を書き込みできることによりメモリ領域１２を簡素にセキュリティレベルの高い方へプログラム禁止状態にできる。よって、例えば通信回線を利用してメモリ領域１２をプログラム禁止状態にすることができる。エンドユーザでのシステム基板上に高電圧回路を設定することなく又通信回線上で多くの信号設定端子を設定することなく簡素にセキュリティレベルの高い方へ設定できる。よってさらにセキュリティレベルを向上させることができる。
【００７３】
さらに、ＣＡＭ６を“０”に設定すると、ＣＡＭ１データおよびＣＡＭ３データによらず、ＷＰＣＡＭ２０に書き込みすることができない。つまり、メモリ領域１２はプログラム可能状態から禁止状態に変更することができない。よってさらにセキュリティレベルを向上させることができる。このように、ＣＡＭ１（４０）、ＣＡＭ３（３０）およびＣＡＭ６（６０）を設定することにより、不揮発性メモリが使用されるアプリケーションの要求に応じ、セキュリティレベルを設定することができる。
【００７４】
さらに、実施例３に係るフラッシュメモリは第１禁止情報制御回路４１と第２禁止情報制御回路６１とを有しているが、第１禁止情報制御回路４１は有さなくても良い。図１４は実施例３の変形例のＷＰＣＡＭ制御回路付近のブロック図である。図１４を参照に、実施例３の変形例は実施例３の図１３に対し、第１禁止情報制御回路４１はＣＡＭ６データとＣＡＭ７（７５）からＣＡＭ７データとが入力するＡＮＤ回路６６を有している。ＣＡＭ７制御回路７６にはＣＡＭ７制御コマンドが入力し、ＣＡＭ７制御回路７６はＣＡＭ７（７０）をプログラムする。一方、第２禁止情報制御回路６１を有していない。その他の構成は図１３と同じであり説明を省略する。
【００７５】
実施例３の変形例によれば、ＣＡＭ６データ（第２禁止情報）と、プログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を許可するか否かを規定するＣＡＭ７データ（第３禁止情報）に基づき第２禁止情報制御回路６１は制御される。第２禁止情報制御回路６１は、ＣＡＭ６データがメモリ領域１２のプログラム可能状態から禁止状態への変更を許可する場合においては、ＣＡＭ７データに基づき、プログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を許可または許可しない。また、ＣＡＭ６データがメモリ領域１２のプログラム可能状態から禁止状態への変更を禁止する場合においては、ＣＡＭ７データによらず、プログラム禁止情報の対応するメモリ領域１２のプログラム可能状態から禁止状態への変更を禁止する。
【００７６】
実施例３の変形例によれば、独立な２つの情報（第２禁止情報および第３禁止情報）がいずれもプログラム可能状態からプログラム禁止状態への変更を許可する場合のみ、プログラム禁止情報のプログラム可能状態から禁止状態への変更を許可することができる。よって、一方の情報がハッキングされても、プログラム禁止情報の変更ができないため、より高セキュリティな不揮発性メモリを提供することができる。なお、第３禁止情報は、ＣＡＭ７（７５）のような記憶部に記憶された情報でなくとも、リセットピン３９のような入力端子から入力された情報であっても良い。また、１つの情報であってもよいし、複数の情報の論理演算の出力であってもよい。
【００７７】
実施例３の変形例において、ＣＡＭ６コマンドとＣＡＭ７コマンドは異なるコマンドであることが好ましい。ＣＡＭ６（６０）（第２禁止情報記憶部）の設けられたウェル６８とＣＡＭ７（７５）（第３禁止情報記憶部）の設けられたウェル６８、７８は分離していることが好ましい。つまり、ＣＡＭ６データの消去手段とＣＡＭ７データの消去手段とを異ならせることが好ましい。これらにより、独立に制御される２つの情報（第２禁止情報および第３禁止情報）がいずれもがハッキングされることを抑制することができる。よって、より高セキュリティな不揮発性メモリを提供することができる。
【実施例４】
【００７８】
実施例４は、ＣＡＭ６データが“０”の場合はＣＡＭ１データによらず、スイッチ２５をオンしない例である。図１５を参照に、第１禁止情報制御回路４１はスイッチ２５を加えＡＮＤ回路６３を有している。ＡＮＤ回路６３にはＣＡＭ１データとＣＡＭ６データとが入力し、出力はスイッチ２５に入力する。その他の構成は実施例３の図１１と同じであり説明を省略する。
【００７９】
実施例４の第１禁止情報制御回路４１の動作は実施例２の図８と同じであり、第２禁止情報制御回路６１の動作は実施例３の図１２と同じである。図１６は第１禁止情報制御回路４１および第２禁止情報制御回路６１の動作をまとめた図である。実施例３の図１３に対し、ＣＡＭ６データが“０”の場合、ＣＡＭ１データが“１”のときスイッチ２７がオフする以外は実施例３の図１３と同じであり説明を省略する。
【００８０】
実施例４によれば、実施例２と同様にＣＡＭ６データを“０”とすることにより、ＷＰＣＡＭの消去および書き込みをともに禁止することができる。これにより、例えばＳＴＢ機能がハッキングされ、ＣＡＭ１データが“０”から“１”に改ざんされた場合、ＷＰＣＡＭ情報が“０”から“１”に改ざんされ、対応するメモリ領域が改ざんされることを抑制することができる。このように、より高セキュリティな不揮発性メモリを提供することができる。
【００８１】
実施例１から実施例４において、ＷＰＣＡＭ２０を制御するＷＰＣＡＭ制御回路２２に入力するＷＰＣＡＭコマンドと、ＣＡＭ６（６０）を制御するＣＡＭ６制御回路６２に入力するＣＡＭ６コマンドと、は異なるコマンドである。つまり、ＷＰＣＡＭ２０とＣＡＭ６（６０）とは異なるコマンドを用いる。これにより、ＣＡＭ６（６０）とＷＰＣＡＭ２０とは独立に制御され、ハッカー等に攻撃されＣＡＭ６（６０）中のＣＡＭ６データが書き換えられることをより抑制することができる。
【００８２】
また、ＷＰＣＡＭ２０とＣＡＭ６（６０）とは不揮発性メモリセルが形成されている半導体基板内の異なるウェル２８、６８に形成されている。つまり、ＷＰＣＡＭ２０は半導体基板内のウェル２８に設けられ、ＣＡＭ６（６０）は半導体基板内のウェル２８から分離した別のウェル６８に設けられている。ＷＰＣＡＭ２０およびＣＡＭ６（６０）のデータ消去を、制御ゲートとウェルとの間に電圧を印加しＦＮトンネリング現象を用い行う場合、ＷＰＣＡＭ２０とＣＡＭ６（６０）とのウェル２８、６８が共通であると、ＷＰＣＡＭデータとＣＡＭ６データとが同時に消去される可能性がある。消去手段であるウェル２８、６８を異ならせることにより、ＷＰＣＡＭデータとＣＡＭ６データとが同時に消去されることを防止し、セキリティが高い不揮発性メモリを実現することができる。
【００８３】
上記は半導体基板内の異なるウェル２８、６８に形成することにより、ＷＰＣＡＭデータの消去手段とＣＡＭ６データの消去手段とを異ならせる例であった。消去手段を異ならせる方法としては、例えば高電圧発生回路を異ならせる等、データを消去するための消去手段の物理的構成を異ならせる方法であってもよい。また、データの消去の方法を異ならせても良い。つまり、例えば、一方の消去はＦＮトンネル現象を用い、他方の消去はホットホール注入により行うこともできる。このように、データの消去手段を異ならせるとは、データ消去を行うための物理的構成を異ならせることまたはデータ消去の方法を異ならせることである。これにより、ＷＰＣＡＭデータとＣＡＭ６データとが同時に消去されることを防止し、セキリティが高い不揮発性メモリを実現することができる。
【００８４】
同様に、ＷＰＣＡＭコマンドとＣＡＭ３コマンドとは異なるコマンドであることが好ましい。ＷＰＣＡＭ２０の設けられたウェル２８とＣＡＭ３（３０）の設けられたウェル３８とは分離していることが好ましい。つまり、ＷＰＣＡＭデータの消去手段とＣＡＭ３データの消去手段とを異ならせることが好ましい。ＣＡＭ３コマンドとＣＡＭ６コマンドとは異なるコマンドであることが好ましい。ＣＡＭ３（３０）の設けられたウェル３８とＣＡＭ６（６０）の設けられたウェル６８とは分離していることが好ましい。つまり、ＣＡＭ３データの消去手段とＣＡＭ６データの消去手段とを異ならせることが好ましい。さらに、ＣＡＭ１コマンドとＣＡＭ６コマンドとは異なるコマンドであることが好ましい。ＣＡＭ１（４０）の設けられたウェル４８とＣＡＭ６（６０）の設けられたウェル６８とは分離していることが好ましい。つまり、ＣＡＭ１データの消去手段とＣＡＭ６データの消去手段とを異ならせることが好ましい。これらにより、セキリティが高い不揮発性メモリを実現することができる。
【００８５】
実施例１から実施例４の図４、図５、図８および図１２において、ＣＡＭ１データ、ＣＡＭ３データまたはＣＡＭ６データを読み出すタイミングはこれらのフローチャートには限られない。例えば、不揮発性メモリに電源が供給されたときに、ＣＡＭ１データ、ＣＡＭ３データおよびＣＡＭ６データを読み出してもよい。また、これらのデータ間の読み出し順序もこれらのフローチャートには限られない。
【００８６】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００８７】
【図１】図１は実施例１に係る不揮発性メモリのブロック図である。
【図２】図２は実施例１に係る不揮発性メモリのＷＰＣＡＭに関連したブロック図である。
【図３】図３は実施例１に係る不揮発性メモリのＷＰＣＡＭ制御回路周辺の詳細なブロック図である。
【図４】図４は実施例１に係る不揮発性メモリのＷＰＣＡＭを消去する際のフローチャートである。
【図５】図５は実施例１に係る不揮発性メモリのＷＰＣＡＭに書き込む際のフローチャートである。
【図６】図６は実施例１に係る不揮発性メモリのＷＰＣＡＭを消去、書き込みを行なう場合の動作を示す図である。
【図７】図７は実施例２に係る不揮発性メモリのＷＰＣＡＭ制御回路周辺の詳細なブロック図である。
【図８】図８は実施例２に係る不揮発性メモリのＷＰＣＡＭを消去する際のフローチャートである。
【図９】図９は実施例２に係る不揮発性メモリのＷＰＣＡＭの消去、書き込みを行なう場合の動作を示す図である。
【図１０】図１０は実施例２の変形例に係る不揮発性メモリのＷＰＣＡＭ制御回路周辺のブロック図である。
【図１１】図１１は実施例３に係る不揮発性メモリのＷＰＣＡＭ制御回路周辺の詳細なブロック図である。
【図１２】図１２は実施例３に係る不揮発性メモリのＷＰＣＡＭに書き込む際のフローチャートである。
【図１３】図１３は実施例３に係る不揮発性メモリのＷＰＣＡＭの消去、書き込みを行なう場合の動作を示す図である。
【図１４】図１４は実施例３の変形例に係る不揮発性メモリのＷＰＣＡＭ制御回路周辺のブロック図である。
【図１５】図１５は実施例４に係る不揮発性メモリのＷＰＣＡＭ制御回路周辺の詳細なブロック図である。
【図１６】図１６は実施例４に係る不揮発性メモリのＷＰＣＡＭの消去、書き込みを行なう場合の動作を示す図である。
【符号の説明】
【００８８】
１０        メモリセルアレイ
１２        メモリ領域
２０        ＣＡＭ１
２２        ＷＰＣＡＭ制御回路
２５、２７  スイッチ
２８        ウェル
３０        ＣＡＭ３
３９        リセットピン
４０        ＣＡＭ１
４１        第１禁止情報制御回路
４２        ＣＡＭ１制御回路
４８        ウェル
６０        ＣＡＭ６
６１        第２禁止情報制御回路６１
６２        ＣＡＭ６制御回路６２
６８        ウェル
７０        制御回路
７２        プログラム制御回路
７５        ＣＡＭ７
７６        ＣＡＭ７制御回路
【図１】
2008192212.tif 000003
【図２】
2008192212.tif 000004
【図３】
2008192212.tif 000005
【図４】
2008192212.tif 000006
【図５】
2008192212.tif 000007
【図６】
2008192212.tif 000008
【図７】
2008192212.tif 000009
【図８】
2008192212.tif 000010
【図９】
2008192212.tif 000011
【図１０】
2008192212.tif 000012
【図１１】
2008192212.tif 000013
【図１２】
2008192212.tif 000014
【図１３】
2008192212.tif 000015
【図１４】
2008192212.tif 000016
【図１５】
2008192212.tif 000017
【図１６】
2008192212.tif 000018