본문 바로가기
DRAM

DRAM의 핵심 신호 (Pins)

by 토리윤 2022. 5. 27.

 이번 글에서는 DRAM의 동작을 설명할 때 항상 등장하게 되는 몇몇 신호들과 각 신호들의 역할에 대하여 정리해보도록 하겠습니다. 초기에 DRAM은 동기식(synchronous) 보다 비동기식(asynchronous) 방식으로 보통 설계되었습니다. 그러나 시간이 흐르며 기술이 발전됨에 따라 더 빠른 DRAM이 요구되면서 동기식으로 동작하기 위해 많은 신호들이 추가되었습니다. 우선 기본적인 신호들을 알아보고, DRAM의 신호들이 어떻게 발전되어 왔는지 살펴보겠습니다.

 

 어떠한 메모리든 기본적으로 주소와(address) 데이터가 존재합니다. 데이터를 읽거나 쓸 때, 해당 셀의 위치를 알려주기 위해 사용되는 신호가 어드레스 신호입니다. 보통 어드레스 신호선의 개수는 DRAM의 용량과 직접적인 관계가 있습니다. DRAM은 행 주소와 열 주소를 따로 주기 때문에, 각각의 어드레스를 동일한 신호선을 통해 입력해 줄 수 있습니다. 즉, 행 주소 개수만큼 2의 지수승과 열 주소 개수만큼 2의 지수승이 곱하기가 되어, 해당 메모리의 셀 개수 또는 메모리 크기가 되는 것이죠. 예를 들어, 단일 bank를 가진 DRAM이고, 단순히 하나의 명령에 한 개의 셀을 접근한다고 가정했을 때, 10개의 어드레스 신호로는 1Mb 용량의 DRAM을 접근할 수 있는 것입니다. 그런데 현재 사용되고 있는 DRAM은 한 번의 읽기 또는 쓰기 명령 시, 대부분 x4, x8 또는 x16의 multibit으로 접근하게끔 설계되어 있습니다. 예를 들어 x4 구성의 메모리의 경우 11개의 어드레스 신호만 필요한 것입니다. 여기서 우리가 이미 알고 있는 bank 주소가 추가되고, 2의 지수에 해당하는 bit 수만큼 어드레스를 접근할 수 있게 됩니다. 또한, DRAM의 DIMM(dual in-line memory module) 모듈에서는 rank의 개념도 추가되어 접근할 수 있는 용량이 더욱 커지게 됩니다.

 데이터 신호선의 경우 전달된 어드레스 신호에 의해 선택되는 셀들의 데이터 값을 읽거나 해당하는 셀들에게 데이터를 전달하는 쓰기 동작을 하게 됩니다. 쓰기 동작을 할 때에는, 데이터를 입력하기 위하여 data input pin, 읽기 동작을 할 때에는 데이터를 출력하기 위해 data output pin으로 구분되어 있습니다. 무엇보다도 data pin의 개수는 DRAM의 사용 목적에 따라 달라집니다. 빠른 동작 스피드를 요구하는 그래픽 작업에는 보통 넓은 데이터 폭의 DRAM이 요구됩니다. 이를 위해 x16 또는 x32 등의 data width가 높은 DRAM이 선호됩니다. 우리가 흔히 알다시피, x8의 경우는 byte write, x16의 경우는 word write로 구분됩니다. 어드레스 신호와는 다르게, 데이터 신호는 활성화되어있지 않을 때에 high impedance 값의 전압 상태를 유지하게 됩니다. 이렇게 해야 다른 신호선들에 영향을 주지 않게 됩니다. 또한, 일반적인 PC에서 사용되는 DRAM은 단일 칩이 아닌 여러 개의 칩으로 이루어져 있는 SIMM(single in-line memory module) 또는 위에서 언급한 DIMM의 형태로 설계됩니다. 그리하여 각각의 DRAM이 정해진 data width 만큼의 데이터 핀으로 할당되어 32비트 또는 64비트의 데이터 폭을 구성하게 됩니다. 주소와 데이터만큼 중요하게 다뤄지는 신호선들은 아래와 같습니다.

 Clock(CLK): Clock 신호의 경우 모든 SDRAM에서 타이밍을 맞추기 위한 기준 신호로 사용됩니다. 모든 신호선들이 이 신호선과 edge trigger로 동기화되어 동작하게 되고, 해당 신호는 high와 low 상태를 정해진 주기만큼의 시간 동안 반복하여 바뀌게 됩니다. 일반적인 회로를 예로 들자면 oscillator와 동일한 역할을 하게 됩니다.

 Clock Enable(CKE): 이 신호의 경우 SDRAM으로 인가되는 clock 신호를 차단하거나 흐르게 하는 역할을 합니다. 이 신호는 clock 신호에 동기화되며, low일 경우 내부 clock 동작은 다음 clock cycle부터 무효하게 됩니다. 즉, 전압 레벨 및 신호 값들이 그대로 유지된 채 정지하고  다른 입력들은 무시되는 것입니다. 모든 bank 신호선들이 대기인 상태에서 이 신호가 low가 된다면, 해당 DRAM은 power down이라는 특수한 모드로 동작하게 됩니다.

 Row Address Strobe(RAS#): 이 신호의 경우 비동기식의 DRAM에서부터 사용되던 신호로써, 비동기식 DRMA의 경우 해당 메모리의 전체를 제어하는 신호와 비슷한 역할을 하게 됩니다. 이 신호가 활성화되어야 DRAM이 동작하기 때문입니다. 물론 chip enable 신호가 있지만 행 주소의 신호와 열 주소 신호가 각각 순차적으로 입력되기 때문에, 이 신호가 low가 될 때에 어드레스 신호에 있는 값들이 행 주소를 나타내게 되어 이러한 이름으로 불리게 되었습니다. 해당 신호 이름 뒤에 # 기호가 있는 이유도, low일 때 동작하기 때문입니다.

 Column Address Strobe(CAS#): RAS# 신호와 비슷하게도, 이 신호는 DRAM에서 열 주소에 해당하는 값이 전달되었음을 나타내는 신호입니다. 물론 고속 동작시에는 data path를 제어하는 기능을 함께 수행하게 됩니다. RAS# 신호가 인가된 뒤, 일정 시간 이후에 인가되게 됩니다. 그리하여 해당 DRAM은 어떠한 주소의 셀을 접근하게 되는지 알게 됩니다. 물론 항상 CAS# 신호가 RAS# 신호 뒤에 오는 것은 아닙니다. 그 외에 해당하는 경우는 메모리 동작 모드를 다룰 때 정리해 보도록 하겠습니다.

 Write Enable(WE#): 이 신호의 경우 해당 메모리에 활성화되어 있는 데이터 값이 쓰기 동작인지 아니면 읽기 동작인지를 나타내게 됩니다. 만약 해당 신호가 low 이면 쓰는 상태이고, 반대이면 읽는 상태가 됩니다. 이 신호는 CAS# 신호가 입력되는 시점에서 동시에 입력이 됩니다. 이 신호가 CAS# 신호보다 빨리 온다면 early write mode가 됩니다. 반대일 경우, delayed write mode가 됩니다.
 Output Enable(OE#): dl 신호의 경우 데이터 핀의 역할을 결정하게 됩니다. 이 신호가 low 일 때의 데이터 핀은 출력용이 됩니다. 즉, 데이터가 DRAM 외부로 나가서 출력을 하게 됩니다. High일 때에는 데이터 핀은 입력용이 됩니다. 이는 내부에 data-in pin과 data-out pin이 공유되었기 때문입니다. 


 -참고문헌-
Memory Systems: Cache, DRAM and Cross-Cutting Issue, Bruce Jacob 외, Elsevier.
DRAM 회로설계, 최성대 외, 홍릉과학출판사

'DRAM' 카테고리의 다른 글

DRAM 타이밍 파라미터 (Timing Parameter) - (1)  (0) 2022.05.28
DRAM의 Refresh 동작이란?  (0) 2022.05.25
DRAM의 간단한 Read 와 Write 동작  (0) 2022.05.21

댓글