KR20090066691A - 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치 - Google Patents

읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치 Download PDF

Info

Publication number
KR20090066691A
KR20090066691A KR1020070134360A KR20070134360A KR20090066691A KR 20090066691 A KR20090066691 A KR 20090066691A KR 1020070134360 A KR1020070134360 A KR 1020070134360A KR 20070134360 A KR20070134360 A KR 20070134360A KR 20090066691 A KR20090066691 A KR 20090066691A
Authority
KR
South Korea
Prior art keywords
read
memory
data
cell
fail
Prior art date
Application number
KR1020070134360A
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 KR1020070134360A priority Critical patent/KR20090066691A/ko
Publication of KR20090066691A publication Critical patent/KR20090066691A/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
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • 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/5642Sensing 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/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)

Abstract

본 발명에 따른 반도체 메모리 장치는 복수의 데이터 블록을 갖는 불휘발성 메모리; 및 상기 불휘발성 메모리의 동작을 제어하기 위한 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 ECC 회로를 사용하여 상기 불휘발성 메모리에 저장된 데이터의 에러 비트를 치유하고, 상기 치유된 에러 비트를 새로운 데이터 블록에 복사한다. 본 발명에 따른 반도체 메모리 장치는 읽기 페일을 치유한 데이터를 새로운 데이터 블록에 프로그램함으로 읽기 사이클 수를 증가할 수 있다. 또한, 본 발명은 플래시 메모리의 수명을 증가할 수 있다.

Description

읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치{SEMICONDUCTOR MEMORY DEVICE INCREASING THE NUMBER OF READ CYCLE}
본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 읽기 횟수를 늘릴 수 있는 반도체 메모리 장치에 관한 것이다.
반도체 메모리 장치는 일반적으로 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)으로 읽히거나, 오프 셀로 프로그램하였는데 온 셀로 읽히는 등의 읽기 오동작을 의미한다. 읽기 페일의 원인에는 여러 가지가 있다.
대표적인 읽기 페일의 원인으로는, 전하 누설(charge leakage)에 의한 경우, 소프트 프로그램(soft program)에 의한 경우, 그리고 오버 프로그램(over program)에 의한 경우 등이 있다. 전하 누설에 의한 읽기 페일은 프로그램 셀에 저장된 전하가 채널로 빠져나가는 경우에 주로 발생한다. 소프트 프로그램에 의한 읽기 페일은 온 셀의 문턱 전압이 상승하는 경우에 주로 발생한다. 오버 프로그램에 의한 읽기 페일은 오프 셀의 문턱 전압이 상승하는 경우에 주로 발생한다.
읽기 페일이 발생하는 경우에, 종래의 플래시 메모리는 재프로그램(reprogram) 또는 읽기 전압 변화 등의 여러 방법으로 읽기 페일을 치유한다. 그러나 읽기 페일의 정확한 원인을 알지 못한 상태에서, 읽기 페일을 치유하려고 하면 오히려 문제를 악화시킬 우려가 있다. 예를 들어, 오버 프로그램에 의한 읽기 페일인 경우에 재프로그램을 반복하거나, 전하 누설에 의한 읽기 페일인 경우에 읽기 전압을 바꾸는 경우에 오히려 읽기 페일이 악화될 수 있다.
한편, 일반적으로 종래의 플래시 메모리는 읽기 페일이 발생한 경우에, 읽기 페일을 치유하고 이전 페이지에 치유된 데이터를 다시 프로그램한다. 이러한 경우에, 종래의 플래시 메모리는 읽기 동작을 수행할 때 동일한 원인에 의한 읽기 페일이 다시 발생할 확률이 높아진다. 이는 플래시 메모리의 읽기 사이클 수를 감소함으로, 플래시 메모리의 수명을 단축하는 요인이 된다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 읽기 페일을 치유하고, 치유된 데이터를 새로운 데이터 블록으로 프로그램 함으로 읽기 능력을 향상하고, 수명을 증가할 수 있는 반도체 메모리 장치를 제공하는 데 있다.
본 발명에 따른 반도체 메모리 장치는 복수의 데이터 블록을 갖는 불휘발성 메모리; 및 상기 불휘발성 메모리의 동작을 제어하기 위한 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 ECC 회로를 사용하여 상기 불휘발성 메모리에 저장된 데이터의 에러 비트를 치유하고, 상기 치유된 에러 비트를 새로운 데이터 블록에 복사한다.
본 발명에 따른 반도체 메모리 장치의 다른 일면은 데이터를 저장하기 위한 불휘발성 메모리; 및 상기 불휘발성 메모리의 동작을 제어하며, 상기 불휘발성 메모리에 저장된 페이지 데이터의 읽기 페일 치유하기 위한 ECC 회로를 갖는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 상기 ECC 회로를 사용하여 상기 읽기 페일을 치유하고, 상기 치유된 데이터를 포함하는 페이지 데이터를 새로운 데이터 블록에 복사한다.
본 발명에 따른 반도체 메모리 장치는 읽기 페일을 치유한 데이터를 새로운 데이터 블록에 프로그램함으로 읽기 사이클 수를 증가할 수 있다. 또한, 본 발명은 플래시 메모리의 수명을 증가할 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명에 따른 반도체 메모리 장치를 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 반도체 메모리 장치(10)는 플래시 메모리(100) 및 메모리 컨트롤러(200)를 포함한다. 여기에서, 플래시 메모리(100)는 불휘발성 메모리로서, 메모리 컨트롤러(200)에 제어에 따라 쓰기, 읽기, 소거 등의 동작을 수행한다.
메모리 컨트롤러(200)는 읽기 동작 시에 읽기 커맨드(RD_CMD), 어드레스(ADDR), 그리고 제어 신호(CTRL)를 제공한다. 플래시 메모리(100)는 메모리 컨트롤러(200)로부터 읽기 커맨드 및 어드레스 등을 입력받고, 해당 워드 라인으로 읽기 전압을 제공한다.
메모리 컨트롤러(200)는 메모리 인터페이스(210), 호스트 인터페이스(220), ECC 회로(230), 중앙처리장치(CPU, 240), 그리고 랜덤 액세스 메모리(RAM, 250)를 포함한다. RAM(250)은 중앙처리장치(240)의 워킹 메모리(working memory)로써 사용된다. 호스트 인터페이스(220)는 호스트와 데이터를 교환하는 데 필요한 프로토콜을 구비한다.
ECC 회로(230)는 플래시 메모리(100)에 저장된 데이터의 비트 에러를 분석하 거나 정정하는데 사용된다. 메모리 인터페이스(210)는 플래시 메모리(100)와 직접 연결되며 커맨드, 어드레스, 데이터, 그리고 제어신호를 주고 받는데 사용된다. 중앙처리장치(240)는 메모리 컨트롤러(200)의 데이터 교환을 위한 제반 제어 동작을 수행한다. 비록 도면에는 도시되지 않았지만, 반도체 메모리 장치(100)는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
도 2는 도 1에 도시된 플래시 메모리를 보여주는 블록도이다. 도 2를 참조하면, 플래시 메모리(100)는 메모리 셀 어레이(110), 데이터 입출력 회로(120), 행 디코더(130), 그리고 제어 로직 및 고전압 발생 회로(140)를 포함한다.
메모리 셀 어레이(110)는 복수의 메모리 블록(memory block)을 포함한다. 각각의 메모리 블록은 복수의 페이지(page)로 구성된다. 각각의 페이지는 복수의 메모리 셀(memory cell)로 구성된다. 메모리 셀은 싱글 비트 데이터(single bit data)를 저장하거나 멀티 비트 데이터(multi bit data)를 저장할 수 있다. 플래시 메모리는 메모리 블록 단위로 소거 동작을 수행하고, 페이지 단위로 읽기 또는 쓰기 동작을 수행한다.
도 2에는 하나의 메모리 블록이 도시되어 있다. 도 2를 참조하면, 메모리 블록은 스트링 선택 라인(SSL)에 연결되는 스트링 선택 트랜지스터, 복수의 워드 라인(WL0~WL31)에 연결되는 메모리 셀, 그리고 접지 선택 라인(GSL)에 연결되는 접지 선택 트랜지스터를 포함한다. 스트링 선택 트랜지스터는 비트 라인(BL0~BLm)에 연결되고, 접지 선택 트랜지스터는 공통 소스 라인(CSL)에 연결된다.
플래시 메모리(100)의 읽기 동작 시에, 스트링 선택 라인(SSL) 및 접지 선택 라인(GSL)에는 전원 전압(Vcc)이 인가되고, 선택 워드 라인(예를 들면, WL8)에는 선택 읽기 전압(Vrd)이 인가되며, 비선택 워드 라인(WL0~WL7, WL9~WL31)에는 비선택 읽기 전압(Vread)이 인가된다. 여기에서, 비선택 읽기 전압(Vread)은 비선택 워드 라인(WL0~WL7, WL9~WL31)에 연결되어 있는 메모리 셀을 턴 온(turn on) 하기에 충분한 전압이다.
데이터 입출력 회로(120)는 복수의 비트 라인(BL0~BLm)을 통해 메모리 셀 어레이(110)와 연결된다. 데이터 입출력 회로(120)는 데이터 입출력 라인(도시되지 않음)을 통해 데이터(DATA)를 입력받는다. 입력 데이터는 해당 메모리 셀에 저장된다. 한편, 데이터 입출력 회로(120)는 메모리 셀에 저장된 데이터를 비트 라인(BL)을 통해 읽어낸다. 읽은 데이터는 데이터 입출력 라인을 통해 외부로 출력된다.
행 디코더(130)는 복수의 워드 라인(WL0~WL31)을 통해 메모리 셀 어레이(110)와 연결된다. 행 디코더(130)는 어드레스(ADDR)를 입력받고 메모리 블록 또는 페이지를 선택한다. 여기에서, 메모리 블록을 선택하기 위한 어드레스를 블록 어드레스(block address)라고, 페이지를 선택하기 위한 어드레스를 페이지 어드레스(page address)라 한다.
제어 로직 및 고전압 발생 회로(140)는 커맨드(CMD) 및 제어 신호(CTRL)에 응답하여 데이터 입출력 회로(120) 및 행 디코더(130)를 제어한다. 여기에서, 제어 신호(CTRL)는 메모리 인터페이스(도 1 참조, 210) 또는 메모리 컨트롤러(도 12 참조, 712)로부터 제공된다. 한편, 제어 로직 및 고전압 발생 회로(140)는 쓰기, 읽 기, 소거 동작 시에 워드 라인으로 제공될 바이어스 전압(bias voltage)을 발생한다.
읽기 동작 시에, 제어 로직 및 고전압 발생 회로(140)는 선택 워드 라인으로 제공되는 선택 읽기 전압(Vrd)과 비선택 워드 라인으로 제공되는 비선택 읽기 전압(Vread)을 발생한다. 일반적으로, 비선택 읽기 전압(Vread)은 선택 읽기 전압(Vrd)보다 높은 전압 레벨을 갖는다.
도 3 내지 도 8은 도 2에 도시된 플래시 메모리의 읽기 페일의 세 가지 유형 및 원인을 보여준다. 도 3은 전하 누설(charge leakage)로 인한 읽기 페일이고, 도 4는 오버 프로그램(over program)으로 인한 읽기 페일이고, 도 6은 소프트 프로그램(soft program)으로 인한 읽기 페일이다.
전하 누설에 의한 읽기 페일은 데이터 0으로 프로그램되었는데, 데이터 1로 읽히는 읽기 오류이다. 즉, 오프 셀이 온 셀로 읽히는 경우에 해당한다. 그리고 오버 프로그램 및 소프트 프로그램에 의한 읽기 페일은 데이터 1로 프로그램되었는데, 데이터 0으로 읽히는 읽기 오류이다. 즉, 온 셀이 오프 셀로 읽히는 경우에 해당한다. 이하에서는 각각의 읽기 페일의 원인 및 극복 방법이 상세히 설명된다.
도 3은 도 2에 도시된 플래시 메모리의 셀 스트링 및 제 1 읽기 페일을 설명하기 위한 도면이다. 도 3을 참조하면, 공통 소스 라인(CSL)과 비트 라인(BLi) 사이에 접지 선택 트랜지스터, 복수 메모리 셀, 그리고 스트링 선택 트랜지스터가 직렬로 연결된다. 접지 선택 트랜지스터에는 접지 선택 라인(GSL)이 연결되고, 복수의 메모리 셀에는 복수의 워드 라인(WL0~WL31)이 연결되며, 스트링 선택 트랜지스 터에는 스트링 선택 라인(SSL)이 연결된다.
읽기 동작 시에, 선택 워드 라인(예를 들면, WL8)에는 선택 읽기 전압(Vrd, 약 0V)이 인가되며, 비선택 워드 라인(WL0~WL7, WL9~WL31)에는 비선택 읽기 전압(Vread, 약 4.5V)이 인가된다. 여기에서, 비선택 읽기 전압(Vread)은 비선택 워드 라인(WL0~WL7, WL9~WL31)에 연결되어 있는 메모리 셀을 턴 온(turn on) 하기에 충분한 전압이다.
제 1 읽기 페일은 전하 누설(charge leakage)로 인해 발생한다. 메모리 셀에 프로그램/소거 동작이 반복되면, 메모리 셀의 산화막이 열화된다. 산화막이 열화되면, 메모리 셀의 플로팅 게이트나 산화막에 포획(trap)된 전자가 산화막을 거쳐 메모리 셀의 채널로 이동하게 된다.
플로팅 게이트나 산화막에 포획된 전자가 채널로 누설되면, 메모리 셀의 문턱 전압은 낮아지게 된다. 즉, 도 3에서 보는 바와 같이, 오프 셀의 문턱 분포가 온 셀 쪽으로 이동(shift)하게 된다. 오프 셀의 문턱 전압이 선택 읽기 전압(Vrd)보다 낮아지면, 읽기 동작 시에 오프 셀이 온 셀로 읽혀지게 된다. 즉, 데이터 0으로 프로그램된 메모리 셀이 데이터 1로 읽혀지게 된다.
전하 누설(charge leakage)로 인한 읽기 페일은 에러 정정 코드(Error Correction Code)를 분석해보면 알아낼 수 있다. 즉, 메모리 컨트롤러(도 1 참조, 200)는 ECC 분석을 통해, 읽기 페일이 전하 누설로 인한 것임을 알 수 있다. 전하 누설에 의한 읽기 페일은 재프로그램으로 인한 전하 리프레쉬(charge refresh)를 통해 읽기 페일을 치유한다.
도 4는 도 2에 도시된 플래시 메모리의 셀 스트링 및 제 2 읽기 페일을 설명하기 위한 도면이다. 도 4를 참조하면, 접지 선택 트랜지스터에는 접지 선택 라인(GSL)이 연결되고, 복수의 메모리 셀에는 복수의 워드 라인(WL0~WL31)이 연결되며, 스트링 선택 트랜지스터에는 스트링 선택 라인(SSL)이 연결된다. 읽기 동작 시에, 선택 워드 라인(예를 들면, WL8)에는 선택 읽기 전압(Vrd)이 인가되며, 비선택 워드 라인(WL0~WL7, WL9~WL31)에는 비선택 읽기 전압(Vread)이 인가된다.
비선택 메모리 셀(M31)이 오버 프로그램(over program)된 경우에, 선택 메모리 셀(M8)에서 제 2 읽기 페일이 발생한다. 비선택 메모리 셀(M31)이 오버 프로그램되는 일 예가 도 5에 도시되어 있다. 도 5를 참조하면, 소거 하한 전압(Vel)보다 낮은 문턱 전압을 갖는 메모리 셀은 그렇지 않은 메모리 셀보다 상대적으로 프로그램 속도가 빠르기 때문에, 프로그램 후에 상한 프로그램 전압(Vph)보다 높은 문턱 전압을 갖기 쉽다.
다시 도 4를 참조하면, 비선택 메모리 셀(M31)이 도 5에서 설명한 메커니즘에 의해 오버 프로그램되면, 셀 스트링(cell string)의 채널 저항은 증가한다. 채널 저항이 증가하면, 선택 메모리 셀(M8)에서 읽기 페일이 발생할 수 있다. 예를 들면, 비선택 메모리 셀(M31)의 문턱 전압이 비선택 읽기 전압(Vread)보다 높아지면, 읽기 동작 시에 비선택 메모리 셀(M31)은 턴 오프 된다. 비선택 메모리 셀(M31)이 턴 오프 되면, 선택 메모리 셀(M8)은 항상 오프 셀(또는 데이터 0)로 읽혀진다.
셀 스트링 내의 어느 한 셀이 오버 프로그램되면, 선택 메모리 셀은 읽기 페 일이 발생할 수 있다. 오버 프로그램으로 인한 읽기 페일인 경우에, 선택 메모리 셀은 데이터 0으로 읽혀진다. 즉, 제 2 읽기 페일이 발생한 경우에, 데이터 1로 프로그램된 메모리 셀은 데이터 0으로 읽혀진다.
도 6은 도 2에 도시된 플래시 메모리의 셀 스트링 및 제 3 읽기 페일을 설명하기 위한 도면이다. 도 6을 참조하면, 접지 선택 트랜지스터에는 접지 선택 라인(GSL)이 연결되고, 복수의 메모리 셀에는 복수의 워드 라인(WL0~WL31)이 연결되며, 스트링 선택 트랜지스터에는 스트링 선택 라인(SSL)이 연결된다. 읽기 동작 시에, 선택 워드 라인(WL8)에는 선택 읽기 전압(Vrd)이 인가되며, 비선택 워드 라인(WL0~WL7, WL9~WL31)에는 비선택 읽기 전압(Vread)이 인가된다.
선택 메모리 셀(M8)이 소프트 프로그램(soft program)된 경우에, 선택 메모리 셀(M8)에서 제 3 읽기 페일이 발생한다. 도 7 및 도 8은 선택 메모리 셀이 소프트 프로그램되는 예를 보여준다.
도 7을 참조하면, 온 셀(on cell)은 -3V와 -1V 사이의 문턱 전압을 갖고, 오프 셀(off cell)은 +1V와 +3V의 문턱 전압을 갖는다. 선택 워드 라인(도 6 참조, WL8)으로 제공되는 선택 읽기 전압(Vrd)은 약 0V이다. 비선택 워드 라인(도 6 참조, WL0~WL7, WL9~WL31)으로 제공되는 비선택 읽기 전압(Vread)은 약 4.5V이다.
플래시 메모리는 페이지 단위로 읽기 동작을 수행한다. 메모리 블록 내의 모든 페이지(예를 들면, 32 pages)에 대한 읽기 동작이 수행된다고 가정하자. 이때 각각의 워드 라인에는 1 번의 선택 읽기 전압(Vrd)과 31 번의 비선택 읽기 전압(Vread)이 인가된다. 메모리 셀의 게이트에 전원 전압(Vcc)보다 높은 비선택 읽 기 전압(Vread)이 반복해서 인가되면, 메모리 셀은 스트레스(stress)를 받게 된다.
도 8에서 보는 바와 같이, 컨트롤 게이트(CG; Control Gate)에 비선택 읽기 전압(Vread)이 계속해서 인가되면, 채널에 존재하는 전자가 플로팅 게이트(FG; Floating Gate)로 유입될 수 있다. 이때 온 셀(on cell)의 문턱 전압이 상승하게 된다. 온 셀의 문턱 전압이 -1V보다 높아지면, 그 메모리 셀은 충분한 읽기 마진을 갖지 못하게 된다. 온 셀의 문턱 전압이 선택 읽기 전압(Vrd)보다 높아지면, 오프 셀로 읽혀질 수도 있다.
이와 같이 비선택 읽기 전압(Vread)의 반복적인 인가로 인해 메모리 셀의 문턱 전압이 상승하면, 소프트 프로그램에 의한 읽기 페일이 발생한다. 도 7의 빗금 친 부분은 메모리 셀이 문턱 전압이 상승한 것을 보여준다. 제 3 읽기 페일로 인해 메모리 셀의 문턱 전압이 상승하면, 메모리 셀은 데이터 저장 능력을 잃게 된다.
한편, 플래시 메모리는 데이터 저장 용량을 늘임과 동시에, 읽기 및 쓰기 속도를 빠르게 하고 중요 데이터를 안전하게 보호하기 위한 요구가 꾸준히 제기되고 있다. 이러한 요구를 만족하기 위해, 플래시 메모리는 메모리 셀 어레이 내에 멀티 비트 데이터를 저장하는 메모리 블록(이하, MLC 블록이라 함)과 싱글 비트 데이터를 저장하는 메모리 블록(이하, SLC 블록이라 함)을 동시에 갖도록 설계되고 있다.
이러한 콤보(combo) 구조를 갖는 플래시 메모리에서는 제 3 읽기 페일로 인한 문제가 더욱 빈번하게 발생할 수 있다. 왜냐하면, SLC 블록의 비선택 읽기 전압은 MLC 블록의 비선택 읽기 전압과 동일한 전압을 사용하기 때문에, SLC 블록에 있는 메모리 셀에서 제 3 읽기 페일이 빈번하게 발생할 수 있다. 소프트 프로그램에 의해, 온 셀 상태의 메모리 셀(M8)이 오프 셀 (또는 데이터 0)으로 읽혀진다. 즉, 제 3 읽기 페일은 데이터 1을 데이터 0으로 잘못 읽는 경우에 해당한다.
도 9는 도 1에 도시된 반도체 메모리 장치의 읽기 페일을 치유하는 방법을 보여주는 순서도이다. 반도체 메모리 장치는 읽기 동작 시에, ECC 회로(도 1 참조, 230)를 사용하여 읽기 페일을 알아낼 수 있다.
S110 단계에서는, 읽기 동작이 수행된다. 도 1을 참조하면, 플래시 메모리(100)는 메모리 컨트롤러(200)로부터 읽기 커맨드 및 어드레스를 입력받고, 해당 페이지에 대한 읽기 동작을 수행한다. 이때 선택 워드 라인에는 선택 읽기 전압(Vrd)이 인가되고, 비선택 워드 라인에는 비선택 읽기 전압(Vread)이 인가된다.
S120 단계에서는, 읽기 페일이 존재하는지 여부가 판단된다. 읽기 페일이 존재하지 않으면, 읽기 페일을 치유하는 절차는 불필요하기 때문에 종료된다. 읽기 페일이 존재하면, 에러 비트를 치유하는 절차가 수행된다.
S130 단계에서는, 읽기 페일의 에러 비트 수가 치유 가능한지를 판단한다. 치유 가능한 에러 비트 범위는 각각의 반도체 메모리 장치마다 다르게 설정될 수 있다. 예를 들어, ECC 회로(도 1 참조, 230)가 4비트 에러까지 치유할 수 있다고 가정하자. S130 단계에서는 에러 비트 수가 4비트 이하인지를 판단한다. 다만, 발명에 따라 치유 가능한 에러 비트 수를 4비트보다 작은 값으로 설정할 수도 있다. 에러 비트 수가 치유 범위를 넘는 경우에, 해당 데이터 블록은 배드 블록(bad block)으로 처리된다(S135).
S140 단계에서, ECC 엔진 (또는 ECC 회로)를 사용하여 비트 에러를 치유한 다. S150 단계에서, 치유된 데이터를 새로운 데이터 블록으로 복사할 것인지 여부가 판단된다. 종래의 플래시 메모리는 치유된 데이터를 이전 데이터 블록(old data block)으로 복사한다. 여기에서, 이전 데이터 블록이라 함은 치유된 데이터가 원래 프로그램되어 있던 데이터 블록을 의미한다.
S155 단계는 치유된 데이터를 이전 데이터 블록으로 프로그램하는 경우이고, S160 단계는 새로운 데이터 블록으로 프로그램하는 경우이다. 본 발명은 사용자의 선택에 따라, 치유된 데이터를 새로운 데이터 블록으로 프로그램할 수 있다. 치유된 데이터를 새로운 데이터 블록으로 프로그램하는 경우에, 이전 데이터 블록은 소거 등을 통해 자유 블록(free block)으로 된다.
본 발명에 의하면, 치유된 데이터를 이전 데이터 블록(old data block)으로 프로그램하지 않으므로, 동일 원인에 의한 읽기 페일의 발생 확률을 줄일 수 있다. 또한, 본 발명은 읽기 횟수를 분산함으로 읽기 사이클 수를 증가할 수 있다. 본 발명에 의하면, 평균적으로, 최대 읽기 사이클 수를 늘릴 수 있기 때문에 반도체 메모리 장치의 수명을 증가할 수 있다.
도 10은 본 발명에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 보여주는 블록도이다. 도 10을 참조하면, 메모리 시스템(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)를 통해 저장된다. 도 10에 도시된 메모리 시스템은 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor) 등에 사용될 수 있다.
도 11은 본 발명에 따른 반도체 메모리 장치를 이용하여 설계된 반도체 디스크 장치(SSD)를 예시적으로 보여주는 블록도이다. 도 11을 참조하면, 반도체 디스크 장치(1000)는 낸드 플래시 메모리(801, 802)와 SSD 컨트롤러(800)를 포함한다. 각각의 낸드 플래시 메모리와 SSD 컨트롤러(800)는 16비트 (또는 워드 단위)로 데이터를 주고 받는다.
도 11을 참조하면, SSD 컨트롤러(800)는 플래시 컨트롤러(811, 812), FIFI&컨트롤러(821, 822), ECC 회로(831, 832), 플래시 컨트롤 레지스터(840)를 포함한다. 플래시 컨트롤러(811, 812)는 낸드 플래시 메모리(801, 802)의 쓰기, 읽기, 소거 동작 등을 제어한다. ECC 회로(831, 832)는 에러 비트를 검출하는 정정하는 역 할을 한다.
SDD 컨트롤러(800)는 중앙처리장치로서 ARM7(850), ARM 인터페이스(855), SRAM 컨트롤러(860), SRAM(865), 데이터 패스 컨트롤러(870), 호스트 컨트롤 레지스터(875)를 더 포함한다. ARM 인터페이스(855)는 플래시 컨트롤 레지스터(840), ARM7(850), SRAM 컨트롤러(860), 호스트 컨트롤 레지스터(875) 사이에서 인터페이싱 역할을 한다.
FIFO&컨트롤러(821, 822)는 각각 32 비트의 버스를 통해 SRAM 컨트롤러(860) 및 데이터 패스 컨트롤러(870)와 데이터를 전송한다. 또한, SRAM 컨트롤러(860)는 32 비트 버스를 통해 SRAM(865)와 데이터를 주고 받는다. SRMA(865)에는 프로그램을 위한 pgm SRAM, 데이터 맵핑을 위한 Map SRAM, 그리고 캐쉬 동작을 위한 Cache SRAM 등을 포함할 수 있다.
SSD 컨트롤러(880)는 아날로그 회로(880), Initial FSM(885), PATA(890), 그리고 UDMA(895)를 더 포함한다. 아날로그 회로(880)는 전압 검출기, 파워 온 리셋 회로 등을 포함한다. PATA(890)는 SATA를 이용하여 구현될 수도 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명에 따른 반도체 메모리 장치를 예시적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 플래시 메모리를 보여주는 블록도이다.
도 3은 도 2에 도시된 플래시 메모리의 셀 스트링 및 전하 누설(charge leakage)로 인한 읽기 페일을 설명하기 위한 도면이다.
도 4는 도 2에 도시된 플래시 메모리의 셀 스트링 및 오버 프로그램(over program)으로 인한 읽기 페일을 설명하기 위한 도면이다.
도 5는 도 4에 도시된 메모리 셀의 오버 프로그램을 설명하기 위한 다이어그램이다.
도 6은 도 2에 도시된 플래시 메모리의 셀 스트링 및 소프트 프로그램(soft program)으로 인한 읽기 페일을 설명하기 위한 도면이다.
도 7 및 도 8은 도 6에 도시된 메모리 셀의 소프트 프로그램을 설명하기 위한 도면이다.
도 9는 도 1에 도시된 반도체 메모리 장치의 읽기 페일을 치유하는 방법을 보여주는 순서도이다.
도 10는 본 발명에 따른 반도체 메모리 장치를 포함하는 메모리 시스템을 보여주는 블록도이다.
도 11은 본 발명에 따른 반도체 메모리 장치를 이용하여 설계된 반도체 디스크 장치(SSD)를 예시적으로 보여주는 블록도이다.

Claims (2)

  1. 복수의 데이터 블록을 갖는 불휘발성 메모리; 및
    상기 불휘발성 메모리의 동작을 제어하기 위한 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는 ECC 회로를 사용하여 상기 불휘발성 메모리에 저장된 데이터의 에러 비트를 치유하고, 상기 치유된 에러 비트를 새로운 데이터 블록에 복사하는 반도체 메모리 장치.
  2. 데이터를 저장하기 위한 불휘발성 메모리; 및
    상기 불휘발성 메모리의 동작을 제어하며, 상기 불휘발성 메모리에 저장된 페이지 데이터의 읽기 페일 치유하기 위한 ECC 회로를 갖는 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는 상기 ECC 회로를 사용하여 상기 읽기 페일을 치유하고, 상기 치유된 데이터를 포함하는 페이지 데이터를 새로운 데이터 블록에 복사하는 반도체 메모리 장치.
KR1020070134360A 2007-12-20 2007-12-20 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치 KR20090066691A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070134360A KR20090066691A (ko) 2007-12-20 2007-12-20 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070134360A KR20090066691A (ko) 2007-12-20 2007-12-20 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치

Publications (1)

Publication Number Publication Date
KR20090066691A true KR20090066691A (ko) 2009-06-24

Family

ID=40994650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070134360A KR20090066691A (ko) 2007-12-20 2007-12-20 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치

Country Status (1)

Country Link
KR (1) KR20090066691A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140103755A (ko) * 2013-02-19 2014-08-27 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
US10318167B2 (en) 2016-08-10 2019-06-11 SK Hynix Inc. Memory system and method for controlling operation based on read number
US10778256B2 (en) 2017-11-07 2020-09-15 SK Hynix Inc. Memory system and operating method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140103755A (ko) * 2013-02-19 2014-08-27 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
US10318167B2 (en) 2016-08-10 2019-06-11 SK Hynix Inc. Memory system and method for controlling operation based on read number
US10778256B2 (en) 2017-11-07 2020-09-15 SK Hynix Inc. Memory system and operating method thereof

Similar Documents

Publication Publication Date Title
JP5242352B2 (ja) 半導体メモリ装置及びそれの読み出しフェイル分析方法
US8607120B2 (en) Semiconductor memory device for performing additional ECC correction according to cell pattern and electronic system including the same
KR20090055314A (ko) 읽기 디스터번스를 줄일 수 있는 불휘발성 메모리 장치
KR20150046549A (ko) 데이터 저장 시스템 및 그것의 동작 방법
KR20140031556A (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
US20230359399A1 (en) Ufs device for transmitting status information through afc frame and operating method thereof
CN113010459A (zh) 存储器系统、存储器控制器以及操作存储器系统的方法
US11315650B2 (en) Memory system, memory controller, and method of operating memory system
US11630726B2 (en) Memory system and operating method thereof
US11960888B2 (en) Memory system, memory controller, and method for operating memory system
KR20090066691A (ko) 읽기 사이클 수를 늘릴 수 있는 반도체 메모리 장치
KR101360133B1 (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
US11216208B1 (en) Memory system, memory controller, and operation method of memory system
US11061615B2 (en) Memory system, memory controller and operating method thereof
US11474726B2 (en) Memory system, memory controller, and operation method thereof
US20210382655A1 (en) Memory device, memory system, and operation method of memory device
CN112037837A (zh) 存储器系统、存储器控制器和存储器设备
US11669266B2 (en) Memory system and operating method of memory system
US11626175B2 (en) Memory system and operating method for determining target memory block for refreshing operation
US11640263B2 (en) Memory system and operating method thereof
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
US11495319B2 (en) Memory system, memory controller, and method for operating memory system performing integrity check operation on target code when voltage drop is detected
US11500771B2 (en) Memory system, memory controller, and method of operating memory system
US11307794B2 (en) Memory system, memory controller, and operation method of memory system
US20230376211A1 (en) Controller for controlling one-time programmable memory, system, and operation method thereof

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination