KR20100120991A - 이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법 - Google Patents
이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법 Download PDFInfo
- Publication number
- KR20100120991A KR20100120991A KR1020090039906A KR20090039906A KR20100120991A KR 20100120991 A KR20100120991 A KR 20100120991A KR 1020090039906 A KR1020090039906 A KR 1020090039906A KR 20090039906 A KR20090039906 A KR 20090039906A KR 20100120991 A KR20100120991 A KR 20100120991A
- Authority
- KR
- South Korea
- Prior art keywords
- read
- error correction
- erasure
- eraser
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/453—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
- H03M13/455—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
본 발명에 따른 메모리 시스템의 읽기 방법은, 메모리로부터 읽혀진 데이터의 오류 정정이 가능한지 판별하는 단계, 오류 정정이 가능하지 않다면, 일정한 읽기 레벨로 복수의 읽기 동작들을 수행함으로써 이레이저 후보들을 선정하는 단계, 및 상기 선정된 이레이저 후보들을 이용하여 에러 정정 코드 혹은 에러 검출 코드의 복호 동작을 수행하는 단계를 포함한다.
이레이저, 반복, 읽기, 조작
Description
본 발명은 동일한 읽기 레벨로 데이터 읽기를 이용함으로써 이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 비휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분된다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 비휘발성 반도체 메모리 장치는 외부 전원 공급이 중단되더라도 그 내용을 보존한다.
일반적으로, MROM, PROM 및 EPROM은 시스템 자체적으로 소거 및 쓰기가 자유롭지 못해 일반 사용자들이 기억 내용을 갱신하기가 용이하지 않다. 이에 반해 EEPROM은 전기적으로 소거 및 쓰기가 가능하기 때문에, 계속적인 갱신이 필요한 시스템 프로그래밍(System programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시(Flash) EEPROM은 기존의 EEPROM에 비해 집적도가 높아, 대용량 보 조 기억 장치로의 응용에 매우 유리하다. 플래시 EEPROM 중에서도 낸드형(NAND-type) 플래시 EEPROM(이하, '낸드형 플래시 메모리'라 칭함)은 다른 플래시 EEPROM에 비해 집적도가 매우 높은 장점을 가진다.
최근 들어 메모리 장치에 대한 고집적 요구가 증가함에 따라, 하나의 메모리 셀에 멀티 비트를 저장하는 멀티-비트 메모리 장치들이 보편화되고 있다. 멀티-비트 플래시 메모리 장치의 메모리 셀들은 문턱 전압 분포들 간의 간격이 조밀하게 제어되어야 한다. 즉, 데이터 보유 특성(Data retention characteristics) 및 질적 저하 없는 프로그램/소거 사이클 수(또는 내구성)는 데이터의 신뢰성과 관련하여 가장 중요한 관심사이다.
반도체 메모리 장치의 크기가 줄어들고, 동작 전압이 낮아짐에 따라 노이즈에 대한 데이터 판독 오류가 증가된다. 이러한 노이즈에는 열적 노이즈(Thermal noise), RTS 노이즈(Random Telegraph Signal noise) 등이 있다.
본 발명의 목적은 데이터 판독 오류를 줄일 수 있는 메모리 시스템, 및 그것의 읽기 방법을 제공하는 데 있다. 특히, 노이즈로 인한 데이터 판독 오류를 줄일 수 있는 메모리 시스템의 읽기 방법을 제공하는 데 있다.
본 발명에 따른 메모리 시스템의 읽기 방법은, 메모리로부터 읽혀진 데이터의 오류 정정이 가능한지 판별하는 단계, 오류 정정이 가능하지 않다면, 일정한 읽 기 레벨로 복수의 읽기 동작들을 수행함으로써 이레이저(Erasure) 후보들을 선정하는 이레이저 조작 단계, 및 상기 선정된 이레이저 후보들을 이용하여 에러 정정 코드 혹은 에러 검출 코드를 이용한 복호를 수행하는 단계를 포함한다.
실시 예에 있어서, 상기 조작된 이레이저에 따라 상기 읽혀진 데이터의 오류 정정이 가능한지를 판별하는 단계를 더 포함한다.
실시 예에 있어서, 상기 이레이저 후보들은 발생되는 플립(flip)을 이용하여 결정되되, 상기 플립은 동일한 전압 레벨로 읽기 동작을 수행하였음에도 불구하고 서로 다른 논리 상태로 비트가 결정되는 것을 의미한다.
실시 예에 있어서, 상기 에러 정정이 불가능할 때, 이레이저 조작을 수행할지를 판별하는 단계를 포함한다.
실시 예에 있어서, 상기 이레이저 조작을 수행하지 않을 때, 읽기 동작은 실패 처리된다.
실시 예에 있어서, 상기 선정된 이레이저 후보들은 모두 논리 상태 '1' 변경되거나 논리 상태 '0'으로 변경됨으로써 이레이저 복호가 수행되거나 혹은, 상기 선정된 이레이저 후보들은 정해져 있는 읽기 지점에서 읽혀진 데이터 및 상기 데이터의 모든 비트를 플립한 데이터를 이용하여 이레이저 복호가 수행된다.
본 발명에 따른 다른 메모리 시스템의 읽기 방법은, 메모리로부터 데이터를 읽는 단계, 일정한 읽기 레벨로 복수의 읽기 동작들을 수행함으로써 이레이저(Erasure) 후보들을 선정하는 단계, 상기 선정된 이레이저 후보들을 이용하여 이레이저를 조작하는 단계, 및 상기 조작된 이레이저를 이용하여 에러 정정 코드 혹 은 에러 검출 코드를 이용한 복호를 수행하는 단계를 포함한다.
본 발명에 따른 메모리 시스템은, 메모리, 및 상기 메모리로부터 읽혀진 데이터의 오류를 검출 및 정정하는 에러 정정 회로를 포함하되, 상기 에러 정정 회로는 일정한 전압 레벨로 복수의 읽기 동작들을 수행함으로써 이레이저를 선정한다.
실시 예에 있어서, 상기 에러 정정 회로는 상기 읽혀진 데이터를 에러 정정 코드를 이용하여 에러 정정이 가능한 지를 판별하되, 상기 판별 결과로써 에러 정정이 가능하지 않으면 상기 일정한 전압 레벨로 복수의 읽기 동작을 수행함으로써 이레이저 후보들을 선정하고, 상기 선정된 이레이저 후보들을 이용하여 에러 정정 코드 혹은 에러 검출 코드를 이용한 복호를 수행한다.
실시 예에 있어서, 상기 이레이버 후보들은 복수의 읽기 동작들로부터 결정된 비트들의 플립 빈도수를 이용하여 선정된다.
상술한 바와 같이 본 발명에 따른 메모리 시스템은 에러 정정이 불가능할 때, 동일한 전압 레벨로 읽기 동작을 반복적으로 수행함으로써 이레이저를 선정하고, 선정된 이레이저를 이용하여 에러를 정정할 수 있게 된다. 이로써, 본 발명의 메모리 시스템은 에러 정정 능력이 향상되고, 그 결과로써 데이터 판독 오류가 줄어들게 된다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참 조하여 설명할 것이다.
본 발명에 따른 메모리 시스템은 읽기 동작시 일정한 전압 레벨로 반복하여 읽기 동작을 수행함으로써 이레이저(Erasure)를 선정하도록 구현될 것이다. 여기서 이레이저는 데이터 처리 과정에서 논리 '0' 혹은 논리 '1'를 지시하기 어려운 논리 상태를 의미한다. 본 발명의 메모리 시스템은 이렇게 선정된 이레이저를 바탕으로 추가적인 에러 정정을 수행함으로써, 읽기 동작시 데이터 판독 오류를 줄일 수 있게 된다. 자세한 설명은 아래에서 도면을 참조하여 설명하도록 하도록 하겠다.
도 1은 본 발명의 메모리 시스템의 제 1 실시 예를 보여주는 도면이다. 도 1을 참조하면, 메모리 시스템(10)은 메모리(120), 및 메모리(120)를 제어하는 메모리 제어기(140)를 포함할 것이다. 본 발명의 메모리 제어기(140)는 소정의 전압 레벨의 읽기 동작을 반복적으로 수행함으로써 이레이저(Eresure)를 선정하는 이레이저 조작기(142)를 포함할 것이다.
메모리(120)는 전하를 기반으로 사용자의 데이터를 저장하기 위한 장치일 수 있다. 이러한 메모리(120)에는 휘발성 메모리 혹은 비휘발성 메모리가 포함될 수 있을 것이다. 예를 들어, 휘발성 메모리에는 디램(DRAM) 혹은 에스램(SRAM) 등이 포함되고, 비휘발성 메모리에는 플래시 메모리(NAND, NOR), 피램(PRAM:Phase Change RAM) 등이 포함될 것이다. 그러나 본 발명의 메모리(120)가 반드시 전하를 기반으로 사용되는 메모리에 국한될 필요는 없다.
메모리 제어기(140)는 에러 정정 회로(141) 및 이레이저 조작기(142)를 포함할 것이다.
에러 정정 회로(141)는 에러 정정 코드(error correction code)를 이용하여 메모리(120)로부터 읽혀진 데이터의 오류를 검출 및 정정할 것이다. 에러 정정 코드는, 예를 들어, 리드 솔로몬 코드(Reed-Solomon codes), BCH 코드, 바이너리 고레이 코드(Binary Golay code), 바이너리 고파 코드(Binary Goppa code), 비터비 디코더(Viterbi decoder) 등이 이용될 수 있을 것이다. 본 발명의 에러 정정 회로(140)는 메모리(120)로부터 데이터의 입력시 노이즈로 인해 발생되는 오류를 검출 및 정정할 수 있도록 구현될 수도 있을 것이다.
에러 정정 회로(141)는 경판정 디코딩(Hard decision decoding)에 의해서 정정할 수 없는 에러가 존재하는 경우에는 이레이저 조작(Erasure manipulation)을 바탕으로 에러 정정 코드의 복호 동작을 다시 수행할 것이다. 여기서 경판정은 모호하지 않은 확고한 판정을 의미하는 것으로, 수신된 데이터가 논리 '1' 혹은 '0'인지 모를 때에도 어느 하나로 판정한다.
이로써, 경판정 디코딩(Hard decision decoding)에 의해서 정정될 수 없는 에러는 이레이저 조작을 통해서 정정할 수 있다. 그 결과, 본 발명의 에러 정정 회로(141)는 경판정 디코딩 엔진에 의해 제공되는 에러 정정 능력보다 더 큰 에러 정정 기능을 제공할 수 있을 것이다.
종래의 메모리 시스템은 노이즈에 따라 에러가 발생할 경우 에러 정정 코드로 정정하는데 한계가 있었다. 반면에 본 발명의 메모리 시스템은 에러 정정 코드로 정정할 수 없더라도 추가적으로 이레이저를 선정 및 조작함으로써 에러 정정 기능이 향상될 것이다. 특히, 이레이저 선정시 동일한 전압 레벨로 반복하여 읽기 동 작을 수행함으로써 일시적인 노이즈에 따른 데이터 판독 오류가 줄어들게 될 것이다.
이레이저 조작기(142)는 메모리 어레이에서 동일한 전압으로 반복 읽기 동작을 수행함으로써 이레이저 후보를 선정하고, 이러한 이레이저 후보들을 적절하게 디코딩하여 에러 정정 코드의 디코더(141)로 데이터를 전송하는 역할을 수행할 것이다.
도 1에 도시된 이레이저 조작기(142)는 메모리 제어기(140)의 내부에 배치되어 있으나, 본 발명의 메모리 시스템이 반드시 여기에 국한될 필요는 없다. 본 발명의 이레이저 조작기(142)는 메모리의 내부 혹은 외부에 구비되는 알고리즘 혹은 하드웨어로 구현될 수 있을 것이다.
도 2는 도 1에 도시된 이레이저 조작기(142)의 이레이저 선정 방법을 보여주는 도면이다. 도 2를 참조하면, 비트 결정 과정(bit decision process)에서 메모리 셀은 논리 '1', 논리 '0', 및 이레이저 상태로 결정될 것이다. 여기서, 이레이저는 논리 '1' 혹은 논리 '0'으로 구분하기가 모호한 논리 상태를 말한다.
읽기 동작시 읽기 전압(VR)의 분해능과 정밀성이 좋아야 정확한 비트 결정이 가능할 것이다. 하지만, 도 3(a)에 도시된 바와 같이, 읽기 분해능(Read resolution)의 한계가 존재하여 보다 자세하게 읽기 동작이 수행될 수 없다. 또한, 도 3(b)에 도시된 바와 같이, 정밀성(Precision)의 한계가 존재하여, 전압의 변동성이 존재하게 된다. 이는, 곧, 물리적인 오차를 야기한다. 이러한 이유로써 읽기 동작시 정확한 비트 결정이 어렵다.
본 발명에서는 정확한 비트 결정을 수행하기 위하여 이레이저를 선정할 것이다. 본 발명의 이레이저 선정 방법은 기준 전압 레벨(VR)로 반복하여 읽기 동작을 수행함으로써 이레이저를 선정할 것이다. 즉. 동일한 읽기 전압 레벨의 복수의 읽기 동작 결과로써 이레이저가 선정될 것이다. 예를 들어, 플립(flip)의 개수로 다음과 같이 선정될 수 있을 것이다. 여기서 플립은 동일한 전압 레벨로 읽기 동작을 수행했는데 한번은 논리 '1' 이고, 다음에는 논리 '0'로 판별된 경우를 말한다.
아래에서는 플립의 개수로 이레이저 선정하는 방법을 보여주고 있다.
만약, 읽기 동작을 두 번 반복했을 경우에 플립이 발생하면, 대응하는 셀의 비트 결정은 이레이저로 선정될 것이다.
만약, 읽기 동작을 세 번 반복했을 경우에는 플립 비트의 논리 '1'과 논리 '0'의 빈도수가 2:1이면, 대응하는 셀의 비트 결정은 이레이저로 선정될 것이다.
이 외에도 동일한 전압 레벨의 복수의 읽기 동작 수행 결과들을 다양하게 조합함으로써 이레이저가 선정될 수 있을 것이다.
도 4는 도 1에 도시된 메모리 시스템의 읽기 동작에 대한 제 1 실시 예를 보여주는 흐름도이다. 도 1 내지 도 4를 참조하면, 읽기 동작은 다음과 같이 진행될 것이다.
외부(예를 들어)의 읽기 요청시 기준 전압 레벨(VR)로 메모리(120)로부터 데이터가 읽혀질 것이다(S110). 이때 읽혀진 데이터는 에러 정정 회로(140)로 전달될 것이다. 에러 정정 회로(140)는 읽혀진 데이터에 대한 에러 검출 및 정정을 위한 에러 정정 연산을 수행할 것이다. 이러한 에러 정정 연산 수행결과로써, 읽혀진 데이터의 에러 정정이 가능한지가 판별될 것이다(S120).
만일, 에러 정정이 가능하다면, 읽혀진 데이터의 에러가 정정되고 읽기 동작이 완료될 것이다(S125).
만일, 에러 정정이 가능하지 않다면, 읽혀진 데이터의 이레이저 디코딩(Erasure decoding) 여부가 판별될 것이다(S130). 여기서 읽혀진 데이터의 이레이저 디코딩은 이레이저를 이용하여 에러 정정을 수행하겠다는 의미이다. 만약, 더 이상 이레이저 디코딩이 수행되지 않는다면, 읽기 동작은 실패로 처리될 것이다.
만약, 이레이저 디코딩이 수행되려면, 기준 전압 레벨(VR)로 읽기 동작을 반복함으로써 이레이저 후보들이 선정될 것이다(S140). 여기서 이레이저 선정은 도 2에 도시된 바와 같이 진행될 것이다. 이후, 이레이저 조작기(142)는 선정된 이레이저 후보들을 이용하여 이레이저를 조작할 것이다(S150).
여기서, 이레이저 조작 방법은 다양하게 구현 가능할 것이다. 예를 들어, 선정된 이레이저 후보들의 논리 상태가 모두 논리 '1' 혹은 모두 논리 '0으로 디코딩될 수 있을 것이다. 다른 실시 예로써, 읽혀진 데이터에 대하여 비트 변경이 수행되거나 혹은 이레이저 후보들에 대하여 비트 변경이 수행될 수 있을 것이다. 본 발명에 따른 이레이저 조작 방법은 상술 된 실시 예들에 국한되지 않고, 다양하게 조합하여 이용될 수 있을 것이다. 이렇게 이레이저 조작이 끝난 뒤에는, 다시 S120 단계로 진행될 것이다.
도 5는 도 1에 도시된 메모리 시스템의 읽기 동작에 대한 제 2 실시 예를 보여주는 흐름도이다. 도 1, 도 2 및 도 5를 참조하면, 읽기 동작은 다음과 같이 진행될 것이다.
외부(예를 들어)의 읽기 요청시 기준 전압 레벨(VR)로 메모리(120)로부터 데이터가 읽혀질 것이다(S210). 이때 읽혀진 데이터는 에러 정정 회로(140)로 전달될 것이다.
이후, 이레이저 디코딩이 수행되려면 기준 전압 레벨(VR)로 읽기 동작을 반복함으로써 이레이저 후보들이 선정될 것이다(S220). 여기서 이레이저 선정은 도 2에 도시된 바와 같이 진행될 것이다. 이후, 이레이저 조작기(142)는 선정된 이레이저 후보들을 이용하여 이레이저 조작을 수행할 것이다(S230).
이후, 에러 정정 회로(140)는 읽혀진 데이터 및 조작된 이레이저를 근거로 에러 검출 및 정정을 위한 에러 정정 연산을 수행할 것이다. 이러한 에러 정정 연산 수행결과로써, 읽혀진 데이터의 에러 정정이 가능한지가 판별될 것이다(S240).
만일, 에러 정정이 가능하다면, 읽혀진 데이터의 에러가 정정되고 읽기 동작이 완료될 것이다(S245). 만일, 에러 정정이 가능하지 않다면, 읽혀진 데이터의 이레이저 디코딩(Erasure decoding) 여부가 판별될 것이다. 만약, 더 이상 이레이저 디코딩이 수행되지 않는다면, 읽기 동작은 실패로 처리될 것이다. 반면에, 이레이저 디코딩이 수행된다면, 다시 S220 단계가 진행될 것이다.
도 1 내지 도 5에 상술 된 메모리 시스템(10)은 에러 정정 회로(141)를 구비하였다. 그러나 본 발명의 메모리 시스템이 반드시 에러 정정 회로를 구비한 시스 템에 한정될 필요는 없다.
도 6은 본 발명의 메모리 시스템에 대한 제 2 실시 예를 보여주는 도면이다. 도 6을 참조하면, 메모리 시스템(20)은 메모리(220) 및 메모리 제어기(240)를 포함할 것이다. 본 발명의 메모리 제어기(240)는 에러 검출하는 에러 검출 회로(241) 및 기준 전압 레벨로 반복하여 읽기 동작을 수행함으로써 이레이저를 선정하는 이레이저 조작기(242)를 포함할 것이다.
에러 검출 회로(141)는 에러 검출 코드를 이용하여 메모리(120)로부터 읽혀진 데이터의 오류를 검출할 것이다. 에러 정정 회로(141)는 데이터 오류가 검출될 때 이레이저 조작(Erasure manipulation)을 바탕으로 에러 검출 코드의 복호 동작을 다시 수행할 것이다.
도 6에 도시된 이레이저 조작기(242)는 메모리 제어기(240)의 내부에 배치되어 있으나, 본 발명의 메모리 시스템이 반드시 여기에 국한될 필요는 없다. 본 발명의 이레이저 조작기(242)는 메모리의 내부 혹은 외부에 구비되는 알고리즘 혹은 하드웨어로 구현될 수 있을 것이다.
도 7는 도 6에 도시된 메모리 시스템의 읽기 동작에 대한 제 1 실시 예를 보여주는 흐름도이다. 도 6 내지 도 7를 참조하면, 읽기 동작은 다음과 같이 진행될 것이다.
외부(예를 들어)의 읽기 요청시 기준 전압 레벨(VR)로 전하 기반 메모리(220)로부터 데이터가 읽혀질 것이다(S210). 이때 읽혀진 데이터는 에러 검출 회 로(240)로 전달될 것이다. 에러 검출 회로(240)는 읽혀진 데이터에 대한 에러 검출 동작을 수행할 것이다. 이러한 에러 검출 동작의 결과로서 에러가 존재하는지가 판별될 것이다(S320).
만일, 에러가 없다면, 읽기 동작이 완료될 것이다.
만일, 에러가 있다면, 읽혀진 데이터의 이레이저 디코딩(Erasure decoding) 여부가 판별될 것이다(S330). 여기서 읽혀진 데이터의 이레이저 디코딩은 이레이저를 이용하여 에러 정정을 수행하겠다는 의미이다. 만약, 더 이상 이레이저 디코딩이 수행되지 않는다면, 읽기 동작은 실패로 처리될 것이다.
만약, 이레이저 디코딩이 수행되려면, 기준 전압 레벨(VR)로 읽기 동작을 반복함으로써 이레이저 후보들이 선정될 것이다(S340). 이후, 이레이저 조작기(242)는 선정된 이레이저 후보들을 이용하여 이레이저를 조작할 것이다(S350). 이레이저 조작이 끝난 뒤에는, 다시 S320 단계로 진행될 것이다.
도 8는 도 6에 도시된 메모리 시스템의 읽기 동작에 대한 제 2 실시 예를 보여주는 흐름도이다. 도 6 및 도 8를 참조하면, 읽기 동작은 다음과 같이 진행될 것이다.
외부(예를 들어)의 읽기 요청시 기준 전압 레벨(VR)로 전하 기반 메모리(220)로부터 데이터가 읽혀질 것이다(S410). 이때 읽혀진 데이터는 에러검출로(240)로 전달될 것이다.
이후, 이레이저 디코딩이 수행되려면 기준 전압 레벨(VR)로 읽기 동작을 반 복함으로써 이레이저 후보들이 선정될 것이다(S420). 이후, 이레이저 조작기(242)는 선정된 이레이저 후보들을 이용하여 이레이저 조작을 수행할 것이다(S430).
이후, 에러 검출 회로(240)는 읽혀진 데이터 및 조작된 이레이저를 근거로 에러가 있는지를 판별할 것이다(S440).
만일, 에러가 없다면, 읽기 동작은 완료될 것이다.
반면에, 에러가 있다면, 읽혀진 데이터의 이레이저 디코딩(Erasure decoding) 여부가 판별될 것이다(S450). 만약, 더 이상 이레이저 디코딩이 수행되지 않는다면, 읽기 동작은 실패로 처리될 것이다. 반면에, 이레이저 디코딩이 수행된다면, 다시 S420 단계가 진행될 것이다.
본 발명은 메모리 시스템에 반드시 한정될 필요가 없다. 본 발명은, 도 9에 도시된 바와 같이 메모리(300)의 내부에 에러 정정 코드(321) 및 이레이저 조작기(322)를 포함하거나, 혹은 도 10에 도시된 바와 같이도 6에 도시된 에러 검출 회로(421) 및 이레이저 조작기(422)를 포함하도록 구현될 것이다.
본 발명의 메모리 시스템은 SSD(Solid State Disk)에 적용가능하다.
도 11은 본 발명의 실시 예에 따른 SSD 메모리 시스템을 보여주는 도면이다. 도 11를 참조하면, SSD 메모리 시스템(500)은 SSD 제어기(550)와 플래시 메모리들(560)을 포함할 것이다. SSD 제어기(550)는, 도 1에 도시된 에러 정정 회로(140) 혹은 도 6에 도시된 에러 검출 회로(240)의 기능을 갖도록 구현될 것이다.
다시 도 12를 참조하면, 프로세서(510)는 호스트로부터 명령어를 전달받아 호스트로부터의 데이터를 플래시 메모리에 저장할지 혹은 플래시 메모리의 저장 데 이터를 읽어 호스트로 전송할 지의 여부를 결정하고 제어할 것이다.
ATA 호스트 인터페이스(520)는 상술한 프로세서(510)의 제어에 따라 호스트 측과 데이터를 교환할 것이다. ATA 호스트 인터페이스(520)는 호스트측으로부터 명령어 및 주소를 패치하여 CPU 버스를 통해서 프로세서(510)로 전달할 것이다. 여기서 ATA 호스트 인터페이스(520)는 SATA 인터페이스, PATA 인터페이스, 및 ESATA(External SATA) 인터페이스 등 중에서 어느 하나일 것이다.
ATA 호스트 인터페이스(520)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 프로세서(510)의 제어에 따라 CPU 버스를 경유하지 않고 캐시 버퍼 램(540)를 통해 전달될 것이다.
램(530)은 플래시 메모리 시스템(500)의 동작에 필요한 데이터를 임시로 저장하는데 이용될 것이다. 이러한 램(530)은 휘발성 메모리 장치로써, DRAM, SRAM 등이 될 수 있다.
캐시 버퍼 램(540)은 호스트와 플래시 메모리들(560) 간의 이동 데이터를 일시 저장할 것이다. 또한, 캐시 버퍼 램(540)은 프로세서(510)에 의해서 운용될 프로그램을 저장하는 데에도 사용될 것이다. 캐시 버퍼 램(540)은 일종의 버퍼 메모리로 간주할 수 있으며, SRAM으로 구현될 수 있다.
SSD 제어기(550)는 저장 장치로 사용되는 플래시 메모리들과 데이터를 주고받을 것이다. SSD 제어기(550)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
본 발명의 이레이저 조작기는 에러 정정 회로 혹은 에러 검출 회로 내부에 존재하도록 구현될 수도 있다. 도 12는 본 발명의 이레이저 조작기(642)가 에러 정정 회로(640)에 포함된 메모리 시스템(40)을 보여주는 도면이다. 도 13은 본 발명의 이레이저 조작기(742)가 에러 검출 회로(740)에 포함된 메모리 시스템(50)을 보여주는 도면이다.
본 발명에 따른 메모리 시스템은 이동형 저장 장치로서 사용될 수 있다. 따라서, MP3, 디지털 카메라, PDA, e-Book의 저장 장치로서 사용될 수 있다. 또한, 디지털 TV나 컴퓨터 등의 저장 장치로서 사용될 수 있다.
본 발명에 따른 메모리 시스템 또는 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템 또는 저장 장치는 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), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으 나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 메모리 시스템의 제 1 실시 예를 보여주는 도면이다.
도 2은 본 발명의 실시 예에 따른 이레이저 선정 방법을 보여주는 도면이다.
도 3은 비트 결정이 어려운 이유를 설명하기 위한 도면이다.
도 4는 도 1에 도시된 메모리 시스템의 읽기 방법에 대한 제 1 실시 예를 보여주는 흐름도이다.
도 5는 도 1에 도시된 메모리 시스템의 읽기 방법에 대한 제 2 실시 예를 보여주는 흐름도이다.
도 6은 본 발명의 메모리 시스템의 제 2 실시 예를 보여주는 도면이다.
도 7은 도 6에 도시된 메모리 시스템의 읽기 방법에 대한 제 1 실시 예를 보여주는 흐름도이다.
도 8은 도 6에 도시된 메모리 시스템의 읽기 방법에 대한 제 2 실시 예를 보여주는 흐름도이다.
도 9는 본 발명에 따른 메모리의 제 1 실시 예를 보여주는 블록도이다.
도 10은 본 발명에 따른 메모리의 제 2 실시 예를 보여주는 블록도이다.
도 11은 본 발명이 적용된 SSD에 대한 실시 예를 보여주는 블록도이다.
도 12는 본 발명의 메모리 시스템의 제 3 실시 예를 보여주는 블록도이다.
도 13은 본 발명의 메모리 시스템의 제 4 실시 예를 보여주는 블록도이다.
*도면의 주요부분에 대한 부호의 설명*
10,20,30,40: 메모리 시스템
120,220,300,400,620,720: 메모리
140,240: 메모리제어기
141,321,620: 에러 정정 회로
240,421,720: 에러 검출 회로
142,242,322,422,642,742: 이레이저 조작기
30: SSD
550: SSD 제어기 560: 플래시 메모리
Claims (10)
- 메모리 시스템의 읽기 방법에 있어서:메모리로부터 읽혀진 데이터의 오류 정정이 가능한지 판별하는 단계;오류 정정이 가능하지 않다면, 일정한 읽기 레벨로 복수의 읽기 동작들을 수행함으로써 이레이저(Erasure) 후보들을 선정하는 단계; 및상기 선정된 이레이저 후보들을 이용하여 에러 정정 코드 혹은 에러 검출 코드의 복호 동작을 수행하는 단계를 포함하는 읽기 방법.
- 제 1 항에 있어서,상기 복호 동작 이후에 상기 읽혀진 데이터의 오류 정정이 가능한지를 다시 판별하는 단계를 더 포함하는 읽기 방법.
- 제 1 항에 있어서,상기 이레이저 후보들은 발생되는 플립(flip)을 이용하여 결정되되, 상기 플립은 동일한 전압 레벨로 읽기 동작을 수행하였음에도 불구하고 서로 다른 논리 상태로 비트가 결정되는 것을 의미하는 읽기 방법.
- 제 1 항에 있어서,상기 에러 정정이 불가능할 때, 이레이저 조작을 수행할지를 판별하는 단계 를 포함하는 읽기 방법.
- 제 4 항에 있어서,상기 이레이저 조작을 수행하지 않을 때, 읽기 동작은 실패 처리되는 읽기 방법.
- 제 1 항에 있어서,상기 선정된 이레이저 후보들은 모두 논리 상태 '1' 변경되거나 논리 상태 '0'으로 변경됨으로써 이레이저 복호가 수행되는 읽기 방법.
- 메모리 시스템의 읽기 방법에 있어서:메모리로부터 데이터를 읽는 단계;일정한 읽기 레벨로 복수의 읽기 동작들을 수행함으로써 이레이저(Erasure) 후보들을 선정하는 단계;상기 선정된 이레이저 후보들을 이용하여 이레이저를 조작하는 단계; 및상기 조작된 이레이저를 이용하여 상기 읽혀진 데이터의 오류 정정이 가능한지 판별하는 단계를 포함하는 읽기 방법.
- 메모리; 및상기 메모리로부터 읽혀진 데이터의 오류를 검출 및 정정하는 에러 정정 회 로를 포함하되,상기 에러 정정 회로는 일정한 전압 레벨로 복수의 읽기 동작들을 수행함으로써 이레이저를 선정하는 메모리 시스템.
- 제 8 항에 있어서,상기 에러 정정 회로는 상기 읽혀진 데이터를 에러 정정 코드를 이용하여 에러 정정이 가능한 지를 판별하되,상기 판별 결과로써 에러 정정이 가능하지 않으면 상기 일정한 전압 레벨로 복수의 읽기 동작을 수행함으로써 이레이저 후보들을 선정하고, 상기 선정된 이레이저 후보들을 이용하여 이레이저를 조작하여 에러를 정정하는 메모리 시스템.
- 제 8 항에 있어서,상기 이레이버 후보들은 복수의 읽기 동작들로부터 결정된 비트들의 플립 빈도수를 이용하여 선정되는 메모리 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090039906A KR20100120991A (ko) | 2009-05-07 | 2009-05-07 | 이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법 |
US12/773,179 US20100287447A1 (en) | 2009-05-07 | 2010-05-04 | Memory system identifying and correcting erasure using repeated application of read operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090039906A KR20100120991A (ko) | 2009-05-07 | 2009-05-07 | 이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100120991A true KR20100120991A (ko) | 2010-11-17 |
Family
ID=43063096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090039906A KR20100120991A (ko) | 2009-05-07 | 2009-05-07 | 이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100287447A1 (ko) |
KR (1) | KR20100120991A (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130136271A (ko) | 2012-06-04 | 2013-12-12 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 데이터 처리 방법 |
WO2016014399A1 (en) | 2014-07-21 | 2016-01-28 | Rensselaer Polytechnic Institute | Error tolerant memory system |
US9679652B2 (en) * | 2015-05-04 | 2017-06-13 | Phison Electronics Corp. | Threshold based multi-level cell programming for reliability improvement |
WO2021102962A1 (zh) * | 2019-11-29 | 2021-06-03 | 华为技术有限公司 | 一种译码的方法、装置及控制设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359925B1 (en) * | 1999-03-09 | 2002-03-19 | Linex Technologies, Inc. | Relative-signal-level data detection from a spread-spectrum signal using matched-filter obtained side information |
US6981197B2 (en) * | 2001-01-23 | 2005-12-27 | Seagate Technology Llc | Enhanced interleave type error correction method and apparatus |
US6621739B2 (en) * | 2002-01-18 | 2003-09-16 | Sandisk Corporation | Reducing the effects of noise in non-volatile memories through multiple reads |
US8190964B2 (en) * | 2002-04-05 | 2012-05-29 | Sentel Corporation | Decoding method |
JP3776884B2 (ja) * | 2002-12-27 | 2006-05-17 | 株式会社東芝 | イレージャ訂正機能の検証に適した記録再生制御装置、同制御装置を備えた記録再生装置、及びイレージャ訂正機能を検証する方法 |
US7313749B2 (en) * | 2004-06-29 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | System and method for applying error correction code (ECC) erasure mode and clearing recorded information from a page deallocation table |
US7196946B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling in non-volatile storage |
KR100791348B1 (ko) * | 2006-12-15 | 2008-01-03 | 삼성전자주식회사 | 반도체 메모리 장치 및 그 병렬 비트 테스트 방법 |
JP2008300020A (ja) * | 2007-06-04 | 2008-12-11 | Toshiba Corp | 再生装置 |
US8055942B2 (en) * | 2009-12-03 | 2011-11-08 | Seagate Technology Llc | Data storage devices and methods for power-on initialization |
-
2009
- 2009-05-07 KR KR1020090039906A patent/KR20100120991A/ko not_active Application Discontinuation
-
2010
- 2010-05-04 US US12/773,179 patent/US20100287447A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100287447A1 (en) | 2010-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101466270B1 (ko) | 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법 | |
KR101633048B1 (ko) | 메모리 시스템 및 그것의 데이터 처리 방법 | |
KR102025193B1 (ko) | 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템 | |
KR101618311B1 (ko) | 플래시 메모리 장치 및 그것의 읽기 방법 | |
KR101425020B1 (ko) | 메모리 장치 및 데이터 판정 방법 | |
KR101635506B1 (ko) | 데이터 저장 시스템 및 그것의 읽기 방법 | |
KR101518033B1 (ko) | 멀티-레벨 비휘발성 메모리 장치, 상기 장치를 포함하는 메모리 시스템 및 그 동작 방법 | |
CN108073466B (zh) | 用于减少数据访问延迟的介质质量感知ecc解码方法选择 | |
KR101528167B1 (ko) | 메모리 장치 및 메모리 데이터 판정 방법 | |
US9647695B2 (en) | Memory controllers and flash memory reading methods | |
US8830743B2 (en) | Method of operating memory controller, memory controller, memory device and memory system | |
KR102050896B1 (ko) | 메모리 컨트롤러 및 그것의 동작 방법 | |
US9411679B2 (en) | Code modulation encoder and decoder, memory controller including them, and flash memory system | |
TW201435899A (zh) | 使用於非揮發性記憶體元件之對數槪似比率(llr)最佳化和修正非揮發性記憶體元件之錯誤的方法 | |
KR101678404B1 (ko) | 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법 | |
KR20130027138A (ko) | 에러 정정 방법 및 이를 이용하는 메모리 장치 | |
KR20110065897A (ko) | 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법 | |
US8218363B2 (en) | Flash memory device and methods programming/reading flash memory device | |
KR20150129325A (ko) | 솔리드 스테이트 메모리에 저장된 데이터 디코딩 | |
CN109559777B (zh) | 非易失性存储装置及其操作方法 | |
KR20100120991A (ko) | 이레이저 조작을 수행하는 메모리 시스템 및 그것의 읽기 방법 | |
CN111367709A (zh) | 错误校正设备及其操作方法和使用该设备的存储器系统 | |
CN114596910A (zh) | 执行ecc解码的纠错码引擎及其操作方法和包括其的存储设备 | |
CN112346902B (zh) | 存储器子系统处的错误控制操作的优先级排序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |