본문 바로가기
기억하고 싶은 지식/반도체

[전자/반도체/면접질문] DRAM에서 Refresh가 필요한 이유는 무엇일까? Retention Time의 의미

by Remember-me 2026. 11. 5.
반응형

DRAM은 전원을 켜 놓아도 데이터를 그대로 영원히 보관하지 못합니다. 저장 커패시터를 회로에서 떼어 두더라도 전하가 완벽하게 갇혀 있지는 않기 때문입니다. 그래서 메모리에는 계산과 무관하게 반복해야 하는 보존 작업이 있습니다.

Q1. 면접관 질문

DRAM에서 Refresh가 필요한 이유는 무엇인가요? Retention Time과 Refresh 주기를 구분하고, 성능·전력에 미치는 영향도 설명해 보세요.

Q2. 핵심 원리

전원이 있어도 저장 노드는 완전히 고립되지 않는다

Refresh는 누설로 약해진 셀의 전하 상태를 판별하고 다시 충분한 상태로 복원하는 동작입니다. 접근 트랜지스터를 꺼도 Subthreshold 전류, 접합 누설, 절연막·결함 관련 경로 등이 남습니다.

누설의 방향과 크기는 저장 상태 및 전위에 따라 달라집니다. 따라서 모든 셀의 전압이 같은 속도로 0 V를 향해 떨어진다는 그림은 지나친 단순화입니다. 본질은 저장된 두 상태를 구별하는 감지 여유가 시간에 따라 줄어든다는 점입니다.

저장 노드의 전압 변화 크기는 단순 모델에서 다음과 같이 추정할 수 있습니다.

|ΔV| ≈ |Ileak| × Δt / Ccell

일정한 누설과 용량을 가정하면, 용량이 작을수록 같은 시간에 전압이 더 크게 변합니다. 실제 셀의 누설은 전압과 온도에도 의존하므로 이 식은 직관용 근사입니다.

Retention Time은 셀의 보존 능력

보존 시간(Retention Time)은 주어진 온도·바이어스·판정 조건에서 셀 정보를 복원 없이 유지할 수 있는 시간입니다. 셀마다 편차가 있고 같은 셀도 조건에 따라 달라질 수 있습니다.

시스템은 평균적인 셀보다 짧은 보존 시간을 가진 셀을 고려해야 합니다. 온도가 높아지면 많은 누설 성분이 커지므로 더 빈번한 Refresh가 필요해질 수 있습니다. 특정 주기 숫자를 말할 때는 반드시 해당 세대와 제품의 데이터시트 조건을 확인해야 합니다.

Refresh 간격과 전체 보존 창은 다르다

Refresh 명령 사이의 평균 간격과 모든 대상 행을 갱신해야 하는 전체 시간 창을 구분해야 합니다. 개별 Refresh 명령이 점유하는 시간도 별개의 제약입니다. 이들을 하나의 Refresh Time으로 뭉뚱그리면 성능 분석에서 혼동이 생깁니다.

명령당 처리하는 행이나 Bank 범위, 허용되는 연기·당김은 메모리 규격과 모드에 따라 다릅니다. “명령 한 번이 물리적 한 행만 갱신한다”는 식으로 고정하지 않는 편이 정확합니다.

무엇을 다시 쓰는가?

Refresh는 모든 셀을 1로 충전하는 동작이 아닙니다. 선택된 행의 작은 신호를 Sense Amplifier로 판별한 뒤 원래 0 또는 1 상태를 복원합니다. 보통 데이터가 외부 I/O까지 나갈 필요는 없습니다.

정상적인 행 활성화와 복원도 해당 행의 보존에 기여하지만, 프로그램이 모든 행을 제때 접근한다는 보장은 없습니다. Micron FAQ의 DRAM Refresh 설명도 전체 행을 필요한 시간 안에 다뤄야 한다는 조건을 명시합니다.

 

보존 비용은 성능과 전력에 나타난다

Refresh 중에는 해당 자원에 대한 일반 접근이 제한될 수 있고, 행 구동과 감지·복원에도 에너지가 듭니다. Bank별 동작 등으로 영향을 완화할 수 있지만 보존 작업 자체가 사라지는 것은 아닙니다.

Self-refresh는 메모리가 내부적으로 보존 작업을 수행하는 모드입니다. 외부 컨트롤러의 명령 부담을 줄여도 필요한 전원 조건은 유지해야 합니다. 전원 없이 보존한다는 뜻은 아닙니다.

Q3. 30초 답변 예시

DRAM은 커패시터의 전하로 데이터를 저장하지만 트랜지스터와 접합 등의 누설 때문에 감지 여유가 줄어듭니다. Refresh는 행의 데이터를 감지한 뒤 원래 상태로 복원하는 작업입니다. 셀의 Retention Time과 명령 간격·전체 갱신 시간 창을 구분해야 하며, Refresh는 전력을 사용하고 일반 접근의 가용 시간에도 영향을 줍니다.

Q4. 심화 꼬리 질문

  • 자주 읽는 데이터도 무조건 사라지나요? 적절한 행 활성화·복원이 보존에 기여하지만 전체 메모리의 갱신 조건 충족 여부는 별도로 확인해야 합니다.
  • Refresh를 자주 하면 항상 좋은가요? 보존 여유는 확보하기 쉽지만 전력과 접근 시간 비용이 증가합니다.
  • RowHammer도 같은 문제인가요? 반복 행 활성화에 따른 인접 셀 교란 문제로, 단순한 자연 누설과 구분해야 하며 별도 완화 기법이 필요합니다.

 

반응형

댓글