Method and apparatus for detection of error in multiple-word communication

申请号 JP2006119897 申请日 2006-04-24 公开(公告)号 JP2006203951A 公开(公告)日 2006-08-03
申请人 Fujitsu Ltd; 富士通株式会社; 发明人 SHIMIZU TAKESHI; WICKI THOMAS MARTIN; HELLAND PATRICK JAMES;
摘要 PROBLEM TO BE SOLVED: To detect an error of a word in packet transmission.
SOLUTION: The method includes steps of: reading a data part (D
N ) of a word for detecting an error of the word in a packet; and generating a first code by performing the inclusive OR (XOR) processing of a first input generated from the data part (D
N ) and a second input generated from identifiers (V
N , U
O ) in the packet, the identifier including a set of bits for identifying an identifier of the packet or an ordering position of the word.
COPYRIGHT: (C)2006,JPO&NCIPI
权利要求
  • パケット内のワードのエラーを検出する方法において、
    前記ワードのデータ部を読み取るステップと、
    前記データ部から生成された第一の入力と、前記パケット内の識別子から生成された第二の入力とのイクスクルーシブオア処理を行うことで、第一のコードを生成するステップとを有し、
    前記識別子は、パケットの識別子あるいはワードの順序位置を識別するビットセットを有することを特徴とする、エラー検出方法。
  • 請求項1に記載のエラー検出方法において、
    前記第一の入力は、前記データ部に第一の行列を掛け合わせたものであることを特徴とする、エラー検出方法。
  • 請求項1または2に記載のエラー検出方法において、
    前記第二の入力は、前記識別子に第二の行列を掛け合わせたものであることを特徴とする、エラー検出方法。
  • 請求項1に記載のエラー検出方法において、
    前記第二の入力は、前記パケット識別子に第二の行列を掛け合わせたものであることを特徴とする、エラー検出方法。
  • 請求項1または請求項4に記載のエラー検出方法において、
    前記第二の入力は、前記ワード順序位置を識別するビットセットに第三の行列を掛け合わせたものであることを特徴とする、エラー検出方法。
  • 請求項1乃至5の何れか1項に記載のエラー検出方法において、
    前記第一のコードと、前記ワードとを出力するステップをさらに備えたことを特徴とする、エラー検出方法。
  • 請求項1乃至6の何れか1項に記載のエラー検出方法において、前記第二の入力をマスクするステップをさらに備えることを特徴とする、エラー検出方法。
  • 請求項1に記載のエラー検出方法において、
    ワードの入力を受け付けるステップをさらに備え、
    前記第一のコードを生成するステップは、前記第一の入力と前記第二の入力に加え、前記ワードに含まれたエラーコードから生成される第三の入力のイクスクルーシブオア処理を行うことで、前記第一のコードを生成することを特徴とする、エラー検出方法。
  • 請求項8に記載のエラー検出方法において、
    前記第三の入力は前記エラーコードに第四の行列を掛け合わせたものであることを特徴とする、エラー検出方法。
  • 請求項1に記載のエラー検出方法において、前記第一の入力は前記データ部であることを特徴とする、エラー検出方法。
  • 請求項1または10に記載のエラー検出方法において、前記第二の入力は前記識別子であることを特徴とする、エラー検出方法。
  • 請求項1または10に記載のエラー検出方法において、前記第二の入力は、前記パケット識別子であることを特徴とする、エラー検出方法。
  • 請求項1または10に記載のエラー検出方法において、前記第二の入力は、前記ワードの順序位置を識別するビットセットであることを特徴とする、エラー検出方法。
  • 請求項10乃至13の何れか1項に記載のエラー検出方法において、
    前記データ部から、第二のコードを生成するステップをさらに備えることを特徴とする、エラー検出方法。
  • 請求項14に記載のエラー検出方法において、
    前記第二のコードは、前記データ部に第一の行列を掛け合わせて生成されるものであることを特徴とする、エラー検出方法。
  • 請求項14または15に記載のエラー検出方法において、
    前記第一のコードと前記第二のコードとを出力するステップをさらに備えることを特徴とする、エラー検出方法。
  • 請求項1または請求項10乃至13の何れか1項に記載のエラー検出方法において、
    ワードの入力を受け付けるステップと、
    前記ワードに含まれたデータ部とから生成された第三の入力と、前記ワードに含まれた第三のコードから生成された第四の入力とのイクスクルーシブオア処理を行い、チェックコードを生成するステップと、をさらに備えることを特徴とする、エラー検出方法。
  • 請求項17に記載のエラー検出方法において、
    前記第三の入力は、前記データ部と第一の行列とを掛け合わせたものであることを特徴とする、エラー検出方法。
  • 請求項17または18に記載のエラー検出方法において、
    前記第四の入力は、前記第二のコードと第二の行列を掛け合わせたものであることを特徴とする、エラー検出方法。
  • 少なくともパケットが入力する入力端と、
    前記パケット内のデータ部から生成された第一の入力と、前記パケット内の識別子から生成された第二の入力のイクスクルーシブオア処理を行う処理部と、
    前記処理部による処理結果を出力する出力端と、を備えたことを特徴とする、情報を伝送する機能を有する装置。
  • 说明书全文

    本発明は、エラー検出に関し、さらに特定すると多重ワード通信におけるエラー検出に関する。

    (関連出願の相互参照)
    本願発明の主題は、下記に掲げる出願の主題と関連している。

    日本特許出願番号H9−530304、弁護士用ドケット番号2268、“非同期パケット交換”の名称で、Thomas M. Wicki、Patrick J. Helland、 Takeshi Shimizu、Wolf−Dietrich WeberおよびWinfried W. Wilckeによって1996年2月22日に出願、
    日本特許出願番号H9−530403、弁護士用ドケット番号2269、“ダイナミックなネットワーク・トポロジー探査のシステムおよび方法”の名称で、Thomas M. Wicki、Patrick J. Helland、Wolf−Dietrich WeberおよびWinfried W. Wilckeによって1996年2月22日に出願、
    日本特許出願番号H9−530403、弁護士用ドケット番号2270、“低い待ち時間、高いクロック周波数 プレジオ非同期 パケットベースクロスバー・スイッチング・チップ・システムおよび方法”の名称で、Thomas M. Wicki、Jeffrey D. Larson、Albert MuおよびRaghu Sastryによって1996年2月22日に出願、
    日本特許出願番号H9−530328、弁護士用ドケット番号2271、“パケットスイッチングネットワーク内のルーチングデバイス出アクセス用調整方法および装置”の名称で、Jeffrey D. Larson、Albert MuおよびThomas M. Wickiによって1996年2月22日に出願、
    日本特許出願番号H9−530405、弁護士用ドケット番号2272、“電圧の揺れを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバースイッチおよびその方法”の名称で、Albert MuおよびJeffrey D. Larsonによって1996年2月22日に出願、
    日本特許出願番号H9−530318、弁護士用ドケット番号2274、“フロー制御プロトコル・システムおよび方法”の名称で、Thomas M. Wicki、Patrick J. Helland、Jeffrey D. Larson、Albert Mu、Raghu SastryおよびRichard L. Schober、Jr. によって1996年2月22日に出願、
    日本特許出願番号H9−530350、弁護士用ドケット番号2275、“相互接続の障害検出およびその位置特定方法および装置”の名称で、Raghu Sastry、Jeffrey D. Larson、Albert Mu、John R. Slice、Richard L. Schober、Jr. およびThomas M. Wickiによって1996年2月22日に出願、
    日本特許出願番号H9−530217、弁護士用ドケット番号2277、“多重ワード通信におけるエラー検出方法および装置”の名称で、Thomas M. Wicki、Patrick J. HellandおよびTakeshi Shimizuによって1996年2月22日に出願、
    日本特許出願番号H9−530202、弁護士用ドケット番号2278、“正のソース帰還をそなえたクロック動作されるセンス増幅器”の名称で、Albert Muによって1996年2月22日に出願、
    を参考として、上記の出願の全てを本願発明の全体に亘って取り入れている。

    パケットスイッチネットワークの様な通信システムは、装置が情報を伝送しかつ受信することを可能とする。 図1Aを参照すると、通常のパケットスイッチネットワークが示されている。 各通常の装置10、12、16、18は、ネットワーク中の他の装置10、12、16、18にデータを送信しさらに受信するための送信サイトおよび受信サイトの両者として動作する。 通常のルータ14は、各送信装置10、12、16、18からパケットの形でデータを受信し、それを、パケット中に含まれるヘッダ情報に基づいて、正しい受信装置10、12、16、18に送る。

    ヘッダ情報は、ルート情報と“殆ど固有の”パケット番号を含む識別子をその他の情報に加えて含んでいる。 殆ど固有のパケット番号は、送信サイトによってランダムにまたは順次選択された多数のビットを有する識別子であっても良く、これによって識別子を同様に殆ど固有にする。 識別子が同時にルータ14に送信された他のパケットからのヘッダの識別子と同じであることは殆どないが、ルータ14に送信された2個のヘッダが同一の識別子を持つ小さな可能性は存在する。

    さて図1Bを参照すると、通常のパケット102が示されている。 ヘッダ110は、多くのワードデータ112、114、116を一定の順序で伴う。 図1Bのヘッダ110は、80から115ビットにおいて、識別子130を有しているが、その他のサイズの識別子およびビット位置が可能である。 識別子130は“比較的固有の”情報を含んでいる。 各データワード112、114、116およびヘッダ110は、添付のエラーコード120、122、124、126を有し、これらは残りの個々のデータワード112、114、116またはヘッダ110情報中のエラーを検出しさらに訂正するために使用されうる。 例えば、パケット102中の各ワード110、112、114、116は、送信サイトにおいて伝送のための136ビットワードを形成するために、128ビットのデータまたはヘッダ情報と8ビットのエラーコード120、122、124、126を含む。 エラーコード120、122、124、126は、各ワード110、112、114、116のデータ部分170内のエラーを検出しまたは訂正するために、受信サイトでデータ170に対してチェックされる。 一旦データが正しいと決定されると、エラーコード120、122、124、126は、受信サイトによってデータ位置170から取り除かれ、各ワード110、112、114、116のデータ部分170が受信サイトによる使用に対して準備される。

    通常のエラー検出およびエラー検出と訂正コードは、デジタル伝送の一個のワードに関したエラーを検出し訂正する。 多くの方法が、種々のエラー検出コードおよびエラー検出とコード訂正を実現するために使用されている。 Rao T. R. N. & E. Fujiwaraによる“コンピュータシステムに対するエラー制御コード化”(Prentice Hall、1989年)、D. K. Pradhan & J. J. Stifflerによる“エラー訂正コードおよび自己チェック回路”、27−37(Computer、Vol.13、No.3、 1980年3月)、H. Imaiによる“エラー制御コード化技術の本質”(Academic Press、1990年)またはE. Fujiwara et. alによる“コンピュータにおけるエラー制御コード”63−72(Computer、1990年7月)に記載された方法を、ワード110、112、114、116のデータ部分内のあるエラーを検出するために使用することができる。

    エラーコード120、122、124、126は、ワード110、112、114、116のデータ部分170にエラーコードの設計者によって予め定義された行列(matrix)を掛け合わせる、2値行列乗算プロセスを使用して生成することができる。 例えば、上述のエラーコードは、各ワード110、112、114、116のデータ部分170とアペンディックスAに示す行列との2値行列乗算によって生成される。 アペンディックスAの行列と各ワード110、112、114、116との各2値行列積は、ワード110、112、114、116のデータ部分170にそれぞれ添付されるべきエラーコード部分120、122、124、126である。

    2値行列乗算は以下のように働く。

    2個の行列A、Bを、次のように仮定する。

    A=a ・・・a B=b 111213・・・b 1m (式1aおよび1b)
    212223・・・b 2m



    n1n2n3・・・b nm

    2値行列乗算法を用いたA×Bは、mビットの結果、
    C=c ・・・c (式2)
    を形成する。 なお、

    =Σa ×b ji (式3a)
    j=1
    である。 さらに2個の数値の“積”('x'によって示される)は2値“AND”機能であり、数値の順列の“合計”はその順列の“イクスクルーシブオア(排他的OR)”であり:もし順列中の'1'の数が偶数の場合0であり、その他は1である。

    式3中の各積は、a またはb jiが既に0であると分かっている場合、これらの項が結果c に影響を与えないので、計算する必要はない。 さらに一個の行列の項が既に0または1であると分かっている場合、その積それ自身を計算する必要はない:1に等しい既知の項とAND処理された、他の行列中の対応する項は、互いにイクスクルーシブオア(排他的論理和)処理される。 このようにして式3aは、既知の値b jiに対して、

    ji =1であるjに対してのみ c =Σa (式3b)
    j=1
    となる。

    通常のエラー検出およびエラー検出コードは、パケット102の各ワード110、112、114、116内で特定のエラーを検出し、あるいは検出して訂正することができるが、これらの通常のエラー検出コードとエラー検出および訂正コードは、その本来の順序から外れたパケット102内のワードまたは別のパケット中のワードに代わって不適切に挿入された一個のパケットからのワードのような、イントラワード(ワード内)エラーの存在を検出することはできない。

    この二つの問題の内の第1の問題は、ワード110、112、114、116が正しくない順序で組み立てられ、伝送されまたは受信された場合に生じる。 各ワード110、112、114、116内のデータ部分170は対応するエラー検出またはエラー検出および訂正コード120、122、124、126に一致するので、エラー検出またはエラー検出および訂正コード120、122、124、126を、順序外エラーを同定するために使用することはできない。 第2の問題は、別のパケットに位置するワードが第1のパケットのワード110、112、114、116間に挿入された場合に生じる。 この問題は、ワードが適正にメモリ中に書き込まれず、新しい値の代わりに古い値が残っている場合に発生する。 この不適切に挿入されたワードにおけるデータ部分170は対応するエラーコードに一致し得るので、エラー訂正および検出コードを使用して、そのワードが間違ったパケット内に不適切に挿入された事実を同定することは出来ない。 この結果、これらの特別な2個のエラーを検出するために、別の手段が必要である。

    ワードのミッシングまたは不適切な挿入を同定するための一方法は、チェックサム(検査合計)技術を用いることである。 伝送サイトは、最終チェックサムワード118を追加する。 このチェックサムワードは、チェックサム118の上のワード110、112、114、116から各列(column)の、偶数または奇数両方の、パリティを含んでいる。 例えば、列0のパリティは、列0のワード110、112、114、116をイクスクルーシブオア処理することによって決定される。 パケットを受信した後、各列のビットをテストして正しいパリティを確かめる。 不適切に挿入されたワードまたはミッシングワードは、パリティエラーを発生しうる。 チェックサム118は、巡回冗長チェックサム、すなわりCRCであっても良い。 しかしながらチェックサム118の使用は、全てのワード110、112、114、116、118がエラーを検出する以前に受信される必要がある。 ワードは順次受信されるため、各ワード110、112、114、116を受信サイトで使用するまでに、不必要な遅延が発生する。 さらに、チェックサム方法は、各ワード110、112、114、116がそのパケット内にあるがしかし本来の順序から外れている場合のパケットを同定することは出来ない。

    データの行列乗算および情報の彩色を使用して、パケット内のワードのエラーコード上に彩色し、パケット内の順序を外れかつ不適切に挿入されたワードを素早く検出することを可能とし、かつ受信時の瞬時の使用に対してデータワードを変更しないままにして置くことを可能とする。 また、エラーコードが計算された後にパケット中のデータワードに対して彩色を実施してパケット中の順序から外れかつ不適切に挿入されたワードの検出を素早く行なうことを可能とする一方で、エラーコードを彩色するために必要なロジックを単純化する。

    上記課題を解決するために、本発明は、ワードのデータ部を読み取るステップと、前記データ部から生成された第一の入力と、前記パケット内の識別子から生成された第二の入力とのイクスクルーシブオア処理を行うことで、第1のコードを生成するステップとを有し、前記識別子は、パケットの識別子あるいはワードの順序位置を識別するビットセットを有することを特徴とする、エラー検出方法を提供する。

    上記課題を解決するために、本発明は、少なくともパケットが入力する入力端と、前記パケット内のデータ部から生成された第一の入力と、前記パケット内の識別子から生成された第二の入力のイクスクルーシブオア処理を行う処理部と、前記処理部による処理結果を出力する出力端と、を備えたことを特徴とする、情報を伝送する機能を有する装置を提供する。

    本発明では、“彩色”技術を、順序から外れたデータまたは不適切に挿入されたワードを同定するために使用する。 再び図1を参照すると、“ハッシング”および“彩色”は、ビットのセットと、ヘッダまたはデータワード110、112、114、116のデータ170またはエラー172部分の全てまたは一部のビットとのイクスクルーシブオアを取る事を意味する。 彩色されたデータまたはエラーコードに対して2回同じパターンのイクスクルーシブオアを実行することによって、データまたはエラーコードの色消しが可能となる。 本発明は、一個またはそれ以上の既知のパターンを、ワード110、112、114、116の幾つかまたは全てのエラーコード部分172またはデータ部分170に彩色する。 彩色はパケットの受信によって除去される。 チェックサム118はパケット100中では使用されない。 この除去は各ワード110、112、114、116の予期された順序と集まりに従って実施されるため、順序から外れたワードまたは不適切に挿入されたワードは、エラーをエラーコード部分172又はデータ部分170中に生じる。 データ部分170がエラー検出またはエラー部分172のエラー検出と訂正コードを用いて検証される場合、このデータ部分170は間違いが多いとして同定されるであろう。

    本発明の一実施例では、データワード112、114、116のエラー部分172が彩色され、他の実施例ではデータワード112、114、116のデータ部分170が彩色される。 第1の実施例は、“エラーコードの彩色”として知られており、第2の実施例は“データの彩色”として知られている。

    A. エラーコード上への彩色
    エラー検出またはエラー検出と訂正コードは、2個の行列の2値行列乗算法を使用して、順序およびパケット識別子と共に生成されかつハッシュされる。 図2Aおよび3を参照すると、ヘッダワードD0 を持つ各パケットとデータD1 からDy までのyワードに対して、伝送時のヘッダパケットに添付するmビットのエラーコードE0 は:
    =DD ×H' (式4)
    で示され、DD 209は、D 200、Z 202、Z 204およびZ 208の連結であり、また Z 202はm個の'0'列;
    204はq(以下に定義する)個の'0'列;さらに Z 208はy個の'0'列;
    を示す。 さらに一実施例では、
    H'308は、K318上のJ314上のI312上のG310の連結である。 なお、G310はアペンディックスAの行列のような、エラー検出または検出/訂正行列であり;
    I312は、1からyの全てのkに対して、Ikk='1'を除いて全てが'0'のyビットの正方形単位行列であり;
    J314は、以下に示すビット位置U に対応した行(Row)の全ての列(Col)を有する、Gのサブセット316であり;さらに K318は、Jではない全ての行の全ての列を有するGのサブセット320である。

    アペンディックスAの行列のような、幾つかのエラー検出または検出/訂正行列では、各行はその行列の他の行に対して直交している。 一実施例では、JおよびKは、K上のJ上のGで形成された行列の各行が、K上のJ上のGで形成された行列の一行置きの各行に対して直交するような、如何なる値をも取りうる。

    さて図2Aおよび2Bを参照すると、
    N=1からy (式5)
    である各データワードDNに添付するためのエラーコードE0は:
    =DD ×H' (式6)
    である。 なおDD 219は、D 210、Z 212、U 214およびV 218の連結であり、
    は、“殆ど固有”即ち別のヘッダによって複製される可能性が低いと期待される、D のqビット識別子部分206であり;さらに V は、最後の'0'へのNの代わりに'1'を置換した、y個の'0'列、例えば、V =00000001、V =00000010等である。

    受信サイトにおいて、彩色情報は、対応するエラーコードから色消しされ、y+1個のチェックコードC 〜C を形成する。 この各チェックコードは、ワード中にエラーが無い場合、即ちそのワードが正しい順序にあり、さらにそのワードが正しいパケット中にありる場合、全て0であるべきである。 ヘッダに対するエラーコードC は、
    =CC ×H' (式7)
    であり、この場合CC 209は、D 200、E 212、Z 204およびZ 208の連結である。

    残りのデータワードのためのエラーコードC は、
    =CC ×H' (式8)
    であり、なお、CC 219はD 210、E 212、U 214およびV 218の連結である。

    図1を参照すると、一実施例では、ヘッダ110はワード0であり、8個までのデータワード112、114、116がヘッダに続き、ワード1〜8、パケット100の殆ど固有の部分130はヘッダ110のビット80〜115であり、Kが掛け合わされた2値行列となるJではないy個の列は列8〜15、140、142、144、146である。 8ビットのエラーコードは、G行列としてアペンディックスA中のテーブルを用いて上述したように計算され、このエラーコードはパケットの伝送に先立って各ワードに添付される。 受信時において、上述したチェックコードが計算され、このチェックコードが全て0であるかどうかを見るためにチェックされる。 チェックコードが全て0である場合、ビットエラーまたは、順序から外れたまたは間違って挿入されたワードエラーが発生していないことを示す。

    図4Aを参照すると、ビットエラーまたは順序から外れまた間違って挿入されたワードエラーを検出するための、本発明に基づく一実施例の方法が示されている。 図4Aの方法は、伝送サイトにおいてパケットの各ワードに対してエラーコードを形成し、そして再び受信サイトにおいてそのパケットをチェックすることによって、実現される。 以下に示すように、式4、5、7および8において各行列対を全て一度に掛け合わせる必要はなく、各行列はサブ行列に分解することができるため、サブ行列対を2値行列乗算法を用いて掛け算し、各サブ行列対の積を、本来の行列対の単独の2値行列乗算と同じ結果を得るために、イクスクルーシブオア処理する。 全てのサブ行列対の積は、“彩色積”として知られている。

    カウンタNを0にセットし(410)、一実施例では0から9である、パケット中のどのワードが処理されているかを追跡し続ける。 全てのNに対して彩色積V ×Kが計算される(412)。 これはその結果がパケット中のどのワードに対しても独立しているからである。 一実施例では、V ×Kは現在のNの値に対してのみ計算される。 このような実施例では、一個のKのみに対するステップ412は、ステップ414の下に移され、ステップ414の下から始まるループ内に入る。 一実施例では、V ×Kの“計算”は、V およびKが、両者とも、予め計算されかつテーブル中に記憶された積を有する定数であるため、表探索である。 他の実施例では、V ×Kは、2値行列乗算技術を用いて実際に計算される。 計算の結果は、将来の使用に備えて記憶される。

    ヘッダワードD の一部分とJサブ行列は、彩色積U ×Jを計算するために使用され(414)、この値は、将来の使用に備えて記憶される。 他の実施例では、U ×Jは以下に示すように使用される時点で計算されるが、このような実施例ではU は記憶されなければならない。 ヘッダワードがD で各データワードがD からD である、現在のワードD をD ×Gの計算に使用する(416)。

    ステップ418は、受信サイトにおいて彩色積E ×Iを計算することにより、実行される。 伝送サイトでは、ステップ418は一実施例では全てが0に等しいE によって実行され、または別の実施例ではこのステップ418は省略される。

    式4および6と7および8において示した様に、ヘッダワードに対する計算は、残りのデータワードに対する計算とは異なっている。 その結果、もしN=0であると(420)、現在のワードはヘッダワードであり、ステップ416と418の結果をイクスクルーシブオア処理し、結果を得る(422)。 そうでない場合は、現在のワードはデータワードであり、現在のNの値に対するステップ412の結果およびステップ414、416および418の結果はイクスクルーシブオア処理され、結果を形成する(424)。

    一実施例では、上述のステップ416、418、420、422、424は、パケット中の全てのワードが処理される(426)まで繰り返される。 伝送サイトでは、ステップ422と424の結果は各ワードD からD に添付される(430)。 受信サイトでは、ステップ422と424の結果がチェックされ、各ビットが0であることが確かめられ(432)、エラーが発生していないことを示す(436)。 もしステップ422、424の何れかの結果が0で無い場合、エラーが発生し(432、434)、そのワード中の一個またはそれ以上の正確でないビット、パケット中の順序を外れたワード、または不適切に挿入されたワードがパケット中にあることを示し、そしてこの方法を終了する(438)。

    別の実施例では、ステップ422、424によって形成された各結果は、一回に一個添付されまたはチェックされる。 図4Bには、本発明の一実施例にかかる代替的方法が示されている。 ステップ410、412、414、416、420、422、424は上述したようにして動作するが、しかしステップ426は後段にずらされ、ステップ428、430、432、434および436がステップ422と424からの各結果の計算後に実行されるようにしている。 これによって、エラーコードが計算された時点で各データワードに即時に添付され、または即時にチェックされることを可能とし、これによってもしエラーが発見されると、プロセスを停止する(438)ことが可能となる。 この実施例では、エラーは、受信装置が送信装置にそのパケットを再送信するための要求を発生することを可能とし、あるいは、パケット中の全てのワードが受信されチェックされた後にエラーを検出するのみである図4Aに記載した実施例よりも、より速くパケットの処理を停止することを可能とする。

    図4Aおよび4Bを参照すると、一実施例では、ステップ428は実施されず:その代わりに、ステップ432、434、436および438を省略してステップ430を伝送サイトにおいてのみ実施し、またはステップ430を省略して、受信サイトにおいてのみステップ432、434、436および438を実施する。

    図5に、本発明の一実施例に基づいてエラーコードを計算するための装置500を示す。 DIおよびEI入力510は、ヘッダまたはデータワードのkビットデータ部分およびrビットを有する対応エラーコードをアクセプトする。 一実施例では、装置500は送信および受信サイトにおいて使用され、送信サイトにおいて入力500のEI入力を全て0にする。 他の実施例では、入力510は、送信サイトにおいてヘッダのデータ部分またはデータワードのみをアクセプトする。

    モジュールM1・516は、DIおよびEI入力510に接続された入力512と、上述したGおよびI行列を記憶する例えばROMまたはフラッシュメモリのような記憶装置536に接続された入力511とを有している。 モジュールM1・516は、入力510におけるDIと入力511におけるG行列との積を、さらに入力510におけるEIと入力511におけるI行列との積を、2値乗算法またはこれに等価な方法を用いて形成する。 一実施例では、入力511と512は、DIとEIがM1・516に同時に提供されることを可能とし、さらにGおよびIが同時にモジュールM1・516に提供されることを可能とする。 その他の実施例では、GおよびI行列は、モジュールM1・516に含まれる記憶装置中に記憶される。 その他の実施例では、GおよびI行列は記憶されず、さらにGおよびIの値1を有するエレメントに対応するDIおよびEI入力510は、式3bのロジックを用いてイクスクルーシブオア処理される。 一実施例では、モジュールM1・516はライン540上に同時に両方の積を出力し、他の実施例ではそれらの積は順次出力されかつイクスクルーシブオア回路530によって組み立てられる。 その他の実施例では、それらの積はライン540上への出力に先立ってイクスクルーシブオア処理される。

    モジュールM2・518は、入力514を介してU に対応するmビットのDIに接続され、入力510の入力DIのU に対応するビットと、入力513における上述したJ行列との2値行列乗算が計算される。 これによって、入力510のDI入力がD に結合された時点でのU の計算が可能となる。 レジスタR1・510は、ヘッダD がパケットのデータワードと共に使用されるために入力510のDI入力に在る場合、モジュールM2・518によって形成された積をラッチする。 ヘッダワードは、レジスタR1・520がパケット中の残りのデータワードからヘッダを区別することができる限り、常にパケットの第1のワードとして到着する必要はない。 しかしながら、このようなケースにおいて、ヘッダに先立って到達するデータワードは、もしヘッダがそのデータワードの色消しを行なうのに必要な識別子情報を含んでいる場合、ヘッダが到着するまで記憶されねばならない。 その他の実施例では、モジュールM2・518は、記憶モジュール536に接続されず、その代わりにJ行列をモジュールM2・518中に記憶する。 その他の実施例では、J行列は記憶されず、値1を有するJのエレメントに対応するU は、式3bを用いてイクスクルーシブオア処理される。 しかしながら、J行列はG行列のサブセットであるので、モジュールM1・516とM2・518による記憶装置536の使用は、モジュールM1・516によるG行列中での使用およびモジュールM2・518による単独での使用のために、J行列の2重の記憶を必要とすることもある。

    モジュールM3は、入力537を介して記憶モジュール536から上述のK行列を受信するように接続され、あるいはまた、K行列をモジュールM3・526内に記憶するすることもできる。 K行列はG行列のサブセットであり、そのためこれに代わる実施例では、KはM1・516によるG行列での使用およびモジュールM3・526による単独での使用のために記憶されるので、追加の記憶装置が必要である。 その他の実施例では、計算の速度を向上するために、V ×Kの結果を再計算しモジュールM3・526中の記憶装置536または類似の装置のような記憶装置中に記憶する。 これは、出力544に供給される結果が入力510のいずれをも必要としないためである。

    一実施例では、マスクA1・522とA2・528は、先行するステージ520と526のそれぞれの入力をマスクし、先行するステージの出力がヘッダワードに対応している場合、これらの出力を阻止する。 式4および7において上述したように、ヘッダワードのための計算は、V ×KあるいはUI×Jを使用せず、そのためA1・522とA2・528は、出力546、544がヘッダワードに対応する場合、全てが0に等しい出力548、550を有する。 イクスクルーシブオア530は、出力540、548、550のイクスクルーシブオアをとってrビットのEO出力534を形成する。

    送信サイトにおいて、EO出力534は、入力510においてデータワードDIに添付されるエラーコードE であり、データワードDIは変更無しにDO出力532に転送される。 受信サイトでは、EO出力534はC であり、これは上述したいずれのエラーも検出されない場合全て0である。 EO出力534は検証器560の入力562に接続され、この検証器560はもしEO出力534の全てのビットが0である場合、その出力564において真を示す。

    B. データ上への彩色
    エラーコード上に彩色するために必要とされる以外のロジックを単純化することが望まれ、さらにデータが受信サイトにおいて彩色されずに到着する必要はないため、データに彩色しても良い。

    図6には、本発明の一実施例に従ってデータに彩色する方法が示されている。 カウンタNは、各ワードの順序を追跡するために使用され、これが0の場合ヘッダワードに相当する。 Nは0にセットされ(610)、ワードが受信される(612)。 エラーコードは、例えばD ×Gの2値行列乗算のような何れかのエラーコード発生技術を用いて生成される(614)。 このようにして生成されたエラーコードは、一実施例では伝送のためにデータワードに添付され(616)、または他の実施例では別に送信され添付されない。 Nが0の場合(618)、ステップ612において受信されたワードはヘッダであり、U に対応する列D は上述したように、後の使用のために記憶される。 もしNが0ではない(618)と、ステップ612において受信されたワードはヘッダワードではなく、D を含むパケットに対応するヘッダからのU は、U からのビットをU と同じ列内のD 中のビットによってイクスクルーシブオア処理する事によって、D 中に彩色される(622)。 一実施例では、順序情報V は、V を、U によってイクスクルーシブオア処理されないD 中の何れかのビットによってイクスクルーシブオア処理することによって、D 中に彩色される(624)。 ステップ612、614、616、618、622、624、626は、パケット中の全てのワードに対してNに1を加えた後(628)、繰り返され、その後この方法は終了する(630)。

    図7には、本発明の一実施例に基づいて、パケット中のデータワード中のデータの色消しをする方法が示されている。 カウンタNはヘッダワードを示すために0にセットされ(710)、データワードとエラーコードが受信され、そのデータワードは図6を参照して説明したように彩色されている。 もしNが0の場合、ステップ712で受信されたワードはヘッダワードであり、ヘッダワードからのU がデータワードの色消しに用いるため、記憶される(716)。 そうでない場合、ステップ712で受信されたワードはデータワードであり、このデータワードはデータワードD をV (718)と、V と同じビット位置のU (720)によってイクスクルーシブオア処理することによって色消しされ、さらにU は図6を参照して説明したように、D 中に彩色される。 チェックコードCK は、色消しされたデータワードD ×Gとイクスクルーシブオア処理された、E ×Iの2値行列乗算を用いて計算される(722)。 チェックコードは、全てが0であるかを見るためチェックされ(724)、もしチェックコードが0で無い場合、ビットエラー、順序エラーまたは間違って挿入されたワードエラーが発生し、処理が終了する(726)。 そうでない場合は、Nは加数され(728)、ステップ710を除く上記のステップは、パケット中の全てのワードが処理されるまで(728)繰り返される。

    図8には、本発明の一実施例に基づいてパケット中のワードを彩色するための装置が示されている。 データ入力DI・810はデータまたはヘッダワードをアクセプトし、モジュールM1・824は、入力810において受信されたデータワードとG行列との2値行列乗算を用いて色消しされたデータワードのエラーコードを計算する。 一実施例では、G行列はモジュールM1・824中のROMに記憶され、さらに他の実施例では式3bの原理が、G中の1に等しいビットに対応するDI中のビットをイクスクルーシブオア処理するために使用される。 R1・812は、DI・810がヘッダD0を受信した場合、U をラッチする。 A1・814は、DI・810がヘッダD を受信した場合を除いて、ヘッダを彩色しないようにR1・812の出力をその出力に通過させる。 C1は、0から始まるDI・810において受信されるワードをカウントすることによって、各D に対してV を提供する。 A2・818は、DIがD0を受信する場合、即ちA2・818が全て0に等しい出力を有する場合を除いて、ヘッダを彩色しないために、出力C1・816をその出力に通過させる。 X1・820は、A1・814とA2・818からの彩色情報をイクスクルーシブオア処理し、伝送すべき彩色されたデータ出力822を提供する。

    図9には、データワードを色消しするための装置が示されている。 彩色されたデータとエラーコードは、DI+EI入力910によって受信される。 R1・912は、入力910がヘッダデータとエラーコードを含んでいる場合、データワードの色消しに使用するために、U0をラッチする。 C1・916は、図8のC1・816と同じ方法でV を提供する。 A1・914およびA2・918は、図8のA1・814とA2・816と同様に動作する。 イクスクルーシブオアX1・920は、A1およびA2からのビットを入力910において、図8を参照して示したように彩色された物と同じDIのビットとイクスクルーシブオア処理し、色消しされたデータ出力DO・922を形成する。 DO・922はGによって乗算された2値行列であり、入力910からのEIはI行列によって乗算された2値行列であり、各結果は他のものとイクスクルーシブオア処理されて、EO出力926においてチェックコードCK を形成する。 CK は、ビットエラー、順位エラーまたは間違って挿入されたワードエラーが発生しない場合、0である。 EO出力は、全てのビットがその入力において0の場合真を出力するチェック950の入力と接続されても良い。

    通常のパケットスイッチネットワーク中のルータに接続された4個の装置の概略ブロック図。

    通常のパケット中のヘッダとデータとチェックサムワードを示すブロック図。

    本発明の一実施例に基づいてヘッダワードを彩色するための、第1の行列中のデータ位置と彩色情報を示すブロック図。

    本発明の一実施例に基づいてデータワードを彩色するための、第1の行列中のデータ位置と彩色情報を示すブロック図。

    本発明の一実施例に基づいた第2の行列中の彩色情報の位置を示すブロック図。

    本発明の一実施例に基づいてパケット中のヘッダとデータワードのためのエラーコードの彩色および色消し方法を説明するためのフローチャート。

    本発明の他の実施例に基づいてパケット中のヘッダとデータワードのためのエラーコードの彩色および色消し方法を説明するためのフローチャートである。

    本発明の一実施例に基づいてパケットのヘッダとデータワードのためのエラーコードの彩色および色消しをするための装置の概略ブロック図。

    本発明の他の実施例に基づいてパケットのデータワード中のデータを彩色するための方法を説明するフローチャート。

    本発明の他の実施例に基づいてパケットのデータワード中のデータを色消しするための方法を説明するフローチャート。

    本発明の他の実施例に基づいてパケットのデータワード中のデータを彩色するための装置の概略ブロック図。

    本発明の他の実施例に基づいてパケットのデータワード中のデータを色消しするための装置の概略ブロック図。

    符号の説明

    、U 識別子 D データ部 K,J,G 行列 XOR イクスクルーシブオア

    QQ群二维码
    意见反馈