(57)【要約】  本発明は、複数のＩＰコアからなるシステムオンチップ（ＳｏＣ）におけるエラー識別方法に関するものであり、ここで各ＩＰコアは、エラー封じ込めユニットであり、ＩＰコアはネットワークオンチップを介してメッセージにより相互に通信し、優れたＩＰコアがＴＲＭ（Ｔｒｕｓｔｅｄ  Ｒｅｓｏｕｒｃｅ  Ｍｏｎｉｔｏｒ）を実現し、優先されないＩＰコアから別の優先されないＩＰコアに送信される、エラーのある制御メッセージが、エラー封じ込めユニットによって識別され、破棄され、これにより当該エラーのある制御メッセージがメッセージ受信器の故障の原因となり得ない。【選択図】図３
2012532385.tif 000002
【特許請求の範囲】
【請求項１】
複数のＩＰコアからなるシステムオンチップ（ＳｏＣ）におけるエラー識別方法であって、各ＩＰコアは、エラー封じ込めユニットであり、ＩＰコアはネットワークオンチップを介してメッセージにより相互に通信し、優れたＩＰコアがＴＲＭ（Ｔｒｕｓｔｅｄ  Ｒｅｓｏｕｒｃｅ  Ｍｏｎｉｔｏｒ）を実現する方法において、
優先されないＩＰコアから別の優先されないＩＰコアに送信される、エラーのある制御メッセージが、エラー封じ込めユニットによって識別され、破棄され、これにより当該エラーのある制御メッセージがメッセージ受信器の故障の原因となり得ないことを特徴とする方法。
【請求項２】
優先されないＩＰコアから別の優先されないＩＰコアに送信すべき各制御メッセージは、まず第３のＩＰコアに送信され、
該第３のＩＰコアはメッセージを検査し、前記メッセージにエラーがない場合、該第３のＩＰコアは当該メッセージを意図する最終的な前記受信器に転送する、ことを特徴とする請求項１記載の方法。
【請求項３】
検査する前記ＩＰコアは、検査する前記ＩＰコアにアプリオリに既知の確約の１つの評価が、値を間違って有している場合にエラーがあると分類する、ことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記第３のＩＰコアは前記ＴＲＭである、ことを特徴とする請求項２または３に記載の方法。
【請求項５】
前記ＴＲＭは権限のある送信器からのメッセージだけ、すなわち制御メッセージだけを、当該メッセージに挙げられたＩＰコアに送信、転送する、ことを特徴とする請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記ＴＲＭだけが制御メッセージを、優先されないＩＰコアのＴＩＩ（ｔｅｃｈｎｏｌｏｇｙ−ｉｎｄｅｐｅｎｄｅｎｔ  ｉｎｔｅｒｆａｃｅ）に送信することができる、ことを特徴とする請求項１から５のいずれか一項に記載の方法。
【請求項７】
各制御メッセージは、ＩＰコアの前記ＴＩＩインタフェースに送信しなければならない、ことを特徴とする請求項１から６のいずれか一項に記載の方法。
【請求項８】
他のＩＰコアのうちの各１つが少なくとも３つのメッセージを所定の時間インターバル内で前記ＴＲＭに送信しなければならず、受信する前記ＴＲＭが、これら前記メッセージが呼びかけられた前記ＩＰコアの前記ＴＩＩインタフェースに転送される前に、前記３つのメッセージのうち少なくとも２つが同じ命令を含んでいるか否かを検査する、ことを特徴とする請求項１から７のいずれか一項に記載の方法。
【請求項９】
他のＳｏＣのうちの各１つが前記少なくとも３つのメッセージを所定の時間インターバル内で前記ＴＲＭに送信しなければならず、受信する前記ＴＲＭが、これらメッセージが呼びかけられた前記ＩＰコアの前記ＴＩＩインタフェースに転送される前に、前記３つのメッセージのうち少なくとも２つが同じ命令を含んでいるか否かを検査する、ことを特徴とする請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記ＴＲＭ、前記ネットワークオンチップおよび前記ネットワークインタフェースからなる優先されるサブシステムの機能が、エラー補正されたコードによって保護され、ことを特徴とする請求項１から９のいずれか一項に記載の方法。
【請求項１１】
１つもしくは複数またはすべての方法ステップが、前記ＳｏＣのハードウエアで直接実行される、ことを特徴とする請求項１から１０のいずれか一項記載の方法を実施するための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、埋込型コンピュータシステムにおけるシステムオンチップの信頼性を改善する方法および装置に関する。
【背景技術】
【０００２】
とりわけ本発明は、複数のＩＰコアからなるシステムオンチップ（ＳｏＣ）でのエラー識別方法に関するものであり、各ＩＰコアはエラー封じ込めユニットであり、ここではＩＰコアがネットワークオンチップを介してメッセージにより互いに通信し、優れたＩＰコアがＴＲＭ（Ｔｒｕｓｔｅｄ  Ｒｅｓｏｕｒｃｅ  Ｍｏｎｉｔｏｒ）を実現する。
【０００３】
システムオンチップ（ＳｏＣ）とは、システム機能の大部分がただ１つのシリコンチップに集積されているシステムのことである。ポラックの規則（非特許文献１）のため、高性能のＳｏＣはネットワークオンチップを介して通信する複数のＩＰコアからなる。１つのＩＰコアは、所定の機能を満たすハードウエア／ソフトウエアコンポーネントである。ＩＰコアの通信は、共通のメモリへのＩＰコアのアクセスを介して、またはメッセージを介して行うことができる。特許文献１には、ＩＰコアがもっぱらメッセージを介して通信するＳｏＣアーキテクチャが紹介されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際特許出願ＰＣＴ／ＡＴ／２００９／００２０７
【特許文献２】ＰＣＴ／ＡＴ２００６／００２７８
【非特許文献】
【０００５】
【非特許文献１】Ｂｏｒｋａｒ，  Ｓ．  （２００７）  Ｔｈｏｕｓａｎｄ−Ｃｏｒｅ  Ｃｈｉｐｓ，  Ａ  Ｔｅｃｈｎｏｌｏｇｙ  Ｐｅｒｓｐｅｃｔｉｖｅ，  Ｐｒｏｃ．  ｏｆ  ｔｈｅ  ４４ｔｈ  ＡＣＭ  ＩＥＥＥ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ，  ｐ．  ７４６−７４９，  ＡＣＭ  Ｐｒｅｓｓ，  Ｎｅｗ  Ｙｏｒｋ
【非特許文献２】Ｋｏｐｅｔｚ，Ｈ．（１９９７））。Ｒｅａｌ−Ｔｉｍｅ  Ｓｙｓｔｅｍｓ，  Ｄｅｓｉｇｎ  Ｐｒｉｎｃｉｐｌｅｓ  ｆｏｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｅｍｂｅｄｄｅｄ  Ａｐｐｌｉｃａｔｉｏｎｓ；ＩＳＢＮ：  ０−７９２３−９８９４−７．  Ｂｏｓｔｏｎ．  Ｋｌｕｗｅｒ  Ａｃａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ＳｏＣのエラーのあるＩＰコアが、エラーに直接関与しない他のＩＰコアに故障を引き起こすことを阻止することを目的とする。
【０００７】
したがって本発明の目的は、多数のコンポーネント（ＩＰコア）がもっぱらメッセージにより通信するシステムオンチップ（ＳｏＣ）において、１つのＩＰコアのエラーが、エラーに直接関与しない他のＩＰコアに伝播するのを阻止することである。
【課題を解決するための手段】
【０００８】
この目的は、優先されないＩＰコアから別の優先されないＩＰコアに送信されるエラーのある制御メッセージが、（定義により独立した）エラー封じ込めユニットによって識別され、破棄され、これによりこのエラーのある制御メッセージがメッセージ受信器の故障の原因となり得ないことによって達成される。
【０００９】
他のＩＰコアの故障を引き起こし得るＩＰコアのメッセージを第３のＩＰコアにより検査することができ、エラーのあるＩＰコアから送信されるこのエラーのあるメッセージが他のＩＰコアの故障に作用することを阻止するために、場合により破棄することができる。
【００１０】
優先されないＩＰコアから別の優先されないＩＰコアに送信されるべき各制御メッセージが、まず第３のＩＰコアに送信されるととくに有利であり、この第３のＩＰコアはメッセージを検査し、メッセージにエラーがない場合には、このメッセージがこの第３のＩＰコアから意図する最終の受信器にさらに転送される。
【００１１】
検査するＩＰコアは、検査するＩＰコアにアプリオリに既知の確約の１つの評価が、値を間違って有している場合にエラーがあると分類することができる。
【００１２】
ＴＲＭの第３のＩＰコアの利点
さらに、ＴＲＭが権限のある送信器からのメッセージだけ、すなわち制御メッセージだけを、このメッセージに挙げられたＩＰコアに送信または転送すると好ましい。
【００１３】
さらに、ＴＲＭだけが制御メッセージを、優先されないＩＰコアのＴＩＩ（ｔｅｃｈｎｏｌｏｇｙ−ｉｎｄｅｐｅｎｄｅｎｔ  ｉｎｔｅｒｆａｃｅ、技術的に独立したインタフェース）に送信できるようにすることができる。
【００１４】
各制御メッセージを、ＩＰコアのＴＩＩインタフェースに送信しなければならないと好ましい。
【００１５】
さらに、他のＩＰコアのうちの各１つが少なくとも３つのメッセージを所定の時間インターバル内でＴＲＭに送信しなければならず、受信するＴＲＭが、これらのメッセージが呼びかけられたＩＰコアのＴＩＩインタフェースに転送される前に、３つのメッセージのうち少なくとも２つが同じ命令を含んでいるか否かを検査するようにすることができる。
【００１６】
さらに、他のＳｏＣのうちの各１つが少なくとも３つのメッセージを所定の時間インターバル内でＴＲＭに送信しなければならず、受信するＴＲＭが、これらのメッセージを呼びかけられたＩＰコアのＴＩＩインタフェースに転送する前に、３つのメッセージのうち少なくとも２つが同じ命令を含んでいるか否かを検査するようにすることができる。
【００１７】
ＴＲＭ、ネットワークオンチップおよびネットワークインタフェースからなる優先されるサブシステムの機能が、エラー補正されたコードによって保護されると好ましい。
【００１８】
さらに本発明は、上記方法の１つを実施するための装置に関するものであり、ここで１つもしくは複数またはすべての方法ステップはＳｏＣのハードウエア上で直接実行される。
【００１９】
前に記載した本発明の目的および他の新規の特性を、以下の図面で説明する。
【図面の簡単な説明】
【００２０】
【図１】システムオンチップ（ＳｏＣ）の構造を示す図。
【図２】ＳｏＣのＩＰの構造を示す図。
【図３】ＩＰコアからＳｏＣの別のＩＰコアへの制御メッセージの送信を示す図。
【発明を実施するための形態】
【００２１】
以下の節では、新規の方法の実現が、８つのＩＰコアを有するＳｏＣの可能な例で示される。
【００２２】
図１は、８つのＩＰコアを１１１，１１２，１１３，１１４，１１５，１１６，１１７および１１８を備えるＳｏＣ１００を示す。これら８つのＩＰコアは、ネットワークオンチップ１０１を介してメッセージを交換することができる。各ＩＰコア、たとえばＩＰコア１１４は、ネットワークインタフェース（ＮＩ）１０２を介してＮｏＣ１０１に接続されている。これら８つのＩＰコアの１つ、たとえばＩＰコア１１１は、優先されたＩＰコアであり、信頼されるリソースモニタ（ＴＲＭ）と称される。一方、残りの７つのＩＰコア１１２，１１３，１１４，１１５，１１６，１１７および１１８は優先されないＩＰコアである。ＴＲＭ１１１、ネットワークオンチップ１０１および８つのネットワークインタフェース１０２は、ＳｏＣ１００の優先されたサブシステムを形成する。この優先されるサブシステムにおけるエラーは、ＳｏＣ全体の故障を引き起こし得る。したがって本発明によれば、優先されるサブシステムの機能が、特別のエラー保護措置、たとえばエラー補正されたコードを使用することによって保護される。対応するエラー補正されたコードにより、優先されたサブシステムにおける一時的ハードウエアエラーおよび恒久的ハードウエアエラーを識別し、補正することができる。
【００２３】
７つの優先されないＩＰコアの各々は、固有のエラー封じ込めユニット（ＦＣＵ）を形成する（非特許文献２）、すなわち優先されないＩＰコア内の任意のソフトウエアエラーまたはハードウエアエラーの結果は、該当するＩＰコアの機能だけを直接的に障害することができるが、他のＩＰコアの機能には、エラーのあるメッセージを介して間接的にしか作用することができない。エラーのあるメッセージを識別し、破棄することができれば、ＩＰコアエラーの直接的結果は伝播することができない。特許文献２には、ＩＰコアメッセージの一時的エラーを、ＮｏＣ１０１のネットワークインタフェース（ＮＩ）１０２によって識別し、破棄することが記載されている。特許文献１に対応して、一時的パラメータをＮＩ１０２に書き込むのはＴＲＭ１１１にだけ許容されている。これは、エラーのあるＩＰコアがメッセージの送信パートナーを自立的に変更できることを阻止するためである。しかし特許文献２に記載されたような方法は、エラーのある優先されないＩＰコアの内容的エラーのある制御メッセージが、別の優先されないＩＰコアに送信され得ることを阻止しない。
【００２４】
図２は、優先されないＩＰコア、たとえばＩＰコア１１４の構造を示す。このＩＰコアは４つの外部インタフェース２１１，２１２，２１３および１２２を有する。３つのメッセージインタフェース２１１，２１２および２１３は、図１のネットワークインタフェース（ＮＩ）１０２と接続されている。インタフェース１２２はＩＰコアのローカルインタフェースであり、これを介してＳｏＣ１００の外界との接続が実現される。このインタフェース１２２は、たとえばＳｏＣ１００の環境への入／出力ネットワーク（たとえばＣＡＮネットワーク）または無線接続とすることができる。
【００２５】
メッセージインタフェース２１１のことを、ＩＰコア１１４のリンキングインタフェース（ＬＩＤＦ）と称する。ＬＩＦ２１１を介して、ＩＰコア１１４のサービスがＳｏＣ１００の７つの他のＩＰコアに提供される。
【００２６】
メッセージインタフェース２１２は技術依存インタフェース（ＴＤＩ）と称され、このインタフェースにより保守技術者はＩＰコア１１４の内部機能と通信することができる。このＴＤＩメッセージのフォーマットおよび内容は、ＩＰコアの具体的実現技術に依存しているから、このインタフェースは実現に依存する。
【００２７】
メッセージインタフェース２１３は、ＴＩＩ（技術依存インタフェース）と称される。このＴＩＩインタフェース２１３を介して、ＩＰコア１１４のコンフィギュレーションとフロー制御が制御メッセージによって実現される。制御メッセージとは、ＩＰコア内の計算フローを制御するメッセーである。たとえば制御メッセージにより、ＩＰコア１１４全体のハードウエアリセットが行われ、またはＩＰコア１１４のプログラム実行のスタートもしくはプログラム実行の終了が指示される。さらに制御メッセージにより、ＳｏＣのコンフィギュレーションまたは再コンフィギュレーションを行うことができる。ＩＰコアのＴＩＩインタフェースに送信されるエラーのある制御メッセージは、たとえばＩＰコア１１４が正しく動作している間に、エラーのあるハードウエアリセットメッセージがＴＩＩインタフェース２１３で突然受信されると、ＩＰコア１１４に故障を引き起こし得る。図２には、ＩＰコア１１４の内部構造も示されている。最下レベル２０１上には、ＩＰコア１１４にロードされたソフトウエアを実行するＩＰハードウエアが存在する。次のレベル２０２上には、ＩＰコア内部オペレーティングシステムが存在し、レベル２０３上にはＩＰコア内部ミドルウエアが存在する。最後にレベル２０４上にはアプリケーションソフトウエアが存在する。ミドルウエア２０３とアプリケーションソフトウエア２０４の間のＩＰコア内部インタフェース２１３は、アプリケーションプログラムインタフェース（ＡＰＩ）２１４と称される。ＴＩＩインタフェース２１３を介して受信されるメッセージは、ＩＰコアハードウエア２０１（たとえばリセットメッセージ）、オペレーティングシステム２０２（たとえば処理を終了するための制御メッセージ）またはミドルウエア２０３と直接通信するが、アプリケーションソフトウエア２０４とは通信しない。したがって優先されないＩＰコアのアプリケーションソフトウエアは、ＴＩＩインタフェース２１３を介して到来するエラーのある制御メッセージを識別することができない。
【００２８】
図３は、制御メッセージが優先されないＩＰコアのＴＩＩインタフェースに送信されることを示す。たとえばＩＰコア１１５がリセットメッセージ１４０をＩＰコア１１６に送信すべき場合、ＩＰコア１１５はこのメッセージ１４０を本発明にしたがい、まず第３の独立したＩＰコア、すなわちＴＲＭ１１１に送信しなければならない。ＴＲＭ１１１は、このメッセージ１４０にエラーがあるか否かを検査する。この検査は、ＴＲＭにはアプリオリに既知でなければならない確約（Ａｓｓｅｒｔｉｏｎｓ）に基づいて行われる。この確約は、システム全体の状態、送信器のＩＤ、メッセージの時点、メッセージの内容の状態に関連することができる。ＴＲＭにより評価されたすべての確約が正しければ、ＴＲＭはリセットメッセージ１４１を、ＩＰコア１１５のＴＩＩインタフェースに送信する。本発明によれば、アーキテクチャにより、（優先される）ＴＲＭ１１１だけが優先されないＩＰコアのＴＩＩインタフェースにメッセージを送信できることが保証されなければならない。優先されないＩＰコアの実現は、ＩＰコアの故障を引き起こし得る制御メッセージ（たとえばリセットメッセージ）がＴＩＩインタフェースを介して受信できないことを保証しなければならない。したがって本発明によれば、優先されないＩＰコアが、制御メッセージを他の優先されないＩＰコアに直接送信することが不可能である、
安全性に関連するシステムでは、確約による制御メッセージのエラー識別は不十分であるとみなされる。このようなシステムでは、並列に動作する３つのＩＰコアが、制御メッセージに埋め込まれた制御命令を計算しなければならない。ＴＲＭは、これら３つの制御メッセージを比較し、これらメッセージの少なくとも２つが同じ場合だけ、対応するメッセージを受信器のＴＩＩインタフェースにさらに送信する。これにより、任意のエラーが３つの送信ＩＰコアの１つでマスクされる。信頼性の高いシステムでは、ただ１つのＳｏＣ内に発生し得るコモンモードエラーを阻止するために、この３つの並列な制御メッセージが３つの独立したＳｏＣから発生なければならない。
【００２９】
本発明により、ＳｏＣの信頼性が格段に改善される。なぜなら、エラーのあるＩＰコアが他のＩＰの故障の原因となり得ることが阻止されるからである。受信側ＩＰコアにおけるエラー識別には意味がない。なぜなら、受信するＩＰコアは、エラーの場合には固有のエラー識別を正しく実行することができないからである。
【００３０】
ここに記載した本発明の具体的実現は、本発明の多数の実現可能性のうちの１つに過ぎない。
【図１】
2012532385.tif 000003
【図２】
2012532385.tif 000004
【図３】
2012532385.tif 000005
【国際調査報告】
2012532385.tif 000006
2012532385.tif 000007
2012532385.tif 000008
2012532385.tif 000009