낸드 셀 간섭과 문턱 전압 분포를 관리하는 원리
오래된 아파트에 살다 보면 옆집에서 못을 박는 소리나 위층 발소리가 벽을 타고 고스란히 전해집니다. 내 집에서 아무 일도 하지 않았는데 생활이 흔들리는 셈이죠.
낸드 플래시의 메모리 셀도 비슷한 처지에 놓입니다. 내 셀의 값을 바꾸지 않았는데도 이웃 셀을 프로그램하는 순간 내 상태가 조금씩 밀려나거든요. 이렇게 이웃한 셀끼리 서로의 저장 상태에 영향을 주는 현상을 낸드 셀 간섭이라고 부릅니다.
이 간섭을 그대로 두면 데이터를 읽을 때 0과 1을 가르는 경계가 무너집니다. 오늘은 간섭이 어디에서 오고, 그 결과인 문턱 전압 분포를 어떻게 좁게 관리하는지 하나씩 풀어 보겠습니다.
낸드 셀 간섭이란 무엇인가
낸드 셀은 부유 게이트(Floating Gate)나 전하 포획층(CTF, Charge Trap Flash)에 전자를 가두어 데이터를 저장합니다. 전자가 많이 갇힐수록 셀을 켜는 데 필요한 전압, 즉 문턱 전압(Vth, Threshold Voltage)이 높아지죠.
이 문턱 전압의 높고 낮음이 곧 저장된 비트의 값입니다. 그런데 셀이 워낙 촘촘하게 붙어 있다 보니, 한 셀에 갇힌 전자의 전기장이 바로 옆 셀의 전위에도 영향을 미칩니다.
낸드 셀 간섭은 바로 이 이웃 전하들끼리의 간섭을 가리킵니다. 내 셀을 건드리지 않아도 주변 셀이 프로그램되면, 그 전하가 만든 전기장 때문에 내 셀의 문턱 전압이 실제보다 높게 보이는 식이죠.
문턱 전압 분포가 좁아야 하는 이유
같은 값을 저장한 셀 수백만 개를 모아 문턱 전압을 측정하면, 하나의 값이 아니라 어떤 범위로 퍼진 산 모양이 나옵니다. 이 산이 바로 문턱 전압 분포(Vth Distribution)입니다.
낸드는 이 분포를 여러 개 세워 두고, 산과 산 사이의 골짜기에 읽기 기준 전압을 둡니다. 셀의 문턱 전압이 기준보다 높은지 낮은지를 보고 비트를 판정하는 것이죠.
한 셀에 비트를 여러 개 담는 TLC(Triple Level Cell)나 QLC(Quadruple Level Cell)에서는 좁은 전압 창 안에 산을 여덟 개, 열여섯 개씩 욱여넣어야 합니다. 그래서 각 산이 조금만 넓어지거나 옆으로 밀려도 이웃 산과 겹쳐 버리고, 그 순간 읽기 오류가 생깁니다. 분포를 좁게 유지하는 일이 곧 저장 밀도와 신뢰성을 동시에 지키는 길인 셈이죠.
간섭이 분포를 흩뜨리는 원리
간섭은 한 가지가 아니라 여러 경로로 들어옵니다. 가장 널리 알려진 것이 셀 간 커플링(Cell-to-Cell Coupling)입니다.
이웃 셀이 프로그램되어 전하를 얻으면, 그 전하가 기생 커패시턴스를 통해 내 셀의 부유 게이트 전위를 끌어올립니다. 먼저 쓴 셀이 나중에 쓴 이웃 때문에 문턱 전압이 올라가 보이는 것이죠.
평면 낸드 시절에는 셀이 평면에서 가까워질수록 이 커플링이 심해졌습니다. 반면 3D 낸드는 셀을 수직으로 쌓아 수평 간격을 벌린 덕에 커플링 부담을 크게 덜었지만, 대신 같은 채널 기둥을 공유하는 위아래 셀 사이에 새로운 간섭 경로가 생겼습니다.
여기에 프로그램과 읽기를 반복하며 전하가 터널 산화막 근처에 갇히는 현상, 시간이 지나며 전하가 새어 나가는 리텐션(Retention) 열화까지 겹치면 분포는 더 넓어지고 옆으로 밀립니다. 간섭을 단순히 옆 셀 하나의 문제로만 보면 이런 복합적인 분포 이동을 설명하기 어렵습니다.
분포를 관리하는 방법과 한계
가장 기본은 쓰는 순서를 바꾸는 것입니다. 이웃이 모두 채워진 뒤에 받는 간섭을 미리 반영하도록, 워드라인을 한 줄씩 건너뛰며 프로그램하는 순서를 설계합니다.
또한 한 번에 목표 전압까지 밀어 넣지 않고, 조금 넣고 확인하기를 반복하는 ISPP(Incremental Step Pulse Programming) 방식으로 분포를 촘촘하게 다집니다. 산을 급하게 쌓지 않고 얇게 여러 번 다져 폭을 줄이는 것이죠.
그래도 남는 오류는 읽을 때 기준 전압을 조금씩 옮겨 가며 다시 읽는 리드 리트라이와, 틀어진 비트를 바로잡는 강력한 오류 정정으로 메웁니다. 다만 이 모든 기법에는 쓰기 속도 저하나 설계 복잡도라는 비용이 따릅니다. 간섭을 완전히 없애기보다, 감당할 수 있는 수준으로 분포를 묶어 두는 것이 현실적인 목표인 셈이죠.
간섭 원인별 특징 비교
간섭은 원인마다 생기는 시점과 대응 방법이 다릅니다. 아래 표로 갈래를 정리해 두면 머릿속이 한결 깔끔해집니다.
| 구분 | 셀 간 커플링 | 리텐션 열화 |
|---|---|---|
| 발생 시점 | 이웃 셀 프로그램 직후 | 저장 후 시간이 지나며 |
| 분포 변화 | 위로 밀림(폭도 넓어짐) | 아래로 밀림 |
| 주 원인 | 이웃 전하의 전기장 | 전하 누설 |
| 주 대응 | 프로그램 순서, ISPP | 리드 리트라이, 리프레시 |
핵심 정리
옆집 소음이 벽을 타고 내 집으로 넘어오듯, 낸드 셀 간섭은 이웃 셀의 전하가 전기장을 통해 내 셀의 문턱 전압을 밀어내는 현상입니다. 셀이 촘촘할수록, 한 셀에 비트를 많이 담을수록 그 영향은 커지죠.
그래서 낸드는 프로그램 순서 조정과 ISPP로 분포를 좁게 다지고, 리드 리트라이와 오류 정정으로 남은 오차를 메웁니다. 간섭을 없앨 수 없다면, 문턱 전압 분포를 골짜기가 뭉개지지 않을 만큼 좁게 관리하는 것이 낸드 설계의 핵심 과제입니다.
면접 대비 질문
면접 대비 질문
Q. 낸드에서 셀 간 간섭이 문턱 전압 분포에 어떤 영향을 주며, 이를 완화하는 방법은 무엇인가요?
[답변 포인트] 먼저 이웃 셀이 프로그램되며 생긴 전하의 전기장이 기생 커패시턴스를 통해 대상 셀의 문턱 전압을 밀어 올려, 분포가 위로 이동하고 폭이 넓어진다는 점을 짚으면 됩니다. 분포가 넓어지면 TLC·QLC처럼 산이 많은 구조에서 이웃 산과 겹쳐 읽기 오류가 난다는 결과까지 연결하면 좋습니다. 완화책으로는 간섭을 미리 반영하는 프로그램 순서 설계, 분포를 촘촘히 다지는 ISPP, 그리고 읽기 단계의 리드 리트라이와 오류 정정을 함께 언급하고, 이 기법들이 쓰기 속도나 설계 복잡도라는 비용을 수반한다는 점까지 덧붙이면 완성도가 높아집니다.









