학습 목표
- 하드디스크 구조와 작동 원리를 이해합니다.
- 플래시 메모리 구조와 작동 원리를 이해합니다.
- RAID의 의미와 다양한 RAID 레벨을 학습합니다.
07-1. 다양한 보조기억장치
하드 디스크
- 자기적인 방식으로 데이터를 저장하는 보조기억장치 ('자기 디스크'라고도 불림)
- CD나 LP와 비슷하게 구성되어 있음
1. 플래터 (platter)
- 하드디스크에서 실질적으로 데이터가 저장되는 곳 (동그란 원판)
- 자기 물질로 덮여있어 수많은 N극(0)과 S극(1)을 저장한다.
- CD나 LP에 비해 하드디스크는 훨씬 더 많은 양의 데이터를 저장해야하므로 일반적으로 여러 겹의 플래터로 이루어져있고 플래터 양면을 모두 사용할 수 있다.
2. 스핀들 (spindle)
- 플래터를 회전시키는 구성요소
- 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM(Revolution Per Minute)라는 단위로 표현된다.
- RPM이 15,000인 하드 디스크는 1분에 15,000바퀴를 회전하는 하드 디스크이다.
3. 헤드 (head)
- 플래터를 대상으로 데이터를 읽고 쓰는 구성요소
- 플래터 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는, 마치 바늘같이 생긴 부품이다.
플래터에 데이터 저장 방식
- 플래터는 트랙(track)과 섹터(sector)라는 단위 데이터를 저장한다.
1. 트랙(track)
- 플래터를 여러 동심원으로 나누었을 때 그중 하나의 원을 트랙이라고 부른다.
2. 섹터(sector)
- 하드디스크의 가장 작은 전송단위이다.
- 하나의 섹터는 일반적으로 512바이트 ~ 4,096바이트 정도의 크기를 가지고 있다.
3. 블록(block)
- 하나 이상의 섹터를 묶어 표현.
4. 실린더(cylinder)
- 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적 단위
저장된 데이터 접근하는 방식
1. 탐색시간(seek time)
- 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간을 의미한다.
2. 회전지연(rotational latency)
- 헤드가 있는 곳으로 플래터를 회전시키는 시간을 의미한다.
3. 전송시간(transfer time)
- 하드디스크와 컴퓨터 간에 데이터를 전송하는 시간을 의미한다.
탐색시간과 회전지연을 단축시키는 방법
1. 플래터를 빨리 돌려 RPM을 높이기
2. 플래터나 헤드를 조금만 옮겨도 접근할 수 있는 위치에 데이터가 존재하도록 참조지연성의 원리를 따르기
다중 헤드 디스크와 고정 헤드 디스크
- 단일 헤드 디스크(single-head disk): 플래터의 한 면당 헤드가 하나씩 달려있는 하드 디스크.
→ 헤드를 움직일 필요 X. 고정 헤드 디스크(fixed-head disk) 라고도 함. - 다중 헤드 디스크(multiple-head disk): 헤드가 트랙별로 여러 개 달려있는 하드 디스크.
→ 헤드를 데이터가 있는 곳 까지 이동 필요. 이동 헤드 디스크(movable-head disk) 라고도 함.
플래시 메모리
- 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장 장치이다. (ex. USB, SD카드, SSD)
- NAND 플래시 메모리 : NAND 연산을 수행하는 회로를 기반으로 만들어진 메모리, 대용량 저장 장치로 많이 사용된다.
- NOR 플래시 메모리 : NOR 연산을 수행하는 회로를 기반으로 만들어진 메모리
플래시 메모리 단위
- 셀(cell) : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위. 한 셀에 일정 횟수 이상 데이터를 쓰고 지우면 데이터를 더 이상 저장할 수 없다.
- 페이지(page) : 셀들이 모여 만들어진 단위
- 블록(blockk) : 페이지가 모여 만들어진 단위
- 플레인(plane) : 블록이 모여 만들어진 단위
- 다이(die) : 플레인이 모여 만들어진 단위
셀 당 저장하는 비트 수에 따른 플래시 구분
- SLC(single-level cell): 한 셀당 한 비트씩 저장하는 셀 → 0 또는 1 저장 가능.
- MLC(multiple-level cell): 한 셀에 2비트씩 저장할 수 있는 셀 → 00, 01, 10, 11 총 4 가지 저장 가능.
- TLC(triple-level cell): 한 셀에 3비트씩 저장할 수 있는 셀 → 000, 001, 010, 011, 100, 101, 110, 111 총 8 가지 저장 가능.
플래시 작동 과정
1. Free 상태: 새로운 데이터를 저장할 수 있는 상태.
2. Valid 상태: 이미 유효한 데이터를 저장하고 있는 상태.
3. Invalid 상태: 유효하지 않은 값(쓰레기 값)을 가지고 있는 상태.
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(스트라이핑): 분산하여 저장하는 행위
장점
- 데이터를 동시에 읽거나 쓸 수 있게 된다.
- 스트라이핑을 통해 데이터를 저장하거나 읽는 속도가 빨라진다.
- 1TB 저장 장치 4개를 쓰면 4TB 저장 장치 하나를 쓸 때보다 이론상 속도가 4배 빨라진다.
단점
- 저장된 정보가 안전하지 않다.
- 디스크 중 하나에 문제가 발생하면 다른 디스크의 정보를 온전히 읽는데 문제가 발생한다.
RAID 1
- mirroring(미러링)을 통해 저장장치를 원본과 백업본(복사본) 용도로 나눈다.
- 즉, 복사본으로 문제가 발생한 원본 디스크의 데이터 복구가 가능하다.
장점
- 복구 방식이 매우 간단하다.
단점
- 하드 디스크 개수가 한정됐을 때 사용 가능한 총 용량이 감소한다.
- 복사본으로 사용하는 디스크 용량만큼 총 용량이 감소한다.
- 많은 양의 하드 디스크가 필요해 비용이 증가한다.
RAID 4
- 오류 검출 및 데이터 복구에 사용되는 정보인 패리티 비트를 저장하는 디스크를 따로 구성하는 방식
- 패리티 비트(parity bit): 오류를 검출하고 데이터를 복구하기 위한 정보
- 패리티를 저장한 디스크로 다른 장치의 오류를 검출하고, 오류가 있을 시 복구한다.
- 오류 복구는 패리티 계산법을 통해 이루어진다.
장점
- RAID 1보다 적은 하드 디스크로도 데이터를 안전하게 보관할 수 있다.
단점
- 패리티를 저장하는 장치에 병목 현상이 발생한다.
- 여러 디스크에 쓰이는 데이터에 대한 패리티가 한 장치에 모두 쓰이기 때문
RAID 5
- 패리티 정보를 하나의 디스크가 아닌 여러 디스크에 분산해 저장하는 방식
장점
- RAID 4에서 발생하는 병목 현상 문제를 해결함
단점
- 특정 데이터에 대한 패리티가 하나만 쓰이기 때문에 정보 안정성이 RAID 6보다는 떨어짐
RAID 6
- 오류를 검출하고 복구할 수 있는 패리티를 두 개 저장하는 방식
- 저장되는 두 패리티는 데이터를 복구하는 방법이 다르기 때문에 한 패리티 방법으로 복구할 수 없을 때도 다른 방법으로 시도가 가능함
장점
- RAID 4나 5보다 데이터를 더 안전하게 보관할 수 있음
단점
- RAID 5보다 느림
- 한 데이터에 대한 패리티를 두 개 저장해야 하기 때문
반응형