(57)【要約】本発明は、不揮発性メモリ(10)の少なくとも１つの領域の読み出し保護装置であって、アドレスがメモリ(10)の読み出し保護された領域の１つに対応する時、出力端子の１つにアドレス指定信号(NSHADOW1SEL, NSHADOWnSEL)を供給するアドレスデコーダ(40)と、領域が読み出し保護されているか否かを示す状態信号(PMPR1, PMPRn)を供給する各読み出し保護された領域についての状態メモリ(Mn1, Mn)と、現在のアドレス指定動作がプログラム命令に対応するか否かを示すプログラム信号(OP)を出力するプログラム命令デコーダ(DIP)と、アドレス指定信号(NSHADOW1SEL, NSHADOWnSEL)、状態信号(PMPR1, PMPRn)およびプログラム信号(OP)とが印加され、現在のアドレス指定動作がプログラム命令に関することをプログラム信号(OP)が示す時、読み出し保護された領域を読み出す命令信号(R10)を供給する論理回路(42)と、を備えることを特徴とする装置に関する。
2004526260.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリ（１０）の少なくとも１つの領域の読み出し保護装置であって、
アドレスが前記メモリ（１０）の読み出し保護された領域の１つに対応する時、出力端子の１つにアドレス指定信号（ＮＳＨＡＤＯＷ１ＳＥＬ，ＮＳＨＡＤＯＷｎＳＥＬ）を出力するアドレスデコーダ（４０）と、
前記領域が読み出しの際保護されているか否かを示す状態信号（ＰＭＰＲ１，ＰＭＰＲｎ）を出力する各読み出し保護された領域についての状態メモリ（Ｍ１，Ｍｎ）と、
現在のアドレス指定動作がプログラム命令に対応するか否かを示すプログラム信号（ＯＰ）を出力するプログラム命令デコーダ（ＤＩＰ）と、
前記アドレス指定信号（ＮＳＨＡＤＯＷ１ＳＥＬ，ＮＳＨＡＤＯＷｎＳＥＬ）、前記状態信号（ＰＭＰＲ１，ＰＭＰＲｎ）および前記プログラム信号（ＯＰ）が印加され、前記現在のアドレス指定動作がプログラム命令に適用可能であることを前記プログラム信号（ＯＰ）が示す時、前記読み出し保護された領域を読み出す命令信号（Ｒ１０）を出力する論理回路（４２）と、を備えることを特徴とする装置。
【請求項２】
請求項１に記載の装置において、前記論理回路（４２）は、各読み出し保護されたメモリ領域について、
２つの入力端子の一方が考慮される領域に対応する状態メモリ（Ｍ１，Ｍｎ）の出力端子に接続され、他方の入力端子が前記プログラム信号（ＯＰ）を受信する前記プログラム命令デコーダ（ＤＩＰ）の出力端子に接続される論理ＯＲゲート（Ｐ１，Ｐｎ）と、
入力端子（Ｄ）が考慮される領域に対応する前記アドレスデコーダ（４０）の出力端子に接続され、クロック入力端子（ＣＫ）が前記論理ＯＲゲート（Ｐ１，Ｐｎ）の出力端子に接続され、その出力端子（Ｑ）が論理ＡＮＤゲート（４６）の入力端子の１つに接続されるロッキング回路（Ｂ１，Ｂｎ）と、を備え、
前記論理回路（４２）は、さらに、入力端子が前記ロッキング回路（Ｂ１，Ｂｎ）の対応する出力端子（Ｑ）と、読み出しの際保護されないメモリ領域に対応する前記アドレスデコーダ（４０）からの出力端子とに接続される論理ＡＮＤゲートを備えることを特徴とする装置。
【請求項３】
請求項１または２に記載の装置において、前記各状態メモリ（Ｍ１，Ｍｎ）は、前記アドレスデコーダ（４０）のアドレス信号（ＮＰＭＰＲ１ＳＥＬ，ＮＰＭＰＲｎＳＥＬ）によって読み出しまたは書き込みの際選択され、出力端子が、前記メモリセルが対応する領域が読み出し保護されていることを示す状態に置かれた時、何らかの新しい書き込みを阻止する書き込み入力端子に接続されるメモリセルを備えることを特徴とする装置。
【請求項４】
請求項３に記載の装置において、さらに、
前記アドレスデコーダ（４０）のアドレス指定信号（ＮＦＭＰＳＥＬ）によって読み出しまたは書き込みの際選択されるメモリセルから構成され、第１の状態『１』が前記メモリ（１０）の包括読み出し保護に対応し、第２の状態『０』が包括読み出し保護の欠如に対応する状態メモリ（ＭＲ）と、
前記メモリ（１０）の自己消去を制御するために、この変化を表す信号を出力するための前記状態メモリ（ＭＲ）が状態『１』から状態『０』に変化する時を検出する検出器（ＤＥＴ）と、
入力端子が読み出し保護され得る領域の状態メモリの出力端子に接続され、出力端子が前記メモリ（１０）が包括読み出し保護されているか否かを示す状態メモリ（ＦＭＰＲ）に接続され、領域状態メモリが読み出し保護状態にある時書き込みを禁止し、そして、自己消去を阻止する論理ＯＲゲート（ＦＲＤＩＳ）と、を備えることを特徴とする装置。
【請求項５】
請求項３または４に記載の装置において、さらに、
前記アドレスデコーダのアドレス指定信号（ＮＦＭＰＷＳＥＬ）によって読み出しまたは書き込みの際選択されるメモリセルを備え、第１の状態『１』が前記メモリ（１０）の包括書き込み保護に対応し、第２の状態『０』が書き込み保護の欠如に対応する状態メモリ（ＭＷ）と、
否定論理ＯＲゲート（ＮＷＳＥＬ）であって、
第１の端子に、それが書き込み動作であるか否かを示す信号が印加され、
第２の端子に、選択が読み出し保護された領域に関連するかを示す信号が印加され、
第３の端子に、前記メモリ（１０）の包括書き込み保護状態を示す状態メモリ（ＭＷ）についての状態信号が印加される否定論理ＯＲゲートと、を備え、
前記包括書き込み保護状態メモリ（ＭＷ）の出力端子が、前記メモリが包括書込み保護を有する時、前記メモリ（１０）の自己消去を阻止する前記ＯＲ回路（ＦＲＤＩＳ）の入力端子に接続されることを特徴とする装置。
【請求項６】
不揮発性メモリ（１０）の少なくとも１つの領域について読み出し保護を提供する方法であって、
ａ．前記メモリ（１０）を複数の領域に分割するステップと、
ｂ．読み出し保護される少なくとも１つの領域を選択するステップと、
ｃ．選択された領域の１つにおける前記メモリ（１０）中のセルのアドレス指定を検出するステップと、
ｄ．現在のアドレス指定が実行されるプログラム命令に関連するかを決定するステップと、
ｅ．前記ステップｄに対する応答が肯定的であれば前記読み出し保護される領域中のメモリセルの読み出しを可能にし、さもなければ読み出しを不能にするステップと、を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラに関連する不揮発性の電子メモリに関し、マイクロコントローラがメモリに含まれる命令およびデータに従って動作を実行することができる不揮発性の電子メモリに関する。特に、本発明は、不正な読み出しに対するこの種のメモリの１つまたはいくつかの部分またはセクタ或いは領域の保護を提供する装置および方法に関する。
【背景技術】
【０００２】
保護ビットがある特定の状態になるか或いはヒューズが『焼けた』か否かの書き込みおよび／または読み出しにおけるメモリへのアクセスを阻止することによって、書き込みおよび／または読み出しに対してメモリを包括的に保護するやり方が知られている。
【０００３】
メモリは読み出しの際保護されているが、プログラム命令の結果読み出し要求がなされるならば、メモリは読み出しの際アクセス可能でなければならない。従って、不正行為者が、読み出し保護されたメモリを読み出すため書き込みの際アクセス可能なメモリに命令のプログラムを書き込みするのを阻止するために、読み出しの際保護されたメモリは書き込みの際にも保護しなくてはならない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
すなわち、本発明の１つの目的は、不正な読み出し、換言すれば、命令コードの実行に対応しない読み出しに対して不揮発性の電子メモリの全部または一部を保護することのできる装置を製造することである。
【課題を解決するための手段】
【０００５】
この目的は、読み出しに対してメモリのある所定の部分を保護することによって達成されるが、これは次の命令が、その所定の部分の１つに含まれることが検出された場合には行われず、その場合には、このアドレスに対応するメモリの部分は保護されないので、このアドレスの内容は読み出すことができる。
【０００６】
読み出しに対して保護される各部分は、それらをデコードするために使用されるアドレスデコーダがメモリ選択信号を出力するようなアドレス指定コードによって定義される。マイクロコントローラが、動作の目的がそのアドレス中に含まれるコードの実行であることを示す信号を出力する場合、この選択信号は保護された部分の読み出しだけを許可する。
【０００７】
アドレスデコーダの構成によってどの部分が読み出しに対して保護できるかが制御でき、実際に保護される各部分は、開発者により調整されるメモリセルの状態によって決定される。このメモリセルの状態信号は、コード実行動作であることを示すマイクロコントローラ信号が考慮されるか否かを制御する。
【発明を実施するための最良の形態】
【０００８】
本発明は、不揮発性メモリの少なくとも１つの領域の読み出し保護装置であって、
アドレスが前記メモリの読み出し保護された領域の１つに対応する時、出力端子の１つにアドレス指定信号を出力するアドレスデコーダと、
前記領域が読み出しの際保護されているか否かを示す状態信号を出力する各読み出し保護された領域についての状態メモリと、
現在のアドレス指定動作がプログラム命令に対応するか否かを示すプログラム信号を出力するプログラム命令デコーダと、
前記アドレス指定信号、前記状態信号および前記プログラム信号が印加され、前記現在のアドレス指定動作がプログラム命令に適用可能であることを前記プログラム信号が示す時、前記読み出し保護された領域を読み出す命令信号を出力する論理回路と、を備えることを特徴とする装置に関する。
【０００９】
前記論理回路は、各読み出し保護されたメモリ領域について、
入力端子の一方が考慮される領域に対応する状態メモリの出力端子に接続され、他方の入力端子がプログラム信号を受信する前記プログラム命令デコーダの出力端子に接続される論理ＯＲゲートと、
入力端子が考慮される領域に対応する前記アドレスデコーダの出力端子に接続され、クロック入力端子が前記論理ＯＲゲートの出力端子に接続され、その出力端子が論理ＡＮＤゲート４６の入力端子の１つに接続されるロッキング回路と、を備え、
前記論理回路は、さらに、入力端子が前記ロッキング回路からの対応する出力端子と、読み出しの際保護されないメモリ領域に対応する前記アドレスデコーダからの出力端子とに接続される論理ＡＮＤ回路を備える。
【００１０】
さらに、本発明は、不揮発性メモリの少なくとも１つの領域について読み出し保護を提供する方法であって、
（ａ）前記メモリを複数の領域に分割するステップと、
（ｂ）読み出し保護される少なくとも１つの領域を選択するステップと、
（ｃ）選択された領域の１つにおける前記メモリ中のセルのアドレス指定を検出するステップと、
（ｄ）現在のアドレス指定が実行されるプログラム命令に関連するかを決定するステップと、
（ｅ）前記ステップ（ｄ）に対する応答が肯定的であれば読み出し保護された領域中のメモリセルの読み出しを可能にし、さもなければ読み出しを不能にするステップと、を備えることを特徴とする方法に関する。
【実施例】
【００１１】
本発明の他の特徴的な構成および利点は、添付の図面に関連してなされる以下の特定例としての実施例の記載を読んだ後に明確になるであろう。
本発明は、不揮発性メモリ１０を、マイクロコントローラ１２の制御の下で実行されるプログラムを保存するために割り当て、このメモリを、各々特定のプログラムカテゴリに割り当てられるいくつかの部分または領域１４，１６および１８に分割することによって実現される。
【００１２】
例えば、『ブート（ＢＯＯＴ）』部分と呼ばれる部分１４は、リセットの後実行されるブートプログラムを含み、『アプリ（ＡＰＰＬＩ）』と呼ばれる部分１６は、アプリケーションプログラムを含み、そして、『シャドウ（ＳＨＡＤＯＷ）』と呼ばれる部分１８は、開発者が命令コードの実行以外の目的での読み出しを阻止したいと思うプログラムを含む。
ここで、『その他（ＯＴＨＥＲＳ）』と呼ばれるメモリ１０と別の他のメモリ２０があってもよく、それもやはりマイクロコントローラ１２によって制御される。
【００１３】
図１の図面はメモリ１０および２０をアドレス指定する４つの場合を示す。
第１の場合Ａでは、マイクロコントローラ１２のプログラムカウンタ（矢印２２）は『シャドウ』部分１８のアドレスを指定しているので、指定されたアドレスの内容が実行するため読み出される。この部分１８と他の部分１４，１６および２０は読み出し保護されない。
【００１４】
第２の場合Ｂでは、プログラムカウンタは『アプリ』部分１６のアドレスを指定している。『シャドウ』部分１８だけが読み出し保護される（網掛けされた領域）。
第３の場合Ｃでは、プログラムカウンタは『その他』部分２０のアドレスを指定している。この場合も、『シャドウ』部分１８だけが読み出し保護される。
第４の場合Ｄでは、プログラムカウンタは『ブート』部分１４のアドレスを指定している。『シャドウ』部分１８だけが読み出し保護される。
【００１５】
『ブート』部分は、それなしではマイクロコントローラ１２が起動できない不可欠の部分である。
『シャドウ』部分１８は、第１のカードユーザがアプリケーションプログラムを実現するため書き込みを行う対象のプログラムを含む。
『アプリ』部分１６は、カードの第２のユーザによって書き込みされたアプリケーションプログラムを含む。
【００１６】
著作権侵害または不正行為を阻止するために、２番目のユーザまたは『第２の』ユーザに『シャドウ』部分１８に含まれるプログラムへのアクセスが許可されないことが重要なこともある。
本発明によれば、この『シャドウ』部分１８は、シャドウ部分でマイクロコントローラ１２によってなされるアドレス指定が命令の実行に関するものでない限り読み出し保護される。
【００１７】
図２は、本発明の動作原理を示す。
初期化の際、『ブート』プログラム３０は、『シャドウ』部分１８を読み出し保護状態３２にする。
マイクロコントローラ１２は、次の実行コードが『シャドウ』部分に書き込まれているかを決定する（ステップ３４）。応答が肯定的（イエス）であれば、『シャドウ』部分は保護されなくなり、換言すれば、読み出し保護は除去される（状態３６）。
【００１８】
応答が否定的（ノー）であれば、『シャドウ』部分は読み出し保護されたままであり、読み出しは不可能である。
ここで、図３の図面に関連して、不揮発性メモリ１０のための部分読み出し保護装置を詳細に説明する。
【００１９】
この装置は、アドレスコードによって決定されるｎ個以下のシャドウ形部分または領域を使用するよう設計されている。このｎ個のシャドウ形領域は、メモリ１０中のいくつかの位置に分布している。
この装置は、
マイクロコントローラ１２からアドレスコードＡを受信するアドレスデコーダ４０と、
選択論理回路４２と、
書き込みおよび読み出しの際、ｎ個のシャドウ形部分または領域の保護状態と、メモリ１０の包括保護状態とを書き込む回路４４と、を備える。
【００２０】
アドレスデコーダ４０は従来のもので、メモリのどの部分がコードＡによってアドレス指定されるかを示す信号を出力する。
すなわち、アドレスコードＡがメモリ１０のアプリ部分のアドレス、例えば、１６進コードＦ０００〜Ｆ３ＦＦに対応する場合、ＮＡＰＰＬＩＳＥＬ信号を出力する。
【００２１】
アドレスコードＡがメモリ１０のブート部分のアドレス、例えば、１６進コードＦＦ００〜ＦＦＦＦに対応する場合、ＮＢＯＯＴＳＥＬ信号を出力する。
アドレスコードＡがメモリ１０の第１のシャドウ形領域のアドレス、例えば、１６進コードＦ４００〜Ｆ４ＦＦに対応する場合、ＮＳＨＡＤＯＷ１ＳＥＬ信号を出力する。
アドレスコードＡがメモリ１０のｎ番目のシャドウ形領域のアドレスに対応する場合、ＮＳＳＨＡＤＯＷｎＳＥＬ信号を出力する。
【００２２】
これらのデコード信号は全て選択論理回路４２に印加されるが、選択論理回路４２は、以下を備える。
ｎ個のＤ形ロッキング回路Ｂ１〜Ｂｎ、これは各シャドウ形領域について１つであり、その入力端子Ｄは、ＮＳＨＡＤＯＷ１ＳＥＬ〜ＮＳＨＡＤＯＷｎＳＥＬｎ信号の１つを出力するアドレスデコーダの出力端子の１つに接続される、
ｎ個のＯＲゲートＰ１〜Ｐｎ、その出力端子はそれぞれロッキング回路Ｂ１〜Ｂｎの１つのクロック端子ＣＫに接続される。各ゲートＰ１〜Ｐｎの２つの入力端子の１つはインバータＩ１〜Ｉｎを介して書き込み回路４４のｎ個の状態メモリＭ１〜Ｍｎの１つに接続され、一方もう１つの入力端子はマイクロコントローラ１２からの出力端子ＯＰに接続され、その信号は、次の命令コードがシャドウ形領域に書き込まれることを示す、および
アドレスデコーダ４０のＮＡＰＰＬＩＳＥＬ出力端子およびＮＢＯＯＴＳＥＬ出力端子とｎ個のロッキング回路Ｂ１〜Ｂｎの出力端子Ｑとに接続される（ｎ＋２）個の入力端子を有するＡＮＤ回路４６、ＡＮＤ回路４６からの出力端子は書き込み回路４４に接続される。
【００２３】
書き込み回路４４は、以下を備える。
各シャドウ形領域の読み出し保護状態を書き込むｎ個の状態メモリＭ１〜Ｍｎ、
書き込み時のメモリ１０の包括保護状態を書き込むメモリＭＷ、
読み出し時のメモリ１０の包括保護状態を書き込むメモリＭＲ、および、
以下説明される様々な論理ゲート。
【００２４】
各状態メモリＭ１〜ＭｎとメモリＭＷおよびＭＲとは、ＮＯＲゲートとして知られることの方が多い相補ＯＲ形論理ゲートを介してアドレスデコーダ４０からの出力端子に接続される２つの入力端子ＲおよびＷを有する。
すなわち、コード００３０のデコードに対応するＮＰＭＰＲ１ＳＥＬ出力端子は、ゲートＲＲ１を介するメモリＲ１の入力端子Ｒと、ゲートＲＷ１を介する入力端子Ｗとに接続される。
【００２５】
ゲートＲＲｎを介するメモリＭｎの入力端子Ｒと、ゲートＲＷｎを介する入力端子Ｗとに接続されるコード００４０に対応するｎ番目の端子ＮＰＭＰＲｎＳＥＬに至るまでの他の出力端子についても同じことが言える。
同様に、コード００２０に対応する出力端子ＮＦＰＭＳＥＬは、ゲートＦＷＲを介するメモリＭＷの入力端子Ｒと、ゲートＦＷＷを介する入力端子Ｗとに接続される。
【００２６】
コード００１０に対応するＮＦＭＰＲＳＥＬ出力端子は、ゲートＦＲＲを介するメモリＭＲの入力端子Ｒと、ゲートＦＲＷを介する入力端子Ｗとに接続される。
これらのＮＯＲ論理ゲートは、それぞれ対応するインバータ回路ＩＲまたはＩＷを介してマイクロコントローラ１２からの出力端子ＲまたはＷに接続される第２の入力端子を有し、その出力端子は読み出し信号Ｒおよび書き込み信号Ｗを提供する。
【００２７】
また、回路４４は参照符号ＮＲＳＥＬおよびＮＷＳＥＬの２つの他の論理ゲートを備え、その出力端子はメモリ１０の入力端子Ｒ１０および入力端子Ｗ１０にそれぞれ接続される。
ＮＲＳＥＬゲートは３つの入力端子を備え、その第１のものはＭＮＶＭＳＥＬ信号を出力する回路４２のＡＮＤ回路４６からの出力端子に接続され、その第２のものはＮＲ信号を出力するＩＲインバータの出力端子に接続され、第３のものは状態メモリＭＲからの出力端子に接続される。
【００２８】
ＭＷＳＥＬゲートは３つの入力端子を備え、その第１のものはＮＮＶＭＳＥＬ信号を出力する回路４２のＡＮＤゲート４６からの出力端子に接続され、第２のものはＮＷ信号を出力するインバータＩＷからの出力端子に接続され、第３のものは状態メモリＭＷの出力端子に接続される。
【００２９】
２つの入力端子ＲおよびＷに加えて、状態メモリＭＲは、（ｎ＋１）個の入力端子を備える参照符号ＦＲＤＩＳの論理ＯＲゲートからの出力端子に接続される第３の入力端子ＤＩＳを備えている。これらの入力端子の１つはメモリＭＷの出力端子に接続され、他のｎ個はメモリＭ１〜Ｍｎの対応する出力端子に接続される。
【００３０】
また、回路４４は、メモリＭＲの出力端子が『１』から『０』に変化する時を検出する検出回路ＤＥＴを備えている。この検出回路は、ＳＥＬＦＥＲＡＳＥ入力端子に印加される消去メモリ信号１０を出力する。
ここで、状態メモリＭＷおよびＭ１〜Ｍｎの入力端子は、対応する論理ＮＯＲゲートを介して入力端子Ｗにループバックされる。この回路の目的は、状態メモリに対して行うことのできる書き込みが確実に１つだけになるようにすることである。
【００３１】
状態メモリＭ１〜Ｍｎは、メモリ１０の対応する部分を読み出し、保護しなければならない時だけ状態１に設定されるが、メモリのこの部分はＮＳＨＡＤＯＷ１ＳＥＬ〜ＮＳＨＡＤＯＷｎＳＥＬデコード信号によって決定される。状態メモリＭ１〜Ｍｎは、読み出しまたは書き込みの際、それぞれＮＰＭＰＲ１ＳＥＬ〜ＮＰＭｎＳＥＬ信号によって選択される。状態メモリＭ１〜Ｍｎが読み出し保護状態１に等しく設定されるとすぐ、この状態１に関する信号がゲートＲＷ１〜ＲＷｎを介して状態メモリ書き込み入力に印加され、この状態１を確認すると共に状態１から状態０への変化を阻止する。
【００３２】
状態メモリＭＷは、メモリ１０全体が完全に書き込み保護されている場合１に等しい状態を書き込み、ゲートＦＷＷを介するその出力端子とその入力端子Ｗとの間のループがこの保護を確認し、状態１から状態０への変化を阻止する。
【００３３】
状態メモリＭＲは、状態メモリＭ１〜Ｍｎの状態１を書き込んでメモリ１０の一部の保護を特定したのと同じ方法で、状態１を書き込んで、メモリ１０全体が完全に読み出し保護されているという事実を特定する。この状態メモリＭＲは読み出しまたは書き込みの際ＮＦＭＰＲＳＥＬデコード信号によって選択され、その出力端子は、ＮＲＳＥＬ  ＮＯＲゲートの第３の入力端子と、状態１から状態０への変化を検出する検出回路ＤＥＴとに接続される。
【００３４】
ここで、図３の装置の動作を説明するが、その際、メモリ１０は完全に書き込み保護されており（ＦＭＰＷ＝１）、ＮＳＨＡＤＯＷ１ＳＥＬデコード信号に対応するメモリ領域１０について読み出し保護されている（ＰＭＰＲ１＝１）と想定する。他の状態メモリＭＲおよびＭ２（図示しない）〜Ｍｎは状態０であり、換言すれば対応する領域は読み出し保護されていない。
【００３５】
メモリ１０についての選択アドレスによってデコード信号ＮＳＨＡＤＯＷ１ＳＥＬが出現する場合、このレベル０信号はロッキング回路Ｂ１の入力端子Ｄに印加される。その上、このメモリ領域が読み出し保護されることを示すＰＭＰＲ１信号がインバータ回路Ｉ１を介してゲートＰ１に印加されるので、入力端子は状態０になる。
【００３６】
マイクロコントローラ１２が命令であることを示すＯＰ信号を出力しない場合、Ｐ１ゲートはその出力端子に信号を供給しない。従って、ロッキング回路Ｂ１のクロック入力端子ＣＫは信号を受信しないので、入力端子Ｄの状態０は、状態１のままである出力端子Ｑに伝達されない。ＡＮＤゲート４６に印加されるこの状態１についての信号はその出力端子に状態信号１を出力するが、状態１は非活動状態であり、換言すれば、ＮＮＶＭＳＥＬ選択信号は状態１であるので、ＮＲＳＥＬゲートからの出力端子は状態０であり読み出しが阻止される。マイクロコントローラ１２がＯＰパルスを出力する場合、ＯＲゲートＰ１は入力端子ＣＫに印加されるこのＯＰパルスを伝達し、入力端子ＣＫは入力端子Ｄの状態を出力端子Ｑに伝達するので、出力端子Ｑの状態は０に変化する。ＡＮＤゲート４６に印加されるこの状態０信号はＮＮＶＭＳＥＬ信号をＮＲＳＥＬゲートに供給する。他の入力端子は状態０なので、出力端子は状態１になり、示されたアドレスでのメモリ１０の読み出しを可能にする。
【００３７】
メモリ１０への選択アドレスによってＮＳＨＡＤＯＷｎＳＥＬデコード信号が出現する場合、このレベル０信号はロッキング回路Ｂｎの入力端子Ｄに印加される。その上、このメモリセクタが読み出し保護されていないことを示すＰＭＰＲｎ信号＝０がインバータ回路Ｉｎを介してＯＲゲートＰｎに印加されるので、対応する入力端子は状態１になる。
【００３８】
このゲートＰｎからの出力端子は状態１であり、この信号は端子ＣＫに印加され状態０を入力端子Ｄから出力端子Ｑに伝達するので、状態信号０は、ＯＰ信号が存在する（命令コード）か或いは存在しない（命令なし）かに関わらずこのセクタ中のメモリセルの読み出しを可能にするＮＮＶＭＳＥＬ選択信号を出力する。
メモリ領域は、読み出し保護されている場合、状態メモリＭＷとＭＷＳＥＬゲートとによって書き込み保護もされている。ＮＮＶＭＳＥＬ信号は状態０であるので、ゲートＮＷＳＥＬからの出力端子は状態０であり書き込みは阻止される。
【００３９】
上記で示したように、現在のメモリには状態メモリＭＷおよびＭＲが含まれるが、その目的は、書き込みアクセス（ＦＭＰＷ＝１）または読み出しアクセス（ＦＭＰＲ＝１）に対してメモリ全体を保護することである。
また、検出器ＤＥＴが提供されて状態メモリＭＲが状態１から状態０に変化するのを検出するが、この場合、この状態変化はメモリを読み出す不正な試行であるとみなされるので、保護装置が自動的にメモリ１０全体を消去する。
【００４０】
しかしながら、読み出し保護されたシャドウ領域については、ＦＭＰＲ＝０であることが必要であり、これは、状態が１から０に変化しそれによって領域自体を消去することが可能であることを意味する。この状態変化は、シャドウ領域が存在する場合状態メモリＭＲは状態０を書き込みできないという事実によって阻止される。
これは、状態メモリＭ１〜Ｍｎの１つが状態１である時、零が書き込まれるのを停止する参照符号ＦＲＤＩＳのＯＲ回路を使用して達成される。
【００４１】
零の書き込みは、メモリ１０がＦＭＰＷ＝１によって書き込み保護されている時にも阻止される。この阻止は、メモリ１０が永久メモリとして使用されるフラッシュメモリである場合に使用される。これはメモリ１０全体を書き込み保護することによって達成されるが、それはＦＭＰＷ＝１であり状態メモリＭＲがＦＲＤＩＣゲートを介して状態０に変化することが阻止されるためであり、これによって自己消去が阻止され、その結果フラッシュメモリの書き換えが阻止される。
【００４２】
上記の説明は、不揮発性メモリ１０の少なくとも１つの領域について読み出し保護を提供する方法中のステップを定義するが、この方法は、
（ａ）メモリ１０を複数の領域に分割するステップと、
（ｂ）読み出し保護される少なくとも１つの領域を選択するステップと、
（ｃ）選択された領域の１つにおけるメモリ中のセルのアドレス指定を検出するステップと、
（ｄ）現在のアドレス指定が実行されるプログラム命令に関連するかを決定するステップと、
（ｅ）ステップ（ｄ）に対する応答が肯定的であれば読み出し保護された領域中のメモリセルの読み出しを可能にし、さもなければ読み出しを不能にするステップとを含む。
【図面の簡単な説明】
【００４３】
【図１】本発明を実現する不揮発性メモリの所与の編成を示す図である。
【図２】本発明の装置の動作原理を示す説明図である。
【図３】本発明による不揮発性メモリについての部分読み出し保護装置の図である。
【図１】
2004526260.tif 000003
【図２】
2004526260.tif 000004
【図３】
2004526260.tif 000005
【国際公開パンフレット】
2004526260.tif 000006
2004526260.tif 000007
2004526260.tif 000008
2004526260.tif 000009
2004526260.tif 000010
2004526260.tif 000011
2004526260.tif 000012
2004526260.tif 000013
2004526260.tif 000014
2004526260.tif 000015
2004526260.tif 000016
2004526260.tif 000017
2004526260.tif 000018
2004526260.tif 000019
2004526260.tif 000020
2004526260.tif 000021
2004526260.tif 000022
2004526260.tif 000023
2004526260.tif 000024
2004526260.tif 000025
2004526260.tif 000026
2004526260.tif 000027
【国際調査報告】
2004526260.tif 000028
2004526260.tif 000029
2004526260.tif 000030
2004526260.tif 000031