KR20110073932A - Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법 - Google Patents
Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online 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 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법에 관한 것이다.
일반적으로 비휘발성 메모리를 많은 휴대용 정보 기기의 저장용 메모리로 사용하고 있다. 더 나아가, 최근에는 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차 ECC(Error Check Correction) 인코딩 후 상기 인코딩 결과를 압축하여 2차 ECC 인코딩함으로써 상기 입력 데이터가 라이트되도록 제어하고, 리드 시, 상기 메모리 영역의 데이터를 리드하여 1차 ECC 디코딩하여 상기 디코딩 결과를 압축 해제 후 2차 ECC 디코딩하여 상기 메모리 영역의 데이터가 리드되도록 제어하는 데이터 제어부를 포함하는 메모리 컨트롤러를 포함하는 반도체 스토리지 시스템.
- 제 1항에 있어서,상기 데이터 제어부는,라이트 시, 상기 입력 데이터를 인코딩하여 제 1 패리티를 생성하고, 상기 입력 데이터와 상기 제 1 패리티를 함께 압축하여 재차 인코딩함으로써 제 2 패리티를 생성하는 라이트 제어부; 및리드 시, 상기 메모리 영역의 상기 데이터에 대해 상기 제 2 패리티를 이용하여 디코딩함으로써 1차 오류 정정하고, 상기 1차 오류 정정한 결과에 대해 압축 해제하여 상기 제 1 패리티를 이용하여 2차 오류 정정하는 리드 제어부를 포함하는 반도체 스토리지 시스템.
- 제 2항에 있어서,상기 라이트 제어부는,상기 입력 데이터를 인코딩하여 상기 제 1 패리티를 제공하는 제 1 인코더;상기 제 1 인코더의 출력 결과를 압축하는 압축부; 및상기 압축부의 출력을 인코딩하여 상기 제 2 패리티를 제공하는 제 2 인코더를 포함하는 반도체 스토리지 시스템.
- 제 2항에 있어서,상기 리드 제어부는,상기 메모리 영역의 상기 데이터에 대해 상기 제 2 패리티를 이용하여 디코딩하는 제 1 디코더;상기 제 1 디코더의 출력 결과를 압축 해제하는 압축 해제부; 및상기 압축 해제부의 출력에 대해 상기 제 1 패리티를 이용하여 디코딩하는 제 2 디코더를 포함하는 반도체 스토리지 시스템.
- 외부로부터 제공된 입력 데이터에 대해 1차 ECC인코딩하고, 상기1차 인코딩한 결과를 압축하여 압축된 결과물에 대해 2차 ECC인코딩하여 해당 셀에 상기 입력 데이터를 라이트하는 단계; 및상기 해당 셀의 셀 데이터를 1차 ECC 디코딩하고, 상기 1차 ECC디코딩된 결과를 압축 해제하여 압축 해제된 결과물에 대해 2차 ECC 디코딩함으로써, 상기 2차 디코딩된 데이터를 리드하는 단계를 포함하는 반도체 스토리지 시스템의 제어 방법.
- 제 5항에 있어서,상기 라이트하는 단계에 있어서,상기 1차 ECC 인코딩시 제 1 패리티를 생성하여,상기 1차 ECC 인코딩한 결과를 압축시, 상기 입력 데이터와 상기 제 1 패리티도 함께 압축하는 반도체 스토리지 시스템의 제어 방법.
- 제 6항에 있어서,상기 라이트하는 단계에 있어서,상기 2차 인코딩시 제 2 패리티를 생성하는 반도체 스토리지 시스템의 제어 방법.
- 제 5항에 있어서,상기 리드하는 단계에 있어서,상기 1차 ECC 디코딩시 상기 셀 데이터에 대해 1차 오류를 정정하고,상기 1차 오류 정정된 데이터에 대해 압축 해제하는 반도체 스토리지 시스템의 제어 방법.
- 제 8항에 있어서,상기 리드하는 단계에 있어서,상기 2차 ECC 디코딩시 상기 압축 해제된 데이터에 대해 2차 오류를 정정하는 반도체 스토리지 시스템의 제어 방법.
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)
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)
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)
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 | 삼성전자주식회사 | 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템 |
-
2009
- 2009-12-24 KR KR1020090130740A patent/KR20110073932A/ko not_active Application Discontinuation
-
2010
- 2010-11-16 US US12/947,203 patent/US20110161774A1/en not_active Abandoned
- 2010-11-23 TW TW099140360A patent/TW201133500A/zh unknown
- 2010-12-09 CN CN2010105804491A patent/CN102110481A/zh active Pending
- 2010-12-20 JP JP2010283437A patent/JP2011134433A/ja not_active Withdrawn
Cited By (3)
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 |