JP2009157632A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2009157632A JP2009157632A JP2007334832A JP2007334832A JP2009157632A JP 2009157632 A JP2009157632 A JP 2009157632A JP 2007334832 A JP2007334832 A JP 2007334832A JP 2007334832 A JP2007334832 A JP 2007334832A JP 2009157632 A JP2009157632 A JP 2009157632A
- Authority
- JP
- Japan
- Prior art keywords
- block
- boot program
- boot
- startup
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (AREA)
Abstract
【課題】ブートプログラムが格納されるメモリの必要容量を抑えながら、装置の確実な起動を可能とする情報処理装置を提供する。
【解決手段】DVDプレイヤは、NANDフラッシュROM200と、起動処理を実行するシステム制御用プロセッサとを備える。NANDフラッシュROM200は、ブートプログラムA1を格納する起動用ブロックBP(n)と、予備ブートプログラムA2を格納する予備用ブロックBSとを有している。システム制御用プロセッサは、起動用ブロックBP(n)からのブートプログラムA1の読み出し時に、誤り訂正符号を用いた誤り訂正が不可能な読み出しエラーが発生した場合には、予備ブートプログラムA2を用いて起動用ブロックBP(n)をリカバリする。
【選択図】 図2
【解決手段】DVDプレイヤは、NANDフラッシュROM200と、起動処理を実行するシステム制御用プロセッサとを備える。NANDフラッシュROM200は、ブートプログラムA1を格納する起動用ブロックBP(n)と、予備ブートプログラムA2を格納する予備用ブロックBSとを有している。システム制御用プロセッサは、起動用ブロックBP(n)からのブートプログラムA1の読み出し時に、誤り訂正符号を用いた誤り訂正が不可能な読み出しエラーが発生した場合には、予備ブートプログラムA2を用いて起動用ブロックBP(n)をリカバリする。
【選択図】 図2
Description
本発明は、不揮発性メモリに格納されたブートプログラムが読み出されて起動処理が実行される情報処理装置に関するものである。
従来、このような分野の技術として、下記特許文献1に記載の半導体装置が知られている。この半導体装置は、NAND型フラッシュメモリからブートプログラムを読み出して起動処理を実行する。この装置のNAND型フラッシュメモリには、複数のブロックにそれぞれ同一のブートプログラムが記憶されている。そして、そのうち1つのブロックからのブートプログラム読み出しに基づいて、当該ブロックが不良であると判定された場合には、代わりに他のブロックに記憶されたブートプログラムが読み出される。このようにして、メモリのブロックに不良がある場合にも、装置の起動を可能とすることが提案されている。
特開2005−215824号公報
しかしながら、このような半導体装置の方式で、装置の起動をより確実に可能にするためには、予め多数のブロックに同一のブートプログラムを格納しておく必要があるので、当初からのメモリの必要容量が無駄に大きくなってしまう。
そこで、本発明は、ブートプログラムが格納されるメモリの必要容量を抑えながら、装置の確実な起動を可能とする情報処理装置を提供することを目的とする。
本発明の情報処理装置は、ブートプログラムが格納される起動用ブロックと、ブートプログラムの予備が格納される予備用ブロックと、を有する不揮発性メモリと、起動用ブロックからブートプログラムを読み出し、当該ブートプログラムに従って起動処理を実行するシステムコントローラと、を備え、不揮発性メモリのエラー訂正・検出手段を、システムコントローラ以外には備えておらず、システムコントローラは、起動用ブロックからのブートプログラムの読み出し時に、誤り訂正符号による誤り訂正が不可能な読み出しエラーが発生した場合には、予備用ブロックに格納されたブートプログラムの予備を用いて、起動用ブロックをリカバリするリカバリ処理を行うことを特徴とする。
本発明の情報処理装置によれば、ブートプログラムが格納されるメモリの必要容量を抑えながら、装置の確実な起動が可能となる。
以下、本発明に係る情報処理装置の一実施形態として、DVDプレイヤ10について図面を参照しながら詳細に説明する。
図1に示すように、本DVDプレイヤ10は、システム制御用プロセッサ100、システムメモリ103、バッテリ104、充電回路105、電源回路106、サブマイコン107、メモリカードインターフェース108、モータドライバ121、光ピックアップ部122、復調・訂正処理部123、フレームメモリ124、ビデオデコーダ125、オーディオデコーダ126、システムバスインターフェース127、LCD制御回路128、ビデオD/A変換部129、オーディオD/A変換部130、及びNANDフラッシュROM200等を備えている。
システム制御用プロセッサ100は、本DVDプレイヤ10の各コンポーネントを制御するプロセッサである。また、システム制御用プロセッサ100は、システムメモリ103に格納された消費電力情報を読み出す。さらに、システム制御用プロセッサ100は、サブマイコン107との通信を実行する機能を有する。システム制御用プロセッサ100はシステムバス1に接続されている。
サブマイコン107は、操作スイッチ群14および赤外線受光部15などから入力された要求操作を受け付け、受け付けた操作要求をシステム制御用プロセッサ100に通知する。サブマイコン107には、バッテリインターフェース2を介してバッテリ104が接続されている。また、サブマイコン107には充電制御インターフェース3を介して充電回路105が接続されている。サブマイコン107は、バッテリインターフェース2を介してバッテリ104の残容量を検出して、検出したバッテリ104の残容量をシステム制御用プロセッサ100に通知する。
バッテリ104には、充電回路105および電源回路106が接続されている。充電回路105は、本DVDプレイヤ10に接続されたACアダプタなどを介して外部から供給された電力をバッテリ104に供給し、これによって、バッテリ104を充電する。電源回路106は、パワーボタンスイッチ13がユーザによって押された時、本DVDプレイヤ10の各コンポーネントに供給すべき電力をバッテリ104の電力から生成する。システムバス1にはメモリカードインターフェース108を介してメモリカード109が接続されている。メモリカード109は、データ等を格納するストレージデバイスとして機能する。
光ディスクドライブ30は、モータドライバ121および光ピックアップ部122とから構成されている。モータドライバ121は、記録メディア120を回転駆動する。光ピックアップ部122は、記録メディア120にレーザ光を照射し、反射したレーザ光からAV(オーディオ・ビデオ)信号を取得する。復調・訂正処理部123は、光ピックアップ部122によって取得されたAV信号を復調し、復調したAV信号を訂正する処理を実行する。また、復調・訂正処理部123は、復調・訂正されたAV信号を動画像データと音声データとに分離して、動画像データをビデオデコーダ125に、音声データをオーディオデコーダ126にそれぞれ送信する。
ビデオデコーダ125は、動画像データをデコードし、デコードされた動画像データをLCD制御回路128およびビデオデジタルアナログ(D/A)変換部129に送信する。LCD制御回路128は、ビデオデコーダ125から送信された動画像データをLCDパネル20に表示するための表示信号を生成する。ビデオデジタルアナログ変換部129は、ビデオデコーダ125から送信された動画像データを外部に出力する。オーディオデコーダ126は、音声データをデコードし、デコードされた音声データをオーディオデジタルアナログ(D/A)変換部130を介して外部または本DVDプレイヤ10に設けられたスピーカに出力する。
NANDフラッシュROM(不揮発性メモリ)200には、DVDプレイヤ10の起動処理のためのブートプログラムが格納されている。DVDプレイヤ10の電源投入時には、システム制御用プロセッサ100は、このNANDフラッシュROM200からブートプログラムをロードし、当該ブートプログラムに従って起動処理を実行する。ここで、NAND型のフラッシュROMは一般的に信頼性が低いことが知られており、NANDフラッシュROM200からのブートプログラムの読み出し時には読み出しエラーが発生し得る。従って、このようなエラーを想定した処理を予め準備しておき、当該エラーが発生した場合にも、DVDプレイヤ10を確実に起動できるようにすることが求められる。
ここで、このDVDプレイヤ10は、NANDフラッシュROM200のエラーを訂正・検出するためのハードウエアを、システム制御用プロセッサ100以外には備えていない。このため、システム制御用プロセッサ100が、上記読み出しエラーをソフトウエア的に処理し、上述したような起動の確実性を確保する必要がある。以下、DVDプレイヤ10において、このような起動の確実性を確保するために準備された構成について説明する。
図2に示すように、NANDフラッシュROM200は、記憶領域として多数のブロックを有している。そして、1つのブロックは、多数のページで構成されている。製造当初のNANDフラッシュROM200では、先頭ブロックBhは、起動用ブロックBPとして確保されており、ブートプログラムA1を格納している。このブートプログラムA1には、少なくとも、起動時に必要なハードウエア初期化処理を行うプログラム、及びNANDフラッシュROM200のエラー訂正・検出処理を行うプログラムが含まれている。DVDプレイヤ10の起動時には、システム制御用プロセッサ100(図1)は、この先頭ブロックBhからブートプログラムA1をロードし、当該ブートプログラムA1に従って起動処理を実行する。
更に、NANDフラッシュROM200では、製造当初から1つの予備用ブロックBSが確保されており、この予備用ブロックBSには上記ブートプログラムA1のバックアップ(以下「予備ブートプログラムA2」という)が格納されている。この予備ブートプログラムA2は、当然ながら、先頭ブロックBhに格納されたブートプログラムA1と同一のものである。また、NANDフラッシュROM200には、アプリケーションを含む製品ファームウエアであるシステムプログラムも格納されている。
このような構成における、DVDプレイヤ10の電源投入時の起動処理について、図2及び図3を参照しながら説明する。まず、DVDプレイヤ10の電源投入によりシステムに対するPowerONイベントが発生すると、システム制御用プロセッサ100のリセットが解除され、システム制御用プロセッサ100は、NANDフラッシュROM200の先頭ブロックBhの先頭ページHhにアクセスする。そして、先頭ブロックBhからブートプログラムA1をロードする(S302)。
ロード処理S302が正常に完了した場合には(S304でNo)、システム制御用プロセッサ100は、このブートプログラムA1のエラー訂正・検出ルーチンに従いながら、システムプログラムをロードする。その後、システム制御用プロセッサ100は、ロードされたシステムプログラムによる通常の起動処理を行う(S306)。なお、処理S304において「ロード処理S302が正常に完了した場合」とは、ECC(Error Correcting Code:誤り訂正符号)エラーが発生しない場合、又はECCエラーが発生してもECCによる誤り訂正でリカバリ可能であった場合をいう。
一方、一般的にNAND型のフラッシュROMは、データ読み出しのみのオペレーションにおいても、Read Distub等の要因によって読み出しエラーが発生することがあり、ECCを用いてもリカバリ不可能な場合がある。従って、上記ロード処理S302においても、リカバリ不能なECCエラー発生する場合がある。このように、上記ロード処理S302において、リカバリ不能なECCエラーが発生した場合には(S304でYes)、予備用ブロックBSに格納された予備ブートプログラムA2を用いて、先頭ブロックBhのリカバリ処理が行われる(S308)。すなわち、先頭ブロックBhのブートプログラムA1が一旦消去され、その先頭ブロックBhに予備ブートプログラムA2のコピーが書き込みされることで、先頭ブロックBhの復旧が行われる。
このリカバリ処理S308において、正常な消去・書き込みが成功すれば(S310でNo)、その後、システムプログラムがロードされ通常の起動処理が行われる(S306)。
一方、上記リカバリ処理S308において、エラーが発生することも考えられる。このように、リカバリ処理S308において消去時又は書き込み時のステータスエラーが発生すれば(S310でYes)、システム制御用プロセッサ100は、先頭ブロックBhをバッドブロック(不良ブロック)としてマーキングする(S312)。
そして、システム制御用プロセッサ100は、新たに起動用ブロックとして採用するブロックを選択し(例えば、先頭ブロックBhの次の空きブロックが選択される)、選択されたブロックに予備用ブロックBSの予備ブートプログラムA2をコピーする(S314)。この処理S314において消去時又は書き込み時のステータスエラーが発生すれば(S316でYes)、エラーが発生しないブロックが選択されるまで処理S312〜S314を繰り返す。このようにして、ブートプログラムA1が格納された新たな起動用ブロックBP(2)が作成される。
続いて、不良ブロックとされた先頭ブロックBhの先頭ページHhに、新たな起動用ブロックBP(2)の先頭ページH(2)のアドレスへのジャンプ命令を書き込む(S318)。この処理S318の書き込みが正常に完了すれば(S320でYes)、リカバリは成功であり、その後、システムプログラムがロードされ通常の起動処理が行われる(S322)。一方、処理S318で消去時又は書き込み時のステータスエラーが発生すれば(S320でYes)、リカバリは失敗であり、当該NANDフラッシュROM200は不良品として交換が必要となる(S324)。
上述の処理S312〜S322を経たDVDプレイヤ10では、次回の起動時には、まず、システム制御用プロセッサ100が、NANDフラッシュROM200の先頭ブロックBhの先頭ページHhにアクセスし、当該先頭ページHhに記述されたジャンプ命令に従って、旧起動用ブロックBP(2)の先頭ページH(2)にジャンプする。そして、起動用ブロックBP(2)に格納されたブートプログラムA1をロードすることになる。
上述のように、このDVDプレイヤ10では、起動時において現在の起動用ブロックBP(製造当初においては、先頭ブロックBh)が不良の場合、その起動用ブロックBPは、バッドブロックとしてマーキングされ、代わりに新たな起動用ブロックBPが新規に作成され採用される。従って、長期間のDVDプレイヤ10の使用により、起動用ブロックBPのバッドブロック化・新規作成が繰り返されると、図4に示すように、NANDフラッシュROM200には、使用不可能な複数個のバッドブロックBP(1)〜BP(n−1)と、使用可能な1個の起動用ブロックBP(n)とが含まれる状態となる。なお、ここでは、NANDフラッシュROM200の歴代の起動用ブロックBPのうち、j回目に採用されたものを「起動用ブロックBP(j)」で表し、当該起動用ブロックBP(j)の先頭ページを、「先頭ページH(j)」で表すものとする(j=1,2,3,…)。
以下、起動用ブロックBP(n)が現在用いられている状態のDVDプレイヤ10の起動処理について、図4及び図5を参照し、説明する。まず、DVDプレイヤ10の電源投入によりシステムに対するPowerONイベントが発生すると、システム制御用プロセッサ100のリセットが解除され、システム制御用プロセッサ100は、NANDフラッシュROM200の先頭ブロックBhの先頭ページHhにアクセスする。そして、システム制御用プロセッサ100は、この先頭ページHhに記述されているジャンプ命令、及びバッドブロックとされた各旧起動用ブロックBP(j)の先頭ページH(j)のジャンプ命令を経て、起動用ブロックBP(n)の先頭ページH(n)にアクセスし(S501)、起動用ブロックBP(n)からブートプログラムA1をロードする(S502)。
ロード処理S502が正常に完了した場合には(S504でNo)、システム制御用プロセッサ100は、このブートプログラムA1のエラー訂正・検出ルーチンに従いながら、システムプログラムをロードする。その後、システム制御用プロセッサ100は、ロードされたシステムプログラムによる通常の起動処理を行う(S506)。なお、処理S504において「ロード処理S502が正常に完了した場合」とは、ECCエラーが発生しない場合、又はECCエラーが発生してもECCによる誤り訂正でリカバリ可能であった場合をいう。
一方、一般的にNAND型のフラッシュROMは、データ読み出しのみのオペレーションにおいても、Read Distub等の要因によって読み出しエラーが発生することがあり、ECCを用いてもリカバリ不可能な場合がある。従って、上記ロード処理S502においても、リカバリ不能なECCエラーが発生する場合がある。このように、上記ロード処理S502において、リカバリ不能なECCエラーが発生した場合には(S504でYes)、予備用ブロックBSに格納された予備ブートプログラムA2を用いて、起動用ブロックBP(n)のリカバリ処理が行われる(S508)。すなわち、起動用ブロックBP(n)のブートプログラムA1が一旦消去され、その起動用ブロックBP(n)に予備ブートプログラムA2のコピーが書き込みされることで、起動用ブロックBP(n)の復旧が行われる。
このリカバリ処理S508において、正常な消去・書き込みが成功すれば(S510でNo)、その後、システムプログラムがロードされ通常の起動処理が行われる(S506)。
一方、上記リカバリ処理S508において、エラーが発生することも考えられる。このように、リカバリ処理S508において消去時又は書き込み時のステータスエラーが発生すれば(S510でYes)、システム制御用プロセッサ100は、現在の起動用ブロックBP(n)をバッドブロックとしてマーキングする(S512)。
そして、システム制御用プロセッサ100は、新たに起動用ブロックとして採用するブロックを選択し(例えば、起動用ブロックBP(n)の次の空きブロックが選択される)、選択されたブロックに予備用ブロックBSの予備ブートプログラムA2をコピーする(S514)。この処理S514のコピーで消去時又は書き込み時のステータスエラーが発生すれば(S516でYes)、エラーが発生しないブロックが選択されるまで処理S512〜S514を繰り返す。このようにして、ブートプログラムA1が格納された新たな起動用ブロックBP(n+1)が作成される。
続いて、不良ブロックとされた旧い起動用ブロックBP(n)の先頭ページH(n)に、新たな起動用ブロックBP(n+1)の先頭ページH(n+1)のアドレスへのジャンプ命令を書き込む(S518)。この処理S518の書き込みが正常に完了すれば(S520でYes)、リカバリは成功であり、その後、システムプログラムがロードされ通常の起動処理が行われる(S522)。一方、処理S518で消去時又は書き込み時のステータスエラーが発生すれば(S520でYes)、リカバリは失敗であり、当該NANDフラッシュROM200は不良品として交換が必要となる(S524)。
上述の処理S512〜S522を経たDVDプレイヤ10では、次回の起動時には、まず、システム制御用プロセッサ100が、NANDフラッシュROM200の先頭ブロックBhの先頭ページHhにアクセスし、当該先頭ページHhに記述されたジャンプ命令に従って、旧起動用ブロックBP(2)の先頭ページH(2)にジャンプする。そして、先頭ページH(2)に記述されたジャンプ命令に従って、旧起動用ブロックBP(3)の先頭ページH(3)にジャンプする。以下同様にして、歴代の旧起動用ブロックBPの先頭ページH(j)に記述されたジャンプ命令を順次繰り返し(S501)、最終的に、最新の起動用ブロックBP(n+1)に格納されたブートプログラムA1をロードすることになる(S502)。
なお、前述の通り、製造当初のDVDプレイヤ10においては、先頭ブロックBhが、起動用ブロックに設定されている。従って、図3において説明した製造当初のDVDプレイヤ10の起動処理は、図5においてn=1とし、先頭ブロックBhを起動用ブロックBP(1)とした起動処理として説明できる。
以上のようなNANDフラッシュROM200の構成及び起動処理によれば、起動用ブロックBP(n)からのブートプログラムA1のロード処理、S302,S502において、ECCによるリカバリが不可能なエラーが発生したとしても、予備用ブロックBSに格納された予備ブートプログラムA2を用いて、起動用ブロックBP(n)のリカバリ処理S308,S508が行われる。その結果、DVDプレイヤ10の起動の確実性を確保することができる。
また、読み出しエラーが発生した起動用ブロックBP(n)を、直ちに不良ブロックとせずに、予備用ブロックBSからのリカバリ処理を試みることから、不良ブロックの増加が抑えられ、メモリ容量の無駄が更に少なくなる。
また、リカバリ処理S308,S508において、消去エラー又は書き込みエラーが発生した場合には、この起動用ブロックBP(n)をバッドブロックとしてマーキングし、新たな起動用ブロックBP(n+1)を作成することとしている。従って、上記起動用ブロックBP(n)自体のリカバリ処理S308,S508が不可能であっても、次の起動用ブロックBP(n+1)を作成する処理により、DVDプレイヤ10の起動の確実性を確保することができる。すなわち、このようなNANDフラッシュROM200の構成及び起動処理によれば、起動用ブロックBPの第1ページにエラーが発生しない限り(S320〜S324,S520〜S524)、起動失敗及びNANDフラッシュROM200不良が発生しない。その結果、NANDフラッシュROM200の不良によるDVDプレイヤ10の起動不良の発生確率が低減され、DVDプレイヤ10の起動の確実性を確保することができる。
また、製造当初においては、NANDフラッシュROM200に起動用ブロックBP及び予備用ブロックBSを準備しておけばよいので、製造当初から多数のブロックをバックアップ用として確保する必要がなく、メモリ容量の無駄が更に少なくなる。また、このDVDプレイヤ10は、NANDフラッシュROM200のエラーを訂正・検出するためのハードウエアを、備えなくても、上述のように起動の確実性が確保されるので、製造コストの低減を図ることができる。
(第2実施形態)
この第2実施形態では、前述の処理S518(図5)に代えて、新起動用ブロックBP(n+1)の先頭ページH(n+1)へのジャンプ命令を、先頭ブロックBhの先頭ページHhに書き込む処理(S618)が行われる。そして、このような処理を経たDVDプレイヤでは、次回の起動時には、まず、システム制御用プロセッサ100が、NANDフラッシュROM200の先頭ブロックBhの先頭ページHhにアクセスし、当該先頭ページHhに記述されたジャンプ命令に従って、最新の起動用ブロックBP(n+1)の先頭ページH(n+1)にアクセスする(601)。そして、最新の起動用ブロックBP(n+1)に格納されたブートプログラムA1をロードすることになる(S502)。なお、この第2実施形態において、第1実施形態と同一又は同等の処理については、図面に同一の符号を付し、重複する説明を省略する。
この第2実施形態では、前述の処理S518(図5)に代えて、新起動用ブロックBP(n+1)の先頭ページH(n+1)へのジャンプ命令を、先頭ブロックBhの先頭ページHhに書き込む処理(S618)が行われる。そして、このような処理を経たDVDプレイヤでは、次回の起動時には、まず、システム制御用プロセッサ100が、NANDフラッシュROM200の先頭ブロックBhの先頭ページHhにアクセスし、当該先頭ページHhに記述されたジャンプ命令に従って、最新の起動用ブロックBP(n+1)の先頭ページH(n+1)にアクセスする(601)。そして、最新の起動用ブロックBP(n+1)に格納されたブートプログラムA1をロードすることになる(S502)。なお、この第2実施形態において、第1実施形態と同一又は同等の処理については、図面に同一の符号を付し、重複する説明を省略する。
このような第2実施形態のDVDプレイヤ及び起動方法によっても、前述の第1実施形態のDVDプレイヤ10及び起動方法と同様の作用効果を奏すると共に、処理S501(図5)における複数回のジャンプ処理を省略することができる。ただし、この第2実施形態のDVDプレイヤ及び起動方法では、先頭ブロックBhの先頭ページHhを、毎回書き換えることで、書き換え時のエラーが発生する確率が大きくなってしまう。これに対し、前述の第1実施形態のDVDプレイヤ10及び起動方法は、このような問題が発生しにくい点で優れている。
本発明は、前述した実施形態に限定されるものではない。例えば、上述の実施形態では、本発明をDVDプレイヤに適用しているが、本発明は、例えば、DVDレコーダ、携帯電話、ミュージックプレイヤ、映像再生が可能なミュージックプレイヤ等の様々な情報処理装置に適用することができる。
10…DVDプレイヤ(情報処理装置)、100…システム制御用プロセッサ(システムコントローラ)、200…NANDフラッシュROM(不揮発性メモリ)、A1…ブートプログラム、A2…予備ブートプログラム、Bh…先頭ブロック、BP(n)…起動用ブロック、BS…予備用ブロック、Hh,H(n)…先頭ページ。
Claims (4)
- ブートプログラムが格納される起動用ブロックと、前記ブートプログラムの予備が格納される予備用ブロックと、を有する不揮発性メモリと、
前記起動用ブロックから前記ブートプログラムを読み出し、当該ブートプログラムに従って起動処理を実行するシステムコントローラと、を備え、
前記不揮発性メモリのエラー訂正・検出手段を、前記システムコントローラ以外には備えておらず、
前記システムコントローラは、
前記起動用ブロックからの前記ブートプログラムの読み出し時に、誤り訂正符号による誤り訂正が不可能な読み出しエラーが発生した場合には、
前記予備用ブロックに格納された前記ブートプログラムの予備を用いて、前記起動用ブロックをリカバリするリカバリ処理を行うことを特徴とする情報処理装置。 - 前記システムコントローラは、
前記リカバリ処理において前記起動用ブロックの書き込みエラー又は消去エラーが発生した場合には、
前記不揮発性メモリの前記起動用ブロックを不良ブロックとし、
前記起動用ブロック及び前記予備用ブロック以外の新たな起動用ブロックを選択して当該新たな起動用ブロックに前記予備のブートプログラムをコピーし、
前記不良ブロックとされた前記起動用ブロックの先頭ページに、前記新たな起動用ブロックの先頭ページへジャンプする命令を書き込むことを特徴とする請求項1に記載の情報処理装置。 - 前記システムコントローラは、
前記リカバリ処理において前記起動用ブロックの書き込みエラー又は消去エラーが発生した場合には、
前記不揮発性メモリの前記起動用ブロックを不良ブロックとし、
前記起動用ブロック及び前記予備用ブロック以外の新たな起動用ブロックを選択して当該新たな起動用ブロックに前記予備のブートプログラムをコピーし、
前記不揮発性メモリの先頭ブロックの先頭ページに、前記新たな起動用ブロックの先頭ページへジャンプする命令を書き込むことを特徴とする請求項1に記載の情報処理装置。 - 前記ブートプログラムには、
ハードウエアの初期化処理機能及び前記不揮発性メモリのエラー訂正・検出処理機能が少なくとも含まれていることを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007334832A JP2009157632A (ja) | 2007-12-26 | 2007-12-26 | 情報処理装置 |
US12/268,762 US20090172467A1 (en) | 2007-12-26 | 2008-11-11 | Information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007334832A JP2009157632A (ja) | 2007-12-26 | 2007-12-26 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009157632A true JP2009157632A (ja) | 2009-07-16 |
Family
ID=40800141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007334832A Pending JP2009157632A (ja) | 2007-12-26 | 2007-12-26 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090172467A1 (ja) |
JP (1) | JP2009157632A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012140710A1 (ja) * | 2011-04-14 | 2012-10-18 | パナソニック株式会社 | ブート制御装置、ブートシステム及びブート制御方法 |
JP2013137732A (ja) * | 2011-11-30 | 2013-07-11 | Mitsubishi Electric Corp | 情報処理装置、放送受信装置及びソフトウェア起動方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4840859B2 (ja) * | 2006-05-10 | 2011-12-21 | ルネサスエレクトロニクス株式会社 | 半導体装置、及び起動方法 |
JP5367357B2 (ja) * | 2008-12-24 | 2013-12-11 | 株式会社メガチップス | メモリシステムおよびコンピュータシステム |
CN104169876B (zh) * | 2012-10-30 | 2018-11-23 | 深圳市多尼卡电子技术有限公司 | 一种播放器的播放控制方法及系统 |
JP6723863B2 (ja) * | 2016-08-01 | 2020-07-15 | オリンパス株式会社 | 組み込みシステム、撮影機器及びリフレッシュ方法 |
JP2020087293A (ja) * | 2018-11-30 | 2020-06-04 | キヤノン株式会社 | 情報処理装置および情報処理装置の制御方法 |
KR20200079851A (ko) * | 2018-12-26 | 2020-07-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US11003369B1 (en) * | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US20240193042A1 (en) * | 2022-03-17 | 2024-06-13 | Micron Technology, Inc. | Error information storage for boot-up procedures |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6018806A (en) * | 1995-10-16 | 2000-01-25 | Packard Bell Nec | Method and system for rebooting a computer having corrupted memory using an external jumper |
US6601167B1 (en) * | 2000-01-14 | 2003-07-29 | Advanced Micro Devices, Inc. | Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program |
US6651188B2 (en) * | 2001-06-29 | 2003-11-18 | Intel Corporation | Automatic replacement of corrupted BIOS image |
JP4745613B2 (ja) * | 2004-01-20 | 2011-08-10 | キヤノン株式会社 | 情報処理装置及び情報処理方法 |
JP4534498B2 (ja) * | 2004-01-28 | 2010-09-01 | ソニー株式会社 | 半導体装置およびその起動処理方法 |
JP4357331B2 (ja) * | 2004-03-24 | 2009-11-04 | 東芝メモリシステムズ株式会社 | マイクロプロセッサブートアップ制御装置、及び情報処理システム |
US8010734B2 (en) * | 2004-06-04 | 2011-08-30 | Broadcom Corporation | Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device |
JP2006146485A (ja) * | 2004-11-18 | 2006-06-08 | Toshiba Corp | 携帯端末 |
-
2007
- 2007-12-26 JP JP2007334832A patent/JP2009157632A/ja active Pending
-
2008
- 2008-11-11 US US12/268,762 patent/US20090172467A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012140710A1 (ja) * | 2011-04-14 | 2012-10-18 | パナソニック株式会社 | ブート制御装置、ブートシステム及びブート制御方法 |
JP2013137732A (ja) * | 2011-11-30 | 2013-07-11 | Mitsubishi Electric Corp | 情報処理装置、放送受信装置及びソフトウェア起動方法 |
Also Published As
Publication number | Publication date |
---|---|
US20090172467A1 (en) | 2009-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009157632A (ja) | 情報処理装置 | |
JP4560408B2 (ja) | 不揮発性記憶装置の制御方法 | |
JP4965824B2 (ja) | 情報処理装置およびデータ救済方法 | |
JP5492679B2 (ja) | 記憶装置およびメモリコントローラ | |
CN101373451B (zh) | 保护双基本输出入系统程序的计算机系统及其控制方法 | |
JP2008293555A (ja) | 半導体集積回路装置およびメモリ制御方法 | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
TW201222554A (en) | Handling errors during device bootup from a non-volatile memory | |
JP2009301194A (ja) | 半導体記憶装置の制御システム | |
JP4866107B2 (ja) | 不揮発性記憶装置及びその書き込み判定方法 | |
US9015560B1 (en) | Method and apparatus for ceasing access to a portion of a flash memory when less than a number of errors correctable by an error correction code exists | |
JP2005525668A (ja) | ハードディスクドライブシステム、このようなシステムを用いる方法及び装置 | |
JP4480454B2 (ja) | メモリ制御装置、車載用機器、メモリ制御方法、メモリ制御プログラムおよび記録媒体 | |
JP2008191701A (ja) | エラー回復処理方法および情報処理装置 | |
JP4417994B2 (ja) | 素材データ記録装置及び、素材データ記録方法 | |
JP2011100536A (ja) | ライト欠陥復旧方法、データ保存装置及び記録媒体 | |
US10120614B2 (en) | Storage device, storage system, and method of controlling storage device | |
JP2016200861A (ja) | 半導体装置および記憶媒体の制御方法 | |
KR100575927B1 (ko) | 이동통신 단말기에서 부팅 방법 | |
JP2007280501A (ja) | 光ディスク記録再生装置 | |
US9852812B2 (en) | Storage apparatus, memory controller, control method for storage apparatus, and program | |
JP2010186206A (ja) | ディスク再生装置および同装置を備えたナビゲーション装置 | |
WO2014109100A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP4500562B2 (ja) | 記憶装置、車載機器及び記憶装置の制御方法 | |
JP4488962B2 (ja) | 光ディスク再生装置の制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090728 |