TWI484493B - 使用適應性程式驗證方法的快閃記憶體元件以及其操作方法 - Google Patents

使用適應性程式驗證方法的快閃記憶體元件以及其操作方法 Download PDF

Info

Publication number
TWI484493B
TWI484493B TW099146352A TW99146352A TWI484493B TW I484493 B TWI484493 B TW I484493B TW 099146352 A TW099146352 A TW 099146352A TW 99146352 A TW99146352 A TW 99146352A TW I484493 B TWI484493 B TW I484493B
Authority
TW
Taiwan
Prior art keywords
program
verification
state
program state
bit
Prior art date
Application number
TW099146352A
Other languages
English (en)
Other versions
TW201145286A (en
Inventor
Sang-Yong Yoon
Ki-Tae Park
Moo-Sung Kim
Bo-Geun Kim
Hyun-Jun Yoon
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of TW201145286A publication Critical patent/TW201145286A/zh
Application granted granted Critical
Publication of TWI484493B publication Critical patent/TWI484493B/zh

Links

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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/5671Digital 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 trapping in an insulator
    • 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/08Address circuits; Decoders; Word-line control 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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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

Landscapes

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

Description

使用適應性程式驗證方法的快閃記憶體元件以及其操作方法
本申請案主張於2010年2月11號向韓國智慧財產局提出申請之韓國專利申請案第10-2010-0012894號的優先權,該專利申請案所揭露之內容系完整結合於本說明書中。
本發明概念的實施例大致而言是有關於半導體記憶體元件。更具體地說,本發明概念的實施例是有關於使用適應性程式驗證方案的快閃記憶體元件以及相關的操作方法。
半導體記憶體在從衛星到消費者產品的各種現代電子元件中起著非常重要的作用。因此,半導體記憶體技術的發展可以使得廣泛的技術應用獲得顯著的改善。
基於在切斷(disconnect)電源的時候半導體記憶體元件能否保留(retain)已儲存的資料,半導體記憶體元件大體上可以被分為兩種類型。這兩種類型包括在切斷電源的時候丟失已儲存的資料的揮發性半導體記憶體元件以及在切斷電源的時候保留已儲存的資料的非揮發性半導體記憶體元件。揮發性記憶體元件的示例包括靜態隨機存取記憶體(static random access memory,SRAM)元件以及動態隨機存取記憶體(dynamic random access memory,DRAM)元件。非揮發性記憶體元件的示例包括各種類型的唯讀記憶體(read only memory,ROM),諸如MROM、PROM、EPROM以及EEPROM。
快閃記憶體是近些年來獲得普遍應用的一種EEPROM的形式。快閃記憶體相較於其它形式的非揮發性記憶體是相對便宜的,且能夠提供較高的性能以及資料儲存能力。此外,快閃記憶體能夠抗物理震擊,使其特別適用於可攜式元件,諸如蜂巢式電話(cellular phones)、數位照相機(digital cameras)、上網型電腦(netbook computer)等等。
快閃記憶體具有兩種通常的配置,包括NOR配置以及NAND配置。具有這些配置的快閃記憶體被分別稱為NOR快閃記憶體以及NAND快閃記憶體。相較於NAND快閃記憶體,NOR快閃記憶體趨於提供更快的存取速度但是具有較低的儲存能力。因此,NOR快閃記憶體經常被用於儲存諸如代碼(code)之類的需要快速存取的資訊,而NAND快閃記憶體通常被用於提供大資料儲存能力,此大資料儲存能力用於諸如多媒體資訊、資料檔案等等之類的資訊。
一些快閃記憶體被設計為每一記憶體胞儲存一個位元以上的資料。每一記憶體胞儲存一個位元以上的資料的快閃記憶體被稱為多位準胞(level cell,MLC)快閃記憶體。
通常採用已知的增量步級脈衝程式化(incremental step pulse programming,ISPP)技術來程式化MLC快閃記憶體。在增量步級脈衝程式化中,藉由多個程式回路(loop)來程式化已選擇的記憶體胞,其中每一程式回路包括:程式執行區段,在此執行區段中,程式電壓(program voltage)被施加到已選擇的記憶體胞以驗證其狀態;以及驗證區段,在此驗證區段中,驗證電壓被施加到已選擇的記憶體胞以決定其是否已經達到目標狀態。藉由以這種方式來執行程式回路,已選擇的記憶體胞被逐漸地程式化以及能夠避免諸如過度程式化(over-programming)之類的某些類型的程式化錯誤。
本發明概念的實施例提供了使用適應性程式驗證方案的快閃記憶體元件以及操作此快閃記憶體元件的方法。
根據本發明原理的一個實施例,程式化快閃記憶體元件的方法包括:(a)程式化已選擇的記憶體胞;(b)執行驗證操作以決定已選擇的記憶體胞的閾值電壓是否已經達到對應於目標程式狀態的驗證位準;(c)根據有關偵測已選擇的記憶體胞的初始通過位元(pass bit)的參數,決定用於目標程式狀態中的至少一個的驗證開始點;以及(d)根據有關偵測到成功地程式化多個已選擇的記憶體胞為目標程式狀態中的最低的一個的參數,決定用於目標程式狀態中的至少一個的驗證結束點。
在一些實施例中,有關偵測初始通過位元的參數是用於在偵測此初始通過位元的程式回路中程式化已選擇的記憶體胞的程式電壓。
在一些實施例中,驗證開始點是驗證開始回路。
在一些實施例中,驗證開始點根據對應於初始程式狀態的第一閾值電壓分佈與對應於至少一個目標程式狀態的第二閾值電壓分佈之間的容限(margin)而變化。
在一些實施例中,驗證開始點根據第一閾值電壓分佈以及第二閾值電壓分佈是否重疊(overlap)而變化。
在一些實施例中,驗證開始點在第一閾值電壓分佈以及第二閾值電壓分佈重疊的情況下增加。
在一些實施例中,驗證開始點在第一閾值電壓分佈以及第二閾值電壓分佈未重疊的情況下減小。
在一些實施例中,有關偵測到成功地程式化多個已選擇的記憶體胞為目標程式狀態中的最低的一個的參數包括用於程式回路中的程式電壓,在此程式回路中,多個已選擇的記憶體胞被偵測為成功地被程式化為目標程式狀態中的最低的一個。
在一些實施例中,決定驗證結束點包括預測(predict)目標程式狀態中的至少一個的通過點;以及將已預測的通過點減去偏移數值(offset value)。
在一些實施例中,將多個目標程式狀態的已預測的通過點減去相同的偏移數值,以決定用於多個目標程式狀態的驗證結束點。
以下圖式繪示了本發明原理的已選擇的實施例。在所附圖式中,相似的參考數字表示相似的特徵。此外,為了便於說明,誇大了某些組件的相關尺寸。
下面將參看所附圖式來描述本發明的概念的實施例。這些實施例被用作示例,其不應當被理解為限定本發明的概念的保護範圍。
在下面的描述中,在第一特徵被記載為“連接到”第二特徵的時候,第一特徵可以是“直接地連接到”第二特徵,或者經由中間特徵而“電性連接到”第二特徵。特定形式的術語包括多種形式,除非上下文有特定的說明。術語“包含”、“包括”、“包含......的”或者“包括......的”只是說明其具有這些特徵,但並不排除其包括其它的特徵。
圖1是根據本發明概念的實施例的快閃記憶體元件的方塊圖。為了便於解釋,假定圖1的快閃記憶體元件是NAND快閃記憶體元件。然而,本發明概念的實施例並非限定於NAND快閃記憶體元件。
請參看圖1,快閃記憶體元件包括記憶體胞陣列100,此記憶體胞陣列100包括配置在連接到字線WL的列(row)以及連接到位元線BL的行(column)中的記憶體胞。每一記憶體胞儲存1位元資料或者M位元資料,其中M是大於1的整數。藉由使用諸如浮置閘極(floating gate)之類的電荷儲存層(charge storage layer)或電荷捕獲層(charge trapping layer)、可變電阻器、或者其它類型的記憶體組件,每一記憶體胞能夠儲存資訊。
記憶體胞陣列100能夠被實施為具有單層陣列結構(稱為二維陣列結構(two-dimensional array structure))或者多層陣列結構(稱為三維陣列結構(three-dimensional array structure))。三維陣列結構的示例揭露於名為“SEMICONDUCTOR MEMORY DEVICE WITH MEMORY CELLS ON MULTIPLE LAYERS”的美國專利申請案第2008/0023747號以及名為“SEMICONDUCTOR DEVICE WITH THREE-DIMENSIONAL ARRAY STRUCTURE”的美國專利申請案第2008/0084729號,這些專利申請案所揭露之內容系完整結合於本說明書中。
列解碼器200執行用於記憶體胞陣列100的列的選擇以及驅動操作。電壓產生器300被控制邏輯400控制以及產生用於程式化、抹除以及讀取操作的電壓(例如,程式電壓、通過電壓(pass voltage)、抹除電壓以及讀取電壓)。讀取/寫入電路500被控制邏輯400控制以及根據快閃記憶體元件的各種操作模式而操作為感測放大器或者寫入驅動器。例如,在讀取操作中,讀取/寫入電路500操作為用於感測已選擇的列的已選擇的記憶體胞的資料的感測放大器。輸入/輸出電路600從讀取/寫入電路500接收讀取資料以及傳送讀取資料給外部的目的地。在程式化操作中,讀取/寫入電路500操作為寫入驅動器以根據程式資料來驅動已選擇的列的已選擇的記憶體胞。讀取/寫入電路500包括對應於各個位元線或者位元線對(pairs)的頁面緩衝器(page buffer)。在已選擇的記憶體胞儲存多位元/多位準資料的情況下,讀取/寫入電路500的每一頁面緩衝器可以包括兩個或者兩個以上的鎖存器(latch)。輸入/輸出電路600通常與諸如記憶體控制器或者主機之類的外部元件形成介面(interface)。
控制邏輯400控制快閃記憶體元件的整個操作以及包括通過位元偵測器410、通過/失效決定器420以及暫存器430(register)。
通過位元偵測器410接收在驗證操作中已經被讀取/寫入電路500讀取的資料。基於由讀取/寫入電路500所讀取的資料,該通過位元偵測器410接著決定已選擇的記憶體胞中的至少一個的閾值電壓是否大於或者等於第一程式狀態的閾值電壓(即,至少一個已選擇的記憶體胞被“程式通過(program passed)”為第一程式狀態)。在已選擇的記憶體胞中的至少一個被決定為被程式通過為第一程式狀態的情況下,則該控制邏輯400決定驗證開始點,此驗證開始點用於執行有關另一程式狀態的驗證操作。
驗證開始點是諸如具體的程式回路的程式操作的點,其中對於特定的程式狀態,驗證操作首先被執行。例如,用於已選擇的記憶體胞的程式狀態P2的驗證開始點可以是第一程式回路,在此第一程式回路中,驗證操作被執行以決定已選擇的記憶體胞是否被成功地程式化為狀態P2。在程式狀態P2的驗證開始點之前的程式回路中,省略了程式狀態P2的驗證操作。
在一些實施例中,根據程式電壓的保留值(saved value)來決定程式狀態P2的驗證開始點,在此程式電壓上,第一已選擇的記憶體胞被偵測為成功地被程式化為程式狀態P1。例如,在一些實施例中,驗證開始點是程式電壓的數值等於保留值以及預定的數值的總和的情況下的程式回路。
暫存器430儲存來自於控制邏輯400的通過位元資訊以指示已程式通過的回路。已程式通過的回路是至少一個已選擇的記憶體胞被程式通過為特定的程式狀態的程式回路。如下所述,通過位元資訊用來決定用於接下來的程式狀態的驗證操作的開始點。通過位元資訊也可以被提供給外部元件,諸如記憶體控制器。在驗證操作期間,通過/失效決定器420決定是否所有的已選擇的記憶體胞根據由讀取/寫入電路500所提供的讀取資料而被成功地程式化。
換句話說,通過/失效決定是決定所有的待被程式化為特定的程式狀態的已選擇的記憶體胞是否已經達到其狀態。同時,通過位元偵測是偵測待被程式化為特定的程式狀態的已選擇的記憶體胞中的至少一個是否已經達到其狀態。通過/失效決定以及通過位元偵測的次序可以在各種替代的實施例中被改變。例如,在一些實施例中,通過位元偵測在通過/失效決定之前被執行,以及在另一實施例中,通過位元偵測在通過/失效決定之後被執行。
圖2是包括具有記憶體區塊的記憶體胞陣列的快閃記憶體元件的圖形,此記憶體區塊具有全位元線(bit line)架構(architecture)或者奇數-偶數位元線架構。在記憶體胞陣列100中,儲存在相同的記憶體區塊中的資料被同時抹除。在每一記憶體區塊中,記憶體胞被配置在連接到相同的位元線(例如,1KB位元線)的行中。
在全位元線架構中,在讀取以及程式化操作中,同時選擇記憶體區塊的所有位元線。因此,連接到共用字線以及連接到所有位元線的記憶體胞被同時程式化。在圖2的示例中,相同行中的記憶體胞被串聯連接以形成NAND串列(string)111。NAND串列111的一個末端經由被串列選擇線SSL控制的選擇電晶體而被連接到對應的位元線,以及另一末端經由被接地選擇線GSL控制的選擇電晶體而被連接到共用源極線CSL。
在奇數-偶數架構中,位元線被分為偶數位元線BLe以及奇數位元線BLo。連接到共用字線以及連接到奇數位元線的記憶體胞被一起程式化,而連接到共用字線以及連接到偶數位元線的記憶體胞被一起程式化。資料能夠在不同的記憶體區塊中被程式化以及從不同的記憶體區塊中被讀取。這些操作可以在相同的時間被執行。
圖3A至圖3C是儲存不同數量的位元的記憶體胞的閾值電壓分佈的圖形。更具體地說,圖3A繪示了用於儲存2位元資料的記憶體胞的閾值電壓分佈,圖3B繪示了用於儲存3位元資料的記憶體胞的閾值電壓分佈,以及圖3C繪示了用於儲存4位元資料的記憶體胞的閾值電壓分佈。圖3A至圖3C的閾值電壓分佈對應於記憶體胞的程式狀態。因此,閾值電壓分佈有時是指接下來所描述的程式狀態。
如圖3A所示,在2位元資料(4位準資料或者2頁面資料)被儲存在一組記憶體胞中的情況下,每一記憶體胞具有4個閾值電壓分佈10至13中的其中之一中的閾值電壓。閾值電壓分佈10包圍(encompass)已抹除的記憶體胞的閾值電壓,以及閾值電壓分佈11至13包圍已程式化的記憶體胞的閾值電壓分佈。電壓VP1至VP3是用於決定記憶體胞是否被程式化為各個閾值電壓分佈11至13的驗證電壓。
如圖3B所示,在3位元資料(8位準資料或者3頁面資料)被儲存在一組記憶體胞中的情況下,每一記憶體胞具有8個閾值電壓分佈20至27中的其中之一中的閾值電壓。閾值電壓分佈20包括已抹除的記憶體胞的閾值電壓,以及閾值電壓分佈21至27包括已程式化的記憶體胞的閾值電壓分佈。電壓VP1至VP7是用於決定記憶體胞是否被程式化為各個閾值電壓分佈21至27的驗證電壓。
如圖3C所示,在4位元資料(16位準資料或者4頁面資料)被儲存在一組記憶體胞中的情況下,每一記憶體胞具有16個閾值電壓分佈30至45中的其中之一中的閾值電壓。閾值電壓分佈30包括已抹除的記憶體胞的閾值電壓,以及閾值電壓分佈31至45包括已程式化的記憶體胞的閾值電壓分佈。電壓VP1至VP15是用於決定記憶體胞是否被程式化為各個閾值電壓分佈31至45的驗證電壓。
圖4是用於程式化連接到已選擇的字線(word line)的記憶體胞的一系列程式化脈衝的圖形。圖4的示例使用通用的ISPP方案。本發明概念的某些實施例使用根據圖4的通用的ISPP方案來修正的程式化方案。
在通用的ISPP方案中,程式電壓Vpgm被施加到已選擇的記憶體胞的控制閘極以作為一系列(series)的程式化脈衝。程式化脈衝的位準在連續的疊代(successive iteration)中增加。
在程式化脈衝之間的期間中,執行驗證操作(或者驗證讀取操作)。驗證操作決定已選擇的記憶體胞的閾值電壓是否已經達到驗證位準。
在多位元快閃記憶體胞的陣列中,諸如根據圖3而描述的多位元快閃記憶體胞的陣列,執行驗證操作以決定已選擇的記憶體胞是否已經達到對應於理想的邏輯狀態的閾值電壓分佈。例如,如圖4所示,在4位元MLC中,藉由使用驗證電壓VP1至VP3來執行驗證操作以決定已選擇的記憶體胞是否已經成功地被程式化為對應於閾值電壓分佈11至13的其中之一的邏輯狀態。相似地,在8位元MLC中,藉由使用驗證電壓VP1至VP7來執行驗證操作,以及在16位元MLC中,藉由使用15個驗證電壓VP1至VP15來執行驗證操作.
使用圖4的通用程式化方案來執行的程式化操作所需要的時間趨於與已選擇的記憶體胞的程式狀態的數量成比例增加。然而,在一些程式化操作中,驗證操作趨於佔用全部的程式化時間的大部分。因此,根據本發明概念的某些實施例的快閃記憶體元件應用適應性驗證方案,此適應性驗證方案即使在已選擇的記憶體胞的程式狀態的數量相對大的情況下仍能夠減小驗證時間。
圖5A至圖5C是繪示根據本發明概念的程式化快閃記憶體元件的方法的圖形。在圖5A至圖5C的實施例中,假定快閃記憶體元件在每一胞中儲存4位元資料以及根據3-步驟程式化方案來執行程式化操作。
在圖5A至圖5C的方法中,在連接到已選擇的字線的已選擇的記憶體胞中,第一和第二頁面資料被同時程式化。如圖5A所示,根據待被程式化的資料,具有對應於已抹除的狀態E的閾值電壓分佈的已選擇的記憶體胞被程式化為對應於程式狀態Q1至Q3的閾值電壓分佈。
接下來,在已選擇的記憶體胞中,第三和第四頁面資料被同時程式化。如圖5B所示,根據待被程式化的資料,已抹除的狀態E中的已選擇的記憶體胞被程式化為對應於程式狀態P1’至P3’的閾值電壓分佈。根據待被程式化的資料,圖5A中的程式狀態Q1中的已選擇的記憶體胞被程式化為對應於程式狀態P4’至P7’的閾值電壓分佈。根據待被程式化的資料,圖5A中的程式狀態Q2中的已選擇的記憶體胞被程式化為對應於程式狀態P8’至P11’的閾值電壓分佈。根據待被程式化的資料,圖5A中的程式狀態Q3中的已選擇的記憶體胞被程式化為對應於程式狀態P12’至P15’的閾值電壓分佈。
用於決定程式狀態P1’至P15’的驗證電壓VP1’至VP15’低於用於決定程式狀態P1至P15的驗證電壓VP1至VP15(請參看圖5C)。例如,用於決定程式狀態P1’的驗證電壓VP1’低於用於決定對應的最終閾值電壓分佈P1的驗證電壓VP1(請參看圖5C)。程式化已選擇的記憶體胞為圖5B的閾值電壓分佈的的操作是指粗程式化操作(coarse programming operation)。
在精細程式化操作(fine programming operation)(或者再程式化操作)中,程式化狀態P1’至P15’中的已選擇的記憶體胞被程式化為具有最終的程式狀態P1至P15。
圖5A至圖5C的程式化操作可以被成功地或者不成功地執行。這些程式化操作可以具有用於決定已選擇的記憶體胞是否被程式化為目標閾值電壓分佈的驗證操作。
圖6和圖7是驗證圖5A的程式化操作的方法的圖形。
請參看圖6,在程式電壓Vpgm被施加於連接到已選擇的字線的已選擇的記憶體胞以後,用於驗證程式狀態Q1的驗證電壓被施加到已選擇的字線。這時,如圖6所示,用於其它程式狀態Q2和Q3的驗證操作未被執行。驗證電壓接著被施加到已選擇的字線,以及讀取/寫入電路500從記憶體胞讀取資料。接著,控制邏輯400的通過位元偵測器410根據讀取資料來偵測至少一個已選擇的記憶體胞的閾值電壓是否大於或者等於程式狀態Q1的驗證電壓VQ1。在不存在閾值電壓大於或者等於驗證電壓VQ1的已選擇的記憶體胞的情況下,則程式電壓Vpgm增加預定的數量以及程式化操作進入接下來的程式回路。否則,快閃記憶體元件決定用於程式狀態Q2和Q3的驗證開始點。
請參看圖7,在至少一個已選擇的記憶體胞被偵測為具有大於或者等於驗證電壓VQ1的閾值電壓的情況下,控制邏輯400根據程式電壓Vpgm的當前數值來設定程式狀態Q2的驗證開始點。更具體地說,控制邏輯400將驗證開始點設定為程式回路,此程式回路的程式電壓Vpgm的數值等於程式電壓Vpgm的當前數值與驗證電壓VQ1和VQ2之間的電壓差ΔV的總和。此外,假定驗證電壓VQ2和VQ3之間的電壓差也是ΔV,則控制邏輯400將程式狀態Q3的驗證開始點設定為程式回路,此程式回路的程式電壓Vpgm的數值等於程式電壓Vpgm的當前數值與2ΔV的總和。如圖6所示,程式狀態Q2和Q3的驗證操作未被執行,直到已決定的驗證開始點才被執行。
在一些實施例中,偵測到通過位元的程式回路(或者被施加到決定為通過位元的已選擇的記憶體胞的程式電壓)被儲存在控制邏輯400的暫存器430中。作為替代,在控制邏輯400的控制下,程式回路(或者程式電壓)被提供到外部元件,諸如記憶體控制器。
如上所述,在執行該通過位元偵測之前或者之後,可以藉由通過/失效決定器420來執行通過/失效決定。在已選擇的記憶體胞被成功地程式化為其目標狀態的情況下,在接下來的程式回路中,施加程式禁止電壓(program inhibit voltage)到已選擇的記憶體胞。
圖8和圖9是驗證圖5B的程式化操作的方法的圖形。
請參看圖8,在程式電壓Vpgm被施加於連接到已選擇的字線的已選擇的記憶體胞之後,用於驗證程式狀態P1’的驗證電壓被施加到已選擇的字線。這時,如圖8所示,用於其它程式狀態P2’至P15’的驗證操作未被執行。驗證電壓接著被施加到已選擇的字線,以及讀取/寫入電路500從記憶體胞讀取資料。接著,控制邏輯400的通過位元偵測器410根據讀取資料來偵測至少一個已選擇的記憶體胞的閾值電壓是否大於或者等於程式狀態P1’的驗證電壓VP1’。在不存在閾值電壓大於或者等於程式狀態P1’的驗證電壓VP1’的已選擇的記憶體胞的情況下,則程式電壓Vpgm增加預定的數量,以及程式化操作進入接下來的程式回路。否則,快閃記憶體元件決定用於程式狀態P2’至P15’的驗證開始點。
請參看圖9,在至少一個已選擇的記憶體胞被偵測為具有大於或者等於驗證電壓VP1’的閾值電壓的情況下,控制邏輯400根據程式電壓Vpgm的當前數值來設定程式狀態P2’的驗證開始點。更具體地說,控制邏輯400將驗證開始點設定為程式回路,此程式回路的程式電壓Vpgm的數值等於程式電壓Vpgm的當前數值與驗證電壓VP1’和VP2’之間的電壓差ΔV1的總和。此外,假定驗證電壓VP2’和VP3’之間的電壓差也是ΔV1,則控制邏輯400將程式狀態P3’的驗證開始點設定為程式回路,此程式回路的程式電壓Vpgm的數值等於程式電壓Vpgm的當前數值與2ΔV1的總和。如圖8所示,程式狀態P2’至P15’的驗證操作未被執行,直到已決定的驗證開始點才被執行。
在一些實施例中,在粗糙程式化操作期間,控制邏輯400的暫存器430儲存通過位元資訊,諸如偵測到通過位元的程式回路或者此回路的程式電壓。儲存在暫存器430中的通過位元資訊可以接著被用於決定用於精細程式化操作的最終程式狀態P1至P15的驗證開始點。
在一些實施例中,該通過位元資訊被輸出到外部元件,諸如記憶體控制器。該通過位元資訊可以被用於執行已選擇的記憶體胞的精細程式化操作。
圖10和圖11是驗證圖5C的程式化操作的方法的圖形。
請參看圖10,基於在先前的程式化操作中被偵測到的通過位元資訊,該控制邏輯400決定程式狀態P1至P15的驗證開始點。例如從暫存器430存取該通過位元資訊。請參看圖11,控制邏輯400根據該通過位元資訊來決定程式狀態P1的驗證開始點,此通過位元資訊指示在已選擇的字線的先前的頁面程式化操作中所偵測的通過位元。該控制邏輯400將程式狀態P2的驗證開始點設定為程式回路,在此程式回路中,程式電壓Vpgm等於驗證電壓VP1和VP2之間的電壓差ΔV2與對應於在先前的程式化操作中所偵測的通過位元的資訊程式電壓Vpgm的總和。此外,假定驗證電壓VP2和VP3之間的電壓差也是ΔV2,則控制邏輯400將程式狀態Q3的驗證開始點設定為程式回路,此程式回路的程式電壓Vpgm的數值等於程式電壓Vpgm的當前數值與2ΔV2的總和。如圖10所示,程式狀態P2至P15的驗證操作未被執行,直到已決定的驗證開始點才被執行。
在圖5所述的程式化方法中,程式狀態P1至P15的驗證操作未被執行,直到對應的驗證開始點才被執行。例如,僅僅在當前的回路達到對應的程式狀態的驗證開始點之後,程式狀態P1至P15的驗證電壓才被應用到已選擇的字線。
圖12A是繪示用於圖5A的方法的程式電壓以及驗證電壓的電壓圖形。圖12B是繪示用於圖5B的方法的程式電壓以及驗證電壓的電壓圖形。圖12C是繪示用於圖5C的方法的程式電壓以及驗證電壓的電壓圖形。
如圖12A所示,在程式狀態Q1的驗證操作期間偵測通過位元。只要偵測到該通過位元,則藉由控制邏輯400來決定其它程式狀態Q2和Q3的驗證開始點。如圖12B所示,在程式狀態P1’的驗證操作期間偵測該通過位元。只要偵測到該通過位元,則藉由控制邏輯400來決定其它程式狀態P2’和P15’的驗證開始點。這時,該通過位元資訊被儲存到控制邏輯400的暫存器430中以決定諸如精細程式化階段之類的接下來的頁面程式化操作的驗證開始點。最後,如圖12C所示,基於儲存在暫存器430中的資訊來決定最後的程式狀態P1至P15的驗證開始點。
在圖5至圖12所示的程式化操作中,藉由消除某些驗證操作來增加程式化操作。
圖13是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的圖形。在圖13的方法中,藉由採用根據圖13左側所示的不同情況的不同技術來程式化記憶體胞。
在圖13的兩個不同情況中,根據已經選擇的記憶體胞的先前狀態以及目標狀態來變化地設定程式狀態的驗證開始點。在第一種情況下,因為先前的狀態的閾值電壓分佈未超過目標狀態的驗證電壓,所以先前的狀態以及目標狀態不會重疊。在第二種情況下,因為先前的狀態的閾值電壓分佈超過了目標狀態的驗證電壓,所以先前的狀態以及目標狀態重疊。
在待被驗證的目標狀態對應於第一種情況的時候,目標狀態的驗證開始點使用藉由圖13的實線(solid line)的右邊的虛線(dashed line)所繪示的驗證電壓。另一方面,在待被驗證的目標狀態對應於第二種情況的時候,目標狀態的驗證開始點使用藉由圖13的實線(solid line)的左邊的點線(dotted line)所繪示的驗證電壓。在圖13的示例中,根據圖6或者圖8的方法來決定對應於實線的驗證開始點。
應用圖13的方法於圖5A的示例,藉由先前狀態E以及目標狀態Q1至Q3可以實線第一種情況。在圖5A的示例中,因為記憶體胞未在相互重疊的閾值電壓分佈之間被程式化,所以第二種情況不會出現。應用圖13的方法於圖5B的示例,藉由先前狀態E以及目標狀態P1’至P3’,先前狀態Q1以及目標狀態P5’至P7’,先前狀態Q2以及目標狀態P9’至P11’,以及先前狀態Q3以及目標狀態P13’至P15’可以實線第一種情況。藉由先前狀態Q1以及目標狀態P4’,先前狀態Q2以及目標狀態P8,以及先前狀態Q3以及目標狀態P12可以實線第二種情況。應用圖13的方法於圖5C的示例,藉由先前狀態P1’至P15’以及目標狀態P1至P15可以實線第二種情況。
圖14是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的圖形。
圖14的方法與圖13的方法實質上相同,除了根據來自於相同的字線的先前的頁面程式化操作的通過位元資訊,而不是根據用於第一程式化狀態P1的通過位元偵測,來執行驗證開始點的決定以外,其餘都相同。
如圖13和圖14所繪示,根據已偵測的通過位元、已儲存的通過位元、或者已偵測的通過位元或已儲存的通過位元與先前的狀態和目標狀態之間的關係來決定每一程式狀態的驗證開始點。
圖15是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的圖形。
在圖15的方法中,根據影子程式化方案(shadow programming scheme)來程式化已選擇的記憶體胞。即使在藉由使用影子程式化方案來執行程式化操作的時候,上述的方法可以被用於決定驗證開始點。例如,根據已偵測的通過位元、已儲存的通過位元、或者已偵測的通過位元或已儲存的通過位元與先前的狀態和目標狀態之間的關係,可以決定每一程式狀態的驗證開始點。
圖16是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的流程圖。圖17是繪示藉由圖16的方法所程式化的多位元資料的閾值電壓分佈的圖形。
在圖16的方法中,藉由使用包括程式化執行區段以及驗證區段的程式化操作,來程式化快閃記憶體元件。程式化執行區段改變已選擇的字線的已選擇的記憶體胞的閾值電壓,以及驗證區段決定在程式化執行區段期間已經改變的已選擇的記憶體胞的閾值電壓是否已經達到對應的目標電壓。在程式化執行區段期間,程式化電壓被施加於已選擇的字線,以及在驗證區段期間,一系列的驗證電壓被依序施加於已選擇的字線。一系列的驗證電壓對應於表示已選擇的記憶體胞中的多位元資料的閾值電壓分佈。在程式化執行區段之前,待被程式化的資料被載入到快閃記憶體元件。在載入待被程式化的資料之前可以讀取先前已程式化的資料。
請參看圖16,在操作S100中,變數(variable)FLAG以及Pi_FLAG被設定為“0”。變數FLAG被用於指示最低的程式狀態(例如,圖2的狀態P1)是否已通過,以及變數Pi_FLAG被用於指示其它的程式狀態是否已通過。程式狀態的“已通過的(passed)”狀態指示對應於程式狀態的已選擇的記憶體胞的所有閾值電壓大於或者等於程式狀態的驗證電壓。程式狀態的已通過的狀態不同於程式化操作的程式通過(program pass)。
在操作S110中,執行程式化操作。操作S110對應於程式化執行區段。接著,操作S120決定變數FLAG是否被設定為“1”。在變數FLAG未被設定為“1”的情況下(S120=否),則方法進入到操作S130。在操作S130中,對於程式狀態P1執行驗證操作。接著,在操作S140中,上述方法決定對應於程式狀態P1的所有的已選擇的記憶體胞的閾值電壓是否大於或者等於驗證電壓。換句話說,操作S140決定程式狀態是否已通過。
在程式狀態P1被決定為通過的情況下(S140=是),該方法進入到操作S150,其中變數FLAG被設定為“1”。之後,在進一步程式回路的驗證區段期間,省略用於程式狀態P1的驗證操作。對於程式狀態P1執行驗證的諸如最後的程式回路之類的最後的點是指驗證結束點或者驗證結束回路。接下來,操作S160預測餘下的程式狀態的驗證結束點。餘下的程式狀態的驗證結束點按照如下方式來預測。
在程式狀態P1被偵測為通過的情況下,該方法決定或者預測每一餘下的程式狀態的通過點,其中通過點指示程式狀態被通過的程式回路或者程式電壓。通過點接著可以被用於決定餘下的程式狀態的驗證結束點。
藉由方程式“Vpgm(i)=Vpgm(pass)+Vdiff”來決定餘下的程式狀態的通過點,其中Vdiff指示程式電壓狀態P1的驗證電壓VP1與另一程式狀態的驗證電壓之間的差異電壓“N*ΔV”(其中,N1),Vpgm(i)(i2)指示每一餘下的程式狀態(例如,程式狀態P2至P7)而不是程式狀態P1的通過點的已程式化的電壓,以及Vpgm(pass)指示程式狀態P1被通過的點的程式電壓。
如圖2所示,假定3位元資料被儲存在每一記憶體胞中,每一記憶體胞具有對應於狀態E和P1至P7的8個閾值電壓分佈的任何一個。藉由對應的驗證電壓Vvfy1至Vvfy7來決定程式狀態P1至P7。圖2的狀態分佈圖形是在對應於相鄰的程式狀態(例如,P1和P2)的驗證電壓(例如,Vvfy1和Vvfy2)之間的差異電壓“ΔV”是不變的情況下所繪示的。然而,在其它的實施例中,驗證電壓之間的電壓差異是可以改變的。
如上所述,可以決定餘下的程式狀態而不是程式狀態P1的通過點。根據已決定的通過點來決定餘下的程式狀態的驗證結束點。通過方程式“Vpgm(i)_VE=Vpgm(i)-Voffset(i)”來決定驗證結束點,其中Vpgm(i)_VE指示對應於每一餘下的程式狀態的驗證結束點的程式電壓,以及Voffset(i)指示每一餘下的程式狀態的偏移電壓(offset voltage)。在各個實施例中,餘下的程式狀態的偏移電壓可以被設定為相同的數值或者不同的數值。
在一些實施例中,藉由比較當前的程式回路的程式電壓以及有關驗證結束點的程式電壓,快閃記憶體元件決定對於特定的程式狀態是否已經達到驗證結束點。作為替代,藉由比較當前的程式回路的索引(index)或者其它辨識符(identifier)以及該驗證結束點的程式回路辨識符,則快閃記憶體元件可決定對於特定的程式狀態是否已經達到驗證結束點。
在一些實施例中,在所有的有關的記憶體胞被程式化為程式狀態之前,可以產生用於此程式狀態的驗證結束點。因為根據上述的預測可以決定驗證結束點,所以這是可以產生的。在產生驗證結束點情況下,還未成功地程式化的記憶體胞包括失效位元。在讀取位元的期間,藉由記憶體控制器的錯誤更正碼(error correction code,ECC)可以更正各失效位元。各失效位元通常與具有慢的程式化速度的記憶體胞相關以及被稱為慢位元(slow bit)。
在對於餘下的程式狀態P2至P7決定了驗證結束點的情況下,該方法進入操作S170。如下所述,在操作S170中,對於餘下的程式狀態P2至P7,執行驗證操作。在操作S120決定變數FLAG被設定為“1”的情況下(S120=是),或者在操作S140決定程式狀態P1未通過的情況下(S140=否),該方法也會進入操作S170。
在操作S170中執行的餘下的程式狀態的驗證操作會基於在操作S160中所決定的驗證結束點而被自動結束。作為示例,在操作S171中,對於接下來的程式狀態(例如,狀態P2)來執行驗證操作。操作S172決定對應於程式狀態P2的記憶體胞的閾值電壓是否大於或者等於驗證電壓Vvfy2。也就是說,操作S172決定對應於程式狀態P2的所有的記憶體胞是否都被程式化通過。在對應於程式狀態P2的所有的記憶體胞都被決定為被程式化通過的情況下(S172=是),該方法進入操作S173。否則(S172=否),該方法進入操作S174。
在操作S174中,該方法決定當前的程式回路是否已經達到程式狀態P2的驗證結束點。如果是(S174=是),則該方法進入操作S173。否則(S174=否),該方法進入操作S175。
在操作S173中,變數Pi_FLAG被設定為已通過的狀態以指示在接下來的程式回路中將省略用於程式狀態P2的驗證操作。
在操作S175中,此方法決定是否已經執行餘下的程式狀態P2至P7的所有的驗證操作。在還未執行程式狀態P2至P7的所有的驗證操作的情況下(S175=否),該方法進入操作S176。否則(S175=是),該方法進入操作S180。在操作S176中,變數“i”增加1,以及此方法返回操作S171。
在操作S180中,此方法決定所有的程式狀態(例如,P1至P7)是否被通過。在一個或者多個程式狀態被決定還未被通過的情況下(S180=否),此方法進入操作S190。否則(S180=是),結束此方法。
在操作S190中,用來指示一程式回路的變數LOOP增加1,以及此方法返回操作S110。執行接下來的程式回路,直到決定所有的程式狀態都被通過才停止執行。
圖18是根據本發明概念的實施例的用於圖16的方法中的驗證方案的圖形。
請參看圖18,在程式狀態P1被通過的情況下,預測用於餘下的程式狀態P2至P7的驗證結束點。在當前的程式回路(或者程式電壓)對應於程式狀態的已預測的驗證結束點的情況下,則程式狀態被通過,且結束該程式狀態的驗證操作。如圖18所示,在每一程式狀態達到對應的驗證結束點之後,對於每一程式狀態省略驗證操作。
圖19是根據本發明概念的另一實施例的用於圖16的方法中的驗證方案的圖形。
在圖19的方法中,根據多個程式狀態中的的至少兩個程式狀態的通過點來決定餘下的程式狀態的驗證結束點。例如,程式狀態被分為“n”個族群G1至Gn。根據屬於每一族群的最低程式狀態的通過點來決定屬於此族群的餘下的程式狀態的驗證結束點。如上所述可以決定驗證結束點。舉例來說,在第一族群G1中,根據程式狀態P1的通過點來決定餘下的程式狀態P2至P4的驗證結束點。在第二族群G2中,根據程式狀態P5的通過點來決定餘下的程式狀態P6至P8的驗證結束點。
在其它的一些實施例中,可以改變屬於每一族群的程式狀態的數量。而且,被施加到不同族群的偏移電壓可以被設定為相同或者不同,以及屬於相同的族群的程式狀態的偏移電壓可以被設定為相同或者不同。
圖20是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
在圖20的方法中,在操作S200中,變數FBCPS、VPS以及Pi_FLAG被設定為“1”。變數FBCPS指示在執行失效位元計數的情況下的程式狀態,以及變數VPS指示執行驗證操作的情況下的程式狀態。變數Pi_FLAG被用於指示已經執行驗證操作的情況下的程式狀態的已通過的狀態。
在操作S210中執行程式化操作。操作S210對應於程式化執行區段。接著,操作S220決定變數FBCPS的數值是否等於變數VPS的數值。假定當前的程式回路是第一程式回路,則變數FBCPS的數值等於變數VPS的數值(S220=是)。接著,此方法進入操作S230。在操作S230中,對於程式狀態P1執行驗證操作,以及此方法進入操作S240。
操作S240計數在程式狀態P1的驗證操作中被讀取的資料位元中的失效位元的數量。可以用各種方式來實施失效位元的計數。例如,基於在驗證操作期間在已選擇的記憶體胞中流動的電流的數值來計數失效位元的數量。作為替代,可以使用計數器來計數失效位元的數量。
接下來,在操作S250中,此方法決定失效位元的已計數的數量是否小於預定的參考數值。在失效位元的已計數的數量小於預定的參考數值的情況下(S250=是),則此方法進入操作S260。否則(S250=否),則此方法進入操作S270。在操作S250中,根據記憶體控制器的ECC單元的錯誤更正能力來決定參考數值。在操作S260中,變數FBCPS的數值增加1,以及變數Pi_FLAG被設定為指示已通過的狀態。換句話說,第一程式狀態P1被決定為具有已通過的狀態,接下來,在接下來的程式回路中,省略用於程式狀態P1的驗證操作。接下來,此方法進入操作S270。
如上所述,在對應於程式狀態的資料位元中的失效位元的數量小於預定的參考數值的情況下,程式狀態被決定為具有已通過的狀態。接下來,即使在對應於程式狀態的資料位元包括失效位元的情況下,也可以省略程式狀態的驗證操作。失效的位元是慢位元。換句話說,在對應於程式狀態的資料位元中的失效位元的數量小於預定的參考數值的情況下,省略用於慢位元的驗證操作。
返回到操作S220,在變數FBCPS的數值不等於變數VPS的數值的情況下(S220=否),此方法進入操作S280。在用於程式狀態P1的失效位元的已計數的數量大於參考數值的情況下,不改變該變數FBCPS的數值。在這種情況下,假定當前的驗證操作是有關於用於第二程式狀態P2或者另一更高的程式狀態的驗證操作,則變數FBCPS的數值不等於變數VPS的數值,此變數FBCPS的數值指示已經計數的失效位元的數量的情況下的程式狀態,此變數VPS的數值指示在執行驗證操作的情況下的程式狀態。
在操作S280中,對於對應於變數VPS的數值的當前的程式狀態,執行驗證操作,且此方法進入操作S290。在操作S290中,此方法決定所有的已讀取的資料位元是否都是已通過的資料位元。在已讀取的資料位元都是已通過的資料位元的情況下(S290=是),變數Pi_FLAG被設定為指示當前的程式狀態的已經通過的狀態,且此方法進入操作S300。否則(S290=否),則此方法進入操作S270。在操作S270中,此方法決定用於程式狀態的所有的驗證操作是否都已經被執行。如果沒有(S270=否),則此方法進入操作S310。否則(S270=是),則此方法進入操作S320。
在操作S310中,指示待被執行的驗證操作的程式回路的變數VPS的數值增加1,且此方法返回到操作S220。在操作S320中,此方法決定所有的程式狀態是否都被通過。在至少一個程式狀態未被通過的情況下(S320=否),則操作S330將程式回路的數值增加1,以及設定該變數VPS為“N”。在操作S330中,“N”的數值指示未被通過的程式狀態中的最低的程式狀態。緊接著該操作S330,此方法返回到操作S210。在所有的程式狀態都被決定為通過的情況下(S320=是),則此方法結束。
在一些實施例中,可以修正圖20中的方法,從而其在操作S320以及S240之間決定程式狀態是否被通過。
圖21是根據本發明概念的實施例的用於圖20的方法中的驗證方案的圖形。
請參看圖21,執行用於第一程式狀態P1的位元計數操作,直到失效位元的數量小於預定的參考數值才停止位元計數操作。這時,未執行用於餘下的程式狀態的失效位元計數操作。一旦第一程式狀態P1的失效位元的數量小於預定的參考數值,則結束用於第一程式狀態P1的驗證操作,以及開始用於第二程式狀態P2的失效位元計數操作。這時,對於餘下的程式狀態(即,第二程式狀態的上面的(upper)程式狀態),未執行失效位元計數操作。在用於第二程式狀態P2的失效位元的數量小於預定的參考數值的情況下,則結束用於第二程式狀態P2的驗證操作,以及開始用於第三程式狀態P3的失效位元計數操作。通過與圖21所示的實質上相同的方案來決定用於餘下的程式狀態的失效位元計數操作。
圖22是能夠執行圖20的方法的快閃記憶體元件的方塊圖。
圖22的元件與圖1的元件實質上是相同的,除了圖22的元件還包括電路440以外,此電路440位於控制邏輯400中,以藉由使用電流感測來計數失效位元的數量。失效位元的數量的計數並非限定於電流感測,以及其也可以藉由使用諸如計數器之類的其它計數來實施。
圖23A和圖23B是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的流程圖。
在圖23A和圖23B的示例中,假定藉由使用一個已抹除的狀態E以及7個程式狀態P1至P7來將3位元資料儲存到每一記憶體胞中。此外,圖23的方法能夠合併圖6或者圖8所示的用於決定驗證開始點的方案以及圖16所示的用於決定驗證結束點的方案。藉由使用驗證開始點決定,則可以跳過(skip)用於快位元(fast bit)的驗證操作,以及通過驗證結束點決定方案可,則以跳過(skip)用於慢位元的驗證操作。
請參看圖23A,在操作S300中,在程式化操作的開始期間,變數i_PGM_Loop被設定為“1”,變數P(j)_Verify_Start以及P(j)_Verify_End被分別設定為最大程式回路時間(maximum program loop time)Max_PGM_Loop。變數i_PGM_Loop指示當前的程式狀態,變數P(j)_Verify_Start指示第j程式狀態的驗證開始點,以及變數P(j)_Verify_End指示第j程式狀態的驗證結束點。接下來,在操作S310中,在控制邏輯400的控制下執行程式化操作。
此後,在操作S320中,在完成程式化操作的時候,此方法決定程式狀態P1是否被通過。在驗證操作決定程式狀態P1未被通過的情況下(S320=否),則此方法進入操作S330。
在操作S330中,對於程式狀態P1執行驗證操作以決定至少一個已選擇的記憶體胞是否已經成功地被程式化為程式狀態P1。換句話說,操作S330決定已選擇的記憶體胞是否包含通過位元。
在程式狀態P1的驗證操作期間偵測了通過位元的情況下(S340=是),則此方法進入操作S350。否則(S340=否),此方法進入操作S360。
操作S350執行諸如圖6和圖8所示的方案之類的方法,以根據已偵測的通過位元來預測餘下的程式狀態P2至P7的驗證開始點P(j)_Verify_Start。更具體地說,操作S350包括:在操作S351中設定變數“j”為2;在操作S352中預測第j程式狀態的驗證開始點P(j)_Verify_Start;在操作S353中,決定“j”是否達到7,其指示最高有效位元(most significant bit,MSB)程式狀態P7;以及在操作S354中,如果“j”還未達到7(S353=否),則“j”增加1。
也可以根據圖13和圖14所示的方案來預測驗證開始點。在操作S350中預測了餘下的程式狀態P2至P7的驗證開始點P(j)_Verify_Start之後,此方案進入操作S360。
在操作S360中,此方案決定程式狀態P1是否被通過。在決定程式狀態P1被通過的情況下(S360=是),則此方法進入操作S370。否則(S360=否),則此方法進入操作S380。
操作S370使用與圖16所示的方法類似的方法來預測餘下的程式狀態P2至P7的驗證結束點P(j)_Verify_End。更具體地說,操作S370包括:在操作S371中設定變數“j”以指示程式狀態P2;在操作S372中預測第j程式狀態的驗證結束點P(j)_Verify_End;在操作S373中,決定“j”是否達到7;以及在操作S374中,如果“j”還未達到7(S373=否),則“j”增加1。在操作S370中預測了餘下的程式狀態P2至P7的驗證結束點P(j)_Verify_End之後,此方案進入操作S380。
在操作S380中,此方法將“j”設定為2以指示程式狀態P2。接下來,在操作S390中,此方法決定當前程式回路i_PGM_Loop是否位於程式狀態P(j)的驗證開始點P(j)_Verify_Start與驗證結束點P(j)_Verify_End之間。如果是,則執行程式狀態P(j)的驗證操作。否則,省略驗證操作。
在操作S390決定當前程式回路i_PGM_Loop大於或等於程式狀態P(j)的驗證開始點P(j)_Verify_Start或者小於或等於程式狀態P(j)的驗證結束點P(j)_Verify_End的情況下(S390=是),則此方法進入操作S400。否則(S390=否),則此方法進入操作S410。
在操作S400中,此方法執行程式狀態P(j)的驗證操作且進入操作S410。在操作S410,此方法決定“j”是否達到7,其指示程式狀態P7。在“j”還未達到7的情況下(S410=否),則在操作S420中“j”增加1以及此方法返回操作S390。否則(S410=是),則此方法進入操作S430。在操作S430中,此方法決定所有的程式狀態是否被通過。如果沒有(S430=否),則執行操作S440以使得變數i_PGM_Loop增加1。否則(S430=是),結束此方法。在操作S440之後,此方法返回操作S310。
圖24A和圖24B是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
在圖24A和圖24B的示例中,假定藉由使用一個已抹除的狀態E以及7個程式狀態P1至P7來將3位元資料儲存到每一記憶體胞中。此外,圖24的方法可以包含圖6或者圖8所示的用於預測驗證開始點的方案以及圖20所示的用於預測驗證結束點的方案。在圖24A和圖24B的方法中,根據驗證開始點預測方案可以跳過用於快位元的驗證操作,以及根據驗證結束點預測方法可以跳過用於慢位元的驗證操作。
請參看圖24A,在程式化操作的開始期間,執行操作 S500以將變數i_PGM_Loop設定為“1”,以及將變數P(j)_Verify_Start以及P(j)_Verify_End設定為最大程式回路時間(maximum program loop time)Max_PGM_Loop。變數i_PGM_Loop指示當前的程式狀態,以及變數P(j)_Verify_Start指示第j程式狀態的驗證開始點。接下來,在操作S510中,在控制邏輯400的控制下執行程式化操作。
在程式化操作之後,操作S520決定程式狀態P1是否被通過。在程式狀態P1未被通過的情況下(S520=否),則此方法進入操作S530。否則(S520=是),此方法進入操作S560。在操作S530中,此方法對於程式狀態P1執行驗證操作以及決定用於程式狀態P1的失效位元的數量。如圖20所繪示,在用於程式狀態P1的失效位元的數量小於或者等於參考數值的情況下,程式狀態P1被設定為通過。
接下來,在操作S540中,此方法決定在程式狀態P1的驗證操作期間是否偵測到至少一個通過位元(即,快位元)。在偵測到快位元的的情況下(S540=是),則此方法進入操作S550。否則(S540=否),此方法進入操作S560。操作S560包括與圖6或者圖8所示的方案相似的方法,其中根據已偵測的通過位元來預測餘下的程式狀態P2至P7的驗證開始點P(j)_Verify_Start。因此,操作S550包括:在操作S551中設定變數“j”為2;在操作S552中預測第j程式狀態的驗證開始點P(j)_Verify_Start;在操作S553中,決定“j”是否達到7;以及在操作S554中,如果“j”還未達到7(S553=否),則“j”增加1。根據圖13和圖14所示的方案也可以預測驗證開始點。在操作S550中預測了餘下的程式狀態P2至P7的驗證開始點P(j)_Verify_Start之後,此方案進入操作S560。
在操作S560中,此方法將“j”設定為2以指示程式狀態P2。接下來,在操作S570中,此方法決定程式狀態P(j)是否被通過。在程式狀態P(j)未被通過的情況下(S570=否),則此方法進入操作S580。否則(S570=是),此方法進入操作S600。在操作S580中,此方法決定程式狀態P(j)的已預測的驗證開始點是否小於或者等於當前程式回路i_PGM_Loop。在當前程式回路i_PGM_Loop小於程式狀態P(j)的驗證開始點P(j)_Verify_Start的情況下,則省略程式狀態P(j)的驗證操作。在當前程式回路i_PGM_Loop大於程式狀態P(j)的驗證開始點P(j)_Verify_Start的情況下,則執行程式狀態P(j)的驗證操作。
在當前程式回路i_PGM_Loop大於或者等於程式狀態P(j)的驗證開始點P(j)_Verify_Start的情況下,則此方法進入操作S590。在操作S590中,對程式狀態P(j)執行驗證操作以及計數該程式狀態P(j)的失效位元的數量。如圖20所示,在程式狀態P(j)的失效位元的數量小於或者等於參考數值的情況下,則程式狀態P(j)被設定為通過。在其它的實施例中,如圖20所示,在程式狀態P1被通過之後,執行程式狀態P(j)的失效位元偵測操作。緊接該操作S590,此方法進入操作S600。
在操作S600中,此方法決定“j”是否達到7,其指示程式狀態P7。在“j”還未達到7的情況下(S600=否),則在操作S610中,“j”增加1。否則(S600=是),則此方法進入操作S620。
在操作S620中,此方法決定所有的程式狀態P1至P7是否被通過。如果是(S620=是),結束此方法。否則(S620=否),則執行操作S630以使得變數i_PGM_Loop增加1,以及此方法返回操作S510。
圖25A和圖25B是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的流程圖。
在圖25A和圖25B的方法中,假定藉由使用一個已抹除的狀態E以及7個程式狀態P1至P7來將3位元資料儲存到每一記憶體胞中。此外,圖25A和圖25B的方法使用圖10所示的預測驗證開始點的方案以及圖16所示的預測驗證結束點的方案。根據驗證開始點預測方案可以跳過用於快位元的驗證操作,以及根據驗證結束點預測方案可以跳過用於慢位元的驗證操作。
請參看圖25A,在程式化操作的開始期間,執行操作S700以將變數i_PGM_Loop設定為“1”,以及將變數P(j)_Verify_Start以及P(j)_Verify_End設定為最大程式回路時間Max_PGM_Loop。變數i_PGM_Loop被用於指示當前的程式狀態,以及變數P(j)_Verify_End被用於指示第j程式狀態的驗證結束點。接下來,在操作S710中,基於來自於先前的頁面或者先前的步級程式化操作的通過位元資訊(例如,程式電壓或者程式回路)來預測程式狀態P1至P7的驗證開始點。更具體地說,操作S710包括:在操作S711中設定變數“j”為1;在操作S712中預測P(j)程式狀態的驗證開始點;在操作S713中,決定“j”是否達到7,其指示程式狀態P7;以及在操作S714中,如果“j”還未達到7(S713=否),則“j”增加1。在“j”達到7的情況下(S713=是),則此方法進入操作S720。在操作S720中,在控制邏輯400的控制下執行程式化操作。
在程式化操作之後,操作S730決定程式狀態P1是否被通過。在程式狀態P1未被通過的情況下(S730=否),則在操作S740中,對於程式狀態P1執行驗證操作。否則(S730=是),此方法進入操作S770。
在操作S750中,此方案決定程式狀態P1是否被通過。在決定程式狀態P1被通過的情況下(S750=是),則此方法進入操作S760。否則(S750=否),則此方法進入操作S770。
類似於圖16的方法來執行操作S760,其中預測餘下的程式狀態P2至P7的驗證結束點P(j)_Verify_End。更具體地說,操作S760包括:在操作S761中設定變數“j”為2;在操作S762中預測第j程式狀態的驗證結束點P(j)_Verify_End;在操作S763中,決定“j”是否達到7;以及在操作S764中,如果“j”還未達到7(S763=否),則“j”增加1。在操作S760中預測了餘下的程式狀態P2至P7的驗證結束點P(j)_Verify_End之後,此方案進入操作S770。
在操作S770中,此方法將“j”設定為2以指示程式狀態P2。接下來,在操作S780中,此方法決定當前程式回路i_PGM_Loop是否位於程式狀態P(j)的驗證開始點P(j)_Verify_Start與程式狀態P(j)的驗證結束點P(j)_Verify_End之間。如果是,則在當前的程式回路中執行程式狀態P(j)的驗證操作。否則,省略驗證操作。在操作S780決定當前程式回路i_PGM_Loop大於或者等於程式狀態P2的驗證開始點P(j)_Verify_Start以及小於或者等於程式狀態P2的驗證結束點P(j)_Verify_End的情況下(S780=是),則此方法進入操作S790。否則,此方法進入操作S800。在操作S790中,執行程式狀態P2的驗證操作,以及此方法進入操作S800。
操作S800決定“j”是否達到7,其指示程式狀態P7。在“j”還沒有達到7的情況下(S800=否),則在操作S810中,“j”增加1以及此方法返回操作S780。否則(S800=是),則此方法進入操作S820。操作S820決定所有的程式狀態是否被通過。如果並非所有的程式狀態都被通過(S820=否),則執行操作S830以使得變數i_PGM_Loop增加1,以及此方法然後返回操作S720。否則(S820=是),結束此方法。
圖26A和圖26B是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的流程圖。
在圖26A和圖26B的示例中,假定藉由使用一個已抹除的狀態E以及7個程式狀態P1至P7來將3位元資料儲存到每一記憶體胞中。此外,圖26A和圖26B的方法可以使用圖10所示的預測驗證開始點的方案以及圖20所示的預測驗證結束點的方案。根據驗證開始點預測方案可以跳過用於快位元的驗證操作,以及根據驗證結束點預測方案可以跳過用於慢位元的驗證操作。
請參看圖26A,在程式化操作的開始期間,執行操作S900。操作S900將變數i_PGM_Loop設定為“1”,以及將變數P(j)_Verify_Start以及P(j)_Verify_End設定為最大程式回路時間Max_PGM_Loop。變數i_PGM_Loop指示當前的程式狀態,以及變數P(j)_Verify_End指示第j程式狀態的驗證結束點。接下來,在操作S910中,基於在先前的頁面或者步驟程式化操作中所偵測的通過位元資訊(例如,程式電壓或者程式回路)來預測程式狀態(例如,P1至P7)的驗證開始點。更具體地說,操作S910包括:在操作S911中設定變數“j”為1;在操作S912中預測程式狀態P2的驗證開始點;在操作S913中,決定“j”是否達到7,其指示程式狀態P7;以及在操作S914中,如果“j”還未達到7(S913=否),則“j”增加1。在“j”達到7的情況下(S913=是),則此方法進入操作S920。
在操作S920中,在已選擇的記憶體胞上執行程式化操作。接著,在操作S930中,將“j”設定為1。接下來,在操作S940中,此方法決定程式狀態P1的已預測的驗證開始點是否小於或者等於當前程式回路i_PGM_Loop。在當前程式回路i_PGM_Loop小於程式狀態P1的驗證開始點P(j)_Verify_Start的情況下,省略程式狀態P1的驗證操作。在當前程式回路i_PGM_Loop大於或者等於程式狀態P1的驗證開始點P(j)_Verify_Start的情況下,執行程式狀態P2的驗證操作。
在當前程式回路i_PGM_Loop大於或者等於程式狀態P1的驗證開始點P(j)_Verify_Start的情況下(S940=是),此方法進入操作S950。否則(S940=否),則此方法進入操作S960。
在操作S950中,對於程式狀態P1執行驗證操作,以及計數該程式狀態P1的失效位元的數量。類似於圖20的方法,在程式狀態P1的失效位元的數量小於或者等於參考數值的情況下,程式狀態P1被判定為通過。緊接該操作S950,此方法進入操作S960。
在操作S960中,此方法決定“j”是否達到7,其指示程式狀態P7。在“j”還未達到7的情況下(S960=否),則執行操作S970以將“j”增加1,以及此方法返回該操作S940。否則(S960=是),則此方法進入操作S980。在操作S980中,此方法決定所有的程式狀態P1至P7是否被通過。如果並非所有的程式狀態都被通過(S980=否),則在操作S990中,使得變數i_PGM_Loop增加1,以及此方法接著返回操作S920。否則(S980=是),結束此方法。
圖27是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
首先,在操作S1000中,變數FBCPS和變數Pi_FLAG被設定為“1”。變數FBCPS指示執行了失效位元計數操作的程式狀態,以及變數Pi_FLAG被用於指示已經執行了驗證操作的程式狀態的已通過的狀態。
在操作S1100中,執行程式化操作。此外,在操作S1100中,可以在對應於變數FBCPS的數值的程式狀態上進行失效位元計數。假定當前的程式回路是第一程式回路,則可以對第一程式狀態P1進行失效位元計數。因為當前的程式回路是第一程式回路,所以可以基於儲存在讀取/寫入電路500(參看圖1)中的程式資料位元來進行失效位元計數。如果當前的程式回路是第二程式回路,則可以基於在先前的程式回路的驗證操作中所讀取的資料位元來進行失效位元計數。
在操作S1200中,檢查已計數的失效位元數量是否小於預定的參考數值。如果已計數的失效位元數量小於預定的參考數值,則此方法進入操作S1300。在操作S1300中,對應於程式狀態P1的失效位元被設定為程式禁止數值(例如,“1”)。這意味著,儘管程式電壓被施加到對應於程式狀態P1的失效位元的記憶體胞,但是對應於程式狀態P1的記憶體胞在接下來的程式回路會被程式禁止。此外,在操作S1300中,變數Pi_FLAG被設定為指示一種通過狀態,以及變數FBCPS增加1。在變數FBCPS增加的情況下,對下一程式狀態P2而不是程式狀態P1,進行失效位元計數。在變數Pi_FLAG被設定為指示通過狀態的情況下,對於對應於變數Pi_FLAG的程式狀態(例如,P1),可以省略驗證操作。然後,此方法進入操作S1400。
返回到操作S1200,如果已計數的失效位元數量不小於預定的參考數值,則此方法計入操作S1400。在操作S1400中,對於被通過的程式狀態之外的程式狀態分別執行驗證操作。例如,在P1_FLAG被設定為通過狀態的情況下,對應於P1_FLAG的程式狀態P1之外的餘下的程式狀態分別被執行驗證操作。在不存在被通過的程式狀態的情況下,在操作S1400中,分別對所有的程式狀態執行驗證操作。
操作S1500決定是否所有的程式狀態都被通過。如果至少一個程式狀態未被通過,則此方法進入操作S1600,其中程式回路數量增加1。然後,此方法進入操作S1100。在所有的程式狀態都被通過的情況下,結束此方法。
在上述的方法中,在當前的程式回路執行程式化操作的時候(或者在程式電壓被施加到已選擇的字線的時候),藉由採用先前的程式回路的驗證結果來執行失效位元計數操作。為此,儘管已計數的失效位元數量被決定為小於預定的參考數值,程式電壓依然會在當前的程式回路上被再次施加到對應於失效位元的記憶體胞。因此,減小了對應於待被省略(或者,跳過(skip))的程式狀態的失效位元的數量。
在示例的實施例中,為了判斷每一程式狀態是否都被通過,對於所有的程式狀態使用相同的參考數值。但是,為了判斷對應的程式狀態是否被通過,可施加不同的參考數值到程式狀態(或者每一列中的頁面)。
圖28是根據本發明原理的實施例的用於圖27的方法中的驗證方案的圖形。
如上所述,對第一程式狀態P1執行位元計數操作,直到失效位元(或者稱為慢位元)的數量小於預定的參考數值才停止。這時,對於餘下的程式狀態還未執行失效位元計數操作。在程式電壓被施加到已選擇的記憶體胞的程式化操作期間,對於對應於變數FBCPS的程式狀態執行位元計數操作。
例如,如圖28所示,在第N程式回路,對於程式狀態P1、P2和P3執行驗證操作。基於對應於在第N程式回路的驗證操作上所讀取的程式狀態P1的資料位元,在第(N+1)程式回路的程式化操作期間,對程式狀態P1執行失效位元計數操作。如果已計數的失效位元數量FBC大於預定的參考數值,則在第(N+2)程式回路的程式化操作期間,對程式狀態P1再次執行失效位元計數操作。如果在第(N+2)程式回路,已計數的失效位元數量FBC被決定為小於預定的參考數值,則對應於程式狀態P1的資料位元中的失效位元被設定為程式禁止數值,以及在包括當前的程式回路(例如,第(N+2)程式回路)的接下來的程式回路之後,對程式狀態P1省略驗證操作。在程式狀態P1被通過的情況下,如圖28所示,對於下一程式狀態P2執行失效位元計數操作。
從上述記載可以知曉,在已計數的失效位元數量被決定為小於預定的參考數值之後,程式電壓被再次施加到對應於失效位元的記憶體胞。這意味著,減小了對應於待被省略(或者,跳過)的程式狀態的失效位元的數量。
在示例的實施例中,在最高的程式狀態的情況下,如果已計數的失效位元數量被決定為小於預定的參考數值,則有可能防止程式電壓再次被施加到對應於失效位元的記憶體胞。
圖29是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖29的程式方法與圖27所繪示的方法實質上相同,除了在對於被通過的程式狀態之外的程式狀態執行驗證操作的步驟S1800之前,進行判斷是否所有的程式狀態都被通過的步驟S1700以外。因此,不再贅述圖29的程式方法的描述。
圖30是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
首先,在操作S2000中,變數FBCPS和變數Pi_FLAG被設定為“1”。變數FBCPS指示執行了失效位元計數操作的程式狀態,以及變數Pi_FLAG被用於指示已經執行了驗證操作的程式狀態的已通過的狀態。
在操作S2100中,執行程式化操作。在操作S2200中,檢查已計數的失效位元數量是否小於預定的參考數值。如下所述,藉由圖1的控制邏輯400來保持已計數的失效位元數量。對於先前的程式回路的失效位元數量,例如,已計數的失效位元數量可被設定為大於預定的參考數值的錯誤的數值。如果已計數的失效位元數量小於預定的參考數值,則此方法進入操作S2300。在操作S2300中,對應於程式狀態P1的失效位元被設定為程式禁止數值(例如,“1”)。這意味著,儘管程式電壓被施加到對應於程式狀態P1的失效位元的記憶體胞,但是對應於程式狀態P1的記憶體胞在接下來的程式回路會被程式禁止。此外,在操作S2300中,變數Pi_FLAG被設定為指示通過狀態,以及變數FBCPS增加1。在變數FBCPS增加的情況下,對下一程式狀態P2而不是程式狀態P1,進行失效位元計數。在變數Pi_FLAG被設定為指示通過狀態的情況下,對於對應於變數Pi_FLAG的數值的程式狀態(例如,P1),可以省略驗證操作。然後,此方法進入操作S2400。
返回到操作S2200,如果已計數的失效位元數量不小於預定的參考數值,則此方法計入操作S2400。在操作S2400中,對於被通過的程式狀態之外的程式狀態分別執行驗證操作。例如,在P1_FLAG被設定為通過狀態的情況下,對應於P1_FLAG的程式狀態P1之外的餘下的程式狀態分別被執行驗證操作。在不存在被通過的程式狀態的情況下,在操作S2400中,分別對所有的程式狀態執行驗證操作。此外,在操作S2400中,對於對應於變數FBCPS的程式狀態執行失效位元計數操作。已計數的失效位元數 量被儲存在控制邏輯400中。在操作S2200中,已計數的失效位元數量被用作先前程式回路的失效位元數量。
操作S2500決定是否所有的程式狀態都被通過。如果至少一個程式狀態未被通過,則此方法進入操作S2600,其中程式回路數量增加1。然後,此方法進入操作S2100。在所有的程式狀態都被通過的情況下,結束此方法。
在上述的方法中,在當前的程式回路執行程式化操作的時候,藉由採用先前的程式回路的驗證結果可以省略有關程式狀態的驗證操作。為此,儘管已計數的失效位元數量被決定為小於預定的參考數值,程式電壓依然會在當前的程式回路上被再次施加到對應於失效位元的記憶體胞。因此,減小了對應於待被省略(或者,跳過(skip))的程式狀態的失效位元的數量。
在示例的實施例中,為了判斷每一程式狀態是否都被通過,對於所有的程式狀態使用相同的參考數值。但是,為了判斷對應的程式狀態是否被通過,可施加不同的參看數值到程式狀態(或者每一列中的頁面)。
圖31是根據本發明原理的實施例的用於圖29的方法中的驗證方案的圖形。
如上所述,對第一程式狀態P1執行位元計數操作,直到失效位元(或者稱為慢位元)的數量小於預定的參考數值才停止。這時,對於餘下的程式狀態還未執行失效位元計數操作。在程式電壓被施加到已選擇的記憶體胞的程式化操作期間,對於對應於變數FBCPS的程式狀態執行位元計數操作。
例如,首先,程式電壓被施加到已選擇的記憶體胞。接著,如圖31所示,在執行驗證操作之前,檢查失效位元數量是否小於預定的參考數值。如果失效位元數量不小於預定的參考數值,則在第N程式回路,對於程式狀態P1、P2和P3執行驗證操作。基於對應於在第N程式回路的驗證操作上所讀取的程式狀態P1的資料位元,在第N程式回路期間,對程式狀態P1執行失效位元計數操作。藉由圖1的控制邏輯400可以保留已計數的失效位元數量。
如果執行第(N+1)程式回路,則程式電壓被施加到已選擇的記憶體胞。接著,在執行第(N+1)程式回路的驗證操作之前,檢查失效位元數量是否小於預定的參考數值。藉由圖1的控制邏輯400可以保留已計數的失效位元數量。
如果在第(N+2)程式回路決定已計數的失效位元數量FBC小於預定的參考數值,則對應於程式狀態P1的資料位元中的失效位元被設定為程式禁止數值,以及在包括當前的程式回路(例如,第(N+2)程式回路)的接下來的程式回路之後,對程式狀態P1省略驗證操作。當程式狀態P1被通過的情況下,如圖31所示,對於下一程式狀態P2執行失效位元計數操作。
從上述記載可以知曉,在已計數的失效位元數量被決定為小於預定的參考數值之後,程式電壓被再次施加到對應於失效位元的記憶體胞。這意味著,減小了對應於待被省略(或者,跳過)的程式狀態的失效位元的數量。
在示例的實施例中,在最高的程式狀態的情況下,如果已計數的失效位元數量被決定為小於預定的參考數值,則有可能防止程式電壓再次被施加到對應於失效位元的記憶體胞。
圖32是根據本發明的原理的另一實施例的程式化快閃記憶體元件的方法的流程圖。
除了在對於被通過的程式狀態之外的程式狀態執行驗證操作的步驟S2800之前,進行判斷是否所有的程式狀態都被通過的步驟S2700以外,圖32的程式方法與圖30所繪示的方法實質上相同。因此,不再贅述圖32的程式方法的描述。
如圖16至圖21以及圖27至圖30的記載,對於被決定通過的程式狀態省略(或者,跳過)程式狀態的驗證操作。這意味著,儘管程式電壓被施加到字線,但是對應於被決定為通過的程式狀態的記憶體胞被程式禁止。換句話說,可以採用以下兩種方式來進行對應於慢位元(或者失效位元)的記憶體胞的程式禁止:第一種程式禁止方法被記載在圖16至圖20中;以及第二種程式禁止方法被記載在圖27至圖30中。
圖33是根據本發明概念的包括快閃記憶體元件的積體電路卡的方塊圖。
請參看圖33,諸如精明卡(smart card)之類的積體電路包括記憶體元件1000以及控制器2000。非揮發性記憶體元件1000與圖1中所繪示的非揮發性記憶體元件實質上相同,為了避免重複,在此不再贅述。控制器2000控制非揮發性記憶體元件1000,以及控制器2000包括中央處理單元(central processing unit,CPU)2100、唯讀記憶體(read only memory,ROM)2200、隨機存取記憶體(random access memory,RAM)2300以及輸入/輸出(input/output,I/O)介面2400。CPU 2100根據儲存在ROM 2200中的各種程式來控制積體電路卡的整個操作,以及輸入/輸出介面2400與外部的元件的接合。控制器2000儲存指示在非揮發性記憶體元件1000的程式化操作期間被偵測的通過位元的資訊以及提供指示已偵測的通過位元的資訊給非揮發性記憶體元件1000。此資訊可以被用於決定一個或者多個上述方法中的驗證開始點。
圖34是根據本發明概念的包括快閃記憶體元件的計算系統的方塊圖。計算系統可以採用各種形式,諸如蜂巢式電話(cellular phone)、個人數位助理、數位照相機、可攜式遊戲主控台(portable game console)、MP3播放器、高解析度電視(high definition television)、數位視頻光碟(digital video disk)、路由器(router)、全球定位系統(global positioning system,GPS)等等。
請參看圖34,計算系統包括處理單元3100、使用者介面3200、諸如基頻晶片組(baseband chipset)之類的數據機(modem)3300、記憶體控制器3400以及快閃記憶體元件3500,這些組件都通過匯流排(bus)3001來相互電性連接。快閃記憶體元件3500與圖1的快閃記憶體元件實質 上相同,以及藉由採用諸如上述的驗證方案之類的適應性驗證方案來執行程式化操作。因此,為了避免重複而省略了對快閃記憶體元件3500的進一步描述。已經被處理單元3100處理的或者待被處理單元3100處理的N位元(N1)資料通過控制器3400而被儲存在快閃記憶體3500中。在計算系統是移動元件的情況下,其還可以包括用於供應計算系統的操作電壓的電池3600。儘管附圖未繪示,計算系統還可以包括應用晶片組、相機影像處理器(camera image processor,CIS)或者移動的動態隨機存取記憶體(dynamic random access memory,DRAM)。記憶體控制器以及快閃記憶體元件可以形成使用一用於儲存資料的非揮發性記憶體的固態元件(Solid State Device,SSD)。
圖35是根據本發明原理的圖34的記憶體控制器3400的方塊圖。
請參看圖35,記憶體控制器3400將資料儲存在儲存媒體中以及從儲存媒體讀取資料。控制器包括主機介面4100、記憶體介面4200、處理單元4300、緩衝器記憶體4400以及錯誤更正碼單元4500。主機介面4100可與諸如主機之類的外部介面形成介面,以及記憶體介面4200可與儲存媒體形成介面。處理單元4300控制記憶體控制器3400的整個操作。緩衝器記憶體4400暫時儲存待被儲存在儲存媒體中的資料或者從儲存媒體所讀取的資料。緩衝器記憶體4400也可以被用作處理單元4300的工作記憶體。緩衝器記憶體4400可以被用於儲存從快閃記憶體元件所輸出的通過位元資訊。錯誤更正碼單元4500偵測以及更正從儲存媒體所讀取的資料中的錯誤。記憶體控制器3400還包括用於儲存代碼資料的ROM 4600。
在一些實施例中,記憶體胞被配置有可變電阻記憶體胞(variable resistance memory cell)。可變電阻記憶體胞以及包括可變電阻記憶體胞的記憶體元件的示例揭露於美國專利第7529124號中,該專利申請案所揭露之內容系完整結合於本說明書中。
在一些實施例中,藉由使用具有電荷儲存層的各種胞結構的其中之一來實施記憶體胞。具有電荷儲存層的胞結構例如包括:電荷捕獲快閃結構,其使用電荷捕獲層;堆疊快閃結構,其包括在多個層中堆疊的陣列;快閃結構,其不具有源極-汲極;以及接腳型快閃結構。具有作為電荷儲存層的電荷捕獲快閃結構的記憶體元件的示例被揭露於美國專利第6858906號、美國專利公開案第2004-0169238號以及美國專利公開案第2006-0180851號中,這些專利申請案所揭露之內容系完整結合於本說明書中。不具有源極-汲極的快閃結構的示例被揭露于韓國專利第673020號,該專利申請案所揭露之內容系完整結合於本說明書中。
根據本發明原理的各種實施例的元件可以被安裝在任何各種類型的封裝中。例如,上述的記憶體元件和/或者記憶體控制器可以被安裝在如下的封裝類型中,諸如疊層封裝(package on package,PoP)、球柵陣列(ball grid array,BGA)、晶片尺度封裝(chip scale package,CSP)、塑料引線晶片載體(plastic leaded chip carrier,PLCC)、塑料雙列直插式封裝(plastic dual in-line package,PDIP)、窩伏爾組件形式的晶粒(die in Waffle pack,DIWP)、晶圓形式的晶粒(die in wafer form,DIWF)、電路板上晶片(chip on board,COB)、陶瓷雙列直插式封裝(ceramic dual in-line package,CERDIP)、塑料公制四方扁平封裝(plastic metric quad flat pack,MQFP)、小型封裝(small outline package,SOP)、收縮小型封裝(shrink small outline package,SSOP)、薄型小型封裝(thin small outline package,TSOP)、薄型四方扁平封裝(thin quad flat pack,TQFP)、系統封裝(system in package,SIP)、多晶片封裝(multi chip package,MCP)、晶圓位準堆疊封裝(wafer-level processed stack package,WLSP)、晶圓形式的晶粒(die in wafer form,DIWF)、窩伏爾組件形式的晶粒(die on Waffle pack,DOWP)、晶圓位準製造封裝(wafer-level fabricated package,WFP)以及晶圓位準處理堆疊封裝(wafer-level processed stack package,WSP)
如上所述,在本發明原理的各種實施例中,藉由在對應於驗證狀態的驗證開始點之前省略驗證操作,可以改善程式化性能。而且,藉由在程式化狀態的驗證結束點之後省略驗證操作,可以改善程式化性能。
上述只是繪示一些實施例,並非用於限定本發明。儘管已經記載了一些實施例,但是任何熟習此技藝者將清楚地知曉在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...記憶體胞陣列
200...列解碼器
300...電壓產生器
400...控制邏輯
500...讀取/寫入電路
600...輸入/輸出電路
410...通過位元偵測器
420...通過/失效決定器
430...暫存器
440...電路
111...NAND串列
SSL...串列選擇線
GSL...接地選擇線
CSL...共用源極線
BL...位元線
10~13、20~27、30~45...閾值電壓分佈
VP1~VP15、VP1’~VP15’、VQ1~VQ3...驗證電壓
Vpgm...程式電壓
P1~P15、P1’~P15’、Q1~Q3...程式狀態
E...已抹除的狀態
Vvfy1~vfy7...驗證電壓
S100~S190...程式化快閃記憶體元件的方法的步驟
S200~S330...程式化快閃記憶體元件的方法的步驟
S300~S440...程式化快閃記憶體元件的方法的步驟
S500~S6300...程式化快閃記憶體元件的方法的步驟
S700~S830...程式化快閃記憶體元件的方法的步驟
S900~S990...程式化快閃記憶體元件的方法的步驟
S1000~S1800...程式化快閃記憶體元件的方法的步驟
S2000~S2800...程式化快閃記憶體元件的方法的步驟
1000...記憶體元件
2000...控制器
2100...中央處理單元
2200...唯讀記憶體
2300...隨機存取記憶體
2400...輸入/輸出介面
3100...處理單元
3200...使用者介面
3300...資料機
3400...記憶體控制器
3500...快閃記憶體元件
3001...匯流排
3600...電池
4100...主機介面
4200...記憶體介面
4300...處理單元
4400...緩衝器記憶體
4500...錯誤更正碼單元
4600...ROM
圖1是根據本發明概念的實施例的快閃記憶體元件的方塊圖。
圖2是包括具有記憶體區塊的記憶體胞陣列的快閃記憶體元件的圖形,此記憶體區塊具有全位元線(bit line)架構(architecture)或者奇數-偶數位元線架構。
圖3A至圖3C是儲存不同數量的位元的記憶體胞的閾值電壓分佈的圖形。
圖4是用於程式化連接到已選擇的字線(word line)的記憶體胞的一系列程式化脈衝的圖形。
圖5A至5C是繪示根據本發明概念的程式化快閃記憶體元件的方法的閾值電壓圖形。
圖6和圖7是驗證圖5A的程式化操作的方法的圖形。
圖8和圖9是驗證圖5B的程式化操作的方法的圖形。
圖10和圖11是驗證圖5C的程式化操作的方法的圖形。
圖12A至12C是繪示圖5A至圖5C的方法的程式電壓以及驗證電壓的電壓圖形。
圖13是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的圖形。
圖14是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的圖形。
圖15是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的圖形。
圖16是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖17是儲存多位元資料的記憶體胞的閾值電壓圖形。
圖18是根據本發明概念的實施例的用於圖16的方法中的驗證方案的圖形。
圖19是根據本發明概念的另一實施例的用於圖16的方法中的驗證方案的圖形。
圖20是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖21是根據本發明概念的實施例的用於圖20的方法中的驗證方案的圖形。
圖22是能夠執行圖20的方法的快閃記憶體元件的方塊圖。
圖23A和圖23B是根據本發明概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖24A和圖24B是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖25A和圖25B是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖26A和圖26B是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖27是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖28是根據本發明概念的實施例的用於圖27的方法中的驗證方案的圖形。
圖29是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖30是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖31是根據本發明概念的實施例的用於圖30的方法中的驗證方案的圖形。
圖32是根據本發明的概念的另一實施例的程式化快閃記憶體元件的方法的流程圖。
圖33是根據本發明概念的包括快閃記憶體元件的積體電路卡的方塊圖。
圖34是根據本發明概念的包括快閃記憶體元件的計算系統的方塊圖。
圖35是根據本發明概念的圖34的計算系統的記憶體控制器的方塊圖。
100...記憶體胞陣列
200...列解碼器
300...電壓產生器
400...控制邏輯
500...讀取/寫入電路
600...輸入/輸出電路
410...通過位元偵測器
420...通過/失效決定器
430...暫存器

Claims (10)

  1. 一種程式化快閃記憶體元件的方法,包括:(a) 程式化已選擇的記憶體胞;(b)執行驗證操作以決定所述已選擇的記憶體胞的閾值電壓是否已經達到對應於目標程式狀態的驗證位準;(c)根據有關偵測所述已選擇的記憶體胞中的初始通過位元的參數,決定用於所述目標程式狀態中的至少一個的驗證開始點;以及(d)根據有關偵測到成功地程式化多個已選擇的記憶體胞為所述目標程式狀態中的最低的一個的參數,決定用於所述目標程式狀態中的至少一個的驗證結束點。
  2. 如申請專利範圍第1項所述之程式化快閃記憶體元件的方法,其中有關偵測所述初始通過位元的所述參數是用於在偵測所述初始通過位元的程式回路中用於程式化所述已選擇的記憶體胞的程式電壓。
  3. 如申請專利範圍第1項所述之程式化快閃記憶體元件的方法,其中所述驗證開始點是驗證開始回路。
  4. 如申請專利範圍第1項所述之程式化快閃記憶體元件的方法,其中所述驗證開始點根據對應於初始程式狀態的第一閾值電壓分佈與對應於至少一個所述目標程式狀態的第二閾值電壓分佈之間的容限而變化。
  5. 如申請專利範圍第4項所述之程式化快閃記憶體元件的方法,其中所述驗證開始點根據所述第一閾值電壓分佈以及所述第二閾值電壓分佈是否重疊而變化。
  6. 如申請專利範圍第5項所述之程式化快閃記憶體元件的方法,其中所述驗證開始點在所述第一閾值電壓分佈以及所述第二閾值電壓分佈重疊的情況下增加。
  7. 如申請專利範圍第5項所述之程式化快閃記憶體元件的方法,其中所述驗證開始點在所述第一閾值電壓分佈以及所述第二閾值電壓分佈未重疊的情況下減小。
  8. 如申請專利範圍第1項所述之程式化快閃記憶體元件的方法,其中有關偵測到成功地程式化多個已選擇的記憶體胞為所述目標程式狀態中的所述最低的一個的所述參數包括用於程式回路中的程式電壓,在所述程式回路中,所述多個已選擇的記憶體胞被偵測為成功地被程式化為所述目標程式狀態中的所述最低的一個。
  9. 如申請專利範圍第8項所述之程式化快閃記憶體元件的方法,其中決定所述驗證結束點包括:預測所述目標程式狀態中的至少一個的通過點;以及將已預測的所述通過點減去偏移數值。
  10. 如申請專利範圍第9項所述之程式化快閃記憶體元件的方法,其中將多個所述目標程式狀態的已預測的通過點減去相同的偏移數值,以決定用於多個所述目標程式狀態的驗證結束點。
TW099146352A 2010-02-11 2010-12-28 使用適應性程式驗證方法的快閃記憶體元件以及其操作方法 TWI484493B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100012894A KR101676816B1 (ko) 2010-02-11 2010-02-11 플래시 메모리 장치 및 그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
TW201145286A TW201145286A (en) 2011-12-16
TWI484493B true TWI484493B (zh) 2015-05-11

Family

ID=44353607

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099146352A TWI484493B (zh) 2010-02-11 2010-12-28 使用適應性程式驗證方法的快閃記憶體元件以及其操作方法

Country Status (5)

Country Link
US (3) US8411502B2 (zh)
JP (1) JP5698968B2 (zh)
KR (1) KR101676816B1 (zh)
CN (2) CN105931671B (zh)
TW (1) TWI484493B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429958A (zh) * 2019-01-10 2020-07-17 东芝存储器株式会社 存储器芯片
TWI715270B (zh) * 2018-11-16 2021-01-01 力旺電子股份有限公司 操作非揮發性記憶體單元的方法
TWI733706B (zh) * 2015-12-08 2021-07-21 美商英特爾公司 於規劃記憶體裝置時減少驗證檢查之技術

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150348633A1 (en) * 2010-02-11 2015-12-03 Samsung Electronics Co., Ltd. Nonvolatile memory devices and methods of programming nonvolatile memory devices
KR101855435B1 (ko) * 2010-11-15 2018-05-08 삼성전자주식회사 최대 검증-시간을 조절할 수 있는 비휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
CN102969022A (zh) * 2011-09-01 2013-03-13 中国科学院微电子研究所 一种对多位半导体存储器进行编程的方法
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
DE102012111829A1 (de) 2011-12-06 2013-06-06 Samsung Electronics Co., Ltd. Speichersysteme und Blockkopierverfahren davon
US8854898B2 (en) 2011-12-14 2014-10-07 Micron Technology, Inc. Apparatuses and methods for comparing a current representative of a number of failing memory cells
CN103366811A (zh) * 2012-03-26 2013-10-23 中国科学院微电子研究所 多位半导体存储器的编程方法
US9190149B2 (en) * 2012-08-24 2015-11-17 Infineon Technologies Ag Method and system for switchable erase or write operations in nonvolatile memory
KR102016041B1 (ko) 2012-10-11 2019-08-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR102089532B1 (ko) 2013-02-06 2020-03-16 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
KR102112596B1 (ko) 2013-03-15 2020-05-19 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그래밍 방법
KR102125376B1 (ko) * 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
KR102096285B1 (ko) 2013-07-30 2020-04-02 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
KR102133362B1 (ko) 2013-08-14 2020-07-15 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 및 그것의 프로그램 방법
US9396807B2 (en) * 2013-11-11 2016-07-19 Seagate Technology Llc Incremental programming pulse optimization to reduce write errors
KR102318561B1 (ko) * 2014-08-19 2021-11-01 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법
KR102291456B1 (ko) 2015-08-13 2021-08-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법 및 프로그램 검증 방법
US11437094B2 (en) 2015-08-13 2022-09-06 Samsung Electronics Co., Ltd. Nonvolatile memory device, storage device, and operation method of storage device
US10346097B2 (en) * 2015-11-26 2019-07-09 Samsung Electronics Co., Ltd. Nonvolatile memory device and storage device including nonvolatile memory device
US10141071B2 (en) * 2015-12-26 2018-11-27 Intel Corporation Predictive count fail byte (CFBYTE) for non-volatile memory
KR102449196B1 (ko) 2016-01-15 2022-09-29 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
KR102423291B1 (ko) * 2016-01-15 2022-07-20 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
US9847133B2 (en) * 2016-01-19 2017-12-19 Ememory Technology Inc. Memory array capable of performing byte erase operation
KR102498248B1 (ko) * 2016-02-04 2023-02-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
JP6652470B2 (ja) 2016-09-07 2020-02-26 キオクシア株式会社 半導体記憶装置
KR20180062158A (ko) * 2016-11-30 2018-06-08 삼성전자주식회사 루프 상태 정보를 생성하는 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
US10354738B2 (en) * 2017-09-27 2019-07-16 Micron Technology, Inc. One check fail byte (CFBYTE) scheme
US10410732B1 (en) * 2018-05-21 2019-09-10 Western Digital Technologies, Inc. Failure prediction by cell probing
JP2020013626A (ja) * 2018-07-20 2020-01-23 キオクシア株式会社 メモリシステム
KR102624620B1 (ko) * 2018-11-02 2024-01-15 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US10622080B1 (en) * 2018-11-30 2020-04-14 Macronix International Co., Ltd. Non-volatile memory and reading method thereof
KR20210066899A (ko) 2019-02-20 2021-06-07 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 시스템을 프로그래밍하기 위한 방법
JP2020144961A (ja) * 2019-03-07 2020-09-10 キオクシア株式会社 半導体記憶装置
US10910076B2 (en) 2019-05-16 2021-02-02 Sandisk Technologies Llc Memory cell mis-shape mitigation
KR20200141304A (ko) 2019-06-10 2020-12-18 에스케이하이닉스 주식회사 반도체 장치 및 반도체 장치의 동작 방법
KR20210015331A (ko) * 2019-08-01 2021-02-10 삼성전자주식회사 상태 쉐이핑 동작을 수행하기 위한 메모리 장치, 메모리 컨트롤러 및 이를포함하는 메모리 시스템
KR20210062343A (ko) * 2019-11-21 2021-05-31 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11049578B1 (en) * 2020-02-19 2021-06-29 Sandisk Technologies Llc Non-volatile memory with program verify skip
KR20210111584A (ko) * 2020-03-03 2021-09-13 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
CN111727477A (zh) * 2020-05-06 2020-09-29 长江存储科技有限责任公司 3d nand闪存的控制方法和控制器
KR20220021770A (ko) 2020-08-14 2022-02-22 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
KR20220060848A (ko) * 2020-11-05 2022-05-12 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20220120033A (ko) 2021-02-22 2022-08-30 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
TWI822270B (zh) * 2022-08-24 2023-11-11 旺宏電子股份有限公司 記憶體裝置及其程式化方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072221B2 (en) * 2004-05-14 2006-07-04 Hynix Semiconductor Inc. Flash memory device and method for driving the same
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US7317636B2 (en) * 2004-06-14 2008-01-08 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory, a data write-in method for the nonvolatile semiconductor memory and a memory card
US20080056007A1 (en) * 2006-09-01 2008-03-06 Dong-Ku Kang Flash memory device using program data cache and programming method thereof
US20090003064A1 (en) * 2007-05-25 2009-01-01 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
US20090016104A1 (en) * 2007-07-09 2009-01-15 Kim Moo-Sung Nonvolatile semiconductor memory device and programming method thereof
TW200923949A (en) * 2007-11-29 2009-06-01 Hynix Semiconductor Inc Flash memory device and programming method thereof

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205055B1 (en) * 2000-02-25 2001-03-20 Advanced Micro Devices, Inc. Dynamic memory cell programming voltage
JP2001273792A (ja) 2000-03-27 2001-10-05 Nec Microsystems Ltd フラッシュメモリの書き込み・消去制御方法
US6377507B1 (en) 2001-04-06 2002-04-23 Integrated Memory Technologies, Inc. Non-volatile memory device having high speed page mode operation
US6901010B1 (en) 2002-04-08 2005-05-31 Advanced Micro Devices, Inc. Erase method for a dual bit memory cell
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
JP4349866B2 (ja) * 2003-09-02 2009-10-21 三洋電機株式会社 Fsk信号復調回路
US6888758B1 (en) * 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
JP4828901B2 (ja) * 2005-09-22 2011-11-30 株式会社東芝 半導体集積回路装置
US7366022B2 (en) 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
JP4855474B2 (ja) * 2005-10-27 2012-01-18 サンディスク コーポレイション スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法
WO2007086214A1 (ja) * 2006-01-24 2007-08-02 Advantest Corporation 試験装置および選択装置
EP1870905B1 (en) 2006-06-21 2009-12-30 STMicroelectronics S.r.l. Method and circuit for electrically programming semiconductor memory cells
JP4344372B2 (ja) * 2006-08-22 2009-10-14 シャープ株式会社 半導体記憶装置及びその駆動方法
KR100780773B1 (ko) 2006-11-03 2007-11-30 주식회사 하이닉스반도체 플래시 메모리소자의 프로그램 시작 바이어스 설정방법 및이를 이용한 프로그램 방법
KR100801035B1 (ko) * 2006-12-14 2008-02-04 삼성전자주식회사 멀티 레벨 셀의 프로그램 방법, 페이지 버퍼 블록 및 이를포함하는 불휘발성 메모리 장치
KR100816161B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
JP5029883B2 (ja) 2007-05-17 2012-09-19 横河電機株式会社 半導体試験装置
KR20090011249A (ko) 2007-07-25 2009-02-02 삼성전자주식회사 비휘발성 메모리 셀 프로그래밍 방법
US7688638B2 (en) 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
KR20090119297A (ko) * 2008-05-16 2009-11-19 하진구 영화를 통한 영어학습방법 및 그 장치
US7800945B2 (en) 2008-06-12 2010-09-21 Sandisk Corporation Method for index programming and reduced verify in nonvolatile memory
KR20110036884A (ko) * 2008-06-12 2011-04-12 쌘디스크 코포레이션 확인 단계가 감소하고 인덱스 프로그래밍을 이용하는 비휘발성 메모리와 방법
US7826271B2 (en) 2008-06-12 2010-11-02 Sandisk Corporation Nonvolatile memory with index programming and reduced verify
JP5172555B2 (ja) * 2008-09-08 2013-03-27 株式会社東芝 半導体記憶装置
JP2010244668A (ja) 2009-03-18 2010-10-28 Toshiba Corp 不揮発性半導体記憶装置
KR101039962B1 (ko) 2009-06-29 2011-06-09 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 프로그램 방법
KR101554727B1 (ko) 2009-07-13 2015-09-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101670922B1 (ko) 2009-08-07 2016-11-09 삼성전자주식회사 아날로그 신호를 출력하는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
KR101653206B1 (ko) 2010-01-19 2016-09-02 삼성전자주식회사 프로그램 검증 회로 및 이를 포함하는 비휘발성 메모리 장치
KR101802815B1 (ko) 2011-06-08 2017-12-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법
US8274831B2 (en) 2010-05-24 2012-09-25 Sandisk Technologies Inc. Programming non-volatile storage with synchronized coupling

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
US7072221B2 (en) * 2004-05-14 2006-07-04 Hynix Semiconductor Inc. Flash memory device and method for driving the same
US7317636B2 (en) * 2004-06-14 2008-01-08 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory, a data write-in method for the nonvolatile semiconductor memory and a memory card
US20080056007A1 (en) * 2006-09-01 2008-03-06 Dong-Ku Kang Flash memory device using program data cache and programming method thereof
US20090003064A1 (en) * 2007-05-25 2009-01-01 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
US20090016104A1 (en) * 2007-07-09 2009-01-15 Kim Moo-Sung Nonvolatile semiconductor memory device and programming method thereof
TW200923949A (en) * 2007-11-29 2009-06-01 Hynix Semiconductor Inc Flash memory device and programming method thereof
US20090141560A1 (en) * 2007-11-29 2009-06-04 Hynix Semiconductor Inc. Flash memory device and programming method thereof

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI733706B (zh) * 2015-12-08 2021-07-21 美商英特爾公司 於規劃記憶體裝置時減少驗證檢查之技術
TWI715270B (zh) * 2018-11-16 2021-01-01 力旺電子股份有限公司 操作非揮發性記憶體單元的方法
US10916302B2 (en) 2018-11-16 2021-02-09 Ememory Technology Inc. Method for operating a non-volatile memory cell
US11004505B1 (en) 2018-11-16 2021-05-11 Ememory Technology Inc. Method for operating a non-volatile memory cell
CN111429958A (zh) * 2019-01-10 2020-07-17 东芝存储器株式会社 存储器芯片
TWI712046B (zh) * 2019-01-10 2020-12-01 日商東芝記憶體股份有限公司 記憶體晶片
US10892030B2 (en) 2019-01-10 2021-01-12 Toshiba Memory Corporation Memory system with controller and memory chips, where controller can change a set value read level and instruct memory chip to execute read operation with the changed set value
CN111429958B (zh) * 2019-01-10 2023-10-03 铠侠股份有限公司 存储器芯片

Also Published As

Publication number Publication date
US9076534B2 (en) 2015-07-07
JP5698968B2 (ja) 2015-04-08
CN105931671B (zh) 2020-08-04
CN102157204A (zh) 2011-08-17
CN105931671A (zh) 2016-09-07
US20110194346A1 (en) 2011-08-11
CN102157204B (zh) 2016-05-11
US20150262700A1 (en) 2015-09-17
US20130208541A1 (en) 2013-08-15
KR101676816B1 (ko) 2016-11-18
JP2011165303A (ja) 2011-08-25
US8411502B2 (en) 2013-04-02
TW201145286A (en) 2011-12-16
KR20110093077A (ko) 2011-08-18
US9406394B2 (en) 2016-08-02

Similar Documents

Publication Publication Date Title
TWI484493B (zh) 使用適應性程式驗證方法的快閃記憶體元件以及其操作方法
US9159440B2 (en) Read method for nonvolatile memory device, and data storage system using the same
KR101423052B1 (ko) 메모리 장치 및 읽기 레벨 제어 방법
US8179718B2 (en) Memory device and memory programming method
US8059467B2 (en) Memory device and memory programming method
KR101391362B1 (ko) 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법
US20110119432A1 (en) Nonvolatile memory devices having improved read performance resulting from data randomization during write operations
US8014201B2 (en) Nonvolatile memory device extracting parameters and nonvolatile memory system including the same
US7697359B2 (en) Flash memory device and refresh method thereof
KR101516577B1 (ko) 비휘발성 반도체 메모리 장치, 그를 포함하는 메모리 카드와 메모리 시스템 및 그의 리드 전압 추정 방법
KR101616099B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US8879318B2 (en) Method of storing data in nonvolatile memory device and method of operating nonvolatile memory device
US7903459B2 (en) Memory devices and methods for determining data of bit layers based on detected error bits
US8788908B2 (en) Data storage system having multi-bit memory device and on-chip buffer program method thereof
US8085599B2 (en) Memory device and method for estimating characteristics of multi-bit programming
US20150348633A1 (en) Nonvolatile memory devices and methods of programming nonvolatile memory devices
US9021338B2 (en) Memory system and data storage method
KR20090118396A (ko) 메모리 장치 및 메모리 프로그래밍 방법
US8441862B2 (en) Program method of multi-bit memory device and data storage system using the same
US20100027351A1 (en) Memory device and memory programming method