(57)【要約】万一のメモリエラーにかかわらず、データ処理システムの可用性を改良するために、メモリセルからデータワードを読み出す場合に（Ｓ０）、冗長な付加情報を用いてデータワードのインテグリティが検査され；データワードが歪曲されたことが証明された場合に、エラー処理プロシージャが実施され、その中でメモリセルの機能能力が検査されて（Ｓ１−Ｓ３）、メモリセルが機能し得ると判断された場合に、その内容が（Ｓ７、Ｓ１１）復元される。【選択図】図２
2009506446.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムの駆動方法であって、前記駆動方法は、
ａ）メモリセルからデータワードを読み出し（Ｓ０）；
ｂ）冗長な付加情報を用いて、データワードのインテグリティを検査し；かつ
ｃ）データワードが歪曲されていることが証明された場合には、エラー処理プロシージャを実施する；ステップを有し、
前記エラー処理プロシージャは、
ｄ）メモリセルの機能能力を検査し（Ｓ１−Ｓ３）、かつメモリセルが機能し得ると判断された場合に、
ｅ）その内容を復元する（Ｓ７、Ｓ１１）、
ステップを有することを特徴とする、駆動方法。
【請求項２】
前記機能能力の検査は、
ｄ１）メモリセルへ書き込み（Ｓ２）；
ｄ２）書き込まれたメモリセルを読み返し（Ｓ３）；かつ
ｄ３）読み返したデータワードを、その前にメモリセルへ書き込んだデータワードと比較する（Ｓ３）、
ステップを有することを特徴とする、請求項１に記載の駆動方法
【請求項３】
前記機能能力のステップｄ１）（Ｓ２）でメモリセルへ書き込まれるデータワードが、ステップａ）（Ｓ０）で読み出されたデータワードのバイナリのコンプリメントであることを特徴とする、請求項２に記載の駆動方法。
【請求項４】
ステップａ）（Ｓ０）で読み出されたデータワードが、ステップｅ）（Ｓ７）において、メモリセル（Ｍ）へ書き戻されることを特徴とする、請求項３に記載の駆動方法。
【請求項５】
ステップｅ）において、メモリセル（Ｍ）の内容が更新されることを特徴とする、請求項３に記載の駆動方法。
【請求項６】
冗長な情報が、エラー補正情報を内容としており、かつ
ステップｅ）において、メモリセルの内容がエラー補正情報を用いて補正されることを特徴とする、請求項３に記載の駆動方法。
【請求項７】
メモリセル（Ｍ）のアドレスを用いて、ステップｅ）で実施される種類が選択される（Ｓ５）ことを特徴とする、請求項１〜６のいずれか１項に記載の駆動方法。
【請求項８】
ステップｄ）でメモリセルが機能し得ないと判断された場合に、メモリセルへアクセスするルーチンが終了される（Ｓ４）、請求項１〜７のいずれか１項に記載の駆動方法。
【請求項９】
ステップａ）が、アプリケーションプログラムのコントロールの下で、プログラミング可能な回路（１）によって実施され、かつ
ステップｃ）〜ｅ）が、アプリケーションプログラムの中断の枠内で実施される、請求項１〜８のいずれか１項に記載の駆動方法。
【請求項１０】
アプリケーションプログラムが、少なくとも１つのリアルタイム機能と、各リアルタイム機能によって中断可能なバックグラウンド機能とを有しており、かつ
バックグラウンド機能が、多数のメモリセルのために、ステップａ）を直接連続して実施することを特徴とする、請求項９に記載の駆動方法。
【請求項１１】
データメモリ（３）とプログラム制御される回路（１）とを有するデータ処理システムであって、前記回路が、データメモリ（３）のメモリセル（Ｍ）において請求項１から１０のいずれか１項に記載の方法を実施するようにプログラミングされていることを特徴とする、データ処理システム。
【請求項１２】
データ処理システムが、自動車制御装置であることを特徴とする請求項１１に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムのための駆動方法および同駆動方法を実施するように形成されたデータ処理システムに関する。
【背景技術】
【０００２】
デジタルデータ処理するシステムは、特に自動車セクターにおいて、安全上重要な複雑なプロセスを制御するために、ますます増大する範囲で使用されている。この種のシステムないしこの種のシステムが使用される自動車のユーザーの安全を、機能障害の場合においても保証するために、機能障害の発生をできる限り迅速に認識し、場合によっては適切な安全措置を講じることが必要である。この安全措置は、しばしばデータ処理システムないし同システムの少なくとも、機能障害によって損害を被る部分を停止させることに基づく。
【０００３】
すなわち、たとえばＤＥ１００６３９３４Ａ１は、多数の制御ユニットを有するネットワークの形式のデータ処理システムを開示しており、その中で複数の監視ルーチンが遂行され、それらの監視ルーチンはそれぞれエラーが検出された場合にネットワークの制御ユニットのために様々なオフストラテジーを作動させる。様々なオフストラテジーによって、エラーが検出された場合にシステム全体をオフにしなければならないことが回避され、そのコンポーネントの、エラーに遭遇しないコンポーネントはそのまま遂行できる。しかし、個々のコンポーネントのオフも、ネットワークの機能性の制限をもたらす。
【０００４】
ＤＥ１０２２０８１１Ａ１は、監視すべきシステムの機能ユニットおいて方向付けされた、モジュラー構造の監視方法を用いて、データ処理システム内で発生し得る様々な種類のエラーへのフレキシブルな反応を実装することを、提案している。システムの機能ユニットにおける方向付けは、監視ユニットの構造が監視すべきシステムに依存することをもたらす。従って、この既知の方法を新しい適用に適合させることは、作業的に煩雑である。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、様々な課題のためのデータ処理システムにわずかな手間で適合可能であって、かつ、システム内で所定のエラーが確認された場合でも、データ処理システムの高い可用性を保証する、データ処理システムのための駆動方法が提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある観点によれば、以下のステップを有するデータ処理システムのための駆動方法が提供される。
駆動方法は、次のステップを有する：
ａ）メモリセルからデータワードを読み出し；
ｂ）冗長な付加情報を用いてデータワードのインテグリティを検査し；かつ
ｃ）データワードが歪曲されていると証明された場合に、エラー処理プロシージャを実施する；
ステップを有し、エラー処理プロシージャが、
ｄ）メモリセルの機能能力を検査し、メモリセルが機能し得ると判断された場合に、
ｅ）その内容を復元する、
を有する。
【０００７】
この方法は、データ処理システム上で遂行されるアプリケーションプログラムのためにデータワードが有する意味に、依存しない。従ってプログラム指示もパラメータも含むことができる。
【０００８】
復元は、オリジナルに忠実な復元であり、あるいはデータ値が時間的に可変の変数である場合には、メモリセルの内容の更新であってもよい。
【０００９】
メモリセルの内容が復元された場合に、データ処理システムはその本来の課題をさらに満たすことができる；データ処理システムまたはその一部をオフにすることは、もはや必要とされない。
【００１０】
本発明に基づく方法のこの特性は、高い集積密度を有するメモリを使用する、最近のデータ処理システムにおいて、特に効果的である。というのは、これらのメモリにおいては、粒子線、特にアルファ粒子の影響による自発的なデータ損失の確率は、放射粒子が当たるメモリセルの寸法が小さくなるほど、大きくなるからである。
【００１１】
メモリセルの機能能力を検査するために、好ましくは以下のステップが実施される：
ｄ１）メモリセルへ書き込み；
ｄ２）書き込まれたメモリセルを読み返し；かつ
ｄ３）読み返したデータワードを、その前にメモリセルへ書き込んだものと比較する。
【００１２】
比較において、一致が確認された場合には、それに先立つメモリセルのデータ損失は、過渡的な外部の影響に起因するものであって、メモリセル自体の破壊に起因するものではない。従ってメモリセルはそのまま利用することができ、そのメモリセルにおける新たなデータ損失のリスクは、メモリの他のセルの場合よりも大きくはない、と推定することができる。
【００１３】
好ましくは、ステップｄ１）において、メモリセルへ書き込まれるデータワードは、ステップａ）で読み出したデータワードのバイナリのコンプリメントである。というのは、その場合にはメモリセルの各ビットについて、それが値０と値１をとることができることを検査するのに、唯一の書込みプロセスで十分だからである。
【００１４】
固定的に設けられたデータワードをメモリセルへ書き込むことも可能であるが、その場合には、メモリセルの機能能力を証明するために、それぞれバイナリで補い合うデータワードによる２つの書込み−読返しおよび比較プロセスが必要である。
【００１５】
メモリセルの内容の復元は、簡単な形態によれば、ステップａ）で書き込まれたデータワードがステップｅ）においてメモリセルへ書き戻されることによって、行うことができる。これは、データワードが短時間エラーを有することが、システム内で何ら安全性を危険にさらす作用を持つことがなく、かつ後の時点で場合によってはエラーのあるデータワードが更新によって正される場合に、実用的である。
【００１６】
より安全なのは、ステップｅ）においてメモリセルの内容が更新されることである。しかし、この代替案は、実装がより複雑である。というのは、内容を更新するプロシージャがメモリセルからメモリセルへ異なることがあり、従ってエラー処理プロシージャがすべてのメモリセルを同じに処理できないからである。メモリセルの更新が、データ処理システム上で遂行されるアプリケーションによってもともと周期的に行われる場合には、エラーのあるデータ値を単純に使用して、更新を待てば、十分であろう。
【００１７】
任意のメモリセルへ容易に適用可能な代替案は、冗長な情報がエラー補正情報（たとえばＥＣＣのような）を内容としており、かつステップｅ）において、メモリセルの内容がエラー補正情報を用いて補正されることである。
【００１８】
メモリセルのアドレスを用いて、ステップｅ）で実施される種類が選択されることによって、上述した代替案の２つ以上を、１つの方法の中で共通に適用することができる。
【００１９】
ステップｄ）において、メモリセルが機能し得ないと判断された場合には、メモリセルへアクセスするルーチンは、このルーチンの安全を脅かす誤機能を回避するために、終了されるべきである。
【００２０】
ステップａ）が、アプリケーションプログラムのコントロールの元で、プログラミング可能な回路によって実施される場合に、ステップｃ）からｅ）は、好ましくは、アプリケーションプログラムの中断の枠内で実施される。すなわち、アプリケーションプログラムがメモリセルへアクセスすることは、その内容の復元の前に排除されている。
【００２１】
アプリケーションプログラムがリアルタイム機能を有し、かつデータワードがリアルタイム機能によるアクセスの間に歪曲されたと認識された場合に、メモリセルの機能能力を検査し、かつ場合によってはその内容を復元するためにアプリケーションプログラムを中断することは、リアルタイム機能を妨げるように遅延させることがあり得る。この種の遅延をできる限り防止するために、アプリケーションプログラムは、バックグラウンド機能を有するようにしてもよい。バックグラウンド機能は各リアルタイム機能によって中断可能であって、かつステップａ）を多数のメモリセルのために直接連続して実施する。従って、バックグラウンド機能の主要な課題は、メモリセルを読むことであるので、メモリセル内のエラーは、できる限りメモリセルへのバックグラウンド機能の時間的に厳しくないアクセスの間に検出して、中断によって除去することができる。バックグラウンド機能が読み取ったデータワードにおいて何らかの他の処理を行うことは、不要である。
【００２２】
また、本発明の対象は、データメモリとプログラム制御される回路とを有するデータ処理システムであって、その回路は上述した方法を実施するようにプログラミングされる。この種のデータ処理システムは、特に、自動車制御装置であることができる。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【実施例の説明】
【００２４】
図１は、本発明が実装されている、データ処理システムの図式的な表示である。システムは、マイクロプロセッサ１、リードオンリーメモリ２、リード−ライトメモリ３および様々なセンサ４とアクターを有しており、それらがデータバス５とアドレスバスを介して互いに接続されている。センサ４とアクターは、制御すべき装置、たとえば自動車エンジンの駆動パラメータを検出ないし調節するために用いられる。アクターを駆動するために、センサ４によって生成された測定値がマイクロプロセッサ１によってどのように処理されるか、という方法は、リードオンリーメモリ２の領域６内に記憶されているアプリケーションプログラムによって決定されている。
【００２５】
メモリ２、３とプロセッサ１の間のデータバス５は、たとえば１６ビットの幅を有している。
【００２６】
リード−ライトメモリ３の幅は、データバス５よりも１ビットだけ大きい；この付加的なビットは、各１６ビットデータワードに対するパリティビットを記憶するために用いられる。リード−ライトメモリ３は、図においては部分３−０から３−１６に分割して示されており、それらが各データワードの０から１５ビットのそれぞれ１つないし付属のパリティビットを収容する。パリティビットを収容する部分３−１６は、データ入／出力を有しており、それがパリティコントローラ７と接続されている。このパリティコントローラは、リード−ライトメモリ３内に書き込むべき各データワードに対して正しいパリティビットを形成し、それを部分３−１６へ出力するので、それがデータワードと共に格納され、ないしはメモリから読み出された各データワードについてそのパリティが計算され、かつ同時に部分３−１６から読み出されたパリティと比較される。一致しない場合には、メモリ３のエラーが存在し、パリティコントローラ７はエラー信号を生成し、それが導線８を介してマイクロプロセッサ１のインターラプト入力９へ供給される。
【００２７】
図２は、パリティコントローラ７のインターラプトによって作動される、マイクロコントローラ１のエラー処理プロシージャのフローチャートである。その場合にステップＳ０は、マイクロコントローラ１のレジスタＲ内のアドレスＭを有するメモリセルの内容［Ｍ］を読み取るステップを表しており、そのステップにおいてパリティコントローラ７がパリティエラーを確認する。それに基づいてパリティコントローラ７から出力されたエラー信号が、マイクロコントローラ１によって実施されるアプリケーションプログラムの中断とエラー処理プロシージャの実施をもたらし、そのエラー処理プロシージャの第１のステップＳ１は、レジスタＲの内容をそのビット単位のコンプリメントｉｎｖ（Ｒ）と入れ替えることに基づいている。ステップＳ２において、レジスタＲの内容が、アドレスＭを有するメモリセルへ書き込まれる。
【００２８】
確認されたパリティエラーが、メモリセルのビットが壊れていて、かつ２つの可能な論理値のうちのまだ１つだけをとることができることに起因している場合に、このビットについてステップＳ２の書込みプロセスは、効力なしに留まる。
【００２９】
ステップＳ３において、メモリセルＭの内容［Ｍ］が新たに読み出されて、レジスタＲと比較される。メモリセルが実際にエラーのあるビットを有している場合には、不一致が確認され、方法はステップＳ４へ分岐して、そこでアプリケーションプログラムまたはこのプログラムの少なくとも、メモリセルＭへアクセスする、分離可能な部分が終了される。
【００３０】
ステップＳ３において一致が確認された場合には、パリティエラーがメモリセルＭのあるビットにおける、たとえばイオン化する放射の影響による、自発的情報損失に基づいており、メモリセルＭの永続的な故障を表さない、と推定することができる。この場合においては、メモリセルＭをさらに使用することができる。
【００３１】
その後ステップＳ５において、どのようにしてメモリセルＭの内容を復元するか、が決定される。これをどのように行うべきか、という方法は、それぞれメモリセルＭに記憶されているデータワードの意味に応じて異なることができ、かつアプリケーションプログラムを開発する場合に決定され、たとえば、アプリケーションプログラムの、まさにエラーの場合に処理されるべき変数内で、それぞれエラー処理の種類に対応づけられたアドレス領域に記憶される。
【００３２】
たとえば、変数が規則的にセンサ４の結果を用いて新たに計算されて、変数の短時間の誤った値が結果として安全上重要なエラー制御をもたらすことがあり得ないことによって、メモリセルＭに記憶されている変数のエラーが許容できる場合には、方法がステップＳ６へ分岐して、そこでレジスタが再度反転され、次にステップＳ７においてこのようにして得られた値でレジスタＭを上書きすれば、十分である。その場合には、メモリセルＭは、再びステップＳ０におけるのと同じ内容を有する。この内容が誤っているという優勢な確率はあるが、エラーが最も重みのあるビットに関するものでない間は、そのエラーは少なくとも、何らかの恣意的に設けられた定数よりも、正しい値のためのより良い近似を表している。
【００３３】
また、メモリセルのエラーがあると認識された値を、たとえば０ｘ００００や０ｘＦＦＦＦのような予め定められた値と置き換えることも考えられ、その値は、該当するメモリセルへアクセスするアプリケーションプログラムによって無効であると認識される。その場合には、エラーへの適切な反応は、アプリケーションプログラムに委ねることができ、かつたとえば、それぞれ現在どの値が他の変数を有しているか、あるいはアプリケーションプログラムのどの遂行段階からエラーのあるメモリセルへアクセスされたかに応じて、異なることができる。
【００３４】
エラーの場合にその内容が多大な手間なしで新たにセンサ４によって測定され、あるいは新たに計算することができる、他のグループのメモリセルがある。この値を新たに計算し、あるいは測定するルーチンは、アプリケーションプログラムの一般的な部分である。リードオンリーメモリ２内のテーブルＴ（Ｍ）が、このタイプの各メモリセルについてルーチンのスタートアドレスＡを表示し、それを用いて内容［Ｍ］を新たに計算し、あるいは測定することができる。このアドレスＡは、ステップＳ８において求められて、ステップＳ９で該当するルーチンを実施して、［Ｍ］を復元するために、ジャンプインされる。
【００３５】
誤った値の使用に伴って生じる危険が受け容れられないほど大きいので、ステップＳ６、Ｓ７による［Ｍ］の単純な復元は考えられず、ステップＳ８、Ｓ９によって迅速に求め直すこともできない、他のグループのメモリセルＭがある。それに属するのは、たとえば、長期的な平均値形成によって得られる変数であり、あるいはその数値に伴ってその作用が常には変化しない、離散的な変数である。パリティエラーを作動させたメモリセルが、このグループに属する場合には、ステップＳ１０においてユーザーに、本発明に基づく方法を新たにスタートさせることを要請するために、警告信号が出力され、次に方法はステップＳ４へ移行して、そこで、メモリセルＭを使用する機能は、システムの再始動によってＭの正しい内容が復元されるまでの間、遮断される。
【００３６】
他の可能性は、所定の変数から安全コピーを形成することであるので、エラーのあるメモリセルＭがこの種の変数を有してる場合に、単純にその安全コピーＳを読んで、メモリセルＭへ書き戻すことができる（Ｓ１１）。
【００３７】
本発明の実際的な形態は、エラーがあると認識されたメモリセルの内容を補正するための、さらに他のオプションを、あるいは上述したオプションの部分量のみを有することもできる。最も簡単な場合において、決定ステップＳ５を省いて、唯一のオプションのみを設けることもできる。
【００３８】
本発明の好ましい展開によれば、メモリ３は、各データワードについて１つの冗長なビット３−１６だけでなく、その内容が対応づけられたデータワードからそれぞれ、たとえばリード−ソロモン−コードのような、エラー補正コードを用いて定められている、複数の冗長なビットを有し、かつそれら冗長なビットはマイクロプロセッサ１によってアドレス可能であるので、マイクロプロセッサがそれを読むことができる。パリティコントローラ７は、図１の形態の場合と同様に、読み取ったデータワード内のエラーを、各データワードと同時に受信した冗長なビットを用いて認識し、エラー場合においてはプロセッサ１のインターラプトを作動させるために、用いられる。この種のインターラプトの経過において、−あるいはこのインターラプトのステップＳ５において選択される、メモリエラーを除去するための複数の可能なオプションの１つとして−、プロセッサ１がエラーのあるデータワードについて冗長なビットを読んで、それを用いてエラーのあるデータワードを補正し、それを、エラーの生じたメモリセル内へ書き戻す。
【００３９】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００４０】
【図１】本発明に基づくデータ処理システムを示すブロック回路図である。
【図２】本発明に基づく駆動方法を示すフローチャートである。
【図１】
2009506446.tif 000003
【図２】
2009506446.tif 000004
【国際調査報告】
2009506446.tif 000005
2009506446.tif 000006
2009506446.tif 000007
2009506446.tif 000008
2009506446.tif 000009
2009506446.tif 000010