오류 검출 및 수정
Error detection and correction컴퓨터 과학 및 통신 응용 프로그램을 사용한 정보 이론 및 코딩 이론에서 오류 검출 및 수정(EDAC) 또는 오류 제어는 신뢰할 수 없는 통신 채널을 통해 디지털 데이터를 안정적으로 전달할 수 있는 기술입니다.많은 통신채널은 채널 노이즈의 영향을 받기 때문에 소스로부터 수신기로의 송신중에 에러가 발생할 가능성이 있습니다.오류 검출 기술을 사용하면 이러한 오류를 검출할 수 있는 반면 오류 수정 기술을 사용하면 대부분의 경우 원래 데이터를 재구성할 수 있습니다.
정의들
에러 검출은, 송신기에서 수신기로의 송신중에 노이즈나 그 외의 장해에 의해서 발생하는 에러를 검출하는 것입니다.
오류 수정은 오류를 감지하고 오류가 없는 원래 데이터를 재구성하는 것입니다.
역사
고대 고대 히브리 성경의 카피스트들은 그들의 작품에 대해 스티치 수(시)에 따라 보수를 받았다.성경의 산문서가 스티치로 쓰인 적이 거의 없었기 때문에, 카피스트들은 작업량을 추산하기 위해 [1]글자를 세어야 했다.이것은 또한 후속 [2][3]복사본 제작 시 텍스트 전송의 정확성을 보장하는 데 도움이 되었다.서기 7세기에서 10세기 사이에 유대인 서기관들이 이것을 공식화하고 확장하여 신성한 텍스트의 정확한 복제를 보장하기 위해 숫자 마소라를 만들었다.그것은 한 줄, 섹션, 책, 그리고 책의 그룹의 단어 수, 책의 중간 부분에 주목하는 단어 수, 단어 사용 통계, 해설을 [1]포함합니다.기준들은 Torah 두루마리에서 한 글자라도 어긋나는 것은 [4]용납할 수 없는 것으로 간주되었다.오류 수정 방법의 효과는 1947-1956년 사해 문서 발견으로 증명된 수세기 동안 복사한 정확성에 의해 입증되었습니다.[5]
오류 정정 코드의 현대적 개발은 1947년 [6]리처드 해밍의 공로를 인정받았다.해밍의 코드에 대한 설명은 클로드 샤논의 소통의 수학적[7] 이론에 등장했고 마르셀 골레이에 [8]의해 빠르게 일반화되었다.
서론
모든 오류 검출 및 수정 스킴은 메시지에 용장성(즉, 일부 추가 데이터)을 추가하며, 수신자는 이를 사용하여 전달된 메시지의 일관성을 확인하고 손상된 것으로 판단된 데이터를 복구할 수 있습니다.에러 검출 및 수정 스킴은 체계적일 수도 있고 비체계적일 수도 있습니다.계통적인 스킴에서 송신기는 원래의 데이터를 송신해, 일정한 수의 체크 비트(또는 패리티 데이터)를 부가한다.이 체크 비트들은 어떤 결정론적 알고리즘에 의해 데이터 비트로부터 도출된다.에러 검출만이 필요한 경우는, 수신측 데이터 비트에 같은 알고리즘을 적용하고, 그 출력을 수신측 체크 비트와 비교할 수 있습니다.값이 일치하지 않는 경우는, 송신중의 어느 시점에서 에러가 발생하고 있는 것입니다.비체계적인 코드를 사용하는 시스템에서 원본 메시지는 동일한 정보를 가진 적어도 원본 메시지와 같은 수의 비트를 가진 부호화된 메시지로 변환된다.
양호한 에러 제어 성능을 얻으려면 통신 채널의 특성에 따라 스킴을 선택해야 합니다.공통 채널 모델에는 오류가 랜덤으로 일정한 확률로 발생하는 메모리리스 모델과 오류가 주로 버스트에서 발생하는 동적 모델이 있습니다.이것에 의해, 에러 검출 및 정정 코드는, 일반적으로 랜덤 에러 검출/정정과 버스트 에러 검출/정정을 구별할 수 있다.일부 코드는 랜덤 오류와 버스트 오류가 혼합된 경우에도 적합합니다.
채널 특성을 결정할 수 없거나 매우 가변적인 경우에는 오류 검출 스킴을 오류 데이터의 재전송을 위한 시스템과 결합할 수 있다.이것은 자동 반복 요청(ARQ)이라고 불리며 인터넷에서 가장 많이 사용됩니다.오류 제어를 위한 대체 접근법은 하이브리드 자동 반복 요청(HARQ)으로, ARQ와 오류 수정 코딩의 조합입니다.
오류 정정 유형
오류 수정에는 [9]크게 세 가지 유형이 있습니다.
자동 반복 요청
Automatic Repeat Request(ARQ; 자동 반복 요청)는 오류 검출 코드, 확인 응답 메시지 및/또는 음성 확인 응답 메시지 및/또는 타임아웃을 사용하여 신뢰할 수 있는 데이터 전송을 위한 오류 제어 방법입니다.확인 응답은 수신자가 데이터 프레임을 올바르게 수신했음을 나타내는 메시지입니다.
통상, 송신기가 타임 아웃이 발생하기 전에 확인 응답을 수신하지 않는 경우(즉, 데이터 프레임을 송신한 후 적절한 시간내에), 올바르게 수신할 때까지, 또는 에러가 소정의 재발송 횟수 이상으로 지속될 때까지 프레임을 재발송합니다.
ARQ 프로토콜에는 Stop-and-wait ARQ, Go-Back-N ARQ 및 Selective Repeat ARQ의 세 가지 유형이 있습니다.
ARQ는 인터넷과 같이 통신 채널의 용량이 다양하거나 불분명한 경우에 적합합니다.단, ARQ에서는 백채널의 가용성이 요구되며 재전송에 의해 지연이 증가할 수 있습니다.또, 재전송을 위해서 버퍼와 타이머의 유지보수가 필요하기 때문에, 네트워크의 congestion가 발생했을 경우, 서버와 네트워크 전체의 [10]capacity에 부담이 되는 일이 있습니다.
예를 들어 ARQ는 ARQ-E 형식으로 단파 무선 데이터 링크에 사용되거나 ARQ-M으로 멀티플렉싱과 조합됩니다.
순방향 오류 수정
Forward Error Correction(FEC; 전송 오류 정정)은 오류 정정 코드(ECC; 오류 정정 코드)와 같은 다중 데이터를 메시지에 추가하는 프로세스로, 전송 프로세스 또는 스토리지 중 다수의 오류(사용되는 코드의 능력까지)가 도입된 경우에도 수신자가 메시지를 복구할 수 있도록 합니다.수신기는 송신자에게 데이터의 재발송을 요구할 필요가 없기 때문에, 순방향 에러 수정에서는 백채널이 필요 없습니다.에러 정정 코드는, 셀룰러 네트워크, 고속 광섬유 통신, [11][12]Wi-Fi등의 하층 통신과 플래시 메모리, 하드 디스크, [13]RAM등의 미디어의 신뢰성 높은 스토리지에 사용됩니다.
오류 수정 코드는 일반적으로 컨볼루션 코드와 블록 코드 간에 구분됩니다.
- 컨볼루션 코드는 비트 단위로 처리된다.특히 하드웨어에서의 실장에 적합하며, Viterbi 디코더는 최적의 디코딩을 가능하게 합니다.
- 블록 코드는 블록 단위로 처리됩니다.블록 코드의 초기 예로는 반복 코드, 해밍 코드 및 다차원 패리티 체크 코드가 있습니다.그 뒤를 이어 수많은 효율적인 코드가 뒤따랐는데, 리드-솔로몬 코드는 현재 널리 사용되고 있기 때문에 가장 주목할 만한 코드입니다.터보 코드와 저밀도 패리티 체크 코드(LDPC)는 거의 최적의 효율을 제공할 수 있는 비교적 새로운 구조입니다.
섀넌의 정리는 순방향 오류 수정에서 중요한 정리이며, 특정 오류 확률 또는 신호 대 잡음비(SNR)를 가진 채널을 통해 신뢰할 수 있는 통신이 가능한 최대 정보 속도를 나타냅니다.이 엄격한 상한은 채널 용량으로 표시됩니다.보다 구체적으로는 부호화 길이가 증가함에 따라 코드 레이트가 채널 용량보다 작을 경우 이산 메모리리스 채널에서의 에러 확률을 임의로 작게 할 수 있는 코드가 존재한다고 정리는 말한다.코드 속도는 k개의 소스 기호와 n개의 부호화 기호의 분수 k/n으로 정의됩니다.
실제 허용되는 최대 코드 속도는 사용되는 오류 수정 코드에 따라 다르며 이보다 낮을 수 있습니다.이는 섀넌의 증명이 실존적 성격일 뿐이며, 최적인 동시에 효율적인 부호화 및 복호화 알고리즘을 가진 코드를 구성하는 방법을 보여주지 않았기 때문이다.
하이브리드 방식
하이브리드 ARQ는 ARQ와 전송 오류 수정의 조합입니다.두 가지 기본적인 [10]접근법이 있습니다.
- 메시지는 항상 FEC 패리티 데이터(및 오류 검출 용장성)와 함께 전송됩니다.수신기는 패리티 정보를 사용하여 메시지를 디코딩하고 패리티 데이터가 성공적인 디코딩에 충분하지 않은 경우에만 ARQ를 사용하여 재발송을 요구한다(실패한 무결성 체크를 통해 식별).
- 메시지는 패리티 데이터 없이 전송됩니다(오류 검출 정보만 포함).수신기는 오류를 검출하면 ARQ를 사용하여 송신기에 FEC 정보를 요구하고 이를 사용하여 원래 메시지를 재구성합니다.
레이트리스 소거 코드를 사용하는 경우, 소거 채널에서는 후자의 어프로치가 특히 매력적입니다.
오류 검출 방식
오류 검출은 가장 일반적으로 적절한 해시 함수(특히 체크섬, 주기적 용장성 검사 또는 기타 알고리즘)를 사용하여 실현됩니다.해시 함수는 메시지에 고정 길이의 태그를 추가하여 수신자가 태그를 재계산하고 제공된 메시지와 비교함으로써 전달된 메시지를 확인할 수 있도록 합니다.
다양한 해시함수 설계가 존재합니다.그러나, 일부는 그 단순성 또는 특정 종류의 오류 검출에 대한 적합성 때문에 특히 널리 사용됩니다(예: 버스트 오류 검출에 대한 주기적 중복성 검사 성능).
최소 거리 부호화
최소 거리 코딩에 기초한 랜덤 오류 수정 코드는 검출 가능한 오류 수를 엄격하게 보장할 수 있지만 사전 이미지 공격으로부터 보호하지는 못할 수 있습니다.
반복 코드
반복 코드는 오류가 없는 통신을 실현하기 위해 채널을 통해 비트를 반복하는 부호화 방식입니다.송신되는 데이터의 스트림이 주어지면, 데이터는 비트 블록으로 분할된다.각 블록은 소정의 횟수만큼 송신된다.예를 들면, 비트 패턴 「1011」을 송신하려면 , 4비트 블록을 3회 반복할 수 있어 「1011 1011 1011」을 생성한다.이 12비트 패턴이 "1010 1011 1011"로 수신된 경우(첫 번째 블록은 다른 두 블록과 다릅니다), 오류가 발생한 것입니다.
반복 코드는 매우 비효율적이며, 에러가 각 그룹에 대해 정확히 같은 장소에서 발생할 경우 문제가 발생할 수 있습니다(예: 앞의 예의 "101010101010101010101010"이 올바르게 검출됩니다).반복 코드의 장점은 매우 단순하고 실제로 번호 스테이션의 [14][15]일부 전송에 사용된다는 것입니다.
패리티 비트
패리티 비트는 결과 내의 설정 비트 수(즉, 값이 1인 비트)가 짝수 또는 홀수임을 보증하기 위해 소스 비트 그룹에 추가되는 비트입니다.이것은 출력에서 단일 또는 기타 홀수(3, 5 등)의 오류를 검출하기 위해 사용할 수 있는 매우 간단한 방식입니다.짝수의 플립 비트를 사용하면 데이터가 잘못되어도 패리티 비트가 올바른 것으로 표시됩니다.
송신되는 각 「워드」에 추가되는 패리티 비트를 횡방향 용장성 체크라고 하고, 「워드」스트림의 마지막에 추가되는 것을 종방향 용장성 체크라고 합니다.예를 들어 일련의 m비트 "words" 각각에 패리티 비트가 추가되어 해당 워드에 홀수 또는 짝수 중 하나가 있는지 여부를 나타내는 경우 단일 오류가 있는 워드가 검출됩니다.단, 에러가 어디에 있는지는 알 수 없습니다.또한 n개의 워드의 각 스트림이 송신된 후, 각 비트가 최신 그룹에 송신된 비트 위치에 홀수 또는 짝수 중 하나가 있었는지 여부를 나타내는 패리티 합계가 송신되면, 에러의 정확한 위치를 판정하여 에러를 정정할 수 있다.단, 이 방법은 n개의 단어 그룹마다 오류가 1개 이하일 경우에만 유효합니다.오류 수정 비트가 많을수록 더 많은 오류가 감지되고 경우에 따라 수정될 수 있습니다.
다른 비트 그룹화 기법도 있습니다.
체크섬
메시지의 체크섬은 고정 워드 길이(예를 들어 바이트 값)의 메시지 코드 워드의 모듈식 연산합이다.이 합계는 의도하지 않은 모두 제로 메시지를 감지하기 위해 전송 전에 자신의 보완 연산에 의해 부정될 수 있습니다.
체크섬 방식에는 패리티 비트, 체크 디짓 및 세로 용장성 체크가 포함됩니다.Damm 알고리즘, Luhn 알고리즘 및 Verhoff 알고리즘과 같은 일부 체크섬스킴은 식별번호를 기록하거나 기억할 때 인간이 일반적으로 발생하는 오류를 검출하도록 특별히 설계되어 있습니다.
주기적 용장성 검사
CRC(Cyclic Redundancy Check)는 컴퓨터 네트워크의 디지털 데이터에 대한 우발적인 변화를 감지하도록 설계된 비보안 해시 함수입니다.악의적으로 발생한 오류를 검출하는 데는 적합하지 않습니다.이는 유한 필드의 다항식 긴 나눗셈에서 제수로 사용되는 생성기 다항식의 사양으로, 입력 데이터를 배당으로 하는 것이 특징이다.나머지가 결과가 됩니다.
CRC에는 버스트오류 검출에 적합한 속성이 있습니다.CRC는 특히 하드웨어에서 구현이 용이하기 때문에 컴퓨터 네트워크 및 하드 디스크 드라이브 등의 스토리지 디바이스에서 일반적으로 사용됩니다.
패리티 비트는 특수한 경우 1비트 CRC로 볼 수 있습니다.
암호화 해시 함수
메시지 다이제스트라고도 불리는 암호화 해시 함수의 출력은 데이터의 변경이 우발적인 것인지(전송 에러에 의한 것인지) 악의적으로 발생한 것인지 여부에 관계없이 데이터 무결성에 대한 강력한 보증을 제공할 수 있습니다.데이터에 대한 수정은 일치하지 않는 해시 값을 통해 감지될 수 있습니다.또한 해시 값이 지정되면 일반적으로 동일한 해시 값을 생성하는 입력 데이터(지정된 데이터 이외)를 찾을 수 없습니다.공격자가 메시지뿐만 아니라 해시 값도 변경할 수 있는 경우 키 해시 또는 메시지 인증 코드(MAC)를 사용하여 보안을 강화할 수 있습니다.키를 모르면 공격자가 수정된 메시지에 대한 올바른 키 해시 값을 쉽고 편리하게 계산할 수 없습니다.
오류정정코드
에러 검출에는, 임의의 에러 수정 코드를 사용할 수 있습니다.해밍 거리가 최소인 코드 d는 코드 워드에서 최대 d - 1개의 오류를 검출할 수 있습니다.검출되는 에러의 최소수에 엄격한 제한을 필요로 하는 경우는, 에러 검출에 최소 거리 베이스의 에러 수정 코드를 사용하는 것이 적합합니다.
최소 해밍 거리 d = 2인 코드는 오류 수정 코드의 퇴화 사례이며 단일 오류를 탐지하는 데 사용할 수 있습니다.패리티 비트는 단일 오류 검출 코드의 예입니다.
적용들
짧은 지연 시간(전화 통화 등)을 필요로 하는 애플리케이션에서는 Automatic Repeat Request(ARQ; 자동 반복 요청)를 사용할 수 없습니다.FEC를 사용해야 합니다.ARQ 시스템이 오류를 검출하여 재전송할 때까지 재발송된 데이터는 너무 늦게 도착하여 사용할 수 없게 됩니다.
송신기가 송신하자마자 정보를 잊어버리는 애플리케이션(대부분의 텔레비전 카메라 등)은 ARQ를 사용할 수 없습니다.에러가 발생하면 원래의 데이터를 사용할 수 없게 되기 때문에, FEC 를 사용할 필요가 있습니다.
ARQ를 사용하는 응용 프로그램에는 리턴 채널이 있어야 합니다.리턴 채널이 없는 응용 프로그램에서는 ARQ를 사용할 수 없습니다.
FEC에서 수정할 수 없는 오류가 발생할 수 있으므로 매우 낮은 오류율(디지털 송금 등)을 필요로 하는 애플리케이션에서는 ARQ를 사용해야 합니다.
신뢰성 및 검사 엔지니어링도 오류 수정 [16]코드 이론을 사용합니다.
인터넷
일반적인 TCP/IP 스택에서는, 에러 제어는 복수의 레벨로 실행됩니다.
- 각 이더넷 프레임은 CRC-32 오류 검출을 사용합니다.에러가 검출된 프레임은, 리시버 하드웨어에 의해서 폐기됩니다.
- IPv4 헤더에는 헤더의 내용을 보호하는 체크섬이 포함되어 있습니다.체크섬이 올바르지 않은 패킷은 네트워크 내 또는 수신측에서 폐기됩니다.
- 네트워크 라우팅에서의 처리 코스트를 최소한으로 억제하기 위해, 또 현재의 링크층 테크놀로지가 충분한 에러 검출을 실시하는 것을 전제로 하고 있기 때문에, 체크섬은 IPv6 헤더로부터 생략되었습니다(RFC 3819도 참조).
- UDP에는 UDP 헤더 및 IP 헤더에 페이로드 및 주소 지정 정보를 포함하는 옵션체크섬이 있어요체크섬이 올바르지 않은 패킷은 네트워크 스택에 의해 폐기됩니다.체크섬은 IPv4에서는 옵션이며 IPv6에서는 필수입니다.생략하면 데이터 링크레이어가 원하는 수준의 에러 보호를 제공하는 것으로 간주됩니다.
- TCP 는, TCP 헤더와 IP 헤더내의 payload 및 행선지 정보를 보호하기 위한 체크섬을 제공합니다.체크섬이 올바르지 않은 패킷은 네트워크스택에 의해 폐기되고 최종적으로 ARQ를 사용하여 명시적으로(예를 들어 3방향 핸드쉐이크) 또는 암묵적으로 타임아웃에 의해 재발송됩니다.
심우주 통신
행성간 거리에서의 신호 전력의 극단적 희박화와 우주 탐사선에서의 전력 가용성의 제한으로 인해 오류 정정 코드의 개발은 심우주 임무의 역사와 밀접하게 연관되어 있었다.초기 임무가 데이터를 코드화하지 않고 전송한 반면, 1968년부터 디지털 오류 보정은 (최적적으로 디코딩된) 컨볼루션 코드와 리드-뮬러 [17]코드의 형태로 구현되었다.리드-뮬러 코드는 우주선이 받는 소음(대략 종 곡선과 일치)에 매우 적합했으며, Mariner 우주선에 적용되어 1969년에서 1977년 사이의 임무에 사용되었다.
1977년에 시작된 보이저 1호와 보이저 2호는 목성과 [18]토성의 컬러 영상과 과학 정보를 전달하기 위해 고안되었다.이로 인해 코딩 요건이 증가하였고, 따라서 우주선은 외부 골레이(24,12,8) 코드와 연결될 수 있는 (최적적으로 비터비 디코딩된) 컨볼루션 코드에 의해 지원되었다.보이저 2호는 리드-솔로몬 코드의 구현을 추가로 지원했다.연결된 리드-솔로몬-비터비(RSV) 코드는 매우 강력한 오류 수정을 가능하게 했고, 우주선이 천왕성과 해왕성으로의 긴 여정을 가능하게 했다.1989년 ECC 시스템 업그레이드 이후 두 기술 모두 V2 RSV 코딩을 사용했습니다.
우주 데이터 시스템 자문 위원회는 현재 최소한 Voyager 2 RSV 코드와 유사한 성능의 오류 수정 코드 사용을 권고하고 있습니다.연결된 코드는 우주 임무에서 점점 더 인기가 없어지고 터보 코드나 LDPC 코드와 같은 더 강력한 코드로 대체됩니다.
행해지는 다양한 종류의 깊은 우주와 궤도 미션은 만능 오류 수정 시스템을 찾는 것이 지속적인 문제가 될 것임을 시사한다.지구에 근접한 임무의 경우, 통신 채널의 소음의 성질은 행성간 임무에서 우주선이 경험하는 것과 다르다.게다가, 우주선이 지구와의 거리를 늘리면, 소음을 보정하는 문제는 더욱 어려워진다.
위성방송
위성 트랜스폰더 대역폭에 대한 수요는 TV(새로운 채널 및 고화질 TV 포함)와 IP 데이터를 제공하려는 욕구로 인해 계속 증가하고 있습니다.트랜스폰더의 가용성과 대역폭의 제약으로 인해 이러한 증가가 제한되었습니다.트랜스폰더 용량은 선택된 변조 방식 및 FEC에 의해 소비되는 용량의 비율에 따라 결정됩니다.
데이터 스토리지
오류 검출 및 정정 코드는 데이터 저장 매체의 신뢰성을 [19]향상시키기 위해 자주 사용됩니다.1951년 최초의 자기 테이프 데이터 스토리지에 싱글 비트 오류를 검출할 수 있는 패리티 트랙이 존재했습니다.그룹 코드화된 기록 테이프에 사용되는 최적의 직사각형 코드는 단일 비트 오류를 탐지할 뿐만 아니라 수정하기도 합니다.일부 파일 형식(특히 아카이브 형식)에는 손상 및 절단을 감지하기 위한 체크섬(대부분 CRC32)이 포함되어 있으며 이중화 파일 또는 패리티 파일을 사용하여 손상된 데이터의 일부를 복구할 수 있습니다.리드 Solomon 코드는 스크래치로 인한 오류를 수정하기 위해 CD에서 사용됩니다.
최신 하드 드라이브는 Reed-Solomon 코드를 사용하여 섹터 판독의 사소한 오류를 감지 및 수정하고 장애가 발생한 섹터에서 손상된 데이터를 복구하여 예비 [20]섹터에 저장합니다.RAID 시스템은 하드 드라이브가 완전히 고장났을 때 데이터를 복구하기 위해 다양한 오류 수정 기술을 사용합니다.ZFS 또는 Btrfs와 같은 파일 시스템과 일부 RAID 구현은 데이터 스크러빙 및 복원 기능을 지원하므로 [21]불량 블록을 감지하고 사용하기 전에 복구할 수 있습니다.복구된 데이터를 정확히 동일한 물리적 위치에 다시 쓰거나, 동일한 하드웨어의 다른 부분에 블록을 남겨두거나, 데이터를 교체용 하드웨어에 다시 쓸 수 있습니다.
오류 수정 메모리
Dynamic Random-Access Memory(DRAM; 다이내믹랜덤 액세스메모리)는 에러 정정 코드에 의존함으로써 소프트 에러로부터 보다 강력한 보호를 제공할 수 있습니다.ECC 또는 EDAC 보호 메모리로 알려진 이러한 오류 수정 메모리는 과학 컴퓨팅, 금융, 의료 등과 같은 미션 크리티컬 애플리케이션뿐만 아니라 우주에서의 방사선 증가로 인한 외계 애플리케이션에 특히 적합합니다.
오류를 수정하는 메모리 컨트롤러는 전통적으로 해밍 코드를 사용하지만 일부는 트리플 모듈러 용장성을 사용합니다.인터리빙을 사용하면 인접 비트를 다른 단어에 연관시킴으로써 단일 우주선의 영향을 물리적으로 인접한 여러 비트를 여러 단어로 분산시킬 수 있습니다.싱글 이벤트 업라이트(SEU)가 액세스 사이의 특정 워드에서 에러 임계값(예를 들어 싱글 에러)을 넘지 않는 한, 수정(예를 들어 싱글 비트 에러 정정 코드에 의해)할 수 있어 에러 없는 메모리 시스템의 착각을 [22]유지할 수 있다.
운영체제에는 ECC 메모리의 동작에 필요한 기능을 제공하는 하드웨어와 더불어 일반적으로 소프트웨어 오류가 투과적으로 복구되었을 때 알림을 제공하기 위해 사용되는 관련 보고서 기능이 포함되어 있습니다.예를 들어 Linux 커널의 EDAC 서브시스템(이전의 Bluesmoke)은 컴퓨터 시스템 내의 에러 체크가 유효한 컴포넌트로부터 데이터를 수집합니다.ECC 메모리와 관련된 이벤트를 수집 및 보고하는 것 외에 PCI 버스에서 [23][24][25]검출된 오류를 포함한 다른 체크섬 에러도 지원합니다.일부 시스템에서는[specify] 메모리 스크러빙을 지원하여 에러를 조기에 검출하고 수정할 수 있습니다.
「 」를 참조해 주세요.
- 버거 코드
- 버스트 오류 수정 코드
- 컴퓨터 데이터 스토리지의 일종인ECC 메모리
- 링크 적응
- 알고리즘 목록 ② 오류 검출 및 수정
- 해시 함수 목록
레퍼런스
- ^ a b "Masorah". Jewish Encyclopedia.
- ^ Pratico, Gary D.; Pelt, Miles V. Van (2009). Basics of Biblical Hebrew Grammar: Second Edition. Zondervan. ISBN 978-0-310-55882-8.
- ^ Mounce, William D. (2007). Greek for the Rest of Us: Using Greek Tools Without Mastering Biblical Languages. Zondervan. p. 289. ISBN 978-0-310-28289-1.
- ^ 미슈네 토라, 테필린, 메주자, 세퍼 토라 1:2영어 번역 예:
- ^ Brian M. Fagan (5 December 1996). "Dead Sea Scrolls". The Oxford Companion to Archaeology. Oxford University Press. ISBN 0195076184.
- ^ Thompson, Thomas M. (1983), From Error-Correcting Codes through Sphere Packings to Simple Groups, The Carus Mathematical Monographs (#21), The Mathematical Association of America, p. vii, ISBN 0-88385-023-0
- ^ Shannon, C.E. (1948), "A Mathematical Theory of Communication", Bell System Technical Journal, 27 (3): 379–423, doi:10.1002/j.1538-7305.1948.tb01338.x, hdl:10338.dmlcz/101429, PMID 9230594
- ^ Golay, Marcel J. E. (1949), "Notes on Digital Coding", Proc.I.R.E. (I.E.E.E.), 37: 657
- ^ Gupta, Vikas; Verma, Chanderkant (November 2012). "Error Detection and Correction: An Introduction". International Journal of Advanced Research in Computer Science and Software Engineering. 2 (11). S2CID 17499858.
- ^ a b A. J. McAuley, Burst Erasure Correcting Code, ACM SIGCOMM, 1990을 사용한 신뢰성 높은 광대역 통신
- ^ Shah, Pradeep M.; Vyavahare, Prakash D.; Jain, Anjana (September 2015). "Modern error correcting codes for 4G and beyond: Turbo codes and LDPC codes". 2015 Radio and Antenna Days of the Indian Ocean (RADIO): 1–2. doi:10.1109/RADIO.2015.7323369. ISBN 978-9-9903-7339-4. S2CID 28885076. Retrieved 22 May 2022.
- ^ "IEEE SA - IEEE 802.11ac-2013". IEEE Standards Association.
- ^ "Transition to Advanced Format 4K Sector Hard Drives Seagate US". Seagate.com. Retrieved 22 May 2022.
- ^ Frank van Gerwen. "Numbers (and other mysterious) stations". Retrieved 12 March 2012.
- ^ Gary Cutlack (25 August 2010). "Mysterious Russian 'Numbers Station' Changes Broadcast After 20 Years". Gizmodo. Retrieved 12 March 2012.
- ^ Ben-Gal I.; Herer Y.; Raz T. (2003). "Self-correcting inspection procedure under inspection errors" (PDF). IIE Transactions. IIE Transactions on Quality and Reliability, 34(6), pp. 529-540. Archived from the original (PDF) on 2013-10-13. Retrieved 2014-01-10.
- ^ K. 앤드류스 외딥스페이스 어플리케이션용 터보 및 LDPC 코드 개발, IEEE, Vol. 95, No. 11, 2007년 11월
- ^ Huffman, William Cary; Pless, Vera S. (2003). Fundamentals of Error-Correcting Codes. Cambridge University Press. ISBN 978-0-521-78280-7.
- ^ Kurtas, Erozan M.; Vasic, Bane (2018-10-03). Advanced Error Control Techniques for Data Storage Systems. CRC Press. ISBN 978-1-4200-3649-7.[영구 데드링크]
- ^ Scott A. Moulton. "My Hard Drive Died". Archived from the original on 2008-02-02.
- ^ Qiao, Zhi; Fu, Song; Chen, Hsing-Bung; Settlemyer, Bradley (2019). "Building Reliable High-Performance Storage Systems: An Empirical and Analytical Study". 2019 IEEE International Conference on Cluster Computing (CLUSTER): 1–10. doi:10.1109/CLUSTER.2019.8891006. ISBN 978-1-7281-4734-5. S2CID 207951690.
- ^ "Using StrongArm SA-1110 in the On-Board Computer of Nanosatellite". Tsinghua Space Center, Tsinghua University, Beijing. Archived from the original on 2011-10-02. Retrieved 2009-02-16.
- ^ Jeff Layton. "Error Detection and Correction". Linux Magazine. Retrieved 2014-08-12.
- ^ "EDAC Project". bluesmoke.sourceforge.net. Retrieved 2014-08-12.
- ^ "Documentation/edac.txt". Linux kernel documentation. kernel.org. 2014-06-16. Archived from the original on 2009-09-05. Retrieved 2014-08-12.
추가 정보
- Shu Lin; Daniel J. Costello, Jr. (1983). Error Control Coding: Fundamentals and Applications. Prentice Hall. ISBN 0-13-283796-X.
- SoftECC: 소프트웨어 메모리 무결성 검사 시스템
- HPC용 조정 가능한 소프트웨어 기반 DRAM 오류 검출 및 수정 라이브러리
- 대규모 고성능 컴퓨팅을 위한 사일런트 데이터 손상 감지 및 수정