(57)【要約】記憶装置構成は、書き込み可能なデータ記憶装置（１０２）、およびデータ記憶装置（１０２）から読み出されたデータワードにおけるエラーを検出（１０３）し、エラーを訂正（１０１）し、訂正されたデータワードを前記データ記憶装置（１０２）の空き領域内の新アドレスに格納する（１０１）ための手段を含んでいる。【選択図】図１
2009506445.tif 000002
【特許請求の範囲】
【請求項１】
書き込み可能なデータ記憶装置（１０２）を駆動する方法であって、
前記データ記憶装置（１０２）は、
読み出し順序に従って読み出されるデータワード（１−１６）のセットおよび冗長な情報を含んでおり、前記データ記憶装置（１０２）において、前記データワード（Ｉｎｓｔｒ１、・・・、Ｉｎｓｔｒ１１）と共に、前記データワードに割り当てられた冗長な情報が読み出され、前記冗長な情報に基づいて、前記データワードにエラーがあるかどうかが検査され、エラーがある場合に前記データワード（Ｉｎｓｔｒ７、Ｉｎｓｔｒ８）が訂正され、
前記訂正されたデータワード（Ｉｎｓｔｒ７、Ｉｎｓｔｒ８）が、前記データ記憶装置（１０２）の空き領域の新アドレス（１２、１３；８、９））に書き込まれることを特徴とする、書き込み可能なデータ記憶装置（１０２）を駆動する方法。
【請求項２】
前記データワードの読み出しのための新アドレスにアクセスするために、読み出し順序がさらに一層変更されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記訂正されたデータワード（Ｉｎｓｔｒ７、Ｉｎｓｔｒ８）と共に、少なくとも１つの、読み出し順序において前記訂正されたデータワードの前に存在するデータワード（Ｉｎｓｔｒ６）が、前記データ記憶装置（１０２）の空き領域に書き込まれ、前記少なくとも１つの前記訂正されたデータワードの前に存在するデータワード（Ｉｎｓｔｒ６）の本来の記憶位置（５）に、（前記訂正されたデータワードの前に存在するデータワードの）新しい記憶位置（１１）を示す参照符号が記録されることを特徴とする、請求項２に記載の方法。
【請求項４】
空き領域に、前記訂正されたデータワード（Ｉｎｓｔｒ８）の後ろに、前記訂正されたデータワード（Ｉｎｓｔｒ８）の本来の記憶位置（７）の後ろに存在する記憶位置（８）を示す参照符号が書き込まれることを特徴とする、請求項２または請求項３に記載の方法。
【請求項５】
データワード（Ｉｎｓｔｒ７、Ｉｎｓｔｒ８）にエラーが検出された後に、エラーが検出された前記データワード（Ｉｎｓｔｒ７、Ｉｎｓｔｒ８）のアドレスの後ろに存在するアドレスの記憶セル (８−１１)の内容が移動されることによって、空き領域が、エラーが検出された前記データワードのアドレスの後ろに存在するアドレス領域(８、９、１０)に作られることを特徴とする、請求項３に記載の方法。
【請求項６】
データワードにエラーが検出された後に、エラーが検出された前記データワードのアドレスの前に存在するアドレスの記憶セルの内容が移動されることによって、空き領域が、エラーが検出された前記データワードのアドレスの前に存在するアドレス領域に作られており、空き領域に、訂正されたデータワードに続いて、前記訂正されたデータワードの本来の記憶位置の後ろに存在する記憶位置を示す参照符号が書き込まれることを特徴とする、請求項２に記載の方法。
【請求項７】
記憶セルの内容の移動が、エラーが検出された前記データワードのアドレスからかなり離れたアドレスから、前記エラーが検出された前記データワードのアドレスに近接するアドレスへの順序で、連続して行われることを特徴とする、請求項５または請求項６に記載の方法。
【請求項８】
記憶セルの内容の移動が、本来のアドレスから新アドレスへの、データワードの複写、および複写後の、他のデータワードによる本来のアドレスの上書きを含むことを特徴とする、請求項５〜７に記載の方法。
【請求項９】
前記データワードが、プログラム命令を含んでおり、複数の前記データワードのセットにおいて、各空領域に書き込まれたデータワードを示す参照符号が調整されることを特徴とする、請求項１〜請求項９のいずれかに記載の方法。
【請求項１０】
移動されないデータワード内で、移動されたデータワードを示す絶対的なおよび相対的な参照符号が、および移動されたデータワード内で、移動されないデータワードを示す相対的な参照符号が、移動に合せて調整されることを特徴とする、請求項９および請求項５〜請求項８のいずれかに記載の方法。
【請求項１１】
エラーが検出された前記データワード（Ｉｎｓｔｒ７、Ｉｎｓｔｒ８）が、複数のエラーがある前記データワードを含むブロック（６，７）の構成要素であるか、および、全ブロック（６，７）が訂正されて空き領域に書き込まれるかどうか、が検査されることを特徴とする、請求項１〜請求項１０のいずれかに記載の方法。
【請求項１２】
書き込み可能なデータ記憶装置（１０２）を備えた記憶装置構成、および前記データ記憶装置（１０２）から読み出されたデータワードにおけるエラーを検出（１０３）し、訂正（１０１；１０３；１１１）するための手段において、
前記記憶装置構成が、訂正された前記データワードを前記データ記憶装置（１０２）の空き領域内の新アドレスに格納するための手段（１０１；１１１）を含むことを特徴とする、書き込み可能なデータ記憶装置（１０２）を備えた記憶装置構成、および前記データ記憶装置（１０２）から読み出されたデータワードにおけるエラーを検出（１０３）し、訂正（１０１；１０３；１１１）するための手段。
【請求項１３】
請求項１２に記載の記憶装置構成を備えたデータ処理システムにおいて、
前記データ処理システムが、第１および第２プロセッサ（１０１、１１１）を含んでおり、前記データ記憶装置（１０２）が、前記第１プロセッサ（１０１）によって実行されるプログラム命令を含んでおり、前記第２プロセッサ（１１１）が、訂正された前記データワードを新アドレスにおいて格納するための手段を形成することを特徴とする、請求項１２に記載の記憶装置構成を備えたデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き込み可能なデータ記憶装置およびデータ記憶装置から読み出されたデータワードのエラーを検出し、訂正するための手段を備えた記憶装置構成、および記憶装置構成を駆動する方法に関する。
【背景技術】
【０００２】
書き込み可能なデータ記憶装置において、格納されているデータワードの１つまたは複数のビットが自発的に独自の価値を変更していることを示す、ノイズ（誤作動）が発生する可能性がある。書き換え可能なデータ記憶装置が、安全性に関連する利用において、例えば、車両のエンジン制御装置等に組み込まれた場合、危険な誤作動を防止するために、この種のノイズを検出し、適切な対応策を講じることが非常に必要である。最も簡単なケースにおいては、対応策として、エラーを検出した際に、データ記憶装置にアクセスする利用の（予定）時間が所定の方法で決定されるので、エラーがあるデータ値にもはやアクセスされず、エラー（誤り）に基づく誤制御は起こりえない。利用は、データ記憶装置のエラーが訂正されない限り、駆動不可能である。
【０００３】
このような駆動中断を予防するために、記憶装置内のデータワードを冗長な情報と共に格納することが考慮される。冗長な情報に基づいて、データワードのエラーが検出されるだけではなく、このエラーは状況によって訂正されることも可能である。データワード内のエラーの検出、訂正を可能にする、多くの符号化方法が公知であり、最も知られたものとして、リードソロモン（誤り訂正符号）(Reed-Solomon)またはハミングコード（Hamming−Code）が挙げられる。 従って本明細書では、エラーを訂正するコードは公知のものと前提し、詳細に解説しない。利用が、記憶装置のセルにアクセスし、冗長な情報に基づいて、このセルに格納されたデータワードにエラーがあることが確認された場合、訂正されたデータワードが利用に提供される。また、利用は、誤作動の危険性がなく、引き続き駆動されることが可能である。
【０００４】
データワードまたはブロック内の、エラー訂正コードを使用して符号化されたデータワードによって一緒に訂正されることが可能なビット誤りの数は、この（エラー訂正コードを使用して符号化された）データワードまたはブロックに対応して生成された冗長な情報のビット数に依存する。このことは、例えば、冗長な情報のビット数が、データワードまたはブロック内の個々のビット誤りを訂正するのに十分である場合、利用の機能性が、関連するデータワードまたはブロック内にエラーがもはや１つも発生しない限り、保持されることが可能である。第２のビット誤りが発生し次第、訂正はもはや不可能である。さらに上記のように、利用の（予定）時間が決定されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、記憶装置エラーは、集積する傾向がある。すなわち、記憶装置ビット内にエラーが発生する可能性はどこでも同じではなく、既にエラーがある環境において、特に高い。多数のビット誤りが互いに隣接して発生した際にも記憶装置の継続利用の可能性を保障するためには、大容量の冗長な情報が必要である。従って、必要とされる記憶容量が増加し、それに伴い記憶装置構成にかかるコストが上がるという問題があった。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、データ記憶装置の高い利用可能性を保障し、冗長な情報を格納するために必要な記憶容量を最小に抑えることを可能にする、書き込み可能なデータ記憶装置を駆動する方法または書き込み可能なデータ記憶装置を備えた記憶装置構成を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の利点は、データワードと共に、上記データワードに割り当てられた冗長な情報がデータ記憶装置から読み出され、冗長な情報に基づいて、データワードにエラーがあるかどうかが検査され、エラーがある場合に、データワードが訂正されるだけではなく、データ記憶装置の空き領域の新アドレスに書き込まれる点にある。従って、新アドレスに再び正しいデータワードが存在するため、場合によっては、冗長な情報に基づく最大可能な数の、将来この新アドレスで発生するエラーが、訂正されることが可能である。従って、破損した記憶セルの内容を移動できる空き領域が存在する限り、個々のビット誤りが発生してもデータ記憶装置の信頼性が損なわれない。新アドレスは、多くの場合、エラーが検出されたデータワードの本来のアドレスからかなり離れているので、更なる別のビット誤りが新アドレスで発生する可能性は、本来のアドレスで発生する可能性よりも低い。従って、安全性がさらに改善される。
【０００８】
本発明の利点として、データワードの読み出しのため新アドレスにアクセスするために、データ記憶装置内のデータワードの読み出し順序が変更される。これは特に、データワードが、他の命令との所定の連関で実行されなければならないプログラム命令である場合に必要である。
【０００９】
読み出し順序を変更するために、訂正されたデータワードと共に、少なくとも１つの、読み出し順序において上記訂正されたデータワードの前に存在するデータワードが、データ記憶装置の空き領域に書き込まれることが可能である。従って、訂正されたデータワードの前に存在するデータワードの本来の記憶位置に、その新しい記憶位置を示す参照符号、例えばジャンプ命令を配置することが可能である。
【００１０】
訂正されたデータワードの後ろに、空き領域に、上記訂正されたデータワードの本来の記憶位置の後ろに存在する記憶位置を示す参照符号が書き込まれることが可能である。  択一的に、エラーが検出されたデータワードのアドレスの後ろに存在するアドレスの記憶セルの内容が移動されることによって、訂正されたデータワードが書き込まれる空き領域を、エラーが検出されたデータワードのアドレスの後ろに存在するアドレス領域に作ることが可能である。
【００１１】
空き領域を作るため、エラーが検出されたデータワードの後ろに存在する記憶セルを後方に移動する代わりに、空き領域は当然、エラーが検出されたデータワードのアドレスの前に存在するアドレスの記憶セルの内容を前方に移動することによって、作られることが可能である。この場合、空き領域には、上記訂正されたデータワードに続いて、上記訂正されたデータワードの本来の記憶位置の後ろに存在する記憶位置を示す参照符号が書き込まれる。
【００１２】
双方のケースにおいて、記憶セルの内容の移動が、エラーが検出されたデータワードのアドレスからかなり離れたアドレスから、エラーが検出されたデータワードのアドレスに近接するアドレスへの順序で、連続して行われる点で利点がある。すなわち、データワードは、記憶装置の外部の、例えば、本発明に基づく記憶装置構成を使用したデータ処理システムの非作動によってデータ損失が起こりうる箇所で、一時格納される必要がない。
【００１３】
上記と同様の理由から、（記憶セルの内容の）移動は、本発明の利点として、本来のアドレスから新アドレスへのデータワードの複写を含み、複写の後に、他のデータワードによる本来のアドレスの上書きが引き続いて行われる。従って、どの時点においても、全データワードが少なくとも１回記憶装置内に存在することが保証される。
【００１４】
データワードのセットが、空き領域に移動されたデータワードを示す参照符号を含む限り、プログラム命令の場合、すなわち例えばこの空き領域に移動されたデータワードに関するジャンプ命令の場合、この参照符号は識別され、データワードの新アドレスに調整されるべきである。
【００１５】
データワードが、エラーが検出されたデータワードの前方または後方へ移動される場合、さらに、移動されないデータワード内の、移動されたデータワードを示す参照符号が、また移動されたデータワード内の、移動されないデータワードを示す相対的な参照符号が、引き続きプログラム命令の正確な実行を保証するために、移動に合せて調整されるべきであろう。
【００１６】
エラーが互いに近く隣接して発生する可能性が高まるのに基づいて、常に、エラーが検出されたデータワードが、複数のエラーがあるデータワード、を含むブロックの一部であるかどうかを検査し、場合によっては全ブロックを訂正して空き容量に書き込む点で利点がある。
【発明の効果】
【００１７】
本発明の更なる構成要件および利点は、以下の、添付の図を参照した、発明の実施形態の記載から明らかになろう。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１９】
本発明の一実施形態に基づくデータ処理システムの実施形態として、図１には、車両制御装置がブロック図で示されている。車両制御装置は、プロセッサ１０１と、プロセッサ１０１によって実行される命令プログラムが格納されているフラッシュメモリ（１０２と、フラッシュメモリ１０２に割り当てられた記憶装置監視回路１０３と、書き込み読み出し記憶装置１０４と、様々なセンサ１０５と、ここでは図示されていない、車両エンジンの駆動パラメータを検出または作用するためのアクチュエータとを含んでいる。
【００２０】
構成要素１０１〜１０５は、共通のデータおよびアドレスバス１０６を介して通信する。データバス幅は、例えば１６ビットである。フラッシュメモリの記憶セルのビット数はさらに多く、ここでは例えば１６＋３ビットである。その際、各１６ビットのデータワードは、プロセッサ１０１によって処理されるプログラム命令を含み、残り３ビットは、例えば、データワードのリードソロモン符号化によって獲得される冗長な情報を含んでいる。この冗長な情報によって、記憶装置監視回路１０３は、データワード内にビット誤りがあることを検出することが可能になる。
【００２１】
記憶装置監視回路１０３は、フラッシュメモリ１０２のデータワード内にエラーが検出された場合にプロセッサ１０１の割込みを開始するために、プロセッサ１０１の割込み入力１０７と接続されている。この優先順位が高い割込みによって、利用プログラムは中断される。また、プロセッサ１０１は、エラーが検出されたデータワードに関する冗長な情報を読み出し、記憶装置１０２からエラーを含んで出力されたデータワードを訂正するために復号化を実行する。さらに、プロセッサ１０１は、エラーがあるデータワードが読み出された位置のアドレスをテーブルに記録する。続いて、利用プログラムが、訂正されたデータワードに基づいて続行される。
【００２２】
監視回路１０３によって開始される割り込みの際にプロセッサによって実行されるプログラム命令は、利用プログラムと同様にフラッシュメモリ１０２に格納されていることが可能である。この場合、監視回路１０３によって開始される割り込みがもはや実行不可能ので、エラーまたは更なる別のエラーが、この監視回路１０３によって開始される割込みのプログラム命令内にある場合、択一的に、割込みのプログラム命令に関する、更なる別の固定値記憶装置１０８が設けられていることが可能である。固定値記憶装置は、フラッシュメモリ１０２とは反対に、プロセッサ１０１によって上書き可能である必要はなく、格納されているビットにエラーがある可能性は、フラッシュメモリ１０２における可能性よりも低い。
【００２３】
図２には、フラッシュメモリ１０２の利用が示されている。ここでは、１６個の記憶セルが図に示されているが、実際の、記憶セルの数および記憶セル内に格納されるプログラム命令の数は複数倍多い。本発明を解説するため、図に示されるフラッシュメモリ１０２の１６個の記憶セルのうち、セル０〜１０には、プロセッサ１０１によって実行される利用のプログラム命令Ｉｎｓｔｒ１〜Ｉｎｓｔｒ１１が配置されており、残りの記憶セル１１〜１５は空いていると仮定する。セル６および７には、それぞれビット誤りが発生していると仮定し、Ｉｎｓｔｒ７またはＩｎｓｔｒ８は斜体で記されている。
【００２４】
本発明に基づく方法の第１実施形態に基づいて、プロセッサ１０１は、フラッシュメモリ１０２内のプログラム命令を、ジャンプ命令が含まれていない限り数が小さいアドレスから昇順に読み出す。監視回路１０３が読み出されたプログラム命令内にエラーを検出しない場合、プログラム命令は、読み出されたとおりにプロセッサ１０１によって実行される。監視回路１０３がプログラム命令にエラーを検出した場合、図２に示されるケースでは、すなわち、まず命令Ｉｎｓｔｒ７にエラーがある場合に、監視回路１０３は、上記の優先順位が高い割込み要求をプロセッサ１０１に出力する。割込み要求は、フラッシュメモリ１０２によってエラーを含んで出力された命令自体の訂正を、命令に付属する冗長な方法に基づいて実行するように、プロセッサ１０１に促す。
【００２５】
優先順位が高い割込みを実行している間、第１割込みおよび利用プログラムの特定のタイムクリティカルな部分よりも優先順位が低い、第２割込みが開始される。第２割込みは、プロセッサ１０１に、フラッシュメモリ１０２の内容の訂正を行うように促す。システムは、上記のように、エラーをその都度実時間で修正することによって、引き続き駆動可能な状態を維持するので、この訂正は、フラッシュメモリ内にエラーを検出した後に即時に行われる必要はない。エンジン制御装置の具体的な利用例との関連では、このことは、フラッシュメモリ１０２の内容の訂正が、エラー検出後に即時に実行される必要はなく、エラー訂正に必要な利用プログラムの中断が、例えば、停止中の車両の場合エンジン制御の駆動後またはアイドルタスク（Idle Task）中に安全に行われることが可能になるまで、延期されることが可能なことを意味している。
【００２６】
プロセッサ１０１は、訂正された命令Ｉｎｓｔｒ７を実行した後に、本実施形態において同様にエラーがあると仮定された命令Ｉｎｓｔｒ８をアドレス指定する。その際、上記の工程が繰り返される。すなわち、エラーが、利用プログラムがプロセッサ１０１で短期間中断されている間に、訂正され、訂正された命令が実行される。さらに第２割込みが実行され、第２割込みによって、エラーがある命令が後に訂正される。
【００２７】
より遅い時点において、利用プログラムの優先順位が低い部分が実行される場合、すなわち、利用プログラムが、第２割込みを実行してフラッシュメモリ１０２で確定されたエラーを訂正するために十分な期間、中断されることが可能な場合には、エラーが発生する度に開始される優先順位が高い割込みによって、エラーがある記憶セルのリストが存在する。このリストは、ここで考察される実施形態において、命令Ｉｎｓｔｒ７およびＩｎｓｔｒ８がある記憶セル６および７を含んでいる。
【００２８】
本発明に基づく方法の第１実施形態に基づいて、プロセッサ１０１は、第２割込みの実行の際に、記憶装置１０２の第１番目の空き記憶セルに、ここではすなわち記憶セル１１に、エラーがある記憶セル６および７の命令の直前に存在する命令Ｉｎｓｔｒ６を、また、訂正された命令Ｉｎｓｔｒ７およびＩｎｓｔｒ８を、後続の記憶セル１２および１３に書き込む。さらに、エラーがあったセルの後ろのセル８に関するジャンプ命令を、記憶セル１４に書き込む。セル５の命令Ｉｎｓｔｒ６は、セル１１に関するジャンプ命令で上書きされる。
【００２９】
従って、破損した記憶セル６および７には、もはやアクセスする必要がない。この破損した記憶セルの内容は、セル１２および１３に転写する前に訂正されているので、この新しいセルで発生するエラーも、十分な空き記憶容量が訂正のために提供される限り、上記と同様の方法で訂正されることが可能である。
【００３０】
図４および図５に基づいて、本方法の第２実施形態を説明する。考察の出発状況として、図３に示すように、記憶セル６および７が破損していると仮定する。破損した記憶セルを非作動するために、ｎ＝３個の記憶セルが必要とされる。変数ｎの数は、ジャンプ命令を中に含めて配置するために追加的なセルが１つ必要なので、連続して発生している破損したセルの数よりも常に１つ大きい。最初に、プロセッサ１０１は、n個の、利用プログラムの最後の命令を、付属する冗長な情報も含めて、記憶セル８〜１０から、それまで空いていた新しい記憶セル１１〜１３へ複写する。
【００３１】
また、複写された命令が以前配置されていた記憶セルは、再書き込みのために使用可能になる。使用可能な記憶セルは、その都度、n個の、転写された記憶セルの前に存在する記憶セルの内容で上書きされ、この転写された記憶セルの前に存在する記憶セルが、さらに使用可能になる。この工程は、破損した記憶セル６および７、ならびにその直前に存在する記憶セル５が読み出され、後続の記憶セル、ここではすなわち記憶セル８〜１０に転写されるまで、繰り返される。セル６および７から読み出された命令の訂正は、上記に利用のために記載されているように、優先順位が高い割込みを制御しながら自動的に行われるので、セル９および１０は、訂正された形式の、命令Ｉｎｓｔｒ７およびＩｎｓｔｒ８、ならびに付属する冗長な情報を含んでいる。記憶セル５は、ジャンプ命令で、命令Ｉｎｓｔｒ６の新アドレス、すなわちセル８に上書きされる。
【００３２】
図４および図５に基づいて記載された方法は、空き記憶領域が、利用プログラムによって配置された記憶セルに続いて存在するという前提から出発している。従って、エラーがある記憶セルの後ろに存在する命令全体が、数が大きいアドレスの方向に向かって移動されることが可能である。当然、空き記憶セルを、利用プログラムの命令によって配置されたセルの前に設け、エラーの場合に、エラーがあるセル（または複数のセル）のアドレスより数が小さいアドレスの命令を、小さいアドレスの方向に向かって移動するという、類似した可能性もある。
実際には、利用プログラムは、多数のジャンプ命令を含んでいる。ジャンプ命令が正確に実行可能な状態なままであることを保障するために、このジャンプ命令を、利用プログラムの命令の間で識別し、場合によっては訂正することが必要である。図３に関連して解説された、本方法の実施形態において、正常な記憶セル内のジャンプ命令の訂正は、ジャンプ命令が、破損していることが検出された記憶セル６および７をジャンプ先としている場合にのみ、必要である。これに該当するジャンプ命令は、記憶セル１２および１３に関する、これに対応するジャンプ命令によって置き換えられる。
【００３３】
図４および図５に関連して解説された実施形態において、エラーがあるセル６および７を直接ジャンプ先としたジャンプ命令に加えて、更なる別のジャンプ命令も訂正されなければならない。絶対的なジャンプ命令の場合、すなわち、引数としてプログラムカウンタを有するジャンプ命令において、このプログラムカウンタが、第１番目のエラーがある記憶セル、すなわちセル６を上回るか、または下回るどうかが検査される。ジャンプ先が（セル６を）下回る場合、ジャンプ命令は変更されない。ジャンプ先が（セル６を）上回る場合、（ジャンプ先は）n個分増分される。相対的なジャンプ命令の場合、すなわち、ジャンプ先を獲得するために、独自の引数が目下のプログラムカウンタ示度に加算されるジャンプ命令の場合、ジャンプ命令およびそのジャンプ先が、エラーがある記憶セルと同一のページまたは異なるページに存在するかどうかが検査される。同じページにある場合、訂正は必要ない。異なるページにある場合、ジャンプ幅は、その都度n個分上げられる。
【００３４】
本発明の一実施形態において、フラッシュメモリ１０２内で検出されたエラーの訂正は、エラー検出後に即時に行われる必要ではなく、適切な時点まで延期されることが可能なので、本発明は、所定の時間制限内に特定のタスクを遂行しなければならない実時間利用との相性が非常に良い。しかし、エラーがある記憶セルの内容を復号化することに因る遅延は、実時間利用において障害となる。このような訂正が必要になる可能性を最小限に抑えるために、厳密な実時間要求がまだ遂行されない、利用の起動フェーズにおいて、場合によってはメモリエラーを検出するために、フラッシュメモリ１０２に格納されたプログラム命令を連続して読み出すことは有利である。
【００３５】
メモリエラーが検出されない場合、利用は引き続き通常駆動へ移行する。しかし、メモリエラーがある場合は、このエラーを、実時間要求が厳しくなる前に訂正することが可能である。エンジン制御装置の実施形態に関連では、これは、例えば、エラーがある記憶セルの検査が常に、利用者が例えば（エンジン）点火キーをまわして、エンジンを起動する要望を表した場合に実行され、必要な場合にエラーがある記憶セルが訂正された後にはじめて、エンジンの事実上の始動が、エンジン制御装置によって制御されることを意味している。
制御装置の駆動後に、すなわち、制御装置がまたアクティブな状態にある、エンジン停止後の限定された期間に、エラーがある記憶セルの検査が実行されることも有利である。
【００３６】
図１の実施形態に比べて、さらに、より向上した信頼性を提供するデータ処理システムの第２実施形態が、図６に示されている。図１に関連して記載された構成要素に加えて、このデータ処理システムは、第２プロセッサ１１１を含んでいる。第２プロセッサ１１１は、プロセッサ１０１と共同で利用されるバス１０６を介して、または第２の独自のバスを介して、プロセッサ１０１のフラッシュメモリ１０２にアクセスすることが可能である。プロセッサ１１１には、プロセッサ１１１のための利用プログラムを含む第２フラッシュメモリ１１２が割り当てられている。
【００３７】
本実施形態において、フラッシュメモリ１０２に割り当てられた記憶装置監視回路１０３は、フラッシュメモリ１０２の出力にエラーがある際にプロセッサ１０１を一時的に中断するために、プロセッサ１０１と接続されている。その一方、記憶装置監視回路１０３は第２プロセッサ１１１へ、割込みを開始する。この割込みは、プロセッサ１１１に、異常に（エラーがある）出力されたデータワードを復号化し、訂正されたデータワードをプロセッサ１０１に委ね、エラーがあるデータワードのアドレスをリストに記載し、第２割込みを開始するように、促す。第２割込みは、適切な以後の時点に、記憶装置１０２の訂正を、リストに基づいて、上記の図３または図４および図５に関連した記載された方法と類似した方法で実行する。プロセッサ１１１と対称をなす形で、プロセッサ１０１は、第２プロセッサ１１１のフラッシュメモリ１１２内のエラーに基づいて記憶装置監視回路１１３を開始する、割込みを処理する。２つの記憶装置１０２および１１２うちの１つの中で、第１割込みの命令に発生するエラーは、その都度他の記憶装置に格納された割込み命令によって訂正されるので、システムの機能停止にはもはや発展しない。
【００３８】
第２割込みは、上記の実施形態において、その都度、第１割込みも処理した同一のプロセッサ１０１または１１１によって処理される。しかし、第２割り込みは、ネットワーク接続、車両無線接続を介して図１または図６のデータ処理システムと通信する、外部プロセッサによって処理されることも構想可能である。
【００３９】
更なる別の可能な変形例において、監視回路１０３は、記憶装置１０２によって出力されたデータワード内のエラーを検出するだけではなく、データワードの復号化および訂正を、記憶装置１０２に割り当てられたプロセッサ１０１に頼らずに実行するように構成される。その際、プロセッサ１０１が、誤ってバス１０６に出力されたデータワードを受け取るのを防止するために必要な、プロセッサ１０１の一時的な中断が行われる。本変形例では、監視回路１０３は、記憶装置１０２によって異常に（エラーがある）出力された命令を訂正し、監視回路側で正しくバス１０６に出力するために必要な期間、プロセッサ１０１に供給されるクロック信号を中断する。記憶装置１０２に異常に格納された割込み命令が原因で復号化が失敗することは、本変形例では同様に起こり得ない。本実施形態は、エラーを、命令記憶装置内だけではなく、パラメータ記憶装置内でも修正できる点で利点がある。
【００４０】
本発明は、他のタイプのデータ記憶装置にも適用可能である。従って、記憶装置として、例えばハードディスクが組み込まれることが可能である。このハードディクでは、有効データが、ブロック単位で各ブロックに割り当てられた冗長な情報と共に格納されており、冗長な情報に基づいてエラーが検出された場合、該当するブロックは訂正されて、ハードディスク面の他の箇所に格納される。さらに、ブロックが付属しているデータの読み出し順序において、エラーがあるブロックの前に存在するブロックには、訂正されたブロックの新しい記憶位置を示す参照符号が付けられる。訂正されたブロックは、（訂正されたブロック側で）読み出し順序においてその後ろに存在するブロックを示す参照符号を獲得することが可能である。従って、ブロックは、その位置が整然と（正しく）ディスク面に記録されてなくても、引き続き、読み出し順序に従って読み出されることが可能である。
【００４１】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１の実施形態にかかる、データ処理システムのブロック図を示している。
【図２】同実施形態にかかる、エラーが発生している、データ処理システムのプログラム記憶装置内の配置内容を示している。
【図３】同実施形態にかかる、エラー訂正後のプログラム記憶装置内の配置内容を示している。
【図４】本発明の第２実の施形態にかかる、訂正中のデータワードの配置内容を示している。
【図５】同実施形態にかかる、訂正が実行された後のデータワードの配置内容を示している。
【図６】同実施形態にかかるデータ処理システムのブロック図を示している。
【図１】
2009506445.tif 000003
【図２】
2009506445.tif 000004
【図３】
2009506445.tif 000005
【図４】
2009506445.tif 000006
【図５】
2009506445.tif 000007
【図６】
2009506445.tif 000008
【国際調査報告】
2009506445.tif 000009
2009506445.tif 000010
2009506445.tif 000011
2009506445.tif 000012
2009506445.tif 000013
2009506445.tif 000014