보조기억장치
오늘날 보조기억장치로 활용되고 있는 것은 크게 2가지이다. 하나는 하드 디스크 드라이버(HHD)이고, 또 하나는 플래시 메모리 기반 저장장치이다.
하드 디스크는 자기적인 방식으로 데이터를 읽고 쓰는 보조기억장치이며, 플래스 메모리는 전기적인 방식으로 데이터를 읽고 쓰는 반도체 기반의 저장장치이다. USB메모리나 SD카드, SSD 등이 있다. 이 중 보조기억장치로 주로 사용되는 플래시 메모리는 SSD이다.
보조기억장치는 주로 2가지 역할을 한다. 하나는 전원이 꺼져도 데이터를 안전하게 보관하는 것이며, 또 하나는 CPU가 필요로 하는 정보를 조금이라도 빠른 성능으로 메모리에게 전달하는 것이다.
RAID
보조기억장치의 역할은 즉, 데이터를 안전하고 빠르게 다룰 수 있는 방법이 중요하다. 이를 위해 사용하는 기술이 바로 RAID이다.
RAID란 데이터의 안전 혹은 성능을 확보하기 위해 여러 개의 독립적인 보조기억장치를 마치 하나의 보조기억장치처럼 사용하는 기술을 의미한다.
RAID를 구성하는 방법(레벨)
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에 대해 알아보자.
1. RAID 0
RAID 0은 데이터를 여러 보조기억장치에 단순하게 나누어 저장하는 구성 방식이다. 다음 그림과 같이 저장되는 데이터가 하드 디스크의 개수만큰 나뉘어 저장되는 방식이다. 마치 줄무늬처럼 저장된 데이터라 해서 스트라입이 부르고 분산하여 저장하는 동작을 스트라이핑이라고 한다.
장점으로 빠른 입출력 속도가 있다. 만약 하나의 디스크만 이용했다면 여러 번에 걸쳐 읽고 쓰는 과정이 있겠지만, RAID 0 구조는 데이터를 한 번에, 동시에 읽고 쓸 수 있다.
단점으로는 저장된 정보가 안전하지 않다.(신뢰성 감소) 분산된 하드디스크 하나라도 문제가 생기면 나머지 디스크도 불안전한 데이터가 된다.
2. RAID 1
RAID 1은 완전한 복사본을 만들어 저장하는 구성 방식이다. 그래서 미러링이라고도 부른다. RAID 1은 복구가 간단하고 안정성이 높다는 장점이 있다.
단, 데이터를 쓸 때 원본과 복사본 두 곳에 써야되기 때문에 RAID 0보단 쓰기 속도가 느려진다. 그리고 복사본이 저장한 크기만큼 사용 가능한 용량이 줄어든다는 단점도 있다.
3. RAID 4
RAID 4는 패리티 비트(parity bit)라는 오류 검출용 비트를 저장하는 장치를 따로 두는 방식을 의미한다. RAID 1에 비해 적은 하드디스크로도 안전하게 데이터를 보관할 수 있다.
다만 페리티 디스크에서 병목 현상이 발생할 수 있다. 위 그림을 참고해 보면 페리티 A가 데이터 A1, A2, A3의 무결성을 확인하는 데 사용이 된다. 예를 들어, A1을 읽을 때도, A2를 읽을 때도 항상 페리티 A를 확인해야 한다. 이 과정이 반복되면서 페리티 디스크에 과부하가 걸려 병목 현상이 생긴다.
4. RAID 5
RAID 5는 패리티 비트를 분산하여 저장하는 방식이다. 패리티를 분산 저장함으로써 RAID 4의 병목현상을 보완할 수 있다.
5. RAID 6
RAID 6의 구성은 기본적으로 RAID 5와 같지만, 서로 다른 패리티 2개를 두는 구성 방식이다. 2개를 둠으로써 오류를 검출하고 복구할 수 있는 수단을 만들게 된다.
RAID 4, RAID 5에 비해서 안정성이 높지만, 저장할 패리티가 2개이므로 쓰기 성능을 일반적으로 느려지게 된다.
6. Nested RAID
여러 RAID 구성 방식을 합친 방식이다. RAID 1과 RAID 0 을 합친 RAID 10, RAID 5와 RAID 0을 합친 RAID 50이 있다.
각 RAID 레벨 마다 장단이 있다. 그렇기 때문에 최적의 RAID는 환경에 따라 달라질 수 있다. RAID레벨의 구성과 특징을 잘 알고 있는 것이 중요하다.
출처
이것이 취업을 위한 컴퓨터 과학이다 with CS 기술 면접
현실 세상의 컴퓨터공학 지식 with 30가지 실무 시나리오 초격차 패키지 Online.
'Knowledge > 컴퓨터구조&운영체제' 카테고리의 다른 글
[운영체제] 운영체제의 역할과 앞으로 학습할 내용 정리 (1) | 2024.12.04 |
---|---|
[컴퓨터구조] 입출력장치 - 장치 컨트롤러, 드라이버, DMA (0) | 2024.12.02 |
[컴퓨터구조] 캐시메모리 (0) | 2024.11.30 |
[컴퓨터구조] 메모리의 논리주소와 물리주소 (1) | 2024.11.30 |
[컴퓨터구조] 빅 엔디안과 리틀 엔디안 (메모리에 바이트를 밀어 넣는 순서) (0) | 2024.11.30 |