공부 기록/반도체

DRAM의 동작 - 대기, 읽기, 쓰기, Refresh 동작

tomatt0 2022. 3. 2. 15:42
반응형

1T1C로 하나의 트랜지스터와 하나의 커패시터로 구성된 DRAM은 커패시터에 전하를 충/방전 하며 데이터를 읽고 쓰게 된다.

 

DRAM의 구조

 

커패시터 특성상 누설전류가 발생하여 주기적으로 전하를 채워주는 refresh 동작이 필요하다. 하지만 SRAM 대비 높은 집적도와 저렴한 가격이라는 장점 때문에 DRAM이 더 많이 사용된다.

 

휘발성 메모리의 한 종류인 DRAM의 동작(대기, 읽기, 쓰기, refresh)에 대해 알아보자.

 

 


0. Bitline 과 wordline

본격적으로 들어가기에 앞서 기본 용어에 대해 정리하자.

 

앞선 포스팅에서 1T1C DRAM cell의 구조에 대해 살펴보았다. 하지만 실제 DRAM 메모리는 단일 셀로 구성된 것이 아닌 여러 개의 DRAM cell의 집합, 즉 array 형태로 이루어져 있다. 예를 들어 256bit DRAM이라고 하면 256개의 DRAM cell이 16X16 배열 형태로 구성되어있다.

 

따라서 수많은 DRAM cell 중 우리가 읽고/쓰기를 원하는 특정 대상 cell에 접근하기 위해서는 그 cell 고유의 주소 즉 위치를 알아야 한다. 이를 우리는 bitline, wordline을 통해 정의하기로 한다. 가로줄을 wordline, 세로줄을 bitline으로 정의한다.

 

Bitline 과 wordline

 

DRAM은 해당 셀 BL의 전압 변동분을 다른 BL과 비교하여 읽기 동작을 하기 때문에 두개의 BL을 구분하기 위해 BL과 BLb(~BL)로 명명한다.

 


1. Hold mode - 대기 동작

" WL = 0(Low) 이므로 Cell tr은 off 상태이고, BL은 0.5 * V(H)로 유지됨 "

1. Set WL to 0(Low).

2. Precharge BL to 0.5*V(H)

 


2. Read - 읽기 동작

" SA가 BL의 전압 변동분을 BLb와 비교하여 증폭시켜 데이터를 읽음 "

  1. Set WL to 1(High).
  2. Cut off 0.5V voltage supply to BL and make floating state.
  3. Diff.voltage at BL is amplified by comparing it with BLb using sense amplifier.
  4. Output is either Vdd or GND.
  5. Refresh.
  6. Return to hold mode.

 

DRAM 읽기 동작

 

  • 커패시터에 V(H)가 걸려있는 상태라면 전하가 커패시터에서 BL로 이동하면서 BL 전압이 약간 증가함
  • 커패시터에 V(L)가 걸려있는 상태라면 BL의 전하가 커패시터로 이동하면서 BL 전압이 약간 감소함

# Sense Amplifier의 역할

  1. 셀 데이터를 읽는다.
  2. 셀 데이터를 읽어올 때 데이터 손실이 있으므로 셀 데이터를 다시 V(H)로 refresh한다.

BL과 BLb 간 전압차가 클수록 쉽게 판별 가능하다. 그 값을 셀 커패시턴스(C(C))에 비례하고 기생 커패시턴스(C(B))에 반비례한다.

 

※ Destructive read이지만 SA를 통해 V(H) 또는 V(L)로 증폭시킨 값이 refresh 동작을 통해 다시 셀 커패시터에 쓰여지므로 문제 되지 않는다.

 


3. Write - 쓰기 동작

" WL = 1(High) 인 상태에서 쓸 데이터를 BL에 주면 데이터가 써짐 "

  1. Set WL to 1(High).
  2. Write data by setting BL voltage.
  3. Return to hold mode.

커패시터에 저장된 전하는 hold mode에서 WL를 off 시키면서 외부와 격리되어 쓰기 동작이 완료된다.

 

DRAM 쓰기 동작

 

  • BL에 V(H)를 인가하면 커패시터에 전하가 충전되며 데이터 '1'이 써진다.
  • BL에 V(L)를 인가하면 커패시터에서 전하가 방전되며 데이터 '0'이 써진다.

 


4. Refresh - 리프레쉬 동작

" 커패시터에 저장된 전하량이 시간이 지나면서 감소함에 따라 주기적으로 동일 데이터를 다시 써 주는 동작이 필요함 "

Sense amplifier가 누설전류를 인식할 정도의 전하 손실이 있기 전에 주기적으로 해당 셀에 동일한 데이터를 다시 써주는 동작이 필요하다. 이러한 특성에 따라 DRAM의 D는 dynamic을 의미한다.

 

Refresh 동작은 기본적으로 쓰기 동작과 유사하다.

 

  • t(REF) : Refresh 주기
  • t(RET) : 셀 보존 시간으로 데이터를 쓴 시점부터 sense amplifier가 0 또는 1을 감지할 수 있는 최소 전압 수준으로 전압이 떨어지기 전까지의 시간
  • t(REF) < t(RET)을 만족해야 한다.

 

Refresh 동작으로 인해 추가적인 전력 소모가 발생하고 동작속도가 저하된다. Refresh 동작 효율을 높이기 위해서는 셀 커패시턴스를 증가시켜 누설 전류를 감소시키거나 기생 커패시턴스를 줄이는 방안이 있다.

 

하지만 최근 미세화로 인해 충분한 셀 커패시턴스 확보가 어려워 소자의 특성을 조절하여 누설전류를 최소화하는 방안이 함께 고려된다. 또한, 아래와 같이 설계적 측면에서 refresh 효율을 개선하기 위한 솔루션이 있다.

 

  • Refresh 동작의 온도 의존성에 따라 refresh 주기를 조절하여 전력소모를 줄임
  • 전하 보유 시간 특성이 나쁜 DRAM cell은 더 자주 refresh 동작을 수행하고, 나머지는 더 긴 주기로 refresh 동작을 수행하도록 스케쥴링함

※ DRAM의 p-well에 음의 바이러스를 인가하는 이유 : 누설전류를 줄이고, 기생 커패시터의 커패시턴스를 감소시켜 SA가 인식하는 BL과 BLb간의 전압차를 늘리기 위해

 

반응형