개요
솔리드 스테이트 드라이브(solid-state drive, SSD) 또는 솔리드 스테이트 디스크는 반도체를 이용하여 정보를 저장하는 장치이다.
솔리드 스테이트 드라이브는 순수 전자식으로 작동하므로 기계식인 하드 디스크 드라이브(HDD)의 문제인 긴 탐색 시간, 반응 시간, 기계적 지연, 실패율, 소음을 크게 줄여 준다. 반면에 DRAM이 아닌 플래시 메모리가 적용된 SSD의 경우, 데이터 접근 시간이 아닌 연속적인 읽기와 쓰기에 대해 하드 디스크보다 속도가 낮은 경우가 대부분이었다. 하지만 최신 기술이 적용된 SSD의 경우, 대부분 하드 디스크 드라이브 이상의 읽기와 쓰기 속도를 낸다.
SSD 구조
현대 (2021)의 기본 SSD구조는 FTL, FMC 그리고 SRAM으로 구조되어 있다. FTL은 Flash Translation Layer의 약자로, Logical Block Address를 Physical page address로 바꾸는 역활을 한다. 즉 LBA를 SSD의 실제 주소 값으로 바꾸는 역활을 한다. 주로 ARM과 같은 RISC구조를 사용한 저전력 프로세스로 돌아가기 때문에, 전체 SSD의 전력 소모는 Host와 비교하였을때 비교할 수 없을 만큼 작은 양을 차지한다. 또한 FMC는 Flash Memory Controller의 약자로, NAND게이트로 이루어진 Flash Memory와 DRAM같의 통신을 담당한다. 이 FMC는 Dram controller을 통해서 DRAM과 DMA로 연결되어 있으며, ECC(Error correction code)와 같은 기능을 수행하고 DRAM의 결과를 Paralleler하게 요청하고 수합하여 Host에 전달하는 역활을 맡고 있다.
SSD 101
- SSD가 빠른 이유는 NAND칩이 빨라서 빨리 작동하는 것이 아니다. 다수의 NAND칩이 동시에 작동하기 때문에 빨리 작동하는 것이다.
- SSD가 항상 빠른 Latency를 가지는 것은 아니다. 왜냐하면 SSD의 erase동작은 대략 5ms의 딜레이를 가지는데, 이 동작이 이루어지는 동안은 같은 NAND CHIP에 접근할 수 없기 때문이다. 따라서 ssd의 latency는 대략 수십 us에서 5ms + alpha의 범위를 가진다. 때문에 임의 쓰기(Random Write)에는 약한 면이 (그래도 HDD보다는 훨씬 유리하다!) 있으며 읽기와 쓰기 성능이 비대칭적이다. 제조회사마다 고유의 FTL을 이용하여 이를 해결하고 있다.
- SSD의 특징은 SSD 내부에 computing power가 있다는 것이다. 이를 통해서 ssd는 고성능 IO를 제공할 수 있다. 또한 host cpu의 연산을 줄이며, data전송 시간의 단축과 에너지의 사용감소를 노릴수 있다.
- 다른 요인으로 인해 데이터 손상이 발생할 수 있다. 예를 들면 (특히 DRAM 기반의 SSD) 뜻밖의 정전으로 데이터 손실이 발생할 수 있으며, 일반 HDD에 비해 정전기에 약하다.
- 휴대용 컴퓨터에 SSD를 장착하여 배터리 방전속도를 측정할 경우 HDD를 장착한 휴대용 컴퓨터보다 빠를 수도 있는데, 그 이유는 풀 로드의 경우가 아닌 유휴상태에서 SSD의 전력 소모량이 HDD의 전력 소모량이 높기 때문이다. 즉 HDD의 경우 사용하지 않을 때 전력 소모량을 0으로 만들수 있으나, SSD는 그것이 거의 불가능하다.
- SSD의 이점중 대다수는 SSD가 HDD와 다르게 물리적인 구조를 가지지 않는다는 점에서 비롯된다. 이를 통해서 논리적인 구조의 변화로도 쉽게 SSD의 성능을 향상시킬 수 있지만, HDD는 그 특성상 기술의 한계가 명확하다.