(57)【要約】  パケットスイッチング集積回路チップは、パケット、例えば、ＲａｐｉｄＩＯ（商標）に準拠したパケットを複数の外部ソースから受信し、受信パケット内のデータを複数の外部受信装置に選択的に転送するように構成される。チップは、第１の受信パケットを変更することなく転送し、かつ、第２の受信パケットを終結し、それのペイロードを前処理し、新しいパケットを生成するように構成される。チップは、ビット拡張、ビット切り捨て、ビット並べ替え、および／または、ビット算術演算のような信号サンプル処理操作を、第２の受信パケットに施すように構成することができる。さらにチップは、受信パケット内の宛先アドレスに基づいて、第１および第２の受信パケットを管理するように構成することができる。
2008539613.tif 000002
【特許請求の範囲】
【請求項１】
外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
入力ポートから、出力ポートの中から選択されたポートへと選択されたパケットをルーティングするようにされたパケットスイッチングファブリックと、
選択されたパケットを入力ポートから受信し、パケットから新しいペイロードを含んでいる新しいパケットを組み立てて、新しいパケットを出力ポートの中から選択されたポートへルーティングするようにされたパケットプロセッサーと
を備えてなるパケットスイッチング集積回路チップ。
【請求項２】
パケットプロセッサーが複数のパケット処理シナリオをサポートする請求項１に記載のチップ。
【請求項３】
パケットプロセッサーがパケット内の宛先アドレスに基づいて選択的にパケット処理シナリオを使用する請求項２に記載のチップ。
【請求項４】
複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項２に記載のチップ。
【請求項５】
パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、請求項２に記載のチップ。
【請求項６】
パケットプロセッサーが初期化信号に応答してパケット処理シナリオに対するパケットの蓄積を開始するように構成されている請求項５に記載のチップ。
【請求項７】
パケット処理シナリオはユーザが設定することができるものである請求項２に記載のチップ。
【請求項８】
パケットプロセッサーおよびスイッチングファブリックが、パケット内の宛先アドレスに基づいて、入力ポートからパケットを受信するように構成されている、請求項１に記載のチップ。
【請求項９】
パケットプロセッサーによって生成されたパケットが、それらのパケットが生成された受信パケット内の宛先アドレスに基づいて宛先をアドレス指定される、請求項１に記載のチップ。
【請求項１０】
パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項１に記載のチップ。
【請求項１１】
パケットスイッチングファブリックおよび／またはパケットプロセッサーが、パケット内の優先順位識別子に従ってパケットをルーティングするように設定されている請求項１に記載のチップ。
【請求項１２】
パケットスイッチングファブリックが、
入力バッファーの複数の組であって、入力ポートの中のそれぞれのポートからのパケットを、入力バッファーの組の中のそれぞれの組が受信してパケット内の優先順位識別子に従って記憶するようにされている前記入力バッファーの複数の組と、
パケットを受信して出力ポートの中のそれぞれのポートに転送するようにされた出力バッファーの複数の組と、
パケット内の宛先アドレスに基づいて、かつ、入力バッファーの優先順位識別子に従って、パケットを入力バッファーから出力バッファーに転送するようにされたスイッチと
を備えてなる請求項１１に記載のチップ。
【請求項１３】
入力バッファーの優先順位識別子はユーザが設定できるものである請求項１３に記載のチップ。
【請求項１４】
入力ポートおよび出力ポートがユーザが設定することのできる帯域幅を有する請求項１に記載のチップ。
【請求項１５】
パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および／または出力ポートが、入力ポートの中の少なくとも１つを介して設定することができるものである、請求項１に記載のチップ。
【請求項１６】
集積回路間（Ｉ2Ｃ）バスインターフェースをさらに備え、パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および／または出力ポートが、Ｉ2Ｃバスインターフェースを介して設定することができるものである、請求項１に記載のチップ。
【請求項１７】
受信パケットおよび新しいパケットがＲａｐｉｄＩＯ（商標）（ＲＩＯ）に準拠したパケットである請求項１に記載のチップ。
【請求項１８】
第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
第１の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
パケットを第２の複数の回路カードの中のそれぞれの回路カードに送信するようにされた複数の出力ポートと、
入力ポートから、出力ポートの中から選択されたポートへと選択されたパケットをルーティングするようにされたパケットスイッチングファブリックと、
選択されたパケットを入力ポートから受信し、パケットから新しいペイロードを含んでいる新しいパケットを組み立てて、該新しいパケットを出力ポートの中から選択されたポートへルーティングするようにされているパケットプロセッサーと
を備えるインターフェース回路。
【請求項１９】
パケットプロセッサーが、信号サンプル処理操作を受信パケットに施すように設定することができるものである、請求項１８に記載のインターフェース回路。
【請求項２０】
信号サンプル処理操作が、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を含んでいる、請求項１９に記載のインターフェース回路。
【請求項２１】
信号サンプル処理操作が無線信号サンプル処理操作を含んでいる、請求項１９に記載のインターフェース回路。
【請求項２２】
入力ポート、出力ポート、パケットプロセッサー、および／またはスイッチングファブリックが、ユーザが設定することができるものである、請求項１８に記載のインターフェース回路。
【請求項２３】
受信パケットおよび新しいパケットがＲａｐｉｄＩＯ（商標）（ＲＩＯ）に準拠したパケットである請求項１８に記載のインターフェース回路。
【請求項２４】
複数の外部ソースからパケットを受信して、受信パケット内のデータを複数の外部受信装置に選択的に転送するようにされたパケットスイッチング集積回路チップであって、第１の受信パケットを変更することなく転送して、第２の受信パケットを終結し、第２の受信パケット内のデータを前処理し、新しいパケットを生成するようにさらに構成されているパケットスイッチング集積回路チップ。
【請求項２５】
第２の受信パケット内の宛先アドレスに基づいて、第２の受信パケットを終結しおよび前処理するようにされた請求項２４に記載のチップ。
【請求項２６】
信号サンプル処理操作を第２の受信パケットに施すようにされた、請求項２４に記載のチップ。
【請求項２７】
外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って、新しいペイロードを含んでいる新しいパケットを生成するよう受信パケットを処理するようにされたパケットプロセッサーと
を備えてなるパケット処理集積回路チップ。
【請求項２８】
複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによるパケットの並列処理をもたらすグループパケット処理シナリオとを含んでいる、請求項２７に記載のチップ。
【請求項２９】
パケットプロセッサーが、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、受信パケットのペイロードからデータを抽出し、かつ抽出されたデータを処理するように設定することができるものである、請求項２７に記載のチップ。
【請求項３０】
パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項２７に記載のチップ。
【請求項３１】
パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、請求項２７に記載のチップ。
【請求項３２】
パケットプロセッサーが、初期化信号に応答してパケット処理シナリオに対するパケットの蓄積を開始するようにさている、請求項３１に記載のチップ。
【請求項３３】
パケット処理シナリオはユーザが設定することができるものである請求項２７に記載のチップ。
【請求項３４】
パケットプロセッサー、入力ポート、および／または出力ポートが、入力ポートの中の少なくとも１つを介して設定することができるものである、請求項２７に記載のチップ。
【請求項３５】
集積回路間（Ｉ2Ｃ）バスインターフェースをさらに備え、パケットプロセッサー、入力ポート、および／または出力ポートが、Ｉ2Ｃバスインターフェースを介して設定することができるものである、請求項２７に記載のチップ。
【請求項３６】
受信パケットおよび新しいパケットが、ＲａｐｉｄＩＯ（商標）（ＲＩＯ）に準拠したパケットである、請求項２７に記載のチップ。
【請求項３７】
選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされた、パケットスイッチングファブリックをさらに備える、請求項２７に記載のチップ。
【請求項３８】
第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
第１の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
第２の複数の回路カードの中のそれぞれの回路カードにパケットを送信するようにされた複数の出力ポートと、
複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って新しいペイロードを含んでいる新しいパケットを生成する受信パケットを処理するようにされたパケットプロセッサーと
を備えるインターフェース回路。
【請求項３９】
複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによるパケットの並列処理をもたらすグループパケット処理シナリオとを含んでいる、請求項３８に記載のインターフェース回路。
【請求項４０】
パケットプロセッサーが、第２の複数の回路カード上に存在するプロセッサーのデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、受信パケットのペイロードからデータを抽出して、抽出されたデータを処理するように設定することができるものである、請求項３８に記載のインターフェース回路。
【請求項４１】
パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項３８に記載のインターフェース回路。
【請求項４２】
パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、請求項３８に記載のインターフェース回路。
【請求項４３】
パケット処理シナリオが、ユーザが設定することができるものである、請求項３８に記載のインターフェース回路。
【請求項４４】
選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項３８に記載のインターフェース回路。
【請求項４５】
複数の入力ポートが、パケットを複数のＲＦカードの中のそれぞれのカードから受信するようにされ、
複数の出力ポートが、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するようにされた、
請求項３８に記載のインターフェース回路。
【請求項４６】
外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理し、そして新しいパケットを出力ポートに伝送するように設定することができる、パケットプロセッサーと
を備えるパケット処理集積回路チップ。
【請求項４７】
パケットプロセッサーが、新しいパケットのペイロードを生成するために、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、抽出されたペイロードに施すように設定することができるものである、請求項４６に記載のチップ。
【請求項４８】
データ構造がプロセッサーデータ構造を含む請求項４６に記載のチップ。
【請求項４９】
パケットプロセッサーが複数のパケット処理シナリオをサポートする、請求項４６に記載のチップ。
【請求項５０】
パケットプロセッサーが、パケット内の宛先アドレスに基づいて選択的にパケット処理シナリオを使用する、請求項４９に記載のチップ。
【請求項５１】
複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項４９に記載のチップ。
【請求項５２】
パケット処理シナリオがユーザが設定することができるものである請求項４９に記載のチップ。
【請求項５３】
選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされたパケットスイッチングファブリックをさらに備える請求項４６に記載のチップ。
【請求項５４】
集積回路間（Ｉ2Ｃ）バスインターフェースをさらに備え、パケットプロセッサー、入力ポート、および／または出力ポートが、Ｉ2Ｃバスインターフェースを介して設定することができるものである、請求項４６に記載のチップ。
【請求項５５】
受信パケットおよび新しいパケットが、ＲａｐｉｄＩＯ（商標）（ＲＩＯ）に準拠したパケットである、請求項４６に記載のチップ。
【請求項５６】
第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
第１の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
パケットを第２の複数の回路カードの中のそれぞれの回路カードに送信するようにされた複数の出力ポートと、
受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理して、新しいパケットを出力ポートに伝送するように設定することができるパケットプロセッサーと
を備えるインターフェース回路。
【請求項５７】
パケットプロセッサーが、新しいパケットのペイロードを生成するために、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、抽出されたペイロードに施すように設定することができるものである、請求項５６に記載のインターフェース回路。
【請求項５８】
パケットプロセッサーが複数のパケット処理シナリオをサポートする、請求項５６に記載のインターフェース回路。
【請求項５９】
パケットプロセッサーが、パケット内の宛先アドレスに基づいて選択的にパケット処理シナリオを使用する、請求項５８に記載のインターフェース回路。
【請求項６０】
複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項５８に記載のインターフェース回路。
【請求項６１】
パケット処理シナリオが、ユーザが設定することができるものである、請求項５８に記載のインターフェース回路。
【請求項６２】
選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項５６に記載のインターフェース回路。
【請求項６３】
複数の入力ポートが、パケットを複数のＲＦカードの中のそれぞれのカードから受信するようにされ、
複数の出力ポートが、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するようにされた、
請求項５６に記載のインターフェース回路。
【請求項６４】
データ構造がベースバンドカード上に存在するベースバンドプロセッサーのデータ構造を含んでいる請求項６３に記載のインターフェース回路。
【請求項６５】
外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含んでいる新しい出力パケットを生成するよう受信パケットを処理して、新しい出力パケットを出力ポートに伝送するように設定することのできるパケットプロセッサーであって、パケット処理シナリオそれぞれのタイミングがパケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、前記パケットプロセッサーと、
を備えるパケット処理集積回路チップ。
【請求項６６】
パケットプロセッサーが、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始するようにされている、請求項６５に記載のチップ。
【請求項６７】
複数のパケット処理シナリオの中のパケット処理シナリオが、所与の数の受信パケットから所与の数の新しい出力パケットを生成するのに必要な一組の蓄積操作、処理操作、および送信操作を含んでおり、パケットプロセッサーが、パケット処理シナリオに対する受信パケットが蓄積することに応答して、そのパケット処理シナリオをイタレーションによって実行するようにされている、請求項６５に記載のチップ。
【請求項６８】
パケット処理シナリオのイタレーションが、所与の数の新しい出力パケットを生成するのに必要な所与の数の受信パケットペイロードの蓄積および／または生成に応答して、パケット処理シナリオに対して受信されたパケットのペイロードを処理することを含んでいる、請求項６７に記載のチップ。
【請求項６９】
パケット処理シナリオが、最初の蓄積受信パケットを蓄積することによって定義されるパケット蓄積ウインドウの外側で蓄積を開始したパケット処理シナリオに宛てられた任意のパケットのペイロードをデフォルトパケットペイロードに置き換える、請求項６７に記載のチップ。
【請求項７０】
パケット蓄積ウインドウが、最初の蓄積受信パケットが蓄積することに応答して終了する、請求項６９に記載のチップ。
【請求項７１】
パケット蓄積ウインドウが、最初の蓄積受信パケットが最初に蓄積することに続く予め定められた時間期間が満了した後に終了する、請求項６９に記載のチップ。
【請求項７２】
次のパケット蓄積ウインドウの開始が、パケット蓄積ウインドウの終了に続く時間期間だけ禁止される、請求項６９に記載のチップ。
【請求項７３】
パケットプロセッサーが、受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有する新しいペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができる、請求項６５に記載のチップ。
【請求項７４】
選択されたパケットを入力ポートから出力ポートの中から選択されたポートへルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項６５に記載のチップ。
【請求項７５】
パケットプロセッサーが、パケット内の宛先アドレスに基づいてパケット処理シナリオを選択的に使用する、請求項６５に記載のチップ。
【請求項７６】
複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項６５に記載のチップ。
【請求項７７】
パケット処理シナリオが、ユーザが設定することができるものである、請求項６５に記載のチップ。
【請求項７８】
パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項６５に記載のチップ。
【請求項７９】
集積回路間（Ｉ2Ｃ）バスインターフェースをさらに備え、パケットプロセッサー、入力ポート、および／または出力ポートが、Ｉ2Ｃバスインターフェースを介して設定することができるものである、請求項６５に記載のチップ。
【請求項８０】
受信パケットおよび新しいパケットが、ＲａｐｉｄＩＯ（商標）（ＲＩＯ）に準拠したパケットである、請求項６５に記載のチップ。
【請求項８１】
第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
第１の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
パケットを第２の複数の回路カードの中のそれぞれの回路カードに送信するようにされた複数の出力ポートと、
複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含む新しい出力パケットを生成するよう受信パケットを処理し、該新しい出力パケットを出力ポートに伝送するように設定することのできるパケットプロセッサーであって、パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、前記パケットプロセッサーと
を備えるインターフェース回路。
【請求項８２】
パケットプロセッサーが、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始するようにされている、請求項８１に記載のインターフェース回路。
【請求項８３】
複数のパケット処理シナリオの中のパケット処理シナリオが、所与の数の受信パケットから所与の数の新しい出力パケットを生成するのに必要な、一組の蓄積操作、処理操作、および送信操作を含み、パケットプロセッサーが、パケット処理シナリオに対する受信パケットが蓄積することに応答して、そのパケット処理シナリオをイタレーションによって実行するようにされた、請求項８１に記載のインターフェース回路。
【請求項８４】
パケット処理シナリオのイタレーションが、所与の数の新しい出力パケットを生成するのに必要な所与の数の受信パケットペイロードの蓄積および／または生成に応答して、パケット処理シナリオに対して受信されたパケットのペイロードを処理することを含んでいる、請求項８３に記載のインターフェース回路。
【請求項８５】
パケット処理シナリオが、最初の蓄積受信パケットが蓄積することによって定義されるパケット蓄積ウインドウの外側で蓄積を開始したパケット処理シナリオに宛てられた任意のパケットのペイロードを、デフォルトパケットペイロードに置き換える、請求項８３に記載のインターフェース回路。
【請求項８６】
パケットプロセッサーが、最初の蓄積受信パケットの蓄積が完了するのに応答して、パケット蓄積ウインドウを終了するようにされた、請求項８５に記載のインターフェース回路。
【請求項８７】
パケットプロセッサーが、最初の蓄積受信パケットの最初の蓄積に続く予め定められた時間期間の満了に応答して、パケット蓄積ウインドウを終了するようにされた、請求項８５に記載のインターフェース回路。
【請求項８８】
パケットプロセッサーが、パケット蓄積ウインドウの終了に続く時間期間だけ次のパケット蓄積ウインドウを開始するのを禁止するようにされた、請求項８５に記載のインターフェース回路。
【請求項８９】
パケットプロセッサーが、受信パケットのペイロードからデータを抽出し、第２の複数の回路カードのプロセッサーのデータ構造と互換性のあるフォーマットを有する新しいペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができる、請求項８１に記載のインターフェース回路。
【請求項９０】
選択されたパケットを入力ポートから出力ポートの中から選択されたポートへルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項８１に記載のインターフェース回路。
【請求項９１】
複数の入力ポートが、パケットを複数のＲＦカードの中のそれぞれのカードから受信するようにされ、
複数の出力ポートが、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するようにされている、請求項８１に記載のインターフェース回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信装置およびパケット通信方法に関し、より詳細には、パケットスイッチング装置およびパケットスイッチング方法に関する。
【背景技術】
【０００２】
通信サービスの需要が増大することによって、一般的に、ネットワークコンポーネントに対する帯域幅の要件が増大してきた。例えば、無線通信量が増加することにより、一般的に、無線端末と基地局との間における帯域幅の要件が増大してきている。ユーザが、一層多くの情報とサービスをユーザの携帯電話およびその他の無線装置から得ようとするため、利用可能な帯域幅が圧迫されることがある。無線サービスプロバイダーは、この問題を緩和するために、２．５Ｇ技術および３Ｇ技術へ移行している。これらの技術は、一般的には、２Ｇ技術よりもブロードキャストバンド当たりのデータ量が多くなり、このため、これらの技術によって、個々のユーザに提供するのに使用することができる帯域幅がより大きくなるため、多くのユーザが同一セル領域内に存在してもサービスを提供することができる。
【０００３】
３Ｇ無線通信システムの重要な側面として、閉ループ電力制御がある。例えば、広帯域符号分割多元接続（ＷＣＤＭＡ）システムにおいては、典型的には、基地局は、モバイル端末からパケットを受信してから５ミリ秒以内に、モバイル端末の送信電力を調節するようにそのモバイル端末に命令できることが望ましい。これは、基地局における総遅延時間を最も制約するものである可能性がある。なぜならそれは、受信無線信号をサンプリングするために、ＲＦカードからベースバンドカードへ、そして制御カードへ進み、ベースバンドカード、ＲＦカード、そしてアンテナへ戻る、という往復の遅延時間を含むからである。それぞれの基地局は、いくつかのＲＦカードおよびベースバンドカードを有してもよく、そして信号サンプルは、任意の所与のＲＦカードと任意の所与のベースバンドカードとの間で転送されることができる。これらのカード間でデータを転送するときの待ち時間を減少させることが重要になりつつある。
【０００４】
そのようなカード間においてデータを伝送するために様々なアーキテクチャーが使用することができる。完全メッシュ型アーキテクチャーにおいては、各ＲＦカードは、それぞれのベースバンドカードに接続される。スイッチング型アーキテクチャーは、ＲＦカードとベースバンドカードとの間でマルチ入力マルチ出力スイッチを提供する。スイッチング型アーキテクチャーは、改善された拡張性および柔軟性を提供することができるが、完全メッシュ型ソリューションよりも待ち時間を増加させる。また、より小さなシステムの場合、完全メッシュ型アーキテクチャーは、スイッチング型アーキテクチャーよりも安価である。
【０００５】
基地局コンポーネント間の通信、例えば、ＲＦカードとベースバンドカードとの間の通信をサポートできる集積回路（ＩＣ）が開発されてきた。例えば、Ｓｐｅｃｔｒｕｍ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｉｎｃ．は、ＡＳＩＣ−ｂａｓｅｄ  Ｓｏｌａｎｏ（商標）チップを提供しており、このチップは、ディジタル信号プロセッサー（ＤＳＰ）のようなプロセッサー、ＲＩＳＣプロセッサー、および、ＦＰＧＡと、ＲＦカードのようなデータのソースとをインターフェース接続するのに使用することができる。このチップは、制御ロジックに結合された８つの高速ＦＩＦＯを含み、そして、それらの高速ＦＩＦＯは２つ一組にされ、４つの全二重チャネルを形成する。Ｔｕｎｄｒａ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｃｏｒｐｏｒａｔｉｏｎは、Ｓｅｒｉａｌ  ＲａｐｉｄＩＯ（登録商標）チップを提供しており、このチップは、ＲＦカードとベースバンドカードとの間におけるスイッチング型アーキテクチャーを提供するのに使用することのできる、スイッチングファブリックを含む。
【発明の開示】
【０００６】
本発明の実施形態においては、パケットスイッチング集積回路チップは、パケット、例えば、ＲａｐｉｄＩＯ（商標）に準拠したパケットを複数の外部ソースから受信し、そして、受信パケット内のデータを複数の外部受信装置に選択的に転送するように構成される。さらにチップは、ペイロードを変更することなく第１の受信パケットを転送し、かつ、第２の受信パケットを終結し、そのパケット内のペイロードを前処理（preprocess）し、新しいパケットを生成するように構成される。ある実施形態においては、チップは、ビット拡張、ビット切り捨て、ビット並べ替え、および／または、ビット算術演算のような信号サンプル処理操作を、第２の受信パケットに施すように構成することができる。また、チップは、受信パケット内の宛先アドレスに基づいて、第１および第２の受信パケットを管理するように構成することができる。
【０００７】
本発明のさらなる実施形態においては、パケットスイッチング集積回路チップは、外部ソースそれぞれからパケットを受信するように構成された複数の入力ポートと、外部受信装置それぞれにパケットを送信するように構成された複数の出力ポートとを含む。また、チップは、選択されたパケットを入力ポートから受信し、新しいペイロードを含んでいる新しいパケットをそのパケットから組み立て、新しいパケットを出力ポートの中から選択されたポートへルーティングするように構成されたパケットプロセッサーとともに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートへルーティングするように構成された、パケットスイッチングファブリックを含む。パケットプロセッサーおよびスイッチングファブリックは、パケット内の宛先アドレスに基づいて、入力ポートからパケットを受信するように構成することができる。
【０００８】
パケットプロセッサーは、複数のパケット処理シナリオをサポートすることができる。複数のパケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでもよい。パケット処理シナリオそれぞれのタイミングは、パケット処理シナリオに対して受信パケットが蓄積することに応答して、制御することができる。パケット処理シナリオに対するパケット蓄積は、初期化信号（initialization signal）に応答して制御することができる。パケット処理シナリオは、例えばチップの設定レジスタに書き込むことによって、ユーザが設定することのできるものであってもよい。
【０００９】
パケットスイッチングファブリックおよび／またはパケットプロセッサーは、パケットを、そのパケット内に存在する優先順位識別子に従ってルーティングするように構成することができる。ある実施形態においては、パケットスイッチングファブリックは、入力バッファーの複数の組を含む。入力バッファーの組の中のそれぞれの組は、入力ポートの中のそれぞれのポートからのパケットを受信し、パケット内の優先順位識別子に従って記憶するように構成される。また、パケットプロセッサーは、パケットを受信し、そして出力ポートの中のそれぞれのポートに転送するように構成された出力バッファーの複数の組と、パケットの宛先アドレスに基づいて、かつ入力バッファーの優先順位識別子に従って、パケットを入力バッファーから出力バッファーに転送するように構成されたスイッチとを含む。入力バッファーの優先順位識別子は、ユーザが設定することのできるものでありうる。
【００１０】
本発明のさらなる実施形態においては、パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および／または出力ポートは、入力ポートの中の少なくとも１つを介して設定することができるものである。チップは、集積回路間（Ｉ2Ｃ；inter-integrated circuit）バスインターフェースをさらに含んでもよく、そして、パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および／または出力ポートは、Ｉ2Ｃバスインターフェースを介して設定することができるものとし得る。
【００１１】
本発明のさらなる実施形態は、第１の複数の回路カードを第２の複数の回路カードにインターフェース接続するためのインターフェース回路を提供する。インターフェース回路は、第１の複数の回路カードの中のそれぞれの回路カードからパケットを受信するように構成された複数の入力ポートと、第２の複数の回路カードの中のそれぞれの回路カードにパケットを送信するように構成された複数の出力ポートとを含む。またインターフェース回路は、入力ポートから出力ポートの中から選択されたポートに選択されたパケットをルーティングするように構成された、パケットスイッチングファブリックと、入力ポートから選択されたパケットを受信し、新しいペイロードを含んでいる新しいパケットをそのパケットから組み立て、新しいパケットを出力ポートの中から選択されたポートへルーティングするように構成された、パケットプロセッサーとを含む。パケットプロセッサーは、信号サンプル処理操作を受信パケットに施すように設定することができるものであってもよい。信号サンプル処理操作は、ビット拡張、ビット切り捨て、ビット並べ替え、および／または算術演算を含んでもよい。インターフェース回路は、例えば、無線基地局またはその他の通信装置における無線信号サンプルパケットのルーティングおよび処理を提供するように構成することができる。
【００１２】
本発明のある実施形態によれば、パケット処理集積回路チップは、パケットを外部ソースそれぞれから受信するように構成された複数の入力ポートと、外部受信装置それぞれにパケットを送信するように構成された複数の出力ポートとを含む。チップはさらに、複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って新しいペイロードを含んでいる新しいパケットを生成するために、受信パケットを処理するように構成されたパケットプロセッサーを含む。複数のパケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたシナリオによるパケットの並列処理をもたらすグループパケット処理シナリオとを含んでもよい。チップはさらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。
【００１３】
さらなる実施形態においては、パケットプロセッサーは、受信パケットのペイロードからデータを抽出し、かつ、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができる。例えば、パケットプロセッサーは、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、受信パケットに施すように設定できるものであってもよい。
【００１４】
本発明のさらなる実施形態によれば、パケット処理シナリオそれぞれのタイミングは、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される。パケットプロセッサーは、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始する（initiate）ように構成することができる。
【００１５】
本発明のある実施形態においては、第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路は、パケットを第１の複数の回路カードの中のそれぞれの回路カードから受信するように構成された複数の入力ポートと、パケットを第２の複数の回路カードの中のそれぞれの回路カードに送信するように構成された複数の出力ポートとを含む。インターフェース回路は、さらに、複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って新しいペイロードを含んでいる新しいパケットを生成するために、受信パケットを処理するように構成されたパケットプロセッサーを含む。インターフェース回路は、さらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。ある無線通信実施形態においては、複数の入力ポートは、パケットを複数のＲＦカードの中のそれぞれのカードから受信するように構成され、複数の出力ポートは、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するように構成される。
【００１６】
本発明のある実施形態によれば、パケット処理集積回路チップは、外部ソースそれぞれからパケットを受信するように構成された複数の入力ポートと、外部受信装置それぞれパにケットを送信するように構成された複数の出力ポートとを含む。チップはさらに、受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理し、そして、新しいパケットを出力ポートに伝送するように設定することのできる、パケットプロセッサーを含む。チップは、さらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。
【００１７】
ある実施形態によれば、データ構造は、例えば、外部受信装置におけるプロセッサーのためのプロセッサーデータ構造を含んでもよい。パケットプロセッサーは、新しいパケットのペイロードを生成するために、例えば、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、抽出されたペイロードに施すように設定することができるものであってもよい。
【００１８】
本発明のある実施形態においては、パケットプロセッサーは、パケット処理シナリオをサポートする。パケットプロセッサーは、パケット内の宛先アドレスに基づいて、パケット処理シナリオを選択的に使用することができる。パケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでもよい。
【００１９】
さらなる実施形態においては、第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路は、パケットを第１の複数の回路カードの中のそれぞれの回路カードから受信するように構成された複数の入力ポートと、パケットを第２の複数の回路カードの中のそれぞれの回路カードに送信するように構成された複数の出力ポートとを含む。インターフェース回路は、さらに、受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理し、そして、新しいパケットを出力ポートに伝送するように設定することのできるパケットプロセッサーを含む。インターフェース回路は、さらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。例示的な実施形態においては、複数の入力ポートは、パケットを複数のＲＦカードの中のそれぞれのカードから受信するように構成され、かつ、複数の出力ポートは、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するように構成される。データ構造は、ベースバンドカード上に存在するベースバンドプロセッサーのデータ構造を含んでもよい。
【００２０】
本発明のある実施形態においては、パケット処理集積回路チップは、外部ソースそれぞれからパケットを受信するように構成された複数の入力ポートと、外部受信装置それぞれにパケットを送信するように構成された複数の出力ポートとを含む。チップはさらに、複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含む新しい出力パケットを生成するよう受信パケットを処理し、かつ新しい出力パケットを出力ポートに伝送するように設定することができる、パケットプロセッサーを含む。パケット処理シナリオそれぞれタイミングは、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される。
【００２１】
パケットプロセッサーは、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始するように構成することができる。複数のパケット処理シナリオの中のパケット処理シナリオは、所与の数の受信パケットから所与の数の新しい出力パケットを生成するのに必要な一組の蓄積操作、処理操作、および送信操作を含んでもよく、パケットプロセッサーは、パケット処理シナリオに対する受信パケットが蓄積することに応答して、パケット処理シナリオをイタレーションによって実行するように構成することができる。パケット処理シナリオのイタレーションは、所与の数の新しい出力パケットを生成するのに必要な所与の数の受信パケットのペイロードの蓄積および／または生成に応答して、パケット処理シナリオに対する受信されたパケットのペイロードの処理を含んでもよい。パケット処理シナリオは、最初の蓄積受信パケットの蓄積によって定義されるパケット蓄積ウインドウの外側で蓄積を開始したパケット処理シナリオに宛てられた任意のパケットのペイロードを、デフォルトパケットペイロードに置き換えてもよい。
【００２２】
さらなる実施形態においては、パケットプロセッサーは、受信パケットのペイロードからデータを抽出し、そして、外部受信装置のデータ構造、例えば、外部受信装置のプロセッサーによって使用されるデータ構造と互換性のあるフォーマットを有する、新しいペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができるものであってもよい。例えば、パケットプロセッサーは、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、受信パケットに施すように設定することができるものであってもよい。チップはさらに、選択されたパケットを入力ポートから出力ポートの中から選択された出力ポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。
【００２３】
本発明のさらなる実施形態においては、パケットプロセッサーは、パケット内の宛先アドレスに基づいて、パケット処理シナリオを選択的に使用することができる。複数のパケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでもよい。パケット処理シナリオは、ユーザが設定することができるものであってもよい。
【００２４】
本発明のさらなる実施形態によれば、第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路は、パケットを第１の複数の回路カードの中のそれぞれの回路カードから受信するように構成された複数の入力ポートと、パケットを第２の複数の回路カードの中のそれぞれの回路カードに送信するように構成された複数の出力ポートとを含む。例えば、複数の入力ポートは、パケットを複数のＲＦカードの中のそれぞれのカードから受信するように構成されてもよく、また、複数の出力ポートは、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するように構成することができる。インターフェース回路は、さらに、複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含む新しい出力パケットを生成するよう受信パケットを処理し、そして、新しい出力パケットを出力ポートに伝送するように設定することのできるパケットプロセッサーを含む。パケット処理シナリオそれぞれのタイミングは、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される。インターフェース回路は、さらに、選択されたパケットを入力ポートから出力ポートの中から選択された出力ポートにペイロードを変更することなくルーティングするように構成されたパケットスイッチングファブリックを含んでもよい。
【発明を実施するための最良の形態】
【００２５】
ここで、添付の図面を参照して、本発明の例示的な特定の実施形態について説明する。しかしながら、本発明は多くの異なる形で実施されてもよく、本明細書で説明される実施形態に限定されると解釈されるべきではなく、むしろこれらの実施形態は、本明細書が完全で完璧なものになるように、また、本発明の範囲を当業者に十分に教示するために提供される。図面において、類似する符号は類似する構成要素を指示する。構成要素が、別の構成要素に「接続される」または「結合される」と表現される場合、それは当然ながら、別の構成要素に直接に接続または結合されてもよく、あるいは介在要素が存在し得ることがわかる。さらにまた「接続される」または「結合される」は、本明細書で使用される場合、無線で接続または結合されることを含んでもよい。本明細書で使用される場合、「および／または」という用語は、列挙された関連する要素の中の１つまたは複数からなるいずれかの組み合わせまたはすべての組み合わせを含む。
【００２６】
本明細書で使用される用語は、ただ単に特定の実施形態を説明するためのものであり、本発明を限定しようとするものではない。本明細書で使用される場合、単数形である「１つの（ａ）」、「１つの（ａｎ）」、および「その（前記、該；ｔｈｅ）」は、明示的に特段の説明がなされない限り、同様に複数形も含めようとするものである。さらに、「含む（ｉｎｃｌｕｄｅｓ）」、「備える（ｃｏｍｐｒｉｓｅｓ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、および／または「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、本明細書で使用される場合、記載された特徴、整数、ステップ、動作、構成要素、および／またはコンポーネントの存在を指示するものであるが、１つ以上のその他の特徴、整数、ステップ、動作、構成要素、コンポーネント、および／または、それらのグループの存在または付加を排除するものではないことがわかる。
【００２７】
特段の規定がなされない限り、本明細書で使用されるすべての用語（技術用語および科学用語を含む）は、本発明が属する技術分野の当業者によって一般的に理解される意味と同じ意味を有する。さらに、一般的に使用される辞書において定義されるような用語は、当然ながら、関連する分野におけるそれらの意味と一致する意味を有すると解釈されるべきであり、本明細書で明示的に特段の説明がなされない限り、理想的な意味にまたは過度に形式的な意味に解釈されるべきではないことがわかる。
【００２８】
図１は、本発明の実施形態によるパケット処理スイッチ集積回路（ＩＣ）チップ１００を示す。チップ１００は、データパケットを受信するように構成された入力ポート１１０を含む。入力ポート１１０において受信されたパケットは、パケットプロセッサー１３０またはスイッチングファブリック１４０へ選択的にルーティングされる。スイッチングファブリック１４０は、ペイロードを変更することなく、受信パケットをチップ１００の出力ポート１２０へルーティングする。
【００２９】
パケットプロセッサー１３０は、入力ポート１１０において受信された選択されたパケットから、選択されたパケット処理シナリオ（ＰＰＳｃ；packet processing scenarios）１３２に従って、新しいペイロードを含んでいる新しいパケットを合成し、合成されたパケットは、出力ポート１２０を介して外部受信装置に送信される。以下で詳細に説明されるように、パケット処理シナリオ１３２は、ビット拡張（bit extension）、ビット切り捨て（bit truncation）、ビット並べ替え（bit reordering; 例えば、ビットインターリービングおよび／またはビット反転(flipping)）、および、複数の受信パケットから得られるペイロードの組み合わせ（例えば、加算またはその他の算術演算）のような、様々なペイロード操作を含んでもよい。したがって、例えば、無線基地局などの信号サンプル処理アプリケーションにおいて使用される場合、チップ１００は、ベースバンド処理のような下流側処理のために受信された信号サンプルストリームを再構成するという負荷を、例えば、ディジタル信号プロセッサー（ＤＳＰ）またはチップレートプロセッサー（ＣＲＰ）のような外部受信装置から除去することができる。さらに、パケット処理シナリオ１３２はユーザが設定できるものであってもよく、チップが、異なる様々な通信プロトコルおよび／またはメッセージングフォーマットに使用されるのを可能にする。
【００３０】
本明細書で説明される様々な実施形態においては、図１に示されるチップ１００のようなパケット処理チップは、ｗｗｗ．ｒａｐｉｄｉｏ．ｏｒｇで一般的に説明されるような装置間通信のための物理的および論理的な通信規格を含む、ＲａｐｉｄＩＯ（商標）相互接続アーキテクチャーに準拠したパケット通信を提供するように構成することができる。しかしながら、本明細書で説明される例示的な実施形態は、ＲａｐｉｄＩＯ（商標）に準拠したパケット処理スイッチチップおよびそれの動作に関するものであるが、本発明は、その他のパケット通信アーキテクチャーを使用することができることは明らかなことである。
【００３１】
図２に示されるように、本発明のさらなる実施形態によるパケット処理スイッチＩＣチップ２００は、例えば、設定レジスタ２５０内に定義された様々なポート構成、パケット処理シナリオ、および／またはスイッチング機能を提供できるように、ユーザが設定できるものであってもよい。設定レジスタ２５０は、例えば、パケットプロセッサー２３０によって実施されるパケット処理シナリオ２３２のためのパラメータ、スイッチングファブリック２４０の動作のためのパラメータ、および／または、入力ポート２１０および出力ポート２２０の構成のためのパラメータを記憶することができる。図示されるように、設定レジスタ２５０は、入力ポート２１０のうち１つを介して、および／または集積回路間（Ｉ2Ｃ）バスインターフェース２６０を介して設定されることができる。
【００３２】
入／出力ポートの設定変更容易性の基本概念の例が、図３に示される。図示される例においては、４０個の入／出力リンク（レーン）が、４ｘポートまたは１ｘポートとしてプログラム可能であってもよい。各リンクは、例えば、ＲａｐｉｄＩＯ（商標）シリアル規格によって定義されるような長距離および短距離のシリアル伝送をハンドルするように構成することができる。リンク０〜３は、１つの４ｘポートまたは１つの１ｘポートとしてプログラム可能であり、リンク４〜７は、１つの４ｘポートまたは４つの１ｘポートとしてプログラム可能であり、そしてリンク２０〜２３は、１つの４ｘポートとしてプログラムされることができる。図示される例においては、各リンクは、一緒に構成される４つのリンクからなるグループの一部であり、すなわちリンク３は、リンク４、５、６、および、７と一緒に構成されることはない。ポートは、順々にリンク０からリンク４０までの番号がつけられる。例えば、リンク０〜３が４ｘポートとして構成される場合、それらのリンク０〜３はポート０を割り当てられ、リンク４〜７が個々の１ｘポートとして構成される場合、それらのリンク４〜７はポート番号１〜４を割り当てられる。表１は、いくつかの例示的な構成を示す。
【表１】
2008539613.tif 000003
【００３３】
再び、図２を参照すると、設定レジスタ２５０は、ポート構成、速度および／またはタイミング（長期／短期）、および、その他のポート特性を定義するためのレジスタを含んでもよい。これらのレジスタは、初期化手順中に、例えばＩ2Ｃバスインターフェース２６０を介してプログラムされることができる。ある実施形態においては、Ｉ2Ｃインターフェース２６０は使用されなくてもよく、その代わりに、入力ポート２１０を介して受信されたパケットが装置設定に使用することができる。そのような実施形態においては、入力ポート２１０は、設定のソースとの通信を可能にするためにデフォルト（例えば、電源オン）設定を有することができる。この初期設定は、最終的に望ましい設定ではなくてもよいが、望ましい設定をプログラムできるようにチップとの通信を開始するのを可能にすることができるものである。例示的な電源オン設定が図４に示され、ここでリンク０は、１．２５Ｇｂ／ｓで動作する１ｘポート０であるようにセットされ、リンク４〜７は、１．２５Ｇｂ／ｓで動作する１ｘポート１〜４であるようにセットされ、そして残りのリンクは、１．２５Ｇｂ／ｓで動作する４ｘポートに割り当てられる。
【００３４】
図５は、本発明のさらなる実施形態によるパケット処理スイッチＩＣチップ５００のための例示的なパケットフローアーキテクチャーを示す。チップ５００は、外部ソースからパケットを受信する入力ＦＩＦＯ５１２を含む入力ポート５１０を含む。受信パケットは、以下でより詳細に説明されるように、例えばその中の宛先アドレスを用いて、入力ＦＩＦＯ５１２からパケットプロセッサー５３０またはスイッチングファブリック５４０に転送される。パケットプロセッサー５３０およびスイッチングファブリック５４０は、それぞれ、合成されたパケットまたはペイロード非変更パケットを、出力ＦＩＦＯ５２４および関連するマルチプレクサ５２２を含むように示される出力ポート５２０へルーティングする。
【００３５】
図示された実施形態のために、受信パケットが、その中に優先順位フィールドを含むＲａｐｉｄＩＯ（商標）パケットであると仮定すると、スイッチングファブリック５４０に宛てられる受信パケットは、受信パケット内の優先順位情報に基づいて、入力バッファー５４２に記憶され、そして、入力バッファー５４２の優先順位構造に従ってパケットスイッチ５４４に提供されることができる。入力バッファー５４２のそれぞれのグループは、入力ポート５１０のそれぞれのポートに対応する。入力バッファー５４２のそれぞれのグループの優先順位構造は、ユーザが設定できるものであってもよい。例えば、あるバッファーは、ＲａｐｉｄＩＯ（商標）優先順位レベル０〜３の中の異なるレベルを有するパケットを受信するように（例えば、設定レジスタを用いて）割り当てられてもよい。スイッチ５４４は、パケットを入力バッファー５４２から出力バッファー５４６の複数の優先順位構造グループの中の様々なグループへルーティングし、出力バッファー５４６のグループの中のそれぞれのグループは、出力ポート５２０の中のそれぞれのポートに対応する。
【００３６】
パケットプロセッサー５３０においては、パケット処理シナリオ５３４において処理されるべき受信パケットは、入力バッファー５３２に記憶される。パケット処理シナリオ５３４は、記憶された受信パケットからパケットを合成する。合成されたパケットは、出力バッファー５３６に記憶され、その出力バッファー５３６のそれぞれのグループは、出力ポート５２０のそれぞれのポートに対応する。合成されたパケットは、受信パケットから取り出された優先順位情報を含んでもよい。出力バッファー５３６および５４６に記憶されたパケットは、例えばラウンドロビンスケジューリングアルゴルズムを用いて、出力ポート５２０へルーティングされることができる。
【００３７】
図６に示される本発明の特定の実施形態によれば、受信パケット６００をパケットプロセッサー６１０またはスイッチングファブリック６２０へルーティングすることは、受信パケットに含まれる宛先アドレス６０１に基づいて制御することができる。より詳細には、宛先アドレスそれぞれが、パケットプロセッサー６１０によってサポートされるパケット処理シナリオ６１２それぞれのために確保(reserve)されてもよく、その他のアドレスは、スイッチングファブリック６２０にマッピングされる。そのようなアプローチは、パケットプロセッサー６１０による操作が送信装置および／または受信装置に対してトランスペアレントであることは望ましいことでありうるので、有益なものである可能性がある。
【００３８】
図７に示されるように、パケットプロセッサーによって実行されるパケット処理シナリオは、個別パケット処理シナリオ７１０およびグループパケット処理シナリオ７２０を含んでもよい。個別パケット処理シナリオ７１０が入力パケット７００の特定の宛先アドレス７０１に割り当てられてもよい。個別パケット処理シナリオは、例えば、設定レジスタ（例えば、図２のレジスタ２５０）を用いて、ユーザが設定できるものであってもよい。そのような設定レジスタは、例えば、特定のパケット処理シナリオのためのペイロードフォーマットとパケットペイロードに対して実行される処理とを定義することができる。グループパケット処理シナリオアドレス７２０は、それに割り当てられた別の宛先アドレス７１０を有することができる。図示されるように、グループパケット処理シナリオ７２０は、並列処理するために、受信パケットを個別パケット処理シナリオ７１０からなるグループにマルチキャストするのに使用することができる。個別パケット処理シナリオ７１０のそのようなグループ化は、例えば設定レジスタを用いて設定できるものであってもよい。
【００３９】
図８は、本発明のある実施形態による例示的なパケット処理シナリオ８００を示す。シナリオ８００はサンプル処理ブロック８１０を含み、そのサンプル処理ブロック８１０は、シナリオ８００の設定に依存して、個々のチャネル（例えば、アンテナ）に対応するサンプルをキューイングブロック８２０内の個々のキュー内にキューイングする前に、サンプル内のビットの数を増加させ（パディング）あるいは減少させるような、および／または、ビットおよび／またはサブサンプルの順序を反転させるような、初期サンプルレベル処理およびサブサンプルレベル処理を含んでもよい。キューイングされたサンプルは、処理されたサンプルから合成された新しいパケットを生成するパケット組み立てブロック８３０に送信する前に、サンプル処理ブロック８１０においてさらに処理されることができる。
【００４０】
パケット処理シナリオは、例えば、Ｍ個のチャネルに対応するパケットを受信してもよく、それぞれのパケットにおいて、チャネル当たりＮ個の信号サンプルを備え、かつこの構造のＲ個の反復（repetitions）を備える。パケットオーバーヘッドが終了した後、パケットプロセッサー入力バッファーに記憶されたパケットペイロードは、図９に示されるようになり、ここでペイロードは、確保されたユーザフィールド（すなわち、処理されないフィールド）および信号サンプルＡ111，．．．，ＡRMN；Ｂ111，．．．，ＢRMN；．．．，Ｘ111，．．．，ＸRMNを含む。図１０に示されるように、サンプルＡ111，．．．，ＡRMN，Ｂ111，．．．，ＢRMN，．．．，Ｘ111，．．．，ＸRMNのそれぞれは、複数のサブサンプル、例えば、ＩチャネルサブサンプルＩ0，．．．，ＩB-1、および、ＱチャネルサブサンプルＱ0，．．．，ＱB-1を含んでもよい。それぞれのパケット処理シナリオおよび／またはそれぞれのシナリオにおいて実行される処理によって認識されるサンプルフォーマットは、レジスタが設定できるものであってもよい。
【００４１】
ビット拡張処理／ビット切り捨て処理のほかに、サンプル処理８１０は、サブサンプルの順序および／またはサンプル内のビットの順序を並べ替えるような、並べ替え処理を含んでもよい。例えば、サンプルは４ビットのＩおよび４ビットのＱであると仮定すると、サンプル処理８１０は、ＩサブサンプルおよびＱサブサンプルを個々に以下のように反転させることを含んでもよい。
入力：Ｉ0Ｉ1Ｉ2Ｉ3Ｑ0Ｑ1Ｑ2Ｑ3
出力：Ｉ3Ｉ2Ｉ1Ｉ0Ｑ3Ｑ2Ｑ1Ｑ0
サンプル処理８１０は、また、サンプル内のサブサンプルの順序を以下のように並べ替えてもよい。
入力：Ｉ0Ｉ1Ｉ2Ｉ3Ｑ0Ｑ1Ｑ2Ｑ3
出力：Ｑ0Ｑ1Ｑ2Ｑ3Ｉ0Ｉ1Ｉ2Ｉ3
サンプル処理８１０は、また、ＩビットおよびＱビットを以下のようにインターリーブすることができる。
入力：Ｉ0Ｉ1．．．．ＩB-1Ｑ0Ｑ1．．．．ＱB-1
出力：Ｉ0Ｑ0Ｉ1Ｑ1．．．．ＩB-1ＱB-1
【００４２】
サンプル処理８１０におけるこれらのおよびその他の処理は、サンプル完全性を維持するために、特定の順序で実行されなければならない可能性がある。例えば、入力サンプルはＩＱフォーマットを有し、ＩＱインターリーブされ、かつ、それぞれのＩサブサンプルおよびＱサブサンプルは６ビットを有すると仮定すると、インターリーブされ、ＩＱ反転され、符号拡張された出力を生成するためには、処理は、以下のように実行されなければならない可能性がある。
入力：Ｉ0Ｑ0Ｉ1Ｑ1Ｉ2Ｑ2Ｉ3Ｑ3Ｉ4Ｑ4Ｉ5Ｑ5；
ＩとＱをデインターリーブ：Ｉ0Ｉ1Ｉ2Ｉ3Ｉ4Ｉ5Ｑ0Ｑ1Ｑ2Ｑ3Ｑ4Ｑ5；
ＬＳＢから８ビットに符号拡張：Ｉ0Ｉ1Ｉ2Ｉ3Ｉ4Ｉ5Ｉ5Ｉ5Ｑ0Ｑ1Ｑ2Ｑ3Ｑ4Ｑ5Ｑ5Ｑ5；
反転：Ｉ5Ｉ5Ｉ5Ｉ4Ｉ3Ｉ2Ｉ1Ｉ0Ｑ5Ｑ5Ｑ5Ｑ4Ｑ3Ｑ2Ｑ1Ｑ0；
ＩＱ順序の変更：Ｑ5Ｑ5Ｑ5Ｑ4Ｑ3Ｑ2Ｑ1Ｑ0Ｉ5Ｉ5Ｉ5Ｉ4Ｉ3Ｉ2Ｉ1Ｉ0
ＩＱ出力インターリーブ：Ｑ5Ｉ5Ｑ5Ｉ5Ｑ5Ｉ5Ｑ4Ｉ4Ｑ3Ｉ3Ｑ2Ｉ2Ｑ1Ｉ1Ｑ0Ｉ0
図９に示されるように、初期処理の後、Ｍ個のチャネルのそれぞれに対応するサンプルが、キューのそれぞれに配置される。
【００４３】
所与のパケット処理シナリオは、また、図１２に示されるように、複数のパケットからのペイロードに加算またはその他の算術演算を施すように構成することができる。より詳細には、図１３に示されるように、新しい組のキュー１３２０が、別のキュー１３１０に記憶された複数のポートからのサンプルを加算することによって得られた加算結果を保持するために構築されることができる。加算が特定のシナリオに含まれる場合、デインターリービングおよびビット拡張またはビット除去のようなサンプル処理のある種のビット操作処理は、加算の前に実行されなければならない可能性があるが、反転、Ｉ−Ｑの配列、および、インターリービングのようなその他の処理は、加算の後に実行されなければならない可能性がある。
【００４４】
ここで、図１４〜図２０を参照して、本発明のある実施形態による無線基地局環境におけるパケット処理スイッチチップの使用例について説明する。これらの例は説明のために提供されること、および、本発明は説明される特定の動作およびアーキテクチャーに限定されないこと、あるいは、より一般的には無線機器に使用されることに限定されないことは、明らかなことである。
【００４５】
典型的な無線基地局アーキテクチャーが図１４に示され、ここで、４つのＲＦカード１４１０ａ、１４１０ｂ、１４１０ｃ、１４１０ｄは、無線信号サンプルを含むパケットを、パケット処理スイッチ（ＰＰＳ）チップ１４２０のそれぞれの入力ポート１４２１に提供する。チップ１４２０は受信パケットのペイロードを処理し、それぞれのディジタル信号プロセッサー／チップレートプロセッサー（ＤＳＰ／ＣＲＰ）１４３０ａ、１４３０ｂ、１４３０ｃに、それぞれの出力ポート１４２２を介して送信されるパケットを生成する。ＤＳＰ／ＣＲＰ１４３０ａ、１４３０ｂ、１４３０ｃは、例えば、ＲＦカード１４１０ａ、１４１０ｂ、１４１０ｃ、１４１０ｄによって生成された信号サンプルに対して、復調および復号化のような所定のベースバンド処理機能を施すように構成することができることは、明らかなことである。図１５〜図２０に示される以下の例のために、それぞれのＲＦカード１４１０ａ、１４１０ｂ、１４１０ｃ、１４１０ｄは、カードごとにアンテナＡおよびアンテナＢとして指示される２つのアンテナチャネルを有する。それぞれのＩ成分およびＱ成分は、ビットインターリービングされない８ビット（１バイト）であると仮定される。同一アンテナからのシリアルパケット内の隣接サンプルの数は２であり、繰り返し回数は２である。それぞれのＲＦカードからのそれぞれのパケットは、アンテナＡからの４個のサンプルとアンテナＢからの４個のサンプルとを含む８個のサンプルを含む。それぞれの入力ポート１４２１上でＰＰＳチップ１４２０に入力するパケットは、図１５に示されるようになる可能性がある。ビット拡張／除去処理のような何らかの前処理は示されない。図１６は、前処理の後にそれぞれのチャネルに対して生成されるキュー０〜７を示す。
【００４６】
本発明のある実施形態によるパケット処理の第１の例が、図１７に示される。単一パケットが、サンプルを加算することなく、キュー１〜７のすべてから合成される。合成されたパケットは、出力ポート２０、２２、および２３に送信され、ターゲット装置内の特定のメモリーアドレスへ宛てられる。
【００４７】
本発明のさらなる実施形態によるパケット処理の第２の例が、図１８に示される。合成された複数のパケットが、図１６に示されるキュー０〜７から生成され、それぞれの合成されたパケットは、それぞれのキューからの４つのサンプルを含む。すべての合成されたパケットは、出力ポート２０、２２、および２３に送信され、それらのそれぞれは、ターゲット装置のそれぞれのメモリーアドレスへ宛てられる。
【００４８】
用途によっては、ユーザは、異なるパケットを異なる宛先グループに送信したい可能性がある。これを行うために、ユーザは、上で図７を参照して説明されたようなアドレス方式を用いて、パケットをグループパケット処理シナリオアドレスに送信することができる。これは、複数パケット処理シナリオの並列動作をもたらし、それぞれの入力パケットは、複数のシナリオのそれぞれによって受信される。シナリオは、独立してパケットを処理し、異なるパケットを生成し、それらを異なるポートに送信することができる。
【００４９】
本発明のさらなる実施形態によるそのようなマルチパケットツーマルチ宛先パケット処理の例が、図１９に示される。ユーザは、２つの個別パケット処理シナリオにマッピングするグループパケット処理シナリオであることを指定されたパケットを送信する。第１のシナリオは、キュー０、２、４、および６から入力を受け取る。第１のシナリオによって生成されるパケットは、出力ポート２０および２２に送信される。第２のシナリオは、キュー１、３、５、および７から入力を受け取る。第２のシナリオによって生成されるパケットは、出力ポート２３に送信される。
【００５０】
図２０は、加算が可能にされる例を示す。加算が可能にされると、それぞれのチャネルが加算されて新しいキューが生成される。結果として得られる合成されたパケットは、出力ポート２０、２２、および２３に送信される。
【００５１】
再び図１を参照すると、パケット処理スイッチＩＣチップ１００の入力ポート１１０のいずれかにおいて受信されたパケットは、パケットプロセッサー１２０における処理を必要とするパケット（例えば、信号サンプルパケット）、またはペイロードを変更されることなくスイッチングファブリック１３０によって転送されるべきパケットであってもよい。さらに、異なるパケット処理シナリオ１３２に対するパケットは、入力ポートのいずれかにおいて多重化されることができる。一般的には、パケットプロセッサー１３０における動作は、望ましいデータレートを維持するために、またその他のタイミング基準を満たすために、同期させられることが望ましい。ここで、図２１〜図２６を参照して、パケット処理操作を同期させるための例示的な処理について説明する。
【００５２】
本発明のある実施形態によれば、パケットプロセッサーは、動的パケット蓄積アプローチを用いて動作する。特定のシナリオを完了するのに必要なすべての入力パケットが装置に蓄積されると、それらのパケットは処理され、シナリオに対応する１つ以上の出力パケットが形成される。そして出力パケットは、シナリオに対応する出力ポートから送信される。ある実施形態においては、それぞれのパケット処理シナリオは、処理区間ごとに１入力パケット／１ポートを処理し、そしてすべての入力パケットは、実質的に同じデータレートで実行される特定のシナリオによって使用され、かつ、同じサイズおよびフォーマットを有する。
【００５３】
ある実施形態においては、動的パケット蓄積は、蓄積イベントおよび処理イベントに応答して遷移する状態機械を用いて実施することができる。それぞれのシナリオは、パケットを提供する入力ポートを認識することによって（例えば、図２に示される設定レジスタ２５０のような設定レジスタを介して）設定されることができる。図２１を参照すると、状態機械の初期化（ブロック２１０５）の後、シナリオに対するパケットが蓄積を開始する（ブロック２１１０）。図示される実施形態においては、当該シナリオが指定されたすべてのパケットが最初に到着したパケットに対する蓄積時間内に蓄積を始めなければならず、最初のパケットが蓄積を完了した後に到着する任意のパケットのペイロードは、デフォルトペイロードに置き換えられる（ブロック２１１５、２１２０、２１２５）。最初に到着したパケットの蓄積時間によって定義される蓄積ウインドウ内で蓄積を開始しなければならないという条件を満たすすべてのパケットが蓄積を完了した後、それらのパケット（すなわち、蓄積されたパケット、および場合によっては、何らかの置き換えられたパケット）が処理され、１つ以上の出力パケットが生成され（ブロック２１３０、２１３５）、そしてそれらの出力パケットは送信される（ブロック２１４０）。これまでに受信されたパケットの処理が開始する前に、新しい蓄積期間（ブロック２１１０）が開始することができる。
【００５４】
パケット処理シナリオは、例えば初期化レジスタへの書き込み、またはその他の何らかの初期化信号によって初期化することができる。そして、パケット処理シナリオに対応するその後に受信されるパケット（例えば、シナリオのアドレスに宛てられたパケット）は、シナリオへの最初のパケットとみなすことができる。
【００５５】
図２２はシナリオ０〜４を示し、それらのシナリオ０〜４は、それぞれの開始信号Ｉｎｉｔ１〜Ｉｎｉｔ４を送信することによって、互いに独立に同期させられてもよい。初期化信号が、上で図７を参照して説明されたようなグループパケット処理シナリオに送信される場合、関係するすべての個別パケット処理シナリオが初期化することができる。１つの入力ポートが複数のシナリオに使用される場合、複数のシナリオに対する初期化信号は、同じポート上または別個のポート上で受信することができる。パケット処理シナリオの初期化信号を受信した後、そのシナリオはパケットの蓄積を開始し（斜線部分で示されるように）、それに続いて蓄積したパケットが処理され、新しいパケットが合成される。図２２に示されるように、ある所与のシナリオに対するパケットの蓄積は、そのシナリオに最初に到着したパケットを蓄積し始めることから開始する。一般的には、シナリオは同時に開始しなくてもよい。さらなる実施形態においては、「グローバル」初期化が、図２３に示されるように、例えばグローバル初期化レジスタに書き込むことによって、および／または、初期化信号を同時にすべてのパケット処理シナリオに提供することによって、実施することができる。グローバル初期化信号は、どのポートを介してでも入力することができる。
【００５６】
異なるシナリオは、サイズおよび必要とされるパケット処理に対応する異なる待ち時間を有することができる。一般的には、処理時間は、シナリオに送信されるデータの量（パケットのサイズおよび入力ポートの数）、および計算の種類（サンプル操作、加算など）に依存する。
【００５７】
図２４は、５つのシナリオ０〜４が動作している例を示す。シナリオ０は、ポート０上における第１のパケットの到着とポート２上における第２のパケットの到着との間に間隙を有し、パケットを所与のポートから所与のシナリオにどのくらいの頻度で送信することができるかを、処理時間が決定する可能性があることを示す。より詳細には、シナリオ０の第１のイタレーションに対する処理２４１０は、シナリオ０のその後の第２のイタレーション２４２０に対するパケットが蓄積することと同時に発生することができる。シナリオ２は、シナリオ２がより小さいパケットサイズおよびより長い処理時間を有すること（これは、シナリオ２に対するパケットは、シナリオ０に対するパケットよりも低いレートで送信されることを意味する）を除けば、シナリオ０に類似する。ポート１およびポート４は、複数のシナリオ１、３、および４を指定されたパケットを受信し、ポートは、処理区間中に異なるシナリオに対するパケットを送信することによって特定のシナリオに対する処理時間を「隠す」ことによって、より効率的に使用することができることを示す。ポート１およびポート４上において複数のシナリオに対するパケットを多重化することによって、スループットが増大する可能性がある。
【００５８】
上述した動的パケット蓄積は、システム同期における大きな柔軟性を提供することができる。本発明のある実施形態によれば、パケット処理シナリオは、シナリオごとの蓄積段階を開始するために、最初のパケットが到着するのを待つ。これは、装置に接続された送信機を動作させる前に、パケットプロセッサーを初期化するのを可能にする。なぜなら、それぞれのシナリオは、パケットを受信し始めた後に動作し始めるからである。
【００５９】
ペイロードを処理しなくてもよい「標準的な」パケット（例えば、図１のスイッチングファブリック１３０のようなスイッチングファブリックによってルーティングされるべきパケット）が、ペイロードを処理しなければならないパケットを受信しているポートに送信される場合、標準的なパケットは、ポートのアイドル時間（例えば、処理時間）中に受信することができる。このことが図２５に示され、ここで標準的なパケットは、パケット処理シナリオＰＰＳｃ１〜３に宛てられたパケットと多重化される。ポートが、標準的なパケットを「収容」するのに十分なアイドル時間を有していなければ、ユーザは、ペイロードを処理されるべきパケットのためのポートを排他的に提供し、標準的なパケットのためのポートを分離することができる。
【００６０】
パケットの蓄積は、最初のパケットの到着によって定義される蓄積ウインドウに制限することができる。この条件は、図２６に示されるように、同じシナリオへ入力するパケットの有効到着ウインドウをリンクのデータレートに関連づけることができる。図示されるように、ポート２上のグループＰＰＳｃ０グループ０のパケットが最初に到着し、そして、同じシナリオＰＰＳｃ０に宛てられたその他のすべてのパケットに対する有効到着ウインドウを決定する。図示されるように、ポート５上の同じグループからのパケットは遅く、ポート２上のパケットが蓄積した後に到着する。ポート５上のパケットは無視されてもよく、例えばすべてのゼロの値（または、その他の何らかの値）が、処理中にその場所に使用することができる。次の蓄積ウインドウは、それまでのすべての有効なグループ０パケットが処理を終了した後、グループＰＰＳｃ０グループ１の最初のパケットが到着したことによって始まる。上述したように、次のグループのパケットがパケットプロセッサー内に到着した到着時刻は、それまでのグループの処理時間によって決定することができる。
【００６１】
本発明のさらなる実施形態においては、時分割多重（ＴＤＭ）モードの動作が、パケットプロセッサーにおけるすべての動作中のシナリオの最も長い処理時間によって決定される時刻にパケットを送信することによって、実施することができる。図２７を参照すると、パケット処理シナリオＰＰＳｃ０〜３に対するすべてのパケットの到着時刻は、図２７に示されるウインドウ２７１０が、すべてのシナリオの最も長い処理時間をサポートできる程度に十分に広くなるように制御することができる。パケットプロセッサーは、装置がＴＤＭモードで動作していることがわかるようにするために、シナリオＰＰＳｃ０〜３からの出力パケットの送信を制御するように設定されることができる。より詳細には、装置は、出力パケットの処理が完了した後にパケットの次の入力グループの蓄積を開始することによって、出力パケットの送信を開始することができる。
【００６２】
図２８は、本発明のさらなる実施形態によるパケットプロセッサー２８００（例えば、図１のパケット処理スイッチ１００のようなパケット処理スイッチにおいて使用するためのパケットプロセッサー）の別の構成を示す。パケットプロセッサー２８００は、入力パケットを記憶するように構成された入力パケットバッファー２８１０を含む。ＦＩＦＯ読み込みコントローラ（ＦＲＣ）２８２０は、ポインターテーブル２８３０によって指示される入力パケットバッファー２８１０から、データ（例えば、受信されたメッセージのペイロードからの信号サンプル）を読み込む。ポインターテーブル２８３０は、入力パケットバッファー２８１０内の入力データロケーションを、出力パケットバッファー２８５０内の出力データロケーションに関連づける。プロセッサー２８４０は、パケット処理シナリオ（ＰＰＳｃ）設定レジスタ２８６０に記憶された情報によって指示されるサンプル操作を実行する。プロセッサー２８４０によって出力される処理されたデータが、そのデータから出力パケットを組み立てる出力パケットバッファー２８５０に書き込まれる。
【００６３】
図２９は、本発明のさらなる実施形態による、上で図２８を参照して説明されたようなパケットプロセッサーの例示的な構成を示す。パケットプロセッサー２９００は、複数のポート（図示しない）からパケットを受信するように構成された入力バッファー２９０５を含む。同期監視モジュール２９１０は、入力パケットのタイミングを監視し、入力バッファー２９０５に記憶されたパケットにアクセスするＦＲＣ２９２０を介して、その入力パケットからヘッダー情報を抽出する。抽出されたヘッダー情報は、入力バッファー２９０５によって受信された入力パケット内のペイロード情報を処理することによって生成されたペイロード情報を含む出力パケットを組み立てるのに使用するために、パケットフレーマー２９６５に提供される。
【００６４】
ＦＲＣ２９２０は、サンプルカウンターおよびＦＲＣ制御ユニット２９１５によって生成された制御信号に応答して、入力バッファー２９０５に記憶されたパケットにアクセスする。サンプルカウンターおよびＦＲＣ制御ユニット２９１５は、同期監視モジュール２９１０によって生成されたエラー情報および制御情報、ポインターテーブル２９５０からのアドレス情報、および、入力／出力サンプル設定メモリー２９７０の設定レジスタから得られるパケット処理シナリオ制御情報に応答して、制御信号を生成する。ＦＲＣ２９２０は、ペイロードデータを入力バッファー２９０５から一組の第１のビット操作器２９２５に転送し、その第１のビット操作器２９２５は、入力／出力サンプル設定メモリー２９７０に記憶されたパケット処理シナリオ制御情報によって指示される、デインターリービング処理、符号拡張処理、および／または、ビット除去処理を実行する。
【００６５】
データ多重加算ユニット２９３０は、入力／出力サンプル設定メモリー２９７０に記憶されたパケット処理シナリオ制御情報によって指示される加算処理を実行し、さらにまた、加算出力の動的／飽和レンジングを実行することができる。データ多重加算ユニット２９３０の出力は、ビット操作器２９３５に提供され、そのビット操作器２９３５は、入力／出力サンプル設定メモリー２９７０に記憶されたパケット処理シナリオ制御情報によって指示されるような、反転処理（例えば、ＭＳＢ／ＬＳＢ）、ＩＱ配列処理、および／または、ＩＱインターリービング処理を実行する。ビット操作器２９３５は、アドレスおよびマスクとともに、処理されたデータを出力パケットメモリー２９４０に提供する。データは、出力パケットメモリー２９４０からパケットフレーマー２９６５に転送され、そのパケットフレーマー２９６５は、サンプルカウンターおよびＦＲＣ制御ユニット２９１５と出力パケット宛先メモリー２９６０とからのヘッダー情報を用いて、新しいパケットを組み立てる。
【００６６】
図２６を参照して上述したように、パケットの蓄積は、最初のパケットの到着が完了したことによって定義される蓄積ウインドウに制限されてもよく、それによって、同じシナリオへ入力するパケットの有効到着ウインドウはリンクのビットレートに依存する。本発明の別の実施形態によれば、パケットプロセッサーは、パケットのためのビットレートに依存しない期間を備えた固定パケット蓄積ウインドウを使用することができる。したがって、図３０に示されるように、第１のビットレートおよび第２のビットレートでそれぞれ転送されるパケット３０１０および３０２０は、それらが蓄積される異なるビットレートに関係なく同じ処理を受け取る可能性がある。そのような有効蓄積ウインドウの外側に到着するパケットは、図２６を参照して上述したパケットと同じように処理されてもよく、例えば、そのようなパケットは無視され、予め定められたパケットに置き換えられてもよい。しかしながら、そのようなアプローチを使用することは、あまりにも多くのパケットが所与のウインドウに到着するために、処理に過負荷をもたらす可能性がある。本発明のさらなる実施形態によれば、これは図３０にも示されるように、先行する有効到着ウインドウが終了した後に新しい有効到着ウインドウの開始を予め定められた時間期間だけ禁止することによって、回避することができる。この時間期間は、固定されたものであってもよく、あるいは、ユーザが設定できるもの（例えば、プログラマブル）であってもよいことがわかる。代わりとなる別の実施形態は、予め定められた時刻に発生する有効到着ウインドウ、すなわち、それらのウインドウの開始を定義するための最初のパケットの到着に依存しないウインドウを定義することを含んでもよく、それは、過負荷を防止するのに十分な期間だけ分離することができる。
【００６７】
上述したパケット処理スイッチアーキテクチャーは説明のための例であること、また、その他のパケット処理スイッチアーキテクチャーは本発明の範囲内に存在することは、明らかなことである。より一般的には、図面および明細書においては、本発明の例示的な実施形態が開示された。特定の用語が使用されたが、それらは、ただ単に一般的かつ記述的な意味で使用されたものであり、限定するためのものではなく、本発明の範囲は添付の特許請求の範囲に規定される。
【図面の簡単な説明】
【００６８】
【図１】本発明のある実施形態によるパケット処理スイッチ集積回路チップを示す概略図である。
【図２】本発明のさらなる実施形態によるパケット処理スイッチ集積回路チップを示す概略図である。
【図３】本発明のある実施形態によるパケット処理スイッチのための例示的なポート構成を示す図である。
【図４】本発明のある実施形態によるパケット処理スイッチのための例示的なポート構成を示す図である。
【図５】本発明のある実施形態によるパケット処理スイッチのための例示的なパケットフローアーキテクチャーを示す図である。
【図６】本発明のさらなる実施形態によるパケット処理スイッチにおいてパケットをルーティングするためにパケット宛先アドレスを使用することを説明する図である。
【図７】本発明のさらなる実施形態によるパケット処理スイッチにおいてパケットをルーティングするためにパケット宛先アドレスを使用することを説明する図である。
【図８】本発明のある実施形態による例示的なパケット処理シナリオ構造を示す図である。
【図９】本発明のある実施形態とともに使用することができる例示的なパケットペイロードフォーマットを示す図である。
【図１０】本発明のある実施形態とともに使用することができる例示的なパケットペイロードフォーマットを示す図である。
【図１１】本発明のさらなる実施形態によるパケットプロセッサーの例示的なチャネルキューを示す図である。
【図１２】本発明のある実施形態によるパケットプロセッサーの例示的な加算処理を示す図である。
【図１３】本発明のある実施形態によるパケットプロセッサーの例示的な加算処理を示す図である。
【図１４】本発明のさらなる実施形態による例示的なパケット処理スイッチインターフェース回路の使用例を示す図である。
【図１５】図１４に示される使用例におけるソースのカードのための例示的なパケット構造を示す図である。
【図１６】図１５に示されるパケットから構成される例示的なサンプルキューを示す図である。
【図１７】本発明の様々な実施形態による様々なパケット処理シナリオによって図１５のパケットから生成される、例示的な出力パケットを示す図である。
【図１８】本発明の様々な実施形態による様々なパケット処理シナリオによって図１５のパケットから生成される、例示的な出力パケットを示す図である。
【図１９】本発明の様々な実施形態による様々なパケット処理シナリオによって図１５のパケットから生成される、例示的な出力パケットを示す図である。
【図２０】本発明の様々な実施形態による様々なパケット処理シナリオによって図１５のパケットから生成される、例示的な出力パケットを示す図である。
【図２１】本発明のある実施形態によるパケットプロセッサーの例示的な動作を説明する図である。
【図２２】本発明のさらなる実施形態による例示的なパケット処理初期化動作を説明する図である。
【図２３】本発明のさらなる実施形態による例示的なパケット処理初期化動作を説明する図である。
【図２４】本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。
【図２５】本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。
【図２６】本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。
【図２７】本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。
【図２８】本発明のさらなる実施形態によるパケットプロセッサーおよびそれの例示的な動作を示す図である。
【図２９】本発明のさらなる実施形態によるパケットプロセッサーおよびそれの例示的な動作を示す図である。
【図３０】本発明のさらなる実施形態によるパケット処理のための例示的な動作を説明する図である。
【図１】
2008539613.tif 000004
【図２】
2008539613.tif 000005
【図３】
2008539613.tif 000006
【図４】
2008539613.tif 000007
【図５】
2008539613.tif 000008
【図６】
2008539613.tif 000009
【図７】
2008539613.tif 000010
【図８】
2008539613.tif 000011
【図９】
2008539613.tif 000012
【図１０】
2008539613.tif 000013
【図１１】
2008539613.tif 000014
【図１２】
2008539613.tif 000015
【図１３】
2008539613.tif 000016
【図１４】
2008539613.tif 000017
【図１５】
2008539613.tif 000018
【図１６】
2008539613.tif 000019
【図１７】
2008539613.tif 000020
【図１８】
2008539613.tif 000021
【図１９】
2008539613.tif 000022
【図２０】
2008539613.tif 000023
【図２１】
2008539613.tif 000024
【図２２】
2008539613.tif 000025
【図２３】
2008539613.tif 000026
【図２４】
2008539613.tif 000027
【図２５】
2008539613.tif 000028
【図２６】
2008539613.tif 000029
【図２７】
2008539613.tif 000030
【図２８】
2008539613.tif 000031
【図２９】
2008539613.tif 000032
【図３０】
2008539613.tif 000033
【手続補正書】
【提出日】平成19年12月19日(2007.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
入力ポートから、出力ポートの中から選択されたポートへと選択されたパケットをルーティングするようにされたパケットスイッチングファブリックと、
選択されたパケットを入力ポートから受信し、受信パケットからペイロードを抽出し、抽出されたペイロードにビットレベルの変換を施して新しいペイロードを形成し、該新しいペイロードを含んでいる新しいパケットを組み立てて、該新しいパケットを、出力ポートの中から選択されたポートへとルーティングするようにされたパケットプロセッサーと
を備えてなるパケットスイッチング集積回路チップ。
【請求項２】
入力ポートにおいて受信された第１のパケットをスイッチングファブリックへ選択的にルーティングしてペイロードを変更することなく出力ポートへルーティングし、入力ポートにおいて受信された第２のパケットをパケットプロセッサーへ選択的にルーティングして第１および第２のパケットの宛先アドレスに基づいてペイロードを変更するようにされた制御回路をさらに備える請求項１に記載の集積回路チップ。
【請求項３】
パケットプロセッサーが複数のパケット処理シナリオをサポートする請求項１に記載の集積回路チップ。
【請求項４】
パケットプロセッサーがパケット内の宛先アドレスに基づいて選択的にパケット処理シナリオを使用する請求項３に記載の集積回路チップ。
【請求項５】
複数のパケット処理シナリオが、個別パケット処理シナリオと、該個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる請求項３に記載の集積回路チップ。
【請求項６】
パケット処理シナリオそれぞれのタイミングが、該パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、請求項３に記載の集積回路チップ。
【請求項７】
初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始するようにパケットプロセッサーが構成されている請求項６に記載の集積回路チップ。
【請求項８】
パケット処理シナリオはユーザが設定することができるものである請求項３に記載の集積回路チップ。
【請求項９】
パケットプロセッサーによって生成されたパケットが、それらのパケットが生成された受信パケット内の宛先アドレスに基づいて宛先をアドレス指定される、請求項１に記載の集積回路チップ。
【請求項１０】
パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項１に記載の集積回路チップ。
【請求項１１】
パケットスイッチングファブリックおよび／またはパケットプロセッサーが、パケット内の優先順位識別子に従ってパケットをルーティングするように設定された、請求項１に記載の集積回路チップ。
【請求項１２】
入力バッファーの優先順位識別子が、ユーザが設定できるものである、請求項１１に記載の集積回路チップ。
【請求項１３】
入力ポートおよび出力ポートが、ユーザが設定することのできる帯域幅を有する、請求項１に記載の集積回路チップ。
【請求項１４】
パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および／または出力ポートが、入力ポートの中の少なくとも１つを介して設定することができるものである、請求項１に記載の集積回路チップ。
【請求項１５】
集積回路間（Ｉ2Ｃ）バスインターフェースをさらに備え、パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および／または出力ポートが、Ｉ2Ｃバスインターフェースを介して設定することができるものである、請求項１に記載の集積回路チップ。
【請求項１６】
受信パケットおよび新しいパケットが、ＲａｐｉｄＩＯ（商標）（ＲＩＯ）に準拠したパケットである、請求項１に記載の集積回路チップ。
【請求項１７】
第１の複数の回路カードと第２の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
第１の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
第２の複数の回路カードの中のそれぞれの回路カードにパケットを送信するようにされた複数の出力ポートと、
入力ポートから、出力ポートの中から選択されたポートへと選択されたパケットをルーティングするようにされたパケットスイッチングファブリックと、
選択されたパケットを入力ポートから受信し、受信パケットからペイロードを抽出し、該抽出されたペイロードにビットレベルの変換を施して新しいペイロードを形成し、該新しいペイロードを含んでいる新しいパケットを組み立てて、該新しいパケットを出力ポートの中から選択されたポートへルーティングするようにされた、パケットプロセッサーと
を備えるインターフェース回路。
【請求項１８】
入力ポートにおいて受信された第１のパケットをスイッチングファブリックへ選択的にルーティングしてペイロードを変更することなく出力ポートへルーティングするとともに、入力ポートにおいて受信された第２のパケットをパケットプロセッサーへ選択的にルーティングして第１および第２のパケットの宛先アドレスに基づいてペイロードを変更するようにされた制御回路をさらに備える、請求項１７に記載のインターフェース回路。
【請求項１９】
パケットプロセッサーが、信号サンプル処理操作を受信パケットに施すように設定することができるものである、請求項１７に記載のインターフェース回路。
【請求項２０】
信号サンプル処理操作が、ビット拡張、ビット切り捨て、ビット並べ替え、および／またはビット算術演算を含む、請求項１９に記載のインターフェース回路。
【請求項２１】
信号サンプル処理操作が、無線信号サンプル処理操作を含む、請求項１９に記載のインターフェース回路。
【国際調査報告】
2008539613.tif 000034
2008539613.tif 000035
2008539613.tif 000036