하루에 하나씩
[01] 보조기억장치 본문
보조기억장치
1. 하드디스크
- 자기적인 방식으로 데이터를 저장하는 보조기억장치
- 자기디스크의 일종
하드디스크의 구조
- 플래터
- 자기물질로 덮여 있어 N, S극을 저장하며, 각각의 N, S 극은 0과 1의 역할을 수행
- 스핀들
- 플래터를 회전시키는 구성 요소
- RPM
- 스핀들이 플래터를 돌리는 속도를 나타내는 단위
- 15000RPM == 1분에 하드디스크가 15,000 바퀴 회전
- 헤드
- 플래터 위에서 미세하게 떠있는 바늘과 같이 생긴 장치
- 데이터를 읽고 쓰는 기능
- 디스크 암
- 헤드를 원하는 위치로 이동시키는 장치
플래터
- 트랙
- 플래터를 여러 동심원으로 나누었을 때, 그 중 하나의 원
- 운동장 트랙이라고 생각하면 편함
- 섹터
- 트랙을 여러조각을 나누는데, 이중 하나를 섹터라고 함
- 하드디스크의 가장 작은 전송 단위, 일반적으로 512바이트 정도의 크기
- 하드디스크에 따라 ~4096바이트 까지도 가짐
- 블록
- 하나 이상의 섹터를 묶어 블록이라고 표현
- 실린더
- 여러 층의 플래터 상에서, 같은 트랙이 위치한 곳을 지칭
- 연속된 정보 기록에 사용
- 디스크 암을 움직일 필요가 없기 때문
하드 디스크가 저장된 데이터에 접근하는 시간
- 탐색 시간
- 접근하려는 데이터가 저장된 트랙까지 헤드를 이동 시키는 시간
- 회전 지연
- 헤드가 있는 곳으로 플래터를 회전시키는 시간
- 전송 시간
- 하드 디스크와 컴퓨터 간 데이터를 전송하는 시간
다중 헤드 디스크와 고정 헤드 디스크
- 단일 헤드 디스크
- 플래터의 한 면에, 헤드가 하나씩 달려있는 하드 디스크
- 이동 헤드 디스크
- 다중 헤드 디스크
- 헤드가 트랙별로 여러개 달려있는 하드 디스크
- 트랙마다 헤드가 있어 탐색시간이 0임
- 고정 헤드 디스크
2. 플래시 메모리
- 흔히 사용하는 USB, SD, SSD 등...
- 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반 저장 장치
- 보조기억장치 범주에 속한다기 보단, 다양한 곳에서 널리 사용
- 일상에서 접하는 모든 전자제품안에 플래시 메모리가 내장 되어있음
- NAND 플래시 메모리
- NAND 연산을 수행하는 회로 기반으로 생성
- 대용량 저장장치로 많이 사용
- NOR 플래시 메모리
- NOR 연산을 수행하는 회로 기반으로 생성
- 저용량
플래시 메모리 용어
- 셀
- 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
- 각 셀에 1, 2, 3...비트를 저장 가능
- 각각을 SLC, MLC, TLC라고 칭함
- SLC
- 한 셀로 두 개의 정보를 표현 가능(0과 1)
- 비트의 빠른 입출력이 가능
- 수명이 긴 편, 약 수만번에서 수십만 번 데이터 작성 가능
- 데이터를 많이 읽고 쓰며, 고성능 빠른 저장장치에 사용
- MLC
- 한 셀로 네 개의 정보 표현 가능
- SLC 보다 수명, 속도가 떨어지지만 대용량화에 유리
- 용량 대비 가격이 저렴함
- 시중의 많은 플래시 메모리들이 MLC 타입
- TLC
- 한 셀로 여덟 개의 정보 표현 가능
- 수명, 속도가 제일 떨어지나 용량이 가장 큼
- 페이지
- 셀들이 모여 만들어진 단위
- 읽고 쓰는 단위로, 데이터가 페이지에 저장
- 블록
- 페이지들이 모여 만들어진 단위
- 플레인
- 블록이 모여 만들어진 단위
- 다이
- 플레인이 모여 만들어진 단위
페이지의 상태 세가지
- Free 상태
- 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장 가능한 상태
- Valid 상태
- 이미 유효한 데이터를 저장하고 있는 상태
- 덮어쓰기 불가능
- Invalid 상태
- 쓰레기 값이라 불리는 유효하지 않은 데이터를 저장한 상태
가비지 컬렉션
- 덮어쓰기가 불가능한 플래시 메모리에서, 쓰레기 값을 정리하기위해 사용
- 삭제는 블록단위로 진행되어, 블록을 복사하여 쓰레기 페이지만 삭제한 뒤, 본래 블록을 삭제
RAID의 정의와 종류
RAID의 정의 (Redundant Array of Independent DIsks)
- 하드디스크와 SSD를 사용하여 데이터의 안전성 혹은 높은 성능을 위해, 여러개의 물리적 보조기억장치를 하나의 논리적 보조기억장치처럼 사용하는 기술
RAID의 종류
- RAID의 구성 방법을 RAID레벨이라고 함
RAID 0
- 특징
- 여러개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식
- n개의 하드디스크는 각각 번갈아가면서 데이터를 저장
- 줄무늬처럼 분산되어 스트라입이라 함
- 분산하여 저장하는 것을 스트라이핑이라 함
- 단점
- 안전하지 않은 정보
- 고장날 시, 모든 정보를 읽는데 문제가 생김
RAID 1
- 특징
- 복사본을 만드는 방식
- 미러링이라고도 부름
- 데이터를 쓸때, 원본과 복사본 모두 작성
- 속도는 느리나, 복구가 매우 간단함
- 단점
- 하드 디스크 개수가 한정이 되었을 때, 사용 가능한 용량이 적음
- 비용 증가의 위험성
RAID 4
- 특징
- RAID 1과 같이 완전한 복사본을 만드는 대신, 오류 검출 및 복구에 필요한 정보를 저장하는 장치를 둔 것
- 오류 검출, 복구에 필요한 정보 == 패리티 비트
- 적은 하드디스크로도 데이터를 안전하게 보관 가능
- 패리티비트
- 원래 패리티비트는 오류 검출만 가능, 복구는 불가
- RAID 4에서는, 어떠한 계산법을 통해 복구가 가능하나, 원래라면 불가능한 것이 맞음
- 단점
- 데이터가 저장될 때 패리티비트를 저장하는 장치에도 데이터를 쓰므로, 병목현상 발생(속도 저하 위험)
RAID 5
- 특징
- 패리티정보를 분산하여 저장하는 방식, 병목현상 해소
RAID 6
- 특징
- 기본적인 구성은 RAID 5와 같으나, 서로 다른 두 개의 패리티를 두는 방식
- 오류 검출및 복구 수단이 두 개임
- 안전성 확보, 속도는 느림(저장할 패리티가 두 개 이므로)
- 데이터를 안전하게 보관하고 싶을 때 사용이 외에도, 0과 1을 혼합한 RAID 10 방식과 5와 0을 혼합한 RAID 50 방식이 존재(Nested RAID)
'컴퓨터 구조' 카테고리의 다른 글
[06] 동기화 (0) | 2024.04.17 |
---|---|
[05] CPU 스케줄링 (1) | 2024.04.17 |
[04] 운영체제 - 프로세스와 스레드 (0) | 2024.03.27 |
[03] 운영 체제 (0) | 2024.03.27 |
[02] 입출력 장치 (0) | 2024.03.20 |