KR20110118612A - 에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템 - Google Patents
에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템 Download PDFInfo
- Publication number
- KR20110118612A KR20110118612A KR1020117012128A KR20117012128A KR20110118612A KR 20110118612 A KR20110118612 A KR 20110118612A KR 1020117012128 A KR1020117012128 A KR 1020117012128A KR 20117012128 A KR20117012128 A KR 20117012128A KR 20110118612 A KR20110118612 A KR 20110118612A
- Authority
- KR
- South Korea
- Prior art keywords
- error correction
- data
- decoder
- bit values
- disk drive
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1803—Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1816—Testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
본 명세서에 기술된 방법 및 구조는 LDPC 에러 정정 코드의 에러 정정 성능을 조정하도록 제공된다. 예를 들면, 일 실시예의 시스템은 LDPC 에러 정정 코드로 인코딩된 데이터를 디코딩하는 데 사용되는 디코더를 포함한다. 본 시스템은 또한 상기 디코더에 통신가능하게 결합되어 상기 디코더에 의해 디코딩하기 전에 상기 데이터의 비트 값들을 추정하도록 구성된 검출기를 포함한다. 상기 검출기는 비트 값 추정에 기초하여 비트 값들을 변경하여 상기 LDPC 에러 정정 코드의 에러 정정 성능을 감소시키도록 추가로 구성된다. 에러 정정 성능의 감소는 스토리지 디바이스들의 섹터 고장률이 점진적으로 분석될 수 있도록 조정가능하다.
Description
본 발명은 일반적으로 특정 테스트 조건하에서 스토리지 디바이스를 테스트하는 것에 관한 것이다. 특히, 본 발명은 스토리지 디바이스의 섹터 고장률(sector failure rate)이 점진적으로 결정될 수 있도록 LDPC 코드의 에러 정정 성능을 조정하는 것에 관한 것이다.
많은 스토리지 디바이스에서, 데이터는 일반적으로 인접한 블럭들 내의 디바이스들에 기록되고 그 디바이스들로부터 검색된다. 디스크 드라이브에서, 판독/기록 채널은 그러한 판독 및 기록을 수행한다. 판독/기록 채널은 특정한 검출 알고리즘을 이용하여 하드 디스크에 기록되고 그 하드 디스크로부터 판독된 데이터의 검출을 개선한다. 예를 들면, PRML(Partial Response signaling with Maximum Likelihood detection, 최대 유사도 검출을 이용한 부분 응답 시그널링)과 같은 알고리즘은 하드 디스크로부터 판독되는 데이터의 신호대 잡음비(SNR)를 증가시켜 데이터가 적절히 판독될 가능성을 증가시킨다. 데이터를 정확하게 검출할 가능성이 크기 때문에, 이러한 알고리즘은 디스크 상의 면 밀도(areal density)를 증가(즉, 하드 디스크 상에 저장가능한 비트의 수를 증가)시킬 수 있다. 그러나, 면 밀도가 증가함에 따라 데이터 에러가 증가할 수 있기 때문에, 검출 알고리즘의 성능을 개선하기 위해 에러 제어 코딩이 사용된다. 종종, 리드-솔로몬 코드(RS 코드)는 이러한 에러 정정 성능을 제공한다.
판독 동안에 발생하는 데이터 에러의 수(즉, 섹터 고장률, 또는 SFR)는 일반적으로 판독 신호의 SNR과 일치한다. 더 낮은 SNR은 더 높은 에러율을 발생한다. 더 높은 SNR은 더 낮은 에러율을 발생한다. 판독 신호의 SNR은 시간이 지남에 따라 디스크 드라이브의 전력, 부품, 및 열화로 인해 특정 제한치를 갖는다. 따라서, 결과적인 데이터 에러는 RS 코드로 정정된다.
디스크 드라이브 제조자는 일반적으로 디스크 드라이브가 하드 디스크 열화에 견딜 것으로 예상되는 최대 에러율을 충족하기 위해 요구되는 최대 정정 레벨에 대해 "T=20"이라는 코드 레벨을 설정한다. T=20 이라는 코드 레벨은 40 비트의 데이터에 대하여 20 비트의 코드를 필요로 한다. 제조 공정 동안, 디스크 드라이브는 그 드라이브가 주어진 SNR에 필요한 어떤 레벨의 에러율을 충족하도록 보장하기 위해 테스트된다. 그러한 하드 디스크는 새로운 것이기 때문에, 이들 하드 디스크는 이들의 노화된 대응제품보다 더 적은 에러를 발생할 것이다. 그러나, 일부 새로운 디스크는 제조 공정에서 불일치(inconsistencies)로 인해 수용할 수 없는 많은 에러를 발생할 것이다. 디스크가 완전한 T=20 에러 정정에 의해 복구되지 않고 특정 SNR에 허용가능한 SFR를 충족하도록 보장하기 위하여, 코드 레벨은 T=5로 "다이얼 백(dialed back)" 된다.
현재, 디스크 드라이브 제조자는 기술적 진보로 인해 면 밀도 및 처리 성능이 증가함에 따라 다른 코드를 이용하려 하고 있다. 현재 구현되고 있는 한가지 코드는 저밀도 패리티 체크(Low Density Parity Check: LDPC) 코드라고 불린다. LDPC 코드는 비교적 복잡하여 계산 집약적이다. 예를 들어, LDPC 코드는 RS 코드보다 더 큰 인접 데이터 블럭들에서 에러를 정정하며 따라서 더 많은 계산을 필요로 한다. LDPC 코드는 일반적으로 RS 코드보다 더 많은 에러를 정정할 수 있고 또한 시간이 지남에 따라 처리 성능이 상당히 증가하기 때문에 에러 정정시 승계(heirs apparent)되는 것으로 보인다. 그러나, LDPC 코드는 제조된 테스트 드라이브가 확실하게 어떤 필요한 최소 레벨의 SFR을 충족하도록 하는 "다이얼링 백"이라는 RS 코드 기능을 갖지 않는다. 따라서, LDPC 코드가 스토리지 디바이스 내에서 사용될 경우 테스트 목적으로 LDPC 에러 정정 레벨을 감소시킬 필요가 있다.
본 발명은 저밀도 패리티 체크 에러 정정 코드의 에러 정정 성능을 조정하는 방법 및 구조를 제공함으로써, 전술한 문제점과 다른 문제점을 해결하여 유용한 현재의 기술을 향상시킨다. 예를 들어, 스토리지 디바이스는 일반적으로 고객에게 배송되기 전에 테스트를 필요로 한다. 통상적으로, 전술한 바와 같이, 스토리지 디바이스는 인코딩된 데이터의 RS 코드를 다이얼링 백(dialing back)하여 테스트 되었다. 스토리지 디바이스에 LDPC 코드가 출현한 이후, LDPC의 에러 정정 성능은 본질적으로 "광범위(full scale)"하여, LDPC를 계산 집약적으로 충분히 사용할 것을 요구하며 이와 동시에 최근에 제조된 스토리지 디바이스의 SFR을 설정할 수 없었다. 일 실시예에서, 시스템은 LDPC 인코딩된 데이터를 디코딩하도록 구성된 디코더를 제공함으로써 이러한 제한을 극복한다. 검출기는 디코더에 통신가능하게 결합되고 상기 디코디에 의해 디코딩하기 전에 데이터의 비트 값들을 추정하도록 구성된다. 상기 검출기는 비트 값 추정에 기초하여 비트 값들을 변경하여 저밀도 패리티 체크 에러 정정 코드의 에러 정정 성능을 감소시키도록 추가로 구성된다.
본 발명의 다른 양태는 디스크 드라이브를 테스트하는 방법에 관한 것이며, 상기 방법은 LDPC 코드로 데이터를 인코딩하는 단계 및 상기 인코딩된 데이터를 상기 디스크 드라이브에 저장하는 단계를 포함한다. 상기 방법은 또한 상기 디스크 드라이브로부터 상기 인코딩된 데이터를 판독하는 단계, 상기 인코딩된 데이터의 비트 값들을 추정하는 단계, 및 비트 값 추정에 기초하여 상기 인코딩된 데이터의 상기 비트 값들의 일부를 변경하는 단계를 포함한다. 상기 방법은 또한 상기 비트 값들의 일부를 변경하는 것에 응답하여 상기 저밀도 패리티 체크 코드에 따라 상기 인코딩된 데이터를 디코딩하여 상기 디스크 드라이브의 섹터 고장률을 결정하는 단계 포함한다.
본 발명의 또 다른 양태는 디스크 드라이브를 테스트하도록 구성된 시스템에 관한 것이다. 상기 시스템은 LDPC 코드로 데이터를 인코딩하고 상기 인코딩된 데이터를 상기 디스크 드라이브에 기록하도록 구성된 기록 모듈을 포함한다. 상기 시스템은 또한 상기 디스크 드라이브로부터 상기 인코딩된 데이터를 판독하고, 상기 인코딩된 데이터의 비트 값들을 추정하고 상기 비트 값 추정에 기초하여 상기 비트 값들의 일부를 변경하도록 구성된 판독 모듈을 포함한다. 상기 변경된 비트 값들은 상기 디스크 드라이브의 섹터 고장률을 결정하도록 상기 저밀도 패리티 체크 코드의 에러 정정 성능을 감소시킨다.
도 1은 LDPC 코드의 에러 정정 성능을 조정하기 위한 예시적인 시스템이다.
도 2는 다양한 LDPC 에러 정정 조정을 위한 SFR 분석을 예시하는 그래프이다.
도 3은 디스크 드라이브로 구현된 도 1의 시스템의 일예이다.
도 4는 스토리지 디바이스를 테스트하는 방법의 예시적인 흐름도이다.
도 2는 다양한 LDPC 에러 정정 조정을 위한 SFR 분석을 예시하는 그래프이다.
도 3은 디스크 드라이브로 구현된 도 1의 시스템의 일예이다.
도 4는 스토리지 디바이스를 테스트하는 방법의 예시적인 흐름도이다.
도 1 내지 도 4와 아래의 상세한 설명은 본 발명을 어떻게 만들고 어떻게 사용하는지를 당업자에게 가르쳐 주기 위한 본 발명의 특정한 예시적인 실시예들을 도시한다. 본 발명의 원리를 가르쳐줄 목적으로, 본 발명의 일부의 통상적인 개념들은 간략화되거나 생략되었다. 당업자는 본 발명의 범주 내에 속하는 이러한 실시예들로부터 다양한 변형이 있을 수 있음을 인식할 것이다. 당업자는 아래에서 기술되는 특징들이 본 발명의 여러 가지 변형을 형성하는 다양한 방식으로 결합될 수 있음을 인식할 것이다. 결과적으로, 본 발명은 아래에서 기술되는 구체적인 실시예들로 제한되지 않고, 특허청구범위 및 이들의 등가물로만 제한된다.
도 1은 LDPC 코드의 에러 정정 성능을 조정하기 위한 예시적인 시스템(10)이다. 이 실시예에서, 시스템(10)은 LDPC 인코딩된 데이터를 디코딩하도록 구성된 LDPC 디코더(12)를 포함한다. LDPC 코드는 디코딩될 때 특정 변조 및 코드율에서 채널 성능의 "샤논 한계(Shannon limit)" 또는 이론적 한계에 가까운 코드이다. 즉, 샤논의 한계는 통신 채널을 통해 에러 없이 전송하는 특정 SNR을 갖는 통신 채널에서 사용될 데이터 전송 속도라고 볼 수 있다.
LDPC 인코딩된 데이터는 각기 공통 코드율을 갖고 단일 변조에 맵핑되는 심볼들을 포함하는 신호를 생성함으로써 인코딩될 수 있다. 즉, LDPC 코딩된 변조 신호의 심볼은 동일한 코드율 및 동일한 변조 주파수를 갖는다. 일단 인코딩되면, 데이터는 이어서 디스크 드라이브 시스템과 같은 스토리지 시스템에 저장될 수 있다.
스토리지 시스템으로부터 데이터를 판독할 때, LDPC 디코더(12)는 이분 그래프(bipartite graph)가 비트 노드 및 체크 노드를 모두 포함하도록 주어진 LDPC 코드의 이분 그래프에 따라 그 데이터를 디코딩할 수 있다. 수신된 심볼과 연관된 동상/직교(I/Q) 값들은 심볼 노드와 연관되고, 그 심볼 노드는 대응하는 비트 노드들과 연관된다. 그 다음, 대응하는 심볼들의 개별 비트에 대한 비트 메트릭(bit metrics)이 계산되고 그러한 비트 메트릭은 주어진 LDPC 코드의 이분 그래프의 비트 노드에 제공된다. 비트 노드들과 체크 노드들을 상호 연결하는 에지에 대응하는 에지 정보가 계산되고, 적절히 업데이트되고, LDPC 인코딩된 신호의 반복 디코딩 동안 비트 노드들과 체크 노드들 사이에서 서로 통신된다. 사용되는 비트 메트릭 값들은 일반적으로 반복적인 디코딩 프로세스에서 반복적으로 사용되는 고정 값들이다.
LDPC 코드의 구조로 인해, 디코더(12)는 에러 정정 성능을 변경하도록 용이하게 구성할 수 없다. 즉, 디코더(12)는 데이터를 인코딩하는데 사용되는 동일한 LDPC 코드에 따라 데이터를 디코딩하는 방식으로 구성된다. 따라서, 디코더(12)의 에러 정정 성능은 일반적으로 스케일러블(scalable) RS 코드와 달리 정적이다. 설명된 바와 같이, 제조자는 일반적으로 코드의 에러 정정 성능을 "다이얼 백"하여 제조 공정과 연관된 스토리지 디바이스의 예상 고장률에 접근하게 함으로써 스토리지 디바이스들을 테스트하기를 원한다. 디코더(12)는 일반적으로 에러 정정 성능을 용이하게 조정할 수 없기 때문에, 시스템(10)은 디코더(12)에 의해 디코딩하기 전에 데이터의 비트 값들을 추정하도록 적응된 검출기(11)를 포함하여 구성된다. 검출기(11)는 디코더(12)에 의해 디코딩하기 전에 비트 값 추정에 기초하여 비트 값들을 변경하여 LDPC 에러 정정 코드의 에러 정정 성능을 감소시킨다.
예시를 위해, 디코더(12)가 (예컨대, 식별할 수 없는 정도로 열화된) 에러 비트들을 갖는 코드워드를 수신할 때, 디코더(12)는 그 비트들이 코드워드에서 분실(missing)된 것으로 간주한다. 디코더(12)는 LDPC 코드의 에러 정정 성능을 이용하여 그 비트들을 정정하여 응답한다. 시스템(10)은 디코더(12)에 의해 디코딩하기 전에 검출기(11)가 분실된 비트들, 또는 그 일부를 정정하게 하여 이러한 에러 정정 성능을 극복하며, 그럼으로써 디코더(12)가 그 비트들을 정정할 필요를 없게 한다. 검출기(11)가 사전결정된 비트 간격으로 동작함으로써, 디코더(12)의 에러 정정 성능은 본질적으로 "다이얼 백" 될 수 있다.
검출기(11)가 비트들을 정정하는 데이터 간격을 조정함으로써, 시스템(10)은 스토리지 시스템의 다양한 신호대 잡음비에 대한 SFR를 분석할 수 있다. 예를 들면, 도 2는 다양한 LDPC 에러 정정 조정에 대한 SFR 분석을 예시하는 그래프이다. y축(41)은 스토리지 디바이스에 대한 SFR을 예시한다. y축(41)의 SFR은 LDPC 코드워드 당 심볼(즉, 10 비트) 에러로 도시된다. x축(42)은 판독 신호(즉, LDPC 인코딩된 데이터)의 SNR을 데시벨(decibels)로 예시한다. "단계"(43 내지 48)는 각각 검출기(11)에 의해 수행되는 비트 간격 체크를 예시한다.
예시를 위해, 검출기가 LDPC 인코딩된 데이터의 매 50번째 비트를 정정할 때(즉, 단계 48), SNR이 증가함에 따라 SFR은 감소하지만; 이는 단계(43)에서 예시된 바와 같이, LDPC 디코더(12)가 LDPC 인코딩된 데이터의 모든 비트를 디코딩해야할 때만큼 덜 급격한 비율로 감소한다. LDPC 인코딩된 데이터의 모든 비트를 정정하는 기능을 제거함으로써, 기술자는 제조된 스토리지 디바이스가 전술한 RS 코드의 다이얼링 백과 유사한 방식으로 주어진 SNR에 필요한 어떤 최소 레벨의 SFR을 충족하는지 판단할 수 있다. 따라서, 스토리지 디바이스가 그 디바이스로부터 데이터를 판독하고 특정 비트 간격으로 비트들을 정정하여 테스트될 때, 판단된 SFR은 스토리지 디바이스에게 고객이 사용할 권한을 부여하는데 사용될 수 있다.
일 실시예에서, 검출기(11)는 소프트 출력 비터비 알고리즘(soft output Viterbi algorithm: SOVA)을 이용한다. SOVA는 변경된 경로 메트릭을 이용하는 전통적인 비터비 알고리즘과 다르며, 이는 입력 심볼들의 알려진 확률을 고려하여 판단 신뢰도를 나타내는 소프트 출력을 생성한다. 예를 들면, 검출기(11)는 특정 비트 간격으로 로그 우도비(log likelihood ratio: LLR)를 추정하여 그 비트 간격으로 비트 값을 설정할 수 있다. 가능성 있는 에러가 검출되면, 검출기(11)는 비트가 1인지 0인지를 추정할 수 있다. 그러나, 본 발명의 검출은 다른 검출 알고리즘이 특정 수신 비트의 확률을 추정하는데 사용될 수 있기 때문에 SOVA로 제한되지 않는다.
도 3은 도 1의 시스템(10)을 채용하는 판독/기록 채널(74)을 갖는 디스크 드라이브(70)의 블럭도를 나타낸다. 이 실시예에서, 판독/기록 헤드(72)는 자기 디스크(71)에 인접하여 동작가능하게 배치되어 호스트 디바이스(76)로부터 자기 디스크(71)에 데이터를 자기로 레코드(즉, 기록)한다. 판독/기록 헤드(72)는 또한 자기 디스크(71)에서 자속 반전(magnetic flux reversals)을 감지하여 자기 디스크(71)로부터 판독하고 데이터를 호스트 디바이스(76)에 전달한다. 데이터를 자기 디스크(71)에 기록하기 위하여, 호스트 디바이스(76)는 제어기(75)에 데이터 신호 및 위치(예컨대, 자기 디스크들(71)의 섹터 어드레스)를 제공하여 데이터 신호를 자기 디스크에 기록한다. 제어기(75)는 판독/기록 헤드(72)에게 적절한 위치로 이동하도록 지시하여 데이터 신호를 판독/기록 채널(74)에 전달한다. 판독/기록 채널(74)은 데이터 신호를 LDPC 인코딩하고 이를 아날로그 신호로 변환한다. 판독/기록 채널(74)은 아날로그 신호를 증폭기(73)에 전달하여 증폭되게 한다. 증폭기(73)는 이어서 증폭된 아날로그 신호를 판독/기록 헤드들(72)에 전달한다. 판독/기록 헤드(72)는 데이터 신호를 나타내는 자속 반전을 자기 디스크(71)에 전달한다. 판독/기록 채널(74)은 피크 검출, 또는 PRML 인코딩 등을 통해 자속 반전을 제어할 수 있다.
개괄적으로, 자기 디스크(71)로부터 데이터를 판독하기 위하여, 호스트 디바이스(76)는 자기 디스크(71)의 위치 식별자, 또는 섹터 어드레스를 디스크 드라이브(70)에 제공한다. 제어기(10)는 위치 식별자를 수신하여 디스크(71) 상에서 데이터의 물리적인 위치를 결정한다. 제어기(75)는 하나 이상의 판독/기록 헤드(72)에게 판독/기록 헤드(72)에 인접하여 회전하는 자기 디스크(71) 상의 데이터의 적절한 위치로 이동하도록 지시한다. 자기 디스크(71)가 회전함에 따라, 판독/기록 헤드(72)는 자기 디스크(71) 상에서 자속 반전의 존재 여부를 감지한다. 판독/기록 헤드는 자속 반전에 응답하여 아날로그 신호를 생성한다. 판독/기록 헤드(72)는 아날로그 신호를 증폭기(73)에 전달하며, 이 증폭기는 아날로그 신호를 증폭하여 판독/기록 채널(74)에 전달한다. 판독/기록 채널(74)은 피크 검출, 또는 PRML 디코딩 등을 통해 증폭된 아날로그 신호를 이진 디지털 데이터 신호로 디코딩한다. 판독/기록 채널(74)은 데이터 신호를 제어기(75)에 전달하고, 이 제어기는 이어서 데이터 신호를 호스트 디바이스(76)에 전달한다.
본 실시예에서, 판독/기록 채널(74)은 도 1의 시스템(10)을 포함하여 데이터 신호를 처음에 인코딩하는 데 사용된 LDPC 코드의 에러 정정 성능을 감소시킨다. 즉, 데이터가 자기 디스크(71)로부터 판독될 때, 시스템(10)은 LDPC 코드워드에서 분실된 비트들을 검출하여 이들 비트들을 LDPC 디코더(예컨대, LDPC 디코더(12))에 의해 디코딩되기 전에 정정한다. 분실된 비트들이 정정되었기 때문에, 시스템(10)은 이들 비트들의 LDPC 디코딩을 무시하고 그럼으로써 LDPC 디코더의 유효성을 감소시킨다.
비록 디스크 드라이브(70)로 구현되는 시스템(10)과 관련하여 도시되고 설명되었을지라도, 본 발명은 그것으로 제한하고자 하는 것은 아니다. 오히려, 시스템(10)은 LDPC 코드의 에러 정정 성능이 "다이얼 백"되기를 희망하는 경우에 LDPC 코드를 이용하는 모든 디바이스에서 구현될 수 있다. 예를 들어, LDPC 코드는 데이터를 인코딩하여 플래시 메모리 디바이스에 저장되게 하는데 사용될 수 있다. 따라서, 제조자가 고객에게 배송하기 전에 플래시 메모리 디바이스의 SFR을 테스트하기를 원할 때, LDPC 코드 에러 정정 성능은 유사한 방식으로 다이얼링 백 될 수 있다. 본 발명은 판독/기록 채널(74)로 구현되는 것으로 제한하고자 하는 것은 아니다. 예를 들어, 시스템(10)은 LDPC 코드의 에러 정정 성능이 다이얼링 백을 필요로 하는 거의 모든 디바이스에서 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로서 구현될 수 있다. 이와 관련하여, 시스템(10)은 제어기(75) 또는 호스트 디바이스(76)로도 구현될 수 있다.
도 4는 스토리지 디바이스를 테스트하는 방법(80)의 예시적인 흐름도이다. 이 실시예에서, 먼저 프로세스 요소(81)에서 데이터는 LDPC 코드로 인코딩되고, 프로세스 요소(82)에서 인코딩된 데이터는 이어서 스토리지 디바이스에 저장된다. 스토리지 디바이스는 디스크 드라이브, 플래시 메모리 드라이브, 광학 드라이브(예컨대, CD-ROM) 등과 같은 디지털 데이터를 저장할 수 있는 어떠한 스토리지 디바이스라도 될 수 있다. 특히, LDPC 코드를 이용하여 데이터를 저장하는 것이 기술적으로 실현 가능한 것이라면 어떠한 스토리지 디바이스라도 사용될 수 있다.
프로세스 요소(83)에서 LDPC 인코딩된 데이터는 스토리지 디바이스로부터 판독된다. 특정한 일 실시예에서, 디스크 드라이브의 판독 헤드는 디스크 드라이브의 자기 디스크 상에서 자속 반전을 검출하여 아날로그 신호를 형성할 수 있으며, 이 아날로그 신호는 이어서 디지털 신호(즉, 디지털 데이터)로 변환된다. 그 다음에, LDPC 인코딩된 데이터를 디코딩하기 전에, 프로세스 요소(84)에서 그 데이터의 비트 값들이 추정된다. 예를 들어, 검출기는 판독된 데이터스트림 내의 비트들을 주기적으로 분석하여 데이터의 가능성 있는 에러를 결정할 수 있다. 특히, 검출기는 특정한 비트 간격으로 LLR을 추정하여 그 비트 간격으로 비트 값을 설정하는 SOVA 검출기일 수 있다. 가능성 있는 에러가 검출되면, 검출기는 비트가 1인지 0인지 추정할 수 있다. 따라서, 이러한 가능성 있는 에러들이 비트 간격마다 검출되면, 프로세스 요소(85)에서 검출기는 비트 값 추정에 기초하여 비트 값들의 일부를 변경할 수 있다. 그 후, 프로세스 요소(86)에서 데이터는 LDPC 코드에 따라 디코딩될 수 있다. 예를 들어, LDPC 디코더는 데이터를 인코딩하는데 사용되는 LDPC 코드에 따라 데이터를 디코딩할 수 있다. 다양한 에러들이 검출기를 통해 이전에 추정되고 정정되었기 때문에, LDPC 코드의 에러 정정 성능은 감소되거나, 또는 "다이얼 백" 된다.
프로세스 요소(87)에서, 디코더는 LDPC 인코딩된 데이터를 디코딩하는 동안 스토리지 디바이스를 이용하여 SFR을 결정할 수 있다. 예를 들어, 특정 비트 에러들이 검출기를 통해 데이터에서 추정되고 정정되어도, 판독된 데이터에는 여전히 에러들이 발생할 가능성이 있다. 디코더는 LDPC 디코딩 프로세스 동안 판독된 데이터 전체에 대하여 정정되는 에러들의 수에 관련된 통계치를 누적할 수 있다. 따라서, 디코더는 판독된 데이터에서 비트 에러율, 또는 SFR을 결정할 수 있다. 대체로, 검출기는 디코더에 의해 디코딩하기 전에 판독된 데이터의 일부를 정정하기 때문에, SFR은 감소할 가능성이 있다. 그러나, 비교적 새로운 디바이스 내의 SFR은 상당히 낮을 가능성이 있다. 따라서, LDPC 에러 정정 성능의 스케일링 백(scaling back)은 일반적으로 기술자가 제조 불일치와 연관된 SFR을 관찰하게 해준다. 이와 관련하여, 프로세스 요소(88)에서 본 방법(80)은 SFR이 임계치 이상인지 계속해서 판단할 수 있다. 만일 그렇다면, 프로세스 요소(89)에서 스토리지 디바이스는 (예컨대, 재가공, 파기 등을 위해) 제조 공정에서 제거될 수 있다. 그렇지 않으면, 프로세스 요소(90)에서 스토리지 디바이스는 고객에게 배송하기 위해 준비될 수 있다.
본 발명은 도면 및 전술한 설명에서 도시되고 기술되었지만, 그러한 예시 및 설명은 예시적이고 그 특징이 제한되지 않는 것으로 간주되어야 한다. 본 발명의 일 실시예 및 그 변형예들이 도시되고 설명되었다. 본 발명의 정신 내에 있는 모든 변경예와 변형예들도 보호하고자 한다. 당업자는 전술한 실시예들의 변형예들이 본 발명의 정신 내에 속함을 인식할 것이다. 결과적으로, 본 발명은 전술한 특정 예들 및 예시들로 제한되는 것이 아니라, 아래의 특허청구범위 및 이들의 등가물들로만 제한된다.
Claims (10)
- 저밀도 패리티 체크 에러 정정 코드의 에러 정정 성능을 조정하기 위한 시스템(10)으로서,
저밀도 패리티 체크 에러 정정 코드로 인코딩된 데이터를 디코딩하도록 구성된 디코더(12)와,
상기 디코더에 통신가능하게 결합되어 상기 디코더에 의해 디코딩하기 전에 상기 데이터의 비트 값들을 추정하도록 구성된 검출기(11)를 포함하되,
상기 검출기는 상기 저밀도 패리티 체크 에러 정정 코드의 상기 에러 정정 성능을 감소시키기 위해 비트 값 추정에 기초하여 비트 값들을 변경하도록 더 구성되는
시스템.
- 제 1 항에 있어서,
상기 검출기는 소프트 출력 비터비 알고리즘(soft output Viterbi algorithm)을 포함하는
시스템.
- 제 1 항에 있어서,
상기 디코더 및 상기 검출기는 디스크 드라이브(70)의 판독 모듈(74) 내에 구성되며, 상기 감소된 에러 정정 성능은 상기 디스크 드라이브의 제조 공정 시의 섹터 고장률과 연관되는
시스템.
- 제 1 항에 있어서,
상기 검출기는 상기 비트 값 추정 동안에 로그 우도비(log likelihood ratio)를 설정하도록 더 구성되는
시스템.
- 제 1 항에 있어서,
상기 디코더는 상기 데이터를 디코딩하는 것에 응답하여 상기 스토리지 디바이스의 섹터 고장률을 분석하도록 더 구성되는
시스템.
- 제 1 항에 있어서,
상기 검출기는 상기 데이터 내에서 사전결정된 비트 간격으로 상기 비트 값들을 추정하도록 더 구성되는
시스템.
- 디스크 드라이브를 테스트하는 방법(80)으로서,
저밀도 패리티 체크 코드로 데이터를 인코딩하는 단계(81)와,
상기 인코딩된 데이터를 상기 디스크 드라이브에 저장하는 단계(82)와,
상기 디스크 드라이브로부터 상기 인코딩된 데이터를 판독하는 단계(83)와,
상기 인코딩된 데이터의 비트 값들을 추정하는 단계(84)와,
비트 값 추정에 기초하여 상기 인코딩된 데이터의 상기 비트 값들의 일부를 변경하는 단계(85)와,
상기 디스크 드라이브의 섹터 고장률을 결정하기 위해 상기 비트 값들의 상기 일부를 변경하는 것에 응답하여 상기 저밀도 패리티 체크 코드에 따라 상기 인코딩된 데이터를 디코딩하는 단계(86)를 포함하는
방법.
- 제 7 항에 있어서,
상기 데이터의 비트 값들을 추정하는 단계는 상기 데이터의 다수의 반복 비트들(a recurring number of bits)에 대해 상기 추정을 수행하거나 추정된 비트들에 대해 소프트 출력 비터비 알고리즘을 수행하여 로그 우도비를 설정하는 단계를 포함하는
방법.
- 제 7 항에 있어서,
상기 데이터의 상기 비트 값들의 일부를 변경하는 단계는 상기 저밀도 패리티 체크 코드의 에러 정정 성능을 감소시키는 단계를 포함하되,
상기 감소된 에러 정정 성능은 디스크 드라이브 제조 공정 시의 섹터 고장률과 연관되는
방법.
- 디스크 드라이브(70)를 테스트하도록 구성된 시스템(10)으로서,
저밀도 패리티 체크 코드로 데이터를 인코딩하고 상기 인코딩된 데이터를 상기 디스크 드라이브에 기록하도록 구성된 기록 모듈(74)과,
상기 디스크 드라이브로부터 상기 인코딩된 데이터를 판독하고, 상기 인코딩된 데이터의 비트 값들을 추정하고 상기 비트 값 추정에 기초하여 상기 비트 값들의 일부를 변경하도록 구성된 판독 모듈(74)을 포함하되,
상기 변경된 비트 값들은 상기 디스크 드라이브의 섹터 고장률을 결정하도록 상기 저밀도 패리티 체크 코드의 에러 정정 성능을 감소시키며,
상기 판독 모듈은,
상기 인코딩된 데이터를 디코딩하도록 구성된 디코더(12)와,
상기 디코더에 통신가능하게 결합되고 소프트 출력 비터비 알고리즘을 이용하여 상기 디코더에 의해 디코딩하기 전에 상기 인코딩된 데이터의 상기 비트 값들을 추정하도록 구성된 검출기(11)를 포함하는
시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14515209P | 2009-01-16 | 2009-01-16 | |
US61/145,152 | 2009-01-16 | ||
PCT/US2009/037088 WO2010082946A1 (en) | 2009-01-16 | 2009-03-13 | Error correction capability adjustment of ldpc codes for storage device testing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110118612A true KR20110118612A (ko) | 2011-10-31 |
KR101337736B1 KR101337736B1 (ko) | 2013-12-06 |
Family
ID=42337918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117012128A KR101337736B1 (ko) | 2009-01-16 | 2009-03-13 | 에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8413029B2 (ko) |
EP (1) | EP2387827A4 (ko) |
JP (1) | JP5297536B2 (ko) |
KR (1) | KR101337736B1 (ko) |
CN (1) | CN102227876A (ko) |
TW (1) | TWI427626B (ko) |
WO (1) | WO2010082946A1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266497B1 (en) * | 2008-10-17 | 2012-09-11 | Link—A—Media Devices Corporation | Manufacturing testing for LDPC codes |
US8914709B1 (en) * | 2010-03-04 | 2014-12-16 | Sk Hynix Memory Solutions Inc. | Manufacturing testing for LDPC codes |
JP5275423B2 (ja) * | 2011-08-29 | 2013-08-28 | 株式会社東芝 | ビット変換装置、及びビット変換方法 |
US8661324B2 (en) * | 2011-09-08 | 2014-02-25 | Lsi Corporation | Systems and methods for non-binary decoding biasing control |
US8892986B2 (en) * | 2012-03-08 | 2014-11-18 | Micron Technology, Inc. | Apparatuses and methods for combining error coding and modulation schemes |
US8760780B1 (en) * | 2012-03-22 | 2014-06-24 | Amazon Technologies, Inc. | System and method for disk sector failure prediction |
US8886991B2 (en) * | 2012-10-26 | 2014-11-11 | Lsi Corporation | Sector failure prediction method and related system |
US9274922B2 (en) | 2013-04-10 | 2016-03-01 | International Business Machines Corporation | Low-level checking of context-dependent expected results |
US9535777B2 (en) * | 2013-11-22 | 2017-01-03 | Intel Corporation | Defect management policies for NAND flash memory |
US9916906B2 (en) | 2014-02-27 | 2018-03-13 | Seagate Technology Llc | Periodically updating a log likelihood ratio (LLR) table in a flash memory controller |
US9768805B2 (en) | 2015-05-29 | 2017-09-19 | National Instruments Corporation | LPDC encoding techniques using a matrix representation |
US9990250B2 (en) | 2015-05-29 | 2018-06-05 | National Instruments Corporation | Single-IC LDPC encoding and decoding implementations |
US10367525B2 (en) | 2015-05-29 | 2019-07-30 | National Instruments Corporation | Incremental loop modification for LDPC encoding |
KR102543059B1 (ko) | 2017-11-22 | 2023-06-14 | 삼성전자주식회사 | 저밀도 패리티 체크 코드의 디코딩 방법, 이를 수행하는 디코더 및 시스템 |
US10528416B2 (en) | 2017-12-11 | 2020-01-07 | International Business Machines Corporation | Checking data integrity of data storage systems |
US11223447B1 (en) | 2021-03-31 | 2022-01-11 | Seagate Technology Llc | Multiple detector data channel and data detection utilizing different cost functions |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5942003A (en) * | 1996-12-23 | 1999-08-24 | Lsi Logic Corporation | Error burst detector for lowering receiver bit error rate |
US7068729B2 (en) * | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US20080282128A1 (en) * | 1999-08-04 | 2008-11-13 | Super Talent Electronics, Inc. | Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance |
KR20030036227A (ko) * | 2000-06-16 | 2003-05-09 | 어웨어, 인크. | Ldpc 코드형 변조를 위한 시스템 및 방법 |
US6986075B2 (en) * | 2001-02-23 | 2006-01-10 | Hewlett-Packard Development Company, L.P. | Storage-device activation control for a high-availability storage system |
US6823487B1 (en) * | 2001-11-15 | 2004-11-23 | Lsi Logic Corporation | Method and apparatus for enhancing correction power of reverse order error correction codes |
US7266750B1 (en) * | 2002-07-10 | 2007-09-04 | Maxtor Corporation | Error recovery strategies for iterative decoders |
JP2006500714A (ja) * | 2002-09-26 | 2006-01-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビタビビット検出方法および装置 |
KR100975060B1 (ko) * | 2003-11-28 | 2010-08-11 | 삼성전자주식회사 | 저밀도 패리티 검사를 위한 에러 정정 방법 및 장치 |
US7328395B1 (en) * | 2004-04-13 | 2008-02-05 | Marvell International Ltd. | Iterative Reed-Solomon error-correction decoding |
US7844877B2 (en) * | 2005-11-15 | 2010-11-30 | Ramot At Tel Aviv University Ltd. | Method and device for multi phase error-correction |
JP4571580B2 (ja) * | 2005-12-15 | 2010-10-27 | 富士通株式会社 | 復号器 |
US20070180186A1 (en) * | 2006-01-27 | 2007-08-02 | Cornwell Michael J | Non-volatile memory management |
US7861122B2 (en) * | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
WO2007089165A1 (en) | 2006-01-31 | 2007-08-09 | Intel Corporation | Iterative decoding of concatenated low-density parity-check codes |
JP4662278B2 (ja) * | 2006-04-28 | 2011-03-30 | 富士通株式会社 | エラー訂正装置、符号器、復号器、方法及び情報記憶装置 |
US8069397B2 (en) * | 2006-07-10 | 2011-11-29 | Broadcom Corporation | Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive |
US7831895B2 (en) * | 2006-07-25 | 2010-11-09 | Communications Coding Corporation | Universal error control coding system for digital communication and data storage systems |
US8171380B2 (en) * | 2006-10-10 | 2012-05-01 | Marvell World Trade Ltd. | Adaptive systems and methods for storing and retrieving data to and from memory cells |
US7827464B2 (en) * | 2006-11-15 | 2010-11-02 | Seagate Technology Llc | Iterative read channel architectures with coded modulation |
US8583981B2 (en) * | 2006-12-29 | 2013-11-12 | Marvell World Trade Ltd. | Concatenated codes for holographic storage |
US8037394B2 (en) * | 2007-06-29 | 2011-10-11 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for generating bit reliability information in a post-processor using an error correction constraint |
US8127209B1 (en) * | 2007-07-30 | 2012-02-28 | Marvell International Ltd. | QC-LDPC decoder with list-syndrome decoding |
US8370711B2 (en) * | 2008-06-23 | 2013-02-05 | Ramot At Tel Aviv University Ltd. | Interruption criteria for block decoding |
US7817363B2 (en) * | 2008-11-17 | 2010-10-19 | Agere Systems Inc. | Single-pass defect detection for hard-disk drive systems |
-
2009
- 2009-03-11 US US12/402,359 patent/US8413029B2/en not_active Expired - Fee Related
- 2009-03-13 EP EP09838525A patent/EP2387827A4/en not_active Withdrawn
- 2009-03-13 WO PCT/US2009/037088 patent/WO2010082946A1/en active Application Filing
- 2009-03-13 KR KR1020117012128A patent/KR101337736B1/ko not_active IP Right Cessation
- 2009-03-13 CN CN2009801476440A patent/CN102227876A/zh active Pending
- 2009-03-13 JP JP2011546238A patent/JP5297536B2/ja not_active Expired - Fee Related
- 2009-04-08 TW TW098111702A patent/TWI427626B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201029000A (en) | 2010-08-01 |
EP2387827A1 (en) | 2011-11-23 |
JP5297536B2 (ja) | 2013-09-25 |
EP2387827A4 (en) | 2012-11-07 |
KR101337736B1 (ko) | 2013-12-06 |
JP2012515410A (ja) | 2012-07-05 |
WO2010082946A1 (en) | 2010-07-22 |
CN102227876A (zh) | 2011-10-26 |
TWI427626B (zh) | 2014-02-21 |
US20100185906A1 (en) | 2010-07-22 |
US8413029B2 (en) | 2013-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101337736B1 (ko) | 에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템 | |
US8850295B2 (en) | Symbol flipping data processor | |
US6694477B1 (en) | Communication channel employing an ECC decoder enhanced by likely error events of a trellis sequence detector | |
US7849388B2 (en) | Signal decoding method and device, and signal storage system | |
US8341506B2 (en) | Techniques for correcting errors using iterative decoding | |
US20070061687A1 (en) | Soft decoding method and apparatus, error correction method and apparatus, and soft output method and apparatus | |
US8127216B2 (en) | Reduced state soft output processing | |
US9130589B2 (en) | Low density parity check decoder with dynamic scaling | |
US8745468B1 (en) | Iterative decoding systems using noise-biasing | |
US8020079B2 (en) | Decoder device, decoding method and magnetic disk device | |
US8797668B1 (en) | Systems and methods for penalty based multi-variant encoding | |
US8848305B2 (en) | Systems and methods for hard decision based ITI cancellation | |
US20030101410A1 (en) | Method and apparatus for detecting and correcting errors in a magnetic recording channel of a mass storage system | |
US8824076B2 (en) | Systems and methods for NPML calibration | |
US8880986B2 (en) | Systems and methods for improved data detection processing | |
EP2665190B1 (en) | Decoding of non-binary codes with symbol re-grouping | |
US8949702B2 (en) | Systems and methods for detector side trapping set mitigation | |
WO2004068491A1 (ja) | データ記録再生システム及び方法 | |
US20150067685A1 (en) | Systems and Methods for Multiple Sensor Noise Predictive Filtering | |
US8902525B1 (en) | Systems and methods for indirect parameter calibration in a data processing system | |
US8694847B2 (en) | Systems and methods for sector quality determination in a data processing system | |
US8760991B2 (en) | Systems and methods for post processing gain correction | |
US20130322578A1 (en) | Systems and Methods for Data Processing Including EET Feedback | |
JP2005108332A (ja) | 反復復号を用いたデータ再生装置及び方法 | |
JP2013120617A (ja) | 誤り率推定装置、誤り率推定方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |