(57)【要約】【課題】既にデータを保持している記憶領域に対して新たなデータの追加書込みが可能な記憶装置において、追加書込みによる書き込み済データの消失を防ぐ。【解決手段】記憶装置１は、既にデータを保持する記憶領域に対して新たなデータを追加書込みすることにより当該記憶領域においてこれらのデータを保持可能なメモリ１５と、書込みアクセスにおいて書込みデータが入力される入出力部１１と、書込みアクセスに基づいてメモリ１５に書込みデータを書込む制御部２８とを有する。制御部２８は、書込みアクセスに基づく内部処理において、当該処理において書込みデータを書込んだ記憶領域についての追加書込み処理を実行する。【選択図】図１
2011192239.tif 000002
【特許請求の範囲】
【請求項１】
既にデータを保持する記憶領域に対して新たなデータを追加書込みすることにより当該記憶領域においてこれらのデータを保持可能なメモリと、
書込みアクセスにおいて書込みデータが入力される入出力部と、
前記書込みアクセスに基づいて前記メモリに前記書込みデータを書込む制御部と
を有し、
前記制御部は、
前記書込みアクセスに基づく内部処理において、当該処理において前記書込みデータを書込んだ記憶領域についての追加書込み処理を実行する
記憶装置。
【請求項２】
前記制御部は、
前記書込みデータを書込んだ記憶領域に対する追加書込み処理を完了した場合に、前記入出力部から前記書込みアクセスの書込み処理結果を応答する
請求項１記載の記憶装置。
【請求項３】
前記制御部は、
前記書込みデータを保持する記憶領域に対する追加書込みにおいて書き込みエラーが発生した場合、前記書込みアクセスに係る書込みデータの書込みエラーを応答し、前記追加書き込みによりエラーになった記憶領域に記憶されていた書込みデータを再取得し、前記メモリに書込む
請求項２記載の記憶装置。
【請求項４】
前記制御部は、
前記書込みアクセスに基づく内部処理において、利用可能な記憶領域を確保するためのガベージコレクション処理を実行し、
当該ガベージコレクション処理のデータを、当該書込みアクセスにおける前記書込みデータを書込んだ記憶領域に追加書込みする
請求項１から３のいずれか一項記載の記憶装置。
【請求項５】
前記制御部は、
当該書込みアクセスにおける前記書込みデータを書込んだ記憶領域に対して前記ガベージコレクション処理のデータを追加書込みした場合に、前記ガベージコレクション処理を中断して前記入出力部から前記書込みアクセスの書込み処理結果を応答し、
前記書込み処理結果の応答の後に、中断した前記ガベージコレクション処理を再開する
請求項４記載の記憶装置。
【請求項６】
前記制御部は、
前記書込みアクセスにおいて、データが書込まれていない記憶領域に、前記書込みアクセスに係る前記書込みデータを書込む
請求項１から５のいずれか一項記載の記憶装置。
【請求項７】
前記メモリは、
前記記憶領域において複数のデータを多値化することにより、既にデータを保持する記憶領域に対して新たなデータを追加書込みすることにより当該記憶領域においてこれらのデータを保持可能な半導体メモリである
請求項１から６のいずれか一項記載の記憶装置。
【請求項８】
書込まれたデータを記憶する記憶装置と、
前記記憶装置にデータを書込むホスト機器と
を有し、
前記記憶装置は、
既にデータを保持する記憶領域に対して新たなデータを追加書込みすることにより当該記憶領域においてこれらのデータを保持可能なメモリと、
ホスト機器の書込みアクセスにおいて当該ホスト機器から書込みデータが入力される入出力部と、
前記ホスト機器の書込みアクセスに基づいて前記メモリに前記書込みデータを書込む制御部と
を有し、
前記制御部は、
前記ホスト機器の書込みアクセスに基づく内部処理において、当該処理において前記ホスト機器の書込みデータを書込んだ記憶領域についての追加書込み処理を実行する
記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既にデータを保持している記憶領域に対して新たなデータの追加書込みが可能な記憶装置および記憶システムに関する。
【背景技術】
【０００２】
フラッシュメモリは、ページ単位でデータを書込むことができる記憶装置である。
このフラッシュメモリには、１個のページに、複数ページのデータを多値化して記憶することができるものがある（特許文献１、２を参照）。
このデータを多値化して記憶するフラッシュメモリでは、たとえば１回目の書込みアクセスにおいてホスト機器から書込まれた１ページ分のデータを空き状態のページに書込む。
また、このフラッシュメモリでは、２回目の書込みアクセスにおいて、既にデータを保持している当該ページに次のページのデータを追加書込みできる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−００３６８４号公報
【特許文献２】国際公開２００７／０００８６２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このフラッシュメモリなどの記憶装置では、既にデータを保持するページに対して新たなデータを追加書込する場合にその書込みに失敗すると、当該ページに既に保持されていたデータが記憶装置から消失する可能性がある。
そして、記憶装置が既に書込まれた１回目のデータ書込みについてホスト機器へ書込み完了を応答していた場合、当該消失が発生した２回目の書込み時点では、１回目の書込みデータがホスト機器から消失している可能性がある。
１回目の書込みデータがホスト機器においても消失している場合、記憶装置は、２回目の書込みアクセス時に消失した１回目の書込みデータを、ホスト機器などから再取得することができない。
よって、記憶装置は、２回目の書込みアクセス時に消失した１回目の書込みデータを復旧することが難しくなる。
【０００５】
このように既にデータを保持している記憶領域に対して新たなデータの追加書込みが可能な記憶装置では、追加書込みによる書き込み済データの消失を防ぐことが求められている。
【課題を解決するための手段】
【０００６】
本発明の第１の観点の記憶装置は、既にデータを保持する記憶領域に対して新たなデータを追加書込みすることにより当該記憶領域においてこれらのデータを保持可能なメモリと、書込みアクセスにおいて書込みデータが入力される入出力部と、書込みアクセスに基づいてメモリに書込みデータを書込む制御部とを有する。そして、制御部は、書込みアクセスに基づく内部処理において、当該処理において書込みデータを書込んだ記憶領域についての追加書込み処理を実行する。
【０００７】
第１の態様では、記憶装置の制御部は、書込みアクセスに基づいて、メモリの記憶領域に書込みデータを書込み、さらにその書込みアクセスの書込みデータを書込んだ記憶領域について追加書込み処理を行う。
このため、メモリの記憶領域には、書込みアクセスにおいて、書込みアクセスに係る書込みデータと追加書込みデータとが書込まれる。
よって、第１の態様では、その後の書込みアクセスにおいて、既に書込みアクセスに係る書込みデータを保持する記憶領域に対して、新たな書込みデータの追加書込みをしなくなる。
したがって、第１の態様では、書込みアクセスに係る書込みデータを保持する記憶領域のデータは、その後の書込みアクセスにおいて書込みに失敗することがあっても、消失しなくなる。
【０００８】
本発明の第２の観点の記憶システムは、書込まれたデータを記憶する記憶装置と、記憶装置にデータを書込むホスト機器とを有する。記憶装置は、既にデータを保持する記憶領域に対して新たなデータを追加書込みすることにより当該記憶領域においてこれらのデータを保持可能なメモリと、ホスト機器の書込みアクセスにおいて当該ホスト機器から書込みデータが入力される入出力部と、ホスト機器の書込みアクセスに基づいてメモリに書込みデータを書込む制御部とを有する。そして、制御部は、ホスト機器の書込みアクセスに基づく内部処理において、当該処理においてホスト機器の書込みデータを書込んだ記憶領域についての追加書込み処理を実行する。
【発明の効果】
【０００９】
本発明では、既にデータを保持している記憶領域に対して新たなデータの追加書込みが可能な記憶装置において、追加書込みによる書き込み済データの消失を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施形態に係るメモリカードの物理ブロック図である。
【図２】図２は、図１のメモリカードを用いたカメラシステムの概略構成図である。
【図３】図３は、図１の不揮発性メモリの内部構造を示すブロック図である。
【図４】図４は、図３のメモリアレイの各セルに書き込まれる４種類の閾値電圧の一例の説明図である。
【図５】図５は、１個の物理ブロックの複数の物理ページと記憶領域との対応関係の説明図である。
【図６】図６は、２ページ目の書込み処理において、１ページ目のデータが消失する状況の説明図である。
【図７】図７は、図２のホスト機器の書込む書込みアクセス期間中のシーケンスチャートである。
【図８】図８は、本実施形態での、ホスト機器の書込みアクセス中のガベージコレクション処理によるデータ変化の説明図である。
【図９】図９は、第１比較例でのガベージコレクション処理によるデータ変化の説明図である。
【図１０】図１０は、第２比較例での書込みアクセス期間中のシーケンスチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に関連付けて説明する。
説明は以下の順に行う。
１．本実施形態のメモリカード１およびホスト機器（２）の構成。
２．多値のメモリカード１の構造。
３．本実施形態での書込みアクセス中の追加書込み処理（ガベージコレクション処理）。
４．第１比較例（書込みアクセス中の追加書込み処理が不足する例）。
５．第２比較例（ホスト機器（２）への書込み完了の応答がタイムアウトする例）。
【００１２】
［メモリカード１およびホスト機器（２）の構成］
図１は、本発明の実施形態に係るメモリカード１の物理ブロック図である。
図１のメモリカード１は、デバイス入出力部（D_I/O）１１、プロセッサ（Processor）１２、内部ＲＡＭ（Internal RAM）１３、バッファＲＡＭ（Buffer RAM）１４、および不揮発性メモリ２５（Non-Volatile Memory）１５を有する。
図１のメモリカード１は、ホスト機器（２）に接続して使用するカード型のメモリカード１である。
メモリカード１には、たとえばホスト機器（２）に対して着脱可能に装着されるＰＣカード、メモリースティック（登録商標）カード、ＳＤカードなどがある。
【００１３】
図２は、図１のメモリカード１を用いたカメラシステム３の概略構成図である。
図２のカメラシステム３は、図１のメモリカード１と、ホスト機器としてのカメラ装置２とを有する。
図２のカメラ装置２は、撮像部（ＣＡＭ）２１、操作部（ＫＥＹ）２２、表示部（ＤＩＳＰ）２３、ＣＰＵ２４、メモリ（ＭＥＭ）２５、ホスト入出力部（Ｈ＿Ｉ／Ｏ）２６、およびこれらを接続するシステムバス２７を有する。
【００１４】
撮像部２１は、たとえばＣＭＯＳセンサ、ＣＣＤなどを有する。
そして、撮像部２１は、画像および音声を含む動画データなどを生成し、動画データを含む信号をＣＰＵ２４へ出力する。
【００１５】
操作部２２は、たとえば撮像ボタン、十字キーなどを有する。
そして、操作部２２は、操作されたキーに応じた信号をＣＰＵ２４へ出力する。
【００１６】
表示部２３は、たとえばＴＦＴディスプレイ、有機ＥＬディスプレイなどを有する。
そして、表示部２３は、ＣＰＵ２４から映像信号が入力され、映像信号の画像を表示する。
【００１７】
メモリ２５は、ＣＰＵ２４が実行するプログラムやデータ記憶する。
ＣＰＵ２４は、メモリ２５に記憶されているプログラムを読み込んで実行する。
これにより、ＣＰＵ２４には、カメラ装置２の制御部２８が実現される。
制御部２８は、撮像部２１、表示部２３、ホスト入出力部２６などを管理して制御する。
【００１８】
ホスト入出力部２６は、コネクタを有し、ホスト機器（２）のホスト入出力部２６に着脱可能に接続される。
ホスト入出力部２６は、たとえばＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢなどの規格に準拠した通信方式により、デバイス入出力部１１とデータ通信する。
ホスト機器（２）は、メモリカード１にアクセスし、メモリカード１にデータを書き込み、メモリカード１からデータを読み出す。
【００１９】
図１のメモリカード１は、ホスト入出力部２６のスロットまたはポートに脱着可能に装着される。
カメラ装置２のＣＰＵ２４は、たとえば動画を撮像し、撮像した動画データをメモリカード１に書込む。このとき、カメラ装置２のＣＰＵ２４は、メモリカード１に書込みアクセスする。
また、カメラ装置２は、たとえばメモリカード１から画像データを読み込み、表示部２３に表示する。このとき、カメラ装置２のＣＰＵ２４は、メモリカード１に読出しアクセスする。
【００２０】
［多値メモリカード１の構造］
図１のメモリカード１の不揮発性メモリ１５は、たとえばＮＡＮＤ型のフラッシュメモリなどの不揮発性の半導体メモリ２５である。
【００２１】
図３は、不揮発性メモリ１５の内部構造を示すブロック図である。
不揮発性メモリ１５は、メモリアレイ３１、ロー回路３２（Row Circuit）、カラム回路３３（Column Circuit）、ウェル電圧制御回路３４を有する。
これらの回路３１〜３４は、たとえば図３のレイアウトにより、図示しない半導体基板に形成される。
【００２２】
メモリアレイ３１は、複数の物理ブロックを有する。
図３のメモリアレイ３１は、ｍ個の物理ブロックＢＬＫ（１）〜ＢＬＫ（ｍ）を有する。
複数の物理ブロックは、複数のページＰ（０）〜Ｐ（ｎ）を有する。
本実施形態では、複数のページＰ（０）〜Ｐ（ｎ）が複数の記憶領域に対応する。
【００２３】
各ページＰ（０）〜Ｐ（ｎ）は、図示しない複数のセルを有する。
そして、セルは、このフローティングゲートにより、たとえば２ビットのデータが多値化された４種類の閾値電圧を保持する。
このため、物理ブロックは、図３において一列に配列されたページ数の整数倍の物理ページを有する。
たとえば２つのデータを多値化する場合、物理ブロックは、図３において一列に配列されたページ数（ｎ）の２倍の個数（２×ｎ）の物理ページを有することになる。
【００２４】
複数のセルは、半導体基板のメモリアレイ３１の形成領域において、二次元マトリクスに配列される。
複数のセルには、その配列にしたがって複数のワード線ＷＬが接続される。複数のワード線ＷＬは、ロー回路３２に接続される。
複数のセルには、その配列にしたがって複数のビット線ＢＬが接続される。複数のビット線ＢＬは、カラム回路３３に接続される。
ロー回路３２およびカラム回路３３は、複数のメモリ２５セルを、ページ単位または物理ブロック単位で選択する。
そして、カラム回路３３は、たとえば選択したページの各セルの閾値電圧を読み込み、各セルの閾値電圧に対応するビットのデータを生成し、読出しデータとして出力する。
ウェル電圧制御回路３４は、複数のセルが形成される、たとえばＮ型の半導体基板のＰウェルの電圧を制御する。
Ｐウェルの電圧を制御することにより、各セルには、ビットに対応する種類の閾値電圧のいずれかの電圧が書き込まれる。
【００２５】
図４は、図３のメモリアレイ３１の各セルに書き込まれる４種類の閾値電圧の一例の説明図である。
図４の縦軸は閾値電圧であり、横軸は複数のセルでの閾値電圧の分布割合である。
図４には、各セルに書き込む種類の閾値電圧として、第１閾値電圧ＴＨ１、第２閾値電圧ＴＨ２、第３閾値電圧ＴＨ３、第４閾値電圧ＴＨ４が記載されている。
【００２６】
第１閾値電圧ＴＨ１は、０Ｖより低い閾値電圧であり、２ビットの値、たとえば「１１」に対応する。
第１閾値電圧ＴＨ１は、物理ブロック単位での消去処理によりセルに書き込まれる。
第２閾値電圧ＴＨ２は、０Ｖより高い閾値電圧であり、ビットの値、たとえば「１０」に対応する。
第２閾値電圧ＴＨ２は、ページ単位でのデータ書込み処理によりセルに書き込まれる。
第３閾値電圧ＴＨ３は、第２閾値電圧ＴＨ２より高い閾値電圧であり、ビットの値、たとえば「０１」に対応する。
第３閾値電圧ＴＨ３は、ページ単位でのデータ書込み処理によりセルに書き込まれる。
第４閾値電圧ＴＨ４は、第３閾値電圧ＴＨ３より高い閾値電圧であり、ビットの値、たとえば「００」に対応する。
第４閾値電圧ＴＨ４は、ページ単位でのデータ書込み処理によりセルに書き込まれる。
【００２７】
そして、たとえばホスト機器（２）の書込みアクセスに基づく書込み処理では、書き込み先のページの記憶されていたデータと、当該アクセスに係る新たな書込みデータとを多値化し、その多値化データに対応する閾値電圧をセルに保持させる必要がある。
そのため、データの書き込み処理では、初期化処理により第１閾値電圧ＴＨ１が書き込まれたセルに対して、第２閾値電圧ＴＨ２を書込む第１サイクルと、第３閾値電圧ＴＨ３を書き込む第２サイクルと、第４閾値電圧ＴＨ４を書き込む第３サイクルとを実行する必要がある。
【００２８】
また、不揮発性メモリ１５は、物理ページの単位で、データの書込みおよび読出しが可能である。
また、不揮発性メモリ１５は、物理ブロック単位で、データの消去（初期化）が可能である。
不揮発性メモリ１５は、電源供給が遮断された後にも、書き込まれたデータを保持記憶する。
【００２９】
また、メモリカード１のプロセッサ１２（制御部２８）は、不揮発性メモリ１５の記憶領域を、論理ブロック毎に管理する。
論理ブロックは、１つ以上の整数個の物理ブロックにより構成される。
ホスト機器（２）が利用する論理アドレスの任意の一定範囲のデータは、同じ論理ブロックに書き込まれる。
この論理アドレスに対応付けられた論理ブロックにデータを書込むことができない場合、メモリカード１は、一時書き込み用の論理ブロック（キャッシュブロック）を取得し、キャッシュブロックにデータを書き込む。
【００３０】
なお、不揮発性メモリ１５の記憶領域は有限である。
このため、不揮発性メモリ１５の記憶領域の一部を用いるキャッシュブロックの個数も有限である。
よって、たとえばメモリカード１が保持できる有限個のキャッシュブロックが全て使用済みである場合、メモリカード１は、ガベージコレクション処理を実行する。
このガベージコレクション処理により、使用済みのキャッシュブロックが初期化されて解放される。
また、キャッシュブロックおよび論理ブロックに保持されていた同一アドレス範囲内の有効なデータは、単一の論理ブロックにまとめて記憶される。
【００３１】
図５は、１個の物理ブロックの複数の物理ページと記憶領域との対応関係の説明図である。
図５には、１個の物理ブロックの複数の物理ページとして、記憶領域に先に書き込まれるＡ０（図ではＡ−０と表記。以下同様。）からＡｎまでのｎ＋１個の第１ページと、第１ページの後に記憶領域に書き込まれるＢ０からＢｎまでのｎ＋１個の第２ページとが図示されている。
そして、たとえば図５の第１ページＡ０のデータと、第２ページＢ０のデータとは、多値化されて、図３に配列された１個のページＰ（０）に記憶される。
また、図５の第１ページＡ１のデータと、第２ページＢ１のデータとは、多値化されて、図３に配列された１個のページＰ（１）に記憶される。
【００３２】
図６は、２ページ目の書込み処理において、１ページ目のデータが消失する状況の説明図である。
図６には、Ａ０、Ａ１、Ａ２の３個の第１ページと、Ｂ０、Ｂ１、Ｂ２の３個の第２ページとが図示されている。図６は、Ａ０、Ｂ０、Ａ１、Ｂ１、Ａ２、Ｂ２の順番でデータが書込まれる場合の説明図である。
【００３３】
そして、図６の上から順番に第１ページＡ１までに正常に書込みが完了した後、第２ページＢ１にデータを書込む場合に、その書込みに失敗したとする。
この場合、書き込みに失敗した第２ページＢ１のデータにエラーが発生するとともに、既に書込まれていた第１ページＡ１のデータにもエラーが発生する可能性がある。
つまり、複数の物理ページのデータを多値化して１つのページ（記憶領域）に記憶させる不揮発性メモリ１５では、既にデータを保持しているページに対する新たなデータの追加書込みに失敗すると、組となる他のページのデータが消失してしまう可能性がある。
【００３４】
図１のメモリカード１の他の構成の説明に戻る。
デバイス入出力部１１は、ホスト入出力部２６に接続される。
デバイス入出力部１１は、たとえばＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ３．０などの高速シリアルデータ通信により、ホスト入出力部２６とデータ通信する。
たとえばホスト機器（２）により書込みアクセスされる場合、デバイス入出力部１１には、ホスト入出力部２６から、書込みコマンド、書込みデータなどが入力される。デバイス入出力部１１は、ホスト入出力部２６へ、書込み完了を応答する。
ホスト機器（２）により読出しアクセスされる場合、デバイス入出力部１１には、ホスト入出力部２６から、読出しコマンドなどが入力される。デバイス入出力部１１は、ホスト入出力部２６へ、読出しデータを出力し、読出し完了を応答する。
【００３５】
バッファＲＡＭ１４は、たとえばＳＲＡＭ、ＤＲＡＭなどである。
バッファＲＡＭ１４は、デバイス入出力部１１、不揮発性メモリ１５、プロセッサ１２に接続される。
そして、バッファＲＡＭ１４には、ホスト機器（２）が不揮発性メモリ１５に書込んだ書込みデータが、デバイス入出力部１１により書き込まれる。
バッファＲＡＭ１４に書込まれた書込みデータは、プロセッサ１２の制御の下、不揮発性メモリ１５に読み込まれる。
また、バッファＲＡＭ１４は、ホスト機器（２）が不揮発性メモリ１５から読み出す読出しデータが、プロセッサ１２の制御の下、不揮発性メモリ１５から書き込まれる。
バッファＲＡＭ１４に書込まれた読出しデータは、デバイス入出力部１１により読み出される。
【００３６】
内部ＲＡＭ１３は、たとえばＳＲＡＭ、ＤＲＡＭなどである。
内部ＲＡＭ１３は、プロセッサ１２、不揮発性メモリ１５に接続される。
そして、内部ＲＡＭ１３は、たとえば不揮発性メモリ１５の物理アドレスと、ホスト機器（２）がメモリカード１にアクセスする場合に使用する論理アドレスとの変換テーブル（論物変換テーブル）を記憶する。
【００３７】
プロセッサ１２は、デバイス入出力部１１、内部ＲＡＭ１３、バッファＲＡＭ１４、不揮発性メモリ１５に接続される。
プロセッサ１２は、ＣＰＵと、メモリとを有する。
プロセッサ１２のＣＰＵは、メモリに記憶されているファームウェアプログラムを読み込んで実行する。
これにより、プロセッサ１２は、メモリカード１の制御部２８として機能する。
【００３８】
制御部２８は、デバイス入出力部１１を通じてホスト機器（２）と通信し、ホスト機器（２）から受信したアクセスコマンドを解釈し、コマンドに対応する処理を実行する。
【００３９】
たとえばホスト機器（２）は、書込みアクセスにおいて、書込みコマンドを出力する。
制御部２８は、書込みコマンドを解釈し、ホスト機器（２）から入力される書込みデータを不揮発性メモリ１５に書込む書込み処理を実行する。
書込み処理において、通常、制御部２８は、論物変換テーブルを用いて当該書込みアドレス（論理アドレス）に対応する物理ページのアドレスを特定する。
制御部２８は、当該物理ページのアドレスを指定し、不揮発性メモリ１５にバッファＲＡＭ１４の書込みデータを読み込ませる。
これにより、不揮発性メモリ１５は、書込みデータを、所定の物理ページのデータとして記憶する。
また、制御部２８は、論物変換テーブルを更新する。
【００４０】
また、新たなデータの書込みにより空き状態のキャッシュブロックが無くなった場合、制御部２８は、書込み処理中にキャッシュブロックについてのガベージコレクション処理を実行する。
キャッシュブロックのガベージコレクション処理では、制御部２８は、たとえばキャッシュブロックの有効な物理ページのデータを、当該キャッシュブロックに対応する論理ブロックにコピーする。
また、制御部２８は、論物変換テーブルを更新する。
また、制御部２８は、処理を終えたキャッシュブロックを初期化する。
これにより、新たに取得可能なキャッシュブロックが生成される。
制御部２８は、たとえば次の書込みアクセス時に、空き状態のキャッシュブロックを取得し、利用することができる。
【００４１】
この他にも例えば、ホスト機器（２）は、読出しアクセスにおいて、読出しコマンドを出力する。
制御部２８は、読出しコマンドを解釈し、不揮発性メモリ１５から読出しデータを読出し、ホスト機器（２）へ出力する。
読出し処理において、制御部２８は、論物変換テーブルを用いて、読出しコマンドに指定された論理アドレスに対応する最新の物理ページのアドレスを特定する。
制御部２８は、不揮発性メモリ１５に当該物理ページのアドレスを指定する。
不揮発性メモリ１５は、当該アドレスの物理ページからデータを読み込み、バッファＲＡＭ１４に書込む。
デバイス入出力部１１は、バッファＲＡＭ１４から当該読出しデータを読み込み、ホスト機器（２）へ出力する。
【００４２】
［書込みアクセス中にガベージコレクション処理（内部処理）を実行する動作の例］
次に、本実施形態のメモリカード１の動作を説明する。
ここでは、ホスト機器（２）がメモリカード１に書込みアクセスする場合を例に説明する。
また、このホスト機器（２）の書込みアクセス中に、キャッシュブロックについてのガベージコレクション処理を実行する場合について説明する。
【００４３】
図７は、図２のホスト機器（２）がメモリカード１にデータを書込む書込みアクセス期間中の処理の流れを示すシーケンスチャートである。
図７には、ホスト機器（２）、メモリカード１の制御部２８、不揮発性メモリ１５が図示されている。また、図７において、時間は上から下に流れている。
なお、図７において、メモリカード１は、ホスト機器（２）の４ページ分の書込みデータを別々の第１ページに書込む。
また、メモリカード１は、さらに、ガベージコレクション処理により、この４個の第１ページに対応する４個の第２ページにキャッシュブロックの有効なページのデータを書込む。
【００４４】
メモリカード１に書込みアクセスする場合、ホスト機器（２）のＣＰＵ２４は、書込みコマンドをメモリカード１へ出力する（ステップＳＴ１）。
書込みコマンドは、ホスト入出力部２６からデバイス入出力部１１へ送信され、プロセッサ１２に実現された制御部２８に受信される。
【００４５】
書込みコマンドを受信すると、制御部２８は、ホスト機器（２）へデータリクエストを送信する（ステップＳＴ２）。
データリクエストは、デバイス入出力部１１からホスト入出力部２６へ送信され、ホスト機器（２）のＣＰＵ２４に受信される。
ホスト機器（２）は、書込みデータをメモリカード１へ送信する（ステップＳＴ３）。
書込みデータは、ホスト入出力部２６からデバイス入出力部１１へ送信され、バッファＲＡＭ１４に書込まれる。
【００４６】
バッファＲＡＭ１４に書込みデータが書込まれると、制御部２８は、不揮発性メモリ１５への書込み処理を開始する。
制御部２８は、論物変換テーブルを参照し、不揮発性メモリ１５に書き込み先の物理ブロックの物理アドレスを指定する（ステップＳＴ４）。
このとき、制御部２８は、書き込み先の物理ブロックの未使用の第１ページに対応する物理アドレスを指定する。
また、不揮発性メモリ１５の書き込み先の物理ブロックに未使用の初期化されたままの物理ページが存在しない場合、制御部２８は、当該論理アドレスに対応するキャッシュブロックを取得し、キャッシュブロックの第１ページの物理アドレスを指定する。
不揮発性メモリ１５は、バッファＲＡＭ１４から書込みデータを読み込み、指定された物理アドレスに書込みデータを記憶する（ステップＳＴ５）。
これにより、第１ページに、ホスト機器（２）の書込みデータが記憶される。
不揮発性メモリ１５は、書込みデータの保存処理が完了すると、制御部２８に書込み完了信号を出力する（ステップＳＴ６）。
【００４７】
最初に取得した書込みデータについての不揮発性メモリ１５への書込みが完了すると、制御部２８は、次の書込みデータのリクエストをホスト機器（２）へ送信する（ステップＳＴ７）。
ホスト機器（２）は、次の書込みデータをメモリカード１へ送信する（ステップＳＴ８）。
書込みデータは、バッファＲＡＭ１４に書込まれる。
制御部２８は、次の書込みデータの書き込み先として、たとえば書き込み先の物理ブロックの未使用の第１ページを物理アドレスを指定する（ステップＳＴ９）。
不揮発性メモリ１５は、バッファＲＡＭ１４から書込みデータを読み込んで、指定された第１ページに書込みデータを記憶する（ステップＳＴ１０）。
また、不揮発性メモリ１５は、制御部２８に書込み完了信号を出力する（ステップＳＴ１１）。
【００４８】
そして、図７の例では、制御部２８は、ホスト機器（２）の４ページ分の書込みデータを実行する。
また、制御部２８は、未使用のキャッシュブロックが残っているか否かを判断する。
未使用のキャッシュブロックが残っていない場合、制御部２８は、キャッシュブロックについてのガベージコレクション処理を実行する。
なお、ガベージコレクション処理では、制御部２８は、ホスト機器（２）と通信しない。
よって、ガベージコレクション処理は、メモリカード１内の内部タスクによる処理である。
【００４９】
ホスト機器（２）の書込みアクセス期間中のガベージコレクション処理において、制御部２８は、使用中の複数のキャッシュブロックのうちの１個についてガベージコレクション処理を実行する。
制御部２８は、１個のキャッシュブロックについてのガベージコレクション処理を開始する。
具体的には、制御部２８は、不揮発性メモリ１５に、ホスト機器（２）の書込みデータを書込んだ物理ブロックの第２ページを指定して、処理対象のキャッシュブロックの有効な１ページ目のガベージコレクション処理を指示する（ステップＳＴ１２）。
不揮発性メモリ１５は、処理対象のキャッシュブロックの有効な１ページ目のデータを、指定された物理ブロックの第２ページにコピーする（ステップＳＴ１３）。
不揮発性メモリ１５は、以上の処理を終えると、制御部２８に完了信号を出力する（ステップＳＴ１４）。
制御部２８は、論物変換テーブルを更新する。
【００５０】
処理対象のキャッシュブロックの有効な１ページ目のガベージコレクション処理を終えると、制御部２８は、次に有効なページのガベージコレクション処理を実行する。
制御部２８は、不揮発性メモリ１５に、ホスト機器（２）の書込みデータを書込んだ物理ブロックの別の第２ページを指定して、処理対象のキャッシュブロックについての次に有効なページのガベージコレクション処理を指示する（ステップＳＴ１５）。
不揮発性メモリ１５は、処理対象のキャッシュブロックについて指定された有効なページのデータを、指定された物理ブロックの第２ページにコピーする（ステップＳＴ１６）。
不揮発性メモリ１５は、以上の処理を終えると、制御部２８に完了信号を出力する（ステップＳＴ１７）。
制御部２８は、論物変換テーブルを更新する。
このように制御部２８は、処理対象のキャッシュブロックのすべての有効なページについて順番に、ガベージコレクション処理を繰り返し実行する。
【００５１】
そして、当該書込みアクセスにおいてホスト機器（２）の書込みデータを書込んだ複数の第１ページに対応するすべての第２ページに対して、ガベージコレクション処理を実行したと判断すると、制御部２８は、ガベージコレクション処理を中断する。
【００５２】
ガベージコレクション処理を中断した制御部２８は、ホスト機器（２）へ書込み完了を送信する（ステップＳＴ１８）。
この書込み完了の通知は、たとえばホスト機器（２）のすべての書込みデータを複数の第１ページに対して正常に書込むことができ、かつ、ガベージコレクション処理による複数の第２ページへの書込みも正常に終了した場合、正常終了の通知となる。
正常終了の通知を受信すると、ホスト機器（２）は、メモリカード１に書込んだデータを破棄し、次の書込みデータの準備に入る。
【００５３】
これに対して、ホスト機器（２）の書込みデータ、およびガベージコレクション処理の書込みデータの少なくとも１つのページのデータにおいて書込みに失敗した場合、書込み完了の通知は、書込み失敗の通知となる。
書込み失敗の通知を受信すると、ホスト機器（２）は、メモリカード１に対して、再度書込み処理を実行する。
このようにホスト機器（２）は、メモリカード１から書込みデータの正常終了が通知されるまで、書込みエラーとなった書込みデータの再書込み処理を繰り返す。
これにより、メモリカード１は、書込みが正常に完了するまで、ホスト機器（２）から書込みデータを取得し、不揮発性メモリ１５に書込み処理を繰り返すことができる。
【００５４】
ホスト機器（２）へ書込み完了を通知した後、制御部２８は、ガベージコレクション処理を再開する。
制御部２８は、処理対象のキャッシュブロックについての残りの有効なページのガベージコレクション処理を実行する（ステップＳＴ１９〜ＳＴ２１）。
不揮発性メモリ１５は、処理対象のキャッシュブロックの有効なページのデータを、指定された物理ブロックにコピーする。
この再開後のガベージコレクション処理では、制御部２８は、書込み先のページとして第１ページも指定する。
制御部２８は、たとえば第１ページと第２ページとを交互に指定する。
そして、処理対象のキャッシュブロックのすべての有効なページのコピーを終えると、不揮発性メモリ１５は、有効なページのガベージコレクション処理を実行したキャッシュブロックを初期化する（ステップＳＴ２２〜ＳＴ２４）。
これにより、ガベージコレクション処理を実行したキャッシュブロックは、新たに取得可能なキャッシュブロックになる。
【００５５】
図８は、本実施形態での、ホスト機器（２）の書込みアクセス中にガベージコレクション処理を実行する場合のデータ変化の説明図である。
図８（Ａ）は、ホスト機器（２）の書込みデータが完了した時点でのデータ状態図である。
図８（Ｂ）は、ホスト機器（２）へ書込み完了通知をするためにガベージコレクション処理を中断する時点でのデータ状態図である。
図８（Ｃ）は、ガベージコレクション処理を再開した時点でのデータ状態図である。
図８（Ａ）から（Ｃ）において、右側の指定ブロックは、ホスト機器（２）の書込みデータが書込まれる通常の論理ブロックに対応する。
左側のソースブロックは、ガベージコレクション処理の対象であるキャッシュブロックに対応する。
【００５６】
そして、図８（Ａ）では、指定ブロックのＡ０からＡ３の４個の第１ページには、ホスト機器（２）の書込みデータが書込まれる。
この場合、制御部２８は、ガベージコレクション処理を中断する前に、ソースブロックの４ページ分のデータを、指定ブロックのＢ０からＢ３の４個の第２ページにコピーする（図８（Ｂ）を参照）。
図８（Ｂ）の内部処理を終えた時点で、制御部２８は、ガベージコレクション処理を中断し、ホスト機器（２）へ書込み完了を送信する。
その後、制御部２８は、ガベージコレクション処理を再開し、残りのソースブロックのデータを指定ブロックにコピーする。
【００５７】
図８（Ｃ）では、指定ブロックのＡ４の第１ページに、ソースブロックのデータがコピーされている。
図８（Ｃ）の場合、指定ブロックのＡ４以降のページには、ホスト機器（２）のデータが書き込まれているＡ０〜Ａ３と組となるページが存在しない。
よって、本実施形態では、図８（Ｃ）のコピー処理においてデータ書込みに失敗したとしても、指定ブロックのＡ０からＡ３の４個の第１ページに書込まれたホスト機器（２）の書込みデータにはエラーが発生しない。
【００５８】
次に、本実施形態と対比される各種の比較例について説明する。
以下の比較例の説明では、上述した実施形態と同じ名称および符号を使用し、比較例のメモリカードおよびホスト機器の構成の説明は省略する。
【００５９】
［第１比較例（固定ページ数のガベージコレクション処理の後に書込み完了を通知する例）］
第１比較例では、制御部２８は、ホスト機器（２）の書込みアクセス期間中に、キャッシュブロックについてのガベージコレクション処理を実行する。
また、制御部２８は、一定のページ数（たとえば３ページ）のガベージコレクション処理の後に、ホスト機器（２）へ書込み完了を通知する。
【００６０】
図９は、第１比較例での、ホスト機器（２）の書込みアクセス中にガベージコレクション処理を実行する場合のデータ変化の説明図である。
図９（Ａ）は、ホスト機器（２）の書込みデータが完了した時点でのデータ状態図である。
図９（Ｂ）は、ホスト機器（２）へ書込み完了通知をするためにガベージコレクション処理を中断する時点でのデータ状態図である。
図９（Ｃ）は、ガベージコレクション処理を再開した時点でのデータ状態図である。
図９（Ａ）から（Ｃ）において、右側の指定ブロックは、ホスト機器（２）の書込みデータが書込まれる通常の論理ブロックに対応する。
左側のソースブロックは、ガベージコレクション処理の対象であるキャッシュブロックに対応する。
【００６１】
そして、図９（Ａ）に示すように、指定ブロックのＡ０からＡ３の４個の第１ページには、ホスト機器（２）の書込みデータが書込まれる。
第１比較例の場合、制御部２８は、ガベージコレクション処理を中断する前に、ソースブロックの３ページ分のデータを、指定ブロックのＢ０からＢ２の３個の第２ページにコピーする（図８（Ｂ）を参照）。
図９（Ｂ）の時点で、制御部２８は、所定ページ数のガベージコレクション処理を終える。
制御部２８は、ガベージコレクション処理を中断し、ホスト機器（２）へ書込み完了を送信する。
【００６２】
その後、制御部２８は、ガベージコレクション処理を再開する。
制御部２８は、指定ブロックにソースブロックのデータをコピーする。
図９（Ｃ）では、指定ブロックのＢ３の第２ページに、ソースブロックのデータがコピーされている。
この場合、たとえば図９（Ｃ）のコピー処理においてデータ書込みに失敗すると、指定ブロックのＢ３に対応するＡ３の第１ページには、ホスト機器（２）のデータが書込まれている。
よって、第１比較例では、指定ブロックのＡ３の第１ページに書込まれたホスト機器（２）の書込みデータには、エラーが発生する可能性がある。
【００６３】
［第２比較例（書込みアクセス中にすべてのガベージコレクション処理を実行して応答する例）］
第２比較例では、制御部２８は、ホスト機器（２）の書込みアクセス期間中に、キャッシュブロックについてのガベージコレクション処理を実行する。
また、制御部２８は、ガベージコレクション処理が完了してから、ホスト機器（２）に書込み完了を通知する。
【００６４】
図１０は、第２比較例での、書込みアクセス期間中の処理の流れを示すシーケンスチャートである。
第２比較例では、制御部２８は、ホスト機器（２）から書込みコマンドを受信すると、データをリクエストして読み込む。
また、不揮発性メモリ１５は、バッファＲＡＭ１４に書込まれた書込みデータを読み込んで記憶する（ステップＳＴ１〜ＳＴ１１）。
また、ホスト機器（２）の書込みデータの書込み処理を終えると、制御部２８は、ホスト機器（２）の書込みアクセス期間中に、キャッシュブロックについてのガベージコレクション処理を実行する。
制御部２８は、使用予定のキャッシュブロックについてのガベージコレクション処理を実行する（ステップＳＴ１２〜ＳＴ２４）。
その後、制御部２８は、ホスト機器（２）へ書込み完了を送信する（ステップＳＴ３１）。
【００６５】
これに対して、ホスト機器（２）では、図１０のステップＳＴ３２のタイミングにおいて、書込みアクセスの応答制限時間がタイムアウトしている。
よって、メモリカード１は、ホスト機器（２）がタイムアウトする前に、ホスト機器（２）へ書込み完了を送信することができない。
【００６６】
以上のように、本実施形態では、メモリカード１の制御部２８は、ホスト機器（２）の書込みアクセスに基づいて、不揮発性メモリ１５の物理ページにホスト機器（２）の書込みデータを書込む。
さらに、本実施形態では、そのホスト機器（２）の書込みデータを書込んだ第１ページ（物理ページ）に対応する第２ページ（他の物理ページ）について、書込みアクセス中に追加書込み処理を行う。
このため、本実施形態では、ホスト機器（２）の書込みアクセス期間中に、不揮発性メモリ１５の同じ記憶領域において組で格納される複数の物理ページに、ホスト機器（２）の書込みデータと、追加書込みデータとを書込む。
よって、本実施形態では、その後のホスト機器（２）の書込みアクセスにおいて、既にホスト機器（２）の書込みデータを保持した記憶領域（たとえばＰ（１））に対して、新たな書込みデータの追加書込みをしなくなる。
【００６７】
したがって、本実施形態では、ホスト機器（２）の書込みデータを保持する記憶領域（たとえばＰ（１））のデータは、その後の書込みアクセスにおいて書込みに失敗することがあっても、消失しなくなる。
その結果、本実施形態では、複数のページを多値化して記憶する不揮発性メモリ１５において、追加書込みによる書き込み済データの消失を防ぐことができる。
したがって、本実施形態では、たとえばホスト機器（２）への正常書込み完了の応答後の内部データ処理中に電源遮断が生じたとしても、ホスト機器（２）に対して正常書込みを通知したホスト機器（２）の書込みデータを保護することができる。
また、本実施形態では、たとえばホスト機器（２）への正常書込み完了の応答後に、追記失敗によるデータエラーが発生したとしても、ホスト機器（２）に対して正常書込みを通知したホスト機器（２）の書込みデータを保護することができる。
【００６８】
また、本実施形態では、ホスト機器（２）がタイムアウトする前に、ホスト機器（２）へ書込み完了を送信できる。
よって、本実施形態では、図２に示すようにカメラ装置２において撮像する動画をリアルタイムにメモリカード１へ保存する場合などにおいて、キャッシュブロックのガベージコレクション処理によってタイムアウトが生じることはない。
すなわち、本実施形態では、ＮＡＮＤ型のフラッシュメモリなどの不揮発性の半導体メモリを動画の記憶部などとして、リアルタイムシステムを実現できる。
【００６９】
上記各実施形態は、本発明の好適な実施形態の例であるが、本発明はこれに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
【００７０】
たとえば上記実施形態では、制御部２８は、ホスト機器（２）の書込みアクセス期間中に、キャッシュブロックのガベージコレクション処理を実行する。
この他にも例えば、制御部２８は、ホスト機器（２）の書込みアクセス期間中の内部処理として、不揮発性メモリ１５の他のブロックについてのガベージコレクション処理を実行してもよい。
また、制御部２８は、ガベージコレクション処理以外の内部処理を実行してもよい。
【００７１】
上記実施形態では、制御部２８は、ホスト機器（２）の書込みデータを、第１ページに書込み、内部処理（ガベージコレクション処理）によるデータを、第２ページに書込んでいる。
この他にも例えば、制御部２８は、ホスト機器（２）の書込みデータを、第１ページおよび第２ページに交互に書込み、内部処理（ガベージコレクション処理）によるデータを、第１ページおよび第２ページに交互に書込んでもよい。
この場合、制御部２８は、たとえばホスト機器（２）の最後の書込みデータが第１ページに書込まれたときには、それと組となる第２ページに内部処理によるデータを書込んだ時点で、ホスト機器（２）へ書込み完了を通知するとよい。
また、ホスト機器（２）の最後の書込みデータが第２ページに書込まれたときには、制御部２８は、その書込み完了時点で、ホスト機器（２）へ書込み完了を通知するとよい。
【００７２】
上記実施形態では、制御部２８は、ホスト機器（２）の書込みアクセス時に、ガベージコレクション処理を実行している。
この他にも例えば、制御部２８は、ホスト機器（２）の読出しアクセス時に、ガベージコレクション処理を実行してもよい。
【００７３】
上記実施形態では、１個のプロセッサ１２が、ホスト機器（２）のアクセスに基づく制御処理と、ガベージコレクション処理とを実行する。
この他にも例えば、ホスト機器（２）のアクセスに基づく制御処理と、ガベージコレクション処理とを別々のプロセッサにより実行してもよい。
【００７４】
上記実施形態では、メモリカード１は、ホスト機器（２）のデータを記憶するメモリ（１５）として、ＮＡＮＤ型のフラッシュメモリを使用している。
この他にも例えば、メモリカード１は、ホスト機器（２）のデータを記憶するメモリ（１５）として、ＮＯＲ型のフラッシュメモリなどの不揮発性メモリ、その他のメモリを使用してもよい。
【００７５】
上記実施形態では、不揮発性メモリ１５は、２個の物理ページのデータを多値化して共通する１個の記憶領域に記憶する。
この他にも例えば、不揮発性メモリ１５は、３個以上の物理ページのデータを多値化して共通する１個の記憶領域に記憶してもよい。
【００７６】
上記実施形態のメモリカード１は、カード型の記憶装置である。
この他にも例えば、記憶装置は、ＵＳＢメモリ、装置内に内蔵されるＳＳＤ、ｅＭＭＣなどであってもよい。
【００７７】
上記実施形態のホスト機器（２）は、カメラ装置２である。
この他にも例えば、ホスト機器（２）は、コンピュータ装置、携帯電話機、電子機器、ＰＤＡ、ナビゲーション装置、再生装置などであってもよい。
【００７８】
上記実施形態のデバイス入出力部１１は、ホスト入出力部２６に接続され、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＵＳＢ３．０などの高速シリアルデータ通信によりホスト入出力部２６とデータ通信する。
この他にも例えばデバイス入出力部１１は、ホスト入出力部２６と短距離無線通信などによりデータ通信してもよい。
【符号の説明】
【００７９】
１…メモリカード（記憶装置）、２…カメラ装置（ホスト機器）、３…カメラシステム（記憶システム）、１１…デバイス入出力部（入出力部）、１５…不揮発性メモリ（メモリ、半導体メモリ）、２８…制御部、Ｐ（１）〜Ｐ（ｎ）…記憶領域、Ａ０〜Ａｎ…第１ページ、Ｂ０〜Ｂｎ…第２ページ
【図１】
2011192239.tif 000003
【図２】
2011192239.tif 000004
【図３】
2011192239.tif 000005
【図４】
2011192239.tif 000006
【図５】
2011192239.tif 000007
【図６】
2011192239.tif 000008
【図７】
2011192239.tif 000009
【図８】
2011192239.tif 000010
【図９】
2011192239.tif 000011
【図１０】
2011192239.tif 000012