(57)【要約】【課題】本発明は、メモリアクセス制御方法及び回路、並びに情報処理装置に関し、メモリの寿命が近い状態を事前に検知可能とすることを目的とする。【解決手段】メモリ内のデータのエラーを訂正して得られた訂正データとそのアドレスを保持するエラー訂正レジスタ群の空き容量を示す情報を検出し、この情報に基づいて警告を出力する出力ように構成する。【選択図】図１
2008225835.tif 000002
【特許請求の範囲】
【請求項１】
メモリ内のデータのエラーを訂正して得られた訂正データ及びそのエラーのアドレスを保持するエラー訂正レジスタ群の空き容量を示す情報を検出する検出工程と、
該情報に基づいて警告を出力する警告出力工程と
を含むことを特徴とするメモリアクセス制御方法。
【請求項２】
メモリ内のデータのエラーを訂正して得られた訂正データ及びそのエラーのアドレスを保持するエラー訂正レジスタ群と、
該メモリ及び該エラー訂正レジスタ群へのアクセスを制御すると共に、該エラー訂正レジスタ群の空き容量を示す情報を検出するアクセス制御回路と、
該情報に基づいて警告を出力する警告出力回路と
を備えたことを特徴とするメモリアクセス制御回路。
【請求項３】
該警告出力回路は、該情報に応じて複数のレベルの警告を出力することを特徴とする請求項２記載のメモリアクセス制御回路。
【請求項４】
メモリと、
該メモリ内のデータのエラーを訂正して訂正データを生成するエラー訂正回路と、
該訂正データと該エラーのアドレスを保持するエラー訂正レジスタ群と、
該エラー訂正回路による該エラーの訂正と該訂正データ及び該アドレスの該エラー訂正レジスタ群への設定を制御するＣＰＵと、
該メモリ及び該エラー訂正レジスタ群へのアクセスを制御すると共に、該エラー訂正レジスタ群の空き容量を示す情報を検出するアクセス制御回路と、
該情報に基づいて警告を出力する警告出力回路と
を備えたことを特徴とする情報処理装置。
【請求項５】
該メモリはＮＯＲ型フラッシュメモリであることを特徴とする請求項４記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセス制御方法及び回路、並びに情報処理装置に関し、特にメモリアクセス制御方法及び回路、並びに情報処理装置に関する。
【背景技術】
【０００２】
フラッシュメモリにはＮＡＮＤ型フラッシュメモリとＮＯＲ型フラッシュメモリがある。ＮＡＮＤ型フラッシュメモリにはエラー訂正機能が備えられており、データの書き込みを高速に行うことができるが、１バイト単位のアクセスはできない。これに対し、ＮＯＲ型フラッシュメモリは１バイト単位のアクセスを行うことができるが、データの書き込みはＮＡＮＤ型フラッシュメモリ程高速ではない。
【０００３】
ＮＯＲ型フラッシュメモリには、一般的にはエラー訂正機能が備えられていない。しかし、例えばワンチップフラッシュ内蔵マイクロコンピュータ内に設けられたＮＯＲ型フラッシュメモリの後発エラーをゼロにすることは非常に難しいため、ＮＯＲ型フラッシュメモリにもエラー訂正機能を設けることが考えられる。このようなエラー訂正機能をＮＯＲ型フラッシュメモリに設けた場合、エラー訂正自体はマイクロコンピュータ内のハードウェアで自動的に行われるため、マイクロコンピュータのファームウエアではエラー訂正が行われているか否かを検知することはできない。
【０００４】
データ領域に対する書き換え回数とエラー検査情報を保持するメモリシステムは、例えば特許文献１にて提案されている。又、エラー訂正回数を記憶する記憶装置は、例えば特許文献２にて提案されている。
【特許文献１】特開２００４−２４０７９３号公報
【特許文献２】国際公開ＷＯ０１／２２２３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ＮＯＲ型フラッシュメモリ等にエラー訂正機能を設けた場合、エラーが発生したアドレス及び訂正済みのデータを保持するためのメモリやレジスタの記憶容量は有限であるため、多数のエラーが発生して、エラーが発生したアドレス及び訂正済みのデータを保持するのに必要な容量が上記記憶容量を超えてしまうと、エラーを訂正することができなくなってしまう。エラーを訂正することができなくなってしまうと、データを正しく書き込み正しく読み出すというメモリとしての本来の機能を失ってしまうので、本明細書ではエラーの訂正を行えないメモリの状態を「メモリの寿命」と言うものとする。
【０００６】
又、特にメモリがワンチップマイクロコンピュータ等の組み込み機器に内蔵されている場合、メモリのエラーを訂正することができなくなると、組み込み機器自体も動作できなくなってしまう。つまり、メモリの寿命が来ると、組み込み機器内のメモリ以外の回路等は正常に動作可能であっても組み込み機器の寿命が来てしまう。
【０００７】
このように、従来のＮＯＲ型メモリ等に単にエラー訂正機能を設けても、既に多数のエラーが発生しておりメモリの寿命が近い状態にあっても、この状態を事前に検知することはできないという問題があった。
【０００８】
そこで、本発明は、メモリの寿命が近い状態を事前に検知可能なメモリアクセス制御方法及び回路、並びに情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題は、メモリ内のデータのエラーを訂正して得られた訂正データ及びそのエラーのアドレスを保持するエラー訂正レジスタ群の空き容量を示す情報を検出する検出工程と、該情報に基づいて警告を出力する警告出力工程とを含むことを特徴とするメモリアクセス制御方法により達成できる。
【００１０】
上記の課題は、メモリ内のデータのエラーを訂正して得られた訂正データ及びそのエラーのアドレスを保持するエラー訂正レジスタ群と、該メモリ及び該エラー訂正レジスタ群へのアクセスを制御すると共に、該エラー訂正レジスタ群の空き容量を示す情報を検出するアクセス制御回路と、該情報に基づいて警告を出力する警告出力回路とを備えたことを特徴とするメモリアクセス制御回路により達成できる。
【００１１】
上記の課題は、メモリと、該メモリ内のデータのエラーを訂正して訂正データを生成するエラー訂正回路と、該訂正データ及び該エラーのアドレスを保持するエラー訂正レジスタ群と、該エラー訂正回路による該エラーの訂正と該訂正データ及び該アドレスの該エラー訂正レジスタ群への設定を制御するＣＰＵと、該メモリ及び該エラー訂正レジスタ群へのアクセスを制御すると共に、該エラー訂正レジスタ群の空き容量を示す情報を検出するアクセス制御回路と、該情報に基づいて警告を出力する警告出力回路とを備えたことを特徴とする情報処理装置により達成できる。
【発明の効果】
【００１２】
本発明によれば、メモリの寿命が近い状態を事前に検知可能なメモリアクセス制御方法及び回路、並びに情報処理装置を実現することができる。
【発明を実施するための最良の形態】
【００１３】
本発明では、メモリ内のデータのエラーを訂正して得られた訂正データ及びそのエラーのアドレスを保持するエラー訂正レジスタ群の空き容量を示す情報を検出する。又、検出された情報に基づいて、警告を出力する。従って、メモリの寿命が近い状態を事前に検知して警告を出力することができる。
【００１４】
以下に、本発明のメモリアクセス制御方法及び回路、並びに情報処理装置の各実施例を図面と共に説明する。
【実施例】
【００１５】
図１は、本発明の一実施例の構成を示すブロック図である。本実施例では、本発明がＮＯＲ型フラッシュメモリに適用されており、情報処理装置はワンチップフラッシュ内蔵マイクロコンピュータであるが、本発明は各種組み込み機器へも適用可能である。
【００１６】
ワンチップフラッシュ内蔵マイクロコンピュータ１は、図１に示す如く接続されたＣＰＵ１１、エラー訂正回路１２、警告出力回路１３、ＲＡＭ１４、アクセス制御回路１５、ＮＯＲ型フラッシュメモリ１６、アドレス比較回路１７、エラー訂正レジスタ群１８及びバス１９を有する。エラー訂正レジスタ群１８は、有効レジスタ２１、アドレス設定レジスタ２２−１〜２２−ｎ及びデータ設定レジスタ２３−１〜２３−ｎ（ｎは２以上の整数）を有する。メモリアクセス制御回路は、少なくともアクセス制御回路１５、アドレス比較回路１７及びエラー訂正レジスタ群１８を有する。つまり、フラッシュメモリ１６は、メモリアクセス制御回路に対して外付けされる構成であっても良い。尚、図１では、アドレスデコーダ等の図示は省略する。
【００１７】
ＣＰＵ１１は、マイクロコンピュータ１の全体の動作を制御する。エラー訂正回路１２は、任意のエラー訂正アルゴリズムに従ってフラッシュメモリ１６内で発生したデータのエラーを訂正する演算を行う周知の構成を有し、エラーを訂正するとその旨をＣＰＵ１１へ通知する。本実施例では、エラー訂正回路１２によるエラー訂正は、２ビットのエラーが同時に発生しないことを前提としている。警告出力回路１３は、後述するアクセス制御回路１５から警告の出力要求、或いは、警告出力信号が供給されると警告信号を出力する。警告出力回路１３は、マイクロコンピュータ１外部のＬＥＤ等の点灯、マイクロコンピュータ１外部のディスプレイ上の警告メッセージの表示、マイクロコンピュータ１外部のスピーカからの警告音又は音声警告メッセージの出力、上位装置への通知等に適した警告信号を出力する。ＲＡＭ１４は、ＣＰＵ１１が実行する演算の中間結果等の各種データを格納するために設けられている。
【００１８】
アクセス制御回路１５は、フラッシュメモリ１６及びエラー訂正レジスタ群１８へのアクセスを制御すると共に、エラー訂正レジスタ群１８の空き容量を示す情報を検出する。ここで、エラー訂正レジスタ群１８の空き容量を示す情報とは、未使用領域の容量を示して空き容量を直接示す情報であっても、使用済み領域の容量を示して空き容量を間接的に示す情報であっても良い。
【００１９】
エラー訂正レジスタ群１８内の各アドレス設定レジスタは、フラッシュメモリ１６内でデータのエラーが発生したアドレスを保持する。又、エラー訂正レジスタ群１８内の各データ設定レジスタは、フラッシュメモリ１６内で発生したデータのエラーを訂正回路１２により訂正して得られた訂正データを保持する。エラー訂正レジスタ群１８内の有効レジスタ２１は、保持内容が有効であるアドレス設定レジスタ及びデータ設定レジスタを示す。例えば、有効レジスタ２１は２ｎビットからなり、各ビットで対応するアドレス設定レジスタ又はデータ設定レジスタの保持内容が有効であるか否かを示す。
【００２０】
フラッシュメモリ１６内で発生したデータのエラーは、周知のエラー検出アルゴリズムで検出されてＣＰＵ１１へ通知される。データのエラーは、例えばエラー訂正回路１２内で検出しても良い。ＣＰＵ１１は、エラー訂正回路１２によりデータのエラーが訂正されると、エラー訂正レジスタ群１８内のデータ設定レジスタに訂正データを設定すると共にフラッシュメモリ１６内の後述する訂正データ退避領域に退避し、エラー訂正レジスタ群１８内のアドレス設定レジスタにデータのエラーが発生した（即ち、データのエラーが検出された）アドレスを設定し、有効レジスタ２１の対応するビットを有効に設定する。
【００２１】
アドレス比較回路１７は、アクセスアドレスとエラー訂正レジスタ群１８内のアドレス設定レジスタ２２−１〜２２−ｎに保持されたアドレスとを比較し、一致するアドレスがあるか否かを示す検出信号をアクセス制御回路１５に供給する。アクセス制御回路１５は、検出信号が一致するアドレスがないことを示す場合には、フラッシュメモリ１６のアクセスアドレスアクセスする。
【００２２】
他方、検出信号が一致するアドレスがあることを示すと、アクセス制御回路１５はエラー訂正レジスタ群１８内の有効レジスタ２１を参照し、対応するアドレス設定レジスタ又は対応するアドレス設定レジスタ及びデータ設定レジスタの保持内容が有効であるか否かを判定する。書き込みアクセスの場合、アクセス制御回路１５は、有効レジスタ２１が対応するアドレス設定レジスタの保持内容が有効であることを示していれば、バス１９を介して入力されたデータをフラッシュメモリ１６ではなくエラー訂正レジスタ群１８内の対応するデータ設定レジスタに書き込む。読み出しアクセスの場合、アクセス制御回路１５は、有効レジスタ２１が対応するアドレス設定レジスタ及びデータ設定レジスタの保持内容が有効であることを示していれば、フラッシュメモリ１６からではなくエラー訂正レジスタ群１８内の対応するデータ設定レジスタからデータを読み出してバス１９へ出力する。
【００２３】
アクセス制御回路１５は、エラー訂正レジスタ群１８の空き容量を示す情報を、有効レジスタ２１の有効ビット数、アドレスが設定されているアドレス設定レジスタの数、有効レジスタ２１の有効ビット数及びアドレスが設定されているアドレス設定レジスタの数、有効レジスタの無効ビット数、アドレスが設定されていないアドレス設定レジスタの数、有効レジスタの無効ビット数及びアドレスが設定されていないアドレス設定レジスタの数等に基づいて検出する。本実施例では、説明の便宜上、アクセス制御回路１５は、エラー訂正レジスタ群１８の空き容量を示す情報に基づいて、エラー訂正レジスタ群１８内の使用済み領域の容量又は使用率を算出し、この使用率を示す警告の出力要求、或いは、警告出力信号を警告出力回路１３に対して出力するものとする。警告出力回路１３は、アクセス制御回路１５からの警告の出力要求又は警告出力信号が示す使用率に応じたレベルの警告を出力する。つまり、警告出力回路１３は、一又は複数のレベルの警告を出力する。
【００２４】
図２は、フラッシュメモリ１６のメモリマップを示す図である。フラッシュメモリ１６は、保護領域１６１、初期行パリティ領域１６２、初期列パリティ領域１６３及び訂正データ退避領域１６４を有する。保護領域１６１は、保護するプログラムコード等が格納される領域である。初期行パリティ領域１６２は、チェックサムを付加して初期行パリティにエラーがないことをチェックするための領域である。初期列パリティ領域１６３は、チェックサムを付加して初期列パリティにエラーがないことをチェックするための領域である。保護領域１６１、初期行パリティ領域１６２及び初期列パリティ領域１６３の各サイズは、プログラムコードサイズに応じて設定可能である。訂正データ退避領域１６４は、訂正データと対応するアドレスを退避するための領域である。訂正データ退避領域１６４は、マイクロコンピュータ１が次回起動された時に訂正データを読み出してチェックサムによりエラー検出を行うことができるように設けられている。
【００２５】
図３及び図４は、実施例の動作を説明するフローチャートである。図３及び図４に示す処理は、アクセス制御方法に相当し、例えばマイクロコンピュータ１の起動時に開始される。勿論、図３及び図４に示す処理を、マイクロコンピュータ１の保守時等の任意の時点で行うようにしても良い。
【００２６】
図３において、ステップＳ１は、ＣＰＵ１１の制御下で、フラッシュメモリ１６内の訂正データ退避領域１６４に退避されている訂正データを読み込んでチェックサムにより例えばエラー訂正回路１２でエラー検出を行い、エラーが検出されないと、訂正データと対応するアドレスをエラー訂正レジスタ群１８内のデータ設定レジスタ及びアドレス設定レジスタに設定する。ステップＳ２は、ＣＰＵ１１の制御下で、フラッシュメモリ１６内の保護領域１６１に格納されたデータを読み出してエラー訂正回路１２に供給し、エラー訂正回路１２が行う演算によりによりパリティデータを生成する。ステップＳ３は、ＣＰＵ１１により、エラー訂正回路１２において生成されたパリティデータと、フラッシュメモリ１６内のパリティ領域１６２，１６３から読み出したパリティデータを比較する。ステップＳ４は、ＣＰＵ１１により、パリティデータの比較の結果エラーが検出されたか否かを判定し、判定結果がＮＯであると処理は終了する。他方、ステップＳ４の判定結果がＹＥＳであると、処理は図４に示すステップＳ５へ進む。
【００２７】
図４において、ステップＳ５は、ＣＰＵ１１の制御下で、エラー訂正回路１２によりデータのエラーを訂正して訂正データを生成する。ステップＳ６は、ＣＰＵ１１の制御下で、ステップＳ５で生成された訂正データと対応するアドレスをエラー訂正レジスタ群１８内の未使用のデータ設定レジスタ及び未使用のアドレス設定レジスタに設定する。ステップＳ７は、ＣＰＵ１１の制御下で、ステップＳ５で生成された訂正データと対応するアドレスを、フラッシュメモリ１６内の訂正データ退避領域１６４へ格納することで退避内容を更新する。
【００２８】
ステップＳ８は、ＣＰＵ１１の制御下で、エラー訂正レジスタ群１８の空き容量を示す情報に基づいて、アクセス制御回路１５によりエラー訂正レジスタ群１８の使用率を算出し、この使用率を示す警告の出力要求、或いは、警告出力信号を警告出力回路１３に対して出力する。ステップＳ９は、ＣＰＵ１１の制御下で、警告出力回路１３により、アクセス制御回路１５からの警告の出力要求又は警告出力信号が示す使用率が６５％より大きいか否かを判定し、判定結果がＮＯであると、警告出力回路１３は警告を出力することなく、処理は終了する。ステップＳ９の判定結果がＹＥＳであると、ステップＳ１０は、ＣＰＵ１１の制御下で、警告出力回路１３により、アクセス制御回路１５からの警告の出力要求又は警告出力信号が示す使用率が９０％より大きいか否かを判定する。ステップＳ１０の判定結果がＮＯであると、ステップＳ１１は、ＣＰＵ１１の制御下で、警告出力回路１３によりフラッシュメモリ１６の寿命が比較的近いことを示す「注意」レベルの警告を出力し、処理は終了する。他方、ステップＳ１０の判定結果がＹＥＳであると、ステップＳ１２は、ＣＰＵ１１の制御下で、警告出力回路１３によりフラッシュメモリ１６の寿命が非常に近いことを示す「危険」レベルの警告を出力し、処理は終了する。
【００２９】
このように、本実施例では、アクセス制御回路１５からエラー訂正レジスタ群１８を参照することで、エラー訂正レジスタ群の使用率が把握できるため、間接的にフラッシュメモリ１６の寿命が近い状態を事前に検知することができる。このため、例えば組み込み機器内のフラッシュメモリの後発エラーが発生した場合に、組み込み機器の寿命予測を行って組み込み機器の使用者又は保守者に組み込み機器が利用できなくなる前に警告することが可能となる。例えば、組み込み機器が車載機器の場合、車検等の定期的な検査があるため、その時に警告が出力されてフラッシュメモリ後発エラーの訂正が限界に近づいていることがわかれば、車載機器を交換することでフラッシュメモリの寿命による車載機器の故障の発生を抑止することができる。
【００３０】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）
メモリ内のデータのエラーを訂正して得られた訂正データ及びそのエラーのアドレスを保持するエラー訂正レジスタ群の空き容量を示す情報を検出する検出工程と、
該情報に基づいて警告を出力する警告出力工程と
を含むことを特徴とするメモリアクセス制御方法。
（付記２）
該警告出力工程は、該情報に応じて複数のレベルの警告を出力することを特徴とする付記１記載のメモリアクセス制御方法。
（付記３）
該検出工程及び該警告出力工程は、該メモリを用いる装置の起動時に行われることを特徴とする付記１又は２記載のメモリアクセス方法。
（付記４）
該メモリはＮＯＲ型フラッシュメモリであることを特徴とする付記１乃至３のいずれか１項記載のメモリアクセス制御方法。
（付記５）
メモリ内のデータのエラーを訂正して得られた訂正データ及びそのエラーのアドレスを保持するエラー訂正レジスタ群と、
該メモリ及び該エラー訂正レジスタ群へのアクセスを制御すると共に、該エラー訂正レジスタ群の空き容量を示す情報を検出するアクセス制御回路と、
該情報に基づいて警告を出力する警告出力回路と
を備えたことを特徴とするメモリアクセス制御回路。
（付記６）
該警告出力回路は、該情報に応じて複数のレベルの警告を出力することを特徴とする付記５記載のメモリアクセス制御回路。
（付記７）
該アクセス制御回路による該情報の検出及び該警告出力回路による該警告の出力は、該メモリを用いる装置の起動時に行われることを特徴とする付記５又は６記載のメモリアクセス回路。
（付記８）
メモリと、
該メモリ内のデータのエラーを訂正して訂正データを生成するエラー訂正回路と、
該訂正データと該エラーのアドレスを保持するエラー訂正レジスタ群と、
該エラー訂正回路による該エラーの訂正と該訂正データ及び該アドレスの該エラー訂正レジスタ群への設定を制御するＣＰＵと、
該メモリ及び該エラー訂正レジスタ群へのアクセスを制御すると共に、該エラー訂正レジスタ群の空き容量を示す情報を検出するアクセス制御回路と、
該情報に基づいて警告を出力する警告出力回路と
を備えたことを特徴とする情報処理装置。
（付記９）
該警告出力回路は、該情報に応じて複数のレベルの警告を出力することを特徴とする付記８記載の情報処理装置。
（付記１０）
該アクセス制御回路による該情報の検出及び該警告出力回路による該警告の出力は、該情報処理装置の起動時に行われることを特徴とする付記８又は９記載の情報処理装置。
（付記１１）
該メモリはＮＯＲ型フラッシュメモリであることを特徴とする付記８乃至１０のいずれか１項記載の情報処理装置。
（付記１２）
該情報処理装置は、ワンチップフラッシュ内蔵マイクロコンピュータであることを特徴とする付記１１記載の情報処理装置。
【００３１】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施例の構成を示すブロック図である。
【図２】フラッシュメモリのメモリマップを示す図である。
【図３】実施例の動作を説明するフローチャートである。
【図４】実施例の動作を説明するフローチャートである。
【符号の説明】
【００３３】
１      ワンチップフラッシュ内蔵マイクロコンピュータ
１１      ＣＰＵ
１２      エラー訂正回路
１３      警告出力回路
１４      ＲＡＭ
１５      アクセス制御回路
１６      フラッシュメモリ
１７      アドレス比較回路
１８      エラー訂正レジスタ群
１９      バス
【図１】
2008225835.tif 000003
【図２】
2008225835.tif 000004
【図３】
2008225835.tif 000005
【図４】
2008225835.tif 000006