동적 램

섬네일|1990년 넥스트큐브 컴퓨터의 메인보드로 64 MiB의 메인 메모리 DRAM(왼쪽 상단)과 256 KiB의 VRAM(하단 중앙 우측)이 있다.

동적 랜덤 액세스 메모리(Dynamic random-access memory), 동적 RAM(動的 RAM, 순화어: 동적 막기억장치) 또는 디램(DRAM)은 랜덤 액세스 반도체 메모리의 일종으로, 각 비트 데이터를 일반적으로 작은 축전기와 트랜지스터로 구성된 메모리 셀에 저장하며, 둘 다 일반적으로 MOS 기술을 기반으로 한다. 대부분의 DRAM 메모리 셀 설계는 축전기와 트랜지스터를 사용하지만, 일부는 두 개의 트랜지스터만 사용한다. 축전기가 사용되는 설계에서는 축전기가 충전되거나 방전될 수 있으며, 이 두 가지 상태는 비트의 두 가지 값(일반적으로 0과 1)을 나타낸다. 축전기의 전하는 점차 누설되므로, 개입하지 않으면 축전기의 데이터는 곧 손실된다. 이를 방지하기 위해 DRAM은 축전기의 데이터를 주기적으로 다시 쓰는 외부 메모리 리프레시 회로가 필요하며, 원래의 전하로 복원한다. 이 리프레시 프로세스는 데이터 갱신을 요구하지 않는 SRAM과 대조적으로 동적 랜덤 액세스 메모리의 특징이다. 플래시 메모리와 달리 DRAM은 전원이 제거되면 데이터를 빠르게 잃기 때문에 휘발성 메모리이다. 그러나 DRAM은 제한적인 데이터 잔류 현상을 보인다.

DRAM은 일반적으로 수십억 개의 DRAM 메모리 셀로 구성될 수 있는 집적 회로 칩의 형태를 취한다. DRAM 칩은 저렴하고 고용량의 컴퓨터 메모리가 필요한 디지털 전자제품에 널리 사용된다. DRAM의 가장 큰 응용 분야 중 하나는 현대 컴퓨터와 그래픽 카드(그래픽 메모리라고 불리는 메인 메모리)의 주기억장치(통상 RAM이라고 불림)이다. 또한 많은 휴대용 장치 및 비디오 게임 콘솔에도 사용된다. 반면, DRAM보다 빠르고 비싼 SRAM은 프로세서의 캐시 메모리와 같이 비용과 크기보다 속도가 더 중요한 곳에 주로 사용된다.

DRAM을 새로고침해야 하는 필요성은 SRAM보다 더 복잡한 회로와 타이밍을 요구한다. 이러한 복잡성은 DRAM 메모리 셀의 구조적 단순성으로 상쇄된다. SRAM에서는 비트당 4~6개의 트랜지스터가 필요한 반면, DRAM은 비트당 하나의 트랜지스터와 하나의 커패시터만 필요하다. 이를 통해 DRAM은 비트당 비용을 동시에 절감하면서 매우 높은 밀도를 달성할 수 있다. 데이터를 새로고침하는 데 전력이 소모되므로, 전체 전력 소비를 관리하기 위해 다양한 기술이 사용된다. 이러한 이유로 DRAM은 일반적으로 메모리 컨트롤러와 함께 작동해야 하며, 메모리 컨트롤러는 DRAM 매개변수, 특히 메모리 타이밍을 알아야 DRAM을 초기화할 수 있으며, 이는 DRAM 제조업체 및 부품 번호에 따라 달라질 수 있다.

DRAM은 2017년에 비트당 가격이 47% 상승했는데, 이는 1988년 45% 상승 이후 30년 만에 가장 큰 폭의 상승이었으며, 최근 몇 년간 가격은 하락세를 보이고 있다. 2018년에는 "DRAM 시장의 주요 특징은 현재 마이크론 테크놀로지, SK하이닉스, 삼성전자 세 주요 공급업체만 존재하며" 이들이 "생산 능력을 상당히 엄격하게 통제하고 있다"는 점이었다. 또한 DRAM을 제조하지는 않지만 키옥시아(2017년 스핀오프 후 이전에는 도시바 메모리 코퍼레이션)도 있다. 킹스톤 테크놀로지와 같이 DIMM을 만들고 판매하는(하지만 DRAM 칩은 만들지 않는) 다른 제조업체들과, 가장 빠른 엑사스케일 슈퍼컴퓨터 등에 사용되는 스택 DRAM을 별도로 판매하는 바이킹 테크놀로지와 같은 제조업체들도 있다. 후지쯔가 CPU에, AMD가 GPU에, 엔비디아가 일부 GPU 칩에 HBM2를 통합하여 판매하는 등 다른 제품에 통합하여 판매하는 경우도 있다.

역사

선구자
섬네일|upright=1.6|1968년 특허를 받은 오리지널 1트랜지스터, 1커패시터 NMOS DRAM 셀의 단면도를 보여주는 회로도.

제2차 세계 대전 중 블레츨리 파크에서 사용된 암호해독기 아쿠아리우스(Aquarius)는 하드 와이어드 동적 메모리를 통합했다. 종이 테이프를 읽고 그 위에 있는 문자들이 "동적 저장소에 기억되었다." 이 저장소는 대규모 커패시터 뱅크를 사용했는데, 커패시터는 충전되거나 충전되지 않은 상태였으며, 충전된 커패시터는 크로스(1)를, 충전되지 않은 커패시터는 점(0)을 나타냈다. 전하가 점차 누설되었기 때문에, 충전된 커패시터에 주기적인 펄스가 가해져 전하를 보충했다(이것이 '동적'이라는 용어의 유래)".

1965년 11월, 도시바는 자사의 전자 계산기 토스칼 BC-1411에 바이폴라 동적 RAM을 도입했다. 1966년, 도시바의 요시마루 토모히사(Tomohisa Yoshimaru)와 코미카와 히로시(Hiroshi Komikawa)는 여러 트랜지스터와 축전기로 구성된 메모리 회로에 대한 일본 특허를 출원했고, 1967년에는 미국 특허를 출원했다.

위에 언급된 초기 형태의 DRAM은 바이폴라 트랜지스터를 사용했다. 이는 자기코어 메모리보다 향상된 성능을 제공했지만, 바이폴라 DRAM은 당시 지배적이었던 자기코어 메모리의 낮은 가격과 경쟁할 수 없었다. 커패시터는 아타나소프-베리 컴퓨터의 드럼, 윌리엄스관, 셀렉트론 튜브와 같은 이전 메모리 방식에도 사용되었다.

단일 MOS DRAM
1966년, 로버트 데나드 박사는 IBM 토머스 J. 왓슨 연구 센터에서 MOS 메모리 연구 중 데이터 비트당 6개의 MOS 트랜지스터가 필요한 SRAM의 대안을 개발하던 중, MOS 커패시터당 하나의 MOS 트랜지스터를 사용하는 현대적인 DRAM 아키텍처를 발명했다. 그는 MOS 기술의 특성을 조사하면서 커패시터를 만들 수 있고, MOS 커패시터에 전하를 저장하거나 저장하지 않는 것이 비트의 1과 0을 나타낼 수 있으며, MOS 트랜지스터가 커패시터에 전하를 쓰는 것을 제어할 수 있음을 발견했다. 이는 단일 트랜지스터 MOS DRAM 메모리 셀 개발로 이어졌다. 그는 1967년 특허를 출원했고, 1968년 미국 특허 번호 3,387,286을 획득했다. MOS 메모리는 자기코어 메모리보다 높은 성능, 저렴한 가격, 낮은 전력 소비를 제공했다. 특허는 "각 셀은 한 실시예에서 단일 전계 효과 트랜지스터와 단일 커패시터를 사용하여 형성된다"고 발명을 설명한다.

MOS DRAM 칩은 1969년 서니베일의 Advanced Memory Systems, Inc에 의해 상용화되었다. 이 1024비트 칩은 허니웰, 레이시온, 왕 연구소 등에 판매되었다.
같은 해, 허니웰은 인텔에 그들이 개발한 3-트랜지스터 셀을 사용하여 DRAM을 만들도록 요청했다. 이것이 1970년 초에 인텔 1102가 되었다. 그러나 1102에는 많은 문제가 있었고, 이로 인해 인텔은 허니웰과의 충돌을 피하기 위해 비밀리에 자체 개선된 설계를 개발하기 시작했다. 이것이 인텔 1103이 되었으며, 1970년 10월에 첫 상업용 DRAM으로 출시되었지만, 마스크의 5차 수정까지 낮은 수율 문제를 겪었다. 1103은 조엘 카프가 설계하고 팻 이어하트가 레이아웃했다. 마스크는 바바라 매니스와 주디 가르시아가 제작했다. 1970년대 초 MOS 메모리는 자기코어 메모리를 제치고 지배적인 메모리 기술이 되었다.

주소 라인의 행과 열이 다중화된 최초의 DRAM은 로버트 프로브스팅이 설계하고 1973년에 출시된 모스텍 MK4096 4K비트 DRAM이었다. 이 주소 지정 방식은 동일한 주소 핀을 사용하여 참조되는 메모리 셀 주소의 낮은 절반과 높은 절반을 수신하며, 두 절반 사이를 번갈아 가며 버스 주기에서 전환한다. 이는 필요한 주소 라인 수를 효과적으로 절반으로 줄여주어 더 적은 핀으로 패키지에 맞출 수 있게 한 혁신적인 발전이었으며, 이는 메모리 크기가 증가할 때마다 비용 이점을 더욱 키웠다. MK4096은 고객 애플리케이션에서 매우 견고한 설계임이 입증되었다. 16K비트 밀도에서는 비용 이점이 더욱 커졌으며, 1976년에 출시된 16K비트 모스텍 MK4116 DRAM은 전 세계 DRAM 시장 점유율 75% 이상을 달성했다. 그러나 1980년대 초 64K비트 밀도로 증가하면서 모스텍과 다른 미국 제조업체들은 일본 DRAM 제조업체들에게 추월당했으며, 이들은 1980년대와 1990년대 동안 미국 및 전 세계 시장을 지배했다.

1985년 초, 고든 무어는 인텔의 DRAM 생산을 중단하기로 결정했다.
1986년까지 많은 미국 칩 제조업체들이 DRAM 생산을 중단했지만 전부는 아니었다. 마이크론 테크놀로지(Micron Technology)와 텍사스 인스트루먼트(Texas Instruments)는 상업적으로 계속 생산했고, IBM은 내부용으로 생산했다.

1985년, 64K DRAM 메모리 칩이 컴퓨터에 가장 흔하게 사용되던 시기였고, 그 칩의 60% 이상이 일본 기업에 의해 생산되던 때, 미국의 반도체 제조업체들은 일본 기업들이 상품 메모리 칩 사업에서 미국 제조업체들을 몰아내기 위해 수출 덤핑을 한다고 비난했다. 64K 제품의 가격은 18개월 내에 개당 3.50달러에서 35센트까지 폭락하여 일부 미국 기업에 재앙적인 재정적 결과를 초래했다. 1985년 12월 4일, 미국 상무부의 국제무역청은 이 불만에 대해 유리한 판결을 내렸다.

SDRAM은 삼성에서 개발되었다. 최초의 상용 SDRAM 칩은 1992년에 출시된 삼성 KM48SL2000으로, 용량은 16Mb이었다. 최초의 상업용 DDR SDRAM(더블 데이터 레이트 SDRAM) 메모리 칩은 1998년에 출시된 삼성의 64Mb DDR SDRAM 칩이었다.

이후 2001년, 일본 DRAM 제조업체들은 한국 DRAM 제조업체들을 덤핑 혐의로 비난했다.

2002년, 미국 컴퓨터 제조업체들은 DRAM 가격 담합에 대한 주장을 제기했다.

원리
섬네일|250px|간단한 4 4 DRAM 어레이를 읽는 동작 원리
섬네일|250px|DRAM 셀 배열의 기본 구조
DRAM은 일반적으로 각 데이터 비트당 하나의 축전기와 트랜지스터로 구성된 전하 저장 셀의 직사각형 배열로 구성된다. 오른쪽 그림은 4x4 셀 매트릭스의 간단한 예를 보여준다. 일부 DRAM 매트릭스는 수천 개의 셀이 높이와 너비로 구성된다.

각 행을 연결하는 긴 수평선은 워드라인으로 알려져 있다. 각 셀 열은 두 개의 비트라인으로 구성되며, 각 비트라인은 열의 다른 저장 셀에 연결된다(오른쪽 그림에는 이 중요한 세부 사항이 포함되어 있지 않다). 이들은 일반적으로 + 및 - 비트라인으로 알려져 있다.

감지 증폭기는 본질적으로 비트라인 사이에 교차 연결된 인버터 쌍이다. 첫 번째 인버터는 + 비트라인에서 입력이 연결되고 - 비트라인으로 출력이 연결된다. 두 번째 인버터의 입력은 - 비트라인에서 오고 + 비트라인으로 출력이 연결된다. 이로 인해 한 비트라인이 완전히 최고 전압에 도달하고 다른 비트라인이 가능한 최저 전압에 도달한 후 안정화되는 양성 되먹임이 발생한다.

DRAM 저장 셀에서 데이터 비트를 읽는 작업
 감지 증폭기가 분리된다.
 비트라인은 고(high) 및 저(low) 논리 레벨(예: 두 레벨이 0과 1V일 때 0.5V) 사이의 정확히 동일한 전압으로 사전 충전된다. 비트라인은 정전 용량을 동일하게 유지하기 위해 물리적으로 대칭이며, 따라서 이 시점에서 전압이 동일하다.
 사전충전 회로가 꺼진다. 비트라인이 상대적으로 길기 때문에 사전충전된 전압을 잠시 유지할 수 있는 충분한 정전 용량을 가지고 있다. 이것은 동적 논리의 예이다.
 그런 다음 원하는 행의 워드라인을 높게 구동하여 셀의 저장 커패시터를 비트라인에 연결한다. 이로 인해 트랜지스터가 전도되어 저장 셀에서 연결된 비트라인으로 전하를 전달하거나(저장된 값이 1인 경우) 연결된 비트라인에서 저장 셀로 전하를 전달한다(저장된 값이 0인 경우). 비트라인의 정전 용량은 일반적으로 저장 셀의 정전 용량보다 훨씬 크기 때문에, 저장 셀의 커패시터가 방전되면 비트라인의 전압이 아주 약간 증가하고 저장 셀이 충전되면 아주 약간 감소한다(예: 두 경우에 0.54V 및 0.45V). 다른 비트라인은 0.50V를 유지하므로, 두 개의 꼬인 비트라인 사이에 작은 전압 차이가 발생한다.
 감지 증폭기가 이제 비트라인 쌍에 연결된다. 그런 다음 교차 연결된 인버터에서 양성 피드백이 발생하여 특정 열의 홀수 및 짝수 행 비트라인 사이의 작은 전압 차이를 증폭시켜 한 비트라인이 완전히 최저 전압에 도달하고 다른 비트라인이 최대 고전압에 도달할 때까지 증폭시킨다. 이렇게 되면 행이 열린 상태가 된다(원하는 셀 데이터 사용 가능).
 열린 행의 모든 저장 셀은 동시에 감지되며, 감지 증폭기 출력은 래치된다. 그런 다음 열 주소가 외부 데이터 버스에 연결할 래치 비트를 선택한다. 열린 행의 경우 모든 데이터가 이미 감지되고 래치되었으므로, 동일한 행의 다른 열에 대한 읽기는 행 열기 지연 없이 수행할 수 있다.
 열린 행에서 열 읽기가 진행되는 동안, 감지 증폭기의 출력으로부터 비트라인으로 전류가 다시 흐르면서 저장 셀을 재충전한다. 이는 저장된 값이 1이면 저장 커패시터의 전압을 높여 저장 셀의 전하를 강화(즉, 새로고침)하거나, 저장된 값이 0이면 방전 상태를 유지한다. 비트라인의 길이를 고려하면 전하가 셀의 커패시터로 다시 전달되는 데 상당히 긴 전파 지연이 발생한다. 이는 감지 증폭이 끝난 후 상당한 시간이 걸리며, 따라서 하나 이상의 열 읽기와 겹친다.
 현재 열린 행의 모든 열 읽기가 완료되면, 워드라인이 꺼져 저장 셀 커패시터(행이 닫힘)가 비트라인에서 분리된다. 감지 증폭기가 꺼지고 비트라인이 다시 사전 충전된다.

메모리에 쓰기
섬네일|250px|right|DRAM 셀에 쓰기

데이터를 저장하려면 행을 열고 주어진 열의 감지 증폭기를 일시적으로 원하는 높은 또는 낮은 전압 상태로 강제하여, 비트라인이 셀 저장 커패시터를 원하는 값으로 충전하거나 방전하게 한다. 감지 증폭기의 양성 피드백 구성으로 인해, 강제 전압이 제거된 후에도 비트라인을 안정적인 전압으로 유지한다. 특정 셀에 쓸 때, 읽을 때와 마찬가지로 한 행의 모든 열이 동시에 감지되므로, 단일 열의 저장 셀 커패시터 전하만 변경되더라도 전체 행이 새로고침된다(다시 기록됨). 이는 오른쪽 그림에 나와 있다.

새로고침 속도

일반적으로 제조업체는 JEDEC 표준에 따라 각 행을 64ms 이내로 새로고침해야 한다고 명시한다.

일부 시스템은 64ms 간격으로 모든 행을 포함하는 활동의 버스트에서 각 행을 새로고침한다. 다른 시스템은 64ms 간격 동안 한 번에 한 행씩 새로고침한다. 예를 들어, 213 = 8,192행을 가진 시스템은 64ms를 8,192행으로 나눈 7.8μs마다 한 행씩 지연된 새로고침 속도가 필요하다. 일부 실시간 시스템은 비디오 장비에서 10-20ms마다 발생하는 수직 귀선 기간과 같이 시스템의 나머지 동작을 제어하는 외부 타이머 기능에 의해 결정되는 시간에 메모리의 일부를 새로고침한다.

다음에 새로고침될 행의 행 주소는 외부 논리 또는 DRAM 내의 계수기에 의해 유지된다. 행 주소(및 새로고침 명령)를 제공하는 시스템은 언제 새로고침하고 어떤 행을 새로고침할지에 대해 더 큰 제어권을 갖기 위해 그렇게 한다. 이는 메모리 액세스 패턴과 DRAM의 새로고침 요구 사항에 대한 지식을 모두 가지고 있기 때문에 메모리 액세스와의 충돌을 최소화하기 위함이다. DRAM 내부의 카운터에 의해 행 주소가 제공될 때, 시스템은 새로고침되는 행에 대한 제어권을 포기하고 새로고침 명령만 제공한다. 일부 최신 DRAM은 자체 새로고침이 가능하며, DRAM에 새로고침을 지시하거나 행 주소를 제공하는 데 외부 논리가 필요하지 않다.

일부 조건에서는 DRAM이 몇 분 동안 새로고침되지 않았더라도 DRAM에 있는 대부분의 데이터를 복구할 수 있다.

메모리 타이밍

DRAM 동작의 타이밍을 완전히 설명하려면 많은 매개변수가 필요하다. 다음은 1998년에 발표된 데이터 시트에서 가져온 비동기 DRAM의 두 가지 타이밍 등급에 대한 몇 가지 예이다.

+ 비동기 DRAM 일반 타이밍"50 ns""60 ns"설명tRC84 ns104 ns무작위 읽기 또는 쓰기 주기 시간(한 RAS 주기에서 다른 RAS 주기까지)tRAC50 ns60 ns접근 시간: /RAS Low에서 유효 데이터 출력까지tRCD11 ns14 ns/RAS Low에서 /CAS Low까지의 시간tRAS50 ns60 ns/RAS 펄스 폭(최소 /RAS Low 시간)tRP30 ns40 ns/RAS 프리차지 시간(최소 /RAS High 시간)tPC20 ns25 ns페이지 모드 읽기 또는 쓰기 주기 시간(/CAS에서 /CAS까지)tAA25 ns30 ns접근 시간: 열 주소 유효에서 유효 데이터 출력까지(CAS Low 전 주소 셋업 시간 포함)tCAC13 ns15 ns접근 시간: /CAS Low에서 유효 데이터 출력까지tCAS8 ns10 ns/CAS Low 펄스 폭 최소
따라서 일반적으로 인용되는 숫자는 /RAS Low에서 유효 데이터 출력까지의 시간이다. 이는 행을 열고, 감지 증폭기를 안정화하며, 선택된 열 데이터를 출력으로 전달하는 시간이다. 또한 이는 최소 /RAS Low 시간으로, 증폭된 데이터가 셀을 재충전하기 위해 다시 전달되는 시간을 포함한다. 열린 페이지에서 추가 비트를 읽는 시간은 /CAS 대 /CAS 주기 시간으로 정의되며 훨씬 짧다. 인용된 숫자는 행 길이 또는 페이지 크기에 관계없이 더 느린 한계를 설정하므로 다른 DRAM 메모리 성능을 비교하는 가장 명확한 방법이다. 더 큰 배열은 필연적으로 더 큰 비트라인 정전 용량과 더 긴 전파 지연을 초래하며, 이는 감지 증폭기 안정화 시간이 정전 용량과 전파 대기 시간 모두에 의존하므로 이 시간을 증가시킨다. 이는 현대 DRAM 칩에서 단일 칩 내에 더 많은 완전한 DRAM 배열을 통합하여 너무 느려지지 않으면서 더 많은 용량을 수용하는 방식으로 상쇄된다.

클럭 방식 로직으로 이러한 RAM에 접근할 때, 시간은 일반적으로 가장 가까운 클럭 주기로 반올림된다. 예를 들어, 100MHz 상태 기계(즉, 10ns 클럭)로 접근할 때, 50ns DRAM은 첫 번째 읽기를 5클럭 주기에 수행할 수 있고, 같은 페이지 내의 추가 읽기는 2클럭 주기마다 수행할 수 있다. 이는 일반적으로  타이밍으로 설명되었는데, 페이지 내에서 4개의 읽기 버스트가 일반적이었기 때문이다.

동기 메모리를 설명할 때, 타이밍은 하이픈으로 구분된 클럭 주기 수로 설명된다. 이 숫자는 DRAM 클럭 주기 시간의 배수로 를 나타낸다. 더블 데이터 레이트 신호가 사용될 때, 이는 데이터 전송 속도의 절반임을 유의하라. JEDEC 표준 PC3200 타이밍은 200MHz 클럭에서 인 반면, 프리미엄 가격의 고성능 PC3200 DDR DRAM DIMM은  타이밍으로 작동될 수 있다.
+ 동기 DRAM 일반 타이밍 PC-3200 (DDR-400)PC2-6400 (DDR2-800)PC3-12800 (DDR3-1600)설명사이클시간사이클시간사이클시간tCLTypical315 ns512.5 ns911.25 ns/CAS Low에서 유효 데이터 출력까지(tCAC와 동일)Fast210 ns410 ns810 nstRCDTypical420 ns512.5 ns911.25 ns/RAS Low에서 /CAS Low까지의 시간Fast210 ns410 ns810 nstRPTypical420 ns512.5 ns911.25 ns/RAS 프리차지 시간(최소 프리차지에서 활성화까지의 시간)Fast210 ns410 ns810 nstRASTypical840 ns1640 ns2733.75 ns행 활성화 시간(최소 활성화에서 프리차지까지의 시간)Fast525 ns1230 ns2430 ns
최소 랜덤 액세스 시간은 tRAC = 50 ns에서 로 향상되었고, 프리미엄 20 ns 버전조차도 비동기 DRAM보다 2.5배만 빠르다. CAS 레이턴시는 에서 10 ns로 더욱 적게 향상되었다. 그러나 DDR3 메모리는 내부 파이프라인과 넓은 데이터 경로 덕분에 1.25 ns마다 두 단어를 출력할 수 있어 32배 더 높은 대역폭을 달성한다 , 반면 EDO DRAM은 tPC = 20 ns(50 Mword/s)마다 한 단어를 출력할 수 있다.

타이밍 약어
tCL – CAS 레이턴시
tCR – 명령 속도
tPTP – 프리차지-프리차지 지연
tRAS – RAS 활성화 시간
tRCD – RAS-CAS 지연
tREF – 새로고침 주기
tRFC – 행 새로고침 주기 시간
tRP – RAS 프리차지tRRD – RAS-RAS 지연
tRTP – 읽기-프리차지 지연
tRTR – 읽기-읽기 지연
tRTW – 읽기-쓰기 지연
tWR – 쓰기 복구 시간
tWTP – 쓰기-프리차지 지연
tWTR – 쓰기-읽기 지연
tWTW – 쓰기-쓰기 지연

메모리 셀 설계

DRAM의 각 데이터 비트는 용량성 구조 내에 양전하 또는 음전하로 저장된다. 용량성을 제공하는 구조와 이에 대한 접근을 제어하는 트랜지스터를 통칭하여 DRAM 셀이라고 한다. 이들은 DRAM 배열의 기본 빌딩 블록이다. 여러 DRAM 메모리 셀 변형이 존재하지만, 현대 DRAM에서 가장 일반적으로 사용되는 변형은 1개의 트랜지스터와 1개의 커패시터(1T1C) 셀이다. 트랜지스터는 쓰기 시 커패시터로 전류를 흘려보내고 읽기 시 커패시터를 방전하는 데 사용된다. 액세스 트랜지스터는 구동 강도를 최대화하고 트랜지스터 간 누설을 최소화하도록 설계되었다 (Kenner, p. 34). 

축전기에는 두 개의 단자가 있으며, 그 중 하나는 액세스 트랜지스터에 연결되고 다른 하나는 접지 또는 VCC/2에 연결된다. 현대 DRAM에서는 후자가 더 일반적이며, 이는 더 빠른 작동을 가능하게 한다. 현대 DRAM에서는 논리 1을 저장하려면 축전기에 +VCC/2의 전압이 필요하며, 논리 0을 저장하려면 축전기에 -VCC/2의 전압이 필요하다. 결과 전하량은 이며, 여기서 Q는 쿨롬 단위의 전하량이고 C는 패럿 단위의 정전 용량이다.

논리 1을 읽거나 쓰려면 워드라인을 VCC와 액세스 트랜지스터의 문턱 전압(VTH)의 합보다 큰 전압으로 구동해야 한다. 이 전압을 VCC 펌프드(VCCP)라고 한다. 따라서 커패시터를 방전하는 데 필요한 시간은 커패시터에 저장된 논리 값에 따라 달라진다. 논리 1을 포함하는 커패시터는 액세스 트랜지스터의 게이트 단자 전압이 VCCP보다 높을 때 방전을 시작한다. 커패시터가 논리 0을 포함하면, 게이트 단자 전압이 VTH보다 높을 때 방전을 시작한다.

축전기 설계
1980년대 중반까지 DRAM 셀의 커패시터는 액세스 트랜지스터와 동일 평면상에 있었기(기판 표면에 구성됨) 평면 커패시터라고 불렸다. 밀도를 높이고 성능을 다소 향상시키기 위한 노력은 더 밀집된 설계를 요구했다. 이는 경제적 요인, 특히 상용 DRAM 장치에 대한 주요 고려사항에 의해 강력하게 동기 부여되었다. DRAM 셀 면적을 최소화하면 더 밀집된 장치를 생산하고 비트당 저장 비용을 낮출 수 있다. 1980년대 중반부터 이러한 목표를 달성하기 위해 커패시터가 실리콘 기판 위 또는 아래로 이동했다. 기판 위에 커패시터가 있는 DRAM 셀은 스택형 또는 접이식 플레이트 커패시터라고 불린다. 기판 표면 아래에 묻힌 커패시터가 있는 셀은 트렌치 커패시터라고 불린다. 2000년대에 제조업체들은 DRAM에 사용되는 커패시터 유형에 따라 크게 나뉘었으며, 두 설계의 상대적 비용과 장기적 확장성은 광범위한 논쟁의 대상이었다. SK하이닉스, 마이크론 테크놀로지, 삼성전자와 같은 주요 제조업체의 DRAM 대부분은 스택형 커패시터 구조를 사용하지만, 난야 테크놀로지와 같은 소규모 제조업체들은 트렌치 커패시터 구조를 사용한다 (Jacob, pp. 355–357).

스택형 커패시터 방식의 축전기는 기판 표면 위에 구성된다. 이 축전기는 두 개의 폴리실리콘 판(상단 판은 IC의 모든 DRAM 셀에 공유됨) 사이에 산화물-질화물-산화물(ONO) 유전체를 끼워 넣어 구성되며, 그 모양은 직사각형, 원통형 또는 기타 더 복잡한 형태일 수 있다. 스택형 축전기에는 비트라인에 대한 위치를 기준으로 두 가지 기본 변형이 있다. 비트라인 아래 커패시터(CUB)와 비트라인 위 커패시터(COB)이다. 전자의 경우 커패시터는 일반적으로 금속으로 만들어진 비트라인 아래에 있으며, 비트라인에는 액세스 트랜지스터의 소스 단자에 연결하기 위해 아래로 확장되는 폴리실리콘 접점이 있다. 후자의 경우 커패시터는 비트라인 위에 구성되며, 거의 항상 폴리실리콘으로 만들어지지만, 그렇지 않으면 COB 변형과 동일하다. COB 변형이 가진 장점은 비트라인과 액세스 트랜지스터의 소스 사이의 접점을 물리적으로 기판 표면에 가깝게 배치하여 쉽게 제조할 수 있다는 점이다. 그러나 이로 인해 위에서 볼 때 활성 영역이 45도 각도로 배치되어야 하므로 커패시터 접점이 비트라인에 닿지 않도록 하기가 어렵다. CUB 셀은 이를 피하지만, 표면에 가까운 특징의 크기가 공정 기술의 최소 특징 크기 또는 그 근처에 있기 때문에 비트라인 사이에 접점을 삽입하는 데 어려움을 겪는다 (Kenner, pp. 33–42).

트렌치 커패시터는 실리콘 기판에 깊은 구멍을 에칭하여 구성된다. 구멍 주변의 기판 부피는 그런 다음 불순물 고농도로 도핑되어 낮은 저항을 가진 매립된 n+ 플레이트를 생성한다. 산화물-질화물-산화물 유전체 층이 성장되거나 증착된 다음, 도핑된 폴리실리콘을 증착하여 구멍을 채우고, 이는 커패시터의 상단 플레이트를 형성한다. 커패시터의 상단은 폴리실리콘 스트랩을 통해 액세스 트랜지스터의 드레인 단자에 연결된다 (Kenner, pp. 42–44). 2000년대 중반 DRAM에서 트렌치 커패시터의 깊이 대 폭 비율은 50:1을 초과할 수 있다 (Jacob, p. 357).

트렌치 커패시터는 여러 장점을 가지고 있다. 커패시터가 기판 표면이 아닌 기판 내부에 매립되어 있기 때문에, 액세스 트랜지스터의 드레인 단자에 연결하는 데 필요한 최소 면적으로 차지하는 면적을 최소화할 수 있으며, 이로 인해 커패시터의 크기와 정전 용량이 줄어들지 않는다 (Jacob, pp. 356–357). 또는 표면적 증가 없이 더 깊은 구멍을 에칭하여 정전 용량을 늘릴 수 있다 (Kenner, p. 44). 트렌치 커패시터의 또 다른 장점은 구조가 금속 인터커넥트 층 아래에 있어 더 쉽게 평면화할 수 있다는 점이다. 이로 인해 기판 위에 여러 레벨의 인터커넥트가 있는 로직 최적화된 공정 기술에 통합될 수 있다. 커패시터가 로직 아래에 있다는 사실은 트랜지스터가 만들어지기 전에 커패시터가 만들어진다는 것을 의미한다. 이를 통해 고온 공정을 통해 커패시터를 제작할 수 있으며, 그렇지 않으면 로직 트랜지스터와 그 성능이 저하될 수 있다. 이는 트렌치 커패시터를 내장 DRAM(eDRAM)을 구축하는 데 적합하게 만든다 (Jacob, p. 357). 트렌치 커패시터의 단점은 깊은 구멍 내에 커패시터 구조를 안정적으로 구축하고 커패시터를 액세스 트랜지스터의 드레인 단자에 연결하는 데 어려움이 있다는 점이다 (Kenner, p. 44).

과거 셀 설계
인텔 1103과 같은 1세대(1K비트) DRAM IC는 별도의 읽기 및 쓰기 회로가 있는 3트랜지스터, 1커패시터(3T1C) DRAM 셀을 사용했다. 쓰기 워드라인은 커패시터를 쓰기 비트라인에 연결하는 쓰기 트랜지스터를 구동했는데, 이는 1T1C 셀과 동일했지만, 별도의 읽기 워드라인과 읽기 트랜지스터가 있어 증폭기 트랜지스터를 읽기 비트라인에 연결했다. 2세대까지는 더 작은 영역에 동일한 양의 비트를 담아 비용을 줄이려는 노력으로 1T1C DRAM 셀이 거의 보편적으로 채택되었지만, 일부 4K비트 및 16K비트 용량의 장치는 성능상의 이유로 3T1C 셀을 계속 사용했다 (Kenner, p. 6). 이러한 성능 이점 중 가장 중요한 것은 커패시터에 저장된 상태를 방전하지 않고 읽을 수 있어 읽어낸 것을 다시 쓸 필요가 없다는 점(비파괴 읽기)이었다. 두 번째 성능 이점은 3T1C 셀의 읽기 및 쓰기용 별도 트랜지스터와 관련이 있다. 메모리 컨트롤러는 이 기능을 활용하여 원자적 읽기-수정-쓰기(atomic read-modify-writes)를 수행할 수 있는데, 이는 값이 읽히고, 수정된 후, 단일의 분할 불가능한 작업으로 다시 쓰여지는 것이다 (Jacob, p. 459).

제안된 셀 설계
1990년대 후반부터 1트랜지스터, 0커패시터(1T 또는 1T0C) DRAM 셀은 연구 주제였다. 1T DRAM은 기본 DRAM 메모리 셀을 구성하는 다른 방식으로, 1970년대에 대체했던 3T 및 4T DRAM과 비교하여 때때로 1T DRAM으로도 불리는 고전적인 1트랜지스터/1커패시터(1T/1C) DRAM 셀과는 구별된다.

1T DRAM 셀에서 데이터 비트는 여전히 트랜지스터에 의해 제어되는 정전 용량 영역에 저장되지만, 이 정전 용량은 더 이상 별도의 커패시터에 의해 제공되지 않는다. 1T DRAM은 SOI 트랜지스터에 내재된 기생 바디 정전 용량을 사용하여 데이터를 저장하는 "커패시터 없는" 비트 셀 설계이다. 논리 설계에서 성가신 것으로 간주되는 이 플로팅 바디 효과는 데이터 저장에 사용될 수 있다. 이는 1T DRAM 셀에 가장 높은 밀도를 제공하며, 동일한 SOI 공정 기술로 구축되므로 고성능 논리 회로와의 통합도 용이하게 한다.

셀의 새로고침은 여전히 필요하지만, 1T1C DRAM과 달리 1T DRAM에서의 읽기는 비파괴적이다. 저장된 전하는 트랜지스터의 문턱 전압에서 감지 가능한 변화를 일으킨다. 성능 면에서 액세스 시간은 커패시터 기반 DRAM보다 훨씬 우수하지만 SRAM보다는 약간 떨어진다. 1T DRAM에는 몇 가지 유형이 있다. 이노베이티브 실리콘의 상용화된 Z-RAM, 르네사스의 TTRAM, UGR/CNRS 컨소시엄의 A-RAM이다.

어레이 구조
섬네일|right|자체 정렬 저장 노드 위치는 현대 DRAM의 제조 공정을 단순화한다.J. Park et al., IEDM 2015.

DRAM 셀은 워드라인과 비트라인을 통해 제어 및 접근을 용이하게 하기 위해 정규 직사각형 격자형 패턴으로 배치된다. 어레이 내 DRAM 셀의 물리적 배치는 일반적으로 동일한 열에 있는 두 개의 인접한 DRAM 셀이 단일 비트라인 접점을 공유하도록 설계되어 면적을 줄인다. DRAM 셀 면적은 nF2로 주어지며, 여기서 n은 DRAM 셀 설계에서 파생된 숫자이고, F는 주어진 공정 기술의 최소 특징 크기이다. 이 방식은 DRAM 셀 면적이 특징 크기에 대해 선형 또는 거의 선형 비율로 스케일링되므로 다른 공정 기술 세대 간의 DRAM 크기 비교를 가능하게 한다. 현대 DRAM 셀의 일반적인 면적은 6~8 F2이다.

수평선인 워드라인은 해당 행의 모든 액세스 트랜지스터의 게이트 단자에 연결된다. 수직 비트라인은 해당 열의 트랜지스터 소스 단자에 연결된다. 워드라인과 비트라인의 길이는 제한적이다. 워드라인 길이는 어레이의 원하는 성능에 의해 제한된다. 신호가 워드라인을 가로질러 전파되는 시간은 RC 시정수에 의해 결정되기 때문이다. 비트라인 길이는 정전 용량(길이에 따라 증가함)에 의해 제한되며, 이는 적절한 감지를 위해 일정 범위 내로 유지되어야 한다(DRAM은 비트라인에 방출된 커패시터의 전하를 감지하여 작동하기 때문). 비트라인 길이는 DRAM이 끌어올 수 있는 작동 전류의 양과 전력 소산 방식에 의해서도 제한되는데, 이 두 가지 특성은 주로 비트라인의 충전 및 방전에 의해 결정된다.

비트라인 아키텍처
DRAM 셀에 포함된 상태를 읽으려면 감지 증폭기가 필요하다. 액세스 트랜지스터가 활성화되면 커패시터의 전하가 비트라인과 공유된다. 비트라인의 정전 용량은 커패시터의 정전 용량보다 훨씬 크다(약 10배). 따라서 비트라인 전압의 변화는 매우 미미하다. 감지 증폭기는 전압 차이를 논리 신호 시스템에서 지정한 레벨로 해결하는 데 필요하다. 현대 DRAM은 차동 감지 증폭기를 사용하며, DRAM 배열 구성 방식에 대한 요구 사항이 동반된다. 차동 감지 증폭기는 비트라인 쌍의 상대적 전압을 기반으로 출력을 반대쪽 극단으로 구동함으로써 작동한다. 감지 증폭기는 이러한 비트라인 쌍의 정전 용량과 전압이 밀접하게 일치할 때만 효과적이고 효율적으로 작동한다. 비트라인의 길이와 연결된 DRAM 셀의 수가 동일하도록 보장하는 것 외에도, 감지 증폭기의 요구 사항을 충족하기 위해 개방형 및 접힘형 비트라인 배열이라는 두 가지 기본 배열 설계 아키텍처가 등장했다.

개방형 비트라인 어레이
1세대(1K비트) DRAM IC는 64K비트 세대(및 일부 256K비트 세대 장치)까지 개방형 비트라인 어레이 아키텍처를 가졌다. 이러한 아키텍처에서 비트라인은 여러 세그먼트로 나뉘며, 차동 감지 증폭기는 비트라인 세그먼트 사이에 배치된다. 감지 증폭기가 비트라인 세그먼트 사이에 배치되기 때문에 출력을 어레이 외부로 라우팅하려면 워드라인과 비트라인을 구성하는 데 사용된 것 위에 추가적인 상호 연결 층이 필요하다.

어레이 가장자리에 있는 DRAM 셀은 인접한 세그먼트가 없다. 차동 감지 증폭기는 두 세그먼트에서 동일한 정전 용량과 비트라인 길이를 요구하므로 더미 비트라인 세그먼트가 제공된다. 개방형 비트라인 어레이의 장점은 더 작은 어레이 영역이지만, 이 장점은 더미 비트라인 세그먼트로 인해 약간 감소한다. 이 아키텍처의 거의 사라짐을 초래한 단점은 차동 감지 증폭기의 효율성에 영향을 미치는 노이즈에 대한 내재된 취약성이다. 각 비트라인 세그먼트는 다른 세그먼트와 공간적 관계가 없으므로 노이즈가 두 비트라인 세그먼트 중 하나에만 영향을 미칠 가능성이 높다.

접힘형 비트라인 어레이
접힘형 비트라인 어레이 아키텍처는 어레이 전체에 걸쳐 비트라인을 쌍으로 라우팅한다. 쌍을 이룬 비트라인의 밀접한 근접성은 개방형 비트라인 어레이에 비해 우수한 공통 모드 노이즈 제거 특성을 제공한다. 접힘형 비트라인 어레이 아키텍처는 1980년대 중반, 256K비트 세대부터 DRAM IC에 나타나기 시작했다. 이 아키텍처는 우수한 노이즈 내성으로 인해 현대 DRAM IC에서 선호된다.

이 아키텍처는 회로도 관점에서 개방형 어레이 아키텍처를 기반으로 하기 때문에 접힘형이라고 불린다. 접힘형 어레이 아키텍처는 열에서 교차하는 쌍(두 개의 DRAM 셀이 단일 비트라인 접점을 공유하기 때문)으로 DRAM 셀을 제거한 다음, 인접한 열의 DRAM 셀을 빈 공간으로 이동시키는 것처럼 보인다.

비트라인이 꼬이는 위치는 추가적인 면적을 차지한다. 면적 오버헤드를 최소화하기 위해 엔지니어는 지정된 한계 내에서 노이즈를 줄일 수 있는 가장 간단하고 면적이 최소인 꼬임 방식을 선택한다. 공정 기술이 최소 특징 크기를 줄이는 방향으로 개선됨에 따라, 인접한 금속선 사이의 결합이 피치에 반비례하기 때문에 신호 대 노이즈 문제가 악화된다. 사용되는 어레이 폴딩 및 비트라인 꼬임 방식은 충분한 노이즈 감소를 유지하기 위해 복잡성을 증가시켜야 한다. 최소한의 면적 영향으로 바람직한 노이즈 내성 특성을 갖는 방식은 현재 연구 주제이다 (Kenner, p. 37).

미래의 어레이 아키텍처
공정 기술의 발전으로 인해 개방형 비트라인 어레이 아키텍처가 장기적으로 더 나은 면적 효율성을 제공할 수 있다면 선호될 수 있다. 접힘형 어레이 아키텍처는 공정 기술의 발전에 맞춰 점점 더 복잡한 폴딩 방식을 요구하기 때문이다. 공정 기술, 어레이 아키텍처 및 면적 효율성 간의 관계는 활발한 연구 분야이다.

행 및 열 중복
최초의 DRAM 집적 회로는 중복이 없었다. 결함이 있는 DRAM 셀이 있는 집적 회로는 폐기되었다. 64K비트 세대부터 DRAM 어레이에는 수율을 향상시키기 위해 예비 행과 열이 포함되었다. 예비 행과 열은 소수의 행 또는 열을 작동 불능 상태로 만들었던 사소한 제조 결함에 대한 허용 오차를 제공한다. 결함이 있는 행과 열은 프로그래밍 가능한 퓨즈를 트리거하거나 레이저로 와이어를 절단하여 어레이의 나머지 부분에서 물리적으로 분리된다. 예비 행 또는 열은 행 및 열 디코더의 리매핑 논리를 통해 대체된다 (Jacob, pp. 358–361).

오류 감지 및 수정

컴퓨터 시스템 내부의 전기적 또는 자기적 간섭으로 인해 단일 비트의 DRAM이 자발적으로 반대 상태로 반전될 수 있다. DRAM 칩에서 발생하는 대부분의 일회성("소프트") 오류는 배경 방사선의 결과로 발생하며, 주로 우주선 이차 중성자로부터 발생하여 하나 이상의 메모리 셀의 내용을 변경하거나 읽기/쓰기 회로를 방해할 수 있다.

이 문제는 잉여 메모리 비트와 이러한 비트를 사용하여 소프트 오류를 감지하고 수정하는 추가 회로를 사용하여 완화할 수 있다. 대부분의 경우 감지 및 수정은 메모리 컨트롤러에 의해 수행된다. 때로는 필요한 논리가 DRAM 칩 또는 모듈 내에 투명하게 구현되어, ECC 기능을 지원하지 않는 시스템에서도 ECC 메모리 기능을 사용할 수 있게 한다. 추가 메모리 비트는 패리티를 기록하고 누락된 데이터를 오류 정정 코드(ECC)로 재구성하는 데 사용된다. 패리티는 모든 단일 비트 오류(실제로 홀수 개의 잘못된 비트)를 감지할 수 있게 한다. 가장 일반적인 오류 정정 코드인 SECDED 해밍 코드는 단일 비트 오류를 수정하고, 일반적인 구성에서는 추가 패리티 비트를 사용하여 이중 비트 오류를 감지할 수 있게 한다.

최근 연구에서는 7자리 이상의 차이가 나는 광범위한 오류율을 보여주는데, 대략 기가바이트당 시간당 에서 기가바이트당 세기당 하나의 비트 오류까지 다양하다.Borucki, "Comparison of Accelerated DRAM Soft Error Rates Measured at Component and System Level", 46th Annual International Reliability Physics Symposium, Phoenix, 2008, pp. 482–487Schroeder, Bianca et al. (2009). "DRAM errors in the wild: a large-scale field study" . Proceedings of the Eleventh International Joint Conference on Measurement and Modeling of Computer Systems, pp. 193–204. 슈뢰더 외 2009년 연구에서는 연구 대상 컴퓨터 중 32%가 연간 최소 한 번의 수정 가능한 오류를 겪을 확률이 있으며, 이러한 오류의 대부분이 소프트 오류라기보다는 간헐적인 하드 오류이며, 칩 패키징에 미량의 방사성 물질이 들어가 알파 입자를 방출하여 데이터를 손상시킨다는 증거를 제시했다. 로체스터 대학의 2010년 연구 또한 메모리 오류의 상당 부분이 간헐적인 하드 오류라는 증거를 제시했다. PC 및 노트북의 비-ECC 주 메모리에 대한 대규모 연구는 감지되지 않은 메모리 오류가 상당수의 시스템 장애의 원인임을 시사한다. 2011년 연구에서는 테스트된 메모리의 1.5%당 1700분의 1의 확률(전체 메모리에서는 약 26%의 확률로 추정)로 컴퓨터가 8개월마다 메모리 오류를 가질 것이라고 보고했다.

보안

데이터 잔류성

동적 메모리는 전원이 공급되고 짧은 주기(종종 )마다 새로고침될 때만 내용을 유지하도록 명시되고 보장되지만, 메모리 셀 커패시터는 특히 저온에서 훨씬 더 오랫동안 값을 유지하는 경우가 많다. 일부 조건에서는 DRAM이 몇 분 동안 새로고침되지 않았더라도 DRAM에 있는 대부분의 데이터를 복구할 수 있다.

이 속성은 보안을 우회하고 전원 차단 시 파괴되었다고 가정되는 주 메모리에 저장된 데이터를 복구하는 데 사용될 수 있다. 컴퓨터를 빠르게 재부팅하고 주 메모리의 내용을 읽어내거나, 컴퓨터의 메모리 모듈을 제거하고 냉각하여 데이터 잔류성을 연장한 다음, 다른 컴퓨터로 옮겨 읽어낼 수 있다. 이러한 공격은 트루크립트와 같은 인기 있는 디스크 암호화 시스템, 마이크로소프트의 비트락커 및 애플의 파일볼트를 우회하는 것으로 시연되었다. 080222 citp.princeton.edu 컴퓨터에 대한 이러한 유형의 공격은 종종 콜드 부트 공격이라고 불린다.

메모리 손상
동적 메모리는 정의상 주기적인 새로고침이 필요하다. 또한 동적 메모리를 읽는 것은 파괴적인 작업이므로, 읽은 행의 저장 셀을 재충전해야 한다. 이러한 과정이 불완전할 경우, 읽기 작업으로 인해 소프트 에러가 발생할 수 있다. 특히, 일부 전하가 인접한 셀 사이로 누설되어 한 행의 새로고침 또는 읽기가 인접하거나 심지어 가까운 행에 교란 오류를 일으킬 위험이 있다. 교란 오류에 대한 인식은 1970년대 초 (최초의 상용 DRAM인 인텔 1103)로 거슬러 올라간다. 제조업체가 사용하는 완화 기술에도 불구하고, 상업 연구원들은 2014년 분석에서 2012년과 2013년에 제조된 상용 DDR3 DRAM 칩이 교란 오류에 취약하다는 것을 입증했다. 관찰된 비트 반전으로 이어진 관련 부작용은 로우 해머라고 불린다.

패키징
메모리 모듈

동적 RAM IC는 성형 에폭시 케이스에 포장될 수 있으며, 실리콘 다이와 패키지 리드 사이의 내부 리드 프레임이 상호 연결을 제공한다. 초기 IBM PC 설계는 DIP(듀얼 인라인 패키지)에 포장된 IC(DRAM용 포함)를 메인 보드에 직접 납땜하거나 소켓에 장착하여 사용했다. 메모리 밀도가 급증하면서 DIP 패키지는 더 이상 실용적이지 않았다. 취급 편의를 위해 여러 동적 RAM 집적 회로를 단일 메모리 모듈에 장착하여 설치자가 여러 개별 집적 회로를 삽입할 필요 없이 16비트, 32비트 또는 64비트 폭의 메모리를 단일 장치에 설치할 수 있게 했다. 메모리 모듈에는 패리티 검사 또는 오류 수정용 추가 장치가 포함될 수 있다. 데스크톱 컴퓨터의 진화 과정에서 여러 표준화된 유형의 메모리 모듈이 개발되었다. 노트북 컴퓨터, 게임 콘솔 및 특수 장치는 패키징 또는 독점적인 이유로 표준 데스크톱 부품과 호환되지 않는 자체 메모리 모듈 형식을 가질 수 있다.

내장형

논리 최적화 공정(예: ASIC, 마이크로프로세서 또는 전체 시스템 온 칩)으로 설계된 집적 회로에 통합된 DRAM을 내장형 DRAM(eDRAM)이라고 한다. 내장형 DRAM은 고성능 논리에 사용되는 고속 스위칭 트랜지스터 제조를 방해하지 않으면서 제조될 수 있는 DRAM 셀 설계와 DRAM 셀 구조를 구축하는 데 필요한 공정 단계를 수용하기 위한 기본 논리 최적화 공정 기술의 수정이 필요하다.

버전
기본 DRAM 셀과 어레이는 수년 동안 동일한 기본 구조를 유지해왔으므로, DRAM 유형은 주로 DRAM 칩과의 통신을 위한 다양한 인터페이스에 따라 구별된다.

비동기 DRAM
원래의 DRAM은 현재 레트로님 비동기 DRAM으로 알려져 있으며, 사용된 최초의 DRAM 유형이었다. 1960년대 후반에 시작되어 1997년경까지 컴퓨팅에서 일반적이었으며, 이후 대부분 SDRAM으로 대체되었다. 현재는 비동기 RAM의 제조는 비교적 드물다.

작동 원리
비동기 DRAM 칩에는 전원 연결, 여러 개의 주소 입력(일반적으로 12개), 그리고 몇 개의 양방향 데이터 라인(일반적으로 1개 또는 4개)이 있다. 세 가지 주요 액티브 로우 제어 신호가 있다.
 , 행 주소 스트로브. 주소 입력은 의 하강 에지에서 포착되어 열릴 행을 선택한다. 가 Low인 동안 행은 열린 상태를 유지한다.
 , 열 주소 스트로브. 주소 입력은 의 하강 에지에서 포착되어 현재 열린 행에서 읽거나 쓸 열을 선택한다.
 , 쓰기 활성화. 이 신호는 주어진 의 하강 에지가 읽기(High인 경우) 또는 쓰기(Low인 경우)인지를 결정한다. Low인 경우, 데이터 입력도 의 하강 에지에서 포착된다. High인 경우, 데이터 출력은 의 하강 에지에 의해 활성화되며 내부 접근 시간 후에 유효한 출력을 생성한다.

이 인터페이스는 내부 타이밍을 직접 제어한다. 가 낮게 구동될 때, 감지 증폭기가 메모리 상태를 감지할 때까지  사이클이 시도되어서는 안 되며, 저장 셀이 새로고침될 때까지 를 다시 높게 올리면 안 된다. 가 높게 구동될 때는 프리차징이 완료될 만큼 충분히 오랫동안 높게 유지되어야 한다.

DRAM이 비동기식이지만, 신호는 일반적으로 클럭 기반 메모리 컨트롤러에 의해 생성되며, 이는 타이밍을 컨트롤러 클럭 주기의 배수로 제한한다.

완전성을 위해, DRAM 작동에 필수적이지는 않지만 DRAM을 사용하는 시스템의 편의를 위해 제공되는 두 가지 다른 제어 신호를 언급한다.
 , 칩 선택. 이 신호가 High일 때, 다른 모든 입력은 무시된다. 이는 동일한 제어 신호를 공유하는 DRAM 칩 배열을 쉽게 구축할 수 있게 한다. DRAM이 내부적으로 워드라인을 사용하여 공유 비트라인과 감지 증폭기에 연결할 저장 셀의 한 행을 선택하는 것처럼, 는 공유 제어, 주소 및 데이터 라인에 연결할 DRAM 칩의 한 행을 선택하는 데 사용된다.
 , 출력 활성화. 이는 데이터 I/O 핀의 출력을 억제(High인 경우)하면서 다른 모든 작업은 정상적으로 진행되도록 허용하는 추가 신호이다. 많은 응용 프로그램에서 는 영구적으로 Low(,  및 가 Low이고 가 High일 때마다 출력 활성화)로 연결될 수 있지만, 고속 응용 프로그램에서는 를 신중하게 사용하여 동일한 데이터 라인에 연결된 두 DRAM 칩 간의 버스 경합을 방지할 수 있다. 예를 들어, 주소 및 데이터 라인을 공유하지만 각각 자체 , ,  및  연결을 갖는 두 개의 인터리브 메모리 뱅크를 가질 수 있다. 메모리 컨트롤러는 첫 번째 뱅크에서 읽기가 진행되는 동안 두 번째 뱅크에서 읽기를 시작할 수 있으며, 두 개의  신호를 사용하여 한 번에 하나의 결과만 데이터 버스에 나타나도록 허용한다.

RAS-only 새로고침
전통적인 비동기 DRAM은 각 행을 차례로 열어 새로고침된다.

새로고침 주기는 전체 새로고침 간격에 걸쳐 분포되어 모든 행이 필요한 간격 내에 새로고침된다.  전용 새로고침(ROR)을 사용하여 메모리 어레이의 한 행을 새로고침하려면 다음 단계가 발생해야 한다.
 새로고침할 행의 행 주소가 주소 입력 핀에 적용되어야 한다.
 는 High에서 Low로 전환되어야 한다. 는 High를 유지해야 한다.
 필요한 시간이 끝날 때, 는 다시 High로 돌아와야 한다.

이는 행 주소를 제공하고 를 낮게 펄스함으로써 수행할 수 있다.  사이클을 수행할 필요는 없다. 행 주소를 차례로 반복하려면 외부 카운터가 필요하다. 일부 설계에서는 CPU가 RAM 새로고침을 처리했다. 자일로그 Z80은 아마도 가장 잘 알려진 예일 것이다. 각 명령어 인출 후 생성되는 특별한 새로고침 주소에 대한 내부 행 카운터 R을 가지고 있기 때문이다. 다른 시스템, 특히 가정용 컴퓨터, 새로고침은 비디오 회로가 프레임버퍼를 주기적으로 스캔하는 부작용으로 처리되었다.

RAS 새로고침 전 CAS
편의를 위해 카운터는 DRAM 칩 자체에 빠르게 통합되었다.  라인이 (일반적으로 불법적인 작동)보다 먼저 낮게 구동되면, DRAM은 주소 입력을 무시하고 내부 카운터를 사용하여 열 행을 선택한다. 이를  전 (CBR) 새로고침이라고 한다. 이는 비동기 DRAM의 표준 새로고침 형식이 되었으며, SDRAM에서 일반적으로 사용되는 유일한 형태이다.

숨겨진 새로고침
 전  새로고침이 지원될 경우, 를 낮게 유지하면서 를 비활성화하여 데이터 출력을 유지할 수 있다. 그런 다음 가 다시 활성화되면, DRAM 출력이 유효한 상태를 유지하는 동안 CBR 새로고침 주기가 수행된다. 데이터 출력이 중단되지 않으므로, 이를 숨겨진 새로고침이라고 한다. 숨겨진 새로고침은 일반 읽기 후 일반 새로고침보다 빠르지 않지만, 새로고침 주기 동안 데이터 출력을 유효하게 유지한다.

페이지 모드 DRAM
페이지 모드 DRAM은 1세대 DRAM IC 인터페이스의 작은 수정으로, 동일한 행을 반복적으로 프리차지하고 열어 다른 열에 액세스하는 비효율성을 피함으로써 행에 대한 읽기 및 쓰기 성능을 향상시킨다. 페이지 모드 DRAM에서는 를 낮게 유지하여 행이 열린 후, 행을 계속 열어둘 수 있으며, 행의 어떤 열에도 여러 번 읽기 또는 쓰기를 수행할 수 있다. 각 열 액세스는 열 주소를 제시하고 를 활성화함으로써 시작된다. 읽기의 경우, 지연 시간(tCAC) 후에 유효한 데이터가 데이터 출력 핀에 나타나며, 이 핀은 유효한 데이터가 나타나기 전까지 하이-Z 상태로 유지된다. 쓰기의 경우, 쓰기 활성화 신호와 쓰기 데이터는 열 주소와 함께 제시된다.

페이지 모드 DRAM은 나중에 약간의 수정으로 더욱 개선되어 대기 시간을 더 줄였다. 이 개선이 적용된 DRAM을 고속 페이지 모드 DRAM(FPM DRAM)이라고 한다. 페이지 모드 DRAM에서는 가 활성화될 때까지 칩이 열 주소를 캡처하지 않으므로, 가 활성화될 때 열 액세스 시간(데이터 출력 유효까지)이 시작된다. FPM DRAM에서는 가 비활성화된 상태에서도 열 주소를 제공할 수 있으며, 주소가 안정화되는 즉시 주요 열 액세스 시간(tAA)이 시작된다.  신호는 출력 활성화에만 필요하므로(데이터 출력 핀은 가 비활성화된 동안 하이-Z 상태로 유지됨),  활성화부터 데이터 유효까지의 시간(tCAC)이 크게 줄어든다. 고속 페이지 모드 DRAM은 1986년에 도입되었으며 인텔 80486과 함께 사용되었다.

정적 컬럼은 고속 페이지 모드의 변형으로, 컬럼 주소를 래치할 필요 없이 를 낮게 유지한 채 주소 입력을 변경할 수 있으며, 몇 나노초 후에 데이터 출력이 그에 따라 업데이트된다.

니블 모드는 행 내의 네 개의 순차적 위치에 네 번의 연속적인  펄스로 접근할 수 있는 또 다른 변형이다. 일반 페이지 모드와의 차이점은 두 번째부터 네 번째  에지까지 주소 입력이 사용되지 않고 첫 번째  에지에 제공된 주소를 시작으로 내부적으로 생성된다는 점이다. 예측 가능한 주소는 칩이 내부적으로 데이터를 준비하고 이후  펄스에 매우 빠르게 응답할 수 있도록 한다.

확장 데이터 출력 DRAM
섬네일|32 MB EDO DRAM 모듈 한 쌍

EDO DRAM(Extended data out DRAM)은 1990년대 마이크론 테크놀로지가 발명하고 특허를 획득하여 다른 많은 메모리 제조업체에 기술을 라이선스했다. EDO RAM은 하이퍼 페이지 모드 활성화 DRAM이라고도 불리며, 고속 페이지 모드 DRAM과 유사하지만 이전 주기의 데이터 출력을 활성 상태로 유지하면서 새 액세스 사이클을 시작할 수 있는 추가 기능이 있다. 이를 통해 일정량의 작업 중첩(파이프라이닝)이 가능하여 성능이 다소 향상된다. FPM DRAM보다 최대 30% 빠르며, 인텔이 EDO DRAM 지원을 포함한 430FX 칩셋을 출시한 1995년부터 대체되기 시작했다. 성능 향상에 관계없이 FPM 및 EDO SIMM은 많은(전부는 아님) 응용 프로그램에서 상호 교환하여 사용할 수 있다.

정확히 말하자면, EDO DRAM은 의 하강 에지에서 데이터 출력을 시작하지만, 가 다시 상승할 때 출력을 비활성화하지 않는다. 대신, DRAM이 새로운 열 주소 디코딩을 시작하더라도, 새 열의 데이터가 다른  하강 에지에 의해 선택되거나, 의 상승 에지에 의해 출력이 꺼질 때까지 현재 출력을 유효하게 유지한다. (또는 덜 일반적으로, , , 또는 의 변경에 의해.)

시스템이 이전 열의 데이터를 수신하기 전에도 새로운 액세스를 시작할 수 있는 이러한 기능 덕분에 메모리 컨트롤러를 설계하여 (현재 열린 행에서) 한 클럭 사이클 또는 적어도 두 클럭 사이클 내에  액세스를 수행할 수 있게 되었고, 이는 이전에 필요했던 세 클럭 사이클보다 빠르다. EDO의 기능은 저가형 상용 PC에서 L2 캐시가 없는 것에서 비롯된 성능 손실을 부분적으로 보상할 수 있었다. 고가 노트북도 크기 및 전력 제약으로 인해 종종 L2 캐시가 없었으며, 유사하게 이점을 얻었다. L2 캐시가 있는 시스템에서도 EDO 메모리의 가용성은 이전 FPM 구현보다 애플리케이션에서 경험하는 평균 메모리 지연 시간을 향상시켰다.

단일 주기 EDO DRAM은 1990년대 후반 비디오 카드에서 매우 인기를 얻었다. 비용이 매우 저렴하면서도 훨씬 비싼 VRAM만큼 성능 효율이 높았다.

버스트 EDO DRAM
EDO DRAM의 진화형인 버스트 EDO DRAM(BEDO DRAM)은 한 번의 버스트로 네 개의 메모리 주소를 처리할 수 있었고, 최적화된 EDO 메모리에 비해 추가로 세 개의 클럭을 절약하여 최대 을 달성했다. 이는 다음 주소를 추적하기 위해 칩에 주소 카운터를 추가하여 이루어졌다. BEDO는 또한 페이지 액세스 사이클을 두 부분으로 나눌 수 있도록 파이프라인 단계를 추가했다. 메모리 읽기 작업 중 첫 번째 부분은 메모리 배열에서 출력 단계(두 번째 래치)로 데이터를 액세스했다. 두 번째 부분은 이 래치에서 적절한 논리 레벨로 데이터 버스를 구동했다. 데이터가 이미 출력 버퍼에 있기 때문에 전통적인 EDO보다 더 빠른 액세스 시간(대용량 데이터 블록의 경우 최대 50%)을 달성할 수 있었다.

BEDO DRAM이 EDO에 비해 추가적인 최적화를 보여주었지만, 출시 당시에는 이미 시장이 SDRAM에 상당한 투자를 한 상태였다. BEDO RAM이 어떤 면에서는 SDRAM보다 우수했지만, 후자의 기술이 빠르게 BEDO를 대체했다.

동기 동적 RAM

SDRAM은 비동기 메모리 인터페이스를 크게 개선하여 클럭(및 클럭 활성화) 라인을 추가한다. 다른 모든 신호는 클럭의 상승 에지에서 수신된다.

 및  입력은 더 이상 스트로브 역할을 하지 않고, 와 함께 3비트 명령의 일부가 된다.
+ SDRAM 명령 요약     주소 명령           명령 억제 (작업 없음)           작업 없음           버스트 종료: 진행 중인 읽기 또는 쓰기 버스트를 중단한다.         열  현재 활성 행에서 읽는다.         열  현재 활성 행에 쓴다.         행  읽기 및 쓰기를 위해 행을 활성화한다.           현재 행을 프리차지(비활성화)한다.           자동 새로고침: 내부 카운터를 사용하여 각 뱅크의 한 행을 새로고침한다.         모드  모드 레지스터 로드: 주소 버스는 DRAM 작동 모드를 지정한다.

 라인의 기능은 데이터 출력(읽기) 외에 데이터 입력(쓰기)을 제어하는 바이트별 DQM 신호로 확장되었다. 이를 통해 DRAM 칩이 8비트보다 넓으면서도 바이트 단위 쓰기를 지원할 수 있다.

많은 타이밍 매개변수는 DRAM 컨트롤러의 제어하에 남아 있다. 예를 들어, 행이 활성화된 후 읽기 또는 쓰기 명령까지 최소 시간이 경과해야 한다. 한 가지 중요한 매개변수는 SDRAM 칩 자체에 프로그래밍되어야 한다. 바로 CAS 레이턴시이다. 이는 읽기 명령과 데이터 버스에 첫 번째 데이터 단어가 나타나는 내부 작업에 허용되는 클럭 사이클 수이다. 로드 모드 레지스터 명령은 이 값을 SDRAM 칩으로 전송하는 데 사용된다. 다른 구성 가능한 매개변수로는 읽기 및 쓰기 버스트의 길이, 즉 읽기 또는 쓰기 명령당 전송되는 단어 수가 있다.

가장 중요한 변화이자 SDRAM이 비동기 RAM을 대체한 주된 이유는 DRAM 칩 내에 여러 내부 뱅크를 지원하는 것이다. 각 명령과 함께 제공되는 몇 비트의 뱅크 주소를 사용하여 두 번째 뱅크를 활성화하고 첫 번째 뱅크에서 읽기가 진행되는 동안 데이터 읽기를 시작할 수 있다. 뱅크를 교체함으로써 단일 SDRAM 장치는 비동기 DRAM이 할 수 없는 방식으로 데이터 버스를 계속 바쁘게 유지할 수 있다.

단일 데이터 전송률 동기 DRAM

SDR SDRAM(Single data rate SDRAM 또는 SDR)은 SDRAM의 원래 세대이다. 클럭 주기당 한 번의 데이터 전송을 수행했다.

더블 데이터 전송률 동기 DRAM

섬네일|삼성 DDR-SDRAM 64메가비트 패키지의 다이
더블 데이터 레이트 SDRAM(DDR SDRAM 또는 DDR)은 2000년대 PC 메모리에 사용되기 시작한 SDRAM의 후속 개발품이다. 후속 버전은 순차적으로 번호가 매겨진다(DDR2, DDR3 등). DDR SDRAM은 내부적으로 클럭 속도로 두 배 폭의 액세스를 수행하며, 각 클럭 에지에서 절반을 전송하기 위해 더블 데이터 레이트 인터페이스를 사용한다. DDR2와 DDR3는 이 계수를 각각 4배와 8배로 늘려, 각각 2클럭 및 4클럭 사이클에 걸쳐 4단어 및 8단어 버스트를 전달한다. 내부 액세스 속도는 대부분 변함없지만(DDR-400, DDR2-800, DDR3-1600 메모리 모두 초당 2억 회), 각 액세스는 더 많은 데이터를 전송한다.

다이렉트 램버스 DRAM

다이렉트 램버스 DRAM(DRDRAM)은 램버스에서 개발했다. 1999년에 메인보드에서 처음 지원되었고 업계 표준이 될 것으로 예상되었으나 DDR SDRAM과의 경쟁에서 밀려 2003년에는 기술적으로 구식이 되었다.

지연 감소 DRAM

지연 감소 DRAM(RLDRAM)은 고성능 더블 데이터 레이트(SDRAM)로, 빠른 랜덤 액세스와 높은 대역폭을 결합하며, 주로 네트워킹 및 캐싱 응용 프로그램에 사용된다.

그래픽 RAM
그래픽 RAM은 그래픽 카드에 사용되는 텍스처 메모리 및 프레임버퍼와 같은 그래픽 관련 작업을 위해 설계된 비동기 및 동기 DRAM이다.

비디오 DRAM

비디오 DRAM(VRAM)은 듀얼 포트 DRAM의 변형으로, 한때 일부 그래픽 어댑터의 프레임 버퍼를 저장하는 데 일반적으로 사용되었다.

윈도 DRAM
윈도 DRAM(WRAM)은 매트록스 밀레니엄과 ATI 3D Rage Pro와 같은 그래픽 어댑터에 한때 사용되었던 VRAM의 변형이다. WRAM은 VRAM보다 성능이 좋고 비용이 적게 들도록 설계되었다. WRAM은 VRAM보다 최대 25% 더 큰 대역폭을 제공했으며 텍스트 그리기 및 블록 채우기와 같은 일반적으로 사용되는 그래픽 작업을 가속화했다.

멀티뱅크 DRAM
섬네일|MoSys MDRAM MD908
멀티뱅크 DRAM(MDRAM)은 모시스에서 개발한 특수 DRAM의 일종이다. 이 메모리는 의 작은 메모리 뱅크로 구성되어 인터리빙 방식으로 작동하며, SRAM과 같은 메모리보다 낮은 비용으로 그래픽 카드에 적합한 대역폭을 제공한다. 또한 MDRAM은 단일 클럭 사이클에 두 뱅크에 대한 작업을 허용하여 액세스가 독립적인 경우 여러 동시 액세스가 발생할 수 있도록 한다. MDRAM은 주로 Tseng Labs ET6x00 칩셋을 특징으로 하는 그래픽 카드에 사용되었다. 이 칩셋을 기반으로 하는 보드에는 MDRAM이 그러한 용량으로 더 쉽게 구현될 수 있는 능력 때문에 라는 특이한 용량을 가지는 경우가 많았다. 의 MDRAM을 가진 그래픽 카드는 당시 매우 인기 있는 설정이었던 1024x768 해상도에서 24비트 색상을 제공하기에 충분한 메모리를 가지고 있었다.

동기 그래픽 RAM
SGRAM(Synchronous graphics RAM)은 그래픽 어댑터용으로 특화된 SDRAM 형태이다. 비트 마스크(다른 비트 평면에 영향을 주지 않고 지정된 비트 평면에 쓰기) 및 블록 쓰기(메모리 블록을 단일 색상으로 채우기)와 같은 기능을 추가한다. VRAM 및 WRAM과 달리 SGRAM은 단일 포트이다. 그러나 두 메모리 페이지를 동시에 열 수 있어 다른 비디오 RAM 기술의 듀얼 포트 특성을 시뮬레이션한다.

그래픽 더블 데이터 전송률 SDRAM

alt=|섬네일|512Mb 키몬다 GDDR3 SDRAM 패키지
섬네일|삼성 GDDR3 256메가비트 패키지 내부
그래픽 더블 데이터 레이트 SDRAM은 GPU의 주 메모리로 사용하기 위해 설계된 특수 DDR SDRAM의 한 종류이다. GDDR SDRAM은 DDR3와 같은 상용 DDR SDRAM 유형과 일부 핵심 기술을 공유하지만 다르다. 주요 특징은 DRAM 코어와 I/O 인터페이스 모두에서 더 높은 클럭 주파수를 가지며, 이는 GPU에 더 큰 메모리 대역폭을 제공한다. 2020년 현재 GDDR에는 GDDR2, GDDR3, GDDR4, GDDR5, GDDR5X, GDDR6 및 GDDR6X의 7세대가 연속적으로 존재한다.

유사 정적 RAM
섬네일|도시바에서 만든 1M비트 고속 CMOS 유사 정적 RAM
유사정적 RAM(PSRAM 또는 PSDRAM)은 내장된 새로고침 및 주소 제어 회로를 통해 정적 RAM(SRAM)과 유사하게 작동하도록 만든 동적 RAM이다. 이는 DRAM의 고밀도와 실제 SRAM의 사용 편의성을 결합한다. PSRAM은 애플 아이폰 및 XFlar 플랫폼과 같은 다른 임베디드 시스템에 사용된다.

일부 DRAM 구성 요소는 자체 새로고침 모드를 가지고 있다. 이는 유사 정적 작동에 필요한 많은 동일한 논리를 포함하지만, 이 모드는 종종 대기 모드와 동일하다. 이는 주로 시스템이 DRAM에 저장된 데이터를 잃지 않고 전력을 절약하기 위해 DRAM 컨트롤러의 작동을 일시 중지할 수 있도록 제공되며, 앞서 언급된 PSRAM의 경우와 같이 별도의 DRAM 컨트롤러 없이 작동할 수 있도록 하는 것이 아니다.

내장형 PSRAM의 변형이 모시스에서 1T-SRAM이라는 이름으로 판매되었다. 이는 실제 SRAM과 매우 유사하게 작동하도록 SRAM 캐시를 앞에 둔 작은 DRAM 뱅크 세트이다. 닌텐도 게임큐브 및 Wii 비디오 게임 콘솔에 사용된다.

사이프러스 세미컨덕터의 HyperRAM은 JEDEC 호환 8핀 HyperBus 또는 Octal xSPI 인터페이스를 지원하는 PSRAM 유형이다.

 같이 보기 

 DRAM 가격 담합 사건
 플래시 메모리
 장치 대역폭 목록
 메모리 뱅크
 메모리 지오메트리

 각주 



추가 자료

 외부 링크 
  1980년부터 2003년까지 크기 및 사이클 시간을 보여주는 로그 그래프.
 PC 서버 주 메모리를 위한 Chipkill-Correct ECC의 이점 — 1997년 SDRAM 신뢰성 논의 — 우주선으로 인한 소프트 오류, 특히 오류 정정 부호 방식과 관련된 흥미로운 정보
 Tezzaron Semiconductor Soft Error White Paper 1994년 메모리 오류율 측정에 대한 문헌 검토.


 Ars Technica: RAM 가이드
  현재 DRAM 기술에 대한 자세한 설명.
 멀티 포트 캐시 DRAM — MP-RAM


분류:컴퓨터 메모리
분류:미국의 발명품
분류:20세기 발명품
분류:RAM의 종류