(57)【特許請求の範囲】
【請求項１】
メモリのデータ信号の遅延を検出する異常動作検出回路であって：
前記データ信号をラッチする第１のデータラッチと，
前記データ信号を所定時間遅延させ遅延データとして出力する遅延回路と，
前記遅延データをラッチする第２のデータラッチと，
前記第１のデータラッチの出力と第２のデータラッチの出力とを比較して，不一致の場合に不一致信号を出力する比較回路と，
を含み，
前記第１のデータラッチと第２のデータラッチは，ＣＰＵからのラッチ信号を利用して，前記ＣＰＵが前記メモリのデータ信号を読み取るタイミングでラッチされることを特徴とするメモリの異常動作検出回路。
【請求項２】
さらに，前記不一致信号に応答して，不一致が発生した際のアドレス情報を保持する回路を含むことを特徴とする請求項１に記載のメモリの異常動作検出回路。
【請求項３】
前記遅延回路は，前記メモリの前記データ信号の遅延時間が調整可能であることを特徴とする請求項１，または２のうちのいずれか１項に記載のメモリの異常動作検出回路。
【請求項４】
前記メモリが，フラッシュメモリであることを特徴とする請求項１，２，または３のうちのいずれか１項に記載のメモリの異常動作検出回路。
【請求項５】
請求項１，２，３，または４のうちのいずれか１項に記載のメモリの異常動作検出回路を含むことを特徴とする集積回路。
【請求項６】
メモリのデータ信号の遅延を検出する異常動作検出方法であって：
前記データ信号を所定時間遅延させ，前記データ信号と前記遅延させた遅延データをラッチし，ラッチ後の両出力を比較し，その不一致を検出し，
前記ラッチのタイミングは，ＣＰＵが前記メモリのデータ信号を読み取るタイミングで行われることを特徴とするメモリの異常動作検出方法。
【請求項７】
さらに，前記不一致を検出したときのメモリのアドレス情報を保持することを特徴とする請求項６に記載のメモリの異常動作検出方法。
【請求項８】
さらに，前記遅延させたデータ信号の遅延時間を調整することを特徴とする請求項６，または７のうちのいずれか１項に記載のメモリの異常動作検出方法。
【請求項９】
前記メモリが，フラッシュメモリであることを特徴とする請求項６，７，または８のうちのいずれか１項に記載のメモリの異常動作検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，マイコン等の集積回路等に内蔵されるメモリの，アクセススピードなどの異常動作を検出する技術に関する。
【０００２】
【従来の技術】
マイコン等の集積回路には，フラッシュメモリなどを内蔵したものがある。メモリを内蔵した集積回路は，マスクＲＯＭをフラッシュメモリなどに置き換え，データの書き換えや消去のための制御回路が付加されている。このような従来の集積回路には，書き込まれたデータの信頼性を継続的にチェックする方法は存在しなかった。
【０００３】
【発明が解決しようとする課題】
しかしながら，フラッシュメモリなどを内蔵する集積回路においては，データ書き換え時のライト・ディスターブ，データ読み出し時のリード・ディスターブ，または，データ・リテンション等の現象によって，書き込まれたデータが変化してしまうことがある。また，データが変化してしまうことがなくても，メモリのアドレス入力からデータ出力までの時間，即ち，メモリのアクセスタイムが著しく低下することがある。アクセスタイムが低下すると，マイコン等の集積回路の動作スピードにメモリのデータ出力が間に合わず，その集積回路が誤動作することになる。特に，マイコンなどで動作プログラムの記憶用にフラッシュメモリを使用している場合，フラッシュメモリからの出力がほんの１ビット誤っただけでそのマイコンが正常に動作しなくなる。このため，プログラム記憶用のメモリは，その信頼性の確保に多大なコストを必要としていた。
【０００４】
メモリからの出力の誤りを，訂正符号（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ；ＥＣＣ）を使って補正することも考えられる。しかしこの場合には，データ用のビットの他に補正のためのパリティビットが必要である。そして，場合によっては実際に使用するプログラム容量の１．５倍の記憶容量を必要とすることになる。これではチップサイズが増大し，コスト増となってしまう。しかも，同一アドレスにおける２ビット以上のデータ誤りを訂正することはできない。
【０００５】
そこで本発明は，メモリから誤って出力されたデータによりマイコンなどの集積回路が誤動作を起こす前に，メモリの異常動作を検出して，集積回路の信頼性を向上するための，メモリの異常動作検出回路，これを含んだ集積回路，及び異常動作検出方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するための本発明のメモリの異常動作検出回路は，メモリの出力データを所定時間遅延させ遅延データとして出力する遅延回路と，メモリの出力データと遅延データとを比較して，不一致の場合に不一致信号を出力する比較回路と，を含むことを特徴とする。
【０００７】
このような構成により，メモリが内蔵された集積回路の異常動作が，集積回路が誤動作する前に検出できる。
【０００８】
本発明のメモリの異常動作検出回路は，上記構成にさらに，不一致信号に応答して，不一致が発生した際のアドレス情報を保持する回路を含んでいてもよい。不一致が発生した際のアドレス情報を保持する回路により，正常動作への復帰が迅速になる。
【０００９】
上記いずれかの異常検出回路における遅延回路は，メモリの出力データの遅延時間が調整可能であってもよい。このような構成により，集積回路に内蔵されるメモリの性能のばらつきを調整でき，集積回路製品の良品の歩留まりの向上が図れる。
【００１０】
そして，上記目的を達成するための本発明のメモリの異常動作検出方法は，メモリの出力データを所定時間遅延させ，遅延させた出力データとメモリの出力データとを比較し，その不一致を検出することによりメモリの異常動作を検出することを特徴とする。
【００１１】
このような構成により，メモリが内蔵された集積回路の異常動作が，集積回路が誤動作する前に検出できる。
【００１２】
また，本発明のメモリの異常動作検出方法は，上記構成でさらに，不一致を検出したときのメモリのアドレス情報を保持してもよい。不一致が発生した際のアドレス情報を保持することにより，正常動作への復帰が迅速になる。
【００１３】
上記いずれかの異常検出方法における遅延手段は，メモリの出力データの遅延時間の調整手段をさらに含んでいてもよい。このような構成により，集積回路に内蔵されるメモリの性能のばらつきを調整でき，集積回路製品の良品の歩留まりの向上が図れる。
【００１４】
本発明におけるメモリには，例えばフラッシュメモリが挙げられるが，これに限定されるものではない。
【００１５】
【発明の実施の形態】
以下に，本発明のいくつかの実施の形態を，図面を用いて説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００１６】
（第１の実施の形態）
本発明の第１の実施の形態の構成について，図１を用いて説明する。図１は，本発明の第１の実施の形態の構成を示すブロック回路図である。ＣＰＵ１００からのアドレス信号１２２は，フラッシュメモリ１０１のアドレス入力端子に入力される。そして，フラッシュメモリ１０１内の入力されたアドレスに格納されるデータは，データ信号１２３として，ＣＰＵ１００のデータ入力端子，第１のデータラッチ１０３の入力端子Ｄ，遅延回路１０２の入力端子にそれぞれ入力される。遅延回路１０２に入力されたデータ信号１２３は，所定時間遅延されて遅延回路出力１２４として出力され，第２のデータラッチ１０４の入力端子Ｄに入力される。
【００１７】
そして，第１のデータラッチ１０３のデータラッチ信号１２５は，比較器１０６の一方の入力端子Ａに入力され，第２のデータラッチ１０４のデータ出力，即ち遅延データラッチ信号１２６は，比較器１０６の他方の入力端子Ｂに入力される。
【００１８】
一方，ＣＰＵ１００からのラッチ信号１２１は，第１のデータラッチ１０３のラッチ信号入力Ｇと，第２のデータラッチ１０４のラッチ信号入力Ｇと，比較器１０６の出力制御端子ＯＥにそれぞれ入力される。データラッチ信号１２５と遅延データラッチ信号１２６とは，ラッチ信号１２１のＨ区間でラッチ信号１２１の立ち上がり時にラッチした値をそれぞれ保持する。また，ラッチ信号１２１のＬ区間では，データラッチ信号１２５と遅延データラッチ信号１２６とは，その時のデータ信号１２３と遅延回路出力１２４とを，それぞれスルーで出力する。
【００１９】
比較器１０６は，出力制御端子ＯＥ（Ｏｕｔｌｅｔ  Ｅｎａｂｌｅ）に入力されるラッチ信号１２１が立ち上がるタイミング毎に，入力Ａ，Ｂの信号が等しければ論理信号”Ｌ”を，入力Ａ，Ｂの信号が等しくなけければ論理信号”Ｈ”を，不一致信号１２７として出力する。そして，比較器１０６からの不一致信号１２７は，Ｄ−ＦＦ１０７の入力端子ＣＫに入力される。Ｄ−ＦＦ１０７の入力端子Ｄには，電源ＶＤＤ１１０からの電源１２８が接続され，Ｄ−ＦＦ１０７の出力Ｑからは，異常を検出したときに状態”Ｈ”となる異常検出信号１３０が出力され，外部出力端子１０８に接続される。また，Ｄ−ＦＦ１０７のリセット入力Ｒには，外部入力端子１０９からのリセット信号１２９が接続され，リセット信号１２９が外部から入力されると，異常検出信号１３０は状態”Ｌ”に戻る（図１）。
【００２０】
次に，図１〜図３を用いて第１の実施の形態の動作を説明する。図２は，第１の実施の形態において，フラッシュメモリのデータ信号出力が正常な状態であるときのタイミングチャートであり，図３は，第１の実施の形態において，フラッシュメモリのデータ信号出力が途中で異常を示したときのタイミングチャートである。
【００２１】
フラッシュメモリ１０１は，ｔ０を起点とするＣＰＵ１００からのアドレス信号１２２を受けて，ある時間（アクセスタイム；（ｔ１−ｔ０））の後，ｔ１のタイミングでデータ信号１２３を出力する。ＣＰＵ１００は，データ信号１２３のデータを，ラッチ信号１２１が”Ｈ”になるタイミングｔ３で取り込み，ＣＰＵ１００内でそのデータを，所定のプログラムに基づいて処理する（図２）。
【００２２】
データ信号１２３は，遅延回路１０２で（ｔ２−ｔ１）の時間遅延され，遅延回路出力１２４となる。データ信号１２３と，遅延回路出力１２４は，それぞれ第１のデータラッチ１０３と，第２のデータラッチ１０４を経て，比較器１０６で比較される。ラッチ信号１２１が立ち上がって”Ｈ”になるタイミングｔ３で一致していれば，不一致信号１２７は，”Ｌ”のままである（図２）。
【００２３】
しかし，フラッシュメモリ１０１のアクセスタイムに遅れが生じ，アドレス信号１２２を受けてタイミングｔ４でデータ信号１２５が出力されるはずが，タイミングｔ５に遅れた場合，遅延回路１０２は，ラッチ信号１２１が”Ｈ”に立ち上がるタイミングｔ６までにデータを出力できず，比較器１０６で不一致となって，不一致信号１２７が”Ｈ”となる（図１，図３）。
【００２４】
不一致信号１２７が”Ｈ”となる立ち上がりエッジがあると，Ｄ−ＦＦ１０７は，電源ＶＤＤ１１０に接続された入力Ｄの”Ｈ”データを取り込み，出力Ｑの異常検出信号１３０を，状態”Ｌ”から”Ｈ”にする。そして，Ｄ−ＦＦ１０７の出力Ｑと接続された外部出力端子１０８の出力は状態”Ｌ”から”Ｈ”に変化し，外部にフラッシュメモリのアクセスタイムが変化した（遅れた）こと，即ち，フラッシュメモリ１０１の異常動作を通知する（図１，図３）。
【００２５】
フラッシュメモリ１０１の異常動作が検出されたときは，音声や画像，動画によるアラームを出す，バックアップを促す，メンテナンスを行うなど，外部で何らかの処理が行われるようにすればよい。外部出力端子１０８の出力状態を”Ｈ”から”Ｌ”に戻す場合は，外部入力端子１０９に入力する信号を，状態”Ｌ”から”Ｈ”にすることで，Ｄ−ＦＦ１０７はリセットされる（図１）。
【００２６】
以上示したように，第１の実施の形態によれば，ＣＰＵ内部で使用するタイミングではデータ信号のアクセススピードが足りている状態ではあるが，一定の遅延をデータ信号に与え，遅延前と遅延後のデータを比較して不一致が発生するかどうかを常に監視する。即ち，ＣＰＵがデータ信号を取り込むタイミングに対して，遅延分のマージンが常に確保されているかをチェックすることにより，初期の状態ではマージンが十分あったにもかかわらず不一致が発生した場合は，フラッシュメモリが何らかの理由でアクセススピードが低下し始めたことが検出できる。従って，更にアクセススピードが低下して，フラッシュメモリを内蔵したマイコン等の集積回路が，誤ったデータ信号によって誤動作を起こす前に，異常が発生したことを知ることができる。
【００２７】
（第２の実施の形態）
本発明の第２の実施の形態の構成について，図４を用いて説明する。図４は，本発明の第２の実施の形態の構成を示すブロック回路図である。第１の実施の形態と異なるところは，アドレスラッチ２０５を設けた点と，外部出力端子１０８に接続したＤ−ＦＦ２０７の出力Ｑを，割り込み制御回路２１１に接続している点である。以下に，第１の実施の形態と同様の部分は説明を省略し，異なる部分について説明する。
【００２８】
ＣＰＵ２００からのアドレス出力２２２は，アドレスラッチ２０５のＤラッチに接続される。また，ラッチ信号２２１は，２入力ＮＡＮＤ素子２１３の一端に入力される。Ｄ−ＦＦ２０７の出力Ｑは，割り込み制御回路２１１と，インバータ２１４の入力端子にそれぞれ接続される。インバータ２１４の出力２３１は，２入力ＮＡＮＤ素子２１３の他端に入力される。２入力ＮＡＮＤ素子２１３の出力２３２は，アドレスラッチ２０５のラッチ信号入力Ｇへ接続される。そして，アドレスラッチ２０５のラッチ出力２３３は，データバス２１２へ接続され，割り込み制御回路２１１からのリセット信号２２９は，Ｄ−ＦＦ２０７のリセット入力Ｒに接続される（図４）。
【００２９】
次に，図４及び図５を用いて第２の実施の形態の動作を説明する。図５は，第２の実施の形態において，フラッシュメモリのデータ信号出力が途中で異常を示したときのタイミングチャートである。
【００３０】
Ｄ−ＦＦ２０７の出力Ｑから異常検出信号２３０が出力されるまでの動作は，第１の実施の形態と同様であるので説明を省略する。この異常検出信号２３０が状態”Ｈ”になると，割り込み信号として割り込み制御回路２１１へ入力され，予めプログラムされた割り込み処理が，ＣＰＵ２００において実行される。割り込み処理としては，異常を通知する，再度メモリを書き込む，などが選択できる。
【００３１】
割り込み処理中に不一致となったアドレスを参照する場合には，ラッチ信号２２１と，異常検出信号２３０の反転信号２３１とのＮＡＮＤ出力２３２の立ち上がりでアドレスラッチ２０５にラッチされたアドレスが，異常検出信号２３０が状態”Ｈ”の期間はそのままラッチされた状態となるので，データバス２１２を経由して読み出すことができる。割り込み処理の実行が終了すると，割り込み制御回路２１１からリセット信号２２９が出力され，Ｄ−ＦＦ２０７がリセットされて異常検出信号２３０の状態が，”Ｈ”から”Ｌ”に戻る（図４，図５）。
【００３２】
以上示したように，第２の実施の形態によれば，データのアクセススピードにマージン不足が発生した場合に，外部出力端子へ信号出力する他に，マイコン等の集積回路の内部信号として処理することができる。また，マージン不足となったデータのアドレスを保持し，ＣＰＵにより読み出すことが可能であるため，ＣＰＵの誤動作を引き起こす前にそのアドレスのデータの再書き込みなどを自動的に実行できる。
【００３３】
第２の実施の形態では，フラッシュメモリの再書き込み等の処理でアクセススピードの回復が可能な場合は，外部からの処理を必要としないので，結果として内蔵フラッシュメモリの信頼性の向上を図ることができる。
【００３４】
また，第１，第２の実施の形態では，遅延回路の遅延時間は固定していたが，遅延回路内部で遅延を調整できる回路にすることで，異常と判定されるアクセススピードマージンを調整することができる。これにより，内蔵するフラッシュメモリの出来によるばらつきが考慮でき，製品の歩留まりの向上が図れる。
【００３５】
以上，添付図面を参照しながら本発明のメモリの異常動作検出回路，及び，異常動作検出方法の好適な実施の形態について説明したが，本発明はこれらの例に限定されない。いわゆる当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【００３６】
【発明の効果】
本発明により，メモリから誤って出力されたデータによりマイコンなどの集積回路が誤動作を起こす前に，メモリの異常動作が検出できる，メモリの異常動作検出回路，これを含んだ集積回路，及び，異常動作検出方法が提供でき，集積回路の信頼性の向上が図れた。
【図面の簡単な説明】
【図１】図１は，第１の実施の形態の構成を示すブロック回路図である。
【図２】図２は，第１の実施の形態において，フラッシュメモリのデータ信号出力が正常な状態であるときのタイミングチャートである。
【図３】図３は，第１の実施の形態において，フラッシュメモリのデータ信号出力が途中で異常を示したときのタイミングチャートである。
【図４】図４は，第２の実施の形態の構成を示すブロック回路図である。
【図５】図５は，第２の実施の形態において，フラッシュメモリのデータ信号出力が途中で異常を示したときのタイミングチャートである。
【符号の説明】
１００，２００    ＣＰＵ
１０１，２０１    フラッシュメモリ
１０２，２０２    遅延回路
１０３，２０３    第１のデータラッチ
１０４，２０４    第２のデータラッチ
１０６，２０６    比較器
１０７，２０７    Ｄ−ＦＦ
１０８    外部出力端子
１０９    外部入力端子
１１０    ＶＤＤ
２０５    アドレスラッチ
２１１    割り込み制御回路
２１２    データバス
２１３    ２入力ＮＡＮＤ素子
２１４    インバータ
１２１，２２１    ラッチ信号
１２２，２２２    アドレス信号
１２３，２２３    データ信号
１２４，２２４    遅延回路出力
１２５，２２５    データラッチ信号
１２６，２２６    遅延データラッチ信号
１２７，２２７    不一致信号
１２８，２２８    電源
１２９，２２９    リセット信号
１３０，２３０    異常検出信号
２３１    異常検出信号の反転信号
２３２    ＮＡＮＤ出力
２３３    アドレスラッチ出力
【図１】
0003556649.tif 000002
【図２】
0003556649.tif 000003
【図３】
0003556649.tif 000004
【図４】
0003556649.tif 000005
【図５】
0003556649.tif 000006