JP3822171B2 - Nonvolatile semiconductor memory device and control method thereof, nonvolatile semiconductor memory device system and control method thereof - Google Patents

Nonvolatile semiconductor memory device and control method thereof, nonvolatile semiconductor memory device system and control method thereof Download PDF

Info

Publication number
JP3822171B2
JP3822171B2 JP2003026478A JP2003026478A JP3822171B2 JP 3822171 B2 JP3822171 B2 JP 3822171B2 JP 2003026478 A JP2003026478 A JP 2003026478A JP 2003026478 A JP2003026478 A JP 2003026478A JP 3822171 B2 JP3822171 B2 JP 3822171B2
Authority
JP
Japan
Prior art keywords
data
block
file
semiconductor memory
written
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
Application number
JP2003026478A
Other languages
Japanese (ja)
Other versions
JP2003272391A (en
Inventor
豊 岡本
義幸 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003026478A priority Critical patent/JP3822171B2/en
Publication of JP2003272391A publication Critical patent/JP2003272391A/en
Application granted granted Critical
Publication of JP3822171B2 publication Critical patent/JP3822171B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、不揮発性半導体メモリに係り、特に電気的に書き換え可能な不揮発性半導体メモリ素子(EEPROM)のうちのNAND型EEPROMを用いた不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法に関する。
【0002】
【従来の技術】
コンピュータの2次記憶装置には、現在磁気ディスク装置が広く用いられているが、近年、電気的に書き換え可能な不揮発性半導体メモリ(EEPROM)が、その機械的強度に対する信頼性、低消費電力、可搬性の良さ、高速アクセスといった特徴を生かして、磁気ディスクを置き換えるような用途に使われだした。しかし、磁気ディスク装置とEEPROMには機能的な相違点があるため、従来の磁気ディスク装置をそのまま置き換えるためには、これを埋めるための制御が必要となる。
【0003】
EEPROMの一つとして、高集積化が可能なNAND型EEPROMが知られている。これは、複数のメモリセルをそれらのソース、ドレインを隣接するもの同士で共有する形で直列接続して一単位とし、ビット線に接続するものである。メモリセルは通常、電荷蓄積層と制御ゲートが積層されたFETMOS構造を有する。メモリセルアレイは、p型基板、又はn型基板に形成されたp型ウェル内に集積形成される。NANDセルのドレイン側は選択ゲートを介してビット線に接続され、ソース側はやはり選択ゲートを介して、ソース線(基準電位配線に接続される(図21))。メモリセルの制御ゲートは、行方向に連続的に接続されてワード線となる。通常同一ワード線につながるメモリセルの集合を1ページと呼び、一組のドレイン側及びソース側の選択ゲートに挟まれたページの集合を1NANDブロック又は単に1ブロックと呼ぶ(図22)。通常1ブロックは独立に消去可能な最小単位となる。
【0004】
NAND型EEPROMの動作は次の通りである。データの消去は1NANDブロック内のメモリセルに対して同時に行われる。即ち選択されたNANDブロックの全ての制御ゲートを基準電位VSSとし、p型ウェル及びn型基板に高電圧VPP(例えば20V)を印加する。これにより、全てのメモリセルにおいて浮遊ゲートから基板に電子が放出され、しきい値は負の方向にシフトする。通常この状態を”1”状態と定義する。またチップ消去は全NANDブロックを選択状態にすることによりなされる。
【0005】
データの書き込み動作は、ビット線から最も離れた位置のメモリセルから順に行われる。NANDブロック内の選択された制御ゲートには高電圧VPP(例えば20V)を印加し、他の非選択ゲートには中間電位VM(例えば10V)を与える。またビット線にはデータに応じて、VSS又はVMを与える。ビット線にVSSが与えられたとき(”0”書き込み)、その電位は選択メモリセルに伝達され、浮遊ゲートに電子注入が生ずる。これによりその選択メモリセルのしきい値は正方向にシフトする。通常この状態を”0”状態と定義する。ビット線にVMが与えられた(”1”書き込み)メモリセルには電子注入は起らず、従ってしきい値は変化せず負に留まる。データの読み出し動作はNANDブロック内の選択されたメモリセルの制御ゲートをVSSとして、それ以外の制御ゲート及び選択ゲートをVCCとし選択メモリセルで電流が流れるか否かを検出することにより行われる。
【0006】
NAND型EEPROMではデータの書き込みはソース線に近いページからドレイン側のページに順に行なわれる必要がある。その必要性を図23を参照して以下に説明する。”1”書き込みは中間電位VM(10V程度)を選択メモリセルのドレインに転送し、電子の注入を起こさせず消去状態(即ち負のしきい値)を保つ。図23は制御ゲート1が選択状態(VPP)のときを示している。よって制御ゲート2は非選択でVMが与えられている。またドレインにもVM(”1”書き込み)が与えられている。図23(a)はソース側から書き込みを行なったときの図、図23(b)はドレイン側から書き込みを行なった場合のものである。図23(a)の場合ドレイン側のセルMa2のしきい値は負であるので、ドレインの電位VMは確実にソース側セルMa1に転送される。しかしながら、図23(b)の場合ドレイン側セルMb2にすでに”0”書き込み動作がなされ、正のしきい値(たとえば3.5V)を持っていたとすると、ソース側セルMb1に”1”を書き込む際、セルMb1にはVMからセルMb2のしきい値電圧分差し引いた電圧しか転送されてこない。よってセルMb1では制御ゲートと基板間の電位差が大きくなって誤書き込みが起こる可能性がある。以上のようにソース側から順に書き込む手段は誤書き込みを防ぐ意味で重要である。
【0007】
従来の磁気ディスク装置では、データの読み出しや書き込みといったアクセスは、セクタを単位として行われている。磁気記録媒体上に同心円状に形成される記憶領域の1本1本はトラックと呼ばれているが、このトラックがさらに数十個の領域に分割されてセクタと呼ばれる記憶単位が形成されている。パーソナルユースの携帯型コンピュータに使用されている典型的磁気ディスク装置の1セクタの容量は512バイトである。
【0008】
また、コンピュータが磁気ディスク装置にデータを記憶させる場合の一塊のデータをファイルと呼んでいるが、このファイルが記憶装置上のどの場所に記憶されているのかを管理するのが、オペレーティングシステム(以下OS)の重要な機能の一つである。
【0009】
図24は、パーソナルユースの携帯型コンピュータに使用されている典型的なOSの一つであるMS−DOSがファイル管理をするために磁気ディスク装置の記憶領域をどの様に使用しているかを示す図である。61のブート領域はコンピュータが起動するときに必要な情報が納められている領域で、ユーザファイルの管理には関わらない領域である。64のルートディレクトリ領域には、ファイルの名前とそれに付随する情報を記録したファイル管理用テーブルが納められている。ルートディレクトリにより他のデータファイルと同様な扱いで管理されるが、その内容はルートディレクトリと同一の、サブディレクトリと呼ばれるものがデータ領域に階層的に存在し得る。これらは、存在する領域と階層中での順位を除いて機能的には同じものであるので総称して単にディレクトリと呼ばれる。ディレクトリ中の1つのファイルに関する情報は32バイトの領域を占めていてその内容は図25に示すようになっている。磁気ディスク装置のデータ記録がセクタを単位としていることは先に述べたが、ファイルに対してディスク上の領域を割り当てるにはクラスタという論理的単位を用いる。1クラスタは、2のべき乗倍個のセクタで構成されるようにディスクの種類によって決められている。図25の66のスタートクラスタ番号とはファイルの先頭に割り当てられたクラスタの番号である。図24の62のFAT領域には、65のデータ領域中のクラスタがどの様な順につながって、1つのファイルを構成しているのかを表すデータ領域へのファイル割当情報が納められている。63はFAT領域62のバックアップである。以上のように、MS−DOSのファイル管理は、FAT領域とルートディレクトリ領域の情報をもとに行われるが、これらの領域の位置と大きさは、ディスクの種類ごとに決められていて固定である。
【0010】
NAND型EEPROMのアクセスの単位は前述の通りページである。4MビットのNAND型EEPROMを例に取ると、1ページは512バイトで、1ブロックは8ページで構成されている。よって、磁気ディスク装置をNAND型EEPROMで置き換えるような応用においては、ディスクの1セクタをNAND型EEPROMの1ページに対応させると変換が容易である。しかしながら磁気ディスク装置をEEPROMで置き換えようとする場合に問題となる大きな相違点の一つに、データの書き換え可能回数がある。磁気ディスク装置の場合、媒体上に記録されるデータの書き換え回数には制限がなく、その寿命はヘッドと磁気記録媒体が接触することによる損傷といった機械的な要因に支配されている。一方EEPROMの場合は、データの書き換え可能回数が現状の技術では104 ないし105 回程度しかない。
【0011】
また、前述のように、磁気ディスク装置の1セクタに記録される”データ”量は512バイトであるが、このデータ量とはユーザが記録再生する情報の量で、セクタ内にはこの他にも、記録再生制御に必要な情報が追加して書き込まれてある。そういった情報の一つに誤り訂正コード(以下ECCコード)がある。これは、媒体の欠陥やノイズの影響等で、ユーザのデータが正しく読み取れなかった場合に、読み取りデータに誤りがあることを検出したり、さらにその誤りを訂正したりするための情報で、セクタにデータを書き込むときに、ECC発生回路が記録されるデータをもとに計算し、データとともに媒体上に書き込まれる。
【0012】
NAND型EEPROMのアクセス単位はページであり、多少の相違はあるものの、これを磁気ディスク装置のセクタに相当するものと見なすことができる。信頼性を向上させるため、磁気ディスク装置のように、1ページの物理的な容量をユーザデータが記録再生される情報量より多くして、その冗長分をECCに割り当てることは有効な施策の一つである。
【0013】
従来の磁気ディスク装置では、これを記憶装置として使用するために、フォーマットと呼ばれる初期化が必要とされる。フォーマットにより、磁気記録媒体上には一連の複数セクタが円周上に並んだトラックが形成され、さらにこのトラックが同心円状に複数(通常数百〜千数百)本形成される。このとき、各セクタは、ユーザデータ領域に特定の初期化パターンが書き込まれるとともに、記録再生制御に必要な情報が書き込まれる。ECCも初期化パターンから計算されたものが書き込まれる。一方、NAND型EEPROMは、先の説明からわかるように、一度書き込みを行ったページに対しては、磁気ディスク装置で行われるような重ね書きをすることは出来ない。例え1ページでもデータを書き換えるためには、複数のページからなるブロックを単位として消去を行う必要があるから、消去されるブロックの他のページは、必要によって待避させて消去後に書き戻すこともしなければならない。よって、消去後のページは、有効なユーザデータを書き込むときまで消去状態に保っていた方が好都合の場合が多い。
【0014】
【発明が解決しようとする課題】
磁気ディスク装置の場合、装置に保証された寿命時間を20000動作時間、この内の数分の1がデータの書き換えに費やされる時間であるとすると、ファイル管理領域等の特定の記憶領域に対して最悪で109 回程度の書き換えが行われると見積もることができる。これに対してNAND型EEPROMは、前述の通り、書き換え可能回数は105 回程度であるから、磁気ディスク装置と同様の使い方をすると、1ブロックのみに書き込みが集中するという最悪の場合に、1万分の1の回数しか書き込みを行うことが出来ない。実際のデータの書き込み位置は記憶領域内に分散するので、その分、見かけの書換回数はこれよりは増加する。ところが、1度書き込まれた後に長期間消去されないデータが存在すると、書き込み可能領域が狭くなったのと等価であるから、それだけ書き換えできる回数が減少する。
【0015】
また、OSによるファイル管理のように、一般に、ファイルはデータ領域の空いた領域であればどこに記録されてもよく、その場所はディレクトリとFATのようなテーブルで管理されている。よって、書き換え可能回数に制限があるEEPROMにこのようなファイル管理を適用しても、ファイルに関しては、同一場所への書き換えが集中しないように書き込み位置を分散させるのは容易である。ところが、ファイルを書き込んだり書き換えたりした場合には必ずファイル管理テーブルの内容の書き換えが発生するので、これらのテーブルデータが書き換えられる頻度は、個々のデータファイルが書き込まれる頻度に比べてかなり多い。しかも、このテーブルはファイルの記録場所を検索するおおもとの情報であるから、いつも決まった位置に記録されている必要がある。よって、EEPROMをファイル記憶装置に応用した場合、この管理テーブル領域に集中した書き換えによって、短時間で寿命に至ってしまうおそれがあるという問題があった。
【0016】
さらに、前述の説明から分るように、磁気ディスク装置では、有効なユーザデータが書き込まれる前のセクタも、ユーザデータの書き込まれたセクタと同様にECCによるチェックを行って何等差し支えない。これに対して、消去後のページが有効なユーザデータを書き込むときまで消去状態に保たれるように制御されたNAND型EEPROMでは、有効なユーザデータが書き込まれる前のページを読み出すと、ECCを含めたページ内の情報は全て”1”になっているから、ECC検査回路は誤りがあるという判定を下してしまう。
【0017】
通常、ホストコンピュータのオペレーティングシステムは、有効なデータの書かれていないページのみを読み出そうとすることはないが、複数のページをファイル管理の単位としている場合に、既に有効なデータの書かれたページと一緒に読み込もうとすることは有り得る。また、ページの書き換えにともなってブロック消去をするときに、消去されるブロック内の他のページに、既に書き込みがされているのか否かを、データの待避を制御する手段が知り得ないような制御装置の場合には、消去状態のページもバッファに読み込まなくてはならない。こうした場合に、消去状態のページのデータに対してECC検査回路が働いてしまうと、上述のように、本来は正常なページであるにもかかわらず、誤りが発生したと誤認され、エラー処理に制御が移ってしまい、処理を正常に進めることが出来なくなってしまう。
【0018】
本発明の目的は、磁気ディスク装置と同等の寿命を実現することができ、また高信頼性を確保することができる不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法を提供することである。
【0019】
【課題を解決するための手段】
上記課題を解決するために、本発明は、一端がソース線に、他端がビット線に、隣接するソース及びドレインが互いに接続される複数のメモリセルと、ファイル記憶位置の関連情報は、あらかじめ消去されたメモリセル領域に対して、更新の都度、ソース線側のメモリセルからビット線側のメモリセルの方向へ順番に書き込まれ、ビット線に最も近い位置の書き込みデータを最新の関連情報とする管理手段とを備えることを要旨とする。
【0020】
【作用】
上記構成において、第1に、データの書き込みが複数の記憶領域に対し一方向に循環して行われるので書き込みが特定の記憶領域に集中することなく、複数の記憶領域全体に均一に行われる。また、書き込まれた後、長期間変更を受けることなく同じ場所に留まっているデータは複数の記憶領域全体と比較した書き込み回数に不均衡が生じないように移動させられるので、見かけの書き込み領域が狭まって寿命を縮めてしまうことが防止される。
【0021】
第2に、書き込まれたデータが変更されていない記憶領域の選択が、書き込みの1循環周期を以って行われることにより、見かけの書き込み領域を狭めることが一層適切に防止される。
【0022】
第3に、書き換え頻度の高い管理テーブルのメモリ手段上での記録位置が固定されず、またこの管理テーブルの位置を示すポインタを複数階に階層化して記録することにより、検索のため固定した位置に記録されなければならないポインタの書き換え回数が他の領域と同等に抑えられて特定の記憶領域に書き込みが集中して短時間で寿命に至ってしまうことが防止される。
【0023】
第4に、読み出されたデータからその記憶領域であるページ等が消去状態であるかどうかが検出されて誤り検出手段の検出結果に誤りがでることが防止される。これにより、消去状態のページ等がデータの書き込まれたページ等と区別無く読み出されるような制御が行われる場合にも、読み出しデータの正確な誤り検出が行われて高い信頼性が確保される。
【0024】
【実施例】
以下、本発明の実施例を図面を参照して説明する。本実施例は、NAND型EEPROMを用いた不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法に適用されている。
【0025】
図1ないし図9は、本発明の第1実施例を示す図である。まず、図2は、メモリ手段であるEEPROMにおける記憶領域の構成を示している。同図の31〜36は、管理の単位となる容量で区切られた複数の記憶領域であり、消去単位と同一或いはその整数倍とすると扱いが簡単になるが、それに限定されるものではない。また、本実施例では以下この単位記憶領域を単にブロックと称するが、これはNAND型EEPROMの消去単位であるブロックと解釈しても構わないがそれに限定されるものでもない。各ブロックに付けられた番号は、各ブロックを順位付けするためのもので、物理的なアドレス順とするのが分りやすいが、特定の規則に従った論理的な順位であっても構わない。以後簡単のために、ここで説明に使用するメモリ手段は6個のブロックで構成されていることにする。
【0026】
図1は、上記ブロック31〜36への書き込みを管理するためのテーブルである。11〜16の各項目は、ブロック31〜36の状態を示すもので、21〜23に図示されるように3つのフラグで構成されている。即ち、ブロックに有意なデータが記録されているか否かを管理する第3の管理手段としてのフラグ(以下、有効フラグ又はVフラグ)23と、有効フラグとともに参照することで、データの書き込みをブロックの順位にしたがって1方向に向かって、かつ循環して使用されるように管理するための第1の管理手段としてのフラグ(以下、消去フラグ又はEフラグ)21と、ブロックに記録されたデータが或る時点から後に変更されたか否かを管理する第2の管理手段としてのフラグ(以下、変更フラグ又はCフラグ)22である。
【0027】
次に、図面とフローチャートを使用して、本実施例の書き込み方式を説明する。なお、書き込まれたデータを読み出すためには、書き込んだデータのタグ(例えばファイル名)と書き込んだ位置の対応を管理する手段が必要であるが、これは通常のファイルシステム(OS)で行われている方法を適用可能なので本実施例では説明を省略する。
【0028】
図3及び図4はデータ書き込みの手順を示すフローチャート、図5はデータ消去の手順を示すフローチャート、図6はデータの書き換え手順を示すフローチャート、図7は書き込み手順中で使用されるサブルーチンのフローチャートである。図8及び図9はデータの書き込みによって、図2で示した記憶領域と図1で示したそれを管理するテーブルの状態の変化を同時に説明するための図である。図8及び図9の記憶領域を示す図中の斜線のブロックは有効なデータが書き込まれている領域を示すものとする。
【0029】
まずメモリ装置が使用される前には、図8(a)に示されるように全てのフラグが”0”に初期化されるものとする。この状態で第1ブロックの書き込みを行うことを考える。図3のステップ201で必要な容量が空いていることをチェックする。次に、この方式では有意なデータが記録されているか否かを管理するVフラグと一方向に向っての循環使用を管理するEフラグの両方が”0”のブロックにしか書き込みを行わないので、この条件に合うブロック検索を行う(図3ステップ202,203、図7ステップ301〜304)。条件に合うことが確認された後、第1ブロックにデータを書き込んで(図3ステップ204〜206)、CフラグとVフラグを”1”にする(図3ステップ207、図8(b))。今書き込んだデータを即書き換えると、図5の手順に従って、第1ブロックのVフラグ”0”に、Eフラグを”1”に変更し、初回の書き込みと同じ手順で検索される第2ブロックにデータを書き込む(図8(c))。これで第1ブロックは論理的な消去状態になるが、電気的な消去は別に行わなければならない。バックグラウンドで行われるのが処理速度の面で好ましいが、その方法は本実施例の本質から外れるので説明は省略する。以下の説明ではデータが書き込まれる前にこれらのブロックに電気的な消去は何らかの方法で済んでいることと仮定する。
【0030】
こうした書き込み処理が続くと、データは、ブロック番号順にメモリ全体に一様に書き込まれ、例えば図8(d)に示すような状態になる。ここで例えば1ブロック分のデータの書き込みをしようとすると、空き領域はあるが、図3のステップ203の検索で失敗する。検索に失敗したという状態は、ブロックの空き領域に対する一様な書き込みが一巡したことを示している。よって、次の一巡の単一方向書き込みを制御するために全てのブロックに対するEフラグを”0”にクリアする(図3ステップ209、図8(e))。
【0031】
単一方向循環による一様書き込みとともに本実施例を特徴づけるのは長期間同じ場所に留まるデータを移動させる点である。これを実現するためには、移動を行うのに適当な、書き込み回数に関連したタイミングが必要となるが、その一つとしてEフラグが全てクリアされる時点を利用する。図3では、この時点におけるステップ210〜213の処理でCフラグを検査することにより、移動対象のデータを選択している。図8(e)では、全てのブロックのCフラグが”1”になっているが、これは、Cフラグが初期化された時点から図8(e)の状態になるまでに、全てのブロックが最低1回は書き換えられていることを示している。この場合は、どのデータがより長く同じブロックを占有しているのか判断できないのでステップ214で初期化し直す(図8(f))。その後、この一連の処理を起動させた第1ブロックのデータ書き込みを行う(図4ステップ224〜228,206、図9(a))。
【0032】
さらに、第5ブロックのデータが消去されて図9(b)の状態になり、第2ブロックの書き込みと第1ブロックの消去があって図9(c)の状態になったとする。書き込みパターンの最後として、この時点で第1ブロックの書き込みを行う場合を考える。書き換えはもう一巡したので書き込み可能領域の検索には失敗し、Eフラグが全てクリアされる(図9(d))。続いてCフラグの検査が行われるが、今度は、第2ブロックのCフラグが”0”であるので、このブロックのデータは比較的長期間書き換えが行われていないと判断し移動の対象にする。移動先の書き込み可能ブロックは、図3のステップ215〜220の手順に従って、移動対象データの入ったブロックを起点に書き込みが進行する方向へ循環して検索される。この例では、第4ブロックが該当するので、第2ブロックはここにデータがコピーされた後消去される(図4ステップ221〜223、図9(e))。これにより、図8(c)の時点からずっと第2ブロックを占有していたデータが移動され、このブロックが書き換え可能になる。
【0033】
あとは図9(c)の時点で要求された1ブロック分のデータを空きブロックに書き込めばよいのであるが、通常の書き込みと同様に書き込み可能ブロックを検索しても失敗してしまう場合が有り得る。即ち図9(c)の時点で空きブロックが丁度1個しかなかった場合で、このときは、この空きブロックに移動対象データが入り、移動対象データが元々入っていたブロックのEフラグが”1”となっているので検索に引っかからない。よって図4のステップ227で示したようにEフラグをクリアする処理が必要である。移動対象のデータが元々入っていたブロックのEフラグを”0”のままにしておくような制御を行えばこの様なことはなくなるが、そのかわりに、他に空きブロックが有るにもかかわらず、移動直後のブロックが書き換え可能ブロックとして検索され、バックグラウンドの電気的消去が間に合わないという様なことが起り得る。
【0034】
次いで、図10ないし図14には、本発明の第2実施例を示す。本実施例では、不揮発性半導体メモリとして4MビットNAND型EEPROMを用いることを仮定する。また、実施例の要点を簡略に説明するため、MS−DOSのクラスタに相当する記憶領域の論理的な管理の単位をNAND型EEPROMの消去単位であるブロックと一致させるものとする。また、本実施例ではユーザファイル、ファイルの記録位置を管理するテーブル及びそのテーブルへの階層化されたポインタのうちその位置が固定されないものは、記憶領域中の特定の領域に記録される必要がないので、出来得る限り書き込みが記憶領域全体に分散されるように制御されるべきである。しかしながら、本実施例は、ファイルの位置を管理するテーブルが記憶領域中の特定の領域に固定されずに済む手法を説明するためのものなので、分散書き込み制御がされることを前提とするが、その詳細については触れない。
【0035】
図11は、ファイルの記録された位置を管理するためのテーブルの一つを構成するブロックの1例であり、ここでは仮にルート管理テーブルと呼ぶことにする。図11の38はMS−DOSのFATと同様な構成で記憶領域全体のブロック割当状況を管理するためのテーブルであるが、本実施例では、ユーザーファイルのみならず、ファイル管理テーブル自身やそのポインタといった管理情報の記録されたブロックの位置も動くので、それらの割当も併せて管理されるものとする。図11の39はブロックの割当情報がこのブロック内に納まらなかった場合に使用される追加ブロックの位置や、MS−DOSのディレクトリに相当するファイル名とそれに付随する情報に関する管理テーブル等の位置を示すポインタであるとする。即ち、図11に示す管理テーブルをアクセスできれば、ファイル管理に関する情報は全てアクセス可能になるものとする。
【0036】
図12は、ルート管理テーブルの記録された位置を示すために、記録された位置を階層的に示すように構成されたポインタが記録されるブロックの1例である。図12(a)の41〜48はNAND型EEPROMのページを表していて、48がソース側、41がドレイン側である。ポインタは1ページに納まる情報量とし、NAND型EEPROMの書き込みルールに従ってソース側から順に書き込まれてゆくものとする。図12(a)の46〜48の斜線のページは、更新されたポインタが書き込まれていたことを示し、41〜44の”NULL”は消去されたままのページであることを示す。同図(a)の第1のポインタを納めたブロックは、45のページの情報がルート管理テーブルの位置を示している。同図(b)の第mのポインタを納めたブロックは、同様の構成で、第(m−1)のポインタの位置を示すものとする。ポインタの数(階層数)をnとした場合、第1〜第(n−1)のポインタは、記憶可能な領域のどこに記録されてもよく、複数階のポインタを順に手繰ることでアクセスされる。第nのポインタ(以下、ルートポインタ)だけは、記憶領域の固定の位置に記録される。図10は、この複数階に設定されたポインタのつながりを示している。
【0037】
図13は、本実施例に係るファイル管理方式に必要なルート管理テーブルの更新に伴なって発生する処理の手順を示したフローチャートである。ルート管理テーブルの内容は、予めRAMに読み込まれて展開されており、更新はRAM上で行われた後に書き戻されるものとする。まず、ファイルの書き込み等でブロック割当に変更が生じると、変更されたルート管理テーブルを書き戻すブロックの位置を自身のブロック割当テーブルを参照して決定する(ステップ401)。次に、この位置をポインタに設定し、割当テーブルを更新してから書き込みを行う(ステップ402〜405)。図14のフローチャートのステップ501〜510は、階層化されたポインタにブロック位置を設定する手順を示している。この手順は、階層化されたポインタの設定を変更するために再帰的に呼び出される。
【0038】
次に、ポインタの階層数nの大きさの決め方を具体的に説明する。ファイルの書き込みによりブロックの割当に変更が起きると、その都度、ルート管理テーブルの内容が更新される。書き込みが特定ブロックに集中しないように、更新されたテーブル自体も別のブロックに書き込まれる。ルート管理テーブルの位置が変わったので第1のポインタの記録位置も更新される。ポインタの更新は同一ブロック内で8回(8ページ分)可能であるから、第1ポインタを納めたブロックは、ファイルの書き込みによるブロックの変更8回で一通りの書き込みが行われ、9回目の更新で位置が変わる。第2のポインタを納めたブロックは同様に、ファイルの書き込み64回に1回の割で書き換えが起きると見積もることが出来る。ここで仮に、不揮発性半導体メモリ装置の総容量を20Mバイトとすると、総ブロック数は1ブロックの容量が4kバイトであるから5120ブロックになる。EEPROMの書き換え可能回数をC回とし、これらのブロックに均一に書き込みが行われたとすると、延べ5120×Cブロックの書き換えが発生し得る。ファイル1ブロック分の書き換えに対して管理テーブル1ブロックの書き換えが発生するとすると、1回に付き2ブロックの書き換えが起きるからブロック割当の変更の発生回数は最高で5120×C÷2=2560×C回である。
【0039】
第nポインタを記録した固定ブロックの書き換えは、ブロック割当の変更8n回に1回の割合で起きる。また、このブロックも最高C回の書き換えが可能であるから、8n ×C=23n×C回までのブロック割当の変更なら、この固定ブロックの書き換え回数が他のブロックより先に限界に達することはない。よって、必要な階層数nは、23n×C=2560×Cn=log2 2560÷3 ≒4となる。
【0040】
図15ないし図20には、本発明の第3実施例を示す。図15は本実施例に係る不揮発性半導体メモリ装置の全体構成を示すブロック図である。同図において115はメモリ手段としてのNAND型EEPROMモジュールであり、複数個のページからなるブロックに分割されたメモリセルアレイで構成されている。EEPROMモジュール115はデータ線で結ばれたホストインターフェイス101を介して図示省略のホストシステムに接続されている。データ線上には、マルチプレクサ113及びデータバッファ107が設けられている。また、ホストインターフェイス101内には、データレジスタ102、アドレスレジスタ103、カウントレジスタ104、コマンドレジスタ105、ステータレジスタ106及びエラーレジスタ116が設けられている。108はコントロールロジック、109は誤り制御ロジック、114はアドレスジェネレータ、110は制御手段としての機能を有するCPU、111は作業用RAM、112は制御プログラムROMである。制御プログラムROM112には、データ書き込み等のための一連の制御プログラムが格納されている。
【0041】
図16は、誤り制御ロジック109の内部構成を示す図である。誤り検出手段としてのECC検査回路150、誤り検出/訂正コード発生手段としてのECC発生回路151及び消去検出手段としての消去検出回路152が備えられている。
【0042】
本実施例のメモリ装置は、不揮発性メモリ領域であるEEPROMモジュール115に記録されるデータに関し、必要に応じてメモリ領域の使用状況を管理するテーブルを使用する。このテーブルは、他のユーザ・データとともにEEPROMモジュール115に記録されるが、この装置が起動するときに自動的に作業用RAM111に読み込まれる。また、このテーブルは、更新される都度、或いは装置の使用が終了する時点でEEPROMモジュール115に書き戻されることとする。
【0043】
次に、この装置の動作をフローチャートを用いて説明する。ホストシステムは、図15のホストインターフェイス101内のアドレスレジスタ103にアクセス開始アドレスを、カウントレジスタ104にアクセスしたいデータのセクタ長をセットし、最後にコマンドレジスタ105に読み出し/書き込み等の命令をセットする。ホストインターフェイス101のコマンドレジスタ105にアクセス命令が書き込まれると、コントローラ内のCPU110は、コマンドレジスタ105内の命令を読み込み、制御プログラムROM112に納められたコマンド実行のための一連の制御プログラムを実行する。
【0044】
図17は、EEPROMモジュール115からデータを読み出す手順を示すフローチャートである。まず、図15のCPU110は、ホストインターフェイス101にセットされた開始アドレスから、読み出しを行うべきEEPROMモジュール115の物理的なアドレスを決定する(ステップ601)。次に、EEPROMモジュール115からデータバッファ107にデータを読み出す(ステップ602)。次いで、エラー処理及びデータバッファ107からホストシステムへのデータ転送等を実行する(ステップ603〜605)。
【0045】
図18及び図19は、EEPROMモジュール115からデータバッファ107にデータを読み出す手順を示すフローチャートである。CPU110は、EEPROMモジュール115をマルチプレクサ113を通してアクセスし読み出しモードに設定し、データバッファ107を読み出しモードに設定する(ステップ701,702)。アドレスジェネレータ114には、読み出しを行うべきEEPROMモジュール115の物理的なアドレスを設定する(ステップ703)。そして、データバッファ107に、読み出したデータを蓄えるべき領域を決定してその先頭番地をデータバッファ107への書き込みアドレスとして設定する(ステップ704)。その後、コントロールロジック108に対してデータ読み出しのための定められたシーケンスを実行するように指令を送る。
【0046】
コントロールロジック108は、マルチプレクサ113をEEPROMモジュール115からの読み出しデータがデータバッファ107に流れるように設定し、アドレスジェネレータ114の内容をインクリメントしながら、1セクタ分のデータを読み出す(ステップ705)。また、図16のECC検査回路150をこれらのデータ及びこれに付随して読み出されるECCコードを使って誤りを検出するように制御すると同時に、読み出されたデータが消去状態であるかどうかを検出するように消去検出回路152を制御する。消去検出回路152は、1セクタ分のデータ及びECCコードが全て消去後の状態である”1”であった場合に、CPU110からアクセス可能なレジスタに、消去状態を検出したことを示すコードをセットする。1セクタ分のデータが読み出されると、CPU110は、ECC検査回路150をチェックしデータの誤りを検査する(ステップ706)。誤りが検出されなかった場合は、データバッファからホストシステムにデータを転送する。誤りが検出されると、CPU110は次に消去検出回路152をアクセスし、消去状態が検出されていたならば、ECC検査回路150の結果を誤検出とみなしバッファ内のデータをホストシステムに転送する。ECC検査回路150が誤りを検出し、消去検出回路152も消去状態を検出しなかった場合で、検出された誤りが訂正可能な場合は、データバッファ107をアクセスして誤ったデータを訂正してからホストシステムにデータを転送する。
【0047】
もし、訂正不可能な誤りが検出された場合には、ホストシステムに対するデータ転送は行わずに、CPU110は、ホストインターフェイス101内のステータスレジスタ106にエラーが起きたことを示すコードを、エラーレジスタ116にエラーの内容を示すコードを設定し、ホストシステムに命令の実行が異常終了したことを通知して処理を終了する(ステップ707〜712)。
【0048】
図20は、データバッファからホストシステムにデータを転送する手順を示すフローチャートである。CPU110は、データバッファ107に読み出したデータが蓄えられた領域の先頭番地を同バッファからの読み出しアドレスとして設定し(ステップ801,802)、コントロールロジック108に対して、ホストシステムに1セクタ分のデータの転送を行うように指令する。コントロールロジック108は、データバッファ107とホストインターフェイス101を制御してホストシステムに対して1セクタ分のデータを転送し(ステップ803)、これが終了するとアドレスレジスタ103を1セクタ分進め、カウントレジスタ104から1を減じ、CPU108に転送が終了したことを通知する。ホストシステムに転送すべきデータが残っている限り、CPU110はこの制御を繰り返す。読み出しデータが全て転送されたら、CPU110は、ホストインターフェイス101内のステータスレジスタ106にエラーの無かったことを示すコードを設定し、ホストシステムに命令の実行が終了したことを通知して処理を終了する。
【0049】
【発明の効果】
以上説明したように、本発明に係る不揮発性半導体メモリ装置によれば、第1に、データの書き込みを複数の記憶領域に対して単一方向に循環して行うようにしたため、特定の記憶領域に集中することなく、書き込みを複数の記憶領域全体に均一に行うことができる。また、書き込まれた後、長期間変更を受けることなく同じ場所に留まっているデータは複数の記憶領域全体と比較した書きかえ回数に不均衡が生じないように移動させるようにしたため、見かけの書き込み領域が狭まって寿命を縮めてしまうことを防止することができる。したがって同一記憶場所の書き換え回数に制限があるにもかかわらず、磁気ディスク装置と同等の寿命を実現することができて用途を拡大することができる。
【0050】
第2に、書き込まれたデータが変更されていない記憶領域の選択を、書き込みの1循環周期を以って行うようにしたため、見かけの書き込み領域を狭めてしまうことを一層適切に防止することができる。
【0051】
第3に、書き換え頻度の高い管理テーブルの記憶領域上での配置は固定されず、またこの管理テーブルの位置を示すポインタは複数階に階層化して記録するようにしたため、検索のため固定した位置に記録されなければならないポインタの書き換え回数が他の領域と同等に抑えられて特定の記憶領域に書き込みが集中して短時間で寿命に至ってしまうことを防ぐことができる。したがって、上記第1の発明と同様に、同一記憶場所の書き換え回数に制限があるにもかかわらず、磁気ディスク装置と同等の寿命を実現することができる。
【0052】
第4に、読み出されたデータからその記憶領域であるページ等が消去状態であるか否かを検出し、読み出しデータに誤りが検出された場合でも同時に消去状態が検出されたときには、その読み出しデータには誤りが無いものとして処理するようにしたため、消去状態のページ等がデータの書き込まれたページ等と区別無く読み出されるような制御が行われる場合にも、読み出しデータの正確な誤り検出を行うことができて高い信頼性を確保することができる。
【図面の簡単な説明】
【図1】本発明に係る不揮発性半導体メモリ装置の第1実施例においてブロックへの書き込みを管理するためのテーブルの構成を示す図である。
【図2】第1実施例においてEEPROMにおける記憶領域の構成を示す図である。
【図3】第1実施例において記憶領域へのデータの書き込みの手順を示すフローチャートである。
【図4】第1実施例において記憶領域へのデータの書き込みの手順を示すフローチャートである。
【図5】第1実施例においてデータ消去の手順を示すフローチャートである。
【図6】第1実施例においてデータの書き換えの手順を示すフローチャートである。
【図7】図4のデータの書き込みの手順中で使用されるサブルーチンのフローチャートである。
【図8】第1実施例においてデータの書き込みによる記憶領域及びこれを管理するテーブルの状態の変化を説明するための図である。
【図9】第1実施例においてデータの書き込みによる記憶領域及びこれを管理するテーブルの状態の変化を説明するための図である。
【図10】本発明の第2実施例においてポインタとルート管理テーブルのつながり関係を示す図である。
【図11】第2実施例におけるルート管理テーブルの構成を示す図である。
【図12】第2実施例においてポインタが記録されたブロックを示す図である。
【図13】第2実施例においてルート管理テーブルの更新に伴なって発生する処理の手順を示すフローチャートである。
【図14】第2実施例においてポインタにブロック位置を設定する手順を示すフローチャートである。
【図15】本発明の第3実施例に係る不揮発性半導体メモリ装置の構成を示すブロック図である。
【図16】図15における誤り制御ロジックの内部構成を示す図である。
【図17】第3実施例においてEEPROMモジュールからデータの読み出しの手順を示すフローチャートである。
【図18】第3実施例においてEEPROMモジュールからデータバッファにデータを読み出す手順を示すフローチャートである。
【図19】第3実施例においてEEPROMモジュールからデータバッファにデータを読み出す手順を示すフローチャートである。
【図20】図17におけるデータバッファからホストシステムに読み出したデータを転送する手順を示すフローチャートである。
【図21】EEPROMの一つのNANDセルを示す等価回路図である。
【図22】EEPROMのメモリセルアレイを示す等価回路図である。
【図23】NAND型EEPROMの書き込み動作を説明するための図である。
【図24】オペレーティングシステムの一つであるMS−DOSのファイル管理方法を説明するための図である。
【図25】ディレクトリの構成例を説明するための図である。
【符号の説明】
21…第1の管理手段となるもので、有効フラグとともに参照しデータの書き込みをブロックの順位にしたがって1方向に向かって、かつ循環して使用されるように制御するためのフラグ
22…第2の管理手段となるもので、ブロックに記録されたデータが或る時点から後に変更されたか否かを管理するフラグ
23…ブロックに有意なデータが記録されているか否かを管理するフラグ
31〜36…管理単位となる容量で区切られた複数の記憶領域
38…ブロックの割当を管理するテーブル
41〜48,51〜58 ポインタ情報が記録されるページ
109…誤り制御ロジック
110…CPU(制御手段)
115…EEPROMモジュール(メモリ手段)
150…ECC検査回路(誤り検出手段)
151…ECC発生回路
152…消去検出回路(消去検出手段)
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a nonvolatile semiconductor memory, and more particularly, a nonvolatile semiconductor memory device using a NAND type EEPROM among electrically rewritable nonvolatile semiconductor memory elements (EEPROM), a control method therefor, and a nonvolatile semiconductor memory device The present invention relates to a system and a control method thereof.
[0002]
[Prior art]
Magnetic disk devices are currently widely used as secondary storage devices for computers, but in recent years, electrically rewritable nonvolatile semiconductor memories (EEPROMs) are more reliable in terms of mechanical strength, lower power consumption, It has been used for applications such as replacing magnetic disks by taking advantage of its portability and high-speed access. However, since there is a functional difference between the magnetic disk device and the EEPROM, in order to replace the conventional magnetic disk device as it is, control for filling this is necessary.
[0003]
As one type of EEPROM, a NAND type EEPROM capable of high integration is known. In this method, a plurality of memory cells are connected in series by sharing their sources and drains with adjacent ones, and connected to a bit line. A memory cell usually has a FETMOS structure in which a charge storage layer and a control gate are stacked. The memory cell array is integrated in a p-type well formed on a p-type substrate or an n-type substrate. The drain side of the NAND cell is connected to the bit line via the selection gate, and the source side is also connected to the source line (reference potential wiring (FIG. 21)) via the selection gate. The control gates of the memory cells are continuously connected in the row direction to become word lines. Usually, a set of memory cells connected to the same word line is called one page, and a set of pages sandwiched between one set of drain side and source side select gates is called one NAND block or simply one block (FIG. 22). Normally, one block is the smallest unit that can be independently erased.
[0004]
The operation of the NAND type EEPROM is as follows. Data is erased simultaneously for the memory cells in one NAND block. That is, all control gates of the selected NAND block are set to the reference potential VSS, and a high voltage VPP (for example, 20 V) is applied to the p-type well and the n-type substrate. As a result, electrons are emitted from the floating gate to the substrate in all the memory cells, and the threshold value is shifted in the negative direction. Normally, this state is defined as “1” state. Chip erase is performed by setting all NAND blocks to a selected state.
[0005]
Data write operation is performed in order from the memory cell farthest from the bit line. A high voltage VPP (for example, 20 V) is applied to the selected control gate in the NAND block, and an intermediate potential VM (for example, 10 V) is applied to the other non-selected gates. Further, VSS or VM is given to the bit line according to data. When VSS is applied to the bit line ("0" write), the potential is transmitted to the selected memory cell, and electrons are injected into the floating gate. As a result, the threshold value of the selected memory cell is shifted in the positive direction. Normally, this state is defined as a “0” state. Electron injection does not occur in the memory cell in which VM is applied to the bit line ("1" write), and therefore the threshold value remains unchanged and remains negative. The data read operation is performed by setting the control gate of the selected memory cell in the NAND block as VSS and setting the other control gate and selection gate as VCC and detecting whether or not a current flows in the selected memory cell.
[0006]
In the NAND type EEPROM, it is necessary to write data sequentially from a page close to the source line to a page on the drain side. The necessity will be described below with reference to FIG. In “1” writing, the intermediate potential VM (about 10 V) is transferred to the drain of the selected memory cell, and the erased state (that is, a negative threshold) is maintained without causing electron injection. FIG. 23 shows the case where the control gate 1 is in the selected state (VPP). Therefore, the control gate 2 is not selected and VM is given. Also, VM ("1" write) is given to the drain. FIG. 23A is a diagram when writing is performed from the source side, and FIG. 23B is a diagram when writing is performed from the drain side. In the case of FIG. 23A, since the drain side cell Ma2 has a negative threshold value, the drain potential VM is reliably transferred to the source side cell Ma1. However, in the case of FIG. 23B, assuming that the drain side cell Mb2 has already been written with “0” and has a positive threshold value (for example, 3.5 V), “1” is written to the source side cell Mb1. At this time, only a voltage obtained by subtracting the threshold voltage of the cell Mb2 from the VM is transferred to the cell Mb1. Therefore, in the cell Mb1, the potential difference between the control gate and the substrate becomes large, and erroneous writing may occur. As described above, means for sequentially writing from the source side is important in terms of preventing erroneous writing.
[0007]
In a conventional magnetic disk device, access such as data reading and writing is performed in units of sectors. Each storage area formed concentrically on the magnetic recording medium is called a track, and this track is further divided into several tens of areas to form a storage unit called a sector. . The capacity of one sector of a typical magnetic disk device used in a personal use portable computer is 512 bytes.
[0008]
In addition, a lump of data when a computer stores data in a magnetic disk device is called a file. An operating system (hereinafter referred to as an operating system) manages where this file is stored on the storage device. This is one of the important functions of the OS.
[0009]
FIG. 24 shows how a storage area of a magnetic disk device is used for file management by MS-DOS, which is one of typical OSs used in portable computers for personal use. FIG. The boot area 61 is an area in which information necessary for starting up the computer is stored and is not related to user file management. The 64 root directory area stores a file management table in which file names and associated information are recorded. Although it is managed by the root directory in the same manner as other data files, the content is the same as the root directory, and what is called a subdirectory can exist hierarchically in the data area. Since these are functionally the same except for the existing area and the rank in the hierarchy, they are collectively referred to simply as a directory. Information about one file in the directory occupies a 32-byte area, and its contents are as shown in FIG. As described above, the data recording of the magnetic disk device is in units of sectors. However, a logical unit called cluster is used to allocate an area on the disk to a file. One cluster is determined by the type of disk so as to be composed of a power of 2 sectors. The start cluster number 66 in FIG. 25 is the number of the cluster assigned to the head of the file. In the FAT area 62 in FIG. 24, file allocation information to the data area indicating how the clusters in the 65 data areas are connected to form one file is stored. 63 is a backup of the FAT area 62. As described above, the file management of MS-DOS is performed based on the information of the FAT area and the root directory area. The position and size of these areas are determined for each type of disk and are fixed. is there.
[0010]
The unit of access of the NAND type EEPROM is a page as described above. Taking a 4M-bit NAND type EEPROM as an example, one page is composed of 512 bytes, and one block is composed of eight pages. Therefore, in an application in which the magnetic disk device is replaced with a NAND type EEPROM, conversion is easy if one sector of the disk corresponds to one page of the NAND type EEPROM. However, one of the major differences that arise when replacing a magnetic disk device with an EEPROM is the number of times data can be rewritten. In the case of a magnetic disk device, the number of rewrites of data recorded on the medium is not limited, and the lifetime is governed by mechanical factors such as damage caused by contact between the head and the magnetic recording medium. On the other hand, in the case of EEPROM, the number of times data can be rewritten is only about 10 @ 4 to 10 @ 5 with the current technology.
[0011]
As described above, the amount of “data” recorded in one sector of the magnetic disk apparatus is 512 bytes. This data amount is the amount of information recorded and reproduced by the user. Also, information necessary for recording / reproducing control is additionally written. One of such information is an error correction code (hereinafter referred to as ECC code). This is information for detecting that there is an error in the read data when the user's data cannot be read correctly due to the defect of the medium or noise, and for correcting the error. When data is written to the data, the ECC generation circuit calculates the data based on the recorded data and writes it on the medium together with the data.
[0012]
The access unit of the NAND-type EEPROM is a page, and although there are some differences, this can be regarded as corresponding to a sector of the magnetic disk device. In order to improve the reliability, it is an effective measure to increase the physical capacity of one page more than the amount of information in which user data is recorded / reproduced and to allocate the redundancy to the ECC, as in a magnetic disk device. One.
[0013]
In a conventional magnetic disk device, in order to use it as a storage device, initialization called a format is required. According to the format, a track in which a series of a plurality of sectors are arranged on the circumference is formed on the magnetic recording medium, and a plurality (usually several hundred to several thousand) of tracks are formed concentrically. At this time, in each sector, a specific initialization pattern is written in the user data area and information necessary for recording / reproduction control is written. The ECC calculated from the initialization pattern is written. On the other hand, as can be seen from the above description, the NAND-type EEPROM cannot be overwritten as it is performed by a magnetic disk device with respect to a page once written. For example, in order to rewrite data in one page, it is necessary to erase in units of blocks consisting of multiple pages. Therefore, other pages in the block to be erased must be saved and rewritten after erasure if necessary. I must. Thus, it is often convenient to keep the erased page in an erased state until valid user data is written.
[0014]
[Problems to be solved by the invention]
In the case of a magnetic disk device, assuming that the lifetime guaranteed for the device is 20000 operation hours, and a fraction of this is the time spent rewriting data, a specific storage area such as a file management area In the worst case, it can be estimated that about 10 9 rewrites will be performed. On the other hand, as described above, since the NAND-type EEPROM can be rewritten about 10 @ 5 times, if it is used in the same manner as the magnetic disk device, the write operation is concentrated on only one block in the worst case of 10,000 minutes. Can be written only once. Since the actual data write positions are distributed in the storage area, the apparent number of rewrites increases by that amount. However, if there is data that cannot be erased for a long time after being written once, this is equivalent to the fact that the writable area is narrowed, so the number of times that data can be rewritten is reduced accordingly.
[0015]
Further, as with file management by the OS, generally, a file may be recorded anywhere as long as the data area is free, and the location is managed by a table such as a directory and FAT. Therefore, even if such file management is applied to an EEPROM with a limited number of rewritable times, it is easy to distribute writing positions so that rewriting to the same place does not concentrate on files. However, since the contents of the file management table are always rewritten whenever a file is written or rewritten, the frequency at which these table data are rewritten is considerably higher than the frequency at which individual data files are written. Moreover, since this table is the basic information for searching the file recording location, it must always be recorded at a fixed position. Therefore, when the EEPROM is applied to a file storage device, there is a problem that the lifetime may be shortened in a short time by rewriting concentrated on the management table area.
[0016]
Further, as can be seen from the above description, in the magnetic disk device, the sector before valid user data is written may be checked by ECC in the same manner as the sector where user data is written. On the other hand, in a NAND-type EEPROM controlled so that the erased page is kept in an erased state until valid user data is written, when the page before valid user data is written is read, the ECC is Since all the information in the included page is “1”, the ECC checking circuit determines that there is an error.
[0017]
Normally, the host computer's operating system does not attempt to read only pages that do not contain valid data. However, if multiple pages are used as a file management unit, the valid data is not written. It is possible to try to load along with a new page. Also, when erasing a block as a page is rewritten, the means for controlling the saving of data cannot know whether another page in the block to be erased has already been written. In the case of a control device, erased pages must also be read into the buffer. In such a case, if the ECC check circuit operates on the erased page data, as described above, it is erroneously recognized that an error has occurred even though it is originally a normal page, and error processing is performed. Control shifts and processing cannot proceed normally.
[0018]
An object of the present invention is to provide a non-volatile semiconductor memory device and a control method thereof, a non-volatile semiconductor memory device system and a control method thereof capable of realizing a life equivalent to that of a magnetic disk device and ensuring high reliability. Is to provide.
[0019]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention relates to a plurality of memory cells in which one end is connected to a source line, the other end is connected to a bit line, and adjacent sources and drains are connected to each other. Each time an update is performed on the erased memory cell area, data is written sequentially from the memory cell on the source line side to the memory cell on the bit line side, and the write data closest to the bit line is updated with the latest related information. It is a summary to provide a management means.
[0020]
[Action]
In the above configuration, first, data writing is performed in one direction in a plurality of storage areas, so that the writing is uniformly performed over the plurality of storage areas without being concentrated in a specific storage area. In addition, data that remains in the same place without being changed for a long time after being written is moved so that there is no imbalance in the number of writes compared to the entire storage area, so the apparent write area Narrowing and shortening the life is prevented.
[0021]
Secondly, the selection of the storage area in which the written data is not changed is performed with one cycle of writing, so that the apparent writing area can be prevented more appropriately.
[0022]
Thirdly, the recording position on the memory means of the management table with high rewrite frequency is not fixed, and the pointer indicating the position of the management table is hierarchized and recorded on a plurality of floors, thereby fixing the position for searching. Thus, the number of pointer rewrites that must be recorded in the memory area is suppressed to be equal to that in other areas, and writing is concentrated in a specific storage area and the lifetime is prevented from being shortened.
[0023]
Fourth, it is detected from the read data whether or not a page or the like as a storage area is in an erased state, and an error is prevented from being detected in the detection result of the error detection means. Thus, even when control is performed such that an erased page or the like is read without distinction from a page or the like in which data is written, accurate error detection of read data is performed and high reliability is ensured.
[0024]
【Example】
Embodiments of the present invention will be described below with reference to the drawings. The present embodiment is applied to a nonvolatile semiconductor memory device using a NAND type EEPROM and its control method, a nonvolatile semiconductor memory device system and its control method.
[0025]
1 to 9 are views showing a first embodiment of the present invention. First, FIG. 2 shows a configuration of a storage area in an EEPROM as a memory means. In the figure, reference numerals 31 to 36 denote a plurality of storage areas delimited by a capacity serving as a management unit, and the handling becomes simple if it is the same as an erasing unit or an integral multiple thereof, but is not limited thereto. In the present embodiment, the unit storage area is hereinafter simply referred to as a block. However, this may be interpreted as a block which is an erase unit of the NAND type EEPROM, but is not limited thereto. The number given to each block is for ranking each block, and it is easy to understand that the physical address order is used, but it may be a logical order according to a specific rule. Hereinafter, for the sake of simplicity, it is assumed that the memory means used in the description is composed of six blocks.
[0026]
FIG. 1 is a table for managing writing to the blocks 31-36. Each item of 11 to 16 indicates the state of the blocks 31 to 36, and is composed of three flags as shown in 21 to 23. That is, by referring to a flag (hereinafter referred to as a valid flag or V flag) 23 as a third management means for managing whether or not significant data is recorded in the block and the valid flag, data writing is blocked. A flag (hereinafter referred to as an erasure flag or E flag) 21 as a first management means for managing to be used in one direction and in a circular manner in accordance with the order of data, and data recorded in the block This is a flag (hereinafter referred to as a change flag or C flag) 22 as second management means for managing whether or not it has been changed after a certain point in time.
[0027]
Next, the writing method of this embodiment will be described with reference to the drawings and a flowchart. In order to read out the written data, a means for managing the correspondence between the tag (for example, file name) of the written data and the written position is necessary. This is performed by a normal file system (OS). In this embodiment, the description is omitted.
[0028]
3 and 4 are flowcharts showing a data writing procedure, FIG. 5 is a flowchart showing a data erasing procedure, FIG. 6 is a flowchart showing a data rewriting procedure, and FIG. 7 is a flowchart of a subroutine used in the writing procedure. is there. 8 and 9 are diagrams for simultaneously explaining changes in the state of the storage area shown in FIG. 2 and the table for managing it shown in FIG. 1 due to data writing. In FIG. 8 and FIG. 9, the hatched blocks in the drawings showing the storage areas indicate areas where valid data is written.
[0029]
First, before the memory device is used, it is assumed that all the flags are initialized to “0” as shown in FIG. Consider writing the first block in this state. In step 201 in FIG. 3, it is checked whether the necessary capacity is available. Next, in this method, since only the V flag for managing whether or not significant data is recorded and the E flag for managing the circular use in one direction are written only to the block of “0”. Then, a block search meeting this condition is performed (steps 202 and 203 in FIG. 3, steps 301 to 304 in FIG. 7). After confirming that the conditions are met, data is written in the first block (steps 204 to 206 in FIG. 3), and the C flag and V flag are set to “1” (step 207 in FIG. 3, FIG. 8B). . If the written data is immediately rewritten, the V flag “0” of the first block is changed to “1” and the E flag is changed to “1” according to the procedure of FIG. Data is written (FIG. 8C). The first block is now in a logical erase state, but electrical erasure must be performed separately. Although it is preferable to carry out in the background from the viewpoint of processing speed, the method is out of the essence of the present embodiment, so that the description thereof is omitted. In the following description, it is assumed that these blocks are electrically erased in some way before data is written.
[0030]
If such a writing process continues, the data is uniformly written in the entire memory in the order of the block numbers, for example, as shown in FIG. 8D. Here, for example, if data for one block is to be written, there is an empty area, but the search in step 203 in FIG. 3 fails. The state that the search has failed indicates that the uniform writing to the free area of the block has been completed. Therefore, the E flag for all blocks is cleared to “0” in order to control the next round of unidirectional writing (step 209 in FIG. 3, FIG. 8E).
[0031]
The feature of this embodiment together with uniform writing by unidirectional circulation is that data staying in the same place for a long time is moved. In order to realize this, a timing related to the number of times of writing, which is appropriate for performing the movement, is necessary. As one of them, a time when all the E flags are cleared is used. In FIG. 3, the data to be moved is selected by checking the C flag in steps 210 to 213 at this time. In FIG. 8E, the C flag of all the blocks is “1”. This is because all blocks from the time when the C flag is initialized to the state of FIG. 8E. Indicates that it has been rewritten at least once. In this case, since it cannot be determined which data occupies the same block for a longer time, initialization is performed again at step 214 (FIG. 8 (f)). Thereafter, the data writing of the first block that starts this series of processes is performed (steps 224 to 228 and 206 in FIG. 4, FIG. 9A).
[0032]
Further, it is assumed that the data in the fifth block is erased to be in the state shown in FIG. 9B, and the state in FIG. 9C is obtained due to the writing in the second block and the erasing of the first block. Consider the case where the first block is written at this point as the last write pattern. Since the rewriting has been completed one more time, the search for the writable area fails, and all the E flags are cleared (FIG. 9D). Subsequently, the C flag is inspected. This time, since the C flag of the second block is “0”, it is determined that the data in this block has not been rewritten for a relatively long period of time, and is thus subject to movement. To do. The writable block of the movement destination is circulated and searched in the direction in which the writing proceeds from the block containing the movement target data according to the procedure of steps 215 to 220 in FIG. In this example, since the fourth block corresponds, the second block is erased after the data is copied here (steps 221 to 223 in FIG. 4, FIG. 9 (e)). As a result, the data that has occupied the second block from the time of FIG. 8C is moved, and this block can be rewritten.
[0033]
After that, it is sufficient to write the data for one block requested at the time of FIG. 9 (c) into an empty block, but it may fail even when searching for writable blocks in the same way as normal writing. . That is, there is only one empty block at the time of FIG. 9C. At this time, the data to be moved enters this empty block, and the E flag of the block that originally contained the data to be moved is “1”. "So don't get caught in the search. Therefore, a process for clearing the E flag is required as shown in step 227 of FIG. If control is performed so that the E flag of the block that originally contained the data to be moved is kept at “0”, this will not happen, but instead there are other free blocks. The block immediately after the movement is searched as a rewritable block, and background electrical erasure cannot be made in time.
[0034]
Next, FIGS. 10 to 14 show a second embodiment of the present invention. In the present embodiment, it is assumed that a 4 Mbit NAND type EEPROM is used as the nonvolatile semiconductor memory. Further, in order to briefly explain the main points of the embodiment, the logical management unit of the storage area corresponding to the MS-DOS cluster is made to coincide with the block which is the erase unit of the NAND-type EEPROM. In the present embodiment, the user file, the table for managing the recording position of the file, and the hierarchized pointers to the table need not be recorded in a specific area in the storage area. Since it is not possible, it should be controlled so that writing is distributed throughout the storage area as much as possible. However, since the present embodiment is for explaining a method in which the table for managing the file position is not fixed to a specific area in the storage area, it is assumed that distributed write control is performed. The details are not mentioned.
[0035]
FIG. 11 shows an example of a block that constitutes one of the tables for managing the recorded positions of files. Here, the block is assumed to be a route management table. 11 in FIG. 11 is a table for managing the block allocation status of the entire storage area with the same configuration as the MS-DOS FAT, but in this embodiment, not only the user file but also the file management table itself and its pointer. Since the position of the block in which the management information is recorded also moves, it is assumed that their allocation is also managed. Reference numeral 39 in FIG. 11 indicates the position of an additional block used when the block allocation information does not fit in this block, the position of a management table or the like regarding the file name corresponding to the directory of the MS-DOS and the information associated therewith. It is assumed that the pointer is shown. That is, if the management table shown in FIG. 11 can be accessed, all the information related to file management can be accessed.
[0036]
FIG. 12 is an example of a block in which pointers configured to show the recorded positions hierarchically are recorded in order to indicate the recorded positions of the route management table. In FIG. 12A, reference numerals 41 to 48 denote pages of the NAND type EEPROM, where 48 is the source side and 41 is the drain side. The pointer is assumed to be the amount of information that can be contained in one page, and written sequentially from the source side according to the write rule of the NAND type EEPROM. The hatched pages of 46 to 48 in FIG. 12A indicate that the updated pointer has been written, and “NULL” of 41 to 44 indicates that the page remains erased. In the block containing the first pointer in FIG. 5A, the information of 45 pages indicates the position of the route management table. The block containing the mth pointer in FIG. 5B has the same configuration and indicates the position of the (m−1) th pointer. When the number of pointers (number of hierarchies) is n, the first to (n-1) th pointers may be recorded anywhere in the storable area, and accessed by sequentially handling the pointers on multiple floors. The Only the nth pointer (hereinafter, root pointer) is recorded at a fixed position in the storage area. FIG. 10 shows the connection of the pointers set on the multiple floors.
[0037]
FIG. 13 is a flowchart illustrating a procedure of processing that occurs in association with the update of the route management table necessary for the file management method according to the present embodiment. The contents of the route management table are read and expanded in advance in the RAM, and the update is performed on the RAM and then written back. First, when a change in block allocation occurs due to file writing or the like, the position of the block to which the changed route management table is written back is determined with reference to its own block allocation table (step 401). Next, this position is set as a pointer, and writing is performed after the allocation table is updated (steps 402 to 405). Steps 501 to 510 in the flowchart of FIG. 14 show a procedure for setting a block position in a hierarchical pointer. This procedure is called recursively to change the setting of the layered pointer.
[0038]
Next, how to determine the size of the pointer hierarchy number n will be described in detail. Whenever a block allocation is changed by writing a file, the contents of the route management table are updated. The updated table itself is also written to another block so that writing is not concentrated on a particular block. Since the position of the route management table has changed, the recording position of the first pointer is also updated. Since the pointer can be updated eight times (for eight pages) in the same block, the block containing the first pointer is written once in the block change by writing the file eight times. The position changes with the update. Similarly, it can be estimated that the block in which the second pointer is stored is rewritten at a rate of once per 64 file writes. If the total capacity of the nonvolatile semiconductor memory device is 20 Mbytes, the total number of blocks is 5120 blocks because the capacity of one block is 4 kbytes. Assuming that the number of times that the EEPROM can be rewritten is C, and writing is performed uniformly in these blocks, a total of 5120 × C blocks can be rewritten. If rewriting of one block of the management table occurs with respect to rewriting of one block of the file, rewriting of two blocks occurs once, so the maximum number of occurrences of block allocation change is 5120 × C / 2 = 2560 × C. Times.
[0039]
Rewriting of the fixed block in which the nth pointer is recorded occurs at a rate of once every 8n block allocation changes. Since this block can also be rewritten up to C times, if the block allocation is changed up to 8n × C = 2 3n × C times, the number of rewrites of this fixed block will reach the limit before other blocks. Absent. Therefore, the required number of hierarchies n is 2 3n × C = 2560 × Cn = log 2 2560 ÷ 3≈4.
[0040]
15 to 20 show a third embodiment of the present invention. FIG. 15 is a block diagram showing the overall configuration of the nonvolatile semiconductor memory device according to this example. In the figure, reference numeral 115 denotes a NAND type EEPROM module as a memory means, which is composed of a memory cell array divided into blocks each composed of a plurality of pages. The EEPROM module 115 is connected to a host system (not shown) via a host interface 101 connected by a data line. A multiplexer 113 and a data buffer 107 are provided on the data line. In the host interface 101, a data register 102, an address register 103, a count register 104, a command register 105, a status register 106, and an error register 116 are provided. Reference numeral 108 is a control logic, 109 is an error control logic, 114 is an address generator, 110 is a CPU having a function as control means, 111 is a work RAM, and 112 is a control program ROM. The control program ROM 112 stores a series of control programs for writing data.
[0041]
FIG. 16 is a diagram showing an internal configuration of the error control logic 109. An ECC check circuit 150 as error detection means, an ECC generation circuit 151 as error detection / correction code generation means, and an erasure detection circuit 152 as erasure detection means are provided.
[0042]
The memory device according to the present embodiment uses a table for managing the usage state of the memory area as necessary for data recorded in the EEPROM module 115 which is a nonvolatile memory area. This table is recorded in the EEPROM module 115 together with other user data, but is automatically read into the working RAM 111 when the apparatus is activated. This table is written back to the EEPROM module 115 every time it is updated or when use of the device is finished.
[0043]
Next, the operation of this apparatus will be described using a flowchart. The host system sets an access start address in the address register 103 in the host interface 101 of FIG. 15, sets the sector length of data to be accessed in the count register 104, and finally sets an instruction such as read / write in the command register 105. . When an access command is written in the command register 105 of the host interface 101, the CPU 110 in the controller reads the command in the command register 105 and executes a series of control programs for command execution stored in the control program ROM 112.
[0044]
FIG. 17 is a flowchart showing a procedure for reading data from the EEPROM module 115. First, the CPU 110 in FIG. 15 determines the physical address of the EEPROM module 115 to be read from the start address set in the host interface 101 (step 601). Next, data is read from the EEPROM module 115 to the data buffer 107 (step 602). Next, error processing and data transfer from the data buffer 107 to the host system are executed (steps 603 to 605).
[0045]
18 and 19 are flowcharts showing a procedure for reading data from the EEPROM module 115 to the data buffer 107. FIG. The CPU 110 accesses the EEPROM module 115 through the multiplexer 113 to set the read mode, and sets the data buffer 107 to the read mode (steps 701 and 702). A physical address of the EEPROM module 115 to be read is set in the address generator 114 (step 703). Then, an area in which the read data is to be stored is determined in the data buffer 107, and the head address is set as a write address to the data buffer 107 (step 704). Thereafter, the control logic 108 is instructed to execute a predetermined sequence for reading data.
[0046]
The control logic 108 sets the multiplexer 113 so that the read data from the EEPROM module 115 flows to the data buffer 107, and reads the data for one sector while incrementing the contents of the address generator 114 (step 705). Further, the ECC check circuit 150 of FIG. 16 is controlled so as to detect an error using these data and the ECC code read accompanying therewith, and at the same time, it is detected whether or not the read data is in an erased state. Thus, the erasure detection circuit 152 is controlled. The erasure detection circuit 152 sets a code indicating that an erasure state is detected in a register accessible from the CPU 110 when all data and ECC codes for one sector are “1”, which is the state after erasure. To do. When the data for one sector is read, the CPU 110 checks the ECC check circuit 150 for a data error (step 706). If no error is detected, the data is transferred from the data buffer to the host system. When an error is detected, the CPU 110 next accesses the erasure detection circuit 152. If the erasure state is detected, the CPU 110 regards the result of the ECC check circuit 150 as an erroneous detection and transfers the data in the buffer to the host system. . If the ECC check circuit 150 detects an error and the erasure detection circuit 152 does not detect an erasure state, and if the detected error can be corrected, the data buffer 107 is accessed to correct the erroneous data. Data from the host to the host system.
[0047]
If an uncorrectable error is detected, data transfer to the host system is not performed, and the CPU 110 displays a code indicating that an error has occurred in the status register 106 in the host interface 101 as an error register 116. Is set with a code indicating the content of the error, the host system is notified that the execution of the instruction has been terminated abnormally, and the process is terminated (steps 707 to 712).
[0048]
FIG. 20 is a flowchart showing a procedure for transferring data from the data buffer to the host system. The CPU 110 sets the start address of the area in which the data read in the data buffer 107 is stored as a read address from the buffer (steps 801 and 802), and the control logic 108 stores data for one sector in the host system. Command to transfer. The control logic 108 controls the data buffer 107 and the host interface 101 to transfer one sector of data to the host system (step 803). When this is completed, the address register 103 is advanced by one sector, and the count register 104 1 is subtracted and the CPU 108 is notified that the transfer has been completed. As long as data to be transferred to the host system remains, the CPU 110 repeats this control. When all the read data is transferred, the CPU 110 sets a code indicating that there is no error in the status register 106 in the host interface 101, notifies the host system that the execution of the instruction is completed, and ends the processing. .
[0049]
【The invention's effect】
As described above, according to the nonvolatile semiconductor memory device of the present invention, first, data writing is performed in a single direction in a plurality of storage areas. The writing can be performed uniformly over the plurality of storage areas without concentrating on. In addition, data that remains in the same location without being changed for a long time after being written is moved so that there is no imbalance in the number of rewrites compared to the entire storage area. It is possible to prevent the region from narrowing and shortening the lifetime. Therefore, although the number of rewrites to the same storage location is limited, the same life as the magnetic disk device can be realized and the application can be expanded.
[0050]
Second, since the selection of the storage area in which the written data is not changed is performed with one cycle of writing, it is possible to more appropriately prevent the apparent writing area from being narrowed. it can.
[0051]
Third, the location of the management table with a high rewrite frequency in the storage area is not fixed, and the pointer indicating the position of this management table is recorded in a hierarchy on multiple floors, so that it is a fixed location for retrieval. It is possible to prevent the number of pointer rewrites that must be recorded in the same area from being reduced to the same extent as in other areas and to concentrate the writing in a specific storage area and reach the lifetime in a short time. Therefore, as in the first aspect of the present invention, a life equivalent to that of the magnetic disk device can be realized even though the number of rewrites to the same storage location is limited.
[0052]
Fourthly, it is detected from the read data whether or not the page or the like that is the storage area is in the erased state, and if an erased state is detected at the same time even if an error is detected in the read data, the read is performed. Since the data is processed as having no error, accurate error detection of read data can be performed even when control is performed so that erased pages are read without distinction from data-written pages. It can be performed and high reliability can be ensured.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a table for managing writing to a block in a first embodiment of a nonvolatile semiconductor memory device according to the present invention;
FIG. 2 is a diagram showing a configuration of a storage area in an EEPROM in the first embodiment.
FIG. 3 is a flowchart showing a procedure for writing data to a storage area in the first embodiment;
FIG. 4 is a flowchart showing a procedure for writing data to a storage area in the first embodiment;
FIG. 5 is a flowchart showing a data erasing procedure in the first embodiment.
FIG. 6 is a flowchart showing a data rewrite procedure in the first embodiment;
FIG. 7 is a flowchart of a subroutine used in the data writing procedure of FIG. 4;
FIG. 8 is a diagram for explaining a change in the state of a storage area and a table for managing the storage area by data writing in the first embodiment.
FIG. 9 is a diagram for explaining a change in the state of a storage area and a table for managing the storage area by data writing in the first embodiment.
FIG. 10 is a diagram showing a connection relationship between a pointer and a route management table in the second embodiment of the present invention.
FIG. 11 is a diagram showing a configuration of a route management table in the second embodiment.
FIG. 12 is a diagram showing a block in which a pointer is recorded in the second embodiment.
FIG. 13 is a flowchart illustrating a procedure of processing that occurs in association with the update of the route management table in the second embodiment.
FIG. 14 is a flowchart showing a procedure for setting a block position to a pointer in the second embodiment.
FIG. 15 is a block diagram showing a configuration of a nonvolatile semiconductor memory device according to a third example of the present invention.
16 is a diagram showing an internal configuration of an error control logic in FIG. 15. FIG.
FIG. 17 is a flowchart showing a procedure for reading data from an EEPROM module in the third embodiment;
FIG. 18 is a flowchart showing a procedure for reading data from an EEPROM module to a data buffer in the third embodiment;
FIG. 19 is a flowchart showing a procedure for reading data from an EEPROM module to a data buffer in the third embodiment;
20 is a flowchart showing a procedure for transferring data read from the data buffer in FIG. 17 to the host system.
FIG. 21 is an equivalent circuit diagram showing one NAND cell of the EEPROM.
FIG. 22 is an equivalent circuit diagram showing a memory cell array of an EEPROM.
FIG. 23 is a diagram for explaining a write operation of a NAND type EEPROM;
FIG. 24 is a diagram for explaining a file management method of MS-DOS which is one of operating systems.
FIG. 25 is a diagram for describing a configuration example of a directory.
[Explanation of symbols]
21... Is a first management means, and is a flag for referring to the valid flag and controlling the data writing so that it is used in one direction and in a circular manner according to the block order.
22: A second management unit that manages whether or not the data recorded in the block has been changed after a certain point in time
23: Flag for managing whether or not significant data is recorded in the block
31 to 36... A plurality of storage areas delimited by a capacity serving as a management unit
38 ... Table for managing block allocation
41 to 48, 51 to 58 Pages on which pointer information is recorded
109 ... Error control logic
110 ... CPU (control means)
115 ... EEPROM module (memory means)
150 ... ECC inspection circuit (error detection means)
151. ECC generating circuit
152 ... Erase detection circuit (erase detection means)

Claims (6)

複数のメモリセルがそれらのソース、ドレインを隣接するメモリセル同士で共有する形で直列接続され、前記直列接続の一端がソース線、もう一端がビット線に接続されたNANDセルを複数備える不揮発性半導体メモリを使用した不揮発性半導体メモリ装置において、
同一の前記ソース線にそれぞれ接続する複数の前記NANDセルが独立に消去可能な単位であるブロックを構成し、前記ブロックに既に書き込まれたデータを更新する時に、前記ソース線側のメモリセルから前記ビット線側のメモリセルの方向へ順次データの書きこみがなされ、前記ビット線に最も近い位置のメモリセルに書き込まれたデータを最新のデータとして管理し、前記データはファイルの記録位置に関連する情報であることを特徴とする不揮発性半導体メモリ装置。
Non-volatile including a plurality of NAND cells in which a plurality of memory cells are connected in series in such a manner that their source and drain are shared by adjacent memory cells, and one end of the series connection is connected to a source line and the other end is connected to a bit line In a nonvolatile semiconductor memory device using a semiconductor memory,
A plurality of NAND cells connected to the same source line constitute a block that is an independently erasable unit, and when data already written in the block is updated , the memory cell on the source line side Data is sequentially written in the direction of the memory cell on the bit line side, and the data written in the memory cell closest to the bit line is managed as the latest data, and the data is related to the recording position of the file. A non-volatile semiconductor memory device characterized by being information .
前記複数のメモリセルが行方向に連続的にワード線に接続されてデータの書き込み単位であるページを構成し、前記ファイルの記録位置に関連する情報は、1ページに納まる情報量であることを特徴とする請求項1に記載の不揮発性半導体メモリ装置。The plurality of memory cells are continuously connected to the word line in the row direction to form a page as a data writing unit, and the information related to the recording position of the file is an amount of information contained in one page. The nonvolatile semiconductor memory device according to claim 1. 前記ファイルの記録位置に関連する情報は、前記ファイルの記録された位置を管理するテーブルが記録された位置を示すポインタであることを特徴とする請求項1又は2に記載の不揮発性半導体メモリ装置。3. The nonvolatile semiconductor memory device according to claim 1, wherein the information related to the recording position of the file is a pointer indicating a position where a table for managing the recording position of the file is recorded. . 複数のメモリセルがそれらのソース、ドレインを隣接するメモリセル同士で共有する形で直列接続され、前記直列接続の一端がソース線、もう一端がビット線に接続されたNANDセルを複数備える不揮発性半導体メモリの制御方法であって、
同一の前記ソース線にそれぞれ接続する複数の前記NANDセルが独立に消去可能な単位であるブロックを構成し、前記ブロックに既に書き込まれたデータを更新する時に、前記ソース線側のメモリセルから前記ビット線側のメモリセルの方向へ順次データの書きこみがなされ、前記ビット線に最も近い位置のメモリセルに書き込まれたデータを最新のデータとして管理し、前記データはファイルの記録位置に関連する情報であることを特徴とする不揮発性半導体メモリの制御方法。
Non-volatile including a plurality of NAND cells in which a plurality of memory cells are connected in series in such a manner that their source and drain are shared by adjacent memory cells, and one end of the series connection is connected to a source line and the other end is connected to a bit line A method for controlling a semiconductor memory, comprising:
A plurality of NAND cells connected to the same source line constitute a block that is an independently erasable unit, and when data already written in the block is updated , the memory cell on the source line side Data is sequentially written in the direction of the memory cell on the bit line side, and the data written in the memory cell closest to the bit line is managed as the latest data, and the data is related to the recording position of the file. A method for controlling a nonvolatile semiconductor memory, characterized by being information .
前記複数のメモリセルが行方向に連続的にワード線に接続されてデータの書き込み単位であるページを構成し、前記ファイルの記録位置に関連する情報は、1ページに納まる情報量であることを特徴とする請求項4に記載の不揮発性半導体メモリの制御方法。The plurality of memory cells are continuously connected to the word line in the row direction to form a page as a data writing unit, and the information related to the recording position of the file is an amount of information contained in one page. The method for controlling a nonvolatile semiconductor memory according to claim 4, wherein: 前記ファイルの記録位置に関連する情報は、前記ファイルの記録された位置を管理するテーブルが記録された位置を示すポインタであることを特徴とする請求項4又は5に記載の不揮発性半導体メモリの制御方法。6. The nonvolatile semiconductor memory according to claim 4, wherein the information related to the recording position of the file is a pointer indicating a position where a table for managing the recording position of the file is recorded. Control method.
JP2003026478A 2003-02-03 2003-02-03 Nonvolatile semiconductor memory device and control method thereof, nonvolatile semiconductor memory device system and control method thereof Expired - Fee Related JP3822171B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003026478A JP3822171B2 (en) 2003-02-03 2003-02-03 Nonvolatile semiconductor memory device and control method thereof, nonvolatile semiconductor memory device system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003026478A JP3822171B2 (en) 2003-02-03 2003-02-03 Nonvolatile semiconductor memory device and control method thereof, nonvolatile semiconductor memory device system and control method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP17423292A Division JP3412839B2 (en) 1992-07-01 1992-07-01 Nonvolatile semiconductor memory device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006003026A Division JP3974149B2 (en) 2006-01-10 2006-01-10 Nonvolatile semiconductor memory device and control method of nonvolatile semiconductor memory

Publications (2)

Publication Number Publication Date
JP2003272391A JP2003272391A (en) 2003-09-26
JP3822171B2 true JP3822171B2 (en) 2006-09-13

Family

ID=29208405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003026478A Expired - Fee Related JP3822171B2 (en) 2003-02-03 2003-02-03 Nonvolatile semiconductor memory device and control method thereof, nonvolatile semiconductor memory device system and control method thereof

Country Status (1)

Country Link
JP (1) JP3822171B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171203B2 (en) * 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US7437653B2 (en) * 2004-12-22 2008-10-14 Sandisk Corporation Erased sector detection mechanisms

Also Published As

Publication number Publication date
JP2003272391A (en) 2003-09-26

Similar Documents

Publication Publication Date Title
JP3412839B2 (en) Nonvolatile semiconductor memory device
KR960004738B1 (en) Non-volatile semiconductor memory device
JP4933269B2 (en) Non-volatile memory and method with memory plane array
US5509018A (en) Flash-erase-type nonvolatile semiconductor storage device
JP3226042B2 (en) Flash EEprom system
US8285954B2 (en) Memory system managing a plurality of logs
US8706988B2 (en) Memory system
JP5317690B2 (en) Memory system
US8738867B2 (en) Memory system
US20030225961A1 (en) Flash memory management system and method
US8108594B2 (en) Memory system
JP2007519996A6 (en) Nonvolatile memory and method with phased program fault handling
JP2007519996A (en) Nonvolatile memory and method with phased program fault handling
JP3822171B2 (en) Nonvolatile semiconductor memory device and control method thereof, nonvolatile semiconductor memory device system and control method thereof
JP3974149B2 (en) Nonvolatile semiconductor memory device and control method of nonvolatile semiconductor memory
JP3672576B2 (en) Nonvolatile semiconductor memory device
JP3267320B2 (en) Nonvolatile semiconductor memory device and method of controlling nonvolatile semiconductor memory device
JP4050250B2 (en) Nonvolatile semiconductor memory device
JP3908238B2 (en) Data writing method for nonvolatile semiconductor memory device
JP2003242788A (en) Nonvolatile semiconductor memory device and control method therefor
JP2009211218A (en) Memory system and hit judgment method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060110

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: 20060613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060621

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090630

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100630

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110630

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees