(57)【特許請求の範囲】
【請求項１】
不揮発性メモリへのデータの書き込みを制御するメモリコントローラであって、
外部から前記不揮発性メモリへのデータの書き込みを制御するためのコマンドまたはデータを送受信するホストＩＦ部と、
前記ホストＩＦ部が外部から高速書込み準備コマンドを受信した場合、前記不揮発性メモリへのデータ書き込み方式を高速書き込み方式に設定する高速書込み準備部と、
前記データ書き込み方式が高速書き込み方式に設定されている場合、前記ホストＩＦ部が外部から受信した前記不揮発性メモリへ書き込むデータを、前記不揮発性メモリのデータ消去済みの物理ブロックに、該データの記録位置である論理アドレスを用いず、順次記録する高速書込み処理部と、
前記ホストＩＦ部が外部から前記高速書き込み方式の終了を通知するコマンドを受信した場合、前記物理ブロックに前記高速書込み処理部が記録したデータを、前記論理アドレスに基づいて、前記論理アドレスが割り当てられている物理ブロックに再配置するデータ再配置部と、
外部から事前に通知される高速書き込み方式で書き込まれるデータの論理アドレスとサイズに基づいて、前記データ消去済みの物理ブロックを確保する消去ブロック確保部と、
を備えるメモリコントローラ。
【請求項２】
請求項１に記載の前記メモリコントローラと、
該メモリコントローラによって制御される不揮発性メモリと、
を備える不揮発性記憶装置。
【請求項３】
不揮発性メモリを有する不揮発性記憶装置へのデータ書き込みを制御するアクセス装置であって、
前記不揮発性記憶装置へ、データ書き込みアドレスとして指示した論理アドレスにかかわらず、書き込みデータを、前記不揮発性メモリの所定の物理ブロックに順次記録する高速データ書き込み方式への切り替えを指示するコマンドを発行する一時書込み準備部と、
ユーザーデータと、該ユーザーデータをファイルシステム上で管理するための管理データと、を前記不揮発性記憶装置へ送信する一時書込み部と、
前記不揮発性記憶装置へ、高速なデータ書き込みが終了することを通知する一時書込み終了部と、
前記不揮発性メモリに記録されているファイルシステム管理情報に基づいて、論理アドレス空間上での空き領域を探索し、該空き領域の情報を論理アドレスおよびデータサイズの情報として前記不揮発性記憶装置へ通知する消去ブロック指定部と、
を備えるアクセス装置。
【請求項４】
請求項２に記載の不揮発性記憶装置と、
請求項３に記載のアクセス装置と、
を備える不揮発性記憶システム。
【請求項５】
コマンドによる不揮発性メモリへのデータ書き込み方法であって、
前記不揮発性メモリへのデータの書き込みを制御するためのコマンドまたはデータを受信するコマンド／データ受信ステップと、
前記コマンド／データ受信ステップで、高速書込み準備コマンドを受信した場合、前記不揮発性メモリへのデータ書き込み方式を高速書き込み方式に設定する高速書き込み準備ステップと、
前記データ書き込み方式が高速書き込み方式に設定されている場合、前記コマンド／データ受信ステップで受信した前記不揮発性メモリへ書き込むデータを、前記不揮発性メモリのデータ消去済みの物理ブロックに、該データの記録位置である論理アドレスを用いず、順次記録する高速書込み処理ステップと、
前記コマンド／データ受信ステップで、前記高速書き込み方式の終了を通知するコマンドを受信した場合、前記物理ブロックに前記高速書込み処理ステップが記録したデータを、前記論理アドレスに基づいて、前記論理アドレスが割り当てられている物理ブロックに再配置するデータ再配置ステップと、
外部から事前に通知される高速書き込み方式で書き込まれるデータの論理アドレスとサイズに基づいて、前記データ消去済みの物理ブロックを確保する消去ブロック確保ステップと、
を備えるデータ書き込み方法。
【請求項６】
コマンドによる不揮発性メモリへのデータ書き込み方法をコンピュータに実行させるためのプログラムであって、
前記不揮発性メモリへのデータの書き込みを制御するためのコマンドまたはデータを受信するコマンド／データ受信ステップと、
前記コマンド／データ受信ステップで、高速書込み準備コマンドを受信した場合、前記不揮発性メモリへのデータ書き込み方式を高速書き込み方式に設定する高速書き込み準備ステップと、
前記データ書き込み方式が高速書き込み方式に設定されている場合、前記コマンド／データ受信ステップで受信した前記不揮発性メモリへ書き込むデータを、前記不揮発性メモリのデータ消去済みの物理ブロックに、該データの記録位置である論理アドレスを用いず、順次記録する高速書込み処理ステップと、
前記コマンド／データ受信ステップで、前記高速書き込み方式の終了を通知するコマンドを受信した場合、前記物理ブロックに前記高速書込み処理ステップが記録したデータを、前記論理アドレスに基づいて、前記論理アドレスが割り当てられている物理ブロックに再配置するデータ再配置ステップと、
外部から事前に通知される高速書き込み方式で書き込まれるデータの論理アドレスとサイズに基づいて、前記データ消去済みの物理ブロックを確保する消去ブロック確保ステップと、
を備えるデータ書き込み方法コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカードなどの不揮発性記憶装置、不揮発性メモリを制御するメモリコントローラ、アクセス装置、および不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システムに関するものである。
【背景技術】
【０００２】
近年、静止画や、音楽コンテンツ、映像データ等のデジタルデータを記憶する記憶装置には、磁気ディスク、光ディスク等、様々な種類が存在する。これら記憶装置の１種類であるメモリカードは、記憶素子としてＮＡＮＤ型フラッシュメモリ等の不揮発性メモリを主に使用しており、小型化が図れることから、デジタルスチルカメラや携帯電話端末、ビデオカメラ等、小型の携帯機器を中心に急速に普及している。
このようなＮＡＮＤ型フラッシュメモリは、ページ単位（５１２バイト、２Ｋバイト、８Ｋバイトなど）で書き込みを行うことができるが、その条件として、複数のページで構成されたブロック単位（５１２Ｋバイト、１Ｍバイトなど）で消去済みの状態になっている必要がある。つまり、ＮＡＮＤ型フラッシュメモリは、未だ書き込みが一度も行われていない消去済みブロックに対しては、磁気ディスクなどと同様にデータをページ単位で直接書き込むことができるが、既にデータが書き込まれている書き込み済みのページに対しては、まずブロック単位でデータを消去し、消去済みブロックにしてからページ単位で書き込みを行わなければならない性質を有している。
【０００３】
また、デジタルスチルカメラなどのアクセス装置から、ＮＡＮＤ型フラッシュメモリを搭載した不揮発性記憶装置へのデータの書き込みを行う場合、不揮発性記憶装置の内部の処理としては、消去済みブロックにしか書き込みを行えないという条件により、まず書き込み先となる消去済みブロックがあるか探す必要がある。探した結果、消去済みブロックがあれば、不揮発性記憶装置は、その検出した消去済みブロックに対してアクセス装置から受け取ったデータをページ単位で書き込む処理を実行する。一方、消去済みブロックがない場合、不揮発性記憶装置は、次のようにしてデータの書き込み処理を実行する。すなわち、
（１）不揮発性記憶装置は、別のブロックに最新のデータがコピーされるなどして使われなくなったブロックであるが、データ自体は消去されずに残されたままになっている状態の物理ブロック（未使用ブロック）を消去して、消去済みブロックを確保する。
（２）その後、不揮発性記憶装置は、確保した消去済みブロックに対して、アクセス装置から受け取ったデータをページ単位で書き込む。
【０００４】
不揮発性記憶装置では、上記のようにしてデータの書き込み処理を実行されるため、ＤＲＡＭ等の記憶媒体と比較してデータ書き込みにより多くの時間がかかる。また、不揮発性記憶装置では、アクセス装置から１ブロックを満たさない書き込みであった場合には、以前、記録した別の物理ブロックからデータを読み出して、その読み出したデータを新しく確保した消去済みブロックにコピーすることでデータの書き込み処理を実行しなければならない場合もある。したがって、不揮発性記憶装置において、このようなデータ書き込み処理を実行する場合、その処理時間は、通常の書き込み処理の処理時間より長くなる。
このような問題に対処する関連技術として、例えば、特許文献１に、データの書き込み速度を向上させる技術（従来の不揮発性記憶装置）が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１５２４６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記従来の不揮発性記憶装置では、消去済みブロックの確保する処理や、別のブロックから既存データを読出し、その読み出した既存データと新たに書き込むデータとを消去済みブロックに書き込むコピー処理（巻き込み退避処理）のような時間のかかる処理が、それ以前のデータの書き込み状況によって発生する場合としない場合がある。このため、アクセス装置が不揮発性記憶装置に対してデータ書き込みを要求してから、データ送信が完了するまでに要する時間（不揮発性記憶装置が、アクセス装置から送信されたデータを書き込む処理を完了させるまでの時間）が長くなる可能性がある。
また、一時的に大量のデータを不揮発性記憶装置へ書き込む必要のあるアクセス装置の場合等には、前述したような時間のかかる消去済みブロックの確保やコピー処理（巻き込み退避処理）が発生すると、データを不揮発性記憶装置へ書き込めない可能性がある。
【０００７】
本発明は、アクセス装置が不揮発性記憶装置へ、データ書き込みを要求してからデータ送信を完了するまでの時間をより短縮させることを目的とするものである。
【課題を解決するための手段】
【０００８】
本願のメモリコントローラは、不揮発性メモリへのデータの書き込みを制御するメモリコントローラであって、ホストＩＦ部と、高速書込み準備部と、高速書込み準備部処理部と、データ再配置部とを備える。
ホストＩＦ部は、メモリコントローラの外部から不揮発性メモリへのデータの書き込みを制御するためのコマンドまたはデータを送受信する。
高速書込み準備部は、ホストＩＦ部が外部から高速書込み準備コマンドを受信した場合、不揮発性メモリへのデータ書き込み方式を高速書き込み方式に設定する（高速書き込み方式へ切り替える）。
高速書込み処理部は、データ書き込み方式が高速書き込み方式に設定されている場合（高速書き込み方式に切り替えられた場合）、ホストＩＦ部が外部から受信した不揮発性メモリへ書き込むデータを、データ消去済みの物理ブロックに、該データの記録位置である論理アドレスを用いず、順次記録する。
【０００９】
データ再配置部は、ホストＩＦ部が外部から高速書き込み方式の終了を通知するコマンドを受信すると、物理ブロックに高速書込み処理部が記録したデータを、論理アドレスに基づいて、論理アドレスが割り当てられている物理ブロックに再配置する。
これにより、不揮発性メモリへのデータ記録を従来と比較してより高速に行うことが可能となる。
なお、「高速書き込み方式に設定する」とは、通常のデータ書き込み方式（書き込み指示された論理アドレスに相当する物理アドレスを論理アドレス−物理アドレス変換により取得し、その取得した物理アドレスにデータ書き込む方式）から高速書き込み方式（高速データ書き込み方式）に切り替えることを含む概念である。
また、「順次記録する」とは、高速書き込み方式によるデータ書き込み処理が実行されているときにデータ書き込み先に設定されている物理ブロックの先頭ページから順番に最終ページに向かって、順次データを書き込んでいくことを含む概念である。
【００１０】
また、「再配置する」とは、書き込みコマンドで指示された論理アドレスに対応する物理アドレスに、当該書き込みコマンドにより書き込み指示されたデータが実際に記録されている状態となるようにすることを含む概念である。
また、「不揮発性メモリへ書き込むデータを、前記不揮発性メモリのデータ消去済みの物理ブロックに、該データの記録位置である論理アドレスを用いず、順次記録する」とは、不揮発性メモリへの書き込みデータの記録位置を示す論理アドレスに対応する物理アドレスとは異なる物理アドレスを有するデータ消去済みの物理ブロックに、当該書き込みデータを、順次記録することを含む概念である。
さらに、上記のメモリコントローラは、外部から事前に通知される高速書き込み方式で書き込まれるデータの論理アドレスとサイズに基づいて、データ消去済みの物理ブロックを確保する消去ブロック確保部を、さらに備えるものであってもよい。
【００１１】
これにより、高速書き込み方式で記録されるデータの大部分を上記の消去済みの物理ブロックに記録することが可能となり、より高速なデータ記録が可能となる。
なお、「事前に」とは、高速書き込み方式によるデータ書き込み処理が実行されるより前ということを含む概念である。
さらに、上記のメモリコントローラと、メモリコントローラによって制御される不揮発性メモリを備える不揮発性記憶装置として実現することも可能である。
さらに、上記の不揮発性記憶装置へ接続するアクセス装置は、不揮発性記憶装置へ、より高速なデータ書き込み方式（データ書き込みアドレスとして指示した論理アドレスにかかわらず、書き込みデータを、前記不揮発性メモリの所定の物理ブロックに順次記録する高速データ書き込み方式）への切り替え（設定）を指示するコマンドを発行する一時書込み準備部と、ユーザーデータと、該ユーザーデータをファイルシステム上で管理するための管理データと、を不揮発性記憶装置へ送信する一時書込み部と、不揮発性記憶装置へ、高速なデータ書き込みが終了することを通知する一時書込み終了部と、を備えるものであってもよい。
【００１２】
これにより、上記アクセス装置は、不揮発性記憶装置へのデータ書き込みをより高速に行うことが可能となる。
なお、「切り替え」とは、設定を含む概念である。
また、アクセス装置は、不揮発性メモリに記録されているファイルシステム管理情報に基づいて、論理アドレス空間上での空き領域を探索し、該空き領域の情報を論理アドレスおよびデータサイズの情報として不揮発性記憶装置へ通知する消去ブロック指定部を、さらに備えるものであってもよい。
これにより、アクセス装置は、不揮発性記憶装置へ消去ブロックの対象となる空き領域を明示的に伝えることが可能となる。
上記のアクセス装置と、不揮発性記憶装置とを有する不揮発性記憶システムも同様に実現可能である。
【００１３】
また、コマンドによる不揮発性メモリへのデータ書き込み方法であって、以下のステップを備えるデータ書き込み方法も実現可能である。
（１）不揮発性メモリへのデータの書き込みを制御するためのコマンドまたはデータを受信するコマンド／データ受信ステップ。
（２）コマンド／データ受信ステップで、高速書込み準備コマンドを受信した場合、不揮発性メモリへのデータ書き込み方式を高速書き込み方式に設定する高速書き込み準備ステップ。
（３）データ書き込み方式が高速書き込み方式に設定されている場合、コマンド／データ受信ステップで受信した不揮発性メモリへ書き込むデータを、不揮発性メモリのデータ消去済みの物理ブロックに、該データの記録位置である論理アドレスを用いず、順次記録する高速書込み処理ステップ。
（４）コマンド／データ受信ステップで、高速書き込み方式の終了を通知するコマンドを受信した場合、物理ブロックに高速書込み処理ステップが記録したデータを、論理アドレスに基づいて、論理アドレスが割り当てられている物理ブロックに再配置するデータ再配置ステップ。
【００１４】
また、上記データ書き込み方法をコンピュータに実行させるためのプログラムも実現可能である。
【発明の効果】
【００１５】
本発明によれば、アクセス装置が不揮発性記憶装置へ、データ書き込みを要求してからデータ送信を完了するまでの時間をより短縮させることが可能となる。
【図面の簡単な説明】
【００１６】
【図１】不揮発性記憶システムの例を示す図
【図２】不揮発性記憶システムの機能構成図
【図３】不揮発性メモリの論理アドレス空間を示す図
【図４】第１実施形態におけるアクセス装置と不揮発性記憶装置間シーケンス図
【図５】論理アドレス空間と物理アドレス空間の初期状態図
【図６】論理アドレス空間と物理アドレス空間の高速書き込み時の状態図
【図７】論理アドレス空間と物理アドレス空間のデータ再配置中の状態図
【図８】論理アドレス空間と物理アドレス空間のデータ再配置後の状態図
【図９】再配置処理のフローチャート
【図１０】第２実施形態におけるアクセス装置と不揮発性記憶装置間シーケンス図
【発明を実施するための形態】
【００１７】
［第１実施形態］
以下、本発明の第１実施形態について、図面を参照しながら説明する。
図１は、本実施形態の説明に使用する不揮発性記憶システムの例である。図１の不揮発性記憶システムは、不揮発性記憶装置へ記録するデータを生成するデジタルスチルカメラ１００と、デジタルスチルカメラ１００が生成したデータを記録する不揮発性の記憶装置であるメモリカード１０１とを有する。
デジタルスチルカメラ１００は、撮影した画像をデジタルデータとして生成する。
メモリカード１０１は、デジタルスチルカメラ１００の格納部（図示せず）に格納することができ、格納された状態で使用される。メモリカード１０１は、デジタルスチルカメラ１００からのデータ記録要求に応じて、撮影した画像等のデータをメモリカード１０１の内部の記録媒体、例えば不揮発性メモリに記録するものである。
【００１８】
以下の説明では、デジタルスチルカメラ１００をアクセス装置、メモリカード１０１を不揮発性記憶装置として説明する。
なお、図１では、アクセス装置にデジタルスチルカメラを例として説明したが、本実施形態は、これに限定するものではない。デジタルスチルカメラ以外のビデオカメラや、音声レコーダ、放送受信レコーダ等、データを生成又は外部から受信し、不揮発性記憶装置に記録するものであれば、そのカテゴリを限定するものではない。
同様に、不揮発性記憶装置として、本実施形態では、メモリカードを例に説明するが、これに限定されるものではない。不揮発性記憶装置は、例えば、ハードディスク装置等、他のデータ記録装置であってもよい。
＜１．１：不揮発性記憶システムの構成＞
図２は、図１の不揮発性記憶システムの機能構成を示した図である。
【００１９】
図２において、不揮発性記憶システムは、アクセス装置１００１と不揮発性記憶装置１００２とを有する。
（１．１．１：アクセス装置の構成）
アクセス装置１００１は、不揮発性記憶装置１００２に書き込むデータを生成する。本実施形態では、アクセス装置１００１は、図２に示すように、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０、ＣＰＵ１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２、記憶装置インターフェース部（以下、記憶装置ＩＦ部）１３、撮影部１４、入力部１５、表示部１６、バス１７を備える。
ＣＰＵ１１は、アクセス装置１００１全体を制御する。具体的には、ＣＰＵ１１は、ＲＯＭ１０に記録されたプログラムを実行することで、他の構成部（機能部）を制御するものである。
【００２０】
ＲＯＭ１０は、アクセス装置１００１を制御等するためのプログラムを格納している。このプログラムは、ＲＡＭ１２を一時記憶領域等として使用し、ＣＰＵ１１上で動作する。また、ＲＯＭ１０に記録されているプログラムは、ＦＳ（Ｆｉｌｅ  Ｓｙｓｔｅｍ）制御部１０５、記憶装置制御部１０６、アプリケーション制御部１０７、一時書込み準備部１０８、一時書込み部１０９、一時書込み終了部１１０、消去ブロック指定部１１１等の機能単位を持つ。これらは、ＣＰＵ１１上で動作可能なソフトウェアとして実現される。
ＲＡＭ１２は、ＣＰＵ１１が上記のプログラム等を実行する際に必要となるデータの一時記憶領域、または、ＲＯＭ１０に記録されたプログラムを実行する際のプログラムデータを記録保持する領域である。なお、ＲＡＭ１２は、これ以外の用途として用いられる場合もある。
【００２１】
記憶装置ＩＦ部１３は、不揮発性記憶装置１００２とアクセス装置１００１とを接続するためのアクセス装置側のインターフェース部分である。記憶装置ＩＦ部１３は、不揮発性記憶装置１００２と、制御信号およびデータの送受信を行う。
撮影部１４は、デジタルスチルカメラ１００において、レンズを通して入射した被写体からの光を電気信号に変更し画像データを生成する。
入力部１５は、撮影の開始・終了を行うためのレリーズボタン、レリーズボタンを押した時に１枚だけ撮影する単写モードと、複数毎の画像を連続して撮影する連写モードとの切り替えボタン、その他の設定用ボタン等を含んで構成され、ユーザーからの操作等を受け付けるものである。そして、入力部１５は、ユーザの操作内容を示す信号を、バス１７を介してＣＰＵ１１等に出力する。
【００２２】
表示部１６は、撮影部１４が撮影、生成した画像データを表示するための機能部であり、例えば、液晶パネル等を含んで構成される。
バス１７は、上記の各機能部間でデータの授受をおこなうために接続するためのデータ配線等である。なお、図２の配線形態は、バス型の接続形態であるが、本実施形態は、これに限定するものではない、他の接続形態であってもよい。
尚、ＦＳ制御部１０５、記憶装置制御部１０６、アプリケーション制御部１０７、一時書込み準備部１０８、一時書込み部１０９、一時書込み終了部１１０、消去ブロック指定部１１１の全部もしくは一部をハードウェアにより実現してもよい。
ＦＳ制御部１０５は、不揮発性記憶装置１００２に対するデータの書き込み、読み出しをファイル単位で管理するファイルシステムの機能を提供する。本実施形態では、ＦＳ制御部１０５で用いるファイルシステムをＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムとして説明するが、これに限定されることはなく、例えば、ＦＳ制御部１０５において、ＮＦＴＳ（Ｎｅｗ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）、ＨＳＦ（Ｈｉｅｒａｃｈｉｃａｌ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）等の他のファイルシステムを用いてもよい。なお、ＦＳ制御部１０５は、不揮発性記憶装置１００２の記憶領域を論理的なアドレスを用いて管理する。
【００２３】
記憶装置制御部１０６は、バス１７および記憶装置ＩＦ部１３を介して、不揮発性記憶装置１００２とのデータ送受信の制御を行う。具体的には、記憶装置制御部１０６は、不揮発性記憶装置１００２の記憶領域を論理的に管理する論理アドレス空間上で、処理開始論理アドレスと処理サイズを指定して、ファイルアロケーションテーブル（ＦＡＴ）、ディレクトリエントリ（Ｄ．Ｅ．）などのファイルシステム管理情報（ＦＳ管理情報）や撮影した画像のデータの書き込み／読み出し処理を所定のコマンドやプロトコルを用いて行う。また、記憶装置制御部１０６は、ＦＳ管理情報や画像データの書き込み／読み出し処理を実行するために、不揮発性記憶装置１００２に対して送受信等の制御を行う。
アプリケーション制御部１０７は、アクセス装置１００１の電源の制御や初期化、画像を撮影するプログラム、入力部１５からの操作内容から撮影の準備・開始・終了などアクセス装置１００１全体の制御を行う。
【００２４】
一時書込み準備部１０８は、アプリケーション制御部１０７からの指示を受けて、不揮発性記憶装置１００２へのデータ書き込みを、一時的に高速な書き込み方式に変更するためのコマンドを発行する機能を提供する。
一時書込み部１０９は、アプリケーション制御部１０７からの指示を受けて、不揮発性記憶装置１００２へのデータ書き込みを（一時的に）高速な書き込み方式で行うため、撮影部１４、記憶装置ＩＦ部１３を制御する。一時書込み部１０９は、所定量のデータの高速書き込み制御が終了すると、後述する一時書込み終了部１１０へ一時書き込み方式の終了の制御を指示する。なお、一時書込み部１０９は、通常のデータ書き込み（高速な書き込み方式でない場合のデータ書き込み）と高速な書き込みとを明確に区別するため、高速なデータ書き込み処理の実行時において、不揮発性記憶装置１００２へデータを送信する際の送信方法、例えば送信コマンド体系やデータ送信体系等、を通常のデータ書き込み時と異なる方法を用いてもよい。
【００２５】
一時書込み終了部１１０は、アプリケーション制御部１０７もしくは一時書込み部１０９から、不揮発性記憶装置１００２へ記録するデータの高速書き込みを終了する指示を受けて、撮影部１４を制御するとともに、記憶装置ＩＦ部１３を介して、一時書き込み終了コマンドを不揮発性記憶装置１００２へ発行する機能を提供する。
消去ブロック指定部１１１は、ＦＳ制御部１０５を介して、不揮発性記憶装置１００２の管理情報領域２７１のデータを読み出す。消去ブロック指定部１１１は、この情報に基づいて、論理アドレス上で空き領域を探索する。この探索した空き領域の情報は、消去ブロック指定部１１１が、不揮発性記憶装置１００２へ通知する。不揮発性記憶装置１００２は、上記の情報に基づいて、不揮発性メモリ２７のユーザー記憶領域２７２の未使用の物理ブロックの領域を一時データ格納領域２７３に属させることで、一時データ格納領域２７３の消去ブロックを確保することが可能となる。
【００２６】
（１．１．２：不揮発性記憶装置の構成）
（１．１．２．１：メモリコントローラ）
一方、図２に示すように、不揮発性記憶装置１００２は、メモリコントローラ２５と、不揮発性メモリ２７と、を含む。
メモリコントローラ２５は、ホストインターフェース部（ホストＩＦ部）２５０と、アドレス管理部２５１と、メモリアクセス部２５２と、高速書込み準備部２５３と、高速書込み処理部２５４と、データ再配置部２５５と、消去ブロック確保部２５６と、を含む。
ホストＩＦ部２５０は、アクセス装置１００１とデータやコマンド等の送受信を行うインターフェースである。ホストＩＦ部２５０を介して、アクセス装置１００１と送受信されるデータやコマンド等は、制御信号、画像やドキュメントなど一般のファイルデータ、ファイルアロケーションテーブル（ＦＡＴ）、ディレクトリエントリ（Ｄ．Ｅ．）、その他各種情報、アクセス装置１００１を制御するためのコマンド、コマンドに対するレスポンス等である。
【００２７】
アドレス管理部２５１は、アクセス装置１００１から指定される論理アドレスと不揮発性メモリ２７の記憶領域へ実際にアクセスする際の物理アドレスとの関連付けを行うものである。ホストＩＦ部２５０が送受信するデータのアドレスは、アクセス装置１００１のＦＳ制御部１０５が管理する論理的なアドレス（論理アドレス）である。一方、不揮発性メモリ２７の記憶領域は、物理的なアドレス（物理アドレス）で管理されている。そのため、アドレス管理部２５１により、この論理アドレスと物理アドレスとの対応関係を管理する必要がある。そこで、アドレス管理部２５１は、この対応を、管理テーブルを用いて相互に変換する。なお、論理アドレスと物理アドレスとの対応を管理する方法として管理テーブル以外の方法を用いてもよい。例えば、論理アドレスと物理アドレスとの対応関係に数式等で示される所定の関係がある場合は、管理テーブルの代わりに数式等を用いた管理方法により論理アドレスと物理アドレスとの対応関係を管理してもよい。
【００２８】
メモリアクセス部２５２は、不揮発性メモリ２７へのアクセスを制御して、ホストＩＦ部２５０が受信したデータを不揮発性メモリ２７へ記録する処理や、不揮発性メモリ２７からデータを読み出し、ホストＩＦ部２５０を介して外部へ送信する処理を行う。メモリアクセス部２５２は、不揮発性メモリ２７に対してデータ記録又はデータ読み出しを行う際に、アドレス管理部２５１から取得した物理アドレスを指定して不揮発性メモリ２７にアクセスする。
メモリアクセス部２５２は、不揮発性メモリ２７へデータを記録する際に、データを記録する消去済みブロックを探索し（消去済みブロックの有無を検出し）、探索した結果、消去済みブロックがあれば、そのブロックに対してアクセス装置１００１から受け取ったデータをページ単位で書き込む処理を実行する。一方、消去済みブロックがない場合、メモリアクセス部２５２は、未使用ブロックを消去して消去済みブロックを確保し、その後、確保した消去済みブロックに、ホストＩＦ部２５０から受け取ったデータをページ単位で書き込む処理を行う。
【００２９】
また、ホストＩＦ部２５０から１ブロックを満たさないデータ書き込み要求があった場合、メモリアクセス部２５２は、当該データに対応する物理ブロックから有効なデータを読み出すとともに、読み出したデータと書き込み要求のあったデータとを、新しく確保した消去済みブロックに書き込む処理も行う。この場合、たとえ１ページのみのデータ更新であったとしても、当該ページを含む物理ブロックの他のデータをコピーする作業が発生する。
高速書込み準備部２５３は、一時書込み準備部１０８が発行し、ホストＩＦ部２５０が受けた一時書き込み準備コマンドに基づいて、以後のアクセス装置１００１からの書き込みデータを一時データ格納領域２７３に書き込む設定に変更する。
高速書込み処理部２５４は、アクセス装置１００１からホストＩＦ部２５０を介して受けたデータ、例えば画像のファイルデータ、ＦＡＴ、Ｄ．Ｅ．等、を一時データ格納領域２７３に書き込む際に、これらのデータを記録する論理アドレスとそのサイズもともに記憶する。
【００３０】
尚、高速書込み処理部２５４は、データとともに記録する論理アドレスとそのサイズ情報を、一時データ格納領域２７３の各ページに付随する冗長部に格納してもよいし、また、一時データ格納領域２７３にデータとは独立に別途格納してもよい。さらに、高速書込み処理部２５４は、これらのデータ、論理アドレス、サイズ等の一部の情報を不揮発性メモリ２７以外のＲＡＭ（図示せず）に記録するものであってもよい。
データ再配置部２５５は、アクセス装置１００１の一時書込み終了部１１０が発行した一時書き込み終了コマンドに基づいて、一時データ格納領域２７３に格納されたデータや論理アドレス、サイズ等の情報を読出し、読み出した情報をユーザー記憶領域２７２から確保した消去済みブロックにコピーする。それとともに、データ再配置部２５５は、アドレス管理部２５１に対応する論理アドレスと物理アドレスの更新の指示と、その更新結果等を管理情報領域２７１へ反映させるためメモリアクセス部２５２を制御する。尚、このデータ再配置処理の詳細については、後述する。
【００３１】
消去ブロック確保部２５６は、ホストＩＦ部２５０が受けた消去が可能なブロックの論理アドレスと、そのサイズ情報を元に、管理情報領域２７１を参照して該当する物理ブロックを消去し、管理情報領域２７１に消去済みブロックとして登録するとともに新たな一時データ格納領域２７３として割り当てる機能を提供するものとする。
（１．１．２．２：不揮発性メモリ）
本実施形態では、データを記録媒体として不揮発性メモリを用いて説明する。
不揮発性メモリ２７では、特にＮＡＮＤ型のフラッシュメモリ用のような不揮発性メモリでは、ブロック単位でデータを消去し、ページ単位でデータの書き込みを行う必要がある。図３は、ＮＡＮＤ型フラッシュメモリの内部の構成（論理アドレス空間）の例を示す図である。図３に示すように、不揮発性メモリ２７の記憶領域は、論理アドレス空間によりアドレス管理をすると、管理情報領域２７１と、ユーザー記憶領域２７２と、一時データ格納領域２７３と、から構成される。
【００３２】
管理情報領域２７１には、不揮発性メモリ２７の記憶領域を管理する論理アドレス空間と物理アドレス空間との対応関係を示す管理テーブル、消去済みブロック、未使用ブロックを管理する情報等が記録される。
管理テーブルは、不揮発性メモリ２７から実際にデータを読み出し、又はデータの書き込みを行う際等に、アドレス管理部２５１により用いられる。
消去済みブロックは、いずれの論理アドレスにも割り当てられず、また、記憶領域も消去されているブロックである。
未使用ブロックは、いずれの論理アドレスにも割り当てられておらず、かつ、過去に記録されたデータが消去されずに残っているブロックである。つまり、未使用ブロックは、いずれの論理アドレスにも割り当てられていない点では、消去ブロックと同じであるが、過去に記録されたデータが消去されずに残っている点で、消去ブロックとは異なる。
【００３３】
消去ブロックは、未使用ブロックにおいて特別なブロックと解することもできる。管理情報領域２７１は、これら消去ブロック、未使用ブロックを管理するための情報や、管理テーブル等を記録している。
その他に、不揮発性メモリ２７の容量（メモリ容量）の情報（例えば、不揮発性記憶装置１００２がＳＤカードである場合のカード情報に相当）、不揮発性記憶装置１００２のデータ読み出し速度又はデータ書き込み速度等の情報など、管理情報領域２７１は、各種の情報を格納していてもよい。
ユーザー記憶領域２７２は、不揮発性記憶装置１００２の外部から書き込み要求のあったデータを記録する領域である。一般に、ユーザー記憶領域２７２は、アクセス装置１００１を介して、不揮発性記憶装置１００２のユーザー等が、任意のデータを読み書きすることができる。本実施形態におけるアクセス装置１００１が撮影した画像データ等も、ファイルシステムで定める管理方法に従って、ユーザー記憶領域２７２に格納される。
【００３４】
一時データ格納領域２７３は、高速書込み処理部２５４により書き込まれるデータを一時的に格納するための領域である。
図５は、本実施形態における不揮発性メモリ２７の論理ブロック（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ、以下「ＬＢ」という。）と物理ブロック（Ｐｈｉｓｉｃａｌ  Ｂｌｏｃｋ、以下「ＰＢ」という。）との対応の一例を示す図である。図５では、ＬＢ１０とＰＢ１０、ＬＢ２０とＰＢ２０などのように対応がとれており、各論理ブロックには入るべき論理アドレスの範囲が決まっているものとする。例えば、論理アドレス「１０２」（ＬＢ１０の冗長部が「１０２」のアドレス）のデータを不揮発性メモリ２７から読み出す場合は、そのアドレスが含まれるＬＢ１０が、どの物理ブロックに対応しているか管理テーブルを確認する。管理テーブルを確認することで、図５の場合、ＬＢ１０にはＰＢ１０が対応していることが分かる。次に、ＰＢ１０の冗長部を確認し、論理アドレス「１０２」に該当する、冗長部が「１０２」の物理アドレスを特定する。この特定された物理アドレスから該当するデータを取り出す。このようにして、論理アドレス「１０２」のデータを不揮発性メモリ２７から読み出すことができる。
【００３５】
＜１．２：不揮発性記憶システムの動作＞
以上のように構成された、本実施形態の不揮発性記憶システムにおいて、ユーザーが一時的に高速な書き込みを行う場合の処理を、図４を用いて説明する。なお、「一時的に高速な書き込みを行う場合」とは、デジタルスチルカメラ１００が、連続撮影を行った場合等において、不揮発性記憶装置１００２へ比較的短時間に大量のデータを記録するような場合（例えば、１秒間に数百ＭＢのデータを記録するような場合）である。
（Ｓ３１０〜Ｓ３３０）：
ステップＳ３１０で、アクセス装置１００１（デジタルスチルカメラ１００）は、入力部１５等により撮影モードが連続撮影モードへ切り替えられたことを検知する。
ステップ３１５では、アクセス装置１００１が上記の撮影モードの切り替えを検知すると、一時書込み準備部１０８が、連続撮影モードでの撮影を準備するため、一時書き込み準備コマンドを不揮発性記憶装置１００２に送信する。尚、このコマンドの発行は、連続モード時に、ユーザーがレンズの合焦を指示する撮影ボタン（レリーズボタン）の半押しで行うものであってもよい。
【００３６】
ステップＳ３２０では、不揮発性記憶装置１００２のホストＩＦ部２５０が受けた一時書き込み準備コマンドにより、高速書込み準備部２５３が、以後のアクセス装置１００１からの書き込みデータを一時データ格納領域２７３に格納させるために不揮発性メモリ２７への書き込み制御及びデータ管理方法の設定を変更する。
ステップＳ３２５では、不揮発性記憶装置１００２が、連続撮影の準備（高速なデータの書き込みの準備）が完了したことをアクセス装置１００１へ返信する。
ステップＳ３３０では、アクセス装置１００１（デジタルスチルカメラ１００）のレリーズボタンがすべて押し込まれることにより（全押し状態となることにより）、連続撮影が開始される。一時書込み部１０９は、連続撮影により生成される画像データを取得する。
（Ｓ３４０）：
ステップＳ３４０では、アクセス装置１００１が、ＦＳ制御部１０５を制御しながら、連続撮影された複数の画像のデータを順次、不揮発性記憶装置１００２に書き込む処理を行う。
【００３７】
ステップＳ３４０におけるＦＳ制御部１０５の処理の詳細についてステップＳ３４２からＳ３５０で説明する。
ステップＳ３４２では、ＦＳ制御部１０５は、不揮発性記憶装置１００２のユーザー記憶領域２７２からＦＳ管理情報を読み出し、ＦＡＴを用いて論理アドレス空間上で空き領域（未使用クラスタ）を探す。
空き領域が決まったら、ＦＳ制御部１０５は、ステップＳ３４４で、データ記録開始位置（開始クラスタ番号など）のＤ．Ｅ．を不揮発性記憶装置１００２に書き込む。
ＦＳ制御部１０５は、引き続いて、ステップＳ３４６で撮影した画像データを不揮発性記憶装置１００２に書き込む。
ステップＳ３４８では、ＦＳ制御部１０５は、更新したＦＡＴのデータを不揮発性記憶装置１００２に書き込む。画像のデータが書込んだクラスタに収まりきらなかった場合、ＦＳ制御部１０５は、再度ステップＳ３４２でＦＡＴ上の空きクラスタ領域を探し、ステップＳ３４６、ステップＳ３４８の書き込みを繰り返す。この処理を繰り返し、１枚の画像のデータの書き込みが終わったら、ＦＳ制御部１０５は、最終的なファイルサイズを確定するためにＤ．Ｅ．を更新する。
【００３８】
ステップＳ３５０では、アクセス装置１００１は、レリーズボタンが解除されているか否か、あるいは、予め設定した連続撮影の撮影枚数の上限を超えていないかを確認し、連続撮影が継続されると判断した場合は、上述したステップＳ３４２からステップＳ３４８の処理を繰り返し行い複数枚の画像（画像データ）を不揮発性記憶装置１００２の不揮発性メモリ２７に書き込む。
以上、アクセス装置１００１側のステップＳ３４０の処理の詳細について説明した。
次に、不揮発性記憶装置１００２側のステップＳ３４０の処理における、不揮発性メモリ２７のデータ記録状態等ついて説明する。説明を簡単にするために、不揮発性記憶装置１００２の撮影開始前の状態は、図５のようになっているものとする。
ステップＳ３４２では、不揮発性記憶装置１００２は、アクセス装置１００１からの要求により、ユーザー記憶領域２７２のＦＳ管理情報（例えば、ＬＢ１０に格納されているＦＡＴの情報）を読み出す。
【００３９】
次に、ステップＳ３４４からステップＳ３４８では、不揮発性記憶装置１００２は、アクセス装置１００１から送られてきたデータを、高速書込み処理部２５４により、不揮発性メモリ２７の一時データ格納領域２７３にある予め確保されている消去済みブロック等に順に書き込む。１つの消去済みブロックへのデータ書き込みが終わったら、次の消去済みブロックに書き込みを行う。これをアクセス装置１００１からの一時書き込み終了コマンドを受け取るまで繰り返し実施する。
不揮発性記憶装置１００２が、上記の処理を繰り返すと、例えば図６に示すように、ＰＢ５０、ＰＢ６０に新Ｄ．Ｅや画像の新データが書込まれ、冗長部に送られたデータの論理アドレスと、そのデータのサイズが格納された状態になる。尚、今回の例では、冗長部に論理アドレスと、そのデータのサイズとを格納しているが、不揮発性メモリ２７の別の領域を設けて、当該論理アドレスとそのデータサイズに関する情報を管理しても良いし、また、当該論理アドレスとそのデータサイズに関する情報をメモリコントローラ２５が持つＲＡＭに記憶しても良い。
（Ｓ３６０〜Ｓ３７５）：
次に、アクセス装置１００１が、連続撮影を終了する際の処理について説明する。
【００４０】
アクセス装置１００１が連続撮影を終了すると、一時書込み終了部１１０は、一時書き込み終了コマンドを不揮発性記憶装置１００２に発行する（ステップＳ３６０）。
ステップＳ３７０では、不揮発性記憶装置１００２が、一時書き込み終了コマンドを受け取ると、データ再配置部２５５は、一時データ格納領域２７３にある新しく書込まれたＦＳ管理情報や画像のデータである、新ＦＡＴ、新Ｄ．Ｅ．新データをユーザー記憶領域２７２に再配置する処理を行う。この再配置処理の詳細については後述する。
ステップＳ３７５では、不揮発性記憶装置１００２が、再配置処理が終わったことをアクセス装置１００１に返信し、連続撮影（高速データ書き込み）の一連の処理が終了する。引き続きユーザーが連写を行う場合は、ステップＳ３１０から開始する。
≪データ再配置処理≫
ステップＳ３７０でのデータ再配置処理の一例を、図７、図９を用いて説明する。
【００４１】
連続撮影された画像のデータや、それらのＦＳ管理情報は、図７にあるように、一時データ格納領域２７３のＬＢＡ０とＬＢＡ１に割り当てられており、管理情報領域２７１にある管理テーブルを使って、対応する物理ブロックを確認することができ、各々ＰＢ５０とＰＢ６０に割り当てられているものとする。
データ再配置部２５５は、まず、ステップＳ８１０で、冗長部を含めて連続撮影した画像データを読み出す。図７にあるＰＢ５０の一番上の新Ｄ．Ｅ（論理アドレス「２０３」）が読み出される。
（Ｓ８２０）：
ステップＳ８２０では、データ再配置部２５５は、冗長部に格納されている論理アドレスを確認し、同一論理アドレスのデータが、一時データ格納領域２７３に書込まれていないか探索し確認する。例えば、図７の場合、論理ブロックＬＢＡ０には、論理アドレス「２０３」のデータが、ページＡ１およびページＡ２に格納されているので、データ再配置部２５５は、論理アドレス「２０３」のデータとして、この２つのデータを検出する。
【００４２】
また、同じＬＢの中に入る論理アドレスのデータが他にないか探す。
（Ｓ８３０）：
ステップＳ８３０では、データ再配置部２５５は、ステップＳ８２０で見つかった同じＬＢ内に書き込むべきデータをコピーする対象のデータとして確定する。例えば、図７の場合、データ再配置部２５５は、論理ブロックＬＢＡ０に格納されている論理アドレスが「３００」の新データと、論理アドレスが「３０１」の新データとを、同一論理ブロックＬＢ３０のデータ（コピー対象データ）として確定する。
また、図７の場合、データ再配置部２５５は、論理ブロックＬＢＡ０のページＡ２に格納されているデータ（同一論理アドレスのデータが検出された場合の最新の書き込みデータ）を、論理アドレスが「２０３」の新Ｄ．Ｅのコピー対象データ（論理ブロックＬＢ２０へのコピー対象データ）として、確定する。
（Ｓ８４０）：
ステップＳ８４０では、データ再配置部２５５は、管理情報領域２７１から消去済みブロックを確保する。消去済みブロックがない場合、未使用ブロックを消去して消去済みブロックを確保する。
（Ｓ８５０）：
ステップＳ８５０では、データ再配置部２５５は、確保した消去済みブロックに、ステップＳ８２０で確定したデータを書き込む。このとき、ステップＳ８２０の確定したデータでＰＢのすべてページが書き込みされない場合は、以前書込んだ論理ブロックからデータを読み出して書き込みを行う。
【００４３】
例えば、図７において、消去済みブロックとしてＰＢ２１を確保し、ＰＢ５０にある論理アドレス「２０３」の新Ｄ．Ｅと、ＰＢ６０にある論理アドレス「２０４」の新Ｄ．ＥをＰＢ２１へコピーする。尚、一時データ格納領域２７３にある論理アドレス２０３と論理アドレス２０４のデータは、図７の中で、それぞれ、同一論理ブロック内で２つ存在しているが、後に書込まれた方（最新のデータ）をコピーする。ＰＢ２１には、まだ書き込みができるページがあるため、残りのページに対して以前書込まれたデータがあるＰＢ２０の論理アドレス２００、２０１、２０２、２０５のデータをコピーする。
（Ｓ８６０）：
ステップＳ８６０では、アドレス管理部２５１は、管理テーブルの更新を行う。具体的には、アドレス管理部２５１は、ＬＢ２０にある論理アドレス２００から２０５に対応する物理ブロックをＰＢ２０からＰＢ２１に変更し、ＰＢ２０を未使用ブロックの状態に更新する。
（Ｓ８７０）：
ステップＳ８７０では、不揮発性記憶装置１００２は、ステップＳ８１０で一時書き込み処理の対象となった連続撮影画像のデータに続くデータがあるか確認し、ある場合は、ステップＳ８１０に戻り、続きの連写したデータを再配置する。図７で説明すると、ＰＢ５０にある新Ｄ．Ｅ．（論理アドレス「２０３」）の再配置が終わったら、次に、新データ（論理アドレス「３００」）の再配置処理が実行される。ステップＳ８７０で、すべての連続撮影のデータが再配置された場合は、ステップＳ８８０に進む。
（Ｓ８８０）：
ステップＳ８８０では、アドレス管理部２５１は、一時データ格納領域２７３に新しい消去済みブロックを割り当てるため、管理情報領域２７１から消去済みブロックがあるか確認し、ある場合には、そのブロックを割り当て、ない場合には、未使用ブロックを消去して消去済みブロックを確保する。
（Ｓ８９０）：
ステップＳ８９０では、アドレス管理部２５１は、確保した消去済みブロックを一時データ格納領域２７３で使えるように管理テーブルを書き換える。例えば、一時データ格納領域２７３のＬＢＡ０とＬＢＡ１が、各々ＰＢ５０とＰＢ６０に割り当てられているものとした場合、消去済みブロックを探し、ＰＢ５１が見つかった場合は、それを割り当てる。消去済みブロックが見つからなかった場合、アドレス管理部２５１は、未使用ブロックを探し、割り当てる。ここでは、例えば、ＰＢ２０が未使用ブロックになっているので、それを割り当てる。また、アドレス管理部２５１は、ＰＢ５０とＰＢ６０を未使用ブロックに変更する。最終的には、図８のように、ＬＢＡ０とＬＢＡ１とが、各々ＰＢ５１とＰＢ２０とに割り当てられている状態となる。
（Ｓ８９５）：
ステップＳ８９５では、不揮発性記憶装置１００２は、以後のアクセス装置１００１からの書き込みデータを一時データ格納領域２７３から通常のユーザー記憶領域２７２に書き込む方式へ切り替える設定変更を行う。
【００４４】
以上により、データ再配置処理が終了となる。
本実施形態の不揮発性記憶システムでは、高速データ記録時において、データの記録位置（論理アドレス）に関係なく、不揮発性記憶装置１００２は、アクセス装置１００１から受信する順にデータを一時記録領域に記録することで、アクセス装置１００１からの高速データ書き込みを可能とする。そして、高速書き込み（高速データ記録処理）が終了すると、不揮発性記憶装置１００２は、一時記録領域に記録されたデータの論理アドレス等を参照して、一時記録領域に記録されたデータをユーザー記憶領域に再配置する。このため、本実施形態の不揮発性記憶システムでは、データの高速書き込み（高速データ記録処理）を実現することができるとともに、データの整合性も保つことがきる。
これにより、本実施形態の不揮発性記憶システムでは、アクセス装置が不揮発性記憶装置へデータ書き込みを要求してから、データ送信が完了するまでの時間をより短縮することが可能となる。
【００４５】
［第２実施形態］
第１実施形態では、一時データ格納領域２７３には、常に一定の数の消去済みブロックが確保されていることを前提としている。しかし、不揮発性メモリ２７の記憶容量は一定のため、一時データ格納領域２７３において大量の消去ブロックを確保すると、ユーザー記憶領域２７２が相対的に減少するという課題がある。そこで、本実施形態では、この課題に対処する方法に関して、図１０を用いて説明する。
本実施形態と第１実施形態の異なる点は、ステップＳ９３０からステップＳ９３６までの部分である。他のステップは、第１実施形態と同じであるため、説明を省略する。また、前述の実施形態と同様の部分については、同一符号を付している。
（Ｓ３１０）：
ステップＳ３１０では、ユーザーが連写を行うために、アクセス装置１００１（デジタルスチルカメラ）の連写モードに移行する切り替えボタンを押し、アクセス装置１００１の一時書込み準備部１０８が連写モードでの撮影の準備を開始する。
（Ｓ３１５）：
ステップＳ３１５では、アクセス装置１００１は、一時書き込み準備コマンドを不揮発性記憶装置１００２に送信する。
（Ｓ３２０）：
ステップＳ２２０では、不揮発性記憶装置１００２のホストＩＦ部２５０が受けた一時書き込み準備コマンドにより、高速書込み準備部２５３が、以後のアクセス装置１００１からの書き込みデータを一時データ格納領域２７３に書き込むように設定を変更するとともに、一時データ格納領域２７３に、管理情報領域２７１を使って消去済みブロックがあるか確認し、ある場合には、そのブロックを割り当て、ない場合には、未使用ブロックを消去して消去済みブロックを確保する。
（Ｓ３２５）：
ステップＳ３２５では、アクセス装置１００１は、不揮発性記憶装置１００２から高速書き込み準備処理の結果を受信する。ステップＳ３２０において消去済みブロックを確保できた場合、高速書き込み準備完了の結果をアクセス装置１００１は受信し、消去済みブロックを確保できなかった場合、確保できなかったサイズとともに高速書き込み準備未完了の結果をアクセス装置１００１は受信する。
（Ｓ９３０）：
ステップＳ９３０では、アクセス装置１００１が不揮発性記憶装置１００２から高速書き込みの準備完了の結果を受信していた場合は、ステップＳ３３０に進み、不揮発性記憶装置１００２は、アクセス装置１００１からの連続撮影（高速書き込み指示等）の操作待ち状態になる。一方、アクセス装置１００１が不揮発性記憶装置１００２から高速書き込み準備未完了の結果を受信していた場合は、ステップＳ９３３に進む。
（Ｓ９３３）：
ステップＳ９３３では、消去ブロック指定部１１１が、不揮発性記憶装置１００２のユーザー記憶領域２７２からＦＳ管理情報を読み出し、読み出したＦＳ管理情報、特にＦＡＴ等の情報に基づいて、ファイルシステム上から必要とする大きさの空き領域（未使用クラスタ）を探す。
（Ｓ９３４）：
ステップＳ９３４では、消去ブロック指定部１１１が、ステップＳ９３３で探索したＦＡＴ上で空き領域になっているユーザー記憶領域２７２の論理アドレスとサイズの情報を、消去ブロック指定コマンドを使って不揮発性記憶装置１００２に通知する。尚、消去ブロック指定コマンドで送る論理アドレスとサイズの通知は、２つ以上の複数の範囲を指定してもよい。例えば、論理アドレス１００００から１Ｍバイト分と、論理アドレス２００００から２Ｍバイト分など複数の範囲を送っても良い。
（Ｓ９３５）：
ステップＳ９３５では、消去ブロック指定コマンドで指定された論理アドレスとサイズの情報に基づいて、消去ブロック確保部２５６が、対応するユーザー記憶領域２７２の物理ブロックを割り出し、必要があればそのブロックを消去してから、当該物理ブロックをユーザー記憶領域２７２から一時データ格納領域２７３の物理ブロックに変更する。これは、管理情報領域２７１に格納されている各物理ブロックがいずれの領域に属するか等の情報を更新することで可能である。
（Ｓ９３６）：
ステップ９３６では、ステップＳ９３５の処理により一時データ格納領域２７３用に消去ブロックの確保が完了したことを不揮発性記憶装置１００２からアクセス装置１００１へ通知する。
（Ｓ３３０〜Ｓ３７５）：
以降の、ステップＳ３３０〜ステップＳ３７５の処理については、第１実施形態と同じ方法で処理できるため説明を省略する。
【００４６】
ステップＳ３７５までの処理が終了すると、不揮発性記憶装置１００２は、ユーザー記憶領域２７２から一時データ格納領域２７３へ属性を変更した物理ブロックの数と同等の物理ブロックを、一時データ格納領域２７３からユーザー記憶領域２７２変更するため、管理情報領域２７１を再度更新する。
以上のような処理を行うことで、本実施形態の不揮発性記憶システムでは、一時データ格納領域２７３用に所定の消去ブロックを確保する必要がなくなり、必要に応じてユーザー記憶領域等から一時格納用の物理ブロックを充填することが可能となる。そのため、本実施形態の不揮発性記憶システムでは、ユーザー記憶領域２７２の論理的な記憶可能容量を減らすことなく、一時的に高速な書き込みができる。
また、第１実施形態と同様に、本実施形態の不揮発性記憶システムでは、アクセス装置が不揮発性記憶装置へデータ書き込みを要求してから、データ送信が完了するまでの時間をより短縮することが可能となる。
【００４７】
［他の実施形態］
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのは勿論である。本発明の趣旨を逸脱しない範囲で実施変更することができる。本実施形態において使用した数値は一例であり、その他の数値を使用しても良い。また実施形態において使用している構成要素の一部を削除したり、その処理の順序を変えたりしても良い。
また、一時データ格納領域２７３へ、はじめて連続撮影したデータを書き込みするときにフラグ等の識別情報を設定し、再配置処理が完了したときに識別情報を消去することで、データ再配置処理の途中で、電源が切断されたり、不揮発性記憶装置の接続が解除されたりした場合等の不測の事態が発生した場合でも、その識別情報を確認することで、次に電源が投入された時に、不揮発性記憶装置が、途中で中断された状態からの続きの処理を実行することができるようにすると更によい。
【００４８】
再配置処理には時間がかかり不測の事態が発生する危険性が高まるが、撮影済みの画像のデータが失われることを防止できる。また、不揮発性記憶システムにおいて、データ再配置処理の前に不測の事態が発生した場合には、一時データ格納領域２７３に消去済みではないブロックが割り当てられた状態となるが、このような場合はステップＳ３２０の高速書き込み準備処理で、そのブロックの消去を行っても良いし、次に電源が入った時に、消去を行っても良いし、一時データ格納領域２７３へのデータ書き込み前に消去を行っても良い。
また、図１０において、消去ブロック確保処理は、連続撮影モードボタン押下の後に実施されているが、これに限定されることはなく、例えば、アクセス装置１００１の電源を入れた時など、アクセス装置１００１の処理が空いているタイミングで、消去ブロック確保処理を行っても良い。
【００４９】
また、図１０において、消去ブロックの指定は、ファイルシステムのＦＳ管理情報を読み出して空きクラスタをアクセス装置１００１から指定することで行っているが、これに限定されることはなく、例えば、不揮発性記憶装置１００２内にファイルシステムを内蔵し、不揮発性記憶装置１００２の中で空きクラスタを探し、消去ブロックの確保をするようにしても良い。
また、図１０において、ファイルシステムのＦＳ管理情報を読み出して空きクラスタを探しているが、これに限定されることはなく、例えば、不揮発性記憶システムにおいて、空きクラスタが断片的に小さいサイズで複数存在しているような場合は、一旦、一時データ格納領域２７３に書き込む設定を解除し、ファイルシステムを通して、空きクラスタを整理し、複数の小さなサイズのクラスタを大きなサイズにまとめるデフラグ処理を行ってから、再度、ステップＳ３１５の一時書き込み準備コマンドから実施するのが良い。
【００５０】
また、図４、図１０において一時書き込み準備コマンドを送信することによって、以後の書き込みを一時データ格納領域２７３に書き込むようにしているが、これに限定されることはなく、例えば、不揮発性記憶システムにおいて、一時データ格納領域２７３を読み書きするための特別なコマンドを用意して、一時書き込み準備コマンドを発行せずに、以後の書き込みを一時データ格納領域２７３にデータを書き込む処理を実行するようにしても良い。
また、図２において、不揮発性記憶装置１００２の中の不揮発性メモリ２７は、１つの不揮発性メモリが搭載されているように記載されているが、２つ以上の不揮発性メモリが搭載された構成であってもよい。
また、図２において、アクセス装置１００１は、バス１７により各機能部が接続されている場合について、説明したが、これに限定されることはなく、バス１７を持たない構成、あるいは、一部の機能部のみをバス接続する構成であってもよい。
【００５１】
尚、上記実施形態で説明したアクセス装置１００１および不揮発性記憶装置１００２において、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部または全部を含むように１チップ化されても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
更には、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【００５２】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。更に、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
また、上記実施形態において、アクセス装置と不揮発性記憶装置とは、別装置である場合について説明したが、これに限定されることはなく、アクセス装置と不揮発性記憶装置とは、１つの装置内に構成されるものであってもよい。また、アクセス装置は、アクセスモジュールを含む概念であり、不揮発性記憶装置は、不揮発性記憶モジュールを含む概念である。
【００５３】
尚、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【産業上の利用可能性】
【００５４】
本発明に係るメモリコントローラ、不揮発性記憶装置、アクセス装置および連続撮影データ書き込みシステム（不揮発性記憶システム）は、動画記録再生装置等のＡＶ機器、あるいは携帯電話等の通信機器の記録用として有益である。
【符号の説明】
【００５５】
１０  ＲＯＭ
１１  ＣＰＵ
１２  ＲＡＭ
１３  記憶装置ＩＦ部
１４  撮影部
１５  入力部
１６  表示部
１７  バス
２５  メモリコントローラ
２７  不揮発性メモリ
１００  デジタルスチルカメラ
１０１  メモリカード
１０５  ＦＳ制御部
１０６  記憶装置制御部
１０７  アプリケーション制御部
１０８  一時書き込準備部
１０９  一時書込み部
１１０  一時書込み終了部
１１１  消去ブロック指定部
２５０  ホストＩＦ部
２５１  アドレス管理部
２５２  メモリアクセス部
２５３  高速書込み準備部
２５４  高速書込み処理部
２５５  データ再配置部
２５６  消去ブロック確保部
２７１  管理情報領域
２７２  ユーザー記憶領域
２７３  一時データ格納領域
１００１  アクセス装置
１００２  不揮発性記憶装置
【図１】
0005400875.tif 000002
【図２】
0005400875.tif 000003
【図３】
0005400875.tif 000004
【図４】
0005400875.tif 000005
【図５】
0005400875.tif 000006
【図９】
0005400875.tif 000007
【図１０】
0005400875.tif 000008
【図６】
0005400875.tif 000009
【図７】
0005400875.tif 000010
【図８】
0005400875.tif 000011