[go: up one dir, main page]

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

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

Info

Publication number
KR101403429B1
KR101403429B1 KR1020070101500A KR20070101500A KR101403429B1 KR 101403429 B1 KR101403429 B1 KR 101403429B1 KR 1020070101500 A KR1020070101500 A KR 1020070101500A KR 20070101500 A KR20070101500 A KR 20070101500A KR 101403429 B1 KR101403429 B1 KR 101403429B1
Authority
KR
South Korea
Prior art keywords
threshold voltage
bit
data
error rate
programming
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020070101500A
Other languages
English (en)
Other versions
KR20090036357A (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 KR1020070101500A priority Critical patent/KR101403429B1/ko
Priority to US12/081,453 priority patent/US7983082B2/en
Priority to PCT/KR2008/003193 priority patent/WO2009048214A1/en
Priority to JP2010528783A priority patent/JP5237379B2/ja
Publication of KR20090036357A publication Critical patent/KR20090036357A/ko
Application granted granted Critical
Publication of KR101403429B1 publication Critical patent/KR101403429B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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

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

멀티 비트 프로그래밍 장치 및 방법이 제공된다. 본 발명의 멀티 비트 프로그래밍 장치는 페이지 프로그래밍 동작들 각각의 목표 비트 에러율에 기초하여 2N 개의 문턱 전압 상태들을 생성하는 제1 제어부; 상기 문턱 전압 상태들 중 어느 하나를 N비트의 데이터에 할당하는 제2 제어부; 및 상기 하나 이상의 멀티 비트 셀 각각에 상기 할당된 문턱 전압 상태를 형성하여 상기 N비트의 데이터를 프로그래밍하는 프로그래밍부를 포함하는 것을 특징으로 하며, 이를 통해 페이지 별로 균등하게 신뢰 가능한(evenly-reliable) 데이터의 저장이 가능하다.
evenly-reliable, 페이지, 멀티 비트 프로그래밍

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) 메모리를 이용한 저장 밀도의 향상이 용이하지 않았다.
멀티 레벨 셀 메모리의 이용이 최근의 추세로 확산되고 있는 가운데, 데이터를 저장하고 읽는 과정에서 발생하는 에러를 검출하고, 검출된 에러를 정정하는 에러 정정 코드 또는 에러 제어 코드(error correction codes or error control codes, ECC)의 이용이 활발해지고 있다.
본 명세서에서는, ECC를 하드웨어로 구현할 때의 복잡도를 줄이기 위한 새로운 멀티 레벨(멀티 비트) 프로그래밍 장치 및 방법이 제안된다.
본 발명은 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 에러 제어 코드(error control codes, ECC)를 하드웨어로 구현할 때의 복잡도를 줄이는 것을 목적으로 한다.
또한, 본 발명은 페이지 당 비트 에러율(bit error rate, BER)의 최대값을 줄이는 것을 목적으로 한다.
또한, 본 발명은 페이지 당 비트 에러율을 페이지 각각에 대해 평준화하는 것을 목적으로 한다.
또한, 본 발명은 멀티 레벨 셀 메모리에 새로운 멀티 레벨(멀티 비트) 프로그래밍 기법을 적용함으로써, 멀티 레벨 셀 메모리에 있어서, 전압 윈도우(voltage window) 내에서 문턱 전압(threshold voltage)의 산포(distribution)를 최적화하는 것을 목적으로 한다.
또한, 본 발명은 프로그래밍되는 데이터를 인터리브/디인터리브하는 등 별도의 방법으로 조작하지 않고도, 모든 페이지를 균등하게 신뢰할 수 있게(evenly-reliable) 만드는 것을 목적으로 한다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 멀티 비트 프로그래밍 장치는 N번의 페이지 프로그래밍 동작들 각각의 목표 비트 에러율 (target bit error rate, target BER) 에 기초하여 2N 개의 문턱 전압 상태들 (threshold voltage states) 을 생성하는 제1 제어부, 상기 문턱 전압 상태들 중 어느 하나를 N비트의 데이터에 할당하는 제2 제어부, 및 상기 하나 이상의 멀티 비트 셀 각각에 상기 할당된 문턱 전압 상태를 형성하여 상기 N비트의 데이터를 프로그래밍하는 프로그래밍부를 포함하는 것을 특징으로 한다.
또한, 본 발명의 또 다른 측면에 따른 멀티 비트 프로그래밍 방법은 N번의 페이지 프로그래밍 동작들 각각의 목표 비트 에러율에 기초하여 2N 개의 문턱 전압 상태들을 생성하는 단계, 상기 문턱 전압 상태들 중 어느 하나를 N비트의 데이터에 할당하는 단계, 및 상기 하나 이상의 멀티 비트 셀 각각에 상기 할당된 문턱 전압 상태를 형성하여 상기 N비트의 데이터를 프로그래밍하는 단계를 포함하는 것을 특징으로 한다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 멀티 비트 프로그래밍 장치(100)를 나타낸 도면이다.
도 1을 참조하면, 멀티 비트 프로그래밍 장치(100)는 제1 제어부(110), 제2 제어부(120) 및 프로그래밍부(130)를 포함한다.
멀티 비트 셀 어레이(140)는 복수의 멀티 비트 셀들을 포함한다. 하나의 페이지 프로그래밍 동작에서 동시에 프로그래밍되는 멀티 비트 셀들을 페이지(141)라고 한다. 실시예에 따라서는, 페이지(141)는 하나의 워드 라인(word line)에 연결된 복수의 멀티 비트 셀들일 수 있다. 하나의 워드 라인은 페이지(141) 내의 멀티 비트 셀들의 게이트(gate)에 연결된다.
실시예에 따라서는, 페이지(141)에 대한 페이지 프로그래밍은 F-N 터널링 (Fowler-Nordheim tunneling, F-N tunneling)을 이용하여 수행될 수 있다. F-N 터널링을 이용하기 위해서는, 고전압이 페이지(141)에 연결된 워드 라인에 인가될 수 있다.
멀티 비트 프로그래밍 장치(100)는 페이지(141) 내의 멀티 비트 셀들 각각에 N비트의 데이터를 프로그래밍한다. 멀티 비트 프로그래밍 장치(100)는 N번의 페이지 프로그래밍 동작을 수행함으로써 N비트의 데이터를 상기 멀티 비트 셀들 각각에 프로그래밍한다. 하나의 페이지 프로그래밍 동작은 1비트의 데이터에 대응하는 것으로 간주될 수 있다.
제1 제어부(110)는 페이지 프로그래밍 동작들 각각의 목표 비트 에러율에 기초하여 2N개의 문턱 전압 상태들을 생성한다. 제1 제어부(110)가 생성하는 문턱 전압 상태들은 논리적이고 이상적인 (logical and ideal) 문턱 전압 상태들이며, 프로그래밍부(130)에 의해서 물리적으로 (physically) 멀티 비트 셀들 각각에 형성된다.
제2 제어부(120)는 제1 제어부가 생성한 논리적인 문턱 전압 상태들 중 하 나를 N비트의 데이터에 할당한다. N비트의 데이터는 서로 다른 2N 개의 값을 생성할 수 있다. N비트의 데이터에 할당되는 문턱 전압 상태들은 N비트의 데이터가 생성할 수 있는 서로 다른 2N 개의 값에 대응한다.
프로그래밍부(130)는 페이지(141) 내의 멀티 비트 셀들 각각에 할당된 문턱 전압 상태를 형성한다. 프로그래밍부(130)가 형성하는 문턱 전압 상태는, 페이지(141) 내의 멀티 비트 셀들 각각에 프로그래밍되는 N비트의 데이터에 할당되는 문턱 전압 상태이다.
실시예에 따라서는, 프로그래밍부(130)는 N번의 페이지 프로그래밍 동작을 수행하여 페이지(141) 내의 멀티 비트 셀들 각각에 할당된 문턱 전압 상태를 형성할 수 있다. 페이지 프로그래밍 동작 각각은 복수의 단위 프로그래밍 동작을 포함할 수 있으며, 단위 프로그래밍 동작 각각은 F-N 터널링을 이용할 수 있다.
도 2는 프로그래밍부(130)에 의해 형성된 문턱 전압 상태로부터 멀티 비트 셀들 각각의 데이터를 판정(determine)하는 과정의 일 예를 도시한다.
도 2를 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압(threshold voltage)을 나타내고, 세로축은 상기 문턱 전압에 대응하는 멀티 비트 셀들의 개수를 나타낸다.
도 2에 도시된 문턱 전압 상태들은 페이지(141) 내의 멀티 비트 셀들에 물리적으로 형성된 문턱 전압 상태들을 나타낸다.
페이지(141)가 충분히 많은 수의 멀티 비트 셀들을 포함한다고 가정한다. 일반적으로 페이지(141)는 256, 512 또는 1024 개의 멀티 비트 셀들을 포함하는 경우가 많다.
문턱 전압 상태(210)는 데이터 "1"에 대응하고, 문턱 전압 상태(220)는 데이터 "0"에 대응한다. 문턱 전압 상태(210)는 데이터 "1"이 프로그래밍된 멀티 비트 셀들의 문턱 전압의 산포(distribution)를 나타낸다. 문턱 전압 상태(220)는 데이터 "0"이 프로그래밍된 멀티 비트 셀들의 문턱 전압의 산포를 나타낸다.
페이지(141) 내의 멀티 비트 셀들의 수가 충분히 크다면, 문턱 전압 상태(210)는 데이터 "1"이 프로그래밍된 멀티 비트 셀들이 가질 수 있는 문턱 전압 값의 확률(probability)로 간주되어도 무방함이 통계적으로 증명되어 있다.
마찬가지로 문턱 전압 상태(220)는 데이터 "0"이 프로그래밍된 멀티 비트 셀들이 가질 수 있는 문턱 전압 값의 확률로 간주되어도 무방하다.
제1 멀티 비트 셀의 문턱 전압이 값(230)인 경우, 제1 멀티 비트 셀에 프로그래밍된 데이터가 "1"일 확률은 산포(240)에 비례한다. 제1 멀티 비트 셀에 프로그래밍된 데이터가 "0"일 확률은 산포(250)에 비례한다.
따라서 제1 멀티 비트 셀의 문턱 전압이 값(230)인 경우, 제1 멀티 비트 셀에 프로그래밍된 데이터가 "0"일 확률이 "1"일 확률보다 높다.
일반적으로, 멀티 비트 셀에 프로그래밍된 데이터를 판정함에 있어서, 주어진 문턱 전압에 대하여 가장 높은 확률을 가지는 문턱 전압 상태에 기초하여 데이터를 판정하는 것이 가장 오류 발생 확률을 낮출 수 있음이 알려져 있다.
도 3은 프로그래밍부(130)에 의해 형성된 문턱 전압 상태로부터 멀티 비트 셀들 각각의 데이터를 판정(determine)하는 과정의 다른 예를 도시한다.
도 3을 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압(threshold voltage)을 나타내고, 세로축은 상기 문턱 전압에 대응하는 멀티 비트 셀들의 개수를 나타낸다.
도 3에 도시된 문턱 전압 상태들은 페이지(141) 내의 멀티 비트 셀들에 물리적으로 형성된 문턱 전압 상태들을 나타낸다.
도 3에 도시된 문턱 전압 상태들은 페이지(141) 내의 멀티 비트 셀들에 프로그래밍된 데이터의 문턱 전압 산포 확률에 대응함은 앞에서 설명한 바와 같다.
문턱 전압 상태(310)는 데이터 "11"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(320)는 데이터 "10"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(330)는 데이터 "00"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(340)는 데이터 "01"의 문턱 전압 산포 확률에 대응한다.
제2 멀티 비트 셀의 문턱 전압이 기준 전압(350)보다 낮으면, 제2 멀티 비트 셀이 문턱 전압 상태(310)에 포함될 확률이 가장 높으므로, 제2 멀티 비트 셀에 프로그래밍된 데이터는 "11"로 판정된다.
제2 멀티 비트 셀의 문턱 전압이 기준 전압(350)보다 높고 기준 전압(360)보다 낮으면, 제2 멀티 비트 셀이 문턱 전압 상태(320)에 포함될 확률이 가장 높으므로, 제2 멀티 비트 셀에 프로그래밍된 데이터는 "10"로 판정된다.
제2 멀티 비트 셀의 문턱 전압이 기준 전압(360)보다 높고 기준 전압(370)보다 낮으면, 제2 멀티 비트 셀이 문턱 전압 상태(330)에 포함될 확률이 가장 높으 므로, 제2 멀티 비트 셀에 프로그래밍된 데이터는 "00"로 판정된다.
제2 멀티 비트 셀의 문턱 전압이 기준 전압(370)보다 높으면, 제2 멀티 비트 셀이 문턱 전압 상태(340)에 포함될 확률이 가장 높으므로, 제2 멀티 비트 셀에 프로그래밍된 데이터는 "01"로 판정된다.
제2 멀티 비트 셀에 프로그래밍된 데이터가 "11"이었음에도 불구하고 "10"으로 판정되거나 프로그래밍된 데이터가 "10"이었음에도 불구하고 "11"로 판정될 확률은 문턱 전압 상태(310) 및 문턱 전압 상태(320)이 겹쳐지는 부분의 면적에 비례한다. 프로그래밍된 데이터 및 판정된 데이터가 불일치하는 사건(event)을 천이(transition)이라 하고, 천이가 발생할 확률을 천이 확률 (transition probability)이라 한다.
지금까지 설명한 멀티 비트 셀들의 문턱 전압의 확률 또는 천이 확률은 문턱 전압의 산포의 형태에 무관하게 적용될 수 있다.
도 3에 도시된 바와 같이, 문턱 전압 상태(320)는 문턱 전압 상태(310) 또는 문턱 전압 상태(330)와 다른 형태를 가지지만, 문턱 전압 상태(320)가 데이터 "10"이 프로그래밍된 멀티 비트 셀들의 문턱 전압 산포 확률에 대응하고, 문턱 전압 상태(310)가 데이터 "11"이 프로그래밍된 멀티 비트 셀들의 문턱 전압 산포 확률에 대응하는 점에는 차이가 없다.
또한, 천이 확률은 문턱 전압의 상태에 무관하게 문턱 전압 상태들 각각이 겹쳐지는 면적에 비례한다.
도 4는 멀티 비트 프로그래밍 장치(100)가 프로그래밍하는 N비트의 데이터 및 N번의 페이지 프로그래밍 동작의 관련성을 도시하는 도면이다.
도 4에는 N=2인 경우가 도시되어 있다.
데이터(410)는 페이지(141)에 프로그래밍되는 2비트의 데이터이다.
제1 페이지 데이터(420)는 제1 페이지 프로그래밍 동작에 대응하는 1비트의 데이터이고, 제2 페이지 데이터(430)는 제2 페이지 프로그래밍 동작에 대응하는 1비트의 데이터이다.
제1 페이지 데이터(420) 및 제2 페이지 데이터(430)의 조합에 의하여 데이터(410)가 페이지(141) 내의 멀티 비트 셀들 각각에 프로그래밍된다.
도 3 및 도 4를 참조하면, 데이터(410) 내의 "11"은 문턱 전압 상태(310)에 대응하고, "10"은 문턱 전압 상태(320)에 대응한다. 마찬가지로 "00"은 문턱 전압 상태(330)에 대응하고, "01"은 문턱 전압 상태(340)에 대응한다.
기준 전압(350)은 천이(450)에 대응하고, 기준 전압(360)은 천이(440)에 대응하며, 기준 전압(370)은 천이(460)에 대응한다.
제2 제어부(120)가 문턱 전압 상태들 중 하나를 N비트의 데이터에 할당하는 코드 매핑 기법에 기초하여 제1 페이지 데이터(420) 및 제2 페이지 데이터(430) 각각의 가능 천이 수(possible transition number)가 결정된다.
일반적으로, 페이지 프로그래밍 동작들 각각 또는 페이지 데이터 각각의 비트 에러율(bit error rate, BER)은 가능 천이 수에 비례함이 알려져 있다.
본 발명의 멀티 비트 프로그래밍 장치(100)의 제1 제어부(110)는 논리적인 문턱 전압 상태들을 생성함에 있어, 페이지 프로그래밍 동작들 각각의 목표 비트 에러율에 기초하여 문턱 전압 상태들 각각의 거리를 조정(adjust)한다.
도 5는 제1 제어부(110)가 생성하는 문턱 전압 상태들의 일 예를 도시하는 도면이다.
도 5를 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압(threshold voltage)을 나타내고, 세로축은 상기 문턱 전압에 대응하는 멀티 비트 셀들의 개수를 나타낸다.
도 5에 도시된 문턱 전압 상태들은 페이지(141) 내의 멀티 비트 셀들에 프로그래밍된 데이터의 문턱 전압 산포 확률에 대응함은 앞에서 설명한 바와 같다.
문턱 전압 상태(510)는 데이터 "1"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(520) 또는 문턱 전압 상태(530) 중 하나는 데이터 "0"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(520)가 데이터 "0"의 문턱 전압 산포 확률에 대응하는 경우 데이터 "1" 및 데이터 "0" 간에 천이가 발생할 확률은 천이 확률(540)에 비례한다.
문턱 전압 상태(530)가 데이터 "0"의 문턱 전압 산포 확률에 대응하는 경우 데이터 "1" 및 데이터 "0" 간에 천이가 발생할 확률은 천이 확률(550)에 비례한다.
제1 제어부(110)는 데이터 "1"에 대응하는 문턱 전압 상태(510)가 고정된 경우, 문턱 전압 상태(520) 또는 문턱 전압 상태(530) 중 하나를 선택하고, 선택한 문턱 전압 상태를 데이터 "0"의 문턱 전압 산포 확률에 대응하는 문턱 전압 상태로 할당할 수 있다.
제1 제어부(110)는 문턱 전압 상태들 각각의 거리를 설정함에 있어서, 멀티 비트 셀 메모리 장치의 전압 윈도우(voltage window)에 의한 제한을 받는다.
따라서, 제1 제어부(110)는 비트 에러율을 낮추어야 하는 경우에, 관련되는 문턱 전압 상태들 간의 거리를 크게 하고, 상대적으로 높은 비트 에러율이 허용되는 경우에는, 관련되는 문턱 전압 상태들 간의 거리를 작게 한다.
멀티 비트 셀 메모리 장치의 전압 윈도우가 제한된 상태에서 하나의 멀티 비트 셀에 저장되는 데이터의 비트 수를 높이기 위해서는 문턱 전압 상태들 간의 거리는 좁혀질 수 밖에 없다.
이 같은 상황에서, 멀티 비트 셀에 저장되는 데이터의 비트 수를 높이고도 셀에 저장된 데이터의 판정의 에러를 줄이기 위해 에러 정정 코드(error correction codes, ECC) 등의 기법이 이용된다.
ECC 인코더 및 디코더는 페이지 데이터 각각에 대하여 ECC 인코딩 및 디코딩을 수행한다. 페이지 데이터 각각의 비트 에러율이 높을 수록, 에러 없는 데이터를 복원하기 위해 ECC 인코더 및 디코더의 복잡도가 높아진다.
일반적으로, 페이지 데이터 각각의 비트 에러율은 페이지 데이터 각각의 천이 가능 수(possible transition number)에 비례한다.
따라서, 본 발명의 제1 제어부(110)는 페이지 데이터 각각의 천이 가능 수에 기초하여 문턱 전압 상태들 간의 거리를 조정(adjust)한다.
ECC 인코더 및 ECC 디코더의 복잡도는 페이지 프로그래밍 동작의 비트 에 러율이 높아짐에 따라 증가하므로, 최대 비트 에러율을 가지는 페이지 프로그래밍 동작의 비트 에러율을 낮추면 ECC 인코더 및 ECC 디코더의 복잡도를 낮출 수 있다.
이상적으로는, 각 페이지 프로그래밍 동작의 비트 에러율을 모두 동일하게 조정하는 것이 가장 바람직하다. 이 경우 각 페이지 데이터는 균등하게 신뢰 가능하다(evenly-reliable)고 한다.
도 13은 N=2인 경우에 제1 제어부(110)가 생성하는 4개의 문턱 전압 상태들의 일 예를 도시한다.
도 13을 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압(threshold voltage)을 나타내고, 세로축은 상기 문턱 전압에 대응하는 멀티 비트 셀들의 개수를 나타낸다.
도 13에 도시된 문턱 전압 상태들은 페이지(141) 내의 멀티 비트 셀들에 프로그래밍된 데이터의 문턱 전압 산포 확률에 대응함은 앞에서 설명한 바와 같다.
문턱 전압 상태(1310)는 데이터 "11"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(1320)는 데이터 "10"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(1330)는 데이터 "00"의 문턱 전압 산포 확률에 대응한다.
문턱 전압 상태(1340)는 데이터 "01"의 문턱 전압 산포 확률에 대응한다.
천이 확률(1350)은 데이터 "11" 및 데이터 "10" 간에 천이가 발생할 확률을 나타낸다.
천이 확률(1360)은 데이터 "10" 및 데이터 "00" 간에 천이가 발생할 확률을 나타낸다.
천이 확률(1370)은 데이터 "00" 및 데이터 "01" 간에 천이가 발생할 확률을 나타낸다.
도 13 및 도 4를 참조하면, 천이 확률(1360)은 천이(440)에 대응한다.
천이 확률(1350)은 천이(450)에 대응하고, 천이 확률(1370)은 천이(460)에 대응한다.
제1 페이지 데이터(420)의 비트 에러율은 제1 페이지 데이터(420) 내의 천이 가능 수(possible transition number)에 비례한다. 제2 페이지 데이터(430)의 비트 에러율은 제2 페이지 데이터(430) 내의 천이 가능 수에 비례한다.
제1 페이지 데이터(420) 내에서는 천이(440)가 가능하므로 천이 가능 수는 1이고, 제2 페이지 데이터(430) 내에서는 천이(450) 및 천이(460)가 가능하므로 천이 가능 수는 2이다.
제1 페이지 데이터(420)의 천이 가능 수가 제2 페이지 데이터(430)의 천이 가능 수보다 작으므로, 제1 페이지 프로그래밍 동작의 비트 에러율이 제2 페이지 프로그래밍 동작의 비트 에러율보다 낮을 것이 예상된다.
따라서, 제1 제어부(110)는 제1 페이지 프로그래밍 동작의 비트 에러율을 높이고, 제2 페이지 프로그래밍 동작의 비트 에러율을 낮추어 제1 페이지 프로그래밍 동작 및 제2 페이지 프로그래밍 동작의 비트 에러율을 동일하게 조정한다.
제1 제어부(110)는 천이 확률(1360)을 높이고, 천이 확률(1350) 및 천이 확률(1370)을 낮춘다. 제1 제어부(110)는 문턱 전압 상태(1320) 및 문턱 전압 상태(1330) 간의 거리를 좁히고, 문턱 전압 상태(1310) 및 문턱 전압 상태(1320)의 거리 및 문턱 전압 상태(1330) 및 문턱 전압 상태(1340)의 거리는 늘림으로써 천이 확률을 조정한다.
도 6은 본 발명의 다른 실시예에 따른 멀티 비트 프로그래밍 장치(600)를 도시하는 도면이다.
도 6을 참조하면, 멀티 비트 프로그래밍 장치(600)는 제1 제어부(610), 제2 제어부(620), 프로그래밍부(630) 및 비교부(640)를 포함한다.
제1 제어부(610)는 페이지 프로그래밍 동작들 각각의 목표 비트 에러율에 기초하여 논리적인(logical) 문턱 전압 상태들을 생성한다.
제2 제어부(620)는 논리적인 문턱 전압 상태들 중 하나를 N비트의 데이터에 할당한다.
프로그래밍부(630)는 페이지(651) 내의 멀티 비트 셀들 각각에 할당된 문턱 전압 상태를 형성한다.
페이지(651)는 동시에 프로그래밍되는 복수의 멀티 비트 셀들을 포함한다.
멀티 비트 셀 어레이(650)는 복수의 페이지들을 포함한다.
비교부(640)는 페이지(651) 내의 멀티 비트 셀들 각각의 문턱 전압을 검출한다. 비교부(640)는 검출된 문턱 전압 및 검증 전압(verify voltage)을 비교하여 비교 결과를 출력한다. 프로그래밍부(630)는 상기 N비트의 데이터에 할당된 논리적인 문턱 전압 상태들 각각에 대하여 검증 전압을 생성할 수 있다. 프로그래밍부(630)는 비교부(640)에 의해 수행되는 검출된 문턱 전압 및 검증 전압의 비교 결과에 따라 프로그래밍 과정을 수행한다.
프로그래밍부(630)는 비교부(640)가 출력하는 비교 결과에 따라 프로그래밍 시간 구간의 길이를 조정한다.
하나의 페이지 프로그래밍 동작은 복수의 단위 프로그래밍 동작을 포함한 다. 단위 프로그래밍 동작 각각이 종료될 때마다, 비교부(640)는 비교 결과를 멀티 비트 셀들 각각의 비교 결과를 출력하고, 프로그래밍부(630)는 비교 결과에 따라 멀티 비트 셀들 각각에 대하여 다음 단위 프로그래밍 동작을 수행할 것인지 여부를 결정한다.
하나의 멀티 비트 셀에 대하여 많은 수의 프로그래밍 동작이 수행될수록 프로그래밍 시간 구간의 길이는 증가한다.
단위 프로그래밍 동작이 멀티 비트 셀의 문턱 전압을 증가시키는 동작이라고 가정한다. 비교부(640)의 비교 결과가 제1 멀티 비트 셀의 문턱 전압이 검증 전압보다 낮음을 나타내면, 프로그래밍부(630)는 제1 멀티 비트 셀에 대하여 다음 단위 프로그래밍 동작을 수행한다. 비교부(640)의 비교 결과가 제2 멀티 비트 셀의 문턱 전압이 검증 전압보다 높거나 같음을 나타내면, 프로그래밍부(630)는 제2 멀티 비트 셀에 대하여 다음 단위 프로그래밍 동작을 수행하지 않는다.
제1 제어부(610)는 N비트의 데이터 각각에 대응하는 검증 전압을 조정하여 문턱 전압 상태들을 생성한다.
도 7은 제1 제어부(610)가 검증 전압을 조정하여 문턱 전압 상태들을 생성하는 과정을 도시하는 도면이다.
도 7을 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압(threshold voltage)을 나타내고, 세로축은 상기 문턱 전압에 대응하는 멀티 비트 셀들의 개수를 나타낸다.
도 7에 도시된 문턱 전압 상태들이 페이지(651) 내의 멀티 비트 셀들에 프 로그래밍된 데이터의 문턱 전압 산포 확률에 대응함은 앞에서 설명한 바와 같다.
문턱 전압 상태(710)는 데이터 "1"의 문턱 전압 산포 확률에 대응한다.
데이터 "0"의 문턱 전압 산포 확률에는 문턱 전압 상태(720) 또는 문턱 전압 상태(730) 중 하나가 대응한다.
제1 제어부(610)가 전압(740)을 데이터 "0"에 대응하는 검증 전압으로 선택하면, 문턱 전압 상태(720)가 데이터 "0"의 문턱 전압 산포 확률에 대응한다.
제1 제어부(610)가 전압(750)을 데이터 "0"에 대응하는 검증 전압으로 선택하면, 문턱 전압 상태(730)가 데이터 "0"의 문턱 전압 산포 확률에 대응한다.
제1 제어부(610)는 데이터 "1" 및 데이터 "0" 사이의 천이 확률에 기초하여 데이터 "0"에 대응하는 검증 전압을 전압(740) 또는 전압(750) 중 하나로 선택한다.
도 8은 본 발명의 멀티 비트 프로그래밍 장치(100)의 제1 제어부(110)의 일 예를 도시하는 도면이다.
도 8을 참조하면, 제1 제어부(110)는 추정부(810) 및 조정부(820)를 포함한다.
제1 제어부(110)의 문턱 전압 생성 과정은 다음과 같이 진행된다.
먼저, 제1 제어부(110)가 제1 문턱 전압 상태들을 생성한다.
추정부(810)는 제1 문턱 전압 상태들을 기초로 하여 N번의 페이지 프로그래밍 동작들 각각의 비트 에러율을 추정한다.
추정부(810)는 제1 문턱 전압 상태들 간의 겹쳐지는 부분의 면적을 추정하 고, 추정된 면적에 기초하여 N비트의 데이터 간의 천이 확률을 계산한다.
N번의 페이지 프로그래밍 동작들 각각의 비트 에러율은 N개의 페이지 데이터 각각의 천이 가능 수 및 가능한 천이 각각의 천이 확률에 기초하여 추정된다.
실시예에 따라서는, 추정부(810)는 모든 제1 문턱 전압 상태들의 형태가 동일한 포물선 형태라고 가정할 수 있다.
실시예에 따라서는, 추정부(810)는 하나의 페이지 데이터 내의 가능한 천이의 천이 확률이 모두 같도록 설정할 수 있다.
조정부(820)는 추정된 페이지 프로그래밍 동작들 각각의 비트 에러율 및 목표 비트 에러율의 비교 결과에 따라 제1 문턱 전압 상태들을 조정하여 제2 문턱 전압 상태들을 생성한다.
실시예에 따라서는, 조정부(820)는 추정된 페이지 프로그래밍 동작들 각각의 비트 에러율이 목표 비트 에러율보다 작으면 제1 문턱 전압 상태들 중 추정된 비트 에러율과 관련된 문턱 전압 상태들을 서로 근접시킨다.
조정부(820)는 추정된 페이지 프로그래밍 동작들 각각의 비트 에러율이 목표 비트 에러율보다 크면 제1 문턱 전압 상태들 중 추정된 비트 에러율과 관련된 문턱 전압 상태들을 서로 멀리 이격시킨다.
조정부(820)는 제1 페이지 프로그래밍 동작의 추정된 비트 에러율이 목표 비트 에러율보다 작으면, 제1 문턱 전압 상태들 중 제1 페이지 데이터 내의 가능한 천이와 관련된 문턱 전압 상태들 간의 거리를 가깝게 조정한다. 조정부(820)는 조정된 문턱 전압 상태들로부터 제2 문턱 전압 상태들을 생성한다.
조정부(820)는 제2 페이지 프로그래밍 동작의 추정된 비트 에러율이 목표 비트 에러율보다 크면, 제1 문턱 전압 상태들 중 제2 페이지 데이터 내의 가능한 천이와 관련된 문턱 전압 상태들 간의 거리를 멀어지게 조정한다. 조정부(820)는 조정된 문턱 전압 상태들로부터 제2 문턱 전압 상태들을 생성한다.
실시예에 따라서는, 멀티 비트 프로그래밍 장치(100)는 멀티 비트 메모리 장치의 제조 후 멀티 비트 셀들의 문턱 전압 산포를 측정하여 측정된 결과로부터 문턱 전압 산포 확률을 구할 수 있다.
실시예에 따라서는, 멀티 비트 프로그래밍 장치(100)는 멀티 비트 메모리 장치의 제조 후 멀티 비트 셀들의 문턱 전압을 가변적으로 조정하여 균등한 페이지 당 비트 에러율을 얻을 수 있다.
도 9는 멀티 비트 프로그래밍 장치(100)가 프로그래밍하는 N비트의 데이터 및 N번의 페이지 프로그래밍 동작의 관련성의 다른 예를 도시하는 도면이다.
도 9에는 N=2인 경우가 도시되어 있다.
데이터(910)는 페이지(141)에 프로그래밍되는 2비트의 데이터이다.
제1 페이지 데이터(920)는 제1 페이지 프로그래밍 동작에 대응하는 1비트의 데이터이고, 제2 페이지 데이터(930)는 제2 페이지 프로그래밍 동작에 대응하는 1비트의 데이터이다.
제1 페이지 데이터(920) 및 제2 페이지 데이터(930)의 조합에 의하여 데이터(910)가 페이지(141) 내의 멀티 비트 셀들 각각에 프로그래밍된다.
도 3, 도 4 및 도9를 참조하면, 도 4의 데이터(410) 중 데이터 "11"은 문 턱 전압 상태(310)에 대응하고, 데이터 "10"은 문턱 전압 상태(320)에 대응한다.
데이터(410) 중 데이터 "00"은 문턱 전압 상태(330)에 대응하고, 데이터 "01"은 문턱 전압 상태(340)에 대응한다.
도 9의 데이터(910) 중 데이터 "11"은 문턱 전압 상태(310)에 대응하고, 데이터 "10"은 문턱 전압 상태(320)에 대응한다.
데이터(910) 중 데이터 "01"은 문턱 전압 상태(330)에 대응하고, 데이터"00"은 문턱 전압 상태(340)에 대응한다.
제1 페이지 데이터(920) 중 가능한 천이는 천이(940)이다.
제2 페이지 데이터(930) 중 가능한 천이는 천이(950), 천이(960) 및 천이(970)이다.
실시예에 따라서는, 멀티 비트 프로그래밍 장치(100)의 제2 제어부(120)는 도 4의 코드 매핑 기법 또는 도 9의 코드 매핑 기법 중 하나를 이용할 수 있다.
도 4의 코드 매핑 기법에 따르면, 제2 페이지 데이터(430) 내의 천이 가능 수는 2이고, 제1 페이지 데이터(420) 내의 천이 가능 수는 1이다.
도 9의 코드 매핑 기법에 따르면, 제2 페이지 데이터(930) 내의 천이 가능 수는 3이고, 제1 페이지 데이터(920) 내의 천이 가능 수는 1이다.
제1 제어부(110)는, 제2 제어부(120)가 이용하는 코드 매핑 기법에 기초하여 문턱 전압 상태들을 생성할 수 있다.
제2 제어부(120)가 이용하는 코드 매핑 기법에 의하여 페이지 데이터 각각의 비트 에러율이 영향받기 때문에 제1 제어부(110)는 문턱 전압 상태들을 생성함 에 있어 코드 매핑 기법을 고려하여야 한다.
도 10은 N=4일 경우에 제1 제어부(110)에 의해 생성된 문턱 전압 상태들의 일 예를 도시하는 도면이다.
도 10을 참조하면, 가로축은 멀티 비트 셀들의 문턱 전압(threshold voltage)을 나타내고, 세로축은 상기 문턱 전압에 대응하는 멀티 비트 셀들의 개수를 나타낸다.
도 10에 도시된 문턱 전압 상태들(1001 내지 1016)이 페이지(141) 내의 멀티 비트 셀들에 프로그래밍된 데이터의 문턱 전압 산포 확률에 대응함은 앞에서 설명한 바와 같다.
문턱 전압 상태(1001)를 편의상 상태 "0"이라 하고, 순차적으로 문턱 전압 상태(1002)를 상태 "1"라 한다. 이러한 방법으로, 문턱 전압 상태(1015)를 상태 "14"라 하고, 문턱 전압 상태(1016)를 상태 "15"라 한다.
본 실시예에서는, 문턱 전압 상태(1001 내지 1016)의 형태가 모두 동일하다고 가정한다.
하나의 멀티 비트 셀에 상태"i"에 대응하는 데이터가 프로그래밍되었을 확률을 P(i)라고 한다.
하나의 멀티 비트 셀에 상태 "i"에 대응하는 데이터가 프로그래밍되었을 때, 상태 "j"에 대응하는 데이터로 판정될 확률을 P(j|i)라고 한다.
하나의 멀티 비트 셀에 상태 "i"에 대응하는 데이터가 프로그래밍 되었음에도 불구하고, 상태 "i"보다 낮은 문턱 전압을 가지는 상태들에 대응하는 데이터 로 잘못 판정될 확률을 PE -(i)라고 하면, PE -(i)는 하기 수학식 1과 같이 표현된다.
[수학식 1]
Figure 112007072406101-pat00001
도 10에 도시된 바와 같이, 인접하지 않은 문턱 전압 상태들 간의 거리는 충분히 크다고 가정하면, 상기 수학식 1의 근사(approximation)는 허용될 수 있다 (acceptable).
하나의 멀티 비트 셀에 상태 "i"에 대응하는 데이터가 프로그래밍 되었음에도 불구하고, 상태 "i"보다 높은 문턱 전압을 가지는 상태들에 대응하는 데이터로 잘못 판정될 확률을 PE +(i)라고 하면, PE +(i)는 하기 수학식 2와 같이 표현된다.
[수학식 2]
Figure 112007072406101-pat00002
하나의 멀티 비트 셀에 상태 "i"에 대응하는 데이터가 프로그래밍 되었음에도 불구하고, 상태 "i"가 아닌 다른 상태들에 대응하는 데이터로 잘못 판정될 확률을 PE(i)라고 하면, PE(i)는 하기 수학식 3과 같이 표현된다.
[수학식 3]
Figure 112007072406101-pat00003
본 실시예에서는, 제2 제어부(120)가 그레이 코드(Gray code)에 속하는 수정 바이너리 코드 기법(modified binary code scheme)에 의해 문턱 전압 상태들(1001 내지 1016)(상태 "0" 내지 상태 "15")을 데이터에 할당한다고 가정한다.
제2 제어부(120)가 문턱 전압 상태들(1001 내지 1016)(상태 "0" 내지 상태 "15)을 데이터에 할당하는 과정은 표 1에 도시되어 있다.
[표 1]
Figure 112007072406101-pat00004
멀티 비트 셀의 셀 에러율(cell error rate, CER) PC은 하기 수학식 4와 같이 표현된다.
본 실시예에서는 문턱 전압 상태들 각각의 형태가 동일하다고 가정하였으므로 각 상태 "i"에 대응하는 데이터가 프로그래밍될 확률은 1/16으로 동일하다.
[수학식 4]
Figure 112007072406101-pat00005
k번째 페이지 데이터의 목표 비트 에러율을 PB ,k라 하면, 페이지 데이터 각각의 목표 비트 에러율은 하기 수학식 5 내지 수학식 8과 같이 표현된다.
[수학식 5]
Figure 112007072406101-pat00006
[수학식 6]
Figure 112007072406101-pat00007
[수학식 7]
Figure 112007072406101-pat00008
[수학식 8]
Figure 112007072406101-pat00009
본 실시예에서는 도 10에 도시된 바와 같이 상태 "0" 및 상태 "1" 간의 거리가 충분히 크다고 가정한다. 따라서, 상태 "0" 및 상태 "1" 간의 천이 확률은 0이라고 가정한다(PE +(0) + PE -(1) = 0).
또한, 본 실시예에서는, k번째 페이지 데이터 내의 가능한 천이의 천이 확률은 모두 같다고 가정한다. 2번째 페이지 데이터 내의 가능한 천이는 상태 "3" 및 상태 "4" 간의 천이, 상태 "11" 및 상태 "12" 간의 천이가 있다. 이 때, PE +(3) + PE -(4) = PE +(11) + PE -(12)의 관계식이 성립한다.
이러한 관계식을 페이지 데이터 각각에 대하여 확장시키면, 하기 수학식 9 내지 수학식 12의 관계식이 성립한다.
[수학식 9]
PE +(7) + PE -(8) = P(1)
[수학식 10]
PE +(3) + PE -(4) = PE +(11) + PE -(12) = P(2)
[수학식 11]
PE +(1) + PE -(2) = PE +(5) + PE -(6) = PE +(9) + PE -(10) = PE +(13) + PE -(14) = P(3)
[수학식 12]
PE +(2) + PE -(3) = PE +(4) + PE -(5) = PE +(6) + PE -(7) = PE +(8) + PE -(9)
= PE +(10) + PE -(11) = PE +(12) + PE -(13) = PE +(14) + PE -(15) = P(4)
P(1), P(2), P(3), P(4)는 페이지 데이터 각각 내의 하나의 천이 확률을 나타낸다.
수학식 5 및 수학식 9를 조합하면, 하기 수학식 13이 얻어진다.
[수학식 13]
PB ,1 = 1/16 x P(1)
수학식 6 및 수학식 10을 조합하면, 하기 수학식 14가 얻어진다.
[수학식 14]
PB ,2 = 2/16 x P(2)
수학식 7 및 수학식 11을 조합하면, 하기 수학식 15가 얻어진다.
[수학식 15]
PB ,3 = 4/16 x P(3)
수학식 8 및 수학식 12를 조합하면, 하기 수학식 16이 얻어진다.
[수학식 16]
PB ,4 = 7/16 x P(4)
본 실시예에서는, 모든 페이지 프로그래밍 동작들의 목표 비트 에러율이 동일하도록 문턱 전압 상태들을 조정한다. 이 때, 동일한 목표 비트 에러율을 X라고 하면, 하기 수학식 17이 성립한다.
[수학식 17]
PB ,1 = PB ,2 = PB ,3 = PB ,4 = X
또한, 본 실시예에서는 페이지(141)의 셀 에러율은 PC로 일정하도록 문턱 전압 상태들을 조정한다.
표 1의 코드 매핑 기법에 따르면, 셀 에러율 PC는 하기 수학식 18을 만족한다.
[수학식 18]
PC = PB ,1 + PB ,2 + PB ,3 + PB ,4 = 4X
k번째 페이지 프로그래밍 동작의 조정 계수 β(k)는 하기 수학식 19 내지 수학식 22와 같이 계산된다.
[수학식 19]
β(1) = P(1) / PC = 4
[수학식 20]
β(2) = P(2) / PC = 2
[수학식 21]
β(3) = P(3) / PC = 1
[수학식 22]
β(4) = P(4) / PC = 4/7
제1 제어부(110)는 k번째 페이지 프로그래밍 동작의 천이 확률 P(k)가 셀 에러율 PC 및 계수 β(k)를 곱한 값과 동일하도록 문턱 전압 상태들의 거리를 조정한다.
도 11은 본 발명의 다른 실시예에 따른 멀티 비트 프로그래밍 방법을 나타 낸 동작 흐름도이다.
멀티 비트 프로그래밍 방법은 N번의 프로그래밍 동작을 수행하여 하나 이상의 멀티 비트 셀 각각에 N비트의 데이터를 프로그래밍한다.
멀티 비트 프로그래밍 방법은 페이지 프로그래밍 동작 각각의 목표 비트 에러율에 기초하여 2N 개의 문턱 전압 상태들을 생성한다(S1110).
멀티 비트 프로그래밍 방법은 문턱 전압 상태들 중 어느 하나를 N비트의 데이터에 할당한다(S1120).
멀티 비트 프로그래밍 방법은 하나 이상의 멀티 비트 셀 각각에 할당된 문턱 전압 상태를 형성하여 N비트의 데이터를 하나 이상의 멀티 비트 셀 각각에 프로그래밍한다(S1130).
실시예에 따라서는, 멀티 비트 프로그래밍 방법은 하나 이상의 멀티 비트 셀 각각의 문턱 전압 및 검증 전압을 비교하여 비교 결과를 출력할 수 있다.
이 때, 단계(S1130)는 비교 결과에 따라 프로그래밍 시간 구간의 길이를 조정한다.
이 때, 단계(S1110)는 검증 전압을 조정하여 문턱 전압 상태들을 생성할 수 있다.
실시예에 따라서는, 단계(S1110)는 문턱 전압 상태들을 기초로 하여 페이지 프로그래밍 동작들 각각의 비트 에러율을 추정할 수 있다.
단계(S1110)는 추정된 비트 에러율 및 목표 비트 에러율의 비교 결과에 따 라 문턱 전압 상태들을 조정한다.
이 때, 단계(S1110)는 추정된 비트 에러율이 목표 비트 에러율보다 작으면 문턱 전압 상태들 중 추정된 비트 에러율과 관련된 문턱 전압 상태들을 서로 근접하도록 한다.
단계(S1110)는 추정된 비트 에러율이 목표 비트 에러율보다 크면 문턱 전압 상태들 중 추정된 비트 에러율과 관련된 문턱 전압 상태들을 서로 멀리 떨어지도록 한다.
단계(S1110)는 멀티 비트 셀의 셀 에러율을 일정하게 유지하면서 문턱 전압 상태들을 생성한다.
단계(S1110)는 페이지 프로그래밍 동작 각각과 관련된 천이 확률에 더 기초하여 문턱 전압 상태들을 생성한다.
실시예에 따라서는,
단계(S1120)는 코드 매핑 기법을 이용하여 문턱 전압 상태들 중 어느 하나를 N비트의 데이터에 할당한다.
단계(S1110)는 코드 매핑 기법에 더 기초하여 문턱 전압 상태들을 생성한다.
코드 매핑 기법의 예로는 도 9에 도시된 바이너리 코드. 도 4 및 표 1에 도시된 수정 바이너리 코드(modified binary code) 등이 있다.
도 12는 단계(S1110)의 일 실시예를 도시하는 동작 흐름도이다.
k는 문턱 전압 상태의 인덱스를 의미한다.
단계(S1110)는 k =1 로 설정한다(S1210).
단계(S1110)는 문턱 전압 상태 V(k)를 초기화한다(S1220).
이 때, V(k)는 V(k-1)보다 제1 전압만큼 큰 문턱 전압을 가질 수 있다.
단계(S1110)는 문턱 전압 상태 V(k) 및 V(k-1)의 천이 확률 P(k)를 추정한다.
단계(S1110)는 P(k)가 셀 에러율 PC 및 미리 계산된 조정 계수 β(k)의 곱보다 큰지 판단한다(S1230).
단계(S1110)는 P(k)가 PC 및 β(k)의 곱보다 크면 V(k)를 제2 전압만큼 증가시킨다(S1240).
이 때, 제2 전압은 제1 전압보다 매우 작은 값을 가진다.
단계(S1110)는 P(k)가 PC 및 β(k)의 곱보다 작은지 판단한다(S1250).
단계(S1110)는 P(k)가 PC 및 β(k)의 곱보다 작으면 V(k)를 제2 전압만큼 감소시킨다(S1260).
단계 (S1240) 또는 단계 (S1260)에 의해서 조정된 V(k)에 대하여 단계 (S1110)는 다시 단계(S1230)를 수행한다.
단계(S1110)는 P(k)가 PC 및 β(k)의 곱과 같으면 k가 (2N - 1)보다 작은지 판단한다(S1270).
멀티 비트 프로그래밍 방법은 단계(S1270)의 판단 결과 k가 (2N -1) 보다 크거나 같으면 단계(S1110)를 종료하고 단계(S1129)를 수행한다.
단계(S1110)는 단계(S1270)의 판단 결과 k가 (2N -1) 보다 작으면 k를 1 증가시킨다(S1280).
단계(S1110)는 단계(S1280)에 의해서 조정된 k에 대하여 단계(S1220)를 다시 수행한다.
본 발명에 따른 멀티 비트 프로그래밍 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 멀티 비트 프로그래밍 장치(100)를 나타낸 도면이다.
도 2는 프로그래밍부(130)에 의해 형성된 문턱 전압 상태로부터 멀티 비트 셀들 각각의 데이터를 판정(determine)하는 과정의 일 예를 도시한다.
도 3은 프로그래밍부(130)에 의해 형성된 문턱 전압 상태로부터 멀티 비트 셀들 각각의 데이터를 판정(determine)하는 과정의 다른 예를 도시한다.
도 4는 멀티 비트 프로그래밍 장치(100)가 프로그래밍하는 N비트의 데이터 및 N번의 페이지 프로그래밍 동작의 관련성을 도시하는 도면이다.
도 5는 제1 제어부(110)가 생성하는 문턱 전압 상태들의 일 예를 도시하는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 멀티 비트 프로그래밍 장치(600)를 도시하는 도면이다.
도 7은 제1 제어부(610)가 검증 전압을 조정하여 문턱 전압 상태들을 생성하는 과정을 도시하는 도면이다.
도 8은 본 발명의 멀티 비트 프로그래밍 장치(100)의 제1 제어부(110)의 일 예를 도시하는 도면이다.
도 9는 멀티 비트 프로그래밍 장치(100)가 프로그래밍하는 N비트의 데이터 및 N번의 페이지 프로그래밍 동작의 관련성의 다른 예를 도시하는 도면이다.
도 10은 N=4일 경우에 제1 제어부(110)에 의해 생성된 문턱 전압 상태들의 일 예를 도시하는 도면이다.
도 11은 본 발명의 다른 실시예에 따른 멀티 비트 프로그래밍 방법을 나타낸 동작 흐름도이다.
도 12는 단계(S1110)의 일 실시예를 도시하는 동작 흐름도이다.
도 13은 N=2인 경우에 제1 제어부(110)가 생성하는 4개의 문턱 전압 상태들의 일 예를 도시한다.
<도면의 주요 부분에 대한 부호의 설명>
110: 제1 제어부
120: 제2 제어부
130: 프로그래밍부

Claims (20)

  1. N번의 페이지 프로그래밍 동작들을 수행하여 적어도 하나 이상의 멀티 비트 셀 각각에 N비트의 데이터를 프로그래밍하는 멀티 비트 프로그래밍 장치에 있어서,
    상기 페이지 프로그래밍 동작들 각각의 목표 비트 에러율에 기초하여 2N 개의 문턱 전압 상태들을 생성하는 제1제어부;
    상기 2N 개의 문턱 전압 상태들 중 어느 하나를 상기 N비트의 데이터에 할당하는 제2제어부; 및
    상기 적어도 하나 이상의 멀티 비트 셀 각각에 상기 2N 개의 문턱 전압 상태들 중 할당된 문턱 전압 상태를 형성하여 상기 N비트의 데이터를 프로그래밍하는 프로그래밍부를 포함하고,
    상기 제1제어부는,
    상기 2N 개의 문턱 전압 상태들을 기초로 상기 페이지 프로그래밍 동작들 각각의 비트 에러율을 추정하는 추정부; 및
    추정된 비트 에러율과 상기 목표 비트 에러율의 비교 결과에 따라 상기 2N 개의 문턱 전압 상태들을 조정하는 조정부를 포함하는 멀티 비트 프로그래밍 장치.
  2. 제1항에 있어서,
    상기 적어도 하나 이상의 멀티 비트 셀 각각의 문턱 전압과 검증 전압을 비교하여 비교 결과를 출력하는 비교부를 더 포함하고,
    상기 프로그래밍부는 상기 비교 결과에 따라 프로그래밍 시간 구간의 길이를 조정하는 멀티 비트 프로그래밍 장치.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 조정부는,
    상기 추정된 비트 에러율이 상기 목표 비트 에러율보다 작으면 상기 2N 개의 문턱 전압 상태들 중 상기 추정된 비트 에러율과 관련된 문턱 전압 상태들을 서로 근접시키는 멀티 비트 프로그래밍 장치.
  6. 제1항에 있어서, 상기 조정부는,
    상기 추정된 비트 에러율이 상기 목표 비트 에러율보다 크면 상기 2N 개의 문턱 전압 상태들 중 상기 추정된 비트 에러율과 관련된 문턱 전압 상태들을 서로 멀리 이격시키는 멀티 비트 프로그래밍 장치.
  7. 제1항에 있어서, 상기 제1제어부는 상기 적어도 하나 이상의 멀티 비트 셀 각각의 비트 에러율을 일정하게 유지하면서 상기 2N 개의 문턱 전압 상태들을 생성하는 멀티 비트 프로그래밍 장치.
  8. 제1항에 있어서, 상기 제1제어부는 상기 페이지 프로그래밍 동작들 각각과 관련된 천이 확률에 더 기초하여 상기 2N 개의 문턱 전압 상태들을 생성하는 멀티 비트 프로그래밍 장치.
  9. 제1항에 있어서, 상기 제1제어부는,
    상기 제2제어부에 의한 할당 시 이용되는 코드 매핑 기법에 더 기초하여 상기 2N 개의 문턱 전압 상태들을 생성하는 멀티 비트 프로그래밍 장치.
  10. N번의 페이지 프로그래밍 동작들을 수행하여 적어도 하나 이상의 멀티 비트 셀 각각에 N비트의 데이터를 프로그래밍하는 멀티 비트 프로그래밍 방법에 있어서,
    멀티 비트 프로그래밍 장치에서 상기 페이지 프로그래밍 동작들 각각의 목표 비트 에러율에 기초하여 2N 개의 문턱 전압 상태들을 생성하는 단계;
    상기 멀티 비트 프로그래밍 장치에서 상기 2N 개의 문턱 전압 상태들 중 어느 하나를 상기 N비트의 데이터에 할당하는 단계; 및
    상기 멀티 비트 프로그래밍 장치에서 상기 적어도 하나 이상의 멀티 비트 셀 각각에 할당된 문턱 전압 상태를 형성하여 상기 N비트의 데이터를 프로그래밍하는 단계를 포함하고,
    상기 2N 개의 문턱 전압 상태들을 생성하는 단계는,
    상기 2N 개의 문턱 전압 상태들을 기초로 상기 페이지 프로그램 동작들 각각의 비트 에러율을 추정하는 단계; 및
    추정된 비트 에러율과 상기 목표 비트 에러율의 비교 결과에 따라 상기 2N 개의 문턱 전압 상태들을 조정하는 단계를 포함하는 멀티 비트 프로그래밍 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020070101500A 2007-10-09 2007-10-09 멀티 비트 프로그래밍 장치 및 방법 Active KR101403429B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070101500A KR101403429B1 (ko) 2007-10-09 2007-10-09 멀티 비트 프로그래밍 장치 및 방법
US12/081,453 US7983082B2 (en) 2007-10-09 2008-04-16 Apparatus and method of multi-bit programming
PCT/KR2008/003193 WO2009048214A1 (en) 2007-10-09 2008-06-09 Apparatus and method of multi-bit programming
JP2010528783A JP5237379B2 (ja) 2007-10-09 2008-06-09 マルチビットプログラミングのための装置および方法

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
KR20090036357A KR20090036357A (ko) 2009-04-14
KR101403429B1 true KR101403429B1 (ko) 2014-06-03

Family

ID=40523109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070101500A Active KR101403429B1 (ko) 2007-10-09 2007-10-09 멀티 비트 프로그래밍 장치 및 방법

Country Status (4)

Country Link
US (1) US7983082B2 (ko)
JP (1) JP5237379B2 (ko)
KR (1) KR101403429B1 (ko)
WO (1) WO2009048214A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923896A (zh) * 2009-06-12 2010-12-22 威刚科技(苏州)有限公司 电子存储装置及其纠错方法
DE102010037579B4 (de) 2009-09-25 2023-01-19 Samsung Electronics Co., Ltd. Nichtflüchtige Speichervorrichtung und -system sowie Verfahren zum Programmieren einer nichtflüchtigen Speichervorrichtung
KR101671326B1 (ko) * 2010-03-08 2016-11-01 삼성전자주식회사 인터리빙 기술을 이용하는 비휘발성 메모리 및 상기 비휘발성 메모리의 프로그램 방법
TWI436370B (zh) 2010-09-17 2014-05-01 Phison Electronics Corp 記憶體儲存裝置、其記憶體控制器與產生對數似然比之方法
US8510637B2 (en) * 2010-04-14 2013-08-13 Phison Electronics Corp. Data reading method, memory storage apparatus and memory controller thereof
TWI447731B (zh) * 2010-12-01 2014-08-01 Phison Electronics Corp 資料讀取方法、記憶體儲存裝置及其控制器
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US8990644B2 (en) 2011-12-22 2015-03-24 Micron Technology, Inc. Apparatus and methods of programming memory cells using adjustable charge state level(s)
WO2013100958A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Cycling endurance extending for memory cells of a non-volatile memory array
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9195533B1 (en) * 2012-10-19 2015-11-24 Seagate Technology Llc Addressing variations in bit error rates amongst data storage segments
US8942037B2 (en) * 2012-10-31 2015-01-27 Lsi Corporation Threshold acquisition and adaption in NAND flash memory
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9431125B2 (en) 2013-03-15 2016-08-30 Sandisk Technologies Llc Method and system for adaptive setting of verify levels in flash memory
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9311183B2 (en) * 2014-03-01 2016-04-12 Sandisk Enterprise Ip Llc Adaptive target charge to equalize bit errors across page types
KR102221752B1 (ko) * 2014-03-20 2021-03-02 삼성전자주식회사 메모리 장치의 프로그램 방법 및 이를 포함하는 데이터 독출 방법
US10297333B2 (en) * 2016-04-08 2019-05-21 Steven McConnell Drying system and method
JP6258399B2 (ja) * 2016-05-16 2018-01-10 ウィンボンド エレクトロニクス コーポレーション 半導体装置
US10552252B2 (en) 2016-08-29 2020-02-04 Seagate Technology Llc Patterned bit in error measurement apparatus and method
KR102157570B1 (ko) * 2020-07-01 2020-09-18 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US11868662B2 (en) * 2022-05-24 2024-01-09 Western Digital Technologies, Inc. Storage system and method for hybrid mapping

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007035092A (ja) * 2005-07-22 2007-02-08 Renesas Technology Corp 不揮発性半導体記憶装置
US20070208905A1 (en) * 2006-03-06 2007-09-06 Ramot At Tel-Aviv University Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990066130A (ko) 1998-01-21 1999-08-16 윤종용 불 휘발성 메모리 장치 및 그것의 프로그램 방법
JP3629144B2 (ja) * 1998-06-01 2005-03-16 株式会社東芝 不揮発性半導体記憶装置
JP2000132995A (ja) * 1998-10-26 2000-05-12 Nec Corp 半導体装置
JP2001006374A (ja) * 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
JP4131902B2 (ja) 1999-12-27 2008-08-13 株式会社東芝 不揮発性半導体メモリおよびそのスレシホールド電圧制御方法
JP4517503B2 (ja) 2000-12-15 2010-08-04 株式会社デンソー 不揮発性半導体記憶装置の多値書き込み及び読み出し方法
KR100386296B1 (ko) 2000-12-30 2003-06-02 주식회사 하이닉스반도체 멀티레벨을 가지는 플래쉬 메모리를 프로그램/리드하기위한 회로 및 그 방법
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
US6963505B2 (en) 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
KR100521364B1 (ko) 2002-11-18 2005-10-12 삼성전자주식회사 플레쉬 메모리 셀들의 프로그램 오판을 방지하고 균일한문턱 전압 산포를 가질 수 있는 플레쉬 메모리 장치 및 그프로그램 검증 방법
KR100558339B1 (ko) 2002-12-17 2006-03-10 주식회사 엑셀반도체 다층셀 플래시메모리의 데이터보존성 개선방법
US7372731B2 (en) * 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
KR100719380B1 (ko) 2006-03-31 2007-05-18 삼성전자주식회사 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템
US7173859B2 (en) 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
JP2007042222A (ja) * 2005-08-04 2007-02-15 Renesas Technology Corp 半導体装置
JP4836608B2 (ja) * 2006-02-27 2011-12-14 株式会社東芝 半導体記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007035092A (ja) * 2005-07-22 2007-02-08 Renesas Technology Corp 不揮発性半導体記憶装置
US20070208905A1 (en) * 2006-03-06 2007-09-06 Ramot At Tel-Aviv University Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping

Also Published As

Publication number Publication date
US7983082B2 (en) 2011-07-19
JP2011501334A (ja) 2011-01-06
KR20090036357A (ko) 2009-04-14
US20090091990A1 (en) 2009-04-09
WO2009048214A1 (en) 2009-04-16
JP5237379B2 (ja) 2013-07-17

Similar Documents

Publication Publication Date Title
KR101403429B1 (ko) 멀티 비트 프로그래밍 장치 및 방법
US10180868B2 (en) Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping
US10290358B2 (en) Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights
KR101452774B1 (ko) 플래시 메모리의 적응형 다이나믹 판독
CN107039080B (zh) 使用基于经解码数据的误码率的读取阈值电压自适应
US10929221B2 (en) Multi-tier detection and decoding in flash memories utilizing data from additional pages or wordlines
KR101831209B1 (ko) 증가된 플래시 성능을 위한 판독 레벨 그룹화
US10276247B2 (en) Read retry operations with estimation of written data based on syndrome weights
US9563502B1 (en) Read retry operations with read reference voltages ranked for different page populations of a memory
JP5524869B2 (ja) メモリセルに格納されるデータのビット数を決定する装置
CN101512661B (zh) 用于存储设备的失真估计与纠错编码的组合
JP5432189B2 (ja) メモリデータのハイブリッド検出のための装置および方法
CN111540402B (zh) 用纠错码(ecc)综合征权重辅助快速恢复错误
KR101515122B1 (ko) 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치
JP6556423B2 (ja) 読み取り電圧適応のための補償ループ
KR20090075101A (ko) 메모리 장치 및 오류 제어 코드 디코딩 방법
JP4999921B2 (ja) メモリ素子用の歪み推定と誤り訂正符号化の組み合せ
US9761326B2 (en) Memory system and memory control method
US8391076B2 (en) Nonvolatile memory device using interleaving technology and programming method thereof
KR20090099265A (ko) 메모리 장치 및 데이터 판정 방법
KR101301773B1 (ko) 멀티 비트 프로그래밍 장치 및 방법
US9971646B2 (en) Reading-threshold setting based on data encoded with a multi-component code

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20071009

AMND Amendment
PG1501 Laying open of application
A201 Request for examination
AMND Amendment
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20111026

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20071009

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20130529

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20131227

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20130529

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20140306

Appeal identifier: 2014101000528

Request date: 20140128

Patent event date: 20140128

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20131227

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Appeal identifier: 2014101000517

Request date: 20140128

PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20140128

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20140128

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20130729

Patent event code: PB09011R02I

Comment text: Amendment to Specification, etc.

Patent event date: 20111026

Patent event code: PB09011R02I

Comment text: Amendment to Specification, etc.

Patent event date: 20080408

Patent event code: PB09011R02I

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

Patent event date: 20140306

Comment text: Decision to Grant Registration

Patent event code: PB07012S01D

Patent event date: 20140228

Comment text: Transfer of Trial File for Re-examination before a Trial

Patent event code: PB07011S01I

J501 Disposition of invalidation of trial
PJ0501 Disposition of invalidation of trial

Appeal kind category: Appeal against decision to decline refusal

Request date: 20140128

Appeal identifier: 2014101000517

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140528

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140529

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20170427

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20180430

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20190429

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20200429

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20210428

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20220420

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20230426

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20240424

Start annual number: 11

End annual number: 11