강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

rnjstns0721님의 프로필 이미지
rnjstns0721

작성한 질문수

디지털 회로설계 실무 : Computer Architecture 와 SoC 프로토콜 Digital IP 설계하기

집적도가 높은 DRAM Cell 모델링과 DRAM Interface 설계하기 (Pre-charge/Sensing/Restore등의 과정과 그에 따른 Command를 익혀봅시다.)

Precharge에 대한 질문

해결된 질문

작성

·

11

0

21분쯤 내용을 보면, Write 동작시에도 Write 이후 Pre Charge Stage를 거치는 것을 볼 수 있습니다. 만약 제가 8Bit에 해당하는 하나의 Word 라인을 선택하여,

'1001 0001' 이라고 Write를 했을때,

1로 선택된 Column은 Write Driver가 값을 밀어 넣어 Cap에 1로 Write가 되었을 것이고,

0으로 선택된 Column은 WBL을 통해 방전이 됬을 것입니다. 이러고 ACT를 Low로 내려서 Write 상태를 빠져나가게 되면 제 생각엔, Precharge를 할 필요가 없을 거 같은데 왜 Write 시에도 Precharge를 해주는지 궁금합니다!

Read Operation 시에는 RBL과의 Charge Sharing으로 인해서 어느정도 Cap에 저장되어 있던 전하가 소실되기 때문에 읽기 작업이 끝났으면 다시 소실된 전하를 채우기 위해 Refresh하는것은 이해한 상태입니다!

답변 1

0

안녕하세요, 답변 남겨드립니다.

질문 주신 Write 동작 후 Precharge 단계의 필요성은 DRAM의 구조적 특성과 인터페이스 동작 방식 때문에 반드시 요구됩니다. 말씀하신 것처럼 Write 시에 비트라인 쌍(Bitline pair, BL/BLB) 중 선택된 셀은 Write Driver가 강하게 값을 밀어 넣어 저장 캐패시터에 ‘1’ 혹은 ‘0’이 충전됩니다. 이 시점만 놓고 보면 원하는 데이터가 셀 내부에 이미 안정적으로 기록된 것처럼 보이기 때문에 추가적인 동작이 필요 없어 보일 수 있습니다. 그러나 실제 DRAM 구조에서는 다음과 같은 이유로 Write 이후에도 Precharge 과정이 요구됩니다.

첫째, 비트라인 전압의 불균형 문제 때문입니다. Write 동작 시 Write Driver는 BL과 BLB 중 하나를 Vdd 가까이로, 다른 하나를 GND 가까이로 강하게 밀어 넣습니다. 이렇게 하면 셀은 원하는 데이터로 기록되지만, 액세스가 끝난 시점에서 비트라인 쌍은 여전히 한쪽은 Vdd, 다른 쪽은 0V에 가깝게 불균형 상태로 남아 있습니다. DRAM의 Sense Amplifier 및 차후 Access 동작은 BL/BLB가 동일한 기준 전압(Vdd/2)에서 시작해야 정확히 동작하기 때문에, Precharge 과정이 필요합니다. Precharge 회로는 BL과 BLB를 모두 Vdd/2로 equalize 해주어 다음 Access의 초기 조건을 만족시킵니다.

둘째, Row 간 독립적인 접근을 위해서입니다. 하나의 Wordline을 비활성화한 후 바로 다른 Wordline을 활성화하려면, 공통 비트라인에 남아있는 이전 데이터의 전압 레벨이 제거되어야 합니다. 만약 Precharge 없이 곧바로 다른 Row를 열면, 새로운 셀에서 전달되는 미세한 전하(수 fF 수준)가 기존 Write 시 남아있던 비트라인 전압 차에 묻혀버려 Sense Amplifier가 올바른 판단을 하지 못할 수 있습니다. 따라서 DRAM 아키텍처에서는 “ACT → R/W → PRE”의 순서를 기본 Cycle로 정의하고, 각 단계가 끝날 때마다 비트라인을 초기화하는 과정을 필수적으로 거칩니다.

셋째, 실제 DRAM 타이밍 파라미터 관점에서도 Precharge는 Write 동작 후에 반드시 고려됩니다. 대표적으로 tWR(Write Recovery Time)과 tRP(Precharge Time)이라는 지연 시간이 정의되어 있습니다. 예를 들어 DDR3-1600에서 tWR은 약 15ns, tRP는 13.75ns 정도인데, 이는 Write 후 데이터가 Sense Amp에서 셀에 안정적으로 저장되고 난 뒤 Precharge가 완료되기까지 필요한 시간입니다. 서버용 DRAM에서는 이 두 파라미터를 합쳐 최소 수십 ns 단위의 지연이 발생합니다. 즉, 메모리 컨트롤러 차원에서도 Precharge는 Write 사이클의 필수 요소로 인식되고 타이밍 제약에 반영됩니다.

현업 예시를 들어보면, 삼성전자 DDR5 DRAM 컨트롤러 설계에서는 Write 동작 후 “Auto-Precharge” 옵션을 사용하여 컨트롤러가 별도의 Precharge 명령을 내리지 않아도 내부적으로 비트라인이 자동 초기화되도록 FSM을 설계합니다. 이 기능은 메모리 채널 효율을 높이는 핵심 기법인데, 그만큼 Precharge가 Write 후에도 빠질 수 없는 단계라는 의미입니다.

정리하면, Write 후에도 Precharge가 필요한 이유는 첫째, 비트라인 쌍을 다시 기준 전압(Vdd/2)으로 equalize하여 Sense Amplifier의 동작 조건을 만족시키기 위함이고, 둘째, Row-to-Row 간 간섭을 방지하기 위해서이며, 셋째, JEDEC DRAM 표준 타이밍 제약에도 반드시 포함되기 때문입니다. 따라서 단순히 셀에 데이터가 저장되었다는 관점이 아니라, DRAM array 전체의 재사용 가능성과 다음 Access를 위한 초기 조건 확보라는 시스템적 관점에서 보셔야 이해가 되실 것 같습니다.

rnjstns0721님의 프로필 이미지
rnjstns0721

작성한 질문수

질문하기