KR20090129624A - 메모리 시스템 및 그것의 읽기 페일 방지 방법 - Google Patents

메모리 시스템 및 그것의 읽기 페일 방지 방법 Download PDF

Info

Publication number
KR20090129624A
KR20090129624A KR1020080055641A KR20080055641A KR20090129624A KR 20090129624 A KR20090129624 A KR 20090129624A KR 1020080055641 A KR1020080055641 A KR 1020080055641A KR 20080055641 A KR20080055641 A KR 20080055641A KR 20090129624 A KR20090129624 A KR 20090129624A
Authority
KR
South Korea
Prior art keywords
memory
read
count data
read count
memory controller
Prior art date
Application number
KR1020080055641A
Other languages
English (en)
Inventor
박종태
천원문
김선택
박찬익
오문욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080055641A priority Critical patent/KR20090129624A/ko
Priority to US12/457,485 priority patent/US8027194B2/en
Priority to CN200910205766.2A priority patent/CN101673581B/zh
Publication of KR20090129624A publication Critical patent/KR20090129624A/ko
Priority to US13/137,401 priority patent/US8565021B2/en
Priority to US13/137,409 priority patent/US8638585B2/en
Priority to US13/137,425 priority patent/US8625344B2/en
Priority to US13/137,424 priority patent/US8705272B2/en
Priority to US13/137,422 priority patent/US8614919B2/en
Priority to US13/137,423 priority patent/US8760918B2/en

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
    • G11C16/10Programming or data input 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/26Sensing or reading circuits; Data output 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • G11C16/3409Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명에 따른 메모리 시스템은 읽기 카운트 데이터를 저장하는 불휘발성 메모리; 및 상기 불휘발성 메모리에 대한 읽기 동작 시에, 상기 읽기 카운트 데이터를 증가하기 위한 메모리 컨트롤러를 포함한다. 여기에서, 상기 메모리 컨트롤러는 상기 읽기 카운트 데이터를 상기 불휘발성 메모리에 주기적으로 업 데이트한다. 상기 메모리 컨트롤러는 서든 파워 오프가 발생한 경우에, 파워 온 시에 상기 읽기 카운트 데이터를 보상하고, 상기 보상된 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트한다. 본 발명에 의하면, 소프트 프로그램에 의한 읽기 페일 미리 방지함으로, 메모리 시스템의 성능을 향상시킬 수 있다.

Description

메모리 시스템 및 그것의 읽기 페일 방지 방법{SEMICONDUCTOR MEMORY DEVICE AND METHOD PREVENTING READ-FAIL THEREOF}
본 발명은 메모리 시스템에 관한 것으로, 더욱 상세하게는 읽기 페일을 복구하는 메모리 시스템 및 그것의 읽기 페일 방지 방법에 관한 것이다.
반도체 메모리 장치는 일반적으로 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, Flash Memory 등과 같은 불휘발성 메모리로 분류된다. 휘발성 메모리는 전원이 차단될 때 저장된 데이터를 잃지만, 불휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다. 특히, 플래시 메모리는 높은 프로그래밍 속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점을 가지므로, 컴퓨터 시스템 등에서 저장 매체로 광범위하게 사용되고 있다.
플래시 메모리는 데이터를 저장하는 메모리 셀 어레이를 포함한다. 메모리 셀 어레이는 복수의 메모리 블록(memory block)으로 구성된다. 각각의 메모리 블록은 복수의 페이지(page)로 구성된다. 각각의 페이지는 복수의 메모리 셀로 구성된다. 플래시 메모리는 메모리 블록 단위로 소거 동작을 수행하고, 페이지 단위로 쓰기 또는 읽기 동작을 수행한다.
플래시 메모리의 각각의 메모리 셀은 문턱 전압 분포에 따라 온 셀(on cell)과 오프 셀(off cell)로 구분된다. 온 셀은 데이터 '1'을 저장하며 소거 셀(erase cell)이라고도 한다. 오프 셀은 데이터 '0'을 저장하며 프로그램 셀(program cell)이라고도 한다. 온 셀(on cell)은 -3V와 -1V 사이의 문턱 전압을 갖고, 오프 셀(off cell)은 +1V와 +3V의 문턱 전압을 갖는다.
플래시 메모리는 셀 스트링(cell string, 도 2 참조)을 갖는다. 셀 스트링은 스트링 선택 라인(SSL)에 연결되는 스트링 선택 트랜지스터, 복수의 워드 라인(WL0~WL31)에 연결되는 메모리 셀, 그리고 접지 선택 라인(GSL)에 연결되는 접지 선택 트랜지스터를 포함한다. 스트링 선택 트랜지스터는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터는 공통 소스 라인(CSL)에 연결된다.
읽기 동작 시에, 플래시 메모리의 선택 워드 라인에는 약 0V의 선택 읽기 전압(Vrd)이 인가되고, 비선택 워드 라인에는 약 4.5V의 비선택 읽기 전압(Vread)이 인가된다. 여기에서, 비선택 읽기 전압(Vread)은 비선택 워드 라인에 연결되어 있는 메모리 셀을 턴 온(turn on) 하기에 충분한 전압이다.
한편, 플래시 메모리의 읽기 동작 시에, 여러 가지 원인에 의해 읽기 페일(read fail)이 발생할 수 있다. 여기에서, 읽기 페일(read fail)이라 함은 온 셀 (또는 데이터 1)로 프로그램하였는데 오프 셀 (또는 데이터 0)으로 읽히거나, 오프 셀로 프로그램하였는데 온 셀로 읽히는 등의 읽기 오동작을 의미한다. 읽기 페일의 원인에는 여러 가지가 있다.
대표적인 읽기 페일은 소프트 프로그램(soft program)에 의해 발생한다. 소 프트 프로그램에 의한 읽기 페일은 온 셀의 문턱 전압이 상승하는 경우에 주로 발생한다. 읽기 페일이 발생하는 경우에, 종래의 플래시 메모리는 재프로그램(reprogram) 방법을 사용하여 읽기 페일을 치유한다. 그러나 읽기 페일이 발생한 다음에, 읽기 페일을 치유하는 종래의 방법은 읽기 페일 및 그것의 원인을 찾아야 하는 불편함이 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 소프트 프로그램에 의한 읽기 페일을 미리 방지할 수 있는 메모리 시스템 및 읽기 페일 방지 방법을 제공하는 데 있다.
본 발명에 따른 액세스 카운트 값을 저장하는 불휘발성 메모리; 및 상기 불휘발성 메모리에 대한 액세스 동작 시에, 상기 액세스 카운트 값을 증가하기 위한 메모리 컨트롤러를 포함한다. 여기에서, 상기 메모리 컨트롤러는 상기 액세스 카운트 값을 상기 불휘발성 메모리에 주기적으로 업 데이트한다.
실시 예로서, 상기 액세스 동작은 읽기 동작이고, 상기 액세스 카운트 값은 읽기 카운트 데이터이다. 상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)가 발생한 경우에, 상기 읽기 카운트 데이터를 보상한다. 상기 메모리 컨트롤러는 서든 파워 오프가 발생한 경우에, 파워 온 시에 상기 읽기 카운트 데이터를 보상하고, 상기 보상된 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트한 다.
다른 실시 예로서, 상기 메모리 컨트롤러는 모드 변경 시에 상기 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트한다. 또는 상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)에 대비하기 위한 배터리를 포함하고, 상기 서든 파워 오프 시에 상기 배터리를 사용하여 상기 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트한다.
또 다른 실시 예로서, 상기 불휘발성 메모리는 복수의 메모리 블록을 갖고, 각각의 메모리 블록에 대한 읽기 카운트 데이터를 저장하고, 상기 메모리 컨트롤러는 상기 읽기 카운트 데이터가 미리 정해진 횟수에 도달하면 해당 메모리 블록을 리프레쉬(refresh) 한다. 상기 불휘발성 메모리는 상기 읽기 카운트 데이터를 메타 블록(meta block)에 저장하거나, 데이터 블록(data block)에 저장한다.
또 다른 실시 예로서, 상기 메모리 컨트롤러는 파워 온 시에 상기 읽기 카운트 데이터를 로드하기 하기 위한 버퍼 메모리를 포함하고, 상기 버퍼 메모리는 상기 각각의 메모리 블록에 대한 읽기 동작 시에 읽기 카운트 데이터를 증가한다. 상기 버퍼 메모리는 서든 파워 오프가 발생한 경우에, 파워 온 시에 상기 불휘발성 메모리에 저장된 읽기 카운트 데이터를 로드하고, 상기 로드된 읽기 카운트 데이터를 보상하고, 상기 보상된 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트한다.
본 발명에 따른 메모리 시스템의 다른 일면은, 복수의 섹션을 갖고, 각각의 섹션은 복수의 메모리 블록을 갖고, 각각의 메모리 블록에 대한 읽기 카운트 데이 터를 저장하는 제 1 메모리; 및 파워 온 시에 상기 제 1 메모리로부터 상기 읽기 카운트 데이터를 로드하기 위한 제 2 메모리를 갖고, 상기 각각의 메모리 블록에 대한 읽기 동작 시에 상기 로드된 읽기 카운트 데이터를 증가하기 위한 메모리 컨트롤러를 포함한다. 여기에서, 상기 메모리 컨트롤러는 상기 제 2 메모리에 저장된 읽기 카운트 데이터를 상기 제 1 메모리에 주기적으로 업 데이트한다.
실시 예로서, 상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)가 발생한 다음에, 파워 온 시에 상기 제 1 메모리에 저장된 읽기 카운트 데이터를 상기 제 2 메모리로 로드한다. 상기 메모리 컨트롤러는 읽기 동작이 수행되는 블록을 포함하는 섹션을 검출하고, 상기 검출된 섹션의 블록들에 대한 읽기 카운트 데이터를 보상한다.
다른 실시 예로서, 상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)에 대비하기 위한 배터리를 더 포함하고, 상기 서든 파워 오프 시에 상기 배터리를 사용하여 상기 제 2 메모리에 저장된 읽기 카운트 데이터를 상기 제 1 메모리에 업 데이트한다.
또 다른 실시 예로서, 상기 메모리 컨트롤러는 모드 변경 시에 상기 제 2 메모리에 저장된 읽기 카운트 데이터를 상기 제 1 메모리에 업 데이트한다.
본 발명의 또 다른 일면은 메모리 시스템의 읽기 페일 방지 방법에 관한 것이다. 상기 메모리 시스템은 메모리 블록에 대한 읽기 카운트 데이터를 저장하는 불휘발성 메모리; 및 상기 읽기 카운트 데이터를 업 데이트하기 위한 메모리 컨트롤러를 포함한다. 상기 메모리 시스템의 읽기 페일 방지 방법은, 상기 읽기 카운트 데이터를 상기 불휘발성 메모리에 주기적으로 업 데이트하는 단계; 및 상기 읽기 카운트 데이터가 미리 정해진 횟수에 도달하면 상기 메모리 블록을 리프레쉬(refresh) 하는 단계를 포함한다.
실시 예로서, 서든 파워 오프(sudden power off)가 발생한 경우에, 파워 온 시에 상기 불휘발성 메모리에 저장된 읽기 카운트 데이터를 로드하는 단계; 상기 로드된 읽기 카운트 데이터를 보상하는 단계; 및 상기 보상된 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트하는 단계를 더 포함한다.
본 발명에 따른 메모리 시스템은 소프트 프로그램에 의한 읽기 페일 미리 방지함으로, 메모리 시스템의 성능 및 신뢰성을 향상시킬 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명에 따른 메모리 시스템을 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 메모리 시스템(10)은 플래시 메모리(100) 및 메모리 컨트롤러(200)를 포함한다.
플래시 메모리(100)는 불휘발성 메모리로서, 메모리 컨트롤러(200)에 제어에 따라 쓰기, 읽기, 소거 등의 동작을 수행한다. 플래시 메모리(100)는 읽기 카운트 데이터(105)를 저장한다. 읽기 카운트 데이터(105)는 플래시 메모리(100)의 메타 영역에 저장될 수도 있고, 사용자 데이터 영역에 저장될 수도 있다. 읽기 카운트 데이터(105)는 플래시 메모리(100)에 대한 읽기 동작 횟수를 의미한다. 읽기 카운트 데이터(105)에 대해서는 이하에서 상세하게 설명된다.
메모리 컨트롤러(200)는 읽기 동작 시에 읽기 커맨드(RD_CMD), 어드레스(ADDR), 그리고 제어 신호(CTRL)를 상기 플래시 메모리(100)로 제공한다. 플래시 메모리(100)는 메모리 컨트롤러(200)로부터 읽기 커맨드 및 어드레스 등을 입력받고, 해당 워드 라인으로 읽기 전압을 제공한다.
메모리 컨트롤러(200)는 메모리 인터페이스(210), 호스트 인터페이스(220), ECC 회로(230), 중앙처리장치(CPU, 240), 그리고 버퍼 메모리(250)를 포함한다. 버퍼 메모리(250)는 중앙처리장치(240)의 워킹 메모리(working memory)로써 사용된다. 버퍼 메모리(250)는 랜덤 액세스 메모리(RAM; Random Access Memory)로 구현될 수 있다. 호스트 인터페이스(220)는 호스트와 데이터를 교환하는 데 필요한 프로토콜을 구비한다.
ECC 회로(230)는 플래시 메모리(100)에 저장된 데이터의 비트 에러를 분석하거나 정정하는데 사용된다. 메모리 인터페이스(210)는 플래시 메모리(100)와 직접 연결되며 커맨드, 어드레스, 데이터, 그리고 제어 신호를 주고 받는데 사용된다. 중앙처리장치(240)는 메모리 컨트롤러(200)의 데이터 교환을 위한 제반 제어 동작을 수행한다. 비록 도면에는 도시되지 않았지만, 반도체 메모리 장치(100)는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(도시되지 않음) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명에 따른 메모리 시스템(10)은 플래시 메모리(100)의 읽기 페일을 방지하기 위하여 읽기 카운트 데이터(105)를 플래시 메모리(100)에 저장한다. 메모리 컨트롤러(200)는 버퍼 메모리(250)를 사용하여, 플래시 메모리(100)의 읽기 동작 시마다 읽기 카운트 데이터(105)를 증가하고, 읽기 카운트 데이터(105)를 주기적으로 업 데이트한다. 본 발명에 따른 메모리 시스템(10)은 읽기 카운트 데이터(105)가 읽기 페일 허용 범위에 도달하면, 플래시 메모리(100)의 해당 메모리 블록을 리프레쉬(refresh) 한다. 본 발명에 의하면, 읽기 페일을 미리 방지할 수 있다.
또한, 본 발명에 따른 메모리 시스템(10)은 플래시 프로그램 사이클(flash program cycle) 및 리프레쉬 사이클(refresh cycle)의 기준이 되는 읽기 카운트 데이터(105)의 신뢰성을 높일 수 있다. 여기에서, 플래시 프로그램 사이클 및 리프레쉬 사이클에 대해서는 이하에서 상세하게 설명한다. 특히, 메모리 시스템(10)은 노말 동작 시에 읽기 카운트 데이터를 플래시 메모리(100)에 주기적으로 업 데이트하고, 서든 파워 오프(sudden power off) 시에 읽기 카운트 데이터를 보상함으로, 읽기 카운트 데이터(105)의 신뢰성을 높인다.
도 2는 도 1에 도시된 플래시 메모리를 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 플래시 메모리(100)는 메모리 셀 어레이(110), 데이터 입출력 회로(120), 어드레스 디코더(130), 그리고 제어 로직(140)을 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 블록(예를 들면, BLK1~BLK1024)을 포함한다. 각각의 메모리 블록은 복수의 페이지(page)로 구성된다. 각각의 페이지는 복수의 메모리 셀(memory cell)로 구성된다. 메모리 셀은 싱글 비트 데이 터(single bit data)를 저장하거나 멀티 비트 데이터(multi bit data)를 저장할 수 있다. 플래시 메모리는 메모리 블록 단위로 소거 동작을 수행하고, 페이지 단위로 읽기 또는 쓰기 동작을 수행한다.
도 2를 참조하면, 메모리 셀 어레이(110)는 복수의 섹션(section)으로 구분할 수 있다. 각각의 섹션은 복수의 메모리 블록으로 구성된다. 예를 들면, 제 1 섹션은 제 1 내지 제 4 메모리 블록(BLK1~BLK4)로 구성되고, 제 256 섹션은 제 1021 내지 제 1024 메모리 블록(BLK1021~BLK1024)으로 구성된다. 본 발명에서, 메모리 셀 어레이(110)를 섹션으로 구분하는 이유는 읽기 카운트 데이터를 보상하는 과정에서, 메모리 시스템(10)의 성능 저하를 방지하기 위함이다.
한편, 도 2에는 도시되어 있지 않지만, 각각의 메모리 블록은 스트링 선택 라인(SSL)에 연결되는 스트링 선택 트랜지스터, 복수의 워드 라인(WL)에 연결되는 메모리 셀, 그리고 접지 선택 라인(GSL)에 연결되는 접지 선택 트랜지스터를 포함한다. 스트링 선택 트랜지스터는 비트 라인(BL)에 연결되고, 접지 선택 트랜지스터는 공통 소스 라인(CSL)에 연결된다.
플래시 메모리(100)는 읽기 동작 시에, 스트링 선택 라인(SSL) 및 접지 선택 라인(GSL)에 전원 전압(Vcc)을 인가하고, 선택 워드 라인에 선택 읽기 전압(Vrd)을 인가하고, 비선택 워드 라인에 비선택 읽기 전압(Vread)을 인가한다. 여기에서, 비선택 읽기 전압(Vread)은 비선택 워드 라인에 연결되어 있는 메모리 셀을 턴 온(turn on) 하기에 충분한 전압이다.
데이터 입출력 회로(120)는 복수의 비트 라인(BL)을 통해 메모리 셀 어레 이(110)와 연결된다. 데이터 입출력 회로(120)는 데이터 입출력 라인(도시되지 않음)을 통해 데이터(DATA)를 입력받는다. 입력 데이터는 해당 메모리 셀에 저장된다. 한편, 데이터 입출력 회로(120)는 메모리 셀에 저장된 데이터를 비트 라인(BL)을 통해 읽어낸다. 읽은 데이터는 데이터 입출력 라인을 통해 외부로 출력된다.
어드레스 디코더(130)는 복수의 워드 라인(WL)을 통해 메모리 셀 어레이(110)와 연결된다. 어드레스 디코더(130)는 어드레스(ADDR)를 입력받고 메모리 블록 또는 페이지를 선택한다. 여기에서, 메모리 블록을 선택하기 위한 어드레스를 블록 어드레스(block address)라고, 페이지를 선택하기 위한 어드레스를 페이지 어드레스(page address)라 한다.
제어 로직(140)은 커맨드(CMD) 및 제어 신호(CTRL)에 응답하여 데이터 입출력 회로(120) 및 어드레스 디코더(130)를 제어한다. 여기에서, 제어 신호(CTRL)는 메모리 인터페이스(도 1 참조, 210)로부터 제공된다. 한편, 제어 로직(140)은 쓰기, 읽기, 소거 동작 시에 워드 라인으로 제공될 바이어스 전압(bias voltage)을 발생한다.
읽기 동작 시에, 제어 로직(140)은 선택 워드 라인으로 제공되는 선택 읽기 전압(Vrd)과 비선택 워드 라인으로 제공되는 비선택 읽기 전압(Vread)을 발생한다. 일반적으로, 비선택 읽기 전압(Vread)은 선택 읽기 전압(Vrd)보다 높은 전압 레벨을 갖는다.
도 3은 도 2에 도시된 플래시 메모리의 셀 스트링 및 읽기 페일을 설명하기 위한 도면이다. 도 3을 참조하면, 공통 소스 라인(CSL)과 비트 라인(BLk) 사이에 접지 선택 트랜지스터, 복수 메모리 셀, 그리고 스트링 선택 트랜지스터가 직렬로 연결된다. 접지 선택 트랜지스터에는 접지 선택 라인(GSL)이 연결되고, 복수의 메모리 셀에는 복수의 워드 라인(WL0~WL31)이 연결되며, 스트링 선택 트랜지스터에는 스트링 선택 라인(SSL)이 연결된다.
읽기 동작 시에, 선택 워드 라인(예를 들면, WL8)에는 선택 읽기 전압(Vrd, 약 0V)이 인가되며, 비선택 워드 라인(WL0~WL7, WL9~WL31)에는 비선택 읽기 전압(Vread, 약 4.5V)이 인가된다. 여기에서, 비선택 읽기 전압(Vread)은 비선택 워드 라인(WL0~WL7, WL9~WL31)에 연결되어 있는 메모리 셀을 턴 온(turn on) 하기에 충분한 전압이다.
선택 메모리 셀(M8)이 소프트 프로그램(soft program)된 경우에, 선택 메모리 셀(M8)에서 읽기 페일이 발생한다. 여기에서, 소프트 프로그램이란 읽기 디스터브(read disturb) 등에 의해 소거 상태(E)에 있는 메모리 셀(M8)의 문턱 전압이 상승하는 것을 의미한다. 도 3에서, 빗금 친 부분은 소거 상태(E)의 메모리 셀이 소프트 프로그램 상태로 된 것을 의미한다. 소프트 프로그램에 의해 선택 메모리 셀(M8)의 문턱 전압이 선택 읽기 전압(Vrd)보다 높아지면, 읽기 페일이 발생한다. 즉 소거 상태(E)의 메모리 셀이 프로그램 상태(P)인 것으로 읽혀지게 된다. 이러한 비트 에러는 소프트 프로그램에 의한 읽기 페일이라고 한다.
도 4 및 도 5는 선택 메모리 셀이 소프트 프로그램되는 예를 보여준다. 도 4를 참조하면, 소거 상태(E)의 메모리 셀은 -3V와 -1V 사이의 문턱 전압을 갖고, 프로그램 상태(P)의 메모리 셀은 +1V와 +3V의 문턱 전압을 갖는다. 선택 워드 라인 (도 3 참조, WL8)으로 제공되는 선택 읽기 전압(Vrd)은 약 0V이다. 비선택 워드 라인(도 3 참조, WL0~WL7, WL9~WL31)으로 제공되는 비선택 읽기 전압(Vread)은 약 4.5V이다.
한편, 플래시 메모리는 페이지 단위로 읽기 동작을 수행한다. 메모리 블록 내의 모든 페이지(예를 들면, 32 pages)에 대한 읽기 동작이 수행된다고 가정하자. 이때 각각의 워드 라인에는 1 번의 선택 읽기 전압(Vrd)과 31 번의 비선택 읽기 전압(Vread)이 인가된다. 메모리 셀의 게이트에 전원 전압(Vcc)보다 높은 비선택 읽기 전압(Vread)이 반복해서 인가되면, 메모리 셀은 스트레스(stress)를 받게 된다.
도 5에서 보는 바와 같이, 컨트롤 게이트(CG; Control Gate)에 비선택 읽기 전압(Vread)이 계속해서 인가되면, 채널에 존재하는 전자가 플로팅 게이트(FG; Floating Gate)로 유입될 수 있다. 이때 소거 상태(E)의 메모리 셀(on cell)의 문턱 전압이 상승하게 된다. 소거 상태(E)의 메모리 셀의 문턱 전압이 -1V보다 높아지면, 그 메모리 셀은 충분한 읽기 마진을 갖지 못하게 된다. 그 메모리 셀의 문턱 전압이 선택 읽기 전압(Vrd)보다 높아지면, 프로그램 상태(P)의 메모리 셀로 읽혀질 수도 있다.
이와 같이 비선택 읽기 전압(Vread)의 반복적인 인가로 인해 메모리 셀의 문턱 전압이 상승하면, 소프트 프로그램에 의한 읽기 페일이 발생한다. 도 4의 빗금 친 부분은 메모리 셀이 문턱 전압이 상승한 것을 보여준다. 소프트 프로그램에 의한 읽기 페일로 인해 메모리 셀의 문턱 전압이 상승하면, 메모리 셀은 데이터 저장 능력을 잃게 된다.
한편, 플래시 메모리(도 1 참조, 100)는 데이터 저장 용량을 늘임과 동시에, 읽기 및 쓰기 속도를 빠르게 하고, 중요 데이터를 안전하게 보호하기 위한 요구가 꾸준히 제기되고 있다. 이러한 요구를 만족하기 위해, 플래시 메모리는 메모리 셀 어레이 내에 멀티 비트 데이터를 저장하는 메모리 블록(이하, MLC 블록이라 함)과 싱글 비트 데이터를 저장하는 메모리 블록(이하, SLC 블록이라 함)을 동시에 갖도록 설계되고 있다.
도 6은 본 발명에 따른 메모리 시스템의 읽기 페일 방지 방법을 보여주는 순서도이다. 본 발명에 따른 읽기 페일 방지 방법에 의하면, 메모리 시스템(도 1 참조, 10)은 플래시 프로그램 사이클(flash program cycle) 및 리프레쉬 사이클(refresh cycle)을 통해 소프트 프로그램에 의한 읽기 페일을 미리 방지한다.
S110 단계에서, 어느 하나의 메모리 블록 BLKn에 대한 읽기 동작이 수행된다. 여기에서, 읽기 동작은 메모리 블록 BLKn의 어느 선택 페이지에 대해 수행된다. 선택 페이지의 워드 라인에는 선택 읽기 전압(Vrd)이 제공되고, 나머지 비선택 페이지의 워드 라인에는 비선택 읽기 전압(Vread)이 제공된다.
S120 단계에서, 메모리 블록 BLKn에 대한 읽기 카운트 데이터를 증가한다. 도 6에는 도시되어 있지 않지만, 플래시 메모리(도 1 참조, 100)에 저장되어 있는 읽기 카운트 데이터(105)는 파워 온(power on) 시에 버퍼 메모리(도 1 참조, 250)로 로드된다. 메모리 컨트롤러(도 1 참조, 120)는 메모리 블록 BLKn에 대한 읽기 동작이 수행될 때마다, 읽기 카운트 데이터를 증가한다.
S130 단계에서, 읽기 카운트 데이터가 플래시 프로그램 사이클(flash program cycle)인지를 판단한다. 여기에서, 플래시 프로그램 사이클이란 버퍼 메모리(250)에 저장되어 있는 읽기 카운터 데이터를 플래시 메모리(100)에 주기적으로 프로그램하기 위한 사이클을 의미한다. 예를 들어, 플래시 프로그램 사이클이 100이면, 메모리 시스템(10)은 읽기 카운트 데이터가 100, 200, 300, … 등에 도달할 때마다, 읽기 카운트 데이터를 플래시 메모리(100)에 업 데이트한다. 만약 플래시 프로그램 사이클이 1000이면, 1000, 2000, 3000, … 등에 도달할 때마다, 읽기 카운트 데이터를 플래시 메모리(100)에 업 데이트한다.
S140 단계에서, 읽기 카운트 데이터가 플래시 메모리(100)에 프로그램된다. 즉, S130 단계에서 읽기 카운트 데이터가 플래시 프로그램 사이클에 도달하면, S140 단계에서 메모리 시스템(10)은 버퍼 메모리(250)에 저장된 읽기 카운트 데이터를 플래시 메모리(100)에 프로그램한다.
S150 단계에서, 읽기 카운트 데이터가 리프레쉬 사이클(refresh cycle)인지를 판단한다. 여기에서, 리프레쉬 사이클이란 메모리 블록 BLKn을 재프로그램(reprogram)하기 위한 사이클을 의미한다. 리프레쉬 사이클은 PE(Program-Erase cycle)에 따라 달라질 수 있다. 표 1은 PE 사이클에 대한 리프레쉬 사이클을 예시적으로 보여준다.
PE Cycle Refresh Cycle
0.1K 500K
0.5K 300K
1.0K 100K
5.0K 30K
5.0K 미만 10K
표 1에서, PE 사이클이 0.1K(K=1000)이면 리프레쉬 사이클은 500K이고, 0.5K이면 300K이고, 1.0K이면 100K이고, 5.0K이면 30K이고, 5.0K미만이면 10K이다. 한편, 리프레쉬 사이클은 SLC 플래시 메모리 또는 MLC 플래시 메모리에 따라 달라질 수도 있다. 일반적으로 리프레쉬 사이클은 MLC 플래시 메모리보다 SLC 플래시 메모리가 비트 에러에 대한 안정성이 더 높기 때문에 더 크게 설정된다.
S160 단계에서, 읽기 카운트 데이터가 리프레쉬 사이클에 도달하면 메모리 블록 BLKn을 리프레쉬 하고, 읽기 카운트 데이터를 초기화한다. 메모리 블록 BLKn을 리프레쉬 하는 방법에는 여러 가지가 있다. 그 중 한 가지 방법은 메모리 블록 BLKn을 다른 메모리 블록으로 프로그램하는 것이다. 다른 방법은 메모리 블록 BLKn을 다른 메모리 블록으로 임시로 옮긴 후에, 메모리 블록 BLKn을 소거하고, 임시로 옮긴 데이터를 다시 메모리 블록 BLKn으로 프로그램하는 것이다. 어느 방법을 사용하더라도 소프트 프로그램에 의한 읽기 페일을 미리 방지할 수 있다.
S170 단계에서, 읽기 카운트 데이터가 플래시 메모리(100)에 프로그램된다. 즉, S150 단계에서 초기화된 읽기 카운트 데이터를 플래시 메모리(100)에 프로그램한다. S170 단계는 플래시 메모리(100)에 저장되어 있는 이전 읽기 카운트 데이터를 초기화하기 위한 동작이다.
본 발명에 따른 읽기 페일 방지 방법은 플래시 메모리(100)의 읽기 카운트 데이터를 주기적으로 업 데이트하고, 리프레쉬 사이클에 따라 플래시 메모리(100)를 리프레쉬 함으로, 소프트 프로그램에 의한 읽기 페일을 미리 방지할 수 있다.
도 7은 도 1에 도시된 메모리 시스템의 읽기 페일 방지 방법의 다른 실시 예를 보여주는 순서도이다. 메모리 시스템(도 1 참조, 10)은 슬립 모드(sleep mode), 아이들 모드(idle mode), 대기 모드(standby mode), 동작 모드(active mode) 등의 여러 가지 모드를 갖는다.
모드 변경이 있는 경우에(S210), 메모리 시스템(10)은 읽기 카운트 데이터를 버퍼 메모리(도 1 참조, 250)로부터 플래시 메모리(도 1 참조, 110)로 프로그램한다(220). 여기에서, 읽기 카운트 데이터를 플래시 메모리(100)에 프로그램하는 동작은 특정 모드 변경 시에만 수행될 수도 있다. 예를 들면, 동작 모드(active mode)에서 아이들 모드(idle mode) 또는 슬립 모드(sleep mode) 또는 대기 모드(standby mode)로 변경될 때만 수행될 수도 있다.
도 8은 서든 파워 오프(sudden power off)가 발생한 경우에 읽기 카운트 데이터를 보상하는 방법을 설명하기 위한 순서도이다. 여기에서, 서든 파워 오프란 메모리 시스템(도 1 참조, 10)의 동작 중에, 부주의 등 여러 가지 이유로 원치않게 전원이 갑자기 차단되는 경우를 뜻한다. 본 발명에 따른 메모리 시스템(도 1 참조, 10)은 서든 파워 오프 시에 읽기 카운트 데이터를 적정한 값으로 보상함으로 소프트 프로그램에 의한 읽기 페일을 좀 더 효과적으로 방지할 수 있도록 해준다.
S310 단계에서, 메모리 시스템(도 1 참조, 10)의 동작 중에, 메모리 시스템(10)에서 서든 파워 오프(sudden power off)가 발생한다고 가정한다. 서든 파워 오프가 발생하면, 플래시 메모리(도 1 참조, 100)에 저장된 데이터는 유지되지만, 버퍼 메모리(도 1 참조, 250)에 저장된 데이터는 잃어버린다. 따라서 서든 파워 오프가 발생하면, 버퍼 메모리(250)에 저장되어 있는 읽기 카운트 데이터는 소실되고, 플래시 메모리(100)에 저장되어 있는 읽기 카운트 데이터는 유지된다.
메모리 시스템(10)의 초기화 동작 시에, 플래시 메모리(100)에 저장된 읽기 카운트 데이터는 버퍼 메모리(250)에 로드된다. 플래시 메모리(100)에 대한 읽기 동작이 수행될 때마다, 버퍼 메모리(250)에 저장된 읽기 카운트 데이터는 증가한다.
그러나 플래시 메모리(100)에 저장된 읽기 카운트 데이터는 별도의 플래시 프로그램 동작에 의해서만 업 데이트 된다. 따라서 서든 파워 오프가 발생하면 버퍼 메모리(110)에 저장된 읽기 카운트 데이터는 소실되기 때문에, 서든 파워 오프 당시의 읽기 카운트 데이터를 알 수 없다. 본 발명에 따른 메모리 시스템(10)은 서든 파워 오프가 발생한 경우에, 읽기 카운트 데이터를 보상할 수 있는 방법을 제공한다.
S320 단계에서, 메모리 시스템(10)은 다시 파워 온(power on) 된다. 여기에서, 파워 온(power on) 동작은 서든 파워 오프가 발생한 다음에 수행되는 초기화 동작이다. S330 단계에서, 읽기 카운트 데이터는 플래시 메모리(100)로부터 버퍼 메모리(250)로 로드된다.
S340 단계에서, 메모리 블록 BLKn에 대한 읽기 동작이 수행된다. S350 단계에서, 메모리 블록 BLKn이 속한 섹션(section)을 검출한다. 여기에서, 섹션(section)은 도 2에 도시된 바와 같이 복수의 메모리 블록(예를 들면, BLK1~BLK4)을 포함한다.
S360 단계에서, 메모리 시스템(10)은 검출된 섹션의 모든 메모리 블록의 읽기 카운트 데이터를 보상한다. 예를 들어, 읽기 카운트 데이터의 플래시 프로그램 사이클이 100이고, 검출된 섹션이 section1(도 2 참조)이고, 메모리 블록 BLK1~BLK4의 보상 전 읽기 카운트 데이터가 표 2와 같다고 가정하자.
Section Block Read Count before conpensation Read Count after conpensation
1 BLK1 120 (120+50)
BLK2 319 (319+50)
BLK3 418 (418+50)
BLK4 502 (502+50)
표 2에서, 읽기 카운트 데이터의 보상 값은 플래시 프로그램 사이클 100의 중간값인 50으로 설정되어 있다. 보상 후의 읽기 카운트 데이터는 각각 170, 369, 468, 552로 설정된다. 그러나 읽기 카운터 데이터의 보상 값은 플래시 프로그램 사이클 범위 내의 다른 값으로도 설정될 수 있다.
위의 표 2에서, 메모리 블록 BLK1에 대한 읽기 동작이 수행되면, 제 1 섹션에 포함되어 있는 메모리 블록 BLK1~BLK4에 대한 읽기 카운트 데이터를 보상한다. 다음에, 메모리 블록 BLK1021에 대한 읽기 동작이 수행되면, 제 256 섹션에 포함되어 있는 메모리 블록 BLK1021~BLK1024에 대한 읽기 카운트 데이터를 보상한다.
본 발명에 따른 메모리 시스템(10)은 서든 파워 오프 시에 모든 데이터 블록(도 2 참조, BLK1~BLK1024)에 대한 읽기 카운트 데이터를 보상하지 않는다. 대신에 읽기 동작을 수행하는 메모리 블록을 포함하는 섹션에 대한 읽기 카운트 데이터를 보상하는 동작이 수행된다. 본 발명에 의하면, 모든 메모리 블록에 대한 읽기 카운트 데이터를 보상함으로 인해 야기되는 메모리 시스템의 성능 저하를 방지할 수 있다.
한편, 본 발명에 따른 메모리 시스템(10)은 서든 파워 오프에 대비하기 위한 보조 베터리를 포함할 수 있다. 서든 파워 오프가 발생하면, 메모리 시스템(10)은 보조 베터리를 사용하여, 읽기 카운트 데이터를 플래시 메모리(100)에 업 데이트 한다.
본 발명에 따른 메모리 시스템(10)은 MLC 플래시 메모리에도 적용될 수 있다. 도 9는 MLC 플래시 메모리의 셀 문턱 전압 분포를 예시적으로 보여주는 다이어그램이다. 도 9는 네 개의 레벨을 갖는 멀티 레벨 셀의 문턱 전압 분포를 보여준다. 메모리 셀은 네 개의 상태(E, P1, P2, P3) 중에서 어느 하나를 갖는다.
읽기 동작 시에 선택 워드 라인(도 3 참조, WL8)으로 선택 읽기 전압(Vrd1, Vrd2, Vrd3)이 제공되고, 비선택 워드 라인(도 3 참조, WL0~WL7, WL9~WL31)으로 비선택 읽기 전압(Vread)이 제공된다. 제 1 선택 읽기 전압(Vrd1)은 소거 상태(E)와 제 1 프로그램 상태(P1) 사이의 전압 레벨을 갖고, 제 2 선택 읽기 전압(Vrd2)은 제 1 및 제 2 프로그램 상태(P1, P2) 사이의 전압 레벨을 갖고, 제 3 선택 읽기 전압(Vrd3)은 제 2 및 제 3 프로그램 상태(P2, P3) 사이의 전압 레벨을 갖는다.
한편, 프로그램 검증 동작 시에 선택 워드 라인으로 프로그램 검증 전압(Vvf1, Vvf2, Vvf3)이 제공된다. 제 1 프로그램 검증 전압(Vvf1)은 메모리 셀을 제 1 프로그램 상태(P1)로 프로그램하기 위한 전압이고, 제 2 프로그램 검증 전압(Vvf2)은 제 2 프로그램 상태(P2)로 프로그램하기 위한 전압이고, 제 3 프로그램 검증 전압(Vvf3)은 제 3 프로그램 상태(P3)로 프로그램하기 위한 전압이다.
도 10은 플래시 메모리의 데이터 신뢰성을 확보하는 방법을 보여주는 순서도이다. 도 10은 소프트 프로그램에 의한 읽기 페일 이외의 비트 에러를 치유하는 방법을 보여준다. 플래시 메모리는 앞에서 설명한 소프트 프로그램에 따른 비트 에러 이외에, 프로그램 디스터브(program disturb) 또는 읽기 디스터브(read disturb) 등을 원인으로 비트 에러가 발생할 수 있다.
플래시 메모리는 이러한 비트 에러를 치유하기 위해 ECC 회로를 사용한다. 그러나 ECC 회로가 비트 에러를 치유할 수 있는 범위는 소정의 비트 수에 불과하다. 예를 들어, ECC 회로가 4비트 에러를 치유할 수 있는 경우에, 4비트보다 많은 비트 에러는 더 이상 복구할 수 없다. 도 10은 위와 같은 경우에 에러 비트를 복구할 수 있는 방법을 보여준다.
S410 단계에서, 비트 에러를 정정할 수 있는지를 판단한다. 위의 예에서, 비트 에러의 수가 4비트보다 많은 경우에는 정정할 수 없는 에러이고, 4비트 이하인 경우에는 정정할 수 있는 에러이다. 비트 에러를 정정할 수 있으면, ECC 회로를 사용하여 비트 에러를 정정한다. 그러나 비트 에러를 정정할 수 없으면, 읽기 전압(Vrd) 레벨을 바꾸어 주고 에러 검출 및 정정 동작을 수행한다.
S420 단계에서, 플래시 메모리는 제 1 읽기 전압(Vrd1)을 바꾸어 주고, 에러 검출 및 정정 동작을 수행한다. 플래시 메모리 셀은 셀 스트링 구조상, 프로그램 디스터브 또는 읽기 디스터브 등으로 인해 소거 상태의 메모리 셀이 오버 프로그램 되는 경우가 발생할 수 있다. 이때 도 10에 도시된 바와 같이 제 1 읽기 전압(Vrd1)을 기준으로 읽기 동작을 수행하면, 오버 프로그램된 일부의 메모리 셀이 오프 셀로 읽힐 수 있다. 만약 오버 프로그램된 메모리 셀이 ECC 정정 범위를 벗어난 경우에는, 종래의 방법으로는 복구할 방법이 없다. 본 발명은 오버 프로그램된 메모리 셀이 온 셀로 읽히도록 제 1 읽기 전압(Vrd1) 레벨을 소정의 전압 단위로 증가해가면서 에러 검출 및 정정 동작을 수행한다.
S430 단계에서, 제 1 읽기 전압(Vrd1)을 바꾸어 준 후에, 비트 에러가 존재하는지를 판단한다. 비트 에러가 존재하지 않으면, 비트 에러를 치유하는 과정은 종료된다. 그러나 비트 에러가 존재하면, 제 1 읽기 전압(Vrd1)을 다시 바꾸어 준다. S440 단계에서, ECC 루프 횟수가 M(M은 자연수)인지 여부를 판단한다.
S450 단계에서, ECC 루프 회수가 M번 반복되면, 제 1 내지 제 3 읽기 전압(Vrd1, Vrd2, Vrd3)을 바꾸어 주고, 에러 검출 및 정정 동작을 수행한다. 여기에서, 제 1 내지 제 3 읽기 전압(Vrd1, Vrd2, Vrd3)의 레벨은 +a, -a, +b, -b (a, b는 자연수) 등과 같이 교대로 바꾸어 줄 수 있다. 이는 메모리 셀의 문턱 전압이 오른쪽으로 이동했는지 왼쪽으로 이동했는지 정확하게 알 수 없기 때문이다.
S460 단계에서, 제 1 내지 제 3 읽기 전압(Vrd1, Vrd2, Vrd3)을 바꾸어 준 후에, 비트 에러가 존재하는지를 판단한다. 비트 에러가 존재하지 않으면, 비트 에러를 치유하는 과정은 종료된다. 그러나 비트 에러가 존재하면, 제 1 내지 제 3 읽기 전압(Vrd1, Vrd2, Vrd3)을 다시 바꾸어 준다. S470 단계에서, ECC 루프 횟수가 N(N은 자연수)인지 여부를 판단한다. 본 발명에 따른 메모리 시스템은 온도 변화로 인한 비트 에러 이외에, 다른 원인으로 인한 비트 에러도 치유할 수 있다.
도 11은 본 발명에 따른 메모리 시스템을 포함하는 컴퓨터 시스템을 보여주는 블록도이다. 도 11을 참조하면, 컴퓨터 시스템(700)은 메모리 시스템(710), 전원 장치(720), 중앙처리장치(730), 버퍼 메모리(740), 사용자 인터페이스(750), 그리고 시스템 버스(760)를 포함한다.
메모리 시스템(710)은 플래시 메모리(711) 및 메모리 컨트롤러(712)를 포함한다. 메모리 시스템(710)은 플래시 메모리 단품을 사용하여 설계될 수도 있고, 원낸드(One NANDTM)와 같이 하나의 집적 회로로 구현될 수도 있다. 플래시 메모리(711)는 메모리 컨트롤러(712)로부터 읽기 커맨드 및 어드레스 등을 입력받고, 에러 정정 코드(ECC)를 분석하거나, 선택 읽기 전압(Vrd) 또는 비선택 읽기 전압(Vread)의 레벨을 제어한다.
메모리 시스템(710)은 시스템 버스(760)를 통해, 전원 장치(720), 중앙처리장치(730), 버퍼 메모리(740), 그리고 유저 인터페이스(750)에 전기적으로 연결된다. 플래시 메모리(711)에는 사용자 인터페이스(750)를 통해서 제공되거나 또는 중앙처리장치(730)에 의해서 처리된 데이터가 메모리 컨트롤러(712)를 통해 저장된다.
만일 메모리 시스템(710)이 반도체 디스크 장치(SSD)로 장착되는 경우, 메모리 시스템(700)의 부팅 속도가 획기적으로 빨라질 것이다. 비록 도면에는 도시되지 않았지만, 도 11에 도시된 컴퓨터 시스템은 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor) 등에 사용될 수 있다.
본 발명에 따른 메모리 시스템은 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 및/또는 메모리 컨트롤러는 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은 본 발명에 따른 메모리 시스템을 예시적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 플래시 메모리를 보여주는 블록도이다.
도 3은 도 2에 도시된 플래시 메모리의 셀 스트링 및 소프트 프로그램(soft program)으로 인한 읽기 페일을 설명하기 위한 도면이다.
도 4 및 도 5는 도 3에 도시된 메모리 셀의 소프트 프로그램을 설명하기 위한 도면이다.
도 6은 본 발명에 따른 메모리 시스템의 읽기 페일 방지 방법을 보여주는 순서도이다.
도 7은 도 1에 도시된 메모리 시스템의 읽기 페일 방지 방법의 다른 실시 예를 보여주는 순서도이다.
도 8은 서든 파워 오프(sudden power off)가 발생한 경우에 읽기 카운트 데이터를 보상하는 방법을 설명하기 위한 순서도이다.
도 9는 MLC 플래시 메모리의 셀 문턱 전압 분포를 예시적으로 보여주는 다이어그램이다.
도 10은 플래시 메모리의 데이터 신뢰성을 확보하는 방법을 보여주는 순서도이다.
도 11은 본 발명에 따른 메모리 시스템을 포함하는 컴퓨터 시스템을 보여주는 블록도이다.

Claims (20)

  1. 액세스 카운트 값을 저장하는 불휘발성 메모리; 및
    상기 불휘발성 메모리에 대한 액세스 동작 시에, 상기 액세스 카운트 값을 증가하기 위한 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는 상기 액세스 카운트 값을 상기 불휘발성 메모리에 주기적으로 업 데이트하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 액세스 동작은 읽기 동작이고, 상기 액세스 카운트 값은 읽기 카운트 데이터인 것을 특징으로 하는 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)가 발생한 경우에, 상기 읽기 카운트 데이터를 보상하는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 메모리 컨트롤러는 서든 파워 오프가 발생한 경우에, 파워 온 시에 상기 읽기 카운트 데이터를 보상하고, 상기 보상된 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트하는 메모리 시스템.
  5. 제 2 항에 있어서,
    상기 메모리 컨트롤러는 모드 변경 시에 상기 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트하는 메모리 시스템.
  6. 제 2 항에 있어서,
    상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)에 대비하기 위한 배터리를 포함하고, 상기 서든 파워 오프 시에 상기 배터리를 사용하여 상기 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트하는 메모리 시스템.
  7. 제 2 항에 있어서,
    상기 불휘발성 메모리는 복수의 메모리 블록을 갖고, 각각의 메모리 블록에 대한 읽기 카운트 데이터를 저장하고,
    상기 메모리 컨트롤러는 상기 읽기 카운트 데이터가 미리 정해진 횟수에 도달하면 해당 메모리 블록을 리프레쉬(refresh) 하는 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 불휘발성 메모리는 상기 읽기 카운트 데이터를 메타 블록(meta block)에 저장하는 메모리 시스템.
  9. 제 7 항에 있어서,
    상기 불휘발성 메모리는 상기 읽기 카운트 데이터를 데이터 블록(data block)에 저장하는 메모리 시스템.
  10. 제 7 항에 있어서,
    상기 메모리 컨트롤러는 파워 온 시에 상기 읽기 카운트 데이터를 로드하기 하기 위한 버퍼 메모리를 포함하고, 상기 버퍼 메모리는 상기 각각의 메모리 블록에 대한 읽기 동작 시에 읽기 카운트 데이터를 증가하는 메모리 시스템.
  11. 제 10 항에 있어서,
    상기 버퍼 메모리는 서든 파워 오프가 발생한 경우에, 파워 온 시에 상기 불휘발성 메모리에 저장된 읽기 카운트 데이터를 로드하고, 상기 로드된 읽기 카운트 데이터를 보상하고, 상기 보상된 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트하는 메모리 시스템.
  12. 제 1 항에 있어서,
    상기 불휘발성 메모리는 플래시 메모리인 것을 특징으로 하는 메모리 시스템.
  13. 제 1 항에 있어서,
    상기 불휘발성 메모리 및 상기 메모리 컨트롤러는 하나의 반도체 집적 회로로 구현되는 메모리 시스템.
  14. 복수의 섹션을 갖고, 각각의 섹션은 복수의 메모리 블록을 갖고, 각각의 메모리 블록에 대한 읽기 카운트 데이터를 저장하는 제 1 메모리; 및
    파워 온 시에 상기 제 1 메모리로부터 상기 읽기 카운트 데이터를 로드하기 위한 제 2 메모리를 갖고, 상기 각각의 메모리 블록에 대한 읽기 동작 시에 상기 로드된 읽기 카운트 데이터를 증가하기 위한 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는 상기 제 2 메모리에 저장된 읽기 카운트 데이터를 상기 제 1 메모리에 주기적으로 업 데이트하는 메모리 시스템.
  15. 제 14 항에 있어서,
    상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)가 발생한 다음에, 파워 온 시에 상기 제 1 메모리에 저장된 읽기 카운트 데이터를 상기 제 2 메모리로 로드하는 메모리 시스템.
  16. 제 15 항에 있어서,
    상기 메모리 컨트롤러는 읽기 동작이 수행되는 블록을 포함하는 섹션을 검출하고, 상기 검출된 섹션의 블록들에 대한 읽기 카운트 데이터를 보상하는 메모리 시스템.
  17. 제 14 항에 있어서,
    상기 메모리 컨트롤러는 서든 파워 오프(sudden power off)에 대비하기 위한 배터리를 더 포함하고, 상기 서든 파워 오프 시에 상기 배터리를 사용하여 상기 제 2 메모리에 저장된 읽기 카운트 데이터를 상기 제 1 메모리에 업 데이트하는 메모리 시스템.
  18. 제 14 항에 있어서,
    상기 메모리 컨트롤러는 모드 변경 시에 상기 제 2 메모리에 저장된 읽기 카운트 데이터를 상기 제 1 메모리에 업 데이트하는 메모리 시스템.
  19. 메모리 시스템의 읽기 페일 방지 방법에 있어서:
    상기 메모리 시스템은 메모리 블록에 대한 읽기 카운트 데이터를 저장하는 불휘발성 메모리; 및 상기 읽기 카운트 데이터를 업 데이트하기 위한 메모리 컨트롤러를 포함하고,
    상기 메모리 시스템의 읽기 페일 방지 방법은
    상기 읽기 카운트 데이터를 상기 불휘발성 메모리에 주기적으로 업 데이트하는 단계; 및
    상기 읽기 카운트 데이터가 미리 정해진 횟수에 도달하면 상기 메모리 블록을 리프레쉬(refresh) 하는 단계를 포함하는 읽기 페일 방지 방법.
  20. 제 19 항에 있어서,
    서든 파워 오프(sudden power off)가 발생한 경우에,
    파워 온 시에 상기 불휘발성 메모리에 저장된 읽기 카운트 데이터를 로드하는 단계;
    상기 로드된 읽기 카운트 데이터를 보상하는 단계; 및
    상기 보상된 읽기 카운트 데이터를 상기 불휘발성 메모리에 업 데이트하는 단계를 더 포함하는 읽기 페일 방지 방법.
KR1020080055641A 1988-06-13 2008-06-13 메모리 시스템 및 그것의 읽기 페일 방지 방법 KR20090129624A (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020080055641A KR20090129624A (ko) 2008-06-13 2008-06-13 메모리 시스템 및 그것의 읽기 페일 방지 방법
US12/457,485 US8027194B2 (en) 1988-06-13 2009-06-12 Memory system and method of accessing a semiconductor memory device
CN200910205766.2A CN101673581B (zh) 2008-06-13 2009-06-15 存取半导体存储设备的存储系统和方法
US13/137,401 US8565021B2 (en) 2008-06-13 2011-08-11 Memory system and method of accessing a semiconductor memory device
US13/137,409 US8638585B2 (en) 2008-06-13 2011-08-12 Memory system and method of accessing a semiconductor memory device
US13/137,425 US8625344B2 (en) 2008-06-13 2011-08-15 Memory system and method of accessing a semiconductor memory device
US13/137,424 US8705272B2 (en) 2008-06-13 2011-08-15 Memory system and method of accessing a semiconductor memory device
US13/137,422 US8614919B2 (en) 2008-06-13 2011-08-15 Memory system and method of accessing a semiconductor memory device
US13/137,423 US8760918B2 (en) 2008-06-13 2011-08-15 Memory system and method of accessing a semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080055641A KR20090129624A (ko) 2008-06-13 2008-06-13 메모리 시스템 및 그것의 읽기 페일 방지 방법

Publications (1)

Publication Number Publication Date
KR20090129624A true KR20090129624A (ko) 2009-12-17

Family

ID=41689532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080055641A KR20090129624A (ko) 1988-06-13 2008-06-13 메모리 시스템 및 그것의 읽기 페일 방지 방법

Country Status (1)

Country Link
KR (1) KR20090129624A (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100983A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Resilient register file circuit for dynamic variation tolerance and method of operating the same
KR20140028543A (ko) * 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR20150039000A (ko) * 2013-10-01 2015-04-09 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
US9087554B1 (en) 2012-12-21 2015-07-21 Samsung Electronics Co., Ltd. Memory device, method for performing refresh operation of the memory device, and system including the same
KR20150099218A (ko) * 2014-02-21 2015-08-31 삼성전자주식회사 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법
US9361997B2 (en) 2014-08-19 2016-06-07 Samsung Electronics Co., Ltd. Storage devices and methods of operating storage devices
US9613687B2 (en) 2013-02-06 2017-04-04 Samsung Electronics Co., Ltd. Memory, memory controller, memory system, method of memory, memory controller and memory system
US9678827B2 (en) 2014-10-07 2017-06-13 SK Hynix Inc. Access counts for performing data inspection operations in data storage device
US9685206B2 (en) 2012-07-23 2017-06-20 Samsung Electronics Co., Ltd. Memory device, memory system, and method of controlling read voltage of the memory device
KR20200016670A (ko) * 2018-08-07 2020-02-17 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 저장 장치 및 그 동작 방법
US11079952B2 (en) 2019-03-28 2021-08-03 SK Hynix Inc. Data storage device performing scan operations on memory regions to move data and operation method thereof
US11656990B2 (en) 2020-09-11 2023-05-23 SK Hynix Inc. Memory system and operating method thereof

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013100983A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Resilient register file circuit for dynamic variation tolerance and method of operating the same
US9772903B2 (en) 2011-12-28 2017-09-26 Intel Corporation Resilient register file circuit for dynamic variation tolerance and method of operating the same
US9329918B2 (en) 2011-12-28 2016-05-03 Intel Corporation Resilient register file circuit for dynamic variation tolerance and method of operating the same
US9685206B2 (en) 2012-07-23 2017-06-20 Samsung Electronics Co., Ltd. Memory device, memory system, and method of controlling read voltage of the memory device
KR20140028543A (ko) * 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9087554B1 (en) 2012-12-21 2015-07-21 Samsung Electronics Co., Ltd. Memory device, method for performing refresh operation of the memory device, and system including the same
US9171605B1 (en) 2012-12-21 2015-10-27 Samsung Electronics Co., Ltd. Concentrated address detecting method of semiconductor device and concentrated address detecting circuit using the same
US9613687B2 (en) 2013-02-06 2017-04-04 Samsung Electronics Co., Ltd. Memory, memory controller, memory system, method of memory, memory controller and memory system
US9378137B2 (en) 2013-10-01 2016-06-28 Samsung Electronics Co., Ltd. Storage and programming method thereof
KR20150039000A (ko) * 2013-10-01 2015-04-09 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
US9875793B2 (en) 2013-10-01 2018-01-23 Samsung Electronics Co., Ltd. Storage and programming method thereof
KR20150099218A (ko) * 2014-02-21 2015-08-31 삼성전자주식회사 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법
US9502128B2 (en) 2014-08-19 2016-11-22 Samsung Electronics Co., Ltd. Storage devices and methods of operating storage devices
US9361997B2 (en) 2014-08-19 2016-06-07 Samsung Electronics Co., Ltd. Storage devices and methods of operating storage devices
US9678827B2 (en) 2014-10-07 2017-06-13 SK Hynix Inc. Access counts for performing data inspection operations in data storage device
KR20200016670A (ko) * 2018-08-07 2020-02-17 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 저장 장치 및 그 동작 방법
US11079952B2 (en) 2019-03-28 2021-08-03 SK Hynix Inc. Data storage device performing scan operations on memory regions to move data and operation method thereof
US11656990B2 (en) 2020-09-11 2023-05-23 SK Hynix Inc. Memory system and operating method thereof

Similar Documents

Publication Publication Date Title
KR20090129624A (ko) 메모리 시스템 및 그것의 읽기 페일 방지 방법
JP5242352B2 (ja) 半導体メモリ装置及びそれの読み出しフェイル分析方法
KR101464256B1 (ko) 온도 센서를 포함하는 메모리 시스템
US8607120B2 (en) Semiconductor memory device for performing additional ECC correction according to cell pattern and electronic system including the same
US8379456B2 (en) Nonvolatile memory devices having dummy cell and bias methods thereof
US9015403B2 (en) Method for adjusting performance of a storage device and a semiconductor storage device therefor
US7768844B2 (en) Nonvolatile semiconductor memory device and method of driving the same
US8441856B2 (en) Method of providing an operating voltage in a memory device and a memory controller for the memory device
US8767468B2 (en) Nonvolatile memory device capable of reducing read disturbance and read method thereof
US20100241796A1 (en) Memory system protected from errors due to read disturbance and reading method thereof
US10545691B2 (en) Memory system and method of controlling nonvolatile memory
KR20090055314A (ko) 읽기 디스터번스를 줄일 수 있는 불휘발성 메모리 장치
JP2009140564A (ja) Nand型フラッシュメモリおよびメモリシステム
US20150221380A1 (en) Semiconductor device
KR20150046549A (ko) 데이터 저장 시스템 및 그것의 동작 방법
KR20100004767A (ko) 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
US11790993B2 (en) Memory system having a non-volatile memory and a controller configured to switch a mode for controlling an access operation to the non-volatile memory
US11749350B2 (en) Semiconductor memory medium and memory system
CN113010459A (zh) 存储器系统、存储器控制器以及操作存储器系统的方法
KR101435889B1 (ko) 공통 소스 라인 전압을 제어하는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템
US10216570B2 (en) Memory device and control method thereof
US7843736B2 (en) Nonvolatile memory device and read method thereof
KR20090066691A (ko) 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치
US11656790B2 (en) Memory system, memory controller, and operation method of memory system
US20240036741A1 (en) Memory system, memory controller and method for operating memory system, capable of determining target meta memory block on the basis of detected target state

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial