(57)【要約】【課題】メモリの負担軽減化を図ることができる記憶装置を提供すること。【解決手段】制御部４６は、ユーザデータをユーザデータ用ブロックに書き込みを開始する時、管理用ブロックの第１ページに第１フラグを書き込み、ユーザデータの書き込みが終了した場合に、第１ページとは異なる第２ページに第２フラグを書き込む。制御部４６は、第１ページ及び第２ページにそれぞれ第１フラグと第２フラグが書き込まれている場合には、当該第１フラグに対応するユーザデータがユーザデータ用ブロックに正常に書き込まれていると判断して、当該ユーザデータが書き込まれているブロックに対して消去処理を行わず、第１ページには第１フラグが書き込まれているものの、第２ページには第２フラグが書き込まれていない場合には、当該第１フラグに対応するユーザデータがユーザデータ用ブロックに正常に書き込まれていないと推定する。【選択図】図２
2011175428.tif 000002
【特許請求の範囲】
【請求項１】
所定数のページからなるブロックを複数個有し、データの読み出し及び書き込みをページ単位で受け付け、データの消去をブロック単位で受け付ける不揮発性メモリと、
前記不揮発性メモリに対して、データの読み出し、書き込み及び消去を行う制御部を備え、
前記不揮発性メモリのブロックは、ユーザデータを記憶する複数のユーザデータ用ブロックと、当該ユーザデータ用ブロックを管理する複数の管理用ブロックによって構成され、
前記制御部は、ユーザデータを前記ユーザデータ用ブロックに書き込みを開始する時、前記管理用ブロックの第１ページに前記ユーザデータに対応する第１フラグを書き込み、当該ユーザデータの書き込みが終了した場合に、前記第１ページとは異なる前記管理用ブロックの第２ページに当該ユーザデータに対応する第２フラグを書き込み、
前記第１ページ及び前記第２ページにそれぞれ第１フラグと第２フラグが書き込まれている場合には、当該ユーザデータが前記ユーザデータ用ブロックに正常に書き込まれていると判断して、当該ユーザデータが書き込まれているブロックに対して消去処理を行わず、
前記第１ページには第１フラグが書き込まれているものの、前記第２ページには第２フラグが書き込まれていない場合には、当該ユーザデータが前記ユーザデータ用ブロックに正常に書き込まれていないと推定する記憶装置。
【請求項２】
請求項１記載の記憶装置であって、
前記第２ページは、前記第１ページの次のページである記憶装置。
【請求項３】
請求項１記載の記憶装置であって、
前記制御部は、所定の期間又は前記不揮発性メモリの各ブロックの使用頻度に基づいて、一のブロックに書き込まれているデータを他のブロックに移動する処理を行う記憶装置。
【請求項４】
請求項１記載の記憶装置であって、
前記第２ページには、データが書き込まれる前においては、予め規定値が書き込まれており、
前記制御部は、前記第２ページの一部に前記第２フラグを書き込む場合、当該第２フラグが書き込まれる領域以外の領域に前記規定値以外の値を書き込み、前記第１ページには第１フラグが書き込まれているものの、前記第２ページには第２フラグが書き込まれていない場合には、当該第１フラグに対応するユーザデータが前記ユーザデータ用ブロックに正常に書き込まれていないと推定した上で、前記第２ページの第２フラグが書き込まれる領域以外の所定領域に前記規定値が書き込まれているかどうかを判定し、
前記所定領域に前記規定値が書き込まれていると判定した場合には、前記第１フラグに対応するユーザデータが正常に書き込まれていないと判断し、
前記所定領域に前記規定値が書き込まれていないと判定した場合には、前記第１フラグに対応するユーザデータが正常に書き込まれていると判断し、当該ユーザデータが書き込まれているブロックに対して消去処理を行わない記憶装置。
【請求項５】
請求項４に記載の記憶装置であって、
前記制御部は、前記第２ページに前記規定値が書き込まれていると判定した場合には、前記第１フラグに対応するユーザデータが正常に書き込まれていないと判断し、その後、ユーザデータ用ブロックに対して所定回数前記ユーザデータの読み出しを行い、
前記所定回数以内に前記ユーザデータを有意なデータとして読み出せた場合には、当該ユーザデータが書き込まれているブロックに対して消去処理を行わず、
前記所定回数以内に前記ユーザデータを有意なデータとして読み出せない場合には、当該ユーザデータが書き込まれているブロックに対して消去処理を行う記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き換え可能なメモリを有する記憶装置に関する。
【背景技術】
【０００２】
近年、電子機器の不揮発性メモリとしてフラッシュメモリが市場に流通している。このフラッシュメモリは、近年大容量化が著しく進み、例えば、携帯電話機等に用いられている（例えば、特許文献１を参照）。
【０００３】
ところで、フラッシュメモリは、ページという単位でデータの書き込み及び読み出しが行われ、また、複数のページから構成されるブロックという単位でデータの消去が行われる。ところで、フラッシュメモリは、物理的な不良等によって、一部のページが使用できなくなることがある。具体的には、フラッシュメモリは、ページの一部がビット化けを起こしてしまうと、正確なデータの読み出し及び書き込みができなくなる問題がある。
【０００４】
この問題に対して、例えば、ビット化けを起こしたページが生じた場合、当該ページを有するブロックのデータを予備ブロックへコピーして、コピー元のブロックをリセット消去する技術等が広く知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−１６１８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した技術では、ビット化けを起こしたページを有するブロックのデータは、全て予備ブロックへコピーされてしまい、予備ブロックを大量に消費してしまう問題がある。
【０００７】
本発明では、メモリの負担軽減化を図ることができる記憶装置を提供することを一つの目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る記憶装置は、上記課題を解決するために、所定数のページからなるブロックを複数個有し、データの読み出し及び書き込みをページ単位で受け付け、データの消去をブロック単位で受け付ける不揮発性メモリと、前記不揮発性メモリに対して、データの読み出し、書き込み及び消去を行う制御部を備え、前記不揮発性メモリのブロックは、ユーザデータを記憶する複数のユーザデータ用ブロックと、当該ユーザデータ用ブロックを管理する複数の管理用ブロックによって構成され、前記制御部は、ユーザデータを前記ユーザデータ用ブロックに書き込みを開始する時、前記管理用ブロックの第１ページに前記ユーザデータに対応する第１フラグを書き込み、当該ユーザデータの書き込みが終了した場合に、前記第１ページとは異なる前記管理用ブロックの第２ページに当該ユーザデータに対応する第２フラグを書き込み、前記第１ページ及び前記第２ページにそれぞれ第１フラグと第２フラグが書き込まれている場合には、当該ユーザデータが前記ユーザデータ用ブロックに正常に書き込まれていると判断して、当該ユーザデータが書き込まれているブロックに対して消去処理を行わず、前記第１ページには第１フラグが書き込まれているものの、前記第２ページには第２フラグが書き込まれていない場合には、当該ユーザデータが前記ユーザデータ用ブロックに正常に書き込まれていないと推定する。
【０００９】
また、記憶装置では、前記第２ページは、前記第１ページの次のページであることが好ましい。
【００１０】
また、記憶装置では、前記制御部は、所定の期間又は前記不揮発性メモリの各ブロックの使用頻度に基づいて、一のブロックに書き込まれているデータを他のブロックに移動する処理を行うことが好ましい。
【００１１】
また、記憶装置では、前記第２ページには、データが書き込まれる前においては、予め規定値が書き込まれており、前記制御部は、前記第２ページの一部に前記第２フラグを書き込む場合、当該第２フラグが書き込まれる領域以外の領域に前記規定値以外の値を書き込み、前記第１ページには第１フラグが書き込まれているものの、前記第２ページには第２フラグが書き込まれていない場合には、当該第１フラグに対応するユーザデータが前記ユーザデータ用ブロックに正常に書き込まれていないと推定した上で、前記第２ページの第２フラグが書き込まれる領域以外の所定領域に前記規定値が書き込まれているかどうかを判定し、前記所定領域に前記規定値が書き込まれていると判定した場合には、前記第１フラグに対応するユーザデータが正常に書き込まれていないと判断し、前記所定領域に前記規定値が書き込まれていないと判定した場合には、前記第１フラグに対応するユーザデータが正常に書き込まれていると判断し、当該ユーザデータが書き込まれているブロックに対して消去処理を行わないことが好ましい。
【００１２】
また、記憶装置では、前記制御部は、前記第２ページに前記規定値が書き込まれていると判定した場合には、前記第１フラグに対応するユーザデータが正常に書き込まれていないと判断し、その後、ユーザデータ用ブロックに対して所定回数前記ユーザデータの読み出しを行い、前記所定回数以内に前記ユーザデータを有意なデータとして読み出せた場合には、当該ユーザデータが書き込まれているブロックに対して消去処理を行わず、前記所定回数以内に前記ユーザデータを有意なデータとして読み出せない場合には、当該ユーザデータが書き込まれているブロックに対して消去処理を行うことが好ましい。
【発明の効果】
【００１３】
本発明によれば、メモリの負担軽減化を図ることができる。
【図面の簡単な説明】
【００１４】
【図１】携帯電話装置の外観斜視図である。
【図２】携帯電話装置の機能を示す機能ブロック図である。
【図３】携帯電話装置が有するメモリの構成を示す図である。
【図４】管理用ブロックとスペアブロックを入れ替える処理についての説明に供する図である。
【図５】ガベージコレクション機能とウェアレベリング機能を利用してブロックを入れ替える処理についての説明に供する図である。
【図６】データの書き込み処理についての説明に供するフローチャートである。
【図７】ページのデータを読み出す処理についての説明に供するフローチャートである。
【図８】ページの破棄（ディスカード）処理についての説明に供するフローチャートである。
【図９】電源投入後の処理についての説明に供するフローチャートである。
【図１０】エラーページが属するブロックに対して消去処理を行うか否かについて示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態について説明する。図１は、本発明に係る記憶装置５を内蔵する携帯電話装置１の外観斜視図を示す。なお、図１は、いわゆる折り畳み型の携帯電話装置の形態を示しているが、本発明に係る携帯電話装置の形態としては特にこれに限られない。例えば、両筐体を重ね合わせた状態から一方の筐体を一方向にスライドさせるようにしたスライド式や、重ね合せ方向に沿う軸線を中心に一方の筐体を回転させるようにした回転式（ターンタイプ）や、操作部と表示部とが一つの筐体に配置され、連結部を有さない形式（ストレートタイプ）でも良い。
【００１６】
携帯電話装置１は、操作部側筐体部２と、表示部側筐体部３を備えて構成される。操作部側筐体部２は、表面部１０に、操作部１１と、携帯電話装置１の使用者が通話時に発した音声が入力されるマイク１２を備えて構成される。操作部１１は、各種設定や電話帳機能やメール機能等の各種機能を作動させるための機能設定操作キー１３と、電話番号の数字やメール等の文字等を入力するための入力操作キー１４と、各種操作における決定やスクロール等を行う決定操作キー１５から構成されている。
また、表示部側筐体部３は、表面部２０に、各種情報を表示するためのＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）表示部２１と、通話の相手側の音声を出力するスピーカ２２を備えて構成されている。
【００１７】
また、操作部側筐体部２の上端部と表示部側筐体部３の下端部とは、ヒンジ機構４を介して連結されている。また、携帯電話装置１は、ヒンジ機構４を介して連結された操作部側筐体部２と表示部側筐体部３とを相対的に回転することにより、操作部側筐体部２と表示部側筐体部３とを互いに開いた状態（開放状態）にしたり、操作部側筐体部２と表示部側筐体部３とを折り畳んだ状態（折畳み状態）にしたりできる。
【００１８】
また、図２は、携帯電話装置１の機能を示す機能ブロック図である。携帯電話装置１は、図２に示すように、操作部１１と、マイク１２と、メインアンテナ４０と、ＲＦ回路部４１と、ＬＣＤ制御部４２と、音声処理部４３と、メモリドライバ４４と、メモリ４５と、制御部４６が操作部側筐体部２に備えられ、ＬＣＤ表示部２１と、スピーカ２２と、ＬＣＤドライバ２３が表示部側筐体部３に備えられている。なお、以下では、メモリドライバ４４と、メモリ４５と、制御部４６を包括して、記憶装置５という。
【００１９】
メインアンテナ４０は、第１の使用周波数帯（例えば、８００ＭＨｚ）で基地局等と通信を行い、ＧＰＳ通信のための第２の使用周波数帯（例えば、１．５ＧＨｚ）に対応できるデュアルバンド対応構成である。なお、本実施の形態では、第１の使用周波数帯として、８００ＭＨｚとしたが、これ以外の周波数帯であっても良い。また、メインアンテナ４０は、第１の使用周波数帯で外部装置と通信を行い、ＧＰＳ通信のための第２の使用周波数帯に対応できるアンテナを別途設けても良い。
【００２０】
ＲＦ回路部４１は、メインアンテナ４０によって受信した信号を復調処理し、処理後の信号を制御部４６に供給する。そして、制御部４６から供給された信号を変調処理し、メインアンテナ４０を介して外部装置（基地局）に送信する。また、その一方で、メインアンテナ４０によって受信している信号の強度を制御部４６に通知する。
【００２１】
ＬＣＤ制御部４２は、制御部４６の制御にしたがって、所定の画像処理を行い、処理後の画像データをＬＣＤドライバ２３に出力する。ＬＣＤドライバ２３は、ＬＣＤ制御部４２から供給された画像データをフレームメモリに蓄え、所定のタイミングでＬＣＤ表示部２１又はサブＬＣＤ表示部３０に出力する。
【００２２】
音声処理部４３は、制御部４６の制御にしたがって、ＲＦ回路部４１から供給された信号に対して所定の音声処理を行い、処理後の信号をスピーカ２２に出力する。スピーカ２２は、音声処理部４３から供給された信号を外部に出力する。
【００２３】
また、音声処理部４３は、制御部４６の制御にしたがって、マイク１２から入力された信号を処理し、処理後の信号をＲＦ回路部４１に出力する。ＲＦ回路部４１は、音声処理部４３から供給された信号に所定の処理を行い、処理後の信号をメインアンテナ４０に出力する。
【００２４】
メモリドライバ４４は、メモリ４５に対するアクセス（データの書き込み、読み出し及び消去）を行う。
メモリ４５は、不揮発性メモリ（例えば、ＮＡＮＤ型フラッシュメモリである。）により構成されている。メモリ４５は、メモリドライバ４４によってアクセスされ、画像データや文書データ等のユーザデータが格納される。
制御部４６は、携帯電話装置１の全体を制御しており、中央処理装置（ＣＰＵ）等を用いて構成される。
【００２５】
ここで、ＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤ型という。）とＮＯＲ型フラッシュメモリ（以下、ＮＯＲ型という。）の違いについて説明する。
ＮＯＲ型とＮＡＮＤ型の共通点は、（１）データの書き込み時において、ビット「１」からビット「０」の書き換えのみが行われること、（２）データの消去時において、決められたブロック単位でしか消去ができないこと等である。
【００２６】
（１）については、フラッシュメモリは、データが書き込まれていない状態において、規定値としてビット「１」が書き込まれており、データを書き込むときに、ビット「１」を書き込む場合には、規定値を維持し、ビット「０」を書き込む場合には、ビット「１」をビット「０」に書き換える処理が行われる。
【００２７】
（２）については、フラッシュメモリの回路構成上、消去処理は、ブロック単位での可能になっている。なお、フラッシュメモリでは、データが消去されるということは、ビットが全て「１」（規定値）になるということを意味している。
【００２８】
また、ＮＡＮＤ型には、ページの概念があり、基本的にページ単位でデータの書き込みを行う。また、ページには、データを書き込む回数に制限（数千回乃至数十万回程度）がある。ＮＡＮＤ型は、複数のページから構成されるブロックが複数個で構成されている。例えば、１ページは、２ｋバイトであり、１ブロックは、６４ページ（１２８ｋバイト）で構成されている。
【００２９】
また、ＮＯＲ型は、データの書き込み中の電源断対策として、フラグを使用している。ＮＯＲ型は、回路構成上ビット単位までデータの書き込みが可能であるので、例えば、データを書き込む際に、初期状態の所定のビット（管理エリア）を「０」から「１」に書き換え、データの書き込み終了時に、当該所定のビットを「１」から「０」に書き換える処理を行う。また、ＮＯＲ型は、所定のビットの状態を確認し、所定のビットが「１」であれば、データの書き込み中に電源断が生じ、データが正常に書き込めなかったと判断を行っている。
【００３０】
しかし、ＮＡＮＤ型は、上述したように、ページ単位でデータの書き込みが可能であるため、単純に、ＮＯＲ型の処理方法を採用すると、管理エリアがページ単位になってしまい、ユーザデータエリアが不足してしまうおそれがある。
【００３１】
また、ＮＯＲ型は、管理エリアとユーザデータエリアが一対一に固定で対応している。したがって、ＮＡＮＤ型は、例えば、管理エリアに書き込むフラグの数が物理的なブロックサイズの制限によりｍ個（ｍページ）までとすれば、ユーザデータの個数も制限されてしまうおそれがある。
【００３２】
また、ＮＡＮＤ型において、単純にＮＯＲ型の処理方法を採用してしまうと、データを書き込み始める時に管理エリアの所定のページに対して書き換えを行い、データの書き込みが終了した場合に、当該所定のページが属するブロック全体の消去処理を行うことになる。ＮＡＮＤ型は、上述したように書き換え回数に制限があるため、データの書き込みの度にブロック全体の消去処理を行ってしまうと、寿命が短くなるおそれがある。
【００３３】
また、ＮＡＮＤ型は、ＮＯＲ型の処理方法のように、ユーザデータをユーザデータエリアから読み出す直前に管理エリアからフラグを読み出し、電源断により不正なデータの書き込みが発生しているか否かの処理を、ユーザデータにアクセスする度にチェックするのは処理速度的に不利となる。
【００３４】
また、ＮＡＮＤ型は、回路構成上、ビットエラーの起こりやすいデバイスであるため、一般的に、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）コードが付加される。また、ＥＣＣは、１ビットエラーに対しては、対応可能（訂正可能）であるが、２ビット以上のエラーに対しては、対応不可能（訂正不可能）である。なお、ＥＣＣは、２ビット以上のエラーに対しては、エラーが生じていることは検出可能である。
【００３５】
また、ＮＡＮＤ型は、あるブロックのデータを読み出す際にＥＣＣを行って、２ビット以上のエラーの発生を検出した場合には、そのブロックを消去処理（規定値の書き込み処理）しない限り再使用が禁止となる。
【００３６】
また、ＮＡＮＤ型は、一つのブロックが複数のページから構成されており、ユーザデータの書き込みは通常、ページと呼ばれる単位で行われるが、書き込み中に電源断が発生すると、その書き込み中のページ内のデータが不定値（ＦＦｈ等の規定値ではなく、ランダムな値）になることが分かっている。ここで、電源断とは、バッテリーの残量が無くなったり、携帯電話装置１を落下させる等により、電源の供給が途絶え、処理の続行ができない状態を意味する。
【００３７】
また、制御部４６は、不定値が書き込まれているページ（以下、不定ページという。）のデータを読み出すと、ＥＣＣにより２ビット以上のエラーを検出することになる。しかし、システム上、不定ページは、ディスカード（破棄）して使用しない、すなわち制御部４６によってアクセスされないようにする必要がある。
【００３８】
ここで、一般的に発生する２ビットエラーと、電源断が起因して発生する不定ページによる２ビットエラーを区別する必要がある。前者の２ビットエラーは、ブロックの再使用が物理的に不可能な場合があるが、後者の２ビットエラーは、単なる書き込み時のエラーなので、ブロックの再使用が可能である。
【００３９】
記憶装置５は、メモリ４５としてＮＡＮＤ型を採用し、メモリ４５をＦＦＳ（フラッシュファイルシステム）でデータの読み出し及び書き込みを制御する際に信頼性を確保し、メモリ４５に書き込まれているユーザデータが正常に書き込まれたものか否かの判断を、メモリ４５の負担を最小限にして行う機能を有している。
【００４０】
以下に、上述した機能を発揮するための制御部４６の動作について詳述する。
メモリ４５は、所定数のページからなるブロックを複数個有し、データの読み出し及び書き込みをページ単位で受け付け、データの消去をブロック単位で受け付ける。メモリ４５は、図３に示すように、ユーザデータエリアＵＡと、管理用エリアＭＡとから構成されている。ユーザデータエリアＵＡは、ユーザデータを記憶する複数のユーザデータ用ブロックＵＢ１乃至ＵＢｎにより構成されている。管理用エリアＭＡは、ユーザデータ用ブロックＵＢ１乃至ｎを管理する複数の管理用ブロックＭＢ１乃至ＭＢｎによって構成されている。また、メモリ４５は、固有のアドレスが付されている。
【００４１】
また、上述したように、ブロックは、１２８ｋバイトのサイズとし、ページは、２ｋバイトのサイズとする。また、一つのブロックには、６４個のページが含まれているものとする。また、ユーザデータエリアＵＡは、ユーザデータを格納するために使用する。管理用エリアＭＡは、ユーザデータの書き込み管理のために使用する。
【００４２】
なお、詳細は後述するが、ユーザデータエリアＵＡ及び管理用エリアＭＡに属する各ブロックの物理的な位置は、固定である必要はなく、ガベージコレクション機能や、ウェアレベリング機能を利用することによって、各ブロックが適宜入れ替えられる構成であっても良い。
【００４３】
制御部４６は、メモリ４５に対して、データの読み出し、書き込み及び消去を行う。
ここで、制御部４６による具体的な処理方法について説明する。なお、ユーザデータを書き込む際には、所定の方法に基づいて所定のユーザデータ用ブロック内の所定のページが指定されるが、以下では、便宜的に、ユーザデータをユーザデータ用ブロックＵＢ２に書き込むことを想定して説明する。
【００４４】
制御部４６は、図３に示すように、ユーザデータをユーザデータ用ブロックＵＢ２に書き込みを開始する時、管理用ブロックＭＢ１の第１ページＰ１にユーザデータに対応する第１フラグ（書き込み中フラグ）Ｆ１を書き込む処理を行う。そして、制御部４６は、ユーザデータの書き込みが終了した場合に、第１ページＰ１とは異なる第２ページＰ２にユーザデータに対応する第２フラグ（書き込み終了フラグ）Ｆ２を書き込む処理を行う。
【００４５】
また、制御部４６は、第１ページＰ１に第１フラグＦ１を書き込む際に、ユーザデータを書き込むページ（所定のユーザデータ用ブロック内の所定のページ）のアドレス（書き込みアドレス）Ａ１を書き込む。
【００４６】
制御部４６は、第２ページＰ２に第２フラグＦ２を書き込む際に、ユーザデータを書き込んだページ（所定のユーザデータ用ブロック内の所定のページであって、複数ページに渡ってユーザデータが書き込まれている場合には、先頭のページ）のアドレス（書き込みアドレス）Ａ１を書き込む。そして、詳細は後述するが、制御部４６は、第２フラグＦ２及び書き込みアドレスＡ１を第２ページＰ２に書き込む場合、第２ページＰ２の残りの領域にユニーク値（例えば、５５ｈ）を書き込む。
【００４７】
また、制御部４６は、第１ページＰ１において、書き込みアドレスＡ１と第１フラグＦ１が書き込まれた以外のエリアについては、他のデータを書き込まずに全て規定値（ＦＦｈ）のままにしておく。
【００４８】
ここで、管理用エリアＭＡにアクセスした際に、ＥＣＣにより２ビットエラーを検出した場合においても、一般的に発生する２ビットエラーであるのか、又は、電源断が起因して発生する不定ページによる２ビットエラーであるのかを区別する必要がある。
【００４９】
そこで、制御部４６は、図３に示すように、第２ページＰ２において、書き込みアドレスＡ１と第２フラグＦ２を書き込んだ以外のエリアについては、全て所定のユニーク値（例えば、５５ｈ）を書き込む処理を行う。
【００５０】
このような構成によれば、制御部４６は、第２ページＰ２にアクセスし、ＥＣＣにより２ビットエラーを検出した場合には、第２ページＰ２に書き込まれている値を読み出し、読み出した値が所定のユニーク値と一致するか否かの処理を行う。
【００５１】
制御部４６は、読み出した値にユニーク値が含まれていない、又は含まれているが少ない場合（ユニーク値に不一致が多くデータが崩れている場合）には、ユニーク値の書き込み中に電源断が生じたと判断して、当該第２ページＰ２を不定ページであると判定し、また、一定数以上のユニーク値が含まれている場合には、一般的に発生する２ビットエラーであると判定する。
【００５２】
制御部４６は、第２ページＰ２が不定ページであると判定した場合には、ユーザデータを正常に書き込んだ後、第２ページＰ２に第２フラグＦ２を書き込んだ後のユニーク値の書き込みの最中に電源断が発生したと考え、第２ページＰ２が属するブロックに対して消去処理を行わない。
【００５３】
また、制御部４６は、第２ページＰ２に一般的な２ビットエラーが生じていると判断した場合には、その管理用ブロックのページを全て破棄（ディスカード）し、ガーベッジコレクション機能の利用によって、第２ページＰ２が属するブロックの消去処理を行う。
【００５４】
また、一つのページが４つのセクタから構成されていると仮定した場合、制御部４６は、各セクタに対してＥＣＣを行う。つまり、制御部４６は、１ビットエラーの場合には訂正を行い、２ビットエラーの場合には、エラーの検出を行う。
【００５５】
また、制御部４６は、目安として、ユニーク値（５５ｈ）のパターンが２ビット不一致になっているセクタが、２セクタ以上ある場合に、不定ページと判断する。これは、１セクタだけが２ビット不一致であれば、一般的な２ビットエラーが生じている可能性があるためである。
【００５６】
このようにして、記憶装置５は、ユーザデータが正常にユーザデータ用ブロックに書き込んだ場合には、同一の書き込みアドレスＡが書き込まれている第１ページＰ１と第２ページＰ２のペアを生成し、かつ、第２ページＰ２には、書き込みアドレスＡ１と、第２フラグＦ２と、所定のユニーク値を書き込む処理を行う。
【００５７】
また、制御部４６は、電源の投入時において、管理用エリアＭＡにアクセスし、書き込みアドレスＡ１に基づいて、第１ページＰ１と第２ページＰ２のペアを検出し、第１ページＰ１及び第２ページＰ２にそれぞれ第１フラグＦ１と第２フラグＦ２が書き込まれている場合には、当該第１フラグＦ１に対応するユーザデータがユーザデータ用ブロックＵＢ２に正常に書き込まれていると判断して、当該ユーザデータが書き込まれているユーザデータ用ブロックＵＢ２に対して消去処理を行わない。
【００５８】
また、制御部４６は、電源の投入時において、管理用エリアＭＡにアクセスし、第１ページＰ１には第１フラグＦ１が書き込まれているものの、第２ページＰ２には第２フラグＦ２が書き込まれていない場合には、ユーザデータ用ブロックＵＢ２にユーザデータを書き込み中に電源断が発生したと推定し、当該第１フラグＦ１に対応するユーザデータがユーザデータ用ブロックＵＢ２に正常に書き込まれていないと推定する。
【００５９】
なお、制御部４６は、電源の投入時において、書き込みアドレスＡ１に基づいて、第１ページＰ１と第２ページＰ２のペアを検出し、第１ページＰ１には第１フラグＦ１が書き込まれているものの、第２ページＰ２にはユニーク値が書き込まれていないときでも、当該第１フラグＦ１に対応するユーザデータがユーザデータ用ブロックＵＢ２に正常に書き込まれていると判断して、当該ユーザデータが書き込まれているユーザデータ用ブロックＵＢ２に対して消去処理を行わない構成であっても良い。
【００６０】
第２ページＰ２に書き込みアドレスＡ１を書き込めたということは、ユーザデータは、正常に書き込めた状態であることを意味する。このような状態は、ユーザデータを正常に書き込み、第２ページＰ２に書き込みアドレスＡ１及び第２フラグＦ２を書き込んだ後のユニーク値を書き込んでいる最中に電源断が発生したものと考えられる。よって、第１フラグＦ１に対応するユーザデータは、ユーザデータ用ブロックＵＢ２に正常に書き込まれていると判断される。
【００６１】
このように構成されることによって、記憶装置５は、ユーザデータの書き込みを開始する時に、第１ページに書き込みアドレスと共に第１フラグを書き込み、ユーザデータの書き込みを終了した場合に、第２ページＰ２に書き込みアドレスと第２フラグを書き込むので、電源投入時に、管理用エリアＭＡにアクセスし、第１ページと第２ページのペアを検出し、第１フラグと第２フラグが書き込まれていることを確認した場合には、ユーザデータが正常に書き込まれていると判断でき、ユーザデータが書き込まれているユーザデータ用ブロックに対して消去処理を行わない。
したがって、記憶装置５は、メモリ４５に書き込まれているユーザデータが正常に書き込まれたものか否かの判断を、メモリ４５の負担を最小限にして行うことができる。
【００６２】
なお、管理用ブロックＭＢの状態をチェックするのは、電源投入後の起動時の一回だけで良く、ユーザデータを読み出す度にチェックする必要はない。
【００６３】
また、記憶装置５は、電源断が発生したと判定されれば、その不定データが含まれているブロックを使用しないようにするために、ディスカード（破棄）処理を行っても良い。例えば、詳細は後述する、ガベージコレクション機能等の利用により、ディスカード処理したブロックの消去処理（規定値を書き込む処理）が行われ、当該ブロックの再利用が可能となる。
【００６４】
また、管理用ブロックＭＢは、ユーザデータ用ブロックＵＢと一対一に対応させているわけではない。よって、記憶装置５では、ユーザデータ用ブロックＵＢとは独立に順次空いている下方のページに対してフラグ等の書き込みを行う。また、一度チェックされた第１フラグＦ１や第２フラグＦ２は、不要になるので、後述するガベージコレクション機能を利用することによって順次削除する。よって、記憶装置５では、管理用ブロックＭＢとしては見かけ上、サイズ制限はなく、全データ用ブロックのサイズにも制限はない。
【００６５】
また、第２ページＰ２は、第１ページの次のページであることが好ましい。
このような構成によれば、制御部４６は、第１ページと第２ページが連続しているので、管理用エリアＭＡにアクセスする際に、ペアとなるページを簡易に検索することが可能となる。
【００６６】
ここで、管理用ブロックＭＢにおいて、特定のブロックの使用頻度が高くなり、所定の使用回数に達すると、当該ブロックが使用不能になり、結果、メモリ４５全体の容量が低減してしまう。
そこで、制御部４６は、所定の期間又はメモリ４５の各ブロックの使用頻度に基づいて、一のブロックに書き込まれているデータを他のブロックに移動する処理を行うことが好ましい。
【００６７】
制御部４６は、ガベージコレクション機能やウェアレベリング機能を有している。
ガベージコレクション機能とは、プログラムが使用しなくなったメモリ領域や、プログラム間の隙間のメモリ領域を集めて、連続した利用可能なメモリ領域を増やす機能である。ガベージコレクション機能によれば、有限の容量であるメモリ４５を有効に活用することができる。
【００６８】
また、ウェアレベリング機能とは、データの書き換えを行うブロック（ページ）を、特定のブロック（ページ）に集中させないようにできるだけ均等に分散させる機能である。ウェアレベリング機能によれば、特定のページに対する書き込みと消去の繰り返しを防ぐことができるので、メモリ４５の寿命を延ばすことができる。
【００６９】
制御部４６は、所定の期間が経過したことを条件として、ガベージコレクション機能を利用して、一のブロックに書き込まれているデータを他のブロックに移動する処理を行う。また、制御部４６は、メモリ４５の各ブロックの使用頻度に基づいて、ウェアレベリング機能を利用して、一のブロックに書き込まれているデータを他のブロックに移動する処理を行っても良い。
【００７０】
このように構成されることによって、記憶装置５は、連続した利用可能なメモリ領域を増やすことができ、かつ、メモリ４５の寿命を延ばすことができる。
【００７１】
また、上述したように、管理用ブロックＭＢにデータの書き込みを行っていくと、そのブロックに書き込む空きスペースがなくなってくる。ここで、メモリ４５は、回路構成上、ブロック単位でしか消去が行えない。
したがって、制御部４６は、ガベージコレクション機能やウェアレベリング機能を利用して、管理用のブロックに管理用データを書き込み、全てのページを使い切ると、別個に存在するスペア用のブロックに必要な管理用データをコピーし、管理用のブロックを消去処理する。したがって、制御部４６は、スペア用のブロックを管理用ブロックとして使用し、当初管理用として使用していたブロックをスペア用として利用する。
【００７２】
また、管理用ブロックＭＢは、頻繁にページの書き込みが行われ、使用頻度が高いブロックである。よって、制御部４６は、管理用ブロックＭＢをウェアレベリングの対象となるように制御する。
【００７３】
また、管理用ブロックＭＢに書き込まれる管理データは、電源投入時にユーザデータが正常に書き込まれたか否かの判断に使用された後は、利用されないため、事実上無効データとなる。したがって、厳密にいえば、制御部４６は、現在の管理用ブロックＭＢに書き込まれている管理データをスペア用のブロックへコピーする必要はない。よって、管理データをスペア用のブロックへコピーしない場合には、スペア用のブロックは、最初から全領域が空き状態の管理用ブロックとなる。
【００７４】
また、管理用ブロックＭＢに対して過去に書込んだページデータは、二度とアクセスする必要のないデータである。制御部４６は、システムがアイドル状態（携帯電話装置１が不使用状態）になったときに、破棄（ディスカード）する。その後、制御部４６は、ガベージコレクション機能を利用することによって、新しい管理用ブロックＭＢが再生されることになる。
【００７５】
なお、システムがアイドル状態になることなく、連続的なユーザデータの書き込みが行われた場合、管理用ブロックＭＢに空き容量がなくなってしまうことがある。制御部４６は、管理用データを書き込むためのページが無くなった場合、強制的にガベージコレクション機能を利用し、仮に破棄（ディスカード）されていなくてもページデータのコピーは行わないこととする。記憶装置５は、このように強制的にガベージコレクション機能を利用して、管理用データを書き込むための空きスペースを確保する機能も有している。
【００７６】
また、記憶装置５は、管理用ブロックのみが書き込み頻度が高く、スペア用のブロックと入替えにガベージコレクション機能を利用することも想定される。そうすると、何度もデータの入替えを繰り返すブロックは、使用頻度が高くなってしまう。
【００７７】
そこで、記憶装置５は、各ブロックに対して、消去（イレーズ）回数を数えるイレーズカウンタを設ける。制御部４６は、メモリ４５の全ブロックに対してイレーズカウンタのカウント値を起動時にチェックしておき、カウント値の最大と最小の差がある一定値を超えたらウェアレベリング機能を実行するものとする。このように構成することにより、記憶装置５は、カウント値の小さい静的なブロックが次のスペア用ブロックとなり、メモリ４５全体を均一に使用することができる。
【００７８】
また、ガベージコレクション機能を利用した場合の模式図を図４に示す。図４では、ガベージコレクション機能を利用して、管理用ブロックＭＢが処理された場合を示している。メモリ４５は、ガベージコレクション機能を利用した後は、図４に示すように、使用するブロック位置が相互に入れ替わるイメージとなる。
【００７９】
また、ガベージコレクション機能を利用するには、データを移動するためのスペア用のブロック（スペアブロックＳＢ）が必要になる。ここで、あるブロックを新規にスペアブロックＳＢにするためには、当該ブロックに対して消去の処理を行う必要がある。よって、制御部４６は、あるブロックを新規にスペアブロックＳＢにする場合には、当該ブロックのビットを全て規定値（ビット「１」）にする。
【００８０】
また、ガベージコレクション機能とウェアレベリング機能を利用した場合の模式図を図５に示す。
メモリ４５のデータブロックＢ１は、書換え頻度の少ないデータが格納されているデータブロックであり、ブロック消去される回数も少なくなっている（以下、データブロックＢ１を静的データブロックＢ１という。）。制御部４６は、ウェアレベリング機能を利用する際に、この静的データブロックＢ１に着目する。
【００８１】
制御部４６は、ウェアレベリング機能を利用して、静的データブロックＢ１とスペアブロックＳＢを入れ替える処理を行う（図５（ａ）、（ｂ）を参照。）。なお、制御部４６は、ガベージコレクション機能を利用して、当該入れ替え処理を行っても良い。
【００８２】
結果として、制御部４６は、ウェアレベリング機能を発揮する前にスペアブロックＳＢとして存在していた使用頻度の高いブロックを、ウェアレベリング機能又はガベージコレクション機能を利用することによって、静的データを格納するブロックにし、使用頻度の低いブロックにすることができる。
【００８３】
次に、制御部４６は、ウェアレベリング機能又はガベージコレクション機能を利用して、管理用ブロックＭＢとスペアブロックＳＢを入れ替える処理を行う（図５（ｂ）、（ｃ）を参照。）。
【００８４】
このようにして、メモリ４５では、管理用ブロックＭＢとなったブロック位置は、当初、ウェアレベリング機能を利用する前に静的データが格納されていたブロックであり、今まで使用頻度が少なかったブロックが管理用ブロックに変更することができる。よって、記憶装置５は、メモリ４５全体を均等に使用することになり、寿命を延ばすことができる。
【００８５】
また、メモリ４５のブロックには、上述したように、何もデータが書き込まれていない場合には、予め規定値（例えば、ビット「１」）が書き込まれている。
制御部４６は、第２ページの一部に第２フラグを書き込む場合、当該第２フラグが書き込まれる領域以外の領域に規定値以外の値を書き込み、第１ページには第１フラグが書き込まれているものの、第２ページには第２フラグが書き込まれていない場合には、当該第１フラグに対応するユーザデータがユーザデータ用ブロックＵＢに正常に書き込まれていないと推定した上で、第２ページの第２フラグが書き込まれる領域以外の所定領域に規定値（例えば、ＦＦｈ）が書き込まれているかどうかを判定する構成であっても良い。
【００８６】
このような構成の場合には、制御部４６は、第２ページの所定領域に規定値が書き込まれていると判定した場合には、第１フラグに対応するユーザデータが正常に書き込まれていないと判断する。これは、第１ページに第１フラグが書き込まれているが、第２ページが規定値のままであるので、ユーザデータを書き込んでいる最中に電源断が発生し、ユーザデータがユーザデータ用ブロックに対して正常に書き込めなかったものと判断できるからである。
【００８７】
また、制御部４６は、第２ページの所定領域に規定値が書き込まれていないと判定した場合には、第１フラグに対応するユーザデータが正常に書き込まれていると判断し、当該ユーザデータが書き込まれているブロックに対して消去処理を行わない。これは、第２ページに第２フラグも書き込まれておらず、かつ規定値にもなっていなければ、第２ページにユニーク値を書き込んでいる最中に電源断が生じたものと考えられる。したがって、このような場合には、ユーザデータは、ユーザデータ用ブロックに対して正常に書き込めたものと判断することができる。
【００８８】
このように構成されることによって、記憶装置５は、電源投入時に、管理用エリアＭＡにアクセスし、第１ページに第１フラグが書き込まれていることを確認し、第２ページには第２フラグが書き込まれておらず、かつ規定値にもなっていないことを確認した場合には、ユーザデータが正常に書き込まれていると判断し、ユーザデータが書き込まれているユーザデータ用ブロックに対して消去処理を行わない。
したがって、記憶装置５は、メモリ４５に書き込まれているユーザデータが正常に書き込まれたものか否かの判断を、メモリ４５の負担を最小限にして行うことができる。
【００８９】
また、制御部４６は、第２ページに規定値が書き込まれていると判定した場合には、第１フラグＦ１に対応するユーザデータが正常に書き込まれていないと判断し、その後、ユーザデータ用ブロックＵＢに対して所定回数ユーザデータの読み出しを行う構成であっても良い。
【００９０】
このような構成の場合には、制御部４６は、所定回数以内にユーザデータを有意なデータとして読み出せた場合には、当該ユーザデータが書き込まれているブロックに対して消去処理を行わない。
また、制御部４６は、所定回数以内にユーザデータを有意なデータとして読み出せない場合には、当該ユーザデータが書き込まれているブロックに対して消去処理を行う。
【００９１】
ここで、第１ページには第１フラグが書き込まれているが、第２ページが規定値のままであるということは、ユーザデータをユーザデータ用ブロックＵＢに書き込んでいる最中に電源断が発生したものと考えられるが、理論的には、ユーザデータをユーザデータ用ブロックＵＢに書き終わった直後に電源断が発生したことも考えられる。
【００９２】
そこで、制御部４６は、ユーザデータに対して所定回数アクセスを行い、有意なデータとして読み出せた場合には、ユーザデータを書き終わった後に電源断が生じたものと判断し、ユーザデータが書き込まれているブロックに対して消去処理を行わない。
また、制御部４６は、ユーザデータに対して所定回数アクセスを行い、有意なデータとして読み出せなかった場合には、ユーザデータをユーザデータ用ブロックＵＢに書きこんでいる最中に電源断が発生したものと判断し（つまり、ユーザデータは壊れていると判断し）、ユーザデータが書き込まれているブロックに対して消去処理を行う。
【００９３】
したがって、記憶装置５は、メモリ４５に書き込まれているユーザデータが正常に書き込まれたものか否かの判断を、メモリ４５の負担を最小限にして行うことができ、正常にユーザデータの書き込みが行えなかった場合のみ、ユーザデータ用ブロックＵＢに対して消去処理を実行するので、メモリ４５の負担を最小限にして消去処理を行うことができる。
【００９４】
ここで、データの書き込み処理について、図６に示すフローチャートを参照して説明する。
ステップＳＴ１において、制御部４６は、管理用ブロックＭＢの所定のページに書き込みアドレスＡ１と第１フラグ（書き込み中フラグ）Ｆ１の書き込みを行う。
ステップＳＴ２において、制御部４６は、ユーザデータ用ブロックＵＢのページにユーザデータの書き込みを行う。
【００９５】
ステップＳＴ３において、制御部４６は、ステップＳＴ２の工程によるユーザデータの書き込みを終了した場合には、ステップＳＴ１の工程により第１フラグＦ１を書き込んだページ（第１ページＰ１）の次のページ（第２ページＰ２）に書き込みアドレスＡ１と第２フラグ（書き込み終了フラグ）Ｆ２の書き込みを行う。そして、制御部４６は、書き込みアドレスＡ１と第２フラグＦ２の第２ページへの書き込みと同時に、第２ページＰ２の残りの領域にユニーク値を書き込む。
【００９６】
また、ページのデータを読み出す処理について、図７に示すフローチャートを参照して説明する。
ステップＳＴ１１において、制御部４６は、ユーザデータが正常にユーザデータ用ブロックＵＢに書き込みの確認ができたことを条件に、指定されたユーザデータをユーザデータ用ブロックＵＢから読み出す。
【００９７】
制御部４６は、具体的には、ユーザデータと当該ユーザデータが書き込まれている場所を示すアドレスが関連付けられているテーブルを参照することにより、指定されたユーザデータを所定のユーザデータ用ブロックの所定のページから読み出す処理を行う。
【００９８】
このようにして、制御部４６は、ユーザデータが正常にユーザデータ用ブロックＵＢに書き込みの確認ができたことを条件に、管理用ブロックＭＢを意識することなくデータ用ブロックから指定のページデータを読み出すことができる。
【００９９】
また、ページの破棄（ディスカード）処理について、図８に示すフローチャートを参照して説明する。また、上述したように、第２ページＰ２は、正常に書き込み処理が終了した場合には、書き込みアドレスＡ１と第２フラグＦ２（書込み終了フラグ）が書き込まれ、他のエリアには、ユニーク値（５５ｈ）が書き込まれている。なお、以下では、第２ページＰ２の確認と、ディスカード処理に焦点を絞って説明する。
【０１００】
ステップＳＴ２１において、制御部４６は、第２ページＰ２にアクセスし、ＥＣＣにより２ビットエラーが生じているか否かを判断する。２ビットエラーが生じていない場合（Ｎｏ）には、ステップＳＴ２２に進む。また、２ビットエラーが生じている場合（Ｙｅｓ）には、ステップＳＴ２３へ進む。
【０１０１】
ステップＳＴ２２において、制御部４６は、通常処理を行う。具体的には、制御部４６は、書き込みアドレスＡ１と第２フラグＦ２の有無の確認を行う。
【０１０２】
ステップＳＴ２３において、制御部４６は、第２ページＰ２の他のエリアをチェックし、ユニーク値と一致するか否かの比較処理を行う。
【０１０３】
ステップＳＴ２４において、制御部４６は、ステップＳＴ２３の工程による比較処理の結果から不定ページか否かの判断を行う。制御部４６は、ユニーク値に不一致が多く、データが崩れている場合には、不定ページであると判断し、不定ページではない場合には、一般的に発生する２ビットエラーであると判断する。不定ページであると判断した場合（Ｙｅｓ）には、ステップＳＴ２５に進み、不定ページではないと判断した場合（Ｎｏ）には、ステップＳＴ２６に進む。
【０１０４】
ステップＳＴ２５において、制御部４６は、第２ページＰ２が不定ページであると判断した場合には、ユーザデータを正常に書き込み、その後、第２ページＰ２に第２フラグＦ２を書き込んでいる最中に電源断が発生したと考えられるので、管理用ブロックＭＢに対して消去処理を行わない。
【０１０５】
ステップＳＴ２６において、制御部４６は、第２ページＰ２が不定ページではないと判断した場合には、第２ページＰ２に一般的な２ビットエラーが生じていると考えられるので、管理用ブロックＭＢを全て破棄（ディスカード）し、ガーベッジコレクション機能の利用によって、管理用ブロックＭＢに対して消去処理を行う。
【０１０６】
このようにして、記憶装置５は、第２ページＰ２がＥＣＣにより２ビットエラーが生じていると判断した場合、不定ページであるか否かを判断し、不定ページの場合には、消去処理を行わず、不定ページの場合には、消去処理を行うので、不必要な消去処理が発生せず、ＥＣＣによる２ビットエラーに対して、メモリ４５の負担を最小限にして対応することができる。
【０１０７】
つぎに、電源投入後の処理について、図９に示すフローチャートを参照して説明する。ここで、電投入後の処理とは、記憶装置５を通常に起動したときの電源オン後の処理、及び電源断に再起動したときの電源オン後の処理のことである。
【０１０８】
ステップＳＴ３１において、制御部４６は、管理用ブロックＭＢをチェックし、第１ページＰ１のペアである第２ページＰ２が第２フラグＦ２（書込み終了フラグ）を含むページで終わっている否かを確認する。第２フラグＦ２が書き込まれている場合（Ｙｅｓ）には、ユーザデータが正常にユーザデータ用ブロックＵＢに書き込まれていると考えられるので、処理を終了する。また、第２フラグＦ２が書き込まれていない場合（Ｎｏ）には、ステップＳＴ３２に進む。なお、ステップＳＴ３１の工程では、第２ページＰ２には、第２フラグＦ２が書き込まれていないのか、又は、２ビットエラーにより第２フラグＦ２が書き込まれていないのかの判断ができない。後者であれば、ユーザデータは、正常にユーザデータ用ブロックＵＢに書き込まれていると考えられる。
【０１０９】
ステップＳＴ３２において、制御部４６は、第２ページＰ２が全て規定値（ＦＦｈ）か否かを確認する。全て規定値の場合（Ｙｅｓ）には、ステップＳＴ３３に進み、全て規定値ではない場合（Ｎｏ）には、ステップＳＴ３４に進む。なお、第２ページが全て規定値ではないということは、第２ページＰ２への書き込み処理があったと考えられ、ユーザデータは、正常にユーザデータ用ブロックＵＢに書き込まれていると考えられる。
【０１１０】
ステップＳＴ３３において、制御部４６は、第２ページＰ２が全て規定値であるので、ユーザデータを一のユーザデータ用ブロックＵＢに書き込み中に電源断が発生したと考えられ、不定値となっている当該一のユーザデータ用ブロックＵＢに対してディスカード処理を行って、処理を終了する。ここで、ディスカード処理されたブロックは、再使用されても良いし、再使用を禁止にしても良い。
【０１１１】
ステップＳＴ３４において、制御部４６は、第２ページＰ２のユニーク値が多数化けているか否かを確認する。ユニーク値が多数化けている、すなわちユニーク値が一定数以上含まれていない場合（Ｙｅｓ）には、第２ページＰ２に第２フラグＦ２等を書き込んでいる最中に電源断が発生したものと考えられ、消去処理を行わず、処理を終了する。また、ユニーク値が多数化けていない、すなわちユニーク値が一定数以上含まれている場合（Ｎｏ）には、ステップＳＴ３５に進む。
【０１１２】
ステップＳＴ３５において、制御部４６は、第２ページＰ２に一般的な２ビットエラーが生じていると考えられ、管理用ブロックの全ページを破棄（ディスカード）する。この管理用ブロックを再使用する場合には、制御部４６は、ガーベッジコレクション機能の利用によって、ブロックの消去処理を行い、処理を終了する。
【０１１３】
また、エラーページが属するブロックに対して消去処理を行うか否かについて、図１０に一覧を示す。
制御部４６は、読み出したページが電源断が起因してエラーページであった場合には、読み出したページをディスカードし、ブロックを消去しない。
【０１１４】
また、制御部４６は、読み出したページがメモリ４５の不良が起因してエラーページであった場合には、所定回数（例えば、１０回）読み出しをリトライして、所定回数以内に読み出しに成功した場合には、正常なページとして取り扱い、ブロックの消去を行わない。
【０１１５】
また、制御部４６は、読み出したページがメモリ４５の不良が起因してエラーページであった場合には、所定回数（例えば、１０回）読み出しをリトライして、全てエラーであった場合には、エラーページが属するブロックに対して、エラーを起こしたページを除いて予備ブロックへコピーし、当該ブロックを消去する。又は、制御部４６は、当該ブロックを２度と使用しないようにしても良い（バッドブロック化）。
【０１１６】
このようにして、記憶装置５は、ＮＡＮＤ型のメモリ４５に対しても最小限の負担によって、電源断対策が可能となる。また、記憶装置５は、データの書き込み途中の不正なページデータを認識し、問題が発生しないようにできる。また、記憶装置５は、ユーザデータの書き込み途中で電源断が生じたかどうかの判断ができるだけでなく、管理用のページデータの書き込み途中で電源断が生じたかどうかの判定も行うことができる。また、記憶装置５は、使用頻度の高い管理用ブロックをメモリ４５の任意のブロック位置にすることができ、メモリ４５の寿命を延ばすことができる。
【０１１７】
また、管理用ブロックＭＢは、一つのブロックとして割り当てるが、ユーザデータ用ブロックＵＢと重複しないようにする必要がある。よって、記憶装置５は、論理アドレスの小さい位置にユーザデータ用ブロックＵＢを割り当て、論理アドレスが大きい位置に管理用ブロックＭＢを割り当てる。なお、ブロックサイズのバウンダリに合わせる必要があるので、論理アドレスの割り当ての際に、この点に留意する必要がある。
【符号の説明】
【０１１８】
１  携帯電話装置
５  記憶装置
４４  メモリドライバ
４５  メモリ
４６  制御部
ＵＡ  ユーザデータエリア
ＭＡ  管理用エリア
ＵＢ  ユーザデータ用ブロック
ＭＢ  管理用ブロック
【図１】
2011175428.tif 000003
【図２】
2011175428.tif 000004
【図３】
2011175428.tif 000005
【図４】
2011175428.tif 000006
【図５】
2011175428.tif 000007
【図６】
2011175428.tif 000008
【図７】
2011175428.tif 000009
【図８】
2011175428.tif 000010
【図９】
2011175428.tif 000011
【図１０】
2011175428.tif 000012