* 참고 교재
컴퓨터 시스템 구조론 - 예스24 (yes24.com)
* 반도체 기억장치 시스템의 오류
반도체 기억장치 시스템의 오류는 하드 장애(Hard Failure)와 소프트 오류(Soft Error)로 분류될 수 있다.
하드 장애
- 영구적인 물리적 결함으로서, 기억 소자가 안정되게 데이터를 저장할 수 없다.
- 0 또는 1로 고정되어 있거나 0과 1 사이의 값을 불규칙하게 가진다.
- 원인: 열악한 환경에서의 남용, 제조상의 결함
소프트 오류
- 기억장치의 내용이 일시적으로 변경되는 가벼운 오류이다.
- 원인: 전원공급장치의 결함이나 알파 입자
* 오류 검출 및 정정 시스템
오류 정정 코드(f)를 이용하여 오류를 검출하고 정정한다.
저장될 데이터가 M비트 단어이고 생성되는 코드가 K비트이면 실제로 저장되는 단어의 크기는 M+K비트이다.
인출된 코드 비트들은 M개의 데이터 비트들로부터 생성된 새로운 K개의 코드 비트들과 비교된다.
비교된 결과로는 아래 3가지가 있다.
1. 오류 미검출 인출된 데이터 비트들을 그대로 내보낸다.
2. 오류 검출, 정정 가능 - 데이터 비트들과 오류 정정 비트들이 정정기로 되돌아오며, 정정된 M비트들이 보내진다.
3. 오류 검출, 정정 불가능 - 오류 신호를 보낸다.
해밍 코드(Hamming Code)
해밍 코드는 Bell 연구소의 Richard Hamming에 의해 고안된 가장 간단한 오류 정정 코드이다.
위 그림은 4비트 단어(M = 4)에 대해 해밍 코드가 사용된 경우를 보여주는 벤 다이어그램이다.
먼저 내부 구획에 4개의 데이터 비트를 배정한 다음, 원 안의 1의 개수가 짝수가 되도록 나머지 구획을 채운다.
이때 나머지 영역에 채워진 값을 패리티비트라고 한다.
만약 데이터 비트 중 오류가 발생하면 그 구획의 비트를 변경하여 오류를 정정할 수 있다.
신드롬 단어(Syndrome Word)
오류 검출 및 정정 시스템에서 2개의 K비트 값을 입력으로 받아들이고 둘을 비교한다.
비트들 간의 비교는 두 입력들 간에 XOR를 수행하면 되는데, 이때의 결과값을 신드롬 단어라고 부른다.
즉, 신드롬 단어는 비교 논리의 입력으로 2개의 K비트 값을 XOR 한 결과값이다.
신드롬의 각 비트는 두 입력들의 같은 위치에 있는 비트들이 일치하는지 여부에 따라 0 또는 1이 된다.
따라서 신드롬 단어는 폭이 K비트가 되며 0 ~ 2^K - 1 사이의 값을 가진다.
신드롬 단어가 0이면 오류가 검출되지 않은 것이고, 오류가 있는 경우 2^K - 1이 오류 비트의 위치를 가리킨다.
오류는 M개의 데이터 비트와 K개의 검사 비트 중 어느 것에도 발생 가능하기 때문에 아래 식을 만족해야 한다.
아래 식은 M개의 데이터 비트들을 가진 단어에 1개의 오류 발생 시, 그것을 정정하기 위해 필요한 코드의 길이이다.
예를 들어 8개의 데이터 비트(M = 8)를 가진 단어의 경우,
K = 4일 때부터 식을 만족하므로 4개의 검사 비트들이 필요하다.
8비트 데이터 단어에 대한 해밍코드
데이터 비트와 검사 비트의 각 위치는 1~12번까지 지정된다.
이 위치 번호들 중 2의 멱수(2^n)가 되는 위치에 검사비트가 놓이며, XOR 연산을 가리킨다.
각 검사 비트는 그 비트의 위치 번호와 같은 위치의 값이 1인 위치에 있는 데이터 비트에 대해서 동작한다.
ex) 8비트 데이터 00111001가 기억장치에서 00111101로 변경됐을 때 신드롬 단어를 구하고 오류를 정정하라.
SEC-DED(Single-Error-Correcting, Double-Error-Detection: 단일 오류 정정, 이중 오류 검출)
지금까지 설명한 코드는 SEC(단일 오류 정정) 코드이다.
일반적으로 반도체 기억장치는 2개의 오류가 동시에 발생할 경우에도 검출이 가능한 SEC-DED 코드를 갖추고 있다.
성결대학교 정보통신공학과 컴퓨터구조 강의(2023)
Wiilliam Stallings, 「컴퓨터시스템구조론(10판)」
본 게시물은 위 강의 및 교재를 기반으로 정리한 글입니다.
'전공수업 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] 외부 기억장치 #2 - RAID (0) | 2023.12.11 |
---|---|
[컴퓨터 구조] 외부 기억장치 - 자기 디스크 (1) | 2023.12.10 |
[컴퓨터 구조] 내부 기억장치 - 반도체 주기억장치, 향상된 DRAM 조직 (1) | 2023.11.27 |
[컴퓨터 구조] 성능 균형, CPU 성능 향상 기법, 성능 평가 (2) | 2023.10.17 |
[컴퓨터 구조] 버스 상호연결 (2) | 2023.10.10 |
댓글