KR20080107921A - 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법 - Google Patents

커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법 Download PDF

Info

Publication number
KR20080107921A
KR20080107921A KR1020070056317A KR20070056317A KR20080107921A KR 20080107921 A KR20080107921 A KR 20080107921A KR 1020070056317 A KR1020070056317 A KR 1020070056317A KR 20070056317 A KR20070056317 A KR 20070056317A KR 20080107921 A KR20080107921 A KR 20080107921A
Authority
KR
South Korea
Prior art keywords
memory cells
source data
threshold voltage
data
change value
Prior art date
Application number
KR1020070056317A
Other languages
English (en)
Other versions
KR100892583B1 (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 KR1020070056317A priority Critical patent/KR100892583B1/ko
Priority to US11/905,674 priority patent/US7639539B2/en
Publication of KR20080107921A publication Critical patent/KR20080107921A/ko
Application granted granted Critical
Publication of KR100892583B1 publication Critical patent/KR100892583B1/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그 방법이 개시된다. 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 방법은 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하는 단계, 계산된 상기 문턱 전압의 변화 값을 기초로 프로그램될 소스 데이터를 변환하는 단계 및 변환된 상기 소스 데이터를 프로그램하는 단계를 포함한다.
메모리 셀, 플래시, 프로그램

Description

커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그 방법{APPARATUS FOR PROGRAMMING A DATA OF MEMORY CELL CONSIDERING FLOATING POLY COUPLING AND METHOD USING THE SAME}
도 1은 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치에 대한 구성 블록도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치를 설명하기 위한 플래시 메모리의 일 예시도이다.
도 3은 도 2에 도시한 메모리 셀의 소스 데이터와 프로그램 데이터에 대한 일 예시도이다.
도 4는 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 방법에 대한 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 수신부
120: 검출부
130: 전압 변화 계산부
140: 데이터 변환부
150: 프로그램부
본 발명은 메모리 셀의 데이터 프로그램에 관한 것으로, 더욱 상세하게는 메모리 셀들 간의 플로팅 폴리 커플링(floating poly coupling)에 의한 문턱 전압의 변화를 고려하여 데이터를 프로그램하는 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그 방법에 관한 것이다.
플래시 메모리 셀에 데이터를 프로그램하기 위해서는 플래시 메모리 셀의 문턱 전압을 조절한다. 즉, 플래시 메모리 셀의 문턱 전압이 프로그램된 데이터를 의미한다.
하지만, 플래시 메모리 셀은 주변 메모리 셀들에 데이터들이 프로그램 됨에 따라 주변 셀들과의 플로팅 폴리 커플링으로 인하여 문턱 전압이 높아지게 되어 오류가 발생할 수 있는 확률이 높아지게 된다.
플로팅 폴리 커플링에 의해 발생하는 오류를 줄이기 위해 쉐도우 프로그래밍(shadow programming) 방법을 사용하고 있다. 쉐도우 프로그래밍 방법은 플로팅 폴리 커플링을 최대한 억제하는 방향으로 데이터를 메모리 셀에 프로그램하는 방법으로, 프로그램 하고자 하는 데이터를 여러 번의 프로그램 과정을 통해 프로그램함으로써, 플로팅 폴리 커플링에 의한 오류를 줄일 수 있다.
하지만, 쉐도우 프로그래밍 방법은 하나의 데이터를 프로그램하기 위해 여러 번의 프로그램 과정을 수행하기 때문에 메모리 셀을 프로그램하는 횟수가 많아져 메모리 셀의 사용 기간이 짧아지고, 프로그램하는 시간이 길어지게 된다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 메모리 셀들간 발생하는 플로팅 폴리 커플링을 고려하여 데이터를 프로그램함으로써, 발생할 수 있는 비트 오류 확률을 줄이고 총 프로그램 횟수를 줄여 메모리 셀의 사용 기간을 늘리는 것을 목적으로 한다.
또한, 본 발명은 플로팅 폴리 커플링에 의해 변화되는 문턱 전압의 변화 값을 고려하여 메모리 셀에 프로그램될 데이터를 변환한 후 프로그램하여 프로그램 시간을 줄이는 것을 목적으로 한다.
또한, 본 발명은 소스 데이터들의 모든 코드 체계에 적용할 수 있는 메모리 셀의 데이터 프로그램 장치 및 그 구성을 제공하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 방법은 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하는 단계, 계산된 상기 문턱 전압의 변화 값을 기초로 프로그램될 소스 데이터를 변환하는 단계 및 변환된 상기 소스 데이터를 프로그램하는 단계를 포함한다.
상기 문턱 전압의 변화 값을 계산하는 단계는 상기 메모리 셀들 중 이웃하는 메모리 셀들의 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이때, 상기 메모리 셀의 데이터 프로그램 방법은 소스 데이터들을 수신하는 단계 및 수신된 상기 소스 데이터들 중 이웃하는 상기 메모리 셀들의 소스 데이터들을 검출하는 단계를 더 포함하고, 상기 문턱 전압의 변화 값을 계산하는 단계는 검출된 상기 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이때, 상기 문턱 전압의 변화 값을 계산하는 단계는 이웃하는 상기 메모리 셀들 중 프로그램될 메모리 셀들의 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이때, 상기 문턱 전압의 변화 값을 계산하는 단계는 상기 메모리 셀들의 소스 데이터들에 의한 플로팅 폴리 커플링(floating poly coupling)을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이때, 상기 소스 데이터를 변환하는 단계는 상기 소스 데이터를 상기 소스 데이터에 상응하는 문턱 전압과 계산된 상기 문턱 전압의 변화 값 사이의 차에 비례하는 데이터로 변환할 수 있다.
이때, 상기 문턱 전압의 변화 값을 계산하는 단계는 상기 메모리 셀들의 소스 데이터들 및 채널 특성들을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이때, 상기 메모리 셀들은 MLC(multi level cell) 방식의 메모리 셀들을 포함하거나 SLC(single level cell) 방식의 메모리 셀들을 포함할 수 있다.
본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치는 메모리 셀들, 상기 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하는 전압 변화 계산부, 계산된 상기 문턱 전압의 변화 값을 기초로 프로그램될 소스 데이터를 변환하는 데이터 변환부 및 변환된 상기 소스 데이터를 프로그램하는 프로그램부를 포함한다.
이때, 상기 메모리 셀의 데이터 프로그램 장치는 소스 데이터들을 수신하는 수신부 및 수신된 상기 소스 데이터들 중 이웃하는 상기 메모리 셀들의 소스 데이터들을 검출하는 검출부를 더 포함하고, 상기 전압 변화 계산부는 검출된 상기 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이때, 상기 전압 변화 계산부는 이웃하는 상기 메모리 셀들 중 프로그램될 메모리 셀들의 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이때, 상기 전압 변화 계산부는 상기 메모리 셀들의 소스 데이터들에 의한 플로팅 폴리 커플링(floating poly coupling)을 기초로 상기 문턱 전압의 변화 값을 계산할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치에 대한 구성 블록도이다
도 1을 참조하면, 메모리 셀의 데이터 프로그램 장치는 수신부(110), 검출부(120), 전압 변화 계산부(130), 데이터 변환부(140) 및 프로그램부(150)를 포함한다.
수신부(110)는 메모리를 구성하는 메모리 셀들에 프로그램될 소스 데이터들을 수신한다.
이때, 메모리는 NAND, NOR 타입 등의 플래시 메모리를 포함할 수 있다.
이때, 메모리는 MLC(multi level cell) 방식의 플래시 메모리 또는 SLC(single level cell) 방식의 플래시 메모리를 포함할 수 있다.
물론, 본 발명에서의 메모리는 플래시 메모리로 한정되는 것은 아니고, 본 발명이 적용 가능한 모든 메모리가 될 수 있다.
검출부(120)는 수신부(110)로 수신된 소스 데이터들 중 소스 데이터를 프로그램 하려는 메모리 셀(160)과 이웃하는 메모리 셀들의 소스 데이터들을 검출한다.
즉, 검출부(120)는 메모리 셀(160)에 소스 데이터가 프로그램된 후 메모리 셀(160)에 프로그램된 소스 데이터에 영향을 주어 메모리 셀의 문턱 전압을 변화시킬 수 있는 메모리 셀들을 검출하고, 그 검출된 메모리 셀들에 대한 소스 데이터를 검출한다.
이때, 검출부(120)는 메모리 셀(160)에 프로그램된 데이터에 영향을 줄 수 있는 메모리 셀(160)과 이웃하는 메모리 셀들의 소스 데이터들을 검출할 수 있다. 여기서, 이웃하는 메모리 셀들은 메모리 셀(160)과 플로팅 폴리 커플링(floating poly coupling)이 발생할 수 있는 메모리 셀들이다. 즉, 검출부(120)는 메모리 셀(160)과 플로팅 폴리 커플링(floating poly coupling)이 발생하여 메모리 셀(160)에 프로그램된 데이터에 영향을 줄 수 있는 메모리 셀들에 대한 소스 데이터들을 검출한다.
이때, 검출부(120)는 메모리 셀(160)과 이웃하는 메모리 셀들 중 소스 데이터들이 프로그램될 메모리 셀들의 소스 데이터들을 검출할 수 있다. 즉, 이웃하는 메모리 셀들 중 데이터들이 이미 프로그램된 메모리 셀들은 프로그램 하려는 메모리 셀(160)에 영향을 주기 어렵기 때문에 검출부(120)는 이웃하는 메모리 셀들 중 소스 데이터들이 프로그램될 메모리 셀들에 대한 소스 데이터들을 검출한다.
전압 변화 계산부(130)는 검출부(120)에 의해 검출된 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산한다.
즉, 전압 변화 계산부(130)는 검출부(120)에 의해 검출된 메모리 셀들의 소스 데이터들에 상응하는 문턱 전압들에 의해 메모리 셀(160)에 프로그램될 데이터에 상응하는 문턱 전압을 변화시키는 문턱 전압의 변화 정도를 계산한다.
이때, 전압 변화 계산부(130)는 검출부(120)에 의해 검출된 메모리 셀들의 소스 데이터들에 의한 플로팅 폴리 커플링(floating poly coupling)을 기초로 문턱 전압의 변화 값을 계산할 수 있다.
이때, 전압 변화 계산부(130)는 검출부(120)에 의해 검출된 메모리 셀들의 소스 데이터들 뿐만 아니라 메모리 셀들의 채널 특성들을 기초로 문턱 전압의 변화 값을 계산할 수 있다. 예컨대, 전압 변화 계산부(130)는 메모리 셀들이 NAND 플래시 메모리 셀들인 경우 검출부(120)에 의해 검출된 메모리 셀들의 소스 데이터들 및 NAND 플래시 메모리 셀들의 채널 특성들을 고려하여 문턱 전압의 변화 값을 계산한다.
이때, 전압 변화 계산부(130)는 프로그램될 수 있는 소스 데이터들 각각에 대한 문턱 전압의 변화 정도를 나타내는 데이터를 기초로 문턱 전압의 변화 값을 계산할 수 있다. 예를 들어, 메모리 셀이 2-bit MLC 방식의 메모리 셀인 경우 소스 데이터들 00, 01, 10 및 11에 상응하는 문턱 전압들 각각에 의한 메모리 셀(160)의 문턱 전압의 변화 값들을 기초로 메모리 셀(160)의 문턱 전압에 대한 변화 정도를 계산한다.
여기서, 소스 데이터들 각각에 대한 문턱 전압의 변화 값들은 문턱 전압의 변화 값들을 저장할 수 있는 본 발명에 따른 메모리 셀의 데이터 프로그램 장치에 구비된 저장 수단 또는 외부 저장 수단을 통해 얻어질 수 있고, 논리 회로 등과 같은 하드웨어를 통해 얻어질 수도 있다.
여기에서 알 수 있듯이, 전압 변화 계산부(130)는 검출부(120)에 의해 검출된 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하기 때문에 검출된 소스 데이터들에 따라 문턱 전압의 변화 값이 달라질 수 있다. 즉, 전압 변화 계산부(130)는 검출부(120)에 의해 검출된 소스 데이터들이 메모리 셀(160)과 이웃하는 메모리 셀들의 소스 데이터들인 경우 이웃하는 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하고, 전압 변화 계산부(130)는 검출부(120)에 의해 검출된 소스 데이터들이 메모리 셀과 이웃하는 메모리 셀들 중 소스 데이터들이 프로그램될 메모리 셀들의 소스 데이터들인 경우 프로그램될 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산한다.
데이터 변환부(140)는 전압 변화 계산부(130)에 의해 계산된 문턱 전압의 변화 값을 기초로 메모리 셀(160)에 프로그램될 소스 데이터를 변환한다.
즉, 데이터 변환부(140)는 메모리 셀들의 소스 데이터들에 의해 변화된 메모리 셀(160)의 문턱 전압이 실제 소스 데이터에 상응하는 문턱 전압이 될 수 있도록 소스 데이터를 실제 소스 데이터의 문턱 전압과 문턱 전압의 변화 값 사이의 차이에 상응하는 데이터로 변환한다.
프로그램부(150)는 데이터 변환부(140)에 의해 변환된 데이터를 메모리 셀(160)에 프로그램한다.
이와 같은 구성을 갖는 본 발명에 따른 메모리 셀의 데이터 프로그램 장치는 메모리 셀에 저장하는 데이터가 바이너리 코드 체계, 그레이(gray) 코드 체계 등과 같은 특정 코드 체계와 상관없이 모든 코드 체계에 적용될 수 있다.
본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치에 대한 동작을 도 2 내지 도 3을 참조하여 조금 더 설명하면 다음과 같다.
도 2 내지 도 3에서는 문턱 전압의 변화가 소스 데이터들에 의해서만 이루어진다 가정하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치를 설명하기 위한 플래시 메모리의 일 예시도이다.
도 2를 참조하면, 메모리 셀들은 첫 번째 워드 라인(WL0)의 짝수(even) 비트 라인(BLe)의 메모리 셀들을 프로그램한 후 홀수(odd) 비트 라인(BLo) 메모리 셀들을 프로그램한다. 이와 같이 과정이 그 다음 워드 라인(WL1) 및 모든 워드 라인에 대해 순차적으로 수행된다. 즉, 메모리 셀 0 및 2가 먼저 프로그램된 후 메모리 셀 1 및 3이 프로그램되고, 그 이후 메모리 셀 4 및 6이 프로그램된 후 메모리 셀 5 및 7이 프로그램된다.
따라서, 메모리 셀 0은 메모리 셀들 1, 3, 4, 5, 6 및 7의 소스 데이터들에 의해 플로팅 폴리 커플링 효과에 노출될 수 있다. 이때, 메모리 셀들 3, 6 및 7이 메모리 셀 0의 데이터에 영향을 줄 수 있지만 그 영향이 이웃하는 메모리 셀들에 비해 적다고 가정하고 여기서는 이웃하는 메모리 셀들 즉, 메모리 셀들 1, 4 및 5의 소스 데이터들에 의한 영향만을 고려하여 설명한다.
수신부(110)는 메모리 셀들 0 내지 7에 프로그램될 소스 데이터들을 입력받는다.
검출부(120)는 수신부(110)로 수신된 메모리 셀들 0 내지 7의 소스 데이터들로부터 이웃하는 메모리 셀들 즉, 메모리 셀들 1, 4 및 5의 소스 데이터들을 검출한다.
전압 변화 계산부(130)는 메모리 셀들 1, 4 및 5의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산한다. 즉, 메모리 셀 0에 프로그램될 데이터의 문턱 전압이 메모리 셀들 1, 4 및 5의 소스 데이터들에 의해 어느 정도 변하는지 계산한다.
물론, 전압 변화 계산부(130)는 메모리 셀 1에 소스 데이터를 프로그램하는 경우는 메모리 셀들 0 및 2가 이미 프로그램된 상태이기 때문에 메모리 셀들 4 내지 6의 소스 데이터들을 기초로 메모리 셀 1의 문턱 전압의 변화 값을 계산할 수 있다.
이때, 전압 변화 계산부(130)는 이웃하는 메모리 셀들의 소스 데이터들 각각 에 따른 문턱 전압의 변화 값들을 기초로 문턱 전압의 변화 값을 계산할 수 있다. 예컨대, 메모리 셀 1에 의한 메모리 셀 0의 문턱 전압의 변화 값, 메모리 셀 4에 의한 메모리 셀 0의 문턱 전압의 변화 값 및 메모리 셀 5에 의한 메모리 셀 0의 문턱 전압의 변화 값을 모두 더한 값을 메모리 셀 0의 문턱 전압의 변화 값으로 계산할 수 있다. 물론, 메모리 셀 0의 문턱 전압의 변화 값이 특정 알고리즘 또는 함수를 통해 계산될 수도 있다.
데이터 변환부(140)는 도 3에 도시한 일 예와 같이 메모리 셀 0의 문턱 전압의 변화 값이 A인 경우 수신부(110)로 수신된 메모리 셀 0의 소스 데이터(320)를 변환한다.
즉, 데이터 변환부(140)는 메모리 셀 0의 소스 데이터(320)를 메모리 셀의 소스 데이터에 상응하는 문턱 전압과 전압 변화 계산부(130)에 의해 계산된 문턱 전압의 변화 값(A) 사이의 차에 해당하는 데이터(310)로 변환한다.
프로그램부(150)는 데이터 변환부(140)에 의해 변환된 데이터를 메모리 셀 0에 프로그램한다. 예컨대, 도 3에서의 변환된 데이터(310)를 메모리 셀 0에 프로그램한다.
메모리 셀 2에 대해 설명하면, 메모리 셀 2는 메모리 셀 0와 마찬가지로 이웃하는 메모리 셀들 중 프로그램될 메모리 셀들인 메모리 셀들 1, 3, 5, 6 및 7의 소스 데이터들을 기초로 메모리 셀 2의 문턱 전압의 변화 값을 계산한 후 그 계산된 문턱 전압의 변화 값을 기초로 메모리 셀 2의 소스 데이터를 변환한다.
프로그램부(150)는 데이터 변환부(140)에 의해 변환된 메모리 셀 2의 소스 데이터를 메모리 셀 2에 프로그램한다.
이와 같이 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치는 프로그램 하고자 하는 메모리 셀에 있어서, 문턱 전압의 변화에 영향을 줄 수 있는 이웃하는 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하고, 그 계산된 문턱 전압의 변화 값과 프로그램 하고자 하는 소스 데이터의 문턱 전압 사이의 차에 상응하는 데이터로 변환하여 프로그램함으로써, 메모리 셀에 저장된 데이터의 비트 오류를 줄일 수 있다.
도 4는 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 방법에 대한 동작 흐름도이다.
도 4를 참조하면, 메모리 셀의 데이터 프로그램 방법은 메모리를 구성하는 메모리 셀들에 프로그램될 소스 데이터들을 수신한다(S410).
이때, 메모리는 NAND, NOR 타입 등의 플래시 메모리를 포함할 수 있다.
이때, 메모리는 MLC(multi level cell) 방식의 플래시 메모리 또는 SLC(single level cell) 방식의 플래시 메모리를 포함할 수 있다.
프로그램될 메모리 셀에 정확한 데이터를 저장하기 위해 수신된 소스 데이터들 중 프로그램 하고자 하는 메모리 셀의 문턱 전압에 영향을 주는 소스 데이터들을 검출한다(S420).
이때, 검출되는 소스 데이터들은 프로그램될 메모리 셀의 소스 데이터를 제외한 소스 데이터들일 수 있다. 예컨대, 도 2의 메모리 구조에서는 메모리 셀 0를 프로그램 하고자 하는 경우 메모리 셀 2는 메모리 셀 0과 동시에 프로그램되기 때 문에 검출되는 소스 데이터들은 메모리 셀 0 및 2를 제외한 메모리 셀들 1, 3, 4 내지 7의 소스 데이터들이 된다.
이때, 검출되는 소스 데이터들은 프로그램될 메모리 셀과 이웃하는 메모리 셀들의 소스 데이터들일 수 있다.
이때, 검출되는 소스 데이터들은 이웃하는 메모리 셀들 중 프로그램 하고자 하는 메모리 셀보다 늦게 프로그램되는 메모리 셀들의 소스 데이터들일 수 있다.
이때, 검출되는 소스 데이터들은 프로그램 하고자 하는 메모리 셀과 플로팅 폴리 커플링(floating poly coupling)의 영향을 받는 메모리 셀들의 소스 데이터들일 수 있다.
문턱 전압에 영향을 주는 소스 데이터들이 검출되면 검출된 소스 데이터들을 기초로 프로그램 하고자 하는 메모리 셀의 문턱 전압의 변화 값을 계산한다(S430).
이때, 본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 방법은 검출된 메모리 셀들의 소스 데이터들에 의해 발생되는 메모리 셀들과 프로그램 하고자 하는 메모리 셀간의 플로팅 폴리 커플링(floating poly coupling) 효과를 기초로 문턱 전압의 변화 값을 계산할 수 있다.
이때, 프로그램 하고자 하는 메모리 셀의 문턱 전압의 변화 값은 메모리 셀들에 프로그램될 수 있는 소스 데이터들 각각에 따라 변화되는 문턱 전압 값들을 기초로 계산될 수 있다. 여기서, 소스 데이터들 각각에 따라 변화되는 문턱 전압 값은 사용되는 코드 체계에 따라 달라질 수 있고, 소스 데이터들 각각에 따라 변화되는 문턱 전압 값은 측정 및 시뮬레이션 등과 같은 과정을 통해 얻어질 수 있다. 이때, 소스 데이터들 각각에 따라 변화되는 문턱 전압 값들은 기 결정된 값들 또는 확률적인 분포를 가진 값들로 표현될 수 있다.
이때, 프로그램 하고자 하는 메모리 셀의 문턱 전압의 변화 값은 문턱 전압에 영향을 주는 메모리 셀들의 소스 데이터들 뿐만 아니라 메모리 셀들의 채널 특성들을 기초로 계산될 수 있다.
이웃하는 메모리 셀들의 소스 데이터들 또는 프로그램 하고자 하는 메모리 셀보다 늦게 프로그램될 메모리 셀들의 소스 데이터들에 의한 문턱 전압의 변화 값을 기초로 프로그램될 메모리 셀의 소스 데이터를 변환한다(S440).
이때, 메모리 셀의 소스 데이터는 메모리 셀에 프로그램 하고자 하는 소스 테이터에 상응하는 문턱 전압과 단계 S430에 의해 계산된 문턱 전압의 변화 값 사이의 차에 해당하는 문턱 전압을 갖는 데이터로 변환될 수 있다.
계산된 문턱 전압의 변화 값을 기초로 소스 데이터가 변환된 데이터를 메모리 셀에 프로그램한다(S450).
본 발명에 따른 메모리 셀의 데이터 프로그램 방법에서 알 수 있듯이, 메모리 셀에 프로그램되는 데이터는 실제 프로그램 하고자 하는 소스 데이터가 아니고, 프로그램된 후 이웃하는 메모리 셀들의 데이터들에 의한 플로팅 폴리 커플링을 고려하여 변환된 문턱 전압이 실제 프로그램 하고자 하는 소스 데이터가 될 수 있는 데이터가 된다.
이와 같이 본 발명은 쉐도우 프로그램밍과 비교할 때 메모리 셀의 프로그램 회수를 줄이면서 데이터의 오류를 줄일 수 있다.
본 발명에 따른 메모리 셀의 데이터 프로그램 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명의 일 실시예에 따른 메모리 셀의 데이터 프로그램 장치 및 그 방법은, 메모리 셀들간 발생하는 플로팅 폴리 커플링을 고려하여 데이터를 프로그램함으로써, 발생할 수 있는 비트 오류 확률을 줄이고 총 프로그램 횟수를 줄여 메모리 셀의 사용 기간을 늘릴 수 있다.
또한, 본 발명은 플로팅 폴리 커플링에 의해 변화되는 문턱 전압의 변화 값을 고려하여 메모리 셀에 프로그램될 데이터를 변환한 후 프로그램하여 프로그램 시간을 줄일 수 있다.
또한, 본 발명은 소스 데이터들의 모든 코드 체계에 적용할 수 있다.

Claims (21)

  1. 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하는 단계;
    계산된 상기 문턱 전압의 변화 값을 기초로 프로그램될 소스 데이터를 변환하는 단계; 및
    변환된 상기 소스 데이터를 프로그램하는 단계
    를 포함하는 메모리 셀의 데이터 프로그램 방법.
  2. 제1항에 있어서,
    상기 문턱 전압의 변화 값을 계산하는 단계는
    상기 메모리 셀들 중 이웃하는 메모리 셀들의 소스 데이터들을 기초로 상기 문턱 전압이 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  3. 제2항에 있어서,
    상기 메모리 셀의 데이터 프로그램 방법은
    소스 데이터들을 수신하는 단계; 및
    수신된 상기 소스 데이터들 중 이웃하는 상기 메모리 셀들의 소스 데이터들을 검출하는 단계
    를 더 포함하고,
    상기 문턱 전압의 변화값을 계산하는 단계는
    검출된 상기 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  4. 제2항에 있어서,
    상기 문턱 전압의 변화 값을 계산하는 단계는
    이웃하는 상기 메모리 셀들 중 프로그램될 메모리 셀들의 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  5. 제1항에 있어서,
    상기 문턱 전압의 변화 값을 계산하는 단계는
    상기 메모리 셀들의 소스 데이터들에 의한 플로팅 폴리 커플링(floating poly coupling) 효과를 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  6. 제1항에 있어서,
    상기 소스 데이터를 변환하는 단계는
    상기 소스 데이터를 상기 소스 데이터에 상응하는 문턱 전압과 계산된 상기 문턱 전압의 변화 값 사이의 차에 비례하는 데이터로 변환하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  7. 제1항에 있어서,
    상기 문턱 전압의 변화 값을 계산하는 단계는
    상기 메모리 셀들의 소스 데이터들 및 채널 특성들을 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  8. 제1항에 있어서,
    상기 메모리 셀들은
    플래시 메모리 셀들을 포함하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  9. 제8항에 있어서,
    상기 메모리 셀들은
    MLC(multi level cell) 방식의 메모리 셀들을 포함하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  10. 제8항에 있어서,
    상기 메모리 셀들은
    SLC(single level cell) 방식의 메모리 셀들을 포함하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 방법.
  11. 제1항 내지 제10항 중 어느 하나의 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  12. 메모리 셀들;
    상기 메모리 셀들의 소스 데이터들을 기초로 문턱 전압의 변화 값을 계산하는 전압 변화 계산부;
    계산된 상기 문턱 전압의 변화 값을 기초로 프로그램될 소스 데이터를 변환하는 데이터 변환부; 및
    변환된 상기 소스 데이터를 프로그램하는 프로그램부
    를 포함하는 메모리 셀의 데이터 프로그램 장치.
  13. 제12항에 있어서,
    상기 전압 변화 계산부는
    상기 메모리 셀들 중 이웃하는 메모리 셀들의 소스 데이터들을 기초로 상기 문턱 전압이 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
  14. 제13항에 있어서,
    상기 메모리 셀의 데이터 프로그램 장치는
    소스 데이터들을 수신하는 수신부; 및
    수신된 상기 소스 데이터들 중 이웃하는 상기 메모리 셀들의 소스 데이터들을 검출하는 검출부
    를 더 포함하고,
    상기 전압 변화 계산부는
    검출된 상기 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
  15. 제13항에 있어서,
    상기 전압 변화 계산부는
    이웃하는 상기 메모리 셀들 중 프로그램될 메모리 셀들의 소스 데이터들을 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
  16. 제12항에 있어서,
    상기 전압 변화 계산부는
    상기 메모리 셀들의 소스 데이터들에 의한 플로팅 폴리 커플링(floating poly coupling) 효과를 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으 로 하는 메모리 셀의 데이터 프로그램 장치.
  17. 제12항에 있어서,
    상기 데이터 변환부는
    상기 소스 데이터를 상기 소스 데이터에 상응하는 문턱 전압과 상기 전압 변화 계산부에 의해 계산된 상기 문턱 전압의 변화 값 사이의 차에 비례하는 데이터로 변환하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
  18. 제12항에 있어서,
    상기 전압 변화 계산부는
    상기 메모리 셀들의 소스 데이터들 및 채널 특성들을 기초로 상기 문턱 전압의 변화 값을 계산하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
  19. 제12항에 있어서,
    상기 메모리 셀들은
    플래시 메모리 셀들을 포함하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
  20. 제19항에 있어서,
    상기 메모리 셀들은
    MLC(multi level cell) 방식의 메모리 셀들을 포함하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
  21. 제19항에 있어서,
    상기 메모리 셀들은
    SLC(single level cell) 방식의 메모리 셀들을 포함하는 것을 특징으로 하는 메모리 셀의 데이터 프로그램 장치.
KR1020070056317A 2007-06-08 2007-06-08 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법 KR100892583B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070056317A KR100892583B1 (ko) 2007-06-08 2007-06-08 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법
US11/905,674 US7639539B2 (en) 2007-06-08 2007-10-03 Method and apparatus for programming data of memory cells considering floating poly coupling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070056317A KR100892583B1 (ko) 2007-06-08 2007-06-08 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법

Publications (2)

Publication Number Publication Date
KR20080107921A true KR20080107921A (ko) 2008-12-11
KR100892583B1 KR100892583B1 (ko) 2009-04-08

Family

ID=40095744

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070056317A KR100892583B1 (ko) 2007-06-08 2007-06-08 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법

Country Status (2)

Country Link
US (1) US7639539B2 (ko)
KR (1) KR100892583B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411510B2 (en) 2010-03-04 2013-04-02 Samsung Electronics Co., Ltd. Flash memory device, memory system and method of operating the same
US9224485B2 (en) 2012-01-09 2015-12-29 Samsung Electronics Co., Ltd. Nonvolatile memory device and method of programming the same minimizing disturbance from adjacent cells

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101528167B1 (ko) * 2008-08-01 2015-06-12 삼성전자주식회사 메모리 장치 및 메모리 데이터 판정 방법
KR101572833B1 (ko) * 2009-06-24 2015-12-01 삼성전자주식회사 플래시 메모리 프리프로세싱 시스템 및 그 방법
KR20110055178A (ko) * 2009-11-19 2011-05-25 삼성전자주식회사 플래시 메모리 장치 및 그것을 포함한 메모리 시스템
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5450363A (en) * 1994-06-02 1995-09-12 Intel Corporation Gray coding for a multilevel cell memory system
KR20010011501A (ko) 1999-07-28 2001-02-15 김영환 메모리셀 어레이의 프로그램 간섭 방지회로
US6278633B1 (en) * 1999-11-05 2001-08-21 Multi Level Memory Technology High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations
KR100319636B1 (ko) * 1999-12-14 2002-01-05 박종섭 플래시 메모리 프로그램 제어 회로
US6504760B1 (en) * 2001-06-22 2003-01-07 Intel Corporation Charging a capacitance of a memory cell and charger
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6714457B1 (en) * 2001-09-19 2004-03-30 Aplus Flash Technology, Inc. Parallel channel programming scheme for MLC flash memory
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US6987693B2 (en) * 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7474561B2 (en) * 2006-10-10 2009-01-06 Sandisk Corporation Variable program voltage increment values in non-volatile memory program operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411510B2 (en) 2010-03-04 2013-04-02 Samsung Electronics Co., Ltd. Flash memory device, memory system and method of operating the same
US9224485B2 (en) 2012-01-09 2015-12-29 Samsung Electronics Co., Ltd. Nonvolatile memory device and method of programming the same minimizing disturbance from adjacent cells

Also Published As

Publication number Publication date
US7639539B2 (en) 2009-12-29
KR100892583B1 (ko) 2009-04-08
US20080304323A1 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
US9122626B2 (en) Linearly related threshold voltage offsets
KR100892583B1 (ko) 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법
US9367389B2 (en) Recovery strategy that reduces errors misidentified as reliable
US9153336B1 (en) Decoder parameter estimation using multiple memory reads
US8760932B2 (en) Determination of memory read reference and programming voltages
US8243511B2 (en) Reuse of information from memory read operations
KR100838292B1 (ko) 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
US9342399B2 (en) Threshold voltage calibration using reference pattern detection
CN104205225A (zh) 使用多次读取和/或仓来生成软读取值
US10176867B2 (en) Estimation of level-thresholds for memory cells
JP5524866B2 (ja) 格納されたデータの誤りに基づいて基準電圧を制御するメモリデータ検出装置
US11301323B2 (en) Customized parameterization of read parameters after a decoding failure for solid state storage devices
KR20140099196A (ko) 판독 전압 적응을 위한 보상 루프
KR20130127686A (ko) 비휘발성 메모리 장치의 데이터 프로그래밍 수행 방법 및 장치와 이에 이용되는 데이터 프로그래밍 모드 설정 방법 및 장치
US10607709B1 (en) System and method for efficient read-flow by inter-cell interference decoupling for NAND flash memories
US7800954B2 (en) Apparatus for reading data and method using the same
US9477540B2 (en) Multi-stage codeword detector
US11374595B2 (en) Method for selectively inverting words to be written to a memory and device for implementing same
JP5385261B2 (ja) データ読取装置およびその方法
US20100287447A1 (en) Memory system identifying and correcting erasure using repeated application of read operation
US8145968B2 (en) Method of determining binary signal of memory cell and apparatus thereof
CN116092568A (zh) 闪存llr的预测方法及装置
KR101761283B1 (ko) 데이터 감지방법
KR101361238B1 (ko) 간섭 채널 환경에서의 오류 정정 방법 및 회로, 이를 이용한 플래시 메모리 장치

Legal Events

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

Payment date: 20190329

Year of fee payment: 11