本発明の教示は、添付の図面と合わせて以下の詳細な説明を検討することによってすぐに理解できる。
理解を容易にするために、可能な場合は、図面で共通である同一の要素を示すのに同一の参照番号を使用した。
本発明は、4本の10Gbpsデータ・ラインを有するSERDESフレーマ・インターフェイスを含む通信システムの内容で論じるが、本発明はデータ・ラインを同期させるためにデスキューを利用するように操作可能な他の通信インターフェイスに簡単に適用させることができる。普通、本発明はデスキュー・チャネルを使用してデータ・ラインを同期させる電力最適化した解決法を含んでいる。本発明では、デスキュー・フレーミング・マーカとしてビット指向サンプリング法および交互奇偶パリティを使用することにより、かなり少ない電力消費でのデータ・ラインの同期が可能になる。デスキュー・フレーミング・マーカとしてビット指向サンプリング法および交互奇偶パリティを使用することにより、SiGe、InPなどの技術で本発明の改良型データ・ライン同期方法を実行するのに必要な論理ゲートの数がかなり少なくなる。
このようにして、本発明はデータ・ラインを同期させるのに前に必要であったのよりかなり少ない数の論理ゲートを使用して実行することができるので、本発明はしたがって、データ・ラインを同期させるのに必要な電力消費量をかなり少なくする。さらに、本明細書で最初に記載したように一実施形態では、本発明はデスキュー・チャネル上に最大数の連続した同一の桁を9に限定し、それによってSERDES装置内の全体のクロック分配に対する最良のソースとしてデスキュー・チャネルを提供する。
図1は、並直列変換回路およびフレーマ・モジュールを含む、デスキュー・チャネル生成システムの高レベル・ブロック図を示している。特に、図1のデスキュー・チャネル生成システム100は、並直列変換回路(SERDES)101、およびフレーマ・モジュール(FM)102を備えている。一実施形態では、SERDES 101はSiGe SERDESを備えている。別の実施形態では、SERDES 101はInP SERDESを備えている。一実施形態では、FM 102は、CMOSフレーマ・モジュールを備えている。図1に示すように、SERDES 101の出力ポートはFM 102のそれぞれの入力ポートに結合されている。
図1に示すように、SERDES 101は、クロック・データ・リカバリ(CDR)106と、デマルチプレクサ(DEMUX)110と、複数のレジスタ1140〜1143(集合的に、レジスタ114)と、パリティ・デスキュー・チャネル生成モジュール(PDCGM)126と、レジスタ127とを備えている。図1に示すように、FM 102は、複数の受信データ・フレーマ・モジュール(RDFM)1180〜1183(集合的に、RDFM 118)と、デスキュー・アラインメント・バッファ(DAB)112と、受信デスキュー・チャネル・フレーマ・モジュール(RDCFM)130と、デスキュー制御装置(DC)136とを備えている。Dタイプのフリップ・フロップを備えていると示されているが、レジスタ114およびレジスタ127は、様々な他の記憶コンポーネントを使用して実行することができる。
図1に示すように、SERDES 101はシリアル入力リンク(SIL)104を使用して、光モジュール(図示せず)からシリアル・データ・ストリームを受信する。SIL 104は、CDR 106の入力ポートに結合されている。CDR 106は、SIL 104の上でシリアル・データ・ストリームを受け、受信したシリアル・データ・ストリームを処理する。CDR 106は、当業界で知られているように、データ・リカバリ機能およびクロック・リカバリ機能を実行する。CDR 106の第1の出力ポートは、データ信号接続部(DSC)108によってDEMUX 110の入力ポートに結合されている。CDR 106は、DSC 108上でDEMUX 110に修復されたデータ信号を送信する。CDR 106の第2の出力ポートは、クロック信号接続部(CSC)109によって、DEMUX 110のクロック入力ポート、各レジスタ114のそれぞれのクロック入力ポート、PDCGM 126のクロック入力ポート、およびレジスタ127のクロック入力ポートに結合されている。CDR 106は、CSC 109上に修復したクロック信号を送信する。CDR 106は、DEMUX 110を通るデータ・ストリームを制御するために、DEMUX 110に修復したクロック信号を送信する。同様に、CDR 106は、レジスタ114へのデータの入力、およびレジスタ114からのデータの読み取りを制御するために各レジスタ114へ修復したクロック信号を送信する。CDR 106は、デスキュー・チャネルを生成するのに使用するためにPDCGM 126に修復したクロック信号を送信する。CDR 106は、修復したクロック信号をレジスタ127に送信し、これがPDCGM 126によって出力されたデスキュー・チャネル・ビットストリームを受信する。
図1に示すように、DEMUX 110は、DSC 108上でシリアル・ビットストリームとしてCDR 106から修復したデータ・ストリームを受信する。一実施形態では、受信したデータ・ビットストリームは40Gbpsビットストリームを含んでいる。DEMUX 110は、CSC 109の上でCDR 106から修復したクロック信号を受信する。一実施形態では、図1に示すように、DEMUX 110は1:4のデマルチプレクサを備えている。1:4のデマルチプレクサを備えていると示されているが、当業者は様々な他のデマルチプレクサ論理を、データ・チャネルの数によって、DEMUX 110を実行するのに使用することができることが分かるだろう。DEMUX 110は、複数のデータ・チャネル(DC)1120〜1203(集合的に、DC 112)を生成するように、受けたシリアル・ビットストリームを逆多重化する。DEMUX 110の4つの出力ポートはそれぞれ、レジスタ1140〜1143のデータ入力ポートに結合されている。DEMUX 110はそれぞれ、DC 1120〜1123をレジスタ1140〜1143に送信する。
レジスタ1140〜1143は、それぞれ、DC 1120〜1123に関連する逆多重化したデータ・ビットストリームを受信する。レジスタ1140〜1143は、1クロック・サイクルに対して逆多重化したデータ・ビットストリームの各ビットを記憶する。レジスタ1140〜1143へのDC 1120〜1123に関連するビットの入力、およびレジスタ1140〜1143からのDC 1160〜1163に関連するビットの出力は、CDR 106から受信した修復されたクロック信号を使用して制御される。レジスタ1140〜1143の出力ポートはそれぞれ、RDFM 1180〜1183の入力ポートに結合されている。レジスタ1140〜1143は、FM 102のそれぞれのRDFM 1180〜1183に向かう伝送のために、それぞれ複数のデータ・チャネル(DC)1160〜1163(集合的に、DC 116)にDC 1120〜1123上のDEMUX 110から受信したデータを送信する。それぞれのDC 116へのレジスタ114によるビット出力は、デスキュー・チャネル生成に使用するために、PDCGM 126のそれぞれの入力ポートに提供される。
DC 1160〜1163上に伝送されたデータ・ビットストリームはそれぞれ、RDFM 1180〜1183によって受信される。図1に示すように、RDFM 1180〜1183は、それぞれ複数のCDR 1200〜1203(集合的に、CDR 120)、およびそれぞれ複数のデマルチプレクサ(DEMUX)1220〜1223(集合的に、DEMUX 122)を備えている。このようにして、DC 1160〜1163上に伝送されたデータ・ビットストリームはそれぞれ、CDR 1200〜1203によって受信される。CDR 1200〜1203は、それぞれDC 1160〜1163に関連する各データ・ビットストリーム上でデータ・リカバリ機能およびクロック・リカバリ機能を行う。CDR 1200〜1203の出力ポートは、それぞれDEMUX 1220〜1223の入力ポートに結合される。CDR 1200〜1203は、それぞれDEMUX 1220〜1223に修復したデータ信号を送信する。
CDR 1200〜1203は、それぞれDEMUX 1220〜1223によるそれぞれのデータ・ビットストリームの逆多重化を制御するように、DEMUX 1220〜1223に修復したクロック信号を出力する。DEMUX 122は、FM 102が上に配置された標準的なセルCMOS装置の能力に基づき、FM 102が必要とするデータ速度に受信したDC 116を逆多重化する。このようにして、明確にする目的で1:8のデマルチプレクサを備えているように示しているが、当業者は、SERDES 101によって出力されたDC 116の速度、FM 102によって処理することが可能なような速度になっているデータ、および同様の要因によって、DEMUX 122が1:32デマルチプレクサ、1:16デマルチプレクサ、および様々な他の逆多重化論理を含むことができることが分かるだろう。
図1に示すように、各DEMUX 1220〜1223は、それぞれ複数の出力データ・ビットストリーム(ODB)1230〜1233(集合的に、ODB 123)を出力する。DEMUX 1220〜1223の出力ポートは、DAB 124のそれぞれの入力ポートに結合されている。特に、RDFM 1180〜1183によって出力されるODB 1230〜1233はDAB 124に送信される。図1に示すように、DAB 124はDC 136によって制御され、その後SERDES 101内のPDCGM 126によって生成されたデスキュー・チャネル・ビットストリームを使用して交互に制御される。
図1に示すように、PDCGM 126はそれぞれ、DC 1160〜1163上のレジスタ1140〜1143によって各データ・ビットストリーム出力からデータ・ビットを受信し、CDR 106から修復したクロック信号を受信する。PDCGM 126は、DC 116からのデータ・ビットを使用してデスキュー・データ・ビットストリーム、およびCSC 109を使用してCDR 106によって出力されたクロック信号を生成する。一実施形態では、デスキュー・データ・ビットストリームは、交互奇数パリティ・ビットおよび偶数パリティ・ビットを含み、各パリティ・ビットはそれぞれ各DC 1160〜1163からの1つのサンプル・ビットを使用して生成される。このような一実施形態では、生成された奇数パリティ・ビットおよび偶数パリティ・ビットは、パリティ・ビットがパリティ・ビットを生成するのに使用されるDC 116からのサンプル・データ・ビットでインターリーブされるようにデスキュー・データ・ビットストリーム内に挿入される。このようにして、一実施形態では、PDCGM 126は、デスキュー・ビットストリームを生成するように、本発明の方法の少なくとも一部を行う。PDCGM 126の出力ポートは、レジスタ127のデータ入力ポートに結合されている。
PDCGM 126は、生成したデスキュー・ビットストリームをレジスタ127に送信する。デスキュー・ビットストリームのビットは、1クロック・サイクルでレジスタ127内に記憶される。デスキュー・ビットストリームのビットは、CDR 106によって修復されたクロック信号を使用してデスキュー・チャネル128の上に伝送するために、レジスタ127から読み出される。レジスタ127の出力ポートは、DCFM 130の入力ポートに結合されている。このようにして、デスキュー・チャネル128を使用してSERDES 101から伝送されるデスキュー・ビットストリームは、FM 102のDCFM 130によって受信される。図1に示すように、DFM 130は、CDR 132およびデマルチプレクサ(DEMUX)134を備えている。CDR 132の入力ポートは、デスキュー・チャネル128上に伝送されたデスキュー・ビットストリームを受信する。
CDR 132は、受信したデスキュー・ビットストリームからのデータ信号および関連クロックを修復させるために、データ・リカバリ機能およびクロック・リカバリ機能を行う。CDR 132のデータ出力ポートおよびクロック出力ポートは、それぞれDEMUX 134のデータ入力ポートおよびクロック入力ポートに結合されている。CDR 132は、修復されたデータ信号をDEMUX 134に送信する。CDR 132は、DEMUX 134によってデスキュー・ビットストリームの逆多重化を制御するように、DEMUX 134に修復したクロック信号を出力する。図1に示すように、DEMUX 134は1:8のデマルチプレクサを備えている。1:8のデマルチプレクサとして示しているが、当業者はDEMUX 134は、デスキュー・チャネルおよび関連するデスキュー・チャネル交互奇偶パリティを実行するのに使用されるビットの数によって、当技術分野で知られているような様々な他のデマルチプレクサ論理(例えば、1:16、1:32、および同様の論理)を使用して実行することができることが分かるだろう。したがって、DEMUX 134は複数のデスキュー・データ・ビット(DDB)135(集合的に、DDB 135)を出力する。DEMUX 134の出力ポートは、DC 136のそれぞれの入力ポートに結合されている。DEMUX 134によって出力されたDDB 135は、DAB 124を制御するためにDC 136に入力される。
本明細書に記載するように、デスキュー・ビットストリームは、DAB 124を制御し、デスキュー・ビットストリームが生成されるデータ・チャネルを同期させ、同様の機能を行うように動作可能である。一実施形態では、PDCGM 126は、DC 116からデータ・サンプルを受信し、交互パリティ・ビットを生成させる(すなわち、奇数パリティ・ビットおよび偶数パリティ・ビットの生成の間で交互となる)ように、DC 116からの受信したデータ・サンプルを処理する。PDCGM 126は、デスキュー・ビットストリームとしてデスキュー・チャネル128の上で伝送させるために、生成した交互パリティ・ビットでDC 116からのデータ・サンプルを多重化する。一実施形態では、奇数パリティ・ビットは各DC 116からの1つのビットを使用してPDCGM 126によって生成される。同様に、一実施形態では、偶数パリティ・ビットは各DC 116からの1ビットを使用してPDCGM 126によって生成される。一実施形態では、PDCGM 126によって生成される奇数パリティ・ビットは、奇数パリティ・ビットを生成するのに使用するために、それぞれのDC 1160〜1163から得られる4つのビット・サンプルの直ぐ後のビット位置のデスキュー・ビットストリームに挿入される。同様に、一実施形態では、PDCGM 126によって生成される偶数パリティ・ビットは、偶数パリティ・ビットを生成するのに使用するために、それぞれのDC 1160〜1163から得られる4つのビット・サンプルの直ぐ後のビット位置のデスキュー・ビットストリームに挿入される。
図1に関して説明された機能の少なくとも一部は、より少ない機能要素内に組み込むことができることが考えられる。同様に、図1に関して説明された様々な機能は他の機能要素によって行うことができる、または様々な機能は異なる方法で様々な機能要素にわたって分配することができることが考えられる。例えば一実施形態では、図1に関して図示および説明されたCDRの少なくとも一部(例えば、SERDES 101とFM 102の間の並列インターフェイスで使用されるCDR 120)は、それぞれの遅延ロック・ループ(DLL)によって置き換えることができる。さらに、図1に関して図示および説明された本発明の様々な機能は、図1に関して図示および説明した機能要素を他の機能要素の様々な組合せと変えることによって行うことができる。
図2は、図1のパリティ・デスキュー・チャネル生成モジュールの高レベル・ブロック図を示している。特に、PDCGM 126は、マルチプレクサ(MUX)202と、レジスタ204と、XOR論理ゲート206と、マルチプレクサ(MUX)208と、カウンタ212とを備えている。図2に示すように、レジスタ1140〜1143の出力ポートはそれぞれDC 1160〜1163を使用して、MUX 202のそれぞれの入力ポートに結合されており、レジスタ204の出力ポートはMUX 202の第5の入力ポートに結合されている。MUX 202の出力ポートは、レジスタ127のデータ入力ポートに結合されており、さらにフィードバック・ループとして、XOR論理ゲート206の第1の入力ポートに結合されている。レジスタ204の出力ポートは、MUX 202の第5の入力ポートに結合されていることに加えて、MUX 208の入力ポートに結合されている。さらに、「0」初期化信号および「1」初期化信号は、PDCGM 126の定常状態動作の前に、PDCGM 126の動作を初期化するために、MUX 208のそれぞれの入力ポートに結合されている。MUX 208の出力ポートは、XOR論理ゲート206の第2の入力ポートに結合されている。XOR論理ゲート206の出力ポートは、レジスタ204のデータ入力ポートに結合されている。本明細書に記載されているように、レジスタ204の出力ポートは、MUX 202の第5の入力ポートおよびMUX 208の入力ポートの両方に結合されている。レジスタ204は、関連するクロック入力ポートに加えられたクロック信号を使用して制御される。図では、CDR 106によって修復されたクロック信号は、CDC 109を使用して、レジスタ204、カウンタ212およびレジスタ127のクロック入力ポートに提供される。カウンタ212の出力は、入力制御信号と同様に、MUX 202およびMUX 208に提供される。図2に示す実施形態では、カウンタ212は4ビット・カウンタを備えている。カウンタ212は、デスキュー・チャネル128上に伝送するため、およびデスキュー・チャネル128上への伝送のために交互パリティ・ビットを生成するのに使用するために、関連するDC 1160〜1163からMUX 202によってデータ・サンプルの選択を制御する。カウンタ212は、奇数パリティ・ビットの生成と偶数パリティ・ビットの生成の間のパリティの交互を制御する。
図2に示すように、MUX 202は、各DC 1160〜1163から1ビット・データ・サンプルをレジスタ204からパリティ・ビット出力を入力として受信する。MUX 202は、レジスタ204から出力された(奇数パリティ・ビットと偶数パリティ・ビットの間で交互である)パリティ・ビットでそれぞれのDC 1160〜1163から受信された4つの1ビット・データ・サンプルを多重化する。本明細書に記載したように、カウンタ212はMUX 202の多重化機能を制御する。MUX 202の出力(すなわち、デスキュー・ビットストリーム)は、デスキュー・チャネル128上に伝送するためのレジスタ127のデータ入力ポート、およびXOR論理ゲート206の第2の入力ポートの両方に送信される。MUX 208の出力は、XOR論理ゲート206の第1の入力ポートに入力される。XOR論理ゲート206は、MUX 202の出力およびMUX 208の出力上でXOR機能を行う。MUX 208の出力は、計算されるパリティ・ビットのタイプを判断するのに使用される(すなわち、奇数パリティ・ビットまたは偶数パリティ・ビットは、それぞれDC 1160〜1163からの4つの1ビット・データ・サンプルを使用して計算される)。MUX 202の出力は、パリティ・ビットの値を測定するために、XOR論理ゲート206によって使用される。一実施形態では、MUX 208は、PDCGM 126の定常動作の前に計算されるパリティ・ビットのタイプを判断するために、初期化ビットを使用する。
XOR論理ゲート206によって生成された出力は、デスキュー・ビットストリーム内に含まれるように、デスキュー・パリティ・ビットを含んでいる。XOR論理ゲート206によって生成されたパリティ・ビットは、レジスタ204に送信される。レジスタ204は、それぞれDC 1160〜1163から受信された4つの1ビット・データ・サンプルでのパリティ・ビットの多重化の前に、パリティ・ビットを記憶する。Dタイプのフリップ・フロップとして示されているが、レジスタ204は同様の一時記憶機能を提供するように動作可能なあらゆるコンポーネントを使用して実行することができる。したがって、図2に示すように、PDCGM 126は交互パリティ・ビット(奇数パリティ・ビットと偶数パリティ・ビットの間で交互である)を生成し、デスキュー・チャネル128上への直列伝送を行うために、デスキュー・ビットストリームを作り出すために、それぞれ交互パリティ・ビットが生成される1ビット・データ・サンプルで生成した交互パリティ・ビットを多重化する。一実施形態では、デスキュー・ビットストリームは、デスキュー・ビットストリームの生成中にサンプリングされたデータ・チャネルを同期させるために、様々な制御モジュールおよびバッファ・モジュールを制御するように動作可能である。
図3は、図2のパリティ・デスキュー・チャネル生成モジュールによる並列デスキュー・チャネル生成の論理図を示している。特に、図3の並列デスキュー・チャネル生成300の論理図は、DC 1160〜1163およびデスキュー・チャネル128を備えている。図3に示すように、(データ・ライン上での伝送に関する)伝送方向は、(クロック・サイクル0が第1のクロック・サイクルである場合に)右側から左側である。特に、レジスタ114の出力ポートから出力され、それぞれのDC 116上に伝送された11個のビットが示されている。例えば、DC 1163の上に伝送されているように示されている11個のデータ・ビットは、ビット(3,0)〜ビット(3,10)として示された11個のビットを含んでいる。同様に例えば、DC 1162の上に伝送されているように示されている11個のデータ・ビットは、ビット(2,0)〜ビット(2,10)として示された11個のデータ・ビットを含んでいる。同様に例えば、DC 1161の上に伝送されているように示されている11個のデータ・ビットは、ビット(1,0)〜ビット(1,10)として示された11個のデータ・ビットを含んでいる。同様に例えば、DC 1160の上に伝送されているように示されている11個のデータ・ビットは、ビット(0,0)〜ビット(0,10)として示された11個のビットを含んでいる。図3に示すように、DC 116は、それぞれDC 1163〜1160に関連したビット(3,0)、(2,0)、(1,0)および(0,0)が時間位置合わせされ、それぞれDC 1163〜1160に関連したビット(3,1)、(2,1)、(1,1)および(0,1)が時間位置合わせされ、同様にそれぞれDC 1163〜1160に関連した他のデータ・ビットが時間位置合わせされるように同期される。
本発明は4つのデータ・チャネルの同期に関して本明細書に最初に図示および記載されているので、図3に示すように、各DC 1163〜1160上に伝送された全ての第5のビットは、デスキュー・チャネル128上の伝送のために選択される。このようにして、各DC 1163〜1160上に伝送された全ての第5のビットは、デスキュー・チャネル128上に伝送されたデスキュー・ビットストリームを形成するように、サンプリングしたデータ・ビットでインターリーブされた交互パリティ・ビットの生成のために使用される。一実施形態では、図3に示すように、生成したパリティ・ビットは、その交互パリティ・ビットを生成するのに使用された(それぞれ、DC 1163〜1160からの)4つのサンプル・ビットに関連する4つのビット位置の直ぐ後のビット位置のデスキュー・ビットストリームに挿入される。
奇数パリティ・ビットの生成に関して、図3に示すように、DC 1163からサンプリングされたビット(3,0)、DC 1162からサンプリングされたビット(2,1)、DC 1161からサンプリングされたビット(1,2)、およびDC 1160からサンプリングされたビット(0,3)は、デスキュー・チャネル128上への直列伝送のために、デスキュー・ビットストリームの一部を形成するために多重化される。さらに、図3に示すように、サンプリングされたビット(3,0)、(2,1)、(1,2)および(0,3)は、デスキュー・チャネル128上に伝送されるデスキュー・ビットストリームに挿入される奇数パリティ・ビットを生成させるために、XNOR論理ゲート3020のそれぞれの入力ポートに入力として提供される。図3に示すように、生成された奇数パリティ・ビットは、奇数パリティ・ビットを生成するために、それぞれDC 1163〜1161からサンプリングされた4つのデータ・ビットの直ぐ後のビット位置のデスキュー・ビットストリームに挿入される。
偶数パリティ・ビットの生成に関して、図3に示すように、DC 1163からサンプリングされたビット(3,5)、DC 1162からサンプリングされたビット(2,6)、DC 1161からサンプリングされたビット(1,7)、およびDC 1160からサンプリングされたビット(0,8)は、デスキュー・チャネル128上への直列伝送のために、デスキュー・ビットストリームの一部を形成するために多重化される。さらに、図3に示すように、サンプリングされたビット(3,5)、(2,6)、(1,7)および(0,8)は、デスキュー・チャネル128上に伝送されるデスキュー・ビットストリームに挿入される偶数パリティ・ビットを生成させるために、XOR論理ゲート302Eのそれぞれの入力ポートに入力として提供される。図3に示すように、生成された偶数パリティ・ビットは、偶数パリティ・ビットを生成するために、それぞれDC 1163〜1161からサンプリングされた4つのデータ・ビットの直ぐ後のビット位置のデスキュー・ビットストリームに挿入される。
本明細書に記載するように、デスキュー・ビットストリームを生成する際に使用された関連するデータ・チャネルを同期させるためのデスキュー・ビットストリームの処理は、10ビット・デスキュー・フレーム上で行われる。デスキュー・ビットストリームのデスキュー・ビットはビットごとに前進するので、そのクロック・サイクル中に処理された10ビットは単一の10ビット・デスキュー・フレーム(すなわち、位置合わせされた10ビット・デスキュー・フレーム)からのデスキュー・ビット、または異なる10ビット・デスキュー・フレーム(すなわち、位置合わせされていない10ビット・デスキュー・フレーム)からのデスキュー・ビットを含んでいるかどうかを判断するように、各クロック・サイクルで処理が行われる。一実施形態では、位置合わせされた10ビット・デスキュー・フレームは、奇数パリティ・ビットを生成するためにサンプリングされた4つのデータ・ビット、奇数パリティ・ビット、偶数パリティ・ビットを生成するためにサンプリングされた4つのデータ・ビット、および偶数パリティ・ビットを含んでいる。位置合わせした10ビット・デスキュー・フレームの検出の際、その位置合わせした10ビット・デスキュー・フレームを生成するのに使用されるデータ・チャネルを同期させるために、同期処理を行うことができる。10ビット・デスキュー・フレームに関して(すなわち、4つのデータ・チャネルの使用により)本明細書で説明したが、デスキュー・フレームはあらゆる数のビットを含むことができる。さらに、図3に関して図示および記載するように特定のビット位置を含む位置合わせした10ビット・データ・フレームに関して本明細書に記載したが、当業者はビット位置の様々な構成を含む位置合わせしたデスキュー・フレームを使用して本発明の方法を行うことができることが分かるだろう。
図4は、図2のパリティ・デスキュー・チャネル生成モジュールによる直列交互パリティ・ビット生成のフロー図を示している。この方法400は、ステップ402(すなわち、リセット状態)に入り、ステップ404に進む。ステップ404では、偶数パリティ初期化ビット(図では、「0」ビット)が、偶数パリティ・ビットを生成するのに使用するためにロードされる。カウント変数は0に初期化される(すなわち、カウント=0)。ステップ406では、XOR動作が、偶数パリティ初期化ビット(すなわち、「0」ビット)、およびDC 1163から受信したサンプリング・データ・ビット(データ{3}として示される)で行われる。カウント変数は1に増分される(カウント=1)。ステップ408では、XOR動作は、前のステップから得られた値、およびDC 1162から受信したサンプリング・データ・ビット(データ{2}として示される)で行われる。カウント変数は2に増分される(カウント=2)。ステップ410では、XOR動作は、前のステップから得られた値、およびDC 1161から受信したサンプリング・データ・ビット(データ{1}として示される)で行われる。カウント変数は3に増分される(カウント=3)。ステップ412では、XOR動作は、前のステップから得られた値、およびDC 1160から受信したサンプリング・データ・ビット(データ{0}として示される)で行われる。この第4のXOR動作の結果(すなわち、ステップ412の結果)は、DC 1163〜1160からの4つのデータ・サンプルに関連する偶数パリティ・ビットである。カウント変数は4に増分される(カウント=4)。
ステップ414では、奇数パリティ初期化ビット(図では、「1」ビット)が、奇数パリティ・ビットを生成するのに使用するためにロードされる。カウント変数は5に増分される(カウント=5)。ステップ416では、XOR動作が、奇数パリティ初期化ビット(すなわち、「1」ビット)、およびDC 1163から受信した別のサンプリング・データ・ビット(データ{3}として示される)で行われる。カウント変数は6に増分される(カウント=6)。ステップ418では、XOR動作は、前のステップから得られた値、およびDC 1162から受信した別のサンプリング・データ・ビット(データ{2}として示される)で行われる。カウント変数は7に増分される(カウント=7)。ステップ420では、XOR動作は、前のステップから得られた値、およびDC 1161から受信した別のサンプリング・データ・ビット(データ{1}として示される)で行われる。カウント変数は8に増分される(カウント=8)。ステップ422では、XOR動作は、前のステップから得られた値、およびDC 1160から受信した別のサンプリング・データ・ビット(データ{0}として示される)で行われる。この第4のXNOR動作の結果(すなわち、ステップ422の結果)は、DC 1163〜1160からの他の4つのデータ・サンプルに関連する奇数パリティ・ビットである。カウント変数は9に増分される(カウント=9)。方法400はその後、ステップ404に戻り、この点で偶数パリティ初期化ビットが、本明細書に記載するように、偶数パリティ・ビットの直列測定に使用するためにロードされる。すなわち、図4に関して図示および記載したステップ404〜422は、デスキュー・ビットストリームに含まれるように交互パリティ・ビットを生成させるために繰り返される。
XORおよびXNOR理論ゲートの両方を使用するとして、図3の並列パリティ・ビット生成実行で示されているが、連続パリティ・ビット生成実行では、シーケンスの開始値として「0」(偶数パリティ・ビットに対して)、または「1」(奇数パリティ・ビットに対して)を使用して、結果の反転が行われる。偶数パリティ・ビットおよび奇数パリティ・ビットをそれぞれ生成するためにXOR動作を使用するとして本明細書に記載されているが、当業者は偶数パリティ・ビットおよび奇数パリティ・ビットを生成させるために、本発明により様々な他の論理動作を使用することができることが分かるだろう。一実施形態では、カウント変数は4ビット・カウンタ(図では例えば、図2に関して本明細書で図示および説明したカウンタ212)を使用して維持される。さらに、モジュロ10カウンタを備えているとして本明細書に記載されているが、当業者は、本発明の方法によりデータ・チャネルを同期させるのに使用するために、交互偶数パリティ・ビットおよび奇数パリティ・ビットを生成するのに様々な他のカウンタおよび関連するカウント変数処理を使用することができることが分かるだろう。
図5は、フレーマ・モジュールおよび並直列変換回路を含む、データ・チャネル位置合わせシステムの高レベル・ブロック図を示している。特に、図5のデータ・チャネル位置合わせシステム500は、図1に関して本明細書で図示および説明した、SERDES 101およびFM 102を備えている。図5に示すように、FM 102は複数の伝送データ・フレーマ・モジュール(TDFM)5040〜5043(集合的に、TDFM 504)と、位相ロック・ループ(PLL)510と、パリディ・デスキュー・ジェネレータ・モジュール(PDGM)524と、伝送デスキュー・フレーマ・モジュール(TDFM)527とを備えている。図5に示すように、SERDES 101は、複数のデータ・クロック・データ・リカバリ(DCDR)ユニット5140〜5143(集合的に、DCDR 514)と、複数のデータ・ワンダ・バッファ(DWB)5180〜5183(集合的に、DWB 518)と、複数のデータ遅延補償バッファ(DDCB)5200〜5203(集合的に、DDCB 520)と、デスキュー・クロック・データ・リカバリ(DCDR)ユニット534と、デスキュー・ワンダ・バッファ(DWB)536と、デスキュー・フレーマ(DF)538と、デスキュー位置合わせ制御装置(DAC)540と、クリーンアップ位相ロック・ループ(CPLL)516と、マルチプレクサ(MUX)542と、送信機544とを備えている。
図5に示すように、TDFM 5040〜5043は、切換コア(図示せず)からそれぞれ複数の切換データ信号(SDS)502(集合的に、SDS 502)を受信する。さらに、SDS 502の少なくとも一部は、PDGM 524上のそれぞれ複数の入力ポートに結合された複数のサンプル・データ入力ライン(SDIL)522を使用して、PDGM 524に提供される。PDGM 524は、デスキュー・ビットストリームを生成するのに使用するためにSDS 502をサンプリングする。
図5に示すように、TDFM 5040〜5043は、複数のマルチプレクサ(MUX)5060〜5063(集合的に、MUX 506)と、複数のレジスタ5080〜5083(集合的に、レジスタ508)とを備えている。図5に示すように、各MUX 506は、切換データ信号502のそれぞれの部分を受信する8つのデータ入力ポート、およびSERDES 101に向かって多重化データ・ビットストリームを伝送する1つのデータ出力ポートを含む、8から1のマルチプレクサを備えている。8:1のマルチプレクサを備えているように示されているが、当業者は、データ・チャネルの数によって、MUX 506を実行するのに様々な他のマルチプレクサ論理を使用することができることが分かるだろう。MUX 5060〜5063のデータ出力ポートはそれぞれ、レジスタ5080〜5083のデータ入力ポートに結合されている。図5に示すように、MUX 506は、各MUX 506上のそれぞれの制御入力ポートにPLL 510から伝送された3つの制御信号を使用して、PLL 510によって制御されている。MUX 5060〜5063から出力された多重化データ・ビットストリームはそれぞれ、レジスタ5080〜5083に入力される。
図5に示すように、レジスタ5080〜5083はそれぞれ、MUX 5060〜5063から多重化データ・ビットストリームを受信する。Dタイプのフリップ・フロップとして示されているが、レジスタ508は同様の記憶コンポーネントを使用して実行することができる。レジスタ508は、各レジスタ508のクロック入力ポートに加えられるPLL 510によって生成されたクロック信号によって制御される。PLL 510によって生成されたクロック信号は、各レジスタ508を通るデータ・ストリームを制御する。PLL 510から受信したクロック信号に応じて、各レジスタ508は、それぞれ複数のデータ・チャネル(DC)5120〜5123(集合的に、DC 512)を使用して、SERDES 101のそれぞれのDCDR 514に向かう伝送のためにデータ・ビットを読み出す。すなわち、レジスタ5080〜5083の出力ポートはそれぞれ、DCDR 5140〜5143の入力ポートに結合されている。
DCDR 5140〜5143は、それぞれDC 5120〜5123に関連するデータ・ビットストリーム上でデータ・リカバリ機能およびクロック・リカバリ機能を行う。DCDR 514は、それぞれ各DCDR 514上の制御入力ポートにCPLL 516から伝送された制御信号を使用して、CPLL 516によって制御されている。DC 5120〜5123からDCDR 5140〜5143によって修復されたデータ信号およびクロック信号は、それぞれDWB 5180〜5183に伝送される。DCDR 5140〜5143のデータ出力ポートおよびクロック出力ポートは、それぞれDWB 5180〜5183のデータ入力ポートおよびクロック入力ポートに結合されている。
DWB 5180〜5183は、それぞれDCDR 5140〜5143からデータ・ビットストリームおよび関連するクロック信号を受信する。DWB 5180〜5183は、それぞれのデータ・ビットストリームを同期させるように、遅延補償処理の前に修復したデータ・ビットストリームをバッファする。DWB 518は、それぞれ各DWB 518上の制御入力ポートにCPLL 516から伝送された制御信号を使用して、CPLL 516によって制御される。図5に示すように、DWB 5180〜5183の出力ポートはそれぞれ、DDCB 5200〜5203の入力ポートに結合されている。DWB 5180〜5183は、CPLL 516からのそれぞれの制御信号に応じて、それぞれDDCB 5200〜5203にバッファしたデータ・ビットストリームを送信する。
図5に示すように、各DDCB 5200〜5203は、それぞれDC 5120〜5123に関連するデータ・ビットストリームを同期する(すなわち、デスキューする)ように動作可能な12−UIセレクタを備えている。12−UIセレクタとして示されているが、当業者は各DDCB 5200〜5203は、あらゆる数のユニット間隔を利用するセレクタとして実行することができることが分かるだろう。すなわち、各DDCB 5200〜5203は、本発明によりあらゆる所望の量のスキュー補償に適応させることができる。DDCB 520は、DAC 540によって生成されたそれぞれ複数の位置合わせ制御信号(ACS)5410〜5413を使用して、DAC 540によって制御される。DAC 540は、PDGM 524によって生成され、デスキュー・チャネル532の上でSERDES 101にFM 102から伝送されるデスキュー・ビットストリームによって制御される。一実施形態では、DAC 540およびCCDB 520の1つは、DDCB 520の1つに関連するデータ・ビットストリームを同期させるように動作する。例えば、DAC 540およびDDCB 5200〜5203は、それぞれにDC 5120〜5123に関連するデータ・ビットストリームを同期するように動作する。
図5に示すように、DDCB 5200〜5203の出力ポートは、マルチプレクサ(MUX)542のそれぞれの入力ポートに結合されている。MUX 542は、それぞれDDCB 5200〜5203から受信した位置合わせされたデータ・ビットストリームを多重化する。図5に示すように、MUX 542は4:1のマルチプレクサを備えている。一実施形態では、本明細書に最初に記載したように、MUX 542によって受信された4つのデータ・ビットストリームはそれぞれ10Gbpsビットストリームを含んでおり、MUX 542によって出力された多重化データ・ビットストリームは40Gpbsデータ・ビットストリームを含んでいる。4:1のマルチプレクサを備えているように示されているが、当業者は、データ・チャネルの数によって、MUX 542を実行するのに様々な他のマルチプレクサ論理を使用することができることが分かるだろう。図5に示すように、MUX 542による多重化データ・ビットストリームの出力は、CPLL 516からの制御信号を使用して制御される。MUX 542の出力ポートは、送信機544の入力ポートに結合されている。送信機544は、多重化データ・ビットストリームを受信し、関連する下流ノードに向かう伝送のために、電気/光変換用光モジュール(図示せず)に向かって多重化データ・ビットストリームを伝送する。
図5に示すように、PDGM 524上のそれぞれ複数の入力ポートに結合された複数のサンプル・データ入力ライン(SDIL)522を使用して、SDS 502の少なくとも一部がPDGM 524に提供される。PDGM 524は、デスキュー・ビットストリームを生成するのに使用するために、SDS 502をサンプリングする。本明細書に記載するように、デスキュー・ビットストリームは、関連するデータ・チャネルからのサンプル・ビット、および関連するデータ・チャネルからのサンプル・ビットを使用して生成されるパリティ・ビットを含む直列ビットストリームを含んでいる。一実施形態では、生成されたパリティ・ビットは、奇数パリティ・ビットと偶数パリティ・ビットの間で交互となる交互パリティを含んでいる。一実施形態では、PDGM 524は、図2、図3および図4に関して本明細書に記載するように、交互奇偶パリティ・ビットを生成する。図5に示すように、PDGM 524はそれぞれ、DDFM 527の10個の入力ポートに結合された10個の出力ポートを備えている。PDGM 524は、関連する複数の接続526を使用して、奇数パリティ・ビットを生成するのに使用される4つのサンプル・ビット、奇数パリティ・ビット、偶数パリティ・ビットを生成するのに使用される4つのサンプル・ビット、および偶数パリティ・ビットをTDFM 527に送信する。
TDFM 527は、マルチプレクサ(MUX)528、およびレジスタ530を備えている。図5に示すように、MUX 528は8:1のマルチプレクサを備えている。MUX 528は、PDGM 524によって出力されたデスキュー・ビットおよび関連する交互奇偶デスキュー・パリティ・ビットを受信する8個のデータ入力ポートを備えている。MUX 528は、PLL 510から制御信号を受信するように動作可能である3つの制御入力ポートを備えている。PLL 510は、PDGM 524から受信したデスキュー・ビットの多重化を制御する。MUX 528の出力ポートは、レジスタ530の入力ポートに結合されている。8:1のマルチプレクサを備えているように示されているが、当業者は(例えば、1:16、1:32などであってもよい)FM 102の内部クロック速度によって、MUX 524を実行するのに使用されることができることが分かるだろう。一実施形態では、データ・チャネルおよびデスキュー・チャネルは同じ速度適応を利用している。
レジスタ530は、MUX 528からデスキュー・ビットストリームを受信し、デスキュー・チャネル532の上へのデスキュー・ビットストリームの伝送の前に、デスキュー・ビットストリームの各ビットを記憶する。レジスタ530は、PLL 510から受信したクロック信号を使用して制御される。Dタイプのフリップ・フロップを備えていると示されているが、レジスタ530は同様のコンポーネントを使用して実行することができる。(FM 102上の)レジスタ530の出力ポートは、デスキュー・チャネル532を使用して、(SERDES 101上の)DCDR 534の入力ポートに結合されている。このようにして、FM 102は、DC 512に関連するデータ・ビットストリームを同期させるのに使用するために、SERDES 101にデスキュー・ビットストリームを伝送する。
図5に示すように、DCDR 534はデスキュー・チャネル532上にDDFM 527によって送信されたデスキュー・ビットストリームを受信する。DCDR 534は、デスキュー・ビットストリーム上でデータ・リカバリ機能およびクロック・リカバリ機能を行う。DCDR 534は、CPLL 516によって制御される。DCDR 534のデータ出力ポートは、DWB 536に修復したデスキュー・データ・ビットストリームを提供するように、DWB 536のデータ入力ポートに結合されている。DCDR 534のクロック出力ポートは、DWB 536に修復したクロック信号を提供するように、DWB 536のクロック入力ポートに結合されている。さらに、CDR 534のクロック出力ポートは、CPLL 516に修復したクロック信号を提供するように、CPLL 516の入力ポートに結合されている。図5に示すように、DCDR 534によってCPLL 516に提供される修復したクロック信号は、CPLL 516を制御するのに使用される。同様に、CPLL 516はDWB 536を通るデスキュー・ビットストリームの流れを制御する。このようにして、デスキュー・ビットストリームに関連する修復したクロック信号は、DCDR 5140〜5143、DWB 5180〜5183、およびMUX 542と、DWB 536を制御するのに使用される。DWB 536は、デスキュー・ビットストリーム上のワンダの影響をなくす。DWB 536の出力ポートは、DF 538の入力ポートに結合されている。
図5に示すように、DF 538はDWB 536からデスキュー・ビットストリームを受信する。DF 538は、DAC 540を制御するようにデスキュー・パリティ・ビット・マッチングを行う。DF 538の出力ポートは、DAC 540の入力ポートに結合されている。図5に示すように、DAC 540は各DDCB 520を制御する。このように、DAC 540は、多重化、および関連する光モジュール(図示せず)に向かう伝送のためにそれぞれのデータ・ビットストリームを同期させるように、DDCB 520を通るそれぞれのデータ・ビットストリームの流れを制御する。単一の出力ポートを備えているように示されているが、一実施形態では、DF 538は、様々なデータ・ビットおよび制御ビットをDAC 540に提供する複数の出力ポートを備えている。
単一の入力ポートを備えているように示されているが、一実施形態では、DAC 540は、DC 512に関連するデータ・ビットストリームを同期させるのに使用するように、DF 538から様々なデータ・ビットおよび制御ビットを受信するそれぞれ複数の入力ポートを備えている。本明細書に記載するように、DF 538はデスキュー・パリティ・ビット・マッチングを行うことによって、デスキュー・フレーミング機能を行う。DF 538は、図7および図8に関して本明細書に図示および記載されている。本明細書に記載するように、DAC 540と各DDCB 520の組合せは、DC 512に関連するデータ・ビットストリームを位置合わせするのに使用される。DAC 540およびDDCB 520の1つの組合せが、図9および図10に関連して本明細書に図示および記載されている。
図5に関連して記載した機能の少なくとも一部は、より少ない機能要素内に組み合わせることができることが考えられる。同様に、図5に関して記載した様々な機能は他の機能要素によって行うことができる、または様々な機能を異なる方法で様々な機能要素にわたって分配することができることが考えられる。例えば、一実施形態では、図5に関連して図示および記載したCDRの少なくとも一部(例えば、FM 102とSERDES 101の間の並列インターフェイスで使用されるCDR 514)は、それぞれの遅延ロック・ループ(DDL)に換えることができる。さらに、図5に関連して図示および記載した本発明の様々な機能は、図5に関連して図示および記載した機能要素を他の機能要素の様々な組合せと換えることによって行うことができる。
図6は、図5のSERDES 101によって受信されるスキューしたデータ・チャネルの論理図を示している。(図3に関して図示および説明した)位置合わせしたデータ・チャネルは、様々な装置パッケージ、回路パック・トレース、パッケージ・コネクタ、および同様のコンポーネントを横切るので、各コンポーネントは可変遅延を各データ・チャネルに与え、それによってSERDES 101によって受信された前に位置合わせしたデータ・チャネルがもはや位置合わせされないように、データ・チャネル間にスキューを案内する。このようにして、位置合わせしたデータ・チャネルがスキューされたデータ・チャネルにつながる様々なコンポーネントを横切った後に、本発明の少なくとも一部がデスキュー・チャネルを使用してデータ・チャネルをデスキューする(すなわち、再位置合わせする)のに使用される。
特に、SERDES 101によって受信されたスキューしたデータ・チャネルの論理図600は、DC 5120〜5123、およびデスキュー・チャネル532を備えている。図6に示すように、(データ・ライン上の伝送に関する)伝送方向は右から左である(この場合、クロック・サイクル0は第1のクロック・サイクルである)。特に、レジスタ508の出力ポートから出力され、それぞれのDC 512上に伝送された11個のビットが示されている。例えば、DC 5123の上に伝送されているように示されている11個のデータ・ビットは、ビット(3,0)〜ビット(3,10)として示された11個のビットを含んでいる。同様に例えば、DC 5122の上に伝送されているように示されている11個のデータ・ビットは、ビット(2,0)〜ビット(2,10)として示された11個のビットを含んでいる。同様に例えば、DC 5121の上に伝送されているように示されている11個のデータ・ビットは、ビット(1,0)〜ビット(1,10)として示された11個のビットを含んでいる。同様に例えば、DC 5120の上に伝送されているように示されている11個のデータ・ビットは、ビット(0,0)〜ビット(0,10)として示された11個のビットを含んでいる。
しかし図6に示すように、(図3に示すようなDC 1163〜1160に関連したデータ・ビットストリームと異なり)DC 5120〜5123に関連したそれぞれのデータ・ビットストリームがスキューされる。例えば、DC 5120に関連したデータ・ビットストリームのビット(0,0)は、DC 5121に関連したデータ・ビットストリームのビット(1,0)、DC 5122に関連したデータ・ビットストリームのビット(2,0)、およびDC 5123に関連したデータ・ビットストリームのビット(3,0)にもはや位置合わせされない。同様に、DC 512に関連したそれぞれのビットストリームの他の前に位置合わせされたビットはそれぞれ、もはや位置合わせされない。本明細書に記載するように、一実施形態では、DC 512に関連するデータ・ビットストリームの同期(すなわち、位置合わせ)は、DF 538、およびDAC 540とそれぞれDC 5120〜5123に関連したDDCB 5200〜5203の組合せを使用して行われる。
DC 512に関連したデータ・ビットストリームはもはや位置合わせされないので、一実施形態では、デスキュー・ビットストリームの分析およびフレーミングは、図3に関して本明細書に記載したように、デスキュー・ビットストリームの生成と実質的に同様の方法で行われる。このような一実施形態では、図3に関して本明細書に図示および記載したXNOR論理ゲート3020と実質的に同様の方法で動作するXNOR論理ゲート6020を使用して、奇数パリティ・ビットが生成される。同様に、このような一実施形態では、図3に関して本明細書に図示および記載したXOR論理ゲート302Eと実質的に同様の方法で動作するXOR論理ゲート602Eを使用して、偶数パリティ・ビットが生成される。奇数パリティ・ビットを生成させるためにサンプリングされた4つのデータ・ビット、奇数パリティ・ビット、偶数パリティ・ビットを生成させるためにサンプリングされた4つのデータ・ビット、偶数パリティ・ビットは、位置合わせした10ビット・デスキュー・フレームを含んでいる。したがって、一実施形態では、PDGM 524の動作は、図1に関して本明細書に図示および記載したPDCGM 126の動作とほぼ同様である。
図7は、図5のデスキュー・フレーマの高レベル・ブロック図を示している。特に、DF 538は、複数のレジスタ7020〜7029(集合的に、レジスタ702)を含むシリアル・レジスタ・チェーン(SRC)701と、パリティ・マッチング・モジュール(PMM)704と、デスキュー・フレーミング制御装置(DFC)712とを備えている。図7に示すように、SRC 701(図では、レジスタ7020)内の第1のレジスタは、DWB 536(図示せず)からデスキュー・ビットストリーム内の各デスキュー・ビットを受信する。レジスタ7020の出力ポートはレジスタ7021の入力ポートに結合され、レジスタ7021の出力ポートはレジスタ7022の入力ポートに結合され、レジスタ7022の出力ポートはレジスタ7023の入力ポートに結合され、レジスタ7023の出力ポートはレジスタ7024の入力ポートに結合され、レジスタ7024の出力ポートはレジスタ7025の入力ポートに結合され、レジスタ7025の出力ポートはレジスタ7026の入力ポートに結合され、レジスタ7026の出力ポートはレジスタ7027の入力ポートに結合され、レジスタ7027の出力ポートはレジスタ7028の入力ポートに結合され、レジスタ7028の出力ポートはレジスタ7029の入力ポートに結合され、レジスタ7029の出力ポートはDAC 540(図示せず)の入力ポートに結合される。さらに、レジスタ7029の出力ポートはDAC 540の入力ポートに結合されて、DAC 540にデスキュー比較ビットを提供する。12−UI補償に関して本明細書に図示および記載したが、本発明は取り除くのに必要なスキューの量によって、様々な他のユニット間隔補償量を使用して実施することができる。
SRC 701は、パリティ・マッチング処理を行う際に使用するために、各クロック・サイクルでデスキュー・ビットストリーム内に各デスキュー・ビットを前進させるように動作可能である。明確にする目的で、同期論理用のクロック信号が省略されている。このようにして、デスキュー・ビットがSRC 701のレジスタ702を通して前進すると、それによって新しいサーチ・ウィンドウが確立される。というのは、レジスタ702のそれぞれの出力でのビットはデスキュー・ビットストリームがSRC 701を通して前進するときに変わるからである。特に図7に示すように、各レジスタ702のそれぞれの出力ポートは、デスキュー・パリティ・ビット・マッチング処理を行う際に使用するために、PMM 704の対応する入力ポートに結合される。図7に示すように、PMM 704は、XOR論理ゲート706と、第1のXNOR論理ゲート707と、第2のXNOR論理ゲート708と、第3のXNOR論理ゲート709と、AND論理ゲート710とを備えている。
奇数パリティ処理に関して、レジスタ7021、7022、7023および7024の出力ポートは、XOR論理ゲート706のそれぞれの入力ポートに結合されている。XOR論理ゲート706は、当技術分野で知られている方法でXOR動作を行う。XOR論理ゲート706の出力ポートは、第1のXNOR論理ゲート707の第1の入力ポートに結合されている。レジスタ7020の出力ポートは、第1のXNOR論理ゲート707の第2の入力ポートに結合されている。第1のXNOR論理ゲート707は、XOR論理ゲート706から出力されるビット、およびレジスタ7020から出力されるビット上でXNOR動作を行う。
第1のXNOR論理ゲート707の出力ポートは、AND論理ゲート710の第1の入力ポートに結合されている。このようにして、第1のXNOR論理ゲート707によって行われるXNOR動作の結果が、計算した奇数パリティ値と受信した奇数パリティ・ビットが一致するかどうかを示すために、AND論理ゲート710の関連する入力ポートに与えられる。DC 5120からのサンプリングされたビットがレジスタ7024から出力され、DC 5121からのサンプリングされたビットがレジスタ7023から出力され、DC 5122からのサンプリングされたビットがレジスタ7022から出力され、DC 5123からのサンプリングされたビットがレジスタ7021から出力され、受信した奇数パリティ・ビットがレジスタ7020から出力された場合に、XOR論理ゲート706から出力された奇数パリティ値はレジスタ7020から出力される受信した奇数パリティ・ビットと一致する。
偶数パリティ処理に関して、レジスタ7026、7027、7028および7029の出力ポートは、第2のNXOR論理ゲート708のそれぞれの入力ポートに結合されている。第2のXNOR論理ゲート708は、当技術分野で知られている方法でXNOR動作を行う。XNOR論理ゲート708の出力ポートは、第3のXNOR論理ゲート709の第1の入力ポートに結合されている。レジスタ7025の出力ポートは、第3のXNOR論理ゲート709の第2の入力ポートに結合されている。第3のXNOR論理ゲート709は、第2のXNOR論理ゲート708から出力されるビット、およびレジスタ7025から出力されるビット上でXNOR動作を行う。
第3のXNOR論理ゲート709の出力ポートは、AND論理ゲート710の第2の入力ポートに結合されている。このようにして、第3のXNOR論理ゲート709によって行われるXNOR動作の結果が、計算した偶数パリティ値と受信した偶数パリティ・ビットが一致するかどうかを示すために、AND論理ゲート710の関連する入力ポートに与えられる。DC 5120からのサンプリングされたビットがレジスタ7029から出力され、DC 5121からのサンプリングされたビットがレジスタ7028から出力され、DC 5122からのサンプリングされたビットがレジスタ7027から出力され、DC 5123からのサンプリングされたビットがレジスタ7026から出力され、受信した偶数パリティ・ビットがレジスタ7020から出力された場合に、第2のXNOR論理ゲート708から出力された偶数パリティ値はレジスタ7025から出力される受信した偶数パリティ・ビットと一致する。
本明細書に記載するように、(XOR論理ゲート706によって計算された奇数パリティ値がレジスタ7020から出力された受信した奇数パリティ・ビットと一致するかどうかを判断するのに使用される)第1のXNOR論理ゲート707の出力は、AND論理ゲート710の第1の入力ポートに結合される。第1のXNOR論理ゲート707への両方の入力が同じである(すなわち、両方とも「0」である、または両方とも「1」である)場合、第1のXNOR論理ゲート707の出力はマッチを示す(すなわち、「1」がAND論理ゲート710の第1の入力ポートに出力される)。同様に、本明細書に記載するように、(第2のXNOR論理ゲート708によって計算された偶数パリティ値がレジスタ7025から出力された受信した偶数パリティ・ビットと一致するかどうかを判断するのに使用される)第3のXNOR論理ゲート709の出力は、AND論理ゲート710の第2の入力ポートに結合される。第3のXNOR論理ゲート709への両方の入力が同じである(すなわち、両方とも「0」である、または両方とも「1」である)場合第3のXNOR論理ゲート709の出力はマッチを示す(すなわち、「1」がAND論理ゲート710の第2の入力ポートに出力される)。
このように、AND論理ゲート710の出力は、デスキュー・チャネル532上で受信された奇数パリティ・ビットおよび偶数パリティ・ビットが両方ともマッチするかどうかに関する表示を行う。すなわち、AND論理ゲート710の出力は、現在の10ビット・デスキュー・フレーム(すなわち、奇数パリティ・ビットを生成するためにサンプリングされた4つのデータ・ビット、奇数パリティ・ビット、偶数パリティ・ビットを生成するためにサンプリングされた4つのデータ・ビット、および偶数パリティ・ビットを含む)が、関連するデータ・ビットストリームを同期させるためのさらなる処理を可能にする方法で位置合わせされるかどうかに関する表示を行う。このように、AND論理ゲート710の出力は、それぞれのDDCB 520を制御するDAC 540を制御するために、DFC 712に入力される。フレーミング・サーチ処理を行う並列方法を含むとして図7に関して図示および記載したが、一実施形態では、本発明のフレーミング・サーチ処理は、逐次の方法で、または他の並列処理方法と、その様々な組合せを使用して実施することができる。
一実施形態では、DFC 712は、3ビット状態マシンと、4ビット・フレーム・カウンタと、6ビット時間間隔カウンタ(すなわち、64クロック・サイクル・カウンタ)とを備えている。マッチ状態(すなわち、AND論理ゲート710の出力が「1」である)の識別により、フレーム・カウンタを開始させる。一実施形態では、フレーム・カウンタはモジュロ10フレーム・カウンタ(すなわち、0から9までカウントする)を備えている。一実施形態では、同じフレーム位置の2つの連続マッチが、デスキュー・フレーミング状態マシンの同期状態を維持する。一実施形態では、64クロック・サイクル時間間隔の間の2つ以上の奇偶パリティ・チェック・ミスマッチが、1クロック・サイクルだけの(すなわち、1ビット時間間隔だけの)サーチ・ウィンドウのシフトにつながる。すなわち、一実施形態では、64クロック・サイクル時間間隔の間の2つ以上の奇偶パリティ・ミスマッチが、奇偶パリティ・マッチの新しいサーチの開始につながる。このような一実施形態では、デスキュー・チャネル上の64クロック・サイクル時間間隔の間の単一ビット誤差は無視されている。
図7に示すように、DFC 712は、それぞれDC 5120〜5123を識別するように動作可能な複数の比較チャネル識別子信号(CCIS)7140〜7143(集合的に、CCIS 714)を生成する。同時信号を含んでいると示されているが、CCIS 7140〜7143の1つだけが特定のクロック・サイクル中に出力される。さらに、DFC 712はタイム・スタンプ信号(TSS)714Tを生成する。時間間隔カウンタが64クロック・サイクル時間間隔カウンタを備えている一実施形態では、TSS 714Tは64番目の時間間隔まで「0」であるままで、この点でTSS 714Tは「1」に設定され、現在の64ビット時間間隔の終了を識別し、次の64クロック・サイクル時間間隔の開始をトリガする。複数の比較パルス・チャネル7140〜7143およびタイム・スタンプ714T出力は、DAC 540(図示せず)に伝送される。DFC 712の動作は、図8に関して本明細書に図示および記載する。
図8は、図7のデスキュー・フレーミング制御装置のフロー図である。特に、デスキュー・フレーミング制御装置のフロー図800は、状態カウンタ801と、フレーム・カウンタ820と、時間間隔カウンタ830とを備えている。図8に示すように、DFC 712は、図7に関して本明細書に図示および記載したPMM 704からパリティ・マッチ・ビット(すなわち、AND論理ゲート710の出力)を連続して受信している。図8に示すように、状態カウンタ801は新規サーチ状態802で開始する。DFC 712によって受信されたパリティ・マッチ・ビットがゼロである(マッチ=「0」)場合、状態カウンタ801は新規サーチ状態802のままである。DFC 712によって受信されたパリティ・マッチ・ビットが1である(マッチ=「1」)場合、状態カウンタ801は一度発見状態804に進む。
図8に示すように、パリティ・マッチ・ビットが1であり(マッチ=「1」)、状態カウンタ801が新規サーチ状態802にある場合、フレーム・カウンタ820はゼロから9までカウントするモジュロ10を開始するように初期化される。図8に示すように、フレーム・カウンタ820に関連する各フレーム・カウンタ状態は、カウント変数(図では、カウント)、DC 5120に関連する比較ビット(図ではCOMP0)、DC 5121に関連する比較ビット(図ではCOMP1)、DC 5122に関連する比較ビット(図ではCOMP2)、およびDC 5123に関連する比較ビット(図ではCOMP3)を含んでいる。
フレーム・カウンタ820がゼロであるカウント(カウント=0)から4であるカウント(カウント=4)までサイクルすると、DC 5120〜5123に関連する4つのデータ・ビットはそれぞれ比較するために選択され(図では、COMPn=1、式中n=0,1,2,3)、DC 5120〜5123に関連する4つのデータ・ビットを使用して生成された偶数パリティ・ビットは4つの比較ビットそれぞれに対して比較するために(図では、COMPn=0に設定することにより、式中n=0,1,2,3)選択される。さらに、図8に示すように、ほぼ同様のプロセスが、奇数パリティ・ビットを生成するのに使用される4つのデータ・ビットを比較するため、また奇数パリティ・ビットを比較するために、フレーム・カウンタ820によって実施される。
図8に示すように、状態カウンタ801が一度発見状態804にある間に、パリティ・マッチ・ビットがゼロであり(マッチ=「0」)、カウントが9である(カウント=9)である場合、状態カウンタ801は新規サーチ状態802に戻る。別の方法では、状態カウンタ801が一度発見状態804にある間に、パリティ・マッチ・ビットが1であり(マッチ=「1」)、カウントが9である(カウント=9)である場合、状態カウンタ801は二度発見状態806に進む。状態カウンタ801はその後、二度発見状態806からイン・フレーム状態808に進む。状態カウンタ801がイン・フレーム状態808にある間に、パリティ・マッチ・ビットが1であり(マッチ=「1」)、カウントが9である(カウント=9)である限り、状態カウンタ801はイン・フレーム状態808にある。別の方法では、状態カウンタ801がイン・フレーム状態808にある間に、パリティ・マッチ・ビットがゼロであり(マッチ=「0」)、カウントが9である(カウント=9)である場合、状態カウンタ801は一度損失状態810に進む。
状態カウンタ801が一度損失状態810にある間に、パリティ・マッチ・ビットが1であり(マッチ=「1」)、カウントが9である(カウント=9)である場合、状態カウンタ801は一度損失状態810にある。別の方法では、状態カウンタ801が一度損失状態810にある間に、パリティ・マッチ・ビットがゼロであり(マッチ=「0」)、カウントが9である(カウント=9)である場合、状態カウンタ801は二度損失状態812に進む。状態カウンタ801はその後、二度損失状態812から新規サーチ状態802に戻る。さらに図8に示すように、時間間隔カウンタ830がTSS 714Tを1に設定した(図では、タイム・スタンプ=1)ときに状態カウンタ801が一度損失状態810にある場合に、状態カウンタ801は一度損失状態810からイン・フレーム状態808に戻る。
図8では特定の数の状態を使用して連続マッチ状態および連続非マッチ状態を識別すると示されているが、当業者はDFC 712の状態カウンタ801はより少ないまたは多い状態を含むことができ、状態を異なる方法で構成することができることが分かるだろう。図8ではモジュロ10フレーム・カウンタを備えていると示されているが、当業者はフレーム・カウンタ820は、交互パリティ・ビットを生成させるのに使用されるデータ・サンプルの数、および生成されるパリティ・ビットの数によって、本発明の方法により実行されるデスキュー・フレームに関連するあらゆる数のビット位置をカウントすることができることが分かるだろう。同様に、図8では64クロック・サイクル時間間隔カウンタとして示されているが、当業者は時間間隔カウンタ830はあらゆる時間間隔をカウントするために実行することができることが分かるだろう。
図9は、図5のデータ・チャネルの1つを位置合わせするデータ・チャネル位置合わせシステムの高レベル・ブロック図を示している。特に、図9のデータ・チャネル位置合わせシステム900は、図5に関して本明細書に図示および記載したDAC 540およびDDCB 520の1つ(図では、DDCB 520xであり、Xはデータ・チャネルによって0、1、2または3の1つである)を備えている。一実施形態では、DDCB 520Xは12ユニット間隔(12UI)セレクタを備えている。図9に示すように、DDCB 520xは、複数のレジスタ9021〜90211(集合的に、レジスタ902)を含むシリアル・レジスタ・チェーン(SRC)901と、マルチプレクサ(MUX)904と、レジスタ906とを備えている。明確にする目的で、同期論理用のクロック信号が省略されている。
図9に示すように、SRC 901の第1レジスタ(図では、レジスタ9021)は、DWB 518x(図示せず)から受信したDC 512xに関連するデータ・ビットストリーム内の各データ・ビットを受信する。レジスタ9021の出力ポートはレジスタ9022の入力ポートに結合され、レジスタ9022の出力ポートはレジスタ9023の入力ポートに結合され、レジスタ9023の出力ポートはレジスタ9024の入力ポートに結合され、レジスタ9024の出力ポートはレジスタ9025の入力ポートに結合され、レジスタ9025の出力ポートはレジスタ9026の入力ポートに結合され、レジスタ9026の出力ポートはレジスタ9027の入力ポートに結合され、レジスタ9027の出力ポートはレジスタ79028の入力ポートに結合され、レジスタ9028の出力ポートはレジスタ9029の入力ポートに結合され、レジスタ9029の出力ポートはレジスタ90210の入力ポートに結合される。
SRC 901は、データ・ビットストリーム位置合わせ処理を行う際に使用するために、各クロック・サイクルで選択したデータ・ビットストリーム内に各データ・ビットを前進させるように動作可能である。このようにして、データ・ビットがSRC 901のレジスタ902を通して前進すると、DAC 540による選択に利用可能である1セットのビットは連続して変わっている。すなわち、新規選択セット(すなわち、関連するデスキュー比較ビットとの比較のために選択するのに利用可能なデータ・ビットのセット)を各クロック・サイクルで確立することができる。特に図9に示すように、レジスタ9021の入力ポート、およびレジスタ9021〜90211の出力ポートは、DAC 540からの選択制御信号に応じてMUX 904による選択に利用可能なDDCB 520x内に各データ・ビットを作るように、MUX 904の対応する入力ポートに結合されている。選択したビットは、レジスタ7029(図示せず)からDAC 540によって受信したデスキュー比較ビットと比較するために選択される。
図9に示すように、DAC 540はデータ・ビットストリームを位置合わせする際に使用するために、DF 538(図示せず)のレジスタ7029からデスキュー比較ビットを受信する。DAC 540は、受信したデスキュー比較ビットに対して、DAC 540によって制御されたデータ・ビットストリームを選択する際に使用するために、DFC 712からCCIS 7140〜7143を受信する。特に、CCIS 7140〜7143がDAC 540によって処理されたデータ・チャネルを判断する。例えば、COMP0 7140が「1」である場合に、DAC 540はDDCB 5200(すなわち、X=0)を制御する。同様に例えば、COMP1 7141が「1」である場合にDAC 540はDDCB 5201(すなわち、X=1)を制御し、COMP2 7142が「1」である場合にDAC 540はDDCB 5202(すなわち、X=2)を制御し、COMP3 7143が「1」である場合にDAC 540はDDCB 5203(すなわち、X=3)を制御する。DAC 540は、データ・ビットストリームを位置合わせするようにDACによって使用される選択カウンタを制御する際に使用するために、DFC 712からTSS 714Tを受信する。
一実施形態では、DAC 540は3ビット状態マシンおよび4ビット選択カウンタを備えている。一実施形態では、単一の中央カウンタが使用され、各データ・チャネルに中央カウンタを分配するのにTSS 714Tを使用することができる。マッチ状態(すなわち、AND論理ゲート710の出力が「1」である)の識別により、フレーム・カウンタを開始させる。一実施形態では、選択カウンタはモジュロ12フレーム・カウンタ(すなわち、0から11までカウントする)を備えている。一実施形態では、64クロック・サイクル時間間隔の間の2つ以上のビット比較ミスマッチが、1ユニット間隔だけのサーチ・ウィンドウのシフトにつながる。すなわち、一実施形態では、64クロック・サイクル時間間隔の間の2つ以上のビット比較ミスマッチが、新しいサーチ・ウィンドウの開始につながる(すなわち、新規ビット比較が開始される)。このような一実施形態では、64クロック・サイクル時間間隔の間の単一ビット誤差は無視されている。
一実施形態では、同じ選択位置での2つの連続ビット比較(すなわち、MUX 904からの選択したビットをDF 538からのデスキュー比較ビットと比較すること)のマッチは、チャネル位置合わせ状態マシンの同期状態を維持する。このようにして、一実施形態では、同じビット選択位置での2つの連続ビット比較のマッチは、関連するデータ・チャネルのデータ・ビットストリームが同期(位置合わせ)されていることを示すデータ・ビットストリーム同期状態を識別する。このような一実施形態では、データ・ビットストリームが同期された(すなわち、データ・ビットストリーム同期状態が識別された)ことを判断したのに応じて、チャネル同期化フラッグが生成される(例えば、DAC 540によって出力されたRXSO信号が「1」に設定される)。
図9に示すように、DAC 540は比較ビット位置(すなわち、現在の比較が行われている関連するデータ・ビットストリーム内のビット位置)を選択するように制御信号を生成する。MUX 904の出力ポートは、レジスタ906の入力ポートに結合されている。このようにして、比較ビット位置を選択し、データ・ビットを比較ビット位置に関連するレジスタから受信する際に、MUX 904は選択したビットをレジスタ906の入力ポートに送信する。レジスタ906の出力ポートは、MUX 542(図示せず)の対応する入力ポートに結合されている。さらに、レジスタ906の出力ポートは、DFC 712によってDAC 540に提供されるデスキュー比較ビットとの比較のためにDAC 540に前のクロック・サイクル中に選択した選択ビットを提供するように、DAC 540の入力ポートに結合されている。比較ビット位置を選択するための制御信号は、図10に関して本明細書に図示および記載するように、状態カウンタおよび選択カウンタを使用してDAC 540によって生成される。
図10は、図5のデータ・チャネルの1つに対する、図9のデータ・チャネル位置合わせシステムのフロー図を示している。特に、データ・チャネル位置合わせシステムのフロー図1000は、状態カウンタ1001および選択カウンタ1020を備えている。図8に示すように、DAC 540は図7に関して本明細書に図示および記載したように、DF 538からデスキュー・ビットを、またDDCBXから比較ビットを連続して受信している。さらにDAC 540は、受信したデスキュー・ビット用にDAC 540によって制御されたデータ・ビットストリームを選択する際に使用するために、DFC 712からCCIS 7140〜7143(COMP−Nとして示され、NはDAC 540によって制御されるDDCB 520によって、0、1、2または3の1つである)を連続して受信している。
図10に示すように、状態カウンタ1001は新規比較状態1002で開始する。一実施形態では、状態カウンタ1001が新規比較状態1010に入ると、DAC 540はチャネル同期フラッグを「0」に設定し(図では、RXSO=「0」)、状態カウンタ1001が関連するデータ・ビットストリームが位置合わせされる状態(すなわち、チャネル同期化状態)に入るまで、チャネル同期フラッグを「0」に維持する。デスキュー・ビットおよび比較ビットがマッチしない(デスキュー・ビット≠比較ビット)場合、状態カウンタ1001は、(12UIセレクタを制御するように、MUX 904にDAC 540から伝送される制御信号を変えることによって)選択位置をシフトさせるシフト位置状態1004に進む。状態マシン1001はその後、新規比較状態1002に戻る。デスキュー・ビットおよび比較ビットがマッチする(デスキュー・ビット=比較ビット)場合、状態カウンタ1001は一度マッチ状態1006に進む。
図10に示すように、状態カウンタ1001が一度マッチ状態1006にある間に、デスキュー・ビットおよび比較ビットがマッチしない(デスキュー・ビット≠比較ビット)場合、状態カウンタ1001は、(12UIセレクタを制御するように、MUX 904にDAC 540から伝送される制御信号を変えることによって)選択位置をシフトさせるシフト位置状態1004に進む。別の方法では、状態カウンタ1001が一度マッチ状態1006にある間に、デスキュー・ビットおよび比較ビットがマッチする(デスキュー・ビット=比較ビット)場合、状態カウンタ1001は二度マッチ状態1008に進む。状態カウンタ1001はその後、位置合わせ状態1010に進む。一実施形態では、状態カウンタ1001が位置合わせ状態1010にある間に、DAC 540はチャネル同期フラッグを「1」に維持する(図では、RXSO=「1」)。
図10に示すように、状態カウンタ1001が位置合わせ状態1010にある間に、デスキュー・ビットおよび比較ビットがマッチする(デスキュー・ビット=比較ビット)場合、状態カウンタ1001は位置合わせ状態1010にあり、チャネル同期フラッグは「1」に設定されたままになる(図では、RXSO=「1」)。別の方法では、状態カウンタ1001が位置合わせ状態1010にある間に、デスキュー・ビットおよび比較ビットがマッチしない(デスキュー・ビット≠比較ビット)場合、状態カウンタ1001は一度ミスマッチ状態1012に進む。図10に示すように、状態カウンタ1001が一度ミスマッチ状態1012にある間に、デスキュー・ビットおよび比較ビットがマッチする(デスキュー・ビット=比較ビット)場合、状態カウンタ1001は一度ミスマッチ状態1012にあり、チャネル同期フラッグは「1」に設定されたままになる(図では、RXSO=「1」)。別の方法では、状態カウンタ1001が一度ミスマッチ状態1012にある間に、デスキュー・ビットおよび比較ビットがマッチしない(デスキュー・ビット≠比較ビット)場合、状態カウンタ1001は、(12UIセレクタを制御するように、MUX 904にDAC 540から伝送される制御信号を変えることによって)選択位置をシフトさせるシフト位置状態1004に進む。状態マシン1001はその後、新規比較状態1002に戻り、チャネル同期フラッグは「0」にリセットされる(RXSO=「0」)。さらに、図10に示すように、DFC 712がTSS 714Tを1に設定した(図では、タイム・スタンプ=1)ときに状態カウンタ1001が一度ミスマッチ状態1012にある場合に、状態カウンタ1001は一度ミスマッチ状態1012から位置合わせ状態1010まで戻る。
特定の状態マシン状態変化を行うとして示されているが、一実施形態では、正しい比較位置に到達した場合にのみ(例えば、各個別のデータ・チャネル用の有効フラッグによって全ての第5サイクル)、いくつかの状態変化をトリガすることができる。このような一実施形態では、様々な状態変化に応じて取り除かれる情報をこのような状態変化を作るために使用することができる。図10では特定の数の状態を使用して連続ビット・マッチ状態および連続非ビット・マッチ状態を識別すると示されているが、当業者はDAC 540の状態カウンタ1001はより少ないまたは多い状態を含むことができ、状態を異なる方法で構成することができることが分かるだろう。さらに、単一の状態カウンタ1001が図示されているが、DAC 540は、本発明により同期された各データ・チャネル用の1つの状態カウンタを備えていることに留意すべきである。図10ではモジュロ12選択カウンタを備えていると示されているが、当業者は選択カウンタ1020が、その選択カウンタに関連する状態カウンタを使用して同期されたデータ・チャネルに関連するあらゆる数のビット選択位置をカウントすることができることが分かるだろう。
記載した機能の少なくとも一部は、より少ない機能要素に組み合わせることができることが考えられる。同様に、様々な機能は他の機能要素によって行うことができる、または様々な機能は異なる方法で様々な機能要素にわたって分配することができることが考えられる。例えば、SERDES 101に関して本明細書に記載した機能の少なくとも一部は、FM 102の様々な機能要素によって行うことができ、FM 102に関して本明細書に記載した機能の少なくとも一部は、SERDES 101の様々な機能要素によって行うことができる。さらに、4つの10Gbpsデータ・チャネルの同期に関して本明細書に最初に記載されているが、当業者は様々な異なる速度のあらゆる数のデータ・チャネルを同期させるために、本発明の方法を使用することができることが分かるだろう。
図11は、本明細書に記載する機能を行う際に使用するのに適した汎用コンピュータの高レベル・ブロック図を示している。図11に示すように、システム1100はプロセッサ要素1102(例えば、CPU)と、メモリ1104、例えばランダム・アクセス・メモリ(RAM)および/または読み出し専用メモリ(ROM)と、本明細書に記載したような様々なデスキュー・ビットストリーム生成およびデスキュー・ビットストリーム処理およびデータ・チャネル同期機能を行うように動作可能であるデスキュー・モジュール1105と、様々な入出力デバイス1106(例えば、これに限らないが、テープ・ドライブ、フロッピ・ドライブ、ハード・ディスク・ドライブまたはコンパクト・ディスク・ドライブを含む記憶装置、受信機、送信機、スピーカ、ディスプレイ、出力ポート、およびユーザ入力装置(キーボード、キーパッド、マウスなど))とを備えている。
本発明は、ソフトウェア内、および/またはソフトウェアおよびハードウェアの組合せ内で、例えば特定用途向け集積回路(ASIC)、汎用コンピュータまたはあらゆる他のハードウェア相当物を使用して実施することができることに留意すべきである。一実施形態では、本デスキュー・モジュールまたはプロセス1105はメモリ1104内にロードし、上に論じたような機能を行うためにプロセッサ1102によって実行することができる。このようにして、本発明のデスキュー・プロセス1105(関連するデータ構造を含む)は、コンピュータ読取り可能媒体または担体、例えばRAMメモリ、磁気または光学ドライブまたはディスケットなどに記憶させることができる。
本発明の教示を組み込んだ様々な実施形態を本明細書で詳細に図示および記載してきたが、当業者はこれらの教示をさらに組み込んだ多くの他の変更実施形態を簡単に考え出すことができる。