(57)【要約】【課題】  メモリにエラーが発生した場合にメモリに対して行う処置を選択可能にし、メモリの信頼性を向上する。【解決手段】  監視回路は、複数のメモリセルを含むメモリから読み出されたデータのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を順次に保持する複数の第１領域を含む保持部と、所定の回数のエラーが訂正された場合に、第１領域に保持された複数の位置情報に基づいて、メモリに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する検出部とを有する。【選択図】    図１
2015011385.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを含むメモリから読み出されたデータのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を順次に保持する複数の第１領域を含む保持部と、
所定の回数のエラーが訂正された場合に、前記第１領域に保持された複数の前記位置情報に基づいて、前記メモリに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する検出部と
を備えることを特徴とする監視回路。
【請求項２】
前記保持部の前記各第１領域は、前記エラーを訂正したデータが保持されたメモリセルのアドレスを前記位置情報として保持すること
を特徴とする請求項１記載の監視回路。
【請求項３】
前記メモリは、ビット番号が割り当てられた複数の前記メモリセルを前記アドレス毎に含み、
前記保持部の前記各第１領域は、前記エラーを訂正したデータが保持されたメモリセルの前記ビット番号を、前記アドレスとともに前記位置情報として保持し、
前記検出部は、前記第１領域に保持された複数の前記アドレスと複数の前記ビット番号とに基づいて、前記エラーモードのいずれか１つを検出すること
を特徴とする請求項２記載の監視回路。
【請求項４】
前記検出部は、
前記保持部の前記第１領域に保持された複数の前記アドレスが互いに一致する場合に第１一致信号を出力する第１比較部と、
前記保持部の前記第１領域に保持された複数の前記ビット番号が互いに一致する場合に第２一致信号を出力する第２比較部と、
前記第１一致信号および第２一致信号の論理の組み合わせに基づいて、前記エラーモードのいずれか１つを判定する判定部と
を備えることを特徴とする請求項３記載の監視回路。
【請求項５】
前記判定部は、前記第１一致信号および第２一致信号の論理の組み合わせに基づいて、前記エラーを訂正したデータが保持されたメモリセルの位置がランダムであるランダムエラー、前記エラーを訂正したデータが保持されたメモリセルの位置が特定のアドレスに依存するアドレスエラー、前記エラーを訂正したデータが保持されたメモリセルの位置が特定のビット番号に依存するビットエラーおよび前記エラーを訂正したデータが保持されたメモリセルの位置が特定のアドレスにおける特定のビット番号に依存するシングルビットエラーのいずれか１つを前記エラーモードとして判定すること
を特徴とする請求項４記載の監視回路。
【請求項６】
前記保持部は、エラーが訂正される毎に、エラーが訂正されたことを示すエラー情報を保持し、前記第１領域と同じ数の複数の第２領域を含み、
前記検出部は、前記第２領域に前記エラー情報が保持されたことに応答して、前記第１領域に保持された前記位置情報から前記エラーモードを検出すること
を特徴とする請求項１ないし請求項５のいずれか１項記載の監視回路。
【請求項７】
前記検出部から出力される前記複数のエラーモードを示すエラー信号のオア演算をするオア回路と、
前記オア回路の出力に接続された出力端子と
を備え、
前記検出部は、前記メモリに発生した前記エラーモードを示す情報を保持し、前記エラーモードの種別の問い合わせに応答して、保持した情報を出力する保持回路を備えること
を特徴とする請求項１ないし請求項６のいずれか１項記載の監視回路。
【請求項８】
前記保持部および前記検出部は、前記メモリに含まれる複数のメモリブロック毎に設けられ、
前記監視回路は、さらに、前記エラーを訂正したデータを保持するメモリセルが割り当てられた前記メモリブロックに対応する前記保持部に前記位置情報を出力する選択部を備えること
を特徴とする請求項１ないし請求項７のいずれか１項記載の監視回路。
【請求項９】
複数のメモリセルを含むメモリと、
前記メモリに読み出し要求を出力し、前記読み出し要求に含まれる位置情報が示す前記メモリセルからデータを読み出すコントローラと、
前記メモリから読み出されるデータのエラーを検出して訂正するエラー訂正部と、
前記エラー訂正部により訂正されたデータの情報と前記位置情報とに基づいて、前記メモリを監視する監視回路と
を備え、
前記監視回路は、
前記エラー訂正部によりデータのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す前記位置情報を順次に保持する複数の第１領域を含む保持部と、
所定の回数のエラーが訂正された場合に、前記第１領域に保持された複数の前記位置情報に基づいて、前記メモリに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する検出部と
を備えること
を特徴とする半導体装置。
【請求項１０】
複数のメモリセルを含むメモリから読み出されたデータのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を、複数の第１領域に順次に保持し、
所定の回数のエラーが訂正された場合に、前記第１領域に保持された複数の前記位置情報に基づいて、前記メモリに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する
ことを特徴とするメモリの監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視回路、半導体装置およびメモリの監視方法に関する。
【背景技術】
【０００２】
フラッシュメモリ等のメモリは、書き込み回数、消去回数および読み出し回数に制限があり、制限する回数に到達した場合、信頼性が低下し、保持したデータを失うおそれがある。このため、この種のメモリに保持されるデータの信頼性を向上する様々な技術が提案されている。例えば、メモリ単位毎のエラーの発生回数に応じて、重複してデータを書き込むメモリ単位の数が変更され、重複してデータが書き込まれたメモリ単位から読み出されたデータの値は多数決により判定される（例えば、特許文献１参照）。
【０００３】
読み出し回数が閾値に至った物理ブロックまたはエラーが発見された物理ブロックは、所定のタイミングで予備の物理ブロックに置き換えられる（例えば、特許文献２参照）。フラッシュメモリへのデータの書き込み回数が限界値に到達した場合に、アラームが出力される（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１９２０４７号公報
【特許文献２】特開２００９−２２４０１３号公報
【特許文献３】特開２００２−２５２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、エラーの発生回数やアクセス回数が限界値に到達したときの処置として、メモリブロックを他のメモリブロックに置き換える場合と、メモリの寿命等によりアラームを出力する場合とのいずれかが実行される。換言すれば、エラーの発生回数やアクセス回数が限界値に到達したときの状態に応じて、メモリブロックの他のメモリブロックへの置き換え、またはアラームの出力のいずれを実行するかを選択する手法は提案されていない。
【０００６】
本件開示の監視回路、半導体装置およびメモリの監視方法は、メモリにエラーが発生した場合にメモリに対して行う処置を選択可能にし、メモリの信頼性を従来に比べて向上することを目的とする。
【課題を解決するための手段】
【０００７】
一つの観点によれば、監視回路は、複数のメモリセルを含むメモリから読み出されたデータのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を順次に保持する複数の第１領域を含む保持部と、所定の回数のエラーが訂正された場合に、第１領域に保持された複数の位置情報に基づいて、メモリに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する検出部とを有する。
【０００８】
別の観点によれば、半導体装置は、複数のメモリセルを含むメモリと、メモリに読み出し要求を出力し、読み出し要求に含まれる位置情報が示すメモリセルからデータを読み出すコントローラと、メモリから読み出されるデータのエラーを検出して訂正するエラー訂正部と、エラー訂正部により訂正されたデータの情報と位置情報とに基づいて、メモリを監視する監視回路とを備え、監視回路は、エラー訂正部によりデータのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を順次に保持する複数の第１領域を含む保持部と、所定の回数のエラーが訂正された場合に、第１領域に保持された複数の位置情報に基づいて、メモリに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する検出部と有する。
【０００９】
さらなる別の観点によれば、メモリの監視方法は、複数のメモリセルを含むメモリから読み出されたデータのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を、複数の第１領域に順次に保持し、所定の回数のエラーが訂正された場合に、第１領域に保持された複数の位置情報に基づいて、メモリに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する。
【発明の効果】
【００１０】
本件開示の監視回路、半導体装置およびメモリの監視方法は、メモリに対して行う処置が選択可能になり、メモリの信頼性を従来に比べて向上することができる。
【図面の簡単な説明】
【００１１】
【図１】監視回路、半導体装置およびメモリの監視方法の一実施形態を示す図である。
【図２】監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す図である。
【図３】図２に示した保持部および比較部の例を示す図である。
【図４】図２に示した判定部の例を示す図である。
【図５】図２に示した監視回路の動作の例を示す図である。
【図６】図２に示した監視回路の動作の別の例を示す図である。
【図７】図２に示した監視回路の動作の別の例を示す図である。
【図８】図２に示した監視回路の動作の別の例を示す図である。
【図９】監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す図である。
【図１０】監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す図である。
【図１１】監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す図である。
【図１２】図１１に示した監視回路の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を用いて実施形態を説明する。信号が伝達される信号線および端子には、信号名と同じ符号を使用する。
【００１３】
図１は、監視回路、半導体装置およびメモリの監視方法の一実施形態を示す。この実施形態の半導体装置ＳＤ１は、メモリ１０、エラー訂正部２０、コントローラ３０および監視回路４０を有する。監視回路４０は、保持部５０および検出部６０を有する。例えば、コントローラ３０は、ＣＰＵ（Central Processing Unit）等のプロセッサである。
【００１４】
メモリ１０は、複数のメモリセルを有する。エラー訂正部２０は、メモリ１０から読み出されるデータＤＴＭのエラーを検出して訂正し、訂正したデータＤＴＣをコントローラ３０に出力する。また、エラー訂正部２０は、訂正したデータＤＴＣを示す情報を監視回路４０に出力する。
【００１５】
コントローラ３０は、メモリ１０に読み出し要求ＲＱを出力し、読み出し要求ＲＱに含まれる位置情報が示すメモリセルからデータを読み出す。監視回路４０は、エラー訂正部２０により訂正されたデータの情報と、コントローラ３０からの位置情報とに基づいて、メモリ１０を監視する。
【００１６】
保持部５０は、メモリ１０から読み出されたデータＤＴＭのエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を順次に保持する複数の第１領域Ｒ１を有する。例えば、位置情報は、メモリセルの位置を示すアドレスである。あるいは、メモリ１０がアドレス毎にビット番号が割り当てられた複数のメモリセルを含む場合、位置情報は、エラーが発生したメモリセルのアドレスおよびビット番号である。アドレスを示す位置情報は、コントローラ３０から監視回路４０に出力され、ビット番号を示す位置情報は、エラー訂正部２０から監視回路４０に出力される。
【００１７】
検出部６０は、所定の回数のエラーが訂正された場合に、第１領域Ｒ１に保持された複数の位置情報に基づいて、メモリ１０に発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する。例えば、所定の回数は、第１領域Ｒ１の数である。例えば、検出部６０は、検出したエラーモードをコントローラ３０に出力する。
【００１８】
例えば、第１領域Ｒ１に保持された複数の位置情報に共通性がない場合、検出部６０は、ランダムな位置のメモリセルでエラーが発生するランダムエラーを検出する。第１領域Ｒ１に保持された複数の位置情報が共通のアドレスを示す場合、検出部６０は、アドレスの値に依存してエラーが発生するアドレスエラーを検出する。第１領域Ｒ１に保持された複数の位置情報が共通のビット番号を示す場合、検出部６０は、ビット番号の値に依存してエラーが発生するビットエラーを検出する。第１領域Ｒ１に保持された複数の位置情報が共通のアドレスと共通のビット番号を示す場合、検出部６０は、特定のメモリセルでエラーが発生するシングルビットエラーを検出する。
【００１９】
すなわち、検出部６０は、エラーが発生したメモリセルのアドレスまたはビット番号を位置情報として蓄積することで、メモリ１０内で発生したエラーをメモリセル単位で把握でき、エラーが発生したメモリセルの位置の分布を把握できる。また、検出部６０は、エラーが発生したメモリセルの位置の分布が、アドレスに依存するのか、ビット番号に依存するのかを把握できる。
【００２０】
例えば、コントローラ３０は、監視回路４０からランダムエラーを示すエラーモードを受けた場合、メモリ１０の劣化（寿命に近づいたこと）を上位のシステムに通知する。通知を受けた上位のシステムは、メモリ１０を含む半導体装置ＳＤ１の交換要求を、端末装置等を介してシステム管理者に通知する。メモリ１０の劣化が検出された場合に、メモリ１０が故障する前に半導体装置ＳＤ１を交換することで、半導体装置ＳＤ１が搭載されるシステムの信頼性を向上することができる。
【００２１】
例えば、コントローラ３０は、監視回路４０からアドレスエラー、ビットエラー、またはシングルビットエラーを示すエラーモードを受けた場合、エラーが発生したメモリセルのアクセスを禁止する代わりに他のメモリセルにアクセスする救済処置を行う。救済は、不良を救済する冗長回路を使用して実施されてもよく、エラーが発生したメモリセルを含むメモリブロックを、予備のメモリブロックに置き換えることで実施されてもよい。
【００２２】
なお、コントローラ３０は、アドレスエラー、ビットエラー、またはシングルビットエラーを示すエラーモードを受けた場合に、特定の位置のメモリセルが劣化したことを上位のシステムに通知してもよい。さらに、救済後のメモリセルまたはメモリブロックにおいて、アドレスエラー、ビットエラー、またはシングルビットエラーが再び検出された場合、監視回路４０は、ランダムエラーを示すエラーモードをコントローラ３０に出力してもよい。すなわち、監視回路４０は、救済可能なエラーを繰り返し検出した場合に、メモリ１０の劣化を検出してもよい。
【００２３】
以上、図１に示した実施形態では、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報を蓄積し、蓄積した位置情報により示されるメモリセルの位置の分布に基づいて、複数のエラーモードの１つを検出することができる。換言すれば、メモリセルを他のメモリセルに置き換えてメモリ１０の使用を続けるのか、メモリ１０の寿命が近づいたことにより半導体装置ＳＤ１を交換するのかを、エラーモードに応じてプロセッサ１０や上位のシステムに選択させることができる。この結果、例えば、劣化したメモリ１０に対してメモリセルの救済処置が繰り返されることを回避することができ、メモリ１０を含む半導体装置ＳＤ１を搭載するシステムの信頼性を従来に比べて向上することができる。
【００２４】
図２は、監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す。図１に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体装置ＳＤ２は、メモリ１０Ａ、エラー訂正部２０Ａ、コントローラ３０Ａおよび監視回路４０Ａを有する。監視回路４０Ａは、保持部５０Ａ、比較部６２Ａおよび判定部６４Ａを有する。
【００２５】
メモリ１０Ａは、例えば、複数のメモリセルを含むＮＯＲ型フラッシュメモリ等の不揮発性メモリである。メモリ１０Ａは、制御信号ＣＮＴおよびアドレス信号ＡＤを受け、データ信号ＤＴＭを入出力する。制御信号ＣＮＴが読み出し要求を示す場合、メモリ１０Ａは、読み出し動作を実行し、アドレス信号ＡＤで示されるメモリセルに保持されたデータを読み出し、データ信号ＤＴＭとして出力する。制御信号ＣＮＴが書き込み要求を示す場合、メモリ１０Ａは、書き込み動作を実行し、アドレス信号ＡＤで示されるメモリセルにデータ端子ＤＴＭで受けるデータを書き込む。制御信号ＣＮＴが消去要求を示す場合、メモリ１０Ａは、消去動作を実行し、メモリセルに保持されたデータを消去する。
【００２６】
なお、メモリ１０Ａは、ＤＲＡＭ（Dynamic Random Access Memory）またはＳＲＡＭ（Static Random Access Memory）でもよい。あるいは、メモリ１０Ａは、強誘電体メモリ、ＭＲＡＭ（Magnetoresistive RAM）、ＲｅＲＡＭ（Resistive RAM）またはＰＲＡＭ（Phase change RAM）等の他の不揮発性メモリでもよい。
【００２７】
エラー訂正部２０Ａは、例えば、ＥＣＣ（Error Checking and Correction）回路である。エラー訂正部２０Ａは、読み出し動作によりメモリ１０Ａから読み出されるデータ信号ＤＴＭに訂正可能なエラーがあることを検出した場合、データ信号ＤＴＭのエラーを訂正する。エラー訂正部２０Ａは、訂正したデータ信号ＤＴＭを、データ信号ＤＴＣとしてコントローラ３０Ａに出力する。なお、メモリ１０Ａは、外部から受けたデータを保持するメモリセルと、外部から受けたデータのパリティコードを保持するメモリセルとを含む。データ信号ＤＴＭは、パリティコードを含み、データ信号ＤＴＣは、パリティコードを含まない。
【００２８】
例えば、エラー訂正部２０Ａは、データ信号ＤＴＭの２ビットのエラーを検出可能であり、１ビットのエラーを検出、訂正可能である。なお、エラー訂正部２０Ａは、訂正が困難な２ビットエラー等を検出した場合、メモリ１０Ａの故障により半導体装置ＳＤ２を搭載するシステムの動作に問題が生じたことを、コントローラ３０Ａに通知してもよい。
【００２９】
エラー訂正部２０Ａは、データ信号ＤＴＭのエラーを訂正する場合に、エラーの発生を示すエラー信号ＥＲと、エラーが発生したメモリセルのビットの位置（すなわち、ビット番号）を示すビット信号ＢＮを監視回路４０Ａに出力する。エラー訂正部２０Ａは、書き込み動作時に、コントローラ３０Ａからのデータ信号ＤＴＣを用いてパリティコードを生成し、データ信号ＤＴＣをパリティコードとともにデータ信号ＤＴＭとしてメモリ１０Ａに書き込む。
【００３０】
コントローラ３０Ａは、例えば、割り込み制御部３２Ａを有する。コントローラ３０Ａは、メモリ１０Ａまたは内蔵するメモリに格納されたプログラムを実行することで動作し、半導体装置ＳＤ２の動作を制御する。割り込み制御部３２Ａは、複数の割り込み端子ＩＲＱ（ＩＲＱ０、ＩＲＱ１、ＩＲＱ２、ＩＲＱ３）を有し、割り込み端子ＩＲＱで受ける割り込み要求に応答して、コントローラ３０Ａに割り込み処理を実行させる。
【００３１】
監視回路４０Ａは、エラー訂正部２０Ａから受けるエラー信号ＥＲ、ビット信号ＢＮおよびコントローラ３０Ａからメモリ１０Ａに供給されるアドレス信号ＡＤに基づいて、メモリ１０Ａから読み出されるデータ信号ＤＴＭに発生するエラーを監視する。そして、監視回路４０Ａは、メモリセルに所定の頻度でエラーが発生することを検出した場合、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれかを割り込み要求ＩＲＱ（ＩＲＱ０、ＩＲＱ１、ＩＲＱ２、ＩＲＱ３のいずれか）として出力する。
【００３２】
保持部５０Ａは、シフトレジスタＳＦＴＲ１、ＳＦＴＲ２、ＳＦＴＲ３を有する。シフトレジスタＳＦＴＲ１は、訂正可能なエラーが発生したことを示すエラー信号ＥＲを順次に保持し、所定数のエラー信号ＥＲを保持した場合、エラー信号ＥＲ４を比較部６２Ａに出力する。シフトレジスタＳＦＴＲ２は、エラー信号ＥＲの発生毎にビット信号ＢＮを順次に保持し、シフトレジスタＳＦＴＲ１が所定数のエラー信号ＥＲを保持した場合、保持したビット信号ＢＮを比較部６２Ａに出力する。シフトレジスタＳＦＴＲ３は、エラー信号ＥＲの発生毎にアドレス信号ＡＤを順次に保持し、シフトレジスタＳＦＴＲ１が所定数のエラー信号ＥＲを保持した場合、保持したアドレス信号ＡＤを比較部６２Ａに出力する。
【００３３】
エラー信号ＥＲは、エラーが訂正されたことを示すエラー情報の一例である。ビット信号ＢＮおよびアドレス信号ＡＤは、エラーを訂正したデータを保持するメモリセルの位置を示す位置情報の一例である。保持部５０Ａの例は、図３に示す。
【００３４】
比較部６２Ａは、保持部５０Ａから受けるエラー信号ＥＲ４に応答してトリガ信号ＴＲＧを出力する。比較部６２Ａは、保持部５０Ａからエラー信号ＥＲ４を受けた場合、保持部５０Ａから受ける複数のビット信号ＢＮの値を互いに比較し、エラーが発生したメモリセルの位置（ビット位置）の関連性を判定する。また、比較部６２Ａは、保持部５０Ａからエラー信号ＥＲ４を受けた場合、保持部５０Ａから受ける複数のアドレス信号ＡＤを互いに比較し、エラーが発生したメモリセルの位置（アドレス）の関連性を判定する。
【００３５】
そして、比較部６２Ａは、トリガ信号ＴＲＧとともに、特定のビット番号でエラーが発生したことを示すエラー信号ＥＲＲＢおよび特定のアドレスでエラーが発生したことを示すエラー信号ＥＲＲＡの少なくとも１つを判定部６４Ａに出力する。なお、比較部６２Ａは、エラーがランダムな位置で発生する場合、エラーがビット番号およびアドレスに関連しないことを示すエラー信号ＥＲＲＢ、ＥＲＲＡを出力する。比較部６２Ａの例は、図３に示す。
【００３６】
判定部６４Ａは、比較部６２Ａからのトリガ信号ＴＲＧおよびエラー信号ＥＲＲＢ、ＥＲＲＡを受け、メモリ１０Ａに発生したエラーの特徴を判定し、エラーの特徴を示すエラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれか１つを出力する。判定部６４Ａの例は、図４に示す。
【００３７】
図３は、図２に示した保持部５０Ａおよび比較部６２Ａの例を示す。保持部５０Ａの各シフトレジスタＳＦＴＲ１、ＳＦＴＲ２、ＳＦＴＲ３は、例えば、直列に接続された４つの記憶段ＳＴ（ＳＴ１、ＳＴ２、ＳＴ３、ＳＴ４）を有する。シフトレジスタＳＦＴＲ１は、記憶段ＳＴ１で受けたエラー訂正部２０Ａからのエラー信号ＥＲをエラー信号ＥＲ１として出力し、記憶段ＳＴ２で受けたエラー信号ＥＲ１をエラー信号ＥＲ２として出力する。また、シフトレジスタＳＦＴＲ１は、記憶段ＳＴ３で受けたエラー信号ＥＲ２をエラー信号ＥＲ３として出力し、記憶段ＳＴ４で受けたエラー信号ＥＲ３をエラー信号ＥＲ４として出力する。シフトレジスタＳＦＴＲ１の記憶段ＳＴ１−ＳＴ４は、エラー訂正部２０Ａによりエラーが訂正される毎に、エラーが訂正されたことを示すエラー情報を保持する第２領域の一例である。
【００３８】
シフトレジスタＳＦＴＲ２は、記憶段ＳＴ１で受けたエラー訂正部２０Ａからのビット信号ＢＮをビット信号ＢＮ１として出力し、記憶段ＳＴ２で受けたビット信号ＢＮ１をビット信号ＢＮ２として出力する。また、シフトレジスタＳＦＴＲ２は、記憶段ＳＴ３で受けたビット信号ＢＮ２をビット信号ＢＮ３として出力し、記憶段ＳＴ４で受けたビット信号ＢＮ３をビット信号ＢＮ４として出力する。シフトレジスタＳＦＴＲ２は、記憶段ＳＴ１−ＳＴ４に保持したビット信号ＢＮ１−ＢＮ４を比較部６２Ａに出力する。シフトレジスタＳＦＴＲ２の記憶段ＳＴ１−ＳＴ４は、エラー訂正部２０Ａによりエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示すビット番号を保持する第１領域の一例である。
【００３９】
シフトレジスタＳＦＴＲ３は、記憶段ＳＴ１で受けたアドレス信号ＡＤをアドレス信号ＡＤ１として出力し、記憶段ＳＴ２で受けたアドレス信号ＡＤ１をアドレス信号ＡＤ２として出力する。また、シフトレジスタＳＦＴＲ３は、記憶段ＳＴ３で受けたアドレス信号ＡＤ２をアドレス信号ＡＤ３として出力し、記憶段ＳＴ４で受けたアドレス信号ＡＤ３をアドレス信号ＡＤ４として出力する。シフトレジスタＳＦＴＲ３は、記憶段ＳＴ１−ＳＴ４に保持したアドレス信号ＡＤ１−ＡＤ４を比較部６２Ａに出力する。シフトレジスタＳＦＴＲ３の記憶段ＳＴ１−ＳＴ４は、エラー訂正部２０Ａによりエラーが訂正される毎に、エラーを訂正したデータを保持するメモリセルの位置を示すアドレスを保持する第１領域の一例である。
【００４０】
シフトレジスタＳＦＴＲ１、ＳＦＴＲ２、ＳＦＴＲ３の各記憶段ＳＴ１−ＳＴ４は、リセット信号ＲＳＴに応答して、情報を保持していない状態にリセットされる。例えば、リセット信号ＲＳＴは、コントローラ３０Ａの制御により生成される。コントローラ３０Ａは、半導体装置ＳＤ２の初回のパワーオン時にリセット信号ＲＳＴを出力し、その後、監視回路４０Ａにより検出されたメモリ１０Ａのエラーが回復可能であるときに出力される。
【００４１】
比較部６２Ａは、比較器ＢＣＭＰ、ＡＣＭＰ、アンド回路ＡＮＤ１、ＡＮＤ２およびフリップフロップＦＦ１、ＦＦ２、ＦＦ３を有する。比較器ＢＣＭＰは、シフトレジスタＳＦＴＲ２から出力されるビット信号ＢＮ１−ＢＮ４が示すビット番号が互いに一致する場合、一致信号Ｃ１をハイレベルに設定する。また、比較器ＢＣＭＰは、ビット信号ＢＮ１−ＢＮ４が示すビット番号の少なくとも１つが他と異なる場合、一致信号Ｃ１をロウレベルに設定する。
【００４２】
例えば、比較器ＢＣＭＰは、ビット信号ＢＮ１−ＢＮ４の各ビットをそれぞれ比較する複数の排他的論理和回路と、全ての排他的論理和回路がビット値の一致を示す場合に一致信号Ｃ１をハイレベルに設定するアンド回路とを有する。例えば、各アドレスに８個のメモリセル（８個のビット番号）が割り当てられる場合、比較器ＢＣＭＰは、４入力の８個の排他的論理和回路を有する。
【００４３】
比較器ＡＣＭＰは、シフトレジスタＳＦＴＲ３から出力されるアドレス信号ＡＤ１−ＡＤ４が示すアドレス値が互いに一致する場合、一致信号Ｃ２をハイレベルに設定する。また、比較器ＡＣＭＰは、アドレス信号ＡＤ１−ＡＤ４が示すアドレス値の少なくとも１つが他と異なる場合、一致信号Ｃ２をロウレベルに設定する。例えば、比較器ＡＣＭＰは、アドレス信号ＡＤ１−ＡＤ４の各ビットをそれぞれ比較する複数の排他的論理和回路と、全ての排他的論理和回路がビット値の一致を示す場合に一致信号Ｃ２をハイレベルに設定するアンド回路とを有する。例えば、アドレスが１６ビットある場合、比較器ＡＣＭＰは、４入力の１６個の排他的論理和回路を有する。
【００４４】
アンド回路ＡＮＤ１は、シフトレジスタＳＦＴＲ１から受けるハイレベルのエラー信号ＥＲ４と、ハイレベルの一致信号Ｃ１とに基づいて、ハイレベルのセット信号Ｓ１を出力する。アンド回路ＡＮＤ２は、シフトレジスタＳＦＴＲ１から受けるハイレベルのエラー信号ＥＲ４と、ハイレベルの一致信号Ｃ２とに基づいて、ハイレベルのセット信号Ｓ２を出力する。
【００４５】
フリップフロップＦＦ１は、リセット端子Ｒで受けるリセット信号ＲＳＴに応答して、出力端子Ｑから出力するトリガ信号ＴＲＧをロウレベルにリセットする。フリップフロップＦＦ１は、セット端子Ｓで受けるエラー信号ＥＲ４のハイレベルへの変化に応答して、トリガ信号ＴＲＧをハイレベルにセットする。
【００４６】
フリップフロップＦＦ２は、リセット端子Ｒで受けるリセット信号ＲＳＴに応答して、出力端子Ｑから出力するエラー信号ＥＲＲＢをロウレベルにリセットする。フリップフロップＦＦ２は、セット端子Ｓで受けるセット信号Ｓ１のハイレベルへの変化に応答して、エラー信号ＥＲＲＢをハイレベルにセットする。
【００４７】
フリップフロップＦＦ３は、リセット端子Ｒで受けるリセット信号ＲＳＴに応答して、出力端子Ｑから出力するエラー信号ＥＲＲＡをロウレベルにリセットする。フリップフロップＦＦ３は、セット端子Ｓで受けるセット信号Ｓ２のハイレベルへの変化に応答して、エラー信号ＥＲＲＡをハイレベルにセットする。
【００４８】
なお、各シフトレジスタＳＦＴＲ１、ＳＦＴＲ２、ＳＦＴＲ３が有する記憶段ＳＴの数は、４つに限定されない。比較器ＢＣＭＰは、シフトレジスタＳＦＴＲ２の記憶段ＳＴの数に対応する数の入力端子を有する。比較器ＡＣＭＰは、シフトレジスタＳＦＴＲ３の記憶段ＳＴの数に対応する数の入力端子を有する。また、監視回路４０Ａは、シフトレジスタＳＦＴＲ２、比較器ＢＣＭＰ、アンド回路ＡＮＤ１およびフリップフロップＦＦ１を削除し、エラーが発生したメモリセルのビット番号を識別することなくアドレスＡＤを識別してもよい。この場合、エラー信号ＥＲＲＢは、例えば、ロウレベルに固定され、図４に示す判定部６４Ａは、エラー信号ＥＲＲＡの論理に応じて、ランダムエラーまたはアドレスエラーを判定する。
【００４９】
また、図２に示したメモリ１０Ａのデータのビット幅が１ビットの場合、保持部５０Ａは、シフトレジスタＳＦＴＲ２を持たず、比較部６２Ａは、比較器ＢＣＭＰ、アンド回路ＡＮＤ１およびフリップフロップＦＦ２を持たない。そして、比較部６２Ａは、トリガ信号ＴＲＧおよびエラー信号ＥＲＲＡを出力する。
【００５０】
図４は、図２に示した判定部６４Ａの例を示す。判定部６４Ａは、トリガ信号ＴＲＧおよびエラー信号ＥＲＲＢ、ＥＲＲＡを受けて、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれかを出力するデコード回路ＤＥＣを有する。デコード回路ＤＥＣは、判定テーブルに示した論理にしたがって、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれかを出力する。換言すれば、判定部６４Ａは、図３に示した一致信号Ｃ１、Ｃ２の論理の組み合わせに基づいて、複数のエラーモードのいずれか１つを判定する。
【００５１】
デコード回路ＤＥＣは、ハイレベルのトリガ信号ＴＲＧおよびロウレベルのエラー信号ＥＲＲＢ、ＥＲＲＡを受けた場合に、ハイレベルのエラー信号ＲＤＥＲＲを出力する。ハイレベルのエラー信号ＲＤＥＲＲは、複数のエラーモードのうち、ランダムエラーの発生を示す。ランダムエラーは、図２に示したメモリ１０Ａにおけるエラーを訂正したメモリセルの位置がランダムであることを示し、メモリ１０Ａの信頼度が低下した可能性があることを示す。ランダムエラーの例は、図５に示す。
【００５２】
デコード回路ＤＥＣは、ハイレベルのトリガ信号ＴＲＧ、ロウレベルのエラー信号ＥＲＲＢおよびハイレベルのエラー信号ＥＲＲＡを受けた場合に、ハイレベルのエラー信号ＡＤＥＲＲを出力する。ハイレベルのエラー信号ＡＤＥＲＲは、複数のエラーモードのうち、アドレスエラーの発生を示す。アドレスエラーは、メモリ１０Ａにおけるエラーを訂正したメモリセルの位置が特定のアドレス信号ＡＤの値に依存することを示す。例えば、アドレスエラーは、メモリ１０Ａ内の共通のワードラインに接続されたメモリセルでエラーが発生した場合に検出される。アドレスエラーの例は、図６に示す。
【００５３】
デコード回路ＤＥＣは、ハイレベルのトリガ信号ＴＲＧ、ハイレベルのエラー信号ＥＲＲＢおよびロウレベルのエラー信号ＥＲＲＡを受けた場合に、ハイレベルのエラー信号ＢＬＥＲＲを出力する。ハイレベルのエラー信号ＢＬＥＲＲは、複数のエラーモードのうち、ビットエラーの発生を示す。ビットエラーは、メモリ１０Ａにおけるエラーを訂正したメモリセルの位置がビット番号に依存することを示す。例えば、ビットエラーは、メモリ１０Ａ内の共通のビットラインに接続されたメモリセルでエラーが発生した場合に検出される。ビットエラーの例は、図７に示す。
【００５４】
デコード回路ＤＥＣは、ハイレベルのトリガ信号ＴＲＧおよびハイレベルのエラー信号ＥＲＲＢ、ＥＲＲＡを受けた場合に、ハイレベルのエラー信号ＳＢＥＲＲを出力する。ハイレベルのエラー信号ＳＢＥＲＲは、複数のエラーモードのうち、シングルビットエラーの発生を示す。シングルビットエラーは、メモリ１０Ａにおける特定のメモリセル（共通のアドレスおよび共通のビット番号）のエラーが複数回訂正されたときに検出される。シングルビットエラーの例は、図８に示す。
【００５５】
なお、判定部６４Ａは、デコード回路ＤＥＣの代わりに、図４に示した判定テーブルを有し、判定テーブルにしたがってエラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれかを出力してもよい。比較部６２Ａおよび判定部６４Ａは、所定の回数のエラーが訂正された場合に、保持部５０Ａに保持された複数の位置情報に基づいて、メモリ１０Ａに発生したエラーの特徴を示す複数のエラーモードのいずれか１つを検出する検出部の一例である。
【００５６】
また、図２に示したメモリ１０Ａのデータのビット幅が１ビットの場合、判定部６４Ａに供給されるエラー信号ＥＲＲＢは、例えば、ロウレベルに固定され、エラー信号ＥＲＲＡの論理に応じて、ランダムエラーまたはアドレスエラーが判定される。この場合、アドレスエラーは、シングルビットエラーと等価である。
【００５７】
図５は、図２に示した監視回路４０Ａの動作の例を示す。なお、図５から図８では、メモリ１０Ａは、アドレス毎に８個のメモリセルを有し、アドレス毎の８個のメモリセルは、８個のデータ端子Ｄ（Ｄ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ６、Ｄ７）に割り当てられる。データ端子Ｄに示す数値は、ビット番号である。例えば、共通のビット番号のメモリセル（図５の縦方向に並ぶメモリセル）は、データが伝達される共通のビットラインに接続される。また、図５から図８において、メモリセルに示した”Ｘ”印は、エラー訂正部２０Ａにより、メモリセルから読み出されたデータが訂正されたことを示す。なお、メモリ１０Ａは、パリティコードを保持するメモリセルであるパリティメモリセルを有するが、パリティメモリセルは、図５から図８には示されない。
【００５８】
例えば、図５では、メモリ１０Ａの読み出し動作ＲＤが連続して実行され、アドレスｘｘ００００Ｈに割り当てられたメモリセルのビット０から読み出されたデータのエラーが訂正される（図５（ａ））。図５から図８において、アドレス値の最初の”ｘｘ”は、任意の値を示し、末尾の”Ｈ”は、アドレス値が１６進数であることを示す。
【００５９】
アドレスｘｘ０００３Ｈに割り当てられたメモリセルのビット２から読み出されたデータのエラーが訂正される（図５（ｂ））。アドレスｘｘ０００５Ｈに割り当てられたメモリセルのビット５から読み出されたデータのエラーが訂正される（図５（ｃ））。アドレスｘｘ００１３Ｈに割り当てられたメモリセルのビット２から読み出されたデータのエラーが訂正される（図５（ｄ））。
【００６０】
そして、図２に示したエラー訂正部２０Ａがメモリ１０Ａから読み出されたデータＤＴＭのエラーを４回訂正したときに、図３に示した比較部６２Ａは、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３に保持された情報に基づいて、ロウレベルＬのエラー信号ＥＲＲＢ、ＥＲＲＡを出力する。
【００６１】
図４に示した判定部６４Ａは、ハイレベルのトリガ信号ＴＲＧおよびエラー信号ＥＲＲＢ、ＥＲＲＡに基づいて、ランダムエラー（ＲＤＥＲＲ）の発生を検出し、コントローラ３０Ａに通知する。すなわち、監視回路４０Ａは、シフトレジスタＳＦＴＲ１の全ての記憶段ＳＴ１−ＳＴ４がエラー信号ＥＲを保持したことに応答して、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３の記憶段ＳＴ１−ＳＴ４に保持された情報に基づいてエラーモードを検出する。コントローラ３０Ａは、ランダムエラーの発生の通知を割り込み要求ＩＲＱ０として受け、例えば、上位のシステムに、メモリ１０Ａの信頼性が低下し、メモリ１０Ａの寿命が近づいていることを通知する。
【００６２】
図６は、図２に示した監視回路４０Ａの動作の別の例を示す。例えば、図６では、メモリ１０Ａの読み出し動作ＲＤが連続して実行され、アドレスｘｘ０００２Ｈに割り当てられたメモリセルのビット０、ビット２、ビット１、ビット６から読み出されたデータのエラーが訂正される（図６（ａ）、（ｂ）、（ｃ）、（ｄ））。
【００６３】
そして、図２に示したエラー訂正部２０Ａが、メモリ１０Ａから読み出されたデータＤＴＭのエラーを４回訂正したときに、図３に示した比較部６２Ａは、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３に保持された情報に基づいて、ロウレベルＬのエラー信号ＥＲＲＢとハイレベルＨのエラー信号ＥＲＲＡとを出力する。
【００６４】
図４に示した判定部６４Ａは、ハイレベルのトリガ信号ＴＲＧ、ロウレベルのエラー信号ＥＲＲＢおよびハイレベルのエラー信号ＥＲＲＡに基づいて、アドレスエラー（ＡＤＥＲＲ）の発生を検出し、コントローラ３０Ａに通知する。コントローラ３０Ａはアドレスエラーの発生の通知を割り込み要求ＩＲＱ１として受け、エラーの回復処理を実行する。
【００６５】
例えば、コントローラ３０Ａは、アドレスｘｘ０００２Ｈを未使用のアドレスに変換し、アドレスｘｘ０００２Ｈの代わりに未使用のアドレスに割り当てられたメモリセルにアクセスする。これにより、エラーが検出されたアドレスｘｘ０００２Ｈに割り当てられたメモリセルのアクセスが禁止され、エラーが検出されていない他のメモリセルがアクセスされる。なお、エラーが発生したアドレスの未使用アドレスへの変換は、複数のアドレスを含むメモリブロック単位で実行されてもよい。
【００６６】
例えば、コントローラ３０Ａは、エラーが発生したメモリセルの置き換え後にリセット信号ＲＳＴを出力し、図３に示した保持部５０ＡのシフトレジスタＳＦＴＲ１−ＳＦＴＲ３および比較部６２ＡのフリップフロップＦＦ１−ＦＦ３をリセットする。これにより、監視回路４０Ａは、エラーが発生したメモリセルから置き換えられたメモリセルを含むメモリ１０Ａを、再び監視可能になる。
【００６７】
図７は、図２に示した監視回路４０Ａの動作の別の例を示す。例えば、図７では、メモリ１０Ａの読み出し動作ＲＤが連続して実行され、アドレスｘｘ００００Ｈ、ｘｘ０００４Ｈに割り当てられたメモリセルのビット０から読み出されたデータのエラーが訂正される（図７（ａ）、（ｂ））。また、アドレスｘｘ０００８Ｈ、ｘｘ０００ＣＨに割り当てられたメモリセルのビット０から読み出されたデータのエラーが訂正される（図７（ｃ）、（ｄ））。
【００６８】
そして、図２に示したエラー訂正部２０Ａが、メモリ１０Ａから読み出されたデータＤＴＭのエラーを４回訂正したときに、図３に示した比較部６２Ａは、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３に保持された情報に基づいて、ハイレベルＨのエラー信号ＥＲＲＢとロウレベルＬのエラー信号ＥＲＲＡとを出力する。
【００６９】
図４に示した判定部６４Ａは、ハイレベルのトリガ信号ＴＲＧ、ハイレベルのエラー信号ＥＲＲＢおよびロウレベルＬのエラー信号ＥＲＲＡに基づいて、ビットエラー（ＢＬＥＲＲ）の発生を検出し、コントローラ３０Ａに通知する。コントローラ３０Ａは、ビットエラーの発生の通知を割り込み要求ＩＲＱ２として受け、エラーの回復処理を実行する。
【００７０】
例えば、メモリ１０Ａが、不良のビットラインを救済する冗長ビット線を有する場合、コントローラ３０Ａは、ビット０に対応するビット線を冗長ビット線に置き換える救済処置を実行する。なお、コントローラ３０Ａは、エラーが発生したメモリセルを含むメモリブロックを他のメモリブロックに置き換えてもよい。そして、コントローラ３０Ａは、エラーが発生したメモリセルの置き換え後にリセット信号ＲＳＴを出力し、図３に示した保持部５０ＡのシフトレジスタＳＦＴＲ１−ＳＦＴＲ３および比較部６２ＡのフリップフロップＦＦ１−ＦＦ３をリセットする。メモリ１０Ａが、冗長ビット線を有しない場合、コントローラ３０Ａは、例えば、上位のシステムにメモリ１０Ａの寿命が近づいていることを通知してもよい。
【００７１】
図８は、図２に示した監視回路４０Ａの動作の別の例を示す。例えば、図８では、メモリ１０Ａの読み出し動作ＲＤが連続して実行され、アドレスｘｘ０００２Ｈに割り当てられたメモリセルのビット３（すなわち、Ｄ３）から読み出されたデータのエラーが訂正される（図８（ａ）、（ｂ）、（ｃ）、（ｄ））。
【００７２】
そして、図２に示したエラー訂正部２０Ａが、メモリ１０Ａから読み出されたデータＤＴＭのエラーを４回訂正したときに、図３に示した比較部６２Ａは、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３に保持された情報に基づいて、ハイレベルＨのエラー信号ＥＲＲＢ、ＥＲＲＡを出力する。
【００７３】
図４に示した判定部６４Ａは、ハイレベルのトリガ信号ＴＲＧおよびハイレベルのエラー信号ＥＲＲＢ、ＥＲＲＡに基づいて、シングルビットエラー（ＳＢＥＲＲ）の発生を検出し、コントローラ３０Ａに通知する。コントローラ３０Ａは、シングルビットエラーの発生の通知を割り込み要求ＩＲＱ３として受け、エラーの回復処理を実行する。
【００７４】
例えば、コントローラ３０Ａは、アドレスｘｘ０００２Ｈを未使用のアドレスに変換し、アドレスｘｘ０００２Ｈの代わりに未使用のアドレスに割り当てられたメモリセルにアクセスする。これにより、図６と同様に、エラーが検出されたアドレスｘｘ０００２Ｈに割り当てられたメモリセルのアクセスが禁止され、エラーが検出されていない他のメモリセルがアクセスされる。
【００７５】
なお、メモリ１０Ａが、不良のビットラインを救済する冗長ビット線を有する場合、コントローラ３０Ａは、ビット３に対応するビット線を冗長ビット線に置き換える救済処置を実行してもよい。あるいは、コントローラ３０Ａは、エラーが発生したメモリセルを含むメモリブロックを他のメモリブロックに置き換えてもよい。
【００７６】
例えば、コントローラ３０Ａは、エラーが発生したメモリセルの置き換え後にリセット信号ＲＳＴを出力し、図３に示した保持部５０ＡのシフトレジスタＳＦＴＲ１−ＳＦＴＲ３および比較部６２ＡのフリップフロップＦＦ１−ＦＦ３をリセットする。
【００７７】
以上、図２から図８に示した実施形態においても、図１に示した実施形態と同様に、保持部５０Ａに蓄積されたメモリセルの位置情報に応じて、複数のエラーモードの１つを検出することができる。検出したエラーモードに応じて、メモリ１０Ａに対する処置を決定することで、メモリ１０Ａを含む半導体装置ＳＤ２を搭載するシステムの信頼性を従来に比べて向上することができる。
【００７８】
さらに、図２から図８に示した実施形態では、シフトレジスタＳＦＴＲ２に保持されたビット番号ＢＮが一致するか否かを比較器ＢＣＭＰで判定し、シフトレジスタＳＦＴＲ３に保持されたアドレスＡＤが一致するか否かを比較器ＡＣＭＰで判定する。これにより、各比較器ＢＣＭＰ、ＡＣＭＰによる判定結果の論理の組み合わせに基づいて、複数のエラーモードのいずれか１つを検出することができる。
【００７９】
比較部６２Ａによるビット番号ＢＮの比較およびアドレスＡＤの比較は、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３と同様の構造を有するシフトレジスタＳＦＴＲ１の全ての記憶段ＳＴ１−ＳＴ４にエラー信号ＥＲが保持されたことに基づいて開始される。これにより、比較部６２Ａの動作の開始タイミングを、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３の動作に合わせて設定することができる。
【００８０】
判定部６４Ａは、検出したランダムエラー、アドレスエラー、ビットエラーおよびシングルビットエラーを、割り込み要求ＩＲＱ０−ＩＲＱ３としてそれぞれコントローラ３０Ａに出力する。これにより、コントローラ３０Ａは、割り込み要求ＩＲＱ０−ＩＲＱ３を受けた時点で、発生したエラーモードを把握でき、１つの割り込み要求でエラーを受ける場合に比べて、エラーモードに応じた処置を迅速に開始することができる。
【００８１】
図９は、監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す。図１および図２に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体装置ＳＤ３は、図２に示した監視回路４０Ａの代わりに監視回路４０Ｂを有すること、およびコントローラ３０Ａが監視回路４０Ｂから１つの割り込み要求ＩＲＱ０を受けることを除き、図２に示した半導体装置ＳＤ２と同様である。
【００８２】
監視回路４０Ｂは、図２に示した判定部６４Ａの代わりに判定部６４Ｂを有し、判定部６４Ｂから出力されるエラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲを受けるオア回路ＯＲ１を有する。判定部６４Ｂは、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれを出力したかを示すエラー情報ＥＩＮＦを保持する保持回路ＨＬＤを、図２に示した判定部６４Ａに追加している。
【００８３】
オア回路ＯＲ１は、判定部６４Ｂから出力されるエラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのオア演算をし、演算結果を割り込み要求ＩＲＱ０として出力端子Ｏ１に出力する。すなわち、監視回路４０Ｂは、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれかが発生した場合に、割り込み要求ＩＲＱ０をコントローラ３０Ａに出力する。
【００８４】
判定部６４Ｂは、割り込み要求ＩＲＱ０を受けたコントローラ３０Ａが発生する読み出し要求ＲＲＱに応答して、保持回路ＨＬＤからエラー情報ＥＩＮＦ（ランダムエラー、アドレスエラー、ビットエラー、シングルビットエラーのいずれかを示す）を出力する。コントローラ３０Ａは、エラー情報ＥＩＮＦに基づいて、ランダムエラー（ＲＤＥＲＲ）、アドレスエラー（ＡＤＥＲＲ）、ビットエラー（ＢＬＥＲＲ）、シングルビットエラー（ＳＢＥＲＲ）のいずれにより割り込み要求ＩＲＱ０が発行されたのかを認識する。
【００８５】
例えば、保持回路ＨＬＤは、コントローラ３０Ａによりアクセス可能なＩ／Ｏ（Input/Output）に割り当てられ、レジスタへのアクセス要求である読み出し要求ＲＲＱにより、コントローラ３０Ａからアクセスされる。
【００８６】
以上、図９に示した実施形態においても、図１に示した実施形態と同様に、保持部５０Ａに蓄積されたメモリセルの位置情報に応じて、複数のエラーモードの１つを検出することができる。検出したエラーモードに応じて、メモリ１０Ａに対する処置を決定することで、メモリ１０Ａを含む半導体装置ＳＤ３を搭載するシステムの信頼性を向上することができる。また、図２から図８に示した実施形態と同様に、各比較器ＢＣＭＰ、ＡＣＭＰによる判定結果の論理の組み合わせに基づいて、複数のエラーモードのいずれか１つを検出することができる。比較部６２Ａの動作の開始タイミングを、シフトレジスタＳＦＴＲ２、ＳＦＴＲ３の動作に合わせて設定することができる。
【００８７】
さらに、図９に示した実施形態では、メモリ１０Ａのエラーの検出に使用する割り込み要求ＩＲＱの数を、図２に比べて減らすことができ、コントローラ３０Ａを図２に比べて効率的に動作させることができる。
【００８８】
図１０は、監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す。図１または図２に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体装置ＳＤ４は、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲをそれぞれ出力する外部端子Ｔ１、Ｔ２、Ｔ３、Ｔ４を有する。すなわち、コントローラ３０Ａは、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲを割り込み要求として受けない。そして、半導体装置ＳＤ４を制御するシステムは、エラー信号ＲＤＥＲＲを受けた場合に、半導体装置ＳＤ４の交換を判断する。また、半導体装置ＳＤ４を制御するシステムは、エラー信号ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲを受けた場合に、エラーを発生したメモリセルの他のメモリセルへの置き換え（救済）をコントローラ３０Ａに指示する。なお、コントローラ３０Ａは、図２に示した割り込み制御部３２Ａを持たなくてもよい。
【００８９】
以上、図１０に示した実施形態においても、図１から図８に示した実施形態と同様に、保持部５０Ａに蓄積されたメモリセルの位置情報に応じて、複数のエラーモードの１つを検出することができる。検出したエラーモードに応じて、メモリ１０Ａに対する処置を決定することで、メモリ１０Ａを含む半導体装置ＳＤ４を搭載するシステムの信頼性を向上することができる。
【００９０】
図１１は、監視回路、半導体装置およびメモリの監視方法の別の実施形態を示す。図１、図２および図３に示した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体装置ＳＤ５は、図２に示したメモリ１０Ａおよび監視回路４０Ａの代わりに、メモリ１０Ｃおよび監視回路４０Ｃを有する。
【００９１】
メモリ１０Ｃは、複数のメモリブロックＭＢ（ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４）を有する。例えば、メモリ１０Ｃがフラッシュメモリの場合、メモリブロックＭＢはセクタであり、メモリ１０ＣがＤＲＡＭの場合、メモリブロックＭＢはバンクである。なお、メモリ１０Ｃは、ＳＲＡＭや、強誘電体メモリ、ＭＲＡＭ、ＲｅＲＡＭ、ＰＲＡＭ等の他の不揮発性メモリでもよい。
【００９２】
監視回路４０Ｃは、図２に示した監視回路４０Ａに選択部７０Ｃ、オア回路ＯＲ２および保持回路ＨＬＤを追加している。保持回路ＨＬＤは、図９に示した判定部６４Ｂが有する保持回路ＨＬＤと同等の機能を有する。また、監視回路４０Ｃは、複数の保持部５０Ａ（５０Ａ１、５０Ａ２、５０Ａ３、５０Ａ４）、複数の比較部６２Ａ（６２Ａ１、６２Ａ２、６２Ａ３、６２Ａ４）および複数の判定部６４Ａ（６４Ａ１、６４Ａ２、６４Ａ３、６４Ａ４）を有する。各保持部５０Ａ、各比較部６２Ａおよび各判定部６４Ａは、メモリブロックＭＢに対応して設けられる。各保持部５０Ａは、対応する比較部６２Ａに保持した情報を出力し、各比較部６２Ａは、対応する保持部５０Ａから受ける情報に基づいて、対応する判定部６４Ａにトリガ信号ＴＲＧおよびエラー信号ＥＲＲＢ、ＥＲＲＡを出力する。各判定部６４Ａは、対応する比較部６２Ａからのトリガ信号ＴＲＧおよびエラー信号ＥＲＲＢ、ＥＲＲＡに基づいて、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれか１つを出力する。監視回路４０Ｃの例は、図１２に示す。
【００９３】
保持回路ＨＬＤは、各判定部６４Ａからエラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲを受け、エラーが発生したメモリブロックＭＢを示す情報を含むエラーブロック情報ＥＢＩＮＦを保持する。なお、保持回路ＨＬＤは、各判定部６４Ａからエラーが発生したメモリブロックＭＢを示す情報を含むエラーブロック情報ＥＢＩＮＦを受けてもよい。
【００９４】
コントローラ３０Ａは、図２と同様に、割り込み要求ＩＲＱ０−ＩＲＱ３のいずれかを受けた場合に、読み出し要求ＲＲＱを監視回路４０Ｃに出力する。監視回路４０Ｃの保持回路ＨＬＤは、読み出し要求ＲＲＱに応答してエラーブロック情報ＥＢＩＮＦをコントローラ３０Ａに出力する。コントローラ３０Ａは、発生した割り込み要求ＩＲＱ（ＩＲＱ０−ＩＲＱ３のいずれか）に基づいて、エラーの発生要因を認識し、エラーブロック情報ＥＢＩＮＦに基づいて、エラーが発生したメモリブロックＭＢを認識する。そして、半導体装置ＳＤ５は、図２から図８に示した実施形態と同様に動作する。
【００９５】
図１２は、図１１に示した監視回路４０Ｃの例を示す。選択部７０Ｃは、アドレス信号ＡＤが示すメモリブロックＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４に対応する保持部５０Ａ（５０Ａ１、５０Ａ２、５０Ａ３、５０Ａ４のいずれか１つ）にエラー信号ＥＲ、ビット信号ＢＮおよびアドレス信号ＡＤを出力する。各保持部５０Ａ１、５０Ａ２、５０Ａ３、５０Ａ４は、図３に示した保持部５０Ａと同一または同様である。比較部６２Ａ１、６２Ａ２、６２Ａ３、６２Ａ４は図３に示した比較部６２Ａと同一または同様である。判定部６４Ａ１、６４Ａ２、６４Ａ３、６４Ａ４は、図４に示した判定部６４Ａと同一または同様である。
【００９６】
オア回路ＯＲ２は、判定部６４Ａ１、６４Ａ２、６４Ａ３、６４Ａ４からそれぞれ出力されるエラー信号ＲＤＥＲＲ（ＲＤＥＲＲ１、ＲＤＥＲＲ２、ＲＤＥＲＲ３、ＲＤＥＲＲ４）を、エラー信号ＲＤＥＲＲとして出力する。オア回路ＯＲ２は、判定部６４Ａ１、６４Ａ２、６４Ａ３、６４Ａ４からそれぞれ出力されるエラー信号ＡＤＥＲＲ（ＡＤＥＲＲ１、ＡＤＥＲＲ２、ＡＤＥＲＲ３、ＡＤＥＲＲ４）を、エラー信号ＡＤＥＲＲとして出力する。オア回路ＯＲ２は、判定部６４Ａ１、６４Ａ２、６４Ａ３、６４Ａ４からそれぞれ出力されるエラー信号ＢＬＥＲＲ（ＢＬＥＲＲ１、ＢＬＥＲＲ２、ＢＬＥＲＲ３、ＢＬＥＲＲ４）を、エラー信号ＢＬＥＲＲとして出力する。オア回路ＯＲ２は、判定部６４Ａ１、６４Ａ２、６４Ａ３、６４Ａ４からそれぞれ出力されるエラー信号ＳＢＥＲＲ（ＳＢＥＲＲ１、ＳＢＥＲＲ２、ＳＢＥＲＲ３、ＳＢＥＲＲ４）を、エラー信号ＳＢＥＲＲとして出力する。すなわち、監視回路４０Ｃは、メモリブロックＭＢ１−ＭＢ４毎にエラーを検出し、エラーの内容を示す情報（エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲ）を図１に示したコントローラ３０Ａに出力する。
【００９７】
以上、図１１および図１２に示した実施形態においても、図１から図８に示した実施形態と同様に、保持部５０Ａに蓄積されたメモリセルの位置情報に応じて、複数のエラーモードの１つを検出することができる。検出したエラーモードに応じて、メモリ１０Ａに対する処置を決定することで、メモリ１０Ａを含む半導体装置ＳＤ４を搭載するシステムの信頼性を向上することができる。
【００９８】
さらに、図１１および図１２に示した実施形態では、メモリ１０Ｃが複数のメモリブロックＭＢを有する場合に、メモリブロックＭＢ毎にエラーモードを判定することができる。そして、コントローラ３０Ａは、エラーが発生したメモリブロックＭＢのアクセスを禁止することで、半導体装置ＳＤ５が搭載されるシステムの信頼性を向上することができる。あるいは、コントローラ３０Ａは、エラーが発生したメモリブロックＭＢを予備のメモリブロックＭＢに置き換えることで、半導体装置ＳＤ５が搭載されるシステムの信頼性を向上することができる。
【００９９】
なお、図９に示した監視回路４０Ｂのオア回路ＯＲ１が、図１１に示した監視回路４０Ｃのオア回路ＯＲ２の出力に接続されてもよい。この場合、保持回路ＨＬＤは、メモリブロックＭＢ毎に、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲのいずれが出力されたかを示すエラー情報ＥＩＮＦを保持し、エラーブロック情報ＥＢＩＮＦとともにコントローラ３０Ａに出力する。これにより、メモリ１０Ｃのエラーの検出に使用する割り込み要求ＩＲＱの数を、図２に比べて減らすことができ、コントローラ３０Ａを図２に比べて効率的に動作させることができる。
【０１００】
また、図１０と同様に、エラー信号ＲＤＥＲＲ、ＡＤＥＲＲ、ＢＬＥＲＲ、ＳＢＥＲＲを出力する外部端子Ｔ１、Ｔ２、Ｔ３、Ｔ４が半導体装置ＳＤ５に設けられてもよい。
【０１０１】
なお、図２から図１２に示した実施形態では、エラー訂正部２０Ａがデータ信号ＤＴＭの１ビットのエラーを訂正する機能を有する例を示したが、エラー訂正部２０Ａは、２ビット以上のエラーを訂正する機能を有してもよい。この場合、エラー訂正部２０Ａは、エラーを訂正した各ビットに対応して、エラー信号ＥＲおよびビット信号ＢＮを保持部５０Ａに出力する。また、保持部５０ＡのシフトレジスタＳＦＴＲ３は、各エラー信号ＥＲに同期してアドレス信号ＡＤを受信する。
【０１０２】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１０３】
１０、１０Ａ、１０Ｃ…メモリ；２０、２０Ａ…エラー訂正部；３０、３０Ａ…コントローラ；４０、４０Ａ、４０Ｂ、４０Ｃ…監視回路；５０、５０Ａ…保持部；６０…検出部；６２Ａ…比較部；６４Ａ、６４Ｂ…判定部；７０Ｃ…選択部；ＡＣＭＰ…比較器；ＡＤ…アドレス信号；ＡＤＥＲＲ…エラー信号；ＢＣＭＰ…比較器；ＢＬＥＲＲ…エラー信号；ＢＮ…ビット信号；ＤＥＣ…デコード回路；ＤＴＣ…データ信号；ＤＴＭ…データ信号；ＥＲ…エラー信号；ＥＲＲＡ…エラー信号；ＥＲＲＢ…エラー信号；ＨＬＤ…保持回路；ＩＲＱ…割り込み端子；Ｏ１…出力端子；ＯＲ２…オア回路；Ｒ１…第１領域；ＲＤＥＲＲ…エラー信号；ＳＢＥＲＲ…エラー信号；ＳＤ１、ＳＤ２、ＳＤ３、ＳＤ４、ＳＤ５…半導体装置；ＳＦＴＲ１、ＳＦＴＲ２、ＳＦＴＲ３…シフトレジスタ；ＳＴ１、ＳＴ２、ＳＴ３、ＳＴ４…記憶段；Ｔ１、Ｔ２、Ｔ３、Ｔ４…外部端子；ＴＲＧ…トリガ信号
【図１】
2015011385.tif 000003
【図２】
2015011385.tif 000004
【図３】
2015011385.tif 000005
【図４】
2015011385.tif 000006
【図５】
2015011385.tif 000007
【図６】
2015011385.tif 000008
【図７】
2015011385.tif 000009
【図８】
2015011385.tif 000010
【図９】
2015011385.tif 000011
【図１０】
2015011385.tif 000012
【図１１】
2015011385.tif 000013
【図１２】
2015011385.tif 000014