(참고: Fastcampus 강의, 강민철의 인공지능 시대 필수 컴퓨터 공학 지식)
6. 컴퓨터 구조 - 보조기억장치와 입출력 장치
Contents
- 하드 디스크 & 플래시 메모리
- RAID
- 디스크 스케줄링
(1) 하드 디스크 & 플래시 메모리
대표적인 보조 기억 장치
- (1) 하드 디스크 드라이브 (HDD)
- (2) 플래시 메모리
a) 하드 디스크 드라이브 (HDD)
LP, CD/DVD 플레이어와 유사
구성 요소
- (1) 플래터: 데이터가 저장되는 부분 (원판)
- (2) 스핀들: 플래터를 회전시키는 중앙부
- (3) 헤드: 데이터를 읽고 쓰는 부분
- (4) 디스크 암: 헤드를 옮기는 부분
특징
- “복수의” 헤드 & 플래터가 있는 경우가 많음
- 플래터의 “양면”을 사용하는 경우가 많음
하드 디스크의 데이터 단위
- (1) 트랙: 플래터 상의 동심원
- (2) 섹터: 트랙을 나눈 단위 (=가장 작은 단위 / 부채꼴 모양)
- (3) 실린더: 여러 개의 트랙을 모은 단위
- (4) 블록: 실제 입출력이 수행되는 단위
하드 디스크의 지연 시간
- (1) 탐색 시간: “헤드”를 원하는 “섹터”까지 이동시키는 시간
- (2) 회전 지연: 원하는 섹터를 “헤더까지” 회전시키는 시간
- (3) 전송 시간: 데이터 송수신 시간
b) 플래시 메모리
플래시 메모리의 저장 단위
- 셀 (cell): 가장 작은 저장 단위
- 한 셀에 몇 비트까지 저장가능한지에 따라 종류가 나뉨
- SLC: 1셀에 1비트 저장
- MLC: 1셀에 2비트 저장
- TLC: 1셀에 3비트 저장
- QLC: 1셀에 4비트 저장
- ..
(2) RAID
데이터의 안전성/높은 성능을 위해, 여러 보조기억장치를 하나처럼 사용 가능한 기술
다양한 종류
- (1) RAID 0
-
방식: 단순히 여러 보조기억장치에 나누어 저장 \(\rightarrow\) 성능 개선 / 신뢰성 감소
- 스트라입: 줄무늬처럼 저장된 데이터
- 스트라이핑: 분산하여 저장하기
-
-
(2) RAID 1
- 방식: 복사본 만들기 (미러링) \(\rightarrow\) 쓰기 성능 & 저장공간 감소 / 신뢰성 증가 (복구 용이)
-
(3) RAID 4
-
방식: 패리티 비트 (parity bit)라는 오류 검출용 비트를 저장하는 장치를 따로 두는 방식
\(\rightarrow\) RAID 1에 비해 적은 하드디스크로도 신뢰성 증가. 단 parity bit를 저장한 디스크에 병목 현상이 증가
-
- (4) RAID 5
- 방식: 패리티 비트를 분산하여 저장 \(\rightarrow\) RAID 4의 병목을 해소
- (5) RAID 6
- 방식: 패리티를 2개 두는 방식 \(\rightarrow\) RAID 4,5보다 신뢰성이 높아짐 (but 쓰기 성능은 감소)
- (6) Nested RAID
- 방식: 여러 RAID 구성 방식을 합침
패리티 비트 (parity bit)
(3) 디스크 스케줄링
a) 하드 디스크 복습
-
(1) 구성: (일반적으로) 모든 헤드가 디스크 암에 부착되어 함께 이동
- (2) 저장 단위:
- 트랙 (track) & 섹터 (sector) 단위로 저장
- 섹터 크기 = 512~4096 B
- 실린더 (cylinder): 여러 겹 플래터 상에서 “같은 트랙이 위치한 곳”을 모아 연결한 논리적 단위
- 트랙 (track) & 섹터 (sector) 단위로 저장
- (3) 접근 과정/시간: 탐색 시간 & 회전 지연 & 전송 시간
- (4) 보조기억장치 접근 시간은 매우 느림!
- (5) 디스크 스케줄링의 필요성!
b) 디스크 스케줄링이란
- 정의: 여러 디스크 접근 요청을 효율적으로 처리하는 방법
- 목표: 헤드의 이동 최소화 \(\rightarrow\) 탐색 시간 줄이기
c) 디스크 스케줄링의 종류
-
FCFS (First-Come First-Served)
- 요청 순서대로 처리
- 공평 but 비효율적
-
SSTF (Shortest-Seek-Time-First)
- 헤드가 가장 가까운 요청부터 처리
- 효율적이나 기아(starvation) 발생 가능
-
Scan (엘리베이터 알고리즘)
- 헤드가 한 방향으로 이동, 요청을 처리하다 끝에 도달하면 반대 방향으로 이동
-
C-Scan (Circular Scan)
-
Scan 방식의 변형으로, 헤드는 한 방향으로만 이동
• 끝에 도달하면 다시 처음으로 되돌아가서 같은 방향으로 계속 움직임
• 끝에서 반대 방향으로 되돌아갈 필요 없이 한 방향으로만 진행
-
-
Look
- Scan 방식과 유사, but 헤드는 요청이 있는 max/min 실린더 까지만 이동 (불필요한 헤드 이동 방지)
-
C-Look
- Look + Circular Scan