본문 바로가기
카테고리 없음

낸드플래시 메모리의 원리

by 성공으로 만들자 2020. 5. 4.

비휘발성 메모리에서의 문턱전압 ‘Cell_Vth’는 전류가 흐르기 시작하는 게이트 전압 값이라는 의미를 넘어, 제품의 집적도(Density)를 확장하는 마법의 요소입니다. 또한, 비휘발성 메모리에서는 Vth로 셀(Cell)이 정상상태인지를 판단할 뿐 아니라, 낸드플래시(NAND Flash) 메모리의 여러 동작 기능을 측정 및 표현할 수 있는 해결사 역할을 합니다. 이번 장에서는 문턱전압을 비휘발성 메모리의 용량 확장 영역에서 다뤄보도록 하겠습니다.

 

기억력이 좋은 비휘발성 메모리

▲ 비휘발성 저장기능을 하는 낸드 플래시 메모리 구조

휘발성 메모리는 반도체에 저장된 메모리가 휘발유처럼 쉽게 날아간다는 의미이고, 비휘발성 메모리는 한번 저장된 메모리는 없어지지 않는다는 의미를 가집니다. 휘발성 메모리는 저장할 데이터가 잠시 머물다가 이동하는 캐시 기능으로 주로 사용됩니다. 반면, 비휘발성 메모리는 캐시메모리에서 받은 데이터를 반영구적으로 저장할 수 있는 디바이스로 사용됩니다. 반영구적인 데이터는 플로팅게이트(Floating Gate, FG)라는 폐쇄적인 공간을 만들어 전자를 포획해 저장하는데요. 한마디로, NAND Flash=MOSFET+FG로 보면 되겠습니다. 휘발성 메모리의 대표적인 반도체가 디램이라면, 비휘발성 메모리의 대표는 낸드플래시입니다.

채널형성을 방해하는 플로팅게이트

▲ 플로팅 게이트 내의 전자 개체 수와 비례관계를 나타내는 문턱전압(Cell_Vth)

문턱전압의 기본 기능은 낸드플래시에서도 일반 MOSFET의 기능과 동일합니다. 단, 낸드플래시에서는 플로팅게이트 내 포획된 전자량에 따라 문턱전압 값을 조절하는데요. 즉, 플로팅게이트 내에 머물고 있는 마이너스 전자가 많을수록 Sub의 마이너스 채널 형성을 어렵게 하므로, 동일한 채널 두께를 만들려면 플러스 게이트 전압을 올려야 합니다. 그렇기 때문에 결국 Cell_Vth가 전자량에 비례적으로 상승하는 결과를 초래합니다. 반대로 플로팅게이트 내에 전자를 없앨수록 Vth는 낮아집니다. (ON 상태일 때에는, 채널 두께와 드레인 전류(Id)는 항상 일정하다는 조건)

 

낸드플래시의 마술, bit 수 확장

▲ 셀 내에 멀티(multi) 경우의 수를 가능하게 하여 bit 수를 확장한 개념

비휘발성 메모리는 휘발성 메모리의 단일 셀 대비 단일 bit 개념에서 탈피하여, 단일 셀 대비 bit 수를 2~3배로 확장할 수 있습니다. 그렇다면 낸드플래시는 문턱전압 Vth를 이용하여 어떻게 bit 수를 늘릴 수 있을까요?

그 비밀은 셀 내 경우의 수를 여러 개 만들어 bit 수를 늘린다는 것입니다. bit 수(n)를 늘리려면 경우의 수를 2^n가지로 만들어내야 하는데요. 2개 bit는 4가지 경우의 수를, 3개 bit는 8가지 경우의 수가 가능해야 합니다. 플로팅게이트에 채워지는 전자량을 조절하면 경우의 수를 계산상으로는 무한정 구분해낼 수 있습니다만, 현재 제품기술적으로는 1개 플로팅게이트 당 경우의 수가 최대 8가지 옵션까지만 가능합니다. 플로팅게이트 내에서는 전자를 몇 개 저장하느냐에 따라 Vth값이 구분됩니다. 그러므로 플로팅게이트 내에 일정량의 전자량을 원하는 기간 동안 가두어 둘 수 있으면 Vth값은 항상 일정하게 유지되고, 그것을 이용하여 4가지 혹은 8가지 옵션을 구분해냅니다.

 

낸드플래시 제품 구분

▲ 셀 당 bit 수 증가에 따른 낸드 플래시의 제품 종류

용량 측면에서 디램은 1개 셀이 곧 1개 bit 만을 의미합니다. 하지만 낸드 플래시에서는 1개 셀이 1개 bit를 의미하는 SLC제품이 있는 반면, 1개 셀에 멀티 bit(MLC 혹은 TLC)를 담아내는 비휘발성 메모리 만의 고유한 방법이 있습니다. 이는 낸드플래시가 하드웨어의 셀 수는 고정시키고, 셀 당 bit 수를 늘릴 수 있는 소프트웨어적 제품다양화를 구사하는 방법입니다.

 

낸드 플래시의 첫 제품, SLC

▲ SLC 제품의 원리: 1개 플로팅게이트 대비 1개 bit 수(= 2가지 경우의 수)

SLC는 2가지 경우의 수, 켜짐(ON)과 꺼짐(OFF)을 이용하여 데이터(Data)를 입출력 시킵니다. 게이트 단자에 Vth0 < Vg < Vth1를 인가할 때, 플로팅게이트에 전자가 없는 경우 Vth0 < Vg로 인해 채널이 잘 형성되어 ON-Cell로 동작합니다. 반면, 플로팅게이트에 전자가 가득 차있는 경우에는 Vg < Vth1로 인해 채널이 형성되지 않아 OFF-셀로 유지합니다. 즉, 전자가 없는 셀의 문턱전압 값인 Vth0는 낮고, 전자가 들어차있는 셀의 문턱전압 값 Vth1은 높습니다. 이렇게 낸드플래시는 MOSFET이 ON이 되는 시점의 게이트 전압을 찾아내 문턱전압의 크기를 정하고, 그때의 문턱전압 차이(Vth0, Vth1, Vth2, Vth3, 등등)로 경우의 수를 늘리는 방식을 사용합니다. SLC는 디램의 셀-bit 관계와 유사하기 때문에 이해하기가 쉽습니다. 그러나 비휘발성 메모리 기능은 MLC부터 휘발성 메모리 기능과는 확연히 달라집니다.

 

용량이 2배로 되는 MLC

▲ MLC 제품의 원리: 1개 플로팅게이트 대비 2개 bit 수(= 4가지 경우의

MLC부터는 기능이 약간 복잡해지는데요. 일단 하드웨어적으로는 플로팅게이트의 전자 수를 3개 그룹으로 나누어 저장합니다. 그러면 플로팅게이트에 저장되는 전자그룹 수는 세분화되겠지요. 그에 따라 Vth0/1/2/3의 크기가 정해집니다. 이 4가지 Vth값으로 경우의 수를 구분하면 2개 bit가 가 작동하는 디바이스로 활용이 가능합니다. MLC가 ‘데이터 입력→Code화(2개 Digit 조합)→FG에 해당되는 전자 4개그룹 저장→읽기(4개 그룹 Vth값 확인)→Decoding(SW)→데이터 출력’ 등의 여러 단계를 거쳐 문서(그림)를 저장하고 읽어냅니다. 그런데 문제는 철저하게 절연물질로 봉쇄된 플로팅게이트에, 목표로 하는 전자들을 얼마나 포획해 넣어둘 수 있느냐입니다. 또한, 그 레벨들을 제대로 측정해 읽어낼 수 있는 지에 대한 문제도 있죠.

 

TLC 제품의 기본동작

 TLC 제품의 기본 동작 원리: 1개 플로팅게이트 대비 3개 bit 수(= 8가지 경우의 수)

SLC건, MLC건, TLC건 사용하는 셀의 개수는 1개입니다. TLC라고 해서 셀의 수를 증가시켜 용량을 확장하는 것은 아닙니다. TLC도 ‘데이터-코드(Code)-플로팅게이트 Charge’의 3단계 사이를 서로 변환시키며, 이 같은 기본적인 원리는 MLC 방식과 동일하지요. 단, 플로팅게이트에 저장되는 전자 그룹개수는 MLC 보다 더욱 세분화 되어 있어서 하드웨어/소프트웨어적으로 TLC는 MLC에 비해 많이 복잡해집니다. TLC는 플로팅게이트에 저장되는 전자 그룹개수를 7개 단위 레벨로 나누어 총 8가지 Vth의 옵션으로 구분해 3개 bit를 동작시킵니다.

현재 전 세계적으로 널리 사용되고 있는 TLC는 Triple Level Cell(트리플 레벨 셀)로 알려져 있는데요. 이는 잘못 해석된 것입니다. 레벨이 3개가 아니고 8개 레벨인 TLC는 초창기 낸드 제품의 작명의도에 맞게 Triple bit MLC, 혹은 Triple bit (per cell) MLC로 해석되어야 정확합니다.

 

데이터 압축 저장방식의 예

 

▲ NAND에 입력되는 데이터를 TLC를 이용하여 압축저장 시키는 방식. (출처 : ‘NAND Flash 메모리 동작특성’ 참조)

TLC를 예시로 문턱전압Vth 레벨 단위를 셀에 저장하는 방식을 알아봅시다. 데이터를 규칙성 있게 수평 축으로 여러 개 늘어놓고, 수직 축으로는 3개씩(TLC이므로) 데이터를 묶어 1개 셀에 저장시킵니다. 이때 저장 매체는 전자이고, 사전에 설정된 레벨(8가지 경우의 수) 중에서 1가지를 선택합니다. 데이터를 2개씩 묶으면 MLC가 되고, 1개씩 대응시키면 SLC가 되지요. 결국 몇 개의 데이터를 한꺼번에 묶어 1개의 셀로 표현할 수 있는지가 저장 용량을 몇 배로 확장할 수 있느냐의 관건이 됩니다. 예시를 보면 SLC로는 24개의 셀이 필요한데, TLC로 처리 함으로써 8개 셀로 동일한 데이터를 무난히 소화한 것을 확인할 수 있습니다.

 

낸드플래시의 제품 다변화 방식

▲ NAND의 SLC/MLC/TLC로의 제품다변화 방식

지금까지의 설명을 요약해 SLC/MLC/TLC를 종합하면, 플로팅게이트에 전자를 저장하여 문턱전압Vth를 여러 개의 레벨로 구분합니다. 이를 경우의 수로 활용함으로써 셀 당 bit 수를 늘리는 방식이 낸드플래시에서 ‘제품 다변화’라고 하는, 용량을 확장하는 방법입니다.

 

통계분석 방식을 이용한 문턱전압

칩의 셀 개수 단위가 Gb이므로 문턱전압을 물리적 셀 별로 일일이 나타낼 수는 없습니다. 그렇기 때문에 셀을 몇 만개~몇 십 만개씩 일정 크기의 그룹으로 묶어 통계로 계산합니다. 물리적 셀이 수 만개로 묶여지면 셀 내에 적용되는 각 레벨 단위도 수 만개의 Vth 대표값을 도출해냅니다. 일정구간의 Vth 값을 모은 것을 Vth 분포라고 하며, 실질적으로 Vth 분포를 1개 레벨로 처리합니다. 레벨을 나타내는 Vth분포 이야기는 복잡하므로 나중에 낸드플래시 제품을 설명할 때 단계별로 소개하겠습니다.

 

지금까지 두 챕터에 걸쳐 문턱전압이란 무엇이고, 문턱전압을 활용해 메모리 용량을 확장하는 방식을 개념적으로 알아보았습니다. 비휘발성 메모리에서는 데이터를 셀로 연결하는 연관관계를 살펴봄으로써, MLC와 TLC에 대한 이해의 폭을 좀 더 넓힐 수 있도록 했습니다. 셀의 분포형성, 코드화, 데이터화는 낸드플래시 메모리의 제품분화에 대한 다양성을 나타내는 3대 요소라고 할 수 있습니다. 다음 장에서는 반도체 동작의 가장 기초 단위인 CMOSFET을 살펴보도록 하겠습니다.

https://news.skhynix.co.kr/1534