(57)【要約】【課題】シリアルデータ内に所定のビット長毎に埋め込まれた基準ビット列を、短時間かつ簡便な構成で特定可能なデータ処理装置を提供する。【解決手段】ＰＣＳ４０において、シリアルデータＳ３０を６６ビット単位でパケット化し、ＳＯＰ検出回路４２でパケットデータＳ４１のＳＯＰを検出し、符号／復号回路４３で、ＳＯＰ基準のパケットデータについて６４Ｂ／６６Ｂ復号を行う。ＳＯＰ検出回路４２は、フリップフロップ群とＥＸＯＲ群とで構成される。【選択図】図２
2006237710.tif 000002
【特許請求の範囲】
【請求項１】
基準ビット列を含むブロック単位のデータ列を入力するデータ入力部と、
前記データ列の各ブロック内の隣接するビット列に対して、順に論理演算を行う複数の演算部と、
前記演算部の演算結果をブロック毎に記憶するバッファと、
当該バッファに記憶された演算結果が所定の第１演算結果であることを条件として、演算対象のビット列が前記基準ビット列と一致することを判別し、当該演算対象のブロック内における位置をブロック毎に特定するビット列判別部と、
前記位置特定を１または複数のブロックに対して行い、当該１または複数のブロック間で同一の位置に特定したことを条件として、当該位置をブロック内における前記基準ビット列の位置として特定する位置特定部と、
を備えたデータ処理装置。
【請求項２】
前記複数の演算部にそれぞれ対応し、連続する２ブロック分の前記演算部の演算結果がともに前記第１演算結果であることを条件として、当該第１演算結果を出力する複数の第２演算部をさらに有し、
前記バッファは、前記第２演算部の演算結果をブロック毎に記憶する
請求項１記載のデータ処理装置。
【請求項３】
前記複数の演算部は、隣接するブロックにまたがるビット列を演算対象とする演算部を含む
請求項１記載のデータ処理装置。
【請求項４】
前記基準ビット列は、「１０」または「０１」の２ビットであり、
前記演算部は、それぞれブロック内の隣接する２ビット毎に排他的論理和の演算を行う
請求項２記載のデータ処理装置。
【請求項５】
前記第２演算部は、連続する２ブロック分の前記演算部の演算結果に対して論理積の演算を行う
請求項４記載のデータ処理装置。
【請求項６】
６４Ｂ／６６Ｂ符号化され、基準ビット列を含む第１データ列を入力するデータ入力部と、
前記データ列を６６ビットのブロック毎の第２データ列に変換するビット変換部と、
前記第２データ列の各ブロック内の隣接するビット列に対して、順に論理演算を行う複数の演算部と、
前記演算部の演算結果をブロック毎に記憶するバッファと、
当該バッファに記憶された演算結果が所定の第１演算結果であることを条件として、演算対象のビット列が前記基準ビット列と一致することを判別し、当該演算対象のブロック内における位置をブロック毎に特定するビット列判別部と、
前記位置特定を１または複数のブロックに対して行い、当該１または複数のブロック間で同一の位置に特定したことを条件として、当該位置をブロック内における前記基準ビット列の位置として特定する位置特定部と、
前記第２データ列に対して、前記位置特定部により特定された位置を基準とした６６ビットの単位で６４Ｂ／６６Ｂ復号を行う復号部と、
を備えたデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信において、たとえばパケット単位などの所定のデータ単位毎にデータ処理を行うデータ処理装置に関する。
【背景技術】
【０００２】
近年、イーサネット（登録商標）などのＬＡＮ（Local Area Network）が広く使用されているが、転送速度をさらに高速化した１０ＧＢ（ギガビット）イーサネットの開発が盛んに行なわれるようになってきており、その構成は、下記非特許文献１に開示されているように、ＩＥＥＥ８０２．３ａｅとして規格化されている。
【０００３】
１０ＧＢイーサネットでは、伝送路符号を用いることによりワード同期を実現しているが、その伝送路符号として６４Ｂ／６６Ｂ符号が用いられている。
この６４Ｂ／６６Ｂ符号は、６４ビットペイロードと２ビットヘッダ（後述するＳＯＰ）から構成される。そして、ヘッダが“０１”のときは、データフレームであり、“１０”のときは制御フレームを表す。そして、６４Ｂ／６６Ｂのワード同期はヘッダを検出することによって行われる。
【０００４】
また、イーサネットでは、独立同期方式が採用される。
これは、送受信ノード間のクロック周波数を必ずしも一致させず、ある範囲内のずれを許容する方式である。クロック周波数を一致させる完全同期方式に比べ、独立同期方式はクロック分配が不要である利点を持ち、このクロック周波数のずれを適宜補正する構成をとる。
【０００５】
【非特許文献１】802.3ae(TM) IEEE Standard for Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks  Specific requirements.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、１０ＧＢイーサネットにおける受信システムでは、６４Ｂ／６６Ｂ符号化されたシリアルデータ（たとえば、１６ビットのシリアルデータ）を取得し、このシリアルデータを６４Ｂ／６６Ｂ復号する。
一方、取得したシリアルデータには、６６ビット（パケット）毎に送信側でパケット開始位置（以下、適宜ＳＯＰ：Start Of Packetと略記する）を示す基準ビット列が埋め込まれており、６４Ｂ／６６Ｂ復号を行うためには、受信側でＳＯＰの位置を判別する必要がある。
しかしながら、１０ＧＢイーサネットの受信システムでは、受信側でパケットの開始位置を示す同期信号等を受信しないため、取得したシリアルデータのどこにＳＯＰが存在するか判別することが困難であり、時間がかかる。
【０００７】
したがって、本発明の目的は、シリアルデータ内に所定のビット長毎に埋め込まれた基準ビット列を、短時間かつ簡便な構成で特定可能なデータ処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を克服するために、本発明の第１の観点は、基準ビット列を含むブロック単位のデータ列を入力するデータ入力部と、前記データ列の各ブロック内の隣接するビット列に対して、順に論理演算を行う複数の演算部と、前記演算部の演算結果をブロック毎に記憶するバッファと、当該バッファに記憶された演算結果が所定の第１演算結果であることを条件として、演算対象のビット列が前記基準ビット列と一致することを判別し、当該演算対象のブロック内における位置をブロック毎に特定するビット列判別部と、前記位置特定を１または複数のブロックに対して行い、当該１または複数のブロック間で同一の位置に特定したことを条件として、当該位置をブロック内における前記基準ビット列の位置として特定する位置特定部と、を備えたデータ処理装置である。
【０００９】
「ブロック」は、同一ビット数からなる情報単位の概念であり、実施形態の説明では、パケットに対応する。
「基準ビット列」は、データ列をブロック単位で処理するための基準となる情報であって、実施形態の説明では、パケット開始位置（ＳＯＰ）に対応する。
「バッファ」は、一時的に情報を記憶するための記憶手段である。
【００１０】
好適には、前記複数の演算部にそれぞれ対応し、連続する２ブロック分の前記演算部の演算結果がともに前記第１演算結果であることを条件として、当該第１演算結果を出力する複数の第２演算部をさらに有し、前記バッファは、前記第２演算部の演算結果をブロック毎に記憶する。
【００１１】
好適には、前記複数の演算部は、隣接するブロックにまたがるビット列を演算対象とする演算部を含む。
【００１２】
特定的には、前記基準ビット列は、「１０」または「０１」の２ビットであり、前記演算部は、それぞれブロック内の隣接する２ビット毎に排他的論理和の演算を行う。
【００１３】
特定的には、前記第２演算部は、連続する２ブロック分の前記演算部の演算結果に対して論理積の演算を行う。
【００１４】
上記課題を克服するために、本発明の第２の観点は、６４Ｂ／６６Ｂ符号化され、基準ビット列を含む第１データ列を入力するデータ入力部と、前記データ列を６６ビットのブロック毎の第２データ列に変換するビット変換部と、前記第２データ列の各ブロック内の隣接するビット列に対して、順に論理演算を行う複数の演算部と、前記演算部の演算結果をブロック毎に記憶するバッファと、当該バッファに記憶された演算結果が所定の第１演算結果であることを条件として、演算対象のビット列が前記基準ビット列と一致することを判別し、当該演算対象のブロック内における位置をブロック毎に特定するビット列判別部と、前記位置特定を１または複数のブロックに対して行い、当該１または複数のブロック間で同一の位置に特定したことを条件として、当該位置をブロック内における前記基準ビット列の位置として特定する位置特定部と、前記第２データ列に対して、前記位置特定部により特定された位置を基準とした６６ビットの単位で６４Ｂ／６６Ｂ復号を行う復号部と、を備えたデータ処理装置である。
【００１５】
本発明の作用は、以下の通りである。
すなわち、先ず、データ入力部は、基準ビット列を含むブロック単位のデータ列を入力する。複数の演算部は、入力したデータ列の各ブロック内の隣接するビット列に対して、順に論理演算を行う。バッファは、演算部の演算結果をブロック毎に記憶しておく。
そして、ビット列判別部は、バッファに記憶された演算結果が所定の第１演算結果であることを条件として、演算対象のビット列が前記基準ビット列と一致することを判別し、当該演算対象のブロック内における位置をブロック毎に特定する。位置特定部は、この位置特定を１または複数のブロックに対して行い、当該１または複数のブロック間で同一の位置に特定したことを条件として、当該位置をブロック内における前記基準ビット列の位置として特定する。
【発明の効果】
【００１６】
本発明によれば、シリアルデータ内に所定のビット長毎に埋め込まれた基準ビット列を、短時間かつ簡便な構成で特定することができる。したがって、当該基準ビット列を基準としてシリアルデータを処理することが可能となる。
【発明を実施するための最良の形態】
【００１７】
［第１実施形態］
以下、本発明のデータ処理装置の一実施形態として、データ通信装置１について、添付図面に関連付けて説明する。
実施形態に係るデータ通信装置１は、ＩＥＥＥ８０２．３ａｅに準拠した１０ＧＢイーサネットによる通信を行う装置である。
図１は、データ通信装置１のシステム構成の概略図である。
【００１８】
図１において、光モジュール１０は図示しない光ケーブルに接続され、ＭＡＣ／ＲＳモジュール６０は図示しない外部のデータ処理装置、たとえばパーソナルコンピュータ（ＰＣ）などのインタフェース回路に接続される。また、図１において、光モジュール１０からＰＣＳ４０までの処理は、物理層（ＰＨＹ層）での処理である。
【００１９】
図１において、データ通信装置１が光ケーブルからデータを受信する場合、先ず、光モジュール１０によって受信した光信号が電気信号（信号）に変換され、ＣＤＲ（Clock Data Recovery）２０がその信号からクロックとデータを再生する。
ＰＭＡ（Physical Medium Attachment)／ＰＭＤ（Physical Medium Dependent）３０では、ＰＭＤにおいて、設定された光波長に応じて物理媒体に接続し、ＰＭＡにおいてデータのシリアル化が行われる。
【００２０】
なお、受信したデータは送信側で６４Ｂ／６６Ｂ符号化され、これにより６４ビットの情報が６６ビットに変換されている。その際、６６ビット単位のパケット毎にパケット開始位置（ＳＯＰ：Start Of Packet）を示す基準ビット列が埋め込まれている。
そして、ＰＣＳ（Physical Coding Sublayer）４０では、ＰＭＡ／ＰＭＤ３０から供給されるシリアルデータを６６ビット単位でパケット化し、６４Ｂ／６６Ｂ復号化を行う。
しかしながら、受信側ではパケットの開始を示す同期クロックを受信せず、かつ、データをシリアルデータの形で処理するため、シリアルデータのどこにＳＯＰが埋め込まれているか検出する必要がある。
【００２１】
さらに、ＰＣＳ４０で復号化されたデータは、ＸＧＸＳ（XG eXtension Sublayer)／ＸＡＵＩ（10Gigabit Attachment Unit Interface）５０においてイーサネットフレームに変換されてＭＡＣ／ＲＳモジュール６０に供給される。
【００２２】
なお、１０ＧＢイーサネットにおいて、上記ＳＯＰは、“０１”のときは、データフレームであり、“１０”のときは制御フレームを表す。本実施形態に係るＰＣＳ４０では、簡便な構成をもって、ＰＭＡ／ＰＭＤ３０から供給されたシリアルデータから、短時間にＳＯＰ（“０１”または“１０”の２ビット列）を検出することを目的としている。
【００２３】
以下、ＰＣＳ４０の構成について説明する。
図２は、ＰＣＳ４０の構成を示すブロック図である。
【００２４】
図２において、ＰＣＳ４０は、ＰＭＡ／ＰＭＤ３０から１６ビットのシリアルデータＳ３０を入力する。
仮にＳＯＰの２ビットが、シリアルデータＳ３０の最初の１６ビットデータの先頭２ビットであったと仮定した場合、ＳＯＰは６６ビット毎に現れるため、図３に示すように、１６ビット単位のデータ１，データ５，データ９，…、にＳＯＰが現れることになるが、実際には、ＳＯＰはシリアルデータＳ３０の先頭２ビットとは限らず、また、ＳＯＰである“０１”または“１０”の組み合わせは、通常のデータの並びとしてどの場所にも存在し得る。
【００２５】
ビット変換回路４１では、１６ビットのシリアルデータＳ３０を６６ビット単位でパケット化したパケットデータＳ４１を生成する。当然ながら、パケットデータＳ４１は、６４Ｂ／６６Ｂ復号化に必要な、ＳＯＰから始まる６６ビットパケットにはならない。
また、ビット変換回路４１は、パケットデータＳ４１がパケット単位で更新されたことを示す同期信号ＳＹＮＣを生成する。たとえば、同期信号ＳＹＮＣは、パケットが更新されたときに１クロックのみハイレベルとなる信号である。
【００２６】
ＳＯＰ検出回路４２は、ビット変換回路４１から供給されたパケットデータＳ４１と同期信号ＳＹＮＣとに基づいて、ＳＯＰを検出し、パケットデータＳ４１の各パケットにおけるＳＯＰの位置、すなわち、６６ビットのうち何番目のビットであるかを示す位置を特定する。
ＳＯＰ検出回路４２は、パケットデータＳ４１と同一のパケットデータＳ４２ａと、ＳＯＰの検出結果として、パケットデータＳ４２ａの１パケットにおけるＳＯＰのビット番号を示すデータＳ４２ｂとを出力する。
ＳＯＰ検出回路４２の具体的な回路構成とＳＯＰ検出方法については、後述する。
【００２７】
なお、ＳＯＰ検出回路４２において、検出したＳＯＰの位置情報を基準として、新たにパケットデータを生成して、これをパケットデータＳ４２ｂとし、パケットデータＳ４２ｂにおけるパケットの更新のタイミングを表すワンパルス信号をデータＳ４２ｂとしてもよい。
【００２８】
符号／復号回路４３では、パケットデータＳ４２ａおよびデータＳ４２ｂに基づいて、ＳＯＰを基準とする、６６ビットのパケットデータに対して、６４Ｂ／６６Ｂ復号化、および後段出力のための符号化を行ったシリアルデータＳ４０をＸＧＸＳ／ＸＡＵＩ５０に供給する。
【００２９】
次に、ＳＯＰ検出回路４２の回路構成とＳＯＰの検出動作について説明する。
図４は、ＳＯＰ検出回路４２の回路構成を示す図である。
【００３０】
図４に示すように、ＳＯＰ検出回路４２は、フリップフロップ群４２１とＥＸＯＲ回路群４２２とを含んで構成される。なお、フリップフロップ群４２１とＥＸＯＲ回路群４２２は、本発明の複数の演算部の一実施形態である。
【００３１】
フリップフロップ群４２１は、６６個のフリップフロップからなる。そして、ビット変換回路４１から供給された同期信号ＳＹＮＣに同期して、パケットデータＳ４１をパケット単位で取り込む。
すなわち、フリップフロップ群４２１の各フリップフロップは、それぞれ、パケットのビット０〜ビット６５の６６ビットを取り込んでいく。
【００３２】
ＥＸＯＲ回路群４２２は、６６個のＥＸＯＲ回路からなる。そして、各ＥＸＯＲ回路は、フリップフロップ群４２１に取り込まれた６６ビットのパケットのうち、隣接する２ビットの排他的論理和（ＥＸＯＲ）演算を行う。したがって、隣接する２ビットが”０１”または“１０”の場合に限り、その出力がハイレベルとなる。
すなわち、ビット６５とビット６４のＥＸＯＲ演算を判定結果６５、ビット６４とビット６３のＥＸＯＲ演算を判定結果６４、…、というように出力が行われる。そして、ビット０と前回（１つ前のパケット）のビット６５を判定結果０として出力する。
ここで、現在のパケットのビット０と１つ前のパケットのビット６５の演算、すなわち、前後のパケットをまたがって演算を行うのは、パケットの境界にまたがってＳＯＰが存在する場合を考慮したためである。すなわち、このように構成することで、パケットの境界にまたがってＳＯＰが存在する場合でも、ＳＯＰを検出することができる。
【００３３】
ＳＯＰ検出回路４２には、図示しないバッファメモリ（本発明のバッファに相当）が設けられ、そのバッファメモリにＥＸＯＲ回路群４２２の出力である判定結果がパケット単位で順次格納されていく。
【００３４】
前述したように、ＳＯＰは”０１”または“１０”のビット列であり、１つのパケットにおいて、ハイレベルとなる判定結果が複数存在することが考えられる。
したがって、複数のパケットに対して、上記演算を行ってその結果をバッファメモリに格納しておく。そして、ＳＯＰ検出回路４２では、すべてのパケットに対して出力（判定結果）がハイレベルとなるＥＸＯＲ回路が一意に定まったときに、そのＥＸＯＲ回路に対応する２ビットの位置がＳＯＰの位置であると判断する。このようにして、ＳＯＰの位置が検出される。
【００３５】
図５は、ＳＯＰの検出結果の一例を示す図である。図では、ビット１２とビット１３がＳＯＰとして検出された例を示している。
【００３６】
そして、ＳＯＰ検出回路４２は、検出結果された、ＳＯＰの位置を示すデータをデータ４２ｂとして、後段の符号／復号回路４３に出力する。
【００３７】
以上説明したように、本実施形態に係るデータ通信装置１によれば、ＰＣＳ４０において、６４Ｂ／６６Ｂ復号を行う前に、シリアルデータを６６ビット単位でパケット化し、各パケットに含まれるＳＯＰを図４に示した簡便な回路で検出することができる。
すなわち、高度なアルゴリズムを行う必要がないためＣＰＵの負担が軽減される。したがって、ＳＯＰの検出を高速で行うことができる。
また、図４に示すように、小規模な回路構成でＳＯＰ検出を実現でき、基板への実装が容易である。
【００３８】
さらに、前段のビット変換回路４１から供給される同期信号ＳＹＮＣによってフリップフロップ群４２１が制御されるので、エラーの検出を容易に行うことができる。
たとえば、ＥＸＯＲ回路群４２２の判定結果が１つもハイレベルとならない場合には、ビット変換回路４１と同期がとれていないか、または、パケットデータＳ４１に何らかの異常があると判断することができる。
【００３９】
［第２実施形態］
次に、本発明の第２実施形態としてのデータ通信装置について述べる。
【００４０】
第１実施形態に係るデータ通信装置１では、複数のパケットに対して、出力（判定結果）がハイレベルとなるＥＸＯＲ回路が一意に定まるまで、ＳＯＰの位置を特定できないため、ＳＯＰの特定に時間がかかる場合に備えて、大容量のバッファメモリまたは大量のフリップフロップを設けなければならない場合がある。無論、このことはＳＯＰ検出回路４２を実装するうえで好ましいことではない。
かかる観点から、本実施形態に係るデータ通信装置は、第１実施形態と比較して、ＳＯＰの特定に時間がかかる場合であっても、大容量のバッファメモリを実装することなくＳＯＰを検出することができるようにすることを目的としている。
【００４１】
図６は、本実施形態に係るＳＯＰ検出回路４２ａの回路構成を示す図である。
図に示すように、ＳＯＰ検出回路４２ａは、ＳＯＰ検出回路４２（第１実施形態）と比較して、ＥＸＯＲ回路群４２２の後段に、フリップフロップ群４２３とＡＮＤ回路群４２４とが付加された点で相違する。
【００４２】
フリップフロップ群４２３は、１つ前のパケットの判定結果（ＥＸＯＲ回路群４２２の出力）を１パケット転送時間分保持し、同期信号ＳＹＮＣに同期してＡＮＤ回路群４２４に出力する。
【００４３】
ＡＮＤ回路群４２４では、ＥＸＯＲ回路群４２２の出力と、フリップフロップ群４２３の出力との論理積演算を行う。したがって、ＡＮＤ回路群４２４の出力（連続判定結果と称する）は、現在のパケットの判定結果と１つ前のパケットの判定結果とがともにハイレベルであることを条件として、ハイレベルとなる。すなわち、ＡＮＤ回路群４２４の連続判定結果は、パケットの隣接する２ビットが“０１”または“１０”を維持する間、常にハイレベルとなる。
【００４４】
なお、図６では、ビット６５とビット６４の判定結果６５に対して連続判定結果１６５が対応し、ビット６４とビット６３の判定結果６４に対して連続判定結果１６４が対応する。以下、同様に、判定結果と連続判定結果とが対応付けられている。
【００４５】
ＡＮＤ回路群４２４の連続判定結果は、図示しないバッファメモリに格納される。そして、ＳＯＰ検出回路４２ａでは、すべてのパケットに対して出力（連続判定結果）がハイレベルとなるＡＮＤ回路が一意に定まったときに、そのＡＮＤ回路に対応する２ビットの位置がＳＯＰの位置であると判断する。このようにして、ＳＯＰの位置が検出される。
【００４６】
したがって、本実施形態のＳＯＰ検出回路４２ａでは、ＳＯＰの特定に時間がかかる場合であっても、バッファメモリには、６６ビット分の連続判定結果しか格納されないので、大容量のバッファメモリを必要としない。これにより、回路構成を小規模にすることができる。
【００４７】
なお、本発明の実施形態は、上述した実施形態に拘泥せず、本発明の要旨を変更しない範囲内で様々な改変が可能である。
たとえば、上述の実施形態では、ＳＯＰが“０１”または“１０”の２ビット列の場合について説明したが、これに限定されない。ＳＯＰは３ビット以上からなるビット列でもよい。かかる場合には、１パケットの中の隣接する２ビットについて論理演算を行うのではなく、隣接する３ビット以上のビット列に対して、ＳＯＰと同一のビット列の入力に対してのみハイレベル（またはローレベル）となるようなゲート回路を構成すればよい。
【図面の簡単な説明】
【００４８】
【図１】実施形態に係るデータ通信装置のシステム構成の概略図である。
【図２】ＰＣＳの構成を示すブロック図である。
【図３】シリアルデータ列の一例を示す図である。
【図４】ＳＯＰ検出回路の回路構成を示す図である。
【図５】ＳＯＰの検出結果の一例を示す図である。
【図６】ＳＯＰ検出回路の回路構成を示す図である。
【符号の説明】
【００４９】
１…データ通信装置、１０…光モジュール、２０…ＣＤＲ、３０…ＰＭＡ／ＰＭＤ、４０…ＰＣＳ、４１…ビット変換回路、４２…ＳＯＰ検出回路、４３…符号／復号回路、５０…ＸＧＸＳ／ＸＡＵＩ、６０…ＭＡＣ／ＲＳモジュール。
【図１】
2006237710.tif 000003
【図２】
2006237710.tif 000004
【図３】
2006237710.tif 000005
【図４】
2006237710.tif 000006
【図５】
2006237710.tif 000007
【図６】
2006237710.tif 000008