(57)【特許請求の範囲】
【請求項１】
複数のページから構成された書込み単位であるブロックを複数有するフラッシュディスク装置であって、
未使用ページの数ごとに該当するブロック番号を格納した未使用ページ管理テーブルを設け、
当該未使用ページ管理テーブルを用いて未使用ページの数が多いブロックからガベージコレクション処理を行うようにしたことを特徴とするフラッシュディスク装置。
【請求項２】
前記ブロックは、所定の数のブロックごとにチップを構成し、
前記未使用ページ管理テーブルは、未使用ページの数ごとに該当するチップ番号およびブロック番号を格納するようにしたことを特徴とする請求項１記載のフラッシュディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体ディスク装置、特にフラッシュメモリを使用したフラッシュディスク装置に関する。
【背景技術】
【０００２】
近年、近年の不揮発性メモリの大容量化、低コスト化に伴い、不揮発性メモリを使用したディスクであるフラッシュディスク装置が開発され、多くの製品が市場に流通し始めている。
【０００３】
このフラッシュディスク装置に一般的に使用されている大容量不揮発性メモリ素子はＡＮＤ型／ＮＡＮＤ型などのフラッシュメモリであるが、フラッシュメモリに保存されたデータは、一定の確率でビットエラーが発生すること及び一般に１６ＫＢのブロックと呼ばれる単位で消去を行うが、同一ブロックでは消去できる回数が１０万回〜１００万回という制約がある。
【０００４】
一般に、フラッシュメモリは複数のブロックにより構成され、更にこれらの各ブロックが、複数のページにより構成されている。ページは、リード（読出し）／ライト（書込み）の単位であり、通常、磁気ディスク装置等のハードディスク装置におけるリード／ライトの最小単位であるセクタと同じ大きさである５１２バイト（Ｂｙｔｅ）としている。従って、１ブロックは３２個のページから構成される。
【０００５】
各ページ内のデータを書換える場合は、通常、前データを消去した後、新たなデータを書込む。前述のようにブロックは、消去する単位であり、書換えがこのブロック内の一部のページであっても、この１つのブロック全部を消去する必要がある。
【０００６】
ところで、書込みを行っていると、フラッシュメモリ内の空いているページが無くなるので、一定量の空ブロックを確保するために、定期的にガベージコレクションを行い、未使用ページの多いブロック内のライトページを他のブロックに移動させ未使用ブロックとする処理を実行する。
【０００７】
一般に、ガベージコレクションは、ホストマシンからのアクセスが一定時間無いときや、フラッシュメモリ内の空ブロックの数が所定の数以下となったとき、ＭＰＵの制御により実行される（例えば、特許文献１参照）。
【０００８】
図９は、前記従来のフラッシュディスク装置における未使用ページの管理を行う未使用ページリストを示している。同図に示したように未使用ページリストは、各チップの全ブロックについて未使用のページの数を順に検索し、未使用ページのあったチップ番号とブロック番号とその数をリスト状に格納しておくものであった。
【０００９】
例えば、最初のチップのチップ番号Ａではブロック番号５とブロック番号８だけが未使用ページを有し、それぞれ１４ページ、５ページが未使用であったことを示している。
【００１０】
従来のフラッシュディスク装置では、前記未使用ページリストを用いて、前述の未使用ページの多いブロック内のライトページを他のブロックに移動し未使用ブロックとする処理、すなわちガベージコレクション動作を実行していた。
【特許文献１】特開２００５−２４２８９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来のフラッシュディスク装置では、図９の未使用ページリストにより未使用ページを管理してガベージコレクション動作を行っているので、フラッシュメモリへのライト動作が行われ空ブロックの数が少なくなると、ガベージコレクションの頻度が増加し、未使用ページの多いブロックの検索を頻繁に行うことになり、ガベージコレクション動作に時間がかかり、最悪の場合、次のライト動作までにガベージコレクション動作が間に合わなくなり、ライト動作に影響が生ずるという不具合が発生していた。
【課題を解決するための手段】
【００１２】
本発明は、前述の課題を解決するために次の手段を採用する。すなわち、複数のページから構成された書込み単位であるブロックを複数有するフラッシュディスク装置において、未使用ページの数ごとに該当するブロック番号を格納した未使用ページ管理テーブルを設け、当該未使用ページ管理テーブルを用いて未使用ページの数が多いブロックからガベージコレクション処理を行うようにした。
【発明の効果】
【００１３】
本発明のフラッシュディスク装置によれば、フラッシュメモリの未使用ページの数ごとに該当するブロックを管理できる未使用ページ管理テーブルを設け、当該未使用ページ管理テーブルにより未使用ページの数が多いブロックからガベージコレクション処理を行うようにしたので、未使用ページの数が多いブロックの検索が容易となり、ガベージコレクションの処理時間を短くすることができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係る実施の形態例を、図面を用いて説明する。なお、図面に共通する要素には同一の符号を付す。
【実施例１】
【００１５】
（構成）
図１は実施例１のフラッシュディスク装置の構成を説明する図であり、図２はフラッシュメモリのブロックとページの構成を示した図である。
【００１６】
図１に示したように、実施例１のフラッシュディスク装置は、ホストＣＰＵ等のホストマシン１とのインターフェース（以下「Ｉ／Ｆ」という）であるホストＩ／Ｆバス２により、ホストマシン１と接続されている。
【００１７】
そして、装置全体を制御するマイクロプロセッサユニット（以下「ＭＰＵ」という）１１を有しており、ＭＰＵ１１はＲＡＭ１１ａ、読み出し専用メモリ（以下「ＲＯＭ」という）１１ｂおよび入／出力（以下「Ｉ／Ｏ」という）ポート１１ｃ等が接続され、さらに不揮発性メモリ１２が接続されている。
【００１８】
不揮発性メモリ１２は、ＭＰＵ１１によりアクセス制御され、後述のブロック管理テーブルや未使用ページ管理テーブル等の情報を格納するために、ワード単位での書換えの可能な不揮発性のメモリからなる。
【００１９】
また、フラッシュディスク装置１０には、ホストＩ／Ｆバス２を制御するホストＩ／Ｆコントローラ１３が設けられている。ホストＩ／Ｆコントローラ１３は、ホストＩ／Ｆのプロトコルを処理してホストマシン１との間でデータの授受を行うものであり、これには内部データバス１４を介してバッファメモリ１５が接続されている。
【００２０】
バッファメモリ１５は、ホストマシン１からのリード／ライトデータを一時的に保存し処理するメモリである。内部データバス１４には、フラッシュメモリコントローラ１６が接続され、このフラッシュメモリコントローラ１６に、フラッシュメモリバス１７を介して一つ又は複数のフラッシュメモリ２０が接続されている。
【００２１】
フラッシュメモリコントローラ１６は、ＭＰＵ１１からの命令に従ってフラッシュメモリ２０をアクセス制御するものであり、データ読出し部１６ａ、データ書込み部１６ｂ、及びブロック消去部１６ｃ等により構成されている。一つ又は複数のフラッシュメモリ２０は、ホストマシン１からのライトデータを不揮発に保存するメモリである。
【００２２】
フラッシュメモリ２０は、消去の単位である複数のブロックから構成され、図２では、Ｎ個目のブロックをブロック２１−Ｎ、Ｎ＋１個目のブロックをブロック２１−（Ｎ＋１）として示している。そして、各ブロック２１は、リード／ライトの単位である複数のページ２２−０、２２−１、・・・、２２−３１を有している。例えば、１ページが５１２Ｂｙｔｅの記憶容量で、１ブロックが１６ＫＢの場合であれば、１ブロックは３２個のページから構成される。
【００２３】
フラッシュメモリ２０では、書換えがブロック２１内の一部のページ２２であっても、１つのブロック２１全体を消去した後に書換えを行う。
【００２４】
図４は、本発明の実施例１のフラッシュメモリの構成を示し、図１のフラッシュディスク装置１０の論理構成図である。
【００２５】
ホストマシン１から指定される論理セクタアドレス２５として論理セクタ番号０、１、２、・・・、Ｊを、フラッシュメモリ２０上の物理アドレスであるページアドレスに変換するために、不揮発性メモリ１２内には、アドレステーブル３０が格納されている。そして、アドレステーブル３０内には、論理セクタを物理ページに変換するための複数のアドレス変換データ３１−０、３１−１、３１−２、・・・、３１−Ｋが格納されている。
【００２６】
更に、不揮発性メモリ１２内には、フラッシュメモリ２０内の未使用ページを管理する未使用ページ管理テーブル３２と、フラッシュメモリ２０内のブロック２１−０、２１−１、・・・、２１−Ｌの書き換え回数等を管理するブロック管理テーブル３３とが格納されている。フラッシュメモリ２０に格納される複数のブロック２１−０〜２１−Ｌは、それぞれ複数のページ２２−０、２２−１、・・・、２２−Ｍを有している。
【００２７】
実施例１のフラッシュディスク装置では、不揮発性メモリ１２内にアドレステーブル３０を用意し、ホストマシン１から見えるセクタアドレスである論理セクタ番号から、フラッシュメモリ２０上の物理的なページ番号への写像を保持する。フラッシュメモリ２０には、余分なページ２２−ｉを複数用意し、後述の未使用ページ管理テーブル３２に未使用ページ情報を登録して管理する。
【００２８】
この未使用ページ管理テーブル３２は、未使用ページの数とインデックスからなる二次元配列となっており、初期データとして０ｘＦＦＦＦＦＦＦＦが記録され、未使用ページの数ごとに該当するチップ番号とブロック番号がインデックス０から順に記録される。従って、該当するチップ番号とブロック番号がない配列は初期データである０ｘＦＦＦＦＦＦＦＦが記録されたままとなる。
【００２９】
また、一時記憶ページリスト３４は、図５を用いて後述するが、フラッシュメモリ内ではなく、ＭＰＵ１１のＲＡＭに記憶するもので、アドレステーブル３０を参照しながら未使用ページがあるチップ番号、ブロック番号を未使用ページの数ことに集計した結果を一時的に格納するものである。
【００３０】
（動作）
以上の構成により実施例１のフラッシュディスク装置は、以下のように動作する。なお、リード動作およびライト動作は、従来技術と同様であるので、簡略化のためにその説明を省略する。
【００３１】
ホストマシン１からのアクセスが一定時間無いときや、フラッシュメモリ内の空ブロックの数が一定量以下となったとき実行するガベージコレクションの動作を開始する。この動作を、図３の未使用ページ管理テーブルの構成図、図５の一時記憶ページリストの構成図および図６の動作フローチャート図を用いて以下詳細に説明する。
【００３２】
ガベージコレクション動作を開始すると、まず、各ページの状態を示す一時記憶ページリスト３４を作成し（ステップＳ１）、図５に示したように、アドレステーブル３０で使用されていないページ２２に該当する一時記憶ページリスト３４に未使用フラグを立てる（ステップＳ２）。
【００３３】
次に、一時記憶ページリスト３４を参照し全てのページが未使用のブロックを消去し（ステップＳ３）、該当ページのフラグをすべて消去済みとして、図３の未使用ページ管理テーブル３２の未使用ページの数３２個の行、すなわちブロック内全部が未使用のブロックであるとして、消去したチップ番号とブロック番号をインデックスがより小さい０ｘＦＦＦＦＦＦＦＦのインデックスに書き込む（ステップＳ４）。図３の状態の場合では、インデックス"３"に書き込むことになる。
【００３４】
このステップＳ４では、上記の全ページ未使用の場合のほか、一部のみ未使用ページのあるすべてのチップおよびブロックについて、一時記憶ページリスト３４を参照し、未使用ページの数ごとに図３の未使用ページ管理テーブル３２を作成する。この場合も、インデックスがより小さい０ｘＦＦＦＦＦＦＦＦのインデックスに書き込む。
【００３５】
例えば、図３の未使用ページが６個でインデックス２に記憶されたチップ番号Ｃ・ブロック番号ｋの例では、図５の一時記憶ページリストからチップ番号Ｃ・ブロック番号ｋの未使用のページの数をカウントし、未使用ページが６個であったことを示している。
【００３６】
そして、未使用ページ管理テーブル３２の未使用ページの個数が３２個、すなわち未使用ブロックである数が一定量以上であるかどうかの判定を行い（ステップＳ５）、未使用ブロックの総数が一定量以上ある場合は、ガベージコレクション動作は不要であるので、そのまま本処理を終了する。
【００３７】
一方、未使用ブロックが一定量以上ない場合は、ガベージコレクション動作が必要であるので、ブロック内すべて未使用の場合の未使用ページの数３２個以外で、未使用ページ管理テーブル３２より未使用ページの多いブロックを参照し（ステップＳ６）、未使用ページの多い、すなわち使用ページの少ないブロックの有効なデータをすべて読み出した後（ステップＳ７）、一時ページリスト３４の該当するチップ番号、ブロック番号の位置に未使用のフラグを立てる（ステップＳ８）。
【００３８】
例えば、図３の未使用ページ管理テーブル３２の例では、ブロック内すべて未使用の場合（すなわち、未使用ページの数が３２個）以外で、未使用ページの多いブロックを参照すると、未使用ページの数３１個の行には、未使用ページがあるブロックがなにも登録されていないので、３０個の行を参照し、順に参照する。
【００３９】
すると、未使用ページの数８個（すなわち、使用済みページの数は、３２個−８個＝２４個）のインデックス"０"にチップ番号Ａ、ブロック番号ａが登録されているので、図５の一時記憶ページリスト３４の当該ブロックを参照すると、ページ１等の２４ページが使用済みページであることが分かるので、これらのページのデータをすべて読み出し、一時ページリスト３４のチップ番号Ａ、ブロック番号ａのすべてのページに未使用のフラグを立てる。
【００４０】
次に、読み出した前記データを、未使用ページ管理テーブル３２を参照し未使用ページが多いブロックでインデックスの大きいブロックを優先的に選択し、読み出した前記データを当該ブロックに書き込む（ステップＳ９）。このときデータ容量が大きく１つのブロックに書き込めない場合は分割してそれぞれのブロックに書き込む。そして、ページのブロック間移動に伴いアドレステーブル３０の論理セクタ番号と物理ページの対応を更新する。
【００４１】
例えば、図３の例では、未使用ページの数８個、インデックス"０"に登録されたチップ番号Ａ、ブロック番号ａに記録されたデータを移動する場合、前述のように移動すべきデータは２４ページあるので、これを格納できるブロックを抽出する。本例の場合は、最大でも８ページ空いたブロックしか存在せず、２４ページ全部を書き込めるブロックがないため、インデックス３のチップ番号Ａ、ブロック番号ｄに８個、インデックス２のチップ番号Ａ、ブロック番号ｃに８個、インデックス１のチップ番号Ａ、ブロック番号ｂにそれぞれ８個を移し替え、ブロックの移動に伴いアドレステーブル３０の論理セクタ番号と物理ページの対応を更新する（ステップＳ１０）。
【００４２】
そして、前述ステップＳ３に戻り、ステップＳ６からステップＳ９によるデータ移動により生成した未使用ブロックにつき消去を行い、消去したチップ番号とブロック番号を図３の未使用ページ管理テーブル３２の未使用ページの数が３２個、すなわちブロック内全部が未使用のブロックとしてそのチップ番号とブロック番号をインデックスがより小さい０ｘＦＦＦＦＦＦＦＦのインデックスに書き込む。そして、一部未使用ページのあるブロックについても、一時記憶ページリスト３４を参照し未使用ページの数ごとに図３の未使用ページ管理テーブル３２を作成する。
【００４３】
例えば、図３の例の場合、前述のデータ移動によりインデックス０のチップ番号Ａ、ブロック番号ａのブロックが未使用となるので、未使用ページの数が３２個のインデックス３にチップ番号Ａ、ブロック番号ａが記録され、未使用ページの数が８個であったインデックス０の内容は０ｘＦＦＦＦＦＦＦＦとなる。
【００４４】
そして、未使用ページの数が８個であったインデックス１は、チップ番号Ａ、ブロック番号ｂの未使用であった８ページにも書き込まれるので、未使用ページがなくなり、インデックス１の内容は０ｘＦＦＦＦＦＦＦＦとなる。同様に、インデックス２およびインデックス３の内容も０ｘＦＦＦＦＦＦＦＦとなる。
【００４５】
そして、新たに生成した未使用ブロックの数を再度確認し、未使用ブロックが所定の数確保できた場合は、本処理を終了し、所定の数確保できないときは、ステップＳ６からＳ１０、Ｓ３からＳ５の動作を繰り返す。
【００４６】
（実施例１の効果）
以上のように、実施例１のフラッシュディスク装置によれば、未使用ページの数ごとに該当するブロックを管理できる未使用ページ管理テーブルを設け、当該未使用ページ管理テーブルにより未使用ページの数が多いブロックからガベージコレクション処理を行うようにしたので、未使用ページの数が多いブロックの抽出が容易となり、処理時間を短縮することができる。
【実施例２】
【００４７】
（構成）
実施例２のフラッシュディスク装置は、所定のブロック数、例えば２００ブロック（３．２ＭＢ）ごとにガベージコレクションを実施するようにし、図７に示したように、不揮発性メモリ１２に、ガベージコレクションを開始するチップ番号およびブロック番号を保存するガベージコレクション開始位置記憶部４０を設けている。
【００４８】
そして、所定のブロック数のガベージコレクションを終了したときに、開始するチップ番号およびブロック番号の位置を更新してガベージコレクション開始位置記憶部４０に保存し、次のガベージコレクションのときに、ガベージコレクション開始位置記憶部４０に保存したチップ番号Ｘ、ブロック番号Ｙからガベージコレクションを実施できる構成となっている。
【００４９】
その他の構成は、実施例１の構成と同様であるので、簡略化のためにその詳細な説明は省略する。
【００５０】
（動作）
以上の構成により、実施例のフラッシュディスク装置は、以下のように動作する。この動作を図８の動作フローチャート図を用いて説明する。なお、ステップＳ２１からＳ３０は実施例１のステップＳ１から１０と同様であるので、その説明を簡略化する。また、リード動作およびライト動作は、従来技術と同様であるので、簡略化のためにその説明を省略する。
【００５１】
ホストマシン１からのアクセスが一定時間無いときや、フラッシュメモリ内の空ブロックの数が一定量以下となったとき、ガベージコレクションの動作を開始する。
【００５２】
ガベージコレクション動作を開始すると、まず、ガベージコレクション開始位置記憶部４０のガベージコレクションを開始するチップ番号Ｘ、ブロック番号Ｙを参照し、最初からのガベージコレクションであるか、すなわち、Ｘ＝１、Ｙ＝１かどうかを判定し（ステップＳ２０）、最初からのガベージコレクションでないときは、ガベージコレクションを開始するチップ番号をＸ、ブロック番号Ｙと設定し（ステップＳ３３）、後述のステップＳ２５に進み、未使用ブロックの数に応じて、ガベージコレクション動作を実行する。
【００５３】
一方、ステップＳ２０にて、ガベージコレクション開始位置記憶部４０のガベージコレクションを開始するチップ番号Ｘ、ブロック番号Ｙが、それぞれＸ＝１、Ｙ＝１で、最初からのガベージコレクションであったときは、実施例１と同様、以下説明するステップＳ２１からＳ２４を実施する。
【００５４】
すなわち、所定のブロック数において、各ページの状態を示す図５の一時記憶ページリスト３４を作成し、アドレステーブル３０で使用されていないページ２２に該当する一時記憶ページリスト３４に未使用フラグを立て、全てのページが未使用のブロックを消去し、該当ページのフラグをすべて消去済みとして、消去したチップ番号とブロック番号を図３の未使用ページ管理テーブル３２の未使用ページの数３２個の行のインデックスがより小さい０ｘＦＦＦＦＦＦＦＦのインデックスに書き込む。そして、使用ページのあるブロックについても、一時記憶ページリスト３４を参照し未使用ページの数ごとに図３の未使用ページ管理テーブル３２を作成する。（ステップＳ２１〜Ｓ２４）
【００５５】
そして、未使用ページ管理テーブル３２の未使用ページの個数が３２個、すなわち未使用ブロックである数が一定量以上であるかどうかの判定を行い、未使用ブロックの総数が一定量以上ある場合は、ガベージコレクション動作は不要であるので、そのまま本処理を終了する（ステップＳ２５）。
【００５６】
一方、未使用ブロックが一定量以上ない場合は、ガベージコレクション動作が必要であるので、ブロック内すべて未使用の場合（すなわち未使用ページの数３２個）以外で、未使用ページの多いブロックを未使用ページ管理テーブル３２により抽出し、未使用ページの多いブロックの使用済みページのデータを読み出し、一時ページリスト３４の該当するチップ番号、ブロック番号に未使用のフラグを立てる（ステップＳ２６〜Ｓ２８）。
【００５７】
次に、読み出した前記データを、未使用ページ管理テーブル３２を参照し、未使用ページが多いブロックでインデックスの大きいブロックを優先的に選択し、読み出した前記データを選択したブロックに書き込み、ページのブロック間移動に伴いアドレステーブル３０の論理セクタ番号と物理ページの対応を更新する（ステップＳ２９、Ｓ３０）。
【００５８】
そして、所定のブロックについてすべて実施したかどうかを判定し（ステップＳ３１）、すべてのブロックのガベージコレクションが終了していないときは、前述ステップＳ２３に戻り、ステップＳ２３とステップＳ２４にて、データ移動により生成した未使用ブロックにつき消去を行い、消去したチップ番号とブロック番号を未使用ページ管理テーブル３２のインデックスがより小さい０ｘＦＦＦＦＦＦＦＦのインデックスに書き込む。そして、使用ページのあるブロックについても、一時記憶ページリスト３４を参照し未使用ページの数ごとに図３の未使用ページ管理テーブル３２を作成する。
【００５９】
そして、ステップＳ２５にて、新たに生成した未使用ブロックの数を再度確認し所定の数以上未使用ブロックが確保できたときは、そのまま本処理を終了する。
【００６０】
一方、ステップＳ２５にて、所定の数以上未使用ブロックを確保できていないと判定したときは、所定の数以上未使用ブロックを確保できるまで、ステップＳ２６からＳ３１、Ｓ２３からＳ２５の動作を繰り返す。
【００６１】
前述のステップＳ３１にて、所定のブロック数分の処理が終了したときは、次の所定のブロック数間のガベージコレクションを行うように、ガベージコレクションを開始するチップ番号Ｘ、ブロック番号Ｙを更新し、更新したチップ番号をＸに、ブロック番号をＹに保存する。
【００６２】
なお、上記更新によりブロック番号が、各チップの全ブロックの数Ｌ以上となった場合は、チップ番号Ｘを更新し、ブロック番号をＹ＝１に更新しガベージコレクション開始位置記憶部４０に保存する。
【００６３】
また、全チップ、全ブロックのガベージコレクションを終了したと判定した場合は、ガベージコレクションを開始するチップ番号、ブロック番号Ｙを初期化し、Ｘ＝１、Ｙ＝１として、ガベージコレクション開始位置記憶部４０に保存し本処理を終了する（ステップＳ３２）。
【００６４】
なお、以上の実施例の説明では、所定のブロック数ごとにガベージコレクションを実施するように説明したが、所定のブロック数を適宜変化させるようにしてもよい。
【００６５】
（実施例２の効果）
以上のように実施例２のフラッシュディスク装置によれば、所定のブロック数ごとにガベージコレクションを行うようにし、当該ガベージコレクション処理を終了したときに、チップ番号およびブロック番号を更新して記憶するガベージコレクション開始位置記憶手段を設け、ガベージコレクションを開始するときは、ガベージコレクション開始位置記憶手段に記憶された位置からガベージコレクションを実施するようにしたので、未使用ページ情報の検索や集計の時間をさらに短くすることができ、ガベージコレクションの処理時間をさらに短くすることができる。
【００６６】
《その他の変形例》
以上の実施例の説明では、図３のように未使用ページの数ごとに該当するチップ番号、ブロック番号を格納する管理テーブルとしたが、逆に使用ページの数ごとに該当するチップ番号、ブロック番号を格納する管理テーブルとしてもよい。
【００６７】
また、以上の実施例の説明では、一時記憶ページリスト３４をＲＡＭ１１ａに格納し、ガベージコレクション開始位置記憶部４０を不揮発性メモリ１２に格納するように説明したが、一時記憶ページリスト３４を不揮発性メモリ１２に格納したり、ガベージコレクション開始位置記憶部４０をフラッシュメモリ２０に格納したりしてもよい。
【産業上の利用可能性】
【００６８】
本発明は、フラッシュメモリを使用したフラッシュディスク装置に広く用いることができる。
【図面の簡単な説明】
【００６９】
【図１】実施例１のフラッシュディスクの構成を説明する図である。
【図２】実施例１のフラッシュメモリのメモリ構成を説明する図である。
【図３】実施例１のフラッシュメモリの未使用ページ管理テーブルの構成を説明する図である。
【図４】実施例１のフラッシュメモリのメモリ構成を説明する図である。
【図５】実施例１の一時記憶ページリストの構成図である。
【図６】実施例１のフラッシュディスク装置の動作フローチャート図である。
【図７】実施例２のフラッシュメモリのメモリ構成を説明する図である。
【図８】実施例２のフラッシュディスク装置の動作フローチャート図である。
【図９】従来のフラッシュメモリの未使用ページリストの構成を説明する図である。
【符号の説明】
【００７０】
１０  フラッシュディスク装置
１１  ＭＰＵ
１６  フラッシュメモリコントローラ
２０  フラッシュメモリ
２１  ブロック
２２  ページ
３０  アドレステーブル
３２  未使用ページ管理テーブル
３３  ブロック管理テーブル
３４  一時記憶ページリスト
４０  ガベージコレクション開始位置記憶部
【図１】
0004888333.tif 000002
【図２】
0004888333.tif 000003
【図３】
0004888333.tif 000004
【図４】
0004888333.tif 000005
【図５】
0004888333.tif 000006
【図６】
0004888333.tif 000007
【図７】
0004888333.tif 000008
【図８】
0004888333.tif 000009
【図９】
0004888333.tif 000010