JP2006252579A - 不揮発性半導体メモリ装置及びその制御方法 - Google Patents

不揮発性半導体メモリ装置及びその制御方法 Download PDF

Info

Publication number
JP2006252579A
JP2006252579A JP2006135467A JP2006135467A JP2006252579A JP 2006252579 A JP2006252579 A JP 2006252579A JP 2006135467 A JP2006135467 A JP 2006135467A JP 2006135467 A JP2006135467 A JP 2006135467A JP 2006252579 A JP2006252579 A JP 2006252579A
Authority
JP
Japan
Prior art keywords
data
block
semiconductor memory
nonvolatile semiconductor
erased
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.)
Granted
Application number
JP2006135467A
Other languages
English (en)
Other versions
JP3977859B2 (ja
Inventor
Yutaka Okamoto
豊 岡本
Yoshiyuki Tanaka
義幸 田中
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 JP2006135467A priority Critical patent/JP3977859B2/ja
Publication of JP2006252579A publication Critical patent/JP2006252579A/ja
Application granted granted Critical
Publication of JP3977859B2 publication Critical patent/JP3977859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract


【課題】 書き込みの高速化を行うとともに長寿命化を図れる不揮発性半導体メモリ装置を提供することを目的とする。
【解決手段】選択的に書き込み消去可能な複数のブロックを有し、ブロックの消去フラグを格納する不揮発性半導体メモリ1と、消去フラグをRAM15に書き込み、更新された消去フラグを不揮発性半導体メモリに書き戻す手段と、書き換えの際には新たなデータを消去フラグが消去済みのブロックに書き込み、旧データのすべてを変更するものではない場合、旧データを消去済みのブロックにコピーする手段と、旧データが記録されたブロックに対応する消去フラグを未消去にセットする手段と、未消去にセットされたブロックのデータを選択的に消去する手段と、旧データを有していたブロックの物理アドレスに対応付けられていた論理アドレスを新たなデータが書きこまれたブロックの物理アドレスに対応付ける手段とを有する不揮発性半導体メモリ装置。
【選択図】図1

Description

本発明は、電気的に書換可能な不揮発性半導体メモリ素子(EEPROM)の中のNAND型EEPROMを用いた不揮発性半導体メモリ装置及びその制御方法に関する。
一般にコンピュータシステムにおける書換可能な記憶装置(記憶素子)は、その容量に物理的な限界があるため、不要になった情報の上に新しい情報を重ね書きして使用される。書換可能な記憶装置(記憶素子)は、その重ね書きの方法で大別すると2通りに分けることが出来る。その一つは、ランダムアクセスメモリ(RAM)やハードディスク、フロッピディスク或いは磁気テープのように、古い情報の上に新しい情報をそのまま上書き出来るものである。他の一つは、ある種の光記憶装置やEEPROMのように重ね書きされる古い情報を一度消去してからでないと新しい情報が書き込めないものである。
NAND型EEPROMの消去方法は2通りあり、その一つは、例えばインテル社製フラッシュEEPROMのようにチップ全体の情報を一度に消去する方法である。他の一つは、チップの一部分の情報のみを選択的に消去する方法である。
NAND型EEPROMでは、連続してデータを読み出したり、データを書き込んだりするための構造的に連続する複数の記憶セルをページという単位で呼んでいる。例えば、4MビットEEPROMでは、1ページは、4096ビットの記憶セルで構成されている。また、構造的に連続する複数ページはブロックという単位で呼ばれる。例えば、4MビットEEPROMでは、8ページ(4kバイト)分の記憶セルで1ブロックが構成されている。NAND型EEPROMで、チップの一部分の情報のみを選択的に消去する場合の単位は、このブロックと一致している。
NAND型EEPROMは、上記のようにデータの一部分のみを消去できるので、磁気ディスク装置におけるように、1セクタ分のデータのみを書き換えるといった操作が比較的容易におこなえる不揮発性記憶素子である。そこで、機械的強度に関する信頼性、低消費電力、読み出し時間の高速性といった半導体メモリの特徴を生かして、従来の磁気ディスク装置を置き換えるような用途に使われだした。
ところが、EEPROMは、データ読み出しのためのアクセス時間が高速である割に、データ書き込みには時間がかかる。例えば、4MビットNAND型EEPROMの場合、1ブロックのデータ読み出しに要する時間が約490μsecであるのに対し、1ブロックを消去して書き換えるには、消去に約10msec、データ書き込みに約4msecの時間を要する。
さらに、現状の技術ではデータの書換回数に制限があり、104 回ないし105回程度の書換で寿命となる。よって、同一のブロックに対してデータの重ね書きが集中するとチップ自体の寿命を縮めてしまうという問題があった。
以上のようにNAND型EEPROMを用いた従来の不揮発性半導体メモリ装置は、データの読み出し時間に比べて書き込みに時間がかかり、しかも、書換回数に制限があるため同一ブロックに重ね書きが集中すると寿命を縮めるという問題があった。
本発明は、このような問題を解決し、書き込みを高速に行うことができるとともに長寿命化を図ることのできる不揮発性半導体メモリ装置及びその制御方法を提供することを目的とする。
本発明は上記課題を解決するために、本発明の第1の特徴は、(イ)それぞれが選択的に書き込み及び消去可能な複数のブロックを有し、複数のブロックのそれぞれが消去済みか否かを示す消去フラグを格納する不揮発性半導体メモリと、(ロ)不揮発性半導体メモリに格納された消去フラグをRAMに書き込み、更新された消去フラグの内容をRAMから不揮発性半導体メモリに書き戻す手段と、(ハ)書き換えの際には消去動作を実行することなく新たなデータを消去フラグが消去済みのブロックに書き込み、新たなデータが旧データのすべてを変更するものではない場合、変更されない旧データを消去フラグが消去済みのブロックにコピーする手段と、(ニ)旧データが記録されたブロックに対応する消去フラグを未消去にセットする手段と、(ホ)消去フラグが未消去にセットされたブロックのデータを選択的に消去する手段と、(ヘ)旧データを有していたブロックの物理アドレスに対応付けられていた論理アドレスを新たなデータが書きこまれたブロックの物理アドレスに対応付ける手段とを有する不揮発性半導体メモリ装置であることを要旨とする。
また、本発明の第2の特徴は、それぞれが選択的に書き込み及び消去可能な複数のブロックを有する不揮発性半導体メモリを含む不揮発性半導体メモリ装置のデータ書き換え制御方法において、(イ)複数のブロックのそれぞれが消去済みか否かを示す消去フラグを不揮発性半導体メモリに格納するステップと、(ロ)不揮発性半導体メモリに格納された消去フラグをRAMに書き込み、更新された消去フラグの内容をRAMから不揮発性半導体メモリに書き戻すステップと、(ハ)書き換えの際には消去動作を実行することなく新たなデータを消去フラグが消去済みのブロックに書き込み、新たなデータが旧データのすべてを変更するものではない場合、変更されない旧データを消去フラグが消去済みのブロックにコピーするステップと、(ニ)旧データが記録されたブロックに対応する消去フラグを未消去にセットするステップと、(ホ)消去フラグが未消去にセットされたブロックのデータを選択的に消去するステップと、(ヘ)旧データを有していたブロックの物理アドレスに対応付けられていた論理アドレスを新たなデータが書きこまれたブロックの物理アドレスに対応付けるステップとを有する発性半導体メモリ装置の制御方法であることを要旨とする。
[作用]
本発明の第1の特徴によれば、新たなデータの書き込みは、可能な限り予め消去された未使用のブロック領域に対して行われる。これにより不揮発性半導体メモリ装置において本来書き込みに先だって行う必要があり且つアクセス時間の増大を余儀なくさせる消去動作が省略されて高速書き込みが可能になる。また、同一データを更新/変更する場合でも、物理的な書き込み位置は書き込みの都度変るため、特定のブロックに対する書き込み回数の増加が回避されて長寿命化を図ることが可能となる。
また、本発明の第2の特徴によれば、新たなデータの書き込みは、可能な限り予め消去された未使用のブロック領域に対して行われる。これにより不揮発性半導体メモリ装置において本来書き込みに先だって行う必要があり且つアクセス時間の増大を余儀なくさせる消去動作が省略されて高速書き込みが可能になる。また、同一データを更新/変更する場合でも、物理的な書き込み位置は書き込みの都度変るため、特定のブロックに対する書き込み回数の増加が回避されて長寿命化を図ることが可能となる。
以上説明したように、本発明によれば、新たなデータの書き込みは、可能な限り予め消去された未使用のブロックに対して行うようにしたため、本来書き込みに先だって行う必要があり且つアクセス時間の増大を余儀なくさせる消去動作が省略されて書き込みを高速に行うことができる。また、同一データを更新/変更する場合でも、物理的な書き込み位置は書き込みの度ごとに変るため、特定のブロックに対する書き込み回数の増加が回避されて長寿命化を図ることができる不揮発性半導体メモリ装置及びその制御方法を提供できる。
以下、本発明の実施例を図面を参照して説明する。図1は、不揮発性半導体メモリ装置の全体構成を示すブロック図である。同図において1はメモリ手段としてのNAND型EEPROMモジュールであり、複数個のページからなるブロックに分割されたメモリセルアレイで構成されている。EEPROMモジュール1はデータ線で結ばれたホストインターフェイス2を介して図示省略のホストシステムに接続されている。データ線上には、マルチプレクサ9及びデータバッファ10が設けられている。また、ホストインターフェイス2内には、データレジスタ3、アドレスレジスタ4、カウントレジスタ5、コマンドレジスタ6、ステータスレジスタ7及びエラーレジスタ8が設けられている。11はコントロールロジック、12はECC(誤差修正コード)ジェネレータ/チェッカ、13はアドレスジェネレータ、14は消去手段及び制御手段としての機能を有するCPU、15は作業用RAM、16は制御プログラムROMである。制御プログラムROM16には、データ書き込み等のための一連の制御プログラムが格納されるようになっている。
本実施例のメモリ装置は、不揮発性メモリ領域であるEEPROMモジュール1に記録されるデータに関し、その位置を割付け、管理するために管理テーブルを使用する。このテーブルは、他のユーザデータとともにEEPROMモジュール1に記録されるが、この装置が起動するときに自動的に作業用RAM15に読み込まれる。また、このテーブルは、EEPROMモジュール1への書き込みが行われる度にその内容が更新されるが、この更新されたテーブルは、その都度、或いは装置の使用が終了する時点でEEPROMモジュール1に書き戻されることとする。
このテーブルの一つは、図3にその構成を示す未使用ブロックを管理するためのテーブル(管理テーブル)である。他の一つは、図4に示すホストシステムが指定してくるアドレスとメモリモジュール上の物理的なアドレスとの対照テーブルである。
まず図3の未使用ブロックを管理するためのテーブルの一例を説明する。テーブルの1番目210は、未使用のデータブロックを連鎖状に管理するためのもので、チェインの先頭のブロックへのポインタである。テーブルの2番目211は、同じ目的のポインタであるがチェインの最後尾へのポインタである。テーブルの3番目からn+2番目は、NAND型EEPROMモジュール1の物理的なブロックの1番目からn番目に対応している。これらの内容は、212に例示するように、さらに、次の未使用ブロックへのポインタ213と消去フラグ214とから構成されている。テーブルのm番目218の中のポインタのようにその内容が”−1”であった場合にはチェインの最後尾であることを示すものとする。よってこの例では、最後尾ポインタ211はテーブルのm番目218をポイントするため内容はmにセットされる。消去フラグ214は、対応するブロックが消去済みであるか否かを示すもので、ここでは”0”の場合は消去済み、”1”の場合は未消去を表すものとする。
具体的な例を用いてデータが記録される際の動作の概要を述べる。いま、未使用ブロックの連鎖が図2(a)のようであると仮定する。データを記録するには、まず、先頭ポインタ101の内容を調べる。図2(a)では53番目のテーブルをポイントしているから、書き込み可能なNAND型EEPROMモジュール1上の物理的なブロックアドレスはオフセット2を減じた51となる。ブロック51に書き込みを行なったら、先頭ポインタ101の値を、102のポイント先33にセットしなおしてブロック51に対応するテーブル102をこのチェインから外す。結果を図2(b)に示す。
この書き込みに伴なって、既存のブロックのデータが不要になった場合には、さらに、図2(c)に示すようにテーブルが更新されるような操作を行う。不要になったデータを記録していたのがブロック45であったとすると、最後尾ポインタ105がポイントしているテーブルの151番目104の中のポインタと最後尾ポインタ105の値をブロック45に対応するテーブル番号47にセットしなおす。テーブルの47番目107の中のポインタは”−1”に、消去フラグは”1”に設定される。
未使用ブロックのチェインに加えられた直後のブロックは消去されていないので、読み出し/書き込みアクセスが途絶えたときにチェインを順次手繰りながら、消去を行い、そのブロックに対応するテーブルの消去フラグを”0”にセットする。
次いで、図4の対照テーブルを説明する。テーブルの長さnは、NAND型EEPROMモジュール1のブロック以下とする。例えば、以後簡単のためにここではEEPROMモジュール1が4MビットEEPROM1個で構成されていると仮定すると、1ブロックの容量は4kバイトであるから、ブロックの総数は128個となり、対照テーブルの項目数nも128以下である。
この装置では、EEPROMモジュール1のブロックの容量に相当するデータ量を単位として、EEPROMモジュール1上の物理的位置の割り付けを行う。即ち、テーブルの1項目めは、ホストシステムから指定される最初の4kバイト分のデータが実際に記録される物理的位置を示している。図4の例では、203は、テーブルの3番目の項目であるから、ホストシステムから指定してくるアドレス(以後論理アドレスと記載)の8kバイト目からの4kバイトが、実際にはEEPROMモジュール1の101番目のブロックに割り当てられていることを示している。また、201,202のように”−1”の書かれたテーブルは、その位置に対応する論理アドレスへの書き込みがまだ行われていないため、物理的な領域の割り付けが行われていないことを示す。
次に、この装置の動作を説明する。ホストシステムは、図1のホストインターフェイス2内のアドレスレジスタ4にアクセス開始アドレスを、カウントレジスタ5にアクセスしたいデータのセクタ長をセットし、最後にコマンドレジスタ6に読み出し/書き込み等の命令をセットする。ホストインターフェイス2のコマンドレジスタ6にアクセス命令が書き込まれると、コントローラ内のCPU14は、コマンドレジスタ6内の命令を読み込み、制御プログラムROM16に納められたコマンド実行のための一連の制御プログラムを実行する。以下の説明では、簡単のためホストシステムの指定してくるセクタ長とEEPROMモジュール1におけるページ長は一致しているものと仮定する。
図5は、EEPROMモジュール1からデータを読み出す手順を示すフローチャートである。まず、図1のCPU14は、ホストインターフェイス2にセットされた開始アドレスと管理テーブル内のアドレス変換テーブルを参照して読み出しを行うべきEEPROMモジュール1上の物理的なアドレスを決定する(ステップ301)。次に、EEPROMモジュール1からデータバッファ10にデータを読み出す(ステップ302)。次いで、後に詳述するようなエラー処理及びデータバッファ10からホストシステムへのデータ転送等を実行する(ステップ303〜305)。
図6は、EEPROMモジュール1からデータバッファ10にデータを読み出す手順を示すフローチャートである。CPU14は、EEPROMモジュール1をマルチプレクサ9を通してアクセスし読み出しモードに設定し、データバッファ10を読み出しモードに設定する(ステップ401,402)。アドレスジェネレータ13には、読み出しを行うべきEEPROMモジュール1の物理的なアドレスを設定する(ステップ403)。そして、データバッファ10に、読み出したデータを蓄えるべき領域を決定してその先頭番地をデータバッファ10への書き込みアドレスとして設定する(ステップ404)。その後、コントロールロジック11に対してデータ読み出しのための定められたシーケンスを実行するように指令を送る。
コントロールロジック11は、マルチプレクサ9をEEPROMモジュール1からの読み出しデータがデータバッファ10に流れるように設定し、アドレスジェネレータ13の内容をインクリメントしながら、1セクタ分のデータを読み出す(ステップ405)。また、EECジェネレータ/チェッカ12をこれらのデータ及びこれに付随して読み出されるECCコードを使って誤りを検出するように制御する。1セクタ分のデータが読み出されると、CPU14は、ECCジェネレータ/チェッカ12をチェックしデータの誤りを検査する(ステップ406)。誤りが検出されなかった場合、又は検出されても訂正が行えた場合は、データバッファ10からホストシステムにデータを転送する。もし、訂正不可能な誤りが検出された場合には、ホストシステムに対するデータ転送は行わずに、CPU14は、ホストインターフェイス2内のステータスレジスタ7にエラーが起きたことを示すコードを、エラーレジスタ8にエラーの内容を示すコードを設定し、ホストシステムに命令の実行が異常終了したことを通知して処理を終了する(ステップ407〜410)。
図7は、データバッファからホストシステムにデータを転送する手順を示すフローチャートである。CPU14は、データバッファ10に読み出したデータが蓄えられた領域の先頭番地を同バッファからの読み出しアドレスとして設定し(ステップ501,502)、コントロールロジック11に対して、ホストシステムに1セクタ分のデータの転送を行うように指令する。コントロールロジック11は、データバッファ10とホストインターフェイス2を制御してホストシステムに対して1セクタ分のデータを転送し(ステップ503)、これが終了するとアドレスレジスタ4を1セクタ分進め、カウントレジスタ5から1を減じ、CPU14に転送が終了したことを通知する。ホストシステムに転送すべきデータが残っている限り、CPU14はこの制御を繰り返す。読み出しデータが全て転送されたら、CPU14は、ホストインターフェイス2内のステータスレジスタ7にエラーの無かったことを示すコードを設定し、ホストシステムに命令の実行が終了したことを通知して処理を終了する。
図8及び図9は、EEPROMモジュール1へデータを書き込む手順を示すフローチャートである。CPU14はホストインターフェイス2にセットされた開始アドレスと管理テーブル内のアドレス変換テーブルを参照して、ホストシステムが書き込みを行おうとしているアドレスに割り振られているEEPROMモジュール1上のブロックを割り出す(ステップ601)。ホストシステムの指示するアドレスに対応するEEPROMモジュール1上のブロックが既に割り振られていて、かつ、ホストシステムからの要求がそのブロックのデータの全てを書き換えるものでない場合は、ブロック内の書き換えられないデータをデータバッファ10に読み込む(ステップ602〜604)。EEPROMモジュール1からデータバッファ10にデータを読み出す手順は、先に図6のフローチャートを用いて説明した。ブロック内の重ね書きされない部分のデータが全てデータバッファ10に読み込まれるまで図6の処理が繰り返される。次いで、後に詳述するようなホストシステムからデータバッファ10への書き込みデータの転送、データバッファ10からEEPROMモジュール1へのデータの書き込み処理及びエラー処理等を実行する(ステップ605〜611)。
図10は、ホストシステムからデータバッファ10に書き込みデータを転送する手順を示している。CPU14は、データバッファ10を書き込みモードに設定し(ステップ701)、ホストシステムから転送されてくるデータが蓄えられるデータバッファ10上のアドレスを同バッファへの書き込みアドレスとして設定する(ステップ702)。その後、コントロールロジック11に対して、ホストシステムから1セクタ分のデータの転送を行うように指令する。コントロールロジック11は、データバッファ10とホストインターフェイス2を制御してホストシステムから1セクタ分のデータを受け取り、これが終了するとCPU14に転送が終了したことを通知する(ステップ703)。図10の処理は、ホストシステムから転送すべきデータが残っていて、かつ、データバッファ10にEEPROMモジュール1の書き込みを行おうとしているブロックのためのデータが不足している限り続けられる。ホストシステムからの転送が終了したら、CPU14はホストインターフェイス2にセットされた開始アドレスと未使用ブロックを管理するテーブルを参照して、先に説明したように未使用ブロックのチェインを手繰って、データバッファ10に蓄えられた1ブロック分のデータが書き込まれるべきEEPROMモジュール1上の未使用ブロックを決定し、EEPROMモジュール1上に書き込みを行う。
図11は、データバッファ10内のデータ1ページ分をEEPROMモジュールに書き込む手順を示したフローチャートである。CPU14は、EEPROMモジュール1とデータバッファ10に必要ならば初期設定を施した後(ステップ801,802)、書き込みを行うページの先頭アドレスをアドレスジェネレータ13に設定し(ステップ803)、データバッファ10には、書き込まれるデータの先頭アドレスを同バッファの読み出しアドレスとして設定する(ステップ804)。そして、コントロールロジック11に対してデータ書き込みのための定められたシーケンスを実行するように指令を送る。コントロールロジック11は、マルチプレクサ9をデータバッファ10からの書き込みデータがEEPROMモジュール1に流れるように設定し、アドレスジェネレータ13の内容をインクリメントしながらデータを書き込む(ステップ805)。また、ECCジェネレータ/チェッカ12をこれらのデータからECCコードを生成するように制御し、データとともにこのコードも記録する(ステップ806)。図11の処理は、書き込みエラーが発生するか、1ブロック分のデータを書き終えるかするまで続けられる(ステップ807)。データの書き込みが正常に行えなかった場合はエラー処理を行い、1ブロック分のデータが書き込まれるべきEEPROMモジュール1上のブロックを割付けなおして、再度、書き込みを行なう。書き込みが正常に終了したら管理テーブルの内容を更新する。
ホストシステムの要求するデータを全て記録し終えるか、エラーからの回復が不可能で処理を中断した場合は、CPU14は、ホストインターフェイス2内のステータスレジスタ7に所定のコードを設定し、ホストシステムに命令の実行が終了したことを通知する。ホストインターフェイス2のコマンドレジスタ6にアクセス命令が書き込まれない適当なタイミングに、コントローラ内のCPU14は、先に説明したように、未使用ブロック管理テーブルのチェインを手繰りながら未消去のブロックを順次消去してゆく。
なお、上記の実施例では、EEPROMモジュール1は、ホストインターフェイス2を介して、ホストシステムと並行して動作可能なコントローラにより制御される形態を取っているが、ホストシステムのCPUにより直接制御される形態を取ってもよい。その他、本発明はその主旨を逸脱しない範囲で種々変形して用いることができる。
本発明に係る不揮発性半導体メモリ装置の実施例を示すブロック図である。 本実施例において未使用ブロックを管理するテーブルの操作を説明するための図(その1)である。 本実施例における未使用ブロックを管理するテーブルの操作を説明するための図(その2)である。 本実施例におけるアドレス変換用の対照テーブルの構成を示す図である。 本実施例においてEEPROMモジュール1からデータの読み出し処理を説明するためのフローチャートである。 本実施例においてEEPROMモジュール1からデータバッファ10へのデータの読み出し処理を説明するためのフローチャートである。 本実施例においてデータバッファ10からホストシステムへの読み出しデータの転送処理を説明するためのフローチャートである。 本実施例においてEEPROMモジュール1へのデータの書き込み処理を説明するためのフローチャート(その1)である。 本実施例においてEEPROMモジュール1へのデータの書き込み処理を説明するためのフローチャート(その2)である。 本実施例においてホストシステムからデータバッファ10への書き込みデータの転送処理を説明するためのフローチャートである。 本実施例においてデータバッファ10内のデータをEEPROMモジュール1に書き込む処理を説明するためのフローチャートである。
符号の説明
1…EEPROMモジュール(メモリ手段)
2…ホストインターフェイス
3…データレジスタ
4…アドレスレジスタ
5…カウントレジスタ
6…コマンドレジスタ
7…ステータスレジスタ
8…エラーレジスタ
9…マルチプレクサ
10…データバッファ
11…コントロールロジック
12…EECジェネレータ/チェッカ
13…アドレスジェネレータ
14…未消去ブロックの消去処理、書き込み処理及びコピー処理等を実行するCPU
15…作業用RAM
16…制御プログラムROM

Claims (2)

  1. それぞれが選択的に書き込み及び消去可能な複数のブロックを有し、前記複数のブロックのそれぞれが消去済みか否かを示す消去フラグを格納する不揮発性半導体メモリと、
    前記不揮発性半導体メモリに格納された前記消去フラグをRAMに書き込み、更新された前記消去フラグの内容を前記RAMから前記不揮発性半導体メモリに書き戻す手段と、
    書き換えの際には消去動作を実行することなく新たなデータを前記消去フラグが消去済みのブロックに書き込み、前記新たなデータが旧データのすべてを変更するものではない場合、変更されない前記旧データを前記消去フラグが消去済みのブロックにコピーする手段と、
    前記旧データが記録されたブロックに対応する前記消去フラグを未消去にセットする手段と、
    前記消去フラグが未消去にセットされた前記ブロックのデータを選択的に消去する手段と、
    前記旧データを有していたブロックの物理アドレスに対応付けられていた論理アドレスを前記新たなデータが書きこまれたブロックの物理アドレスに対応付ける手段
    とを有することを特徴とする不揮発性半導体メモリ装置。
  2. それぞれが選択的に書き込み及び消去可能な複数のブロックを有する不揮発性半導体メモリを含む不揮発性半導体メモリ装置のデータ書き換え制御方法において、
    前記複数のブロックのそれぞれが消去済みか否かを示す消去フラグを前記不揮発性半導体メモリに格納するステップと、
    前記不揮発性半導体メモリに格納された前記消去フラグをRAMに書き込み、更新された前記消去フラグの内容を前記RAMから前記不揮発性半導体メモリに書き戻すステップと、
    書き換えの際には消去動作を実行することなく新たなデータを前記消去フラグが消去済みのブロックに書き込み、前記新たなデータが旧データのすべてを変更するものではない場合、変更されない前記旧データを前記消去フラグが消去済みのブロックにコピーするステップと、
    前記旧データが記録されたブロックに対応する前記消去フラグを未消去にセットするステップと、
    前記消去フラグが未消去にセットされた前記ブロックのデータを選択的に消去するステップと、
    前記旧データを有していたブロックの物理アドレスに対応付けられていた論理アドレスを前記新たなデータが書きこまれたブロックの物理アドレスに対応付けるステップ
    とを有することを特徴とする不揮発性半導体メモリ装置の制御方法。

JP2006135467A 2006-05-15 2006-05-15 不揮発性半導体メモリ装置及びその制御方法 Expired - Fee Related JP3977859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006135467A JP3977859B2 (ja) 2006-05-15 2006-05-15 不揮発性半導体メモリ装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006135467A JP3977859B2 (ja) 2006-05-15 2006-05-15 不揮発性半導体メモリ装置及びその制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003032999A Division JP2003242788A (ja) 2003-02-10 2003-02-10 不揮発性半導体メモリ装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2006252579A true JP2006252579A (ja) 2006-09-21
JP3977859B2 JP3977859B2 (ja) 2007-09-19

Family

ID=37092918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006135467A Expired - Fee Related JP3977859B2 (ja) 2006-05-15 2006-05-15 不揮発性半導体メモリ装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP3977859B2 (ja)

Also Published As

Publication number Publication date
JP3977859B2 (ja) 2007-09-19

Similar Documents

Publication Publication Date Title
JP3485938B2 (ja) 不揮発性半導体メモリ装置
JP3692313B2 (ja) 不揮発性メモリの制御方法
JP4245585B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US9448919B1 (en) Data storage device accessing garbage collected memory segments
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
US8086787B2 (en) Wear leveling method, and storage system and controller using the same
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
US7340581B2 (en) Method of writing data to non-volatile memory
US7529879B2 (en) Incremental merge methods and memory systems using the same
US20090089484A1 (en) Data protection method for power failure and controller using the same
US20070028035A1 (en) Storage device, computer system, and storage system
US20100011153A1 (en) Block management method, and storage system and controller using the same
JP2008009874A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4177360B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003058417A (ja) 記憶装置
JP4661369B2 (ja) メモリコントローラ
KR100932801B1 (ko) 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체
JP4661497B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4594944B2 (ja) メモリ制御装置
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP3977859B2 (ja) 不揮発性半導体メモリ装置及びその制御方法
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2003263894A (ja) 不揮発性半導体メモリ装置の制御方法
JP2003242788A (ja) 不揮発性半導体メモリ装置及びその制御方法
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070621

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees