KR20110111108A - 반도체 장치 및 이의 복호 방법 - Google Patents

반도체 장치 및 이의 복호 방법 Download PDF

Info

Publication number
KR20110111108A
KR20110111108A KR1020100030507A KR20100030507A KR20110111108A KR 20110111108 A KR20110111108 A KR 20110111108A KR 1020100030507 A KR1020100030507 A KR 1020100030507A KR 20100030507 A KR20100030507 A KR 20100030507A KR 20110111108 A KR20110111108 A KR 20110111108A
Authority
KR
South Korea
Prior art keywords
decoder
parity
decoding
encoded data
decoded
Prior art date
Application number
KR1020100030507A
Other languages
English (en)
Other versions
KR101678053B1 (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 KR1020100030507A priority Critical patent/KR101678053B1/ko
Priority to US13/069,834 priority patent/US8522124B2/en
Publication of KR20110111108A publication Critical patent/KR20110111108A/ko
Application granted granted Critical
Publication of KR101678053B1 publication Critical patent/KR101678053B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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

Landscapes

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

Abstract

반도체 장치 및 이의 복호 방법이 개시된다. 본 발명의 일실시예에 따른, 인코딩부 및 디코딩부를 구비하는 ECC(Error Control Coding) 회로에 있어서, 상기 디코딩부는 제1 패리티 및 제2 패리티를 포함하는 인코디드 데이터를 수신한 후에 상기 제1 패리티를 이용해서 제1 코드로 복호하는 제1 디코더; 상기 제1 디코더와 연결되고, 상기 수신된 인코디드 데이터에서 상기 제1 패리티를 제거한 후에 상기 제2 패리티를 이용해서 복호화하거나 상기 제1 코드에서 상기 제2 패리티를 이용해서 복호하는 제2 디코더; 및 상지 제1 디코더 및 상기 제2 디코더를 제어하는 제어 신호를, 상기 제1 디코더 및 상기 제2 디코더로 전송하는 제어부를 구비한다.

Description

반도체 장치 및 이의 복호 방법 {Semiconductor device and decoding method thereof}
본 발명은 반도체 장치 및 이의 복호 방법에 관한 것으로, 특히 ECC(Error Control Coding)의 BER(bit error rate) 성능을 향상시키면서도 전력 소모를 줄일 수 있는 반도체 장치 및 이의 복호 방법에 관한 것이다.
전자 장치의 발전으로, 반도체 장치 내부의 소자들 사이 또는 반도체 장치들 사이에 고속 통신이 수행된다. 또한, 반도체 장치는 고속화 및 소형화가 요구된다. 따라서, 반도체 장치 내부의 소자들 사이 또는 반도체 장치들 사이에 송수신 되는 데이터에 존재하는 에러를 빨리 검출하면서도 전력 소모를 줄이기 위한 연구들이 이루어지고 있다.
본 발명이 이루고자 하는 기술적 과제는, ECC(Error Control Coding)의 비트 오류율(bit error rate) 성능을 향상시키면서도 전력 소모를 줄일 수 있는 반도체 장치 및 이의 복호 방법을 제공하는 것에 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일실시예에 따른, 인코딩부 및 디코딩부를 구비하는 ECC(Error Control Coding) 회로에 있어서, 상기 디코딩부는 제1 패리티 및 제2 패리티를 포함하는 인코디드 데이터를 수신한 후에 상기 제1 패리티를 이용해서 제1 코드로 복호하는 제1 디코더; 상기 제1 디코더와 연결되고, 상기 수신된 인코디드 데이터에서 상기 제1 패리티를 제거한 후에 상기 제2 패리티를 이용해서 복호화하거나 상기 제1 코드에서 상기 제2 패리티를 이용해서 복호하는 제2 디코더; 및 상지 제1 디코더 및 상기 제2 디코더를 제어하는 제어 신호를, 상기 제1 디코더 및 상기 제2 디코더로 전송하는 제어부를 구비한다.
바람직하게는, 상기 제어 신호는, 상기 제2 디코더가 디코딩 동작을 실패하는 때에, 상기 제1 디코더를 선택적으로 활성화시킬 수 있다.
바람직하게는, 상기 제1 디코더와 상기 제2 디코더는 동시에 활성화될 수 있다. 이때, 상기 제어부는, 상기 제2 디코더가 디코딩 동작을 패스하면, 상기 제1 디코더를 비활성화 시킬 수 있다.
바람직하게는, 상기 제1 디코더는, 상기 인코디드 데이터에 포함되는 정보를 분할한 복수개의 서브 정보들에 대하여 순차적 또는 병렬적으로 디코딩할 수 있다. 상기 인코디드 데이터에 포함되는 정보를 분할한 복수개의 서브 정보들에 대하여 병렬적으로 디코딩하는 경우, 상기 제1 디코더는, 각각 서브 정보들을 디코딩하는 서브 디코더들을 복수개 구비할 수 있다. 이때, 상기 제어 신호에 응답하여, 상기 복수개의 서브 디코더들을 모두 비활성화하거나 적어도 하나 이상 활성화될 수 있다.
바람직하게는, 상기 제어부는, 채널 환경에 따라, 상기 서브 정보들 중 디코딩할 서브 정보를 설정할 수 있다. 또는, 상기 제어부는 각각의 상기 서브 정보들에 포함되는 에러의 개수에 따라, 상기 서브 정보들 중 디코딩할 서브 정보를 설정할 수 있다.
바람직하게는, 상기 제2 디코더의 디코딩 동작의 성공 및 실패 여부를 판단하는 판단부가 더 구비될 수 있다.
바람직하게는, 상기 제2 디코더에 의해 출력되는 디코딩 데이터의 에러 개수가 상기 제2 디코더의 에러 정정 능력(error correcting capability)보다 큰 경우, 상기 제어 신호가 활성화될 수 있다.
바람직하게는, 상기 제1 디코더는 소프트 디시젼(soft decision) 및 하드 디시젼(hard decision) 중 하나를 수행하고, 상기 제2 디코더는 소프트 디시젼(soft decision) 및 하드 디시젼(hard decision) 중 하나를 수행할 수 있다.
바람직하게는, 상기 제2 디코더는, 상기 제어 신호에 응답하여 상기 제1 디코더가 활성화되면 상기 제1 코드를 디코딩하고, 상기 제1 디코더가 비활성화되면 상기 인코디드 데이터를 디코딩할 수 있다.
바람직하게는, 상기 ECC 회로는, 반도체 장치에 포함될 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른, 인코딩부 및 디코딩부를 포함하는 ECC(Error Control Coding) 회로를 구비하는 반도체 장치에 있어서, 상기 인코딩부는, 정보에 순차적으로 제1 패리티 및 제2 패리티를 부가하여 인코디드 데이터를 생성하고, 상기 디코딩부는 제1 패리티 및 제2 패리티를 포함하는 인코디드 데이터에서 상기 제1 패리티를 이용해서 제1 코드로 복호하는 제1 디코더; 상기 제1 디코더와 연결되고, 상기 수신된 인코디드 데이터에서 상기 제1 패리티를 제거한 후에 상기 제2 패리티를 이용해서 복호화하거나 상기 제1 코드에서 상기 제2 패리티를 이용해서 복호하는 제2 디코더; 및 상기 제1 디코더 및 상기 제2 디코더를 제어하는 제어 신호를, 상기 제1 디코더 및 상기 제2 디코더로 전송하는 제어부를 구비할 수 있다.
본 발명에 따른 반도체 장치 및 이의 복호 방법에 의하면, 최종적으로 디코딩된 데이터를 출력하는 끝단의 디코더가 디코딩 동작을 실패하는 경우에 한하여 끝단의 디코더의 앞단에 위치하는 적어도 하나 이상의 디코더들을 활성화하거나, 순차적으로 연결된 복수개의 디코더들을 동시에 동작시키되 끝단의 디코더가 디코딩 동작에 성공하면 나머지 디코더들의 동작을 종료시킴으로써, 정확한 디코딩 결과를 얻으면서도, 순차적으로 연결된 복수개의 디코더들에 의한 레이턴시(latency)를 줄여 반도체 장치의 복호 동작을 빠르게 수행하고, 반도체 장치의 전력 소모를 줄일 수 있는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 제1 실시예에 따른 ECC 블록에 포함되는 디코딩부를 나타내는 도면이다.
도 2는 도 1의 각 데이터 및 각 코드들을 더 자세히 나타내는 도면이다.
도 3은 도 1의 제1 디코더들의 구조를 더 자세히 나타내는 도면이다.
도 4는 본 발명의 제2 실시예를 나타내는 도면이다.
도 5는 채널 환경에 따른 도 1의 디코딩부의 비트 에러비(BER)의 변화를 나타내는 도면이다.
도 6은 본 발명의 제3 실시예를 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른 반도체 장치를 나타내는 도면이다.
도 8은 도 7의 ECC 블록에 포함되는 인코딩부 및 디코딩부의 제1 실시예를 나타내는 도면이다.
도 9는 도 8의 각 데이터 및 각 코드들에 대한 일 예를 나타내는 도면이다.
도 10은 도 8의 각 데이터 및 각 코드들에 대한 다른 예를 나타내는 도면이다.
도 11는 도 8의 디코딩부에 대한 제1 실시예를 나타내는 도면이다.
도 12는 도 8의 디코더들의 종류를 나타내는 도면이다.
도 13은 본 발명의 실시예에 따른 컴퓨팅 시스템을 나타내는 도면이다.
도 14는 본 발명의 실시예에 따른 메모리 카드를 나타내는 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 제1 실시예에 따른 ECC 블록에 포함되는 디코딩부를 나타내는 도면이다.
도 1을 참조하면, 본 발명의 제1 실시예에 따른 ECC 블록에 포함되는 디코딩부(100)는 복수개의 제1 디코더들(DEC1, DEC2, ..., DECn-1), 제2 디코더(DECn) 및 제어부(CTL)를 구비한다.
제1 디코더들(DEC1, DEC2, ..., DECn-1)은 순차적으로 연결된다. 제1 디코더들인 디코더들(DEC1, DEC2, ..., DECn-1)은 서로 연결되어, 앞 단의 디코더의 디코딩 결과에 근거하여 디코딩 동작을 수행할 수 있다. 예를 들어, 디코더 DEC2는 디코더 DEC1에 의해 디코딩된 코드 CDE1을 디코딩하여, 코드 CDE2를 출력한다. 다만, 제1 디코더들 중 첫 단에 위치하는 디코더 DEC1은 인코딩(encoding)된 데이터(data)인 인코디드 데이터(EnDTA)를 수신하여 디코딩을 수행한다.
제2 디코더(DECn)는 제1 디코더들 중 끝 단에 위치하는 디코더 DECn-1와 연결된다. 제2 디코더(DECn)는 디코더 DECn-1에 의해 디코딩된 코드 CDEn-1을 디코딩하여, 최종적으로 정보(inf)만을 포함하는 디코디드 데이터(DecDTA)를 출력할 수 있다.
제1 디코더들(DEC1, DEC2, ..., DECn-1) 및 제2 디코더(DECn)에 의한 디코딩 동작은 도 2에 도시된다. 도 2는 도 1의 각 데이터 및 각 코드들을 더 자세히 나타내는 도면이다.
도 2를 참조하면, 인코디드 데이터(EnDTA)로 인코딩된 정보(inf)는 서브 정보들(m01, m02, ..., m0x)로 나뉠 수 있다. 인코디드 데이터(EnDTA)는 서브 정보들(m01, m02, ..., m0x)과, 각 서브 정보들(m01, m02, ..., m0x)에 대한 인코딩 결과인 패리티들(p01, p02, ..., p0x)을 포함할 수 있다. 디코더 DEC1은 인코디드 데이터(EnDTA)의 패리티들(p01, p02, ..., p0x) 중 적어도 하나 이상의 패리티들에 근거하여 디코딩 동작을 수행하여, 코드 CDE1을 출력할 수 있다. 디코더 DEC2도 마찬가지로 코드 CDE1의 패리티들(p11, ..., p1y) 중 적어도 하나 이상의 패리티에 근거하여 디코딩 동작을 수행하여, 코드 CDE2을 출력할 수 있다. 같은 방식으로 디코딩하여, 제1 디코더들 중 끝 단에 위치하는 디코더 DECn-1은 하나의 패리티(pn-1)를 포함하는 코드 CDEn-1을 출력할 수 있다.
또한, 제1 디코더들(DEC1, DEC2, ..., DECn-1) 각각은 서브 정보들(m01, m02, ..., m0x)을 병렬적으로 디코딩하기 위하여, 복수개의 서브 디코더들을 구비할 수 있다. 도 3은 도 1의 제1 디코더들의 구조를 더 자세히 나타내는 도면이다. 도 3은 특히, 제1 디코더들 중 첫 단에 위치하는 디코더 DEC1에 대한 예를 도시한다.
도 3을 참조하면, 디코더 DEC1은 인코디드 데이터(EnDTA)에 포함되는 서브 정보들(m01, m02, ..., m0x)의 개수만큼, 서브 디코더들(SubDEC11, SubDEC12, SubDEC1x)을 구비할 수 있다. 다만, 이에 한정되는 것은 아니라, 서브 디코더들 각각은 복수개의 서브 정보들을 순차적으로 디코딩할 수 있다. 이 경우, 먼저 디코딩된 서브 정보를 임시적으로 저장하기 위한 레지스터(미도시) 등이 더 구비될 수 있다.
다시 도 2를 참조하면, 전술한 바와 같이, 도 1의 제2 디코더(DECn)는, 제1 디코더들 중 끝 단에 위치하는 디코더 DECn-1에 의해 디코딩된 코드 CDEn-1을 디코딩하여, 최종적으로 정보(inf)만을 포함하는 디코디드 데이터(DecDTA)를 출력할 수 있다.
다시 도 1을 참조하면, 본 발명의 실시예에 따른 제1 디코더들(DEC1, DEC2, ..., DECn-1)은 또한, 각각 인코디드 데이터(EnDTA)를 수신할 수 있다. 즉, 도 1의 제1 디코더들(DEC1, DEC2, ..., DECn-1) 및 제2 디코더(DECn)는 전술한 바와 같이, 앞 단의 디코더로부터 출력된 코드를 디코딩하거나, 인코디드 데이터(EnDTA)를 수신하여 디코딩할 수도 있다. 단, 제1 디코더들 중 첫 단에 위치하는 디코더 DEC1은 항상 인코디드 데이터(EnDTA)를 수신하여 디코딩한다.
각 디코더들이 앞 단의 디코더로부터 출력된 코드를 디코딩할지, 아니면 인코디드 데이터(EnDTA)를 수신하여 디코딩할지는 제어 신호(XCON)에 의해 설정된다. 제어 신호(XCON)는 제어부(CTL)에 의해 생성된다. 제어부(CTL)는 제2 디코더(DECn)가 디코딩 동작을 실패(fail)하면, 제2 디코더(DECn)가 제1 디코더들 중 끝 단의 디코더 DECn-1로부터 전송되는 코드 CDEn-1을 디코딩하여 디코디드 데이터(DecDTA)를 생성하도록 제어하는 제어 신호(XCON)를, 제1 디코더들(DEC1, DEC2, ..., DECn-1) 및 제2 디코더(DECn)로 전송한다.
다만, 이에 한정되는 것은 아니다. 제2 디코더(DECn)가, 제1 디코더들 중 끝 단의 디코더 DECn-1가 아닌, 디코더 DEC1이나 DEC2 등에서 출력되는 코드 CDE1나 CDE2를 디코딩하도록 제어 신호(XCON)가 생성될 수 있다. 구체적으로 설명한다.
제2 디코더(DECn)가 디코딩 동작을 실패(fail)하였는지 여부는 제어부(CTL)에 의해 판단될 수 있다. 다만, 이에 한정되는 것은 아니다. 본 발명의 제2 실시예를 나타내는 도 4를 참조하면, 제어부(CTL)와 별도로, 제2 디코더(DECn)의 디코딩 결과(ResDECn)를 수신하여, 제2 디코더(DECn)가 디코딩 동작을 실패(Fail)/패스(Pass) 여부를 판단할 수 있는 판단부(DPF)가 더 구비될 수 있다. 판단부(DPF)는 판단 결과(XPF)를 제어부(CTL)로 전송할 수 있다.
계속해서 도 1을 참조하면, 제1 디코더들(DEC1, DEC2, ..., DECn-1)은 비활성화된 상태에서, 제2 디코더(DECn)가 인코디드 데이터(EnDTA)를 직접 디코딩하여 디코디드 데이터(DecDTA)를 생성할 수 있다. 이때, 만약 제2 디코더(DECn)가 디코딩 동작을 실패하면, 제어부(CTL)는 제어 신호(XCON)를 통해, 제1 디코더들(DEC1, DEC2, ..., DECn-1) 중 일부 또는 전부를 활성화시킬 수 있다. 예를 들어, 제어부(CTL)는 제1 디코더들(DEC1, DEC2, ..., DECn-1) 각각과 제2 디코더(DECn)의 활성화 여부에 따라 논리 레벨을 달리하는 제어 신호(XCON)를 생성하여 인가할 수 있다.
제1 디코더들(DEC1, DEC2, ..., DECn-1) 전부가 활성화되면, 제1 디코더들(DEC1, DEC2, ..., DECn-1)은 앞 단의 디코더로부터 출력된 코드를 디코딩하여 출력한다. 이때, 제1 디코더들 중 첫 단에 위치하는 디코더 DEC1은 예외적으로 인코디드 데이터(EnDTA)를 수신한다는 것은 전술되었다. 그리고, 이 경우, 제2 디코더(DECn)가 제1 디코더들 중 끝 단의 디코더 DECn-1로부터 전송되는 코드 CDEn-1을 디코딩하여 디코디드 데이터(DecDTA)를 생성한다. 반면, 제1 디코더들(DEC1, DEC2, ..., DECn-1)이 선택적으로 활성화되면, 제1 디코더들(DEC1, DEC2, ..., DECn-1) 및 제2 디코더(DECn)는 임의의 디코더로부터 디코딩된 코드를 수신한다. 전술된 예와 같이, 제2 디코더(DECn)가 디코더 DEC1이나 DEC2 등에서 출력되는 코드 CDE1나 CDE2를 디코딩할 수 있다.
제어부(CTL)는 제2 디코더(DECn)가 디코딩 동작을 실패하면, 인코디드 데이터(EnDTA)가 전송되는 채널 환경에 근거하여, 제1 디코더들(DEC1, DEC2, ..., DECn-1)을 선택적으로 활성화시킬 수 있다. 또는 도 3의 예와 같이, 채널 환경에 근거하여 서브 디코더들(SubDEC11, SubDEC12, ..., SubDEC1x)을 선택적으로 활성화할 수 있다. 서브 디코더들 각각이 복수개의 서브 정보들을 순차적으로 디코딩 하는 경우, 디코딩하는 서브 정보들의 개수를 선택적으로 조정할 수 있다. 예를 들어, 도 3을 참조하면, 한 개의 서브 디코더가 x개의 모든 서브 정보들을 처리할 수도 있고, 채널 환경에 근거하여 x개 이하의 서브 정보들을 처리할 수도 있다.
도 5는 채널 환경에 따른 도 1의 디코딩부의 비트 에러비(BER)의 변화를 나타내는 도면이다.
도 5를 참조하면, 채널 환경이 좋을수록 (디코디드 BER이 작아지는 방향, 로우(RAW) BER이 작아지는 방향) 디코딩된 데이터의 비트 에러비(BER)와 디코딩되지 않은 데이터의 비트 에러비(BER)가 모두 크다. 그러나, 채널 환경이 나쁠수록, 디코딩된 데이터의 비트 에러비(BER)가 급격히 나빠지는 것을 알 수 있다. 채널 환경에 대한 영향은 디코더가 하드 디시젼(HD: Hard Decision)으로 디코딩하는지 소프트 디시젼(SD: Soft Decision)으로 디코딩하는지에 따라 달라질 수 있다. 또한, 2 비트 소프트 디시젼에 의하는지 3 비트 소프트 디시젼에 의하는지에 따라 달라질 수 있다.
이상에서는 제1 디코더들(DEC1, DEC2, ..., DECn-1)은 비활성화되고 제2 디코더(DECn)만 활성화되는 초기 상태에서의 디코딩 동작에 대하여 알아 보았다. 나아가, 본 발명의 다른 실시예에 따른 제1 디코더들(DEC1, DEC2, ..., DECn-1) 및 제2 디코더(DECn)는 동시에 활성화되어, 각각의 디코딩 동작을 수행할 수도 있다. 이 경우, 본 발명의 제3 실시예(600)를 나타내는 도 6에 도시되는 바와 같이, 제1 디코더들(DEC1, DEC2, ..., DECn-1)은 순차적으로 앞단의 디코더에 의해 출력된 코드들을 수신하여 디코딩 동작을 수행하거나, 모두 동시에 디코딩을 수행할 수 있다. 또한, 제1 디코더들(DEC1, DEC2, ..., DECn-1) 중 일부인 복수개의 디코더들이 동시에 디코딩을 수행할 수 있다. 제1 디코더들(DEC1, DEC2, ..., DECn-1) 중 적어도 둘 이상의 디코더가 동시에 디코딩을 수행할 경우, 도 1과 같이, 인코디드 데이터(EnDTA)가 동시에 디코딩을 수행하는 제1 디코더들 각각에 입력될 수 있다.
제2 디코더(DECn)는 제1 디코더들(DEC1, DEC2, ..., DECn-1)과 동시에, 인코디드 데이터(EnDTA)를 수신하여 디코디드 데이터(DecDTA)로 디코딩할 수도 있다.
제어부(CTL)는 제어 신호(XCON)를 통해, 제2 디코더(DECn)의 디코딩 동작이 패스(Pass)되는 경우, 활성화되어 있는 제1 디코더들(DEC1, DEC2, ..., DECn-1)의 디코딩 동작을 비활성화시킬 수 있다. 이 경우, 제1 디코더들(DEC1, DEC2, ..., DECn-1)의 디코딩 결과는 사용되지 아니한다.
반면, 제2 디코더(DECn)의 디코딩 동작을 실패(fail)하게 되면, 제어부(CTL)는 제어 신호(XCON)를 통해, 제2 디코더(DECn)가 제1 디코더들(DEC1, DEC2, ..., DECn-1)의 디코딩 결과(코드)를 수신하여 디코딩 동작을 수행하도록 제어한다. 이때, 본 발명의 실시예에 따른 제어부(CTL)는, 제2 디코더(DECn)가 디코딩 동작을 실패하면, 제2 디코더(DECn)의 에러 정정 능력(error correcting capability) 및 각 코드에 존재하는 에러 비트의 개수에 근거하여, 제1 디코더들(DEC1, DEC2, ..., DECn-1)의 디코딩 결과(코드)를 선택적으로 사용할 수 있다.
이상에서는 제1 디코더들 각각에 의해 생성되는 코드들에 포함되는 에러 비트의 개수에 따른 제어부의 동작을 설명하였다. 다만, 이에 한정되는 것은 아니고, 도 3의 서브 디코더들을 구비하는 경우, 각 서브 디코더들의 디코딩 결과에 포함되는 에러 비트의 개수에 근거하여, 제어부는 제어 동작을 수행할 수도 있다.
이상에서 살펴본 바와 같이, 본 발명의 실시예에 따른 디코딩부는, 제2 디코더가 바로 인코디드 데이터를 디코딩하여 디코디드 데이터를 생성하되, 제2 디코더의 디코딩 동작이 실패한 때에 한하여 제1 디코더에 의해 디코딩된 코드에 대하여 제2 디코더가 디코딩 동작을 수행함으로써, 정확한 디코딩 결과를 얻으면서도, 순차적으로 연결된 복수개의 디코더들에 의한 레이턴시(latency)를 줄여 반도체 장치의 복호 동작을 빠르게 수행하고, 반도체 장치의 전력 소모를 줄일 수 있다.
이렇듯, 본 발명의 실시예에 의하면, 최종적으로 디코딩된 데이터를 출력하는 끝단의 디코더가 디코딩 동작을 실패하는 경우에 한하여 끝단의 디코더의 앞단에 위치하는 적어도 하나 이상의 디코더들을 활성화하거나, 순차적으로 연결된 복수개의 디코더들을 동시에 동작시키되 끝단의 디코더가 디코딩 동작에 성공하면 나머지 디코더들의 동작을 종료시킴으로써, 순차적으로 연결된 복수개의 디코더들에 의한 레이턴시(latency)를 줄여 반도체 장치의 복호 동작을 빠르게 수행하면서도, 반도체 장치의 전력 소모를 줄일 수 있는 장점이 있다.
이하에서는 도 1 등의 디코딩부가 포함되는 ECC 블록을 구비하는 반도체 장치에 대하여 알아본다. 도 7은 본 발명의 실시예에 따른 반도체 장치를 나타내는 도면이다.
도 7을 참조하면, 본 발명의 실시예에 따른 반도체 장치는 송수신단 사이의 채널을 통해, 인코디드 데이터(EnDTA) 및 디코디드 데이터(DecDTA)가 송수신된다. 인코디드 데이터(EnDTA) 및 디코디드 데이터(DecDTA)는 인터페이스를 통해 송수신단으로 입력되고, 메인 컨트롤러의 제어에 의해 ECC 블록 내에서 인코딩 또는 디코딩된다.
도 7의 반도체 장치는 메모리 장치 또는 통신 장치일 수 있다. 또한, 도 7의 인코디드 데이터(EnDTA) 및 디코디드 데이터(DecDTA)가 전송되는 채널을, 인코디드 데이터(EnDTA) 및 디코디드 데이터(DecDTA)를 전기 신호 또는 광신호로 전송할 수 있다. 인코디드 데이터(EnDTA) 및 디코디드 데이터(DecDTA)가 광신호로 전송되는 경우, 송수신단은 수신한 인코디드 데이터(EnDTA) 및 디코디드 데이터(DecDTA)를 전기 신호로 변환하여 인코딩 및 디코딩 동작을 수행할 수 있다.
도 8은 도 7의 ECC 블록에 포함되는 인코딩부 및 디코딩부의 제1 실시예를 나타내는 도면이다. 도 9는 도 8의 각 데이터 및 각 코드들에 대한 일 예를 나타내는 도면이다. 또한, 도 10은 도 8의 각 데이터 및 각 코드들에 대한 다른 예를 나타내는 도면이다.
도 7 내지 10을 참조하면, 송신단의 인코더는 데이터(정보(inf))를 아우터 인코더를 통해 제1 인코딩하여, 정보(inf)에 제2 패리티(ParOut)가 부가된 제1 인코디드 코드(OutEn-CDE)를 생성한다. 또한, 송신단의 인코더는 이너 인코더를 통해 제2 인코딩하여, 제1 인코디드 코드(OutEn-CDE)에 제1 패리티(InOut)가 부가된 제2 인코디드 코드, 즉 인코디드 데이터(EnDTA)를 생성한다. 즉, 인코디드 데이터(EnDTA)는 정보(inf)에 제1 패리티(ParOut) 및 제2 패리티(InOut)가 부가되어 생성된다. 다만, 이너 인코더는 도 10에 도시되는 바와 같이, 제1 인코디드 코드(OutEn-CDE)의 정보(inf)를 복수개의 서브 정보들(m1, m2, m3, m4)로 분할되어 인코딩될 수 있다. 이 경우, 인코디드 데이터(EnDTA)는 복수개의 서브 정보들(m1, m2, m3, m4)과, 복수개의 서브 정보들(m1, m2, m3, m4) 각각에 대응되는 복수개의 제1 패리티들(p1, p2, p3, p4)을 포함할 수 있다.
송신단의 인코더는에 의해 생성된 인코디드 데이터(EnDTA)는 채널(또는 메모리)로 전달됨에 따라, 에러가 포함될 수 있다. 즉, 이하에서 설명되는 수신단의 디코더로 수신되는 인코디드 데이터(EnDTA)는 에러가 포함될 수 있다.
수신단의 디코더는 수신된 인코디드 데이터(EnDTA)에 대한 디코딩 동작을 수행한다. 구체적으로, 수신단의 디코더는 이너 디코더(InDEC, 제1 디코더)를 통해 제1 디코딩 동작을 수행하여, 수신된 인코디드 데이터(EnDTA)에서 제1 패리티(InOut)가 제거된, 제1 디코디드 코드(InDec_CDE)를 생성할 수 있다. 다음으로, 수신단의 디코더는 아우터 디코더(OutDEC, 제2 디코더)를 통해 제2 디코딩 동작을 수행하여, 수신된 인코디드 데이터(EnDTA)에서 제2 패리티(InOut)가 제거되어 정보(inf)만이 포함된 디코디드 데이터(DecDTA)를 생성할 수 있다.
다만, 수신된 인코디드 데이터(EnDTA)가 복수개의 서브 정보들(m1, m2, m3, m4)과, 복수개의 서브 정보들(m1, m2, m3, m4) 각각에 대응되는 복수개의 제1 패리티들(p1, p2, p3, p4)을 포함하는 경우, 도 10에 도시되는 바와 같이, 이너 디코더(InDEC)는 복수개의 서브 정보들(m1, m2, m3, m4) 각각에 대해 디코딩을 수행하여, 복수개의 서브 정보들(m1, m2, m3, m4) 각각에 대응되는 복수개의 제1 패리티들(p1, p2, p3, p4)을 제거할 수 있다. 이때, 이너 디코더(InDEC)는 복수개의 서브 정보들(m1, m2, m3, m4) 각각에 대해 순차적 또는 병렬적으로 디코딩 동작을 수행할 수 있다. 만약, 이너 디코더(InDEC)가 복수개의 서브 정보들(m1, m2, m3, m4) 각각에 대해 병렬적으로 디코딩 동작을 수행할 경우, 도 8의 이너 디코더에 대한 제1 실시예를 나타내는 도 11에 도시되는 바와 같이, 이너 디코더(InDEC)는 서브 디코더들(Sub_InDec1, Sub_InDec2, Sub_InDec3, Sub_InDec4)을 구비할 수 있다.
이상에서는, 아우터 디코더(OutDEC)가 이너 디코더(InDEC)로부터 전송되는 제1 디코디드 코드(InDec_CDE)를 수신하여 디코딩하는 경우에 한하여 설명하였다. 다만, 이에 한정되는 것은 아니다. 이하에서 설명되는 디코더의 구성 및 동작은 이전에 설명된 도 1 내지 도 7의 디코딩부에 대한 일 실시예에 불과할 수 있다.
따라서, 수신단의 디코더는 이너 디코더(InDEC)를 통해 제1 디코딩 동작을 수행하지 아니하고, 수신된 인코디드 데이터(EnDTA)를 바로 아우터 디코더(OutDEC)에 전송하여, 아우터 디코더(OutDEC)가 인코디드 데이터(EnDTA)를 직접 디코딩할 수 있다. 이때, 아우터 디코더(OutDEC)의 디코딩 동작이 실패(fail)하게 되면, 전술된 바와 같이, 이너 디코더(InDEC)를 활성화할 수 있다.
만약, 이너 디코더(InDEC)가 도 11과 같이, 복수개의 서브 정보들(m1, m2, m3, m4) 각각에 대해 디코딩을 수행하는 경우, 제어부(CTL)는 제어 신호(XCON)를 통해, 복수개의 서브 디코더들을 선택적으로 활성화할 수 있다.
또한, 이너 디코더(InDEC)와 아우터 디코더(OutDEC)가 동시에, 인코디드 데이터(EnDTA)를 수신하여 디코딩 동작을 수행할 수 있다. 이때, 제어부(CTL)는 제어 신호(XCON)를 통해, 아우터 디코더(OutDEC)의 디코딩 동작이 패스(Pass)되는 경우, 활성화되어 있는 이너 디코더(InDEC)의 디코딩 동작을 비활성화시킬 수 있다. 이 경우, 이너 디코더(InDEC)의 디코딩 결과는 사용되지 아니한다. 반면, 아우터 디코더(OutDEC)의 디코딩 동작을 실패(fail)하게 되면, 제어부(CTL)는 제어 신호(XCON)를 통해, 아우터 디코더(OutDEC)가 이너 디코더(InDEC)로부터 디코딩 결과(제1 디코디드 코드)를 수신하여 디코딩 동작을 수행하도록 제어할 수 있다.
도 12는 도 8의 디코더들의 종류를 나타내는 도면이다.
도 12의 (a)에 도시되는 바와 같이, 도 8의 이너 디코더(InDEC)는 소프트 디시젼으로 디코딩을 수행하고 아우터 디코더(OutDEC)는 하드 디시젼으로 디코딩을 수행할 수 있다. 소프트 디시젼은 수신된 데이터에서 확률적 발생 가능성을 고려하여 "0"과 "1" 뿐만 아니라, "0(또는 1)" 중에서도 "0(또는 1)" 일 가능성이 높은 값들과 "0(또는 1)"일 가능성이 낮은 값들을 구분하는 디코딩 방식을 말한다. 반면, 하드 디시젼은 디코딩하고자 하는 데이터를 "0"과 "1" 중 하나로 결정하는 디코딩 방식을 말한다.
또한, 도 12의 (b) 및 (c)에 도시되는 바와 같이, 도 8의 이너 디코더(InDEC) 및 아우터 디코더(OutDEC)가 모두 소프트 디시젼으로 디코딩을 수행하거나, 모두 하드 디시젼으로 디코딩을 수행할 수 있다.
도 13은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블럭도이다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(1300)은 버스(1360)에 전기적으로 연결된 프로세서(1330), 사용자 인터페이스(1350) 및 반도체 메모리 시스템(1310)을 구비한다. 반도체 메모리 시스템(1310)은 메모리 컨트롤러(MC) 및 메모리 장치(ME)를 포함한다. 메모리 장치(ME)에는 마이크로프로세서(1330)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 저장될 것이다. 도 1 등에 도시된 본 발명의 실시예에 따른 디코더(100)는 메모리 컨트롤러(MC) 및 메모리 장치(ME) 중 하나에 구비되는 ECC 블록에 포함될 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(1300)는 파워 공급 장치(1320)를 더 구비할 수 있다. 또한, 메모리 장치(ME)가 플래시 메모리 장치일 경우, 본 발명의 실시예에 따른 컴퓨팅 시스템 장치(1300)는 RAM(1340)를 더 구비할 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(1300)가 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리 및 베이스밴드 칩셋(baseband chipset)과 같은 모뎀이 추가적으로 제공될 수 있다. 또한, 본 발명의 실시예에 따른 컴퓨팅 시스템 장치(00)에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다.
바람직하게는, 메모리 장치(ME)는, 데이터를 저장하는데 불휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
도 14는 본 발명의 실시예에 따른 메모리 카드를 나타내는 도면이다.
도 14를 참조하면, 본 발명의 실시예에 따른 메모리 카드(1400)는 컨트롤러(1420)와 플래시 메모리(FM)를 구비한다. 컨트롤러(1420)는 도 1등에 도시된 본 발명의 실시예에 따른 디코더(100)을 포함하는 ECC(1424)를 구비할 수 있다. 또는, 플래시 메모리(FM)가 도 1등에 도시된 본 발명의 실시예에 따른 디코더(100)을 포함하는 ECC 블록을 구비할 수 있다. 컨트롤러(1420)는 USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다. 도 14에 구비되고 있는 프로세서(1422), SRAM(1421), HOST I/F(1423), MEMORY I/F(1425) 및 버스(1426)의 구조 및 동작은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다.
상기에서 설명된 본 발명의 실시에에 따른 반도체 장치 또는 메모리 장치는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 반도체 장치 또는 메모리 장치가 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (11)

  1. 인코딩부 및 디코딩부를 구비하는 ECC(Error Control Coding) 회로에 있어서,
    상기 디코딩부는,
    제1 패리티 및 제2 패리티를 포함하는 인코디드 데이터를 수신한 후 상기 제1 패리티를 이용해서 제1 코드로 복호하는 제1 디코더;
    상기 제1 디코더와 연결되고, 상기 수신된 인코디드 데이터에서 상기 제1 패리티를 제거한 후에 상기 제2 패리티를 이용해서 복호하거나, 상기 제1 코드에서 상기 제2 패리티를 이용하여 복호하는 제2 디코더; 및
    상기 제1 디코더와 상기 제2 디코더를 제어하는 제어 신호를, 상기 제1 디코더 및 상기 제2 디코더로 전송하는 제어부를 구비하는 것을 특징으로 하는 ECC 회로.
  2. 제1 항에 있어서, 상기 제어 신호는,
    상기 제2 디코더가 디코딩 동작을 실패하는 때에, 상기 제1 디코더를 선택적으로 활성화시키는 것을 특징으로 하는 ECC 회로.
  3. 제1 항에 있어서,
    상기 제1 디코더와 상기 제2 디코더는 동시에 활성화되는 것을 특징으로 하는 ECC 회로.
  4. 제3 항에 있어서, 상기 제어부는,
    상기 제2 디코더가 디코딩 동작을 패스하면, 상기 제1 디코더를 비활성화시키는 것을 특징으로 하는 ECC 회로.
  5. 제1 항에 있어서, 상기 제1 디코더는,
    상기 인코디드 데이터에 포함되는 정보를 분할한 복수개의 서브 정보들에 대하여 순차적 또는 병렬적으로 디코딩하는 것을 특징으로 하는 ECC 회로.
  6. 제5 항에 있어서,
    상기 인코디드 데이터에 포함되는 정보를 분할한 복수개의 서브 정보들에 대하여 병렬적으로 디코딩하는 경우,
    상기 제1 디코더는,
    각각 서브 정보들을 디코딩하는 서브 디코더들을 복수개 구비하고,
    상기 복수개의 서브 디코더들은,
    상기 제어 신호에 응답하여, 모두 비활성화되거나 적어도 하나 이상 활성화되는 것을 특징으로 하는 ECC 회로.
  7. 제5 항에 있어서, 상기 제어부는,
    각각의 상기 서브 정보들에 포함되는 에러의 개수에 따라, 상기 서브 정보들 중 디코딩할 서브 정보를 설정하는 것을 특징으로 하는 ECC 회로.
  8. 제1 항에 있어서,
    상기 제2 디코더에 의해 출력되는 디코딩 데이터의 에러 개수가 상기 제2 디코더의 에러 정정 능력(error correcting capability)보다 큰 경우, 상기 제어 신호가 활성화되는 것을 특징으로 하는 ECC 회로.
  9. 제1 항에 있어서,
    상기 제1 디코더는 소프트 디시젼(soft decision) 및 하드 디시젼(hard decision) 중 하나를 수행하고,
    상기 제2 디코더는 소프트 디시젼(soft decision) 및 하드 디시젼(hard decision) 중 하나를 수행하는 것을 특징으로 하는 ECC 회로.
  10. 제1 항에 있어서, 상기 제2 디코더는,
    상기 제어 신호에 응답하여 상기 제1 디코더가 활성화되면 상기 제1 코드를 디코딩하고,
    상기 제1 디코더가 비활성화되면 상기 인코디드 데이터를 디코딩하는 것을 특징으로 하는 ECC 회로.
  11. 인코딩부 및 디코딩부를 포함하는 ECC(Error Control Coding) 회로를 구비하는 반도체 장치에 있어서,
    상기 인코딩부는,
    정보에 순차적으로 제1 패리티 및 제2 패리티를 부가하여 인코디드 데이터를 생성하고,
    상기 디코딩부는,
    제1 패리티 및 제2 패리티를 포함하는 인코디드 데이터를 수신한 후 상기 제1 패리티를 이용해서 제1 코드로 복호하는 제1 디코더;
    상기 제1 디코더와 연결되고, 상기 수신된 인코디드 데이터에서 상기 제1 패리티를 제거한 후에 상기 제2 패리티를 이용해서 복호하거나, 상기 제1 코드에서 상기 제2 패리티를 이용하여 복호하는 제2 디코더; 및
    상기 제1 디코더와 상기 제2 디코더를 제어하는 제어 신호를, 상기 제1 디코더 및 상기 제2 디코더로 전송하는 제어부를 구비하는 것을 특징으로 하는 반도체 장치.
KR1020100030507A 2010-04-02 2010-04-02 반도체 장치 및 이의 복호 방법 KR101678053B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100030507A KR101678053B1 (ko) 2010-04-02 2010-04-02 반도체 장치 및 이의 복호 방법
US13/069,834 US8522124B2 (en) 2010-04-02 2011-03-23 Semiconductor device and decoding method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100030507A KR101678053B1 (ko) 2010-04-02 2010-04-02 반도체 장치 및 이의 복호 방법

Publications (2)

Publication Number Publication Date
KR20110111108A true KR20110111108A (ko) 2011-10-10
KR101678053B1 KR101678053B1 (ko) 2016-11-22

Family

ID=44711055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100030507A KR101678053B1 (ko) 2010-04-02 2010-04-02 반도체 장치 및 이의 복호 방법

Country Status (2)

Country Link
US (1) US8522124B2 (ko)
KR (1) KR101678053B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190094497A (ko) * 2018-02-05 2019-08-14 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR20200133808A (ko) * 2018-04-20 2020-11-30 마이크론 테크놀로지, 인크 계층적 디코더를 이용한 오류 정정
KR20220061833A (ko) * 2020-11-06 2022-05-13 웨스턴 디지털 테크놀로지스, 인코포레이티드 공유 데이터 통계치를 사용한 콘텐츠 인식 디코딩

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694855B1 (en) 2011-11-02 2014-04-08 Pmc-Sierra Us, Inc. Error correction code technique for improving read stress endurance
US8694849B1 (en) 2011-12-19 2014-04-08 Pmc-Sierra Us, Inc. Shuffler error correction code system and method
US8656257B1 (en) * 2012-01-11 2014-02-18 Pmc-Sierra Us, Inc. Nonvolatile memory controller with concatenated error correction codes
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9128858B1 (en) 2013-01-29 2015-09-08 Pmc-Sierra Us, Inc. Apparatus and method for adjusting a correctable raw bit error rate limit in a memory system using strong log-likelihood (LLR) values
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9397701B1 (en) 2013-03-11 2016-07-19 Microsemi Storage Solutions (Us), Inc. System and method for lifetime specific LDPC decoding
US8935598B1 (en) 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US8984376B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9235467B2 (en) 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
US9590656B2 (en) 2013-03-15 2017-03-07 Microsemi Storage Solutions (Us), Inc. System and method for higher quality log likelihood ratios in LDPC decoding
US9454414B2 (en) 2013-03-15 2016-09-27 Microsemi Storage Solutions (Us), Inc. System and method for accumulating soft information in LDPC decoding
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US10263644B1 (en) * 2015-10-28 2019-04-16 Xilinx, Inc. Hybrid architecture for LDPC channel coding in data center
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
KR20200036338A (ko) * 2018-09-28 2020-04-07 삼성전자주식회사 무선 통신 시스템에서 극 부호를 이용한 부호화 및 복호화를 위한 장치 및 방법
US10886947B2 (en) * 2018-12-20 2021-01-05 Toshiba Memory Corporation Efficient decoding of n-dimensional error correction codes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193312A1 (en) * 2004-03-01 2005-09-01 Smith Kenneth K. System for error correction coding and decoding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2262894C (en) * 1997-06-19 2004-08-03 Kabushiki Kaisha Toshiba Information data multiplexing transmission system, multiplexer and demultiplexer used therefor, and error correcting encoder and decoder
US6182264B1 (en) * 1998-05-22 2001-01-30 Vlsi Technology, Inc. Smart dynamic selection of error correction methods for DECT based data services
DE10216999A1 (de) * 2002-04-16 2003-11-06 Thomson Brandt Gmbh ECC-Block-Enkodierer und -Dekodierer mit reduziertem RAM-Speicherbedarf
US7684521B2 (en) * 2004-02-04 2010-03-23 Broadcom Corporation Apparatus and method for hybrid decoding
JP4092352B2 (ja) 2005-11-16 2008-05-28 Necエレクトロニクス株式会社 復号装置、復号方法、及び受信装置
KR20080088030A (ko) 2007-03-28 2008-10-02 부산대학교 산학협력단 직렬연접 ldpc 부호기, 복호기 및 이를 이용한복호방법
US8065583B2 (en) 2007-07-06 2011-11-22 Micron Technology, Inc. Data storage with an outer block code and a stream-based inner code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050193312A1 (en) * 2004-03-01 2005-09-01 Smith Kenneth K. System for error correction coding and decoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190094497A (ko) * 2018-02-05 2019-08-14 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
KR20200133808A (ko) * 2018-04-20 2020-11-30 마이크론 테크놀로지, 인크 계층적 디코더를 이용한 오류 정정
KR20220061833A (ko) * 2020-11-06 2022-05-13 웨스턴 디지털 테크놀로지스, 인코포레이티드 공유 데이터 통계치를 사용한 콘텐츠 인식 디코딩

Also Published As

Publication number Publication date
US20110246853A1 (en) 2011-10-06
KR101678053B1 (ko) 2016-11-22
US8522124B2 (en) 2013-08-27

Similar Documents

Publication Publication Date Title
KR101678053B1 (ko) 반도체 장치 및 이의 복호 방법
US9425828B2 (en) Memory device and memory system
KR102663812B1 (ko) 데이터의 인코딩과 디코딩을 위한 메모리 시스템
US9209832B2 (en) Reduced polar codes
US7890818B2 (en) Read level control apparatuses and methods
CN105991230B (zh) 存储器控制模块与方法以及纠错码编/解码电路与方法
US9100054B2 (en) Data processing systems and methods providing error correction
WO2014134974A1 (zh) 极性码的译码方法和译码器
EP2823399B1 (en) Apparatus and method for combining an error correcting code with a modulation scheme
KR20090099757A (ko) 메모리 장치 및 인코딩/디코딩 방법
US9658921B2 (en) Maximal transition hamming codes
KR20100101895A (ko) 연접 부호화 및 복호화 구조를 갖는 데이터 처리 시스템
KR102190391B1 (ko) 소스-채널 결합 인코더 회로 또는 소스-채널 결합 디코더 회로를 포함하는 메모리 컨트롤러, 및 이를 포함하는 저장 장치
US9858994B2 (en) Memory system with MLC memory cells and partial page compression or reduction
US10855314B2 (en) Generating and using invertible, shortened Bose-Chaudhuri-Hocquenghem codewords
US20170194989A1 (en) Techniques for miscorrection detection for constituent codewords in product codes
CN115987454A (zh) 解调译码方法、装置、存储介质及电子设备
US12009840B2 (en) Systems and methods of decoding error correction code of a memory device with dynamic bit error estimation
US10879940B2 (en) Decoding with data mapping methods and systems
WO2022194170A1 (zh) 用于编解码的方法、设备和系统
US20230216526A1 (en) Systems and methods of decoding error correction code of a memory device with dynamic bit error estimation
US10114569B2 (en) Computing system with shift expandable coding mechanism and method of operation thereof
AU2022332699A1 (en) Modified staircase forward error correction coding
WO2011000177A1 (zh) 数据储存装置以及数据存取方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant