【手続補正書】
【提出日】平成26年1月24日(2014.1.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
書き込みおよび読み出しはページ単位で行われ、消去は複数のページを含むブロック単位で行われる不揮発性メモリを管理する管理部を備え、
前記管理部は、
前記不揮発性メモリを構成する複数の物理ブロックを、物理ブロックに対応する仮想ブロックを有する仮想領域と、前記仮想領域に含まれる物理ブロックのうちの不良が発生している物理ブロックを代替する代替ブロックを有する代替領域とに分け、
前記物理ブロックの管理、前記仮想ブロックの管理、および前記仮想領域に含まれる物理ブロックのうちのユーザデータを一時的に保持する物理ブロックである拡張ブロックの管理の３段階の管理単位で前記不揮発性メモリを管理し、
前記物理ブロックの管理に用いる第１管理情報と、前記仮想ブロックの管理に用いる第２管理情報と、前記拡張ブロックの管理に用いる第３管理情報とを、前記不揮発性メモリに書き込む、管理装置。
【請求項２】
前記管理部は、
前記仮想領域の一の物理ブロックに不良が生じている場合には、前記不良が生じている物理ブロックである不良ブロックと対応する仮想ブロックと、前記代替領域の一の代替ブロックとを対応付け、前記仮想ブロックと前記代替ブロックとの対応関係を示す情報を、前記第１管理情報として前記不揮発性メモリに書き込み、
前記第１管理情報を用いて前記物理ブロックの管理を行う、請求項１に記載の管理装置。
【請求項３】
前記代替領域は、前記代替ブロックと、前記第１管理情報が記憶される物理ブロックである第１管理ブロックとに分類され、
前記管理部は、前記第１管理ブロックへの前記第１管理情報の書き込みが完了した場合には、前記第１管理情報の書き込みが完了したことを示す第１完了情報を、前記第１管理ブロックに設定する、請求項２に記載の管理装置。
【請求項４】
前記管理部は、前記第１管理情報として、使用された代替ブロックのアドレスと前記代替ブロックと対応する前記仮想ブロックのアドレスとを対応付けた情報と、次に不良ブロックが発生した場合において割り当てる前記代替ブロックのアドレスと、代替された前記不良ブロックのアドレスとを書き込む、請求項２に記載の管理装置。
【請求項５】
複数の前記仮想ブロックから構成される前記仮想領域は、ユーザデータを記憶する物理ブロックであるユーザデータブロックと、前記拡張ブロックと、消去がされた物理ブロックである空きブロックと、前記第２管理情報が記憶される物理ブロックである第２管理ブロックとに分類され、
前記管理部は、
ユーザデータを、前記ユーザデータのアドレス空間を前記仮想ブロックのサイズ単位に分割した論理ブロックで管理し、
前記論理ブロックと前記仮想ブロックとの対応関係を示す第１変換情報と、前記拡張ブロックを示す情報とを、前記第２管理情報として前記第２管理ブロックに書き込み、
前記第２管理情報を用いて前記仮想ブロックの管理を行う、請求項１〜４のいずれか１項に記載の管理装置。
【請求項６】
前記管理部は、
前記第２管理情報として、前記第１変換情報と、前記拡張ブロックを示す情報としての前記拡張ブロックに割り当てられた仮想ブロックアドレスと、前記空きブロックのアドレスと、次に書き込みを行う仮想ブロックのアドレスと、消去を行う仮想ブロックのアドレスとを書き込み、
前記第２管理ブロックへの前記第２管理情報の書き込みが完了した場合には、前記第２管理情報の書き込みが完了したことを示す第２完了情報を、前記第２管理ブロックに設定し、
前記第２管理情報における前記消去を行う仮想ブロックのアドレスに基づいて、対応する仮想ブロックを消去する、請求項５に記載の管理装置。
【請求項７】
前記管理部は、前記第２管理ブロックに前記第２管理情報が記憶されているときに、前記第２管理情報を書き込む場合には、記憶されている第２管理情報と新たに書き込む第２管理情報との差分を示す差分情報を、前記第２管理ブロックに書き込む、請求項５に記載の管理装置。
【請求項８】
前記拡張ブロックは、
前記ユーザデータを前記ユーザデータブロックに記憶させる前に一時的に記憶する物理ブロックであるキャッシュブロックと、前記キャッシュブロックに記憶した前記ユーザデータを前記ユーザデータブロックに書き込む処理であるライトバック処理の途中の物理ブロックである第１途中ブロックと、静的ウェアレベリング処理の途中の物理ブロックである第２途中ブロックと、前記第３管理情報が記憶される物理ブロックである第３管理ブロックとに分類され、
前記管理部は、
前記論理ブロックと前記キャッシュブロックとの対応関係を示す第２変換情報と、前記キャッシュブロック、前記第１途中ブロック、および前記第２途中ブロックそれぞれを示す情報とを、前記第３管理情報として前記第３管理ブロックに書き込み、
前記第３管理情報を用いて前記拡張ブロックの管理を行う、請求項５に記載の管理装置。
【請求項９】
前記管理部は、
前記論理ブロックおよび前記キャッシュブロックそれぞれを、前記不揮発性メモリの最小書き込みサイズ以上、かつ前記仮想ブロックのサイズ未満のトランスレーションユニット単位に分割し、
前記第３管理情報として、前記論理ブロックのトランスレーションユニットと前記キャッシュブロックのトランスレーションユニットとの対応関係を示す第３変換情報をさらに前記不揮発性メモリに書き込む、請求項８に記載の管理装置。
【請求項１０】
前記管理部は、
前記第３管理ブロックへの前記第３管理情報の書き込みが完了した場合には、前記第３管理情報の書き込みが完了したことを示す第３完了情報を、前記第３管理ブロックに設定し、
前記第３管理情報の前記第２変換情報に基づいて、使用されている前記キャッシュブロックの数が所定の数に達したかを判定し、
所定の数に達したと判定した場合には、更新頻度が低い論理ブロックに対応するキャッシュブロック内のユーザデータに対するライトバック処理を行う、請求項８に記載の管理装置。
【請求項１１】
前記管理部は、
ＬＲＵ（Least  Recently  Used）制御を用いて前記ライトバック処理の対象となるキャッシュブロックを選択する、
または、
書き込みを行うユーザデータを論理ブロック単位に分割して、前記論理ブロック単位の書き込み回数を保持し、前記論理ブロック単位の書き込み回数が最小の論理ブロックに対応するキャッシュブロックを、前記ライトバック処理の対象となるキャッシュブロックとして選択する、請求項１０に記載の管理装置。
【請求項１２】
前記管理部は、
前記拡張ブロックへとデータを書き込むときにエラーが発生した場合には、
エラーが発生した前記拡張ブロックに書き込んだデータを保持し、
前記第２管理情報に記録された、次に書き込みを行う仮想ブロックのアドレスの情報に基づいて、対応する仮想ブロックに継続してデータを書き込み、
エラーが発生した前記拡張ブロックに書き込んだデータと、継続して書き込んだ前記仮想ブロックのデータとを用いて、前記ライトバック処理を行う、請求項８に記載の管理装置。
【請求項１３】
前記仮想領域では、前記ユーザデータブロックを構成する物理ブロックの数よりも、前記拡張ブロックを構成する物理ブロックの数の方が大きい、請求項５に記載の管理装置。
【請求項１４】
前記管理部は、前記拡張ブロックに書き込むユーザデータを、連続した論理アドレス順に書き込む、請求項８に記載の管理装置。
【請求項１５】
前記管理部は、
前記不揮発性メモリを構成する複数の物理ブロックを、複数の前記仮想領域と前記仮想領域に対応する複数の代替領域とに分けて管理し、
前記不揮発性メモリの管理を開始する場合には、特定の仮想領域に記憶された前記第２管理情報を読み出し、
読み出された前記第２管理情報に記録されている、他の仮想領域それぞれに対応する前記第２管理情報が記憶される場所の情報に基づいて、前記他の仮想領域それぞれに対応する前記第２管理情報を読み出す、請求項５に記載の管理装置。
【請求項１６】
前記管理部は、前記不揮発性メモリの管理を開始する場合には、
前記不揮発性メモリから前記第１管理情報、前記第２管理情報、および前記第３管理情報を読み出し、
読み出した前記第１管理情報に基づく書き込みエラーの判定と、読み出した前記第２管理情報に基づく書き込みエラーの判定と、読み出した前記第３管理情報および前記拡張ブロックにおける最終書き込み済みのページアドレスとに基づく書き込みエラーの判定と、をそれぞれ行うことによって、書き込みエラーを判定し、
書き込みエラーが発生したと判定した場合には、中断した書き込みまたは消去に対応する処理中のデータを無効なデータとし、前記不揮発性メモリを処理前の状態に復旧させる、請求項８に記載の管理装置。
【請求項１７】
前記管理部は、
１つの不揮発性メモリを管理する場合には、１つの仮想ブロックを複数の物理ブロックに対応付け、
複数の同種の不揮発性メモリを管理する場合には、１つの仮想ブロックを、複数の不揮発性メモリそれぞれの対応する物理ブロックに対応付ける、請求項１〜４のいずれか１項に記載の管理装置。
【請求項１８】
前記不揮発性メモリよりもデータの書き込み、読み出しをより高速に行うことが可能な記録媒体をさらに備え、
前記管理部は、
前記不揮発性メモリの管理を開始する場合には、前記不揮発性メモリに記憶された前記管理情報を前記不揮発性メモリから読み出して、読み出した前記管理情報を前記記録媒体に記録し、
前記記録媒体に記録した前記管理情報に基づいて、前記不揮発性メモリを管理する、請求項１〜４のいずれか１項に記載の管理装置。
【請求項１９】
前記不揮発性メモリをさらに備える、請求項１〜４のいずれか１項に記載の管理装置。
【請求項２０】
書き込みおよび読み出しはページ単位で行われ、消去は複数のページを含むブロック単位で行われる不揮発性メモリを管理するステップを有し、
前記管理するステップは、
前記不揮発性メモリを構成する複数の物理ブロックを、物理ブロックに対応する仮想ブロックを有する仮想領域と、前記仮想領域に含まれる物理ブロックのうちの不良が発生している物理ブロックを代替する代替ブロックを有する代替領域とに分け、
前記物理ブロックの管理、前記仮想ブロックの管理、および前記仮想領域に含まれる物理ブロックのうちのユーザデータを一時的に保持する物理ブロックである拡張ブロックの管理の３段階の管理単位で前記不揮発性メモリを管理し、
前記物理ブロックの管理に用いる第１管理情報と、前記仮想ブロックの管理に用いる第２管理情報と、前記拡張ブロックの管理に用いる第３管理情報とを、前記不揮発性メモリに書き込む、管理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
読み出し命令が伝達されると、ＶＭＢレイヤは、第２管理情報を参照し、ＰＭＢレイヤに読み出し命令を伝達する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００９２
【補正方法】変更
【補正の内容】
【００９２】
管理装置１００は、第３管理情報を用いることによって、例えば図１１のＥに示すように、論理ブロックＬＢとキャッシュブロックＥＣＢとの対応関係を管理する。また、管理装置１００は、第３管理情報を用いることによって、例えば図１１のＦに示すように、キャッシュブロックＥＣＢ、ライトバックブロックＥＷＢＢ、およびウェアレベリングブロックＥＷＬＢそれぞれが、どの拡張ブロックに対応するかを管理する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
管理装置１００は、例えば上記のような処理を行うことによって、拡張ブロックの管理を行う。なお、本発明の実施形態に係る管理装置１００における拡張ブロックの管理方法は、上記に限られない。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１６１
【補正方法】変更
【補正の内容】
【０１６１】
ステップＳ７０２の処理が行われると、管理装置１００は、特定された仮想ブロック内のＥＣＴＵからデータを読み出し（Ｓ７０４）、ステップＳ７００において取得されたＥＷＢＢに、データを書き込む（Ｓ７０６）。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１７４
【補正方法】変更
【補正の内容】
【０１７４】
また、ステップＳ９００においてキャッシュブロックＥＣＢの使用数が所定の数に達したと判定された場合には、管理装置１００は、キャッシュブロックＥＣＢ内のデータ格納状態がユーザデータブロックＶＵＢと同一のキャッシュブロックＥＣＢを、検索する（Ｓ９０２）。ここで、管理装置１００は、一の論理ブロックＬＢに割り当てられているキャッシュブロックＥＣＢが複数存在する場合には、例えば、より直近に書き込まれたキャッシュブロックＥＣＢを、検索対象とする。また、図２２では図示していないが、ステップＳ９０２において、データ格納状態がユーザデータブロックＶＵＢと同一のキャッシュブロックＥＣＢが検出されない場合には、管理装置１００は、例えば、図１８に示すステップＳ６０２からの処理を行う。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０２０９
【補正方法】変更
【補正の内容】
【０２０９】
入出力インタフェース１５８は、例えば、操作入力デバイス１６０や、表示デバイス１６２を接続する。操作入力デバイス１６０は、操作部（図示せず）として機能し、また、表示デバイス１６２は、表示部（図示せず）として機能する。ここで、入出力インタフェース１５８としては、例えば、ＵＳＢ（Universal  Serial  Bus）端子や、ＤＶＩ（Digital  Visual  Interface）端子、ＨＤＭＩ（High-Definition  Multimedia  Interface）端子、各種処理回路などが挙げられる。また、操作入力デバイス１６０は、例えば、管理装置１００上に備えられ、管理装置１００の内部で入出力インタフェース１５８と接続される。操作入力デバイス１６０としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられる。また、表示デバイス１６２は、例えば、管理装置１００上に備えられ、管理装置１００の内部で入出力インタフェース１５８と接続される。表示デバイス１６２としては、例えば、液晶ディスプレイ（Liquid  Crystal  Display；ＬＣＤ）や有機ＥＬディスプレイ（organic  ElectroLuminescence  display。または、ＯＬＥＤディスプレイ（Organic  Light  Emitting  Diode  display）ともよばれる。）などが挙げられる。なお、入出力インタフェース１５８が、管理装置１００の外部装置としての操作入力デバイス（例えば、キーボードやマウスなど）や表示デバイス（例えば、外部ディスプレイなど）と接続することも可能であることは、言うまでもない。また、表示デバイス１６２は、例えばタッチスクリーンなどのように、表示とユーザ操作とが可能なデバイスであってもよい。