JP4710274B2 - メモリ装置、メモリ装置の制御方法およびデータ処理システム - Google Patents
メモリ装置、メモリ装置の制御方法およびデータ処理システム Download PDFInfo
- Publication number
- JP4710274B2 JP4710274B2 JP2004225716A JP2004225716A JP4710274B2 JP 4710274 B2 JP4710274 B2 JP 4710274B2 JP 2004225716 A JP2004225716 A JP 2004225716A JP 2004225716 A JP2004225716 A JP 2004225716A JP 4710274 B2 JP4710274 B2 JP 4710274B2
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、このような事情に鑑みなされたものであり、その目的は、フラッシュメモリのメモリ容量を大きく減少させることなく、フラッシュメモリの消去回数を減らし、フラッシュメモリのデータの更新を効率的に行い、記憶素子の劣化を低減するとともに、データのアクセスを高速に行なうことができるメモリ装置、メモリ装置の制御方法およびデータ処理システムを提供するにある。
前記第3の物理ブロック書き込みステップで前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新ステップとを含む、ことを特徴とする。
前記第3の物理ブロック書き込み手段により前記書き込み命令に基づくデータが書き込まれた物理ブロックの終了クラスタ番号を書き換え、前記論理/物理テーブルを更新する第3の論理/物理テーブル更新手段とを有する、ことを特徴とする。
図1は、実施例1のデータ処理システムの概略構成を示す図である。
図1に示すように、実施例1のデータ処理システムは、フラッシュメモリ23を有するメモリカード20と、メモリカード20が着脱自在に装着されるホスト装置10とを備える。
図2に示すように、メモリカード20は、例えばメモリスティック(登録商標)に相当し、ホスト装置10に装着され、ホンス装置10から供給されるデータが書き込まれる。メモリカード20は、複数のフラッシュメモリ23を有するメモリ部40と、メモリ部40を制御するコントローラ部30とを備える。
シリアルI/F31、パラレルI/F32、レジスタ33、データバッファ34およびECC35は、バス38により相互に接続されている。レジスタ33、データバッファ34およびECC35は、MPU36に接続されている。
まず、書き込みコマンドおよび書き込みデータのアドレスが、次に、書き込みデータがホスト装置10から送信され、メモリカード20に受信される。フラッシュメモリ23は、セクタ単位にデータの書き込みおよび読み出しを行なうが、ホスト装置10は、クラスタ単位でデータの書き込みおよび読み出しを行なう。書き込みデータがメモリカード20に受信されると、受信された書き込みデータがデータバッファ34に記憶される。書き込みデータの受信が終了すると、データバッファ34に記憶された書き込みデータがフラッシュメモリ23に書き込まれる。
読み出しコマンドおよび読み出しデータのアドレスがホスト装置10から送信され、メモリカード20に受信されると、当該アドレスの読み出しデータがフラッシュメモリ23から読み出され、データバッファ34に記憶される。フラッシュメモリ23の読み出しデータの読み出しが終了すると、データバッファ34に記憶された読み出しデータが読み出されホスト装置10に送信される。
図1および図2に示されるフラッシュメモリ23には、図3に示される論理/物理テーブルが記憶されている。論理/物理テーブルは、論理ブロックのアドレスと、論理ブロックに割り当てられた物理ブロックのアドレスと、物理ブロックの終了クラスタ番号とを対応付けたものである。論理/物理テーブルは、メモリカード20がホスト装置10に装着されると、コントロール部30によりフラッシュメモリ23から読み出され、データの書き込み動作に従って書き換えられる。
図4(a)に示すように、まず、ある論理ブロックのクラスタ番号1のクラスタのデータの書き込み命令が要求されると、論理/物理テーブルが参照される。この場合、書き込みデータの開始クラスタ番号が1であるので、フラッシュメモリ23の何れかのフリーブロックにクラスタ番号1のデータが書き込まれる。
図5は、実施例1のデータ処理システムの書き込み動作を示すフローチャートである。
この書き込み動作は、特許請求の範囲の請求項1〜4に相当する。
まず、論理ブロックのデータの書き込み命令が要求されると、論理/物理テーブルが参照され、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出される(ステップS1、物理ブロック検出ステップ)。
図6に示すように、物理/退避テーブルは、論理/物理テーブルから削除された元の物理ブロックのうち、退避ブロックに設定された元の物理ブロックに対応する論理/物理テーブルに登録された物理ブロックのアドレスと、前記退避ブロックに設定された元の物理ブロックのアドレスと、前記元の物理ブロックの終了クラスタ番号とを対応付けたものである。物理/退避テーブルは、メモリカード20がホスト装置10に装着されると、コントロール部30によりフラッシュメモリ23から論理/物理テーブルとともに読み出され、データの書き込み動作に従って書き換えられる。なお、実施例2のデータ処理システムの構成は、図1および図2に示される実施例1のデータ処理システムの構成と同様であり、その説明を省略する。
この書き込み動作は、特許請求の範囲の請求項5〜7に相当する。
まず、論理ブロックのデータの書き込み命令が要求されると、論理/物理テーブルが参照され、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出される(ステップs11、第1の物理ブロック検出手段)。
また、ステップS11で、論理ブロックに対応する物理ブロックのアドレスおよび終了クラスタ番号が検出された場合、書き込み命令に基づくデータの開始クラスタ番号SCと、論理/物理テーブルの物理ブロックの終了クラスタ番号ECとが比較される(ステップS15、書き込みクラスタ番号比較手段)。
この読み出し動作は、特許請求の範囲の請求項10に相当する。
まず、論理ブロックのデータの読み出し命令が要求されると、論理/物理テーブルが参照され、論理ブロックに割り当てられた物理ブロックのアドレスおよび終了クラスタ番号が検出される(ステップS41、第2の物理ブロック検出手段)。
図13に示すように、論理/物理テーブルに登録された物理ブロックのアドレスと、元の物理ブロック(退避ブロック)のアドレスと、元の物理ブロック(退避ブロック)の終了クラスタ番号と、これらの登録データのアクセス回数とを対応付けたものである。アクセス回数は、実施例2の書き込み動作時の第1の退避ブロック検出手段、並びに、読み出し動作時の第2および第3の退避ブロック検出手段の検出回数に相当する。
この書き込み動作は、特許請求の範囲の請求項8および9に相当する。
図10のステップS25で、論理/物理テーブルに登録された物理ブロックの終了クラスタ番号ECが論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号ECより小さい場合、物理/退避テーブルに設定された退避ブロック数が検出され(ステップS51、退避ブロック数検出手段)、物理/退避テーブルに設定された退避ブロック数と物理/退避テーブルに設定可能な退避ブロック数Mとが比較される(ステップS52)。
Claims (12)
- クラスタ単位にデータの書き込みおよび読み出しが行われるとともに、複数のクラスタからなるブロック単位にデータの消去が行われる不揮発性メモリと、
前記不揮発性メモリの動作を制御する制御回路と備えたメモリ装置であって、
前記不揮発性メモリは、
論理ブロックのアドレスと、前記論理ブロックに割り当てられた物理ブロックのアドレスと、前記物理ブロックの終了クラスタ番号とを対応付けて記憶する論理/物理テーブルを有し、
前記制御回路は、
論理ブロックのデータの書き込み命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する物理ブロック検出手段と、
前記物理ブロック検出手段により前記論理ブロックのアドレス、前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出されない場合、前記フラッシュメモリの何れかのフリーブロックに前記書き込み命令に基づくデータを書き込む第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の論理/物理テーブル更新手段と、
前記第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の物理ブロック消去手段とを有する、
ことを特徴とするメモリ装置。 - 前記第1の物理/退避クラスタ番号比較手段の比較情報が、前記論理/物理テーブルの物理ブロックの終了クラスタ番号が前記物理/退避テーブルの前記元の物理ブロックの終了クラスタ番号以上の場合、前記第1の退避ブロック検出手段により検出された前記物理/退避テーブルの前記元の物理ブロックのデータを消去する第3の物理ブロック消去手段と、
前記第3の物理ブロック消去手段によりデータが消去された元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルから削除し、前記物理/退避テーブルを更新する第3の物理/退避テーブル更新手段とを有することを特徴とする請求項5記載のメモリ装置。 - 前記第1の退避ブロック検出手段により前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号が検出された場合、前記第2の論理/物理テーブル更新手段により書き換えられた前記論理/物理テーブルの物理ブロックの終了クラスタ番号と、前記第1の退避ブロック検出手段により検出された前記物理/退避テーブルの元の物理ブロックの終了クラスタ番号とを比較する第2の物理/退避クラスタ番号比較手段と、
前記第2の物理/退避クラスタ番号比較手段の比較情報が、前記論理/物理テーブルの物理ブロックの終了クラスタ番号が前記物理/退避テーブルの元の物理ブロックの終了クラスタ番号以上の場合、前記第1の退避ブロック検出手段により検出された前記物理/退避テーブルの元の物理ブロックのデータを消去する第4の物理ブロック消去手段と、
前記第4の物理ブロック消去手段によりデータが消去された元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を削除し、前記物理/退避テーブルを更新する第4の物理/退避テーブル更新手段とを有することを特徴とする請求項5記載のメモリ装置。 - 前記物理/退避テーブルに設定可能な退避ブロック数は、1つであり、
前記制御回路は、
前記第1の物理/退避テーブル更新手段により前記物理/退避テーブルを更新するとき、前記物理/退避テーブルに基づいて前記論理/物理テーブルに登録された物理ブロックのアドレスを検出し、検出された物理ブロックのアドレスに対応する前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに基づいて検出する終了クラスタ番号検出手段と、
前記終了クラスタ番号検出手段により検出された前記物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータを前記物理/退避テーブルの対応する元の物理ブロックから読み出し、対応する前記論理/物理テーブルに登録された物理ブロックに書き込む第2の退避ブロック書き込み手段と、
前記第2の退避ブロック書き込み手段によりデータが読み出された前記物理/退避テーブルの前記元の物理ブロックのデータを消去する第4の物理ブロック消去手段と、
前記第4の物理ブロック消去手段によりデータが消去された前記元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルから削除し、前記物理/退避テーブルに空き領域を設け更新する第5の物理/退避テーブル更新手段とを有し、
前記第1の物理/退避テーブル更新手段は、前記第5の物理/退避テーブル更新手段により設けられた前記物理/退避テーブルの前記空き領域に前記論理/物理テーブルに登録された物理ブロックのアドレス、前記論理/物理テーブルから削除された元の物理ブロックのアドレスおよび前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号を書き込み、前記物理/退避テーブルを更新することを特徴とする請求項5記載のメモリ装置。 - 前記物理/退避テーブルに設定可能な退避ブロック数は、複数であり、
前記物理/退避テーブルは、前記論理/物理テーブルに登録された物理ブロックのアドレス、前記退避ブロックに設定された元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号とともに、これらのアクセス回数を対応付けて記憶し、
前記制御回路は、
前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記退避ブロックに設定された元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号がアクセスされたとき、前記アクセス回数を更新するアクセス回数更新手段と、
前記第1の物理/退避テーブル更新手段により前記物理/退避テーブルを更新するとき、前記物理/退避テーブルに設定された退避ブロック数を検出する退避ブロック数検出手段と、
前記退避ブロック数検出手段により検出された前記物理/退避テーブルに設定された退避ブロック数と前記物理/退避テーブルに設定可能な退避ブロック数とを比較する退避ブロック数比較手段と、
前記退避ブロック数比較手段の比較情報が、前記物理/退避テーブルに設定された退避ブロック数と前記物理/退避テーブルに設定可能な退避ブロック数とが一致した場合、前記物理/退避テーブルに基づいて最小のアクセス回数を検出する最小アクセス回数検出手段と、
前記最小アクセス回数検出手段により検出された最小のアクセス回数に対応する前記論理/物理テーブルに登録された物理ブロックのアドレスを前記物理/退避テーブルに基づいて検出し、検出された物理ブロックのアドレスに対応する前記物理ブロックの終了クラスタ番号を前記論理/物理テーブルに基づいて検出する終了クラスタ番号検出手段と、
前記終了クラスタ番号検出手段により検出された前記物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータを前記物理/退避テーブルの対応する元の物理ブロックから読み出し、対応する前記論理/物理テーブルに登録された物理ブロックに書き込む第2の退避ブロック書き込み手段と、
前記第2の退避ブロック書き込み手段によりデータが読み出された前記物理/退避テーブルの元の物理ブロックのデータを消去する第4の物理ブロック消去手段と、
前記第4の物理ブロック消去手段によりデータが消去された前記元の物理ブロックに対応する前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を前記物理/退避テーブルから削除し、前記物理/退避テーブルに空き領域を設け更新する第5の物理/退避テーブル更新手段とを有し、
前記第1の物理/退避テーブル更新手段は、前記第5の物理/退避テーブル更新手段により設けられた前記物理/退避テーブルの前記空き領域に前記論理/物理テーブルに登録された物理ブロックのアドレス、前記論理/物理テーブルから削除された元の物理ブロックのアドレスおよび前記論理/物理テーブルから削除された元の物理ブロックの終了クラスタ番号を書き込み、前記物理/退避テーブルを更新することを特徴とする請求項5記載のメモリ装置。 - 前記制御回路は、
論理ブロックのデータの読み出し命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する第2の物理ブロック検出手段と、
前記第2の物理ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記読み出し命令に基づくデータの開始クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し開始クラスタ番号比較手段と、
前記読み出し開始クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出手段により検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第2の退避ブロック検出手段と、
前記第2の退避ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスが検出された場合、検出された前記元の物理ブロックから前記読み出し命令に基づくデータを読み出す第1のデータ読み出し手段と、
前記読み出し開始クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下場合、前記読み出し命令に基づくデータの終了クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し終了クラスタ番号比較手段と、
前記読み出し終了クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記第2の物理ブロック検出手段により検出された物理ブロックから前記読み出し命令に基づくデータを読み出す第2のデータ読み出し手段と、
前記読み出し終了クラスタ番号比較手段の比較情報が、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出手段により検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第3の退避ブロック検出手段と、
前記第3の退避ブロック検出手段により前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスが検出された場合、前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下のクラスタ番号のクラスタのデータを前記第2の物理ブロック検出手段により検出された物理ブロックから読み出し、前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記第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の退避ブロック検出ステップで前記物理/退避テーブルの前記論理/物理テーブルに登録された物理ブロックのアドレス、前記物理ブロックに対応する元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号が検出された場合、前記第3の論理/物理テーブル更新ステップで登録された前記論理/物理テーブルの物理ブロックの終了クラスタ番号と、前記第1の退避ブロック検出手段により検出された前記元の物理ブロックの終了クラスタ番号とを比較する第1の物理/退避クラスタ番号比較ステップと、
前記第1の物理/退避クラスタ番号比較ステップで、前記論理/物理テーブルの物理ブロックの終了クラスタ番号が前記物理/退避テーブルの前記元の物理ブロックの終了クラスタ番号より小さい場合、前記第3の論理/物理テーブル更新ステップで前記論理/物理テーブルに登録された物理ブロックの終了クラスタ番号よりクラスタ番号が大きいクラスタのデータを前記物理/退避テーブルの対応する元の物理ブロックから読み出し、前記第3の論理/物理テーブル更新ステップで前記論理/物理テーブルから削除された元の物理ブロックに書き込む第1の退避ブロック書き込み手段と、
前記第1の退避ブロック書き込みステップでデータが書き込まれた元の物理ブロックを前記第3の論理/物理テーブル更新ステップで前記論理/物理テーブルに登録された物理ブロックの退避ブロックに設定し、前記物理/退避テーブルの元の物理ブロックのアドレスおよび前記元の物理ブロックの終了クラスタ番号を書き換え、前記物理/退避テーブルを更新する第2の物理/退避テーブル更新ステップと、
前記第2の物理/退避テーブル更新ステップで退避ブロックの設定が解除され、前記物理/退避テーブルから削除された元の物理ブロックのデータを消去する第1の物理ブロック消去ステップとを含むことを特徴とするメモリ装置の制御方法。 - 論理ブロックのデータの読み出し命令が要求されたとき、前記論理/物理テーブルに基づいて前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号を検出する第2の物理ブロック検出ステップと、
前記第2の物理ブロック検出ステップで前記論理ブロックに割り当てられた物理ブロックのアドレスおよび前記物理ブロックの終了クラスタ番号が検出された場合、前記読み出し命令に基づくデータの開始クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し開始クラスタ番号比較ステップと、
前記読み出し開始クラスタ番号比較ステップで、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出手段により検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第2の退避ブロック検出ステップと、
前記第2の退避ブロック検出ステップで検出された前記元の物理ブロックから前記読み出し命令に基づくデータを読み出す第1のデータ読み出しステップと、
前記読み出し開始クラスタ番号比較ステップで、前記読み出し命令に基づくデータの開始クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記読み出し命令に基づくデータの終了クラスタ番号と、前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号とを比較する読み出し終了クラスタ番号比較ステップと、
前記読み出し終了クラスタ番号比較ステップで、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出手段により検出された物理ブロックの終了クラスタ番号以下の場合、前記第2の物理ブロック検出手段により検出された物理ブロックから前記読み出し命令に基づくデータを読み出す第2のデータ読み出しステップと、
前記読み出し終了クラスタ番号比較ステップで、前記読み出し命令に基づくデータの終了クラスタ番号が前記第2の物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号より大きい場合、前記物理/退避テーブルに基づいて前記第2の物理ブロック検出ステップで検出された前記論理ブロックに割り当てられた物理ブロックに対応する元の物理ブロックのアドレスを検出する第3の退避ブロック検出ステップと、
前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号以下のクラスタ番号のクラスタのデータを前記第2の物理ブロック検出ステップで検出された物理ブロックから読み出し、前記読み出し命令に基づくデータのうち、前記第2の物理ブロック検出ステップで検出された物理ブロックの終了クラスタ番号より大きいクラスタ番号のクラスタのデータを前記第3の退避ブロック検出ステップで検出された前記元の物理ブロックから読み出す第3のデータ読み出しステップとを含むことを特徴とする請求項11記載のメモリ装置の制御方法。
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 JP2006048227A (ja) | 2006-02-16 |
JP4710274B2 true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4802791B2 (ja) | 2006-03-20 | 2011-10-26 | ソニー株式会社 | データ記憶装置及びデータアクセス方法 |
JP5216003B2 (ja) | 2007-06-01 | 2013-06-19 | パナソニック株式会社 | 記録装置 |
JP4356782B2 (ja) | 2007-09-12 | 2009-11-04 | ソニー株式会社 | メモリ装置、メモリ制御方法、およびプログラム |
KR101687762B1 (ko) * | 2014-09-25 | 2017-01-03 | 충남대학교산학협력단 | 저장 장치 및 그것의 커맨드 스케줄링 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002324008A (ja) * | 2001-04-26 | 2002-11-08 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2004038236A (ja) * | 2002-06-28 | 2004-02-05 | Seiko Epson Corp | 情報処理装置およびプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4079506B2 (ja) * | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
-
2004
- 2004-08-02 JP JP2004225716A patent/JP4710274B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002324008A (ja) * | 2001-04-26 | 2002-11-08 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2004038236A (ja) * | 2002-06-28 | 2004-02-05 | Seiko Epson Corp | 情報処理装置およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2006048227A (ja) | 2006-02-16 |
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 | |
KR100871027B1 (ko) | 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법 | |
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) | 制御装置、記憶装置、記憶制御方法 | |
JP2004303238A (ja) | フラッシュメモリアクセス装置及び方法 | |
JP5592478B2 (ja) | 不揮発性記憶装置及びメモリコントローラ | |
US20090210612A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
JP4254932B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP4235646B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
JP4710274B2 (ja) | メモリ装置、メモリ装置の制御方法およびデータ処理システム | |
JP4513786B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
US20050204115A1 (en) | Semiconductor memory device, memory controller and data recording method | |
JP3934659B1 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP3670151B2 (ja) | フラッシュメモリのアクセス方法、フラッシュメモリへアクセスするドライバを備えるシステム、および、フラッシュメモリ | |
JP4177301B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006244017A (ja) | データコピー方法 | |
JP5264459B2 (ja) | 半導体記憶装置 | |
JP2007304920A (ja) | フラッシュメモリ制御方法 | |
JP4304167B2 (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 |