버퍼 모듈
배경
메모리 시스템이 계속 발전함에 따라 메모리 시스템 대역폭은 보다 광범위한 메모리 시스템 버스와 더욱 빠른 핀당 신호 전달 속도를 사용하여 더 높은 수준으로 발전하고 있습니다. 컨트롤러 패키지 비용, 마더보드 라우팅의 복잡성과 시스템 공간 제한으로 인해 메모리 버스 폭을 추가로 늘리기가 어려우므로 메모리 시스템의 핀당 신호 전달 속도 개선이 더욱 중요하게 되었습니다.
개인용 컴퓨터 및 워크스테이션에서 사용되었던 기존 메모리 시스템의 경우 일반적으로 나중에 메모리 용량을 업그레이드하려면 다중 모듈이 지원되어야 합니다. 기존 메모리 버스는 데이터 버스 와이어당 2개 이상의 장치가 허용되는 멀티 드롭 토폴로지를 사용하여 다중 모듈을 지원하나 멀티 드롭 토폴로지는 데이터 버스 와이어당 여러 개의 장치를 지원하기 때문에 메모리 버스에 대한 용량성 부하가 증가합니다. 또한 다중 메모리 모듈을 지원하는 메모리 시스템은 긴 버스 와이어를 가질 수도 있어 이러한 긴 버스 와이어의 연관된 용량은 메모리 버스에 대한 용량성 부하를 추가로 증가시킵니다. 용량성 부하의 증가는 신호 무결성을 약화시키고 해당 메모리 시스템의 최대 신호 전달 속도를 제한합니다. 핀당 신호 전달 속도를 높이기 위해 메모리 버스는 길이가 더 짧아지고 모듈이 적어지는 추세가 되고 있습니다. 이러한 설계 방식을 통해 용량성 부하의 영향을 최소화시켜 신호 전달 속도를 증가시킬 수 있지만 메모리 용량과 지원되는 메모리 업그레이드의 수가 줄게 되었습니다.
버퍼 모듈의 개념
버퍼 모듈을 사용함으로써 메모리 버스의 용량성 부하를 줄여 메모리 버스 속도를 향상시킬 수 있습니다. 그러나 버스 길이와 지원되는 모듈 수를 제한하는 기존 방법과는 다르게 버퍼 모듈은 메모리 모듈 수를 늘려 고용량의 메모리를 지원합니다.

그림 1은 DDR SDRAM 및 DDR2 SDRAM을 지원하는 기존 메모리 시스템의 용량성 부하를 설명하고 있습니다. 그림 1에서는 데이터 버스 와이어가 여러 개의 용량성 부하를 가질 수 있다는 것을 보여줍니다. 데이터 버스 와이어마다 메모리 모듈당 최대 2개의 용량성 부하를 가질 수 있습니다(양면 모듈의 경우 모듈 전면의 DRAM에서 1개, 뒷면의 DRAM에서 1개). 메모리 버스에 지원되는 모듈 수가 늘어남에 따라 버스에 대한 잠재적인 용량성 부하도 증가합니다.

그림 2에서는 일부 모듈이 다른 모듈보다 메모리 컨트롤러에서 물리적으로 더 멀리 떨어져 있는 경우를 볼 수 있습니다. 높은 신호 전달 속도에서 메모리 컨트롤러로부터 멀리 떨어진 모듈은 보다 가까이 있는 모듈보다 액세스 지연 시간이 더 늘어납니다. 이러한 액세스 지연 시간의 차이 때문에 다른 모듈에 액세스하는 백투백 메모리 레퍼런스는 메모리 버스에 "버블"을 발생시켜 효율성이 감소됩니다. 효율성을 향상시키기 위해 메모리에 있는 모든 모듈의 액세스 지연 시간이 같아 지도록 지연을 다양하게 삽입하는 버퍼를 설계할 수 있습니다. 이렇게 함으로써 백투백 메모리 레퍼런스는 메모리 시스템의 효과적인 대역폭을 증가시키도록 파이프라인화될 수 있습니다.
또한 모듈 버퍼는 통합된 클록과 데이터 재생을 제공합니다. 신호는 메모리 버스를 따라 전달되므로 신호가 약화되며, 너무 약하게 될 경우 전송되는 정보가 손실될 수 있습니다. 모듈 버퍼는 클록 및 데이터 신호를 수신하여 원래 신호 전달 수준으로 증폭시켜 메모리 버스에서 신호 무결성을 향상시키는 편리한 메커니즘을 제공합니다.

모듈 버퍼를 통해 모듈 버퍼를 연결하는 버스(메모리 버스)와 모듈의 DRAM에 모듈 버퍼를 연결하는 버스(모듈 버스)에 서로 다른 버스 폭이 사용될 수 있습니다. 핀 수를 줄이고 라우팅 복잡성 또한 줄이며 마더보드의 라우팅 공간을 절약하기 위해 메모리 버스를 모듈 버스보다 더 좁힐 수 있습니다. 이런 시스템에서 메모리 버스의 대역폭이 모듈의 대역폭보다 크거나 같도록 하는 것이 바람직한데, 이는 메모리 버스가 모듈 버스보다 더 높은 주파수에서 동작한다는 것을 의미합니다. 서로 다른 폭과 작동 주파수를 가진 두 버스 사이에서 정보의 흐름을 관리하려면 모듈 버퍼는 직렬에서 병렬로의 전환과 병렬에서 직렬로 전환을 효율적으로 수행할 수 있어야 합니다.
이점
메모리 버스의 용량성 부하를 줄이고 DRAM을 모듈 버퍼로부터 전기적으로 분리함으로써 버스 속도가 증가할 수 있으며 핀당 신호 전달 속도를 향상시키고 메모리 버스 및 모듈 버스 모두에서 버스 대역폭을 늘릴 수 있습니다. 따라서 다음과 같은 다양한 대상이 버퍼 모듈을 사용하면 이점을 얻을 수 있습니다.
- 일반 사용자: DRAM을 메모리 버스에서 전기적으로 분리함으로써 용량성 부하가 감소합니다. 용량성 부하가 줄어들면 메모리 버스와 모듈 버스 모두에서 버스 속도가 더욱 빨라져 시스템 성능이 향상될 수 있습니다. 또한 버퍼 모듈을 통해 고용량 메모리 시스템이 높은 메모리 버스 속도에서 작동하도록 구축될 수 있는데, 이는 고성능 서버를 만들기 위한 필수적인 조합입니다.
- 컨트롤러 및 보드 설계자: 핀당 전송 속도를 높일 수 있어 버퍼 모듈을 통해 컨트롤러 설계자는 I/O 핀 수를 줄여 패키징 비용, 구성요소 수, 라우팅 영역과 라우팅 복잡성을 줄일 수 있습니다.
- 모듈 제조업체: 메모리 버스와 모듈 버스를 전기적으로 분리하여 모듈 버스를 더 짧게 만들 수 있습니다. 이러한 버스는 커넥터를 교차시킬 필요가 없어 모듈의 신호 무결성이 향상됩니다.
