[CS] Chapter 07. 보조기억장치
혼자 공부하는 컴퓨터 구조 + 운영체제 (한빛미디어 출판, 강민철 지음) 으로 공부한 내용을 정리합니다.
CS Study를 통해 함께 공부하고 있습니다. [github repository]
✅ 07 - 1. 다양한 보조기억장치
하드 디스크와 플래시 메모리는 가장 대표적인 보조기억장치이다. 이 두 장치에 대해서 알아보자.
핵심 키워드 :하드 디스크
플래터
데이터 접근 시간
플래시 메모리
페이지
블록
✔️ 하드 디스크(HDD: Hard Disk Drive)
- 하드 디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치이다.
자기 디스크(magnetic disk)
의 일종으로 지칭하기도 한다.
- 🔎 플래터(platter)
- 그림 속 동그란 원판
- 데이터가 저장되는 곳
- 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. N극과 S극은 0과 1의 역할을 수행한다.
- 🔎 스핀들(spindle)
- 플래터를 회전시키는 구성 요소
- 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는
RPM(Revolution Per Minute)
이라는 단위로 표현
헤드(head)
: 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소디스크 암(disk arm)
: 헤드를 원하는 위치로 이동시키는 구성 요소
플래터는 트랙(track)
과 섹터(sector)
라는 단위로 데이터를 저장한다.
- 섹터는 하드 디스크의 가장 작은 전송 단위이다.
- 하나 이상의 섹터를 묶어
블록(block)
이라고 표현하기도 한다.
실린더(cylinder)
: 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위- 연속된 정보는 보통 한 실린더에 기록된다.
🔎 하드 디스크가 저장된 데이터에 접근하는 시간
❓ 다중 헤드 디스크와 고정 헤드 디스크
단일 헤드 디스크(single-head disk)
: 플래터의 한 면당 헤드가 하나씩 달려있는 하드 디스크다중 헤드 디스크(multiple-head disk)
: 헤드가 트랙별로 여러 개 달려 있는 하드 디스크. 탐색 시간이 0이다.고정 헤드 디스크(fixed-head disk)
: 헤드를 움직일 필요가 없는 다중 헤드 디스크이동 헤드 디스크(movable-head disk)
: 헤드를 데이터가 있는 곳까지 움직여야 하는 단일 헤드 디스크
✔️ 플래시 메모리(flash memory)
- 플래시 메모리는 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치이다.
- USB 메모리, SD 카드, SSD가 모두 플래시 메모리 기반의 보조기억장치이다.
❓ NAND 플래시 메모리, NOR 플래시 메모리
- NAND 플래시 메모리와 NOR 플래시 메모리는 각각 NAND 연산을 수행하는 회로(NAND 게이트)와 NOR 연산을 수행하는 회로(NOR 게이트)를 기반으로 만들어진 메모리를 뜻한다.
- 이 중 대용량 저장 장치로 많이 사용되는 플래시 메모리는 NAND 플래시 메모리이다.
셀(cell)
: 플래시 메모리에서 데이터를 저장하는 가장 작은 단위SLC(Single Level Cell)
: 한 셀에 1비트를 저장할 수 있는 플래시 메모리MLC(Multiple Level Cell)
: 한 셀에 2비트를 저장할 수 있는 플래시 메모리TLC(Triple Level Cell)
: 한 셀에 3비트를 저장할 수 있는 플래시 메모리
❓ 플래시 메모리도 수명이 있나?
- 수명이 있다.
- 플래시 메모리뿐만 아니라 하드 디스크도 수명이 있다.
- 한 셀에 일정 횟수 이상 데이터를 쓰고 지우면 그 셀은 더 이상 데이터를 저장할 수 없기 때문
🔎 SLC(Single Level Cell) 타입
- SLC 타입은 MLC나 TLC 타입에 비해 비트의 빠른 입출력이 가능
- 수명도 더 길다.
- 용량 대비 가격이 높다.
🔎 MLC(Multiple Level Cell) 타입
- 한 셀로 네 개의 정보를 표현할 수 있다.
- 일반적으로 SLC 타입보다 속도와 수명은 떨어진다.
- SLC 타입 보다 대용화하기 유리하다.
🔎 TLC(Triple Level Cell) 타입
- 한 셀로 여덟 개의 정보를 표현할 수 있다.
- 대용화하기 유리하다.
- 일반적으로 SLC나 MLC 타입보다 수명과 속도가 떨어지지만, 용량 대비 가격이 저렴하다.
구분 | SLC | MLC | TLC |
---|---|---|---|
셀당 bit | 1bit | 2bit | 3bit |
수명 | 길다 | 보통 | 짧다 |
읽기/쓰기 속도 | 빠르다 | 보통 | 느리다 |
용량 대비 가격 | 높다 | 보통 | 낮다 |
페이지(page)
: 셀들이 모여 만들어진 단위블록(block)
: 페이지가 모여 만들어진 단위플레인(plane)
: 블록이 모여 만들어진 단위다이(die)
: 플레인이 모여 만들어진 단위
플래시 메모리에서 읽기/쓰기는 페이지 단위로 이루어진다. 하지만 삭제는 블록 단위로 이루어진다.
Free 상태
: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태Valid 상태
: 이미 유효한 데이터를 저장하고 있는 상태Invalid 상태
: 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태가비지 컬렉션(garbage collection)
: 유효한 페이지들만을 새로운 블록으로 복사한 뒤, 기존의 블록을 삭제하는 기능
✅ 07 - 2. RAID의 정의와 종류
여러 보조기억장치를 더욱 안전하고 빠르게 활용하는 방법인 RAID에 대해 알아보자.
핵심 키워드 :RAID
RAID 0
RAID 1
RAID 4
RAID 5
RAID 6
✔️ RAID(Redundant Array of Independent Disks)
RAID는 주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술을 의미한다.
✔️ RAID의 종류
- RAID 구성 방법을
RAID 레벨
이라 표현한다. - 대표적으로 RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6이 있고,
- 그로부터 파생된 RAID 10, RAID 50 등이 있다.
- 이 중 가장 대중적인 것은 RAID 0, RAID 1, RAID 4, RAID 5, RAID 6이다.
🔎 RAID 0
- RAID 0는 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식이다.
- 마치 줄무늬처럼 분산되어 저장된 데이터를
스트라입(stripe)
이라 하며, - 분산하여 저장하는 것을
스트라이핑(striping)
이라고 한다. - 스트라이핑되면 저장된 데이터를 읽고 쓰는 속도가 빨라진다. 이론상 4TB 저장 장치 한 개를 읽고 쓰는 속도보다 RAID 0로 구성된 1TB 저장 장치 네 개의 속도가 네 배 빠르다.
- ❗ 단점
- 저장된 정보가 안전하지 않다.
- RAID 0으로 구성된 하드 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 수 있다.
🔎 RAID 1
- 복사본을 만드는 방식
- 완전한 복사본을 만드는 구성이기에
미러링(mirroring)
이라고도 부른다. - 데이터를 쓸 때 원본과 복사본 두 군데에 씀 (느린 쓰기 속도)
- ❗ 장점
- 복구가 매우 간단하다.
❗ 단점 :
- 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어지는 단점
🔎 RAID 4
- RAID 1처럼 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장한 장치를 두는 구성 방식
패리티 비트(parity bit)
: 오류를 검출하고 복구하기 위한 정보
- 원래 패리티 비트는 오류 검출만 가능할 뿐 오류 복구는 불가능하다.
- 하지만 RAID에서는 패리티 값으로 오류 수정도 가능하다.
- RAID 4에서는 패리티 정보를 저장한 장치로써 나머지 장치들의 오류를 검출, 복구한다.
- 패리티 비트는 본래 오류 검출용 정보지만, RAID에서는 오류 복구도 가능하다.
- ❗ 단점
- 패리티 디스크의 병목
🔎 RAID 5
- 패리티 정보를 분산하여 저장하는 방식으로 RAID 4의 병목 현상을 해소
🔎 RAID 6
- 기본적으로 RAID 5와 같으나, 서로 다른 두 종류의 패리티를 두는 방식
- RAID 4나 5보다 안전한 구성
- 쓰기 속도는 RAID 5보다 느림
🚩 RAID
- 각 RAID 레벨마다 장단점이 있다.
- 어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID 레벨은 달라질 수 있다.
- 각 RAID 레벨의 대략적인 구성과 특징을 아는 것이 중요하다.
This post is licensed under CC BY 4.0 by the author.