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

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

Info

Publication number
JP5731622B2
JP5731622B2 JP2013244191A JP2013244191A JP5731622B2 JP 5731622 B2 JP5731622 B2 JP 5731622B2 JP 2013244191 A JP2013244191 A JP 2013244191A JP 2013244191 A JP2013244191 A JP 2013244191A JP 5731622 B2 JP5731622 B2 JP 5731622B2
Authority
JP
Japan
Prior art keywords
bad
page
block
bad block
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013244191A
Other languages
Japanese (ja)
Other versions
JP2015103093A (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 JP2013244191A priority Critical patent/JP5731622B2/en
Publication of JP2015103093A publication Critical patent/JP2015103093A/en
Application granted granted Critical
Publication of JP5731622B2 publication Critical patent/JP5731622B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、NAND型フラッシュメモリに関し、特にバッドブロックの管理方法に関する。   The present invention relates to a NAND flash memory, and more particularly to a bad block management method.

フラッシュメモリの製造段階で発生した欠陥素子は、冗長スキームによって冗長領域のメモリ素子に置換することで救済される。他方、出荷段階では正常と判定されたメモリ素子であっても、プログラムや消去が繰り返されることで不良になるものもある。つまり、一定回数のプログラムパルスが印加されても、そのしきい値が所望の分布幅内に収まらず、また一定回数の消去パルスが印加されても、そのしきい値が所望の分布幅内に収まらないメモリ素子が発生する。フラッシュメモリには、このような不良のメモリ素子を含むブロックをバッドブロックと認定し、バッドブロックを他の正常なブロックにブロック単位で置換する、いわゆるバッドブロック管理が採用されている(特許文献1)。   A defective element generated in the manufacturing stage of the flash memory is relieved by replacing it with a memory element in a redundant area according to a redundancy scheme. On the other hand, even memory elements that are determined to be normal at the shipping stage may become defective due to repeated programming and erasing. In other words, even if a certain number of program pulses are applied, the threshold does not fall within the desired distribution width, and even if a certain number of erase pulses are applied, the threshold falls within the desired distribution width. A memory element that does not fit is generated. The flash memory employs so-called bad block management in which a block including such a defective memory element is recognized as a bad block, and the bad block is replaced with another normal block in block units (Patent Document 1). ).

特開2013−145545号公報JP2013-145545A

図1に、従来のバッドブロック管理の動作フローを示す。フラッシュメモリにおいて、ページプログラムが行われるとき、選択ページのワードラインにプログラムパルスが印加され、次いでメモリセルのしきい値を判定すべくベリファイが行われ、プログラムが不十分であれば、前よりもΔVpgmだけ高いプログラムパルスが印加される。また、選択ブロックの消去が行われるとき、ウエルまたは基板に消去パルスが印加され、次いでベリファイが行われ、消去が不十分であれば、前よりもΔVersだけ高い消去パルスが印加される(S10)。このようなプログラムは、ISPP(incremental Step Pulse Program)方式、消去は、ISPE(Incremental Step Pulse Erase)方式として知られている。   FIG. 1 shows an operation flow of conventional bad block management. In flash memory, when a page program is performed, a program pulse is applied to the word line of the selected page, and then verification is performed to determine the threshold value of the memory cell. A program pulse higher by ΔVpgm is applied. Further, when the selected block is erased, an erase pulse is applied to the well or the substrate, and then verification is performed. If the erase is insufficient, an erase pulse higher by ΔVers than before is applied (S10). . Such a program is known as an ISPP (Incremental Step Pulse Erase) method, and erasure is known as an ISPE (Incremental Step Pulse Erase) method.

フラッシュメモリには、プログラムや消去が行われたときのステータスが管理メモリに保持される(S12)。ステータスには、例えば、所定回数のプログラムパルスの印加によって選択ページのベリファイが不合格であったことや、所定回数の消去パルスの印加によって選択ブロックのベリファイが不合格であったこと、あるいはベリファイの最終的結果が不合格であったこと等が記憶される。   In the flash memory, the status when the program or erasure is performed is held in the management memory (S12). The status includes, for example, that the verification of the selected page has failed due to application of a predetermined number of program pulses, that the verification of the selected block has failed due to application of a predetermined number of erase pulses, or It is stored that the final result was a failure.

管理メモリに記憶されたステータスは、バッドブロックの有無の判定に利用される(S14)。バッドブロックの有無の判定は、例えば、外部コントローラがフラッシュメモリにコマンドを送信することによって実行され、あるいはフラッシュメモリ自身に搭載されたプログラムによって実行される。バッドブロックがあると判定されると、バッドブロック管理部は、バッドブロックへのアクセスが正常なスペアブロックへのアクセスとなるようにアドレス変換を行う(S16)。   The status stored in the management memory is used to determine whether there is a bad block (S14). The presence / absence of a bad block is determined by, for example, an external controller sending a command to the flash memory, or by a program installed in the flash memory itself. If it is determined that there is a bad block, the bad block management unit performs address conversion so that access to the bad block is access to a normal spare block (S16).

図2は、従来のバッドブロック管理の詳細を説明する図である。フラッシュメモリは、バッドブロックの管理を行うバッドブロック管理部10と、バッドブロックを正常なスペアブロックにアドレス変換するためのアドレス変換情報を記憶したルックアップテーブル20と、行アドレス情報に基づきブロックの選択およびページの選択を行うワード線選択回路30と、複数のブロックを含むメモリアレイ40とを含んでいる。メモリアレイ40のM1は、ユーザー使用のために割り当てられたメモリ領域であり、SBは、バッドブロックを置換するために用意されたスペア領域である。   FIG. 2 is a diagram for explaining the details of the conventional bad block management. The flash memory has a bad block management unit 10 that manages bad blocks, a lookup table 20 that stores address conversion information for converting a bad block into a normal spare block, and a block selection based on row address information. And a word line selection circuit 30 for selecting a page and a memory array 40 including a plurality of blocks. M1 of the memory array 40 is a memory area allocated for user use, and SB is a spare area prepared for replacing bad blocks.

バッドブロック管理部10は、外部からのコマンドまたは自身が搭載するプログラムに応じて、図1のステップS14で説明したようなバッドブロックの有無を判定する。例えば、図2(B)に示すように、ブロック5のページPiのプログラム(書込み)が行われたが、最終的にベリファイで不合格になったとする。このページPiのプログラム不良のステータスは、図示しない管理メモリに記憶される。   The bad block management unit 10 determines the presence or absence of a bad block as described in step S14 in FIG. 1 according to an external command or a program installed in the bad block management unit 10. For example, as shown in FIG. 2B, it is assumed that the program (write) of the page Pi of the block 5 has been performed, but the verification has finally failed. The program failure status of this page Pi is stored in a management memory (not shown).

バッドブロック管理部10は、管理メモリを参照し、ブロック5が不良ページPiを含むのでバッドブロックと判定すると、ブロック5をスペア領域SB内の空き状態のブロック、例えばブロック1004に割り当てる。このとき、バッドブロック管理部10は、バッドブロック5へのアクセスをスペアブロック1004にアドレス変換するためのアドレス変換情報をルックアップテーブル20に書込む。図3は、ルックアップテーブルの一例を示す図である。ルックアップテーブルには、バッドブロック5のアドレスと、これを置換するスペアブロック1004のアドレスとが関連付けして記憶される。通常、外部コントローラからフラッシュメモリには論理アドレスが提供されるので、ルックアップテーブルには、バッドブロック5とスペアブロック1004の論理アドレスが記憶される。   If the bad block management unit 10 refers to the management memory and determines that the block 5 is a bad block because the block 5 includes the defective page Pi, the bad block management unit 10 allocates the block 5 to an empty block in the spare area SB, for example, the block 1004. At this time, the bad block management unit 10 writes the address conversion information for converting the access to the bad block 5 to the spare block 1004 in the lookup table 20. FIG. 3 is a diagram illustrating an example of a lookup table. In the lookup table, the address of the bad block 5 and the address of the spare block 1004 that replaces the address are stored in association with each other. Usually, since the logical address is provided from the external controller to the flash memory, the logical addresses of the bad block 5 and the spare block 1004 are 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 or not the input row address matches the address of the bad block. The input row address is converted into a spare block address, which is converted into a physical address, and a block selection signal BSEL for selecting the block 1004 is output. Further, if it is a read or program (write) operation, a page in the selected block 1004 is selected.

しかしながら、従来のバッドブロックの管理方法には、次のような課題がある。図2(B)に示すように、ページPiの不良(例えば、プログラム動作のベリファイで不合格)が原因でブロック5がバッドブロックと判定され、ブロック5へのアクセスがブロック1004へ変換されてしまうと、ブロック5のページP0〜Pi−1、Pi+1〜Pnに既に書き込まれたデータを利用できなくなってしまう。仮に、このようなデータを利用するには、バットブロック管理方法とは別のファイル管理システムを実行させ、ブロック5のページP0〜Pi−1、Pi+1〜Pnをブロック1004へコピーをしなければならず、煩雑な処理を必要としていた。   However, the conventional bad block management method has the following problems. As shown in FIG. 2B, the block 5 is determined to be a bad block due to a failure of the page Pi (for example, failure in verifying the program operation), and access to the block 5 is converted to the block 1004. Then, the data already written in the pages P0 to Pi-1 and Pi + 1 to Pn of the block 5 cannot be used. To use such data, a file management system different from the bat block management method must be executed, and pages P0 to Pi-1 and Pi + 1 to Pn of block 5 must be copied to block 1004. Therefore, complicated processing was required.

本発明は、従来のバッドブロック管理方法の課題を解決したフラッシュメモリ、バッドブロックの管理方法および管理プログラムを提供することを目的とする。   An object of the present invention is to provide a flash memory, a bad block management method, and a management program that solve the problems of the conventional bad block management method.

本発明に係るNAND型フラッシュメモリのバッドブロック管理方法は、メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有する。   According to the NAND flash memory bad block management method of the present invention, a step of determining whether or not a bad block exists in a memory array, and when it is determined that a bad block exists, a part of the bad block is determined. A step of determining whether or not there is a bad page, and a step of setting address conversion information for converting a bad block and a page in the bad block when it is determined that there is a bad page in a part of the bad block And have.

好ましくは前記設定するステップは、バッドページを含む第1のページをスペアブロック内の対応するページに変換するためのアドレス変換情報を設定し、かつバッドページを含まない第2のページがバッドブロックをアクセスされるようにアドレス変換情報を設定する。好ましくは前記設定するステップは、バッドページを境界にバッドブロックを2つのページグループに分割し、かつバッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する。好ましくは前記設定するステップは、書換え可能な不揮発性記憶部にアドレス変換情報を記憶する。好ましくはバッドブロック管理方法はさらに、バッドブロックとスペアブロックとを1つのブロックに統合するステップを含む。好ましくは前記統合するステップは、バッドブロックの消去が行われたことに応答して実行される。好ましくは前記統合するステップは、コマンドを実行することにより実行される。   Preferably, the setting step sets address conversion information for converting a first page including a bad page into a corresponding page in a spare block, and a second page not including a bad page sets a bad block. Set address translation information to be accessed. Preferably, the setting step sets address conversion information for dividing a bad block into two page groups with a bad page as a boundary, and converting a page group including the bad page into a corresponding page of a spare block. Preferably, the setting step stores the address conversion information in a rewritable nonvolatile storage unit. Preferably, the bad block management method further includes a step of integrating the bad block and the spare block into one block. Preferably, the step of integrating is executed in response to the erasing of the bad block. Preferably, the step of integrating is performed by executing a command.

本発明に係るバッドブロック管理プログラムは、NAND型フラッシュメモリが実行するものであって、メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有する   The bad block management program according to the present invention is executed by the NAND flash memory. When it is determined that there is a bad block in the memory array, and when it is determined that there is a bad block, A step for determining whether or not there is a bad page in a part of the bad block, and for determining whether there is a bad page in a part of the bad block and for converting the bad block and the page in the bad block. Setting address translation information

本発明に係るNAND型フラッシュメモリは、複数のブロックを含むメモリアレイと、前記メモリアレイへのプログラムおよび消去が行われたときのステータスを記憶する記憶手段と、前記ステータスに基づきメモリアレイ内にバッドブロックが存在するか否かを判定する第1の判定手段と、バッドブロックが存在すると判定されたとき、前記ステータスに基づきバッドブロック内の一部にバッドページがあるか否かを判定する第2の判定手段と、バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定する設定手段とを有する。   A NAND flash memory according to the present invention includes a memory array including a plurality of blocks, storage means for storing a status when programming and erasing are performed on the memory array, and a pad in the memory array based on the status. A first determination unit that determines whether or not a block exists; and a second determination unit that determines whether or not there is a bad page based on the status when it is determined that a bad block exists. And a setting unit that sets address conversion information for converting a bad block and a page in the bad block when it is determined that there is a bad page in a part of the bad block.

好ましくはフラッシュメモリはさらに、アドレス情報を入力する入力手段と、前記入力手段からのアドレス情報がバッドブロックに一致するか否かを判定する第3の判定手段と、バッドブロックに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する変換手段とを有する。好ましくはフラッシュメモリはさらに、前記入力手段からのアドレス情報がバッドページに該当するか否かを判定する第4の判定手段とを有し、前記変換手段は、バッドページに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する。好ましくは前記変換手段は、第4の判定手段によってアドレス情報がバッドページに該当しないと判定されたとき、前記変換手段は、前記アドレス情報を前記アドレス変換情報に従いアドレス変換しない。   Preferably, the flash memory is further determined to match the bad block, input means for inputting address information, third determination means for determining whether the address information from the input means matches the bad block, and And converting means for converting the address information in accordance with the address conversion information. Preferably, the flash memory further includes fourth determination means for determining whether the address information from the input means corresponds to a bad page, and when the conversion means is determined to match the bad page The address information is converted according to the address conversion information. Preferably, the conversion means does not convert the address information according to the address conversion information when the fourth determination means determines that the address information does not correspond to a bad page.

本発明によれば、バッドブロック内の一部がバッドページであると判定された場合に、バッドブロック内のページを変換するためのアドレス変換情報を設定するようにしたので、バッドブロック内のバッドページでないページのデータを継続して利用することができる。   According to the present invention, when 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. Data of pages that are not pages can be used continuously.

従来のフラッシュメモリのバッドブロック管理の動作フローを示す図である。It is a figure which shows the operation | movement flow of the bad block management of the conventional flash memory. 従来のバッドブロック管理を説明する図である。It is a figure explaining the conventional bad block management. 従来のバッドブロック管理に用いられるルックアップテーブルの一例を示す図である。It is a figure which shows an example of the look-up table used for the conventional bad block management. 本発明の実施例に係るフラッシュメモリの一構成例を示すブロック図である。It is a block diagram which shows one structural example of the flash memory based on the Example of this invention. 本発明の実施例に係るメモリセルアレイのNANDストリングの構成を示す回路図である。3 is a circuit diagram showing a configuration of a NAND string of a memory cell array according to an embodiment of the present invention. FIG. 本実施例に係るフラッシュメモリのプログラム時に各部に印加される電圧の一例を示す図である。It is a figure which shows an example of the voltage applied to each part at the time of programming of the flash memory which concerns on a present Example. 本実施例に係るフラッシュメモリのバッドブロック管理におけるLUTの作成動作を説明するフローチャートである。12 is a flowchart for explaining an LUT creation operation in bad block management of the flash memory according to the embodiment. 本実施例のLUTの一例を示す図である。It is a figure which shows an example of LUT of a present Example. 本実施例に係るフラッシュメモリの動作を説明するフローチャートである。4 is a flowchart for explaining the operation of the flash memory according to the embodiment. 本実施例に係るデフラグメンテーションの動作を説明するフローチャートである。It is a flowchart explaining the operation | movement of the defragmentation which concerns on a present Example. 本実施例に係るデフラグメンテーションおよびLUTの更新の例を説明する図である。It is a figure explaining the example of the defragmentation and update of LUT which concern on a present Example.

次に、本発明の実施の形態について図面を参照して詳細に説明する。本発明の好ましい形態では、NAND型のフラッシュメモリを例示する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは異なることに留意すべきである。   Next, embodiments of the present invention will be described in detail with reference to the drawings. In a preferred embodiment of the present invention, a NAND flash memory is exemplified. It should be noted that in the drawings, each part is highlighted for easy understanding, and is different from an actual device scale.

図4は、本発明の実施例に係るフラッシュメモリの構成を示すブロック図である。但し、ここに示すフラッシュメモリの構成は、例示であって、本発明は、必ずしもこのような構成に限定されるものではない。   FIG. 4 is a block diagram showing the configuration of the flash memory according to the 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と、外部入出力端子I/Oに接続され入出力データを保持する入出力バッファ120と、入出力バッファ120からのアドレスデータを受け取るアドレスレジスタ130と、入出力されるデータを保持するデータレジスタ140、入出力バッファ120からのコマンドデータおよび外部制御信号(図示されないチップイネーブルやアドレスラッチイネーブル等)に基づき各部を制御する制御信号C1、C2、C3等を供給するコントローラ150と、バッドブロックを正常なスペアブロックに置換するために必要なアドレス情報を記憶したルックアップテーブル(LUT)152と、プログラム(書込み)および消去したときのメモリセルのステータス等を記憶する管理メモリ154と、アドレスレジスタ130からの行アドレス情報Axまたはルックアップテーブルのアドレス変換されたアドレス情報をデコードしデコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路160と、ワード線選択回路160によって選択されたページから読み出されたデータを保持したり、選択されたページへの書込みデータを保持するページバッファ/センス回路170と、アドレスレジスタ130からの列アドレス情報Ayをデコードし当該デコード結果に基づきページバッファ170内の列データを選択する列選択回路180と、データの読出し、プログラムおよび消去等のために必要な電圧(プログラム電圧Vpgm、パス電圧Vpass、読出し電圧Vread、消去電圧Versなど)を生成する内部電圧発生回路190とを含んで構成される。   The flash memory 100 of this embodiment includes a memory array 110 in which a plurality of memory cells arranged in a matrix are formed, an input / output buffer 120 connected to an external input / output terminal I / O and holding input / output data, Address register 130 for receiving address data from input / output buffer 120, data register 140 for holding input / output data, command data from external input / output buffer 120 and external control signals (chip enable, address latch enable, etc. not shown) Controller 150 for supplying control signals C1, C2, C3, etc. for controlling each part based on the above, a look-up table (LUT) 152 storing address information necessary to replace bad blocks with normal spare blocks, and a program (Write) and erase The management memory 154 for storing the recell status and the like, and the row address information Ax from the address register 130 or the address-converted address information in the lookup table are decoded, and block selection and word line selection are performed based on the decoding result. A word line selection circuit 160, a page buffer / sense circuit 170 that holds data read from the page selected by the word line selection circuit 160, and holds write data to the selected page, and an address register 130 The column selection circuit 180 that decodes the column address information Ay from the column and selects the column data in the page buffer 170 based on the decoding result, and the voltage (program voltage Vpgm, pass Voltage Vpass, read voltage Vread, off And an internal voltage generation circuit 190 that generates a residual voltage Vers).

コントローラ150は、後述するようにバッドブロックを管理するための機能を備えており、外部コントローラからのコマンドに応答して、あるいは自身が搭載する制御シーケンスまたは制御プログラムに応答してバッドブロックの管理を実行する。コントローラ150は、プログラム(書込み)や消去動作が行われたとき、そのステータスを管理メモリ154に書込み、またバッドブロックおよび/またはバッドブロック内のページを変換するためのアドレス変換情報をLUT152に書込む。好ましい態様では、LUT152および管理メモリ154は、書換え可能な不揮発性メモリまたは不揮発性レジスタから構成される。   The controller 150 has a function for managing bad blocks, as will be described later, and manages bad blocks in response to commands from an external controller or in response to a control sequence or control program installed in the controller 150. Run. When a program (write) or erase operation is performed, the controller 150 writes the status in the management memory 154 and writes address conversion information for converting the bad block and / or the page in the bad block into the LUT 152. . In a preferred embodiment, the LUT 152 and the management memory 154 are composed of a rewritable nonvolatile memory or a nonvolatile register.

メモリアレイ110は、列方向に配置された複数のブロックBLK(0)、BLK(1)、・・・、BLK(m)を有する。ブロックの一方の端部には、ページバッファ/センス回路170が配置される。但し、ページバッファ/センス回路170は、ブロックの他方の端部、あるいは両側の端部に配置されるものであってもよい。さらにメモリアレイ110は、ワード線選択回路160の両側に配されるものであってもよい。   The memory array 110 has 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 may be disposed at the other end of the block or at both ends. Further, the memory array 110 may be arranged on both sides of the word line selection circuit 160.

1つのメモリブロックには、図5に示すように、複数のメモリセルを直列に接続したNANDストリングユニットNUが複数形成され、1つのメモリブロック内にn+1個のストリングユニットNUが行方向に配列されている。セルユニットNUは、直列に接続された複数のメモリセルMCi(i=0、1、・・・、31)と、一方の端部であるメモリセルMC31のドレイン側に接続された選択トランジスタTDと、他方の端部であるメモリセルMC0のソース側に接続された選択トランジスタTSとを含み、選択トランジスタTDのドレインは、対応する1つのビット線GBLに接続され、選択トランジスタTSのソースは、共通のソース線SLに接続される。   As shown in FIG. 5, a plurality of NAND string units NU in which a plurality of memory cells are connected in series are formed in one memory block, and n + 1 string units NU are arranged in the row direction in one memory block. ing. The cell unit NU includes a plurality of memory cells MCi (i = 0, 1,..., 31) connected in series, and a selection transistor TD connected to the drain side of the memory cell MC31 which is one end. , The selection transistor TS connected to the source side of the memory cell MC0 which is the other end, the drain of the selection transistor TD is connected to the corresponding one bit line GBL, and the source of the selection transistor TS is common Connected to the source line SL.

メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路160は、行アドレスAxまたは変換されたアドレスに基づきブロックを選択するとき、ブロックの選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを選択的に駆動する。なお、図5は、典型的なセルユニットの構成を示しているが、セルユニットは、NANDストリング内に1つまたは複数のダミーセルを包含するものであってもよい。   The control gate of the memory cell MCi is connected to the word line WLi, and the gates of the selection transistors TD and TS are connected to selection gate lines SGD and SGS parallel to the word line WL. When the word line selection circuit 160 selects a block based on the row address Ax or the converted address, the word line selection circuit 160 selectively drives the selection transistors TD and TS via the block selection gate signals SGS and SGD. Although FIG. 5 shows a typical cell unit configuration, the cell unit may include one or a plurality of dummy cells in the NAND string.

メモリセルは、典型的に、Pウエル内に形成されたN型の拡散領域であるソース/ドレインと、ソース/ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート(電荷蓄積層)と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むMOS構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「1」が書込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「0」が書込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。   A memory cell is typically formed on a source / drain which is an N type diffusion region formed in a P-well, a tunnel oxide film formed on a channel between the source / drain, and a tunnel oxide film. The MOS structure includes a floating gate (charge storage layer) and a control gate formed on the floating gate via a dielectric film. When charge is not accumulated in the floating gate, that is, when data “1” is written, the threshold value is in a negative state, and the memory cell is normally on. When electrons are accumulated in the floating gate, that is, when data “0” is written, the threshold value is shifted to positive, and the memory cell is normally off.

図6は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧Vpass(例えば4.5V)を印加し、選択ゲート線SGD、SGSに正の電圧(例えば4.5V)を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に0Vを印加する。プログラム(書込み)動作では、選択されたワード線に高電圧のプログラム電圧Vprog(15〜20V)を印加し、非選択のワード線に中間電位(例えば10V)を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「0」または「1」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧(例えば20V)を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。   FIG. 6 is a table showing an example of the bias voltage applied during each operation of the flash memory. In the read operation, a certain positive voltage is applied to the bit line, a certain voltage (for example, 0V) is applied to the selected word line, and a pass voltage Vpass (for example, 4.5V) is applied to the unselected word line. A positive voltage (for example, 4.5 V) is applied to the selection gate lines SGD and SGS, 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 program (write) operation, a high voltage program voltage Vprog (15 to 20 V) is applied to the selected word line, an intermediate potential (for example, 10 V) is applied to the non-selected word line, and the bit line selection transistor TD is turned on. The source line selection transistor TS is turned off, and a potential corresponding to data “0” or “1” is supplied to the bit line GBL. In the erasing operation, 0 V is applied to the selected word line in the block, a high voltage (for example, 20 V) is applied to the P well, and electrons in the floating gate are extracted to the substrate, thereby erasing data in units of blocks.

次に、本実施例のバッドブロック管理方法におけるLUTの作成動作について図7のフローチャートを参照して説明する。コントローラ150は、外部コントローラからのコマンドに応答して、あるいは自身が搭載する制御シーケンスまたは制御プログラムに応答してバッドブロックの管理を開始する(S100)。   Next, the LUT creation operation in the bad block management method of this embodiment will be described with reference to the flowchart of FIG. The controller 150 starts managing bad blocks in response to a command from the external controller or in response to a control sequence or control program installed in the controller 150 (S100).

バッドブロックの管理が実行されると、コントローラ150は、管理メモリ154からステータスを読出し、プログラムまたは消去のベリファイ結果をチェックする。上記したように、ISPP方式またはISPE方式によるプログラム(書込み)または消去が実行されたときベリファイが行われ、そのベリファイ結果等が管理メモリ154に記憶される。例えば、所定回数のプログラムパルスの印加によって選択ページのベリファイが不合格または合格であったこと、所定回数の消去パルスの印加によって選択ブロックのベリファイが不合格または合格であったこと、あるいはベリファイの最終的結果が不合格であったこと等がステータスとして記憶される。   When bad block management is executed, the controller 150 reads the status from the management memory 154 and checks the verification result of the program or erase. As described above, when a program (write) or erase by the ISPP method or ISPE method is executed, verification is performed, and the verification result or the like is stored in the management memory 154. For example, the verification of the selected page failed or passed by applying a predetermined number of program pulses, the verification of the selected block failed or passed by applying a predetermined number of erase pulses, or the final verification The fact that the target result has been rejected is stored as a status.

ステータスのチェック結果に基づきバッドブロックの有無が判定される(S104)。バッドブロックか否かの判定は、コントローラ150が行うものであってもよいし、あるいは外部コントローラからのコマンドに応答してステータスのチェック結果を外部コントローラへ提供し、そこでの判定結果を受け取るようにしてもよい。従って、バッドブロックか否かの判定のためのアルゴリズムは、コントローラ150あるいは外部コントローラに予め準備されていることになる。どのようなブロックをバッドブロックにするかの判定基準は任意に決定することができる。例えば、最終的なベリファイ結果が不合格とされた場合、あるいは最終的なベリファイ結果が合格であったとしても一定回数以上のプログラムパルスまたは消去パルスの印加を必要とした場合にバッドブロックとすることができる。   The presence or absence of a bad block is determined based on the status check result (S104). The determination as to whether or not the block is a bad block may be performed by the controller 150, or a status check result is provided to the external controller in response to a command from the external controller, and the determination result there is received. May be. Therefore, an algorithm for determining whether or not the block is a bad block is prepared in advance in the controller 150 or the external controller. The criteria for determining what block is a bad block can be arbitrarily determined. For example, if the final verification result is rejected, or if it is necessary to apply more than a certain number of program pulses or erase pulses even if the final verification result is acceptable, a bad block is selected. Can do.

バッドブロックがあると判定されると(S104)、さらにバッドブロック内の一部がバッドページであるか否かが判定される(S106)。バッドブロック内の一部がバッドページであるということは、バッドブロック内にバッドページと正常なページが存在することを意味する。バッドページか否かの判定は、バッドブロックか否かの判定と同様に、コントローラ150が行うものでもよいし、外部コントローラが行うものでもよい。どのようなページがバッドページになるのかの判定基準は任意に決定することができる。例えば、プログラムの最終的なベリファイ結果が不合格であったり、あるいは予期されたプログラムパルスの回数を越えたようなとき、そのページをバッドページすなわち不良ページとすることができる。例えば、図2(B)に示すように、ブロック5のページPiがバッドページと判定される。   If it is determined that there is a bad block (S104), it is further determined whether or not a part of the bad block is a bad page (S106). The fact that part of the bad block is a bad page means that a bad page and a normal page exist in the bad block. The determination of whether or not the page is a bad page may be performed by the controller 150 or may be performed by an external controller, similarly to the determination of whether or not the page is a bad block. A criterion for determining which page is a bad page can be arbitrarily determined. For example, when the final verify result of the program fails or when the expected number of program pulses is exceeded, the page can be made a bad page, that is, a bad page. For example, as shown in FIG. 2B, the page Pi of the block 5 is determined as a bad page.

コントローラ150は、バッドブロックがあって、かつバッドページが含まれると判定された場合、バッドブロックおよびバッドブロック内のページを変換するためのアドレス変換情報をLUT152に書込む(S108)。一方、バッドブロックはあるがバッドページがないと判定された場合、コントローラ150は、バッドブロックを変換するためのアドレス変換情報をLUT152に書込む(S110)。   When 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 in the bad block into the LUT 152 (S108). On the other hand, if it is determined that there is a bad block but there is no bad page, the controller 150 writes address conversion information for converting the bad block into the LUT 152 (S110).

図8は、LUT152のアドレス変換情報を説明する図である。図8(A)において、ページPiが不良ページ(バッドページ)であり、ブロック5がバッドブロックと判定されたと仮定する。この場合、ブロック5のページPi以外のページは正常であり、ページPi以外のページに書込まれているデータの継続的な利用が望まれる。1つの態様では、ページP0〜Pi−1へのアクセスは、そのまま有効とし、つまりブロック5へのアクセスを継続され、ページPi〜Pnへのアクセスは、スペアブロック1004の対応するページPi〜Pnへ変換されるようにする。   FIG. 8 is a diagram for explaining address conversion information of the LUT 152. In FIG. 8A, it is assumed that page Pi is a bad page (bad page) and block 5 is determined to be a bad block. In this case, pages other than page Pi in block 5 are normal, and continuous use of data written in pages other than page Pi is desired. In one aspect, access to pages P0 to Pi-1 is valid as it is, that is, access to block 5 is continued, and access to pages Pi to Pn is directed to corresponding pages Pi to Pn of spare block 1004. To be converted.

図8(B)は、ルックアップテーブルのアドレス変換情報の一例を示している。ルックアップテーブルは、ブロック変換テーブルを有し、ブロック変換テーブルには、バッドブロック5をスペアブロック1004へ変換するためのアドレス情報が規定される。さらにブロック変換テーブルには、追加情報としてフラグ情報が規定される。フラグ情報は、バッドブロックがバッドページと正常なページとを含むか否かを識別するものである。もし、バッドブロックがバッドページと正常なページを含むならば、フラグが「1」に設定され、ページ変換テーブルが作成される。バッドブロックの全てのページがバッドページであるとき、あるいはバッドブロックがバッドページが含むと判定されなかったとき、フラグが「0」に設定される。図8(A)の例では、バッドブロック5がバッドページPiとそれ以外の正常なページを含むためフラグが「1」に設定され、バッドブロック5にはさらにページ変換テーブルが追加される。   FIG. 8B shows an example of address conversion information in the lookup table. The lookup table has a block conversion table, and address information for converting the bad block 5 into the spare block 1004 is defined in the block conversion table. Further, flag information is defined as additional information in the block conversion table. The flag information identifies whether a bad block includes a bad page and a normal page. If the bad block includes a bad page and a normal page, the flag is set to “1” and a page conversion table is created. When all the pages of the bad block are bad pages, or when it is not determined that the bad block contains the bad page, the flag is set to “0”. In the example of FIG. 8A, since the bad block 5 includes the bad page Pi and other normal pages, the flag is set to “1”, and a 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 defines address conversion information for converting a page including a bad page in a bad block and address conversion information for converting a page not including a bad page. In the example of FIG. 8A, the block 5 is divided into a page group A of normal pages P0 to Pi-1 and a page group B of pages Pi to Pn including bad pages with a bad page Pi as a boundary. Then, the access to the page group A accesses the block 5 as it is, that is, the address to the page group A is not converted. On the other hand, for the access to the page group B, the address conversion information is defined so that the corresponding page of the block 1004 is accessed.

ブロック5の不良ページを含むものと、不良ページを含まないものとをどのように分割するかは任意である。例えば、不良ページPiのみがブロック1004のページPiに変換されるようにし、それ以外の正常なページP0〜Pi−1、Pi+1〜Pnがブロック5を継続してアクセスされるようにしてもよい。但し、図8(B)の例ように、不良ページPiを含む連続的なページをスペアブロックに変換した方が同一ブロックへのアクセス頻度が多くなる可能性があり、アクセス時間の短縮には有利である。   It is arbitrary how to divide the block 5 that includes the defective page and the block 5 that does not include the defective page. For example, only the defective page Pi may be converted into the page Pi of the block 1004, and other normal pages P0 to Pi-1 and Pi + 1 to Pn may be continuously accessed in the block 5. However, as in the example of FIG. 8B, it is possible to increase the frequency of access to the same block by converting a continuous page including the defective page Pi into a spare block, which is advantageous in reducing the access time. It is.

次に、バッドブロック管理が実行された後の読出し、プログラムおよび消去動作を図9のフローチャートを参照して説明する。外部コントローラからフラッシュメモリ100に対して、読出し、プログラム(書込み)、消去などのコマンドが送信されると、コントローラ150は、受信したコマンドを解読し、その動作を判別する(S200)。コントローラ150は、読出しおよびプログラム動作であるとき、入力された行アドレスのブロックアドレスがバッドブロックアドレスに一致するか否かを判定する(S202)。この判定には、LUT152が参照される。   Next, read, program, and erase operations after bad block management is executed will be described with reference to the flowchart of FIG. When a command such as read, program (write), or erase is transmitted from the external controller to the flash memory 100, the controller 150 decodes the received command and determines its operation (S200). In the read and program operations, the controller 150 determines whether or not the block address of the input row address matches the bad block address (S202). For this determination, the LUT 152 is referred to.

バッドブロックに一致するとき、コントローラ150は、バッドブロックがその一部にバッドページを含むか否かを判定する(S204)。この判定には、LUTのフラグが「1」が参照される。一部にバッドページを含むと判定されたとき、コントローラ150は、バッドブロックのページ変換テーブルを参照し、入力されたページアドレスの変換を行う(S206)。例えば、図8の例であれば、入力されたページアドレスがブロック5のP0〜Pi−1に該当すれば、ページ変換テーブルに従いブロック5のページグループAをアクセスするようにアドレスが変換され、ページPi〜Pnに該当すれば、ブロック1004のページグループBをアクセスするようにアドレスが変換される。   When matching the bad block, the controller 150 determines whether or not the bad block includes a bad page as a part thereof (S204). For this determination, the LUT flag is referred to “1”. When it is determined that a part includes a bad page, the controller 150 refers to the page conversion table of the bad block and converts the input page address (S206). For example, in the example of FIG. 8, if the input page address corresponds to P0 to Pi-1 of block 5, the address is converted to access page group A of block 5 according to the page conversion table, and the page If it corresponds to Pi to Pn, the address is converted to access page group B of block 1004.

バッドブロックがバッドページを含まないと判定された場合、つまり、フラグが「0」の場合、入力されたブロックアドレスがブロック変換テーブルに従いスペアブロックのアドレスに変換される(S208)。入力されたブロックアドレスがバッドブロックアドレスに一致しない場合(S202)、入力されたブロックアドレスが変換されることなくそのまま使用される(S210)。入力されたアドレスまたは変換されたアドレスは、ワード線選択回路160へ提供され、ワード線選択回路160は、ブロックおよびページを選択する(S220)。これにより、バッドブロック内の正常なページに記憶されたデータを継続して利用することができる。   If it is determined that the bad block does not include 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). When the input block address does not match the bad block address (S202), the input block address is used as it is without being converted (S210). The input address or the converted address is provided to the word line selection circuit 160, and the word line selection circuit 160 selects a block and a page (S220). As a result, the data stored in the normal page in the bad block can be continuously used.

一方、消去動作であるとき(S200)、コントローラ150は、入力されたブロックアドレスがバッドブロックアドレスに一致するか否かを判定し(S212)、バッドブロックアドレスに該当する場合には、ブロック変換テーブルに従いブロックアドレスがスペアブロックのアドレスに変換される(S214)。図8の例では、入力されたブロックアドレスがブロック5であれば、ブロック1004のアドレスに変換される。   On the other hand, when the erase operation is performed (S200), the controller 150 determines whether or not the input block address matches the bad block address (S212). Accordingly, the block address is converted into the address of the spare block (S214). In the example of FIG. 8, if the input block address is block 5, it is converted to the address of block 1004.

入力されたブロックアドレスがバッドブロックアドレスに該当しなければ(S212)、入力されたブロックアドレスがそのまま使用される。そして、ワード線選択回路160は、入力されたブロックアドレスまたは変換されたブロックアドレスに従いブロックを選択する(S220)。入力されたブロックアドレスがバッドブロックに該当するとき、少なくともスペアブロックが消去されるが、これと同時に、バッドブロックも消去するようにしてもよい。   If the input block address does not correspond to the bad block address (S212), the input block address is used as it is. Then, the word line selection circuit 160 selects a block according to the input block address or the converted block address (S220). When the input block address corresponds to a bad block, at least the spare block is erased. At the same time, the bad block may be erased.

次に、本実施例のデフラグメンテーションおよびLUTの更新について図10のフローチャートを参照して説明する。外部コントローラから送信されたコマンド、あるいは自身が搭載する制御シーケンスまたは制御プログラムに応答して、デフラグメンテーションのコマンドが判別されると(S300)、コントローラ150は、デフラグメンテーションを実行する(S302)。図8に示したように、バッドブロックにバッドページと正常なページが含まれているとき、ページグループAを含むブロック5とページグループBを含むブロック1004の2つのブロックが存在する。デフラグメンテーションは、このような2つのブロックに断片化されたページデータを1つのブロックに統合または集約させる。   Next, defragmentation and LUT update of the present embodiment will be described with reference to the flowchart of FIG. When a defragmentation command is determined in response to a command transmitted from the external controller or a control sequence or control program mounted on the controller (S300), the controller 150 executes defragmentation (S302). As shown in FIG. 8, when a bad page includes a bad page and a normal page, there are two blocks, block 5 including page group A and block 1004 including page group B. In the defragmentation, page data fragmented into two blocks is integrated or aggregated into one block.

コントローラ150は、図11(A)に示すように、ブロック5のページグループAとブロック1004のページグループBをフリーなスペアブロック、例えばブロック1006に統合する。ブロック5のページグループAのデータがブロック1006の対応する各ページにプログラムされ、ブロック1004のページグループBのデータがブロック1006の対応する各ページにプログラムされる。これにより、2つのブロック5および1004が1つのブロック1006に統合される。好ましくは、デフラグメンテーションが実行された後に、ブロック1004が消去され、ブロック1004をフリーな状態にされる。   As shown in FIG. 11A, the controller 150 integrates the page group A of the block 5 and the page group B of the block 1004 into a free spare block, for example, the block 1006. The data of page group A in block 5 is programmed into each corresponding page in block 1006, and the data in page group B in block 1004 is programmed into each corresponding page in block 1006. As a result, the two blocks 5 and 1004 are integrated into one block 1006. Preferably, after defragmentation has been performed, block 1004 is erased, leaving block 1004 free.

次に、コントローラ150は、LUT152の内容を更新する(S308)。すなわち、コントローラ150は、デフラグメンテーションの結果が反映されるようにLUTのアドレス変換情報を更新する。具体的には、図11(B)に示すように、バッドブロック5のアドレスがスペアブロック1006のアドレスに変換されるようにアドレス変換情報が書換えられ、同時に、フラグが「0」に設定される。これに伴い、バッドブロック5のページ変換テーブルが消去される。   Next, the controller 150 updates the contents of the LUT 152 (S308). That is, the controller 150 updates the LUT address conversion information so that the defragmentation result is reflected. Specifically, as shown in FIG. 11B, the address conversion information is rewritten so that the address of the bad block 5 is converted to the address of the spare block 1006, and the flag is set to “0” at the same time. . Along with this, the page conversion table of the bad block 5 is deleted.

また、コントローラ150は、消去動作が実行されたとき(S304)、選択されたブロックがバッドブロックであるか否かを判定する(S306)。バッドブロックの消去は、バッドブロックの正常なページに記憶されたデータが不要であることを意味する。例えば、図8(A)に示すブロック5のページグループAとブロック1004のページグループBのデータが不要ということであり、ページ読出しまたはページプログラムのときにページグループAおよびBをアクセスする必要がなくなる。従って、コントローラ150は、バッドブロック5にフラグ「1」が設定されている場合には、フラグを「0」に書換え、かつブロック5のページ変換テーブルを消去するようにLUT152を更新する(S308)。   Further, when the erase operation is executed (S304), the controller 150 determines whether or not the selected block is a bad block (S306). Erasing a bad block means that data stored in a normal page of the bad block is unnecessary. For example, the data of the page group A of the block 5 and the page group B of the block 1004 shown in FIG. 8A are not necessary, and it is not necessary to access the page groups A and B during page reading or page program. . Therefore, when the flag “1” is set in the bad block 5, the controller 150 rewrites the flag to “0” and updates the LUT 152 so as to delete the page conversion table of the block 5 (S308). .

このようにデフラグメンテーションを実行することで、ブロック間に跨るアクセスを減らし、アクセス速度を向上させることができる。さらにスペアメモリ領域の空きブロックを増加させることで、バッドブロック管理の効率を向上させることができる。   By executing defragmentation in this way, access across blocks can be reduced and access speed can be improved. Furthermore, the efficiency of bad block management can be improved by increasing the number of empty blocks in the spare memory area.

上記実施例では、メモリセルが2値データを記憶するフラッシュメモリを例示したが、本発明は、メモリセルが多値データを記憶するフラッシュメモリにも適用することができる。さらに上記実施例では、コントローラ150がバッドブロックの管理を行う例を示したが、これはワード線選択回路160が行うものであってもよいし、コントローラ150とは別にバッドブロック管理部を設けるようにしてもよい。さらにLUT152や管理メモリ154は、メモリアレイ110の一部のメモリ領域を利用することも可能であるし、コントローラ150がその内部にLUTおよび管理メモリを含むものであってもよい。   In the above embodiment, the flash memory in which the memory cell stores binary data is exemplified. However, the present invention can also be applied to a flash memory in which the memory cell stores multilevel data. Further, in the above-described embodiment, an example is shown in which the controller 150 manages bad blocks, but this may be performed by the word line selection circuit 160, or a bad block management unit may be provided separately from the controller 150. It may be. Further, the LUT 152 and the management memory 154 can use a part of the memory area of the memory array 110, or the controller 150 may include the LUT and the management memory therein.

本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   Although the preferred embodiments of the present invention have been described in detail, the present invention is not limited to the specific embodiments, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims. It can be changed.

100:フラッシュメモリ
110:メモリアレイ
120:入出力バッファ
130:アドレスレジスタ
140:データレジスタ
150:コントローラ
152:ルックアップテーブル
154:管理メモリ
160:ワード線選択回路
170:ページバッファ/センス回路
180:列選択回路
100: flash memory 110: memory array 120: input / output buffer 130: address register 140: data register 150: controller 152: lookup table 154: management memory 160: word line selection circuit 170: page buffer / sense circuit 180: column selection circuit

Claims (14)

NAND型フラッシュメモリのバッドブロック管理方法であって、
メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、
バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、
バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有し、
前記設定するステップは、バッドページを境界にバッドブロックを2つのページグループに分割し、かつバッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する、バッドブロック管理方法。
A bad block management method for NAND flash memory,
Determining whether there is a bad block in the memory array;
When it is determined that a bad block exists, a step of determining whether or not there is a bad page in a part of the bad block;
When it is determined that there is a bad page in a part of the bad block, a step of setting address conversion information for converting the bad block and the page in the bad block,
The setting step is configured to divide a bad block into two page groups with a bad page as a boundary, and to set address conversion information for converting a page group including a bad page into a corresponding page of a spare block. Management method.
前記設定するステップは、バッドページを含まないページグループがバッドブロックをアクセスされるようにアドレス変換情報を設定する、請求項1に記載のバッドブロック管理方法。 The bad block management method according to claim 1, wherein the setting step sets address translation information such that a page group not including a bad page is accessed by a bad block. 前記設定するステップは、書換え可能な不揮発性記憶部にアドレス変換情報を記憶する、請求項1または2に記載のバッドブロック管理方法。 The bad block management method according to claim 1, wherein the setting step stores address conversion information in a rewritable nonvolatile storage unit. バッドブロック管理方法はさらに、バッドブロックとスペアブロックとを1つのブロックに統合するステップを含む、請求項1ないし3いずれか1つに記載のバッドブロック管理方法。 The bad block management method according to any one of claims 1 to 3, further comprising a step of integrating the bad block and the spare block into one block. 前記統合するステップは、バッドブロックの消去が行われたことに応答して実行される、請求項4に記載のバッドブロック管理方法。 The bad block management method according to claim 4, wherein the integrating step is executed in response to erasing of a bad block. 前記統合するステップは、コマンドを実行することにより実行される、請求項4に記載のバッドブロック管理方法。 The bad block management method according to claim 4, wherein the integrating step is executed by executing a command. NAND型フラッシュメモリが実行するバッドブロック管理プログラムであって、
メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、
バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、
バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有し、
前記設定するステップは、バッドページを境界にバッドブロックを2つのページグループに分割し、バッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する、バッドブロック管理プログラム。
A bad block management program executed by the NAND flash memory,
Determining whether there is a bad block in the memory array;
When it is determined that a bad block exists, a step of determining whether or not there is a bad page in a part of the bad block;
When it is determined that there is a bad page in a part of the bad block, a step of setting address conversion information for converting the bad block and the page in the bad block,
The setting step divides a bad block into two page groups with a bad page as a boundary, and sets address conversion information for converting a page group including a bad page into a corresponding page of a spare block. program.
複数のブロックを含むメモリアレイと、
前記メモリアレイへのプログラムおよび消去が行われたときのステータスを記憶する記憶手段と、
前記ステータスに基づきメモリアレイ内にバッドブロックが存在するか否かを判定する第1の判定手段と、
バッドブロックが存在すると判定されたとき、前記ステータスに基づきバッドブロック内の一部にバッドページがあるか否かを判定する第2の判定手段と、
バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定する設定手段とを有し、
前記設定手段は、バッドページを境界にバッドブロックを2つのページグループに分割し、バッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する、NAND型のフラッシュメモリ。
A memory array including a plurality of blocks;
Storage means for storing a status when the memory array is programmed and erased;
First determination means for determining whether or not a bad block exists in the memory array based on the status;
Second determination means for determining whether or not there is a bad page based on the status when it is determined that a bad block exists;
A setting means for setting address conversion information for converting a bad block and a page in the bad block when it is determined that there is a bad page in a part of the bad block;
The setting unit divides a bad block into two page groups with a bad page as a boundary, and sets address conversion information for converting a page group including a bad page into a corresponding page of a spare block. memory.
前記設定手段は、バッドページを含まないページグループがバッドブロックをアクセスされるようにアドレス変換情報を設定する、請求項8に記載のフラッシュメモリ。 9. The flash memory according to claim 8, wherein the setting means sets address conversion information so that a page group not including a bad page can access a bad block. フラッシュメモリはさらに、アドレス情報を入力する入力手段と、前記入力手段からのアドレス情報がバッドブロックに一致するか否かを判定する第3の判定手段と、バッドブロックに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する変換手段とを有する、請求項8または9に記載のフラッシュメモリ。 The flash memory further includes an input unit that inputs address information, a third determination unit that determines whether the address information from the input unit matches a bad block, and when it is determined that the address matches the bad block, 10. The flash memory according to claim 8, further comprising conversion means for converting the address information according to the address conversion information. フラッシュメモリはさらに、前記入力手段からのアドレス情報がバッドページに該当するか否かを判定する第4の判定手段とを有し、前記変換手段は、バッドページに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する、請求項10に記載のフラッシュメモリ。 The flash memory further includes fourth determination means for determining whether the address information from the input means corresponds to a bad page, and when the conversion means is determined to match the bad page, 11. The flash memory according to claim 10, wherein address information is converted according to the address conversion information. 前記変換手段は、第4の判定手段によってアドレス情報がバッドページに該当しないと判定されたとき、前記変換手段は、前記アドレス情報を前記アドレス変換情報に従いアドレス変換しない、請求項10または11に記載のフラッシュメモリ。 12. The conversion unit according to claim 10 or 11, wherein the conversion unit does not convert the address information according to the address conversion information when the fourth determination unit determines that the address information does not correspond to a bad page. Flash memory. フラッシュメモリはさらに、バッドブロックとスペアブロックとを1つのブロックに統合する統合手段を含む、請求項ないし12いずれか1つに記載のフラッシュメモリ。 The flash memory according to any one of claims 8 to 12, further comprising integration means for integrating the bad block and the spare block into one block. 前記統合手段による統合は、バッドブロックの消去が行われたことに応答して実行される、請求項13に記載のフラッシュメモリ。 14. The flash memory according to claim 13, wherein the integration by the integration unit is executed in response to erasing of a bad block.
JP2013244191A 2013-11-26 2013-11-26 Flash memory, bad block management method and management program Active JP5731622B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013244191A JP5731622B2 (en) 2013-11-26 2013-11-26 Flash memory, bad block management method and management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013244191A JP5731622B2 (en) 2013-11-26 2013-11-26 Flash memory, bad block management method and management program

Publications (2)

Publication Number Publication Date
JP2015103093A JP2015103093A (en) 2015-06-04
JP5731622B2 true JP5731622B2 (en) 2015-06-10

Family

ID=53378731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013244191A Active JP5731622B2 (en) 2013-11-26 2013-11-26 Flash memory, bad block management method and management program

Country Status (1)

Country Link
JP (1) JP5731622B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10755795B2 (en) 2018-01-04 2020-08-25 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device, nonvolatile memory device, operating method of storage device
US11461044B2 (en) 2018-03-22 2022-10-04 Kioxia Corporation Nonvolatile memory device controlling partical usage restriction for memory cell array

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6027665B1 (en) 2015-11-10 2016-11-16 ウィンボンド エレクトロニクス コーポレーション Nonvolatile semiconductor memory device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145446A (en) * 2002-10-22 2004-05-20 Seiko Epson Corp Storage device and its control method
KR100572328B1 (en) * 2004-07-16 2006-04-18 삼성전자주식회사 Flash memory system including bad block management unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10755795B2 (en) 2018-01-04 2020-08-25 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device, nonvolatile memory device, operating method of storage device
US11461044B2 (en) 2018-03-22 2022-10-04 Kioxia Corporation Nonvolatile memory device controlling partical usage restriction for memory cell array

Also Published As

Publication number Publication date
JP2015103093A (en) 2015-06-04

Similar Documents

Publication Publication Date Title
US8046525B2 (en) Nonvolatile semiconductor memory device with advanced multi-page program operation
US7130217B2 (en) Semiconductor storage device having page copying function
JP4270994B2 (en) Nonvolatile semiconductor memory device
JP4901348B2 (en) Semiconductor memory device and control method thereof
JP4455524B2 (en) Method and nonvolatile storage device for storing state information using a plurality of strings
JP4828938B2 (en) Nonvolatile semiconductor memory device and driving method thereof
JP4746658B2 (en) Semiconductor memory system
JP2008123330A (en) Nonvolatile semiconductor storage device
JP2008108297A (en) Nonvolatile semiconductor memory device
JP2010218637A (en) Semiconductor storage and method of controlling the same
KR101668340B1 (en) Nand type flash memory and programming method thereof
US9053011B2 (en) Selective protection of lower page data during upper page write
JP5731622B2 (en) Flash memory, bad block management method and management program
WO2015155860A1 (en) Information storage device and method for controlling information storage device
TWI530957B (en) Flash memory, management method and management program of bad block
JP4040215B2 (en) Control method for nonvolatile semiconductor memory
CN105023608A (en) Management method of flash memory and bad blocks
US20110228605A1 (en) Nonvolatile memory
US20100332736A1 (en) Method of operating nonvolatile memory device
JP2008103076A (en) Semiconductor nonvolatile memory having partial rewrite function of data
JP2006209963A (en) Semiconductor storage device

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150409

R150 Certificate of patent or registration of utility model

Ref document number: 5731622

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250