(57)【要約】【課題】  フラッシュメモリのような特性を備える不揮発性メモリにデータを読み書きする場合、障害などで書き込み中に処理が中断されてしまうと書き込みが不完全になりデータが失われることがある。容易に書き換え直前のデータを復帰することが可能な不揮発性メモリを提供する。【解決手段】  書き換えおよび消去をブロック単位にアクセスする不揮発性メモリを管理するためのコントローラの制御方法であって、不揮発性メモリの、ある論理アドレスにデータを記憶する指示を受けると、空き状態の第１のブロックを選択後記録可能に消去し、論理アドレスに割り当てられた不揮発性メモリ上の第２のブロックを求め、第２のブロックに記憶されていたデータの書き換えを行った後の内容を第１のブロックに複写し、第１のブロックを論理アドレスに割り当てられているブロック、第２のブロックを空き状態とは別の最新の空き状態のブロックとして管理する。【選択図】  図８
2009087079.tif 000002
【特許請求の範囲】
【請求項１】
記憶したデータの読み出しを所定の記憶容量を持つページを単位とし、書き換えおよび消去を、このページを複数まとめたブロックを単位としてアクセスする不揮発性メモリと、
前記不揮発性メモリの、ある論理アドレスにデータを記憶する指示を受けると、空き状態の第１のブロックを選択後記録可能に消去し、該論理アドレスに割り当てられた該不揮発性メモリ上の第２のブロックを求め、第２のブロックに記憶されていたデータの書き換えを行った後の内容を前記第１のブロックに複写するとともに前記第１のブロックを該論理アドレスに割り当てられているブロックと認識し、前記第２のブロックの状態を、前記空き状態とは別の最新の空き状態として管理するコントローラと
を備えたことを特徴とするメモリシステム。
【請求項２】
前記コントローラは、
前記第２のブロックの状態を最新の空き状態に変更する際、前記論理アドレスに割り当てられていたその以前に存在する最新の空き状態のブロックを、空き状態に変更することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記コントローラは、
ある論理アドレスのデータの変更を取り消す指示を受けると、該論理アドレスに割り当てられた該不揮発性メモリ上の最新の空き状態のブロックを求め、空き状態の第１のブロックを選択後記録可能に消去し、前記最新の空き状態のブロックに記録されていたデータを前記第１のブロックに複写するとともに前記第１のブロックを該論理アドレスに割り当てられているブロックと認識し、このときに該論理アドレスに割り当てられていたブロックの状態を最新の空き状態として管理することを特徴とする、請求項１に記載のメモリシステム。
【請求項４】
記憶したデータの読み出しを所定の記憶容量を持つページを単位とし、書き換えおよび消去を、このページを複数まとめたブロックを単位としてアクセスする不揮発性メモリを管理するためのコントローラの制御方法であって、
前記不揮発性メモリの、ある論理アドレスにデータを記憶する指示を受けると、空き状態の第１のブロックを選択後記録可能に消去し、
該論理アドレスに割り当てられた該不揮発性メモリ上の第２のブロックを求め、
第２のブロックに記憶されていたデータの書き換えを行った後の内容を前記第１のブロックに複写し、
前記第１のブロックを該論理アドレスに割り当てられているブロック、前記第２のブロックを前記空き状態とは別の最新の空き状態のブロックとして管理する
ことを特徴とするメモリの制御方法。
【請求項５】
前記コントローラは前記第２のブロックの状態を最新の空き状態に変更する際、前記論理アドレスに割り当てられていたその以前に存在する最新の空き状態のブロックを、空き状態に変更することを特徴とする、請求項４に記載のメモリの制御方法。
【請求項６】
前記コントローラはさらに、ある論理アドレスのデータの変更を取り消す指示を受けた場合、
該論理アドレスに割り当てられた該不揮発性メモリ上の最新の空き状態のブロックを求め、
空き状態の第１のブロックを選択後記録可能に消去し、
前記最新の空き状態のブロックに記録されていたデータを前記第１のブロックに複写し、
前記第１のブロックを該論理アドレスに割り当てられているブロック、このときに該論理アドレスに割り当てられていたブロックを最新の空き状態のブロックとして管理する
ことを特徴とする請求項４に記載のメモリの管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリおよびその記憶方法に関し、特にフラッシュメモリのような特性を備える不揮発性メモリの記憶方法に関する。
【背景技術】
【０００２】
携帯機器で扱うコンテンツの増加や、半導体メモリの低価格化により不揮発性メモリの需要が高まっている。不揮発性を備えた半導体メモリとしてフラッシュメモリが挙げられるが、このメモリは所定の大きさを持つページ単位での読み書きが可能だが、一旦書いたデータを書き換える場合には複数のページから構成されるブロック単位で消去してから書き換えた後のデータを新たに書き込む必要がある。このようにデータの書き換えに複数の手順を要することから、メモリへのデータの書き込み中に中断されるようなことがあると、データの復帰が難しい場合がある。
【０００３】
このためたとえば冗長領域に、そのブロックが有効／無効を示すフラグと、データ復元のための新旧判定用のカウンタを設ける不揮発性メモリの制御方法が提案されている（特許文献１を参照）。この場合、カウンタの桁あふれを防止することを考えると、十分な桁数を確保しなければならず保持する冗長データ量も大きくなければならない。
【特許文献１】特開２００３−１５９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
フラッシュメモリのような特性を備える不揮発性メモリにデータを読み書きする場合、障害などで書き込み中に処理が中断されてしまうと書き込みが不完全になりデータが失われることがある。
【０００５】
本発明は上記事情を鑑みてなされたもので、容易に書き換え直前のデータを復帰することが可能な不揮発性メモリを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明にかかるメモリシステムとすれば、
記憶したデータの読み出しを所定の記憶容量を持つページを単位とし、書き換えおよび消去を、このページを複数まとめたブロックを単位としてアクセスする不揮発性メモリと、前記不揮発性メモリの、ある論理アドレスにデータを記憶する指示を受けると、空き状態の第１のブロックを選択後記録可能に消去し、該論理アドレスに割り当てられた該不揮発性メモリ上の第２のブロックを求め、第２のブロックに記憶されていたデータの書き換えを行った後の内容を前記第１のブロックに複写するとともに前記第１のブロックを該論理アドレスに割り当てられているブロックと認識し、前記第２のブロックの状態を、前記空き状態とは別の最新の空き状態として管理するコントローラとを備えたことを特徴とするメモリシステムが提供される。
【０００７】
また。本発明にかかるメモリの管理方法は、
記憶したデータの読み出しを所定の記憶容量を持つページを単位とし、書き換えおよび消去を、このページを複数まとめたブロックを単位としてアクセスする不揮発性メモリを管理するためのコントローラの制御方法であって、前記不揮発性メモリの、ある論理アドレスにデータを記憶する指示を受けると、空き状態の第１のブロックを選択後記録可能に消去し、該論理アドレスに割り当てられた該不揮発性メモリ上の第２のブロックを求め、第２のブロックに記憶されていたデータの書き換えを行った後の内容を前記第１のブロックに複写し、前記第１のブロックを該論理アドレスに割り当てられているブロック、前記第２のブロックを前記空き状態とは別の最新の空き状態のブロックとして管理することを特徴とする。
【発明の効果】
【０００８】
容易に書き換え直前のデータを復帰することが可能な不揮発性メモリを提供する。
【発明を実施するための最良の形態】
【０００９】
図１は、本実施形態にかかる情報処理装置の一例を示す図である。図１には、ＣＰＵ１００、メインメモリ１０１、不揮発性メモリ１０２、コントローラ１０３および内部バス１０４が示されている。
【００１０】
ＣＰＵ１００は、外部から与えられるプログラムコードを解釈し、演算処理やデータの入出力処理を実行する機能を有する。
【００１１】
メインメモリ１０１は、半導体メモリから構成され、例えばＣＰＵ１００が各種処理を実行する際の作業域として使用される、比較的高速な即時書き込み可能なメモリである。
【００１２】
不揮発性メモリ１０２は、たとえばフラッシュメモリから構成され、一度記憶したデータは電源が切られても保持されるメモリである。大容量のメモリを得やすい半面、データの記憶に一定の手順が必要となる性質を持つ。
【００１３】
コントローラ１０３は、不揮発性メモリ１０２へのデータの読み書きを制御する機能を有する。不揮発性メモリ１０２は任意の物理アドレスへの逐次書き込みが出来ないのが普通である。ＣＰＵ１００はコントローラ１０３を介することでリニアなアドレス空間があるように不揮発性メモリ１０２の読み書きをすることができるようになる。
【００１４】
内部バス１０４は、情報処理装置内の各構成を接続し、互いにデータの授受を実現する機能を有する。
【００１５】
図２は、本実施形態にかかるメモリシステムの一例を示す図である。図２には、さらにブロック２００、ページ２０１、冗長領域２０２、データバッファ２０３およびステータスレジスタ２０４が示されている。
【００１６】
ブロック２００は、不揮発性メモリ１０２の記憶領域を所定の記憶容量サイズに分割したもので、記憶したデータの消去はこのブロック単位で行う必要がある。この消去にはブロック消去コマンドが用意されており、このコマンドを使用するとたとえば当該ブロックの全領域のデータが強制的に0xFFに設定される。
【００１７】
ページ２０１は、ブロック２００の中に複数存在し、これがデータアクセスの最小単位となる。通常は５１２バイトまたは２Ｋバイトといった大きさが与えられる。
【００１８】
冗長領域２０２は、ページ２０１ごとにブロック２００の中に設けられる。ここには主に管理情報が格納される。通常、ページサイズが５１２バイトの場合は１６バイト、２Ｋバイトの場合は６４バイトが与えられる。
【００１９】
データバッファ２０３は、不揮発性メモリ１０２のデータアクセスの単位がページ２０１の大きさであることから、たとえばあるページを読み出したら一旦ここに記憶しておけばシリアルな読み出しを実現することができる。
【００２０】
ステータスレジスタ２０４は、不揮発性メモリ１０２の各種状態を記憶しており、ＣＰＵ１００などから適宜読み出すことが可能である。
【００２１】
図３は、アドレス変換機構の概念を示す図である。アドレス変換機構は、論理／物理変換テーブル３００に基づき、ＣＰＵ１００が認識する論理アドレスと、実体である不揮発性メモリ１０２の物理アドレスとを読み替える機能を有する。不揮発性メモリ１０２はデータの書き換えに回数制限があり、所定回数書き換えを行うとそれ以降は使用できないという性質がある。このため不揮発性メモリ１０２を使用する場合にはアドレス変換機能を持つアドレス変換機構を必要とするのが普通である。本実施形態ではブロックの状態に関わらず、論理アドレスと物理アドレスの変換が行われる。論理／物理変換テーブル３００は、メインメモリ１０１やコントローラ１０３のメモリ上に確保されている。コントローラ１０３上に確保した場合には、不揮発性メモリ１０２とともに持ち歩くことで、着脱可能なメモリカードを構成できる。
【００２２】
例では論理ブロック０番地は物理ブロック３番地と対応しており、ＣＰＵ１００が論理ブロック０番地をアクセスすると、不揮発性メモリ１０２のブロック３番地がアクセスされる。論理ブロック２番地については不揮発性メモリ１０２上に割り当てられていない（NO_ASSIGN）ことを意味する。
【００２３】
このアドレス変換機構によって、たとえ不揮発性メモリ１０２のいずれかの物理ブロックが使用できなくなっても、論理／物理アドレス変換テーブル３００の対応関係を修正するだけでＣＰＵ１００は物理ブロックの状態を意識することなくデータにアクセスすることができる。
【００２４】
図４は、従来方式の物理ブロックの状態遷移の概念を示す図である。図４では３つのステータスが定義されている。
【００２５】
・状態Ｐ０１（Ｅｒａｓｅ）
・状態Ｐ０２（Ｃｌｅａｎ）
・状態Ｐ０３（Ａｓｓｉｇｎ）
それぞれの状態は次の通り。
【００２６】
・状態Ｐ０１：アプリケーションからそのブロックに格納されたデータが見えない状態である。実際にはそのブロックのページにはデータが記憶されたままだが、論理アドレスに対応しておらず実質消去されているのと等価な状態である。
【００２７】
・状態Ｐ０２：消去されページ中に有効なデータが無い状態である。ブロック消去コマンドを実行することでこの状態となる。この状態のブロックは論理アドレスに割り当てられることはない。
【００２８】
・状態Ｐ０３：有効なデータが格納されており、そのブロックがアプリケーションから見えるように論理ブロックに割り当てられている状態である。
【００２９】
一つのブロックの状態遷移を見ると、Ｐ０１→Ｐ０２→Ｐ０３→Ｐ０１→・・・のように遷移させることでデータの書き換えが行われることが分かる。
【００３０】
図５は、従来方式の冗長領域２０２に格納される情報の一例を示す図である。そのページが含まれるブロックのステータスを表すためのＥｒａｓｅフラグ領域、論理アドレス領域、バージョン番号領域などが確保されている。
【００３１】
Ｅｒａｓｅフラグ領域と、論理アドレス領域の値の組み合わせで、そのページの状態を表す。
【００３２】
・状態Ｐ０１：Ｅｒａｓｅフラグ領域が０ｘ００であれば、この状態とみなされる。
【００３３】
・状態Ｐ０２：Ｅｒａｓｅフラグ領域が０ｘＦＦであって、論理アドレスが確定していない状態（０ｘＦＦ）ならば、この状態と判断される。
【００３４】
・状態Ｐ０３：Ｅｒａｓｅフラグ領域が０ｘＦＦであって、論理アドレスに有効なアドレスが格納されていれば、有効なデータが格納されているページと判断される。
【００３５】
バージョン番号は、そのブロックの書き換えが行われる度に、たとえばインクリメントされるカウンタであり、何らかの理由で状態Ｐ０３が重複して存在してしまった場合などに、このバージョン番号を元に正しい方を判定することができる。
【００３６】
図６は、従来方式の物理ブロックの更新フローの一例を示す図であり、図７は、従来方式の物理ブロックの更新処理の模式図である。以降、図６の動作を図７の模式図と併せて説明する。
【００３７】
まず、更新データを書き込むブロックとして、Ｅｒａｓｅ状態のブロックを選択する（ステップＳ０１）。
【００３８】
つぎに、そのブロックを書き込める状態であるＣｒｅａｎ状態にする（ステップＳ０２：図（ａ））。
【００３９】
つぎに、もともとのデータが書き込まれていたブロックから、書き換え部分のページよりも前のページをコピーする（ステップＳ０３：図（ｂ））。
【００４０】
つぎに、書き換えた後のページのデータをページ単位で書き込む（ステップＳ０４：図（ｃ））。
【００４１】
つぎに、書き換えたページ以降のページをコピーする（ステップＳ０５：図（ｄ））。
【００４２】
つぎに、元のページのバージョン番号をたとえばインクリメントし、冗長領域２０２に設定して書き込んでから（ステップＳ０７）、最後に元のブロックの状態をＥｒａｓｅ状態にする（ステップＳ０８：図（ｅ））。
【００４３】
上述した従来方式では、更新フローが正常に処理されるとメモリ内容を直前の状態に戻したい場合に、必ずしも復帰できるとは限らない。たとえば、Ｅｒａｓｅ状態のブロックは依然としてデータを保持しているから復帰することは出来るかも知れないが、更新処理が進むとＥｒａｓｅ状態のブロックが増え、どれを復帰させればよいか分からない。また、バージョン番号から直前のブロックを知ることができる場合もあるが、バージョン番号を格納するカウンタの桁数を越える更新が行われると同一のバージョン番号が残ったままのＥｒａｓｅ状態のブロックが存在する可能性がある。無論カウンタの桁数を増やせば、有限長の冗長領域２０２を侵食し、他の有益な情報を格納することが出来なくなる恐れがある。
【００４４】
一方、Ｅｒａｓｅ状態で保持しておくことをせずＣｌｅａｎ状態にしてしまうと冗長領域２０２の内容も失われるため、冗長領域に履歴情報、たとえばフラッシュメモリの書き込み制限を回避するために記憶する情報なども保持しておくことが出来ない。
【００４５】
図８は、本実施形態にかかる物理ブロックの状態遷移の概念を示す図である。従来の状態遷移と比較すると、ＬａｓｔＥｒａｓｅ状態（Ｐ０４）が追加されている。
【００４６】
状態Ｐ０４は、アプリケーションからそのブロックに格納されたデータは見えない状態だが、実際にはそのブロックのページにはデータが記憶されたままであり、ブロックの状態は状態Ｐ０１（Ｅｒａｓｅ状態）と同様である。しかしながら、当該論理ブロックが新たに状態Ｐ０４の物理ブロックが作成されると、状態Ｐ０１に遷移する。また、状態Ｐ０４にある物理ブロックが復元されると、状態Ｐ０３（Ａｓｓｉｇｎ）に遷移するという性質を備えている。
【００４７】
一つのブロックの状態遷移を見ると、Ｐ０１→Ｐ０２→Ｐ０３→Ｐ０４まで遷移すると、その後の状況判断で→Ｐ０１あるいは→Ｐ０３に遷移することが分かる。
【００４８】
図９は、本実施形態の冗長領域２０２に格納される情報の一例を示す図である。Ｅｒａｓｅフラグ領域、論理アドレス領域、バージョン番号領域などが確保されている。
【００４９】
Ｅｒａｓｅフラグ領域と、論理アドレス領域の値の組み合わせが増えている。
【００５０】
・状態Ｐ０１：Ｅｒａｓｅフラグ領域が０ｘ００であれば、この状態とみなされる。
【００５１】
・状態Ｐ０２：Ｅｒａｓｅフラグ領域が０ｘＦＦであって、論理アドレスが確定していない状態（０ｘＦＦ）ならば、この状態と判断される。
【００５２】
・状態Ｐ０３：Ｅｒａｓｅフラグ領域が０ｘＦＦであって、論理アドレスに有効なアドレスが格納されていれば、有効なデータが格納されているページと判断される。
【００５３】
・状態Ｐ０４：Ｅｒａｓｅフラグ領域が０ｘ０Ｆであれば、その論理アドレスに対応する書き換え前の有効なデータが格納されているページと判断される。
【００５４】
状態Ｐ０４（ＬａｓｔＥｒａｓｅ状態）から状態Ｐ０１（Ｅｒａｓｅ状態）に遷移させるには、Ｅｒａｓｅフラグ領域の下位４ビットをゼロにするだけで良く、状態Ｐ０１、Ｐ０２の遷移を経ることなく設定可能である。ここではビットを１からゼロには上書き可能な不揮発性メモリを想定している。
【００５５】
図１０は、本実施形態にかかるＬａｓｔＥｒａｓｅ管理テーブル１０００の一例を示す図である。ＬａｓｔＥｒａｓｅ状態の物理ブロックは論理ブロックのそれぞれに１つだけ存在を許されるので、この管理テーブルは論理ブロックごとにＬａｓｔＥｒａｓｅ状態の物理ブロックの番号を保持するように構成されている。もちろんＬａｓｔＥｒａｓｅ状態の物理ブロックを持たない論理ブロックも有り得ることから、存在しない（ＮＯ＿ＡＳＳＩＧＮ）という情報も持つことができる。ＬａｓｔＥｒａｓｅ管理テーブル１０００は、メインメモリ１０１やコントローラ１０３のメモリ上に確保されている。
【００５６】
ＬａｓｔＥｒａｓｅ状態のブロックと、この管理テーブルを持つことで、論理ブロックごとの更新一つ前のデータを保持しておくことが可能となる。好適には、ＬａｓｔＥｒａｓｅ状態のブロックを１つに限定しておくと障害が発生した場合などＬａｓｔＥｒａｓｅ状態のブロックが２つまで存在する可能性があるが、２つまでであればこのときにカウンタの桁あふれが重なったとしてもどちらのＬａｓｔＥｒａｓｅ状態のブロックが最新なのか判別が可能になる。
【００５７】
図１１は、本実施形態にかかる物理ブロックの更新フローの一例を示す図であり、図１２は、本実施形態にかかる物理ブロックの更新処理の模式図である。以降、図１１の動作を図１２の模式図と併せて説明する。
【００５８】
まず、更新データを書き込むブロックとして、Ｅｒａｓｅ状態のブロックを選択する（ステップＳ０１）。
【００５９】
つぎに、そのブロックを書き込める状態であるＣｒｅａｎ状態にする（ステップＳ０２：図（ａ））。
【００６０】
つぎに、もともとのデータが書き込まれていたブロックから、書き換え部分のページよりも前のページをコピーする（ステップＳ０３：図（ｂ））。
【００６１】
つぎに、書き換えた後のページのデータをページ単位で書き込む（ステップＳ０４：図（ｃ））。
【００６２】
つぎに、書き換えたページ以降のページをコピーする（ステップＳ０５：図（ｄ））。
【００６３】
つぎに、元のページのバージョン番号をたとえばインクリメントし、冗長領域２０２に設定して書き込む（ステップＳ０７）。
【００６４】
つぎに、元のブロックの状態をＬａｓｔＥｒａｓｅ状態にする（ステップＳ１０：図（ｅ））とともに、一つ前の世代のブロック（その論理ブロックに対してＬａｓｔＥｒａｓｅ状態だったブロック）をＥｒａｓｅ状態にする（ステップＳ１１：図（ｅ））。
【００６５】
このように構成すると、ＬａｓｔＥｒａｓｅ状態を加えることで、常に更新一つ前のブロックのデータを保持したまま、かつ容易に管理することが可能となる。
【００６６】
図１３は、本実施形態にかかる物理ブロックの復帰フローの一例を示す図である。この動作は、たとえば正常にブロックの書き換えが行われた場合に、その操作を取り消して直前の状態に復帰したいときに行うものである。
【００６７】
まず、ＬａｓｔＥｒａｓｅ管理テーブル１０００を参照して、当該論理ブロックのＬａｓｔＥｒａｓｅ状態の物理ブロックの有無を調べる（ステップＳ２０）。
【００６８】
ＬａｓｔＥｒａｓｅ状態のブロックが無い場合（ステップＳ２１でＮｏ）、復帰可能なデータのブロックが存在しないためエラー処理を行い一連の処理を終了する（ステップＳ２２）。
【００６９】
一方、ＬａｓｔＥｒａｓｅ状態のブロックが有る場合（ステップＳ２１でＹｅｓ）、復元先の物理ブロックを割り当て、そのブロックをＣｌｅａｎ状態にする（ステップＳ２３：図（ａ））。
【００７０】
つぎに、ＬａｓｔＥｒａｓｅ状態のブロックのページのデータを、Ｃｌｅａｎ状態のブロックにコピーした後、コピー後のブロックをＡｓｓｉｇｎ状態にする（ステップＳ２４：図（ｂ））。
【００７１】
つぎに、ＬａｓｔＥｒａｓｅ状態にあったブロックをＥｒａｓｅ状態に遷移させる（ステップＳ２５：図（ｃ））。
【００７２】
つぎに、論理／物理変換テーブル３００を参照し、その当該論理ブロックに有効なデータを保持する物理ブロックが存在するか否かを調べる（ステップＳ２６）。
【００７３】
有効な物理ブロックが存在する場合（ステップＳ２７でＹｅｓ）、存在した物理ブロック、つまりＡｓｓｉｎｇ状態のブロックをＬａｓｔＥｒａｓｅ状態に遷移させ（ステップＳ２８：図（ｄ））、このＬａｓｔＥｒａｓｅ状態のブロックをＬａｓｔＥｒａｓｅ管理テーブル１０００に登録する（ステップＳ２９）。
【００７４】
つぎに、ステップＳ２７で有効な物理ブロックが存在しなかった場合（Ｎｏ）も含め、データを復帰した物理ブロックを、当該論理ブロックと対応付けるために論理／物理変換テーブル３００に登録する（ステップＳ３０）。
【００７５】
このように構成すると、更新処理を復帰したい場合でもＬａｓｔＥｒａｓｅ状態のブロックに保持したデータを戻すことで、容易に更新前に復帰することが可能となる。
【００７６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００７７】
【図１】本実施形態にかかる情報処理装置の一例を示す図である。
【図２】本実施形態にかかるメモリシステムの一例を示す図である。
【図３】アドレス変換機構の概念を示す図である。
【図４】従来方式の物理ブロックの状態遷移の概念を示す図である。
【図５】従来方式の冗長領域に格納される情報の一例を示す図である。
【図６】従来方式の物理ブロックの更新フローの一例を示す図である。
【図７】従来方式の物理ブロックの更新処理の模式図である。
【図８】本実施形態にかかる物理ブロックの状態遷移の概念を示す図である。
【図９】本実施形態にかかる冗長領域に格納される情報の一例を示す図である。
【図１０】本実施形態にかかるＬａｓｔＥｒａｓｅ管理テーブルの一例を示す図である。
【図１１】本実施形態にかかる物理ブロックの更新フローの一例を示す図である。
【図１２】本実施形態にかかる物理ブロックの更新処理の模式図である。
【図１３】本実施形態にかかる物理ブロックの復帰フローの一例を示す図である。
【図１４】本実施形態にかかる物理ブロックの復帰処理の模式図である。
【符号の説明】
【００７８】
１００・・・ＣＰＵ、１０１・・・メインメモリ、１０２・・・不揮発性メモリ、１０３・・・コントローラ、１０４・・・内部バス、２００・・・ブロック、２０１・・・ページ、２０２・・・冗長領域、２０３・・・データバッファ、２０４・・・ステータスレジスタ、３００・・・論理／物理変換テーブル、１０００・・・ＬａｓｔＥｒａｓｅ管理テーブル
【図１】
2009087079.tif 000003
【図２】
2009087079.tif 000004
【図３】
2009087079.tif 000005
【図４】
2009087079.tif 000006
【図５】
2009087079.tif 000007
【図６】
2009087079.tif 000008
【図７】
2009087079.tif 000009
【図８】
2009087079.tif 000010
【図９】
2009087079.tif 000011
【図１０】
2009087079.tif 000012
【図１１】
2009087079.tif 000013
【図１２】
2009087079.tif 000014
【図１３】
2009087079.tif 000015
【図１４】
2009087079.tif 000016