(57)【特許請求の範囲】
【請求項１】
マイクロコンピュータシステムのメモリ装置に格納されているデータの操作に対して前記マイクロコンピュータシステムを保護する方法であって，前記メモリ装置を新プログラミングまたは再プログラミングする際に，新しいデータのうち一部のデータを揮発性メモリに格納し，少なくとも前記データまたは前記新しいデータのいずれかの操作を検査するために，予め設定可能な時点で検査機構を実行し，前記新しいデータの操作が認識されなかった場合に，前記新しいデータのうち前記揮発性メモリに格納されている前記一部のデータを前記メモリ装置へコピーし，
前記新しいデータのうち前記メモリ装置を新プログラミングまたは再プログラミングする際に前記揮発性メモリに格納される前記一部のデータは，前記新しいデータの全体からランダムに選択され，前記新しいデータの全体からランダムに選択されない残りのデータは，前記メモリ装置に格納されることを特徴とする，マイクロコンピュータシステムを保護する方法。
【請求項２】
前記メモリ装置に格納されているデータは，制御プログラムであることを特徴とする，請求項１に記載の方法。
【請求項３】
前記揮発性メモリは，ランダムアクセスメモリであることを特徴とする，請求項１または２に記載の方法。
【請求項４】
前記検査機構は，前記揮発性メモリの内容に対する操作を検査することを特徴とする，請求項１から３のいずれか１項に記載の方法。
【請求項５】
計算装置と，データを格納するためのメモリ装置と，前記メモリ装置を新プログラミングまたは再プログラミングする際に，新しいデータのうち一部のデータを格納するための揮発性メモリと，少なくとも前記データまたは前記新しいデータのいずれかの操作を検査するために，予め設定可能な時点で実行可能な検査機構と，前もって実行される前記検査機構により前記新しいデータの操作が認識されなかった場合に，前記新しいデータのうち前記揮発性メモリに格納されている前記一部のデータを前記メモリ装置へコピーする手段と，を有し，
前記新しいデータのうち前記メモリ装置を新プログラミングまたは再プログラミングする際に前記揮発性メモリに格納される前記一部のデータは，前記新しいデータの全体からランダムに選択され，前記新しいデータの全体からランダムに選択されない残りのデータは，前記メモリ装置に格納されることを特徴とする，マイクロコンピュータシステム。
【請求項６】
前記計算装置は，マイクロプロセッサであることを特徴とする，請求項５に記載のマイクロコンピュータシステム。
【請求項７】
前記メモリ装置に格納されているデータは，制御プログラムであることを特徴とする，請求項５または６に記載のマイクロコンピュータシステム。
【請求項８】
前記揮発性メモリは，ランダムアクセスメモリとして形成されていることを特徴とする，請求項５から７のいずれか１項に記載のマイクロコンピュータシステム。
【請求項９】
前記マイクロコンピュータシステムは，自動車機能を開ループおよび／または閉ループ制御をするための自動車用制御装置として形成されていることを特徴とする，請求項５から８のいずれか１項に記載のマイクロコンピュータシステム。
【請求項１０】
前記検査機構は，前記揮発性メモリの内容に対する操作を検査することを特徴とする，請求項５から９のいずれか１項に記載のマイクロコンピュータシステム。
【請求項１１】
マイクロコンピュータシステムは，前記メモリ装置に格納可能であり前記計算装置により実行可能なコンピュータプログラムを有し，前記コンピュータプログラムは，前記マイクロコンピュータシステムの前記メモリ装置に格納されているデータの操作に対して前記マイクロコンピュータシステムを保護する方法を前記計算装置に実行させ，前記マイクロコンピュータシステムを保護する方法は，前記メモリ装置を新プログラミングまたは再プログラミングする際に，新しいデータのうち一部のデータを揮発性メモリに格納するステップと，少なくとも前記データまたは前記新しいデータのいずれかの操作を検査するために，予め設定可能な時点で検査機構を実行するステップと，前記新しいデータの操作が認識されなかった場合に，前記新しいデータのうち前記揮発性メモリに格納されている前記一部のデータを前記メモリ装置へコピーするステップと，を有し，
前記新しいデータのうち前記メモリ装置を新プログラミングまたは再プログラミングする際に前記揮発性メモリに格納される前記一部のデータは，前記新しいデータの全体からランダムに選択され，前記新しいデータの全体からランダムに選択されない残りのデータは，前記メモリ装置に格納されることを特徴とする，請求項５から１０のいずれか１項に記載のマイクロコンピュータシステム。
【請求項１２】
前記メモリ装置は，前記計算装置と同じ半導体素子上に形成されていることを特徴とする，請求項５から１１のいずれか１項に記載のマイクロコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，マイクロコンピュータシステムのメモリ装置に格納されているデータの操作に対して，マイクロコンピュータシステムを保護する方法に関する。かかるメモリ装置には，データとして，特に制御プログラムが格納されている。予め設定可能な時点で，データの操作を検査するための検査機構を実施することができる。
【０００２】
本発明は，さらに，計算装置，特にマイクロプロセッサと，データ，特に制御プログラムを格納可能なメモリ装置と，予め設定可能な時点で実施可能な，データの操作を検査するための検査機構とを具備するマイクロコンピュータシステムに関する。
【０００３】
【従来の技術】
従来の技術から，操作に対して，マイクロコンピュータシステムのメモリに格納されているデータを保護する，特にかかるメモリ装置に格納されている制御プログラムを保護する方法が知られている。この種の方法として，例えば，ＤＥ１９７２３３３２Ａ１が知られている。かかる方法は，例えば，自動車の制御装置に格納されている制御プログラム，あるいは制御装置に格納されているパラメータまたは極限値の不当な操作を阻止するために使用される。制御プログラムは，自動車内の所定の機能，例えば内燃機関，走行動特性制御，アンチロックブレーキシステム（ＡＢＳ）または電子的な操舵システム（ステア−バイ−ワイヤ）を開ループ制御するか，閉ループ制御する。制御プログラムの操作により，自動車の開ループ制御，または閉ループ制御されるユニットの故障がもたらされる可能性がある。従って制御プログラムまたはデータの操作は，できる限り阻止しなければならない。
【０００４】
権限のない人物による制御プログラム，またはデータの操作の危険にも関わらず，制御装置のメモリ装置への呼出を完全に禁止することは，意味がない。例えば，制御装置の新しいプログラミングを実行可能にするために，権限のあるユーザーグループにとっては，メモリ装置へ呼出をすることが可能でなければならない。すなわち，時には制御プログラムの新しいバージョンあるいは新しいパラメータまたは極限値を制御装置に格納して，それによって例えば，ソフトウェアのエラーを除去し，または新しい法律的に前もって定められた規定を考慮する。
【０００５】
自動車制御装置は，シリーズ装置とアプリケーション装置とに区別される。通常，制御装置は，シリーズ装置として製造されてから供給される。シリーズ装置においては，制御装置のメモリ装置に格納されているデータの操作を検査するための検査機構（例えばチェックサム形成）が作動される。操作されたデータは，通常，かかる機構によって認識され，データをブロックすることができる。検査機構は，それ自体の種々の実施形態が従来技術として知られている。
【０００６】
所定の状況において，特に制御装置の開発およびテスト段階の間，検査機構を非作動にして，種々のデータを迅速かつ容易にメモリ装置に格納できるようにすることが必要である。非作動にされた検査機構が具備された制御装置は，アプリケーション装置と称される。
【０００７】
メモリ装置に格納されているデータの隙間のないテストカバーを保証できるようにするために，シリーズケース及びアプリケーションケースにおいても同じデータが，特に同じ制御プログラムが，制御装置のメモリ装置へ格納されなければならない。従って，他のデータをメモリ装置に負荷をかけずに，制御装置をシリーズケースからアプリケーションケースへ切り換えることが可能でなければならない。アプリケーションケースからシリーズケースへ戻るように切り換えることは，望ましくなく，特にできることなら不可能にして，制御装置のメーカーによるテストおよび許可されていない制御プログラムを有する制御装置が流通するのを阻止しなければならない。
【０００８】
従来技術によれば，操作されたデータをブロックするために，識別信号（いわゆるマーカー）が定められる。識別信号は，ブロック（コード領域またはデータ領域）を論理的に有効または無効として特徴づけるのに使用されるマイクロコンピュータシステムの不揮発性メモリ内のメモリ領域である。通常，このメモリ領域には，識別信号を有効または無効にセットするために，検査パターン（いわゆるパターン）がプログラミングされる。識別信号は，操作検査の結果を記憶するために使用される。それによって後に操作を検査する際に，時間を節約することができる。なぜなら，もはやメモリ装置の完全な検査を実施する必要はなく，識別信号を評価するだけで済むからである。
【０００９】
識別信号は，新プログラミングまたは再プログラミングの最初に無効であると定められる。しかる後，メモリ装置が新プログラミング，または再プログラミングされ，次に新しいデータが検査機構によって操作について調べられる。メモリ装置の検査が順序通りである場合には，識別信号は，論理的に有効にセットされる。メモリ装置の検査が順序通りでない場合には，識別信号は，プログラミングされず，論理的に無効のまま留まる。
【００１０】
マイクロコンピュータシステムを起動させる際に，識別信号がセットされているか（論理的に有効であるか）が，検査される。識別信号がセットされていれば，検査は首尾よく実施されており，データは完全に，普通に利用することができる。識別信号がセットされていない（論理的に無効である）場合には，検査は失敗しているか，または例えば，電圧供給の中断（パワーダウン）によって中断されている。
【００１１】
識別信号は，一方で外部からは接近できず，他方で変更可能（有効，若しくは無効にセット可能）でメモリ領域に格納されなければならない。かかる条件は，識別信号がメモリ装置の，データも格納されている，若しくは新プログラミングまたは再プログラミングの際に新しいデータが格納される，メモリ領域に格納される場合に満たされる。識別信号が新プログラミングまたは再プログラミングの間に操作されたデータと共に同様にプログラミングされて，有効にセットされ，制御装置の新プログラミングまたは再プログラミングの後に，新プログラミングまたは再プログラミングに続いて検査機構を実行することを阻止するために，制御装置がオフにされる恐れがある。次に，コンピュータを起動させる際に，識別信号は，有効である値を有しており，新しくプログラミングされたデータは，それが操作されたデータであるにも関わらず，全く普通に利用できる。
【００１２】
【発明が解決しようとする課題】
従って本発明の課題は，データが操作されている場合に，マイクロコンピュータシステムのメモリ装置内のデータの効果的なブロックを可能にすることである。
【００１３】
【課題を解決するための手段】
上記の課題を解決するために，本発明は，冒頭で挙げた種類の方法に基づいて，メモリ装置を新プログラミングまたは再プログラミングする際に，新しいデータが少なくとも部分的に揮発性メモリ，特にランダムアクセスメモリ（ＲＡＭ）へ格納され，検査機構が実行されて，新しいデータの操作が認識されなかった場合に，新しいデータの，揮発性メモリに含まれている部分がメモリ装置にコピーされることを，提案する。
【００１４】
従って本発明によれば，新プログラミングまたは再プログラミングする場合に，まず新しいデータ全体は，そのために本来設けられているメモリ装置へ伝送されない。データの一部は，供給電圧が中断された場合にそのデータを失う，揮発性メモリへコピーされる。検査機構が，データの操作の検出なしに，首尾よく実行された後に，初めて残りの新しいデータが揮発性メモリからメモリ装置へコピーされる。
【００１５】
データの操作が検出された場合には，残りのデータは揮発性メモリからメモリ装置へはコピーされない。検査機構の実行の間，あるいは実行後に電圧供給が中断された場合（パワーダウン）には，揮発性メモリに格納されているデータは失われ，メモリ装置へはコピーされない。いずれの場合にも，メモリ装置に格納されているデータは，不完全であって，利用若しくは実施できない。本発明に基づく方法は，マイクロコンピュータシステムのメモリ装置内の操作されたデータを確実かつ回避できないようにブロックすることを可能にする。操作された制御プログラムの実施または操作されたデータの利用を，有効に阻止することができる。上記の方法は，例えば電圧供給の中断（パワーダウン）のような，外部の影響から完全に独立している。
【００１６】
検査機構は，メモリ装置の内容全体，またはメモリ装置に格納されているデータの一部のみを，操作について検査することができる。しかし，本発明の好ましい展開によれば，検査機構によって揮発性メモリの内容が，操作について検査されることが，提案される。
【００１７】
データの，新プログラミングまたは再プログラミングの枠内で揮発性メモリへ格納される部分の選択は，例えば，定められたアルゴリズムを用いて実行することができる。データを揮発性メモリに格納される部分を選択することによって，データを操作について検査すべき部分を検査することもできる。しかし，本発明の好ましい実施形態によれば，データの，メモリ装置の新プログラミングまたは再プログラミングの際に揮発性メモリに格納される部分は，ランダムに選択されることが，提案される。
【００１８】
多くのマイクロコンピュータシステムにおけるランダム数の生成は，必ずしも一般的ではないので，ランダム数を生成するための種々の可能性が提案される。まず，マイクロコンピュータシステムのアナログ／デジタル（Ａ／Ｄ）−入力におけるノイズ信号を読んで，ノイズ信号に従ってランダム数を生成することができる。Ａ／Ｄ−入力は，接続されていない場合には，ランダムなノイズ信号を供給する。また，メモリ装置の内容にわたる合計を形成して，合計に従ってランダム数を生成することができる。メモリ装置の内容は，マイクロコンピュータシステムの起動前は，整理されておらず，換言すると，ランダムに整理されている。さらに，マイクロコンピュータシステムの立上げの際にリセットされない，コンピュータ内部の時限素子（タイマー）を読んで，時限素子の状態に従ってランダム数を形成することができる。そして，マイクロコンピュータが搭載されている自動車の運転者によって調節可能な変量を利用して，変量に従ってランダム数を形成することができる。運転者により調節可能な変量として，例えば，アクセルペダルの位置または適応的な運転者マップの変量を利用することができる。
【００１９】
本発明の課題の他の解決として，冒頭で挙げた種類のマイクロコンピュータシステムに基づいて，マイクロコンピュータシステムは，メモリ装置の新プログラミングまたは再プログラミングの場合に新しいデータの少なくとも一部をその中に格納することのできる揮発性メモリと，新しいデータの揮発性メモリに格納されている部分とを，前もって実施される検査機構によって，新しいデータが操作されていないことが明らかにされた場合に，メモリ装置へコピーする手段とを有することが，提案される。揮発性メモリは，好ましくはランダムアクセスメモリ（ＲＡＭ）として形成されている。
【００２０】
本発明の好適な展開によれば，マイクロコンピュータシステムは，自動車機能を開ループおよび／または閉ループ制御するための自動車用制御装置として形成されていることが，提案される。
【００２１】
本発明の好適な実施形態によれば，マイクロコンピュータシステムは，本発明に基づく方法を実施するための手段を有していることが，提案される。メモリ装置内にコンピュータプログラムが格納されていることが好ましく，かかるコンピュータプログラムは計算装置上で遂行可能であって，かつ本発明に基づく方法を実施するのに好適である。
【００２２】
メモリ装置は，計算装置と同じ半導体素子上に形成されていることが好ましい。この種のいわゆるオンチップメモリにおいて，プログラムメモリまたはその上に格納されているデータは，外部から操作することができず，それによってマイクロコンピュータシステムは，さらにメモリ装置上に格納されているデータの操作に対して保護されている。
【００２３】
【発明の実施の形態】
本発明の他の特徴，利用可能性および利点は，図面に示す本発明の実施例についての，以下の説明から明らかにされる。その場合に記載されている，あるいは図示されているすべての特徴は，それ自体または任意の組み合わせにおいて，特許請求項におけるその要約またはその帰属に関係なく，かつ説明若しくは図面におけるその表現若しくは表示に関係なく，本発明の対象を形成する。
【００２４】
マイクロコンピュータシステム３０のメモリ装置３２に格納されているデータ３３の操作に対して，図２に示すマイクロコンピュータシステム３０を保護するための本発明に基づく方法のフローチャートが，図１に示されている。マイクロコンピュータシステム３０は，例えば，所定の自動車機能を開ループおよび／または閉ループ制御するための自動車の制御装置として形成されている。データ３３は，例えば，制御プログラム，極限値，またはパラメータとして形成されている。
【００２５】
制御装置３０は，メモリ装置３２に格納されている制御プログラム３３を処理するため，および／またはメモリ装置３２に格納されているデータ３３を処理するためのマイクロプロセッサ３１を具備している。データ３３をメモリ装置３２からマイクロプロセッサ３１へ伝送するために，プロセッサ３１とメモリ３２との間にはデータ伝送接続３４が設けられている。データ３３は，徐々に，あるいは全体的に処理するためにマイクロプロセッサ３１へ伝送される。計算などの結果は，マイクロプロセッサ３１からメモリ装置３２へ伝送される。メモリ装置３２は，マイクロプロセッサ３１と同じ半導体素子上に形成されている（オンチップメモリ）。制御装置３０には，自動車の状態を検出するための種々のセンサからセンサ信号３５が供給される。制御装置３０は，センサ信号３５，データ３３（制御プログラム，パラメータおよび／または極限値）に従って，自動車の状態を調節するアクターのための出力信号３６を求める。
【００２６】
時には，制御装置３０若しくはメモリ装置３２に格納されているデータの新プログラミングまたは再プログラミングを実行することが必要になる場合がある。新プログラミングまたは再プログラミングは，制御プログラムの新しいバージョンまたは新しいパラメータあるいは極限値を制御装置３０に格納するため，例えば，ソフトウェアのエラーを除去するため，あるいは新しい法律的に前もって定められた規定を考慮するために，必要となる場合がある。新プログラミング若しくは再プログラミングのために，メモリ装置３２は，まず消去されて，次に新しいデータ３３を書き込む。矢印３８は，プログラミング装置から新しいデータ３３を制御装置３０へ伝送することを示している。新しいデータ３３が利用できるようになる前に，新しいデータ３３が操作されたデータであるかを検査しなければならない。かかる検査は，予め設定可能な時点で，適当な検査機構若しくはチェックサム形成の実施によって実行される。この種の検査機構は，それ自体従来技術から知られており，ここでは詳細に説明はしない。
【００２７】
図１に示される，本発明に基づく方法は，機能ブロック４０で開始される。機能ブロック４１においては，例えば，自動車のイグニッションキー（この中にマイクロコンピュータシステム３０が制御装置として内蔵されている）を回すことにより，あるいはスタータボタンを押すことによって，マイクロコンピュータシステム３０の起動が開始される。判断ブロック４２において，メモリ装置３２の新プログラミング若しくは再プログラミングのために新しいデータ３３が印加されるかが調べられる。否定された場合には，機能ブロック４８へ分岐して，本発明に基づく方法が終了され，マイクロコンピュータシステム３０の起動が全く通常に続行され，マイクロコンピュータ３０が全く通常に駆動される。
【００２８】
しかし，メモリ装置３２の新プログラミングまたは再プログラミングのためにデータ３３が印加される場合には，機能ブロック４３において新しいデータ３３が制御装置３０へ伝送されて，そこで一部はメモリ装置３２内に，そして一部はマイクロコンピュータシステム３０の揮発性メモリ（例えばランダムアクセスメモリＲＡＭ）３７に格納される。揮発性メモリ３７に格納されたデータ３３は，電圧供給が中断された場合には失われる。機能ブロック４４においては，揮発性メモリ３７に格納されているデータ３３が，従来技術から知られた検査機構（例えばチェックサム形成）を用いて操作について検査される。判断ブロック４５において，検査されたデータ３３が操作されているか否かが判断される。操作されている場合には，機能ブロック４８へ分岐して，本発明に基づく方法が終了される。これは，相変わらずデータ３３の一部は揮発性メモリ３７に格納されているのであって，本来そのために設けられているメモリ装置３２には格納されていないことを意味している。電圧供給が中断されるとすぐに，このデータ３３は失われる。従ってメモリ装置３２に格納されているデータ３３は，完全ではない。新しい制御プログラムは実行できず，あるいはエラーなしには実行できず，新しいパラメータまたは極限値はエラーを有し，あるいは不完全である。従って本発明に基づく方法は，データ３３の操作が認識された場合について，データ３３のブロッキングを可能にしている。
【００２９】
データ３３の操作が認識されなかった場合には，機能ブロック４６において，残りのデータ３３が揮発性メモリ３７からメモリ装置３２へコピーされる。このため，メモリ装置３２に設けられているデータは，完全になる。制御プログラムは，通常に実行することができ，パラメータまたは極限値は，完全に利用可能である。機能ブロック４８において，本発明に基づく方法が終了される。マイクロコンピュータシステム３０の起動は，全く通常に続行されて，マイクロコンピュータシステム３０は，全く通常に駆動される。
【００３０】
【発明の効果】
以上説明したように，本発明のメモリ装置に格納されているデータの操作に対してマイクロコンピュータシステムを保護する方法によれば，データが操作されている場合に，予め設定可能な時点で，データの操作を検査するための検査機構を実行することにより，マイクロコンピュータシステムのメモリ装置内のデータの効果的なブロックをすることが可能になる。
【００３１】
さらに，本発明のマイクロコンピュータシステムによれば，計算装置，特にマイクロプロセッサと，データ，特に制御プログラムを格納可能なメモリ装置と，予め設定可能な時点で実施可能な，データの操作を検査するための検査機構とを有することが実現される。
【図面の簡単な説明】
【図１】好ましい実施形態に基づく本発明方法のフローチャートである。
【図２】好ましい実施形態に基づく本発明のマイクロコンピュータシステムを示している。
【符号の説明】
３０    マイクロコンピュータシステム
３１    マイクロプロセッサ
３２    メモリ装置
３３    データ
３４    データ伝送接続
３５    センサ信号
３６    出力信号
３７    揮発性メモリ
３８    矢印
４０，４１，４３，４４，４６，４７，４８    機能ブロック
４２，４５    判断ブロック
【図１】
0004563644.tif 000002
【図２】
0004563644.tif 000003