JP3812933B2 - File system and control method thereof - Google Patents
File system and control method thereof Download PDFInfo
- Publication number
- JP3812933B2 JP3812933B2 JP2001121823A JP2001121823A JP3812933B2 JP 3812933 B2 JP3812933 B2 JP 3812933B2 JP 2001121823 A JP2001121823 A JP 2001121823A JP 2001121823 A JP2001121823 A JP 2001121823A JP 3812933 B2 JP3812933 B2 JP 3812933B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- reconstruction
- file system
- data
- date
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、フラッシュメモリを含む不揮発性メモリなどの不揮発性半導体記憶装置および、これらを用いたメモリカードなどのデータ再構築方法および、データのリフレッシュ管理方法を採用したファイルシステムおよびその制御方法に関する。
【0002】
【従来の技術】
従来、フラッシュメモリは、チップ一括または、任意の領域のメモリセル(セクタまたはブロックと呼ばれる)を一括して電気的に消去する機能を持つ不揮発性半導体記憶装置である。このフラッシュメモリのメモリセルとしては、例えば、NOR型やNAND型と呼ばれるものがある。何れのメモリセルも図17に示すメモリセル構成がデータ記憶の基本構造である。
【0003】
図17において、メモリセル100は、浮遊ゲート型電界効果トランジスタ構造を有しており、1素子で1ビット(1セル)を構成することができる。そのために高集積化に優れている。このメモリセル100ヘのデータの書き込みは、制御ゲート電極Gに約12V、ドレイン電極Dに約7V、ソース電極Sに0Vを印加して、ドレイン接合部近傍で発生させたホットエレクトロンを浮遊ゲート電極FGに注入することにより行う。この書き込みによって、メモリセル100の制御ゲート電極Gから見た閾値電圧Vthは高くなる(データ「0」)。
【0004】
また、この浮遊ゲート型電界効果トランジスタ構造を有したメモリセル100は、1素子で多値(メモリセルの閾値電圧Vthを数百mV間隔で2のn乗の状態を作る)を構成すると更に高集積化に優れる。
【0005】
このメモリセル100ヘのデータの書き込みは、ソース電極Sを0Vにし、制御ゲート電極Gに約12V、ドレイン電極Dに約7Vの数マイクロ秒のパルスを印加し、ドレイン接合部近傍で発生させたホットエレクトロンを浮遊ゲート電極FGに注入することにより行う。この書き込みによってメモリセル100の制御ゲート電極Gから見た閾値電圧Vthは高くなる。メモリセル100の閾値電圧Vthの制御は、制御ゲート電極Gの電圧を変化、ドレイン電極Dの電圧変化、または、パルス幅を変化させて行う。
【0006】
一方、消去は制御ゲート電極Gを接地し、ソース電極Sに正の高電圧(約12V)を印加することにより、浮遊ゲート電極FGとソース電極Sの間に高電界を発生させ、薄いゲート酸化膜を通したトンネル現象を利用して浮遊ゲート電極FGに蓄積された電子をソース電極Sに引き抜くことによって行う。この消去は、通常、ブロック単位(例えば16Kバイトや64Kバイト単位)に行われる。この消去によって制御ゲート電極Gから見た閾値電圧Vthは低くなる(デーダ「1」)。このとき、メモリセル100が選択トランジスタを持たないため、閾値電圧Vthが負になること(過剰消去)は致命的な不良となる(データ読み出し時に、正しいデータが読み出せない不良)。
【0007】
また、データ読み出しは、ソース電極Sに0V、ドレイン電極Dに約1V程度の低電圧を印加し、制御ゲート電極Gには約5V程度の電圧を印加し、このときに流れるチャンネル電流の大小が情報の「1」と「0」とに対応することを利用して行う。ドレイン電極Dへの電圧を低電圧にするのは、寄生的な弱い書き込み動作(ソフトライト)を防止するためである。
【0008】
また、多値記憶のデータ読み出しは、ソース電極Sに0V、ドレイン電極Dに約lV程度の低電圧を印加し、制御ゲート電極Gに印加する電圧を変化し、このときにチャンネル電流が流れる時の制御ゲート電極Gの電圧を利用して行う。なお、このメモリセル100では、データ書き込みをドレイン電極D側、消去をソース電極S側で行うので、接合プロファイルはそれぞれの動作に適するように個別に最適化するのが望ましい。即ち、ソース電極S、ドレイン電極Dは非対称構造になっており、ドレイン接合部では書き込み効率を高めるために電界集中型プロファイルを用い、ソース接合部では高電圧が印加可能な電界緩和型プロファイルを採用している。
【0009】
消去時にソース電極Sに高電圧を印加する方法は、ソース接合部の耐圧を高めなければならないので、ソース電極S側を微細化しにくいこと、およびソース電極S近傍でホットホールが発生し、その一部がトンネル絶縁膜中にトラップされ、セルの信頼性が低下するなどの問題がある。
【0010】
そこで、他の消去の例(負ゲート消去)としては、制御ゲート電極Gに負電圧(約−10V)、ソース電極Sに電源電圧(約5V)を印加し、トンネル電流によって消去する。
【0011】
この消去方法の利点の一つは、消去時にソース電極Sに印加される電圧が低いので、ソース電極S側の接合耐圧が低くてもよいので、セルのゲート長を短縮することが可能なことである。また、負ゲート消去法を用いると、消去ブロックサイズを小さくし易いという利点(セクタ消去と呼ばれる)もある。
【0012】
また、ソース電極Sに高電界を加えた消去方法では、この高電界に起因する寄生的な電流であるバンド間トンネル電流が流れ、その電流値はチップ全体で数mAにもなるので、電流供給能力が限られる昇圧回路の使用が困難になる。したがって、従来は、消去用の高電圧Vppをチップ外部から供給していた。負ゲート消去方法では、ソース電極Sに電源電圧Vcc(5Vまたは3V)を供給することが可能になるので、単一電源化が比較的容易に可能になるという利点がある。
【0013】
データ書き込みに、ホットエレクトロンを用いる方法では、書き込み時に1セル当たり約1mAの電流が流れるので、従来のEEPROMと同様にFNトンネル電流を用い、データ書き込み時に1セル当たりに流れる電流を少なくするフラッシュメモリもある。
【0014】
半導体プロセスの微細化や電池駆動の携帯型機器の普及と共に動作電源の低電圧化が要望されている。そのため、5V単一動作ではなく、3V単一動作品や、2.7V単一動作品の要求/開発が活発である。
【0015】
3V電源(Vcc)や2.7V電源でデータを読み出す場合、現状のフラッシュEEPROMでは、制御ゲート線(ワード線)に電源電位(Vcc=3V)、または高速化/動作マージン拡大のため内部昇圧した約5Vを印加している。
【0016】
このような不揮発性半導体記憶装置では、短時間での書き込みと読み出しが可能なRAM(ランダム・アクセス・メモリ)に比べて、多くの動作状態(書き込み、ブロック消去、全チップ一括消去、状態レジスタの読み出しなど)を持つ。多数の動作状態を外部制御信号(/CE,/WE,/CEなど)の組み合わせに対応させると、従来のEPROM,EEPROMにある制御信号では足らなくなるので、新しい制御信号を追加する必要が生じる。その結果、使い勝手が悪くなるので、制御信号線を増加することなく、コマンド方式をとる方法が考案されて世の中の主流になっている。この不揮発性半導体記憶装置では、ユーザが入力したコマンドは、CSM(コマンド・ステート・マシン)と呼ばれるコマンドを認識する回路に入り、WSM(ライト・ステート・マシン)がコマンドに対応した動作(消去/書き込みなど)を実行する。
【0017】
この種の不揮発性半導体記憶装置は、チップ内の消去ブロックの大きさを不均等または均等に分割したものがある。
【0018】
書き込み/消去方法共に、FNトンネル電流で行うものや、メモリセルを直列に8個または16個接続したNAND型と呼ばれるメモリセル方式もある。VAND型は、NOR型に比べて読み出しスピードが遅いが、メモリセルサイズを小さくできるという利点がある。
【0019】
上述したように、通常は、図18に示すように、1個のメモリセルに2値(1ビット)を記憶する。1個のメモリセルに4値(2ビット)や8値(3ビット)更には、さらには16値(4ビット)などの多値を記録する試みもある。
【0020】
1個のメモリセルに例えば2値(1ビット)を記憶する場合には、データ「1」をメモリセルの閾値電圧Vth=2.5Vとし、データ「0」をメモリセルの閾値電圧Vth=6.5vと定めると、データ間の閾値電圧Vthの差は約4Vである。しかし、1個のメモリセルに例えば4値(2ビット)を記憶する場合には、この4Vの間にさらに、2値を記憶させる必要がある。
【0021】
即ち、データ「11」をメモリセルの閾値電圧Vth=2Vとし、データ「10」をメモリセルの閾値電圧Vth=3.5Vとし、データ「01」をメモリセルの閾値電圧Vth=5vとし、データ「00」をメモリセルの閾値電圧Vth=6.5vと定めると、データ間の閾値電圧Vthの差は約1.5Vに小さくなる。
【0022】
このように、1個のメモリセルにより多くの値を記憶する程、1個のメモリセル内の、ある記憶状態と他の記憶状態との電位差が小さくなる(データの読み誤りが発生しやすい)欠点があるが、安価に大容量のメモリが作製できるという利点もある。
【0023】
このようなフラッシュメモリの不揮発性という特性を利用して、ハードディスクに代表される磁気ディスクのようなデータ記憶(ファイルシステム)用途に用いることが提案されている。即ち、データの取り扱い単位をハードディスクのように数100バイト程度と小さくし、効率良くデータを管理するものである。しかし、フラッシュメモリでファイルシステムを構築すると、以下のような課題(1)〜(3)がある。
【0024】
(1)まず、この種の不揮発性半導体記憶装置では、データ読み出し速度が約100ナノ秒(nSec)と速いのに比べて、データの書き込み動作は約20マイクロ秒(μSec)、消去動作は数百ミリ秒(mSec)と更に遅い。
【0025】
(2)次に、フラッシュメモリはデータの書き換えがブロック単位であり、1バイト単位でデータを書き換えられない。
【0026】
(3)さらに、データ保持期間は、約10年以上可能であるが、ブロックの消去回数が増加する程、酸化膜の劣化がすすみ、リーク電流が増加するので、データ保持期間は短縮する傾向にある。そのため、消去回数の制限は、各ブロック当たり約10万回であり、或る1つのブロックに集中して書き換えが起こり、一個のブロックの消去回数が10万回を越えるとフラッシュメモリチップ全体の信頼性が大幅に劣化する。
【0027】
フラッシュメモリをデータ記憶(ファイル記憶)に用いるには、上記課題(1)〜(3)に対し次の様に対策している。まず、データの消去状態または有効状態を示す状態ビットをデータに付加する。即ち、実際には、消去動作は行わず、状態ビットヘの書き込みのみで、データの状態が変化したことを示す。このように、データの消去は状態ビットの書き込みで代用されるので、見かけ上データの消去が1000倍以上高速化され、また、実際の消去動作を頻繁に行わなくて済む。
【0028】
しかし、ブロック中に、実際には消去されておらず、状態ビットのみ消去状態のデータ、即ち、無効データが増加すると新たにデータを書き込むための空き領域がなくなる。データを書き込むための領域が無くなれば、有効なデータを予め消去済みの予備ブロックにコピーする。このコピーが終わると、ブロック中に消去状態のデータが多かったコピー元のブロックを消去して、新たに予備ブロックとする。この動作を再構築(リクレイム)と呼んでいる。
【0029】
この再構築動作を模式的に示すと図19(1)〜図19(3)のようになる。即ち、消去ブロック1と消去ブロック2があり、消去ブロック1がデータ記憶用ブロックでブロック2が予備ブロックを示している。予備ブロックは予め消去済み(全ビットの値が「1」)であるとする。各消去ブロックは5つのデータの取り扱い単位(以下セクタと称する)があり、セクタ毎にその状態を示す状態ビットを持つ。この説明を簡略化するため、ここでは、状態ビットは1ビットであり、その値が「1」でセクタのデータが有効、「0」でセクタのデータが無効とする。図19(1)で消去ブロック1は全てのセクタA〜Eにデータが書き込まれており、そのうち、セクタBとセクタDは状態ビットが「0」であり無効データである。このブロックにはこれ以上データを書き込めるセクタがないため、再構築動作が行われる。再構築は図19(2)のように、ブロック1のセクタのうち、状態ビットが「1」で、データが有効なセクタの内容が予備ブロック(ブロック2)にコピーされる。予備ブロックでコピーされなかったセクタは消去状態になっており、このセクタにはデータを書き込むことが可能となる。このように、有効なデータを予備ブロックにコピーすると、元のデータ記憶ブロック(ブロック1)を消去し、これを新たな予備ブロックとする(図19(3))。
【0030】
実開平6−48051号公報「ICカード」には、1チップ単位でのみ消去可能なメモリ、複数チップからなる半導体メモリと、バイト単位で消去可能な半導体メモリを用い、1チップ単位でのみ消去可能なメモリに書き込まれているファイルに関する情報がバイト単位で消去可能な半導体メモリに書き込まれたICカードの一例が示されている。
【0031】
特開平6−223591号公報「フラッシュEEPROMのアレイのクリーン・アップ方法」では、従来の再構築動作の対象となるブロックは、消去回数の平均化のため、他の消去ブロックに比べて書き換え回数が少ないブロックが選ばれるかまたは、データを書き込み易くするために、消去状態(無効)のデータが多い消去ブロックが選ばれるものである。
【0032】
【発明が解決しようとする課題】
しかし、上記従来の構成では、ビット単価を下げるために、近年、1個のメモリセルに複数のビット(2ビット、3ビットおよび4ビット)を記憶するようになってきている。これを多値化と呼ぶが、この多値化の場合、1個のメモリセルに多くのビットを記憶する程、データ間の閾値電圧Vthの電位差を小さくしなければならないので、その分、保持データが劣化しやすくなり、例えば10年間のデータ保持ができず、データ保持への信頼性および製品歩留まりの点で問題がある。
【0033】
本発明は、上記従来の問題を解決するもので、データの劣化が進んでいると判断されるブロックを再構築動作の対象ブロックとしてリフレッシュすることにより、多値化してもその保持データの劣化を防止できて、データ保持への信頼性と製品歩留まりの向上を図ることができるファイルシステムおよびその制御方法を提供することを目的とする。
【0034】
【課題を解決するための手段】
本発明のファイルシステムは、複数個の消去ブロックによって構成されブロック単位でデータを消去可能とする不揮発性半導体記憶装置に対して、消去ブロックが論理的により小さな記憶領域単位に分割され、消去ブロックおよび記憶領域単位の状態情報を用いてファイルが管理され、かつ消去ブロックに含まれる無効な記憶領域単位を開放するブロックの再構築動作を行うファイルシステムにおいて、消去ブロック毎にブロックを再構築した日付を所定の記憶領域に格納する再構築日付記憶手段と、再構築日付記憶手段にて記憶した日付から一定の期間が経過したブロックを優先的に再構築処理する再構築制御手段とを有したものであり、そのことにより上記目的が達成される。また、本発明のファイルシステムの制御方法は、複数個の消去ブロックによって構成されブロック単位でデータを消去可能とする不揮発性半導体記憶装置に対して、該消去ブロックが論理的により小さく分割された記憶領域単位および消去ブロックの状態情報を用いてファイルを管理するファイルシステムの制御方法において、消去ブロックに含まれる無効な記憶領域単位を開放するブロックの再構築処理は、消去ブロック毎にブロックを再構築した日付を所定の記憶領域に記憶しておき、その日付から一定の期間が経過したブロックを優先的に処理するものであり、そのことにより上記目的が達成される。
【0035】
また、好ましくは、本発明のファイルシステムにおける再構築制御手段は、日付を基に各ブロック毎に直近に行ったブロックの再構築時からの経過時間を計算する再構築経過時間計算手段と、その計算結果を高速にアクセス可能な記憶領域に表形式で格納する第1計算結果格納手段と、経過時間の計算結果を基に、一定の期間が経過したブロックを、優先的に再構築する第1再構築処理手段とを有する。また、好ましくは、本発明のファイルシステムの制御方法において、各ブロック毎に直近に行ったブロックの再構築時からの経過時間を計算した計算結果を、高速にアクセス可能な記憶領域に表形式で格納しておき、その経過時間の計算結果に基づいて、一定の期間が経過したブロックを、優先的に再構築の対象ブロックとする。
【0036】
さらに、好ましくは、本発明のファイルシステムにおける再構築制御手段は、ブロックの消去回数を計数する消去回数計数手段と、その計算結果を高速にアクセス可能な記憶領域に表形式で格納する第2計算結果格納手段と、第2計算結果格納手段にて記憶する消去回数が多いほど、日付を基に予め定められる一定の短い周期でかつ優先的に再構築する第2再構築処理手段とを有する。また、好ましくは、本発明のファイルシステムの制御方法において、消去回数が多いブロックほど、日付を基に予め定められる一定の短い周期でかつ優先的に再構築の対象ブロックとする。
【0037】
さらに、好ましくは、本発明のファイルシステムにおける再構築制御手段は、ブロックの消去回数を計数する消去回数計数手段と、日付を基に各ブロック毎に直近に行ったブロックの再構築時からの経過時間を計算する再構築経過時間計算手段と、その消去回数および経過時間を、高速にアクセス可能な記憶領域に表形式で格納する第3計算結果格納手段と、消去回数および経過時間からパラメータを算出するパラメータ計算手段と、パラメータ計算手段で計算した計算結果を、高速にアクセス可能な記憶領域に表形式で格納するパラメータ格納手段と、このパラメータに基づいて、一定の期間が経過したブロックを優先的に再構築する第3再構築処理手段とを有する。また、好ましくは、本発明のファイルシステムの制御方法において、ブロックの消去回数と、日付を基に各ブロック毎に直近に行ったブロックの再構築時らの経過時間とから算出した計算結果を、高速にアクセス可能な記憶領域に表形式で格納し、計算結果を基に、一定の期間が経過したブロックを優先的に再構築の対象ブロックとする。
【0038】
さらに、好ましくは、本発明のファイルシステムにおける再構築制御手段は、電源投入時、システムリセットからの復帰時、再構築動作を一定期間行わなかった場合の少なくとも何れかのときに、再構築動作を優先的に行う。
【0039】
さらに、好ましくは、本発明のファイルシステムにおける再構築制御手段は、メモリセルの特性が劣化したことを検出するメモリセル特性劣化検出手段を有し、該メモリセル特性劣化検出手段がメモリセル特性の劣化を検出した場合に、その劣化が検出されたメモリセルを含む記憶領域単位および消去ブロックに対して再構築動作を優先的に行う。
【0040】
さらに、好ましくは、消去回数と再構築年月から求めた計算結果として10の乗数で表し、その計算式に乗数を用いる。また、好ましくは、前記不揮発性半導体記憶装置のメモリセルに多値を記憶させる。
【0041】
さらに、好ましくは、本発明のファイルシステムにおける再構築日付記憶手段は、実際に存在する記憶領域単位番号を超える番号の状態情報記録領域に再構築日付を記憶させる。
【0042】
さらに、好ましくは、本発明のファイルシステムにおける再構築制御手段は、実際に存在する記憶領域単位番号を超える番号の状態情報記録領域に、再構築時からの経過時間、消去回数および、これらから得たパラメータの少なくとも何れかを記憶させる。
【0043】
さらに、好ましくは、本発明のファイルシステムにおいて、実際に存在する記憶領域単位番号を超える番号の状態情報記録領域に使用不可な物理ブロック番号を記憶する。
【0044】
さらに、好ましくは、本発明のファイルシステムにおいて、使用不可な物理ブロック番号を高速にアクセス可能な記憶領域に記憶する。
【0045】
上記構成により、以下、その作用を説明する。再構築の対象となるブロックとして、データ劣化、即ち、前述のように、メモリセルの酸化膜が劣化し、保持しているデータの信頼性が低下した状態が起きたブロックも考慮に入れる。具体的には、他の消去ブロックに比べて、消去状態(無効)のデータが多いブロックが選ばれるだけではなく、データ劣化が進んでいる(または、データ劣化が進んでいる可能性がある)ブロックも再構築の対象ブロックとする。より具体的には、ブロック構築時の日付(年月)をブロックの一部に書き込む。一般的に、書換え回数が多いほど、酸化膜トラップの発生や酸化膜の劣化がすすみ、一定時間が経てば再構築動作の対象とする。または、ブロック消去回数とブロック構築時の日付(年月)をブロックの一部に書き込む。一般的に、書き換え回数が多いほど、酸化膜トラップの発生や酸化膜の劣化がすすみ、リーク電流が増加するので、データの劣化が進みやすいから、書き換え回数が多いブロックほど、より短時間のうちに(優先的に)再構築動作の対象とする。即ち、書き換え回数が多いためデータの劣化が進んでいると考えられるブロック内の有効データをこれより書き換え回数の少ない予備ブロック側へ移す。
【0046】
また、リフレッシュ機能(またはリフレッシュコマンド)を持つ不揮発性記憶装置の場合には、リフレッシュ要否判定実行の結果、メモリセルの閾値電圧Vthが規定値よりも大きく変化していて、メモリセルのリフレッシュが必要と判断された場合には、そのブロックを優先的に再構築動作の対象とする。リフレッシュ機能の一例としては、特開平7−37397号公報があり、ここで言うリフレッシュ機能とは、メモリセルに保持されているデータが「0」か「1」かを判別する基準となるリファレンス電圧を変化させることにより読み出しマージンをチェックし、マージンの少ないメモリセルは劣化が進んでいると判断し、余剰な書き込み動作を行い閾値電圧Vthを回復することを示している。
【0047】
この再構築動作の対象となるブロックは、他の消去ブロックに比べて書き換え回数が少ないブロックが選ばれるか、または、消去状態(無効)のデータが多いブロックが選ばれる。ビット単価を下げるために、近年では1個のメモリセルに複数のビット(2ビット、3ビットや4ビット)を記憶する多値化が行われ、この多値化の場合には、1個のメモリセルに多くのビットを記憶する程、データ間の電位差が小さくなるので、データ保持時間が劣化し(10年間保持できない)、信頼性と歩留まりの問題が発生するが、データ劣化が起きたブロックや、書き換えた日付(年月)が古いブロック(データ劣化が懸念されるブロック)を再構築動作の対象とするので、特に、微細化プロセスで製造された不揮発性半導体記憶装置や、1個のメモリセルに複数のビット(2ビット、3ビットや4ビット)を記憶する多値化セルのデータ保持特性の劣化(10年間保持できない)が解消され、信頼性と歩留まりの問題が解消する。
【0048】
具体的には、各消去ブロック毎にブロックを再構築した日付(年月)を格納する領域を有し、一定の期間が経過したブロックを、再構築の対象とするので、データ保持特性の劣化(10年間保持できない)が解消され、歩留まりの問題も解消される。
【0049】
また、各消去ブロック毎に、ブロックを再構築した日付を格納する領域を有し、各ブロック毎の経過時間の計算結果をRAMのような高速メモリ上にテーブルとして格納し、一定の期間が経過したブロックを、再構築の対象とするので、データ保持特性の劣化(10年間保持できない)が解消され、歩留まりの問題が解消すると共に高速な検索が可能となる。
【0050】
さらに、各消去ブロック毎に、ブロック消去回数とブロックを再構築した年月を格納する領域を有し、ブロック消去回数が多いほど一定の短い周期で再構築の対象とするので、データ保持特性の劣化(10年間保持できない)が解消され、歩留まりの問題が解消する。
【0051】
さらに、各消去ブロック毎に、ブロック消去回数とブロックを再構築した年月を格納する領域を有し、ブロック消去回数と各ブロック毎の経過時間から算出した計算結果をRAMのような高速メモリ上にテーブルとして格納し、一定の期間が経過したブロックを、再構築の対象とするので、データ保持特性の劣化(10年間保持できない)が解消され、歩留まりの問題が解消する。
【0052】
さらに、電源投入時、システムリセットから復帰時、さらには、再構築動作を一定期間行わなかった場合などに、優先的に再構築動作の実行を開始することにより、データ保持特性の劣化(10年幣持できない)が解消され、歩留まりの問題も解消する。
【0053】
さらに、データ書き換え回数と再構築日付から求めた計算結果(経過時間と消去回数の各条件に応じて量が変化するパラメータ)を記憶するので、RAMの記憶容量を少なくできる。
【0054】
さらに、実際に存在するセクタ番号を超える番号のセクタ状態情報記録領域を使うので、記憶領域を無駄にせず有効に利用できる。
【0055】
さらに、使用不可な物理ブロック番号を記憶するので(データ書き換えできない)不良ブロックを含むフラッシュメモリが使用可能となり、製品歩留まりが上がり、安価になる。また、使用不可な物理ブロック番号をRAM上に記憶するので、高速な検索が可能となる。
【0056】
【発明の実施の形態】
以下、本発明のファイルシステムの実施形態1,2について図面を参照しながら説明する。
(実施形態1)
図1は、本発明の実施形態1におけるファイルシステムのシステム構成を示すブロック図である。
【0057】
図1において、フラッシュ・メモリ・ファイル・システム1(以下ファイルシステム1という)は、ファイルシステム制御部2と、ファイルシステムメモリ部3と、フラッシュメモリ制御部4と、データ格納用のフラッシュメモリ部5とを有しており、消去ブロックおよび記憶領域単位(セクタ)の状態情報を用いてファイルが管理され、かつ消去ブロックに含まれる無効なセクタを開放するブロックの再構築動作を行うものである。
【0058】
ファイルシステム制御部2は、アプリケーション(またはオペレーティングシステムOS)6から依頼され、ファイルシステム1が行う再構築処理を含む各種データ処理を制御するものである。ファイルシステム制御部2は、本発明の特徴部分として、図2に示すように、消去ブロック毎にブロックを再構築した日付を、所定の記憶領域を持つファイルシステムメモリ部3に格納する再構築日付記憶手段21と、再構築日付記憶手段21にて記憶した日付から一定の期間が経過したブロックを優先的に再構築処理する再構築制御手段22を有している。なお、再構築日付はファイルシステムメモリ部3に格納された後に、フラッシュメモリ制御部4を介してフラッシュメモリ部5の所定の領域(ブロックコントロールセクタのセクタ♯128)にも格納される。
【0059】
この再構築制御手段22は、日付を基に各ブロック毎に直近に行ったブロックの再構築からの経過時間を計算する再構築経過時間計算手段221と、その計算結果を高速にアクセス可能な記憶領域に表形式で格納する第1計算結果格納手段222と、経過時間の計算結果を基に、一定の期間が経過したブロックを、優先的に再構築する第1再構築処理手段223とを有するものである。
【0060】
ファイルシステムメモリ部3は、高速にアクセス可能な記憶領域を持ち、ファイルシステム1がその記憶領域に、後述する状態情報(図4〜図6)などの制御情報を格納するために使用するものである。この制御情報としては、上記状態情報の他に、テーブル形式で例えば消去回数および再構築日付、この日付からの経過時間、パラメータ計算結果などを記憶している。
【0061】
フラッシュメモリ制御部4は、ファイルシステム制御部2によって指示されて、フラッシュメモリ部5ヘの通常のデータ読出し、データ書込みおよびデータ消去、さらには、再構築処理によるデータ読出し、データ書込みおよびデータ消去などの各種データ処理を制御するものである。
【0062】
フラッシュメモリ部5はデータを記憶するものであり、複数個の消去ブロックによって構成されブロック単位でデータを消去可能とする不揮発性半導体記憶装置であり、ここでは、消去ブロックが論理的により小さなデータ記憶領域単位であるセクタに分割されている。以下、図3を用いて詳細に説明する。
【0063】
図3は、図1のフラッシュメモリ部5に格納されているデータ構成図である。図3に示すように、フラッシュメモリの各消去ブロックは、データの取り扱い単位であるセクタに分割されて配置されており、各消去ブロックのサイズが64キロバイトで、各セクタのサイズが512バイトであるとした場合、各消去ブロックには128個のセクタ(図3ではブロックコントロールセクタとセクタ#1〜セクタ#127のデータ領域)が存在することになる。
【0064】
ここで、フラッシュメモリの複数個ある消去ブロックのうち、任意の1個の消去ブロックを、ファイルシステム1の再構築用の予備ブロック(データが消去されフォーマットされたブロック)とする。
【0065】
複数個ある消去ブロックはアドレスの小さい方から大きい方に向かって、0、1、2、...と物理ブロック番号が割り当てられる。また、上記セクタ#1からセクタ#127として付された番号を物理セクタ番号と称する。物理ブロック番号と物理セクタ番号はハードウェアで一意的に定められ、原則として、固定した値を持つものとする。なお、論理ブロック番号と論理セクタ番号はファイルシステムの効率的な管理上設けられた番号であり、その値は変化し得る。
【0066】
消去ブロックのセクタのうち、先頭部分に存在するセクタ1個を、該当ブロックの制御情報を格納するセクタ(以下、ブロックコントロールセクタと呼ぶ)として、予め確保する。
【0067】
このブロックコントロールセクタは、先頭から、該当消去ブロック自身の状態情報2バイト、該当消去ブロック内のセクタ#1の状態情報2バイト、以下、セクタ#127の状態情報2バイトが配置され、2バイト×128個=256バイトの情報を有している。残りの256バイト部(図2のセクタ#128以降の状態情報)には、再構築年月(日付)などが記憶される。
【0068】
該当消去ブロック自体の状態情報は、ファイルステム制御部2が割り当てを行う0〜255の論理ブロック番号、および現在のブロック状態として、(1)11111111b:未使用、(2)11111110b:データ転送中、(3)11111100b:元ブロック消去中、(4)11111000b:データ有り、(5)11110000b:ブロックフルの5つの状態を有する。
【0069】
該当消去ブロック内のセクタの状態情報は、上記該当消去ブロック自身の状態情報と同様に、ファイルシステム制御部2が割り当てを行う0〜4095の論理セクタ番号、および現在のセクタ状態として、(I)1111b:未使用、(II)1110b:データ書き込み中、(III)1100b:データ書き込み完了、(IV)1000b:データ有効、(V)0000b:データ無効、の5つの状態を有する。
【0070】
前述したように、図3のセクタ#127状態情報を越える部分(セクタ#128)には、該当ブロックの直近の再構築年月日時(または年月)を記憶する。例えば、再構築年月日時を記憶するには、例えば「1999111220」で1999年11月12日20時を表す構成とする。再構築年月を記憶するには、例えば「199911」で1999年11月を表す構成とする。または、2000年以降は、例えば「00011」で2000年11月を表し、例えば「00112」で2001年12月を表すものとする。更に簡略化めために、2000年以降は、例えば「0011」で2000年11月を表し、例えば「0112」で2001年12月を表すようにしてもよい。
【0071】
図4は、図1のファイルシステムメモリ部3(RAM)に格納されている各消去ブロックに関するデータ構成図(以下、ブロック情報表と呼ぶ)である。図4では、物理ブロック番号、論理ブロック番号、およびブロック状態を1つの単位としたブロック情報を有しており、具体的には、「物理ブロック番号=0、論理ブロック番号=0、ブロック状態=データ有り」である消去ブロック、また、「物理ブロック番号=1、論理ブロック番号=1、ブロック状態=データフル(ブロックフル)」である消去ブロックなどが存在することを示している。
【0072】
図5は、図1のファイルシステムメモリ部3(RAM)に格納されている各セクタに関するデータ構成図(以下、セクタ情報表1と呼ぶ)である。図5では、物理ブロック番号、物理セクタ番号、論理セクタ番号および、セクタ状態を1つの単位とした情報を有しており、具体的には、「物理ブロック番号=0、物理セクタ番号=0、論理セクタ番号=100、セクタ状態=データ有効」である物理セクタ、また、「物理ブロック番号=0、物理セクタ番号=1、物理セクタ=10、セクタ状態=データ無効」である物理セクタなどが存在することを示している。
【0073】
図6は、図1のファイルシステムメモリ部3(RAM)に格納されている各消去ブロック毎の各セクタ状態数に関するデータ構成図(以下、セクタ情報表2と呼ぶ)である。図6では、物理ブロック番号、未使用セクタ数、データ有効セクタ数、データ無効セクタ数および、再構築年月を1つの単位とした情報を有しており、具体的には、「物理ブロック番号=0、未使用セクタ数=100、データ有効セクタ数=20、データ無効セクタ数=7、再構築年月00010(2000年10月)」である消去ブロック、また、「物理ブロック番号=1、未使用セクタ数=0、データ有効セクタ数=50、データ無効セクタ数=77、再構築年月00112(2001年12月)」である消去ブロックなどが存在することを示している。
【0074】
以上の図4のブロック情報表、図5のセクタ情報表1および図6のセクタ情報表2は、ファイルシステム1が起動する段階において、フラッシュメモリ部5から、上記ブロックコントロールセクタと、図3のセクタ#128以降の状態情報を読み出すことによってそれぞれ、ファイルシステムメモリ部3(RAM)に作成される。ブロック情報表、セクタ情報表1およびセクタ情報表2をRAM部に作成しない場合においても、ファイルシステム1を使用することは可能であるが、データをやりとりする速度が、フラッシュメモリ部5とのデータのやり取りよりも高速であるという利点がある。
【0075】
上記構成により、以下、その動作を説明する。
【0076】
図7は、図1のファイルシステムメモリ部5に格納された制御データの読出し処理に関するフローチャート図である。
【0077】
図7に示すように、フラッシュメモリ部5に格納されたデータ読出し要求が発生した場合、このデータ読出し要求は、図1のアプリケーション(またはオペレーティングシステムOS)6からファイルシステム制御部2に対して、読出しすべき論理セクタ番号が与えられ、ファイルシステム制御部2は、ファイルシステムメモリ部3(RAM)に記憶されたセクタ情報表1から、読み出すべきデータが格納されたセクタの、セクタ状態が「データ有効」である論理セクタ番号を検索し、該当セクタのフラッシュメモリ部5における物理的な格納場所(物理セクタ番号)を取得する(ステップS121)。フラッシュメモリ制御部4は、取得した物理的な格納場所のセクタ読出しを行う(ステップS122)。さらに、ファイルシステム制御部2は、読み出すべきデータがまだあるかどうかを判断し(ステップS123)、読み出すべきデータがまだある場合にはステップS121に戻り、読み出すべきデータがない場合には処理を終了する。
【0078】
次に、フラッシュメモリ部5へのデータ書込み要求が発生した場合には、このデータ書込み要求は、図1のアプリケーション(またはオペレーティングシステムOS)6からファイルシステム制御部2に対して、書き込むデータが与えられ、ファイルシステム制御部2は、ファルシステムメモリ部3(RAM)に記憶された、セクタ情報表2から、未使用セクタ数が最も多い物理ブロック番号を取得し、その物理ブロック番号を取得できたかどうかの確認を行う。書き込み可能なブロックが取得できなかった場合には、書き込み領域を確保するためにファイルシステム1の再構築処理を行う。
【0079】
このように、フラッシュメモリ部5へのデータの書き込み要求が発生したが、データの書き込みが可能なセクタが取得できなくなった場合、即ち、無効セクタが多く未使用セクタがなくなった場合には、アプリケーション6(オペレーティングシステムOS)からファイルシステム1の再構築の要求が発生し、ファイルシステム制御部2で再構築動作の制御が行われる。以下、この再構築動作の制御について説明する。
【0080】
図8および図9は、図1のファイルシステム1の再構築処理に関するフローチャート図、図10および図11は図8および図9の再構築処理中におけるデータの変化(操作)を示すデータ構成図である。なお、前述した図4〜図6に示したようなブロックおよびセクタに関する状態情報を有するテーブルや図3に示したデータ構成に類似した状態情報を用いてファイルシステム1を構築する方法が、特願平11−254973号に示されている。ここでは、その代表的な図12(本発明の図3に相当)、図13(本発明の図6に相当)を参考例として示している。本発明においては、図12と比較すれば判るが、図3に示すように「セクタ#128以降の状態情報」が追加され、また、図13と比較すれば判るが、図6に示すように「再構築年月」が追加されている。ここでは、この追加した点(本発明の特徴部分)を中心に説明し、前述したブロック状態情報やセクタ状態情報のアプリケーション6(またはオペレーティングシステムOS)からの利用方法等の詳細は特願平11−254973号に準ずるものとして、ここではその詳細な説明を省略する。
【0081】
図10では、再構築の対象となるブロックをブロック#0、予備ブロックをブロック#nとしている。まず、セクタ情報表2から再構築年月が一定期間経過している物理ブロック番号、次にブロック情報表からこの物理ブロック番号に対応する論理ブロック番号を取得する(ステップ151;A1,A2)。ただし、一定期間経過したものがない場合には、データ無効セクタ数が最も多い物理ブロック番号、および論理ブロック番号を取得するものとする。以下これらのブロック番号を再構築対象物理ブロック番号および再構築対象論理ブロック番号と呼ぶ。
【0082】
次に、予備ブロック、即ち、ファイルシステム1の再構築用に予め未使用状態(消去状態)で確保しておいたブロックの論理ブロック番号を再構築対象論理ブロック番号に更新する(A3)と共に、ブロック状態を「未使用」から「データ転送中」へ更新する(A4)。なお、予備ブロックはその論理ブロック番号が後述するように「11111111b」であることからブロック情報表を検索することにより特定できる。同様に、ブロック情報表においても予備ブロックの論理ブロック番号を再構築対象論理ブロック番号に更新し(A5)、ブロック状態を「未使用」から「データ転送中」に更新する(A6)。
【0083】
さらに、再構築対象物理ブロック番号を持つブロックに含まれる有効セクタのデータを予備ブロックヘコピーする。ここでは、コピー動作を効率よく行うために、セクタ情報表1から再構築対象物理ブロック番号を持つセクタのうち、セクタ情報が「データ有効」であるものを検索し、その物理セクタ番号を取得する(ステップ153、A7)。
【0084】
セクタ状態が「データ有効」である場合は、再構築対象物理ブロック番号を持つブロックに格納されているA7で取得した物理セクタ番号を持つブロックコントロールセクタ内のセクタ状態情報とデータ領域内のデータを、各々予備ブロックの同じ物理セクタを持つセクタ情報とデータ領域にコピーする(A8,A9)。
【0085】
さらに、セクタ状態情報表1の更新を行う。即ち、セクタ情報表1から再構築対象物理ブロック番号を持つA7で取得した物理セクタ番号に対応する論理セクタ番号およびセクタ状態(「データ有効」)を各々予備ブロックの物理ブロック番号を持つA7で取得したものと同じ物理セクタ番号に対応する論理セクタ番号およびセクタ状態ヘコピーする(A10,A11)。
【0086】
以上でセクタ状態が「データ有効」である1つのセクタのデータおよびそのセクタに付随する情報が再構築対象ブロックから予備ブロックヘコピーされる。再構築対象ブロックに含まれるセクタ状態が「データ有効」である全てのセクタをコピーするために、セクタ状態情報表1から再構築対象物理ブロック番号のブロックに、まだ残りのセクタがあるかどうかの確認を行い(ステップ156)、残りのセクタがある場合には、ステップ153へ戻り、残りのセクタがなくなるまで上記の処理を実行する。
【0087】
次に、セクタ情報表2の更新、再構築対象ブロックの消去およびそれに伴う状態情報の更新を行う。即ち、セクタ情報表2の再構築対象物理ブロックのデータ有効セクタ数を予備ブロックのデータ有効セクタ数にコピーし(A12)、また,再構築年月にこの再構築動作を行った年月を記入する(ステップ157、A13)。
【0088】
未使用セクタ数はブロックに含まれるセクタの総数からデータ有効セクタ数を減算した値を記入する(A14)。
【0089】
データ無効セクタ数は再構築直後は「0」である。次に、再構築対象ブロックの消去に控え、予備ブロックに格納されるブロックコントロールセクタ内のブロック状態情報中のブロック状態を「データ転送中」から「元ブロック消去中」へ更新し(A15)、対応するブロック情報表のブロック状態も同様に「データ転送中」から「元ブロック消去中」へ更新する(ステップ158、A16)。
【0090】
また、予備ブロックに格納されるセクタ#128以降の状態情報にもA13と同様に再構築年月を記入しておく(A17)。
【0091】
ここで、実際に再構築対象ブロックの消去動作を行う(ステップ159)。消去動作が完了すると、予備ブロックに格納されるブロックコントロールセクタ内のブロック状態情報中のブロック状態を「元ブロック消去中」から「データ有り」へ更新し(A18)、ブロック情報表の予備ブロックのブロック状態も同様に「元ブロック消去中」から「データ有り」へ更新する(ステップ160、A19)。
【0092】
消去動作によって、ブロック内の全てのデータは「1」となるので、あるブロックに格納されるブロック状態情報内の論理ブロック番号が「11111111b」のブロックを予備ブロックであると定義することにより、消去動作により、再構築対象ブロックは自動的に予備ブロックとなり、またブロックコントロールセクタ内のブロック情報も自動的に「未使用;11111111b」になる。
【0093】
また、ブロック情報表(図4)、セクタ情報表1(図5)、およびセクタ情報表2(図6)のステップ159で消去したブロック番号の各項目は、そのブロックが自動的に予備ブロックとなり、フラッシュメモリ部5へのデータの書き込みや読み出しにおいて参照されることがないため、更新は不要である。以上で再構築動作が終了する。
【0094】
なお、本実施形態1においては、ファイルシステム1の再構築の処理は、消去ブロック1つを消去する場合を示したが、この一連の再構築処理を複数回実行することも可能である。
【0095】
また、ファイルシステム1が、複数個のフラッシュメモリにより構成される場合においては、1個のフラッシュメモリ毎に任意の1個の消去ブロックをファイルシステム1の再構築用の予備ブロックとして、予め確保しておくのではなく、複数個のフラッシュメモリに対して、1個の予備ブロックを確保する構成にしてもよい。この場合には、確保する予備ブロックの数を少なくできるという利点がある。
(実施形態2)
上記実施形態1では、図3のセクタ#128状態情報以降に、該当ブロックの直近の再構築日付(例えば年月)を記憶し、それを用いて再構築処理を行う場合を示したが、本実施形態2は、図3のセクタ#128状態情報以降に、該当ブロックの直近の再構築日付(例えば年月)の他に、該当ブロックの消去回数をも記憶し、それらを用いて再構築処理を行う場合である。
【0096】
図14は、本発明の実施形態2におけるファイルシステムのファイルシステム制御部の機能構成を示すブロック図である。図14において、ファイルシステム制御部2Aは、再構築日付記憶手段21Aと、再構築制御手段22Aとを有している。再構築制御手段22Aは、ブロックの消去回数を計数する消去回数計数手段221Aと、各ブロック毎に直近に行ったブロックの再構築日付からの経過時間を計算する再構築経過時間計算手段222Aと、その消去回数および経過時間を、高速にアクセス可能な記憶領域を持つファイルシステムメモリ部3に表形式で格納する第3計算結果格納手段223Aと、消去回数および経過時間から所定のパラメータ(経過時間と消去回数の各条件に応じて変化する量)を算出するパラメータ計算手段224Aと、このパラメータ計算手段224Aで計算した計算結果を、高速にアクセス可能な記憶領域を持つファイルシステムメモリ部3に表形式で格納するパラメータ格納手段225Aと、このパラメータに基づいて再構築処理を行う第3再構築処理手段226Aとを有するものである。
【0097】
図15は、図14のファイルシステムメモリ部3に格納されている、各消去ブロック毎の各セクタ状態に関するデータの構成図(上記セクタ情報表2の他の例)である。図15において、物理ブロック番号、未使用セクタ数、データ有効セクタ数、およびデータ無効セクタ数、再構築日時、消去回数を1つの単位としたテーブル情報を有している。図15では、上記実施形態1で示した図6と同様に、例えば物理ブロック番号=0、未使用セクタ数目100、データ有効セクタ数=20、データ無効セクタ数=7、である消去ブロックを示し、また、例えば物理ブロック番号=1、未使用セクタ数=0、データ有効セクタ数=50、データ無効セクタ数=77を示している。さらに、図15では、図6の再構築年月の他に、記憶領域が増加するが、消去回数をも記憶している。この消去回数は10000で一万回を表している。
【0098】
消去回数(または書き換え回数)と再構築年月から求めた計算結果(経過時間と消去回数の各条件に応じて量が変化するパラメータ)を記憶する方が記憶容量を小さくできることに着目し、現在の年月が2001年10月であり、該当ブロックの再構築日が1999年12月で、消去回数が2102回であれば、年だけを考慮して、
2001年〜1999年=2年
消去回数は10の乗数で表し、2102=約2×10の3乗を計算結果としてRAM(ファイルシステムメモリ部3)上に、2年と3乗と約2を下記のようにパラメータとして「0232」と記憶する。これによって、年と回数を3桁で表すことが可能になる。
【0099】
再構築処理をするかどうかの判定方法としては、直近の再構築処理時から1年以内であれば、消去回数が 70000回以上、即ち、0047以上を再構築の対象とし、直近の再構築処理時から1年であれば、消去回数が50000回以上、即ち、「0145」以上を再構築の対象とし、直近の再構築処理時から2年であれば、消去回数が20000回以上、即ち、「0242」以上を再構築の対象とし、直近の再構築処理時から3年であれば、消去回数が7000回以上、即ち、「0337」以上を再構築の対象とし、直近の再構築処理時から4年であれば、消去回数が5000回以上、即ち、「0435」以上を再構築の対象とし、直近の再構築処理時から5年であれば、消去回数が2000回以上、即ち、「0532」以上を再構築の対象とし、直近の再構築処理時から6年であれば、消去回数が700回以上、即ち、「0627」以上を再構築の対象とし、直近の再構築処理時から7年であれば、消去回数が500回以上、即ち、「0725」以上を再構築の対象とし、直近の再構築処理時から8年であれば、消去回数が200回以上、即ち、「0822」以上を再構築の対象とし、直近の再構築処理時から9年であれば、消去回数が70回以上、即ち、「0917」以上を再構築の対象とし、直近の再構築処理時から10年以上であれば、消去回数が50回以上、即ち、1015以上を再構築の対象とする。
【0100】
フラッシュメモリ部5へのデータの書き込み要求が発生したが、データの書き込みが可能なセクタが取得できなくなった場合には、ファイルシステム1の再構築の要求が発生し、図8において、図15のセクタ情報表2から、まず、消去回数と、経過時間との計算結果が、データ保証に必要な上記一定値(パラメータ)を超えた物理ブロック番号、および論理ブロック番号を取得する(ステップ151)。また、一定期間経過したものがない場合には、データ無効セクタ数が最も多い物理ブロック番号、および論理ブロック番号を取得する(ステップ151)。
【0101】
従来は、再構築動作の対象となるブロックは、他の消去ブロックに比べて書き換え回数が少ないブロックが選ばれるか、または、消去状態(無効)のデータが多いブロックが選ばれる。ビット単価を下げるために、近年では、1個のメモリセルに複数のビット(2ビット、3ビットや4ビット)を記憶するようになってきた(多値化と呼ぶ)。しかし、多値化の場合には、1個のメモリセルに多くのビットを記憶する程、データ間の閾値電圧Vthの電位差が小さくなるので、保持データが劣化し、データ保持時間として10年間の保持もできない。これによって、データ保持の信頼性と製品歩留まりの問題が発生する。これに対して、上記実施形態1,2に代表される本発明によれば、データ劣化を起きたブロックや、書き換えた日付(年月)が古いブロック(データ劣化が懸念されるブロック)を再構築動作の対象とするので、特に、微細化プロセスで製造された不揮発性半導体記憶装置や、1個のメモリセルに複数のビット(2ビット、3ビットや4ビット)を記憶する多値化したセルのデータ保持特性の劣化(10年間保持できない)を解消でき、データ保持の信頼性と製品歩留まりの上記問題を解消することができる。
【0102】
以上のように、更にその効果を説明すると、上記実施形態1の再構築動作として、
(a)前回再構築動作が行われてから、別途定める一定時間を経過していた場合、データの劣化が発生しているから、データのリフレッシュを行うために、再構築を行う。これによって、多値化してもその保持データの劣化を防止できて、データ保持への信頼性と歩留まり向上を図ることができる。
【0103】
さらに、よりきめ細かな対応としては、本実施形態2の再構築動作として、
(b)書き換え回数が多いほど、データ保持特性が劣化するから、書き換え回数が多いほど、前回再構築動作が行われてから、別途定めるより短い時間を経過した場合に、データのリフレッシュを行うために、再構築を行う。具体例としては、書き換え回数と経過時間との計算結果が一定値を越えた場合に、再構築を行うようにする。これによって、多値化してもその保持データの劣化を防止できて、データ保持への信頼性と歩留まり向上を図ることができる。
【0104】
なお、上記実施形態1として、図3のセクタ#128状態情報以降に、該当ブロックの直近の再構築年月を記憶させ、上記実施形態2として、図3のセクタ#128状態情報以降に、該当ブロックの直近の再構築年月の他に、該当ブロックの消去回数を記憶させたが、これに限らず、実施形態3として、図3のセクタ#128状態情報以降に、該当ブロックの消去回数だけを記憶させ、それを用いて再構築処理を行っても、多値化してもその保持データの劣化防止ができて、データ保持への信頼性と歩留まり向上を図ることができる本発明の効果を奏する。この場合に、再構築制御手段は、ブロックの消去回数を計数する消去回数計数手段と、その計算結果を高速にアクセス可能な記憶領域に表形式で格納する第2計算結果格納手段と、この第2計算結果格納手段にて記憶する消去回数が多いほど、日付を基に予め定められる一定の短い周期でかつ優先的に再構築する第2再構築処理手段とを有するように構成すればよい。
【0105】
また、上記実施形態1,2以外の例としては、リフレッシュコマンドを持つフラッシュメモリの場合には、メモリセルが劣化し、メモリセルの閾値電圧Vthを回復するために、リフレッシュ必要と判断されたブロックには、次回の再構築動作の対象とするために、上述の図15のセクタ情報表2の書き換え回数(消去回数)と経過時間との計算結果(パラメータ計算結果)を記録する場所に、上記一定値以上の値(例えば9999)を記録し、次回の再構築時に優先的に再構築の対象となるようにすることもできる。
【0106】
さらに、上記実施形態1,2以外の例としては、書き換えできない不良ブロックや、消去回数(または書き換え回数)が規定値(例えば、デバイス仕様書が保証する書き換え回数)を超えたブロックは、図16のように、ブロック状態を使用禁止(データ記録に使わないブロック)とする。そして、図3のセクタ#128以降の状態情報の領域に使用禁止ブロック番号を記録する。
【0107】
さらに、他の例として、本発明の不揮発性半導体記憶装置に電源の投入を検出する電源電圧検出回路を設け、電源投入の検出時に前述した再構築動作を起動するようにしても良い。また、更に他の例として、システムリセットからの復帰時にも前述した再構築動作を起動するようにしてもよい。
【0108】
【発明の効果】
以上のように、本発明によれば、各消去ブロック毎にブロックを再構築した日付(年月)を格納する領域を有し、直近の再構築日付から一定の期間が経過したブロックを、再構築の対象とするため、データ保持特性の劣化(10年間保持できない)を解消することができ、製品歩留まりの問題を解消することができる。
【0109】
また、各消去ブロック毎にブロックを再構築した日付(年月)を格納する領域を有し、各ブロック毎の直近の再構築日付からの経過時間の計算結果を、高速にアクセス可能な記憶領域上に表形式(テーブル)として格納し、直近の再構築日付から一定の期間が経過したブロックを、再構築の対象とするため、高速な検索ができてデータ保持特性の劣化(10年間保持できない)を解消でき、製品歩留まりの問題を解消することができる。
【0110】
さらに、各消去ブロック毎に、ブロック消去回数とブロックを再構築した日付(年月)を格納する領域を有し、ブロック消去回数が多いほど一定の短い周期で再構築の対象とするため、データ保持特性の劣化(10年間保持できない)を解消でき、データ保持の信頼性と製品歩留まりの問題を解消することができる。
【0111】
さらに、各消去ブロック毎にブロック消去回数とブロックを再構築した日付(年月)とを格納する領域を有し、ブロック消去回数と各ブロック毎の経過時間とから算出した計算結果を、高速にアクセス可能な記憶領域上に表形式(テーブル)として格納し、直近の再構築日付から一定期間が経過したブロックを、再構築の対象とするため、データ保持特性の劣化(10年間保持できない)を解消でき、データ保持の信頼性と製品歩留まりの問題を解消することができる。この場合、高速にアクセス可能な記憶領域上のデータを削減可能であるという利点がある。
【0112】
さらに、電源投入時、システムリセットから復帰時、さらには再構築動作を一定期間行わなかった場合に、優先的に再構築動作の実行を開始すれば、データ保持特性の劣化(10年間保持できない)を解消でき、データ保持の信頼性と製品歩留まりの問題を解消することができる。
【0113】
さらに、メモリセルが劣化しその劣化した特性を回復する動作、即ちリフレッシュ動作を要する場合にも再構築動作を行うことにより、データ保持特性の劣化(10年間保持できない)を解消でき、製品歩留まりの問題を解消することができる。
【0114】
さらに、書換え回数(消去回数)と再構築日付から求めた計算結果を記憶するため、記憶容量を削減することができる。
【0115】
さらに、実際に存在するセクタ番号を超える番号のセクタ状態情報記録領域を書換え回数(消去回数)や再構築日付の記録用に使うため、記憶領域を有効に利用できる。
【0116】
さらに、使用不可な物理ブロック番号を記憶するため、書き換えできない不良ブロックを含むフラッシュメモリが使用可能となり、製品歩留まりが上がり、安価になる。
【0117】
さらに、使用不可な物理ブロック番号を、高速にアクセス可能な記憶領域上に記憶するため、高速な検索をすることができる。
【図面の簡単な説明】
【図1】本発明の実施形態1におけるファイルシステムのシステム構成を示すブロック図である。
【図2】図1のファイルシステム制御部の機能構成を示すブロック図である。
【図3】図1のフラッシュメモリ部に格納されているデータ構成図である。
【図4】図1のファイルシステムメモリ部に格納されているブロック情報表に関するデータ構成図である。
【図5】図1のファイルシステムメモリ部に格納されているセクタ情報表1に関するデータ構成図である。
【図6】図1のファイルシステムメモリ部に格納されているセクタ情報表2に関するデータ構成図である。
【図7】図1のファイルシステムメモリ部に格納された制御データの読出し処理に関するフローチャート図である。
【図8】図1のファイルシステムの再構築処理(その1)に関するフローチャート図である。
【図9】図1のファイルシステムの再構築処理(その2)に関するフローチャート図である。
【図10】図8および図9の再構築処理中におけるデータの変化(その1)を示すデータ構成図である。
【図11】図8および図9の再構築処理中におけるデータの変化(その2)を示すデータ構成図である。
【図12】従来のフラッシュメモリ部に格納されているデータ構成図である。
【図13】図12のファイルシステムメモリ部に格納されているセクタ情報表2に関するデータ構成図である。
【図14】本発明の実施形態2におけるファイルシステムのファイルシステム制御部の機能構成を示すブロック図である。
【図15】図1のファイルシステムメモリ部に格納されている、各消去ブロック毎の各セクタ状態に関するデータ構成図である。
【図16】本発明のファイルシステムメモリ部に格納されているブロック情報表に関するデータ構成図である。
【図17】浮遊ゲート型電界効果トランジスタ構造を有したメモリセルの構成図である。
【図18】1個のメモリセルに2値(1ビット)を記憶する場合の閾値電圧分布を示す図である。
【図19】(1)〜(3)は従来の再構築動作を順次模式的に示すと図である。
【符号の説明】
1 ファイルシステム
2,2A ファイルシステム制御部
21,21A 再構築日付記憶手段
22,22A 再構築制御手段
221,222A 再構築経過時間計算手段
222 第1計算結果格納手段
223 第1再構築処理手段
221A 消去回数計数手段
223A 第3計算結果格納手段
224A パラメータ計算手段
225A パラメータ格納手段
226A 第3再構築処理手段
3 ファイルシステムメモリ部
4 フラッシュメモリ制御部
5 フラッシュメモリ部
6 アプリケーション(またはオペレーティングシステムOS)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a non-volatile semiconductor memory device such as a non-volatile memory including a flash memory, a data restructuring method such as a memory card using the same, a file system employing a data refresh management method, and a control method thereof.
[0002]
[Prior art]
Conventionally, a flash memory is a non-volatile semiconductor memory device having a function of electrically erasing memory cells (referred to as sectors or blocks) in a single chip or in an arbitrary area. As memory cells of this flash memory, for example, there are those called NOR type and NAND type. In any memory cell, the memory cell configuration shown in FIG. 17 is the basic structure of data storage.
[0003]
In FIG. 17, the
[0004]
Further, the
[0005]
Data writing to the
[0006]
On the other hand, in erasing, the control gate electrode G is grounded, and a positive high voltage (about 12 V) is applied to the source electrode S, thereby generating a high electric field between the floating gate electrode FG and the source electrode S, and thin gate oxidation. This is done by extracting electrons accumulated in the floating gate electrode FG to the source electrode S using a tunneling phenomenon through the film. This erasure is normally performed in block units (for example, 16 Kbytes or 64 Kbytes). By this erasing, the threshold voltage Vth viewed from the control gate electrode G is lowered (data “1”). At this time, since the
[0007]
In data reading, a low voltage of about 0 V is applied to the source electrode S and a low voltage of about 1 V is applied to the drain electrode D, and a voltage of about 5 V is applied to the control gate electrode G. This is performed by utilizing the correspondence between information “1” and “0”. The reason why the voltage to the drain electrode D is lowered is to prevent a parasitic weak write operation (soft write).
[0008]
Further, when reading data in multi-value storage, a low voltage of about 0 V is applied to the source electrode S and a low voltage of about 1 V is applied to the drain electrode D, and the voltage applied to the control gate electrode G is changed. This is performed using the voltage of the control gate electrode G. In this
[0009]
In the method of applying a high voltage to the source electrode S at the time of erasing, since the breakdown voltage of the source junction must be increased, the source electrode S side is difficult to be miniaturized, and hot holes are generated near the source electrode S. There is a problem that the portion is trapped in the tunnel insulating film and the reliability of the cell is lowered.
[0010]
Therefore, as another example of erasing (negative gate erasing), a negative voltage (about -10 V) is applied to the control gate electrode G, a power supply voltage (about 5 V) is applied to the source electrode S, and erasing is performed by a tunnel current.
[0011]
One advantage of this erasing method is that since the voltage applied to the source electrode S during erasing is low, the junction breakdown voltage on the source electrode S side may be low, so that the gate length of the cell can be shortened. It is. In addition, when the negative gate erase method is used, there is an advantage (referred to as sector erase) that the erase block size can be easily reduced.
[0012]
Further, in the erasing method in which a high electric field is applied to the source electrode S, a band-to-band tunneling current that is a parasitic current caused by the high electric field flows, and the current value becomes several mA across the entire chip. It becomes difficult to use a booster circuit with limited capability. Therefore, conventionally, a high voltage Vpp for erasing has been supplied from the outside of the chip. In the negative gate erasing method, the power supply voltage Vcc (5 V or 3 V) can be supplied to the source electrode S, so that there is an advantage that a single power supply can be made relatively easily.
[0013]
In the method using hot electrons for data writing, a current of about 1 mA flows per cell at the time of writing. Therefore, a flash memory that uses an FN tunnel current as in a conventional EEPROM and reduces the current flowing per cell at the time of data writing. There is also.
[0014]
With the miniaturization of semiconductor processes and the spread of battery-driven portable devices, there is a demand for lower operating power. Therefore, there is an active demand / development of 3V single operation products and 2.7V single operation products instead of 5V single operation.
[0015]
When reading data with a 3V power supply (Vcc) or a 2.7V power supply, in the current flash EEPROM, the control gate line (word line) has a power supply potential (Vcc = 3V) or an internal boost for speeding up / expanding operation margin. About 5V is applied.
[0016]
In such a nonvolatile semiconductor memory device, there are many operation states (writing, block erasing, batch erasing of all chips, status register, and so on) compared to a random access memory (RAM) capable of writing and reading in a short time. Read). If a large number of operating states are made to correspond to combinations of external control signals (/ CE, / WE, / CE, etc.), the control signals in the conventional EPROM and EEPROM become insufficient, and a new control signal needs to be added. As a result, usability deteriorates, and a method of taking a command system without increasing the number of control signal lines has been devised and has become mainstream in the world. In this nonvolatile semiconductor memory device, a command input by a user enters a circuit that recognizes a command called CSM (command state machine), and WSM (write state machine) performs an operation corresponding to the command (erase / erase / state). Write).
[0017]
Some nonvolatile semiconductor memory devices of this type are obtained by dividing the size of erase blocks in a chip unevenly or evenly.
[0018]
There are a write / erase method using a FN tunnel current and a NAND type memory cell system in which 8 or 16 memory cells are connected in series. The VAND type is slower in reading speed than the NOR type, but has an advantage that the memory cell size can be reduced.
[0019]
As described above, normally, as shown in FIG. 18, a binary value (1 bit) is stored in one memory cell. There are also attempts to record multi-values such as 4-level (2 bits), 8-level (3-bit), and even 16-level (4-bit) in one memory cell.
[0020]
For example, when binary (1 bit) is stored in one memory cell, the data “1” is set to the threshold voltage Vth = 2.5V of the memory cell, and the data “0” is set to the threshold voltage Vth = 6 of the memory cell. .5v, the difference in threshold voltage Vth between data is about 4V. However, when storing, for example, 4 values (2 bits) in one memory cell, it is necessary to
[0021]
That is, the data “11” is the memory cell threshold voltage Vth = 2 V, the data “10” is the memory cell threshold voltage Vth = 3.5 V, the data “01” is the memory cell threshold voltage Vth = 5 v, and the data If “00” is defined as the threshold voltage Vth of the memory cell = 6.5 v, the difference in threshold voltage Vth between data is reduced to about 1.5V.
[0022]
Thus, as more values are stored in one memory cell, the potential difference between one storage state and another storage state in one memory cell becomes smaller (data reading errors are more likely to occur). There is a drawback, but there is also an advantage that a large-capacity memory can be manufactured at low cost.
[0023]
Utilizing such non-volatile characteristics of flash memory, it has been proposed to use it for data storage (file system) applications such as a magnetic disk represented by a hard disk. That is, the data handling unit is made as small as several hundred bytes like a hard disk, and the data is managed efficiently. However, when a file system is constructed with a flash memory, there are the following problems (1) to (3).
[0024]
(1) First, in this type of nonvolatile semiconductor memory device, the data read operation is about 20 microseconds (μSec) and the erase operation is several times compared to the high data read speed of about 100 nanoseconds (nSec). Even slower, 100 milliseconds (mSec).
[0025]
(2) Next, in the flash memory, data is rewritten in units of blocks, and data cannot be rewritten in units of 1 byte.
[0026]
(3) Further, the data retention period can be about 10 years or more. However, as the number of block erasures increases, the deterioration of the oxide film progresses and the leakage current increases, so the data retention period tends to be shortened. is there. Therefore, the number of times of erasure is limited to about 100,000 times for each block, and rewriting occurs intensively in one block, and if the number of times of erasure of one block exceeds 100,000 times, the reliability of the entire flash memory chip is increased. The characteristics deteriorate significantly.
[0027]
In order to use the flash memory for data storage (file storage), the following countermeasures are taken against the problems (1) to (3). First, a status bit indicating an erased or valid state of data is added to the data. That is, in practice, the erase operation is not performed, and only the writing to the status bit indicates that the data state has changed. As described above, the data erasure is replaced by the writing of the status bit, so that the data erasure is apparently speeded up by 1000 times or more, and the actual erasing operation does not need to be frequently performed.
[0028]
However, when data in the block is not actually erased and only the status bits are erased, that is, invalid data increases, there is no free space for writing new data. When there is no more area for writing data, valid data is copied to a previously erased spare block. When this copying is completed, the block of the copy source that has a large amount of erased data in the block is erased and newly set as a spare block. This operation is called reconstruction (reclaim).
[0029]
This reconstruction operation is schematically shown in FIGS. 19 (1) to 19 (3). That is, there are an erase
[0030]
Japanese Utility Model Publication No. 6-48051 “IC card” uses a memory that can be erased only in units of one chip, a semiconductor memory that consists of a plurality of chips, and a semiconductor memory that can be erased in units of bytes, and can be erased only in units of one chip. 1 shows an example of an IC card in which information on a file written in a simple memory is written in a semiconductor memory that can be erased in byte units.
[0031]
In Japanese Laid-Open Patent Publication No. 6-223591 “Flash EEPROM Array Clean-Up Method”, the number of times of rewriting is larger than the number of other erase blocks in the block to be subjected to the conventional rebuilding operation because the number of erase times is averaged. Either a small number of blocks are selected, or an erase block with a large number of erased (invalid) data is selected in order to facilitate data writing.
[0032]
[Problems to be solved by the invention]
However, in the above conventional configuration, in order to lower the bit unit price, in recent years, a plurality of bits (2 bits, 3 bits, and 4 bits) have been stored in one memory cell. This is called multi-leveling. In the case of multi-leveling, the more the bit is stored in one memory cell, the smaller the potential difference of the threshold voltage Vth between data must be reduced. Data tends to deteriorate, for example, data cannot be retained for 10 years, and there are problems in terms of reliability in data retention and product yield.
[0033]
The present invention solves the above-described conventional problem, and refreshes a block that is judged to have deteriorated data as a target block for the reconstruction operation, thereby reducing the retained data even if the multi-value is increased. An object of the present invention is to provide a file system and a control method therefor that can be prevented and can improve the reliability of data retention and improve the product yield.
[0034]
[Means for Solving the Problems]
The file system of the present invention has a configuration in which an erase block is logically divided into smaller storage area units than a non-volatile semiconductor memory device configured by a plurality of erase blocks and capable of erasing data in units of blocks. In a file system in which a file is managed using state information of storage area units and a block is reconstructed to release an invalid storage area unit included in the erase block, the date when the block was reconstructed for each erase block is displayed. Reconstruction date storage means for storing in a predetermined storage area, and reconstruction control means for preferentially rebuilding a block for which a certain period has elapsed from the date stored in the reconstruction date storage means Yes, and the above objective is achieved. Also, the file system control method of the present invention is a storage system in which an erase block is logically divided into smaller blocks than a non-volatile semiconductor memory device constituted by a plurality of erase blocks and capable of erasing data in units of blocks. In the file system control method for managing files using area unit and erase block status information, the block rebuild process that releases invalid storage area units contained in erase blocks is rebuilt for each erase block. The date is stored in a predetermined storage area, and a block for which a certain period has elapsed from that date is preferentially processed, whereby the above object is achieved.
[0035]
Preferably, the reconstruction control means in the file system of the present invention is a reconstruction elapsed time calculation means for calculating the elapsed time from the most recent block reconstruction time for each block based on the date, and First calculation result storage means for storing calculation results in a storage area that can be accessed at high speed in a table format, and firstly reconstructing a block after a certain period of time based on the calculation results of elapsed time Restructuring processing means. Preferably, in the file system control method of the present invention, the calculation result obtained by calculating the elapsed time from the most recent block reconstruction for each block is displayed in a table format in a storage area accessible at high speed. Based on the calculation result of the elapsed time, a block for which a certain period has elapsed is preferentially set as a reconstruction target block.
[0036]
Further preferably, the reconstruction control means in the file system of the present invention includes an erase count counting means for counting the erase count of the block, and a second calculation for storing the calculation result in a tabular form in a storage area accessible at high speed. The result storage means and the second reconstruction processing means for preferentially rebuilding at a predetermined short period based on the date as the number of times of erasure stored in the second calculation result storage means increases. Preferably, in the file system control method of the present invention, a block with a larger number of deletions is preferentially set as a target block to be reconstructed with a predetermined short period based on the date.
[0037]
Further preferably, the reconstruction control means in the file system of the present invention includes an erase count counting means for counting the number of block erases, and a time since the most recent block rebuild for each block based on the date. Reconstructed elapsed time calculation means for calculating time, third calculation result storage means for storing the erase count and elapsed time in a table format in a storage area accessible at high speed, and calculating parameters from the erase count and elapsed time Parameter calculation means, parameter storage means for storing the calculation results calculated by the parameter calculation means in a table format in a storage area that can be accessed at high speed, and on the basis of this parameter, a block after a certain period of time is given priority. And a third reconstruction processing means for reconstructing. Preferably, in the file system control method of the present invention, the calculation result calculated from the number of block erasures and the elapsed time from the most recent block reconstruction for each block based on the date, The data is stored in a table format in a storage area that can be accessed at high speed. Based on the calculation result, a block after a certain period of time is preferentially set as a target block for reconstruction.
[0038]
Further preferably, the reconstruction control means in the file system of the present invention performs the reconstruction operation at least one of when the power is turned on, when returning from the system reset, and when the reconstruction operation is not performed for a certain period. Give priority.
[0039]
Further preferably, the reconstruction control means in the file system of the present invention has memory cell characteristic deterioration detecting means for detecting that the characteristics of the memory cell have deteriorated, and the memory cell characteristic deterioration detecting means When the deterioration is detected, the reconstruction operation is preferentially performed on the storage area unit and the erase block including the memory cell in which the deterioration is detected.
[0040]
Further preferably, the number of erasuresAs a calculation result obtained from the reconstruction dateIt is represented by a multiplier of 10, and the multiplier is used in the calculation formula.Preferably, a multivalue is stored in a memory cell of the nonvolatile semiconductor memory device.
[0041]
Further preferably, the reconstruction date storage means in the file system of the present invention stores the reconstruction date in the status information recording area having a number exceeding the storage area unit number that actually exists.
[0042]
Further preferably, the reconstruction control means in the file system according to the present invention obtains the elapsed time from the time of reconstruction, the number of erasures, and the obtained information in the status information recording area having a number exceeding the storage area unit number that actually exists. At least one of the parameters is stored.
[0043]
Further preferably, in the file system of the present invention, an unusable physical block number is stored in a status information recording area having a number exceeding the storage area unit number that actually exists.
[0044]
Further preferably, in the file system of the present invention, the unusable physical block number is stored in a storage area accessible at high speed.
[0045]
The operation of the above configuration will be described below. As a block to be reconstructed, data deterioration, that is, a block in which a state in which the oxide film of the memory cell has deteriorated and the reliability of the stored data has occurred as described above is taken into consideration. Specifically, compared to other erase blocks, not only blocks with more erased (invalid) data are selected, but also data degradation has progressed (or data degradation may have progressed). The block is also a target block for reconstruction. More specifically, the date (year and month) at the time of building the block is written in a part of the block. In general, as the number of times of rewriting increases, the generation of an oxide film trap and the deterioration of the oxide film progress, and the target of the reconstruction operation is performed after a certain period of time. Alternatively, the block erase count and the date (year / month) at the time of block construction are written in a part of the block. In general, as the number of rewrites increases, the generation of oxide traps and the deterioration of oxide films progress and the leakage current increases, so the data deterioration tends to progress. (Preferentially) is the target of the reconstruction operation. That is, valid data in a block that is considered to have deteriorated due to a large number of rewrites is transferred to the spare block side having a smaller number of rewrites.
[0046]
Further, in the case of a nonvolatile memory device having a refresh function (or refresh command), the threshold voltage Vth of the memory cell has changed more than a specified value as a result of execution of the refresh necessity determination, and the memory cell is refreshed. If it is determined that it is necessary, the block is preferentially subjected to the reconstruction operation. As an example of the refresh function, there is JP-A-7-37397. The refresh function referred to here is a reference voltage serving as a reference for determining whether data held in a memory cell is “0” or “1”. It is shown that the read margin is checked by changing, and it is determined that the memory cell with a small margin is deteriorating, and an excessive write operation is performed to recover the threshold voltage Vth.
[0047]
As a block to be reconstructed, a block with a smaller number of rewrites than other erase blocks is selected, or a block with many erased (invalid) data is selected. In order to lower the bit unit price, in recent years, multi-valued storage is performed in which a plurality of bits (2 bits, 3 bits, or 4 bits) are stored in one memory cell. The more bits are stored in the memory cell, the smaller the potential difference between the data, so the data retention time degrades (cannot be retained for 10 years), and reliability and yield problems occur. In addition, since a block whose rewrite date (year and month) is old (a block for which data deterioration is a concern) is a target of the reconstruction operation, in particular, a nonvolatile semiconductor memory device manufactured by a miniaturization process or one Degradation of data retention characteristics (cannot be retained for 10 years) of multilevel cells that store multiple bits (2 bits, 3 bits, or 4 bits) in a memory cell is eliminated, eliminating problems of reliability and yield
[0048]
Specifically, each erase block has an area for storing the date (year / month) of rebuilding the block, and blocks for which a certain period has passed are subject to rebuilding. (Cannot be held for 10 years) is resolved, and the problem of yield is also resolved.
[0049]
In addition, each erase block has an area for storing the date when the block was reconstructed, and the calculation result of the elapsed time for each block is stored as a table on a high-speed memory such as RAM, and a certain period of time has elapsed. Since the reconstructed block is to be reconstructed, the deterioration of the data retention characteristic (cannot be retained for 10 years) is resolved, the problem of yield is solved, and high-speed search is possible.
[0050]
In addition, each erase block has an area for storing the number of block erases and the year and month when the block is reconstructed, and as the number of block erases increases, the data is reconstructed at a constant short cycle. Degradation (cannot be held for 10 years) is eliminated and yield problems are eliminated.
[0051]
In addition, each erase block has an area for storing the number of block erases and the year and month when the block is reconstructed, and the calculation result calculated from the number of block erases and the elapsed time for each block is stored on a high-speed memory such as a RAM. Since a block that has been stored for a certain period of time and whose fixed period has passed is targeted for reconstruction, the deterioration of data retention characteristics (cannot be retained for 10 years) is eliminated, and the problem of yield is eliminated.
[0052]
Further, when the power is turned on, when the system is reset from the system reset, or when the rebuilding operation is not performed for a certain period of time, the execution of the rebuilding operation is started preferentially, thereby degrading the data retention characteristics (10 years). Can't hold money), and the yield problem is solved.
[0053]
Furthermore, since the calculation result (a parameter whose amount changes depending on the conditions of the elapsed time and the erase count) obtained from the data rewrite count and the reconstruction date is stored, the storage capacity of the RAM can be reduced.
[0054]
Furthermore, since the sector status information recording area having a number exceeding the actually existing sector number is used, the storage area can be effectively used without being wasted.
[0055]
Further, since the unusable physical block number is stored, a flash memory including a defective block (data cannot be rewritten) can be used, and the product yield is increased and the cost is reduced. In addition, since unusable physical block numbers are stored on the RAM, high-speed search is possible.
[0056]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments 1 and 2 of the file system of the present invention will be described below with reference to the drawings.
(Embodiment 1)
FIG. 1 is a block diagram showing a system configuration of a file system according to the first embodiment of the present invention.
[0057]
In FIG. 1, a flash memory file system 1 (hereinafter referred to as a file system 1) includes a file
[0058]
The file
[0059]
The reconstruction control means 22 is a reconstruction elapsed time calculation means 221 that calculates the elapsed time from the most recent block reconstruction for each block based on the date, and a storage that can access the calculation result at high speed. First calculation result storage means 222 for storing the area in a table format, and first reconstruction processing means 223 for preferentially reconstructing a block after a certain period of time based on the calculation result of elapsed time Is.
[0060]
The file
[0061]
The flash
[0062]
The
[0063]
FIG. 3 is a data configuration diagram stored in the
[0064]
Here, any one erase block among a plurality of erase blocks in the flash memory is assumed to be a spare block for reconstruction of the file system 1 (data erased and formatted block).
[0065]
The plurality of erase blocks have 0, 1, 2,. . . And physical block number. The numbers assigned as
[0066]
Of the sectors in the erase block, one sector existing at the head is reserved in advance as a sector for storing control information of the block (hereinafter referred to as a block control sector).
[0067]
In this block control sector, 2 bytes of status information of the corresponding erase block itself, 2 bytes of status information of the
[0068]
The status information of the corresponding erase block itself includes (1) 11111111b: unused, (2) 11111110b: data transfer in progress as the logical block number of 0 to 255 to which the file
[0069]
Similarly to the state information of the corresponding erase block itself, the state information of the sector in the corresponding erase block includes the
[0070]
As described above, the most recent reconstruction date / time (or year / month) of the corresponding block is stored in the portion (sector # 128) exceeding the
[0071]
FIG. 4 is a data configuration diagram (hereinafter referred to as a block information table) regarding each erase block stored in the file system memory unit 3 (RAM) of FIG. In FIG. 4, the block information includes a physical block number, a logical block number, and a block state as one unit. Specifically, “physical block number = 0, logical block number = 0, block state = This indicates that there is an erase block with “data present” and an erase block with “physical block number = 1, logical block number = 1, block state = data full (block full)”.
[0072]
FIG. 5 is a data configuration diagram (hereinafter referred to as sector information table 1) regarding each sector stored in the file system memory unit 3 (RAM) of FIG. In FIG. 5, the physical block number, the physical sector number, the logical sector number, and information with the sector state as one unit are included. Specifically, “physical block number = 0, physical sector number = 0, Physical sector with logical sector number = 100, sector state = data valid, and physical sector with physical block number = 0, physical sector number = 1, physical sector = 10, sector state = data invalid, etc. It shows that
[0073]
FIG. 6 is a data configuration diagram (hereinafter referred to as sector information table 2) regarding the number of sector states for each erase block stored in the file system memory unit 3 (RAM) of FIG. In FIG. 6, the information includes the physical block number, the number of unused sectors, the number of valid data sectors, the number of invalid data sectors, and the reconstruction date as one unit. = 0, the number of unused sectors = 100, the number of valid data sectors = 20, the number of invalid data sectors = 7, and the reconstructed year and month 10010 (October 2000) ", and the" physical block number = 1, The number of unused sectors = 0, the number of valid data sectors = 50, the number of invalid data sectors = 77, and the erase block “reconstruction date 00112 (December 2001)” exist.
[0074]
The above-described block information table in FIG. 4, sector information table 1 in FIG. 5 and sector information table 2 in FIG. 6 are obtained from the
[0075]
The operation of the above configuration will be described below.
[0076]
FIG. 7 is a flowchart relating to the reading process of the control data stored in the file
[0077]
As shown in FIG. 7, when a data read request stored in the
[0078]
Next, when a data write request to the
[0079]
As described above, when a data write request to the
[0080]
FIGS. 8 and 9 are flowcharts relating to the rebuilding process of the
[0081]
In FIG. 10, a block to be reconstructed is a
[0082]
Next, the spare block, that is, the logical block number of the block reserved in the unused state (erased state) for the reconstruction of the
[0083]
Further, the valid sector data included in the block having the physical block number to be reconstructed is copied to the spare block. Here, in order to efficiently perform the copying operation, the sector information table 1 is searched for the sector having the data block number of the reconstruction target physical block number, and the physical sector number is acquired. (
[0084]
When the sector status is “data valid”, the sector status information in the block control sector having the physical sector number acquired in A7 stored in the block having the physical block number to be reconstructed and the data in the data area are stored. The sector information having the same physical sector in the spare block and the data area are copied (A8, A9).
[0085]
Further, the sector status information table 1 is updated. That is, the logical sector number and sector state ("data valid") corresponding to the physical sector number acquired in A7 having the physical block number to be reconstructed from the sector information table 1 are acquired in A7 each having the physical block number of the spare block. Are copied to the logical sector number and sector state corresponding to the same physical sector number (A10, A11).
[0086]
As described above, the data of one sector whose sector state is “data valid” and information associated with the sector are copied from the reconstruction target block to the spare block. In order to copy all the sectors in the reconstruction target block whose data state is “data valid”, whether or not there are still remaining sectors in the block of the reconstruction target physical block number from the sector state information table 1 Confirmation is made (step 156), and if there are remaining sectors, the process returns to step 153 and the above processing is executed until there are no remaining sectors.
[0087]
Next, the sector information table 2 is updated, the reconstruction target block is erased, and the state information associated therewith is updated. That is, the number of data effective sectors of the physical block to be reconstructed in the sector information table 2 is copied to the number of data effective sectors of the spare block (A12), and the date of this reconstruction operation is entered in the reconstruction date. (
[0088]
As the number of unused sectors, a value obtained by subtracting the number of valid data sectors from the total number of sectors included in the block is entered (A14).
[0089]
The number of invalid data sectors is “0” immediately after reconstruction. Next, in advance of erasure of the reconstruction target block, the block state in the block state information in the block control sector stored in the spare block is updated from “data transferring” to “original block erasing” (A15), Similarly, the block state of the corresponding block information table is updated from “data transfer in progress” to “original block erasure in progress” (
[0090]
Also, the reconstruction date is entered in the status information after sector # 128 stored in the spare block, as in A13 (A17).
[0091]
Here, the erase operation of the reconstruction target block is actually performed (step 159). When the erase operation is completed, the block state in the block state information in the block control sector stored in the spare block is updated from “original block erased” to “data present” (A18), and the spare block in the block information table is updated. Similarly, the block state is updated from “deleting original block” to “data present” (
[0092]
Since all data in the block becomes “1” by the erasing operation, the block having the logical block number “11111111b” in the block state information stored in a certain block is defined as a spare block. By the operation, the reconfiguration target block automatically becomes a spare block, and the block information in the block control sector automatically becomes “unused; 11111111b”.
[0093]
In addition, each block number item erased in
[0094]
In the first embodiment, the reconstruction process of the
[0095]
When the
(Embodiment 2)
In the first embodiment, the case where the latest reconstruction date (for example, year and month) of the corresponding block is stored after the sector # 128 state information in FIG. 3 and the reconstruction process is performed using the reconstruction date is shown. In the second embodiment, after the sector # 128 status information in FIG. 3, in addition to the most recent reconstruction date (for example, year and month) of the corresponding block, the number of erasures of the corresponding block is also stored, and the reconstruction process is performed using these This is the case.
[0096]
FIG. 14 is a block diagram illustrating a functional configuration of the file system control unit of the file system according to the second embodiment of the present invention. In FIG. 14, the file
[0097]
FIG. 15 is a configuration diagram of data relating to each sector state for each erase block (another example of the sector information table 2) stored in the file
[0098]
Focusing on the fact that the memory capacity can be reduced by storing the number of erasures (or the number of rewrites) and the calculation results (parameters whose amount changes according to the elapsed time and the number of erasures) calculated from the reconstruction date. If the date is October 2001, the rebuild date of the block is December 1999, and the number of deletions is 2102, then only the year is considered,
2001-1999 = 2 years
The number of erasures is represented by a multiplier of 10, 2102= 2 × 10 3 is stored as a calculation result on the RAM (file system memory unit 3), and 2 years, 3rd power, and about 2 are stored as parameters as “0232” as follows. This makes it possible to represent the year and number of times with three digits.
[0099]
As a method for determining whether or not to perform the rebuilding process, if it is within one year from the time of the latest rebuilding process, the number of times of erasure is 70000 times or more, that is, 0047 or more is the target of the rebuilding. If it is one year from the time, the number of erasures is 50000 times or more, that is, “0145” or more is the object of reconstruction, and if it is 2 years from the latest reconstruction process, the number of erasures is 20000 times or more, If “0242” or more is the target of reconstruction, and if it is 3 years from the most recent reconstruction process, the number of deletions is 7000 times or more, that is, “0337” or more is the target of reconstruction, and the latest reconstruction process 4 years from the time of deletion, the number of erasures is 5000 times or more, that is, “0435” or more is the target of reconstruction, and if it is 5 years from the most recent reconstruction process, the number of erasures is 2000 times or more, that is, “ 0532 "or more of reconstruction If it is 6 years from the time of the most recent reconstruction process, the number of deletions is 700 times or more, that is, “0627” or more is the target of reconstruction, and if it is 7 years from the most recent reconstruction process, If the number of times is 500 times or more, that is, “0725” or more is the target of reconstruction, and if it is 8 years from the most recent rebuilding process, the number of erasures is 200 times or more, that is, “0822” or more If it is 9 years from the most recent reconstruction process, the number of deletions is 70 times or more, that is, “0917” or more is the object of reconstruction, and if it is 10 years or more from the most recent reconstruction process, The number of times is 50 times or more, that is, 1015 or more is the object of reconstruction.
[0100]
When a data write request to the
[0101]
Conventionally, as a block to be reconstructed, a block with a smaller number of rewrites than other erase blocks is selected, or a block with many erased (invalid) data is selected. In order to lower the bit unit price, in recent years, a plurality of bits (2 bits, 3 bits, and 4 bits) have been stored in one memory cell (referred to as multi-valued). However, in the case of multi-value, the more the bits are stored in one memory cell, the smaller the potential difference of the threshold voltage Vth between the data, so that the retained data deteriorates and the data retention time is 10 years. It cannot be held. This causes problems of data retention reliability and product yield. On the other hand, according to the present invention represented by the first and second embodiments, a block in which data has deteriorated or a block whose rewrite date (year / month) is old (a block in which data deterioration is a concern) is reproduced. Since it is a target of the construction operation, in particular, a non-volatile semiconductor memory device manufactured by a miniaturization process and a multi-value storage that stores a plurality of bits (2 bits, 3 bits, and 4 bits) in one memory cell Deterioration of the data retention characteristics of the cell (cannot be retained for 10 years) can be eliminated, and the above problems of data retention reliability and product yield can be eliminated.
[0102]
As described above, the effect will be further described. As the reconstruction operation of the first embodiment,
(A) If a predetermined time has elapsed since the previous restructuring operation, data deterioration has occurred, so that the data is rebuilt in order to refresh the data. As a result, the deterioration of the retained data can be prevented even when the number of values is increased, and the reliability of data retention and the yield can be improved.
[0103]
Furthermore, as a more detailed correspondence, as the reconstruction operation of the second embodiment,
(B) Since the data retention characteristic deteriorates as the number of rewrites increases, the data is refreshed when a shorter period of time elapses from the previous restructuring operation as the number of rewrites increases. Then, rebuild. As a specific example, reconstruction is performed when the calculation result of the number of rewrites and the elapsed time exceeds a certain value. As a result, the deterioration of the retained data can be prevented even when the number of values is increased, and the reliability of data retention and the yield can be improved.
[0104]
In the first embodiment, the most recent reconstruction date of the corresponding block is stored after the sector # 128 state information in FIG. 3, and in the second embodiment, after the sector # 128 state information in FIG. In addition to the most recent reconstruction date of the block, the number of erasures of the corresponding block is stored. However, the present invention is not limited to this. Even if the reconstruction process is performed using the stored data, the deterioration of the retained data can be prevented even when the multi-value is used, and the effect of the present invention can be improved in the reliability and the yield for retaining the data. Play. In this case, the reconstruction control means includes an erase count counting means for counting the number of block erases, a second calculation result storage means for storing the calculation results in a table format in a storage area accessible at high speed, 2 The second calculation processing unit may be configured to preferentially reconstruct at a predetermined short period based on the date as the number of erases stored in the calculation result storage unit increases.
[0105]
Further, as an example other than the first and second embodiments, in the case of a flash memory having a refresh command, a memory cell is deteriorated and a block determined to be refreshed in order to recover the threshold voltage Vth of the memory cell. In order to make it the object of the next reconstruction operation, the above-mentioned sector information table 2 of FIG. 15 is recorded at a place where the calculation result (parameter calculation result) of the rewrite count (erasure count) and the elapsed time is recorded. It is also possible to record a value greater than a certain value (for example, 9999) and preferentially become the target of reconstruction at the next reconstruction.
[0106]
Further, as an example other than the first and second embodiments, a defective block that cannot be rewritten or a block whose erase count (or rewrite count) exceeds a specified value (for example, the rewrite count guaranteed by the device specification) is shown in FIG. As shown, the block status is prohibited (blocks not used for data recording). Then, the use prohibition block number is recorded in the state information area after sector # 128 in FIG.
[0107]
As another example, the nonvolatile semiconductor memory device of the present invention may be provided with a power supply voltage detection circuit that detects power-on, and the above-described reconstruction operation may be activated when power-on is detected. As yet another example, the above-described reconstruction operation may be started when returning from a system reset.
[0108]
【The invention's effect】
As described above, according to the present invention, each erase block has an area for storing the date (year / month) of rebuilding the block, and a block that has passed a certain period from the most recent rebuilding date is reconstructed. Since it is an object of construction, it is possible to eliminate deterioration of data retention characteristics (cannot be retained for 10 years), and to solve the problem of product yield.
[0109]
In addition, each storage block has an area for storing the date (year / month) of rebuilding the block, and a storage area where the calculation result of the elapsed time from the most recent rebuilding date for each block can be accessed at high speed Stored in a table format (table) above, and blocks whose fixed period has passed since the most recent reconstruction date are subject to reconstruction, so high-speed search is possible and data retention characteristics deteriorate (cannot be retained for 10 years) ), And the product yield problem can be solved.
[0110]
Furthermore, each erase block has an area for storing the number of block erases and the date (year and month) of rebuilding the block. Deterioration of retention characteristics (cannot be retained for 10 years) can be eliminated, and data retention reliability and product yield problems can be resolved.
[0111]
In addition, each erase block has an area for storing the number of block erases and the date (year and month) when the block was reconstructed, and the calculation result calculated from the number of block erases and the elapsed time for each block can be calculated at high speed. Data is stored in an accessible storage area as a table (table), and blocks whose fixed period has passed since the most recent reconstruction date are subject to reconstruction. This can eliminate the problems of data retention reliability and product yield. In this case, there is an advantage that data on a storage area accessible at high speed can be reduced.
[0112]
Furthermore, if the rebuilding operation is started preferentially when the power is turned on, when returning from system reset, or when the rebuilding operation is not performed for a certain period, the data retention characteristics deteriorate (cannot be retained for 10 years) And the problems of data retention reliability and product yield can be solved.
[0113]
Furthermore, when the memory cell deteriorates and recovers its deteriorated characteristics, that is, when a refresh operation is required, the reconstruction operation is performed, so that the deterioration of data retention characteristics (cannot be maintained for 10 years) can be eliminated, and the product yield can be improved. The problem can be solved.
[0114]
Furthermore, since the calculation result obtained from the number of rewrites (the number of erasures) and the reconstruction date is stored, the storage capacity can be reduced.
[0115]
Furthermore, since the sector status information recording area having a number exceeding the sector number that actually exists is used for recording the number of rewrites (erasure count) and the reconstruction date, the storage area can be used effectively.
[0116]
Furthermore, since the unusable physical block number is stored, a flash memory including a defective block that cannot be rewritten can be used, and the product yield is increased and the cost is reduced.
[0117]
Furthermore, since the unusable physical block number is stored in a storage area that can be accessed at high speed, a high-speed search can be performed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system configuration of a file system in
2 is a block diagram illustrating a functional configuration of a file system control unit in FIG. 1; FIG.
FIG. 3 is a data configuration diagram stored in the flash memory unit of FIG. 1;
4 is a data configuration diagram related to a block information table stored in the file system memory unit of FIG. 1. FIG.
5 is a data configuration diagram related to the sector information table 1 stored in the file system memory unit of FIG. 1. FIG.
6 is a data configuration diagram related to the sector information table 2 stored in the file system memory unit of FIG. 1;
7 is a flowchart regarding control data read processing stored in the file system memory unit of FIG. 1; FIG.
FIG. 8 is a flowchart related to the file system reconstruction process (part 1) of FIG. 1;
FIG. 9 is a flowchart related to the file system restructuring process (part 2) of FIG. 1;
10 is a data configuration diagram showing data change (part 1) during the reconstruction process of FIGS. 8 and 9. FIG.
11 is a data configuration diagram showing data change (part 2) during the reconstruction process of FIGS. 8 and 9. FIG.
FIG. 12 is a data configuration diagram stored in a conventional flash memory unit.
13 is a data configuration diagram related to the sector information table 2 stored in the file system memory unit of FIG. 12;
FIG. 14 is a block diagram showing a functional configuration of a file system control unit of a file system in
FIG. 15 is a data configuration diagram relating to each sector state for each erase block, stored in the file system memory unit of FIG. 1;
FIG. 16 is a data configuration diagram related to a block information table stored in the file system memory unit of the present invention.
FIG. 17 is a configuration diagram of a memory cell having a floating gate type field effect transistor structure.
FIG. 18 is a diagram showing a threshold voltage distribution when binary (1 bit) is stored in one memory cell;
FIGS. 19 (1) to (3) are diagrams schematically showing conventional reconstruction operations in order.
[Explanation of symbols]
1 File system
2,2A File system controller
21, 21A Reconstruction date storage means
22,22A Reconstruction control means
221, 222A Reconstruction elapsed time calculation means
222 First calculation result storage means
223 first reconstruction processing means
221A Erase count counting means
223A Third calculation result storage means
224A parameter calculation means
225A parameter storage means
226A Third reconstruction processing means
3 File system memory
4 Flash memory controller
5 Flash memory part
6 Application (or operating system OS)
Claims (16)
該消去ブロック毎にブロックを再構築した日付を所定の記憶領域に格納する再構築日付記憶手段と、該再構築日付記憶手段にて記憶した日付から一定の期間が経過したブロックを優先的に再構築処理する再構築制御手段とを有したファイルシステム。For a non-volatile semiconductor memory device composed of a plurality of erase blocks and capable of erasing data in units of blocks, the erase blocks are logically divided into smaller storage areas, and the states of the erase blocks and storage areas In a file system in which a file is managed using information and a block is reconstructed to release an invalid storage area unit included in the erase block,
Reconstruction date storage means for storing in a predetermined storage area the date that the block was reconstructed for each erase block, and blocks that have passed a certain period of time from the date stored in the reconstruction date storage means are preferentially reconstructed. A file system having reconstruction control means for performing a construction process.
該消去ブロックに含まれる無効な該記憶領域単位を開放するブロックの再構築処理は、該消去ブロック毎にブロックを再構築した日付を所定の記憶領域に記憶しておき、該日付から一定の期間が経過したブロックを優先的に処理するファイルシステムの制御方法。For a non-volatile semiconductor memory device composed of a plurality of erase blocks and capable of erasing data in block units, the erase block is logically divided into smaller storage areas and the erase block status information. In a file system control method for managing files,
The reconstruction process of the block that releases the invalid storage area unit included in the erase block stores the date of rebuilding the block for each erase block in a predetermined storage area, and starts a certain period from the date. A file system control method that preferentially processes blocks that have passed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001121823A JP3812933B2 (en) | 2001-04-19 | 2001-04-19 | File system and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001121823A JP3812933B2 (en) | 2001-04-19 | 2001-04-19 | File system and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002318729A JP2002318729A (en) | 2002-10-31 |
JP3812933B2 true JP3812933B2 (en) | 2006-08-23 |
Family
ID=18971622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001121823A Expired - Fee Related JP3812933B2 (en) | 2001-04-19 | 2001-04-19 | File system and control method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3812933B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583859B2 (en) | 2010-08-31 | 2013-11-12 | Kabushiki Kaisha Toshiba | Storage controller for wear-leveling and compaction and method of controlling thereof |
US9627388B2 (en) | 2014-06-11 | 2017-04-18 | Samsung Electronics Co., Ltd. | Memory system having overwrite operation control method thereof |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7412560B2 (en) | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
JP5216244B2 (en) * | 2007-05-31 | 2013-06-19 | 株式会社東芝 | Data refresh apparatus and data refresh method |
US7770079B2 (en) * | 2007-08-22 | 2010-08-03 | Micron Technology Inc. | Error scanning in flash memory |
JP2009140564A (en) * | 2007-12-06 | 2009-06-25 | Toshiba Corp | Nand flash memory and memory system |
KR20100013485A (en) * | 2008-07-31 | 2010-02-10 | 삼성전자주식회사 | Memory device and method of wear leveling |
JP5255389B2 (en) * | 2008-09-29 | 2013-08-07 | 株式会社日立製作所 | Storage device and memory control method |
JP5422984B2 (en) | 2008-12-08 | 2014-02-19 | 富士通株式会社 | NONVOLATILE MEMORY, MEMORY CONTROL DEVICE, MEMORY CONTROL SYSTEM, AND NONVOLATILE MEMORY CONTROL METHOD |
US7859932B2 (en) * | 2008-12-18 | 2010-12-28 | Sandisk Corporation | Data refresh for non-volatile storage |
JP5593254B2 (en) * | 2010-05-12 | 2014-09-17 | パナソニック株式会社 | Semiconductor memory device and semiconductor memory system |
US8687421B2 (en) | 2011-11-21 | 2014-04-01 | Sandisk Technologies Inc. | Scrub techniques for use with dynamic read |
US8756458B2 (en) * | 2011-12-12 | 2014-06-17 | Apple Inc. | Mount-time reconciliation of data availability |
US9361201B2 (en) | 2012-08-07 | 2016-06-07 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
JP2013137792A (en) * | 2013-02-28 | 2013-07-11 | Toshiba Corp | Electronic device and method for controlling the same |
JP2014178867A (en) * | 2013-03-14 | 2014-09-25 | Toshiba Corp | Storage control device and storage control system |
US9230689B2 (en) | 2014-03-17 | 2016-01-05 | Sandisk Technologies Inc. | Finding read disturbs on non-volatile memories |
US9552171B2 (en) | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
US9978456B2 (en) | 2014-11-17 | 2018-05-22 | Sandisk Technologies Llc | Techniques for reducing read disturb in partially written blocks of non-volatile memory |
US9349479B1 (en) | 2014-11-18 | 2016-05-24 | Sandisk Technologies Inc. | Boundary word line operation in nonvolatile memory |
KR102250423B1 (en) | 2015-01-13 | 2021-05-12 | 삼성전자주식회사 | Nonvolatile memory system and operating method for the same |
KR102277521B1 (en) | 2015-01-23 | 2021-07-16 | 삼성전자주식회사 | Storage device and read reclaim and reading method thereof |
US9449700B2 (en) | 2015-02-13 | 2016-09-20 | Sandisk Technologies Llc | Boundary word line search and open block read methods with reduced read disturb |
JP6306548B2 (en) * | 2015-09-07 | 2018-04-04 | Necプラットフォームズ株式会社 | Memory management circuit, storage device, memory management method, and memory management program |
US9653154B2 (en) | 2015-09-21 | 2017-05-16 | Sandisk Technologies Llc | Write abort detection for multi-state memories |
-
2001
- 2001-04-19 JP JP2001121823A patent/JP3812933B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583859B2 (en) | 2010-08-31 | 2013-11-12 | Kabushiki Kaisha Toshiba | Storage controller for wear-leveling and compaction and method of controlling thereof |
US9627388B2 (en) | 2014-06-11 | 2017-04-18 | Samsung Electronics Co., Ltd. | Memory system having overwrite operation control method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2002318729A (en) | 2002-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3812933B2 (en) | File system and control method thereof | |
JP4256175B2 (en) | Nonvolatile semiconductor memory | |
KR101122485B1 (en) | Memory system | |
US8713380B2 (en) | Non-volatile memory and method having efficient on-chip block-copying with controlled error rate | |
TWI574270B (en) | Wear leveling for a memory device | |
US11853205B2 (en) | Memory device with dynamic cache management | |
US8737148B2 (en) | Selective retirement of blocks | |
JP4188744B2 (en) | Memory card | |
TWI356996B (en) | Card controller controlling semiconductor memory i | |
US5379262A (en) | Nonvolatile semiconductor memory device | |
JPH05282889A (en) | Nonvolatile semiconductor memory | |
KR20160043121A (en) | Non-volatile memory with dynamic multi-mode operation | |
KR20090042039A (en) | Data management method for nonvolatile memory device | |
US9465539B2 (en) | Operation management in a memory device | |
US20120124302A1 (en) | Solid state storage system for uniformly using memory area and method controlling the same | |
US9053011B2 (en) | Selective protection of lower page data during upper page write | |
US8732391B2 (en) | Obsolete block management for data retention in nonvolatile memory | |
JP5494086B2 (en) | Nonvolatile storage device and nonvolatile memory controller | |
US9442842B2 (en) | Memory system performance configuration | |
US20200097215A1 (en) | Adaptive solid state device management based on data expiration time | |
JP3672576B2 (en) | Nonvolatile semiconductor memory device | |
JP2006323499A (en) | Semiconductor device | |
JP2005316793A (en) | Flash memory system and control method of flash memory | |
JP5264459B2 (en) | Semiconductor memory device | |
JP2009211202A (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060105 |
|
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: 20060529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060529 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3812933 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130609 Year of fee payment: 7 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |