대중적인 보조기억장치로는 하드디스크와 플래시메모리가 있다.
다양한 보조기억장치
하드 디스크
자기적인방식으로 데이터를 저장하는 보조기억장치.
하드디스크의 구성 요소
- 플래터 : 디스크에서 데이터가 실질적으로 저장되는 동그란 원판으로 저장 공간이다. 플래터는 자기 물질로 덮여 있어 수많은 N극과 S극을 저장한다. 각각 0과 1의 역할을 수행한다.
- 스핀들 : 플래터를 회전 시키는 구성 요소. 플래터 중앙에 위치하여 플래터를 회전 시키는데 이 속도를 RPM으로 표현.
- 헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소. 플래터 위에 미세하게 떠 있는 채로 데이터를 읽기,쓰기 한다.
- 디스크 암 : 헤드를 원하는 위치로 이동시키는 구성 요소.
플래터가 데이터를 저장하는 방식
트랙 : 플래터를 여러 동심원으로 나누었을 때 그 많은 원 중 하나의 원을 트랙이라고 한다.
섹터 : 트랙을 피자처럼 여러 조각으로 나누었을때, 한 조각을 섹터라고 한다. 일반적으로 512바이트 정도의 크기 이지만 하드 디스크마다 상이하다. 4096바이트 일 수도 있다.
블록 : 하나 이상의 섹터를 묶음 단위로 표현.
하드 디스크는 여러 플래터를 겹처서 만들어지는데 이때 각각의 플래터 상에서 같은 트랙이 위치 한 곳을 모아 연결한 논리적 단위를 실린더 라고 부른다.
이렇듯 데이터는 하드 디스크의 섹터, 트랙 실린더에 저장된다.
하드 디스크가 저장된 데이터에 접근하는 시간
- 탐색 시간 : 접근하려는 데이터가 위치한 트랙까지 헤드를 이동시키는 시간
- 회전 시간 : 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간 : 하드와 컴퓨터 간에 데이터를 전송하는 시간
플래시 메모리
USB, SD, SSD 모두 플래시 메모리 기반의 보조기억장치이다.
플래시 메모리는 데이터를 전기적으로 읽고 쓸 수 있는 반도체 기반의 저장 장치이다. 플래시 메모리는 보조기억장치 범주에만 속하지 않고 여러 많은 곳에서 사용한다.
셀 : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위. 셀이 모여 MB, GB, TB 가 된다.
셀에 저장할 수 있는 비트의 용량에 따른 플래시 메모리
- SLC : 각 셀당 1비트 저장 가능 2 개의 정보 표현 가장 빠른 비트의 입출력. 비쌈.
- MLC : 각 셀 당 2비트 저장 가능. 4개의 정보 표현 가능. 시중에 플래시 메모리 저장 장치들을 MLC 와 TLC 가 대부분
- TLC : 각 셀 당 3비트 저장 가능. 8개의 정보 표현 가능. 용량 대비 저렴하다.
페이지 : 셀이 모여 만들어진 단위
블록 : 페이지가 모여 만든 단위
플레인 : 블록이 모여 만든 단위
다이 : 플레인이 모여 만든 단위
플래시 메모리의 읽기 쓰기는 페이지 단위이다. 다만, 삭제는 블록 단위이다.
페이지는 3가지 상태를 가진다. Free, Valid, InValid 이다.
Free : null 상태
Valid : 유효한 데이터가 저장된 상태
InValid : 쓰레기 값이 저장된 상태
플래시 메모리는 하드 디스크와 달리 덮어쓰기가 불가능이라 Valid 상태인 페이지에는 새 데이터 저장이 불가능하다.
한 블록에 데이터가 저장될 때는 페이지 단위로 값이 들어가게 된다.
블록
a | b |
여기에 추가 |
만약 a 대신 a’ 를 저장하고 싶다면?
블록
a(InValid) | b |
c | a’ |
여기서 a는 InValid 이지만 데이터를 저장하고 있어 용량 낭비이다. 하지만 삭제는 블록 단위이기 때문에 a는 페이지에 저장된 정보라 a만 삭제가 불가능.
이때 사용하는게 플래시 메모리의 가비지 컬렉션이다.
가비지 컬렉션
- 유효한 페이지들만을 새로운 블록으로 복사.
- 기존의 블록을 삭제
블록2
기존 블록은 삭제!
b | |
c | a’ |
RAID 의 정의와 종류
1TB 4개의 하드 디스크가 4TB 1개의 하드 디스크보다 성능과 안전성이 좋다. 이유는 무엇일까?
RAID의 정의
주로 하드 디스크와 SSD를 사용하는 기술로, 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술.
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
여러 디스크에 번갈아가며 데이터를 저장하는 방식이다.
이때, 줄무늬처럼 분산되어 저장된 데이터를 스트라입이라고 하고, 분산하여 저장하는 것을 스트라이핑이라고 한다. 즉, 4개의 하드 디스크에 분산하여 데이터를 저장하면 CPU 는 각각 분산 된 데이터를 4개의 하드 디스크에게서 빠르게 정보를 받을 수 있으니 1개의 디스크보다 빠르다는 것
단점 : 저장된 정보가 안전하지 않다. 1개의 하드가 문제가 생기면 모든 하드의 정보가 문제가 생김
RAID 1
복사본 만들기 2개의 하드에 데이터를 저장하고 다른 2개의 하드에 복사본을 만든다. 그래서 쓰기를 할 때 2 곳에 쓰기 때문에 RAID 0 보다 느리다.
장점 : 복구가 간단.
단점 : 같은 하드 디스크 개수인데도 용량이 적어진다. 비용 증가의 단점
RAID 4
1개의 하드에만 오류 검출 및 복구를 위한 패리티 비트를 저장하는 방식. 그래서 같은 개수의 하드를 사용해도 더 많은 용량을 더 안전하게 보관 가능하다.
예) 하드 3개는 데이터 저장, 1개는 패리티 비트 저장.
단점 : 새로운 데이터를 저장할 때 패리티를 저장하는 디스크에도 데이터를 쓰게 되어 병목 현상이 일어날 수 있다.
RAID 5
RAID 5 는 RAID 4 의 단점을 보안하여 각각의 패리티 비트를 각각의 하드 디스크에 분산 저장한다. 이 방식으로 병목 현상을 줄인다. 즉, 4개의 하드는 각각의 패리티 비트를 분산하여 저장하고 있는 것이다.
RAID 6
RAID 5 와 비슷하지만 새로운 정보를 저장 할 때 마다 2개의 패리티를 저장한다. 따라서 쓰기 속도가 RAID 5 보다 느리다. 하지만 RAID 4,RAID 5 보다 안전한 구성이다. 데이터를 더욱 안전하게 저장하고 싶을 때 사용하는 방식이다.
'CS > 혼자 공부하는 컴퓨터구조와 운영체제' 카테고리의 다른 글
06 - 메모리와 캐시 메모리 (0) | 2024.06.01 |
---|---|
05 - CPU의 성능 향상 기법 (0) | 2024.06.01 |
04 - CPU의 작동 원리 (1) | 2024.05.30 |
03 - 2 명령어 2 (1) | 2024.02.14 |
03 - 1 명령어 (0) | 2024.02.14 |