KR20110118612A - 에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템 - Google Patents

에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템 Download PDF

Info

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
Application number
KR1020117012128A
Other languages
English (en)
Other versions
KR101337736B1 (ko
Inventor
리차드 라우슈메이어
홍웨이 송
Original Assignee
엘에스아이 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스아이 코포레이션 filed Critical 엘에스아이 코포레이션
Publication of KR20110118612A publication Critical patent/KR20110118612A/ko
Application granted granted Critical
Publication of KR101337736B1 publication Critical patent/KR101337736B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes 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

에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템{ERROR CORRECTION CAPABILITY ADJUSTMENT OF LDPC CODES FOR STORAGE DEVICE TESTING}
본 발명은 일반적으로 특정 테스트 조건하에서 스토리지 디바이스를 테스트하는 것에 관한 것이다. 특히, 본 발명은 스토리지 디바이스의 섹터 고장률(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는 스토리지 디바이스를 테스트하는 방법의 예시적인 흐름도이다.
도 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)

  1. 저밀도 패리티 체크 에러 정정 코드의 에러 정정 성능을 조정하기 위한 시스템(10)으로서,
    저밀도 패리티 체크 에러 정정 코드로 인코딩된 데이터를 디코딩하도록 구성된 디코더(12)와,
    상기 디코더에 통신가능하게 결합되어 상기 디코더에 의해 디코딩하기 전에 상기 데이터의 비트 값들을 추정하도록 구성된 검출기(11)를 포함하되,
    상기 검출기는 상기 저밀도 패리티 체크 에러 정정 코드의 상기 에러 정정 성능을 감소시키기 위해 비트 값 추정에 기초하여 비트 값들을 변경하도록 더 구성되는
    시스템.
  2. 제 1 항에 있어서,
    상기 검출기는 소프트 출력 비터비 알고리즘(soft output Viterbi algorithm)을 포함하는
    시스템.

  3. 제 1 항에 있어서,
    상기 디코더 및 상기 검출기는 디스크 드라이브(70)의 판독 모듈(74) 내에 구성되며, 상기 감소된 에러 정정 성능은 상기 디스크 드라이브의 제조 공정 시의 섹터 고장률과 연관되는
    시스템.
  4. 제 1 항에 있어서,
    상기 검출기는 상기 비트 값 추정 동안에 로그 우도비(log likelihood ratio)를 설정하도록 더 구성되는
    시스템.
  5. 제 1 항에 있어서,
    상기 디코더는 상기 데이터를 디코딩하는 것에 응답하여 상기 스토리지 디바이스의 섹터 고장률을 분석하도록 더 구성되는
    시스템.

  6. 제 1 항에 있어서,
    상기 검출기는 상기 데이터 내에서 사전결정된 비트 간격으로 상기 비트 값들을 추정하도록 더 구성되는
    시스템.
  7. 디스크 드라이브를 테스트하는 방법(80)으로서,
    저밀도 패리티 체크 코드로 데이터를 인코딩하는 단계(81)와,
    상기 인코딩된 데이터를 상기 디스크 드라이브에 저장하는 단계(82)와,
    상기 디스크 드라이브로부터 상기 인코딩된 데이터를 판독하는 단계(83)와,
    상기 인코딩된 데이터의 비트 값들을 추정하는 단계(84)와,
    비트 값 추정에 기초하여 상기 인코딩된 데이터의 상기 비트 값들의 일부를 변경하는 단계(85)와,
    상기 디스크 드라이브의 섹터 고장률을 결정하기 위해 상기 비트 값들의 상기 일부를 변경하는 것에 응답하여 상기 저밀도 패리티 체크 코드에 따라 상기 인코딩된 데이터를 디코딩하는 단계(86)를 포함하는
    방법.

  8. 제 7 항에 있어서,
    상기 데이터의 비트 값들을 추정하는 단계는 상기 데이터의 다수의 반복 비트들(a recurring number of bits)에 대해 상기 추정을 수행하거나 추정된 비트들에 대해 소프트 출력 비터비 알고리즘을 수행하여 로그 우도비를 설정하는 단계를 포함하는
    방법.
  9. 제 7 항에 있어서,
    상기 데이터의 상기 비트 값들의 일부를 변경하는 단계는 상기 저밀도 패리티 체크 코드의 에러 정정 성능을 감소시키는 단계를 포함하되,
    상기 감소된 에러 정정 성능은 디스크 드라이브 제조 공정 시의 섹터 고장률과 연관되는
    방법.
  10. 디스크 드라이브(70)를 테스트하도록 구성된 시스템(10)으로서,
    저밀도 패리티 체크 코드로 데이터를 인코딩하고 상기 인코딩된 데이터를 상기 디스크 드라이브에 기록하도록 구성된 기록 모듈(74)과,
    상기 디스크 드라이브로부터 상기 인코딩된 데이터를 판독하고, 상기 인코딩된 데이터의 비트 값들을 추정하고 상기 비트 값 추정에 기초하여 상기 비트 값들의 일부를 변경하도록 구성된 판독 모듈(74)을 포함하되,
    상기 변경된 비트 값들은 상기 디스크 드라이브의 섹터 고장률을 결정하도록 상기 저밀도 패리티 체크 코드의 에러 정정 성능을 감소시키며,
    상기 판독 모듈은,
    상기 인코딩된 데이터를 디코딩하도록 구성된 디코더(12)와,
    상기 디코더에 통신가능하게 결합되고 소프트 출력 비터비 알고리즘을 이용하여 상기 디코더에 의해 디코딩하기 전에 상기 인코딩된 데이터의 상기 비트 값들을 추정하도록 구성된 검출기(11)를 포함하는
    시스템.
KR1020117012128A 2009-01-16 2009-03-13 에러 정정 성능 조정 시스템, 디스크 드라이브 테스트 방법 및 디스크 드라이브 테스트 시스템 KR101337736B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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