ハミングコード

読み:ハミングコード
外語:humming code 英語
品詞:名詞

情報訂正符号の一つ。ハミング符号ともいう。

目次

情報を記録する際に、実際のデータに加えてエラーチェック用のコードを付加しておき、読み出したときにそれを検証して、正しいかどうかを判断する技術のこと。

ECC付きメモリーやRAID2などで使われる。なお、RAID3RAID4RAID5では、ハミングコードの代わりにより簡略なパリティビットとバイトを使用して誤り訂正をしている。

算出

例えば4ビットのデータ列があった場合、これに3ビットのハミングコードを与える。

データ列がd0 d1 d2 d3とすると、次のように3ビットのハミングコードを求める。

  • p0 = d0 XOR d1 XOR d3
  • p1 = d0 XOR d2 XOR d3
  • p2 = d1 XOR d2 XOR d3

訂正

もし読み出してエラーが発生していた場合は、次のようなXOR演算をしてe0〜e2を算出する。

  • e0 = p0 XOR d0 XOR d1 XOR d3
  • e1 = p1 XOR d0 XOR d2 XOR d3
  • e2 = p2 XOR d1 XOR d2 XOR d3

正常時は、e0 e1 e2は全て0であるので、どのビットが1になるかで、エラービットの位置が求められる。

e2=0e2=1
e1=0e1=1e1=0e1=1
e0=0e0=1e0=0e0=1e0=0e0=1e0=0e0=1
正常p0 NGp1 NGd0 NGp2 NGd1 NGd2 NGd3 NG

これにより、エラービットが一つまでであれば、その誤りを訂正することが可能となる。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club