- 패리티 메모리와 ECC 메모리의 원리
▷ 패리티 메모리와 ECC
메모리의 원리
SDRAM이 나오기 전까지는 메모리는 에러를 정정하기 위한
패리티 비트가 존재했었다. 즉 전송되고 있는 데이터에 오류나 노이즈 여부를 알아내기 위해 데이터 맨 끝 부분 1bit를 이용해 데이터를 짝수
혹은 홀수로 항상 유지시키는 것이다. 이렇게 되면 1개 bit의 데이터가 오류가 났을 경우 오류 여부를 바로 알 수 있게 되어 오류가 난
데이터를 재전송 받을 수 있다. 물론 패리티 비트를 사용한다하더라도 2개 이상의 bit가 동시에 오류가 난다면 이를 검출 할 수 있는 방법은
없다. 하지만 패리티 비트가 없는 경우에 비해 데이터 전송에 신뢰성이 훨씬 높아지는 효과가 있다. 문제는 패리티 비트로 1bit의 데이터를
이용할 수 없기 때문에 사용 가능한 메모리 용량이 줄어든다는데 있다. 이 때문에 메모리 전송 오류가 많이 줄어든 오늘날에는 메모리에 패리티
비트를 아예 없애고 그 부분에 데이터를 보관하는 메모리를 사용하고 있다. 이것이 언버퍼드 메모리이다.
반면 극히 적인 빈도라도 메모리에서 전송된 데이터에 에러가
나면 곤란한 서버이상의 컴퓨터에서는 여전히 전송 에러 체크를 하게 되는데, 기전의 패리티 비트에 비해서 보다 진일보한 전송에러 체크 방식인
ECC를 사용한다.
ECC 방식은 패리티 비트처럼 단일 데이터에 체크
비트(Bit)를 끼워 넣어 전송하는 것이 아니라 전송되는 데이터를 체크할 수 있는 별도의 체크비트 데이터를 저장하고 이를 데이터들과 함께
전송한다. 이 별도의 체크 비트를 이용하면 1비트의 데이터 오류가 일어났을 때 오류가 일어난 위치를 정확하게 판별할 수 있다. 그래서 전송
오류를 자동으로 수정하는 것이 가능하다. 또한 동시에 2비트에서 오류가 일어났을 때에도 이를 감지해내고 사용자에게 이를 알릴 수 있다.
처음 ECC메모리를 사용하면 데이터의 오류를 동시에 2비트에서
난 것까지 검출이 가능하다. 1비트에서만 오류가 일어났을 때는 재전송 없이 자동으로 수정이 가능하다는 점에서 안정성과 전송 속도 면에서 신뢰성이
높다.