(57)【特許請求の範囲】
【請求項１】
一次１５５３機能を実装する第１の論理回路（２１０）であって、１５５３バストランシーバ（２３４）および一次メモリ（２３０）に結合された第１の論理回路（２１０）と、
二次１５５３機能を実装する第２の論理回路（２１２）であって、前記１５５３バストランシーバ（２３４）および二次メモリ（２３２）に結合された第２の論理回路（２１２）と、
前記第１の論理回路（２１０）および前記第２の論理回路（２１２）に結合された検査メカニズム（２１４）と
を含む、１５５３シリアルデータバスを動作させるためのデバイスであって、
前記第１の論理回路（２１０）および第２の論理回路（２１２）は、自己検査プロセッサペア（１１２、１１４）に結合され、
前記１５５３バストランシーバ（２３４）を介して１５５３バス（１４０）上で送信するための発信データが、前記自己検査プロセッサペアのマスタプロセッサ（１１２）から受信されるとき、前記第１の論理回路（２１０）が、前記発信データを前記一次メモリ（２３０）中に記憶し、前記第２の論理回路（２１２）が、前記発信データを前記二次メモリ（２３２）中に記憶し、前記発信データのコピーが前記自己検査プロセッサペアにエコーバックされ、
前記一次１５５３機能（２１０）が、前記一次メモリ（２３０）に記憶された前記発信データをフォーマットして、第１の１５５３フォーマット済みメッセージにし、前記１５５３バストランシーバ（２３４）を動作させて、前記第１の１５５３フォーマット済みメッセージを前記１５５３バス（１４０）に書き込み、
前記二次１５５３機能（２１２）が、前記二次メモリ（２３２）に記憶された前記発信データをフォーマットして、第２の１５５３フォーマット済みメッセージにし、
前記検査メカニズム（２１４）が、前記第１の１５５３フォーマット済みメッセージを前記第２の１５５３フォーマット済みメッセージと比較し、前記第１の１５５３フォーマット済みメッセージが前記第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成する、デバイス。
【請求項２】
着信メッセージが前記１５５３バストランシーバ（２３４）を介して前記１５５３バス（１４０）上で受信されるとき、前記第１の論理回路（２１０）が、前記着信メッセージを前記一次メモリ（２３０）中に記憶し、前記第２の論理回路（２１２）が、前記着信メッセージを前記二次メモリ（２３２）中に記憶し、
前記一次１５５３機能（２１０）が、前記一次メモリ（２３０）に記憶されたときの前記着信メッセージから第１のデータセットを復号し、前記第１のデータセットを前記自己検査プロセッサペア（１１２、１１４）に送信し、
前記二次１５５３機能（２１２）が、前記二次メモリ（２３２）に記憶されたときの前記着信メッセージから第２のデータセットを復号し、
前記検査メカニズム（２１４）が、前記自己検査プロセッサペアに送信されたときの前記第１のデータセットを前記第２のデータセットと比較し、前記自己検査プロセッサペア（１１２、１１４）に送信されたときの前記第１のデータセットが、前記第２のデータセットと一致しないときに、エラーメッセージを生成する、請求項１に記載のデバイス。
【請求項３】
１５５３バスデータ通信を検査するための方法であって、
前記１５５３バスデータ通信のための発信データを、自己検査プロセッサペア（１１２、１１４）のマスタプロセッサ（１１２）から受信するステップと、
前記発信データを一次メモリ（２３０）中に記憶するステップと、
前記発信データを二次メモリ（２３２）中に記憶するステップと、
前記発信データのコピーを前記自己検査プロセッサペア（１１２、１１４）にエコーバックするステップと、
前記一次メモリ（２３０）から前記発信データを読み取るステップ（３１０）と、
前記二次メモリ（２３２）から前記発信データのコピーを読み取るステップ（３２０）と、
前記一次メモリ（２３０）からの前記発信データから第１の１５５３フォーマット済みメッセージを生成するステップ（３３０）と、
前記二次メモリ（２３２）からの前記発信データの前記コピーから第２の１５５３フォーマット済みメッセージを生成するステップ（３４０）と、
前記第１の１５５３フォーマット済みメッセージを、１５５３シリアルバスへの送信のために１５５３トランシーバに送信するステップ（３５０）と、
前記第１の１５５３フォーマット済みメッセージが前記１５５３トランシーバに送信されているときに、前記第１の１５５３フォーマット済みメッセージを前記第２の１５５３フォーマット済みメッセージと照合するステップ（３６０）と、
前記第１の１５５３フォーマット済みメッセージが前記第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成するステップ（３７０）と
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１５５３バス動作の自己検査のためのシステムおよび方法に関する。
【背景技術】
【０００２】
[0001]特定のクリティカルなシステムでは、システム構成要素間での、検出されていない誤った情報の送信に耐えることができない。自己検査ペアとして構成されたプロセッサおよびＭＩＬ−ＳＴＤ−１５５３シリアルバス標準を使用する、フォールトトレラントコンピューティングシステムなどの設計の導入が、データ誤りを検出し、それに反応するための改善された手段を提供している。しかしながら、有人の宇宙打ち上げビークルなどの特定の用途では、検出されていない誤ったデータを使用する処理の実例をさらに一層削減することによって、これらのビークルの安全性および信頼性を高める続ける要求が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0002]本明細書を読み、理解するときに、当業者には明らかとなる以上で述べた理由、および以下で述べる他の理由のために、当技術分野において、１５５３バス動作の自己検査のための改善されたシステムおよび方法の必要性が存在する。
【課題を解決するための手段】
【０００４】
[0003]本発明の実施形態は、１５５３バス動作の自己検査のための方法およびシステムを提供し、これは、以下の明細書を読み、検討することによって理解されるであろう。
[0004]１５５３バス動作の自己検査のためのシステムおよび方法が提供される。一実施形態において、フォールトトレラントコンピュータが、マスタプロセッサ、チェッカプロセッサを含む自己検査プロセッサペアおよび自己検査ペア論理と、１５５３バストランシーバと、自己検査プロセッサペアと１５５３バストランシーバとの間に結合された１５５３自己検査論理を含むデバイスとを含み、１５５３自己検査論理は、１５５３バストランシーバと自己検査プロセッサペアとのデータ通信を管理する。１５５３自己検査論理は、ロックステップで動作する一次論理および二次論理を含む。１５５３自己検査論理が１５５３バストランシーバにデータを書き込むとき、１５５３自己検査論理は、一次論理によって生成された第１の１５５３フォーマット済みメッセージを、二次論理によって生成された第２の１５５３フォーマット済みメッセージと比較し、第１の１５５３フォーマット済みメッセージが第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成する。
【０００５】
[0005]好ましい実施形態の説明および以下の図面を考慮して検討されるとき、本発明の実施形態は、より容易に理解され、本発明のさらなる効果および使用が、よりたやすく明らかになり得る。
【図面の簡単な説明】
【０００６】
【図１】[0006]本発明の一実施形態のフォールトトレラント・シングルボードコンピュータのブロック図である。
【図２】[0007]本発明の一実施形態の１５５３自己検査論理のブロック図である。
【図３】[0008]本発明の一実施形態の方法のブロック図である。
【図４】[0009]本発明の一実施形態の方法のブロック図である。
【発明を実施するための形態】
【０００７】
[0010]一般的なやり方に従って、さまざまな説明される特徴は、一定の縮尺で描かれず、本発明に関連した特徴を強調するように描かれている。図面および本文の全体を通して、参照文字は同様の要素を示す。
【０００８】
[0011]以下の詳細な説明において、本明細書の一部を形成する添付の図面に対する参照が行われ、その中で、本発明が実施されてよい特定の説明的な実施形態の手段として示される。これらの実施形態は、当業者が本発明を実施することができるよう十分詳細に説明され、本発明の範囲から逸脱せずに、他の実施形態が利用されてもよいこと、ならびに、論理的、機械的、および電気的な変更が行われてもよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味に取られるべきではない。
【０００９】
[0012]本発明の実施形態は、データがＭＩＬ−ＳＴＤ−１５５３バスに書き込まれている、またはＭＩＬ−ＳＴＤ−１５５３バスから読み取られたばかりの時点において、自己検査データ検証スキームを実装することによって、上で論じられた必要性に取り組む。自己検査ペア処理など技術と組み合わせるとき、本発明の実施形態は、システム構成要素間で、検出されていない誤った情報の転送の発生を削減することによって、信頼性を大幅に向上させる。
【００１０】
[0013]図１は、本発明の一実施形態のフォールトトレラント・シングルボードコンピュータ１１０の全体１００におけるブロック図であり、フォールトトレラント・シングルボードコンピュータ１１０は、図１において１５５３バス１４０として示されるＭＩＬ−ＳＴＤ−１５５３シリアルデータバスに結合され、その上でデータを送信し、受信する。コンピュータ１１０は、第１の（または「マスタ」）プロセッサ１１２と、第２の（または「チェッカ」）プロセッサ１１４とを含む。マスタプロセッサ１１２およびチェッカプロセッサ１１４は、自己検査プロセッサペアとして、当業者に一般的に知られたロックステップ方式の構成において、同じ動作を実行して並列に作業する。２つのプロセッサ間の自己検査は、マスタプロセッサ１１２およびチェッカプロセッサ１１４にそれぞれ結合された、マスタプロセッサ自己検査ペア論理１１３およびチェッカプロセッサ自己検査ペア論理１１５によって促進される。自己検査ペア論理１１３および１１５を通して、プロセッサ１１２および１１４は、エラー検出訂正（ＥＤＡＣ）プロテクトメモリ１１６にアクセスする。
【００１１】
[0014]動作では、プロセッサ１１２および１１４が、ロックステップ方式において、同じデータ上で同じ動作を実行する。たとえば、動作の一実施形態において、処理の準備ができているセンサデータの項目が、ＥＤＡＣプロテクトメモリ１１６において利用可能である。マスタプロセッサ１１２およびチェッカプロセッサ１１４の両方は、センサデータの項目を読み込む。マスタプロセッサ１１２がセンサデータにアルゴリズムを適用している間に、チェッカプロセッサ１１４は、同じセンサデータに同じアルゴリズムを適用する。プロセッサ１１２および１１４による計算が完了すると、その結果は、結果を比較する自己検査ペア論理１１３および１１５に提供される。結果が合致しないときに、１つまたは複数のエラー回復スキームが開始されるプロセッサ１１２および１１４に、折り返しエラーが報告される。そのようなスキームは、フォールトトレラント自己検査ペアコンピューティング技術の当業者には知られており、その理由により、本明細書では繰り返さない。言い換えれば、通常の動作の間、マスタプロセッサ１１２は、なんらかの目的のために外部で使用されることになるデータ出力を生み出すデバイスである。チェッカプロセッサがマスタプロセッサ１１２と同じ計算を実行する間、その計算結果は、マスタプロセッサ１１２によって提供されたデータ出力を確認するためにもっぱら使用される。２つのプロセッサ１１２および１１４からの結果が合致するとき、結果は、ＥＤＡＣプロテクトメモリ１１６に再び保存される、および／または、１５５３バス１４０を介した他のシステムへの送信に指定される。
【００１２】
[0015]一実施形態において、マスタプロセッサ１１２およびチェッカプロセッサ１１４は、それぞれ、限定はしないが、Ｈｏｎｅｙｗｅｌｌ  Ｇｅｎｅｒｉｃ  Ｖｅｒｙ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｓｐａｃｅ−ｂｏｒｎｅ  Ｃｏｍｐｕｔｅｒｓ（ＧＶＳＣ）などのＭＩＬ−ＳＴＤ−１７５０Ａ仕様のプロセッサを使用して実装される。一実施形態において、自己検査ペア論理１１３および１１５は、それぞれ、Ｈｏｎｅｙｗｅｌｌ  Ｅｎｈａｎｃｅ  Ｍｅｍｏｒｙ  Ｉ／Ｏ  Ｃｏｎｔｒｏｌｌｅｒ（ＥＭＩＯＣ）などの、同じ仕様に準拠したハードウェアを使用して実装される。
【００１３】
[0016]プロセッサ１１２および１１４が、データが、外部１５５３バス１４０を介して１つまたは複数の外部デバイスに提供される必要があることを決定するとき、プロセッサ１１２は、内部バス１１８に情報を書き込む自己検査ペア論理１１３にデータを提供し、内部バスは、自己検査プロセッサペアを１５５３自己検査論理デバイス１２０に結合する。以下で説明されるエコー特徴を通して、自己検査ペア論理１１５は、１５５３自己検査論理デバイス１２０に提供されたデータを注視し、そのデータが、プロセッサ１１４によって実行された並列動作の結果とそのデータを比較することによって提供されるデータと、合致することを検証する。合致が検証された後で、１５５３自己検査論理デバイス１２０は、１５５３バス１４０を介してそのデータを送信するように指示される。データの受信に応答した１５５３自己検査論理デバイス１２０の動作は、次に図２を参照して以下で説明される。
【００１４】
[0017]図２は、本発明の一実施形態について、１５５３自己検査論理デバイス１２０および１５５３サポート論理１２２のより詳細な説明を提供するブロック図である。１５５３自己検査論理デバイス１２０は、一次１５５３機能２１０と、二次１５５３機能２１２と、検査メカニズム２１４と、１つまたは複数のエラーレジスタ２１６を記憶するためのメモリとを含む。
【００１５】
[0018]一次１５５３機能２１０および二次１５５３機能２１２は、それぞれ、メッセージとして１５５３バス１４０上に書き込まれるべきデータを適切にフォーマットし、メッセージを読み取り、バスから読まれたメッセージを復号する目的のために、ＭＩＬ−ＳＴＤ−１５５３に準拠するための必要な機能を含む。加えて、少なくとも一次１５５３機能２１０は、二次１５５３機能２１２上のプログラミングと同一である、（以下で詳述されるような）１５５３バス１４０を動作させるためのプログラミングを含む。したがって、二次１５５３機能２１２は、一次１５５３機能２１０上で実行されるすべての機能を自律的に実行することになる。
【００１６】
[0019]１５５３サポート論理１２２は、一次１５５３機能２１０に結合された一次メモリ２３０と、二次１５５３機能２１２に結合された二次メモリ２３２とを含む。１５５３サポート論理１２２は、１５５３バス１４０を介してデータメッセージを通信するための１５５３トランシーバ２３４をさらに含む。
【００１７】
[0020]一実施形態において、１５５３自己検査論理デバイス１２０は、フィールドプログラマブル・ゲートアレイ（ＦＰＧＡ）を使用して実装される。ＦＰＧＡは、利用可能なオンボードのゲートのリソースにおいてさまざまであることから、１５５３サポート論理１２２によってサポートされるような機能は、図２に示されるようなオフボードの機能として実装されてもよい。他の実施形態において、リソースに余地があれば、１５５３サポート論理１２２に関して説明される機能のうちの１つまたは複数が、１５５３自己検査論理デバイス１２０それ自体の内部で実装されてもよい。
【００１８】
[0021]動作では、一実施形態において、１５５３自己検査論理デバイス１２０が、マスタプロセッサ１１２から、送信のための発信データを受信するとき、そのデータは、一次１５５３機能２１０および二次１５５３機能２１２の両方で受信される。一次１５５３機能２１０は、発信データが到着すると、それを一次メモリ２３０中に配置する。二次１５５３機能２１２は、発信データが到着すると、それをもう１つのコピーとして二次メモリ２３２中に書き込む。加えて、１５５３自己検査論理デバイス１２０の内部から、受信された発信データはチェッカプロセッサ自己検査ペア論理１１５にエコーバックされ、その結果、それは、マスタプロセッサ１１２から１５５３自己検査論理デバイス１２０によって受信されたデータが、チェッカプロセッサ１１４が提供したであろうデータと合致していることを検証することができる。合致した場合、１５５３自己検査論理デバイス１２０は、データを搬送する１５５３バス１４０上へＭＩＬ−ＳＴＤ−１５５３フォーマット済みメッセージを送信するよう、命令を受信することになる。
【００１９】
[0022]ＭＩＬ−ＳＴＤ−１５５３フォーマット済みメッセージを書くために、一次１５５３機能２１０は、１５５３バス１４０を動作させる機能を実行することになる。すなわち、一次１５５３機能２１０は、一次メモリ２３０を伴う必要な読み、書き、および制御のトランザクション、ならびに１５５３トランシーバ２３４を介して１５５３バス１４０にデータを提供するために必要な機能を実行することになる。二次１５５３機能２１２が、二次メモリ２３２から発信データのもう１つのコピーを読み取る間に、一次１５５３機能２１０は、一次メモリ２３０から発信データを読み取ることになる。次いで、両方が発信データを処理して、ＭＩＬ−ＳＴＤ−１５５３準拠メッセージをロックステップ方式で作成することになる。送信のためにメッセージが準備できると、一次１５５３機能２１０は、メッセージを１５５３バス１４０に書き込むために、１５５３トランシーバ２３４にメッセージを送信する。二次１５５３機能２１２もまたメッセージを生成するが、そのメッセージを１５５３トランシーバ２３４に送信するのではなく、代わりにメッセージを検査メカニズム２１４に提供する。検査メカニズム２１４は、一次１５５３機能２１０によって送信されているメッセージをモニタし、二次１５５３機能２１２から受信されたメッセージとのビット対ビットによる比較を実行する。２つの１５５３機能２１０および２１２によって生成されたメッセージが合致するとき、１５５３バス１４０に送信されるメッセージは、有効であるとみなされる。メッセージが合致しないときに、以下でさらに論じられるエラーレジスタ２１６に、エラーが報告される。このようにして、１５５３自己検査論理１２０は、１５５３バス１４０に提供するすべての情報の整合性を検証し、疑いのあるデータがいつ送信されたのかを識別する。
【００２０】
[0023]１５５３バス１４０上でデータを送信するのに加えて、フォールトトレラント・シングルボードコンピュータ１１０はまた、バスからの着信データを読み取る。そのような読み取り機能のために、１５５３自己検査論理デバイス１２０は、マスタプロセッサ１１２およびチェッカプロセッサ１１４に提供されている情報の整合性を検証する。前述と同様に、一次１５５３機能２１０が、１５５３バス１４０との必要なトランザクションを制御する役割を担う。１５５３トランシーバ２３４が１５５３バス１４０からの着信データメッセージを読み取るとき、一次１５５３機能２１０は、その情報を一次メモリ２３０に書き込む。二次１５５３機能２１２は、一次１５５３機能２１０によって受信されているデータメッセージを注視し、もう１つのコピーを二次メモリ２３２に書き込む。着信データが受信され、保存されると、１５５３自己検査論理デバイス１２０は、マスタプロセッサ１１２とチェッカプロセッサ１１４に、１５５３バス１４０からの着信データが受信されて、利用可能であることを通知する。データのための準備ができると、マスタプロセッサ１１２は、１５５３自己検査論理デバイス１２０に、一次メモリ２３０から着信データを読み取るように要求することになる。読み取り時、一次１５５３機能２１０は、一次メモリ２３０から受信された着信データを読み取り、要求されたデータを第１のデータセットとして、マスタプロセッサ１１２およびチェッカプロセッサ１１４に送信することになる。その間、二次１５５３機能２１２は、二次メモリ２３２から複製コピーを読み取ることになり、第２のデータセットを検査メカニズム２１４に提供する。検査メカニズム２１４は、一次１５５３機能２１０によって提供されたデータセットをモニタし、二次１５５３機能２１２から受信されたデータセットとのビット対ビットによる比較を実行する。２つの１５５３機能２１０および２１２からのデータセットが合致するとき、一次１５５３機能２１０によってマスタプロセッサ１１２およびチェッカプロセッサ１１４に提供されたデータセットは、有効であるとみなされる。データセットが合致しないときに、検査メカニズム２１４によって、エラーレジスタ２１６にエラーが報告される。このようにして、１５５３自己検査論理１２０は、１５５３バス１４０を介して受信されたメッセージからの着信データが、マスタプロセッサ１１２およびチェッカプロセッサ１１４に正確に提供されていることを検証する。
【００２１】
[0024]１５５３自己検査論理１２０の分離および回復のためのサポートは、エラーがあると判定されたアドレスおよびビットを識別するための、エラー検出レジスタおよびエラー分離レジスタを含む。一実施形態において、検査メカニズム２１４によってエラーが識別されると、そのイベントはマスタプロセッサ１１２およびチェッカプロセッサ１１４に報告され、エラーに関する情報がエラーレジスタ２１６に記憶される。これらのレジスタは、エラーが発生したときにラッチする。一実施形態において、これらのレジスタは、プロセッサライトコマンドによってのみクリアにされる。レジスタに書き込まれるあらゆるエラー情報は、誤った報告からの保護を保証するために、アームアンドファイアのシナリオ（ａｒｍ  ａｎｄ  ｆｉｒｅ  ｓｃｅｎａｒｉｏ）を必要とする。エラーレジスタ２１６により提供されるレジスタは、エラーが発生した場所、プロセッサ自己検査ペア論理１１３、１１５からの制御信号の状態、マスタプロセッサ１１２から受信した、またはマスタプロセッサ１１２に送信されたデータの最後の３２ビット、およびチェッカプロセッサ１１４に提供されるデータの最後の３２ビットを識別するＲＡＭアドレスを含む。エラーの性質に応じて、適切な対応が異なる。たとえば、データのエラーが、一次的なイベントによって引き起こされたと思われる場合、該当する動作が単純に繰り返される、またはデータが破棄されてよい。エラーが、機器障害などのより永続的な障害によって引き起こされたと思われる場合、通信は、代替の冗長データチャネルに切り換えられてよい。
【００２２】
[0025]自己テストするためのエラー注入をサポートするために、一実施形態において、追加のレジスタが提供される。エラー挿入は、一次１５５３機能２１０および／または二次１５５３機能２１２への入力において行われて、一次メモリ２３０または二次メモリ２３２のいずれかに誤ったデータを作成する。追加のレジスタは、冗長可能なディスクリートを備える制御レジスタと、１５５３機能２１０、２１２への入力、およびエラーを誘発するようにファイルされたＸＯＲデータを操作するためのアドレスレジスタおよび制御レジスタとを含む。エラー報告レジスタと同様に、エラー注入レジスタに書き込むことは、誤ったエラー注入および報告からの保護を保証するために、アームアンドファイアのシナリオを必要とする。
【００２３】
[0026]当業者によって理解されるように、ＭＩＬ−ＳＴＤ−１５５３は、１５５３バス１４０上に独立した冗長データチャネルを実装することなどによって、冗長性を提供する。したがって、いくつかの実施形態において、１５５３自己検査論理デバイス１２０は、上で説明されたやり方で、１５５３バス１４０上で利用可能な任意の冗長データチャネルのそれぞれで動作するように実装される。たとえば、一実施形態において、一次および二次１５５３機能、メモリ、検査メカニズム、およびエラーレジスタの別個のチャネルが、１５５３バス１４０を介して提供されるデータチャネルごとに提供されて、それぞれが上で説明されたやり方で動作する。
【００２４】
[0027]図３および図４は、本発明の実施形態の方法を示す流れ図である。代替実施形態において、図３および図４で説明される方法は、上で説明された実施形態と一緒に、および／または上で説明された実施形態との任意の組合せで利用されてもよい。
【００２５】
[0028]図３は、１５５３バス１４０などのＭＩＬ−ＳＴＤ−１５５３シリアルデータバスにデータを書き込むための方法を示す流れ図である。一実施形態において、図３の方法は、１５５３自己検査論理デバイス１２０を使用して実装される。上で論じられたように、自己検査プロセッサペアなどの処理デバイスが、１５５３バスを介して別のデバイスに送信するためのデータを有するとき、処理デバイスは最初に、デバイスを１５５３自己検査論理デバイス１２０に送信し、１５５３自己検査論理デバイス１２０が、複製コピーを、独立した一次メモリおよび二次メモリ中に記憶する。処理デバイスが、データが送信するために準備ができたことを示すとき、方法は、一次メモリから発信データを読み取るステップによる３１０において開始され、二次メモリから発信データのコピーを読み取るステップによる３２０へと進む。
【００２６】
[0029]方法は次に、一次メモリからの発信データから第１の１５５３フォーマット済みメッセージを生成するステップによる３３０へと進み、さらに二次メモリからの発信データのコピーから第２の１５５３フォーマット済みメッセージを生成するステップによる３４０へと進む。一実施形態において、第１の１５５３機能とロックステップで動作している第２の１５５３機能によって、第２の１５５３フォーマット済みメッセージが生成されている間に、第１の１５５３フォーマット済みメッセージが第１の１５５３機能によって生成される。したがって、２つの１５５３機能は、発信データの複製コピーであるはずのものの上で動作しているので、２つの１５５３機能は、ビット単位で同一な１５５３フォーマット済みメッセージを生み出すはずである。方法は次いで、第１の１５５３フォーマット済みメッセージを、１５５３シリアルバスへの送信のために１５５３トランシーバに送信するステップによる３５０へと進む。一実施形態において、第１の１５５３機能は、１５５３シリアルバスを動作させるために１５５３トランシーバを制御する。方法は次に、第１の１５５３フォーマット済みメッセージが１５５３トランシーバに送信されているときに、第１の１５５３フォーマット済みメッセージを第２の１５５３フォーマット済みメッセージと照合するステップによる３６０へと進む。２つのメッセージは、ビット単位で同一であるはずなので、それらが同一ではないとき、それは、１５５３バスに書き込まれた第１のメッセージがエラーを含んでいる可能性があることを示す。方法は、第１の１５５３フォーマット済みメッセージが第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成するステップによる３７０へと進むことによって、そのエラーの表示を提供する。上で述べたように、一実施形態において、エラー表示は、１つまたは複数のエラーレジスタにエラーデータを書き込むことによって記憶される。
【００２７】
[0030]一実施形態において、自己検査プロセッサから発信データを受信し、一次１５５３機能を実装する第１の論理回路を使用して発信データを一次メモリに記憶し、二次１５５３機能を実装する第２の論理回路を介して発信データを二次メモリに記憶することによって、発信データが一次メモリおよび二次メモリ中に記憶される。自己検査プロセッサから正しい発信データが受信されたことを検証するために、一実施形態において、プロセスは、発信データを、自己検査プロセッサペアにエコーバックするステップを含む。自己検査が、正しい発信データが送信されることになることを結論づけると、プロセスは、自己検査方法を開始するために３１０へと進むことになる。
【００２８】
[0031]図４は、１５５３バス１４０などのＭＩＬ−ＳＴＤ−１５５３シリアルデータバスからデータを受信するための方法を示す流れ図である。一実施形態において、図４の方法は、１５５３自己検査論理デバイス１２０を使用して実装される。方法は、一次メモリおよび二次メモリに記憶された、１５５３バスから受信された着信データの複製コピーから開始される。自己検査プロセッサがデータを受信する準備ができると、方法は、一次メモリから着信データを読み取るステップによる４１０へと進み、さらに、二次メモリから着信データのコピーを読み取るステップによる４２０へと進む。
【００２９】
[0032]方法は、一次メモリからの着信データから第１のデータセットを生成するステップによる４３０へと進み、さらに、二次メモリからの着信データのコピーから第２のデータセットを生成するステップによる４４０へと進む。一実施形態において、第１の１５５３機能とロックステップで動作している第２の１５５３機能によって、第２の１５５３フォーマット済みメッセージが生成されている間に、第１のデータセットが第１の１５５３機能によって生成される。したがって、２つの１５５３機能は、着信データの複製コピーであるはずのものの上で動作しているので、２つの１５５３機能は、ビット単位で同一なデータセットを生み出すはずである。プロセスは、自己検査プロセッサペアに結合されたバスに第１のデータセットを書き込むステップによる４５０へと進み、さらに、第１のデータセットが自己検査プロセッサペアに送信されているときに、第１のデータセットを第２のデータセットと照合するステップによる４６０へと進む。２つのデータセットはビット単位で同一であるはずなので、それらが同一ではないとき、それは、自己検査プロセッサペアに送信された第１のデータセットがエラーを含んでいる可能性があることを示す。方法は、第１のデータセットが第２のデータセットと一致しないときに、エラー表示を生成するステップによる４７０へと進むことによって、そのエラーの表示を提供する。一実施形態において、エラー表示は、１つまたは複数のエラーレジスタにエラーデータを書き込むことによって記憶される。
【００３０】
[0033]いくつかのハードウェア手段が、この明細書で論じられたように本発明のシステムおよび方法を実装するために利用可能である。これらの手段は、デジタルコンピュータシステム、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルコントローラ、およびフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ならびに組み込みプロセッサまたはディスクリートプロセッサを含むが、これらに限定されない。したがって、本発明の他の実施形態は、そのような手段によって実装されるとき、本発明の実施形態を実装可能にする、コンピュータ可読媒体に常駐するプログラム命令である。コンピュータ可読媒体は、任意の形態の物理的なコンピュータメモリデバイスを含む。そのような物理的なコンピュータメモリデバイスの例は、パンチカード、磁気ディスクもしくは磁気テープ、光学データ記憶システム、フラッシュ読み出し専用メモリ（ＲＯＭ）、不揮発性ＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能なプログラマブルＲＯＭ（Ｅ−ＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、または任意の他の形態の永久的、半永久的、もしくは一次的なメモリ記憶システムもしくはデバイスを含むが、これらに限定されない。プログラム命令は、コンピュータシステムプロセッサによって実行されるコンピュータ実行可能命令、および超高速集積回路（ＶＨＳＩＣ）ハードウェア記述言語（ＶＨＤＬ）などのハードウェア記述言語を含むが、これらに限定されない。
【実施例１】
【００３１】
[0034]実施例１は、１５５３シリアルデータバスを動作させるためのデバイスを含み、デバイスは、一次１５５３機能を実装する第１の論理回路であって、１５５３バストランシーバおよび一次メモリに結合された第１の論理回路と、二次１５５３機能を実装する第２の論理回路であって、１５５３バストランシーバおよび二次メモリに結合された第２の論理回路と、第１の論理回路および第２の論理回路に結合された検査メカニズムとを含む。デバイスにおいて、第１の論理回路および第２の論理回路は、自己検査プロセッサペアに結合される。１５５３バストランシーバを介して１５５３バス上で送信するための発信データが、自己検査ペアのマスタプロセッサから受信されるとき、第１の論理回路が、発信データを一次メモリ中に記憶し、第２の論理回路が、発信データを二次メモリ中に記憶する。一次１５５３機能が、一次メモリに記憶された発信データをフォーマットして、第１の１５５３フォーマット済みメッセージにし、１５５３バストランシーバを動作させて、第１の１５５３フォーマット済みメッセージを１５５３バスに書き込む。二次１５５３機能が、二次メモリに記憶された発信データをフォーマットして、第２の１５５３フォーマット済みメッセージにする。検査メカニズムが、第１の１５５３フォーマット済みメッセージを第２の１５５３フォーマット済みメッセージと比較し、第１の１５５３フォーマット済みメッセージが第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成する。
【実施例２】
【００３２】
[0035]実施例２は、実施例１のデバイスを含み、デバイスにおいて、エラー表示は、１つまたは複数のエラーレジスタに書き込まれたエラーデータを含む。
【実施例３】
【００３３】
[0036]実施例３は、実施例１〜２のいずれかのデバイスを含み、デバイスは、サポート論理回路をさらに含み、サポート論理回路は、一次メモリ、二次メモリ、および１５５３トランシーバのうちの１つまたは複数を含む。
【実施例４】
【００３４】
[0037]実施例４は、実施例１〜３のいずれかのデバイスを含み、デバイスにおいて、第１の論理回路、第２の論理回路、および検査メカニズムは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）において実装される。
【実施例５】
【００３５】
[0038]実施例５は、実施例１〜４のいずれかのデバイスを含み、デバイスにおいて、着信メッセージが１５５３バストランシーバを介して１５５３バス上で受信されるとき、第１の論理回路が、着信メッセージを一次メモリ中に記憶し、第２の論理回路が、着信メッセージを二次メモリ中に記憶する。
【実施例６】
【００３６】
[0039]実施例６は、実施例５のデバイスを含み、デバイスにおいて、一次１５５３機能が、一次メモリに記憶されたときの着信メッセージから第１のデータセットを復号し、第１のデータセットを自己検査ペアに送信する。二次１５５３機能が、二次メモリに記憶されたときの着信メッセージから第２のデータセットを復号する。検査メカニズムが、自己検査ペアに送信されたときの第１のデータセットを第２のデータセットと比較し、自己検査ペアに送信されたときの第１のデータセットが第２のデータセットと一致しないときに、エラーメッセージを生成する。
【実施例７】
【００３７】
[0040]実施例７は、実施例１〜６のいずれかのデバイスを含み、デバイスにおいて、１５５３バストランシーバを介して１５５３バス上で送信するための発信データが、自己検査ペアのマスタプロセッサから受信されるとき、発信データのコピーが、自己検査ペアのための自己検査ペア論理にエコーバックされる。
【実施例８】
【００３８】
[0041]実施例８は、フォールトトレラントコンピュータを含み、コンピュータは、マスタプロセッサ、チェッカプロセッサを含む自己検査プロセッサペアおよび自己検査ペア論理と、１５５３バストランシーバと、自己検査プロセッサペアと１５５３バストランシーバとの間に結合された１５５３自己検査論理を含むデバイスとを含む。１５５３自己検査論理は、１５５３バストランシーバと自己検査プロセッサペアとのデータ通信を管理する。１５５３自己検査論理は、ロックステップで動作する一次論理および二次論理を含む。１５５３自己検査論理が１５５３バストランシーバにデータを書き込むとき、１５５３自己検査論理は、一次論理によって生成された第１の１５５３フォーマット済みメッセージを、二次論理によって生成された第２の１５５３フォーマット済みメッセージと比較し、第１の１５５３フォーマット済みメッセージが第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成する。
【実施例９】
【００３９】
[0042]実施例９は、実施例８のコンピュータを含み、１５５３自己検査論理が、１５５３バストランシーバを介して受信されたデータを自己検査ペアに送信するとき、１５５３自己検査論理は、一次論理によって生成された第１のデータセットを、二次論理によって生成された第２のデータセットと比較し、第１のデータセットが第２のデータセットと一致しないときに、エラー表示を生成する。
【実施例１０】
【００４０】
[0043]実施例１０は、実施例８〜９のいずれかのコンピュータを含み、１５５３自己検査論理は、一次１５５３機能を実装する第１の論理回路であって、１５５３バストランシーバおよび一次メモリに結合された第１の論理回路と、二次１５５３機能を実装する第２の論理回路であって、１５５３バストランシーバおよび二次メモリに結合された第２の論理回路と、第１の論理回路および第２の論理回路に結合された検査メカニズムとをさらに含む。第１の論理回路および第２の論理回路は、自己検査プロセッサペアに結合される。発信データが自己検査ペアから受信されるとき、第１の論理回路が、発信データを一次メモリ中に記憶し、第２の論理回路が、発信データを二次メモリ中に記憶する。
【実施例１１】
【００４１】
[0044]実施例１１は、実施例１０のコンピュータを含み、コンピュータにおいて、一次１５５３機能が、一次メモリに記憶された発信データをフォーマットして、第１の１５５３フォーマット済みメッセージにし、１５５３バストランシーバを動作させて、第１の１５５３フォーマット済みメッセージを１５５３バスに書き込む。二次１５５３機能が、二次メモリに記憶された発信データをフォーマットして、第２の１５５３フォーマット済みメッセージにする。検査メカニズムが、第１の１５５３フォーマット済みメッセージを第２の１５５３フォーマット済みメッセージと比較し、第１の１５５３フォーマット済みメッセージが第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成する。
【実施例１２】
【００４２】
[0045]実施例１２は、実施例１０〜１１のいずれかのコンピュータを含み、コンピュータにおいて、着信メッセージが１５５３バストランシーバを介して１５５３バス上で受信されるとき、第１の論理回路が、着信メッセージを一次メモリ中に記憶し、第２の論理回路が、着信メッセージを二次メモリ中に記憶する。
【実施例１３】
【００４３】
[0046]実施例１３は、実施例１０〜１２のいずれかのコンピュータを含み、コンピュータにおいて、一次１５５３機能が、一次メモリに記憶されたときの着信メッセージから第１のデータセットを復号し、第１のデータセットを自己検査ペアに送信する。二次１５５３機能が、二次メモリに記憶されたときの着信メッセージから第２のデータセットを復号する。検査メカニズムが、自己検査ペアに送信されたときの第１のデータセットを第２のデータセットと比較し、自己検査ペアに送信されたときの第１のデータセットが第２のデータセットと一致しないときに、エラーメッセージを生成する。
【実施例１４】
【００４４】
[0047]実施例１４は、実施例１０〜１３のいずれかのコンピュータを含み、コンピュータは、サポート論理回路をさらに含み、サポート論理回路は、一次メモリ、二次メモリ、および１５５３トランシーバのうちの１つまたは複数を含む。
【実施例１５】
【００４５】
[0048]実施例１５は、実施例８〜１４のいずれかのコンピュータを含み、コンピュータにおいて、１５５３自己検査論理は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）において実装される。
【実施例１６】
【００４６】
[0049]実施例１６は、実施例８〜１５のいずれかのコンピュータを含み、コンピュータにおいて、エラー表示は、１つまたは複数のエラーレジスタに書き込まれたエラーデータを含む。
【実施例１７】
【００４７】
[0050]実施例１７は、１５５３バスデータ通信を検査するための方法を含み、方法は、一次メモリから発信データを読み取るステップと、二次メモリから発信データのコピーを読み取るステップと、一次メモリからの発信データから第１の１５５３フォーマット済みメッセージを生成するステップと、二次メモリからの発信データのコピーから第２の１５５３フォーマット済みメッセージを生成するステップと、第１の１５５３フォーマット済みメッセージを、１５５３シリアルバスへの送信のために１５５３トランシーバに送信するステップと、第１の１５５３フォーマット済みメッセージが１５５３トランシーバに送信されているときに、第１の１５５３フォーマット済みメッセージを第２の１５５３フォーマット済みメッセージと照合するステップと、第１の１５５３フォーマット済みメッセージが第２の１５５３フォーマット済みメッセージと一致しないときに、エラー表示を生成するステップとを含む。
【実施例１８】
【００４８】
[0051]実施例１８は、実施例１７の方法を含み、方法は、一次メモリから着信データを読み取るステップと、二次メモリから着信データのコピーを読み取るステップと、一次メモリからの着信データから第１のデータセットを生成するステップと、二次メモリからの着信データのコピーから第２のデータセットを生成するステップと、第１のデータセットを、自己検査プロセッサペアに結合されたバスに書き込むステップと、第１のデータセットが自己検査プロセッサペアに送信されているときに、第１のデータセットを第２のデータセットと照合するステップと、第１のデータセットが第２のデータセットと一致しないときに、エラー表示を生成するステップとをさらに含む。
【実施例１９】
【００４９】
[0052]実施例１９は、実施例１７〜１８のいずれかの方法を含み、方法は、自己検査プロセッサから発信データを受信するステップと、一次１５５３機能を実装する第１の論理回路を使用して、発信データを一次メモリに記憶するステップと、二次１５５３機能を実装する第２の論理回路を介して、発信データを二次メモリに記憶するステップと、発信データを自己検査プロセッサペアにエコーバックするステップとをさらに含む。
【実施例２０】
【００５０】
[0053]実施例２０は、実施例１７〜１９のいずれかの方法を含み、方法において、エラー表示を生成するステップが、１つまたは複数のエラーレジスタにエラーデータを書き込むステップをさらに含む。
【００５１】
[0054]本明細書において、特定の実施形態が図示され、説明されてきたが、同じ目的を達成するように計算された任意の構成が、示された特定の実施形態の代わりに使用されてもよいことが、当業者によって認識されるであろう。本出願は、本発明のあらゆる改造形態または変形形態も含むように意図される。したがって、本発明は、特許請求の範囲およびその均等物によってのみ限定されることが明白に意図される。
【符号の説明】
【００５２】
１１０  フォールトトレラント・シングルボードコンピュータ
１１２  第１のプロセッサ／マスタプロセッサ
１１３  マスタプロセッサ自己検査ペア論理
１１４  第２のプロセッサ／チェッカプロセッサ
１１５  チェッカプロセッサ自己検査ペア論理
１１６  エラー検出訂正（ＥＤＡＣ）プロテクトメモリ
１１８  内部バス
１２０  １５５３自己検査論理デバイス
１２２  １５５３サポート論理
１４０  １５５３バス
２１０  一次１５５３機能
２１２  二次１５５３機能
２１４  検査メカニズム
２１６  エラーレジスタ
２３０  一次メモリ
２３２  二次メモリ
２３４  １５５３トランシーバ
【図１】
0005973196.tif 000002
【図２】
0005973196.tif 000003
【図３】
0005973196.tif 000004
【図４】
0005973196.tif 000005