WIKI
ECC 메모리
ECC 메모리
메모리 오류를 검출·교정하는 ECC가 막을 수 있는 오류와 막지 못하는 오류는 무엇인가.
Scope
핵심 질문
ECC 메모리는 어떤 종류의 memory bit error를 검출·교정하고 데이터 무결성에 어떤 역할을 하는가?
Research
핵심 근거
- 일반적인 SECDED ECC는 single-bit error를 교정하고 double-bit error를 검출할 수 있다.
- ECC가 있어도 CPU, storage, cable, controller, software에서 발생하는 오류는 별개다.
- 실제 ECC 기능을 사용하려면 memory module뿐 아니라 CPU와 motherboard가 지원해야 한다.
Draft
ECC(Error-Correcting Code) 메모리는 RAM에 추가된 오류검출 정보를 이용해 일부 bit error를 자동으로 교정하는 메모리 방식이다.
왜 필요한가
메모리 bit는 하드웨어 결함이나 전기적 요인 등으로 드물게 잘못된 값을 가질 수 있다. 데이터가 디스크에 기록되기 전에 RAM에서 이미 손상되면 filesystem checksum만으로 원인을 막을 수 없다.
일반적인 ECC
많은 시스템은 single-bit error correction과 double-bit detection을 제공한다. 교정 가능한 오류는 시스템을 중단하지 않고 수정하고 심각한 오류는 machine check로 보고할 수 있다.
만능은 아니다
ECC RAM은 메모리 경로의 일부 오류만 다룬다. SSD, SATA/SAS link, CPU bug, filesystem bug까지 보호하는 것은 아니다.
핵심
ECC는 데이터 무결성의 한 계층이다. checksum filesystem, storage redundancy, backup과 함께 사용할 때 전체 failure chain을 더 잘 방어할 수 있다.