RAID 출현의 배경
■ 한개의 대형 디스크를 사용하는 것보다, 크기가 작은 여러 개의 디스크들을 서로 연결하여 하나의 큰 용량을 가진 디스크 배열 (disd array)을 구성하면, 보다 더 저렴한 가격으로 더 큰 용량을 가진 디스크 서브시스템의 구성이 가능하다.
[추가적인 장점]
■ 데이터 분산 저장에 의한 동시 액세스(concurrent access) 가능
■ 병렬 데이터 채널에 의한 데이터 전송 속도 향상
[문제점]
■ 고장 가능성이 증가한다 : MTTF(Mean Time To Failure) 의 단축
[예] MTTF = 30000 시간인 디스크 100개를 이용한 디스크 배열의
MTTF = 30000/100 = 300 시간으로 단축
기본 기술
디스크 인터리빙 ( disk interleaving)
■ 데이터 블록들을 여러 개의 디스크들로 이루어진 디스크 배열(disk array)에 분산하여 저장하는 기술
■ 균등 분산 저장을 위하여 라운드-로빈(round-robin) 방식 사용
RAID 제안
▶디스크 배열의 결함허용도(fault-tolerance)를 높이기 위하여 RAID가 제안됨
●핵심 기술 : 검사 디스크(check disk)들을 이용하여 오류 검출 및 복구(error detection and recovery)기능 추가
●디스크 결함 발생시의 복구 절차 (아래의 모든 절차들이 시스템의 정상적 동작이 유지되고 있는 상태에서 진행)
1.해당 디스크 사용 중단 및 시스템으로부터 분리 (디스크 용량 축소)
2.검사 디스크에 저장된 정보를 이용하여 원래의 데이터 복구
3.결함 수리 후 디스크 재설치
4.시스템 재구성 (원래의 디스크 용량 회복)
RAID의 종류
RAID-1
● 디스크 미러링(disk mirroring) 방식 이용 : 데이터 디스크에 저장된 모든 데이터들은 짝(pair)을 이루고 있는 미러 디스크의 같은 위치에 복사
[장점] 거의 완전한 결함허용도(fault tolerance) 제공
[단점] 가격이 높다
[주요 용도] 높은 신뢰도를 요구하는 결함허용시스템에 주로 사용
시스템 소프트웨어 혹은 중요한 데이터 파일 저장에 사용
RAID-2
● 비트-단위 인터리빙 방식 사용 : 데이터를 각 디스크에 비트 단위로 분산 저장
● 해밍 코드(Hamming code)를 이용한 오류 검출 및 정정
[단점] 필요한 검사 디스크들의 수가 많아서 가격이 비싸다
[주요 용도] 오류가 많이 발생하는 환경에서 사용
필요한 검사 디스크 수를 구하는 식 : 2C - 1 ≥ G + C
단, G : 데이터 디스크의 수
C : 필요한 검사 디스크들의 수
[예] G = 8 인 경우 : 검사 디스크 수( C) = 4, 오버헤드 = 50 %
G = 16 인 경우 : 검사디스크 수 ( C) = 5, 오버헤드 = 31 %
RAID-3
●패리티 방식을 이용한 오류 검출 및 정정 방식 사용
→패리티 비트 : p = b1 + b2 + b3 + b4
●디스크에 결함이 발생한 경우의 데이터 복구 방법:
[예] b2 가 저장된 디스크 결함 발생시: b2 = p + b1 + b3 + b4
[장점] 병렬 데이터 읽기/쓰기 가능 디스크 액세스 속도 향상
[단점] 쓰기 동작 때마다 패리티 비트 갱신 필요 시간 지연 발생
RAID-4
● 블록-단위 인터리빙 방식 사용
● 데이터 디스크들의 동일한 위치에 있는 블록들에 대한 패리티 블록을 패리티 디스크에 저장
[문제점] 매 쓰기 동작을 위해 패리티 디스크를 두 번씩
액세스 → 병목 현상 발생
● 데이터 블록의 쓰기(갱신) 과정
→두 번째 디스크에 저장된 블록 B2 를 B2' 로 갱신하는 경우
→새로운 패리티 블록 P' = B1 + B2' + B3 + B4
● 세 번의 디스크 읽기(B1, B3 및 B4 읽기)와 두 번의 디스크 쓰기(새로운 데이터 및 패리티 쓰기) 동작들 이 필요 → 성능 저하
● 디스크 액세스 횟수의 최소화 방법
P' = B1 + B2' + B3 + B4 + (B2 + B2)
= (B1 + B2 + B3 + B4) + B2 + B2'
= P + B2 + B2'
(즉, 디스크 수에 상관없이, 한 블록 갱신에 네 번의 디스크 액세스만 필요)
원래 데이터 읽기, 원래 패리티 읽기, (새로운 패리티 계산), 새로운 데이터 쓰기, 새로운 패리티 쓰기
RAID-5
●RAID-4의 문제점을 보완하기 위하여 패리티 블록들을 라운드-로빈(round-robin) 방식으로 분산 저장
●데이터 디스크들의 수가 G 개일 때, 최대 (G+1)/2 개의 쓰기 동작들의 병렬 수행 가능
[장점] 패리티 디스크에 대한 병목 현상 해소
→쓰기 동작들의 병렬 수행 가능
[문제점] 작은 쓰기 문제(small write problem) 존재:
→어느 한 블록만 갱신하는 '작은 쓰기(small write)'의 경우에 네 번의 디스크 액세스가 필요하기 때문에 성능이 저하됨.
RAID-1과 RAID-5의 비교
→RAID-1 : 읽기와 작은 쓰기가 많은 환경에 적합
→RAID-5 : 용량과 비용을 중요시하는 응용이나 큰 쓰기 요구가 많은 환경에 적합
→가격 대 성능비 측면에서 RAID-5가 더 우수
'전공 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] 시스템 버스 (0) | 2022.06.14 |
---|---|
[컴퓨터 구조] 플래시 메모리와 SSD (0) | 2022.06.13 |
[컴퓨터 구조] 하드 디스크 (0) | 2022.06.13 |
[컴퓨터 구조] DDR SDRAM (0) | 2022.06.12 |
[컴퓨터 구조] 캐시 메모리(Chache Memory)(2) (0) | 2022.06.12 |