1. 개요
▲ SSD 구성 개요
SSD는 크게 컨트롤러와 플래시 메모리의 두 부분으로 구성된다.
2. 메모리
빠른 데이터 저장을 위한 매체 수요는 컴퓨터가 태동할 때부터 있었다. 자기식 매체는 이러한 요구에 맞지 않았고, 메모리 기반 저장장치가 그 요구에 맞출 수 있었다. 비록 대중화까지는 오랜 시간이 필요했지만. 1970년대 중반부터 Magnetic Core Memory, Bubble Memory, EAROM, DRAM 등 다양한 형태의 메모리를 이용한 저장장치가 선보였다. 1980년대 중반에는 DRAM 기반 저장장치가 일반화된다. 그러나 가격이 높고 전원이 꺼지면 내용이 다 사라지는 등 안정성 문제도 커서 대중화되기에는 어려움이 있었다. 빠른 입출력이 필요한 일부 분야에만 쓰였고, 상업용에서도 드물게 쓰였다. 2000년대에는 DRAM 기반 저장장치의 문제점이 거의 해결된 플래시 메모리 기반 저장장치로 시장이 재편되었다. 하지만 더 빠른 반응성이 요구되는 금융 등의 특수분야에서 DRAM SSD가 사용되며 이를 구분하려 램 디스크라고 부른다. DRAM과 유사한 생산공정이 가능하며 비휘발성을 가진 PRAM이 SSD용으로 사용되어 플래시메모리+PRAM 하이브리드 SSD제품 등이 나오는 상태이고, 향후 개발되는 MRAM, STTRAM, FeRAM, ReRAM 등이 SSD에 사용되리라 보인다. SSD에 쓰이는 플래시 메모리는 보통 NAND 플래시 메모리다. 노어 플래시 SSD는 임베디드 기기에 소량 쓰이며, 보통 기판에 납땜되어 나온다.플래시 메모리 하나만으로는 속도가 느리다. 그래서 여러 개의 NAND 플래시 메모리를 병렬로 연결하여 동시에 읽고 쓰는 기술을 쓴다. 원리는 RAID와 비슷하다. 가령 같은 플래시 기반 매체인 SD카드에서 가장 빠른 쓰기 속도 규격인 V90[1] 규격은 고작 90MB/s이다. 그래서 여러 개의 NAND 플래시 메모리를 하나의 SSD에 박아서 동시에 읽고 쓰는 기술을 쓴다. 이 때문에 일반적으로 더 많은 수의 NAND 플래시 메모리를 사용하는 고용량 SSD일수록 더 빠른 속도를 낼 수 있다. 병렬 처리 제어는 SSD 컨트롤러에서 담당하는데, 이 컨트롤러의 품질이 성능과 안정성, 수명에 결정적인 역할을 한다. 그래서 같은 용량의 제품이라도 어떤 컨트롤러를 썼냐에 따라 성능 편차가 크다. 예를 들어 일반 회사의 256GB보다 전문 회사의 128GB 제품이 더 빠를 수도 있단 얘기. 또한, 벤치마크 상의 수치에만 집중하느라 정작 실사용 시에 성능이 파도타기를 하는 제품도 있다.
플래시 메모리는 특성상 셀 (플래시 메모리에서 데이터를 기록하는 단위. 보통 수kB 크기.)당 수명이 있다. 쓰기/지우기 횟수가 일정 이상을 넘어가면 사용이 불가능하므로 컨트롤러가 알고리즘을 통해 이를 관리해 주어야 한다. 셀당 평균 1천(TLC)~1만(MLC)~10만(SLC) 회 정도로, 그 수만큼 재기록하면 셀은 수명을 다 한다. 평균 수치를 뜻하며 가령 TLC 사용을 무조건 1천 회 채우는 즉시 고장나거나하진 않는다.
이는 플래시 메모리의 구조에 기인한다. 셀은 전자를 가두기 위한 산화물 격벽을 사용한다. 데이터를 쓰거나 지우면 전자가 산화물 격벽을 통과한다. 이때 격벽에 전자가 쌓여 저항값이 높아지게 되는데, 저항값이 누적되면 전자가 이동하지 못하는 시점이 온다. 실제 셀의 수명은 그 시점보다 더 짧다. 전자 이동이 원활하지 못해 0(0%)이나 1(100%)이 아닌 50%로 기록되는 상태의 셀은 컨트롤러가 감지하여 사용을 중지한다. 40%는 0, 60%는 1로 보는 등 셀의 전하량이 완벽히 0, 1을 기록하지 않아도 여차저차 사용할 수는 있지만, SLC(비트용량=50%)에서 TLC(비트용량=12.5%)로 갈수록 허용 오차 전하량 범위가 좁아지게 되고, 수명이 짧아진다.
하지만 SSD에는 재기록 가능한 셀이 매우 많다. 초창기의 컨트롤러는 한 셀에 10만 번을 몰아서
셀당 수명이 1,000회면 주먹구구 계산으로도 100GB SSD의 총 기록 용량이 100TB에 달한다는 뜻이다. 이론상 하루 영화 한 편씩 다운받아도 100년을 쓴다. 또한 최신 제품은 실제 수명이 더 높고 테스트도 통과했다. 일반 소비자용도 인텔과 삼성전자 같은 대기업 제품은 256GB 기준으로 600TB 이상의 총 기록이 가능하다.
개별 칩당 ECC나 오버 프로비저닝 등으로 표기용량보다 내부 용량이 더 많은 사례도 있다. 셀당 수명은 보수적으로 잡은 평균 횟수에 가깝기에 실제 사용량은 더 높을 수 있다. 플레이웨어즈에서 삼성전자 840 TLC 모델로 수명을 테스트한 결과에 의하면 총 수백 테라바이트의 기록이 가능하다고 한다. 하루 24시간 토렌트를 돌려도 10년가량 사용 가능한 수준. 후속작인 840 EVO는 더 질긴 수명을 보여주며, 오히려 MLC 제품들 중에 이보다 못한 결과를 보인 인기 제품들도 여럿 있다. 그러나 840 EVO는 다른 테스트에서 수명 문제와는 또 다른 문제가 터지는 바람에 TLC에 대한 부정적인 시선을 늘리는 데 일조해 버렸다. 자세한 내용은 SSD/제품 목록 문서 참조.
2.1. 플래시 메모리 유형
자세한 내용은 플래시 메모리 문서 참고.SSD SLC(Single Level Cell)와 MLC(Multi Level Cell). TLC(Triple Level Cell)와 QLC(Quad Level Cell), PLC(Penta Level Cells) 타입 등[2]이 있다. MLC에서 Multi는 보통은 셀당 2비트 저장하는 방식을 말한다. TLC는 셀당 3비트 저장하는 방식이다. MLC는 셀당 2비트를 저장하므로 저장 밀도가 높아 가격이 싸지만 SLC에 비해 속도가 느리다. 그러나 이는 셀당 액세스 속도가 느리다는 얘기이므로 좋은 컨트롤러를 쓰면 얼마든지 극복 가능하다. SLC 16개 다는 대신 MLC 32개를 달고 컨트롤러와 알고리즘으로 성능을 개선하는 식이다.
이론상 SLC가 가장 좋지만, SLC를 사용하던 초기의 SSD는 지금과는 비교할 수 없을 만큼 느렸다. 당시 대기업들은 OEM 제품들만 내놓으면서 소비자용 제품은 전혀 관심을 주지 않았는데, 그나마 있는 OEM 제품들의 성능도 50~60MB/s 정도로 5400RPM 하드디스크와 엎치락뒤치락 하기도 했다. 이 틈을 타고 국내 매니아들 사이에서 호평을 받은 기업이 엠트론이었다. 일반 소비자용 SSD로는 연속 읽기 100MB/s가 나오는 유일한 제품을 내놓았던 엠트론은 당시 32GB에 100만 원에 달하는 무지막지한 가격으로 컴덕후들의 눈물을 쥐어짰지만, SLC에서 MLC로 넘어가는 시기에 적응을 하지 못하면서 몰락했다. 일설에 의하면 인수한 모회사가 심하게 장난쳐서 그랬다고 하는데 기업사냥꾼에게 희생당한 것으로 추측된다. 지금도 '엠트론 상장취소' 등으로 구글링하면 당시 흔적들을 찾아볼 수 있다.
엠트론이 주춤하는 사이 슈퍼탤런트, OCZ, 한성컴퓨터, 삼성전자, 인텔 등 업체들이 난립하며 MLC를 사용한 SSD의 대중화에 앞장서면서 가격도 크게 하락하고 점차 고용량화되었다. 그 중에서도 삼성전자, 인텔은 자사 생산 NAND 플래시 메모리와 컨트롤러를 갖춰 성능과 안정성을 크게 높인 SSD를 출시하며 시장점유율을 높여갔다.
2011년 8월에는 인디링스(OCZ의 자회사)에서 인디링스 에베레스트 컨트롤러를 개발하여, TLC 플래시 메모리도 지원하기에 이르렀다. TLC는 MLC보다 더 수명이 짧지만 가격이 더 싸다. TLC가 달린 완제품 SSD도 서서히 개발되어, 드디어 TLC를 달고 나온 SSD가 활발하게 팔리게 되었다. TLC 방식도 이전에 비해 많이 개량되어 삼성전자의 eTLC는 1셀당 기록 수명이 평균 3,000회라고 한다. 셀의 수명 향상 연구는 더 진척이 있어, 향후에는 더 많은 기록 수명이 예상된다고 한다. 출처
TLC 보급의 첫 주자가 OCZ의 제품이 될 기미가 있었으나 그렇지는 않았다. OCZ에서 동년도 11월 1일 Octane이라는 명칭으로 SATA 6Gbps를 지원하는 TLC를 단 SSD를 출시할 예정이라고 해 놓고 MLC로 출시하였다. 1GB당 1.1~1.3$의 가격으로 만든다고 하며 2012년 3월 기준 10만원대 중반의 좀 더 저렴한 가격에 판매되었다.
결국 2012년 9월 삼성전자가 TLC 기반의 840 시리즈 SSD를 출시하였다. 이론적으로 TLC SSD는 MLC 제품에 비해 저렴해야 하지만, 2012년 12월, MLC 기반의 기존 830 제품보다 비싼 가격으로 국내에 출시되었다. 삼성전자 스스로도 TLC 메모리의 문제점을 인식하고 있기에, 기존 830 제품보다 고속의 컨트롤러(830의 경우 ARM 9 기반의 220 MHz, 840의 경우 ARM Cortex R4 기반 300MHz)와 대량의 캐시 메모리(256MB에서 512MB), 토글 2.0 규격으로 극복하려고 하고 있다. 또한 넉넉한(?) 예비 공간을 마련하여 TLC 메모리의 약한 내구성을 보완하려 한다. 120GB 제품은 8GB, 250GB 제품은 6GB, 500GB 제품은 12GB의 예비 공간을 가져서 셀의 수명이 다 되면 예비공간에 기록하게 된다. 즉 120GB 제품은 실제로 128GB를 장착하고 있다는 뜻.
결론적으로 스펙상 830보다 좋고, 컨트롤러발로 동시기의 보급형 MLC SSD에 비해 임의쓰기 성능도 좋다. 하지만 순차쓰기 성능은 TLC의 특성 때문인지 느리다. RAID와 비슷한 원리로 고속을 달성하는 SSD의 특성상 고용량일수록 속도가 좋아지는데, TLC의 한계(?) 때문인지 840 시리즈는 120GB 제품과 250GB 이상 제품의 성능 차이가 매우 크다. 2012년, 국내에서는 SSD 구입 시 128GB대 SSD가 주 고려대상이 되는 관계로, 830보다 더 비싼 840 시리즈 120GB 제품의
TLC를 SSD에 도입하면서 여러 기술들이 동원되었다. 가령 주메모리인 TLC 셀 일부를 SLC 캐시처럼 사용하는 기술이 있다. 삼성전자가 최초로 도입한 방식으로 터보 라이트 라고 이름 붙인다. 이 기술이 나오고 나서 2015년 이후 TLC 사용 SSD는 대체로 비슷한 기술이 들어간다고 한다. 기타 기술 내용. 이 기술로 TLC SSD들도 MLC와 비슷한 사용 속도를 얻어내는 데 성공했다. 물론 일정 용량만 SLC 캐시로 사용되므로 그 용량이 넘어가면 속도가 뚝 떨어진다.
2016년 8월에 시게이트가 60TB SSD를 선보였다. 이 제품이 출시되면서 최대 용량마저 하드디스크를 앞질러 버렸다. 이제 하드디스크에 남은 장점은 가격과 데이터 보존성뿐. 그나마도 2016년 말 기준 960GB 제품을 12만 원 돈으로 구할 수 있게 된 걸 생각하면 19년 즈음에는 SSD가 모두 뛰어넘을 거라는 전망도 가능하다.
결론적으로 실사용에서는 수명으로 인한 문제는 거의 발생하지 않는다. 오히려 결정적인 제품 결함은 NAND 플래시 메모리 수명이 아닌 컨트롤러 문제로 발생했다.
2018년 중반부터 QLC 방식의 SSD가 서서히 나오고 있으나 프리징과 쓰기 속도 문제로 아직까진 그리 권장되지 않는다. 2D 기반의 14nm대 TLC들이 120GB 제품 기준 대부분이 쓰기 500TB ~ 600TB 선에서 사망하였는데 3D 기반의 TLC 와서야 120GB(850EVO) 기준으로 최대 1.1PB 쓰기를 달성하게 되었다.
하지만 QLC의 경우 삼성전자의 QLC 발표회에서 밝힌 대로 "동일한 공정의 제품일 때 3D QLC는 3D TLC의 10분의 1 수명을 가집니다. 이는 NAND 플래시 메모리 방식의 태생적인 한계 입니다." 라고 삼성전자에서 밝혔듯이 이 가정대로면 현재 3D TLC 의 쓰기 수명이 120GB(850EVO)기준 1.1PB 에서 인식불가가 된걸 토대로 10분에 1로 계산을 해 보았을 때 3D QLC 120GB의 수명은 약 110TB +- 10% 에서 완전히 인식이 불가능해진다는 결론이 나온다. 실질적으로 1.1PB에서 인식 불가가 되었긴 하지만 데이터가 깨지기 시작한 시점은 992TB이기에 실제 사용 가능한 쓰기는 850EVO 기준으로 992TB이고 동일 공정의 3D QLC라면 99.2TB라고 보아야 한다.
하드하게 SSD를 사용하는 일부 사용자들을 보면 3년 정도 쓰면 150TB 정도 이상을 쓰는 사례가 꽤 있다. 이게 QLC라면 진작에 죽을 수 있다는 것으로 어떤 의미에서 생산 시 원가 절감을 통해 SSD의 GB당 용량은 큰 폭으로 하락하겠지만 그만큼 수명 또한 큰 폭으로 하락하는 걸 뜻하기에 그리 달가운 기술은 아니다. 물론 운영체제나 잦은 쓰기가 필요하지 않은 단순 저장 보관용이라면 나름 저렴한 가격을 무기로 하드를 시장에서 퇴출시킬 수 있기도 하다.
2020년부터 PLC 형식의 SSD도 나오고 있다.
2.1.1. TLC에 대한 오해 혹은 진실
일반적인 사용자 입장에서 참고할 내용으로, 결론부터 이야기하자면, 수명 문제는 실존하지만 일반 사용자에게 문제가 될 일은 절대로 없으며, 컨트롤러 제작 난이도가 문제가 되어 발생한 이슈가 대부분이다. 사실상 TLC냐 MLC냐의 여부가 제품 선택에 미치는 영향력은 많이 없어졌다고 해도 무방하다. 오히려 MLC인 970 PRO보다 TLC인 970 EVO Plus의 속도가 조금이지만 더 빠르다. 단, 수명은 MLC와 TLC의 특성상 TLC가 MLC를 절대 따라올 수 없다. 제품 수명을 제외하고서는 TLC 제품을 선택하지 않을 이유가 없어졌다.첫 번째로, 일반 사용자 입장에서 수명은 이미 TLC라도 문제가 없다. 자세히 설명하자면 MLC, TLC를 가리지 않고 NAND 플래시 메모리는 HDD와 비교했을 때 정보 복원에서 단점을 가지나 재기록 수명에서는 우위를 가짐이 정설이다. 때문에 MLC가 TLC에 비해 재기록 수명에 있어 비교우위를 가지는 것은 사실이나 어느 쪽이라도 실사용에서 큰 문제가 되지 않는다. 이는 벤치마크로 증명된 것으로, 제조사 스펙으로 공시된 수명보다도 최소 2.5배에서 크게는 수십 배에 이르는 엄청난 수명을 보여줬다. 특히 삼성전자 850 PRO(MLC)와 같은 제품은 9.1PB의 데이터를 기록했는데 이는 공시된 수명의 60배이며 하루 40GB씩 사용하더라도 623년이 걸리는 엄청난 수치다.출처 또한 플레이웨어즈 등 국내 사이트에서도 삼성전자 840(TLC) 등을 테스트한 결과 400TB 수준의 쓰기가 가능했다. 데이터가 깨지기 시작했던 시점이 850PRO는 8.95PB부터, 840은 375TB부터 데이터가 깨지기 시작했다. 2023년 기준으로는 SSD SAMO 카페에서 삼성 980 Pro, 980, SK 하이닉스 S31 등을 테스트한 결과 5~15PB 수준의 쓰기가 가능했다. 사실상 최신 삼성전자, SK하이닉스의 TLC SSD 재기록 수명이 기존 MLC수준으로 올라온 것이다.
게다가 최근에는 공정 차원에서 3D V-NAND 공정이 도입되면서 셀 자체의 수명도 크게 늘어나고 있다. 물론 3D 셀 또한 MLC가 TLC 대비 비교우위를 가지는 점은 변하지 않기에 여전히 3D MLC로 출고되는 제품이 기업 시장에서는 수두룩하게 있다. 하지만 일반 소비자 차원에서 이미 2D 셀의 수명조차 TLC, MLC를 막론하고 널널한 사용 시에는 문제가 없음이 증명된 상황에서 이보다도 더 수명이 진보한 3D 셀이 도입되면 어느정도 수명 문제는 서버, 워크스테이션에서나 문제가 되는 다른 세상의 이야기가 된다. 제품편차는 있겠지만 최소한 무조건 셀 수명 문제로 TLC를 기피하는 것은 "편견"이라고 말할 수 있겠다. 하지만 MLC가 TLC에 비해 셀 수명이 4배 이상 길며 자료 안정성이 훨씬 뛰어나다는 것 역시 맞다. 박스 2개와 박스 3개를 한번에 들고 있는 사람 중 누가 더 오래 버틸까? 이러한 이유로 컴덕들은 TLC를 기피하는 성향을 보이지만 실 사용에는 크게 차이는 나지 않을 것이다. 셀 수명은 1과 0을 기록하기 위해 셀에서 전자가 이동하는데 이 과정에서 격벽이 손상을 입어 나중에는 구멍이 뚫리는 것으로 설명할 수 있다. 그리고 MLC, TLC는 전압 구간을 세분화하므로 격벽이 손상을 입는 시점에 구멍이 뚫리기도 전에 사용할 수 없게 되므로 수명이 더 짧다고 하는 것이다. 그런데 당연히 작은 면적에 최대한 많은 데이터를 저장해야 제조사 입장에서 이득인지라 기업들은 미세공정화에 박차를 가하고 있으며, 이에 따라 격벽의 두께도 점점 줄어들고 수명이 따라서 감소하는 악순환이 일어났던 것이다. 그런데 수직 방향으로 적층하는 것이 가능해지면서 이제는 미세공정화보다는 수직 방향으로 통신하는 TSV 등의 기술이 더 중요해졌다. 때문에 공정을 우둔화하면서 수명 또한 벽의 두께와 같이 과거 수준으로 원상복귀한 것이다.
다만 최근에는 QLC(quadruple level cell) 기술을 사용한 3D V-NAND가 주목받고 있는데, 2015년 시절부터 도시바 등에서 3D NAND 플래시 메모리는 평면형보다 메모리 셀의 축적 전하량이 커 QLC 방식을 쓰기 쉽다고 밝히는 등 밑밥은 꾸준히 깔고 있다. 때문에 3D V-NAND 기술이 성숙하면 저가형에 QLC가 도입될 것은 기정사실이나 마찬가지다. 이 경우엔 다시 수명 문제가 불거질 수 있다. 3D NAND 플래시 메모리에서도 당연히 공정미세화는 진행될 것이기 때문이다. 이미 Etching 깊이 이슈 등이 있어 적층에 어려움을 보이기 때문에 무작정 쌓는 것도 한계가 있다.
두 번째로, 데이터의 집적도가 올라가면서 필연적으로 발생하는 컨트롤러 설계가 어려워지는 문제가 있다. 사실 셀의 경우에는 공정 단위의 생산성에 초점이 맞춰져 있기에 일단 수명 문제가 해결되면 소비자는 신경쓰지 않고 그대로 사용할 수 있다. 하지만 인터페이스와 데이터 읽기/쓰기 등 핵심적 역할을 수행하는 컨트롤러를 제작하는 난도가 MLC 대비 TLC에서 증가하는 문제는 실제로 많이 문제가 되지 않은 수명보다도 훨씬 큰 문제를 일으켜 왔다. 일례로 삼성전자 840, 840 EVO 등의 제품에서 장기간 파일 보관시 읽기 성능이 급격히 떨어지는 현상 및 840 PRO의 영구적 성능 저하 현상 등은 모두 컨트롤러 결함에 해당한다. 먼 과거의 이야기이긴 하나 인텔 520 시리즈의 AES 256bit 암호화 오류 문제 또한 샌드포스 SF-2281 컨트롤러의 결함이었다. 삼성전자의 경우에는 일단 사용은 가능한지라 펌웨어 개선으로 때웠고, 인텔은 아예 사용이 불가능했기 때문에 리콜했다. 이외에도 자잘한 SSD의 문제의 거의 다수는 Cell이 아닌 컨트롤러의 결함에서 기인한 것이다. 그리고 이러한 문제는 언제든 발생할 수 있다. MLC 대비 TLC의 컨트롤러 제작 난이도가 높으므로 당연히 결함이 발생할 가능성이 높고 태생적 성능도 TLC가 뒤쳐지는 문제다. 그래도 압축, 정리가 불가능한 데이터에서는 컨트롤러로도 태생적 성능을 극복할 수가 없어서 버퍼를 추가하는 식으로 해결한다. 때문에, SSD 안에서도 플래그십 모델에 해당하는 제품은 언제나 MLC로 먼저 출시하고 그 이후 TLC로 아종을 출시하면서 가격을 현실화한다. 즉 이러한 이유는 MLC를 선호하고 TLC를 기피하는 이유로 합리적이라 할 수 있다.
세 번째로, TLC에서 약 4G~12GB 이상, 즉 DRAM과 SLC 버퍼의 용량을 넘어서는 양의 폴더나 파일을 연속 복사할 경우 속도가 절반 이하로 급격히 떨어지는 현상이 발생한다. 이는 TLC가 MLC 대비 절대적 쓰기 속도가 낮기 때문에 발생하는 문제이다. 보통 컨트롤러의 멀티 채널을 사용해서 이 문제를 해결하는데, 채널은 보드에 박혀있는 칩의 개수와 밀접한 관계가 있다. 따라서 SSD의 전체 용량이 작을수록, 칩 하나당 용량이 클수록 속도 저하가 발생하게 된다. 예를 들어 같은 SATA SSD에서도 삼성전자 850 EVO는 500GB 모델부터 속도 저하 문제가 없지만, 삼성전자 860 EVO에서는 집적도를 두 배로 올리면서 하한선이 1TB로 올라가는 바람에 500GB 모델에서도 속도 저하가 나타난다. 이 문제는 NVMe로 들어오면서 더욱 심각해졌는데, 초기 버스트 쓰기를 제외하면 모두 용량별로 줄세우기가 됐기 때문. 지속 쓰기 속도는 64단 3D NAND 플래시 메모리인 삼성전자 970 EVO를 기준으로 했을 때 250GB 모델은 대략 300MB/s, 500GB 모델은 600MB/s, 1TB 모델은 1200MB/s를 기록하고 있다. 96단 3D NAND 플래시 메모리인 970 EVO PLUS의 경우 970 EVO와 동일한 컨트롤러를 사용했음에도 1TB 모델의 지속 쓰기가 1700MB/s로 올라간 것을 보면 NAND 플래시 메모리 개발 수준에 따라 향상되는 모양. 요즘 TLC/QLC SSD들은 매우 작은 용량의 1단계 고정 SLC 버퍼를 사용하고, 2단계로 사용되지 않고 있는 TLC 셀을 SLC처럼 거동하게 하는 Pseudo SLC를 가변 용량으로 적용하여 최대한 버스트 쓰기를 늘리도록 하고 있다.
단 서버, 데이터센터, 워크스테이션용의 경우 수명 문제는 여전히 현재 진행형이며 MLC는 TLC에 비해 여전히 4배에 가까운 수명을 가진다. 그래서 안전성 문제 때문에 MLC를 더 선호한다.
2.2. DRAM
SSD 디램의 오해와 진실많이 오해하고 있는 것으로 SSD의 DRAM은 데이터 속도를 완충시키는 버퍼 목적이 아니다.[3] DRAM의 진짜 목적은 플래시 메모리에 저장되어 있는 데이터의 주소 매핑표(Address Mapping Table)를 불러오는 것인데. 주소 매핑표가 있는 이유는, 운영 체제 파일 시스템과 하드웨어 인터페이스는 대부분 HDD의 구성인 트랙과 섹터를 기반으로 작동하는데[4], SSD를 구성하는 NAND 플래시 메모리는 블록과 페이지로 구성되어 그냥 작동할 수가 없기 때문이다. 따라서 운영 체제의 논리적 주소와 NAND 플래시 메모리의 물리적 주소를 서로 치환해주는 주소 매핑표가 필요하다.[5] 그래서 컨트롤러와 펌웨어의 플래시 변환 계층(Flash Translation Layer, FTL)이 이 주소 매핑표를 관리하고 있으며, 플래시 메모리의 성능과 수명 관리를 위한 마모 평준화외 쓰레기 수집 같은 기능도 담당하고 있다.
메모리 문단에 설명하듯 여러 개의 플래시 메모리를 병렬로 연결하기 사용하기 때문에 주소 매핑표는 어마어마하게 방대해 일반적으로 NAND 플래시 메모리 용량과 DRAM 용량이 1000:1의 비율로 필요하다. 예를 들면 1TB의 SSD에는 1GB의 DRAM이 필요하다.[6]
다만 DRAM를 빼면 단가가 많이 줄어들기 때문에 DRAM을 빼고 출시하는 제품이 있는데 흔히 DRAMless(DRAMLess)라고 불리며 이 경우에는 주소 매핑표를 NAND 플래시 메모리에 저장하고 그 위치를 컨트롤러 안의 SRAM에 캐시해두는데, NAND 플래시 메모리의 속도가 DRAM의 속도보다는 느리고 TLC인 경우 더더욱 느린데, SLC 캐싱 구간을 넘어가면 엄청 느려지는 것이 이런 이유다.
이를 해결하기 위해 시스템의 RAM를 일부 할당해 주소 매핑표 저장 용도로 사용 하는 기술인 HMB(Host Memony Buffer)을 사용해 어느정도 완화를 하는 SSD도 있다. 그래도 CPU만이 메모리에 접근 할 수 있는 권한이 있기에 약간의 병목현상은 있다.
쉽게 설명하자면 SSD라는 거대한 창고를 운영하기 위해 보관된 품목의 리스트가 적혀있는 거대한 책이 있는데 그걸 작업자(컨트롤러)가 배낭에 넣고 필요할 때마다 읽는 방법(DRAM)과 창고 어느 한 공간에 리스트를 두고 매번 읽으러 가는 방식(DRAMLess)으로 보면 된다.
다만 고사양 게이밍 노트북이나 플래그십 제품이 아닌 이상, 웬만한 노트북들은 대부분 디램리스 SSD가 들어간다. 그나마 NVMe SSD면 어느정도 쓸만한 성능은 내어준다. 공간 제약이 심해서 M.2 2280을 사용할 수 없는 모바일(노트북, UMPC) 환경이라면 DRAMless M.2 2230이 들어가는데[7], 이런 사용 환경을 염두에 두고 설계된 SSD의 경우 부품들을 한쪽으로 몰아넣거나 BGA 원칩화함으로써 PCB에 빈 공간이 좀 남게된다. 이 빈 공간을 잘라서 M.2 2280을 M.2 2230~2242로 개조할 수도 있으나 고장날 수 있기 때문에 권장되진 않는다.
여담으로 옵테인 메모리를 활용한 옵테인 SSD는 엄밀히 따지면 우리가 흔히 생각하는 DRAM이 없기는 하지만, 옵테인 메모리 자체가 "RAM이 없는 컴퓨팅 환경"을 목표로 추구하는 만큼 DRAM을 따로 탑재할 이유도 없다. 애초에 옵테인 메모리 자체가 RAM의 일종이기도 하고 용량 전체가 DRAM의 역할을 하고 있기 때문.[8]
3. 컨트롤러
컨트롤러는 크게 다음과 같은 기능을 수행한다.- SSD의 과도기 시절 기존의 BIOS/UEFI와 운영체제가 SSD의 플래시 메모리를 HDD와 유사한 구조로 인식하고 사용할 수 있도록 했다.
- 하나의 셀만 반복해서 사용하는 일이 없도록 데이터를 분산시켜 저장한다.
- 분산된 데이터가 어느 셀에 가 있는지 알려 주는 페이징 파일을 저장 및 분석하여 사용하지 않은 셀을 먼저 사용할 수 있도록 하고, 오류 없이 데이터를 불러올 수 있도록 한다.
요약하자면, 이것이 읽기, 쓰기, 수명 관리까지 다 한다. 하드 디스크에서는 단순한 변환 장치에 불과했으나 SSD에서 가장 중요한 부품이 됐다. 따라서 컨트롤러의 데이터 분석 및 데이터 분산 능력이 비효율적이면 읽기와 쓰기 속도가 매우 느려질 수 있으며, 심지어는 데이터가 손실되기도 한다. 반대로 컨트롤러가 효율적이라면 TLC 메모리를 사용해도 좋은 속도와 훌륭한 안정성을 담보한다.
다나와 용어사전에 의하면 SSD 컨트롤러의 제조사는 삼성전자, 인텔, 마벨, 샌드포스, 실리콘모션, 파이슨 등이 있다. 2019년 기준, 컨트롤러 시장은 크게 자체 개발(삼성전자, SK하이닉스, 웨스턴 디지털) 컨트롤러와 마벨, 파이슨, 실리콘모션으로 나뉜다. 점유율이 가장 높은 삼성전자는 자체적으로 컨트롤러를 설계할 수 있다. 이외 인텔이나 도시바 등은 마벨과 협력해서 자체적인 컨트롤러를 개발하여 자사 제품에만 사용한다. 이 외에는 고급형에는 마벨 컨트롤러를, 저가형에는 실리콘모션 컨트롤러를 주로 사용한다. 실리콘은 저가형에 주로 쓰이는 만큼 그렇게 성능이 좋지는 않다. 삼성전자나 마벨 제품 평이 좋다. 리얼텍도 저가형 SSD 컨트롤러를 만든다. 파이슨 컨트롤러와 도시바 NAND 플래시 메모리 조합이 가장 저렴한지 중국에서 펌웨어 튜닝 없이 그대로 조립만 해서 OEM으로 대량 생산하기도 하며, 저가 NVMe 시장에서 주류이다.
3.1. 플래시 메모리 제조사 컨트롤러
3.1.1. 삼성전자 컨트롤러
삼성전자가 자사의 SSD에 사용하는 자사 컨트롤러이다. 장점은 자사 컨트롤러이므로 펌웨어 최적화가 잘 되어 있다는 점, 마벨 컨트롤러나 인텔 못지 않은 안정성과 뛰어난 성능을 가졌다. 컨트롤러는 ARM 계열의 칩 설계 경험으로 익힌 기술력을 발휘했다. 삼성전자 자료에 따르면 300~400MHz 연산 코어를 3개 이상 두어 높은 연산력을 바탕으로 고도의 알고리즘을 구현한다.컨트롤러 네이밍은 MxX이다. MAX(470), MBX(실제로 들어간 상품은 없음), MCX(830), MDX(840/840 PRO)를 거쳐 현 세대 컨트롤러명은 MEX(840 EVO / 850 PRO, EVO 1TB), MGX(850 EVO / 750 EVO), MJX(860 EVO), UBX(950 PRO. OEM인 SM951에도 이 컨트롤러가 쓰인다.) 2016년 CM871a부터 컨트롤러의 작명이 바뀌었다.
MEX 컨트롤러를 쓴 TLC 모델(840 Basic, 840 Evo)에서 장기간 사용하지 않은 파일을 읽을 때 속도가 엄청나게 느려지는 문제가 발생하였다. 추후 840 EVO용 펌웨어가 나왔으며, 수명을 깎는 셀 리프레시로 해결된다. 삼성전자 입장에 따르면 초기 펌웨어의 저장 방식에 문제가 있고 이를 해결하기 위해 리프레시를 한다는 것이다. 수명을 깎는 것 자체는 큰 문제가 없지만(840 EVO 120GB의 쓰기 수명은 750~800TB 수준으로 일반적인 사용 용도로는 쓰기 수명을 다 사용할 수 없다.) 리콜을 해야 하는 사안에서 수명을 깎아먹는 펌웨어 업데이트로 땜빵한 것에 대해서 커뮤니티에서 볼멘소리가 많았고 한동안 삼성전자 SSD는 쳐다보지 않겠다는 사람들도 많았었지만, 현재는 잠잠해진 것 같다. 추후에 같은 문제가 발생할지는 두고 볼 문제이지만, 잠정적 결론으로는 MEX 컨트롤러와 당시 자사에서 생산, 채용하던 TLC NAND 플래시 메모리 칩의 문제로 추측되고 있다. 840 EVO 제품 외 OEM, 840 모델 등에는 해당 펌웨어를 제공하지 않아 욕을
MJX 이후 컨트롤러에는 위에서 말한 것과 같이 작명방법이 바뀌었고 안정성도 세계 최고급에 걸맞은 수준이 되었다. Polaris(960 EVO,960 PRO) Phoenix(970 EVO Plus, 970 PRO) Elphis(970 EVO Plus 후기형, 980 PRO)컨트롤러가 있다.
하지만 980 시리즈부터 안정성 문제가 불거지기 시작하여 특히 2TB 용량대에서 읽기 전용이 되는 문제가 있었다. 2021년 5월 펌웨어에 문제가 있었으며, 이 펌웨어 상태로 방치하면 무결성 오류 횟수가 치솟다가 읽기 전용으로 잠긴다. 최신 펌웨어로 업데이트하면 문제가 해결되며, 읽기 전용으로 잠긴 SSD는 다시는 쓸 수 없기 때문에 데이터를 백업한 후 삼성전자 SSD 서비스센터인 SEMAS에서 서비스 받아야 한다.
3.1.2. SK하이닉스 컨트롤러
SK하이닉스는 2012년에 LAMD를 인수하면서 컨트롤러 제작을 시작했으나 한동안 극소수 제품을 제외하면 컨트롤러를 타사에서 구매하여 탑재했다. 2017년부터 자체 컨트롤러로 전환해 SSD를 제조해 왔고 SATA나 NVMe를 가리지 않고 들어가는 중인데 평이 매우 좋은 편. 소비자용으로는 자체 컨트롤러인 Quartz(S31), Cepheus(P31), Aries(P41)를 탑재하여 출하하고 있다.3.1.3. 샌디스크 컨트롤러
웨스턴 디지털에 인수된 샌디스크가 만든 컨트롤러로, 샌디스크나 웨스턴 디지털의 SSD 중 WD Blue 3D(SATA 버전)을 제외한 제품에 사용된다.WD Black 3D, WD Black SN750 등의 NVMe 고급 제품부터, WD Blue SN500, SN520, SN550 등의 NVMe 중급제품. 3D NAND 플래시 메모리 리비전 후의 WD Green 등 보급형 제품까지 사용된다. 특이한 것은 가장 소비자 수요가 많은 SATA Blue 3D에는 들어가지 않는다는 것.[9]
3.1.4. 도시바 컨트롤러
도시바가 SSD 시장 공략을 위해 마벨과 협력해 만든 컨트롤러. 도시바 Q 시리즈에 적용됐다. 그런데 더티 상태에서의 성능 하락이 매우 크다.플레이웨어즈 더티 테스트 결과후에 나온 Q Pro에 적용된 컨트롤러는 다소 개선되어 예전 같은 큰 성능하락폭을 보여주지는 않는다. 이러한 문제는 있지만 실사용에서 큰 불편은 느끼기 어렵다고 한다.
3.1.5. 인텔 컨트롤러
인텔 컨트롤러는 안정성은 좋지만, 다른 제조사 SSD에 비해 쓰기 속도가 낮은 편이라고 한다. 인텔 컨트롤러는 인텔 SSD 일부 모델에 사용되었으나, 현재는 거의 사용하지 않는다. 네이버 지식백과 쇼핑용어사전 인텔 컨트롤러인텔은 X25-M 시리즈 SSD까지는 인텔이 개발한 컨트롤러를 사용해왔으나, 이후 510 시리즈 SSD에서는 마벨 (Marvell) 88SS9187를, 520/ 530/ 330/ 335 시리즈 SSD에는 샌드포스 (SandForce) 컨트롤러 (SF-2281 또는 530의 인텔 BF29AS41BB0로 샌드포스 커스텀 버전 예상)를 탑재했다. 그러다가 인텔 730 시리즈 SSD는 인텔이 당시까지 데스크탑용 SSD에 사용한 샌드포스 계열이 아닌 자사가 개발한 3세대 컨트롤러 (PC29AS21CA0)를 탑재했다. 인텔 컨트롤러는 성능과 안정성이 뛰어난 컨트롤러로 알려져 왔고, X25-M 시리즈 이후에는 주로 서버에 사용되어 왔다. 인텔 3세대 컨트롤러는 NAND 플래시 메모리와 함께 팩토리 오버클럭된 것으로 알려졌으며, 600MHz의 클럭을 적용해 일정 수준 이상의 높은 성능을 내준다. 2014년 3월 31일 보드나라 서버급 안정성과 내구성 제공하는 인텔 SSD 730 시리즈 240/ 480GB
3.2. 서드 파티 컨트롤러
3.2.1. 마벨 컨트롤러
서버급의 안정성을 가진다고 홍보한다. 벤치마크와 실제 속도가 비슷하고 안정성이 뛰어나며, 그만큼 A/S 기간도 길다는 장점이 있다. 다만 가격이 조금 비싼 편이며, 용량에 따른 쓰기 속도의 편차가 꽤 심한 편. 기종에 따라 120GB대에선 매우 처참한 쓰기 성능을 보이는 사례가 꽤 있다. 또한 근래 1TB 미만 SSD에서 더티상태 성능저하가 매우 심한 것으로 드러나 그 명성에 크게 흠집이 생겼다. 물론 1TB 이상 제품군에선 일관적으로 좋은 성능을 보여주고 있다.마벨은 여러 회사들과의 협력을 통해 고급 컨트롤러 설계 및 생산자로서의 입지를 굳혔으며, 플렉스터, 인텔, 샌디스크, 마이크론, 도시바 등이 자사의 고급형 SSD에 마벨의 컨트롤러나 마벨 컨트롤러를 개조한 물건을 사용하고 있다.
현재는 수많은 저렴한 DRAMLess SSD들이 마벨 컨트롤러를 씀으로 인해서 세간의 인식은 별로 좋지 않다.
세계 최초로 PCI Express 5.0에 대응된 SSD 컨트롤러를 발표했다.# 순차 읽기 14GB/s, 순차 쓰기 9GB/s, 랜덤 읽기 2,000K IOPS, 랜덤 쓰기 1,000K IOPS이며, DRAM[10]은 장착되어있다. 초창기 모델이라 순차/랜덤 쓰기가 좀 떨어지는 점은 어쩔수 없다.[11] 그래도 현재 PCI Express 4.0(×4) SSD 중에서 성능이 매우 좋다고 알려진 Seagate FireCuda 530의 최고성능보다도 더 잘 나오는 편.
3.2.2. 실리콘모션 컨트롤러
주로 중저가형 SSD에 실리콘모션 컨트롤러를 넣는다. 예외적으로 초기 SLC 고급 제품군에도 쓰였다. SLC는 컨트롤러의 성능이 제품의 성능에 미치는 영향이 미미 하기 때문에 그렇다.(없는 것은 아니다.) 마이크론 테크놀로지가 보급형 SSD인 크루셜 MX100의 후속작인 BX100을 내놓으면서 성능 및 단가의 차이를 둔다고 마벨 컨트롤러를 실리콘모션 컨트롤러로 바꿨는데, 의외로 성능 이슈가 없어 널리 쓰이기 시작했다. 특히 같은 가격대에 있는 샌드포스 컨트롤러에 비해 랜덤 입출력 성능이 뛰어나 저가형 SSD들을 섭렵하였다. 국내에서는 2014년 리뷰안테크를 시작으로 실리콘모션 컨트롤러를 채용한 SSD들이 많이 들어왔다. 저용량 SSD 제품들은 대부분 쓰기속도가 느린 단점이 있으나 어떤 NAND 플래시 메모리를 몇 개의 채널로 사용하느냐에 따라 같은 용량이라도 쓰기 성능이 천차만별이다. 단점은 타사 컨트롤러에 비해 발열이 말그대로 개판 5분전 이라는 것이다. 사타 방식이건 NVMe 방식이건 타사의 동급 컨트롤러에 비해 최소 10도 이상 높은 수준에 같은 저가형 시장 위주인 파이슨 컨트롤러에 비해서 조차 온도가 크게 차이난다.따로 제작된 툴이 없어 펌웨어 업데이트가 어려운 단점이 있다. 프리징 문제가 있는 초기 버전의 경우 제조사, 유통사에 보내 처리하여야 하지만, 2015년 말 이후 유통되는 제품들은 모두 해당 문제들이 해결된 상태로 유통되기 때문에 큰 문제는 없다.
2018년 기준 국내에서 쓰이는 컨트롤러는 주로 SM2258(BGA 볼 개수에 따라 2258G, 2258H 등으로 나뉜다)과 SM2258XT가 있다. 하지만 XT의 경우 DRAM 캐시가 없고 TLC 셀 중 일부를 SLC 캐싱하여 사용하는데, 이를 사용한 제품에서 SSD 용량의 3분의 1 이상 데이터를 저장하면 속도가 급감하는 현상이 발생하고 있다. 뒤에 XT가 붙으면 사지 않는것이 정신건강에 좋다. 컨트롤러의 문제다기보다는 DRAM캐시가 없다는 점이 문제이다.
NVMe 컨트롤러로서는 8채널인 SM2262가 Intel 760p, ADATA SX8200, HP EX920에 채택되며 삼성전자 960 EVO에 거의 근접하면서도 저렴한 SSD의 시대를 열었고, 개량형인 SM2262EN은 더욱 빨라져 970 EVO와 경쟁하고 있고 4채널인 SM2263이 Intel 660p에 채택되며 QLC NVMe SSD에도 발을 딛고 있다.
3.2.3. 파이슨 컨트롤러
파이슨은 좀 특이한 경우인데, 자체적인 SSD 설계 능력이 없는 회사에 ODM 제품을 팔아먹는 회사다. 예컨대 커세어의 고가형 USB 드라이브는 파이슨이 컨트롤러뿐만이 아니라 제품의 모든 부분들을 설계, 생산하고 여기에 커세어 브랜드만 붙여서 파는 제품이다. 즉, 파이슨의 컨트롤러를 사용하는 제품이라면 파이슨이 상표 빼고 다 만든 ODM 제품이라고 생각하면 된다. 국내 중소업체 제품 일부도 이런 방식으로 파이슨이 생산하고 있다. 2016년 하반기에 접어들면서 이 회사의 NVMe 인터페이스를 지원하는 컨트롤러를 장착한 제품들이 나오고 있다.그런데 'CrystalDiskinfo' 같은 프로그램으로 사용 횟수와 작동 시간은 알 수 있지만 누적 읽기/쓰기량은 알 수 없는 경우가 있다. 그런 경우 이 회사의 컨트롤러를 장착한 SSD는 'SATA Tool Box_Complete'라는 전용 소프트웨어를 써야만 한다. 이를 통해 SSD의 남은 내구성과 평균 지움 횟수를 알 수 있으며 더 정확한 S.M.A.R.T 정보를 확인할 수 있다. 이외에도 최적화 툴이나 펌웨어 업그레이드를 지원하지만 다른 제조사에서 홍보하는 마이그레이션 툴은 지원하지 않는다.
주변기기 회사들에게 상당히 많이 납품한다. 그만큼 신뢰성이 높다는 얘기지만 사실 소비자들의 반응은 그리 좋지 않다. 주로 대만 주변기기, 부품 회사들이 이쪽 컨트롤러를 많이 주문하는데 아무래도 단가 때문이다.
물론 초기부터 컨트롤러를 만드는 회사라 기본성능 자체는 보장해준다.[12] 다만 그렇다고 삼성전자, 마벨 컨트롤러처럼 그 이상의 성능을 안 보여주고 특히 캐시RAM 없는 경우 실리콘모션처럼 막장을 보여주는 건 아니지만 어쨌든 성능저하 현상이 있어서 이 부분에 있어 소비자들의 반응을 좋게 받지 못하는 듯하다.
최근에는 PS5012-E12 컨트롤러를 출시했고 이를 탑재한 SSD들이 출시되고 있는데 GALAX의 HOF, 기가바이트의 AORUS 라인업이 탑재한 만큼 최신형이자 파이슨 컨트롤러로서는 일반 소비자용 중 최고의 성능이다. 성능은 삼성전자의 발끝을 따라온 정도지만 동일 용량에 가격이 절반 정도여서 나름 생태계를 구축하고 있다. PCI-E 4.0 스펙에 사용되는 5,000 MB/s급 E16 컨트롤러를 발빠르게 내놔서 2019년 8월 현재 초기 4.0 SSD 시장을 선도하고 있다. 2020년 이후부터는 PS5018-E18 컨트롤러를 출시했으며, 해당 컨트롤러를 장착한 SSD의 평균적인 성능은 순차 읽기 속도가 7,000MB/s[13], 순차 쓰기 속도 6,850MB/s[14], 랜덤 읽기 속도는 650K IOPS[15], 랜덤 쓰기 속도는 700K IOPS[16]이다.
2021년 9월, PCI Express 5.0에 대응하는 PS5026-E26 컨트롤러를 개발했다. DRAM은 DDR4 및 LPDDR4이며, 성능은 순차 읽기 12GB/s, 순차 쓰기 11GB/s, 랜덤 읽기 1,500K IOPS, 랜덤 쓰기 2,000K IOPS이다. TLC 혹은 QLC NAND 플래시 메모리로 사용할 수 있다.
- PS3107-S7: 캐시 RAM 미포함, 최대 용량 256GB, AES 미지원, SATA 3Gbps까지만 지원하는 초기형 모델이다.
- PS3108-S8: DDR3 캐시 RAM, 최대 용량 1TB
- PS3109-S9: LPSDR 캐시 RAM, 최대 용량 256GB
- PS3110-S10: DDR3/L 캐시 RAM, 최대 용량 2TB, 쿼드 코어
- PS3111-S11: DRAM 없음, 최대용량 1TB, 싱글 코어, AES 미지원
- PS5007-E7: DDR3L 캐시 RAM, 최대용량 2TB, NVMe 1.1b 지원
- PS5008-E8/E8T: PCI Express 4채널, E8T는 DRAM 없음
3.2.4. 샌드포스 컨트롤러
MLC 초기 시대를 풍미하던 컨트롤러로, 특유의 압축 기술을 사용해 높은 성능과 수명을 보여주며 크게 각광을 받았다. 그러나 OCZ 사의 제품들을 중심으로 초기형 샌드포스 컨트롤러에선 많은 프리징 및 불량 문제가 발생하기도 했다. 압축/비압축 방식에 따라 편차가 매우 큰 컨트롤러의 고유 특성 때문에 벤치마크에서는 가장 속도가 빨랐다. 그럼에도 벤치마크도 압축하기 힘든 무작위 패턴의 벤치를 돌리면 성능이 매우 안 나왔다. 결국 중/고급형에선 서서히 외면받기 시작했다. 때문에 2015년에 들어와서는 보급형 점유율도 실리콘모션 및 파이슨에 밀리면서 시장에서 거의 보기 힘들어졌고 인텔의 53X 시리즈 등을 제외하곤 명맥이 거의 끊긴 상태.2014년 시게이트사가 인수 했다고 한다. 관련기사(영문)
현재는 시게이트 SSD에 시게이트 컨트롤러로 출시 중이다.
3.2.5. JMicron 컨트롤러
마이크론 테크놀로지와는 관련 없다. PCI Express-to-SATA 슬롯 카드라든지 USB 하드 케이스 등의 컨트롤 칩셋으로 나름 인정받는 곳. 비교적 SSD 시장 초창기부터 2015년 무렵까지 SATA 인터페이스용 JMF670H 및 디램리스용 JMF602 등의 SSD 컨트롤러를 선보였다. 2016년에는 SSD 컨트롤러 사업부를 Maxio Tech라는 별도 법인으로 분리, 지분을 정리3.2.6. Maxio 컨트롤러
Maxio Tech는 2016년 JMicron의 SSD 컨트롤러 사업부를 정리하며 독립한 별개의 회사로, JMicron 시절 로드맵 발표만 하고 끝내 출시하지 못했던 NVMe용 컨트롤러도 이 쪽을 통해 Maxio 브랜드로 출시되었다.2023년에는 PCIE 4.0, 2024년에는 PCIE 5.0을 지원하는 컨트롤러까지 신제품 출시를 이어가고 있다. 알리익스프레스에서 중국산 SSD를 직구할 경우 높은 확률로 Maxio 컨트롤러 탑재 제품을 만나게 된다.
국내에서도 이엠텍에서 Maxio 컨트롤러가 탑재된 BIOSTAR SATA SSD 제품을 정발한 적이 있고, 이 외에도 Maxio 칩셋이 탑재 된 OUTTON MK-500, ADATA IMSS316, OUTTON MK-500 LITE 등이 국내에 유통되었다. 2023년에는 Lexar NM710 M.2 NVMe 제품의 컨트롤러로 채택되기도 했다.
MAP1202, MAP1602 컨트롤러와 YMTC TLC/QLC NAND 플래시 메모리를 조합한 디램리스 SSD가 ACER, Teamgroup, Lexar 등 중견급 브랜드부터 알리익스프레스에서 판매되는 저가 SSD까지 다양한 브랜드로 출시되었는데, 빠른 읽기 속도와 더불어 조기 사망 이슈 등 큰 문제가 발견되지 않아 수많은 제조사에서 애용하는 조합이다. 읽기 속도를 강조한 플레이스테이션 5 특화 SSD로 홍보하는 경우도 있다.
현재는 버림 받은 트라우마 때문인지 JMicron의 흔적을 몽땅 지우고 관련 없는 스타트업인 것처럼 소개하고 있는데.. 스타트업에 걸맞지 않은 보유 제품 라인업이나 신제품 출시 속도를 보자면 초창기 SSD 시장에서 컨트롤러를 양산해오던 JMicron의 사업부가 통째로 독립한 곳이라는 것이 여실히 드러난다.
3.2.7. Realtek 컨트롤러
리얼텍에서도 2016년 NVMe용 컨트롤러를 내놓았다. 칩셋은 매년 새로운 것이 나오고 있으며 A-DATA, 리뷰안, Afox 등의 저가형 ssd에서 사용되고 있다. RTS5731의 경우 SM2258XT와 비슷한 가격에 디램이 있다는 장점이 있지만(Afox original SSD) 리얼텍 답게(?) 호환성이 안좋은 경우도 일부 있다.- RTS5731: 캐싱용 DRAM 포함, SATA3 지원
- RTS5760: 캐싱용 DRAM 포함, NVME 1.2, PCI Express 2.0×4
- RTS5761: 캐싱용 DRAM 포함, NVMe 1.2, SATA 6Gbps, PCI Express 3.0×4
- RTS5762: 캐싱용 DRAM 포함, NVMe 1.3, 8ch
- RTS5763DL: 캐싱용 DRAM 미포함, NVMe 1.3, 4ch. 저가형 칩셋이다.
3.2.8. Asolid 컨트롤러
저가형 제품에 쓰이는 인지도가 낮은 컨트롤러이다. AS2258은 Kingdian S370, 디오테라 Viva 400s에 쓰인 모델이다.- AS2258: 캐싱용 DRAM 32MB 포함, SATA3 지원
3.2.9. 이노그릿 컨트롤러
저가형 SSD에 쓰인다. 참고로 이노그릿은 마벨 테크놀로지 그룹 CTO가 중국에 돌아가 설립한 회사이다. IG5236은 ADATA S70, Netac NV7000, Lexar NM620 등에 쓰였다.2023년 초, 이노그릿 컨트롤러 IG5236을 사용한 Netac NV7000 SSD가 대량으로 사망하는 사태가 벌어졌는데, 유저들은 이노그릿 컨트롤러의 결함을 주요 사망 사유로 추정하고 있다. 이 사태로 인해 국내에서 Netac과 이노그릿의 평판이 바닥으로 떨어졌다. 이후 특정 낸드와 펌웨어 결함이었던 것으로 확인되었다. Netac에서 펌웨어 업데이트를 통해 해결하긴 했지만, 이미 사망한 제품들이 많았다는 것이 문제. 특히 국내 Netac SSD 소비자들은 대부분 알리익스프레스에서 직구한 경우에 해당되기 때문에 사망 후 A/S도 어려웠다는 점도 있었다.
2023년 말 무렵에는 국내 기업인 테라클에서 동일한 IG5236 컨트롤러와 SK하이닉스 디램 및 낸드를 장착해 제조한 T450, T460을 출시됐다. Netac NV7000 펌웨어 결함 문제에서 시일이 꽤 지나 출시된 제품이다 보니 펌웨어도 상위 버전에, SK하이닉스 낸드가 탑재되었기도 하고, 국내 제조 정발 제품이라 이전 Netac에서와 같은 어처구니 없는 문제를 겪을 일은 없다.
4. 인터페이스
4.1. 물리 인터페이스
SSD의 커넥터 규격. 본래 속도와는 별개의 규격이지만 커넥터 규격마다 속도 규격도 다른 경우가 있으므로 논리 인터페이스와 함께 비교하는 것이 좋다. 속도 한계 때문에 커넥터 규격의 발전이 그리 빠르지 않았던 HDD와는 달리, SSD는 NAND 플래시 메모리와 컨트롤러의 발전 속도를 기존의 SATA 인터페이스가 전혀 받쳐주지 못하고 있다. 때문에 SSD의 대중화와 함께 저장공간 인터페이스 기술이 비약적으로 발달했다.- Parallel ATA: 일반용 초창기 2.5인치 SSD는 IDE라고도 불렀던 40핀 커넥터에 PATA 규격을 사용했었다.
- Serial ATA: 2.5인치 SATA SSD로, 초기에는 SATA 1.5Gbps 및 SATA 3Gbps 규격을 사용했다. 하드디스크와 도긴개긴 하던 초기에는 SATA 3Gb/s로도 충분했으나, 2010년에 삼성전자의 S470 SSD가 등장하는 시점부터 슬슬 SATA 3Gbps로는 부족하다는 인식이 생겼다. 그래서 하드디스크 사용하는 데에는 굳이 필요하지 않다고 말하던 SATA 6Gbps가 생각보다 빨리 대중화되었다. 현재 시장의 주류를 차지하는 인터페이스 중 하나이며 이쪽은 가격대비 용량에 집중한 편이다.
- SATA Express: SATA 3.2 규격에 포함된 또 다른 물리 및 논리 인터페이스이다. PCI Express 기술을 차용하여 대역폭을 2,000MB/s 수준까지 늘렸다. 그러나 2개의 SATA 단자와 1개의 SATA Express 전용 단자가 하나로 합쳐진 형태의 길쭉한 단자를 쓰는 탓에 M.2나 U.2에 비해서 공간 효율성도 떨어지고, PCI Express 2레인까지 사용할 수 있기 때문에 PCI Express 4레인까지 사용할 수 있는 M.2보다 기술적 우위에서 밀렸다. 현재는 적용한 제품도 거의 없고, 사실상 M.2와 극히 일부 환경에서 U.2로 대체되었다. Kbench 기사
- mSATA: M.2가 나오기 전에 사용되었던 물리적인 인터페이스이다. 노트북이 소형화되면서 2.5인치 폼 팩터 SSD도 너무 크다고 생각한 제조사들은 독자적인 연결 단자를 사용하여 SSD 크기를 줄이기 시작했다. 그러다가 SATA의 전기적인 신호를 miniPCI Express 슬롯을 통해 전송하는 형태로 mSATA가 표준화되었다. 슬롯 모양은 miniPCI Express와 동일하지만, 반드시 mSATA 지원 여부를 확인해야 한다. 속도 규격은 SATA 6.0Gbps.
- M.2: 일명 NGFF(Next Generation Form Factor). 정확하게는 여러 인터페이스를 지원하는 차세대 다용도 연결 단자로, AHCI와 NVMe를 둘 다 지원한다. "B키"가 비어 있으면 SATA 호환 단자, "M키"가 비어 있으면 PCI Express 호환 단자다. 둘 다 뚫려 있다면 둘 다 지원한다. M.2의 B키 M키 설명. 슬림노트북에 SSD가 들어 있다면 대부분 이 인터페이스로 들어간다. 또한 데스크탑도 마더보드가 지원하면 어댑터 없이 곧바로 장착 가능하다. 작은 크기에 비해 굉장히 높은 성능 및 속도를 자랑하는 인터페이스이기도 하다. 현재 시장의 주류를 차지하는 인터페이스 중 하나다. 다만 PCI Express를 이용하는 NVMe SSD는 성능 때문에 Serial ATA보다 좀더 비싼 가격에 발열이 높아서 아예 쿨러를 달아 버리는 경우가 있다. 위에 그래픽카드처럼 생긴 SSD도 그러한 이유로 쿨러가 달려 있다.
- U.2(SFF-8639): SATA Express의 비효율적인 포트 형태와 속도를 개선한 버전. SATA Express의 PCI Express 2레인에서 PCI Express 4레인으로 개선되어 PCI Express M.2와 1:1 호환되며, 메인보드의 U.2 단자는 물론 m.2-U.2 연결 케이블을 통해 m.2 슬롯에도 꽂을 수 있는 것이 특징이다. 인텔의 데이터센터용 SSD나 옵테인 SSD 등을 2.5인치 규격으로 넣을 때 주로 사용한다.
- PCI-Express 기반 확장 카드: 흔히 생각하는 그래픽 카드에 연결하는 그 확장 카드 단자 맞다. 독자 프로토콜을 사용하는 SSD부터 NVMe까지 많은 저장장치가 CPU와 연결되는 인터페이스이다. SATA는 칩셋 내장 컨트롤러나 외부 PCI Express 컨트롤러를 한 번 거쳐서 CPU와 연결되지만, PCI Express는 대체로 CPU와 직접 통신하는 구조로 되어 있기에 낮은 레이턴시는 물론 16레인을 모두 사용한다면 최대 15.75GB/s의 대역폭을 이용할 수 있다. (Rev 3.x) 데스크탑 마더보드에 M.2 단자가 없다면 PCI Express에 M.2 확장 카드를 쓸 수 있도록 하는 어댑터도 있고, 아예 SSD 자체가 PCI Express 확장 카드 형태로 나온 것도 있다. 2019년부터는 라이젠 3세대 CPU 및 X570 마더보드 등장에 따라 PCI-E 4.0 속도를 지원하는 5000 MB/s 수준의 SSD가 하나둘씩 출시되고 있다.
- SAS: 개인 사용자를 위한 것과 달리 서버와 같은 엔터프라이즈 급의 제품 등에서 쉽게 볼 수 있다. SAS 3.0 규격을 기준으로 12Gbps의 대역폭을 지원하며, 최신 규격인 SAS 4.0 표준은 22.5Gbps를 지원한다. 대부분의 SAS 컨트롤러는 SATA 인터페이스를 사용하는 장치도 지원한다.
- eMMC: 저가형 노트북 컴퓨터에 사용된다.
- 유니버설 플래시 스토리지: 주로 스마트폰, 태블릿 컴퓨터 등에 쓰인다.
- USB: 문서 참조.
- Thunderbolt: 포트는 USB와 동일하지만 내부적으로 USB 버스가 아니라 PCI Express 버스를 사용한다. 주로 NVMe 외장 SSD의 연결 인터페이스로써 쓰인다.
- 메모리 카드: 잘 모르는 사항이지만 기본적으로 SSD와 같으며 단지 NAND 플래시 메모리와 컨트롤러 크기 차이만 있을 뿐이다. 위키에서도 엄연히 같은 종류라고 나와 있다. 간혹 카메라에 SSD를 달면 좋을 거라는 모순된 이야기에 대한 설명이 바로 SSD의 소형버전이 메모리 카드라는 것. 실제로 제일 작은 SSD인 mSATA는 CFast 2.0과 비슷한 스펙에 크기도 별 차이가 없다.
- EDSFF
NVMe 프로토콜을 준수하고 산업 및 데이터센터에서 사용하기 위해 만든 SSD 폼 팩터 규격. 흔히들 서버실의 랙장 또는 랙마운트에 저장 장치로 수십개씩 꽂혀 페타바이트 단위로 정보를 저장한다. NVMe 프로토콜을 준수하지만 단자 규격[17]이 달라 일반 가정에서 사용하려면 단자 컨버터가 필요하다. M.2 2280 크기로 일반 가정 환경에선 사용할 일은 없지만 서버 구축과 관련 업을 하고 있다면 지겹도록 볼 친구들이다.
4.2. 논리 인터페이스
- NVMe: NVM(Non-Volatile Memory) Express의 준말. 이름을 보면 알 수 있다시피 비휘발성 메모리를 위해 바닥부터 새로 만들어진 인터페이스다. PCI-Express 4 레인을 사용하여 데이터를 주고받으며, 땜빵용인 SATA Express에 비하면 완전히 새로운 규격으로 다양한 강점을 가진다. PCI Express 3.0 규격을 사용하는 현재는 최대 4,000MB/s의 데이터 처리속도를 지원하며, PCI Express의 발전에 따라서 자연스럽게 지원 속도도 올라갈 예정이다. 원래는 PCI Express 포트에 직접 꽂아서 사용해야 하지만, 인텔 750을 제외하면 주로 M.2 규격을 사용한다. 앞으로 M.2와의 조합을 통해 SATA3를 완전히 대체하리라 보인다. 부팅 시 NVMe는 BIOS에서 POST가 더 오래 걸리고 SATA SSD보다 시간은 더 소요되지만 부팅 이후부터는 NVMe가 더 빠르다고도 하였으나 2018년 현재, 동일 메인보드에서 NVMe PCI Express 3.0 4 레인 규격의 SSD와 SATA 규격, 일반 SATA 3.0 포트에 SSD를 각각 하나씩 장착하여 테스트 해 본 결과, 전원 인가 후 POST 단계에서의 유의미한 부팅 속도 차이는 없으며, UEFI의 초고속 부팅 속도 설정 및 UEFI 방식으로 설치된 윈도우 10의 빠른 시작 기본 적용 등으로 POST 단계를 건너뛰기 때문에 앞서 언급된 부팅 속도 차이는 없어졌다고 할 수 있다.
- AHCI: 고급 호스트 컨트롤러 인터페이스 기술(Advanced Host Controller Interface)를 뜻한다. SATA가 처음 도입될 때 탄생한 새로운 저장소 컨트롤러로, 기존 IDE 방식 컨트롤러와 비교했을 때 높은 속도와 더불어 핫스왑, NCQ 등의 기능을 지원한다. 당연히 IDE 컨트롤러와 호환되지 않기 때문에 SATA 도입 초기에는 메인보드에 내장된 SATA 컨트롤러를 IDE 모드를 기본값으로 설정해 두었지만, 현재는 AHCI와 호환되지 않는 운영체제가 드물기 때문에 기본값은 AHCI이다. 특히 SSD의 고급 기능을 사용하려면 AHCI 모드는 필수다. ACHI로 자주 틀리기도 한다.
- SCSI: 개인 사용자가 이 프로토콜을 사용하는 경우는 아래의 UASP 이외에는 찾기 어렵지만 서버에서는 흔하게 사용된다.
- UASP: USB Attached SCSI; SCSI 프토로콜을 USB를 통해 전송하는 기법. USB 3.0을 기준으로 기계적 저장 장치인 하드 디스크는 대역폭의 한계를 느끼기 힘들지만, SSD와 같이 빠르고 낮은 레이턴시를 가진 저장 장치들의 경우 UMS(Universal Mass Storage) 프로토콜의 오버헤드에 의해 최대 대역폭에 제한을 받기에 등장한 인터페이스. UMS에 비해 상대적으로 빠른 대역폭을 제공한다. SSD 가격이 낮아지면서 이를 탑재한 외장 하드 또한 많이 시장에 나와 있다.
5. 기타 기술 사항
- 쓰레기 수집(Garbage Collection, GC): 기존 HDD와 비교하여, HDD는 덮어 쓰기 시 해당 섹터 위에다가 정보를 다시 쓰면 된다. 하지만 SSD에 사용되는 NAND 플래시 메모리는 여러 섹터의 묶음인 블록 단위로만 삭제가 가능하며, 쓰기 동작 시에는 반드시 빈 블록에 순차적인 순서로 쓰기 동작을 해야 하는 제한이 있다. 이러한 쓰기 제한들 때문에 SSD는 운영체제가 내려주는 주소(논리적 주소)를 플래시 주소(물리적 주소)로 변환하는 펌웨어 계층을 가지게 되는데, 이를 플래시 변환 계층(Flash Translation Layer)이라고 한다. 업계에서는 이 플래시 변환 계층의 품질에 따라 SSD의 성능이 좌우된다고 알려져 있다. 이러한 구조 때문에 SSD에 덮어쓰기를 하는 경우 해당 섹터를 덮어쓰는 HDD와 달리 이전 데이터 영역을 무효 블록(Stale Block)이라고 표시만 하고 새 데이터를 빈 블록에 쓴 후 이를 가리키는 매핑 정보만 업데이트하게 된다. 이러한 쓰기 동작 때문에 SSD를 쓰면 쓸 수록 내부에 사용하지 않는 영역들이 쌓이게 되는데, 쓰레기 수집은 이러한 사용하지 않는 영역을 한데 모아서 삭제하는 동작이다. 쓰레기 수집 과정은 더 이상 빈 블록이 없거나 SSD의 쓰기 버퍼가 일정 비율 넘어가거나(battery-backed SSD의 경우) SSD가 유휴 상태일 때 자동으로 수행된다.
- TRIM: 약자가 아닌 "쓸모없는 부분을 잘라낸다." 라는 원래 뜻 그대로 가져왔다. TRIM은 운영체제가 SSD에 내려주는 명령인데, SSD의 쓰레기 수집 과정을 더 효율적으로 하도록 주는 일종의 힌트 같은 명령이다. 쓰레기 수집 과정을 다시 생각해 보면, 유효한 데이터들과 무효한 데이터들이 섞여있는 블록(Stale Block)에서 유효한 데이터들만 다른 블록에 복사한 후 그 블록을 지우는 과정인데, 유효한 데이터들을 복사하는 데에 많은 시간이 소모된다. TRIM은 운영체제에서 (정확히는 파일 시스템에서) 해당 논리주소의 데이터들이 더 이상 사용하지 않음을 명시적으로 SSD에게 말해줌으로써 SSD가 쓰레기 수집 중에 더 이상 무효한 데이터들을 계속 복사하는 뻘짓을 하지 않도록 해 준다. TRIM 명령이 탄생한 후에는 운영체제에서 SSD에게 힌트를 줄 수 있기 때문에 쓰레기 수집 오버헤드를 줄여주는 역할을 한다. Windows는 Windows 10 이후에서만 TRIM을 자동으로 수행한다. 다만 윈도우 7은 PCI Express SSD의 TRIM 명령을 지원하지 않으므로 주의해야 한다. 또한 순정 macOS와 해킨토시의 경우 서드 파티 SSD를 사용할 때 TRIM 명령을 수동으로 입력해야만 작동하는 것이 기본값으로 되어있다. 인텔 옵테인 SSD의 경우 블록을 지울 필요 없이 쓰기가 가능하여 TRIM 기능이 필요가 없다.#
- NCQ(Native Command Queuing): AHCI 초기에 도입된 기술로, 기존의 IDE는 명령 대기열 없이 들어오는 대로 디스크를 움직여야 했고, 랜덤 액세스에 취약한 HDD의 특성 상 디스크를 왔다갔다 하는 작업이 많아지면 성능이 저하된다. NCQ를 사용하면 명령을 큐(Queue)에 미리 받아 놓은 다음 HDD 컨트롤러가 최적화해 액추에이터 암의 움직임 빈도를 줄인다. NCQ 적용 시 버퍼 히트율은 7.3%까지 향상된다고 한다. 관련 논문 PDF. 다운로드 주의. 게다가 NCQ는 SSD도 성능을 높이는 핵심적인 역할을 하고 있다. 그 이유는 SSD의 빠른 성능 비결이 극단적인 내부 병렬화에 있는데, 컨트롤러는 NCQ를 통해 어떤 주소에 어떤 명령이 들어오는지 확인해 SSD의 성능을 극대화시키는 방향으로 최적화하기 때문이다. AHCI에서 큐 1개/큐 길이 32 명령이었던 것이, NVMe에서는 큐 65,535개/큐 길이 65,536 명령으로 확대되었다. 이러한 SSD의 내부 병렬화를 잘 알고, 이를 잘 쓰기 위해 설계된 NVMe 인터페이스이기에 나온 결과이다. 덧붙이면 65,535개 (admin queue제외) 나 큐를 만든 이유는 처음 NVMe 인터페이스를 설계할 때 유저 프로세스 당 큐 하나씩 잡고 쓰자는 큰 그림이었다. 2017년 현재 정상적인 커널을 거쳐서 그렇게 쓰진 않는다. 운영체제를 거치지 않고 쓰는 경우를 알고 싶다면 Intel SPDK 참고.
- TBW(Tera Bytes Written): "보증하는" 유효 쓰기 수명으로 이 수명에 도달하면 제품 보증이 끝날 뿐 꼭 SSD의 수명이 끝나는 것은 아니다. SMART 정보 또는 SSD 툴박스를 열어봤을 때 Life Remaining이 실제 수명이다. 이 실제 수명은 정해진 숫자가 아니고 소비자의 사용 패턴과 컨트롤러의 NAND 플래시 메모리 관리에 따라 달라진다. 최악의 상황으로 굴려도 이 정도는 보증한다는 개념이 TBW인 것. 예를 들면 5년 또는 150TB 중 먼저 도달하는 때까지 보증을 적용하여 SSD 고장 시 무상수리를 해주는 식으로 시간과 용량을 정해놓는 경우가 대부분이다(자동차의 3년 6만킬로 보증과 비슷한 셈). TB 또는 PB(페타바이트, 1000테라)로 표기하거나, DWPD (Drive Write per Day) 단위로 쓰기도 한다. 예를 들어 500GB 드라이브가 5년 보증에 0.3 DWPD라고 하면, 하루 전체 드라이브 용량 500 x 0.3 = 150GB씩 5 x 365일 동안 매일 쓸 수 있다는 뜻이니 TBW로 환산하면 약 275 TB가 된다. 일반 소비자의 경우 쓰기보다는 읽기가 90% 이상 압도적으로 많기 때문에 100 TBW 정도면 충분하며 그 이상은 그냥 마음의 평안일 뿐 SSD가 NAND 플래시 메모리의 수명이 다 되어 죽는 일은 극히 드물다고 보면 된다. 물론 디스크 인식 불가 등 많은 문제들이 NAND 플래시 메모리와 관련없이 발생하여 디스크가 사망할 수 있다. 일반적으로 소비자용은 0.1~0.3 DWPD, 데이터센터용은 용도에 따라 0.3~10 DWPD 정도를 보증한다.
그러면 잔여 수명이 진짜로 0%가 될 때까지 쓰면 어떻게 될까. NAND 플래시 메모리 셀의 reallocation이 과도해지면 대부분의 SSD는 읽기 전용으로 전환되어 데이터를 안전하게 복사해갈 수 있도록 한다. 다만 자료를 복사하기 전에는 절대 드라이브를 빼거나 PC를 꺼서는 안된다. Tech report의 실험에서 여러 종류의 SSD가 읽기 전용으로 전환된 후 전원을 끌 때까지만 살아있고 껐다 켜면 아예 인식이 되지 않았다. #. 웬만하면 SSD 수명이 심하게 닳을 경우 미리 새 걸로 교체하도록 하자.
- 오버 프로비저닝(Over Provisioning.): 플래시 메모리는 셀 당 수명이 있다. 셀이 고장나면 용량이 줄어들고 구동 상 문제가 생길 수 있다. 이것을 방지하기 위해 대체용 여분 셀을 남겨두며, 셀의 수명이 다해도 사용자가 고장을 느끼지 못하게 자연스럽게 여분의 셀을 사용토록 하는 기술을 오버 프로비저닝이라고 한다. 물론 그렇게 최악의 경우에 대비하는 것만은 아니고, SLC 플래시 메모리 캐시 등 임시 저장소의 역할을 하여 쓰기 성능과 수명을 향상시키기도 한다. 일반적으로 GiB(기비바이트)와 GB(기가바이트)간의 용량 차이를 이용하여 7% 정도를 기본 오버 프로비저닝으로 사용하여 아예 사용자에게 보이지도 않는 영역으로 남겨두며, 쓰기 성능이 중요한 SSD의 경우 심하게는 28% 정도까지(512GB 셀을 넣고 400GB만 쓸 수 있는 SSD 등) 잡아놓는 경우도 있다. 또 사용자가 SSD 사용 가능 공간에서 파티션을 더 작게 설정하면 남는 공간도 자동으로 오버 프로비저닝으로 사용된다. 중급 이상의 SSD에서는 수명을 걱정할 필요가 없기 때문에 파티션을 작게 잡아 일부러 오버 프로비저닝을 할 필요는 없으나, 값싼 DRAMless SSD의 경우 오버 프로비저닝은 필수다. SLC 플래시 메모리 캐싱에 의존하는 DRAMless SSD는 총 용량의 50%에서 심하면 30%만 사용해도 읽기 쓰기 성능이 심각하게 떨어지기 시작하는데, 용량을 적게 쓸 때는 컨트롤러가 각 블록을 기록용으로 쓸 것인지 캐싱용으로 쓸 것인지 빨리 판단할 수 있기 때문에 원활하게 캐싱을 해주지만 용량이 많이 차면 점점 그 판단에 시간이 걸리고, 결국 캐시용 블록까지 기록용으로 사용하기 때문에 캐시 효과가 사라져 성능이 큰 폭으로 하락한다. 하지만 10~20%의 용량을 일반적인 파일의 기록과 삭제가 일어나지 않는 고정적인 캐시 전용 영역으로 할당하면 그 정도로도 DRAMless SSD의 성능 하락은 상당히 완화된다.
- DEVSLP(Device Sleep): 스토리지의 대기 전력을 1mW 이하로 줄인다. 주로 노트북 등 모바일 기기에서 전력 대기 시간을 크게 연장할 수 있다.
- SLC 캐시(SLC Cache): TLC나 QLC 등의 드라이브는 한 셀에 3비트나 4비트 정보를 저장하기 위해 전압을 세밀하게 제어하다보니 NAND 플래시 메모리에 쓰는 속도가 느리다. 따라서 SSD 제조업체들은 오버 프로비저닝 셀을 SLC 캐시로 활용해서 수 GB 정도로 작은 양의 데이터를 엄청나게 빠른 속도로 쓰게 해 준다. CrystalDiskMark등 대부분의 간편한 벤치마크 프로그램에서 보이는 것은 이 SLC 캐시에 저장하는 속도로서, 대체로 SSD 제조사에서 홍보하는 최고 속도에 가까운 속도를 내게 된다. 이 용량을 넘어서는 양을 연속으로 쓰게 되면 TLC나 QLC에 직접 쓰게 되므로 큰 폭으로 느려진다. SSD에 데이터를 쓰는 작업을 멈추고 나면, 쉬고 있는 동안 SSD 컨트롤러가 조금씩 SLC 캐시에 있는 데이터를 TLC나 QLC 셀로 모아서 SLC 캐시를 비우는 작업을 수행하여 SLC 캐시를 다시 비워준다. 그래서 20~30분 정도 후에 다시 쓰기 작업을 하면 다시 빠른 속도를 활용할 수 있게 된다. 삼성전자 970 PRO 등의 MLC 드라이브는 MLC 자체의 쓰기 속도가 충분하므로 별도의 SLC 캐시를 두지 않는다.
- 가상 SLC 캐시(Pseudo SLC Cache): SLC의 사용을 오버 프로비저닝 셀에 한정하지 않고 TLC/QLC 셀까지 확대하는 개념으로, 소비자용 SSD에서 실용화한 것은 ADATA가 최초라고 할 수 있다. TLC셀을 TLC로 활용해서 3비트씩 넣을 때는 느리지만, SLC로 간주해서 1비트씩 넣어버리면 SLC만큼 빠른 속도를 낼 수 있다. 다만 이 경우에 용량의 1/3만 채우면 이미 모든 셀을 다 소모하게 되는 것이 문제로, 그 이상의 데이터가 들어올 경우 (1) TLC 셀에 1비트씩 들어있는 내용을 빼서 램과 오버 프로비저닝 셀로 옮기고 (2) TLC 셀을 지우고 (3) 램과 오버 프로비저닝 셀에 있는 내용을 3비트씩 TLC 셀에 넣고 (4) 이제 조금 비워진 공간에 새로운 데이터를 3비트씩 채워넣는 삽질을 해야 하기에 속도가 하드디스크 이하로 느려지는 문제가 생겼다.
일반적으로 TLC로 된 128GB SSD의 쓰기 속도는 보통 수 GB 정도의 SLC가 끝나고 나면 TLC에 쓸 경우 120~160 MB/s 정도의 속도를 끝까지 유지하나, ADATA SU800의 경우 400 MB/s급의 속도를 40GB 쓰기까지 쭉 유지하다가 그 이후 30 MB/s급 속도로 떨어지는 극과 극의 성능을 보였다. ADATA는 SX8200까지도 비슷한 패턴을 사용하였으나, SX8200 Pro에 이르러서 전체 NAND 플래시 메모리의 절반 정도만 가상 SLC 캐시로 쓰고(결국 전체 용량의 1/2 x 1/3 = 1/6까지만 고속으로 쓰고) 그 뒤는 TLC에 직접 쓰고, 전체 용량의 1/6 + 1/2 = 2/3가 채워지는 시점부터 이전의 옮기기 삽질을 하는 방식으로 선회했는데, 이게 현재 가장 최적화가 잘된 가상 SLC 캐시로 여겨지고 있다. QLC인 인텔 660p의 경우 이렇게 절반만 가상 SLC 캐시로 쓰는 완성된 개념을 도입했고, 1TB 용량의 경우 드라이브고정 SLC 캐시 12GB + 가상 SLC 캐시 128GB (=1024 / 2 / 4) = 140GB의 고속 쓰기를 지원하고 그 뒤로는 QLC 속도인 100 MB/s 급으로 떨어지게 된다.
[1] 8K UHD 녹화 권장사양.[2] 판촉용이나 카세트 테잎 대체용으로 나오는 싸구려 USB 메모리들은 OLC도 있다. 이러한 추세면 먼 미래엔 SSD도 OLC가 나올 가능성도 있다.[3] 이 역할은 시스템 메모리가 예전부터 맡고 있었다.[4] 플래시 메모리 전용 인터페이스인 NVMe는 제외[5] 이는 SSD만 아닌 플래시 메모리를 이용하는 장치의 공통적인 특성이다.[6] 275GB 같은 애매한 용량대는 512MB DRAM이 사용된다. 최근에는 컨트롤러의 발달로 DRAM 용량을 맞출 필요가 없는지 2021년에 출시된 MX500 4TB의 DRAM은 512MB 구성이다.[7] M.2 2230 SSD 중에 DRAM이 탑재된 SSD는 BC711 등의 예외를 제외하면 없다고 보면 된다. DRAM을 탑재할 공간도 부족하고 가격도 비싸, 앞으로도 M.2 2230 규격에는 DRAM이 탑재될 확률 역시 거의 없다.[8] 1.6TB 옵테인 SSD가 있다고 가정하면 1.6TB가 용량이기도 하지만, 1.6TB가 DRAM의 역할도 동시에 한다. 물론 실질적으로는 우리가 흔히 알고있는 DRAM보다는 속도가 느리다.[9] 얘는 마벨 컨트롤러를 사용한다.[10] DDR4-3200 또는 LPDDR4X-4266 with ECC[11] PCI Express 3.0/4.0 초창기때도 대부분 SSD들의 대역폭이 좀 떨어졌다.[12] 멀리 갈 거 없이 과거 ASUS Eee PC 901에 탑재된 SSD의 컨트롤러가 바로 파이슨이다. 물론 이때도 성능문제가 있었는데 컨트롤러 문제가 아니라 NAND 플래시 메모리 속도 문제가 컸다.[13] 7,500MB/s인 제품도 있다.[14] 2TB 모델 기준. 1TB 모델은 평균적으로 5,500MB/s[15] 2TB 모델 기준. 1TB 모델은 평균적으로 350K IOPS이다. 1TB 모델 제품 한정으로는 랜덤 읽기 속도가 PCI Express 3.0×4 NVMe SSD급인셈. 여담으로 삼성전자 970 EVO 500GB SSD 랜덤 읽기 속도가 370K IOPS이다.[16] 740K IOPS인 제품도 있다.[17] SFF-TA-1002, Protocol Agnostic Multi-Lane High Speed Connector, 프로토콜에 구속받지 않는 다중 레인 고속 커넥터