《誤り制御》
Create:2002/02/11
[BACK] [NEXT] [メニュー]
【ハミング符号】
   メモリの誤り制御方式で、2ビットの誤りを検出でき、1ビットの誤り訂正機能をもつ。
   コンピュータ内部の回路間や、通信回線を使ったコンピュータ同士のデータ通信において、
   データの誤り(エラー)を検出する手法の一つ。
   誤りを検出するだけでなく、正しい値に訂正することもできる。
   1950年にアメリカのベル研究所のHamming氏によって考案された。
   本来のデータに、データから演算によって割り出したチェック用のデータ(ハミングコード)
   を付加して転送する。
   広く普及しているパリティチェックは、ハミングコードチェックの特殊な場合にあたる。
   RAID−2の誤り訂正符号に採用されている。

【誤り訂正符号 (ECC:error correcting code)】
   メモリシステムの信頼性を高めるため、データ読込み時にエラーがあっても
   誤りを検出するとともに自動的に訂正する機能をもつ方式。
   高い信頼性が求められるサーバ機などの記憶装置やバス(データ伝送路)に利用される。 
   ハミングコードなどが代表例である。

【チェックサム】
   データをブロック化し、そのブロック内のデータの合計をチェックする方式である。
   誤り検出のみが可能である。

【パリティチェック】
   1ビットの誤り検出のみが可能である。
   アスキーコードで”A”という文字は、2進数で表すと”01000001”となる。
   データ伝送の際には、通信回線でノイズが入ることもあり得るので、このデータがそのまま
   きちんと送られることについての完璧な保証はない。
   そこで「誤り制御」が必要となって来る。
   パリティチェック方式は、その中でも最も古くからあるものの一つである。
   ”01000001”というデータを送る際にはパリティビットを1ビット付加して
   送信する。ここで「偶数パリティ」か「奇数パリティ」によって付加するビットが
   0か1かが変わってくる。
   偶数パリティとは「1になっているビットが偶数個になるようにパリティビットを
   付加する」というものである。奇数パリティなら「奇数個」である。

   例)
    ”01000001”は1のビットが2つで偶数個だから
     偶数パリティ 0を付加 → ”010000010” 1が偶数個
     奇数パリティ 1を付加 → ”010000011” 1が奇数個
    ということになる。

   例)
    偶数パリティでデータを送信したとして、下線を付けたビットが化けて
    1になったとする。

     010000010 本来のビット列
         ̄
     010100010 送信されてきたビット列

    ビット列の中に奇数個の1があるため、誤りであると判断できる。これは、仮に
    パリティビットが化けたとしても同じである。

【巡回冗長検査 (CRC:Cyclic Redundancy Check)】  
   連続して出現する誤り(バースト誤り)の検出が可能な誤り検出方式。 
   特定の多項式で求めた誤り検出用の符号を付加する。
   HDLC手順で採用されている。

   CRCとECCの比較
                CRC  ECC
          冗長度    小    大
          訂正機能  な し  あ り
          主な用途  通 信  メモリ

【チェックディジット (check digit)】

   モジュラス11などの計算方法によって得られた結果を商品コードなどの末尾に付加し、
   入力の誤りを入力データだけから発見できるようにする方法で、この末尾に付加される
   もののことをいう。
   主に、入力したコードの値の誤りを検出するのに使われる。

[BACK] [NEXT] [メニュー]