JP3684062B2 - Nonvolatile memory security circuit - Google Patents
Nonvolatile memory security circuit Download PDFInfo
- Publication number
- JP3684062B2 JP3684062B2 JP00873498A JP873498A JP3684062B2 JP 3684062 B2 JP3684062 B2 JP 3684062B2 JP 00873498 A JP00873498 A JP 00873498A JP 873498 A JP873498 A JP 873498A JP 3684062 B2 JP3684062 B2 JP 3684062B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- security
- output
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Read Only Memory (AREA)
- Storage Device Security (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、不揮発性メモリのデータ保護(第3者によるデータ解読防止)に関するもので、特にフラッシュEEPROMなどの不揮発性メモリに使用されるセキュリティ回路に関するものである。
【0002】
【従来の技術】
近年、不揮発性メモリにおいてはボードに実装した状態で書き換えを行いたいという市場からの要求により、フラッシュメモリを搭載したフラッシュ混載マイコンの開発が盛んに行われている。このような不揮発性メモリを内蔵したマイコンでは、データの書き換え時に不揮発性メモリに正しくデータが書かれたか否かをベリファイするためのベリファイモードが存在する。なお、フラッシュEEPROMでは、消去状態のチェックを行うためのベリファイモードも必要である。
【0003】
当然、前記ベリファイモードはユーザが使用するために公開されたモードであり、第3者であっても容易に知り得るものとなっている。したがって、第3者によって、プログラムの解読が行われてしまうという問題がある。
【0004】
これを防止するために、不揮発性メモリ内のメモリセルにて構成されたセキュリティビットなるフラグを作り、これにデータを書き込むことにより、前記ベリファイ機能を禁止するなどの手段を取っている。すなわち、プログラムをフラッシュEEPROMなどの不揮発性メモリに書き込んだ後(書き込み終了後)に、さらにセキュリティビットにデータを書き込むことにより、以降の本体の不揮発性メモリに対するベリファイ動作は禁止され、不揮発性メモリに書き込まれたプログラムはベリファイされることなく、保護されるものとなる。これは、従来のEPROMで採用している手法と同じである。
【0005】
以下、図面を参照してこの従来の手法について説明する。
図2は、従来の不揮発性メモリにおけるセキュリティ回路の構成を示す図である。
【0006】
メモリセルアレイ50に記憶されたデータは、読み出し回路52によって読み出される。これら読み出されたデータは出力バッファ54に入力され、出力イネーブル信号によってその出力の許可/不許可が制御される。また、セキュリティセル56に記録されたセキュリティ用のデータは読み出し回路58によって読み出され、NAND回路60の第1端子に入力される。このNAND回路60の第2端子には、OEバー端子が接続されている。このOEバー端子からは、出力を許可するときにローレベル信号(以下“0”)が入力され、出力を許可しないときにハイレベル信号(以下“1”)が入力される。
【0007】
ここで、OEバー端子からの入力が“1”の場合、セキュリティ用のデータに関わらず、NAND回路60の出力は“1”となる。よって、メモリセルアレイ50に記憶されているデータは、出力バッファ54から出力されない。
【0008】
一方、OEバー端子からの入力が出力許可を示す“0”の場合、セキュリティ用のデータがセキュリティの解除を示す“1”であれば、NAND回路60の出力は“0”となる。よって、メモリセルアレイ50に記憶されているデータは、出力バッファ54からD0端子〜Dn端子に出力される。また、OEバー端子からの出力が出力許可を示す“0”で、セキュリティ用のデータがセキュリティのロック状態を示す“0”であれば、NAND回路60の出力は“1”となる。よって、メモリセルアレイ50に記憶されているデータは、出力バッファ54から出力されない。以上が従来のセキュリティ回路の概要である。
【0009】
【発明が解決しようとする課題】
しかしながら、前記従来のセキュリティ回路をフラッシュEEPROMなどの市場における書き換えの用途として考えた場合、一度プログラムを書き込み、前記セキュリティの手法でベリファイを禁止しても、市場での書き換えが生じた際には、セキュリティ機能を解除してベリファイができなければならない。したがって、セキュリティのフラグのデータを書き換えるモードも用意しておき、これもユーザに公開せざるをえない。結局、従来のセキュリティ回路ではセキュリティをかけても解除する方法が公開されており、このセキュリティ回路は第3者によるデータ解読を禁止してデータを保護するものとはなっていない。
【0010】
そこで本発明は、上記課題に鑑みてなされたものであり、セキュリティのロック状態でもプログラムベリファイ時に全てのデータが“0”であるとき、また消去ベリファイ時に全てのデータが“1”であるときにのみ外部へのデータ読み出しを可能とすることにより、第3者によるデータ解読を禁止してデータを保護するとともに、データの書き換えも可能な不揮発性メモリのセキュリティ回路を提供することを目的とする。
【0011】
【課題を解決するための手段】
前記目的を達成するために、本発明の第1態様の不揮発性メモリのセキュリティ回路は、メモリセルに記憶されたデータの読み出しを禁止する不揮発性メモリのセキュリティ回路であって、前記メモリセルから読み出された前記データが全て“0”か否かを検知する第1の検知手段と、前記メモリセルから読み出された前記データが全て“1”か否かを検知する第2の検知手段と、前記第1の検知手段によって前記データが全て“0”であると検知されたとき、あるいは前記第2の検知手段によって前記データが全て“1”であると検知されたときに前記データを外部に出力する出力制御手段とを具備することを特徴とする。
【0012】
また、本発明の第2態様の不揮発性メモリのセキュリティ回路は、メモリセルに記憶されたデータの読み出しを禁止する不揮発性メモリのセキュリティ回路であって、前記メモリセルから読み出された前記データが全て“0”か否かを検知する第1の検知手段と、前記メモリセルから読み出された前記データが全て“1”か否かを検知する第2の検知手段と、プログラムベリファイの動作時に前記第1の検知手段によって前記データが全て“0”であると検知されたとき、あるいは消去ベリファイの動作時に前記第2の検知手段によって前記データが全て“1”であると検知されたときに、前記データを外部に出力する出力制御手段とを具備することを特徴とする。
【0013】
また、本発明の第3態様の不揮発性メモリのセキュリティ回路は、データを格納するメモリセルがアレイ状に配置されたメモリセルアレイと、前記メモリセルアレイから前記データを読み出す第1の読み出し手段と、前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”か否かを検知する検知手段と、前記検知手段が、前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“0”、あるいは全て“1”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、前記セキュリティセルから前記情報を読み出す第2の読み出し手段と、前記第2の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたとき、前記データの外部への出力を非許可にする出力制御手段とを具備することを特徴とする。
【0014】
また、本発明の第4態様の不揮発性メモリのセキュリティ回路は、データを格納するメモリセルがアレイ状に配置されたメモリセルアレイと、前記メモリセルアレイから前記データを読み出す第1の読み出し手段と、前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”か否かを検知する検知手段と、前記検知手段が、前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“0”、あるいは全て“1”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、前記セキュリティセルから前記情報を読み出す第2の読み出し手段と、前記第2の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたときには、プログラムベリファイの動作時に前記検知手段によって前記データが全て“0”であると検知されたとき、あるいは消去ベリファイの動作時に前記検知手段によって前記データが全て“1”であると検知されたときにのみ、前記データの外部への出力を許可する出力制御手段とを具備することを特徴とする。
【0017】
すなわち、この発明の不揮発性メモリのセキュリティ回路では、セキュリティのロック状態でもプログラムベリファイ時に全てのデータが“0”であるとき、また消去ベリファイ時に全てのデータが“1”であるときのみ、外部からのデータ読み出しを可能とすることにより、セキュリティのロック状態でも、メモリセルアレイに記憶されたデータの消去(Erase )を可能にしている。
【0018】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態について説明する。
図1は、この発明の実施の形態の不揮発性メモリのセキュリティ回路の構成を示す図である。
【0019】
データが記憶されたメモリセルアレイ2には、前記データの読み出しを行う読み出し回路4が接続される。さらに、前記読み出し回路4には、読み出した読み出し単位ごと、例えば1バイトまたは1ワードの前記データが全て“0”か否かを検知する第1検知回路6と、同様に全て“1”か否かを検知する第2検知回路8が接続される。前記第1検知回路6はデータが全て“0”のとき“1”を出力し、それ以外のとき“0”を出力する。同様に、前記第2検知回路8はデータが全て“1”のとき“1”を出力し、それ以外のとき“0”を出力する。
【0020】
前記第1検知回路6の出力部はAND回路10の第1端子に接続され、このAND回路10の第2端子にはPV信号が入力される。一方、前記第2検知回路8の出力部はAND回路12の第1端子に接続され、このAND回路12の第2端子にはEV信号が入力される。なお、前記PV信号はプログラムベリファイの動作時に“1”となり、それ以外のときに“0”となる。また、前記EV信号は消去ベリファイの動作時に“1”となり、それ以外のときに“0”となる。さらに、前記AND回路10の出力部はOR回路14の第1端子に接続され、前記AND回路12の出力部はOR回路14の第2端子に接続される。
【0021】
また、セキュリティのロック状態“0”または解除状態“1”を記憶したセキュリティセル16には、そのデータの読み出しを行う読み出し回路18が接続され、この読み出し回路18の出力部は前記OR回路14の第3端子に接続される。さらに、前記OR回路14の出力部がNAND回路20の第1端子に入力され、OEバー端子が前記NAND回路20の第2端子に入力される。前記OEバー端子からは、出力を許可するときに“0”が出力され、出力を許可しないときに“1”が出力される。
【0022】
また、前記読み出し回路4の出力部は、出力バッファ22を介してD0端子〜Dn端子に接続される。前記出力バッファ22の制御端子には、前記NAND回路20の出力部が接続される。
【0023】
次に、この発明の実施の形態のセキュリティ回路の動作について説明する。
セキュリティセル16に記憶されたデータが読み出し回路18によって読み出され、読み出し結果がセキュリティの解除を示す“1”である場合、この不揮発性メモリは通常動作を行い、OEバー端子の入力が出力許可を示す“0”のとき、入力アドレスに従って読み出し回路4によって読み出されたメモリセルアレイ2のデータが出力される。
【0024】
動作を詳述すると、読み出し回路18によってセキュリティセル16のデータが読み出され、そのデータがセキュリティの解除を示す“1”の場合、OR回路14の第3端子に“1”が入力される。
【0025】
“1”が入力された前記OR回路14の出力部からは、その他の第2、第3端子に入力される信号に関わらず、NAND回路20の第1端子に“1”が出力される。さらに、OEバー端子から“0”が出力されると、反転され、前記NAND回路20の第2端子に“1”が入力される。
【0026】
このようにNAND回路20の第1、第2端子には“1”が入力されるため、このNAND回路20の出力部からは“0”が出力され、出力バッファ22の制御端子に入力される。ここで、前記出力バッファ22は、その制御端子に“0”が入力されると、入力されたデータをそのまま出力部から出力し、その制御端子に“1”が入力されると、入力されたデータを出力しない回路である。
【0027】
したがって、読み出し回路4によってメモリセルアレイ2のデータが読み出され、そのデータが出力バッファ22に入力されると、この出力バッファ22の制御端子には“0”が入力されているため、入力された前記データはD0〜Dn端子に出力される。
【0028】
次に、セキュリティセル16に記憶されたデータが読み出し回路18によって読み出され、読み出し結果がセキュリティのロック状態を示す“0”である場合、OR回路14の第3端子に“0”が入力され、その動作は次のようになる。
【0029】
プログラムベリファイ及び消去ベリファイの動作以外では、PV信号、EV信号ともに“0”となるため、OR回路14の第1、第2端子にはともに“0”が入力される。このように、前記OR回路14の第1、第2、第3端子にはすべて“0”が入力されるため、OR回路14の出力部からNAND回路20の第1端子に“0”が出力される。
【0030】
“0”が入力された前記NAND回路20の出力部からは、その第2端子に入力される信号に関わらず、“1”が出力され、出力バッファ22の制御端子に入力される。
【0031】
したがって、読み出し回路4によってメモリセルアレイ2のデータが読み出され、そのデータが出力バッファ22に入力されると、この出力バッファ22の制御端子には“1”が入力されているため、入力された前記データは出力されない。
【0032】
また、プログラムベリファイ及び消去ベリファイの動作時では、読み出されたデータがそれぞれ全て“0”及び全て“1”でないときは、入力アドレスに従って読み出し回路4によって読み出されたメモリセルアレイ2の前記データは出力されない。
【0033】
ただし、プログラムベリファイの動作時では、読み出されたデータが全て“0”で、かつ、OEバー端子の出力が出力許可を示す“0”のとき、読み出されたメモリセルアレイ2の前記データが出力される。また、消去ベリファイの動作時では、読み出されたデータが全て“1”で、かつ、OEバー端子の出力が出力許可を示す“0”のとき、読み出されたメモリセルアレイ2の前記データが出力される。
【0034】
動作を詳述すると、読み出し回路18によってセキュリティセル16のデータが読み出され、そのデータがセキュリティのロック状態を示す“0”の場合、OR回路14の第3端子に“0”が入力される。
【0035】
プログラムベリファイの動作時では、入力アドレスに従って読み出し回路4によって読み出されたメモリセルアレイ2のデータは第1検知回路6に入力され、前記データが全て“0”か否かが検知される。ここで、データが全て“0”でないときは次のようになる。
【0036】
前記データが全て“0”でないとき、第1検知回路6からAND回路10の第1端子に“0”が出力される。前記AND回路10の第2端子には、プログラムベリファイの動作時であるため、PV信号である“1”が入力される。よって、前記AND回路10の出力部からOR回路14の第1端子に“0”が出力される。
【0037】
また、AND回路12の第2端子には、消去ベリファイの動作時でないため、EV信号である“0”が入力される。よって、前記AND回路12の出力部からOR回路14の第2端子に“0”が出力される。このように、前記OR回路14の第1、第2、第3端子にはすべて“0”が入力されるため、OR回路14の出力部からNAND回路20の第1端子に“0”が出力される。
【0038】
“0”が入力された前記NAND回路20の出力部からは、その第2端子に入力される信号に関わらず、“1”が出力され、出力バッファ22の制御端子に入力される。
【0039】
したがって、読み出し回路4によってメモリセルアレイ2のデータが読み出され、そのデータが出力バッファ22に入力されると、この出力バッファ22の制御端子には“1”が入力されているため、入力された前記データは出力されない。
【0040】
また、セキュリティセル16のデータがセキュリティのロック状態を示す“0”の場合で、プログラムベリファイの動作時で、さらに読み出されたメモリセルアレイ2のデータが全て“0”であるときは次のようになる。
【0041】
前記データが全て“0”であるとき、第1検知回路6からAND回路10の第1端子に“1”が出力される。前記AND回路10の第2端子には、プログラムベリファイの動作時であるため、PV信号である“1”が入力される。よって、前記AND回路10の出力部からOR回路14の第1端子に“1”が出力される。
【0042】
よって、前記OR回路14の第2、第3端子に入力される信号に関わらず、OR回路14の出力部からNAND回路20の第1端子に“1”が出力される。OEバー端子から“0”が入力されると、反転され、前記NAND回路20の第2端子には“1”が入力される。このようにNAND回路20の第1、第2端子には“1”が入力されるため、このNAND回路20の出力部からは“0”が出力され、出力バッファ22の制御端子に入力される。
【0043】
したがって、読み出し回路4によってメモリセルアレイ2のデータが読み出され、そのデータが出力バッファ22に入力されると、この出力バッファ22の制御端子には“0”が入力されているため、入力された前記データはD0〜Dn端子に出力される。
【0044】
また、セキュリティセル16のデータがセキュリティのロック状態を示す“0”の場合で、消去ベリファイの動作時では、入力アドレスに従って読み出し回路4によって読み出されたメモリセルアレイ2のデータは第2検知回路8に入力され、前記データが全て“1”か否かが検知される。ここで、データが全て“1”でないときは次のようになる。
【0045】
前記データが全て“1”でないとき、第2検知回路8からAND回路12の第1端子に“0”が出力される。前記AND回路12の第2端子には、消去ベリファイの動作時であるため、EV信号である“1”が入力される。よって、前記AND回路12の出力部からOR回路14の第2端子に“0”が出力される。
【0046】
また、AND回路10の第2端子には、プログラムベリファイの動作時でないため、PV信号である“0”が入力される。よって、前記AND回路10の出力部からOR回路14の第1端子に“0”が出力される。なお、前記OR回路14の第3端子には、セキュリティのロック状態を示す“0”が入力される。このように、OR回路14の第1、第2、第3端子にはすべて“0”が入力されるため、OR回路14の出力部からNAND回路20の第1端子に“0”が出力される。
【0047】
“0”が入力された前記NAND回路20の出力部からは、その第2端子に入力される信号に関わらず、“1”が出力され、出力バッファ22の制御端子に入力される。
【0048】
したがって、読み出し回路4によってメモリセルアレイ2のデータが読み出され、そのデータが出力バッファ22に入力されると、この出力バッファ22の制御端子には“1”が入力されているため、入力された前記データは出力されない。
【0049】
また、セキュリティセル16のデータがセキュリティのロック状態を示す“0”の場合で、消去ベリファイの動作時で、さらに読み出されたメモリセルアレイ2のデータが全て“1”であるときは次のようになる。
【0050】
前記データが全て“1”であるとき、第2検知回路8からAND回路12の第1端子に“1”が出力される。前記AND回路10の第2端子には、消去ベリファイの動作時であるため、EV信号である“1”が入力される。よって、前記AND回路12の出力部からOR回路14の第2端子に“1”が出力される。
【0051】
よって、前記OR回路14の第1、第3端子に入力される信号に関わらず、OR回路14の出力部からNAND回路20の第1端子に“1”が出力される。OEバー端子から“0”が出力されると、反転され、前記NAND回路20の第2端子には“1”が入力される。このようにNAND回路20の第1、第2端子には“1”が入力されるため、このNAND回路20の出力部からは“0”が出力され、出力バッファ22の制御端子に入力される。
【0052】
したがって、読み出し回路4によってメモリセルアレイ2のデータが読み出され、そのデータが出力バッファ22に入力されると、この出力バッファ22の制御端子には“0”が入力されているため、入力された前記データはD0〜Dn端子に出力される。
【0053】
このように動作させることにより、セキュリティのロック状態でもall“0”ベリファイとall“1”ベリファイは可能となる。このように、all“0”ベリファイとall“1”ベリファイを可能とすることにより、セキュリティのロック状態でも、メモリセルアレイの消去(Erase )動作ができるようになる。
なお、消去を行うためには、all“0”ベリファイとall“1”ベリファイができることを必要とする。そして、セキュリティのロック状態でも消去を可能とすることにより、結果として、メモリセルアレイのデータを消去しない限りセキュリティを解除できないというような回路的な保護手段をチップ内へ容易に形成することができる。
【0054】
すなわち、従来のセキュリティのロック状態では、どんなデータも読み出すことができなかった、つまりベリファイすることができなかった。これに対して、この発明ではセキュリティのロック状態でも消去シーケンスを実行できるように、プログラムベリファイ時のall“0”ベリファイと消去ベリファイ時のall“1”ベリファイを可能にした。
【0055】
これにより、前述したように、メモリセルアレイの消去を行わない限りセキュリティのロック状態の解除はできないというような回路的な保護手段を実現することができる。なお、このようなメモリセルアレイのデータを消去しなければセキュリティを解除できないという制御は、半導体チップ内に簡単にロジックで形成することができる。
【0056】
以上説明したようにこの実施の形態によれば、セキュリティのロック状態でもプログラムベリファイ時のall“0”ベリファイと消去ベリファイ時のall“1”ベリファイは可能となる。したがって、セキュリティをロックしたままの状態で、すなわちロックを解除することなく、メモリセルアレイのデータを消去することができる。
【0057】
さらに、この機能を用いて、メモリセルアレイのデータを消去しない限りセキュリティを解除できないというような回路的な保護手段を半導体チップ内に形成しておけば、メモリセルアレイのデータを消去した後でなければセキュリティのロック状態を解除できないようにすることができる。
【0058】
よって、セキュリティのロック状態を解除後に、メモリセルアレイのデータをベリファイしても、このときはメモリセルアレイのデータはすでに消去されているため、読み出しデータはall“1”となり、プログラムデータの解読は防止できる。すなわち、第3者が違法にメモリセルアレイのデータを解読しようとした場合、セキュリティのロック状態が解除できたときはすでにメモリセルアレイのデータは消去されており、データを解読することはできない。
【0059】
なお、正規ユーザであれば、セキュリティのロック状態を解除するときはプログラムデータを書き換えたいときであり、セキュリティのロック状態が解除できたときに、メモリセルアレイのデータが消去された状態であってもなんら問題はなく、その後に新しいプログラムを書き込み、セキュリティをロックすればよい。
【0060】
【発明の効果】
以上述べたように本発明によれば、セキュリティのロック状態でもプログラムベリファイ時に全てのデータが“0”であるとき、また消去ベリファイ時に全てのデータが“1”であるときに外部へのデータ読み出しを可能とすることにより、第3者によるデータ解読を禁止してデータを保護するとともに、データの書き換えも可能な不揮発性メモリのセキュリティ回路を提供することができる。
【図面の簡単な説明】
【図1】この発明の実施の形態の不揮発性メモリのセキュリティ回路の構成を示す図である。
【図2】従来の不揮発性メモリにおけるセキュリティ回路の構成を示す図である。
【符号の説明】
2…メモリセルアレイ
4…読み出し回路
6…第1検知回路
8…第2検知回路
10、12…AND回路
14…OR回路
16…セキュリティセル
18…読み出し回路
20…NAND回路
22…出力バッファ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to data protection of a nonvolatile memory (preventing data decryption by a third party), and more particularly to a security circuit used for a nonvolatile memory such as a flash EEPROM.
[0002]
[Prior art]
In recent years, a flash embedded microcomputer equipped with a flash memory has been actively developed in response to a demand from the market to rewrite the nonvolatile memory in a state where it is mounted on a board. In a microcomputer incorporating such a nonvolatile memory, there is a verify mode for verifying whether or not data is correctly written in the nonvolatile memory when data is rewritten. Note that the flash EEPROM also requires a verify mode for checking the erase state.
[0003]
Of course, the verify mode is a mode opened for use by the user, and even a third party can easily know it. Therefore, there is a problem that the program is decrypted by a third party.
[0004]
In order to prevent this, a means such as prohibiting the verify function is created by creating a flag, which is a security bit composed of memory cells in the nonvolatile memory, and writing data in this flag. That is, after the program is written to a nonvolatile memory such as a flash EEPROM (after the writing is finished), further data is written to the security bit, so that the subsequent verify operation to the nonvolatile memory of the main body is prohibited. The written program is protected without being verified. This is the same method used in the conventional EPROM.
[0005]
Hereinafter, this conventional method will be described with reference to the drawings.
FIG. 2 is a diagram showing a configuration of a security circuit in a conventional nonvolatile memory.
[0006]
Data stored in the
[0007]
When the input from the OE bar terminal is “1”, the output of the
[0008]
On the other hand, when the input from the OE bar terminal is “0” indicating output permission, if the security data is “1” indicating release of security, the output of the
[0009]
[Problems to be solved by the invention]
However, when the conventional security circuit is considered to be used for rewriting in the market such as flash EEPROM, even if the program is written once and verification is prohibited by the security method, when rewriting in the market occurs, The security function must be released and verification must be possible. Therefore, a mode for rewriting the data of the security flag is prepared and must be disclosed to the user. After all, the conventional security circuit discloses a method of releasing even if security is applied, and this security circuit does not protect data by prohibiting data decryption by a third party.
[0010]
Therefore, the present invention has been made in view of the above problems, and when all data is “0” at the time of program verify even when the security is locked, and when all data is “1” at the time of erase verify. It is an object of the present invention to provide a non-volatile memory security circuit capable of protecting data by prohibiting data decoding by a third party by enabling data reading only to the outside.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, a nonvolatile memory security circuit according to a first aspect of the present invention is a nonvolatile memory security circuit that prohibits reading of data stored in a memory cell. First detection means for detecting whether or not all the output data is “0”; and second detection means for detecting whether or not all the data read from the memory cell is “1”. When the first detecting means detects that all the data is “0”, or when the second detecting means detects that all the data is “1”, Output control means for outputting to the output.
[0012]
The nonvolatile memory security circuit according to the second aspect of the present invention is a nonvolatile memory security circuit that prohibits reading of data stored in a memory cell, and the data read from the memory cell is stored in the nonvolatile memory security circuit. First detection means for detecting whether or not all data is “0”, second detection means for detecting whether or not all the data read from the memory cells are “1”, and a program verify operation When the first detection means detects that all the data is “0”, or when the second detection means detects that all the data is “1” during the erase verify operation. And output control means for outputting the data to the outside .
[0013]
According to a third aspect of the present invention, there is provided a nonvolatile memory security circuit comprising: a memory cell array in which memory cells for storing data are arranged in an array; first reading means for reading the data from the memory cell array; Detection means for detecting whether or not all the data read by the first reading means is “0” or all “1”, and the detection means determines whether the data read by the first reading means is When it is detected that all are “0” or all “1”, information indicating security unlock is stored, and it is detected that the read data is not all “0” or all “1”. A security cell for storing information indicating a security lock state, and a second reading method for reading the information from the security cell. When the information indicating the unlocking is read by the second reading means, the output of the data is permitted to the outside, and when the information indicating the locked state is read, Output control means for disabling output to the outside .
[0014]
The security circuit of the nonvolatile memory of the fourth aspect of the present invention includes a first read means for reading a memory cell array having memory cells for storing data are arranged in an array, the data from the memory cell array, said Detection means for detecting whether or not all the data read by the first reading means is “0” or all “1”, and the detection means determines whether the data read by the first reading means is When it is detected that all are “0” or all “1”, information indicating security unlock is stored, and it is detected that the read data is not all “0” or all “1”. A security cell for storing information indicating a security lock state, and a second reading method for reading the information from the security cell. When the information indicating the unlocking is read by the second reading means, the data is allowed to be output to the outside, and when the information indicating the locked state is read, the program verify The data is detected only when the detection means detects that all the data is “0” during operation or when the detection means detects that all the data is “1” during the erase verify operation. Output control means for permitting output to the outside .
[0017]
That is, in the security circuit of the nonvolatile memory according to the present invention, only when all data is “0” at the time of program verify even when the security is locked, and only when all data is “1” at the time of erase verify. Thus, even if the security is locked, the data stored in the memory cell array can be erased (Erase).
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a security circuit of a nonvolatile memory according to an embodiment of the present invention.
[0019]
A read circuit 4 for reading the data is connected to the
[0020]
The output of the
[0021]
The
[0022]
The output section of the readout circuit 4 is connected to the D0 terminal to Dn terminal via the
[0023]
Next, the operation of the security circuit according to the embodiment of the present invention will be described.
When the data stored in the
[0024]
More specifically, when the data of the
[0025]
From the output section of the
[0026]
Since “1” is input to the first and second terminals of the
[0027]
Therefore, when the data in the
[0028]
Next, when the data stored in the
[0029]
Other than the program verify and erase verify operations, both the PV signal and the EV signal are “0”, and therefore, “0” is input to the first and second terminals of the
[0030]
Regardless of the signal input to the second terminal, “1” is output from the output section of the
[0031]
Therefore, when the data in the
[0032]
In the program verify and erase verify operations, if the read data are not all “0” and all “1”, respectively, the data of the
[0033]
However, during the program verify operation, when all the read data is “0” and the output of the OE bar terminal is “0” indicating output permission, the read data in the
[0034]
The operation will be described in detail. When the data in the
[0035]
During the program verify operation, the data of the
[0036]
When all the data is not “0”, “0” is output from the
[0037]
Further, since the second terminal of the AND circuit 12 is not in the erase verify operation, the EV signal “0” is input. Therefore, “0” is output from the output section of the AND circuit 12 to the second terminal of the
[0038]
Regardless of the signal input to the second terminal, “1” is output from the output section of the
[0039]
Therefore, when the data in the
[0040]
Further, when the data in the
[0041]
When all the data is “0”, “1” is output from the
[0042]
Therefore, “1” is output from the output section of the
[0043]
Therefore, when the data in the
[0044]
When the data in the
[0045]
When all the data are not “1”, “0” is output from the
[0046]
Further, since the second terminal of the AND circuit 10 is not in a program verify operation, “0” which is a PV signal is input. Therefore, “0” is output from the output section of the AND circuit 10 to the first terminal of the
[0047]
Regardless of the signal input to the second terminal, “1” is output from the output section of the
[0048]
Therefore, when the data in the
[0049]
Further, when the data in the
[0050]
When all the data are “1”, “1” is output from the
[0051]
Therefore, “1” is output from the output section of the
[0052]
Therefore, when the data in the
[0053]
By operating in this manner, all “0” verification and all “1” verification can be performed even in the security locked state. Thus, by enabling all “0” verification and all “1” verification, the memory cell array can be erased even in a locked state of security.
In order to perform erasing, all “0” verification and all “1” verification must be performed. Since erasing is possible even in a security locked state, as a result, it is possible to easily form a circuit protection means in the chip such that security cannot be canceled unless data in the memory cell array is erased.
[0054]
In other words, in the conventional security lock state, any data could not be read, that is, could not be verified. On the other hand, in the present invention, all “0” verify at the time of program verify and all “1” verify at the time of erase verify are enabled so that the erase sequence can be executed even in the security locked state.
[0055]
Thereby, as described above, it is possible to realize a circuit protection means that the security lock state cannot be released unless the memory cell array is erased. Such control that the security cannot be canceled without erasing data in the memory cell array can be easily formed in the semiconductor chip by logic.
[0056]
As described above, according to this embodiment, all “0” verification at the time of program verification and all “1” verification at the time of erase verification can be performed even in the security locked state. Therefore, data in the memory cell array can be erased while security is locked, that is, without releasing the lock.
[0057]
Furthermore, if this function is used to form a circuit protection means in the semiconductor chip that security cannot be canceled unless data in the memory cell array is erased, it is only after data in the memory cell array is erased. Security lock status can not be released.
[0058]
Therefore, even if the data in the memory cell array is verified after the security lock state is released, the data in the memory cell array has already been erased at this time, so the read data becomes all “1” and the decryption of the program data is prevented. it can. That is, if a third party illegally tries to decrypt the data in the memory cell array, the data in the memory cell array is already erased when the security lock state can be released, and the data cannot be decrypted.
[0059]
If the user is an authorized user, the security lock state is released when the program data is rewritten, and even when the security lock state is released, the memory cell array data is erased. There is no problem, just write a new program and lock the security.
[0060]
【The invention's effect】
As described above, according to the present invention, when all data is “0” at the time of program verify even in the security locked state, and when all data is “1” at the time of erase verify, data is read out to the outside. Therefore, it is possible to provide a security circuit for a nonvolatile memory that can protect data by prohibiting data decryption by a third party and can also rewrite data.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a security circuit of a nonvolatile memory according to an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a security circuit in a conventional nonvolatile memory.
[Explanation of symbols]
2 ... Memory cell array 4 ... Read
Claims (4)
前記メモリセルから読み出された前記データが全て“0”か否かを検知する第1の検知手段と、
前記メモリセルから読み出された前記データが全て“1”か否かを検知する第2の検知手段と、
前記第1の検知手段によって前記データが全て“0”であると検知されたとき、あるいは前記第2の検知手段によって前記データが全て“1”であると検知されたときに前記データを外部に出力する出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。In a security circuit of a nonvolatile memory that prohibits reading of data stored in a memory cell,
First detection means for detecting whether or not all of the data read from the memory cell is “0”;
Second detection means for detecting whether or not all of the data read from the memory cell is “1” ;
When the first detection means detects that all the data is “0”, or when the second detection means detects that all the data is “1”, the data is sent to the outside. Output control means for outputting;
A non-volatile memory security circuit comprising:
前記メモリセルから読み出された前記データが全て“0”か否かを検知する第1の検知手段と、
前記メモリセルから読み出された前記データが全て“1”か否かを検知する第2の検知手段と、
プログラムベリファイの動作時に前記第1の検知手段によって前記データが全て“0”であると検知されたとき、あるいは消去ベリファイの動作時に前記第2の検知手段によって前記データが全て“1”であると検知されたときに、前記データを外部に出力する出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。In a security circuit of a nonvolatile memory that prohibits reading of data stored in a memory cell,
First detection means for detecting whether or not all of the data read from the memory cell is “0”;
Second detection means for detecting whether or not all of the data read from the memory cell is “1” ;
When is detected that the program verifying the data by said first detecting means during the operation of all "0", or the data is all by the second detecting means during the operation of the erase verify is "1" Output control means for outputting the data to the outside when it is detected,
A non-volatile memory security circuit comprising:
前記メモリセルアレイから前記データを読み出す第1の読み出し手段と、
前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”か否かを検知する検知手段と、
前記検知手段が、前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“0”、あるいは全て“1”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、
前記セキュリティセルから前記情報を読み出す第2の読み出し手段と、
前記第2の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたとき、前記データの外部への出力を非許可にする出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。A memory cell array in which memory cells for storing data are arranged in an array;
First reading means for reading the data from the memory cell array;
Detecting means for detecting whether all the data read by the first reading means are “0” or all “1”;
When the detection means detects that the data read by the first reading means is all “0” or all “1”, it stores information indicating security unlock and reads the data A security cell that stores information indicating a security lock state when it is detected that all of the received data is not "0" or all "1"
Second reading means for reading the information from the security cell;
When the information indicating the unlocking is read by the second reading means, the output of the data is permitted to the outside, and when the information indicating the locked state is read, the data is output to the outside. Output control means for disabling the output of
A non-volatile memory security circuit comprising:
前記メモリセルアレイから前記データを読み出す第1の読み出し手段と、
前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”か否かを検知する検知手段と、
前記検知手段が、前記第1の読み出し手段により読み出されたデータが全て“0”、あるいは全て“1”であることを検知したとき、セキュリティのロック解除を示す情報を格納し、前記読み出されたデータが全て“0”、あるいは全て“1”でないことを検知したとき、セキュリティのロック状態を示す情報を格納するセキュリティセルと、
前記セキュリティセルから前記情報を読み出す第2の読み出し手段と、
前記第2の読み出し手段により、前記ロック解除を示す情報が読み出されたとき、前記データの外部への出力を許可し、前記ロック状態を示す情報が読み出されたときには、プログラムベリファイの動作時に前記検知手段によって前記データが全て“0”であると検知されたとき、あるいは消去ベリファイの動作時に前記検知手段によって前記データが全 て“1”であると検知されたときにのみ、前記データの外部への出力を許可する出力制御手段と、
を具備することを特徴とする不揮発性メモリのセキュリティ回路。A memory cell array in which memory cells for storing data are arranged in an array;
First reading means for reading the data from the memory cell array;
Detecting means for detecting whether all the data read by the first reading means are “0” or all “1”;
When the detection means detects that the data read by the first reading means is all “0” or all “1”, it stores information indicating security unlock and reads the data A security cell that stores information indicating a security lock state when it is detected that all of the received data is not "0" or all "1"
Second reading means for reading the information from the security cell;
When the information indicating the unlocking is read by the second reading means, the data is allowed to be output to the outside, and when the information indicating the locked state is read, the program verify operation is performed. wherein when said data is detected to be all "0" by detecting means, or said data by said detecting means during the operation of the erase verify only when it is detected that the full hand "1", the data Output control means for permitting output to the outside;
A non-volatile memory security circuit comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00873498A JP3684062B2 (en) | 1998-01-20 | 1998-01-20 | Nonvolatile memory security circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00873498A JP3684062B2 (en) | 1998-01-20 | 1998-01-20 | Nonvolatile memory security circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11203206A JPH11203206A (en) | 1999-07-30 |
JP3684062B2 true JP3684062B2 (en) | 2005-08-17 |
Family
ID=11701193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00873498A Expired - Fee Related JP3684062B2 (en) | 1998-01-20 | 1998-01-20 | Nonvolatile memory security circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3684062B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001014871A (en) | 1999-06-29 | 2001-01-19 | Toshiba Corp | Non-volatile semiconductor storage |
JP2005018362A (en) | 2003-06-25 | 2005-01-20 | Renesas Technology Corp | Semiconductor memory |
JP5429891B2 (en) * | 2011-05-09 | 2014-02-26 | Necアクセステクニカ株式会社 | Data writing apparatus and data writing method |
-
1998
- 1998-01-20 JP JP00873498A patent/JP3684062B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11203206A (en) | 1999-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2137506C (en) | Memory access protection circuit with encryption key | |
US20080189557A1 (en) | Method and architecture for restricting access to a memory device | |
JP2001014871A (en) | Non-volatile semiconductor storage | |
JP3891539B2 (en) | Semiconductor device and control device thereof | |
US7574576B2 (en) | Semiconductor device and method of controlling the same | |
US6320787B1 (en) | Nonvolatile memory with illegitimate read preventing capability | |
CN101238473A (en) | A secure terminal, a routine and a method of protecting a secret key | |
US9164927B2 (en) | Integrated circuit and memory data protection apparatus and methods thereof | |
JPH10228422A (en) | Data processor | |
KR100830910B1 (en) | Semiconductor memory device | |
JP2004503891A (en) | Secure EEPROM memory with error correction circuit | |
US6266271B1 (en) | Nonvolatile semiconductor memory for preventing unauthorized copying | |
JP6518798B2 (en) | Device and method for managing secure integrated circuit conditions | |
US6996006B2 (en) | Semiconductor memory preventing unauthorized copying | |
KR100674454B1 (en) | Nonvolatile memory | |
JP3684062B2 (en) | Nonvolatile memory security circuit | |
JP2004259385A (en) | Semiconductor storage device | |
JP2004038569A (en) | Data protection system for nonvolatile memory | |
JP4064703B2 (en) | Semiconductor memory device | |
US20040186947A1 (en) | Access control system for nonvolatile memory | |
JPH11232884A (en) | Non-volatile memory device | |
KR930004944B1 (en) | Memory system | |
JP2000148594A (en) | Read protection circuit for rom data | |
JP2003203012A (en) | Microcomputer device | |
JP2008226442A (en) | Semiconductor memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050527 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090603 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100603 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110603 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |