RDIMM은 ECC UDIMM보다 4배 더 많은 메모리 용량을 제공해 가상화된 고성능 클라우드 컴퓨팅 애플리케이션에서 서버 성능을 극대화한다. 이 모듈은 채널당 2개 이상의 DIMM 구성에 12 GB 정도의 소규모 메모리 용량을 사용하는 시스템에서도 ECC UDIMM보다 성능을 향상시킨다. 또한 안정성을 높이고 다운타임, 서비스 시간 및 기업 데이터 손실을 최소화해 DIMM의 총 소유 비용을 절감하는 방대한 RAS 기능 세트를 제공한다.
글 | 토멕 자시오노스키 (Tomek Jasionowski) 프로그램 매니저
엔터프라이즈 컴퓨팅 사업부
IDT(Integrated Device Technology)
엔터프라이즈 하드웨어를 선택할 때 가장 중요한 고려사항은 성능, 안정성 및 확장성이다. DRAM(Dynamic Random Access Memory) 모듈은 이 모든 요소에 영향을 미친다. IT 관리자가 DDR3(Double Data Rate3) 프로토콜을 지원하는 플랫폼에 사용할 수 있는 DRAM 모듈은 두 가지가 있다. 하나는 ECC(Error-Correcting Code) UDIMM(Unregistered Dual In-Line Memory Modules)이고, 다른 하나는 RDIMM(Registered Dual In-Line Memory Modules)이다. RDIMM은 대부분의 애플리케이션에서 ECC UDIMM보다 성능과 확장성이 뛰어날 뿐 아니라, 더욱 방대한 RAS(Reliability, Availability, Serviceability, 안정성, 가용성 및 유지보수 편의성) 기능을 제공한다. RDIMM을 도입하면 총 서버 대수와 소유 비용을 줄일 수 있기 때문에, 대부분의 기업 애플리케이션 환경에서 선호도가 높다.
RDIMM 및 DDR3 레지스터
ECC UDIMM은 최대 48 GB 메모리를 사용하는 애플리케이션에 국한된다[1]. 시간당 최대 DRAM 사용량 예상치가 48 GB를 초과할 경우, 메모리 성능 병목현상을 피하려면 RDIMM을 사용해야 한다. RDIMM은 시스템 용량을 192 GB까지 확장할 수 있다[1]. 이처럼 용량을 확장할 수 있는 이유는 RDIMM에 내장된 DDR3 레지스터 덕분이다. 레지스터란 메모리 컨트롤러에서 전송되는 클록, 명령 및 주소 신호를 버퍼링하는 특화된 칩이다(그림 1). DDR3 레지스터를 사용하면 각 RDIMM에 더 많은 DRAM 칩과 각 메모리 채널에 통합할 수 있으며, 최종 애플리케이션의 성능 및 확장성을 향상시킬 수 있다.
표 1에는 RDIMM 및 ECC UDIMM의 최고 사양이 나와 있다. 애플리케이션 레벨에서 봤을 때, DDR3 레지스터가 내장된 RDIMM을 사용할 경우, 예측되는 성능에 따른 시스템 확장 가능성을 도시한 것이다.
ECC UDIMM과 비교할 때 DDR3 레지스터를 사용하면 성능이 향상되고 메모리 용량이 4배로 증가하는, 이유를 좀더 쉽게 이해하려면 메모리 모듈이 라인 로딩에 어떻게 영향을 주는지 살펴볼 필요가 있다. RDIMM이든 ECC UDIMM이든, 각 메모리 모듈은 데이터(DQ), 데이터 스트로브(DQS), 주소, 명령, 클록 및 칩 선택 신호를 통해 메모리 컨트롤러와 통신한다. 실제 모듈 디자인 사례를 살펴보자. 4 GB DRAM 칩 36개와 오류 정정용 DRAM 4개를 내장한 16 GB RDIMM 1개를 랭크 별로 9개의 DRAM 칩이 포함되는 4개의 랭크로 구성했다. 메모리 랭크란, 칩 선택(CS) 신호와 관계없이 메모리 모듈의 72비트 데이터 버스로 통신하는 그룹을 말한다.
위 사례의 블록 다이어그램을 살펴보면(그림 2) 메모리 컨트롤러의 각 클록, 명령, 주소 및 CS 라인에서 DDR3 레지스터에 한 개의 부하가 발생하고, DQ/DQS 라인에서 4개의 부하가 발생하는 것을 알 수 있다. DDR3 레지스터가 없다면 컨트롤러가 CS 라인에서 9개의 부하가 발생할 것이다. 뿐만 아니라, DRAM 칩에 직접 연결되어 있어 클록, 명령 및 주소 부하가 36번으로 급격하게 증가한다. 부하 개수가 많아지면 메모리 컨트롤러가 고속 통신을 할 수 없게 된다. 그 이유로 ECC UDIMM 모듈은 DRAM 용량이 일반적으로 RDIMM보다 4배 더 작아지게 된다(표 2).
엔터프라이즈 시스템의 임계 DRAM 용량
메모리가 부족한 엔터프라이즈 플랫폼에서는 RDIMM 모듈을 도입하여 DRAM 용량을 늘리는 것이, 서버 성능을 높이는 가장 빠르고 효율적이면서 경제적인 방법일 때가 많다. 애플리케이션을 감당할 정도로 충분한 메모리가 서버에 설치되어 있지 않다면 적어도 10배는 느린 HDD나 SSD를 프로세서에 연결해서라도 이를 보완해야 한다(그림 3). 이 방식은 메모리 트랜잭션의 아주 일부만 스토리지 장치로 분산하는 경우에도 컴퓨팅 시간을 크게 늘리게 된다.
다음과 같은 파라미터를 갖는 시스템을 생각해 보자:
- 평균 전송속도가 100 Mbytes/s인 SSD 스토리지 드라이브
- 1333 Mbps, 전송속도 10 GB/s의 64비트 데이터 버스를 갖춘 DDR3 메모리(드라이브 전송보다 100배 빠름)
- 서버에 설치된 DDR3 메모리: 48 GB, 각각 4 GB씩인 12개의 UDIMM 모듈
- 애플리케이션에 필요한 DDR3 메모리: 64 GB
결과는 이 시스템이 16 GB 스토리지 드라이브 메모리를 사용해야 64 GB 애플리케이션 요구를 충족할 수 있다는 것이다. 이 가상 메모리 16 GB는 전체 시스템 속도를 저하시킨다. 스토리지 드라이브 속도가 DDR3 메모리 전송속도보다 100배 느리기 때문에, 전체 데이터 전송량 중에서 스토리지 드라이브를 통한 25%(64 GB 중 16 GB)의 데이터 전송은 동일한 데이터를 DDR3 메모리로 전송할 경우보다 100배의 시간지연이 발생한다. 전반적으로 64 GB 메모리 시스템 성능이 25배 느려진다(즉, 16 GB/64 GB의 100배). 그러므로 메모리 트랜잭션의 25%를 드라이브 스토리지로 전환하면 데이터 전송 시 최고 25배 긴 지연이 발생한다.
이 시스템을 8개의 8 GB RDIMM으로 구성된 64 GB 메모리로 업그레이드하고 ECC UDIMM의 메모리 한계를 없애면 시스템이 DRAM 데이터를 스토리지 드라이브로 경로를 바꿀 필요가 없다(그림 4). 그렇게 되면 시스템 성능이 최고 25배 향상된다. 또한 스토리지 드라이브 전송은 속도가 훨씬 느릴 뿐 아니라, 1기가바이트씩 데이터를 전송할 때마다 소비되는 전력량도 훨씬 크기 때문에, DRAM 용량을 최적화한다면 전력소모도 줄일 수 있다.
RDIMM으로 안정성 및 시스템 업타임 개선
엔터프라이즈 장비를 사용하는 환경에서는 시스템 다운타임 및 수리비용을 대폭 절감할 수 있는 메모리 RAS 요구사항에 집중할 수밖에 없다. 적합한 메모리 모듈을 선택하면 활용 가능한 RAS 레벨에서 큰 변화를 가져올 수 있다. ECC UDIMM은 안정성에 한계가 있고, 단일 비트 오류 및 단일 DRAM 오류 때문에 데이터 손상 및 시스템 중단이 발생하는 것으로 알려져 있다. RDIMM 모듈은 패리티 및 확장 ECC의 가용성을 포함한 포괄적인 RAS 솔루션을 제공하는데, 이로써 앞서 언급한 문제를 최소화한다. 표 3은 ECC UDIMM 및 RDIMM의 RAS 기능을 비교한 것이다.
단일 비트 오류는 DRAM 통신의 주된 오류 유형이다. 2년 반 동안 수만 대의 구글(Google) 서버를 대상으로 실시한 DIMM 모듈 연구에 의하면, DIMM 오류 비율이 예상보다 수백 배에서 수천 배까지 높다고 한다. DIMM당 단일 비트 오류는 연간 3,751건이다[3].
단일 비트 오류는 DRAM과 메모리 컨트롤러를 상호 연결하는 26개의 주소/명령 라인 및 64개의 데이터 라인에서 발생할 수 있다. ECC UDIMM은 ECC 기능을 사용하여 64개 데이터 라인의 단일 비트 오류만 감지하고 수정할 수 있다. 단일 비트 오류가 26개 명령 또는 주소 라인에서 발생할 경우 ECC UDIMM은 이 오류를 감지할 수도, 보고할 수도 없다는 뜻이다. DRAM 상호 연결의 약 3분의 1에 해당하는 오류 감지 사각지대로 인해, 매년 여러 건의 메모리 동작 결함으로 심각한 기업 데이터 손실이 야기되며, 서비스 중단, 서버 중단 및 수리비용이 발생한다.
RDIMM은 데이터, 주소 및 명령 라인의 단일 비트 오류에 대한 대비책이 있다. RDIMM은 ECC 기능을 사용하여 데이터 오류를 수정하고 패리티 기능을 통해 주소 및 명령 라인의 단일 오류를 찾아낸다. 주소 또는 명령 신호에 문제가 있을 경우, RDIMM은 패리티 오류 신호를 메모리 컨트롤러로 돌려보낸다. 그러면 컨트롤러가 이벤트를 기록하고 마지막 명령 재전송과 같은 수정 절차를 실행한다.
RDIMM의 또 다른 이점은 확장 ECC를 지원한다는 점이다. 확장 ECC는 칩킬(ChipKill) 또는 칩스페어(Chipspare)라고도 한다[4]. 확장 ECC는 단일 메모리 칩의 특정 부분에서 멀티 비트 오류가 발생하거나 단일 DRAM 칩 오류가 발생하는 경우에도 시스템 동작을 최고 속도로 유지한다. 패리티 검사 및 확장 ECC를 함께 사용함으로써 시스템 다운타임이 최소화되고, 서비스 시간이 줄어, RDIMM 모듈을 사용하는 장비의 안정성이 ECC UDIMM을 사용하는 장비보다 훨씬 높아진다.
RDIMM의 메모리 채널 활용도
DDR3 메모리 솔루션을 제공하는 서버 제조업체는 채널당 최대 3개의 DIMM과 CPU 코어당 최대 3개의 채널을 사용할 수 있는 아키텍처를 공급한다. RDIMM에서는 모든 DIMM 소켓을 전부 사용할 수 있지만 ECC UDIMM은 채널당 한두 개의 DIMM만 사용할 수 있다. 나머지 소켓은 사용할 수 없거나 비워두어야 한다(그림 4).
JEDEC 반도체기술표준화협회(JEDEC Solid State Technology Association)는 RDIMM 관련 표준을 정립하고 있다. 몇몇 업체들이 이 작업에 참여하고 있다. 일례로 기업 등급 시스템을 제작하는 OEM 업체와 마이크로프로세서 제조업체가 RDIMM 모듈, DRAM 모듈 및 DDR3 레지스터의 표준화에 앞장서고 있다. 또한 DRAM 칩 제조업체 및 DDR3 레지스터 제조업체도 RDIMM 표준화 과정에 참여하고 있다. 그림 5는 RDIMM 관련 규격을 정의하기 위한 전체 에코시스템을 도식화한 것이다. 이들 기업은 이 참여를 통해 최종 규격의 전반적인 품질과 산업 전반의 호환성에 영향을 미치고 있다.
RDIMM의 핵심 애플리케이션 분야
RDIMM으로 인한 성능 향상은 메모리 집약적인 애플리케이션에서 가장 쉽게 확인할 수 있다. 메모리 집약적인 애플리케이션의 첫 번째 그룹은 고성능 컴퓨팅 환경 하에 있다. 여기에는 엔지니어, 건축가, 디자이너 및 비디오 편집자가 사용하는 전문가용 서버에서 실행되는 3D 이미징, 비디오 및 CAD 시뮬레이션 등이 포함된다. 또한, RDIMM은 서버에 설치되는 기업 데이터베이스 프로그램에도 필수적이다. 가장 널리 사용되는 데이터베이스 프로그램은 전사적자원관리(ERP) 및 고객관계관리(CRM) 소프트웨어 패킷이다. 이들 프로그램은 재무, 물류, 마케팅 및 영업 팀에서 광범위하게 사용한다. 마지막으로 데이터 센터의 클라우드 컴퓨팅 및 가상 환경 애플리케이션이 DRAM 용량 확대로 크게 수혜를 입는 그룹이다. 이런 환경에서는 DRAM 용량이 충분하면 바로 서버 유닛이 감소하는 효과를 가져온다.
일례로 각 가상 서버에 1대의 CPU 코어 및 48 GB의 DRAM이 필요할 경우 4코어 서버는 서버에 192 GB의 DRAM 만 있다면 4대의 가상 머신을 수용할 수 있다. ECC UDIMM에서는 인텔 제온(Xeon) 프로세서 5500 시리즈를 사용하는 서버당 최고 48 GB의 용량을 사용할 수 있는데, 이 경우 시스템이 192 GB를 사용하려면 서버가 4대는 있어야 한다[1]. 하지만 RDIMM을 사용한다면 IT 관리자가 서버 1대당 192 GB를 구현할 수 있으므로 상당한 절감효과를 거둘 수 있다(그림 6). 이 방식의 또 다른 이점은 1대의 서버 유닛만 사용하기 때문에 전력 및 공간의 절약효과를 누릴 수 있다는 점이다. 전반적으로 관리자는 ECC UDIMM 대신 RDIMM을 사용하여 총 소유 비용을 줄일 수 있다.
또한 RDIMM은 메모리 용량의 제약을 받지 않는 애플리케이션에서는 탁월한 데이터 대역폭 성능을 제공한다. 인텔의 연구에 따르면, ECC UDIMM 및 RDIMM은 6 GB 메모리 시스템을 사용하는 채널당 하나의 DIMM 구성에서는 메모리 대역폭이 매우 비슷하다(1 GB 모듈, 2개의 CPU 및 CPU당 3개 채널 가정). 그러나 보다 일반적인 12 GB 또는 24 GB 메모리 시스템을 사용하는 채널당 2개의 DIMM 구성에서는 RDIMM이 ECC UDIMM보다 약 9% 앞선다(1 GB 또는 2 GB 모듈, 2개의 CPU 및 CPU당 3개 채널 가정). 요약하면, RDIMM은 메모리 사용이 매우 낮은 애플리케이션에도 적합하고, 12GB 정도로 적은 용량에서 동작하는 서버에서는 고성능 솔루션이 된다.
결론
RDIMM은 엔터프라이즈 시스템에 유리한 몇 가지 큰 이점들을 갖추었다. RDIMM은 ECC UDIMM보다 4배 더 많은 메모리 용량을 제공하여 가상화된 고성능 클라우드 컴퓨팅 애플리케이션에서 서버 성능을 극대화한다. 더불어 RDIMM은 채널당 2개 이상의 DIMM 구성에 12 GB 정도의 소규모 메모리 용량을 사용하는 시스템에서도 ECC UDIMM보다 성능을 향상시킨다. 또한 이 모듈은 안정성을 높이고 다운타임, 서비스 시간 및 기업 데이터 손실을 최소화하여 DIMM의 총 소유 비용을 절감하는 방대한 RAS 기능 세트를 제공한다. 극대화된 성능과 방대한 RAS 기능 세트를 제공한다는 점에서, DDR3 레지스터가 내장된 RDIMM은 대부분의 엔터프라이즈 애플리케이션에서 우선 시 되는 서버 솔루션이다. ES
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>