(57)【要約】【課題】ブートプログラムが格納されるメモリの必要容量を抑えながら、装置の確実な起動を可能とする情報処理装置を提供する。【解決手段】ＤＶＤプレイヤは、ＮＡＮＤフラッシュＲＯＭ２００と、起動処理を実行するシステム制御用プロセッサとを備える。ＮＡＮＤフラッシュＲＯＭ２００は、ブートプログラムＡ１を格納する起動用ブロックＢＰ（ｎ）と、予備ブートプログラムＡ２を格納する予備用ブロックＢＳとを有している。システム制御用プロセッサは、起動用ブロックＢＰ（ｎ）からのブートプログラムＡ１の読み出し時に、誤り訂正符号を用いた誤り訂正が不可能な読み出しエラーが発生した場合には、予備ブートプログラムＡ２を用いて起動用ブロックＢＰ（ｎ）をリカバリする。【選択図】  図２
2009157632.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムが格納される起動用ブロックと、前記ブートプログラムの予備が格納される予備用ブロックと、を有する不揮発性メモリと、
前記起動用ブロックから前記ブートプログラムを読み出し、当該ブートプログラムに従って起動処理を実行するシステムコントローラと、を備え、
前記不揮発性メモリのエラー訂正・検出手段を、前記システムコントローラ以外には備えておらず、
前記システムコントローラは、
前記起動用ブロックからの前記ブートプログラムの読み出し時に、誤り訂正符号による誤り訂正が不可能な読み出しエラーが発生した場合には、
前記予備用ブロックに格納された前記ブートプログラムの予備を用いて、前記起動用ブロックをリカバリするリカバリ処理を行うことを特徴とする情報処理装置。
【請求項２】
前記システムコントローラは、
前記リカバリ処理において前記起動用ブロックの書き込みエラー又は消去エラーが発生した場合には、
前記不揮発性メモリの前記起動用ブロックを不良ブロックとし、
前記起動用ブロック及び前記予備用ブロック以外の新たな起動用ブロックを選択して当該新たな起動用ブロックに前記予備のブートプログラムをコピーし、
前記不良ブロックとされた前記起動用ブロックの先頭ページに、前記新たな起動用ブロックの先頭ページへジャンプする命令を書き込むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記システムコントローラは、
前記リカバリ処理において前記起動用ブロックの書き込みエラー又は消去エラーが発生した場合には、
前記不揮発性メモリの前記起動用ブロックを不良ブロックとし、
前記起動用ブロック及び前記予備用ブロック以外の新たな起動用ブロックを選択して当該新たな起動用ブロックに前記予備のブートプログラムをコピーし、
前記不揮発性メモリの先頭ブロックの先頭ページに、前記新たな起動用ブロックの先頭ページへジャンプする命令を書き込むことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記ブートプログラムには、
ハードウエアの初期化処理機能及び前記不揮発性メモリのエラー訂正・検出処理機能が少なくとも含まれていることを特徴とする請求項１〜３の何れか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリに格納されたブートプログラムが読み出されて起動処理が実行される情報処理装置に関するものである。
【背景技術】
【０００２】
従来、このような分野の技術として、下記特許文献１に記載の半導体装置が知られている。この半導体装置は、ＮＡＮＤ型フラッシュメモリからブートプログラムを読み出して起動処理を実行する。この装置のＮＡＮＤ型フラッシュメモリには、複数のブロックにそれぞれ同一のブートプログラムが記憶されている。そして、そのうち１つのブロックからのブートプログラム読み出しに基づいて、当該ブロックが不良であると判定された場合には、代わりに他のブロックに記憶されたブートプログラムが読み出される。このようにして、メモリのブロックに不良がある場合にも、装置の起動を可能とすることが提案されている。
【特許文献１】特開２００５−２１５８２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような半導体装置の方式で、装置の起動をより確実に可能にするためには、予め多数のブロックに同一のブートプログラムを格納しておく必要があるので、当初からのメモリの必要容量が無駄に大きくなってしまう。
【０００４】
そこで、本発明は、ブートプログラムが格納されるメモリの必要容量を抑えながら、装置の確実な起動を可能とする情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、ブートプログラムが格納される起動用ブロックと、ブートプログラムの予備が格納される予備用ブロックと、を有する不揮発性メモリと、起動用ブロックからブートプログラムを読み出し、当該ブートプログラムに従って起動処理を実行するシステムコントローラと、を備え、不揮発性メモリのエラー訂正・検出手段を、システムコントローラ以外には備えておらず、システムコントローラは、起動用ブロックからのブートプログラムの読み出し時に、誤り訂正符号による誤り訂正が不可能な読み出しエラーが発生した場合には、予備用ブロックに格納されたブートプログラムの予備を用いて、起動用ブロックをリカバリするリカバリ処理を行うことを特徴とする。
【発明の効果】
【０００６】
本発明の情報処理装置によれば、ブートプログラムが格納されるメモリの必要容量を抑えながら、装置の確実な起動が可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明に係る情報処理装置の一実施形態として、ＤＶＤプレイヤ１０について図面を参照しながら詳細に説明する。
【０００８】
図１に示すように、本ＤＶＤプレイヤ１０は、システム制御用プロセッサ１００、システムメモリ１０３、バッテリ１０４、充電回路１０５、電源回路１０６、サブマイコン１０７、メモリカードインターフェース１０８、モータドライバ１２１、光ピックアップ部１２２、復調・訂正処理部１２３、フレームメモリ１２４、ビデオデコーダ１２５、オーディオデコーダ１２６、システムバスインターフェース１２７、ＬＣＤ制御回路１２８、ビデオＤ／Ａ変換部１２９、オーディオＤ／Ａ変換部１３０、及びＮＡＮＤフラッシュＲＯＭ２００等を備えている。
【０００９】
システム制御用プロセッサ１００は、本ＤＶＤプレイヤ１０の各コンポーネントを制御するプロセッサである。また、システム制御用プロセッサ１００は、システムメモリ１０３に格納された消費電力情報を読み出す。さらに、システム制御用プロセッサ１００は、サブマイコン１０７との通信を実行する機能を有する。システム制御用プロセッサ１００はシステムバス１に接続されている。
【００１０】
サブマイコン１０７は、操作スイッチ群１４および赤外線受光部１５などから入力された要求操作を受け付け、受け付けた操作要求をシステム制御用プロセッサ１００に通知する。サブマイコン１０７には、バッテリインターフェース２を介してバッテリ１０４が接続されている。また、サブマイコン１０７には充電制御インターフェース３を介して充電回路１０５が接続されている。サブマイコン１０７は、バッテリインターフェース２を介してバッテリ１０４の残容量を検出して、検出したバッテリ１０４の残容量をシステム制御用プロセッサ１００に通知する。
【００１１】
バッテリ１０４には、充電回路１０５および電源回路１０６が接続されている。充電回路１０５は、本ＤＶＤプレイヤ１０に接続されたＡＣアダプタなどを介して外部から供給された電力をバッテリ１０４に供給し、これによって、バッテリ１０４を充電する。電源回路１０６は、パワーボタンスイッチ１３がユーザによって押された時、本ＤＶＤプレイヤ１０の各コンポーネントに供給すべき電力をバッテリ１０４の電力から生成する。システムバス１にはメモリカードインターフェース１０８を介してメモリカード１０９が接続されている。メモリカード１０９は、データ等を格納するストレージデバイスとして機能する。
【００１２】
光ディスクドライブ３０は、モータドライバ１２１および光ピックアップ部１２２とから構成されている。モータドライバ１２１は、記録メディア１２０を回転駆動する。光ピックアップ部１２２は、記録メディア１２０にレーザ光を照射し、反射したレーザ光からＡＶ（オーディオ・ビデオ）信号を取得する。復調・訂正処理部１２３は、光ピックアップ部１２２によって取得されたＡＶ信号を復調し、復調したＡＶ信号を訂正する処理を実行する。また、復調・訂正処理部１２３は、復調・訂正されたＡＶ信号を動画像データと音声データとに分離して、動画像データをビデオデコーダ１２５に、音声データをオーディオデコーダ１２６にそれぞれ送信する。
【００１３】
ビデオデコーダ１２５は、動画像データをデコードし、デコードされた動画像データをＬＣＤ制御回路１２８およびビデオデジタルアナログ（Ｄ／Ａ）変換部１２９に送信する。ＬＣＤ制御回路１２８は、ビデオデコーダ１２５から送信された動画像データをＬＣＤパネル２０に表示するための表示信号を生成する。ビデオデジタルアナログ変換部１２９は、ビデオデコーダ１２５から送信された動画像データを外部に出力する。オーディオデコーダ１２６は、音声データをデコードし、デコードされた音声データをオーディオデジタルアナログ（Ｄ／Ａ）変換部１３０を介して外部または本ＤＶＤプレイヤ１０に設けられたスピーカに出力する。
【００１４】
ＮＡＮＤフラッシュＲＯＭ（不揮発性メモリ）２００には、ＤＶＤプレイヤ１０の起動処理のためのブートプログラムが格納されている。ＤＶＤプレイヤ１０の電源投入時には、システム制御用プロセッサ１００は、このＮＡＮＤフラッシュＲＯＭ２００からブートプログラムをロードし、当該ブートプログラムに従って起動処理を実行する。ここで、ＮＡＮＤ型のフラッシュＲＯＭは一般的に信頼性が低いことが知られており、ＮＡＮＤフラッシュＲＯＭ２００からのブートプログラムの読み出し時には読み出しエラーが発生し得る。従って、このようなエラーを想定した処理を予め準備しておき、当該エラーが発生した場合にも、ＤＶＤプレイヤ１０を確実に起動できるようにすることが求められる。
【００１５】
ここで、このＤＶＤプレイヤ１０は、ＮＡＮＤフラッシュＲＯＭ２００のエラーを訂正・検出するためのハードウエアを、システム制御用プロセッサ１００以外には備えていない。このため、システム制御用プロセッサ１００が、上記読み出しエラーをソフトウエア的に処理し、上述したような起動の確実性を確保する必要がある。以下、ＤＶＤプレイヤ１０において、このような起動の確実性を確保するために準備された構成について説明する。
【００１６】
図２に示すように、ＮＡＮＤフラッシュＲＯＭ２００は、記憶領域として多数のブロックを有している。そして、１つのブロックは、多数のページで構成されている。製造当初のＮＡＮＤフラッシュＲＯＭ２００では、先頭ブロックＢｈは、起動用ブロックＢＰとして確保されており、ブートプログラムＡ１を格納している。このブートプログラムＡ１には、少なくとも、起動時に必要なハードウエア初期化処理を行うプログラム、及びＮＡＮＤフラッシュＲＯＭ２００のエラー訂正・検出処理を行うプログラムが含まれている。ＤＶＤプレイヤ１０の起動時には、システム制御用プロセッサ１００（図１）は、この先頭ブロックＢｈからブートプログラムＡ１をロードし、当該ブートプログラムＡ１に従って起動処理を実行する。
【００１７】
更に、ＮＡＮＤフラッシュＲＯＭ２００では、製造当初から１つの予備用ブロックＢＳが確保されており、この予備用ブロックＢＳには上記ブートプログラムＡ１のバックアップ（以下「予備ブートプログラムＡ２」という）が格納されている。この予備ブートプログラムＡ２は、当然ながら、先頭ブロックＢｈに格納されたブートプログラムＡ１と同一のものである。また、ＮＡＮＤフラッシュＲＯＭ２００には、アプリケーションを含む製品ファームウエアであるシステムプログラムも格納されている。
【００１８】
このような構成における、ＤＶＤプレイヤ１０の電源投入時の起動処理について、図２及び図３を参照しながら説明する。まず、ＤＶＤプレイヤ１０の電源投入によりシステムに対するＰｏｗｅｒＯＮイベントが発生すると、システム制御用プロセッサ１００のリセットが解除され、システム制御用プロセッサ１００は、ＮＡＮＤフラッシュＲＯＭ２００の先頭ブロックＢｈの先頭ページＨｈにアクセスする。そして、先頭ブロックＢｈからブートプログラムＡ１をロードする（Ｓ３０２）。
【００１９】
ロード処理Ｓ３０２が正常に完了した場合には（Ｓ３０４でＮｏ）、システム制御用プロセッサ１００は、このブートプログラムＡ１のエラー訂正・検出ルーチンに従いながら、システムプログラムをロードする。その後、システム制御用プロセッサ１００は、ロードされたシステムプログラムによる通常の起動処理を行う（Ｓ３０６）。なお、処理Ｓ３０４において「ロード処理Ｓ３０２が正常に完了した場合」とは、ＥＣＣ(Error Correcting Code：誤り訂正符号)エラーが発生しない場合、又はＥＣＣエラーが発生してもＥＣＣによる誤り訂正でリカバリ可能であった場合をいう。
【００２０】
一方、一般的にＮＡＮＤ型のフラッシュＲＯＭは、データ読み出しのみのオペレーションにおいても、Read Distub等の要因によって読み出しエラーが発生することがあり、ＥＣＣを用いてもリカバリ不可能な場合がある。従って、上記ロード処理Ｓ３０２においても、リカバリ不能なＥＣＣエラー発生する場合がある。このように、上記ロード処理Ｓ３０２において、リカバリ不能なＥＣＣエラーが発生した場合には（Ｓ３０４でＹｅｓ）、予備用ブロックＢＳに格納された予備ブートプログラムＡ２を用いて、先頭ブロックＢｈのリカバリ処理が行われる（Ｓ３０８）。すなわち、先頭ブロックＢｈのブートプログラムＡ１が一旦消去され、その先頭ブロックＢｈに予備ブートプログラムＡ２のコピーが書き込みされることで、先頭ブロックＢｈの復旧が行われる。
【００２１】
このリカバリ処理Ｓ３０８において、正常な消去・書き込みが成功すれば（Ｓ３１０でＮｏ）、その後、システムプログラムがロードされ通常の起動処理が行われる（Ｓ３０６）。
【００２２】
一方、上記リカバリ処理Ｓ３０８において、エラーが発生することも考えられる。このように、リカバリ処理Ｓ３０８において消去時又は書き込み時のステータスエラーが発生すれば（Ｓ３１０でＹｅｓ）、システム制御用プロセッサ１００は、先頭ブロックＢｈをバッドブロック（不良ブロック）としてマーキングする（Ｓ３１２）。
【００２３】
そして、システム制御用プロセッサ１００は、新たに起動用ブロックとして採用するブロックを選択し（例えば、先頭ブロックＢｈの次の空きブロックが選択される）、選択されたブロックに予備用ブロックＢＳの予備ブートプログラムＡ２をコピーする（Ｓ３１４）。この処理Ｓ３１４において消去時又は書き込み時のステータスエラーが発生すれば（Ｓ３１６でＹｅｓ）、エラーが発生しないブロックが選択されるまで処理Ｓ３１２〜Ｓ３１４を繰り返す。このようにして、ブートプログラムＡ１が格納された新たな起動用ブロックＢＰ（２）が作成される。
【００２４】
続いて、不良ブロックとされた先頭ブロックＢｈの先頭ページＨｈに、新たな起動用ブロックＢＰ（２）の先頭ページＨ（２）のアドレスへのジャンプ命令を書き込む（Ｓ３１８）。この処理Ｓ３１８の書き込みが正常に完了すれば（Ｓ３２０でＹｅｓ）、リカバリは成功であり、その後、システムプログラムがロードされ通常の起動処理が行われる（Ｓ３２２）。一方、処理Ｓ３１８で消去時又は書き込み時のステータスエラーが発生すれば（Ｓ３２０でＹｅｓ）、リカバリは失敗であり、当該ＮＡＮＤフラッシュＲＯＭ２００は不良品として交換が必要となる（Ｓ３２４）。
【００２５】
上述の処理Ｓ３１２〜Ｓ３２２を経たＤＶＤプレイヤ１０では、次回の起動時には、まず、システム制御用プロセッサ１００が、ＮＡＮＤフラッシュＲＯＭ２００の先頭ブロックＢｈの先頭ページＨｈにアクセスし、当該先頭ページＨｈに記述されたジャンプ命令に従って、旧起動用ブロックＢＰ（２）の先頭ページＨ（２）にジャンプする。そして、起動用ブロックＢＰ（２）に格納されたブートプログラムＡ１をロードすることになる。
【００２６】
上述のように、このＤＶＤプレイヤ１０では、起動時において現在の起動用ブロックＢＰ（製造当初においては、先頭ブロックＢｈ）が不良の場合、その起動用ブロックＢＰは、バッドブロックとしてマーキングされ、代わりに新たな起動用ブロックＢＰが新規に作成され採用される。従って、長期間のＤＶＤプレイヤ１０の使用により、起動用ブロックＢＰのバッドブロック化・新規作成が繰り返されると、図４に示すように、ＮＡＮＤフラッシュＲＯＭ２００には、使用不可能な複数個のバッドブロックＢＰ（１）〜ＢＰ（ｎ−１）と、使用可能な１個の起動用ブロックＢＰ（ｎ）とが含まれる状態となる。なお、ここでは、ＮＡＮＤフラッシュＲＯＭ２００の歴代の起動用ブロックＢＰのうち、ｊ回目に採用されたものを「起動用ブロックＢＰ（ｊ）」で表し、当該起動用ブロックＢＰ（ｊ）の先頭ページを、「先頭ページＨ（ｊ）」で表すものとする（ｊ＝１，２，３，…）。
【００２７】
以下、起動用ブロックＢＰ（ｎ）が現在用いられている状態のＤＶＤプレイヤ１０の起動処理について、図４及び図５を参照し、説明する。まず、ＤＶＤプレイヤ１０の電源投入によりシステムに対するＰｏｗｅｒＯＮイベントが発生すると、システム制御用プロセッサ１００のリセットが解除され、システム制御用プロセッサ１００は、ＮＡＮＤフラッシュＲＯＭ２００の先頭ブロックＢｈの先頭ページＨｈにアクセスする。そして、システム制御用プロセッサ１００は、この先頭ページＨｈに記述されているジャンプ命令、及びバッドブロックとされた各旧起動用ブロックＢＰ（ｊ）の先頭ページＨ（ｊ）のジャンプ命令を経て、起動用ブロックＢＰ（ｎ）の先頭ページＨ（ｎ）にアクセスし（Ｓ５０１）、起動用ブロックＢＰ（ｎ）からブートプログラムＡ１をロードする（Ｓ５０２）。
【００２８】
ロード処理Ｓ５０２が正常に完了した場合には（Ｓ５０４でＮｏ）、システム制御用プロセッサ１００は、このブートプログラムＡ１のエラー訂正・検出ルーチンに従いながら、システムプログラムをロードする。その後、システム制御用プロセッサ１００は、ロードされたシステムプログラムによる通常の起動処理を行う（Ｓ５０６）。なお、処理Ｓ５０４において「ロード処理Ｓ５０２が正常に完了した場合」とは、ＥＣＣエラーが発生しない場合、又はＥＣＣエラーが発生してもＥＣＣによる誤り訂正でリカバリ可能であった場合をいう。
【００２９】
一方、一般的にＮＡＮＤ型のフラッシュＲＯＭは、データ読み出しのみのオペレーションにおいても、Read Distub等の要因によって読み出しエラーが発生することがあり、ＥＣＣを用いてもリカバリ不可能な場合がある。従って、上記ロード処理Ｓ５０２においても、リカバリ不能なＥＣＣエラーが発生する場合がある。このように、上記ロード処理Ｓ５０２において、リカバリ不能なＥＣＣエラーが発生した場合には（Ｓ５０４でＹｅｓ）、予備用ブロックＢＳに格納された予備ブートプログラムＡ２を用いて、起動用ブロックＢＰ（ｎ）のリカバリ処理が行われる（Ｓ５０８）。すなわち、起動用ブロックＢＰ（ｎ）のブートプログラムＡ１が一旦消去され、その起動用ブロックＢＰ（ｎ）に予備ブートプログラムＡ２のコピーが書き込みされることで、起動用ブロックＢＰ（ｎ）の復旧が行われる。
【００３０】
このリカバリ処理Ｓ５０８において、正常な消去・書き込みが成功すれば（Ｓ５１０でＮｏ）、その後、システムプログラムがロードされ通常の起動処理が行われる（Ｓ５０６）。
【００３１】
一方、上記リカバリ処理Ｓ５０８において、エラーが発生することも考えられる。このように、リカバリ処理Ｓ５０８において消去時又は書き込み時のステータスエラーが発生すれば（Ｓ５１０でＹｅｓ）、システム制御用プロセッサ１００は、現在の起動用ブロックＢＰ（ｎ）をバッドブロックとしてマーキングする（Ｓ５１２）。
【００３２】
そして、システム制御用プロセッサ１００は、新たに起動用ブロックとして採用するブロックを選択し（例えば、起動用ブロックＢＰ（ｎ）の次の空きブロックが選択される）、選択されたブロックに予備用ブロックＢＳの予備ブートプログラムＡ２をコピーする（Ｓ５１４）。この処理Ｓ５１４のコピーで消去時又は書き込み時のステータスエラーが発生すれば（Ｓ５１６でＹｅｓ）、エラーが発生しないブロックが選択されるまで処理Ｓ５１２〜Ｓ５１４を繰り返す。このようにして、ブートプログラムＡ１が格納された新たな起動用ブロックＢＰ（ｎ＋１）が作成される。
【００３３】
続いて、不良ブロックとされた旧い起動用ブロックＢＰ（ｎ）の先頭ページＨ（ｎ）に、新たな起動用ブロックＢＰ（ｎ＋１）の先頭ページＨ（ｎ+１）のアドレスへのジャンプ命令を書き込む（Ｓ５１８）。この処理Ｓ５１８の書き込みが正常に完了すれば（Ｓ５２０でＹｅｓ）、リカバリは成功であり、その後、システムプログラムがロードされ通常の起動処理が行われる（Ｓ５２２）。一方、処理Ｓ５１８で消去時又は書き込み時のステータスエラーが発生すれば（Ｓ５２０でＹｅｓ）、リカバリは失敗であり、当該ＮＡＮＤフラッシュＲＯＭ２００は不良品として交換が必要となる（Ｓ５２４）。
【００３４】
上述の処理Ｓ５１２〜Ｓ５２２を経たＤＶＤプレイヤ１０では、次回の起動時には、まず、システム制御用プロセッサ１００が、ＮＡＮＤフラッシュＲＯＭ２００の先頭ブロックＢｈの先頭ページＨｈにアクセスし、当該先頭ページＨｈに記述されたジャンプ命令に従って、旧起動用ブロックＢＰ（２）の先頭ページＨ（２）にジャンプする。そして、先頭ページＨ（２）に記述されたジャンプ命令に従って、旧起動用ブロックＢＰ（３）の先頭ページＨ（３）にジャンプする。以下同様にして、歴代の旧起動用ブロックＢＰの先頭ページＨ（ｊ）に記述されたジャンプ命令を順次繰り返し（Ｓ５０１）、最終的に、最新の起動用ブロックＢＰ（ｎ+１）に格納されたブートプログラムＡ１をロードすることになる（Ｓ５０２）。
【００３５】
なお、前述の通り、製造当初のＤＶＤプレイヤ１０においては、先頭ブロックＢｈが、起動用ブロックに設定されている。従って、図３において説明した製造当初のＤＶＤプレイヤ１０の起動処理は、図５においてｎ＝１とし、先頭ブロックＢｈを起動用ブロックＢＰ（１）とした起動処理として説明できる。
【００３６】
以上のようなＮＡＮＤフラッシュＲＯＭ２００の構成及び起動処理によれば、起動用ブロックＢＰ（ｎ）からのブートプログラムＡ１のロード処理、Ｓ３０２，Ｓ５０２において、ＥＣＣによるリカバリが不可能なエラーが発生したとしても、予備用ブロックＢＳに格納された予備ブートプログラムＡ２を用いて、起動用ブロックＢＰ（ｎ）のリカバリ処理Ｓ３０８，Ｓ５０８が行われる。その結果、ＤＶＤプレイヤ１０の起動の確実性を確保することができる。
【００３７】
また、読み出しエラーが発生した起動用ブロックＢＰ（ｎ）を、直ちに不良ブロックとせずに、予備用ブロックＢＳからのリカバリ処理を試みることから、不良ブロックの増加が抑えられ、メモリ容量の無駄が更に少なくなる。
【００３８】
また、リカバリ処理Ｓ３０８，Ｓ５０８において、消去エラー又は書き込みエラーが発生した場合には、この起動用ブロックＢＰ（ｎ）をバッドブロックとしてマーキングし、新たな起動用ブロックＢＰ（ｎ+１）を作成することとしている。従って、上記起動用ブロックＢＰ（ｎ）自体のリカバリ処理Ｓ３０８，Ｓ５０８が不可能であっても、次の起動用ブロックＢＰ（ｎ+１）を作成する処理により、ＤＶＤプレイヤ１０の起動の確実性を確保することができる。すなわち、このようなＮＡＮＤフラッシュＲＯＭ２００の構成及び起動処理によれば、起動用ブロックＢＰの第１ページにエラーが発生しない限り（Ｓ３２０〜Ｓ３２４，Ｓ５２０〜Ｓ５２４）、起動失敗及びＮＡＮＤフラッシュＲＯＭ２００不良が発生しない。その結果、ＮＡＮＤフラッシュＲＯＭ２００の不良によるＤＶＤプレイヤ１０の起動不良の発生確率が低減され、ＤＶＤプレイヤ１０の起動の確実性を確保することができる。
【００３９】
また、製造当初においては、ＮＡＮＤフラッシュＲＯＭ２００に起動用ブロックＢＰ及び予備用ブロックＢＳを準備しておけばよいので、製造当初から多数のブロックをバックアップ用として確保する必要がなく、メモリ容量の無駄が更に少なくなる。また、このＤＶＤプレイヤ１０は、ＮＡＮＤフラッシュＲＯＭ２００のエラーを訂正・検出するためのハードウエアを、備えなくても、上述のように起動の確実性が確保されるので、製造コストの低減を図ることができる。
【００４０】
（第２実施形態）
この第２実施形態では、前述の処理Ｓ５１８（図５）に代えて、新起動用ブロックＢＰ（ｎ＋１）の先頭ページＨ（ｎ＋１）へのジャンプ命令を、先頭ブロックＢｈの先頭ページＨｈに書き込む処理（Ｓ６１８）が行われる。そして、このような処理を経たＤＶＤプレイヤでは、次回の起動時には、まず、システム制御用プロセッサ１００が、ＮＡＮＤフラッシュＲＯＭ２００の先頭ブロックＢｈの先頭ページＨｈにアクセスし、当該先頭ページＨｈに記述されたジャンプ命令に従って、最新の起動用ブロックＢＰ（ｎ＋１）の先頭ページＨ（ｎ＋１）にアクセスする（６０１）。そして、最新の起動用ブロックＢＰ（ｎ+１）に格納されたブートプログラムＡ１をロードすることになる（Ｓ５０２）。なお、この第２実施形態において、第１実施形態と同一又は同等の処理については、図面に同一の符号を付し、重複する説明を省略する。
【００４１】
このような第２実施形態のＤＶＤプレイヤ及び起動方法によっても、前述の第１実施形態のＤＶＤプレイヤ１０及び起動方法と同様の作用効果を奏すると共に、処理Ｓ５０１（図５）における複数回のジャンプ処理を省略することができる。ただし、この第２実施形態のＤＶＤプレイヤ及び起動方法では、先頭ブロックＢｈの先頭ページＨｈを、毎回書き換えることで、書き換え時のエラーが発生する確率が大きくなってしまう。これに対し、前述の第１実施形態のＤＶＤプレイヤ１０及び起動方法は、このような問題が発生しにくい点で優れている。
【００４２】
本発明は、前述した実施形態に限定されるものではない。例えば、上述の実施形態では、本発明をＤＶＤプレイヤに適用しているが、本発明は、例えば、ＤＶＤレコーダ、携帯電話、ミュージックプレイヤ、映像再生が可能なミュージックプレイヤ等の様々な情報処理装置に適用することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明に係る情報処理装置の一実施形態としてのＤＶＤプレイヤのシステム構成を示すブロック図である。
【図２】ＮＡＮＤフラッシュＲＯＭの記憶領域の構成の一例を示す図である。
【図３】第１実施形態のＤＶＤプレイヤにおける起動処理の一例を示すフローチャートである。
【図４】ＮＡＮＤフラッシュＲＯＭの記憶領域の構成の他の例を示す図である。
【図５】第１実施形態のＤＶＤプレイヤにおける起動処理の他の例を示すフローチャートである。
【図６】第２実施形態のＤＶＤプレイヤにおける起動処理の一例を示すフローチャートである。
【符号の説明】
【００４４】
１０…ＤＶＤプレイヤ（情報処理装置）、１００…システム制御用プロセッサ（システムコントローラ）、２００…ＮＡＮＤフラッシュＲＯＭ（不揮発性メモリ）、Ａ１…ブートプログラム、Ａ２…予備ブートプログラム、Ｂｈ…先頭ブロック、ＢＰ（ｎ）…起動用ブロック、ＢＳ…予備用ブロック、Ｈｈ，Ｈ（ｎ）…先頭ページ。
【図１】
2009157632.tif 000003
【図２】
2009157632.tif 000004
【図３】
2009157632.tif 000005
【図４】
2009157632.tif 000006
【図５】
2009157632.tif 000007
【図６】
2009157632.tif 000008