(57)【要約】本発明は、少なくとも１つの中央処理装置（１）と、この中央処理装置と記憶要素（４，２０，６０，７０）に接続された少なくとも１つのデータバス（３０）とを備え、記憶要素が少なくとも１つのプログラムメモリ（１５，２０）と１つまたは複数の検査データメモリ（１６，６０，７０）を備えている、コンピュータシステム（５０）に関する。この検査データメモリはプログラムメモリ（４，２０）の一部（１６，６０）および／または別個に配置された記憶要素の一部（７０）を形成する。データバスに供給されるデータ（８０）を評価および／または記憶するためおよび／または検査データ（１３０，１４０，１６０）を発生するための少なくとも１つの検査データ発生装置（３，５，８，９０，１００）が設けられている。本発明は、プログラムメモリ（４，２０）にアクセスする間にエラーを検出する方法に関する。この方法によれば、保護すべきデータを使用して発生させられた検査データは、付加的に欄に記憶され、エラー検出装置（３，６，８，９０，１００）はデータバス（３０）および／またはアドレスバス（２１）に単独でアクセスし、および／またはエラー検出装置は中央処理装置（１）によって開始されるバストラフィックに追従し、データを集める。
2005503624.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの中央処理装置（１）と、この中央処理装置と記憶要素（４，２０，６０，７０）に接続された少なくとも１つのデータバス（３０）とを備え、記憶要素が少なくとも１つのプログラムメモリ（１５，２０）と１つまたは複数の検査データメモリ（１６，６０，７０）を備え、この検査データメモリがプログラムメモリ（４，２０）の一部（１６，６０）および／または別個に設けられた記憶要素の一部（７０）である、コンピュータシステム（５０）、特に電子式自動車制御装置において、データバスに供給されるデータ（８０）を評価および／または記憶するためおよび／または検査データ（１３０，１４０，１６０）を発生するための少なくとも１つの検査データ発生装置（３，６，８，９０，１００）が設けられていることを特徴とするコンピュータシステム。
【請求項２】
検査データ発生装置（３，６，８）がデータバスに供給されるデータを集め、このデータがデータバスに直接連続して供給されることを特徴とする、請求項１記載のコンピュータシステム。
【請求項３】
検査データ発生装置がデータバスに供給されるデータをブロック状にグループ化して欄毎の検査データを生じ、前記グループ化が特に再帰的方法を適用することによってあるいはデータ語を記憶し続いて合計情報を計算するこによって行われることを特徴とする、請求項１または２記載のコンピュータシステム。
【請求項４】
検査データ発生装置（６，８）がデータバスを介してメモリに直接アクセスするためのアクセスユニット（６）を備えていることと、このアクセスユニットが検査データの計算を行うチェックコンピュータ（８）に接続され、チェックコンピュータで処理されたデータがアクセスユニットによって読み取りおよび書き込み可能であることを特徴とする、請求項１〜３の少なくとも一つに記載のコンピュータシステム。
【請求項５】
データバス（３０）の負担を軽減するためにキャッシュ（２）が設けられ、このキャッシュが中央処理装置（１）に一体化されていることを特徴とする、請求項１〜４の少なくとも一つに記載のコンピュータシステム。
【請求項６】
検査データ発生装置（６，８，１００）に接続された少なくとも１つの検査データ比較装置（９０）を備え、この検査データ比較装置が検査データ発生装置によって得られた検査データを、記憶された検査データと比較することを特徴とする、請求項１〜５の少なくとも一つに記載のコンピュータシステム。
【請求項７】
検査データが検査データ発生装置（３）によって、請求項２に従って欄毎におよび／またはパリティ発生器（１００）によって行毎に発生させられることを特徴とする、請求項１〜６の少なくとも一つに記載のコンピュータシステム。
【請求項８】
請求項１〜７の少なくとも一つに記載のコンピュータシステム（５０）、特に電子式自動車制御装置のプログラムメモリ（４，２０）にアクセスする間にエラーを検出する方法であって、このプログラムメモリまたは他のプログラムメモリモジュールにおいて、保護すべきデータ（１３，１４）のほかに、付加的な検査データが検査データ領域（１０，１１，６０）に記憶され、この検査データが保護すべきデータを使用して発生させられ、プログラムメモリがデータブロックまたはアドレスブロックに分割され、１つのデータブロックを形成するデータ語（１２０）のために検査データ（１６０）が欄毎に形成され、かつ検査データ領域に記憶される、方法において、エラー検出装置（３，６，８，９０，１００）がデータの読み取りまたは書き込みのためにデータバス（３０）および／またはアドレスバス（２１）に単独でアクセスし、および／またはエラー検出装置が中央処理装置（１）によって開始されるバストラフィックに追従し、この追従の間に集められたデータがエラー検出のために使用されることを特徴とする方法。
【請求項９】
欄毎に生じた検査データによって保護されるデータメモリ領域のアドレス指定のために、アドレス検査データが形成されることを特徴とする、請求項８記載の方法。
【請求項１０】
すべの個々のデータ語（１２０）について、行検査データ（１３０，１４０）が記憶されることを特徴とする、請求項８または９記載の方法。
【請求項１１】
プログラムメモリからデータ語を読み取る際に最初の時点でこのデータ語から行検査データを発生し、この行検査データを、早い時点で既に記憶された、このデータ語に関する行検査データと比較し、更に、最初の時点の前に読み取りによって集められ記憶された、データ語に関する欄の検査データを、最初の時点でグループ化してブロック検査データを生じ、このブロック検査データを、その前に読み取られたブロックのための記憶されたブロック検査データと比較することにより、メモリエラーが検出されることを特徴とする、請求項８〜１０の少なくとも一つに記載の方法。
【請求項１２】
ブロック検査データが、メモリへのほぼ完全な書き込みの前に、特にプログラムファイルを発生することによってプログラムをコンパイルした後で発生させられることを特徴とする、請求項８〜１１の少なくとも一つに記載の方法。
【請求項１３】
予め定めた時点でおよび／または規則的な間隔をおいて、ソフトウェア検査プログラムが実行され、このソフトウェア検査プログラムがデータメモリを読み出し、その間エラー検出装置（３）によって中央処理装置とは関係なく検査データが作成され、この作成が特に再帰的方法によって行われ、得られた検査データが記憶された検査データと比較されることを特徴とする、請求項８〜１２の少なくとも一つに記載の方法。
【請求項１４】
データメモリの読み出しがマイクロプロセッサシステムによって予め設定された最大読み取り速度で行われることを特徴とする、請求項１３記載の方法。
【請求項１５】
プログラム実行中、データメモリの１つのブロックの内容が逐次完全に読み出されることを特徴とする、請求項１３または１４記載の方法。
【請求項１６】
記憶された検査データを実際に計算された検査データと比較することによってエラーを検出する際に、エラー信号（９，１１）が出力され、および／またはエラーを含むデータ値またはアドレス値を補正された値と置き換えることにより、エラーが除去されることを特徴とする、請求項８〜１５の少なくとも一つに記載の方法。
【請求項１７】
自動車用電子制御装置、特に電子式自動車ブレーキシステムにおける、請求項１〜７の少なくとも一つに記載のコンピュータシステムの使用。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１の前提部分に記載したコンピュータシステム、請求項８の前提部分に記載した方法および請求項１７に記載したコンピュータシステムの使用に関する。
【背景技術】
【０００２】
自動車ブレーキ用電子制御装置は技術開発の過程で常にブレーキシステムの多くの機能を引き受ける。以前はＡＢＳ機能だけが電子制御および調整されたが、今日の“バイ−ワイヤ”ブレーキ装置では、ブレーキング機能全体が電子制御装置によってコントロールされる。従って、高い信頼性を有する電子式自動車制御装置が益々必要である。
【０００３】
公知の電子式自動車制御装置は一般的に、複雑な機能に対処するためにプログラム制御されるマイクロプロセッサシステムを備えている。更に、データをＲＡＭメモリに記憶する際に検査データを発生させると、冒頭に述べたマイクロプロセッサシステムの信頼性が改善されることが知られている。
【０００４】
自動車コンピュータシステムの信頼性は公開されていない特許文献１に従って、マイクロプロセッサによってフラッシュメモリを読み取るときに、同じメモリユニットまたは別個のメモリユニットにおいてパリティビットを各々のデータ行について記憶することにより改善される。メモリアクセス中に、同様にパリティビットが発生させられ、エラーチェックのために記憶された検査データと比較される。
【０００５】
パリティビットを記憶することによってデータメモリ内でデータを行毎に保護することは、小さな大きさのブロック（半分の語／語）の個々のエラーの検出を可能にするがしかし、膨大な記憶域を必要とする。パリティメモリのために記憶域が必要であることは、最新のプロセッサの場合、処理速度の理由から、ほぼ保護すべき領域に応じて不利である。
【特許文献１】
ＤＥ１０１０９４４９
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の課題は、確実なメモリアクセスを可能にし、同時に速い処理速度と小さなチップ面積を達成する、コンピュータシステムと方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は請求項１記載のコンピュータシステムと、請求項８記載の方法を提案する。
【０００８】
パリティビットによる保護と異なり、欄毎に検査データを発生させる（例えばＣＲＣ法、ＥＣＣ法のように、チェックサムによる保護）、本発明による方法は、チップ面積を大幅に縮小する。上記の括弧内に記載した方法は特に大きなデータブロックを保護するために適しており、従って本発明にとって有利である。検査データの割合は約１０-8以下の範囲内にある。
【０００９】
欄毎の検査の際に好ましくは、検査データはＣＲＣ法またはＥＣＣ法に従って発生させられる。
【００１０】
検査データを欄毎に発生させるために、複数のデータ行の読み出し、例えば１つのメモリブロックのすべてのデータ行の読み出しが必要である。従って、欄の検査は、上記の行のチェックと異なり、読み取り中に同時に行うことは簡単にはできない。
【００１１】
本発明による検査データ発生装置により、プログラムメモリのデータが高速で読み取り可能であという利点が得られる。
【００１２】
メモリアクセスの際に好ましくは、検査データ比較装置によってエラーが検出される。この検査データ比較装置は読み取り中に発生した検査データを記憶された検査データと比較する。エラーの検出の際に、特に適切な安全機能（フェールセーフ）、例えば緊急運転状態へのブレーキシステムの切換えが開始される。
【００１３】
検査データが検査データ発生装置を用いて欄毎および／または行にパリティ発生器によって発生させられると有利である。このパリティ発生器は特にコンピュータシステムのデータバスに接続されている。
【００１４】
本発明による方法では、プログラムメモリの保護がエラー検出装置によって行われる。このエラー検出装置は単独であるいはソフトウェアによって制御されて、データバスおよび／またはアドレスバスにアクセスする。同様に、単独アクセスをソフトウェアによって補助することもできる。更に、エラー検出装置が中央処理装置から出るバストラフィックに追従し、追従中に集められたデータをエラー検出のために使用することができる。
【００１５】
エラーを検出するための上記の方法が、ソフトウェア方法とハードウェア手段の組合せであると有利である。これは、実行時間の間（“オンライン”）でもその他の時間（“オフライン”）の間でも、メモリのチェックを行うことができるという利点がある。
【００１６】
行毎の検査データを発生するために、それ自体公知のマイクロプロセッサシステムのデータを、データバスを経て中央処理措置（ＣＰＵ）に伝送しなければならない。それによって、データバスは負荷される。従って、一体化されたキャッシュを備えた中央処理装置を使用すると有利である。
【００１７】
更に、直接的なメモリアクセスのためのアクセスユニットが設けられていると特に有利である。このアクセスユニットはデータバスと中央処理装置の負荷を更に低下させる。このアクセスユニットは特に固有の検査データ発生装置に接続されている。しかし、アクセスユニットを備えた実施形において、キャッシュを一体化していない中央処理装置を使用することもできる。
【００１８】
用語“コンピュータシステム”は、例えば中央処理装置（ＣＰＵ）のほかに付加的なメモリと入力／出力機能を含むマイクロコントローラのような個々のコンピュータシステムまたは互いに接続されたコンピュータシステムであると理解される。このコンピュータシステムは“単コア状（一つの中央処理装置を備えた）”または特に“多コア状”に形成可能である。この多コア状のコンピュータシステムは２つ以上の中央処理装置を備えている。
【００１９】
用語“プログラムメモリ”とは、特にマスクＲＯＭ、フラッシュＲＯＭ、Ｅ２ＰＲＯＭまたはＯＴＰ−ＲＯＭのように、主として読み取りアクセスのために設けられるメモリであると理解される。
【００２０】
プログラムメモリの各々の物理的なブロックに、検査データ（署名またはＣＲＣチェックサム）が割り当てられると有利である。ブロック検査データはコンパイルした後で計算され、プログラムファイルと共にメモリに書き込まれる。メモリを最初に書き込む際に、検査データは例えば、後でメモリを読み取る際に検査データ発生装置の場合と同じ方法に従って、ソフトウェアによって発生させられる。
【００２１】
方法の他の有利な実施形では、最初の時点でプログラムメモリからデータ語を読み取る際に、このデータ語から行検査データを発生することにより、メモリエラーが検出される。この行検査データは特に、メモリの大量生産時、好ましくはマスクＲＯＭの製造時に、発生および記憶される。読み取りの際、実際に検出された行検査データは、その前の時点で既に記憶された、このデータ語のための行検査データと比較される。更に、最初の時点の前の読み取りからのデータ語に関する集められたまたは記憶された欄検査データは、その前に読み取られたブロックのための記憶された検査データと比較される。
【００２２】
方法の他の有利な実施形では、アドレスデータが付加的に保護される。これは特に、上記の方法の一つに従って欄毎のアドレス検査データを発生することによって行われる。
【００２３】
他の有利な実施形では、検査データが保護すべきデータのためのデータメモリの付加的なデータ領域および物理的に分離配置された、第１のデータメモリに対応してアドレス指定されている他のプログラムメモリに記憶される。
【００２４】
本発明の他の有利な方法では、メモリがソフトウェア検査によってチェックされる。このソフトウェア検査は特に周期的に開始される。ソフトウェア検査中、中央処理装置は好ましくは最高速度で少なくとも１つのメモリブロックを完全に読み出す。その間、検査データ発生装置はデータバスを監視し、データバスに供給されるメモリブロックのすべてのデータを集める。メモリブロックを読み出した後で、計算されたブロック検査データは、このブロックのために以前に既に記憶されたブロックデータと比較される。これにより、遅れることなく、データフローに関連するブロック検査データ情報を計算することができる。
【００２５】
本発明の好ましい実施形では、データエラーを検出した後で、検査データに含まれる情報を使用して、エラーを含むデータの補正が行われる。
【００２６】
プログラムメモリは好ましくは多チップモジュール上に“オンチップで（on-chip)”で配置されているかあるいは別個のチップとして配置されている。
【００２７】
本発明によるコンピュータシステムは好ましくは、電子式自動車制御装置の一部、特に油圧式ブレーキ制御装置（ＨＣＵ）に差し込んで組み立てられて１つのブロック状の複合体を形成する電子制御ユニット（ＥＣＵ）の一部を構成する。従って、本発明は自動車の電子制御装置、特に電子式自動車ブレーキシステムにおける、上記のコンピュータシステムの利用にも関する。
【発明を実施するための最良の形態】
【００２８】
他の有利な実施形は、従属請求項と、図に基づく実施の形態の次の説明から明らかである。
【００２９】
図１において、中央処理装置１は一体化されたキャッシュ２を備えている。中央処理装置１はデータバス３０を介してマスクＲＯＭ４に接続されている。データバス３０からアクセスユニット６までデータリンク５が案内されている。このアクセスユニット６からチェックコンピュータ８までデータリンク７が案内されている。このチェックコンピュータはチェックサムを生じることによって、検査データの計算を単独で行う。そのために、チェックコンピュータは適当な論理素子またはチェックサム法を処理するように設計された処理ユニットを備えている。アクセスユニット６は好ましくは、中央処理装置に負荷をかけずにメモリに独立してアクセスするためのＤＭＡ（直接メモリアクセス）である。データがデータリンク７を経てチェックコンピュータ８に伝送される。チェックコンピュータ８によってエラーが検出されると、ライン９からエラー信号を出力することができる。
【００３０】
検査データはデータと一緒にプログラムメモリ４内に記憶される。プログラムメモリ４はアドレス欄１３とデータ欄１４からなる表として理解することができる。この場合、各々のアドレスはこのアドレスに記憶されたデータと共に、表の行を形成している。アドレス欄１３は図示のためにのみ示され、物理的には存在しない。データメモリ１４はデータ領域１５と冗長データ領域１６に分割されている。データ領域１４は更に、ブロック１２に分割され、このブロックの大きさは代表的な場合約１０Ｅ２〜１０Ｅ５語である。
【００３１】
記憶されたデータを保護するために、冗長データ領域１６には欄検査データ１１が記憶されている。この欄検査データはチェックサム法（例えばＣＲＣ法）によって発生させられる。チェックサム法としてハミング距離法が使用されると、個々のエラーと多重エラーを検出し、これらのエラーを補正することができる。これはシステム全体の使用可能性を改善することになる。
【００３２】
有利な実施の形態に従って検査データがプログラムメモリ自体に（すなわち別個のチップ、チップ領域またはコアではない）格納されるときには、本発明によるコンピュータシステムは非常に小さなチップ面しか必要としない。この場合、アドレスデコーダをアドレス検査データによって保護すると合目的である。そのめに、メモリの最初の書き込み操作の前に、ブロック１２のすべてのプログラムメモリアドレスの合計が求められ、検査データ領域１０に記憶される。
【００３３】
図２では、データが行毎におよび欄毎に検査される。先ず最初に、プログラム実行中に検査データを生じるために、データバス３０の現在のデータ語からパリティ発生器１００によって読み取りアクセスする度に、パリティ語またはパリティビットが計算される。その際、中央処理装置１は同時に、アドレスバス２１を経て、データメモリ２０とパリティメモリ７０内の必要なメモリ場所にアドレスを指定する。パリティデータは好ましくは別個のパリティメモリ７０に配置され、しかも他のメモリ領域６０に配置される。その後で、パリティ語またはパリティビットが発生させられ、比較器９０によって記憶されたパリティデータ１３０，１４０（図３）と比較される。エラーの場合、比較器９０の出力部１１の信号は適当な評価回路に出力される。
【００３４】
欄毎のチェックのために、中央処理装置１は読み取られるデータブロック１２（図３）を読み出す。この場合、読み取られたデータは署名チェック回路３に読み込まれ、処理装置１によって無視される。回路３は供給されるデータフローからＣＲＣ合計を単独で計算する。ブロックの読み出しの後で、計算されたＣＲＣ合計がブロックのために固定記憶された合計と比較される。
【００３５】
図３には、プログラムメモリ１５０を分割するための例が示してある。このプログラムメモリはそれぞれ１６ビットの幅を有する２つのデータ語８０からなる個々のブロック１２に分割されている。各々のブロック１２にはブロック検査データ１６０が割り当てられている。更に、他のメモリ領域７０内には、メモリアドレスに割り当てられた各々のデータ語のための行検査データ１３０，１４０が設けられている。その際、各々の１６ビット語のために、１つのパリティビットが正確に生じる。
【図面の簡単な説明】
【００３６】
【図１】メモリ直接アクセスのためのアクセスユニットを備えた、本発明によるコンピュータシステムの簡単化した概略図である。
【図２】２つの検査データ発生装置を備えた、本発明によるコンピュータシステムの他の実施の形態を示す図である。
【図３】パリティメモリと署名メモリに分割されているデータメモリを概略的に示す図である。
【図１】
2005503624.tif 000003
【図２】
2005503624.tif 000004
【図３】
2005503624.tif 000005
【国際公開パンフレット】
2005503624.tif 000006
2005503624.tif 000007
2005503624.tif 000008
2005503624.tif 000009
2005503624.tif 000010
2005503624.tif 000011
2005503624.tif 000012
2005503624.tif 000013
2005503624.tif 000014
2005503624.tif 000015
2005503624.tif 000016
2005503624.tif 000017
2005503624.tif 000018
2005503624.tif 000019
2005503624.tif 000020
2005503624.tif 000021
2005503624.tif 000022
2005503624.tif 000023
2005503624.tif 000024
【国際公開パンフレット（コレクトバージョン）】
2005503624.tif 000025
2005503624.tif 000026
【国際調査報告】
2005503624.tif 000027
2005503624.tif 000028
2005503624.tif 000029
2005503624.tif 000030
2005503624.tif 000031
2005503624.tif 000032