Hamming Error Correcting Code

Hyeju·2022년 6월 11일
0
post-thumbnail

컴퓨터 에러 종류는 Soft Error 와 Hard Error 로 나눌 수 있다.

Hard Error

A hard error is an issue in RAM that results from a permanent physical flaw in the module caused by a hardware failure or defect.

Soft Error

A soft error is an issue that causes a temporary condition in RAM that alters stored data in an unintended way.

Hard Error 는 영구적이고, Soft Error 는 비파괴적이며 일시적인 결함이라는 차이가 있다.

Soft Error 검출방법

에러 검출 방법으로 Parity Check 방법과 Hamming error correcting code 라는 것이 있다.

Even Parity Check : 1 Byte data 내 1 bit 의 개수가 짝수면 Parity bit 라고 불리는 맨 뒤 extra bit가 0, 홀수면 1
Odd Parity Check: Even Parity Check 의 반대이다.

Hamming Code

Hamming code 생성시 위 even parity check 방법을 이용한다.
데이터 길이 D와 코드 길이 C의 관계는 아래와 같다.

데이터가 8bits 라면 C=4 비트가 필요하고, D=16 일 때 C=5 가 된다.

문제1. 8비트 데이터 10101011 에 대한 Hamming Code를 구해라. D1은 왼쪽 비트 "1"이라고 가정한다.

풀이:
8비트 데이터에 대한 Hamming Code 4개가 필요하다. C1=2^0, C2=2^1, C3=2^2, C4=2^3 각각 포함된 Data Bit Position 에 해당하는 데이터 비트를 모두 XOR 연산으로 더해서 구한다.

C1의 경우 0001 을 포함하는 비트 포지션의 데이터 비트가 3(0011),5(0101),7(0111),9(1001),11(1011) .. 이 되는 것이고,
C2는 0010을 포함하는 3(0011),6(0110),7(0111),10(1010),11(1011) 의 데이터 비트를 모두 더하는 것이다.

Even parity 방법을 사용하므로 XOR 연산에 의해 비트를 더한 결과 1의 개수가 홀수면 해당 코드가 1이 되는 것이다.

0개의 댓글