(57)【要約】【課題】  異常動作に至る前にメモリの信頼性が低下していることを検知して外部に通知する記憶装置を提供する。【解決手段】  誤り訂正回路１２は、フラッシュメモリ１１からデータの読出し時に誤りの訂正を行い、誤り訂正が発生した場合にトグル出力回路１５に出力信号を出力する。トグル出力回路１５は、フラッシュメモリ１１の読み出しアドレスを指定するアドレスレジスタ１３の内容をラッチするラッチ信号をアドレスラッチ回路１４ａとアドレスラッチ回路１４ｂとに交互に出力する。アドレスラッチ回路１４ａ、１４ｂは、アドレスレジスタ１３の内容を保持する。比較回路１６は、アドレスラッチ回路１４ａとアドレスラッチ回路１４ｂとの内容を比較し、不一致となったことを検知した場合にカウントパルスをカウンタ１７に出力する。カウンタ１７が計数する値が所定の値になった場合に、割込信号２０を出力して、外部に通知する。【選択図】  図１
2006059002.tif 000002
【特許請求の範囲】
【請求項１】
データの読出し時に誤りの訂正を行う誤り訂正回路を含むメモリと、
前記メモリの読み出しアドレスを指定するアドレスレジスタと、
前記メモリの読出し時に前記誤り訂正回路による誤り訂正が異なる複数のアドレスで発生したことを検出する検出回路と、
前記検出回路で検出された前記誤り訂正の発生回数を計数する計数回路と、
を備えることを特徴とする記憶装置。
【請求項２】
前記検出回路は、誤り訂正回路からの出力毎に信号反転するトグル回路と、前記トグル回路が出力するトグル信号で交互に前記アドレスレジスタの出力信号をラッチする２個のアドレスラッチ回路と、前記２個のアドレスラッチ回路の内容を比較して一致しない場合にカウントパルスを出力する比較回路と、を備え、
前記計数回路は、前記比較回路から出力されるカウントパルスをカウントする回路であることを特徴とする請求項１記載の記憶装置。
【請求項３】
前記比較回路は、前記アドレスラッチ回路が出力するアドレス中の上位から所定数のアドレス信号を比較する回路で構成されることを特徴とする請求項２記載の記憶装置。
【請求項４】
前記アドレスラッチ回路は、前記アドレスレジスタが出力するアドレス中の上位から前記所定数のアドレス信号をラッチする回路で構成されることを特徴とする請求項３記載の記憶装置。
【請求項５】
前記計数回路が計数する前記発生回数が所定の値になった場合に、外部へ通知信号を出力する手段を有することを特徴とする請求項１記載の記憶装置。
【請求項６】
前記外部への通知信号は、ＣＰＵへの割込み信号であることを特徴とする請求項５記載の記憶装置。
【請求項７】
前記メモリは、不揮発性メモリであることを特徴とする請求項１記載の記憶装置。
【請求項８】
前記不揮発性メモリは、フラッシュメモリであることを特徴とする請求項７記載の記憶装置。
【請求項９】
前記メモリは、ＲＡＭであることを特徴とする請求項１記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に関し、特に誤り訂正回路を有する記憶装置に関する。
【背景技術】
【０００２】
マイクロコントローラ（以下、ＭＣＵと呼ぶ）或いはマイクロコンピュータにおいて、フラッシュメモリなどの不揮発性メモリを搭載したＭＣＵは、電源をオフにしてもその内容を保持し、さらに、必要に応じてプログラムやデータを書換えることができることから、民生機器から産業機器にわたり様々な応用機器の制御において使用されている。一方、これらの応用機器における高機能化、高性能化、制御内容の複雑化に伴い、例えばフラッシュメモリをプログラムメモリとして搭載したＭＣＵでは、年々メモリ容量が増大している。そうした中で、フラッシュメモリ内の１ビットセルの欠陥等によりメモリの内容が正常に読み出せない場合にはシステムの異常動作の原因となる。メモリ容量が大容量になるに従い、異常動作となる可能性が高まり、特に信頼性を必要とする制御機器等において異常動作によっては、重大な問題を引き起こしかねない。このような異常セルがあった場合に、誤りを訂正して正常動作させる方法として、誤り訂正回路を内蔵する技術がある。
【０００３】
図４は、誤り訂正回路を有する記憶装置の例を示すブロック図である。図４において、アドレスレジスタ１０３は、フラッシュメモリ１０１の読出しアドレスを指定し、指定したアドレスに対応するデータがフラッシュメモリ１０１から読み出される。読み出されたデータに誤りがある場合には、誤り訂正回路１０２により誤り訂正がなされ、誤りのない読出しデータ信号として出力される。
【０００４】
ところで、誤り訂正が多発する場合にはメモリの信頼性が低下して代替を必要としていると判断し、判断結果に応じた処理を行うようなシステムが知られている。例えば、特許文献１には、半導体記憶装置のデータ誤りの発生において、突発的なものか、劣化により繰り返し起こるものかを判断して、最適な処理を行い、データの安全性を高め、不揮発性半導体記憶装置の寿命を延ばす技術が記載されている。この装置は、データのアクセス単位であるブロック毎に、記憶媒体からデータを再生する際に、エラーが検出された場合には、エラー訂正を行うと共に、エラー訂正を行った回数を領域毎に記録しておく。エラー訂正を行った回数が規定値に達した場合には、代替え領域を割り当てて、訂正したデータを移し、元の領域は使用不可能とするものである。
【０００５】
また、特許文献２には、１ビットエラーが多発する記憶素子を判定することができ、その記憶素子の交換時期を知ることができる情報処理装置が記載されている。この装置は、１ビットエラーの発生アドレスとシンドロームを複数個のバッファからなるエラーバッファに順次格納し、必要に応じてエラーバッファよりエラーアドレスと、シンドロームから計算される１ビットエラーのデータ位置を複数個読み出すことができるように構成するものである。
【０００６】
さらに、関連する技術として特許文献３には、α線によるビット反転に起因した１ビット反転エラーのソフト報告の頻発を防止する１ビット反転エラーの処理方式が記載されている。この方式において、１ビット反転エラーの発生アドレスが前回のエラー発生アドレスと一致した時にカウンタをカウントアップし、カウンタの値が所定値に達した時に上位装置にエラー報告をするようにしている。また、両者のアドレスが不一致の時には、カウンタをクリアして上位装置にエラー報告をするようにしている。
【０００７】
【特許文献１】国際公開ＷＯ０１／０２２２３２号パンフレット  （図１）
【特許文献２】特開平１−１１６７４６号公報  （図１）
【特許文献３】特開平１−１３３１６３号公報  （図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の誤り訂正回路付き不揮発性メモリを搭載したマイクロコントローラは、誤りが発生した時点で誤り訂正を行って読み出すことにより正常動作を行うことができる。一方、多岐にわたるアドレスで誤り訂正が発生した場合には、例え正常動作をすることはできても、メモリ全体の信頼性が低下しつつあり、そのまま動作し続けた場合に誤り訂正を行うことができなくなって突然異常となる可能性がある。特に、高信頼性を要求される産業用制御機器や自動車制御機器などの場合、このような異常となることを事前に検出して異常を未然に防ぐことが非常に重要である。
【０００９】
従来知られている誤り訂正回路を有する記憶装置では、誤り訂正が多発する場合にメモリの信頼性が低下していると判断している。しかしながら、メモリの種別によっては、多岐にわたるアドレスで誤り訂正が発生した場合にメモリ全体の信頼性が低下しつつあると判断することが好ましい場合があるが、従来の装置では多岐にわたるアドレスでの誤り訂正についてはほとんど触れられていない。特に、異なる複数領域にわたって誤り訂正がなされるような状態ではメモリの信頼性に問題があるとして、これを検出し、外部に通知する装置は開示されていない。
【００１０】
したがって、本発明の目的は、誤り訂正回路を有するメモリを有する記憶装置において、メモリ種別に対応する信頼性の低下を検知して外部に通知する記憶装置を提供することにある。
【課題を解決するための手段】
【００１１】
前記目的を達成する本発明の一つのアスペクトに係る記憶装置は、データの読出し時に誤りの訂正を行う誤り訂正回路を含むメモリと、メモリの読み出しアドレスを指定するアドレスレジスタと、を備える。また、メモリの読出し時に誤り訂正回路による誤り訂正が異なる複数のアドレスで発生したことを検出する検出回路と、検出回路で検出された誤り訂正の発生回数を計数する計数回路と、を備える。
【００１２】
第１の展開形態の記憶装置において、検出回路は、誤り訂正回路からの出力毎に信号反転するトグル回路と、トグル回路が出力するトグル信号で交互にアドレスレジスタの出力信号をラッチする２個のアドレスラッチ回路と、２個のアドレスラッチ回路の内容を比較して一致しない場合にカウントパルスを出力する比較回路と、を備え、計数回路は、比較回路から出力されるカウントパルスをカウントする回路であってもよい。
【００１３】
第２の展開形態の記憶装置において、比較回路は、アドレスラッチ回路が出力するアドレス中の上位から所定数のアドレス信号を比較する回路で構成されてもよい。
【００１４】
第３の展開形態の記憶装置において、アドレスラッチ回路は、アドレスレジスタが出力するアドレス中の上位から所定数のアドレス信号をラッチする回路で構成されてもよい。
【００１５】
第４の展開形態の記憶装置において、計数回路が計数する発生回数が所定の値になった場合に、外部へ通知信号を出力する手段を有してもよい。
【００１６】
第５の展開形態の記憶装置において、外部への通知信号は、ＣＰＵへの割込み信号であってもよい。
【００１７】
第６の展開形態の記憶装置において、メモリは、不揮発性メモリであってもよい。
【００１８】
第７の展開形態の記憶装置において、不揮発性メモリは、フラッシュメモリであってもよい。
【００１９】
第８の展開形態の記憶装置において、メモリは、ＲＡＭであってもよい。
【発明の効果】
【００２０】
本発明によれば、誤り訂正が複数アドレスにわたって発生した場合にこれを検出し、特に多岐にわたるアドレスで誤り訂正が発生した場合にメモリの信頼性が低下しているものとして外部に通知することができる。したがって、メモリ種別に応じた信頼性の低下を検知して異常動作に至る前に適切な処理をとることが可能となる。
【発明を実施するための最良の形態】
【００２１】
本発明の実施形態に係る記憶装置は、フラッシュメモリ（図１の１１）と、フラッシュメモリ（図１の１１）からデータの読出し時に誤りの訂正を行う誤り訂正回路（図１の１２）と、フラッシュメモリ（図１の１１）の読み出しアドレスを指定するアドレスレジスタ（図１の１３）と、フラッシュメモリ（図１の１１）の読出し時に誤り訂正回路（図１の１２）による誤り訂正が異なる複数のアドレスで発生したことを検出する検出回路と、検出回路で検出された誤り訂正の発生回数を計数するカウンタ（図１の１７）と、を備える。カウンタが計数する誤り訂正の発生回数が所定の値になった場合に、割込み信号（図１の２０）を出力して、外部に通知する。通知により、記憶装置の信頼性に問題が生じていると判断して、フラッシュメモリ（図１の１１）の交換等を行うことで、システムの不具合動作を未然に防止することができる。
【実施例１】
【００２２】
次に、実施例に基づき記憶装置について詳しく説明する。図１は、本発明の第１の実施例に係る記憶装置の構成を示すブロック図である。図１において、記憶装置は、フラッシュメモリ１１と、誤り訂正回路（ＥＣＣ回路）１２と、アドレスレジスタ１３と、アドレスラッチ回路１４ａ、１４ｂと、トグル出力回路１５と、比較回路１６と、カウンタ１７とを備える。
【００２３】
フラッシュメモリ１１は、不揮発性のメモリである。なお、ここでメモリは、フラッシュメモリに限定されるものではなく、一般のＲＯＭ、ＲＡＭ等を適用してもよい。アドレスレジスタ１３は、フラッシュメモリ１１の読出しアドレスを指定し、指定したアドレスに対応するデータがフラッシュメモリ１１から読み出される。読み出されたデータに誤りがある場合には、誤り訂正回路１２により誤り訂正がなされ、読出データ信号線２１に読出しデータ信号が出力される。
【００２４】
また、誤り訂正回路１２は、誤り訂正が発生した場合にトグル出力回路１５に出力信号を出力する。トグル出力回路１５は、アドレスレジスタ１３の内容をラッチするラッチ信号をアドレスラッチ回路１４ａとアドレスラッチ回路１４ｂとに交互に出力する。アドレスラッチ回路１４ａ、１４ｂは、トグル出力回路１５が出力するラッチ信号によってアドレスレジスタ１３の内容を保持する。比較回路１６は、アドレスラッチ回路１４ａとアドレスラッチ回路１４ｂとの内容を比較し、比較の結果、不一致となったことを検知した場合にカウントパルスをカウンタ１７に出力する。この一連の動作により、カウンタ１７は、前回の誤り訂正と異なるアドレスでの誤り訂正が発生した回数を計数することができる。また、カウンタ１７は、カウントパルスを計数し、計数値が所定の値になった場合には割込信号を割込信号線２０に出力すると共に、カウンタ１７の内容をデータバス１８に出力する。なお、誤り訂正発生する毎に２つのアドレスラッチに交互にアドレスをラッチしているのは、一つのアドレスで１ビット訂正が発生した場合、同一アドレスで毎回誤り訂正する毎にカウントアップされると、異なるアドレスでの訂正の発生回数が正しく検出できないためである。
【００２５】
不図示のＣＰＵ等は、割込信号線２０上の割込信号を検知し、カウンタ１７の内容を表すデータバス１８上のデータを読み取ることで、フラッシュメモリ１１の信頼性が低下しているものとして判断し、外部に通知する。この通知に基づき、例えば保守者がフラッシュメモリ１１を交換する等、異常動作に至る前に適切な処理をすることができる。
【００２６】
以上の説明では、カウンタ１７がカウントパルスをカウントアップする構成を示したが、比較回路１６の出力にもとづきカウントダウンするようにしても良い。また、カウンタ１７のカウント値を比較するための比較値設定レジスタと比較回路とを追加して、比較値設定レジスタの内容を所望の値にデータバス１８を介して設定し、所定のカウント数に達したことを検出させるようにしてもよい。また、割込信号をＣＰＵに出力せずに直接外部端子に出力するようにしてもよい。
【００２７】
高信頼性を要求されるアプリケーション向けのＦｌａｓｈ内蔵マイコン等では誤り訂正回路を内蔵することにより、一アドレスのなかで１ビットの読み出し誤りがあっても訂正可能にして信頼性を確保している。このようなアプリケーションで長期にわたりマイコンが動作している間に、誤り訂正回路によって訂正されるアドレス数が増加した場合、これを検出する。異なるアドレスにおいて、ある一定数以上の訂正がなされた場合には、信頼性に問題が生じていると判断して、外部に通知する。これによりシステムの不具合動作を未然に防止することが可能となる。
【００２８】
図２は、本発明の第１の実施例に係る記憶装置の構成の主要部を示すブロック図であり、アドレスレジスタ１３がｂｉｔ０（ｂ０）からｂｉｔ３１（ｂ３１）の３２ビットで構成され、対応するアドレスラッチ回路１４ａとアドレスラッチ回路１４ｂとも、それぞれ３２ビットで構成される例を示すものである。比較回路１６は、アドレスラッチ回路１４ａとアドレスラッチ回路１４ｂとが出力する３２ビットのデータを比較する。
【実施例２】
【００２９】
図３は、本発明の第２の実施例に係る記憶装置の構成の主要部を示すブロック図である。図３に示す各部は、図２と同じに構成されるが、アドレスラッチ回路１４ｃ、１４ｄの構成を３２ビット全ビットではなく、一部のビット（図３の例では、ｂ８〜ｂ３１の２４ビット）とし、比較回路１６ａも対応するビットだけを比較する構成としている。このような構成によりアドレスレジスタ１３の下位８ビットを比較しないため、比較回路１６ａは、２５６バイトのブロック単位での誤り訂正の発生有無を検出することになる。
【００３０】
第２の実施例に係る記憶装置は、第１の実施例に対して、比較回路１６ａが同じ幅のアドレスを比較する場合、より広いアドレス範囲を単位とする誤り訂正発生回数を検出することが可能となる。また、異なる複数領域（ブロック）にわたって誤り訂正がなされるような状態では記憶装置の信頼性に問題があるとして事前検出することができる。
【００３１】
さらに、比較対象となる領域（ブロック）の大きさを変えることで、すなわち、比較回路１６ａが比較対象とするアドレスの幅を変えることで、記憶装置内のメモリの特性に合せたチェックを行うことが可能となる。例えば、図３に示すように２５６バイトのブロック単位での誤り訂正を検知し、異なるブロックで誤り訂正が多発する場合には、記憶装置内のメモリの信頼性が低下していると判断することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の第１の実施例に係る記憶装置の構成を示すブロック図である。
【図２】本発明の第１の実施例に係る記憶装置の構成の主要部を示すブロック図である。
【図３】本発明の第２の実施例に係る記憶装置の構成の主要部を示すブロック図である。
【図４】従来の誤り訂正回路を有する記憶装置の例を示すブロック図である。
【符号の説明】
【００３３】
１１  フラッシュメモリ
１２  誤り訂正回路
１３  アドレスレジスタ
１４ａ、１４ｂ、１４ｃ、１４ｄ  アドレスラッチ回路
１５  トグル出力回路
１６、１６ａ  比較回路
１７  カウンタ
１８  データバス
２０  割込信号線
２１  読出データ信号線
【図１】
2006059002.tif 000003
【図２】
2006059002.tif 000004
【図３】
2006059002.tif 000005
【図４】
2006059002.tif 000006