ハミングコードとパリティコードについて
contents
1.
1950年にベル研究所のリチャード・ハミングによって考案された。知られている誤り訂正符号の中では最も古く、ハミングコードにより、1ビットの誤りであれば検出と訂正ができ、2ビットの誤りであれば検出ができる。
リード・ソロモン符号などに比べると、ある程度高速で処理できるが、訂正力は高くない。
ハミングコードは、高速で高い信頼性を求められる用途にはあまり向かず、ECCメモリのような処理速度を要求されるが比較的エラーが起きにくい場面で使われる。
また、WinRARのリカバリレコードにも使用されている。
2.
パリティコード:
特定のBit数の中に1が何個存在するか?で付加されるもの。
データ表記では実データ+1Bitで表現される。
データが「パリティに対して正か非か?しか判断できない。
主に電話回線など低速で、エラーが起こっても再送すればよいなど、とりあえずのエラー訂正で使われる事が多い。
たとえば8Bitコードで 「01110001」 とあったとすると、偶数パリティでは 「1が4つある」 のでパリティBitは1となり、「1 01110001」奇数パリティでは
「1が4つしかない」 のでパリティBitは0となり、「0 01110001」 となる。
1Bitのエラーは検出できるが、2Bit以上同時にエラーになった場合は検出すらできない。
例: 元データ 「1 01110001」→「1 10110001」→検出不可。
ハミングコードは
1Bitのエラーで有れば検出と訂正が行え、2Bit間違っていても検出できる方法。
主にPCのECCメモリなど、エラーが起きては困る場合や、その頻度が少なく、高速処理が要求される場合はこちらが使われる。
現在は殆どこちらのコード方式しか使わない。
どこが誤っているかが判明していれば、2進数の特性(排中立)からパリティコードチェックを元に推測できます。
たとえば、HDDが1台壊れたら、その情報は全て誤ってる事は明らかです。
でも、HDDやメモリの何処で間違ってるか分からないときはパリティは役に立ちません。だから、HDD破損によって再構築された情報が正しい事は、パリティとその他情報が全て正しいときだけ成り立つといえます。
- ショートカットキーできる人ほどよく使う!時間短縮で仕事を効率化
- 【保存版】日常生活で普段使える豆知識のまとめ
- パソコンでネットの閲覧制限を行っている企業が増えている
- 絶対知っておきたい!パソコン関連の用語集まとめ