본문 바로가기

시스템

메모리 규격과 세버메모리 기능

 

데스크탑 DDR 메모리 규격과 서버 메모리 기능

  2013-07-16  | 


DDR 메모리 관련으로 자주 올라오는 질문들

메인보드 사양에 사용가능한 메모리가 Unbuffered DIMM, Non ECC


현재 판매되는 모든 일반 데스크탑 메인보드의 메모리 사양
99.9% 가 Unbuffered DIMM, Non ECC


위 사양에 제품들은 메모리 카드 자체 기본클럭(대역폭) 뒤에 영문 U 가 표기되어 있습니다.
(예. PC2-6400U , PC3-10600U)

그리고, U 가 표기되어 있지 않는 제품이라도 메모리 사양 설명에
반드시 Unbuffered DIMM, Non ECC 로 설명되어 있습니다.

그렇기 때문에 일반 데스크탑 사용자 분들은
DDR 메모리 중 메모리 클럭(대역폭)에 U 가 표시되어 있거나
사양에 Unbuffered DIMM, Non ECC 라고 설명되어 있는 제품
구입

* Unbuffered DIMM, Non ECC 기능에 대한 부분은 후반에 설명

위 규격은 특정 제조사나 메모리업체의 규격이 아니라
JEDEC 표준 규격이기 때문에 해당 규격만 정확하게
확인 하시면 됩니다.


장착되는 슬롯 부분을 보면 슬롯 규격은 다 틀립니다.
즉, DDR(DDR1) , DDR2 , DDR3 는 호환 불가능 입니다.
다른 규격에는 장착 자체가 불가능 하기 때문 입니다.


위에 수치도 특정 제조사나 메모리업체의 규격이 아닌
JEDEC 표준 규격 입니다.

그림과 같이 규격이 각각 틀리기 때문에 서로 호환되지 않습니다.
만약 현재 DDR2 메모리 사용 중 이시라면 DDR2 메모리만
장착할 수 있고 사용하실 수 있습니다.

그럼 이제 서론에서 말씀드린 일반 데스크탑 메모리인
Unbuffered DIMM, Non ECC 메모리가 아닌
다른 메모리들에 대해 알아 보겠습니다.

PC2-6400F
PC2-6400FB
PC2-5300R
PC2-5300P
PC3-10600E
PC3-10600R

PC3-12800S

위와 같은 제품들이 있습니다.

그럼 이제 메모리 클럭(대역폭) 뒤에 붙는 알파벳 의미를 먼저 알아보겠습니다.
일반 메모리와 서버용 메모리로 구분해서 살펴 보겠습니다.

[일반 메모리]

S : Small outline DIMM(SO-DIMM)
노트북용 메모리를 의미 합니다.
즉, 데스크탑에는 장착자체가 불가능한 규격 입니다.
(노트북에만 사용할 수 있고 장착 가능한 메모리 입니다.)

U : Unbuffered DIMM(UDIMM), non ECC
일반 데스크탑 메모리 입니다.
buffer(버퍼) 즉, 메모리간에 속도차이로 인해 신호동기화나 각종 데이터 처리간의
신호왜곡이나 차이점, 문제들을 커버해줄 수 있는 버퍼 기능이 없고(Unbuffered),
(우리가 컴퓨터에서 통상 말하는 버퍼메모리의 그 버퍼를 의미 합니다.)
오류수정/검출 기능(ECC : Error-correcting code) 도
지원하지 않는다는(non ECC) 의미 입니다.

서버가 아닌 일반 데스크탑에서는 필요없는 기능이기 때문에 
해당 메모리를 통상 일반 PC메모리, 데스크탑용 메모리라고 부릅니다.


[서버용 메모리]

E : Unbuffered DIMM(UDIMM), ECC
버퍼기능은 없으나 오류수정/검출 기능을 지원하는 메모리 입니다.

R : Registered DIMM(RDIMM)
buffered 메모리라고도 합니다.
메모리 버퍼의 기능에서 데이터 처리 기법(기술)중에 하나가 Registered 이고,
메모리 카드에 장착된 register 칩이 메모리 컨트롤러 사이에서 버퍼 역활을
합니다. (Unbuffered 의 반대 개념입니다.)
그리고 해당 Registered 규격 메모리들은 거의 대부분 ECC 기능이 포함되어 있습니다.

그런데 여기서 한가지 의문점


Registered DIMM 을 buffered 메모리 즉, buffered DIMM 이라고도 부르는데,
표준규격인 Unbuffered DIMM 이 있으니까 동일한 개념으로 Buffered DIMM 이라고
표준규격을 만들어야 되지 왜 Registered DIMM 으로 규격을 만든건지..

현재의 SDRAM 이전에 사용하던 구형 메모리들에서도 서버용 메모리를 통상적으로
buffered 메모리라고 불렀습니다. 그리고 반대되는 의미로 Unbuffered 라고했구요.


그리고 지금 현재의 SDRAM 으로 대부분이 대체되면서 이전 방식과의 서버 메모리 특성이나
동작 차이점으로 인해 buffered 가 아닌 Registered 로 바뀌게된 부분이지
기능이나 동작의 의미는 동일한 말입니다. 그리고 예전에도 사용하던 Unbuffered 는 바뀌지 않고,
지금도 사용하고 있고, 규격된 부분입니다.
왜냐하면 구형 메모리가 SDRAM 으로 대체되어도 일반사용자용 메모리는 메모리 특성이나
동작차이점이 없기 때문 입니다.
물론 성능은 더 향상되었죠^^;; 기본적인 구동 원리 부분에 큰 차이점이 없다는 부분입니다.
그래서, Buffered DIMM 이 아닌, Registered DIMM 이라고 규격화된 부분 입니다.
(Buffered 만 Registered 로 바뀌었다는 의미 입니다.)

P : Registered DIMM(RDIMM), with address/command parity function
방금전 설명드린 Registered DIMM 뒤에 추가 기능이 있네요^^
ECC(오류 수정/검출) 기능과 비슷하다고 생각되실 수도 있지만
ECC 는 데이터 오류 검출->수정 기능이 있다면 Parity 는 단순히 검출,확인
기능만 있습니다. 그래도 ECC 기능이 아예 지원되지 않는것 보다 오류 검출/확인만
되어도 시스템 문제 발생시 원인을 좀더 쉽게 찾을 수 있습니다.
요즘 출시되는 서버 시스템에서 사용하지 않는 기능 입니다.
ECC 기능이 더 좋기 때문이고, Parity 메모리 다음에 나온게 ECC 메모리 입니다.

F,FB : Fully Buffered DIMM(FDIMM or FBDIMM)
단어 의미로 보면 buffered 메모리 즉, Registered 메모리처럼 버퍼를 사용하는
메모리가 맞지만 Fully 란 단어가 들어갔기 때문에 내부 동작구성이나 구조가 완전히 다릅니다.
이 메모리 같은 경우 PC의 메모리 컨트롤러를 통해 데이터를 주고 받는게 아니라
메모리 카드에 AMB(Advanced Memory Buffer) 라는 마치 일종의 메모리 컨트롤러가
추가된 메모리 입니다. 이 AMB 컨트롤러를 통해서 모든 데이터 처리가 이루어 집니다.
즉, 일반적인 버퍼기능 보다 좀더 완벽한 버퍼기능이 가능한 제품 입니다.

그래서 F,FB 메모리 같은 경우는 기존 DDR 규격과는 전혀 다른
전용 규격이고 메모리 슬롯도 전용 규격 입니다.

즉 F, FB 규격의 메모리는 아예 별도의 규격이라고 생각 하시면 됩니다.
서버 PC라도 메인보드 사양이 FDIMM or FBDIMM 일 경우에만
사용할 수 있는 전용 메모리 입니다.

그래서 서버 PC 사용자분들도 실수로 잘못 구입하시는 경우가 있는 제품 입니다.

  


    
동일한 DDR2 규격이나 FDIMM 메모리는 메모리 슬롯쪽 규격이 또 다릅니다.
DDR2 F,FB 메모리는 일반 DDR 메모리 즉, DDR/DDR2/DDR3 어느 규격과도
슬롯이 일치하지 않는 또다른 규격의 슬롯 입니다.
(결국 DDR/DDR2/DDR3/DDR2(Fdimm) 4종류 모두 슬롯규격이 다 틀립니다.)
규격만 DDR2 이지 슬롯은 전혀 다른 별도의 규격 입니다.
그래서 서버PC 사용자분들 중에서도 실수로 잘못 구입하시는 경우가 종종 발생 합니다.
F,FB 메모리는 오직 FDIMM or FBDIMM 슬롯이 지원하는 서버 메인보드에서만
사용할 수있고 장착 가능 합니다.


그리고, 이외에 메모리카드에 별도의 영문 알파벳 표기가 없고,

ECC , ECC/REG
 등으로 표기되는 경우도 있습니다.
이와 같은 경우에도 위에 설명 드린거 처럼,

ECC : 오류수정(검출)기능 지원
ECC/REG : 오류수정(검출)기능 과  Registered(Buffered) 기능 지원

을 의미 합니다.

즉, 지금까지 설명드린 모든 서버용 메모리는
일반 PC/데스크탑(Unbuffered DIMM, Non ECC) 사용자분들은
구입하시면 안되는 메모리 입니다.



그런데 위와 같은 서버용 메모리 기능을 보면 상당히 좋은 기능인거 같은데
왜 일반 데스크탑 PC에서는 사용하면 안되지? 사용해도 좋을거 같은데....


라고 생각 하실수도 있겠지만,

일반 데스크탑 PC 같은 경우 사용하다 문제생기면 H/W 적인 문제가 아니라
단순 S/W 적인 충돌이나 오류는 그냥 재부팅 하면 됩니다.^^
(물론 몇주씩 켜놓는 경우도 있긴 합니다만....무...물론...저만 그런게 아니겠지요?^^;;;;)

그리고 메모리의 속도만 놓고 봤을 때는 해당 기능들이 없는 그냥 일반 PC 메모리가
속도성능은 더 빠릅니다.
(중간에 거치는 부분이 없기 때문에 당연한 부분입니다.)
그래서 ECC,REG,Fully Buffered 기능들이 필요가 없는 부분 입니다.
문제 생기면 그냥 재부팅하면 되니까요^^;;
쉽게 생각해서 일반 데스크탑 PC를 구성할 때, 해당 시스템이 재부팅/리셋 없이
1년 365일 24시간 풀로드 가동되어도 오류나 안전성에 문제가 되지 않는 정도로
구성하지 않는다는 의미 입니다.

사실 ECC 오류 같은 경우는 우리가 PC 사용하면서도 시스템 내부적으로는
지속적으로 발생하는 부분 중 하나 입니다. 
다만, 심각한 오류가 아니면 사용자도 모르게 그냥 지나가는 거 뿐입니다.
ECC 오류가 발생하면 시스템이 다운될 수도 있고, 프로그램 실행시 갑자기 멈출수도 있고
또는 심각하면 블루스크린 등의 오류가 나올수도 있습니다.
(그래서 블루스크린이 뜨면 무조건 메모리자체가 불량이다 라고 생각하시면 안된다는걸
 의미 합니다.
)
하지만 이런 문제가 생겨도 H/W적 불량이 아니라면 간편하게
재부팅 하면 모든게 해결됩니다.^^



그렇지만 서버 같은 경우는 다릅니다.
일반PC처럼 아무때나 재부팅 할수 있는 상황이나 환경도 아닙니다.
아니면 하루에 한번 또는 몇시간에 한번씩 지속적으로 재부팅 할수 있는
상황도 거의 불가능 합니다.

그냥 계속 풀로드 상태로 갑니다. 그것도 단순히 전원만 켜져있는 상태가 아니라
24시간 계속 시스템 내부에선 연산작업이 진행됩니다.
즉, 항상 24시간 시스템이 사용되는 상태 입니다.
그렇기 때문에 서버에는 ECC,REG,Fully Buffered 기능의 메모리가 절대적으로
꼭 필요한, 반드시 사용해야만 하는 환경인 겁니다.
그만큼 서버 시스템은 안전성이 최우선 되어야 합니다.
서버PC 같은 경우 업종에 따라 차이는 있겠지만 그냥 오동작이나 오류한번 만으로도
엄청난 손실을 가져올 수 있습니다.
(일반PC라면 그냥 재부팅/리셋 한번이면 해결될 문제지만 서버시스템에서는 치명적 입니다.
 정기점검이나 스케줄에 따른 재부팅/리셋이 아닌 급작스런 재부팅/리셋 작업은 서버시스템에
 문제가 발생했다는 의미와 동일입니다.)
 
그래서 위와 같은 시스템 구성이 반드시 필요 하고,
주기적으로 정기적인 시스템 점검을 별도로 정해서 하는 이유 입니다.


[출처] 도원결의

http://dreamwebs.kr/hboard4/bbs/board.php?bo_table=board1&wr_id=211