Search
🧸

보조기억장치

생성일
2023/08/05 10:07
태그
혼공컴구
컴퓨터 구조
날짜
3 more properties

학습 목표

하드 디스크 구조와 작동 원리
플래시 메모리 구조와 작동 원리
RAID의 의미와 다양한 RAID 레벨

다양한 보조기억장치

하드 디스크, 플래터, 데이터 접근 시간, 플래시 메모리, 페이지, 블록
대표적인 보조기억장치 = 하드 디스크 + 플래시 메모리
플래시 메모리 = USB 메모리, SD 카드, SSD, …

하드 디스크

HDD, Hard Disk Drive
자기적인 방식으로 데이터를 저장하는 보조기억장치
자기 디스크(magnetic disk)의 일종
플래터, platter
실질적으로 데이터가 저장되는 곳, 동그란 원판
자기 물질로 덮여 있어 수많은 N, S극 저장 → 0과 1
스핀들, spindle
플래터를 회전시키는 구성 요소
스핀들이 ㅡㄹ래터를 돌리는 속도 → RPM (Revolution Per Minute)
15,000 RPM → 분당 15,000 회전
헤드, head
플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
디스크 암, disk arm
헤드를 원하는 위치로 이동시키는 구성 요소
양면 플래터를 사용하면 위아래로 플래터당 두 개의 헤드

플래터에 데이터가 저장되는 원리

트랙과 섹터 단위로 데이터를 저장
트랙: 여러 동심원 중 하나, 운동장의 트랙이랑 비슷
섹터: 하나의 트랙은 여러 개의 섹터
섹터는 하드 디스크의 가장 작은 전송 단위
일반적으로 512 바이트, 일부 하드 디스크는 4,096 바이트
여러 겹의 플래터 상에서 같은 트랙이 위치한 곳 → 논리적 단위: 실린더, cylinder
한 플래터를 동심원으로 나눈 공간은 트랙
같은 트랙끼리 연결한 원통 모양의 공간은 실린더

데이터 접근

접근 시간 = 탐색 시간 + 회전 시간 + 전송 시간
탐색 시간, seek time
접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
회전 시간, rotational latency
헤드가 있는 곳으로 플래터를 회전시키는 시간
전송시간, transfer time
하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
구글 AI를 주도하는 제프 딘의 ‘프로그래머가 꼭 알아야 할 컴퓨터 시간들’

플래시 메모리

Flash Memory
전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치
셀: 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
셀이 모여 MB, GB, TB 용량 형성
하나의 셀이 몇 비트를 저장하는가? → 플래시 메모리 종류 나뉨
SLC, Single Level Cell
한 셀에 1 비트를 저장할 수 있는 플래시 메모리
MLC, Multiple Level Cell
한 셀에 2 비트를 저장할 수 있는 플래시 메모리
TLC, Triple Level Cell
한 셀에 3 비트를 저장할 수 있는 플래시 메모리
가격, 속도, 수명에 큰 영향
QLC도 존재

SLC 타입

MLC, TLC 타입에 비해 비트의 빠른 입출력이 가능
혼자 거주하는 집에 제약 없이 출입하듯 빠르다
SLC는 용량 대비 비싸다
혼자 살면 감당해야 할 거주 비용이 는다

MLC 타입

SLC 타입보다 속도와 수명이 떨어짐
용량 대비 가격이 저렴 (→ 시중에 많이)

TLC 타입

대용량화에 유리
SLC, MLC보다 수명과 속도가 떨어지지만 용량 대비 가격도 저렴

플래시 메모리의 단위

읽기쓰기 단위와 삭제 단위가 다른 게 플래시 메모리의 가장 큰 특징이다
셀 집합 → 페이지, Page
읽기와 쓰기는 페이지 단위로 진행
세 개의 상태를 가짐: Free, Valid, Invalid
페이지 집합 → 블록, Block
삭제는 블록 단위로 진행
블록 집합 → 플레인, Plane
플레인 집합 → 다이, Die
셀의 상태
Free 상태: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
Invalid 상태: 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태
플래시 메모리는 하드 디스크와 달리 덮어쓰기가 불가능 → Valid 상태인 페이지에는 새 데이터 저장 불가

가비지 컬렉션

Garbage Collection
페이지 단위의 삭제가 안 되고, 덮어쓰기가 안 되므로 비효율 → 용량 낭비
SSD를 비롯한 플래시 메모리는 이러한 쓰레기 값을 정리하기 위해 가비지 컬렉션 기능 제공
유효한 페이지들만 이동→기존 블록 삭제

RAID의 정의와 종류

Redundant Array of Indendent Disks
1TB x 4 vs 4TB ?
디스크 네 개로 RAID를 구성하면 큰 디스크 하나의 성능과 안정성을 능가할 수 있다

RAID란?

주로 하드 디스크와 SSD를 사용하는 기술
데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술

RAID의 종류

RAID 구성 방법을 RAID 레벨이라고 표현
RAID 0 ~ RAID 6, RAID 10, RAID 50, …

RAID 0

여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식
저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장
스트라입, Stripe: 줄무늬처럼 분산되어 자장된 데이터
스트라이핑, Striping: 분산하여 저장하는 것
스트라이핑되면 저장된 데이터를 읽고 쓰는 속도가 빨라진다
동시에 읽고 쓸 수 있게 되기 때문
하나라도 고장나면 전체가 망가짐

RAID 1

복사본을 만드는 방식 → Mirroring
똑같은 걸 두 개 만든다
쓸 때도 두 번 써야해서 느리다
복구가 매우 간단하다
하드 디스크 개수가 한정되었을 때, 용량이 많이 필요하다
RAID 0: 데이터를 균등하게 분산 RAID 1: 완전한 복사본

RAID 4

완전한 복사본 만드는 대신
오류를 검출하고 복구하기 위한 정보를 저장하는 장치를 두는 구성 방식
패리티 비트, Parity Bit
RAID 1보다 적은 하드디스크로도 데이터를 안전하게 보관 가능

RAID 5

RAID4는 패리티를 저장하는 디스크에 병목현상
RAID 5는 이러한 병목 현상 해소

RAID 6

RAID 5랑 같지만, 패리티를 하나 더 두는 방식
쓰기 속도가 더 느려지지만, 안정성은 더 높아진다