TWI635499B - Method for programming non-volatile memory and memory system - Google Patents

Method for programming non-volatile memory and memory system Download PDF

Info

Publication number
TWI635499B
TWI635499B TW106130955A TW106130955A TWI635499B TW I635499 B TWI635499 B TW I635499B TW 106130955 A TW106130955 A TW 106130955A TW 106130955 A TW106130955 A TW 106130955A TW I635499 B TWI635499 B TW I635499B
Authority
TW
Taiwan
Prior art keywords
pulse
memory cell
programming
verification
target memory
Prior art date
Application number
TW106130955A
Other languages
Chinese (zh)
Other versions
TW201913681A (en
Inventor
古紹泓
林大衛
程政憲
李致維
蔡文哲
Original Assignee
旺宏電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Priority to TW106130955A priority Critical patent/TWI635499B/en
Application granted granted Critical
Publication of TWI635499B publication Critical patent/TWI635499B/en
Publication of TW201913681A publication Critical patent/TW201913681A/en

Links

Landscapes

  • Read Only Memory (AREA)

Abstract

一種編程非揮發性記憶體的方法及一種記憶體系統。非揮發性記憶體的複數個記憶胞的每一記憶胞儲存具有至少2位元的資料。此方法包括以下步驟。提供至少一編程脈衝以編程多個記憶胞的一目標記憶胞。提供至少一編程驗證脈衝以驗證目標記憶胞是否為編程成功。判斷目標記憶胞的臨界電壓是否大於或等於編程驗證電壓。當目標記憶胞的臨界電壓大於或等於編程驗證電壓,設定目標記憶胞為編程成功。接著,對編程成功的記憶胞執行一再驗證程序。再驗證程序包括判斷目標記憶胞的臨界電壓是否大於或等於一再驗證電壓。 A method of programming non-volatile memory and a memory system. Each memory cell of a plurality of memory cells of the non-volatile memory has at least 2 bits of data. This method includes the following steps. At least one programming pulse is provided to program a target memory cell of the plurality of memory cells. At least one programming verify pulse is provided to verify if the target memory cell is programmed successfully. Determine whether the threshold voltage of the target memory cell is greater than or equal to the program verify voltage. When the threshold voltage of the target memory cell is greater than or equal to the program verify voltage, the target memory cell is set to be successfully programmed. Next, a repeated verification procedure is performed on the successfully programmed memory cells. The re-verification procedure includes determining whether the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage.

Description

編程非揮發性記憶體的方法及記憶體系統 Method for programming non-volatile memory and memory system

本發明是有關於一種非揮發性記憶體,且特別是有關於一種編程非揮發性記憶體的方法及記憶體系統。 This invention relates to a non-volatile memory, and more particularly to a method and memory system for programming a non-volatile memory.

近年來,非揮發性記憶體廣泛的使用於各種電子設備,例如個人電腦、筆記型電腦、智慧型手機、平板電腦等。非揮發性記憶體包括了一記憶胞陣列。非揮發性記憶體的體積越來越小,而更多的位元被存儲在一個記憶胞中以增加記憶體的密度(density)。使用多階儲存單元(multi-level cell,MLC)技術以提高記憶體密度。 In recent years, non-volatile memory has been widely used in various electronic devices such as personal computers, notebook computers, smart phones, and tablets. Non-volatile memory includes a memory cell array. The volume of non-volatile memory is getting smaller and smaller, and more bits are stored in a memory cell to increase the density of the memory. Multi-level cell (MLC) technology is used to increase memory density.

依據量子力學,當記憶體的體積愈小,記憶體中的量子的影響就愈大。讀取記憶體的記憶胞時的雜訊變動(noise fluctuation)將會影響記憶體讀取時的可靠性。 According to quantum mechanics, the smaller the volume of memory, the greater the influence of quantum in memory. The noise fluctuation when reading the memory cells of the memory will affect the reliability of the memory reading.

因此,需要一個編程非揮發性記憶體的方法及一記憶體系統,以減少讀取記憶體的記憶胞時的雜訊變動的影響。 Therefore, there is a need for a method of programming non-volatile memory and a memory system to reduce the effects of noise fluctuations when reading memory cells of a memory.

本發明係有關於一種編程非揮發性記憶體的方法及一種記憶體系統。透過本發明,施加一再驗證脈衝至已編程成功的非揮發記憶體的記憶胞,並且施加一再編程脈衝至已編程成功的記憶胞中的部份目標記憶胞,以編程這些目標記憶胞及提高這些目標記憶胞的臨界電壓。包含這些目標記憶胞的臨界電壓分佈將被縮短且變得較為緊密,可降低讀取記憶體的記憶胞時的雜訊變動的影響。 The present invention relates to a method of programming a non-volatile memory and a memory system. Through the present invention, a re-verification pulse is applied to the memory cells of the programmed non-volatile memory, and a reprogramming pulse is applied to a portion of the target memory cells in the programmed memory cell to program the target memory cells and improve these The threshold voltage of the target memory cell. The critical voltage distribution including these target memory cells will be shortened and become tighter, which can reduce the influence of noise fluctuations when reading the memory cells of the memory.

根據本發明之一方面,提出一種在編程期間編程非揮發性記憶體的方法。該揮發性記憶體包括複數個記憶胞。部份該些記憶胞的每一記憶胞儲存至少具有2位元的資料。該方法包括以下步驟。提供至少一編程脈衝以編程該些記憶胞的一目標記憶胞。施加至少一編程驗證脈衝至該目標記憶胞。在該目標記憶胞的一臨界電壓大於或等於一編程驗證電壓的情況下,設定該目標記憶胞為編程成功。以及在該目標記憶胞被設定為編程成功的情況下,對該目標記憶胞執行一再驗證操作,該再驗證操作包括施加至少一再驗證脈衝至該目標記憶胞。 According to one aspect of the invention, a method of programming non-volatile memory during programming is presented. The volatile memory includes a plurality of memory cells. Each of the memory cells of each of the memory cells stores at least 2 bits of data. The method includes the following steps. At least one programming pulse is provided to program a target memory cell of the memory cells. At least one programming verify pulse is applied to the target memory cell. In the case that a threshold voltage of the target memory cell is greater than or equal to a program verify voltage, the target memory cell is set to be successfully programmed. And in the case that the target memory cell is set to be successfully programmed, performing a re-verification operation on the target memory cell, the re-verification operation including applying at least one re-verification pulse to the target memory cell.

根據本發明之另一方面,提出一種在編程期間編程非揮發性記憶體的方法。該揮發性記憶體包括複數個記憶胞。部份該些記憶胞的每一記憶胞儲存至少具有2位元的資料。該方法包括以下步驟。提供至少一編程脈衝。提供至少一編程驗證脈衝。致能一編程成功訊號。以及在致能該編程成功訊號後,提供至少一再驗證脈衝。 In accordance with another aspect of the invention, a method of programming non-volatile memory during programming is presented. The volatile memory includes a plurality of memory cells. Each of the memory cells of each of the memory cells stores at least 2 bits of data. The method includes the following steps. At least one programming pulse is provided. At least one programming verify pulse is provided. Enable a programming success signal. And providing at least one re-authentication pulse after enabling the programming success signal.

為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下: In order to better understand the above and other aspects of the present invention, the following detailed description of the embodiments and the accompanying drawings

20‧‧‧記憶體系統 20‧‧‧ memory system

202‧‧‧控制器 202‧‧‧ Controller

204‧‧‧非揮發性記憶體陣列 204‧‧‧Non-volatile memory array

S302~S324‧‧‧流程步驟 S302~S324‧‧‧ Process steps

400、418‧‧‧電壓位準 400, 418‧‧‧ voltage level

402‧‧‧編程脈衝 402‧‧‧Programming pulse

404‧‧‧編程驗證脈衝 404‧‧‧Program verification pulse

406‧‧‧編程成功訊號 406‧‧‧Programming success signal

408‧‧‧致能再驗證操作訊號 408‧‧‧Enable re-verification operation signal

410‧‧‧再驗證脈衝 410‧‧‧Revalidation pulse

412‧‧‧再編程脈衝 412‧‧‧Reprogramming pulse

414‧‧‧完成編程驗證訊號 414‧‧‧Complete the programming verification signal

PV、PV1、PV2、PV3‧‧‧編程驗證電壓 PV, PV1, PV2, PV3‧‧‧ programming verification voltage

Vt‧‧‧臨界電壓 Vt‧‧‧ threshold voltage

W1、W2、W3、W1’、W2’、W3’‧‧‧記憶窗口 W1, W2, W3, W1', W2', W3'‧‧‧ memory window

第1A圖繪示依照本發明一實施例的多階儲存單元的臨界電壓分佈示意圖。 FIG. 1A is a schematic diagram showing a threshold voltage distribution of a multi-level memory cell according to an embodiment of the invention.

第1B圖繪示依照本發明一實施例的多階儲存單元的臨界電壓分佈示意圖。 FIG. 1B is a schematic diagram showing a threshold voltage distribution of a multi-level memory cell according to an embodiment of the invention.

第1C圖繪示依照本發明一實施例的讀取記憶胞時的雜訊變動的示意圖。 FIG. 1C is a schematic diagram showing noise fluctuations when reading a memory cell according to an embodiment of the invention.

第2圖繪示依照本發明一實施例的一記憶體系統的方塊圖。 2 is a block diagram of a memory system in accordance with an embodiment of the present invention.

第3圖繪示依照本發明一實施例的編程非揮發性記憶體的方法的流程圖。 3 is a flow chart of a method of programming non-volatile memory in accordance with an embodiment of the present invention.

第4圖繪示依照本發明一實施例的訊號波形圖。 FIG. 4 is a diagram showing waveforms of signals according to an embodiment of the invention.

以下提出各種實施例進行詳細說明,然而,實施例僅用以作為範例說明,並不會限縮本發明欲保護之範圍。此外,實施例中的圖式省略部份元件,以清楚顯示本發明的技術特點。在所有圖式中相同的標號將用於表示相同或相似的元件。 The various embodiments are described in detail below, however, the examples are intended to be illustrative only and not to limit the scope of the invention. Further, the drawings in the embodiments omits some of the elements to clearly show the technical features of the present invention. The same reference numerals will be used in the drawings to refer to the same or the like.

請參照第1A圖,其繪示依照本發明一實施例的多階儲存單元的臨界電壓分佈示意圖。在本範例中,如第1A圖所示,一記憶體陣列的每一記憶胞儲存2位元的資料,以及每一多階儲存 單元具有四個邏輯狀態,即“11”、“10”、“00”及“01”,以表示每一記憶胞具有2位元資料。在本範例中,編程驗證電壓PV1用以確定邏輯狀態“10”的臨界電壓分佈的低邊界(low boundary)。相似地,編程驗證電壓PV2和PV3分別用於確定邏輯狀態“00”和“01”的臨界電壓分佈的低邊界。邏輯狀態“11”的臨界電壓分佈的高邊界與邏輯狀態“10”的臨界電壓分佈的低邊界之間的區域被定義為記憶窗口(window)W1。邏輯狀態“10”的臨界電壓分佈的高邊界與邏輯狀態“00”的臨界電壓分佈的低邊界之間的區域被定義為記憶窗口W2。邏輯狀態“00”的臨界電壓分佈的高邊界與邏輯狀態“01”的臨界電壓分佈的低邊界之間的區域被定義為記憶窗口W3。 Please refer to FIG. 1A , which illustrates a schematic diagram of a threshold voltage distribution of a multi-level memory cell according to an embodiment of the invention. In this example, as shown in FIG. 1A, each memory cell of a memory array stores 2 bits of data, and each multi-level storage The unit has four logical states, namely "11", "10", "00" and "01", to indicate that each memory cell has 2 bits of data. In this example, the verify voltage PV1 is programmed to determine the low boundary of the threshold voltage distribution of the logic state "10." Similarly, the program verify voltages PV2 and PV3 are used to determine the low boundary of the threshold voltage distribution of the logic states "00" and "01", respectively. The area between the high boundary of the threshold voltage distribution of the logic state "11" and the low boundary of the threshold voltage distribution of the logic state "10" is defined as a memory window W1. The area between the high boundary of the threshold voltage distribution of the logic state "10" and the low boundary of the threshold voltage distribution of the logic state "00" is defined as the memory window W2. The area between the high boundary of the threshold voltage distribution of the logic state "00" and the low boundary of the threshold voltage distribution of the logic state "01" is defined as the memory window W3.

請參照第1B圖,其繪示依照本發明一實施例的多階儲存單元的臨界電壓分佈示意圖。因為記憶胞的隨機電報雜訊(random telegraph noise,RTN)特性,邏輯狀態“10”的臨界電壓分佈具有低於編程驗證電壓PV1的一「尾巴」分佈,且邏輯狀態“00”及“01”的臨界電壓分佈亦分別具有低於編程驗證電壓PV2及PV3的「尾巴」分佈。記憶胞的雜訊變動造成臨界電壓分佈具有這樣的額外尾巴分佈,各臨界電壓分佈的「尾巴」以陰影表示。臨界電壓分佈的「尾巴」使記憶窗口W1、W2及W3變窄。第1B圖的記憶窗口W1’、W2’及W3’的寬度分別小於第1A圖的記憶窗口W1、W2及W3的寬度。記憶窗口W1’係第1B圖中的邏輯狀態“11”的臨界電壓分佈的高邊界與具有「尾巴」的邏輯狀態 “10”的臨界電壓分佈的低邊界之間的區域。記憶窗口W2’係第1B圖中的邏輯狀態“10”的臨界電壓分佈的高邊界與具有「尾巴」的邏輯狀態“00”的臨界電壓分佈的低邊界之間的區域。記憶窗口W3’係第1B圖中的邏輯狀態“00”的臨界電壓分佈的高邊界與具有「尾巴」的邏輯狀態“01”的臨界電壓分佈的低邊界之間的區域。 Please refer to FIG. 1B , which illustrates a schematic diagram of a threshold voltage distribution of a multi-level memory cell according to an embodiment of the invention. Because of the random telegraph noise (RTN) characteristic of the memory cell, the threshold voltage distribution of the logic state "10" has a "tail" distribution lower than the program verification voltage PV1, and the logic states "00" and "01" The threshold voltage distribution also has a "tail" distribution below the programmed verify voltages PV2 and PV3, respectively. The noise variation of the memory cell causes the threshold voltage distribution to have such an extra tail distribution, and the "tail" of each threshold voltage distribution is shaded. The "tail" of the threshold voltage distribution narrows the memory windows W1, W2, and W3. The widths of the memory windows W1', W2', and W3' in Fig. 1B are smaller than the widths of the memory windows W1, W2, and W3 in Fig. 1A, respectively. The memory window W1' is a high boundary of the threshold voltage distribution of the logic state "11" in the 1B diagram and a logic state having a "tail" The region between the low boundaries of the critical voltage distribution of "10". The memory window W2' is an area between the high boundary of the threshold voltage distribution of the logic state "10" in the first diagram BB and the low boundary of the threshold voltage distribution of the logic state "00" having the "tail". The memory window W3' is an area between the high boundary of the threshold voltage distribution of the logic state "00" in the first diagram BB and the low boundary of the threshold voltage distribution of the logic state "01" having the "tail".

第1C圖繪示依照本發明一實施例讀取第1B圖中位於臨界電壓分佈的「尾巴」部份的記憶胞時的雜訊變動的示意圖。在第一次讀取此記憶胞時,此記憶胞的臨界電壓小於編程驗證電壓PV,但在第十次讀取此記憶胞時,此記憶胞的臨界電壓大於編程驗證電壓PV。意即,位於「尾巴」部份的記憶胞的臨界電壓有時會小於編程驗證電壓PV,有時會大於編程驗證電壓PV。記憶胞的臨界電壓存在極大的變化,並且可以在記憶胞的電性特性中觀察到雜訊變動。雜訊變動影響了記憶窗口的寬度。 FIG. 1C is a schematic diagram showing the noise variation in the memory cell of the "tail" portion of the threshold voltage distribution in FIG. 1B according to an embodiment of the present invention. When the memory cell is read for the first time, the threshold voltage of the memory cell is smaller than the program verify voltage PV, but when the memory cell is read for the tenth time, the threshold voltage of the memory cell is greater than the program verify voltage PV. That is, the threshold voltage of the memory cell located in the "tail" portion is sometimes smaller than the program verify voltage PV, and sometimes greater than the program verify voltage PV. There is a great change in the threshold voltage of the memory cell, and noise fluctuations can be observed in the electrical characteristics of the memory cell. The noise variation affects the width of the memory window.

第2圖繪示依照本發明一實施例的一記憶體系統20的方塊圖。記憶體系統包括一控制器202及一非揮發性記憶體陣列204。非揮發性記憶體陣列204包括複數個記憶區塊,且每一記憶區塊包括複數個記憶體頁面。每一記憶體頁面包括複數個記憶胞。舉例來說,非揮發性記憶體陣列204係一唯讀記憶體(read-only memory,ROM)、可編程唯讀記憶體(programmable read-only memory,PROM)、電可改寫唯讀記憶體(electrically alterable read only memory,EAROM)、抹除式可編程唯讀記 憶體(erasable programmable read only memory,EPROM)、電子抹除式可編程唯讀記憶體(electrically erasable programmable read only memory,EEPROM)或任何型式的二維及三維快閃記憶體。 2 is a block diagram of a memory system 20 in accordance with an embodiment of the present invention. The memory system includes a controller 202 and a non-volatile memory array 204. The non-volatile memory array 204 includes a plurality of memory blocks, and each memory block includes a plurality of memory pages. Each memory page includes a plurality of memory cells. For example, the non-volatile memory array 204 is a read-only memory (ROM), a programmable read-only memory (PROM), and an electrically rewritable read-only memory ( Modem alterable read only memory, EAROM), erased programmable read only Erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM) or any type of two-dimensional and three-dimensional flash memory.

控制器202耦接於非揮發性記憶體陣列204。舉例來說,控制器202可以例如是藉由使用一晶片、晶片內的一電路區塊、一韌體電路、含有數個電子元件及導線的電路板或儲存複數組程式碼的一儲存媒體來實現,也可藉由電腦系統、嵌入式系統、手持式裝置、伺服器等電子裝置執行對應軟體、韌體或程式來實現。控制器202用以回應經由一匯流排來自一介面(未繪示於第2圖)的部份外部指令,控制非揮發性記憶體陣列204的操作模式。舉例來說,介面係一輸入/輸出介面(input/out interface)。操作模式係編程(寫入)模式、讀取模式及抹除模式之一。 The controller 202 is coupled to the non-volatile memory array 204. For example, the controller 202 can be, for example, by using a wafer, a circuit block within the wafer, a firmware circuit, a circuit board containing a plurality of electronic components and wires, or a storage medium storing a complex array of code. The implementation can also be implemented by executing a corresponding software, firmware or program by an electronic device such as a computer system, an embedded system, a handheld device, or a server. The controller 202 is configured to control the operation mode of the non-volatile memory array 204 in response to a partial external command from an interface (not shown in FIG. 2) via a bus. For example, the interface is an input/out interface. The operation mode is one of the programming (write) mode, the read mode, and the erase mode.

控制器202提供至少一編程脈衝以編程非揮發性記憶體陣列204的記憶胞,以及提供至少一編程驗證脈衝以驗證被編程的記憶胞是否為編程成功。舉例來說,在第1A圖及第1B圖中,編程驗證電壓PV3係用以驗證應被編程至邏輯狀態“01”的記憶胞是否為編程成功。編程驗證電壓PV2係用以驗證應被編程至邏輯狀態“00”的記憶胞是否為編程成功。編程驗證電壓PV1係用以驗證應被編程至邏輯狀態“10”的記憶胞是否為編程成功。 Controller 202 provides at least one programming pulse to program the memory cells of non-volatile memory array 204 and provides at least one program verify pulse to verify that the programmed memory cell is programming successful. For example, in FIGS. 1A and 1B, the program verify voltage PV3 is used to verify whether the memory cell that should be programmed to the logic state "01" is programmed successfully. The program verify voltage PV2 is used to verify that the memory cell that should be programmed to logic state "00" is programmed successfully. The program verify voltage PV1 is used to verify that the memory cell that should be programmed to the logic state "10" is programmed successfully.

以非揮發性記憶體陣列204的每一記憶胞儲存2位元資料,每一記憶胞具有4個邏輯狀態為例,如第1A圖及第1B圖 所示。在編程操作中,當應被編成為邏輯狀態“10”的記憶胞被編程至邏輯狀態“11”,此記憶胞被設定為編程不成功或編程失敗。相似地,當應被編成為邏輯狀態“00”的記憶胞被編程至邏輯狀態“11”或邏輯狀態“10”,此記憶胞被設定為編程不成功。當應被編成為邏輯狀態“01”的記憶胞被編程至邏輯狀態“11”、邏輯狀態“10”或邏輯狀態“00”,此記憶胞被設定為編程不成功。 Each memory cell of the non-volatile memory array 204 stores 2-bit data, and each memory cell has four logic states as an example, such as FIG. 1A and FIG. 1B. Shown. In a programming operation, when a memory cell that should be programmed into a logic state "10" is programmed to a logic state "11", the memory cell is set to be unsuccessful in programming or programming failure. Similarly, when a memory cell that should be programmed to logic state "00" is programmed to logic state "11" or logic state "10", this memory cell is set to be unsuccessful in programming. When a memory cell that should be programmed to logic state "01" is programmed to logic state "11", logic state "10", or logic state "00", this memory cell is set to be unsuccessful in programming.

請參照第3圖,其繪示依照本發明一實施例的編程非揮發性記憶體的方法的流程圖。第3圖繪示之編程非揮發性記憶體的方法的流程圖可應用於如第2圖所示之記憶體系統20。為了清楚說明上述各項元件的運作以及本發明實施例的編程非揮發性記憶體的方法,以下將搭配第2圖之流程圖詳細說明如下。然而,本發明所屬技術領域中具有通常知識者均可瞭解,本發明實施例的方法並不侷限應用於第2圖的記憶體系統20,也不侷限於第3圖之流程圖的各項步驟順序。 Referring to FIG. 3, a flow chart of a method of programming non-volatile memory in accordance with an embodiment of the present invention is shown. A flowchart of a method of programming non-volatile memory illustrated in FIG. 3 can be applied to the memory system 20 as shown in FIG. In order to clearly explain the operation of the above various elements and the method of programming the non-volatile memory of the embodiment of the present invention, the following will be described in detail with reference to the flowchart of FIG. However, those skilled in the art to which the present invention pertains can understand that the method of the embodiment of the present invention is not limited to the memory system 20 of FIG. 2, nor is it limited to the steps of the flowchart of FIG. order.

請參照第2、3及4圖。第4圖繪示依照本發明一實施例的訊號波形圖。依據本發明之一實施例,在步驟S302,控制器202由一介面接收一編程操作指令以改變非揮發性記憶體陣列204的操作模式為編程模式,以及開始一編程驗證操作。編程驗證操作包括編程非揮發性記憶體陣列204的記憶胞的一目標記憶胞,以及驗證目標記憶胞是否編程成功。以下步驟S304至S324的操作皆於編程操作期間執行。 Please refer to Figures 2, 3 and 4. FIG. 4 is a diagram showing waveforms of signals according to an embodiment of the invention. According to an embodiment of the present invention, in step S302, the controller 202 receives a program operation instruction from an interface to change the operation mode of the non-volatile memory array 204 to the programming mode, and starts a program verify operation. The program verify operation includes programming a target memory cell of the memory cell of the non-volatile memory array 204 and verifying whether the target memory cell is successfully programmed. The operations of the following steps S304 to S324 are all performed during the programming operation.

於步驟S304,控制器202提供至少一編程脈衝(例如第4圖之脈衝402)以編程非揮發性記憶體陣列204的記憶胞的目標記憶胞,然後,於步驟S306,控制器202提供至少一編程驗證脈衝(例如第4圖之脈衝404)至目標記憶胞,以驗證被編程的目標記憶胞是否成功被編程。也就是說,施加至少一編程驗證脈衝至目標記憶胞,以驗證被編程的目標記憶胞是否編程成功。接著,於步驟S308,控制器202判斷目標記憶胞的臨界電壓是否大於或等於一編程驗證電壓PV。於本發明一實施例中,於提供至少一編程電壓以編程目標記憶胞之前,控制器202可提供一抹除脈衝以抹除非揮發性記憶體陣列204的記憶胞。 In step S304, the controller 202 provides at least one programming pulse (for example, the pulse 402 of FIG. 4) to program the target memory cell of the memory cell of the non-volatile memory array 204, and then, in step S306, the controller 202 provides at least one. A verify pulse (e.g., pulse 404 of FIG. 4) is programmed to the target memory cell to verify that the programmed target memory cell was successfully programmed. That is, at least one program verify pulse is applied to the target memory cell to verify that the programmed target memory cell is successfully programmed. Next, in step S308, the controller 202 determines whether the threshold voltage of the target memory cell is greater than or equal to a program verify voltage PV. In an embodiment of the invention, controller 202 may provide an erase pulse to erase memory cells of volatile memory array 204 prior to providing at least one programming voltage to program the target memory cell.

當目標記憶胞的臨界電壓小於編程驗證電壓PV(步驟S308之判斷結果為否),則執行步驟S310。於步驟S310,控制器202驗證提供至少一編程電壓(例如第4圖之脈衝402)的次數是否等於一編程次數。當提供至少一編程電壓的次數小於編程次數,則再次執行步驟S304。當提供至少一編程電壓的次數等於編程次數,則執行步驟S312。在步驟S312中,控制器202設定目標記憶胞為編程不成功。 When the threshold voltage of the target memory cell is less than the program verification voltage PV (the determination result of step S308 is NO), step S310 is performed. In step S310, the controller 202 verifies whether the number of times at least one programming voltage (eg, the pulse 402 of FIG. 4) is provided is equal to a programmed number of times. When the number of times at least one programming voltage is supplied is less than the number of programming, step S304 is performed again. When the number of times at least one programming voltage is supplied is equal to the number of programming, step S312 is performed. In step S312, the controller 202 sets the target memory cell to be unsuccessful in programming.

當目標記憶胞的臨界電壓大於或等於編程驗證電壓PV(步驟S308之判斷結果為是),則執行步驟S314。於步驟S314,控制器202致能一編程成功訊號(例如第4圖之訊號406)以設定目標記憶胞為編程成功。也就是說,在目標記憶胞的臨界電壓大於或等於編程驗證電壓的情況下,設定目標記憶胞為編程成 功。於步驟S314之後,在步驟S316,控制器202對目標記憶胞啟用一再驗證操作。再驗證操作包括施加至少一再驗證脈衝至目標記憶胞以判斷目標記憶胞的臨界電壓是否大於或等於一再驗證電壓。在步驟S318,控制器提供至少一再驗證脈衝(例如第4圖之脈衝410)至目標記憶胞,以判斷目標記憶胞的臨界電壓是否大於或等於一編程驗證電壓。於步驟S320,控制器202判斷目標記憶胞的臨界電壓是否大於或等於編程驗證電壓。 When the threshold voltage of the target memory cell is greater than or equal to the program verify voltage PV (YES in step S308), step S314 is performed. In step S314, the controller 202 enables a programming success signal (such as the signal 406 of FIG. 4) to set the target memory cell to be successfully programmed. That is, in the case where the threshold voltage of the target memory cell is greater than or equal to the program verify voltage, the target memory cell is set to be programmed. Gong. After step S314, in step S316, the controller 202 enables a re-authentication operation on the target memory cell. The re-verification operation includes applying at least one re-verification pulse to the target memory cell to determine whether the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage. In step S318, the controller provides at least one re-verification pulse (for example, pulse 410 of FIG. 4) to the target memory cell to determine whether the threshold voltage of the target memory cell is greater than or equal to a program verify voltage. In step S320, the controller 202 determines whether the threshold voltage of the target memory cell is greater than or equal to the program verify voltage.

當目標記憶胞的臨界電壓大於或等於編程驗證電壓(步驟S320的判斷結果為是),執行步驟S322。在步驟S322,控制器202驗證提供至少一再驗證脈衝(例如第4圖之脈衝410)的次數是否等於一再驗證次數。當提供至少一再驗證脈衝的次數小於再驗證次數(步驟S322的判斷結果為否),再次執行步驟S318。當提供至少一再驗證脈衝的次數等於再驗證次數(步驟S322的判斷結果為是),則結束流程且控制器202結束非揮發性記憶體陣列204的編程操作。 When the threshold voltage of the target memory cell is greater than or equal to the program verify voltage (YES in step S320), step S322 is performed. At step S322, the controller 202 verifies whether the number of times at least one re-verification pulse (e.g., the pulse 410 of FIG. 4) is provided is equal to the number of re-verifications. When the number of times at least one re-verification pulse is supplied is less than the number of re-verifications (the determination result of step S322 is NO), step S318 is performed again. When the number of times at least one re-verification pulse is supplied is equal to the number of re-verifications (YES in step S322), the flow is ended and the controller 202 ends the programming operation of the non-volatile memory array 204.

當目標記憶胞的臨界電壓小於再驗證電壓(步驟S320的判斷結果為否),則執行步驟S324。於步驟S324,控制器202提供一再編程脈衝(例如第4圖之脈衝412)以編程目標記憶胞。進一步說,再驗證操作更包括在目標記憶胞的該臨界電壓小於再驗證電壓的情況下,提供再編程脈衝以編程目標記憶胞。其中,再編程脈衝的振幅大於至少一編程脈衝的振幅。也就是說,再編程脈衝與至少一編程脈衝具有一差值△V。在本實施例中,再 驗證脈衝的振幅等於編程驗證脈衝的振幅。在本發明其他實施例中,再驗證脈衝的振幅可大於或小於編程驗證脈衝的振幅。 When the threshold voltage of the target memory cell is less than the re-verification voltage (the determination result of step S320 is NO), step S324 is performed. At step S324, controller 202 provides a reprogramming pulse (e.g., pulse 412 of FIG. 4) to program the target memory cell. Further, the re-verification operation further includes providing a reprogramming pulse to program the target memory cell if the threshold voltage of the target memory cell is less than the re-verification voltage. Wherein the amplitude of the reprogramming pulse is greater than the amplitude of the at least one programming pulse. That is, the reprogramming pulse has a difference ΔV with at least one programming pulse. In this embodiment, The amplitude of the verify pulse is equal to the amplitude of the program verify pulse. In other embodiments of the invention, the amplitude of the re-verification pulse may be greater or less than the amplitude of the programming verify pulse.

在本發明中,再驗證次數可係為一正整數,例如1、2、5等。舉例來說,再驗證次數設定為5次。當非揮發性記憶體陣列204的目標記憶胞設定為編程成功,控制器202提供再驗證脈衝至目標記憶胞以判斷目標記憶胞的臨界電壓是否大於或等於再驗證電壓。此為第一次提供再驗證脈衝。當目標記憶胞的臨界電壓大於或等於再驗證電壓,控制器202再次提供再驗證脈衝至目標記憶胞,並判斷目標記憶胞的臨界電壓是否大於或等於再驗證電壓。此為第二次提供再驗證脈衝。在提供再驗證脈衝至目標記憶胞兩次後,當目標記憶胞的臨界電壓小於再驗證電壓,控制器202提供再編程脈衝至目標記憶胞以編程目標記憶胞,以及提高目標記憶胞的臨界電壓。在本範例中,再驗證脈衝僅被提供了兩次,未達再驗證次數的5次。也就是說,於提供再驗證脈衝至目標記憶胞,以及判斷目標記憶胞的臨界電壓小於再驗證電壓之後,無論提供再驗證脈衝的次數是否等於再驗證次數5,控制器202提供再編程脈衝至目標記憶胞以編程目標記憶胞並提高其臨界電壓,且結束整個流程。 In the present invention, the number of re-verifications may be a positive integer, such as 1, 2, 5, and the like. For example, the number of revalidation is set to 5 times. When the target memory cell of the non-volatile memory array 204 is set to be programmed successfully, the controller 202 provides a re-verification pulse to the target memory cell to determine whether the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage. This is the first time a re-verification pulse is provided. When the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage, the controller 202 again provides a re-verification pulse to the target memory cell, and determines whether the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage. This provides a second re-verification pulse. After providing the re-verification pulse to the target memory cell twice, when the threshold voltage of the target memory cell is less than the re-verification voltage, the controller 202 provides a reprogramming pulse to the target memory cell to program the target memory cell, and raises the threshold voltage of the target memory cell. . In this example, the re-verification pulse is only provided twice, not 5 times the number of re-verifications. That is, after providing the re-verification pulse to the target memory cell and determining that the threshold voltage of the target memory cell is less than the re-verification voltage, regardless of whether the number of times of providing the re-verification pulse is equal to the number of re-verifications 5, the controller 202 provides a re-programming pulse to The target memory cell programs the target memory cell and raises its threshold voltage, and ends the entire process.

綜上,當目標記憶胞的臨界電壓大於或等於再驗證電壓,以及再驗證次數大於1,控制器202則繼續提供再驗證電壓以驗證目標記憶胞的臨界電壓是否大於或等於再驗證電壓,直至 目標記憶胞的臨界電壓被判斷為小於再驗證電壓,或提供再驗證電壓的次數等於再驗證次數。 In summary, when the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage, and the re-verification frequency is greater than 1, the controller 202 continues to provide the re-verification voltage to verify whether the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage until The threshold voltage of the target memory cell is judged to be less than the re-verification voltage, or the number of times the re-verification voltage is supplied is equal to the number of re-verifications.

第4圖繪示依據本發明之一實施例的訊號波形圖。請參照第2、3及4圖。當控制器202由一介面接收一編程模式指令時,訊號PGM_MODE被致能,舉例來說,PGM_MODE訊號改變為高電壓位準400。控制器202提供PGM_PULSE訊號的至少一編程脈衝402以編程非揮發性記憶體陣列204的記憶胞的一目標記憶胞。在提供至少一編程脈衝402後,控制器202提供PGM_VERIFY_PULSE的至少一編程驗證脈衝404至目標記憶胞,以驗證目標記憶胞是否編程成功。當目標記憶胞未編程成功,控制器持續提供至少一編程脈衝402以編程目標記憶胞,以及提供至少一編程驗證脈衝404以驗證目標記憶胞是否編程成功。 Figure 4 is a diagram showing signal waveforms in accordance with an embodiment of the present invention. Please refer to Figures 2, 3 and 4. When the controller 202 receives a programming mode command from an interface, the signal PGM_MODE is enabled, for example, the PGM_MODE signal is changed to the high voltage level 400. Controller 202 provides at least one programming pulse 402 of the PGM_PULSE signal to program a target memory cell of the memory cell of non-volatile memory array 204. After providing at least one programming pulse 402, the controller 202 provides at least one programming verify pulse 404 of PGM_VERIFY_PULSE to the target memory cell to verify whether the target memory cell was successfully programmed. When the target memory cell is not programmed successfully, the controller continues to provide at least one programming pulse 402 to program the target memory cell and at least one program verify pulse 404 to verify that the target memory cell is successfully programmed.

當目標記憶胞編程成功,由控制器202提供的一PV_PASS訊號被致能(例如脈衝406)。然後,由控制器202提供的EN_POST_VERIFY訊號被致能(例如脈衝408),以執行一再驗證操作。在致能PV_PASS訊號以及EN_POST_VERIFY訊號後,控制器202提供POST_VERIFY訊號的至少一再驗證脈衝410至目標記憶胞,以驗證目標記憶胞的臨界電壓是否大於或等於再驗證電壓。也就是說,於脈衝406及脈衝408之後,提供至少一再驗證脈衝410。當判斷目標記憶胞的臨界電壓小於再驗證電壓,控制器202提供POST_PGM訊號的一再編程脈衝412以編程非揮發 性記憶體陣列204的目標記憶胞,並提高目標記憶胞的臨界電壓。再編程脈衝412的振幅大於編程脈衝402的振幅。 When the target memory cell is successfully programmed, a PV_PASS signal provided by controller 202 is enabled (e.g., pulse 406). The EN_POST_VERIFY signal provided by controller 202 is then enabled (e.g., pulse 408) to perform a re-verification operation. After the PV_PASS signal and the EN_POST_VERIFY signal are enabled, the controller 202 provides at least one re-verification pulse 410 of the POST_VERIFY signal to the target memory cell to verify whether the threshold voltage of the target memory cell is greater than or equal to the re-verification voltage. That is, after pulse 406 and pulse 408, at least one re-verification pulse 410 is provided. When it is determined that the threshold voltage of the target memory cell is less than the re-verification voltage, the controller 202 provides a reprogramming pulse 412 of the POST_PGM signal to program non-volatile The memory cell array 204 targets the memory cell and increases the threshold voltage of the target memory cell. The amplitude of the reprogramming pulse 412 is greater than the amplitude of the programming pulse 402.

然後,由控制器202提供PV_DONE訊號的脈衝414以指示包括編程驗證操作以及再驗證操作的一多次驗證操作的結束。最後,結束非揮發性記憶體陣列204的編程操作,以及中斷(disable)PGM_MODE訊號,舉例來說,PGM_MODE訊號改變為低電壓位準418。 Pulse 414 of the PV_DONE signal is then provided by controller 202 to indicate the end of a plurality of verification operations including the program verify operation and the re-verification operation. Finally, the programming operation of the non-volatile memory array 204 is ended, and the PGM_MODE signal is disabled, for example, the PGM_MODE signal is changed to the low voltage level 418.

在本發明的各實施例中,在非揮發性記憶體陣列的目標記憶胞設定為編程成功後,對目標記憶胞執行一再驗證操作。也就是說,在目標記憶胞設定為編程成功後,提供一再驗證脈衝。當目標記憶胞的臨界電壓小於再驗證電壓,提供一再編程脈衝以編程目標記憶胞及提高目標記憶胞的臨界電壓。如此,提高的目標記憶胞的臨界電壓可穩定的高於目標記憶胞所在的臨界電壓分佈的低邊界。可縮短臨界電壓分佈的「尾巴」以及使臨界電壓分佈較為緊密。臨界電壓分佈之間的記憶窗口的寬度也可增大,降低讀取目標記憶胞時的雜訊變動的影響。 In various embodiments of the present invention, after the target memory cell of the non-volatile memory array is set to be successfully programmed, a re-verification operation is performed on the target memory cell. That is to say, after the target memory cell is set to be programmed successfully, a re-verification pulse is provided. When the threshold voltage of the target memory cell is less than the re-verification voltage, a reprogramming pulse is provided to program the target memory cell and increase the threshold voltage of the target memory cell. As such, the threshold voltage of the increased target memory cell can be stably higher than the low boundary of the threshold voltage distribution where the target memory cell is located. It can shorten the "tail" of the threshold voltage distribution and make the threshold voltage distribution tighter. The width of the memory window between the threshold voltage distributions can also be increased to reduce the influence of noise fluctuations when reading the target memory cells.

綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。 In conclusion, the present invention has been disclosed in the above embodiments, but it is not intended to limit the present invention. A person skilled in the art can make various changes and modifications without departing from the spirit and scope of the invention. Therefore, the scope of the invention is defined by the scope of the appended claims.

Claims (8)

一種在編程期間編程非揮發性記憶體的方法,該揮發性記憶體包括複數個記憶胞,部份該些記憶胞的每一記憶胞儲存至少具有2位元的資料,該方法包括:提供至少一編程脈衝以編程該些記憶胞的一目標記憶胞;施加至少一編程驗證脈衝至該目標記憶胞;在該目標記憶胞的一臨界電壓大於或等於一編程驗證電壓的情況下,設定該目標記憶胞為編程成功;以及在該目標記憶胞被設定為編程成功的情況下,對該目標記憶胞執行一再驗證操作,該再驗證操作包括施加至少一再驗證脈衝至該目標記憶胞,其中該至少一再驗證脈衝的振幅等於該至少一編程驗證脈衝的振幅。 A method of programming a non-volatile memory during programming, the volatile memory comprising a plurality of memory cells, each of the memory cells storing at least 2 bits of data, the method comprising: providing at least a programming pulse to program a target memory cell of the memory cells; applying at least one program verify pulse to the target memory cell; setting the target if a threshold voltage of the target memory cell is greater than or equal to a program verify voltage The memory cell is successfully programmed; and in the case where the target memory cell is set to be programmed successfully, performing a repeated verification operation on the target memory cell, the re-verification operation including applying at least one re-verification pulse to the target memory cell, wherein the at least one The amplitude of the repeatedly verified pulse is equal to the amplitude of the at least one program verify pulse. 如申請專利範圍第1項所述之方法,其中該再驗證操作更包括:在該目標記憶胞的該臨界電壓小於一再驗證電壓的情況下,提供一再編程脈衝以編程該目標記憶胞。 The method of claim 1, wherein the re-verifying operation further comprises: providing a reprogramming pulse to program the target memory cell if the threshold voltage of the target memory cell is less than a re-verification voltage. 如申請專利範圍第2項所述之方法,其中該再編程脈衝的振幅大於該至少一編程脈衝的振幅。 The method of claim 2, wherein the amplitude of the reprogramming pulse is greater than the amplitude of the at least one programming pulse. 如申請專利範圍第1項所述之方法,更包括:在提供該至少一編程脈衝前,抹除該些記憶胞。 The method of claim 1, further comprising: erasing the memory cells before providing the at least one programming pulse. 一種在編程期間編程非揮發性記憶體的方法,該揮發性記憶體包括複數個記憶胞,部份該些記憶胞的每一記憶胞儲存至少具有2位元的資料,該方法包括:提供至少一編程脈衝;提供至少一編程驗證脈衝;致能一編程成功訊號;以及在致能該編程成功訊號後,提供至少一再驗證脈衝,其中該至少一再驗證脈衝的振幅等於該至少一編程驗證脈衝的振幅。 A method of programming a non-volatile memory during programming, the volatile memory comprising a plurality of memory cells, each of the memory cells storing at least 2 bits of data, the method comprising: providing at least a programming pulse; providing at least one programming verifying pulse; enabling a programming success signal; and providing at least one re-verification pulse after the programming success signal is enabled, wherein the amplitude of the at least one re-verification pulse is equal to the at least one programming verification pulse amplitude. 如申請專利範圍第5項所述之方法,更包括:在提供該至少一再驗證脈衝之後,提供一再編程脈衝;以及在提供該至少一再驗證脈衝之後,致能一驗證完成訊號。 The method of claim 5, further comprising: providing a reprogramming pulse after providing the at least one re-verification pulse; and enabling a verification completion signal after providing the at least one re-verification pulse. 如申請專利範圍第6項所述之方法,更包括:在致能該編程成功訊號之後以及在提供該至少一再驗證脈衝之前,提供一致能再驗證操作訊號。 The method of claim 6, further comprising: providing a consistent re-verification operation signal after enabling the programming success signal and before providing the at least one re-verification pulse. 如申請專利範圍第6項所述之方法,其中該再編程脈衝的振幅大於該至少一編程脈衝的振幅。 The method of claim 6, wherein the amplitude of the reprogramming pulse is greater than the amplitude of the at least one programming pulse.
TW106130955A 2017-09-11 2017-09-11 Method for programming non-volatile memory and memory system TWI635499B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106130955A TWI635499B (en) 2017-09-11 2017-09-11 Method for programming non-volatile memory and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106130955A TWI635499B (en) 2017-09-11 2017-09-11 Method for programming non-volatile memory and memory system

Publications (2)

Publication Number Publication Date
TWI635499B true TWI635499B (en) 2018-09-11
TW201913681A TW201913681A (en) 2019-04-01

Family

ID=64452772

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106130955A TWI635499B (en) 2017-09-11 2017-09-11 Method for programming non-volatile memory and memory system

Country Status (1)

Country Link
TW (1) TWI635499B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI702608B (en) * 2019-02-20 2020-08-21 大陸商長江存儲科技有限責任公司 Memory system and method for programming a memory system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310271B2 (en) * 2005-04-11 2007-12-18 Hynix Semiconductor Inc. Program-verify method of non-volatile memory device
US7414871B2 (en) * 2005-06-30 2008-08-19 Hynix Semiconductor Inc. Program control circuit of flash memory device having MLC and method thereof
US20110013457A1 (en) * 2009-07-15 2011-01-20 Samsung Electronics Co., Ltd. Nonvolatile memory devices and programming methods thereof in which a program inhibit voltage is changed during programming
US20110194353A1 (en) * 2010-02-08 2011-08-11 Samsung Electronics Co., Ltd Method of programming memory cells for a non-volatile memory device
US20160049200A1 (en) * 2014-08-18 2016-02-18 SK Hynix Inc. Semiconductor memory device and operating method thereof
TW201642267A (en) * 2015-05-26 2016-12-01 愛思開海力士有限公司 Semiconductor memory device and operating method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310271B2 (en) * 2005-04-11 2007-12-18 Hynix Semiconductor Inc. Program-verify method of non-volatile memory device
US7414871B2 (en) * 2005-06-30 2008-08-19 Hynix Semiconductor Inc. Program control circuit of flash memory device having MLC and method thereof
US20110013457A1 (en) * 2009-07-15 2011-01-20 Samsung Electronics Co., Ltd. Nonvolatile memory devices and programming methods thereof in which a program inhibit voltage is changed during programming
US20110194353A1 (en) * 2010-02-08 2011-08-11 Samsung Electronics Co., Ltd Method of programming memory cells for a non-volatile memory device
US20160049200A1 (en) * 2014-08-18 2016-02-18 SK Hynix Inc. Semiconductor memory device and operating method thereof
TW201642267A (en) * 2015-05-26 2016-12-01 愛思開海力士有限公司 Semiconductor memory device and operating method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI702608B (en) * 2019-02-20 2020-08-21 大陸商長江存儲科技有限責任公司 Memory system and method for programming a memory system

Also Published As

Publication number Publication date
TW201913681A (en) 2019-04-01

Similar Documents

Publication Publication Date Title
KR101134691B1 (en) Erase algorithm for multi-level bit flash memory
CN109256162B (en) Semiconductor memory device and programming method thereof
US9257204B2 (en) Read voltage setting method, and control circuit, and memory storage apparatus using the same
US6603680B2 (en) Semiconductor device and data processing system
US8422292B2 (en) Nonvolatile memory device and program method thereof
US6700820B2 (en) Programming non-volatile memory devices
TW201438015A (en) Data reading method, and control circuit, memory module and memory storage apparatus and memory module using the same
KR20140013383A (en) Nonvolatile memory device and operation method thereof
KR20170011324A (en) Semiconductor memory device and operating method thereof
US9672914B1 (en) Semiconductor memory device and operating method thereof
KR20180019345A (en) Semiconductor memory device and operating method thereof
KR20180029430A (en) Semiconductor memory device and operating method thereof
US20190013078A1 (en) Semiconductor memory device and operating method thereof
KR20180052814A (en) Semiconductor memory device and operating method thereof
KR20170079832A (en) Semiconductor memory device and operating method thereof
TWI663600B (en) Method for programming non-volatile memory and memory system
KR20170111657A (en) Semiconductor memory device and operating method thereof
CN107045888B (en) Data erasing method
KR20180028312A (en) Semiconductor memory device and programming method thereof
US10672481B2 (en) Semiconductor memory device and operating method thereof
KR101003878B1 (en) Operation method of nonvolaile memory device
CN109509503B (en) Method for programming nonvolatile memory and memory system
CN115798552A (en) Memory device and operation method thereof
US20150106667A1 (en) Solid state storage device and controlling method thereof
TWI635499B (en) Method for programming non-volatile memory and memory system