[혼자 공부하는 컴퓨터구조+운영체제]07장 보조기억장치
07-1 다양한 보조기억장치
하드 디스크
- 자기 디스크(magnetic disk)의 일종
- 자기적인 방식으로 데이터를 저장
- 플래터(platter)
- 데이터가 저장되는 원판
- 자기 물질로 덮여 있어 N극(0)과 S극(1)을 저장
- 일반적으로 양면을 모두 사용할 수 있는 여러 겹의 플래터가 하드디스크를 구성
- 스핀들(spindle)
- 플래터를 회전시키는 구성 요소
- RPM(Revolution Per Minute): 스핀들이 플래터를 돌리는 분당 회전수
- 헤드(head)
- 플래터를 대상으로 데이터를 읽고 쓰는 요소
- 양면 플래터 사용 시 플래터당 두 개의 헤드 사용
- 디스크 암(disk arm): 헤드가 부착되어 있어, 헤드를 원하는 위치로 이동시킴
플래터와 데이터
플래터는 트랙(track)과 섹터(sector) 단위로 데이터를 저장한다.
- 섹터
- 하드 디스크의 가장 작은 전송 단위
- 일반적으로 512바이트의 크기를 가짐
- 하나 이상의 섹터를 묶어 블록(block)이라고도 표현
- 실린더
- 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
- 연속된 정보는 보통 한 실린더에 기록
- 디스크 암을 움직이지 않고도 데이터에 접근할 수 있기 때문
하드 디스크가 저장된 데이터에 접근하는 시간
- 탐색 시간(seek time): 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 시간(rotational latency): 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간(transfer time): 하드 디스크와 컴퓨터 간 데이터를 전송하는 시간
탐색 시간과 회전 시간 단축을 위해서는 다음 두 요소가 중요하다.
- 빠른 RPM
- 플래터 헤드를 조금만 옮겨도 데이터에 접근할 수 있는 참조 지역성
다중 헤드 디스크와 고정 헤드 디스크
- 단일 헤드 디스크(이동 헤드 디스크): 플래터의 한 면당 헤드가 하나씩 달린 하드 디스크
- 다중 헤드 디스크(고정 헤드 디스크): 헤드가 트랙별로 여러 개 달린 하드 디스크
- 탐색 시간이 0이다.
플래시 메모리
- 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치
- USB 메모리, SD 카드, SSD 등
- 플래시 메모리의 종류
- NAND 플래시 메모리: NAND 연산을 수행하는 회로(NAND 게이트)를 기반으로 만듦
- 일반적인 대용량 저장 장치로 많이 사용되는 플래시 메모리
- NOR 플래시 메모리: NOR 연산을 수행하는 회로(NOR 게이트)를 기반으로 만듦
- NAND 플래시 메모리: NAND 연산을 수행하는 회로(NAND 게이트)를 기반으로 만듦
- 셀(cell)
- 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- SLC(Single Level Cell): 한 셀에 1비트를 저장하는 플래시 메모리
- MLC(Multiple Level Cell): 한 셀에 2비트를 저장하는 플래시 메모리
- TLC(Triple Level Cell): 한 셀에 3비트를 저장하는 플래시 메모리
셀 타입에 따른 플래시 메모리 종류
- SLC 타입
- 한 셀로 두 개의 정보(0과 1) 표현 가능
- 비트의 빠른 입출력 가능
- MLC나 TLC보다 긴 수명
- 용량 대비 비싼 가격
- 데이터를 읽고 쓰기가 매우 많이 반복되며 고성능의 빠른 저장 장치가 필요할 때 사용
- MLC 타입
- 한 셀로 네 개의 정보(00, 01, 10, 11) 표현 가능
- SLC보다 짧은 수명
- 더 많은 정보를 수용 가능 ⇒ SLC보다 대용화하기 유리
- SLC보다 용량 대비 저렴한 가격
- 일반적으로 사용되는 플래시 메모리 타입
- TLC 타입
- 한 셀로 여덟 개의 정보 표현 가능
- MLC보다 짧은 수명
- 대용화하기 유리
- MLC보다 용량 대비 저렴한 가격
- 저가의 대용량 저장 장치에 사용
플래시 메모리 구조의 단위
셀 → 페이지 → 블록 → 플레인 → 다이
- 플래시 메모리는 읽기/쓰기 단위와 삭제 단위가 다름
- 읽기/쓰기 ⇒ 페이지 단위
- 삭제 ⇒ 블록 단위
- 페이지가 가질 수 있는 세 가지 상태
- Free 상태: 데이터를 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
- Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
- 하드 디스크와 달리 플래시 메모리는 덮어쓰기가 불가하므로 Valid 상태의 페이지에는 새 데이터 저장 불가
- Invalid 상태: 유효하지 않은 데이터(쓰레깃값)를 저장하고 있는 상태
가비지 컬렉션
- 하드 디스크와 달리 플래시 메모리는 덮어쓰기가 불가하므로 Valid 상태의 페이지에는 새 데이터 저장 불가
- 따라서 새로운 데이터를 저장하고 기존의 Valid 페이지는 Invaild 상태로 만듦
- 이렇게 생기는 쓰레깃값을 가비지 컬렉션이 정리
- 가비지 컬렉션의 동작
- 유효한 페이지만 새로운 블록으로 복사
- 기존의 블록 삭제
07-2 RAID 정의와 종류
RAID의 정의
- Redundant Array of Independent Disks
- 데이터의 안전성 또는 높은 성능을 위해 여러 개의 물리적 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술
- 주로 하드 디스크와 SSD를 사용
RAID의 종류
- RAID 레벨: RAID 구성 방법
- Nested RAID: 여러 RAID 레벨을 혼합한 방식
RAID 0
- 여러 개의 보조 기억장치에 데이터를 나누어 저장
- 데이터가 스트라이핑되면 데이터를 동시에 읽고 쓸 수 있으므로 데이터 읽기/쓰기 속도 상승
- 스프라이핑(striping): 데이터를 분산하여 저장하는 것
- 스트라입(stripe): 줄무늬처럼 분산되어 저장된 데이터
- 예) RAID 0으로 구성된 1TB 저장 장치 네 개의 속도 < 4TB 저장 장치 한 개를 읽고 쓰는 속도
- 저장된 정보가 안전하지 않다는 단점 존재
- RAID 0으로 구성된 하드 디스크 중 한 개에 문제가 생기면 다른 정보를 읽는 데 문제 발생
RAID 1
- 복사본을 만드는 방식
- 미러링이라고도 한다.
- 원본과 복사본 두 군데에 데이터를 씀 ⇒ RAID 0보다 쓰기 속도 느림
- 복구가 간단하다는 장점 존재
- 복사본이 만들어지는 용량은 사용 불가하므로 많은 양의 하드 디스크 필요 ⇒ 비용 증가
RAID 4
- 패리티 비트를 저장한 장치를 따로 두는 방식
- 패리티 비트(parity bit): 오류를 검출하고 복구하기 위한 정보
- 본래 패리티 비트는 오류 검출만 가능하며 복구는 불가하지만, RAID에서는 오류 수정도 가능
- 데이터의 오류를 검출하고, 오류가 있다면 복구 ⇒ RAID 1보다 적은 하드 디스크로 안전하게 데이터 보관 가능
- 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 써야 함 ⇒ 패리티를 저장하는 장치에 병목 현상 발생
RAID 5
- 패리티 정보를 분산하여 저장 ⇒ 병목 현상 해결
RAID 6
- 서로 다른 두 개의 패리티를 두는 방식 ⇒ RAID 4나 RAID 5보다 안전
- 저장할 패리티가 두 개 ⇒ RAID 5보다 느림
This post is licensed under CC BY 4.0 by the author.