ecc 메모리에 대해서 궁금합니다.

고승민   
   조회 8594   추천 0    

ecc 메모리의 오류 보정 능력 때문에 ecc unbuffered 메모리를 쓰는가 본데요.

그런데 이 오류라는 것이 언제나 발생 가능한 것인지 궁금한 것입니다.

그냥 정보가 왔다갔다 하다보면 문제가 생기는 것인지..

아니면 특정 상황에서 오류가 생길 수 있는 것인지

제가 서버 코딩을 아주 심플하게 해놓은 상태라서 특별히 복잡하거나 빡센 작업을 하지 않고

있는 상태라서 그냥 일반 메모리 꽂아놓고 서버 돌려도 상관이 없다면 좋을 것 같은데

메모리가 오류가 생긴다는 것이 어느 상황인지 감이 안 잡히네요  검색해봐도 잘 모르겠고

혹시 아시는 분 있으면 알려주세요 ㅜ
안녕하세요
짧은글 일수록 신중하게.
LovelyJubbly 2013-11
보통 직접 개발해서 사용하는 프로그램 환경일 경우 ECC가 요구 되는 경우가 많습니다.

요즘 개발툴들이 좋아서 문제가 생길 것 같은 경우 컴파일이 아에 되지 않거나 문제가 있다고 나오지만
특정상황(버그)인 경우 오류가 발생 하고 일반 적인 경우에는 커널단까지 문제가 생기는 경우가 없으니
그냥 디버그 창 띄우고 말겠지만 가끔 드라이버 같은 것 건들이거나 커널단을 건들이거나 등등의 경우
그냥 메모리는 블루스크린 띄우고 죽습니다만 ECC 일 경우 싱글 비트 혹은 멀티 비트 오류 정정이 가능하기
때문에 오류라고 메세지 띄우거나 오류난 프로그램 종료 시키거나 하는 경우가 많습니다.

즉 개발자가 아니거나 완전히 검증된 프로그램만 사용하는 경우 ECC 같은 것 없어도 크게 무방합니다만
개발자의 경우나 공개적으로 검증되지 않은 프로그램 돌려야 하면 있는 게 좋습니다.
고승민 2013-11
그렇군요. 제가 자바로 서버(스크립트 아니고 jar 서버 옵션)를 만드는데 거의 i/o작업만 하는데..

음 죽는 경우도 없지만 싱글 쓰레드로 뭐 거의 완전 단순 코딩이라;;

살짝 안 써도 될듯하네요. 자바 자체가 문제라면 써야 되겠지만요.

제가 짜 놓고도 진짜 단순하거든요 ㅎ
말짱황 2013-11
ECC 역할은 개발프로그램만의 문제가 아닙니다.
운영체제나 기타 소프트웨어에서 발생하는 문제도 있지만 하드웨어 드라이버나
기타 하드웨어 오류에 따른 보정을 주 목적으로 합니다.
말짱황 2013-11
작은 예로 VGA카드 응답오류가 발생하면 이것을 다시 보정 하여 구동 하게합니다.
그래도 또 오류가 발생하면 또 보정을 계속 합니다.
이런 증상이 계속 발생하면 하드웨어쪽에 문제가 발생 했다고 보셔도 무방합니다.
LovelyJubbly 2013-11
황진우님 말씀처럼 프로그램 적인 환경 뿐 아니라 일반 환경에서도 오류가 발생 하는 경우가
있기 때문에 있어서 나쁠 건 없습니다.
다만 돈이 좀 더 들어간다는 문제가 있습니다만 업무용이면 쓰시는 걸 추천드립니다~
냐옹 2013-11
dram 오류는 신호간섭이나 전압 불안정 부품 결함 등에 의해 나타납니다.
정상적인 환경에서 현대 dram의 싱글비트 오류 빈도는 칩당 백만초~천만초 당 1회 정도입니다(용량이나 공정, 칩의 질, 동작 속도 등에 따라 다릅니다).
보통 DIMM이 8~32chip 정도를 사용하고 시스템에 2 DIMM이 장착되어 있다고하면 오류가 얼마나 발생할지 대략 가늠이 되실겁니다.
멀티비트 오류는 싱글비트 오류의 확률을 곱하면 대충 맞습니다. 멀티비트 오류 확율은 저보다 상당히 낮죠.
싱글비트 오류는 패러티로 수정되므로 실제 ECC가 필요한 것은 더블비트 이상의 오류이구요.
데스크탑 환경에서는 메모리 사용량(물리적으로 장착된 메모리 수)이 적어 오류의 가능성이 상대적으로 낮기에 ECC 적용을 안한 것이고...
서버의 경우는 고용량 요구가 많고 칩수가 많아지다보니 오류 가능성이 높아집니다.
고가용 서버의 경우 ECC를 권하는 이유는 이것이구요.
ECC 정정 동작하면 시스템 로그에 남습니다. 윈도우 같은 경우 하드웨어 이벤트로 기록되구요.
일반 시스템에서는 생각보다 보기 쉽지 않습니다.
칩 사다가 3자가 제조한 모듈(옛날에 얘기되던 B자)을 쓴다거나 부품이나 환경이 열악하거나 한게 아니라면요.

edac는 소프트웨어로 구현가능하긴 하지만(일부 중요한 소프트웨어에서는 코드 자체에 검출루틴을 넣기도 합니다)
소프트웨어를 단순하게 짠다고 오류가 적거나 안나거나 하지 않습니다.
오류 발생빈도와 돌아가는 코드(소프트웨어)와는 별 상관 없습니다.

참, 램도 동용량 동성능이라면 기술이나 공정이 무르익은 놈 사는게 이런 면에서는 유리합니다.
(더 자세한건 전문가께서...)
이기왕 2013-11
ECC 에러는 자주 발생합니다. ECC 메모리가 아니면  single bit error에도 서버가 죽습니다. 서버 죽어도 괜찮은 어플리케이션이라면 ecc 기능 없는 것으로 써도 괜찮을것 같네요
박문형 2013-11
간단하게 ECC기능이 켜져 있으면 마더보드에 왔다 갔다 하는 모든데이터가 페리티 채크를 하게 됩니다.

페리티 채크에서 에러가 나면 보정을 하여 돌아갑니다.
서쪽의섬 2013-11
ecc 에러 저만 자주발생한다고 느낀것이 아니었군요 ...

가격은 저렴하지만서도 이유가다있엇군요
빠시온 2013-11
저는 unbuffered랑 registered랑 구분도 못하겠던데^^;

그냥 ecc만 있는줄 알았어요 예전엔..


QnA
제목Page 3349/5726
2014-05   5246708   정은준1
2015-12   1771997   백메가
2016-10   4866   신은왜
2007-02   4866   오성기
2019-09   4866   민사장
2006-06   4866   이성효
2016-09   4866   권용1
2007-03   4865   조중연
2012-06   4865   알파맨
2018-06   4865   으라차차차
2019-08   4865   나는관제
2020-12   4865   이페메라
2015-09   4865   크리스월
2016-01   4865   송상병
2007-08   4865   김대성
2006-11   4865   박종국
2014-07   4865   정은준1
2019-07   4865   gowork
2012-02   4865   CPDLC
2007-08   4864   이재건
2008-11   4864   서정욱
2017-10   4864   봄들판에서다