(57)【特許請求の範囲】
【請求項１】
メモリセルに記憶されたデータの読み出しを禁止する不揮発性メモリのセキュリティ回路において、
前記メモリセルから読み出された前記データが全て“０”か否かを検知する第１の検知手段と、
前記メモリセルから読み出された前記データが全て“１”か否かを検知する第２の検知手段と、
前記第１の検知手段によって前記データが全て“０”であると検知されたとき、あるいは前記第２の検知手段によって前記データが全て“１”であると検知されたときに前記データを外部に出力する出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。
【請求項２】
メモリセルに記憶されたデータの読み出しを禁止する不揮発性メモリのセキュリティ回路において、
前記メモリセルから読み出された前記データが全て“０”か否かを検知する第１の検知手段と、
前記メモリセルから読み出された前記データが全て“１”か否かを検知する第２の検知手段と、
プログラムベリファイの動作時に前記第１の検知手段によって前記データが全て“０”であると検知されたとき、あるいは消去ベリファイの動作時に前記第２の検知手段によって前記データが全て“１”であると検知されたときに、前記データを外部に出力する出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。
【請求項３】
データを格納するメモリセルがアレイ状に配置されたメモリセルアレイと、
前記メモリセルアレイから前記データを読み出す第１の読み出し手段と、
前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”か否かを検知する検知手段と、
前記検知手段が、前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“０”、あるいは全て“１”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、
前記セキュリティセルから前記情報を読み出す第２の読み出し手段と、
前記第２の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたとき、前記データの外部への出力を非許可にする出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。
【請求項４】
データを格納するメモリセルがアレイ状に配置されたメモリセルアレイと、
前記メモリセルアレイから前記データを読み出す第１の読み出し手段と、
前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”か否かを検知する検知手段と、
前記検知手段が、前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“０”、あるいは全て“１”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、
前記セキュリティセルから前記情報を読み出す第２の読み出し手段と、
前記第２の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたときには、プログラムベリファイの動作時に前記検知手段によって前記データが全て“０”であると検知されたとき、あるいは消去ベリファイの動作時に前記検知手段によって前記データが全て“１”であると検知されたときにのみ、前記データの外部への出力を許可する出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性メモリのデータ保護（第３者によるデータ解読防止）に関するもので、特にフラッシュＥＥＰＲＯＭなどの不揮発性メモリに使用されるセキュリティ回路に関するものである。
【０００２】
【従来の技術】
近年、不揮発性メモリにおいてはボードに実装した状態で書き換えを行いたいという市場からの要求により、フラッシュメモリを搭載したフラッシュ混載マイコンの開発が盛んに行われている。このような不揮発性メモリを内蔵したマイコンでは、データの書き換え時に不揮発性メモリに正しくデータが書かれたか否かをベリファイするためのベリファイモードが存在する。なお、フラッシュＥＥＰＲＯＭでは、消去状態のチェックを行うためのベリファイモードも必要である。
【０００３】
当然、前記ベリファイモードはユーザが使用するために公開されたモードであり、第３者であっても容易に知り得るものとなっている。したがって、第３者によって、プログラムの解読が行われてしまうという問題がある。
【０００４】
これを防止するために、不揮発性メモリ内のメモリセルにて構成されたセキュリティビットなるフラグを作り、これにデータを書き込むことにより、前記ベリファイ機能を禁止するなどの手段を取っている。すなわち、プログラムをフラッシュＥＥＰＲＯＭなどの不揮発性メモリに書き込んだ後（書き込み終了後）に、さらにセキュリティビットにデータを書き込むことにより、以降の本体の不揮発性メモリに対するベリファイ動作は禁止され、不揮発性メモリに書き込まれたプログラムはベリファイされることなく、保護されるものとなる。これは、従来のＥＰＲＯＭで採用している手法と同じである。
【０００５】
以下、図面を参照してこの従来の手法について説明する。
図２は、従来の不揮発性メモリにおけるセキュリティ回路の構成を示す図である。
【０００６】
メモリセルアレイ５０に記憶されたデータは、読み出し回路５２によって読み出される。これら読み出されたデータは出力バッファ５４に入力され、出力イネーブル信号によってその出力の許可／不許可が制御される。また、セキュリティセル５６に記録されたセキュリティ用のデータは読み出し回路５８によって読み出され、ＮＡＮＤ回路６０の第１端子に入力される。このＮＡＮＤ回路６０の第２端子には、ＯＥバー端子が接続されている。このＯＥバー端子からは、出力を許可するときにローレベル信号（以下“０”）が入力され、出力を許可しないときにハイレベル信号（以下“１”）が入力される。
【０００７】
ここで、ＯＥバー端子からの入力が“１”の場合、セキュリティ用のデータに関わらず、ＮＡＮＤ回路６０の出力は“１”となる。よって、メモリセルアレイ５０に記憶されているデータは、出力バッファ５４から出力されない。
【０００８】
一方、ＯＥバー端子からの入力が出力許可を示す“０”の場合、セキュリティ用のデータがセキュリティの解除を示す“１”であれば、ＮＡＮＤ回路６０の出力は“０”となる。よって、メモリセルアレイ５０に記憶されているデータは、出力バッファ５４からＤ０端子〜Ｄｎ端子に出力される。また、ＯＥバー端子からの出力が出力許可を示す“０”で、セキュリティ用のデータがセキュリティのロック状態を示す“０”であれば、ＮＡＮＤ回路６０の出力は“１”となる。よって、メモリセルアレイ５０に記憶されているデータは、出力バッファ５４から出力されない。以上が従来のセキュリティ回路の概要である。
【０００９】
【発明が解決しようとする課題】
しかしながら、前記従来のセキュリティ回路をフラッシュＥＥＰＲＯＭなどの市場における書き換えの用途として考えた場合、一度プログラムを書き込み、前記セキュリティの手法でベリファイを禁止しても、市場での書き換えが生じた際には、セキュリティ機能を解除してベリファイができなければならない。したがって、セキュリティのフラグのデータを書き換えるモードも用意しておき、これもユーザに公開せざるをえない。結局、従来のセキュリティ回路ではセキュリティをかけても解除する方法が公開されており、このセキュリティ回路は第３者によるデータ解読を禁止してデータを保護するものとはなっていない。
【００１０】
そこで本発明は、上記課題に鑑みてなされたものであり、セキュリティのロック状態でもプログラムベリファイ時に全てのデータが“０”であるとき、また消去ベリファイ時に全てのデータが“１”であるときにのみ外部へのデータ読み出しを可能とすることにより、第３者によるデータ解読を禁止してデータを保護するとともに、データの書き換えも可能な不揮発性メモリのセキュリティ回路を提供することを目的とする。
【００１１】
【課題を解決するための手段】
前記目的を達成するために、本発明の第１態様の不揮発性メモリのセキュリティ回路は、メモリセルに記憶されたデータの読み出しを禁止する不揮発性メモリのセキュリティ回路であって、前記メモリセルから読み出された前記データが全て“０”か否かを検知する第１の検知手段と、前記メモリセルから読み出された前記データが全て“１”か否かを検知する第２の検知手段と、前記第１の検知手段によって前記データが全て“０”であると検知されたとき、あるいは前記第２の検知手段によって前記データが全て“１”であると検知されたときに前記データを外部に出力する出力制御手段とを具備することを特徴とする。
【００１２】
また、本発明の第２態様の不揮発性メモリのセキュリティ回路は、メモリセルに記憶されたデータの読み出しを禁止する不揮発性メモリのセキュリティ回路であって、前記メモリセルから読み出された前記データが全て“０”か否かを検知する第１の検知手段と、前記メモリセルから読み出された前記データが全て“１”か否かを検知する第２の検知手段と、プログラムベリファイの動作時に前記第１の検知手段によって前記データが全て“０”であると検知されたとき、あるいは消去ベリファイの動作時に前記第２の検知手段によって前記データが全て“１”であると検知されたときに、前記データを外部に出力する出力制御手段とを具備することを特徴とする。
【００１３】
また、本発明の第３態様の不揮発性メモリのセキュリティ回路は、データを格納するメモリセルがアレイ状に配置されたメモリセルアレイと、前記メモリセルアレイから前記データを読み出す第１の読み出し手段と、前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”か否かを検知する検知手段と、前記検知手段が、前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“０”、あるいは全て“１”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、前記セキュリティセルから前記情報を読み出す第２の読み出し手段と、前記第２の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたとき、前記データの外部への出力を非許可にする出力制御手段とを具備することを特徴とする。
【００１４】
また、本発明の第４態様の不揮発性メモリのセキュリティ回路は、データを格納するメモリセルがアレイ状に配置されたメモリセルアレイと、前記メモリセルアレイから前記データを読み出す第１の読み出し手段と、前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”か否かを検知する検知手段と、前記検知手段が、前記第１の読み出し手段により読み出されたデータが全て“０”、あるいは全て“１”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“０”、あるいは全て“１”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、前記セキュリティセルから前記情報を読み出す第２の読み出し手段と、前記第２の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたときには、プログラムベリファイの動作時に前記検知手段によって前記データが全て“０”であると検知されたとき、あるいは消去ベリファイの動作時に前記検知手段によって前記データが全て“１”であると検知されたときにのみ、前記データの外部への出力を許可する出力制御手段とを具備することを特徴とする。
【００１７】
すなわち、この発明の不揮発性メモリのセキュリティ回路では、セキュリティのロック状態でもプログラムベリファイ時に全てのデータが“０”であるとき、また消去ベリファイ時に全てのデータが“１”であるときのみ、外部からのデータ読み出しを可能とすることにより、セキュリティのロック状態でも、メモリセルアレイに記憶されたデータの消去（Erase ）を可能にしている。
【００１８】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態について説明する。
図１は、この発明の実施の形態の不揮発性メモリのセキュリティ回路の構成を示す図である。
【００１９】
データが記憶されたメモリセルアレイ２には、前記データの読み出しを行う読み出し回路４が接続される。さらに、前記読み出し回路４には、読み出した読み出し単位ごと、例えば１バイトまたは１ワードの前記データが全て“０”か否かを検知する第１検知回路６と、同様に全て“１”か否かを検知する第２検知回路８が接続される。前記第１検知回路６はデータが全て“０”のとき“１”を出力し、それ以外のとき“０”を出力する。同様に、前記第２検知回路８はデータが全て“１”のとき“１”を出力し、それ以外のとき“０”を出力する。
【００２０】
前記第１検知回路６の出力部はＡＮＤ回路１０の第１端子に接続され、このＡＮＤ回路１０の第２端子にはＰＶ信号が入力される。一方、前記第２検知回路８の出力部はＡＮＤ回路１２の第１端子に接続され、このＡＮＤ回路１２の第２端子にはＥＶ信号が入力される。なお、前記ＰＶ信号はプログラムベリファイの動作時に“１”となり、それ以外のときに“０”となる。また、前記ＥＶ信号は消去ベリファイの動作時に“１”となり、それ以外のときに“０”となる。さらに、前記ＡＮＤ回路１０の出力部はＯＲ回路１４の第１端子に接続され、前記ＡＮＤ回路１２の出力部はＯＲ回路１４の第２端子に接続される。
【００２１】
また、セキュリティのロック状態“０”または解除状態“１”を記憶したセキュリティセル１６には、そのデータの読み出しを行う読み出し回路１８が接続され、この読み出し回路１８の出力部は前記ＯＲ回路１４の第３端子に接続される。さらに、前記ＯＲ回路１４の出力部がＮＡＮＤ回路２０の第１端子に入力され、ＯＥバー端子が前記ＮＡＮＤ回路２０の第２端子に入力される。前記ＯＥバー端子からは、出力を許可するときに“０”が出力され、出力を許可しないときに“１”が出力される。
【００２２】
また、前記読み出し回路４の出力部は、出力バッファ２２を介してＤ０端子〜Ｄｎ端子に接続される。前記出力バッファ２２の制御端子には、前記ＮＡＮＤ回路２０の出力部が接続される。
【００２３】
次に、この発明の実施の形態のセキュリティ回路の動作について説明する。
セキュリティセル１６に記憶されたデータが読み出し回路１８によって読み出され、読み出し結果がセキュリティの解除を示す“１”である場合、この不揮発性メモリは通常動作を行い、ＯＥバー端子の入力が出力許可を示す“０”のとき、入力アドレスに従って読み出し回路４によって読み出されたメモリセルアレイ２のデータが出力される。
【００２４】
動作を詳述すると、読み出し回路１８によってセキュリティセル１６のデータが読み出され、そのデータがセキュリティの解除を示す“１”の場合、ＯＲ回路１４の第３端子に“１”が入力される。
【００２５】
“１”が入力された前記ＯＲ回路１４の出力部からは、その他の第２、第３端子に入力される信号に関わらず、ＮＡＮＤ回路２０の第１端子に“１”が出力される。さらに、ＯＥバー端子から“０”が出力されると、反転され、前記ＮＡＮＤ回路２０の第２端子に“１”が入力される。
【００２６】
このようにＮＡＮＤ回路２０の第１、第２端子には“１”が入力されるため、このＮＡＮＤ回路２０の出力部からは“０”が出力され、出力バッファ２２の制御端子に入力される。ここで、前記出力バッファ２２は、その制御端子に“０”が入力されると、入力されたデータをそのまま出力部から出力し、その制御端子に“１”が入力されると、入力されたデータを出力しない回路である。
【００２７】
したがって、読み出し回路４によってメモリセルアレイ２のデータが読み出され、そのデータが出力バッファ２２に入力されると、この出力バッファ２２の制御端子には“０”が入力されているため、入力された前記データはＤ０〜Ｄｎ端子に出力される。
【００２８】
次に、セキュリティセル１６に記憶されたデータが読み出し回路１８によって読み出され、読み出し結果がセキュリティのロック状態を示す“０”である場合、ＯＲ回路１４の第３端子に“０”が入力され、その動作は次のようになる。
【００２９】
プログラムベリファイ及び消去ベリファイの動作以外では、ＰＶ信号、ＥＶ信号ともに“０”となるため、ＯＲ回路１４の第１、第２端子にはともに“０”が入力される。このように、前記ＯＲ回路１４の第１、第２、第３端子にはすべて“０”が入力されるため、ＯＲ回路１４の出力部からＮＡＮＤ回路２０の第１端子に“０”が出力される。
【００３０】
“０”が入力された前記ＮＡＮＤ回路２０の出力部からは、その第２端子に入力される信号に関わらず、“１”が出力され、出力バッファ２２の制御端子に入力される。
【００３１】
したがって、読み出し回路４によってメモリセルアレイ２のデータが読み出され、そのデータが出力バッファ２２に入力されると、この出力バッファ２２の制御端子には“１”が入力されているため、入力された前記データは出力されない。
【００３２】
また、プログラムベリファイ及び消去ベリファイの動作時では、読み出されたデータがそれぞれ全て“０”及び全て“１”でないときは、入力アドレスに従って読み出し回路４によって読み出されたメモリセルアレイ２の前記データは出力されない。
【００３３】
ただし、プログラムベリファイの動作時では、読み出されたデータが全て“０”で、かつ、ＯＥバー端子の出力が出力許可を示す“０”のとき、読み出されたメモリセルアレイ２の前記データが出力される。また、消去ベリファイの動作時では、読み出されたデータが全て“１”で、かつ、ＯＥバー端子の出力が出力許可を示す“０”のとき、読み出されたメモリセルアレイ２の前記データが出力される。
【００３４】
動作を詳述すると、読み出し回路１８によってセキュリティセル１６のデータが読み出され、そのデータがセキュリティのロック状態を示す“０”の場合、ＯＲ回路１４の第３端子に“０”が入力される。
【００３５】
プログラムベリファイの動作時では、入力アドレスに従って読み出し回路４によって読み出されたメモリセルアレイ２のデータは第１検知回路６に入力され、前記データが全て“０”か否かが検知される。ここで、データが全て“０”でないときは次のようになる。
【００３６】
前記データが全て“０”でないとき、第１検知回路６からＡＮＤ回路１０の第１端子に“０”が出力される。前記ＡＮＤ回路１０の第２端子には、プログラムベリファイの動作時であるため、ＰＶ信号である“１”が入力される。よって、前記ＡＮＤ回路１０の出力部からＯＲ回路１４の第１端子に“０”が出力される。
【００３７】
また、ＡＮＤ回路１２の第２端子には、消去ベリファイの動作時でないため、ＥＶ信号である“０”が入力される。よって、前記ＡＮＤ回路１２の出力部からＯＲ回路１４の第２端子に“０”が出力される。このように、前記ＯＲ回路１４の第１、第２、第３端子にはすべて“０”が入力されるため、ＯＲ回路１４の出力部からＮＡＮＤ回路２０の第１端子に“０”が出力される。
【００３８】
“０”が入力された前記ＮＡＮＤ回路２０の出力部からは、その第２端子に入力される信号に関わらず、“１”が出力され、出力バッファ２２の制御端子に入力される。
【００３９】
したがって、読み出し回路４によってメモリセルアレイ２のデータが読み出され、そのデータが出力バッファ２２に入力されると、この出力バッファ２２の制御端子には“１”が入力されているため、入力された前記データは出力されない。
【００４０】
また、セキュリティセル１６のデータがセキュリティのロック状態を示す“０”の場合で、プログラムベリファイの動作時で、さらに読み出されたメモリセルアレイ２のデータが全て“０”であるときは次のようになる。
【００４１】
前記データが全て“０”であるとき、第１検知回路６からＡＮＤ回路１０の第１端子に“１”が出力される。前記ＡＮＤ回路１０の第２端子には、プログラムベリファイの動作時であるため、ＰＶ信号である“１”が入力される。よって、前記ＡＮＤ回路１０の出力部からＯＲ回路１４の第１端子に“１”が出力される。
【００４２】
よって、前記ＯＲ回路１４の第２、第３端子に入力される信号に関わらず、ＯＲ回路１４の出力部からＮＡＮＤ回路２０の第１端子に“１”が出力される。ＯＥバー端子から“０”が入力されると、反転され、前記ＮＡＮＤ回路２０の第２端子には“１”が入力される。このようにＮＡＮＤ回路２０の第１、第２端子には“１”が入力されるため、このＮＡＮＤ回路２０の出力部からは“０”が出力され、出力バッファ２２の制御端子に入力される。
【００４３】
したがって、読み出し回路４によってメモリセルアレイ２のデータが読み出され、そのデータが出力バッファ２２に入力されると、この出力バッファ２２の制御端子には“０”が入力されているため、入力された前記データはＤ０〜Ｄｎ端子に出力される。
【００４４】
また、セキュリティセル１６のデータがセキュリティのロック状態を示す“０”の場合で、消去ベリファイの動作時では、入力アドレスに従って読み出し回路４によって読み出されたメモリセルアレイ２のデータは第２検知回路８に入力され、前記データが全て“１”か否かが検知される。ここで、データが全て“１”でないときは次のようになる。
【００４５】
前記データが全て“１”でないとき、第２検知回路８からＡＮＤ回路１２の第１端子に“０”が出力される。前記ＡＮＤ回路１２の第２端子には、消去ベリファイの動作時であるため、ＥＶ信号である“１”が入力される。よって、前記ＡＮＤ回路１２の出力部からＯＲ回路１４の第２端子に“０”が出力される。
【００４６】
また、ＡＮＤ回路１０の第２端子には、プログラムベリファイの動作時でないため、ＰＶ信号である“０”が入力される。よって、前記ＡＮＤ回路１０の出力部からＯＲ回路１４の第１端子に“０”が出力される。なお、前記ＯＲ回路１４の第３端子には、セキュリティのロック状態を示す“０”が入力される。このように、ＯＲ回路１４の第１、第２、第３端子にはすべて“０”が入力されるため、ＯＲ回路１４の出力部からＮＡＮＤ回路２０の第１端子に“０”が出力される。
【００４７】
“０”が入力された前記ＮＡＮＤ回路２０の出力部からは、その第２端子に入力される信号に関わらず、“１”が出力され、出力バッファ２２の制御端子に入力される。
【００４８】
したがって、読み出し回路４によってメモリセルアレイ２のデータが読み出され、そのデータが出力バッファ２２に入力されると、この出力バッファ２２の制御端子には“１”が入力されているため、入力された前記データは出力されない。
【００４９】
また、セキュリティセル１６のデータがセキュリティのロック状態を示す“０”の場合で、消去ベリファイの動作時で、さらに読み出されたメモリセルアレイ２のデータが全て“１”であるときは次のようになる。
【００５０】
前記データが全て“１”であるとき、第２検知回路８からＡＮＤ回路１２の第１端子に“１”が出力される。前記ＡＮＤ回路１０の第２端子には、消去ベリファイの動作時であるため、ＥＶ信号である“１”が入力される。よって、前記ＡＮＤ回路１２の出力部からＯＲ回路１４の第２端子に“１”が出力される。
【００５１】
よって、前記ＯＲ回路１４の第１、第３端子に入力される信号に関わらず、ＯＲ回路１４の出力部からＮＡＮＤ回路２０の第１端子に“１”が出力される。ＯＥバー端子から“０”が出力されると、反転され、前記ＮＡＮＤ回路２０の第２端子には“１”が入力される。このようにＮＡＮＤ回路２０の第１、第２端子には“１”が入力されるため、このＮＡＮＤ回路２０の出力部からは“０”が出力され、出力バッファ２２の制御端子に入力される。
【００５２】
したがって、読み出し回路４によってメモリセルアレイ２のデータが読み出され、そのデータが出力バッファ２２に入力されると、この出力バッファ２２の制御端子には“０”が入力されているため、入力された前記データはＤ０〜Ｄｎ端子に出力される。
【００５３】
このように動作させることにより、セキュリティのロック状態でもａｌｌ“０”ベリファイとａｌｌ“１”ベリファイは可能となる。このように、ａｌｌ“０”ベリファイとａｌｌ“１”ベリファイを可能とすることにより、セキュリティのロック状態でも、メモリセルアレイの消去（Erase ）動作ができるようになる。
なお、消去を行うためには、ａｌｌ“０”ベリファイとａｌｌ“１”ベリファイができることを必要とする。そして、セキュリティのロック状態でも消去を可能とすることにより、結果として、メモリセルアレイのデータを消去しない限りセキュリティを解除できないというような回路的な保護手段をチップ内へ容易に形成することができる。
【００５４】
すなわち、従来のセキュリティのロック状態では、どんなデータも読み出すことができなかった、つまりベリファイすることができなかった。これに対して、この発明ではセキュリティのロック状態でも消去シーケンスを実行できるように、プログラムベリファイ時のａｌｌ“０”ベリファイと消去ベリファイ時のａｌｌ“１”ベリファイを可能にした。
【００５５】
これにより、前述したように、メモリセルアレイの消去を行わない限りセキュリティのロック状態の解除はできないというような回路的な保護手段を実現することができる。なお、このようなメモリセルアレイのデータを消去しなければセキュリティを解除できないという制御は、半導体チップ内に簡単にロジックで形成することができる。
【００５６】
以上説明したようにこの実施の形態によれば、セキュリティのロック状態でもプログラムベリファイ時のａｌｌ“０”ベリファイと消去ベリファイ時のａｌｌ“１”ベリファイは可能となる。したがって、セキュリティをロックしたままの状態で、すなわちロックを解除することなく、メモリセルアレイのデータを消去することができる。
【００５７】
さらに、この機能を用いて、メモリセルアレイのデータを消去しない限りセキュリティを解除できないというような回路的な保護手段を半導体チップ内に形成しておけば、メモリセルアレイのデータを消去した後でなければセキュリティのロック状態を解除できないようにすることができる。
【００５８】
よって、セキュリティのロック状態を解除後に、メモリセルアレイのデータをベリファイしても、このときはメモリセルアレイのデータはすでに消去されているため、読み出しデータはａｌｌ“１”となり、プログラムデータの解読は防止できる。すなわち、第３者が違法にメモリセルアレイのデータを解読しようとした場合、セキュリティのロック状態が解除できたときはすでにメモリセルアレイのデータは消去されており、データを解読することはできない。
【００５９】
なお、正規ユーザであれば、セキュリティのロック状態を解除するときはプログラムデータを書き換えたいときであり、セキュリティのロック状態が解除できたときに、メモリセルアレイのデータが消去された状態であってもなんら問題はなく、その後に新しいプログラムを書き込み、セキュリティをロックすればよい。
【００６０】
【発明の効果】
以上述べたように本発明によれば、セキュリティのロック状態でもプログラムベリファイ時に全てのデータが“０”であるとき、また消去ベリファイ時に全てのデータが“１”であるときに外部へのデータ読み出しを可能とすることにより、第３者によるデータ解読を禁止してデータを保護するとともに、データの書き換えも可能な不揮発性メモリのセキュリティ回路を提供することができる。
【図面の簡単な説明】
【図１】この発明の実施の形態の不揮発性メモリのセキュリティ回路の構成を示す図である。
【図２】従来の不揮発性メモリにおけるセキュリティ回路の構成を示す図である。
【符号の説明】
２…メモリセルアレイ
４…読み出し回路
６…第１検知回路
８…第２検知回路
１０、１２…ＡＮＤ回路
１４…ＯＲ回路
１６…セキュリティセル
１８…読み出し回路
２０…ＮＡＮＤ回路
２２…出力バッファ
【図１】
0003684062.tif 000002
【図２】
0003684062.tif 000003