- 프로세서와 디스크의 갭
프로세의 속도는 빨라지지만 디스크의 속도는 기계적 장치들의 동작이 속도를 높이는데 한계가 있어 못 따라감
- RAID
디스크를 배열 구조로 연결하고 하나의 유니트로 패키지하여 용량, 신뢰도, 액세스 속도를 향상시킨 대용량 디스크시스템
블록들을 여러 디스크들로부터 동시에 읽거나 쓸 수 있기 때문에 병렬 전송이 가능해짐
- 출현 배경
하나의 큰 디스크보다 작은 디스크를 연결시키는 것이 더 경제적임
- 디스크 인터리빙
데이터 블록들을 여러 개의 디스크들에 분산 저장하는 기술
라운드-로빈 방식으로 저장
- 문제점
하나의 디스크만 결함이 발생해도 파일 전체를 사용할 수 없게되어 MTTF(장치에 결함이 발생하는 평균 시간 간격)이 낮음
- 검사 디스크
오류 검출 및 복구를 위하여 추가되는 디스크
복구 과정에 걸리는 평균시간을 MTTR 이라 부름
프로그램 실행 중 결함 디스크가 여분의 다른 디스크로 대체되는 것은 내부 회로에 의해 자동으로 일어남
- RAID 의 종류
- RAID-1
디스크에 데이터를 저장할 때 다른 디스크에도 같은 내용을 동시에 저장하는 기법인 디스크 미러링 방식 사용
높은 신뢰도를 가짐
- 단점
사용 가능 용량이 절반으로 줄어들기 때문에 가격이 높음
- RAID-2
디스크에 데이터를 비트-단위로 인터리빙 시킨 것
검사 디시크를 추가하고 해밍 코드를 사용하여 비트 오류 검출, 정정이 가능
검사 디스크에 의한 오버헤드는 전체 디스크들의 수가 증가할수록 감소함
- 단점
검사 디스크의 수가 데이터 디스크 수의 log2 값에 비례하므로 가격이 높음
- RAID-3
비트-단위 인터리빙을 이용하여 데이터를 분산저장함
한 개의 패리티 디스크를 추가하여 데이터 디스크들의 동일한 위치에 있는 비트들에 대한 패리티 비트가 패리티 디스크의 동일한 위치에 저장됨
데이터가 분산 저장되기 때문에 병렬 데이터 전송이 가능하여 액세스 속도 높아짐
- 단점
동작 때마다 패리티 비트들을 갱신해야 하므로 쓰기 시간 많이 걸림
전체 디스크 배열이 액세스 요구를 한 번에 한 개씩만 처리할 수 있음
- RAID-4
블록-단위 인터리빙을 이용하여 데이터를 분산저장함
한 개의 패리티 디스크를 추가하여 다른 디스크들에 저장된 데이터 블록에 대한 패리티 블록 저장함
블록단위로 저장되어있기 때문에 각 액세스 요구 독립적으로 처리 가능
새로운 패리티는 원래 데이터 및 새로운 데이터 사이에 XOR 연산으로 구함
데이터 블록 쓸 때마다 패리티 디스크가 반드시 두 번씩 액세스가 일어나야 되기 때문에 병목현상 발생함
- RAID-5
패리티 블록들을 모든 디스크들에 분산 저장함
병목 현상 완화와 쓰기 동작을 병렬로 수행할 수 있음
- 무엇이 좋은 성능
RAID-1과 RAID-5가 입출력 요구의 블록 크기에 관계없이 좋은 성능
- 문제점
RAID-1 은 쓰기 동작이 두개의 디스크에 동시에 일어나기 때문에 RAID-5보다 쓰기 성능 절반으로 줄어듦
작은 쓰기의 경우 매 쓰기 마다 네 번의 액세스가 요구되기 때문에 성능이 현저히 떨어짐