반도체 스터디/엔지닉 빡공 스터디(24기)

7/19 (화) 엔지닉 반도체 빡공 스터디 2일차

승이네 2022. 7. 19. 16:59
반응형

 

3차시 메모리 계층도 & SRAM

 

1. 메모리 계층도

 

우리들이 가장 많이 사용하고 있는 Computing System은 폰노이만(Von Neumann) 아키텍쳐를 따르고 있다.

-폰노이만 아키텍쳐 : CPUMemory간의 data, program을 주고 받으면서 Computing(연산)이 이루어지는 것

 

문제점

CPUMemory 사이에 Speed차이가 발생한다(Speed Mismatch) => 병목현상 발생

개선

뉴로, 양자컴퓨팅이 개발되고 있다.

 

 

SRAM(Static Random Access Memory)

- CPU가 빈번하게 사용하는 데이터 저장 -> 캐시 메모리

- 메모리 중 가장 빠름 => Tr로만 구성되어 있어 굉장히 빠르다.(다른 메모리처럼 Cap이나 저장매체 X)

- Cell 면적이 크다 -> 낮은 용량 -> 높은 단가

- 휘발성 메모리(Volatile)(외부에서 Vdd, Vss가 공급되어야 한다)

 

DRAM(Dynamic Random Access Memory)

- 컴퓨터의 주 메모리(main memory) 역할

=> Capdata를 저장(시간이 지나면서 전하 빠져나가 주기적으로 Restoring(Refresh)를 해줘야 한다.) -> SRAM대비 Cell면적이 낮다

- 속도, 용량, 가격 -> SRAMNAND Flash 사이에 위치

- 휘발성 메모리(Volatile)

 

NAND Flash

- 스토리지 메모리(SSD, USB, HDD) 역할

- Tr 1개로 구성 -> Cell 면적이 작다 -> 높은 용량 -> 낮은 단가

- 속도 느림

- 비휘발성 메모리

 

클라우드 스토리지(Cloud Storage)

- 인터넷 기반

- 속도 느리고 보안 취약 But 언제, 어디서나 접근할 수 있는 메모리

- 비휘발성 메모리

 

 

2. SRAM(Static Ramdom Access Memory) Cell 구조

 

SRAM Cell6(4+2)Tr로 구성 -> Cell면적이 큼 & 고속 동작

- 두 개의 CMOS 인버터가 서로 교차결합(cross coupled) -> 1bit (cell)

- 데이터 저장 latch Tr(4) + WL(Write Line) 제어 접근(access) Tr(2)

- 상보적(complementary) 데이터 형태로 저장(Q,Q’ -> BL(Bit-Line),BL’)

 

Static : 전원(Vdd, Vss) 공급 동안은 데이터 보존(Q,Q’ 값은 바뀌지 않는다. -> 휘발성(Volatile)

 

RAM : X(Row, WL), Y(Column, BL) 주소 지정 -> Memory cell array 내에 어디서든 임의 접근이 가능

 

 

3. SRAM Cell 동작 원리 대기 상태(data 보존)

 

SRAM이 대기상태 일 때, (WL)Word Line -> off

=>BL, BL’Latch Tr이 격리된 상태가 된다.

 

**대기상태일 때, BL & BL’ -> ‘1’로 예비 충전(pre-charge) 상태이다.(외부에서 전압이 항상 가해지고 있는 상태)

 

전원(Vdd/Vss) On -> Latch 상태 유지

 

 

4. SRAM Cell 동작 원리 쓰기 (Write)

 

이전 상태와 동일한 데이터 쓰기

- 대기상태일 때 Pre charge였던 BL, BL’WLOn(N2, N4 On)에 따라 Pre charge가 끊기게 된다. 하지만 동일한 데이터를 쓰는 것이므로 의미가 없다.

- P2, N1 On

- Cell Data 변화 없음

 

이전 상태와 반대 데이터 쓰기

- 대기상태일 때 Pre charge였던 BL, BL’WL On(N2, N4 On)에 따라 Pre charge가 끊기게 된다.(BL=1, BL’=0 data가 들어오게 된다) -> 이전 상태는 Q=0, Q’=1 (N1, P2 -> On)이다 => BL’=0이므로 방전되어 Q’0으로 방전된다.

- Q’ -> P2, N4를 통해 B’(0V)로 방전

- Q’=1 -> 0 => P1 On, N1 Off => Q -> 1

- *** Q’=1 -> 0 변화 조건 : N4 >> P2(구동능력) 파이프 크기로 생각하면 쉽게 생각이 가능하다. P2가 더 작게되면 입력되는 양보다 출력되는 양이 너무 적게되어 원하는 대로 변화하지 않게 된다.

 

 

5. SRAM Cell 동작 원리 읽기 (Read)

 

- 이전 상태 Q=0, Q’=1 (P2, N1 -> ON)

- 대기상태일 때, BLBL’은 모두 “1”Pre-charge WL On과 동시 부유 상태(floating)

- Floating란 어떤 구간에서 뚝 떨어지지 않고 일정구간 약간 유지되는 이유는 의도치 않은 기생 Cap 성분이 존재하게 되고 거기에 전하가 쌓여 BL, BL’Pre-charge였던 전압이 짧은 시간 동안 유지 되는 것이다.

- WL On(N2, N4 On)

- BL의 전하는 N2->N1을 통해 Latch 회로의 Vss로 방전됨

=> Free charge들이 빠져나가 BL=0

- 이때 BL의 전하로 인해 Q의 전위 상승 후 ‘0’으로 하강(Q’=1을 유지한다) => BL=0, BL’=1

- S/A(Sense Amplifier) => BLBL’의 전압 차이를 감지(Sensing) &증폭(Amplification)

- 만약, 전류 구동 능력 N2>>N1이면 Q지점의 전위가 “0” -> “1”로 바뀌어 Fail 가능성(Error) 있음 => 따라서 N2<<N1이렇게 해 줘야한다.

SRAM Tr의 구동 능력(Tr의 크기, ) : N1(N3)>>N2(N4)>>P1(P2) (쓰기, 읽기 종합)

=> 이 조건을 만족해야 Error가 제일 적게 일어나게 된다.

 

 

 

4차시 DRAM(1)

 

1. DRAM(Dynamic Random Access Memory) 셀의 구조

- Draom Cell1개의 nMOS Tr1개의 Cap으로 구성 (1T1C)

- Cap에 데이터 저장 -> 시간 경과 후 누설 전류에 의한 데이터 소실 -> 주기적으로 다시 쓰기(Refresh) (SRAM은 대기상태에서 전원만 공급해서 Static) => Dynamic

- 전원이 공급되지 않으면 데이터 소실 -> 휘발성(volatile) 메모리 소자

 

Cell Transistor, nMOS

1) 비트라인(BL) Bit Line

- Tr의 한쪽 SourceDrain에 접근해 있음

- Cap에 저장된 ChargeTr을 통해 BL로 외부로 나가게 되고 반대로 외부에서 Data가 들어오면 Tr을 통해 Cap에 저장함

- 쓰기, 읽기 시에 외부에서 셀로, 셀에서 외부로 데이터가 이동되는 통로 역할

 

2) 워드라인(WL) Word Line

- TrGate부분

- 비트라인과 데이터를 저장하는 셀 커패시터 사이를 연결하거나 끊는 스위치 기능을 하는 셀 트랜지스터의 게이트 역할

 

Cell Capacitor

3) 하부전극(SN) Storage Node

4) 유전체

5) 상부전극(CP) Cell Plate

3가지로 구성되어 있으며, 데이터를 저장하는 기능이다.

ex) 하부전극(SN)의 경우 ‘1’->충전 / ‘0’->방전

 

2. 시스템 내에서의 DRAM 역할 및 DRAM Chip 구성

 

CPUDRAM과의 상호작용

- CPU에서 지정하는 DRAM의 주소의 cell에 데이터(0 또는 1)를 쓰거나 읽는 동작(Address, Data, Control 신호)

 

- Cell Array(데이터 저장소)

=> 데이터를 저장하는 Cell Array

- Core(S/A, SWD)

=> CellX, YControl 하는 Core

- 주변회로 (Peripheral, DRAM 동작위한 제어 신호 처리)

=> CPU에서 Address를 지정해주는 주변회로

3가지로 구성

 

그 외에도 Control 회로인 /CAS(Column Address Strobe), /RAS(Row Address Strobe), /WE(Write Enable)

Column(Y) Decoder, Row(X) Decoder

Sub Word Line Driver(SWD), Sense Amplifier(S/A) 등으로 구성되어 있다.

 

 

3. DRAM 셀 동작원리 대기 상태

 

- DRAM이 쓰기, 읽기, 리프레스 등의 동작을 하지 않는 상태 -> Stand-by 상태

 

- WL off 상태 -> SN-BL 격리(Storage NodeBit Line이 격리되어 있다.) -> BLBL’에는 Vcore/2V_BL이 인가(Pre-Charge) (SRAM같은 경우 BLBL’이 모두 1이었지만 DRAMVcore/2의 값을 가진다.)

 

- 수조모델을 통해 BL의 기생 Cap성분이 많다는 사실을 알게 되었다. (C_B >> C_S)

=> 이때 대기 상태의 BL의 기생 Cap 성분인 C_B=Vcore/2 이다.

 

 

4. DRAM 셀 동작원리 쓰기 (Write ‘1’)

 

1) 대기 상태(C_S = 0인 상태)

- WL = Off

- Pre-Charge (BLBL’V_BL 공급)

 

2) 쓰기 동작(write ‘1’)

- WL = On & V_BL에 공급 중단 (Pre-Charge되어있던 V_BL 공급이 중단됨)

- BL을 통해(외부에서 전류 흘려줌) Vcore 전압 인가

- BL’Vss로 인해 반대인 ‘0’상태 => BL=1 BL’=0인 상태

- 따라서 커패시터 SN(Storage Node)‘1’ data 저장(충전)

 

3) 대기 상태(C_S = ‘1’ 저장)

- WL = Off

- Pre-Charge (BLBL’V_BL 공급)

 

=> 원래 C_S=0이었지만 쓰기 Data를 거쳐 C_S=1로 만듦.

 

 

5. DRAM 셀 동작원리 읽기 (Read ‘1’)

 

이전에 ‘1’(High Data) 저장(WL=Off) -> 읽기 동작(WL=On) -> C_SChargeTrBL을 지나 S/A까지 감 -> S/A(Sense Amplifier)가 증폭 -> 외부로 Data를 읽어들임

 

1) 대기 상태 (@이전 ‘1’저장)

- WL = Off

- Pre-Charge (BLBL’V_BL 공급)

 

2) 읽기 동작 (read ‘1’) - 전하공유(Charge Sharing)

- WL = On & V_BL 공급 중단 => BLFloating 상태(기생 Cap에 의해)

- Cell Cap(V_SN)BL Cap(V_BL)의 전위가 V’_BL로 동일해질 때까지 Cell Cap의 전하가 BL Cap으로 이동 (C_S1만큼 있던 물이 WL=On으로 열어 C_B쪽으로 이동

=> V_BL = Vcore/2 + ΔV_BL)

- V_SN(전하 공유 전) V_SN(전하 공유 후) -> 파괴적 읽기 (읽는 도중에 낮아지기 때문에)

 

3) 읽기 동작 (read ‘1’) - 증폭

- ΔV_BLS/A가 감지 -> BLBL’의 전위차 ΔV_BLS/A(Sense Amplifier)가 증폭

- BL -> Vcore, BL’ -> 0V => 이때 WL=On, 따라서 파괴적 읽기 문제 해소

- 외부로 데이터 출력 (Dout)

- 다시 대기 상태로 회귀

반응형