Design method of reed-solomon-based quasi-cyclic ldpc codes by puncturing, encoding/decoding method and storage device using the same

申请号 KR20100122477 申请日 2010-12-03 公开(公告)号 KR101125100B1 公开(公告)日 2012-03-21
申请人 KOREA ADVANCED INST SCI & TECH; 发明人 HA JEONG SEOK; MOON JAE KYUN; KIM UNG HWAN;
摘要 PURPOSE: A method for generating reed-solomon-based quasi-cyclic LDPC(Low Density Parity Check) codes by puncturing, an encoding/decoding method using the same, and a storage device are provided to obtain a target coding rate of corresponding codes by utilizing punching. CONSTITUTION: A provisional reed Solomon base quasi-cyclic LDPC(Low-Density Parity-Check) code, which is longer than a code length and has a lower coding rate than a preset coding rate, is generated(S10). Degree distribution corresponding to a corresponding channel is calculated by using the maximum degree of a bit node of the provisional reed Solomon base quasi-cyclic LDPC code as limitations(S20). A masking matrix is calculated according to the degree distribution calculated(S30). The reed Solomon base quasi-cyclic LDPC code is generated through masking operation(S40) Coding and decoding are performed using a puncturing method for the reed Solomon base quasi-cyclic LDPC code(S50).
权利要求
  • 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법에 있어서,
    목표 부호화율보다 낮은 부화화율을 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계;
    상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 비트노드의 최대 차수를 제한하는 조건으로 채널에 대응하는 차수 분포를 산출하는 단계;
    상기 산출된 차수 분포에 대응하는 마스킹 행렬을 생성하는 단계;
    상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 상기 마스킹 행렬과 마스킹 연산하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계; 및
    상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공기법을 적용하여 목표 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계를 구비하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법.
  • 제 1항에 있어서, 상기 차수 분포를 산출하는 단계는
    상기 채널의 용량에 대한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 동작을 엑싯 차트로 분석하여 상기 차수 분포를 산출하는 것을 특징으로 하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법.
  • 제 2항에 있어서, 상기 채널은
    이진 대칭 채널인 것을 특징으로 하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법.
  • 제 2항에 있어서, 상기 마스킹 행렬은
    비정규 차수 분포를 갖는 비정규 마스킹 행렬인 것을 특징으로 하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법.
  • 제 1항 내지 제 4항 중 어느 한 항에 따른 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 생성 방법을 수행하기 위한 프로그램 명령어가 기록된, 컴퓨터가 판독가능한 기록매체.
  • 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법에 있어서,
    목표 부호화율보다 낮은 부화화율을 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계;
    상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 비트노드의 최대 차수를 제한하는 조건으로 채널에 대응하는 차수 분포를 산출하는 단계;
    상기 산출된 차수 분포에 대응하는 마스킹 행렬을 생성하는 단계;
    상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 상기 마스킹 행렬과 마스킹 연산하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계;
    상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공기법을 적용하여 목표 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계; 및
    상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 부호화 및 복호화 동작을 수행하는 단계를 구비하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법.
  • 제 6항에 있어서, 상기 차수 분포를 산출하는 단계는
    상기 채널의 용량에 대한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 동작을 엑싯 차트로 분석하여 상기 차수 분포를 산출하는 것을 특징으로 하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법.
  • 제 7항에 있어서, 상기 채널은
    이진 대칭 채널인 것을 특징으로 하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법.
  • 제 7항에 있어서, 상기 마스킹 행렬은
    비정규 차수 분포를 갖는 비정규 마스킹 행렬인 것을 특징으로 하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법.
  • 제 6항 내지 제 9항 중 어느 한 항에 따른 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 방법을 수행하기 위한 프로그램 명령어가 기록된, 컴퓨터가 판독가능한 기록매체.
  • 제 6항 내지 제 9항 중 어느 한 항에 따른 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법에 따라 입력 데이터를 부호화하여 저장하고, 복호화하여 출력 데이터를 출력하는 저장 장치.
  • 복수개의 메모리 셀을 구비하여 데이터를 저장하는 메모리부;
    입력 데이터에 대해 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하고, 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 목표로하는 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하여 상기 메모리부로 출력하는 부호화부; 및
    상기 메모리부에서 인가되는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 디코딩하여 출력 데이터를 출력하는 복호화부를 구비하고,
    상기 부호화부 및 복호화부는 각각
    목표 부호화율보다 낮은 부화화율을 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하고, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 비트노드의 최대 차수를 제한하는 조건으로 채널에 대응하는 차수 분포를 산출하고, 상기 산출된 차수 분포에 대응하는 마스킹 행렬을 생성하고, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 상기 마스킹 행렬과 마스킹 연산하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하고, 상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공기법을 적용하여 목표 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하며, 상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 부호화 또는 복호화 동작을 수행하는 것을 특징으로 하는 저장 장치.
  • 제 12항에 있어서, 상기 차수 분포를 산출하는 단계는
    상기 채널의 용량에 대한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 동작을 엑싯 차트로 분석하여 상기 차수 분포를 산출하는 것을 특징으로 하는 저장 장치.
  • 제 13항에 있어서, 상기 마스킹 행렬은
    비정규 차수 분포를 갖는 비정규 마스킹 행렬인 것을 특징으로 하는 저장 장치.
  • 제 12항에 있어서, 상기 부호화부 및 복호화부는
    상기 저장 장치 외부의 메모리 컨트롤러에 구비되는 것을 특징으로 하는 저장 장치.
  • 说明书全文

    천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법 및 저장 장치. {Design method of Reed-Solomon-based Quasi-Cyclic LDPC codes by puncturing, encoding/decoding method and storage device using the same}

    본 발명은 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법 및 이를 이용하는 저장 장치에 관한 것으로서, 특히 천공 기술을 활용하여 비트 노드의 최대차수를 높임으로써 비정규 마스킹을 통한 워드 오류율을 낮출 수 있는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법 및 저장 장치에 관한 것이다.

    1962년 Robert G. Gallager 에 의해 LDPC(Low-Density Parity-Check) 부호 및 관련 반복 복호(iterative decoding) 알고리즘이 제안되었다. 그러나 당시의 컴퓨터 기술력으로 구현이 불가능한 복호 복잡도로 인해 이후 수십 년간 주목을 받지 못하였다. 그로부터 20여년 후 Tanner에 의해 LDPC 부호를 이분(Bipartite)그래프로 나타내면서 효과적인 합곱 알고리즘(sum-product algorithm) 이 제안되었다. 1993년 Berrou 등이 터보 부호를 발표한 이후, 터보 부호와 LDPC 부호의 유사성으로 인해 기존에 제안된 LDPC 부호가 다시 주목 받게 되었다. 그 후 MacKay에 의해 LDPC 부호가 Shannon 한계에 접근하는 것이 밝혀졌고, Luby에 의해 비정규(irregular) LDPC 부호가 균일한 LDPC 부호에 비해 더 한계에 접근하는 것이 밝혀지면서 터보 부호와 LDPC 부호는 반복적인 복호 방식을 이용하여 Shannon 한계에 근접하는 오류정정 부호로써, 차세대 채널 부호로 많은 연구가 이루어지고 있다.

    본 발명의 목적은 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 생성 방법을 제공하는데 있다.

    본 발명의 다른 목적은 상기 목적을 달성하기 위한 부호화 및 복호화 방법을 제공하는데 있다.

    본 발명의 또 다른 목적은 상기 목적을 달성하기 위한 저장 장치를 제공하는데 있다.

    상기 목적을 달성하기 위한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 생성 방법은 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법에 있어서, 목표 부호화율보다 낮은 부화화율을 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 비트노드의 최대 차수를 제한하는 조건으로 채널에 대응하는 차수 분포를 산출하는 단계, 상기 산출된 차수 분포에 대응하는 마스킹 행렬을 생성하는 단계, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 상기 마스킹 행렬과 마스킹 연산하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계, 및 상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공기법을 적용하여 목표 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계를 구비한다.

    상기 목적을 달성하기 위한 차수 분포를 산출하는 단계는 상기 채널의 용량에 대한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 동작을 엑싯 차트로 분석하여 상기 차수 분포를 산출하는 것을 특징으로 한다.

    상기 목적을 달성하기 위한 채널은 이진 대칭 채널인 것을 특징으로 한다.

    상기 목적을 달성하기 위한 마스킹 행렬은 비정규 차수 분포를 갖는 비정규 마스킹 행렬인 것을 특징으로 한다.

    상기 다른 목적을 달성하기 위한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법은 목표 부호화율보다 낮은 부화화율을 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 비트노드의 최대 차수를 제한하는 조건으로 채널에 대응하는 차수 분포를 산출하는 단계, 상기 산출된 차수 분포에 대응하는 마스킹 행렬을 생성하는 단계, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 상기 마스킹 행렬과 마스킹 연산하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계, 상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공기법을 적용하여 목표 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 단계, 및 상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 부호화 및 복호화 동작을 수행하는 단계를 구비한다.

    상기 또 다른 목적을 달성하기 위한 저장 장치는 복수개의 메모리 셀을 구비하여 데이터를 저장하는 메모리부, 입력 데이터에 대해 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하고, 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 목표로하는 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하여 상기 메모리부로 출력하는 부호화부, 및 상기 메모리부에서 인가되는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 디코딩하여 출력 데이터를 출력하는 복호화부를 구비하고, 상기 부호화부 및 복호화부는 각각 목표 부호화율보다 낮은 부화화율을 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하고, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 비트노드의 최대 차수를 제한하는 조건으로 채널에 대응하는 차수 분포를 산출하고, 상기 산출된 차수 분포에 대응하는 마스킹 행렬을 생성하고, 상기 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 상기 마스킹 행렬과 마스킹 연산하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하고, 상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공기법을 적용하여 목표 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하며, 상기 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 부호화 또는 복호화 동작을 수행하는 것을 특징으로 한다.

    따라서, 본 발명의 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법 및 저장 장치는 목표로 하는 부호화율보다 상대적으로 낮은 부호화율을 가진 리드 솔로몬 기반 저밀도 패리티 검사 부호를 설계하여 비트 노드의 최대차수를 높인 후에, 비정규 마스킹을 통해서 성능을 개선시키고, 천공 기술을 활용하여 해당 부호가 목표로 하는 부호화율을 달성하게 하여, 워드 오류율이 개선되며, 검사 노드의 차수를 감소시킬 수 있다.

    도 1은 저밀도 패리티 검사 부호의 패리티 검사 행렬의 일예를 나타내는 도면이다.
    도 2는 도 1의 저밀도 패리티 검사 부호의 패리티 검사 행렬을 인수 그래프로 나타낸 도면이다.
    도 3은 마스킹된 행렬의 일예를 나타내는 도면이다.
    도 4는 도 3의 행렬의 원소를 오른쪽으로 순환시켜 만든 행렬이다.
    도 5는 도 4의 행렬의 각각의 원소를 열벡터로 전환하여 만든 행렬이다.
    도 6은 도 5의 행렬의 각각의 원소를 위치 벡터로 전환하여 만든 행렬이다.
    도 7은 본 발명의 일예에 따라 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 패리티 검사행렬을 서브행렬들의 배열로 나타낸 도면이다.
    도 8은 계층적 천공 방법의 일예를 나타내는 도면이다.
    도 9는 본 발명의 일예에 따른 이진 대칭 채널에서 천공 기술에 의한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법을 이용하는 부호화 및 복화화 방법을 나타내는 순서도이다.

    본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.

    이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.

    명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.

    도 1은 저밀도 패리티 검사 부호의 패리티 검사 행렬의 일예를 나타내는 도면으로, Mㅧ N 크기의 패리티 검사 행렬(100)(H)을 나타낸다.

    도 1의 패리티 검사 행렬(100)(H)에서 N은 열의 개수이며, 부호어의 길이를 나타내며, M은 행의 개수로서, 패리티 검사 식의 개수를 나타낸다. 저밀도 패리티 검사 부호의 검사 행렬은 1의 개수가 0의 개수보다 적은 것이 특징이다.

    도 2는 도 1의 저밀도 패리티 검사 부호의 패리티 검사 행렬을 인수 그래프(Tanner Graph)로 나타낸 도면이다.

    도 2를 참조하면, 비트 노드(bit node)(201 ~ 208)는 패리티 검사 행렬(100)(H)에서 열(column)을 나타낸다. 그리고 검사 노드(check node)(211 ~ 214)는 패리티 검사 행렬(100)(H)에서 행(row)을 나타낸다. 인수 그래프(200)에서 각각의 노드는 에지(edge)를 통해 연결되어진다. 여기서 에지는 패리티 검사 행렬(100)에서 '0'이 아닌 원소의 위치에 의해 결정된다. 검사 노드(c i )와 비트 노드(v j )가 에지를 통해 연결되어 있다면, 패리티 검사 행렬(100)에서 원소(h ij )는 '0'이 아닌 값을 갖게 된다. 예를 들어 검사 노드(c 0 )(211)와 비트 노드(v 3 )(204)가 에지를 통해 연결되면, 패리티 검사 행렬(100)의 원소(h 03 )는 '0'이 아닌 값을 갖는다.

    그리고 특정 노드에 연결된 에지의 수를 그 노드의 차수라고 부른다. 비트 노드(201 ~ 208) 차수가 d v 로 일정하고, 검사 노드(211 ~ 214) 차수가 d c 로 일정할 때, 이때의 저밀도 패리티 검사 부호를 정규(Regular) 저밀도 패리티 검사 부호라고 한다. 즉 패리티 검사 행렬(100)의 각 행에서 1의 값을 갖는 원소의 개수가 동일하고, 각 열에서 1의 값을 갖는 원소의 개수가 동일하면, 저밀도 패리티 검사 부호는 정규 저밀도 패리티 검사 부호이다. 반면 비트 노드 차수(d v )와 검사 노드 차수(d c )가 일정하지 않은 경우의 저밀도 패리티 검사 부호는 비정규(Irregular) 저밀도 패리티 검사 부호라고 한다. 도 1에 도시된 저밀도 패리티 검사 부호의 패리티 검사 행렬(100)은 비트 노드의 차수(d v )가 2차이며, 검사 노드 차수(d c )가 4차로 일정하므로 정규 저밀도 패리티 검사 부호를 도시한 것이다.

    일반적으로 비균일 LDPC 부호가 균일 LDPC 부호보다 패리티 검사 행렬 생성 방법이 복잡하나, 오류 정정 능력이 훨씬 뛰어나므로, 실제 응용에서는 비균일 LDPC의 단점인 구현 복잡도를 줄이면서, 우수한 오류 정정 능력을 유지하기 위한 방법이 요구되고 있다.

    이와 같은 요구에 따른 준순환 저밀도 패리티 검사 부호는 패리티 검사 행렬이 0 행렬 또는 단위행렬의 시프트(Shift)된 형태인 순환 순연(Circulant Permutation) 행렬의 집합으로 이루어진다는 특징을 포함하고 있다. 준순환 저밀도 패리티 검사 부호는 이와 같은 특징으로 인하여 부호화 과정에서 전체 패리티 검사 행렬에 정보를 알아야 할 필요가 없이, 순환 순연 행렬에 대한 정보만으로 비교적 간단히 부호화 과정을 수행할 수 있다.

    도 3은 마스킹된 행렬의 일예를 나타내는 도면이다. 도 3에서 마스킹된 행렬(masked matrix)(M)은 준순환 저밀도 패리티 검사 부호의 패리티 검사 행렬(H)과 마스킹 행렬(masking matrix)(Z)을 마스킹 연산하여 생성된다. 여기서

    연산자는 마스킹 연산을 나타내며 마스킹 행렬(Z)의 각각의 원소와 준순환 저밀도 패리티 검사 부호의 패리티 검사 행렬(H)의 각각의 서브행렬(sub matrices)을 곱하는 연산을 수행한다. 이와 같이 준순환 패리티 검사 부호의 패리티 검사 행렬을 마스킹 행렬과 마스킹 연산을 취하는 것을 마스킹 기술이라고 한다. 마스킹 기술은 패리티 검사 행렬의 엣지(edge) 개수를 감소시키고, 패리티 검사 행렬의 서브행렬이 순열행렬(permutation matrix)인 경우에 마스킹된 행렬이 마스킹 행렬의 차수 분포(degree distribution)와 동일한 분포를 갖게 하는 효과를 낸다. 마스킹 행렬의 차수 분포가 정규(regular)일 때의 마스킹 기술을 정규 마스킹(regular masking)이라고 부르며, 마스킹 행렬의 차수 분포가 비정규일 때의 마스킹 기술을 비정규 마스킹(irregular masking)이라고 부른다.

    리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호는 부호의 길이가 q-1, 메시지의 길이가 2인 GF(q)의 리드 솔로몬 부호의 생성 다항식(generator polynomial)으로부터 생성된 부호단어(code word)들을 위치벡터(location vector)로 전환함으로써 만들어진다.

    수학식 1은 리드 솔로몬 부호의 생성 다항식으로부터 부호단어를 생성하기 위한 수학식이다.

    상기 식에서 w 0 는 부호의 길이가 q-1, 메시지의 길이가 2인 GF(q)의 리드 솔로몬 부호의 부호단어인 v 1 (x),v 2 (x) 로부터 생성된 부호단어이다. 위치벡터는 w 0 의 각각의 심볼들을 길이가 q-1인 영벡터(zero vector)로 전환하고 각각의 심볼의 차수에 대응하는 자리에 대해서만 영벡터의 원소를 1로 변환한 것이다.

    도 4는 도 3의 행렬의 원소를 오른쪽으로 순환시켜 만든 행렬이다. 도 4에서 행렬(W)은 수학식 1에 의해 계산되는 w 0 의 각각의 심볼들을 오른쪽으로 순환 이동 시켜서 만든 순환 행렬이며, 순환 행렬(W)의 각각의 행들은 리드 솔로몬 부호의 부호단어이다.

    도 5는 도 4의 행렬의 각각의 원소를 열벡터로 전환하여 만든 행렬이다. 도 5의 행렬(H 1 )은 도 4의 행렬(W)의 각각의 원소에 α 0 부터 α q-1 까지 곱한 결과를 열(column)로 만든 것이며, 리드 솔로몬 부호의 최소 거리(minimum distance)가 q-2이고 부호단어의 길이가 q-1 이므로 행렬(H 1 )의 각각의 행이 다른 행들과 동일한 열 자리에 동일한 심볼은 최대 하나 가질 수 있다.

    도 6은 도 5의 행렬의 각각의 원소를 위치 벡터(location vector)로 전환하여 만든 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호이다. 위치 벡터의 성질 때문에 행렬(H)의 각각의 행들은 다른 행들과 동일한 열자리에 같이 1을 가지는 경우는 최대 한번이며 길이가 4인 싸이클(cycle)이 없는 패리티 검사 행렬이 된다. 도 6의 패리티 검사 행렬(H)은 행렬(W)의 각각의 원소들에게 α 0 부터 α q-1 까지 곱한 결과를 열(column)로 만든 결과 행렬을 위치벡터로 전환한 것이기 때문에

    크기의 순환 순열 행렬(circulant permutation matrix)의 특징을 갖는 서브 행렬들로 구성시킬 수 있다.

    리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호는 소수의 거듭제곱승인 q에 대해서

    크기의 순환 순열 행렬의 배열(array)의 서브 배열로 이루어진다.

    수학식 2에서 n은 부호의 길이, R은 부호화율, q-1은 순환 순열 행렬의 크기이며,

    는 배열의 서브배열(subarray)의 가로와 세로 길이를 각각 나타낸 것이다. 서브배열은 순환 순열 행렬들로 이루어져있기 때문에 비트 노드 차수는 서브배열의 세로 길이( )와 같아지므로, 수학식 2로부터 서브배열의 최대 세로 길이는 부호화율과 부호의 길이에 의해 제한됨을 알 수 있다.

    리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호(H)는 좋은 오류마루 특성을 가지는데 반해, 부호화율이 증가할수록 비트 노드의 최대 차수가 감소하는 특징을 가진다. 그리고 준순환 저밀도 패리티 검사 부호는 비정규 마스킹(irregular masking) 기법에 의해서 성능이 개선될 수 있는데, 이진 대칭 채널에서는 비트 노드의 최대 차수가 클수록 개선의 정도가 크기 때문에, 높은 부호화율을 가진 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호는 비정규 마스킹을 통한 성능 개선에 제약을 받게 된다.

    그러므로 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 성능을 개선하기 위해서는 비트 노드의 차수를 증가시키는 것이 바람직하다. 비트 노드 차수를 증가시키기 위해서는 서브배열의 최대 세로 길이를 더 길게 해야 하며, 서브배열의 최대 세로 길이를 늘이기 위해서는 부호화율을 낮추고, 부호의 길이를 더 길게 해야 한다.

    도 7은 본 발명의 일예에 따라 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 패리티 검사행렬을 서브행렬들의 배열로 나타낸 도면으로, 목표로 하는 부호화율 보다 낮게, 목표 부호의 길이 보다 길게 부호를 설계했을 경우 얻을 수 있는 비트 노드의 최대 차수 증가를 보여준다. 도 7의 배열(a)은 목표로 하는 부호화율과 부호 길이에 대해서 부호를 설계한 것이며, 배열(b)은 상대적으로 낮은 부호화율과 긴 부호 길이로 부호를 설계한 것이다. 본 발명에서는 목표 부호화율에 맞춰서 부호를 설계하지 않고, 도 7의 배열(b)과 같이 부호를 설계하여 비트 노드의 최대차수를 증가 시키며, 증가된 비트 노드의 차수를 이용하여 비정규 마스킹을 실행할 수 있다.

    도 8은 계층적 천공 기법의 일예를 나타내는 도면이다.

    천공(puncturing) 기법은 모부호(mother code)를 부호화한 후에, 모부호의 패리티 비트를 부호기에서 전송하지 않음으로써 부호화율을 높이는 기술이다. 유한한 길이의 부호에 대해서 천공할 패리티 비트의 자리를 결정하기 위해서는 계층적 천공 방법을 사용한다.

    도 8에서는 k번 반복 복호 후에 정보를 받아 복구될 수 있는 k 계층 복구(k-step recorvable) 노드의 일예로서 1계층 복구 노드(1-SR node), 2계층 복구 노드(2-SR node), 3계층 복구 노드(3-SR node)를 나타낸다. 도 8에 도시된 계층적 천공 방법에 대해서는 인용 참증 "Rate-Compatible Punctured Low-Density Parity-Check Codes With Short Block Lengths" by Jeongseok Ha, Jaehong Kim, Demijan Klinic, and Steven W. McLaughlin 을 참조한다. 계층적 천공은 1 계층 복구 노드(1-SR node)의 개수를 최대화 하며, 그 후에는 2 계층 복구 노드(2-SR node)의 개수를 최대화 하는 식으로 낮은 계층의 복구 노드의 개수를 최대화 한다.

    따라서 천공 기법을 적용하면, 부호화율과 부호의 길이가 지정된 장치 또는 시스템에서도 설정된 부호화율 보다 낮은 부호화율과 설정된 부호의 길이보다 더 긴 부호의 길이를 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하여 비트 노드의 차수를 증가시키고, 증가된 비트 노드의 차수를 이용하여 비정규 마스킹을 실행한 이후 천공 기법에 의해 지정된 부호화율과 설정된 부호의 길이에 따르는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호로 변환할 수 있다.

    즉 본 발명에서는 비정규 마스킹 연산의 제한 조건인 최대 비트 노드 차수

    를 증가시키기 위한 방법 천공 기술을 사용한다. 목표로 하는 부호의 길이와 메시지 길이, 부호화율, q에 대해서 크기의 순환 순열 행렬의 배열로부터 더 낮은 부호화율과 높은 부호 길이를 갖도록 서브 배열을 추출한다. 비정규 마스킹을 리드 솔로몬 기반 준순환 저밀도 패리티 검사 행렬에 적용하기 위해서는 서브 배열의 가로와 세로 길이 해당하는 의 크기로 마스킹 행렬을 만들게 된다. 마스킹 행렬의 최대 비트 노드 차수인 를 제한 조건으로 하여 목표로 하는 채널에서 가장 잘 동작하는 차수 분포를 찾고, 이 차수분포에 맞게 마스킹 행렬을 설계한다. 설계된 마스킹 행렬과 서브배열을 마스킹 연산에 대입하여 비정규 마스킹 기법이 사용된 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하며, 부호화 및 복호화 시에는 천공 기술을 사용하여 원래 목표로 했던 부호화율을 달성하도록 한다.

    도 9는 본 발명의 일예에 따른 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 생성 방법을 나타내는 순서도이다.

    도 9를 참조하면, 본 발명에 따른 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법은 도 8에 도시된 바와 같이 먼저 시스템에 의해 설정된 부호화율 및 부호 길이보다 낮은 부호화율과 더 긴 길이를 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성한다(S10). 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호는 도4 내지 도6 및 수학식 1을 참고하여 생성 할 수 있다. 그리고 부호화율과 부호길이는 반비례 관계로 부호화율이 낮아지면 부호 길이는 길어지게 된다. 따라서 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호는 낮은 부호화율을 가진다고 할 수 있다.

    이후 생성된 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 비트 노드의 최대 차수를 제한 조건으로 하여 해당 채널에 대응하는 차수 분포를 산출한다(S20). 여기서 해당 채널에 대응하는 차수 분포는 채널이 주어지면, 해당 채널에서 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 동작을 엑싯 차트(EXIT(Extrinsic Information Transfer) Chart)를 통해 분석할 수 있다. 즉 엑싯 차트 분석을 통해 해당 채널에서 가장 채널 용량에 근접한 성능을 내는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 차수 분포를 설계할 수 있다.

    그리고 산출된 차수 분포에 따라 마스킹 행렬을 생성한다(S30). 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호와 마스킹 행렬을 도1 에 도시된 바와 같이 마스킹 연산하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성한다(S40). 상기한 바와 같이 마스킹 연산은 마스킹된 행렬이 마스킹 행렬의 차수 분포와 동일한 분포를 갖게 하는 효과를 낸다. 따라서 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호는 S20 단계에서 산출된 차수 분포를 갖게 된다.

    이후 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공 기법을 이용하여 부호화/복호화를 수행한다(S50).

    결과적으로 본 발명의 이진 대칭 채널에서 천공 기술에 의한 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법은 목표로 하는 부호화율보다 상대적으로 낮은 부호화율을 가진 리드 솔로몬 기반 저밀도 패리티 검사 부호를 생성하여 비트 노드의 최대차수를 높인 후에, 비정규 마스킹을 통해서 성능을 개선시키고, 천공 기술을 활용하여 해당 부호가 목표로 하는 부호화율을 달성하게 하여, 워드 오류율이 개선되며, 검사 노드의 차수를 감소시킬 수 있다.

    도 10은 표 1의 기존의 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 비정규 마스킹을 적용한 부호의 성능과 표 2의 본 발명의 일에에 따른 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 대해 천공 기술이 활용된 비정규 마스킹을 적용한 것의 워드 오류율 성능을 비교한 그래프이다.

    부호 길이 메시지 길이 서브배열의 크기 순환 순열 행렬의 크기 최대 비트 노드 차수
    리드 솔로몬 기반 LDPC 부호 8820 8190 5*70 126*126 5

    표 1 은 부호길이가 8820이고, 메시지 길이가 8190로서 시스템에서 설정된 부호화율이 0.9290인 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 나타낸다.

    부호 길이 메시지 길이 서브배열의 크기 순환 순열 행렬의 크기 최대 비트 노드 차수 천공 비트수
    리드 솔로몬 기반 LDPC 부호 9954 8190 14 * 79 126*126 14 1134

    표 2 는 동일한 메시지 길이 8190에 대해 부호 길이가 9954로 표 1의 부호 길이 8820 보다 더 길게 하여 시스템에서 설정된 부호화율인 0.9290보다 더 낮은 0.8228 의 부호화율을 갖는 경우를 나타내었다. 본 발명에서는 실험을 통하여 설정된 부호화율 보다 (0.05 ~ 0.15) 정도 낮은 부호화율을 갖는 임시 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하는 경우에 많은 개선이 있었으나, 본 발명의 개념은 이에 한정되지 아니하고, 각각의 채널이나 부호화 복호화 기법에 따라 다양하게 설정될 수 있다.

    표 3은 표 1의 리드 솔로몬 기반 저밀도 패리티 검사부호에 적용되는 마스킹 행렬의 크기와 차수분포를 나타내며, 표 4는 표 2의 발명이 제안하는 방법을 이용하여 설계된 리드 솔로몬 기반 저밀도 패리티 검사부호에 적용되는 마스킹 행렬의 크기와 차수분포를 나타낸다. 발명이 제안하는 방법을 사용하면 사용하지 않았을 때에 비해서 서브배열의 세로 크기가 5에서 14로 증가 하기 때문에 최대 비트 노드 차수 또한 5에서 14로 증가하며, 따라서 더 좋은 성능을 내는 비트 노드의 차수 분포를 가지는 마스킹 행렬을 사용할 수 있다. 표 3과 표 4의 비트 노드 차수 분포는 엑싯 차트 분석에 의하면 각각 채널용량에 대해서 -log(Pco)를 단위로 하여 0.2185와 0.0945만큼의 차이를 보이는 저밀도 패리티 검사 부호의 차수분포이다. 여기서 Pco는 이진대칭채널의 교차확률(crossover probability)을 뜻한다. 따라서 제안하는 방법을 사용하여 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 설계한 후에 비정규 마스킹을 수행하면, 표 4의 차수분포를 활용할 수 있기 때문에 0.1240만큼의 이득이 있게 된다.

    행렬의 크기 비트 노드 차수 분포
    마스킹 행렬 5*70 0.0574x+0.2915x2+0.6511x4

    행렬의 크기 비트 노드 차수 분포
    마스킹 행렬 5*70 0.4360x2+0.1002x5+0.0122x6+0.4516x13

    표 3과 표 4에서 비트 노드 차수 분포의 다항식의 일반식은

    이다. 여기서 는 i개의 선과 연결된 가변절편의 수 대 전체선의 수의 비율이다. 사용하는 변조 방식은 BPSK(Binary Phase Shift Keying)이며, 이진 대칭 채널(Binary Symmetric Channel) 환경에서의 성능을 보여준다. 도 10은 선행 기술에 비해 제안한 부호 설계 방법이 워드 오류율 을 기준으로 하여 0.033만큼의 이득을 가진다는 것을 보여주며, 제안한 방법으로 설계된 부호의 경우에는 천공 기술을 사용하여 부/복호화를 실행하였다. 제안한 부호 설계 방법이 비트 노드의 최대 차수를 증가 시켜서, 이진 대칭 채널에서 더 좋은 성능의 차수분포를 가지는 마스킹 행렬이 적용되었기 때문에 성능개선의 결과가 나타났다.

    도 11은 본 발명에 따른 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호의 부호화 및 복호화 방법을 적용하는 저장 장치의 일예를 나타내는 도면이다.

    도 11에 도시된 저장 장치(1)는 부호화부(10), 메모리부(20) 및 복호화부(30)을 구비한다. 메모리부(20)는 복수개의 메모리 셀을 구비하여 데이터를 저장할 수 있다. 그리고 부호화부(10)는 입력 데이터(D_in)에 대해 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호를 생성하고, 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 목표로하는 부호화율을 갖는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호(LDPC code)를 메모리부(20)에 저장한다.

    한편 복호화부(30)는 메모리부(20)에서 인가되는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호에 천공 기법을 적용하여 디코딩하여 출력 데이터(D_out)를 출력한다. 도 11의 저장 장치는 일 예로 SSD(Solid State Drive)와 같이 높은 부호화율을 갖는 저장 장치일 수 있다.

    한편 도시하지 않았으나, 저장 장치를 구비하는 시스템에 따라서는 부호화부와 복호화부가 저장 장치의 외부에 위치하는 메모리 컨트롤러에 구비될 수도 있으며, 부호화부와 복호화부는 각종 제어부에 의해 구동되는 프로그램으로 구현될 수도 있다.

    또한 본 발명에 따른 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법은 다양한 통신 시스템에 활용 될 수 있다.

    본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.

    따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

    QQ群二维码
    意见反馈