JP3014309B2 - Coding device and method - Google Patents
Coding device and methodInfo
- Publication number
- JP3014309B2 JP3014309B2 JP7280646A JP28064695A JP3014309B2 JP 3014309 B2 JP3014309 B2 JP 3014309B2 JP 7280646 A JP7280646 A JP 7280646A JP 28064695 A JP28064695 A JP 28064695A JP 3014309 B2 JP3014309 B2 JP 3014309B2
- Authority
- JP
- Japan
- Prior art keywords
- imbalance
- bit
- code
- frame
- bytes
- 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.)
- Expired - Fee Related
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ローカル・パリテ
ィを有するコードと固有かつ単一のコンマを使用して未
コード化データからコード化データを生成するための装
置および方法に関する。FIELD OF THE INVENTION The present invention relates to an apparatus and method for generating coded data from uncoded data using a code having local parity and a unique and single comma.
【0002】[0002]
【従来の技術】伝送コードの主な目的は、クロックを容
易に回復でき、AC結合が可能になるように、シリアル
・データ・ストリームの周波数スペクトルを変換するこ
とである。このコードは、文字同期やフレーム区切り文
字などの機能用として、また、打切り、リセット、アイ
ドル、診断などのために、データ英字以外の特殊文字も
提供しなければならない。また、コードは、信号スペク
トルを特定のチャネル要件により厳密に適合させるため
に、信号波形整形と組み合わせて使用されることも多
い。ほとんどの場合、伝送媒体、特に電磁ケーブル内ま
たは帯域限定受信機内のひずみを低減し、外因性ノイズ
と固有ノイズの影響を低減するためには、高周波成分と
低周波成分の両方の制約によって帯域幅を削減すること
が望ましい。BACKGROUND OF THE INVENTION The main purpose of transmission codes is to convert the frequency spectrum of a serial data stream so that the clock can be easily recovered and AC coupling is possible. The code must also provide special characters other than data alphabets for functions such as character synchronization and frame delimiters, and for abort, reset, idle, and diagnostics. Also, codes are often used in combination with signal shaping to more closely match the signal spectrum to specific channel requirements. In most cases, to reduce distortion in the transmission medium, especially in electromagnetic cables or band-limited receivers, and to reduce the effects of extrinsic and intrinsic noise, the bandwidth is limited by both high and low frequency components It is desirable to reduce
【0003】コードのもう1つの特徴は、コードとライ
ン・ディジットのノイズおよびエラーとの相互作用であ
る。ライン・コードに関連する冗長性を使用すると、他
のエラー検出機構を補ったり、または最小限の回路でチ
ャネルの品質を監視することができる。Another feature of the code is the interaction of the code with line digit noise and errors. The use of redundancy associated with line codes can supplement other error detection mechanisms or monitor the quality of the channel with minimal circuitry.
【0004】一般に、このようなコードは、巡回冗長検
査による検出をより困難なものにし、復号化したデータ
のエラー・バーストを拡大するという望ましくない特徴
を示す。良好な伝送コードは、このような影響を最小限
にするものでなければならない。In general, such codes exhibit the undesirable feature of making detection by cyclic redundancy checking more difficult and widening error bursts of decoded data. A good transmission code should minimize such effects.
【0005】光ファイバ・リンクや施設内ワイヤ・リン
クの場合、多くの理由から2レベル・コードの系統に関
心が集中する。ワイヤ・リンクでは、通常は無効分によ
ってドライバおよび受信回路から伝送回線をDC絶縁
し、回線上の信号ひずみを低減するために、DC成分を
一切含まず、低周波成分をほとんど含まないコードが好
ましい。このような要因は光ファイバのケースには当て
はまらないが、いくつかの理由からコードの低周波特性
が優れていると有用である。[0005] In the case of fiber optic links and in-house wire links, the focus is on the bilevel code family for a number of reasons. For wire links, cords that contain no DC components and little low frequency components are preferred, to provide DC isolation of the transmission line from the driver and receiver circuits, usually with dead components, and to reduce signal distortion on the line. . Such factors do not apply to the case of optical fibers, but for several reasons it is useful if the cord has good low frequency characteristics.
【0006】Technical Committee [1992] on Device L
evel InterfaceのTask Group X3T9.3によるANSIファイ
バ・チャネル[Sachs, 1994]のコード化問題の議論中、
有意の少数派は、物理リンクが順方向エラー訂正(FE
C)を行う必要があると感じていた。この要求の理由と
して以下の4つの点が提案された。 ・有効エラー率は10-15未満、おそらく10-17程度の
低さにする必要がある。 ・パフォーマンス・パラメータがあまり厳しくない光学
部品は低コストで入手可能なので、パフォーマンスの低
下はFECで相殺することができる。 ・リンクが長い場合、再伝送には長い遅延がつきものな
ので、再伝送の発生を低減する必要がある。 ・リアルタイム・アプリケーションは、再伝送に対応で
きない場合がある。[0006] Technical Committee [1992] on Device L
During the discussion of the ANSI Fiber Channel [Sachs, 1994] coding issue by evel Interface Task Group X3T9.3,
A significant minority is that the physical link has a forward error correction (FE
I felt I needed to do C). The following four points have been proposed as the reasons for this requirement. The effective error rate must be less than 10-15, perhaps as low as 10-17. -The performance degradation can be offset by FEC, as the optics with less stringent performance parameters are available at lower cost. -If the link is long, retransmission has a long delay, so it is necessary to reduce the occurrence of retransmission. -Real-time applications may not be able to support retransmission.
【0007】上記の諸問題の一部についてはGrover [19
88]によって論じられており、多項式コードを使用する
他の解決策が提案されている。[0007] Grover [19]
88], and other solutions using polynomial codes have been proposed.
【0008】上記の対策委員会では、特定のFEC案の
概要を検討した。詳細は、参考文献[Benz他、1991;McM
ahon他、1992;Springer、1992]に記載されている。こ
の案には、テーブル・ルックアップ8B/10Bコード
と、8バイトの情報ごとにコード化ビットに適用される
8ビットの短縮ハミング・コードとが含まれていた。F
ECビットはマンチェスタ方式でコード化されている。
1対のこのようなコード化ビットが8B/10Bのコー
ド化バイト間に挿入される。データ転送速度は0.8か
ら0.667に低減される。8バイトのデータ中の1つ
のエラーを必ず訂正することができる。[0008] The Task Force Committee discussed the outline of a particular FEC proposal. For details, see Reference [Benz et al., 1991; McM
ahon et al., 1992; Springer, 1992]. The scheme included a table lookup 8B / 10B code and an 8-bit shortened Hamming code applied to the coded bits for each 8-byte information. F
The EC bits are coded in Manchester format.
A pair of such coded bits is inserted between the 8B / 10B coded bytes. The data transfer rate is reduced from 0.8 to 0.667. One error in 8-byte data can always be corrected.
【0009】ランレングスおよびDC制約2進コードと
エラー訂正とを組み合わせる他の手法は、French [198
9]、Blaum [1991]、Blaum他 [1993]、Coetzee他 [1990]
などによって説明されている。これらの研究では、一般
に光ファイバや金属伝送チャネルとは異なる制約を必要
とする磁気チャネル用のより複雑なコードを取り上げて
いる。Another approach to combining run-length and DC-constrained binary code with error correction is the French [198]
9], Blaum [1991], Blaum et al. [1993], Coetzee et al. [1990]
And so on. These studies typically address more complex codes for magnetic channels that require different constraints than fiber optic or metal transmission channels.
【0010】図1を参照すると、従来のエラー訂正技法
では、水平パリティ(HP)と垂直パリティ(VP)と
を使用している。図1の「X」はそれぞれ1ビット分の
データを表している。生データ・ビットの数字0〜7は
8ビット・バイトの8つの位置を表している。1列目の
バイトという見出しの下に示すB0〜B(N−1)は、
フレーム50のNバイトを表している。フレーム50の
それぞれのビット位置には、そのフレーム内のそれぞれ
のバイトを横切る垂直パリティに対応する垂直パリティ
・ビットが1つずつ存在する。8つの垂直パリティ・ビ
ットが垂直パリティ・バイト52を形成する。フレーム
50内のそれぞれのバイトごとに、水平パリティが1つ
ずつ存在する。図1に示すようなデータが伝送される
と、各バイトとそれに関連する水平パリティが伝送さ
れ、各ビット位置の垂直パリティに対応するバイト52
がそのフレームとともに伝送される。受信機は、伝送さ
れた各バイトごとに水平パリティを再計算し、伝送され
たフレームごとに垂直パリティを再計算する。再計算さ
れた水平パリティは伝送された水平パリティと比較さ
れ、再計算された垂直パリティは伝送された垂直パリテ
ィと比較される。たとえば、伝送されたバイトB1用の
水平パリティ54と、垂直パリティのビット位置5用の
垂直パリティ・ビット56に不一致が存在する場合は、
バイトB1のビット位置5であるビット58にエラーが
発生し、その値がもう一方の2進状態に変更されてい
る、すなわち、その値が1であれば0に変更され、0で
あれば1に変更されていることがわかる。Referring to FIG. 1, a conventional error correction technique uses horizontal parity (HP) and vertical parity (VP). “X” in FIG. 1 represents 1-bit data. The raw data bit numbers 0-7 represent the eight positions of the 8-bit byte. B0 to B (N-1) shown under the heading "Byte in the first column"
This represents N bytes of the frame 50. At each bit position in frame 50, there is one vertical parity bit corresponding to the vertical parity across each byte in the frame. Eight vertical parity bits form a vertical parity byte 52. There is one horizontal parity for each byte in the frame 50. When data such as that shown in FIG. 1 is transmitted, each byte and its associated horizontal parity are transmitted, and a byte 52 corresponding to the vertical parity of each bit position is transmitted.
Is transmitted together with the frame. The receiver recalculates the horizontal parity for each transmitted byte and recalculates the vertical parity for each transmitted frame. The recalculated horizontal parity is compared with the transmitted horizontal parity, and the recalculated vertical parity is compared with the transmitted vertical parity. For example, if there is a mismatch between the transmitted horizontal parity 54 for byte B1 and the vertical parity bit 56 for bit position 5 of the vertical parity,
An error has occurred in bit 58, bit position 5 of byte B1, and its value has been changed to the other binary state, ie, if its value is 1, it is changed to 0; It can be seen that it has been changed to
【0011】一般に、生の2進データは伝送されない
が、まず、生データ・バイトに含まれるよりビット数が
多いバイトを有するコード化データに変換される。この
コード化は、上記で概要を示したいくつかの理由から使
用される。ワード境界およびフレーム境界を規定するた
めに区切り文字が必要になる。データを伝送するときに
送信中のデータのどのフレームから始まっているかを受
信機が判定できるようにするために、区切り文字が必要
になる。コンマは、シリアル・ビット・ストリーム内の
文字境界またはバイト境界を識別する単一ビット列であ
る。単一文字に制限されたコンマを備えたコードを用意
することが望ましい。コンマ文字は、通常、区切り文字
とバイト同期文字の両方の役割を果たすように使用され
る。また、データを伝送するときは、ランレングスが長
いと受信したデータ・ストリームからのクロック回復が
困難かつ高価になるので、1の連続または0の連続から
なるランレングスが短いことが望ましい。データと受信
機のクロック遷移の相対タイミングを頻繁に比較できる
ように、ランレングスを既定の値未満に制限するために
コード化データを使用する。また、DCが平衡している
コード化データを用意することが望ましい。数字合計の
変動は有限でしかも低い値でなければならない。多数の
1または0が連続する場合には、無効分を含む回路の電
荷レベルが上昇し、DCおよび低周波のふらつきのため
にAC結合に悪影響を及ぼすことになる。In general, raw binary data is not transmitted, but is first converted to coded data having more bytes than are included in the raw data bytes. This encoding is used for several reasons, as outlined above. Delimiters are required to define word and frame boundaries. Delimiters are required to allow the receiver to determine which frame of the data being transmitted is starting when transmitting data. A comma is a single bit string that identifies a character or byte boundary in a serial bit stream. It is desirable to have code with commas restricted to single characters. The comma character is typically used to serve as both a delimiter and a byte synchronization character. Also, when transmitting data, a short run length consisting of a series of ones or a series of zeros is desirable because a long run length makes it difficult and expensive to recover a clock from a received data stream. The coded data is used to limit the run length below a predetermined value so that the relative timing of the data and receiver clock transitions can be frequently compared. It is also desirable to prepare coded data in which DC is balanced. The variation in the sum of numbers must be finite and low. If a large number of 1s or 0s are consecutive, the charge level of the circuit including the reactive component will increase, which will adversely affect the AC coupling due to DC and low frequency wander.
【0012】コード化バイトのビット数は生データ・バ
イトに含まれるビット数より多いので、コード化データ
とともに従来の水平パリティと垂直パリティを使用する
ことは望ましくない。というのは、コード化データ用の
水平パリティはコード化バイトで2つ以上のビット位置
を必要とする可能性があるからである。多数のバイトを
含むフレームでは、水平パリティによって大量の追加ビ
ットが追加され、その結果、有用な情報を伝達するビッ
ト位置の数に重大な影響を及ぼす恐れがある。[0012] Because the number of bits in the coded byte is greater than the number of bits contained in the raw data byte, it is not desirable to use conventional horizontal and vertical parity with the coded data. This is because horizontal parity for coded data may require more than one bit position in the coded byte. In frames containing a large number of bytes, horizontal parity adds a large amount of additional bits, which can significantly affect the number of bit positions that convey useful information.
【0013】[0013]
【発明が解決しようとする課題】本発明の目的は、本質
的に各バイトごとにパリティを含み、そのため、エラー
・バイトの位置を特定するために明示的な水平パリティ
を用意する必要がないコードを提供することにある。SUMMARY OF THE INVENTION It is an object of the present invention to provide a code which inherently includes parity for each byte, thus eliminating the need to provide explicit horizontal parity to locate error bytes. Is to provide.
【0014】[0014]
【課題を解決するための手段】本発明の広範囲の態様
は、複数のNビット・バイトからなるフレームをコード
化した複数のMビット・バイトからなるフレームにコー
ド化するための方法および装置であり、M>N>0であ
り、前記フレームがバイトおよびフレーム切分け用のコ
ンマを含み、可能なすべてのMビット・バイトからなる
サブセットである1組のMビット・バイトから構成され
るコードを提供し、2N個の可能なNビット・バイトの
それぞれについて前記1組内に対応するメンバーが1つ
ずつ存在し、前記コードの前記メンバーのそれぞれが一
連のビット列であり、ビット列のうちの1つを変更した
場合にその結果として得られるMビット・バイトが前記
コードの前記メンバーの1つにならないようになってお
り、コードのメンバーの1つがバイトおよびフレーム境
界を識別するためのコンマであり、そのコンマが第1お
よび第2の値から選択された2進状態を有する一連のビ
ット列を有し、そのコンマのビット列がコードの前記メ
ンバーの1つに制限され、コンマのビット列がコードの
他のメンバーのいかなる組合せの間の境界を横切らない
ようになっており、前記フレーム内の前記Nビット・バ
イトのそれぞれに前記コードからの前記対応するメンバ
ーを割り当てて、前記フレームに対応するコード化フレ
ームを形成し、前記コード化フレームを格納する。SUMMARY OF THE INVENTION A broad aspect of the present invention is a method and apparatus for encoding a frame of a plurality of N-bit bytes into a frame of a plurality of M-bit bytes. , M>N> 0 and the frame comprises a byte and a comma for frame separation, and provides a code consisting of a set of M-bit bytes which is a subset of all possible M-bit bytes. And for each of the 2N possible N-bit bytes, there is one corresponding member in the set, and each of the members of the code is a series of bit strings, and one of the bit strings is The resulting M-bit byte, if modified, is not one of the members of the code; Is a comma for identifying byte and frame boundaries, the comma having a series of bits having a binary state selected from first and second values, wherein the bits of the comma are the bits of the code. Limited to one of the members such that the comma bit sequence does not cross the boundaries between any combination of other members of the code, and each of the N-bit bytes in the frame includes the A corresponding member is assigned to form a coded frame corresponding to the frame, and the coded frame is stored.
【0015】本発明のより具体的な態様は、256個の
8ビット・バイトのすべてを1組のコード化10ビット
・バイトに変換するための方法および装置であり、特定
のコード化バイトのビット位置でエラーが発生した場合
に、無効コード化バイトを生成し、1組のコード化バイ
トが単一バイトに制限されたコンマを含み、そのコンマ
のビット列が単一であり、コンマに対応する一連のビッ
ト列は、バイト内部またはバイト境界を横切るいずれの
位置でも、バイト境界に対する相対的な別の配置を有す
るいかなるバイト列でも検出できない。A more specific aspect of the present invention is a method and apparatus for converting all 256 8-bit bytes into a set of coded 10-bit bytes, the method comprising: If an error occurs at a location, generate an invalid coded byte, the set of coded bytes contains a comma restricted to a single byte, and the bit sequence of the comma is single and the sequence corresponding to the comma Cannot detect any byte sequence that has another location relative to the byte boundary, either inside the byte or across the byte boundary.
【0016】本発明のより具体的な態様では、エラーが
発生していることが分かっているバイト内のエラーのビ
ット位置を識別するために垂直パリティを使用する。In a more specific aspect of the invention, vertical parity is used to identify the bit position of the error in the byte where the error is known to be occurring.
【0017】本発明のより具体的な態様では、コードが
5以下のランレングスに限定される。In a more specific embodiment of the invention, the codes are limited to run lengths of 5 or less.
【0018】本発明の他のより具体的な態様では、隣接
バイト間の境界にまたがる5を上回るランレングスが存
在しない。In another more specific aspect of the present invention, there is no more than five run lengths that span the boundary between adjacent bytes.
【0019】本発明の他のより具体的な態様では、ラン
レングスが5の連続ランが存在しない。In another more specific aspect of the present invention, there is no continuous run with a run length of five.
【0020】本発明の他のより具体的な態様では、ビッ
ト・パターン「11011111」とその補数「001
00000」がそれぞれ10ビットのコンマ文字「01
10111110」とその補数「100100000
1」に埋め込まれる同期文字列またはコンマになる。こ
のコンマはコンマ内の4つの遷移を含み、一連のコンマ
文字列は1つのコンマ文字当たり5つの遷移を生成す
る。In another more specific aspect of the invention, the bit pattern "11011111" and its complement "001"
00000 "is a 10-bit comma character" 01
10111110 "and its complement" 1001000000 "
A sync string or comma embedded in "1". This comma contains four transitions within the comma, and a series of comma strings produces five transitions per comma character.
【0021】本発明によるコードの他のより具体的な態
様では、コードが、8ビット・データ・バイトの数に対
応する256個のデータ文字と、4つの非データ文字と
を含む。In another more specific aspect of the code according to the invention, the code comprises 256 data characters corresponding to the number of 8-bit data bytes and four non-data characters.
【0022】本発明の他のより具体的な態様では、コン
マ・ビット列およびその補数のコンマ・ビット列は、他
のいかなるコード化バイトでも発生せず、隣接有効コー
ド化バイト間の境界にまたがって発生することもない。In another more particular aspect of the present invention, the comma bit sequence and its complement comma bit sequence do not occur at any other coded byte, but occur over the boundary between adjacent valid coded bytes. Nothing to do.
【0023】本発明の他の目的、特徴、および利点は、
添付図面に関連して以下に示す本発明の詳細な説明を読
んで検討すれば、明らかになるであろう。[0023] Other objects, features, and advantages of the present invention are:
It will become apparent from a reading and study of the following detailed description of the invention when taken in conjunction with the accompanying drawings.
【0024】[0024]
【発明の実施の形態】本明細書に記載する発明は、1つ
のフレーム内の単一エラー・バイトを訂正するための方
法に関する。その基本原理は、水平パリティ・ビットと
垂直パリティ・ビットの矩形配置を使用することであ
り、水平パリティはエラー・バイトの位置を特定し、垂
直パリティはそれを訂正するために使用する。特有の特
徴は、ローカル・パリティを備えた特殊な8B/10B
伝送コードによって水平パリティと機能的に同等なもの
が提供される点である。DETAILED DESCRIPTION OF THE INVENTION The invention described herein relates to a method for correcting a single error byte in one frame. The basic principle is to use a rectangular arrangement of horizontal and vertical parity bits, where the horizontal parity locates the error byte and the vertical parity is used to correct it. A unique feature is a special 8B / 10B with local parity
The transmission code provides a functional equivalent to horizontal parity.
【0025】ローカル・パリティを備えたコードでは、
それぞれの8ビット・バイトが、それに対応する固有の
コード化10ビット・バイトを1つずつ有する。このコ
ード化バイトは、ビット位置のいずれかでエラーが発生
した場合に、有効コード化バイトが無効コード化バイト
に変換されるように設計されている。ローカル・パリテ
ィを有するコードについては、以下に記載する。For a code with local parity,
Each 8-bit byte has one unique coded 10-bit byte corresponding to it. The coded bytes are designed such that if an error occurs at any of the bit positions, the valid coded bytes are converted to invalid coded bytes. Codes with local parity are described below.
【0026】8つの垂直パリティ・ビットからなる組で
あるVPARは、未コード化データから得られ、フレー
ムの終わりに続く第1のアイドル・ワードにコード化さ
れ、パックされる。受信機で誤りのあるバイトを識別
後、VPARビットを使用してそれを訂正する。The VPAR, a set of eight vertical parity bits, is obtained from the uncoded data and is coded and packed into the first idle word following the end of the frame. After the receiver identifies the erroneous byte, it corrects it using the VPAR bit.
【0027】まず、パリティ・ビットを使用した基本的
な矩形エラー訂正方式について説明する。次に、エラー
の位置を特定するための水平パリティの使い方について
説明する。固有のローカル・パリティを備えた8B/1
0Bコードの改良版も示す。さらに、垂直パリティ・ビ
ットによるエラー・バイトの訂正ならびに誤りのある制
御文字の復元について説明する。First, a basic rectangular error correction method using parity bits will be described. Next, how to use the horizontal parity to specify the position of the error will be described. 8B / 1 with inherent local parity
An improved version of the 0B code is also shown. Further, correction of an error byte using vertical parity bits and restoration of an erroneous control character will be described.
【0028】基本訂正方式 本発明により提案される基本訂正方式は、図1に示すよ
うに矩形配置またはマトリックス配置のデータ・ビット
およびパリティ・ビットの配列に基づくものである。1
つのフレームは、小さいセグメント、好ましくはバイト
またはワード単位に区分される。それぞれのセグメント
にはパリティまたは他のエラー検出手段が付加され、そ
れらが相俟って1つのマトリックス行を形成する。後続
のセグメントはそれ以降の行に置かれる。この第1の組
のパリティ・ビットは水平パリティと呼ばれる。このよ
うなセグメントの一部の後には、図1のマトリックスに
示すような垂直パリティが続く。この垂直パリティは、
各データ・ビット列ごとに1つのパリティ・ビットから
構成される。垂直パリティは、水平パリティによってエ
ラーのタグが付けられたセグメント内のエラー・ビット
(複数も可)を識別し訂正するために使用する。Basic Correction Scheme The basic correction scheme proposed by the present invention is based on an arrangement of data bits and parity bits in a rectangular or matrix arrangement as shown in FIG. 1
One frame is partitioned into small segments, preferably in bytes or words. Parity or other error detection means is added to each segment and together they form a matrix row. Subsequent segments are placed on subsequent lines. This first set of parity bits is called horizontal parity. A portion of such a segment is followed by a vertical parity as shown in the matrix of FIG. This vertical parity is
Each data bit string is composed of one parity bit. Vertical parity is used to identify and correct the error bit (s) in the segment that has been tagged as error by horizontal parity.
【0029】誤りのある行全体を訂正することができ
る。このため、含まれる復号化によってセグメントまた
はバイトにエラーが広がっても訂正の妨げにはならない
ので、垂直パリティは未コード化ビット上で計算され
る。垂直パリティは、少なくとも1つのセグメントを網
羅するのに十分なビット数を有する。それより長いエラ
ー・バーストを訂正するために、2つまたはそれ以上の
垂直パリティ行を付加することもできる。たとえば、す
べての偶数番号行から第1のパリティを計算し、すべて
の奇数番号行から第2のパリティを計算することができ
る。この場合、1対の隣接行にまたがるエラー・バース
トや、一方が偶数番号行にあり、もう一方が奇数番号行
にある場合の2つの分離されたより短いバーストの訂正
が可能である。垂直パリティ・ビットはデータと同様に
コード化される。ある垂直パリティ・バイトにエラーが
発生した場合、そのバイトは無視され、発生している可
能性のある他のエラーの訂正には使用されない。The entire erroneous row can be corrected. Thus, the vertical parity is calculated on the uncoded bits, as the included decoding does not hinder the correction if the error is spread in the segment or byte. Vertical parity has a sufficient number of bits to cover at least one segment. To correct for longer error bursts, two or more vertical parity rows may be added. For example, a first parity can be calculated from all even numbered rows, and a second parity can be calculated from all odd numbered rows. In this case, correction of error bursts that span a pair of adjacent rows or two separate shorter bursts where one is in an even numbered row and the other is in an odd numbered row is possible. The vertical parity bits are coded like data. If an error occurs in a vertical parity byte, that byte is ignored and is not used to correct other errors that may have occurred.
【0030】短いエラー・バーストは別にして、リンク
・エラー事象は十分低い割合でランダムに発生するた
め、ほとんどの場合、1つのフレーム内には単一のエラ
ー事象しか存在しないと想定することが必要である。こ
の想定が当てはまらない場合は、フレーム長を短縮する
か、または一定の間隔でフレームに垂直パリティを挿入
しなければならない。また、ほとんどエラーは単一マト
リックス行に制限されるということも想定する。本明細
書に示し説明するシステムおよび方法は、複雑さの増大
という犠牲を払えば、行境界にまたがるエラーを処理で
きるようにすることができる。もう1つの要件は、エラ
ーが発生しているときにフレームの先頭と終わりを正し
く認識することである。訂正済みフレームまたは未訂正
フレームの妥当性は、そのフレームについて計算された
巡回冗長検査によって最終的に判定される。水平パリテ
ィによって所与の複数エラーを検出できなかった場合、
エラー・バーストが垂直パリティより長い場合、バイト
同期が失われた場合、エラー・バーストが複数ある場
合、フレームの先頭と終わりを間違って検出した場合、
フレームが打ち切られているかまたは欠落している場合
など、エラー訂正が失敗した場合でも、再伝送機能が使
用可能であることが好ましい。Apart from short error bursts, link error events occur at a sufficiently low random rate that in most cases it can be assumed that there is only a single error event in a frame. is necessary. If this assumption does not hold, the frame length must be reduced or vertical parity must be inserted into the frame at regular intervals. Also assume that most errors are limited to a single matrix row. The systems and methods shown and described herein may be able to handle errors across row boundaries at the expense of increased complexity. Another requirement is to correctly recognize the beginning and end of a frame when an error occurs. The validity of a corrected or uncorrected frame is ultimately determined by a cyclic redundancy check calculated for that frame. If the horizontal parity fails to detect the given multiple errors,
If the error burst is longer than the vertical parity, if the byte synchronization is lost, if there are multiple error bursts, if the start and end of the frame are detected incorrectly,
It is preferable that the retransmission function be usable even when error correction fails, such as when a frame is truncated or missing.
【0031】水平パリティ一般に使用されるパリティ・
マトリックスの水平パリティは、各マトリックス行ごと
に1つずつの明示ビットである。Horizontal Parity Parity generally used
The horizontal parity of the matrix is one explicit bit for each matrix row.
【0032】以下の例では、むしろ転送コードによって
水平パリティがすべて自動的に供給される。信頼できる
低コスト伝送を強化するために、伝送コードにはいくつ
かの制約が適用される。1つのバイトまたはワード内の
奇数個のエラーによって無効ワードが1つ生成されるよ
うに、追加の制約をコードに組み込むことができる。コ
ードのこのような特性は「ローカル・パリティ」[Marti
n、1985]と呼ばれる。一般的な応用例では、このような
コードはあまり望ましくない。というのは、その追加の
制約によって、一部の伝送パラメータの性能を低下さ
せ、より複雑かつより高コストの実現例を受け入れるこ
とが必要になるからである。ファイバ・チャネル標準
(FCS)コードなどの他の8B/10Bコードでは、
ほとんどの場合、エラーが発生すると直ちに無効バイト
を示す。しかし、エラーの大部分は、エラーが発生して
いるバイトからかなり離れたビット・ストリーム中の不
均衡違反しか発生しないので、エラー(複数も可)を含
むバイトを直接識別することはできない。ローカル・パ
リティを備えた2進DC平衡コードの設計では、以下の
オプションが使用可能である。In the following example, rather, the transfer code provides all the horizontal parity automatically. In order to enhance reliable low cost transmission, some restrictions apply to the transmission code. Additional constraints can be built into the code so that an odd number of errors in a byte or word will produce one invalid word. This property of the code is called "local parity" [Marti
n, 1985]. In typical applications, such code is less desirable. This is because the additional constraints require that some transmission parameters be degraded and accept more complex and costly implementations. Other 8B / 10B codes, such as Fiber Channel Standard (FCS) codes,
In most cases, an error indicates an invalid byte immediately. However, it is not possible to directly identify the byte containing the error (s), as most of the errors will only cause imbalance violations in the bit stream that are far away from the byte in error. In the design of a binary DC balanced code with local parity, the following options are available.
【0033】・平衡したワードのみで構成されるコード
を設計し、このようなワード内に奇数個のエラーがあれ
ば、そのワードが平衡していないことを示すようにする
ことが可能である。たとえば、16ビットを20ビット
に変換し、すべての20ビット・ワードが平衡するよう
にすることができる。ただし、このような16B/20
Bコードは複雑で実施しにくいものである。また、誤り
のある単一ビットによって、復号処理中に16のエラー
・バーストが発生し、それにより、より大きい組のパリ
ティ・ビットが必要になる場合もある。必ず20ビット
・ワードが平衡していても、このコードの低周波挙動は
区分化8B/10BFCSコード同然である。It is possible to design a code consisting only of balanced words, so that an odd number of errors in such a word indicates that the word is not balanced. For example, 16 bits can be converted to 20 bits so that all 20-bit words are balanced. However, such 16B / 20
B codes are complex and difficult to implement. Also, a single erroneous bit may cause 16 error bursts during the decoding process, thereby requiring a larger set of parity bits. Even though the 20-bit words are always balanced, the low frequency behavior of this code is similar to a segmented 8B / 10BFCS code.
【0034】・奇数個のエラーによって必ず無効コード
・ワードが生成されるような、ローカル・パリティを備
えた低不均衡8B/10Bコードが存在する。このよう
なコードの1つは、Martin [1985]によって低算されて
いる。一般に、この種のコードは区分化8B/10Bコ
ード[Widmer、1983]より実施しにくく、低周波スペクト
ル成分がより強いため、高域フィルタの時定数を40%
以上増加しなければならない。Martin [1985]により発
表されたコードでは、1バイトに制限された適当なコン
マも欠落している。優れたコンマを備えたコードについ
て、以下に説明する。There are low unbalanced 8B / 10B codes with local parity, such that an odd number of errors always produces an invalid code word. One such code is undercounted by Martin [1985]. Generally, this type of code is more difficult to implement than the segmented 8B / 10B code [Widmer, 1983] and has a stronger low-frequency spectral component, so the time constant of the high-pass filter is 40%.
Must increase. The code published by Martin [1985] also lacks the appropriate comma limited to one byte. Code with good commas is described below.
【0035】ローカル・パリティと短縮コンマを備えた
8B/10Bコード(図2および3) ここに記載する8B/10B伝送コードでは、低周波成
分の含有量の増加と引き換えに組込みパリティ機能が実
現されている。このコードのいずれかの10B文字に奇
数個のビット・エラーが発生している場合、その文字は
無効文字になる。8B / 10B Code with Local Parity and Abbreviated Comma (FIGS. 2 and 3) The 8B / 10B transmission code described here implements a built-in parity function in exchange for an increased content of low frequency components. ing. If any of the 10B characters of this code have an odd number of bit errors, the character is invalid.
【0036】本発明による以下のコードは、8個のソー
ス・ビットを、シリアル伝送により適した配置の10個
のコード化ビットに変換する。これは、252個の平衡
した(不均衡ゼロ)10ビット・ベクトルの組と、不均
衡が±4の120個の補数ベクトル対から、極性を交互
にして挿入した複数のベクトルを使用する。したがっ
て、1つの文字に単一のエラーがあると、2または6の
不均衡が発生することになり、どちらの不均衡も違法な
組合せである。The following code according to the present invention converts eight source bits into ten coded bits in a more suitable arrangement for serial transmission. It uses a set of 252 balanced (unbalanced zero) 10-bit vectors and multiple vectors with alternating polarity inserted from a pair of 120 complement vectors with an imbalance of ± 4. Thus, a single error in one character will result in 2 or 6 imbalances, both imbalances being an illegal combination.
【0037】連続する同一ビットの数であるランレング
ス(RL)は5に限定され、隣接ランの数が5の場合は
認められない。ビット・パターン「11011111」
とその補数は同期文字列またはコンマになる。これは、
コンマ文字「0110111110」またはその補数
「1001000001」に埋め込まれる。シリアル伝
送は左から始まる。コンマ文字は4つの内部遷移を含
み、一連のコンマ文字列は1つの文字当たり5つの遷移
を発生する。コンマ文字の他に、4つの特殊な非データ
文字がある。The run length (RL), which is the number of consecutive identical bits, is limited to 5, and is not allowed when the number of adjacent runs is 5. Bit pattern "11011111"
And its complement become a synchronization string or comma. this is,
It is embedded in the comma character “0110111110” or its complement “1001000001”. Serial transmission starts from the left. The comma character contains four internal transitions, and a series of comma strings produces five transitions per character. In addition to the comma character, there are four special non-data characters.
【0038】あるいは、互換性のあるコード・ベクトル
を備えたコンマとして、ビット列「11111011」
とその補数を選択することもできる。この場合、以下に
示すトレリス図は左から右ではなく、右から左に読み取
る。したがって、伝送されるコード・バイトの1ビット
目は右端になる。Alternatively, the bit string "11111011" may be used as a comma with a compatible code vector.
And its complement can also be selected. In this case, the trellis diagram shown below is read not from left to right but from right to left. Therefore, the first bit of the transmitted code byte is at the right end.
【0039】図2および3のトレリス図(ローカル・パ
リティを備えた8B/10Bコードのトレリス)には、
すべての有効コード化文字が示されており、各立上りブ
ランチは「1」のビットを表し、各立下りブランチは
「0」のビットを表す。たとえば、1つのメンバーを有
する図3のグループ3Kを図4に再現する。図4は、
2、4、6、8、10、12、14、16、18、2
0、22という11個のノードを示している。立上り線
(またはブランチ)24、26、28は3つの「1」を
表す。ノード8と10の間にある次の線またはブランチ
30は1つの「0」に対応する。立上りブランチ32、
34、36、38は4つの「1」に対応する。次のブラ
ンチ40と42は、2つの「0」に対応する。したがっ
て、グループ3Kの文字は「1110111100」に
なる。図2および3の各ノードの右にある数字は、入力
ノードからそのノードまでの有効経路の本数を表す。複
数ビットからなるブロック(バイトまたは文字など)の
不均衡は、「1」の数から「0」の数を引いた代数上の
差である。シリアル・ビット・ストリーム内の特定のポ
イントでの実行不均衡RDは、先行ブロックの不均衡の
合計である。1ブロック分のビットの不均衡は、そのブ
ロックの終わりでのRDとそのブロックの先頭でのRD
との差に等しくなる。数字合計の変動は、1つのブロッ
クでのRDの最大値と最小値との代数上の差である。バ
イト間の境界では、本発明のコードの実行不均衡RDは
必ず±2になる。ローカル・パリティを含まない8B/
10Bコードの場合は、通常、バイト境界でのRDが±
1になる。ここに記載するコードでは、開始RLと終了
RLを2に限定しているが、コード化バイトについて
は、RD=−2から3つの「1」またはRD=+2から
3つの「0」で始めることができ、RD=−2の3つの
「0」ならびにRD=+2の3つの「1」で終わっても
よい。したがって、文字境界を越えるRLは5に限定さ
れる。すべての可能な5というRLごとにその近傍が切
り詰められるので、位置合せが正しくないコンマ文字列
が発生することはない。図2および3では、xのマーク
が付いた分離ポイントを通過するベクトルは、長さが5
の連続ランを含むRL違反または間違ったコンマを生成
する恐れがある。In the trellis diagrams of FIGS. 2 and 3 (trellis of 8B / 10B code with local parity):
All valid coded characters are shown, each rising branch representing a "1" bit and each falling branch representing a "0" bit. For example, the group 3K of FIG. 3 having one member is reproduced in FIG. FIG.
2, 4, 6, 8, 10, 12, 14, 16, 18, 2,
11 nodes 0 and 22 are shown. Rising lines (or branches) 24, 26, 28 represent three "1s". The next line or branch 30 between nodes 8 and 10 corresponds to one "0". Rising branch 32,
34, 36 and 38 correspond to four “1” s. The next branches 40 and 42 correspond to two "0". Therefore, the character of the group 3K is “1110111100”. The numbers to the right of each node in FIGS. 2 and 3 represent the number of effective paths from the input node to that node. The imbalance of a multi-bit block (such as a byte or character) is the algebraic difference of the number of "1" minus the number of "0". The execution imbalance RD at a particular point in the serial bit stream is the sum of the imbalances of the preceding blocks. The imbalance of bits for one block is determined by the RD at the end of the block and the RD at the beginning of the block.
Is equal to the difference between The variation in the sum of numbers is the algebraic difference between the maximum and minimum values of RD in one block. At the boundary between bytes, the execution imbalance RD of the code of the present invention is always ± 2. 8B / without local parity
In the case of 10B code, RD at byte boundary is usually ±
Becomes 1. In the code described here, the start RL and end RL are limited to 2, but for the coded bytes, start with RD = −3 three “1s” or RD = + 2 three “0s” And may end with three “0” s with RD = −2 and three “1s” with RD = + 2. Therefore, the RL exceeding the character boundary is limited to 5. Since the neighborhood is truncated for every possible RL of 5, no misaligned comma string will occur. In FIGS. 2 and 3, the vector passing through the separation point marked x has a length of 5
RL violations or erroneous commas involving multiple consecutive runs.
【0040】このコードは、コード化領域内に以下の3
つの主要ベクトル・グループを含む。 ・グループ1および1A/Bに示す174個の不均衡非
依存平衡ベクトルは、前面のRD=±2が示すように、
開始不均衡とは無関係に入力することができる。これら
はすべて平衡しているので、終了不均衡は開始不均衡と
等しくなる。 ・グループ2AC、2D、2Eの27個の平衡ベクトル
は、不均衡に依存し、開始RDが−2の場合のみ入力す
ることができる。開始RDが正の場合は、その補数を使
用する。 ・グループ3、3F、3G、3H、3J、3Kの59個
のベクトルは、不均衡が+4で平衡しておらず、図示の
通り、開始RDが負の場合のみ使用することができ、そ
れ以外の場合はその補数を使用する。グループ3Fに示
す太線のベクトルはコンマである。This code has the following 3 in the coding area.
Contains one major vector group. The 174 imbalance-independent equilibrium vectors shown in groups 1 and 1A / B, as indicated by the front RD = ± 2,
It can be entered independently of the starting imbalance. Since they are all balanced, the end imbalance is equal to the start imbalance. The 27 balanced vectors of groups 2AC, 2D, 2E depend on the imbalance and can only be entered if the starting RD is -2. If the starting RD is positive, use its complement. 59 vectors of groups 3, 3F, 3G, 3H, 3J, 3K can be used only when the imbalance is unbalanced at +4 and the starting RD is negative as shown, otherwise In that case, use its complement. The thick line vector shown in the group 3F is a comma.
【0041】包絡線は、開始不均衡が+2または−2の
場合に260個の文字をコード化するのに必要なすべて
のベクトルを含んでいる。この包絡線のすべてのベクト
ルが実際に許可されるわけではなく、すべての制約を規
定する上記の個別グループに示されたものだけが許可さ
れる。コードの低周波スペクトル成分とトレリス包絡線
のトレースとの間には相関関係がある。最大数字合計変
動(DSV)による大まかな特徴付けの他に、ゼロの不
均衡線とベクトル・トレースとの領域の尺度である正規
化オフセットを規定することができる。最大オフセット
が小さければ小さいほど、低周波挙動が向上する。The envelope contains all the vectors needed to code 260 characters when the starting imbalance is +2 or -2. Not all vectors of this envelope are actually allowed, only those shown in the individual groups above, which define all constraints. There is a correlation between the low frequency spectral components of the code and the trace of the trellis envelope. In addition to a rough characterization by maximum digit sum variation (DSV), a normalized offset, which is a measure of the area between the zero imbalance line and the vector trace, can be defined. The lower the maximum offset, the better the low frequency behavior.
【0042】包絡線から分かるように、このコードの最
大DSVは10である。このDSVを8まで低減するこ
とは可能であるが、それには5の連続ランが必要にな
る。この場合、包絡線の上部輪郭と下部輪郭が有効文字
を表さないことは興味深い。包絡線の最高ポイントと最
低ポイントを通過するベクトルは、グループ1A/Bの
ベクトルだけである。包絡線の最も外側の輪郭は、グル
ープ1またはグループ1A/Bの最も外側の上部輪郭お
よび下部輪郭によって示される。+2の不均衡から始め
て、1101010100または1101100010
を伝送することができ、いずれの場合も、この輪郭と不
均衡ゼロとの間の領域を囲むことができる。この不均衡
ゼロは、1バイト当たり33個の面積単位(不均衡×時
間)または1ビット感覚当たり平均3.3に相当する。
これを正規化オフセットと呼ぶ。負の不均衡から始まる
これらの同一ベクトルの補数は下部輪郭をたどる。実行
不均衡が±5のポイント(グループ1A/Bのポイント
AとB)を通過するベクトルの最大オフセットはDSV
が8に限定された最も外側のベクトル程度であるため、
DSVが10の場合の低周波上の不利な条件は、それ以
外の場合ほど重大ではなく、DSVが10の場合はこの
ような追加の制約がない。シミュレーションの結果、ア
イ・クロージャを0.25dB未満に維持する場合、こ
のコードでは、単一RC高域フィルタの低周波遮断をビ
ット転送速度の0.055%程度に設定しなければなら
ないことが分かっている。これは、FCSコード(米国
特許第4486739号)よりほぼ係数2だけ低い。D
SVは8であるが連続ランは5である変形コードでは、
アイ・クロージャ上の不利な条件を等しくするため、低
周波遮断をビット転送速度の0.063%まで上げるこ
とができる。図2および3から、最小遷移密度が1文字
当たり3であることが容易に理解できる。As can be seen from the envelope, the maximum DSV for this code is 10. It is possible to reduce this DSV to 8, but this would require 5 consecutive runs. In this case, it is interesting that the upper and lower contours of the envelope do not represent valid characters. The only vector that passes through the highest and lowest points of the envelope is the group 1A / B vector. The outermost contour of the envelope is indicated by the outermost upper and lower contours of Group 1 or Group 1A / B. Starting from a +2 imbalance, 1101010100 or 1101100010
Can be transmitted, and in any case, the area between this contour and zero imbalance can be enclosed. This zero imbalance corresponds to 33 area units per byte (imbalance x time) or an average of 3.3 per bit perception.
This is called a normalized offset. The complement of these same vectors starting from the negative imbalance follows the lower contour. The maximum offset of a vector whose execution imbalance passes through ± 5 points (points A and B of group 1A / B) is DSV
Is about the outermost vector limited to 8, so
The penalty on low frequencies with a DSV of 10 is less severe than otherwise, and with a DSV of 10 there is no such additional constraint. Simulations have shown that if the eye closure is kept below 0.25 dB, then this code must set the low frequency cutoff of the single RC high-pass filter to be on the order of 0.055% of the bit rate. ing. This is approximately a factor 2 lower than the FCS code (US Pat. No. 4,486,739). D
In a variant code where the SV is 8 but the consecutive runs are 5,
To equalize the disadvantages on the eye closure, the low frequency cutoff can be increased to 0.063% of the bit rate. From FIGS. 2 and 3, it can easily be seen that the minimum transition density is 3 per character.
【0043】ローカル・パリティを備えた8B/10B
コードの実施態様 初期設計努力のコストを無視すれば、テーブルの全部ま
たは一部を使用する実施態様は最も容易であるが、おそ
らく最も経済性の低い手法である。組合せ論理のみを使
用した適度な複雑さの設計を達成することができる。変
更するビット数をできるだけ少なくし、共通ハードウェ
アによって処理されるベクトルをグループ単位に分類す
るというFCSコードと同様の設計原理を使用すること
により、200個をはるかに上回るベクトルを処置する
ことができる。最後の30または40個のベクトルで
は、共通するものを見つけ、数個以上のベクトルを含む
グループを規定するのがますます難しくなる。この場
合、ジョブを完了するために個々のベクトル変換にたよ
る時期が主に問題になる。テーブル・ルックアップ以外
のどの実施態様も、特定のコード化ベクトルへの個々の
ソース・バイトの割当て次第なので、ここでは変換テー
ブルは示さない。また、組合せ論理を有する実施態様
は、区分化FCSコードと比較した場合、クリティカル
・パス内の論理レベルが少なくとも3つ以上多く、ゲー
ト数も多く、一般にファンイン数も多くなる可能性が高
い。8B / 10B with local parity
Code Implementation Ignoring the cost of the initial design effort, an implementation that uses all or part of the table is the easiest, but probably the least economical approach. Moderate complexity designs using only combinational logic can be achieved. By using a design principle similar to the FCS code that changes the number of bits as little as possible and classifies the vectors processed by the common hardware into groups, much more than 200 vectors can be treated. . With the last 30 or 40 vectors, it becomes increasingly difficult to find commonalities and to define groups that contain more than a few vectors. In this case, the problem mainly depends on the time required for the individual vector conversion to complete the job. Since any implementation other than table lookup depends on the assignment of individual source bytes to a particular coded vector, no translation table is shown here. Further, the embodiment having the combinational logic is more likely to have at least three or more logic levels in the critical path, more gates, and generally more fan-ins than the partitioned FCS code.
【0044】ローカル・パリティ・コードの評価 エラー訂正を必要としない応用例には、コーダおよびデ
コーダの実施態様の複雑さが増すという不利な条件があ
る。場合によっては、従来よりいくらか高速の技術が必
要になる場合もある。シリアル信号経路の高域フィルタ
はいずれも係数2だけ大きい時定数を必要とする。それ
以外の場合は、コードのパフォーマンスがFCSコード
に匹敵するものと思われる。現在の見通しによれば、以
下のタイプのリンクではこのコードを採用すると有利で
あると思われる。 ・オプションとしてだけではなく、順方向エラー訂正を
常時使用するシステム。 ・非常に短いフレームまたは高いエラー率と組み合わせ
て順方向エラー訂正を使用し、短いエラー訂正ブロック
を強制するシステム。このような場合、1つのブロック
当たり8つの垂直パリティ・ビットだけで動作できる能
力は利点の1つになると思われる。 ・Martin [1985]が提案するように、ローカル・パリテ
ィを備えたコードは最尤信号検出に利用することができ
るはずである。たとえば、時間と振幅の両方について認
知された最適サンプリング・ポイントから各方向への単
一ステップ・オフセットを使用する場合、1ビット当た
り5〜9個のサンプルまたは1バイト当たり最高90個
のサンプルで容易に終わりにすることができるであろ
う。この場合、実用上の理由から、フレームの終わりに
達したときではなく直ちにエラー・バイトを認識するこ
とが重要である。リアルタイム・システムやその他の遅
延に敏感なシステムには、エラー率を低減するこのよう
な技法も好ましいと思われる。Evaluation of Local Parity Codes Applications that do not require error correction have the disadvantage of increasing the complexity of the coder and decoder implementation. In some cases, some faster technology may be required. Each high pass filter in the serial signal path requires a time constant that is larger by a factor of two. Otherwise, the performance of the code would be comparable to the FCS code. According to the current outlook, it may be advantageous to adopt this code for the following types of links: -A system that always uses forward error correction, not just as an option. A system that uses forward error correction in combination with very short frames or high error rates to force short error correction blocks. In such a case, the ability to operate with only eight vertical parity bits per block would be an advantage. • As proposed by Martin [1985], a code with local parity could be used for maximum likelihood signal detection. For example, using a single step offset in each direction from the perceived optimal sampling point for both time and amplitude, it is easy with 5-9 samples per bit or up to 90 samples per byte. Could be finished. In this case, for practical reasons, it is important to recognize the error byte immediately rather than when the end of the frame is reached. For real-time systems and other delay-sensitive systems, such techniques for reducing error rates may also be preferred.
【0045】エラー訂正用の垂直パリティ 奇数パリティ・ビットは、コード化または未コード化マ
トリックスの各列ごとに得られ、フレームの終了後にコ
ード化形式で伝送される。容易に実施するには、共通デ
ータ形式との互換性が優れている点や、バッファの幅、
処理ストリームの点から、未コード化データからパリテ
ィを得る方が好ましい。通常、1バイト分の垂直パリテ
ィ・ビットが生成されるが、これより大きいかまたは小
さいセグメント化も可能である。受信側のデコーダは、
復号化領域で単一ビット・エラーを8つのバーストに拡
大することができる。このエラー分散はマトリックス訂
正方式に悪影響を及ぼすものではない。Vertical parity for error correction Odd parity bits are obtained for each column of the coded or uncoded matrix and transmitted in coded form after the end of the frame. Easier implementations require better compatibility with common data formats, buffer widths,
In terms of the processing stream, it is preferable to obtain the parity from the uncoded data. Typically, one byte of vertical parity bits is generated, but larger or smaller segmentations are possible. The decoder on the receiving side
The single bit error can be extended to eight bursts in the decoding domain. This error dispersion does not adversely affect the matrix correction method.
【0046】ローカル・パリティを備えたコードでは、
単一ビット伝送エラーによって必ず無効バイトが生成さ
れる。フレームの終わりの受信後、垂直パリティ違反が
発生している列内の無効バイトの各ビットについて、補
数が取られる。1つのフレームの複数バイトが無効の場
合は、訂正の試みが一切行われない。For a code with local parity,
An invalid byte is always generated by a single bit transmission error. After receiving the end of the frame, the complement is taken for each bit of the invalid byte in the column where the vertical parity violation has occurred. If multiple bytes of one frame are invalid, no correction attempt is made.
【0047】バースト・エラー 相当な数のバースト・エラーが10個未満のコード化ビ
ットに拡散しているという問題がリンクに発生している
場合、バイト境界にまたがるエラーの訂正が必要になる
と思われる。このため、2つの垂直パリティ・バイトが
同時に送信され、第1のバイトはすべての偶数番号バイ
トについて計算され、第2のバイトはすべての奇数番号
バイトについて計算される。Burst Error If the link is experiencing a problem where a significant number of burst errors are spread over less than 10 coded bits, it may be necessary to correct errors across byte boundaries. . Thus, two vertical parity bytes are transmitted simultaneously, the first byte being calculated for all even numbered bytes, and the second byte being calculated for all odd numbered bytes.
【0048】特殊文字の回復 特殊文字にエラーが発生している場合は、さらに研究を
重ねる価値がある。予測不能な構成で様々な特殊文字を
使用する応用例の場合、1つのバイトがデータかまたは
制御情報であるかを示すKビットとして、追加の垂直パ
リティ・ビットを使用する。FCSの応用例では、他の
手段でも可能なフレームの開始および終了区切り文字の
コンマ文字のエラーを訂正する場合のみ、このビットが
有用であるはずである。Recovery of Special Characters If an error has occurred in a special character, it is worth further study. For applications that use various special characters in an unpredictable configuration, an additional vertical parity bit is used as a K bit to indicate whether a byte is data or control information. In FCS applications, this bit should only be useful when correcting comma character errors in the start and end delimiters of the frame that are possible with other means.
【0049】フレームの開始および終了の検出 フレームの開始(SOF)および終了(EOF)を正し
く認識することは非常に重要であり、正しく認識できな
いと、このパリティ訂正方式が機能しない。送信機側で
は、エラーが発生しないので、これは問題にならない。
本発明者の目的は、少なくとも2つのバイトにエラーが
発生していない限り、受信機側でフレーム境界を正しく
認識することである。"Apparatus and Method for Erro
r Correction Based on Transmission Code Violations
and Parity"という関連特許出願第 号に
は、FCSのフレームの開始および終了区切り文字を確
実に検出する方法が記載されている。本出願のローカル
・パリティ・コードでも同様の方法を使用することがで
きる。コンマ文字を含むコード化ワードが異なるため、
詳細部分の一部が異なっているだけである。Detection of Start and End of Frame It is very important to correctly recognize the start (SOF) and end (EOF) of a frame. If the frame is not correctly recognized, the parity correction method does not work. This is not a problem since no errors occur on the transmitter side.
The object of the inventor is to correctly recognize the frame boundaries at the receiver unless at least two bytes have errors. "Apparatus and Method for Erro
r Correction Based on Transmission Code Violations
and Parity, a related patent application, describes a method for reliably detecting the start and end delimiters of FCS frames. A similar method may be used for the local parity code of the present application. Yes, because the coded words that contain the comma character are different,
Only some of the details are different.
【0050】結論 ローカル・パリティを備えたコードは、余分なパリティ
・ビットを使わずにフレーム内のエラー・バイトの位置
を特定することができるが、このようなコードは実施す
るにはより複雑なものになり、より大きい低周波スペク
トル成分を生成する。このエラー検出技法は、単純な垂
直パリティによるエラー訂正を可能にし、短いフレーム
を使用するリンク・アーキテクチャに十分適したもので
ある。また、これは、リンク・レベル以上の伝送プロト
コルに対して透過なものにすることができる。Conclusion Codes with local parity can locate error bytes in a frame without using extra parity bits, but such codes are more complex to implement. And produce larger low frequency spectral components. This error detection technique allows for error correction with simple vertical parity and is well suited for link architectures using short frames. It can also be transparent to transmission protocols above the link level.
【0051】参考文献 Martin W. Sachs. High Performance Networks, Techn
ology and Protocols,Chapter II.5, Fibre Channel.
Ahmed N. Tantawy, Editor. KluwerAcademic Publishe
rs, Boston, 1994. X3T9 Technical Committee. Fibre Channel, Physical
and SignalingInterface (FC-PH); Rev. 3.0. FC-P/9
2-001R3.0. American NationalStandards Institute,
1430 Broadway, New York, NY 10018, 1992. Available from: Global Engineering, 2805 McGaw S
t., Irvine, CA 92714Wayne D. Grover. Forward Erro
r Correction in Dispersion-LimitedLightwave System
s. IEEE Journal of Lightwave Technology, 6(5):643
-654.May 1988. C. Benz, M. Gowan and K. Springer. An Error Corre
cting Encoder andDecoder for a 1 Gbit/s Fiber Opti
c Link. Proc. IEEE 1991 CustomIntegrated Circuits
Conference, 7.1.1-7.1.4, San Diego, May 1991. D. H. McMahon, A. A. Kirby, B. A. Schofield and K.
Springer. U. S. Pat.No. 5,144,304. Data and For
ward Error Control Coding Techniques forDigital Si
gnals. Sept. 1, 1992. K. Springer. A Forward Error Correcting Code for
Gigabit Fiber OpticLinks. Conference on High-Spee
d Fiber Networks and Channels (1991),Boston. Sept
ember 1991. Proc. SPIE - Int. Soc. Opt. Eng. (US
A), Vol.1577, 1992, pp246-253. C. A. French. Distance Preserving Run-Length Limi
ted Codes. IEEETransactions on Magnetics, MAG-25
(5):4093-4095, September 1989. M. Blaum. Combining ECC with modulation: performa
nce comparisons. IEEETransactions on Information
Theory, 37(3):945-949, May 1991. M. Blaum, S. Litsyn, V. Buskens and C. A. van Tilb
org. Error-CorrectingCodes with Bounded Running D
igital Sum. IEEE Transactions onInformation Theor
y. 39(1):216-227, January 1993. C. S. Coetzee, H. C. Ferreira and P. G. W. van Roo
yen. On thePerformance and Implementation of a Cl
ass of Error and Erasure Control(d,k) Block Codes.
IEEE Transactions on Magnetics, 26(5):2312-2314,
September 1990. R. W. Hamming. Coding and Information Theory, 2nd
Ed. Prentice Hall Inc.,Englewood Cliffs, NJ 0763
2, 1986. G. N. N. Martin. A Rate 8/10 DC Balanced Code wit
h Local Parity. IBMTechnical Disclosure Bulletin,
27(9):5272-5279. February 1985. A. X. Widmer and P. A. Franaszek. A DC-Balanced,
Partitioned-Block,8B/10B Transmission Code. IBM J
ournal of Research and Development,Vol. 27, No. 5,
pp.440-451, September 1983.References Martin W. Sachs. High Performance Networks, Techn
ology and Protocols, Chapter II.5, Fiber Channel.
Ahmed N. Tantawy, Editor.KluwerAcademic Publishe
rs, Boston, 1994. X3T9 Technical Committee. Fiber Channel, Physical
and SignalingInterface (FC-PH); Rev. 3.0. FC-P / 9
2-001R3.0. American NationalStandards Institute,
1430 Broadway, New York, NY 10018, 1992. Available from: Global Engineering, 2805 McGaw S
t., Irvine, CA 92714Wayne D. Grover. Forward Erro
r Correction in Dispersion-LimitedLightwave System
s.IEEE Journal of Lightwave Technology, 6 (5): 643
-654.May 1988. C. Benz, M. Gowan and K. Springer. An Error Corre
cting Encoder and Decoder for a 1 Gbit / s Fiber Opti
c Link. Proc. IEEE 1991 Custom Integrated Circuits
Conference, 7.1.1-7.1.4, San Diego, May 1991.DH McMahon, AA Kirby, BA Schofield and K.
Springer. US Pat. No. 5,144,304. Data and For
ward Error Control Coding Techniques for Digital Si
gnals. Sept. 1, 1992. K. Springer. A Forward Error Correcting Code for
Gigabit Fiber OpticLinks. Conference on High-Spee
d Fiber Networks and Channels (1991), Boston.
ember 1991. Proc. SPIE-Int. Soc. Opt. Eng. (US
A), Vol.1577, 1992, pp246-253. CA French.Distance Preserving Run-Length Limi
ted Codes. IEEETransactions on Magnetics, MAG-25
(5): 4093-4095, September 1989. M. Blaum. Combining ECC with modulation: performa
nce comparisons.IEEETransactions on Information
Theory, 37 (3): 945-949, May 1991.M. Blaum, S. Litsyn, V. Buskens and CA van Tilb
org.Error-CorrectingCodes with Bounded Running D
igital Sum.IEEE Transactions onInformation Theor
y. 39 (1): 216-227, January 1993. CS Coetzee, HC Ferreira and PGW van Roo
yen. On thePerformance and Implementation of a Cl
ass of Error and Erasure Control (d, k) Block Codes.
IEEE Transactions on Magnetics, 26 (5): 2312-2314,
September 1990. RW Hamming. Coding and Information Theory, 2nd
Ed. Prentice Hall Inc., Englewood Cliffs, NJ 0763
2, 1986. GNN Martin. A Rate 8/10 DC Balanced Code wit
h Local Parity. IBM Technical Disclosure Bulletin,
27 (9): 5272-5279. February 1985. AX Widmer and PA Franaszek. A DC-Balanced,
Partitioned-Block, 8B / 10B Transmission Code. IBM J
ournal of Research and Development, Vol. 27, No. 5,
pp.440-451, September 1983.
【0052】まとめとして、本発明の構成に関して以下
の事項を開示する。In summary, the following items are disclosed regarding the configuration of the present invention.
【0053】(1)複数のNビット・バイトからなるフ
レームをコード化した複数のMビット・バイトからなる
フレームにコード化する装置において、M>N>0であ
り、前記フレームがフレーム境界を有し、前記バイト間
にバイト境界が存在し、複数のNビット・バイトからな
る前記フレームを格納する手段と、可能なすべてのMビ
ット・バイトからなるサブセットである複数のMビット
・バイトのメンバーを含むコードを提供する手段であっ
て、2N個の可能なNビット・バイトのそれぞれについ
て前記サブセット内に対応するメンバーが1つずつ存在
し、前記コードの前記メンバーのそれぞれが一連のビッ
ト列を有し、前記ビット列のうちの1つの状態を変更し
た場合にその結果として得られるMビット・バイトが前
記コードの前記メンバーの1つにならないようになって
おり、前記コードの前記メンバーの1つが前記フレーム
境界および前記バイト境界を識別するためのコンマであ
り、前記コンマが第1および第2の値から選択された2
進状態を有する一連のビット列を有し、前記コンマの前
記ビット列が前記コードの前記メンバーの1つに制限さ
れ、前記コンマの前記ビット列が前記コードの他のメン
バーのいかなる組合せの間の境界を横切らないようにな
っている手段と、前記フレーム内の前記Nビット・バイ
トのそれぞれに前記コードからの前記対応するメンバー
を割り当てて、前記フレームに対応するコード化フレー
ムを形成する手段と前記コード化フレームを格納する手
段とを含むことを特徴とする装置。 (2)前記コード化フレームを送信されたコード化フレ
ームとして受信装置に伝送する手段をさらに含むことを
特徴とする、上記(1)に記載の装置。 (3)前記受信装置が、前記送信されたコード化フレー
ムにエラーがあるかどうかを判定する手段を有すること
を特徴とする、上記(2)に記載の装置。 (4)N=8かつM=10であることを特徴とする、上
記(1)に記載の装置。 (5)前記コードが10ビット・コードであり、前記コ
ードが複数の10ビット・バイトを含み、その10ビッ
ト・バイトのすべてが0、+4、または−4の数字合計
変動を有することを特徴とする、上記(4)に記載の装
置。 (6)前記コンマが、「11011111」とその補数
「00100000」とから構成されるグループから選
択されたビット・パターンを含むことを特徴とする、上
記(4)に記載の装置。 (7)前記コンマが、「0110111110」とその
補数「1001000001」とに埋め込まれることを
特徴とする、上記(4)に記載の装置。 (8)前記コードが、2進状態が5以下のランレングス
のみを許可することを特徴とする、上記(4)に記載の
装置。 (9)前記コードが、平衡し不均衡非依存の174個の
10ビット・バイトと、27対の平衡かつ不均衡依存の
10ビット・バイトと、±4の不均衡を有ししかも不均
衡依存の59対の10ビット・バイトとを含むことを特
徴とする、上記(4)に記載の装置。 (10)複数のNビット・バイトからなる前記フレーム
を格納する前記手段がメモリであり、前記コード化フレ
ームを格納する前記手段がメモリであることを特徴とす
る、上記(1)に記載の装置。 (11)非制約入力データ・ストリーム用のランレング
ス限定8B/10Bコードを生成する装置において、複
数の8ビット・バイトからなるフレームを格納する手段
と、前記8ビット・バイトのそれぞれにコード化10ビ
ット・バイトを1つずつ割り振って、コード化フレーム
を形成する手段と、前記コード化フレームを格納する手
段とを含み、前記1組のコード化10ビット・バイト
が、それぞれの立上りブランチが「1」のビットを表
し、それぞれの立下りブランチが「0」のビットを表す
以下のトレリス図で表され、4以下の数字合計変動を有
する162個の平衡した不均衡非依存コード化バイトか
らなる組と、以下のトレリス図で表され、その組につい
て6という数字合計変動を有する12個の平衡した不均
衡非依存コード化バイトからなる組と、以下のトレリス
図で表され、開始実行不均衡が−2の場合に使用され、
開始実行不均衡が+2の場合にその補数が使用される、
3つの平衡した不均衡依存10ビット・バイトからなる
組と、以下のトレリス図で表され、開始実行不均衡が−
2の場合に使用され、開始実行不均衡が+2の場合にそ
の補数が使用される、11個の平衡した不均衡依存10
ビット・バイトからなる組と、以下のトレリス図で表さ
れ、開始実行不均衡が−2の場合に使用され、開始実行
不均衡が+2の場合にその補数が使用される、13個の
平衡した不均衡依存10ビット・バイトからなる組と、
以下のトレリス図で表され、開始実行不均衡が−2の場
合に使用され、開始実行不均衡が+2の場合にその補数
が使用され、不均衡が+4である、32個の不平衡の不
均衡依存10ビット・バイトからなる組と、太線がコン
マを表す以下のトレリス図で表され、開始実行不均衡が
−2の場合に使用され、開始実行不均衡が+2の場合に
その補数が使用され、不均衡が+4である、9個の不平
衡の不均衡依存10ビット・バイトからなる組と、以下
のトレリス図で表され、開始実行不均衡が−2の場合に
使用され、開始実行不均衡が+2の場合にその補数が使
用され、不均衡が+4である、4つの不平衡の不均衡依
存10ビット・バイトからなる組と、以下のトレリス図
で表され、開始実行不均衡が−2の場合に使用され、開
始実行不均衡が+2の場合にその補数が使用され、不均
衡が+4である、9つの不平衡の不均衡依存10ビット
・バイトからなる組と、以下のトレリス図で表され、開
始実行不均衡が−2の場合に使用され、開始実行不均衡
が+2の場合にその補数が使用され、不均衡が+4であ
る、4つの不平衡の不均衡依存10ビット・バイトから
なる組と、以下のトレリス図で表され、開始実行不均衡
が−2の場合に使用され、開始実行不均衡が+2の場合
にその補数が使用され、不均衡が+4である、1つの不
平衡の不均衡依存10ビット・バイトと、を含むことを
特徴とする装置。 (12)前記フレームを格納する前記手段がメモリであ
り、前記コード化フレームを格納する前記手段がメモリ
であることを特徴とする、上記(11)に記載の装置。 (13)複数のNビット・バイトからなるフレームをコ
ード化した複数のMビット・バイトからなるフレームに
コード化する方法において、M>N>0であり、前記フ
レームがフレーム境界を有し、前記バイト間にバイト境
界が存在し、複数のNビット・バイトからなる前記フレ
ームを格納するステップと、可能なすべてのMビット・
バイトからなるサブセットである複数のMビット・バイ
トのメンバーを含むコードを提供するステップであっ
て、2N個の可能なNビット・バイトのそれぞれについ
て前記サブセット内に対応するメンバーが1つずつ存在
し、前記コードの前記メンバーのそれぞれが一連のビッ
ト列を有し、前記ビット列のうちの1つの状態を変更し
た場合にその結果として得られるMビット・バイトが前
記コードの前記メンバーの1つにならないようになって
おり、前記コードの前記メンバーの1つが前記フレーム
境界および前記バイト境界を識別するためのコンマであ
り、前記コンマが第1および第2の値から選択された2
進状態を有する一連のビット列を有し、前記コンマの前
記ビット列が前記コードの前記メンバーの1つに制限さ
れ、前記コンマの前記ビット列が前記コードの他のメン
バーのいかなる組合せの間の境界を横切らないようにな
っているステップと、前記フレーム内の前記Nビット・
バイトのそれぞれに前記コードからの前記対応するメン
バーを割り当てて、前記フレームに対応するコード化フ
レームを形成するステップと前記コード化フレームを格
納するステップとを含むことを特徴とする方法。 (14)前記コード化フレームを送信されたコード化フ
レームとして受信装置に伝送するステップをさらに含む
ことを特徴とする、上記(13)に記載の方法。 (15)前記受信装置が、前記送信されたコード化フレ
ームにエラーがあるかどうかを判定することを特徴とす
る、上記(14)に記載の方法。 (16)N=8かつM=10であることを特徴とする、
上記(13)に記載の方法。 (17)前記コードが10ビット・コードであり、前記
コードがそれぞれの終了において4以下の数字合計変動
と2というランレングス限界を有するすべての10ビッ
ト・バイトを含むことを特徴とする、上記(16)に記
載の方法。 (18)複数のNビット・バイトからなる前記フレーム
を格納する前記ステップがメモリへの格納であり、前記
コード化フレームを格納する前記ステップがメモリへの
格納であることを特徴とする、上記(13)に記載の方
法。 (19)非制約入力データ・シーケンス用のランレング
ス限定8B/10Bコードを生成する方法において、複
数の8ビット・バイトからなるフレームを第1のメモリ
位置に格納するステップと、前記8ビット・バイトのそ
れぞれに対応する10ビット・バイトを1つずつ割り振
るステップと、前記対応するコード化10ビット・バイ
トをコード化フレームとして第2のメモリ位置に格納す
るステップとを含み、複数のコード化10ビット・バイ
トからなる前記フレームが、それぞれの立上りブランチ
が「1」のビットを表し、それぞれの立下りブランチが
「0」のビットを表す以下のトレリス図で表され、4以
下の数字合計変動を有する162個の平衡した不均衡非
依存コード化バイトからなる組と、以下のトレリス図で
表され、その組について6という数字合計変動を有する
12個の平衡した不均衡非依存コード化バイトからなる
組と、以下のトレリス図で表され、開始実行不均衡が−
2の場合に使用され、開始実行不均衡が+2の場合にそ
の補数が使用される、3つの平衡した不均衡依存10ビ
ット・バイトからなる組と、以下のトレリス図で表さ
れ、開始実行不均衡が−2の場合に使用され、開始実行
不均衡が+2の場合にその補数が使用される、11個の
平衡した不均衡依存10ビット・バイトからなる組と、
以下のトレリス図で表され、開始実行不均衡が−2の場
合に使用され、開始実行不均衡が+2の場合にその補数
が使用される、13個の平衡した不均衡依存10ビット
・バイトからなる組と、以下のトレリス図で表され、開
始実行不均衡が−2の場合に使用され、開始実行不均衡
が+2の場合にその補数が使用され、不均衡が+4であ
る、32個の不平衡の不均衡依存10ビット・バイトか
らなる組と、太線がコンマを表す以下のトレリス図で表
され、開始実行不均衡が−2の場合に使用され、開始実
行不均衡が+2の場合にその補数が使用され、不均衡が
+4である、9個の不平衡の不均衡依存10ビット・バ
イトからなる組と、以下のトレリス図で表され、開始実
行不均衡が−2の場合に使用され、開始実行不均衡が+
2の場合にその補数が使用され、不均衡が+4である、
4つの不平衡の不均衡依存10ビット・バイトからなる
組と、以下のトレリス図で表され、開始実行不均衡が−
2の場合に使用され、開始実行不均衡が+2の場合にそ
の補数が使用され、不均衡が+4である、9つの不平衡
の不均衡依存10ビット・バイトからなる組と、以下の
トレリス図で表され、開始実行不均衡が−2の場合に使
用され、開始実行不均衡が+2の場合にその補数が使用
され、不均衡が+4である、4つの不平衡の不均衡依存
10ビット・バイトからなる組と、以下のトレリス図で
表され、開始実行不均衡が−2の場合に使用され、開始
実行不均衡が+2の場合にその補数が使用され、不均衡
が+4である、1つの不平衡の不均衡依存10ビット・
バイトと、を含むことを特徴とする方法。 (20)前記フレームを格納する前記ステップが前記フ
レームをメモリに格納し、前記コード化フレームを格納
する前記手段が前記コード化フレームをメモリに格納す
ることを特徴とする、上記(19)に記載の方法。 (21)複数のNビット・バイトの形式の未コード化デ
ータを表す複数のMビット・バイトの形式のコード化デ
ータを含むメモリを有する計算機において、M>N>0
であり、前記コード化データが、複数のNビット・バイ
トの形式の未コード化データを提供するステップと、可
能なすべてのMビット・バイトからなるサブセットであ
る複数のMビット・バイトのメンバーを含むコードを提
供することにより前記コード化データを生成するステッ
プであって、2N個の可能なNビット・バイトのそれぞ
れについて前記サブセット内に対応するメンバーが1つ
ずつ存在し、前記コードの前記メンバーのそれぞれが3
つの値のうちの1から選択された2進状態を有する一連
のビット列を有し、前記ビット列のうちの1つの状態を
変更した場合にその結果として得られるMビット・バイ
トが前記コードの前記メンバーの1つにならないように
なっており、前記コードの前記メンバーの1つが前記フ
レーム境界を識別するためのコンマであり、前記コンマ
が第1および第2の値から選択された2進状態を有する
一連のビット列を有し、前記コンマの前記ビット列が前
記コードの前記メンバーの1つに制限され、前記コンマ
の前記ビット列が前記コードの他のメンバーのいかなる
組合せの間の境界を横切らないようになっているステッ
プと、前記未コード化データ内の前記Nビット・バイト
のそれぞれに前記コードからの前記対応するメンバーを
割り当てて、前記未コード化データに対応する前記コー
ド化データを生成するステップとを含む方法によって生
成されることを特徴とする計算機。 (22)前記コンマが、「11111011」とその補
数「00000100」とから構成されるグループから
選択されたビット・パターンを含むことを特徴とする、
上記(1)ないし(21)に記載の装置。 (23)前記コンマが、「0111110110」とそ
の補数「1000001001」とに埋め込まれること
を特徴とする、上記(1)ないし(21)に記載の装
置。 (24)上記のトレリス図の左/右対称イメージであ
る、すなわち、バイトの最初のビットが上記の図の右側
にあり、最後のビットが左側にある、複数組のコード化
バイトを使用することを特徴とする、上記(11)およ
び(19)に記載の装置。(1) In an apparatus for encoding a frame composed of a plurality of N-bit bytes into a frame composed of a plurality of M-bit bytes, M>N> 0, and the frame has a frame boundary. Means for storing said frame consisting of a plurality of N-bit bytes, wherein a byte boundary exists between said bytes, and a member of said plurality of M-bit bytes being a subset of all possible M-bit bytes. Means for providing a code that includes a corresponding member in the subset for each of 2N possible N-bit bytes, each of the members of the code having a series of bit strings. , When the state of one of the bit strings changes, the resulting M-bit byte is One of said members is a comma for identifying said frame boundary and said byte boundary, said comma being selected from first and second values 2
A series of bits having a hexadecimal state, wherein the bits of the comma are restricted to one of the members of the code, and the bits of the comma cross a boundary between any combination of the other members of the code. Means for allocating each of the N-bit bytes in the frame with the corresponding member from the code to form a coded frame corresponding to the frame; and Storing means. (2) The apparatus according to the above (1), further comprising means for transmitting the coded frame to a receiving apparatus as a transmitted coded frame. (3) The apparatus according to (2), wherein the receiving apparatus includes a unit configured to determine whether the transmitted coded frame has an error. (4) The apparatus according to (1), wherein N = 8 and M = 10. (5) the code is a 10-bit code, wherein the code includes a plurality of 10-bit bytes, all of which have a total digit variation of 0, +4, or -4. The apparatus according to (4) above. (6) The apparatus according to (4), wherein the comma includes a bit pattern selected from a group consisting of “11011111” and its complement “00100000”. (7) The device according to (4), wherein the comma is embedded in “0110111110” and its complement “1001000001”. (8) The apparatus according to (4), wherein the code permits only a run length having a binary state of 5 or less. (9) The code has 174 10-bit bytes that are balanced and unbalanced independent, 27 pairs of 10-bit bytes that are balanced and unbalanced, ± 4 imbalances, and are imbalance-dependent. Device according to claim 4, characterized in that it comprises 59 pairs of 10-bit bytes. (10) The apparatus according to (1), wherein the means for storing the frame composed of a plurality of N-bit bytes is a memory, and the means for storing the coded frame is a memory. . (11) In an apparatus for generating a run-length limited 8B / 10B code for an unconstrained input data stream, means for storing a frame composed of a plurality of 8-bit bytes, and encoding 10 into each of the 8-bit bytes. Means for allocating bit bytes one by one to form a coded frame, and means for storing the coded frame, wherein the set of coded 10-bit bytes is such that each rising branch has a "1" Set of 162 balanced unbalanced independent coded bytes with the following trellis diagram, where each falling branch represents a "0" bit, with a total digit variation of 4 or less: And twelve balanced imbalance-independent coding bins represented by the following trellis diagram and having a numerical sum variation of 6 for the set: A set consisting of, expressed in trellis diagram below, start execution imbalance is used in the case of -2,
The complement is used if the starting execution imbalance is +2,
A set of three balanced imbalance-dependent 10-bit bytes and represented by the following trellis diagram, where the starting execution imbalance is-
11 balanced imbalance dependencies, used in the case of 2 and its complement used when the starting run imbalance is +2
A set of 13 bytes, represented by the set of bit bytes and the following trellis diagram, used when the starting execution imbalance is -2 and its complement when the starting execution imbalance is +2. A set of imbalance dependent 10 bit bytes;
32 trellis imbalances, represented by the following trellis diagram, used when the starting execution imbalance is -2, the complement is used when the starting execution imbalance is +2, and the imbalance is +4. The set of balance-dependent 10-bit bytes, represented by the following trellis diagram where the bold lines represent commas, are used when the start execution imbalance is -2 and their complements when the start execution imbalance is +2. A set of nine imbalanced imbalance dependent 10-bit bytes, with an imbalance of +4, represented by the following trellis diagram, used when the start execution imbalance is -2, The complement is used when the imbalance is +2, the imbalance is +4, the set of four imbalance imbalance dependent 10-bit bytes and represented by the following trellis diagram, where the starting execution imbalance is Used in the case of -2, the starting execution imbalance is + The set of 9 unbalanced imbalance-dependent 10-bit bytes, with the imbalance being +4, is represented in the following trellis diagram, where the starting execution imbalance is -2: , The complement of which is used when the starting execution imbalance is +2, the imbalance is +4, and the set of four imbalanced imbalance dependent 10-bit bytes is represented by the following trellis diagram: One unbalanced imbalance-dependent 10-bit byte, used when the starting execution imbalance is -2, its complement is used when the starting execution imbalance is +2, and the imbalance is +4; An apparatus comprising: (12) The apparatus according to (11), wherein the means for storing the frame is a memory, and the means for storing the coded frame is a memory. (13) In the method for encoding a frame including a plurality of N-bit bytes into a frame including a plurality of M-bit bytes, M>N> 0, the frame has a frame boundary, and Storing said frame consisting of a plurality of N-bit bytes where there are byte boundaries between the bytes;
Providing a code comprising a plurality of M-bit byte members that is a subset of bytes, wherein for each of 2N possible N-bit bytes, there is one corresponding member in said subset. , Each of said members of said code has a series of bit strings, such that if the state of one of said bit strings changes, the resulting M-bit byte will not be one of said members of said code. Wherein one of the members of the code is a comma for identifying the frame boundary and the byte boundary, wherein the comma is selected from a first and a second value.
A series of bits having a hexadecimal state, wherein the bits of the comma are restricted to one of the members of the code, and the bits of the comma cross a boundary between any combination of the other members of the code. And the N bits in the frame.
Assigning each of the bytes the corresponding member from the code to form a coded frame corresponding to the frame, and storing the coded frame. (14) The method according to (13), further comprising transmitting the coded frame to a receiving device as a transmitted coded frame. (15) The method according to (14), wherein the receiving device determines whether there is an error in the transmitted coded frame. (16) N = 8 and M = 10,
The method according to the above (13). (17) wherein said code is a 10-bit code, said code including at each end all 10-bit bytes having a total digit variation of 4 or less and a run-length limit of 2; The method according to 16). (18) The step of storing the frame including a plurality of N-bit bytes is storage in a memory, and the step of storing the coded frame is storage in a memory. The method according to 13). (19) In a method for generating a run-length limited 8B / 10B code for an unconstrained input data sequence, storing a frame of a plurality of 8-bit bytes in a first memory location; Allocating a corresponding one of the 10-bit bytes one by one, and storing the corresponding coded 10-bit byte as a coded frame in a second memory location, wherein the plurality of coded 10-bit bytes are stored in a second memory location. The frame of bytes is represented by the following trellis diagram where each rising branch represents a "1" bit and each falling branch represents a "0" bit, and has a total digit variation of 4 or less A set of 162 balanced imbalance-independent coded bytes, represented by the following trellis diagram, A set consisting of stomach 12 equilibrated imbalance independent coding bytes having numbers sum variation of 6, is represented by a trellis diagram below, start execution imbalance -
The set of three balanced imbalance-dependent 10-bit bytes, used in the case of 2 and whose complement is used when the start execution imbalance is +2, and represented by the following trellis diagram, A set of 11 balanced imbalance-dependent 10-bit bytes that is used when the balance is -2 and whose complement is used when the starting execution imbalance is +2;
From the 13 balanced imbalance-dependent 10-bit bytes represented in the following trellis diagram, used when the start execution imbalance is -2 and its complement when the start execution imbalance is +2 And the following trellis diagram, which is used when the starting execution imbalance is -2, its complement is used when the starting execution imbalance is +2, and the imbalance is +4. The set of unbalanced imbalance dependent 10-bit bytes and the thick line represents the following trellis diagram representing a comma, used when the start execution imbalance is -2, and when the start execution imbalance is +2. A set of 9 unbalanced imbalance-dependent 10-bit bytes whose complement is used and the imbalance is +4, represented by the following trellis diagram, used when the starting execution imbalance is -2: And the start execution imbalance is +
In the case of 2, the complement is used and the imbalance is +4,
A set of four unbalanced imbalance-dependent 10-bit bytes and represented by the following trellis diagram, where the starting execution imbalance is-
The set of 9 unbalanced imbalance-dependent 10-bit bytes, used in the case of 2 and whose complement is used when the starting execution imbalance is +2 and the imbalance is +4, and the following trellis diagram Used when the starting execution imbalance is -2, the complement is used when the starting execution imbalance is +2, and the imbalance is +4. A set of bytes and represented by the following trellis diagram, used when the starting execution imbalance is -2, the complement is used when the starting execution imbalance is +2, and the imbalance is +4, 1 Unbalanced 10 bits
And a byte. (20) The method according to (19), wherein the step of storing the frame stores the frame in a memory, and the means for storing the coded frame stores the coded frame in a memory. the method of. (21) In a computer having a memory including coded data in a plurality of M-bit bytes representing uncoded data in a plurality of N-bit bytes, M>N> 0
Wherein said coded data provides uncoded data in the form of a plurality of N-bit bytes; and a plurality of M-bit byte members being a subset of all possible M-bit bytes. Generating the coded data by providing a code that includes a corresponding member in the subset for each of 2N possible N-bit bytes, wherein the member of the code includes Each of 3
A sequence of bits having a binary state selected from one of two values, wherein the resulting M-bit byte when changing the state of one of the bits is the member of the code. Wherein one of the members of the code is a comma for identifying the frame boundary, the comma having a binary state selected from first and second values. A series of bits, the bits of the comma being restricted to one of the members of the code, such that the bits of the comma do not cross the boundary between any combination of the other members of the code. Assigning each of said N-bit bytes in said uncoded data the corresponding member from said code, Computer characterized in that it is produced by a process comprising the step of generating the coded data corresponding to coded data. (22) The comma includes a bit pattern selected from a group consisting of “11111011” and its complement “0000100100”,
The device according to any one of (1) to (21). (23) The apparatus according to any one of (1) to (21), wherein the comma is embedded in “0111110110” and its complement “1000001001”. (24) Using multiple sets of coded bytes that are left / right symmetric images of the trellis diagram above, ie, the first bit of the byte is on the right side of the diagram and the last bit is on the left side The device according to the above (11) or (19), characterized in that:
【図1】従来の水平パリティと垂直パリティを使用して
エラーを訂正する方法を示す概略図である。FIG. 1 is a schematic diagram illustrating a conventional method for correcting an error using horizontal parity and vertical parity.
【図2】ローカル・パリティと短縮コンマとを備えた8
B/10Bコードを示す図である。FIG. 2 shows 8 with local parity and shortened commas
It is a figure showing a B / 10B code.
【図3】ローカル・パリティと短縮コンマとを備えた8
B/10Bコードを示す図である。FIG. 3 shows 8 with local parity and shortened commas
It is a figure showing a B / 10B code.
【図4】図2および図3のトレリス図に複数の「1」と
「0」を割り当てて、コード文字のビット列を判定する
例を示す図である。FIG. 4 is a diagram showing an example in which a plurality of “1” and “0” are assigned to the trellis diagrams of FIGS. 2 and 3, and a bit string of a code character is determined.
50 フレーム 52 垂直パリティ・バイト 54 水平パリティ 56 垂直パリティ・ビット 58 ビット 50 frame 52 vertical parity byte 54 horizontal parity 56 vertical parity bit 58 bits
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭59−171243(JP,A) 特開 昭62−154823(JP,A) 特開 平2−94922(JP,A) 特開 平4−302224(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/46 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-59-171243 (JP, A) JP-A-62-154823 (JP, A) JP-A-2-94922 (JP, A) JP-A-4-1992 302224 (JP, A) (58) Field surveyed (Int. Cl. 7 , DB name) H03M 7/46
Claims (21)
をコード化した複数のMビット・バイトからなるフレー
ムにコード化する装置において、M>N>0であり、前
記フレームがフレーム境界を有し、前記バイト間にバイ
ト境界が存在し、 複数のNビット・バイトからなる前記フレームを格納す
る手段と、 可能なすべてのMビット・バイトからなるサブセットで
ある複数のMビット・バイトのメンバーを含むコードを
提供する手段であって、2N個の可能なNビット・バイ
トのそれぞれについて前記サブセット内に対応するメン
バーが1つずつ存在し、前記コードの前記メンバーのそ
れぞれが一連のビット列を有し、前記ビット列のうちの
1つの状態を変更した場合にその結果として得られるM
ビット・バイトが前記コードの前記メンバーの1つにな
らないようになっており、前記コードの前記メンバーの
1つが前記フレーム境界および前記バイト境界を識別す
るためのコンマであり、前記コンマが第1および第2の
値から選択された2進状態を有する一連のビット列を有
し、前記コンマの前記ビット列が前記コードの前記メン
バーの1つに制限され、前記コンマの前記ビット列が前
記コードの他のメンバーのいかなる組合せの間の境界を
横切らないようになっている手段と、 前記フレーム内の前記Nビット・バイトのそれぞれに前
記コードからの前記対応するメンバーを割り当てて、前
記フレームに対応するコード化フレームを形成する手段
と前記コード化フレームを格納する手段とを含むことを
特徴とする装置。1. An apparatus for encoding a frame comprising a plurality of N-bit bytes into a frame comprising a plurality of M-bit bytes, wherein M>N> 0, wherein said frame has a frame boundary. Means for storing said frame consisting of a plurality of N-bit bytes, wherein there are byte boundaries between said bytes, and comprising members of a plurality of M-bit bytes being a subset of all possible M-bit bytes Means for providing a code, wherein for each of the 2N possible N-bit bytes there is a corresponding member in the subset, each of the members of the code having a series of bits, If the state of one of the bit strings changes, the resulting M
Bit bytes are not to be one of the members of the code, one of the members of the code being a comma for identifying the frame boundary and the byte boundary, wherein the comma is the first and the second. A series of bits having a binary state selected from a second value, wherein the bits of the comma are restricted to one of the members of the code, and the bits of the comma are other members of the code. Means for avoiding crossing the boundary between any combination of: a coded frame corresponding to the frame, allocating each of the N-bit bytes in the frame the corresponding member from the code And means for storing the coded frame.
化フレームとして受信装置に伝送する手段をさらに含む
ことを特徴とする、請求項1に記載の装置。2. Apparatus according to claim 1, further comprising means for transmitting said coded frame as a transmitted coded frame to a receiving device.
フレームにエラーがあるかどうかを判定する手段を有す
ることを特徴とする、請求項2に記載の装置。3. The apparatus according to claim 2, wherein said receiving apparatus has means for determining whether there is an error in said transmitted coded frame.
る、請求項1に記載の装置。4. The device according to claim 1, wherein N = 8 and M = 10.
前記コードが複数の10ビット・バイトを含み、その1
0ビット・バイトのすべてが0、+4、または−4の数
字合計変動を有することを特徴とする、請求項4に記載
の装置。5. The code is a 10-bit code,
The code includes a plurality of 10-bit bytes,
5. The apparatus of claim 4, wherein all of the 0 bit bytes have a numerical sum variation of 0, +4, or -4.
の補数「00100000」とから構成されるグループ
から選択されたビット・パターンを含むことを特徴とす
る、請求項4に記載の装置。6. The apparatus of claim 4, wherein the comma comprises a bit pattern selected from the group consisting of "11011111" and its complement "00100000".
とその補数「1001000001」とに埋め込まれる
ことを特徴とする、請求項4に記載の装置。7. The method according to claim 1, wherein the comma is "0110111110".
5. The device according to claim 4, characterized in that it is embedded in its complement "1001000001".
ングスのみを許可することを特徴とする、請求項4に記
載の装置。8. The apparatus of claim 4, wherein said code permits only run lengths with a binary state of 5 or less.
4個の10ビット・バイトと、27対の平衡かつ不均衡
依存の10ビット・バイトと、±4の不均衡を有ししか
も不均衡依存の59対の10ビット・バイトとを含むこ
とを特徴とする、請求項4に記載の装置。9. The code according to claim 1, wherein said code is balanced and unbalanced independent.
Including four 10-bit bytes, 27 pairs of balanced and imbalance-dependent 10-bit bytes, and 59 pairs of unbalance-dependent and imbalance-dependent 59-bit 10-bit bytes. The apparatus according to claim 4, wherein:
レームを格納する前記手段がメモリであり、前記コード
化フレームを格納する前記手段がメモリであることを特
徴とする、請求項1に記載の装置。10. The apparatus according to claim 1, wherein said means for storing said frame of a plurality of N-bit bytes is a memory, and said means for storing said coded frame is a memory. apparatus.
レングス限定8B/10Bコードを生成する装置におい
て、 複数の8ビット・バイトからなるフレームを格納する手
段と、 前記8ビット・バイトのそれぞれにコード化10ビット
・バイトを1つずつ割り振って、コード化フレームを形
成する手段と、 前記コード化フレームを格納する手段とを含み、 前記1組のコード化10ビット・バイトが、 それぞれの立上りブランチが「1」のビットを表し、そ
れぞれの立下りブランチが「0」のビットを表すトレリ
ス図で表され、4以下の数字合計変動を有する162個
の平衡した不均衡非依存コード化バイトからなる組と、 その組について6という数字合計変動を有する12個の
平衡した不均衡非依存コード化バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用される、3つの平衡し
た不均衡依存10ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用される、11個の平衡
した不均衡依存10ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用される、13個の平衡
した不均衡依存10ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、32個の不平衡の不均衡依存10ビット・バイト
からなる組と、 太線がコンマを表す開始実行不均衡が−2の場合に使用
され、開始実行不均衡が+2の場合にその補数が使用さ
れ、不均衡が+4である、9個の不平衡の不均衡依存1
0ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、4つの不平衡の不均衡依存10ビット・バイトか
らなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、9つの不平衡の不均衡依存10ビット・バイトか
らなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、4つの不平衡の不均衡依存10ビット・バイトか
らなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、1つの不平衡の不均衡依存10ビット・バイト
と、 を含むことを特徴とする装置。11. An apparatus for generating a run-length limited 8B / 10B code for an unconstrained input data stream, comprising: means for storing a frame of a plurality of 8-bit bytes; and code for each of said 8-bit bytes. Means for allocating coded 10-bit bytes one by one to form a coded frame, and means for storing the coded frame, wherein the set of coded 10-bit bytes comprises: A set of 162 balanced, unbalanced, independent coded bytes representing "1" bits, each falling branch being represented by a trellis diagram representing "0" bits and having a total digit variation of 4 or less. And a set of twelve balanced, unbalanced, independent coded bytes having a numerical total variation of 6 for the set. A set of three balanced imbalance-dependent 10-bit bytes, used when the row imbalance is -2 and its complement when the starting execution imbalance is +2, and the starting execution imbalance is- A set of 11 balanced imbalance-dependent 10-bit bytes that are used in the case of 2 and whose complement is used when the start execution imbalance is +2, A set of 13 balanced imbalance-dependent 10-bit bytes that are used and whose complement is used if the starting execution imbalance is +2; The complement is used when the execution imbalance is +2, and the set of 32 imbalance imbalance dependent 10-bit bytes, where the imbalance is +4, and the start execution imbalance where the bold line represents a comma is- Used in case 2, start execution imbalance The complement is used when is +2 and the imbalance is +4, the imbalance dependence of the nine imbalances 1
A set of 0 bit bytes and four imbalance imbalances, used when the starting execution imbalance is -2, its complement when the starting execution imbalance is +2, and the imbalance is +4. A set of balance-dependent 10-bit bytes and nine imbalances, used when the start execution imbalance is -2, its complement when the start execution imbalance is +2, and the imbalance is +4. And the set of 10-bit bytes that are used when the starting execution imbalance is -2, the complement is used when the starting execution imbalance is +2, and the four imbalances are +4. A set of 10-bit bytes with an imbalance dependent imbalance, used if the starting execution imbalance is -2, its complement is used if the starting execution imbalance is +2, and the imbalance is +4, One unbalanced imbalance-dependent 10-bit byte An apparatus, comprising:
リであり、前記コード化フレームを格納する前記手段が
メモリであることを特徴とする、請求項11に記載の装
置。12. The apparatus according to claim 11, wherein said means for storing said frame is a memory, and said means for storing said coded frame is a memory.
ムをコード化した複数のMビット・バイトからなるフレ
ームにコード化する方法において、M>N>0であり、
前記フレームがフレーム境界を有し、前記バイト間にバ
イト境界が存在し、 複数のNビット・バイトからなる前記フレームを格納す
るステップと、 可能なすべてのMビット・バイトからなるサブセットで
ある複数のMビット・バイトのメンバーを含むコードを
提供するステップであって、2N個の可能なNビット・
バイトのそれぞれについて前記サブセット内に対応する
メンバーが1つずつ存在し、前記コードの前記メンバー
のそれぞれが一連のビット列を有し、前記ビット列のう
ちの1つの状態を変更した場合にその結果として得られ
るMビット・バイトが前記コードの前記メンバーの1つ
にならないようになっており、前記コードの前記メンバ
ーの1つが前記フレーム境界および前記バイト境界を識
別するためのコンマであり、前記コンマが第1および第
2の値から選択された2進状態を有する一連のビット列
を有し、前記コンマの前記ビット列が前記コードの前記
メンバーの1つに制限され、前記コンマの前記ビット列
が前記コードの他のメンバーのいかなる組合せの間の境
界を横切らないようになっているステップと、 前記フレーム内の前記Nビット・バイトのそれぞれに前
記コードからの前記対応するメンバーを割り当てて、前
記フレームに対応するコード化フレームを形成するステ
ップと前記コード化フレームを格納するステップとを含
むことを特徴とする方法。13. A method for encoding a frame comprising a plurality of N-bit bytes into a frame comprising a plurality of M-bit bytes, wherein M>N>0;
Storing the frame comprising a plurality of N-bit bytes, wherein the frame has a frame boundary and a byte boundary exists between the bytes; and a plurality of M-bit bytes being a subset of all possible M-bit bytes. Providing a code comprising members of the M-bit byte, wherein 2N possible N-bits are provided.
There is one corresponding member in the subset for each of the bytes, each of the members of the code having a sequence of bits, resulting in a change of state of one of the bits. The M-bit byte is not one of the members of the code, one of the members of the code is a comma for identifying the frame boundary and the byte boundary, and the comma is the A sequence of bits having a binary state selected from one and a second value, wherein the sequence of bits of the comma is restricted to one of the members of the code, and the sequence of bits of the comma is Not crossing a boundary between any combination of the members of the frame; Assigning the corresponding member from the code to each of the set bytes to form a coded frame corresponding to the frame, and storing the coded frame.
ド化フレームとして受信装置に伝送するステップをさら
に含むことを特徴とする、請求項13に記載の方法。14. The method of claim 13, further comprising transmitting the coded frame to a receiving device as a transmitted coded frame.
化フレームにエラーがあるかどうかを判定することを特
徴とする、請求項14に記載の方法。15. The method of claim 14, wherein the receiving device determines whether there is an error in the transmitted coded frame.
する、請求項13に記載の方法。16. The method according to claim 13, wherein N = 8 and M = 10.
り、前記コードがそれぞれの終了において4以下の数字
合計変動と2というランレングス限界を有するすべての
10ビット・バイトを含むことを特徴とする、請求項1
6に記載の方法。17. The code of claim 10 wherein said code is a 10-bit code, said code including at each end all 10-bit bytes having a total digit variation of 4 or less and a run-length limit of 2. Claim 1
7. The method according to 6.
レームを格納する前記ステップがメモリへの格納であ
り、前記コード化フレームを格納する前記ステップがメ
モリへの格納であることを特徴とする、請求項13に記
載の方法。18. The method according to claim 18, wherein said step of storing said frame of a plurality of N-bit bytes is a storage in a memory, and said step of storing said coded frame is a storage in a memory. The method according to claim 13.
レングス限定8B/10Bコードを生成する方法におい
て、 複数の8ビット・バイトからなるフレームを第1のメモ
リ位置に格納するステップと、 前記8ビット・バイトのそれぞれに対応する10ビット
・バイトを1つずつ割り振るステップと、 前記対応するコード化10ビット・バイトをコード化フ
レームとして第2のメモリ位置に格納するステップとを
含み、 複数のコード化10ビット・バイトからなる前記フレー
ムが、 それぞれの立上りブランチが「1」のビットを表し、そ
れぞれの立下りブランチが「0」のビットを表すトレリ
ス図で表され、4以下の数字合計変動を有する162個
の平衡した不均衡非依存コード化バイトからなる組と、 その組について6という数字合計変動を有する12個の
平衡した不均衡非依存コード化バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用される、3つの平衡し
た不均衡依存10ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用される、11個の平衡
した不均衡依存10ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用される、13個の平衡
した不均衡依存10ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、32個の不平衡の不均衡依存10ビット・バイト
からなる組と、 太線がコンマを表す開始実行不均衡が−2の場合に使用
され、開始実行不均衡が+2の場合にその補数が使用さ
れ、不均衡が+4である、9個の不平衡の不均衡依存1
0ビット・バイトからなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、4つの不平衡の不均衡依存10ビット・バイトか
らなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、9つの不平衡の不均衡依存10ビット・バイトか
らなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、4つの不平衡の不均衡依存10ビット・バイトか
らなる組と、 開始実行不均衡が−2の場合に使用され、開始実行不均
衡が+2の場合にその補数が使用され、不均衡が+4で
ある、1つの不平衡の不均衡依存10ビット・バイト
と、 を含むことを特徴とする方法。19. A method for generating a run-length limited 8B / 10B code for an unconstrained input data sequence, comprising: storing a frame of a plurality of 8-bit bytes in a first memory location; Allocating one by one a 10-bit byte corresponding to each of the bytes; and storing the corresponding coded 10-bit byte as a coded frame in a second memory location; The frame of 10-bit bytes is represented by a trellis diagram where each rising branch represents a "1" bit and each falling branch represents a "0" bit and has a numerical sum variation of 4 or less. A set of 162 balanced imbalance-independent coded bytes, and a sum of 6 for that set A set of 12 balanced imbalance-independent coded bytes with dynamics, used when the start execution imbalance is -2, and its complement when the start execution imbalance is +2, 3 A set of two balanced imbalance-dependent 10-bit bytes and eleven balanced imbalances used when the starting execution imbalance is -2 and its complement when the starting execution imbalance is +2. A set of balanced 10-bit bytes and 13 balanced imbalance-dependent 10-bits used when the starting execution imbalance is -2 and its complement when the starting execution imbalance is +2 A set of 32 bytes, the imbalance of 32 imbalances used when the starting execution imbalance is -2, its complement when the starting execution imbalance is +2, and the imbalance is +4 Set consisting of dependent 10-bit bytes Used when the starting execution imbalance is -2, the bold line indicates a comma, its complement is used when the starting execution imbalance is +2, and the imbalance is +4, the imbalance dependence of 9 imbalances 1
A set of 0 bit bytes and four imbalance imbalances, used when the starting execution imbalance is -2, its complement when the starting execution imbalance is +2, and the imbalance is +4. A set of balance-dependent 10-bit bytes and nine imbalances, used when the start execution imbalance is -2, its complement when the start execution imbalance is +2, and the imbalance is +4. And the set of 10-bit bytes that are used when the starting execution imbalance is -2, the complement is used when the starting execution imbalance is +2, and the four imbalances are +4. A set of 10-bit bytes with an imbalance dependent imbalance, used if the starting execution imbalance is -2, its complement is used if the starting execution imbalance is +2, and the imbalance is +4, One unbalanced imbalance-dependent 10-bit byte And a method comprising:
前記フレームをメモリに格納し、前記コード化フレーム
を格納する前記手段が前記コード化フレームをメモリに
格納することを特徴とする、請求項19に記載の方法。20. The method according to claim 19, wherein said step of storing said frame stores said frame in memory, and said means for storing said coded frame stores said coded frame in memory. The described method.
ド化データを表す複数のMビット・バイトの形式のコー
ド化データを含むメモリを有する計算機において、M>
N>0であり、前記コード化データが、 複数のNビット・バイトの形式の未コード化データを提
供するステップと、 可能なすべてのMビット・バイトからなるサブセットで
ある複数のMビット・バイトのメンバーを含むコードを
提供することにより前記コード化データを生成するステ
ップであって、2N個の可能なNビット・バイトのそれ
ぞれについて前記サブセット内に対応するメンバーが1
つずつ存在し、前記コードの前記メンバーのそれぞれが
3つの値のうちの1から選択された2進状態を有する一
連のビット列を有し、前記ビット列のうちの1つの状態
を変更した場合にその結果として得られるMビット・バ
イトが前記コードの前記メンバーの1つにならないよう
になっており、前記コードの前記メンバーの1つが前記
フレーム境界を識別するためのコンマであり、前記コン
マが第1および第2の値から選択された2進状態を有す
る一連のビット列を有し、前記コンマの前記ビット列が
前記コードの前記メンバーの1つに制限され、前記コン
マの前記ビット列が前記コードの他のメンバーのいかな
る組合せの間の境界を横切らないようになっているステ
ップと、 前記未コード化データ内の前記Nビット・バイトのそれ
ぞれに前記コードからの前記対応するメンバーを割り当
てて、前記未コード化データに対応する前記コード化デ
ータを生成するステップとを含む方法によって生成され
ることを特徴とする計算機。21. A computer having a memory containing coded data in the form of a plurality of M-bit bytes representing uncoded data in the form of a plurality of N-bit bytes.
Providing N> 0 and said coded data provides uncoded data in the form of a plurality of N-bit bytes; and a plurality of M-bit bytes being a subset of all possible M-bit bytes Generating said coded data by providing a code comprising the following members, wherein for each of 2N possible N-bit bytes, the corresponding member in said subset is 1
One each, wherein each of the members of the code comprises a series of bits having a binary state selected from one of three values, the state of which changes when one of the bits changes state. The resulting M-bit byte is not one of the members of the code, one of the members of the code is a comma for identifying the frame boundary, and the comma is the first And a series of bit sequences having a binary state selected from a second value, wherein the bit sequence of the comma is restricted to one of the members of the code, and the bit sequence of the comma is Preventing the boundaries between any combination of members from being crossed; and preceding each of the N-bit bytes in the uncoded data. Assigning the corresponding member from the code to generate the coded data corresponding to the uncoded data.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33183194A | 1994-10-31 | 1994-10-31 | |
US331831 | 1994-10-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08237139A JPH08237139A (en) | 1996-09-13 |
JP3014309B2 true JP3014309B2 (en) | 2000-02-28 |
Family
ID=23295550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7280646A Expired - Fee Related JP3014309B2 (en) | 1994-10-31 | 1995-10-27 | Coding device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3014309B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014155379A (en) * | 2013-02-12 | 2014-08-25 | Asmo Co Ltd | Rotor and motor |
US9210351B2 (en) | 2012-05-18 | 2015-12-08 | Kabushiki Kaisha Toshiba | Signal transmission apparatus and signal transmission method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100535888B1 (en) * | 2002-11-19 | 2005-12-09 | 주식회사 휴림인터랙티브 | A Two Dimensional Forward Error Correction Method And Data Communication Method Using The Method |
KR100698620B1 (en) * | 2003-06-16 | 2007-03-21 | 삼성전자주식회사 | Digital transmitter/receiver system having a robust error correction coding/decoding apparatus and a method error correction coding/decoding therof |
-
1995
- 1995-10-27 JP JP7280646A patent/JP3014309B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9210351B2 (en) | 2012-05-18 | 2015-12-08 | Kabushiki Kaisha Toshiba | Signal transmission apparatus and signal transmission method |
JP2014155379A (en) * | 2013-02-12 | 2014-08-25 | Asmo Co Ltd | Rotor and motor |
Also Published As
Publication number | Publication date |
---|---|
JPH08237139A (en) | 1996-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0725486B1 (en) | Transmission code having local parity | |
JP3254357B2 (en) | How to correct errors in transmitted bits | |
US6198413B1 (en) | Partitioned DC balanced (0,6) 16B/18B transmission code with error correction | |
US6195764B1 (en) | Data encoder/decoder for a high speed serial link | |
JP3985173B2 (en) | Modulation apparatus and method, demodulation apparatus and method, and data storage medium | |
US5396239A (en) | Data and forward error control coding techniques for digital signals | |
US5177482A (en) | Rll encoder and decoder with pipelined plural byte processing | |
EP0933768A1 (en) | Digital modulation and digital demodulation | |
US6333704B1 (en) | Coding/decoding system of bit insertion/manipulation line code for high-speed optical transmission system | |
US6504493B1 (en) | Method and apparatus for encoding/decoding data | |
EP0865166A1 (en) | Method of modulating and demodulating digital data and digital data modulator demodulator | |
JPH0744570B2 (en) | Method for transmitting digital data and apparatus therefor | |
MXPA96006099A (en) | Method of digital data transmission | |
JPH06119197A (en) | Device and method for error detection and reduction of simultaneous switching noise | |
US5881071A (en) | Digital write-and-read method and signal processing apparatus | |
JP3217298B2 (en) | nB2P code and decoding device | |
JP4032329B2 (en) | Modulation apparatus and method, and recording medium | |
JP3014309B2 (en) | Coding device and method | |
EP0414368B1 (en) | Apparatus for data and forward error correction coding for low DC-offset and short run length | |
US6617985B1 (en) | Method and/or apparatus for implementing constraint codes with low error propagation | |
US6204781B1 (en) | General rate N/(N+1) (0, G) code construction for data coding | |
US5938773A (en) | Sideband signaling with parity bit schemes | |
US5878061A (en) | Providing serial data clock signal transitions with parity bits | |
JP3482212B2 (en) | Encoding device and method for encoding (n-1) -bit information words into n-bit channel words, and decoding device and method for decoding channel words into information words | |
KR100274213B1 (en) | Rll(2,25) modulation code and method of coding/decoding digital data utilizing its code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071217 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081217 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |