(57)【要約】本発明は、メモリ空間の管理を可能にする、データをバックアップ（９０）および復元（１００）するための構造（４０）および方法に関する。バックアップおよび復元構造（４０）には、マトリックス（４０１）、すなわちそれ自体の行（４０２、４０５）および列（４０３、４０４）に分配されたＣコネクタのマトリックス（４０１）が含まれる。同一の行（４０２、４０５）の各Ｃコネクタは、その２つの隣接するＣコネクタ（それらが存在する場合）に接続される。同一の列（４０３、４０４）の各Ｃコネクタは、その２つの隣接するＣコネクタ（それらが存在する場合）に接続される。Ｃコネクタの各行（４０２、４０５）は、行（４０２、４０５）の一端に位置するＣコネクタによって、先入れ先出し法タイプのメモリ（４６、４７、４８、４９）に接続される。コネクタの各列（４０３、４０４）は、列（４０３、４０４）の一端に位置するＣコネクタによって、構造（４０）におけるデータストリームの入力および／または出力ポート（４２、４３、４４）に接続される。各Ｃコネクタは、構造（４０）に入るかまたはそこから出るデータストリームを独立して伝播する。本発明は、例えば同一の電子回路基板上に作製された計算構造およびメモリ空間を関連づける構成要素を含むオンボード計算システムに特に適している。【選択図】図３
2011501306.tif 000002
【特許請求の範囲】
【請求項１】
データストリームをバックアップおよび復元するための構造（４０）であって、この構造（４０）が、マトリックス（４０１）、すなわちそれ自体の行（４０２、４０５）および列（４０３、４０４）に分配されたＣコネクタのマトリックス（４０１）を含み、
●同一の行（４０２、４０５）の各Ｃコネクタが、前記行（４０２、４０５）におけるその２つの隣接するコネクタに、それらが存在する場合には接続され、
●同一の列（４０３、４０４）の各Ｃコネクタが、前記列（４０３、４０４）におけるその２つの隣接するＣコネクタに、それらが存在する場合には接続され、
●Ｃコネクタの各行（４０２、４０５）が、先入れ先出し法タイプの動作をするメモリ（４６、４７、４８、４９）に接続され、前記メモリ（４６、４７、４８、４９）が、その状態に関する情報を、前記行（４０２、４０５）の一端に位置するＣコネクタによって前記行（４０２、４０５）の前記Ｃコネクタに提供し、
●Ｃコネクタの各列（４０３、４０４）が、前記列（４０３、４０４）の一端に位置するＣコネクタによって、前記構造（４０）におけるデータストリームの入力および出力ポート（４２、４３、４４）に接続され、
各Ｃコネクタが、前記メモリ（４６、４７、４８、４９）によって提供された前記状態の関数として、前記構造（４０）に入るかまたはそこから出るデータストリームを独立してルーティングおよび伝播できることを特徴とする構造（４０）。
【請求項２】
データストリームのバックアップが、入力および出力ポート（４２、４３、４４）から１つまたは複数のメモリ（４６、４７、４８、４９）へ行われ、前記データストリームが、前記マトリックス（４０１）のＣコネクタを通過することを特徴とする、請求項１に記載の構造（４０）。
【請求項３】
データストリームの復元が、前記メモリ（４６、４７、４８、４９）から入力および出力ポート（４２、４３、４４）へ行われ、前記データストリームが、前記マトリックス（４０１）のＣコネクタを通過することを特徴とする、請求項１および２のいずれか一項に記載の構造（４０）。
【請求項４】
各Ｃコネクタが、
■前記Ｃコネクタの前記行（４０２、４０５）に接続された前記メモリ（４６、４７、４８、４９）の状態と、
■メモリ動作のタイプ、すなわち読み出し、書き込みと、
に従って、データストリームをルーティングまたは伝播することを特徴とする、請求項１〜３のいずれか一項に記載の構造（４０）。
【請求項５】
各Ｃコネクタが、少なくとも４つインタフェース、すなわち、
■○第１のストリームデータ入力および／または出力部（５１）と、
○読み出しまたは書き込みコマンド信号の入力部（５２）と、
を含む第１のノースインタフェースと、
■○第２のストリームデータ入力および／または出力部（５３）と、
○読み出しまたは書き込みコマンド信号の出力部（５４）と、
を含む第２のサウスインタフェースと、
■○第３のストリームデータ入力および／または出力部（５５）と、
○読み出しまたは書き込みメモリ動作の出力部（５６）と、
○メモリ状態の入力部（５７）と、
を含む第３のイーストインタフェースと、
■○第４のストリームデータ入力および／または出力部（５８）と、
○読み出しまたは書き込みメモリ動作の入力部（５９）と、
○メモリ状態の出力部（６０）と、
を含む第４のウェストインタフェースと、
を含むことを特徴とする、請求項１〜４のいずれか一項に記載の構造（４０）。
【請求項６】
■前記列（４０３、４０４）の１つにおける一端に位置する第１のＣコネクタの前記第１のノースインタフェースが、前記構造（４０）の入力および／または出力ポート（４２、４３、４４）に接続され、
■前記行（４０２、４０５）の１つにおける一端に位置する第２のＣコネクタの前記第３のイーストインタフェースが、前記構造（４０）のメモリ（４６、４７、４８、４９）に接続され、
■同一の列（４０３、４０４）における連続するＣコネクタの前記第１および第２のノースおよびサウスインタフェースが、共に接続され、
■同一の行（４０２、４０５）における連続するＣコネクタの前記第３および第４のイーストおよびウェストインタフェースが、共に接続されることを特徴とする、請求項１〜５のいずれか一項に記載の構造（４０）。
【請求項７】
メモリ（４６、４７、４８、４９）が、３つの状態、すなわち空、満杯、および空でない状態を有することを特徴とする、請求項５および６のいずれか一項に記載の構造。
【請求項８】
データストリームをバックアップ（９０）および復元（１００）するための方法であって、
○前記方法が、請求項１〜７に記載の前記バックアップおよび復元構造（４０）を用い、
○データストリームの前記バックアップ（９０）が、少なくとも次のステップ、すなわち、
■書き込みコマンド信号およびバックアップすべきストリームデータを前記構造の第１のポートで受信するステップ（９１）と、
■前記書き込みコマンド信号および前記ストリームデータを前記マトリックスにおいて伝播するステップ（９２）と、
■前記書き込みコマンド信号および前記データが現在のコネクタに到着するステップ（９４）と、
−前記現在のコネクタの前記行の前記メモリが空の場合には、
■書き込み制御信号を、前記現在のコネクタによって前記現在のコネクタの前記行の前記メモリに送信するステップ（９５）、および前記現在のコネクタをマークするステップ（９６）と、
■前記ストリームデータを前記現在のコネクタの前記行の前記メモリに書き込むステップと、
−前記現在のコネクタの前記行の前記メモリが空でない場合には、
■まだバックアップされていない前記ストリームデータを、前記現在のコネクタの列における次のコネクタに伝達するステップ（９９）、および前記書き込みコマンド信号が現在のコネクタに到着する前記ステップにおいて前記バックアップを再開するステップであって、前記次のコネクタが前記現在のコネクタに取って代わるステップと、
を含み、
○データストリームの前記復元（１００）が、少なくとも次のステップ、すなわち、
■データストリーム読み出しコマンド信号を、前記構造（４０）の前記第１のポート（４２、４３、４４）において受信するステップ（１０１）と、
■前記読み出しコマンド信号を前記マトリックス（４０１）において伝播するステップ（１０２）と、
■読み出しコマンド信号が現在のコネクタに到着するステップ（１０３）と、
−前記現在のＣコネクタがマークされている場合には、
■読み出し制御信号を、前記現在のコネクタによって前記現在のコネクタの前記行の前記メモリに送信するステップ（１０４）と、
■前記現在のコネクタの前記行の前記メモリにバックアップされた前記ストリームデータを読み出すステップ（１０５）、および前記読み出されたストリームデータを前記マトリックスにおいて前記第１のポートへ伝播するステップと、
■前記現在のコネクタの前記マーキング（１０６）を取り消すステップと、
■前記読み出しコマンド信号を前記現在のコネクタの前記列における次のコネクタに伝達するステップ（１０７）、および前記読み出し信号が現在のコネクタに到着する前記ステップにおいて前記方法を再開するステップであって、前記次のコネクタが前記現在のコネクタになるステップと、
−前記Ｃコネクタがマークされていない場合には、
■読み出しコマンド信号を前記コネクタの前記列における前記次のコネクタに伝達するステップ（１０７）、および前記読み出し信号がコネクタに到着する前記ステップにおいて前記方法を再開するステップであって、前記次のコネクタが前記現在のコネクタになるステップと、
を含むことを特徴とする方法。
【請求項９】
前記バックアップ（９０）中に、前記現在のコネクタの前記行における前記メモリの利用可能性の状態が、前記現在のコネクタの要求で前記現在のコネクタにブロードキャストされることを特徴とする、いずれか１つの請求項８に記載の方法。
【請求項１０】
異なるメモリ（４６、４７、４８、４９）における、同一のストリームの前記バックアップされたデータの前記読み出し（１０５）が、並列に実行されることを特徴とする、請求項８〜１０のいずれか一項に記載の方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ空間の管理を可能にする、データをバックアップおよび復元するための構造および方法に関する。本発明は、例えば同一の電子回路基板上に作製された計算構造およびメモリ空間を関連づける構成要素を含むオンボード計算システムに特に適している。
【背景技術】
【０００２】
本発明は、動的にプログラムまたは再構成できるマルチタスク処理構造上で実行されるデータストリームアプリケーション間におけるデータ交換の要件に特に適合する。かかる処理構造は、例えばプロセッサ、プログラマブル論理回路であってもよい。データストリームアプリケーションは、集積および製造コストに関して厳しい制約があるオンボードシステムにおいて特に用いられる。データストリームアプリケーションは、データバックアップおよび復元要件を有するシステムに統合されたマルチタスク処理構造によって用いてもよい。データバックアップおよび復元要件を有するかかるシステムは、電気通信装置、画像処理装置、データ圧縮および復元装置、データ暗号化および復号化装置、コンピュータネットワーク装置、再構成可能アーキテクチャ用の電子回路構成システム、測定装置、収集装置、表示装置であってもよい。
【０００３】
データストリームアプリケーションによって用いられるプロセスは、１つまたは複数の出力データストリームを生成するために、１つまたは複数の入力データストリームを修正する一連の基本タスクである。各基本タスクは、入力データを消費し、それらを修正して新しい情報、すなわち出力データを生成する。データストリームアプリケーションは、生産者−消費者タイプのモデルに従う。基本タスクの実行順序は、タスクによって消費されるデータと、他のタスクによって生成されるデータとの間に存在し得るデータ依存関係によって特に決定される。様々なタスク間で交換されるデータ量は、アプリケーションによって作動される基本タスクに応じて変化する可能性がある。生成されるデータ量と消費されるデータ量との間の比率は、必ずしも一定ではない。
【０００４】
いくつかの基本タスク間に依存関係がない場合には、基本タスクは、システムの同一の計算資源上で並行に、またはシステムの２つの別個の計算資源上で並列に実行してもよい。
【０００５】
アプリケーションプロセスを中断しなければならない場合には、後でアプリケーションプロセスを再開できるように、既に遂行された様々なタスクから出力されたデータストリームをバックアップすることが必要である。アプリケーションプロセスを再開するには、消費する側のタスクに入力されるデータストリームを復元することが必要である。この種の機構の特定の事例が、オンボードシステムにおいて使用できる再構成可能アーキテクチャに見出される。再構成可能アーキテクチャは、ハードウェア構造であり、この構造の資源は、所望のプロセスを実行するように構成することができる。かかるアーキテクチャは、アプリケーションまたは完全なアプリケーションのサブ部分を実行するために、処理中に、その内部アーキテクチャの一部または全部の再構成をできるようにする。したがって、いくつかの再構成が、アプリケーションの全体を実行するために必要になる可能性がある。再構成可能回路のこの使用法は、動的と呼ばれる。動的再構成を実行することの困難は、アプリケーションプロセスのサブ部分に対応する構成からの実行データをリカバリして、そのデータを後に続くサブ部分に転送し、再構成が全体のアプリケーションに影響しないようにすることである。１つのサブ部分から別のサブ部分への移行中に必要なデータは、コンテキストと呼ばれるエンティティにおいて共にグループ化される。各コンテキストは、データストリームの形態でメモリに送信することができる。各コンテキストに含まれるデータは、不均一であってもよい。すなわち、数、サイズ、および送信頻度において可変であってもよい。コンテキストは、アプリケーションにおけるサブ部分の実行中に生成される。したがって、コンテキストデータは、動的であり、アプリケーションにおけるサブ部分の実行前には決定されない。
【０００６】
したがって、特に処理速度の点で強力な再構成可能動的アーキテクチャを使用するには、コンテキストの変更の際に、データストリームの不均一性を、特にこれらのデータのバックアップおよび復元中に管理できるデータストリーム管理システムが必要である。
【０００７】
バックアップおよび復元すべきデータストリームを管理するための装置が、特に次のものを含むいくつかのタイプのシステムアーキテクチャ用に存在する。すなわち、
■プログラマブル論理回路タイプまたはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のアーキテクチャ、
■データフローアーキテクチャ、
■ストリームプロセッサアーキテクチャ。
【０００８】
フィールドプログラマブルゲートアレイの場合には、データは、メインメモリによって交換される。生産者と消費者との間の交換ゾーンを生成するために、メモリゾーンが、メインメモリにおいて動的に割り当てられる。この解決法は非常に柔軟であるが、これによっては、タスクの並列処理をサポートすることが可能にならない。さらに、この解決法は、シリコン表面積およびエネルギの点で、非常に貪欲である。
【０００９】
データフロータイプのアーキテクチャは、通常、処理すべきストリームがうまく制御され、かつ複雑な再構成を必要としないアプリケーション領域専用の解決法である。かかるシステムにおいて、ストリームは、先入れ先出し法（ＦＩＦＯ）タイプの専用メモリを用いることによって管理される。このタイプのアーキテクチャにおいて、全てのタスクが前もって提供され、特定のメモリ空間が、様々なタスク間の各データ通信用に提供されて割り当てられる。したがって、様々なタスク間でメモリ資源を共有することは、必要ではない。アーキテクチャの動的再構成の管理において、データフロータイプの解決法は、適切ではない。なぜなら、それは、最悪の場合に備えて、必要になるかもしれないデータストリームの全ての、およびしたがってメモリ空間の全ての大きさを決める必要があるからである。特に、過小な大きさにした場合には、ストリーム管理構造は、アプリケーションの移植中に厳しい制約を課する。反対に過大な大きさにした場合には、エネルギの過剰消費およびシステムの効率損失を引き起こす。
【００１０】
ストリームプロセッサ用に用いられる、より複雑な機構を使用することによって、データストリーム管理構造をよりよい大きさにすることができる。具体的には、ストリームプロセッサタイプのアーキテクチャは、はるかに万能的であり、データストリームがそれほど制御可能ではない、かつ複雑な再構成動作を必要とするアプリケーションをサポートする。したがって、ストリームプロセッサアーキテクチャに支援されて開発された装置は、はるかに複雑である。ストリームプロセッサアーキテクチャにおけるストリーム管理は、メモリベースで実行される。メモリアドレスの管理は、これによってデータストリームの再構成が可能になるが、特にかかるシステムを作製するために必要なシリコン量ゆえに高コストの原因になる。さらに、これらのストリームプロセッサアーキテクチャは、より規則的なデータストリームを含むアプリケーションにおいては用いられない、かつ消費および効率にとって有害なストリームを再構成するための機能を統合する。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、特に、データストリーム管理構造を効率的な大きさにし、一方でデータストリーム管理構造の複雑さを抑制することである。したがって、本発明の主題は、データ再構成なしに、共有メモリ空間において、データストリームを管理するデータをバックアップおよび復元するための構造および方法である。
【課題を解決するための手段】
【００１２】
データストリームをバックアップおよび復元するための構造には、特に、マトリックス、すなわち、その行および列に分配されたコネクタのマトリックスが含まれる。同一の行の各Ｃコネクタは、特に、その行における自身の２つの隣接するコネクタ（それらが存在する場合）に接続される。同一の列の各コネクタは、特に、その列における自身の２つの隣接するコネクタ（これらが存在する場合）に接続される。コネクタの各行は、特に、メモリに接続される。メモリは、例えば、先入れ先出し法タイプの動作をする。メモリは、その状態に関する情報を、行の一端に位置するコネクタを用いて行のコネクタに提供することができる。コネクタの各列は、特に、例えば列の一端に位置するコネクタによって、構造におけるデータストリームの入力／出力ポートに接続される。各コネクタは、特に、メモリによって提供された状態に応じて、構造に入るかまたはそこから出るデータストリームを独立してルーティングおよび伝播することができる。
【００１３】
データストリームのバックアップは、入力および出力ポートから１つまたは複数のメモリへ行うことができる。データストリームは、特に、マトリックスのコネクタを通過する。
【００１４】
データストリームの復元は、メモリから入力および出力ポートへ行うことができ、データストリームは、マトリックスのコネクタを通過する。
【００１５】
各コネクタは、
■コネクタの行に接続されたメモリの状態と、
■メモリ動作のタイプ、すなわち読み出し、書き込みと、
に従って、データストリームをルーティングまたは伝播することができる。
【００１６】
各コネクタには、特に、４つインタフェース、すなわち、
■○第１のストリームデータ入力および／または出力部と、
○読み出しまたは書き込みコマンド信号の入力部と、
を含む第１のインタフェースと、
■○第２のストリームデータ入力および／または出力部と、
○読み出しまたは書き込みコマンド信号の出力部と、
を含む第２のインタフェースと、
■○第３のストリームデータ入力および／または出力部と、
○読み出しまたは書き込みメモリ動作の出力部と、
○メモリ状態の入力部と、
を含む第３のインタフェースと、
■○第４のストリームデータ入力および／または出力部と、
○読み出しまたは書き込みメモリ動作の入力部と、
○メモリ状態の出力部と、
を含む第４のインタフェースと、
が含まれる。
【００１７】
列の１つにおける一端に位置する第１のコネクタの第１のインタフェースは、例えば、構造の入力および／または出力ポートに接続される。
【００１８】
行の１つにおける一端に位置する第２のコネクタの第３のインタフェースは、例えば、構造のメモリに接続される。
【００１９】
同一の列における連続するコネクタの第１および第２のインタフェースは、例えば、共に接続される。
【００２０】
同一の行における連続するコネクタの第３および第４のインタフェースは、例えば、共に接続される。
【００２１】
メモリは、３つの状態、すなわち空、満杯、および空でない状態を有することができる。
【００２２】
データストリームをバックアップおよび復元するための方法は、特に、バックアップおよび復元構造を用いる。
【００２３】
データストリームのバックアップには、次のステップ、すなわち、
■書き込みコマンド信号およびバックアップすべきストリームデータを、構造の第１のポートで受信するステップと、
■書き込みコマンド信号およびストリームデータをマトリックスにおいて伝播するステップと、
■書き込みコマンド信号およびデータが現在のコネクタに到着するステップと、
現在のコネクタの行のメモリが空の場合には、
■書き込み制御信号を、現在のコネクタによって現在のコネクタの行のメモリに送信するステップ、および現在のコネクタをマークするステップと、
■ストリームデータを現在のコネクタの行のメモリに書き込むステップと、
現在のコネクタの行のメモリが空でない場合には、
■まだバックアップされていないストリームデータを現在のコネクタの列における次のコネクタに伝達するステップ、および書き込みコマンドが現在のコネクタに到着するステップにおいてバックアップを再開するステップであって、次のコネクタが現在のコネクタに取って代わるステップと、
を含んでもよく、
データストリームの復元には、次のステップ、すなわち、
■データストリーム読み出しコマンド信号を構造の第１のポートで受信するステップと、
■読み出しコマンド信号をマトリックスにおいて伝播するステップと、
■読み出しコマンド信号が、現在のコネクタに到着するステップと、
現在のコネクタがマークされている場合には、
■読み出し制御信号を、現在のコネクタによって現在のコネクタの行のメモリに送信するステップと、
■現在のコネクタの行のメモリにバックアップされたストリームデータを読み出すステップ、および読み出されたストリームデータをマトリックスにおいて第１のポートへ伝播するステップと、
■現在のコネクタのマーキングを取り消すステップと、
■読み出しコマンド信号を、現在のコネクタの列における次のコネクタに伝達するステップ、および読み出し信号が現在のコネクタに到着するステップにおいてこの方法を再開するステップであって、次のコネクタが現在のコネクタになるステップと、
コネクタがマークされていない場合には、
■読み出しコマンド信号をコネクタの列における次のコネクタに伝達するステップ、および読み出し信号がコネクタに到着するステップにおいてこの方法を再開するステップであって、次のコネクタが現在のコネクタになるステップと、
を含んでもよい。
【００２４】
バックアップ中に、現在のコネクタの行におけるメモリの利用可能性の状態を、現在のコネクタの要求で現在のコネクタにブロードキャストしてもよい。
【００２５】
異なるメモリにおける同一のストリームのバックアップされたデータの読み出しは、例えば、並列に実行される。
【００２６】
本発明の主な利点は、特に、本発明によって、並列データストリームの独立したバックアップおよび復元が可能になるということである。有利なことに、メモリの割り当ておよびアドレスの管理は、自動であり、設計者または第三者のツールの関与を必要としない。
【００２７】
本発明の他の特徴および利点は、下記の説明の助けにより、見えてくるであろうが、その説明は、実例として提供され、限定ではなく、かつ添付の図面に関連して作成されている。
【図面の簡単な説明】
【００２８】
【図１】カーンプロセスネットワークタイプのデータストリームのアプリケーション例である。
【図２】２つの構成を備えたカーンプロセスネットワークタイプのデータストリームのアプリケーション例である。
【図３】本発明によるバックアップおよび復元構造の概略図である。
【図４】本発明によるバックアップおよび復元構造におけるコネクタのインタフェースの概略図である。
【図５】非接続（ｕｎｃｏｎｎｅｃｔｅｄ）状態におけるコネクタの概略図である。
【図６】バックアップストリーム接続（ｃｏｎｎｅｃｔｅｄ）状態におけるコネクタの概略図である。
【図７】復元ストリーム接続状態におけるコネクタの概略図である。
【図８】本発明によるバックアップ方法の様々の可能なステップである。
【図９】本発明による復元方法の様々の可能なステップである。
【発明を実施するための形態】
【００２９】
第１の構成２０から第２の構成２１への遷移には、例えば、コンテキスト２２、２３をバックアップおよび復元するステップを必要とする。コンテキスト２０、２１の数およびサイズは、非常に変わりやすくすることができる。可能な最小の制約で強力な動的再構成を伴うプラットフォームを取得するために、極めて不均一なデータストリームの管理を可能にする機構を、システムに統合することが適切である。したがって、本発明は、解決法、すなわち他のシステムに適用可能であるが、動的再構成の管理のために十分な意義を有する解決法を提案する。
【００３０】
図１は、データストリームアプリケーションの例を表す。
【００３１】
データストリームアプリケーションを表すための多数の形式がある。これらの形式の中に、カーンプロセスネットワークすなわちＫＰＮがある。カーンプロセスネットワーク１９は、ＦＩＦＯ（ＦｉｒｓｔＩｎＦｉｒｓｔＯｕｔ（先入れ先出し法）の頭字語）チャネルを介して互いに通信するプロセス１、２、３、４、５、６、７の有限集合からなる。ＦＩＦＯチャネル１０、１１、１２、１３、１４、１５、１６、１７、１８は、特に、無限の記憶容量を有する。図１は、７つのプロセス１、２、３、４、５、６、７を含むＫＰＮネットワークの例を表す。各プロセス１、２、３、４、５、６、７は、指定のチャネルにおいて、ブロッキング読み出しおよびノンブロッキング書き込みを実行することができる。さらに、ＫＰＮネットワーク１９は、特に、次の規則に従う。すなわち、ＦＩＦＯチャネルは、ただ１つの入力プロセスおよびただ１つの出力プロセスに接続することができる。例えば、図１において、第１のＦＩＦＯチャネル１１は、第１の入力プロセス１および第２の出力プロセス２に接続される。同じように、第２のＦＩＦＯチャネル１０は、第１の入力プロセス１および第３の出力プロセス３に接続される。ＫＰＮネットワーク１９において、タスクの動作は、利用可能なデータにのみ依存する。実システムにおいて、制限されたサイズのＦＩＦＯチャネルを考慮すること、およびプロセスをスケジューリングすることが必要である。何らかの理由で、実システムを停止しなければならない場合には、使用中の各ＦＩＦＯチャネルに存在するデータは、後でプロセスを再開できるように、バックアップしなければならない。これは、明らかに、システムの回路再構成のための事例である。この場合に、コンテキストは、使用中のＦＩＦＯチャネルから構成される。次に、図２に示すように、ＫＰＮプロセスを共にグループ化しスケジューリングして、全体のアプリケーションのサブ部分に対応する構成を取得する。
【００３２】
図２は、２つの構成２０、２１を備えたＫＰＮネットワーク１９を表す。第１の構成２０には、第１のプロセス１、第２のプロセス２、第３のプロセス３、および第４のプロセス４を含んでもよい。第２の構成２１には、第５のプロセス５、第６のプロセス６、および第７のプロセス７を含んでもよい。２つの構成２０、２１間の境界によって、送信すべきコンテキストを識別することが可能になる。例えば、２つの構成２０、２１間の境界２５によって、第３のＦＩＦＯチャネル１４からなる、送信すべき第１のコンテキスト２３を識別することが可能になるが、この第３のＦＩＦＯチャネル１４は、第４の入力プロセス４（第４のプロセス４は、第１の構成２０の一部を形成する）および第５の出力プロセス５（第５のプロセス５は、第２の構成２１の一部を形成する）に接続される。同じように、第５のＦＩＦＯチャネル１７および第６のＦＩＦＯチャネル１８からなる第２のコンテキスト２２を識別することが可能である。第５のＦＩＦＯチャネル１７は、第７の入力プロセス７（第７のプロセス７は、第２の構成２１の一部を形成する）および第１の出力プロセス１（第１のプロセス１は、第１の構成２０の一部を形成する）に接続される。第６のＦＩＦＯチャネル１８は、第６の入力プロセス６（第６のプロセス６は、第２の構成２１の一部を形成する）および第１の出力プロセス１（第１のプロセス１は、第１の構成２０の一部を形成する）に接続される。
【００３３】
構成２０、２１は、それらが適用される回路アーキテクチャに応じて、非常に異なる性質を有してもよい。例えば、再構成可能回路は、動的に再構成可能なアーキテクチャであるＸＰＰ（ｅｘｔｒｅｍｅｐｒｏｃｅｓｓｉｎｇｐｌａｔｆｏｒｍ（エクストリームプロセシングプラットフォーム）の頭字語）アーキテクチャまたは例えばＤＡＲＴアーキテクチャにおけるように粗粒度であってもよい。粗粒度回路には、算術乗算などの複雑であると考えられる動作に関連する計算素子が含まれる。回路はまた、ＦＰＧＡなどの細粒度回路であってもよい。細粒度回路には、「論理和」、「論理積」演算などの第１レベルの論理演算に関連する計算素子が含まれる。
【００３４】
図３は、本発明によるデータバックアップおよび復元構造４０を概略的に表す。データバックアップおよび復元構造４０は、特にデータストリーム生成および消費を管理するシステムの一部を形成して、自身に割り当てられたプロセスを実行する。バックアップおよび復元構造４０によって、特に、システム内のメモリバンクセットにおけるデータバックアップが可能になる。バックアップされるデータは、例えば、システムの計算要素から生じる。また、バックアップおよび復元構造４０により、内部メモリバンクにおいて、システムの他の要素に向けられた、バックアップされたデータの復元が可能になる。
【００３５】
バックアップおよび復元構造４０は、特に、３つのタイプの資源からなる。
【００３６】
第１のタイプの資源は、１を超える整数ｎのストリームポート４２、４３、４４を含む第１のベクトル４１である。図３において、３つのストリームポート４２、４３、４４が、例として表されている。ストリームポート４２、４３、４４には、各ストリームデータおよび制御信号の循環を可能にする少なくとも１つのデータストリーム入力／出力部が含まれる。データストリームは、特に、バックアップおよび復元構造４０外部における、システムの他の要素によって受信され、かつ／またはシステムの他の要素に向けられている。制御信号により、バックアップおよび復元構造４０のメモリによって実行すべき動作、すなわちデータ復元のための読み出しかまたはデータバックアップのための書き込みのどちらか、を選択することが可能になる。
【００３７】
第２のタイプの資源は、１を超える整数である数ｐのメモリ４６、４７、４８、４９の第２のベクトル４５である。図３では、例として、４つのメモリ４６、４７、４８、４９が表されている。図３に表された４つのメモリ４６、４７、４８、４９は、スタックとすることができる。スタック概念は、好ましくはＦＩＦＯメモリとすることができるメモリの動作を特徴づける。ＦＩＦＯメモリの使用は、本発明によるバックアップおよび復元構造４０において特に適切である。メモリ４６、４７、４８、４９は、それぞれ、メモリ入力／出力ポート４５０、４５１、４５２、４５３の１つに接続される。メモリ入力／出力ポート４５０、４５１、４５２、４５３によって、ストリームデータと、メモリの状態、すなわち空か、空でないかまたは満杯であるかに関する情報と、メモリにおけるデータの書き込みまたはメモリにおけるデータの読み出しを可能にするメモリ動作の制御信号と、を伝達することが可能になる。メモリにおけるデータ読み出しは、例えば、プルと呼ばれる制御信号をメモリが受信した際に実行してもよい。メモリにおけるデータ書き込みは、例えば、プッシュと呼ばれる制御信号をメモリが受信した際に実行してもよい。
【００３８】
第３のタイプの資源は、メモリ入力／出力ポート４５０、４５１、４５１、４５３による、ポートの第１のベクトル４１とメモリの第２のベクトル４５との間の相互接続ネットワーク４０１からなる。相互接続ネットワーク４０１は、Ｃコネクタのマトリックス４０１の形態で生成することができる。Ｃコネクタのマトリックス４０１のサイズは、構造４０のデータストリームポート４２、４３、４４の数およびメモリの数によって決定される。Ｃコネクタのマトリックス４０１には、例えば、ｎ×ｐのＣコネクタを含んでもよい。図３において、図示されたマトリックス４０１には、例として、１２のＣコネクタが含まれる。
【００３９】
Ｃコネクタのマトリックス組織によって、各メモリ４６、４７、４８、４９を、Ｃコネクタの連鎖行と関連づけることが可能になる。例えば、第１の連鎖行４０２は、第１のメモリ４６と関連づけることができ、第２の連鎖行４０５は、第２のメモリ４９と関連づけることができる。また、Ｃコネクタのマトリックス組織によって、各ストリームポート４２、４３、４４をＣコネクタの連鎖列と関連づけることが可能になる。例えば、第１の連鎖列４０３は、第１のストリームポート４２と関連づけることができ、第２の連鎖列４０４は、第２のストリームポート４４と関連づけることができる。したがって、各Ｃコネクタは、制御情報およびストリームデータを、Ｃコネクタの別の行またはＣコネクタの別の列に送信することができる。
【００４０】
本発明によるバックアップおよび復元構造４０において用いられるＣコネクタは、例えば、マルチプレクサによって作製されたトランジスタとすることができる。
【００４１】
スタック４６、４７、４８、４９には、メモリか、さもなければ、いくつかのカスケード式メモリレジスタを含んでもよい。
【００４２】
有利なことに、本発明によるバックアップおよび復元構造４０のマトリックス構造によって、並列および並行実行方式によるデータストリームのバックアップおよび復元が可能になる。
【００４３】
図４は、図３に示すマトリックス４０１におけるＣコネクタのそれぞれを表すコネクタ５０の例を概略的に表す。図４において、コネクタ５０には、例えば、ノース、サウス、イースト、ウェストと呼ばれる４つのインタフェースが含まれる。
【００４４】
コネクタ５０のイーストおよびウェストインタフェースによって、特に、コネクタ５０の両側において、マトリックス４０１のコネクタ５０と同じ行に配置された、コネクタ５０に隣接する２つのＣコネクタ（それらが存在する場合）に、コネクタ５０を接続することが可能になる。
【００４５】
コネクタ５０のノースおよびサウスインタフェースによって、特に、コネクタ５０の両側において、コネクタ５０と同じ列に配置された、コネクタ５０に隣接する２つのＣコネクタ（それらが存在する場合）に、コネクタ５０を接続することが可能になる。
【００４６】
コネクタ５０のノースインタフェースには、特に、
■第１のストリームデータ入力／出力部５１と、
■書き込みまたは読み出しタイプのコマンド信号の伝達を可能にするコマンド入力部５２と、
が含まれる。
【００４７】
コネクタ５０のサウスインタフェースには、特に、
■第２のストリームデータ入力／出力部５３と、
■書き込みまたは読み出しタイプのコマンド信号の伝達を可能にするコマンド出力部５４と、
が含まれる。
【００４８】
コネクタ５０のイーストインタフェースには、特に、
■第３のストリームデータ入力／出力部５５と、
■例えばプッシュおよびプル情報を伝達する、メモリ動作の制御信号の出力部５６と、
■コネクタ５０の行に位置するメモリの第１の状態（空または満杯）入力／出力部５７と、
が含まれる。
【００４９】
コネクタ５０のウェストインタフェースには、特に、
■第４のストリームデータ入力／出力部５８と、
■例えばプッシュおよびプル情報を伝達する、メモリ動作の制御信号の入力部５９と、
■コネクタ５０の行に位置するメモリの第２の状態（空または満杯）入力／出力部６０と、
が含まれる。
【００５０】
プッシュおよびプルメモリ動作は、メモリ４６、４７、４８、４９における書き込み動作および読み出し動作に相互に対応する。用語プッシュおよびプルは、特に、メモリ４６、４７、４８、４９を生成するためにスタックを使用することに関連する。
【００５１】
第１のＣコネクタのイーストインタフェースは、マトリックス４０１において、第１のＣコネクタと同じ行の、第１のＣコネクタに隣接する第２のＣコネクタ（それが存在する場合）のウェストインタフェースに接続される。
【００５２】
第１のＣコネクタのウェストインタフェースは、マトリックス４０１において、第１のＣコネクタと同じ行の、第１のＣコネクタに隣接しかつ第１のＣコネクタに対して第２のＣコネクタと対称である第３のＣコネクタ（それが存在する場合）のイーストインタフェースに接続される。
【００５３】
第１のＣコネクタのノースインタフェースは、マトリックス４０１において、第１のＣコネクタと同じ列の、第１のＣコネクタに隣接する第４のＣコネクタ（それが存在する場合）のサウスインタフェースに接続される。
【００５４】
第１のＣコネクタのサウスインタフェースは、マトリックス４０１において、第１のＣコネクタと同じ列の、第１のＣコネクタに隣接しかつ第１のＣコネクタに対して第４のＣコネクタと対称である第５のＣコネクタ（それが存在する場合）のノースインタフェースに接続される。
【００５５】
このようにして、Ｃコネクタのマトリックス組織が取得される。
【００５６】
マトリックス４０１の第１の行４０２における各Ｃコネクタは、そのノースインタフェースを介してストリームポート４２、４３、４４に接続される。
【００５７】
マトリックス４０１の最後の列４０４における各Ｃコネクタは、そのイーストインタフェースを介してメモリ４６、４７、４８、４９に接続される。
【００５８】
第１の列４０３のＣコネクタは、ウェストインタフェースを有しないか、またはそれらのウェストインタフェースは、接続されない。マトリックス４０１の最終行４０７におけるＣコネクタは、サウスインタフェースを有しないか、またはそれらのサウスインタフェースは、接続されない。接続されていないかまたは存在しないＣコネクタのサウスまたはウェストインタフェースにアクセスする任意の試みを利用して、構造４０の使用エラーを検出してもよい。構造４０の使用エラーは、例えば、メモリにバックアップ用の空間がこれ以上ない場合、データが見つからない場合に発生し得る。このようにして検出された使用エラーは、構造４０を用いてプロセッサに伝達し、例えば、構造４０のサイズに対して多すぎるデータがロードされていることを、このようにプロセッサに通知してもよい。
【００５９】
このように構成された構造４０において、２つのタイプの情報ストリーム、すなわちデータバックアップストリームおよびデータ復元ストリーム、ならびにＣコネクタ内の情報ストリームの２つの状態、すなわち接続（ｃｏｎｎｅｃｔｅｄ）および非接続（ｕｎｃｏｎｎｅｃｔｅｄ）を区別することが可能である。バックアップおよび復元ストリームには、データ、書き込みまたは読み出しコマンド信号、メモリ動作制御信号、メモリ状態の全てが含まれる。
【００６０】
図５は、ストリーム非接続と呼ばれる状態におけるコネクタ５０を概略的に表す。コネクタが、ストリーム非接続状態にある場合には、ストリームポート４２、４３、４４または別のコネクタから生じるストリームデータ５１、５３、および読み出しまたは書き込みコマンド信号５２、５７は、コネクタ５０内において、コネクタ５０のノースインタフェースおよびサウスインタフェース間で相互接続される。同じように、ストリームデータ５８、５９、メモリ状態５７、６０、およびメモリ動作５６、５９が、コネクタ５０内において、コネクタ５０のイーストインタフェースおよびウェストインタフェース間で相互接続される。したがって、コネクタ５０は、それがストリーム非接続状態である場合には、それが受信する全ての情報を隣接するコネクタ（それが存在する場合）に伝達できるようにする。したがって、ストリーム非接続状態のコネクタ５０は、それが取得する情報を伝播する。
【００６１】
図６は、バックアップストリーム接続と呼ばれる状態におけるコネクタ５０を概略的に表す。コネクタ５０が、バックアップストリーム接続状態にある場合には、ストリームポート４２、４３、４４から生じるストリームデータ５１は、コネクタ５０内においてノースインタフェースおよびイーストインタフェース間で相互接続される。したがって、ノースインタフェースの第１のストリームデータ入力／出力部５１を通して入力されるストリームデータは、イーストインタフェースの第３のストリームデータ入力／出力部５５の方へ導かれる。ノースインタフェースのコマンド入力部５２において、ストリームポート４２、４３、４４から生じる書き込みコマンド信号を受信することによって、イーストインタフェースから、メモリ動作５６の制御信号の出力が引き起こされる。メモリ動作の制御信号は、バックアップの一部として、メモリ４６、４７、４８、４９における書き込みに対応する、プッシュ型の情報項目を伝達する。コネクタ５０の行においてバックアップ動作が進行中なので、ウェストインタフェースの第４のメモリ状態出力部６０は、空型（ｅｍｐｔｙｔｙｐｅ）ではないメモリ状態を伝達するか、または空信号をディスエーブルにして、特に、コネクタ５０と同じ行に位置する別のコネクタがメモリ４６、４７、４８、４９に情報を書き込むのを防ぐようにする。具体的には、次に、非空メモリ状態が、Ｃコネクタの西に位置するＣコネクタに伝播される。非空メモリ状態はまた、コネクタ５０の行に関連するスタックまたはメモリ４６、４７、４８、４９がデータを含むかどうかを各Ｃコネクタが知るために用いられる。両方の場合において、非空メモリ状態は、スタックまたはメモリ４６、４７、４８、４９が、ストリームのデータをバックアップするために利用できないことを意味する。この場合における非空メモリ状態の生成は、コネクタ５０自体によってか、またはコネクタ５０の行に関連するスタック４６、４７、４８、４９によって実行することができる。
【００６２】
この場合に、イーストインタフェースのストリームデータ入力部５５およびウェストインタフェースのストリームデータ出力部５８は、コネクタ５０内で接続されない。同じように、イーストおよびウェストインタフェースのメモリ状態入力／出力部６０、５７は、コネクタ５０内で相互接続されない。
【００６３】
したがって、バックアップストリーム接続状態のコネクタ５０によって、データストリームをルーティングおよび伝播することが可能になる。
【００６４】
図７は、復元ストリーム接続状態におけるコネクタ５０を概略的に表す。コネクタ５０が復元ストリーム接続状態にある場合には、ストリームポート４２、４３、４４に向けられたストリームデータ、およびコネクタ５０の行に位置するメモリ４６、４７、４８、４９から生じる読み出しコマンド信号は、コネクタ５０のノースインタフェースおよびイーストインタフェース間で相互接続される。具体的には、イーストインタフェースの第３のストリームデータ入力／出力部５５で受信されたストリームデータは、ノースインタフェースの第１のストリームデータ入力／出力部５１を介してコネクタから出る。さらに、ノースインタフェースのコマンド入力部５２において読み出しコマンド信号を受信することによって、イーストインタフェースの第１の制御信号出力部５６におけるプル型のメモリ動作制御信号の生成がもたらされる。
【００６５】
イーストおよびウェストインタフェースの第３および第４のストリームデータ入力／出力部５５、５８は、コネクタ５０内で接続されていない。
【００６６】
メモリ満杯情報を含むメモリ状態信号は、ウェストインタフェースの第２の状態出力部６０からスタートして、コネクタ５０の西に位置するコネクタに伝播される。このメモリ満杯状態は、Ｃコネクタのマトリックス４０１において、コネクタ５０自体からかまたはコネクタ５０の行の端部に位置するメモリ４６、４７、４８、４９から生じてもよい。
【００６７】
復元ストリーム接続状態におけるコネクタ５０によって、データストリームをルーティングおよび伝播することが可能になる。
【００６８】
図８は、本発明によるバックアップおよび復元構造４０を用いた、本発明によるバックアップおよび復元方法におけるバックアップ部分９０の様々の可能なステップを表す。
【００６９】
図３に示すＣコネクタのマトリックス４０１における初期状態において、全てのＣコネクタは、ストリーム非接続状態にある。
【００７０】
本発明によるバックアップ部分９０の第１のステップ９１は、構造４０のストリームポート４２、４３、４４において書き込みコマンド信号を受信するステップである。第１の受信ステップ９１は、ストリームポート４２、４３、４４において書き込みコマンド信号を活性化することによって実行してもよい。ストリームポート４２、４３、４４において読み出しコマンド信号を活性化すると、ストリームポート４２、４３、４４に存在するストリームデータをバックアップすることができる。
【００７１】
次に、書き込みコマンド信号は、バックアップ方法９０の第２のステップ９２中に、Ｃコネクタのマトリックス４０１を通って、ストリームポート４２、４３、４４から伝播される。
【００７２】
次に、書き込み信号が、バックアップ方法９０の第３のステップ９３中に、以下で現在のコネクタと呼ばれる、ストリームポート４２、４３、４４の列に配置されたＣコネクタに到着する。
【００７３】
次に、現在のコネクタにおける行のスタック状態の検証９４が、メモリ状態信号によって実行される。この検証９４は、バックアップ部分９０における第４のステップ９４の一部を形成する。
【００７４】
現在のコネクタにおける行のスタックが空の場合には、現在のコネクタは、第５のステップ９５中に、バックアップストリーム接続状態に切り替わる。したがって、ストリームデータおよび書き込み要求は、現在のコネクタの行に位置するスタック４６、４７、４８、４９に送信される。書き込み要求は、例えば、プッシュメモリ動作制御信号によって送信される。
【００７５】
次に、第６のステップ９６中に、コネクタは、スタック４６、４７、４８、４９におけるデータをバックアップするために用いられたＣコネクタを、以下で詳細に説明する復元段階で識別できるように、マークされる。
【００７６】
第７のステップ９７は、ストリームデータをメモリに書き込んで、これらのデータのバックアップを実行するステップである。
【００７７】
スタック４６、４７、４８、４９が満杯である場合には、スタックは、メモリ満杯状態信号を送信し、現在のコネクタは、第８のステップ９８中に、ストリーム非接続状態に切り替わる。
【００７８】
ストリームデータ書き込みが完了していない場合には、ストリームデータおよび制御信号は、マトリックス４０１の列における現在のコネクタに続くコネクタに伝播される。次のコネクタへの移行は、バックアップ方法９０の第９のステップ９９であり、ストリームデータの残りをバックアップするために利用可能な新しいスタックを見つけることができるようにする。
【００７９】
次いで、次のステップは、コネクタ、すなわち次のコネクタに信号が到着する第３のステップ９３である。次いで、次のコネクタは、ストリームデータが、本発明による構造４０のメモリ４６、４７、４８、４９に完全に書き込まれてしまうまで、第３のステップ９３に続くステップ、すなわち第４のステップ９４、第５のステップ９５、第６のステップ９６、第７のステップ９７、第８のステップ９８などにおいて現在のコネクタになる。
【００８０】
第１０のステップ９１０中にストリームデータの書き込みが完了すると、書き込みコマンド信号はディスエーブルされる。したがって、この信号は、もはや、Ｃコネクタのマトリックス４０１において伝播されない。
【００８１】
第４のステップ９４の後で、信号が到着する現在のコネクタの行におけるスタック４６、４７、４８、４９が満杯である場合には、現在のコネクタは、第８のステップ９８中に、ストリーム非接続状態に切り替わり、次に、ストリームデータがメモリに完全に書き込まれてしまうまでバックアップ部分９０を継続するために、第９のステップ９９中に、現在のコネクタの列における次のコネクタへの切り替えがある。
【００８２】
したがって、バックアップされたストリームデータは、それらが復元されるまで、構造４０のスタックに記憶されたままである。
【００８３】
ストリームデータの全てをバックアップするための、スタック４６、４７、４８、４９から次のスタック４６、４７、４８、４９への切り替えは、スタック４６、４７、４８、４９による満杯信号の活性化によって引き起こされる。ストリームデータの全てをバックアップするために、いくつかのサイクルが必要であり、かつスタックが記憶限界に達した場合に満杯信号が生成される場合には、この時間中にポートに送信されるかもしれない他のストリームデータが、失われる可能性がある。
【００８４】
したがって、この場合には、満杯信号は、書き込み時間を考慮し、スタック４６、４７、４８、４９から最も離れた、マトリックス４０１の列におけるＣコネクタへルーティングされる。したがって、スタックにおける各書き込みに際し、満杯信号は、新しい列へ送信され、その結果、マトリックス４０１の各コネクタは、データ損失を引き起こさないように、満杯信号を十分に前もって受信する。したがって、満杯信号は、スタックが満杯になる前、例えばストリームデータスタックにおける書き込みの初めにコネクタに送信される。
【００８５】
構造４０の管理において、他の機構を用いてもよい。これらの機構の中で、コネクタが、それに対応するスタック４６、４７、４８、４９にストリームデータをバックアップしようとする場合に、このコネクタは、それが、バックアップを実行するためにスタックを使用可能かどうかを確認する要求を、スタックに送信することができる。この要求およびスタック４６、４７、４８、４９は、同じ行のコネクタからコネクタへとスタック４６、４７、４８、４９まで、その行の各コネクタのウェストおよびイーストインタフェースによって送信することができる。この要求が、既に要求を実行したコネクタを通過する場合には、このコネクタは、スタックが利用可能ではないことを示す信号を要求するコネクタに転送することができる。スタック利用不能信号を受信すると、コネクタは、ストリームデータ用の新しいバックアップスタック４６、４７、４８、４９を見つけるように、ストリーム非接続モードに切り替わることができる。この使用法によって、同時に同じスタックを用いる２つのバックアップ要求（具体的には、これはデータの損失を引き起こす可能性がある）を防ぐことが可能になる。
【００８６】
また、並列データバックアップ要求の管理は、構造４０の上流、例えば、例えば構造４０を用いるプロセッサにおいて利用することができる。
【００８７】
図１０は、本発明による構造４０を用いた、本発明によるバックアップおよび復元方法における復元部分１００の様々の可能なステップを表す。
【００８８】
構造４０のスタック４６、４７、４８、４９にバックアップされたデータの復元は、復元すべきストリームデータをバックアップするために用いられた構造４０のポート４２、４３、４４において読み出し信号を受信する第１１のステップ１０１で開始する。
【００８９】
読み出し信号の受信によって、第１２のステップ１０２中に、Ｃコネクタのマトリックス４０１において読み出しコマンド信号の伝播が引き起こされる。コマンド信号は、Ｃコネクタのノースおよびサウスインタフェースによって画定された軸において、コネクタのマトリックス４０１の中で伝播される。
【００９０】
コマンド信号が、第１３のステップ１０３中に、以下で現在のコネクタと呼ばれるコネクタに到着すると、現在のコネクタのマーキングの検証が実行される。具体的には、現在のコネクタが、ストリームデータをバックアップするために用いられた場合には、それは、バックアップ方法の第６のステップ９６中にマークされている。遭遇する第１のマークされたコネクタは、構造４０のマトリックス構造ゆえに、バックアップ中に用いられた第１のコネクタである。
【００９１】
現在のコネクタがマークされている場合には、第１４のステップ１０４は、コネクタが、復元ストリーム接続状態に切り替わるステップである。次に、プル制御信号が、現在のコネクタの行に位置するスタック４６、４７、４８、４９に送信され、スタックが、自身で保存したデータを復元するようにする。
【００９２】
したがって、第１５のステップ１０５は、メモリにおけるストリームデータを読み出すステップである。次に、メモリによって復元されたデータは、読み出しコマンド信号を送信したポートへと、現在のコネクタを通過する。
【００９３】
ひとたびスタックが空になると、コネクタのマーキングは、第１６のステップ１０６中に取り消され、現在のコネクタは、ストリーム非接続状態に切り替わる。
【００９４】
第１７のステップ１０７中に、必要に応じてストリームデータの読み出しを継続するために、列において現在のコネクタに続くコネクタへの切り替えがある。次のコネクタは、現在のコネクタになって、第１３のステップ１０３から開始した復元部分１００の様々なステップを再開する。
【００９５】
現在のコネクタがマークされていない場合には、第１７のステップ１０７への、すなわち次のコネクタへの直接切り替えがある。この場合には、復元要求は、ストリームをバックアップするために用いられたコネクタが見つかるまで、次の行のコネクタへ送信される。
【００９６】
いくつかの異なるスタック４６、４７、４８、４９にバックアップされたストリームデータを復元することによって、スタックの変更のときに待ち時間が生じる可能性がある。これらの待ち時間は、復元されたストリームに穴を生じる。待ち時間は、様々な方法で管理してもよい。
【００９７】
待ち時間を管理するための第１の方法は、様々なスタックから出力されるストリームデータに有効なデータ情報を追加することであってもよく、その結果、ストリームデータを検索する外部要素は、待ち時間を管理することができる。
【００９８】
適用可能な第２の方法は、読み出しコマンド信号を用いる。具体的には、同一の列の連続するコネクタ間で読み出しコマンド信号を転送して、ストリームデータをバックアップするために用いられた全てのスタックを検索することが可能である。コネクタにおける、読み出しコマンド信号の転送は、コネクタのノースインタフェースのコマンド入力部５２をサウスインタフェースのコマンド出力部５４と相互接続することによって実行することができる。次に、ストリームデータの一部をバックアップした各スタックは、それらが保存したストリームデータの一部を送信し始める。したがって、各メモリによるストリームデータの読み出しおよびこれらのデータの送信は、並列に実行される。したがって、コネクタを通ってポートへのストリームデータ部分のアップロードは、どんなデータの上書きも防ぐために、復元ストリーム接続状態におけるどんなコネクタでも停止する。したがって、ブロックしているコネクタがストリーム非接続状態に切り替わる間に、ストリームの次の部分が、直接利用可能になる。したがって、これによって、ストリームの復元中に起こるスタックの変更中の待ち時間を削除することが可能になる。
【００９９】
本発明による構造４０により、電子システムにおいて、データ生成タスクとデータ消費タスクとの間でデータストリームをバックアップまたは復元することが可能になる。
【０１００】
有利なことに、本発明による構造４０ならびにバックアップおよび復元方法９０、１００によって、生成および消費タスクに応じてサイズが変わり得るデータストリームを管理することが可能になり、かついくつかのストリームの管理を並列にサポートすることが可能になる。
【０１０１】
さらに、ストリームは、完全に独立して、かつより少ないコストで管理することができる。具体的には、メモリサイズは、全てのデータストリーム用に共有され、かつ本発明による方法は、共用資源の生成を防ぐ。すなわち、１つのスタックは、単一のストリームデータを記憶するために用いられる。
【０１０２】
本発明の別の利点は、メモリ空間の管理が自動であるということである。具体的には、本発明による構造４０のユーザは、構造４０のメモリ空間におけるデータの位置に関する情報を提供する必要がない。ユーザが、本発明による構造４０のポートにストリームを接続し、かつ所望の動作、すなわちバックアップまたは復元を制御することで十分である。
【０１０３】
本発明により、サイズ、頻度、および期間において変化するストリームのバックアップの管理を、より少ない実装コストで、再構成を必要とせずに解決することが可能になる。本発明により、特に、動的再構成プラットフォームにおいてプロセスを実行することが可能になる。 
【図１】
2011501306.tif 000003
【図２】
2011501306.tif 000004
【図３】
2011501306.tif 000005
【図４】
2011501306.tif 000006
【図５】
2011501306.tif 000007
【図６】
2011501306.tif 000008
【図７】
2011501306.tif 000009
【図８】
2011501306.tif 000010
【図９】
2011501306.tif 000011
【国際調査報告】
2011501306.tif 000012
2011501306.tif 000013
2011501306.tif 000014
2011501306.tif 000015
2011501306.tif 000016
2011501306.tif 000017