동기식 동적 랜덤 액세스 메모리(Synchronous Dynamic RAM 또는 SDRAM)는 외부 클록 신호에 의해 외부 핀 인터페이스의 동작이 조정되는 모든 DRAM이다.
1970년대 초반부터 1990년대 초반까지 생산된 DRAM 집적 회로(IC)는 비동기식 인터페이스를 사용했으며, 입력 제어 신호는 반도체 경로를 통해 이동하는 시간만큼 지연되어 내부 기능에 직접적인 영향을 미쳤다. SDRAM은 동기식 인터페이스를 가지고 있으며, 제어 입력의 변화는 클록 입력의 상승 엣지 이후에 인식된다. JEDEC에 의해 표준화된 SDRAM 계열에서는 클록 신호가 내부 유한 상태 기계의 동작을 제어하며, 이 기계는 들어오는 명령에 반응한다. 이러한 명령은 성능을 향상시키기 위해 파이프라인 처리될 수 있으며, 이전에 시작된 작업이 완료되는 동안 새로운 명령이 수신된다. 메모리는 여러 개의 크기가 동일한 독립적인 섹션인 뱅크로 나뉘며, 이를 통해 장치는 각 뱅크에서 메모리 액세스 명령을 동시에 실행하고 인터리브 방식으로 액세스를 가속화할 수 있다. 이로 인해 SDRAM은 비동기 DRAM보다 더 높은 동시성 및 데이터 전송 속도를 달성할 수 있다.
파이프라이닝은 칩이 이전 명령을 처리하기 전에 새로운 명령을 받을 수 있음을 의미한다. 파이프라인 쓰기의 경우, 쓰기 명령은 데이터를 메모리 배열에 기록하는 것을 기다리지 않고 즉시 다른 명령을 따를 수 있다. 파이프라인 읽기의 경우, 요청된 데이터는 읽기 명령 후 고정된 수의 클록 사이클(지연 시간) 후에 나타나며, 이 동안 추가 명령을 보낼 수 있다.
초기 DRAM은 종종 CPU 클록과 동기화되어 사용되었으며, 초기 마이크로프로세서와 함께 사용되었다. 1970년대 중반, DRAM은 비동기식 설계로 전환되었으나, 1990년대에 다시 동기식 동작으로 돌아갔다.
1980년대 후반 IBM은 DDR SDRAM을 발명했다. 그들은 듀얼 엣지 클로킹 RAM을 구축하여 1990년 국제 반도체 회로 컨벤션에서 그 결과를 발표했다. 1998년 삼성은 DDR SDRAM 칩(64 Mbit)을 출시했고, 같은 해 현대전자(현재 SK hynix)도 이를 출시하였으며, 1993년에 대량 생산되었다. 2000년까지 SDRAM은 뛰어난 성능 덕분에 현대 컴퓨터에서 사실상 모든 다른 유형의 DRAM을 대체했다.
SDRAM의 지연 시간은 본질적으로 비동기 DRAM보다 낮지 않다. 실제로 초기 SDRAM은 추가된 논리로 인해 동시 발생한 버스트 EDO DRAM보다 다소 느렸다. SDRAM의 내부 버퍼링 장점은 메모리의 여러 뱅크에 대해 작업을 인터리브 방식으로 처리할 수 있다는 점에서 효과적인 대역폭을 증가시킨다.
오늘날 거의 모든 SDRAM은 JEDEC에서 설정한 표준에 따라 제조되며, JEDEC은 전자 부품 간 상호 운용성을 촉진하기 위해 개방형 표준을 채택하는 전자 산업 협회이다. JEDEC은 1993년 처음으로 SDRAM 표준을 채택했고, 그 후 DDR, DDR2, DDR3 SDRAM을 위한 다른 표준을 채택했다.
SDRAM은 또한 서버와 워크스테이션과 같은 더 큰 확장성을 요구하는 시스템을 위해 등록된 버전으로 제공된다.
오늘날 세계에서 가장 큰 SDRAM 제조업체에는 삼성전자, SK hynix, Micron Technology, Nanya Technology가 있다.
DRAM 성능에는 여러 가지 제한이 있다. 가장 중요한 제한은 읽기 사이클 시간으로, 이는 열린 행에 대한 연속적인 읽기 작업 간의 시간이다. 이 시간은 100 MHz SDRAM에서 10ns에서 DDR-400에서 5ns로 감소했으나, DDR2-800과 DDR3-1600 세대까지는 상대적으로 변경되지 않았다. 그러나 인터페이스 회로를 점점 더 높은 주파수로 작동시킴으로써 달성 가능한 대역폭은 급격히 증가했다.
또 다른 제한은 CAS 지연 시간으로, 이는 열거된 열 주소를 제공한 후 해당 데이터를 받는 시간이다. 이 또한 DDR SDRAM의 마지막 몇 세대 동안 10–15ns로 상대적으로 일정했다.
운영 중에 CAS 지연 시간은 SDRAM의 모드 레지스터에 프로그래밍된 특정 클록 사이클 수이며, 이는 DRAM 컨트롤러에서 예상한다. 값은 무엇이든 프로그래밍할 수 있지만, 너무 낮으면 SDRAM이 제대로 작동하지 않는다. 더 높은 클록 속도에서는 유효한 CAS 지연 시간이 자연스럽게 증가한다. 10–15ns는 DDR-400 SDRAM의 200 MHz 클록에서 2–3 사이클(CL2–3), DDR2-800에서는 CL4-6, DDR3-1600에서는 CL8-12에 해당한다. 더 느린 클록 사이클은 자연스럽게 더 적은 수의 CAS 지연 사이클을 허용한다.
SDRAM 모듈에는 자체 타이밍 사양이 있으며, 이는 모듈의 칩보다 느릴 수 있다. 100 MHz SDRAM 칩이 처음 등장했을 때, 일부 제조업체는 그 클록 속도에서 신뢰성 있게 작동할 수 없는 "100 MHz" 모듈을 판매했다. 이에 대응하여 인텔은 PC100 표준을 발표했으며, 이 표준은 100 MHz에서 신뢰성 있게 작동할 수 있는 메모리 모듈을 생산하기 위한 요구 사항과 지침을 제시했다. 이 표준은 널리 영향을 미쳤으며, "PC100"이라는 용어는 빠르게 100 MHz SDRAM 모듈의 일반적인 식별자로 자리 잡았고, 모듈은 이제 "PC" 접두사 번호(PC66, PC100 또는 PC133)로 지정되는 경우가 많다(단, 숫자의 실제 의미는 변경되었다).
모든 명령은 클록 신호의 상승 엣지를 기준으로 타이밍이 맞춰진다. 클록 외에도 여섯 개의 제어 신호가 있으며, 대부분은 낮은 신호에서 활성화되며 클록의 상승 엣지에서 샘플링된다.
CKE 클록 활성화. 이 신호가 낮으면 칩은 클록이 멈춘 것처럼 동작한다. 어떤 명령도 해석되지 않으며, 명령 지연 시간이 경과하지 않는다. 다른 제어 라인의 상태는 중요하지 않다. 이 신호의 효과는 실제로 한 클록 사이클 지연된다. 즉, 현재 클록 사이클은 정상적으로 진행되지만, 그 다음 클록 사이클은 무시되며, CKE 입력을 다시 테스트하는 것 외에는 아무것도 하지 않는다. 정상 작업은 CKE가 높게 샘플링된 후 그 다음 상승 엣지에서 재개된다. 다시 말해, 다른 모든 칩 작업은 마스크된 클록의 상승 엣지를 기준으로 타이밍된다. 마스크된 클록은 입력 클록과 CKE 신호가 이전 상승 엣지에서 상태를 논리적으로 AND 연산한 것이다.
SDRAM(동기식 동적 랜덤 액세스 메모리)의 구조와 작동 방식은 다음과 같다.
기본 구조와 작동:
전형적인 SDRAM 모듈은 512 MB DIMM와 같은 크기를 가질 수 있으며, 여러 개의 SDRAM 칩으로 구성된다. 예를 들어, 512 MB DIMM은 512 Mbit의 데이터를 저장하는 8개 또는 9개의 SDRAM 칩으로 구성될 수 있다. 이 칩들은 종종 더 넓은 데이터 경로를 제공하기 위해 그룹화되며, 예를 들어 64비트(또는 오류 검사를 위한 72비트)의 경로를 제공한다. 각 칩은 보통 4개의 독립적인 메모리 뱅크를 가지며, 각 뱅크는 8,192개의 행과 16,384비트의 데이터가 있다.
주요 작업:
- 활성화 명령 (행 열기):
- 메모리에 접근하기 위해서는 먼저 뱅크의 행을 "열어야" 한다. 이는 활성화 명령을 통해 특정 행을 선택하고 이를 메모리의 센스 증폭기에 로드하는 방식으로 이루어진다.
- 이 작업은 행을 새로 고침하는 부수적인 효과도 있다. 동적 메모리 셀은 용량성으로, 주기적으로 데이터를 새로 고쳐야 한다.
- **행-열 지연(tRCD)**이라고 불리는 최소 지연 시간이 지나야만 읽기나 쓰기 작업을 할 수 있다.
- 읽기/쓰기 명령:
- 행이 활성화된 후에는 열 주소를 지정하여 데이터를 읽거나 쓸 수 있다.
- 데이터 버스는 한 번의 명령으로 여러 연속된 데이터 단어를 전송하는 버스트 방식으로 데이터를 전송한다. 읽기 명령은 몇 개의 클록 주기 후에 데이터가 출력된다. 이는 CAS 대기시간에 따라 다르다.
- 쓰기 명령은 활성화된 클록 엣지에서 데이터를 데이터 버스로 구동하는 방식으로 수행된다.
- 프리차지 명령 (행 닫기):
- 메모리 컨트롤러가 다른 행에 접근하려면 먼저 현재 행을 프리차지하여 닫아야 한다. 이는 메모리가 새로운 명령을 받을 준비가 되었음을 보장한다.
- 프리차지에는 **tRP(행 프리차지 시간)**이라고 불리는 최소 지연 시간이 필요하다.
- 자동 새로 고침:
- SDRAM 칩은 자동 새로 고침 기능을 지원하여 각 뱅크의 모든 행을 동시에 새로 고친다. 이는 각 행을 수동으로 활성화하고 프리차지하는 대신 메모리 컨트롤러가 적절한 수의 자동 새로 고침 명령만 발행하면 된다.
명령 상호작용 및 타이밍:
- 작동 없음(NOP) 명령은 항상 허용되며, 다른 명령은 현재 뱅크의 상태에 따라 순차적으로 처리된다.
- 뱅크가 활성화되면 다음 명령을 실행할 수 있다: 읽기, 쓰기, 버스트 종료, 프리차지. 예를 들어:
- 버스트 종료 명령은 진행 중인 버스트 읽기나 쓰기 작업을 중단한다.
- 프리차지 명령은 활성화된 행을 닫는다.
- 메모리 컨트롤러는 읽기/쓰기 버스트와 프리차지 또는 종료 명령의 복잡한 상호작용을 처리해야 한다. 예를 들어, 읽기 명령이 발행되면 후속 읽기는 다른 읽기, 버스트 종료 또는 프리차지 명령으로 중단될 수 있다.
프리페치 아키텍처 (DDR SDRAM 용):
- DDR SDRAM은 프리페치 버퍼를 사용하여 메모리 접근을 더 효율적으로 만든다. 한 번의 접근으로 연속된 여러 데이터 단어를 읽어들여 데이터를 빠르게 전송한다.
- 예를 들어, DDR1에서는 프리페치 크기가 2n(두 데이터 단어)이다.
- DDR3에서는 프리페치 크기가 8n(여덟 데이터 단어)으로 증가하여 데이터 전송 속도가 크게 향상된다.
- 이 버퍼는 개별 열 주소 요청 없이 연속된 데이터 단어를 읽어들이므로 주소 요청에 따른 오버헤드를 줄여준다.
저전력 모드:
- SDRAM에는 여러 가지 저전력 모드가 있어 전력을 절약할 수 있다:
- 파워 다운 모드: 메모리 컨트롤러가 활성화되지 않고 모든 뱅크가 유휴 상태일 때, 메모리는 파워 다운 모드로 들어가 최소한의 전력만 소비한다.
- 셀프 리프레시 모드: SDRAM은 내부적으로 새로 고침을 수행할 수 있는 셀프 리프레시 모드에 들어간다. 이 모드는 전력 소비를 줄이면서도 메모리 컨트롤러가 비활성화된 상태를 유지할 수 있다.
새로 고침 작업:
- SDRAM은 내부 카운터를 사용하여 모든 행을 자동으로 새로 고친다. 메모리 컨트롤러는 특정 시간 간격으로 자동 새로 고침 명령을 발행하기만 하면 된다.
최신 DDR SDRAM:
- DDR SDRAM은 프리페치 아키텍처를 사용하여 하나의 클록 주기 동안 여러 데이터 단어를 처리하며, 각 세대마다 프리페치 버퍼 크기가 다르다.
- DDR1은 2n 프리페치 크기를 사용한다.
- DDR3와 DDR4는 8n 프리페치 버퍼 크기를 사용하여 성능을 크게 향상시킨다.
- DDR5는 8n 프리페치 버퍼를 계속 사용하며, 추가적인 기능을 통해 성능을 더욱 개선한다.
'Computer > RAM' 카테고리의 다른 글
더블 데이터 레이트 동기식 동적 랜덤 액세스 메모리 [DDR SDRAM (Double Data Rate Synchronous Dynamic Random-Access Memory)] (0) | 2025.01.16 |
---|---|
동적 랜덤 액세스 메모리 [DRAM (Dynamic random-access memory)] (0) | 2025.01.14 |
정적 랜덤 액세스 메모리 [SRAM (Static random-access memory) / 1963 ~ ] (0) | 2025.01.13 |
바이폴라 CMOS [BiCMOS] (0) | 2025.01.12 |
금속-산화물-반도체 전계 효과 트랜지스터 [MOSFET / 1925 ~ ] (0) | 2025.01.11 |