KR20130129094A - 심볼 재그룹화 디코딩 프로세싱을 위한 시스템 및 방법 - Google Patents

심볼 재그룹화 디코딩 프로세싱을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20130129094A
KR20130129094A KR1020130042546A KR20130042546A KR20130129094A KR 20130129094 A KR20130129094 A KR 20130129094A KR 1020130042546 A KR1020130042546 A KR 1020130042546A KR 20130042546 A KR20130042546 A KR 20130042546A KR 20130129094 A KR20130129094 A KR 20130129094A
Authority
KR
South Korea
Prior art keywords
data
output
circuit
algorithm
decoded output
Prior art date
Application number
KR1020130042546A
Other languages
English (en)
Other versions
KR101547858B1 (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 KR20130129094A publication Critical patent/KR20130129094A/ko
Application granted granted Critical
Publication of KR101547858B1 publication Critical patent/KR101547858B1/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
    • 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
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • 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/63Joint error correction and other techniques
    • H03M13/6343Error control coding in combination with techniques for partial response channels, e.g. recording

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 데이터 프로세싱의 부분으로서 디코더 입력의 상이한 순환 또는 수정에 데이터 디코드 알고리즘을 적용하기 위한 시스템 및 방법에 관한 것이다.

Description

심볼 재그룹화 디코딩 프로세싱을 위한 시스템 및 방법{SYSTEMS AND METHODS FOR SYMBOL RE-GROUPING DECODING PROCESSING}
본 발명은 데이터 프로세싱을 수행하기 위한 시스템 및 방법에 관한 것이고 더 구체적으로는 데이터 프로세싱의 부분으로서 디코더 입력의 상이한 순환(rotation)에 데이터 디코드 알고리즘을 적용하기 위한 시스템 및 방법에 관한 것이다.
데이터 프로세싱 회로는 종종 데이터 검출기 회로 및 데이터 디코더 회로를 포함한다. 일부 경우에 원래 기록된 데이터를 복구하기 위한 시도에서 데이터 검출기 회로와 데이터 디코더 회로 양쪽을 통해 많은 패스가 행해진다. 데이터 검출기 회로와 데이터 디코더 회로 양쪽을 통한 각각의 패스는 데이터 디코더 회로를 통한 다수의 반복을 포함할 수 있다. 일부 경우에, 데이터 디코더 및 데이터 검출기 회로를 통한 허용된 횟수의 반복은 정확한 결과를 산출할 수 없다.
따라서, 적어도 전술된 이유로, 데이터 프로세싱을 위한 향상된 시스템 및 방법을 위한 필요성이 당 기술 분야에 존재한다.
본 발명은 데이터 프로세싱을 수행하기 위한 시스템 및 방법에 관한 것이고 더 구체적으로는 데이터 프로세싱의 부분으로서 디코더 입력의 상이한 순환에 데이터 디코드 알고리즘을 적용하기 위한 시스템 및 방법에 관한 것이다.
본 발명의 다양한 실시예는 데이터 디코딩 시스템을 포함하는 데이터 프로세싱 시스템을 제공한다. 데이터 디코딩 시스템은, 제 1 수정된 출력을 산출하기 위해 제 1 수정 알고리즘을 사용하여 디코더 입력을 수정하고, 제 2 수정된 출력을 산출하기 위해 제 2 수정 알고리즘을 사용하여 디코더 입력을 수정하고, 제 1 디코딩된 출력을 산출하기 위해 데이터 디코더 회로에 의해 제 1 수정된 출력에 데이터 디코드 알고리즘을 적용하고, 제 2 디코딩된 출력을 산출하기 위해 데이터 디코더 회로에 의해 제 2 수정된 출력에 데이터 디코드 알고리즘을 적용하고, 제 2 디코딩된 출력의 제 1 특성 및 제 2 디코딩된 출력의 제 2 특성에 적어도 부분적으로 기초하여 선택된 디코딩 결과로서 제 1 디코딩된 출력 중 하나를 선택하도록 작동가능하다. 본 발명의 일부 실시예에서, 데이터 디코드 알고리즘은 저밀도 패리티 체크 알고리즘이다. 일부 경우에, 데이터 프로세싱 시스템은 저장 디바이스 또는 수신 디바이스의 부분으로서 구현된다. 하나 이상의 경우에, 데이터 프로세싱 시스템은 집적 회로의 부분으로서 구현된다.
전술된 실시예의 일부 예시에서, 제 1 특성은 제 1 디코딩된 출력에 대응하는 비충족 체크의 제 1 개수이고, 제 2 특성은 제 2 디코딩된 출력에 대응하는 비충족 체크의 제 2 개수이다. 이러한 일부 예시에서, 데이터 디코딩 시스템은, 제 1 디코딩된 출력에 대응하는 비충족 체크의 제 1 개수를 판정하고, 제 2 디코딩된 출력에 대응하는 비충족 체크의 제 2 개수를 판정한다. 전술된 예시의 일부 경우에, 제 1 디코딩된 출력 및 제 2 디코딩된 출력 중 하나를 선택하는 것은, 비충족 체크의 제 1 개수가 비충족 체크의 제 2 개수 보다 적을 때 선택된 디코딩 결과로서 제 1 디코딩된 출력을 선택하는 것과, 비충족 체크의 제 2 개수가 비충족 체크의 제 1 개수 보다 적을 때 선택된 디코딩 결과로서 제 2 디코딩된 출력을 선택하는 것을 포함한다.
전술된 실시예의 다양한 예시에서, 데이터 디코딩 시스템은, 제 3 디코딩된 출력을 산출하기 위해 선택된 디코딩 결과에 의해 가이딩된 제 1 수정된 출력에 데이터 디코드 알고리즘을 재적용하고, 제 4 디코딩된 출력을 산출하기 위해 선택된 디코딩 결과에 의해 가이딩된 제 2 수정된 출력에 데이터 디코드 알고리즘을 재적용하도록 더 작동가능하다.
전술된 실시예의 다양한 예시에서, 디코더 입력은 다수의 비이진 심볼(non-binary symbols)을 포함한다. 특정 경우에, 비이진 심볼은 각각 4 비트를 포함한다. 다양한 경우에, 비이진 심볼의 비트는 컬럼(column)으로 배열되고, 제 1 수정된 출력의 비이진 심볼의 각각은 연속적인 컬럼으로부터의 비트를 포함한다. 하나 이상의 경우에, 제 2 수정된 출력의 비이진 심볼 중 적어도 하나는 비연속적인 컬럼으로부터의 비트를 포함한다. 전술된 실시예의 하나 이상의 예시에서, 제 1 수정 알고리즘은 패스 쓰루 알고리즘(a pass through algorithm)이어서 제 1 수정된 출력이 디코더 입력과 동일하다. 일부 이러한 예시에서, 제 1 수정 알고리즘은 순환 알고리즘이어서 제 2 수정된 출력은 디코더 입력의 순환된 버전(a rotated version)이다.
본 발명의 다른 실시예는 수정된 출력을 산출하기 위해 수정 알고리즘을 사용하여 디코더 입력을 수정하는 단계와, 제 1 디코딩된 출력을 산출하기 위해 데이터 디코더 회로에 의해 디코더 입력에 데이터 디코드 알고리즘을 적용하는 단계와, 제 2 디코딩된 출력을 산출하기 위해 데이터 디코더 회로에 의해 데이터 디코드 알고리즘을 수정된 출력에 적용하는 단계와, 제 1 디코딩된 출력에서의 비충족 체크의 제 1 개수 및 제 2 디코딩된 출력에서의 비충족 체크의 제 2 개수에 적어도 부분적으로 기초하여 선택된 디코딩 결과로서 제 1 디코딩된 출력 중 하나를 선택하는 단계를 포함하는 방법을 제공한다. 전술된 실시예의 일부 예시에서, 방법은, 제 3 디코딩된 출력을 산출하기 위해 선택된 디코딩 결과에 의해 가이딩된 제 1 수정된 출력에 데이터 디코드 알고리즘을 재적용하는 단계와, 제 4 디코딩된 출력을 산출하기 위해 선택된 디코딩 결과에 의해 가이딩된 제 2 수정된 출력에 데이터 디코드 알고리즘을 재적용하는 단계를 더 포함한다. 전술된 실시예의 다양한 예시에서, 방법은, 제 1 디코딩된 출력에 대응하는 비충족 체크의 제 1 개수를 판정하고, 제 2 디코딩된 출력에 대응한 비충족 체크의 제 2 개수를 판정하는 단계를 더 포함한다. 전술된 실시예의 일부 특정 예시에서, 디코더 입력은 다수의 비이진 심볼을 포함하고 비이진 심볼에서의 비트는 컬럼으로 배열된다. 일부 이러한 예시에서, 수정된 출력에서의 비이진 심볼의 각각은 비연속적인 컬럼으로부터의 비트를 포함한다.
본 요약은 본 발명의 일부 실시예의 일반적인 개요만을 제공한다. 본 발명의 많은 다른 목적, 특징, 장점 및 다른 실시예가 다음의 자세한 설명, 첨부된 청구항 및 첨부한 도면으로부터 더 완전하게 이해될 것이다.
본 발명의 다양한 실시예의 추가적인 이해는 본 명세서의 나머지 부분에서 설명된 도면을 참조함으로써 실현될 수 있다. 도면에서, 유사한 참조 번호는 유사한 컴포넌트를 지칭하기 위해 다수의 도면을 전반에서 사용된다. 일부 경우에, 소문자로 이루어진 서브라벨은 다수의 유사한 컴포넌트 중 하나를 표시하기 위해 참조 번호와 연관된다. 기존 서브 라벨에 대한 설명 없이 참조 번호에 대한 참조가 이루어질 때, 모든 이러한 다수의 유사한 컴포넌트에 대해 지칭하는 것으로 의도된다.
도 1은 본 발명의 일부 실시예에 따른 디코더 입력 순환 회로를 갖는 데이터 프로세싱 회로를 도시한다.
도 2 및 도 3은 본 발명의 다양한 실시예와 관련하여 사용될 수 있는 디코더 입력의 두 상이한 순환의 예시를 도시한다.
도 4a 내지 도 4c는 순환된 입력 디코딩 프로세싱을 위한 본 발명의 일부 실시예에 따른 방법을 도시하는 흐름도이다.
도 5는 본 발명의 하나 이상의 실시예에 따른 디코더 입력 순환 회로를 갖는 판독 채널을 포함하는 저장 디바이스를 도시한다.
도 6은 본 발명의 일부 실시예에 따른 디코더 입력 순환 회로를 갖는 수신기를 포함하는 데이터 전송 디바이스를 도시한다.
본 발명은 데이터 프로세싱을 수행하기 위한 시스템 및 방법에 관한 것이고 더 구체적으로는 데이터 프로세싱의 부분으로서 디코더 입력의 상이한 순환에 데이터 디코드 알고리즘을 적용하기 위한 시스템 및 방법에 관한 것이다.
본 발명의 다양한 실시예는 지연 프로세싱이 필요할 때 데이터 디코딩 프로세스를 수정하는 것을 제공한다. 이러한 지연 프로세싱은 데이터 프로세싱 회로의 프로세싱 요구사항에서의 감소가 발생할 때 수행되어서, 이전에 비수렴한 데이터 세트(non-converging datasets)에 대해 사용될 그밖에 비사용된 프로세싱 리소스의 적용을 가능하게 한다. 예를 들어, 데이터 디코딩 프로세스에 도입될 데이터의 볼륨 상의 감소를 야기하는 데이터 전송 디바이스의 전송의 종료 또는 저장 매체로부터의 데이터에 액세스할 때 트랙에서의 변화에 기인하여, 데이터 프로세싱 회로의 프로세싱 요구사항에서 이러한 감소가 발생할 수 있다. 본원에서 제공된 개시에 기초하여, 당업자는 데이터 프로세싱 회로의 불충분한 사용(under-use)을 야기할 수 있는 다양한 시나리오를 인식할 것이다. 본 명세서에서 논의된 수정된 디코딩 프로세스는 불충분한 사용 역시 포함하지 않는 상황에서 적용될 수 있음에 또한 유의해야할 것이다.
본 발명의 특정 실시예에서, 데이터 프로세싱은 프로세싱이 수렴(정확한 결과에 도착)하거나 타임아웃 조건이 만족할 때까지 주어진 데이터 세트에 적용된다. 타임아웃 조건이 만족하는 경우에, 데이터 세트는 추가적인 프로세싱 타임 및/또는 리소스가 사용가능한 추후 시간까지 유지될 수 있다. 이 추가적인 프로세싱 타임은 트랙 변화가 될 수 있지만, 이에 제한되지 않는다. 추가적인 프로세싱 시간이 사용가능하면, 제 1 디코딩된 출력을 산출하기 위해 제 1 순환에서 데이터 디코딩 알고리즘이 디코더 입력에 적용된다. 데이터 디코딩 알고리즘은 또한 제 2 디코딩된 출력을 산출하기 위해 제 2 순환에서 디코더 입력에 적용된다. 일례로서, 제 1 순환에서의 디코더 입력은 다음의 수학식에 설명되는 요소를 포함하는 각각의 비이진 심볼을 갖는 비이진 디코더 입력이 될 수 있다.
Figure pat00001
여기서 로우(row) 및 컬럼은 코드워드가 배열되는 어레이에 상대적인 심볼의 요소의 위치를 나타낸다. 유사하게, 제 2 순환에서의 디코더 입력은 이전에, 단지 상이하게 그룹화된, 디코더 입력이다. 예를 들어, 제 2 순환에서의 디코더 입력은 다음의 수학식에 의해 설명되는 요소를 포함하는 각각의 비이진 심볼을 갖는 비이진 디코더 입력이 될 수 있다.
Figure pat00002
전술된 수학식이 4 비트 심볼을 포함하였지만, 다른 비트의 수가 심볼 크기에 대해 사용될 수 있음에 유의해야한다. 제 1 디코더 출력에 남아있는 비충족 체크의 개수는 제 2 디코더 출력에 남아있는 개수와 비교된다. 제 2 디코더 출력에 남아있는 비충족 체크의 개수가 제 1 디코더 출력에 남아있는 개수보다 더 큰 경우에, 제 1 디코더 출력은 미래 프로세싱을 위해 선택된다. 그렇지 않다면, 제 2 디코더 출력이 선택된다. 본원에서 사용된 바와 같이, "순환시키다(rotate)", "순환하는(rotating)" 또는 "순환(rotation)"이라는 용어는 데이터 세트의 임의의 재배열을 의미하는 이의 가장 넓은 의미로 사용된다. 일례로서, 이러한 순환시키는 것 또는 순환은 재그룹화 심볼을 포함한다. 일 특정 경우에, 두 상이한 심볼 그룹화―하나는 연속적인 컬럼에 걸친 표준 그룹화를 사용하는 것이고, 다른 하나는 제 1 심볼이 하나의 컬럼으로부터의 일부 비트 및 비연속적인 심볼로부터의 일부 비트를 포함하는 것―가 사용된다. 본원에서 제공된 개시에 기초하여, 당업자는 본 명세서의 범위 내에서 고려되는 순환이 될 수 있는 다양한 수정을 인식할 것이다.
도 1을 참조하면, 본 발명의 일부 실시예에 따른 디코더 입력 순환 회로를 갖는 데이터 프로세싱 회로(100)가 도시된다. 데이터 프로세싱 회로(100)는 아날로그 입력(108)을 수신하는 아날로그 프론트 엔드 회로(110)를 포함한다. 아날로그 프론트 엔드 회로(110)는 아날로그 입력(108)을 프로세싱하고 아날로그 디지털 변환기 회로(115)에 프로세싱된 아날로그 신호(112)를 제공한다. 아날로그 프론트 엔드 회로(110)는 당 기술분야에서 알려진 것과 같은 아날로그 필터 및 증폭기 회로를 포함할 수 있지만, 이제 제한되지 않는다. 본원에서 제공된 개시에 기초하여, 당업자는 아날로그 프론트 엔드 회로(110)의 부분으로서 포함될 수 있는 다양한 회로를 인식할 것이다. 일부 경우에, 아날로그 입력(108)은 저장 매체(도시되지 않음)와 관련하여 배치된 판독/기록 헤드 어셈블리(도시되지 않음)로부터 도출된다. 다른 경우에, 아날로그 입력(108)은 전송 매체(도시되지 않음)로부터 신호를 수신하도록 작동가능한 수신기 회로(도시되지 않음)로부터 도출된다. 전송 매체는 유선 또는 무선이 될 수 있다. 본원에서 제공된 개시에 기초하여, 당업자는 아날로그 입력(108)이 도출될 수 있는 다양한 소스를 인식할 것이다.
아날로그 디지털 변환기 회로(115)는 프로세싱된 아날로그 신호(112)를 대응하는 일련의 디지털 샘플(117)로 변환한다. 아날로그 디지털 변환기 회로(115)는 아날로그 입력 신호에 대응하는 디지털 샘플을 생성하는 것이 가능한 당 기술분야에서 알려진 임의의 회로가 될 수 있다. 본원에서 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 아날로그 디지털 변환기 회로를 인식할 것이다. 디지털 샘플(117)은 등화기 회로(120)에 제공된다. 등화기 회로(120)는 등화된 출력(122)을 산출하기 위해 디지털 샘플(117)에 등화 알고리즘을 적용한다. 본 발명의 일부 실시예에서, 등화기 회로(120)는 당 기술분야에서 알려진 것과 같은 디지털 유한 임펄스 응답 필터 회로이다.
등화된 출력(122)은 데이터 검출기 회로(125)와 샘플 버퍼 회로(175) 모두에 제공된다. 샘플 버퍼 회로(175)는 데이터 검출기 회로(125)를 통해 후속 반복에서 사용하기 위해 등화된 출력(122)을 버퍼링된 데이터(177)로서 저장한다. 데이터 검출기 회로(125)는 검출된 출력(127)을 생성하는 것이 가능한 당 기술 분야에서 알려진 임의의 데이터 검출기 회로가 될 수 있다. 일부 예시로서, 데이터 검출기 회로(125)는 당 기술분야에서 알려진 것과 같은 비터비 알고리즘 데이터 검출기 회로 또는 최대 사후 확률 데이터 검출기 회로(a maximum a posteriori data detector circuit)가 될 수 있지만 이에 제한되지 않는다. 그 중에서도, 일반적인 구문 "비터비 데이터 검출 알고리즘" 또는 "비터비 알고리즘 데이터 검출기 회로"는 양방향 비터비 검출 알고리즘 또는 양방향 비터비 알고리즘 검출기 회로를 포함하지만, 이에 제한되지 않는, 임의의 비터비 검출 알고리즘 또는 비터비 알고리즘 검출기 회로 또는 이들의 변형을 의미하는 가장 넓은 의미로 사용된다. 또한, 일반적인 구문 "최대 사후 확률 데이터 검출 알고리즘" 또는 "최대 사후 확률 데이터 검출기 회로"는 간이 최대 사후 확률 데이터 검출 알고리즘 및 최대 로그 최대 사후 확률 데이터 검출 알고리즘 또는 대응하는 검출기 회로를 포함하지만, 이에 제한되지 않는, 임의의 최대 사후 확률 검출 알고리즘 또는 검출기 회로 또는 이들의 변형을 의미하는 가장 넓은 의미로 사용된다. 본원에서 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 데이터 검출기 회로를 인식할 것이다. 검출된 출력(127)은 경판정 및 연판정 모두를 포함할 수 있다. "경판정" 및 "연판정"이라는 용어는 이들의 가장 넓은 의미로 사용된다. 특히, "경판정"은 예상된 원래 입력 값(예를 들어, 이진 '1' 또는 '0', 또는 비이진 디지털 값)을 나타내는 출력이고 "연판정"은 대응하는 경판정이 정확한 가능성을 나타낸다. 본원에서 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 경판정 및 연판정을 인식할 것이다.
검출된 출력(127)은 데이터 검출기 회로(125)와 데이터 디코딩 시스템(189) 사이에서 통과된 데이터를 버퍼링하도록 동작하는 중앙 큐 메모리 회로(160)에 제공된다. 일부 경우에, 중앙 큐 메모리 회로(160)는 당 기술 분야에서 알려진 인터리빙(즉, 데이터 셔플링) 및 디인터리빙(즉, 데이터 언셔플링) 회로를 포함한다. 데이터 디코딩 시스템(189)이 사용가능하게 될 때, 데이터 디코딩 시스템(189)은 중앙 큐 메모리 회로(160)로부터 검출된 출력(127)에 디코더 입력(156)으로서 액세스한다. 데이터 디코딩 시스템(189)은 디코더 입력(156)을 그룹화 회로(194) 및 그룹화 회로(197)에 제공한다.
그룹화 회로(194)는 디코더 입력(156)의 제 1 순환인 제 1 순환된 디코더 입력(183)을 제공한다. 본 발명의 일 특정 실시예에서, 제 1 순환은 비순환이다. 이러한 경우에, 그룹화 회로(194)는 디코더 입력(156)을 제 1 순환된 디코더 입력(183)으로서 제공하는 패스 쓰루 회로이다. 순환 없는 디코더 입력의 일례가 도 2a 내지 도 2c에서 설명되며, 여기서 데이터 디코더 회로에 도입되는 심볼은 다음의 수학식에 따라 설명된다.
Figure pat00003
여기서 로우 및 컬럼은 코드워드가 배열되는 어레이에 상대적인 심볼의 요소의 위치를 나타낸다. 다시, 전술된 수학식은 4 비트 심볼을 포함하였지만, 다른 비트의 개수가 심볼 크기에 대해 사용될 수 있다는 것에 유의해야한다. 이러한 비순환된 디코더 입력의 특성은 제 1 심볼이 연속적인 컬럼으로부터의 요소를 로우에서 포함한다는 것이다.
그룹화 회로(197)는 디코더 입력(156)의 제 2 순환인 제 2 순환된 디코더 입력(181)을 제공한다. 본 발명의 일 특정 실시예에서, 제 2 순환은 오프셋 순환이다. 이러한 오프셋 순환을 갖는 디코더 입력의 일례가 도 3a 내지 도 3d에서 설명되며, 여기서 데이터 디코더 회로에 도입되는 심볼은 다음의 수학식에 따라 설명된다.
Figure pat00004
다시, 전술된 수학식은 4 비트 심볼을 포함하였지만, 다른 비트의 개수가 심볼 크기에 대해 사용될 수 있다는 것에 유의해야한다. 이러한 순환된 디코더 입력의 특성은 제 1 심볼이 순환 또는 오프셋으로부터 초래한 비연속적인 컬럼으로부터의 요소를 로우에서 포함한다는 것이다. 이 오프셋은 주어진 로우에서 후속 심볼에 걸쳐 계속된다.
지연 프로세싱 신호(195)의 디어써션(de-assertion)에 의해 나타난 바와 같은 표준 프로세싱 동안, 그룹 선택기 회로(198)는 제 1 순환된 디코더 입력(183)을 디코더 입력(187)으로서 선택한다. 데이터 프로세싱 제어기 회로(190)은 지연 프로세싱 입력(192)이 디어서팅될 때마다 지연 프로세싱 신호(195)를 디어서팅하고, 지연 프로세싱 입력(192)의 어써션 시에 지연 프로세싱 신호(195)를 어서팅하도록 작동가능하다.
데이터 디코더 회로(196)는 디코딩된 출력(152)을 산출하기 위해 데이터 디코딩 알고리즘을 디코더 입력(187)에 적용한다. 검출된 출력(127)과 유사하게, 디코딩된 출력(152)은 경판정 및 연판정 모두를 포함할 수 있다. 예를 들어, 데이터 디코더 회로(196)는 수신된 입력에 디코딩 알고리즘을 적용하는 것이 가능한 당 기술 분야에서 알려진 임의의 데이터 디코더 회로가 될 수 있다. 데이터 디코더 회로(196)는 당 기술분야에서 알려진 저밀도 패리티 체크(LDPC) 디코더 회로 또는 리드 솔로몬 디코더 회로(a Reed Solomon decoder circuit)가 될 수 있지만, 이에 제한되지 않는다. 본원에서 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 데이터 디코더 회로를 인식할 것이다. 원본 데이터가 복구되거나(즉, 데이터 디코딩 알고리즘이 수렴) 타임아웃 조건이 발생하는 경우에, 디코딩된 출력(152)은 경판정 출력 회로(180)에 포함된 메모리에 저장된다. 결국, 경판정 출력 회로(180)는 수렴된 디코딩된 출력(152)을 데이터 출력(184)으로서 수신자(도시되지 않음)에게 제공한다. 수신자는, 예를 들어, 프로세싱된 데이터 세트를 수신하도록 작동가능한 인터페이스 회로가 될 수 있다. 본원에서 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 수신자를 인식할 것이다. 타임아웃 조건 이전에 원본 데이터가 복구되지 않은 경우에(즉, 데이터 디코딩 알고리즘이 수렴하는데 실패), 디코딩된 출력(152)은 이하에서 더 특별하게 논의되는 바와 같이 데이터가 사용불가능함을 나타내고, 데이터 출력(184)은 사용불가능한 것으로서 유사하게 식별된다.
데이터 검출기 회로(125) 및 데이터 디코더 회로(196)의 조합을 통한 하나 이상의 반복(one or more iterations)은 원래 기록된 데이터 세트에 대해 수렴하기 위한 노력으로 이루어질 수 있다. 데이터 검출기 회로 및 데이터 디코더 회로 모두를 통한 프로세싱은 "글로벌 반복"으로서 지칭된다. 대조적으로, 데이터 디코더 회로를 통한 각각의 패스는 "로컬 반복으로서 지칭된다. 제 1 글로벌 반복에 대해, 데이터 검출기 회로(125)는 디코딩된 출력으로부터의 가이드 없이 데이터 검출 알고리즘을 등화된 출력(122)에 적용한다. 후속 글로벌 반복에 대해, 데이터 검출기 회로(125)는 디코딩된 출력(152)에 의해 가이딩되는 버퍼링된 데이터(177)에 데이터 검출 알고리즘을 적용한다. 디코딩된 출력(152)은 디코더 출력(154)으로서 중앙 큐 메모리 회로(160)에 저장되고, 중앙 큐 메모리 회로(160)로부터 검출기 입력(129)으로서 제공된다.
각각의 글로벌 반복 동안 데이터 디코더 회로(196)가 디코더 입력(156)에 대한 데이터 디코딩 알고리즘의 적용을 포함하는 하나 이상의 로컬 반복을 행하는 것이 가능하다. 제 1 로컬 반복 동안, 데이터 디코더 회로(196)는 디코딩된 출력(152)으로부터의 가이드 없이 데이터 디코더 알고리즘을 적용한다. 후속 로컬 반복 동안, 데이터 디코더 회로(196)는 이전 디코딩된 출력(152)에 의해 가이딩되는 디코더 입력(156)에 데이터 디코딩 알고리즘을 적용한다. 허용된 로컬 반복의 수는 예를 들어, 10이다. 본원에서 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예에 따라 허용될 수 있는 다양한 상이한 수의 로컬 반복을 인식할 것이다. 데이터 디코더 회로(196)를 통한 허용된 로컬 반복의 수가 초과하지만, 데이터 세트의 표준 프로세싱 동안 적어도 하나의 추가적인 글로벌 반복이 허용된다는 것이 결정된 경우, 디코딩된 출력(152)이 디코딩된 출력(154)으로서 중앙 큐 메모리 회로(160)에 다시 제공된다. 데이터 검출기 회로(125)가 추가 프로세싱을 수행하는 것이 가능하게 될 때까지 디코딩된 출력(154)이 중앙 큐 메모리 회로(160)에서 유지된다.
대조적으로, 데이터 디코더 회로(196)를 통한 허용된 로컬 반복의 수가 초과하고, 데이터 세트에 대해 글로벌 반복의 허용가능한 수를 초과하거나 및/또는 타임아웃 또는 메모리 사용이 특정 데이터 세트의 프로세싱의 종료를 필요로 한다고 판정되는 경우, 데이터 세트의 표준 프로세싱이 종결되고 디코딩된 출력은 출력이 사용불가능하다는 표시를 갖는 데이터 출력(152)으로서 제공된다. 데이터 세트의 표준 프로세싱이 종결되는 이러한 경우에, 비수렴된 데이터 세트(즉, 데이터 출력(152)으로서 제공됨)는 경판정 출력 회로(180)의 메모리에 저장되고, 지연 프로세싱 입력(192)의 어써션에 의한 지연 프로세싱의 표시를 기다리는 적어도 정의된 기간 동안 비수렴된 데이터 세트에 대응하는 샘플 데이터(즉, 샘플 버퍼 회로(175)에서 유지됨)가 샘플 버퍼 회로(175)에서 유지된다. 또한, 비수렴된 데이터 세트 및 대응하는 샘플 데이터는 보유 신호(191)의 어써션에 의해 나타나는 지연 프로세싱에 대해 식별된다. 다시, 지연 프로세싱은 지연 프로세싱 입력(192)의 어써션에 의해 시그널링된다.
지연 프로세싱 입력(192)의 어써션에 의해 나타난 지연 프로세싱 동안, 샘플 버퍼 회로(175)에 남아있는 이전에 비수렴된 데이터 세트에 대응하는 샘플 데이터 세트 중 하나는 데이터 프로세싱 제어기 회로(190)로부터의 제어 출력(176)에 의해 지시된 것과 같이 액세스된다. 또한, 데이터 프로세싱 제어기 회로(190)는 데이터 디코딩 시스템(189) 및 경판정 출력 회로(180)에 지연 프로세싱 신호(195)를 어써팅한다. 데이터 검출기 회로(125)는 검출된 출력(127)을 산출하기 위해 제어 출력(176)에 의해 지시된 것과 같이 액세스되고 지연 프로세싱에 대해 식별되는 샘플 세트에 데이터 검출 알고리즘을 재적용한다. 검출된 출력(127)은 중앙 큐 메모리 회로(160)에 저장된다.
데이터 디코딩 시스템(189)이 사용가능하게 되면, 데이터 디코딩 시스템(189)은 디코더 입력(156)으로서 중앙 큐 메모리 회로(160)로부터 검출된 출력(127)에 액세스한다. 또한, 데이터 디코딩 시스템(189)은 경판정 출력 회로(180)의 메모리에 이전에 저장된 대응하는 디코딩된 출력(182)에 액세스한다. 제 1 패스 상에서, 그룹 선택기 회로(198)는 제 1 순환된 디코더 입력(183)을 디코더 입력(187)으로서 선택하고, 데이터 디코더 회로(196)는 중앙 메모리 큐(160)에 디코더 입력(154)으로서 다시 저장되는 제 1 디코딩된 출력을 산출하기 위해 데이터 디코드 알고리즘을 디코더 입력(187)에 적용한다. 제 2 패스 상에서, 그룹 선택기 회로(198)는 제 2 순환된 디코더 입력(181)을 디코더 입력(187)으로서 선택하고, 데이터 디코더 회로(196)는 중앙 메모리 큐(160)에 디코더 입력(154)으로서 다시 저장되는 제 2 디코딩된 출력을 산출하기 위해 데이터 디코드 알고리즘을 디코더 입력(187)에 적용한다.
데이터 디코딩 시스템(189)은 또한 제 1 디코딩된 출력에서의 비충족 체크의 제 1 개수 및 제 2 디코딩된 출력에서의 비충족 체크의 제 2 개수를 판정한다. 데이터 디코딩 시스템(189)은 또한 제 1 디코딩된 출력에서의 비충족 체크의 제 1 개수 및 제 2 디코딩된 출력에서의 비충족 체크의 제 2 개수를 비교한다. 비순환된 디코더 입력(183)과 연관된 분만족 체크의 제 1 개수가 순환된 디코더 입력(181)과 연관된 비충족 체크의 제 2 개수보다 적은 경우, 제 1 디코딩된 출력이 미래 데이터 검출 및/또는 데이터 디코딩을 가이딩하는 것에서 사용하기 위해 보유된다. 그렇지 않으면, 제 2 디코딩된 출력은 미래 데이터 검출 및/또는 데이터 디코딩을 가이딩하는 것에서 사용하기 위해 보유된다.
데이터 디코더 회로(196)를 통한 다른 로컬 반복이 허용되는 경우에, 비순환된 디코더 입력(183) 및 순환된 디코더 입력(181)에 데이터 디코드 알고리즘을 적용하는 전술된 프로세스는 보유된 데이터 디코드 결과에 의해 가이딩된다. 제 1 디코딩된 출력 또는 제 2 디코딩된 출력 중 하나가 수렴되거나, 현재 글로벌 반복에 대한 최대 수의 로컬 반복이 완료되거나 타임아웃 조건이 충족될 때까지 이 프로세스가 반복된다. 타임아웃 조건이 충족되는 경우에, 에러가 리포팅된다. 최대 수의 글로벌 반복이 소진(exhausted)되면 에러 조건이 충족될 수 있다. 본원에서 제공된 개시에 기초하여, 당업자는 타임아웃 조건이 충족되는 것으로서 간주될 수 있는 다양한 다른 환경을 인식할 것이다. 최대 수의 로컬 반복이 충족되는 경우에, 데이터 검출 알고리즘이 보유된 결과에 의해 가이딩되는 샘플 버퍼 회로(175)로부터의 데이터 입력에 적용되고, 디코딩의 프로세스가 다시 시작된다. 제 1 디코딩된 출력 또는 제 2 디코딩된 출력 중 하나가 수렴하는 경우에, 수렴된 결과가 데이터 출력으로서 제공된다.
도 2a 내지 도 2c를 참조하면, 본 발명의 다양한 실시예와 관련하여 사용될 수 있는 비순환된 디코더 입력의 일례가 도시된다. 도 2a는 검출된 출력으로부터 도출되는 예시의 데이터 세트에 대응하는 어레이(200)를 그래픽으로 도시한다. 도시된 바와 같이, 어레이(200)는 10 로우 및 18 컬럼을 갖는 2차원이다. 비순환된 디코더 입력을 나타내는 어레이(210)에서 도시된 바와 같이, 어레이 200에 나타난 데이터 세트는 컬럼 번호(SymA-SymI) 및 로우 번호(Sym1-Sym5)에 의해 지정된 4 비트 심볼로 조직된다. 4 비트 심볼의 각각은 다음의 수학식에 따라 설명된다.
Figure pat00005
여기서 로우 및 컬럼은 코드워드가 배열되는 어레이에 상대적인 심볼의 요소의 위치를 나타낸다. 다시, 전술된 수학식 및 도면은 4 비트 심볼로 지향되지만, 다른 비트의 개수가 심볼 크기에 대해 사용될 수 있다는 것에 유의해야한다. 이러한 비순환된 디코더 입력의 특성은 로우에서 제 1 심볼이 연속적인 컬럼(Sym B로서 지정되는 컬럼 A, B)으로부터의 요소를 포함한다는 것이다. 이 정렬은 다음의 연속적인 컬럼으로부터 인출되는 다음 심볼을 갖는 로우를 거쳐 계속된다(예를 들어, Sym B로서 지정된 컬럼 C, D; Sym C로서 지정된 컬럼 E, F; Sym D로서 지정된 컬럼 G, H; Sym E로서 지정된 컬럼 I, J; Sym F로서 지정된 컬럼 K, L; Sym G로서 지정된 컬럼 M, N; Sym H로서 지정된 컬럼 O, P; Sym I로서 지정된 컬럼 Q, R). 이들 심볼은 도 2c에서 도시된 것과 같은 데이터 디코더 회로에 디코더 입력(220)으로서 연속으로 제공된다.
도 3a 내지 도 3d를 참조하면, 본 발명의 다양한 실시예와 관련하여 사용될 수 있는 순환된 디코더 입력의 일례가 도시된다. 도 3a는 위에서 논의된 도 2a에서 도시된 것과 동일한 검출된 출력으로부터 도출되는 예시의 데이터 세트에 대응하는 어레이(200)를 그래픽으로 도시한다. 다시, 어레이(200)는 10 로우 및 18 컬럼을 갖는 2차원이다. 순환된 디코더 입력을 나타내는 어레이(310)에서 도시된 바와 같이, 어레이 200에 나타난 데이터 세트는 컬럼 번호(SymA-SymI 및 X) 및 로우 번호(Sym1-Sym5)에 의해 지정된 4 비트 심볼로 조직된다. 4 비트 심볼의 각각은 다음의 수학식에 따라 설명된다.
Figure pat00006
다시, 전술된 수학식 및 도면은 4 비트 심볼로 지향되지만, 다른 비트의 개수가 심볼 크기에 대해 사용될 수 있다는 것에 유의해야한다. 이러한 비순환된 디코더 입력의 특성은 로우에서 제 1 심볼이 비연속적인 컬럼(Sym A로서 지정되는 컬럼 R, A)으로부터의 요소를 포함한다는 것이다. 특히, X로서 식별된 마지막 컬럼은 화살표 315에 의해 나타낸 것과 같은 제 1 컬럼으로서 사용되고, 모든 다른 컬럼은 하나씩 오른쪽으로 이동된다. 이 정렬은 다음의 연속적인 컬럼으로부터 인출되는 다음 심볼을 갖는 로우를 거쳐 계속된다(예를 들어, Sym B로서 지정된 컬럼 B, C; Sym C로서 지정된 컬럼 D, E; Sym D로서 지정된 컬럼 F, G; Sym E로서 지정된 컬럼 H, I; Sym F로서 지정된 컬럼 J, K; Sym G로서 지정된 컬럼 L, M; Sym H로서 지정된 컬럼 N, O; Sym I로서 지정된 컬럼 P, Q). 도 3c는 Sym A에 포함될 제 1 컬럼에 대한 마지막 컬럼의 순환을 갖는 데이터 세트(320)를 도시한다. 데이터 세트(320)에서 조직된 것과 같은 심볼은 순환된 디코더 입력을 나타낸다. 데이터 세트(320)의 심볼은 도 3d에서 도시된 것과 같은 데이터 디코더 회로에 디코더 입력(330)으로서 연속으로 제공된다.
도 4a 내지 도 4c를 참조하면, 흐름도(400, 445, 470)는 순환된 입력 디코딩 프로세싱을 위한 본 발명의 일부 실시예에 따른 방법을 도시하는 흐름도이다. 도 4a 및 다음의 흐름도 400을 참조하면, 아날로그 입력이 수신된다(블록 405). 아날로그 입력은 저장 매체 또는 데이터 전송 채널로부터 도출될 수 있다. 본원에서 제공된 개시에 기초하여, 당업자는 다양한 소스의 아날로그 입력을 인식할 것이다. 아날로그 입력은 일련의 디지털 샘플로 변환된다(블록 410). 이 변환은 당 기술 분야에서 알려진 것과 같은 아날로그 디지털 변환기 회로 또는 시스템을 사용하여 수행될 수 있다. 아날로그 신호를 수신된 아날로그 신호를 표현하는 일련의 디지털 값으로 변환하는 것이 가능한 당 기술 분야에서 알려진 임의의 회로가 사용될 수 있음을 주목한다. 최종 디지털 샘플은 등화된 출력을 산출하기 위해 등화된다(블록 415). 본 발명의 일부 실시예에서, 등화는 당 기술 분야에서 알려진 것과 같은 디지털 유한 임펄스 응답을 사용하여 수행된다. 본원에서 제공된 개시에 기초하여 당업자는 본 발명의 상이한 실시예에 따른 등화를 수행하는 이러한 디지털 유한 임펄스 응답 회로 대신에 사용될 수 있는 다양한 등화기 회로를 인식할 것이다. 등화된 출력이 버퍼링된다(블록 420).
지연 프로세싱이 필요한지가 판정된다(블록 425). 데이터 프로세싱 회로의 프로세싱 요구조건에서의 감소가 발생할 경우에 이러한 지연 프로세싱이 선택된다. 예를 들어, 데이터 전송 디바이스의 전송의 종료 또는 저장 매체를 판독할 때 트랙에서의 변경에 기인하여, 프로세싱 요구조건에서의 이러한 감소가 발생할 수 있다. 본원에서 제공된 개시에 기초하여, 당업자는 데이터 프로세싱 회로의 불충분한 사용을 초래할 수 있는 다양한 시나리오를 인식할 것이다.
지연 프로세싱이 필요하지 않은 경우(블록 425), 표준 프로세싱이 적용된다. 이 표준 프로세싱은 프로세싱을 위래 버퍼로부터 다음 등화된 출력을 선택하는 것을 포함한다(블록 430). 이 선택은 당 기술 분야에서 알려진 임의의 데이터 프로세싱 회로 선택 알고리즘에 따라 수행될 수 있다. 검출된 출력을 산출하기 위해 데이터 검출 알고리즘이 선택된 등화된 출력에 적용되고(블록 435), 검출된 출력(또는 이들의 파생물)이 중앙 메모리 회로에 저장된다(블록 440). 이 저장된 데이터는 또한 표준 프로세싱의 성능을 위해 중앙 메모리로부터 액세싱될 수 있다(흐름도 445). 이 표준 프로세싱은 도 4b의 흐름도(445)에 따라 수행된다.
지연 프로세싱이 필요한 경우에(블록 425), 지연 프로세싱이 적용된다. 이 지연 프로세싱은 프로세싱을 위해 버퍼로부터 다음 지연 프로세싱 등화된 출력을 선택하는 것을 포함한다(블록 450). 지연 프로세싱 등화된 출력은 표준 프로세싱동안 수렴하는데 실패된 하나 이상의 데이터 세트로부터 선택된다. 현재 프로세싱 데이터 세트에 적용될 나머지 글로벌 반복의 수는 지연 글로벌 최대치와 동일하게 설정된다(블록 480). 본 발명의 일부 실시예에서, 지연 글로벌 최대치는 20이다. 데이터 검출 알고리즘은 검출된 출력을 산출하기 위해 선택된 지연 프로세싱 등화된 출력에 적용되고(블록 485), 검출된 출력(또는 이들의 파생물)은 중앙 메모리 회로에 저장된다(블록 490). 이 저장된 데이터는 또한 지연 프로세싱의 성능을 위해 중앙 메모리로부터 액세스될 수 있다(도 4c의 흐름도 495).
도 4b를 참조하면, 흐름도 445는 전술된 표준 프로세싱의 구현을 도시한다. 흐름도 445에 따르면, 디코더 회로가 이전에 저장된 검출된 출력을 프로세싱하는 것이 가능한지를 판정한다(블록 401). 디코더 회로가 사용가능한 경우에(블록 401), 검출된 출력의 다음 파생물이 프로세싱을 위해 선택되고 중앙 메모리 회로로부터 액세스된다(블록 406). 디코딩된 출력을 산출하기 위해 데이터 디코딩 알고리즘의 제 1 로컬 반복이 선택된 검출된 출력 에데이터 디코더 회로에 의해 적용된다(블록 411). 본 발명의 일부 실시예에서, 선택된 검출된 출력은 임의의 순환 없이 프로세싱된다. 순환 없는 디코더 입력의 일례는 데이터 디코더에 도입되는 심볼이 다음의 수학식에 따라 설명되는 도 2a 내지 도 2c에서 설명된다.
Figure pat00007
여기서 로우 및 컬럼은 코드워드가 배열되는 어레이에 상대적인 심볼의 요소의 위치를 나타낸다. 다시, 전술된 수학식은 4 비트 심볼을 포함하였지만, 다른 비트의 개수가 심볼 크기에 대해 사용될 수 있다는 것에 유의해야한다. 이러한 비순환된 디코더 입력의 특성은 로우에서의 제 1 심볼이 연속적인 컬럼으로부터의 요소를 포함한다는 것이다.
디코딩된 출력이 수렴되는지(즉, 정확한 결과를 산출하는지)가 또한 판정된다(블록 416). 디코딩된 출력이 수렴되는 경우에(블록 416), 디코딩된 출력이 경판정 출력 버퍼에 제공된다(블록 421). 경판정 출력 버퍼가 언로딩되도록 준비되는지가 또한 판정된다(블록 456). 일부 경우에, 거의 최근에 완료된 디코딩된 출력이 데이터 출력으로서 이전에 제공된 것 이후에 다음 디코딩된 출력일 때 경판정 출력 버퍼가 언로딩되도록 준비된다. 경판정 출력 버퍼가 언로딩되도록 준비되는 경우에(블록 456), 경판정 출력 버퍼에서 유지되는 모든 연속적인 디코딩된 출력이 데이터 출력으로서 수신자 디바이스 제공된다(블록 461). 본원에서 제공된 개시에 기초하여, 당업자는 본 발명의 상이한 실시예와 관련하여 사용될 수 있는 다양한 수신자 디바이스를 인식할 것이다.
대안적으로, 비이진 디코딩된 출력이 수렴하지 못하는 경우(블록 416), 로컬 반복 카운트가 로컬 반복 제한을 초과하는지가 판정된다(블록 426). 이 로컬 반복 제한은, 예를 들어, 10 로컬 반복이 될 수 있다. 로컬 반복의 수가 아직 초과되지 않은 경우(블록 426), 업데이트된 비이진 디코딩된 출력을 산출하기 위해 비이진 디코딩된 출력에 의해 가이딩된 후속 로컬 반복에 대한 현재 프로세싱 데이터 세트에 데이터 디코딩 알고리즘이 재적용된다. 블록 416에서 시작하는 프로세스가 또한 반복된다.
대안적으로, 현재 진행중인 글로벌 반복에 대한 로컬 반복의 수가 초과되는 경우(블록 426), 글로벌 반복의 최대 수가 현재 프로세싱 데이터 세트에 이미 적용되었는지가 판정된다(블록 436). 예를 들어, 타임아웃 조건이 발생되거나, 메모리 사용 제한이 초과되는 경우에, 다수의 글로벌 반복이 완료될 수 있다. 글로벌 반복이 완료되지 않은 경우에(블록 436), 비이진 디코딩된 출력이 표준 출력으로서 중앙 메모리에 저장되고 여기서 후속 글로벌 반복에서의 프로세싱을 대기한다(블록 441). 대안적으로, 글로벌 반복이 완료되는 경우(블록 436), 현재 프로세싱 데이터 세트가 지연 프로세싱을 위해 식별되고(즉, 지연 프로세싱 기간 동안 프로세싱)(블록 446), 비이진 디코딩된 출력이 사용불가능한 것으로서 마킹된 데이터 출력으로서 제공된다(블록 451).
도 4c를 참조하면, 흐름도(495)는 전술된 지연 프로세싱의 구현을 도시한다. 흐름도 495에 따르면, 디코더 회로가 이전에 저장된 검출된 출력을 프로세싱하는데 사용가능한지가 판정된다(블록 402). 디코더 회로가 사용가능한 경우에(블록 402), 지연 프로세싱에 대해 발생된 검출된 출력의 다음 파생물(즉, 블록 446에서 지연 프로세싱을 위해 식별됨)이 프로세싱을 위해 선택되고 중앙 메모리 회로로부터 액세스된다(블록 407). 검출된 출력의 액세스된 파생물은 제 1 그룹화된 디코더 입력을 산출하기 위해 제 1 그룹화에 따라 그룹화된다(블록 412). 본 발명의 일부 실시예에서, 제 1 그룹화는 비순환된 그룹화이다. 순환 없는 디코더 입력의 일례는 데이터 디코더 회로에 도입되는 심볼이 다음의 수학식에 따라 설명되는 도 2a 내지 도 2c에서 설명된다.
Figure pat00008
여기서 로우 및 컬럼은 코드워드가 배열되는 어레이에 상대적인 심볼의 요소의 위치를 나타낸다. 다시, 전술된 수학식은 4 비트 심볼을 포함하였지만, 다른 비트의 개수가 심볼 크기에 대해 사용될 수 있다는 것에 유의해야 한다. 이러한 비순환된 디코더 입력의 특성은 로우에서의 제 1 심볼이 연속적인 컬럼으로부터의 요소를 포함한다는 것이다. 데이터 디코딩 알고리즘은 또한 제 1 디코딩된 출력을 산출하기 위해 이전에 선택된 디코딩 결과에 의해 가이딩된 제 1 그룹화된 디코더 입력에 적용된다(블록 417). 지연 프로세싱의 제 1 로컬 반복 동안, 이전에 선택된 디코딩 결과는 블록 451로부터의 출력 버퍼에 저장된 디코딩된 출력이다. 후속 로컬 반복 동안, 이전에 선택된 디코딩 결과는 제 1 그룹화(블록 482)에 따라 순환되는 디코더 입력으로부터 초래한 디코딩된 출력 또는 제 2 그룹화에 따라 순환된 디코더 입력으로부터 초래한 디코딩된 출력(블록 477) 중 선택된 하나이다.
제 1 디코딩된 출력이 수렴되는지(즉, 정확한 결과를 산출하는지)가 판정된다(블록 422). 제 1 디코딩된 출력이 수렴되는 경우에(블록 422), 제 1 디코딩된 출력이 데이터 출력으로서 제공되고 후속 데이터 세트에 대해 작동하는 다른 글로벌 반복이 시작된다(블록 432). 그렇지 않다면, 제 1 디코딩된 출력이 수렴하는데 실패되는 경우에(블록 422), 제 1 디코딩된 출력은 미래 사용을 위해 저장된다(블록 427). 제 1 디코딩된 출력은 예를 들어, 출력 버퍼, 중앙 메모리 버퍼, 또는 입력 버퍼의 미사용된 부분에 저장될 수 있다. 또한, 제 1 디코딩된 출력에서 다수의 비충족 체크(예를 들어, 비충족으로 남아있는 패리티 공식)가 판정된다(블록 437). 이는 비충족으로 남아있는 제 1 디코딩된 출력에서의 다수의 패리티 체크 공식을 카운팅함으로써 수행될 수 있다.
그 다음, 검출된 출력의 액세스된 파생물은 제 2 그룹화된 디코더 입력을 산출하기 위해 제 2 그룹화에 따라 그룹화된다(블록 442). 본 발명의 일부 실시예에서, 제 2 그룹화는 순환된 그룹화이다. 순환하는 디코더 입력의 일례는 데이터 디코더 회로에 도입되는 심볼이 다음의 수학식에 따라 설명되는 도 3a 내지 도 3d에서 설명된다.
Figure pat00009
다시, 전술된 수학식은 4 비트 심볼을 포함하였지만, 다른 비트의 개수가 심볼 크기에 대해 사용될 수 있다는 것에 유의해야 한다. 이러한 순환된 디코더 입력의 특성은 로우에서의 제 1 심볼이 순환 또는 오프셋으로부터 초래한 비연속적인 컬럼으로부터의 요소를 포함한다는 것이다. 이 오프셋은 주어진 로우에서 후속 심볼을 거쳐 시작된다. 데이터 디코딩 알고리즘은 또한 제 2 디코딩된 출력을 산출하기 위해 이전에 선택된 디코딩 결과에 의해 가이딩된 제 2 그룹화된 디코더 입력에 적용된다(블록 447). 지연 프로세싱의 제 2 로컬 반복 동안, 이전에 선택된 디코딩 결과는 블록 451로부터의 출력 버퍼에 저장된 디코딩된 출력이다. 후속 로컬 반복 동안, 이전에 선택된 디코딩 결과는 제 1 그룹화(블록 482)에 따라 순환되는 디코더 입력으로부터 초래한 디코딩된 출력 또는 제 2 그룹화에 따라 순환된 디코더 입력으로부터 초래한 디코딩된 출력(블록 477) 중 선택된 하나이다.
제 2 디코딩된 출력이 수렴되는지(즉, 정확한 결과가 산출되는지)가 판정된다(블록 452). 제 2 디코딩된 출력이 수렴되는 경우(블록 452), 제 2 디코딩된 출력이 데이터 출력으로서 제공되고 후속 데이터 세트에 대해 작동하는 다른 글로벌 반복이 시작된다(블록 462). 그렇지 않다면, 제 2 디코딩된 출력이 수렴하는데 실패하는 경우(블록 452), 제 2 디코딩된 출력은 미래 사용을 위해 저장된다(블록 457). 예를 들어, 출력 버퍼, 중앙 메모리 버퍼 또는 입력 버퍼의 미사용된 부분에 제 2 디코딩된 출력이 저장될 수 있다. 또한, 제 2 디코딩된 출력에서 비충족 체크의 개수(예를 들어, 비충족으로 남아있는 패리티 공식)가 판정된다(블록 437). 이는 비충족으로 남아있는 제 2 디코딩된 출력에서의 패리티 체크 공식의 개수를 카운팅함으로써 수행될 수 있다.
비충족 체크의 제 2 개수가 비충족 체크의 제 1 개수보다 더 큰지가 판정된다(블록 472). 비충족 체크의 제 2 개수가 비충족 체크의 제 1 개수보다 더 클 때(블록 472), 블록(417)으로부터의 제 1 디코딩된 출력은 선택된 디코딩 결과로서 선택된다(블록 482). 그렇지 않으면, 비충족 체크의 제 2 개수가 비충족 체크의 제 1 개수보다 더 크지 않은 경우에(블록 472), 블록 447로부터의 제 2 디코딩된 출력은 선택된 디코딩 결과로서 선택된다(블록 477).
다른 로컬 반복이 허용되는지가 또한 판정된다(블록 487). 다른 로컬 반복이 허용되는 경우에(블록 487), 블록(412)에서 시작하는 프로세스가 새롭게 선택된 디코딩 결과를 사용하여 반복된다. 그렇지 않다면, 다른 로컬 반복이 허용되지 않는 경우에(블록 487), 다른 글로벌 반복이 허용되는지가 판정된다(블록 492). 다른 글로벌 반복이 허용되지 않는 경우에(블록 492), 에러가 표시되고 후속 데이터 세트에 대한 프로세싱이 시작된다(블록 499). 그렇지 않다면, 다른 글로벌 반복이 허용되는 경우에(블록 492), 업데이트된 검출된 출력을 산출하기 위해 선택된 디코딩 결과에 의해 가이딩된 선택된 지연 프로세싱 등화된 출력에 데이터 검출 알고리즘이 적용되고(블록 497), 블록(402)에서 시작하는 프로세스가 동일한 데이터 세트에 대해 재시작된다.
위 명세서에서 논의된 다양한 블록은 다른 기능을 따라 집적된 회로에서 구현될 수 있음에 유의해야할 것이다. 이러한 집적 회로는 주어진 블록, 시스템 또는 회로의 모든 기능, 또는 블록, 시스템 또는 회로의 서브세트를 포함할 수 있다. 또한, 블록, 시스템 또는 회로의 요소는 다수의 집적 회로에 걸쳐 구현될 수 있다. 이러한 집적 회로는 당 기술 분야에서 알려진 임의의 타입의 집적 회로가 될 수 있고, 모놀리식 집적 회로(a monolithic integrated circuit), 플립 칩 집적 회로(a flip chip integrated circuit), 멀티칩 모듈 집적 회로(a multichip module integrated circuit), 및/또는 혼합 신호 집적 회로를 포함하지만, 이에 제한되지 않는다. 본 명세서에 논의된 블록, 시스템 또는 회로의 다양한 기능은 소프트웨어 또는 펌웨어 중 하나에서 구현될 수 있음에 유의해야할 것이다. 일부 이러한 경우에, 전체 시스템, 블록 또는 회로는 이의 소프트웨어 또는 펌웨어 동등물을 사용하여 구현될 수 있다. 다른 경우에, 주어진 시스템, 블록 또는 회로의 일부분은 소프트웨어 또는 펌웨어에서 구현될 수 있고, 반면 다른 부분은 하드웨어에 구현된다.
도 5를 참조하면, 본 발명의 일부 실시예에 따른 디코더 순환 회로를 갖는 판독 채널 회로(510)를 포함하는 저장 시스템(500)이 도시된다. 저장 시스템(500)은 예를 들어, 하드 디스크 드라이브가 될 수 있다. 저장 시스템(500)은 또한 전치 증폭기(570), 인터페이스 제어기(520), 하드 디스크 제어기(566), 모터 제어기(568), 스핀들 모터(572), 디스크 플래터(578), 및 판독/기록 헤드 어셈블리(576)를 포함한다. 인터페이스 제어기(520)는 디스크 플래터(578)로/로부터의 데이터의 어드레싱 및 타이밍을 제어한다. 어셈블리가 디스크 플래터(578) 위에서 적합하게 위치될 때 디스크 플래터(578) 상의 데이터는 판독/기록 헤드 어셈블리(576)에 의해 검출될 수 있는 자기 신호의 그룹으로 배열된다. 일 실시예에서, 디스크 플래터(578)는 세로 또는 수직 레코딩 스킴 중 하나에 따라 레코딩된 자기 신호를 포함한다.
통상적인 판독 동작에서, 판독/기록 헤드 어셈블리(576)는 모터 제어기(568)에 의해 디스크 플래터(578) 상의 원하는 데이터 트랙 위에 정확하게 위치된다. 모터 제어기(568)는 디스크 플래터(578)와 관련한 판독/기록 헤드 어셈블리(576)를 위치시키는 것과 하드 디스크 제어기(566)의 제어 하에 판독/기록 헤드 어셈블리를 디스크 플래터(578) 상의 적합한 데이터 트랙으로 이동함으로써 스핀들 모터(572)를 구동하는 것 양자를 수행한다. 스핀들 모터(572)는 판정된 회전 속도(RPM)에서 디스크 플래터(578)를 회전시킨다. 판독/기록 헤드 어셈블리(576)가 적절한 데이터 트랙에 인접하게 위치되면, 디스크 플래터(578)가 스핀들 모터(572)에 의해 회전됨에 따라 디스크 플래터(578) 상의 데이터를 나타내는 자기 신호가 판독/기록 헤드 어셈블리(576)에 의해 센싱된다. 센싱된 자기 신호는 디스크 플래터(578) 상의 자기 데이터를 나타내는 연속적인, 미세 아날로그 신호로서 제공된다. 이 미세 아날로그 신호는 판독/기록 헤드 어셈블리(576)로부터 전치 증폭기(570)를 통해 판독 채널 회로(510)로 전송된다. 전치 증폭기(570)는 디스크 플래터(578)로부터 액세스되는 미세 아날로그 신호를 증폭하도록 동작가능하다. 그 다음, 판독 채널 회로(510)는 디스크 플래터(578)에 원래 기록된 정보를 재생성하기 위해 수신된 아날로그 신호를 디코딩하고 디지털화한다. 이 데이터는 판독 데이터(503)로서 수신 회로에 제공된다. 기록 동작은 실질적으로 판독 채널 회로(510)에 제공되는 기록 데이터(501)를 사용하는 앞선 판독 동작의 반대이다. 그 다음 이 데이터는 디스크 플래터(578)에 인코딩되고 기록된다.
동작중에, 데이터는 디스크 플래터(578)로부터 센싱되고 표준 프로세싱을 이용하여 프로세싱된다. 이러한 표준 프로세싱은 이진 데이터 디코딩 또는 비이진 데이터 디코딩 중 하나를 사용하여 수행될 수 있다. 일부 경우에, 표준 프로세싱을 사용하는 하나 이상의 데이터 세트는 수렴하는데 실패한다. 이러한 경우에, 비수렴 데이터 세트는 비수렴 데이터 세트가 사용불가능하다는 표시를 갖는 출력으로서 제공되고 대응하는 비검출된/디코딩된 데이터 세트에 따른 비수렴 데이터 세트가 지연 프로세싱 기간 동안 추가 프로세싱을 위한 데이터 프로세싱 시스템에서 유지된다. 이 지연 프로세싱 기간은 예를 들어, 판독/기록 헤드 어셈블리(576)가 현재 트랙으로부터 다른 트랙으로 제거될 때의 시간의 기간이 될 수 있다. 이 지연 프로세싱 기간 동안, 비수렴 데이터 세트 및 대응하는 비검출된/디코딩된 데이터 세트의 조합은 재프로세싱을 위해 액세스된다. 재프로세싱은 후속 프로세싱을 위해 나머지 비충족 체크의 가장 적은 개수를 보여주는 결과의 선택으로 데이터 이진 데이터 디코딩 및 비이진 데이터 디코딩 모두를 수행하는 것을 포함한다. 제 1 디코더 출력에 남아있는 비충족 체크의 개수는 제 1 디코더 출력에 남아있는 개수와 비교된다. 제 2 디코더 출력에 남아있는 비충족 체크의 개수가 제 1 디코더 출력에 남아있는 개수보다 더 큰 경우에, 제 1 디코더 출력은 미래 프로세싱을 위해 선택된다. 그렇지 않으면 제 2 디코더 출력이 선택된다. 본 발명의 일부 실시예는 도 1과 관련하여 이하에서 논의된 것과 유사한 데이터 프로세싱 회로가 사용될 수 있고/또는 프로세싱은 도 4a 내지 도 4c와 관련하여 이하에서 논의된 것과 유사하게 수행될 수 있다.
저장 시스템(500)은 예를 들어, RAID(redundant array of inexpensive disks 또는 redundant array of independent disks) 기반 저장 시스템과 같은 더 큰 저장 시스템으로 집적될 수 있음에 유의해야할 것이다. 이러한 RAID 저장 시스템은 리던던시를 통해 안정성 및 신뢰성을 증가시키고, 다수의 디스크를 논리적 유닛으로 통합한다. 데이터는 다양한 알고리즘에 따라 RAID 저장 시스템에 포함된 많은 디스크 전반에 전개될 수 있고 마치 단일 디스크인 것처럼 운영 시스템에 의해 액세스될 수 있다. 예를 들어, 데이터는 RAID 저장 시스템에서 다수의 디스크에 미러링될 수 있거나, 다양한 기술에 따라 슬라이스되어 다수의 디스크 전반에 분포될 수 있다. RAID 저장 시스템에서 적은 수의 디스크가 고장나거나 사용불가능하게 되면, RAID 저장 시스템에서 다른 디스크로부터의 데이터의 나머지 부분에 기초하여 잃어버린 데이터를 재생성하기 위해 에러 정정 기술(error correction techniques)이 사용될 수 있다. RAID 저장 시스템의 디스크는 저장 시스템(500)과 같은 개별 저장 시스템이 될 수 있지만, 이에 제한되지 않고, 서로 근접하게 위치될 수 있거나 증대된 보안을 위해 더 멀리 분포될 수 있다. 기록 동작에서, 기록 데이터는, 예를 들어, 기록 데이터를 미러링하거나 스트라이핑함으로서 디스크 전반에 기록 데이터를 저장하는 제어기에 제공된다. 판독 동작에서, 제어기는 디스크로부터 데이터를 검색한다. 제어기는 또한 RAID 저장 시스템이 단일 디스크인 것처럼 결과 판독 데이터를 산출한다.
판독 채널 회로(510)와 관련하여 사용되는 데이터 디코더 회로는 당 기술 분야에서 알려진 것과 같은 저밀도 패리티 체크(a low density parity check;LDPC) 디코더 회로가 될 수 있지만, 이에 제한되지 않는다. 이러한 저밀도 패리티 체크 기술은 가상으로 임의의 채널을 통한 정보의 전송 또는 가상으로 임의의 매체 상의 정보의 저장에 적용가능하다. 전송 용례는 광섬유, 무선 주파수 채널, 유선 또는 무선 로컬 영역 네트워크, 디지털 가입자 회선 기술, 무선 셀룰러, 구리 또는 광섬유와 같은 임의의 매체를 통한 이더넷, 케이블 텔레비전과 같은 케이블 채널, 및 인공위성 통신을 포함하지만, 이에 제한되지 않는다. 저장 용례는 하드 디스크 드라이브, 컴팩트 디스크, 디지털 비디오 디스크, 마그네틱 테이프 및 DRAM, NAND 플래쉬, NOR 플래쉬, 다른 비휘발성 메모리 및 솔리드 스테이트 드라이브와 같은 메모리 디바이스를 포함하지만, 이에 제한되지 않는다.
도 6을 참조하면, 본 발명의 일부 실시예에 따라 듀얼 이진 및 비이진 디코딩 회로를 갖는 수신기(620)를 포함하는 데이터 전송 디바이스(600)가 도시된다. 데이터 전송 시스템(600)은 당 기술 분야에서 알려진 것과 같은 전송 매체(630)를 통해 디코딩된 정보를 전송하도록 작동가능한 전송기(610)를 포함한다. 인코딩된 데이터는 수신기(620)에 의해 전송 매체(630)로부터 수신된다.
동작중에, 데이터는 전송 매체(630)를 통해 수신기(620)에 의해 수신되고 표준 프로세싱을 사용하여 프로세싱된다. 일부 경우에, 표준 프로세싱을 사용하여 프로세싱된 하나 이상의 데이터 세트가 수렴하는데 실패한다. 이러한 표준 프로세싱은 이진 데이터 디코딩 또는 비이진 데이터 디코딩 중 하나를 사용하여 수행된다. 이러한 경우에, 비수렴 데이터 세트는 비수렴 데이터 세트가 사용불가능하다는 표시를 갖는 출력으로서 제공되고 대응하는 비검출된/디코딩된 데이터 세트에 따른 비수렴 데이터 세트가 지연 프로세싱 기간 동안 추가 프로세싱을 위한 데이터 프로세싱 시스템에서 유지된다. 이 지연 프로세싱 기간은, 예를 들어, 데이터가 전송 매체(630)를 통해 수신되지 않는 시간 기간이 될 수 있다. 이 지연 프로세싱 기간 동안, 비수렴 데이터 세트 및 대응하는 비검출된/디코딩된 데이터 세트의 조합이 재프로세싱을 위해 액세스 된다. 재프로세싱은 제 1 디코딩된 출력을 산출하기 위해 원래 순환에서 디코더 입력에 대해 데이터 디코딩을 수행하는 것을 포함하고, 제 2 디코딩된 출력을 산출하기 위해 다른 순환에서 디코더 입력에 대해 데이터 디코딩을 수행하는 것을 포함한다. 제 1 디코더 출력에 남아있는 비충족 체크의 개수는 제 2 디코더 출력에 남아있는 개수와 비교된다. 제 2 디코더 출력에 남아있는 비충족 체크의 개수가 제 1 디코더 출력에 남아있는 개수보다 더 큰 경우에, 제 1 디코더 출력이 매리 프로세싱을 위해 선택된다. 그렇지 않으면, 제 2 디코더 출력이 선택된다. 본 발명의 일부 실시예에서, 도 1과 관련하여 이하에서 논의된 것과 유사한 데이터 프로세싱 회로가 사용될 수 있고/또는 도 4a 내지 도 4c와 관련하여 이하에서 논의된 것과 유사한 프로세싱이 수행될 수 있다.
결론적으로, 본 발명은 데이터 프로세싱을 위한 신규 시스템, 디바이스, 방법 및 구성을 제공한다. 본 발명의 하나 이상의 실시예의 자세한 설명이 위에서 주어졌지만, 다양한 대안, 수정, 및 등가가 본 발명의 사상으로부터 벗어남이 없이 당업자에게 명백해질 것이다. 따라서, 상기 설명은 본 발명의 범위를 제한하는 것으로서 간주되어서는 안되고, 첨부된 청구항에 의해서 정의된다.

Claims (20)

  1. 데이터 디코딩 시스템을 포함하되, 상기 데이터 디코딩 시스템은,
    제 1 수정된 출력을 산출하기 위해 제 1 수정 알고리즘을 사용하여 디코더 입력을 수정하고,
    제 2 수정된 출력을 산출하기 위해 제 2 수정 알고리즘을 사용하여 상기 디코더 입력을 수정하고,
    제 1 디코딩된 출력을 산출하기 위해 데이터 디코더 회로에 의해 상기 제 1 수정된 출력에 데이터 디코드 알고리즘을 적용하고,
    제 2 디코딩된 출력을 산출하기 위해 상기 데이터 디코더 회로에 의해 상기 제 2 수정된 출력에 상기 데이터 디코드 알고리즘을 적용하고,
    상기 제 1 디코딩된 출력의 제 1 특성 및 상기 제 2 디코딩된 출력의 제 2 특성에 적어도 부분적으로 기초하여, 선택된 디코딩 결과로서 상기 제 1 디코딩된 출력 중 하나를 선택하도록 작동가능한
    데이터 프로세싱 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 특성은 상기 제 1 디코딩된 출력에 대응하는 비충족 체크(unsatisfied checks)의 제 1 개수이고, 상기 제 2 특성은 상기 제 2 디코딩된 출력에 대응하는 비충족 체크의 제 2 개수이고, 상기 데이터 디코딩 시스템은,
    상기 제 1 디코딩된 출력에 대응하는 상기 비충족 체크의 제 1 개수를 판정하고,
    상기 제 2 디코딩된 출력에 대응하는 상기 비충족 체크의 제 2 개수를 판정하도록 더 동작가능한
    데이터 프로세싱 시스템.
  3. 제 2 항에 있어서,
    상기 제 1 디코딩된 출력 및 상기 제 2 디코딩된 출력 중 하나를 선택하는 것은,
    상기 비충족 체크의 제 1 개수가 상기 비충족 체크의 제 2 개수보다 적을 때상기 제 1 디코딩 출력이 상기 선택된 디코딩 결과로서 선택하는 것과,
    상기 비충족 체크의 제 2 개수가 상기 비충족 체크의 제 1 개수보다 적을 때 상기 제 2 디코딩 출력이 상기 선택된 디코딩 결과로서 선택하는 것을 포함하는
    데이터 프로세싱 시스템.
  4. 제 1 항에 있어서,
    제 3 디코딩된 출력을 산출하기 위해 상기 선택된 디코딩 결과에 의해 가이딩된(guided) 상기 제 1 수정된 출력에 상기 데이터 디코드 알고리즘을 재적용하고,
    제 4 디코딩된 출력을 산출하기 위해 상기 선택된 디코딩 결과에 의해 가이딩된 상기 제 2 수정된 출력에 상기 데이터 디코드 알고리즘을 재적용하도록 더 동작가능한
    데이터 프로세싱 시스템.
  5. 제 1 항에 있어서,
    상기 디코더 입력은 다수의 비이진 심볼(non-binary symbol)을 포함하는
    데이터 프로세싱 시스템.
  6. 제 5 항에 있어서,
    상기 비이진 심볼은 각각 4 비트를 포함하는
    데이터 프로세싱 시스템.
  7. 제 5 항에 있어서,
    상기 비이진 심볼의 비트는 컬럼(columns)으로 배열되고, 상기 제 1 수정된 출력의 비이진 심볼의 각각은 연속적인 컬럼으로부터의 비트를 포함하는
    데이터 프로세싱 시스템.
  8. 제 7 항에 있어서,
    상기 제 2 수정된 출력의 비이진 심볼 중 적어도 하나는 비연속적인 컬럼으로부터의 비트를 포함하는
    데이터 프로세싱 시스템.
  9. 제 1 항에 있어서,
    상기 제 1 수정 알고리즘은 상기 제 1 수정된 출력이 상기 디코더 입력과 동일한 패스 쓰루 알고리즘(a pass through algorithm)인
    데이터 프로세싱 시스템.
  10. 제 9 항에 있어서,
    상기 제 2 수정 알고리즘은 상기 제 2 수정된 출력이 상기 디코더 입력의 순환된 버전(a rotated version)인 순환 알고리즘(a rotation algorithm)인
    데이터 프로세싱 시스템.
  11. 제 1 항에 있어서,
    검출된 출력을 산출하기 위해 샘플 세트에 데이터 검출 알고리즘을 적용하도록 동작가능한 데이터 검출기 회로를 더 포함하되, 상기 디코더 입력은 상기 검출된 출력으로부터 도출되는
    데이터 프로세싱 시스템.
  12. 제 11 항에 있어서,
    상기 데이터 검출기 회로는 비터비 알고리즘 데이터 검출기 회로(a Viterbi algorithm data detector circuit), 및 최대 사후 데이터 검출기 회로(a maximum a posteriori data detector circuit)로 구성된 그룹으로부터 선택되는
    데이터 프로세싱 시스템.
  13. 제 1 항에 있어서,
    상기 데이터 디코드 알고리즘은 저밀도 패티리 체크 알고리즘(a low density parity check algorithm)인
    데이터 프로세싱 시스템.
  14. 제 1 항에 있어서,
    상기 데이터 프로세싱 시스템은 저장 디바이스 및 수신 디바이스로 구성된 그룹으로부터 선택된 디바이스의 부분으로서 구현되는
    데이터 프로세싱 시스템.
  15. 제 1 항에 있어서,
    상기 데이터 프로세싱 시스템은 집적 회로의 부분으로서 구현되는
    데이터 프로세싱 시스템.
  16. 수정된 출력을 산출하기 위해 수정 알고리즘을 사용하여 디코더 입력을 수정하는 단계와,
    제 1 디코딩된 출력을 산출하기 위해 데이터 디코더 회로에 의해 상기 제 1 수정된 출력에 데이터 디코드 알고리즘을 적용하는 단계와,
    제 2 디코딩된 출력을 산출하기 위해 상기 데이터 디코더 회로에 의해 상기 제 2 수정된 출력에 상기 데이터 디코드 알고리즘을 적용하는 단계와,
    상기 제 2 디코딩된 출력의 제 1 특성 및 상기 제 2 디코딩된 출력의 제 2 특성에 적어도 부분적으로 기초하여, 선택된 디코딩 결과로서 상기 제 1 디코딩된 출력 중 하나를 선택하는 단계를 포함하는
    방법.
  17. 제 16 항에 있어서,
    제 3 디코딩된 출력을 산출하기 위해 상기 선택된 디코딩 결과에 의해 가이딩된 상기 제 1 수정된 출력에 상기 데이터 디코드 알고리즘을 재적용하는 단계와,
    제 4 디코딩된 출력을 산출하기 위해 상기 선택된 디코딩 결과에 의해 가이딩된 상기 제 2 수정된 출력에 상기 데이터 디코드 알고리즘을 재적용하는 단계를 더 포함하는
    방법.
  18. 제 16 항에 있어서,
    상기 제 1 디코딩된 출력에 대응하는 비충족 체크의 제 1 개수를 판정하는 단계와,
    상기 제 2 디코딩된 출력에 대응하는 비충족 체크의 제 2 개수를 판정하는 단계를 더 포함하는
    방법.
  19. 제 16 항에 있어서,
    상기 디코더 입력은 다수의 비이진 심볼을 포함하고, 상기 비이진 심볼의 비트는 컬럼으로 배열되고, 상기 제 1 수정된 출력의 비이진 심볼의 각각은 비연속적인 컬럼으로부터의 비트를 포함하는
    방법.
  20. 저장 매체와,
    상기 저장 매체와 관련하여 배치되고 상기 저장 매체 상의 정보에 대응하는 센싱된 신호를 제공하도록 동작가능한 헤드 어셈블리와,
    판독 채널 회로를 포함하되, 상기 판독 채널 회로는,
    상기 센싱된 신호에 대응하는 아날로그 신호를 제공하도록 동작가능한 아날로그 프론트 엔드 회로와,
    일련의 디지털 샘플을 산출하기 위해 상기 아날로그 신호를 샘플링하도록 동작가능한 아날로그 디지털 변화기 회로와,
    샘플 세트를 산출하기 위해 상기 디지털 샘플을 등화하도록 동작가능한 등화기 회로와,
    상기 샘플 세트를 유지하도록 동작가능한 샘플 버퍼와,
    데이터 디코더 회로를 포함하고, 상기 데이터 디코더 회로는,
    제 1 수정된 출력을 산출하기 위해 제 1 수정 알고리즘을 사용하여 디코더 입력을 수정하고,
    제 2 수정된 출력을 산출하기 위해 제 2 수정 알고리즘을 사용하여 상기 디코더 입력을 수정하고,
    제 1 디코딩된 출력을 산출하기 위해 데이터 디코더 회로에 의해 상기 제 1 수정된 출력에 데이터 디코드 알고리즘을 적용하고,
    제 2 디코딩된 출력을 산출하기 위해 상기 데이터 디코더 회로에 의해 상기 제 2 수정된 출력에 상기 데이터 디코드 알고리즘을 적용하고,
    상기 제 2 디코딩된 출력의 제 1 특성 및 상기 제 2 디코딩된 출력의 제 2 특성에 적어도 부분적으로 기초하여, 선택된 디코딩 결과로서 상기 제 1 디코딩된 출력 중 하나를 선택하고,
    제 3 디코딩된 출력을 산출하기 위해 상기 선택된 디코딩 결과에 의해 가이딩된 상기 제 1 수정된 출력에 상기 데이터 디코드 알고리즘을 재적용하고,
    제 4 디코딩된 출력을 산출하기 위해 상기 선택된 디코딩 결과에 의해 가이딩된 상기 제 2 수정된 출력에 상기 데이터 디코드 알고리즘을 재적용하도록 동작가능한
    저장 디바이스.
KR1020130042546A 2012-05-17 2013-04-17 심볼 재그룹화 디코딩 프로세싱을 위한 시스템 및 방법 KR101547858B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/474,668 2012-05-17
US13/474,668 US8736998B2 (en) 2012-05-17 2012-05-17 Systems and methods for symbol re-grouping decoding processing

Publications (2)

Publication Number Publication Date
KR20130129094A true KR20130129094A (ko) 2013-11-27
KR101547858B1 KR101547858B1 (ko) 2015-08-27

Family

ID=48128150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130042546A KR101547858B1 (ko) 2012-05-17 2013-04-17 심볼 재그룹화 디코딩 프로세싱을 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US8736998B2 (ko)
EP (1) EP2665190B1 (ko)
JP (1) JP5680696B2 (ko)
KR (1) KR101547858B1 (ko)
CN (1) CN103427849B (ko)
TW (1) TW201412028A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170288697A1 (en) * 2016-03-31 2017-10-05 Silicon Motion Inc. Ldpc shuffle decoder with initialization circuit comprising ordered set memory
US10756846B2 (en) * 2017-03-16 2020-08-25 Qualcomm Incorporated Distributed feedback architecture for polar decoding
JP7234098B2 (ja) * 2019-11-12 2023-03-07 株式会社東芝 磁気ディスク装置及びリオーダリング処理の方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3328093B2 (ja) 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US5701314A (en) 1995-12-21 1997-12-23 Cirrus Logic, Inc. On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive
GB2350531B (en) 1999-05-26 2001-07-11 3Com Corp High speed parallel bit error rate tester
GB2372142B (en) 1999-11-22 2003-11-12 Seagate Technology Llc Method and apparatus for data error recovery using defect threshold detector and viterbi gain
US7136244B1 (en) 2002-02-22 2006-11-14 Western Digital Technologies, Inc. Disk drive employing data averaging techniques during retry operations to facilitate data recovery
KR100698613B1 (ko) * 2004-05-13 2007-03-22 삼성전자주식회사 수신 성능이 향상된 디지털 방송 송수신기 및 그의신호처리방법
JP2006115145A (ja) * 2004-10-14 2006-04-27 Nec Electronics Corp 復号装置及び復号方法
US7730384B2 (en) 2005-02-28 2010-06-01 Agere Systems Inc. Method and apparatus for evaluating performance of a read channel
JP2007087529A (ja) * 2005-09-22 2007-04-05 Rohm Co Ltd 信号復号装置、信号復号方法、および記憶システム
US7925965B2 (en) * 2006-02-02 2011-04-12 Samsung Electronics Co., Ltd Method for transmitting/receiving signals in a communications system and an apparatus therefor
US7738201B2 (en) 2006-08-18 2010-06-15 Seagate Technology Llc Read error recovery using soft information
US7702989B2 (en) 2006-09-27 2010-04-20 Agere Systems Inc. Systems and methods for generating erasure flags
US7971125B2 (en) 2007-01-08 2011-06-28 Agere Systems Inc. Systems and methods for prioritizing error correction data
WO2008087042A1 (en) 2007-01-19 2008-07-24 Friedrich-Alexander-Universität Erlangen-Nürnberg Multiple-bases belief-propagation and permutation decoding for block codes
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
WO2010059264A1 (en) 2008-11-20 2010-05-27 Lsi Corporation Systems and methods for noise reduced data detection
US7990642B2 (en) 2009-04-17 2011-08-02 Lsi Corporation Systems and methods for storage channel testing
US8347155B2 (en) 2009-04-17 2013-01-01 Lsi Corporation Systems and methods for predicting failure of a storage medium
US8176404B2 (en) 2009-09-09 2012-05-08 Lsi Corporation Systems and methods for stepped data retry in a storage system
US8688873B2 (en) 2009-12-31 2014-04-01 Lsi Corporation Systems and methods for monitoring out of order data decoding
JP5508549B2 (ja) 2010-01-27 2014-06-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 繰り返し復号されるfec符号におけるエラーフロアの低減
US8527831B2 (en) * 2010-04-26 2013-09-03 Lsi Corporation Systems and methods for low density parity check data decoding
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing

Also Published As

Publication number Publication date
JP2013243653A (ja) 2013-12-05
CN103427849A (zh) 2013-12-04
KR101547858B1 (ko) 2015-08-27
CN103427849B (zh) 2018-01-09
US8736998B2 (en) 2014-05-27
US20130308221A1 (en) 2013-11-21
TW201412028A (zh) 2014-03-16
JP5680696B2 (ja) 2015-03-04
EP2665190B1 (en) 2016-07-06
EP2665190A1 (en) 2013-11-20

Similar Documents

Publication Publication Date Title
KR101385380B1 (ko) 듀얼 이진 및 비이진 디코딩 프로세싱을 위한 시스템 및 방법
US9184954B1 (en) Systems and methods for directed soft data perturbation in layered decoding
US20130283114A1 (en) Systems and Methods for Locating and Correcting Decoder Mis-Corrections
KR101547858B1 (ko) 심볼 재그룹화 디코딩 프로세싱을 위한 시스템 및 방법
US8850289B2 (en) Quality based priority data processing with soft guaranteed iteration
US8949702B2 (en) Systems and methods for detector side trapping set mitigation
US20140129905A1 (en) Flexible Low Density Parity Check Code Seed
US8959414B2 (en) Systems and methods for hybrid layer data decoding
US8749907B2 (en) Systems and methods for adaptive decoder message scaling
US8862957B2 (en) Symbol selective scaling with parity forcing
US8782488B2 (en) Systems and methods for back step data decoding
US8837064B1 (en) Systems and methods for quality based bit error rate prediction
US9817716B2 (en) Systems and methods for retaining non-converged data sets for additional processing
US8817404B1 (en) Systems and methods for data processing control
US9324372B2 (en) Systems and methods for local iteration randomization in a data decoder
US8917466B1 (en) Systems and methods for governing in-flight data sets in a data processing system
US9112539B2 (en) Systems and methods for iterative data processing using feedback iteration
US8910005B2 (en) Systems and methods for selective retry data retention processing
US20150039978A1 (en) Systems and Methods for Hybrid Priority Based Data Processing
US20130219233A1 (en) Systems and Methods for Quality Based Priority Data Processing
US20140108880A1 (en) Systems and Methods for Enhanced Local Iteration Randomization in a Data Decoder
US8689076B2 (en) Systems and methods for enhanced bit correlation usage
US9324371B2 (en) Systems and methods for multi-stage decoding processing
US8416666B1 (en) Systems and methods for local iteration determination during delay processing
US20160182083A1 (en) Systems and Methods for Decoder Scheduling With Overlap and/or Switch Limiting

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant