(57)【要約】【課題】フラッシュメモリ上の記憶領域を有効活用することができるコントローラ、及びメモリシステムを提供する。【解決手段】フラッシュメモリ１１の論理番地と物理番地を対応付けた変換テーブルを記憶する変換テーブル記憶部３２と、ブロックに含まれる各ページに記憶されているデータの状態を示すＦＡＴ情報と、ＦＡＴ情報がどのブロックのページのデータの状態を示すかを識別するＦＡＴ情報識別子を対応付けて記憶するＦＡＴ情報記憶部３４と、ブロック識別子と、ブロックが使用されているか否かを示す使用状態判別情報と、使用状態判別情報が使用を示す全てのブロックに対応付けられるＦＡＴ情報識別子を対応付けたブロック管理テーブルを記憶するブロック管理テーブル記憶部３６と、変換テーブル、ＦＡＴ情報、及びブロック管理テーブルを用いて、フラッシュメモリに記憶されているデータを管理するコントローラ制御部２８を備える。【選択図】図１
2010218290.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリ上の領域の仮想的な位置を示す論理番地と、前記フラッシュメモリ上の前記領域の物理的な位置をページ単位で示す物理番地とを対応付けた変換テーブルを記憶する変換テーブル記憶部と、
複数ページ分の領域であるブロックに含まれる各ページに記憶されているデータの状態を示すＦＡＴ（File Allocation Table）情報と、前記ＦＡＴ情報がどのブロックに属するページに記憶されているデータの状態を示す情報であるかを識別するＦＡＴ情報識別子とを対応付けて記憶するＦＡＴ情報記憶部と、
前記ブロックを識別するブロック識別子と、前記ブロックが使用されているか否かを示す使用状態判別情報と、前記使用状態判別情報が使用を示す全ての前記ブロックに対応付けられる前記ＦＡＴ情報識別子とを対応付けたブロック管理テーブルを記憶するブロック管理テーブル記憶部と、
前記変換テーブル、前記ＦＡＴ情報、及び前記ブロック管理テーブルを用いて、前記フラッシュメモリに記憶されているデータを管理するコントローラ制御部と、を備えることを特徴とするコントローラ。
【請求項２】
前記ＦＡＴ情報は、ページに記憶されているデータが有効なデータであるか、無効なデータであるか、又は削除されたデータであるかの少なくともいずれかを示し、
前記コントローラ制御部は、前記ブロックに含まれる全てのページの前記ＦＡＴ情報が削除又は無効を示す場合に、前記ブロック管理テーブルにおいて、当該ブロックの前記使用状態判別情報を未使用に更新するとともに、当該ブロックの前記ＦＡＴ情報識別子を削除することを特徴とする請求項１に記載のコントローラ。
【請求項３】
前記コントローラ制御部は、データの削除を指示する削除命令をホスト装置から受け付けた場合に、当該削除命令で指示された前記論理番地に対応付けられた前記物理番地が示すページの前記ＦＡＴ情報を削除に更新することを特徴とする請求項２に記載のコントローラ。
【請求項４】
前記コントローラ制御部は、更に、前記ＦＡＴ情報を削除に更新したページを示す前記物理番地、及び当該物理番地に対応付けられている前記論理番地を、前記変換テーブルから削除することを特徴とする請求項３に記載のコントローラ。
【請求項５】
前記コントローラ制御部は、前記ブロックに含まれる全てのページの前記ＦＡＴ情報が削除又は無効を示す場合に、更に、当該ブロックに含まれる各ページを示す前記物理番地、及び当該物理番地に対応付けられている前記論理番地を、前記変換テーブルから削除することを特徴とする請求項２に記載のコントローラ。
【請求項６】
前記コントローラ制御部は、データの読み出しを指示する読出命令をホスト装置から受け付け、当該読出命令で指示された前記論理番地に対応付けられた前記物理番地が前記変換テーブルに存在しない場合、又は当該物理番地が示すページの前記ＦＡＴ情報が削除又は無効を示す場合に、ヌルデータ、予め定められた前記物理番地が示すページに記憶されているデータ、又は予め定められた値の少なくともいずれかを前記ホスト装置に返却することを特徴とする請求項１〜５のいずれか１つに記載のコントローラ。
【請求項７】
前記コントローラ制御部は、データの読み出しを指示する読出命令をホスト装置から受け付け、当該読出命令で指示された前記論理番地に対応付けられた前記物理番地が前記変換テーブルに存在しない場合、又は当該物理番地が示すページの前記ＦＡＴ情報が削除又は無効を示す場合に、乱数を生成して前記ホスト装置に返却することを特徴とする請求項１〜５のいずれか１つに記載のコントローラ。
【請求項８】
前記コントローラ制御部は、データの読み出しを指示する読出命令をホスト装置から受け付け、当該読出命令で指示された前記論理番地に対応付けられた前記物理番地が示すページの前記ＦＡＴ情報が削除を示す場合に、当該ページに記憶されているデータを前記ホスト装置に返却することを特徴とする請求項２〜５のいずれか１つに記載のコントローラ。
【請求項９】
前記コントローラ制御部は、データの書き込みを指示する書込命令をホスト装置から受け付けた場合には、前記ブロック管理テーブルを参照して、前記使用状態判別情報が未使用を示す前記ブロックに含まれるページに、当該書込命令で書き込みを指示されたデータを書き込み、当該ブロックに未使用の前記ＦＡＴ情報識別子を対応付け、当該ページの前記ＦＡＴ情報を有効に設定するとともに、当該使用状態判別情報を使用に設定することを特徴とする請求項２〜８のいずれか１つに記載のコントローラ。
【請求項１０】
請求項１〜９のいずれか１つに記載のコントローラと、
前記コントローラにより、記憶されているデータが管理されるフラッシュメモリと、を備えることを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラ、及びメモリシステムに関する。
【背景技術】
【０００２】
従来から、ＳＳＤ（Solid State Disk）などのように、多数のフラッシュメモリ、及びこれらのフラッシュメモリに記憶されているデータを管理するメモリコントローラなどを搭載したメモリシステムが知られている。
【０００３】
このようなメモリシステムでは、メモリコントローラが、フラッシュメモリの論理番地と物理番地とを対応付けた変換テーブルを参照して、ＰＣ（Personal Computer）などのホスト装置から通知される論理番地に対応する物理番地を検索する。そしてメモリコントローラは、ホスト装置から論理番地とともに通知される命令の内容に応じて、検索した物理番地が示すフラッシュメモリ上の領域に対するデータの書き込み、読み出し、又は削除などを行う。
【０００４】
なお、フラッシュメモリに対するデータの処理単位には、通常、物理番地が示す領域そのものであって最小の処理単位となるページと、複数のページを処理単位とするブロックとが存在する。
【０００５】
ところで、フラッシュメモリは、ＨＤＤ（Hard Disk Drive）などと異なり、既にデータが書き込まれている領域には当該データを消去した後でないと新たなデータを書き込めない、データの消去はブロック単位でしか行えない、及びデータの消去を繰り返すと物理的な劣化が進むなどの特性を有する。
【０００６】
このため、上述したようなメモリシステムでは、メモリコントローラが、ページに記憶されているデータの有効、無効、又は削除などの情報（以下、ＦＡＴ（File Allocation Table）情報と称する）を管理する（例えば、特許文献１参照）。そしてメモリコントローラは、このＦＡＴ情報の書き換え等によりデータの削除や上書きを実現し、ホスト装置から削除命令や上書命令が通知される毎にフラッシュメモリからブロック単位でデータを実際に消去することを回避している。
【０００７】
例えば、データの上書きを行う場合には、メモリコントローラが、上書きされるデータが記憶されているページとは異なるページに上書き用のデータを書き込み、上書きされるデータが記憶されているページのＦＡＴ情報を無効に更新し、論理番地と物理番地の対応関係を更新する。
【０００８】
ここで、図２９及び図３０を参照しながら、特許文献１に記載されたような従来のメモリシステムによるデータの上書き処理前後での、ブロックとＦＡＴ情報との対応関係を説明する。
【０００９】
図２９は、特許文献１に記載されたような従来のメモリシステムによるデータの上書き処理前のブロック及びＦＡＴ情報の状態を説明するための模式図である。図２９に示す例は、ブロックＸの全てのページにデータが記憶されている状態を示しており、各ページのＦＡＴ情報は、有効を示す“Ｖ”となっている。
【００１０】
図３０は、特許文献１に記載されたような従来のメモリシステムによるデータの上書き処理後のブロック及びＦＡＴ情報の状態を説明するための模式図である。図３０に示す例は、ブロックＸのページ９０１に記憶されているデータを上書きするための上書き用のデータが、ブロックＹのページ９０２に書き込まれている状態を示しており、ページ９０１のＦＡＴ情報は、無効を示す“ＩＶ”に更新されている。
【００１１】
そして、図３０に示す状態では、変換テーブルの論理番地と物理番地の対応関係は更新されており、ページ９０１を示す物理番地Ｘ７に対応付けられていた論理番地は、ページ９０２を示す物理番地Ｙ１に対応付けられている（図示省略）。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−２１６０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したような従来のメモリシステムでは、上書きなどにより書き込まれるデータを記憶するブロック（図３０に示す例ではブロックＹ、特許文献１に示す例ではログブロック）の各ページについてはＦＡＴ情報が管理されていない。
【００１４】
このため、ＦＡＴ情報が管理されていないブロックでは、ブロックに含まれる各ページに記憶されているデータの状態を管理することができず、フラッシュメモリの記憶領域を有効活用できていない場合がある。
【００１５】
例えば、図３０に示す状態において、ページ９０２に対する削除命令がきた場合であっても、ＦＡＴ情報がないため、ページ９０２に記憶されているデータは削除されたデータだということを覚えておくことができない。
【００１６】
このため、ブロックの各ページに記憶されているデータを全て削除するような命令をホスト装置から受け付けた場合にしか、データを実際に削除することができない。つまり、いずれのページにも有効なデータが記憶されていないブロックであっても、即座にデータを消去して新たなデータを書き込める状態に戻すことができず、書き込み可能なブロックの不必要な減少を招き、フラッシュメモリがフラグメンテーションを起こしてしまうおそれがある。
【００１７】
本発明は、上記事情に鑑みてなされたものであり、フラッシュメモリ上の記憶領域を有効活用することができるコントローラ、及びメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかるコントローラは、フラッシュメモリ上の領域の仮想的な位置を示す論理番地と、前記フラッシュメモリ上の前記領域の物理的な位置をページ単位で示す物理番地とを対応付けた変換テーブルを記憶する変換テーブル記憶部と、複数ページ分の領域であるブロックに含まれる各ページに記憶されているデータの状態を示すＦＡＴ（File Allocation Table）情報と、前記ＦＡＴ情報がどのブロックに属するページに記憶されているデータの状態を示す情報であるかを識別するＦＡＴ情報識別子とを対応付けて記憶するＦＡＴ情報記憶部と、前記ブロックを識別するブロック識別子と、前記ブロックが使用されているか否かを示す使用状態判別情報と、前記使用状態判別情報が使用を示す全ての前記ブロックに対応付けられる前記ＦＡＴ情報識別子とを対応付けたブロック管理テーブルを記憶するブロック管理テーブル記憶部と、前記変換テーブル、前記ＦＡＴ情報、及び前記ブロック管理テーブルを用いて、前記フラッシュメモリに記憶されているデータを管理するコントローラ制御部と、を備えることを特徴とする。
【００１９】
また、本発明の別の態様にかかるメモリシステムは、上記コントローラと、前記コントローラにより、記憶されているデータが管理されるフラッシュメモリと、を備えることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、フラッシュメモリ上の記憶領域を有効活用することができるという効果を奏する。
【図面の簡単な説明】
【００２１】
【図１】図１は、第１実施形態のメモリシステムの構成のブロック図である。
【図２】図２は、変換テーブルの一例を示す図である。
【図３】図３は、ＦＡＴ情報の一例を示す図である。
【図４】図４は、ブロック管理テーブルの一例を示す図である。
【図５】図５は、第１実施形態のメモリシステムの削除動作のフローチャート例である。
【図６】図６は、削除命令の内容の一例を示す図である。
【図７】図７は、第１実施形態の削除処理のフローチャート例である。
【図８】図８は、各ページに記憶されたデータの状態例の図である。
【図９】図９は、削除処理終了後のブロックのデータ例の図である。
【図１０】図１０は、削除処理終了後の変換テーブル例の図である。
【図１１】図１１は、削除処理終了後のブロック管理テーブル例の図である。
【図１２】図１２は、削除処理終了後のブロックのデータ例の図である。
【図１３】図１３は、削除処理終了後の変換テーブル例の図である。
【図１４】図１４は、第１実施形態のメモリシステムの読出動作のフローチャート例である。
【図１５】図１５は、第１実施形態の読出処理のフローチャート例である。
【図１６】図１６は、第１実施形態のメモリシステムの書込動作のフローチャート例である。
【図１７】図１７は、第１実施形態の書込処理のフローチャート例である。
【図１８】図１８は、第１実施形態のブロック書込処理のフローチャート例である。
【図１９】図１９は、第１実施形態のページ書込処理のフローチャート例である。
【図２０】図２０は、書込処理終了後のブロック管理テーブル例の図である。
【図２１】図２１は、書込処理後のブロックのデータ例の図である。
【図２２】図２２は、書込処理終了後の変換テーブル例の図である。
【図２３】図２３は、書込処理終了後のブロック管理テーブル例の図である。
【図２４】図２４は、書込処理後のブロックのデータ例の図である。
【図２５】図２５は、書込処理終了後の変換テーブル例の図である。
【図２６】図２６は、第２実施形態のメモリシステムの構成のブロック図である。
【図２７】図２７は、第２実施形態の削除処理のフローチャート例である。
【図２８】図２８は、削除処理終了後の変換テーブル例の図である。
【図２９】図２９は、従来のメモリシステムによるデータ管理手法例の図である。
【図３０】図３０は、従来のメモリシステムによるデータ管理手法例の図である。
【発明を実施するための形態】
【００２２】
以下、添付図面を参照しながら、本発明にかかるコントローラ、及びメモリシステムの最良な実施の形態を詳細に説明する。なお、以下の実施の形態では、メモリシステムとしてＳＳＤ（Solid State Disk）を例にとり説明するが、これに限定されるものではない。
【００２３】
（第１の実施の形態）
まず、第１の実施の形態のメモリシステムの構成について説明する。
【００２４】
図１は、第１の実施の形態のメモリシステム１の構成の一例を示すブロック図である。
【００２５】
メモリシステム１は、ＰＣ（Personal Computer）などのホスト装置２と外部バス３を介して接続されている。またメモリシステム１は、コントローラ１０と複数のフラッシュメモリ１１とを備えており、コントローラ１０と複数のフラッシュメモリ１１とは、専用バス１２を介して接続されている。また、ホスト装置２と複数のフラッシュメモリ１１とは、外部バス３、コントローラ１０内部のデータバス１５、及び専用バス１２を介して接続されている。
【００２６】
コントローラ１０は、ホスト装置２からの各種命令（コマンド）を受け付けて、フラッシュメモリ１１に対する各種処理を行うものである。そしてコントローラ１０は、命令制御部２２と、フラッシュメモリ制御部２４と、データ転送制御部２６と、コントローラ制御部２８と、データ転送メモリ３０と、変換テーブル記憶部３２と、ＦＡＴ情報記憶部３４と、ブロック管理テーブル記憶部３６と、ワークメモリ３８とを備える。
【００２７】
命令制御部２２は、ホスト装置２と外部バス３を介して接続されており、ホスト装置２から送られてくる読出命令、書込命令、又は削除命令などの各種命令を受け付けるとともに、その応答をホスト装置２に返却する。
【００２８】
フラッシュメモリ制御部２４は、複数のフラッシュメモリ１１と専用バス１２を介して接続されており、命令制御部２２により受け付けられた命令に応じてデータの削除、読み出し、書き込みなどをフラッシュメモリ１１に対して行う。
【００２９】
データ転送制御部２６は、データバス１５に接続されており、ホスト装置２及びフラッシュメモリ１１間でのデータ転送を行う。具体的には、データ転送制御部２６は、命令制御部２２又はフラッシュメモリ制御部２４からの指示を受け、データバス１５に接続されたデータ転送メモリ３０に蓄えられているデータを、ホスト装置２又はフラッシュメモリ１１に転送する。なお、データ転送制御部２６は、例えば、ＤＭＡＣ（Direct Memory Access Controller）などにより実現できる。
【００３０】
データ転送メモリ３０は、データ転送制御部２６によるデータ転送が行われるまで、転送用のデータを一時的に蓄えておくものである。具体的には、データ転送メモリ３０は、ホスト装置２から書き込まれるデータやフラッシュメモリ１１から読み出されるデータを一時的に蓄える。なお、データ転送メモリ３０は、例えば、揮発性のＲＡＭ（Random Access Memory）などにより実現できる。
【００３１】
なお、第１の実施の形態では、データ転送メモリ３０が、命令制御部２２用のデータ及びフラッシュメモリ制御部２４用のデータの両データを蓄えているが、命令制御部２２用のデータを蓄えるデータ転送用メモリと、フラッシュメモリ制御部２４用のデータを蓄えるデータ転送用メモリとを別々に備えるようにしてもよい。
【００３２】
変換テーブル記憶部３２は、フラッシュメモリ１１上の領域の仮想的な位置を示す論理番地と、フラッシュメモリ１１上の領域の物理的な位置をページ単位で示す物理番地とを対応付けた変換テーブルを記憶する。
【００３３】
図２は、変換テーブルの一例を示す図である。図２に示す例では、例えば論地番地Ｌ０と物理番地Ｂ０とが対応付けられているが、その対応関係は固定されておらず、フラッシュメモリ１１に対するデータの削除処理や書込処理が行われると、後述のコントローラ制御部２８により対応関係が更新される。
【００３４】
ＦＡＴ情報記憶部３４は、複数ページ分の領域であるブロックに含まれる各ページに記憶されているデータの状態を示すＦＡＴ（File Allocation Table）情報と、ＦＡＴ情報がどのブロックに属するページに記憶されているデータの状態を示す情報であるかを識別するＦＡＴ情報識別子とを対応付けて記憶する。
【００３５】
図３は、ＦＡＴ情報記憶部３４に記憶されているＦＡＴ情報の一例を示す図である。図３に示す例では、１ブロックは１０ページ分の領域となっており、各ページのＦＡＴ情報がブロック単位で管理され、ＦＡＴ情報識別子に対応付けられている。なお、ＦＡＴ情報は、“Ｎ／Ａ”が未書き込みを示し、“ＩＶ”が無効を示し、“Ｖ”が有効を示す。また、図３に示す例では、いずれのＦＡＴ情報も削除に設定されていないが、“Ｄ”が削除を示す。
【００３６】
ブロック管理テーブル記憶部３６は、ブロックを識別するブロック識別子と、ブロックが使用されているか否かを示す使用状態判別情報と、使用状態判別情報が“使用”を示す全てのブロックに対応付けられるＦＡＴ情報識別子とを対応付けたブロック管理テーブルを記憶する。
【００３７】
図４は、ブロック管理テーブルの一例を示す図である。図４に示す例では、ブロック識別子Ａ、Ｂのブロックは、いずれも使用状態判別情報が“使用”に設定されており、ＦＡＴ情報識別子が対応付けられている。このため、ＦＡＴ情報記憶部３４から、ＦＡＴ情報識別子に対応付けられたＦＡＴ情報を参照することが可能となり、ブロックに含まれる各ページのデータの状態を判別できる。
【００３８】
コントローラ制御部２８は、命令制御部２２、フラッシュメモリ制御部２４、及びデータ転送制御部２６の動作を制御するものであり、これらの制御部の動作を制御することにより、ホスト装置２及びフラッシュメモリ１１間でのデータ転送を制御する。
【００３９】
また、コントローラ制御部２８は、変換テーブル、ＦＡＴ情報、及びブロック管理テーブルを用いて、複数のフラッシュメモリ１１に記憶されているデータを管理する。具体的には、ホスト装置２から送られてくる命令の内容に応じて、変換テーブル、ＦＡＴ情報、及びブロック管理テーブルを更新して、複数のフラッシュメモリ１１に記憶されているデータを管理する。
【００４０】
なお、変換テーブル記憶部３２、ＦＡＴ情報記憶部３４、及びブロック管理テーブル記憶部３６は、例えば、メモリなどにより実現できる。
【００４１】
ワークメモリ３８は、コントローラ制御部２８が行う各種処理の作業領域に用いられ、変換テーブル、ＦＡＴ情報、及びブロック管理テーブルなどが展開される。なお、ワークメモリ３８は、例えば、揮発性のＲＡＭ（Random Access Memory）などにより実現できる。また、ワークメモリ３８は、変換テーブル記憶部３２、ＦＡＴ情報記憶部３４、及びブロック管理テーブル記憶部３６の少なくともいずれかを兼ねるようにしてもよい。
【００４２】
次に、第１の実施の形態のメモリシステムで行われる削除動作について説明する。
【００４３】
図５は、第１の実施の形態のメモリシステム１で行われる削除動作の手順の流れの一例を示すフローチャートである。
【００４４】
まず、命令制御部２２は、ホスト装置２から送られてくる削除命令を受け付ける（ステップＳ１００）。なお、削除命令には、命令の種別が削除であることに加え、フラッシュメモリ１１上の削除する領域の先頭を示す論理番地や、削除するサイズなどが含まれる。図６は、削除命令の内容の一例を示す図である。図６に示す例では、命令の内容が削除であり、先頭論理番地がＬ０であり、削除するサイズが２５６ＫＢとなっている。
【００４５】
続いて、命令制御部２２は、受け付けた削除命令をコントローラ制御部２８へ通知する（ステップＳ１０２）。なお、命令制御部２２は、例えば、先頭論理番地が存在するか否か、サイズが適正であるか否かなどの削除命令の検査をした後に、受け付けた削除命令をコントローラ制御部２８へ通知する。また、削除命令の検査をコントローラ制御部２８が行う場合には、命令制御部２２は、受け付けた削除命令をそのままコントローラ制御部２８へ送る。
【００４６】
続いて、コントローラ制御部２８は、削除命令で通知されたサイズから、削除範囲がフラッシュメモリの複数ページ（複数の物理番地）にまたがっているか否かを確認する（ステップＳ１０４）。
【００４７】
そして、削除範囲が複数ページにまたがる場合には（ステップＳ１０４でＹｅｓ）、コントローラ制御部２８は、通知された削除命令をページ単位の削除命令に分割し、削除範囲をページ単位に分割する（ステップＳ１０６）。なお、削除範囲が複数ページにまたがらない場合には（ステップＳ１０４でＮｏ）、コントローラ制御部２８は、ステップＳ１０６の処理を行わない。
【００４８】
続いて、コントローラ制御部２８は、削除命令に従って削除処理を行う（ステップＳ１０８）。なお、削除命令が分割されている場合には、コントローラ制御部２８は、削除命令数分の削除処理を行う。つまり、コントローラ制御部２８は、削除範囲内の各ページに対して削除処理を行う。削除処理の詳細については後述する。
【００４９】
続いて、コントローラ制御部２８は、削除処理が全て終了すると、削除処理の終了を命令制御部２２へ通知する（ステップＳ１１０）。
【００５０】
続いて、命令制御部２２は、受け付けた削除命令に基づく削除処理が終了したことをホスト装置２へ通知する（ステップＳ１１２）。
【００５１】
この通知により、メモリシステム１で行われる削除動作が完了し、ホスト装置２は、次の命令をメモリシステム１に送ることが可能となる。
【００５２】
図７は、図５のステップＳ１０８に示す削除処理の手順の流れの一例を示すフローチャートである。
【００５３】
まず、コントローラ制御部２８は、変換テーブルを参照して、処理対象となる論理番地に対応付けられた物理番地が存在するか確認する（ステップＳ１２０）。なお、処理対象となる論理番地に対応付けられた物理番地が存在しない場合には（ステップＳ１２０でＮｏ）、処理を終了する。
【００５４】
続いて、処理対象となる論理番地に対応付けられた物理番地が存在する場合には（ステップＳ１２０でＹｅｓ）、コントローラ制御部２８は、ブロック管理テーブルを参照して、当該物理番地が示すページのＦＡＴ情報をＦＡＴ情報記憶部３４から検索し、検索したＦＡＴ情報を、削除を示す“Ｄ”に更新する（ステップＳ１２２）。
【００５５】
続いて、コントローラ制御部２８は、処理対象となる論理番地と物理番地との対応関係が記載されているエントリを、変換テーブルから削除する（ステップＳ１２４）。
【００５６】
続いて、コントローラ制御部２８は、ＦＡＴ情報を“Ｄ”に更新したページを含むブロックの全ページのＦＡＴ情報を走査し、全ページのＦＡＴ情報が削除を示す“Ｄ”又は無効を示す“ＩＶ”であるか否かを確認する（ステップＳ１２６）。なお、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”でない場合には（ステップＳ１２６でＮｏ）、処理を終了する。
【００５７】
一方、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”である場合には（ステップＳ１２６でＹｅｓ）、コントローラ制御部２８は、ブロック管理テーブルから当該ブロックのブロック識別子に対応付けられたＦＡＴ情報識別子を削除する（ステップＳ１２８）。
【００５８】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、当該ブロックのブロック識別子に対応付けられた使用状態判別情報を“未使用”に更新することにより、当該ブロックを未使用状態にする（ステップＳ１３０）。
【００５９】
次に、第１の実施の形態のメモリシステムで行われる削除動作の具体例について説明する。
【００６０】
図８は、ブロックに含まれる各ページに記憶されたデータの状態を示す模式図の一例である。図８に示す例では、ブロックＡ及びＢが示されるとともに、それぞれのブロックに含まれる各ページを示す物理番地と、各ページのＦＡＴ情報とが示されている。なお、図８に示す状態での変換テーブル、ＦＡＴ情報、ブロック管理テーブルは、それぞれ図２、図３、図４に示すものとなる。
【００６１】
以下では、図８に示す状態において、ホスト装置２から論理番地Ｌ０〜Ｌ７に対する削除命令を受け付けた場合のメモリシステム１の動作について、図５及び図７のフローチャートを参照しながら説明する。
【００６２】
まず、命令制御部２２は、ホスト装置２から送られてくる削除命令を受け付け、コントローラ制御部２８へ通知する（図５のステップＳ１００、Ｓ１０２）。
【００６３】
続いて、コントローラ制御部２８は、削除範囲が論理番地Ｌ０〜Ｌ７であるため、削除範囲がフラッシュメモリの８ページ（複数の物理番地）にまたがっていることを確認し、削除命令を８ページ分の削除命令（論理番地Ｌ０〜Ｌ７それぞれに対する削除命令）に分割する（図５のステップＳ１０４、Ｓ１０６）。
【００６４】
このため、コントローラ制御部２８は、８ページ分の削除処理を行う（図５のステップＳ１０８）。
【００６５】
続いて、コントローラ制御部２８は、まず、図２に示す変換テーブルを参照して、処理対象となる論理番地Ｌ０に対応付けられた物理番地Ｂ０の存在を確認する（図７のステップＳ１２０）。
【００６６】
続いて、コントローラ制御部２８は、図４に示すブロック管理テーブルを参照して、物理番地Ｂ０が示すページを含むブロックＢのブロック識別子Ｂに対応付けられたＦＡＴ情報識別子２１を検索する。そして、コントローラ制御部２８は、このＦＡＴ情報識別子２１に対応付けられた各ページのＦＡＴ情報の中から、物理番地Ｂ０が示すページのＦＡＴ情報を更に検索し、このＦＡＴ情報を“Ｄ”に更新する（図７のステップＳ１２２）。
【００６７】
続いて、コントローラ制御部２８は、図２に示す変換テーブルから、物理番地Ｂ０と論理番地Ｌ０との対応関係が記載されているエントリを削除する（図７のステップＳ１２４）。
【００６８】
続いて、コントローラ制御部２８は、ブロックＢの全ページのＦＡＴ情報（ＦＡＴ情報識別子２１に対応付けられた全てのＦＡＴ情報）を走査するが、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”でないので、論理番地Ｌ０の処理はここで終了となる（図７のステップＳ１２６）。
【００６９】
但し、コントローラ制御部２８は、論理番地Ｌ１〜Ｌ７については未処理であり、削除範囲を全て処理していないため、この削除処理（図７のステップＳ１２０〜Ｓ１２６）を論理番地Ｌ１〜Ｌ７まで繰り返す。なお、論理番地Ｌ１〜Ｌ７に対する削除処理については説明を省略する。
【００７０】
続いて、コントローラ制御部２８は、全ての削除処理が終了すると、削除処理の終了を命令制御部２２へ通知し、命令制御部２２は、受け付けた削除命令に基づく削除処理が終了したことをホスト装置２へ通知する（図５のステップＳ１１０、Ｓ１１２）。
【００７１】
図９は、論理番地Ｌ０〜Ｌ７に対する削除処理終了後のブロックに含まれる各ページに記憶されたデータの状態を示す模式図であり、図１０は、論理番地Ｌ０〜Ｌ７に対する削除処理終了後の変換テーブルの状態を示す図である。
【００７２】
図９に示すように、論理番地Ｌ０〜Ｌ７に対する削除処理終了後のブロックでは、論理番地Ｌ０〜Ｌ７にそれぞれ対応付けられていた物理番地Ｂ０、Ｂ１、Ｂ２、Ａ３、Ａ４、Ｂ３、Ｂ５、Ｂ４が示すページのＦＡＴ情報がいずれも“Ｄ”となっている。また、図１０に示すように、論理番地Ｌ０〜Ｌ７に対する削除処理終了後の変換テーブルでは、論理番地Ｌ０〜Ｌ７それぞれと物理番地Ｂ０、Ｂ１、Ｂ２、Ａ３、Ａ４、Ｂ３、Ｂ５、Ｂ４との対応関係が記載されていたエントリが全て削除されている。
【００７３】
次に、図９に示す状態において、ホスト装置２から論理番地Ｌ８に対する削除命令を更に受け付けた場合のメモリシステム１の削除動作について、図５及び図７のフローチャートを参照しながら説明する。
【００７４】
まず、命令制御部２２は、ホスト装置２から送られてくる削除命令を受け付け、コントローラ制御部２８へ通知する（図５のステップＳ１００、Ｓ１０２）。
【００７５】
続いて、コントローラ制御部２８は、削除範囲が論理番地Ｌ８のみであるため、削除範囲がフラッシュメモリの複数ページ（複数の物理番地）にまたがっていないことを確認し、削除命令を分割しない（図５のステップＳ１０４）。
【００７６】
このため、コントローラ制御部２８は、１ページ分の削除処理を行う（図５のステップＳ１０８）。
【００７７】
続いて、コントローラ制御部２８は、まず、図１０に示す変換テーブルを参照して、処理対象となる論理番地Ｌ８に対応付けられた物理番地Ｂ６の存在を確認する（図７のステップＳ１２０）。
【００７８】
続いて、コントローラ制御部２８は、図４に示すブロック管理テーブルを参照して、物理番地Ｂ６が示すページを含むブロックＢのブロック識別子Ｂに対応付けられたＦＡＴ情報識別子２１を検索する。そして、コントローラ制御部２８は、このＦＡＴ情報識別子２１に対応付けられた各ページのＦＡＴ情報の中から、物理番地Ｂ６が示すページのＦＡＴ情報を更に検索し、このＦＡＴ情報を“Ｄ”に更新する（図７のステップＳ１２２）。
【００７９】
続いて、コントローラ制御部２８は、図１０に示す変換テーブルから、物理番地Ｂ６と論理番地Ｌ８との対応関係が記載されているエントリを削除する（図７のステップＳ１２４）。
【００８０】
続いて、コントローラ制御部２８は、ブロックＢの全ページのＦＡＴ情報（ＦＡＴ情報識別子２１に対応付けられた全てのＦＡＴ情報）を走査して、全ページのＦＡＴ情報が削除を示す“Ｄ”又は無効を示す“ＩＶ”であることを確認する（図７のステップＳ１２６）。
【００８１】
続いて、コントローラ制御部２８は、全ページのＦＡＴ情報が“Ｄ”又は“Ｎ／Ａ”であるため、図４に示すブロック管理テーブルからブロックＢのブロック識別子Ｂに対応付けられたＦＡＴ情報識別子２１を削除するとともに、ブロック識別子Ｂに対応付けられた使用状態判別情報を“未使用”に更新する（図７のステップＳ１２８、Ｓ１３０）。そして、コントローラ制御部２８は、削除範囲を全て処理したため削除処理を終了する。
【００８２】
続いて、コントローラ制御部２８は、削除処理が終了すると、削除処理の終了を命令制御部２２へ通知し、命令制御部２２は、受け付けた削除命令に基づく削除処理が終了したことをホスト装置２へ通知する（図５のステップＳ１１０、Ｓ１１２）。
【００８３】
図１１は、論理番地Ｌ８に対する削除処理終了後のブロック管理テーブルの状態を示す図であり、図１２は、論理番地Ｌ８に対する削除処理終了後のブロックに含まれる各ページに記憶されたデータの状態を示す模式図であり、図１３は、論理番地Ｌ８に対する削除処理終了後の変換テーブルの状態を示す図である。
【００８４】
図１１に示すように、論理番地Ｌ８に対する削除処理終了後のブロック管理テーブルでは、ブロックＢの使用状態判別情報が“未使用”となっており、ＦＡＴ情報識別子２１も削除されている。このため図１２に示すように、ブロックＢに含まれる各ページとＦＡＴ情報識別子２１の各ＦＡＴ情報との対応付けが解消されており、ブロックＢ、及びＦＡＴ情報識別子２１の各ＦＡＴ情報の再利用が可能になっている。
【００８５】
また、図１０に示すように、論理番地Ｌ８に対する削除処理終了後の変換テーブルでは、論理番地Ｌ８と物理番地Ｂ６との対応関係が記載されていたエントリが全て削除されている。
【００８６】
このように第１の実施の形態では、使用されている全てのブロックに含まれる各ページにＦＡＴ情報を対応付けているので、フラッシュメモリ上の記憶領域を有効活用することができる。
【００８７】
特に第１の実施の形態では、ページ単位の削除命令にも柔軟に対応でき、適切なタイミングでブロックを再利用可能（データを書き込み可能な状態）にすることができるので、書き込み可能なブロックの不必要な減少を招き、フラッシュメモリがフラグメンテーションを起こしてしまうことを防ぎやすくなる。この結果、ワークメモリの使用量の不必要な増大も防止でき、ワークメモリ上の記憶領域も有効活用することができる。
【００８８】
次に、第１の実施の形態のメモリシステムで行われる読出動作について説明する。
【００８９】
図１４は、第１の実施の形態のメモリシステム１で行われる読出動作の手順の流れの一例を示すフローチャートである。以下では、図９に示す状態において、ホスト装置２から論理番地Ｌ７〜Ｌ８に対する読出命令を受け付けた場合のメモリシステム１の動作を例にとり、読出動作を具体的に説明する。なお、図９に示す状態での変換テーブル、ブロック管理テーブルは、それぞれ図１０、図４に示すものとなる。
【００９０】
まず、命令制御部２２は、ホスト装置２から送られてくる読出命令を受け付ける（ステップＳ２００）。なお、読出命令には、命令の種別が読み出しであることに加え、フラッシュメモリ１１上からデータを読み出す領域の先頭を示す論理番地や、読み出すサイズなどが含まれる。ここでは、読み出す先頭の論理番地がＬ７であり、読み出すサイズは論理番地Ｌ７〜Ｌ８のサイズであるものとする。
【００９１】
続いて、命令制御部２２は、受け付けた読出命令をコントローラ制御部２８へ通知する（ステップＳ２０２）。
【００９２】
続いて、コントローラ制御部２８は、読出命令で通知されたサイズから、読出範囲がフラッシュメモリの複数ページ（複数の物理番地）にまたがっているか否かを確認する（ステップＳ２０４）。
【００９３】
ここでは、コントローラ制御部２８は、読出範囲が論理番地Ｌ７〜Ｌ８であり、読出範囲がフラッシュメモリの２ページ（複数の物理番地）にまたがっていることを確認し（ステップＳ２０４でＹｅｓ）、読出命令を２ページ分の読出命令（論理番地Ｌ７〜Ｌ８それぞれに対する読出命令）に分割する（ステップＳ２０６）。なお、読出範囲が複数ページにまたがらない場合には（ステップＳ２０４でＮｏ）、コントローラ制御部２８は、ステップＳ２０６の処理を行わない。
【００９４】
続いて、コントローラ制御部２８は、読出命令に従って読出処理を行う（ステップＳ２０８）。なお、読出命令が分割されている場合には、コントローラ制御部２８は、読出命令数分の読出処理を行う。つまり、コントローラ制御部２８は、読出範囲内の各ページに対して読出処理を行う。ここでは、コントローラ制御部２８は、２ページ分の読出処理を行うものとする。なお、読出処理の詳細については後述する。
【００９５】
続いて、コントローラ制御部２８は、読出処理が終了すると、読出処理の終了を命令制御部２２へ通知する（ステップＳ２１０）。
【００９６】
続いて、命令制御部２２は、受け付けた読出命令に基づく読出処理が終了したことをホスト装置２へ通知する（ステップＳ２１２）。
【００９７】
この通知により、メモリシステム１で行われる読出動作が完了し、ホスト装置２は、次の命令をメモリシステム１に送ることが可能となる。
【００９８】
図１５は、図１４のステップＳ２０８に示す読出処理の手順の流れの一例を示すフローチャートである。
【００９９】
まず、コントローラ制御部２８は、変換テーブルを参照して、処理対象となる論理番地に対応付けられた物理番地が存在するか確認する（ステップＳ２２０）。ここでは、コントローラ制御部２８は、図１０に示す変換テーブルを参照して、論理番地Ｌ７に対応付けられた物理番地が存在しないことを確認するものとする（ステップＳ２２０でＮｏ）。
【０１００】
これは、前述の削除処理により、論理番地Ｌ７に対応付けられていた物理番地Ｂ４が示すページのＦＡＴ情報が“Ｄ”に更新され、図２に示す変換テーブルから論理番地Ｌ７と物理番地Ｂ４との対応関係が記載されたエントリが削除されたためである。
【０１０１】
このため、コントローラ制御部２８は、全データが“０”であるヌルデータを準備し（ステップＳ２２６）、論理番地Ｌ７に対する読出命令の応答として、準備したヌルデータをホスト装置２へ転送する（ステップＳ２２８）。論理番地Ｌ７の処理はここで終了となる。
【０１０２】
但し、コントローラ制御部２８は、論理番地Ｌ８については未処理であり、読出範囲を全て処理していないため、続いて、論理番地Ｌ８の処理を行う。
【０１０３】
コントローラ制御部２８は、図１０に示す変換テーブルを参照して、論理番地Ｌ８に対応付けられた物理番地Ｂ６の存在を確認する（ステップＳ２２０でＹｅｓ）。
【０１０４】
続いて、コントローラ制御部２８は、図４に示すブロック管理テーブルを参照して、物理番地Ｂ６が示すページを含むブロックＢのブロック識別子Ｂに対応付けられたＦＡＴ情報識別子２１を検索する。そして、コントローラ制御部２８は、このＦＡＴ情報識別子２１に対応付けられた各ページのＦＡＴ情報の中から、物理番地Ｂ６が示すページのＦＡＴ情報を更に検索し、このＦＡＴ情報が“Ｖ”であることを確認する（ステップＳ２２２でＹｅｓ）。
【０１０５】
続いて、コントローラ制御部２８は、物理番地Ｂ６が示すページに記憶されているデータを読み出し（ステップＳ２２４）、論理番地Ｌ８に対する読出命令の応答として、読み出したデータをホスト装置２へ転送する（ステップＳ２２８）。なお、物理番地Ｂ６が示すページのＦＡＴ情報が“Ｖ”でない場合には（ステップＳ２２２でＮｏ）、ステップＳ２２６へ進み、ヌルデータを準備する。
【０１０６】
そして、コントローラ制御部２８は、読出範囲を全て処理したため、読出処理を終了する。
【０１０７】
このように第１の実施の形態では、読み出しエラーに対しては、ヌルデータの返却で対応するため、エラー処理を簡略化することができる。
【０１０８】
次に、第１の実施の形態のメモリシステムで行われる書込動作について説明する。
【０１０９】
図１６は、第１の実施の形態のメモリシステム１で行われる書込動作の手順の流れの一例を示すフローチャートである。
【０１１０】
まず、命令制御部２２は、ホスト装置２から送られてくる書込命令を受け付ける（ステップＳ３００）。なお、書込命令には、命令の種別が書き込みであることに加え、フラッシュメモリ１１に書き込む領域の先頭を示す論理番地や、書き込み用のデータのサイズなどが含まれる。
【０１１１】
続いて、命令制御部２２は、ホスト装置２から外部バス３を介して送られてくる書き込み用のデータの受け付けを開始し、受け付けた書き込み用のデータをデータ転送メモリ３０に蓄え始める（ステップＳ３０２）。
【０１１２】
続いて、命令制御部２２は、受け付けた書込命令をコントローラ制御部２８へ通知する（ステップＳ３０４）。なお、命令制御部２２は、書込命令に加え、書き込み用のデータが蓄えられているデータ転送メモリ３０上の位置（番地）もコントローラ制御部２８へ通知する。
【０１１３】
続いて、書込命令で通知されたサイズ分の書き込み用のデータがデータ転送メモリ３０に蓄えられると、コントローラ制御部２８は、書込命令で通知された論理番地やサイズ、データ転送メモリ３０の状態、及びフラッシュメモリ１１の状態などを総合して、フラッシュメモリ１１に書き込むデータがあるかどうかを判断する（ステップＳ３０６）。
【０１１４】
なお、コントローラ制御部２８は、例えば、データ転送メモリ３０内にフラッシュメモリ１１のブロックのサイズと同じだけの連続したデータがあるかどうか、又はデータ転送メモリ３０の空き容量などを考慮して、フラッシュメモリ１１に書き込むデータがあるかどうかを判断する。
【０１１５】
書き込むデータがない場合には（ステップＳ３０６でＮｏ）、コントローラ制御部２８は、書込命令で通知された論理番地とデータ転送メモリ３０に蓄えられたデータのサイズから、どの論理番地分までデータ転送メモリ３０にデータが格納されたかを計算し、変換テーブルの内容を更新する（ステップＳ３１０）。
【０１１６】
ここでは、コントローラ制御部２８は、書込命令で通知された論理番地に対する読出命令がホスト装置２から通知された場合に対処するため、変換テーブルにおいて、この論理番地とデータ転送メモリ３０上での番地を対応付け、フラッシュメモリ１１ではなくデータ転送メモリ３０から直接データを読み出せるようにしている。
【０１１７】
一方、フラッシュメモリ１１に書き込むデータがある場合には（ステップＳ３０６でＹｅｓ）、コントローラ制御部２８は、当該データをフラッシュメモリ１１へ書き込む書込処理を行う（ステップＳ３０８）。なお、書込処理は、ブロックサイズ、又はブロックのサイズ未満で行われるため、書き込むデータのサイズがブロックのサイズよりも大きい場合には、書き込むデータのサイズ分の書き込みが完了するまで書込処理が繰り返される。書込処理の詳細については後述する。
【０１１８】
続いて、コントローラ制御部２８は、フラッシュメモリ１１への書込処理終了後、書込命令で通知された論理番地と、データが書き込まれたフラッシュメモリ１１上の領域を示す物理番地との対応関係に基づいて、変換テーブルの内容を更新する（ステップＳ３１０）。
【０１１９】
続いて、コントローラ制御部２８は、書込処理の終了を命令制御部２２へ通知する（ステップＳ３１２）。
【０１２０】
続いて、命令制御部２２は、受け付けた書込命令に基づく書込処理が終了したことをホスト装置２へ通知する（ステップＳ３１４）。
【０１２１】
この通知により、メモリシステム１で行われる書込動作が完了し、ホスト装置２は、次の命令をメモリシステム１に送ることが可能となる。
【０１２２】
図１７は、図１６のステップＳ３０８に示す書込処理の手順の流れの一例を示すフローチャートである。
【０１２３】
まず、コントローラ制御部２８は、書き込み対象のデータのサイズがフラッシュメモリ１１のブロックのサイズと同一か否かを確認する（ステップＳ３２０）。
【０１２４】
そして、書き込み対象のデータのサイズがブロックのサイズと同一である場合には、ブロック書込処理を行い（ステップＳ３２２）、書き込み対象のデータのサイズがブロックのサイズ未満である場合には、ページ書込処理（ステップＳ３２４）を行う。なお、フラッシュメモリにおいては、ブロック書込処理はページ書込処理に比べて容易なため、第１の実施の形態では、ブロック書込処理とページ書込処理とを分けている。
【０１２５】
図１８は、図１７のステップＳ３２２に示すブロック書込処理の手順の流れの一例を示すフローチャートである。
【０１２６】
まず、コントローラ制御部２８は、ＦＡＴ情報記憶部３４から、未使用のＦＡＴ情報を１ブロック分取得する（ステップＳ３３０）。このとき、取得したすべてのＦＡＴ情報を未書き込みを示す“Ｎ／Ａ”に設定する。なお、ＦＡＴ情報が未使用であるか否かは、ブロック管理テーブルにおいて、いずれのブロックにも識別子が対応付けられていないことで判別できる。
【０１２７】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、使用状態判別情報が“未使用”に設定されているブロックを取得する（ステップＳ３３２）。
【０１２８】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、取得したブロックの使用状態判別情報を“使用”に更新する（ステップＳ３３４）。
【０１２９】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、取得したブロックのブロック識別子に、取得した１ブロック分のＦＡＴ情報のＦＡＴ情報識別子を対応付ける（ステップＳ３３６）。
【０１３０】
続いて、コントローラ制御部２８は、フラッシュメモリ制御部２４に指示して、取得したブロックに書き込み対象のデータを書き込ませる（ステップＳ３３８）。なお、フラッシュメモリのブロックに新たにデータを書き込む場合にはブロックを一旦消去する必要があるが、書き込む時点までに消去できていれば、いつ消去しても構わない。
【０１３１】
続いて、コントローラ制御部２８は、データを書き込んだブロックの各ページのＦＡＴ情報に、ページに記憶されているデータが有効であることを示す“Ｖ”を設定する（ステップＳ３４０）。
【０１３２】
続いて、コントローラ制御部２８は、変換テーブルを参照し、処理対象の論理番地（書込命令で通知された論理番地）に現時点で対応付けられている物理番地が示すページのＦＡＴ情報を、無効を示す“ＩＶ”に更新する（ステップＳ３４２）。
【０１３３】
続いて、コントローラ制御部２８は、ＦＡＴ情報を“ＩＶ”に更新したページを含むブロックの全ページのＦＡＴ情報を走査し、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”であるか否かを確認する（ステップＳ３４４）。なお、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”でない場合には（ステップＳ３４４でＮｏ）、処理を終了する。
【０１３４】
一方、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”である場合には（ステップＳ３４４でＹｅｓ）、コントローラ制御部２８は、ブロック管理テーブルから当該ブロックのブロック識別子に対応付けられたＦＡＴ情報識別子を削除する（ステップＳ３４６）。
【０１３５】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、当該ブロックのブロック識別子に対応付けられた使用状態判別情報を“未使用”に更新することにより、当該ブロックを未使用状態にする（ステップＳ３４８）。
【０１３６】
図１９は、図１７のステップＳ３２４に示すページ書込処理の手順の流れの一例を示すフローチャートである。
【０１３７】
まず、コントローラ制御部２８は、変換テーブルを参照して、処理対象の論理番地に対応付けられた物理番地が既に存在するか否かを確認する（ステップＳ３６０）。
【０１３８】
処理対象の論理番地に対応付けられた物理番地が既に存在する場合には（ステップＳ３６０でＹｅｓ）、コントローラ制御部２８は、当該物理番地が示すページを含むブロックの中から、ＦＡＴ情報が“Ｎ／Ａ”となっている最初のページを検索する（ステップＳ３６２）。
【０１３９】
そして、ＦＡＴ情報が“Ｎ／Ａ”のページが存在する場合には（ステップＳ３６４でＹｅｓ）、コントローラ制御部２８は、当該ページを書き込みページに設定する（ステップＳ３６６）。
【０１４０】
続いて、コントローラ制御部２８は、フラッシュメモリ制御部２４に指示して、書き込みページに設定されたページに書き込み対象のデータを書き込ませる（ステップＳ３７８）。
【０１４１】
一方、処理対象の論理番地に対応付けられた物理番地が存在しない場合（ステップＳ３６０でＮｏ）、又はＦＡＴ情報が“Ｎ／Ａ”のページが存在しない場合には（ステップＳ３６４でＮｏ）、コントローラ制御部２８は、ＦＡＴ情報記憶部３４から、未使用のＦＡＴ情報を１ブロック分取得する（ステップＳ３６８）。このとき、取得したすべてのＦＡＴ情報を未書き込みを示す“Ｎ／Ａ”に設定する。
【０１４２】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、使用状態判別情報が“未使用”に設定されているブロックを取得する（ステップＳ３７０）。
【０１４３】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、取得したブロックの使用状態判別情報を“使用”に更新する（ステップＳ３７２）。
【０１４４】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、取得したブロックのブロック識別子に、取得した１ブロック分のＦＡＴ情報のＦＡＴ情報識別子を対応付ける（ステップＳ３７４）。
【０１４５】
続いて、コントローラ制御部２８は、取得したブロックの先頭ページを書き込みページに設定する（ステップＳ３７６）。
【０１４６】
続いて、コントローラ制御部２８は、フラッシュメモリ制御部２４に指示して、書き込みページに設定されたページに書き込み対象のデータを書き込ませる（ステップＳ３７８）。
【０１４７】
続いて、コントローラ制御部２８は、データを書き込んだ書き込みページのＦＡＴ情報に、ページに記憶されているデータが有効であることを示す“Ｖ”を設定する（ステップＳ３８０）。
【０１４８】
以降の処理（ステップＳ３８２〜ステップＳ３８８）は、図１８に示すブロック書込処理のフローチャートのステップＳ３４２〜ステップＳ３４８までの処理と同様であるため、説明を省略する。
【０１４９】
次に、第１の実施の形態のメモリシステムで行われる書込動作の具体例について説明する。
【０１５０】
以下では、ホスト装置２から、物理番地に対応付けられていない論理番地Ｌ０〜Ｌ９に対する１ブロックのサイズの書込命令を受け付けた場合のメモリシステム１の書込動作について、図１６〜図１９のフローチャートを参照しながら説明する。
【０１５１】
まず、命令制御部２２は、ホスト装置２から送られてくる書込命令を受け付けるとともに、書き込み用のデータの受け付けを開始し、受け付けた書き込み用のデータをデータ転送メモリ３０に蓄え始める（図１６のステップＳ３００、Ｓ３０２）。
【０１５２】
続いて、命令制御部２２は、受け付けた書込命令とともに、書き込み用のデータが蓄えられているデータ転送メモリ３０上の位置をコントローラ制御部２８へ通知する（図１６のステップＳ３０４）。
【０１５３】
続いて、書込命令で通知されたサイズ分の書き込み用のデータがデータ転送メモリ３０に蓄えられると、コントローラ制御部２８は、フラッシュメモリ１１に書き込むデータがあるかどうかを判断する（図１６のステップＳ３０６）。ここでは、コントローラ制御部２８は、フラッシュメモリ１１に書き込むデータがあると判断し、書込処理を行うものとする（図１６のステップＳ３０８）。
【０１５４】
続いて、コントローラ制御部２８は、書き込み対象のデータのサイズが１ブロックであるため、ブロック書込処理を行う（図１７のステップＳ３２２）。
【０１５５】
続いて、コントローラ制御部２８は、ＦＡＴ情報記憶部３４から、未使用のＦＡＴ情報を１ブロック分取得する（図１８のステップＳ３３０）。ここでは、ＦＡＴ情報識別子１０のＦＡＴ情報を取得するものとする。このとき、取得したＦＡＴ情報識別子１０のすべてのＦＡＴ情報を未書き込みを示す“Ｎ／Ａ”に設定する。
【０１５６】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、使用状態判別情報が“未使用”に設定されているブロックを取得する（図１８のステップＳ３３２）。ここでは、ブロック識別子ＡのブロックＡを取得するものとする。
【０１５７】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、ブロックＡの使用状態判別情報を“使用”に更新し、ＦＡＴ情報識別子１０を対応付ける（図１８のステップＳ３３４、Ｓ３３６）。
【０１５８】
続いて、コントローラ制御部２８は、データ転送メモリ３０に蓄えられている書き込み対象のデータをブロックＡに書き込み、ブロックＡの各ページのＦＡＴ情報に“Ｖ”を設定する（図１８のステップＳ３３８、Ｓ３４０）。
【０１５９】
続いて、コントローラ制御部２８は、変換テーブルを参照した結果、処理対象の論理番地Ｌ０〜Ｌ９に現時点で対応付けられている物理番地が存在しないため、図１８のステップＳ３４２以降の処理は行われず、ブロック書込処理を終了する。
【０１６０】
続いて、コントローラ制御部２８は、書込命令で通知された論理番地Ｌ０〜Ｌ９と、データが書き込まれたフラッシュメモリ１１上の領域を示す物理番地Ａ０〜Ａ９とを対応付けたエントリで、変換テーブルの内容を更新する（図１６のステップＳ３１０）。
【０１６１】
続いて、コントローラ制御部２８は、書込処理が終了すると、書込処理の終了を命令制御部２２へ通知し、命令制御部２２は、受け付けた書込命令に基づく書込処理が終了したことをホスト装置２へ通知する（図１６のステップＳ３１２、Ｓ３１４）。
【０１６２】
図２０は、論理番地Ｌ０〜Ｌ９に対する書込処理終了後のブロック管理テーブルの状態を示す図であり、図２１は、論理番地Ｌ０〜Ｌ９に対する書込処理後のブロックに含まれる各ページに記憶されたデータの状態を示す模式図であり、図２２は、論理番地Ｌ０〜Ｌ９に対する書込処理終了後の変換テーブルの状態を示す図である。
【０１６３】
図２０に示すように、論理番地Ｌ０〜Ｌ９に対する書込処理終了後のブロック管理テーブルでは、ブロックＡの使用状態判別情報が“使用”となっており、ＦＡＴ情報識別子１０が対応付けられている。このため図２１に示すように、ブロックＡに含まれる各ページと、ＦＡＴ情報識別子１０の各ＦＡＴ情報とが対応付けられ、ＦＡＴ情報は全て“Ｖ”となっている。
【０１６４】
また、図２２に示すように、論理番地Ｌ０〜Ｌ９に対する書込処理終了後の変換テーブルでは、論理番地Ｌ０〜Ｌ９と物理番地Ａ０〜Ａ９との対応関係が記載されている。
【０１６５】
次に、図２１に示す状態において、ホスト装置２から論理番地Ｌ１に対する１ページのサイズの書込命令を更に受け付けた場合のメモリシステム１の書込動作について、図１６〜図１９のフローチャートを参照しながら説明する。
【０１６６】
まず、命令制御部２２は、ホスト装置２から送られてくる書込命令を受け付けるとともに、書き込み用のデータの受け付けを開始し、受け付けた書き込み用のデータをデータ転送メモリ３０に蓄え始める（図１６のステップＳ３００、Ｓ３０２）。
【０１６７】
続いて、命令制御部２２は、受け付けた書込命令とともに、書き込み用のデータが蓄えられているデータ転送メモリ３０上の位置をコントローラ制御部２８へ通知する（図１６のステップＳ３０４）。
【０１６８】
続いて、書込命令で通知されたサイズ分の書き込み用のデータがデータ転送メモリ３０に蓄えられると、コントローラ制御部２８は、フラッシュメモリ１１に書き込むデータがあるかどうかを判断する（図１６のステップＳ３０６）。ここでは、コントローラ制御部２８は、フラッシュメモリ１１に書き込むデータがあると判断し、書込処理を行うものとする（図１６のステップＳ３０８）。
【０１６９】
続いて、コントローラ制御部２８は、書き込み対象のデータのサイズが１ページであるため、ページ書込処理を行う（図１７のステップＳ３２４）。
【０１７０】
続いて、コントローラ制御部２８は、図２２に示す変換テーブルを参照して、処理対象の論理番地Ｌ１に対応付けられた物理番地Ａ１が既に存在することを確認するため、物理番地Ａ１が示すページを含むブロックＡの中から、ＦＡＴ情報が“Ｎ／Ａ”となっている最初のページを検索する（図１９のステップＳ３６０、Ｓ３６２）。
【０１７１】
具体的には、コントローラ制御部２８は、図２０に示すブロック管理テーブルを参照して、物理番地Ａ１が示すページを含むブロックＡのブロック識別子Ａに対応付けられたＦＡＴ情報識別子１０を検索する。そして、コントローラ制御部２８は、このＦＡＴ情報識別子１０に対応付けられた各ページのＦＡＴ情報の中から、ＦＡＴ情報が“Ｎ／Ａ”となっている最初のページを検索する。
【０１７２】
ここでは、図２１に示すように、ＦＡＴ情報識別子１０に対応付けられた各ページの中にＦＡＴ情報が“Ｎ／Ａ”となっているページは存在しないため、コントローラ制御部２８は、ＦＡＴ情報記憶部３４から、未使用のＦＡＴ情報を１ブロック分取得する（図１９のステップＳ３６４、Ｓ３６８）。ここでは、ＦＡＴ情報識別子２１のＦＡＴ情報を取得するものとする。このとき、取得したＦＡＴ情報識別子２１のすべてのＦＡＴ情報を未書き込みを示す“Ｎ／Ａ”に設定する。
【０１７３】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、使用状態判別情報が“未使用”に設定されているブロックを取得する（図１９のステップＳ３７０）。ここでは、ブロック識別子ＢのブロックＢを取得するものとする。
【０１７４】
続いて、コントローラ制御部２８は、ブロック管理テーブルにおいて、ブロックＢの使用状態判別情報を“使用”に更新し、ＦＡＴ情報識別子２１を対応付ける（図１９のステップＳ３７２、Ｓ３７４）。
【０１７５】
続いて、コントローラ制御部２８は、取得したブロックＢの先頭ページを書き込みページに設定し、データ転送メモリ３０に蓄えられている書き込み対象のデータをブロックＢの先頭ページに書き込み、ブロックＢの先頭ページのＦＡＴ情報に“Ｖ”を設定する（図１９のステップＳ３７６、Ｓ３７８、Ｓ３８０）。
【０１７６】
続いて、コントローラ制御部２８は、図２２に示す変換テーブルを参照した結果、処理対象の論理番地Ｌ１に現時点で対応付けられている物理番地Ａ１が示すページのＦＡＴ情報を、無効を示す“ＩＶ”に更新する（図１９のステップＳ３８２）。
【０１７７】
続いて、コントローラ制御部２８は、ＦＡＴ情報を“ＩＶ”に更新したページを含むブロックＢの全ページのＦＡＴ情報を走査し、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”でないことを確認し（図１９のステップＳ３８４）、ページ書込処理を終了する。
【０１７８】
続いて、コントローラ制御部２８は、書込命令で通知された論理番地Ｌ１と、データが書き込まれたフラッシュメモリ１１上の領域を示す物理番地Ｂ０とを対応付けたエントリで、変換テーブルの内容を更新する（図１６のステップＳ３１０）。
【０１７９】
続いて、コントローラ制御部２８は、書込処理が終了すると、書込処理の終了を命令制御部２２へ通知し、命令制御部２２は、受け付けた書込命令に基づく書込処理が終了したことをホスト装置２へ通知する（図１６のステップＳ３１２、Ｓ３１４）。
【０１８０】
図２３は、論理番地Ｌ１に対する書込処理終了後のブロック管理テーブルの状態を示す図であり、図２４は、論理番地Ｌ１に対する書込処理後のブロックに含まれる各ページに記憶されたデータの状態を示す模式図であり、図２５は、論理番地Ｌ１に対する書込処理終了後の変換テーブルの状態を示す図である。
【０１８１】
図２３に示すように、論理番地Ｌ１に対する書込処理終了後のブロック管理テーブルでは、ブロックＢの使用状態判別情報が“使用”となっており、ＦＡＴ情報識別子２１が対応付けられている。
【０１８２】
このため図２４に示すように、ブロックＢに含まれる各ページと、ＦＡＴ情報識別子２１の各ＦＡＴ情報とが対応付けられ、データが書き込まれたページ（物理番地Ｂ０が示すページ）のＦＡＴ情報は“Ｖ”となっている。また、論理番地Ｌ１に対する書込処理前に論理番地Ｌ１対応付けられていた物理番地Ａ１のＦＡＴ情報は“ＩＶ”となっている。
【０１８３】
また、図２５に示すように、論理番地Ｌ１に対する書込処理終了後の変換テーブルでは、論理番地Ｌ１と物理番地Ｂ０との対応関係が記載されている。
【０１８４】
このように第１の実施の形態では、書込処理においてフラッシュメモリの未使用のブロックに新たなデータを書き込む度に、当該ブロックを使用状態に更新し、当該ブロックに含まれる各ページにＦＡＴ情報を対応付けている。従って、上述したように、フラッシュメモリ上の記憶領域を有効活用することができる。
【０１８５】
なお、第１の実施の形態では、書込処理の流れの中でフラッシュメモリ１１への書き込みを行っているが、この書込処理の中ではフラッシュメモリ１１への書き込み予約だけを行い、ホスト装置２への書込処理の終了を通知してから実際にフラッシュメモリ１１へデータを書き込むようにしてもよい。
【０１８６】
（第２の実施の形態）
次に、第２の実施の形態では、ＦＡＴ情報が削除を示す“Ｄ”に更新する毎ではなく、ブロックの全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”である場合に、変換テーブルから、論理番地と物理番地との対応関係が記載されているエントリを削除する例について説明する。
【０１８７】
なお、以下では、第１の実施の形態との相違点の説明を主に行い、第１の実施の形態と同様の機能を有する構成要素については、第１の実施の形態と同様の名称・符号を付し、その説明を省略する。
【０１８８】
図２６は、第２の実施の形態のメモリシステム１０１の構成の一例を示すブロック図である。メモリシステム１０１は、コントローラ１１０に含まれるコントローラ制御部１２８が、変換テーブル記憶部３２に記憶されている変換テーブルを更新するタイミングが、第１の実施の形態のメモリシステム１と相違する。
【０１８９】
従って、以下では、第１の実施の形態と第２の実施の形態の主要な相違点であるコントローラ制御部１２８の変換テーブルの更新タイミングについて説明する。
【０１９０】
図２７は、第２の実施の形態のメモリシステム１０１で行われる図５のステップＳ１０８に示す削除処理の手順の流れの一例を示すフローチャートである。なお、削除動作の手順の流れについては、第１の実施の形態と同様である。
【０１９１】
以下では、図８に示す状態において、ホスト装置２から論理番地Ｌ０〜Ｌ７に対する削除命令を受け付けた場合のメモリシステム１０１の動作について、図５及び図２７のフローチャートを参照しながら説明する。
【０１９２】
まず、命令制御部２２は、ホスト装置２から送られてくる削除命令を受け付け、コントローラ制御部１２８へ通知する（図５のステップＳ１００、Ｓ１０２）。
【０１９３】
続いて、コントローラ制御部１２８は、削除範囲が論理番地Ｌ０〜Ｌ７であるため、削除範囲がフラッシュメモリの８ページ（複数の物理番地）にまたがっていることを確認し、削除命令を８ページ分の削除命令（論理番地Ｌ０〜Ｌ７それぞれに対する削除命令）に分割する（図５のステップＳ１０４、Ｓ１０６）。
【０１９４】
このため、コントローラ制御部１２８は、８ページ分の削除処理を行う（図５のステップＳ１０８）。
【０１９５】
続いて、コントローラ制御部１２８は、まず、図２に示す変換テーブルを参照して、処理対象となる論理番地Ｌ０に対応付けられた物理番地Ｂ０の存在を確認する（図２７のステップＳ４００）。
【０１９６】
続いて、コントローラ制御部１２８は、図４に示すブロック管理テーブルを参照して、物理番地Ｂ０が示すページを含むブロックＢのブロック識別子Ｂに対応付けられたＦＡＴ情報識別子２１を検索する。そして、コントローラ制御部２８は、このＦＡＴ情報識別子２１に対応付けられた各ページのＦＡＴ情報の中から、物理番地Ｂ０が示すページのＦＡＴ情報を更に検索し、このＦＡＴ情報を“Ｄ”に更新する（図２７のステップＳ４０２）。
【０１９７】
続いて、コントローラ制御部１２８は、ブロックＢの全ページのＦＡＴ情報（ＦＡＴ情報識別子２１に対応付けられた全てのＦＡＴ情報）を走査するが、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”でないので、論理番地Ｌ０の処理はここで終了となる（図２７のステップＳ４０４でＮｏ）。
【０１９８】
但し、コントローラ制御部１２８は、論理番地Ｌ１〜Ｌ７については未処理であり、削除範囲を全て処理していないため、この削除処理（図２７のステップＳ４００〜Ｓ４０４）を論理番地Ｌ１〜Ｌ７まで繰り返す。なお、論理番地Ｌ１〜Ｌ７に対する削除処理については説明を省略する。
【０１９９】
続いて、コントローラ制御部１２８は、全ての削除処理が終了すると、削除処理の終了を命令制御部２２へ通知し、命令制御部２２は、受け付けた削除命令に基づく削除処理が終了したことをホスト装置２へ通知する（図５のステップＳ１１０、Ｓ１１２）。
【０２００】
ここで、論理番地Ｌ０〜Ｌ７に対する削除処理終了後のブロックに含まれる各ページに記憶されたデータの状態を示す模式図は、図９となり、論理番地Ｌ０〜Ｌ７に対する削除処理終了後の変換テーブルは、図２の状態のままである。
【０２０１】
次に、図９に示す状態において、ホスト装置２から論理番地Ｌ８に対する削除命令を更に受け付けた場合のメモリシステム１０１の削除動作について、図５及び図２７のフローチャートを参照しながら説明する。
【０２０２】
まず、命令制御部２２は、ホスト装置２から送られてくる削除命令を受け付け、コントローラ制御部１２８へ通知する（図５のステップＳ１００、Ｓ１０２）。
【０２０３】
続いて、コントローラ制御部１２８は、削除範囲が論理番地Ｌ８のみであるため、削除範囲がフラッシュメモリの複数ページ（複数の物理番地）にまたがっていないことを確認し、削除命令を分割しない（図５のステップＳ１０４）。
【０２０４】
このため、コントローラ制御部１２８は、１ページ分の削除処理を行う（図５のステップＳ１０８）。
【０２０５】
続いて、コントローラ制御部１２８は、まず、図２に示す変換テーブルを参照して、処理対象となる論理番地Ｌ８に対応付けられた物理番地Ｂ６の存在を確認する（図２７のステップＳ４００）。
【０２０６】
続いて、コントローラ制御部１２８は、図４に示すブロック管理テーブルを参照して、物理番地Ｂ６が示すページを含むブロックＢのブロック識別子Ｂに対応付けられたＦＡＴ情報識別子２１を検索する。そして、コントローラ制御部１２８は、このＦＡＴ情報識別子２１に対応付けられた各ページのＦＡＴ情報の中から、物理番地Ｂ６が示すページのＦＡＴ情報を更に検索し、このＦＡＴ情報を“Ｄ”に更新する（図２７のステップＳ４０２）。
【０２０７】
続いて、コントローラ制御部１２８は、ブロックＢの全ページのＦＡＴ情報（ＦＡＴ情報識別子２１に対応付けられた全てのＦＡＴ情報）を走査して、全ページのＦＡＴ情報が削除を示す“Ｄ”又は無効を示す“ＩＶ”であることを確認する（図２７のステップＳ４０４でＹｅｓ）。
【０２０８】
続いて、コントローラ制御部１２８は、全ページのＦＡＴ情報が“Ｄ”又は“ＩＶ”であるため、図４に示すブロック管理テーブルからブロックＢのブロック識別子Ｂに対応付けられたＦＡＴ情報識別子２１を削除するとともに、ブロック識別子Ｂに対応付けられた使用状態判別情報を“未使用”に更新する（図２７のステップＳ４０６、Ｓ４０８）。
【０２０９】
続いて、コントローラ制御部１２８は、ブロックＢに含まれるページを示す物理番地と論理番地とが対応付けられたエントリを、図２に示す変換テーブルから全て削除する（図２７のステップＳ４１０）。そして、コントローラ制御部１２８は、削除範囲を全て処理したため削除処理を終了する。
【０２１０】
続いて、コントローラ制御部１２８は、削除処理が終了すると、削除処理の終了を命令制御部２２へ通知し、命令制御部２２は、受け付けた削除命令に基づく削除処理が終了したことをホスト装置２へ通知する（図５のステップＳ１１０、Ｓ１１２）。
【０２１１】
ここで、論理番地Ｌ８に対する削除処理終了後のブロック管理テーブルは、図１１の状態となり、論理番地Ｌ８に対する削除処理終了後のブロックに含まれる各ページに記憶されたデータの状態を示す模式図は、図１２となる。
【０２１２】
図２８は、論理番地Ｌ８に対する削除処理終了後の変換テーブルの状態を示す図である。図２８に示すように、論理番地Ｌ８に対する削除処理終了後の変換テーブルでは、論理番地Ｌ０〜Ｌ２、Ｌ５〜Ｌ８それぞれと物理番地Ｂ０、Ｂ１、Ｂ２、Ｂ３、Ｂ５、Ｂ４、Ｂ６との対応関係が記載されていたエントリが全て削除されている。
【０２１３】
このように、使用されている全てのブロックに含まれる各ページにＦＡＴ情報を対応付けているので、第２の実施形態のように、変換テーブルの更新をＦＡＴ情報が削除を示す“Ｄ”に更新する毎に行わず、簡略化することができる。
【０２１４】
つまり、変換テーブルの更新を簡略化しても、使用されている全てのブロックに含まれる各ページにＦＡＴ情報を対応付けているので、ページ単位の削除命令にも柔軟に対応できる。
【０２１５】
また、この時点での変換テーブルの内容も、第１の実施の形態と大差はなく、変換テーブルのデータ量も適切に削減できている。
【０２１６】
以上より、第２の実施の形態のように、変換テーブルの更新を簡略化しても、ページ単位の削除命令にも柔軟に対応でき、フラッシュメモリ上の記憶領域を有効活用することができる。
【０２１７】
（変形例）
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【０２１８】
上記実施の形態では、論理番地に対応付けられた物理番地が変換テーブルに存在しない場合や、物理番地が示すページのＦＡＴ情報が“Ｖ”以外の場合には、読出命令の応答として、ヌルデータをホスト装置２へ返答していたが、ヌルデータ以外のデータを返却するようにしてもよい。
【０２１９】
例えば、コントローラ制御部２８、１２８が、最も速く読み出すことが可能なフラッシュメモリ１１の物理番地をワークメモリ３８などに記憶しておき、当該物理番地が示すページに記憶されているデータを読み出してホスト装置２に返却するようにしてもよい。
【０２２０】
また例えば、コントローラ制御部２８、１２８が、直前に読み出したデータをワークメモリ３８などに記憶しておき、当該データをホスト装置２に返却するようにしてもよい。
【０２２１】
また例えば、コントローラ制御部２８、１２８は、コントローラ１０、１１０内で生成された乱数値をホスト装置２に返却するようにしてもよい。なお、乱数の生成は、コントローラ制御部２８、１２８自身が行ってもよいし、乱数発生器などの専用のハードウェアをコントローラ１０、１１０が別途備えるようにしてもよい。
【０２２２】
また、上記実施の形態では、物理番地が示すページのＦＡＴ情報が“Ｖ”の場合のみ、当該物理番地が示すページに記憶されているデータを読み出してホスト装置２に返却しているが、例えば、ＦＡＴ情報が“Ｄ”の場合であっても、当該物理番地が示すページに記憶されているデータを読み出してホスト装置２に返却するようにしてもよい。
【０２２３】
ＦＡＴ情報が“Ｄ”に更新される前は“Ｖ”であり、このページにはデータが記憶されているため、この情報を読み出してホスト装置２に返却するようにしてもよい。
【符号の説明】
【０２２４】
１、１０１  メモリシステム
２  ホスト装置
３  外部バス
１０、１１０  コントローラ
１１  フラッシュメモリ
１２  専用バス
１５  データバス
２２  命令制御部
２４  フラッシュメモリ制御部
２６  データ転送制御部
２８、１２８  コントローラ制御部
３０  データ転送メモリ
３２  変換テーブル記憶部
３４  ＦＡＴ情報記憶部
３６  ブロック管理テーブル記憶部
３８  ワークメモリ
【図１】
2010218290.tif 000003
【図２】
2010218290.tif 000004
【図３】
2010218290.tif 000005
【図４】
2010218290.tif 000006
【図５】
2010218290.tif 000007
【図６】
2010218290.tif 000008
【図７】
2010218290.tif 000009
【図８】
2010218290.tif 000010
【図９】
2010218290.tif 000011
【図１０】
2010218290.tif 000012
【図１１】
2010218290.tif 000013
【図１２】
2010218290.tif 000014
【図１３】
2010218290.tif 000015
【図１４】
2010218290.tif 000016
【図１５】
2010218290.tif 000017
【図１６】
2010218290.tif 000018
【図１７】
2010218290.tif 000019
【図１８】
2010218290.tif 000020
【図１９】
2010218290.tif 000021
【図２０】
2010218290.tif 000022
【図２１】
2010218290.tif 000023
【図２２】
2010218290.tif 000024
【図２３】
2010218290.tif 000025
【図２４】
2010218290.tif 000026
【図２５】
2010218290.tif 000027
【図２６】
2010218290.tif 000028
【図２７】
2010218290.tif 000029
【図２８】
2010218290.tif 000030
【図２９】
2010218290.tif 000031
【図３０】
2010218290.tif 000032