DRAM의 역사에 대해 살펴보도록 하겠습니다. 첫 번째 DRAM은 잘 알려져 있다시피, 1966년 IBM의 Robert Dennard에 의해 발명되었습니다. 이후 1970년에 Intel에서 1103으로 이름 지어진 첫 번째 사용 DRAM을 출시하게 됩니다. 이후에는 다양한 목적과 종류의 DRAM이 꾸준히 개발되어 왔습니다. 하지만 1990년대 중반까지는 대부분 더 높은 집적도와 낮은 가격을 목표로 아키텍처가 개발되어왔습니다. 그 이후부터, 상용 DRAM은 좀 더 다양한 요구를 직면하게 됩니다. 이는 이 시기에 출시되는 개인용 컴퓨터나 전자기기의 발전을 생각해보면 당연한 일입니다. 그리하여 DRAM은 낮은 가격, 높은 대역폭, 낮은 지연시간(latency), 낮은 파워 소모 등 여러 목적에 부합하는 설계 방향으로 분화되었습니다.
우선 상용 DRAM의 큰 흐름을 살펴보자면, 초기의 Dynamic Random Access Memory에서 Fast Page Mode(FPM)을 거쳐 Extended data-out(EDO)와 (Burst-mode EDO), 그리고 Synchronous DRAM(SDRAM)의 제품을 거치게 됩니다. 이와 같은 발전 과정에서의 초점은 셀 당 단가 즉, 비용이었습니다. 상업적으로 성공한 DRAM 몇 가지를 살펴보겠습니다.
Intel 1103
이는 첫 번째 상업적으로 성공한 DRAM 디바이스입니다. 해당 디바이스는 상대적으로 낮은 비용으로 인하여 다양한 애플리케이션에서 사용되었기에, 당시에 주 메모리로 사용되던 마그네틱 코어 메모리를 빠르게 대체하기 시작했습니다. 대표적인 특징으로는 580ns의 row cycle time, 300ns의 random access time입니다. 셀 retention time은 2ms, refresh time 또한 2ms입니다. 또 한 가지 흥미로운 특징은, 현대의 DRAM이 양방향 입출력인 형태인 것에 반하여, 해당 디바이스는 단방향 입출력 형태로 설계되었습니다. 그리하여 메모리 컨트롤러가 읽기, 쓰기, 프로세스를 같은 어드레스에 대해서 동시에 수행할 수 있었습니다. 그리고 행 주소와 열 주소를 위해서 많은 핀이 할당되어 있었는데, 이후의 DRAM 디바이스에서는 일반적인 경우 행 주소와 열 주소 핀을 합하여서, 멀티플렉스 주소 핀으로 설계되었습니다. 또한, 전원 공급 장치도 매우 원초적인 장치로 구현되었는데, 해당 메모리의 biasing을 위한 독립적인 전원을 공급해야만 했습니다. 그러나 무엇보다 가장 큰 1103 DRAM의 특징은 단일 셀을 이루는데 필요한 트랜지스터의 개수가 3개라는 점입니다. 즉, 3T 1C의 구조로 설계되었습니다. 그리하여 셀을 읽은 후에, 해당 셀의 데이터는 보존되는 특성이 있었는데, 이로 인해 읽기 동작 이후에 셀의 값을 복원하는 과정이 필요하지 않았습니다. 한편, integrated address, latch, sense amplifier 등의 회로는 설계되지 않았습니다. 그렇기 때문에 이후의 다른 설계 방식의 DRAM에 비하여 더 많은 외부 회로가 필요했습니다.
비동기식 DRAM (Asynchronous DRAM)
1970년대 이후 다양한 제조사들에 의하여 다양한 아키텍처를 갖춘 DRAM들이 생산되었습니다. 이때 당시의 DRAM은 표준화라는 개념이 없었습니다. 또한 모든 제조사들이 각자의 디바이스를 발전해 나가는 형태로 제작할 뿐이었습니다. 예로써, 1103 이후의 Intel 2104 DRAM의 경우, 같은 주소 버스를 사용하기 위해 멀티플렉스 기능을 추가하여 행 주소와 열 주소를 접근하게 되었고, 2116 DRAM의 경우 첫 16k bit 메모리, 2118 DRAM의 경우 단일 5V 전압을 사용하는 첫 DRAM이라는 타이틀을 얻게 됩니다.
한편, 이때 당시 제조되던 대부분의 DRAM은 비동기 방식으로 제조되었습니다. 이유는 DRAM 디바이스 인터페이스에서 클럭과 드라이브되는 인터페이스의 거리가 멀었기 때문입니다. 그렇기에 비동기 커맨드와 데이터 타이밍 인터페이스가 주를 이루었습니다. 물론 동기식 DRAM 디바이스도 없었던 것은 아닙니다. 단지 시장의 대세가 비동기 방식으로 이루어진 DRAM이었을 뿐입니다. 이 비동기식 DRAM은 이전의 클럭 기반의 디바이스들과 같이 모든 액세스는 행을 활성화 이후 열 주소에 대한 액세스 단계를 거치게 되게끔 설계되었습니다. 그렇기에 설령 CPU가 이전의 데이터나 또는 같은 행에 있는 데이터를 요구하여도, 전체적인 행 활성화 동작과, 열 접근 프로세스가 반복되어야만 했습니다. 초기의 비동기식 DRAM은 데이터의 읽기 동작을 위해서 행 활성화 명령과 열 접근 명령이 필요했었습니다. 그렇기에, 임의의 어드레스를 접근하기 위해서, 2개의 어드레스로부터 데이터를 옮기기 위해서 2번의 전체적인 row cycle 시간이 소모되는 구조였습니다.
이와 같은 DRAM 디바이스의 출시 이후에 새로운 기능과 개선된 성능을 갖춘 새로운 디바이스들이 출현하게 됩니다. 바로 FPM DRAM과 EDO와 BEDO로 불리는 DRAM입니다. 해당 디바이스들이 등장함에 따라 DRAM 시장과 개인 컴퓨터 시장에도 많은 변화가 생기게 됩니다. 다음 글에서는 이러한 변화들과 함께 새로운 메모리에 추가된 기능과 설계 방식에 어떠한 차이점이 있었는지에 대하여 살펴보도록 하겠습니다.
-참고문헌-
- Memory Systems: Cache, DRAM and Cross-Cutting Issue, Bruce Jacob 외, Elsevier.
'DRAM' 카테고리의 다른 글
복잡한 DRAM 명령의 상호작용 - (3) Bank Interleave (0) | 2022.06.09 |
---|---|
복잡한 DRAM 명령의 상호작용 - (2) (0) | 2022.06.08 |
복잡한 DRAM 명령의 상호작용 - (1) (0) | 2022.06.06 |
댓글