|
03. SSD(Solid State Drive)
가비지 콜렉션 : Garbage Collection, GC. 쓰레기 수집. 기존 HDD와 비교하여, HDD는 덮어 쓰기 시 해당 섹터 위에다가 정보를 다시 쓰면 된다. 하지만 SSD에 사용되는 NAND 플래시는 여러 섹터의 묶음인 블록 단위로만 삭제가 가능하며, 쓰기 동작 시에는 반드시 빈 블록에 순차적인 순서로 쓰기 동작을 해야 하는 제한이 있다. 이러한 쓰기 제한들 때문에 SSD는 OS가 내려주는 주소(논리적 주소)를 플래시 주소(물리적 주소)로 변환하는 펌웨어 계층을 가지게 되는데, 이를 흔히 FTL(Flash Translation Layer)이라고 한다. 업계에서는 이 FTL의 품질에 따라 SSD의 성능이 좌우된다고 알려져 있다. 이러한 구조 때문에 SSD에 덮어쓰기를 하는 경우 해당 섹터를 덮어쓰는 HDD와 달리 이전 데이터 영역을 무효하다고 표시만 하고 새 데이터를 빈 블록에 쓴 후 이를 가리키는 맵핑 정보만 업데이트하게 된다. 이러한 쓰기 동작 때문에 SSD를 쓰면 쓸 수록 내부에 사용하지 않는 영역들이 쌓이게 되는데, 가비지 콜렉션은 이러한 사용하지 않는 영역을 한데 모아서 삭제하는 동작이다. 가비지 콜렉션 과정은 더 이상 빈 플래시 블록이 없거나 SSD의 쓰기 버퍼가 일정 비율 넘어가거나(battery-backed SSD의 경우) SSD가 idle할 때 백그라운드로 수행된다.
TRIM : 약자가 아닌 "쓸모없는 부분을 잘라낸다." 라는 원래 뜻 그대로 가져왔다. TRIM은 OS가 SSD에 내려주는 커맨드인데, SSD의 GC 과정을 더 효율적으로 하도록 주는 일종의 힌트 같은 커맨드이다. 가비지 콜렉션 과정을 다시 생각해 보면, 유효한 데이터들과 무효한 데이터들이 섞여있는 블록(victim block)에서 유효한 데이터들만 다른 블록에 복사한 후 그 블록을 지우는 과정인데, 당연한 말이지만 유효한 데이터들을 복사하는 데에 많은 시간이 소모된다. TRIM은 OS에서 (정확히는 파일 시스템에서) 해당 논리주소의 데이터들이 더 이상 사용하지 않음을 명시적으로 SSD에게 말해줌으로써 SSD가 가비지 콜렉션 중에 더 이상 무효한 데이터들을 계속 복사하는 뻘짓을 하지 않도록 해 준다. TRIM 명령이 탄생한 후에는 OS에서 SSD에게 힌트를 줄 수 있기 때문에 가비지 콜렉션에 의한 오버헤드를 줄여주는 역할을 한다. 현재 사용되는 대부분의 OS에서는 TRIM을 자동으로 지원한다. 다만 윈도우 7은 PCIe SSD의 TRIM 커맨드를 미지원하므로 주의. 또한 순정 macOS와 해킨토시의 경우 써드파티 SSD를 사용할 때 TRIM 커맨드를 따로 입력해주지 않으면 TRIM이 작동하지 않는 것이 기본값으로 되어있다. 인텔 옵테인 SSD의 경우 블록을 지울 필요 없이 쓰기가 가능하여 트림 기능이 필요가 없다.
NCQ: Native Command Queuing. AHCI 초기에 도입된 기술로, 기존의 IDE는 명령 대기열 없이 들어오는 대로 디스크를 움직여야 했고, 랜덤 액세스에 취약한 HDD의 특성 상 디스크를 왔다갔다 하는 작업이 많아지면 성능이 저하된다. NCQ를 사용하면 명령을 대기열에 미리 받아 놓은 다음 HDD 컨트롤러에서 섹터 순으로 재배치해서 디스크가 왔다갔다 하는 빈도를 줄인다. 가령 섹터 1-1000-10-980-970-30 순으로 명령이 들어온다고 해보자. NCQ가 없으면 섹터 1과 1000을 왔다갔다 한다고 시간을 깎아 먹지만, NCQ가 있다면 내부에서 자체적으로 재배치해서 1-10-30-970-980-1000 순으로 매끄럽게 진행할 수 있게 한다. NCQ 적용 시 버퍼 히트율은 7.3%까지 향상된다고 한다. NCQ는 SSD의 성능을 높이는 핵심적인 역할이다. 그 이유는 SSD의 빠른 성능 비결이 극단적인 내부 병렬화에 있기 때문이다. NCQ를 통해서 어떤 주소에 어떤 커맨드가 들어오는지 미리 알기 때문에 SSD는 성능을 극대화시키는 방향으로 동작할 수 있게 된다. AHCI에서 큐 1개/큐 길이 32명령이었던 것이, NVMe에서는 큐 65,535개/큐 길이 65,536명령으로 확대되었다. 이러한 SSD의 내부 병렬화를 잘 알고, 이를 잘 쓰기 위해 설계된 NVMe 인터페이스이기에 나온 결과이다. 덧붙이면 65,535개 (admin queue제외) 나 큐를 만든 이유는 처음 NVMe 인터페이스를 설계할 때 유저 프로세스 당 큐 하나씩 잡고 쓰자는 큰 그림이었다. 2017년 현재 정상적인 커널을 거쳐서 그렇게 쓰진 않는다. OS를 거치지 않고 쓰는 경우를 알고 싶다면 Intel SPDK 참고.
TBW: Tera Bytes Written. "보증하는" 유효쓰기수명으로 이 수명에 도달하면 제품 보증이 끝날 뿐 SSD의 수명은 아직 끝나지 않았다. SMART 정보 또는 SSD 툴박스를 열어봤을 때 Life Remaining이 실제 수명이다. 이 실제 수명은 정해진 숫자가 아니고 소비자의 사용패턴과 컨트롤러의 낸드 관리에 따라 달라진다. 최악의 상황으로 굴려도 이 정도는 보증한다는 개념이 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가 낸드 셀의 수명이 다 되어 죽는 일은 극히 드물다고 보면 된다. 물론 디스크 인식 불가 등 많은 문제들이 낸드 셀과 관련없이 발생하여 디스크가 사망할 수 있다. 일반적으로 소비자용은 0.1∼0.3 DWPD, 데이터센터용은 용도에 따라 0.3∼10 DWPD 정도를 보증한다.
그러면 잔여수명이 진짜로 0%가 될 때까지 쓰면 어떻게될까. 낸드셀의 reallocation이 과도해지면 대부분의 SSD는 읽기 전용으로 전환되어 데이터를 안전하게 복사해갈 수 있도록 한다. 다만 자료를 복사하기 전에는 절대 드라이브를 빼거나 PC를 꺼서는 안된다. Tech report의 실험에서 여러 종류의 SSD가 읽기 전용으로 전환된 후 전원을 끌 때까지만 살아있고 껐다켜면 아예 인식이 되지 않았다. 왠만하면 SSD 수명이 심하게 닳을 경우 미리 새 걸로 교체하도록 하자.
오버 프로비저닝: Over Provisioning. 플래시 메모리는 셀 당 수명이 있다. 셀이 고장나면 용량이 줄어들고 구동 상 문제가 생길 수 있다. 이것을 방지하기 위해 SSD가 꽉 찼을 때 갈 곳이 없을까봐 대체용 여분 셀을 남겨두며, 고장을 느끼지 못하게 자연스럽게 사용토록 하는 기술을 오버 프로비저닝이라고 한다. 물론 그렇게 최악의 경우에 대비하는 것만은 아니고, SLC 캐시 등 임시저장소의 역할을 하여 쓰기 성능과 수명을 향상시키기도 한다. 일반적으로 GiB(기비바이트)와 GB(기가바이트)간의 용량 차이를 이용하여 7% 정도를 기본 오버프로비저닝으로 사용하여 아예 사용자에게 보이지도 않는 영역으로 남겨두며, 쓰기 성능이 중요한 SSD의 경우 심하게는 28% 정도까지(512GB 셀을 넣고 400GB만 쓸 수 있는 SSD 등) 잡아놓는 경우도 있다. 또 사용자가 SSD 사용 가능 공간에서 파티션을 더 작게 설정하면 남는 공간도 자동으로 오버 프로비저닝으로 사용된다. 중급 이상의 SSD에서는 수명을 걱정할 필요가 없기 때문에 파티션을 작게 잡아 일부러 오버 프로비저닝을 할 필요는 없으나,값싼 디램리스 SSD의 경우 오버 프로비저닝은 필수다. SLC 캐싱에 의존하는 디램리스 스스디는 총용량의 50%에서 심하면 30%만 사용해도 심각한 성능하락이 발생하는데, 용량을 적게 쓸 때는 컨트롤러가 각 셀을 기록용으로 쓸 것인지 캐싱용으로 쓸 것인지 그나마 빨리 판단해서 그때 그때 캐싱을 해주지만 시간이 지나서 용량이 차면 점점 그 판단에 시간이 걸리고, 결국 캐싱용 셀까지 기록용으로 돌려버려기에 캐싱효과가 사라져 성능이 괴멸적으로 하락한다. 하지만 10∼20%의 용량을 일반적인 파일의 기록과 삭제가 일어나지 않는 고정적인 캐싱 전용 영역으로 할당해주는 정도로도 디램리스 SSD의 성능하락은 상당히 완화된다.
DEVSLP: Device Sleep. 스토리지의 대기 전력을 1mW 이하로 줄인다. 주로 노트북 등 모바일 기기에서 전력 대기 시간을 크게 연장할 수 있다.
SLC 캐시: SLC Cache. TLC나 QLC 등의 드라이브는 한 셀에 3비트나 4비트 정보를 저장하기 위해 전압을 세밀하게 제어하다보니 낸드셀에 쓰는 속도가 느리다. 따라서 SSD 제조업체들은 오버프로비저닝 셀을 SLC 캐시로 활용해서 수 GB 정도로 작은 양의 데이터를 엄청나게 빠른 속도로 쓰게 해 준다. CrystalDiskMark등 대부분의 간편한 벤치마크 프로그램에서 보이는 것은 이 SLC 캐시에 저장하는 속도로서, 대체로 SSD 제조사에서 홍보하는 최고 속도에 가까운 속도를 내게 된다. 이 용량을 넘어서는 양을 연속으로 쓰게 되면 TLC나 QLC에 직접 쓰게 되므로 큰 폭으로 느려진다. SSD에 데이터를 쓰는 작업을 멈추고 나면, 쉬고 있는 동안 SSD 컨트롤러가 조금씩 SLC 캐시에 있는 데이터를 TLC나 QLC 셀로 모아서 SLC 캐시를 비우는 작업을 수행하여 SLC 캐시를 다시 비워준다. 그래서 20∼30분 정도 후에 다시 쓰기 작업을 하면 다시 빠른 속도를 활용할 수 있게 된다. Samsung 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에 이르러서 전체 낸드의 절반 정도만 가상 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 급으로 떨어지게 된다.
5. 장단점
5.1. 장점
• 대역폭이 크다
SSD는 초기에 SATA2, SATA3 기반으로 나왔을 때도 기존 HDD보다 몇 배는 높은 대역폭을 보여주며 빠르게 컴덕후들의 애용품이 되었다. 순차 읽기/쓰기 기준으로 SATA2 SSD는 300MB/s, SATA3은 500MB/s 안팎의 대역폭이 나온다. USB 메모리나 SD카드처럼 단순히 플래시 메모리만 사용함으로서 기존 HDD의 기계적 구조를 개선하는 것만으로 완성되는 것이 아닌, 저용량 낸드 여러개를 내부적으로 RAID 0 형태로 묶어서 모든 낸드에 동시에 R/W 작업을 하는 방식으로 낸드 자체의 최고속도를 극복하는 구조이기 때문에 가능한 SSD만의 장점이라고 할 수 있다. 그래서 많은 낸드를 동시에 탑재하지 못하는 스마트폰 등 모바일 디바이스의 성능 향상을 위해서는 낸드 자체의 속도가 올라가는 방법으로 대응해야 하는데, 그래서 나온 게 UFS. 한편 SSD의 발전을 SATA3 인터페이스가 받쳐주지 못하면서 새로운 규격들이 등장하고 있다. 이 중에서 시장의 주류가 될 것으로 예상되는 NVMe 인터페이스 기반의 SSD의 읽기 속도가 2,000MB/s를 넘어가고, 쓰기 속도는 1,500MB/s를 넘어가면서 실로 가공할 성능을 보여주고 있다. 게다가 현재 PCIe 3.0 x4에 기반을 둔 NVMe 인터페이스의 이론상 최대 성능은 4,000MB/s로, SSD의 성능은 더욱 높아질 것이다. 서버 시장에서 명맥을 잇고 있었던 SCSI를 퇴출시키고 있는 원흉.
• 랜덤 액세스 속도(임의의 파일을 찾는 데 걸리는 속도)가 빠르다
SSD를 한 번도 안 써 본 사람은 있지만 SSD를 한 번만 쓰는 사람은 없도록 만든 최강의 장점. HDD와 비교했을 때 체감 성능 차이가 확실히 느껴지는 이유에 해당한다. 빠른 랜덤 액세스 속도는 SSD의 최대 장점인데, 사실 랜덤 액세스 속도는 순차 읽기/쓰기 속도만큼, 혹은 그보다 더 중요하다. 무작위로 자잘한 파일들을 꺼내 오는 속도가 체감 성능에는 더욱 중요하기 때문이다. SSD의 최속도를 끌어내기 위한 SATA3을 지원하지 못하는 시스템이더라도 SSD 설치가 권장되는 가장 큰 이유인데, 1분당 7,200번 회전하는 일반 소비자용 HDD의 경우 약 7∼15ms 사이의 랜덤 액세스 속도를 보인다. 그러나 SSD는 0.1ms 이하의 랜덤 액세스 속도를 보이는데, 이는 HDD는 물리적인 바늘과 원판을 직접 움직여서 파일을 찾아야 하지만, SSD는 전기 신호로 모든 것을 처리하기 때문이다. 덕분에 SSD를 사용하면 자잘한 페이징 파일들을 읽고 쓰는 것을 반복하는 인터넷 브라우징, 많은 수의 작은 파일들을 스트리밍하는 게임의 로딩, 수시로 작은 파일을 자동 저장하는 문서 작업 및 그림 편집 작업 등 랜덤액세스가 중요한 작업을 할 때 HDD는 맹렬하게 드륵거리면서 파일이 저장되어 있는 섹터를 일일이 찾아야 하지만 SSD는 그냥 한번에 쑥 불러오기 때문에 병목현상 따위가 없어서 많은 이점을 얻을 수 있다. 기존 컴퓨터의 가장 큰 속도저하 원인이 HDD의 병목현상이라는 것을 증명이라도 하듯 많은 구형 시스템이 SSD 단 하나 설치했을 뿐인데 현역으로 되살아나고 심지어 넷북이 SSD와 크롬 OS의 조합으로 웹서핑 머신으로 부활하는 경우를 심심찮게 볼 수 있다.
• 자기장으로부터 안전하다.
HDD는 자성 물질이 있는 원판(= 알루미늄 또는 유리 원판)에 자기를 정렬하는 원리로 기록하고 지우는 것이라 HDD 위에 자석을 흔들어 대면 데이터가 싹 다 손상되고 작동 불능 상태가 된다. 하지만 SSD는 플래시 메모리 원리으로 자기장으로부터 안전하다. 물론 완전히 안전하지 않겠지만 SSD의 정보가 교란될 정도로 강력한 자기장이 발생하면 다른 금속 부품들이 자화되어 컴퓨터 외장이 먼저 부서질 것이다.
• 소음이 없다
구동부가 없어서 소음이 없다. 그래서 무소음 PC를 만들거나 태블릿을 만들 때는 필수품이다. 다만 전자제품의 특성상 풀로드시 고주파 노이즈가 발생하는 경우가 더러 있다.
• 전력소모가 적다
모터가 상시 구동되는 HDD에 비하면 대기전력 소모는 10% 수준이다. 대기시 mW 수준으로 매우 적다. 노트북에서는 결코 무시할 수 없는 전력 차이를 보인다. 또한 회전속도가 10,000∼ 15,000 rpm에 달하는 기업용 HDD들의 전력 소모량과는 비교불허 수준이다.
• 12V 쇼크로부터 안전하다
하드디스크가 쓰는 12V는 PC 내에서 가장 많이 쓰는 전압으로 전력소모에 따라 전압변동도 그만큼 심하며 영향을 많이 받는다. 특히 CPU와 그래픽카드라는 양대 부품이 12V단의 전력을 소모해대면 크든 작든 실제 입력전압은 떨어지게 마련이고, 혹여나 거기에 HDD가 다수 직렬연결 되어있기라도 하면 HDD가 받는 저전압 부담은 더욱 커진다. 이렇게 12V 저전압을 상시 겪은 HDD는 돌연사하는 경우가 많으며 메인보드나 그래픽카드가 터질때 동반으로 터지기도 하지만 5V만 쓰는 SSD는 12V의 불안정에 영향을 받지 않는 것이 장점이다.
• 작고 가볍다
3.5인치가 주류인 내장 하드디스크와는 달리 SSD는 2.5인치 제품이 주력이다. Mini-ITX, 노트북, 태블릿 등의 작은 폼 팩터를 용이하게 만들 수 있도록 해 준다. 특히 윈도우 2-in-1 제품들 중에서 가격대가 좀 되는 제품들은 거의 SSD를 사용한다. 저가형 태블릿 PC는 eMMC를 쓴다. 소형화는 기술이 발전하면서 오히려 더 진행되어, 차세대 저장공간 연결 단자인 M.2를 사용하는 제품들은 거의 캔디바(정확하게는 자유시간 정도) 정도의 크기밖에 되지 않으며, 2.5인치 역시 장치의 설치 호환성 문제로 인해 크기를 유지할 뿐이지 제품 내부를 들여다 보면 실제 제품 칩 크기는 전체의 1/4 수준 밖에 안되는 경우도 있다.
• 충격에 강하다
모터나 액추에이터 등의 기계적 작동부가 있는 HDD와 달리 SSD는 그러한 구조가 없기 때문에 생긴 장점이다. HDD의 경우 작동하지 않는 상태에서도 책상 높이 수준에서 떨어지면 고장날 가능성이 높고, 들고 다니면서 충격을 받으며 쓰는 외장HDD의 경우엔 수명이 1년도 안될 정도로 충격에 약한편이다. 반면 SSD는 기계적 작동부가 없기에 HDD보다 충격이나 진동에 관련된 문제에 대해 자유롭다. 따라서 노트북 등 모바일 환경에서라면 난기류를 마주친 비행기 안에서든 험지 주파중인 SUV 안에서든 HDD 탑재 노트북은 배드섹터가 생길 수 있는 환경에서도 신경쓰지 않고 작업을 이어갈 수 있으며 마음 놓고 손에 든 채로 쓸 수 있다는 점과 작업 중 장소를 옮길 때 신경을 덜 써도 된다는 엄청난 장점이 된다. 건물 2층, 3층 그 이상에서 던진 후에도 정상 작동하는 실험도 있었다. SSD를 장착한 디바이스 본체가 파괴될 정도의 충격이 아닌 이상 거의 다 버텨낸다고 보면 된다.
• 조각모음이 불필요하다.
HDD는 파일을 만들었다 지웠다를 반복하면서 파일이 조각나는 현상이 생겨 조각모음을 하지 않은 채 사용하면 점점 성능이 저하된다. SSD는 조각모음 대신에 트림이라는 게 생겼지만, 짧게는 수십 분에서 길게는 몇 시간 단위로 걸리는 하드디스크 조각 모음에 비해 걸리는 시간이 불과 수초에서 1분 이내로 매우 짧다. 하드디스크를 시스템 디스크로 쓰는 컴퓨터의 경우 백그라운드에서 실행되는 조각모음 때문에 종종 컴퓨터가 느려지는 걸 경험한다면, SSD는 이러한 문제가 거의 없다.
5.2. 단점
• 비싼 가격 - 개인 사용자에게 있어서는 사실상 유일한 단점.
상대적으로 HDD와 용량 대비 가격을 비교하면 여전히 비싸다. 하지만 SSD 시장이 급성장하고 TLC, QLC, 3D스택 등 집적기술 발전으로 용량 대비 원가격이 빠르게 떨어지고 있어 10년전 80GB HDD보다 동일용량대비 싸졌다. 그렇다고 해도 HDD 또한 가격이 떨어지고 있으니 단시간에 HDD의 용량 대비 가격을 넘는다고 보긴 어렵지만 HDD보다는 SSD 쪽이 기술적으로 더 발전할 여력이 많이 남아서 언젠가는 가격 역전이 발생할 것으로 생각된다. 이럴경우 SSD 판매량이 폭발적으로 늘어날 것으로 보인다.
• 발열
과거에는 하드디스크에 비해서 전력 소모와 발열이 적었다. 미세공정 기술이 급발전하면서 오히려 이 부분이 문제가 되고 있다. 메모리 칩의 크기는 작아지는 반면 용량은 커지고 속도 또한 빨라지면서 발열이 집중되는 것이 문제. CF 및 SD 카드를 카메라에 꽂고 계속해서 연사하면 메모리카드가 무척 뜨거워지는 걸 알 수 있다. SSD와 비교시 10배씩이나 느린 속도임에도 불구하고 엄청난 발열이 난다는 점. 속도는 빠르면서 표면적은 작은 mSATA 및 NVMe M.2 포맷의 제품들은 세대 변화에 따라 늘어나는 발열로 인해서 그동안 상정했던 것 이상의 과도한 스트레스가 걸리고, 셀의 물리적 화학적 특성 자체가 바뀔 수 있다는 문제가 생기기 때문에, 이를 제어하기 위해 일정 온도나 시퀸싱 스피드 이상이 걸리면 임의로 컨트롤러가 스로틀링을 걸어 19nm의 신 공정보단 22nm의 구 공정이 더 낫다는 식의 평가가 점점 많아지고 있다. 게다가 벤치마크를 반복적으로 하다 보면 최대치에 비해 떨어지는 실성능이 나온다. 물론 벤치마크는 언제나 극단적인 상황을 상정한 시나리오지만, 시퀀셜 성능을 계속 갈구는 영상 편집 등의 작업을 할 때는 충분히 스로틀링에 부딪힐 수 있다. 이런 문제는 어느 저장장치에서도 생기는 문제이다. 이 문제를 공략하기 위한 방열판 제품들도 몇몇 나왔고, 최저 시퀸셜 성능을 표기하기도 하며, 기업용 모델은 공랭 쿨러가 달리기도 한다. 하이엔드급 메인보드는 아예 M.2용 방열판을 끼워준다. 즉 성능이 높을수록 발열량 및 전력 소비가 높아지므로 이에 따른 해결책은 마련해야 한다. 특히 NVMe M.2 제품들이 높은 성능에 비해 매우 작은 크기를 가지고 있어서 발열을 해소할 방도가 없으므로 일반 제품이라도 쿨러를 달아 주거나 방열판을 붙여 줘야 한다. 특히 요즘들어 인텔이 보유하고 있는 반도체 기술을 저장장치에 접목하여 엄청난 성능의 SSD를 개발하는데 열을 올리고 있으며, Optane 기술이 어느정도 성장하면 RAM 따위가 아예 필요없는 일체형 저장장치 기반 PC의 시대를 열것을 천명하고 있다. 이미 상용화 되어 있는 많은 Optane 기반 PCIe SSD들은 써멀패드와 히트싱크를 달아서 나오고 있고, 조만간 저장장치에도 팬을 달아야 할 날도 멀지 않았다는 전망도 있다.
• 전기적/논리적 오류시 데이터 통째 손실 위험
정전기나 컨트롤러 오류로 인한 데이터 손실 시 복구가 거의 불가능하다. 다만 기업단위에서는 데이터 저장용 매체로서 기피되는 이유는 아니다. 데이터의 무결성을 무한정 제공하는 미디어는 없다. HDD나 광디스크도 시간이 지나면 다양한 이유로 데이터를 손실한다. HDD 역시 제한적으로만 복구 가능하며, 심각한 파손시에는 불가능하다. 개인이든 기업이든 중요한 데이터는 사본(백업/아카이브 등)을 만들고 주기적으로 사본의 유효성을 확인하는 방식으로 대응해야지 복구에 기대면 반드시 망한다. SSD가 장기보관용으로 기피되는 이유는 이 손실이 "생각보다 빠르게" 발생하기 때문이다. 별다른 관리 없이 방치했을 때, HDD는 3-5년 광디스크는 5-10년, 테이프는 10-30년 데이터가 유지된다고 한다. SSD는 1-3년안에 데이터 손실이 발생하기 시작한다. 즉,"보존용"으로는 가성비가 좋지 않은 것이 이유이지, 손실이 발생하는 것 자체는 이유가 아니다. 어쨌든 기업 스토리지는 SSD와 HDD 양쪽 모두 RAID 기술 등을 이용해서 다중화하고, 데이터 무결성을 달성한다. SSD가 기업 스토리지에 안 맞는 근본적인 결합이 있지는 않으며, 오히려 장점이 더 많다.
하지만 개인단위에서는 이야기가 달라진다. 애초에 고장으로 인한 데이터 손실을 상정하고 RAID로 묶는 기업과 달리, 개인은 그정도로 철저하게 손실에 대처하기에는 부담이 많이 된다. 기껏해야 평소에 백업을 해두는 정도가 최선이며, 이마저도 하지 않는 유저가 많아 데이터 안전성은 하드웨어 안전성에 많이 의존하게 된다. 엔드 유저들 일부 분야에서 아직도 HDD를 고수하는 이유가 데이터 손실 때문이다. NAS 내부의 저장 장치로 SSD가 기피되는 이유도 이것. HDD는 기술적으로 나름 보수적인 물리적인 작동/기록방식을 사용하는 데다가 데이터가 저장되는 플래터의 면적이 넓어서, 상대적으로 손상이 나도 돈은 들겠지만 어쨌든 뚜껑을 따기라도 해서 적어도 일부라도 복구할 가능성이 다소나마 있는데, SSD는 메모리셀의 화학적 특성을 이용하기 때문에 '''물리적인 충격에는 강하지만 전기적 충격이나 온도 등으로 인한 화학적 특성변화에 약하다. 그런 문제로 인한 데이터 손실이 생겨 버리면 해당 플래시메모리 모듈 통째로 복구할 방법이 없다. SSD셀 수명을 위한 분산 기록하는 시스템인 웨어 레벨링도 문제다. 컨트롤러 단에서 매우 복잡하게 데이터를 분산하므로, 이하 계층에는 분석이 까다로워, 복구를 해야할 정도로 컨트럴러나 셀이 손상된 상황에선 복구률이 매우 까다롭게 된다. TRIM, 인터리빙 등의 기술도 복구를 어렵게 한다.
6. SSD vs HDD
현재 시스템용 저장 장치 시장에서 하드 디스크가 SSD 대비 강점을 가지는 것은 가격. 즉 가격 대 용량비와 데이터 보존성 뿐이다. 그러나 보존용 저장 장치로서도 데이터 수명과 연속 읽기/쓰기 속도의 차이로 인해 SSD가 큰 강점을 가지고 있고, 앞으로도 HDD의 장점을 뛰어넘게 된다. 다만, 아직까지는 SSD가 온도로 인한 데이터 증발에 약한 편이기에 만일에 대비해서 지금도 SSD와 HDD를 같이 사용하는 유저들이 많다.
6.1. SSD의 차원이 다른 강점
단순하게 속도만 빠른 저장장치가 아닌 RAM, CPU와 함께 컴퓨터의 전체적인 속도를 좌우하는 요소 중 하나이다.
SSD가 처음 발표됐을 당시에는 초기 성능은 낮아도 HDD를 대체할 만큼 성능 향상이 이루어지리라 예측되었다. 실제 기술의 발전으로 개량이 진행되어 성능은 이미 HDD를 압도하는 상황이고, 가격도 꾸준히 떨어지고 있어 어느 정도는 그 예측이 실현되었다고 보인다. 사실 '기존 기술을 뛰어넘지 못한다, 혹은 XX 이상 성능을 내지 못한다'는 예측은 지금까지 너무나 많이 빗나가 왔다. 대표적으로 640kB, 47nm 문제 등이 있다.
SSD와 HDD의 가장 큰 차이점은 전자적 매체 대 기계적 매체로 설명할 수 있다. 하드디스크는 기계적인 장치이다. 하드디스크 컨트롤러에게 어떤 특정 주소의 데이터를 읽어오라고 시키면 하드디스크는 '헤드를 해당 주소를 포함하는 트랙으로 이동시킨다' → '헤드가 해당 트랙의 위에 도착한다' → '해당 트랙의 LBA번호를 읽으면서 맞는 섹터가 도착할 때까지 기다린다'의 과정인데 여기서 헤드의 이동 거리는 10cm 정도. 반면 SSD는 이 모든 걸 전기 신호로 해결한다. 또 하드디스크의 데이터 액세스 포인트는 단 하나뿐이지만 SSD는 이론상 무한하게, 실제적으로는 수천 개 이상의 액세스 포인트를 가질 수 있다.
HDD는 데이터가 있는 지점까지 직접 가서 읽는 방식이라면, SSD는 데이터가 있는 위치에 전화를 걸어 확인하는 방식이다. 아무리 빨리 왔다 갔다 해도 전화보다 빠르겠는가. 운영체제 작업 등에서는 곳곳에 있는 작은 파일들을 읽어야 하므로 SSD에 밀릴 수밖에 없다.
다만 같은제조사라도 용량에 따라 읽기 속도와 쓰기 속도가 차이가있다. 주로 용량이 높을 수록 성능도 좋아진다. 물론 고성능프리미엄 라인은 그런거 없지만. 그리고 당연하지만 무조건 가격이 싸다고 답이 아니라 용량과 성능을 반드시 확인해야한다. 용량이 클수록 가격이 비싸지는건 당연하지만 같은 용량이라도 SSD성능에 따라 가격은 천차만별이다. 성능차에따라 용량이 작은 고성능SSD가 용량이 큰 보통SSD에 비해 만원수준으로 차이나기도 한다. 용량에 그다지 구애받지않으면 작은용량에 고성능SSD를 사도 되고, 다소 큰 용량이 필요하면 약간 용량을 증가시키는 대신 보통수준성능의 SSD를 사면 충분하다. 그래도 정 헷갈리면 후기를 보고 사는 것도 좋은 방법. 단순하게는 용량차이겠지만 컨트롤러의 차이부터 자체 SSD의 성능도 반드시 확인하고 구매해야한다. SSD도 발전을 거듭해온 만큼 당시에는 고급이었어도 몇년만지나면 성능이 뒤떨어지는 것이 눈에 보인다. HDD가 아닌데도 컴퓨터의 속도가 느릴때, 컴퓨터의 속도롤 추가로 올리고 싶다면 낡은 SSD를 교체하는 것이 권장된다. 교체 후 오르지않던 속도가 순식간에 오르고 고사양 프로그램들도 전에비해 원활하게 돌아가는게 눈으로도 느껴질 정도다.
불과 몇 년 전까지만 해도 전 세계 컴퓨터업계가 전부 SSD는 HDD의 대체재가 될 수 없다고 여겼다. 그러나 2015년 8월 삼성전자에서 16TB SSD를 발표하면서 사정이 크게 달라졌다. 2016년 4월 기준 시중 HDD의 최대 용량은 10TB이다. 사실 하드디스크 쪽은 10TB 이후로 더 이상 고용량의 신제품을 출시하지 않았지만 기술은 계속 발전을 거듭해 2018년 10월 기준 14TB의 HDD가 시중에 출시됐다. 하지만 80만원이라는 엄청난 가격때문에 (얼리어답터를 포함한) 대부분의 사용자들이 살만한 물건은 아니다. 기존 최대인 10TB의 HDD와는 무려 30만원이나 차이가 난다. 플래터의 자기 밀도 포화로 인해 용량은 선형적으로 증가하지만 제조 단가가 지수승으로 증가하는 지점에 와 있기 때문이다. 용량 대 가격비는 여전히 HDD에 비해 8배 정도 비싸지만 스토리지 용량이 제타바이트를 바라보는 데이터센터 입장은 다르다. 상면 공간이나 전력 소비, 유지비, 서버 총 비용 등을 종합적으로 따지면 오히려 SSD 사용이 저렴할 수도 있는 상황이 됐다. 1,600TB(1.6PB)를 구현하려 디스크가 열 개 꽂히는 서버를 사용하면 10TB HDD는 서버를 16개 사서 연결해야 한다. 하지만 16TB SSD를 쓰면 10대만 사면 된다. 서버 여섯 대를 줄일 수 있는 것이다. 단순 용량으로만 봐도 이런 상황이 됐고 성능까지 비교하면 하드디스크는 이제 시한부 인생에 들어갔다고 볼 수 있다. 실제 상대적으로 가성비가 떨어지는 고성능 HDD라인업인 15,000rpm 제품군은 단종수순에 들어갔다. 시게이트에서는 2017년에 무려 60TB SSD 시제품을 공개하기도 했다.
SSD는 HDD와 달리 내부에 모터가 없다는 결정적인 차이점 때문에 전기를 적게 먹는다. 그래서 같은 파워 서플라이를 사용해도 한 서버에 더 많은 수의 SSD를 연결할 수 있다. 전력 소모가 적다는 건 발열이 적다는 의미도 되므로 냉각 비용도 줄어든다. 고성능 SSD도 발열 문제가 있지만, HDD RAID어레이가 발생하는 열과 비교하면 손난로와 원자로 수준의 차이다. 그리고 기계적인 움직임이 없기 때문에 진동도 적어지고 그만큼 서버의 내구 연한이 연장된다. 랜덤 액세스 성능이 매우 높기 때문에 고가의 RAID카드를 구입할 필요가 없고 소프트웨어 RAID로도 충분한 성능과 안정성을 뽑아낼 수 있다. PCI-E에 직결 가능하므로 레인만 확보된다면 저가의 어댑터 카드만 달아도 쉽게 대역폭이 확장된다. 크기도 작아서 용량 대비 상면 공간을 HDD보다 적게 차지한다. 액세스 성능이 매우 좋기 때문에 그만큼 캐시 메모리(RAM)를 덜 사용해도 되고 메모리 가격을 아낄 수 있다. 서버의 대수를 줄이면서 그만큼 데이터를 한 서버에 집중시키는 게 가능해지고 이는 라우터/스위치장비를 구입하는 비용을 낮춘다. IDC씩이나 되는 곳에서 사용하는 네트워크 장비의 가격은 수백에서 수천만 원까지 가므로 이거 한 대만 줄일 수 있어도 상당한 돈을 절약할 수 있다. 배선 작업에 들어가는 공임이나 케이블 가격은 포함하지 않았는데도 이 지경이다. 유지보수 측면에서도 SSD는 스핀 업이라는 과정 없이 바로 켜지므로 서버의 다운타임이 획기적으로 줄어든다. 덧붙여 데이터 센터의 경우 공간절약의 장점은 당연하게도 부동산 비용의 절약이다. 서버가 차지하는 공간이 줄어들면 센터 부지가 HDD의 기반에 비해 획기적으로 줄어들고, 이는 곧 토지 및 건물을 더 작게 쓸 수 있음을 의미한다. 보통 HDD를 사용하는 서버는 RAID어레이의 기동시간 때문에 대용량 서버의 경우 약 10분가량의 부팅 시간을 필요로 하는데 SSD를 사용한 동급 용량 서버의 부팅 시간은 1분 이내이다. 요즘(2016년) 대세인 가상화 기술을 적용하기에도 SSD기반 서버는 우수한 랜덤 액세스 성능과 대역폭으로 더 많은 수의 가상화 인스턴스를 한 물리 서버 내에 수용할 수 있다. 액세스 빈도가 낮은 콜드 데이터에까지 SSD를 사용하기엔 아직 SSD가격이 비싸다고 평가되지만 만약 QLC기반에 아카이빙 특화 컨트롤러를 장착한 SSD가 출시된다면 이마저도 정복당할 수 있다. 플래시 메모리 가격은 계속해서 하락 중이지만 하드디스크 플래터 제조 단가는 오히려 상승 중이기 때문이다.
전자적 저장장치의 한계
SSD는 ‘셀당 수명’이라는 치명적이고도 본질적인 문제가 있다. 일례로 차량용 블랙 박스에 사용되는 플래시 메모리의 수명이 극도로 짧음이 이를 말해준다. 특히 많은 양의 데이터를 정확하게 처리해야 하는 서버의 저장장치를 SSD로 100% 대체하기는 어렵다. 대신 DRAM으로 대체
또한 자료 보존성이 떨어지는 문제도 있다. 플래시 메모리는 정전기에 취약하며, 데이터가 자연증발할 수도 있다. 최근에는 온도 상승에 따른 데이터 자연증발 문제가 제기되었다. 실온에서는 상관없지만 50도 이상의 고온에서는 데이터 보관 기간이 급격히 줄어들고 데이터 유실 가능성이 올라간다고 한다. 이 때문에 전문가들은 자료의 장기간 보관(아카이빙) 용도로 SSD 대신에 HDD을 권한다. HDD는 손상되어도 자기 기록의 흔적이 남아있으면 일부분이라도 복구가 가능하며, 자신이 관리를 잘하는 유저라면 HDD의 가장 큰 단점인 충돌 및 충격을 겪지 않으면 몇 년 혹은 길게는 10여 년 동안 무전원으로 장기적인 보관이 가능한 반면 SSD는 데이터 정보가 증발하면 말 그대로 흔적 없이 증발하며, 아직까지는 온도에 굉장히 취약한 편이다. 그 대신 자료 흔적을 지우거나 손실되기 쉬운 점을 장점으로 꼽기도 한다. 그래서 보안성이 중요한 분야나 범죄조직들은 주로 SSD를 선호하고 있다고... 또한 대부분 제조사의 경우 온도에 따른 데이터 보전력을 테스트 하여 결과값을 가지고 있지만, 영업기밀이라 공개는 하지 않는다. 결국은 일정기간마다 전원인가를 하여 전하보전을 하든가, 별도로 백업 후 일정한 기간을 정해놓고 그때마다 데이터의 이상 유무를 체크해야 한다.
반도체공학계에서는 데이터 휘발성을 개선하려 노력하고 있다. 현재 MRAM(자기저항램) PRAM(상변화램)이 연구되고 있다. MRAM은 기본 회로 구조는 DRAM과 같지만 데이터 입력부에 자기저항소자(TMR)을 두어 이 저항에 의해 전력 상실 후에도 0과 1을 저장한다. PRAM은 DRAM의 기본 구조에 칼코게나이드계 유리질을 두고 그 유리질이 열에 의해 변화함을 이용하여 0과 1을 전력 상실 후에도 저장하는 방식이다. MRAM은 이미 우주분야나 항공기 블랙박스와 같은 최첨단 분야에서 사용된다.
6.3. 최대 이슈, 가격
플래시 메모리 역시 다른 반도체처럼 가격이 떨어지는 추세다. HDD의 가장 큰 강점인 가격 대비 용량조차 SSD가 맹추격하고 있다. HDD의 데이터 밀도는 이제 한계에 도달해 있는 반면 낸드 플래시의 데이터 밀도는 3D V-NAND기술에 힘입어 아직도 한참을 더 발전할 수 있기 때문이다. 사실 HDD가 내세울 만한 강점은 이제 용량 대비 가격과 안정성밖에 없는데, 이 중 안정성은 서버 규모에서나 필요할 일이고, 일반 소비자 기준에서는 오로지 가격뿐이다. 그나마 이 용량 대비 가격도 맹추격당하고 있으며, 이것이 뒤집히는 날이 오면 HDD는 현재의 플로피 디스크나 비디오 테이프, 오디오 테이프처럼 구시대의 유물이 될 것이다. 최대 용량마저 SSD에 밀린 현재 하드디스크 제조사들이 양자 기술을 도입하여 면적당 비트수를 현재의 수십 배 수준으로 단숨에 끌어올리지 않는 한 하드디스크의 미래는 어둡다.
예전에는 HDD가 필수이고, SSD가 선택이었다. 2020년 현재는 그 반대가 되었다. TLC를 지나 QLC 시대에 들어서 가격이 더 내려가다면, HDD 역시 역사 속으로 사라질 것이다.