KR20030063629A - 디코딩 방법 및 그 장치 - Google Patents

디코딩 방법 및 그 장치 Download PDF

Info

Publication number
KR20030063629A
KR20030063629A KR1020020003856A KR20020003856A KR20030063629A KR 20030063629 A KR20030063629 A KR 20030063629A KR 1020020003856 A KR1020020003856 A KR 1020020003856A KR 20020003856 A KR20020003856 A KR 20020003856A KR 20030063629 A KR20030063629 A KR 20030063629A
Authority
KR
South Korea
Prior art keywords
error
codewords
flag
error correction
erase
Prior art date
Application number
KR1020020003856A
Other languages
English (en)
Other versions
KR100856399B1 (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 삼성전자주식회사
Priority to KR1020020003856A priority Critical patent/KR100856399B1/ko
Priority to TW092100388A priority patent/TWI251212B/zh
Priority to US10/347,524 priority patent/US7137045B2/en
Priority to JP2003013698A priority patent/JP3737484B2/ja
Priority to CNB031075819A priority patent/CN1220208C/zh
Publication of KR20030063629A publication Critical patent/KR20030063629A/ko
Application granted granted Critical
Publication of KR100856399B1 publication Critical patent/KR100856399B1/ko

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/0082Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
    • 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/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

디코딩 방법 및 그 장치가 개시된다.
본 발명의 인코딩된 데이터를 디코딩하는 방법은 (a) 에러 정정 블록의 행 방향과 열 방향 중 어느 하나의 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계; (b) 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시하는 단계; 및 (c) 표시된 에러 플래그를 기초로, 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 종래 에러 정정 불가능한 경우에도 에러 정정이 가능하게 된다.

Description

디코딩 방법 및 그 장치{Decoding method and apparatus therefor}
본 발명은 디코딩 방법 및 그 장치에 관한 것으로, 보다 상세하게는 정보저장매체로부터 독출된 ECC(Error Correcting Code) 블록의 에러를 정정하는 방법 및 그 장치에 관한 것이다.
정보저장매체의 하나인 CD, DVD 등 디스크에는 이미지, 사운드 등과 같은 데이터가 저장된다. 재생장치에 구비된 픽업은 레이저 빔을 조사하고 반사된 레이저 빔을 수광하여 디스크에 저장된 데이터를 독출한다.
광 디스크는 사용 중 표면에 먼지, 등의 이물질이 부착되거나 스크래치 등이 생기기 쉽다. 따라서, 광 디스크에 기록된 데이터를 독출할 때 버스트 에러가 발생될 가능성이 높다. 그러므로, 광 디스크에 데이터를 기록할 때는 독출시 발생될 수 있는 에러를 정정할 수 있도록 ECC 블록으로 인코딩하여 기록한다.
재생장치는 독출된 ECC 블록을 대상으로 에러 정정을 수행한다. ECC 블록에 대한 에러 정정은 통상 행/열 방향으로 배치된 행/열 코드 워드에 대해 에러 정정을 수행한 다음 에러 정정이 불가능한 행/열 코드 워드에 대해서는 에러 플래그를 표시하고 그 결과를 바탕으로 열/행 방향의 열/행 코드 워드에 대해 에러 정정을 수행한다.
DVD의 경우 행 코드워드의 길이가 182 바이트이고 패리티가 10바이트일 때 182 바이트 중에서 6 바이트 이상 에러가 발생되면 에러 정정이 불가하므로 재생장치의 디코더는 이 코드워드에 에러 플래그를 표시한다. 열 코드워드에 대한 에러 정정은 앞서 수행된 행 코드워드에 대한 에러 정정 결과 표시된 에러 플래그를 기초로 이루어진다. 에러 플래그가 표시된 행에 포함된 모든 바이트들은 열 코드워드에 대한 에러 정정시 에러가 발생된 것으로 간주된다. 그러나, 에러 플래그는 182 바이트 중 6 바이트 이상 에러가 발생되기만 하면 표시되는 것이므로 실제로는 에러가 발생된 바이트 수보다는 에러없이 제대로 독출된 바이트 수가 더 클 경우가 대부분이다. 하지만, 열 코드워드의 에러 정정시 에러 플래그가 표시된 행 코드워드에 포함된 182 바이트 전체를 에러로 간주하므로 실제로 정정가능한 코드워드임에도 불구하고 에러 정정 불가능한 것으로 해석되는 경우가 발생되어 에러 정정 효율이 저하된다.
따라서, 본 발명의 목적은 에러 플래그를 띄우는 방식을 개선하여 보다 효율이 높은 에러 정정을 수행하는 방법 및 그 장치를 제공하는 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 에러 정정 장치의 블록도,
도 2는 도 1의 디코딩부(3)의 상세 블록도,
도 3은 ECC 블록을 구성하는 1 섹터의 데이터 구조도,
도 4는 ECC 블록의 데이터 구조도,
도 5는 ECC 블록이 디스크(100)에 기록되는 구조도,
도 6은 에러 플래그가 다음 에러 정정에 미치는 영향을 설명하기 위한 참고도,
도 7은 본 발명의 일 매니징 방식에 따라 표시된 에러 플래그들,
도 8은 본 발명의 다른 매니징 방식에 따라 표시된 에러 플래그들,
도 9는 본 발명의 바람직한 실시예에 따른 디코딩 방법을 설명하기 위한 플로우챠트,
도 10은 본 발명의 특히 바람직한 실시예에 따른 디코딩 방법을 설명하기 위한 플로우챠트,
도 11은 에러 플래그 매니지먼트를 설명하기 위한 플로우챠트,
도 12 및 13은 도 11의 에러 플래그 매니지먼트의 구현 예를 설명한 플로우챠트이다.
상기 목적은, 본 발명에 따라, 인코딩된 데이터를 디코딩하는 방법에 있어서, (a) 에러 정정 블록의 행 방향과 열 방향 중 어느 하나의 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계; (b) 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시하는 단계; 및 (c) 표시된 에러 플래그를 기초로, 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계를 포함하는 것을 특징으로 하는 방법에 의해 달성된다.
상기 (b)단계는 (b1) 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하거나 (b2) 연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된 에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 단계임이 바람직하다. 상기 (c)단계에서는 상기 에러 플래그가 표시된 코드워드에 포함된 모든 데이터는 정정 불가능한 에러가 발생된 것으로 간주한다.
또한, 인코딩된 데이터를 디코딩하는 방법에 있어서, (a) 에러 정정 블록의 행 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계; (b) 정정 불가능한 에러가 발생된 코드워드에 삭제 플래그를 표시하는 단계; (c) 표시된 에러 플래그를 기초로, 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계; (d) 상기 (a) 단계의 수행 결과 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시하는 단계; 및 (e) 상기 (d)단계에서 표시된 에러 플래그를 기초로, 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.
상기 방법은 (f) 정정 불가능한 에러가 발생된 코드워드에 에러 플래그를 표시하는 단계; 및 (g) 상기 (f)단계에서 표시된 에러 플래그를 기초로 상기 (a)단계를 수행하는 단계를 더 포함하는 것이 바람직하다.
상기 (d)단계는 (d1) 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하거나 (d2) 연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된 에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 단계임이 바람직하다.
한편, 본 발명의 다른 분야에 따르면 상기 목적은 정보저장매체로부터 데이터를 독출하는 독출부; 독출된 데이터를 채널 복조하는 복조부; 및 복조된 데이터로부터 에러 정정 블록을 생성하고, 생성된 에러 정정 블록의 행 방향과 열 방향 중 어느 하나의 방향으로 배치된 코드워드에 대한 에러 정정을 수행하며, 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시하며, 표시된 에러 플래그를 기초로, 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 디코딩부를 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.
상기 디코딩부는 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하거나, 연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된 에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 것이 바람직하다. 나아가, 상기 디코딩부는상기 에러 플래그가 표시된 코드워드에 포함된 모든 데이터는 정정 불가능한 에러가 발생된 것으로 간주하여 상기 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 것이 바람직하다.
또한, 상기 목적은 ECC 블록을 생성하는 ECC 블록 생성부; 에러 정정 블록의 행 방향으로 배치된 코드워드에 대한 에러 정정을 수행하고, 정정 불가능한 에러가 발생된 코드워드에 에러 플래그를 표시한 다음 표시된 에러 플래그를 기초로, 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 수행하며, 매니징 결과에 따라 표시된 에러 플래그를 기초로 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 다시 수행하는 에러 정정부; 및 상기 행 코드워드에 대한 에러 정정 결과에 대해 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그가 표시되도록 플래그 매니징부를 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.
상기 플래그 매니징부는 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하거나, 연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된 에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 것이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
먼저, 본 명세서에서 사용될 용어를 정의하면 다음과 같다.
먼저,「에러 플래그」는 그 위치를 모르는 에러가 발생된 경우 띄워지며 「이레이즈(erase) 플래그」는 그 위치를 알고 있는 에러가 발생된 경우 띄워진다. 「이레이즈 정정」은 그 위치를 알고 있는 에러를 정정하는 것을 말한다. 일반적으로, 그 위치를 알고 있는 에러를 정정하는 것, 즉 이레이즈 정정이 그 위치를 모르는 에러를 정정하는 것, 즉 에러 정정(좁은 의미)에 비해 적은 수의 패리티를 필요로 한다. 다만, 본 명세서에서 「에러 정정」은 좁은 의미의 에러 정정은 물론 이레이즈 정정까지 포함하는 넓은 의미로 사용된다.
「이레이즈 정보」는 코드워드에 대한 에러 정정을 수행한 뒤 띄워진 에러 플래그에 대한 정보이다. 행 코드워드의 수가 208 개라면 행 코드워드를 정정하고 난 뒤 얻어지는 이레이즈 정보는 208 비트로 구성된다. 이레이즈 정보를 통해 해당 코드워드에 에러 플래그가 띄워졌는지 여부를 알 수 있다. 에러 플래그가 띄워진 코드워드의 모든 바이트는 다음 단계의 에러 정정시 에러가 발생된 것으로 간주된다.
도 1은 본 발명의 바람직한 실시예에 따른 에러 정정 장치의 블록도이다.
도 1을 참조하면, 에러 정정 장치는 독출부(1), 복조부(2) 및 디코딩부(3)를 구비한다. 독출부(1)는 디스크(100)에 저장되어 있는 데이터를 읽어들인다. 복조부(2)는 독출부(1)에 의해 독출된 데이터를 복조한다. 일반적으로 데이터는 채널 변조되어 기록되므로 복조는 일반적으로 채널 복조를 의미한다. 디스크(100)에 기록되는 데이터는 독출시 발생되는 버스트 에러를 보다 효율적으로 검출/정정할 수있는 방식으로 인코딩되어 기록되므로 디코딩부(3)는 채널 복조된 데이터를 본 발명에 따른 에러 정정 방식으로 에러 정정하여 디코딩된 사용자 데이터 및 헤더정보를 출력한다.
도 2는 도 1의 디코딩부(3)의 상세 블럭도이다.
도 2를 참조하면, 디코딩부(3)는 ECC 블록 생성부(31), 에러 정정부(32), 및 플래그 매니징부(33)를 구비한다. ECC 블록 생성부(31)는 채널 복조된 데이터를 행 코드워드와 열 코드워드가 배치된 ECC 블록으로 배열한다.
플래그 매니징부(33)는 에러 정정부(32)의 에러 정정 수행 결과를 기초로 에러 플래그의 표시 여부를 관리한다. 가령, ECC 블록에 대해 행 코드워드 → 열 코드워드 → 행 코드워드 → 열 코드워드 순서로 4 단계 에러 정정을 수행한다고 할 때 2 단계까지는 종래 방식에 따라 에러 플래그를 띄우지만 3 단계의 에러 정정시에는 1 단계에 수행된 행 코드워드의 에러 정정 수행 결과를 넘겨받아 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 띄운다. 에러 정정의 순서 및 횟수는 필요에 따라 다양하게 변경할 수 있다. 보다 상세한 매니징 방식은 후술한다.
에러 정정부(32)는 입력된 행 코드워드 또는 열 코드워드에 대해 에러 정정을 수행한다. 이전 단계의 에러 정정 결과를 기초로 에러 정정을 수행할 경우에는 플래그 매니징부(33)에 의한 관리결과 표시된 에러 플래그에 따라 에러 정정을 수행한다. 즉, 에러 플래그가 표시된 행/열 코드워드의 데이터에는 모두 에러가 발생된 것으로 간주하여 에러 정정을 수행한다.
한편, ECC 블록에 대한 이해를 돕기 위해 ECC 블록의 데이터 구조를 살펴보면 다음과 같다.
도 3은 ECC 블록을 구성하는 1 섹터의 데이터 구조도이다.
도 3을 참조하면 본 실시예에서 1 섹터는 12×172 의 크기를 가진다. 이는 2048 바이트의 사용자 데이터, 헤더 데이터 및 EDC(Error Detection Code) 데이터로 구성된다.
도 4는 ECC 블록의 데이터 구조도이다.
도 4를 참조하면, 도 3에 도시된 것과 같은 섹터 16 개를 차례로 배열하여 192×172 크기의 메인 데이터를 구성한 다음 10 바이트의 내부 패리티 PI(Inner Parity)와 16 행의 외부 패리티 PO(Outer Parity)를 부가하면 하나의 ECC 블록이 완성된다.
도 5는 ECC 블록이 디스크(100)에 기록되는 구조를 보여준다.
도 5를 참조하면, ECC 블록은 91 바이트씩 416 개의 조각으로 분할된 다음 채널 변조되고 각각 싱크 데이터가 부가되어 디스크(100)에 기록된다. ECC 블록은 91 바이트씩 분할되기 이전에 소정 인터리빙 알고리즘에 따라 인터리빙될 수 있다. 인터리빙은 버스트 에러를 분산시키기 위한 것으로 넓은 의미에서 인코딩 과정의 하나이다. 이와 같은 과정을 통해 복수개의 ECC 블록들은 차례로 디스크(100)에 기록된다.
독출부(1)는 도 5에 도시된 구조로 기록된 데이터를 디스크(100)로부터 순차적으로 읽어들인다. 복조부(2)는 싱크 데이터를 제거하고 채널 복조한다. ECC 블록 생성부(31)는 복조된 데이터를 배열하여 도 4와 같은 ECC 블록을 구성한다. 해당 ECC 블록이 인터리빙되어 기록된 경우에는 디인터리빙을 수행하여 ECC 블록을 구성한다.
도 6은 에러 플래그가 다음 에러 정정에 미치는 영향을 설명하기 위한 참고도이다.
도 6을 참조하면, 먼저 ECC 블록의 행 방향으로 배치된 행 코드워드에 대한 에러 정정을 수행한다. (a)는 그 결과 표시된 에러 플래그들을 보여준다. 에러 플래그는 플래그 매니징부(33)의 매니징 결과에 따른다. 본 실시예에서는 에러 정정의 단계에 따라 종래 방식과 본 발명의 방식을 혼용한다. 종래 방식에 따르면 해당 코드워드에 정정 가능한 최대 바이트 수를 넘어선 에러가 발생한 코드워드에 대해서는 모두 에러 플래그가 띄워진다. 본 발명의 방식에 따르면, 후술하는 바와 같이 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 띄운다.
다음으로 (a)의 결과를 기초로 열 코드워드에 대한 에러 정정이 수행된다. 열 코드워드에 대한 에러 정정시 참조 번호 1, 2, 3, 및 4의 행 코드워드에 존재하는 모든 데이터에는 에러가 발생한 것으로 간주되므로 각각에는 이레이즈 플래그가 띄워진다. 따라서 모든 열 코드워드에는 나머지 데이터를 읽어들임에 있어서 발생될 에러는 제외하고서도 이미 4 개(바이트)의 에러가 발생한 셈이 된다. 전술한 바와 같이 이레이즈 정정을 위해 필요한 패리티 수는 발생된 위치를 모르는 에러에 대한 정정에 비해 적지만 모든 열 코드워드가 2 개의 이레이즈 정정을 수행하기 위한 패리티를 소모한 셈이 된다. 이처럼, 이전 단계에서 에러 정정을 수행한 결과는 다음 단계에서 영향을 미치게 된다.
가령, 행 코드워드 = (182, 172, 11)이고 5 개 이하의 에러만 정정가능하다면, 에러 정정부(32)는 182 개의 심벌 중에서 5 개 이하의 에러가 발생하면 에러 정정을 수행하고, 6 개 이상의 에러가 발생하면 에러 플래그를 띄운다. 열 코드워드 = (208, 192, 17)이며, 이레이즈 정정에 1 개의 패리티가 필요하고 위치를 모르는 에러 정정에 2 개의 패리티가 필요하다면, 16 개의 패리티에서 4 개의 이레이즈 정정을 위해 필요한 패리티 4 개를 뺀 12 개의 패리티가 남게 된다. 12 개의 패리티로 정정가능한 에러는 6 개이다. 따라서, 6 개를 초과하는 에러가 발생하면 에러 정정이 불가능하게 된다.
도 7은 본 발명의 일 방식에 따라 표시된 에러 플래그들을 보여준다.
도 7을 참조하면, 행 코드워드에서 5 개를 초과하는 에러가 발생되면 정정 불가한 경우 종래 방식에 따르면 10 바이트의 에러가 발생한 행 코드워드에는 예외없이 모두 에러 플래그를 띄운다. 그러나, 본 발명의 일 방식에 따르면 연속적으로 2 행 이상 에러가 발생되지 않은 경우에는 이를 무시한다. 즉 연속적으로 2 개 이상의 행 코드워드에 에러 플래그가 띄워진 경우에만 에러 플래그를 띄우고 그렇지 않은 경우에는 에러 플래그를 띄우지 않는다. 이에, 행 코드워드에 띄워지는 에러 플래그의 수가 감소되고 열 코드워드에 대한 에러 정정시 발생된 것으로 간주되는 에러의 수가 감소되므로 열 코드워드에 대한 에러 정정율을 높일 수 있다. 즉, 이전 단계의 행 코드워드에 종래 방식에 따라 띄워진 에러 플래그를 기초로 열코드워드에 대한 에러 정정을 수행하는 것에 비해 본 발명의 일 방식에 따라 띄워진 에러 플래그를 기초로 열 코드워드에 대한 에러 정정을 수행하는 것이 정정된 열 코드워드의 수가 늘어날 가능성이 높아지는 것이다.
도 8은 본 발명의 다른 방식에 따라 표시된 에러 플래그들을 보여준다.
도 8을 참조하면, 행 코드워드에서 5 개를 초과하는 에러가 발생되면 정정 불가한 경우 종래 방식에 따르면 10 바이트의 에러가 발생한 행 코드워드에는 예외없이 모두 에러 플래그를 띄운다. 그러나, 본 발명의 다른 방식에 따르면 연속적으로 배치된 3 개 이상의 행 코드워드에 에러가 발생되지 않은 경우에는 이를 무시한다. 연속적으로 배치된 3 개 이상의 행 코드워드에 에러가 발생한 경우에는 맨 위와 맨 아래 행 코드워드에 발생된 에러는 무시하고 나머지 행 코드워드에 대해서만 에러 플래그를 띄운다. 따라서, 행 코드워드에 띄워지는 에러 플래그의 수가 감소되며 열 코드워드에 대한 에러 정정시 발생된 것으로 간주되는 에러의 수가 감소되어 열 코드워드에 대한 에러 정정율을 높일 수 있다. 즉, 이전 단계의 행 코드워드에 종래 방식에 따라 띄워진 에러 플래그를 기초로 열 코드워드에 대한 에러 정정을 수행하는 것에 비해 본 발명의 일 방식에 따라 띄워진 에러 플래그를 기초로 열 코드워드에 대한 에러 정정을 수행하는 것이 정정된 열 코드워드의 수가 늘어날 가능성이 높아지는 것이다.
상기와 같은 구성을 바탕으로 본 발명에 따른 디코딩 방법을 설명하면 다음과 같다.
도 9는 본 발명의 바람직한 실시예에 따른 디코딩 방법을 설명하기 위한 플로우챠트이다.
도 9를 참조하면, 디코딩부(3)는 ECC 블록의 행 방향과 열 방향 중 어느 하나의 방향으로 배치된 코드워드에 대한 에러 정정을 수행한다(901단계). 에러 정정 수행 결과, 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시한다(902단계). 표시된 에러 플래그를 기초로, 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행한다(903단계).
도 10은 본 발명의 특히 바람직한 실시예에 따른 디코딩 방법을 설명하기 위한 플로우챠트이다.
도 10을 참조하면, ECC 블록 생성부(31)는 ECC 블록을 생성하고 에러 정정부(32)는 생성된 ECC 블록의 행 코드워드에 대해 에러 정정을 수행하고 정정 불가능한 에러가 발생된 코드워드에는 에러 플래그를 띄운다(1001단계). 여기서, 에러 플래그는 종래 방식에 따라 띄워진다. 즉, 정정 가능한 개수를 초과하는 에러가 발생된 코드워드에 대해서는 모두 에러 플래그를 띄운다. 플래그 매니징부(33)는 에러 플래그에 대한 정보, 즉 행 코드워드의 개수와 동일한 비트수로 구성된 이레이즈 정보를 저장하고 에러 플래그의 수를 헤아린다. 에러 플래그의 수 n1이 0인 경우(1002단계), 즉 발생된 에러가 모두 정정된 경우에는 더 이상 에러 정정이 수행될 필요가 없으므로 에러 정정을 종료한다. 에러 플래그의 수 n1이 0이 아닌 경우(1002단계), 즉 에러 정정부(32)는 적어도 하나의 에러 플래그가 띄워진 경우에는 해당 코드워드의 모든 바이트에는 에러가 발생된 것으로 간주하여 열 코드워드에 대한 에러 정정을 수행한다. 이 단계에서의 에러 정정은 이레이즈정정을 포함한다. 마찬가지로, 정정 불가능한 에러가 발생된 코드워드에는 에러 플래그를 띄운다(1003단계). 여기서도, 에러 플래그는 종래 방식에 따라 띄워진다. 즉, 정정 가능한 개수를 초과하는 에러가 발생된 코드워드에 대해서는 모두 에러 플래그를 띄운다. 플래그 매니징부(33)는 에러 플래그에 대한 정보, 즉 열 코드워드의 개수와 동일한 비트수로 구성된 이레이즈 정보를 저장하고 에러 플래그의 수를 헤아린다. 에러 플래그의 수 n2가 0인 경우(1004단계), 즉 발생된 에러가 모두 정정된 경우에는 더 이상 에러 정정이 수행될 필요가 없으므로 에러 정정을 종료한다.
에러 플래그의 수 n2가 0이 아닌 경우(1004단계), 플래그 매니징부(33)는 에러 플래그의 수 n2를 행 코드워드에 대해 이레이즈 정정 가능한 최대 수 A에 비교한다. 에러 플래그의 수 n2가 A보다 작거나 같으면(1005단계) 에러 정정부(32)는 다시 행 코드워드에 대한 에러 정정을 수행하고 정정 불가능한 에러가 발생된 코드워드에 에러 플래그를 띄운다(1006단계). 플래그 매니징부(33)는 에러 플래그에 대한 정보, 즉 열 코드워드의 개수와 동일한 비트수로 구성된 이레이즈 정보를 저장하고 에러 플래그의 수를 헤아린다. 에러 플래그의 수 n3이 0인 경우(1007단계), 즉 발생된 에러가 모두 정정된 경우에는 더 이상 에러 정정이 수행될 필요가 없게 된다. 에러 플래그의 수 n3이 0이 아닌 경우(1007단계), 이를 기초로 에러 정정부(32)는 열 코드워드에 대한 에러 정정을 수행하고 정정 불가능한 에러가 발생된 코드워드에 대해서는 에러 플래그를 띄우고 에러 정정을 종료한다(1008단계).
한편, 에러 플래그의 수 n2가 행 코드워드에 대해 이레이즈 정정 가능한 최대 수 A보다 큰 경우(1005단계) 플래그 매니징부(33)에 의해 에러 플래그 매니먼트가 수행된다(1009단계). 에러 플래그 매니지먼트 수행 결과에 따라 ① 또는 ② 단계로 넘어간다.
도 11은 에러 플래그 매니지먼트를 설명하기 위한 플로우챠트이다.
도 11을 참조하면, 열 코드워드에 대한 에러 정정을 수행한 횟수가 2 회 이상인 경우(1101단계), 도 10의 1006단계로 넘어가서 그에 따른 각 단계를 수행한다. 열 코드워드에 대한 에러 정정을 수행한 횟수가 2 회 미만인 경우(1101단계), 도 10의 1001단계에서 수행된 행 코드워드에 대한 에러 정정을 수행한 결과에 대해 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시한다(1102단계). 다음으로, 도 10의 1003단계로 넘어가서 새롭게 표시된 에러 플래그를 기초로 열 코드워드에 대한 에러 정정을 수행하게 된다. 상기 1102단계에서의 에러 플래그 매니먼트를 통해 버스트 에러를 제외한 부분적인 에러는 무시된 이레이즈 정보가 다음 단계의 열 코드워드에 대한 에러 정정시 반영되므로 에러 정정율이 향상된다.
도 12 및 13은 도 11의 에러 플래그 매니지먼트의 구현 예를 설명한 플로우챠트이다.
도 12를 참조하면, 연속적으로 배치된 적어도 2 개의 코드워드에 정정 불가능한 에러가 발생된 경우에만 에러 플래그를 띄운다(1201단계). 이 때 종래 방식에 따라 띄워진 에러 플래그에 기초한 이레이즈 정보와 상기 1201단계에서 띄워진에러 플래그에 기초한 이레이즈 정보를 각각 Erase[i] 및 Erase_Manager[i]라고 하면, 양자는 다음 [수학식 1]과 같은 관계로 나타낼 수 있다.
Erase_Manager[i] = Erase[i], i = 0 또는 207
Erase_Manager[i] = (Erase[i-1] AND Erase[i]) OR (Erase[i] AND Erase[i+1]), 1≤i≤206
플래그 매니징부(33)는 위의 [수학식 1]을 기초로 기존의 이레이즈 정보를 업데이트할 수 있게 된다.
도 13을 참조하면, 연속적으로 3 행 이상 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 3 개 이상의 행 코드워드에 에러가 발생한 경우에는 맨 위와 맨 아래 행 코드워드에 발생된 정정 불가능한 에러는 무시하고 나머지 행 코드워드에 대해서만 에러 플래그를 띄운다.(1301단계). 여기서, 종래 방식에 따라 띄워진 에러 플래그에 기초한 이레이즈 정보와 상기 1301단계에서 띄워진 에러 플래그에 기초한 이레이즈 정보를 각각 Erase[i] 및 Erase_Manager[i]라고 하면, 양자는 다음 [수학식 2]과 같은 관계로 나타낼 수 있다.
Erase_Manager[i] = Erase[i], i = 0 또는 207
Erase_Manager[i] = (Erase_Manager[i-1] AND Erase_Manager[i]) AND (Erase_Manager[i] AND Erase_Manager[i+1]), 1≤i≤206
플래그 매니징부(33)는 위의 [수학식 2]를 기초로 기존의 이레이즈 정보를업데이트할 수 있게 된다.
본 발명에 따른 에러 플래그 매니징 방식을 채용한 디코딩 방법의 효과를 살펴보기 위한 시뮬레이션 결과는 다음과 같다.
Reed-Solomon Product Code를 기초로 생성된 208×182의 ECC 블록을 8/16 채널 변조 방식을 채용하여 3T(T는 채널 클럭의 1 주기)의 마크 길이를 0.4㎛로 기록한 DVD의 표면에 트랙 방향으로 3.936mm 정도의 스크래치가 발생하였다면 이로 인해 발생되는 버스트 에러는 약 29520 채널 비트 = 14760 데이터 비트에 해당되고 행 코드워드 약 10 행에 해당된다.
4 단계 에러 정정(행 코드워드 정정 → 열 코드워드 정정 → 행 코드워드 정정 → 열 코드워드 정정)을 하는 경우, 도 7 및 8과 같은 형태로 에러가 발생된 ECC 블록의 경우 종래 기술에 따른 디코딩 방법으로는 그 에러 정정 회수를 아무리 증가시키더라도, 즉 아무리 많은 반복 정정을 수행하더라도 정정이 불가능하다. 하지만 4 단계 에러 정정을 수행한다고 할 때 2 단계 에러 정정이 완료된 후, 1 단계에서 종래 방식에 따라 표시된 에러 플래그들을 기초로 얻어진 이레이즈 정보 Erase[i]를 위의 수학식 1 및 2에 따라 변형한 다음(매니징한 다음), 다시 한번 열 코드워드 정정을 수행한다면 도 7 및 8의 에러 패턴들도 정정이 가능하다.
한편, 일부 에러를 무시하는 에러 플래그 매니지먼트의 구체적인 알고리즘은 다양하게 정할 수 있다. 나아가, 전술한 실시예에서는 4 단계 에러 정정시 1 단계에서 항상 행 코드워드에 대한 정정이 수행되는 경우를 예로 들었으나, 열 코드워드에 대한 정정이 수행될 수 있음은 물론이다.
전술한 바와 같이, 본 발명에 따르면 일부 에러를 무시하는 에러 플래그 매니지먼트를 통해 종래 에러 정정 불가능한 경우에도 에러 정정이 가능한 디코딩 방법 및 그 장치가 제공된다.

Claims (17)

  1. 인코딩된 데이터를 디코딩하는 방법에 있어서,
    (a) 에러 정정 블록의 행 방향과 열 방향 중 어느 하나의 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계;
    (b) 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시하는 단계; 및
    (c) 표시된 에러 플래그를 기초로, 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 (b)단계는
    (b1) 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하는 단계임을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 (b)단계는
    (b2) 연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된 에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 단계임을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 (c)단계는
    상기 에러 플래그가 표시된 코드워드에 포함된 모든 데이터는 정정 불가능한 에러가 발생된 것으로 간주함을 특징으로 하는 방법.
  5. 인코딩된 데이터를 디코딩하는 방법에 있어서,
    (a) 에러 정정 블록의 행 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계;
    (b) 정정 불가능한 에러가 발생된 코드워드에 삭제 플래그를 표시하는 단계;
    (c) 표시된 에러 플래그를 기초로, 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계;
    (d) 상기 (a) 단계의 수행 결과 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시하는 단계; 및
    (e) 상기 (d)단계에서 표시된 에러 플래그를 기초로, 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    (f) 정정 불가능한 에러가 발생된 코드워드에 에러 플래그를 표시하는 단계; 및
    (g) 상기 (f)단계에서 표시된 에러 플래그를 기초로 상기 (a)단계를 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 (d)단계는
    (d1) 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하는 단계임을 특징으로 하는 방법.
  8. 제5항 또는 제6항에 있어서,
    상기 (d)단계는
    (d2) 연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 단계임을 특징으로 하는 방법.
  9. 정보저장매체로부터 데이터를 독출하는 독출부;
    독출된 데이터를 채널 복조하는 복조부; 및
    복조된 데이터로부터 에러 정정 블록을 생성하고, 생성된 에러 정정 블록의 행 방향과 열 방향 중 어느 하나의 방향으로 배치된 코드워드에 대한 에러 정정을 수행하며, 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그를 표시하며, 표시된 에러 플래그를 기초로, 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 디코딩부를 포함하는 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 디코딩부는
    연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하는 것을 특징으로 하는 장치.
  11. 제9항에 있어서,
    상기 디코딩부는
    연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된 에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 것을 특징으로 하는 장치.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 디코딩부는
    상기 에러 플래그가 표시된 코드워드에 포함된 모든 데이터는 정정 불가능한 에러가 발생된 것으로 간주하여 상기 나머지 방향으로 배치된 코드워드에 대한 에러 정정을 수행하는 것을 특징으로 하는 장치.
  13. ECC 블록을 생성하는 ECC 블록 생성부;
    에러 정정 블록의 행 방향으로 배치된 코드워드에 대한 에러 정정을 수행하고, 정정 불가능한 에러가 발생된 코드워드에 에러 플래그를 표시한 다음 표시된 에러 플래그를 기초로, 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 수행하며, 매니징 결과에 따라 표시된 에러 플래그를 기초로 상기 에러 정정 블록의 열 방향으로 배치된 코드워드에 대한 에러 정정을 다시 수행하는 에러 정정부; 및
    상기 행 코드워드에 대한 에러 정정 결과에 대해 정정 불가능한 에러가 발생된 코드워드 중 적어도 일부를 제외한 나머지에 대해서만 에러 플래그가 표시되도록 플래그 매니징부를 포함하는 것을 특징으로 하는 장치.
  14. 제13항에 있어서,
    상기 플래그 매니징부는
    연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에 대해서만 에러 플래그를 표시하는 것을 특징으로 하는 장치.
  15. 제14항에 있어서,
    상기 플래그 매니징부는
    상기 행 코드워드의 갯수가 208개일 때, 정정 불가능한 에러가 발생된 경우 띄워진 에러 플래그에 기초한 이레이즈 정보를 Erase[i]라 하고, 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에만 띄워진 에러 플래그에 기초한 이레이즈 정보를 Erase_Manager[i]라 하면, 다음 식의 관계를 갖는 것을 특징으로 하는 장치.
    Erase_Manager[i] = Erase[i], i = 0 또는 207
    Erase_Manager[i] = (Erase[i-1] AND Erase[i]) OR (Erase[i] AND Erase[i+1])
  16. 제13항에 있어서,
    상기 플래그 매니징부는
    연속적으로 배치된 적어도 세 개의 코드워드에 정정 불가능한 에러가 발생되지 않은 경우에는 이를 무시하고 연속적으로 배치된 세 개 이상의 코드워드에 정정 불가능한 에러가 발생한 경우에는 맨 위와 맨 아래의 코드워드에 발생된 에러는 무시하고 나머지 코드워드에 대해서만 에러 플래그를 표시하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서,
    상기 플래그 매니징부는
    상기 행 코드워드의 갯수가 208개일 때, 정정 불가능한 에러가 발생된 경우 띄워진 에러 플래그에 기초한 이레이즈 정보를 Erase[i]라 하고, 연속적으로 배치된 적어도 두 개의 코드워드에 정정 불가능한 에러가 발생된 경우에만 띄워진 에러 플래그에 기초한 이레이즈 정보를 Erase_Manager[i]라 하면, 다음 식의 관계를 갖는 것을 특징으로 하는 장치.
    Erase_Manager[i] = Erase[i], i = 0 또는 207
    Erase_Manager[i] = (Erase_Manager[i-1] AND Erase_Manager[i]) AND (Erase_Manager[i] AND Erase_Manager[i+1]), 1≤i≤206
KR1020020003856A 2002-01-23 2002-01-23 디코딩 방법 및 그 장치 KR100856399B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020020003856A KR100856399B1 (ko) 2002-01-23 2002-01-23 디코딩 방법 및 그 장치
TW092100388A TWI251212B (en) 2002-01-23 2003-01-09 Decoding method and apparatus therefor
US10/347,524 US7137045B2 (en) 2002-01-23 2003-01-21 Decoding method and apparatus therefor
JP2003013698A JP3737484B2 (ja) 2002-01-23 2003-01-22 デコーディング方法及びその装置
CNB031075819A CN1220208C (zh) 2002-01-23 2003-01-23 解码方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020003856A KR100856399B1 (ko) 2002-01-23 2002-01-23 디코딩 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20030063629A true KR20030063629A (ko) 2003-07-31
KR100856399B1 KR100856399B1 (ko) 2008-09-04

Family

ID=27607005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020003856A KR100856399B1 (ko) 2002-01-23 2002-01-23 디코딩 방법 및 그 장치

Country Status (5)

Country Link
US (1) US7137045B2 (ko)
JP (1) JP3737484B2 (ko)
KR (1) KR100856399B1 (ko)
CN (1) CN1220208C (ko)
TW (1) TWI251212B (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664987B2 (en) * 2003-05-25 2010-02-16 Sandisk Il Ltd. Flash memory device with fast reading rate
GB2407946A (en) * 2003-11-05 2005-05-11 Nokia Corp Forward Error Correction decoder suitable for use with data comprising variable padding
JP4056488B2 (ja) * 2004-03-30 2008-03-05 エルピーダメモリ株式会社 半導体装置の試験方法及び製造方法
US7328395B1 (en) 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US20060168499A1 (en) * 2005-01-27 2006-07-27 Edwards Jathan D Data archive verify software
US20060256615A1 (en) * 2005-05-10 2006-11-16 Larson Thane M Horizontal and vertical error correction coding (ECC) system and method
US20100169742A1 (en) * 2008-12-29 2010-07-01 Texas Instruments Incorporated Flash memory soft error recovery
US8132073B1 (en) * 2009-06-30 2012-03-06 Emc Corporation Distributed storage system with enhanced security
WO2012092902A2 (zh) * 2012-02-14 2012-07-12 华为技术有限公司 一种译码方法和译码装置
CN104425018B (zh) 2013-08-23 2019-07-23 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN104424127A (zh) 2013-08-23 2015-03-18 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN104425019B (zh) 2013-08-23 2018-07-06 慧荣科技股份有限公司 存取快闪存储器中存储单元的方法以及使用该方法的装置
CN104424040B (zh) * 2013-08-23 2017-10-31 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
JP6028709B2 (ja) * 2013-10-18 2016-11-16 ソニー株式会社 記憶制御装置、記憶装置、情報処理システムおよびその記憶制御方法
US10230401B2 (en) 2015-03-10 2019-03-12 Toshiba Memory Corporation Memory controller for a non-volatile memory, memory system and method
KR20190030923A (ko) * 2017-09-15 2019-03-25 에스케이하이닉스 주식회사 에러 정정 회로, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10831596B2 (en) * 2018-01-22 2020-11-10 Micron Technology, Inc. Enhanced error correcting code capability using variable logical to physical associations of a data block
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
CN111902804B (zh) 2018-06-25 2024-03-01 阿里巴巴集团控股有限公司 用于管理存储设备的资源并量化i/o请求成本的系统和方法
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US10860420B2 (en) * 2019-02-05 2020-12-08 Alibaba Group Holding Limited Method and system for mitigating read disturb impact on persistent memory
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2751201B2 (ja) * 1988-04-19 1998-05-18 ソニー株式会社 データ伝送装置及び受信装置
JP3154607B2 (ja) * 1993-12-28 2001-04-09 三菱電機株式会社 誤り訂正復号装置及び誤り訂正復号方法
JP3708619B2 (ja) 1996-03-25 2005-10-19 株式会社東芝 消失フラグを用いたエラー訂正システム
JP3562544B2 (ja) * 1996-08-13 2004-09-08 ソニー株式会社 復号化装置および復号化方法
WO1998014940A1 (fr) * 1996-09-30 1998-04-09 Sony Corporation Dispositif de reproduction et dispositif et procede de correction d'erreurs
JP3708646B2 (ja) * 1996-10-24 2005-10-19 株式会社東芝 誤り訂正回路
KR100219495B1 (ko) * 1996-10-28 1999-09-01 윤종용 디브이디의 에러정정코드 싱크보호회로
US6047395A (en) * 1998-01-30 2000-04-04 Cirrus Logic, Inc. Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
US5974529A (en) * 1998-05-12 1999-10-26 Mcdonnell Douglas Corp. Systems and methods for control flow error detection in reduced instruction set computer processors
KR100265769B1 (ko) * 1998-05-19 2000-09-15 윤종용 광 디스크 시스템에서의 에러 정정 장치 및 그 에러 정정 방법
US6115837A (en) * 1998-07-29 2000-09-05 Neomagic Corp. Dual-column syndrome generation for DVD error correction using an embedded DRAM
KR100611956B1 (ko) * 1999-08-19 2006-08-11 삼성전자주식회사 에러 정정 방법과 장치

Also Published As

Publication number Publication date
JP2003281834A (ja) 2003-10-03
TWI251212B (en) 2006-03-11
CN1440034A (zh) 2003-09-03
CN1220208C (zh) 2005-09-21
TW200302454A (en) 2003-08-01
JP3737484B2 (ja) 2006-01-18
US7137045B2 (en) 2006-11-14
US20030145274A1 (en) 2003-07-31
KR100856399B1 (ko) 2008-09-04

Similar Documents

Publication Publication Date Title
KR100856399B1 (ko) 디코딩 방법 및 그 장치
US7363571B2 (en) Data processing method and apparatus, recording medium, reproducing method and apparatus using the same method
EP1750264B1 (en) Error detecting code calculation circuit, error detecting code calculation method, and recording apparatus
JP4308922B2 (ja) マルチワード情報を符号化する方法
JP4854588B2 (ja) ディジタル光メディアにおいて使用されるコードワードおよびコードワードを生成する方法
KR100378181B1 (ko) Efm/efm+ 디코딩에 의해 검출된 에러위치를 이용한c1/pi 워드의 에러정정 방법 및 장치
JP2000059236A (ja) 誤り検出・訂正方法
CN101452721B (zh) 解码装置及方法
Liu et al. Error-correction codes for optical disk storage
JP2004005949A (ja) 記録媒体
KR100784740B1 (ko) 에러 검출 코드 산출 회로, 에러 검출 코드 산출 방법, 및 레코딩 장치
KR20040067102A (ko) 고밀도 광디스크의 에러정정 블록 엔코딩 및 디코딩 방법
KR20040067104A (ko) 고밀도 광디스크의 에러정정 블록 엔코딩 및 디코딩 방법
JP2006344298A (ja) データ記録方法、データ記録装置、記録媒体、データ再生方法、およびデータ再生装置
KR20040099947A (ko) 광 디스크의 에러정정코드블록 생성방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 9