Preview
- HDD
- SSD
- 디스크 스케줄링 알고리즘
- RAID
본 게시물은 기술노트알렉, 「코딩 자율학습 컴퓨터 구조와 운영체제」, 길벗출판사, 2025 를 학습하고 작성되었습니다.
HDD
- Hard Disk Drive
- 대표적인 보조 기억 장치
- 자기 디스크에 데이터 저장
- 대용량 데이터 저장
- 저렴한 가격, 느린 속도
HDD 구성 요소
- 플래터(platter): 데이터 저장하는 자기 디스크, 스핀들 중심축으로 고속 회전
- 스핀들(spindle): 플래터 회전의 중심축
- 읽기/쓰기 헤드(read/write head): 자기장 변화로 데이터 읽고 씀
- 엑추에이터 암(actuator arm): 헤드를 트랙 위로 이동시킴, 피벗을 축으로 움직임
- 피벗(pivot): 엑추에이터 이동의 축, 헤드를 정확한 위치에 이동시킴
HDD 저장 구조
- 트랙(track): 플래터 표면에 있는 동심원 형태의 경로, 실제 데이터 저장
- 섹터(sector): 트랙을 더 작은 구간으로 나눈 데이터 저장하는 최소 단위
- 실린더(cylinder): 여러 플래터에서 동일한 트랙 번호 수직으로 정렬한 데이터 단위
- 클러스터(cluster): 파일 시스템에서 데이터 저장하는 기본 단위, 여러 섹터로 구성
HDD 저장 과정
- 논리적 주소를 물리적 주소(트랙, 섹터)로 변환
- 헤드가 트랙으로 이동
- 플래터 회전하여 섹터로 이동
- 데이터 읽거나 쓰기
HDD 성능 결정하는 주요 요소
- 탐색 시간: 헤드가 원하는 트랙으로 이동하는 데 걸리는 시간
- 회전 지연 시간: 플래터 회전해 원하는 섹터가 헤드 아래 도달할 때까지 걸리는 시간
- 데이터 전송 속도: 데이터 읽거나 쓰는 속도
- 디스크 단편화: 파일이 여러 트랙과 섹터에 분산되어 저장된 상태
HDD 성능 최적화
- 고RPM HDD 사용: 데이터 접근 속도 향상
- 디스크 조각 모음 수행: 탐색 시간 감소
- 버퍼 큰 HDD 사용: 데이터 처리 속도 향상
SSD
- Solid State Drive
- 뛰어난 내구성
- 적은 소음과 발열, 낮은 전력 소모
- 높은 가격, 빠른 속도
SSD 구성 요소
- NAND 플래시 메모리: 데이터 저장하는 비휘발성 메모리
- SSD 컨트롤러: SSD의 데이터 관리 및 입출력 담당
- 인터페이스: SSD와 컴퓨터 간 데이터 전송하는 통로
- DRAM 캐시: 데이터 전송 속도 높이는 임시 저장소
SSD 저장 구조
셀(cell) -> 페이지(page) -> 블록(block) -> 플레인(plane) -> 다이(die) -> 패키지(package)
- 셀: 데이터 저장하는 최소 단위
- 페이지: 데이터 읽고 쓰는 최소 단위
- 블록: 데이터 삭제하는 최소 단위
데이터 상태 관리
- 유효(valid): 데이터 사용 가능한 상태
- 무효(invalid): 삭제되었거나 새로운 데이터로 덮어쓴 상태
- 비어 있는(free): 데이터가 완전히 삭제되어 새로운 데이터 저장할 수 있는 상태
디스크 스케줄링 알고리즘
- HDD와 같은 물리적 디스크 장치에서 특성을 고려해 입출력 요청 효율적으로 처리하는 방법
- FCFS(First-Come, First-Served): 요청 순서대로 처리
- SSTF(Shortest Seek Time First): 현재 헤드 위치에서 가까운 요청부터 처리
- SCAN: 헤드가 한 방향으로 이동하며 요청 처리하다 디스크 끝에 도달하면 반대 방향으로 이동하며 처리
- C-SCAN(Circular SCAN): 헤드가 한 방향으로 이동하며 요청 처리하다 디스크 끝에 도달하면 가장 낮은 번호 트랙으로 돌아와 동일 방향으로 이동하며 처리
RAID
- Redundant Array of Independent Disks
- 여러 디스크를 논리적으로 결합해 성능 향상하고 안정성 높이는 데이터 저장 기술
RAID 주요 기술
- 데이터 스트라이핑(data striping): 데이터 여러 디스크에 블록 단위로 나누어 저장, 병렬로 처리해 입출력 성능 향상
블록(block): 데이터 쪼갠 가장 작은 단위
스트라이프(stripe): 여러 디스크에 분산 저장된 블록 전체 - 중복성(redundancy): 데이터 복사(미러링)하거나 패리티 정보 추가로 저장해 안정성 확보
미러링(mirroring): 동일한 데이터 2개 이상의 디스크에 복제해 저장하는 기술
패리티(parity): 데이터를 수학적 연산으로 변환해 복구용 정보 저장하는 기술
RAID 구현 방식
| 하드웨어 RAID | 소프트웨어 RAID |
| 전용 컨트롤러 사용 | 운영체제 기반으로 작동 |
| 뛰어난 성능 | 비교적 낮은 성능 |
| 높은 비용 | 낮은 비용 |
| 대규모 데이터 센터, 고성능 서버, 데이터 안정성 중요한 경우 | 소규모 서버, 개인 NAS 시스템, 예산 제한된 경우 |
RAID 레벨
| RAID 0 | RAID 1 | RAID 5 | RAID 6 | RAID 10 | |
| 저장 방식 | 스트라이핑으로 분산 저장 | 미러링으로 동일 데이터 여러 디스크에 저장 | 스트라이핑 + 패리티 | 스트라이핑 + 이중 패리티 | 스트라이핑 + 미러링 |
| 데이터 안정성 | 매우 낮음 (데이터 복구 기능 없음) |
높음 | 보통 (디스크 2개 이상 손상 시 복구 불가) |
높음 (디스크 손상에도 중단 없이 서비스 가능) |
높음 (빠른 복구, 디스크 손상에도 중단 없이 서비스 가능) |
| 읽기 성능 | 매우 높음 | 높음 | 높음 | 높음 | 높음 |
| 쓰기 성능 | 매우 높음 | 보통 | 낮음 | 매우 낮음 | 높음 |
| 저장 공간 활용 비율(%) | 100 | 50 | {(n - 1) / n} * 100 | {(n - 2) / n} * 100 | 50 |
| 비용 | 가장 낮음 | 높음 | 보통 | 높음 | 매우 높음 |
| 최소 디스크 수 | 2 | 2 | 3 | 4 | 4 (디스크 개수 짝수여야함) |
*n은 디스크의 개수
'코딩자율학습단 > 컴퓨터구조와 운영체제' 카테고리의 다른 글
| [컴구&OS] 4장. 메모리 (0) | 2025.07.10 |
|---|---|
| [컴구&OS] 3장. CPU (0) | 2025.07.06 |
| [컴구&OS] 2장. 데이터와 명령어 (0) | 2025.07.01 |
| [컴구&OS] 1장. 컴퓨터 구조와 운영체제 개요 (0) | 2025.06.30 |