KR20110073932A - Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법 - Google Patents

Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR20110073932A
KR20110073932A KR1020090130740A KR20090130740A KR20110073932A KR 20110073932 A KR20110073932 A KR 20110073932A KR 1020090130740 A KR1020090130740 A KR 1020090130740A KR 20090130740 A KR20090130740 A KR 20090130740A KR 20110073932 A KR20110073932 A KR 20110073932A
Authority
KR
South Korea
Prior art keywords
data
ecc
parity
encoding
result
Prior art date
Application number
KR1020090130740A
Other languages
English (en)
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 KR1020090130740A priority Critical patent/KR20110073932A/ko
Priority to US12/947,203 priority patent/US20110161774A1/en
Priority to TW099140360A priority patent/TW201133500A/zh
Priority to CN2010105804491A priority patent/CN102110481A/zh
Priority to JP2010283437A priority patent/JP2011134433A/ja
Publication of KR20110073932A publication Critical patent/KR20110073932A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • 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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

반도체 스토리지 시스템은, 복수의 셀을 포함하는 메모리 영역 및 라이트 시, 입력 데이터에 대해 1차 ECC(Error Check Correction) 인코딩 후 상기 인코딩 결과를 압축하여 2차 ECC 인코딩함으로써 상기 입력 데이터가 라이트되도록 제어하고, 리드 시, 상기 메모리 영역의 데이터를 리드하여 1차 ECC 디코딩하여 상기 디코딩 결과를 압축 해제 후 2차 ECC 디코딩하여 상기 메모리 영역의 데이터가 리드되도록 제어하는 데이터 제어부를 포함하는 메모리 컨트롤러를 포함한다.
플래시 메모리, 데이터, 정정, ECC

Description

ECC 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법{Semiconductor Memory System Having ECC Circuit and Controlling Method thereof}
본 발명은 반도체 스토리지 시스템 및 그 제어 방법에 관한 것으로서, 보다 구체적으로는 ECC 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법에 관한 것이다.
일반적으로 비휘발성 메모리를 많은 휴대용 정보 기기의 저장용 메모리로 사용하고 있다. 더 나아가, 최근에는 PC(Personal Computer)에서 HDD(Hard Disk Drive)를 대신하여 낸드(NAND) 플래시 메모리를 사용한 SSD(Solid State Drive)가 출시되고 있어 빠른 속도로 HDD 시장을 잠식할 것으로 전망되고 있다.
이러한 SSD(Solid State Drive)와 같은 반도체 스토리지 시스템은 플래시 메모리의 특징으로 인하여 데이터를 갱신하려면, 라이트 하기 전에 선택된 데이터 저장 영역에서 삭제를 먼저 수행해야 한다. 만약, 데이터들의 갱신 빈도가 높다면, 이들의 잦은 삭제 및 라이트 동작으로 인하여 메모리 셀의 노화(aging)가 빠르게 진행된다. 이로 인하여, 데이터의 사이즈가 크다면 노화 영역도 그만큼 커진다는 것을 의미한다. 또한, 데이터 사이즈가 클수록 이들에 대한 플래시 메모리 영역에서의 라이트 비지 타임(Write Busy Time)이 커지므로 데이터 전송 시간이 증가한다. 또한, 낸드(NAND) 플래시 메모리를 사용한 반도체 스토리지 시스템은 메모리 셀에 데이터를 라이트하는 경우, 오동작 또는 인접 셀의 라이트 영향에 의해, 이미 저장된 셀의 임계치 레벨이 변화하는 경우가 있다. 이와 같이, 임계치 레벨이 변화한 경우 읽어낸 데이터의 정밀도가 저하된다.
이와 같이, 한정된 메모리 영역의 자원에 더 많은 데이터를 저장할 수 있으면서도 더 오래도록 사용할 수 있거나 정확한 데이터의 전송 방법들이 강력히 요구되고 있다.
본 발명의 기술적 과제는 데이터의 에러를 정정하는 반도체 스토리지 시스템을 제공하는 것이다.
본 발명의 기술적 과제는 데이터의 에러를 정정하는 반도체 스토리지 시스템의 제어 방법을 제공하는 것이다.
본 발명의 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 스토리지 시스템은, 복수의 셀을 포함하는 메모리 영역 및 라이트 시, 입력 데이터에 대해 1차 ECC(Error Check Correction) 인코딩 후 상기 인코딩 결과를 압축하여 2차 ECC 인코딩함으로써 상기 입력 데이터가 라이트되도록 제어하고, 리드 시, 상기 메모리 영역의 데이터를 리드하여 1차 ECC 디코딩하여 상기 디코딩 결과를 압축 해제 후 2차 ECC 디코딩하여 상기 메모리 영역의 데이터가 리드되도록 제어하는 데이터 제어부를 포함하는 메모리 컨트롤러를 포함한다.
본 발명의 다른 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 제어 방법은, 외부로부터 제공된 입력 데이터에 대해 1차 ECC인코딩하고, 상기1차 인코딩한 결과를 압축하여 압축된 결과물에 대해 2차 ECC인코딩하여 해당 셀에 상기 입력 데이터를 라이트하는 단계, 및 상기 해당 셀의 셀 데이터를 1차 ECC 디코딩하고, 상기 1차 ECC디코딩된 결과를 압축 해제하여 압축 해제된 결과물에 대해 2차 ECC 디코딩함으로써, 상기 2차 디코딩된 데이터를 리 드하는 단계를 포함한다.
본 발명의 일 실시예에 따르면 데이터에 대해 1차 ECC를 수행하고, 수행된 결과물 자체를 압축하여 재차 ECC를 수행함으로써, 데이터의 정정도를 향상시킬 수 있으며, 압축된 결과물에 대해 ECC를 수행함으로써 오류 정정에 대한 부담을 줄일 수 있다. 또한, 압축된 데이터를 저장함으로써 메모리 영역의 한정된 자원의 효율을 향상시킬 수 있다.
이하, 본 발명의 실시예에 의한 본 발명의 일 실시예에 따른 반도체 스토리지 시스템 및 제어 방법을 설명하기 위한 블록도 또는 플로우 차트에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
또한, 각 블록도는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
먼저, 도 1을 참조하여, 본 발명의 일 실시예에 따른 반도체 스토리지 시스템에 대해서 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 반도체 스토리지 시스템(100)의 블록도 이다. 여기서, 반도체 스토리지 시스템(100)은 낸드 플래시 메모리를 이용한 시스템으로 예시한다.
도 1을 참조하면, 반도체 스토리지 시스템(100)은 호스트 인터페이스(110), 버퍼부(120), MCU(130), 메모리 컨트롤러(140) 및 메모리 영역(150)을 포함한다.
우선, 호스트 인터페이스(110)는 버퍼부(120)와 연결된다. 호스트 인터페이스(110)는 외부 호스트 (미도시)와 버퍼부(120)간에 제어 명령, 어드레스 신호 및 데이터 신호를 송수신한다. 호스트 인터페이스(110)와 외부 호스트 (미도시)간의 인터페이스 방식은 직렬 ATA(Serial Advanced Technology Attachment;SATA), 병렬 ATA(Parallel Advanced Technology attachment;PATA) 및 SCSI, Express Card, PCI-Express 방식 중 어느 하나일 수 있으며 제한되지 않는다.
버퍼부(120)는 호스트 인터페이스(110)로부터의 출력 신호들을 버퍼링하거나, 논리적 어드레스 및 물리적 어드레스간의 맵핑 정보 및 메모리 영역의 블록 할당 정보, 블록의 삭제 횟수 및 외부로부터 수신된 데이터를 임시 저장한다. 버퍼부(120)는 SRAM(Static Random Access Memory) 또는 DRAM(Dynamic Random Access Memory)을 이용한 버퍼일 수 있다.
MCU(Micro Control Unit; 130)는 호스트 인터페이스(110)간에 제어 명령, 어드레스 신호 및 데이터 신호등을 송수신하거나, 이러한 신호들에 의해 메모리 컨트롤러(140)를 제어하기도 한다.
한편, 본 발명의 일 실시예에 따른 메모리 컨트롤러(140)는 데이터 제어부(145)를 포함한다. 우선 통상적인 컨트롤러와 같이, 메모리 컨트롤러(140)는 호 스트 인터페이스(110)로부터의 입력 데이터와 라이트 명령어를 수신하여 입력 데이터가 메모리 영역(150)에 라이트 될 수 있도록 제어한다. 이와 마찬가지로, 메모리 컨트롤러(140)는 호스트 인터페이스(110)로부터의 리드 명령어를 수신하면, 메모리 영역(150)으로부터의 데이터를 리드하여 외부로 출력되도록 제어한다.
라이트 시, 데이터 제어부(145)는 호스트 인터페이스(110)로부터 수신된 데이터의 오류를 체크하기 위한 패리티(parity) 비트를 생성하고, 그 결과를 압축하여, 압축된 데이터에 대해 재차 데이터 오류를 체크하기 위한 패리티 비트를 생성한 후, 메모리 영역(150)에 기입을 한다. 역으로, 리드시, 메모리 영역(150)으로부터의 데이터에 대해 패리티 비트를 이용하여 오류를 체크하고, 체크된 결과를 압축 해제하여 재차 데이터 오류를 체크하여 외부 호스트 인터페이스에 제공한다.
보다 구체적으로 설명하면, 라이트 시, 데이터 제어부(145)는 1차 ECC(Error Check Correction) 인코딩(encoding)을 수행한 후, 1차 ECC 인코딩 결과로 생성된 패리티(parity)비트까지 포함하여 압축하고, 이에 대해 2차 ECC 인코딩을 수행하도록 한다.
라이트 과정에 대해 전술하였지만, 리드 과정은 라이트 과정들의 역순으로 설명될 수 있다. 예를 들어, 리드시에는 데이터 제어부(145)가 메모리 영역(150)에 저장된 데이터와 패리티 비트를 이용하여 1차 ECC 디코딩을 하여 오류를 체크하고, 체크된 결과를 압축 해제함으로써, 라이트시 압축되기전의 데이터 형태대로 복원시킬 수 있다. 압축 해제된 데이터에 대해 2차 ECC 디코딩을 하여 오류를 재차 체크하여 외부 호스트 인터페이스(110)에 제공함으로써 신뢰성이 향상된 데이터를 리드 할 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면 두번의 ECC 인코딩 및 디코딩을 수행함으로써 데이터의 오류 정정율(error correction rate)은 더욱 향상될 수 있다. 또한, 압축된 데이터를 메모리 영역(150)에 제공함으로써 라이트 비지 타임을 줄일 수 있음은 물론, 한정된 메모리 영역(150)의 자원에 더 많은 데이터를 저장할 수 있다.
메모리 영역(150)은 메모리 컨트롤러(140)에 의해 제어되어 데이터의 라이트, 삭제 및 리드 동작이 수행된다. 여기서, 메모리 영역(150)은 낸드(NAND) 플래시 메모리일 수 있다. 본 발명의 일 실시 예에서는 낸드(NAND) 플래시 메모리의 셀은 SLC(Single Level Cell) 또는 MLC(Multi Level Cell) 일 수 있다.
도 2는 도 1에 따른 데이터 제어부(145)를 개념적으로 도시한 블록도, 도 3은 도 2에 따른 데이터 제어부(145)와 메모리 영역(150)간의 데이터 자료 구조 관계를 개념적으로 나타낸 블록도이다.
도 2 및 도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터 제어부(145)는 라이트 제어부(1454) 및 리드 제어부(1458)를 포함한다.
우선, 라이트 제어부(1454)는 제 1 ECC 인코더(1451), 압축부(1452) 및 제 2 ECC 인코더(1453)를 포함한다.
제 1 ECC 인코더(1451)는 입력 데이터(DIN)를 인코딩하여 도 3에 도시된 바와 같이, 같이 셀 데이터(data) 및 제 1 패리티(P1)를 생성한다. 일반적으로, ECC 인코딩은 데이터 전송중 발생할 수 있는 오류를 체크하기 위해 부호화하는 기술이 다. 즉, 통신 회선을 통해 데이터를 보내는 도중에 신호가 약해지거나 외부 전파의 영향으로 제대로 수신할 수 없을 경우 이러한 에러를 검출하거나 정정하기 위해 본래의 데이터 이외에 확인을 위해서 사용하는 정보, 즉 패리티 정보를 부가하는 것이다. 여기서, 1차 ECC인코딩 알고리즘으로는 리드 솔로몬(Reed Solomon)을 이용하는 것으로 예시한다. 그러나, 이에 제한되는 것은 아니다.
압축부(1452)는 제 1 ECC 인코더(1451)에 인코딩된 결과물인 셀 데이터(data) 및 제 1 패리티(P1)를 함께 압축하여 압축 데이터(comp)를 제공한다. 압축하는 알고리즘은 연속되는 같은 글자를 그 숫자만 기억하거나, 특별히 고안된 코딩 기법으로 빈도수가 많은 단어의 길이를 줄이거나, 자료간의 공간을 줄이는 알고리즘등이 있다. 따라서, 이러한 압축 알고리즘으로는 데이터를 작은 크기로 변환시키기 위한 다양한 알고리즘을 모두 포함할 수 있다. 이로써, 데이터가 압축될 뿐 아니라, 데이터의 인코딩 결과물인 제 1 패리티(P1)도 압축될 수 있다.
제 2 ECC 인코더(1452)는 압축 데이터(comp)에 대해 인코딩을 수행하여, 도 3에 도시된 바와 같이, 최종 데이터(DATA) 및 제 2 패리티(P2)를 생성한다. 여기서, 2차 ECC인코딩 알고리즘으로는 BCH (Bose-Chaudhuri-Hocquenghem) 알고리즘을 이용하는 것으로 예시한다. 한편, 생성된 제 2 패리티(P2)는 도시되지 않았으나 데이터 제어부(145)의 일부 저장 영역에 저장되는 것으로 예시하기로 한다.
이와 같이, 데이터 라이트시, 이중의 ECC 인코딩을 수행함으로써 데이터의 전송 신뢰도를 향상시킬 뿐 아니라, 압축 데이터를 제공함으로써, 메모리 영역(도 1의 150 참조)의 한정된 자원을 효율적으로 이용할 수 있다.
한편, 리드 제어부(1458)는 제 1 ECC 디코더(1457), 압축 해제부(1456) 및 제 2 ECC 디코더(1455)를 포함한다.
제 1 ECC 디코더(1457)는 리드 시, 압축 데이터(comp) 및 제 2 패리티(P2)를 이용하여 데이터의 오류 유무를 체크하고, 체크 결과에 따라 데이터를 정정하여 정정된 데이터(cor_data)를 제공한다. 제 1 ECC 디코더(1457)는 제 2 ECC 인코더(1453)에 대응되어 디코딩할 수 있도록 구비되는 것으로서, BCH 알고리즘의 복호 기술을 이용하는 것으로 예시한다.
압축 해제부(1456)는 제 1 차 ECC 디코딩된 결과에 대해 제 1 ECC 인코더(1451)의 결과물 형태의 압축 해제 데이터(decomp)로, 즉 압축부(1452)에 의해 압축되기 전의 데이터 형태로 복원하도록 압축을 해제한다. 압축 해제부(1456)의 원리는 압축부(1452)의 원리를 역으로 이용하도록 하면 가능하고, 이것은 당업자라면 이해 가능한 내용이므로 이에 대한 설명은 생략하기로 한다.
제 2 ECC 디코더(1455)는 압축 해제된 결과물에 대해 2차 ECC 디코딩을 수행하여, 도 3에 도시된 바와 같이, 셀 데이터(data) 및 제 1 패리티(P1)를 이용하여 데이터의 오류 유무를 체크하고, 체크 결과에 따라 데이터를 정정하여 출력 데이터(DOUT)를 제공한다. 제 2 ECC 디코더(1455)는 제 1 ECC 인코더(1451)에 대응되어 디코딩할 수 있도록 구비되는 것으로서, 리드 솔로몬의 복호 기술을 이용하면 가능하다.
도 4 및 도 5는 도 1에 따라 라이트 및 리드시 반도체 스토리지 시스템의 동작을 나타낸 순서도이다.
도 1 내지4를 참조하면, 라이트 시, 입력 데이터(DIN)에 대해 1차 ECC 인코딩을 수행한다(S10).
1차 ECC 인코딩을 수행함으로써 셀 데이터(data) 및 제 1 패리티(P1)를 생성한다.
1차 ECC 인코딩한 결과를 압축한다(S20).
이로써, 데이터가 압축될 뿐 아니라, 데이터의 인코딩 결과물인 제 1 패리티(P1)도 압축될 수 있다.
압축된 결과물에 대해 2차 ECC 인코딩을 수행한다(S30).
2차 ECC 인코딩은 압축시 발생할 수 있는 오류를 체크하기 위함과 실제 메모리 셀 영역(도 1의 150 참조)에 라이트될 데이터에 대한 오류 정정율을 높이기 위함이다.
최종 결과물의 데이터를 라이트한다(S40).
다음으로, 도 1 내지 도 5를 참조하여 리드시의 반도체 스토리지 시스템의 동작을 설명하기로 한다.
리드시, 메모리 셀 영역(도 1의 150 참조)으로부터의 데이터에 대해 1차 ECC 디코딩을 수행한다(S50).
보다 자세히 설명하면, 메모리 셀 영역(도 1의 150 참조)으로부터 데이터를 리드하고, 데이터 제어부(도 1의 145 참조)에 저장된 제 2 패리티(P2)를 이용하여, 데이터의 오류를 체크하고, 오류가 있으면 데이터를 정정한다.
1차 디코딩 결과에 대해 압축 해제를 수행한다(S60).
즉, 1차 디코딩 결과에 따른 데이터에 대해 압축 해제를 수행함으로써, 압축되기 전의 데이터 형태로 복원한다.
압축 해제된 결과물에 대해 2차 ECC 디코딩을 수행한다(S70).
압축 해제된 데이터의 오류를 체크하고, 오류가 있으면 데이터를 정정한다.
정정된 데이터 또는 정정하지 않은 데이터를 출력 데이터(DOUT)로서 호스트 인터페이스(도 1의 150 참조)에 제공하고, 이로써 데이터 리드 동작을 완료한다(S80).
이와 같이, 본 발명의 일 실시예에 따르면, 데이터에 대해 1차 ECC를 수행하고, 수행된 결과물 자체를 압축하여 재차 ECC를 수행함으로써, 데이터의 정정율을 향상시킬 수 있으며, 압축된 결과물에 대해 ECC를 수행함으로써 오류 정정에 대한 부담을 줄일 수 있다. 또한, 압축된 데이터를 저장함으로써 메모리 영역의 한정된 자원의 효율을 향상시킬 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 블록도,
도 2는 도 1에 따른 데이터 제어부의 블록도,
도 3은 도 2에 따른 데이터 자료 구조를 개념적으로 나타낸 블록도, 및
도 4 및 도 5는 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 제어 방법을 나타낸 플로우 차트이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 호스트 인터페이스 120: 버퍼부
130: MCU 140: 메모리 컨트롤러
145: 데이터 제어부 150: 메모리 영역

Claims (9)

  1. 복수의 셀을 포함하는 메모리 영역; 및
    라이트 시, 입력 데이터에 대해 1차 ECC(Error Check Correction) 인코딩 후 상기 인코딩 결과를 압축하여 2차 ECC 인코딩함으로써 상기 입력 데이터가 라이트되도록 제어하고, 리드 시, 상기 메모리 영역의 데이터를 리드하여 1차 ECC 디코딩하여 상기 디코딩 결과를 압축 해제 후 2차 ECC 디코딩하여 상기 메모리 영역의 데이터가 리드되도록 제어하는 데이터 제어부를 포함하는 메모리 컨트롤러를 포함하는 반도체 스토리지 시스템.
  2. 제 1항에 있어서,
    상기 데이터 제어부는,
    라이트 시, 상기 입력 데이터를 인코딩하여 제 1 패리티를 생성하고, 상기 입력 데이터와 상기 제 1 패리티를 함께 압축하여 재차 인코딩함으로써 제 2 패리티를 생성하는 라이트 제어부; 및
    리드 시, 상기 메모리 영역의 상기 데이터에 대해 상기 제 2 패리티를 이용하여 디코딩함으로써 1차 오류 정정하고, 상기 1차 오류 정정한 결과에 대해 압축 해제하여 상기 제 1 패리티를 이용하여 2차 오류 정정하는 리드 제어부를 포함하는 반도체 스토리지 시스템.
  3. 제 2항에 있어서,
    상기 라이트 제어부는,
    상기 입력 데이터를 인코딩하여 상기 제 1 패리티를 제공하는 제 1 인코더;
    상기 제 1 인코더의 출력 결과를 압축하는 압축부; 및
    상기 압축부의 출력을 인코딩하여 상기 제 2 패리티를 제공하는 제 2 인코더를 포함하는 반도체 스토리지 시스템.
  4. 제 2항에 있어서,
    상기 리드 제어부는,
    상기 메모리 영역의 상기 데이터에 대해 상기 제 2 패리티를 이용하여 디코딩하는 제 1 디코더;
    상기 제 1 디코더의 출력 결과를 압축 해제하는 압축 해제부; 및
    상기 압축 해제부의 출력에 대해 상기 제 1 패리티를 이용하여 디코딩하는 제 2 디코더를 포함하는 반도체 스토리지 시스템.
  5. 외부로부터 제공된 입력 데이터에 대해 1차 ECC인코딩하고, 상기1차 인코딩한 결과를 압축하여 압축된 결과물에 대해 2차 ECC인코딩하여 해당 셀에 상기 입력 데이터를 라이트하는 단계; 및
    상기 해당 셀의 셀 데이터를 1차 ECC 디코딩하고, 상기 1차 ECC디코딩된 결과를 압축 해제하여 압축 해제된 결과물에 대해 2차 ECC 디코딩함으로써, 상기 2차 디코딩된 데이터를 리드하는 단계를 포함하는 반도체 스토리지 시스템의 제어 방법.
  6. 제 5항에 있어서,
    상기 라이트하는 단계에 있어서,
    상기 1차 ECC 인코딩시 제 1 패리티를 생성하여,
    상기 1차 ECC 인코딩한 결과를 압축시, 상기 입력 데이터와 상기 제 1 패리티도 함께 압축하는 반도체 스토리지 시스템의 제어 방법.
  7. 제 6항에 있어서,
    상기 라이트하는 단계에 있어서,
    상기 2차 인코딩시 제 2 패리티를 생성하는 반도체 스토리지 시스템의 제어 방법.
  8. 제 5항에 있어서,
    상기 리드하는 단계에 있어서,
    상기 1차 ECC 디코딩시 상기 셀 데이터에 대해 1차 오류를 정정하고,
    상기 1차 오류 정정된 데이터에 대해 압축 해제하는 반도체 스토리지 시스템의 제어 방법.
  9. 제 8항에 있어서,
    상기 리드하는 단계에 있어서,
    상기 2차 ECC 디코딩시 상기 압축 해제된 데이터에 대해 2차 오류를 정정하는 반도체 스토리지 시스템의 제어 방법.
KR1020090130740A 2009-12-24 2009-12-24 Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법 KR20110073932A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090130740A KR20110073932A (ko) 2009-12-24 2009-12-24 Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법
US12/947,203 US20110161774A1 (en) 2009-12-24 2010-11-16 Semiconductor memory system having ecc circuit and method of controlling thereof
TW099140360A TW201133500A (en) 2009-12-24 2010-11-23 Semiconductor memory system having ECC circuit and method of controlling thereof
CN2010105804491A CN102110481A (zh) 2009-12-24 2010-12-09 具有ecc电路的半导体存储系统及其控制方法
JP2010283437A JP2011134433A (ja) 2009-12-24 2010-12-20 Ecc回路を含む半導体ストーリッジシステム及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090130740A KR20110073932A (ko) 2009-12-24 2009-12-24 Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20110073932A true KR20110073932A (ko) 2011-06-30

Family

ID=44174609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090130740A KR20110073932A (ko) 2009-12-24 2009-12-24 Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법

Country Status (5)

Country Link
US (1) US20110161774A1 (ko)
JP (1) JP2011134433A (ko)
KR (1) KR20110073932A (ko)
CN (1) CN102110481A (ko)
TW (1) TW201133500A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788894B2 (en) 2011-11-04 2014-07-22 Samsung Electronics Co., Ltd. Method of enhancing error correction performance and storage device using the method
KR20180031572A (ko) * 2016-09-20 2018-03-28 삼성전자주식회사 메모리 장치의 동작 방법, 이를 이용한 메모리 장치 및 그 장치를 포함하는 메모리 시스템
US10579472B2 (en) 2016-08-23 2020-03-03 SK Hynix Inc. Semiconductor devices

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631304B2 (en) 2010-01-28 2014-01-14 Sandisk Il Ltd. Overlapping error correction operations
US9026887B2 (en) * 2012-03-15 2015-05-05 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
US8949704B2 (en) * 2012-03-22 2015-02-03 Lsi Corporation Systems and methods for mis-correction correction in a data processing system
US9003270B2 (en) * 2012-06-04 2015-04-07 Marvell World Trade Ltd. Methods and apparatus for temporarily storing parity information for data stored in a storage device
KR102081980B1 (ko) * 2012-10-08 2020-02-27 삼성전자 주식회사 메모리 시스템에서의 라이트 동작 또는 리드 동작 수행 방법
US9094046B2 (en) 2013-09-03 2015-07-28 Lsi Corporation Systems and methods for variable sector count spreading and de-spreading
US8976471B1 (en) 2013-09-05 2015-03-10 Lsi Corporation Systems and methods for two stage tone reduction
DE102013219088B9 (de) * 2013-09-23 2018-07-19 Infineon Technologies Ag Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
US9436550B2 (en) * 2013-10-31 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for internal disk drive data compression
CN104834476B (zh) 2014-02-10 2016-10-19 安华高科技通用Ip(新加坡)公司 基于段结束标记的数据对准的系统和方法
JP5855150B2 (ja) * 2014-03-06 2016-02-09 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US20150349805A1 (en) * 2014-05-28 2015-12-03 Skymedi Corporation Method of Handling Error Correcting Code in Non-volatile Memory and Non-volatile Storage Device Using the Same
US9184954B1 (en) 2014-07-02 2015-11-10 Seagate Technology Llc Systems and methods for directed soft data perturbation in layered decoding
CN105448334B (zh) * 2014-09-01 2019-08-23 华邦电子股份有限公司 半导体存储装置
US9384761B1 (en) 2015-04-09 2016-07-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for flexible variable code rate support
TWI541809B (zh) * 2015-04-24 2016-07-11 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元與記憶體儲存裝置
CN105161137B (zh) * 2015-08-27 2019-04-19 大唐微电子技术有限公司 一种MLC架构中Nand Flash控制器电路实现装置
US10193579B2 (en) * 2015-09-08 2019-01-29 Toshiba Memory Corporation Storage control device, storage system, and storage control method
CN106708650B (zh) * 2015-11-17 2022-02-08 恩智浦美国有限公司 保护嵌入式非易失性存储器免受干扰
KR20170075065A (ko) * 2015-12-22 2017-07-03 에스케이하이닉스 주식회사 메모리 시스템 동작 방법
US10067706B2 (en) 2016-03-31 2018-09-04 Qualcomm Incorporated Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN107391296B (zh) 2016-04-27 2020-11-06 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
US9910772B2 (en) * 2016-04-27 2018-03-06 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
CN107733592B (zh) * 2016-08-10 2020-11-27 华为技术有限公司 传输方案指示方法、数据传输方法、装置及系统
JP2019168897A (ja) 2018-03-23 2019-10-03 東芝メモリ株式会社 メモリシステム
KR102483476B1 (ko) * 2018-04-03 2023-01-03 에스케이하이닉스 주식회사 데이터 입/출력 핀 단위로의 리페어를 지원하는 반도체 메모리 장치 및 그 반도체 메모리 장치의 리페어 방법
US10606694B2 (en) * 2018-04-20 2020-03-31 Micron Technology, Inc. Error correction using hierarchical decoders
CN110660421B (zh) * 2018-06-29 2021-11-23 上海磁宇信息科技有限公司 一种带纠错和压缩电路的磁性随机存储器
KR20200042360A (ko) * 2018-10-15 2020-04-23 에스케이하이닉스 주식회사 에러 정정 회로, 이를 포함하는 메모리 컨트롤러 및 메모리 시스템
EP3863018A4 (en) 2018-10-31 2021-12-01 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR DATA COMPRESSION AND DATA DECOMPRESSION METHOD AND ASSOCIATED DEVICE
US11611358B2 (en) 2019-12-24 2023-03-21 Kioxia Corporation Systems and methods for detecting or preventing false detection of three error bits by SEC
US11438015B2 (en) * 2020-07-10 2022-09-06 Taiwan Semiconductor Manufacturing Company, Ltd. Two-level error correcting code with sharing of check-bits
CN112596674B (zh) * 2020-12-21 2023-10-13 成都储迅科技有限责任公司 一种用于固态硬盘主控缓存数据双重保护的方法及系统
CN115910183A (zh) * 2021-08-19 2023-04-04 长鑫存储技术有限公司 测试方法及测试系统
WO2023108600A1 (en) * 2021-12-17 2023-06-22 Intel Corporation System, method and apparatus for reducing power consumption of error correction coding using compacted data blocks
CN116612806A (zh) * 2022-02-08 2023-08-18 长鑫存储技术有限公司 数据校验方法、装置、电子设备及存储介质
US11940872B2 (en) 2022-04-21 2024-03-26 Analog Devices International Unlimited Company Error correction code validation
CN114637389B (zh) * 2022-05-18 2022-08-05 苏州云途半导体有限公司 一种触发器状态保持电路及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276396A (ja) * 1997-03-28 1998-10-13 Sony Corp ディジタルビデオ信号記録再生装置およびその方法
JP3914839B2 (ja) * 2002-07-11 2007-05-16 エルピーダメモリ株式会社 半導体記憶装置
JP2004253017A (ja) * 2003-02-18 2004-09-09 Fujitsu Ltd 記録媒体再生装置、記録媒体再生方法およびハードディスクコントローラ
JP4191100B2 (ja) * 2004-06-18 2008-12-03 エルピーダメモリ株式会社 半導体記憶装置
KR101490327B1 (ko) * 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788894B2 (en) 2011-11-04 2014-07-22 Samsung Electronics Co., Ltd. Method of enhancing error correction performance and storage device using the method
US10579472B2 (en) 2016-08-23 2020-03-03 SK Hynix Inc. Semiconductor devices
KR20180031572A (ko) * 2016-09-20 2018-03-28 삼성전자주식회사 메모리 장치의 동작 방법, 이를 이용한 메모리 장치 및 그 장치를 포함하는 메모리 시스템

Also Published As

Publication number Publication date
CN102110481A (zh) 2011-06-29
TW201133500A (en) 2011-10-01
JP2011134433A (ja) 2011-07-07
US20110161774A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
KR20110073932A (ko) Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법
EP2517107B1 (en) System and method of error correction of control data at a memory device
KR100845529B1 (ko) 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
US9778985B1 (en) Operating method of data storage device
TWI540582B (zh) 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
US9336081B2 (en) Data writing and reading method, and memory controller and memory storage apparatus using the same for improving reliability of data access
CN106201763B (zh) 双模式纠错码/可写入一次存储器编解码器
US9043672B2 (en) Memory controller, storage device, and memory control method
US9304907B2 (en) Data management method, memory control circuit unit and memory storage apparatus
US20190138391A1 (en) Data encoding method, data decoding method and storage controller
KR20140075434A (ko) 메모리 컨트롤러 및 그 동작방법
KR102628009B1 (ko) 부분 페이지 압축을 위한 메모리 시스템
CN109491828B (zh) 解码方法、存储器存储装置及存储器控制电路单元
JP6975047B2 (ja) ライトワンスメモリコードのエラー訂正コード管理
TWI668699B (zh) 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置
CN102591737B (zh) 数据写入与读取方法、存储器控制器与存储器储存装置
TWI575533B (zh) 資料校正方法、記憶體控制電路單元與記憶體儲存裝置
CN112799874B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
US20210281280A1 (en) Decoder performing iterative decoding, and storage device using the same
TWI537971B (zh) Storage device and access method thereof
CN107301873B (zh) 译码方法、存储器储存装置及存储器控制电路单元
CN110874282A (zh) 数据存取方法、存储器控制电路单元与存储器存储装置
CN111435604B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN109509499B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN117992282A (zh) 异常断电后的编码方法和存储器存储装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application