모든 이야기

같은 NAND 셀에 비트를 더 넣으면, 무엇이 좁아질까?

두 색을 구분하던 눈으로 열여섯 색을 읽는다

종이에 검정과 흰색 두 가지만 인쇄하면 조금 바래도 구분하기 쉽다. 같은 종이에 아주 비슷한 회색 열여섯 단계를 넣으면 저장할 수 있는 정보는 늘지만, 번짐과 바램을 훨씬 정밀하게 다뤄야 한다. NAND 플래시가 한 셀에 여러 비트를 저장하는 방식도 이와 닮았다.

셀 안에 비트마다 독립된 작은 방을 만드는 것은 아니다. 저장층에 넣은 전하로 트랜지스터의 문턱전압을 조절하고, 그 문턱전압이 어느 범위에 속하는지 읽어 비트 묶음으로 해석한다. 문턱전압은 전류가 흐르기 시작하는 게이트 전압의 기준이다. 읽을 때는 기준 전압을 걸어 셀이 도통하는지 판별한다. KIOXIA의 다중 레벨 셀 원리

한 비트를 더 넣을 때 상태 수는 두 배가 된다

한 셀에 b비트를 담으려면 구분할 상태 수 N은 다음과 같다.

N = 2^b

b는 셀당 비트 수, N은 가능한 비트 조합의 수다. SLC는 1비트라 두 상태, 통상 2비트 셀을 가리키는 MLC는 네 상태, TLC는 3비트라 여덟 상태, QLC는 4비트라 열여섯 상태가 필요하다. ‘4비트니까 네 단계’라고 생각하면 안 된다. MLC라는 말은 넓게는 다중 비트 저장 기술 전체를 가리키기도 한다.

쓸 수 있는 문턱전압 범위를 비슷하게 유지한다고 생각해 보자. 여덟 상태를 열여섯 상태로 늘리면 이웃 상태를 구별할 공간이 줄어든다. 실제 상태 배치는 균등하지 않을 수 있고 공정마다 전체 범위도 다르지만, 더 많은 상태를 같은 범위에 넣으려면 더 정밀한 제어가 필요하다는 관계는 남는다.

TLC에서 QLC로 바뀌면 셀당 비트는 3개에서 4개가 된다. 저장량의 증가는 약 33%인 반면 구별해야 할 상태 수는 두 배다. 이는 셀당 정보량의 계산이며, 완제품 용량이나 속도가 같은 비율로 변한다는 뜻은 아니다. 저장 밀도를 얻는 속도와 판독의 어려움이 커지는 속도가 다르다는 점이 핵심이다.

상태는 가는 선이 아니라 폭을 가진 산이다

같은 값을 쓰도록 명령해도 수많은 셀의 문턱전압은 완전히 같지 않다. 제조 편차와 쓰기 과정의 차이 때문에 분포를 이룬다. 가로축을 문턱전압, 세로축을 셀 수로 그리면 각 상태가 폭을 가진 작은 산처럼 보인다. 이웃한 산의 꼬리가 겹치면 경계 근처의 일부 셀을 잘못 분류할 수 있다.

시간이 지나 저장 전하가 변하는 retention 현상, 이웃 셀의 영향, 반복한 프로그램·소거 때문에 누적되는 손상이 이 분포를 이동시키거나 넓힐 수 있다. 따라서 ‘처음에 정확히 썼다’는 사실만으로 나중에도 같은 기준으로 읽을 수 있다고 보장되지 않는다. 2015년 CMU 연구진은 실제 MLC 칩에서 저장 후 경과 시간에 따라 오류를 최소화하는 읽기 기준 전압이 달라짐을 조사했다. 당시 칩의 결과를 오늘의 모든 NAND에 같은 수치로 적용할 수는 없다. Cai 외, 데이터 유지시간 실측 연구

프로그램·소거 횟수와 데이터 유지시간도 서로 다른 질문이다. 전자는 얼마나 반복해 쓸 수 있는지, 후자는 기록한 상태를 얼마나 오래 판독할 수 있는지를 묻는다. 실제 내구성은 요구되는 유지시간과 온도, 오류 정정 조건까지 함께 정해야 의미가 있다.

좁아진 여유는 회로와 알고리즘이 함께 메운다

쓰기는 조금씩 전압 펄스를 주고 목표에 도달했는지 확인하는 과정을 반복할 수 있다. 미세하게 맞추면 분포를 좁힐 수 있지만 시간이 든다. 읽기 기준을 조절하거나 추가 판독을 하면 상태에 관한 정보를 더 얻을 수 있지만 지연과 에너지가 늘어난다. KIOXIA의 2024년 연구도 다중 레벨 저장의 읽기 횟수 부담을 줄이기 위해 셀 사이의 데이터 부호화를 바꾸는 방법을 제시했다. KIOXIA의 읽기 부호화 연구

ECC는 추가 검사 정보를 이용해 원시 읽기 오류를 교정한다. 더 강한 정정에는 저장 공간과 계산 비용이 필요하며, 정정 능력에도 한계가 있다. 셀의 물리적 오류율과 사용자가 받는 데이터의 오류율을 구분해야 하는 이유다. Cai 외, NAND 오류와 정정 분석, §IV·VI

따라서 ‘QLC라서 언제나 나쁘다’거나 ‘ECC가 있으니 셀의 여유는 상관없다’는 판단은 모두 조건을 놓친다. 제품의 공정과 컨트롤러, 사용 부하가 함께 작용한다. 셀에 비트를 더 넣는 일은 저장 칸을 공짜로 늘리는 마술이 아니라, 더 비슷해진 상태들을 끝까지 구분하도록 전체 시스템을 정밀하게 만드는 일이다.

같은 NAND 셀에 비트를 더 넣으면, 무엇이 좁아질까? · ariser