[go: up one dir, main page]

TWI530957B - Flash memory, management method and management program of bad block - Google Patents

Flash memory, management method and management program of bad block Download PDF

Info

Publication number
TWI530957B
TWI530957B TW103112340A TW103112340A TWI530957B TW I530957 B TWI530957 B TW I530957B TW 103112340 A TW103112340 A TW 103112340A TW 103112340 A TW103112340 A TW 103112340A TW I530957 B TWI530957 B TW I530957B
Authority
TW
Taiwan
Prior art keywords
bad
page
block
bad block
address
Prior art date
Application number
TW103112340A
Other languages
Chinese (zh)
Other versions
TW201539463A (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 TW103112340A priority Critical patent/TWI530957B/en
Publication of TW201539463A publication Critical patent/TW201539463A/en
Application granted granted Critical
Publication of TWI530957B publication Critical patent/TWI530957B/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

快閃記憶體、壞區塊的管理方法及管理程式 Flash memory, management method and management program for bad blocks

本發明是有關於一種反及(Not AND,NAND)型快閃記憶體(flash memory),特別是有關於一種壞區塊(bad block)的管理方法。 The present invention relates to a (Not AND, NAND) type flash memory, and more particularly to a method of managing a bad block.

在快閃記憶體的製造階段產生的缺陷元件通過利用冗餘方案(scheme)替換為冗餘區域的記憶體元件而得以挽救。另一方面,即便為在出貨階段判定為正常的記憶體元件,有時也會因反覆程式化或抹除而變為不良元件。即,產生如下記憶體元件:即便施加固定次數的程式化脈衝,也無法使該記憶體元件的閾值(threshold value)收斂在所期望的分佈範圍內,此外即便施加固定次數的抹除脈衝,也無法使該記憶體元件的閾值收斂在所期望的分佈範圍內。在快閃記憶體中採用如下的所謂的壞區塊管理,即,將包含此種不良記憶體元件的區塊認定為壞區塊,以區塊單元將壞區塊替換為其他正常的區塊(專利文獻1)。 Defective elements produced during the manufacturing phase of the flash memory are saved by replacing the memory elements of the redundant area with a redundancy scheme. On the other hand, even a memory element that is determined to be normal at the time of shipment may become a defective element due to repeated programming or erasing. That is, a memory element is generated such that even if a fixed number of stylized pulses are applied, the threshold value of the memory element cannot be converged within a desired distribution range, and even if a fixed number of erase pulses are applied, The threshold of the memory element cannot be converged within the desired distribution range. The so-called bad block management is adopted in the flash memory, that is, the block including such a bad memory element is identified as a bad block, and the bad block is replaced with another normal block by the block unit. (Patent Document 1).

[先前技術文獻] [Previous Technical Literature]

[專利文獻] [Patent Literature]

[專利文獻1]日本專利特開2013-145545號公報 [Patent Document 1] Japanese Patent Laid-Open Publication No. 2013-145545

圖1中表示現有的壞區塊管理的操作流程。當在快閃記憶體中進行頁面程式化時,對選擇頁面的字線施加程式化脈衝,其次為了判定記憶體單元(memory cell)的閾值而進行驗證,如果程式化不充分,則施加較先前僅高△Vpgm的程式化脈衝。此外,在進行選擇區塊的抹除時,對井或基板施加抹除脈衝,其次進行驗證,如果抹除不充分,則施加較先前僅高△Vers的抹除脈衝(S10)。此種程式化作為增量步進脈衝程式化(Incremental Step Pulse Program,ISPP)方式而為人所知,抹除作為增量步進脈衝抹除(Incremental Step Pulse Erase,ISPE)方式而為人所知。 The operation flow of the existing bad block management is shown in FIG. When page programming is performed in the flash memory, a stylized pulse is applied to the word line of the selected page, and then a threshold is determined for determining the threshold of the memory cell. If the stylization is insufficient, the previous application is performed. Only stylized pulses of high ΔVpgm. Further, when erasing of the selected block is performed, an erase pulse is applied to the well or the substrate, and verification is performed next, and if the erasing is insufficient, an erase pulse (S10) which is higher than the previous only ΔVers is applied. This stylization is known as the Incremental Step Pulse Program (ISPP) method, which is used as an Incremental Step Pulse Erase (ISPE) method. know.

在快閃記憶體中,已進行程式化或抹除時的狀態(status)保持在管理記憶體中(S12)。在狀態中,例如存儲有通過施加規定次數的程式化脈衝而判斷出選擇頁面的驗證為不合格、或通過施加規定次數的抹除脈衝而判斷出選擇區塊的驗證為不合格、或驗證的最終結果為不合格等。 In the flash memory, the status at the time of stylization or erasing is maintained in the management memory (S12). In the state, for example, it is determined that the verification of the selected page is determined to be unacceptable by applying a predetermined number of stylized pulses, or that the verification of the selected block is judged to be unqualified or verified by applying a predetermined number of erase pulses. The final result is unqualified.

存儲在管理記憶體中的狀態用於判定有無壞區塊(S14)。有無壞區塊的判定例如通過外部控制器對快閃記憶體發送命令而執行,或通過搭載在快閃記憶體自身的程式而執行。如果判定為存在壞區塊,則壞區塊管理部以在壞區塊的存取變為在正常的備用區塊的存取的方式進行位址轉換(S16)。 The state stored in the management memory is used to determine whether or not there is a bad block (S14). The determination of whether or not there is a bad block is performed, for example, by an external controller transmitting a command to the flash memory, or by a program loaded in the flash memory itself. If it is determined that there is a bad block, the bad block management unit performs address conversion in such a manner that the access to the bad block becomes access to the normal spare block (S16).

圖2(A)~圖2(B)是說明現有的壞區塊管理的詳情的圖。快閃記憶體包括:壞區塊管理部10,進行壞區塊的管理;查找表(look-up table)20,存儲有用以將壞區塊的位址轉換為正常的備用區塊的位址的位址轉換資訊;字線選擇電路30,基於行位址資訊進行區塊的選擇及頁面的選擇;及記憶體陣列(memory array)40,包含多個區塊。記憶體陣列40的M1是用於供用戶(user)使用而分配的記憶體區域,SB是用以替換壞區塊而準備的備用區域。 2(A) to 2(B) are diagrams for explaining details of the conventional bad block management. The flash memory includes: a bad block management unit 10 that performs management of bad blocks; a look-up table 20 that stores addresses for converting the address of the bad block into a normal spare block. Address conversion information; word line selection circuit 30, selecting a block based on row address information and page selection; and a memory array 40 comprising a plurality of blocks. M1 of the memory array 40 is a memory area allocated for use by a user, and SB is a spare area prepared to replace a bad block.

壞區塊管理部10根據來自外部的命令或自身搭載的程式,而判定如圖1的步驟(step)S14中所說明的壞區塊的有無。例如,如圖2(B)所示,進行區塊5的頁面Pi的程式化(寫入),但最終驗證為不合格。該頁面Pi的程式化不良的狀態存儲在未圖示的管理記憶體中。 The bad block management unit 10 determines the presence or absence of the bad block described in step S14 of FIG. 1 based on an external command or a program loaded on itself. For example, as shown in FIG. 2(B), the stylization (writing) of the page Pi of the block 5 is performed, but the final verification is unacceptable. The stylized state of the page Pi is stored in the management memory (not shown).

如果壞區塊管理部10參照管理記憶體,判定區塊5因包含不良頁面Pi而為壞區塊,則將區塊5分配於備用區域SB內的空白狀態的區塊、例如區塊1004。此時,壞區塊管理部10將位址轉換資訊寫入至查找表20,該位址轉換資訊用以將向壞區塊5的存取的位址轉換為向備用區塊1004的存取的位址。圖3是表示查找表的一例的圖。在查找表中,建立關聯地存儲有壞區塊5的位址與替換該壞區塊5的地址的備用區塊1004的地址。通常,自外部控制器對快閃記憶體提供邏輯位址,因此在查找表中存儲有壞區塊5及備用區塊1004的邏輯位址。 When the bad block management unit 10 refers to the management memory and determines that the block 5 is a bad block because the defective page Pi is included, the block 5 is allocated to the block in the blank area in the spare area SB, for example, the block 1004. At this time, the bad block management unit 10 writes the address conversion information to the lookup table 20 for converting the address of the access to the bad block 5 to the access to the spare block 1004. Address. FIG. 3 is a diagram showing an example of a lookup table. In the lookup table, the address of the spare block 1004 in which the address of the bad block 5 is replaced and the address of the bad block 5 is replaced is established. Typically, the flash memory is provided with a logical address from an external controller, so the logical address of the bad block 5 and the spare block 1004 is stored in the lookup table.

於讀取、程式化(寫入)或抹除時,字線選擇電路30參照查找表而判定所輸入的行位址與壞區塊的位址是否一致,在一致的情況下,將所輸入的行位址轉換為備用區塊的位址,並將其轉換為物理位址,輸出用以選擇區塊1004的區塊選擇信號BSEL。進而,只要進行讀取或程式化(寫入)操作,則選擇所選擇的區塊1004內的頁面。 When reading, programming (writing) or erasing, the word line selection circuit 30 refers to the lookup table to determine whether the input row address is consistent with the address of the bad block, and if it is consistent, the input is entered. The row address is converted to the address of the spare block and converted into a physical address, and the block select signal BSEL for selecting the block 1004 is output. Further, as long as a read or program (write) operation is performed, the page within the selected block 1004 is selected.

然而,在現有的壞區塊的管理方法中存在如下問題。如圖2(B)所示,如果因頁面Pi的不良(例如在程式化操作的驗證中為不合格)而判定區塊5為壞區塊,並將向區塊5的存取轉換為向區塊1004的存取,則無法利用已寫入至區塊5的頁面P0~頁面Pi-1、頁面Pi+1~頁面Pn的資料。如果要利用該資料,則必須執行與壞區塊管理方法不同的檔案(file)管理系统(system),而將區塊5的頁面P0~頁面Pi-1、頁面Pi+1~頁面Pn複製(copy)至區塊1004,從而必須進行複雜的處理。 However, the following problems exist in the management method of the existing bad block. As shown in FIG. 2(B), if the defect of the page Pi (for example, in the verification of the stylized operation is unsatisfactory), it is determined that the block 5 is a bad block, and the access to the block 5 is converted into a direction. When the block 1004 is accessed, the data of the page P0 to the page Pi-1 and the page Pi+1 to the page Pn that have been written to the block 5 cannot be used. If you want to use this data, you must execute a file management system (system) that is different from the bad block management method, and copy the page P0~page Pi-1 and page Pi+1~page Pn of block 5 ( Copy) to block 1004, which necessitates complex processing.

本發明的目的在於提供一種解決現有的壞區塊管理方法的問題的快閃記憶體、壞區塊的管理方法及管理程式。 It is an object of the present invention to provide a flash memory, a management method and a management program for a bad block that solve the problems of the conventional bad block management method.

本發明的反及型快閃記憶體的壞區塊管理方法包括如下步驟:判定在記憶體陣列內是否存在壞區塊;在判定為存在壞區塊時,判定在壞區塊內的一部分是否存在壞頁;及在判定為在壞區塊內的一部分存在壞頁時,設定用以轉換壞區塊與壞區塊內 的頁面的位址轉換資訊。 The bad block management method of the inverse type flash memory of the present invention comprises the steps of: determining whether there is a bad block in the memory array; and determining whether there is a bad block, determining whether a part of the bad block is There is a bad page; and when it is determined that there is a bad page in a part of the bad block, it is set to convert the bad block and the bad block. Address translation information for the page.

優選為,所述設定的步驟是設定用以將包含壞頁的第一頁面轉換為備用區塊內的對應的頁面的位址轉換資訊,且以不包含壞頁的第二頁面在壞區塊存取的方式設定位址轉換資訊。優選為,所述設定的步驟是以壞頁為分界而將壞區塊分割為兩個頁面組,且設定用以將包含壞頁的頁面組轉換為備用區塊的對應的頁面的位址轉換資訊。優選為,所述設定的步驟是將位址轉換資訊存儲在可重寫的非揮發性記憶體中。優選為,壞區塊管理方法更包含將壞區塊與備用區塊整合為一個區塊的步驟。優選為,所述整合的步驟響應於進行壞區塊的抹除而執行。優選為,所述整合的步驟通過執行命令而執行。 Preferably, the step of setting is to set address conversion information for converting a first page including a bad page into a corresponding page in the spare block, and the second page not containing the bad page is in the bad block. The way of access sets the address translation information. Preferably, the step of setting is to divide the bad block into two page groups by using a bad page as a boundary, and setting an address conversion for converting a page group including the bad page into a corresponding page of the spare block. News. Preferably, the step of setting is to store the address translation information in a rewritable non-volatile memory. Preferably, the bad block management method further comprises the step of integrating the bad block and the spare block into one block. Preferably, the step of integrating is performed in response to erasing bad blocks. Preferably, the step of integrating is performed by executing a command.

本發明的壞區塊管理程式是反及型快閃記憶體所執行的程式,包括如下步驟:判定在記憶體陣列內是否存在壞區塊;在判定為存在壞區塊時,判定在壞區塊內的一部分是否存在壞頁;及在判定為在壞區塊內的一部分存在壞頁時,設定用以轉換壞區塊與壞區塊內的頁面的位址轉換資訊。 The bad block management program of the present invention is a program executed by the reverse flash memory, and includes the following steps: determining whether there is a bad block in the memory array; determining that there is a bad block, determining that the bad area is present Whether there is a bad page in a part of the block; and when it is determined that there is a bad page in a part of the bad block, the address conversion information for converting the page in the bad block and the bad block is set.

本發明的反及型快閃記憶體包括:記憶體陣列,包含多個區塊;存儲部件,存儲對所述記憶體陣列進行程式化及抹除時的狀態;第一判定部件,基於所述狀態而判定在記憶體陣列內是否存在壞區塊;第二判定部件,在判定為存在壞區塊時,基於所述狀態而判定在壞區塊內的一部分是否存在壞頁;及設定部件,在判定為在壞區塊內的一部分存在壞頁時,設定用以轉換壞區塊 與壞區塊內的頁面的位址轉換資訊。 The inverse type flash memory of the present invention includes: a memory array including a plurality of blocks; a storage unit storing a state when the memory array is programmed and erased; and a first determining unit based on the a state of determining whether there is a bad block in the memory array; and when determining that there is a bad block, the second determining means determines whether a part of the bad block has a bad page based on the state; and setting a component, When it is determined that there is a bad page in a part of the bad block, it is set to convert the bad block. Translate information with the address of the page within the bad block.

優選為,快閃記憶體更包括:輸入部件,輸入位址資訊;第三判定部件,判定來自所述輸入部件的位址資訊與壞區塊是否一致;及轉換部件,在判定為與壞區塊一致時,按照所述位址轉換資訊而轉換所述位址資訊。優選為,快閃記憶體更包括判定來自所述輸入部件的位址資訊是否與壞頁相符的第四判定部件,在判定為與壞頁一致時,所述轉換部件按照所述位址轉換資訊而轉換所述位址資訊。優選為,所述轉換部件在通過第四判定部件判定為位址資訊與壞頁不相符時,所述轉換部件不按照所述位址轉換資訊對所述位址資訊進行位址轉換。 Preferably, the flash memory further comprises: an input component, input address information; a third determining component, determining whether the address information from the input component is consistent with the bad block; and converting the component, determining that the bad zone is When the blocks are consistent, the address information is converted according to the address conversion information. Preferably, the flash memory further includes a fourth determining component that determines whether the address information from the input component matches the bad page, and when the determination is consistent with the bad page, the converting component converts the information according to the address. And converting the address information. Preferably, when the conversion component determines that the address information does not match the bad page by the fourth determining component, the converting component does not perform address translation on the address information according to the address conversion information.

根據本發明,在判定為壞區塊內的一部分為壞頁的情況下,設定用以轉換壞區塊內的頁面的位址轉換資訊,因此可繼續利用壞區塊內的不為壞頁的頁面的資料。 According to the present invention, in the case where it is determined that a part of the bad block is a bad page, the address conversion information for converting the page in the bad block is set, so that it is possible to continue to use the non-bad page in the bad block. Information on the page.

10‧‧‧壞區塊管理部 10‧‧‧Bad Block Management Department

20、152‧‧‧查找表 20, 152‧‧‧ lookup table

30‧‧‧字線選擇電路 30‧‧‧Word line selection circuit

40‧‧‧記憶體陣列 40‧‧‧ memory array

100‧‧‧快閃記憶體 100‧‧‧flash memory

110‧‧‧記憶體陣列 110‧‧‧Memory array

120‧‧‧輸入輸出緩衝器 120‧‧‧Input and output buffers

130‧‧‧位址暫存器 130‧‧‧ address register

140‧‧‧資料暫存器 140‧‧‧data register

150‧‧‧控制器 150‧‧‧ Controller

154‧‧‧管理記憶體 154‧‧‧Manage memory

160‧‧‧字線選擇電路 160‧‧‧Word line selection circuit

170‧‧‧頁面緩衝器/感測電路 170‧‧‧Page Buffer/Sensor Circuit

180‧‧‧列選擇電路 180‧‧‧ column selection circuit

190‧‧‧內部電壓產生電路 190‧‧‧Internal voltage generation circuit

Ax‧‧‧行位址資訊 Ax‧‧‧ address information

Ay‧‧‧列位址資訊 Ay‧‧‧Listing address information

BLK(0)、BLK(1)、…、BLK(m)‧‧‧區塊 BLK (0), BLK (1), ..., BLK (m) ‧ ‧ blocks

BSEL‧‧‧區塊選擇信號 BSEL‧‧‧ block selection signal

C1、C2、C3‧‧‧控制信號 C1, C2, C3‧‧‧ control signals

GBL‧‧‧位線 GBL‧‧‧ bit line

M1‧‧‧記憶體區域 M1‧‧‧ memory area

MC0~MC31‧‧‧記憶體單元 MC0~MC31‧‧‧ memory unit

NU‧‧‧串單元 NU‧‧‧string unit

P0~Pi-1、Pi~Pn‧‧‧頁面 P0~Pi-1, Pi~Pn‧‧‧ page

SB‧‧‧備用區域 SB‧‧ ‧ spare area

SGD、SGS‧‧‧選擇閘極線 SGD, SGS‧‧‧ select gate line

SL‧‧‧源極線 SL‧‧‧ source line

TD、TS‧‧‧選擇電晶體 TD, TS‧‧‧ select transistor

Vers‧‧‧抹除電壓 Vers‧‧‧ erase voltage

Vpass‧‧‧導通電壓 Vpass‧‧‧ turn-on voltage

Vprog‧‧‧程式化電壓 Vprog‧‧‧ stylized voltage

Vread‧‧‧讀取電壓 Vread‧‧‧ reading voltage

WL‧‧‧字線 WL‧‧‧ word line

圖1是表示現有的快閃記憶體的壞區塊管理的操作流程的圖。 FIG. 1 is a view showing an operational flow of bad block management of a conventional flash memory.

圖2(A)~圖2(B)是說明現有的壞區塊管理的圖。 2(A) to 2(B) are diagrams for explaining the conventional bad block management.

圖3是表示用於現有的壞區塊管理的查找表的一例的圖。 FIG. 3 is a diagram showing an example of a lookup table used for conventional bad block management.

圖4是表示本發明的實施例的快閃記憶體的一構成例的方塊圖。 4 is a block diagram showing a configuration example of a flash memory according to an embodiment of the present invention.

圖5是表示本發明的實施例的記憶體單元陣列的反及串(string)的構成的電路圖。 Fig. 5 is a circuit diagram showing a configuration of a reverse side of a memory cell array according to an embodiment of the present invention.

圖6是表示於本實施例的快閃記憶體的程式化時對各部分施加的電壓的一例的圖。 Fig. 6 is a view showing an example of a voltage applied to each portion in the stylization of the flash memory of the embodiment.

圖7是說明本實施例的快閃記憶體的壞區塊管理中的查找表(look-up table,LUT)的建立操作的流程圖(flow chart)。 Fig. 7 is a flow chart showing the operation of establishing a look-up table (LUT) in the bad block management of the flash memory of the embodiment.

圖8(A)~圖8(B)是表示本實施例的查找表的一例的圖。 8(A) to 8(B) are diagrams showing an example of a lookup table of the present embodiment.

圖9是說明本實施例的快閃記憶體的操作的流程圖。 Fig. 9 is a flow chart for explaining the operation of the flash memory of the embodiment.

圖10是說明本實施例的重組(defragmentation)的操作的流程圖。 Figure 10 is a flow chart illustrating the operation of the defragmentation of the present embodiment.

圖11(A)~圖11(B)是說明本實施例的重組及查找表的更新的示例的圖。 11(A) to 11(B) are diagrams for explaining an example of updating of the reorganization and lookup table of the present embodiment.

下面,參照圖式對本發明的實施方式詳細地進行說明。在本發明的優選實施方式中,例示反及型快閃記憶體。另外,圖式為容易理解而強調顯示各部分,應注意與實際裝置的比例(scale)不同。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In a preferred embodiment of the invention, a reverse flash memory is exemplified. In addition, the drawing emphasizes the display of each part for easy understanding, and it should be noted that the scale of the actual device is different.

[實施例] [Examples]

圖4是表示本發明的實施例的快閃記憶體的構成的方塊圖。但此處所示的快閃記憶體的構成為例示,本發明並非必須限定於此種構成。 Fig. 4 is a block diagram showing the configuration of a flash memory according to an embodiment of the present invention. However, the configuration of the flash memory shown here is an example, and the present invention is not necessarily limited to such a configuration.

本實施例的快閃記憶體100構成為包括:記憶體陣列110,形成排列為矩陣狀的多個記憶體單元;輸入輸出緩衝器(buffer)120,連接在外部輸入輸出端子I/O且保持輸入輸出資料;位址暫存器(address register)130,接收來自輸入輸出緩衝器120的位址資料;資料暫存器140,保持輸入輸出的資料;控制器150,基於來自輸入輸出緩衝器120的命令資料及外部控制信號(未圖示的晶片賦能(chip enable)或位址閂賦能(address latch enable)等),而供給控制各部分的控制信號C1、控制信號C2、控制信號C3等;查找表(LUT)152,存儲有用以將壞區塊替換為正常的備用區塊所必需的位址資訊;管理記憶體154,存儲進行程式化(寫入)及抹除時的記憶體單元的狀態等;字線選擇電路160,對來自位址暫存器130的行位址資訊Ax或查找表的經位址轉換的位址資訊進行解碼(decode),並基於解碼結果而進行區塊的選擇及字線的選擇等;頁面緩衝器/感測電路(sense circuit)170,保持自通過字線選擇電路160選擇的頁面讀取的資料、或保持對所選擇的頁面的寫入資料;列選擇電路180,對來自位址暫存器130的列位址資訊Ay進行解碼,並基於該解碼結果而選擇頁面緩衝器170內的列資料;及內部電壓產生電路190,生成用以進行資料的讀取、程式化及抹除等所必需的電壓(程式化電壓Vprog、導通電壓(pass voltage)Vpass、讀取電壓Vread、抹除電壓Vers等)。 The flash memory 100 of the present embodiment is configured to include a memory array 110 that forms a plurality of memory cells arranged in a matrix, and an input/output buffer 120 connected to the external input/output terminal I/O and held Input and output data; an address register 130, receiving address data from the input and output buffer 120; a data register 140 holding input and output data; and a controller 150 based on the input/output buffer 120 Command data and external control signals (chip enable or address latch enable, etc.), and supply control signals C1, control signals C2, and control signals C3 A lookup table (LUT) 152 stores address information necessary to replace bad blocks with normal spare blocks; management memory 154 stores memory for staging (writing) and erasing The state of the cell, etc.; the word line selection circuit 160 decodes the address information of the row address information Ax from the address register 130 or the address of the lookup table, and performs a region based on the decoding result. Block Selecting a word line or the like; a page buffer/sense circuit 170 holding data read from a page selected by the word line selection circuit 160 or holding data written to the selected page; The selection circuit 180 decodes the column address information Ay from the address register 130, and selects the column data in the page buffer 170 based on the decoding result; and the internal voltage generating circuit 190 generates data for performing data. Voltages necessary for reading, programming, and erasing (programmed voltage Vprog, pass voltage Vpass, read voltage Vread, erase voltage Vers, etc.).

控制器150如下述般具備用以管理壞區塊的功能,響應 於來自外部控制器的命令、或響應於自身搭載的控制序列(control sequence)或控制程式而執行壞區塊的管理。控制器150在進行程式化(寫入)或抹除操作時,將該狀態寫入至管理記憶體154,此外將用以轉換壞區塊及/或壞區塊內的頁面的位址轉換資訊寫入至查找表152。在優選實施方式中,查找表152及管理記憶體154包括可重寫的非揮發性記憶體或非揮發性暫存器。 The controller 150 has a function for managing bad blocks as described below, and responds Management of bad blocks is performed in response to commands from an external controller or in response to a control sequence or control program carried on itself. The controller 150 writes the state to the management memory 154 when performing a program (write) or erase operation, and further converts the address conversion information for converting the pages in the bad block and/or the bad block. Write to lookup table 152. In a preferred embodiment, lookup table 152 and management memory 154 include rewritable non-volatile memory or non-volatile registers.

記憶體陣列110包括配置在列方向的多個區塊BLK(0)、BLK(1)、…、BLK(m)。在區塊的一端部配置有頁面緩衝器/感測電路170。但頁面緩衝器/感測電路170也可配置在區塊的另一端部或兩側的端部。進而,記憶體陣列110也可配置在字線選擇電路160的兩側。 The memory array 110 includes a plurality of blocks BLK(0), BLK(1), ..., BLK(m) arranged in the column direction. A page buffer/sense circuit 170 is disposed at one end of the block. However, the page buffer/sense circuit 170 can also be disposed at the other end or both ends of the block. Furthermore, the memory array 110 can also be disposed on both sides of the word line selection circuit 160.

如圖5所示,在一個記憶體區塊形成多個反及串單元(unit)NU,上述反及串單元NU是串聯連接多個記憶體單元而成,在一個記憶體區塊內,沿行方向排列有n+1個串單元NU。串單元NU包含:多個記憶體單元MCi(i=0、1、…、31),串聯地連接;選擇電晶體TD,連接在作為一端部的記憶體單元MC31的汲極側;及選擇電晶體TS,連接在作為另一端部的記憶體單元MC0的源極側;且選擇電晶體TD的汲極連接在所對應的一個位線(bit line)GBL,選擇電晶體TS的源極連接在共用的源極線SL。 As shown in FIG. 5, a plurality of anti-serial units NU are formed in one memory block, and the anti-serial unit NU is formed by connecting a plurality of memory cells in series, in a memory block, along a There are n+1 string units NU arranged in the row direction. The string unit NU includes: a plurality of memory cells MCi (i = 0, 1, ..., 31) connected in series; a transistor TD is selected, connected to the drain side of the memory cell MC31 as one end; and selection of electricity The crystal TS is connected to the source side of the memory cell MC0 as the other end portion; and the drain of the selected transistor TD is connected to a corresponding bit line GBL, and the source of the selected transistor TS is connected The shared source line SL.

記憶體單元MCi的控制閘極連接在字線WLi,選擇電晶體TD、選擇電晶體TS的閘極連接在與字線WL平行的選擇閘極線SGD、選擇閘極線SGS。字線選擇電路160在基於行位址Ax 或經轉換的位址而選擇區塊時,經由區塊的選擇閘極信號而選擇性地驅動選擇電晶體TD、選擇電晶體TS。另外,圖5表示典型的串單元的構成,但串單元也可在反及串內包含一個或多個虛擬單元(dummy cell)。 The control gate of the memory cell MCi is connected to the word line WLi, and the gate of the selection transistor TD and the selection transistor TS is connected to the selection gate line SGD and the selection gate line SGS which are parallel to the word line WL. Word line selection circuit 160 is based on row address Ax When the block is selected by the converted address, the selection transistor TD and the selection transistor TS are selectively driven via the selected gate signal of the block. In addition, FIG. 5 shows the configuration of a typical string unit, but the string unit may also include one or more dummy cells in the reverse string.

典型而言,記憶體單元具有金屬氧化物半導體(Metal-Oxide-Semiconductor,MOS))構造,該金屬氧化物半導體構造包括:作為N型擴散區域的源極/汲極,形成在P井內;穿隧(tunnel)氧化膜,形成在源極/汲極間的通道上;浮置閘極(floating gate)(電荷蓄積層),形成在穿隧氧化膜上;及控制閘極,隔著介電質膜而形成在浮置閘極上。當在浮置閘極未蓄積電荷時,即寫入資料「1」時,閾值處於負狀態,記憶體單元為常開(normally on)。當在浮置閘極蓄積有電子時,即寫入資料「0」時,閾值偏移(shift)為正,記憶體單元為常關(normally off)。 Typically, the memory cell has a Metal-Oxide-Semiconductor (MOS) structure including: a source/drain as an N-type diffusion region formed in the P-well; a tunnel oxide film is formed on the channel between the source and the drain; a floating gate (charge accumulation layer) is formed on the tunnel oxide film; and the gate is controlled, and the gate is separated An electric film is formed on the floating gate. When the charge is not accumulated in the floating gate, that is, when the data "1" is written, the threshold is in a negative state, and the memory cell is normally on. When electrons are accumulated in the floating gate, that is, when the data "0" is written, the threshold shift is positive, and the memory cell is normally off.

圖6是表示在快閃記憶體的各操作時施加的偏壓電壓的一例的表。在讀取操作中,對位元線施加某正電壓,對所選擇的字線施加某電壓(例如0V),對非選擇字線施加導通電壓Vpass(例如4.5V),對選擇閘極線SGD、選擇閘極線SGS施加正電壓(例如4.5V),使位線選擇電晶體TD、源極線選擇電晶體TS接通(on),對共用源極線施加0V。在程式化(寫入)操作中,對所選擇的字線施加高電壓的程式化電壓Vprog(15V~20V),對非選擇的字線施加中間電位(例如10V),使位線選擇電晶體TD接通(on),使源極線選擇電晶體TS斷開(off),將與「0」或「1」 的資料對應的電位供給至位線GBL。在抹除操作中,對區塊內的所選擇的字線施加0V,對P井施加高電壓(例如20V),通過將浮置閘極的電子提取至基板,而以區塊單元抹除資料。 FIG. 6 is a table showing an example of a bias voltage applied during each operation of the flash memory. In the read operation, a positive voltage is applied to the bit line, a certain voltage (for example, 0 V) is applied to the selected word line, and a turn-on voltage Vpass (for example, 4.5 V) is applied to the unselected word line, and the gate line SGD is selected. The gate line SGS is selected to apply a positive voltage (for example, 4.5 V), the bit line selection transistor TD and the source line selection transistor TS are turned on, and 0 V is applied to the common source line. In the stylized (write) operation, a high voltage stylized voltage Vprog (15V~20V) is applied to the selected word line, and an intermediate potential (for example, 10V) is applied to the unselected word line, so that the bit line selects the transistor. TD is turned on (on), causing the source line selection transistor TS to be turned off, and will be "0" or "1" The potential corresponding to the data is supplied to the bit line GBL. In the erase operation, 0V is applied to the selected word line in the block, and a high voltage (for example, 20V) is applied to the P well, and the data is erased by the block unit by extracting the electrons of the floating gate to the substrate. .

其次,參照圖7的流程圖對本實施例的壞區塊管理方法中的查找表的建立操作進行說明。控制器150響應於來自外部控制器的命令、或響應於自身搭載的控制序列或控制程式而開始壞區塊的管理(S100)。 Next, the operation of establishing the lookup table in the bad block management method of the present embodiment will be described with reference to the flowchart of FIG. The controller 150 starts management of the bad block in response to a command from the external controller or in response to a control sequence or a control program carried on itself (S100).

如果執行壞區塊的管理,則控制器150自管理記憶體154讀取狀態,檢查程式化或抹除的驗證結果。如所述般,在利用增量步進脈衝程式化方式或增量步進脈衝抹除方式執行程式化(寫入)或抹除時進行驗證,將該驗證結果等存儲於管理記憶體154。例如,通過規定次數的程式化脈衝的施加而判斷出選擇頁面的驗證為不合格或合格、通過規定次數的抹除脈衝的施加而判斷出選擇區塊的驗證為不合格或合格、或驗證的最終結果為不合格等作為狀態而加以存儲。 If the management of the bad block is performed, the controller 150 reads the status from the management memory 154 and checks the verification result of the stylized or erased. As described above, when the stylization (writing) or erasing is performed by the incremental step pulse patterning method or the incremental step pulse erasing method, verification is performed, and the verification result or the like is stored in the management memory 154. For example, it is determined that the verification of the selected page is unqualified or qualified by the application of the predetermined number of stylized pulses, and the verification of the selected block is judged to be unqualified or qualified, or verified by the application of the erase pulse of a predetermined number of times. The final result is stored as a failure or the like as a state.

基於狀態的檢查結果而判定有無壞區塊(S104)。有無壞區塊的判定也可由控制器150進行,或者也可響應於來自外部控制器的命令而對外部控制器提供狀態的檢查結果,並接收該處的判定結果。因此,用以進行有無壞區塊的判定的演算法(algorithm)預先準備在控制器150或外部控制器中。將何種區塊設為壞區塊的判定基準可任意地決定。例如,在最終的驗證結果為不合格的情況下、或在即便最終的驗證結果為合格也必須施 加固定次數以上的程式化脈衝或抹除脈衝的情況下,可將該區塊設為壞區塊。 It is determined whether or not there is a bad block based on the result of the state check (S104). The determination of whether or not there is a bad block may also be performed by the controller 150, or may also provide a check result of the state to the external controller in response to a command from the external controller, and receive the result of the determination there. Therefore, an algorithm for determining whether or not there is a bad block is prepared in advance in the controller 150 or an external controller. The criterion for determining which block is a bad block can be arbitrarily determined. For example, if the final verification result is unqualified, or if the final verification result is acceptable, When a stylized pulse or a erase pulse is added more than a fixed number of times, the block can be set as a bad block.

如果判定為存在壞區塊(S104),則進而判定壞區塊內的一部分是否為壞頁(S106)。所謂壞區塊內的一部分為壞頁是指在壞區塊記憶體在壞頁與正常的頁面。是否為壞頁的判定與是否為壞區塊的判定同樣地也可由控制器150進行,也可由外部控制器進行。何種頁面成為壞頁的判定基準可任意地決定。例如,在程式化的最終驗證結果為不合格、或超過預期的程式化脈衝的次數時,可將該頁面設為壞頁即不良頁面。例如,如圖2(B)所示,判定區塊5的頁面Pi為壞頁。 If it is determined that there is a bad block (S104), it is further determined whether a part of the bad block is a bad page (S106). A part of the bad block is a bad page, which means that the bad block memory is on the bad page and the normal page. Whether or not the determination of the bad page is determined as to whether or not the bad page is determined may be performed by the controller 150 or by an external controller. The criterion for determining which page becomes a bad page can be arbitrarily determined. For example, when the stylized final verification result is unqualified or exceeds the expected number of stylized pulses, the page can be set to a bad page or a bad page. For example, as shown in FIG. 2(B), the page Pi of the determination block 5 is a bad page.

在判定為存在壞區塊且包含壞頁的情況下,控制器150將用以轉換壞區塊及壞區塊內的頁面的位址轉換資訊寫入至查找表152(S108)。另一方面,在判定為雖然存在壞區塊但不存在壞頁的情況下,控制器150將用以轉換壞區塊的位址轉換資訊寫入至查找表152(S110)。 In the case where it is determined that there is a bad block and a bad page is included, the controller 150 writes the address conversion information for converting the bad block and the page within the bad block to the lookup table 152 (S108). On the other hand, in a case where it is determined that there is a bad block but there is no bad page, the controller 150 writes the address conversion information for converting the bad block to the lookup table 152 (S110).

圖8(A)~圖8(B)是說明查找表152的位址轉換資訊的圖。在圖8(A)中,假定判定頁面Pi為不良頁面(壞頁)、且區塊5為壞區塊。在該情況下,區塊5的頁面Pi以外的頁面正常,期望繼續利用寫入至頁面Pi以外的頁面的資料。在一實施方式中,向頁面P0~頁面Pi-1的存取依然有效,即繼續進行向區塊5的存取,向頁面Pi~頁面Pn的存取被轉換為向備用區塊1004的對應的頁面Pi~頁面Pn的存取。 8(A) to 8(B) are diagrams for explaining address conversion information of the lookup table 152. In FIG. 8(A), it is assumed that the determination page Pi is a bad page (bad page) and the block 5 is a bad block. In this case, the page other than the page Pi of the block 5 is normal, and it is desirable to continue to use the material written to the page other than the page Pi. In one embodiment, the access to page P0~page Pi-1 is still valid, that is, access to block 5 is continued, and access to page Pi~page Pn is converted to correspondence to spare block 1004. Page Pi~ page Pn access.

圖8(B)表示查找表的位址轉換資訊的一例。查找表包含區塊轉換表,在區塊轉換表中規定有用以將壞區塊5轉換為備用區塊1004的位址資訊。進而,區塊轉換表中規定有作為追加資訊的旗標(flag)資訊。旗標資訊是識別壞區塊是否包含壞頁與正常的頁面的資訊。如果假設壞區塊包含壞頁與正常的頁面,則旗標設定為「1」,建立頁面轉換表。在壞區塊的所有頁面為壞頁時、或未判定出壞區塊包含壞頁時,旗標設定為「0」。在圖8(A)的例中,壞區塊5包含壞頁Pi及其以外的正常的頁面,因此旗標設定為「1」,對壞區塊5進而追加頁面轉換表。 Fig. 8(B) shows an example of address conversion information of the lookup table. The lookup table contains a block conversion table in which address information useful for converting the bad block 5 into the spare block 1004 is specified. Further, flag information as additional information is specified in the block conversion table. Flag information is information that identifies whether a bad block contains bad pages and normal pages. If it is assumed that the bad block contains a bad page and a normal page, the flag is set to "1" to establish a page conversion table. When all the pages of the bad block are bad pages, or when it is not determined that the bad block contains bad pages, the flag is set to "0". In the example of FIG. 8(A), the bad block 5 includes the bad page Pi and other normal pages, so the flag is set to "1", and the page conversion table is further added to the bad block 5.

頁面轉換表規定用以轉換壞區塊內的包含壞頁的頁面的位址轉換資訊、及用以轉換不包含壞頁的頁面的位址轉換資訊。在圖8(A)的例中,區塊5以壞頁Pi為分界而分割為正常的頁面P0~頁面Pi-1的頁面組A與包含壞頁的頁面Pi~頁面Pn的頁面組B。而且,設為向頁面組A的存取是直接在區塊5進行存取,即不轉換向頁面組A的位址。另一方面,向頁面組B的存取是以在區塊1004的對應的頁面進行存取的方式規定位址轉換資訊。 The page conversion table specifies address conversion information for converting pages containing bad pages in bad blocks, and address conversion information for converting pages that do not contain bad pages. In the example of FIG. 8(A), the block 5 is divided into the page group A of the normal page P0 to the page Pi-1 and the page group B of the page Pi~page Pn including the bad page by the bad page Pi as a boundary. Moreover, it is assumed that the access to the page group A is directly accessed in the block 5, that is, the address to the page group A is not converted. On the other hand, access to page group B specifies address translation information in a manner that is accessed on the corresponding page of block 1004.

如何分割區塊5的包含不良頁面者與不包含不良頁面者為任意。例如,也可設為僅不良頁面Pi轉換為區塊1004的頁面Pi,除此以外的正常的頁面P0~頁面Pi-1、頁面Pi+1~頁面Pn繼續在區塊5存取。但如圖8(B)的例般,將包含不良頁面Pi的連續頁面轉換為備用區塊的頁面有可能使向同一區塊的存取頻 率變多,從而在縮短存取時間方面有利。 How to divide the block 5 containing bad pages and not including bad pages is arbitrary. For example, it is also possible to set only the page Pi of the defective page Pi to be converted into the block 1004, and the normal pages P0 to P1 and the pages Pi+1 to Pn of the other pages continue to be accessed in the block 5. However, as in the example of FIG. 8(B), converting a page including a defective page Pi into a spare block may cause access to the same block. The rate is increased, which is advantageous in terms of shortening the access time.

其次,參照圖9的流程圖說明執行壞區塊管理後的讀取、程式化及抹除操作。如果自外部控制器對快閃記憶體100發送讀取、程式化(寫入)、抹除等命令,則控制器150對所接收到的命令解碼,並判別其操作(S200)。控制器150在為讀取及程式化操作時,判定所輸入的行位址的區塊位址是否與壞區塊位址一致(S202)。該判定是參照查找表152。 Next, the reading, stylization, and erasing operations after the execution of the bad block management will be described with reference to the flowchart of FIG. If a command to read, program (write), erase, etc. is sent from the external controller to the flash memory 100, the controller 150 decodes the received command and discriminates its operation (S200). When the controller 150 reads and programs, it determines whether the block address of the input row address matches the bad block address (S202). This determination is a reference lookup table 152.

在與壞區塊一致時,控制器150判定壞區塊的一部分是否包含壞頁(S204)。在該判定中,查找表的旗標參照「1」。在判定為在一部分包含壞頁時,控制器150參照壞區塊的頁面轉換表,進行所輸入的頁面位址的轉換(S206)。例如,如果為圖8(A)~圖8(B)的例,則如果所輸入的頁面位址與區塊5的P0~Pi-1相符,就以按照頁面轉換表而在區塊5的頁面組A存取的方式轉換位址,如果與頁面Pi~頁面Pn相符,就以在區塊1004的頁面組B存取的方式轉換位址。 When coincident with the bad block, the controller 150 determines whether a part of the bad block contains a bad page (S204). In this determination, the flag of the lookup table refers to "1". When it is determined that a part of the bad page is included, the controller 150 refers to the page conversion table of the bad block to perform conversion of the input page address (S206). For example, if it is the example of FIG. 8(A) to FIG. 8(B), if the input page address matches the P0~Pi-1 of the block 5, it is in the block 5 according to the page conversion table. The page group A accesses the mode conversion address. If it matches the page Pi~ page Pn, the address is translated in the manner of accessing the page group B of the block 1004.

在判定為壞區塊不包含壞頁的情況下,即在旗標為「0」的情況下,按照區塊轉換表將所輸入的區塊位址轉換為備用區塊的位址(S208)。在所輸入的區塊位址與壞區塊位址不一致的情況下(S202),不轉換所輸入的區塊位址而直接使用(S210)。所輸入的位址或所轉換的位址提供至字線選擇電路160,字線選擇電路160選擇區塊及頁面(S220)。由此,可繼續利用存儲在壞區塊內的正常的頁面的資料。 When it is determined that the bad block does not contain a bad page, that is, if the flag is "0", the input block address is converted into the address of the spare block according to the block conversion table (S208). . In the case where the input block address does not coincide with the bad block address (S202), the input block address is not converted and is directly used (S210). The input address or the converted address is supplied to the word line selection circuit 160, and the word line selection circuit 160 selects the block and the page (S220). Thereby, it is possible to continue to utilize the data of the normal page stored in the bad block.

另一方面,在進行抹除操作時(S200),控制器150判定所輸入的區塊位址與壞區塊位址是否一致(S212),在與壞區塊位址相符的情況下,按照區塊轉換表將區塊位址轉換為備用區塊的位址(S214)。在圖8(A)~圖8(B)的例中,如果所輸入的區塊位址為區塊5,則轉換為區塊1004的位址。 On the other hand, when performing the erase operation (S200), the controller 150 determines whether the input block address and the bad block address match (S212), and if it matches the bad block address, according to The block conversion table converts the block address to the address of the spare block (S214). In the example of FIGS. 8(A) to 8(B), if the input block address is block 5, it is converted to the address of the block 1004.

如果所輸入的區塊位址與壞區塊位址不相符(S212),則直接使用所輸入的區塊位址。而且,字線選擇電路160按照所輸入的區塊位址或轉換的區塊位址來選擇區塊(S220)。在所輸入的區塊位址與壞區塊相符時,至少抹除備用區塊,但也可與此同時來抹除壞區塊。 If the input block address does not match the bad block address (S212), the input block address is directly used. Moreover, the word line selection circuit 160 selects a block in accordance with the input block address or the converted block address (S220). When the input block address matches the bad block, at least the spare block is erased, but the bad block can also be erased at the same time.

其次,參照圖10的流程圖對本實施例的重組及查找表的更新進行說明。如果響應於自外部控制器發送的命令、或自身搭載的控制序列或控制程式,而判別出重組的命令(S300),則控制器150執行重組(S302)。如圖8(A)~圖8(B)所示,在壞區塊中包含壞頁與正常的頁面時,存在包含頁面組A的區塊5與包含頁面組B的區塊1004這兩個區塊。重組使片斷化為該兩個區塊的頁面資料整合或彙集為一個區塊。 Next, the reorganization of the present embodiment and the update of the lookup table will be described with reference to the flowchart of FIG. If the reorganized command is discriminated (S300) in response to a command transmitted from the external controller or a control sequence or a control program mounted thereon, the controller 150 performs reorganization (S302). As shown in FIGS. 8(A) to 8(B), when a bad page and a normal page are included in the bad block, there are two blocks including the page group A and the block 100 including the page group B. Block. The reorganization causes the page data fragmented into the two blocks to be integrated or aggregated into one block.

如圖11(A)所示,控制器150將區塊5的頁面組A與區塊1004的頁面組B整合為空閒的備用區塊、例如區塊1006。區塊5的頁面組A的資料被程式化在區塊1006的對應的各頁面,區塊1004的頁面組B的資料被程式化在區塊1006的對應的各頁面。由此,兩個區塊5及區塊1004整合為一個區塊1006。優選為, 在執行重組後抹除區塊1004,使區塊1004為空閒的狀態。 As shown in FIG. 11(A), the controller 150 integrates the page group A of the block 5 with the page group B of the block 1004 into an idle spare block, such as the block 1006. The data of the page group A of the block 5 is programmed in the corresponding pages of the block 1006, and the data of the page group B of the block 1004 is programmed in the corresponding pages of the block 1006. Thus, the two blocks 5 and blocks 1004 are integrated into one block 1006. Preferably, Block 1004 is erased after the reorganization is performed, leaving block 1004 in an idle state.

然後,控制器150更新查找表152的內容(S308)。即,控制器150以反映重組的結果的方式更新查找表的位址轉換資訊。具體而言,如圖11(B)所示,以壞區塊5的位址轉換為備用區塊1006的位址的方式重寫位址轉換資訊,同時旗標設定為「0」。伴隨於此,抹除壞區塊5的頁面轉換表。 Then, the controller 150 updates the contents of the lookup table 152 (S308). That is, the controller 150 updates the address translation information of the lookup table in a manner reflecting the result of the reorganization. Specifically, as shown in FIG. 11(B), the address conversion information is rewritten in such a manner that the address of the bad block 5 is converted into the address of the spare block 1006, and the flag is set to "0". Along with this, the page conversion table of the bad block 5 is erased.

此外,控制器150在已執行抹除操作時(S304),判定 所選擇的區塊是否為壞區塊(S306)。壞區塊的抹除是指不需要存儲在壞區塊的正常的頁面的資料。例如,不需要圖8(A)所示的區塊5的頁面組A與區塊1004的頁面組B的資料,在頁面讀取或頁面程式化時不需要在頁面組A及頁面組B存取。因此,控制器150在對壞區塊5設定有旗標「1」的情況下,以將旗標重寫為「0」且抹除區塊5的頁面轉換表的方式更新查找表152(S308)。 Further, the controller 150 determines when the erase operation has been performed (S304) Whether the selected block is a bad block (S306). The erasing of bad blocks refers to the fact that there is no need to store the normal pages of bad blocks. For example, the page group A of the block 5 and the page group B of the block 1004 shown in FIG. 8(A) are not required, and the page group A and the page group B do not need to be stored in the page reading or page staging. take. Therefore, when the flag 150 is set to the bad block 5, the controller 150 updates the lookup table 152 by rewriting the flag to "0" and erasing the page conversion table of the block 5 (S308). ).

通過以此方式執行重組,可減少跨及區塊間的存取,從而可提高存取速度。進而,通過增加備用記憶體區域的空白區塊,可使壞區塊管理的效率提高。 By performing reorganization in this manner, access across blocks can be reduced, thereby increasing access speed. Furthermore, by increasing the number of blank blocks in the spare memory area, the efficiency of bad block management can be improved.

在所述實施例中,例示了記憶體單元存儲二進位資料的快閃記憶體,但本發明也可應用在記憶體單元存儲多進制資料的快閃記憶體。進而,在所述實施例中,示有控制器150進行壞區塊的管理的例,但壞區塊的管理也可由字線選擇電路160進行,也可與控制器150分開地設置壞區塊管理部。進而,查找表152或管理記憶體154也可利用記憶體陣列110的一部分記憶體區 域,控制器150也可在其內部包含查找表及管理記憶體。 In the embodiment, the flash memory for storing the binary data in the memory unit is exemplified, but the present invention is also applicable to the flash memory in which the memory unit stores the multi-bit data. Further, in the above embodiment, an example in which the controller 150 performs management of bad blocks is shown, but management of bad blocks may be performed by the word line selection circuit 160, and bad blocks may be provided separately from the controller 150. Management. Further, the lookup table 152 or the management memory 154 can also utilize a portion of the memory region of the memory array 110. The domain 150 can also include a lookup table and management memory therein.

對本發明的優選實施方式進行了詳細敍述,但本發明並不限定於特定的實施方式,可在申請專利範圍中所記載的本發明的主旨的範圍內進行各種變形、變更。 The preferred embodiments of the present invention have been described in detail, but the present invention is not limited to the specific embodiments, and various modifications and changes can be made within the scope of the invention as described in the appended claims.

100‧‧‧快閃記憶體 100‧‧‧flash memory

110‧‧‧記憶體陣列 110‧‧‧Memory array

120‧‧‧輸入輸出緩衝器 120‧‧‧Input and output buffers

130‧‧‧位址暫存器 130‧‧‧ address register

140‧‧‧資料暫存器 140‧‧‧data register

150‧‧‧控制器 150‧‧‧ Controller

152‧‧‧查找表 152‧‧‧ lookup table

154‧‧‧管理記憶體 154‧‧‧Manage memory

160‧‧‧字線選擇電路 160‧‧‧Word line selection circuit

170‧‧‧頁面緩衝器/感測電路 170‧‧‧Page Buffer/Sensor Circuit

180‧‧‧列選擇電路 180‧‧‧ column selection circuit

190‧‧‧內部電壓產生電路 190‧‧‧Internal voltage generation circuit

Ax‧‧‧行位址資訊 Ax‧‧‧ address information

Ay‧‧‧列位址資訊 Ay‧‧‧Listing address information

BLK(0)、BLK(1)、…、BLK(m)‧‧‧區塊 BLK (0), BLK (1), ..., BLK (m) ‧ ‧ blocks

C1、C2、C3‧‧‧控制信號 C1, C2, C3‧‧‧ control signals

Vers‧‧‧抹除電壓 Vers‧‧‧ erase voltage

Vpass‧‧‧導通電壓 Vpass‧‧‧ turn-on voltage

Vprog‧‧‧程式化電壓 Vprog‧‧‧ stylized voltage

Vread‧‧‧讀取電壓 Vread‧‧‧ reading voltage

Claims (14)

一種壞區塊管理方法,其是反及型快閃記憶體的壞區塊管理方法,且包括如下步驟:判定在記憶體陣列內是否存在壞區塊;在判定為存在所述壞區塊時,判定在所述壞區塊內的一部分是否存在壞頁;以及在判定為在所述壞區塊內的一部分存在所述壞頁時,設定用以轉換所述壞區塊與所述壞區塊內的頁面的位址轉換資訊,其中所述設定的步驟是以所述壞頁為分界而將所述壞區塊分割為兩個頁面組,且設定用以將包含所述壞頁的所述頁面組轉換為備用區塊的對應的頁面的所述位址轉換資訊。 A bad block management method, which is a bad block management method of a reverse flash memory, and includes the following steps: determining whether there is a bad block in the memory array; when it is determined that the bad block exists Determining whether a portion of the bad block has a bad page; and determining that the bad block and the bad area are converted when a portion of the bad block is present in the bad block Address translation information of a page in the block, wherein the step of setting is to divide the bad block into two page groups by using the bad page as a boundary, and setting the location for including the bad page The page group is converted into the address translation information of the corresponding page of the spare block. 如申請專利範圍第1項所述的壞區塊管理方法,其中所述設定的步驟是設定用以將包含所述壞頁的第一頁面轉換為所述備用區塊內的對應的頁面的所述位址轉換資訊,且以不包含所述壞頁的第二頁面在所述壞區塊存取的方式設定所述位址轉換資訊。 The bad block management method according to claim 1, wherein the setting step is to set a page for converting a first page including the bad page into a corresponding page in the spare block. Address translation information is set, and the address translation information is set in a manner that the second page that does not include the bad page is accessed in the bad block. 如申請專利範圍第1項或第2項所述的壞區塊管理方法,其中所述設定的步驟將所述位址轉換資訊存儲在可重寫的非揮發性記憶體。 The bad block management method according to claim 1 or 2, wherein the setting step stores the address conversion information in a rewritable non-volatile memory. 如申請專利範圍第1項或第2項所述的壞區塊管理方法,其中所述壞區塊管理方法更包含將所述壞區塊與所述備用區塊整合為一個區塊的步驟。 The bad block management method according to claim 1 or 2, wherein the bad block management method further comprises the step of integrating the bad block and the spare block into one block. 如申請專利範圍第4項所述的壞區塊管理方法,其中所述 整合的步驟響應於進行所述壞區塊的抹除而執行。 A bad block management method as described in claim 4, wherein the method The step of integrating is performed in response to performing the erasure of the bad block. 如申請專利範圍第4項所述的壞區塊管理方法,其中所述整合的步驟通過執行命令而執行。 The bad block management method according to claim 4, wherein the step of integrating is performed by executing a command. 一種壞區塊管理程式,其是反及型快閃記憶體所執行的壞區塊管理程式,且包括如下步驟:判定在記憶體陣列內是否存在壞區塊;在判定為存在所述壞區塊時,判定在所述壞區塊內的一部分是否存在壞頁;以及在判定為在所述壞區塊內的一部分存在所述壞頁時,設定用以轉換所述壞區塊與所述壞區塊內的頁面的位址轉換資訊,其中所述設定的步驟是以所述壞頁為分界而將所述壞區塊分割為兩個頁面組,設定用以將包含所述壞頁的所述頁面組轉換為備用區塊的對應的頁面的所述位址轉換資訊。 A bad block management program is a bad block management program executed by the inverse type flash memory, and includes the following steps: determining whether there is a bad block in the memory array; determining that the bad area exists At the time of the block, determining whether a portion of the bad block has a bad page; and determining that the bad block is to be converted in a part of the bad block, The address translation information of the page in the bad block, wherein the step of setting is to divide the bad block into two page groups by using the bad page as a boundary, and set to be used to include the bad page. The page group is converted into the address translation information of a corresponding page of the spare block. 一種快閃記憶體,包括:記憶體陣列,包含多個區塊;存儲部件,存儲對所述記憶體陣列進行程式化及抹除時的狀態;第一判定部件,基於所述狀態而判定在所述記憶體陣列內是否存在壞區塊;第二判定部件,在判定為存在所述壞區塊時,基於所述狀態而判定在所述壞區塊內的一部分是否存在壞頁;以及設定部件,在判定為在所述壞區塊內的一部分存在所述壞頁 時,設定用以轉換所述壞區塊與所述壞區塊內的頁面的位址轉換資訊,其中所述存儲部件以所述壞頁為分界而將所述壞區塊分割為兩個頁面組,設定用以將包含所述壞頁的所述頁面組轉換為備用區塊的對應的頁面的所述位址轉換資訊。 A flash memory comprising: a memory array comprising a plurality of blocks; a storage component storing a state when the memory array is programmed and erased; and a first determining component determining based on the state Whether there is a bad block in the memory array; when determining that the bad block exists, the second determining unit determines whether a part of the bad block has a bad page based on the state; and setting a component that determines that the bad page exists in a portion of the bad block And setting address conversion information for converting the bad block and the page in the bad block, wherein the storage component divides the bad block into two pages by using the bad page as a boundary a group, configured to convert the page group including the bad page into the address translation information of a corresponding page of the spare block. 如申請專利範圍第8項所述的快閃記憶體,其中所述設定部件設定用以將包含所述壞頁的第一頁面轉換為所述備用區塊內的對應的頁面的所述位址轉換資訊,且以不包含所述壞頁的第二頁面在所述壞區塊存取的方式設定所述位址轉換資訊。 The flash memory of claim 8, wherein the setting component is configured to convert the first page including the bad page into the address of a corresponding page in the spare block. Converting the information, and setting the address translation information in a manner that the second page that does not include the bad page is accessed in the bad block. 如申請專利範圍第8項所述的快閃記憶體,其中所述快閃記憶體更包括:輸入部件,輸入位址資訊;第三判定部件,判定來自所述輸入部件的所述位址資訊是否與所述壞區塊一致;以及轉換部件,在判定為與所述壞區塊一致時,按照所述位址轉換資訊轉換所述位址資訊。 The flash memory of claim 8, wherein the flash memory further comprises: an input component, input address information; and a third determining component, determining the address information from the input component Whether it is consistent with the bad block; and the conversion component converts the address information according to the address conversion information when it is determined to be consistent with the bad block. 如申請專利範圍第10項所述的快閃記憶體,其中所述快閃記憶體更包括判定來自所述輸入部件的所述位址資訊是否與所述壞頁相符的第四判定部件,在判定為與所述壞頁一致時,所述轉換部件按照所述位址轉換資訊來轉換所述位址資訊。 The flash memory of claim 10, wherein the flash memory further comprises a fourth determining component that determines whether the address information from the input component matches the bad page, When it is determined that the bad page is consistent, the conversion unit converts the address information according to the address conversion information. 如申請專利範圍第11項所述的快閃記憶體,其中所述轉換部件在通過所述第四判定部件判定為所述位址資訊與所述壞頁 不相符時,所述轉換部件不按照所述位址轉換資訊對所述位址資訊進行位址轉換。 The flash memory according to claim 11, wherein the conversion unit determines, by the fourth determining unit, the address information and the bad page If there is no match, the conversion component does not perform address translation on the address information according to the address conversion information. 如申請專利範圍第8項至第12項中任一項所述的快閃記憶體,其中所述快閃記憶體更包括將所述壞區塊與所述備用區塊整合為一個區塊的整合部件。 The flash memory according to any one of claims 8 to 12, wherein the flash memory further comprises integrating the bad block and the spare block into one block. Integrate parts. 如申請專利範圍第13項所述的快閃記憶體,其中所述整合部件響應於進行所述壞區塊的抹除而執行。 The flash memory of claim 13, wherein the integrated component is executed in response to performing erasing of the bad block.
TW103112340A 2014-04-02 2014-04-02 Flash memory, management method and management program of bad block TWI530957B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW103112340A TWI530957B (en) 2014-04-02 2014-04-02 Flash memory, management method and management program of bad block

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103112340A TWI530957B (en) 2014-04-02 2014-04-02 Flash memory, management method and management program of bad block

Publications (2)

Publication Number Publication Date
TW201539463A TW201539463A (en) 2015-10-16
TWI530957B true TWI530957B (en) 2016-04-21

Family

ID=54851442

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103112340A TWI530957B (en) 2014-04-02 2014-04-02 Flash memory, management method and management program of bad block

Country Status (1)

Country Link
TW (1) TWI530957B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10340025B2 (en) 2017-03-03 2019-07-02 Silicon Motion, Inc. Data-storage device and block-releasing method
TWI769124B (en) * 2021-03-05 2022-06-21 大陸商深圳三地一芯電子有限責任公司 A detection method, system, intelligent terminal and computer-readable storage medium applied to Flash intelligent analysis and detection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10340025B2 (en) 2017-03-03 2019-07-02 Silicon Motion, Inc. Data-storage device and block-releasing method
TWI687933B (en) * 2017-03-03 2020-03-11 慧榮科技股份有限公司 Data storage device and block releasing method thereof
TWI769124B (en) * 2021-03-05 2022-06-21 大陸商深圳三地一芯電子有限責任公司 A detection method, system, intelligent terminal and computer-readable storage medium applied to Flash intelligent analysis and detection

Also Published As

Publication number Publication date
TW201539463A (en) 2015-10-16

Similar Documents

Publication Publication Date Title
KR100926195B1 (en) Non-volatile semiconductor memory device
US9070460B2 (en) Non-volatile semiconductor memory
US6661706B2 (en) Semiconductor storage device having page copying
US7589998B2 (en) Non-volatile memory device and method of operation therefor
JP4270994B2 (en) Nonvolatile semiconductor memory device
JP2008084471A (en) Semiconductor memory device
JP2009026447A (en) MEMORY DEVICE PROGRAMMING SELECTION TRANSISTOR, PROGRAM METHOD THEREOF, AND MEMORY SYSTEM USING THE SAME
KR100932367B1 (en) Soft Program Method for Nonvolatile Memory Devices
JP2012027979A (en) Semiconductor memory
TWI549134B (en) Nand type flash memory and programming method thereof
JP2017097927A (en) NAND flash memory and programming method thereof
US20060215454A1 (en) Nonvolatile memory device and method for storing status information using multiple strings
CN111768808B (en) Semiconductor memory device with a plurality of memory cells
JP5731622B2 (en) Flash memory, bad block management method and management program
CN105023608B (en) Flash memory and management method of bad block
TWI530957B (en) Flash memory, management method and management program of bad block
JP4040215B2 (en) Control method for nonvolatile semiconductor memory
JP5280027B2 (en) Semiconductor device and control method thereof
US20100046293A1 (en) Memory cell block of nonvolatile memory device and method of managing supplementary information
JP2010218623A (en) Nonvolatile semiconductor storage device
JP2004014052A (en) Nonvolatile semiconductor memory device
TWI523036B (en) Semiconductor memory device
JP2006209963A (en) Semiconductor memory device
JP2010160866A (en) Semiconductor memory device