💾 컴퓨터 메모리 | ||||||
{{{#!wiki style="margin:0 -10px -5px;min-height:25px;" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin:-6px -1px -11px;" | 휘발성 메모리 | |||||
<colbgcolor=#E0E0E0,#222> RAM | DRAM · SRAM · T-RAM · Z-RAM | |||||
비휘발성 메모리 | ||||||
ROM | Mask ROM · PROM · EPROM · EEPROM | |||||
플래시 메모리 | eMMC · UFS {{{#!wiki style="margin: 0 5px; display: inline-block;" | 플래시 드라이브 | USB 드라이브 · SSD {{{#!wiki style="margin: 0 5px; display: inline-block;" | 메모리 카드 | ||
Secure Digital(miniSD/microSD) · CompactFlash · 메모리 스틱 · UFS 카드 · XQD · CFExpress · xD 픽처카드 · 스마트미디어 | }}} | }}} | ||||
NVRAM | nvSRAM · FeRAM · MRAM · PRAM(옵테인 메모리) | |||||
기계식 | 자기테이프 · 플로피 디스크 · ZIP 드라이브 · 슈퍼디스크 · 하드 디스크(Microdrive) · 광학 디스크 | |||||
개발중 | CBRAM · SONOS · RPAM · Racetrack Memory · NRAM · Millipede Memory · FJG | }}}}}}}}} |
[clearfix]
1. 개요
SK하이닉스에서 생산된 플래시 메모리 |
PROM은 내용을 기록할 때 하드웨어적으로 내부의 배선을 끊기 때문에 재기록이 불가능하다. EPROM은 삭제 방식에 따라 자외선을 쬐어야 하는 UV-EPROM과 전기적으로 가능한 EEPROM 등으로 나뉜다. 후자는 전술했듯 플래시 메모리로 발전했고, 전자는 매우 번거롭기 때문에 현재는 거의 안 쓰인다. 과거에는 PROM과 EPROM이 각종 펌웨어를 저장하고 있었지만, 요즘은 거의 플래시 메모리로 대체되고 있으므로 펌웨어 업데이트가 과거에 비해 매우 자유롭다.
PROM과 EPROM의 특성상 임베디드 분야에서 주력으로 쓰이지 않을까 싶겠지만 임베디드 분야에서도 정말 보안이 중요하거나 완제품 펌웨어를 백업용으로 제공하는 경우에나 쓰지 앵간해선 여기도 플래시 메모리를 쓴다. 왜냐하면 펌웨어 개발은 프로그램 작성 -> 하드웨어에 업로드 -> 테스트 -> 프로그램 수정 -> 재업로드를 반복하므로 펌웨어가 올라갈 메모리가 제한 없이 자유롭게 읽기 쓰기를 허용하는 것은 생산성과도 직결 되기 때문이다. 또한 플래시 메모리를 사용함으로써 기존에는 절대로 손 댈 수 없던 펌웨어조차도 온라인 업데이트도 구현이 가능하다는 큰 장점도 있다.
롬에서 나온 것이니 롬의 일종으로 봐야 할 것 같지만, 플래시 메모리는 기록된 내용을 보존한다는 측면에서는 ROM과 유사한 특징이 있으면서도 데이터 접근 방식도 메모리 방식이 아닌 하드 디스크의 섹터와 유사한 페이지 단위로 접근한다는 특성으로 인해 주기억 장치가 아닌 보조 기억 장치로 분류된다.
2. 특징
플래시 메모리는 1980년 도시바의 마츠오카 후지오(舛岡富士雄) 박사가 NOR형을 발명했다.[1] '플래시'라는 이름은 마츠오카 후지오 박사의 동료였던 아리이즈미 쇼지 박사가 제안해 만들어진 것으로 데이터 삭제가 마치 카메라의 플래시처럼 빠르다며 지어졌다. 그는 이어서 NAND 플래시 메모리를 1986년에 발명했으며, 도시바는 1987년 세계 최초로 플래시 메모리를 상용화했다. 초창기에 인텔과 삼성전자에 기술 라이선스 계약을 맺기도 했다.플래시 메모리는 비휘발성, 즉 전원을 꺼도 데이터가 남기 때문에, 데이터 저장이 필요한 온갖 전자 제품에 다 들어간다. 작고 가벼우면서도, 자기 매체나 광학 매체에 비해 기계적인 충격에도 강하고, 직사광선, 고온, 습기에도 강하다.
같은 반도체지만, 휘발성인 램과 속도 면에서 비교했을 때 쓰기 속도가 매우 느린 편. 게다가 한 셀에 여러 단계의 값을 지정하는 MLC형은 한 셀에 한 단계의 값만 저장하는 SLC에 비해 더 더욱 쓰기가 느리다. 읽기 속도 역시 DRAM과 비교할 수 없이 느리고, SRAM과는 넘사벽. 초창기[2]에는 하드 디스크 같은 기계적 매체보다도 속도가 많이 뒤쳐지고, CD나 플로피 디스켓같은 매체보다 약간 더 빠른 정도였다.
그럼에도 불구하고 SSD가 하드 디스크에 비해 빠를 수 있는 이유는 내용을 여러 플래시 메모리에 분산해 병렬로 읽고 쓰기 때문이다. 이를 인터리빙(Interleaving)이라고 부른다. 전송 속도가 메모리의 갯수에 곱하기가 되기 때문에 전체적으로는 매우 빠르게 이용할 수 있는 것이다. 덕분에 SSD의 용량이 커지면 이에 비례해서 최대 속도도 빨라진다. 게다가 플래시 메모리는 검색 시간이 매우 짧다. 하드 디스크처럼 데이터 접근을 위해 액추에이터로 헤드를 움직여 섹터를 검색하는 방식이 아닌 전기 신호로 즉시 접근하는 방식이기 때문이다. 반면 하드 디스크는 SSD처럼 병렬 입출력의 구현이 매우 어렵다. 2010년대 말에 들어서야 시게이트나 웨스턴 디지털에서 시제품으로 고작 2개의 액추에이터와 암, 헤드를 넣은 하드 디스크를 언론에 공개한 것이 전부다. RAID로도 태생적인 검색 시간으로 인한 데이터 임의 접근 성능은 극복할 수 없다.
사실 SSD도 주류인 플래시 메모리 기반의 제품들은 극단적인 4K 데이터 임의 접근 벤치마크 테스트에서는 고성능 매체(3D XPoint SSD나 DRAM기반 램디스크 등)들에 비해 한계를 보이는 편이다. 그래서 요즘 나오는 SSD들은 아예 미니컴퓨터 수준의 전용 프로세서와 캐시메모리로 사용할 DRAM[3]까지 내장해서 나오기도 한다. 보통은 이정도만 되어도 어지간해선 실사용에 전혀 문제가 안되는데 가격이 너무 압도적으로 싸다보니 상술한 고성능 매체들까지 다 잡아먹어버렸다.
저장 장치의 기술적 과도기를 제대로 겪은 제품이 바로 "디지털 캠코더"이다. 초기에는 DV(자기테이프)를 썼다가, 이후 DVD-RW, 하드 디스크를 거쳐, 현재는 메모리 카드(플래시 메모리)로 대체되었다.
플래시 메모리는 이렇듯 장점이 많고, 기술 발전도 빠른 매체지만, 역시 단점도 있다.
- 블록을 지우기 전에 새로 쓸 수 없다. 블록 단위로만 재기록할 수 있다.
필요한 데이터가 위치한 셀만 지우고 새로운 값을 쓰면 좋겠지만 인접 위치에 있는 것까지 다 지우고 새로 써야 한다. NOR의 경우 NAND에 비해서 약간 나은데, 지우기(1을 쓰기)는 블록 단위로 해야 하지만, 기록하기(0을 쓰기)는 셀 단위로 가능하다. 다만, 양쪽 다 읽는 것은 한 바이트 단위로 할 수 있다.
즉, 덮어쓰기가 불가능하며 이미 데이터가 존재하는 블록에 새 데이터를 저장하려면 그 블록을 지운 다음에 써야 한다. 애초에 EEPROM에서 유래한 기술인 만큼 비트 단위로 덮어쓰기를 하면 쓰기 속도가 극단적으로 느려지고, 그걸 블록 단위로 일괄 처리해서 덮어쓰기 속도를 끌어올린 게 플래시 메모리의 시작이다. 추상적으로 저장매체에겐 읽기와 쓰기 명령만 보낸다고 가정하지만(HDD는 실제로도 그러하다.) SSD는 쓰기 대상 블록이 비어있지 않다면 실제로는 지우기-쓰기가 진행되는 것이며, 이를 컨트롤러에서 블랙박스 식으로 알아서 처리하기 때문에 SW~메인보드 입장에선 그게 보이지 않을 뿐(transparent)이다. SSD의 가장 큰 약점 중 하나로 밑의 셀의 수명 문제와 시너지를 일으켜 저장 매체로서 HDD와는 전혀 다른 컨트롤러와 제어 알고리즘을 가져야 하는 원인이 된다. 이를 위해 나온 기술이 쓰레기 수집(Garbage Collection)과 TRIM이다.
이런 특성 때문에 소형 임베디드 분야에서는 펌웨어 프로그램에서 고작 수십~수백 바이트 수준의 자잘한 데이터를 영구적으로 저장하기엔 플래시 메모리는 너무 크고 복잡하고 느리며, 이 경우에는 IC 형태로 나오는 수 kb 정도의 아주 작은 EEPROM을 쓴다. EEPROM은 용량 대비 가격은 훨씬 비싸지만 대신 사용하기가 매우 쉽고 바이트 단위의 읽기 쓰기가 가능하며 외부 환경에 강하고 쓰기 수명도 최소 100만회를 넘는다.
- 기록 횟수에 제한이 있다.
매체의 소재 자체의 한계[4]로 인해 기록 가능 횟수에 한계가 있다. 이 횟수를 넘어가면 내용의 삭제 및 기록이 되지 않는다. 이 상태에 와도 읽기가 바로 안 되지는 않지만[5] 일반적으로 읽기와 쓰기 모두를 해야 하기 때문에 더 이상 이용이 어려워진다.
일반적인 이용 환경에서는 모든 데이터 영역에 균일하게 쓰기보다는 특정 데이터 영역을 더 많이 이용하는 경우가 많으므로 수명 연장을 위해 특정 셀만 재기록 되지 않도록 특수한 알고리즘을 적용 시켜야 한다. 데이터가 있는 셀을 이리 저리 옮긴다든가 해서 특정 셀만 집중적으로 재기록 당하지 않고, 모든 셀이 평균적으로 비슷한 횟수로 재기록 되도록 컨트롤러를 제조해야 오래도록 쓸 수 있다. 이를 마모 평준화(Wear Leveling)라 하며, 이런 상황에 대비해 보통 SSD 제조사들은 용량의 일부를 예비용으로 잡아두기도 한다.
요즘은 플래시 메모리 자체의 내구력도 좋아졌고 웨어 레벨링 알고리즘의 향상, 무지막지하게 뛰어오른 용량으로 인해 일반 유저 수준에서는 수명 문제를 체감할 수 없게 되었다. 그래도 완제품이 아닌 일반 산업 분야에서는 플래시 메모리가 알아서 웨어 레벨링을 돌려주는 것도 아니므로 여전히 주의해야 하는 부분이다.
3. 구분
3.1. 게이트
플래시 메모리는 크게 나누어 NAND형과 NOR형 두 종류가 있다. 회로상으로 NAND형은 어드레스 라인이 블록 단위로 설치돼 있고 NOR형은 셀 단위로 설치돼 있다. NAND형이 블록 액세스만 가능한 이유가 이것 때문이다. 대신 배선 수를 NOR형보다 획기적으로 줄일 수 있어서 고밀도화가 가능해진다.낸드플래시(Nand Flash)에 대해 알아봅시다.
구분 | NAND형 | NOR형 |
용도 | USB 메모리, SSD 등 저장 매체 | RAM처럼 실행 가능한 코드 저장 |
읽기 | 랜덤 액세스이나 한 블록이 모두 동작함. 비교적 느림 | 셀 단위 랜덤 액세스. 빠름 |
쓰기 | 한 번에 한 블록을 통째로 기록하여 빠름 | 한 셀씩 기록하여 느림 |
밀도 | 고밀도 | 저밀도 |
가격(용량 대비) | 저가 | 고가 |
쉽게 말해서 NAND는 서류 더미를 아무렇게나 높이 쌓아둔 것이고, NOR는 서류를 색인을 붙여 제대로 분류해 둔 거라 볼 수 있다. 서류 더미를 쌓아두면 쌓아둘 때는 빠르지만(쓰기 속도 빠름) 다시 꺼내고자 찾을 때는 느리기 때문(읽기 속도 느림). NOR는 그 반대.
NAND의 읽기 동작이 NOR보다 느린 이유는 읽기 동작을 위해서는 어드레스 라인 한 개를 활성화한 상태에서 각 셀을 직렬로 액세스해야 하기 때문이다. 쓰기가 NOR보다 빠른 이유는 어드레스 라인 한 개만 활성화해도 블럭 전체의 셀이 선택되기 때문이다. 플래시 메모리는 셀 선택 라인이 셀 쓰기 라인을 겸하는 구조인데 NAND형은 이 셀 선택 라인이 여러 비트, NOR형은 1비트이다. NOR형은 읽을 때나 쓸 때나 1비트씩이지만, NAND형은 예를 들어 블록당 셀 수가 4인 메모리라고 하면 읽을 때는 0111 1011 1101 1110 순으로 셀을 순차적으로 선택하면서 읽어야 해서 느리다. (A and 1) or (B and 0) or (C and 0) or (D and 0) = A 라는 원리로 셀에 저장된 값을 읽는다. 그래서 NAND형이라 부르는 것이다. 쓸 때는 그냥 쓰려는 비트열, 예를 들어 1010 을 보내서 병렬로 쓴다.
외계인 고문으로 유명한 인텔이 NOR 플래시 메모리의 최강자이며, NAND형은 DRAM과 마찬가지로 삼성전자, SK하이닉스(인텔 NAND 플래시 사업부 인수), 키오시아(舊 도시바 메모리), 웨스턴 디지털(샌디스크 합병), 마이크론 테크놀로지 등에서 생산하고 있다. 현재 99.9%의 USB 메모리는 NAND형이다. 요즘에는 굳이 NOR형을 쓰지 않고 그냥 내장 부트로더가 NAND형에서 부트 블록을 읽어서 RAM에 복사해 놓고 실행하기 때문에 NOR형의 입지가 더욱 줄어들었다.[6]
3.2. 셀 레벨
한 셀에 몇 단계의 데이터를 담는가에 따라 나누기도 한다.구분 | SLC(Single Level Cell) | MLC(Multi Level Cell) | TLC(Triple Level Cell) | QLC(Quad Level Cell) | PLC(Penta Level Cells) | HLC(Hexa Level Cells) | OLC(Octa Level Cell) |
<colbgcolor=#f8f8f8,#202020> 셀당 비트 수 | 1 | 2 | 3 | 4 | 5 | 6 | 8 |
용도 | 항공·우주 산업용, SSD 캐시용[7] | 산업용, 초고급 일반 사용자용 SSD | 일반 사용자용 중급, 중고급 SSD, USB 메모리 | 일반 사용자용 저가형 SSD, USB 메모리 | SSD 상용화 시도 중, 초저가형 USB 메모리 | 기술 개발, 연구 중, 기술 홍보용 | |
읽기 | NOR보다 느림 | SLC보다 느림 | MLC보다 느림 | TLC보다 느림 | QLC보다 느림 | 이론상 PLC보다 느림 | |
쓰기 | 매우 빠름 | ||||||
수명[8] | 10만회 이상 | 약 3~10만회 | 약 2~6만회 | 약 1만회 | 약 1000회 | 약 100회 | 10회 미만 |
가격(용량 대비) | 초고가 | 고가 | 보통 | 중저가[9] | 저가 | 초저가 | 사실상 거래되지 않음 |
그러니까 한 셀에 담는 데이터의 단계 숫자가 작을수록 읽기/쓰기 속도가 빨라지고 수명도 길어지지만 용량 대비 가격은 비싸진다. 반대로 데이터의 단계 숫자가 클수록 용량 대비 가격은 저렴해지지만 읽기/쓰기 속도가 느려지고 수명도 짧아진다.
현재 기술 발달로 메모리 종류별 절대적인 읽기/쓰기 속도 차이가 줄어들었다. 단적으로 SLC인 메모리보다 MLC인지 TLC인지 헷갈리는 Sandisk Z80이 더 빠른 쓰기와 4K 속도를 자랑한다. MLC보다 빠른 읽기/쓰기 속도를 가진 TLC 메모리가 나오고 있고, TLC도 NVMe SSD 6~8 GB/s, USB 메모리 스틱이나 CF 카드도 100 MB/s가 넘어가는 게 보통이 되어 갈 정도로 평준화되고 있다. 다만 쓰기 속도는 일시적으로 SLC로 동작시키는 캐싱 기술을 통한 것이라 그 한도를 넘어서는 대용량 데이터를 한 번에 쓰면(또는 내부 상태를 정리할 틈을 안 주고 연속으로 써대면) 본래의 허접한 성능이 드러난다. 유명 브랜드의 제품같은 경우는 인터넷을 찾아보면 관련 스펙을 정확히 명시해 놓기도 하지만, 특히 USB 메모리 스틱이나 CF 카드는 최대 130 MB/s라고 써놓고 상세 내역을 알려주지 않는 경우가 더 많다. 10 MB/s 이하의 쓰기 속도가 나오기도 한다. 조심해서 고르자.
참고로 USB 3.0 이후 전반적인 성능이 오르다 보니 USB 메모리 스틱이나 CF 카드가 발열 때문에 성능이 떨어지는 경우도 많다. 이걸 넘어서는 성능이 필요할 경우 외장형 SSD를 쓰는 게 현명하다.
SLC는 셀당 1비트를 담는 것이고, MLC는 한 셀에 2비트를 담는 것이다. 당연히 용량 대비 가격은 MLC가 싸지만, 쓰기 속도가 매우 느리다. 다행이라면 읽는 속도는 별 차이 없다는 것이다. 싼 가격 때문에 대부분의 소비자용 제품이 MLC다. SLC 제품은 보통 전문가용이라고 광고를 하고 있는데 가격이 바로 몇 배로 올라간다. MLC의 또 다른 단점은 기록 허용 횟수가 SLC보다 작다는 것이다.
간단히 어떤 물컵(셀)에 있는 물의 비율을 0 또는 1의 이진수로 변환한다고 가정해 보자. 0을 쓰려면 물을 비우면 되고, 1을 쓰려면 물을 가득 채우면 된다. 물론 플래시 메모리도 소모품이므로 시간이 지나며 점점 노화되어 항상 물을 0%로 비우거나 100%로 채울 수는 없다. 이걸 소프트웨어적으로 보완하여 50% 미만이면 0이고, 50% 초과면 1로 읽도록 알고리즘을 설정한다. 실제로는 에러를 줄이기 위해 중간에 완충 구간이 있다. 이 구간으로 차 있으면 그 셀은 고장난 것으로 판단하여 버린다.
- SLC는 컵 하나에 0 또는 1 하나만 저장한다. 그러면 셀이 어느 정도 노화되어 완전히 비워도 47%, 다 채워도 53%밖에 저장이 안 되어도 값을 읽고 쓰는 데 문제는 없다. 물을 대충 채워도 읽고 쓰기가 가능하므로 읽기/쓰기가 빠르다. 다시 말해서, 플래시 메모리의 최고존엄.
- MLC는 컵 하나의 상태를 4개로 구분하여 0%, 33%, 67%, 100% 네 가지 구간당 00, 01, 10, 11의 네 가지 상태를 가질 수 있도록 구현한다. 컵 하나당 4개의 상태를 가지므로 컵당 저장할 수 있는 용량은 SLC의 두 배다. 그러나 SLC에 비해 세심한 조작이 필요하므로 읽기/쓰기가 느리고, 셀의 허용 범위값이 좁아져서 SLC에 비해 조금만 오차가 나도 오류가 발생할 가능성이 높아진다.
- TLC는 컵 하나의 상태를 8(23)개로 구분한다. 컵 하나당 8가지 상태를 가지므로...(이하 생략.)
- QLC는 컵 하나의 상태를 16(24)개로 구분한다. 컵 하나당 16가지 상태를 가지므로...(역시 이하 생략.)
- PLC는 컵 하나의 상태를 32(25)개로 구분한다. 컵 하나당 32가지 상태를 가지므로...(역시 이하 생략.)
- HLC는 컵 하나의 상태를 64(26)개로 구분한다. 컵 하나당 64가지 상태를 가지므로...(역시 이하 생략.)
- OLC는... 컵 하나의 상태를 256(28)개로 구분한다. 컵 하나당 256가지 상태를 가진다.
- 이와 별개로, 3D NAND는 컵 위에 컵을 올려놓아서 컵 개수를 늘린 것이다. 3D NAND 이전에는 테이블 평면 위에 머그컵 100개 둔 것을 소주잔 400개 두어서 용량(컵 개수)을 증가시켰는데, 컵 용적이 작아져 TLC 수위를 조절하기가 예전보다 까다롭고 불안정 해져서 말이 많았던 것이다. 3D NAND 이후에는 머그컵 위에 머그컵을 올려놓아 컵 400개를 배치할 수 있게 되고, 컵 한잔에 물을 채우는 허용범위에 여유를 가질 수 있게 되었다. 물 양을 조절하는데 세심한 조작이 필요하다는 것은 동일하지만 소주잔 채울 때보다 여유가 있을 것이다.
여기서 비유한 컵이 셀이고, 물의 양이 전하량이라고 보면 된다.
TLC라고 새로운 마케팅 용어가 등장하면서 MLC의 뜻이 바뀌고 있다. MLC의 원래 의미는 2비트 이상의 레벨을 가진 셀이라는 뜻인데, 3비트 짜리는 TLC라고 부르기 시작하면서 MLC는 2비트 전용으로 잘못 굳어지는 추세. 올바른 표기는 DLC(Dual Level Cell)이다. 하지만 대부분의 제조사가 2비트를 MLC로 부르기 때문에 그냥 MLC라고 부르자. DLC라고 하면 못 알아듣거나 '다운로드 컨텐츠(DownLoadable Contents)'로 알아듣는 경우도 있다.(...) 그래서 엄밀한 의미의 정확한 용어를 쓸 때는 2bit MLC(DLC), 3bit MLC(TLC) 식으로 구별하는 편이다.
2010년대 중후반부터는 QLC(Quad Level Cell) 방식의 제품이 등장하였다. SLC, MLC, TLC로 이어지는 쓰기 횟수의 감소를 감안하면 QLC의 괴악함을 상상할 수 있다. 게다가 인텔, 키옥시아, 마이크론에서 각각 PLC, HLC, OLC 제품을 개발 제작중이라고 한다.
플래시 메모리는 비트 수에 따라 수명이 많이 차이가 난다. 평면 낸드 기준으로 SLC는 50,000~100,000회의 쓰기가 가능하고, MLC는 3,000~10,000회, TLC는 500~1,000회의 쓰기가 가능하다. 이 수명은 공정에 따라서도 차이가 나는데, 제작 공정이 작을수록 수명은 줄어든다. MLC는 50 nm 공정일 경우는 쓰기 10000회, 32 nm 공정일 경우 쓰기 5000회, 25 nm 공정일 경우 쓰기 3000회로 줄어든다. 다만 3D 낸드에서는 2D 낸드 대비 내구성이 3~4배 가량 향상되어 셀당 쓰기 횟수가 증가하였다.
사실 단위 셀당 비트 수를 늘릴수록 대용량을 쉽게 구현할 수 있어 가격 경쟁력이 올라가지만, 문제는 용량만 증가하고 성능이 크게 저하된다는 사실이다. 오류가 많아지고 데이터 신뢰도와 재기록 횟수가 눈에 띄게 떨어지는 것이다. 그것도 문제지만 갈수록 용량 증가폭이 줄어드는 데다가, 그냥 읽기만 할 때도 에러가 늘어서 ECC 등 오버헤드가 늘기 때문에 기술력이 부족하면 오히려 용량을 까먹는 수가 있다. 비트수는 산술급수적으로 증가하나(만큼), 그에 비해 기록할 때 사용하는 전압은 기하급수적으로 증가하기 때문이다.
이때문에 SSD 같은 내장형 부품들은 가능한 셀을 적게 잡지만 USB 메모리 그중에서도 CD 대용으로 쓰이는 진짜 싸구려 USB 메모리들은 어차피 읽기 전용이 되도 문제가 없으니 플래시 메모리 셀을 PLC, OLC 등으로 쓰는데 적극적이다.
그러나 무조건 "TLC는 절대 못 쓸 제품이며 오직 SLC와 MLC만이 플래시 메모리의 희망이다"라고 생각하는 것은 위험할 수 있다. 이에 대해 2016년 2월 구글은 자사 데이터센터에서 6년 간 축적한 데이터를 가지고 SSD에 관한 보고서를 냈는데, 결과는 다음과 같다.
- 시장에서 널리 사용되는 UBER(Uncorrectable Bit Error Rate)은 SSD의 신뢰성을 평가하기에 적합하지 않다. RBER(Raw Bit Error Rate)가 더 중요하다.
- 반드시 하이엔드 제품인 SLC가 MLC보다 내구성이 좋은 건 아니다.
- SSD의 불량율이 HDD보다 낮았다. 하지만 UBER이 높았다.
- SSD의 사용량보다 사용 기간이 신뢰성에 더 영향을 많이 미쳤다.
- 새 NAND에도 배드블록이 많았다. NAND의 초기 품질이 낮다.
- SSD의 사용 시점부터 4년 이내에 30~80% 확률로 배드블록이 발생했다. 2~7% 확률로 1개 이상의 불량 칩이 발생했다.
이러한 결과를 통해 결론을 내리자면
- 현 시점에서 SSD는 서버 시장에서 주요 저장 매체로 사용할 수 있을 정도로 안정적이다. 가격 하락만 지속된다면 서버 시장에서 HDD를 빠르게 대체해 나갈 것이다. 하지만 아직 HDD를 완전히 대체할 수 있는 수준까지 신뢰성이 올라오지는 못했다. HDD 백업이 필요하다.
- MLC보다 TLC가 주로 사용될 것이다. 이론적으로는 SLC가 MLC보다 내구성이 높아야 하지만, 구글의 테스트 결과 상으로는 SLC와 MLC의 차이가 거의 없었다. 데이터 저장 방식에 따른 내구성 수준이 실제 데이터센터 운용에 영향을 거의 끼치지 않는다면, MLC와 TLC 사이의 차이도 거의 없을 것이다. 현재 이미 데이터센터에서 SLC는 거의 사용되고 있지 않다. 대부분 MLC와 TLC가 사용 중인데, 향후 TLC의 비중 증가가 더 가속화될 것으로 전망된다.
- 저가형 범용 NAND 칩과 SSD의 판매가 크게 늘어날 것이다. 구글의 테스트 결과로는 기업용 고가의 SSD와 일반 소비자용 SSD의 내구성이 큰 차이가 없었다. 기업용 SSD는 오버 프로비저닝의 수준이 크게 높다. 이는 위에서도 언급한 것처럼 마모 평준화(Wear Leveling)와 쓰레기 수집(Garbage Collection)이 원활히 작동하게 하기 위함이다. 하지만 실제로는 두 제품 간 큰 차이가 없었다. SSD의 사용량보다 사용 시간이 더 내구성에 미치는 영향이 컸다는 점도 저가형 SSD 판매를 가속화 시킬 것으로 보인다. SLC의 쓰기 한계 횟수는 10만 회, MLC는 3만 회이다. 하지만 구글에서 실제로 사용한 NAND의 쓰기 한계 횟수는 SLC, MLC가 큰 차이를 보이지 않았다.
- HDD는 향후에도 여전히 서버 시장에서 주요 스토리지로 사용될 것이다. 단, 백업용 위주로 사용될 것이다. SSD의 고장률은 HDD보다 낮았지만, UBER 은 높았다. 이는 SSD가 고장났을 때, 데이터가 사라질 확률이 HDD보다 높다는 뜻이다. 서버 시장에서 SSD가 HDD를 대체하고, HDD가 사라지는 것이 아니라, HDD는 SSD를 백업하는 용도로 많이 사용될 것이다.
즉, 이론적으로는 셀당 저장 방식에 따른 성능 및 안정성 차이가 나는 것이 맞지만, 시간이 지나며 공정이 개선되고 새로운 설계를 적용하는 등의 다른 개선작업도 같이 진행되기 때문에 셀당 저장 방식을 성능 및 안정성의 절대지표로 보아서는 안 된다는 것. 같은 4 GHz CPU라도 펜티엄 4와 i7-8700K의 성능이 같을 수는 없는 것처럼, TLC가 많이 생산되고 많이 팔리는 것은 그만큼의 기술 발전이 병행되었으니 가능한 일이다.
2018년, 삼성전자는 SSD의 주력 라인업에 QLC 칩을 사용한다고 밝혔다. 실제로 2018년 8월 초부터 삼성전자에서 QLC SSD를 양산하며, 이후 출시될 SSD의 볼륨형 모델에는 QLC가 장착된다.[10]
2020년부터는 PLC로 넘어가기 시작했다.[11]
도시바의 키오시아는 HLC과 OLC를 SSD에서도 쓰기위해 노력중이다. 2021년엔 오버클럭처럼 액화질소에 셸을 담가서 HLC 셸의 수명을 늘리는데 성공했고 이론상 OLC에도 쓸수있다고 발표했다. 이제 남은 과제는 이걸 실온에서 사용이 가능한 소재를 찾는 것이라고 한다.#
2023년 기준으로 각 회사별 TLC SSD 수명 테스트 결과들이 나오고 있는데, 삼성 980 Pro, 980이나 SK 하이닉스 S31의 경우에는 250GB SSD 기준으로 5~15PB의 쓰기 수명이 나오고 있다. 이정도의 쓰기 수명이면 셀당 20,000~60,000회 정도 쓰기가 가능한걸로 보인다. 사실상 기존 MLC수준으로 내구성이 올라온 것이며 TLC SSD에서 우려하던 셀당 쓰기량에 따른 수명 문제는 없다고 봐도 되는 수준이다. 다만, TLC SSD의 수명 테스트 결과는 회사나 모델별로 천차만별로, 삼성 870 EVO의 경우는 4PB 수준, 그리고 도시바 낸드를 사용한 WD BLUE SSD의 경우는 800TB 정도의 쓰기 수명이 나왔다.
3.3. 수직 적층 (V-NAND)
3차원 수직구조 낸드(3D V-NAND) 플래시 메모리를 개발하여, 셀을 수직으로 쌓아 참 쉽게 고용량 메모리에 대한 수요의 급증에 대처하게 되었다. NAND의 신뢰성이 높아졌고, EUV 같은 신공정을 도입해야만 가능했던 미세화 공정 한계를 극복하고(시간을 벌고), 미세공정에 얽매이지 않게 되니 10나노 이하 미세공정에서의 누설전류 문제를 피할 수 있게 되었다. 이후 플래시 메모리 제작에 대한 패러다임이 크게 변화하면서 여러 제조사들은 소위 "쌓기 경쟁"에 돌입하게 된다.
- 2013. 8. - 24단 적층으로 V-NAND 시작을 알렸다.
- 2018. 7.경 - 92단(삼성5세대)
- 2019. 10. - 128단(삼성), 128단(마이크론4세대), 144단(인텔) 기술공개[12]
- 2020. 11.경 - 128단(삼성, 싱글스택, 양산), 176단(마이크론5세대, 88x2더블스택, 양산)
- 2020. 12.경 - 4D NAND 개발[PUC]
- 2021. 8. - 128단(YMTC)양산, ?월 176단(삼성7세대, 더블스택)양산
- 2022. 7. - 232단(마이크론)양산 / 11월 236단(삼성8세대)양산 / 계획 232단(YMTC)
- 2023. 5. - 238단(하이닉스8세대)양산
- 2023. 8. - 321단(하이닉스) 기술공개 #
V-NAND가 일반화 되면서 셀 용량에 여유가 생기게 되었고, 셀 레벨 관련해서 3D NAND TLC는 2D NAND 시절의 TLC와는 비교할 수 없을 정도로 성능이 향상되었다.[14] MLC가 TLC보다 무조건 좋다라고 하기 어려워졌다. 실제로 최신 삼성, SK하이닉스 TLC SSD의 경우는 수명 테스트 결과 기존 MLC 수준의 내구성을 보이고 있다. 이쯤에서 QLC, PLC를 간보기 시작한다.
4. 사용처
많이 사용되는 곳은 기계 내부에 eMMC와 같은 NAND 플래시 메모리 저장소이다. 특히 저용량의 설정 값 등을 기억하는 용도로 산업용에 많이 쓰이며, 휴대폰에도 널리 쓰였다. 스마트폰이 널리 보급되면서 이제는 고용량의 eMMC나 UFS가 많이 쓰인다.사용자가 직접 구매하는 플래시 메모리 제품이라면 역시 USB 메모리, 메모리 카드다. USB 메모리는 USB 단자에 삽입해서 외부 저장소처럼 데이터를 저장하는 것이고, 메모리 카드는 전자기기에 삽입하는 형태로 만들어진 저장 매체. 고속 및 고용량 구현이 쉬운 컴팩트 플래시(CF), 사실상 표준처럼 사용되는 표준/마이크로 SD카드가 널리 사용되고, 한때 이들과 경쟁했었던 소니의 메모리스틱과 후지필름/올림푸스의 xD 픽처카드, 그리고 지금은 멸종한 MMC, 역시 멸종한 스마트미디어 등이 있다.
PC 하드 디스크 인터페이스를 가진 플래시 메모리인 SSD도 2010년대 중반부터 널리 쓰이기 시작한다. SSD, USB 메모리의 득세로 인해 플래시 메모리 특성에 최적화된 단자 규격과 파일 시스템이 개발-활성화되기 시작한다.
과거에는 용량당 가격이 비싸고, 쓰기 속도가 현저히 낮아 쓰기 애매했지만, 가격이 내려가고 성능이 현저하게 상승하면서 빠른 속도로 기존 저장장치를 대체하고 있다.
- 내부 저장소
- PC의 운영체제 드라이브(C:\): 가급적 M.2 NVME SSD 256GB 이상이 좋다. 돈이 문제가 안된다면 4TB 제품까지 있다.
- 거치형 게임기(XBOX Series X, PS5 등.): 이쪽은 아예 SSD가 내장된 채로 나왔다. 따라서 펌웨어 단계에서 TRIM 등 SSD 기능이 제 기능을 할 것을 예상되고 있다.
- 구세대 거치형 게임기(XBOX ONE, PS4): HDD가 기본 내장되어 있지만, SSD을 구매하여 교체하는 것도 가능하다. M.2는 인터페이스 자체가 달라서 사용 불가.[15]
- 이동식 저장소
- 공통: 컴퓨터 간 파일을 옮길 때 썼었다. 요즘은 파일은 인터넷으로 전송하고, SSD나 eMMC의 용량 부족 때문에 용량 확장용으로 기기 내부에 심어서 쓰는 경향이 늘어났다.
- USB 메모리: 1만 원이면 64GB를 구매할 수 있으며 운영체제 설치용으로 8GB, 살 만한 고용량은 256GB, 초고용량은 512GB제품까지 고를 수 있다. 다만 고용량 제품은 SSD를 구매하여 외장 하드 케이스를 씌우는 것이 가성비가 낫다. 과거에 썼던 저용량 USB는 공인인증서 저장용, 작은 파일 전송용 등으로 두고두고 쓸 수 있다.
- 외장 SSD: M.2나 mSATA 크기의 작은 외장 SSD와 외장 하드 케이스를 씌운 외장 SSD가 있다. 모두 주머니에 들어가지만, 작은 것이 휴대하기 좋고, 큰 것이 가성비가 나은 편이다. 물론 휴대성은 USB 메모리가 더 좋다. 고용량 파일을 자주 읽고 쓰는 경우에 권장된다.
- microSD 카드: 디지털 카메라(블랙박스)의 저장소로도 쓰이지만, 주로 스마트폰, 태블릿 PC, 노트북, 닌텐도 스위치, 초소형 PC(스틱 PC 등.), 싱글보드 컴퓨터(라즈베리 파이, 오드로이드 등.) 등 여러 스마트 장치에 심어 쓰면서 용량 확장을 꾀한다. 가성비는 64GB 제품, 살 만한 고용량은 128GB, 창렬한 초고용량으로는 512GB까지 확장할 수 있다. 현재 1TB 모델까지 나온 상황이다. 느리고 안정성은 좀 떨어지는 경향이 있지만 작은 크기 덕분에 웬만한 전자기기는 이를 쓴다.
- 표준 SD 카드: microSD가 너무나 널리 쓰여서 표준 SD 카드를 쓰는 곳은 과거와 달리 지금은 많지 않다. 규모의 경제도 만들지 못해 싸지도 않다. 대신 microSD보다 쓰기 속도가 조금 빠르고, 더 안정적이기 때문에 고화질 사진, 영상을 찍는 카메라, 캠코더에 주로 사용된다. 가성비는 128GB가 좋지만, 한번 촬영 나갈 때 그리 많이 찍지 않는다면 64GB 선에서 타협한다.
업무용이라면 법인카드로 다다익선 - CF 카드: 플래그십 디지털 카메라에 쓰인다. 쓰기 속도가 빠르고 안정적인 저장이 가능하기도 하지만, 구형 디지털 카메라를 쓴다면 선택의 여지가 없는 규격이기도 하며, 마이크로 드라이브 이래로 전문가용 인터페이스의 하위 호환 때문에 여전히 채용 되는 규격이기도 하다. IDE 인터페이스 저장장치이므로 산업용 기기의 구형 하드 디스크가 망가졌을 때 이를 대체할 수 있다. 64GB가 가성비가 좋은데, 옛 카메라가 인식을 못 한다면 32GB를 쓰기도 한다(...)
5. 관련 문서
[1] 도시바의 플래시 메모리 반도체 사업부는 그 후 매각되어 현재의 키오시아가 되었다.[2] 기술 발전으로 인해 시기에 따라 플래시 메모리의 성능에 대한 평가가 많이 갈리는 점 참고. PDA시절, 플래시 메모리는 느렸기 때문에 배터리 방전되면 초기화되는 위험을 무릅쓰고 RAM에 모든 것을 올려놓고 쓴 시절이 있었고, SSD가 보급되면서야 플래시 메모리는 느리다라는 선입견이 깨지기 시작한다(후술). 현재도 (기술적 꼼수 없는 순수한 플래시 메모리가 담긴) USB 메모리는 외장 HDD 보다 쓰기가 훨씬 느리다는 것을 체감할 수 있으나, 최근에는 플래시 메모리 자체의 속도도 많이 빨라져 단일 모듈로 1~2GB/s 이상의 속도를 내는 것도 있다.[3] 이게 말이 캐시메모리지 좀 용량이 크다 싶은 SSD들은 DRAM 용량만 기가 단위로 매우 빠방하게 탑재된다.[4] 플래시 메모리에 정보를 저장하거나 메모리에서 정보를 제거하기 위해 게이트와 기판에 큰 전압을 인가해야 하는데, 이를 반복하면 메모리 셀이 열화될 수 있다. SLC라면 웬만큼 열화되어도 사용이 가능하나, 비트 수가 많을수록 조금만 열화되어도 사용이 어렵다.[5] 이것도 오래되면 읽기 조차 안될 수 있다. 빨리 백업하자.[6] 애플 기종들은 iPhone 3GS까지 부트 블록은 NOR 플래시 메모리를 사용했으나, iPod touch(3세대) 이후 기기부터는 NAND 플래시 메모리로 대체되었다.[7] SLC 전용 메모리를 따로 캐시용으로 쓰지 않고, 남은 공간을 임시로 SLC처럼 쓰는 기술이다.[8] 이는 공정에 따라 2D냐 3D냐에 따라 크게 오가기 때문에 대략적인 수치로 받아들이면 된다.[9] 2022년 말부터 시작된 플래시 메모리 과잉 공급 현상으로 2023년 8월 현재 TLC SSD 가격이 QLC 가격에 근접하는 수준에 도달했으나 2024년 들어서 플래시 메모리 가격이 다시 오르며 격차를 벌리게 되었으나 여전히 큰 차이는 없다.[10] 평균 쓰기 수명은 해외 수명 테스트들 결과를 기초로 할때 셀당 500~1000회 정도 가능한 것으로 보인다. 1TB 제품 기준 평균 860회 쓰기가 가능하다. 해외발 1TB QVO 두대의 수명 테스트는 최종적으로 859.3TB와 972TB로 끝났다. 국내발은 800TB쯤에서 테스터가 수명 테스트 포기[11] 이론과 달리 QLC 대비 저장 밀도가 약 1.25배 올라간다고 한다[12] 층수가 100단을 넘어가면 구멍 굵기가 아래로 갈수록 좁아져 전기 신호가 골고루 전달되지 못한다는 문제가 있다. 100단 미만의 셀에 구멍을 뚫고 이를 쌓는 더블스택 기술이 태동한다. 키옥시아는 96단 세대에서, SK하이닉스와 마이크론는 128단 세대에서 더블 스택을 도입했다. 삼성전자는 128단까지도 싱글 스택으로 쌓는 데 성공했다.[PUC] Peri Under Cell 기술. 비유하자면 지하실을 만들었다 볼 수 있다. 건물 옆 도로를 건물 밑 지하에 두면 기존 도로가 있던 땅에 건물을 세울 수 있다는 개념.[14] 컨트롤러 성능 향상 등 다른 기술적 요인도 함께 발전함과 더불어 성능이 향상되었다.[15] 그나마 M.2 SATA 방식의 SSD는 2.5인치 컨버터로 연결할 수 있다.