(57)【要約】  再構成可能コンピュータは、再構成可能処理要素に適用される構成に従って生ペイロードデータを処理するように構成された再構成可能処理要素を含んでいる。その再構成可能コンピュータは、その生ペイロードデータの少なくとも一部分がマルチポート通信デバイスに書き込まれる第１のポートと、マルチポート通信デバイスに書き込まれた生ペイロードデータの少なくとも一部分がその再構成可能処理要素によって読み取られる第２のポートとを備えるマルチポート通信デバイスをさらに含んでいる。再構成可能コンピュータは、再構成可能処理要素に結合されたコントローラをさらに含んでいる。そのコントローラは、その構成を再構成可能処理要素に適用し、そのコントローラは、少なくとも１つのシングルイベントアップセット緩和動作を実施する。
2008507778.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能処理要素に適用される構成に従って生ペイロードデータを処理するように構成された再構成可能処理要素（２０２）と、
前記生ペイロードデータの少なくとも一部分がマルチポート通信デバイスに書き込まれる第１のポートと、マルチポート通信デバイスに書き込まれた生ペイロードデータの少なくとも一部分が前記再構成可能処理要素によって読み取られる第２のポートとを備えるマルチポート通信デバイス（２１６）と、
前記再構成可能処理要素に結合され、前記構成を前記再構成可能処理要素に適用し、少なくとも１つのシングルイベントアップセット緩和動作を実施するコントローラ（２１２）と
を備える再構成可能コンピュータ（２００）。
【請求項２】
前記マルチポート通信デバイスが、マルチポートメモリを備える、請求項１に記載の再構成可能コンピュータ。
【請求項３】
前記生ペイロードデータのソースから前記生ペイロードデータを受け取る第１のインターフェース（２１４）をさらに備え、前記マルチポート通信デバイスの前記第１のポートが、前記第１のインターフェースに結合される、請求項１に記載の再構成可能コンピュータ。
【請求項４】
前記再構成可能処理要素に適用される前記構成が記憶されるメモリデバイス（２０６）をさらに備える、請求項１に記載の再構成可能コンピュータ。
【請求項５】
前記メモリデバイスが、放射線に対する耐性をもたせたメモリデバイスを備える、請求項４に記載の再構成可能コンピュータ。
【請求項６】
前記シングルイベントアップセット緩和動作が、前記構成の定期的リフレッシュ、前記構成のイベントトリガされたリフレッシュ、および構成のリードバックと比較のうちの少なくとも１つを含む、請求項１に記載の再構成可能コンピュータ。
【請求項７】
前記再構成可能処理要素が、再構成可能フィールドプログラム可能ゲートアレイを備える、請求項１に記載の再構成可能コンピュータ。
【請求項８】
再構成可能コンピュータ（２００）において受け取られたペイロードデータを第１のマルチポート通信デバイス（２１６）に記憶するステップと、
前記記憶されたペイロードデータを前記第１のマルチポート通信デバイスから取り出すステップと、
前記再構成可能コンピュータに含まれ、構成に従って前記読み取られたペイロードデータを処理する再構成可能処理要素（２０２）中において前記読み取られたペイロードデータを処理するステップと、
少なくとも１つのシングルイベントアップセット緩和動作を実施するステップと
を含む方法。
【請求項９】
前記少なくとも１つのシングルイベントアップセット緩和動作を実施するステップが、
前記構成を用いて前記再構成可能処理要素を構成するステップと、
所定の時間が経過したときに、前記構成を用いて前記再構成可能処理要素を再構成するステップと
を含む、請求項８に記載の方法。
【請求項１０】
前記少なくとも１つのシングルイベントアップセット緩和動作を実施するステップが、
前記構成を用いて前記再構成可能処理要素を構成するステップと、
所定のトリガイベントが発生したときに、前記構成を用いて前記再構成可能処理要素を再構成するステップと
を含む、請求項８に記載の方法。
【請求項１１】
前記少なくとも１つのシングルイベントアップセット緩和動作を実施するステップが、
前記構成を用いて前記再構成可能処理要素を構成するステップと、
前記再構成可能処理要素の前記構成をリードバックするステップと、
前記読み取られた構成に関連する良好であることが知られている構成の少なくとも一部分と前記読み取られた構成の少なくとも一部分を比較するステップと、
前記読み取られた構成の少なくとも一部分が、前記良好であることが知られている構成の少なくとも一部分と一致しない場合に、前記構成を用いて前記再構成可能処理要素を再構成するステップと
を含む、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
以降の説明は、一般にコンピューティングに関し、詳細には宇宙用途におけるコンピューティングに関する。
【背景技術】
【０００２】
１タイプの宇宙用途においては、宇宙を移動するデバイスは、地上に配置されたデバイスにデータを送信する。宇宙を移動するデバイスは、本明細書では「宇宙デバイス」とも称される。宇宙デバイスの例は、制限なしに人工衛星および宇宙船を含んでいる。地上に配置されたデバイスは、本明細書では、「地上束縛デバイス」とも称される。地上束縛デバイスの一例は、ミッション管制センタである。宇宙デバイスから地上束縛デバイスに送信されるデータは、本明細書では「ダウンストリームデータ」または「ペイロードデータ」とも称される。ペイロードデータの例は、制限なしに宇宙デバイス中に、または宇宙デバイス上に含まれる１つまたは複数のセンサまたは他の科学的計測器から得られる科学的データを含んでいる。
【０００３】
一部の用途においては、宇宙デバイスによって収集され、宇宙デバイスから地上束縛デバイスに送信されるペイロードデータの量は、その宇宙デバイスとその地上束縛デバイスとの間の通信リンクの物理制限に近づき、あるいは超過してしまうことさえある。宇宙デバイスから地上束縛デバイスに伝えられるペイロードデータの量を減少させる１つのアプローチは、その宇宙デバイス上で実施される処理量を増大させることである。換言すれば、宇宙デバイスは、そうでなければダウンストリームデータ中に含まれるはずの生ペイロードデータを処理する。一般的に、その結果として生ずる処理済みのデータは、生ペイロードデータに比べてサイズがかなり小さくなっている。このような処理からもたらされるデータは、次いで宇宙デバイスから地上束縛デバイスにダウンストリームデータとして送信される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
宇宙デバイス上の生ペイロードデータを処理する１つの方法は、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ特定用途向け集積回路）を使用するものである。特定用途向け集積回路は、効率的ではあるが、一般的にミッション特有であり、スケーラビリティ、アップグレード可能性および再構成可能性が限られている。
【０００５】
生ペイロードデータを処理する他の方法は、アンチヒューズ（ａｎｔｉｆｕｓｅ）ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙフィールドプログラム可能ゲートアレイ）を使用するものである。このようなアプローチは、一般的に実装コストと実装時間を低減させる。またアンチヒューズＦＰＧＡは、一般的に放射線に対する高度の耐性を示す。しかし、アンチヒューズＦＰＧＡは、一般的に再プログラム可能ではない。その結果として、１用途のために構成されているアンチヒューズＦＰＧＡは、他の用途のために再構成することができない。
【０００６】
このような生ペイロードデータを処理する他の方法は、再プログラム可能ＦＰＧＡを使用するものである。しかし、再プログラム可能ＦＰＧＡは、一般的にシングルイベントアップセットの影響を受けやすい。シングルイベントアップセット（ＳＥＵ）は、エネルギーをもつ粒子が、高速で高運動エネルギーでＦＰＧＡ（またはサポートする）デバイスを貫通するときに生じる。例えば、そのエネルギー粒子は、太陽輻射または宇宙における背景放射からもたらされるイオン、電子、または陽子であってもよい。エネルギー粒子は、デバイス中の電子と相互作用をする。このような相互作用は、ＦＰＧＡ中のトランジスタの状態を反転させる可能性がある。すなわち、エネルギー粒子は、トランジスタの状態を論理「０」から論理「１」へと、あるいは論理「１」から論理「０」へと変化させる。これについてはまた、本明細書で「ビットフリップ」とも称される。エネルギー粒子とＦＰＧＡデバイス中の電子の相互作用は、そのデバイス中に過渡電流を導入する可能性もある。
【課題を解決するための手段】
【０００７】
一実施形態において、再構成可能コンピュータは、再構成可能処理要素に適用される構成に従って生ペイロードデータを処理するように構成された再構成可能処理要素を含んでいる。その再構成可能コンピュータは、生ペイロードデータの少なくとも一部分がマルチポート通信デバイスに書き込まれる第１のポートと、マルチポート通信デバイスに書き込まれた生ペイロードデータの少なくとも一部分がその再構成可能処理要素によって読み取られる第２のポートとを備えるマルチポート通信デバイスをさらに含んでいる。再構成可能コンピュータは、再構成可能処理要素に結合されたコントローラをさらに含んでいる。そのコントローラは、再構成可能処理要素にその構成を適用し、そのコントローラは、少なくとも１つのシングルイベントアップセット緩和動作を実施する。
【０００８】
他の実施形態においては、システムは、生ペイロードデータのソースと再構成可能コンピュータとを含んでいる。その再構成可能コンピュータは、再構成可能処理要素に適用される構成に従ってその生ペイロードデータを処理するように構成された再構成可能処理要素を含んでいる。再構成可能コンピュータは、生ペイロードデータの少なくとも一部分がマルチポート通信デバイスに書き込まれる第１のポートと、マルチポート通信デバイスに書き込まれた生ペイロードデータの少なくとも一部分がその再構成可能処理要素によって読み取られる第２のポートとを備えるマルチポート通信デバイスをさらに含んでいる。再構成可能コンピュータは、再構成可能処理要素に結合されたコントローラをさらに含んでいる。そのコントローラは、再構成可能処理要素にその構成を適用する。コントローラは、少なくとも１つのシングルイベントアップセット緩和動作を実施する。
【０００９】
他の実施形態においては、方法は、再構成可能コンピュータにおいて受け取られたペイロードデータを第１のマルチポート通信デバイスに記憶すること、およびその記憶されたペイロードデータをその第１のマルチポート通信デバイスから取り出すことを含んでいる。本方法は、その再構成可能コンピュータに含まれる再構成可能処理要素中においてその読み取られたペイロードデータを処理することをさらに含んでいる。その再構成可能処理要素は、構成に従ってその読み取られたペイロードデータを処理する。本方法は、少なくとも１つのシングルイベントアップセット緩和動作を実施することをさらに含んでいる。
【００１０】
他の実施形態においては、再構成可能コンピュータは、構成に従って生ペイロードデータを処理するための再構成可能手段と、その生ペイロードデータの少なくとも一部分を受け取り、その生ペイロードデータのその少なくとも一部分を記憶するための手段とを含んでいる。その再構成可能コンピュータは、その記憶された生ペイロードデータを取り出し、処理するための再構成可能手段にその記憶された生ペイロードデータを供給するための手段と、処理するための再構成可能手段にその構成を適用するための手段とをさらに含んでいる。再構成可能コンピュータは、少なくとも１つのシングルイベントアップセット緩和動作を実施するための手段をさらに含んでいる。
【００１１】
他の実施形態においては、再構成可能コンピュータは、再構成可能処理要素に適用される構成に従って生ペイロードデータを処理するように構成された再構成可能処理要素を含んでいる。その再構成可能コンピュータは、生ペイロードデータの少なくとも一部分がマルチポートメモリデバイスに書き込まれる第１のポートと、マルチポートメモリデバイスに書き込まれた生ペイロードデータの少なくとも一部分がその再構成可能処理要素によって読み取られる第２のポートとを備えるマルチポートメモリデバイスを備えるデータパスをさらに含んでいる。再構成可能コンピュータは、再構成可能処理要素に結合されたコントローラを備える制御パスをさらに含んでいる。そのコントローラは、再構成可能処理要素にその構成を適用する。コントローラは、少なくとも１つのシングルイベントアップセット緩和動作を実施する。
【００１２】
請求している本発明の１つまたは複数の実施形態の詳細については、添付の図面および以下の説明に述べられている。他の特徴および利点は、その説明、その図面および特許請求の範囲から明らかになろう。
【００１３】
様々な図面中における同様な参照番号および記号は、同様な要素を示している。
【発明を実施するための最良の形態】
【００１４】
図１は、宇宙ペイロード処理システム１００の一実施形態の高レベルのブロック図である。システム１００の実施形態は、例えば人工衛星や宇宙船などの宇宙デバイス中において使用するのに適している。システム１００は、１つまたは複数のセンサモジュール１０２を含んでいる。各センサモジュール１０２は、システム１００によって処理されるべき生ペイロードデータのソースである。しかし、他の実施形態においては、生ペイロードデータの他のソースが使用されることを理解されたい。
【００１５】
各センサモジュール１０２は、１つまたは複数のセンサ１０３を備える。一実施形態においては、諸センサ１０３は、能動および／または受動的なセンサを備える。各センサ１０３は、センサ１０３に関連する物理的属性または物理的状態を示す信号を生成する。センサモジュール１０２は、例えばアナログ−デジタル変換を実施し、そのセンサデータをシステム１００の他の部分に供給するのに必要な入出力インターフェースを駆動する適切なサポート機能（図示せず）を含んでいる。
【００１６】
例えば、一実施形態において、各センサモジュール１０２は、ＣＣＤ（ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ電荷結合デバイス）センサやＣＭＯＳ（ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｙｓｔｅｍ相補性金属酸化膜半導体）センサなどの光センサのアレイを含んでいる。他の実施形態においては、赤外線センサのアレイが使用される。このような実施形態においては、光センサのアレイは、システム１００中の後続の画像処理のために使用されるピクセル画像データを生成する。他の実施形態においては、他のタイプのセンサが使用される。
【００１７】
センサモジュール１０２によって出力されるデータは、システム１００によって処理される生のセンサデータを含んでいる。より詳細には、センサモジュール１０２によって出力されるセンサデータは、システム１００に含まれる１つまたは複数の再構成可能コンピュータ１０４によって処理される。例えば、センサモジュール１０４が生の画像データを出力する一実施形態においては、１つまたは複数の再構成可能コンピュータ１０４は、ＲＩＣＥ圧縮、エッジ検出、ＣＣＳＤＳ（Ｃｏｎｓｕｌｔａｔｉｖｅ  Ｃｏｍｍｉｔｔｅｅ  ｏｆ  Ｓｐａｃｅ  Ｄａｔａ  Ｓｙｓｔｅｍｓ宇宙データシステム諮問委員会）プロトコル通信など、１つまたは複数の画像処理動作を実施する。
【００１８】
次いで、処理済みのセンサデータは、１つまたは複数のバックエンドプロセッサ１０６に供給される。バックエンドプロセッサ１０６は、フロントエンドプロセッサ１０６によって実施される高レベルの制御および通信の処理のための入力としてその処理済みのセンサデータを受け取る。図１に示される実施形態においては、１つのバックエンドプロセッサ１０６は、通信リンク１０８を経由して地上束縛デバイス１１０に送信される適切なダウンストリームパケットをアセンブルする。これらのダウンストリームパケットの少なくとも一部分は、１つまたは複数の再構成可能コンピュータ１０４から受信された処理済みのセンサデータ（またはその処理済みのセンサデータから導き出されたデータ）を含んでいる。システム１００の様々なコンポーネントの内部の、また様々なコンポーネントの間のペイロードに関連したデータの通信もまた、本明細書ではその「データパス」中で行われるものと称される。
【００１９】
システム１００はまた、システム１００の様々なコンポーネントの動作を監視し制御するシステムコントローラ１１２を含んでいる。例えば、システムコントローラ１１２は、再構成可能コンピュータ１０４の構成および再構成を管理する。システム１００の様々なコンポーネントの内部の、また様々なコンポーネントの間の制御データの通信もまた、本明細書ではその「制御パス」中で行われるものと称される。
【００２０】
再構成可能コンピュータ１０４は、構成すること、および再構成することが可能である。例えば、再構成可能コンピュータ１０４は、実行時に構成し、また再構成することが可能である。すなわち、再構成可能コンピュータ１０４によって実施される処理は、システム１００が配備される間に（例えば、システム１００が宇宙に存在する間に）変更することが可能である。一実施形態においては、各再構成可能コンピュータ１０４は、１つまたは複数の再構成可能なフィールドプログラム可能なゲートアレイを使用して実装される。再構成可能コンピュータ１０４のかかる一実施形態が、図２に示される。
【００２１】
一実施形態においては、再構成可能コンピュータ１０４の再構成可能性を使用して、再構成可能コンピュータ１０４によって実施される処理における問題を修復し、あるいは追加の機能を追加する。例えば、システム１００が配備される間に、通信リンク１０８上で地上束縛デバイス１１０からシステム１００に新しい構成データを伝えることができる。再構成可能コンピュータ１０４は、その新しい構成データを使用して、再構成可能コンピュータ１０４を再構成する。
【００２２】
一実施形態においては、再構成可能コンピュータ１０４の再構成可能性を使用して、再構成可能コンピュータ１０４は、タイムシェアリングに基づいて、複数の処理モードのうちの１つで動作することができるようになる。例えば、１つの使用シナリオにおいては、再構成可能コンピュータ１０４は、毎日の第１の部分中に第１の処理モードで動作し、毎日の第２の部分中に第２の処理モードで動作するように構成される。このようにして、同じ再構成可能コンピュータ１０４を使用して複数の処理モードを実施することができ、これにより、このような処理モードを実装するために使用されるリソース（例えば、コスト、電力、およびスペース）の量を低減させることが可能である。
【００２３】
図１に示されるシステム１００の実施形態においては、各再構成可能コンピュータ１０４と各バックエンドプロセッサ１０６は、別のボード上に実装される。これらのボードのそれぞれは、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ周辺コンポーネント相互接続）バスやｃＰＣＩ（ｃｏｍｐａｃｔ  ＰＣＩコンパクトＰＣＩ）バスなどの制御バス１１４上で互いに制御情報をやり取りする。例えば、制御バス１１４は、これらのボードのそれぞれを相互接続するバックプレーン１１６の形で実装される。図１に示される実施形態においては、これらのボードのうちの少なくとも一部は、１つまたは複数のデータバス１１８（例えば、ＲＡＰＩＤＩＯ（登録商標）相互接続プロトコルをサポートする１つまたは複数のバス）上で互いに情報をやり取りする。
【００２４】
そのような実装形態においては、センサモジュール１０２は、１つまたは複数のメザニンボード（ｍｅｚｚａｎｉｎｅ  ｂｏａｒｄ）上に実装される。各メザニンボードは、ＰＭＣ（ＰＣＩ  Ｍｅｚｚａｎｉｎｅ  ＣａｒｄＰＣＩメザニンカード）インターフェースなど、適切な入出力インターフェースを使用して、対応する再構成可能コンピュータボードに接続される。
【００２５】
図２は、宇宙デバイス中において使用するための再構成可能コンピュータ２００の一実施形態の高レベルのブロック図である。再構成可能コンピュータ２００の実施形態は、図１に示されるシステム１００中において、またはシステム１００と共に使用するのに適している。図２に示される再構成可能コンピュータ２００の実施形態は、図１のシステム１００を使用して実装されるものとして本明細書では説明されるが、再構成可能コンピュータ２００の他の実施形態および実装形態が、他の方法でも実装されることを理解されたい。
【００２６】
再構成可能コンピュータ２００は、少なくとも１つの再構成可能処理要素２０２を含んでいる。再構成可能処理要素２０２は、再構成可能処理要素２０２によって実施されるペイロード処理を実行する。図２に示される実施形態においては、再構成可能処理要素２０２は、（本明細書で「ＦＰＧＡ構成」または「構成」と称されることもある）適切なプログラミングロジックをロードすることによりプログラムされる再構成可能ＦＰＧＡ２０４を備える。この実施形態においては、１つまたは複数のＦＰＧＡ構成が、再構成可能コンピュータ２００中に含まれる構成メモリ２０６に記憶される。一実装形態においては、構成メモリ２０６は、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙスタティックランダムアクセスメモリ）を使用して実装される。他の実施形態においては、１つまたは複数のＦＰＧＡ構成は、異なるロケーションに（例えば、（図１に示される）システムコントローラ１１２中に含まれるメモリデバイス中に）記憶される。
【００２７】
図２に示される実施形態においては、再構成可能処理要素２０２は、それに関連する少なくとも１つの入出力インターフェース２１４を有する。各Ｉ／Ｏインターフェース２１４は、再構成可能コンピュータ２００の外部にあるデバイスに再構成可能コンピュータ２００を結合するためのインターフェースを実現する。外部デバイスは、生ペイロードデータのソースであってもよく、または再構成可能処理要素２０２によって出力される処理済みのペイロードデータを使用してもよく、あるいはその両方であってもよい。図２に示される実施形態においては、再構成可能処理要素２０２に関連する２つのＩ／Ｏインターフェース２１４が存在する。しかし、他の実施形態は、異なる数のＩ／Ｏインターフェースを含んでいることを理解されたい。実際に、再構成可能コンピュータ２００の１つの望ましい属性は、異なる実施形態において様々なＩ／Ｏインターフェースをサポートする、図２に示される再構成可能コンピュータアーキテクチャの機能である。
【００２８】
図１に示される実施形態においては、（参照番号２１４−１を使用して図２において個々に参照される）第１のＩ／Ｏインターフェース２１４を使用して、（図１に示される）対応するメザニンボード１１８に再構成可能処理要素２０２を結合する。図１に関連して以上で指摘したように、センサモジュール１０２は、メザニンボード１１８上に取り付けられる。一実装形態においては、第１のＩ／Ｏインターフェース２１４−１は、ＰＭＣインターフェースを備える。（参照番号２１４−２を使用して図２において個々に参照される）第２のＩ／Ｏインターフェース２１４を使用して、（図１に示される）ボード１１２上に取り付けられた（図１に示される）フロントエンドプロセッサ１０６に再構成可能処理要素２０２を結合する。第２のＩ／Ｏインターフェース２１４は、バックプレーン１１６に含まれるデータバス１１８上でフロントエンドプロセッサ１０６に再構成可能処理要素２０２を結合する。一実装形態においては、第２のＩ／Ｏインターフェース２１４−２は、適切なバックプレーンインターフェース（例えば、ＲＡＰＩＤＩＯ（登録商標）相互接続プロトコルをサポートするｃＰＣＩバックプレーンインターフェースまたはバックプレーンインターフェース）を備える。
【００２９】
再構成可能コンピュータ２００は、データをそれに書き込み、そこから読み取ることができる１つまたは複数のマルチポート通信デバイス２１７も含んでいる。一実装形態においては、各マルチポート通信デバイス２１７は、マルチポートメモリデバイス２１６を備える。図２に示される特定の実施形態においては、２つのデュアルポートメモリデバイス２１６が、２つのＩ／Ｏインターフェース２１６のそれぞれについて１つ使用される。各Ｉ／Ｏインターフェース２１４は、各デュアルポートメモリデバイス２１６の第１のポートに結合される。各Ｉ／Ｏインターフェース２１４は、第１のポートを使用して各デュアルポートメモリデバイス２１６からデータを読み取り、それにデータを書き込むことができる。再構成可能処理要素２０２は、各デュアルポートメモリデバイス２１６の第２のポートに結合される。再構成可能処理要素２０２は、第２のポートを使用して各デュアルポートメモリデバイス２１６からデータを読み取り、それにデータを書き込むことができる。マルチドロップバスの代わりに複数のポートを使用してデータパス中のメモリデバイスにアクセスを行うことにより、マルチドロップバスが影響を受けやすいシングルイベントアップセット（例えば、トライステート信号が入力から出力へと、あるいは出力から入力へと変化するＳＥＵ）は、同時にそのデータパス中でスループットを改善しながら回避することができる。
【００３０】
再構成可能コンピュータ２００は、システム制御インターフェース２０８も含んでいる。システム制御インターフェース２０８は、構成バス２１８上で再構成可能処理要素２０２に結合される。また、システム制御インターフェース２０８は、システムバス２２０上で各Ｉ／Ｏインターフェース２１４に結合される。システム制御インターフェース２０８は、それによって（図１に示される）システムコントローラ１１２が再構成可能コンピュータ２００と情報をやり取りして、処理要素２０２の動作を監視し、制御することができるインターフェースを実現する。図２に示される実施形態においては、システム制御インターフェース２０８は、制御バスインターフェース２１０を含んでいる。制御バスインターフェース２１０を使用して、システム制御インターフェース２０８を（図１に示される）制御バス１１４に結合する。これにより、システムコントローラ１１２とシステム制御インターフェース２０８が、制御バス１１４上で情報をやり取りすることができるようになる。一実装形態においては、制御バスインターフェース２１０は、ｃＰＣＩインターフェースを備える。
【００３１】
システム制御インターフェース２０８は、ローカルコントローラ２１２も含んでいる。ローカルコントローラ２１２は、システムコントローラ１１２の指揮の下に様々な制御動作を実行する。図２に示される実施形態においては、ローカルコントローラ２１２は、様々なＦＰＧＡ構成管理動作を実施する。ローカルコントローラ２１２によって実施される構成管理動作は、ＦＰＧＡ構成を構成メモリ２０６から読み取ること、およびその構成を再構成可能ＦＰＧＡ２０４にロードすることを含んでいる。ローカルコントローラ２１２によって実施される構成管理動作はまた、シングルイベントアップセット（ＳＥＵ）緩和動作も含んでいる。このようなＳＥＵ緩和動作の例は、ＦＰＧＡ構成の、周期的リフレッシュおよび／またはイベントトリガされたリフレッシュおよび／またはＦＰＧＡ構成リードバックおよび比較を行うことを含んでいる。一実施形態においては、図３および４に関連して以下で説明されるＳＥＵ緩和動作は、ローカルコントローラ２１２によって実施される。
【００３２】
図２に示される実施形態の一実装形態においては、システム制御インターフェース２０８と構成メモリ２０６は、放射線に対して耐性をもたせたコンポーネントを使用して実装され、（再構成可能ＦＰＧＡ２０４を含めて）再構成可能処理要素２０２と、Ｉ／Ｏインターフェース２１４と、デュアルポートメモリデバイス２１６は、必ずしも放射線に対して耐性をもたせているとは限らないＣＯＴＳ（ｃｏｍｍｅｒｃｉａｌ  ｏｆｆ  ｔｈｅ  ｓｈｅｌｆ商用汎用）コンポーネントを使用して実装される。ＣＯＴＳコンポーネントは、一般的にあまり高価でなく、より柔軟であり、プログラムすることがより簡単である。一般的に、そのデータパス中で実施される処理は、そのデータパス中で実施される処理に比べてミッションごとに、または用途ごとにはさらにかなり変化する。このようなＣＯＴＳコンポーネントを使用することにより、一般的に再構成可能コンピュータ２００は、非構成可能なアンチヒューズＦＰＧＡやＡＳＩＣなどの放射線に対して耐性をもたせたコンポーネントを使用するよりも（時間、コスト、電力、および／またはスペースの観点から）効率的に実装することができるようになる。
【００３３】
さらに、システム制御インターフェース２０８にＳＥＵ緩和技法を組み込むことにより、三重モジュール式冗長度（ｔｒｉｐｌｅ  ｍｏｄｕｌｅ  ｒｅｄｕｎｄａｎｃｙ）などの冗長度に基づいたＳＥＵ緩和技法は、使用する必要がなくなる。これは、ＣＯＴＳコンポーネントを使用して所与の宇宙用途において使用するために適した再構成可能コンピュータ２００を実装するために必要なリソース（例えば、時間、コスト、電力、および／またはスペース）の量を低減させる。
【００３４】
図３は、宇宙デバイス中で使用される再構成可能コンピュータによって実施される制御パス処理の方法３００の一実装形態の高レベルの流れ図である。図３に示される方法３００の実施形態は、本明細書では、それぞれ図１および２のシステム１００および再構成可能コンピュータ２００を使用して実装されるものとして説明される。とりわけ、図３に示される方法３００の実施形態は、本明細書では、システム制御インターフェース２１０のローカルコントローラ２１２によって実装されるものとして説明される。しかし、他の実施形態においては、方法３００は、他の方法で実装される。
【００３５】
再構成可能処理要素２０２が構成（または再構成）されるべきとき（ブロック３０２において検査される）、適切な構成が、構成メモリ２０６から読み取られ（ブロック３０４）、再構成可能ＦＰＧＡ２０４にロードされる（ブロック３０６）。再構成可能処理要素２０２は、例えば再構成可能コンピュータ２００が、初期のシステム電力投入の後に、またはシステムリセットの後に最初にブートするときに構成される。タイムシェアリングの複数の動作モードをサポートする再構成可能コンピュータ２００の実施形態においては、再構成可能コンピュータ２００の動作モードが変化するたびに、その新しい動作モードについての構成が構成メモリ２０６から読み取られ、再構成可能ＦＰＧＡ２０４にロードされる。
【００３６】
また、再構成可能処理要素２０２は、１つまたは複数のＳＥＵ緩和動作の一部分として構成されて、再構成可能ＦＰＧＡ２０４の構成を「リフレッシュ」する。例えば図３に示される実施形態においては、再構成可能処理要素２０２の構成は、現行の構成を再構成可能ＦＰＧＡ２０４に再ロードすることにより、定期的にリフレッシュされる。再構成可能処理要素２０２の現行の構成が最後にロードされて以来、所定の時間が経過している場合（ブロック３０８において検査される）、再構成可能処理要素２０２の構成はリフレッシュされる（ブロック３１０）。再構成可能処理要素は、ブロック３０２から３０８に関連する処理を実施することによりリフレッシュされる。
【００３７】
リードバックおよび比較の動作を使用する方法３００の代替実施形態が、破線を使用して図３に示される。このようなリードバックおよび比較の動作は、再構成可能処理要素２０２の構成を定期的にリフレッシュすることの代わりに、またはおそらくそれに追加して実施される。このようなリードバックおよび比較の動作を実施するときである場合に（ブロック３１２において検査される）、ローカルコントローラ２１０は、再構成可能ＦＰＧＡ２０４の現行の構成を読み取り（ブロック３１４）、現行の構成に関連する良好であることが知られている値とその読み取られた構成の少なくとも一部分を比較する（ブロック３１６）。その読み取られた値が良好であることが知られている値と一致しない場合（ブロック３１８において検査される）、再構成可能処理要素２０２の構成は、リフレッシュされる（ブロック３２０）。すなわち、ブロック３０２から３０８に関連する処理が実施される。
【００３８】
例えば一実装形態においては、このようなリードバックおよび比較の動作は、ＦＰＧＡ２０４の現行の構成の各バイト（または他のデータ単位）を読み取り、またそのバイトを構成メモリ２０６に記憶された対応する構成の対応するバイトと比較することにより実施される。換言すれば、ローカルコントローラ２１２は、バイトごとの比較を実施する。他の実装形態においては、１つまたは複数のＣＲＣ（ｃｙｃｌｉｃ  ｒｅｄｕｎｄａｎｃｙ  ｃｏｄｅ巡回冗長コード）（または他のエラー訂正コード）値は、ＦＰＧＡ２０４の現行の構成について計算され、例えば構成メモリ２０６に記憶された対応するＣＲＣ値と比較される。
【００３９】
図４は、宇宙デバイス中で使用される再構成可能コンピュータによって実施されるデータパス処理の方法４００の一実施形態の高レベルの流れ図である。図４に示される方法４００の実施形態は、本明細書ではそれぞれ図１および２のシステム１００と再構成可能コンピュータ２００とを使用して実装されるものとして説明される。とりわけ、図４に示される方法４００の実施形態は、本明細書ではシステム制御インターフェース２１０のローカルコントローラ２１２によって実装されるものとして説明され、図４に示される処理は、パイプライン処理トポロジを実装している。しかし、他の実施形態においては、方法４００は、他の方法で実装される。
【００４０】
データパス中において、第１のＩ／Ｏインターフェース２１４−１は、Ｉ／Ｏインターフェース２１４−１に結合されたセンサモジュール１０２から生センサデータを受け取る（ブロック４０２）。Ｉ／Ｏインターフェース２１４−１は、Ｉ／Ｏインターフェース２１４−１に関連するデュアルポートメモリデバイス２１６にその受け取った生センサデータを記憶する（ブロック４０４）。Ｉ／Ｏインターフェース２１４−１は、関連するデュアルポートメモリデバイス２１６の第１のポートを使用して、メモリデバイス２１６にその受け取った生センサデータを記憶する。処理要素２０２（より詳細には再構成可能ＦＰＧＡ２０４）は、デュアルポートメモリデバイス２１６に記憶された生センサデータにアクセスする（ブロック４０６）。処理要素２０２は、メモリデバイス２１６の第２のポートを使用してデュアルポートメモリデバイス２１６に記憶された生センサデータにアクセスする。処理要素２０２は、処理要素２０２の現行の構成に従ってその生センサデータを処理する（ブロック４０８）。例えば一実施形態においては、処理要素２０２は、その生センサデータに１つまたは複数の画像処理動作を実施するように構成され、その生センサデータは、センサモジュール１０２に含まれる光センサアレイから受け取ったピクセル画像データを含んでいる。
【００４１】
図４に示される特定の実施形態においては、再構成可能処理要素２０２は、第２のＩ／Ｏインターフェース２１４−２に関連するデュアルポートメモリデバイス２１６に処理済みのセンサデータを書き込む（ブロック４１０）。再構成可能処理要素２０２は、デュアルポートメモリデバイス２１６の１つのポートを使用して処理済みのセンサデータを書き込む。第２のＩ／Ｏインターフェース２１４−２は、関連するデュアルポートメモリデバイス２１６から処理済みのセンサデータを読み取る（ブロック４１２）。第２のＩ／Ｏインターフェース２１４−２は、メモリデバイス２１６の他のポートを使用して、デュアルポートメモリデバイス２１６から処理済みのセンサデータを読み取る。次いで第２のＩ／Ｏインターフェース２１４−２は、第２のＩ／Ｏインターフェースに結合された外部デバイスにその読み取られた処理済みのセンサデータを供給する（ブロック４１４）。例えばこの実施形態においては、第２のＩ／Ｏインターフェース２１４−２は、ボード１１２に取り付けられたフロントエンドプロセッサ１０６に対して処理済みのセンサデータを供給する。第２のＩ／Ｏインターフェース２１４−２は、バックプレーン１１６中に含まれるデータバス１１８上でフロントエンドプロセッサ１０６に対して処理済みのセンサデータを供給する。
【００４２】
以上で指摘したように、図１から４は、それぞれシステム１００と、再構成可能コンピュータ２００と、関連する方法３００および４００の例示的実施例を示している。他の実施形態は、他の方法で実装されることを理解されたい。実際に、図１から図４に示される再構成可能コンピューティングアーキテクチャは、多種多様の用途について適応可能である。例えば、図５は、再構成可能コンピュータ５００の一代替実施形態のブロック図である。図５に示される再構成可能コンピュータ５００の実施形態は、３つの再構成可能処理要素５０２を含んでいる。３つの再構成可能処理要素５０２は、図５においてそれぞれ処理要素５０２−１、５０２−２、および５０２−３として個々に参照される。
【００４３】
図５に示される実施形態においては、各再構成可能処理要素５０２は、適切なＦＰＧＡ構成をロードすることによってプログラムされる再構成可能ＦＰＧＡ５０４を備える。この実施形態においては、ＦＰＧＡ５０４ごとの１つまたは複数のＦＰＧＡ構成は、再構成可能コンピュータ５００に含まれる構成メモリ５０６に記憶される。一実装形態においては、構成メモリ５０６は、放射線耐性をもたせたスタティックランダムアクセスメモリ（ＳＲＡＭ）を使用して実装される。他の実施形態においては、１つまたは複数のＦＰＧＡ構成が、異なるロケーションに（例えば、（図１に示される）システムコントローラ１１２に含まれるメモリデバイスに）記憶される。３つの再構成可能処理要素５０２のそれぞれは、図５に示される実施形態において１つまたは複数のペイロード処理動作を実施するように構成される。
【００４４】
再構成可能コンピュータ５００は、５つのＩ／Ｏインターフェース５１４を含んでいる。５つのＩ／Ｏインターフェース５１４は、図５においてそれぞれＩ／Ｏインターフェース５１４−１、５１４−２、５１４−３、５１４−４、および５１４−５として個々に参照される。２つのＩ／Ｏインターフェース５１４−１および５１４−２は、ＰＭＣインターフェースを備える。２つのＰＭＣインターフェース５１４−１および５１４−２のそれぞれは、再構成可能処理要素５０２によって処理するために生ペイロードデータを受け取る各センサモジュール１０２（図５には図示せず）に結合される。
【００４５】
図５に示される実施形態においては、ＰＭＣインターフェース５１４−１および５１４−２と、処理要素５０２は、１０個のデュアルポートメモリデバイス２１６を使用して互いに結合される。これは、ＳＥＵの影響をより受けやすいマルチドロップバス（または他の相互接続構造）を使用する必要性をなくする。１０個のデュアルポートメモリデバイス５１６は、図５においてそれぞれ５１６−１、５１６−１、５１６−２、５１６−３、５１６−４、５１６−５、５１６−６、５１６−７、５１６−８、５１６−９、および５１６−１０として個々参照される。
【００４６】
第１のグループの３つのデュアルポートメモリデバイス５１６−１、５１６−２、および５１６−３のそれぞれは、第１のＰＭＣインターフェース５１４−１に結合された第１のポートを有する。第１のＰＭＣインターフェース５１４−１は、これらのメモリデバイス５１６−１、５１６−２、および５１６−３のそれぞれの第１のポートを使用して、メモリデバイス５１６−１、５１６−２、および５１６−３のそれぞれからデータを読み取り、それらのそれぞれにデータを書き込む。第１の構成可能処理要素５０２−１は、これらのメモリデバイス５１６−１、５１６−２、および５１６−３のそれぞれの第２のポートに結合される。第１の構成可能処理要素５０２−１は、これらのメモリデバイス５１６−１、５１６−２、および５１６−３のそれぞれの第２のポートを使用して、メモリデバイス５１６−１、５１６−２、および５１６−３のそれぞれからデータを読み取り、それらのそれぞれにデータを書き込む。
【００４７】
第２のグループの３つのデュアルポートメモリデバイス５１６−４、５１６−５、および５１６−６のそれぞれは、第２のＰＭＣインターフェース５１４−２に結合された第１のポートを有する。第２のＰＭＣインターフェース５１４−２は、これらのメモリデバイス５１６−４、５１６−５、および５１６−６のそれぞれの第１のポートを使用して、メモリデバイス５１６−４、５１６−５、および５１６−６のそれぞれからデータを読み取り、それらのそれぞれに対してデータを書き込む。第２の構成可能処理要素５０２−２は、これらのメモリデバイス５１６−４、５１６−５、および５１６−６のそれぞれの第２のポートに結合される。第２の構成可能処理要素５０２−２は、これらのメモリデバイス５１６−４、５１６−５、および５１６−６のそれぞれの第２のポートを使用して、メモリデバイス５１６−４、５１６−５、および５１６−６のそれぞれからデータを読み取り、それらのそれぞれにデータを書き込む。
【００４８】
他のグループの２つのデュアルポートメモリデバイス５１６−７および５１６−８を使用して、それぞれ第１および第２のＰＭＣインターフェース５１４−１および５１４−２を第３の処理要素５０２−３に結合する。デュアルポートメモリデバイス５１６−７は、第１のＰＭＣインターフェース５１４−１に結合された第１のポートと、第３の再構成可能処理要素５０２−３に結合された第２のポートとを有する。第１のＰＭＣインターフェース５１４−１は、メモリデバイス５１６−７の第１のポートを使用して、メモリデバイス５１６−７からデータを読み取り、それにデータを書き込む。第３の再構成可能処理要素５０２−３は、メモリデバイス５１６−７の第２のポートを使用して、メモリデバイス５１６−７からデータを読み取り、それにデータを書き込む。デュアルポートメモリデバイス５１６−８は、第２のＰＭＣインターフェース５１４−２に結合された第１のポートと、第３の再構成可能処理要素５０２−３に結合された第２のポートとを有する。第２のＰＭＣインターフェース５１４−２は、メモリデバイス５１６−８の第１のポートを使用して、メモリデバイス５１６−８からデータを読み取り、それにデータを書き込む。第３の再構成可能処理要素５０２−３は、メモリデバイス５１６−８の第２のポートを使用して、メモリデバイス５１６−８からデータを読み取り、それにデータを書き込む。
【００４９】
２つの他のデュアルポートメモリデバイス５１６−９および５１６−１０を使用して、それぞれ第１および第２の再構成可能処理要素５０２−１および５０２−２を第３の再構成可能処理要素５０２−３に結合する。デュアルポートメモリデバイス５１６−９は、第１の再構成可能処理要素５０２−１に結合された第１のポートと、第３の再構成可能処理要素５０２−３に結合された第２のポートとを有する。第１の再構成可能処理要素５０２−１は、メモリデバイス５１６−９の第１のポートを使用して、メモリデバイス５１６−９からデータを読み取り、それにデータを書き込む。第３の再構成可能処理要素５０２−３は、メモリデバイス５１６−９の第２のポートを使用して、メモリデバイス５１６−９からデータを読み取り、それにデータを書き込む。デュアルポートメモリデバイス５１６−１０は、第２の再構成可能処理要素５０２−２に結合された第１のポートと、第３の再構成可能処理要素５０２−３に結合された第２のポートとを有する。第２の再構成可能処理要素５０２−２は、メモリデバイス５１６−１０の第１のポートを使用して、メモリデバイス５１６−９からデータを読み取り、それにデータを書き込む。第３の再構成可能処理要素５０２−３は、メモリデバイス５１６−１０の第２のポートを使用して、メモリデバイス５１６−１０からデータを読み取り、それにデータを書き込む。
【００５０】
３つのＩ／Ｏインターフェース５１４−３、５１４−４、および５１４−５は、ＲＡＰＩＤＩＯ（登録商標）インターフェースを備える。ＲＡＰＩＤＩＯインターフェース５１４−４、５１４−５、および５１４−６のそれぞれは、ＲＡＰＩＤＩＯ相互接続プロトコルをサポートするバックプレーン１１６中の１つまたは複数のデータバス１１８上で各フロントエンドプロセッサ１０６（図５には示されず）に結合される。図５に示される実施形態においては、再構成可能処理要素５０２−１、５０２−２、および５０２−３のそれぞれは、ＲＡＰＩＤＩＯインターフェース５１４−３、５１４−４、および５１４−５のうちのそれぞれ１つに結合されて、１つまたは複数のフロントプロセッサ１０６と情報をやり取りする。
【００５１】
再構成可能コンピュータ５００はまた、システム制御インターフェース５０８も含んでいる。システム制御インターフェース５０８は、構成バス５１８上で各再構成可能処理要素５０２のそれぞれに結合される。また、システム制御インターフェース５０８は、システムバス５２０上でＰＭＣインターフェース５１４−１および５１４−２のそれぞれに結合される。システム制御インターフェース５０８は、それによりシステムコントローラ１１２（図５には示されず）が、再構成可能処理要素５０２とＰＭＣインターフェース５１４−１および５１４−２のそれぞれに結合されたデバイスと情報をやり取りして、処理要素５０２とＰＭＣインターフェース５１４−１および５１４−２に結合されたデバイスの動作を監視し制御することができるインターフェースを提供する。
【００５２】
図５に示される実施形態においては、システム制御インターフェース５０８は、制御バスインターフェース５１０を含んでいる。制御バスインターフェース５１０を使用して、システム制御インターフェース５０８を（図１に示される）制御バス１１４に結合する。これにより、システムコントローラ１１２とシステム制御インターフェース５０８は、制御バス１１４上で情報をやり取りすることができるようになる。一実装形態においては、制御バスインターフェース５１０は、ｃＰＣＩインターフェースを備える。
【００５３】
システム制御インターフェース５０８はまた、ローカルコントローラ５１２も含んでいる。ローカルコントローラ５１２は、システムコントローラ１１２の指揮の下で様々な制御動作を実行する。図５に示される実施形態においては、ローカルコントローラ５１２は、図２に示されるローカルコントローラ２１２に関連して以上で説明したような様々なＦＰＧＡ構成管理動作を実施する。ローカルコントローラ５１２によって実施される構成管理動作は、構成メモリ５０６からＦＰＧＡ構成を読み取ること、およびその構成を各再構成可能ＦＰＧＡ５０４にロードすることを含んでいる。ローカルコントローラ５１２によって実施される構成管理動作はまた、シングルイベントアップセット（ＳＥＵ）緩和動作も含んでいる。このようなＳＥＵ緩和動作の例は、ＦＰＧＡ構成の、定期的なリフレッシュおよび／またはイベントトリガされたリフレッシュおよび／またはＦＰＧＡ構成のリードバックおよび比較を行うことを含んでいる。一実施形態においては、図３および４に関連して以上で説明したＳＥＵ緩和動作は、再構成可能処理要素５０２ごとにローカルコントローラ５１２によって実施される。
【００５４】
添付の特許請求の範囲によって定義される本発明のいくつかの実施形態について説明してきた。それにもかかわらず、請求される本発明の趣旨および範囲を逸脱することなく、これらの説明された実施形態に対する様々な変更を行うことができることが理解されよう。したがって、他の実施形態も添付の特許請求の範囲の範囲内に含まれる。
【図面の簡単な説明】
【００５５】
【図１】宇宙ペイロード処理システムの一実施形態の高レベルのブロック図である。
【図２】宇宙デバイス中において使用するための再構成可能コンピュータ２００の一実施形態の高レベルのブロック図である。
【図３】宇宙デバイス中において使用される再構成可能コンピュータによって実施される制御パス処理の方法の一実施形態の高レベルの流れ図である。
【図４】宇宙デバイス中において使用される再構成可能コンピュータによって実施されるデータパス処理の方法の一実施形態の高レベルの流れ図である。
【図５】再構成可能コンピュータの一代替実施形態のブロック図である。
【図１】
2008507778.tif 000003
【図２】
2008507778.tif 000004
【図３】
2008507778.tif 000005
【図４】
2008507778.tif 000006
【図５】
2008507778.tif 000007
【国際調査報告】
2008507778.tif 000008
2008507778.tif 000009
2008507778.tif 000010