07.1 다양한 보조기억장치
하드 디스크
하드디스크 : 자기적인 방식으로 데이터를 저장하는 보조기억장치, 이 때문에 자기디스크의 일종으로 지칭
동그란 원판에 데이터를 저장하고, 그것을 회전시켜 뾰족한 리더기로 데이터를 읽는 방식
이때, 동그란 원판을 플래터 라고 함
플래터는 자기 물질로 덮여 있어 N극과 S극을 저장하며 각각 0과 1의 역할을 수행
스핀들 : 플래터를 회전시키는 구성 요소
RPM : 분당 회전수를 의미
헤드 : 플래터를 대상으로 데이터를 읽고 쓰는 구성 요소
바늘같이 생긴 부품을 의미하며, 플래터 위에 미세하게 떠 있는 채로 데이터를 읽고 씀
디스크 암 : 헤드를 원하는 위치로 이동시키는 구성 요소
플래터는 일반적으로 여러 겹으로 구성되어 있고 양면을 모두 사용할 수 있음
플래터는 트랙과 섹터 라는 단위로 데이터를 저장
플래터를 여러 동심원으로 나누었을 때, 그중 하나의 원을 트랙 이라고 표현
이 트랙을 여러 조각으로 나누고, 이 조각들을 섹터라고 표현
여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위를 실린더 라고 표현
일반적으로 연속된 데이터는 동일한 실린더에 표시 -> 디스크 암을 움직이지 않고 불러올 수 있기 때문
하드 디스크가 저장된 데이터에 접근하는 시간
탐색 시간 : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
회전 지연 : 헤드가 있는 곳으로 플래터를 회전시키는 시간
전송 시간 : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간
이러한 시간들이 합쳐져 데이터 전송에 걸리는 시간이 결정되며, 매우 오랜 시간이 걸리게 됨
단일 헤드 디스크 vs 다중 헤드 디스크
다중 헤드 디스크는 트랙 별로 헤드가 존재하는 것으로, 탐색 시간이 0 인 디스크
플래시 메모리
USB, SD 카드, SSD 와 같은 보조기억장치
전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치를 의미
NAND 플래시 메모리 vs NOR 플래시 메모리
이는 각각 연산을 수행하는 회로에 따라 구분된 메모리
대용량 저장 장치로는 주로 NAND 플래시 메모리를 사용
본 설명에서는 대부분 NAND 플래시 메모리를 다룰 예정
플래시 메모리에는 셀 이라는 단위가 존재
셀이란, 플래시 메모리에서 데이터를 저장하는 가장 작은 단위를 의미
하나의 셀에 몇 비트를 저장하냐에 따라 플래시 메모리의 종류를 구분
SLC(single level cell) : 하나의 셀에 1비트를 저장할 수 있는 타입
MLC(multiple level cell) : 하나의 셀에 2비트를 저장할 수 있는 타입
TLC(triple level cell) : 하나의 셀에 3비트를 저장할 수 있는 타입
SLC 타입
SLC 타입은 하나의 셀에 두개의 정보(0 또는 1)만 저장하기 때문에 비트의 빠른 입출력이 가능
수명도 MLC, TLC 보다 긴 편에 속함
이에 비례하여 용량이 커질수록 가격이 비싸진다는 단점
MLC 타입
하나의 셀에 총 4개의 정보를 저장할 수 있음
이는 SLC 타입에 비해 수명과 속도를 떨어지나, 대용량화 하기에 수월하다는 장점
TLC 타입
하나의 셀에 총 8개의 정보를 저장할 수 있으며, 수명과 속도가 가장 낮고 비용 역시 가장 저렴
플래시 메모리의 단위 순서
셀 -> 페이지 -> 블록 -> 플레인 -> 다이
플래시 메모리에서 읽기와 쓰기는 페이지 단위에서 이루어짐
하지만, 삭제는 블록 단위로 수행
페이지가 가지는 상태
Free 상태 : 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
Valid 상태 : 이미 유효한 데이터를 저장하고 있는 상태
Invalid 상태 : 쓰레기값이라 부르는 유효하지 않은 데이터를 저장하고 있는 상태
플래시 메모리는 덮어쓰기가 불가능하여 Valid 상태일 때는 데이터 쓰기가 불가능
작동 예시
1개의 페이지가 4개의 데이터를 저장한다고 가정
A, B, C 3개의 데이터를 입력
이때 A의 데이터를 A' 으로 변경하고자 하면, A에 A' 을 덮어씌우는 것이 아닌 A, B, C, A' 처럼 새로운 공간에 할당
하지만, 데이터를 삭제할 때는 4개의 데이터를 한번에 삭제하기 때문에 A만 삭제할 수 없음
이를 위해 가비지 컬렉션 이라는 기능을 제공
이는 A, B, C, A' 중 B, C, A' 은 새로운 블록에 저장한 뒤 기존 블록을 삭제하는 방식
07.2 RAID의 정의와 종류
RAID의 정의
RAID(Redundant Array of Independent Disks)란, 주로 하드디스크와 SSD 에 사용하는 기술로, 데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
RAID의 종류
RAID 레벨 : RAID 구성 방법을 의미
RAID 0
여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식
이는 저장되는 데이터가 하드 디스크의 개수만큼 나뉘어 저장
이때 마치 줄무늬처럼 분산되어 저장된 데이터를 스트라입(stripe), 분산하여 저장하는 것을 스트라이핑(striping) 이라 함
이러한 방식이 주는 이점은 데이터를 부를 때 기존에는 하나의 디스크가 4번 부르는 것을 4개의 디스크가 1번 부르기에 이론적으로 속도가 4배 빠르게 됨
하지만, 이러한 방식이 가지는 단점은 4개의 디스크 중 1개만 고장나더라도 모든 데이터를 불러올 수가 없다는 것
RAID 1
이는 복사본을 만드는 방식
마치 거울처럼 완전한 복사본을 만드는 구성이기에 미러링 이라고도 부름
이 방식을 사용한다면 데이터를 2개로 나눠 2개의 디스크에 저장하고, 이를 그대로 복사해 나머지 2개의 디스크에도 저장
이 방식은 안정성이 높지만, 그만큼 사용할 수 있는 용량이 적어진다는 단점이 있음
RAID 4
이는 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장하는 장치를 두는 구성 방식
오류를 검출하고 복구하기 위한 정보를 패리티 비트 라고 함
이 방식은 데이터를 3개로 나눠 3개의 디스크에 저장하고, 나머지 1개의 디스크에 패리티 비트를 저장
단점으로는 각 디스크에 정보를 쓸 때마다 패리티 비트를 1개의 디스크에 저장하기 때문에 병목 현상이 발생
RAID 5
RAID 4의 단점을 해소하기 위해 패리티 비트 정보를 하나의 디스크에 모아두는 것이 아닌 각 디스크에서 관리하는 방식
이때, A 디스크에 대한 패리티 비트는 B 디스크에 저장하는 방식을 사용
RAID 6
전체적인 구성은 RAID 5와 동일하나, 패리티 비트에 대한 정보를 2개로 늘린 방식
'컴퓨터구조 & 운영체제' 카테고리의 다른 글
혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 6 정리 (0) | 2024.06.08 |
---|---|
혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 5 정리 (0) | 2024.03.24 |
혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 4 정리 (0) | 2024.03.22 |
혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 3 정리 (2) | 2024.03.15 |
혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 2 정리 (0) | 2024.03.14 |