[OS] 저장소

전두엽힘주기·2025년 12월 17일

OS

목록 보기
7/7

HDD·SSD 물리 구조부터 디스크 스케줄링까지

스토리지는 HDD와 SSD로 나뉘며, HDD는 Seek + Rotation이 성능 병목이고 SSD는 Page Write / Block Erase 제약이 핵심이다. SSD는 이를 해결하기 위해 FTL과 Garbage Collection을 내부적으로 사용한다. HDD에서는 디스크 스케줄링(SCAN)이 성능에 중요하며, 스토리지 설계의 궁극적 목표는 성능과 데이터 일관성이다.


운영체제는 단순히 CPU와 메모리만 관리하지 않는다.
가장 느린 자원인 스토리지를 어떻게 효율적으로 다루느냐가 시스템 전체 성능을 좌우한다.

문제는 다음과 같다.

  • 디스크는 CPU/메모리에 비해 압도적으로 느리다
  • HDD와 SSD는 물리 구조 자체가 완전히 다르다
  • OS는 하드웨어 차이를 숨기면서도 성능을 끌어내야 한다

이 때문에 OS는
→ 스토리지 물리 구조를 이해하고
→ 적절한 I/O 관리와 스케줄링 전략을 사용한다.


주요 개념 설명

1️⃣ 스토리지 장치의 종류

✔ HDD (Hard Disk Drive)

Image

Image

HDD기계적 동작이 남아 있는 유일한 컴퓨터 장치다.

여러 장의 플래터(plate)가 회전하며 데이터를 읽고 씀

구성 요소:

  • 플래터(Platter)
  • 헤드(Head)
  • 트랙(Track)
  • 섹터(Sector)
  • 실린더(Cylinder)

HDD 데이터 접근 시간 구성 ⭐핵심

HDD Access Time
= Seek Time
+ Rotational Latency
+ Transfer Time
  • Seek Time: 헤드 이동 (가장 느림)
  • Rotation: 섹터가 올 때까지 회전 대기
  • Transfer: 실제 데이터 전송 (빠름)

HDD 성능 병목은 항상 기계적 위치 이동이다.


✔ SSD (Solid State Drive)

Image

Image

SSD는 반도체 기반, 기계적 부품 없음 → 빠름

특징:

  • Seek / Rotation 없음
  • 읽기 성능 매우 우수
  • 하지만 쓰기는 구조적으로 까다롭다

2️⃣ HDD 성능 직관적 이해

예시:

  • 평균 Seek: 5ms
  • 7200RPM → 1회전 ≈ 8.3ms → 평균 회전 지연 ≈ 4.1ms
  • 4KB 전송 시간 ≈ 0.03ms
총 I/O 시간 ≈ 9ms
→ 대부분이 Seek + Rotation

Transfer Time은 전체의 극히 일부


3️⃣ NAND Flash 구조 (SSD의 핵심)

✔ 기본 단위

단위의미
Page최소 Read / Write 단위
Block⭐Erase 최소 단위 (여러 Page 묶음)

✔ 결정적 제약 ⭐시험 핵심

  • Page 단위 Write 가능
  • Block 단위 Erase만 가능
  • Overwrite 불가능

➡ SSD는 쓰기 전에 반드시 Erase가 필요하다.


4️⃣ SSD가 복잡한 이유: FTL & GC

✔ Flash Translation Layer (FTL) ⭐

FTL
논리 주소(LBA)와 물리 주소(PBA)를 매핑하는 계층이다.

  • OS는 단순한 디스크로 인식
  • 내부에서는 Write-Redirect 수행
  • 기존 데이터는 invalid 처리

✔ Garbage Collection (GC)

GC는 invalid page가 많은 block을 모아:

  1. 유효 데이터 복사
  2. Block erase
  3. 재사용 가능 상태로 복원

GC 없이는 SSD 성능이 급격히 저하된다.


5️⃣ 스토리지 인터페이스

인터페이스특징
SATA전통적, HDD/구형 SSD
SCSI/SAS서버용
NVMe (PCIe)⭐CPU와 직접 연결, 초고속

NVMe는 병목을 디스크가 아니라 인터페이스에서 제거한 구조


6️⃣ RAID 개념 요약

RAID는 여러 디스크를 묶어:

  • 성능 향상 (Striping)
  • 안정성 확보 (Mirroring, Parity)

RAID 0 / 1 / 5 / 6 등으로 구성 목적이 다름.


7️⃣ 논리적 디스크 구조

OS 관점에서 디스크는 단순하다.

0, 1, 2, 3, ..., N

= Linear Logical Block Number

실제 위치 변환은 컨트롤러 책임이다.


8️⃣ 디스크 스케줄링 (HDD 중심)

Image

Image

HDD는 Seek 비용이 크므로 요청 순서 최적화가 중요하다.

주요 알고리즘

  • FCFS
  • SSTF
  • ⭐ SCAN (엘리베이터)
  • C-SCAN

SCAN 알고리즘 핵심 ⭐

  • 한 방향으로 쭉 이동하며 처리
  • 끝에 도달하면 방향 전환
  • Seek 이동 최소화

9️⃣ 모바일·노트북 스토리지 설계 관점

✔ 외장 메모리 제거 이유

  • 탈착 중 전원 차단 위험
  • 데이터 일관성(Integrity) 붕괴 가능

✔ 배터리 분리 불가 설계

  • 갑작스러운 전원 차단 방지
  • 파일 시스템 안정성 유지

스토리지 설계의 최종 목표는 “성능보다 일관성”


핵심 개념 요약

  • HDD 병목 = Seek + Rotation
  • SSD 병목 = Block Erase 제약
  • Page Write / Block Erase 구조
  • FTL은 SSD의 핵심
  • GC 없으면 SSD는 느려진다
  • SCAN은 HDD 최적화 스케줄링

헷갈리기 쉬운 개념 정리

  • SSD는 항상 빠르다?
    → ❌ GC 상황에서는 급격히 느려질 수 있음
  • OS가 물리 위치를 안다?
    → ❌ LBN만 다룸
  • NVMe는 SSD 자체가 빠른 것?
    → ❌ 인터페이스 병목 제거 효과

마무리 정리

  1. HDD는 기계적 한계가 핵심
  2. SSD는 구조적 제약을 소프트웨어로 극복
  3. OS는 스토리지를 “단순하게 보이게” 만드는 역할을 한다


Mass Storage & I/O Subsystem — OS 관점 완전 정리

TL;DR

  • 스토리지는 시스템의 최대 병목이며, OS는 스케줄링·버퍼링·캐싱·에러 처리로 이를 완화한다.
  • HDD는 Seek + Rotation이 지연의 대부분을 차지해 Sequential I/O가 유리하다.
  • SSD는 기계 지연은 없지만 Page/Block 제약, FTL, GC, Write Amplification이 핵심 이슈다.
  • 디스크 스케줄링은 SCAN/C-SCAN이 시험 핵심, RAID는 0/1/5/6의 트레이드오프를 정확히 이해해야 한다.

개념 등장 배경

CPU·메모리는 나노초 단위로 동작하지만, 스토리지는 밀리초 단위 지연을 가진다. 이 격차 때문에 OS 성능은 I/O 관리 능력에 의해 좌우된다. 하드웨어 차이를 숨기면서도 최대 성능을 끌어내기 위해 요청 재정렬, 비동기 I/O, DMA, 에러 복구가 필요해졌다.


주요 개념 설명

1) Mass Storage가 OS에 중요한 이유

  • I/O는 시스템 전체 성능의 병목
  • OS는 스케줄링·버퍼 캐시·병렬화로 지연을 상쇄

2) HDD 구조와 I/O 비용

HDD I/O 지연은 세 요소의 합이다.

  1. Seek Time: 헤드 이동 (가장 큼)
  2. Rotational Latency: 섹터 대기
  3. Transfer Time: 실제 전송

핵심 개념: Seek + Rotation이 지연의 대부분Sequential I/O 압도적 유리


3) I/O Request 패턴

  • Sequential: 연속 LBA → 최고 효율
  • Random: 점프 잦음 → 성능 급락

시험 OX: “HDD에서 Random I/O는 rotational latency 때문에 느리다.” → O


4) Disk Scheduling Algorithms (★★★ 시험 핵심)

FCFS

  • 요청 순서대로 처리
  • 단점: 헤드 지그재그 이동 → 최악 성능

SCAN (엘리베이터) ⭐

  • 한 방향으로 이동하며 처리, 끝에서 방향 전환
  • 장점: 전반적 안정

C-SCAN

  • 한 방향만 이동, 끝에서 반대편으로 점프
  • 장점: Fairness 개선, starvation 완화

SSTF

  • 가장 가까운 요청부터
  • 단점: Starvation 가능

비교 표

알고리즘장점단점포인트
FCFS공정매우 느림기준 비교
SSTF평균 성능↑기아기아 질문
SCAN안정양끝 쏠림엘리베이터
C-SCAN공정성↑평균 seek↑방향 고정

5) SSD 구조와 관리 이슈

SSD는 기계 지연이 거의 없다. 대신 쓰기 제약이 핵심이다.

  • Page: 읽기/쓰기 단위
  • Block: 지우기 단위
  • Overwrite 불가: 새 페이지 기록 후 정리
  • FTL: LBA ↔ 물리 NAND 매핑
  • Garbage Collection: 무효 페이지 회수
  • Write Amplification: 내부 추가 쓰기 증가

시험 핵심: WA는 성능 저하 + 수명 감소의 원인


6) 에러 처리(ECC)

셀당 비트 수 증가(SLC→MLC→TLC→QLC)할수록 오류↑, 수명↓, 가격↓

  • BCH, LDPC(현대 SSD 기본)

OX: “셀당 비트 수가 늘수록 오류 확률이 증가한다.” → O


7) 파일 시스템 준비

  1. Partitioning
  2. Formatting
  3. Mounting

8) 부팅과 스토리지

BIOS/UEFI → POST → MBR/GPT → Bootloader → Kernel
  • MBR: 파티션/부트 코드
  • 이후 커널 로딩 및 실행

9) Swap Space

  • 메모리 부족 시 페이지를 저장하는 전용 영역
  • 파일 시스템보다 단순 → 빠른 페이지 I/O

단답: 목적은 Backing Store(메모리 확장)


10) RAID

목표: 성능(Striping) + 안정성(Redundancy)

RAID방식속도안정성특징
0Striping최고최저복구 불가
1Mirroring최고비용 2배
5Striping+Parity(1)높음1개 복구
6Parity(2)매우 높음2개 복구

시험 포인트: RAID 5의 parity 병목, RAID 6의 비용


동작 원리 / 구조 설명

HDD vs SSD 요약 다이어그램

HDD:  Seek → Rotation → Transfer
SSD:  Page R/W → (Overwrite X) → FTL → GC → WA

I/O 스택 개요

[User]
  ↓
[FS / Page Cache]
  ↓
[I/O Scheduler]
  ↓
[Device Driver]
  ↓
[Storage Device]

핵심 개념 요약

  • HDD 성능의 본질은 Seek/Rotation
  • SCAN/C-SCAN은 시험 최빈
  • SSD의 본질은 FTL·GC·WA
  • RAID는 속도/안정성의 트레이드오프

면접·실무 포인트: 워크로드(Sequential/Random)에 맞는 설계, SSD 수명 관리(WA), RAID 선택 근거 설명 가능해야 함.


헷갈리기 쉬운 부분 정리

  • SSD는 항상 빠르다? → Random/Small write에서 WA로 느려질 수 있음
  • SSTF가 최고? → 평균은 좋지만 기아 발생
  • RAID 0도 안정성?아님, 성능 전용

마무리 정리

  1. 스토리지는 OS 성능의 핵심 병목
  2. HDD는 스케줄링, SSD는 쓰기 관리가 관건
  3. RAID로 성능·안정성을 목적에 맞게 선택

0개의 댓글