(57)【特許請求の範囲】
【請求項１】
プログラムのアドレス空間（１８）がブロック上に対応付けられかつブロックが単段モードで操作される間に、プログラムの第１イメージが実行（１１）され、
第１イメージの一部が、ブロック内の特定のブロック上に対応付けられたアドレス空間（１８）の内部のアドレス領域から、メモリの安全ブロック（１９）内に複写（１２）され、
アドレス領域が一時的に安全ブロック（１９）に対応付けられた間に、ブロックはマルチレベルモードに移行されかつ第１イメージの一部に追加してプログラムの第２イメージ（１７）の一部によりプログラミング（１３）され、
ブロックがマルチレベルモードのままである間に、アドレス領域が再びブロックに対応付けられるように切り換え（１４）られ、
第２イメージ（１７）のプログラミング（１３）が完了しない（１５、Ｎ）間は、第２イメージ（１７）の他の部分により複写（１２）、プログラミング（１３）および切換（１４）が反復され、
第２イメージ（１７）のプログラミング（１３）が完了した（１５、Ｙ）とき、選択的に、第１イメージまたは第２イメージ（１７）が実行（１６）されること、
を特徴とする、複数のブロックを含むメモリ内のプログラムの更新方法（１０）。
【請求項２】
実行（１６）の間に第２イメージ（１７）の機能性が検査され、
機能性が保証されているとき、ブロックがシングルレベルモードに戻される、
ことを特徴とする請求項１に記載の方法（１０）。
【請求項３】
マルチレベルセルの情報の評価を可能にするために、メモリがより多くのアクセスタイムで操作されることを特徴とする請求項１に記載の方法（１０）。
【請求項４】
制御装置は正常なシングルレベルモードで操作可能であり、この場合、アクセスタイムはより短く、したがって、性能はより高く、
制御装置はマルチレベルモードで操作可能であり、この場合、アクセスタイムはより長く、したがって、性能はより低いこと、
を特徴とする請求項１に記載の方法（１０）。
【請求項５】
プログラムは、自動車の付属装置または内燃機関を制御するように適合されていることを特徴とする請求項１〜４のいずれか一項に記載の方法（１０）。
【請求項６】
プログラミングの前に第２イメージ（１７）がオンエア・インタフェースを介して自動車内に伝送されることを特徴とする請求項５に記載の方法（１０）。
【請求項７】
メモリが不揮発性であることを特徴とする請求項１〜６のいずれか一項に記載の方法（１０）。
【請求項８】
メモリがフラッシュＥＥＰＲＯＭ、ＮＡＮＤフラッシュまたはＮＯＲフラッシュであることを特徴とする請求項７に記載の方法（１０）。
【請求項９】
請求項１〜８のいずれか一項に記載の方法（１０）を実行するように設計されているコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムがその上に記憶されている、マシンが読取り可能な記憶媒体。
【請求項１１】
請求項１〜８のいずれか一項に記載の方法（１０）を実行するように設計されている装置（２０）。
【請求項１２】
マイクロコントローラの形の、請求項１１に記載の装置（２０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの更新方法に関する。本発明は、さらに、対応装置、対応コンピュータプログラム並びに対応記憶媒体に関する。
【背景技術】
【０００２】
その内容が電気的に消去可能な不揮発性電子メモリ素子は、当業者に、電気的に消去可能なプログラミング可能読取り専用メモリ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ，ＥＥＰＲＯＭ）として既知である。以下の説明の範囲内において、用語“ＥＥＰＲＯＭ”は、この場合、他の語義で使用され、通常のＥＥＰＲＯＭのほかに、同様に、最新の、ブロックごとに消去可能な、いわゆるフラッシュメモリを含む。少ないエネルギー消費で不揮発性記憶を可能にするために、従来技術の車両電子装置において、このフラッシュＥＥＰＲＯＭメモリが優先的に使用され、フラッシュＥＥＰＲＯＭメモリにおいて、個々のメモリセル内に記憶される情報は、金属絶縁体半導体電界効果トランジスタ（ｍｅｔａｌ  ｉｎｓｕｌａｔｏｒ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｆｉｅｌｄ−ｅｆｆｅｃｔ  ｔｒａｎｓｉｓｔｏｒ，ＭＩＳＦＥＴ）のフローティングゲート上またはチャージ・トラッピング・メモリ素子内に充電の形で記憶される。基本的に、メモリセルは、ここでは、いわゆるセルアレイ（ｃｅｌｌ  ａｒｒｅｙ）内のマトリックスとして配置され、この場合、座標を介して、メモリセルの列または行の選択のためにアドレス導線が使用され、かつ他の座標内でデータ導線がメモリセルに通じている。
【０００３】
メモリ密度を増大させるために、ここでは、時々、マルチレベルセル（ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌｓ，ＭＬＣｓ）が使用され、マルチレベルセルにおいては、セルごとに１ビットより多くが記憶される。これを可能にするように、２つより多い可能な状態を区別しかつ１ビットより多くを記憶可能にするために、１つのメモリセル内に記憶される充填量が細かく配分され、かつ読取りにおいてもまたより正確に評価される。これは、シングルレベルセル（ｓｉｎｇｌｅ−ｌｅｖｅｌ  ｃｅｌｌ，ＳＬＣ）に比較して、より遅い読取りおよび書込み速度という欠点を含む。ＭＬＣは、さらに、本質的に、場合により発生する充填損失に、より敏感に応答する。
【０００４】
独国特許出願公開第１０２０１４２２３０３５号明細書に、コンピュータシステムの内部における、揮発性メモリのメモリインタフェースと、特にＭＬＣ−ＮＡＮＤメモリのメモリインタフェースと、およびマイクロコントローラのインタフェースとの間のデータ伝送方法が紹介され、この方法は、マイクロコントローラのブート過程の開始時にＭＬＣ−ＮＡＮＤメモリのメモリインタフェースからデータを読み取り、かつ読み取られたデータを揮発性メモリのメモリインタフェースに提供することを含む。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】独国特許出願公開第１０２０１４２２３０３５号明細書
【発明の概要】
【０００６】
本発明は、独立請求項に記載のプログラムの更新方法、対応装置、対応コンピュータプログラム並びに対応記憶媒体を提供する。
本発明による手法は、ここでは、最新のシステムにおいて、車両電子システムのソフトウェア（ＳＷ）の工場側による更新の高コストにより、インストラクションおよびデータを含むイメージ（ｉｍａｇｅ）がオンエア・インタフェース（ｏｖｅｒ  ｔｈｅ  ａｉｒ，ＯＴＡ）を介して変更されることが多くなっているという知見に基づいている。このような更新を実行するために、種々の可能性が提供され、これらはそれぞれ種々の利点および欠点を有する。
【０００７】
通常の方法は、２つのシステムイメージを取得することによるものであり、１つのシステムイメージから、エンジン制御の場合、例えばエンジン運転が保持され、一方、新たなシステムイメージが当該制御装置（ｅｌｅｃｔｒｏｎｉｃ  ｃｏｎｔｒｏｌ  ｕｎｉｔ，ＥＣＵ）に伝送される。エンジンの次の始動において、制御装置は、新たなシステムイメージに基づいて運転可能である。
【０００８】
この通常の方法を支援するために、両方のシステムイメージが同時に不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ，ＮＶＭ）内に記憶されなければならないので、ＯＴＡが不可能な場合、制御装置が必要とするだけ多くのメモリ位置が倍増される。これは、そのＯＴＡ可能性が車両メーカまたは原車両メーカ（ｏｒｉｇｉｎａｌ  ｅｑｕｉｐｍｅｎｔ  ｍａｎｕｆａｃｔｕｒｅｒ，ＯＥＭ）により最終的に使用されたか否かとは無関係に、対応制御装置の製造において高い部品コストという欠点を含む。
【０００９】
したがって、更新のために２つのシステムイメージを記憶する間、メモリセルをＭＬＣとして、すなわち少なくとも二段で使用することが提案される。この方法の利点は、通常の方法に比較してその少ないメモリセル需要にある。ＭＬＣ技術を使用することにより、むしろ、追加メモリ容量の一部分が必要とされるにすぎない。
【００１０】
従属請求項に記載の手段により、独立請求項に記載の基本的概念の変更および改善が可能である。すなわち、車両制御装置において、マイクロコントローラ（μＣ）に基づいてＯＴＡ更新の範囲内で方法を使用するように設計されていてもよい。このようにして、使用において、通常のようにコスト上の欠点を有しながらより多くのフラッシュメモリを有するμＣが使用されるか、またはＯＴＡで両方のシステムイメージをＮＶＭ内に取得するために低下されたシステム性能（ｐｅｒｆｏｒｍａｎｃｅ）が許容されるかが決定されてもよい。
【００１１】
本発明の実施例が図面に示されかつ以下の記載により詳細に説明される。
【図面の簡単な説明】
【００１２】
【図１】図１は、第１実施形態による方法の流れ図を示す。
【図２】図２は、方法の第１ステップを示す。
【図３】図３は、方法の第２ステップを示す。
【図４】図４は、方法の第３ステップを示す。
【図５】図５は、方法の第４ステップを示す。
【図６】図６は、方法の結果を示す。
【図７】図７は、第２実施形態による制御装置を略図で示す。
【発明を実施するための形態】
【００１３】
図１は、ここでは、図２ないし６のそれぞれ１つと共に説明されている、提案された方法（１０）の基本的な機能態様を示す。最後の図において、ＳＬＣモードで操作されるセルがここでは実線で示され、これに対してＭＬＣモードで操作されるセルは破線で示されている。
【００１４】
図２は、この場合、はじめに、正常操作状態（１１）を示し、正常操作状態において、プログラムの第１イメージが関連するアドレス空間（１８）内で実行され、その間、全てのメモリブロックのセルは、ＳＬＣとして、すなわち単段で操作される。個々のブロックは、ここでは、それぞれ１Ｍバイトを含んでもよく、この場合、このときの更新のために、必ずしもプログラムのアドレス空間（１８）によって含められない、はじめはまだ使用されていない同一サイズの安全ブロック（１９）が提供されている。
【００１５】
図３は、新たなイメージの要求による構成を示す。ここでは、１つのブロックの内容が安全ブロック（１９）内に複写（１２）された。元のブロックに付属されたはじめのアドレス領域は、このときハードウェア的に安全ブロック（１９）上に対応付けられ、したがって、安全ブロックは、実行中のプログラムの観点から、同様にプログラムのアドレス空間（１８）内に「はめ込まれて」いる。
【００１６】
ここで、図４に示されているように、元のブロックがＭＬＣモードに切り換えられ、かつ第１イメージに追加して、ブロックサイズに対応する第２イメージ（１７）の一部がプログラミングされる（１３）。プログラムのアドレス空間（１８）内のプログラミングされるブロックは常にほぼ安全ブロック（１９）に対して「交換されて」いるので、第１イメージの機能可能性はこのプログラミング過程によって影響されない。
【００１７】
次に、ＭＬＣブロックは再び上記の意味において元のアドレスにはめ込み可能であり（１４）、その間、ＭＬＣブロックは多段モードのままであるので、第１イメージは図５のようにさらに実行可能である。それに対応して、全てのブロックがＭＬＣモードに存在しかつ両方のイメージが完全にＮＶＭ内に存在するまで他のブロックにより実行され（判定１５−図１）、これが図６に示す状態（１６）に対応する。
【００１８】
この終端状態（１６）において、選択的に、プログラムの第１または第２イメージが実行可能である。第２イメージ（１７）の機能性が、例えばこのように更新された車両の種々の制御装置と結合して保証された後に、連続操作におけるプログラムの信頼性を最大にするために、ブロックは、順序が逆の方法で、再び単段モードに戻されてもよい。
【００１９】
この方法（１０）は、図７の略図が示すように、例えばソフトウェアまたはハードウェアにおいて、あるいはソフトウェアおよびハードウェアからなる混合形式において、制御装置（２０）内において実行可能である。
【符号の説明】
【００２０】
１０  方法
１１  実行、正常操作状態
１２  複写
１３  プログラミング
１４  切換
１５  判定
１６  実行、終端状態
１７  第２イメージ
１８  アドレス空間
１９  安全ブロック
２０  制御装置
【図１】
0006832448.tif 000002
【図２】
0006832448.tif 000003
【図３】
0006832448.tif 000004
【図４】
0006832448.tif 000005
【図５】
0006832448.tif 000006
【図６】
0006832448.tif 000007
【図７】
0006832448.tif 000008