기술자료실 | ATSRO

logo

기술자료실

SMT DDR Memory의 이해

페이지 정보

작성자 ATSRO 댓글 0건 조회 10,512회 작성일 19-10-11 14:00

본문

DDR Memory의 이해

만약 여러분들이 PC 시장의 사건들에 대해 유심히 들여다 본다면, 러분들은 종종 DDR2 라고 불리우는 말들을 확인할 수 있을 것이다. 물론 이 두 번째 세대가 이전 세대와 가지는 차이점외에도 이것이 가지는 장단점에 대해 실제적인 흥미가 있을 것이다. 그럼 왜 기업들이 이 메모리 유형으로의 변화를 원하고 있는가에 대해 알아보도록 한다.
이 글은 XbitLabs의 글에 기반을 두고 있다.


요즘들어 여러분들이 자주 접하게 되는 DDR2 라는 말은 DDR SDRAM(더블 데이터 레이트 싱크로너스 다이내믹 램덤 액세스 메모리 : Double Data Rate Synchronous Dynamic Random-Access memory :
두배의 데이터 효율을 가지는 동기화 DRAM)의 2세대 메모리 유형으로 이 새로운 메모리 유형을 지원하는 플랫폼들이 올해부터 출시되기 시작한다.
2005년이 되면 DDR2 메모리는 PC의 기본적인 형식으로 자리잡을 것이다. 현재의 프로세서들은 지원되는 메모리 만큼 거대한 덩치의 데이터들을 개걸스럽게 먹어 치운다. 이러한 처리과정은 CPU의 성능이 향상됨에 따라 그 끝을 알 수 없을 정도이다. 물론 메모리역시 프로세서를 위한 초당 데이터 분배를 보다 많이 해야 하는 것이 인지상정이다.
하지만 메모리 속도는 이러한 처리를 완벽하게 뒷받힘 해주기에 턱없이 부족하며, 이러한 문제의 해결을 위해 제기되는 보다 높은 메모리 대역폭이 DDR 2로의 이전을 앞당기고 있는 것이다. 어떠한 메모리의 성능을 계산하는 공식은 다음과 같다.


속도 = 대역폭 x 주파수 속도란 메모리 성능(MB/s:초당 MB), 메모리 버스의 폭(bit), 그리고 데이터 전송시의 주파수(MHz)를 통해 형성된다. 곧, 성능의 향상을 위해서는 메모리 버스의 증가나 메모리 구동 주파수의 증가 또는 이 둘의 동시적인 증가를 원하게 된다. 메모리를 제조하는 많은 기업들은 현재 DRAM 셀에 기반하고 있으며 보다 많은 트랜지스터와 캐패시터의 결합을 꾀하고 있다.  이들은 이런 과정의 일환으로 새로운 데이터 저장 기술을 몇몇 선보이고 있는데 이중에는 MRAM(매그네-토레시스티브 램 : Magnetoresistive RAM)을 비롯하여 FRAM(훼러일렉트릭 램 : Ferroelectric) 등이 있지만, 이들 메모리는 그리 성공을 거두지 못하고 있다.
현재는 가격과 속도 그리고 용량에 있어 이전의 DRAM 보다 나은 것이 없는 실정이다. 물론 여기에는 보다 빠른 모듈을 가지는 SRAM도 있지만 이들은 가격이 비싸고 그 크기가 크며, 용량이 작다. 

SDRAM (Synchronous Dynamic Random-Access Memory)동기화 동적 비순차적 접근 메모리

먼저, 지금은 사용되지 않는 SDRAM 의 동작 원리에 대해 생각해 보도록 한다. 사실 SDRAM은 셀들의 1차적인 배열로 이루어져 있으며, 입력과 출력 버퍼들과 전원/재생 전기회로로 구성되지만 이 최종적인 아이탬은 지금의 우리들에게 그리 중요치 않다. 세부분의 하부 구조는 모두 동기화되어 동일한 주파수로 구동된다. 여기서 "동기화(synchronous)"라는 말이 나오게 되었다.  이것의 주파수는 100MHz이며 버스의 폭은 64비트가 된다.
예로 메모리 데이터가 입출력 버퍼에서 메모리 컨트롤러로의 이동을 말해주는 것이다. 메모리 모듈 하나는 PC100 메모리로 잘 알려져 있으며, 대역폭은 800MB/s(100MHz x 8 또는 16비트) 이다. 데이터는 클럭 신호가 최대상승치일때 클럭당 한번 전송되며 버스상에서는 높은 신호로 받아 들여 진다. DDR (Double Data Rate SDRAM)이중 데이터률 SDRAM DDR 은 동일한 주파수의 SDRAM 에 비해 데이터 출력이 두배 빠른데서 비롯된 이름이다. 이는 클럭신호가 최대상승치와 최저하강치일때 전송하는 즉, 한번의 클럭 사이클로 두 번의 데이터를 전송하는 방식을 가진다.

그럼 이 데이터들은 어디서 가져오는 것일까? 바로 개발자들이 한가지 트릭을 사용하는 것이다.
메모리 셀들은 모두 같은 주파수를 가지지만, 셀들로부터 버퍼까지의 내부버스가 한클럭당 두 개의 데이터를 전송할 수 있을 만큼 넓다는 것으로 이는 데이터 전송율을 증폭시킬수 있는 여건을 제공하게 된다.  수치를 보도록 하자. 칲의 내부 버스는 32비트 이고 셀들의 배열은 100MHz 주파수로 동작을 한다. SDRAM의 경우 버퍼는 데이터를 32비트의 외부버스를 통해 100MHz 주파수로 전송을 하게 된다. 여기서 모든 배열의 데이터 흐름에는 변화가 없지만 데이터를 한번에 두 개의 칲으로부터 읽어지게 하면 이를 통한 모듈의 버스폭이 64비트가 된다는 것이다. 하지만 '버퍼에서 컨트롤러까지의 버스'는 '셀들로부터 버퍼'까지의 절반에 해당하는 버스폭을 가지므로 클럭당 데이터가 '셀들로부터 버퍼'까지는 두 번 전송이 되지만 '버퍼에서 컨트롤러'까지의 전송시에는 그 절반의 버스폭으로 인해 한번만 전송된다. 즉, 메모리 셀들이 가지는 한 개의 배열에서 데이터가 입출력 버퍼(또는 단계 증폭기)에 100MHz 의 내부 64비트 버스를 통해 높고 낮은 두 개의 신호로 보내지기는 하지만 데이터가 컨트롤러로 갈때 그 버스 크기는 2분의 1인 32비트이다. 그러나 데이터에서 컨틀롤러로 가는 버스의 동작 주파수는 200MHz로 두배 빠른 속도를 가지게 되며, DDR 에서 32비트 버스를 통과할 때에 신호는 두 번의 높은 신호로 인식되게 하고 있다. 이를 통해 데이터가 한번의 클럭에 있어 최대상승치와 최저하강치에서 두 번 전송되었다고 할때 SDRAM 에서는 높은 신호에서 데이터가 보내지므로, 결과적으로 DDR 에서의 데이터 전송률은 원상태의 메모리 셀들의 주파수가 두 번 높은 신호를 기록한 것과 같아지는 것이다. 여기서 우리들은 간단하면서도 분명한 질문을 가질 수 있다. 두배 느리지만 넓은 파이프에서의 데이터의 흐름은 느리지만 절반정도의 파이프에 두배의 속도를 가진다면 데이터의 흐름을 보다 빠르게 시작할 수 있을것인가? 컴퓨터 과학에는 이와 비슷한 "버노울리의 원리"가 있다. DDR 200 또는 PC 1600 으로 불리우는 메모리를 보도록 하자. DDR 은 DRAM 셀들의 배열에 따른 주파수입장에서 볼때 이중 데이터률을 말하는 것으로 200 이라는 수치는 동작 주파수 100MHz 를 말하는 것이다. 따라서 DDR 266 메모리의 DRAM 셀은 133MHz 로 동작, DDR 333 은 166MHz 로 동작, DDR 400 은 200MHz 로 동작을 한다. 현재의 DDR SDRAM 제품들은 그 동작 주파수가 550MHz(실제 동작은 275MHz)까지 도달 하였다.  하지만 근본적인 문제가 존재하는데 업체들은 DDR 메모리의 한계 주파수를 300MHz 로 두고 있다. DDR 테크널러지는 자체적인 성능면에서 더 이상의 여유가 없는 상태이다. 즉, 업체들은 현재의 DDR 메모리보다 높은 주파수와 성능을 제공하는 새로운 메모리 규격을 필요로 하게 되었다. 그 답으로 제시되는 것이 바로 DDR2 메모리인 것이다. DDR2 DDR2의 기본적인 원리는 위에서 언급한 DDR 메모리 부분을 잘 읽어 본다면 쉽게 이해 할 수 있을 것이다. DDR 과 마찬가지로 내부 뱅크의 데이터를 입출력 버퍼로 보낼때에는 그 흐름이 64비트 100MHz 의 내부 버스를 통하게 되어 있으며, 버퍼에서 컨트롤러까지는 빠르지만 그 폭이 좁은 32비트 200MHz 의 버스를 이용하게 된다. 이것이 바로 위에서 언급한 DDR 의 트릭이다. 메모리 셀들이 가지는 배열의 코어 주파수는 100MHz 로 동일하지만 SDR와의 비교에서 DDR의 경우 클럭이 동일한 100MHz 이며, 데이터 주파수가 200MHz 이다. 여기에 DDR2는 클럭이 200MHz 이며 데이터 주파수가 400MHz 이다.

만약 여러분들이 PC 시장의 사건들에 대해 유심히 들여다 본다면, 여러분들은 종종 DDR2 라고 불리우는 말들을 확인할 수 있을 것이다. 물론 이 두 번째 세대가 이전 세대와 가지는 차이점외에도 이것이 가지는 장단점에 대해 실제적인 흥미가 있을 것이다. 그럼 왜 기업들이 이 메모리 유형으로의 변화를 원하고 있는가에 대해 알아보도록 한다. 이 글은 XbitLabs의 글에 기반을 두고 있다. 요즘들어 여러분들이 자주 접하게 되는 DDR2 라는 말은 DDR SDRAM(더블 데이터 레이트 싱크로너스 다이내믹 램덤 액세스 메모리 : Double Data Rate Synchronous Dynamic Random-Access memory : 두배의 데이터 효율을 가지는 동기화 DRAM)의 2세대 메모리 유형으로 이 새로운 메모리 유형을 지원하는 플랫폼들이 올해부터 출시되기 시작한다. 2005년이 되면 DDR2 메모리는 PC의 기본적인 형식으로 자리잡을 것이다. 현재의 프로세서들은 지원되는 메모리 만큼 거대한 덩치의 데이터들을 개걸스럽게 먹어 치운다. 이러한 처리과정은 CPU의 성능이 향상됨에 따라 그 끝을 알 수 없을 정도이다. 물론 메모리역시 프로세서를 위한 초당 데이터 분배를 보다 많이 해야 하는 것이 인지상정이다. 하지만 메모리 속도는 이러한 처리를 완벽하게 뒷받힘 해주기에 턱없이 부족하며, 이러한 문제의 해결을 위해 제기되는 보다 높은 메모리 대역폭이 DDR 2로의 이전을 앞당기고 있는 것이다. 어떠한 메모리의 성능을 계산하는 공식은 다음과 같다.속도 = 대역폭 x 주파수 속도란 메모리 성능(MB/s:초당 MB), 메모리 버스의 폭(bit), 그리고 데이터 전송시의 주파수(MHz)를 통해 형성된다. 곧, 성능의 향상을 위해서는 메모리 버스의 증가나 메모리 구동 주파수의 증가 또는 이 둘의 동시적인 증가를 원하게 된다. 메모리를 제조하는 많은 기업들은 현재 DRAM 셀에 기반하고 있으며 보다 많은 트랜지스터와 캐패시터의 결합을 꾀하고 있다.  이들은 이런 과정의 일환으로 새로운 데이터 저장 기술을 몇몇 선보이고 있는데 이중에는 MRAM(매그네-토레시스티브 램 : Magnetoresistive RAM)을 비롯하여 FRAM(훼러일렉트릭 램 : Ferroelectric) 등이 있지만, 이들 메모리는 그리 성공을 거두지 못하고 있다. 현재는 가격과 속도 그리고 용량에 있어 이전의 DRAM 보다 나은 것이 없는 실정이다. 물론 여기에는 보다 빠른 모듈을 가지는 SRAM도 있지만 이들은 가격이 비싸고 그 크기가 크며, 용량이 작다.  SDRAM (Synchronous Dynamic Random-Access Memory)동기화 동적 비순차적 접근 메모리 먼저, 지금은 사용되지 않는 SDRAM 의 동작 원리에 대해 생각해 보도록 한다. 사실 SDRAM은 셀들의 1차적인 배열로 이루어져 있으며, 입력과 출력 버퍼들과 전원/재생 전기회로로 구성되지만 이 최종적인 아이탬은 지금의 우리들에게 그리 중요치 않다. 세부분의 하부 구조는 모두 동기화되어 동일한 주파수로 구동된다. 여기서 "동기화(synchronous)"라는 말이 나오게 되었다.  이것의 주파수는 100MHz이며 버스의 폭은 64비트가 된다. 예로 메모리 데이터가 입출력 버퍼에서 메모리 컨트롤러로의 이동을 말해주는 것이다. 메모리 모듈 하나는 PC100 메모리로 잘 알려져 있으며, 대역폭은 800MB/s(100MHz x 8 또는 16비트) 이다. 데이터는 클럭 신호가 최대상승치일때 클럭당 한번 전송되며 버스상에서는 높은 신호로 받아 들여 진다. DDR (Double Data Rate SDRAM)이중 데이터률 SDRAM DDR 은 동일한 주파수의 SDRAM 에 비해 데이터 출력이 두배 빠른데서 비롯된 이름이다. 이는 클럭신호가 최대상승치와 최저하강치일때 전송하는 즉, 한번의 클럭 사이클로 두 번의 데이터를 전송하는 방식을 가진다. 그럼 이 데이터들은 어디서 가져오는 것일까? 바로 개발자들이 한가지 트릭을 사용하는 것이다. 메모리 셀들은 모두 같은 주파수를 가지지만, 셀들로부터 버퍼까지의 내부버스가 한클럭당 두 개의 데이터를 전송할 수 있을 만큼 넓다는 것으로 이는 데이터 전송율을 증폭시킬수 있는 여건을 제공하게 된다.  수치를 보도록 하자. 칲의 내부 버스는 32비트 이고 셀들의 배열은 100MHz 주파수로 동작을 한다. SDRAM의 경우 버퍼는 데이터를 32비트의 외부버스를 통해 100MHz 주파수로 전송을 하게 된다. 여기서 모든 배열의 데이터 흐름에는 변화가 없지만 데이터를 한번에 두 개의 칲으로부터 읽어지게 하면 이를 통한 모듈의 버스폭이 64비트가 된다는 것이다. 하지만 '버퍼에서 컨트롤러까지의 버스'는 '셀들로부터 버퍼'까지의 절반에 해당하는 버스폭을 가지므로 클럭당 데이터가 '셀들로부터 버퍼'까지는 두 번 전송이 되지만 '버퍼에서 컨트롤러'까지의 전송시에는 그 절반의 버스폭으로 인해 한번만 전송된다. 즉, 메모리 셀들이 가지는 한 개의 배열에서 데이터가 입출력 버퍼(또는 단계 증폭기)에 100MHz 의 내부 64비트 버스를 통해 높고 낮은 두 개의 신호로 보내지기는 하지만 데이터가 컨트롤러로 갈때 그 버스 크기는 2분의 1인 32비트이다. 그러나 데이터에서 컨틀롤러로 가는 버스의 동작 주파수는 200MHz로 두배 빠른 속도를 가지게 되며, DDR 에서 32비트 버스를 통과할 때에 신호는 두 번의 높은 신호로 인식되게 하고 있다. 이를 통해 데이터가 한번의 클럭에 있어 최대상승치와 최저하강치에서 두 번 전송되었다고 할때 SDRAM 에서는 높은 신호에서 데이터가 보내지므로, 결과적으로 DDR 에서의 데이터 전송률은 원상태의 메모리 셀들의 주파수가 두 번 높은 신호를 기록한 것과 같아지는 것이다. 여기서 우리들은 간단하면서도 분명한 질문을 가질 수 있다. 두배 느리지만 넓은 파이프에서의 데이터의 흐름은 느리지만 절반정도의 파이프에 두배의 속도를 가진다면 데이터의 흐름을 보다 빠르게 시작할 수 있을것인가? 컴퓨터 과학에는 이와 비슷한 "버노울리의 원리"가 있다. DDR 200 또는 PC 1600 으로 불리우는 메모리를 보도록 하자. DDR 은 DRAM 셀들의 배열에 따른 주파수입장에서 볼때 이중 데이터률을 말하는 것으로 200 이라는 수치는 동작 주파수 100MHz 를 말하는 것이다. 따라서 DDR 266 메모리의 DRAM 셀은 133MHz 로 동작, DDR 333 은 166MHz 로 동작, DDR 400 은 200MHz 로 동작을 한다. 현재의 DDR SDRAM 제품들은 그 동작 주파수가 550MHz(실제 동작은 275MHz)까지 도달 하였다.  하지만 근본적인 문제가 존재하는데 업체들은 DDR 메모리의 한계 주파수를 300MHz 로 두고 있다. DDR 테크널러지는 자체적인 성능면에서 더 이상의 여유가 없는 상태이다. 즉, 업체들은 현재의 DDR 메모리보다 높은 주파수와 성능을 제공하는 새로운 메모리 규격을 필요로 하게 되었다. 그 답으로 제시되는 것이 바로 DDR2 메모리인 것이다. DDR2 DDR2의 기본적인 원리는 위에서 언급한 DDR 메모리 부분을 잘 읽어 본다면 쉽게 이해 할 수 있을 것이다. DDR 과 마찬가지로 내부 뱅크의 데이터를 입출력 버퍼로 보낼때에는 그 흐름이 64비트 100MHz 의 내부 버스를 통하게 되어 있으며, 버퍼에서 컨트롤러까지는 빠르지만 그 폭이 좁은 32비트 200MHz 의 버스를 이용하게 된다. 이것이 바로 위에서 언급한 DDR 의 트릭이다. 메모리 셀들이 가지는 배열의 코어 주파수는 100MHz 로 동일하지만 SDR와의 비교에서 DDR의 경우 클럭이 동일한 100MHz 이며, 데이터 주파수가 200MHz 이다. 여기에 DDR2는 클럭이 200MHz 이며 데이터 주파수가 400MHz 이다.  서로 다른 메모리들이 가지는 DRAM 셀들의 배열 주파수는 100MHz 이다. 멀티플렉스에 의해 각각의 메모리들의 셀들은 동일하게 낮은 주파수를 가지지만, 서로 다른 대역폭을 가지게 된다. 이것이 바로 DDR2가 DDR 로부터 구별되는 주요점인 것이다. DDR 과 DDR2 의 차이점은 바로 대역폭이다.  대역폭에서 봤을 때 중요한 특징은 레이턴시이다. 메모리 셀들은 재충전 과정을 가지므로 항상 살아있는(활성화되어 있는) 상태는 아니다. 하지만 만약 셀이 살아 있다해도 그 내용을 즉시 얻을 수 있는 것은 아닌데 가로 셀로 배열에 대한 주소의 설정을 포함하는 레이턴시의 서로 다른 유형들이 존재하게 되고 모든 메모리의 DRAM 셀은 근본적으로는 같지만, 여기서 레이턴시가 각각의 메모리 유형에 따라 본질적으로 다르기 때문이다. 모든 형식의 메모리들은 동일한 구조의 DRAM 셀을 가지지만 바로 이 레이턴시에서부터 그 차이를 가지게 된다. 만약 우리들이 셀의 배열을 2-2-2 클럭 조합으로 동작시킨다고 하자. 모든 유형의 배열들은 동일한 주파수로 동작을 하지만, 각 유형에(PC100, DDR200, DDR2-400 이던지) 따른 대역폭에서 역력한 차이를 가지게 된다.