Ryotta's Basic

SRAM
🔲 SRAM 검증완료

SRAM 셀 변형 분석

SRAM 셀 변형과 저전력 구조

SRAM은 6T 셀을 기본으로 하지만, 공정 축소와 저전압 동작이 겹치면 read disturb, 누설 전류, soft error가 더 도드라집니다. 그래서 셀 자체를 바꾸거나 배열 운용 방식을 바꿔 읽기 안정성, 쓰기 용이성, 전력, 면적 사이의 균형을 다시 잡습니다.

이 문서는 8T와 10T 계열 셀, 그리고 ping-pong 방식의 SRAM 사용법을 함께 정리합니다. 8T와 10T는 셀 내부 경로를 바꿔 읽기 경로를 분리하거나 보강하고, ping-pong은 두 개의 뱅크를 번갈아 써서 대기 시간과 외부 메모리 접근을 줄이는 방식입니다.

SRAM 셀 변형 비교

1. 핵심 개념

6T 셀을 기준점으로 보는 이유

6T SRAM은 교차 결합 인버터 2개와 access transistor 2개로 이루어진 가장 널리 쓰이는 구조입니다. 읽기와 쓰기가 같은 비트라인을 공유하므로 구조는 단순하지만, 읽기 시 내부 노드가 bit line 쪽으로 흔들릴 수 있고, 저전압에서는 마진 확보가 더 어려워집니다.

8T 셀: 읽기 경로 분리

8T SRAM은 storage node와 read path를 분리해 읽기 동작이 저장 노드에 직접 가하는 부담을 줄입니다. 별도의 read bitline(RBL)을 두고 읽기 전용 경로를 만들면 read static noise margin이 좋아지고, 저전압에서도 동작 여유가 커집니다. 대신 트랜지스터 수가 늘어 면적과 누설 경로가 증가합니다.

실무에서는 8T를 단순히 transistor가 2개 늘어난 6T로 보기보다, read SNM을 끌어올리기 위한 분리형 read-port 셀로 이해하는 편이 맞습니다. CPU 저전압 캐시나 always-on buffer처럼 supply voltage를 공격적으로 낮추는 설계에서는 이 분리 효과가 수율과 동작 한계를 좌우합니다.

10T 셀: 더 강한 격리와 보호

10T SRAM 계열은 읽기 분리만으로는 부족할 때 추가 트랜지스터를 넣어 soft error, half-select, 저전압 문제를 함께 줄입니다. 대표적으로 differential read를 제공하는 구조나, stacked transistor를 써서 leakage를 낮추는 구조가 있습니다. 설계 목표는 같지만, 어떤 10T는 읽기 안정성에, 어떤 10T는 저전력과 강건성에 더 무게를 둡니다.

특히 write-assist를 약하게 쓰고도 hold/read 안정성을 확보해야 하거나, 방사선·자동차·산업용처럼 soft error 민감도가 높은 환경에서는 10T가 더 설득력 있는 선택이 됩니다. 대신 bitcell 면적뿐 아니라 wordline 구동, sense 경로, column peripheral까지 함께 복잡해진다는 점을 같이 봐야 합니다.

Ping-pong SRAM: 뱅크를 번갈아 쓰는 방식

Ping-pong은 셀 토폴로지라기보다 배열 운용 방식에 가깝습니다. 두 개의 SRAM 뱅크를 번갈아 active 상태로 두고, 한쪽이 계산이나 서비스 중일 때 다른 쪽은 갱신이나 적재를 수행합니다. 스트리밍 처리나 feature map 버퍼링처럼 연속성이 중요한 경로에서 외부 메모리 왕복을 줄이는 데 유리합니다.

2. 비교/분석

구조 읽기 경로 강점 한계 대표 용도
6T storage node와 공유 면적이 작고 구조가 단순함 read disturb와 저전압 한계가 있음 범용 cache, 일반 SRAM
8T read path 분리, RBL 사용 read stability와 저전압 여유가 큼 면적과 누설이 증가함 저전력 캐시, 고신뢰 셀
10T 추가 격리/보호 경로 soft error 완화, read/write 분리 강화 설계가 복잡하고 면적 부담이 큼 강건형 SRAM, 우주/저전압용
Ping-pong SRAM 두 bank를 교대 사용 대기 시간 은닉, 연속 처리에 유리 셀보다 시스템 설계가 복잡함 버퍼, CIM, 스트리밍 엔진

6T는 기준점, 8T는 읽기 안정성 강화, 10T는 강건성과 저전압 대응, ping-pong은 배열 운용 최적화로 보는 편이 정확합니다. 같은 SRAM이라도 해결하려는 문제가 다르기 때문에, 셀 수를 늘리는 방향과 뱅크 운용을 바꾸는 방향을 구분해서 봐야 합니다.

또한 8T와 10T의 차이는 단순한 transistor count보다 설계 목표 차이로 보는 편이 유용합니다. 8T는 read disturb 완화와 저전압 read margin 확보에 집중하는 경우가 많고, 10T는 여기에 half-select 보호, leakage 저감, SEU 완화 같은 조건을 더 얹는 경우가 많습니다.

3. 동작 원리

6T의 기본 읽기/쓰기

읽기 전에는 BL과 BLB를 precharge하고, WL을 올려 셀을 비트라인에 연결합니다. 셀 내부의 한쪽 노드가 약하게 방전되면 sense amplifier가 두 비트라인의 차이를 읽습니다. 쓰기는 반대로 비트라인 드라이버가 원하는 값을 강하게 밀어 넣어 래치를 뒤집습니다.

8T의 읽기 분리

8T는 읽기 전용 트랜지스터와 read bitline을 따로 두어 storage node가 직접 큰 bit line capacitance를 보지 않게 만듭니다. 그래서 읽을 때 내부 노드가 덜 흔들리고, write path는 기존과 비슷하게 유지할 수 있습니다. 이 구조는 저전압에서 특히 유리합니다.

대신 RBL precharge와 read stack discharge 조건을 별도로 설계해야 하므로, sense timing과 peripheral 회로가 6T보다 단순하지는 않습니다. 즉 bitcell 하나만 바꾸는 문제가 아니라 array 전체의 read scheme이 함께 바뀐다고 보는 것이 정확합니다.

10T의 추가 보호 경로

10T 계열은 읽기 경로를 더 강하게 분리하거나, 내부 피드백과 stacked device를 써서 누설과 soft error를 줄입니다. 일부 구조는 differential read를 유지하면서도 감지 여유를 높이고, 일부 구조는 홀드 전력과 SEU 복구를 우선합니다. 즉 10T는 단일한 셀이 아니라 목적별 설계 묶음으로 보는 것이 맞습니다.

이 때문에 10T는 논문마다 transistor 연결과 assist 방식이 꽤 다릅니다. 공통점은 6T보다 면적을 더 쓰는 대신, 읽기 중 내부 노드 교란과 half-select stress를 줄이고 극한 조건에서 데이터 보존성을 높이려는 방향이라는 점입니다.

Ping-pong의 교대 운용

Ping-pong 방식에서는 bank A가 읽기나 연산을 처리하는 동안 bank B는 다음 데이터를 채웁니다. 다음 단계에서 역할을 바꾸면 외부 메모리 대기 시간을 숨길 수 있고, 연속적인 데이터 흐름을 유지하기 쉽습니다. 이 방식은 메모리 셀 자체보다 컨트롤러와 배치 전략이 성능을 좌우합니다.

4. 장단점

장점

  • 8T와 10T는 read disturb를 줄여 저전압과 고신뢰 설계에 유리합니다.

  • 10T 계열은 soft error와 leakage를 함께 줄이는 방향으로 확장하기 쉽습니다.

  • Ping-pong은 외부 메모리 접근을 줄여 처리량과 에너지 효율을 함께 끌어올릴 수 있습니다.

단점

  • 8T와 10T는 트랜지스터 수가 늘어 면적과 비용이 커집니다.

  • 경로가 분리될수록 제어 신호와 sense amplifier 구성이 복잡해집니다.

  • Ping-pong은 셀보다는 시스템 설계 문제라서, 뱅크 수와 스케줄링이 잘못되면 이점이 줄어듭니다.

5. 관련 기술

6. 핵심 정리

  • 6T는 가장 단순하고 작지만, read disturb와 저전압 한계가 먼저 드러납니다.

  • 8T는 읽기 경로를 분리해 안정성을 높이고, 10T는 여기에 강건성과 저전력 목표를 더합니다.

  • Ping-pong은 셀 구조보다 배열 운용에 가깝고, 두 뱅크를 교대로 써서 연속 처리 효율을 높입니다.

  • 실제 설계에서는 면적, 전력, 안정성, 제어 복잡도를 함께 보고 셀 토폴로지와 뱅크 전략을 고릅니다.