(1/2) Exploring Secondary Memory: The Role of HDD and RAID ~ Computer Architecture week 11
보조기억장치, 컴퓨터 구조, 11강

Goals
하드 디스크를 이해하고 설명할 수 있다.
(Understand and explain HDD, Hard Disk Drive)
RAID를 이해하고 설명할 수 있다.
(Understand and explain RAID, Redundant Array of Independent Disks)
Contents
✏️보조기억장치 간단 소개(Basic of Secondary Memory)
✏️하드디스크와 RAID 비교(Comparison between hard disks and RAID)
✏️하드디스크 (Hard Disk Drive, HDD)
✏️RAID (Redundant Array of Independent Disks)
✏️RAID 1 ~ 5
💡컴퓨터의 구성요소: 중앙 처리 장치(CPU), 메모리(Memory), 입출력 장치(I/O device)
💡메모리의 구성요소: 주기억장치(Primary Memory), 보조기억장치(Secondary Memory)
✏️보조기억장치 간단 소개
(Basic of Secondary Memory)
컴퓨터 시스템에서 주 기억장치인 RAM(Random Access Memory)과 달리 비휘발(non-volatile)성이며 영구적으로 데이터를 저장하는 장치이다. 주로 대용량의 데이터를 저장하고 필요할 때 접근하여 사용할 수 있도록 하는 역할을 한다.
주 기억장치인 RAM은 데이터를 일시적으로 저장하고 작업하는 데 사용되지만, 전원이 꺼지면 데이터가 사라지는 휘발성 메모리이다. 보조기억장치는 데이터를 저장하고 필요할 때 컴퓨터가 접근할 수 있도록 하며, 전원이 꺼져도 데이터가 보존되므로 영구적인 저장이 가능하다.
따라서 보조 기억장치는 주 기억장치와 달리 데이터를 장기적으로 보존하고 영구적으로 저장하는 기능을 수행한다.
✏️하드디스크와 RAID 비교
(Comparison between HDD and RAID)

- HDD

- RAID
공통점(Commonalities)
데이터 저장 장치(Data Storage Devices) 하드디스크와 RAID 모두 데이터를 저장하는 장치입니다.
데이터 안정성(Data Integrity) 둘 모두 데이터의 안정성을 제공하고 오류 복구 기능을 가질 수 있습니다.
용량(Capacity) 둘 다 대용량 데이터를 저장할 수 있는 기능을 가집니다.
차이점(Differences)
단일 vs. 복수 디스크(Single vs. Multiple Disks) 하드디스크는 단일 디스크로 구성되어 있지만, RAID는 여러 디스크로 구성된다.
데이터 복제 및 오류 복구(Data Replication and Error Recovery) RAID는 데이터를 복제하거나 여러 디스크에 분산하여 저장하여 오류 복구 기능을 제공하는 반면, 하드디스크는 일반적으로 데이터를 단일 디스크에 저장하고 추가적인 오류 복구 기능을 가지고 있지 않다.
가격(Cost) RAID는 여러 디스크로 구성되기 때문에 하드디스크보다 비용이 더 많이 든다.
용도(Usage) 하드디스크는 개별 컴퓨터나 작은 규모의 시스템에서 주로 사용되는 반면, RAID는 대규모 데이터베이스, 서버, 스토리지 시스템 등에서 사용된다.
- 번외로 RAID는 HDD와 마찬가지로 다양한 크기와 형태로 구현할 수 있다.
✏️하드 디스크 ( HDD, Hard Disk Drive)
📍개요(Overview)
자화(magnetic)될 수 있는 물질로 코팅된 플라스틱이나 금속을 이용한 원형 평판으로 만들어진 저장장치이다. 이는 주로 자기 디스크(magnetic disk) 또는 단순히 디스크라고도 불린다. 하드 디스크의 주요 구성 요소는 다음과 같다.
📍구성(Components)

원형 평판(Circular Platter): 실제 정보가 저장되는 장소. 다수의 트랙(track)들로 구성되어 있다.
헤드(Head): 전도성 코일(conductive coil)을 통해 표면을 자화시켜(magnetize) 데이터를 저장하는 장치이다. 헤드는 원형 평판의 표면을 읽거나 쓰기 위해 이동한다
디스크 팔(Disk Arm): 헤드를 이동시키는 장치이다. 디스크 팔은 헤드를 원형 평판의 다양한 위치로 이동시킬 수 있다.
구동장치(Actuator): 원형 평판을 회전시키고 디스크 팔을 구동하는 모터이다. 이는 하드 디스크의 전체적인 작동을 제어한다.
📍작업(What work HDD do)
디스크 쓰기와 디스크 읽기는 하드 디스크와 같은 자기 디스크(magnetic disk) 저장 장치에서 발생하는 핵심적인 작업이다.
디스크 쓰기(Write Operation): 디스크 쓰기는 헤드의 코일에 전류가 흐를 때 발생하는 자기장(magnetic field)을 이용하여 데이터를 저장하는 작업이다. 코일에 전류를 흐르게 하면 헤드 주변에 자기장이 생성되는데 이 자기장은 디스크의 표면에 자기적인 변화를 일으킨다. 이렇게 상태를 변경하는 과정을 이용한다.
디스크 읽기(Read Operation): 즉, 저장된 데이터가 자기장이 존재하는 위치인 헤드 주변을 지날 때, 헤드의 코일에 유도되는 전류가 감지를 하고 변화하면서 저장된 데이터를 읽어오게 된다.
이러한 작업은 저장 장치에서 데이터를 기록하고 읽어오는 데에 핵심적인 역할을 한다.
💡하드 디스크의 구조 (Structure of HDD)

디스크의 구조에는 섹터, 섹터간 갭, 트랙간 갭 등이 포함된다.
섹터(Sector): 디스크에 한 번에 쓰거나 읽는 데이터의 최소 단위이다. 각 섹터에는 고유한 주소가 할당되어 있어서 데이터를 식별하고 접근할 수 있다.
섹터간 갭(Inter-sector Gap): 섹터들을 구분하기 위한 간격 또는 공백이다. 섹터 간 갭은 인접한 섹터들 간의 경계를 명확하게 하여 데이터를 식별하고 처리하는 데 도움을 준다.
트랙간 갭(Inter-track Gap): 헤드가 잘못 정렬되거나 자장의 간섭으로 발생하는 오류를 방지하기 위한 트랙들 사이의 간격이다. 트랙 간 갭은 서로 다른 트랙들 간의 간섭을 방지하고 정확한 위치로 헤드를 이동시키는 데 사용된다.
초기 디스크의 경우, 표면당 트랙의 수는 대략 500에서 2000개이며, 트랙당 섹터의 수는 보통 32개 정도였다. 그러나 최근에는 저장 용량을 높이기 위해 트랙 및 섹터의 수가 크게 증가하여 더 많은 데이터를 저장할 수 있게 되었다.
📍엑세스 방식 - 일정한 회전 속도 유지법 (Principle Utilized in HDD - maintaining a consistent rotational speed during operation)
📌 등각속도(CAV, Constant Angular Velocity) 방식
디스크가 일정한 속도로 회전하는 상태에서 트랙의 위치에 상관없이 데이터에 동일한 비율로 액세스하는 방식이다. 이 방식의 특징과 장단점은 다음과 같다.

- 더 긴 13번 트랙의 7번 섹터가 조금 더 낭비되고있다.
특징(Basic overview)
- 일정한 회전 속도(consistent spinning speed) 디스크가 회전하는 속도는 트랙의 위치에 관계없이 동일하고 일정하다.
장점(Pros of CAV)
- 간단한 구동장치(simple structure) 회전 속도가 일정하므로 구동장치의 제어가 간단하고 구현하기 쉽다.
단점(Cons of CAV)
- 저장 공간이 낭비될 수 있다. 위에 그림에서도 확인 되이 바깥쪽 트랙은 안쪽 트랙보다 더 길지만, 저장 밀도가 낮아 저장되는 데이터 양은 동일하게 된다. 따라서 바깥쪽 트랙에는 더 많은 공간이 사용되지만, 실제로 저장되는 데이터 양은 적을 수 있다.
이러한 등각속도 방식은 구동장치의 단순함을 강조하는 반면, 저장 공간의 효율성 측면에서는 효과적이지 않을 수 있다.
📌다중 영역 기록(MZR, Multiple Zone Recording) 방식
데이터의 밀도를 최대화하고 저장 공간을 효율적으로 활용하기 위해 MZR 디스크 액세스 방식이 개발되었다. 디스크 표면을 여러 개의 동심원 영역으로 나누어, 같은 영역에 속한 트랙들의 저장 밀도를 동일하게 조정하는 방식이다. 이를 통해 디스크 전체적으로 저장 밀도를 거의 동일하게 유지하면서도 더 많은 데이터를 저장할 수 있게 되었다.
특징(Basic overview)
디스크 표면이 여러 개의 동심원 영역으로 나누어집니다.
같은 영역에 속한 트랙들의 저장 밀도를 동일하게 조정합니다.
디스크 전체적으로 저장 밀도를 거의 같도록 조정하여, 바깥쪽 트랙들을 더 많은 수의 섹터들로 분할함으로써 더 많은 데이터를 저장할 수 있습니다.

예시(Example)
위의 예시를 예를 들어, 15개의 트랙이 각 띠마다 5개의 영역으로 분할되어 있다.
안쪽 두 영역: 각 트랙이 9개 혹은 11개 섹터로 구성된다.
다음 영역: 세 트랙이 각각 12개 섹터로 구성된다.
바깥쪽 두 영역: 각각 네 트랙씩, 각 트랙은 14 혹은 16개 섹터로 구성된다.
바깥으로 갈수록 트랙의 수가 늘어난다. (CAV 단점 보완)
다중 영역 기록 방식은 저장 밀도를 균일하게 유지하면서도 더 많은 데이터를 저장할 수 있는 효과적인 방법 중 하나이다. 이를 통해 디스크의 공간을 효율적으로 활용하여 데이터 저장 용량을 최대화할 수 있다.
장점(Pros of MZR)
- 디스크 전체 용량 증가(Capacity of HDD increased) 디스크의 전체적인 저장 용량을 향상시킬 수 있다. 특히 바깥쪽 트랙들을 더 많은 섹터로 분할하여 더 많은 데이터를 저장할 수 있다.
단점(Cons of MZR)
제어 회로의 복잡성(Complexity of Control Circuitry) 트랙 위치에 따라 회전 속도를 변경해야 하므로, 제어 회로가 더 복잡하다. 각 영역에서 서로 다른 회전 속도를 유지하려면 회전 속도를 동적으로 조절할 필요가 있으며, 이는 제어 회로의 복잡성을 증가시킨다.
읽기 및 쓰기 시간의 미세한 차이(Subtle Differences in Read and Write Times) 영역에 따라 읽기 및 쓰기 시간에 미세한 차이가 발생할 수 있다. 트랙의 위치에 따라 데이터에 액세스하는 시간이 다르기 때문에, 이러한 차이는 일부 상황에서 성능에 영향을 줄 수 있다.
따라서 다중 영역 기록 방식은 저장기록이 낭비되는 것을 막는 목적은 발생했지만 그에 따른 단점 또한 존재한다.
📍디스크 형식화 작업(Disk Formatting)
포멧이라고하면 보통 가지고 있는 데이터가 전부 지워진다고 생각할 수 있다. 하지만 이것은 포멧작업 효과의 일부분이다. 형식화 작업은 디스크를 초기화하여 사용 가능한 상태로 만드는 프로세스인데 이 과정에는 초기화 작업이 포함되어 있어 디스크의 모든 데이터가 지워지게된다. 이렇게 초기화된 디스크는 새로운 데이터를 저장하고 관리할 수 있는 초기 상태 구조를 갖추게 된다.
형식화 작업은 디스크의 구성을 검사하고, 그에 관한 정보와 트랙의 시작점, 섹터의 시작과 끝을 구분하기 위한 제어 정보를 저장하는 과정이다. 이 과정을 통해 디스크를 사용할 수 있도록 준비하고, 데이터를 저장하고 검색할 수 있는 구조를 만들어낸다.
트랙 형식의 예시는 다음과 같다.

- 섹터 크기는 600 바이트로 설정되어 있다. 이는 512바이트의 데이터와 제어 정보를 포함한다.

제어 정보(ID 필드)는 섹터를 구분하는 데 필요한 식별자(identifier) 혹은 주소를 포함한다.
SYNCH 바이트: 데이터의 시작을 나타내는 동기화 바이트
트랙 번호: 해당 섹터가 속한 트랙의 번호
헤드 번호: 해당 섹터를 읽거나 쓸 헤드의 번호
섹터 번호: 디스크 내에서의 해당 섹터의 번호
오류 검출 코드(CRC): 데이터의 무결성을 검증하기 위한 여분의 오류 검출 코드
이와 같은 제어 정보를 포함하여 디스크를 형식화하면, 각 섹터가 어디에서 시작하고 끝나는지, 어떤 트랙에 속하는지 등을 식별할 수 있게 된다. 이러한 정보는 데이터를 저장하고 검색할 때 사용되며, 디스크의 효율적인 운용을 가능하게 한다.
📌오류 검출 코드 (CRC, Cyclic Redundancy Check)
데이터의 무결성을 검사하기 위해 사용되는 오류 검출 기술 중 하나이다. 다음은 CRC의 주요 특징이다.
순환 2진 부호(Cyclic Binary Code) CRC는 데이터를 나타내는 이진 숫자를 사용하여 계산됩니다. 데이터 블록의 끝에 추가된 CRC는 데이터 블록의 순환 부호입니다.
송신 측에서의 계산(Calculation at the Transmitter) 데이터를 전송하기 전에, 송신 측에서는 데이터를 블록 단위로 나눈 뒤 각 블록에 2진 다항식의 특수 계산에 의해 얻어진 순환 부호를 여분으로 블록 끝에 추가한다.이는 데이터의 무결성을 보장하게 해준다.
수신 측에서의 검사(Verification at the Receiver) 수신 측에서는 동일한 CRC 계산을 수행하여 수신된 데이터의 CRC와 일치하는지 확인한다. 일치하지 않는 경우, 데이터에 오류가 있는 것으로 간주된다.
정교한 오류 검출 능력(Sophisticated Error Detection Capability) 패리티 비트와 같은 짝수, 홀수로 단순한 오류 검출 방법보다 수학적인 연산을 통해 오류 검출 능력을 제공한다.
응용 분야(Applications) CRC는 주로 저장 장치(하드 디스크, CD-ROM, DVD 등) 및 다양한 통신 프로토콜에서 사용된다. 데이터의 무결성을 보장하고 통신 시 발생할 수 있는 오류를 검출하기 위해 널리 사용되고 있다.
CRC는 신뢰성 있는 데이터 전송을 위해 매우 중요한 역할을 한다. 데이터의 무결성을 보장하여 데이터 손실이나 왜곡을 방지하고 통신 시스템의 신뢰성을 높인다.
📍디스크 드라이브(Disk Drive)
디스크, 헤드, 디스크 팔, 구동장치, spindle(디스크를 회전시키는 축), 데이터 전송을 위한 전자 회로 등을 포함한 전체적인 패키지를 말한다. 이는 컴퓨터나 다른 디지털 장치에서 데이터를 읽고 쓰는 데 사용되는 장치이다.
📌 디스크 면 수에 따른 분류
디스크 드라이브는 아래처럼 여러 면을 가진 디스크를 사용할 수 있다.
양면디스크(double-sided disk) 두 면을 모두 사용할 수 있는 디스크
단면디스크(single-sided disk) 한 면만 사용할 수 있는 디스크
📌실린더(cylinder)
다중 평판 디스크(multi-platter disk drives) 일경우 실린더가 사용된다.
서로 다른 디스크지만 같은 반경에 있는 트랙(정보)들의 집합을 나타낸다. 이는 디스크 팔을 움직이지 않고도 동시에 액세스할 수 있는 트랙들을 그룹화하여 효율적인 데이터 액세스를 가능케 한다.


💡하드 디스크의 액세스 시간( Access time of HDD)
디스크를 읽거나 쓸 때 걸리는 총 시간을 뜻한다. 일반적으로 다음과 같은 요소들로 구성된다.
탐색 시간 (Seek Time): 헤드를 원하는 트랙으로 이동하는 데 걸리는 시간이다. 이것은 디스크 팔이 원하는 트랙으로 이동하는 데 소요되는 시간으로, 디스크 액세스 시간 중에서 가장 큰 부분을 차지한다.
회전 지연 시간 (Rotational Latency Time): 원하는 섹터가 디스크 헤드 아래로 회전되어 올 때까지 대기하는 시간이다. 이것은 디스크가 한 번 회전하는 데 걸리는 시간입니다. 회전 지연 시간은 디스크의 회전 속도에 따라 결정되며, 일반적으로 디스크의 평균 회전 속도에 의해 결정된다.
데이터 전송 시간 (Data Transfer Time): 실제 데이터 전송이 이루어지는 시간이다. 이것은 디스크로부터 데이터를 읽거나 데이터를 디스크에 쓸 때 소요되는 시간을 나타낸다.
이러한 요소들의 합으로 디스크 액세스 시간이 결정된다.
📌 회전 지연 시간(rotational latency time)
- 디스크의 회전 속도에 따라 결정된다. 예를 들어, 회전축의 속도가 7200 rpm(rotation per minute, 1분 동안 얼마나 도는지)인 경우, 초당 120바퀴를 회전하므로 한 바퀴를 회전하는 데 걸리는 시간은 1/120초 또는 약 8.33ms입니다. 이는 디스크가 한 번 회전하는 동안의 시간입니다.
📌 평균 회전 지연(average rotational latency time)
- 디스크의 반바퀴를 회전하는 데 걸리는 시간이다. 디스크는 한 번의 회전 동안에 360도를 회전하므로 반바퀴를 회전하는 데 걸리는 시간은 한 바퀴 회전 시간의 절반, 즉 약 4.16ms이다.
일반적으로 디스크 드라이브는 5400 rpm 또는 7200 rpm의 회전 속도를 가지며, 이러한 회전 속도에 따라 회전 지연 시간이 결정된다. 또한 10000 rpm 이상의 높은 회전 속도를 갖는 디스크 드라이브도 개발되었지만, 높은 발열량에 대한 냉각의 어려움으로 인해 사용이 제한될 수 있다.

- 1, 2, 3은 각각 탐색시간, 회전 지연 시간, 데이터 전송 시간을 뜻한다.

참고자료
✏️ RAID
(Redundant Array of Inexpensive Disks)
하드 디스크 드라이브에서 단일 하드 디스크 사용시 고장이 나면 데이터의 손실을 유발하고 성능 문제등 단점을 보완하기 위해 RAID가 개발되었다.

- An image of a hard drive in a RAID array
📍장점(Pros of RAID)
디스크 배열 구성(Disk Array Configuration) 한 개의 대형 디스크 대신 여러 개의 작은 디스크를 사용하여 하나의 큰 용량을 갖는 디스크 배열(disk array)을 구성한다. 이는 더 저렴한 비용으로 더 큰 용량의 디스크 시스템을 만들 수 있다는 장점이 있다.
데이터 분산 저장(Data Distribution Storage) RAID를 사용하면 데이터를 분산하여 저장할 수 있기 때문에 여러 디스크에 데이터를 분산시켜 동시에 액세스할 수 있다. 이는 동시 액세스(concurrent access)를 가능하게 하고, 데이터 전송 속도를 향상시킬 수 있는 장점이 있다.
📍단점(Cons of RAID)
- 결함 발생 가능성이 증가(Increased Risk of Failure) 여러 개의 디스크를 사용하므로 디스크 중 하나가 고장나면 전체 시스템에 영향을 미친다. 이는 디스크의 평균 수명(MTTF: Mean Time To Failure, 고장날 때까지 쓸 수 있는 숫자)이 단축되는 문제가 생긴다.

- 위의 예제처럼 단일 디스크일 경우 MTTF가 30,000시간인 반면 RAID의 경우 300 시간으로 단축이 된다. 하나만 결함이 나면 통으로 묶여있기 때문에 전체 사용 불가
RAID의 출현은 이러한 장단점을 고려하여 데이터 저장 및 관리를 보다 효율적으로 수행하기 위한 노력의 결과로 볼 수 있다.
💡기본 기술 (Basic technique of RAID)
📌 디스크 인터리빙(disk interleaving)
- 데이터의 분산 저장을 통해 다중 디스크 시스템에서 데이터의 처리량을 높이고 병목 현상을 줄이는 데 도움을 준다.
여러 개의 디스크로 구성된 디스크 배열에 데이터 블록을 병렬로 분산하여 저장하는 기술이다. 간단한 기술이다.
라운드-로빈(round-robin) 방식을 사용하여 균등하게 데이터를 분산한다. 데이터 블록을 순차적으로 디스크에 저장하면서, 각 디스크에 번갈아가며 저장하는 방식이다.

위의 그림 처럼 디스크에 데이터가 고르게 분산되어 저장되고, 디스크 간에 부하를 균형있게 분산할 수 있다.
📍디스크와 디스크 배열의 특성 비교(Comparison)

- 대형 디스크와 비교했을 때 디스크 배열의 성능이 더 좋음에도 불구하고 MTTF의 단축이라는 치명적인 단점이 있다. MTTF를 향상시키려는 노력이 필요함을 알 수있다.
📍RAID의 제안 (New idea of RAID to improve MTTF performance)
디스크 배열의 결함허용도(fault-tolerance)를 높이기 위해 기존 단일 레벨의 기술에서 여러 레벨의 RAID가 개발되었다. 각 레벨은 다양한 방식으로 데이터의 복사, 분산, 패리티 계산 등을 통해 데이터를 보호한다.
핵심 기술로는 검사 디스크(check disk)를 이용하여 오류 검출 및 복구 기능(error detection and recovery) 기능을 추가하였다.
디스크의 결함이 발생했을 때의 복구 절차는 일반적으로 다음과 같다.
해당 디스크 사용 중단 및 시스템으로부터 분리(Discontinue Use and Removal from System): 고장난 디스크를 시스템에서 분리하고 용량을 축소한다.
검사 디스크에 저장된 정보를 이용하여 원래의 데이터를 복구(Recovery of Original Data using Information Stored on Check Disk): 검사 디스크에 저장된 데이터 또는 패리티 정보를 사용하여 고장난 디스크에서 손실된 데이터를 복구한다.
결함 수리 후 디스크 재설치(Reinstallation of Disk after Fault Repair): 고장난 디스크를 수리하거나 교체한 후 시스템에 다시 설치한다.
시스템 재구성(System Reconstruction) 고장난 디스크의 용량을 다시 확장하여 원래의 용량을 회복하고, 시스템의 정상 작동을 확인한다.
✏️ RAID-1
오늘은 RAID 1에서 5까지 배울 예정이다. 우선 대표적인 종류인 RAID-1은 디스크 미러링 방식을 사용한다. 여기에는 몇 가지 특징이 있다.
💡디스크 미러링(disk mirroring)
RAID-1에서는 데이터 디스크에 저장된 모든 데이터가 미러 디스크의 같은 위치에 복사된다. 고장이 날 지라도 미러 디스크가 있어서 데이터의 복제를 보장한다.

- 위에 예제를 보듯이 마치 겨울과 같이 Pair를 이루어서 저장한다.
📌 장점(Pros of disk mirroring)
- 거의 완전한 결함 허용(Almost complete fault tolerance) 하나의 디스크에 장애가 발생하더라도 미러링된 디스크가 있기 때문에 데이터 손실을 방지할 수 있습니다.
📌 단점(Cons of disk mirroring)
- 가격이 비싸다(High cost) 미러링을 위해 추가적인 디스크가 필요하므로 비용이 더 들 수 있다
📌 주요 용도(Main use)
- 높은 신뢰도를 요구하는 시스템(Systems requiring high reliability) 중요한 데이터나 시스템 소프트웨어를 저장하는 데 사용된다. 데이터 무결성과 신뢰성이 매우 중요한 경우에 사용된다.
✏️ RAID-2
- 비트-단위 인터리빙 방식 사용: RAID-2에서는 데이터를 여러 디스크에 비트 단위로 분산하여 저장한다.
💡해밍코드(Hamming code)
해밍 코드를 사용하여 오류를 감지하고 수정한다.

원래 데이터에 추가적인 비트를 추가(무조건 +1은 아님)하여 오류를 감지하고 수정하는 기능을 수행한다. 자세한 해밍코드 작동원리는 C언어 수업에서 배울 예정이라고 한다.
📌 장점(Pros of disk mirroring)
- 고급 오류 처리(Advanced Error Handling) 비트-단위 인터리빙과 해밍 코드를 통해 더욱 고급화된 오류 처리가 가능하다. 이는 오류가 발생할 경우 데이터의 손실을 최소화할 수 있음을 의미한다.
📌 단점(Cons of disk mirroring)
- 가격이 비싸다(High cost) 필요한 검사 디스크들의 수가 많아서 가격이 비싸다.
📌 주요 용도(Main use)
오류가 많이나는 환경(Systems occurs error often) 오류가 많이 발생하는 환경에서
사용된다.
📍필요한 검사 디스크 수를 구하는 식 (The formula to determine the required number of check disks)

위의 식을 대입하면 검사 디스크의 수가 랜덤으로 더해진게 아닌 계산의 결과임을 알 수 있다.
✏️ RAID-3
RAID-3에서는 디스크에 저장된 데이터를 패리티 방식을 사용하여 오류를 검출하고 정정한다.
💡패리티 비트(Parity bit)
데이터 비트들의 조합에 대한 요약 정보이다. 예를 들어, 데이터 비트들의 XOR(배타적 논리합) 연산 결과로 생성된 패리티 비트는 해당 데이터 비트들의 짝수가 되는지 홀수가 되는지를 결정하게 된다. 데이터가 전달될 때, 송신자는 데이터 비트들과 패리티 비트를 함께 전송한다. 수신자는 데이터를 받은 후에 데이터 비트들과 수신된 패리티 비트를 다시 XOR 연산하여 새로운 패리티 비트를 계산한다. 이 새로운 패리티 비트는 송신자가 전송한 패리티 비트와 비교되게 된다. 만약 두 패리티 비트가 일치하지 않는다면, 데이터에 오류가 있는 것으로 간주될 수 있다.
패리티 비트를 사용하면 단일 데이터 비트의 오류나 디스크의 결함과 같은 문제를 감지할 수 있다. 또한 패리티 비트를 통해 오류가 발생한 데이터를 복구할 수도 있습니다.
📍오류 검출 및 정정 방식 사용

📍디스크 결함 발생시 데이터 복구 방법

- 예) b2가 저장된 디스크 결함 발생시 p와 b2의 위치를 바꾼다.

📌 장점(Pros of RAID3)
병렬 데이터 읽기/쓰기 가능(Parallel data read/write possible) 디스크 액세스 속도 향상
저렴하다(inexpensive) 다른 RAID들과 비교 했을 때 검사 디스크(=패리티 디스크)가 줄어들기 때문에 오버헤드율이 낮아 효율이 좋다.
📌 단점(Cons of RAID3)
- 시간 지연 발생(time delay occurs) 쓰기 동작 때마다 패리티 비트 갱신 필요하기 때문이다.
📌 주요 용도(Main use)
- 대용량 데이터 저장 환경(large-scale data storage) 대용량 데이터 저장이 필요한 환경에서 사용된다. 특히 데이터의 안정성과 오류 복구 기능이 중요한 서버 및 데이터베이스 시스템에서 자주 쓰인다.
✏️ RAID-4
블록-단위 인터리빙 방식을 사용한다. RAID-3에서는 비트단위를 사용하였다.

데이터 디스크들의 동일한 위치에 있는 블록들에 대한 패리티 블록을 패리티 디스크에 저장한다. (위 예제 참조)
📌 단점(Cons of RAID4)
- 이 방식은 매 쓰기 동작을 위해 패리티 디스크를 두 번씩 액세스해야 하므로 시스템의 병목 현상을 발생시킬 수 있다. 아래 참조
📍데이터 블록의 쓰기(갱신 과정)

- P대신 P' 새로운 패리티 블록으로 계산을 해야하는 상황이다. 위의 설명을 덧붙여 총 5번의 엑세스를 해야하는 상황이라 성능이 저하될 것이다.
📍디스크 엑세스 횟수를 최소화 하는 방법


이렇게 네번 엑세스 하게 된다.
✏️ RAID-5
RAID-4의 문제점을 보완하기 위하여 패리티 블록들을 라운드-로빈(round-robin) 방식으로 분산 저장하는 방식이다.

- 데이터 디스크들의 수가 G 개일 때, 최대 (G+1)/2 개의 쓰기 동작 들의 병렬 수행 가능
📌 장점(Pros of RAID5)
패리티 디스크에 대한 병목 현상 해소하고 쓰기 동작들의 병렬 수행을 가능하게 한다.
가장 발전한 형태이다.
📌 단점(Cons of RAID5)
- 작은 쓰기 문제(small write problem) 존재한다: 어느 한 블록만 갱신하는 '작은 쓰기(small write)'의 경우에 네번의 디스크 액세스가 필요하기 때문에 성능이 저하된다.
번외로 큰 쓰기(large write, 디스크 수보다 더 많은 블록들로 이루어진 파일을 한꺼번에 저장 혹은 갱신)의 경우엔 문제가 없다. 왜냐면 패리티 블록을 미리 계산하여, 새로운 데이터 및 패리티 블 록을 한번씩만 쓰면 되기 때문이다.
✏️RAID-1과 RAID-5의 비교(Comparison RAID-1 and RAID-5)
RAID-1 : 읽기와 작은 쓰기가 많은 환경에 적합
RAID-5 : 용량과 비용을 중요시하는 응용이나 큰 쓰기 요구가 많은 환경에 적합
가격대 성능비 측면에서 👍RAID-5👍가 더 우수
Quiz

학습정리(Summary)



