KR101292574B1 - 멀티 비트 프로그래밍 장치 및 방법 - Google Patents

멀티 비트 프로그래밍 장치 및 방법 Download PDF

Info

Publication number
KR101292574B1
KR101292574B1 KR1020070101061A KR20070101061A KR101292574B1 KR 101292574 B1 KR101292574 B1 KR 101292574B1 KR 1020070101061 A KR1020070101061 A KR 1020070101061A KR 20070101061 A KR20070101061 A KR 20070101061A KR 101292574 B1 KR101292574 B1 KR 101292574B1
Authority
KR
South Korea
Prior art keywords
data
bit
page
programming
page programming
Prior art date
Application number
KR1020070101061A
Other languages
English (en)
Other versions
KR20090035988A (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 KR1020070101061A priority Critical patent/KR101292574B1/ko
Priority to US12/073,100 priority patent/US7804726B2/en
Priority to JP2010528782A priority patent/JP5291111B2/ja
Priority to PCT/KR2008/001826 priority patent/WO2009048211A1/en
Publication of KR20090035988A publication Critical patent/KR20090035988A/ko
Application granted granted Critical
Publication of KR101292574B1 publication Critical patent/KR101292574B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5647Multilevel memory with bit inversion arrangement

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

멀티 비트 프로그래밍 장치 및 방법이 제공된다. 본 발명의 멀티 비트 프로그래밍 장치는 페이지 프로그래밍 동작의 제1 데이터를 저장하는 페이지 버퍼, 하나 이상의 비트를 포함하는 상기 제1 데이터 중 프로그램 알고리즘에 기초하여 상기 제1 데이터의 반전 여부를 결정하고, 상기 결정된 반전 여부에 따라 제2 데이터를 생성하고, 상기 제2 데이터를 상기 페이지 버퍼에 저장하는 입력 제어부, 및 상기 페이지 버퍼에 저장된 제2 데이터를 하나 이상의 멀티 비트 셀에 프로그래밍하는 페이지 프로그래밍부를 포함하며, 이를 통해 FP 커플링에 의한 데이터 오염을 최소화할 수 있다.
FP 커플링, 멀티 비트 셀, 데이터 플립

Description

멀티 비트 프로그래밍 장치 및 방법 {APPARATUS AND METHOD OF MULTI-BIT PROGRAMMING}
본 발명은 메모리 장치에 데이터를 프로그래밍하는 장치 및 방법에 관한 것으로, 보다 상세하게는 멀티 레벨 메모리 장치에 데이터를 멀티 레벨(멀티 비트) 프로그래밍하는 장치 및 방법에 관한 것이다.
싱글 레벨 셀(SLC: single-level cell) 메모리는 하나의 메모리 셀에 1비트의 데이터를 저장하는 메모리이다. 싱글 레벨 셀 메모리는 싱글 비트 셀(SBC: single-bit cell) 메모리로도 불린다. 싱글 레벨 셀 메모리에서는 1비트의 데이터는 메모리 셀에 프로그램된 문턱 전압(threshold voltage)에 의하여 구분되는 2개의 산포(distribution)에 포함되는 전압으로 저장되고, 판독된다. 싱글 레벨 셀 메모리들 간의 미세한 전기적 특성의 차이로 인해 프로그램된 문턱 전압은 일정한 범위의 산포를 가지게 된다. 예를 들어, 메모리 셀로부터 판독된 전압이 0.5-1.5 볼트인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "1"이고, 메모리 셀로부터 판독된 전압이 2.5-3.5 볼트인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "0"으로 해석된다. 메모리 셀에 저장된 데이터는 판독 동작 시 셀 전류/전압의 차이에 의하여 구분된다.
한편 메모리의 고집적화 요구에 응답하여 하나의 메모리 셀에 2비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC: multi-level cell) 메모리가 제안되었다. 멀티 레벨 셀 메모리는 멀티 비트 셀(MBC: multi-bit cell) 메모리로도 불린다. 그러나, 하나의 메모리 셀에 저장하는 비트의 수가 증가할수록 신뢰성은 떨어지고, 판독 실패율(read failure rate)은 증가하게 된다. 하나의 메모리 셀에 m개의 비트를 저장하려면, 2m개의 산포(distribution)를 형성하여야 한다. 그러나, 메모리의 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가함에 따라 인접한 산포들 간의 문턱 전압(threshold)의 차이는 줄어들게 되고, 이에 따라 판독 실패율이 증가한다. 이러한 이유로 종래기술에 따르면, 멀티 레벨 셀(MLC: multi-level cell) 메모리를 이용한 저장 밀도의 향상이 용이하지 않았다.
따라서, 멀티 레벨 셀 메모리의 이용이 최근의 추세로 확산되고 있는 가운데, 데이터를 저장하는 과정에서 문턱 전압의 산포를 정밀하게 제어하기 위한 새로운 멀티 레벨(멀티 비트) 프로그래밍 장치 및 방법의 개발의 필요성이 증대되었다.
본 발명은 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 데이터 저장 시의 문턱 전압의 산포를 정밀하게 제어하는 것을 목적으로 한다.
또한, 본 발명은 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 부유 폴리실리콘(floating poly-silicon, FP) 커플링에 의한 문턱 전압의 변화를 감소시키는 것을 목적으로 한다. 본 발명은 FP 커플링에 의한 문턱 전압의 변화를 감소시킴으로써, 인접한 멀티 레벨 셀들의 데이터 오염을 감소시키고, 멀티 레벨 셀 메모리에 저장된 데이터의 판독 실패율(read failure rate)을 감소시키는 것을 목적으로 한다.
또한, 본 발명은 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 데이터 저장 시의 디스터번스(disturbance)의 발생 가능성을 감소시키는 것을 목적으로 한다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 멀티 비트 프로그래밍 장치는 페이지 프로그래밍 동작의 제1 데이터를 저장하는 페이지 버퍼, 하나 이상의 비트를 포함하는 상기 제1 데이터 중 1과 0의 개수에 기초하여 상기 제1 데이터의 반전 여부를 결정하고, 상기 결정된 반전 여부에 따라 제2 데이터를 생성하고, 상기 제2 데이터를 상기 페이지 버퍼에 저장하는 입력 제어부, 및 상기 페이지 버퍼에 저장된 제2 데이터를 하나 이상의 멀티 비트 셀에 프로그래밍하는 페이지 프로그래밍부를 포함하는 것을 특징으로 한다.
또한, 본 발명의 또 다른 측면에 따른 멀티 비트 프로그래밍 장치는 N번의 페이지 프로그래밍 동작의 데이터를 저장하는 메모리, 상기 데이터 중 위험 패턴을 식별하는 위험 패턴 식별부, 및 상기 식별된 위험 패턴에 대응하는 제1 멀티 비트 셀의 문턱 전압을 제1 변화량만큼 변화시킴으로써 상기 데이터 중 제1 데이터를 상기 제1 멀티 비트 셀에 저장하고, 상기 제1 멀티 비트 셀을 제외한 제2 멀티 비트 셀의 문턱 전압을 제2 변화량만큼 변화시킴으로써 상기 데이터 중 상기 제1 데이터를 제외한 제2 데이터를 상기 제2 멀티 비트 셀에 저장하는 페이지 프로그래밍부를 포함하는 것을 특징으로 한다.
또한, 본 발명의 또 다른 측면에 따른 멀티 비트 프로그래밍 방법은 페이지 프로그래밍 동작의 제1 데이터를 페이지 버퍼에 저장하는 단계, 하나 이상의 비트를 포함하는 상기 제1 데이터 중 '1'과 '0'의 개수를 계수하는 단계, 상기 제1 데이터 중 '1'과 '0'의 개수에 기초하여 상기 제1 데이터의 반전 여부를 결정하는 단계, 상기 결정된 반전 여부에 따라 상기 제1 데이터로부터 제2 데이터를 생성하는 단계, 상기 제2 데이터를 상기 제1 데이터에 대신하여 상기 페이지 버퍼에 저장하는 단계, 및 상기 페이지 버퍼에 저장된 제2 데이터를 하나 이상의 멀티 비트 셀에 프로그래밍하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 또 다른 측면에 따른 멀티 비트 프로그래밍 방법은 N번의 페이지 프로그래밍 동작에 사용되는 데이터를 저장하는 단계, 상기 데이터 중 위험 패턴을 식별하는 단계, 상기 식별된 위험 패턴에 대응하는 제1 멀티 비트 셀의 문턱 전압을 제1 변화량만큼 변화시키는 단계, 및 상기 제1 멀티 비트 셀을 제외한 제2 멀티 비트 셀의 문턱 전압을 제2 변화량만큼 변화시키는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 데이터 저장 시의 문턱 전압의 산포를 정밀하게 제어할 수 있다.
또한, 본 발명에 따르면 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 부유 폴리실리콘(floating poly-silicon, FP) 커플링에 의한 문턱 전압의 변화를 감소시킬 수 있다. 본 발명은 FP 커플링에 의한 문턱 전압의 변화를 감소시킴으로써, 인접한 멀티 레벨 셀들의 데이터 오염을 감소시키고, 멀티 레벨 셀 메모리에 저장된 데이터의 판독 실패율(read failure rate)을 감소시킬 수 있다.
또한, 본 발명에 따르면 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 데이터 저장 시의 디스터번스(disturbance)의 발생 가능성을 감소시킬 수 있다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상 세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 멀티 비트 프로그래밍 장치(100)를 나타낸 도면이다.
도 1을 참조하면, 멀티 비트 프로그래밍 장치(100)는 페이지 버퍼(110), 입력 제어부(120) 및 페이지 프로그래밍부(130)를 포함한다.
페이지 버퍼(110)는 페이지 프로그래밍 동작의 제1 데이터를 저장한다.
제1 데이터는 하나 이상의 비트를 포함한다.
입력 제어부(120)는 제1 데이터 중 '1'과 '0'의 개수에 기초하여 제1 데이터의 반전 여부를 결정하고, 상기 결정된 반전 여부에 따라 제2 데이터를 생성하고, 상기 제2 데이터를 상기 페이지 버퍼(110)에 저장한다.
입력 제어부(120)가 제1 데이터의 반전 여부를 결정한 경우, 입력 제어부(120)는 제1 데이터를 반전하여 제2 데이터를 생성한다.
입력 제어부(120)가 제1 데이터를 반전하지 않기로 결정한 경우, 입력 제어부(120)는 제1 데이터를 그대로 유지하여 제2 데이터를 생성한다.
페이지 프로그래밍부(130)는 페이지 버퍼(110)에 저장된 제2 데이터를 하나 이상의 멀티 비트 셀에 프로그래밍한다.
도 2는 본 발명의 다른 실시예에 따른 멀티 비트 프로그래밍 장치(200)를 나타낸 도면이다.
도 2를 참조하면, 멀티 비트 프로그래밍 장치(200)는 페이지 버퍼(210), 입력 제어부(220), 페이지 프로그래밍부(230) 및 멀티 비트 셀 어레이(240)를 포함한다.
페이지 버퍼(210)는 페이지 프로그래밍 동작의 제1 데이터를 저장한다.
제1 데이터는 복수의 비트를 포함한다.
멀티 비트 프로그래밍 장치(200)는 페이지 프로그래밍 동작을 N번 수행하고, 페이지 버퍼(210)는 페이지 프로그래밍 동작 각각마다, 현재 수행되는 페이지 프로그래밍 동작의 제1 데이터를 저장한다. 페이지 프로그래밍 동작 각각은 1비트의 데이터에 대응한다. 즉, 제1 비트를 프로그래밍하는 과정을 제1 페이지 프로그래밍 동작, 제2 비트를 프로그래밍하는 과정을 제2 페이지 프로그래밍이라 한다.
멀티 비트 프로그래밍 장치(200)가 수행하는 N번의 프로그래밍 동작은, 하나 이상의 멀티 비트 셀 각각에 프로그래밍되는 N비트의 데이터에 대응한다.
페이지 프로그래밍 동작 각각은 복수의 단위 프로그래밍 동작을 포함한다. 단위 프로그래밍 동작의 수행 횟수는 프로그래밍 알고리즘에 따라 결정된다.
실시예에 따라서는, 다음의 방법에 의해 단위 프로그래밍 동작의 수행 횟수가 결정될 수 있다.
단위 프로그래밍 동작 각각이 종료될 때마다, 멀티 비트 프로그래밍 장치(200)는 멀티 비트 셀 각각의 문턱 전압을 검출한다. 멀티 비트 프로그래밍 장치(200)는 멀티 비트 셀 각각의 검출된 문턱 전압을 임계 전압과 비교하고, 비교 결과에 따라 멀티 비트 셀 각각에 대하여 다음 단위 프로그래밍 동작을 수행할 것인지 여부를 결정한다.
본 실시예에서는 단위 프로그래밍 동작은 멀티 비트 셀의 문턱 전압을 증가시키는 동작이라고 가정한다. 비교 결과가 제1 멀티 비트 셀의 문턱 전압이 검증 전압보다 낮음을 나타내면, 멀티 비트 프로그래밍 장치(200)는 제1 멀티 비트 셀에 대하여 다음 단위 프로그래밍 동작을 수행한다. 비교 결과가 제2 멀티 비트 셀의 문턱 전압이 검증 전압보다 높거나 같음을 나타내면, 멀티 비트 프로그래밍 장치(200)는 제2 멀티 비트 셀에 대하여 다음 단위 프로그래밍 동작을 수행하지 않는다.
입력 제어부(220)는 제1 데이터 중 '1'과 '0'의 개수에 기초하여 제1 데이터의 반전 여부를 결정하고, 결정된 반전 여부에 따라 제2 데이터를 생성한다.
입력 제어부(220)는 생성된 제2 데이터를 제1 데이터에 대신하여 페이지 버퍼(210)에 오버라이트한다.
입력 제어부(220)는 페이지 프로그래밍 동작 각각마다, 현재 수행되는 페이지 프로그래밍 동작의 제1 데이터의 반전 여부를 결정한다.
입력 제어부(220)는 페이지 프로그래밍 동작 각각마다 제1 데이터의 반전 여부를 결정함에 있어, N번의 페이지 프로그래밍 동작의 제1 데이터를 모두 또는 선택적으로 고려할 수 있다.
페이지 프로그래밍 동작이 N번 수행되므로 페이지 프로그래밍 동작은 1부터 N까지의 순번을 가진다. 입력 제어부(220)는 (N-1) 번째 페이지 프로그래밍 동작의 제1 데이터의 반전 여부를 결정함에 있어, 첫번째부터 N번째 페이지 프로그래밍 동작의 제1 데이터를 모두 고려할 수 있다.
입력 제어부(220)는 현재 수행되는 페이지 프로그래밍 동작의 순번에 기초하여 제1 데이터의 반전 여부를 결정한다.
입력 제어부(220)는 (N-1) 번째 페이지 프로그래밍 동작의 제1 데이터의 반전 여부를 결정함에 있어, 제1 데이터 중 '1'과 '0'의 개수 및 페이지 프로그래밍 동작의 순번이 (N-1) 임에 기초하여 제1 데이터의 반전 여부를 결정한다.
페이지 프로그래밍부(230)는 페이지 버퍼(210)에 저장된 제2 데이터를 멀티 비트 셀 어레이(240) 내의 페이지(250)에 프로그래밍한다. 페이지(250)는 하나의 워드 라인에 연결된 복수의 멀티 비트 셀들을 포함한다. 페이지(250)는 제1 데이터의 비트 수와 동일한 개수의 멀티 비트 셀들을 포함한다.
실시예에 따라서는, 입력 제어부(220)는 (N-1) 번째 페이지 프로그래밍 동작의 제1 데이터 중 1이 0보다 많으면, (N-1) 번째 페이지 프로그래밍 동작의 제1 데이터를 반전하여 제2 데이터를 생성한다.
실시예에 따라서는, 입력 제어부(220)는 N번째 페이지 프로그래밍 동작의 제1 데이터 중 0이 1보다 많으면, N번째 페이지 프로그래밍 동작의 제1 데이터를 반전하여 제2 데이터를 생성한다.
도 3 및 도 4는 N이 4인 실시예에 따라 입력 제어부(220)가 수행하는 제1 데이터의 반전 과정을 도시하는 도면이다.
도 3 및 도 4를 참조하면, 데이터(310)는 첫번째 페이지 프로그래밍 동작의 제1 데이터이고, 데이터(410)는 첫번째 페이지 프로그래밍 동작의 제2 데이터이다.
입력 제어부(220)는 데이터(310)에 기초하여 데이터(410)를 생성한다.
입력 제어부(220)는 생성된 데이터(410)를 페이지 버퍼(210)에 저장한다. 이 때, 입력 제어부(220)는 페이지 버퍼(210)에 저장된 데이터(310)에 대신하여 데이터(410)를 오버라이트한다.
일반적으로, 페이지 버퍼(210)는 스태틱 랜덤 억세스 메모리(Static Random Access Memory, SRAM)이거나 SRAM과 유사한 기능을 수행할 수 있는 메모리로 구성된다. 페이지 버퍼(210)가 K비트의 데이터를 저장하는 경우에, 페이지 프로그래밍부(230)는 동시에 K비트의 데이터를 페이지(250)에 프로그래밍한다. 이 때, 페이지(250)는 K개의 멀티 비트 셀을 포함한다.
도 3 및 도 4는 페이지 버퍼(210)가 4비트의 데이터를 저장하는 실시예를 도시한다.
페이지 버퍼(210)가 4비트의 데이터를 저장하므로, 페이지(250)는 4비트의 멀티 비트 셀을 포함한다. 페이지 프로그래밍부(230)는 동시에 4비트의 데이터를 페이지(250)에 프로그래밍한다.
데이터(410)는 첫번째 페이지 프로그래밍 동작 동안에 페이지 프로그래밍부(230)에 의해 페이지(250)에 프로그래밍된다.
데이터(410)의 첫번째 비트는 페이지(250)의 첫번째 멀티 비트 셀에 프로그래밍된다. 마찬가지로, 데이터(410)의 두번째 비트는 페이지(250)의 두번째 멀티 비트 셀에 프로그래밍된다.
데이터 열(column)(450)은 첫번째 멀티 비트 셀에 프로그래밍되는 멀티 비 트 데이터를 나타낸다. 데이터 열(460)은 두번째 멀티 비트 셀에 프로그래밍되는 멀티 비트 데이터를 나타낸다.
실시예에 따라서는, 하나의 멀티 비트 셀에 프로그래밍되는 데이터 중 첫번째 페이지 프로그래밍 동작 동안 프로그래밍되는 데이터가 가장 의미가 큰 비트(most significant bit, MSB)이고 네번째 페이지 프로그래밍 동작 동안 프로그래밍되는 데이터가 가장 의미가 작은 비트(least significant bit, LSB)일 수 있다.
도 3 및 도 4에 도시된 데이터를 참고로 설명하면, 첫번째 멀티 비트 셀에 프로그래밍되는 멀티 비트 데이터는 "1011"이다(데이터 열(450)참조). 만일 본 발명의 멀티 프로그래밍 장치에 의하지 않는다면, 첫번째 멀티 비트 셀에 프로그래밍되는 멀티 비트 데이터는 "0111"이다(도 3에 도시된 데이터 열(350) 참조).
데이터(320)는 두번째 페이지 프로그래밍 동작의 제1 데이터이고, 데이터(420)는 두번째 페이지 프로그래밍 동작의 제2 데이터이다.
입력 제어부(220)는 데이터(320)에 기초하여 데이터(420)를 생성한다.
입력 제어부(220)는 생성된 데이터(420)를 페이지 버퍼(210)에 저장한다. 이 때, 입력 제어부(220)는 페이지 버퍼(210)에 저장된 데이터(320)에 대신하여 데이터(420)를 오버라이트한다.
페이지 프로그래밍부(230)는 두번째 페이지 프로그래밍 동작 동안, 페이지 버퍼(210)에 저장된 데이터(420)를 페이지(250)에 프로그래밍한다.
입력 제어부(220)는 첫번째 페이지 프로그래밍 동작 및 두번째 페이지 프로그래밍 동작의 제1 데이터인 데이터(310) 및 데이터(410)를 반전하지 않는 것으 로 결정할 수 있다. 도 3 및 도 4에 도시된 바와 같이, 데이터(410)는 데이터(310)와 동일하고, 데이터(420)는 데이터(320)과 동일하다.
데이터(330)는 세번째 페이지 프로그래밍 동작의 제1 데이터이고, 데이터(430)는 세번째 페이지 프로그래밍 동작의 제2 데이터이다.
입력 제어부(220)는 데이터(330)에 기초하여 데이터(430)를 생성한다.
입력 제어부(220)는 생성된 데이터(430)를 페이지 버퍼(210)에 저장한다. 이 때, 입력 제어부(220)는 페이지 버퍼(210)에 저장된 데이터(330)에 대신하여 데이터(430)를 오버라이트한다.
페이지 프로그래밍부(230)는 세번째 페이지 프로그래밍 동작 동안, 페이지 버퍼(210)에 저장된 데이터(430)를 페이지(250)에 프로그래밍한다.
입력 제어부(220)는 현재 수행되는 페이지 프로그래밍 동작이 (N-1)번째 페이지 프로그래밍 동작인지 여부를 판단한다. 본 실시예는 N이 4인 경우의 실시예이므로, 입력 제어부(220)는 현재 수행되는 페이지 프로그래밍 동작이 세번째 페이지 프로그래밍 동작인지 여부를 판단한다.
입력 제어부(220)는 세번째 페이지 프로그래밍 동작의 제1 데이터인 데이터(330) 중 '1'과 '0'의 개수를 계수(count)한다. 데이터(330) 중 '1'이 '0'보다 많으면, 입력 제어부(220)는 데이터(330)를 반전하여 데이터(430)를 생성한다.
데이터(330)는 3개의 '1'과 1개의 '0'을 포함하므로, 입력 제어부(220)는 데이터(330)를 반전하여 데이터(430)를 생성한다.
실시예에 따라서는, 멀티 비트 프로그래밍 장치(200)는 데이터(330)의 반 전 여부에 대응하는 플래그(493)를 생성할 수 있다.
본 실시예에서는, 플래그(493)는 데이터(430)가 데이터(330)의 반전으로 생성되었음을 나타내는 값인 '1'을 가진다.
데이터(410)는 데이터(310)의 반전 없이 생성되었으므로, 플래그(491)는 반전 없이 생성되었음을 나타내는 값인 '0'을 가진다.
마찬가지로, 데이터(420)는 데이터(320)의 반전 없이 생성되었으므로, 플래그(492)의 값은 '0'이다.
실시예에 따라서는, 데이터(430)가 데이터(330)의 반전으로 생성된 경우에, 플래그(493)는 '0'의 값을 가질 수 있다.
데이터(340)는 네번째 페이지 프로그래밍 동작의 제1 데이터이고, 데이터(440)는 네번째 페이지 프로그래밍 동작의 제2 데이터이다.
입력 제어부(220)는 데이터(340)에 기초하여 데이터(440)를 생성한다.
입력 제어부(220)는 생성된 데이터(440)를 페이지 버퍼(210)에 저장한다. 이 때, 입력 제어부(220)는 페이지 버퍼(210)에 저장된 데이터(340)에 대신하여 데이터(440)를 오버라이트한다.
페이지 프로그래밍부(230)는 네번째 페이지 프로그래밍 동작 동안, 페이지 버퍼(210)에 저장된 데이터(440)를 페이지(250)에 프로그래밍한다.
입력 제어부(220)는 현재 수행되는 페이지 프로그래밍 동작이 N번째 페이지 프로그래밍 동작인지 여부를 판단한다. 본 실시예는 N이 4인 경우의 실시예이므로, 입력 제어부(220)는 현재 수행되는 페이지 프로그래밍 동작이 네번째 페이지 프로그래밍 동작인지 여부를 판단한다.
입력 제어부(220)는 네번째 페이지 프로그래밍 동작의 제1 데이터인 데이터(340) 중 '1'과 '0'의 개수를 계수(count)한다. 데이터(340) 중 '0'이 '1'보다 많으면, 입력 제어부(220)는 데이터(340)를 반전하여 데이터(440)를 생성한다.
데이터(340)는 1개의 '1'과 3개의 '0'을 포함하므로, 입력 제어부(220)는 데이터(340)를 반전하여 데이터(440)를 생성한다.
플래그(494)는 데이터(440)가 데이터(340)의 반전으로 생성되었음을 나타내는 값인 '1'을 가진다.
실시예에 따라서는, 멀티 비트 프로그래밍 장치(200)는 플래그(491, 492, 493, 494)를 저장하는 플래그 저장부를 더 포함할 수 있다.
4번의 페이지 프로그래밍 동작이 모두 종료되면, 첫번째 멀티 비트 셀에는 "1011"이 프로그램된다(데이터 열(450) 참조). 두번째 멀티 비트 셀에는 "0011"이 프로그램된다(데이터 열(460) 참조). 세번째 멀티 비트 셀에는 "1011"이 프로그램된다(데이터 열(470) 참조). 네번째 멀티 비트 셀에는 "1111"이 프로그램된다(데이터 열(480) 참조).
데이터 열(350, 360, 370, 380)은 본 발명의 멀티 비트 프로그래밍 장치(200)에 의하지 않을 경우에 페이지(250)의 멀티 비트 셀들에 프로그램되는 데이터를 나타낸다.
본 발명의 멀티 비트 프로그래밍 장치(200)는 멀티 비트 셀에 "0111"이 프로그램되는 경우를 감소시킬 수 있다. 하나의 멀티 비트 셀에 "0111"이 프로그램 되는 경우의 문제점은 아래 도 6의 설명 과정에서 설명하기로 한다.
도 3에 도시된 바와 같이, 제1 데이터에 의하면 첫번째 멀티 비트 셀 및 세번째 멀티 비트 셀에 "0111"이 프로그램되는 경우가 발생한다. 그러나 본 발명의 멀티 비트 프로그래밍 장치(200)의 반전 과정에 의하여 실제로는 제2 데이터가 프로그램되므로, 첫번째 및 세번째 멀티 비트 셀에는 "1011"이 프로그램된다.
도 5는 본 발명의 또 다른 실시예에 따른 멀티 비트 프로그래밍 장치(500)를 나타낸 도면이다.
도 5를 참조하면, 멀티 비트 프로그래밍 장치(500)는 페이지 버퍼(510), 입력 제어부(520), 페이지 프로그래밍부(530), 멀티 비트 셀 어레이(540), 플래그 저장부(550) 및 출력 제어부(560)를 포함한다.
페이지 버퍼(510), 입력 제어부(520), 페이지 프로그래밍부(530) 및 멀티 비트 셀 어레이(540)의 동작은 상기 도 1 및 도 2에서 설명한 것과 같으므로 생략한다.
플래그 저장부(550)는 페이지 프로그래밍 동작의 제1 데이터의 반전 여부에 대응하는 플래그를 저장한다.
실시예에 따라서는, 플래그 저장부(550)는 페이지 프로그래밍 동작 동안 제2 데이터가 프로그램되는 멀티 비트 셀의 어드레스를 필요에 따라 저장할 수 있다. 멀티 비트 셀의 어드레스는 멀티 비트 셀 어레이(540) 내의 멀티 비트 셀의 위치를 나타내는 가로 좌표 및 세로 좌표를 포함한다.
출력 제어부(560)는 플래그 저장부(550)로부터 플래그를 수신하고, 멀티 비트 셀로부터 제2 데이터를 수신하고, 플래그에 기초하여 제2 데이터로부터 제1 데이터를 복원한다.
출력 제어부(560)는 제2 데이터가 프로그램된 멀티 비트 셀로부터 프로그램된 제2 데이터를 수신한다. 출력 제어부(560)는 수신된 플래그에 기초하여 제2 데이터로부터 제1 데이터를 복원하고, 복원된 제1 데이터를 출력한다.
플래그 저장부(550)는 제1 데이터의 반전으로 제2 데이터를 생성한 경우에는 플래그가 제1 논리 상태가 되도록 상기 플래그를 생성하여 저장한다. 플래그 저장부(550)는 제1 데이터의 반전 없이 제2 데이터를 생성한 경우에는 플래그가 제2 논리 상태가 되도록 플래그를 생성하여 저장한다.
출력 제어부(560)는 플래그가 제1 논리 상태인 경우에는 제2 데이터를 반전하여 제1 데이터를 복원하고, 플래그가 제2 논리 상태인 경우에는 제2 데이터의 반전 없이 제1 데이터를 복원한다.
실시예에 따라서는, 제1 논리 상태는 '0'이고, 제2 논리 상태는 '1'일 수 있다.
페이지 프로그래밍 동작은 제2 데이터가 프로그램되는 멀티 비트 셀의 문턱 전압을 변화시킬 수 있다. 멀티 비트 셀의 문턱 전압이 변화됨으로써, 제2 데이터가 멀티 비트 셀에 프로그램된다.
입력 제어부(520)는 제1 데이터 중 '1'과 '0'의 개수 및 페이지 프로그래밍 동작 동안의 멀티 비트 셀의 문턱 전압의 변화량에 기초하여 제1 데이터의 반전 여부를 결정한다.
도 6은 멀티 비트 프로그래밍 장치(500)에 의해 수행되는 페이지 프로그래밍 동작들의 한 예를 도시하는 도면이다.
도 6을 참조하면, 프로그래밍 전의 멀티 비트 셀은 초기 상태이다(630).
도 6에 도시된 가로축은 멀티 비트 셀의 문턱 전압을 나타내고, 세로축은 멀티 비트 셀의 산포(distribution)를 나타낸다.
도 6에 도시된 바와 같이, 네 번의 페이지 프로그래밍 동작 동안 "1111"이 프로그램된 멀티 비트 셀은 초기 상태를 그대로 유지한다(670).
첫번째 페이지 프로그래밍 동작 동안 '1'이 프로그램된 멀티 비트 셀은 그대로 초기 상태이고, '0'이 프로그램된 멀티 비트 셀은 "XXX0" 상태로 천이된다(640).
여기서, X는 미확정 논리 상태(undefined logic state or don't care state)를 나타낸다.
두번째 페이지 프로그래밍 동작 동안 '1'이 프로그램된 멀티 비트 셀은 초기 상태를 유지하거나, "XXX0" 상태로부터 "XX10" 상태로 천이된다(650). 두번째 페이지 프로그래밍 동작 동안 '0'이 프로그램된 멀티 비트 셀은 초기 상태로부터 "XX01" 상태로 천이되거나, "XXX0" 상태로부터 "XX00" 상태로 천이된다(650).
세번째 페이지 프로그래밍 동작 후의 멀티 비트 셀들의 산포는 상태(660)에 도시되어 있고, 네번째 페이지 프로그래밍 동작 후의 멀티 비트 셀들의 산포는 상태(670)에 도시되어 있다.
상태(670)에 도시된 바와 같이, "1111" 상태로부터 "0111"로 천이되는 경 우가 멀티 비트 셀의 문턱 전압의 변화가 가장 큰 경우이다.
일반적으로, 페이지 프로그래밍 동작 동안 멀티 비트 셀의 문턱 전압의 변화가 크면, 페이지 프로그래밍 동작 동안 또는 그 후에 인접한(neighborhood) 멀티 비트 셀의 문턱 전압 또는 기타 특성이 영향을 받아 원치 않는 변화가 생길 수 있다. 원치 않는 변화의 원인이 되는 메커니즘으로는 부유 폴리실리콘 커플링(floating poly-silicon coupling, FP coupling) 또는 프로그램 디스터번스(program disturbance) 등이 알려져 있다.
부유 폴리실리콘 커플링은 주변 멀티 비트 셀의 문턱 전압을 변화시켜, 해당 멀티 비트 셀의 문턱 전압의 산포를 확산시킨다. 문턱 전압의 산포가 확산되면, 멀티 비트 셀의 데이터를 판독하는 과정에서의 오차율이 증가하므로, 본 발명의 멀티 비트 프로그래밍 장치(500)는 페이지 프로그래밍 동작 동안 멀티 비트 셀의 문턱 전압의 변화가 크지 않도록 최대 변화량을 감소시키거나, 문턱 전압의 최대 변화를 발생시키는 멀티 비트 셀의 개수를 감소시키는 목적을 가진다.
도 6에 도시된 점선 화살표의 과정을 따라가면, 세번째 페이지 프로그래밍 동작 후에 초기 상태에 머물러 있던 멀티 비트 셀들이 네번째 페이지 프로그래밍 동작 동안 초기 상태로부터 "0111" 상태로 천이된다.
입력 제어부(520)는 세번째 페이지 프로그래밍 동작의 제1 데이터 중 '1'의 개수가 '0'의 개수보다 크면, 세번째 페이지 프로그래밍 동작의 제1 데이터를 반전하여 제2 데이터를 생성한다.
이에 따라, 초기 상태에 머물러 있는(점선 화살표의 과정을 따라가는) 멀 티 비트 셀들의 개수보다 초기 상태로부터 "X011" 상태로 천이(610)되는 멀티 비트 셀들의 개수가 크게 되어, 최종적으로 "0111" 상태로 천이되는 멀티 비트 셀들의 개수를 감소시킬 수 있다.
입력 제어부(520)는 멀티 비트 셀들의 문턱 전압의 변화량 중 최대 변화량이 최소화되거나, 최대 변화량을 발생시키는 멀티 비트 셀들의 개수를 감소시키는 효과를 가진다.
입력 제어부(520)는 (N-1)번째 페이지 프로그래밍 동작 동안 문턱 전압이 변화하는 멀티 비트 셀들의 개수가 문턱 전압이 변화하지 않는 멀티 비트 셀들의 개수보다 크도록 제1 데이터의 반전 여부를 결정한다.
도 6의 실시예는 N=4인 경우에 대응하는 것이므로, 입력 제어부(520)는 세번째 페이지 프로그래밍 동작 동안 '1'과 '0'의 개수를 비교하여, 제2 데이터 중 '0'의 개수가 '1'의 개수보다 크도록 제1 데이터의 반전 여부를 결정한다. 제2 데이터 중 '0'의 개수가 '1'의 개수보다 크면, 문턱 전압이 변화하는 멀티 비트 셀들의 개수가 문턱 전압이 변화하지 않는 멀티 비트 셀들의 개수보다 크게 된다.
입력 제어부(520)는 "XX11" 상태로부터 "X111" 상태로 천이되는 멀티 비트 셀들의 개수보다 "XX11" 상태로부터 "X011" 상태로 천이되는 멀티 비트 셀들의 개수를 크게 하여, FP 커플링에 의한 데이터 오염을 최소화할 수 있다.
입력 제어부(520)는 네번째 페이지 프로그래밍 동작의 제1 데이터의 반전 없이 제2 데이터를 생성할 수 있다. 네번째 페이지 프로그래밍 동작의 제1 데이터가 '0'인 멀티 비트 셀들은 "X011" 상태로부터 "0011" 상태로 천이(620)된다.
실시예에 따라서는, 입력 제어부(520)는 N번째 페이지 프로그래밍 동작 동안 문턱 전압이 변화하지 않는 멀티 비트 셀이 많아지도록 상기 제1 데이터의 반전 여부를 결정할 수 있다. N=4인 경우의 실시예에 대응하여 설명하면, 입력 제어부(520)는 네번째 페이지 프로그래밍 동작 동안 '1'과 '0'의 개수를 비교하여, 제2 데이터 중 '1'의 개수가 '0'의 개수보다 크도록 제1 데이터의 반전 여부를 결정한다. 제2 데이터 중 '1'의 개수가 '0'의 개수보다 크면, 문턱 전압이 변화하지 않는 멀티 비트 셀들의 개수가 문턱 전압이 변화하는 멀티 비트 셀들의 개수보다 크게 된다.
입력 제어부(520)는 "X111" 상태로부터 "0111" 상태로 천이되는 멀티 비트 셀들의 개수보다 "X111" 상태로부터 "1111" 상태로 천이되는 멀티 비트 셀들의 개수를 크게 하여, FP 커플링에 의한 데이터 오염을 최소화할 수 있다.
도 7은 멀티 비트 프로그래밍 장치(500)에 의해 수행되는 페이지 프로그래밍 동작들의 다른 예를 도시하는 도면이다.
도 7을 참조하면, 입력 제어부(520)는 점선 화살표의 과정을 따라가는 멀티 비트 셀들의 개수보다 실선 화살표의 과정을 따라가는 멀티 비트 셀들의 개수를 크도록 제1 데이터의 반전 여부를 결정한다.
일반적으로, FP 커플링에 의한 멀티 비트 셀들의 문턱 전압의 원치 않는 변화 및 그로 인한 데이터 오염(data pollution)은 문턱 전압이 낮은 멀티 비트 셀들에게서 강하게 나타난다.
따라서, 입력 제어부(520)는 문턱 전압이 낮은 멀티 비트 셀들의 경우에 는, "X011" 상태로부터 "0011" 상태로 천이(720), "X101" 상태로부터 "0101" 상태로 천이(730), "X001" 상태로부터 "0001" 상태로 천이(740)되는 멀티 비트 셀들의 개수가 크게 되도록 네번째 페이지 프로그래밍 동작의 제1 데이터의 반전 여부를 결정한다.
입력 제어부(520)는 문턱 전압이 낮은 멀티 비트 셀들의 경우에는, 문턱 전압이 변화하는 멀티 비트 셀들의 개수가 문턱 전압이 변화하지 않는 멀티 비트 셀들의 개수보다 크도록 제1 데이터의 반전 여부를 결정한다.
일반적으로, 비휘발성 메모리의 프로그래밍 동작은 문턱 전압을 증가시키는 방향으로 수행되므로, 프로그래밍 동작 동안 문턱 전압이 변화된다는 것은 문턱 전압이 증가하는 것을 의미한다.
입력 제어부(520)는 문턱 전압이 낮은 멀티 비트 셀들의 경우에는, 문턱 전압을 증가시키는 방향으로 페이지 프로그래밍 동작을 유도하여 데이터 오염을 최소화한다.
이 때, 입력 제어부(520)는 "X111" 상태로부터 "0111" 상태로 천이되는 멀티 비트 셀들의 개수를 감소시키기 위해, "X111" 상태로부터 "1111" 상태로 천이되는 멀티 비트 셀들의 개수가 크게 되도록 네번째 페이지 프로그래밍 동작의 제1 데이터의 반전 여부를 결정한다.
FP 커플링에 의한 데이터 오염은 "X111" 상태로부터 "0111" 상태로 천이되는 과정에서 가장 크게 나타나고, 그 외의 경우에는 문턱 전압이 낮은 멀티 비트 셀들의 개수가 큰 경우에 문턱 전압의 산포가 확산되는 경향이 있다.
따라서, 입력 제어부(520)는 "0111" 상태로 천이되는 멀티 비트 셀들의 개수를 감소시키고, 그 외의 경우에는 문턱 전압이 낮은 멀티 비트 셀들의 개수를 감소시킴으로써, FP 커플링에 의한 데이터 오염 및 문턱 전압의 산포의 확산을 최소화하는 효과가 있다.
일반적으로, 멀티 비트 셀들의 문턱 전압을 높이기 위해서는 고전압을 멀티 비트 셀들의 게이트(gate) 단자에 인가(force)해야 한다. 게이트(gate) 단자 및 드레인(drain)/소스(source)/벌크(bulk) 단자 간의 전위차가 크게 되면, 프로그램 과정에서의 프로그램 디스터번스에 의해 타겟 멀티 비트 셀 이외에 인접한(neighborhood) 멀티 비트 셀의 문턱전압에 원치 않는 영향을 미치므로, 데이터 오염이 발생하게 된다.
또한, 페이지 프로그래밍 동작 동안 고전압에 장시간 노출된 멀티 비트 셀들은 고전압 스트레스(high voltage stress, HVS)에 의해 특성이 변화될 수 있으며, 이 역시 특성의 원치 않는 변화이므로 회피하는 것이 바람직하다.
따라서, 페이지 프로그래밍 동작 동안 문턱 전압이 전압 윈도우(voltage window)의 최대점에 근접하는 멀티 비트 셀들의 개수를 감소시키는 것이 데이터 오염을 최소화하는 데 효과적이다.
입력 제어부(520)는 "X110" 상태로부터 "1110" 상태로 천이(750), "X010" 상태로부터 "1010" 상태로 천이(760), "X100" 상태로부터 "1100" 상태로 천이(770), "X000" 상태로부터 "1000" 상태로 천이(780)되는 멀티 비트 셀들의 개수가 크게 되도록 네번째 페이지 프로그래밍 동작의 제1 데이터의 반전 여부를 결정 한다.
입력 제어부(520)는 문턱 전압이 높은 멀티 비트 셀들의 개수를 감소시킴으로써, 데이터 오염을 최소화하는 효과를 가진다.
입력 제어부(520)는 "0001" 상태보다 낮은 제1 문턱 전압을 가지는 멀티 비트 셀들 중에서는 제1 문턱 전압이 변화되는 멀티 비트 셀들의 개수가 크도록 제1 데이터의 반전 여부를 결정한다.
입력 제어부(520)는 "1110" 상태보다 높은 제2 문턱 전압을 가지는 멀티 비트 셀들 중에서는 제2 문턱 전압이 변화되지 않는 멀티 비트 셀들의 개수가 크도록 제2 데이터의 반전 여부를 결정한다.
도 8은 본 발명의 또 다른 실시예에 따른 멀티 비트 프로그래밍 장치(800)를 나타낸 도면이다.
도 8을 참조하면, 멀티 비트 프로그래밍 장치(800)는 메모리(810), 위험 패턴 식별부(820), 페이지 프로그래밍부(830) 및 멀티 비트 셀 어레이(840)를 포함한다.
멀티 비트 프로그래밍 장치(800)는 N번의 페이지 프로그래밍 동작을 수행한다.
메모리(810)는 N번의 페이지 프로그래밍 동작의 데이터를 저장한다.
위험 패턴 식별부(820)는 메모리(810)에 저장된 데이터 중 위험 패턴을 식별한다.
페이지 프로그래밍부(830)는 식별된 위험 패턴에 대응하는 제1 멀티 비트 셀의 문턱 전압을 제1 변화량만큼 변화시킴으로써 데이터 중 제1 데이터를 상기 제1 멀티 비트 셀에 프로그래밍한다. 제1 데이터는 제1 멀티 비트 셀에 프로그래밍되는 데이터이다.
페이지 프로그래밍부(830)는 제1 멀티 비트 셀을 제외한 제2 멀티 비트 셀의 문턱 전압을 제2 변화량만큼 변화시킴으로써 제2 데이터를 제2 멀티 비트 셀에 프로그래밍한다. 제2 데이터는 데이터 중 제1 데이터를 제외한 나머지 부분이다.
멀티 비트 셀 어레이(840)는 제1 멀티 비트 셀 및 제2 멀티 비트 셀을 포함하는 어레이이다.
도 9는 멀티 비트 프로그래밍 장치(800)에서 수행되는 페이지 프로그래밍 동작들을 도시하는 도면이다.
도 9에는 N=4인 경우의 실시예가 도시되어 있다.
도 9를 참조하면, 4번의 페이지 프로그래밍 동작 종료 후 "0111" 상태를 가지는 멀티 비트 셀들은 천이 과정(910) 및 천이 과정(920)을 통해 "0111" 상태에 도달한다.
위험 패턴 식별부(820)는 메모리(810)에 저장된 데이터를 분석하여, 4번의 페이지 프로그래밍 동작 종료 후 "0111" 상태를 가지게 될 멀티 비트 셀들을 식별한다.
이 때, 위험 패턴은 "0111"이며, 위험 패턴 식별부(820)는 4번의 페이지 프로그래밍 동작 동안의 데이터를 모두 분석하여 위험 패턴을 식별한다.
위험 패턴 "0111" 상태를 가지게 될 멀티 비트 셀들은 제1 멀티 비트 셀들 로 분류된다. 제1 멀티 비트 셀들을 제외한 나머지 멀티 비트 셀들은 제2 멀티 비트 셀들로 분류된다.
페이지 프로그래밍부(830)는 세번째 페이지 프로그래밍 동작 동안 제1 데이터를 제1 멀티 비트 셀들에 천이 과정(910)에 따라 프로그래밍한다. 천이 과정(910) 동안 제1 멀티 비트 셀들의 문턱 전압은 제1 변화량만큼 변화된다. 천이 과정(910) 동안 제1 멀티 비트 셀들은 "XX11" 상태로부터 "X111" 상태(940)로 천이된다.
페이지 프로그래밍부(830)는 세번째 페이지 프로그래밍 동작 동안 제2 멀티 비트 셀들의 문턱 전압을 제2 변화량만큼 변화시킴으로써, 제2 데이터를 제2 멀티 비트 셀들에 프로그래밍한다.
페이지 프로그래밍부(830)는 네번째 페이지 프로그래밍 동작 동안 제1 데이터를 제1 멀티 비트 셀들에 천이 과정(920)에 따라 프로그래밍한다. 천이 과정(920) 동안 제1 멀티 비트 셀들의 문턱 전압은 제3 변화량만큼 변화된다. 천이 과정(920) 동안 제1 멀티 비트 셀들은 "X111" 상태(940)로부터 "0111" 상태로 천이된다.
페이지 프로그래밍부(830)는 네번째 페이지 프로그래밍 동작 동안 제2 멀티 비트 셀들의 문턱 전압을 제4 변화량만큼 변화시킴으로써, 제2 데이터를 제2 멀티 비트 셀들에 프로그래밍한다.
멀티 비트 프로그래밍 장치(800)에 따르면, 제1 멀티 비트 셀들은 "X111" 상태로부터 "0111" 상태로 천이되는 과정에서 문턱 전압의 변화를 세번째 페이지 프로그래밍 동작 및 네번째 페이지 프로그래밍 동작 동안 나누어 경험하게 된다.
따라서, 제1 멀티 비트 셀들은 급격한 문턱 전압의 변화를 4번째 페이지 프로그래밍 동작 중에 경험하지 않고, 3번째 페이지 프로그램 동작 중에 경험하게 된다. 제1 멀티 비트 셀들이 경험하게 되는, 큰 문턱전압의 변화로 인한 주변 멀티 비트 셀들에 대한 데이터 오염은 4번째 페이지 프로그램 동작 중에 보상되는 효과가 있다.
멀티 비트 프로그래밍 장치(800)는 제1 멀티 비트 셀들의 문턱 전압의 변화를 복수의 페이지 프로그래밍 동작 동안 분산시킴으로써, FP 커플링에 의한 데이터 오염을 최소화하는 효과를 가진다.
멀티 비트 프로그래밍 장치(800)는 제1 멀티 비트 셀들 및 제2 멀티 비트 셀들의 문턱 전압의 산포를 종래 기술과 다르게 설정하여 FP 커플링에 의한 데이터 오염을 최소화하는 효과를 가진다.
멀티 비트 프로그래밍 장치(800)에 따르면, 천이 과정(910)은 세번째 페이지 프로그래밍 동작 동안 수행되고 천이 과정(920)은 네번째 페이지 프로그래밍 동작 동안 수행되므로 전체 프로그래밍 횟수가 증가하지 않는다. 전체 프로그래밍 횟수가 증가하지 않으므로 프로그래밍 디스터번스(programming disturbance)에 의한 데이터 오염의 위험이 적다.
멀티 비트 프로그래밍 장치(800)에 따르면, 제1 멀티 비트 셀들에 저장되는 최종 데이터가 반전되는 것이 아니다. 따라서, 제1 멀티 비트 셀들에 저장된 데이터를 읽을 때에도 최초의 데이터를 복원하는 과정이 필요하지 않다.
실시예에 따라서는, 페이지 프로그래밍부(830)는 세번째 페이지 프로그래밍 동작 동안 프로그래밍되는 제1 데이터를 반전하여 제1 멀티 비트 셀들에 프로그래밍한다. 제1 데이터는 위험 패턴 "0111"에 대응한다. 페이지 프로그래밍부(830)는 세번째 페이지 프로그래밍 동작 동안 프로그래밍되는 제1 데이터인 "1"을 반전하고, "1"이 반전된 "0"을 제1 멀티 비트 셀들에 프로그래밍한다.
페이지 프로그래밍부(830)는 세번째 페이지 프로그래밍 동작 동안 "0"을 제1 멀티 비트 셀들에 프로그래밍하므로, 별도의 부가적인 회로 없이 제1 멀티 비트 셀들의 문턱 전압을 변화시킬 수 있다.
제1 멀티 비트 셀들은 세번째 페이지 프로그래밍 동작 동안 "XX11" 상태에서 "X111" 상태(940)로 천이된다. "XX11" 상태에 있는 멀티 비트 셀들 중에서 패턴 "1111"에 대응하는 제2 멀티 비트 셀들은 세번째 페이지 프로그래밍 동작 동안 천이 과정(930)을 거친다.
실시예에 따라서는 "X111" 상태(940)는 "X011" 상태(950)와 물리적으로는 동일한 상태일 수 있다. 페이지 프로그래밍부(830)는 네번째 페이지 프로그래밍 동작 동안 제3 변화량 및 제4 변화량을 다르게 하여 "0111" 상태 및 "1011" 상태를 분리할 수 있다. 보다 구체적인 실시예로서, 페이지 프로그래밍부(830)는 제3 변화량보다 제4 변화량을 크게 하여 "0111" 상태 및 "1011" 상태를 분리할 수 있다. 이 때, "X111" 상태(940)는 "X011" 상태와 물리적으로는 동일하지만 논리적으로는 상이한 상태에 있다. "X111" 상태(940)는 제1 멀티 비트 셀들과 관련되고, "X011" 상태는 제2 멀티 비트 셀들과 관련되기 때문이다.
실시예에 따라서는, 멀티 비트 프로그래밍 장치(800)는 세번째 페이지 프로그래밍 동작 동안 프로그래밍되는 제1 데이터를 반전하여 메모리(810)에 저장한다. 페이지 프로그래밍부(830)는 세번째 페이지 프로그래밍 동작 동안 메모리(810)로부터 반전된 제1 데이터를 수신하여 제1 멀티 비트 셀들에 프로그래밍한다.
도 10은 본 발명의 일 실시예에 따른 멀티 비트 프로그래밍 방법을 나타낸 동작 흐름도이다.
도 10을 참조하면, 멀티 비트 프로그래밍 방법은 페이지 프로그래밍 동작의 제1 데이터를 페이지 버퍼에 저장한다(S1010).
멀티 비트 프로그래밍 방법은 하나 이상의 비트를 포함하는 제1 데이터 중 '1'과 '0'의 개수를 계수한다(S1020).
멀티 비트 프로그래밍 방법은 제1 데이터 중 '1'과 '0'의 개수에 기초하여 제1 데이터의 반전 여부를 결정한다(S1030).
멀티 비트 프로그래밍 방법은 결정된 반전 여부에 따라 제1 데이터로부터 상기 제2 데이터를 생성한다(S1040).
멀티 비트 프로그래밍 방법은 제2 데이터를 제1 데이터에 대신하여 상기 페이지 버퍼에 저장한다(S1050).
멀티 비트 프로그래밍 방법은 페이지 버퍼에 저장된 제2 데이터를 하나 이상의 멀티 비트 셀에 프로그래밍한다(S1060).
멀티 비트 프로그래밍 방법은 페이지 프로그래밍 동작을 N번 수행한다.
단계(S1030)는 페이지 프로그래밍 동작의 순번에 더 기초하여 제1 데이터 의 반전 여부를 결정한다. 페이지 프로그래밍 동작의 순번은 1부터 자연수 N까지의 값을 가질 수 있다.
도 11은 도10의 단계(S1030)의 일 실시예를 상세히 나타낸 동작 흐름도이다.
도 11을 참조하면, 단계(S1030)는 페이지 프로그래밍 동작의 순번을 판단한다(S1110).
단계(S1030)는 제1 데이터 중 '1'과 '0'의 개수 및 현재 수행되는 페이지 프로그래밍 동작의 순번에 기초하여 제1 데이터의 반전 여부를 결정한다(S1120).
도 12는 도 10의 단계(S1030)의 다른 실시예를 상세히 나타낸 동작 흐름도이다.
도 12를 참조하면, 단계(S1030)는 현재 수행되는 페이지 프로그래밍 동작이 (N-1)번째인지 여부를 판단한다(S1210).
단계(S1030)는 현재 수행되는 페이지 프로그래밍 동작이 (N-1)번째이면, 페이지 프로그래밍 동작의 제1 데이터 중 '1'이 '0'보다 많은지 여부를 판단한다(S1220).
단계(S1030)는 현재 수행되는 페이지 프로그래밍 동작이 (N-1)번째이고, 페이지 프로그래밍 동작의 제1 데이터 중 '1'이 '0'보다 많으면, 제1 데이터를 반전하도록 결정한다(S1220).
단계(S1030)는 현재 수행되는 페이지 프로그래밍 동작이 (N-1)번째가 아니거나, 페이지 프로그램이 동작이 (N-1)번째이더라도 제1 데이터 중 '1'이 '0'보다 많지 않으면, 제1 데이터의 반전 여부를 결정하지 않고 현재 수행되는 페이지 프로그래밍 동작이 N번째인지 판단한다(S1240).
단계(S1030)는 페이지 프로그래밍 동작이 N번째이면, 페이지 프로그래밍 동작의 제1 데이터 중 '0'이 '1'보다 많은지 여부를 판단한다(S1250).
단계(S1030)는 페이지 프로그래밍 동작이 N번째이고, 제1 데이터 중 '0'이 '1'보다 많으면, 제1 데이터를 반전하도록 결정한다(S1260).
단계(S1030)는 페이지 프로그래밍 동작이 N번째가 아니거나, 페이지 프로그램이 동작이 N번째이더라도 제1 데이터 중 '0'이 '1'보다 많지 않으면 제1 데이터의 반전 여부를 결정하지 않고 다음 단계를 진행한다.
실시예에 따라서는, 페이지 프로그래밍 동작은 멀티 비트 셀의 문턱 전압을 변화시킴으로써, 데이터를 멀티 비트 셀에 프로그래밍할 수 있다.
실시예에 따라서는, 페이지 프로그래밍 동작은 '0'의 데이터를 프로그래밍하는 경우에 멀티 비트 셀의 문턱 전압을 증가시키는 것일 수 있다.
본 발명의 멀티 비트 프로그래밍 방법은 문턱 전압의 급격한 변화를 경험하는 멀티 비트 셀들의 개수를 감소시킴으로써, FP 커플링에 의한 데이터 오염을 최소화하는 효과를 가진다.
도 13은 본 발명의 또 다른 실시예에 따른 멀티 비트 프로그래밍 방법을 나타낸 동작 흐름도이다.
도 13을 참조하면, 멀티 비트 프로그래밍 방법은 N번의 페이지 프로그래밍 동작에 사용되는 데이터를 저장한다(S1310).
멀티 비트 프로그래밍 방법은 데이터 중 위험 패턴을 식별한다(S1320).
멀티 비트 프로그래밍 방법은 식별된 위험 패턴에 대응하는 제1 멀티 비트 셀의 문턱 전압을 제1 변화량만큼 변화시킨다(S1330).
단계(S1330)는 제1 멀티 비트 셀의 문턱 전압을 제1 변화량만큼 변화시킴으로써 데이터 중 제1 데이터를 제1 멀티 비트 셀에 프로그래밍한다.
멀티 비트 프로그래밍 방법은 제1 멀티 비트 셀을 제외한 제2 멀티 비트 셀의 문턱 전압을 제2 변화량만큼 변화시킨다(S1340).
단계(S1340)는 제2 멀티 비트 셀의 문턱 전압을 제2 변화량만큼 변화시킴으로써 데이터 중 제2 데이터를 제2 멀티 비트 셀에 프로그래밍한다. 제2 데이터는 데이터 중 제1 데이터를 제외한 나머지 부분을 나타낸다.
이 때의 식별 패턴은 제1 멀티 비트 셀 또는 제2 멀티 비트 셀에 최종적으로 프로그램되는 멀티 비트 데이터와 관련될 수 있다.
실시예에 따라서는, 식별 패턴은 제1 멀티 비트 셀 또는 제2 멀티 비트 셀에 최종적으로 프로그램되는 멀티 비트 데이터가 "0111"인 경우와 관련될 수 있다.
실시예에 따라서는, 멀티 비트 프로그래밍 방법은 제1 데이터를 반전시키는 단계를 더 포함할 수 있다. 이 때, 멀티 비트 프로그래밍 방법은 반전된 제1 데이터를 이용하여 단계(S1330)를 수행한다.
본 실시예에 따르면, 멀티 비트 프로그래밍 방법은 전체 프로그래밍 횟수를 증가시키지 않음으로써, 프로그래밍 디스터번스에 의한 데이터 오염을 최소화할 수 있다. 또한, 멀티 비트 프로그래밍 방법은 제1 멀티 비트 셀에 저장된 데이터 를 복원하는 추가적인 과정 없이 제1 멀티 비트 셀에 저장된 데이터에 억세스할 수 있다.
본 발명의 멀티 비트 프로그래밍 방법은, 제1 멀티 비트 셀이 경험하는 문턱 전압의 급격한 변화를 복수의 페이지 프로그래밍 동작 동안 분산시킴으로써, FP 커플링에 의한 데이터 오염을 최소화할 수 있다.
본 발명에 따른 멀티 비트 프로그래밍 장치 및 방법은 페이지 프로그래밍 동작을 수행하는 과정에서 사용되는 바이너리 코드(binary code), 수정 바이너리 코드(modified binary code), 그레이 코드(gray code) 또는 유사 그레이 코드(gray-like code) 등을 유연하게 가변 적용하여 데이터 비트의 반전 여부를 결정할 수 있다.
본 발명에 따른 멀티 비트 프로그래밍 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 멀티 비트 프로그래밍 장치(100)를 나타낸 도면이다.
도 2는 본 발명의 다른 실시예에 따른 멀티 비트 프로그래밍 장치(200)를 나타낸 도면이다.
도 3 및 도 4는 N이 4인 실시예에 따라 입력 제어부(220)가 수행하는 제1 데이터의 반전 과정을 도시하는 도면이다.
도 5는 본 발명의 또 다른 실시예에 따른 멀티 비트 프로그래밍 장치(500)를 나타낸 도면이다.
도 6은 멀티 비트 프로그래밍 장치(500)에 의해 수행되는 페이지 프로그래밍 동작들의 한 예를 도시하는 도면이다.
도 7은 멀티 비트 프로그래밍 장치(500)에 의해 수행되는 페이지 프로그래밍 동작들의 다른 예를 도시하는 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 멀티 비트 프로그래밍 장치(800)를 나타낸 도면이다.
도 9는 멀티 비트 프로그래밍 장치(800)에서 수행되는 페이지 프로그래밍 동작들을 도시하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 멀티 비트 프로그래밍 방법을 나타낸 동작 흐름도이다.
도 11은 도10의 단계(S1030)의 일 실시예를 상세히 나타낸 동작 흐름도이 다.
도 12는 도 10의 단계(S1030)의 다른 실시예를 상세히 나타낸 동작 흐름도이다.
도 13은 본 발명의 또 다른 실시예에 따른 멀티 비트 프로그래밍 방법을 나타낸 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 페이지 버퍼 120: 입력 제어부
130: 페이지 프로그래밍부
210: 페이지 버퍼 220: 입력 제어부
230: 페이지 프로그래밍부 240: 멀티 비트 셀 어레이
250: 페이지

Claims (21)

  1. 페이지 프로그래밍 동작을 N번 수행하는 멀티 비트 프로그래밍 장치에 있어서,
    페이지 프로그래밍 동작의 제1 데이터를 저장하는 페이지 버퍼;
    하나 이상의 비트를 포함하는 상기 제1 데이터 중 1과 0의 개수에 기초하여 상기 제1 데이터의 반전 여부를 결정하고, 상기 결정된 반전 여부에 따라 제2 데이터를 생성하고, 상기 제2 데이터를 상기 페이지 버퍼에 저장하는 입력 제어부; 및
    상기 페이지 버퍼에 저장된 제2 데이터를 하나 이상의 멀티 비트 셀에 프로그래밍하는 페이지 프로그래밍부
    를 포함하는 것을 특징으로 하는 멀티 비트 프로그래밍 장치.
  2. 제1항에 있어서,
    상기 입력 제어부는
    상기 페이지 프로그래밍 동작 각각에 대하여 상기 제1 데이터의 반전 여부를 결정하는 것을 특징으로 하는 멀티 비트 프로그래밍 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 입력 제어부는
    상기 페이지 프로그래밍 동작의 순번에 더 기초하여 상기 제1 데이터의 반전 여부를 결정하고,
    상기 순번은 1부터 자연수 N까지의 값을 가지는 것을 특징으로 하는 멀티 비트 프로그래밍 장치.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 제1 데이터의 반전 여부에 대응하는 플래그를 저장하는 플래그 저장부
    를 더 포함하는 것을 특징으로 하는 멀티 비트 프로그래밍 장치.
  8. 제7항에 있어서,
    상기 플래그 저장부로부터 상기 플래그를 수신하고, 상기 멀티 비트 셀로부터 상기 제2 데이터를 수신하고, 상기 플래그에 기초하여 상기 제2 데이터로부터 상기 제1 데이터를 복원하는 출력 제어부
    를 더 포함하는 것을 특징으로 하는 멀티 비트 프로그래밍 장치.
  9. 제1항에 있어서,
    상기 페이지 프로그래밍 동작은 상기 하나 이상의 멀티 비트 셀의 문턱 전압을 변화시키고,
    상기 입력 제어부는
    상기 제1 데이터 중 1과 0의 개수 및 상기 페이지 프로그래밍 동작 동안의 상기 하나 이상의 멀티 비트 셀의 문턱 전압의 변화량에 기초하여 상기 제1 데이터 의 반전 여부를 결정하는 것을 특징으로 하는 멀티 비트 프로그래밍 장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. N번의 페이지 프로그래밍 동작을 수행하는 멀티 비트 프로그래밍 장치에서,
    상기 N번의 페이지 프로그래밍 동작의 데이터를 저장하는 메모리;
    상기 데이터 중 위험 패턴을 식별하는 위험 패턴 식별부; 및
    상기 식별된 위험 패턴에 대응하는 제1 멀티 비트 셀의 문턱 전압을 제1 변화량만큼 변화시킴으로써 상기 데이터 중 제1 데이터를 상기 제1 멀티 비트 셀에 프로그래밍하고,
    상기 제1 멀티 비트 셀을 제외한 제2 멀티 비트 셀의 문턱 전압을 제2 변화량만큼 변화시킴으로써 상기 데이터 중 상기 제1 데이터를 제외한 제2 데이터를 상기 제2 멀티 비트 셀에 프로그래밍하는 페이지 프로그래밍부
    를 포함하는 것을 특징으로 하는 멀티 비트 프로그래밍 장치.
  16. 삭제
  17. 페이지 프로그래밍 동작의 제1 데이터를 페이지 버퍼에 저장하는 단계;
    하나 이상의 비트를 포함하는 상기 제1 데이터 중 1과 0의 개수를 계수하는 단계;
    상기 제1 데이터 중 1과 0의 개수에 기초하여 상기 제1 데이터의 반전 여부를 결정하는 단계;
    상기 결정된 반전 여부에 따라 상기 제1 데이터로부터 제2 데이터를 생성하는 단계;
    상기 제2 데이터를 상기 제1 데이터에 대신하여 상기 페이지 버퍼에 저장하는 단계; 및
    상기 페이지 버퍼에 저장된 제2 데이터를 하나 이상의 멀티 비트 셀에 프로그래밍하는 단계
    를 포함하는 것을 특징으로 하는 멀티 비트 프로그래밍 방법.
  18. 삭제
  19. N번의 페이지 프로그래밍 동작에 사용되는 데이터를 저장하는 단계;
    상기 데이터 중 위험 패턴을 식별하는 단계;
    상기 식별된 위험 패턴에 대응하는 제1 멀티 비트 셀의 문턱 전압을 제1 변화량만큼 변화시키는 단계; 및
    상기 제1 멀티 비트 셀을 제외한 제2 멀티 비트 셀의 문턱 전압을 제2 변화량만큼 변화시키는 단계
    를 포함하는 것을 특징으로 하는 멀티 비트 프로그래밍 방법.
  20. 삭제
  21. 제17항 또는 제19항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020070101061A 2007-10-08 2007-10-08 멀티 비트 프로그래밍 장치 및 방법 KR101292574B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070101061A KR101292574B1 (ko) 2007-10-08 2007-10-08 멀티 비트 프로그래밍 장치 및 방법
US12/073,100 US7804726B2 (en) 2007-10-08 2008-02-29 Apparatuses and methods for multi-bit programming
JP2010528782A JP5291111B2 (ja) 2007-10-08 2008-04-01 マルチビットプログラミングのための装置および方法
PCT/KR2008/001826 WO2009048211A1 (en) 2007-10-08 2008-04-01 Apparatuses and methods for multi-bit programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070101061A KR101292574B1 (ko) 2007-10-08 2007-10-08 멀티 비트 프로그래밍 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090035988A KR20090035988A (ko) 2009-04-13
KR101292574B1 true KR101292574B1 (ko) 2013-08-16

Family

ID=40523110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070101061A KR101292574B1 (ko) 2007-10-08 2007-10-08 멀티 비트 프로그래밍 장치 및 방법

Country Status (4)

Country Link
US (1) US7804726B2 (ko)
JP (1) JP5291111B2 (ko)
KR (1) KR101292574B1 (ko)
WO (1) WO2009048211A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8144510B1 (en) 2008-03-27 2012-03-27 Marvell International Ltd. Method and system for programming multi-state memory
US7729166B2 (en) 2008-07-02 2010-06-01 Mosaid Technologies Incorporated Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
KR101518039B1 (ko) 2008-12-08 2015-05-07 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US20100302856A1 (en) * 2009-05-29 2010-12-02 Sung Hoon Ahn Nonvolatile memory device and method of programming and reading the same
US8429335B2 (en) * 2009-10-13 2013-04-23 Macronix International Co., Ltd. Memory device and operation method to selectively invert data
US8218380B2 (en) * 2009-10-30 2012-07-10 Apple Inc. Degradation equalization for a memory
US8472246B2 (en) * 2011-03-21 2013-06-25 Skymedi Corporation Method of programming a multi-bit per cell non-volatile memory
US9367833B2 (en) * 2011-07-14 2016-06-14 Invention Science Fund I, Llc Data services outsourcing verification
KR20130080203A (ko) 2012-01-04 2013-07-12 삼성전자주식회사 셀 상태들의 비대칭 특성을 고려한 프로그램 데이터를 생성하는 방법 및 그것을 이용한 메모리 시스템
US9218851B2 (en) * 2013-10-24 2015-12-22 Sandisk Technologies Inc. Power drop protection for a data storage device
JP2015204126A (ja) 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
JP6606039B2 (ja) * 2016-09-09 2019-11-13 東芝メモリ株式会社 メモリシステムおよび制御方法
CN110047266B (zh) 2018-01-17 2021-01-22 京东方科技集团股份有限公司 信息表示方法、多进制计算电路及电子系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100600301B1 (ko) 2005-05-25 2006-07-13 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와, 이를 포함하는 플래시메모리 장치 및 그 프로그램 동작 방법
KR100616214B1 (ko) 2005-06-30 2006-08-28 주식회사 하이닉스반도체 멀티-레벨 셀을 가지는 플래시 메모리 장치의 프로그램제어 회로 및 그 프로그램 제어 방법
KR100642892B1 (ko) 2005-07-19 2006-11-03 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와 그 독출 및 프로그램동작 방법
KR100648286B1 (ko) 2005-07-04 2006-11-23 삼성전자주식회사 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055687A (ja) * 1996-08-09 1998-02-24 Sony Corp 不揮発性半導体記憶装置
JPH11242891A (ja) * 1997-12-26 1999-09-07 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP2004152366A (ja) * 2002-10-29 2004-05-27 Sony Corp データ記憶方法及びデータ記憶回路
EP1435623B1 (en) * 2002-12-30 2008-06-04 STMicroelectronics S.r.l. Stabilisation method of the drain voltage in non-volatile multilevel memory cells and relating memory device
KR100673703B1 (ko) * 2005-06-14 2007-01-24 주식회사 하이닉스반도체 멀티 레벨 셀들을 포함하는 플래시 메모리 장치의 카피백동작 제어 방법
TWI342599B (en) * 2006-08-17 2011-05-21 Macronix Int Co Ltd Method for manufacturing, programming and reading of non-volatile memory
KR100919156B1 (ko) * 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR100769770B1 (ko) 2006-09-29 2007-10-23 주식회사 하이닉스반도체 메모리 장치의 페이지 버퍼 회로 및 프로그램 방법
JP4498370B2 (ja) * 2007-02-14 2010-07-07 株式会社東芝 データ書き込み方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100600301B1 (ko) 2005-05-25 2006-07-13 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와, 이를 포함하는 플래시메모리 장치 및 그 프로그램 동작 방법
KR100616214B1 (ko) 2005-06-30 2006-08-28 주식회사 하이닉스반도체 멀티-레벨 셀을 가지는 플래시 메모리 장치의 프로그램제어 회로 및 그 프로그램 제어 방법
KR100648286B1 (ko) 2005-07-04 2006-11-23 삼성전자주식회사 단일의 페이지 버퍼 구조로 멀티-비트 및 단일-비트프로그램 동작을 수행하는 플래시 메모리 장치
KR100642892B1 (ko) 2005-07-19 2006-11-03 주식회사 하이닉스반도체 면적이 감소된 페이지 버퍼 회로와 그 독출 및 프로그램동작 방법

Also Published As

Publication number Publication date
JP5291111B2 (ja) 2013-09-18
US7804726B2 (en) 2010-09-28
WO2009048211A1 (en) 2009-04-16
JP2010541122A (ja) 2010-12-24
US20090091991A1 (en) 2009-04-09
KR20090035988A (ko) 2009-04-13

Similar Documents

Publication Publication Date Title
KR101292574B1 (ko) 멀티 비트 프로그래밍 장치 및 방법
US7616484B2 (en) Soft errors handling in EEPROM devices
US5532962A (en) Soft errors handling in EEPROM devices
JP5621175B2 (ja) 変調コーディングを使用するセル間干渉軽減のための方法および装置
US8451662B2 (en) Reading memory cell history during program operation for adaptive programming
US20140269071A1 (en) Preserving data from adjacent word lines while programming binary non-volatile storage elements
KR20090099265A (ko) 메모리 장치 및 데이터 판정 방법
JP2008204591A (ja) メモリ素子の読み出し方法
KR20100058166A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
JP2009064440A (ja) マルチ−ビットデータを格納するメモリシステム及びその読み出し方法
US10198217B2 (en) Method and system of enhanced reliability and error immunity in flash storage
US9799401B2 (en) Incremental step pulse programming
US8553458B2 (en) Methods for segmented programming and memory devices
US9305655B2 (en) Solving MLC NAND paired page program using reduced spatial redundancy
JP5291112B2 (ja) マルチビットプログラミングのための装置および方法
CN112599169A (zh) 存储器的读操作控制方法及装置以及存储器控制器
JP5901746B2 (ja) メモリセルをプログラミングすること
KR102247164B1 (ko) 채널 복호기의 동작과 결합한 플래시 메모리 읽기 방법 및 그 장치
JP2008282455A (ja) 多値半導体記憶装置

Legal Events

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

Payment date: 20160630

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180629

Year of fee payment: 6