Chapter 7. 보조기억장치
요약
보조기억장치의 종류와 보조기억장치를 구성하는 방법인 RAID 기술을 알 수 있었다.
내용 정리
대표적인 보조 기억 장치
- 하드 디스크
- 플래시 메모리
07-1. 다양한 보조기억장치
하드 디스크
하드 디스크 (HDD, Hard Disk Driver)
- 자기적인 방식으로 데이터를 저장하는 보조기억장치
- 자기 디스크(magnetic disk)의 일종으로 볼 수 있음.
하드 디스크 특징
- 동그란 원판에 데이터를 저장하고, 원판을 회전시켜 뾰족한 리더기를 통해 데이터를 읽는다.
- CD나 LP와 비슷하게 동작한다.
하드 디스크 구조
- 플래터(platter): 하드 디스크에서 데이터가 실질적으로 저장되는 곳. 원판 형태이다.
- 자기 물질로 덮여 있으며, 내부에 수많은 N극과 S극이 존재한다.
- 여기서 N극과 S극은 비트 (0과 1) 역할을 한다.
- 스핀들(spinddle): 플래터를 회전시키는 구성 요소
- RPM(Revolution Per Minute): 스핀들이 플래터를 돌리는 분당 회전 수를 나타내는 단위
- ex> RPM이 20,000인 경우, 1분에 플래터를 20,000번 회전할 수 있다.
- 헤드(head): 플래터를 대상으로 데이터를 읽고 쓰는 구성요소
- 헤드는 플래터 위에서 미세하게 떠 있으면서 데이터를 읽고 쓴다. 바늘과 같이 생겼다.
- 디스크암(disk arm): 헤드를 원하는 위치로 이동시키는 부품. 헤드는 디스크암에 부착돼 있다.
- 많은 양의 데이터를 저장하기 위해 여러 겹의 플래터로 구성되며, 플래터 양면을 모두 사용 가능함
- 양면 플래터를 사용 시, 플래터마다 위아래로 두 개의 헤드가사용됨
- 모든 헤드는 디스크 암에 부착돼 있으며, 디스크 암의 이동에 따라 모든 헤드가 같이 이동함.
- ex> 플래터가 5개, 헤드가 10개라면 디스크 암의 이동에 따라 10개의 헤드가 모두 움직인다.
플래터 데이터 저장 원리
플래터는 트랙과 섹터라는 단위로 데이터를 저장함
- 트랙(track): 플래터를 여러 동심원으로 나눌 때 그 중 하나의 원
- 운동장 달리기 트랙에서 한 라인을 생각
- 섹터(sector): 트랙을 여러 조각으로 나눌 때 한 조각을 의미함
- 하드 디스크의 가장 작은 전송 단위
- 하나의 섹터는 일반적으로 512 바이트이나 하드 디스크마다 차이가 있음
- 블록(block): 하나 이상의 섹터를 묶어서 블록이라 표현함
- 실린더(cylinder): 여러 겹 플래터 상에서 같은 트랙이 위치한 곳을 모아서 연결한 논리적 단위
- 각 플래터의 트랙들이 모여 원통 모양이 된다.
- 연속된 정보들은 보통 한 실린더에 기록된다.
- ex> 두개의 플래터를 가진 하드 디스크가 네 개 섹터에 데이터를 저장할 때: 첫 번째 플래터의 윗면과 뒷면, 두 번째 플래터의 윗면과 뒷면에 데이터를 저장함
- 이를 통해 디스크 암을 움직이지 않고 연속된 정보에 바로 접근할 수 있다.
저장된 데이터에 접근하는 과정
하드 디스크가 데이터에 접근하는 시간은 탐색 시간, 회전 지연, 전송 시간으로 나뉜다.
- 탐색 시간(search time): 접근할 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
- 회전 지연(rotation latency): 헤드가 있는 곳으로 플래터를 회전 시키는 시간
- 전송 시간(transfer time): 하드 디스크와 컴퓨터 사이 데이터를 전송하는 시간
접근 시간과 성능
- 탐색 시간, 회전 시간, 전송 시간은 성능에 큰 영향을 끼치게 된다.
- 하드 디스크에서 데이터를 이용하는 시간은 매우 크다.
성능 향상 방법
- 플래터를 빨리 돌려 1분당 회전 수(RPM)를 높인다.
- 참조 지역성을 고려하여 데이터를 위치시켜 플래터와 헤드의 이동 시간을 줄인다.
단일 헤드 디스크와 다중 헤드 디스크
- 단일 헤드 디스크(single-head disk)
- 플래터의 한 면당 헤드가 하나씩 달려 있는 하드 디스크
- 헤드를 데이터가 있는 곳 까지 이동 시켜야 하기 때문에 이동 헤드 디스크(movable-head disk)라고 부름
- 다중 헤드 디스크(multiple-head disk)
- 헤드가 트랙별로 여러개 달려 있는 하드 디스크
- 헤드를 움직일 필요가 없기 때문에 고정 헤드 디스크(fixed-head disk)라고 부름
플래시 메모리
최근 플래시 메모리 기반의 보조 기억 장치를 많이 사용한다.
- USB 메모리
- SD 카드
- SSD
플래시 메모리(flash memory)
- 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 저장 장치
- 보조기억장치 뿐만 아니라 다양한 곳에 활용되고 있음
- ex> ROM (주기억장치)
플래시 메모리의 종류
- NAND 플래시 메모리
- NAND 연산을 수행하는 회로(NAND 게이트) 기반으로 만들어진 메모리
- 대용량 저장 장치로 많이 사용하며 일반적으로 플래시 메모리로 통칭됨
- NOR 플래시 메모리
- NOR 연산을 수행하는 회로(NOR 게이트) 기반으로 만들어진 메모리
플래시 메모리 저장 단위와 종류
셀(cell)
- 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 셀 하나에 몇 비트를 저장할 수 있는지에 따라 플래시 메모리가 나뉜다.
- 1비트: SLC
- 2비트: MLC
- 3비트: TLC
- 4비트: QLC
- ...
- 셀에 저장하는 비트량은 수명, 속도, 가격에 큰 영향을 끼친다.
- 셀에 일정 횟수 이상 데이터를 쓰고 지우면 더 이상 데이터를 저장할 수 없다.
SLC(Single Level Cell) 타입
- 한 셀에 1비트 저장 가능. 즉, 0/1 2개 정보를 표현할 수 있음
- 장점
- MLC나 TLC보다 비트의 빠른 입출력이 가능함
- MLC나 TLC보다 수명이 길어 더 많은 데이터의 입력/삭제가 가능함
- 단점
- 용량 대비 가격이 높음
- 기업에서 데이터의 입력/삭제가 많고, 고성능 빠른 저장 장치가 필요할 때 SLC를 주로 사용
MLC (Multiple Level Cell) 타입
- 한 셀에 2비트 저장 가능. 즉, 4개 정보를 표현할 수 있음
- 장점
- SLC 타입보다 용량대비 가격이 저렴함
- 한 셀에 두 비트를 저장하기 때문에 SLC보다 대용량화 하기 유리함
- 단점
- 속도와 수명은 SLC에 비해 떨어짐
- TLC와 함께 시중에서 가장 많이 사용되는 플래시 메모리 저장 타입임
TLC (Triple-Level Cell) 타입
- 한 셀에 3비트 저장 가능. 즉, 8개 정보를 표현할 수 있음
- 장점
- SLC, MLC보다 가격이 저렴함
- SLC, MLC보다 대용량화 하기 유리함
- 단점
- SLC, MLC보다 수명과 속도가 떨어짐
구분 | SLC | MLC | TLC |
셀당 bit | 1bit | 2bit | 3bit |
수명 | 길다 | 보통 | 짧다 |
읽기/쓰기 속도 | 빠르다 | 보통 | 느리다 |
용량 대비 가격 | 높다 | 보통 | 낮다 |
사용 목적 | 쓰기/삭제가 자주 반복하며, 높은 성능을 원할 경우 | SLC와 TLC의 중간 목적 | 저가의 대용량 장치를 원할 경우 |
셀보다 큰 단위
- 페이지(page): 셀들이 모인 단위
- 블록(block): 페이지가 모인 단위
- 플레인(plane): 블록이 모인 단위
- 다이(die): 플레인이 모인 단위
플래시 메모리의 읽기와 쓰기, 삭제
- 플래시 메모리의 읽기/쓰기 단위와 삭제 단위는 다르다.
- 읽기와 쓰기: 페이지 단위로 이루어짐
- 삭제: 블록 단위로 이루어짐
플래시 메모리 페이지의 상태
페이지는 Free, Valid, Invalid 3가지 상태를 가질 수 있다.
- Free 상태: 어떤 데이터도 저장하지 않아 새로운 데이터를 저장할 수 있는 상태
- Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
- Invalid 상태: 유효하지 않은 쓰레기 값들을 저장하고 있는 상태
플래시 메모리는 덮어 쓰기가 불가능 하기 떄문에 Valid/Invalid 상태의 페이지에는 새 데이터를 저장할 수 없다.
- 기존 데이터 A를 수정한 A'을 블록에 저장한다면 A와 A'은 둘 다 남아 있다.
- 여기서 Free 상태인 빈 페이지에 A'가 저장돼 Valid 상태가 된다.
- 기존 A는 쓰레기 값이 되어 A를 저장한 페이지는 Invalid가 된다.
- 쓰레기 값을 저장한 공간들은 사용하지 않는데도 용량을 차지해 낭비가 발생한다.
가비지 컬렉션(garbage collection)
- 쓰레기 값을 정리하는 기능
- 유효한 페이지들을 새로운 블록에 복사하고, 기존 블록은 삭제한다.
07-2. RAID의 정의와 종류
RAID(Redundant Array of Independent Disks)
- 주로 하드 디스크와 SSD에 사용하는 기술
- 데이터의 안정성과 높은 성능을 위해서 여러 물리적 보조기억장치를 하나처럼 사용하는 기술
- 여기서 물리적 보조기억장치 여러 개를 하나의 논리적 보조기억장치처럼 취급한다.
RAID의 종류
- RAID 레벨: RAID를 구성하는 여러가지 방법을 의미
- RAID 0~6
- RAID 10 -> RAID 1과 0 기술의 결합
- RAID 50 -> RAID 5와 0 기술의 결합
RAID 0
- 보조기억장치 여러 개에 데이터를 단순히 나누어 저장하는 방식
- 즉, 저장하는 데이터를 모든 하드 디스크에 분산해서 저장하게 된다.
- stripe(스트라입): 분산해 저장한 데이터
- striping(스트라이핑): 분산하여 저장하는 행위
RAID 0 장점
- 데이터를 동시에 읽거나 쓸 수 있게 된다.
- 스트라이핑을 통해 데이터를 저장하거나 읽는 속도가 빨라진다.
- 1TB 저장 장치 4개를 쓰면 4TB 저장 장치 하나를 쓸 때보다 이론상 속도가 4배 빨라진다.
RAID 0 단점
- 저장된 정보가 안전하지 않다.
- 디스크 중 하나에 문제가 발생하면 다른 디스크의 정보를 온전히 읽는데 문제가 발생한다.
RAID 1
- mirroring(미러링)을 통해 저장장치를 원본과 백업본(복사본) 용도로 나눈다.
- 즉, 복사본으로 문제가 발생한 원본 디스크의 데이터 복구가 가능하다.
RAID 1 장점
- 복구 방식이 매우 간단하다.
RAID 1 단점
- 하드 디스크 개수가 한정됐을 때 사용 가능한 총 용량이 감소한다.
- 복사본으로 사용하는 디스크 용량만큼 총 용량이 감소한다.
- 많은 양의 하드 디스크가 필요해 비용이 증가한다.
RAID 4
- 오류 검출 및 데이터 복구에 사용되는 정보인 패리티 비트를 저장하는 디스크를 따로 구성하는 방식
- 패리티 비트(parity bit): 오류를 검출하고 데이터를 복구하기 위한 정보
- 패리티를 저장한 디스크로 다른 장치의 오류를 검출하고, 오류가 있을 시 복구한다.
- 오류 복구는 패리티 계산법을 통해 이루어진다.
RAID 4 장점
- RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관할 수 있다.
RAID 4 단점
- 패리티를 저장하는 장치에 병목 현상이 발생한다.
- 여러 디스크에 쓰이는 데이터에 대한 패리티가 한 장치에 모두 쓰이기 때문
RAID 5
- 패리티 정보를 하나의 디스크가 아닌 여러 디스크에 분산해 저장하는 방식
RAID 5 장점
- RAID 4에서 발생하는 병목 현상 문제를 해결함
RAID 5 단점
- 특정 데이터에 대한 패리티가 하나만 쓰이기 때문에 정보 안정성이 RAID 6보다는 떨어짐
RAID 6
- 오류를 검출하고 복구할 수 있는 패리티를 두 개 저장하는 방식
- 저장되는 두 패리티는 데이터를 복구하는 방법이 다르기 때문에 한 패리티 방법으로 복구할 수 없을 때도 다른 방법으로 시도가 가능함
RAID 6 장점
- RAID 4나 5보다 데이터를 더 안전하게 보관할 수 있음
RAID 6 단점
- RAID 5보다 느림
- 한 데이터에 대한 패리티를 두 개 저장해야 하기 때문
Nested RAID
- 여러 RAID 레벨을 혼합한 방식
- RAID 10: RAID 1 + RAID 0
- RAID 50: RAID 5 + RAID 0
RAID 사용
- 각 RAID 레벨별 장단점이 있어 최적의 RAID는 없다.
- 상황마다 무엇을 최우선으로 하는지에 따라 최적 RAID는 다르다.
- 따라서 RAID 레벨별 개념과 특성을 아는 것이 중요하다.
주요 Point
- RAID 10 과 RAID 50은 nested RAID 방식
- RAID 10 = RAID 1 + RAID 0
- RAID 50 = RAID 5 + RAID 0
'Study > 컴퓨터공학' 카테고리의 다른 글
[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 9 운영체제 시작하기 (0) | 2022.11.25 |
---|---|
[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 8 입출력장치 (2) | 2022.11.24 |
[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 6 메모리와 캐시 메모리 (2) | 2022.11.10 |
[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 5 CPU 성능 향상 기법 (0) | 2022.11.07 |
[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 CPU의 작동 원리 (0) | 2022.11.02 |