JP2008539613A - パケット処理スイッチおよびそれを動作させる方法 - Google Patents

パケット処理スイッチおよびそれを動作させる方法 Download PDF

Info

Publication number
JP2008539613A
JP2008539613A JP2008507723A JP2008507723A JP2008539613A JP 2008539613 A JP2008539613 A JP 2008539613A JP 2008507723 A JP2008507723 A JP 2008507723A JP 2008507723 A JP2008507723 A JP 2008507723A JP 2008539613 A JP2008539613 A JP 2008539613A
Authority
JP
Japan
Prior art keywords
packet
packets
chip
received
scenario
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008507723A
Other languages
English (en)
Inventor
テズカン,ベルタン
ビーン,ウィリアム・テリー
ダーネル,ブライアン・スコット
マカダム,アンガス・デイヴィッド・スター
サクストープ,ヤコブ
Original Assignee
インテグレイテッド・デヴァイス・テクノロジー,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/394,886 external-priority patent/US20060248375A1/en
Application filed by インテグレイテッド・デヴァイス・テクノロジー,インコーポレイテッド filed Critical インテグレイテッド・デヴァイス・テクノロジー,インコーポレイテッド
Publication of JP2008539613A publication Critical patent/JP2008539613A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/112Switch control, e.g. arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/113Arrangements for redundant switching, e.g. using parallel planes
    • H04L49/118Address processing within a device, e.g. using internal ID or tags for routing within a switch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/40Constructional details, e.g. power supply, mechanical construction or backplane
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

パケットスイッチング集積回路チップは、パケット、例えば、RapidIO(商標)に準拠したパケットを複数の外部ソースから受信し、受信パケット内のデータを複数の外部受信装置に選択的に転送するように構成される。チップは、第1の受信パケットを変更することなく転送し、かつ、第2の受信パケットを終結し、それのペイロードを前処理し、新しいパケットを生成するように構成される。チップは、ビット拡張、ビット切り捨て、ビット並べ替え、および/または、ビット算術演算のような信号サンプル処理操作を、第2の受信パケットに施すように構成することができる。さらにチップは、受信パケット内の宛先アドレスに基づいて、第1および第2の受信パケットを管理するように構成することができる。

Description

本発明は、パケット通信装置およびパケット通信方法に関し、より詳細には、パケットスイッチング装置およびパケットスイッチング方法に関する。
通信サービスの需要が増大することによって、一般的に、ネットワークコンポーネントに対する帯域幅の要件が増大してきた。例えば、無線通信量が増加することにより、一般的に、無線端末と基地局との間における帯域幅の要件が増大してきている。ユーザが、一層多くの情報とサービスをユーザの携帯電話およびその他の無線装置から得ようとするため、利用可能な帯域幅が圧迫されることがある。無線サービスプロバイダーは、この問題を緩和するために、2.5G技術および3G技術へ移行している。これらの技術は、一般的には、2G技術よりもブロードキャストバンド当たりのデータ量が多くなり、このため、これらの技術によって、個々のユーザに提供するのに使用することができる帯域幅がより大きくなるため、多くのユーザが同一セル領域内に存在してもサービスを提供することができる。
3G無線通信システムの重要な側面として、閉ループ電力制御がある。例えば、広帯域符号分割多元接続(WCDMA)システムにおいては、典型的には、基地局は、モバイル端末からパケットを受信してから5ミリ秒以内に、モバイル端末の送信電力を調節するようにそのモバイル端末に命令できることが望ましい。これは、基地局における総遅延時間を最も制約するものである可能性がある。なぜならそれは、受信無線信号をサンプリングするために、RFカードからベースバンドカードへ、そして制御カードへ進み、ベースバンドカード、RFカード、そしてアンテナへ戻る、という往復の遅延時間を含むからである。それぞれの基地局は、いくつかのRFカードおよびベースバンドカードを有してもよく、そして信号サンプルは、任意の所与のRFカードと任意の所与のベースバンドカードとの間で転送されることができる。これらのカード間でデータを転送するときの待ち時間を減少させることが重要になりつつある。
そのようなカード間においてデータを伝送するために様々なアーキテクチャーが使用することができる。完全メッシュ型アーキテクチャーにおいては、各RFカードは、それぞれのベースバンドカードに接続される。スイッチング型アーキテクチャーは、RFカードとベースバンドカードとの間でマルチ入力マルチ出力スイッチを提供する。スイッチング型アーキテクチャーは、改善された拡張性および柔軟性を提供することができるが、完全メッシュ型ソリューションよりも待ち時間を増加させる。また、より小さなシステムの場合、完全メッシュ型アーキテクチャーは、スイッチング型アーキテクチャーよりも安価である。
基地局コンポーネント間の通信、例えば、RFカードとベースバンドカードとの間の通信をサポートできる集積回路(IC)が開発されてきた。例えば、Spectrum Signal Processing Inc.は、ASIC−based Solano(商標)チップを提供しており、このチップは、ディジタル信号プロセッサー(DSP)のようなプロセッサー、RISCプロセッサー、および、FPGAと、RFカードのようなデータのソースとをインターフェース接続するのに使用することができる。このチップは、制御ロジックに結合された8つの高速FIFOを含み、そして、それらの高速FIFOは2つ一組にされ、4つの全二重チャネルを形成する。Tundra Semiconductor Corporationは、Serial RapidIO(登録商標)チップを提供しており、このチップは、RFカードとベースバンドカードとの間におけるスイッチング型アーキテクチャーを提供するのに使用することのできる、スイッチングファブリックを含む。
本発明の実施形態においては、パケットスイッチング集積回路チップは、パケット、例えば、RapidIO(商標)に準拠したパケットを複数の外部ソースから受信し、そして、受信パケット内のデータを複数の外部受信装置に選択的に転送するように構成される。さらにチップは、ペイロードを変更することなく第1の受信パケットを転送し、かつ、第2の受信パケットを終結し、そのパケット内のペイロードを前処理(preprocess)し、新しいパケットを生成するように構成される。ある実施形態においては、チップは、ビット拡張、ビット切り捨て、ビット並べ替え、および/または、ビット算術演算のような信号サンプル処理操作を、第2の受信パケットに施すように構成することができる。また、チップは、受信パケット内の宛先アドレスに基づいて、第1および第2の受信パケットを管理するように構成することができる。
本発明のさらなる実施形態においては、パケットスイッチング集積回路チップは、外部ソースそれぞれからパケットを受信するように構成された複数の入力ポートと、外部受信装置それぞれにパケットを送信するように構成された複数の出力ポートとを含む。また、チップは、選択されたパケットを入力ポートから受信し、新しいペイロードを含んでいる新しいパケットをそのパケットから組み立て、新しいパケットを出力ポートの中から選択されたポートへルーティングするように構成されたパケットプロセッサーとともに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートへルーティングするように構成された、パケットスイッチングファブリックを含む。パケットプロセッサーおよびスイッチングファブリックは、パケット内の宛先アドレスに基づいて、入力ポートからパケットを受信するように構成することができる。
パケットプロセッサーは、複数のパケット処理シナリオをサポートすることができる。複数のパケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでもよい。パケット処理シナリオそれぞれのタイミングは、パケット処理シナリオに対して受信パケットが蓄積することに応答して、制御することができる。パケット処理シナリオに対するパケット蓄積は、初期化信号(initialization signal)に応答して制御することができる。パケット処理シナリオは、例えばチップの設定レジスタに書き込むことによって、ユーザが設定することのできるものであってもよい。
パケットスイッチングファブリックおよび/またはパケットプロセッサーは、パケットを、そのパケット内に存在する優先順位識別子に従ってルーティングするように構成することができる。ある実施形態においては、パケットスイッチングファブリックは、入力バッファーの複数の組を含む。入力バッファーの組の中のそれぞれの組は、入力ポートの中のそれぞれのポートからのパケットを受信し、パケット内の優先順位識別子に従って記憶するように構成される。また、パケットプロセッサーは、パケットを受信し、そして出力ポートの中のそれぞれのポートに転送するように構成された出力バッファーの複数の組と、パケットの宛先アドレスに基づいて、かつ入力バッファーの優先順位識別子に従って、パケットを入力バッファーから出力バッファーに転送するように構成されたスイッチとを含む。入力バッファーの優先順位識別子は、ユーザが設定することのできるものでありうる。
本発明のさらなる実施形態においては、パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および/または出力ポートは、入力ポートの中の少なくとも1つを介して設定することができるものである。チップは、集積回路間(I2C;inter-integrated circuit)バスインターフェースをさらに含んでもよく、そして、パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および/または出力ポートは、I2Cバスインターフェースを介して設定することができるものとし得る。
本発明のさらなる実施形態は、第1の複数の回路カードを第2の複数の回路カードにインターフェース接続するためのインターフェース回路を提供する。インターフェース回路は、第1の複数の回路カードの中のそれぞれの回路カードからパケットを受信するように構成された複数の入力ポートと、第2の複数の回路カードの中のそれぞれの回路カードにパケットを送信するように構成された複数の出力ポートとを含む。またインターフェース回路は、入力ポートから出力ポートの中から選択されたポートに選択されたパケットをルーティングするように構成された、パケットスイッチングファブリックと、入力ポートから選択されたパケットを受信し、新しいペイロードを含んでいる新しいパケットをそのパケットから組み立て、新しいパケットを出力ポートの中から選択されたポートへルーティングするように構成された、パケットプロセッサーとを含む。パケットプロセッサーは、信号サンプル処理操作を受信パケットに施すように設定することができるものであってもよい。信号サンプル処理操作は、ビット拡張、ビット切り捨て、ビット並べ替え、および/または算術演算を含んでもよい。インターフェース回路は、例えば、無線基地局またはその他の通信装置における無線信号サンプルパケットのルーティングおよび処理を提供するように構成することができる。
本発明のある実施形態によれば、パケット処理集積回路チップは、パケットを外部ソースそれぞれから受信するように構成された複数の入力ポートと、外部受信装置それぞれにパケットを送信するように構成された複数の出力ポートとを含む。チップはさらに、複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って新しいペイロードを含んでいる新しいパケットを生成するために、受信パケットを処理するように構成されたパケットプロセッサーを含む。複数のパケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたシナリオによるパケットの並列処理をもたらすグループパケット処理シナリオとを含んでもよい。チップはさらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。
さらなる実施形態においては、パケットプロセッサーは、受信パケットのペイロードからデータを抽出し、かつ、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができる。例えば、パケットプロセッサーは、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、受信パケットに施すように設定できるものであってもよい。
本発明のさらなる実施形態によれば、パケット処理シナリオそれぞれのタイミングは、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される。パケットプロセッサーは、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始する(initiate)ように構成することができる。
本発明のある実施形態においては、第1の複数の回路カードと第2の複数の回路カードとの間でデータを伝送するためのインターフェース回路は、パケットを第1の複数の回路カードの中のそれぞれの回路カードから受信するように構成された複数の入力ポートと、パケットを第2の複数の回路カードの中のそれぞれの回路カードに送信するように構成された複数の出力ポートとを含む。インターフェース回路は、さらに、複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って新しいペイロードを含んでいる新しいパケットを生成するために、受信パケットを処理するように構成されたパケットプロセッサーを含む。インターフェース回路は、さらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。ある無線通信実施形態においては、複数の入力ポートは、パケットを複数のRFカードの中のそれぞれのカードから受信するように構成され、複数の出力ポートは、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するように構成される。
本発明のある実施形態によれば、パケット処理集積回路チップは、外部ソースそれぞれからパケットを受信するように構成された複数の入力ポートと、外部受信装置それぞれパにケットを送信するように構成された複数の出力ポートとを含む。チップはさらに、受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理し、そして、新しいパケットを出力ポートに伝送するように設定することのできる、パケットプロセッサーを含む。チップは、さらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。
ある実施形態によれば、データ構造は、例えば、外部受信装置におけるプロセッサーのためのプロセッサーデータ構造を含んでもよい。パケットプロセッサーは、新しいパケットのペイロードを生成するために、例えば、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、抽出されたペイロードに施すように設定することができるものであってもよい。
本発明のある実施形態においては、パケットプロセッサーは、パケット処理シナリオをサポートする。パケットプロセッサーは、パケット内の宛先アドレスに基づいて、パケット処理シナリオを選択的に使用することができる。パケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでもよい。
さらなる実施形態においては、第1の複数の回路カードと第2の複数の回路カードとの間でデータを伝送するためのインターフェース回路は、パケットを第1の複数の回路カードの中のそれぞれの回路カードから受信するように構成された複数の入力ポートと、パケットを第2の複数の回路カードの中のそれぞれの回路カードに送信するように構成された複数の出力ポートとを含む。インターフェース回路は、さらに、受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理し、そして、新しいパケットを出力ポートに伝送するように設定することのできるパケットプロセッサーを含む。インターフェース回路は、さらに、選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。例示的な実施形態においては、複数の入力ポートは、パケットを複数のRFカードの中のそれぞれのカードから受信するように構成され、かつ、複数の出力ポートは、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するように構成される。データ構造は、ベースバンドカード上に存在するベースバンドプロセッサーのデータ構造を含んでもよい。
本発明のある実施形態においては、パケット処理集積回路チップは、外部ソースそれぞれからパケットを受信するように構成された複数の入力ポートと、外部受信装置それぞれにパケットを送信するように構成された複数の出力ポートとを含む。チップはさらに、複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含む新しい出力パケットを生成するよう受信パケットを処理し、かつ新しい出力パケットを出力ポートに伝送するように設定することができる、パケットプロセッサーを含む。パケット処理シナリオそれぞれタイミングは、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される。
パケットプロセッサーは、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始するように構成することができる。複数のパケット処理シナリオの中のパケット処理シナリオは、所与の数の受信パケットから所与の数の新しい出力パケットを生成するのに必要な一組の蓄積操作、処理操作、および送信操作を含んでもよく、パケットプロセッサーは、パケット処理シナリオに対する受信パケットが蓄積することに応答して、パケット処理シナリオをイタレーションによって実行するように構成することができる。パケット処理シナリオのイタレーションは、所与の数の新しい出力パケットを生成するのに必要な所与の数の受信パケットのペイロードの蓄積および/または生成に応答して、パケット処理シナリオに対する受信されたパケットのペイロードの処理を含んでもよい。パケット処理シナリオは、最初の蓄積受信パケットの蓄積によって定義されるパケット蓄積ウインドウの外側で蓄積を開始したパケット処理シナリオに宛てられた任意のパケットのペイロードを、デフォルトパケットペイロードに置き換えてもよい。
さらなる実施形態においては、パケットプロセッサーは、受信パケットのペイロードからデータを抽出し、そして、外部受信装置のデータ構造、例えば、外部受信装置のプロセッサーによって使用されるデータ構造と互換性のあるフォーマットを有する、新しいペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができるものであってもよい。例えば、パケットプロセッサーは、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、受信パケットに施すように設定することができるものであってもよい。チップはさらに、選択されたパケットを入力ポートから出力ポートの中から選択された出力ポートにペイロードを変更することなくルーティングするように構成された、パケットスイッチングファブリックを含んでもよい。
本発明のさらなる実施形態においては、パケットプロセッサーは、パケット内の宛先アドレスに基づいて、パケット処理シナリオを選択的に使用することができる。複数のパケット処理シナリオは、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでもよい。パケット処理シナリオは、ユーザが設定することができるものであってもよい。
本発明のさらなる実施形態によれば、第1の複数の回路カードと第2の複数の回路カードとの間でデータを伝送するためのインターフェース回路は、パケットを第1の複数の回路カードの中のそれぞれの回路カードから受信するように構成された複数の入力ポートと、パケットを第2の複数の回路カードの中のそれぞれの回路カードに送信するように構成された複数の出力ポートとを含む。例えば、複数の入力ポートは、パケットを複数のRFカードの中のそれぞれのカードから受信するように構成されてもよく、また、複数の出力ポートは、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するように構成することができる。インターフェース回路は、さらに、複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含む新しい出力パケットを生成するよう受信パケットを処理し、そして、新しい出力パケットを出力ポートに伝送するように設定することのできるパケットプロセッサーを含む。パケット処理シナリオそれぞれのタイミングは、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される。インターフェース回路は、さらに、選択されたパケットを入力ポートから出力ポートの中から選択された出力ポートにペイロードを変更することなくルーティングするように構成されたパケットスイッチングファブリックを含んでもよい。
ここで、添付の図面を参照して、本発明の例示的な特定の実施形態について説明する。しかしながら、本発明は多くの異なる形で実施されてもよく、本明細書で説明される実施形態に限定されると解釈されるべきではなく、むしろこれらの実施形態は、本明細書が完全で完璧なものになるように、また、本発明の範囲を当業者に十分に教示するために提供される。図面において、類似する符号は類似する構成要素を指示する。構成要素が、別の構成要素に「接続される」または「結合される」と表現される場合、それは当然ながら、別の構成要素に直接に接続または結合されてもよく、あるいは介在要素が存在し得ることがわかる。さらにまた「接続される」または「結合される」は、本明細書で使用される場合、無線で接続または結合されることを含んでもよい。本明細書で使用される場合、「および/または」という用語は、列挙された関連する要素の中の1つまたは複数からなるいずれかの組み合わせまたはすべての組み合わせを含む。
本明細書で使用される用語は、ただ単に特定の実施形態を説明するためのものであり、本発明を限定しようとするものではない。本明細書で使用される場合、単数形である「1つの(a)」、「1つの(an)」、および「その(前記、該;the)」は、明示的に特段の説明がなされない限り、同様に複数形も含めようとするものである。さらに、「含む(includes)」、「備える(comprises)」、「含む(including)」、および/または「備える(comprising)」という用語は、本明細書で使用される場合、記載された特徴、整数、ステップ、動作、構成要素、および/またはコンポーネントの存在を指示するものであるが、1つ以上のその他の特徴、整数、ステップ、動作、構成要素、コンポーネント、および/または、それらのグループの存在または付加を排除するものではないことがわかる。
特段の規定がなされない限り、本明細書で使用されるすべての用語(技術用語および科学用語を含む)は、本発明が属する技術分野の当業者によって一般的に理解される意味と同じ意味を有する。さらに、一般的に使用される辞書において定義されるような用語は、当然ながら、関連する分野におけるそれらの意味と一致する意味を有すると解釈されるべきであり、本明細書で明示的に特段の説明がなされない限り、理想的な意味にまたは過度に形式的な意味に解釈されるべきではないことがわかる。
図1は、本発明の実施形態によるパケット処理スイッチ集積回路(IC)チップ100を示す。チップ100は、データパケットを受信するように構成された入力ポート110を含む。入力ポート110において受信されたパケットは、パケットプロセッサー130またはスイッチングファブリック140へ選択的にルーティングされる。スイッチングファブリック140は、ペイロードを変更することなく、受信パケットをチップ100の出力ポート120へルーティングする。
パケットプロセッサー130は、入力ポート110において受信された選択されたパケットから、選択されたパケット処理シナリオ(PPSc;packet processing scenarios)132に従って、新しいペイロードを含んでいる新しいパケットを合成し、合成されたパケットは、出力ポート120を介して外部受信装置に送信される。以下で詳細に説明されるように、パケット処理シナリオ132は、ビット拡張(bit extension)、ビット切り捨て(bit truncation)、ビット並べ替え(bit reordering; 例えば、ビットインターリービングおよび/またはビット反転(flipping))、および、複数の受信パケットから得られるペイロードの組み合わせ(例えば、加算またはその他の算術演算)のような、様々なペイロード操作を含んでもよい。したがって、例えば、無線基地局などの信号サンプル処理アプリケーションにおいて使用される場合、チップ100は、ベースバンド処理のような下流側処理のために受信された信号サンプルストリームを再構成するという負荷を、例えば、ディジタル信号プロセッサー(DSP)またはチップレートプロセッサー(CRP)のような外部受信装置から除去することができる。さらに、パケット処理シナリオ132はユーザが設定できるものであってもよく、チップが、異なる様々な通信プロトコルおよび/またはメッセージングフォーマットに使用されるのを可能にする。
本明細書で説明される様々な実施形態においては、図1に示されるチップ100のようなパケット処理チップは、www.rapidio.orgで一般的に説明されるような装置間通信のための物理的および論理的な通信規格を含む、RapidIO(商標)相互接続アーキテクチャーに準拠したパケット通信を提供するように構成することができる。しかしながら、本明細書で説明される例示的な実施形態は、RapidIO(商標)に準拠したパケット処理スイッチチップおよびそれの動作に関するものであるが、本発明は、その他のパケット通信アーキテクチャーを使用することができることは明らかなことである。
図2に示されるように、本発明のさらなる実施形態によるパケット処理スイッチICチップ200は、例えば、設定レジスタ250内に定義された様々なポート構成、パケット処理シナリオ、および/またはスイッチング機能を提供できるように、ユーザが設定できるものであってもよい。設定レジスタ250は、例えば、パケットプロセッサー230によって実施されるパケット処理シナリオ232のためのパラメータ、スイッチングファブリック240の動作のためのパラメータ、および/または、入力ポート210および出力ポート220の構成のためのパラメータを記憶することができる。図示されるように、設定レジスタ250は、入力ポート210のうち1つを介して、および/または集積回路間(I2C)バスインターフェース260を介して設定されることができる。
入/出力ポートの設定変更容易性の基本概念の例が、図3に示される。図示される例においては、40個の入/出力リンク(レーン)が、4xポートまたは1xポートとしてプログラム可能であってもよい。各リンクは、例えば、RapidIO(商標)シリアル規格によって定義されるような長距離および短距離のシリアル伝送をハンドルするように構成することができる。リンク0〜3は、1つの4xポートまたは1つの1xポートとしてプログラム可能であり、リンク4〜7は、1つの4xポートまたは4つの1xポートとしてプログラム可能であり、そしてリンク20〜23は、1つの4xポートとしてプログラムされることができる。図示される例においては、各リンクは、一緒に構成される4つのリンクからなるグループの一部であり、すなわちリンク3は、リンク4、5、6、および、7と一緒に構成されることはない。ポートは、順々にリンク0からリンク40までの番号がつけられる。例えば、リンク0〜3が4xポートとして構成される場合、それらのリンク0〜3はポート0を割り当てられ、リンク4〜7が個々の1xポートとして構成される場合、それらのリンク4〜7はポート番号1〜4を割り当てられる。表1は、いくつかの例示的な構成を示す。
Figure 2008539613
再び、図2を参照すると、設定レジスタ250は、ポート構成、速度および/またはタイミング(長期/短期)、および、その他のポート特性を定義するためのレジスタを含んでもよい。これらのレジスタは、初期化手順中に、例えばI2Cバスインターフェース260を介してプログラムされることができる。ある実施形態においては、I2Cインターフェース260は使用されなくてもよく、その代わりに、入力ポート210を介して受信されたパケットが装置設定に使用することができる。そのような実施形態においては、入力ポート210は、設定のソースとの通信を可能にするためにデフォルト(例えば、電源オン)設定を有することができる。この初期設定は、最終的に望ましい設定ではなくてもよいが、望ましい設定をプログラムできるようにチップとの通信を開始するのを可能にすることができるものである。例示的な電源オン設定が図4に示され、ここでリンク0は、1.25Gb/sで動作する1xポート0であるようにセットされ、リンク4〜7は、1.25Gb/sで動作する1xポート1〜4であるようにセットされ、そして残りのリンクは、1.25Gb/sで動作する4xポートに割り当てられる。
図5は、本発明のさらなる実施形態によるパケット処理スイッチICチップ500のための例示的なパケットフローアーキテクチャーを示す。チップ500は、外部ソースからパケットを受信する入力FIFO512を含む入力ポート510を含む。受信パケットは、以下でより詳細に説明されるように、例えばその中の宛先アドレスを用いて、入力FIFO512からパケットプロセッサー530またはスイッチングファブリック540に転送される。パケットプロセッサー530およびスイッチングファブリック540は、それぞれ、合成されたパケットまたはペイロード非変更パケットを、出力FIFO524および関連するマルチプレクサ522を含むように示される出力ポート520へルーティングする。
図示された実施形態のために、受信パケットが、その中に優先順位フィールドを含むRapidIO(商標)パケットであると仮定すると、スイッチングファブリック540に宛てられる受信パケットは、受信パケット内の優先順位情報に基づいて、入力バッファー542に記憶され、そして、入力バッファー542の優先順位構造に従ってパケットスイッチ544に提供されることができる。入力バッファー542のそれぞれのグループは、入力ポート510のそれぞれのポートに対応する。入力バッファー542のそれぞれのグループの優先順位構造は、ユーザが設定できるものであってもよい。例えば、あるバッファーは、RapidIO(商標)優先順位レベル0〜3の中の異なるレベルを有するパケットを受信するように(例えば、設定レジスタを用いて)割り当てられてもよい。スイッチ544は、パケットを入力バッファー542から出力バッファー546の複数の優先順位構造グループの中の様々なグループへルーティングし、出力バッファー546のグループの中のそれぞれのグループは、出力ポート520の中のそれぞれのポートに対応する。
パケットプロセッサー530においては、パケット処理シナリオ534において処理されるべき受信パケットは、入力バッファー532に記憶される。パケット処理シナリオ534は、記憶された受信パケットからパケットを合成する。合成されたパケットは、出力バッファー536に記憶され、その出力バッファー536のそれぞれのグループは、出力ポート520のそれぞれのポートに対応する。合成されたパケットは、受信パケットから取り出された優先順位情報を含んでもよい。出力バッファー536および546に記憶されたパケットは、例えばラウンドロビンスケジューリングアルゴルズムを用いて、出力ポート520へルーティングされることができる。
図6に示される本発明の特定の実施形態によれば、受信パケット600をパケットプロセッサー610またはスイッチングファブリック620へルーティングすることは、受信パケットに含まれる宛先アドレス601に基づいて制御することができる。より詳細には、宛先アドレスそれぞれが、パケットプロセッサー610によってサポートされるパケット処理シナリオ612それぞれのために確保(reserve)されてもよく、その他のアドレスは、スイッチングファブリック620にマッピングされる。そのようなアプローチは、パケットプロセッサー610による操作が送信装置および/または受信装置に対してトランスペアレントであることは望ましいことでありうるので、有益なものである可能性がある。
図7に示されるように、パケットプロセッサーによって実行されるパケット処理シナリオは、個別パケット処理シナリオ710およびグループパケット処理シナリオ720を含んでもよい。個別パケット処理シナリオ710が入力パケット700の特定の宛先アドレス701に割り当てられてもよい。個別パケット処理シナリオは、例えば、設定レジスタ(例えば、図2のレジスタ250)を用いて、ユーザが設定できるものであってもよい。そのような設定レジスタは、例えば、特定のパケット処理シナリオのためのペイロードフォーマットとパケットペイロードに対して実行される処理とを定義することができる。グループパケット処理シナリオアドレス720は、それに割り当てられた別の宛先アドレス710を有することができる。図示されるように、グループパケット処理シナリオ720は、並列処理するために、受信パケットを個別パケット処理シナリオ710からなるグループにマルチキャストするのに使用することができる。個別パケット処理シナリオ710のそのようなグループ化は、例えば設定レジスタを用いて設定できるものであってもよい。
図8は、本発明のある実施形態による例示的なパケット処理シナリオ800を示す。シナリオ800はサンプル処理ブロック810を含み、そのサンプル処理ブロック810は、シナリオ800の設定に依存して、個々のチャネル(例えば、アンテナ)に対応するサンプルをキューイングブロック820内の個々のキュー内にキューイングする前に、サンプル内のビットの数を増加させ(パディング)あるいは減少させるような、および/または、ビットおよび/またはサブサンプルの順序を反転させるような、初期サンプルレベル処理およびサブサンプルレベル処理を含んでもよい。キューイングされたサンプルは、処理されたサンプルから合成された新しいパケットを生成するパケット組み立てブロック830に送信する前に、サンプル処理ブロック810においてさらに処理されることができる。
パケット処理シナリオは、例えば、M個のチャネルに対応するパケットを受信してもよく、それぞれのパケットにおいて、チャネル当たりN個の信号サンプルを備え、かつこの構造のR個の反復(repetitions)を備える。パケットオーバーヘッドが終了した後、パケットプロセッサー入力バッファーに記憶されたパケットペイロードは、図9に示されるようになり、ここでペイロードは、確保されたユーザフィールド(すなわち、処理されないフィールド)および信号サンプルA111,...,ARMN;B111,...,BRMN;...,X111,...,XRMNを含む。図10に示されるように、サンプルA111,...,ARMN,B111,...,BRMN,...,X111,...,XRMNのそれぞれは、複数のサブサンプル、例えば、IチャネルサブサンプルI0,...,IB-1、および、QチャネルサブサンプルQ0,...,QB-1を含んでもよい。それぞれのパケット処理シナリオおよび/またはそれぞれのシナリオにおいて実行される処理によって認識されるサンプルフォーマットは、レジスタが設定できるものであってもよい。
ビット拡張処理/ビット切り捨て処理のほかに、サンプル処理810は、サブサンプルの順序および/またはサンプル内のビットの順序を並べ替えるような、並べ替え処理を含んでもよい。例えば、サンプルは4ビットのIおよび4ビットのQであると仮定すると、サンプル処理810は、IサブサンプルおよびQサブサンプルを個々に以下のように反転させることを含んでもよい。
入力:I01230123
出力:I32103210
サンプル処理810は、また、サンプル内のサブサンプルの順序を以下のように並べ替えてもよい。
入力:I01230123
出力:Q01230123
サンプル処理810は、また、IビットおよびQビットを以下のようにインターリーブすることができる。
入力:I01....IB-101....QB-1
出力:I0011....IB-1B-1
サンプル処理810におけるこれらのおよびその他の処理は、サンプル完全性を維持するために、特定の順序で実行されなければならない可能性がある。例えば、入力サンプルはIQフォーマットを有し、IQインターリーブされ、かつ、それぞれのIサブサンプルおよびQサブサンプルは6ビットを有すると仮定すると、インターリーブされ、IQ反転され、符号拡張された出力を生成するためには、処理は、以下のように実行されなければならない可能性がある。
入力:I001122334455
IとQをデインターリーブ:I012345012345
LSBから8ビットに符号拡張:I0123455501234555
反転:I5554321055543210
IQ順序の変更:Q5554321055543210
IQ出力インターリーブ:Q5555554433221100
図9に示されるように、初期処理の後、M個のチャネルのそれぞれに対応するサンプルが、キューのそれぞれに配置される。
所与のパケット処理シナリオは、また、図12に示されるように、複数のパケットからのペイロードに加算またはその他の算術演算を施すように構成することができる。より詳細には、図13に示されるように、新しい組のキュー1320が、別のキュー1310に記憶された複数のポートからのサンプルを加算することによって得られた加算結果を保持するために構築されることができる。加算が特定のシナリオに含まれる場合、デインターリービングおよびビット拡張またはビット除去のようなサンプル処理のある種のビット操作処理は、加算の前に実行されなければならない可能性があるが、反転、I−Qの配列、および、インターリービングのようなその他の処理は、加算の後に実行されなければならない可能性がある。
ここで、図14〜図20を参照して、本発明のある実施形態による無線基地局環境におけるパケット処理スイッチチップの使用例について説明する。これらの例は説明のために提供されること、および、本発明は説明される特定の動作およびアーキテクチャーに限定されないこと、あるいは、より一般的には無線機器に使用されることに限定されないことは、明らかなことである。
典型的な無線基地局アーキテクチャーが図14に示され、ここで、4つのRFカード1410a、1410b、1410c、1410dは、無線信号サンプルを含むパケットを、パケット処理スイッチ(PPS)チップ1420のそれぞれの入力ポート1421に提供する。チップ1420は受信パケットのペイロードを処理し、それぞれのディジタル信号プロセッサー/チップレートプロセッサー(DSP/CRP)1430a、1430b、1430cに、それぞれの出力ポート1422を介して送信されるパケットを生成する。DSP/CRP1430a、1430b、1430cは、例えば、RFカード1410a、1410b、1410c、1410dによって生成された信号サンプルに対して、復調および復号化のような所定のベースバンド処理機能を施すように構成することができることは、明らかなことである。図15〜図20に示される以下の例のために、それぞれのRFカード1410a、1410b、1410c、1410dは、カードごとにアンテナAおよびアンテナBとして指示される2つのアンテナチャネルを有する。それぞれのI成分およびQ成分は、ビットインターリービングされない8ビット(1バイト)であると仮定される。同一アンテナからのシリアルパケット内の隣接サンプルの数は2であり、繰り返し回数は2である。それぞれのRFカードからのそれぞれのパケットは、アンテナAからの4個のサンプルとアンテナBからの4個のサンプルとを含む8個のサンプルを含む。それぞれの入力ポート1421上でPPSチップ1420に入力するパケットは、図15に示されるようになる可能性がある。ビット拡張/除去処理のような何らかの前処理は示されない。図16は、前処理の後にそれぞれのチャネルに対して生成されるキュー0〜7を示す。
本発明のある実施形態によるパケット処理の第1の例が、図17に示される。単一パケットが、サンプルを加算することなく、キュー1〜7のすべてから合成される。合成されたパケットは、出力ポート20、22、および23に送信され、ターゲット装置内の特定のメモリーアドレスへ宛てられる。
本発明のさらなる実施形態によるパケット処理の第2の例が、図18に示される。合成された複数のパケットが、図16に示されるキュー0〜7から生成され、それぞれの合成されたパケットは、それぞれのキューからの4つのサンプルを含む。すべての合成されたパケットは、出力ポート20、22、および23に送信され、それらのそれぞれは、ターゲット装置のそれぞれのメモリーアドレスへ宛てられる。
用途によっては、ユーザは、異なるパケットを異なる宛先グループに送信したい可能性がある。これを行うために、ユーザは、上で図7を参照して説明されたようなアドレス方式を用いて、パケットをグループパケット処理シナリオアドレスに送信することができる。これは、複数パケット処理シナリオの並列動作をもたらし、それぞれの入力パケットは、複数のシナリオのそれぞれによって受信される。シナリオは、独立してパケットを処理し、異なるパケットを生成し、それらを異なるポートに送信することができる。
本発明のさらなる実施形態によるそのようなマルチパケットツーマルチ宛先パケット処理の例が、図19に示される。ユーザは、2つの個別パケット処理シナリオにマッピングするグループパケット処理シナリオであることを指定されたパケットを送信する。第1のシナリオは、キュー0、2、4、および6から入力を受け取る。第1のシナリオによって生成されるパケットは、出力ポート20および22に送信される。第2のシナリオは、キュー1、3、5、および7から入力を受け取る。第2のシナリオによって生成されるパケットは、出力ポート23に送信される。
図20は、加算が可能にされる例を示す。加算が可能にされると、それぞれのチャネルが加算されて新しいキューが生成される。結果として得られる合成されたパケットは、出力ポート20、22、および23に送信される。
再び図1を参照すると、パケット処理スイッチICチップ100の入力ポート110のいずれかにおいて受信されたパケットは、パケットプロセッサー120における処理を必要とするパケット(例えば、信号サンプルパケット)、またはペイロードを変更されることなくスイッチングファブリック130によって転送されるべきパケットであってもよい。さらに、異なるパケット処理シナリオ132に対するパケットは、入力ポートのいずれかにおいて多重化されることができる。一般的には、パケットプロセッサー130における動作は、望ましいデータレートを維持するために、またその他のタイミング基準を満たすために、同期させられることが望ましい。ここで、図21〜図26を参照して、パケット処理操作を同期させるための例示的な処理について説明する。
本発明のある実施形態によれば、パケットプロセッサーは、動的パケット蓄積アプローチを用いて動作する。特定のシナリオを完了するのに必要なすべての入力パケットが装置に蓄積されると、それらのパケットは処理され、シナリオに対応する1つ以上の出力パケットが形成される。そして出力パケットは、シナリオに対応する出力ポートから送信される。ある実施形態においては、それぞれのパケット処理シナリオは、処理区間ごとに1入力パケット/1ポートを処理し、そしてすべての入力パケットは、実質的に同じデータレートで実行される特定のシナリオによって使用され、かつ、同じサイズおよびフォーマットを有する。
ある実施形態においては、動的パケット蓄積は、蓄積イベントおよび処理イベントに応答して遷移する状態機械を用いて実施することができる。それぞれのシナリオは、パケットを提供する入力ポートを認識することによって(例えば、図2に示される設定レジスタ250のような設定レジスタを介して)設定されることができる。図21を参照すると、状態機械の初期化(ブロック2105)の後、シナリオに対するパケットが蓄積を開始する(ブロック2110)。図示される実施形態においては、当該シナリオが指定されたすべてのパケットが最初に到着したパケットに対する蓄積時間内に蓄積を始めなければならず、最初のパケットが蓄積を完了した後に到着する任意のパケットのペイロードは、デフォルトペイロードに置き換えられる(ブロック2115、2120、2125)。最初に到着したパケットの蓄積時間によって定義される蓄積ウインドウ内で蓄積を開始しなければならないという条件を満たすすべてのパケットが蓄積を完了した後、それらのパケット(すなわち、蓄積されたパケット、および場合によっては、何らかの置き換えられたパケット)が処理され、1つ以上の出力パケットが生成され(ブロック2130、2135)、そしてそれらの出力パケットは送信される(ブロック2140)。これまでに受信されたパケットの処理が開始する前に、新しい蓄積期間(ブロック2110)が開始することができる。
パケット処理シナリオは、例えば初期化レジスタへの書き込み、またはその他の何らかの初期化信号によって初期化することができる。そして、パケット処理シナリオに対応するその後に受信されるパケット(例えば、シナリオのアドレスに宛てられたパケット)は、シナリオへの最初のパケットとみなすことができる。
図22はシナリオ0〜4を示し、それらのシナリオ0〜4は、それぞれの開始信号Init1〜Init4を送信することによって、互いに独立に同期させられてもよい。初期化信号が、上で図7を参照して説明されたようなグループパケット処理シナリオに送信される場合、関係するすべての個別パケット処理シナリオが初期化することができる。1つの入力ポートが複数のシナリオに使用される場合、複数のシナリオに対する初期化信号は、同じポート上または別個のポート上で受信することができる。パケット処理シナリオの初期化信号を受信した後、そのシナリオはパケットの蓄積を開始し(斜線部分で示されるように)、それに続いて蓄積したパケットが処理され、新しいパケットが合成される。図22に示されるように、ある所与のシナリオに対するパケットの蓄積は、そのシナリオに最初に到着したパケットを蓄積し始めることから開始する。一般的には、シナリオは同時に開始しなくてもよい。さらなる実施形態においては、「グローバル」初期化が、図23に示されるように、例えばグローバル初期化レジスタに書き込むことによって、および/または、初期化信号を同時にすべてのパケット処理シナリオに提供することによって、実施することができる。グローバル初期化信号は、どのポートを介してでも入力することができる。
異なるシナリオは、サイズおよび必要とされるパケット処理に対応する異なる待ち時間を有することができる。一般的には、処理時間は、シナリオに送信されるデータの量(パケットのサイズおよび入力ポートの数)、および計算の種類(サンプル操作、加算など)に依存する。
図24は、5つのシナリオ0〜4が動作している例を示す。シナリオ0は、ポート0上における第1のパケットの到着とポート2上における第2のパケットの到着との間に間隙を有し、パケットを所与のポートから所与のシナリオにどのくらいの頻度で送信することができるかを、処理時間が決定する可能性があることを示す。より詳細には、シナリオ0の第1のイタレーションに対する処理2410は、シナリオ0のその後の第2のイタレーション2420に対するパケットが蓄積することと同時に発生することができる。シナリオ2は、シナリオ2がより小さいパケットサイズおよびより長い処理時間を有すること(これは、シナリオ2に対するパケットは、シナリオ0に対するパケットよりも低いレートで送信されることを意味する)を除けば、シナリオ0に類似する。ポート1およびポート4は、複数のシナリオ1、3、および4を指定されたパケットを受信し、ポートは、処理区間中に異なるシナリオに対するパケットを送信することによって特定のシナリオに対する処理時間を「隠す」ことによって、より効率的に使用することができることを示す。ポート1およびポート4上において複数のシナリオに対するパケットを多重化することによって、スループットが増大する可能性がある。
上述した動的パケット蓄積は、システム同期における大きな柔軟性を提供することができる。本発明のある実施形態によれば、パケット処理シナリオは、シナリオごとの蓄積段階を開始するために、最初のパケットが到着するのを待つ。これは、装置に接続された送信機を動作させる前に、パケットプロセッサーを初期化するのを可能にする。なぜなら、それぞれのシナリオは、パケットを受信し始めた後に動作し始めるからである。
ペイロードを処理しなくてもよい「標準的な」パケット(例えば、図1のスイッチングファブリック130のようなスイッチングファブリックによってルーティングされるべきパケット)が、ペイロードを処理しなければならないパケットを受信しているポートに送信される場合、標準的なパケットは、ポートのアイドル時間(例えば、処理時間)中に受信することができる。このことが図25に示され、ここで標準的なパケットは、パケット処理シナリオPPSc1〜3に宛てられたパケットと多重化される。ポートが、標準的なパケットを「収容」するのに十分なアイドル時間を有していなければ、ユーザは、ペイロードを処理されるべきパケットのためのポートを排他的に提供し、標準的なパケットのためのポートを分離することができる。
パケットの蓄積は、最初のパケットの到着によって定義される蓄積ウインドウに制限することができる。この条件は、図26に示されるように、同じシナリオへ入力するパケットの有効到着ウインドウをリンクのデータレートに関連づけることができる。図示されるように、ポート2上のグループPPSc0グループ0のパケットが最初に到着し、そして、同じシナリオPPSc0に宛てられたその他のすべてのパケットに対する有効到着ウインドウを決定する。図示されるように、ポート5上の同じグループからのパケットは遅く、ポート2上のパケットが蓄積した後に到着する。ポート5上のパケットは無視されてもよく、例えばすべてのゼロの値(または、その他の何らかの値)が、処理中にその場所に使用することができる。次の蓄積ウインドウは、それまでのすべての有効なグループ0パケットが処理を終了した後、グループPPSc0グループ1の最初のパケットが到着したことによって始まる。上述したように、次のグループのパケットがパケットプロセッサー内に到着した到着時刻は、それまでのグループの処理時間によって決定することができる。
本発明のさらなる実施形態においては、時分割多重(TDM)モードの動作が、パケットプロセッサーにおけるすべての動作中のシナリオの最も長い処理時間によって決定される時刻にパケットを送信することによって、実施することができる。図27を参照すると、パケット処理シナリオPPSc0〜3に対するすべてのパケットの到着時刻は、図27に示されるウインドウ2710が、すべてのシナリオの最も長い処理時間をサポートできる程度に十分に広くなるように制御することができる。パケットプロセッサーは、装置がTDMモードで動作していることがわかるようにするために、シナリオPPSc0〜3からの出力パケットの送信を制御するように設定されることができる。より詳細には、装置は、出力パケットの処理が完了した後にパケットの次の入力グループの蓄積を開始することによって、出力パケットの送信を開始することができる。
図28は、本発明のさらなる実施形態によるパケットプロセッサー2800(例えば、図1のパケット処理スイッチ100のようなパケット処理スイッチにおいて使用するためのパケットプロセッサー)の別の構成を示す。パケットプロセッサー2800は、入力パケットを記憶するように構成された入力パケットバッファー2810を含む。FIFO読み込みコントローラ(FRC)2820は、ポインターテーブル2830によって指示される入力パケットバッファー2810から、データ(例えば、受信されたメッセージのペイロードからの信号サンプル)を読み込む。ポインターテーブル2830は、入力パケットバッファー2810内の入力データロケーションを、出力パケットバッファー2850内の出力データロケーションに関連づける。プロセッサー2840は、パケット処理シナリオ(PPSc)設定レジスタ2860に記憶された情報によって指示されるサンプル操作を実行する。プロセッサー2840によって出力される処理されたデータが、そのデータから出力パケットを組み立てる出力パケットバッファー2850に書き込まれる。
図29は、本発明のさらなる実施形態による、上で図28を参照して説明されたようなパケットプロセッサーの例示的な構成を示す。パケットプロセッサー2900は、複数のポート(図示しない)からパケットを受信するように構成された入力バッファー2905を含む。同期監視モジュール2910は、入力パケットのタイミングを監視し、入力バッファー2905に記憶されたパケットにアクセスするFRC2920を介して、その入力パケットからヘッダー情報を抽出する。抽出されたヘッダー情報は、入力バッファー2905によって受信された入力パケット内のペイロード情報を処理することによって生成されたペイロード情報を含む出力パケットを組み立てるのに使用するために、パケットフレーマー2965に提供される。
FRC2920は、サンプルカウンターおよびFRC制御ユニット2915によって生成された制御信号に応答して、入力バッファー2905に記憶されたパケットにアクセスする。サンプルカウンターおよびFRC制御ユニット2915は、同期監視モジュール2910によって生成されたエラー情報および制御情報、ポインターテーブル2950からのアドレス情報、および、入力/出力サンプル設定メモリー2970の設定レジスタから得られるパケット処理シナリオ制御情報に応答して、制御信号を生成する。FRC2920は、ペイロードデータを入力バッファー2905から一組の第1のビット操作器2925に転送し、その第1のビット操作器2925は、入力/出力サンプル設定メモリー2970に記憶されたパケット処理シナリオ制御情報によって指示される、デインターリービング処理、符号拡張処理、および/または、ビット除去処理を実行する。
データ多重加算ユニット2930は、入力/出力サンプル設定メモリー2970に記憶されたパケット処理シナリオ制御情報によって指示される加算処理を実行し、さらにまた、加算出力の動的/飽和レンジングを実行することができる。データ多重加算ユニット2930の出力は、ビット操作器2935に提供され、そのビット操作器2935は、入力/出力サンプル設定メモリー2970に記憶されたパケット処理シナリオ制御情報によって指示されるような、反転処理(例えば、MSB/LSB)、IQ配列処理、および/または、IQインターリービング処理を実行する。ビット操作器2935は、アドレスおよびマスクとともに、処理されたデータを出力パケットメモリー2940に提供する。データは、出力パケットメモリー2940からパケットフレーマー2965に転送され、そのパケットフレーマー2965は、サンプルカウンターおよびFRC制御ユニット2915と出力パケット宛先メモリー2960とからのヘッダー情報を用いて、新しいパケットを組み立てる。
図26を参照して上述したように、パケットの蓄積は、最初のパケットの到着が完了したことによって定義される蓄積ウインドウに制限されてもよく、それによって、同じシナリオへ入力するパケットの有効到着ウインドウはリンクのビットレートに依存する。本発明の別の実施形態によれば、パケットプロセッサーは、パケットのためのビットレートに依存しない期間を備えた固定パケット蓄積ウインドウを使用することができる。したがって、図30に示されるように、第1のビットレートおよび第2のビットレートでそれぞれ転送されるパケット3010および3020は、それらが蓄積される異なるビットレートに関係なく同じ処理を受け取る可能性がある。そのような有効蓄積ウインドウの外側に到着するパケットは、図26を参照して上述したパケットと同じように処理されてもよく、例えば、そのようなパケットは無視され、予め定められたパケットに置き換えられてもよい。しかしながら、そのようなアプローチを使用することは、あまりにも多くのパケットが所与のウインドウに到着するために、処理に過負荷をもたらす可能性がある。本発明のさらなる実施形態によれば、これは図30にも示されるように、先行する有効到着ウインドウが終了した後に新しい有効到着ウインドウの開始を予め定められた時間期間だけ禁止することによって、回避することができる。この時間期間は、固定されたものであってもよく、あるいは、ユーザが設定できるもの(例えば、プログラマブル)であってもよいことがわかる。代わりとなる別の実施形態は、予め定められた時刻に発生する有効到着ウインドウ、すなわち、それらのウインドウの開始を定義するための最初のパケットの到着に依存しないウインドウを定義することを含んでもよく、それは、過負荷を防止するのに十分な期間だけ分離することができる。
上述したパケット処理スイッチアーキテクチャーは説明のための例であること、また、その他のパケット処理スイッチアーキテクチャーは本発明の範囲内に存在することは、明らかなことである。より一般的には、図面および明細書においては、本発明の例示的な実施形態が開示された。特定の用語が使用されたが、それらは、ただ単に一般的かつ記述的な意味で使用されたものであり、限定するためのものではなく、本発明の範囲は添付の特許請求の範囲に規定される。
本発明のある実施形態によるパケット処理スイッチ集積回路チップを示す概略図である。 本発明のさらなる実施形態によるパケット処理スイッチ集積回路チップを示す概略図である。 本発明のある実施形態によるパケット処理スイッチのための例示的なポート構成を示す図である。 本発明のある実施形態によるパケット処理スイッチのための例示的なポート構成を示す図である。 本発明のある実施形態によるパケット処理スイッチのための例示的なパケットフローアーキテクチャーを示す図である。 本発明のさらなる実施形態によるパケット処理スイッチにおいてパケットをルーティングするためにパケット宛先アドレスを使用することを説明する図である。 本発明のさらなる実施形態によるパケット処理スイッチにおいてパケットをルーティングするためにパケット宛先アドレスを使用することを説明する図である。 本発明のある実施形態による例示的なパケット処理シナリオ構造を示す図である。 本発明のある実施形態とともに使用することができる例示的なパケットペイロードフォーマットを示す図である。 本発明のある実施形態とともに使用することができる例示的なパケットペイロードフォーマットを示す図である。 本発明のさらなる実施形態によるパケットプロセッサーの例示的なチャネルキューを示す図である。 本発明のある実施形態によるパケットプロセッサーの例示的な加算処理を示す図である。 本発明のある実施形態によるパケットプロセッサーの例示的な加算処理を示す図である。 本発明のさらなる実施形態による例示的なパケット処理スイッチインターフェース回路の使用例を示す図である。 図14に示される使用例におけるソースのカードのための例示的なパケット構造を示す図である。 図15に示されるパケットから構成される例示的なサンプルキューを示す図である。 本発明の様々な実施形態による様々なパケット処理シナリオによって図15のパケットから生成される、例示的な出力パケットを示す図である。 本発明の様々な実施形態による様々なパケット処理シナリオによって図15のパケットから生成される、例示的な出力パケットを示す図である。 本発明の様々な実施形態による様々なパケット処理シナリオによって図15のパケットから生成される、例示的な出力パケットを示す図である。 本発明の様々な実施形態による様々なパケット処理シナリオによって図15のパケットから生成される、例示的な出力パケットを示す図である。 本発明のある実施形態によるパケットプロセッサーの例示的な動作を説明する図である。 本発明のさらなる実施形態による例示的なパケット処理初期化動作を説明する図である。 本発明のさらなる実施形態による例示的なパケット処理初期化動作を説明する図である。 本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。 本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。 本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。 本発明のある実施形態によるパケット処理シナリオのための例示的なタイミング関係を示す図である。 本発明のさらなる実施形態によるパケットプロセッサーおよびそれの例示的な動作を示す図である。 本発明のさらなる実施形態によるパケットプロセッサーおよびそれの例示的な動作を示す図である。 本発明のさらなる実施形態によるパケット処理のための例示的な動作を説明する図である。

Claims (91)

  1. 外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
    外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
    入力ポートから、出力ポートの中から選択されたポートへと選択されたパケットをルーティングするようにされたパケットスイッチングファブリックと、
    選択されたパケットを入力ポートから受信し、パケットから新しいペイロードを含んでいる新しいパケットを組み立てて、新しいパケットを出力ポートの中から選択されたポートへルーティングするようにされたパケットプロセッサーと
    を備えてなるパケットスイッチング集積回路チップ。
  2. パケットプロセッサーが複数のパケット処理シナリオをサポートする請求項1に記載のチップ。
  3. パケットプロセッサーがパケット内の宛先アドレスに基づいて選択的にパケット処理シナリオを使用する請求項2に記載のチップ。
  4. 複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項2に記載のチップ。
  5. パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、請求項2に記載のチップ。
  6. パケットプロセッサーが初期化信号に応答してパケット処理シナリオに対するパケットの蓄積を開始するように構成されている請求項5に記載のチップ。
  7. パケット処理シナリオはユーザが設定することができるものである請求項2に記載のチップ。
  8. パケットプロセッサーおよびスイッチングファブリックが、パケット内の宛先アドレスに基づいて、入力ポートからパケットを受信するように構成されている、請求項1に記載のチップ。
  9. パケットプロセッサーによって生成されたパケットが、それらのパケットが生成された受信パケット内の宛先アドレスに基づいて宛先をアドレス指定される、請求項1に記載のチップ。
  10. パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項1に記載のチップ。
  11. パケットスイッチングファブリックおよび/またはパケットプロセッサーが、パケット内の優先順位識別子に従ってパケットをルーティングするように設定されている請求項1に記載のチップ。
  12. パケットスイッチングファブリックが、
    入力バッファーの複数の組であって、入力ポートの中のそれぞれのポートからのパケットを、入力バッファーの組の中のそれぞれの組が受信してパケット内の優先順位識別子に従って記憶するようにされている前記入力バッファーの複数の組と、
    パケットを受信して出力ポートの中のそれぞれのポートに転送するようにされた出力バッファーの複数の組と、
    パケット内の宛先アドレスに基づいて、かつ、入力バッファーの優先順位識別子に従って、パケットを入力バッファーから出力バッファーに転送するようにされたスイッチと
    を備えてなる請求項11に記載のチップ。
  13. 入力バッファーの優先順位識別子はユーザが設定できるものである請求項13に記載のチップ。
  14. 入力ポートおよび出力ポートがユーザが設定することのできる帯域幅を有する請求項1に記載のチップ。
  15. パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および/または出力ポートが、入力ポートの中の少なくとも1つを介して設定することができるものである、請求項1に記載のチップ。
  16. 集積回路間(I2C)バスインターフェースをさらに備え、パケットプロセッサー、パケットスイッチングファブリック、入力ポート、および/または出力ポートが、I2Cバスインターフェースを介して設定することができるものである、請求項1に記載のチップ。
  17. 受信パケットおよび新しいパケットがRapidIO(商標)(RIO)に準拠したパケットである請求項1に記載のチップ。
  18. 第1の複数の回路カードと第2の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
    第1の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
    パケットを第2の複数の回路カードの中のそれぞれの回路カードに送信するようにされた複数の出力ポートと、
    入力ポートから、出力ポートの中から選択されたポートへと選択されたパケットをルーティングするようにされたパケットスイッチングファブリックと、
    選択されたパケットを入力ポートから受信し、パケットから新しいペイロードを含んでいる新しいパケットを組み立てて、該新しいパケットを出力ポートの中から選択されたポートへルーティングするようにされているパケットプロセッサーと
    を備えるインターフェース回路。
  19. パケットプロセッサーが、信号サンプル処理操作を受信パケットに施すように設定することができるものである、請求項18に記載のインターフェース回路。
  20. 信号サンプル処理操作が、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を含んでいる、請求項19に記載のインターフェース回路。
  21. 信号サンプル処理操作が無線信号サンプル処理操作を含んでいる、請求項19に記載のインターフェース回路。
  22. 入力ポート、出力ポート、パケットプロセッサー、および/またはスイッチングファブリックが、ユーザが設定することができるものである、請求項18に記載のインターフェース回路。
  23. 受信パケットおよび新しいパケットがRapidIO(商標)(RIO)に準拠したパケットである請求項18に記載のインターフェース回路。
  24. 複数の外部ソースからパケットを受信して、受信パケット内のデータを複数の外部受信装置に選択的に転送するようにされたパケットスイッチング集積回路チップであって、第1の受信パケットを変更することなく転送して、第2の受信パケットを終結し、第2の受信パケット内のデータを前処理し、新しいパケットを生成するようにさらに構成されているパケットスイッチング集積回路チップ。
  25. 第2の受信パケット内の宛先アドレスに基づいて、第2の受信パケットを終結しおよび前処理するようにされた請求項24に記載のチップ。
  26. 信号サンプル処理操作を第2の受信パケットに施すようにされた、請求項24に記載のチップ。
  27. 外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
    外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
    複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って、新しいペイロードを含んでいる新しいパケットを生成するよう受信パケットを処理するようにされたパケットプロセッサーと
    を備えてなるパケット処理集積回路チップ。
  28. 複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによるパケットの並列処理をもたらすグループパケット処理シナリオとを含んでいる、請求項27に記載のチップ。
  29. パケットプロセッサーが、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、受信パケットのペイロードからデータを抽出し、かつ抽出されたデータを処理するように設定することができるものである、請求項27に記載のチップ。
  30. パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項27に記載のチップ。
  31. パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、請求項27に記載のチップ。
  32. パケットプロセッサーが、初期化信号に応答してパケット処理シナリオに対するパケットの蓄積を開始するようにさている、請求項31に記載のチップ。
  33. パケット処理シナリオはユーザが設定することができるものである請求項27に記載のチップ。
  34. パケットプロセッサー、入力ポート、および/または出力ポートが、入力ポートの中の少なくとも1つを介して設定することができるものである、請求項27に記載のチップ。
  35. 集積回路間(I2C)バスインターフェースをさらに備え、パケットプロセッサー、入力ポート、および/または出力ポートが、I2Cバスインターフェースを介して設定することができるものである、請求項27に記載のチップ。
  36. 受信パケットおよび新しいパケットが、RapidIO(商標)(RIO)に準拠したパケットである、請求項27に記載のチップ。
  37. 選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされた、パケットスイッチングファブリックをさらに備える、請求項27に記載のチップ。
  38. 第1の複数の回路カードと第2の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
    第1の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
    第2の複数の回路カードの中のそれぞれの回路カードにパケットを送信するようにされた複数の出力ポートと、
    複数のパケット処理シナリオの中から受信パケット内の宛先アドレスに基づいて選択されたシナリオに従って新しいペイロードを含んでいる新しいパケットを生成する受信パケットを処理するようにされたパケットプロセッサーと
    を備えるインターフェース回路。
  39. 複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによるパケットの並列処理をもたらすグループパケット処理シナリオとを含んでいる、請求項38に記載のインターフェース回路。
  40. パケットプロセッサーが、第2の複数の回路カード上に存在するプロセッサーのデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、受信パケットのペイロードからデータを抽出して、抽出されたデータを処理するように設定することができるものである、請求項38に記載のインターフェース回路。
  41. パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項38に記載のインターフェース回路。
  42. パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、請求項38に記載のインターフェース回路。
  43. パケット処理シナリオが、ユーザが設定することができるものである、請求項38に記載のインターフェース回路。
  44. 選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項38に記載のインターフェース回路。
  45. 複数の入力ポートが、パケットを複数のRFカードの中のそれぞれのカードから受信するようにされ、
    複数の出力ポートが、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するようにされた、
    請求項38に記載のインターフェース回路。
  46. 外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
    外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
    受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理し、そして新しいパケットを出力ポートに伝送するように設定することができる、パケットプロセッサーと
    を備えるパケット処理集積回路チップ。
  47. パケットプロセッサーが、新しいパケットのペイロードを生成するために、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、抽出されたペイロードに施すように設定することができるものである、請求項46に記載のチップ。
  48. データ構造がプロセッサーデータ構造を含む請求項46に記載のチップ。
  49. パケットプロセッサーが複数のパケット処理シナリオをサポートする、請求項46に記載のチップ。
  50. パケットプロセッサーが、パケット内の宛先アドレスに基づいて選択的にパケット処理シナリオを使用する、請求項49に記載のチップ。
  51. 複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項49に記載のチップ。
  52. パケット処理シナリオがユーザが設定することができるものである請求項49に記載のチップ。
  53. 選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされたパケットスイッチングファブリックをさらに備える請求項46に記載のチップ。
  54. 集積回路間(I2C)バスインターフェースをさらに備え、パケットプロセッサー、入力ポート、および/または出力ポートが、I2Cバスインターフェースを介して設定することができるものである、請求項46に記載のチップ。
  55. 受信パケットおよび新しいパケットが、RapidIO(商標)(RIO)に準拠したパケットである、請求項46に記載のチップ。
  56. 第1の複数の回路カードと第2の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
    第1の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
    パケットを第2の複数の回路カードの中のそれぞれの回路カードに送信するようにされた複数の出力ポートと、
    受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有するペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理して、新しいパケットを出力ポートに伝送するように設定することができるパケットプロセッサーと
    を備えるインターフェース回路。
  57. パケットプロセッサーが、新しいパケットのペイロードを生成するために、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、抽出されたペイロードに施すように設定することができるものである、請求項56に記載のインターフェース回路。
  58. パケットプロセッサーが複数のパケット処理シナリオをサポートする、請求項56に記載のインターフェース回路。
  59. パケットプロセッサーが、パケット内の宛先アドレスに基づいて選択的にパケット処理シナリオを使用する、請求項58に記載のインターフェース回路。
  60. 複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項58に記載のインターフェース回路。
  61. パケット処理シナリオが、ユーザが設定することができるものである、請求項58に記載のインターフェース回路。
  62. 選択されたパケットを入力ポートから出力ポートの中から選択されたポートにペイロードを変更することなくルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項56に記載のインターフェース回路。
  63. 複数の入力ポートが、パケットを複数のRFカードの中のそれぞれのカードから受信するようにされ、
    複数の出力ポートが、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するようにされた、
    請求項56に記載のインターフェース回路。
  64. データ構造がベースバンドカード上に存在するベースバンドプロセッサーのデータ構造を含んでいる請求項63に記載のインターフェース回路。
  65. 外部ソースそれぞれからパケットを受信するようにされた複数の入力ポートと、
    外部受信装置それぞれにパケットを送信するようにされた複数の出力ポートと、
    複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含んでいる新しい出力パケットを生成するよう受信パケットを処理して、新しい出力パケットを出力ポートに伝送するように設定することのできるパケットプロセッサーであって、パケット処理シナリオそれぞれのタイミングがパケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、前記パケットプロセッサーと、
    を備えるパケット処理集積回路チップ。
  66. パケットプロセッサーが、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始するようにされている、請求項65に記載のチップ。
  67. 複数のパケット処理シナリオの中のパケット処理シナリオが、所与の数の受信パケットから所与の数の新しい出力パケットを生成するのに必要な一組の蓄積操作、処理操作、および送信操作を含んでおり、パケットプロセッサーが、パケット処理シナリオに対する受信パケットが蓄積することに応答して、そのパケット処理シナリオをイタレーションによって実行するようにされている、請求項65に記載のチップ。
  68. パケット処理シナリオのイタレーションが、所与の数の新しい出力パケットを生成するのに必要な所与の数の受信パケットペイロードの蓄積および/または生成に応答して、パケット処理シナリオに対して受信されたパケットのペイロードを処理することを含んでいる、請求項67に記載のチップ。
  69. パケット処理シナリオが、最初の蓄積受信パケットを蓄積することによって定義されるパケット蓄積ウインドウの外側で蓄積を開始したパケット処理シナリオに宛てられた任意のパケットのペイロードをデフォルトパケットペイロードに置き換える、請求項67に記載のチップ。
  70. パケット蓄積ウインドウが、最初の蓄積受信パケットが蓄積することに応答して終了する、請求項69に記載のチップ。
  71. パケット蓄積ウインドウが、最初の蓄積受信パケットが最初に蓄積することに続く予め定められた時間期間が満了した後に終了する、請求項69に記載のチップ。
  72. 次のパケット蓄積ウインドウの開始が、パケット蓄積ウインドウの終了に続く時間期間だけ禁止される、請求項69に記載のチップ。
  73. パケットプロセッサーが、受信パケットのペイロードからデータを抽出し、外部受信装置のデータ構造と互換性のあるフォーマットを有する新しいペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができる、請求項65に記載のチップ。
  74. 選択されたパケットを入力ポートから出力ポートの中から選択されたポートへルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項65に記載のチップ。
  75. パケットプロセッサーが、パケット内の宛先アドレスに基づいてパケット処理シナリオを選択的に使用する、請求項65に記載のチップ。
  76. 複数のパケット処理シナリオが、個別パケット処理シナリオと、個別パケット処理シナリオの中から選択されたいくつかのシナリオによる同時処理をもたらすグループパケット処理シナリオとを含んでいる、請求項65に記載のチップ。
  77. パケット処理シナリオが、ユーザが設定することができるものである、請求項65に記載のチップ。
  78. パケットプロセッサーが、ビット拡張、ビット切り捨て、ビット並べ替え、および/またはビット算術演算を、受信パケットに施すように設定することができるものである、請求項65に記載のチップ。
  79. 集積回路間(I2C)バスインターフェースをさらに備え、パケットプロセッサー、入力ポート、および/または出力ポートが、I2Cバスインターフェースを介して設定することができるものである、請求項65に記載のチップ。
  80. 受信パケットおよび新しいパケットが、RapidIO(商標)(RIO)に準拠したパケットである、請求項65に記載のチップ。
  81. 第1の複数の回路カードと第2の複数の回路カードとの間でデータを伝送するためのインターフェース回路であって、
    第1の複数の回路カードの中のそれぞれの回路カードからパケットを受信するようにされた複数の入力ポートと、
    パケットを第2の複数の回路カードの中のそれぞれの回路カードに送信するようにされた複数の出力ポートと、
    複数のパケット処理シナリオの中から選択されたシナリオに従って新しいペイロードを含む新しい出力パケットを生成するよう受信パケットを処理し、該新しい出力パケットを出力ポートに伝送するように設定することのできるパケットプロセッサーであって、パケット処理シナリオそれぞれのタイミングが、パケット処理シナリオに対する受信パケットが蓄積することに応答して制御される、前記パケットプロセッサーと
    を備えるインターフェース回路。
  82. パケットプロセッサーが、初期化信号に応答して、パケット処理シナリオに対するパケットの蓄積を開始するようにされている、請求項81に記載のインターフェース回路。
  83. 複数のパケット処理シナリオの中のパケット処理シナリオが、所与の数の受信パケットから所与の数の新しい出力パケットを生成するのに必要な、一組の蓄積操作、処理操作、および送信操作を含み、パケットプロセッサーが、パケット処理シナリオに対する受信パケットが蓄積することに応答して、そのパケット処理シナリオをイタレーションによって実行するようにされた、請求項81に記載のインターフェース回路。
  84. パケット処理シナリオのイタレーションが、所与の数の新しい出力パケットを生成するのに必要な所与の数の受信パケットペイロードの蓄積および/または生成に応答して、パケット処理シナリオに対して受信されたパケットのペイロードを処理することを含んでいる、請求項83に記載のインターフェース回路。
  85. パケット処理シナリオが、最初の蓄積受信パケットが蓄積することによって定義されるパケット蓄積ウインドウの外側で蓄積を開始したパケット処理シナリオに宛てられた任意のパケットのペイロードを、デフォルトパケットペイロードに置き換える、請求項83に記載のインターフェース回路。
  86. パケットプロセッサーが、最初の蓄積受信パケットの蓄積が完了するのに応答して、パケット蓄積ウインドウを終了するようにされた、請求項85に記載のインターフェース回路。
  87. パケットプロセッサーが、最初の蓄積受信パケットの最初の蓄積に続く予め定められた時間期間の満了に応答して、パケット蓄積ウインドウを終了するようにされた、請求項85に記載のインターフェース回路。
  88. パケットプロセッサーが、パケット蓄積ウインドウの終了に続く時間期間だけ次のパケット蓄積ウインドウを開始するのを禁止するようにされた、請求項85に記載のインターフェース回路。
  89. パケットプロセッサーが、受信パケットのペイロードからデータを抽出し、第2の複数の回路カードのプロセッサーのデータ構造と互換性のあるフォーマットを有する新しいペイロードを含んでいる新しいパケットを生成するために、抽出されたデータを処理するように設定することができる、請求項81に記載のインターフェース回路。
  90. 選択されたパケットを入力ポートから出力ポートの中から選択されたポートへルーティングするようにされた、パケットスイッチングファブリックをさらに備える請求項81に記載のインターフェース回路。
  91. 複数の入力ポートが、パケットを複数のRFカードの中のそれぞれのカードから受信するようにされ、
    複数の出力ポートが、パケットを複数のベースバンドカードの中のそれぞれのカードに送信するようにされている、請求項81に記載のインターフェース回路。
JP2008507723A 2005-04-18 2006-04-13 パケット処理スイッチおよびそれを動作させる方法 Pending JP2008539613A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US67234905P 2005-04-18 2005-04-18
US11/394,886 US20060248375A1 (en) 2005-04-18 2006-03-31 Packet processing switch and methods of operation thereof
US11/395,570 US7739424B2 (en) 2005-04-18 2006-03-31 Packet processing switch and methods of operation thereof
US11/395,575 US7882280B2 (en) 2005-04-18 2006-03-31 Packet processing switch and methods of operation thereof
US11/279,288 US20060248374A1 (en) 2005-04-18 2006-04-11 Packet Processing Switch and Methods of Operation Thereof
PCT/US2006/013767 WO2006113302A1 (en) 2005-04-18 2006-04-13 Packet processing switch and methods of operation thereof

Publications (1)

Publication Number Publication Date
JP2008539613A true JP2008539613A (ja) 2008-11-13

Family

ID=36675982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008507723A Pending JP2008539613A (ja) 2005-04-18 2006-04-13 パケット処理スイッチおよびそれを動作させる方法

Country Status (5)

Country Link
US (1) US20060248374A1 (ja)
EP (1) EP1875688B1 (ja)
JP (1) JP2008539613A (ja)
DE (1) DE602006019706D1 (ja)
WO (1) WO2006113302A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010122896A1 (ja) * 2009-04-21 2010-10-28 京セラ株式会社 データ伝送システム、データ伝送方法およびデータ送信装置
US9813943B2 (en) 2013-08-21 2017-11-07 Fujitsu Limited Apparatus and method for controlling an occupancy ratio of each region in a buffer

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8910233B2 (en) 2008-12-22 2014-12-09 Mediatek Inc. Signal processing apparatuses capable of processing initially reproduced packets prior to buffering the initially reproduced packets
US8472437B2 (en) * 2010-02-15 2013-06-25 Texas Instruments Incorporated Wireless chip-to-chip switching

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503955A (ja) * 1999-07-02 2003-01-28 キューロジック スウィッチ プロダクツ,インコーポレイティド 高性能スイッチ・ファブリック素子およびスイッチ・システム
JP2004135106A (ja) * 2002-10-11 2004-04-30 Hitachi Ltd パケット通信装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389479B1 (en) * 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
WO2002039667A2 (en) * 2000-11-07 2002-05-16 Fast-Chip, Inc. Switch-based network processor
US20030110206A1 (en) * 2000-11-28 2003-06-12 Serguei Osokine Flow control method for distributed broadcast-route networks
GB2385233B (en) * 2002-02-07 2004-04-21 3Com Corp Network switch with parallel working of look-up engine and network processor
GB2399714B (en) * 2003-03-18 2006-08-30 Inventec Appliances Corp Mobile server for internetworking wpan,wlan,and wwan

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003503955A (ja) * 1999-07-02 2003-01-28 キューロジック スウィッチ プロダクツ,インコーポレイティド 高性能スイッチ・ファブリック素子およびスイッチ・システム
JP2004135106A (ja) * 2002-10-11 2004-04-30 Hitachi Ltd パケット通信装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010122896A1 (ja) * 2009-04-21 2010-10-28 京セラ株式会社 データ伝送システム、データ伝送方法およびデータ送信装置
JPWO2010122896A1 (ja) * 2009-04-21 2012-10-25 京セラ株式会社 データ伝送システム、データ伝送方法およびデータ送信装置
US9813943B2 (en) 2013-08-21 2017-11-07 Fujitsu Limited Apparatus and method for controlling an occupancy ratio of each region in a buffer

Also Published As

Publication number Publication date
WO2006113302A1 (en) 2006-10-26
US20060248374A1 (en) 2006-11-02
EP1875688A1 (en) 2008-01-09
EP1875688B1 (en) 2011-01-19
DE602006019706D1 (de) 2011-03-03

Similar Documents

Publication Publication Date Title
US7739424B2 (en) Packet processing switch and methods of operation thereof
US7596142B1 (en) Packet processing in a packet switch with improved output data distribution
US7366165B2 (en) Input line interface device and packet communication device
JP3492949B2 (ja) 大型結合広帯域および狭帯域交換機
US7298756B1 (en) System and method for programming cell packet headers
US6754222B1 (en) Packet switching apparatus and method in data network
KR100750880B1 (ko) 가변 길이 데이터 패킷의 이종 네트워크 스위칭을 위한시스템 및 방법
JP2000101651A (ja) 順応性のある電気通信交換ネットワ―ク
JPH10117200A (ja) 交換機、クロスコネクト・スイッチング装置、接続装置、および、交換機におけるルーティング方法
JPH05219098A (ja) フレーム変換方法及び装置
US20110125936A1 (en) Transmission of Data Bursts on a Constant Data Rate Channel
EP0952716A2 (en) System and method for data transformation and transfer in networks
US20050147034A1 (en) Method of performing weighted round-robin queue scheduling using a dynamic link list and structure for implementing same
US10496329B2 (en) Methods and apparatus for a unified baseband architecture
JP2008539613A (ja) パケット処理スイッチおよびそれを動作させる方法
US8559443B2 (en) Efficient message switching in a switching apparatus
US20080056259A1 (en) Switch apparatus and switching method for use in same
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
US7082302B1 (en) Methods and systems for combining data frames in diversity hand-off
US20030099242A1 (en) Switch fabric capable of aggregating multiple chips and links for high bandwidth operation
KR100378372B1 (ko) 데이터 네트워크에서 패킷 스위치 장치 및 방법
US20160277323A1 (en) Cell Forwarding Order Selection for Sending Packets
US7240175B1 (en) Scheduling data frames for processing: apparatus, system and method
JP2001016227A (ja) ダイバーシティ・ハンドオーバ処理装置、通信網制御システム及びダイバーシティ合成方法
KR950005643B1 (ko) 패킷 교환장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110520

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110520

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110527

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110624

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110701

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110725

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002