본문 바로가기
DRAM

DRAM의 간단한 Read 와 Write 동작

by 토리윤 2022. 5. 21.

 이번 포스팅에서는 DRAM의 read와 write 동작에 관해 간단하게 정리해 보도록 하겠습니다. DRAM의 경우 가장 기본적인 동작 요소로 3가지를 꼽으라면, 당연히 read, write, 그리고 refresh가 될 것입니다. 그만큼 읽고 쓰는 것이 메모리의 사용 목적이 되고, 올바른 값을 유지하는 보존성을 위한 refresh 동작이 DRAM에서 요구되는 핵심 사항이기 때문입니다. 이를 위해 64bit 크기의 DRAM을 예를 들어 살펴보겠습니다. Row decoder에 의하여 8개의 word line 중 하나의 라인이 선택됩니다. 이때 column decoder에 의하여 column select line 중 한 개를 high 전압으로 드라이브하여 주고, 이때 관련된 DB gate를 turn on 하게 됩니다. 8개의 bit line pair 중에서 선택되는 한 쌍의 bit line과 이에 연결되어 있는 sense amplifier에 의하여 입출력 DB line에 전기적인 신호가 연결됩니다. 읽기 동작을 수행하는 동안 DB에 전달된 값은 DB sense amp를 통해 증폭되고, 이후 data output 버퍼를 사용하여 외부로 전달되는 것입니다. 한편, 쓰기 동작시에는 DB line이 data input 버퍼에 연결되어 외부에서 입력되는 데이터에 드라이브되어 해당 DB의 전압이 바뀌게 되는 것입니다. Row address strobe 인 RAS# 신호가 디지털 0 값을 갖게 되는 타이밍에, 주소 단자에 있는 신호 값들을 row address로 인식하게 되고, 이를 내부 단자에 받게 됩니다. 이후, column address strobe 인 CAS# 신호가 디지털 0이 되고, 이때 address의 단자의 신호가 column address가 되어 내부로 입력되는 것입니다. 그리고 write enable 신호인 WE# 신호는 디지털 1 값을 유지하여 해당 DRAM에게 현재 read 동작을 수행 중임을 나타나게 됩니다.


 Sensing 동작이 완료되는 시간 이후에, column decoder가 활성화되고, 선택한 CD의 값이 디지털 1 값이 됩니다. 이때 선택된 CD가 켜지게 되고, sense amp가 보는 bit line pair의 capacitance가 증가한 것처럼 보이게 됩니다. 그렇기에 bit line pair가 벌어지는 폭이 줄어들게 되고, 이후에 다시 증가하게 되는 것입니다. DB line pair의 전위가 precharge 레벨인 VDD를 유지하게 됩니다. 또한, 7번째 DB gate만 on이기에, DB line pair 간에 전위 차이가 발생하게 됩니다. 만약 1이라는 값이 있었다면, DB line은 precharge 단계에서 약간 올라간 전위를 갖게 됩니다. 이렇게 발생하는 DB line pair 간에 전위 차이가 발생하는 것입니다. 무엇보다도, DRAM이 고속으로 읽기 동작을 수행하기 위해서는 DBSA의 감도가 높고, 상대적인 고속 동작이 가능하여야 합니다.

 

 그렇다면 sensing이 완료되면 column select에 의하여 데이터가 읽히게 되는 걸까요? 정답은 bit line과 DB line이 서로 연결되어 output enable(OE#) 신호를 줄 때 데이터가 읽게 된다는 것입니다. 그리고 sense amplifier에 의하여 셀의 값이 증폭되기 때문에, 이전에 DB gate를 켜게 되면 DB와 bit line의 charge sharing에 의하여 데이터가 상실될 가능성이 높습니다. 그렇게 되면 bit line의 전위차가 크지 않게 되는 것이고, 그로 인해 DB line 간의 전위차가 charge sharing에 의하여 작아집니다. 이는 회로로 하여금 DBSA를 감지하지 못하게 되는 것입니다. 이후, column select 신호에 디지털 0 값이 전달되고, bit line과 DB line의 연결이 끊어지는 것입니다. 물론 이후에 DB line pair는 다시 원래의 값인 VDD로 precharge 됩니다. 이후에는 word line 값이 디지털 0이 되어 column address 7번지의 셀은 bit line에서 끊어지게 되고, 이때 해당 데이터를 기억하는 상태가 됩니다. 남은 셀들은 rewrite 신호를 저장하게 됩니다. 마지막으로 VDD 절반값에 해당하는 전압인 precharge 전압과 equalize를 하게 됩니다.


 쓰기 동작의 경우 읽기 동작과 그 시작은 비슷합니다. RAS# 신호가 low일 때, 어드레스 단자에 있던 신호를 row address로 전송합니다. 이후 CAS# 신호가 low가 될 때, 해당 어드레스 단자의 신호가 column address 내부에 전송되는 것입니다. 물론, 이때 write enable(WE#) 신호가 low가 되어 읽기 동작을 하고 있음을 알려주게 됩니다. Sensing 동작이 완료되는 시점에서 column decoder 가 활성화되고, 이후에 선택한 column이 high 신호가 됩니다. 이후에 sense amplifier는 DB line의 전압에 의하여 드라이브되고, 이때에 값이 1을 쓰게 된다면, 전압은 full VDD까지 상승하게 됩니다. 마지막으로 column select 신호가 low가 되어 BL 신호와 DB line 연결이 끊어지게 됩니다. 마지막으로 해당 word line이 low가 되어 해당 column 주소의 cell은 bit line이 단락 되게 되고, 해당 셀은 그 값을 저장하게 되는 것입니다. 이후에 bit line pair를 high로 드라이브하여 VDD 절반값에 해당하는 전압을 유지하게끔 precharge와 equalize 해줍니다. 이후의 포스팅에서는 refresh 동작과 그에 관련된 회로에 대하여 살펴보겠습니다.

 

 

-참고문헌-

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

'DRAM' 카테고리의 다른 글

DRAM의 Refresh 동작이란?  (0) 2022.05.25
간단한 Sense Amplifier 동작 원리  (0) 2022.05.19
DRAM 회로의 구성과 기본 동작  (0) 2022.05.18

댓글