KR102048765B1 - 메모리 시스템의 동작 방법 및 메모리 시스템 - Google Patents

메모리 시스템의 동작 방법 및 메모리 시스템 Download PDF

Info

Publication number
KR102048765B1
KR102048765B1 KR1020130004222A KR20130004222A KR102048765B1 KR 102048765 B1 KR102048765 B1 KR 102048765B1 KR 1020130004222 A KR1020130004222 A KR 1020130004222A KR 20130004222 A KR20130004222 A KR 20130004222A KR 102048765 B1 KR102048765 B1 KR 102048765B1
Authority
KR
South Korea
Prior art keywords
sector
data
read
memory
memory device
Prior art date
Application number
KR1020130004222A
Other languages
English (en)
Other versions
KR20140092027A (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 KR1020130004222A priority Critical patent/KR102048765B1/ko
Priority to JP2013258390A priority patent/JP6228446B2/ja
Priority to DE102014100161.3A priority patent/DE102014100161A1/de
Priority to US14/154,641 priority patent/US9230669B2/en
Priority to CN201410018340.7A priority patent/CN103928052B/zh
Publication of KR20140092027A publication Critical patent/KR20140092027A/ko
Application granted granted Critical
Publication of KR102048765B1 publication Critical patent/KR102048765B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • 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
    • 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/0409Online test
    • 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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 구비하는 메모리 시스템의 동작 방법에서는 메모리 셀 어레이에서 복수의 섹터들로 구성되는 페이지 단위의 데이터를 독출한다. 상기 메모리 컨트롤러에서 상기 독출된 페이지 단위의 데이터에 대하여 섹터 단위로 에러 정정 디코딩을 수행한다. 상기 수행된 에러 정정 디코딩에 의하여 정정불가능한 에러들을 포함하는 적어도 하나의 타겟 섹터와 정정가능한 에러들을 포함하는 적어도 하나의 패스 섹터를 선택한다. 상기 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 상기 적어도 하나의 타겟 섹터에 연결되는 타겟 비트라인들을 프리차지하고 상기 적어도 하나의 타겟 섹터의 데이터에 대한 독출 재시도 동작을 수행한다.

Description

메모리 시스템의 동작 방법 및 메모리 시스템{Method of operating memory system and memory system}
본 발명은 반도체 메모리 장치에 관한 것으로, 보다 상세하게는 비휘발성 메모리 장치와 메모리 컨트롤러를 구비하는 메모리 시스템 및 이의 동작 방법에 관한 것이다.
플래시 메모리 장치와 같은 비휘발성 메모리 장치는 복수의 메모리 영역들이 한번의 프로그램 동작으로 소거 또는 프로그램되는 일종의 EEPROM이다. 일반적인 EEPROM은 단지 하나의 메모리 영역이 한 번에 소거 또는 프로그램 가능하게 하며, 이는 플래시 메모리 장치를 사용하는 시스템들이 동시에 다른 영역들에 대하여 일고 쓸 때 보다 빠르고 효과적인 속도로 플래시 메모리 장치가 동작할 수 있음을 의미한다. 플래시 메모리 및 EEPRM의 모든 형태는 데이터를 저장하는데 사용되는 전하 저장 수단의 열화 또는 전하 저장 수단을 둘러싸고 있는 절연막의 마멸로 인해서 특정 수의 소거 동작 후에 마멸된다.
플래시 메모리 장치는 실리콘 칩에 저장된 정보를 유지하는데 전원을 필요로 하지 않는 방법으로 실리콘 칩 상에 정보를 저장한다. 이는 만약 칩에 공급되는 전원이 차단되면 전원의 소모 없이 정보가 유지됨을 의미한다. 또한, 플래시 메모리 장치는 물리적인 충격 저항성 및 빠른 읽기 접근 시간을 제공한다. 이러한 특징들 때문에, 플래시 메모리 장치는 배터리에 의해서 전원을 공급받는 저장 장치로서 일반적으로 사용되고 있다.
본 발명의 일 목적은 전력 소모를 감소시킬 수 있는 메모리 시스템의 동작 방법을 제공하는데 있다.
본 발명의 일 목적은 전력 소모를 감소시킬 수 있는 메모리 시스템을 제공하는데 있다.
상기 일 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 구비하는 메모리 시스템의 동작 방법에서는 메모리 셀 어레이에서 복수의 섹터들로 구성되는 페이지 단위의 데이터를 독출한다. 상기 메모리 컨트롤러에서 상기 독출된 페이지 단위의 데이터에 대하여 섹터 단위로 에러 정정 디코딩을 수행한다. 상기 수행된 에러 정정 디코딩에 의하여 정정불가능한 에러들을 포함하는 적어도 하나의 타겟 섹터와 정정가능한 에러들을 포함하는 적어도 하나의 패스 섹터를 선택한다. 상기 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 상기 적어도 하나의 타겟 섹터에 연결되는 타겟 비트라인들을 프리차지하고 상기 적어도 하나의 타겟 섹터의 데이터에 대한 독출 재시도 동작을 수행한다.
예시적인 실시예에 있어서, 상기 에러 정정 디코딩은 상기 복수의 섹터들 각각에 포함되는 메인 데이터를 기초로 생성된 패리티 데이터를 이용하여 수행되고, 상기 적어도 하나의 타겟 섹터는 상기 에러의 수가 상기 패리티 데이터의 수보다 크고, 상기 적어도 하나의 패스 섹터는 상기 에러의 수가 상기 패리티 데이터의 수 이하일 수 있다.
예시적인 실시예에 있어서, 상기 적어도 하나의 타겟 섹터에 대한 상기 독출 재시도 동작은 상기 정정 불가능한 에러들이 상기 에러 정정 디코딩에 의하여 정정될 때까지 반복될 수 있다.
예시적인 실시예에 있어서, 상기 적어도 하나의 타겟 섹터에 대한 상기 독출 재시도 동작은 정해진 기준 회수 이내에서 반복될 수 있다.
상기 적어도 하나의 타겟 섹터에 대한 상기 독출 재시도 동작이 상기 정해진 기준 회수를 초과하는 경우 상기 적어도 하나의 타겟 섹터를 포함하는 메모리 블록을 다른 메모리 블록으로 카피하고, 상기 적어도 하나의 타겟 섹터를 포함하는 메모리 블록을 소거하는 소거 리프레쉬 동작이 수행될 수 있다.
예시적인 실시예에 있어서, 상기 적어도 하나의 타겟 섹터는 상기 메모리 컨트롤러가 상기 타겟 섹터에 포함되는 메모리 셀들에 타겟 섹터 이외의 다른 섹터들의 메모리 셀들에 입력되는 데이터와는 다른 데이터 패턴을 입력하여 선택될 수 있다.
상기 타겟 섹터에 포함되는 메모리 셀들에는 데이터 "0"이 입력되고 다른 섹터들에 포함되는 메모리 셀들에는 데이터 "1"이 입력될 수 있다.
예시적인 실시예에 있어서, 상기 복수의 섹터들 각각의 크기는 상기 메모리 컨트롤러가 세트 피쳐 커맨드에 의하여 설정할 수 있다.
상기 복수의 섹터들 각각의 크기는 상기 세트 피쳐 커맨드 이후에 상기 비휘발성 메모리 장치에 전송되는 데이터의 적어도 일부를 이용하여 설정될 수 있다.
예시적인 실시예에 있어서, 상기 복수의 섹터들 각각의 크기는 상기 비휘발성 메모리 장치에 구비되는 퓨즈부에 웨이퍼 레벨이나 패키지 레벨에서 퓨즈 옵션을 통하여 저장되고, 상기 비휘발성 메모리 장치의 파워-업 시퀀스 동안에 상기 퓨즈부에 저장된 데이터에 따라 설정될 수 있다.
예시적인 실시예에 있어서, 상기 메모리 컨트롤러는 상기 적어도 하나의 타겟 섹터를 선택하기 위한 섹터 선택 커맨드와 섹터 어드레스를 상기 비휘발성 메모리 장치에 제공할 수 있다.
상기 일 목적을 달성하기 위하여 본 발명의 일 실시예에 따른 메모리 시스템은 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 구비한다. 상기 메모리 컨트롤러는 상기 비휘발성 메모리 장치로부터 복수의 섹터들로 구성되는 페이지 단위의 데이터를 독출하고, 상기 독출된 페이지 단위의 데이터에 대하여 섹터 단위로 에러 정정 디코딩을 수행하는 에러 정정 코드 블록; 및 상기 수행된 에러 정정 디코딩에 의하여 정정불가능한 에러들을 포함하는 적어도 하나의 타겟 섹터와 정정가능한 에러들을 포함하는 적어도 하나의 패스 섹터를 선택하고 상기 비휘발성 메모리 장치가 상기 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 상기 적어도 하나의 타겟 섹터에 연결되는 타겟 비트라인들을 프리차지하고 상기 적어도 하나의 타겟 섹터의 데이터에 대한 독출 재시도 동작을 수행하도록 제어하는 제어 블록을 포함한다.
예시적인 실시예에 있어서, 상기 에러 정정 코드 블록은 상기 섹터 단위로 수행된 에러 정정 디코딩의 성공 여부를 나타내는 플래그 신호를 상기 제어 블록에 제공할 수 있다.
상기 제어 블록은 상기 복수의 섹터들의 섹터 번호와 상기 복수의 섹터들 각각에 대한 플래그 신호를 저장하는 섹터 테이블을 포함할 수 있다.
예시적인 실시예에 있어서, 상기 제어 로직은 상기 메모리 컨트롤러로부터 제공되는 세트 피쳐 커맨드에 포함되는 섹터 크기 정보를 저장하는 레지스터를 포함하고, 상기 제어 로직은 상기 섹터 크기 정보에 따라 상기 섹터들 각각의 크기를 설정할 수 있다.
본 발명의 실시예들에 따르면, 메모리 컨트롤러가 비휘발성 메모리 장치에 구비되는 메모리 셀 어레이에 대하여 페이지 단위로 독출 동작을 수행하고, 독출된 데이터에 대하여 섹터 단위로 에러 감지 및 정정 동작을 수행하고, 정정이 불가능한 에러를 포함하는 적어도 하나의 타겟 섹터에 연결되는 비트라이들만을 프리차지시켜 상기 타겟 섹터에 대하여 독출 재시도 동작을 수행하여 전력 소모를 감소시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치와 메모리 컨트롤러를 구비하는 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 2a는 본 발명의 실시예에 따른 메모리 시스템의 구성을 나타내는 블록도이다.
도 2b는 본 발명의 일 실시예에 따른 도 2a의 메모리 컨트롤러의 구체적은 구성을 나타내는 블록도이다.
도 3, 4, 5, 6, 7 및 8은 도 2a의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 예들을 나타내는 도면들이다.
도 9는 도 2a의 메모리 셀 어레이에 포함되는 하나의 페이지의 구성을 나타내는 블록도이다.
도 10은 도 2a의 메모리 셀 어레이의 각 메모리 셀에 형성될 수 있는 문턱 전압의 분포를 예시적으로 나타낸다.
도 11과 도 12는 도 10에 도시된 문턱 전압이 변형된 예를 나타낸다.
도 13은 본 발명의 일 실시예에 따른 도 2b의 섹터 테이블의 구성의 일 예를 나타낸다.
도 14는 도 13의 경우에 타겟 섹터에 연결되는 타겟 비트라인들이 선택적으로 프리차지되는 것을 나타낸다.
도 15a는 본 발명의 실시예에 따라 도 2a의 메모리 시스템에서 타겟 섹터를 설정하는 것을 나타내는 타이밍도이다.
도 15b와 도 15c는 본 발명의 실시예들에 따른 타겟 섹터를 설정하기 위한 입력 데이터 패턴을 나타낸다.
도 16은 본 발명의 다른 실시예에 따라 도 2a의 메모리 시스템에서 타겟 섹터를 설정하는 것을 나타내는 타이밍도이다.
도 17은 본 발명의 실시예에 따른 섹터들과 페이지 버퍼들의 연결관계를 나타낸다.
도 18은 본 발명의 실시예에 따라 도 17의 페이지 버퍼들에 포함될 수 있는 하나의 페이지 버퍼의 구성을 나타내는 블록도이다.
도 19는 본 발명의 실시예에 따른 도 2a의 제어 로직의 구성을 나타내는 블록도이다.
도 20은 본 발명의 일 실시예에 따라 섹터 크기 설정 방법을 설명하기 위한 타이밍도이다.
도 21은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 22는 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 23은 본 발명의 실시예들에 따른 메모리 시스템을 메모리 카드에 응용한 예를 나타내는 블록도이다.
도 24는 본 발명의 실시예들에 따른 메모리 시스템을 솔리드 스테이트 드라이브에 응용한 예를 나타내는 블록도이다.
도 25는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 26은 본 발명의 실시예들에 따른 메모리 시스템을 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일하거나 유사한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치와 메모리 컨트롤러를 구비하는 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 1을 참조하면, 비휘발성 메모리 장치와 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 구비하는 메모리 시스템의 동작 방법에 있어서, 비휘발성 메모리 장치의 메모리 셀 어레이로부터 복수의 섹터들로 구성되는 페이지 단위의 데이터를 독출한다(S110). 비휘발성 메모리 장치는 데이터을 저장하는 메모리 셀 어레이를 포함하는데 이 메모리 셀 어레이는 복수의 블록들로 구성될 수 있고, 복수의 블록들 각각은 복수의 페이지들로 구성될 수 있고, 복수의 페이지들 각각은 복수의 섹터들로 구성될 수 있다.
메모리 컨트롤러의 에러 정정 코드(error correction code; 이하 ECC) 블록에서 상기 독출된 페이지 단위의 데이터에 대하여 섹터 단위로 ECC 디코딩을 수행한다(S120). 상기 수행된 ECC 디코딩에 의하여 독출 데이터에 독출 에러가 존재하는지 여부를 판단할 수 있다. 상기 ECC 블록은 상기 수행된 ECC 디코딩에 기초하여 각 섹터 단위로 상기 독출 에러가 정정이 가능한지 또는 정정이 불가능한지 여부를 메모리 컨트롤러 구비되는 중앙 처리 장치(CPU)에 통지할 수 있다. 상기 통지에 기초하여 메모리 컨트롤러는 정정이 불가능한 독출 에러를 포함하며 독출 재시도 동작을 수행할 적어도 하나의 타겟 섹터와 정정 가능한 에러를 포함하는 적어도 하나의 패스 섹터를 선택할 수 있다(S130). 상기 하나의 타겟 섹터를 선택하기 위하여 메모리 컨트롤러는 상기 타겟 섹터에 포함되는 메모리 셀들에 동일한 데이터을 입력할 수 있다. 여기서 동일한 데이터는 데이터 "0"일 수 있다. 상기 하나의 타겟 섹터를 선택하기 위하여 메모리 컨트롤러는 타겟 선택 명령어를 사용할 수 있다.
메모리 컨트롤러는 상기 비휘발성 메모리 장치를 제어하여 상기 패스섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 상기 타겟 섹터에 연결되는 타겟 비트라인들만을 프리차지하고 상기 타겟 섹터에 대하여 독출 재시도 동작(read retry operation)을 수행할 수 있다(S140). 이러한 독출 재시도 동작은 상기 타겟 섹터의 독출 에러가 모두 정정될 때까지 반복적으로 수행될 수 있다. 또한 이러한 독출 재시도 동작은 정해진 횟수 내에서 반복적으로 수행되고, 정해진 횟수를 초과하는 경우에는 상기 타겟 섹터를 포함하는 메모리 블록에 대하여 소거 리프레쉬 동작이 수행될 수 있다.
종래의 메모리 시스템에서는 하나의 페이지에 구비되는 일부 섹터들에서 정정 불가능한 독출 에러가 발생하는 경우 하나의 페이지에 연결되는 비트라인들 전체를 프리차지한 후에 정정 불가능한 독출 에러가 발생되는 섹터들에 대하여 독출 재시도 동작을 수행하였으므로 전력 소비가 컸으나 본 실시예에서는 타겟 섹터에 연결되는 비트라인들만을 프리차지 하기 때문에 전력 소비를 감소시킬 수 있다.
도 2a는 본 발명의 실시예에 따른 메모리 시스템의 구성을 나타내는 블록도이다.
도 2a를 참조하면, 메모리 시스템(10)은 메모리 컨트롤러(20) 및 비휘발성 메모리 장치(60)를 포함할 수 있다.
비휘발성 메모리 장치(60)는 플래시 메모리 장치일 수 있으며, 메모리 셀 어레이(100), 페이지 버퍼부(310), 열 선택 회로(320), 행 선택 회로(340), 입/출력 버퍼(330), 전압 생성기(345) 및 제어 로직(350)을 포함할 수 있다.
제어 로직(350)은 메모리 컨트롤러(20)의 제어에 따라 액세스 동작, 예컨대 프로그램 동작, 소거 동작, 독출 동작을 위하여 비휘발성 메모리 장치(60)의 동작을 제어할 수 있다.
메모리 셀 어레이(100)는 복수의 워드 라인들(WL)과 복수의 비트 라인들(BL)에 각각 연결되는 복수의 메모리 셀들을 포함한다. 도 3 내지 8을 참조하여 후술하는 바와 같이, 상기 복수의 메모리 셀들은 각각 NAND 또는 NOR 플래시 메모리 셀들일 수 있으며, 2차원 어레이(array) 구조 또는 3차원 수직 어레이 구조로 배열될 수 있다.
일 실시예에서, 상기 복수의 메모리 셀들은 각각 하나의 데이터 비트를 저장하는 싱글 레벨 메모리 셀(Single Level memory Cell; SLC)들 또는 복수의 데이터 비트들을 저장하는 멀티 레벨 메모리 셀(Multi Level memory Cell; MLC)들일 수 있다. 멀티 레벨 메모리 셀의 경우에 기입 모드에서의 프로그램 방식은 쉐도우 프로그램 방식, 리프로그램 방식 또는 온칩 버퍼드 프로그램 방식과 같은 다양한 프로그램 방식이 적용될 수 있다.
행 선택 회로(340)는 제어 로직(350)에 의하여 제어되며, 로우 어드레스(YADD)에 응답하여 메모리 셀 어레이(100)의 행들에 대한 선택 및 구동 동작들을 수행하도록 구성된다. 제어 로직(350)은 비휘발성 메모리 장치(60)의 동작을 전반적으로 제어하도록 구성된다. 페이지 버퍼부(310)는 제어 로직(350)에 의하여 제어되며, 동작 모드에 따라 감지 증폭기로서 또는 기입 드라이버로서 동작한다. 예를 들어, 독출 동작 동안, 페이지 버퍼부(310)는 선택된 행의 메모리 셀들로부터 데이터를 감지하는 감지 증폭기로서 동작한다. 프로그램 동작 동안, 페이지 버퍼부(310)는 프로그램 데이터에 따라 선택된 행의 메모리 셀들을 구동하는 기입 드라이버로서 동작할 수 있다. 또한 페이지 버퍼부(310)는 독출 재기입 동작 동안에 제어 로직(350)의 제어에 따라 정정이 불가능한 독출 에러를 포함하는 타겟 섹터에 연결되는 비트라인들만을 선택적으로 프리차지할 수 있다. 페이지 버퍼부(310)는 비트 라인들에 또는 비트 라인쌍들에 각각 대응하는 페이지 버퍼를 포함할 수 있다. 메모리 셀들 각각이 멀티-비트 데이터를 저장하는 경우, 페이지 버퍼 부(310)의 각 페이지 버퍼는 두 개 이상의 래치들을 갖도록 구성될 수 있다.
열 선택 회로(320)는 제어 로직(350)에 의하여 제어되며, 칼럼 어드레스(YADD)에 응답하여 독출/프로그램 동작시 열들(또는 페이지 버퍼들)을 정해진 단위로 순차적으로 선택한다. 입출력 버퍼(330)는 열 선택 회로(320)를 통해 전달되는 페이지 버퍼부(310)의 데이터를 메모리 컨트롤러(20)로 전송한다.
전압 생성기(345)는 제어 로직(350)으로부터의 제어 신호(CTR)에 따른 독출 전압 신호들 즉 선택 독출 전압(Vrd 및 비선택 독출 전압(Vread)을 생성하여 행 선택 회로(340)에 제공하여 메모리 셀 어레이(100)에 대한 독출 동작이 수행되도록 할 수 있다. 또한 전압 생성기(345)는 제어 로직(350)으로부터의 제어 신호(CTR)에 따라 선택 독출 전압(Vrd)의 레벨을 변경하여 타겟 섹터의 데이터들에 대한 독출 재시도 동작이 수행되도록 할 수 있다.
도 3, 4, 5, 6, 7 및 8은 도 2a의 비휘발성 메모리 장치에 포함되는 메모리 셀 어레이의 예들을 나타내는 도면들이다.
도 3은 NOR형 플래시 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이고, 도 4는 NAND형 플래시 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이며, 도 5는 수직형 플래시 메모리 장치에 포함되는 메모리 셀 어레이의 일 예를 나타내는 회로도이다. 도 6은 수직형 플래시 메모리 장치를 설명하기 위한 사시도이고, 도 7은 도 6에 도시된 수직형 플래시 메모리 장치를 I-I`라인으로 절단한 단면도이며, 도 8은 도 6에 도시된 수직형 플래시 메모리 장치를 II-II`라인으로 절단한 단면도이며 특히 가장자리의 패드 부위를 나타낸다.
도 3을 참조하면, 메모리 셀 어레이(100a)는 복수의 메모리 셀(MC1)들을 포함할 수 있다. 동일한 열에 배열된 메모리 셀(MC1)들은 비트 라인들(BL(1), ..., BL(m)) 중 하나와 공통 소스 라인(CSL) 사이에 병렬로 배치될 수 있으며, 동일한 행에 배열된 메모리 셀(MC1)들은 워드 라인들(WL(1), WL(2), ..., WL(n)) 중 하나에 공통으로 연결될 수 있다. 예를 들어, 제1열에 배열된 메모리 셀들은 제1 비트 라인(WL(1))과 공통 소스 라인(CSL) 사이에 병렬로 배치될 수 있다. 제1행에 배열된 메모리 셀들의 게이트 전극들은 제1 워드 라인(WL(1))에 공통으로 연결될 수 있다. 메모리 셀(MC1)들은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
NOR형 플래시 메모리 장치는 바이트(byte) 단위 또는 워드(word) 단위로 기입 동작 및 독출 동작을 수행하며, 블록(block, 120a) 단위로 소거 동작을 수행한다. 기입 동작이 수행되는 경우에, 상기 NOR형 플래시 메모리 장치의 벌크 기판에는 약 -0.1V 내지 약 -0.7V의 벌크 전압이 인가될 수 있다.
도 4를 참조하면, 메모리 셀 어레이(100b)는 스트링 선택 트랜지스터(SST)들, 접지 선택 트랜지스터(GST)들 및 메모리 셀(MC2)들을 포함할 수 있다. 스트링 선택 트랜지스터(SST)들은 비트 라인들(BL(1), ..., BL(m))에 연결되고, 접지 선택 트랜지스터(GST)들은 공통 소스 라인(CSL)에 연결될 수 있다. 동일한 열에 배열된 메모리 셀(MC2)들은 비트 라인들(BL(1), ..., BL(m)) 중 하나와 공통 소스 라인(CSL) 사이에 직렬로 배치될 수 있으며, 동일한 행에 배열된 메모리 셀(MC2)들은 워드 라인들(WL(1), WL(2), WL(3), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 즉, 스트링 선택 트랜지스터(SST)들과 접지 선택 트랜지스터(GST)들 사이에 메모리 셀(MC2)들이 직렬로 연결될 수 있으며, 스트링 선택 라인(SSL)과 접지 선택 라인(GSL) 사이에는 16개, 32개 또는 64개의 복수의 워드 라인들이 배열될 수 있다.
스트링 선택 트랜지스터(SST)들은 스트링 선택 라인(SSL)에 연결되어, 스트링 선택 라인(SSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있고, 접지 선택 트랜지스터(GST)들은 접지 선택 라인(GSL)에 연결되어, 접지 선택 라인(GSL)으로부터 인가되는 전압의 레벨에 따라 제어될 수 있다. 메모리 셀(MC2)들은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
NAND형 플래시 메모리 장치는 페이지(page, 110b) 단위로 기입 동작 및 독출 동작을 수행하며, 블록(120b) 단위로 소거 동작을 수행한다. 기입 동작이 수행되는 경우에, 상기 NAND형 플래시 메모리 장치의 벌크 기판에는 약 0V의 벌크 전압이 인가될 수 있다. 한편, 실시예에 따라서, 페이지 버퍼부(310)의 페이지 버퍼들에는 각각 짝수 비트 라인과 홀수 비트 라인이 하나씩 연결될 수 있다. 이 경우, 짝수 비트 라인들은 짝수 페이지를 형성하고, 홀수 비트 라인들은 홀수 페이지를 형성하며, 메모리 셀(MC2)들에 대한 기입 동작은 짝수 페이지와 홀수 페이지가 번갈아가며 순차적으로 수행될 수 있다.
도 5를 참조하면, 메모리 셀 어레이(100b)는 수직 구조를 가지는 복수의 스트링(130c)들을 포함할 수 있다. 스트링(130c)은 제2 방향을 따라 복수 개로 형성되어 스트링 열을 형성할 수 있으며, 상기 스트링 열은 제3 방향을 따라 복수 개로 형성되어 스트링 어레이를 형성할 수 있다. 복수의 스트링(130c)들은 비트 라인들(BL(1), ..., BL(m))과 공통 소스 라인(CSL) 사이에 제1 방향을 따라 직렬로 배치되는 접지 선택 트랜지스터(GSTV)들, 메모리 셀(MC3)들 및 스트링 선택 트랜지스터(SSTV)들을 각각 포함할 수 있다.
접지 선택 트랜지스터(GSTV)들은 접지 선택 라인들(GSL11, GSL12, ..., GSLi1, GSLi2)에 각각 연결되고, 스트링 선택 트랜지스터(SSTV)들은 스트링 선택 라인들(SSL11, SSL12, ..., SSLi1, SSLi2)에 각각 연결될 수 있다. 동일한 층에 배열되는 메모리 셀(MC3)들은 워드 라인들(WL(1), WL(2), ..., WL(n-1), WL(n)) 중 하나에 공통으로 연결될 수 있다. 접지 선택 라인들(GSL11, ..., GSLi2) 및 스트링 선택 라인들(SSL11, ..., SSLi2)은 상기 제2 방향으로 연장되며 상기 제3 방향을 따라 복수 개로 형성될 수 있다. 워드 라인들(WL(1), ..., WL(n))은 상기 제2 방향으로 연장되며 상기 제1 방향 및 상기 제3 방향을 따라 복수 개로 형성될 수 있다. 비트 라인들(BL(1), ..., BL(m))은 상기 제3 방향으로 연장되며 상기 제2 방향을 따라 복수 개로 형성될 수 있다. 메모리 셀(MC3)들은 워드 라인들(WL(1), ..., WL(n))에 인가되는 전압의 레벨에 따라 제어될 수 있다.
도 5의 메모리 셀 어레이(100c)를 포함하는 수직형 플래시 메모리 장치는 NAND 플래시 메모리 셀들을 포함하므로, NAND형 플래시 메모리 장치와 마찬가지로 페이지 단위로 기입 동작 및 독출 동작을 수행하며, 블록 단위로 소거 동작을 수행한다.
실시예에 따라서, 하나의 스트링(130c)에 포함되는 두 개의 스트링 선택 트랜지스터들은 하나의 스트링 선택 라인에 연결되고 하나의 스트링에 포함되는 두 개의 접지 선택 트랜지스터들은 하나의 접지 선택 라인에 연결되도록 구현될 수도 있다. 또한, 실시예에 따라서, 하나의 스트링은 하나의 스트링 선택 트랜지스터 및 하나의 접지 선택 트랜지스터를 포함하여 구현될 수도 있다.
도 6, 7 및 8을 참조하면, 상기 수직형 메모리 장치는 기판(101)에 수직한 상기 제1 방향을 따라 기판(101) 상에 서로 이격되도록 순차적으로 형성된 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)과, 기판(101) 상에 상기 제1 방향으로 연장되어 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)의 측면 상에 형성된 채널(142)을 포함한다. 또한, 상기 수직형 메모리 장치는 채널(142)에 전기적으로 연결된 비트 라인(290) 및 공통 소스 라인(105)을 더 포함할 수 있으며, 비트 라인(290)은 패드(162) 및 비트 라인 콘택(280)에 의해 채널(142)에 전기적으로 연결될 수 있다.
채널(142)은 폴리실리콘을 포함할 수 있으며, 불순물을 더 포함할 수 있다. 예를 들어, 채널(142)은 인듐 혹은 갈륨이 도핑된 폴리실리콘 등과 같은 p형 불순물을 포함할 수 있으며, 탄소 및/또는 게르마늄을 더 포함할 수도 있다. 채널(142)은 기판(101)에 평행한 상기 제2 방향을 따라 복수 개로 형성되어 채널 열(channel column)을 형성할 수 있으며, 상기 채널 열은 기판(101)에 평행하고 상기 제2 방향에 수직한 상기 제3 방향을 따라 복수 개로 형성되어 채널 어레이(channel array)를 형성할 수 있다. 채널(142)은 내부가 빈 컵(cup) 형상 혹은 실린더(cylinder) 형상을 가질 수 있다.
컵 형상의 채널(142) 내부 공간의 일부에는 필러(pillar) 형상의 매립 패턴(150)이 형성될 수 있다. 매립 패턴(150)은 산화물과 같은 절연 물질을 포함할 수 있다.
매립 패턴(150) 및 채널(142) 상에는 패드(162)가 형성되어, 비트 라인 콘택(280)과 채널(142)을 전기적으로 연결할 수 있다. 패드(162)는 채널(142) 내에 전하가 이동하도록 하는 소스/드레인 역할을 수행할 수 있다. 패드(162)는 불순물이 도핑된 폴리실리콘을 포함할 수 있다. 예를 들어, 패드(162)는 인 혹은 비소가 도핑된 폴리실리콘과 같은 n형 불순물을 포함할 수 있다. 특히 패드(162)가 인이 도핑된 폴리실리콘을 포함하는 경우에, 패드(162)는 탄소를 더 포함할 수 있다.
각 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)은 1개 혹은 복수 개의 층에 형성될 수 있으며, 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254) 사이에는 제1 절연막 패턴(115)이 개재될 수 있다. 도 6에서, 각 접지 선택 라인(256) 및 스트링 선택 라인(254)은 2개의 층에 형성되고, 워드 라인(252)은 접지 선택 라인(256)과 스트링 선택 라인(254) 사이에 4개의 층으로 형성된다. 하지만, 예를 들어, 각 접지 선택 라인(256) 및 스트링 선택 라인(254)은 1개의 층에 형성되고, 워드 라인(252)은 2개, 8개 혹은 16개의 층에 형성될 수도 있다. 예시적인 실시예들에 따르면, 각 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)은 상기 제2 방향으로 연장되며, 상기 제3 방향을 따라 복수 개로 형성된다. 제1 절연막 패턴(115)은 실리콘 산화물(SiO2), 실리콘 산탄화물(SiOC) 혹은 실리콘 산불화물(SiOF)과 같은 실리콘 산화물을 포함할 수 있다.
각 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)과 채널(142)의 측면 사이에는 상기 채널(142) 측면에 수직한 방향, 예를 들어, 상기 제3 방향을 따라 순차적으로 적층된 터널 절연막 패턴(225), 전하 트래핑막 패턴(235) 및 블로킹막 패턴(245)이 더 형성된다. 또한, 터널 절연막 패턴(225), 전하 트래핑막 패턴(235) 및 블로킹막 패턴(245)은 각 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)과 제1 절연막 패턴(115) 사이 및/또는 제1 절연막 패턴(115) 측면에도 더 형성될 수 있다. 일 실시예에서, 터널 절연막 패턴(225)은 채널(142)의 측면에만 형성될 수도 있다.
일 실시예에서, 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)은 금속 혹은 금속 질화물을 포함할 수 있다. 예를 들어, 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)은 텅스텐, 텅스텐 질화물, 티타늄, 티타늄 질화물, 탄탈륨, 탄탈륨 질화물, 백금 등의 전기 저항이 낮은 금속 혹은 금속 질화물을 포함할 수 있다. 일 실시예에서, 각 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)은 금속 질화물을 포함하는 배리어막 및 금속을 포함하는 금속막이 적층된 다층막 구조를 가질 수 있다.
일 실시예에서, 터널 절연막 패턴(225)은 실리콘 산화물을 포함할 수 있고, 전하 트래핑막 패턴(235)은 실리콘 질화물과 같은 질화물 혹은 금속 산화물을 포함할 수 있다. 예시적인 실시예들에 따르면, 블로킹막 패턴(245)은 실리콘 산화물 혹은, 예를 들어, 알루미늄 산화물, 하프늄 산화물, 란탄 산화물, 란탄 알루미늄 산화물, 란탄 하프늄 산화물, 하프늄 알루미늄 산화물, 티타늄 산화물, 탄탈륨 산화물, 지르코늄 산화물 등과 같은 금속 산화물을 포함할 수 있다. 일 실시예에 따르면, 블로킹막 패턴(245)은 실리콘 산화막 및 금속 산화막이 적층된 다층막 구조를 가질 수 있다.
한편, 상기 제2 방향으로 연장되는 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)과 이들 사이에 개재되는 제1 절연막 패턴(115)이 형성하는 구조물들 사이에 제2 절연막 패턴(260)이 형성될 수 있다. 제2 절연막 패턴(260)은 산화물과 같은 절연 물질을 포함할 수 있다. 또한, 제2 절연막 패턴(260) 아래의 기판(101) 상부에는 상기 제2 방향으로 연장되어 공통 소스 라인 역할을 수행하는 불순물 영역(105)이 형성될 수 있다. 일 실시예에서, 불순물 영역(105)은 인, 비소와 같은 n형 불순물을 포함한다. 도시되지는 않았지만, 불순물 영역(105) 상에는, 예를 들어, 코발트 실리사이드 패턴과 같은 금속 실리사이드 패턴이 더 형성될 수 있다.
비트 라인(290)은 비트 라인 콘택(280)에 의해 패드(162)에 전기적으로 연결되며, 이에 따라 채널(142)에 전기적으로 연결될 수 있다. 비트 라인(290)은 금속, 금속 질화물, 도핑된 폴리실리콘 등을 포함할 수 있다. 비트 라인 콘택(280)은 제3 절연막(270)에 의해 수용되며, 패드(162)에 접촉한다. 비트 라인 콘택(280)은 금속, 금속 질화물, 도핑된 폴리실리콘 등을 포함할 수 있다. 도전 라인(291)들은 콘택 플러그(281)에 의해 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)에 전기적으로 연결되며, 이에 따라 접지 선택 라인(256), 워드 라인(252) 및 스트링 선택 라인(254)에 전압이 공급될 수 있다.
제3 절연막(270)은 제1 및 제2 절연막 패턴들(115, 260), 채널(142), 패드(162), 블로킹막 패턴(245), 전하 트래핑막 패턴(235) 및 터널 절연막 패턴(225) 상에 형성된다. 일 실시예에서, 제3 절연막(270)은 산화물과 같은 절연 물질을 포함할 수 있다.
다시 도 2a를 참조하면, 메모리 컨트롤러(20)는 제어 블록(30), 데이터 버퍼(50) 및 ECC 블록(55)을 포함할 수 있다.
비휘발성 메모리 장치(60)에서 독출 동작이 수행될 때마다, ECC 블록(55)은 비휘발성 메모리 장치(60)로부터 제공된 데이터(DATA)에 대하여 하나의 페이지를 구성하는 섹터 단위로 에러 정정 디코딩의 성공 여부를 판단하고, 각 섹터에 대하여 상기 에러 정정 디코딩의 판단 결과를 나타내는 플래그 신호를 제어 블록(30)으로 출력할 수 있다. 제어 블록(30)은 상기 플래그 신호에 응답하여 정정 불가능한 에러를 포함하는 타겟 섹터에 대하여 독출 재시도 동작이 수행되도록 제어 로직(350)의 동작을 제어하기 위한 커맨드(CMD)를 비휘발성 메모리 장치(60)에 제공할 수 있다.
예를 들어, 비휘발성 메모리 장치(60)는 독출 동작 동안에 메모리 셀 어레이(100)로부터 제1 독출 전압에 따라 출력된 페이지 단위의 제1 데이터를 메모리 컨트롤러(20)의 데이터 버퍼(50)로 전송한다. ECC 블록(55)은 상기 전송된 페이지 단위의 데이터에 대하여 섹터 단위로 에러 정정 코드(error correction code; ECC) 디코딩을 수행하고, 각 섹터별로 에러 정정 디코딩의 성공 여부를 판단한다.
하나의 페이지에는 복수의 섹터들이 구비되는데, 복수의 섹터들 각각은 유저 데이터인 메인 데이터와 패리티 데이터를 포함하는데, ECC 블록(55)은 상기 패리티 데이터를 참조하여 각 섹터별로 ECC 디코딩의 성공 여부를 판단한다. 예를 들어, 하나의 페이지에 포함되는 모든 섹터들 각각에 포함된 에러 비트가 상기 ECC 블록(55)에 의하여 정정 가능한 개수보다 작거나 같은 경우, ECC 블록(55)은 섹터 단위로 에러 비트를 검출하여 정정하고, 에러 정정된 데이터를 호스트로 전송할 수 있다. 따라서 상기 제1 데이터에 대한 독출 동작이 성공했으므로, 제1 독출 동작은 종료된다.
그러나, 하나의 페이지에 포함되는 복수의 섹터들 중 적어도 하나의 섹터에 포함된 에러 비트가 상기 ECC 블록(55)에 의하여 정정 가능한 개수보다 큰 경우에, 즉 적어도 하나의 섹터에 대한 에러 정정 디코딩이 실패하였을 경우에, ECC 블록은 정정이 불가능한 에러 비트를 포함하는 섹터 번호와 에러 정정이 실패하였음을 나타내는 플래그 신호를 제어 블록(30)에 전송한다. 제어 블록(30)은 플래그 신호에 응답하여 비휘발성 메모리 장치(60)가 정정이 불가능한 에러 비트를 포함하는 섹터에 대하여 독출 재시도(read retry) 동작을 수행할 수 있도록 비휘발성 메모리 장치(60)의 동작을 제어한다.
따라서 비휘발성 메모리 장치(60)는 메모리 컨트롤러(20)의 제어에 따라 독출 전압을 변경시켜가면서 정정이 불가능한 에러 비트를 포함하는 섹터의 데이터에 대한 에러 정정 디코딩이 성공할 때까지 상기 섹터의 데이터에 대하여 독출 재시도 동작을 수행한다. 이 때, 비휘발성 메모리 장치(60)에 의하여 수행되는 독출 재시도 동작과 메모리 컨트롤러(20)에 의하여 수행되는 에러 검출/정정 동작은 함께 수행된다. ECC 블록(55)은 독출 동작에 의하여 출력된 데이터뿐만 아니라 독출 재시도 동작에 의하여 출력된 데이터에 대하여도 에러 검출과 에러 정정 동작을 수행한다.
실시예에 따라, 상기 독출 재시도 동작이 무한 루프로 진행하는 것을 방지하기 위하여 상기 독출 재시도 동작은 미리 정해진 횟수 동안에 수행될 수 있다.
도 2b는 본 발명의 일 실시예에 따른 도 2a의 메모리 컨트롤러의 구체적은 구성을 나타내는 블록도이다.
도 2b를 참조하면, 메모리 컨트롤러(30)는 제어 블록(30), 데이터 버퍼(50), ECC 블록(55) 및 호스트 버퍼(57)를 포함할 수 있다. 제어 블록(30)은 CPU(31), 직접 메모리 액세스(DMA, 33) 및 섹터 테이블(35)을 포함할 수 있다.
ECC 블록(55)과 DMA(33)는 독출 동작마다 메모리 셀 어레이(100)로부터 최초로 출력된 데이터에 대한 독출 동작의 성공 여부를 판단할 수 있는 검출 블록으로서 기능을 수행할 수 있다.
예를 들어, ECC 블록(55)은 상기 최초로 출력된 페이지 단위의 데이터에 대하여 섹터 단위로 ECC 디코딩을 수행하고, 수행 결과에 따른 ECC 디코딩의 판단 결과를 플래그 신호로서 CPU(31)에 제공한다. DMA(33)는 ECC 블록(55)에 의하여 에러가 정정된 데이터를 데이터 버퍼(50)로부터 호스트 버퍼(57)로 전송을 제어함에 따라 에러 정정된 데이터가 호스트로 전송되었는지 여부를 판단할 수 있다.
예를 들어, 상기 최초로 출력된 데이터에 대한 독출 동작의 성공은 메모리 셀 어레이(100)로부터 최초로 출력된 데이터가 호스트로 전송되는 상태 또는 상기 전송이 완료된 상태를 의미할 수 있다.
CPU(31)는 제공된 플래그 신호에 따라 섹터 테이블(35)의 플래그 필드(FLAG)를 갱신할 수 있다. 섹터 테이블(35)은 독출 동작이 수행되는 페이지에 포함되는 섹터들의 번호인 섹터번호(SECTOR NO.)와 각 섹터들의 ECC 디코딩 성공 여부를 나타내는 플래그 신호(FLAG)를 엔트리로서 구비한다. 플래그 신호(FLAG)는 각 섹터들의 ECC 디코딩 성공 여부에 따라 패스(P) 또는 페일(F)로 기입될 수 있고, 패스(P)는 하이 레벨, 페일(F)은 로우 레벨로 기입될 수 있다. 도 2b에서는 설명의 편의를 위하여 섹터 테이블(35)이 CPU(31)와 분리되는 것으로 도시하였으나, 실시예에 따라 섹터 테이블(35)은 CPU(31)의 일부로 구현될 수 있다. 이 때, 섹터 테이블(35)은 SRAM과 같은 휘발성 메모리로 제공될 수 있다.
CPU(31)는 섹터 테이블(35)에 저장된 정보를 이용하여 정정 불가능한 에러를 포함하는 타겟 섹터에 대한 독출 재시도 동작을 수행하기 위한 정보를 커맨드(CMD)를 생성하고 생성된 커맨드(CMD)를 제어 로직(350)에 전송할 수 있다.
따라서 제어 로직(350)은 수신된 커맨드(CMD)에 포함된 상기 정보에 따라 전압 제어 신호(VCON)를 생성하여 행 선택 회로(340)에 제공한다. 행 선택 회로(340)는 전압 제어 신호(VON)에 응답하여 선택 독출 전압(Vrd)의 레벨을 변경하여 타겟 섹터에 대한 독출 재시도 동작을 수행할 수 있다. 따라서 페이지 버퍼부(310)는 변경된 선택 독출 전압(Vrd)를 이용하여 메모리 셀 어레이(100)의 타겟 섹터에 저장된 데이터를 독출할 수 있다. 페이지 버퍼부(310)에 의하여 독출된 데이터는 열 선택 회로(320)의 디코딩 결과에 따라 입출력 버퍼(330)로 전송된 후 데이터 버퍼(50)를 통하여 ECC 블록(55)으로 전송된다. CPU(31)의 제어에 따라 ECC 블록(55)은 타겟 섹터에서 재독출된 데이터에 대하여 에러 정정 디코딩의 성공 여부를 판단할 수 있다.
도 9는 도 2a의 메모리 셀 어레이에 포함되는 하나의 페이지의 구성을 나타내는 블록도이다.
도 9를 참조하면, 메모리 셀 어레이(100)에 포함되는 복수의 페이지들 중 하나의 페이지(400)는 복수의 섹터들(411~41k)을 포함한다. 섹터들(411~41k) 각각은 비휘발성 메모리 장치(60)에서 데이터 입출력의 기본 단위이다. 섹터들(411~41k) 각각에 저장된 데이터, 즉 섹터 데이터를 기초로 하여 에러 검출과 에러 정정 코드인 ECC 패리티들(421~42k) 각각이 생성된다. ECC 패리티들(421~42k) 각각은 섹터들(411~41k) 각각에 저장될 섹터 데이터마다 생성된다. 이 때, 에러 정정 코드 블록(55)에 따라 에러 정정을 보정할 수 있는 섹터들(411~41k) 각각의 크기는 달라질 수 있다.
도 10은 도 2a의 메모리 셀 어레이의 각 메모리 셀에 형성될 수 있는 문턱 전압의 분포를 예시적으로 나타낸다.
도 11과 도 12는 도 10에 도시된 문턱 전압이 변형된 예를 나타낸다.
도 10을 참조하면, 도 2a의 비휘발성 메모리 장치(60)의 메모리 셀 어레이(100)가 셀 당 2-비트의 데이터가 프로그램되는 MLC로 구현되는 경우, 각각의 메모리 셀은 4 개의 데이터 상태들(E0, P, P2, P3) 중 하나로 프로그램될 수 있다. 데이터 상태들(E0, P, P2, P3) 각각은 복수의 선택 읽기 전압들(Vrd1, Vrd2, Vrd3)을 인가하여 감지될 수 있다. 하지만, 도 10에 도시된 문턱 전압 분포들은 여러 가지 요인들로 인하여 의도하지 않은 상태로 변형될 수 있다.
예를 들어, 인터폴리 절연막의 결함에 의한 열이온 방출, 전하 확산, 이온 불순물, 프로그램 디스터번스, 고온 스트레스(Hot Temperature Stress; HTS) 등으로 인해 플래시 메모리 셀의 전하 보유 특성이 열화될 수 있다. 그 결과, 플래시 메모리 셀의 문턱전압 분포가 도 11 및 도 12에 도시된 바와 같이 "E0, P1, P2, P3"의 상태에서 "E0', P1', P2', P3'"의 상태로 변화될 수도 있다. 이 외에도, 플래시 메모리 셀의 문턱전압 분포는 소프트 프로그램(soft program), 오버 프로그램(over program) 등의 요인으로 인해서도 변화될 수도 있다. 이 경우 발생되는 문턱전압의 변화는 도 11 및 도 12와는 다른 형태로 나타날 수 있다. 이상과 같은 플래시 메모리 셀의 문턱전압 분포의 변화는, 독출 마진의 감소와 독출 에러를 유발할 수 있다.
독출 에러를 치유하기 위해, 메모리 컨트롤러(20)는 비휘발성 메모리장치(60)로부터 제공된 섹터 데이터와 ECC 패리티에 응답해서 독출된 섹터 데이터의 에러를 정정하는 ECC 에러 보정 동작을 수행할 수 있다. 그리고, 독출 동작시 발생된 에러의 개수가 ECC 에러 보정 동작에서 보정할 수 있는 범위를 벗어나는 경우에는, 메모리 컨트롤러(20)는 비휘발성 메모리 장치(60)에서 독출 재시도(Read Retry) 동작이 실행되도록 제어할 수 있다.
도 11을 참조하면, 독출 재시도 동작은 소정의 시작전압(VRS)으로부터 소정의 전압 증가분(ΔV)만큼씩 전압을 증가해 가면서 정확한 데이터가 독출될 때까지 독출 동작을 반복 수행할 수 있다. 다른 실시예에 있어서, 독출 재시도 동작은 도 12에 도시된 바와 같이 소정의 시작전압(VRS)으로부터 소정의 전압 증가분(ΔV)만큼씩 전압을 감소해 가면서 정확한 데이터가 독출될 때까지 독출 동작을 반복 수행할 수도 있다. 본 발명에서는 설명의 편의를 위해, 정확한 독출 데이터를 감지하기 위한 일련의 동작을 1회의 독출 재시도 동작으로 정의할 수 있다. 예를 들면, 1회의 독출 재시도 동작에서는 정확한 데이터가 독출될 때까지 복수 개의 가변 선택 독출 전압들을 적용하여 복수 회의 독출 동작이 실행될 수 있을 것이다. 독출 재시도 동작을 통해 정확한 값으로 독출된 데이터는, 메모리 컨트롤러(20)를 통해 호스트로 제공될 것이다.
도 13은 본 발명의 일 실시예에 따른 도 2b의 섹터 테이블의 구성의 일 예를 나타낸다.
도 13을 참조하면, 섹터 테이블(500)은 도 9의 페이지(400)를 구성하는 복수의 섹터들(411~41k) 각각을 나타내는 섹터 번호(SECTOR NO.; 510)와 섹터들(411~41k) 각각의 섹터 데이터의 에러 정정 디코딩 성공 여부를 나타내는 플래그 신호(FLAG; 520)를 엔트리로서 포함할 수 있다. 도 13에서는 도 9의 페이지가 8K로 구성되고, 모두 8 개의 섹터들(SECTOR1~SECTOR8)로 구성되는 경우를 예로 들어 설명한다. 따라서 8 개의 섹터들(SECTOR1~SECTOR8)은 각각 "000, 001, 010, 011, 100, 101, 110, 111"로 표현될 수 있다. 또한 도 13에서는 섹터 단위의 ECC 디코딩의 수행 결과 제3 섹터(SECTOR3)의 섹터 데이터가 정정 불가능한 에러를 포함하고 있어 제3 섹터(SECTOR3)의 플래그 신호(FALG)는 로우 레벨("0")인 경우를 설명한다. 따라서 제3 섹터(SECTOR3)는 타겟 섹터로 선택되고 나머지 섹터들을 패스 섹터로 선택된다.
도 14는 도 13의 경우에 타겟 섹터에 연결되는 타겟 비트라인들이 선택적으로 프리차지되는 것을 나타낸다.
도 13 및 도 14를 참조하면, ECC 디코딩 결과, 제3 섹터(SECTOR3)의 섹터 데이터가 정정 불가능한 에러를 포함하는 경우에 본 발명의 실시예에서는 패스 섹터들에 연결되는 비트라인들의 프리차지가 금지됨과 동시에 제3 섹터(SECTOR3)에 연결되는 비트라인들만이 프리차지되고, 제3 섹터(SECTOR3)의 섹터 데이터들에 대하여 독출 재시도 동작이 수행될 수 있다. 즉, 복수의 섹터들(610~680)에 대한 에러 정정 디코딩의 결과 도 13에서와 같이 제3 섹터(630)의 섹터 데이터들이 정정 불가능한 에러를 포함하고 있는 경우에 제3 섹터(630)에 연결되는 비트라인들만이 선택적으로 프리차지된 후, 선택 워드라인(WLg)에는 선택 독출 전압(Vrd)이 인가되고, 비선택 워드라인(WLg+1)에는 비선택 독출 전압(Vread)이 인가된다. 따라서 선택 워드라인(WLg)에 연결되며 제3 섹터(630)에 포함되는 메모리 셀들에 프로그램된 데이터에 따라서 메모리 셀들이 턴-온 되거나 턴-오프될 수 있다. 이 경우에 턴-온되는 메모리 셀들의 채널에는 전류가 흐르게 된다. 이에 따라 공통 소스 라인(CSL)에 전류가 유입된다.
도 15a는 본 발명의 실시예에 따라 도 2a의 메모리 시스템에서 타겟 섹터를 설정하는 것을 나타내는 타이밍도이다.
도 2a 및 도 15a를 참조하면, 직렬 데이터 입력 명령(80h)이 비휘발성 메모리 장치(60)에 입력된 후, 타겟 섹터를 포함하는 페이지에 대한 어드레스(C1C2R1R2R3)와 타겟 섹터를 설정하기 위한 데이터(D1~Dm; 711)가 정해진 타이밍에 따라 메모리 컨트롤러(20)에서 비휘발성 메모리 장치(60)로 전달된다. 타겟 섹터를 설정하기 위한 데이터(711)는 입출력 버퍼(330), 열 선택 회로(320)를 통하여 페이지 버퍼부(310)에 로드된다. 여기서 타겟 섹터를 설정하기 위한 데이터(711)는 타겟 섹터의 데이터 패턴과 비타겟 섹터의 데이터 패턴을 포함하는데, 타겟 섹터의 데이터 패턴과 비타겟 섹터의 데이터 패턴은 서로 다르다. 즉 도 14에서 타겟 섹터인 제3 섹터(630)의 데이터 패턴과 다른 섹터들(610, 620, 640~680)의 데이터 패턴은 서로 다르다. 타겟 섹터를 설정하기 위한 데이터(711)가 페이지 버퍼부(320)에 로드되면, 페이지 버퍼부(320)는 타겟 섹터에 연결되는 타겟 비트라인들만을 프리차지한다(721).
이후에 독출 동작이 개시되면, '00h' 명령, 타겟 섹터를 포함하는 페이지에 대한 어드레스(C1C2R1R2R3), 그리고 '30h' 명령이 비휘발성 메모리 장치(60)에 정해진 타이밍에 따라 순차적으로 전달된다. 일단 '30h' 명령이 비휘발성 메모리 장치(60)에 입력되면, 페이지 버퍼부(310)는 제어 로직(350)의 제어에 따라 메모리 셀 어레이(100)로부터 타겟 섹터의 섹터 데이터만을 감지 및 래치한다(713). 타겟 섹터의 섹터 데이터에 대한 감지 및 래치가 완료되면, 페이지 버퍼부(310)에 저장된 데이터(DT1, DT2,,,)는 열 선택 회로(320) 및 입출력 버퍼(330)를 통하여 메모리 컨트롤러(50)의 데이터 버퍼(50)에 제공된다(714). 데이터 버퍼(50)는 재독출된 데이터를 ECC 블록(55)에 전달하고, ECC 블록(55)은 재독출된 타겟 섹터의 섹터 데이터에 대하여 ECC 디코딩을 수행하고 그 결과를 제어 블록(30)에 제공할 수 있다. 이러한 일련의 독출 재시도 동작은 타겟 섹터의 섹터 데이터에 대한 에러가 모두 정정될 때까지 반복될 수 있다.
도 15b와 도 15c는 본 발명의 실시예들에 따른 타겟 섹터를 설정하기 위한 입력 데이터 패턴을 나타낸다.
도 15b를 참조하면, 타겟 섹터인 제3 섹터(630)에 입력되는 데이터 패턴은 모두 "0"이고 다른 섹터들(610, 620, 640~680)에 입력되는 데이터 패턴은 모두 "1"이다.
도 15c를 참조하면, 타겟 섹터인 제3 섹터(630)에 입력되는 데이터 패턴은 모두 "1"이고 다른 섹터들(610, 620, 640~680)에 입력되는 데이터 패턴은 모두 "0"이다.
도 16은 본 발명의 다른 실시예에 따라 도 2a의 메모리 시스템에서 타겟 섹터를 설정하는 것을 나타내는 타이밍도이다.
도 2a 및 도 16을 참조하면, 섹터 선택 명령(XXh)이 비휘발성 메모리 장치(60)에 입력된 후, 타겟 섹터를 선택하기 위한 섹터 어드레스(S1S2S3; 721)가 정해진 타이밍에 따라 메모리 컨트롤러(20)에서 비휘발성 메모리 장치(60)로 전달된다. 타겟 섹터를 선택하기 위한 섹터 어드레스(S1S2S3; 721)가 비휘발성 메모리 장치(60)에 입력되면, 페이지 버퍼부(320)는 섹터 어드레스(S1S2S3; 721)에 기초하여 타겟 섹터에 연결되는 타겟 비트라인들만을 프리차지한다(722).
이후에 독출 동작이 개시되면, '00h' 명령, 타겟 섹터를 포함하는 페이지에 대한 어드레스(C1C2R1R2R3), 그리고 '30h' 명령이 비휘발성 메모리 장치(60)에 정해진 타이밍에 따라 순차적으로 전달된다. 일단 '30h' 명령이 비휘발성 메모리 장치(60)에 입력되면, 페이지 버퍼부(310)는 제어 로직(350)의 제어에 따라 메모리 셀 어레이(100)로부터 타겟 섹터의 섹터 데이터만을 감지 및 래치한다(723). 타겟 섹터의 섹터 데이터에 대한 감지 및 래치가 완료되면, 페이지 버퍼부(310)에 저장된 데이터(DT1, DT2,,,)는 열 선택 회로(320) 및 입출력 버퍼(330)를 통하여 메모리 컨트롤러(50)의 데이터 버퍼(50)에 제공된다(724). 데이터 버퍼(50)는 재독출된 데이터를 ECC 블록(55)에 전달하고, ECC 블록(55)은 재독출된 타겟 섹터의 섹터 데이터에 대하여 ECC 디코딩을 수행하고 그 결과를 제어 블록(30)에 제공할 수 있다. 이러한 일련의 독출 재시도 동작은 타겟 섹터의 섹터 데이터에 대한 에러가 모두 정정될 때까지 반복될 수 있다.
도 17은 본 발명의 실시예에 따른 섹터들과 페이지 버퍼들의 연결관계를 나타낸다.
도 17을 참조하면, 복수의 섹터들(610~680) 각각은 비트라인들(611~681) 각각을 통하여 상응하는 페이지 버퍼들(710~780)에 각각 연결될 수 있다. 제3 섹터(630)의 섹터 데이터가 정정 불가능한 에러를 포함하고 있다면, 도 15b를 참조하여 설명한 바와 같이 페이지 버퍼들(730)에는 데이터 패턴 "0"이 입력되고 다른 페이지 버퍼들(710, 720, 740~780)에는 데이터 패턴 "1"이 입력된다. 따라서 페이지 버퍼(730)만이 비트라인들(631)을 프리차지시켜 독출 재시도 동작을 수행할 수 있다. 또한 제3 섹터(630)의 섹터 데이터가 정정 불가능한 에러를 포함하고 있다면, 도 16을 참조하여 설명한 바와 같이 "011"의 섹터 어드레스(S1S2S3)를 입력하여 제3 섹터(630)를 선택하고 페이지 버퍼들(730)은 제3 섹터(630)에 연결된 비트라인들(631)만을 프리차지하여 독출 재시도 동작을 수행할 수 있다.
도 18은 본 발명의 실시예에 따라 도 17의 페이지 버퍼들에 포함될 수 있는 하나의 페이지 버퍼의 구성을 나타내는 블록도이다.
도 18을 참조하면, 하나의 페이지 버퍼(731)는 피모스 트랜지스터(732) 및 래치부(733)를 포함하여 구성될 수 있다. 피모스 트랜지스터(732)는 프리차지 제어 신호(PRCH)에 응답하여 상응하는 비트라인(BLj)을 전원전압(VDD) 레벨로 프리차지 시킨다. 래치부(733)는 복수의 래치들(SLT, DLT1, DLT2)을 포함할 수 있다. 센싱 래치(SLT)는 센싱 동작에서 비트라인(BLj)과 연결되는 센싱 노드(SN)의 전압 변화를 감지하여 저장한다. 데이터 래치들(DLT1, DLT2)은 프로그램 동작을 위하여 사용되는데, 데이터 래치(DLT1)는 비트라인(BLj)으로 프로그램 데이터를 전달하기 위하여 사용되고, 데이터 래치(DLT2)는 메모리 컨트롤러(20)로부터 제공받은 프로그램 데이터를 저장한다. 페이지 버퍼는 데이터 래치들(DLT1, DLT2)에 저장된 데이터 패턴에 의하여 프리차지 제어 신호(PRCH)의 활성화 여부를 결정하는 조합 회로를 더 포함할 수 있다.
프리차지 제어 신호(PRCH)는 도 15b를 참조하여 설명한 바와 같이 데이터 래치들(DLT1, DLT2)에 특정 데이터 패턴이 입력되면 로우 레벨로 활성화되어 비트라인(BLj)을 프리차지할 수 있다. 또한 프리차지 제어신호(PRCH)는 도 16을 참조하여 설명한 바와 같이 섹터 선택 커맨드(XXh)와 섹터 어드레스(S1S2S3)가 입력되면 로우 레벨로 활성화되어 비트라인(BLj)을 프리차지할 수 있다.
도 19는 본 발명의 실시예에 따른 도 2a의 제어 로직의 구성을 나타내는 블록도이다.
도 19를 참조하면, 제어 로직(350)은 레지스터(351) 및/또는 퓨즈부(535)를 포함할 수 있다.
레지스터(351)는 도 1의 메모리 컨트롤러(20)로부터 세트 피쳐(set feature) 커맨드(Efh)와 함께 제공되는 섹터 크기 정보(352)를 저장하고, 저장된 정보에 따라 하나의 페이지에 포함되는 섹터들의 크기를 설정할 수 있다. 하나의 페이지(도 9의 400)에 포함되는 섹터들의 크기는 각 섹터에 저장되는 섹터 데이터 또는 패리티 데이터에 기초하여 설정될 수 있다. 메모리 컨트롤러(200)는 세트 피쳐(set feature) 커맨드(Efh)를 이용하여 하나의 페이지에 포함되는 섹터들의 크기를 가변적으로 설정할 수 있다.
또한 퓨즈부(353)는 섹터 크기 정보(354)를 저장할 수 있다. 퓨즈부(353)가 섹터 크기 정보(354)를 저장하는 경우, 비휘발성 메모리 장치(60)의 파워-업 시퀀스 동안에 섹터 크기 정보(354)에 기초하여 하나의 페이지(도 9의 400)에 포함되는 섹터들의 크기를 설정할 수 있다. 이 경우에, 섹터 크기 정보(354)는 웨이퍼 레벨 또는 패키지 레벨에서 퓨즈 옵션을 통하여 설정될 수 있다. 다른 실시예에서는, 섹터 크기 정보(SCT_L)는 비휘발성 트림 정보로서 메모리 셀 어레이(100)에 저장될 수 있다. 섹터 크기 정보(SCT_L)는 비휘발성 트림 정보로서 메모리 셀 어레이(100)에 저장되는 경우, 섹터 크기 정보(SCT_L)는 파워-업 시퀀스 동안에 제어 로직(350)의 제어에 따라 메모리 셀 어레이(100)로부터 페이지 버퍼부(310)를 거쳐 제어 로직(350)으로 로드될 수 있다.
도 20은 본 발명의 일 실시예에 따라 섹터 크기 설정 방법을 설명하기 위한 타이밍도이다.
도 2a, 도 19 및 도 20을 참조하면, 섹터 크기를 설정하기 위하여 메모리 컨트롤러(20)로부터 비휘발성 메모리 장치(60)로 세트 피쳐 커맨드(Efh), 어드레스(Addr) 및 데이터(D1~Dm)가 정해진 타이밍에 따라 전송된다. 여기서 어드레스(Addr)는 섹터 크기 정보(352)를 나타내는 데이터(D1~Dm)가 저장될 레지스터(351)의 위치를 나타내는데 사용될 수 있다. 섹터의 크기를 설정하는 동작은 파워-업 이후 세트 피쳐 커맨드(Efh)와 함께 섹터 크기(SCT_L)를 메모리 컨트롤러(20)로부터 비휘발성 메모리 장치(60)로 전송함으로써 달성될 수 있다. 실시예에 있어서, 세트 피쳐 커맨드(Efh)와 함께 제공되는 데이터(D1~Dm) 중 일부만이 섹터 크기(SCT_L)를 나타내는 데이터로서 사용될 수 있다. 나머지 데이터는 다른 파라미터를 지정하는데 사용될 수 있다.
도 21은 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 2a, 도 2b 및 도 21을 참조하면, 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법에서는 먼저 비휘발성 메모리 장치(60)가 메모리 컨트롤러(20)로부터 독출 커매드를 수신한다(S810). 독출 커맨드를 수신한 비휘발성 메모리 장치(60)는 페이지 단위의 데이터에 대하여 독출 동작을 수행하고(S820), 독출 데이터를 메모리 컨트롤러(20)에 전송한다. 이 때, 독출 데이터는 도 9를 참조하여 설명한 바와 같이, 섹터 데이터와 각 섹터 데이터에 대한 패리티 데이터를 포함할 수 있다. 메모리 컨트롤러(20)의 ECC 블록(55)에서는 독출 데이터에 대하여 섹터 단위로 ECC 디코딩을 수행하여 각 섹터에 독출 에러가 존재하는지 여부를 판단한다(S830). 단계(S830)에서 독출 에러가 감지되지 않으면(NO) 독출 데이터는 호스트 버퍼(57)를 통하여 호스트로 전송된다. 단계(S830)에서 독출 에러가 감지되면(YES), 각 섹터별로 감지된 에러가 정정불가능한지 여부를 판단한다(S840). 단계(S840)에서 각 섹터의 에러가 정정가능하면(NO), 메모리 컨트롤러(20)의 ECC 블록(55)에서 각 섹터의 에러를 정정하고(S850), 에러가 정정된 데이터를 호스트 버퍼(57)를 통하여 호스트로 전송한다. 단계(S840)에서 정정불가능한 에러를 포함하는 섹터가 적어도 하나 존재하면(YES), 메모리 컨트롤러(20)는 정정 불가능한 에러를 포함하는 섹터에 대하여 독출 재시도 동작이 수행되도록 비휘발성 메모리 장치(60)를 제어한다.
도 22는 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법을 나타내는 흐름도이다.
도 2a, 도 2b 및 도 22를 참조하면, 본 발명의 일 실시예에 따른 메모리 시스템의 동작 방법에서는 먼저 비휘발성 메모리 장치(60)가 메모리 컨트롤러(20)로부터 독출 커매드를 수신한다(S910). 독출 커맨드를 수신한 비휘발성 메모리 장치(60)는 페이지 단위의 데이터에 대하여 독출 동작을 수행하고(S920), 독출 데이터를 메모리 컨트롤러(20)에 전송한다. 이 때, 독출 데이터는 도 9를 참조하여 설명한 바와 같이, 섹터 데이터와 각 섹터 데이터에 대한 패리티 데이터를 포함할 수 있다. 메모리 컨트롤러(20)의 ECC 블록(55)에서는 독출 데이터에 대하여 섹터 단위로 ECC 디코딩을 수행하여 각 섹터에 독출 에러가 존재하는지 여부를 판단한다(S930). 단계(S930)에서 독출 에러가 감지되지 않으면(NO) 독출 데이터는 호스트 버퍼(57)를 통하여 호스트로 전송된다. 단계(S930)에서 독출 에러가 감지되면(YES), 각 섹터별로 감지된 에러가 정정불가능한지 여부를 판단한다(S940). 단계(S940)에서 각 섹터의 에러가 정정가능하면(YES), 메모리 컨트롤러(20)의 ECC 블록(55)에서 각 섹터의 에러를 정정하고(S950), 에러가 정정된 데이터를 호스트 버퍼(57)를 통하여 호스트로 전송한다. 단계(S940)에서 정정불가능한 에러를 포함하는 섹터(타겟 섹터)가 적어도 하나 존재하면(YES), 타겟 섹터에 대하여 독출 재시도 동작이 미리 정해진 기준 회수(P)보다 많이 수행되었는지 여부를 판단한다(S960). 단계(S960)에서 타겟 섹터에 대하여 독출 재시도 동작이 미리 정해진 기준 회수(P)보다 적게 수행되었으면(NO) 독출 재시도 동작을 수행한다(S970). 단계(S960)에서 타겟 섹터에 대하여 독출 재시도 동작이 미리 정해진 기준 회수(P)보다 많게 수행되었으면(YES), 타겟 섹터에 대하여 독출 재시도 동작을 수행하고(S980)한다. 타겟 섹터에 대하여 독출 재시도 동작이 수행된 후에 타겟 섹터를 포함하는 메모리 블록을 다른 블록으로 복사하고, 타겟 섹터를 포함하는 메모리 블록을 소거하는 소거 리프레쉬 동작을 수행한다(S990).
도 23은 본 발명의 실시예들에 따른 메모리 시스템을 메모리 카드에 응용한 예를 나타내는 블록도이다.
도 23을 참조하면, 메모리 시스템(1000)은 복수의 접속 핀들(1010), 메모리 컨트롤러(1020) 및 비휘발성 메모리 장치(1030)를 포함한다.
호스트(미도시)와 메모리 시스템(1000) 사이의 신호들이 송수신되도록 복수의 접속 핀들(1010)은 호스트에 연결될 수 있다. 복수의 접속 핀들(1010)은 클록 핀, 커맨드 핀, 데이터 핀 및/또는 리셋 핀을 포함할 수 있다.
메모리 컨트롤러(1020)는, 상기 호스트로부터 데이터를 수신하고, 상기 수신된 데이터를 비휘발성 메모리 장치(1030)에 저장할 수 있다.
비휘발성 메모리 장치(1030)는 메모리 셀 어레이를 포함하며, 메모리 컨트롤러(1020)는 메모리 셀 어레이에 대하여 페이지 단위로 독출 동작을 수행하고, 독출된 데이터에 대하여 섹터 단위로 에러 감지 및 정정 동작을 수행하고, 정정가능한 에러를 포함하는 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 정정이 불가능한 에러를 포함하는 적어도 하나의 타겟 섹터에 연결되는 비트라인들만을 프리차지시켜 상기 타겟 섹터에 대하여 독출 재시도 동작을 수행하여 전력 소모를 감소시킬 수 있다.
도 23의 메모리 시스템(1000)은 메모리 카드일 수 있다. 예를 들어, 메모리 시스템(1000)은 멀티미디어 카드(MultiMedia Card; MMC), 임베디드 멀티미디어 카드(embedded MultiMedia Card; eMMC), 하이브리드 임베디드 멀티미디어 카드(hybrid embedded MultiMedia Card; hybrid eMMC), SD(Secure Digital) 카드, 마이크로 SD 카드, 메모리 스틱(Memory Stick), ID 카드, PCMCIA(Personal Computer Memory Card International Association) 카드, 칩 카드(Chip Card), USB 카드, 스마트 카드(Smart Card), CF 카드(Compact Flash Card)등과 같은 메모리 카드일 수 있다.
실시예에 따라서, 메모리 시스템(1000)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 호스트에 장착될 수 있다.
도 24는 본 발명의 실시예들에 따른 메모리 시스템을 솔리드 스테이트 드라이브에 응용한 예를 나타내는 블록도이다.
도 24를 참조하면, 메모리 시스템(1100)은 솔리드 스테이트 드라이브(Solid State Drive; SSD)일 수 있다. 메모리 시스템(1100)은 메모리 컨트롤러(1110) 및 복수의 비휘발성 메모리 장치들(1120)을 포함한다.
메모리 컨트롤러(1110)는, 호스트(미도시)로부터 데이터를 수신하고, 상기 수신된 데이터를 복수의 비휘발성 메모리 장치들(1120)에 저장할 수 있다.
복수의 비휘발성 메모리 장치들(1120)은 메모리 셀 어레이를 포함하며, 메모리 셀 어레이를 포함하며, 메모리 컨트롤러(1110)는 메모리 셀 어레이에 대하여 페이지 단위로 독출 동작을 수행하고, 독출된 데이터에 대하여 섹터 단위로 에러 감지 및 정정 동작을 수행하고, 정정가능한 에러를 포함하는 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 정정이 불가능한 에러를 포함하는 적어도 하나의 타겟 섹터에 연결되는 비트라인들만을 프리차지시켜 상기 타겟 섹터에 대하여 독출 재시도 동작을 수행하여 전력 소모를 감소시킬 수 있다.
실시예에 따라서, 메모리 시스템(1100)은 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 호스트에 장착될 수 있다.
도 25는 본 발명의 실시예들에 따른 비휘발성 메모리 장치를 모바일 시스템에 응용한 예를 나타내는 블록도이다.
도 25를 참조하면, 모바일 시스템(1400)은 어플리케이션 프로세서(1410), 통신(Connectivity)부(1420), 휘발성 메모리 장치(1430), 비휘발성 메모리 시스템(1440), 사용자 인터페이스(1450) 및 파워 서플라이(1460)를 포함한다. 실시예에 따라, 모바일 시스템(1400)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템 등과 같은 임의의 모바일 시스템일 수 있다.
어플리케이션 프로세서(1410)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라서, 어플리케이션 프로세서(1410)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(1410)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라서, 어플리케이션 프로세서(1410)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
통신부(1420)는 외부 장치와 무선 통신 또는 유선 통신을 수행할 수 있다. 예를 들어, 통신부(1420)는 이더넷(Ethernet) 통신, 근거리 자기장 통신(Near Field Communication; NFC), 무선 식별(Radio Frequency Identification; RFID) 통신, 이동 통신(Mobile Telecommunication), 메모리 카드 통신, 범용 직렬 버스(Universal Serial Bus; USB) 통신 등을 수행할 수 있다. 예를 들어, 통신부(1420)는 베이스밴드 칩 셋(Baseband Chipset)을 포함할 수 있고, GSM, GPRS, WCDMA, HSxPA 등의 통신을 지원할 수 있다.
휘발성 메모리 장치(1430)는 어플리케이션 프로세서(1410)에 의해 처리되는 데이터를 저장하거나, 동작 메모리(Working Memory)로서 작동할 수 있다. 예를 들어, 휘발성 메모리 장치(1430)는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 모바일 DRAM, DDR SDRAM, LPDDR SDRAM, GDDR SDRAM, RDRAM 또는 이와 유사한 메모리로 구현될 수 있다.
비휘발성 메모리 시스템(1440)은 메모리 컨트롤러(1441) 및 비휘발성 메모리 장치(1443)를 포함하고, 모바일 시스템(1400)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 예를 들어, 비휘발성 메모리 장치(1143)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(Flash Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리로 구현될 수 있다. 비휘발성 메모리 장치(1443)는 메모리 셀 어레이를 포함하며, 메모리 컨트롤러(1441)는 메모리 셀 어레이에 대하여 페이지 단위로 독출 동작을 수행하고, 독출된 데이터에 대하여 섹터 단위로 에러 감지 및 정정 동작을 수행하고, 정정가능한 에러를 포함하는 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 정정이 불가능한 에러를 포함하는 적어도 하나의 타겟 섹터에 연결되는 비트라인들만을 프리차지시켜 상기 타겟 섹터에 대하여 독출 재시도 동작을 수행하여 전력 소모를 감소시킬 수 있다.
사용자 인터페이스(1450)는 키패드, 터치 스크린과 같은 하나 이상의 입력 장치, 및/또는 스피커, 디스플레이 장치와 같은 하나 이상의 출력 장치를 포함할 수 있다. 파워 서플라이(1460)는 모바일 시스템(1400)의 동작 전압을 공급할 수 있다. 또한, 실시예에 따라서, 모바일 시스템(1400)은 카메라 이미지 프로세서(Camera Image Processor; CIS)를 더 포함할 수 있고, 메모리 카드(Memory Card), 솔리드 스테이트 드라이브(Solid State Drive; SSD), 하드 디스크 드라이브(Hard Disk Drive; HDD), 씨디롬(CD-ROM) 등과 같은 저장 장치를 더 포함할 수 있다.
모바일 시스템(1400) 또는 모바일 시스템(1400)의 구성요소들은 다양한 형태들의 패키지를 이용하여 실장될 수 있는데, 예를 들어, PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flat-Pack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline Package), TQFP(Thin Quad Flat-Pack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
도 26은 본 발명의 실시예들에 따른 메모리 시스템을 컴퓨팅 시스템에 응용한 예를 나타내는 블록도이다.
도 26을 참조하면, 컴퓨팅 시스템(1500)은 프로세서(1510), 입출력 허브(1520), 입출력 컨트롤러 허브(1530), 적어도 하나의 메모리 모듈(1540) 및 그래픽 카드(1550)를 포함한다. 실시예에 따라, 컴퓨팅 시스템(1500)은 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터(Server Computer), 워크스테이션(Workstation), 노트북(Laptop), 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(personal digital assistant; PDA), 휴대형 멀티미디어 플레이어(portable multimedia player; PMP), 디지털 카메라(Digital Camera), 디지털 TV(Digital Television), 셋-탑 박스(Set-Top Box), 음악 재생기(Music Player), 휴대용 게임 콘솔(portable game console), 네비게이션(Navigation) 시스템 등과 같은 임의의 컴퓨팅 시스템일 수 있다.
프로세서(1510)는 특정 계산들 또는 태스크들과 같은 다양한 컴퓨팅 기능들을 실행할 수 있다. 예를 들어, 프로세서(1510)는 마이크로프로세서 또는 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 실시예에 따라서, 프로세서(1510)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 프로세서(1510)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 도 22에는 하나의 프로세서(1510)를 포함하는 컴퓨팅 시스템(1500)이 도시되어 있으나, 실시예에 따라서, 컴퓨팅 시스템(1500)은 복수의 프로세서들을 포함할 수 있다. 또한, 실시예에 따라서, 프로세서(1510)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.
프로세서(1510)는 메모리 모듈(1540)의 동작을 제어하는 메모리 컨트롤러(1511)를 포함할 수 있다. 프로세서(1510)에 포함된 메모리 컨트롤러(1511)는 집적 메모리 컨트롤러(Integrated Memory Controller; IMC)라 불릴 수 있다. 메모리 컨트롤러(1511)와 메모리 모듈(1540) 사이의 메모리 인터페이스는 복수의 신호선들을 포함하는 하나의 채널로 구현되거나, 복수의 채널들로 구현될 수 있다. 또한, 각 채널에는 하나 이상의 메모리 모듈(1540)이 연결될 수 있다. 실시예에 따라서, 메모리 컨트롤러(1511)는 입출력 허브(1520) 내에 위치할 수 있다. 메모리 컨트롤러(1511)를 포함하는 입출력 허브(1520)는 메모리 컨트롤러 허브(Memory Controller Hub; MCH)라 불릴 수 있다.
메모리 모듈(1540)은 메모리 컨트롤러(1511)로부터 제공된 데이터를 저장하는 복수의 비휘발성 메모리 장치들을 포함할 수 있다. 상기 비휘발성 메모리 장치들은 각각 메모리 셀 어레이를 포함하며, 메모리 컨트롤러(1511)는 메모리 셀 어레이에 대하여 페이지 단위로 독출 동작을 수행하고, 독출된 데이터에 대하여 섹터 단위로 에러 감지 및 정정 동작을 수행하고, 정정이 불가능한 에러를 포함하는 적어도 하나의 타겟 섹터에 연결되는 비트라이들만을 프리차지시켜 상기 타겟 섹터에 대하여 독출 재시도 동작을 수행하여 전력 소모를 감소시킬 수 있다.
입출력 허브(1520)는 그래픽 카드(1550)와 같은 장치들과 프로세서(1510) 사이의 데이터 전송을 관리할 수 있다. 입출력 허브(1520)는 다양한 방식의 인터페이스를 통하여 프로세서(1510)에 연결될 수 있다. 예를 들어, 입출력 허브(1520)와 프로세서(1510)는, 프론트 사이드 버스(Front Side Bus; FSB), 시스템 버스(System Bus), 하이퍼트랜스포트(HyperTransport), 라이트닝 데이터 트랜스포트(Lightning Data Transport; LDT), 퀵패스 인터커넥트(QuickPath Interconnect; QPI), 공통 시스템 인터페이스(Common System Interface; CSI) 등의 다양한 표준의 인터페이스로 연결될 수 있다. 도 22에는 하나의 입출력 허브(1520)를 포함하는 컴퓨팅 시스템(1500)이 도시되어 있으나, 실시예에 따라서, 컴퓨팅 시스템(1500)은 복수의 입출력 허브들을 포함할 수 있다.
입출력 허브(1520)는 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 허브(1520)는 가속 그래픽 포트(Accelerated Graphics Port; AGP) 인터페이스, 주변 구성요소 인터페이스-익스프레스(Peripheral Component Interface-Express; PCIe), 통신 스트리밍 구조(Communications Streaming Architecture; CSA) 인터페이스 등을 제공할 수 있다.
그래픽 카드(1550)는 AGP 또는 PCIe를 통하여 입출력 허브(1520)와 연결될 수 있다. 그래픽 카드(1550)는 영상을 표시하기 위한 디스플레이 장치(미도시)를 제어할 수 있다. 그래픽 카드(1550)는 이미지 데이터 처리를 위한 내부 프로세서 및 내부 반도체 메모리 장치를 포함할 수 있다. 실시예에 따라, 입출력 허브(1520)는, 입출력 허브(1520)의 외부에 위치한 그래픽 카드(1550)와 함께, 또는 그래픽 카드(1550) 대신에 입출력 허브(1520)의 내부에 그래픽 장치를 포함할 수 있다. 입출력 허브(1520)에 포함된 그래픽 장치는 집적 그래픽(Integrated Graphics)이라 불릴 수 있다. 또한, 메모리 컨트롤러 및 그래픽 장치를 포함하는 입출력 허브(1520)는 그래픽 및 메모리 컨트롤러 허브(Graphics and Memory Controller Hub; GMCH)라 불릴 수 있다.
입출력 컨트롤러 허브(1530)는 다양한 시스템 인터페이스들이 효율적으로 동작하도록 데이터 버퍼링 및 인터페이스 중재를 수행할 수 있다. 입출력 컨트롤러 허브(1530)는 내부 버스를 통하여 입출력 허브(1520)와 연결될 수 있다. 예를 들어, 입출력 허브(1520)와 입출력 컨트롤러 허브(1530)는 다이렉트 미디어 인터페이스(Direct Media Interface; DMI), 허브 인터페이스, 엔터프라이즈 사우스브릿지 인터페이스(Enterprise Southbridge Interface; ESI), PCIe 등을 통하여 연결될 수 있다.
입출력 컨트롤러 허브(1530)는 주변 장치들과의 다양한 인터페이스들을 제공할 수 있다. 예를 들어, 입출력 컨트롤러 허브(1530)는 범용 직렬 버스(Universal Serial Bus; USB) 포트, 직렬 ATA(Serial Advanced Technology Attachment; SATA) 포트, 범용 입출력(General Purpose Input/Output; GPIO), 로우 핀 카운트(Low Pin Count; LPC) 버스, 직렬 주변 인터페이스(Serial Peripheral Interface; SPI), PCI, PCIe 등을 제공할 수 있다.
실시예에 따라서, 프로세서(1510), 입출력 허브(1520) 및 입출력 컨트롤러 허브(1530)는 각각 분리된 칩셋들 또는 집적 회로들로 구현되거나, 프로세서(1510), 입출력 허브(1520) 또는 입출력 컨트롤러 허브(1530) 중 2 이상의 구성요소들이 하나의 칩셋으로 구현될 수 있다.
본 발명은 비휘발성 메모리 장치 및 이를 이용하는 다양한 장치 및 시스템에 적용될 수 있다. 따라서, 본 발명은 비휘발성 메모리 장치를 구비하는 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive; SSD), 컴퓨터(computer), 노트북(laptop), 핸드폰(cellular), 스마트폰(smart phone), MP3 플레이어, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 디지털 TV, 디지털 카메라, 포터블 게임 콘솔(portable game console) 등과 같은 전자 기기에 확대 적용될 수 있을 것이다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 비휘발성 메모리 장치와 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 구비하는 메모리 시스템의 동작 방법으로서,
    메모리 셀 어레이에서 복수의 섹터들로 구성되는 페이지 단위의 데이터를 독출하는 단계;
    상기 메모리 컨트롤러에서 상기 독출된 페이지 단위의 데이터에 대하여 섹터 단위로 에러 정정 디코딩을 수행하는 단계;
    상기 수행된 에러 정정 디코딩에 의하여 정정불가능한 에러들을 포함하는 적어도 하나의 타겟 섹터와 정정가능한 에러들을 포함하는 적어도 하나의 패스 섹터를 선택하는 단계; 및
    상기 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 상기 적어도 하나의 타겟 섹터에 연결되는 타겟 비트라인들을 프리차지하고 상기 적어도 하나의 타겟 섹터의 데이터에 대한 독출 재시도 동작을 수행하는 단계를 포함하는 메모리 시스템의 동작 방법.
  2. 제1항에 있어서,
    상기 에러 정정 디코딩은 상기 복수의 섹터들 각각에 포함되는 메인 데이터를 기초로 생성된 패리티 데이터를 이용하여 수행되고, 상기 적어도 하나의 타겟 섹터는 상기 에러의 수가 상기 패리티 데이터의 수보다 크고, 상기 적어도 하나의 패스 섹터는 상기 에러의 수가 상기 패리티의 수 이하이고,
    상기 독출 재시도 동작은 상기 정정 불가능한 에러들이 상기 에러 정정 디코딩에 의하여 정정될 때까지 반복되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  3. 제1항에 있어서,
    상기 에러 정정 디코딩은 상기 복수의 섹터들 각각에 포함되는 메인 데이터를 기초로 생성된 패리티 데이터를 이용하여 수행되고, 상기 적어도 하나의 타겟 섹터는 상기 에러의 수가 상기 패리티 데이터의 수보다 크고,
    상기 적어도 하나의 타겟 섹터는 상기 수행된 에러 정정 디코딩에 의하여 정정불가능한 에러들을 포함하고, 상기 적어도 하나의 타겟 섹터에 대한 상기 독출 재시도 동작은 정해진 기준 회수 이내에서만 반복되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  4. 제3항에 있어서,
    상기 적어도 하나의 타겟 섹터에 대한 상기 독출 재시도 동작이 상기 정해진 기준 회수를 초과하는 경우 상기 적어도 하나의 타겟 섹터를 포함하는 메모리 블록을 다른 메모리 블록으로 카피하고, 상기 적어도 하나의 타겟 섹터를 포함하는 메모리 블록을 소거하는 소거 리프레쉬 동작이 수행되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 타겟 섹터는 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러가 상기 타겟 섹터에 포함되는 메모리 셀들에 타겟 섹터 이외의 다른 섹터들의 메모리 셀들에 입력되는 데이터와는 다른 데이터패턴을 입력하여 선택되고,
    상기 타겟 섹터에 포함되는 메모리 셀들에는 데이터 "0"이 입력되고 다른 섹터들에 포함되는 메모리 셀들에는 데이터 "1"이 입력되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  6. 제1항에 있어서,
    상기 복수의 섹터들 각각의 크기는 상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러가 세트 피쳐 커맨드에 의하여 설정하고,
    상기 복수의 섹터들 각각의 크기는 상기 세트 피쳐 커맨드 이후에 상기 비휘발성 메모리 장치에 전송되는 데이터의 적어도 일부를 이용하여 설정되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  7. 제1항에 있어서,
    상기 복수의 섹터들 각각의 크기는 상기 비휘발성 메모리 장치에 구비되는 퓨즈부에 웨이퍼 레벨이나 패키지 레벨에서 퓨즈 옵션을 통하여 저장되고, 상기 비휘발성 메모리 장치의 파워-업 시퀀스 동안에 상기 퓨즈부에 저장된 데이터에 따라 설정되는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  8. 제1항에 있어서,
    상기 메모리 컨트롤러는 상기 적어도 하나의 타겟 섹터를 선택하기 위한 섹터 선택 커맨드와 섹터 어드레스를 상기 비휘발성 메모리 장치에 제공하는 것을 특징으로 하는 메모리 시스템의 동작 방법.
  9. 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 구비하고,
    상기 메모리 컨트롤러는 상기 비휘발성 메모리 장치로부터 복수의 섹터들로 구성되는 페이지 단위의 데이터를 독출하고, 상기 독출된 페이지 단위의 데이터에 대하여 섹터 단위로 에러 정정 디코딩을 수행하는 에러 정정 코드 블록; 및
    상기 수행된 에러 정정 디코딩에 의하여 정정불가능한 에러들을 포함하는 적어도 하나의 타겟 섹터와 정정가능한 에러들을 포함하는 적어도 하나의 패스 섹터를 선택하고 상기 비휘발성 메모리 장치가 상기 적어도 하나의 패스 섹터에 연결되는 비트라인들의 프리차지를 금지함과 동시에 상기 적어도 하나의 타겟 섹터에 연결되는 타겟 비트라인들을 프리차지하고 상기 적어도 하나의 타겟 섹터의 데이터에 대한 독출 재시도 동작을 수행하도록 제어하는 제어 블록을 포함하는 메모리 시스템.
  10. 제9항에 있어서,
    상기 비휘발성 메모리 장치는 상기 페이지 단위의 데이터를 저장하는 메모리 셀 어레이 및 상기 메모리 컨트롤러의 제어에 따라 메모리 셀 어레이에 대한 프로그램 동작, 소거 동작 및 독출 동작을 제어하는 제어 로직을 포함하고,
    상기 에러 정정 코드 블록은 상기 섹터 단위로 수행된 에러 정정 디코딩의 성공 여부를 나타내는 플래그 신호를 상기 제어 블록에 제공하고,
    상기 제어 블록은 상기 복수의 섹터들의 섹터 번호와 상기 복수의 섹터들 각각에 대한 플래그 신호를 저장하는 섹터 테이블을 포함하고,
    상기 제어 로직은 상기 메모리 컨트롤러로부터 제공되는 세트 피쳐 커맨드에 포함되는 섹터 크기 정보를 저장하는 레지스터를 포함하고,
    상기 제어 로직은 상기 섹터 크기 정보에 따라 상기 섹터들 각각의 크기를 설정하는 것을 특징으로 하는 메모리 시스템.
KR1020130004222A 2013-01-15 2013-01-15 메모리 시스템의 동작 방법 및 메모리 시스템 KR102048765B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020130004222A KR102048765B1 (ko) 2013-01-15 2013-01-15 메모리 시스템의 동작 방법 및 메모리 시스템
JP2013258390A JP6228446B2 (ja) 2013-01-15 2013-12-13 メモリシステムの動作方法及びメモリシステム
DE102014100161.3A DE102014100161A1 (de) 2013-01-15 2014-01-09 Speichersystem und Betriebsverfahren davon
US14/154,641 US9230669B2 (en) 2013-01-15 2014-01-14 Memory system and method of operation thereof
CN201410018340.7A CN103928052B (zh) 2013-01-15 2014-01-15 存储***及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130004222A KR102048765B1 (ko) 2013-01-15 2013-01-15 메모리 시스템의 동작 방법 및 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20140092027A KR20140092027A (ko) 2014-07-23
KR102048765B1 true KR102048765B1 (ko) 2020-01-22

Family

ID=51015177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130004222A KR102048765B1 (ko) 2013-01-15 2013-01-15 메모리 시스템의 동작 방법 및 메모리 시스템

Country Status (5)

Country Link
US (1) US9230669B2 (ko)
JP (1) JP6228446B2 (ko)
KR (1) KR102048765B1 (ko)
CN (1) CN103928052B (ko)
DE (1) DE102014100161A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724381B2 (en) * 2008-03-11 2014-05-13 Agere Systems Llc Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
US20150256916A1 (en) * 2014-03-04 2015-09-10 Knowles Electronics, Llc Programmable Acoustic Device And Method For Programming The Same
KR102188061B1 (ko) * 2014-07-29 2020-12-07 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법
CN105989898B (zh) * 2014-10-08 2018-11-27 光宝科技股份有限公司 存储器阵列中故障地址的数据结构及故障地址的编码方法
KR20160073834A (ko) * 2014-12-17 2016-06-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템 동작 방법
KR102239356B1 (ko) 2015-02-17 2021-04-13 삼성전자주식회사 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법
KR102435873B1 (ko) * 2015-12-18 2022-08-25 삼성전자주식회사 스토리지 장치 및 그것의 리드 리클레임 방법
US10128253B2 (en) 2016-01-29 2018-11-13 Taiwan Semiconductor Manufacturing Company, Ltd. Two-port SRAM structure
CN105893167A (zh) * 2016-03-28 2016-08-24 联想(北京)有限公司 一种信息处理方法及装置、电子设备
KR102438988B1 (ko) * 2016-04-07 2022-09-02 삼성전자주식회사 랜덤화 연산을 수행하는 불휘발성 메모리 장치
CN106227685A (zh) * 2016-07-14 2016-12-14 昆山百敖电子科技有限公司 一种实现秒脉冲触发计算机中断的方法
KR20180026022A (ko) 2016-09-01 2018-03-12 삼성전자주식회사 스토리지 장치 및 그것의 카피백 방법
US10042755B2 (en) 2016-09-28 2018-08-07 Micron Technology, Inc. 3D vertical NAND memory device including multiple select lines and control lines having different vertical spacing
KR20180051272A (ko) * 2016-11-08 2018-05-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN108346452B (zh) * 2017-01-25 2023-05-02 三星电子株式会社 存储器装置和控制存储器装置中的ecc操作的方法
US10579471B2 (en) 2017-03-02 2020-03-03 Toshiba Memory Corporation Storage device and error correction method for storage device
JP6884675B2 (ja) * 2017-09-20 2021-06-09 株式会社東芝 ビデオサーバ、及び放送システム
KR102456582B1 (ko) * 2017-12-19 2022-10-20 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20190122422A (ko) * 2018-04-20 2019-10-30 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
CN110908825B (zh) * 2018-09-17 2024-03-01 兆易创新科技集团股份有限公司 一种数据读取方法、装置、存储设备及存储介质
KR102599188B1 (ko) * 2018-11-09 2023-11-08 삼성전자주식회사 호스트 메모리를 사용하는 스토리지 장치 및 그것의 동작 방법
KR20200076519A (ko) * 2018-12-19 2020-06-29 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
KR102645786B1 (ko) * 2019-07-08 2024-03-12 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20210024916A (ko) * 2019-08-26 2021-03-08 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US11468963B2 (en) * 2020-12-08 2022-10-11 Macronix International Co., Ltd. Memory device and read method thereof
US20230016520A1 (en) * 2021-07-19 2023-01-19 Micron Technology, Inc. Strategic memory cell reliability management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436434A (zh) 2007-08-16 2009-05-20 三星电子株式会社 提供快速编程及读操作的非易失性存储设备、***和方法
US20120268994A1 (en) 2009-11-06 2012-10-25 Hiroyuki Nagashima Memory system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950008789B1 (ko) * 1992-07-30 1995-08-08 삼성전자주식회사 멀티-이씨씨(ecc)회로를 내장하는 반도체 메모리 장치
JP3980731B2 (ja) * 1996-12-20 2007-09-26 株式会社ルネサステクノロジ 不揮発性半導体記憶装置および読出し方法
US6711051B1 (en) 2002-09-05 2004-03-23 National Semiconductor Corporation Static RAM architecture with bit line partitioning
US7424648B2 (en) * 2005-03-10 2008-09-09 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
US7755961B2 (en) 2006-07-07 2010-07-13 Rao G R Mohan Memories with selective precharge
US7539059B2 (en) 2006-12-29 2009-05-26 Intel Corporation Selective bit line precharging in non volatile memory
US7995409B2 (en) 2007-10-16 2011-08-09 S. Aqua Semiconductor, Llc Memory with independent access and precharge
US7719902B2 (en) 2008-05-23 2010-05-18 Sandisk Corporation Enhanced bit-line pre-charge scheme for increasing channel boosting in non-volatile storage
JP2010009141A (ja) * 2008-06-24 2010-01-14 Toshiba Corp データ転送方法
US8040738B2 (en) 2008-12-30 2011-10-18 Spansion Llc Method and apparatus for performing semiconductor memory operations
US8296628B2 (en) 2009-03-06 2012-10-23 Texas Instruments Incorporated Data path read/write sequencing for reduced power consumption
KR101552210B1 (ko) * 2009-03-10 2015-09-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
KR101603099B1 (ko) * 2009-10-01 2016-03-28 삼성전자주식회사 불안정 메모리 셀 산포를 검출하는 메모리 시스템 및 상기 불안정 메모리 셀 산포 검출방법
JP5039160B2 (ja) * 2010-03-02 2012-10-03 株式会社東芝 不揮発性半導体記憶システム
KR101650130B1 (ko) * 2010-05-14 2016-08-24 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 카피-백 방법
KR101861247B1 (ko) * 2011-04-06 2018-05-28 삼성전자주식회사 메모리 컨트롤러, 이의 데이터 처리 방법, 및 이를 포함하는 메모리 시스템
KR101756111B1 (ko) * 2011-04-15 2017-07-10 삼성전자 주식회사 메모리 컨트롤러 구동방법, 메모리 컨트롤러, 메모리 장치 및 메모리 시스템
JP2013246849A (ja) * 2012-05-25 2013-12-09 Toshiba Corp メモリシステム
KR20140002833A (ko) * 2012-06-26 2014-01-09 삼성전자주식회사 비휘발성 메모리 장치
KR101355378B1 (ko) 2012-11-30 2014-01-27 김미정 볼풀

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436434A (zh) 2007-08-16 2009-05-20 三星电子株式会社 提供快速编程及读操作的非易失性存储设备、***和方法
US20120268994A1 (en) 2009-11-06 2012-10-25 Hiroyuki Nagashima Memory system

Also Published As

Publication number Publication date
CN103928052B (zh) 2019-08-20
KR20140092027A (ko) 2014-07-23
JP2014137816A (ja) 2014-07-28
DE102014100161A1 (de) 2014-07-17
CN103928052A (zh) 2014-07-16
JP6228446B2 (ja) 2017-11-08
US9230669B2 (en) 2016-01-05
US20140198573A1 (en) 2014-07-17

Similar Documents

Publication Publication Date Title
KR102048765B1 (ko) 메모리 시스템의 동작 방법 및 메모리 시스템
US10332607B2 (en) Methods of operating a nonvolatile memory device and the nonvolatile memory device thereof
KR101787612B1 (ko) 비휘발성 메모리 장치의 데이터 저장 방법 및 구동 방법
US8990481B2 (en) Method of operating nonvolatile memory devices storing randomized data generated by copyback operation
US8665643B2 (en) Non-volatile memory device and read method thereof
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
US8694720B2 (en) Nonvolatile memory devices with page flags, methods of operation and memory systems including same
CN107305791B (zh) 存储装置和存储***
US8990483B2 (en) Nonvolatile memory device, memory system, and program method therof
US9007839B2 (en) Nonvolatile memory device performing read operation with variable read voltage
US20140258597A1 (en) Memory controller and memory system including the same
US8503231B2 (en) Multi-level cell flash memory device and read method
US8498160B2 (en) Nonvolatile memory device and related programming method using selective bit line precharging
CN106920570B (zh) 存储器***及其操作方法
US20160124642A1 (en) Memory device, memory system, method of operating the memory device, and method of operating the memory system
KR102178141B1 (ko) 비휘발성 메모리 장치의 동작 방법
US9741440B2 (en) Memory device and read method of memory device
US8760919B2 (en) Nonvolatile memory device and method of reading data in nonvolatile memory device
US11409470B2 (en) Memory system, memory controller, and method of operating memory system
US20170160978A1 (en) Flash memory device including deduplication, and related methods
US9672933B2 (en) Threshold based multi-level cell programming for a non-volatile memory device
US20130223156A1 (en) Nonvolatile memory device and memory system including the same

Legal Events

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