(57)【特許請求の範囲】
【請求項１】
１つのメモリセルに２ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、複数の下位ページと上位ページで物理ブロックが形成され、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリに対して、ホスト機器からのデータ書込要求に応じて、供給されたホストデータの書込制御を行う制御部を備え、
上記制御部は、データ書込要求に応じたホストデータの書込が、書込先とされた物理ブロック内の下位ページの直前の物理ページに至らないで終了した場合は、上記物理ブロック内の上記下位ページの直前の物理ページまで、非ホストデータの書込を実行させる
制御装置。
【請求項２】
上記制御部は、データ書込要求に応じたホストデータの書込が、上記物理ブロック内の上記下位ページの直前の物理ページに至らないで終了した場合は、データ書込要求に対する書込完了を上記ホスト機器に通知した後に、上記物理ブロック内の上記下位ページの直前の物理ページまで、非ホストデータの書込を実行させる請求項１に記載の制御装置。
【請求項３】
上記非ホストデータは上記制御部が使用する管理情報である請求項１に記載の制御装置。
【請求項４】
上記制御部は、上記不揮発性メモリに対して、下位ページ以外の物理ページの検索を行って上記管理情報を読み出す制御を行う請求項３に記載の制御装置。
【請求項５】
上記非ホストデータは、ホストデータの論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス変換テーブルである請求項１に記載の制御装置。
【請求項６】
上記制御部は、
上記物理ブロック内で、最終使用済みの物理ページから先頭側の物理ページに向かって、順に、物理ページ内に上記論理・物理アドレス変換テーブルが記憶されているか否かを検索して、最初に発見された上記論理・物理アドレス変換テーブルを取得する処理を行い、
取得した論理・物理アドレス変換テーブル及び論理・物理アドレス変換テーブルが記憶されていなかった物理ページの論理アドレス情報を用いて、最新の論理・物理アドレス変換テーブルを取得する請求項５に記載の制御装置。
【請求項７】
上記不揮発性メモリは多値ＮＡＮＤ型フラッシュメモリである請求項１に記載の制御装置。
【請求項８】
１つのメモリセルに２ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、複数の下位ページと上位ページで物理ブロックが形成され、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリと、
ホスト機器からのデータ書込要求に応じて、上記不揮発性メモリに対して、供給されたホストデータの書込制御を行う制御部とを備え、
上記制御部は、データ書込要求に応じたホストデータの書込が、書込先とされた物理ブロック内の下位ページの直前の物理ページに至らないで終了した場合は、上記物理ブロック内の上記下位ページの直前の物理ページまで、非ホストデータの書込を実行させる
記憶装置。
【請求項９】
１つのメモリセルに２ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、複数の下位ページと上位ページで物理ブロックが形成され、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリに対するデータ書込方法として、ホスト機器からのデータ書込要求に応じて、上記不揮発性メモリに対して、供給されたホストデータの書込を行うとともに、データ書込要求に応じたホストデータの書込が、書込先とされた物理ブロック内の下位ページの直前の物理ページに至らないで終了した場合は、上記物理ブロック内の上記下位ページの直前の物理ページまで、非ホストデータの書込を実行するデータ書込方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御装置、記憶装置、データ書込方法に関する。特に１つのセルに２ビット以上の多値記憶を行う不揮発性メモリに対する書込制御に関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２００９−７００９８号公報
【特許文献２】特開２００７−３３４８５２号公報
【特許文献３】特開２００７−１９３８３８号公報
【特許文献４】特開２００７−５８８４０号公報
【特許文献５】特開２０１０−１９８４０７号公報
【特許文献６】特開２００７−９４９２１号公報
【背景技術】
【０００３】
例えばＮＡＮＤ型フラッシュメモリなどの不揮発性メモリを用いた記憶装置が普及している。不揮発性メモリは、例えば各種電子機器、情報処理装置などで使用されるメモリカード、ＳＳＤ（Solid State Drive）、ｅＭＭＣ（Embedded MultiMedia Card）などで利用されている。
上記特許文献１〜４にはフラッシュメモリを用いた記憶装置が開示されている。
【０００４】
また例えばＮＡＮＤ型フラッシュメモリ等では、１つのセルの浮遊ゲートにある電子の蓄積量（電荷量）を１つの閾値で判定することで１ビットの情報を記憶するＳＬＣ（Single Level Cell）の他、電荷量の違いを４つ以上の多値で判断することで２ビット以上を記憶するＭＬＣ（Multi Level Cell）が知られている。
なお、狭義のＭＬＣとして特に２ビット記憶のものをさし、３ビット記憶のものをＴＬＣ（Triple Level Cell）と呼ぶ場合もある。
上記文献５，６には１つのセルに複数ビットデータを記憶する多値フラッシュメモリが開示されている。
【０００５】
これらのＮＡＮＤ型フラッシュメモリ等では、物理的な記憶領域のアドレスとして物理アドレス（ＰＢＡ：Physical Block Address）が使用される。これにより物理ブロック、物理ページ、物理セクタが設定されている。複数の物理セクタで物理ページが構成され、複数の物理ページで物理ブロックが構成される。
消去（イレーズ）は物理ブロック単位で行われ、書込（プログラム）及び読出（リード）は物理ページ単位で可能とされる。
ホスト側やメモリ制御部側からのアドレス指定は、論理アドレス（ＬＢＡ：Logical Block Address）が用いられる。論理アドレスによる論理ブロック、論理ページが、上記の物理アドレスに対応づけられる。これによりアクセス要求時には論理アドレスが物理アドレスに変換されて、実際のフラッシュメモリへのアクセスが実行される。
【０００６】
多値ＮＡＮＤ型フラッシュメモリの場合、物理アドレスが付与される物理ページとして上位ページ、下位ページが設定される。
例えば２ビット記憶のＭＬＣの場合、下位ページとしてのロアーページ（Lower Page）と上位ページとしてのアッパーページ（Upper Page）が設定される。
３ビット記憶のＴＬＣの場合、下位ページとしてのロアーページと、中位ページとしてのミドルページ（Middle Page）と、上位ページとしてのアッパーページが設定される。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多値ＮＡＮＤ型フラッシュメモリを記憶デバイスとして用いるメモリーデバイスにおいては、書込の速度が高速であるロアーページを使用することで、アクセス速度の高速化を実現することができる。
しかしながら、ロアーページだけを使用した場合、フラッシュメモリとしては、ＭＬＣの場合は半分、ＴＬＣの場合は１／３の領域しか使用することができなくなってしまう。
【０００８】
さらに、近年の多値ＮＡＮＤ型フラッシュメモリは、ロアーページのみを使用することが許可されず、必ずミドルページやアッパーページといった、低速で、物理セルを共有する物理ページのデータへダメージを及ぼす可能性のある物理ページに対しても書込を行わなければならないという制約を持っている。
【０００９】
また、近年のホストデバイスの傾向として、物理ページサイズ以下のような小さいサイズでのアクセスが増加している。このとき、低速なミドルページやアッパーページに書込が行われると、ホスト機器からの書込が極端に遅く見えてしまい、ホストデバイスのパフォーマンスの低下を発生させてしまう。
【００１０】
本開示ではこのような点に鑑みて、多値記憶が行われる不揮発性メモリに対してホストデータ書込を高速に行うことができるようにし、システムパフォーマンスを向上させることを目的とする。
【課題を解決するための手段】
【００１１】
本開示の制御装置は、１つのメモリセルに２ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、複数の下位ページと上位ページで物理ブロックが形成され、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリに対して、ホスト機器からのデータ書込要求に応じて、供給されたホストデータの書込制御を行う制御部を備え、
上記制御部は、データ書込要求に応じたホストデータの書込が、書込先とされた物理ブロック内の下位ページの直前の物理ページに至らないで終了した場合は、上記物理ブロック内の上記下位ページの直前の物理ページまで、非ホストデータの書込を実行させる。
本開示の記憶装置は、当該制御装置と上記の不揮発性メモリを有する。
【００１２】
本開示のデータ書込方法は、ホスト機器からのデータ書込要求に応じて、不揮発性メモリに対して、供給されたホストデータの書込を行うとともに、データ書込要求に応じたホストデータの書込が、書込先とされた物理ブロック内の下位ページの直前の物理ページに至らないで終了した場合は、上記物理ブロック内の上記下位ページの直前の物理ページまで、非ホストデータの書込を実行するようにするものである。
【００１３】
このような本開示の技術では、或るデータ書込要求が発生した場合に、ホストデータの書込が行われるが、必要に応じて非ホストデータの書込なども行われて、次回の書込要求に応じたデータ書込が下位ページから開始される状態とする。従って、例えば小サイズのホストデータなどは、下位ページへの書込のみで完了できる場合が多くなる。
【発明の効果】
【００１４】
本開示によれば、データ書込要求に応じてホストデータが不揮発性メモリに書き込まれる場合に、下位ページから書込が開始されることになる。書込速度の速い下位ページを使用することでホストデータの高速書込が実現される。特にホスト機器から小サイズのデータ書込要求が多い場合に有効となる。
【図面の簡単な説明】
【００１５】
【図１】本開示の実施の形態のメモリカードのブロック図である。
【図２】実施の形態の不揮発性メモリにおける物理ブロックと物理ページの説明図である。
【図３】実施の形態の多値ＮＡＮＤ型フラッシュメモリの説明図である。
【図４】実施の形態の多値ＮＡＮＤ型フラッシュメモリの記憶動作の説明図である。
【図５】実施の形態の物理ページの説明図である。
【図６】実施の形態のデータ書込時の処理のフローチャートである。
【図７】実施の形態のホストデータ書込時の動作例の説明図である。
【図８】実施の形態のホストデータ及び管理情報書込時の動作例の説明図である。
【図９】実施の形態のホストデータ及び管理情報書込時の動作例の説明図である。
【図１０】本開示の実施の形態の管理情報書込タイミングの説明図である。
【図１１】実施の形態の管理情報読込処理のフローチャートである。
【図１２】実施の形態の管理情報読込動作の説明図である。
【図１３】実施の形態の論理・物理アドレス変換テーブル構築処理の説明図である。
【図１４】実施の形態の論理・物理アドレス変換テーブルの説明図である。
【図１５】実施の形態の論理・物理アドレス変換テーブル読込処理のフローチャートである。
【発明を実施するための形態】
【００１６】
以下、実施の形態について次の順序で説明する。なお、実施の形態で示すメモリカード１が請求項でいう記憶装置の実施の形態となる。またメモリカード１内の制御部１１が、請求項でいう制御装置の実施の形態であり、制御部１１の制御に基づいて実行されるデータ書込方法が請求項でいうデータ書込方法の実施の形態となる。
＜１．メモリカード構成＞
＜２．ＭＬＣ／ＴＬＣ＞
＜３．データ書込制御処理＞
＜４．管理情報読込処理＞
＜５．論理・物理アドレス変換テーブルへの適用例＞
＜６．変形例＞
【００１７】
＜１．メモリカード構成＞
図１に実施の形態のメモリカード１の構成例を示す。
メモリカード１はホスト機器２に接続され、記憶装置として用いられる。ホスト機器２とは、例えばパーソナルコンピュータ、デジタルスチルカメラ、ビデオカメラ、オーディオプレーヤ、ビデオプレーヤ、ゲーム機器、携帯電話機、ＰＤＡ（Personal Digital Assistant）等の情報端末など、各種の電子機器、情報処理装置が想定される。
【００１８】
メモリカード１は、制御部１１、インターナルＲＡＭ（Random Access Memory）１２、デバイスインターフェース１３、バッファＲＡＭ１４、及び不揮発性メモリ（Non-Volatile Memory）１５を備える。
【００１９】
制御部１１はＣＰＵ（Central Processing Unit）によって形成され、メモリカード１の全体を制御する。このため制御部１１はインターナルＲＡＭ１２に置かれた命令コードを逐次実行する。主に制御部１１は、ホスト機器２からのコマンドに応じたデータの書込や読出を実行させる。このため制御部１１は、デバイスインターフェース１３のホスト機器２とのデータ送受信動作制御、バッファＲＡＭ１４の書込／読出動作の制御、不揮発性メモリ１５へのアクセス動作の制御を行う。
【００２０】
インターナルＲＡＭ１２は例えばＳＲＡＭ（Static Random Access Memory）で構成される。インターナルＲＡＭ１２は、制御部１１が実行するプログラム（ファームウェア）の記憶や、ワーク領域として使用される。
デバイスインターフェース１３はホスト機器２との間の通信を行う。
バッファＲＡＭ１４はホスト機器２との間の転送データ（書込データや読出データ）のバッファリングに用いられる。
【００２１】
不揮発性メモリ１５は、例えば多値ＮＡＮＤ型フラッシュメモリである。
即ち本実施の形態の場合、この不揮発性メモリ１５は、１つのメモリセルに２ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページ（ロアーページ）と上位ページ（アッパーページ）を有する。そして各物理ページが物理アドレス順に使用されてデータ書込が行われる多値ＮＡＮＤ型フラッシュメモリとされる。
【００２２】
メモリカード１の基本的な動作としては、データ書込時には、ホスト機器２から書込要求とともに、書込アドレス（論理アドレス）、データサイズ、さらに書き込むべきデータが送られてくる。
ホスト機器２から送られてくる書き込むべきデータは、デバイスインターフェース１３で受信されてバッファＲＡＭ１４にバッファリングされる。そして制御部１１の制御の元、データが不揮発性メモリ１５に書き込まれる。制御部１１は書込要求、書込アドレス、データサイズに応じてこれらの動作を制御する。
データ読出時にはホスト機器２から読出要求とともに、読出アドレス（論理アドレス）、データサイズが送られてくる。制御部１１は、読出アドレス、データサイズに基づいて不揮発性メモリ１５から指示されたデータの読出を行い、バッファＲＡＭ１４にバッファリングする。また制御部１１はバッファリングされた読出データに対してエラー訂正処理等を行う。そして読出データはバッファＲＡＭ１４からデバイスインターフェース１３に転送され、ホスト機器２に送信される。
【００２３】
上述のように不揮発性メモリ１５は、物理的な記憶領域のアドレスとして物理アドレスが使用される。これにより物理ブロック（Physical Block）、物理ページ（Physical Page）、物理セクタ（Physical Sector）が設定されている。複数の物理セクタで物理ページが構成され、また複数の物理ページで物理ブロックが構成される。
図２には、物理ブロックＰＢとしてｎ＋１個の物理ブロックＰＢ０〜ＰＢｎを模式的に示している。ここでは１つの物理ブロックＰＢにおける１６個の物理ページＰＰ（ＰＰ０〜ＰＰ１５）を示している。なお、１つの物理ブロックＰＢは１６個の物理ページＰＰで形成されることに限られるわけではなく、さらに物理ページＰＰ１６以降が存在してもよい。図は、物理ブロックＰＢ内の一部と考えてもよい。
【００２４】
１つの物理ページＰＰは、例えば１６Ｋｂｙｔｅなどとされる。図示していないが、この物理ページＰＰ内が複数の物理セクタに分けられている。
また多値ＮＡＮＤ型フラッシュメモリとされる本例の不揮発性メモリ１５では、各物理ページとして、ロアーページ、アッパーページが割り当てられる。
【００２５】
消去（イレーズ）は物理ブロック単位で行われ、書込（プログラム）及び読出（リード）は物理ページ単位で可能とされる。つまり物理ブロックが物理的消去単位、物理ページが物理的書込単位となる。
ホスト機器２側からのアドレス指定は、論理アドレスが用いられる。論理アドレスによる論理ブロック、論理ページ、論理セクタが、上記の物理アドレスに対応づけられる。即ち制御部１１は論理アドレスと物理アドレスを対応づける論理・物理アドレス変換テーブルを形成し、ホスト機器２からのアクセス要求時には、指定される論理アドレスを論理・物理アドレス変換テーブルを参照して物理アドレスに変換する。そして物理アドレスにより、実際の不揮発性メモリ１５へのアクセスを実行する。
【００２６】
本実施の形態の場合、制御部１１は論理アドレスと物理アドレスの対応関係を示す論理・物理アドレス変換テーブルの生成や更新も行う。
また制御部１１の管理のもと、例えばインターナルＲＡＭ１２に、制御部１１が生成、更新した論理・物理アドレス変換テーブルが記憶される。
【００２７】
また本実施の形態では、物理ブロックＰＢには、論理アドレスが非連続なデータを連続した物理ページＰＰに書き込むことを許容する。
なお、ホスト機器２から書込や読出が要求されるデータ（ホスト機器２が論理アドレスで管理するデータ）を「ホストデータ」という。
【００２８】
また本実施の形態では、上記の多値ＮＡＮＤ型フラッシュメモリとしての不揮発性メモリ１５に対して、制御部１１はホスト機器２からのデータ書込要求に応じて、供給されたホストデータの書込制御を行うが、この場合に、次回のデータ書込要求に応じたホストデータの書込がロアーページから開始されるように、ロアーページの直前の物理ページまでデータ書込を実行させる制御を行う。
このため本例の場合、制御部１１は、データ書込要求に応じたホストデータの書込が、ロアーページの直前の物理ページに至らないで終了した場合は、ロアーページの直前の物理ページまで、非ホストデータの書込を実行させる。非ホストデータとは、例えば上述の論理・物理アドレス変換テーブル等、制御部１１が使用する管理情報である。
なお管理情報としては論理・物理アドレス変換テーブルに限られず、例えばホストデータが著作権コンテンツデータである場合の著作権情報であったり、不揮発性メモリ１５においてエラーが発生した物理アドレスを示すエラー情報であったり、多様な例が考えられる。メモリカード１の製品情報、シリアルナンバ等の情報、使用履歴情報などであってもよい。
また非ホストデータという意味では、管理情報に限られず、ホスト機器２からデータ書込要求が行われるホストデータ以外のデータを指す。
【００２９】
＜２．ＭＬＣ／ＴＬＣ＞
ここでＭＬＣ、ＴＬＣと呼ばれる多値ＮＡＮＤ型フラッシュメモリについて説明しておく。
図３は実施の形態に係る不揮発性メモリ１５としての多値ＮＡＮＤ型フラッシュメモリの内部構成を示している。
図３に示すように、多値ＮＡＮＤ型フラッシュメモリは、複数の電気的に書き換え可能なメモリセルＭＴがマトリクス状に配置されたメモリセルアレイを構成している。
【００３０】
メモリセルＭＴは直列に接続され、両端を選択ゲートトランジスタＳＴで挟んだ構成となっている。この構成をＮＡＮＤ列と呼ぶ。ここでは、各ＮＡＮＤ列はｍ個のメモリセルＭＴが直列に接続されて構成されている。
各ＮＡＮＤ列の一端はドレイン側選択ゲート線ＳＧ０に接続された選択ゲートトランジスタＳＴ１０〜ＳＴ１ｎを介してビット線ＢＬ０〜ＢＬｎに、他端はソース側選択ゲート線ＳＧＬに接続された選択ゲートトランジスタＳＴ２０〜ＳＴ２ｎを介して共通ソース線ＳＬに接続されている。ＮＡＮＤ列の各々のメモリセルＭＴの制御ゲートは、ワード線ＷＬ０〜ＷＬｍに接続されている。
【００３１】
同一のワード線ＷＬ０〜ＷＬｍで接続されている複数のメモリセルＭＴをページと呼ぶ。このページは、シングルレベルセル（ＳＬＣ）の場合、複数のメモリセルＭＴが集まって１つの物理ページを構成している。
本開示に係るメモリセルＭＴは多ビットデータを記憶できるマルチレベルセルを想定しているので、上記のページはそのビット数に相当するページ数となる。図３では、２ビットデータを記憶できるメモリセルＭＴを示しており、上記の複数のメモリセルＭＴで２つの物理ページ分となる。この対応を図３の右側に示す。
【００３２】
即ち、ワード線ＷＬ０〜ＷＬｍ毎にロアーページ、アッパーページとなる。
ロアーページ、アッパーページ毎に、物理ページＰＰとしてのアドレス（ＰＰ０〜ＰＰｑ）が割り当てられる。なおここで図示する物理ページＰＰとしてのアドレスＰＰ０〜ＰＰｑの割当は一例に過ぎない。
書込動作、読出動作はこのページ単位で行われる。書込は、ロアーページからアッパーページの順に行われ、アッパーページからロアーページの順に書込することはできない。アッパーページの書込に失敗すると、原理上ロアーページの内容が破壊（消失）することがある。
【００３３】
多値ＮＡＮＤ型フラッシュメモリの書込動作概念を図４により説明する。図４は、１個のメモリセルＭＴに２ビットの記憶を行う４値データ（２ビット）記憶方式でのしきい値分布を模式的に示すものである。
図に示すように、メモリセルＭＴ当たり、２ページ分のデータを記憶することができる。書込はロアーページからアッパーページの順に行われる。
【００３４】
メモリセルＭＴは、アッパページデータ“ｘ”とロアーページデータ“ｙ”とで定義される４値データ“ｘｙ”の何れか１つを保持できる。この４値データ“ｘｙ”は、メモリセルＭＴのしきい値電圧の順に、例えば、データ“１１”、“０１”、“００”、“１０”が割り当てられる。
データ“１１”は、メモリセルＭＴのしきい値電圧が負の消去状態である。なお、データの割り当て規則はこれに限らない。また、本実施の形態では、以降、１個のメモリセルＭＴに２ビットの値を記憶することができるものを取り上げて説明するが、１個のメモリセルＭＴに３ビット以上の記憶を行う構成であってもよい。
【００３５】
ロアーページ書込動作においては、データ“１１”（消去状態）のメモリセルＭＴに対して選択的に、ロアービットデータ“ｙ”の書込によって、データ“１０”が書き込まれる。
アッパーページ書込動作においては、データ“１１”のメモリセルＭＴと、データ“１０”のメモリセルＭＴに対して、それぞれ選択的にアッパービットデータ“ｘ”の書込が行われて、データ“０１”およびデータ“００”が書き込まれる。
アッパーページ書込前のデータ“１０”のしきい値分布は、アッパーページ書込後のデータ“０１”とデータ“００”のしきい値分布の中間程度に位置しており、一般的に、アッパーページ書込後のしきい値分布より広くなっている。
即ちアッパーページ書込後は、電荷量に対して３つの閾値で各値が識別される状態となる。
【００３６】
このような多値ＮＡＮＤ型フラッシュメモリでは、ロアーページ書込に要する時間に対して、アッパーページ書込に要する時間が長くなることが知られている。図４に示すような電荷量遷移の処理のため、例えばアッパーページ書込に要する時間は、ロアーページ書込に要する時間の５倍程度となることがある。
【００３７】
図５ＡはＭＬＣにおける物理ページアドレスの割当例を示している。
ここでは１つの物理ブロックにおける物理ページＰＰを示しているが、各物理ページＰＰには「０」「１」「２」・・・のページアドレスが割り当てられる。これを物理ページ「ＰＰ０」「ＰＰ１」・・・「ＰＰ１５」として示している。
各物理ページにおいて、［Lower］はロアーページを示し、［Upper］はアッパーページを示す。この例では、物理ページＰＰ０〜ＰＰ３、ＰＰ６、ＰＰ７、ＰＰ１０、ＰＰ１１、ＰＰ１４、ＰＰ１５がロアーページである。また物理ページＰＰ４、ＰＰ５、ＰＰ８、ＰＰ９、ＰＰ１２、ＰＰ１３がアッパーページである。
この物理ブロックＰＢへは、ページアドレス順に物理ページＰＰが使用されてデータの書込が行われる。つまり物理ページＰＰ０、ＰＰ１・・・ＰＰ１５の順番に使用される。例えば図３に示したように、ワード線ＷＬ０〜ＷＬｍ毎にロアーページ、アッパーページがメモリセルを共有する形となるが、例えば物理ページＰＰ０（ロアーページ）と物理ページＰＰ４（アッパーページ）が、同じワード線のメモリセルＭＴで共有されるような形態となる。そして、この図５Ａのページアドレス順に物理ページＰＰが使用されることで、ロアーページとアッパーページの組では、必ずロアーページに先に書込が行われる。
【００３８】
図５ＢはＴＬＣにおける物理ページアドレスの割当例を示している。
各物理ページにおいて、［Lower］はロアーページ、［Middle］はミドルページ、［Upper］はアッパーページを示す。この例では、物理ページＰＰ０、ＰＰ１、ＰＰ３、ＰＰ６、ＰＰ９、ＰＰ１２、ＰＰ１５がロアーページである。また物理ページＰＰ２、ＰＰ４、ＰＰ７、ＰＰ１０、ＰＰ１３がミドルページである。また物理ページＰＰ５、ＰＰ８、ＰＰ１１、ＰＰ１４がアッパーページである。
ＴＬＣでは、ロアーページ、ミドルページ、アッパーページがメモリセルを共有する形となるが、この図５Ｂのように物理ページアドレスが設定されることで、各メモリセルで見れば、書込動作は必ずロアーページ、ミドルページ、アッパーページの順番で行われる。
【００３９】
＜３．データ書込制御処理＞
本実施の形態の制御部１１は、ホスト機器２から要求されたホストデータの書込を、例えば上記図５Ａ、図５Ｂのような物理ブロック内で、ページアドレス順の物理ページＰＰに行っていく。
このとき、連続してホストデータの書込が継続する間は、ロアーページだけでなく、ミドルページやアッパーページも含めて書込を行う。
そして、ホストデータの書込が終了した物理ページの次の物理ページがロアーページであった場合には、その時点で処理を完了する。
ところがホストデータの書込が終了したページの次のページがロアーページでなかった場合には、次のロアーページの直前の物理ページまで、管理情報（例えば論理・物理アドレス変換テーブル）の書込を行い、次の書込がロアーページから開始されるような状態にする。
【００４０】
図６で制御部１１によるデータ書込制御処理例を説明する。
制御部１１はステップＦ１０１として、ホスト機器２からデータ書込要求に応じて、書込を行うホストデータの取り込みや論理アドレスの取得等を行う。
具体的には制御部１１は、送信されてくるホストデータについてはデバイスインターフェース１３を介してバッファＲＡＭ１４に一時格納させる。また制御部１１は、デバイスインターフェース１３を介して送信される書込要求のコマンドにより、書き込むホストデータの論理アドレスとデータ量を把握する。
【００４１】
ステップＦ１０２では、今回のデータ書込に対応すべく論理・物理アドレス変換テーブルを作成又は更新する。ここでは、今回書込を行うホストデータの論理アドレスを物理アドレスに対応させたエントリを論理・物理アドレス変換テーブルに追加する処理を行う。
なお、論理・物理アドレス変換テーブルは上記の管理情報の１つの例であるが、論理・物理アドレス変換テーブルに関する動作は、まとめて後述する。
【００４２】
続いて制御部１１はステップＦ１０３で、今回書込要求にかかるホストデータの書込制御を行う。具体的には、バッファＲＡＭ１４に一時格納させたホストデータを、今回ステップＦ１０２で論理・物理アドレス変換テーブルにエントリした物理アドレスに応じて、不揮発性メモリ１５に記憶させていく。例えば図５Ａのような物理ブロックＰＢに対し、ページアドレスが若い物理ページＰＰから書込を行っていく。
【００４３】
ホストデータの書込を行ったらステップＦ１０４の判断を行う。ここでは今回のホストデータの書込を行った最後の物理ページの次の物理ページＰＰ、即ち次回の書込要求に応じて書込を行うことになる物理ページＰＰが、ロアーページであるか否かを確認する。換言すれば、ロアーページの直前の物理ページで書込が完了したか否かを判断する。
もし、次の物理ページＰＰがロアーページであれば、そのまま今回の書込要求に応じた処理を終える。
【００４４】
一方、次の物理ページＰＰがロアーページでなければ、ステップＦ１０４からＦ１０５に進み、次の物理ページＰＰに管理情報の書込を行う。
管理情報として、例えば著作権情報、エラーテーブル、論理・物理アドレス変換テーブルなどの書込を行う。これら全部でもよいし、一部でもよい。またこれら以外の管理情報でもよい。
そして再度ステップＦ１０４の判断を行い、次の物理ページＰＰがロアーページであれば処理を終えるが、次の物理ページＰＰがロアーページでなければ、再度ステップＦ１０５で、さらに次の物理ページＰＰに管理情報の書込を行う。
【００４５】
このような処理によって行われる書込動作を図７，図８，図９で説明する。
図７，図８Ａ，図９Ａは或る物理ブロックＰＢｘに対して、今回のホストデータの書込が行われた状態を示している。図中、各物理ページＰＰ内の「Data」はホストデータが書き込まれた状態を示している。
この図７は、今回のホストデータが、ステップＦ１０３の書込制御に基づいて、物理ページＰＰ０〜ＰＰ９まで書き込まれた場合である。この場合、次の物理ページＰＰ１０はロアーページとなっている。従ってステップＦ１０４では、次の物理ページＰＰがロアーページであるとして、そのまま今回の書込要求に応じた処理を終えることになる。
【００４６】
図８Ａは、今回のホストデータが、ステップＦ１０３の書込制御に基づいて、物理ページＰＰ０〜ＰＰ８まで書き込まれた場合である。この場合、次の物理ページＰＰ９はアッパーページである。従ってステップＦ１０４では次の物理ページがロアーページではないと判断され、ステップＦ１０５で、次の物理ページＰＰ９に図８Ｂのように管理情報ＭＧＴの書込が行われる。すると続くステップＦ１０４では、次の物理ページＰＰ１０がロアーページであると判断され、それにより今回の書込要求に応じた一連の処理を終えることになる。
【００４７】
図９Ａは、今回のホストデータが、ステップＦ１０３の書込制御に基づいて、物理ページＰＰ０〜ＰＰ７まで書き込まれた場合である。この場合、次の物理ページＰＰ８はアッパーページである。従ってステップＦ１０４では次の物理ページがロアーページでないと判断される。そのためステップＦ１０５で、物理ページＰＰ８に図９Ｂのように管理情報ＭＧＴの書込が行われる。ところがこの時点でも、次の物理ページＰＰ９はアッパーページである。従ってさらにステップＦ１０４からＦ１０５に進み、次の物理ページＰＰ９にも図８Ｂのように管理情報ＭＧＴの書込が行われる。
その後のステップＦ１０４では、次の物理ページＰＰ１０がロアーページであると判断され、それにより今回の書込要求に応じた一連の処理を終えることになる。
【００４８】
以上のように、本実施の形態のデータ書込動作では、ホストデータの書込を行った際に、次回のデータ書込要求に応じたデータ書込がロアーページから開始されるように、ロアーページの直前の物理ページＰＰまで何らかのデータ書込が行われる。
即ち、ホストデータの書込完了の時点で、次の物理ページがロアーページであれば、その時点で一連の書込動作を終える。
また、ホストデータの書込完了の時点で、次の物理ページがロアーページでなければ、次の物理ページがロアーページとなる状態となるまで、管理情報の書込を行って、一連の書込動作を終える。
これにより、ホスト機器２からの書込要求があったときは、ホストデータの書込は必ずロアーページから開始されることになる。これにより書込アクセスの高速化が実現される。
【００４９】
ホスト機器２から供給されるホストデータとしては、ストリームデータなどのデータサイズの大きいものや、例えば４Ｋｂｙｔｅ、８Ｋｂｙｔｅなど、１つの物理ページＰＰに書き込めるデータサイズの小さいものがある。
物理ページＰＰはページアドレス順に使用されていくため、比較的サイズの大きいホストデータは、ロアーページ／アッパーページに関わりなく、物理アドレス順に使用されて書込が行われる。例えば図７，図８，図９の例では１０物理ページ程度を必要とするホストデータの書込例を示したが、その場合、図示のように物理アドレス順にロアーページ／アッパーページの両方がホストデータの書込に用いられる。
ロアーページとアッパーページでは、書込速度に大きな差があることを先に述べたが、このようにロアーページ／アッパーページを平均的に使用するホストデータの場合、アッパーページを用いることによる書込速度はさほど問題にはならない。ロアーページも使用されることで全体的に平均化されることもある。
【００５０】
一方、１物理ページなどで書込が完了する小サイズのホストデータの場合、ロアーページを使用する場合とアッパーページを使用する場合とでは、明らかに後者の方がアクセス速度低下する。
ところが本実施の形態の場合、書込要求の際には必ずロアーページから書込が開始されるため、小サイズのホストデータは、殆どロアーページのみを使用して書込が行われることになる。このため特に小サイズの書込要求が多発する動作環境においては、非常にアクセス速度が向上することになる。
【００５１】
また大きいサイズのホストデータの書込の場合には、アッパーページも含めて書込が行われるため、アッパーページ側を無駄にすることなく、不揮発性メモリ１５の容量を有効に使用することが可能である。
【００５２】
ところで、ステップＦ１０５による管理情報書込を行うのは、制御部１１はホスト機器２に対してホストデータの書込完了の通知を行った後に行うようにするとよい。そうすることでホスト機器２からみてホストデータの書込アクセス速度を向上させることができ、ホスト機器２側のアプリケーション等の処理も高速化できる。
【００５３】
図１０にホスト機器２とメモリカード１（制御部１１）の通信例を示す。
ホスト機器２が書込コマンドを発行するとメモリカード１側では図示のようにホストデータの書込を行う。制御部１１としては図６のステップＦ１０３の処理を行うことになる。このステップＦ１０３でホストデータの書込を行ったら、その完了に応じて、制御部１１はホスト機器２に対して完了通知を行う。
そしてその直後、次ページがロアーページでない場合は、ステップＦ１０５の処理として管理情報書込を行うようにする。
従って図１０からわかるように、管理情報書込は、ホスト機器２からの書込要求が無い期間に行われることとなる。結果、アッパーページへの管理情報の書込に要する時間は、ホスト機器２からみた書込アクセス時間に含まれず、ホスト機器２からみて高速アクセスが実現される。
そして、ホスト機器２から次の書込コマンドが発行されたときは、ホストデータの書込はロアーページから行われることとなる。
【００５４】
このように制御部１１は、データ書込要求に対する書込完了をホスト機器２に通知した後に、必要があれば、ロアーページの直前の物理ページまで、管理情報の書込を実行させることも、ホスト機器２からみた書込アクセス時間の短縮に有効である。
【００５５】
＜４．管理情報読込処理＞
上述のように、ホストデータの書込の際には、アッパーページに管理情報が書き込まれることがある。ここでは制御部１１が管理情報を読み出す場合の動作例を説明する。
図１１に制御部１１の管理情報読込処理例を示している。
制御部１１は必要に応じて図１１の処理で不揮発性メモリ１５に記憶させた管理情報を読み込むことができる。
なお、ここでは単に目的の管理情報を検索する処理例を示す。管理情報の１つとして論理・物理アドレス変換テーブルがあると先に述べたが、論理・物理アドレス変換テーブルを再構築する場合の処理は後に詳しく説明する。
【００５６】
まず制御部１１はステップＦ２０１で、管理情報の読込を行おうとする対象の物理ブロックＰＢｘについて最終使用済みページＰＰｅの検索を行う。例えば２分検索などとして最終使用済み物理ページＰＰｅを探すことができる。
物理ブロックＰＢは物理ページＰＰ０から順に使用されていくもので、最終使用済み物理ページＰＰｅとは、その時点で過去に最新のデータ書込が行われた物理ページＰＰのことである。
図１２Ａには、過去に物理ページＰＰ９までデータ書込が行われた物理ブロックＰＢｘを示しているが、この場合、物理ブロックＰＢｘは矢印の方向で各物理ページＰＰが順に使用されて書込が行われたものである。そして最終使用済み物理ページＰＰｅとは、物理ページＰＰ９となる。
２分検索とは、例えば中央の物理ページＰＰを確認しながら最終使用済み物理ページＰＰｅを探索する手法である。
１つの物理ブロックＰＢが１６個の物理ページＰＰ０〜ＰＰ１５で構成されるとして、図１２Ａでいえば、まず例えば物理ページＰＰ７を確認する。物理ページＰＰ７が書込済みであれば、最終使用済み物理ページＰＰｅは物理ページＰＰ７〜ＰＰ１５のいずれかである。そこで次に物理ページＰＰ１１を確認する。物理ページＰＰ１１が未使用であれば、最終使用済み物理ページＰＰｅは物理ページＰＰ７〜ＰＰ１０のいずれかである。そこで次に物理ページＰＰ９を確認する。このように中央の物理ページＰＰを確認しながら追い込んでいき、最終使用済み物理ページＰＰｅを探索するものである。
【００５７】
最終使用済み物理ページＰＰｅを発見したら、制御部１１はステップＦ２０２で、その最終使用済み物理ページＰＰがロアーページであるか否かを判断する。
ロアーページでなければ、制御部１１はステップＦ２０３で、最も近い非ロアーページ（つまり狭義のＭＬＣの場合はアッパーページ）を、物理アドレスが若い方にさかのぼって検索する。
【００５８】
ステップＦ２０４で制御部１１は、非ロアーページに目的の管理情報が記憶されているか否かを判断する。
ステップＦ２０１で検索した最終使用済み物理ページＰＰｅがアッパーページであった場合は、この最終使用済み物理ページＰＰｅに読込目的の管理情報が記憶されているか否かを判断することになる。
またステップＦ２０１で検索した最終使用済み物理ページＰＰｅがロアーページであって、ステップＦ２０３で最も近いアッパーページを検索した場合は、この検索したアッパーページに読込目的の管理情報が記憶されているか否かを判断する。
なお、ここでいう目的の管理情報とは、今回の処理で読み出そうとしている管理情報の種別のことである。例えば管理情報として記憶させた著作権情報を読み出す目的の処理であれば、目的の管理情報とは著作権情報のこととなる。
【００５９】
そして目的の管理情報が存在したら、ステップＦ２０６に進み、当該物理ページから管理情報を読み込んで処理を終える。
図１２Ｂは、最終使用済み物理ページＰＰｅがアッパーページである物理ページＰＰ９であった場合を示している。この場合、最終使用済み物理ページＰＰｅ（ＰＰ９）に目的の管理情報ＭＧＴが記憶されていれば、当該物理ページＰＰ９から図示のようにそれを読み込むことになる。
図１２Ｃは、最終使用済み物理ページＰＰｅがロアーページである物理ページＰＰ１０であった場合を示している。この場合、最終使用済み物理ページＰＰｅ（ＰＰ１０）に直近のアッパーページを検索し、物理ページＰＰ９で目的の管理情報ＭＧＴの有無を確認する。そして目的の管理情報ＭＧＴが記憶されていれば、当該物理ページＰＰ９から図示のようにそれを読み込むことになる。
【００６０】
一方、ステップＦ２０４で目的の管理情報が記憶されていないと判断されたときは、ステップＦ２０５で最も若い物理アドレスの非ロアーページに至ったと判断されるまで、ステップＦ２０３で逆順に最も近い非ロアーページを検索し、同様に目的の管理情報が存在するか否かを判断していく。そして目的の管理情報が発見されたら、ステップＦ２０５でその管理情報を読み込む。
【００６１】
なお、ステップＦ２０５で非ロアーページの最初の物理ページであると判断される場合とは、例えば図１２の例でいえば、最も物理アドレスが若いアッパーページ（ＰＰ４）まで非ロアーページを検索しても、目的の管理情報が記憶されていないと判断される場合である。
この場合、制御部１１はステップＦ２０７で、目的の管理情報は無いとして処理を終える。
【００６２】
このような管理情報読込処理では、最新の管理情報を効率よく短時間で読み出せることになる。管理情報としては、論理・物理アドレス変換テーブルの他に、例えば著作権情報やエラー情報等、各種のものが想定されるが、例えば最新のエラー情報を読み込みたい場合、このエラー情報を目的の管理情報として図１１の処理を行えば、効率よくエラー情報を読み出せることになる。
【００６３】
即ち、上述のデータ書込処理によれば、ホストデータの書込にはロアーページとアッパーページの両方が使用されるが、管理情報の書込に使用されるのは非ロアーページ（ＭＬＣではアッパーページのみ）となる。従って、最終使用済み物理ページＰＰｅからアッパーページのみを検索することで、最新の管理情報を迅速に見つけ出すことができる。単にその時点で最も近い過去に記憶された論理・物理アドレス変換テーブルを読み込みたい場合も、好適な処理となる。
【００６４】
＜５．論理・物理アドレス変換テーブルへの適用例＞
以上の実施の形態において、管理情報として論理・物理アドレス変換テーブルをアッパーページに記憶させる場合について説明する。
【００６５】
本実施の形態では、物理ブロックＰＢには、論理アドレスが非連続なホストデータを連続した物理ページＰＰに書き込むことを許容している。
【００６６】
従前の一般的な書込方式の１つとしては、物理ブロックＰＢ内に書き込むホストデータは、論理アドレスが連続になるようにする方式がある。このようにしておけば、次回、物理ブロックＰＢ内に書き込まれたホストデータの情報を取得する場合に、物理ブロックＰＢ内の最終使用済みの物理ページＰＰを見つけ出し、その物理ページＰＰの冗長エリアに書き込まれているホストデータの論理アドレス情報を読み出すことで、当該物理ブロックＰＢにどの範囲の論理アドレスのホストデータが記憶されているかがわかる。つまりそのようにすれば、制御部１１が当該物理ブロックＰＢについての論理アドレスと物理アドレスの対応関係を簡単に把握できる。
【００６７】
ただし、この方式の場合、物理ブロックＰＢに書きこむホストデータは常に論理アドレスが連続である必要があるため、ホスト装置２が非連続な論理アドレスのホストデータを書きこもうとした場合や、既に書込済みの或る論理アドレスのホストデータを更新する場合、物理ブロックＰＢを効率的に使用することができない。この場合、物理ブロックＰＢ内で論理アドレスが連続する状態となるように、ある物理ブロックＰＢｘから別の物理ブロックＰＢｙへホストデータをコピーするいわゆるガベージコレクションが多発し、デバイス寿命、および書込速度を著しく低下させてしまう。
【００６８】
別の書込方式として、物理ブロックＰＢには非連続な論理アドレスを持つホストデータを連続に書きこむことを許容する方式がある。
この場合、非シーケンシャルなホストデータの書込や、記憶済みの或る論理アドレスのホストデータの書換が要求されても、ガベージコレクションを行うことなく対応できる。つまり書込要求されたホストデータを、物理ブロックＰＢ内の最終使用済みの物理ページの次の物理ページＰＰに書き込めばよい。
ところが、この場合、制御部１１が、或る物理ブロックＰＢに記憶されているホストデータの論理アドレスと物理アドレスの対応関係を知るには、当該物理ブロックＰＢの全ての書込済みの物理ページＰＰを読み出し、各物理ページＰＰの冗長エリアに書きこまれている論理アドレスの情報を取得して、対応関係の情報（つまり論理・物理アドレス変換テーブル）を構築する必要がある。結果としてホストデータの書込速度、読出速度を著しく低下させてしまう。
【００６９】
本実施の形態では、物理ブロックＰＢには非連続な論理アドレスを持つホストデータを連続に書き込むことを許容する方式を用いている。これにより上記のガベージコレクションの機会を減少させるという利点を享受できる。
その上で、ホストデータの書込の際に、上述のように、次回の書込がロアーページから開始されるように、必要に応じて管理情報（ここでは論理・物理アドレス変換テーブル）を書き込むことで、論理・物理アドレス変換テーブルの生成・更新のための動作を効率的に短時間で実行できるようになる。
【００７０】
このために制御部１１は、物理ブロックＰＢ内で、最終使用済みの物理ページＰＰｅから先頭側の物理ページＰＰに向かって、順に、物理ページ内に論理・物理アドレス変換テーブルが記憶されているか否かの検索し、最初に発見された論理・物理アドレス変換テーブルを取得する処理を行う。そして取得した論理・物理アドレス変換テーブル及び論理・物理アドレス変換テーブルが記憶されていなかった物理ページＰＰの論理アドレス情報を用いて、論理・物理アドレス変換テーブルを更新する。
【００７１】
図１３Ａ、図１４Ａで論理・物理アドレス変換テーブルの例を説明する。
図１３Ａは、或る物理ブロックＰＢｘの各物理ページＰＰ０〜ＰＰ１５の記憶状態を示している。
仮に、１つの物理ページＰＰは、１６Ｋｂｙｔｅであるとする。またホストデータは４Ｋｂｙｔｅ単位で論理アドレスが付与されているとする。図の枠の中の数値は論理アドレス（ＬＢＡ）を示している。また（Ｌ）はロアーページ、（Ｕ）はアッパーページを示している。
【００７２】
この図の例は、この物理ブロックＰＢｘに対し、或る時点の書込要求により最初に物理ページＰＰ０に論理アドレス「１」「２」「３」「４」のホストデータが書き込まれたものである。その際、次の物理ページＰＰ１はロアーページであるので管理情報書込は行われていない。
次の書込要求では、同じく論理アドレス「１」「２」「３」「４」のホストデータが物理ページＰＰ１に書き込まれている。このときも次の物理ページＰＰ２はロアーページであるので管理情報書込は行われていない。
【００７３】
さらに次の書込要求で、論理アドレス「１０００」「１００１」「１００２」「１００３」のホストデータが物理ページＰＰ２に書き込まれている。このときも次の物理ページＰＰ３はロアーページであるので管理情報書込は行われていない。
さらに次の書込要求で、論理アドレス「３０００」〜「３０１１」のホストデータが物理ページＰＰ３〜ＰＰ５に書き込まれているが、このときも次の物理ページＰＰ６はロアーページであるので管理情報書込は行われていない。
【００７４】
その後、物理ページＰＰ６への論理アドレス「９」「１０」「１１」「１２」のホストデータ書込、物理ページＰＰ７への論理アドレス「１００」「１０１」「１０２」「１０３」のホストデータの更新書込が行われ、物理ページＰＰ８，ＰＰ９には管理情報ＭＧＴの書込が行われたとしている。
【００７５】
この図１３Ａの記憶状態に対応する論理・物理アドレス変換テーブルは、例えば図１４Ａのように、論理アドレス（ＬＢＡ）と物理ページＰＰ（Physical Page）を対応させたテーブルとなる。
例えば論理アドレス「１」を先頭とする論理アドレス「１」「２」「３」「４」の最新のホストデータが、物理ページＰＰ１に記憶されていることが示される。
また論理アドレス「９」を先頭とする論理アドレス「９」「１０」「１１」「１２」の最新のホストデータが、物理ページＰＰ６に記憶されていることが示される。
他も同様に、各論理アドレスの最新のホストデータが記憶された物理ページＰＰが示される。
【００７６】
このように論理・物理アドレス変換テーブルには、各物理ページＰＰと、その物理ページＰＰに記憶されたホストデータの論理アドレスとの対応関係を示す情報が記憶されることになる。
このような論理・物理アドレス変換テーブルが構築されることで、制御部１１は、ホスト機器２が論理アドレスで指定するホストデータが、物理ブロックＰＢｘにおいてどの物理ページＰＰに記憶されているかを把握できる。
説明上、論理・物理アドレス変換テーブルにエントリされた個々の対応情報を「論物対応データ」という。
【００７７】
なお、論理・物理アドレス変換テーブルとしては、図１４Ｂに示すように、さらに物理ブロックＰＢ（Physical Block）の番号も対応させてもよい。
管理情報ＭＧＴが記憶されるのは、ホストデータの記憶が完了した次の物理ページＰＰがロアーページでない場合であるため、或る物理ブロックＰＢｘの論理・物理アドレス変換テーブルが、必ずしも、その物理ブロックＰＢｘ内に記憶されるとは限らない。このための例えば物理ブロックＰＢｘの論理・物理アドレス変換テーブルを、他の物理ブロックＰＢｙの物理ページＰＰ内での管理情報書込機会に書き込むことを許容してもよい。そのような場合を考慮すれば、図１４Ｂのように、各論理アドレスに対応して、物理ブロックＰＢの番号と物理ページＰＰの番号を管理することが適切となる。
【００７８】
このように論理・物理アドレス変換テーブルを管理情報として物理ページＰＰに書き込む場合、制御部１１は、必要時に、以下のように最新の論理・物理アドレス変換テーブルを取得できる。
図１５は制御部１１による論理・物理アドレス変換テーブル読込処理を示している。制御部１１は、電源投入時や、上記図６のステップＦ１０２の処理の準備を行う時点、或いは他の任意の時点で、この図１５の論理・物理アドレス変換テーブル読込処理を行うことができる。
【００７９】
まず制御部１１はステップＦ３０１で、論理・物理アドレス変換テーブルを構築する対象の物理ブロックＰＢｘについて最終使用済み物理ページＰＰｅの検索を行う。例えば２分検索により最終使用済み物理ページＰＰｅを探す。図１３Ａの場合、最終使用済み物理ページＰＰｅは物理ページＰＰ９となる。
【００８０】
最終使用済み物理ページＰＰｅを発見したら、制御部１１はステップＦ３０２で、その最終使用済み物理ページＰＰｅの読出を実行し、記憶されているデータ内容を確認する。特には、最終使用済み物理ページＰＰｅに、論理・物理アドレス変換テーブルが含まれているか否かを確認する。
最終使用済み物理ページＰＰｅに論理・物理アドレス変換テーブルが記憶されていた場合、制御部１１はステップＦ３０３からＦ３０７に進み、当該論理・物理アドレス変換テーブルを取り込む。
【００８１】
例えば図１３Ａの場合、最終使用済み物理ページＰＰｅは物理ページＰＰ９であるが、ここの管理テーブルＭＧＴとして論理・物理アドレス変換テーブルが記憶されていたとする。
このような場合、制御部１１は図１３Ａの矢印Ｒとして示すように、検索された最終使用済み物理ページＰＰｅに記憶されていた論理・物理アドレス変換テーブルを取り込むことになる。
この最終使用済み物理ページＰＰｅに記憶されていた論理・物理アドレス変換テーブルは、その時点の当該物理ブロックＰＢｘに記憶された全てのホストデータについての論物対応データを含む最新のものである。
【００８２】
例えばデータ書込の際に図６のステップＦ１０２では、これから書き込もうとするホストデータについて、論物対応データを生成し、論理・物理アドレス変換テーブルにエントリする。データ書込の都度、図６のステップＦ１０２の処理が行われることで、例えば図１３Ａの物理ページＰＰ７へ論理アドレス「１００」「１０１」「１０２」「１０３」を書き込む際には、制御部１１がステップＦ１０２で更新した論理・物理アドレス変換テーブルは図１４Ａのようになっている。従って、物理ページＰＰ８，ＰＰ９に書き込まれた論理・物理アドレス変換テーブルは、物理ページＰＰ７までの論物対応データがエントリされた最新の状態となっている。
つまり、このように最終使用済み物理ページＰＰｅから論理・物理アドレス変換テーブルが読み込めた場合、最新の論理・物理アドレス変換テーブルが得られたことになる。
【００８３】
一方、最終使用済み物理ページＰＰｅに論理・物理アドレス変換テーブルが含まれていない場合、制御部１１はステップＦ３０３からＦ３０４に進み、その物理ページＰＰ（この場合最終使用済み物理ページＰＰｅ）に記憶されているホストデータの論理アドレスＬＢＡを確認して記憶する。
そして当該物理ページＰＰが対象の物理ブロックＰＢｘの先頭の物理ページＰＰ０でなければ、ステップＦ３０５からＦ３０６に進み、１つ前の物理ページＰＰの読出を行い、ステップＦ３０３で、その物理ページＰＰに論理・物理アドレス変換テーブルが記憶されているか否かを確認する。
【００８４】
もし、その物理ページＰＰにも論理・物理アドレス変換テーブルが記憶されていなければ、また制御部１１はステップＦ３０４で、その物理ページＰＰに記憶されているホストデータの論理アドレスＬＢＡを確認して記憶する。そして当該物理ページＰＰが対象の物理ブロックＰＢｘの先頭の物理ページＰＰ０でなければ、ステップＦ３０５からＦ３０６に進み、さらに１つ前の物理ページＰＰの読出を行い、ステップＦ３０３で、その物理ページＰＰに論理・物理アドレス変換テーブルが記憶されているか否かを確認する。
【００８５】
つまり、ステップＦ３０４→Ｆ３０５→Ｆ３０６→Ｆ３０３の処理は、最終使用済み物理ページＰＰｅから順番に前の物理ページＰＰをたぐって、各物理ページＰＰのホストデータの論理アドレスを記憶しながら、論理・物理アドレス変換テーブルが記憶されている物理ページＰＰを探し出す処理となる。
【００８６】
この過程で、或る物理ページＰＰに論理・物理アドレス変換テーブルが存在することを確認したら、制御部１１はステップＦ３０３からＦ３０７に進み、その物理ページＰＰから論理・物理アドレス変換テーブルを取り込む。そしてこの場合、取り込んだ論理・物理アドレス変換テーブルを最新状態に更新する。
【００８７】
例えば図１３Ｂでは、最終使用済み物理ページＰＰｅ＝物理ページＰＰ１０であって、この物理ページＰＰ１０には論理・物理アドレス変換テーブルが存在しない場合を示している。
この場合、矢印Ｓとして示すように１つ前の物理ページＰＰの確認を行っていく。この例では１つ前の物理ページＰＰ９に記憶された管理情報ＭＧＴに論理・物理アドレス変換テーブルが含まれていたとすると、矢印Ｒとして示すように物理ページＰＰ９から論理・物理アドレス変換テーブルを取り込むことになる。
【００８８】
このように最終使用済み物理ページＰＰｅ以外の物理ページＰＰに記憶されていた論理・物理アドレス変換テーブルは、その時点の当該物理ブロックＰＢｘに記憶された全てのホストデータについての論物対応データを含むものではない。例えばこの図１３Ｂの例では、取り込んだ論理・物理アドレス変換テーブルは、物理ページＰＰ１０についての論物対応データは含まれていない。
そこでステップＦ３０７では、この物理ページＰＰ１０についての論物対応データを論理・物理アドレス変換テーブルに反映させるように論理・物理アドレス変換テーブルの更新を行う。
これによって、最新の状態の論理・物理アドレス変換テーブルが得られる。この場合、最新の論理・物理アドレス変換テーブルは、図１４Ａの内容に物理ページＰＰ１０と論理アドレス「５」「６」「７」「８」を対応づける論物対応データを加えた図１４Ｃのようになる。
【００８９】
なお、ステップＦ３０５で先頭の物理ページＰＰ０であると判断される場合とは、当該物理ブロックＰＢｘには、どの物理ページＰＰにも論理・物理アドレス変換テーブルが記憶されていなかった場合である。
この場合制御部１１はステップＦ３０７で論理・物理アドレス変換テーブルを新たに構築することになる。
即ち最終使用済み物理ページＰＰｅから先頭の物理ページＰＰ０までの各物理ページＰＰについてステップＦ３０４で記憶した論理アドレスを用いて、各論理アドレスについての論物対応データを生成し、論理・物理アドレス変換テーブルを生成する。これによって、最新の状態の論理・物理アドレス変換テーブルが得られる。
【００９０】
例えば電源投入時や、データ書込の準備等のために論理・物理アドレス変換テーブルを取得することが必要な場合は、以上のように最新の論理・物理アドレス変換テーブルを取得すればよい。
特に、最終使用済み物理ページＰＰｅから論理・物理アドレス変換テーブルが発見できた場合は、論理・物理アドレス変換テーブルを読み込むだけでよい。また最終使用済み物理ページＰＰｅからさかのぼった物理ページＰＰで論理・物理アドレス変換テーブルが発見された場合は、読み込んだ論理・物理アドレス変換テーブルに、それまでの各物理ページＰＰの内容を反映させるように更新すればよい。
【００９１】
つまり本実施の形態の場合、論理・物理アドレス変換テーブルが管理情報ＭＧＴの１つとして書き込まれていることで、最新の論理・物理アドレス変換テーブルを得るために、全物理ページを探索しなければならない事態があまり生じず、最新の論理・物理アドレス変換テーブルの取得が迅速にできる場合が多くなるという利点が得られる。
特にホスト機器２からの書込要求として、細かいサイズのホストデータの書込が多い場合、アッパーページに論理・物理アドレス変換テーブルが書き込まれる可能性が高くなる。この場合、最新の論理・物理アドレス変換テーブルの迅速な読出に有利となる。
【００９２】
なお、書込要求に応じて上述の図６の処理が行われる場合は、ステップＦ１０２では、以上のように取得した最新の論理・物理アドレス変換テーブルに、今回書込を行うホストデータの内容を反映した更新を施せばよい。従って、論理・物理アドレス変換テーブルが管理情報として記憶されていることは、データ書込処理の効率化にも有効である。
【００９３】
また、論理・物理アドレス変換テーブルが物理ページＰＰに書き込まれ、上記のようにそれを読み出して最新の論理・物理アドレス変換テーブルを構築できるということは、途中電源遮断などの異常事態においても効率よく復帰を行うことができ、データの信頼性を高める事ができることにもなる。
【００９４】
＜６．変形例＞
以上、実施の形態について説明したが、実施の形態の構成、処理としては多様な変形例が考えられる。
【００９５】
実施の形態では主にＭＬＣ（狭義）の場合で説明したが、図５ＢのようなＴＬＣの場合も本開示の技術は適用できる。この場合、図６のステップＦ１０４の判断で「ロアーページではない」とは、アッパーページかミドルページの場合とすればよい。つまり次の物理ページＰＰがミドルページかアッパーページであれば、ステップＦ１０５で管理情報書込を行うようにする。
また図１１のステップＦ２０３、Ｆ２０５の「非ロアーページ」とはアッパーページ又はミドルページとすればよい。
つまりＴＬＣの場合、ロアーページに比べて、ミドルページ、アッパーページは書込速度が遅くなるため、ミドルページ、アッパーページを、管理情報の書込に用いるものとする。
【００９６】
また実施の形態では、制御部１１は、次回のデータ書込要求に応じたデータ書込がロアーページから開始されるように、ロアーページの直前の物理ページまで管理情報の書込を実行させるとしたが、必ずしも管理情報でなくてもよい。
例えばダミーデータ、ランダムデータや、通常ホスト機器２からは直接参照しないようなデータなどをアッパーページやミドルページに書き込んでもでもよい。即ち非ホストデータの書込を実行させればよい。その意味で図６のステップＦ１０５では、非ホストデータとして多様な情報もしくは意味の無いデータの書込を実行するものとしてもよい。
【００９７】
また実施の形態ではメモリカード１の例を挙げたが、不揮発性メモリ１５と、制御部１１が別体の構成の場合でも本開示の技術は適用可能である。
本開示の技術は、各種メモリカード、ＳＳＤ、ｅＭＭＣなどに適用できる。
【００９８】
なお本技術は以下のような構成も採ることができる。
（１）１つのメモリセルに２ビット以上の多値記憶が行われ、物理アドレスが設定される物理ページとして少なくとも多値記憶のための下位ページと上位ページを有し、各物理ページが物理アドレス順に使用されてデータ書込が行われる不揮発性メモリに対して、ホスト機器からのデータ書込要求に応じて、供給されたホストデータの書込制御を行うとともに、次回のデータ書込要求に応じたデータ書込が下位ページから開始されるように、下位ページの直前の物理ページまでデータ書込を実行させる制御部を備えた制御装置。
（２）上記制御部は、データ書込要求に応じたホストデータの書込が、下位ページの直前の物理ページに至らないで終了した場合は、下位ページの直前の物理ページまで、非ホストデータの書込を実行させる上記（１）に記載の制御装置。
（３）上記制御部は、データ書込要求に応じたホストデータの書込が、下位ページの直前の物理ページに至らないで終了した場合は、データ書込要求に対する書込完了を上記ホスト機器に通知した後に、下位ページの直前の物理ページまで、非ホストデータの書込を実行させる上記（１）又は（２）に記載の制御装置。
（４）上記非ホストデータは上記制御部が使用する管理情報である上記（２）又は（３）に記載の制御装置。
（５）上記制御部は、上記不揮発性メモリに対して、下位ページ以外の物理ページの検索を行って上記管理情報を読み出す制御を行う上記（４）に記載の制御装置。
（６）上記非ホストデータは、ホストデータの論理アドレスと上記不揮発性メモリ上の物理アドレスとの対応を示す論理・物理アドレス変換テーブルである上記（２）乃至（５）のいずれかに記載の制御装置。
（７）上記不揮発性メモリでは、複数の物理ページにより、物理ブロックが形成されており、
上記制御部は、
上記物理ブロック内で、最終使用済みの物理ページから先頭側の物理ページに向かって、順に、物理ページ内に上記論理・物理アドレス変換テーブルが記憶されているか否かを検索して、最初に発見された上記論理・物理アドレス変換テーブルを取得する処理を行い、
取得した論理・物理アドレス変換テーブル及び論理・物理アドレス変換テーブルが記憶されていなかった物理ページの論理アドレス情報を用いて、最新の論理・物理アドレス変換テーブルを取得する上記（６）に記載の制御装置。
（８）上記不揮発性メモリは多値ＮＡＮＤ型フラッシュメモリである上記（１）乃至（７）のいずれかに記載の制御装置。
【符号の説明】
【００９９】
１  メモリカード、２  ホスト機器、１１  制御部、１２  インターナルＲＡＭ、１３  デバイスインターフェース、１４  バッファＲＡＭ、１５  不揮発性メモリ
【図１】
0005929485.tif 000002
【図２】
0005929485.tif 000003
【図３】
0005929485.tif 000004
【図４】
0005929485.tif 000005
【図５】
0005929485.tif 000006
【図６】
0005929485.tif 000007
【図７】
0005929485.tif 000008
【図８】
0005929485.tif 000009
【図９】
0005929485.tif 000010
【図１０】
0005929485.tif 000011
【図１１】
0005929485.tif 000012
【図１２】
0005929485.tif 000013
【図１３】
0005929485.tif 000014
【図１４】
0005929485.tif 000015
【図１５】
0005929485.tif 000016