(57)【要約】  ホスト装置のバッファサイズの増加を抑えながら複数ファイルのデータをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供する。メモリ装置（１）は、第１および第２のデータ書き込みモードと、を備え、ホスト装置（２）は、複数ファイルのデータを記録する場合、第２のデータ書き込みモードを用いて書き込みを行う。また、メモリ装置（１）は、ホスト装置（２）からのコマンドに従い、第２のデータ書き込みモードで書き込んだデータを第１のデータ書き込みモードで書き込んだ状態に再配置する。
2011013350.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と通信することができるように接続されており、前記ホスト装置からのコマンドに従って、データの書き込みおよび／またはデータの読み出しを行うメモリ装置であって、
データを記憶する不揮発性メモリと、
前記ホスト装置の発行するコマンドに含まれる論理アドレスに応じて、前記不揮発性メモリへのデータの書き込み処理および前記不揮発性メモリからのデータの読み出し処理の制御を行い、また、前記不揮発性メモリのメモリ領域をメモリアロケーションユニット単位で管理し、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むように制御するメモリコントローラ部と、
を備え、
前記メモリコントローラ部は、
前記ホスト装置からの指示に従い、データ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのデータ書き込み処理を制御することができ、
（１）前記第１のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、前記ホスト装置の論理アドレスと前記不揮発性メモリの物理アドレスとを対応させ、前記ホスト装置が管理する論理アドレス空間における前記メモリアロケーションユニット内でのデータ配置と、前記不揮発性メモリの物理アドレス空間における前記メモリアロケーションユニット内でのデータ配置とが同一になるように、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択した前記メモリアロケーションユニットに対して、データ書き込み処理を行い、
（２）前記第２のデータ書き込みモードによるデータ書き込み処理を行う場合、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第２データ書き込みモード用メモリアロケーションユニットとして選択し、前記ホスト装置から受信した書き込みデータを、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した前記第２データ書き込みモード用メモリアロケーションユニットに、連続して書き込む、
メモリ装置。
【請求項２】
前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第１のデータ書き込みモードでデータ書き込み処理を行い、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第２のデータ書き込みモードに切り替える、
請求項１に記載のメモリ装置。
【請求項３】
前記メモリコントローラ部は、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第１の書き込みモードに切り替える、
請求項１に記載のメモリ装置。
【請求項４】
前記メモリコントローラ部は、前記ホスト装置から発行される第２のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、前記第１の書き込みモードに切り替える、
請求項１に記載のメモリ装置。
【請求項５】
前記メモリコントローラ部は、前記ホスト装置から発行されるデータ再配置コマンドに従って、前記第２のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項１から４のいずれかに記載のメモリ装置。
【請求項６】
前記メモリコントローラ部は、前記ホスト装置から発行されるデータ消去コマンドにより、前記第２のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、前記第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項１〜４に記載のメモリ装置。
【請求項７】
前記メモリコントローラ部は、
前記ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードおよび第２のファイルシステム情報書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができ、
（１）前記第１のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、前記書き込みコマンドを受信するごとに、逐次、前記不揮発性メモリに書き込むよう制御し、
（２）前記第２のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して前記不揮発性メモリの同じページに書き込むよう制御する、
請求項１から６のいずれかに記載のメモリ装置。
【請求項８】
前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第１のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第２のファイルシステム情報書き込みモードに切り替える、
請求項７に記載のメモリ装置。
【請求項９】
前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替える、
請求項７に記載のメモリ装置。
【請求項１０】
前記メモリコントローラ部は、前記ホスト装置から発行される第２のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替える、
請求項７に記載のメモリ装置。
【請求項１１】
前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項８から１０のいずれかに記載のメモリ装置。
【請求項１２】
メモリ装置にデータの書き込みおよび前記メモリ装置からデータの読み出しを行うホスト装置であって、
前記メモリ装置へのコマンド発行と、前記メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むよう前記メモリ装置を制御するメモリ装置制御部を備え、
前記メモリ装置制御部は、
前記メモリ装置に指示することで、前記メモリ装置のデータ書き込みモードを、前記第１のデータ書き込みモードおよび前記第２のデータ書き込みモードのいずれかに切り換えるよう制御することができる、
ホスト装置。
【請求項１３】
前記メモリ装置制御部は、前記メモリ装置の電源投入時又はリセット後の初期状態では、前記メモリ装置を前記第１のデータ書き込みモードで動作させ、その後、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第２のデータ書き込みモードに切り替えさせる、
請求項１２記載のホスト装置。
【請求項１４】
前記メモリ装置制御部は、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第１の書き込みモードに切り替えさせる、
請求項１２から１３のいずれかに記載のホスト装置。
【請求項１５】
前記メモリ装置制御部は、前記メモリ装置へ第２のデータ書き込みモード終了コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第１の書き込みモードに切り替えさせる、
請求項１２または１３に記載のホスト装置。
【請求項１６】
前記メモリ装置制御部は、前記メモリ装置へデータ再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第２のデータ書き込みモードで書き込まれたデータを、前記第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
請求項１２から１５のいずれかに記載のホスト装置。
【請求項１７】
前記メモリ装置制御部は、前記メモリ装置へ第２のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、前記メモリ装置に、前記メモリ装置により前記第２のデータ書き込みモードで書き込まれたデータを、前記第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
請求項１６に記載のホスト装置。
【請求項１８】
前記メモリ装置制御部は、
前記メモリ装置に指示することで、前記メモリ装置のファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードおよび前記第２のファイルシステム情報書き込みモードのいずれかに切り換えるよう制御することができる、
請求項１２から１７のいずれかに記載のホスト装置。
【請求項１９】
前記メモリ装置制御部は、前記メモリ装置の電源投入時およびリセット後の初期状態では、前記メモリ装置を前記第１のファイルシステム情報書き込みモードで動作させ、その後、前記メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第２のファイルシステム情報書き込みモードに切り替えさせる、
請求項１８に記載のホスト装置。
【請求項２０】
前記メモリ装置制御部は、前記メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替えさせる、
請求項１８に記載のホスト装置。
【請求項２１】
前記メモリ装置制御部は、前記メモリ装置に第２のファイルシステム情報書き込みモード終了コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替えさせる、
請求項１８に記載のホスト装置。
【請求項２２】
前記メモリ装置制御部は、前記メモリ装置へファイルシステム情報再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第２のデータ書き込みモードで書き込まれたデータを、前記第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
請求項１８から２１のいずれかに記載のホスト装置。
【請求項２３】
請求項１から１１のいずれかに記載のメモリ装置と、
請求項１２から２２のいずれかに記載のホスト装置と、
を備えるメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置の命令に応じて不揮発性メモリへのデータの書き込みおよび読み出しを行う、不揮発性メモリを備えたメモリ装置、該メモリ装置と接続して不揮発性メモリへのデータの書き込みおよび読み出しを行うホスト装置および、該ホスト装置とメモリ装置を含んで構成されるメモリシステムに関する。
【背景技術】
【０００２】
デジタルカメラ、ムービー、携帯電話などのデジタル情報を制御する機器(以下、「ホスト装置」という)において，デジタル情報を保持する記憶装置としてＮＡＮＤフラッシュメモリなどの不揮発性メモリが多く使われている。近年では、微細化による不揮発性メモリの仕様変更頻度が高くなっているため、不揮発性メモリとメモリコントローラ部とを搭載したメモリ装置が使われることが多くなってきている。このようなメモリ装置には、ホスト装置と着脱可能なリムーバブルカードや、ホスト装置の基板に直付けして使用するエンベデッドタイプのものがある。
また、近年、内蔵する不揮発性メモリの容量が増加し動画記録用途への応用が広がっている。メモリ装置に動画データを記録する場合、一定の書き込み速度を保証しながら書き込みを行う、いわゆるリアルタイム記録を行う必要がある。特許文献１には、このような不揮発性メモリを用いたメモリ装置へリアルタイム記録を行う方法が開示されている。【０００３】
特許文献１には、所定の条件下でリアルタイム記録を実現する技術が開示されている。具体的には、特許文献１の技術を用いた不揮発性記憶システム（ホスト装置とメモリ装置とを備える不揮発性記憶システム）では、メモリ装置において、不揮発性メモリ上の記憶領域を所定のアロケーションユニット単位（ＡＵ単位）に分割して管理し、メモリ装置の記憶デバイスとしての性能を、所定のデータサイズでアロケーションユニットに連続的にデータを記録した場合の性能として規定する。そして、このように規定されたメモリ装置の記録デバイスとしての性能を、メモリ装置からホスト装置に通知する。ホスト装置は、メモリ装置の記録デバイスとしての当該性能を満たすように、メモリ装置に対してデータ書き込み処理を行うことで、所定の条件下（メモリ装置の記録デバイスとしての性能を満たす条件下）において、リアルタイム記録を行うことができる。つまり、特許文献１の技術では、メモリ装置の不揮発性メモリに、所定のデータサイズでアロケーションユニットに連続的にデータを記録した場合の性能を基準として、データ書き込み処理における最低速度保証を行い、保証される最低速度でのリアルタイム記録を実現させる。【０００４】
また、リアルタイム記録では、実際には、通常のデータとファイルシステム情報とが交互に記録される。特許文献１の技術では、通常データの書き込み性能とファイルシステム情報の書込み性能とを別個に規定し、ファイルシステム情報の書き込みが通常のデータ書き込み性能に影響しないようにすることで、リアルタイム記録を実現するようにしている。
このように従来技術では、記憶デバイスの性能がアロケーションユニット（ＡＵ）にデータを連続的に書き込んだ場合の性能を基準として決められており、アロケーションユニット内においてデータ書き込みを行う際の瞬間的な性能の変化（例えば、データ書き込み速度の変化）については規定されていない。つまり、従来技術では、最終的に、アロケーションユニットのサイズ分のデータの書き込みが完了した時点で性能が保証されていれば、アロケーションユニット内においてデータ書き込みを行う際のデータ書き込み速度がどのように変化してもよい。言い換えれば、従来技術では、メモリ装置の不揮発性メモリに、アロケーションユニットのサイズだけデータを書き込まないと性能が保証されない。【０００５】
このため、ホスト装置は、アロケーションユニットのサイズ相当のバッファを備えて、瞬間的な性能の変化（例えば、データ書き込み速度の変化）を吸収する必要がある。
また、通常データとファイルシステム情報とは、同一のインタフェースを通じて、ホスト装置から記憶デバイスに書き込まれるため、ファイルシステム情報を書き込む間は、通常データの書き込みは、待たされることになる。このため、ホスト装置は、ファイルシステム情報を書き込む間データを保持するためのバッファをホスト装置に備える必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１７８９２３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、テレビやＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）などで不揮発性メモリを備えたメモリ装置へ動画を記録する機能を備えるものが出現している。このような機器のうち複数のチューナを持つものでは、メモリ装置に対して複数のチャネルの動画データを複数ファイルとして記録することが考えられる。このような複数ファイルのデータをメモリ装置に記録する場合、メモリ装置において、データは、通常異なるアロケーションユニットに記録されるが、前述したように従来技術では、アロケーションユニットのサイズだけデータを書き込まないと性能が保証されない。このため、従来技術では、複数ファイルのデータを複数のアロケーションユニットにリアルタイム記録するには、ファイル毎にアロケーションユニットサイズ相当のバッファをホスト装置に備える必要がある。【０００８】
また、メモリ装置に記録するファイル数が増えると、ファイルシステム情報の更新もファイル数だけ必要になるが、前述したようにファイルシステム情報を書き込む間は、通常データの書き込み処理を実行することができず、書き込み処理を待ち状態にする必要があるため、記録するファイル数の増加に伴いファイルシステム情報書き込みの頻度が増加すると、その分必要なバッファのサイズも増加する。
すなわち、従来技術では、複数の動画データをリアルタイムに記録することが想定されておらず、記録するチャネル数に比例してホスト装置に必要なバッファのサイズが増大するという課題がある。
本発明は、以上の問題点を解決し、ホスト装置のバッファサイズの増加を抑えながら複数の動画データをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明は、ホスト装置と通信することができるように接続されており、ホスト装置からのコマンドに従って、データの書き込みおよび／またはデータの読み出しを行うメモリ装置であって、不揮発性メモリと、メモリコントローラ部と、を備えるメモリ装置である。
不揮発性メモリは、データを記憶する。メモリコントローラ部は、ホスト装置の発行するコマンドに含まれる論理アドレスに応じて、不揮発性メモリにデータの書き込み処理および不揮発性メモリからのデータの読み出し処理の制御を行い、また、不揮発性メモリのメモリ領域をメモリアロケーションユニット単位で管理し、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むように制御する。【００１０】
そして、メモリコントローラ部は、ホスト装置からの指示に従い、データ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えて、不揮発性メモリへのデータ書き込み処理を制御することができる。また、メモリコントローラ部は、以下の（１）、（２）の処理を行う。
（１）第１のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、ホスト装置の論理アドレスと不揮発性メモリの物理アドレスとを対応させ、ホスト装置が管理する論理アドレス空間におけるメモリアロケーションユニット内でのデータ配置と、不揮発性メモリの物理アドレス空間におけるメモリアロケーションユニット内でのデータ配置とが同一になるように、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択したメモリアロケーションユニットに対して、データ書き込み処理を行う。
（２）第２のデータ書き込みモードによるデータ書き込み処理を行う場合、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第２データ書き込みモード用メモリアロケーションユニットとして選択し、ホスト装置から受信した書き込みデータを、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した第２データ書き込みモード用メモリアロケーションユニットに、連続して書き込む。【００１１】
このメモリ装置では、例えば、論理アドレス空間上で異なるＭＡＵ（メモリアロケーションユニット）に配置される複数ファイルのデータを記録する場合に、第２のデータ書き込みモードによりデータ書き込み処理を行うことで、書き込むデータの論理アドレスが不連続な場合でも、不揮発性メモリのメモリ領域に連続的にデータを書き込むことができる。このため、このメモリ装置では、効率よく短時間でデータを書き込むことが可能である。したがって、このメモリ装置と接続されるホスト装置の備えるバッファサイズも少なくて済む。その結果、このメモリ装置をホスト装置とともに用いることで、ホスト装置のバッファサイズの増加を抑えながら、例えば、複数の動画データをリアルタイムに記録する（一定の書き込み速度を保証したデータ書き込み処理を行う）ことが可能となる。
なお、「不揮発性メモリ」は、複数の不揮発性メモリであってもよい。【００１２】
また、「連続して書き込む」とは、例えば、ホスト装置から連続して送信されるデータを、メモリ装置が連続的に受信し、受信したデータを、受信した順に、連続的に不揮発性メモリに書き込むことをいう。
また、「メモリアロケーションユニット」とは、不揮発性メモリのメモリ領域を分割して管理するための単位であり、物理的な管理単位のＮ倍（Ｎは自然数）のサイズとなることが好ましい。なお、「物理的な管理単位」は、例えばＮＡＮＤフラッシュでは消去単位である物理ブロックを単位として用いることができる。
第２の発明は、第１の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第１のデータ書き込みモードでデータ書き込み処理を行い、ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、第２のデータ書き込みモードに切り替える。【００１３】
第３の発明は、第１の発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、第１の書き込みモードに切り替える。
これにより、メモリ装置が第２の書き込みモードであっても、ホスト装置から発行されるデータ書き込みモード指示コマンドにより、メモリ装置の書き込みモードを、第１の書き込みモードにすることができる。
第４の発明は、第１の発明であって、メモリコントローラ部は、ホスト装置から発行される第２のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、第１の書き込みモードに切り替える。
第５の発明は、第１から第４のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ再配置コマンドに従って、第２のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、不揮発性メモリの物理アドレス空間内において再配置する。【００１４】
このメモリ装置では、ホスト装置から発行されるデータ再配置コマンドに従って、第２のデータ書き込みモードで書き込まれたＭＡＵ内のデータの再配置を行うため、データの再配置後は、第１のデータ書き込みモードで書き込んだ場合と同様にデータを管理することができるようになる。その結果、このメモリ装置では、いわゆるフラグメント状態が発生することを抑制し、効率のよいデータ管理をすることが可能となる。
第６の発明は、第１から第４の発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ消去コマンドにより、第２のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置する。【００１５】
これにより、このメモリ装置では、消去コマンドによる消去処理とともに、再配置処理を行うことができる。
第７の発明は、第１から第６のいずれかの発明であって、メモリコントローラ部は、ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードおよび第２のファイルシステム情報書き込みモードのいずれかに切り換えて、不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができる。また、メモリコントローラ部は、以下の（１）、（２）の処理を行う。
（１）第１のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、書き込みコマンドを受信するごとに、逐次、不揮発性メモリに書き込むよう制御する。
（２）第２のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して、不揮発性メモリの同じページに書き込むよう制御する。【００１６】
このメモリ装置では、例えば、複数ファイルの異なるファイルシステム情報のデータを記録する場合に、第２のファイルシステム情報書き込みモードにより書き込み処理を行うことで、不揮発性メモリの同一ＭＡＵ内の同じページに書き込むことができる。このため、複数の異なるファイルシステム情報を書き込む場合のトータル時間を短縮することができる。その結果、このメモリ装置とともに用いられるホスト装置が送信待ち状態のときに保持すべきデータ量が少なくて済むので、ホスト装置の持つバッファサイズの増大を抑えることができる。また、ホスト装置の送信待ち時間も短くなるので、このメモリ装置を用いることで、複数ファイルのリアルタイム記録も実現させやすい。
第８の発明は、第７の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第１のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモードに切り替える。【００１７】
第９の発明は、第７の発明であって、メモリコントローラ部は、ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替える。
第１０の発明は、第７の発明であって、メモリコントローラ部は、ホスト装置から発行される第２のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替える。
第１１の発明は、第８から第１０のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、不揮発性メモリの物理アドレス空間内において再配置する。【００１８】
このメモリ装置では、ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第２のファイルシステム情報書き込みモードで書き込まれたＭＡＵ内のファイルシステム情報の再配置を行うため、再配置処理後は、第１のファイルシステム情報書き込みモードで書き込んだ場合と同様にファイルシステム情報を管理することができるようになる。その結果、このメモリ装置では、いわゆるフラグメント状態が発生することを抑制し、効率のよく、ファイルシステム情報を管理することができる。
第１２の発明は、メモリ装置にコマンドを発行して、メモリ装置にデータの書き込みおよびメモリ装置からデータの読み出しを行うホスト装置であって、メモリ装置制御部を備える。
メモリ装置制御部は、メモリ装置へのコマンド発行と、メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むようメモリ装置を制御する。【００１９】
メモリ装置制御部は、メモリ装置に指示することで、メモリ装置のデータ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えるよう制御することができる。
このホスト装置では、メモリ装置に対して、例えば、コマンド等により指示することで、メモリ装置のデータ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えるよう制御することができる。したがって、例えば、単一ファイルのデータ書き込み処理を行う場合は、第１のデータ書き込みモードによるデータ書き込み処理を指示し、複数ファイルをリアルタイム記録する場合は、第２のデータ書き込みモードによるデータ書き込み処理を指示することで、用途に応じて、最適な処理を、メモリ装置に対して指示することができる。【００２０】
第１３の発明は、第１２の発明であって、メモリ装置制御部は、メモリ装置の電源投入時又はリセット後の初期状態では、メモリ装置を第１のデータ書き込みモードで動作させ、その後、メモリ装置へデータ書き込みモード指示コマンドを発行して、メモリ装置のデータ書き込みモードを、第２のデータ書き込みモードに切り替えさせる。
第１４の発明は、第１２または第１３の発明であって、メモリ装置制御部は、メモリ装置へデータ書き込みモード指示コマンドを発行して、メモリ装置のデータ書き込みモードを、第１の書き込みモードに切り替えさせる。
第１５の発明は、第１２または第１３の発明であって、メモリ装置制御部は、メモリ装置へ第２のデータ書き込みモード終了コマンドを発行して、メモリ装置のデータ書き込みモードを、第１の書き込みモードに切り替えさせる。【００２１】
第１６の発明は、第１２から第１５のいずれかの発明であって、メモリ装置制御部は、メモリ装置へデータ再配置コマンドを発行して、メモリ装置に、メモリ装置により第２のデータ書き込みモードで書き込まれたデータを、第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第１７の発明は、第１６の発明であって、メモリ装置制御部は、メモリ装置へ第２のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、メモリ装置に、メモリ装置により第２のデータ書き込みモードで書き込まれたデータを、第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。【００２２】
第１８の発明は、第１２から第１７のいずれかの発明であって、メモリ装置制御部は、メモリ装置に指示することで、メモリ装置のファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードおよび第２のファイルシステム情報書き込みモードのいずれかに切り換えるよう制御することができる。
第１９の発明は、第１８の発明であって、メモリ装置制御部は、メモリ装置の電源投入時およびリセット後の初期状態では、メモリ装置を第１のファイルシステム情報書き込みモードで動作させ、その後、メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモードに切り替えさせる。
第２０の発明は、第１８の発明であって、メモリ装置制御部は、メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替えさせる。【００２３】
第２１の発明は、第１８の発明であって、メモリ装置制御部は、メモリ装置に第２のファイルシステム情報書き込みモード終了コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替えさせる。
第２２の発明は、第１８から第２１のいずれかの発明であって、メモリ装置制御部は、メモリ装置へファイルシステム情報再配置コマンドを発行して、メモリ装置に、メモリ装置により第２のデータ書き込みモードで書き込まれたデータを、第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第２３の発明は、第１から第１１のいずれかの発明であるメモリ装置と、第１２から第２２のいずれかの発明であるホスト装置と、を備えるメモリシステムである。
【発明の効果】
【００２４】
本発明によれば、ホスト装置のバッファサイズの増加を抑えながら複数の動画データをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】第１実施形態に係る不揮発性メモリシステム１０００のブロック図である。
【図２】第１のデータ書き込みモードを説明する図である。
【図３】第２のデータ書き込みモードを説明する図である。
【図４】データ書き込みモードの状態遷移を説明する図である。
【図５】データ書き込みモード切り替えのコマンドシーケンスを説明する図である。
【図６】第１のファイルシステム情報書き込みモードを説明する図である。
【図７】第２のファイルシステム情報書き込みモードを説明する図である。
【図８】ファイルシステム情報書き込みモードの状態遷移を説明する図である。
【図９】ファイルシステム情報書き込みモード切り替えのコマンドシーケンスを説明する図である。
【図１０】データの再配置処理を説明する図である。
【図１１】ファイルシステム情報の再配置を説明する図である。
【図１２】消去コマンド発行時にデータの再配置を行う処理を説明する図である。
【図１３】ファイルシステム操作後にデータの再配置を行う処理を説明する図である。
【図１４】バス３のトランザクションを説明する図である。
【図１５】ＣＭＤ、ＲＥＳ、ＤＡＴの構成を説明する図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について、図面を参照しながら説明する。
［第１実施形態］
＜１．１：不揮発性メモリシステムの構成＞
図１は、本発明の第１実施形態に係る不揮発性メモリシステム（メモリシステム）１０００の構成を示すブロック図である。
図１において、本実施形態に係る不揮発性メモリシステム１０００は、メモリ装置１とホスト装置２と、を備え、メモリ装置１とホスト装置２とは、バス３により接続されて、双方向に通信を行うことができる。
なお、以降の説明に用いる図面においては、本発明に関連しない構成要素については図示を省略している。また、本発明は、以下に示す実施形態に限定されないことは言うまでもない。
【００２７】
（１．１．１：メモリ装置）
メモリ装置１は、図１に示すように、メモリコントローラ部１１と、１以上の不揮発性メモリ１２と、を備える。
メモリコントローラ部１１は、図１に示すように、ホストＩＦ部１１０と、コマンド処理部１１１と、メモリ管理部１１２と、データ制御部１１３と、を備える。
ホストＩＦ部１１０は、ホスト装置２とバス３を介して接続されており、ホスト装置２と通信を行うことが可能である。ホストＩＦ部１１０は、バス３を介して、ホスト装置２からコマンド受信したり、ホスト装置２に対して応答（レスポンス）を送信したりする。また、ホストＩＦ部１１０は、バス３を介して、ホスト装置２とデータの送受信を行う。また、ホストＩＦ部１１０は、ホスト装置２から受信したコマンドをコマンド処理部１１１に出力し、ホスト装置２から受信したデータをデータ制御部１１３に出力する。また、ホストＩＦ部１１０は、コマンド処理部１１１から出力される応答（レスポンス）等を入力し、当該応答（レスポンス）等を、バス３を介して、ホスト装置２に送信する。
【００２８】
コマンド処理部１１１は、ホスト装置２が発行し、ホストＩＦ部１１０が受信したコマンドを解釈して、ホスト装置２に返信する応答（レスポンス）を生成し、ホストＩＦ部１１０に出力する。また、コマンド処理部１１１は、コマンドの解釈結果や、コマンドの引数等から取得したデータ等を、メモリ管理部１１２に出力する。
メモリ管理部１１２は、不揮発性メモリ１２のデータの入出力や不揮発性メモリ１２のメモリ領域管理を行う。
メモリ管理部１１２は、メモリ装置１の処理全般を制御するＣＰＵ１１２１と、ホスト装置２の発行するコマンドに含まれる論理アドレスと不揮発性メモリ１２上の物理アドレスとの対応付けを管理するアドレス管理部１１２２と、を備える。また、メモリ管理部１１２は、不揮発性メモリ１２にデータを書き込む場合の書き込みモードを管理するデータ書き込み管理部１１２３と、不揮発性メモリ１２にファイルシステム情報を書き込む場合の書き込みモードを管理するファイルシステム情報書き込み管理部１１２４と、を備える。
【００２９】
データ制御部１１３は、ホストＩＦ部１１０と不揮発性メモリ１２との間のデータの入出力を行うためのバッファＲＡＭを備えており、データ制御部１１３は、当該バッファＲＡＭを用いて、メモリ管理部１１２の指示に従い、不揮発性メモリ１２に対してデータの書き込み処理／読み出し処理を行う。
なお、メモリコントローラ部１１の各機能部は、その全部または一部を、個別に接続してもよいし、内部バスにより接続してもよい。
（１．１．２：ホスト装置）
ホスト装置２は、図１に示すように、ホスト装置２全体の制御を行うＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、メモリ装置１とデータの送受信を行うためのバッファＲＡＭ２４と、メモリ装置１とバス３を介してコマンド・応答やデータの送受信を行うメモリ装置制御部２５と、を備える。
【００３０】
なお、ホスト装置２の各機能部は、その全部または一部を、個別に接続してもよいし、内部バス（例えば、図１のバスＢ１）により接続してもよい。
（１．１．３：バス）
バス３は、例えば、メモリ装置１とホスト装置２とがコマンド・応答、データの送受信を行うための１以上の信号線の組により構成される。本実施形態に係る不揮発性メモリシステム１０００において、バス３は、クロック信号ＣＬＫを伝送するためのクロックラインと、コマンド・応答信号ＣＭＤを伝送するためのコマンドラインと、データ信号ＤＡＴを伝送するためのデータ信号ラインと、を含んで構成される。なお、バス３のデータ信号ラインは、必ずしも１本である必要はなく、バス３が、複数のデータ信号ラインを含むものであってもよい。
【００３１】
≪バストランザクション≫
図１４は、不揮発性メモリシステム１０００において、バス３を介して行われるメモリ装置１とホスト装置２とのバストランザクションを説明する図である。
図１４において、コマンドＣＭＤは、ホスト装置２がメモリ装置１に対してデータの読み出しや書き込みなどの指示を行うために送信する信号である。
応答ＲＥＳは、コマンドＣＭＤを受信したメモリ装置１が各種ステータス情報などを応答するために送信する信号である。
データＤＡＴは、メモリ装置１への書き込みの場合はホスト装置２がメモリ装置１に対して送信するものであり、メモリ装置１からの読み出しの場合は、メモリ装置１がホスト装置２に対して送信するものである。
【００３２】
これらのトランザクションは、主にメモリ装置１のコマンド処理部１１１およびホストＩＦ部１１０と、ホスト装置２のメモリ装置制御部２５とで処理が行われることが多く、必要に応じてメモリ装置１では、メモリ管理部１１２も処理を行う。
ホスト装置２が発行するコマンドの内容によって、複数種類のバストランザクションが存在し、図１４（ａ）では、コマンドＣＭＤと応答ＲＥＳのみで完結する。これは、主に不揮発性メモリ１２のデータ入出力を行わないコマンドの場合に使われる。
図１４（ｂ）では、コマンドＣＭＤと応答ＲＥＳに加えて、データＤＡＴＡの転送が行われる。このバストランザクションは、主に不揮発性メモリ１２へのデータの書き込みおよび不揮発性メモリ１２からのデータの読み出しの場合のバストランザクションである。
図１４（ｃ）に示すバストランザクションは、コマンドＣＭＤと応答ＲＥＳに加えて、データ信号ＤＡＴを使ってメモリ装置１が内部処理中であることを示す状態信号であるＢｕｓｙ信号をホスト装置２へ伝える場合のバストランザクションである。
【００３３】
図１４（ｄ）に示すバストランザクションは、コマンドＣＭＤと応答ＲＥＳ、データＤＡＴＡに続いて、状態信号Ｂｕｓｙ（Ｂｕｓｙ信号）をメモリ装置１がホスト装置２に対して送信するバストランザクションである。
図１４（ｃ）および（ｄ）のように、状態信号Ｂｕｓｙ（Ｂｕｓｙ信号）をメモリ装置１が送信するのは、ホスト装置２との間でデータの入出力は行わず、メモリ装置１の内部でメモリコントローラ部１１が不揮発性メモリ１２のデータの入出力を行うためである。このような場合、不揮発性メモリシステム１０００では、図１４（ｃ）および（ｄ）に示したバストランザクションが使われる。
≪データフォーマット≫
図１５は、メモリ装置１とホスト装置２との間で送受信されるコマンドＣＭＤ、応答ＲＥＳ、データＤＡＴの構成を示す図である。図１５において、ＣＭＤ、ＲＥＳ、ＤＡＴは、全て開始ビットと終了ビットと、バス３上での誤り検出のためのＣＲＣと、を含んで構成される。その他の構成要素は、ＣＭＤ、ＲＥＳ、ＤＡＴで異なる。
【００３４】
ＣＭＤは、ホスト装置２の指示する処理内容を識別するための識別子と引数とを含む。ＣＭＤの引数には、各種制御用のフラグやデータの読み出しおよびデータの書き込みを行うためのアドレス情報が含まれ、その内容は識別子により異なる。
ＲＥＳは、識別子とステータスとを含む。ＲＥＳの識別子は、ホスト装置２が発行したコマンドＣＭＤの識別子と同じ値である。また、ステータスは、メモリ装置１の内部状態を示す状態信号であり、例えば、エラーの有無やメモリ装置１の状態遷移を示す情報が含まれる。
ＤＡＴは、ペイロードを含む。ペイロードは、ホスト装置２が発行したコマンドＣＭＤの識別子により異なり、例えば、不揮発性メモリ１２のデータの読み出しコマンドまたはデータの書き込みコマンドの場合、ペイロードは、不揮発性メモリ１２から読み出したデータまたは不揮発性メモリ１２に書き込むデータであり、レジスタの読み出しコマンドの場合、ペイロードは、レジスタの値である。
【００３５】
＜１．２：不揮発性メモリシステムの動作＞
次に、不揮発性メモリシステム１０００の動作について、図面を参照しながら、以下、説明する。具体的には、不揮発性メモリシステム１０００において、ホスト装置２がメモリ装置１に２つのファイルのデータと、そのファイルシステム管理情報とを書き込む場合を例にとって説明する。
（１．２．１：データ書き込みモード）
不揮発性メモリシステム１０００のデータ書き込みモードについて、第１のデータ書き込みモードと、第２のデータ書き込みモードに分けて、以下説明する。
（１．２．１．１：第１のデータ書き込みモード）
まず、不揮発性メモリシステム１０００における第１のデータ書き込みモードについて、説明する。
【００３６】
図２は、本実施形態に係るメモリ装置１の、第１のデータ書き込みモードを説明する図である。
図２において、ホスト装置２の管理する論理アドレス空間とメモリ装置１の管理する不揮発性メモリの記憶領域（メモリ領域）とは、メモリアロケーションユニット（ＭＡＵ）単位に分割して管理され、メモリ装置１のアドレス管理部１１２２が論理アドレス空間上のＭＡＵと不揮発性メモリのメモリ領域上のＭＡＵとの対応付けを管理する。ＭＡＵのサイズは、メモリ装置１に固有の値であり、例えば、不揮発性メモリとしてＮＡＮＤフラッシュを使う場合には、ＮＡＮＤフラッシュメモリのメモリ領域の消去単位である物理ブロックの整数倍となる。
ホスト装置２がメモリ装置１に対してデータの書き込みコマンドを発行して、第１のデータ書き込みモードを使用してデータの書き込みを行う場合、アドレス管理部１１２２は、コマンドに含まれる論理アドレスを含むＭＡＵを、不揮発性メモリのメモリ領域上のいずれかのＭＡＵと対応付けし、対応付けした領域にホスト装置２が書き込みコマンドにより書き込みを指示したデータ（書き込みデータ）を書き込む。
【００３７】
図２においては、論理アドレス空間上のＭＡＵ２０１およびＭＡＵ２０２が、それぞれ、不揮発性メモリのメモリ領域上のＭＡＵ２１１およびＭＡＵ２１２に対応付けられている。
なお、各ＭＡＵ内では、データは、連続的に配置されており、ＭＡＵのサイズをＳMAUバイトとすると、例えば、論理アドレス空間上のＭＡＵ２０２に含まれるバイトアドレスＮ〜Ｎ＋ＳMAU−１のデータは、不揮発性メモリのメモリ領域上のＭＡＵ２１２に含まれるバイトアドレスＭ〜Ｍ＋ＳMAU−１に記録されている。つまり、ＭＡＵ２０２内におけるデータ配置と、ＭＡＵ２１２内におけるデータ配置とが、同一である。
従って、不揮発性メモリシステム１０００において、ホスト装置２がメモリ装置１に対して、連続的にデータを書き込む場合、第１のデータ書き込みモードを使用することで、不揮発性メモリ１２のメモリ領域上の連続する領域にデータを書き込むことができ、効率よく短時間でデータを書き込むことが可能となる。
【００３８】
（１．２．１．２：第２のデータ書き込みモード）
次に、不揮発性メモリシステム１０００における第２のデータ書き込みモードについて、説明する。
図３は、本実施形態に係るメモリ装置１の、第２のデータ書き込みモードを説明する図である。
図３においても、ホスト装置２の管理する論理アドレス空間とメモリ装置１の管理する不揮発性メモリの記憶領域とは、メモリアロケーションユニット（ＭＡＵ）単位に分割して管理され、メモリ装置１のアドレス管理部１１２２が論理アドレス空間と不揮発性メモリ１２のメモリ領域との対応付けを管理するが、第１のデータ書き込みモードとの違いは、論理アドレス空間上の異なるＭＡＵに属するデータが、不揮発性メモリ１２のメモリ領域上の同じＭＡＵに連続的に記録される点である。
【００３９】
図３に示すように、ホスト装置２がメモリ装置１に対して、データの書き込みコマンドを発行して、第２のデータ書き込みモードを使用してデータの書き込みを行う場合、アドレス管理部１１２２は、不揮発性メモリ１２のメモリ領域上のいずれかのＭＡＵを選択し、選択した領域に、ホスト装置２が書き込みコマンドにより書き込みを指示したデータ（書き込みデータ）を書き込む。以降、不揮発性メモリシステム１０００において、ホスト装置２が第２のデータ書き込みモードでデータを書き込む場合には、コマンドに含まれる論理アドレスによらず、不揮発性メモリ１２のメモリ領域上の同じＭＡＵ（図３に示すＭＡＵ−１がこれに相当。）に連続的にデータを書き込んでいく。
図３に示すように、不揮発性メモリシステム１０００では、ホスト装置２が異なる２つのＭＡＵに属するデータ３０１〜３０４を、３０１、３０２、３０３、３０４の順に、第２のデータ書き込みモードで書き込む場合、メモリ管理部１１２は、不揮発性メモリのメモリ領域上の書き込み可能なＭＡＵ（図３のＭＡＵ−１）へ、以下のようにして、データを連続的に書き込む。
（１）領域３０１のデータを領域３１１へ書き込む。
（２）領域３０２のデータを領域３１２へ書き込む。
（３）領域３０３のデータを領域３１３へ書き込む。
（４）領域３０４のデータを領域３１４へ書き込む。
【００４０】
このようにして、不揮発性メモリシステム１０００では、第２のデータ書き込みモードにより、不揮発性メモリ１２のメモリ領域上で連続的にデータを記録する。
なお、３０１〜３０４の論理アドレスと３１１〜３１４の記録される不揮発性メモリ１２のメモリ領域上の物理アドレスとの対応付けは、アドレス管理部１１２２が管理する。
以上のように、不揮発性メモリシステム１０００では、ホスト装置２が異なるＭＡＵに属するデータを交互にメモリ装置１に書き込む場合、第２のデータ書き込みモードを使用することで、書き込むデータの論理アドレスが不連続な場合でも、不揮発性メモリ１２のメモリ領域に連続的にデータを書き込むことができる。このため、不揮発性メモリシステム１０００では、効率よく短時間でデータを書き込むことが可能である。
特に、不揮発性メモリシステム１０００において、データをＭＡＵのサイズだけ書き込んだ場合の性能を規定しているメモリ装置１に対して、論理アドレス空間上で異なるＭＡＵに配置される複数ファイルのデータを記録する場合には、ホスト装置２の備えるバッファのサイズは１ファイルを記録する場合と同じでよい。したがって、不揮発性メモリシステム１０００では、ホスト装置２が備えなければならないバッファ量を増大させることなく（１ファイルを記録する場合と同じバッファ量を備えていればよく）、複数ファイルのデータのリアルタイム記録（一定の書き込み速度を保証したデータ書き込み処理）を行うことが可能である。
【００４１】
なお、論理アドレス空間と不揮発性メモリ上のメモリ領域との対応付け（論理アドレス空間内の所定の分割領域（例えば、ＭＡＵ）内でのデータ配置と、不揮発性メモリ上のメモリ領域（物理アドレス空間）内の所定の分割領域（例えば、ＭＡＵ）内でのデータ配置との対応付け）をアドレス管理部１１２２が管理するための様々な手段が従来から開示されているが、本発明の本旨とは直接的には関係がないので、説明は省略する。
（１．２．１．３：データ書き込みモードの状態遷移図）
図４は、本実施形態に係るメモリ装置１のデータ書き込みモードの状態遷移図を説明する図である。
図４に示すように、メモリ装置１は、電源ＯＮ時またはリセット時には、ＩＤＬＥ状態４１となり、ホスト装置２による初期化処理が行われると第1のデータ書き込みモード４２に移行する。その後、ホスト装置２のコマンドに従って第１のデータ書き込みモード４２と第２のデータ書き込みモード４３との間でモードの切り替えを行い、選択されたモードに応じて不揮発性メモリ１２へのデータ書き込み処理を行う。
【００４２】
（１．２．１．４：データ書き込みモードのコマンドシーケンス）
図５は、図４における第１のデータ書き込みモード４２と第２のデータ書き込みモード４３との間の切り替えを行うためのコマンドシーケンスを説明する図である。
図５（ａ）〜（ｃ）は、それぞれ、上段がバス３を介してホスト装置２からメモリ装置１に送信されるコマンドを模式的に示しており、中段がバス３を介してホスト装置２からメモリ装置１に送信されるデータを模式的に示しており、下段がデータ書き込みモードを示している。なお、図５（ａ）〜（ｃ）において、横軸は時間軸である。
なお、図５（ａ）〜（ｃ）に示すＤ−ＭＯＤ１およびＤ−ＭＯＤ２は、図１４（ａ）〜（ｄ）に示すいずれかのシーケンスをとるものであり、図５（ａ）〜（ｃ）では、説明便宜のため、Ｄ−ＭＯＤ１およびＤ−ＭＯＤ２等における詳細なシーケンスは省略して図示している。
【００４３】
図５（ａ）〜（ｃ）に示すように、ホスト装置２が発行したデータ書き込みモード切り替えコマンドＤ−ＭＯＤ２をメモリ装置１が受信すると、メモリ装置１は、データ書き込みモードを、第１のデータ書き込みモード４２から第２のデータ書き込みモード４３へ遷移させる。そして、データ書き込み管理部１１２３は、第２のデータ書き込みモードに移行した時点以降、ホスト装置２から書き込みコマンドを受信した場合、第２のデータ書き込みモードでデータを不揮発性メモリ１２に書き込むように制御を行う。
また、図５（ａ）に示すように、ホスト装置２が発行したデータ書き込みモード切り替えコマンドＤ−ＭＯＤ１をメモリ装置１が受信すると、メモリ装置１は、データ書き込みモードを、第２のデータ書き込みモード４３から第１のデータ書き込みモード４２に遷移させる。そして、データ書き込み管理部１１２３は、第１のデータ書き込みモードに移行した時点以降、ホスト装置２から書き込みコマンドを受信した場合、第１のデータ書き込みモードでデータを不揮発性メモリ１２に書き込むように制御を行う。
【００４４】
図５（ｂ）および図５（ｃ）に示すように、メモリ装置１が、データ書き込みモードを、第２のデータ書き込みモード４３から第１のデータ書き込みモード４２に遷移させることも可能である。
すなわち、図５（ｂ）に示すように、ホスト装置２が発行した第２のデータ書き込みモード終了コマンドＤ−ＥＮＤ２を、メモリ装置１が受信すると、メモリ装置１は、データ書き込みモードを、第１のデータ書き込みモード４２へ遷移させる。
また、図５（ｃ）に示すように、メモリ装置１が、不揮発性メモリ１２に対して、第２のデータ書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置１は、データ書き込みモードを、第１のデータ書き込みモード４２へ遷移させる。なお、「所定の回数」は、ホスト装置２が、メモリ装置１に対して、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置１の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
【００４５】
このように、本実施形態に係るホスト装置２とメモリ装置１とは、ホスト装置２の発行するコマンドによって、メモリ装置１が、データ書き込みモードを、第１のデータ書き込みモードまたは第２のデータ書き込みモードのいずれかに切り替えて、不揮発性メモリへのデータ書き込み処理を行う。なお、コマンドＤ−ＭＯＤ２には、第２のデータ書き込みモードで書き込み処理がなされるファイル数およびファイルを識別する情報を含ませるようにすることが好ましい。
これによって、不揮発性メモリシステム１０００では、複数のファイルのデータを不揮発性メモリの同一のＭＡＵに書き込むことができる。このため、不揮発性メモリシステム１０００において複数のファイルを記録する場合であっても、ホスト装置２のバッファサイズを、１つのファイルを記録する場合と同じサイズに抑えることができる。
【００４６】
（１．２．２：ファイルシステム情報書き込みモード）
次に、不揮発性メモリシステム１０００のファイルシステム情報書き込みモードについて、第１のファイルシステム情報書き込みモードと、第２のファイルシステム情報書き込みモードに分けて、以下説明する。
（１．２．２．１：第１のファイルシステム情報書き込みモード）
まず、不揮発性メモリシステム１０００における第１のファイルシステム情報書き込みモードについて説明する。
図６は、本実施形態に係るメモリ装置１の、第１のファイルシステム情報書き込みモードを説明する図である。
図６において、メモリ装置１の管理する不揮発性メモリの記憶領域は、メモリアロケーションユニット（ＭＡＵ）単位に分割して管理され、メモリ装置１のアドレス管理部１１２２がホスト装置２の書き込むファイルシステム情報の論理アドレスと不揮発性メモリ上の物理アドレスとの対応付けを管理している。
【００４７】
図６（ａ）は、ホスト装置２がファイルシステム情報ＤＩＲ１、ＤＩＲ２を、それぞれ別の書き込みコマンドＷＣＭＤで書き込む場合のコマンドシーケンスを説明する図である。
図６（ａ）において、メモリ装置１は、書き込みコマンドＷＣＭＤに続いてファイルシステム情報ＤＩＲ１またはＤＩＲ２を受信すると、メモリ装置１は、ホスト装置２に対して、ＢＵＳＹ信号を出すとともに、ホスト装置２から受信したファイルシステム情報を不揮発性メモリ１２へ書き込む。このとき、図６（ｂ）に示すように、ファイルシステム情報ＤＩＲ１とＤＩＲ２とを異なるＭＡＵ６１および６２に書き込むようにしてもよいし、図６（ｃ）に示すように、同じＭＡＵ６３に書き込むようにしてもよい。ＤＩＲ１とＤＩＲ２とは、通常、異なるデータのファイルシステム情報であるため、ＤＩＲ１の論理アドレスとＤＩＲ２の論理アドレスとは、通常、連続するアドレスではなく、図６（ｂ）、（ｃ）のいずれの場合においても、ＤＩＲ１とＤＩＲ２は、異なるページに書き込まれる。ここで、「ページ」とは、不揮発性メモリ１２の書き込み単位を意味し、例えば、ＮＡＮＤフラッシュメモリにおけるページが該当する。
【００４８】
（１．２．２．２：第２のファイルシステム情報書き込みモード）
次に、不揮発性メモリシステム１０００における第２のファイルシステム情報書き込みモードについて説明する。
図７は、本実施形態に係るメモリ装置１の、第２のファイルシステム情報書き込みモードを説明する図である。
図７（ａ）は、ホスト装置２がファイルシステム情報ＤＩＲ１、ＤＩＲ２を、それぞれ別の書き込みコマンドＷＣＭＤで書き込む場合のコマンドシーケンスを説明する図である。
図７（ａ）において、ホスト装置２は、メモリ装置１に対して、まず、ファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を発行し、その後、ホスト装置２は、メモリ装置１に対して、書き込みコマンドＷＣＭＤを発行して、メモリ装置１により、ＤＩＲ１、ＤＩＲ２の書き込み処理が実行される。
【００４９】
メモリ装置１は、ホスト装置２からＦＳ−ＭＯＤ２を受信すると、コマンドＦＳ−ＭＯＤ２に続いて発行される書き込みコマンドＷＣＭＤのうち、ＤＩＲ１を書き込むＷＣＭＤ（図７（ａ）にＣ１で示した書き込みコマンドＷＣＭＤ）を受信したときは、ファイルシステム情報ＤＩＲ１を受信し、受信したＤＩＲ１を不揮発性メモリ１２に書き込む処理を実行せず、次のコマンドＷＣＭＤを受信可能な状態にする。したがって、このとき、メモリ装置１からホスト装置２に対して出力されるＢＵＳＹ信号の出力期間も短時間となる。また、このとき、メモリ装置１は、ファイルシステム情報ＤＩＲ１を、例えば、データ制御部１１３内のバッファＲＡＭに保持しておく。
メモリ装置１は、続くＷＣＭＤ（図７（ａ）にＣ２で示した書き込みコマンドＷＣＭＤ）を受信したときは、続くファイルシステム情報ＤＩＲ２を受信し、保持しているファイルシステム情報ＤＩＲ１とまとめて、ファイルシステム情報ＤＩＲ２を不揮発性メモリ１２へ書き込む。メモリ装置１は、ファイルシステム情報ＤＩＲ１およびＤＩＲ２の書き込み処理が完了するまで、ホスト装置２に対してＢＵＳＹ信号を出力し続ける。
【００５０】
図７（ｂ）は、ファイルシステム情報ＤＩＲ１およびＤＩＲ２が書き込まれる不揮発性メモリ内のＭＡＵの状態を説明する図である。
図７（ｂ）において、ファイルシステム情報ＤＩＲ１およびＤＩＲ２は、ＭＡＵ７１内の同じページに書き込まれる。このため、不揮発性メモリシステム１０００では、図６で説明した第１のファイルシステム情報書き込みモードに比べて、ファイルシステム情報ＤＩＲ１、ＤＩＲ２を書き込むトータル時間を短縮することができる。なお、コマンドＦＳ−ＭＯＤ２には、第２のファイルシステム情報書き込みモードで書き込み処理の対象となるファイル数およびファイルを識別する情報を含ませるようにすることが好ましい。
このように、不揮発性メモリシステム１０００の第２のファイルシステム情報書き込みモードでは、複数のファイルを書き込む際のファイルシステム情報の書き込み処理に要するトータル時間を減らすことができる。このため、メモリ装置１からホスト装置２に出力されるＢＵＳＹ信号のトータルの出力期間が短くなる、すなわち、ホスト装置２がメモリ装置１にデータ送信できずに送信待ちとなる時間が少なくなる。その結果、不揮発性メモリシステム１０００では、ホスト装置２が送信待ち状態のときに保持すべきデータ量が少なくて済むので、ホスト装置２の持つバッファサイズの増大を抑えることができる。
【００５１】
（１．２．２．３：ファイルシステム情報書き込みモードの状態遷移図）
図８は、本実施形態に係るメモリ装置１のファイルシステム情報書き込みモードの状態遷移図を説明する図である。
図８において、メモリ装置１は、電源ＯＮ時またはリセット時にはＩＤＬＥ状態８１となり、ホスト装置２による初期化処理が行われると、第1のファイルシステム情報書き込みモード８２に移行する。その後、メモリ装置１は、ホスト装置２からのコマンドに従って、第１のファイルシステム情報書き込みモード８２と第２のファイルシステム情報書き込みモード８３との間でモードの切り替えを行い、選択されたモードに応じて不揮発性メモリ１２へのファイルシステム情報の書き込みを行う。
（１．２．２．４：ファイルシステム情報書き込みモードのコマンドシーケンス）
図９は、図８における第１のファイルシステム情報書き込みモード８２と第２のファイルシステム情報書き込みモード８３との間の切り替えを行うためのコマンドシーケンスを説明する図である。
【００５２】
なお、図９（ａ）〜（ｃ）に示すＦＳ−ＭＯＤ１およびＦＳ−ＭＯＤ２は、図１４（ａ）〜（ｄ）に示すいずれかのシーケンスをとるものであり、図９（ａ）〜（ｃ）では、説明便宜のため、ＦＳ−ＭＯＤ１およびＦＳ−ＭＯＤ２等における詳細なシーケンスは省略して図示している。
図９に示すように、メモリ装置１は、ホスト装置２が発行したファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を受信すると、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモード８２から第２のファイルシステム情報書き込みモード８３へ遷移させる。そして、ファイルシステム情報書き込み管理部１１２４は、第２のファイルシステム情報書き込みモードに移行した時点以降、ホスト装置２から、ファイルシステム情報の書き込みを指示する書き込みコマンドを受信した場合、第２のファイルシステム情報書き込みモードで、ファイルシステム情報を不揮発性メモリ１２に書き込むように制御を行う。
【００５３】
また、図９（ａ）に示すように、メモリ装置１は、ホスト装置２が発行したファイルシステム情報書き込みモード切り替えコマンドＤ−ＭＯＤ１を受信すると、ファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモード８３から第１のファイルシステム情報書き込みモード８２に遷移させる。そして、ファイルシステム情報書き込み管理部１１２４は、第１のファイルシステム情報書き込みモードに移行した時点以降、ホスト装置２から、ファイルシステム情報の書き込みを指示する書き込みコマンドを受信した場合、第１のファイルシステム情報書き込みモードで、ファイルシステム情報を不揮発性メモリ１２に書き込むように制御を行う。
図９（ｂ）および図９（ｃ）のように、メモリ装置１は、ファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモード８３から第１のファイルシステム情報書き込みモード８２に遷移させることも可能である。
【００５４】
すなわち、図９（ｂ）に示すように、メモリ装置１は、ホスト装置２が発行した第２のファイルシステム情報書き込みモード終了コマンドＦＳ−ＥＮＤを受信すると、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモード８２へ遷移させる。
また、図９（ｃ）に示すように、メモリ装置１が、不揮発性メモリ１２に対して、第２のファイルシステム情報書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置１は、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモード８２へ遷移させる。なお、「所定の回数」は、ホスト装置２が、メモリ装置１に対して、ファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置１の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
【００５５】
このように、本実施形態の不揮発性メモリシステム１０００では、メモリ装置１が、ホスト装置２の発行するコマンドによって、ファイルシステム情報書き込みモードを第１のファイルシステム情報書き込みモードと第２のファイルシステム情報書き込みモードとを切り替えて不揮発性メモリ１２へのファイルシステム情報の書き込み処理を行う。
これによって、不揮発性メモリシステム１０００では、複数ファイルのファイルシステム情報を不揮発性メモリ１２に書き込むトータル時間を短縮することができるので、ホスト装置２のバッファサイズの増大を抑えることが可能となる。
（１．２．３：書き込みデータの再配置）
ここまで説明したように、不揮発性メモリシステム１０００において、第２のデータ書き込みモード或いは第２のファイルシステム情報書き込みモードで、複数ファイルのデータやファイルシステム情報を書き込んだ場合、不揮発性メモリ１２上の同じＭＡＵ内に、異なるファイルのデータやファイルシステム情報が混在することになる。このような状態で、不揮発性メモリシステム１０００において、データやファイルシステム情報の管理を行う場合、第１のデータ書き込みモード或いは第１のファイルシステム情報書き込みモードで書き込んだ場合に比べて制御が複雑になる。例えば、不揮発性メモリシステム１０００において、記録したファイルのうち、特定のファイルのデータやファイルシステム情報を削除する処理を行う場合、同一のＭＡＵ内に有効なデータと無効なデータが混在する、いわゆるフラグメント状態を管理する必要がある。
【００５６】
従って、第２のデータ書き込みモードで書き込んだデータおよび第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、第１のデータ書き込みモードおよび第１のファイルシステム書き込みモードで書き込んだ状態に再配置する処理が必要となる。
（１．２．３．１：再配置処理（データ再配置コマンド、ファイルシステム情報再配置コマンドによる場合））
図１０は、不揮発性メモリシステム１０００において、第２のデータ書き込みモードで書き込んだデータを、第１のデータ書き込みモードで書き込んだ状態に再配置する処理を説明するための図である。
図１０（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
【００５７】
図１０（ａ）に示すように、ホスト装置２がメモリ装置１にデータ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行して、メモリ装置１が第２のデータ書き込みモードでデータを書き込んだ後、ホスト装置２がメモリ装置１に、データ再配置コマンドＤ−Ｕｎｐａｃｋを発行すると、メモリ装置１のメモリコントローラ部１１は、第２のデータ書き込みモードで書き込まれたＭＡＵ内のデータを、論理アドレスに基づいて異なるＭＡＵに再配置する。
図１０（ｂ）は、不揮発性メモリシステム１０００において、第２のデータ書き込みモードでデータを書き込まれたＭＡＵ１００のデータを、ＭＡＵ１０１およびＭＡＵ１０２に再配置する処理を模式的に示す図である。
図１０（ｂ）において、ＭＡＵ１００には、論理アドレス空間上で２つのＭＡＵに属するデータＤＡＴ１−ｎ（ｎ＝１、２・・・）、ＤＡＴ２−ｍ（ｍ＝１、２・・・）が書き込まれており、メモリ装置１がデータ再配置コマンドＤ−Ｕｎｐａｃｋを受信した場合、メモリコントローラ部１１は、ＭＡＵ１００のデータを論理アドレスに応じてＭＡＵ１０１およびＭＡＵ１０２に再配置する。具体的には、メモリコントローラ部１１は、データＤＡＴ１−ｎをＭＡＵ１０１へ、データＤＡＴ２−ｍをＭＡＵ１０２へ、それぞれ、再配置する。このとき、各データの論理アドレスは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ１２上で管理している。
【００５８】
図１１は、不揮発性メモリシステム１０００において、第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、第１のファイルシステム書き込みモードで書き込んだ状態に再配置する処理を説明するための図である。
図１１（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
図１１（ａ）に示すように、ホスト装置２がメモリ装置１にファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を発行して、メモリ装置１が第２のファイルシステム情報書き込みモードでファイルシステム情報を書き込んだ後、ホスト装置２がメモリ装置１に、ファイルシステム情報再配置コマンドＦＳ−Ｕｎｐａｃｋを発行すると、メモリ装置１のメモリコントローラ部１１は、第２のファイルシステム情報書き込みモードでデータを書き込まれたＭＡＵ内のデータを、論理アドレスに基づいて異なるＭＡＵに再配置する。
【００５９】
図１１（ｂ）は、不揮発性メモリシステム１０００において、第２のファイルシステム情報書き込みモードでファイルシステム情報を書き込まれたＭＡＵ１１０のデータを、ＭＡＵ１１１およびＭＡＵ１１２に再配置する処理を模式的に示す図である。
図１１（ｂ）において、ＭＡＵ１１０には異なるファイルのファイルシステム情報ＤＩＲ１およびＤＩＲ２が同一ページ内（図１１（ｂ）に＃Ｐ００で示すページ内）に保持されており、メモリ装置１がファイルシステム情報再配置コマンドＦＳ−Ｕｎｐａｃｋを受信した場合、メモリコントローラ部１１は、ＭＡＵ１１０のファイルシステム情報を論理アドレスに応じてＭＡＵ１１１およびＭＡＵ１１２に再配置する。具体的には、メモリコントローラ部１１は、ファイルシステム情報ＤＩＲ１をＭＡＵ１１１へ、ファイルシステム情報ＤＩＲ２をＭＡＵ１１２へ、それぞれ、再配置する。このとき、各ファイルシステム情報の論理アドレスは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ１２上で管理している。
【００６０】
以上説明したように、不揮発性メモリシステム１０００では、任意のタイミングでホスト装置２がデータ再配置コマンドＤ−Ｕｎｐａｃｋ、ファイルシステム情報再配置コマンドＦＳ−Ｕｎｐａｃｋを発行すると、メモリ装置１は、コマンドに従って、第２のデータ書き込みモードあるいは第２のファイルシステム情報書き込みモードで書き込まれたＭＡＵ内のデータ、ファイルシステム情報の再配置を行う。これにより、不揮発性メモリシステム１０００では、第１のデータ書き込みモード或いは第１のファイルシステム情報書き込みモードで書き込んだ場合と同様にデータおよびファイルシステム情報を管理することができるようになる。
また、不揮発性メモリシステム１０００において、上記で説明した再配置処理は、他の処理と組み合わせて行うことも可能である。
【００６１】
（１．２．３．２：再配置処理（他の処理と組み合わせる場合））
図１２および図１３は、不揮発性メモリシステム１０００において、上記で説明した再配置処理を他の処理と組み合わせて行うタイミングの一例を説明する図である。
≪データ消去処理と組み合わせる場合≫
まず、不揮発性メモリシステム１０００において、再配置処理をデータ消去処理と組み合わせて行う場合について、説明する。
図１２は、不揮発性メモリシステム１０００において、再配置処理をデータ消去処理と組み合わせて行う場合の処理を説明するための図である。つまり、図１２は、ホスト装置２がメモリ装置１に対して、消去コマンドを発行した際にデータの再配置を行う処理を説明するための図である。
【００６２】
なお、図１２に示すＥｒａｓｅ−２は、図１４（ｃ）または図１４（ｄ）に示すシーケンスをとるものであり、図１２では、説明便宜のため、Ｅｒａｓｅ−２等における詳細なシーケンスは省略して図示している。
図１２（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
図１２（ａ）において、ホスト装置２は、メモリ装置１に対して、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行し、メモリ装置１は、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を受信し、第２のデータ書き込みモードでデータを書き込む。その後、不揮発性メモリシステム１０００において、書き込んだデータのうち、一方のデータを削除する場合（ここでは、ＤＡＴ２−ｍを削除するものとする。）、ホスト装置２は、メモリ装置１に消去コマンドＥｒａｓｅ−２を発行する。メモリ装置１は、消去コマンドＥｒａｓｅ−２を受信すると、消去コマンドＥｒａｓｅ−２により消去対象とされたデータＤＡＴ２−ｍを消去すると共に、データＤＡＴ１−ｎの再配置を行う。
【００６３】
図１２（ｂ）は、ＤＡＴ２−ｍの消去時に、ＤＡＴ１−ｎの再配置を行う処理を説明する図である。
図１２（ｂ）において、ＭＡＵ１２０には、論理アドレス空間上で２つのＭＡＵに属するデータＤＡＴ１−ｎ（ｎ＝１、２・・・）、ＤＡＴ２−ｍ（ｍ＝１、２・・・）が書き込まれており、メモリ装置１が、ホスト装置２から、ＭＡＵ１２０のデータのうちＤＡＴ２−ｍを消去するコマンドＥｒａｓｅ−２を受信すると、メモリコントローラ部１１は、データＤＡＴ２−ｍを消去すると共に、データＤＡＴ１−ｎをＭＡＵ１２１へ再配置する。このとき、ＭＡＵ１２０内のうち消去するデータと再配置するデータとは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ１２上で管理している。
【００６４】
≪ファイルシステム上の操作でデータを消去する処理と組み合わせる場合≫
次に、不揮発性メモリシステム１０００において、再配置処理をファイルシステム上の操作でデータを消去する処理と組み合わせて行う場合について、説明する。
図１３は、不揮発性メモリシステム１０００において、再配置処理をファイルシステム上の操作でデータを消去する処理と組み合わせて行う場合の処理を説明するための図である。つまり、図１３は、ホスト装置２がメモリ装置１に対して、ファイルシステム上の操作でデータを消去する際に、データの再配置を行う処理を説明するための図である。
図１３（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
図１３（ａ）において、ホスト装置２は、メモリ装置１に対して、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行し、メモリ装置１は、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を受信すると、第２のデータ書き込みモードでデータを書き込む。その後、ホスト装置２は、メモリ装置１に対して、書き込みコマンドＷＦＳを発行し、メモリ装置１は、書き込みコマンドＷＦＳを受信すると、ファイルシステムのデータ(例えば、Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ)の該当するデータを更新し、書き込んだデータのうち一方のデータ（ここでは、データＤＡＴ２−ｍを削除するものとする。）を削除する（ファイルシステム上の操作でデータを消去する）。その後、ホスト装置２は、メモリ装置１に対して、残ったデータＤＡＴ１−ｍについてデータ再配置コマンドＤ−Ｕｎｐａｃｋ１を発行し、メモリ装置１は、データＤＡＴ１−ｍについてデータ再配置コマンドＤ−Ｕｎｐａｃｋ１を受信すると、データＤＡＴ１−ｍについて再配置処理を行う。
【００６５】
なお、図１３に示すＷＦＳは、図１４（ｂ）または図１４（ｄ）に示すシーケンスをとるものであり、図１３では、説明便宜のため、ＷＦＳ等における詳細なシーケンスは省略して図示している。
図１３（ｂ）は、不揮発性メモリシステム１０００において、データＤＡＴ２−ｍをファイルシステム操作で消去した後に、ＤＡＴ１−ｎの再配置を行う処理を説明するための図である。
図１３（ｂ）において、ＭＡＵ１３０には、論理アドレス空間上で２つのＭＡＵに属するデータＤＡＴ１−ｎ（ｎ＝１、２・・・）、ＤＡＴ２−ｍ（ｍ＝１、２・・・）が書き込まれている。ホスト装置２がファイルシステム操作でＤＡＴ２−ｍを消去すると、図１３（ｂ）に示すように、ＭＡＵ１３０は、ファイルシステム上ではＭＡＵ１３１の状態となる。図１３（ｂ）において、バツ印を付している部分（ページ）は、不揮発性メモリ１２上にはデータが存在するが、ファイルシステム上では、削除されている状態を示している。この状態で、ホスト装置２が、ＤＡＴ１−ｎを再配置するためにデータ再配置コマンドＤ−Ｕｎｐａｃｋ１をメモリ装置１へ発行すると、メモリコントローラ部１１は、ＭＡＵ１３１に含まれるデータのうち、ＤＡＴ１−ｎをＭＡＵ１３１へ再配置する。このとき、ＭＡＵ１３１内のうち消去するデータと再配置するデータとは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ上で管理している。
【００６６】
このように、不揮発性メモリシステム１０００では、消去コマンドによるデータ消去処理、或いはファイルシステム操作によるデータの消去処理は、ホスト装置２が記録したファイル（図１２、図１３の場合では、ＤＡＴ１−ｎおよびＤＡＴ１−ｍに相当。）のうちのいずれかを消去する場合に行われる。このため、不揮発性メモリシステム１０００において、消去コマンドによるデータ消去処理、或いはファイルシステム操作によるデータの消去処理を行うタイミングで、データの再配置処理を行うことで、再配置処理を効率的に行うことが可能である。つまり、不揮発性メモリシステム１０００では、比較的処理時間の長いデータ消去処理が実行されているときに、データ消去処理とともにデータの再配置処理が実行されるため、ユーザに、データの再配置処理に時間がかかっている意識をさせることなく、データの再配置処理を実行することができる。
【００６７】
このように、本実施形態に係る不揮発性メモリシステム１０００では、複数のファイルのデータおよび複数のファイルシステム情報を、ホスト装置２がメモリ装置１に記録する場合に、メモリ装置１からホスト装置２に対して出力されるＢＵＳＹ信号の出力期間が短くなるように、データ書き込みモードおよびファイルシステム情報書き込みモードを切替えて、データあるいはファイルシステム情報を記録する。このため、不揮発性メモリシステム１０００では、ホスト装置２が送信待ちとなる期間を短くすることできるので、ホスト装置２が送信待ち状態のときに保持すべきデータ量も少なくすることができる。
これにより、不揮発性メモリシステム１０００では、ホスト装置２のバッファサイズを増やすことなく、複数ファイルのリアルタイム記録を容易に行うことが可能となる。
また、不揮発性メモリシステム１０００では、ユーザにデータの再配置処理の実行を意識させずに、記録したデータやファイルシステム情報を再配置し、第１のデータ書き込みモード或いは第１のファイルシステム情報書き込みモードで書き込んだ場合と同様にデータやファイルシステム情報を配置することができる。これにより、不揮発性メモリシステム１０００では、不揮発性メモリ１２上のデータ管理が複雑になることを防ぐことも可能である。
【００６８】
［他の実施形態］
上記実施形態では、不揮発性メモリシステム１０００において、記録するファイルの数が「２」である場合について説明したが、本発明の適用範囲は、これに限定されるものではなく、例えば、記録するファイルの数は３以上であってもよい。
また、データ書き込みモード切り替えコマンド、ファイルシステム情報書き込みモード切り替えコマンド、第２のデータ書き込みモード終了コマンド、第２のファイルシステム情報書き込みモード終了コマンド、データ再配置コマンド、ファイルシステム情報再配置コマンドは、異なる識別子を有する、それぞれ別個のコマンドであってもよく、あるいは、同じ識別子のコマンドにおいて、その引数を変えることで、これら複数の機能を実現させるための単一コマンドであってもよい。
【００６９】
また、不揮発性メモリシステムにおいて、データの再配置とファイルシステム情報の再配置とを個別のコマンドで実施してもよく、また、同一のコマンドにより、データの再配置処理とファイルシステム情報の再配置処理とをまとめて実施してもよい。
また、不揮発性メモリシステムにおいて、データの再配置処理とファイルシステム情報の再配置処理を容易に実現させるために、データやファイルシステム情報を書き込む際に、同一ファイルのデータとファイルシステム情報とを対応付けるようにコマンドの引数にファイル番号を設定する等することが好ましい。例えば、不揮発性メモリシステムにおいて、ファイル番号「１」のデータと、ファイル番号「２」のデータと、を記録する場合、以下のようにすればよい。
（１）ファイル番号「１」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「１」を含ませる。
（２）ファイル番号「１」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「１」を含ませる。
（３）ファイル番号「２」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「２」を含ませる。
（４）ファイル番号「２」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「２」を含ませる。
【００７０】
また、第２のデータ書き込みモードあるいは第のファイルシステム情報書き込みモードに移行する前に、ファイル番号と書き込むＭＡＵを対応付ける情報を含むコマンドを、ホスト装置２からメモリ装置１に対して発行するようにしてもよい。
上記のようにすることで、不揮発性メモリシステムにおいて、データの再配置処理、あるいはファイルシステム情報の再配置処理を実行するときに、どのデータを再配置処理の対象とすればよいかが容易に分かるので、好ましい。
また、上記実施形態では、不揮発性メモリ１２には、フラッシュメモリが用いられることを想定しているが、これに限定されることはなく、ハードディスクや不揮発性ＲＡＭなど他の不揮発性メモリを用いて、不揮発性メモリシステムを構成してもよい。
なお、上記実施形態で説明した不揮発性メモリシステム、ホスト装置およびメモリ装置において、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。
【００７１】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る不揮発性メモリシステム、ホスト装置およびメモリ装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【００７２】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【産業上の利用可能性】
【００７３】
本発明によると、ホスト装置のバッファサイズ増大を抑えながら複数ファイルのリアルタイム記録が可能なメモリ装置、ホスト装置およびメモリシステムを提供することができ、特に大容量の不揮発性メモリに動画を記録するテレビやＤＶＲなどのホスト装置と、リムーバブルなメモリカードやエンベデッドデバイスなど不揮発性メモリを有するメモリ装置に有用である。
【符号の説明】
【００７４】
１０００  不揮発性メモリシステム（メモリシステム）
１  メモリ装置
１１  メモリコントローラ部
１１０  ホストＩＦ部
１１１  コマンド処理部
１１２  メモリ管理部
１１２１  ＣＰＵ
１１２２  レジスタ
１１２３  データ書き込み管理部
１１２４  ファイルシステム情報書き込み部
１１３  データ制御部
１２  不揮発性メモリ
２    ホスト装置
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  バッファＲＡＭ
２５  メモリ装置制御部
３    バス
【図１】
2011013350.tif 000003
【図２】
2011013350.tif 000004
【図３】
2011013350.tif 000005
【図４】
2011013350.tif 000006
【図５】
2011013350.tif 000007
【図６】
2011013350.tif 000008
【図７】
2011013350.tif 000009
【図８】
2011013350.tif 000010
【図９】
2011013350.tif 000011
【図１０】
2011013350.tif 000012
【図１１】
2011013350.tif 000013
【図１２】
2011013350.tif 000014
【図１３】
2011013350.tif 000015
【図１４】
2011013350.tif 000016
【図１５】
2011013350.tif 000017
【手続補正書】
【提出日】平成23年6月2日(2011.6.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホスト装置と通信することができるように接続されており、前記ホスト装置からのコマンドに従って、データの書き込みおよび／またはデータの読み出しを行うメモリ装置であって、
データを記憶する不揮発性メモリと、
前記ホスト装置の発行するコマンドに含まれる論理アドレスに応じて、前記不揮発性メモリへのデータの書き込み処理および前記不揮発性メモリからのデータの読み出し処理の制御を行い、また、前記不揮発性メモリのメモリ領域をメモリアロケーションユニット単位で管理し、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むように制御するメモリコントローラ部と、
を備え、
前記メモリコントローラ部は、
前記ホスト装置からの指示に従い、データ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのデータ書き込み処理を制御することができ、
（１）前記第１のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、前記ホスト装置の論理アドレスと前記不揮発性メモリの物理アドレスとを対応させ、前記ホスト装置が管理する論理アドレス空間における前記メモリアロケーションユニット内でのデータ配置と、前記不揮発性メモリの物理アドレス空間における前記メモリアロケーションユニット内でのデータ配置とが同一になるように、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択した前記メモリアロケーションユニットに対して、データ書き込み処理を行い、
（２）前記第２のデータ書き込みモードによるデータ書き込み処理を行う場合、前記不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第２データ書き込みモード用メモリアロケーションユニットとして選択し、前記ホスト装置から受信した書き込みデータを、前記ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した前記第２データ書き込みモード用メモリアロケーションユニットに、連続して書き込む、
メモリ装置。
【請求項２】
前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第１のデータ書き込みモードでデータ書き込み処理を行い、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第２のデータ書き込みモードに切り替える、
請求項１に記載のメモリ装置。
【請求項３】
前記メモリコントローラ部は、前記ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、前記第１の書き込みモードに切り替える、
請求項１に記載のメモリ装置。
【請求項４】
前記メモリコントローラ部は、前記ホスト装置から発行される第２のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、前記第１の書き込みモードに切り替える、
請求項１に記載のメモリ装置。
【請求項５】
前記メモリコントローラ部は、前記ホスト装置から発行されるデータ再配置コマンドに従って、前記第２のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項１から４のいずれかに記載のメモリ装置。
【請求項６】
前記メモリコントローラ部は、前記ホスト装置から発行されるデータ消去コマンドにより、前記第２のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、前記第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項１から４のいずれかに記載のメモリ装置。
【請求項７】
前記メモリコントローラ部は、
前記ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードおよび第２のファイルシステム情報書き込みモードのいずれかに切り換えて、前記不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができ、
（１）前記第１のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、前記書き込みコマンドを受信するごとに、逐次、前記不揮発性メモリに書き込むよう制御し、
（２）前記第２のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、前記ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して前記不揮発性メモリの同じページに書き込むよう制御する、
請求項１から６のいずれかに記載のメモリ装置。
【請求項８】
前記メモリコントローラ部は、電源投入時およびリセット後の初期状態では、前記第１のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第２のファイルシステム情報書き込みモードに切り替える、
請求項７に記載のメモリ装置。
【請求項９】
前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替える、
請求項７に記載のメモリ装置。
【請求項１０】
前記メモリコントローラ部は、前記ホスト装置から発行される第２のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替える、
請求項７に記載のメモリ装置。
【請求項１１】
前記メモリコントローラ部は、前記ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、前記不揮発性メモリの物理アドレス空間内において再配置する、
請求項８から１０のいずれかに記載のメモリ装置。
【請求項１２】
メモリ装置にデータの書き込みおよび前記メモリ装置からデータの読み出しを行うホスト装置であって、
前記メモリ装置へのコマンド発行と、前記メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むよう前記メモリ装置を制御するメモリ装置制御部を備え、
前記メモリ装置制御部は、
前記メモリ装置に指示することで、前記メモリ装置のデータ書き込みモードを、前記第１のデータ書き込みモードおよび前記第２のデータ書き込みモードのいずれかに切り換えるよう制御することができる、
ホスト装置。
【請求項１３】
前記メモリ装置制御部は、前記メモリ装置の電源投入時又はリセット後の初期状態では、前記メモリ装置を前記第１のデータ書き込みモードで動作させ、その後、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第２のデータ書き込みモードに切り替えさせる、
請求項１２記載のホスト装置。
【請求項１４】
前記メモリ装置制御部は、前記メモリ装置へデータ書き込みモード指示コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第１の書き込みモードに切り替えさせる、
請求項１２から１３のいずれかに記載のホスト装置。
【請求項１５】
前記メモリ装置制御部は、前記メモリ装置へ第２のデータ書き込みモード終了コマンドを発行して、前記メモリ装置のデータ書き込みモードを、前記第１の書き込みモードに切り替えさせる、
請求項１２または１３に記載のホスト装置。
【請求項１６】
前記メモリ装置制御部は、前記メモリ装置へデータ再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第２のデータ書き込みモードで書き込まれたデータを、前記第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
請求項１２から１５のいずれかに記載のホスト装置。
【請求項１７】
前記メモリ装置制御部は、前記メモリ装置へ第２のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、前記メモリ装置に、前記メモリ装置により前記第２のデータ書き込みモードで書き込まれたデータを、前記第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
請求項１６に記載のホスト装置。
【請求項１８】
前記メモリ装置制御部は、
前記メモリ装置に指示することで、前記メモリ装置のファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードおよび前記第２のファイルシステム情報書き込みモードのいずれかに切り換えるよう制御することができる、
請求項１２から１７のいずれかに記載のホスト装置。
【請求項１９】
前記メモリ装置制御部は、前記メモリ装置の電源投入時およびリセット後の初期状態では、前記メモリ装置を前記第１のファイルシステム情報書き込みモードで動作させ、その後、前記メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第２のファイルシステム情報書き込みモードに切り替えさせる、
請求項１８に記載のホスト装置。
【請求項２０】
前記メモリ装置制御部は、前記メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替えさせる、
請求項１８に記載のホスト装置。
【請求項２１】
前記メモリ装置制御部は、前記メモリ装置に第２のファイルシステム情報書き込みモード終了コマンドを発行して、前記メモリ装置のファイルシステム情報書き込みモードを、前記第１のファイルシステム情報書き込みモードに切り替えさせる、
請求項１８に記載のホスト装置。
【請求項２２】
前記メモリ装置制御部は、前記メモリ装置へファイルシステム情報再配置コマンドを発行して、前記メモリ装置に、前記メモリ装置により前記第２のファイルシステム情報書き込みモードで書き込まれたデータを、前記第１のファイルシステム情報書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、前記不揮発性メモリの物理アドレス空間内において再配置させる、
請求項１８から２１のいずれかに記載のホスト装置。
【請求項２３】
請求項１から１１のいずれかに記載のメモリ装置と、
請求項１２から２２のいずれかに記載のホスト装置と、
を備えるメモリシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置の命令に応じて不揮発性メモリへのデータの書き込みおよび読み出しを行う、不揮発性メモリを備えたメモリ装置、該メモリ装置と接続して不揮発性メモリへのデータの書き込みおよび読み出しを行うホスト装置および、該ホスト装置とメモリ装置を含んで構成されるメモリシステムに関する。
【背景技術】
【０００２】
デジタルカメラ、ムービー、携帯電話などのデジタル情報を制御する機器(以下、「ホスト装置」という)において，デジタル情報を保持する記憶装置としてＮＡＮＤフラッシュメモリなどの不揮発性メモリが多く使われている。近年では、微細化による不揮発性メモリの仕様変更頻度が高くなっているため、不揮発性メモリとメモリコントローラ部とを搭載したメモリ装置が使われることが多くなってきている。このようなメモリ装置には、ホスト装置と着脱可能なリムーバブルカードや、ホスト装置の基板に直付けして使用するエンベデッドタイプのものがある。
また、近年、内蔵する不揮発性メモリの容量が増加し動画記録用途への応用が広がっている。メモリ装置に動画データを記録する場合、一定の書き込み速度を保証しながら書き込みを行う、いわゆるリアルタイム記録を行う必要がある。特許文献１には、このような不揮発性メモリを用いたメモリ装置へリアルタイム記録を行う方法が開示されている。
【０００３】
特許文献１には、所定の条件下でリアルタイム記録を実現する技術が開示されている。具体的には、特許文献１の技術を用いた不揮発性記憶システム（ホスト装置とメモリ装置とを備える不揮発性記憶システム）では、メモリ装置において、不揮発性メモリ上の記憶領域を所定のアロケーションユニット単位（ＡＵ単位）に分割して管理し、メモリ装置の記憶デバイスとしての性能を、所定のデータサイズでアロケーションユニットに連続的にデータを記録した場合の性能として規定する。そして、このように規定されたメモリ装置の記録デバイスとしての性能を、メモリ装置からホスト装置に通知する。ホスト装置は、メモリ装置の記録デバイスとしての当該性能を満たすように、メモリ装置に対してデータ書き込み処理を行うことで、所定の条件下（メモリ装置の記録デバイスとしての性能を満たす条件下）において、リアルタイム記録を行うことができる。つまり、特許文献１の技術では、メモリ装置の不揮発性メモリに、所定のデータサイズでアロケーションユニットに連続的にデータを記録した場合の性能を基準として、データ書き込み処理における最低速度保証を行い、保証される最低速度でのリアルタイム記録を実現させる。
【０００４】
また、リアルタイム記録では、実際には、通常のデータとファイルシステム情報とが交互に記録される。特許文献１の技術では、通常データの書き込み性能とファイルシステム情報の書込み性能とを別個に規定し、ファイルシステム情報の書き込みが通常のデータ書き込み性能に影響しないようにすることで、リアルタイム記録を実現するようにしている。
このように従来技術では、記憶デバイスの性能がアロケーションユニット（ＡＵ）にデータを連続的に書き込んだ場合の性能を基準として決められており、アロケーションユニット内においてデータ書き込みを行う際の瞬間的な性能の変化（例えば、データ書き込み速度の変化）については規定されていない。つまり、従来技術では、最終的に、アロケーションユニットのサイズ分のデータの書き込みが完了した時点で性能が保証されていれば、アロケーションユニット内においてデータ書き込みを行う際のデータ書き込み速度がどのように変化してもよい。言い換えれば、従来技術では、メモリ装置の不揮発性メモリに、アロケーションユニットのサイズだけデータを書き込まないと性能が保証されない。
【０００５】
このため、ホスト装置は、アロケーションユニットのサイズ相当のバッファを備えて、瞬間的な性能の変化（例えば、データ書き込み速度の変化）を吸収する必要がある。
また、通常データとファイルシステム情報とは、同一のインタフェースを通じて、ホスト装置から記憶デバイスに書き込まれるため、ファイルシステム情報を書き込む間は、通常データの書き込みは、待たされることになる。このため、ホスト装置は、ファイルシステム情報を書き込む間データを保持するためのバッファをホスト装置に備える必要がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１７８９２３
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、テレビやＤＶＲ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）などで不揮発性メモリを備えたメモリ装置へ動画を記録する機能を備えるものが出現している。このような機器のうち複数のチューナを持つものでは、メモリ装置に対して複数のチャネルの動画データを複数ファイルとして記録することが考えられる。このような複数ファイルのデータをメモリ装置に記録する場合、メモリ装置において、データは、通常異なるアロケーションユニットに記録されるが、前述したように従来技術では、アロケーションユニットのサイズだけデータを書き込まないと性能が保証されない。このため、従来技術では、複数ファイルのデータを複数のアロケーションユニットにリアルタイム記録するには、ファイル毎にアロケーションユニットサイズ相当のバッファをホスト装置に備える必要がある。
【０００８】
また、メモリ装置に記録するファイル数が増えると、ファイルシステム情報の更新もファイル数だけ必要になるが、前述したようにファイルシステム情報を書き込む間は、通常データの書き込み処理を実行することができず、書き込み処理を待ち状態にする必要があるため、記録するファイル数の増加に伴いファイルシステム情報書き込みの頻度が増加すると、その分必要なバッファのサイズも増加する。
すなわち、従来技術では、複数の動画データをリアルタイムに記録することが想定されておらず、記録するチャネル数に比例してホスト装置に必要なバッファのサイズが増大するという課題がある。
本発明は、以上の問題点を解決し、ホスト装置のバッファサイズの増加を抑えながら複数の動画データをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の発明は、ホスト装置と通信することができるように接続されており、ホスト装置からのコマンドに従って、データの書き込みおよび／またはデータの読み出しを行うメモリ装置であって、不揮発性メモリと、メモリコントローラ部と、を備えるメモリ装置である。
不揮発性メモリは、データを記憶する。メモリコントローラ部は、ホスト装置の発行するコマンドに含まれる論理アドレスに応じて、不揮発性メモリにデータの書き込み処理および不揮発性メモリからのデータの読み出し処理の制御を行い、また、不揮発性メモリのメモリ領域をメモリアロケーションユニット単位で管理し、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むように制御する。
【００１０】
そして、メモリコントローラ部は、ホスト装置からの指示に従い、データ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えて、不揮発性メモリへのデータ書き込み処理を制御することができる。また、メモリコントローラ部は、以下の（１）、（２）の処理を行う。
（１）第１のデータ書き込みモードによるデータ書き込み処理を行う場合、メモリアロケーションユニット単位で、ホスト装置の論理アドレスと不揮発性メモリの物理アドレスとを対応させ、ホスト装置が管理する論理アドレス空間におけるメモリアロケーションユニット内でのデータ配置と、不揮発性メモリの物理アドレス空間におけるメモリアロケーションユニット内でのデータ配置とが同一になるように、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスに応じて、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを選択し、選択したメモリアロケーションユニットに対して、データ書き込み処理を行う。
（２）第２のデータ書き込みモードによるデータ書き込み処理を行う場合、不揮発性メモリの物理アドレス空間内において、データを書き込むためのメモリアロケーションユニットを第２データ書き込みモード用メモリアロケーションユニットとして選択し、ホスト装置から受信した書き込みデータを、ホスト装置から発行されるデータ書き込みコマンドに含まれる論理アドレスによらず、選択した第２データ書き込みモード用メモリアロケーションユニットに、連続して書き込む。
【００１１】
このメモリ装置では、例えば、論理アドレス空間上で異なるＭＡＵ（メモリアロケーションユニット）に配置される複数ファイルのデータを記録する場合に、第２のデータ書き込みモードによりデータ書き込み処理を行うことで、書き込むデータの論理アドレスが不連続な場合でも、不揮発性メモリのメモリ領域に連続的にデータを書き込むことができる。このため、このメモリ装置では、効率よく短時間でデータを書き込むことが可能である。したがって、このメモリ装置と接続されるホスト装置の備えるバッファサイズも少なくて済む。その結果、このメモリ装置をホスト装置とともに用いることで、ホスト装置のバッファサイズの増加を抑えながら、例えば、複数の動画データをリアルタイムに記録する（一定の書き込み速度を保証したデータ書き込み処理を行う）ことが可能となる。
なお、「不揮発性メモリ」は、複数の不揮発性メモリであってもよい。
【００１２】
また、「連続して書き込む」とは、例えば、ホスト装置から連続して送信されるデータを、メモリ装置が連続的に受信し、受信したデータを、受信した順に、連続的に不揮発性メモリに書き込むことをいう。
また、「メモリアロケーションユニット」とは、不揮発性メモリのメモリ領域を分割して管理するための単位であり、物理的な管理単位のＮ倍（Ｎは自然数）のサイズとなることが好ましい。なお、「物理的な管理単位」は、例えばＮＡＮＤフラッシュでは消去単位である物理ブロックを単位として用いることができる。
第２の発明は、第１の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第１のデータ書き込みモードでデータ書き込み処理を行い、ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、第２のデータ書き込みモードに切り替える。
【００１３】
第３の発明は、第１の発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ書き込みモード指示コマンドに従って、データ書き込みモードを、第１の書き込みモードに切り替える。
これにより、メモリ装置が第２の書き込みモードであっても、ホスト装置から発行されるデータ書き込みモード指示コマンドにより、メモリ装置の書き込みモードを、第１の書き込みモードにすることができる。
第４の発明は、第１の発明であって、メモリコントローラ部は、ホスト装置から発行される第２のデータ書き込みモード終了コマンドに従って、データ書き込みモードを、第１の書き込みモードに切り替える。
第５の発明は、第１から第４のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ再配置コマンドに従って、第２のデータ書き込みモードで書き込んだデータを、メモリアロケーションユニット単位で論理アドレスと物理アドレスが対応するよう、不揮発性メモリの物理アドレス空間内において再配置する。
【００１４】
このメモリ装置では、ホスト装置から発行されるデータ再配置コマンドに従って、第２のデータ書き込みモードで書き込まれたＭＡＵ内のデータの再配置を行うため、データの再配置後は、第１のデータ書き込みモードで書き込んだ場合と同様にデータを管理することができるようになる。その結果、このメモリ装置では、いわゆるフラグメント状態が発生することを抑制し、効率のよいデータ管理をすることが可能となる。
第６の発明は、第１から第４の発明であって、メモリコントローラ部は、ホスト装置から発行されるデータ消去コマンドにより、第２のデータ書き込みモードで書き込んだデータの一部が消去された場合、残りのデータを、第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置する。
【００１５】
これにより、このメモリ装置では、消去コマンドによる消去処理とともに、再配置処理を行うことができる。
第７の発明は、第１から第６のいずれかの発明であって、メモリコントローラ部は、ホスト装置からの指示に従い、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードおよび第２のファイルシステム情報書き込みモードのいずれかに切り換えて、不揮発性メモリへのファイルシステム情報の書き込み処理を制御することができる。また、メモリコントローラ部は、以下の（１）、（２）の処理を行う。
（１）第１のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、異なるデータのファイルシステム情報を、書き込みコマンドを受信するごとに、逐次、不揮発性メモリに書き込むよう制御する。
（２）第２のファイルシステム情報書き込みモードによるファイルシステム情報書き込み処理を行う場合、ホスト装置から発行される異なる書き込みコマンドで書き込みを指示される、複数の異なるファイルシステム情報のデータを、一括して、不揮発性メモリの同じページに書き込むよう制御する。
【００１６】
このメモリ装置では、例えば、複数ファイルの異なるファイルシステム情報のデータを記録する場合に、第２のファイルシステム情報書き込みモードにより書き込み処理を行うことで、不揮発性メモリの同一ＭＡＵ内の同じページに書き込むことができる。このため、複数の異なるファイルシステム情報を書き込む場合のトータル時間を短縮することができる。その結果、このメモリ装置とともに用いられるホスト装置が送信待ち状態のときに保持すべきデータ量が少なくて済むので、ホスト装置の持つバッファサイズの増大を抑えることができる。また、ホスト装置の送信待ち時間も短くなるので、このメモリ装置を用いることで、複数ファイルのリアルタイム記録も実現させやすい。
第８の発明は、第７の発明であって、メモリコントローラ部は、電源投入時およびリセット後の初期状態では、第１のファイルシステム情報書き込みモードでファイルシステム情報の書き込み処理を行い、ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモードに切り替える。
【００１７】
第９の発明は、第７の発明であって、メモリコントローラ部は、ホスト装置から発行されるファイルシステム情報書き込みモード指示コマンドに従って、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替える。
第１０の発明は、第７の発明であって、メモリコントローラ部は、ホスト装置から発行される第２のファイルシステム情報書き込みモード終了コマンドに従って、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替える。
第１１の発明は、第８から第１０のいずれかの発明であって、メモリコントローラ部は、ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、異なる物理ページに格納されるように、不揮発性メモリの物理アドレス空間内において再配置する。
【００１８】
このメモリ装置では、ホスト装置から発行されるファイルシステム情報再配置コマンドに従って、第２のファイルシステム情報書き込みモードで書き込まれたＭＡＵ内のファイルシステム情報の再配置を行うため、再配置処理後は、第１のファイルシステム情報書き込みモードで書き込んだ場合と同様にファイルシステム情報を管理することができるようになる。その結果、このメモリ装置では、いわゆるフラグメント状態が発生することを抑制し、効率のよく、ファイルシステム情報を管理することができる。
第１２の発明は、メモリ装置にコマンドを発行して、メモリ装置にデータの書き込みおよびメモリ装置からデータの読み出しを行うホスト装置であって、メモリ装置制御部を備える。
メモリ装置制御部は、メモリ装置へのコマンド発行と、メモリ装置に対してデータ書き込み処理あるいはデータ読み出し処理の対象となるデータの入出力制御と、を行い、また、論理アドレス空間をメモリアロケーションユニット単位で管理して、データと、データのファイルシステム情報とを、それぞれ別のメモリアロケーションユニットに書き込むようメモリ装置を制御する。
【００１９】
メモリ装置制御部は、メモリ装置に指示することで、メモリ装置のデータ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えるよう制御することができる。
このホスト装置では、メモリ装置に対して、例えば、コマンド等により指示することで、メモリ装置のデータ書き込みモードを、第１のデータ書き込みモードおよび第２のデータ書き込みモードのいずれかに切り換えるよう制御することができる。したがって、例えば、単一ファイルのデータ書き込み処理を行う場合は、第１のデータ書き込みモードによるデータ書き込み処理を指示し、複数ファイルをリアルタイム記録する場合は、第２のデータ書き込みモードによるデータ書き込み処理を指示することで、用途に応じて、最適な処理を、メモリ装置に対して指示することができる。
【００２０】
第１３の発明は、第１２の発明であって、メモリ装置制御部は、メモリ装置の電源投入時又はリセット後の初期状態では、メモリ装置を第１のデータ書き込みモードで動作させ、その後、メモリ装置へデータ書き込みモード指示コマンドを発行して、メモリ装置のデータ書き込みモードを、第２のデータ書き込みモードに切り替えさせる。
第１４の発明は、第１２または第１３の発明であって、メモリ装置制御部は、メモリ装置へデータ書き込みモード指示コマンドを発行して、メモリ装置のデータ書き込みモードを、第１の書き込みモードに切り替えさせる。
第１５の発明は、第１２または第１３の発明であって、メモリ装置制御部は、メモリ装置へ第２のデータ書き込みモード終了コマンドを発行して、メモリ装置のデータ書き込みモードを、第１の書き込みモードに切り替えさせる。
【００２１】
第１６の発明は、第１２から第１５のいずれかの発明であって、メモリ装置制御部は、メモリ装置へデータ再配置コマンドを発行して、メモリ装置に、メモリ装置により第２のデータ書き込みモードで書き込まれたデータを、第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第１７の発明は、第１６の発明であって、メモリ装置制御部は、メモリ装置へ第２のデータ書き込みモードで書き込んだデータの一部を、ファイルシステム情報を更新してファイルシステム上で消去する際に、メモリ装置に、メモリ装置により第２のデータ書き込みモードで書き込まれたデータを、第１のデータ書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
【００２２】
第１８の発明は、第１２から第１７のいずれかの発明であって、メモリ装置制御部は、メモリ装置に指示することで、メモリ装置のファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードおよび第２のファイルシステム情報書き込みモードのいずれかに切り換えるよう制御することができる。
第１９の発明は、第１８の発明であって、メモリ装置制御部は、メモリ装置の電源投入時およびリセット後の初期状態では、メモリ装置を第１のファイルシステム情報書き込みモードで動作させ、その後、メモリ装置に対してファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモードに切り替えさせる。
第２０の発明は、第１８の発明であって、メモリ装置制御部は、メモリ装置にファイルシステム情報書き込みモード指示コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替えさせる。
【００２３】
第２１の発明は、第１８の発明であって、メモリ装置制御部は、メモリ装置に第２のファイルシステム情報書き込みモード終了コマンドを発行して、メモリ装置のファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモードに切り替えさせる。
第２２の発明は、第１８から第２１のいずれかの発明であって、メモリ装置制御部は、メモリ装置へファイルシステム情報再配置コマンドを発行して、メモリ装置に、メモリ装置により第２のファイルシステム情報書き込みモードで書き込まれたデータを、第１のファイルシステム情報書き込みモードによりデータ書き込み処理がなされたときのデータ配置と同じになるように、不揮発性メモリの物理アドレス空間内において再配置させる。
第２３の発明は、第１から第１１のいずれかの発明であるメモリ装置と、第１２から第２２のいずれかの発明であるホスト装置と、を備えるメモリシステムである。
【発明の効果】
【００２４】
本発明によれば、ホスト装置のバッファサイズの増加を抑えながら複数の動画データをリアルタイムに記録することが可能なメモリ装置、ホスト装置およびメモリシステムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】第１実施形態に係る不揮発性メモリシステム１０００のブロック図である。
【図２】第１のデータ書き込みモードを説明する図である。
【図３】第２のデータ書き込みモードを説明する図である。
【図４】データ書き込みモードの状態遷移を説明する図である。
【図５】データ書き込みモード切り替えのコマンドシーケンスを説明する図である。
【図６】第１のファイルシステム情報書き込みモードを説明する図である。
【図７】第２のファイルシステム情報書き込みモードを説明する図である。
【図８】ファイルシステム情報書き込みモードの状態遷移を説明する図である。
【図９】ファイルシステム情報書き込みモード切り替えのコマンドシーケンスを説明する図である。
【図１０】データの再配置処理を説明する図である。
【図１１】ファイルシステム情報の再配置を説明する図である。
【図１２】消去コマンド発行時にデータの再配置を行う処理を説明する図である。
【図１３】ファイルシステム操作後にデータの再配置を行う処理を説明する図である。
【図１４】バス３のトランザクションを説明する図である。
【図１５】ＣＭＤ、ＲＥＳ、ＤＡＴの構成を説明する図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について、図面を参照しながら説明する。
［第１実施形態］
＜１．１：不揮発性メモリシステムの構成＞
図１は、本発明の第１実施形態に係る不揮発性メモリシステム（メモリシステム）１０００の構成を示すブロック図である。
図１において、本実施形態に係る不揮発性メモリシステム１０００は、メモリ装置１とホスト装置２と、を備え、メモリ装置１とホスト装置２とは、バス３により接続されて、双方向に通信を行うことができる。
なお、以降の説明に用いる図面においては、本発明に関連しない構成要素については図示を省略している。また、本発明は、以下に示す実施形態に限定されないことは言うまでもない。
【００２７】
（１．１．１：メモリ装置）
メモリ装置１は、図１に示すように、メモリコントローラ部１１と、１以上の不揮発性メモリ１２と、を備える。
メモリコントローラ部１１は、図１に示すように、ホストＩＦ部１１０と、コマンド処理部１１１と、メモリ管理部１１２と、データ制御部１１３と、を備える。
ホストＩＦ部１１０は、ホスト装置２とバス３を介して接続されており、ホスト装置２と通信を行うことが可能である。ホストＩＦ部１１０は、バス３を介して、ホスト装置２からコマンド受信したり、ホスト装置２に対して応答（レスポンス）を送信したりする。また、ホストＩＦ部１１０は、バス３を介して、ホスト装置２とデータの送受信を行う。また、ホストＩＦ部１１０は、ホスト装置２から受信したコマンドをコマンド処理部１１１に出力し、ホスト装置２から受信したデータをデータ制御部１１３に出力する。また、ホストＩＦ部１１０は、コマンド処理部１１１から出力される応答（レスポンス）等を入力し、当該応答（レスポンス）等を、バス３を介して、ホスト装置２に送信する。
【００２８】
コマンド処理部１１１は、ホスト装置２が発行し、ホストＩＦ部１１０が受信したコマンドを解釈して、ホスト装置２に返信する応答（レスポンス）を生成し、ホストＩＦ部１１０に出力する。また、コマンド処理部１１１は、コマンドの解釈結果や、コマンドの引数等から取得したデータ等を、メモリ管理部１１２に出力する。
メモリ管理部１１２は、不揮発性メモリ１２のデータの入出力や不揮発性メモリ１２のメモリ領域管理を行う。
メモリ管理部１１２は、メモリ装置１の処理全般を制御するＣＰＵ１１２１と、ホスト装置２の発行するコマンドに含まれる論理アドレスと不揮発性メモリ１２上の物理アドレスとの対応付けを管理するアドレス管理部１１２２と、を備える。また、メモリ管理部１１２は、不揮発性メモリ１２にデータを書き込む場合の書き込みモードを管理するデータ書き込み管理部１１２３と、不揮発性メモリ１２にファイルシステム情報を書き込む場合の書き込みモードを管理するファイルシステム情報書き込み管理部１１２４と、を備える。
【００２９】
データ制御部１１３は、ホストＩＦ部１１０と不揮発性メモリ１２との間のデータの入出力を行うためのバッファＲＡＭを備えており、データ制御部１１３は、当該バッファＲＡＭを用いて、メモリ管理部１１２の指示に従い、不揮発性メモリ１２に対してデータの書き込み処理／読み出し処理を行う。
なお、メモリコントローラ部１１の各機能部は、その全部または一部を、個別に接続してもよいし、内部バスにより接続してもよい。
（１．１．２：ホスト装置）
ホスト装置２は、図１に示すように、ホスト装置２全体の制御を行うＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、メモリ装置１とデータの送受信を行うためのバッファＲＡＭ２４と、メモリ装置１とバス３を介してコマンド・応答やデータの送受信を行うメモリ装置制御部２５と、を備える。
【００３０】
なお、ホスト装置２の各機能部は、その全部または一部を、個別に接続してもよいし、内部バス（例えば、図１のバスＢ１）により接続してもよい。
（１．１．３：バス）
バス３は、例えば、メモリ装置１とホスト装置２とがコマンド・応答、データの送受信を行うための１以上の信号線の組により構成される。本実施形態に係る不揮発性メモリシステム１０００において、バス３は、クロック信号ＣＬＫを伝送するためのクロックラインと、コマンド・応答信号ＣＭＤを伝送するためのコマンドラインと、データ信号ＤＡＴを伝送するためのデータ信号ラインと、を含んで構成される。なお、バス３のデータ信号ラインは、必ずしも１本である必要はなく、バス３が、複数のデータ信号ラインを含むものであってもよい。
【００３１】
≪バストランザクション≫
図１４は、不揮発性メモリシステム１０００において、バス３を介して行われるメモリ装置１とホスト装置２とのバストランザクションを説明する図である。
図１４において、コマンドＣＭＤは、ホスト装置２がメモリ装置１に対してデータの読み出しや書き込みなどの指示を行うために送信する信号である。
応答ＲＥＳは、コマンドＣＭＤを受信したメモリ装置１が各種ステータス情報などを応答するために送信する信号である。
データＤＡＴは、メモリ装置１への書き込みの場合はホスト装置２がメモリ装置１に対して送信するものであり、メモリ装置１からの読み出しの場合は、メモリ装置１がホスト装置２に対して送信するものである。
【００３２】
これらのトランザクションは、主にメモリ装置１のコマンド処理部１１１およびホストＩＦ部１１０と、ホスト装置２のメモリ装置制御部２５とで処理が行われることが多く、必要に応じてメモリ装置１では、メモリ管理部１１２も処理を行う。
ホスト装置２が発行するコマンドの内容によって、複数種類のバストランザクションが存在し、図１４（ａ）では、コマンドＣＭＤと応答ＲＥＳのみで完結する。これは、主に不揮発性メモリ１２のデータ入出力を行わないコマンドの場合に使われる。
図１４（ｂ）では、コマンドＣＭＤと応答ＲＥＳに加えて、データＤＡＴＡの転送が行われる。このバストランザクションは、主に不揮発性メモリ１２へのデータの書き込みおよび不揮発性メモリ１２からのデータの読み出しの場合のバストランザクションである。
図１４（ｃ）に示すバストランザクションは、コマンドＣＭＤと応答ＲＥＳに加えて、データ信号ＤＡＴを使ってメモリ装置１が内部処理中であることを示す状態信号であるＢｕｓｙ信号をホスト装置２へ伝える場合のバストランザクションである。
【００３３】
図１４（ｄ）に示すバストランザクションは、コマンドＣＭＤと応答ＲＥＳ、データＤＡＴＡに続いて、状態信号Ｂｕｓｙ（Ｂｕｓｙ信号）をメモリ装置１がホスト装置２に対して送信するバストランザクションである。
図１４（ｃ）および（ｄ）のように、状態信号Ｂｕｓｙ（Ｂｕｓｙ信号）をメモリ装置１が送信するのは、ホスト装置２との間でデータの入出力は行わず、メモリ装置１の内部でメモリコントローラ部１１が不揮発性メモリ１２のデータの入出力を行うためである。このような場合、不揮発性メモリシステム１０００では、図１４（ｃ）および（ｄ）に示したバストランザクションが使われる。
≪データフォーマット≫
図１５は、メモリ装置１とホスト装置２との間で送受信されるコマンドＣＭＤ、応答ＲＥＳ、データＤＡＴの構成を示す図である。図１５において、ＣＭＤ、ＲＥＳ、ＤＡＴは、全て開始ビットと終了ビットと、バス３上での誤り検出のためのＣＲＣと、を含んで構成される。その他の構成要素は、ＣＭＤ、ＲＥＳ、ＤＡＴで異なる。
【００３４】
ＣＭＤは、ホスト装置２の指示する処理内容を識別するための識別子と引数とを含む。ＣＭＤの引数には、各種制御用のフラグやデータの読み出しおよびデータの書き込みを行うためのアドレス情報が含まれ、その内容は識別子により異なる。
ＲＥＳは、識別子とステータスとを含む。ＲＥＳの識別子は、ホスト装置２が発行したコマンドＣＭＤの識別子と同じ値である。また、ステータスは、メモリ装置１の内部状態を示す状態信号であり、例えば、エラーの有無やメモリ装置１の状態遷移を示す情報が含まれる。
ＤＡＴは、ペイロードを含む。ペイロードは、ホスト装置２が発行したコマンドＣＭＤの識別子により異なり、例えば、不揮発性メモリ１２のデータの読み出しコマンドまたはデータの書き込みコマンドの場合、ペイロードは、不揮発性メモリ１２から読み出したデータまたは不揮発性メモリ１２に書き込むデータであり、レジスタの読み出しコマンドの場合、ペイロードは、レジスタの値である。
【００３５】
＜１．２：不揮発性メモリシステムの動作＞
次に、不揮発性メモリシステム１０００の動作について、図面を参照しながら、以下、説明する。具体的には、不揮発性メモリシステム１０００において、ホスト装置２がメモリ装置１に２つのファイルのデータと、そのファイルシステム管理情報とを書き込む場合を例にとって説明する。
（１．２．１：データ書き込みモード）
不揮発性メモリシステム１０００のデータ書き込みモードについて、第１のデータ書き込みモードと、第２のデータ書き込みモードに分けて、以下説明する。
（１．２．１．１：第１のデータ書き込みモード）
まず、不揮発性メモリシステム１０００における第１のデータ書き込みモードについて、説明する。
【００３６】
図２は、本実施形態に係るメモリ装置１の、第１のデータ書き込みモードを説明する図である。
図２において、ホスト装置２の管理する論理アドレス空間とメモリ装置１の管理する不揮発性メモリの記憶領域（メモリ領域）とは、メモリアロケーションユニット（ＭＡＵ）単位に分割して管理され、メモリ装置１のアドレス管理部１１２２が論理アドレス空間上のＭＡＵと不揮発性メモリのメモリ領域上のＭＡＵとの対応付けを管理する。ＭＡＵのサイズは、メモリ装置１に固有の値であり、例えば、不揮発性メモリとしてＮＡＮＤフラッシュを使う場合には、ＮＡＮＤフラッシュメモリのメモリ領域の消去単位である物理ブロックの整数倍となる。
ホスト装置２がメモリ装置１に対してデータの書き込みコマンドを発行して、第１のデータ書き込みモードを使用してデータの書き込みを行う場合、アドレス管理部１１２２は、コマンドに含まれる論理アドレスを含むＭＡＵを、不揮発性メモリのメモリ領域上のいずれかのＭＡＵと対応付けし、対応付けした領域にホスト装置２が書き込みコマンドにより書き込みを指示したデータ（書き込みデータ）を書き込む。
【００３７】
図２においては、論理アドレス空間上のＭＡＵ２０１およびＭＡＵ２０２が、それぞれ、不揮発性メモリのメモリ領域上のＭＡＵ２１１およびＭＡＵ２１２に対応付けられている。
なお、各ＭＡＵ内では、データは、連続的に配置されており、ＭＡＵのサイズをＳMAUバイトとすると、例えば、論理アドレス空間上のＭＡＵ２０２に含まれるバイトアドレスＮ〜Ｎ＋ＳMAU−１のデータは、不揮発性メモリのメモリ領域上のＭＡＵ２１２に含まれるバイトアドレスＭ〜Ｍ＋ＳMAU−１に記録されている。つまり、ＭＡＵ２０２内におけるデータ配置と、ＭＡＵ２１２内におけるデータ配置とが、同一である。
従って、不揮発性メモリシステム１０００において、ホスト装置２がメモリ装置１に対して、連続的にデータを書き込む場合、第１のデータ書き込みモードを使用することで、不揮発性メモリ１２のメモリ領域上の連続する領域にデータを書き込むことができ、効率よく短時間でデータを書き込むことが可能となる。
【００３８】
（１．２．１．２：第２のデータ書き込みモード）
次に、不揮発性メモリシステム１０００における第２のデータ書き込みモードについて、説明する。
図３は、本実施形態に係るメモリ装置１の、第２のデータ書き込みモードを説明する図である。
図３においても、ホスト装置２の管理する論理アドレス空間とメモリ装置１の管理する不揮発性メモリの記憶領域とは、メモリアロケーションユニット（ＭＡＵ）単位に分割して管理され、メモリ装置１のアドレス管理部１１２２が論理アドレス空間と不揮発性メモリ１２のメモリ領域との対応付けを管理するが、第１のデータ書き込みモードとの違いは、論理アドレス空間上の異なるＭＡＵに属するデータが、不揮発性メモリ１２のメモリ領域上の同じＭＡＵに連続的に記録される点である。
【００３９】
図３に示すように、ホスト装置２がメモリ装置１に対して、データの書き込みコマンドを発行して、第２のデータ書き込みモードを使用してデータの書き込みを行う場合、アドレス管理部１１２２は、不揮発性メモリ１２のメモリ領域上のいずれかのＭＡＵを選択し、選択した領域に、ホスト装置２が書き込みコマンドにより書き込みを指示したデータ（書き込みデータ）を書き込む。以降、不揮発性メモリシステム１０００において、ホスト装置２が第２のデータ書き込みモードでデータを書き込む場合には、コマンドに含まれる論理アドレスによらず、不揮発性メモリ１２のメモリ領域上の同じＭＡＵ（図３に示すＭＡＵ−１がこれに相当。）に連続的にデータを書き込んでいく。
図３に示すように、不揮発性メモリシステム１０００では、ホスト装置２が異なる２つのＭＡＵに属するデータ３０１〜３０４を、３０１、３０２、３０３、３０４の順に、第２のデータ書き込みモードで書き込む場合、メモリ管理部１１２は、不揮発性メモリのメモリ領域上の書き込み可能なＭＡＵ（図３のＭＡＵ−１）へ、以下のようにして、データを連続的に書き込む。
（１）領域３０１のデータを領域３１１へ書き込む。
（２）領域３０２のデータを領域３１２へ書き込む。
（３）領域３０３のデータを領域３１３へ書き込む。
（４）領域３０４のデータを領域３１４へ書き込む。
【００４０】
このようにして、不揮発性メモリシステム１０００では、第２のデータ書き込みモードにより、不揮発性メモリ１２のメモリ領域上で連続的にデータを記録する。
なお、３０１〜３０４の論理アドレスと３１１〜３１４の記録される不揮発性メモリ１２のメモリ領域上の物理アドレスとの対応付けは、アドレス管理部１１２２が管理する。
以上のように、不揮発性メモリシステム１０００では、ホスト装置２が異なるＭＡＵに属するデータを交互にメモリ装置１に書き込む場合、第２のデータ書き込みモードを使用することで、書き込むデータの論理アドレスが不連続な場合でも、不揮発性メモリ１２のメモリ領域に連続的にデータを書き込むことができる。このため、不揮発性メモリシステム１０００では、効率よく短時間でデータを書き込むことが可能である。
特に、不揮発性メモリシステム１０００において、データをＭＡＵのサイズだけ書き込んだ場合の性能を規定しているメモリ装置１に対して、論理アドレス空間上で異なるＭＡＵに配置される複数ファイルのデータを記録する場合には、ホスト装置２の備えるバッファのサイズは１ファイルを記録する場合と同じでよい。したがって、不揮発性メモリシステム１０００では、ホスト装置２が備えなければならないバッファ量を増大させることなく（１ファイルを記録する場合と同じバッファ量を備えていればよく）、複数ファイルのデータのリアルタイム記録（一定の書き込み速度を保証したデータ書き込み処理）を行うことが可能である。
【００４１】
なお、論理アドレス空間と不揮発性メモリ上のメモリ領域との対応付け（論理アドレス空間内の所定の分割領域（例えば、ＭＡＵ）内でのデータ配置と、不揮発性メモリ上のメモリ領域（物理アドレス空間）内の所定の分割領域（例えば、ＭＡＵ）内でのデータ配置との対応付け）をアドレス管理部１１２２が管理するための様々な手段が従来から開示されているが、本発明の本旨とは直接的には関係がないので、説明は省略する。
（１．２．１．３：データ書き込みモードの状態遷移図）
図４は、本実施形態に係るメモリ装置１のデータ書き込みモードの状態遷移図を説明する図である。
図４に示すように、メモリ装置１は、電源ＯＮ時またはリセット時には、ＩＤＬＥ状態４１となり、ホスト装置２による初期化処理が行われると第1のデータ書き込みモード４２に移行する。その後、ホスト装置２のコマンドに従って第１のデータ書き込みモード４２と第２のデータ書き込みモード４３との間でモードの切り替えを行い、選択されたモードに応じて不揮発性メモリ１２へのデータ書き込み処理を行う。
【００４２】
（１．２．１．４：データ書き込みモードのコマンドシーケンス）
図５は、図４における第１のデータ書き込みモード４２と第２のデータ書き込みモード４３との間の切り替えを行うためのコマンドシーケンスを説明する図である。
図５（ａ）〜（ｃ）は、それぞれ、上段がバス３を介してホスト装置２からメモリ装置１に送信されるコマンドを模式的に示しており、中段がバス３を介してホスト装置２からメモリ装置１に送信されるデータを模式的に示しており、下段がデータ書き込みモードを示している。なお、図５（ａ）〜（ｃ）において、横軸は時間軸である。
なお、図５（ａ）〜（ｃ）に示すＤ−ＭＯＤ１およびＤ−ＭＯＤ２は、図１４（ａ）〜（ｄ）に示すいずれかのシーケンスをとるものであり、図５（ａ）〜（ｃ）では、説明便宜のため、Ｄ−ＭＯＤ１およびＤ−ＭＯＤ２等における詳細なシーケンスは省略して図示している。
【００４３】
図５（ａ）〜（ｃ）に示すように、ホスト装置２が発行したデータ書き込みモード切り替えコマンドＤ−ＭＯＤ２をメモリ装置１が受信すると、メモリ装置１は、データ書き込みモードを、第１のデータ書き込みモード４２から第２のデータ書き込みモード４３へ遷移させる。そして、データ書き込み管理部１１２３は、第２のデータ書き込みモードに移行した時点以降、ホスト装置２から書き込みコマンドを受信した場合、第２のデータ書き込みモードでデータを不揮発性メモリ１２に書き込むように制御を行う。
また、図５（ａ）に示すように、ホスト装置２が発行したデータ書き込みモード切り替えコマンドＤ−ＭＯＤ１をメモリ装置１が受信すると、メモリ装置１は、データ書き込みモードを、第２のデータ書き込みモード４３から第１のデータ書き込みモード４２に遷移させる。そして、データ書き込み管理部１１２３は、第１のデータ書き込みモードに移行した時点以降、ホスト装置２から書き込みコマンドを受信した場合、第１のデータ書き込みモードでデータを不揮発性メモリ１２に書き込むように制御を行う。
【００４４】
図５（ｂ）および図５（ｃ）に示すように、メモリ装置１が、データ書き込みモードを、第２のデータ書き込みモード４３から第１のデータ書き込みモード４２に遷移させることも可能である。
すなわち、図５（ｂ）に示すように、ホスト装置２が発行した第２のデータ書き込みモード終了コマンドＤ−ＥＮＤ２を、メモリ装置１が受信すると、メモリ装置１は、データ書き込みモードを、第１のデータ書き込みモード４２へ遷移させる。
また、図５（ｃ）に示すように、メモリ装置１が、不揮発性メモリ１２に対して、第２のデータ書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置１は、データ書き込みモードを、第１のデータ書き込みモード４２へ遷移させる。なお、「所定の回数」は、ホスト装置２が、メモリ装置１に対して、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置１の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
【００４５】
このように、本実施形態に係るホスト装置２とメモリ装置１とは、ホスト装置２の発行するコマンドによって、メモリ装置１が、データ書き込みモードを、第１のデータ書き込みモードまたは第２のデータ書き込みモードのいずれかに切り替えて、不揮発性メモリへのデータ書き込み処理を行う。なお、コマンドＤ−ＭＯＤ２には、第２のデータ書き込みモードで書き込み処理がなされるファイル数およびファイルを識別する情報を含ませるようにすることが好ましい。
これによって、不揮発性メモリシステム１０００では、複数のファイルのデータを不揮発性メモリの同一のＭＡＵに書き込むことができる。このため、不揮発性メモリシステム１０００において複数のファイルを記録する場合であっても、ホスト装置２のバッファサイズを、１つのファイルを記録する場合と同じサイズに抑えることができる。
【００４６】
（１．２．２：ファイルシステム情報書き込みモード）
次に、不揮発性メモリシステム１０００のファイルシステム情報書き込みモードについて、第１のファイルシステム情報書き込みモードと、第２のファイルシステム情報書き込みモードに分けて、以下説明する。
（１．２．２．１：第１のファイルシステム情報書き込みモード）
まず、不揮発性メモリシステム１０００における第１のファイルシステム情報書き込みモードについて説明する。
図６は、本実施形態に係るメモリ装置１の、第１のファイルシステム情報書き込みモードを説明する図である。
図６において、メモリ装置１の管理する不揮発性メモリの記憶領域は、メモリアロケーションユニット（ＭＡＵ）単位に分割して管理され、メモリ装置１のアドレス管理部１１２２がホスト装置２の書き込むファイルシステム情報の論理アドレスと不揮発性メモリ上の物理アドレスとの対応付けを管理している。
【００４７】
図６（ａ）は、ホスト装置２がファイルシステム情報ＤＩＲ１、ＤＩＲ２を、それぞれ別の書き込みコマンドＷＣＭＤで書き込む場合のコマンドシーケンスを説明する図である。
図６（ａ）において、メモリ装置１は、書き込みコマンドＷＣＭＤに続いてファイルシステム情報ＤＩＲ１またはＤＩＲ２を受信すると、メモリ装置１は、ホスト装置２に対して、ＢＵＳＹ信号を出すとともに、ホスト装置２から受信したファイルシステム情報を不揮発性メモリ１２へ書き込む。このとき、図６（ｂ）に示すように、ファイルシステム情報ＤＩＲ１とＤＩＲ２とを異なるＭＡＵ６１および６２に書き込むようにしてもよいし、図６（ｃ）に示すように、同じＭＡＵ６３に書き込むようにしてもよい。ＤＩＲ１とＤＩＲ２とは、通常、異なるデータのファイルシステム情報であるため、ＤＩＲ１の論理アドレスとＤＩＲ２の論理アドレスとは、通常、連続するアドレスではなく、図６（ｂ）、（ｃ）のいずれの場合においても、ＤＩＲ１とＤＩＲ２は、異なるページに書き込まれる。ここで、「ページ」とは、不揮発性メモリ１２の書き込み単位を意味し、例えば、ＮＡＮＤフラッシュメモリにおけるページが該当する。
【００４８】
（１．２．２．２：第２のファイルシステム情報書き込みモード）
次に、不揮発性メモリシステム１０００における第２のファイルシステム情報書き込みモードについて説明する。
図７は、本実施形態に係るメモリ装置１の、第２のファイルシステム情報書き込みモードを説明する図である。
図７（ａ）は、ホスト装置２がファイルシステム情報ＤＩＲ１、ＤＩＲ２を、それぞれ別の書き込みコマンドＷＣＭＤで書き込む場合のコマンドシーケンスを説明する図である。
図７（ａ）において、ホスト装置２は、メモリ装置１に対して、まず、ファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を発行し、その後、ホスト装置２は、メモリ装置１に対して、書き込みコマンドＷＣＭＤを発行して、メモリ装置１により、ＤＩＲ１、ＤＩＲ２の書き込み処理が実行される。
【００４９】
メモリ装置１は、ホスト装置２からＦＳ−ＭＯＤ２を受信すると、コマンドＦＳ−ＭＯＤ２に続いて発行される書き込みコマンドＷＣＭＤのうち、ＤＩＲ１を書き込むＷＣＭＤ（図７（ａ）にＣ１で示した書き込みコマンドＷＣＭＤ）を受信したときは、ファイルシステム情報ＤＩＲ１を受信し、受信したＤＩＲ１を不揮発性メモリ１２に書き込む処理を実行せず、次のコマンドＷＣＭＤを受信可能な状態にする。したがって、このとき、メモリ装置１からホスト装置２に対して出力されるＢＵＳＹ信号の出力期間も短時間となる。また、このとき、メモリ装置１は、ファイルシステム情報ＤＩＲ１を、例えば、データ制御部１１３内のバッファＲＡＭに保持しておく。
メモリ装置１は、続くＷＣＭＤ（図７（ａ）にＣ２で示した書き込みコマンドＷＣＭＤ）を受信したときは、続くファイルシステム情報ＤＩＲ２を受信し、保持しているファイルシステム情報ＤＩＲ１とまとめて、ファイルシステム情報ＤＩＲ２を不揮発性メモリ１２へ書き込む。メモリ装置１は、ファイルシステム情報ＤＩＲ１およびＤＩＲ２の書き込み処理が完了するまで、ホスト装置２に対してＢＵＳＹ信号を出力し続ける。
【００５０】
図７（ｂ）は、ファイルシステム情報ＤＩＲ１およびＤＩＲ２が書き込まれる不揮発性メモリ内のＭＡＵの状態を説明する図である。
図７（ｂ）において、ファイルシステム情報ＤＩＲ１およびＤＩＲ２は、ＭＡＵ７１内の同じページに書き込まれる。このため、不揮発性メモリシステム１０００では、図６で説明した第１のファイルシステム情報書き込みモードに比べて、ファイルシステム情報ＤＩＲ１、ＤＩＲ２を書き込むトータル時間を短縮することができる。なお、コマンドＦＳ−ＭＯＤ２には、第２のファイルシステム情報書き込みモードで書き込み処理の対象となるファイル数およびファイルを識別する情報を含ませるようにすることが好ましい。
このように、不揮発性メモリシステム１０００の第２のファイルシステム情報書き込みモードでは、複数のファイルを書き込む際のファイルシステム情報の書き込み処理に要するトータル時間を減らすことができる。このため、メモリ装置１からホスト装置２に出力されるＢＵＳＹ信号のトータルの出力期間が短くなる、すなわち、ホスト装置２がメモリ装置１にデータ送信できずに送信待ちとなる時間が少なくなる。その結果、不揮発性メモリシステム１０００では、ホスト装置２が送信待ち状態のときに保持すべきデータ量が少なくて済むので、ホスト装置２の持つバッファサイズの増大を抑えることができる。
【００５１】
（１．２．２．３：ファイルシステム情報書き込みモードの状態遷移図）
図８は、本実施形態に係るメモリ装置１のファイルシステム情報書き込みモードの状態遷移図を説明する図である。
図８において、メモリ装置１は、電源ＯＮ時またはリセット時にはＩＤＬＥ状態８１となり、ホスト装置２による初期化処理が行われると、第1のファイルシステム情報書き込みモード８２に移行する。その後、メモリ装置１は、ホスト装置２からのコマンドに従って、第１のファイルシステム情報書き込みモード８２と第２のファイルシステム情報書き込みモード８３との間でモードの切り替えを行い、選択されたモードに応じて不揮発性メモリ１２へのファイルシステム情報の書き込みを行う。
（１．２．２．４：ファイルシステム情報書き込みモードのコマンドシーケンス）
図９は、図８における第１のファイルシステム情報書き込みモード８２と第２のファイルシステム情報書き込みモード８３との間の切り替えを行うためのコマンドシーケンスを説明する図である。
【００５２】
なお、図９（ａ）〜（ｃ）に示すＦＳ−ＭＯＤ１およびＦＳ−ＭＯＤ２は、図１４（ａ）〜（ｄ）に示すいずれかのシーケンスをとるものであり、図９（ａ）〜（ｃ）では、説明便宜のため、ＦＳ−ＭＯＤ１およびＦＳ−ＭＯＤ２等における詳細なシーケンスは省略して図示している。
図９に示すように、メモリ装置１は、ホスト装置２が発行したファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を受信すると、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモード８２から第２のファイルシステム情報書き込みモード８３へ遷移させる。そして、ファイルシステム情報書き込み管理部１１２４は、第２のファイルシステム情報書き込みモードに移行した時点以降、ホスト装置２から、ファイルシステム情報の書き込みを指示する書き込みコマンドを受信した場合、第２のファイルシステム情報書き込みモードで、ファイルシステム情報を不揮発性メモリ１２に書き込むように制御を行う。
【００５３】
また、図９（ａ）に示すように、メモリ装置１は、ホスト装置２が発行したファイルシステム情報書き込みモード切り替えコマンドＤ−ＭＯＤ１を受信すると、ファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモード８３から第１のファイルシステム情報書き込みモード８２に遷移させる。そして、ファイルシステム情報書き込み管理部１１２４は、第１のファイルシステム情報書き込みモードに移行した時点以降、ホスト装置２から、ファイルシステム情報の書き込みを指示する書き込みコマンドを受信した場合、第１のファイルシステム情報書き込みモードで、ファイルシステム情報を不揮発性メモリ１２に書き込むように制御を行う。
図９（ｂ）および図９（ｃ）のように、メモリ装置１は、ファイルシステム情報書き込みモードを、第２のファイルシステム情報書き込みモード８３から第１のファイルシステム情報書き込みモード８２に遷移させることも可能である。
【００５４】
すなわち、図９（ｂ）に示すように、メモリ装置１は、ホスト装置２が発行した第２のファイルシステム情報書き込みモード終了コマンドＦＳ−ＥＮＤを受信すると、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモード８２へ遷移させる。
また、図９（ｃ）に示すように、メモリ装置１が、不揮発性メモリ１２に対して、第２のファイルシステム情報書き込みモードで所定の回数のデータの書き込みを行った後、メモリ装置１は、ファイルシステム情報書き込みモードを、第１のファイルシステム情報書き込みモード８２へ遷移させる。なお、「所定の回数」は、ホスト装置２が、メモリ装置１に対して、ファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を発行するときにコマンドの引数として設定してもよいし、あるいは、メモリ装置１の持つレジスタに、予め「所定の回数」を示す値を保持させておくようにしてもよい。
【００５５】
このように、本実施形態の不揮発性メモリシステム１０００では、メモリ装置１が、ホスト装置２の発行するコマンドによって、ファイルシステム情報書き込みモードを第１のファイルシステム情報書き込みモードと第２のファイルシステム情報書き込みモードとを切り替えて不揮発性メモリ１２へのファイルシステム情報の書き込み処理を行う。
これによって、不揮発性メモリシステム１０００では、複数ファイルのファイルシステム情報を不揮発性メモリ１２に書き込むトータル時間を短縮することができるので、ホスト装置２のバッファサイズの増大を抑えることが可能となる。
（１．２．３：書き込みデータの再配置）
ここまで説明したように、不揮発性メモリシステム１０００において、第２のデータ書き込みモード或いは第２のファイルシステム情報書き込みモードで、複数ファイルのデータやファイルシステム情報を書き込んだ場合、不揮発性メモリ１２上の同じＭＡＵ内に、異なるファイルのデータやファイルシステム情報が混在することになる。このような状態で、不揮発性メモリシステム１０００において、データやファイルシステム情報の管理を行う場合、第１のデータ書き込みモード或いは第１のファイルシステム情報書き込みモードで書き込んだ場合に比べて制御が複雑になる。例えば、不揮発性メモリシステム１０００において、記録したファイルのうち、特定のファイルのデータやファイルシステム情報を削除する処理を行う場合、同一のＭＡＵ内に有効なデータと無効なデータが混在する、いわゆるフラグメント状態を管理する必要がある。
【００５６】
従って、第２のデータ書き込みモードで書き込んだデータおよび第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、第１のデータ書き込みモードおよび第１のファイルシステム書き込みモードで書き込んだ状態に再配置する処理が必要となる。
（１．２．３．１：再配置処理（データ再配置コマンド、ファイルシステム情報再配置コマンドによる場合））
図１０は、不揮発性メモリシステム１０００において、第２のデータ書き込みモードで書き込んだデータを、第１のデータ書き込みモードで書き込んだ状態に再配置する処理を説明するための図である。
図１０（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
【００５７】
図１０（ａ）に示すように、ホスト装置２がメモリ装置１にデータ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行して、メモリ装置１が第２のデータ書き込みモードでデータを書き込んだ後、ホスト装置２がメモリ装置１に、データ再配置コマンドＤ−Ｕｎｐａｃｋを発行すると、メモリ装置１のメモリコントローラ部１１は、第２のデータ書き込みモードで書き込まれたＭＡＵ内のデータを、論理アドレスに基づいて異なるＭＡＵに再配置する。
図１０（ｂ）は、不揮発性メモリシステム１０００において、第２のデータ書き込みモードでデータを書き込まれたＭＡＵ１００のデータを、ＭＡＵ１０１およびＭＡＵ１０２に再配置する処理を模式的に示す図である。
図１０（ｂ）において、ＭＡＵ１００には、論理アドレス空間上で２つのＭＡＵに属するデータＤＡＴ１−ｎ（ｎ＝１、２・・・）、ＤＡＴ２−ｍ（ｍ＝１、２・・・）が書き込まれており、メモリ装置１がデータ再配置コマンドＤ−Ｕｎｐａｃｋを受信した場合、メモリコントローラ部１１は、ＭＡＵ１００のデータを論理アドレスに応じてＭＡＵ１０１およびＭＡＵ１０２に再配置する。具体的には、メモリコントローラ部１１は、データＤＡＴ１−ｎをＭＡＵ１０１へ、データＤＡＴ２−ｍをＭＡＵ１０２へ、それぞれ、再配置する。このとき、各データの論理アドレスは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ１２上で管理している。
【００５８】
図１１は、不揮発性メモリシステム１０００において、第２のファイルシステム情報書き込みモードで書き込んだファイルシステム情報を、第１のファイルシステム書き込みモードで書き込んだ状態に再配置する処理を説明するための図である。
図１１（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
図１１（ａ）に示すように、ホスト装置２がメモリ装置１にファイルシステム情報書き込みモード切り替えコマンドＦＳ−ＭＯＤ２を発行して、メモリ装置１が第２のファイルシステム情報書き込みモードでファイルシステム情報を書き込んだ後、ホスト装置２がメモリ装置１に、ファイルシステム情報再配置コマンドＦＳ−Ｕｎｐａｃｋを発行すると、メモリ装置１のメモリコントローラ部１１は、第２のファイルシステム情報書き込みモードでデータを書き込まれたＭＡＵ内のデータを、論理アドレスに基づいて異なるＭＡＵに再配置する。
【００５９】
図１１（ｂ）は、不揮発性メモリシステム１０００において、第２のファイルシステム情報書き込みモードでファイルシステム情報を書き込まれたＭＡＵ１１０のデータを、ＭＡＵ１１１およびＭＡＵ１１２に再配置する処理を模式的に示す図である。
図１１（ｂ）において、ＭＡＵ１１０には異なるファイルのファイルシステム情報ＤＩＲ１およびＤＩＲ２が同一ページ内（図１１（ｂ）に＃Ｐ００で示すページ内）に保持されており、メモリ装置１がファイルシステム情報再配置コマンドＦＳ−Ｕｎｐａｃｋを受信した場合、メモリコントローラ部１１は、ＭＡＵ１１０のファイルシステム情報を論理アドレスに応じてＭＡＵ１１１およびＭＡＵ１１２に再配置する。具体的には、メモリコントローラ部１１は、ファイルシステム情報ＤＩＲ１をＭＡＵ１１１へ、ファイルシステム情報ＤＩＲ２をＭＡＵ１１２へ、それぞれ、再配置する。このとき、各ファイルシステム情報の論理アドレスは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ１２上で管理している。
【００６０】
以上説明したように、不揮発性メモリシステム１０００では、任意のタイミングでホスト装置２がデータ再配置コマンドＤ−Ｕｎｐａｃｋ、ファイルシステム情報再配置コマンドＦＳ−Ｕｎｐａｃｋを発行すると、メモリ装置１は、コマンドに従って、第２のデータ書き込みモードあるいは第２のファイルシステム情報書き込みモードで書き込まれたＭＡＵ内のデータ、ファイルシステム情報の再配置を行う。これにより、不揮発性メモリシステム１０００では、第１のデータ書き込みモード或いは第１のファイルシステム情報書き込みモードで書き込んだ場合と同様にデータおよびファイルシステム情報を管理することができるようになる。
また、不揮発性メモリシステム１０００において、上記で説明した再配置処理は、他の処理と組み合わせて行うことも可能である。
【００６１】
（１．２．３．２：再配置処理（他の処理と組み合わせる場合））
図１２および図１３は、不揮発性メモリシステム１０００において、上記で説明した再配置処理を他の処理と組み合わせて行うタイミングの一例を説明する図である。
≪データ消去処理と組み合わせる場合≫
まず、不揮発性メモリシステム１０００において、再配置処理をデータ消去処理と組み合わせて行う場合について、説明する。
図１２は、不揮発性メモリシステム１０００において、再配置処理をデータ消去処理と組み合わせて行う場合の処理を説明するための図である。つまり、図１２は、ホスト装置２がメモリ装置１に対して、消去コマンドを発行した際にデータの再配置を行う処理を説明するための図である。
【００６２】
なお、図１２に示すＥｒａｓｅ−２は、図１４（ｃ）または図１４（ｄ）に示すシーケンスをとるものであり、図１２では、説明便宜のため、Ｅｒａｓｅ−２等における詳細なシーケンスは省略して図示している。
図１２（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
図１２（ａ）において、ホスト装置２は、メモリ装置１に対して、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行し、メモリ装置１は、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を受信し、第２のデータ書き込みモードでデータを書き込む。その後、不揮発性メモリシステム１０００において、書き込んだデータのうち、一方のデータを削除する場合（ここでは、ＤＡＴ２−ｍを削除するものとする。）、ホスト装置２は、メモリ装置１に消去コマンドＥｒａｓｅ−２を発行する。メモリ装置１は、消去コマンドＥｒａｓｅ−２を受信すると、消去コマンドＥｒａｓｅ−２により消去対象とされたデータＤＡＴ２−ｍを消去すると共に、データＤＡＴ１−ｎの再配置を行う。
【００６３】
図１２（ｂ）は、ＤＡＴ２−ｍの消去時に、ＤＡＴ１−ｎの再配置を行う処理を説明する図である。
図１２（ｂ）において、ＭＡＵ１２０には、論理アドレス空間上で２つのＭＡＵに属するデータＤＡＴ１−ｎ（ｎ＝１、２・・・）、ＤＡＴ２−ｍ（ｍ＝１、２・・・）が書き込まれており、メモリ装置１が、ホスト装置２から、ＭＡＵ１２０のデータのうちＤＡＴ２−ｍを消去するコマンドＥｒａｓｅ−２を受信すると、メモリコントローラ部１１は、データＤＡＴ２−ｍを消去すると共に、データＤＡＴ１−ｎをＭＡＵ１２１へ再配置する。このとき、ＭＡＵ１２０内のうち消去するデータと再配置するデータとは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ１２上で管理している。
【００６４】
≪ファイルシステム上の操作でデータを消去する処理と組み合わせる場合≫
次に、不揮発性メモリシステム１０００において、再配置処理をファイルシステム上の操作でデータを消去する処理と組み合わせて行う場合について、説明する。
図１３は、不揮発性メモリシステム１０００において、再配置処理をファイルシステム上の操作でデータを消去する処理と組み合わせて行う場合の処理を説明するための図である。つまり、図１３は、ホスト装置２がメモリ装置１に対して、ファイルシステム上の操作でデータを消去する際に、データの再配置を行う処理を説明するための図である。
図１３（ａ）は、一連の処理のコマンドシーケンスを説明する図である。
図１３（ａ）において、ホスト装置２は、メモリ装置１に対して、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を発行し、メモリ装置１は、データ書き込みモード切り替えコマンドＤ−ＭＯＤ２を受信すると、第２のデータ書き込みモードでデータを書き込む。その後、ホスト装置２は、メモリ装置１に対して、書き込みコマンドＷＦＳを発行し、メモリ装置１は、書き込みコマンドＷＦＳを受信すると、ファイルシステムのデータ(例えば、Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ)の該当するデータを更新し、書き込んだデータのうち一方のデータ（ここでは、データＤＡＴ２−ｍを削除するものとする。）を削除する（ファイルシステム上の操作でデータを消去する）。その後、ホスト装置２は、メモリ装置１に対して、残ったデータＤＡＴ１−ｍについてデータ再配置コマンドＤ−Ｕｎｐａｃｋ１を発行し、メモリ装置１は、データＤＡＴ１−ｍについてデータ再配置コマンドＤ−Ｕｎｐａｃｋ１を受信すると、データＤＡＴ１−ｍについて再配置処理を行う。
【００６５】
なお、図１３に示すＷＦＳは、図１４（ｂ）または図１４（ｄ）に示すシーケンスをとるものであり、図１３では、説明便宜のため、ＷＦＳ等における詳細なシーケンスは省略して図示している。
図１３（ｂ）は、不揮発性メモリシステム１０００において、データＤＡＴ２−ｍをファイルシステム操作で消去した後に、ＤＡＴ１−ｎの再配置を行う処理を説明するための図である。
図１３（ｂ）において、ＭＡＵ１３０には、論理アドレス空間上で２つのＭＡＵに属するデータＤＡＴ１−ｎ（ｎ＝１、２・・・）、ＤＡＴ２−ｍ（ｍ＝１、２・・・）が書き込まれている。ホスト装置２がファイルシステム操作でＤＡＴ２−ｍを消去すると、図１３（ｂ）に示すように、ＭＡＵ１３０は、ファイルシステム上ではＭＡＵ１３１の状態となる。図１３（ｂ）において、バツ印を付している部分（ページ）は、不揮発性メモリ１２上にはデータが存在するが、ファイルシステム上では、削除されている状態を示している。この状態で、ホスト装置２が、ＤＡＴ１−ｎを再配置するためにデータ再配置コマンドＤ−Ｕｎｐａｃｋ１をメモリ装置１へ発行すると、メモリコントローラ部１１は、ＭＡＵ１３１に含まれるデータのうち、ＤＡＴ１−ｎをＭＡＵ１３２へ再配置する。このとき、ＭＡＵ１３１内のうち消去するデータと再配置するデータとは、メモリコントローラ部１１内のアドレス管理部１１２２が、メモリ装置１のＲＡＭ（不図示）または不揮発性メモリ上で管理している。
【００６６】
このように、不揮発性メモリシステム１０００では、消去コマンドによるデータ消去処理、或いはファイルシステム操作によるデータの消去処理は、ホスト装置２が記録したファイル（図１２、図１３の場合では、ＤＡＴ１−ｎおよびＤＡＴ１−ｍに相当。）のうちのいずれかを消去する場合に行われる。このため、不揮発性メモリシステム１０００において、消去コマンドによるデータ消去処理、或いはファイルシステム操作によるデータの消去処理を行うタイミングで、データの再配置処理を行うことで、再配置処理を効率的に行うことが可能である。つまり、不揮発性メモリシステム１０００では、比較的処理時間の長いデータ消去処理が実行されているときに、データ消去処理とともにデータの再配置処理が実行されるため、ユーザに、データの再配置処理に時間がかかっている意識をさせることなく、データの再配置処理を実行することができる。
【００６７】
このように、本実施形態に係る不揮発性メモリシステム１０００では、複数のファイルのデータおよび複数のファイルシステム情報を、ホスト装置２がメモリ装置１に記録する場合に、メモリ装置１からホスト装置２に対して出力されるＢＵＳＹ信号の出力期間が短くなるように、データ書き込みモードおよびファイルシステム情報書き込みモードを切替えて、データあるいはファイルシステム情報を記録する。このため、不揮発性メモリシステム１０００では、ホスト装置２が送信待ちとなる期間を短くすることできるので、ホスト装置２が送信待ち状態のときに保持すべきデータ量も少なくすることができる。
これにより、不揮発性メモリシステム１０００では、ホスト装置２のバッファサイズを増やすことなく、複数ファイルのリアルタイム記録を容易に行うことが可能となる。
また、不揮発性メモリシステム１０００では、ユーザにデータの再配置処理の実行を意識させずに、記録したデータやファイルシステム情報を再配置し、第１のデータ書き込みモード或いは第１のファイルシステム情報書き込みモードで書き込んだ場合と同様にデータやファイルシステム情報を配置することができる。これにより、不揮発性メモリシステム１０００では、不揮発性メモリ１２上のデータ管理が複雑になることを防ぐことも可能である。
【００６８】
［他の実施形態］
上記実施形態では、不揮発性メモリシステム１０００において、記録するファイルの数が「２」である場合について説明したが、本発明の適用範囲は、これに限定されるものではなく、例えば、記録するファイルの数は３以上であってもよい。
また、データ書き込みモード切り替えコマンド、ファイルシステム情報書き込みモード切り替えコマンド、第２のデータ書き込みモード終了コマンド、第２のファイルシステム情報書き込みモード終了コマンド、データ再配置コマンド、ファイルシステム情報再配置コマンドは、異なる識別子を有する、それぞれ別個のコマンドであってもよく、あるいは、同じ識別子のコマンドにおいて、その引数を変えることで、これら複数の機能を実現させるための単一コマンドであってもよい。
【００６９】
また、不揮発性メモリシステムにおいて、データの再配置とファイルシステム情報の再配置とを個別のコマンドで実施してもよく、また、同一のコマンドにより、データの再配置処理とファイルシステム情報の再配置処理とをまとめて実施してもよい。
また、不揮発性メモリシステムにおいて、データの再配置処理とファイルシステム情報の再配置処理を容易に実現させるために、データやファイルシステム情報を書き込む際に、同一ファイルのデータとファイルシステム情報とを対応付けるようにコマンドの引数にファイル番号を設定する等することが好ましい。例えば、不揮発性メモリシステムにおいて、ファイル番号「１」のデータと、ファイル番号「２」のデータと、を記録する場合、以下のようにすればよい。
（１）ファイル番号「１」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「１」を含ませる。
（２）ファイル番号「１」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「１」を含ませる。
（３）ファイル番号「２」のデータを書き込むための書き込みコマンドには、その引数に、ファイル番号「２」を含ませる。
（４）ファイル番号「２」のファイルシステム情報を書き込むための書き込みコマンドには、その引数に、ファイル番号「２」を含ませる。
【００７０】
また、第２のデータ書き込みモードあるいは第２のファイルシステム情報書き込みモードに移行する前に、ファイル番号と書き込むＭＡＵを対応付ける情報を含むコマンドを、ホスト装置２からメモリ装置１に対して発行するようにしてもよい。
上記のようにすることで、不揮発性メモリシステムにおいて、データの再配置処理、あるいはファイルシステム情報の再配置処理を実行するときに、どのデータを再配置処理の対象とすればよいかが容易に分かるので、好ましい。
また、上記実施形態では、不揮発性メモリ１２には、フラッシュメモリが用いられることを想定しているが、これに限定されることはなく、ハードディスクや不揮発性ＲＡＭなど他の不揮発性メモリを用いて、不揮発性メモリシステムを構成してもよい。
なお、上記実施形態で説明した不揮発性メモリシステム、ホスト装置およびメモリ装置において、各ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。
【００７１】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェアにより実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施形態に係る不揮発性メモリシステム、ホスト装置およびメモリ装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【００７２】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【産業上の利用可能性】
【００７３】
本発明によると、ホスト装置のバッファサイズ増大を抑えながら複数ファイルのリアルタイム記録が可能なメモリ装置、ホスト装置およびメモリシステムを提供することができ、特に大容量の不揮発性メモリに動画を記録するテレビやＤＶＲなどのホスト装置と、リムーバブルなメモリカードやエンベデッドデバイスなど不揮発性メモリを有するメモリ装置に有用である。
【符号の説明】
【００７４】
１０００  不揮発性メモリシステム（メモリシステム）
１  メモリ装置
１１  メモリコントローラ部
１１０  ホストＩＦ部
１１１  コマンド処理部
１１２  メモリ管理部
１１２１  ＣＰＵ
１１２２  レジスタ
１１２３  データ書き込み管理部
１１２４  ファイルシステム情報書き込み部
１１３  データ制御部
１２  不揮発性メモリ
２    ホスト装置
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  バッファＲＡＭ
２５  メモリ装置制御部
３    バス
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2011013350.tif 000018
【図２】
2011013350.tif 000019
【図３】
2011013350.tif 000020
【図４】
2011013350.tif 000021
【図５】
2011013350.tif 000022
【図６】
2011013350.tif 000023
【図７】
2011013350.tif 000024
【図８】
2011013350.tif 000025
【図９】
2011013350.tif 000026
【図１１】
2011013350.tif 000027
【図１４】
2011013350.tif 000028
【図１５】
2011013350.tif 000029
【図１０】
2011013350.tif 000030
【図１２】
2011013350.tif 000031
【図１３】
2011013350.tif 000032
【国際調査報告】
2011013350.tif 000033
2011013350.tif 000034
2011013350.tif 000035
2011013350.tif 000036