[go: up one dir, main page]

JP5731622B2 - フラッシュメモリ、バッドブロックの管理方法および管理プログラム - Google Patents

フラッシュメモリ、バッドブロックの管理方法および管理プログラム 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
English (en)
Other versions
JP2015103093A (ja
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/ja
Publication of JP2015103093A publication Critical patent/JP2015103093A/ja
Application granted granted Critical
Publication of JP5731622B2 publication Critical patent/JP5731622B2/ja
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型フラッシュメモリに関し、特にバッドブロックの管理方法に関する。
フラッシュメモリの製造段階で発生した欠陥素子は、冗長スキームによって冗長領域のメモリ素子に置換することで救済される。他方、出荷段階では正常と判定されたメモリ素子であっても、プログラムや消去が繰り返されることで不良になるものもある。つまり、一定回数のプログラムパルスが印加されても、そのしきい値が所望の分布幅内に収まらず、また一定回数の消去パルスが印加されても、そのしきい値が所望の分布幅内に収まらないメモリ素子が発生する。フラッシュメモリには、このような不良のメモリ素子を含むブロックをバッドブロックと認定し、バッドブロックを他の正常なブロックにブロック単位で置換する、いわゆるバッドブロック管理が採用されている(特許文献1)。
特開2013−145545号公報
図1に、従来のバッドブロック管理の動作フローを示す。フラッシュメモリにおいて、ページプログラムが行われるとき、選択ページのワードラインにプログラムパルスが印加され、次いでメモリセルのしきい値を判定すべくベリファイが行われ、プログラムが不十分であれば、前よりもΔVpgmだけ高いプログラムパルスが印加される。また、選択ブロックの消去が行われるとき、ウエルまたは基板に消去パルスが印加され、次いでベリファイが行われ、消去が不十分であれば、前よりもΔVersだけ高い消去パルスが印加される(S10)。このようなプログラムは、ISPP(incremental Step Pulse Program)方式、消去は、ISPE(Incremental Step Pulse Erase)方式として知られている。
フラッシュメモリには、プログラムや消去が行われたときのステータスが管理メモリに保持される(S12)。ステータスには、例えば、所定回数のプログラムパルスの印加によって選択ページのベリファイが不合格であったことや、所定回数の消去パルスの印加によって選択ブロックのベリファイが不合格であったこと、あるいはベリファイの最終的結果が不合格であったこと等が記憶される。
管理メモリに記憶されたステータスは、バッドブロックの有無の判定に利用される(S14)。バッドブロックの有無の判定は、例えば、外部コントローラがフラッシュメモリにコマンドを送信することによって実行され、あるいはフラッシュメモリ自身に搭載されたプログラムによって実行される。バッドブロックがあると判定されると、バッドブロック管理部は、バッドブロックへのアクセスが正常なスペアブロックへのアクセスとなるようにアドレス変換を行う(S16)。
図2は、従来のバッドブロック管理の詳細を説明する図である。フラッシュメモリは、バッドブロックの管理を行うバッドブロック管理部10と、バッドブロックを正常なスペアブロックにアドレス変換するためのアドレス変換情報を記憶したルックアップテーブル20と、行アドレス情報に基づきブロックの選択およびページの選択を行うワード線選択回路30と、複数のブロックを含むメモリアレイ40とを含んでいる。メモリアレイ40のM1は、ユーザー使用のために割り当てられたメモリ領域であり、SBは、バッドブロックを置換するために用意されたスペア領域である。
バッドブロック管理部10は、外部からのコマンドまたは自身が搭載するプログラムに応じて、図1のステップS14で説明したようなバッドブロックの有無を判定する。例えば、図2(B)に示すように、ブロック5のページPiのプログラム(書込み)が行われたが、最終的にベリファイで不合格になったとする。このページPiのプログラム不良のステータスは、図示しない管理メモリに記憶される。
バッドブロック管理部10は、管理メモリを参照し、ブロック5が不良ページPiを含むのでバッドブロックと判定すると、ブロック5をスペア領域SB内の空き状態のブロック、例えばブロック1004に割り当てる。このとき、バッドブロック管理部10は、バッドブロック5へのアクセスをスペアブロック1004にアドレス変換するためのアドレス変換情報をルックアップテーブル20に書込む。図3は、ルックアップテーブルの一例を示す図である。ルックアップテーブルには、バッドブロック5のアドレスと、これを置換するスペアブロック1004のアドレスとが関連付けして記憶される。通常、外部コントローラからフラッシュメモリには論理アドレスが提供されるので、ルックアップテーブルには、バッドブロック5とスペアブロック1004の論理アドレスが記憶される。
読出し、プログラム(書込み)あるいは消去時に、ワード線選択回路30は、ルックアップテーブルを参照し、入力された行アドレスがバッドブロックのアドレスに一致するか否かを判定し、一致する場合には、入力された行アドレスをスペアブロックのアドレスに変換し、これを物理アドレスに変換し、ブロック1004を選択するためのブロック選択信号BSELを出力する。さらに読出しやプログラム(書込み)動作であれば、選択されたブロック1004内のページを選択する。
しかしながら、従来のバッドブロックの管理方法には、次のような課題がある。図2(B)に示すように、ページPiの不良(例えば、プログラム動作のベリファイで不合格)が原因でブロック5がバッドブロックと判定され、ブロック5へのアクセスがブロック1004へ変換されてしまうと、ブロック5のページP0〜Pi−1、Pi+1〜Pnに既に書き込まれたデータを利用できなくなってしまう。仮に、このようなデータを利用するには、バットブロック管理方法とは別のファイル管理システムを実行させ、ブロック5のページP0〜Pi−1、Pi+1〜Pnをブロック1004へコピーをしなければならず、煩雑な処理を必要としていた。
本発明は、従来のバッドブロック管理方法の課題を解決したフラッシュメモリ、バッドブロックの管理方法および管理プログラムを提供することを目的とする。
本発明に係るNAND型フラッシュメモリのバッドブロック管理方法は、メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有する。
好ましくは前記設定するステップは、バッドページを含む第1のページをスペアブロック内の対応するページに変換するためのアドレス変換情報を設定し、かつバッドページを含まない第2のページがバッドブロックをアクセスされるようにアドレス変換情報を設定する。好ましくは前記設定するステップは、バッドページを境界にバッドブロックを2つのページグループに分割し、かつバッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する。好ましくは前記設定するステップは、書換え可能な不揮発性記憶部にアドレス変換情報を記憶する。好ましくはバッドブロック管理方法はさらに、バッドブロックとスペアブロックとを1つのブロックに統合するステップを含む。好ましくは前記統合するステップは、バッドブロックの消去が行われたことに応答して実行される。好ましくは前記統合するステップは、コマンドを実行することにより実行される。
本発明に係るバッドブロック管理プログラムは、NAND型フラッシュメモリが実行するものであって、メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有する
本発明に係るNAND型フラッシュメモリは、複数のブロックを含むメモリアレイと、前記メモリアレイへのプログラムおよび消去が行われたときのステータスを記憶する記憶手段と、前記ステータスに基づきメモリアレイ内にバッドブロックが存在するか否かを判定する第1の判定手段と、バッドブロックが存在すると判定されたとき、前記ステータスに基づきバッドブロック内の一部にバッドページがあるか否かを判定する第2の判定手段と、バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定する設定手段とを有する。
好ましくはフラッシュメモリはさらに、アドレス情報を入力する入力手段と、前記入力手段からのアドレス情報がバッドブロックに一致するか否かを判定する第3の判定手段と、バッドブロックに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する変換手段とを有する。好ましくはフラッシュメモリはさらに、前記入力手段からのアドレス情報がバッドページに該当するか否かを判定する第4の判定手段とを有し、前記変換手段は、バッドページに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する。好ましくは前記変換手段は、第4の判定手段によってアドレス情報がバッドページに該当しないと判定されたとき、前記変換手段は、前記アドレス情報を前記アドレス変換情報に従いアドレス変換しない。
本発明によれば、バッドブロック内の一部がバッドページであると判定された場合に、バッドブロック内のページを変換するためのアドレス変換情報を設定するようにしたので、バッドブロック内のバッドページでないページのデータを継続して利用することができる。
従来のフラッシュメモリのバッドブロック管理の動作フローを示す図である。 従来のバッドブロック管理を説明する図である。 従来のバッドブロック管理に用いられるルックアップテーブルの一例を示す図である。 本発明の実施例に係るフラッシュメモリの一構成例を示すブロック図である。 本発明の実施例に係るメモリセルアレイのNANDストリングの構成を示す回路図である。 本実施例に係るフラッシュメモリのプログラム時に各部に印加される電圧の一例を示す図である。 本実施例に係るフラッシュメモリのバッドブロック管理におけるLUTの作成動作を説明するフローチャートである。 本実施例のLUTの一例を示す図である。 本実施例に係るフラッシュメモリの動作を説明するフローチャートである。 本実施例に係るデフラグメンテーションの動作を説明するフローチャートである。 本実施例に係るデフラグメンテーションおよびLUTの更新の例を説明する図である。
次に、本発明の実施の形態について図面を参照して詳細に説明する。本発明の好ましい形態では、NAND型のフラッシュメモリを例示する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは異なることに留意すべきである。
図4は、本発明の実施例に係るフラッシュメモリの構成を示すブロック図である。但し、ここに示すフラッシュメモリの構成は、例示であって、本発明は、必ずしもこのような構成に限定されるものではない。
本実施例のフラッシュメモリ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とを含んで構成される。
コントローラ150は、後述するようにバッドブロックを管理するための機能を備えており、外部コントローラからのコマンドに応答して、あるいは自身が搭載する制御シーケンスまたは制御プログラムに応答してバッドブロックの管理を実行する。コントローラ150は、プログラム(書込み)や消去動作が行われたとき、そのステータスを管理メモリ154に書込み、またバッドブロックおよび/またはバッドブロック内のページを変換するためのアドレス変換情報をLUT152に書込む。好ましい態様では、LUT152および管理メモリ154は、書換え可能な不揮発性メモリまたは不揮発性レジスタから構成される。
メモリアレイ110は、列方向に配置された複数のブロックBLK(0)、BLK(1)、・・・、BLK(m)を有する。ブロックの一方の端部には、ページバッファ/センス回路170が配置される。但し、ページバッファ/センス回路170は、ブロックの他方の端部、あるいは両側の端部に配置されるものであってもよい。さらにメモリアレイ110は、ワード線選択回路160の両側に配されるものであってもよい。
1つのメモリブロックには、図5に示すように、複数のメモリセルを直列に接続したNANDストリングユニットNUが複数形成され、1つのメモリブロック内にn+1個のストリングユニットNUが行方向に配列されている。セルユニットNUは、直列に接続された複数のメモリセルMCi(i=0、1、・・・、31)と、一方の端部であるメモリセルMC31のドレイン側に接続された選択トランジスタTDと、他方の端部であるメモリセルMC0のソース側に接続された選択トランジスタTSとを含み、選択トランジスタTDのドレインは、対応する1つのビット線GBLに接続され、選択トランジスタTSのソースは、共通のソース線SLに接続される。
メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路160は、行アドレスAxまたは変換されたアドレスに基づきブロックを選択するとき、ブロックの選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを選択的に駆動する。なお、図5は、典型的なセルユニットの構成を示しているが、セルユニットは、NANDストリング内に1つまたは複数のダミーセルを包含するものであってもよい。
メモリセルは、典型的に、Pウエル内に形成されたN型の拡散領域であるソース/ドレインと、ソース/ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート(電荷蓄積層)と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むMOS構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「1」が書込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「0」が書込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。
図6は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧Vpass(例えば4.5V)を印加し、選択ゲート線SGD、SGSに正の電圧(例えば4.5V)を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に0Vを印加する。プログラム(書込み)動作では、選択されたワード線に高電圧のプログラム電圧Vprog(15〜20V)を印加し、非選択のワード線に中間電位(例えば10V)を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「0」または「1」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧(例えば20V)を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
次に、本実施例のバッドブロック管理方法におけるLUTの作成動作について図7のフローチャートを参照して説明する。コントローラ150は、外部コントローラからのコマンドに応答して、あるいは自身が搭載する制御シーケンスまたは制御プログラムに応答してバッドブロックの管理を開始する(S100)。
バッドブロックの管理が実行されると、コントローラ150は、管理メモリ154からステータスを読出し、プログラムまたは消去のベリファイ結果をチェックする。上記したように、ISPP方式またはISPE方式によるプログラム(書込み)または消去が実行されたときベリファイが行われ、そのベリファイ結果等が管理メモリ154に記憶される。例えば、所定回数のプログラムパルスの印加によって選択ページのベリファイが不合格または合格であったこと、所定回数の消去パルスの印加によって選択ブロックのベリファイが不合格または合格であったこと、あるいはベリファイの最終的結果が不合格であったこと等がステータスとして記憶される。
ステータスのチェック結果に基づきバッドブロックの有無が判定される(S104)。バッドブロックか否かの判定は、コントローラ150が行うものであってもよいし、あるいは外部コントローラからのコマンドに応答してステータスのチェック結果を外部コントローラへ提供し、そこでの判定結果を受け取るようにしてもよい。従って、バッドブロックか否かの判定のためのアルゴリズムは、コントローラ150あるいは外部コントローラに予め準備されていることになる。どのようなブロックをバッドブロックにするかの判定基準は任意に決定することができる。例えば、最終的なベリファイ結果が不合格とされた場合、あるいは最終的なベリファイ結果が合格であったとしても一定回数以上のプログラムパルスまたは消去パルスの印加を必要とした場合にバッドブロックとすることができる。
バッドブロックがあると判定されると(S104)、さらにバッドブロック内の一部がバッドページであるか否かが判定される(S106)。バッドブロック内の一部がバッドページであるということは、バッドブロック内にバッドページと正常なページが存在することを意味する。バッドページか否かの判定は、バッドブロックか否かの判定と同様に、コントローラ150が行うものでもよいし、外部コントローラが行うものでもよい。どのようなページがバッドページになるのかの判定基準は任意に決定することができる。例えば、プログラムの最終的なベリファイ結果が不合格であったり、あるいは予期されたプログラムパルスの回数を越えたようなとき、そのページをバッドページすなわち不良ページとすることができる。例えば、図2(B)に示すように、ブロック5のページPiがバッドページと判定される。
コントローラ150は、バッドブロックがあって、かつバッドページが含まれると判定された場合、バッドブロックおよびバッドブロック内のページを変換するためのアドレス変換情報をLUT152に書込む(S108)。一方、バッドブロックはあるがバッドページがないと判定された場合、コントローラ150は、バッドブロックを変換するためのアドレス変換情報をLUT152に書込む(S110)。
図8は、LUT152のアドレス変換情報を説明する図である。図8(A)において、ページPiが不良ページ(バッドページ)であり、ブロック5がバッドブロックと判定されたと仮定する。この場合、ブロック5のページPi以外のページは正常であり、ページPi以外のページに書込まれているデータの継続的な利用が望まれる。1つの態様では、ページP0〜Pi−1へのアクセスは、そのまま有効とし、つまりブロック5へのアクセスを継続され、ページPi〜Pnへのアクセスは、スペアブロック1004の対応するページPi〜Pnへ変換されるようにする。
図8(B)は、ルックアップテーブルのアドレス変換情報の一例を示している。ルックアップテーブルは、ブロック変換テーブルを有し、ブロック変換テーブルには、バッドブロック5をスペアブロック1004へ変換するためのアドレス情報が規定される。さらにブロック変換テーブルには、追加情報としてフラグ情報が規定される。フラグ情報は、バッドブロックがバッドページと正常なページとを含むか否かを識別するものである。もし、バッドブロックがバッドページと正常なページを含むならば、フラグが「1」に設定され、ページ変換テーブルが作成される。バッドブロックの全てのページがバッドページであるとき、あるいはバッドブロックがバッドページが含むと判定されなかったとき、フラグが「0」に設定される。図8(A)の例では、バッドブロック5がバッドページPiとそれ以外の正常なページを含むためフラグが「1」に設定され、バッドブロック5にはさらにページ変換テーブルが追加される。
ページ変換テーブルは、バッドブロック内のバッドページを含むページを変換するためのアドレス変換情報と、バッドページを含まないページを変換するためのアドレス変換情報とを規定する。図8(A)の例では、ブロック5が、バッドページPiを境界に正常なページP0〜Pi−1のページグループAと、バッドページを含むページPi〜PnのページグループBに分割される。そして、ページグループAへのアクセスがブロック5をそのままアクセスするように、つまり、ページグループAへのアドレスは変換されない。一方、ページグループBへのアクセスは、ブロック1004の対応するページがアクセスされるようにアドレス変換情報が規定される。
ブロック5の不良ページを含むものと、不良ページを含まないものとをどのように分割するかは任意である。例えば、不良ページPiのみがブロック1004のページPiに変換されるようにし、それ以外の正常なページP0〜Pi−1、Pi+1〜Pnがブロック5を継続してアクセスされるようにしてもよい。但し、図8(B)の例ように、不良ページPiを含む連続的なページをスペアブロックに変換した方が同一ブロックへのアクセス頻度が多くなる可能性があり、アクセス時間の短縮には有利である。
次に、バッドブロック管理が実行された後の読出し、プログラムおよび消去動作を図9のフローチャートを参照して説明する。外部コントローラからフラッシュメモリ100に対して、読出し、プログラム(書込み)、消去などのコマンドが送信されると、コントローラ150は、受信したコマンドを解読し、その動作を判別する(S200)。コントローラ150は、読出しおよびプログラム動作であるとき、入力された行アドレスのブロックアドレスがバッドブロックアドレスに一致するか否かを判定する(S202)。この判定には、LUT152が参照される。
バッドブロックに一致するとき、コントローラ150は、バッドブロックがその一部にバッドページを含むか否かを判定する(S204)。この判定には、LUTのフラグが「1」が参照される。一部にバッドページを含むと判定されたとき、コントローラ150は、バッドブロックのページ変換テーブルを参照し、入力されたページアドレスの変換を行う(S206)。例えば、図8の例であれば、入力されたページアドレスがブロック5のP0〜Pi−1に該当すれば、ページ変換テーブルに従いブロック5のページグループAをアクセスするようにアドレスが変換され、ページPi〜Pnに該当すれば、ブロック1004のページグループBをアクセスするようにアドレスが変換される。
バッドブロックがバッドページを含まないと判定された場合、つまり、フラグが「0」の場合、入力されたブロックアドレスがブロック変換テーブルに従いスペアブロックのアドレスに変換される(S208)。入力されたブロックアドレスがバッドブロックアドレスに一致しない場合(S202)、入力されたブロックアドレスが変換されることなくそのまま使用される(S210)。入力されたアドレスまたは変換されたアドレスは、ワード線選択回路160へ提供され、ワード線選択回路160は、ブロックおよびページを選択する(S220)。これにより、バッドブロック内の正常なページに記憶されたデータを継続して利用することができる。
一方、消去動作であるとき(S200)、コントローラ150は、入力されたブロックアドレスがバッドブロックアドレスに一致するか否かを判定し(S212)、バッドブロックアドレスに該当する場合には、ブロック変換テーブルに従いブロックアドレスがスペアブロックのアドレスに変換される(S214)。図8の例では、入力されたブロックアドレスがブロック5であれば、ブロック1004のアドレスに変換される。
入力されたブロックアドレスがバッドブロックアドレスに該当しなければ(S212)、入力されたブロックアドレスがそのまま使用される。そして、ワード線選択回路160は、入力されたブロックアドレスまたは変換されたブロックアドレスに従いブロックを選択する(S220)。入力されたブロックアドレスがバッドブロックに該当するとき、少なくともスペアブロックが消去されるが、これと同時に、バッドブロックも消去するようにしてもよい。
次に、本実施例のデフラグメンテーションおよびLUTの更新について図10のフローチャートを参照して説明する。外部コントローラから送信されたコマンド、あるいは自身が搭載する制御シーケンスまたは制御プログラムに応答して、デフラグメンテーションのコマンドが判別されると(S300)、コントローラ150は、デフラグメンテーションを実行する(S302)。図8に示したように、バッドブロックにバッドページと正常なページが含まれているとき、ページグループAを含むブロック5とページグループBを含むブロック1004の2つのブロックが存在する。デフラグメンテーションは、このような2つのブロックに断片化されたページデータを1つのブロックに統合または集約させる。
コントローラ150は、図11(A)に示すように、ブロック5のページグループAとブロック1004のページグループBをフリーなスペアブロック、例えばブロック1006に統合する。ブロック5のページグループAのデータがブロック1006の対応する各ページにプログラムされ、ブロック1004のページグループBのデータがブロック1006の対応する各ページにプログラムされる。これにより、2つのブロック5および1004が1つのブロック1006に統合される。好ましくは、デフラグメンテーションが実行された後に、ブロック1004が消去され、ブロック1004をフリーな状態にされる。
次に、コントローラ150は、LUT152の内容を更新する(S308)。すなわち、コントローラ150は、デフラグメンテーションの結果が反映されるようにLUTのアドレス変換情報を更新する。具体的には、図11(B)に示すように、バッドブロック5のアドレスがスペアブロック1006のアドレスに変換されるようにアドレス変換情報が書換えられ、同時に、フラグが「0」に設定される。これに伴い、バッドブロック5のページ変換テーブルが消去される。
また、コントローラ150は、消去動作が実行されたとき(S304)、選択されたブロックがバッドブロックであるか否かを判定する(S306)。バッドブロックの消去は、バッドブロックの正常なページに記憶されたデータが不要であることを意味する。例えば、図8(A)に示すブロック5のページグループAとブロック1004のページグループBのデータが不要ということであり、ページ読出しまたはページプログラムのときにページグループAおよびBをアクセスする必要がなくなる。従って、コントローラ150は、バッドブロック5にフラグ「1」が設定されている場合には、フラグを「0」に書換え、かつブロック5のページ変換テーブルを消去するようにLUT152を更新する(S308)。
このようにデフラグメンテーションを実行することで、ブロック間に跨るアクセスを減らし、アクセス速度を向上させることができる。さらにスペアメモリ領域の空きブロックを増加させることで、バッドブロック管理の効率を向上させることができる。
上記実施例では、メモリセルが2値データを記憶するフラッシュメモリを例示したが、本発明は、メモリセルが多値データを記憶するフラッシュメモリにも適用することができる。さらに上記実施例では、コントローラ150がバッドブロックの管理を行う例を示したが、これはワード線選択回路160が行うものであってもよいし、コントローラ150とは別にバッドブロック管理部を設けるようにしてもよい。さらにLUT152や管理メモリ154は、メモリアレイ110の一部のメモリ領域を利用することも可能であるし、コントローラ150がその内部にLUTおよび管理メモリを含むものであってもよい。
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100:フラッシュメモリ
110:メモリアレイ
120:入出力バッファ
130:アドレスレジスタ
140:データレジスタ
150:コントローラ
152:ルックアップテーブル
154:管理メモリ
160:ワード線選択回路
170:ページバッファ/センス回路
180:列選択回路

Claims (14)

  1. NAND型フラッシュメモリのバッドブロック管理方法であって、
    メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、
    バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、
    バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有し、
    前記設定するステップは、バッドページを境界にバッドブロックを2つのページグループに分割し、かつバッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する、バッドブロック管理方法。
  2. 前記設定するステップは、バッドページを含まないページグループがバッドブロックをアクセスされるようにアドレス変換情報を設定する、請求項1に記載のバッドブロック管理方法。
  3. 前記設定するステップは、書換え可能な不揮発性記憶部にアドレス変換情報を記憶する、請求項1または2に記載のバッドブロック管理方法。
  4. バッドブロック管理方法はさらに、バッドブロックとスペアブロックとを1つのブロックに統合するステップを含む、請求項1ないし3いずれか1つに記載のバッドブロック管理方法。
  5. 前記統合するステップは、バッドブロックの消去が行われたことに応答して実行される、請求項4に記載のバッドブロック管理方法。
  6. 前記統合するステップは、コマンドを実行することにより実行される、請求項4に記載のバッドブロック管理方法。
  7. NAND型フラッシュメモリが実行するバッドブロック管理プログラムであって、
    メモリアレイ内にバッドブロックが存在するか否かを判定するステップと、
    バッドブロックが存在すると判定されたとき、バッドブロック内の一部にバッドページがあるか否かを判定するステップと、
    バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定するステップとを有し、
    前記設定するステップは、バッドページを境界にバッドブロックを2つのページグループに分割し、バッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する、バッドブロック管理プログラム。
  8. 複数のブロックを含むメモリアレイと、
    前記メモリアレイへのプログラムおよび消去が行われたときのステータスを記憶する記憶手段と、
    前記ステータスに基づきメモリアレイ内にバッドブロックが存在するか否かを判定する第1の判定手段と、
    バッドブロックが存在すると判定されたとき、前記ステータスに基づきバッドブロック内の一部にバッドページがあるか否かを判定する第2の判定手段と、
    バッドブロック内の一部にバッドページがあると判定されたとき、バッドブロックとバッドブロック内のページを変換するためのアドレス変換情報を設定する設定手段とを有し、
    前記設定手段は、バッドページを境界にバッドブロックを2つのページグループに分割し、バッドページを含むページグループをスペアブロックの対応するページに変換するためのアドレス変換情報を設定する、NAND型のフラッシュメモリ。
  9. 前記設定手段は、バッドページを含まないページグループがバッドブロックをアクセスされるようにアドレス変換情報を設定する、請求項8に記載のフラッシュメモリ。
  10. フラッシュメモリはさらに、アドレス情報を入力する入力手段と、前記入力手段からのアドレス情報がバッドブロックに一致するか否かを判定する第3の判定手段と、バッドブロックに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する変換手段とを有する、請求項8または9に記載のフラッシュメモリ。
  11. フラッシュメモリはさらに、前記入力手段からのアドレス情報がバッドページに該当するか否かを判定する第4の判定手段とを有し、前記変換手段は、バッドページに一致すると判定されたとき、前記アドレス情報を前記アドレス変換情報に従い変換する、請求項10に記載のフラッシュメモリ。
  12. 前記変換手段は、第4の判定手段によってアドレス情報がバッドページに該当しないと判定されたとき、前記変換手段は、前記アドレス情報を前記アドレス変換情報に従いアドレス変換しない、請求項10または11に記載のフラッシュメモリ。
  13. フラッシュメモリはさらに、バッドブロックとスペアブロックとを1つのブロックに統合する統合手段を含む、請求項ないし12いずれか1つに記載のフラッシュメモリ。
  14. 前記統合手段による統合は、バッドブロックの消去が行われたことに応答して実行される、請求項13に記載のフラッシュメモリ。
JP2013244191A 2013-11-26 2013-11-26 フラッシュメモリ、バッドブロックの管理方法および管理プログラム Active JP5731622B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013244191A JP5731622B2 (ja) 2013-11-26 2013-11-26 フラッシュメモリ、バッドブロックの管理方法および管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013244191A JP5731622B2 (ja) 2013-11-26 2013-11-26 フラッシュメモリ、バッドブロックの管理方法および管理プログラム

Publications (2)

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

Family

ID=53378731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013244191A Active JP5731622B2 (ja) 2013-11-26 2013-11-26 フラッシュメモリ、バッドブロックの管理方法および管理プログラム

Country Status (1)

Country Link
JP (1) JP5731622B2 (ja)

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 (ja) 2015-11-10 2016-11-16 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145446A (ja) * 2002-10-22 2004-05-20 Seiko Epson Corp 記憶装置及びその制御方法
KR100572328B1 (ko) * 2004-07-16 2006-04-18 삼성전자주식회사 배드 블록 관리부를 포함하는 플래시 메모리 시스템

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 (ja) 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 (ja) 不揮発性半導体記憶装置
JP4901348B2 (ja) 半導体記憶装置およびその制御方法
JP4455524B2 (ja) 複数のストリングを使用して状態情報を保存する方法及び不揮発性保存装置
JP4746658B2 (ja) 半導体記憶システム
JP2008123330A (ja) 不揮発性半導体記憶装置
JP2008108297A (ja) 不揮発性半導体記憶装置
JP2010218637A (ja) 半導体記憶装置およびその制御方法
KR101668340B1 (ko) Nand형 플래시 메모리 및 그의 프로그래밍 방법
JP4828938B2 (ja) 不揮発性半導体記憶装置及びその駆動方法
US9053011B2 (en) Selective protection of lower page data during upper page write
JP5731622B2 (ja) フラッシュメモリ、バッドブロックの管理方法および管理プログラム
WO2015155860A1 (ja) 情報記憶装置及び情報記憶装置の制御方法
CN105023608A (zh) 闪速存储器及坏区块的管理方法
JP4040215B2 (ja) 不揮発性半導体メモリの制御方法
TWI530957B (zh) 快閃記憶體、壞區塊的管理方法及管理程式
US20100332736A1 (en) Method of operating nonvolatile memory device
US20110228605A1 (en) Nonvolatile memory
JP2025009954A (ja) サブブロックリクレーム動作を管理する格納装置
CN119132355A (zh) 存储装置及其回收操作方法
JP2006209963A (ja) 半導体記憶装置

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