이제 각각의 메모리의 구조를 알아보았으니 이렇게 다른 두가지 토폴로지가 어떤 장점과 단점을 갖는지 알아보자. 그리고 더욱 중요한 것은,
여기서 발견할 수 있는 한 기술의 장점이 얼마나 중요한지 평가해보는 것이다. 일부 “장점”은 오직 문서상에서만 존재하는 것 일수도
있으므로…
1. RDRAM의 구조적 장점 : 주소와 데이터가 동일하게 로드된다.
전에 언급했듯, RDRAM에서는 데이터와 주소가 같은 형식으로 로드된다. 둘 다 그림3에서 살펴본 지그재그 같은 전송로의 일부이다.
그러므로 각 데이터/주소선은 같은 양의 로드를 가지게 된다. 이때 이 로드 (=부하)는 메모리 서브시스템 내에 몇 개의 모듈이
존재하는지, 그리고 몇 개의 뱅크가 존재하는지에 따라 달라진다.
DDR SDRAM의 경우에는 완전히 다른 상황이 된다. 주소 버스의 부하는 데이터선의 그것과 다르게 걸린다. 우리의 그림을 예로 들자면,
8개의 칩을 가진 단면 DDR SDRAM에서는 어드레스 버스는 8개의 로드를 가지는 반면에 데이터 버스는 단 1개의 로드를 가진다.
이렇게 주소 버스와 데이터 버스의 로드가 다르게 걸린다는 점은 DDR SDRAM이 왜 166-200MHz정도의 클럭 밖에 갖지 못하는
가를 설명하는 부분적인 이유가 된다. 더욱 중요한 점은 데이터 버스의 부하는 DIMM이 몇 개의 면 (단면=1, 양면=2)을 가지느냐에
따라서도 달라진다는 것이다.
이러한 점은 지난 2002년 3월 우리가 고속 DDR 메모리의 문제점들을 지적한 것을 설명해주고 또한 근래에 우리가 겪었던 문제의 답도
제공해 주었다. 최근 우리는 DDR333을 지원하는 i845G메인보드들을 테스트했었는데, 처음에는 512M DDR333모듈 하나를 쓰고
진행했었다. 그러나 이후로 두 번째 512M DDR333을 쓴 상태로 DDR333모드로 작동시켰을 때는 보드들이 불안해지는 경향이 있었고
많은 벤치마크 프로그램에서 결과를 출력하기가 불가능해졌다.
두 번째로, 우리는 왜 DDR SDRAM의 주소 버스가 SDR (한 클럭 사이클에 한번 전송)로 작동하는지 그 이유를 알 수 있었다.
왜냐하면 DDR SDRAM의 어드레스 버스는 DDR로 작동하는 데이터 버스에 비해 이미 부하가 훨씬 심하기 때문이다. RDRAM의 경우,
어드레스 버스 역시 DDR로 작동한다.
성능이라는 측면에서 보면, 이것은 RDRAM에 별다른 도움이 되지 못한다. 하나의 행, 열 주소를 보낼 때 마다 우리는 32
(Burst길이=4cycle), 또는 64바이트 (Burst길이=8cycles)의 데이터를 받을 수 있는데, 대다수의 경우 데이터
대역폭이 주소 대역폭보다는 훨씬 중요하기 때문이다.
단 한가지 경우에만 주소 대역폭이 넓은 것이 도움이 되는데, 그것은 열려있는 페이지에 페이지 미스가 발생하면서 RAS, CAS,
Precharge 명령을 가지고 있는 경우이다. 물론 이런 경우에는 잘못된 정보는 센스앰프(sense amp)에 그대로 남아있기 때문에
반드시 먼저 비워져야 한다. 소프트웨어에 따라 다르지만 이런 경우는 페이지 히트와 Precharge없는 페이지 미스 보다 적게 발생한다.
대략적인 추정에 따르면 Precharge가 필요한 페이지미스는 시간 기준으로 5-20%정도 발생한다고 한다.
성능에서의 작은 이점을 떠나서 얘기해본다면, 주소 정보를 한 클럭당 2번 전송(DDR)하는 것은 어드레스선을 줄이는 효과가 있으며 따라서
메모리 콘트롤러에 들어가는 핀수를 줄일 수 있다.
여기서 간단하게 정리하자면, 이러한 RDRAM의 이점에 대해서 다음과 같은 평가를 내릴 수 있다.
- 고클럭화를 위해서는 대단히 중요하다. RDRAM으로 하여금 훨씬 더 높은 클럭스피드를 달성하도록 해준다.
- RDRAM이 데이터와 주소를 동시에 DDR로 전송하도록 해준다. 하지만 주소 정보를 DDR로 보내는 것은 성능에는 별 도움이 되지
않는다.
- 고속 DDR SDRAM의 경우, 양면 모듈을 2개 이상 쓸 경우 문제가 발생할 소지가 다분해진다. 안정성은 메인보드의 설계가 달렸다고
볼 수 있고 이것은 모든 메인보드가 일정하다고 할 수 없다.
2. RDRAM의 구조적 이점 : “스텁”이 짧다
RDRAM의 직렬 전송 구조의 이점은 신호가 메모리 칩들과 메모리 콘트롤러 사이에서 어떻게 움직이는가를 보면 분명해진다.
DDR SDRAM의 경우, 전송로(bus)가 모듈로 들어가고 그 다음 DRAM속으로 들어가지만 다시 나오지는 않는다. 전기적 신호가
메모리 콘트롤러를 떠나 SDRAM/DDR SDRAM채널을 따라 이동하다 보면 언젠가는 커넥터상에 존재하는 어떤 분기점에 다다르게 된다.
아래의 그림을 한번 살펴보면, 독자 여러분께서는 이 분기점이 2개의 통로로 구성되어 있다는 점을 아실 수 있다. 하나는 모듈과 DRAM칩
(DDR DIMM그림에 수직으로 표시된 오렌지색 화살표=이것이 “스텁”이다) 으로 들어가고 다른 하나는 메인보드 위를 따라 두 번째
커넥터 (수평으로 표시된 오렌지색 화살표) 로 이동한다. 여기서 스텁이란 선단이 단락된 임의의 전송로에 따라 주전송로를 측로 하는 경우
그 전송로를 스텁이라고 한다.
첫 번째 통로의 끝에는 용량성 부하가 존재하고 DRAM칩의 일부 (입력 리시버와 ESD) 가 있다. 여기서 발생하는 문제는 신호가
지나가는 통로에 존재하는 이 분기점이 결국엔 버스의 비연결성을 가져온다는 것이다. 그리고 이 비연결성은 버스 내부에서 신호 반사를
유발한다.
이러한 현상을 이해하기 위해서는 독자 여러분은 신호가 연결되지 않고 끊긴곳 (여기서는 분기점이 된다)에 다다르게 되면 일부의
에너지는 원래의 방향과 같은 방향으로 계속 진행하려 하지만 일부분은 왔던 방향으로 반사되어 나간다는 점을 알고 계셔야 한다. 채널상에
이렇게 여러 개의 끊김이 존재한다면 많은 양의 신호가 반사되어 이리저리 떠돌것이라는 것을 독자여러분들도 쉽게 짐작하실 수 있다. 이러한
현상은 큰 문제점들을 야기한다.
- 본래의 신호가 약해진다.
- 신호가 채널내에서 이리저리 반사되면 이러한 반사 신호는 DRAM과 메모리 콘트롤러로 전달된다. 이때 DRAM이나 메모리 콘트롤러가
어떤 데이터를 읽어나 쓰려고 하는 도중이라면, 이러한 반사 신호는 서로를 간섭하게 할 수 있다. 최악의 경우에는 DRAM으로 하여금
잘못된 전압을 받게 하여 데이터 에러를 일으킬 수 있다.
그러므로 이러한 반사 신호는 버스에 큰 문제를 일으킨다고 할 수 있다. DRAM을 보다 빠르게 동작시키려 할 경우 발생하는 큰 문제점
중의 하나가 바로 이러한 현상이다.
신호 무결성(Signal Integrity)을 유지하기 위해서는 본래의 신호를 의도한 DRAM에
도달할 때까지 충분히 강하게 유지시키는 것과 함께 반사되어 나오는 신호를 줄이고 약하게 하는 것이 중요하다. 신호가 빠르면 빠를수록,
중간에 끊김(Discontinuity)이 존재하는 것이 더 문제가 된다.
다음으로, “스텁”의 길이가 대단히 중요해진다. 스텁은 쉽게 말하자만 메인보드상에 수평으로 놓여있는 선으로부터 모듈에 붙어있는 DRAM칩
사이를 이어주는 연결선이라고 볼 수 있다. (위에서DDR DIMM을 표시한 그림에서 수직으로 그려져 있는 오렌지색 화살표) 이 스텁은
신호의 파장 보다 길다. 이것은 위에서 언급했던 “반사 신호 문제”를 더욱 악화시킨다.
신호 반사 현상을 줄이고 어느 정도 무디게 하게
위해 종결 레지스터 (Termination Resistor)를 쓰기도 하지만 반사 현상을 완전히 없애기란 매우 어렵다.
클럭 스피드가 빨라질수록 파장은 짧아진다. 그러므로 스텁의 길이에 대한 문제는 점점 더 부각되는데, 이것은 파장의 길이가 계속 짧아지기
떄문이다. 정리해보자면, 스텁이 길면 길수록, 그리고 클럭 스피드가 빠르면 빠를수록 신호 무결성은 악화 된다. 클럭 스피드를 어느정도
수준으로 유지시키면서 신호 품질도 괜찮은 수준으로 유지하려면 이 스텁은 최대한 짧게 만들어져야 한다.
RDRAM의 “지그재그식” 토폴로지는 이러한 “고속 상태에서 스텁이 신호를 반사시키는 문제”를 해결해준다. RDRAM 메모리
서브시스템에서의 스텁은 DDR SDRAM에서의 그것보다 훨씬 짧게 설계되어 있다. 왜 그런가? 왜냐하면 신호가 RDRAM채널을 따라 매우
가까이 붙어있는 RIMM의 칩과 칩 사이를 지나가기 때문이다. 그림 3에서 볼 수 있는 지그재그식 신호 전달 통로를 다시 보시면 이해가
빠르리라 본다.
그러므로, RDRAM시스템에서는 메인보드 선으로부터 커넥터를 통과하여 칩으로 연결되어 있는 선이 존재하지 않는다. 대신, RDRAM 다이
내부의 지그재그식 신호 통로만 존재할 뿐이다. 결과적으로 RDRAM 메모리 서브시스템에서의 스텁은 겨우 3mm에 불과하다.
반면 DDR
SDRAM시스템에서의 스텁은 최대 25mm가 될 수도 있다. RDRAM의 스텁이 이렇게 짧기 때문에 데이터 전송률은 높아질 수 있는
것이다.
그러나 이게 전부가 아니다. 그림 2와 3을 다시 보자. DDR SDRAM 토폴로지는 8개의 병렬 데이터 통로를 이용하는데 이 8비트짜리
데이터 통로는 2개나 3개정도의 단락된 (끊겨있는) 구간을 지나게 되는데 이중 하나는 DIMM모듈을 하나씩 쓸 때마다 생기는 것이다.
하지만 RDRAM의 경우에는 모든 칩이 같은 데이터 통로로 이어져 있다. 데이터 신호는 칩의 개수만큼 존재하는 스텁을 지나게 된다.
메모리 콘트롤러를 떠나서 이동하는 신호에게는 이 스텁이 비록 짧기는 할지라도 메모리 버스상에 존재하는 방해물처럼 여겨질 것이다. 이
지그재그식 통로에 되도록이면 많은 칩이 연결되는 것을 허용하기 위해 메모리 버스의 선이 이 방해물을 보정해준다. 이 선의 폭은 좁게
만들어져서 전기 저항 (Impedance)을 높이고 스텁의 용량성 부하에 생기는 저항은 줄여준다. 그러므로 DRAM칩이 메모리 버스에
연결되는 바로 그곳의 저항은 높아지는 것이다. 이것은 버스의 종결지점에서 발생하는 신호를 흡수해버려서 신호 반사 현상을 막아주는 것이다.
그럼에도 불구하고 버스상의 용량성 부하의 수는 어느 정도 제한될 필요가 있다. 칩과 스텁이 많아질수록, 용량성 부하는 늘어나게 된다.
그러므로 하나의 RDRAM채널은 32개의 칩으로 제한되어 있다. 하지만 한 개의 RDRAM 채널에 더 많은 메모리를 장착 할 수 있도록
메모리 리피터를 쓰는 것은 가능하다. i850칩셋의 경우 64개의 디바이스 (칩의 개수)를 지원할 수 있고 i860칩셋은 메모리 리피터를
써서 128개의 디바이스를 지원하는 것이 가능하다.
레지스터드 스택 32-디바이스 SDRAM
|
DDR SDRAM역시 실제 적용될 때에는 32개의 칩으로 제한된다. 하지만
“레지스터드 스택”형태의 DIMM을 써서 이 한계를 극복할 수 있다. 인텔의 i845E칩셋은 4개의 양면 DIMM을 지원할 수
있다. 각각의 양면 DIMM은 최대 16개의 칩이 달려있고 i845E는 32개 칩이 달려있는 모듈을 지원하지 않는다. VIA와
SiS의 칩셋은 최대 3개의 양면 DIMM (최대 48개의 칩)을 지원하고 있다. |
여기서 이러한 RDRAM의 장점에 대해 평가를 내리고 넘어가겠다.
- 클럭 스피드를 높이기 위해서 매우 중요하다. RDRAM의 이러한 구조는 신호 반사없이 고클럭을 달성하게 해준다.
3. DDR SDRAM의 이점 : 메모리 콘트롤러로부터 가장 멀리 있는 메모리 칩까지의 거리가 항상 훨씬 짧다. 지금까지 RDRAM의 직렬 구조가 가지는 장점만을 살펴보았다. 그러나 이러한 토폴로지는 대단히 큰 불리한 점을 가지고 있다. RDRAM에서는
신호가 가장 멀리있는 DRAM칩까지 도달하기 위해서는 최대 25cm가량을 이동해야 한다. 반면 DDR SDRAM에서 “가장 멀리 있는
칩”이란 간단하게 가장 멀리 있는 모듈상에 달려있는 모든 칩이다. 그러므로 DDR SDRAM의 토폴로지에서 가장 가까운 칩과 가장 멀리
떨어져 있는 칩간의 반응 속도의 차는 매우 작다. 그러나 RDRAM의 그것은 매우 길 수밖에 없다. 전기적 신호는 1 나노 초당 약
14cm를 진행하는데, 거리차가 크다면 문제가 될 소지가 다분하다. 처음에 어드레스 신호가 25cm를 진행하여 가장 멀리 떨어져 있는
칩으로 가야하고 그 칩이 올바른 데이터를 보내오면 다시 25cm를 돌아와야 한다. 533MHz(PC1066)에서는 클럭 신호가 겨우
1.88ns에 불과하므로, 모든 칩이 최대한 빠르게 반응한다면 데이터는 순서가 서로 어긋나서 도착될 수도 있다.
이렇게 큰 반응시간차는 꼭 보정되어야 한다. 그러기 위해서 메모리 콘트롤러는 각 메모리칩마다 추가적인 레이턴시 (TPARM이라고 한다)를
배정한다. 메모리 칩이 메모리 콘트롤러로부터 가까울수록 이 레이턴시는 커진다. 결과적으로 RDRAM메모리 서브시스템상에 존재하는 모든
칩은 가장 멀리 있는 칩만큼 빠르거나 또는 느리게 되는 것이다.
이러한 이유로, RDRAM시스템의 평균적인 레이턴시는 DDR SDRAM보다
약간 높게 나타나는 것이다.
여기서의 평가
- 레이턴시를 위해서 중요하다. 긴 RDRAM채널은 DDR SDRAM 메모리 서브시스템보다 높은 레이턴시를 갖게 된다.
|