JP2006048227A - メモリ装置、メモリ装置の制御方法およびデータ処理システム - Google Patents

メモリ装置、メモリ装置の制御方法およびデータ処理システム Download PDF

Info

Publication number
JP2006048227A
JP2006048227A JP2004225716A JP2004225716A JP2006048227A JP 2006048227 A JP2006048227 A JP 2006048227A JP 2004225716 A JP2004225716 A JP 2004225716A JP 2004225716 A JP2004225716 A JP 2004225716A JP 2006048227 A JP2006048227 A JP 2006048227A
Authority
JP
Japan
Prior art keywords
physical
block
logical
physical block
cluster number
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
JP2004225716A
Other languages
English (en)
Other versions
JP4710274B2 (ja
Inventor
Nobuhiro Kaneko
暢宏 金子
Kenichi Nakanishi
健一 中西
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2004225716A priority Critical patent/JP4710274B2/ja
Publication of JP2006048227A publication Critical patent/JP2006048227A/ja
Application granted granted Critical
Publication of JP4710274B2 publication Critical patent/JP4710274B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】フラッシュメモリのメモリ容量を大きく減少させることなく、フラッシュメモリの消去回数を減らし、フラッシュメモリのデータの更新を効率的に行い、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なうことができるメモリ装置、メモリ装置の制御方法およびデータ処理システムを提供する。
【解決手段】論理ブロックのアドレス、物理ブロックのアドレスおよび物理ブロックの終了クラスタ番号を対応付けた論理/物理テーブルを設け、書き込み命令に基づくデータの開始クラスタ番号SCが、論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きい場合、従来のような物理ブロックの更新(新たなデータの書き込みおよび元の物理ブロックのコピー)を行なわずに、物理ブロックにデータを追記する。
【選択図】 図5

Description

本発明は、例えばフラッシュメモリのように、クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリを有するメモリ装置、メモリ装置の制御方法、並びに、メモリ装置およびこのメモリ装置が着脱自在に装着されるデータ処理理システムに関する。
従来、パーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラ、オーディオレコーダ等の外部記憶装置として、フラッシュメモリを備えたメモリ装置が知られている。フラッシュメモリは、データの書き込みおよび読み出しをクラスタ単位でランダムに行なうことができるが、データの消去はブロック単位で行なう。図15に示すように、1つのブロックは、複数のセクタからなるクラスタを複数並べ構成されている。セクタは、データの最小単位である。フラッシュメモリには、ブロック単位およびクラスタ単位に物理アドレスが割り当てられる。一方、メモリ装置を着脱自在に装着するホスト装置には、ブロック単位およびクラスタ単位の論理アドレスが割り当てられる。フラッシュメモリへのデータの書き込みおよび読み出し動作のときには、ホスト装置の論理ブロックにフラッシュメモリの物理ブロックが割り当てられる。
フラッシュメモリの記憶素子は、データの書換えを行うことにより劣化するため、その書き換え回数が制限される。このため、同じクラスタに繰り返しアクセスが集中するのを防止してフラッシュメモリの寿命を延ばすようにしている。ある物理アドレスに記憶されたある論理アドレスのデータを書き換える場合には、更新されたデータは、同じ物理ブロックには書き込まれず、消去状態の新しい物理ブロック(フリーブロック)に書き込まれる。
図16に示すように、論理ブロック1が物理ブロック2に、論理ブロック2が物理ブロック4に、論理ブロック3が物理ブロック1に、論理ブロック4が物理ブロック3に割り当てられたものとする。物理ブロック5は、フリーブロックである。図16において、論理ブロック1内のあるクラスタの書換えが命令されると、新しい物理ブロック5の同位置のクラスタにデータが書き込まれ、物理ブロック2内の残りのクラスタのデータが新しい物理ブロック5にコピーされる。そして、物理ブロック2は、消去されフリーブロックとなる(図17)。次に、図17において、論理ブロック1内のあるクラスタの書換えが命令されると、新しい物理ブロック2の同位置のクラスタにデータが書き込まれ、物理ブロック5内の残りのクラスタのデータが新しい物理ブロック2にコピーされる。そして、物理ブロック5は、消去されフリーブロックとなる(図16の状態に戻る)。
このように、データ更新の前後で論理アドレスが割り当てられる物理アドレスが変化するため、論理アドレスおよび物理アドレスの対応関係を表わすアドレス変換テーブルがフラッシュメモリに記憶される。アドレス変換テーブルは、メモリ装置がホスト装置に装着されると、フラッシュメモリから読み出され、ホスト装置またはメモリ装置の作業メモリに格納され更新される。
従来のメモリ装置では、わずか数セクタのデータを書き換える場合にも、物理ブロックの更新が行われるため、そのアクセス時間がかかるとともに、記憶素子の劣化が早まるといった問題があった。この問題を解決するため、例えば、フラッシュメモリのブロックをヘッダ領域とデータ領域に分け、ヘッダ領域にデータ領域に書き込まれたデータレコードの先頭アドレスおよびレコード長を書き込むとともに、データ領域に書き込まれるデータレコードにリンク情報領域(レコード間のデータ連結状態情報)およびフラグ領域(データレコードの有効/無効情報)を付加することにより、データレコード単位の書き込み/更新を行い、ブロックの空き領域がなくなったときには、有効なデータレコードを抽出してフリーブロックに転送し、転送元のブロックを消去するものが提案されている。(例えば特許文献1参照)。
特開平11−73363号公報
しかしながら、上記のように、ヘッダ領域およびデータ領域からなるブロックを設定した従来のフラッシュメモリでは、ブロック毎にヘッダ領域、リンク情報領域およびフラグ領域が設定するため、データを記憶するメモリ容量が減少し、メモリを有効に利用することができないといった問題があった。
本発明は、このような事情に鑑みなされたものであり、その目的は、フラッシュメモリのメモリ容量を大きく減少させることなく、フラッシュメモリの消去回数を減らし、フラッシュメモリのデータの更新を効率的に行い、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なうことができるメモリ装置、メモリ装置の制御方法およびデータ処理システムを提供するにある。
上述の目的を達成するため、本発明のメモリ装置は、クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリと、前記不揮発性メモリの動作を制御する制御回路と備えたメモリ装置であって、前記不揮発性メモリは、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルを有し、前記制御回路は、論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出手段と、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込み手段と、前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新手段と、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較手段と、前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込み手段と、前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新手段と、前記第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去手段と、前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込み手段と、前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段とを有する、ことを特徴とする。
また、本発明のメモリ装置の制御方法は、クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリを有するメモリ装置の制御方法であって、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを前記不揮発性メモリに記憶する論理/物理テーブル記憶ステップと、論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出ステップと、前記物理ブロック検出ステップで、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込みステップと、前記第1の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新ステップと、前記物理ブロック検出ステップで、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較ステップと、前記クラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込みステップと、前記第2の物理ブロック書き込みステップでデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新ステップと、前記第2の論理/物理テーブル更新ステップで書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去ステップと、前記クラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出ステップで検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込みステップと、
前記第3の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新ステップとを含む、ことを特徴とする。
また、本発明のデータ処理システムは、クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリと、前記不揮発性メモリの動作を制御する制御回路と有するメモリ装置と、前記メモリ装置が着脱自在に装着され、前記メモリ装置を介して前記不揮発性メモリにクラスタ単位でデータをアクセスするホスト装置とを備えたデータ処理システムであって、前記不揮発性メモリは、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルを有し、前記制御回路は、ホスト装置から論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出手段と、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込み手段と、前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新手段と、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較手段と、前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込み手段と、前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新手段と、前記第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去手段と、前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込み手段と、
前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段とを有する、ことを特徴とする。
また、本発明のデータ処理システムは、クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリを有するメモリ装置と、前記メモリ装置が着脱自在に装着されるホスト装置とを備え、前記ホスト装置は、前記メモリ装置を介して前記不揮発性メモリにクラスタ単位でデータをアクセスする制御回路を有するデータ処理システムであって、前記不揮発性メモリは、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルを有し、前記制御回路は、論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出手段と、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込み手段と、前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新手段と、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較手段と、前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込み手段と、前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新手段と、前記第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去手段と、前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込み手段と、前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段とを有する、ことを特徴とする。
本発明のメモリ装置によれば、前記不揮発性メモリに、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを記憶し、前記制御回路により論理/物理テーブルを書き換えて、物理ブロックのデータを書き換える。論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を物理ブロック検出手段により検出する。前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、第1の物理ブロック書き込み手段により、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む。第1の論理/物理テーブル更新手段により、前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する。クラスタ番号比較手段により、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する。前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、第2の物理ブロック書き込み手段により、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む。第2の論理/物理テーブル更新手段により、前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。物理ブロック消去手段により、第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する。前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、第3の物理ブロック書き込み手段により、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む。第3の論理/物理テーブル更新手段により、前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。
このため、論理ブロックおよび物理ブロックを対応つけた従来のアドレス変換テーブルに物理ブロックの終了クラスタ番号を付加した論理/物理テーブルを設け、書き込み命令に基づくデータの開始クラスタ番号が、論理/物理テーブルの物理ブロックの終了クラスタ番号より大きい場合、従来のような物理ブロックの更新(新たなデータの書き込みおよび元の物理ブロックのコピー)を行なわずに、物理ブロックにデータを追記する。したがって、物理ブロックの消去回数を低減し、フラッシュメモリのデータの更新を効率的に行ない、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なう上で有利となる。また、フラッシュメモリの管理領域に論理/物理テーブルを設けるので、従来のようにフラッシュメモリのメモリ容量を大きく減少させることもない。
本発明のメモリ装置の制御方法によれば、論理/物理テーブル記憶ステップで、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを前記不揮発性メモリに記憶する。論理ブロックのデータの書き込み命令が要求されたとき、物理ブロック検出ステップで、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する。前記物理ブロック検出ステップで、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、第1の物理ブロック書き込みステップで、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む。第1の論理/物理テーブル更新ステップで、前記第1の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する。前記物理ブロック検出ステップで、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、クラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する。前記クラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号以下の場合、第2の物理ブロック書き込みステップで、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む。第2の論理/物理テーブル更新ステップで、前記第2の物理ブロック書き込みステップでデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。物理ブロック消去ステップで、第2の論理/物理テーブル更新ステップで書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する。前記クラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号より大きい場合、第3の物理ブロック書き込みステップで、前記物理ブロック検出ステップで検出された物理ブロックに前記書き込み命令に基づくデータを書き込む。第3の論理/物理テーブル更新ステップで、前記第3の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。
このため、論理ブロックおよび物理ブロックを対応つけた従来のアドレス変換テーブルに物理ブロックの終了クラスタ番号を付加した論理/物理テーブルを設け、書き込み命令に基づくデータの開始クラスタ番号が、論理/物理テーブルの物理ブロックの終了クラスタ番号より大きい場合、従来のような物理ブロックの更新(新たなデータの書き込みおよび元の物理ブロックのコピー)を行なわずに、物理ブロックにデータを追記する。したがって、物理ブロックの消去回数を低減し、フラッシュメモリのデータの更新を効率的に行ない、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なう上で有利となる。また、フラッシュメモリの管理領域に論理/物理テーブルを設けるので、従来のようにフラッシュメモリのメモリ容量を大きく減少させることもない。
本発明のデータ処理システムによれば、前記不揮発性メモリに、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを記憶し、前記メモリ装置の前記制御回路により論理/物理テーブルを書き換えて、物理ブロックのデータを書き換える。論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を物理ブロック検出手段により検出する。前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、第1の物理ブロック書き込み手段により、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む。第1の論理/物理テーブル更新手段により、前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する。クラスタ番号比較手段により、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する。前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、第2の物理ブロック書き込み手段により、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む。第2の論理/物理テーブル更新手段により、前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。物理ブロック消去手段により、第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する。前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、第3の物理ブロック書き込み手段により、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む。第3の論理/物理テーブル更新手段により、前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。
このため、論理ブロックおよび物理ブロックを対応つけた従来のアドレス変換テーブルに物理ブロックの終了クラスタ番号を付加した論理/物理テーブルを設け、書き込み命令に基づくデータの開始クラスタ番号が、論理/物理テーブルの物理ブロックの終了クラスタ番号より大きい場合、従来のような物理ブロックの更新(新たなデータの書き込みおよび元の物理ブロックのコピー)を行なわずに、物理ブロックにデータを追記する。したがって、物理ブロックの消去回数を低減し、フラッシュメモリのデータの更新を効率的に行ない、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なう上で有利となる。また、フラッシュメモリの管理領域に論理/物理テーブルを設けるので、従来のようにフラッシュメモリのメモリ容量を大きく減少させることもない。さらに、従来のホスト装置にメモリ装置を装着した場合、メモリ装置単独で前記論理/物理テーブルに基づくフラッシュメモリの制御を実現することができる。
本発明のデータ処理システムによれば、前記不揮発性メモリに、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを記憶し、前記ホスト装置の前記制御回路により論理/物理テーブルを書き換えて、物理ブロックのデータを書き換える。論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を物理ブロック検出手段により検出する。前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、第1の物理ブロック書き込み手段により、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む。第1の論理/物理テーブル更新手段により、前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する。クラスタ番号比較手段により、前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する。前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、第2の物理ブロック書き込み手段により、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む。第2の論理/物理テーブル更新手段により、前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。物理ブロック消去手段により、第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する。前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、第3の物理ブロック書き込み手段により、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む。第3の論理/物理テーブル更新手段により、前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する。
このため、論理ブロックおよび物理ブロックを対応つけた従来のアドレス変換テーブルに物理ブロックの終了クラスタ番号を付加した論理/物理テーブルを設け、書き込み命令に基づくデータの開始クラスタ番号が、論理/物理テーブルの物理ブロックの終了クラスタ番号より大きい場合、従来のような物理ブロックの更新(新たなデータの書き込みおよび元の物理ブロックのコピー)を行なわずに、物理ブロックにデータを追記する。したがって、物理ブロックの消去回数を低減し、フラッシュメモリのデータの更新を効率的に行ない、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なう上で有利となる。また、フラッシュメモリの管理領域に論理/物理テーブルを設けるので、従来のようにフラッシュメモリのメモリ容量を大きく減少させることもない。さらに、ホスト装置に従来のメモリ装置を装着した場合、ホスト装置により前記論理/物理テーブルに基づくフラッシュメモリの制御を実現することができる。
上記目的を達成するため、論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを記憶し、書き込み命令に基づくデータの開始クラスタ番号が、論理/物理テーブルの物理ブロックの終了クラスタ番号より大きい場合、物理ブロックにデータを追記する。
以下、本発明の実施例1のデータ処理システムについて図面を参照して説明する。
図1は、実施例1のデータ処理システムの概略構成を示す図である。
図1に示すように、実施例1のデータ処理システムは、フラッシュメモリ23を有するメモリカード20と、メモリカード20が着脱自在に装着されるホスト装置10とを備える。
ホスト装置10は、パーソナルコンピュータ、デジタルスチルカメラ、デジタルビデオカメラ、オーディオレコーダ等の機器からなり、CPU11、メモリ12、ディスプレイ13、I/O部14および外部メモリI/F(インタフェース)15を備える。CPU11は、メモリ12、ディスプレイ13、I/O部14および外部メモリI/F15とバス16を介し相互に接続されている。メモリ12は、プログラム格納用のROM、作業用メモリであるRAM等を有する。外部メモリI/F15は、CPU11の制御命令に従ってメモリカード20との間でデータを送受する。
メモリカード20は、CPU21、メモリ22、フラッシュメモリ23およびホストI/F24を備える。CPU21は、メモリ22、フラッシュメモリ23およびホストI/F24とバス25を介し相互に接続されている。メモリ22は、プログラム格納用のROM、作業用メモリであるRAM等を有する。フラッシュメモリ23は、例えば、NOR型またはNAND型のフラッシュメモリ(不揮発性メモリ)からなる。ホストI/F24は、CPU21の制御命令に従ってホスト装置10との間でデータを送受する。
図2は、図1に示されるメモリカード20の一例を示す図である。
図2に示すように、メモリカード20は、例えばメモリスティック(登録商標)に相当し、ホスト装置10に装着され、ホンス装置10から供給されるデータが書き込まれる。メモリカード20は、複数のフラッシュメモリ23を有するメモリ部40と、メモリ部40を制御するコントローラ部30とを備える。
コントローラ部30は、シリアルI/F(インタフェース)31、パラレルI/F32、レジスタ33、データバッファ34、ECC(Error Correcting Circuit)35およびMPU(Micro Processing Unit)36およびクロック信号発生部37を備える。
シリアルI/F31、パラレルI/F32、レジスタ33、データバッファ34およびECC35は、バス38により相互に接続されている。レジスタ33、データバッファ34およびECC35は、MPU36に接続されている。
レジスタ33は、命令レジスタ等を有する。データバッファ34は、フラッシュメモリ23にアクセスされるデータを一時的に記憶する。ECC35は、データバッファ34に記憶されたデータの誤り訂正処理を実行する。クロック信号発生部37は、メモリスティック内部のクロック信号を発生する。
ホスト装置10により出力されたデータは、信号線DATA0〜3を通してシリアルI/F31およびパラレルI/F32の一方または双方に入力され、データバッファ34に転送される。データバッファ34に転送されたデータは、MPU36によりフラッシュメモリ23に書き込まれる。
メモリカード20には、信号線VSSおよびVCCを通して電源が供給される。また、メモリカード20には、ホスト装置10からのデータを取り込むために必要となるクロック信号が入力される信号線SCLKや、ホスト装置10に対しメモリカード20が正常に装着されているか否かを判断するための信号線INSや、ホスト装置10から供給されるデータの向きを判断するための信号線BS等も設けられている。
次に、データ処理システムの書き込み動作の概略を説明する。
まず、書き込みコマンドおよび書き込みデータのアドレスが、次に、書き込みデータがホスト装置10から送信され、メモリカード20に受信される。フラッシュメモリ23は、セクタ単位にデータの書き込みおよび読み出しを行なうが、ホスト装置10は、クラスタ単位でデータの書き込みおよび読み出しを行なう。書き込みデータがメモリカード20に受信されると、受信された書き込みデータがデータバッファ34に記憶される。書き込みデータの受信が終了すると、データバッファ34に記憶された書き込みデータがフラッシュメモリ23に書き込まれる。
次に、データ処理システムの読み出し動作の概略を説明する。
読み出しコマンドおよび読み出しデータのアドレスがホスト装置10から送信され、メモリカード20に受信されると、当該アドレスの読み出しデータがフラッシュメモリ23から読み出され、データバッファ34に記憶される。フラッシュメモリ23の読み出しデータの読み出しが終了すると、データバッファ34に記憶された読み出しデータが読み出されホスト装置10に送信される。
図3は、論理/物理テーブルの一例を示す図である。
図1および図2に示されるフラッシュメモリ23には、図3に示される論理/物理テーブルが記憶されている。論理/物理テーブルは、論理ブロックのアドレスと、論理ブロックに割り当てられた物理ブロックのアドレスと、物理ブロックの終了クラスタ番号とを対応付けたものである。論理/物理テーブルは、メモリカード20がホスト装置10に装着されると、コントロール部30によりフラッシュメモリ23から読み出され、データの書き込み動作に従って書き換えられる。
図4は、書き込みデータの一例を示す図である。
図4(a)に示すように、まず、ある論理ブロックのクラスタ番号1のクラスタのデータの書き込み命令が要求されると、論理/物理テーブルが参照される。この場合、書き込みデータの開始クラスタ番号が1であるので、フラッシュメモリ23の何れかのフリーブロックにクラスタ番号1のデータが書き込まれる。
次に、図4(b)に示すように、同じ論理ブロックのクラスタ番号2のクラスタのデータの書き込み命令が要求されると、論理/物理テーブルが参照される。この場合、書き込みデータの開始クラスタ番号が2であり、対応する物理ブロックの終了クラスタ番号は1であるので、この物理ブロックにクラスタ番号2のクラスタのデータが追記される。そして、論理/物理テーブルの物理ブロックの終了クラスタ番号が2に書き換えられる。
次に、同じ論理ブロックのクラスタ番号1のクラスタのデータの書き込み命令が要求されると、論理/物理テーブルが参照される。この場合、書き込みデータの開始クラスタ番号が1であり、対応する物理ブロックの終了クラスタ番号は2であるので、対応する物理ブロックに新たなクラスタ番号1を書き込むことはできない。このため、従来のように、新たなフリーブロックに物理ブロックのクラスタ番号1のクラスタのデータを書き込んだ後、前記対応する物理ブロックのクラスタ番号2のクラスタのデータをコピーし、新たなフリーブロックを論理ブロックの物理ブロックに設定して、そのアドレスおよび終了クラスタ番号を書き換える。そして、論理/物理テーブルから削除された元の物理ブロックのデータが消去され、フリーブロックになる。

図5は、実施例1のデータ処理システムの書き込み動作を示すフローチャートである。
この書き込み動作は、特許請求の範囲の請求項1〜4に相当する。
まず、論理ブロックのデータの書き込み命令が要求されると、論理/物理テーブルが参照され、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出される(ステップS1、物理ブロック検出ステップ)。
次に、ステップS1で、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出されない場合、フラッシュメモリ23の何れかのフリーブロックに書き込み命令に基づくデータが書き込まれ(ステップS2、第1の物理ブロック書き込みステップ)、書き込み命令に基づくデータが書き込まれたフリーブロックが論理ブロックの物理ブロックに割り当てられ、論理ブロックのアドレス、物理ブロックのアドレスおよび物理ブロックの終了クラスタ番号が前記論理/物理テーブルに書き込まれ、論理/物理テーブルが更新される(ステップS3、第1の論理/物理テーブル更新ステップ)。
次に、ステップS1で、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出された場合、書き込み命令に基づくデータの開始クラスタ番号SCと物理ブロックの終了クラスタ番号ECとが比較される(ステップS4、クラスタ番号比較ステップ)。
ステップS4で、書き込み命令に基づくデータの開始クラスタ番号SCが物理ブロックの終了クラスタ番号EC以下の場合、書き込み命令に基づくデータの開始クラスタ番号SCより小さいクラスタ番号のクラスタのデータが論理/物理テーブルの対応する物理ブロックから読み出され、フラッシュメモリ23の何れかのフリーブロックに書き込まれ、次いで、前記書き込み命令に基づくデータがフリーブロックに書き込まれ、次いで、書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータが論理/物理テーブルの対応する物理ブロックから読み出され、フリーブロックに書き込まれる(ステップS5、第2の物理ブロック書き込みステップ)。
次に、このフリーブロックが論理ブロックの物理ブロックに割り当てられ、物理ブロックのアドレスおよび物理ブロックの終了クラスタ番号が書き換えられ、論理/物理テーブルが更新される(ステップS6、第2の論理/物理テーブル更新ステップ)。次に、論理/物理テーブルから削除された元の物理ブロックのデータが消去される(ステップS7、物理ブロック消去ステップ)。
次に、ステップS4で、書き込み命令に基づくデータの開始クラスタ番号SCが物理ブロックの終了クラスタ番号ECより大きい場合、論理/物理テーブルの対応する物理ブロックに前記書き込み命令に基づくデータが追記される(ステップS8、第3の物理ブロック書き込みステップ)。次に、論理/物理テーブルの対応する物理ブロックの終了クラスタ番号が書き換えられ、論理/物理テーブルが更新される(ステップS9、第3の論理/物理テーブル更新ステップ)。
このように実施例1によれば、論理ブロックのアドレス、物理ブロックのアドレスおよび物理ブロックの終了クラスタ番号を対応付けた論理/物理テーブルを設け、書き込み命令に基づくデータの開始クラスタ番号SCが、論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きい場合、従来のような物理ブロックの更新(新たなデータの書き込みおよび元の物理ブロックのコピー)を行なわずに、物理ブロックにデータを追記する。したがって、物理ブロックの消去回数を低減し、フラッシュメモリのデータの更新を効率的に行ない、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なう上で有利となる。また、フラッシュメモリの管理領域に論理/物理テーブルを設けるので、従来のようにフラッシュメモリのメモリ容量を大きく減少させることもない。
実施例1では、論理/物理テーブルをフラッシュメモリ23に設け、書き込み命令に基づくデータの開始クラスタ番号SCが、論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きい場合、対応する物理ブロックにデータを追記した。これに対し、実施例2のデータ処理システムは、さらにフラッシュメモリ23に物理/退避テーブルを設ける。
実施例2のデータ処理システムは、書き込み命令に基づくデータの開始クラスタ番号SCが、論理/物理テーブルの物理ブロックの終了クラスタ番号ECより小さい場合、書き込み命令に基づくデータの開始クラスタ番号SCより小さいクラスタ番号のクラスタのデータを論理/物理テーブルの対応する物理ブロックから読み出し、フリーブロックにコピーした後、このフリーブロックに書き込み命令に基づくデータを書き込む。そして、このフリーブロックを物理/論理テーブルの論理ブロックの対応する物理ブロックに登録し、物理/論理テーブルから削除された元の物理ブロックの一部を退避ブロックに設定し、これにより、物理/論理テーブルに登録された物理ブロックのデータの追記を可能にした。
図6は、実施例2の物理/退避ブロックの一例を示す図である。
図6に示すように、物理/退避テーブルは、論理/物理テーブルから削除された元の物理ブロックのうち、退避ブロックに設定された元の物理ブロックに対応する論理/物理テーブルに登録された物理ブロックのアドレスと、前記退避ブロックに設定された元の物理ブロックのアドレスと、前記元の物理ブロックの終了クラスタ番号とを対応付けたものである。物理/退避テーブルは、メモリカード20がホスト装置10に装着されると、コントロール部30によりフラッシュメモリ23から論理/物理テーブルとともに読み出され、データの書き込み動作に従って書き換えられる。なお、実施例2のデータ処理システムの構成は、図1および図2に示される実施例1のデータ処理システムの構成と同様であり、その説明を省略する。
図7〜図11は、実施例2のデータ処理システムの書き込み動作を示すフローチャートである。
この書き込み動作は、特許請求の範囲の請求項5〜7に相当する。
まず、論理ブロックのデータの書き込み命令が要求されると、論理/物理テーブルが参照され、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出される(ステップs11、第1の物理ブロック検出手段)。
次に、ステップS11で、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出されない場合、フラッシュメモリ23の何れかのフリーブロックに書き込み命令に基づくデータが書き込まれる(ステップS12、第1の物理ブロック書き込み手段)。次に、書き込み命令に基づくデータが書き込まれたフリーブロックが論理ブロックの物理ブロックに割り当てられ、論理ブロックのアドレス、物理ブロックのアドレスおよび物理ブロックの終了クラスタ番号が論理/物理テーブルに書き込まれ、論理/物理テーブルが更新され(ステップS13、第1の論理/物理テーブル更新手段)、データ書き込み動作が終了する。
一方、ステップS11で、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出された場合、物理/退避テーブルが参照され、論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロック(退避ブロック)のアドレスおよび元の物理ブロック(退避ブロック)の終了クラスタ番号が検出される(ステップS14、第1の退避ブロック検出手段)。
また、ステップS11で、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出された場合、書き込み命令に基づくデータの開始クラスタ番号SCと、論理/物理テーブルの物理ブロックの終了クラスタ番号ECとが比較される(ステップS15、書き込みクラスタ番号比較手段)。
次に、ステップS14で、物理/退避テーブルの論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が検出されず、ステップS15で、書き込み命令に基づくデータの開始クラスタ番号SCが論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きい場合、論理/物理テーブルの対応する物理ブロックに書き込み命令に基づくデータが追記される(ステップS16、第2の物理ブロック書き込み手段)。次に、前記書き込み命令に基づくデータが追記された物理ブロックの終了クラスタ番号が論理/物理テーブルに書き込まれ、論理/物理テーブルが更新され(ステップS17、第2の論理/物理テーブル更新手段)、データ書き込み動作が終了する。
次に、ステップS14で、物理/退避テーブルの論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が検出され、ステップS15で、書き込み命令に基づくデータの開始クラスタ番号SCが論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きい場合、論理/物理テーブルの物理ブロックの物理ブロックに書き込み命令に基づくデータが追記される(ステップS18、第2の物理ブロック書き込み手段)。次に、前記書き込み命令に基づくデータが追記された物理ブロックの終了クラスタ番号が論理/物理テーブルに書き込まれ、論理/物理テーブルが更新される(ステップS19、第2の論理/物理テーブル更新手段)。
次に、ステップS19で書き換えられた論理/物理テーブルの物理ブロックの終了クラスタ番号ECと、ステップS14で検出された物理/退避テーブルの元の物理ブロックの終了クラスタ番号TCとが比較される(ステップS20、第2の物理/退避クラスタ番号比較手段)。
次に、ステップS20で、論理/物理テーブルの物理ブロックの終了クラスタ番号ECが物理/退避テーブルの元の物理ブロックの終了クラスタ番号TC以上の場合、退避ブロックである元の物理ブロックは不要となり、そのデータが消去される(ステップS21、第4の物理ブロック消去手段)。次に、データが消去された元の物理ブロックに対応する物理/退避テーブルの論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が削除され、物理/退避テーブルが更新され(ステップS22、第4の物理/退避テーブル更新手段)、データ書き込み動作が終了する。
一方、ステップS20で、論理/物理テーブルの物理ブロックの終了クラスタ番号ECが物理/退避テーブルの元の物理ブロックの終了クラスタ番号TCより小さい場合、退避ブロックである元の物理ブロックの終了クラスタ番号ECより大きいクラスタ番号のクラスタのデータが必要になるので、物理/退避テーブルはそのまま保持され、データ書き込み動作が終了する。
次に、ステップS14で、物理/退避テーブルの論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が検出されず、ステップS15で、書き込み命令に基づくデータの開始クラスタ番号SCが論理/物理テーブルの物理ブロックの終了クラスタ番号EC以下の場合、書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータが論理/物理テーブルの対応する物理ブロックから読み出され、フラッシュメモリ23の何れかのフリーブロックに書き込まれ、次いで、書き込み命令に基づくデータがフリーブロックに書き込まれる(ステップS23、第3の物理ブロック書き込み手段)。
次に、データが書き込まれたフリーブロックが論理ブロックの物理ブロックに割り当てられ、割り当てられた物理ブロックのアドレスおよび物理ブロックの終了クラスタ番号が書き換えられ、論理/物理テーブルが更新される(ステップS24、第3の論理/物理テーブル更新手段)。
次に、ステップS24で論理/物理テーブルに登録された物理ブロックの終了クラスタ番号ECと、ステップS24で論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号ECとが比較される(ステップS25、登録/削除終了クラスタ番号比較手段)。
次に、ステップS25で、論理/物理テーブルに登録された物理ブロックの終了クラスタ番号ECが論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号ECより小さい場合、論理/物理テーブルから削除された元の物理ブロックが退避ブロックに設定され、論理/物理テーブルに登録された物理ブロックのアドレス、論理/物理テーブルから削除された元の物理ブロックのアドレスおよび論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号が物理/退避テーブルに書き込まれ、物理/退避テーブルが更新され(ステップS26、第1の物理/退避テーブル更新手段)、データ書き込み動作が終了する。
一方、ステップS25で、論理/物理テーブルに登録された物理ブロックの終了クラスタ番号ECが論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号EC以上場合、論理/物理テーブルから削除された元の物理ブロックは不要となり、退避ブロックには設定されずに、そのデータが消去され(ステップS27、第1の物理ブロック消去手段)、データ書き込み動作が終了する。
次に、ステップS14で、物理/退避テーブルの論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が検出され、ステップS15で、書き込み命令に基づくデータの開始クラスタ番号SCが論理/物理テーブルの物理ブロックの終了クラスタ番号EC以下の場合、書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータが論理/物理テーブルの対応する物理ブロックから読み出され、フラッシュメモリ23の何れかのフリーブロックに書き込まれ、次いで、書き込み命令に基づくデータがフリーブロックに書き込まれる(ステップS28、第3の物理ブロック書き込み手段)。
次に、データが書き込まれたフリーブロックが論理ブロックの物理ブロックに割り当てられ、割り当てられた物理ブロックのアドレスおよび物理ブロックの終了クラスタ番号が書き換えられ、論理/物理テーブルが更新される(ステップS29、第3の論理/物理テーブル更新手段)。
次に、論理/物理テーブルの物理ブロックの終了クラスタ番号ECと、論理/退避テーブルの元の物理ブロックの終了クラスタ番号TCとが比較される(ステップS30、第1の物理/退避クラスタ番号比較手段)
ステップS30で、論理/物理テーブルの物理ブロックの終了クラスタ番号ECが物理/退避テーブルの元の物理ブロックの終了クラスタ番号TCより小さい場合、論理/物理テーブルに登録された物理ブロックの終了クラスタ番号ECよりクラスタ番号が大きいクラスタのデータが物理/退避テーブルの対応する元の物理ブロックから読み出され、論理/物理テーブルから削除された元の物理ブロックに書き込まれる(ステップS31、第1の退避ブロック書き込み手段)。
次に、データが書き込まれた元の物理ブロックが論理/物理テーブルに登録された物理ブロックの退避ブロックに設定され、物理/退避テーブルの元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が書き換えられ、物理/退避テーブルが更新される(ステップS32、第2の物理/退避テーブル更新手段)。次に、退避ブロックの設定が解除され、物理/退避テーブルから削除された元の物理ブロックのデータが消去され(ステップS33、第2の物理ブロック消去手段)、データ書き込み動作が終了する。
一方、ステップS30で、論理/物理テーブルの物理ブロックの終了クラスタ番号ECが物理/退避テーブルの元の物理ブロックの終了クラスタ番号TC以上の場合、退避ブロックである元の物理ブロックは不要となり、そのデータが消去される(ステップS34、第2の物理ブロック消去手段)。次に、データが消去された元の物理ブロックに対応する論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が物理/退避テーブルから削除され、物理/退避テーブルが更新され(ステップS35、第3の物理/退避テーブル更新手段)、データ書き込み動作が終了する。
図12は、実施例2のデータ処理システムの読み出し動作を示すフローチャートである。
この読み出し動作は、特許請求の範囲の請求項10に相当する。
まず、論理ブロックのデータの読み出し命令が要求されると、論理/物理テーブルが参照され、論理ブロックに割り当てられた物理ブロックのアドレスおよび終了クラスタ番号が検出される(ステップS41、第2の物理ブロック検出手段)。
次に、ステップS41で、論理ブロックに割り当てられた物理ブロックのアドレスおよび終了クラスタ番号が検出されない場合、データ読み出し動作が終了する。
一方、ステップS41で、論理ブロックに割り当てられた物理ブロックのアドレスおよび終了クラスタ番号が検出された場合、読み出し命令に基づくデータの開始クラスタ番号SCと、論理/物理テーブルの物理ブロックの終了クラスタ番号ECとが比較される(ステップS42、読み出し開始クラスタ番号比較手段)。
次に、ステップS42で、読み出し命令に基づくデータの開始クラスタ番号SCが論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きい場合、物理/退避テーブルが参照され、論理/物理テーブルの論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロック(退避ブロック)のアドレスが検出される(ステップS43、第2の退避ブロック検出手段)。
次に、ステップS43で、元の物理ブロック(退避ブロック)のアドレスが検出されない場合、データ読み出し動作が終了する。一方、ステップS43で、元の物理ブロック(退避ブロック)のアドレスが検出された場合、検出された元の物理ブロックから読み出し命令に基づくデータが読み出され(ステップS44、第1のデータ読み出し手段)、データ読み出し動作が終了する。
一方、ステップS42で、読み出し命令に基づくデータの開始クラスタ番号SCが論理/物理テーブルの物理ブロックの終了クラスタ番号EC以下の場合、読み出し命令に基づくデータの終了クラスタ番号ECと、論理/物理テーブルの物理ブロックの終了クラスタ番号ECとが比較される(ステップS45、読み出し終了クラスタ番号比較手段)。
次に、ステップS45で、読み出し命令に基づくデータの終了クラスタ番号ECが論理/物理テーブルの物理ブロックの終了クラスタ番号EC以下の場合、論理/物理テーブルの物理ブロックから読み出し命令に基づくデータが読み出される(ステップS46、第2のデータ読み出し手段)。
一方、ステップS45で、読み出し命令に基づくデータの終了クラスタ番号ECが論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きい場合、物理/退避テーブルが参照され、論理/物理テーブルの論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロック(退避ブロック)のアドレスが検出される(ステップS47、第3の退避ブロック検出手段)。
ステップS47で、元の物理ブロック(退避ブロック)のアドレスが検出されない場合、論理/物理テーブルの物理ブロックから読み出し命令に基づくデータが読み出され(ステップS48)、データ読み出し動作が終了する。なお、論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きいクラスタ番号のクラスタのデータは存在せず、データの読み出しができない。
一方、ステップS47で、元の物理ブロック(退避ブロック)のアドレスが検出された場合、読み出し命令に基づくデータのうち、論理/物理テーブルの物理ブロックの終了クラスタ番号EC以下のクラスタ番号のクラスタのデータが論理/物理テーブルの物理ブロックから読み出され、読み出し命令に基づくデータのうち、論理/物理テーブルの物理ブロックの終了クラスタ番号ECより大きいクラスタ番号のクラスタのデータが物理/退避テーブルの元の物理ブロックから読み出され(ステップS49、第3のデータ読み出し手段)、データ読み出し動作が終了する。
このように実施例2によれば、論理/物理テーブルから削除された元の物理ブロックの一部に退避ブロックを設定し、論理/物理テーブルに登録された物理ブロックのアドレスと、元の物理ブロック(退避ブロック)のアドレスと、元の物理ブロック(退避ブロック)の終了クラスタ番号とを対応付けた物理/退避テーブルを設ける。書き込み命令に基づくデータの開始クラスタ番号SCが、論理/物理テーブルの物理ブロックの終了クラスタ番号ECより小さい場合、フリーブロックに書き込み命令に基づくデータを書き込み、論理/物理テーブルにデータの追記が可能な新たな物理ブロックとして登録し、元の物理ブロックおよび物理/退避テーブルを必要に応じて更新する。
したがって、データの追記が可能な物理ブロックを増やすことができるので、いっそう物理ブロックの消去回数を低減し、フラッシュメモリのデータの更新を効率的に行ない、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なう上で有利となる。また、フラッシュメモリ23の管理領域に/退避テーブルを設けるので、従来のようにフラッシュメモリのメモリ容量を大きく減少させることもない。
実施例2では、図10に示すように、ステップS25で、論理/物理テーブルに登録された物理ブロックの終了クラスタ番号ECが論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号ECより小さい場合、ステップS26で、論理/物理テーブルから削除された元の物理ブロックを新たな退避ブロックに設定している。このため、物理/退避テーブルに登録される退避ブロック数が変動する。これに対し、実施例3のデータ処理システムは、物理/退避テーブルに登録される退避ブロック数を1または複数に制限する。
退避ブロック数を複数に制限する場合には、図13に示される実施例3の物理/退避テーブルが使用される。
図13に示すように、論理/物理テーブルに登録された物理ブロックのアドレスと、元の物理ブロック(退避ブロック)のアドレスと、元の物理ブロック(退避ブロック)の終了クラスタ番号と、これらの登録データのアクセス回数とを対応付けたものである。アクセス回数は、実施例2の書き込み動作時の第1の退避ブロック検出手段、並びに、読み出し動作時の第2および第3の退避ブロック検出手段の検出回数に相当する。
実施例3の物理/退避テーブルは、メモリカード20がホスト装置10に装着されると、コントロール部30によりフラッシュメモリ23から論理/物理テーブルとともに読み出され、データの書き込み動作に従って書き換えられる(アクセス回数更新手段)。なお、実施例3のデータ処理システムの構成は、図1および図2に示される実施例1のデータ処理システムの構成と同様であり、その説明を省略する。
図14は、実施例3のデータ処理システムの書き込み動作を示すフローチャートである。
この書き込み動作は、特許請求の範囲の請求項8および9に相当する。
図10のステップS25で、論理/物理テーブルに登録された物理ブロックの終了クラスタ番号ECが論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号ECより小さい場合、物理/退避テーブルに設定された退避ブロック数が検出され(ステップS51、退避ブロック数検出手段)、物理/退避テーブルに設定された退避ブロック数と物理/退避テーブルに設定可能な退避ブロック数Mとが比較される(ステップS52)。
次に、ステップS52で、物理/退避テーブルに設定された退避ブロック数が物理/退避テーブルに設定可能な退避ブロック数Mより小さい場合、物理/退避テーブルに空き領域があるので、ステップS26に戻る。
一方、ステップS52で、物理/退避テーブルに設定された退避ブロック数と物理/退避テーブルに設定可能な退避ブロック数Mとが一致した場合、物理/退避テーブルの最小のアクセス回数が検出される(ステップS53、最小アクセス回数検出手段)。次に、最小のアクセス回数に対応する、物理/退避テーブルの論理/物理テーブルに登録された物理ブロックのアドレスが検出され、さらに論理/物理テーブルが参照され、検出された物理ブロックのアドレスに対応する物理ブロックの終了クラスタ番号が検出される(ステップS54、終了クラスタ番号検出手段)。
次に、検出された物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータが物理/退避テーブルの対応する元の物理ブロックから読み出され、対応する論理/物理テーブルに登録された物理ブロックに追記される(ステップS55、第2の退避ブロック書き込み手段)。次に、データが読み出された物理/退避テーブルの元の物理ブロックのデータが消去される(ステップS56、第4の物理ブロック消去手段)。次に、データが消去された元の物理ブロックに対応する物理/退避テーブルの論理/物理テーブルに登録された物理ブロックのアドレス、元の物理ブロックのアドレスおよび元の物理ブロックの終了クラスタ番号が物理/退避テーブルから削除され、物理/退避テーブルに空き領域が設けられ(ステップS57、第5の物理/退避テーブル更新手段)、ステップS26に戻る。
このように実施例3によれば、物理/退避テーブルに登録される退避ブロック数を1または複数に制限する。物理/退避テーブルに登録される退避ブロック数を複数に制限する場合、物理/退避テーブルに空き領域がないときには、アクセス回数が最小の退避ブロックを強制的に消去し、新たな退避ブロックを設定する。したがって、フラッシュメモリの管理領域に物理/退避テーブルを記憶する領域を設ける場合、最適化された固定の領域を設ければよいので、フラッシュメモリの管理領域を有効に利用することができる。退避ブロック数を1に制限すれば、最も小さな固定領域となる。
なお、実施例1〜3では、メモリ装置20のコントロール部30によりフラッシュメモリ23の論理/物理テーブルおよび物理/退避テーブル(実施例1は論理テーブルのみ)を書き換え、フラッシュメモリ23のデータをアクセスするようにデータ処理システムを構成している。このため、従来のホスト装置に本発明のメモリ装置20を装着した場合、メモリ装置20単独で本発明の制御方法を実現することができる。
これに対し、ホスト装置10によりフラッシュメモリ23の論理/物理テーブルおよび物理/退避テーブル(実施例1は論理テーブルのみ)を書き換え、フラッシュメモリ23のデータをアクセスするようにデータ処理システムを構成することもできる。この場合、本発明のホスト装置10に従来のメモリ装置を装着した場合にも、本発明の制御方法を実現することができる。
実施例1のデータ処理システムの概略構成を示す図である。 図1に示されるメモリカード20の一例を示す図である。 論理/物理テーブルの一例を示す図である。 書き込みデータの一例を示す図である。 実施例1のデータ処理システムの書き込み動作を示すフローチャートである。 実施例2の物理/退避ブロックの一例を示す図である。 実施例2のデータ処理システムの書き込み動作を示すフローチャートである。 実施例2のデータ処理システムの書き込み動作を示すフローチャートである。 実施例2のデータ処理システムの書き込み動作を示すフローチャートである。 実施例2のデータ処理システムの書き込み動作を示すフローチャートである。 実施例2のデータ処理システムの書き込み動作を示すフローチャートである。 実施例2のデータ処理システムの読み出し動作を示すフローチャートである。 実施例3の物理/退避ブロックの一例を示す図である。 実施例3のデータ処理システムの書き込み動作を示すフローチャートである。 フラッシュメモリの物理ブロックの構成を示す図である。 論理ブロックおよび物理ブロックの対応関係を示す図である。 論理ブロックおよび物理ブロックの対応関係を示す図である。
符号の説明
10……ホスト装置、11……CPU、12……メモリ、13……ディスプレイ、14……I/O部、15……外部メモリI/F、16……バス、20……メモリ装置、21……CPU、22……メモリ、23……フラッシュメモリ、24……ホストI/F、25……バス、30……コントロール部。

Claims (12)

  1. クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリと、
    前記不揮発性メモリの動作を制御する制御回路と備えたメモリ装置であって、
    前記不揮発性メモリは、
    論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルを有し、
    前記制御回路は、
    論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出手段と、
    前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込み手段と、
    前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新手段と、
    前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較手段と、
    前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込み手段と、
    前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新手段と、
    前記第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去手段と、
    前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込み手段と、
    前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段とを有する、
    ことを特徴とするメモリ装置。
  2. クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリを有するメモリ装置の制御方法であって、
    論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを前記不揮発性メモリに記憶する論理/物理テーブル記憶ステップと、
    論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出ステップと、
    前記物理ブロック検出ステップで、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込みステップと、
    前記第1の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新ステップと、
    前記物理ブロック検出ステップで、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較ステップと、
    前記クラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込みステップと、
    前記第2の物理ブロック書き込みステップでデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新ステップと、
    前記第2の論理/物理テーブル更新ステップで書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去ステップと、
    前記クラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出ステップで検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込みステップと、
    前記第3の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新ステップとを含む、
    ことを特徴とするメモリ装置の制御方法。
  3. クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリと、前記不揮発性メモリの動作を制御する制御回路と有するメモリ装置と、
    前記メモリ装置が着脱自在に装着され、前記メモリ装置を介して前記不揮発性メモリにクラスタ単位でデータをアクセスするホスト装置とを備えたデータ処理システムであって、
    前記不揮発性メモリは、
    論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルを有し、
    前記制御回路は、
    ホスト装置から論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出手段と、
    前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込み手段と、
    前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新手段と、
    前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較手段と、
    前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込み手段と、
    前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新手段と、
    前記第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去手段と、
    前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込み手段と、
    前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段とを有する、
    ことを特徴とするデータ処理システム。
  4. クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリを有するメモリ装置と、
    前記メモリ装置が着脱自在に装着されるホスト装置とを備え、
    前記ホスト装置は、前記メモリ装置を介して前記不揮発性メモリにクラスタ単位でデータをアクセスする制御回路を有するデータ処理システムであって、
    前記不揮発性メモリは、
    論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルを有し、
    前記制御回路は、
    論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出手段と、
    前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込み手段と、
    前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新手段と、
    前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較するクラスタ番号比較手段と、
    前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込み、前記書き込み命令に基づくデータの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記論理/物理テーブルの前記論理ブロックに割り当てられた物理ブロックから読み出し、前記フリーブロックに書き込む第2の物理ブロック書き込み手段と、
    前記第2の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新手段と、
    前記第2の論理/物理テーブル更新手段により書き換えられ、前記論理/物理テーブルから削除された物理ブロックのデータを消去する物理ブロック消去手段と、
    前記クラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が、前記物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第3の物理ブロック書き込み手段と、
    前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段とを有する、
    ことを特徴とするデータ記録システム。
  5. クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリと、
    前記不揮発性メモリの動作を制御する制御回路と備えたメモリ装置であって、
    前記不揮発性メモリは、
    論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルと、
    前記論理/物理テーブルの更新により前記論理/物理テーブルに登録された物理ブロックに対応して前記論理/物理テーブルから削除された元の物理ブロックのうち、退避ブロックに設定された元の物理ブロックに対応する前記論理/物理テーブルに登録された物理ブロックのアドレスと、前記退避ブロックに設定された元の物理ブロックのアドレスと、前記元の物理ブロックの終了クラスタ番号とを対応付けて記憶する物理/退避テーブルとを有し、
    前記制御回路は、
    論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する第1の物理ブロック検出手段と、
    前記第1の物理ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込み手段と、
    前記第1の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新手段と、
    前記第1の物理ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記第1の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する書き込みクラスタ番号比較手段と、
    前記第1の物理ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記物理/退避テーブルに基づいて前記第1の物理ブロック検出手段により検出された物理ブロックのアドレスと同じ前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を検出する第1の退避ブロック検出手段と、
    前記書き込みクラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が前記第1の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記第1の物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第2の物理ブロック書き込み手段と、
    前記第2の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新手段と、
    前記書き込みクラスタ番号比較手段の比較情報が、前記書き込み命令に基づくデータの開始クラスタ番号が前記第1の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記第1の物理ブロック検出手段により検出された物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込む第3の物理ブロック書き込み手段と、
    前記第3の物理ブロック書き込み手段によりデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段と、
    前記第1の退避ブロック検出手段により前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号が検出されない場合、前記第3の論理/物理テーブル更新手段により前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号と、第3の論理/物理テーブル更新手段により前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号とを比較する登録/削除終了クラスタ番号比較手段と、
    前記登録/削除終了クラスタ番号比較手段の比較情報が、前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号が前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号より小さい場合、前記論理/物理テーブルから削除された元の物理ブロックを退避ブロックに設定し、前記論理/物理テーブルに登録された物理ブロックのアドレス、前記論理/物理テーブルから削除された元の物理ブロックのアドレスおよび前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルに書き込み、前記物理/退避テーブルを更新する第1の物理/退避テーブル更新手段と、
    前記登録/削除終了クラスタ番号比較手段の比較情報が、前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号が前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号より小さい場合、前記論理/物理テーブルから削除された元の物理ブロックのデータを消去する第1の物理ブロック消去手段と、
    前記第1の退避ブロック検出手段により前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号が検出された場合、前記第3の論理/物理テーブル更新手段により登録された前記論理/物理テーブルの物理ブロックの終了クラスタ番号と、前記第1の退避ブロック検出手段により検出された前記元の物理ブロックの終了クラスタ番号とを比較する第1の物理/退避クラスタ番号比較手段と、
    前記第1の物理/退避クラスタ番号比較手段の比較情報が、前記論理/物理テーブルの物理ブロックの終了クラスタ番号が前記物理/退避テーブルの前記元の物理ブロックの終了クラスタ番号より小さい場合、前記第3の論理/物理テーブル更新手段により前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータを前記物理/退避テーブルの対応する元の物理ブロックから読み出し、前記第3の論理/物理テーブル更新手段により前記論理/物理テーブルから削除された元の物理ブロックに書き込む第1の退避ブロック書き込み手段と、
    前記第1の退避ブロック書き込み手段によりデータが書き込まれた元の物理ブロックを前記第3の論理/物理テーブル更新手段により前記論理/物理テーブルに登録された物理ブロックの退避ブロックに設定し、前記物理/退避テーブルの元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を書き換え、前記物理/退避テーブルを更新する第2の物理/退避テーブル更新手段と、
    前記第2の物理/退避テーブル更新手段により退避ブロックの設定が解除され、前記物理/退避テーブルから削除された元の物理ブロックのデータを消去する第2の物理ブロック消去手段とを有する、
    ことを特徴とするメモリ装置。
  6. 前記第1の物理/退避クラスタ番号比較手段の比較情報が、前記論理/物理テーブルの物理ブロックの終了クラスタ番号が前記物理/退避テーブルの前記元の物理ブロックの終了クラスタ番号以上の場合、前記第1の退避ブロック検出手段により検出された前記物理/退避テーブルの前記元の物理ブロックのデータを消去する第3の物理ブロック消去手段と、
    前記第3の物理ブロック消去手段によりデータが消去された元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルから削除し、前記物理/退避テーブルを更新する第3の物理/退避テーブル更新手段とを有することを特徴とする請求項5記載のメモリ装置。
  7. 前記第1の退避ブロック検出手段により前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号が検出された場合、前記第2の論理/物理テーブル更新手段により書き換えられた前記論理/物理テーブルの物理ブロックの終了クラスタ番号と、前記第1の退避ブロック検出手段により検出された前記物理/退避テーブルの元の物理ブロックの終了クラスタ番号とを比較する第2の物理/退避クラスタ番号比較手段と、
    前記第2の物理/退避クラスタ番号比較手段の比較情報が、前記論理/物理テーブルの物理ブロックの終了クラスタ番号が前記物理/退避テーブルの元の物理ブロックの終了クラスタ番号以上の場合、前記第1の退避ブロック検出手段により検出された前記物理/退避テーブルの元の物理ブロックのデータを消去する第4の物理ブロック消去手段と、
    前記第4の物理ブロック消去手段によりデータが消去された元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を削除し、前記物理/退避テーブルを更新する第4の物理/退避テーブル更新手段とを有することを特徴とする請求項5記載のメモリ装置。
  8. 前記物理/退避テーブルに設定可能な退避ブロック数は、1つであり、
    前記制御回路は、
    前記第1の物理/退避テーブル更新手段により前記物理/退避テーブルを更新するとき、前記物理/退避テーブルに基づいて前記論理/物理テーブルに登録された物理ブロックのアドレスを検出し、検出された物理ブロックのアドレスに対応する前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに基づいて検出する終了クラスタ番号検出手段と、
    前記終了クラスタ番号検出手段により検出された前記物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータを前記物理/退避テーブルの対応する元の物理ブロックから読み出し、対応する前記論理/物理テーブルに登録された物理ブロックに書き込む第2の退避ブロック書き込み手段と、
    前記第2の退避ブロック書き込み手段によりデータが読み出された前記物理/退避テーブルの前記元の物理ブロックのデータを消去する第4の物理ブロック消去手段と、
    前記第4の物理ブロック消去手段によりデータが消去された前記元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルから削除し、前記物理/退避テーブルに空き領域を設け更新する第5の物理/退避テーブル更新手段とを有し、
    前記第1の物理/退避テーブル更新手段は、前記第5の物理/退避テーブル更新手段により設けられた前記物理/退避テーブルの前記空き領域に前記論理/物理テーブルに登録された物理ブロックのアドレス、前記論理/物理テーブルから削除された元の物理ブロックのアドレスおよび前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号を書き込み、前記物理/退避テーブルを更新することを特徴とする請求項5記載のメモリ装置。
  9. 前記物理/退避テーブルに設定可能な退避ブロック数は、複数であり、
    前記物理/退避テーブルは、前記論理/物理テーブルに登録された物理ブロックのアドレス、前記退避ブロックに設定された元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号とともに、これらのアクセス回数を対応付けて記憶し、
    前記制御回路は、
    前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記退避ブロックに設定された元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号がアクセスされたとき、前記アクセス回数を更新するアクセス回数更新手段と、
    前記第1の物理/退避テーブル更新手段により前記物理/退避テーブルを更新するとき、前記物理/退避テーブルに設定された退避ブロック数を検出する退避ブロック数検出手段と、
    前記退避ブロック数検出手段により検出された前記物理/退避テーブルに設定された退避ブロック数と前記物理/退避テーブルに設定可能な退避ブロック数とを比較する退避ブロック数比較手段と、
    前記退避ブロック数比較手段の比較情報が、前記物理/退避テーブルに設定された退避ブロック数と前記物理/退避テーブルに設定可能な退避ブロック数とが一致した場合、前記物理/退避テーブルに基づいて最小のアクセス回数を検出する最小アクセス回数検出手段と、
    前記最小アクセス回数検出手段により検出された最小のアクセス回数に対応する前記論理/物理テーブルに登録された物理ブロックのアドレスを前記物理/退避テーブルに基づいて検出し、検出された物理ブロックのアドレスに対応する前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに基づいて検出する終了クラスタ番号検出手段と、
    前記終了クラスタ番号検出手段により検出された前記物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータを前記物理/退避テーブルの対応する元の物理ブロックから読み出し、対応する前記論理/物理テーブルに登録された物理ブロックに書き込む第2の退避ブロック書き込み手段と、
    前記第2の退避ブロック書き込み手段によりデータが読み出された前記物理/退避テーブルの元の物理ブロックのデータを消去する第4の物理ブロック消去手段と、
    前記第4の物理ブロック消去手段によりデータが消去された前記元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルから削除し、前記物理/退避テーブルに空き領域を設け更新する第5の物理/退避テーブル更新手段とを有し、
    前記第1の物理/退避テーブル更新手段は、前記第5の物理/退避テーブル更新手段により設けられた前記物理/退避テーブルの前記空き領域に前記論理/物理テーブルに登録された物理ブロックのアドレス、前記論理/物理テーブルから削除された元の物理ブロックのアドレスおよび前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号を書き込み、前記物理/退避テーブルを更新することを特徴とする請求項5記載のメモリ装置。
  10. 前記制御回路は、
    論理ブロックのデータの読み出し命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する第2の物理ブロック検出手段と、
    前記第2の物理ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記読み出し命令に基づくデータの開始クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し開始クラスタ番号比較手段と、
    前記読み出し開始クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出手段により検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第2の退避ブロック検出手段と、
    前記第2の退避ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスが検出された場合、検出された前記元の物理ブロックから前記読み出し命令に基づくデータを読み出す第1のデータ読み出し手段と、
    前記読み出し開始クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下場合、前記読み出し命令に基づくデータの終了クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し終了クラスタ番号比較手段と、
    前記読み出し終了クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記第2の物理ブロック検出手段により検出された物理ブロックから前記読み出し命令に基づくデータを読み出す第2のデータ読み出し手段と、
    前記読み出し終了クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出手段により検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第3の退避ブロック検出手段と、
    前記第3の退避ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスが検出された場合、前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下のクラスタ番号のクラスタのデータを前記第2の物理ブロック検出手段により検出された物理ブロックから読み出し、前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記第3の退避ブロック検出手段により検出された前記元の物理ブロックから読み出す第3のデータ読み出し手段とを有することを特徴とする請求項5記載のメモリ装置。
  11. クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリを有するメモリ装置の制御方法であって、
    論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けた論理/物理テーブルを前記不揮発性メモリに記憶する論理/物理テーブル記憶ステップと、
    前記論理/物理テーブルに新たに割り当てられた物理ブロックに対応して前記論理/物理テーブルから削除された元の物理ブロックのうち、退避ブロックに設定された元の物理ブロックのアドレスと、前記退避ブロックに設定された元の物理ブロックに対応する前記新たに割り当てられた物理ブロックのアドレスと、前記退避ブロックに設定された元の物理ブロックの終了クラスタ番号とを対応付けた物理/退避テーブルを前記不揮発性メモリに記憶する物理/退避テーブル記憶ステップと、
    論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する第1の物理ブロック検出ステップと、
    前記第1の物理ブロック検出ステップで前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第1の物理ブロック書き込みステップと、
    前記第1の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第1の論理/物理テーブル更新ステップと、
    前記第1の物理ブロック検出ステップで前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記書き込み命令に基づくデータの開始クラスタ番号と、前記第1の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する書き込みクラスタ番号比較ステップと、
    前記第1の物理ブロック検出ステップで前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記物理/退避テーブルに基づいて前記第1の物理ブロック検出手段により検出された物理ブロックのアドレスと同じ前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を検出する第1の退避ブロック検出ステップと、
    前記書き込みクラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が前記第1の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記第1の物理ブロック検出手段により検出された物理ブロックに前記書き込み命令に基づくデータを書き込む第2の物理ブロック書き込みステップと、
    前記第2の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を前記論理/物理テーブルに書き込み、前記論理/物理テーブルを更新する第2の論理/物理テーブル更新ステップと、
    前記書き込みクラスタ番号比較ステップで、前記書き込み命令に基づくデータの開始クラスタ番号が前記第1の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記書き込み命令に基づくデータの開始クラスタ番号より小さいクラスタ番号のクラスタのデータを前記第1の物理ブロック検出手段により検出された物理ブロックから読み出し、前記フラッシュメモリの何れかのフリーブロックに書き込み、前記書き込み命令に基づくデータを前記フリーブロックに書き込む第3の物理ブロック書き込みステップと、
    前記第3の物理ブロック書き込みステップでデータが書き込まれたフリーブロックを前記論理ブロックの物理ブロックに割り当て、割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新ステップと、
    前記第1の退避ブロック検出ステップで前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号が検出されない場合、前記第3の論理/物理テーブル更新ステップで前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号と、第3の論理/物理テーブル更新ステップで前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号とを比較する登録/削除終了クラスタ番号比較ステップと、
    前記登録/削除終了クラスタ番号比較ステップで、前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号が前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号より小さい場合、前記論理/物理テーブルから削除された元の物理ブロックを退避ブロックに設定し、前記論理/物理テーブルに登録された物理ブロックのアドレス、前記論理/物理テーブルから削除された元の物理ブロックのアドレスおよび前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルに書き込み、前記物理/退避テーブルを更新する第1の物理/退避テーブル更新ステップと、
    前記第1の退避ブロック検出ステップで前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号が検出された場合、前記第3の論理/物理テーブル更新ステップで登録された前記論理/物理テーブルの物理ブロックの終了クラスタ番号と、前記第1の退避ブロック検出手段により検出された前記元の物理ブロックの終了クラスタ番号とを比較する第1の物理/退避クラスタ番号比較ステップと、
    前記第1の物理/退避クラスタ番号比較ステップで、前記論理/物理テーブルの物理ブロックの終了クラスタ番号が前記物理/退避テーブルの前記元の物理ブロックの終了クラスタ番号より小さい場合、前記第3の論理/物理テーブル更新ステップで前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータを前記物理/退避テーブルの対応する元の物理ブロックから読み出し、前記第3の論理/物理テーブル更新ステップで前記論理/物理テーブルから削除された元の物理ブロックに書き込む第1の退避ブロック書き込み手段と、
    前記第1の退避ブロック書き込みステップでデータが書き込まれた元の物理ブロックを前記第3の論理/物理テーブル更新ステップで前記論理/物理テーブルに登録された物理ブロックの退避ブロックに設定し、前記物理/退避テーブルの元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を書き換え、前記物理/退避テーブルを更新する第2の物理/退避テーブル更新ステップと、
    前記第2の物理/退避テーブル更新ステップで退避ブロックの設定が解除され、前記物理/退避テーブルから削除された元の物理ブロックのデータを消去する第1の物理ブロック消去ステップとを含むことを特徴とするメモリ装置の制御方法。
  12. 論理ブロックのデータの読み出し命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する第2の物理ブロック検出ステップと、
    前記第2の物理ブロック検出ステップで前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記読み出し命令に基づくデータの開始クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し開始クラスタ番号比較ステップと、
    前記読み出し開始クラスタ番号比較ステップで、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出手段により検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第2の退避ブロック検出ステップと、
    前記第2の退避ブロック検出ステップで検出された前記元の物理ブロックから前記読み出し命令に基づくデータを読み出す第1のデータ読み出しステップと、
    前記読み出し開始クラスタ番号比較ステップで、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記読み出し命令に基づくデータの終了クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し終了クラスタ番号比較ステップと、
    前記読み出し終了クラスタ番号比較ステップで、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記第2の物理ブロック検出手段により検出された物理ブロックから前記読み出し命令に基づくデータを読み出す第2のデータ読み出しステップと、
    前記読み出し終了クラスタ番号比較ステップで、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出ステップで検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第3の退避ブロック検出ステップと、
    前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号以下のクラスタ番号のクラスタのデータを前記第2の物理ブロック検出ステップで検出された物理ブロックから読み出し、前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記第3の退避ブロック検出ステップで検出された前記元の物理ブロックから読み出す第3のデータ読み出しステップとを含むことを特徴とする請求項11記載のメモリ装置の制御方法。
JP2004225716A 2004-08-02 2004-08-02 メモリ装置、メモリ装置の制御方法およびデータ処理システム Expired - Fee Related JP4710274B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004225716A JP4710274B2 (ja) 2004-08-02 2004-08-02 メモリ装置、メモリ装置の制御方法およびデータ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004225716A JP4710274B2 (ja) 2004-08-02 2004-08-02 メモリ装置、メモリ装置の制御方法およびデータ処理システム

Publications (2)

Publication Number Publication Date
JP2006048227A true JP2006048227A (ja) 2006-02-16
JP4710274B2 JP4710274B2 (ja) 2011-06-29

Family

ID=36026724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004225716A Expired - Fee Related JP4710274B2 (ja) 2004-08-02 2004-08-02 メモリ装置、メモリ装置の制御方法およびデータ処理システム

Country Status (1)

Country Link
JP (1) JP4710274B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257061A (ja) * 2006-03-20 2007-10-04 Sony Corp データ記憶装置及びデータアクセス方法
US8346051B2 (en) 2007-06-01 2013-01-01 Panasonic Corporation Recording apparatus and recording method
US8386713B2 (en) 2007-09-12 2013-02-26 Sony Corporation Memory apparatus, memory control method, and program
KR20160036693A (ko) * 2014-09-25 2016-04-05 충남대학교산학협력단 저장 장치 및 그것의 커맨드 스케줄링 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110283A (ja) * 1997-08-08 1999-04-23 Toshiba Corp 不揮発性半導体メモリシステムの制御方法
JP2002324008A (ja) * 2001-04-26 2002-11-08 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2004038236A (ja) * 2002-06-28 2004-02-05 Seiko Epson Corp 情報処理装置およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110283A (ja) * 1997-08-08 1999-04-23 Toshiba Corp 不揮発性半導体メモリシステムの制御方法
JP2002324008A (ja) * 2001-04-26 2002-11-08 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP2004038236A (ja) * 2002-06-28 2004-02-05 Seiko Epson Corp 情報処理装置およびプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257061A (ja) * 2006-03-20 2007-10-04 Sony Corp データ記憶装置及びデータアクセス方法
US7716412B2 (en) 2006-03-20 2010-05-11 Sony Corporation Data storage apparatus and data access method for controlling address information for data writing using a free area control table
US8346051B2 (en) 2007-06-01 2013-01-01 Panasonic Corporation Recording apparatus and recording method
US8386713B2 (en) 2007-09-12 2013-02-26 Sony Corporation Memory apparatus, memory control method, and program
KR20160036693A (ko) * 2014-09-25 2016-04-05 충남대학교산학협력단 저장 장치 및 그것의 커맨드 스케줄링 방법
KR101687762B1 (ko) 2014-09-25 2017-01-03 충남대학교산학협력단 저장 장치 및 그것의 커맨드 스케줄링 방법

Also Published As

Publication number Publication date
JP4710274B2 (ja) 2011-06-29

Similar Documents

Publication Publication Date Title
JP4356686B2 (ja) メモリ装置及びメモリ制御方法
JP4418439B2 (ja) 不揮発性記憶装置およびそのデータ書込み方法
JP4688584B2 (ja) ストレージ装置
US7174440B2 (en) Method and apparatus for performing block caching in a non-volatile memory system
US20110119431A1 (en) Memory system with read-disturb suppressed and control method for the same
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
JP5073402B2 (ja) メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
US20050278480A1 (en) Method of writing data into flash memory
JP5874525B2 (ja) 制御装置、記憶装置、記憶制御方法
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
JP2004303238A (ja) フラッシュメモリアクセス装置及び方法
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP4254932B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP4710274B2 (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP2005115562A (ja) フラッシュrom制御装置
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP2006244017A (ja) データコピー方法
JP2005135544A (ja) 半導体記録媒体及び半導体記録媒体のデータ消去方法
JP2007304920A (ja) フラッシュメモリ制御方法
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP5264459B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070427

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090807

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100709

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110307

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

Free format text: PAYMENT UNTIL: 20140401

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees