본문 바로가기
DRAM

DRAM의 Refresh 동작이란?

by 토리윤 2022. 5. 25.

 이번 포스팅에서는 DRAM의 refresh 동작에 관하여 살펴보겠습니다. 일전에 읽기 및 쓰기 동작에서 살펴보았듯이, DRAM의 cell은 고립되어 있는 capacitor에 전하가 데이터의 형태로 저장되어 있습니다. 그러나 capacitor의 자연적인 특성상, 시간이 흐름에 따라 누설 전류가 발생하게 되고, 그에 따라 capacitor의 전압 값이 서서히 감소하게 됩니다. 따라서 데이터가 완전히 소멸되거나 해당 데이터의 값을 유지하지 못하는 전압 레벨이 되기 전에, 저장되어 있는 셀의 값을 확인하고, 이를 다시 원래의 값으로 써넣는 과정이 필요합니다. 즉, 셀이 원래 VDD 전압을 유지하고 있었다면, 해당 전압으로 write 하게 되고, 원래 0 V 또는 VDD의 절반 값에 해당하는 전압이었다면, 해당 값의 전압으로 write 하여 주는 것입니다. 이러한 동작이 DRAM의 refresh 동작이고, 이는 메모리의 중요한 특성인 데이터 보존성을 보장하는 매우 중요한 DRAM의 동작이 됩니다.


 이와 같이 중요한 refresh 동작은 일전에 살펴보았던 precharge 동작과 상당수 비슷한 구간이 있습니다. 우선 RAS# 신호를 활성화하여 row address에 해당하는 word line을 활성화하고, 이와 동시에 sense amplifier를 동작함으로써 이루어지게 됩니다. 이때 데이터의 출입이 존재하지 않고 sense amplifier만 동작하여 refresh 하는 RAS Only Refresh 방식이 있고, 읽기 및 쓰기 동작 시, 동시에 refresh 동작을 수행하는 방식의 두 가지가 있습니다. 다시 word line과 셀을 살펴보면, 하나의 동일한 word line에 연결되어 있는 모든 capacitors 즉, 셀들이 동시에 refresh를 하게 됩니다. 여기서 한 가지 주의 깊게 살펴볼 점은 바로 이 refresh 동작의 수행 주기입니다. Refresh 동작을 자주 수행하게 되면 그만큼 신뢰성 높은 데이터 보존성을 확보할 수 있습니다. 그러나 해당 refresh를 수행하는 시간 동안 읽기 및 쓰기 동작을 수행하지 못하게 됩니다. 또한, 반복적으로 전하를 채운다는 것은. 그만큼 에너지를 사용하게 된다는 것이고, 그에 따른 DRAM의 파워 손실도 증가하게 됩니다. 그렇기에 무조건적으로 refresh 동작을 늘릴 수는 없습니다. 이를 위해 약속된 것이 바로 refresh time입니다. 이는 어떠한 메모리 셀에 한 번의 refresh 동작이 수행된 이후, 또 다른 refresh 동작이 수행되기 전까지의 시간입니다. 또한, RAS# 신호의 수를 세어 refresh를 동작 주기를 정하게 되는데, 이를 refresh cycle이라고 합니다. Refresh time의 경우, 그 최댓값 시간이 정해져 있는데, 이를 maximum refresh time이라 부르고, 이는 해당 메모리 셀들이 그 데이터 값을 잃어버리기 전까지의 시간이 됩니다. 이 특성의 경우 메모리의 공정 레벨이나 셀의 크기와 같은 외부 요소에 관련되어 있습니다. 현재 시점에서 쉽게 볼 수 있는 DDR3나 DDR4의 경우 7.8 us의 refresh interval time으로 설계되어 있습니다. 이와 같이 refresh 동작의 수치에 관하여 과거 DRAM의 값을 함께 살펴보면, 256k의 DRAM에서는 4ms/256 cycle을 시작으로, 1M의 DRAM에서는 8ms/512 cycle을, 4M의 DRAM에서는 16ms/1024 cycle의 값으로 설계되어 사용되었습니다. 이후에, 16M의 DRAM에서는 1024, 2048, 또는 4096 cycle의 설계가 혼용되어 사용되었고, 64M, 128M의 DRAM부터 64ms/4096 cycle의 설계가 사용되기 시작했습니다. 256M와 512M의 DRAM에서부터 64ms/8k의 refresh cycle이 설계되어 사용되기 시작했습니다.


 Refresh 동작에서 살펴보았듯이, 해당 명령이 수행되는 동안에는, DRAM에 data를 읽거나 쓸 수 없는 상태가 됩니다. 그렇기 때문에 한 번 refresh 동작을 할 때마다 소요되는 시간은 기본적인 read 동작의 cycle과 같게 취급됩니다. 이와 같이 refresh 동작을 할 때 DRAM을 사용하지 못하는 시간 비율을 Busy Rate라고 부르고, 이는 DRAM의 read 동작을 수행하는 최소 read cycle에 걸리는 시간을, 최대 refresh 시간으로 나누어 주어 계산할 수 있고, 이 수치는 작을수록 DRAM의 성능이 좋은 것을 나타냅니다. 이와 같이 refresh는 DRAM의 신뢰성 레벨을 결정하는 매우 중요한 동작입니다. 다음 포스팅에서는 DRAM 동작을 이해하는데 필요한 필수적인 메모리 타이밍 파라미터에 관하여 살펴보도록 하겠습니다.

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

'DRAM' 카테고리의 다른 글

DRAM의 핵심 신호 (Pins)  (0) 2022.05.27
DRAM의 간단한 Read 와 Write 동작  (0) 2022.05.21
간단한 Sense Amplifier 동작 원리  (0) 2022.05.19

댓글