(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-25
(45)【発行日】2024-10-03
(54)【発明の名称】通信チップ及びデータ処理方法
(51)【国際特許分類】
H04L 7/00 20060101AFI20240926BHJP
H04L 1/00 20060101ALI20240926BHJP
【FI】
H04L7/00 500
H04L1/00 B
(21)【出願番号】P 2023526632
(86)(22)【出願日】2021-11-04
(86)【国際出願番号】 CN2021128824
(87)【国際公開番号】W WO2022095945
(87)【国際公開日】2022-05-12
【審査請求日】2023-05-01
(31)【優先権主張番号】202011233275.1
(32)【優先日】2020-11-06
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】516010548
【氏名又は名称】セインチップス テクノロジー カンパニーリミテッド
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】丁瑞香
【審査官】北村 智彦
(56)【参考文献】
【文献】特開2006-253852(JP,A)
【文献】米国特許第10009200(US,B2)
【文献】米国特許第06990538(US,B2)
【文献】特開2000-253852(JP,A)
【文献】特開2016-046589(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
H04L 1/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
複数の同期モジュールと、1セットのキャッシュモジュールと、複数の位置合わせモジュールとを含む通信チップであって、
前記同期モジュールは、対応するレーンのデータを受信し、受信した前記データを同期し、同期後のデータを前記キャッシュモジュールに保存するように構成され、
前記キャッシュモジュールは、複数の先入れ先出しキュー
であるFIFOを含み、前記FIFOは、対応する同期モジュールから出力される同期後のデータをキャッシュするように構成され、
前記位置合わせモジュールは、前記キャッシュモジュール内の対応するレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力するように構成され
、
前記同期モジュールの数は8つであり、前記位置合わせモジュールの数は7つであり、前記FIFOの数は8つであり、
前記複数の位置合わせモジュールは、4つの第1の位置合わせモジュール、2つの第2の位置合わせモジュール、及び1つの第3の位置合わせモジュールを含み、
前記第1の位置合わせモジュールは、2つのFIFOが対応してキャッシュした2つのレーンの同期後のデータを位置合わせし、前記2つのレーンの同期後のデータをマージ出力するように構成され、
前記第2の位置合わせモジュールは、4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、前記4つのレーンの同期後のデータをマージ出力するように構成され、
前記第3の位置合わせモジュールは、8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、前記8つのレーンの同期後のデータをマージ出力するように構成されている
ことを特徴とする通信チップ。
【請求項2】
複数の位置合わせモジュールのデータ出力速度は完全同一ではない
ことを特徴とする請求項1に記載の通信チップ。
【請求項3】
請求項1
または2に記載の通信チップに適用されるデータ処理方法であって、
同期モジュールにより、対応するレーン上のデータを受信し、受信した前記データを同期し、同期後のデータをキャッシュモジュールに保存することと、
前記キャッシュモジュール内の
各FIFOにより、対応する同期モジュールから出力される同期後のデータをキャッシュすることと、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、
位置合わせモジュールの上流の前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、
前記位置合わせモジュールの下流の受信側に、位置合わせされたデータをマージ出力することと
、
前記同期モジュールにより、同期状態情報及びレーンマークを、前記下流の受信側の設定速度に対応する位置合わせモジュールに送信することと、
前記キャッシュモジュールに前記設定速度に対応する前記位置合わせモジュールの全てのレーンの同期後のデータがキャッシュされた場合、前記設定速度に対応する前記位置合わせモジュールに通知メッセージを送信することと、
を含み、
前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
前記同期状態情報及び前記通知メッセージを受信した場合、前記キャッシュモジュール内のFIFOにキャッシュされた対応するレーンの同期後のデータを読み取り、読み取ったデータを前記レーンマークに基づいて整列してから出力することを含む、
ことを特徴とするデータ処理方法。
【請求項4】
前記設定速度が1つのレーンのデータ速度である場合、各前記同期モジュールにより、対応するレーン上のデータを受信し、受信した前記データを同期し、同期後のデータを
前記位置合わせモジュールの下流の受信側に送信する
ことを特徴とする請求項
3に記載の
データ処理方法。
【請求項5】
前記設定速度が2つのレーンのデータ速度の和
に対応する速度であり、複数の位置合わせモジュールが8つのレーン上のデータをそれぞれ対応して受信する場合、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
4つの第1の位置合わせモジュールにより、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することを含み、
各第1の位置合わせモジュールは、キャッシュモジュール内の2つのFIFOが対応してキャッシュした2つのレーンの同期後のデータを位置合わせし、前記2つのレーンの同期後のデータをマージ出力するように構成されている
ことを特徴とする請求項
3に記載の
データ処理方法。
【請求項6】
前記設定速度が4つのレーンのデータ速度の和
に対応する速度であり、複数の位置合わせモジュールが8つのレーン上のデータを受信する場合、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
2つの第2の位置合わせモジュールにより、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することを含み、
各第2の位置合わせモジュールは、キャッシュモジュール内の4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、前記4つのレーンの同期後のデータをマージ出力するように構成されている
ことを特徴とする請求項
3に記載の
データ処理方法。
【請求項7】
前記設
定速度が8つのレーンの
データ速度の和
に対応する速度であり、複数の位置合わせモジュールが8つのレーン上のデータを受信する場合、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
1つの第3の位置合わせモジュールにより、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、前記8つのレーンの同期後のデータをマージ出力することを含み
、
第3の位置合わせモジュールは、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、前記8つのレーンの同期後のデータをマージ出力するように構成されている
ことを特徴とする請求項
3に記載の
データ処理方法。
【請求項8】
第2の位置合わせモジュール及び第1の位置合わせモジュールの設定速度が
それぞれ4つのレーンのデータ速度の
和及び2つのレーンのデータ速度
の和に対応する速度であり、複数の位置合わせモジュールが8つのレーン上のデータを受信する場合、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
1つの第2の位置合わせモジュールにより、キャッシュモジュール内の4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、2つの第1の位置合わせモジュールにより、キャッシュモジュール内の他の4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、同期後のデータをマージ出力することを含む
ことを特徴とする請求項
3に記載の
データ処理方法。
【請求項9】
各2つのレーンの同期後のデータ間のタイミングスキューが設定範囲を超えた場合、前記位置合わせモジュールにより前記キャッシュモジュール内のFIFOをクリアするとともに、各同期モジュールにより対応するレーン上のデータを受信し、受信した前記データを同期し、同期後のデータをキャッシュモジュールに保存する動作に戻ることをさらに含む
ことを特徴とする請求項
3に記載の
データ処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は出願番号が「202011233275.1」で、出願日が2020年11月06日である中国特許出願に基づいて提出され、その中国特許出願の優先権を主張し、その中国特許出願の全文を援用により本願に組み入れる。
【0002】
本願は通信の技術分野に関し、特に通信チップ及びデータ処理方法に関する。
【背景技術】
【0003】
5G通信技術の発展に伴い、高速、高品質のデータ伝送がチップ設計で考慮しなければならない重要な点となっている。必要とされるネットワーク速度が物理デバイスの搬送能力を超える場合、高速インターフェースを実現するためにマルチレーン並列伝送方式がトレンドとなっている。
【0004】
データ伝送の品質を保証するため、通信チップの物理符号化サブレイヤ(Physical Coding Sublayer,PCS)は、データの高速伝送時に通常、リードソロモン前方誤り訂正式(RS-Forward Error Correction,RS-FEC)の符号化方式を選択する。RS-FECでは、送信側はデータに位置合わせマーク(AM)を挿入する必要があり、光ファイバ又は電気ケーブルを介してデータが伝送された後、受信側はデータの同期位置合わせのためにデータストリーム内でAMを探す。
【発明の概要】
【0005】
本願の実施例によれば、通信チップが提供される。前記通信チップは、複数の同期モジュールと、1セットのキャッシュモジュールと、複数の位置合わせモジュールとを含む。
【0006】
前記同期モジュールは、対応するレーンのデータを受信し、受信した前記データを同期し、同期後のデータをキャッシュモジュールに保存するように構成されている。
【0007】
前記キャッシュモジュールは、複数の先入れ先出しキューであるFIFOを含み、前記FIFOは、対応する同期モジュールから出力される同期後のデータをキャッシュするように構成されている。
【0008】
前記位置合わせモジュールは、前記キャッシュモジュール内の対応するレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力するように構成され、
前記同期モジュールの数は8つであり、前記位置合わせモジュールの数は7つであり、前記FIFOの数は8つであり、
前記複数の位置合わせモジュールは、4つの第1の位置合わせモジュール、2つの第2の位置合わせモジュール、及び1つの第3の位置合わせモジュールを含み、
前記第1の位置合わせモジュールは、2つのFIFOが対応してキャッシュした2つのレーンの同期後のデータを位置合わせし、前記2つのレーンの同期後のデータをマージ出力するように構成され、
前記第2の位置合わせモジュールは、4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、前記4つのレーンの同期後のデータをマージ出力するように構成され、
前記第3の位置合わせモジュールは、8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、前記8つのレーンの同期後のデータをマージ出力するように構成されている。
【0009】
本願の実施例によれば、データ処理方法が提供される。前記データ処理方法は本願により提供される通信チップに適用され、前記データ処理方法は、
各同期モジュールにより、対応するレーン上のデータを受信し、受信した前記データを同期し、同期後のデータをキャッシュモジュールに保存することと、
キャッシュモジュール内の各FIFOにより、対応する同期モジュールから出力される同期後のデータをキャッシュすることと、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、位置合わせモジュールの上流の前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、前記位置合わせモジュールの下流の受信側に、位置合わせされたデータをマージ出力することと、
前記同期モジュールにより、同期状態情報及びレーンマークを、前記下流の受信側の設定速度に対応する位置合わせモジュールに送信することと、
前記キャッシュモジュールに前記設定速度に対応する前記位置合わせモジュールの全てのレーンの同期後のデータがキャッシュされた場合、前記設定速度に対応する前記位置合わせモジュールに通知メッセージを送信することと、
を含み、
前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
前記同期状態情報及び前記通知メッセージを受信した場合、前記キャッシュモジュール内のFIFOにキャッシュされた対応するレーンの同期後のデータを読み取り、読み取ったデータを前記レーンマークに基づいて整列してから出力することを含む。
【図面の簡単な説明】
【0010】
【
図1】本願の実施例により提供される通信チップの構造模式図である。
【
図2】本願の実施例により提供されるデータ処理方法のフローチャートである。
【
図3】本願の実施例により提供される設定速度でのデータフローの概略図その一である。
【
図4】本願の実施例により提供される設定速度でのデータフローの概略図その二である。
【
図5】本願の実施例により提供される設定速度でのデータフローの概略図その三である。
【
図6】本願の実施例により提供される設定速度でのデータフローの概略図その四である。
【
図7】本願の実施例により提供される設定速度でのデータフローの概略図その五である。
【発明を実施するための形態】
【0011】
データ伝送の品質を保証するため、通信チップの物理符号化サブレイヤ(Physical Coding Sublayer,PCS)は、データの高速伝送時に通常、リードソロモン前方誤り訂正式(RS-FEC)の符号化方式を選択する。RS-FECでは、送信側はデータに同期位置合わせマーク(AM)を挿入する必要があり、光ファイバ又は電気ケーブルを介してデータが伝送された後、受信側はデータの同期位置合わせのためにデータストリーム内でAMを探す。
【0012】
通信チップが受信するデータの同期位置合わせ方式は複数のプロトコルと速度に対応できないため、通信チップの利用に柔軟性が欠け、通信チップの研究開発・使用コストが大幅に増大する。
【0013】
本願の実施例によれば、様々な速度設定の組み合わせのデータ位置合わせ需要を実現でき、論理リソースの占有及び無駄を低減し、構造の最適化を実現できる通信チップ及びデータ処理方法が提供される。
【0014】
本願の実施例により提供される技術案によれば、複数の同期モジュールと、1セットのキャッシュモジュールと、複数の位置合わせモジュールとを含むことができ、1セットのキャッシュモジュールは複数のFIFOを含み、FIFOは対応する同期モジュールにより出力される同期後のデータをキャッシュし、少なくとも一つの位置合わせモジュールにより、キャッシュモジュール内の少なくとも一つのFIFOにキャッシュされた全てのレーンの同期データを位置合わせし、マージ出力することにより、複数のFIFOにより、様々な速度設定の組み合わせのデータ位置合わせ需要を実現でき、論理リソースの占有及び無駄を低減し、構造の最適化を実現できる。
【0015】
図1は、本願により提供される通信チップの構造模式図であり、本願により提供される通信チップは、物理符号化サブレイヤ(Physical Coding Sublayer,PCS)を含み、RS-FEC設定の環境をサポートする。
【0016】
図1に示すように、本願により提供される通信チップは、複数の同期モジュール(lsync)と、1セットのキャッシュモジュール(al_fifo_8)と、複数の位置合わせモジュール(align_2、align_4、align_8を含む)とを含む。
【0017】
同期モジュールは、対応するレーンのデータを受信し、受信したデータを同期し、同期後のデータをキャッシュモジュールに保存するように構成され、キャッシュモジュールは、複数の先入れ先出しキューFIFOを含み、FIFOは、対応する同期モジュールから出力される同期後のデータをキャッシュするように構成され、位置合わせモジュールは、キャッシュモジュール内の対応するレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力するように構成されている。ここで、マージ出力とはマージしてから出力することである。
【0018】
一つの例示的な方法において、同期モジュールの数は8つであり、前記位置合わせモジュールの数は7つであり、FIFOの数は8つであり、
図1に示すように、キャッシュモジュール(al_fifo_8)は、それぞれFIFO_0、FIFO_1、FIFO_2、FIFO_3、FIFO_4、FIFO_5、FIFO_6、FIFO_7である8つのFIFOを含むことができる。複数の同期モジュールから出力される同期後のデータは順次FIFOにキャッシュされ、同期モジュールとFIFOとは1対1に対応することができる。
【0019】
なお、同期モジュールの数とFIFOの数とが同じであってもよく、同期モジュールとFIFOの数とが他の数であってもよく、実際の需要に応じて設定することが可能である。位置合わせモジュールの数も他の数とすることができる。
【0020】
一つの例示的な方法において、複数の位置合わせモジュールのデータ出力速度は完全同一ではない。具体的には、複数の位置合わせモジュールがサポートする出力ごとのデータサイズが完全同一ではないか、または複数の位置合わせモジュールのデータでサポートするデータが完全同一ではない。
【0021】
一つの例示的な方法において、複数の位置合わせモジュールは、4つの第1の位置合わせモジュール(align_2)、2つの第2の位置合わせモジュール(align_4)、及び1つの第3の位置合わせモジュール(align_8)を含む。
【0022】
前記第1の位置合わせモジュールは、2つのFIFOが対応してキャッシュした2つのレーンの同期後のデータを位置合わせし、前記2つのレーンの同期後のデータをマージ出力するように構成されている。
【0023】
前記第2の位置合わせモジュールは、4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、前記4つのレーンの同期後のデータをマージ出力するように構成されている。
【0024】
前記第3の位置合わせモジュールは、8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、前記8つのレーンの同期後のデータをマージ出力するように構成されている。
【0025】
具体的には、
図1に示されるように、同期モジュール(lsync)は、シングルレーン同期モジュールであってもよく、一つの前
方誤り訂正FECモードのレーン(lane)を完成させる同期ステートマシンであってもよく、全てのイーサネット速度をサポートしている。第1の位置合わせモジュール(align_2)は、2つのレーンデータの位置合わせモジュールであってもよく、完成速度が50GE(gigabit ethernet:ギガビットイーサネット)で、2つのFEC laneの位置合わせステートマシンであってもよく、2つのFEC lane上のデータタイプ(symbol)のマージ機能を完成させることができる。第2の位置合わせモジュール(align_4)は、4つのレーンデータの位置合わせモジュールであってもよく、完成速度が100GEで、4つのFEC laneの位置合わせステートマシンであってもよく、4つのFEC lane上のsymbolのマージ機能を完成させることができる。第3の位置合わせモジュール(align_8)は、8つのレーンデータの位置合わせモジュールであってもよく、完成速度が200GEで、8つのFEC laneの位置合わせステートマシンであってもよく、8つのFEC lane上のsymbolのマージ機能を完成させることができる。
【0026】
本願の実施例において、データソースは、PCS送信側からのRS-FEC符号化後の出力データであって、異なるFCE laneに応じてN(1~8であってもよい)ウェイに分けられたデータ、すなわち、N個のレーン上のデータであってもよい。データ伝送の速度が25GEであれば、1つのFEC laneのデータが含まれ、データ伝送の速度が50GEであれば、2つのFEC laneのデータが含まれ、データ伝送の速度が100GEであれば、4つのFEC laneのデータが含まれ、データ伝送の速度が200GEであれば、8つのFEC laneのデータが含まれる。
【0027】
本願により提供される通信チップによりデータ処理を行うプロセスは、以下のとおりである。
【0028】
図1に示すように、同期モジュールはデータの同期を行い、入力されたN個のレーン上のデータ、すなわち入力されたNウェイのデータは対応する同期モジュールを経て、それぞれNウェイのデータのシングルFEC lane同期プロセスが完成する。具体的な同期プロセスは、送信時にPCSプロトコル内で固定周期で生成され且つPCS処理データストリーム内で搬送される位置合わせマーク(AM)を用いて、データ内の位置合わせマークを問い合わせ、位置合わせマークの前のデータを削除し、位置合わせマークを伝送データの境界とすることである。具体的には、IEEE 802.3-2018 clause82、91、108、119、134などの章を参照できる。同期モジュールは、対応するレーンのデータの同期を実現してから、同期信号(同期状態情報を搬送する)及びレーンマーク(FEC lane番号)を設定速度に対応する位置合わせモジュールに出力し、同期後のデータをキャッシュモジュールに渡す。
【0029】
キャッシュモジュールのデスキュー:キャッシュモジュールは8つのFIFOを含み、Nウェイ(8ウェイであってもよい)のFEC laneの同期後のデータは、対応するFIFOに直接書き込まれる。各FIFOにおける読み取り及びクリア動作は、下流の位置合わせモジュール(第1の位置合わせモジュール、第2の位置合わせモジュール、又は第3の位置合わせモジュール)により制御できる。
【0030】
位置合わせモジュールは、データ位置合わせを行い、ポートの設定速度に応じて、第1の位置合わせモジュール(align_2)、第2の位置合わせモジュール(align_4)、又は第3の位置合わせモジュール(align_8)は、上流のFIFOの読み取り及びクリア動作を制御することにより、複数のFEC laneのデータの位置合わせを実現する。具体的には、キャッシュモジュール内のN個のFIFOに既に設定速度に対応する全てのレーンの同期後のデータがキャッシュされた場合、位置合わせモジュールに通知メッセージを送信し、位置合わせモジュールはこの通知メッセージ及び対応する同期状態情報を受信するとともに、N個のFIFO内の同期後のデータを読み取ることで、データの位置合わせを実現し、レーンマークに従ってソートしてから出力する。第1の位置合わせモジュール(align_2)は速度50GEのデータ位置合わせを完成させ、第2の位置合わせモジュール(align_4)は速度100GEのデータ位置合わせを完成させ、第3の位置合わせモジュール(align_8)は速度200GEのデータ位置合わせを完成させる。ポートの設定速度は、ポートに設定されるサポート速度として考えられる。
【0031】
なお、本願により提供される通信チップは、
図1に示す構成形態に限定されるものではなく、同期モジュール、キャッシュモジュール内のFIFOの数、及び位置合わせモジュールの数などは、実際の必要に応じて調整可能である。
【0032】
本願により提供される通信チップは、物理媒体接続層(Physical Media Attachment,PMA)からのデータに対する同期、位置合わせ動作を完成させることができ、複数の速度の設定方法をサポートすることができ、外部ネットワーク及びCPRIの複数の速度の設定及び組み合わせをサポートすることができるため、例えば、4つの25GE速度、または4つの50GE速度を支持するか、あるいは4つの共通公衆無線インターフェース(CPRI)をサポートするポート、または2つの100GE速度をサポートするポート、または1つの100GE速度及び2つの25GE/50GE/CPRIをサポートするポート、または1つの200GE速度をサポートするポートなど、複数のポートサポート速度の設定方法を表すことができる。
【0033】
本願により提供される通信チップは、複数の同期モジュールと、1セットのキャッシュモジュールと、複数の位置合わせモジュールとを含むことができ、1セットのキャッシュモジュールは複数のFIFOを含み、FIFOは対応する同期モジュールにより出力される同期後のデータをキャッシュし、少なくとも一つの位置合わせモジュールにより、キャッシュモジュール内の少なくとも一つのFIFOにキャッシュされた全てのレーンの同期データを位置合わせし、マージ出力することにより、複数のFIFOにより、様々な速度設定の組み合わせのデータ位置合わせ需要を実現でき、論理リソースの占有及び無駄を低減し、構造の最適化を実現できる。一実施形態において、キャッシュモジュールは8つのFIFOを含み、この8つのFIFOによって、様々な速度設定の組み合わせのデータ位置合わせ需要を実現する。本願により提供される通信チップを利用しなければ、同じ機能を実現するために24個のFIFOが必要とされる。したがって、論理リソースの占有及び無駄を低減し、チップを最適化し、コストを低減することができる。
【0034】
図2は本願の実施例により提供されるデータ処理方法であって、前記方法は本願により提供される通信チップに適用することができる。このチップはPCSを含むチップであってもよい。
図2に示すように、本願の実施例により提供される技術案は以下のステップを含む。
【0035】
S210において、同期モジュールにより、対応するレーン上のデータを受信し、受信した前記データを同期し、同期後のデータをキャッシュモジュールに保存する。
【0036】
S220において、キャッシュモジュール内の各先入れ先出しキューFIFOにより、対応する同期モジュールから出力される同期後のデータをキャッシュする。
【0037】
S230において、複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力する。
【0038】
具体的なデータ通信方式としては、通信チップにより通信する方法を参照できる。
【0039】
一つの例示的な方法において、複数の前記位置合わせモジュールのデータの速度は完全同一ではない。
【0040】
一つ例示的な方法において、前記同期モジュールの数は8つであり、前記位置合わせモジュールの数は7つであり、前記FIFOの数は8つである。
【0041】
一つの例示的な形態において、前記方法は、前記同期モジュールにより、同期状態情報及びレーンマークを、設定速度に対応する位置合わせモジュールに送信することと、前記キャッシュモジュールに設定速度に対応する全てのレーンの同期後のデータがキャッシュされた場合、前記設定速度に対応する位置合わせモジュールに通知メッセージを送信することとをさらに含む。
【0042】
前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、前記同期状態情報及び前記通知メッセージを受信した場合、前記キャッシュモジュール内のFIFOにキャッシュされた対応するレーンの同期後のデータを読み取り、読み取ったデータを前記レーンマークに基づいて整列してから出力することを含む。
【0043】
各レーン上のデータはPCS送信側から同時に送信されてもよく、各レーンのデータが伝送中に通過する可能性のある物理媒体が同じではないため、一部のレーン上のデータ受信に遅延が生じることがある。各レーンのデータの位置合わせを実現するために、同期モジュールは、対応するレーンのデータを同期してから、キャッシュモジュール内の対応するFIFOにキャッシュし、全てのレーンの同期後のデータが全て対応するFIFOにキャッシュされた場合、位置合わせモジュールは空でないFIFO内のデータを同時に読み取り、データの位置合わせを実現する。
【0044】
具体的には、位置合わせモジュールが同期状態情報を受信した場合、受信したデータに同期が行われたと判定でき、位置合わせモジュールが通知メッセージを受信した場合、キャッシュモジュールに設定速度に対応する全てのレーンの同期後のデータがキャッシュされたと判定できるため、位置合わせモジュールが同期状態情報及び通知メッセージを受信した場合、キャッシュモジュール内の空でないFIFOを同時に読み取り、全てのレーンのデータの位置合わせを実現し、読み取ったデータをレーンマークに従って整列することで、出力データがデータの送信順番で出力されるようにする。
【0045】
一つの例示的な形態において、各2つのレーンの同期後のデータ間のタイミングスキューが設定範囲を超えた場合、位置合わせモジュールによりキャッシュモジュール内のFIFOをクリアするとともに、各同期モジュールにより対応するレーン上のデータを受信し、受信した前記データを同期し、同期後のデータをキャッシュモジュールに保存する動作に戻ることをさらに含む。
【0046】
タイミングスキューとは、タイミング間の間隔を指してもよく、設定範囲は、実際の状況に応じて設定することができる。各2つのレーンの同期後のデータ間のタイミングスキューが設定範囲を超えた場合、FIFOにオーバーフローが発生し、データの位置合わせが失敗し、空でないFIFOをリセットして同期位置合わせ処理を再開する必要がある。
【0047】
本願の実施例において、具体的なデータ処理方法としては、通信チップにより処理する方法を参照できる。
【0048】
図1に示すように、同期モジュールはデータの同期を行い、入力されたN個のレーン上のデータ、すなわち入力されたNウェイのデータは対応する同期モジュールを経て、それぞれNウェイのデータのシングルFEC lane同期プロセスが完成する。具体的な同期プロセスは、送信時にPCSプロトコル内で固定周期で生成され且つPCS処理データストリーム内で搬送される位置合わせマーク(AM)を用いて、データ内の位置合わせマークを問い合わせ、位置合わせマークの前のデータを削除し、位置合わせマークを伝送データの境界とすることである。具体的には、IEEE 802.3-2018clause82、91、108、119、134などの章を参照できる。同期モジュールは、対応するレーンのデータの同期を実現してから、同期信号(同期状態情報を搬送する)及びレーンマーク(FEC lane番号)を設定速度に対応する位置合わせモジュールに出力し、同期後のデータをキャッシュモジュールに渡す。
【0049】
キャッシュモジュールのデスキュー:キャッシュモジュールは8つのFIFOを含み、Nウェイ(8ウェイであってもよい)のFEC laneの同期後のデータは、対応するFIFOに直接書き込まれる。各FIFOにおける読み取り及びクリア動作は、下流の位置合わせモジュール(第1の位置合わせモジュール、第2の位置合わせモジュール、又は第3の位置合わせモジュール)により制御できる。
【0050】
位置合わせモジュールは、データ位置合わせを行い、ポートの設定速度に応じて、第1の位置合わせモジュール(align_2)、第2の位置合わせモジュール(align_4)、又は第3の位置合わせモジュール(align_8)は、上流のFIFOの読み取り及びクリア動作を制御することにより、複数のFEC laneのデータの位置合わせを実現する。具体的には、キャッシュモジュール内のN個のFIFOに既に設定速度に対応する全てのレーンの同期後のデータがキャッシュされた場合、位置合わせモジュールに通知メッセージを送信し、位置合わせモジュールはこの通知メッセージ及び対応する同期状態情報を受信するとともに、N個のFIFO内の同期後のデータを読み取ることで、データの位置合わせを実現し、レーンマークに従ってソートしてから出力する。第1の位置合わせモジュール(align_2)は速度50GEのデータ位置合わせを完成させ、第2の位置合わせモジュール(align_4)は速度100GEのデータ位置合わせを完成させ、第3の位置合わせモジュール(align_8)は速度200GEのデータ位置合わせを完成させる。ポートの設定速度は、ポートに設定されるサポート速度として考えられる。
【0051】
図1に示すように、第3の位置合わせモジュール(align_8)を例にとると、データ位置合わせの具体的な動作は以下の通りである。
【0052】
ステップ1において、リセット後、第3の位置合わせモジュール(align_8)は、キャッシュモジュール(al_fifo_8)内の8つのFIFOをクリアする。
【0053】
ステップ2において、あるレーン(レーン数が8より小さい場合)が同期された後、対応するFIFOに対して読み取りを行わず、書き込みのみを行う。
【0054】
ステップ3において、8つのレーンが全て同期され且つ8つのFIFOが全て空でない場合、キャッシュモジュール(al_fifo_8)は、8つのFIFO内の同期後のデータの同時読み取りを開始し、最初に読み出されるのはAMである。
【0055】
ステップ4において、何れか一つのFIFOでオーバーフローが発生すると、レーン間のタイミングスキューが許容範囲を超えて位置合わせが失敗したことを意味し、この場合、第3の位置合わせモジュール(align_8)が全ての8つのFIFOをリセットして同期位置合わせ処理を再開する。
【0056】
ステップ5において、位置合わせが成功すると、同期モジュールから与えられたFEC lane番号に従って、8ウェイの入力データを順番に並べ替えて出力する。
【0057】
第1の位置合わせモジュール(align_2)、第2の位置合わせモジュール(align_4)の位置合わせプロセスは、第1の位置合わせモジュール(align_2)が対応する2つのFIFOからデータを入力してこれら2つのFIFOの読み取り及びクリア動作を制御し、第2の位置合わせモジュール(align_4)が対応する4つのFIFOからデータを入力してこれら4つのFIFOの読み取り及びクリア動作を制御する点を除いて、第3の位置合わせモジュール(align_8)と似ている。
【0058】
一つの例示的な方法において、設定速度が1つのレーンのデータ速度である場合、各前記同期モジュールにより、対応するレーン上のデータを受信し、受信した前記データを同期し、同期後のデータを下流の受信側に送信する。具体的には、
図3に示すように、1つのレーンのデータ速度が25GEであり、設定速度は4つの25GEを含み、4つの同期モジュールにより、4つのレーン上のデータを対応して受信し、受信したデータを同期し、同期したデータを下流の受信側に送信する。つまり、同期後のデータはキャッシュモジュールと位置合わせモジュールを通過しない。その理由として、設定速度が1つのレーンのデータ速度と同じであるため、少なくとも2つのレーンの同期後のデータをマージして出力する必要がないため、同期モジュールから出力されたデータをそのまま下流の受信側に送信できることが挙げられる。
【0059】
一つの例示的な方法において、設定速度が2つのレーンのデータ速度の和であり、複数の位置合わせモジュールが8つのレーン上のデータをそれぞれ対応して受信する場合、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
4つの第1の位置合わせモジュールにより、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することを含み、各第1の位置合わせモジュールは、キャッシュモジュール内の2つのFIFOが対応してキャッシュした2つのレーンの同期後のデータを位置合わせし、前記2つのレーンの同期後のデータをマージ出力するように構成されている。
【0060】
具体的には、
図4に示すように、1つのレーンのデータ速度が25GEであり、設定速度は
4つの50GEを含み、8つの同期モジュール(lsync)により8つのレーン上のデータを対応して受信し、受信したデータを同期し、同期後のデータを対応する8つのFIFOにキャッシュし、4つの第1の位置合わせモジュール(align_2)により、8つのFIFOにキャッシュされた同期後のデータを位置合わせし、位置合わせされたデータをマージ出力し、ここで、各第1の位置合わせモジュール(align_2)は2つのFIFOにキャッシュされた同期後のデータを位置合わせしてマージ出力する。
【0061】
一つの例示的な方法において、設定速度が4つのレーンのデータ速度の和であり、複数の位置合わせモジュールが8つのレーン上のデータを受信する場合、複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
2つの第2の位置合わせモジュールにより、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することを含み、各第2の位置合わせモジュールは、キャッシュモジュール内の4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、前記4つのレーンの同期後のデータをマージ出力するように構成されている。
【0062】
具体的には、
図5に示すように、
1つのレーンのデータ速度が25GEであり、設定速度は2つの100GEを含み、8つの同期モジュール(lsync)により8つのレーン上のデータを対応して受信し、受信したデータを同期し、同期後のデータを対応する8つのFIFOにキャッシュし、2つの第2の位置合わせモジュール(align_4)により、8つのFIFOにキャッシュされた8つのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力し、ここで、各第2の位置合わせモジュール(align_4)は4つのFIFOにキャッシュされた2つのレーンの同期後のデータを位置合わせしてマージ出力する。
【0063】
一つの例示的な実施形態では、設定速度が4つのレーンのデータ速度の和、及び2つのレーンのデータ速度を含み、複数の位置合わせモジュールが8つのレーン上のデータを受信する場合、
複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、1つの第2の位置合わせモジュールにより、キャッシュモジュール内の4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、2つの第1の位置合わせモジュールにより、キャッシュモジュール内の他の4つのFIFOが対応してキャッシュした4つのレーンの同期後のデータを位置合わせし、同期後のデータをマージ出力することを含む。
【0064】
具体的には、
図6に示すように、1つのレーンのデータ速度が25GEであり、設定速度は1つの100GEと2つの50GEを含み、8つの同期モジュール(lsync)により8つのレーン上のデータを対応して受信し、受信したデータを同期し、同期後のデータを対応する8つのFIFOにキャッシュし、1つの第2の位置合わせモジュール(align_4)により、4つのFIFOにキャッシュされた4つのレーンの同期後のデータを位置合わせし、4つのFIFO内の4つのレーンの同期後のデータをマージ出力するとともに、2つの第1の位置合わせモジュール(align_2)により、他の4つのFIFOにキャッシュされた4つのレーンの同期後のデータを位置合わせし、他の4つのFIFO内の4つのレーンの同期後のデータをマージ出力する。
【0065】
一つの例示的な方法において、設定速度が8つのレーンのデータ速度の和であり、複数の位置合わせモジュールが8つのレーン上のデータを受信する場合、複数の位置合わせモジュールのうちの少なくとも一つの位置合わせモジュールにより、前記キャッシュモジュール内の全てのレーンの同期後のデータを位置合わせし、位置合わせされたデータをマージ出力することは、
1つの第3の位置合わせモジュールにより、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、前記8つのレーンの同期後のデータをマージ出力することを含み、第3の位置合わせモジュールは、キャッシュモジュール内の8つのFIFOが対応してキャッシュした8つのレーンの同期後のデータを位置合わせし、前記8つのレーンの同期後のデータをマージ出力するように構成されている。
【0066】
具体的には、
図7に示すように、1つのレーンのデータ速度が25GEであり、設定速度は1つの200GEを含み、8つの同期モジュール(lsync)により8つのレーン上のデータを対応して受信し、受信したデータを同期し、同期後のデータを対応する8つのFIFOにキャッシュし、1つの第3の位置合わせモジュール(align_8)により、8つのFIFOにキャッシュされた8つのレーンの同期後のデータを位置合わせし、8つのFIFOがキャッシュした8つのレーンの同期後のデータをマージ出力する。
【0067】
なお、
図1、
図2~
図7において、矢印の方向はデータの流向であり、
図2~
図7において、矢印の付いた曲線の方向は、異なる設定速度における実際のデータ流向である。
【0068】
本願が提供する技術案によれば、複数のイーサネット速度の設定と組み合わせをサポートすることができ、通信チップには1セットのキャッシュモジュールしか含まれておらず、キャッシュモジュールは8つのFIFOを含むことができる。データ処理のプロセスにおいて、通信チップを柔軟に構成して使用することができるだけでなく、回路の論理リソースを節約し、通信チップの面積と消費電力を低減することもできる。