SRAM 6T 셀, 읽기와 쓰기 안정성이 갈리는 이유

SRAM 6T 셀, 읽기와 쓰기 안정성이 갈리는 이유

놀이공원의 시소는 가만히 두면 한쪽 끝이 땅에 닿은 채로 머물러 있습니다. 반대쪽으로 넘기려면 누군가 힘껏 눌러야 하고, 구경하려고 살짝 건드렸을 뿐인데 넘어가 버리면 곤란하죠.

칩 속 캐시 메모리를 이루는 SRAM 6T 셀이 바로 이런 시소입니다. 이 글에서는 셀이 값을 붙잡는 구조와, 읽을 때와 쓸 때 요구가 정반대가 되는 이유를 차례로 살펴보겠습니다.

SRAM 6T 셀, 인버터 두 개가 서로를 붙잡는 구조

정적 메모리(SRAM, Static Random-Access Memory)는 전원이 켜져 있는 동안 값을 스스로 유지하는 메모리입니다. DRAM처럼 커패시터의 전하를 주기적으로 다시 써 줄 필요가 없고 접근이 빨라서, 프로세서의 캐시와 레지스터 파일 같은 곳에 쓰입니다.

6T 셀은 트랜지스터 여섯 개로 한 비트를 저장합니다. 풀업 PMOS 두 개와 풀다운 NMOS 두 개가 인버터 두 개를 이루고, 두 인버터의 입력과 출력을 서로 엇갈려 연결합니다. 나머지 NMOS 두 개는 저장 노드와 비트 라인 사이의 문을 지키는 접근 트랜지스터(Access Transistor)입니다.

6T 셀의 구성

  • 저장 노드 Q와 QB: 한쪽이 1이면 다른 쪽은 0입니다.
  • 풀업 PMOS(PU) 두 개: 저장 노드를 전원(VDD) 쪽으로 끌어올립니다.
  • 풀다운 NMOS(PD) 두 개: 저장 노드를 접지 쪽으로 끌어내립니다.
  • 접근 NMOS(AC) 두 개: 게이트가 워드 라인(WL)에 묶여 있고, 켜지면 Q와 QB가 비트 라인(BL, BLB)과 이어집니다.

Q가 1이면 두 번째 인버터가 QB를 0으로 만들고, QB가 0이면 첫 번째 인버터가 Q를 1로 유지합니다. 서로의 출력이 서로의 입력을 떠받치는 이 양의 되먹임 덕분에 1과 0, 두 상태가 모두 안정적인 쌍안정(Bistable) 구조가 됩니다.

시소와 다른 점도 있습니다. 시소는 중력 덕분에 공짜로 머물지만, SRAM의 안정은 전원에서 계속 공급되는 전류로 유지됩니다. 전원이 끊기면 값이 사라지고, 한 비트에 트랜지스터를 여섯 개나 쓰니 면적도 큽니다.

읽기 안정성, 읽는 순간 셀이 흔들리는 이유

읽기는 비트 라인 두 개를 먼저 VDD로 프리차지(Precharge)한 뒤 워드 라인을 켜는 것으로 시작합니다. 접근 트랜지스터가 켜지면 셀의 두 노드가 각각 비트 라인과 이어집니다.

읽기 순서 (Q = 0, QB = 1을 저장한 셀)

  1. BL과 BLB를 VDD로 프리차지합니다.
  2. WL을 올려 접근 트랜지스터 두 개를 켭니다.
  3. 0을 저장한 쪽에서는 BL의 전하가 접근 트랜지스터와 풀다운 NMOS를 거쳐 접지로 빠져 BL 전압이 서서히 내려갑니다. 1을 저장한 쪽의 BLB는 거의 그대로 유지됩니다.
  4. 센스 앰프가 BL과 BLB의 작은 전압 차이를 증폭해 값을 읽습니다.

문제는 3번 단계입니다. 0을 저장한 노드 Q는 접근 트랜지스터를 통해 VDD로 충전된 비트 라인과 이어지므로, 접근 트랜지스터와 풀다운 NMOS가 전원과 접지 사이에서 전압을 나눠 갖게 됩니다. 그 결과 Q의 전압이 0 V에서 조금 솟아오릅니다.

솟아오른 전압이 반대편 인버터의 스위칭 문턱(트립 점)을 넘으면 QB가 내려가기 시작하고, 양의 되먹임이 그 방향으로 작용해 셀이 뒤집힙니다. 읽으려고 했을 뿐인데 값이 바뀌는 현상을 읽기 교란(Read Disturb)이라 합니다. SRAM은 읽어도 값이 변하지 않는다는 이해는 읽기 교란을 견디도록 설계했다는 전제 아래서만 맞습니다.

솟음을 줄이는 방법은 풀다운 NMOS를 접근 트랜지스터보다 강하게 만드는 것입니다. 풀다운의 W/L(폭 대 길이 비)을 접근 트랜지스터의 W/L로 나눈 값을 셀 비율(Cell Ratio, 베타 비율)이라 부르며, 이 값이 클수록 노드가 덜 솟습니다.

안정성을 숫자로 보여 주는 지표가 정적 잡음 여유(SNM, Static Noise Margin)입니다. 두 인버터의 전달 곡선 하나를 대칭으로 뒤집어 겹치면 나비 모양이 되고, 눈 안에 들어가는 가장 큰 정사각형의 한 변이 SNM입니다. 눈이 두 개이므로 작은 쪽을 기준으로 삼습니다.

접근 트랜지스터가 켜진 읽기 중에는 곡선이 찌그러져 눈이 작아지므로, 읽기 SNM은 값을 가만히 유지할 때의 홀드 SNM보다 작습니다. 쓰기 중에도 같은 워드 라인에 걸린 다른 열의 셀들은 읽기와 같은 조건에 놓이는 반선택(Half-select) 상태가 되므로, 읽기 안정성은 읽는 순간만의 문제가 아닙니다.

쓰기 여유, 접근 트랜지스터가 이겨야 하는 싸움

쓰기는 반대로 셀을 일부러 뒤집는 동작입니다. 한쪽 비트 라인은 VDD로, 다른 쪽은 0 V로 구동한 뒤 워드 라인을 켭니다. 눈여겨볼 점은 값이 낮은 비트 라인에 연결된 노드를 끌어내리는 동작이 핵심이라는 것입니다.

NMOS 접근 트랜지스터는 0 V는 잘 전달하지만 VDD는 문턱 전압만큼 깎인 채로 전달합니다. 그래서 셀에 1을 쓰는 일도 실제로는 반대편 노드를 0으로 끌어내려 두고 인버터의 되먹임이 나머지를 마무리하게 하는 방식으로 이루어집니다.

QB가 1을 저장하고 있고 BLB가 0 V라면, 접근 트랜지스터 AC2가 QB를 아래로 끌어당기고 풀업 PU2가 위로 당깁니다. AC2가 이겨 QB가 반대편 인버터의 트립 점 아래로 내려가면, 그다음은 양의 되먹임이 알아서 셀을 뒤집습니다.

쓰기 성공의 열쇠는 접근 트랜지스터가 풀업 PMOS를 이길 만큼 강한가입니다. 풀업의 W/L을 접근 트랜지스터의 W/L로 나눈 값을 풀업 비율(Pull-up Ratio)이라 하고, 이 값이 작을수록 쓰기가 쉽습니다. 문헌에 따라 분자와 분모를 반대로 정의하기도 하니, 숫자를 볼 때는 정의부터 확인해야 합니다.

쓰기 여유(Write Margin)는 정의 방식이 여럿이지만, 쓰기를 성공시키는 데 얼마나 여유가 남았는지를 나타낸다는 점은 같습니다. 쓰는 쪽 비트 라인 전압을 0 V에서 조금씩 올려 가며 셀이 더는 뒤집히지 않는 지점까지의 거리로 재는 방법이 흔히 쓰입니다.

접근 트랜지스터 크기를 두고 벌어지는 줄다리기

읽기는 접근 트랜지스터가 약할수록, 쓰기는 강할수록 유리합니다. 같은 트랜지스터를 두고 두 동작이 반대 방향으로 잡아당기는 줄다리기인 셈이죠.

그래서 SRAM 6T 셀의 크기 설계는 풀다운이 가장 세고 접근 트랜지스터가 그다음, 풀업이 가장 약한 순서를 출발점으로 삼습니다. 풀다운이 접근보다 세서 읽기에서 노드가 크게 솟지 않고, 접근이 풀업보다 세서 쓰기에서 노드를 끌어내릴 수 있습니다. 정공 이동도가 낮은 PMOS는 같은 크기에서도 전류가 작아 풀업을 약하게 만들기 쉽습니다.

가상 예시, 상대 W/L 비율풀다운 3, 접근 2, 풀업 1이라면 셀 비율은 3 / 2 = 1.5, 풀업 비율은 1 / 2 = 0.5입니다.

접근 트랜지스터를 1.5로 줄이면 셀 비율은 3 / 1.5 = 2.0으로 읽기에 유리해지지만, 풀업 비율은 1 / 1.5로 약 0.67이 되어 쓰기는 불리해집니다.

이 숫자는 비율이 움직이는 방향을 보이려는 가상의 값입니다. 실제 안정성은 소자의 전류 특성과 전압, 온도에 따라 달라지므로 회로 시뮬레이션으로 확인합니다. FinFET 공정에서는 폭을 연속으로 고를 수 없고 핀 개수 단위로만 정할 수 있어서, 비율 조절이 핀 개수의 조합을 고르는 일로 바뀝니다.

전압이 낮아질수록 커지는 부담과 보조 기법

전압을 낮추면 셀의 부담은 더 커집니다. 트랜지스터가 약해지고 인버터 전달 곡선의 기울기가 완만해져 SNM이 줄어들기 때문입니다.

더 큰 문제는 셀마다 다른 산포입니다. 같은 설계로 만들어도 도핑 원자의 개수와 위치가 요동치는 등의 변동 때문에 문턱 전압이 셀마다 조금씩 달라지고, 좌우 대칭이 무너진 셀은 SNM이 더 줄어듭니다. 어레이에는 수백만에서 수십억 개의 셀이 들어 있으니, 가장 약한 셀 하나가 전체의 최소 동작 전압(Vmin)을 정합니다.

대책은 두 갈래입니다. 하나는 동작하는 순간에만 조건을 바꾸는 보조 회로로, 읽기에서는 워드 라인 전압을 살짝 낮춰 접근 트랜지스터를 약하게 하고, 쓰기에서는 비트 라인을 0 V보다 낮은 음전압으로 내려 접근 트랜지스터를 돕습니다. 다른 하나는 읽기 전용 경로를 따로 둔 8T 셀처럼 구조를 바꾸는 방식입니다.

8T 셀은 읽기가 저장 노드를 직접 건드리지 않아 읽기 교란이 사라지지만, 면적이 늘고 쓰기 문제는 그대로 남습니다. 저장 노드에 쌓인 전하가 작아질수록 우주선 입자 같은 외부 요인에 값이 뒤집히는 소프트 에러에도 민감해지므로, 안정성은 설계 단계에서 함께 따져야 합니다.

홀드, 읽기, 쓰기 비교 표

구분홀드읽기쓰기
접근 트랜지스터꺼짐켜짐, 비트 라인은 VDD로 프리차지켜짐, 한쪽 비트 라인은 0 V로 구동
노드의 움직임변화 없음0을 저장한 노드가 0 V에서 솟아오름1을 저장한 노드가 풀업을 이기고 끌려 내려감
주된 위험누설, 소프트 에러읽기 교란, 값이 뒤집힘쓰기 실패, 값이 안 뒤집힘
핵심 비율해당 없음셀 비율, 풀다운 / 접근풀업 비율, 풀업 / 접근
안정성 지표홀드 SNM읽기 SNM쓰기 여유
유리한 설계 방향좌우 대칭, 충분한 전압풀다운 강하게, 접근 약하게접근 강하게, 풀업 약하게

핵심 정리

SRAM 6T 셀은 인버터 두 개의 되먹임이 만드는 두 안정 상태 위에서 동작합니다. 접근 트랜지스터 두 개가 시소의 문을 열고 닫으며, 읽기에서는 약할수록, 쓰기에서는 강할수록 유리하다는 정반대의 요구가 한 소자에 겹쳐 붙습니다.

이 요구를 함께 만족시키는 출발점이 풀다운, 접근, 풀업 순서의 세기입니다. 전압이 낮아질수록 이 여유가 얇아지므로 보조 회로와 구조 변경이 필요해지고, 시소를 건드리지 않고 넘기는 균형이 SRAM 설계의 핵심으로 남습니다.

면접 대비 질문

면접 대비 질문SRAM 6T 셀에서 읽기 안정성과 쓰기 여유가 서로 부딪히는 이유와, 설계에서 이를 조율하는 방법을 설명해 보세요.

[답변 포인트] 읽을 때는 비트 라인이 VDD로 프리차지된 채 접근 트랜지스터가 켜져 0을 저장한 노드가 솟아오르므로, 풀다운을 접근보다 강하게 하는 셀 비율을 키워야 한다고 말합니다. 쓸 때는 접근 트랜지스터가 풀업 PMOS를 이겨야 하므로 풀업 비율을 낮춰야 하고, 접근 트랜지스터의 크기가 두 요구와 반대 방향으로 묶인다는 점을 짚습니다. 풀다운, 접근, 풀업 순서의 세기를 기본으로 하되, 저전압에서 셀 산포가 최소 동작 전압을 정한다는 점과 읽기·쓰기 보조 회로, 8T 셀 같은 대안까지 덧붙이면 좋습니다.