DRAM, SSD, HDD는 아래 계층으로 갈수록 지연 시간이 길어지고 영속성은 강해지는 저장 계층입니다. DRAM은 CPU가 직접 사용하는 주 메모리라 지연 시간이 매우 짧고 처리량도 높습니다. SSD는 플래시 메모리 기반 보조저장장치로 HDD보다 랜덤 접근이 훨씬 빠릅니다. HDD는 회전하는 디스크와 헤드를 움직이는 기계식 구조라 seek와 회전 지연이 생깁니다.
대략적인 감각으로는 DRAM 접근은 ns 단위, SSD는 us 단위, HDD는 ms 단위로 생각하면 됩니다. 그래서 랜덤 I/O가 많을수록 HDD와 SSD 차이가 크게 드러납니다.
꼬리질문
조금 더 깊게 물어본다면
답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.
SSD가 HDD보다 빠른 이유는?
SSD는 물리적으로 헤드를 이동하거나 디스크가 회전하기를 기다리지 않습니다. 플래시 셀에 전기적으로 접근하므로 특히 랜덤 읽기에서 HDD보다 훨씬 빠릅니다.
DRAM은 왜 저장장치 대신 메모리로 쓰이나요?
DRAM은 빠르지만 휘발성이고 가격이 높습니다. 그래서 실행 중인 데이터와 working set을 담는 주 메모리로 쓰고, 영구 저장은 SSD나 HDD가 담당합니다.
Random access에서 SSD와 HDD 차이가 큰 이유는?
HDD는 head 이동과 회전 대기 시간이 필요하지만 SSD는 전기적으로 flash cell에 접근하므로 random access 지연이 훨씬 작습니다.
Latency와 throughput은 어떻게 다른가요?
Latency는 요청 하나가 완료되기까지의 시간이고, throughput은 단위 시간 동안 처리할 수 있는 데이터량입니다. 저장장치 성능을 볼 때 둘 다 중요합니다.
Sequential vs random access 차이는?
Sequential access는 데이터를 연속된 주소 순서로 읽거나 쓰는 방식입니다. Random access는 임의의 위치에 접근합니다. HDD는 head 이동 비용 때문에 sequential과 random 성능 차이가 매우 크고, SSD는 상대적으로 차이가 작지만 여전히 sequential이 더 빠릅니다.
NVMe vs SATA SSD의 차이는?
SATA SSD는 SATA 인터페이스를 통해 데이터를 전송합니다. NVMe SSD는 PCIe 버스를 직접 사용해 더 높은 대역폭과 낮은 latency를 제공합니다. NVMe는 SATA보다 순차 읽기 속도가 3-5배 이상 빠르고, 더 많은 병렬 큐를 지원합니다.
왜 모든 데이터를 DRAM에 올려놓지 않나요?
DRAM은 휘발성이라 전원이 꺼지면 데이터가 사라집니다. 또한 GB당 가격이 SSD나 HDD보다 훨씬 비쌉니다. 그래서 현재 실행에 필요한 working set만 DRAM에 올리고 나머지는 영구 저장장치에 보관하는 메모리 계층 구조를 사용합니다.
캐시 메모리와 DRAM의 차이는?
캐시 메모리(L1, L2, L3)는 CPU 내부나 근처에 있는 SRAM 기반 초고속 메모리입니다. DRAM보다 수십 배 빠르지만 용량이 수 MB 수준으로 작고 비쌉니다. CPU는 DRAM에서 데이터를 읽을 때 캐시에 먼저 저장해 같은 데이터를 반복 접근할 때 빠르게 처리합니다.
부가 설명
핵심은 정확한 수치보다 계층 간 상대적 차이입니다.
DRAM은 빠르지만 전원이 꺼지면 사라지고 비쌉니다. SSD와 HDD는 영구 저장에 쓰이며, SSD는 빠르지만 비용이 높고 쓰기 수명 같은 특성이 있습니다. HDD는 저렴한 대용량 저장에 아직 장점이 있습니다.
한 줄 정리
DRAM은 메모리라 가장 빠르지만 휘발성이고, SSD는 플래시 기반 보조저장장치라 빠른 랜덤 접근이 가능하며, HDD는 기계식 디스크라 seek 비용 때문에 가장 느립니다.