(57)【要約】【課題】装置の起動時間を大幅に短縮すること。【解決手段】複数のプロセッサを有するマルチプロセッサを搭載した情報処理装置は、bootプログラムを格納するbootプログラム格納部と、ＯＳデータを格納するＯＳデータ格納部と、装置起動時にbootプログラムとＯＳデータとが格納されるメインメモリと、を備える。ＯＳデータは第１乃至第ＮのＯＳデータ片に分割されており、メインメモリは第１乃至第Ｍ（Ｍ＞Ｎ）の空エリアを含み、bootプログラムはメモリ検査を行う検査機能とＯＳデータをロードするロード機能とから成る。第１乃至第Ｍの空エリアに対するメモリ検査を順々に実施する検査用プロセッサと、メモリ検査が完了した空エリアに対して第１乃至第ＮのＯＳデータ片を順々にロードするロード用プロセッサとが、それぞれ、bootプログラムの検査機能とロード機能とを並列で実行する。【選択図】図１
2014191389.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサを有するマルチプロセッサを搭載した情報処理装置であって、
bootプログラムを格納するbootプログラム格納部と、
オペレーティングシステム（ＯＳ）データを格納するＯＳデータ格納部と、
前記マルチプロセッサによって、装置起動時に、前記bootプログラムと前記ＯＳデータとが格納されるメインメモリと、を備え、
前記ＯＳデータは、各々が所定のデータ容量を持つ、第１乃至第Ｎ（Ｎは２以上の整数）のＯＳデータ片に分割されており、
前記メインメモリは、各々が前記所定のデータ容量に等しい所定のメモリサイズを持つ、第１乃至第Ｍ（ＭはＮより大きい整数）の空エリアを含み、
前記bootプログラムは、メモリ検査を行う検査機能と、前記ＯＳデータをロードするロード機能とから成り、
前記マルチプロセッサは、
前記bootプログラムの検査機能により、前記第１乃至第Ｍの空エリアに対するメモリ検査を順々に実施する検査用プロセッサと、
該検査用プロセッサによるメモリ検査が完了した空エリアに対して、前記bootプログラムのロード機能により、前記第１乃至第ＮのＯＳデータ片を順々にロードするロード用プロセッサと、を含み、
前記検査用プロセッサおよび前記ロード用プロセッサが、それぞれ、前記検査機能および前記ロード機能を並列で実行する、ことを特徴とする情報処理装置。
【請求項２】
前記検査用プロセッサは、前記bootプログラム格納部に格納された前記bootプログラムを前記メインメモリの所定のエリアにロードして、前記bootプログラムを起動する、請求項１に記載の情報処理装置。
【請求項３】
前記所定のエリアが、前記メインメモリの先頭エリアであり、
前記第１乃至第Ｍの空エリアが、前記メインメモリの先頭エリアの次のエリアである、請求項２に記載の情報処理装置。
【請求項４】
前記検査用プロセッサによるメモリ検査で不良として検出された空きエリアである不良検出エリアの情報を格納する不良情報格納部を更に有する、請求項１乃至３のいずれか１つに記載の情報処理装置。
【請求項５】
前記bootプログラム格納部は、bootプログラム格納用Flashメモリから構成され、
前記ＯＳデータ格納部は、ＯＳデータ格納用Flashメモリから構成され、
前記不良情報格納部は、メモリ検査結果格納用ＥＥＰＲＯＭから構成される、請求項４に記載の情報処理装置。
【請求項６】
複数のプロセッサを有するマルチプロセッサを使用して、bootプログラムにより、メインメモリのメモリ検査と、オペレーティングシステム（ＯＳ）データの前記メインメモリへのロードとを行う方法であって、
前記ＯＳデータは、各々が所定のデータ容量を持つ、第１乃至第Ｎ（Ｎは２以上の整数）のＯＳデータ片に分割されており、
前記メインメモリは、各々が前記所定のデータ容量に等しい所定のメモリサイズを持つ、第１乃至第Ｍ（ＭはＮより大きい整数）の空エリアを含み、
前記bootプログラムは、メモリ検査を行う検査機能と、前記ＯＳデータをロードするロード機能とから成り、
前記マルチプロセッサの検査用プロセッサが、前記bootプログラムの検査機能により、前記第１乃至第Ｍの空エリアに対するメモリ検査を順々に実施する検査工程と、
前記マルチプロセッサのロード用プロセッサが、該検査用プロセッサによるメモリ検査が完了した空エリアに対して、前記bootプログラムのロード機能により、前記第１乃至第ＮのＯＳデータ片を順々にロードするロード工程と、
を含み、
前記マルチプロセッサが、前記検査工程と前記ロード工程とを並行で実行する、
ことを特徴とするメモリ検査／ロード方法。
【請求項７】
前記検査工程において、前記検査用プロセッサが、第ｍ（１≦ｍ＜Ｍ）の空きエリアの不良を検出した場合に、当該第ｍの空エリアのメモリ検査を停止する工程と、
前記検査用プロセッサが、第（ｍ＋１）の空きエリアに対してメモリ検査を実施する工程と、
前記検査用プロセッサが、前記ロード用プロセッサに対して前記第ｍの空きエリアの使用を禁止する命令を発行する工程と、
前記ロード用プロセッサが、前記第ｍの空きエリアの不良情報を不良情報格納部に格納する工程と、
を更に含む、請求項６に記載のメモリ検査／ロード方法。
【請求項８】
複数のプロセッサを有するマルチプロセッサに、メインメモリのメモリ検査と、オペレーティングシステム（ＯＳ）データの前記メインメモリへのロードとを行わせる、bootプログラムであって、
前記ＯＳデータは、各々が所定のデータ容量を持つ、第１乃至第Ｎ（Ｎは２以上の整数）のＯＳデータ片に分割されており、
前記メインメモリは、各々が前記所定のデータ容量に等しい所定のメモリサイズを持つ、第１乃至第Ｍ（ＭはＮより大きい整数）の空エリアを含み、
前記マルチプロセッサの検査用プロセッサに、前記第１乃至第Ｍの空エリアに対するメモリ検査を順々に実施させる検査機能と、
前記マルチプロセッサのロード用プロセッサに、前記検査用プロセッサによるメモリ検査が完了した空エリアに対して、前記第１乃至第ＮのＯＳデータ片を順々にロードさせるロード機能と、
を並行で実現させるbootプログラム。
【請求項９】
前記検査用プロセッサに、第ｍ（１≦ｍ＜Ｍ）の空きエリアの不良を検出した場合に、当該第ｍの空エリアのメモリ検査を停止させる機能と、
前記検査用プロセッサに、第（ｍ＋１）の空きエリアに対してメモリ検査を実施させる機能と、
前記検査用プロセッサに、前記ロード用プロセッサに対して前記第ｍの空きエリアの使用を禁止する命令を発行させる機能と、
前記ロード用プロセッサに、前記第ｍの空きエリアの不良情報を不良情報格納部に格納させる機能と、
を更に実現させるための請求項８に記載のbootプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロセッサを搭載した情報処理装置（例えば、ネットワーク装置）に関し、特に、メインメモリのメモリ検査とオペレーティングシステム（ＯＳ）データのメインメモリへのロードとを行うメモリ検査／ロード方法、およびbootプログラムに関する。
【背景技術】
【０００２】
周知のように、計算機ハードウェアを使用してユーザの仕事を行うためには、オペレーティングシステム（ＯＳ）を主記憶装置（メインメモリ）にロードしなければならない。
【０００３】
詳述すると、多くのコンピュータシステムでは、メモリ（ＲＯＭ（read-only memory）またはＲＡＭ（random access memory））上の実行コードだけを実行できる。しかしながら、最近のオペレーティングシステム（ＯＳ）はハードディスクドライブやLive ＣＤ（compact disc）、フラッシュメモリ（ＵＳＢ（Universal Serial Bus）メモリなど）に格納されている。つまり、コンピュータシステムの電源を入れた直後、メインメモリ上にはオペレーティングシステム（ＯＳ）は存在しない。コンピュータのハードウェアだけでは、オペレーティングシステム（ＯＳ）がやっているような複雑なことはできないので、ディスクから任意のプログラムをロードするというようなことはできない。
【０００４】
そのために、bootプログラムが使用される。ここで、bootプログラムとは、コンピュータシステムの電源を入れたときにオペレーティングシステム（ＯＳ）を起動するまでの処理の流れを規定するプログラムである。また、bootプログラムは、bootstrapプログラムとも呼ばれる。或いは、boot プログラムは、ブートローダ（boot loader）又はブートストラップローダ(bootstrap loader)とも呼ばれる。
【０００５】
一般的に、この種のコンピュータシステムにおいては、電源ＯＮ時、コンピュータに実装されているメインメモリ（メモリ）の全てに対して初期化を行なった後、システム立ち上げ処理を行なっている。しかしながら、このような構成では、コンピュータシステムの立ち上げ処理に時間がかかるという問題がある。
【０００６】
そこで、従来においては、コンピュータシステムの立ち上げ処理時間を短縮するために、システム立ち上げ時に最小限必要なメモリサイズのみメインメモリ（メモリ）の初期化を行うことが行われている。ここで、システム立ち上げ時に最小限必要なメモリサイズとは、オペレーティングシステム（ＯＳ）を含むシステムプログラムをロードするために必要なサイズである。
【０００７】
例えば、特開平０９−２１２４３１号公報（特許文献１）は、システム立ち上げ時のメモリの初期化ならびに診断に要する時間を短縮し、性能向上をはかった「計算機装置」を開示している。この特許文献１に開示された計算機装置においては、メモリ空間を、システム立ち上げに必要な第１のメモリ空間と残りの第２のメモリ空間との、２つに分割している。そして、この特許文献１に開示された計算機装置は、システム立ち上げ時に第１のメモリ空間のみ初期化および初期診断を行い、システム立ち上げ処理後又はシステム立ち上げ処理と並行して、第２のメモリ空間の初期化および初期診断を行うようにしている。
【０００８】
また、特許文献１においては、プロセッサを複数持つマルチプロセッサ構成の計算機装置の場合には、特定のプロセッサを確保して、システム立ち上げ時に第１のメモリ空間のみ初期化および初期診断後、システム立ち上げ処理と並行して第２のメモリ空間の初期化および初期診断を行っている。
【０００９】
また、特開平０５−２７４２１２号公報（特許文献２）は、大容量のメモリを実装したコンピュータシステムの立上げや業務プログラムの開始までの時間を短縮することが可能な「メモリ初期化処理方法」を開示している。特許文献２に開示された、マルチプロセッサ構成のシステムにおいては、特定のＣＰＵがシステム立ち上げ時に最小限必要なメモリサイズのバンク０のメモリ初期化を行い、外部記憶装置よりシステムプログラムをロードし、バンク０に格納し、特定のＣＰＵがシステムの立ち上げを開始している。バンク１からバンクＮのメモリ初期化処理を行なう場合に、ＣＰＵを固定せず空いているどのＣＰＵでもメモリ初期化処理を行なっている。
【００１０】
このように、特許文献１および２のいずれも、システム立上げ時に必要な最小限のメモリサイズのメモリ領域（メモリ空間）のみを初期化した後に、システムの立ち上げ処理を行なっている。
【００１１】
一方、従来のネットワーク装置（情報処理装置）では、bootプログラムによる装置検査(Power On Self Test)が完了後に、オペレーティングシステム（ＯＳ）データをメインメモリ上にロード/展開して、装置起動処理を行っている。ここで、装置検査とは、メインメモリのうち、ＯＳデータをロードするために必要なメモリ容量（ＯＳデータ容量）のメモリ領域（メモリ空間）を検査することを含む。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平０９−２１２４３１号公報（［００１１］、［００１３］、［００２１］、［００２３］、図１、図３）
【特許文献２】特開平０５−２７４２１２号公報（［００２１］〜［００２４］、図４）
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１では、メモリ空間を、システム立ち上げに必要な第１のメモリ空間と残りの第２のメモリ空間とに、２分割している。したがって、特許文献１では、第１のメモリ空間の全てを初期化および初期診断した後でなければ、システムを立ち上げることができない。その結果、特許文献１の構成では、マルチプロセッサ構成による並列処理の恩恵を受けることが出来ない。また、特許文献１では、第１のメモリ空間の初期診断において不良が検出された場合の動作については、何ら開示も示唆もしていない。
【００１４】
また、特許文献２でも、メモリ中のシステム立ち上げ時に最小限必要なメモリサイズのバンク０を初期化した後に、システムプログラムをロードしてシステムの立ち上げを開始している。したがって、特許文献２においても、メモリのバンク０の全てを初期化処理した後でなければ、システム立ち上げ処理を開始することができない。その結果、特許文献２の構成でも、マルチプロセッサ構成による並列処理の恩恵を受けることが出来ない。また、特許文献２においても、メモリのバンク０の初期化処理において不良が検出された場合の動作については、何ら開示も示唆もしていない。
【００１５】
一方、従来のネットワーク装置（情報処理装置）においても、ＯＳデータをロードするために必要なメモリ容量やロードデータの削減を伴わなければ、起動時間の短縮は難しいという課題がある。
【００１６】
本発明の目的は、装置の起動時間を大幅に短縮することが可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の一形態は、複数のプロセッサを有するマルチプロセッサを搭載した情報処理装置であって、bootプログラムを格納するbootプログラム格納部と、オペレーティングシステム（ＯＳ）データを格納するＯＳデータ格納部と、マルチプロセッサによって、装置起動時に、bootプログラムとＯＳデータとが格納されるメインメモリと、を備え、ＯＳデータは、各々が所定のデータ容量を持つ、第１乃至第Ｎ（Ｎは２以上の整数）のＯＳデータ片に分割されており、メインメモリは、各々が所定のデータ容量に等しい所定のメモリサイズを持つ、第１乃至第Ｍ（ＭはＮより大きい整数）の空エリアを含み、bootプログラムは、メモリ検査を行う検査機能と、前記ＯＳデータをロードするロード機能とから成り、マルチプロセッサは、bootプログラムの検査機能により、第１乃至第Ｍの空エリアに対するメモリ検査を順々に実施する検査用プロセッサと、この検査用プロセッサによるメモリ検査が完了した空エリアに対して、bootプログラムのロード機能により、第１乃至第ＮのＯＳデータ片を順々にロードするロード用プロセッサと、を含み、検査用プロセッサおよびロード用プロセッサが、それぞれ、検査機能およびロード機能を並列で実行する、ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、装置の起動時間を大幅に短縮することができる情報処理装置を提供できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施形態に係る情報処理装置（ネットワーク装置）における、装置起動時間を短縮できる特徴とメインメモリの不良検出率を向上できる特徴とを説明するためのブロック図である。
【図２】本発明の第１の実施形態に係る情報処理装置（ネットワーク装置）における、装置起動時間を短縮できる特徴とメインメモリの不良検出率を向上できる特徴とを説明するためのブロック図である。
【図３】本発明の第１の実施形態に係る情報処理装置（ネットワーク装置）における、装置起動時間を短縮できる特徴とメインメモリの不良検出率を向上できる特徴とを説明するためのブロック図である。
【図４】本発明の第２の実施形態に係る情報処理装置（ネットワーク装置）における、不良検出時にシステムに対して障害にみせない特徴を説明するためのブロック図である。
【図５】本発明の第２の実施形態に係る情報処理装置（ネットワーク装置）における、不良検出時にシステムに対して障害にみせない特徴を説明するためのブロック図である。
【図６】本発明の第２の実施形態に係る情報処理装置（ネットワーク装置）における、不良検出時にシステムに対して障害にみせない特徴を説明するためのブロック図である。
【図７】本発明の一実施例に係る情報処理装置（音声データ処理装置）を示すブロック図である。
【図８】本発明の一実施例に係る情報処理装置（音声データ処理装置）を示すブロック図である。
【図９】本発明の一実施例に係る情報処理装置（音声データ処理装置）を示すブロック図である。
【図１０】関連の情報処理装置（ネットワーク装置）の起動時の動作を説明するためのブロック図である。
【図１１】関連の情報処理装置（ネットワーク装置）の起動時の動作を説明するためのブロック図である。
【図１２】関連の情報処理装置（ネットワーク装置）の起動時の動作を説明するためのブロック図である。
【発明を実施するための形態】
【００２０】
［関連技術］
本発明の理解を容易にするために、図１０乃至図１２を参照して、関連技術について説明する。
【００２１】
図１０乃至図１２は、関連の情報処理装置１０’の起動時の動作を説明するためのブロック図である。図示の例は、情報処理装置１０’がネットワーク装置である場合を示している。
【００２２】
図１０乃至図１２に示されるように、関連のネットワーク装置１０’は、複数のコアプロセッサを有するマルチコアプロセッサ（以下、単に「プロセッサ」ともいう）１２と、bootプログラムを格納するbootプログラム格納部１４と、オペレーティングシステム（ＯＳ）データを格納するＯＳデータ格納部１６と、プロセッサ１２によって、装置起動時に、bootプログラムとＯＳデータとが格納されるメインメモリ１８と、を具備する。
【００２３】
図示の例では、プロセッサ１２を構成する複数のコアプロセッサのうち、単一のコアプロセッサ１２１のみが図示されている。本例では、物理的にマルチコアプロセッサ１２であっても、bootプログラムが単一のコアプロセッサ１２１で動作する実装になっている。
【００２４】
メインメモリ１８は、bootプログラムがロードされる先頭エリア１８−０を含む。
【００２５】
本例では、ＯＳデータは、各々が所定のデータ容量を持つ、第１乃至第Ｎ（Ｎは２以上の整数）のＯＳデータ片に分割されているとする。したがって、所定のデータ容量は、ＯＳデータの総データ容量の（１／Ｎ）に等しい。また、メインメモリ１８は、各々が所定のデータ容量に等しい所定のメモリサイズ（メモリ容量）を持つ、第１乃至第Ｎの空エリア１８−１、１８−２、・・・、１８−Ｎを含むとする。すなわち、ＯＳデータは、メインメモリ１８の各空きエリアの所定のメモリサイズに合わせてＮ個に分割されているとする。
【００２６】
次に、bootプログラムおよびＯＳをメインメモリ１８上で稼動させるために、関連のネットワーク装置１０’を起動する場合の動作について説明する。
【００２７】
先ず、図１０に示されるように、プロセッサ１２内の単一のコアプロセッサ１２１が、bootプログラム格納部１４に格納されているbootプログラム（以下、「bootデータ」ともいう）をメインメモリ１８の先頭エリア１８−０にロードし、bootプログラムを起動する。
【００２８】
これにより、コアプロセッサ１２１は、bootプログラムによる装置検査(Power On Self Test)を実行する。すなわち、図１０および図１１に示されるように、コアプロセッサ１２１は、bootデータがロードされた先頭エリア１８−０の次の空きエリアである、メインメモリ１８の第１乃至第Ｎの空きエリア１８−１〜１８−Ｎに対してメモリ検査を実施する。
【００２９】
装置検査が完了後、図１２に示すとおり、コアプロセッサ１２１は、ＯＳデータ格納部１６に格納されているＯＳデータ（第１乃至第ＮのＯＳデータ片）をメインメモリ１８（第１乃至第Ｎの空きエリア１８−１〜１８−Ｎ）上にロード/展開する。
【００３０】
以上説明したような流れで、bootプログラムはシーケンシャルに装置起動処理を行っている。
【００３１】
装置の起動時間は、検査対象（メインメモリ１８）となるメモリ容量、ロード対象となるＯＳデータ容量に依存する。しかしながら、これら容量は装置仕様の変更を伴わなければ削減することが難しい。そのため、情報処理装置１０’の起動時間を短縮させるのは困難である。その結果、関連のネットワーク装置１０’では、フィールド障害発生時に、情報処理装置１０’再起動による復旧時間を短縮することができず、サービスに影響を与える可能性を低減できない、という課題がある。
【００３２】
この課題は、上述した特許文献１および２の場合においても同様に存在する。何故なら、特許文献１および２においても、メインメモリ１８中のシステム立ち上げ時に最小限必要なメモリサイズの第１のメモリ空間（バンク０）（すなわち、第１乃至第Ｎの空きエリア１８−１〜１８−Ｎ）の全てを初期化（及び初期診断）した後に、システムを立ち上げている（システムプログラムをロードしてシステムの立ち上げを開始している）からである。
【００３３】
加えて、関連のネットワーク装置１０’においては、上記理由により情報処理装置１０’の起動時間を極力短縮する必要があるので、bootプログラムによる情報処理装置１０’の検査範囲を限定せねばならない。従って、メインメモリ１８のメモリ不良を検出できず、メモリ不良を内在させた状態で装置起動してしまう可能性もある。
【００３４】
［発明の特徴］
本発明は、マルチプロセッサを搭載したネットワーク装置において、bootプログラムの検査機能とロード機能とが並列処理を行うことで、装置処理装置の起動時間の短縮、メインメモリセルの不良検出率向上、かつ不良検出時システムに対して障害に見せないことを特徴とする。
【００３５】
換言すれば、本発明では、bootプログラムによる装置検査（メモリ検査）とＯＳデータのロード/展開とを、複数のプロセッサで並列処理することで、情報処理装置の起動時間が大幅に短縮することを可能にしている。かつ、本発明では、ＯＳロード処理中の全ての時間をメモリ検査に割り当てることが可能となるため、メモリ不良検出率の向上も期待できる。
【００３６】
また、後述する図１、図２、図３に示すとおり、本発明では、２つのプロセッサがメインメモリの空きエリアをブロック単位で順次処理/管理するため、不良検出されたエリアのみを使用禁止とし、システムの継続稼動を可能としている。
【００３７】
[第１の実施形態]
図１乃至図３を参照して、本発明の第１の実施形態に係る情報処理装置１０について説明する。図示の例は、情報処理装置１０がネットワーク装置である場合を示している。
【００３８】
図１乃至図３は、第１の実施形態に係るネットワーク装置１０における、装置起動時間を短縮できる特徴とメインメモリの不良検出率を向上できる特徴とを説明するためのブロック図である。
【００３９】
図示のネットワーク装置１０は、複数のコアプロセッサを有するマルチコアプロセッサ（以下、単に「プロセッサ」ともいう）１２と、bootプログラムを格納するbootプログラム格納部１４と、オペレーティングシステム（ＯＳ）データを格納するＯＳデータ格納部１６と、プロセッサ１２によって、装置起動時に、bootプログラムとＯＳデータとが格納されるメインメモリ１８と、を具備する。
【００４０】
図示の例では、プロセッサ１２を構成する複数のコアプロセッサのうち、第１のコアプロセッサ１２１と第２のコアプロセッサ１２２とのみが図示されている。
【００４１】
メインメモリ１８は、bootプログラムがロードされる先頭エリア１８−０を含む。先頭エリア１８−０は、所定のエリアとも呼ばれる。
【００４２】
本例において、ＯＳデータは、各々が所定のデータ容量を持つ、第１乃至第Ｎ（Ｎは２以上の整数）のＯＳデータ片に分割されているとする。したがって、所定のデータ容量は、ＯＳデータの総データ容量の（１／Ｎ）に等しい。また、メインメモリ１８は、各々が所定のデータ容量に等しい所定のメモリサイズ（メモリ容量）を持つ、第１乃至第Ｍ（ＭはＮより大きい整数）の空エリア１８−１、１８−２、１８−３、・・・、１８−Ｍを含むとする。このように、ＯＳデータは、メインメモリ１８の各空きエリアの所定のメモリサイズ（所定のメモリ容量）に合わせてＮ個に分割されているとする。図示の例では、第１乃至第Ｍの空エリア１８−１〜１８−Ｍは、メインメモリ１８の先頭エリア１８−０の次のエリアである。
【００４３】
また、前述したように、bootプログラムは、メモリ検査(Power On Self Test)を行う検査機能と、ＯＳデータをロードするロード機能とから成る。
【００４４】
本第１の実施形態では、第２のコアプロセッサ１２２が、専らbootプログラムの検査機能を実施し、第１のコアプロセッサ１２１が、専らbootプログラムのロード機能を実施する。従って、第２のコアプロセッサ１２２は検査用プロセッサと呼ばれ、第１のコアプロセッサ１２１はロード用プロセッサと呼ばれる。
【００４５】
したがって、第２のコアプロセッサ（検査用プロセッサ）１２２は、後述するように、bootプログラムの検査機能により、メインメモリ１８の第１乃至第Ｍの空エリア１８−１〜１８−Ｍに対するメモリ検査を順々に実施する。第１のコアプロセッサ（ロード用プロセッサ）１２１は、後述するように、検査用プロセッサ１２２によるメモリ検査が完了した空きエリアに対して、bootプログラムのロード機能により、第１乃至第ＮのＯＳデータ片を順々にロードする。そして、後述するように、本第１の実施形態によるネットワーク装置１０では、第２のコアプロセッサ（検査用プロセッサ）１２２および第１のコアプロセッサ（ロード用プロセッサ）１２１が、それぞれ、上記検査機能および上記ロード機能を並列で実行する。
【００４６】
次に、bootプログラムおよびＯＳをメインメモリ１８上で稼動させるために、ネットワーク装置１０を起動する場合の動作について説明する。
【００４７】
先ず、図１に示されるように、プロセッサ１２内の第２のコアプロセッサ（検査用プロセッサ）１２２が、bootプログラム格納部１４に格納されているbootデータ（bootプログラム）をメインメモリ１８の先頭エリア１８−０にロードし、bootプログラムを起動する。
【００４８】
次に、第２のコアプロセッサ（検査用プロセッサ）１２２は、bootデータがロードされた先頭エリア１８−０の次の第１の空きエリア１８−１に対してメモリ検査を実施する。
【００４９】
続いて図２において、プロセッサ１２内の第１のコアプロセッサ（ロード用プロセッサ）１２１が、ＯＳデータ格納部１６に格納されている第１のＯＳデータ片(1/N)をメインメモリ１８の第１の空きエリア１８−１(図１でメモリ検査が完了したエリア)にロードする。
【００５０】
上述したように、ＯＳデータは、メインメモリ１８の各空きエリアの所定のメモリサイズに合わせてＮ個に分割されている。
【００５１】
第１のコアプロセッサ（ロード用プロセッサ）１２１の処理と並列で、第２のコアプロセッサ（検査用プロセッサ）１２２は、その次の第２の空きエリア１８−２に対してメモリ検査を実施する。
【００５２】
続いて図３においても同様に、プロセッサ１２内の第１のコアプロセッサ（ロード用プロセッサ）１２１が、ＯＳデータ格納部１６に格納されている第２のＯＳデータ片(2/N)をメインメモリ１８の第２の空きエリア１８−２(図２でメモリ検査が完了したエリア)にロードする。それと並列で、第２のコアプロセッサ（検査用プロセッサ）１２２は、その次の第３の空きエリア１８−３に対してメモリ検査を実施する。
【００５３】
第１のコアプロセッサ（ロード用プロセッサ）１２１と第２のコアプロセッサ（検査用プロセッサ）１２２とは、上記処理を繰返し実施する。
【００５４】
このようにして、bootプログラムによるメモリ検査(Power On Self Test)とＯＳデータのロードとを、複数のコアプロセッサ１２１および１２２が並列で実行するため、装置起動時間の短縮が可能となる。
【００５５】
また、図２において、プロセッサ１２内の第１のコアプロセッサ（ロード用プロセッサ）１２１がＯＳデータ格納部１６に格納されている第１のＯＳデータ片(1/N)をメインメモリ１８の第１の空きエリア１８−１にロードしている時間帯は、第２のコアプロセッサ（検査用プロセッサ）１２２は全てのリソースをメモリ検査に割くことができる。そのため、従来と比較して、より多くのメモリセルに対して検査を実施することが可能となり、メインメモリ１８のセルの不良検出率向上に繋がる。
【００５６】
[第２の実施形態]
図４乃至図６を参照して、本発明の第２の実施形態に係る情報処理装置１０Ａについて説明する。図示の例も、情報処理装置１０Ａがネットワーク装置である場合を示している。
【００５７】
図４乃至図６は、第２の実施形態に係るネットワーク装置１０Ａにおける、不良検出時にシステムに対して障害にみせない特徴を説明するためのブロック図である。
【００５８】
ネットワーク装置１０Ａは、メモリ検査結果格納部２０を更に備えている点を除いて、図１乃至図３に示したネットワーク装置１０と同様の構成を有し動作をする。したがって、同様の機能を有する構成要素には、同一の参照符号を付し、説明の簡略化のために、それらの説明については省略する。
【００５９】
メモリ検査結果格納部２０は、検査用プロセッサ１２２によるメモリ検査で不良として検出された空きエリアである不良検出エリアの情報を格納する不良情報格納部として働く。
【００６０】
ネットワーク装置１０Ａの起動時に、メモリの不良が検出された場合の動作について説明する。
【００６１】
図４において、プロセッサ１２内の第２のコアプロセッサ（検査用プロセッサ）１２２がメインメモリ１８の第２の空きエリア１８−２のメモリ検査でメモリセル不良を検出したとする。この際、第２のコアプロセッサ（検査用プロセッサ）１２２はメモリ検査を停止する。
【００６２】
続いて図５において、第２のコアプロセッサ（検査用プロセッサ）１２２は第３の空きエリア１８−３に対してメモリ検査を実行し、第１のコアプロセッサ（ロード用コアプロセッサ）１２１に対して第２の空きエリア１８−２の使用を禁止する命令を発行する。
【００６３】
第１のコアプロセッサ（ロード用プロセッサ）１２１は、メモリ検査結果格納部２０に第２の空きエリア１８−２の不良情報を格納し、第２のコアプロセッサ（検査用プロセッサ）１２２が第３の空きエリア１８−３のメモリ検査を完了するまで待機する。メモリ検査結果格納部２０に格納された情報は、ＯＳ稼働中にＯＳが不良エリアを使用しない目的で利用される。
【００６４】
したがって、一般的に、情報処理装置１０Ａは次の動作を行う。先ず、上記検査工程において、検査用プロセッサ１２２が、第ｍ（１≦ｍ＜Ｍ）の空きエリア１８−ｍの不良を検出した場合に、当該第ｍの空きエリア１８−ｍのメモリ検査を停止する。引き続いて、検査用プロセッサ１２２が、第（ｍ＋１）の空きエリア１８−（ｍ−１）に対してメモリ検査を実施する。そして、ロード用プロセッサ１２１が、第ｍの空きエリア１８−ｍの不良情報を不良情報格納部２０に格納する。
【００６５】
続いて図６において、プロセッサ１２内の第１のコアプロセッサ（ロード用プロセッサ）１２１が、ＯＳデータ格納部１６に格納された第２のＯＳデータ片(2/N)をメインメモリ１８の第３の空きエリア１８−３(図５でメモリ検査が完了したエリア)にロードする。それと並列で、第２のコアプロセッサ（検査用プロセッサ）１２２は、その次の第４の空きエリア（図示せず）に対してメモリ検査を実施する。
【００６６】
このようにして、bootプログラムは、メモリ検査により不良と検出したエリアをＯＳ使用禁止エリアにするため、メモリ不良は隠蔽されシステム停止を防ぐことが可能となる。
【実施例１】
【００６７】
図７乃至図９を参照して、本発明の一実施例に係る情報処理装置１０Ｂについて説明する。図示の実施例は、情報処理装置１０Ｂを、ネットワークプロセッサデバイスを実装する音声データ処理装置に適用した例である。
【００６８】
図４乃至図６に示した情報処理装置１０Ａと同様の機能を有するものには同一の参照を付し、以下では、相違点についてのみ説明する。
【００６９】
プロセッサ１２はネットワークプロセッサから成る。bootプログラム格納部１４はbootプログラム格納用Flashメモリから成る。ＯＳデータ格納部１６はＯＳデータ格納用Flashメモリから成る。メモリ検査結果格納部２０はメモリ検査結果格納用ＥＥＰＲＯＭ（electrically erasable programmable read-only memory）から成る。
【００７０】
音声データ処理装置１０Ｂは、音声データ導通用デバイス２２と装置内管理用デバイス２４とを更に備える。
【００７１】
また、音声データ処理装置１０Ｂは、第１乃至第６の経路３１，３２，３３，３４，３５，３６を持つ。第１の経路３１は、メインメモリ３１とネットワークプロセッサ１２との間を接続している。第２の経路３２は、ＯＳデータ格納用Flashメモリ１６とネットワークプロセッサ１２との間を接続している。第３の経路３３は、bootプログラム格納用Flashメモリ１４とネットワークプロセッサ１２との間を接続している。第４の経路３４は、メモリ検査結果格納用ＥＥＰＲＯＭ２０とネットワークプロセッサ１２との間を接続している。第５の経路３５は、音声データ導通用デバイス２２とネットワークプロセッサ１２との間を接続している。第６の経路３６は、装置内管理用デバイス２４と音声データ導通用デバイス２２とネットワークプロセッサ１２との間を接続している。
【００７２】
図７は、図１〜図６のメモリ検査効率化およびメモリ障害抑止方法の構成について具体的な回路構成例を示すブロック図である。
【００７３】
図７において、複数のコアプロセッサ１２１，１２２を有するネットワークプロセッサ１２は、bootプログラム格納用Flashメモリ１４に格納されているbootプログラムをメインメモリ１８にロードする。
【００７４】
bootプログラムは、ネットワークプロセッサ１２上の第２のコアプロセッサ（検査用プロセッサ）１２２を使用して、メインメモリ１８の空きエリアの検査を実行する。空きエリアの検査でＮＧとなった場合、bootプログラムは、メモリ検査結果格納用ＥＥＰＲＯＭ２０にその検査結果を格納し、第１のコアプロセッサ（ロード用プロセッサ）１２１に対してＮＧエリア使用を禁止する命令を発行する。
【００７５】
bootプログラムは、第２のコアプロセッサ（検査用プロセッサ）１２２での処理と並列で、第１のコアプロセッサ（ロード用プロセッサ）１２１を使用して、ＯＳデータ格納用Flashメモリ１６に格納されているＯＳデータをメインメモリ１８の検査完了済み空きエリアにロードする。
【００７６】
メインメモリ１８への検査が完了後、bootプログラムは、第２のコアプロセッサ（検査用プロセッサ）１２２を使用して、音声データ導通用デバイス２２および装置内管理用デバイス２４に対して初期設定処理を実施する。
【００７７】
次に、図８に示される音声データ処理装置１０Ｂが、起動処理中にメインメモリ１８で不良が発生するケースを想定する。bootプログラムが不良エリアに対する処理を実施後、起動処理がＯＳに移行するまでの動作について説明する。
【００７８】
図８において、メインメモリ１８の先頭エリア１８−０にロードされたbootプログラムは、ネットワークプロセッサ１２上の第１のコアプロセッサ（ロード用プロセッサ）１２１を使用して、ＯＳデータ格納用Flashメモリ１６から第２の経路３２、第１の経路３１経由でメインメモリ１８の第１の空きエリア１８−１に第１のＯＳデータ片(1/N)(総容量１００Ｍバイトのうち１ブロック目の１Ｍバイト)をロードする。
【００７９】
したがって、図示の例では、整数Ｎが１００に等しい場合を示している。
【００８０】
また、bootプログラムは、第１のコアプロセッサ（ロード用プロセッサ）１２１での処理と並列で、第２のコアプロセッサ（検査用プロセッサ）１２２を使用して、メインメモリ１８の第２の空きエリア１８−２を第１の経路３１経由で検査する。
【００８１】
この検査でbootプログラムはメインメモリ１８の第２の空きエリア１８−２の不良を検出したため、bootプログラムは第２の空きエリア１８−２に対する検査を中断する。
【００８２】
続いて、bootプログラムは、第２のコアプロセッサ（検査用プロセッサ）１２２を使用して、第１のコアプロセッサ（ロード用プロセッサ）１２１に対してメインメモリ１８の第２の空きエリア１８−２へのＯＳデータロードを禁止する命令を発行する。
【００８３】
この命令を受けた第１のコアプロセッサ（ロード用プロセッサ）１２１は、第４の経路３４経由で、メモリ検査結果格納用ＥＥＰＲＯＭ２０に不良検出エリアの情報を格納する。
【００８４】
次にbootプログラムは、第２のコアプロセッサ（検査用プロセッサ）１２２を使用して、メインメモリ１８の第３の空きエリア１８−３を第１の経路３１経由で検査する(第２の空きエリア１８−２の検査はスキップされる)。
【００８５】
第１のコアプロセッサ（ロード用プロセッサ）１２１は、第２のコアプロセッサ（検査用プロセッサ）１２２の第３の空きエリア１８−３の検査が完了するまで、ＯＳデータロード処理を中断し、第６の経路３６経由で音声データ導通用デバイス２２及び装置内管理用デバイス２４に対して初期設定処理を実施する(メインメモリ１８の不良が検出されないケースでは、第２のコアプロセッサ（検査用プロセッサ）１２２が検査完了後に実施する)。
【００８６】
続いて、図９において、第２のコアプロセッサ（検査用プロセッサ）１２２がメインメモリ１８の第３の空きエリア１８−３の検査を完了したため、第１のコアプロセッサ（ロード用プロセッサ）１２１は、第１の経路３１経由で第３の空きエリア１８−３へ第２のＯＳデータ片(2/N)(総容量１００Ｍバイトのうち２ブロック目の１Ｍバイト)をロードする。
【００８７】
その後、bootプログラムは、第１のコアプロセッサ（ロード用プロセッサ）１２１と第２のコアプロセッサ（検査用プロセッサ）１２２とを使用して、ＯＳデータのロード、メインメモリ１８の空きエリアの検査を並列で処理する。ＯＳデータ格納用Flashメモリ１６に格納されている全てのＯＳデータのロードが完了すると、起動処理がbootプログラムからＯＳに移行する。
【００８８】
ＯＳは、起動処理中に第１のコアプロセッサ（ロード用プロセッサ）１２１を使用して、メモリ検査結果格納用ＥＥＰＲＯＭ２０に格納されているメインメモリ１８の不良検出エリアの情報を読み込み、そのエリアを使用しない設定で運用を開始する。
【００８９】
以上説明したとおり、上述したメモリ検査効率化およびメモリ障害抑止方法を利用することで、音声データ処理装置１０Ｂは、以下に記載するような効果を奏する。
【００９０】
第１の効果は、bootプログラムのメインメモリ１８の検査およびＯＳデータのロードを並列で処理することにより、装置起動時間の大幅な短縮を可能とし、フィールド障害発生時の装置再起動がサービスに与える影響を低減できることである。
【００９１】
第２の効果は、bootプログラムのメインメモリ１８の検査で不良検出されたエリアを使用禁止にしてＯＳが起動し装置運用されるため、メインメモリ１８の不良に起因したシステム停止を防ぐことが出来ることである。また、ＥＥＰＲＯＭ情報によりメインメモリに不良が発生していることを確認できるため、システムオペレータは計画的に装置交換を行うことができる。
【００９２】
第３の効果は、bootプログラムはＯＳデータのロード処理中の時間帯を利用してメモリ検査に十分なリソースを割くことができるため、不良検出率の向上が期待できることである。
【００９３】
以上、実施の形態（実施例）を参照して本願発明を説明したが、本願発明は上記実施の形態（実施例）に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００９４】
１０、１０Ａ    情報処理装置（ネットワーク装置）
１０Ｂ    情報処理装置（音声データ処理装置）
１２    マルチコアプロセッサ（プロセッサ；ネットワークプロセッサ）
１２１    第１のコアプロセッサ（ロード用プロセッサ）
１２２    第２のコアプロセッサ（検査用プロセッサ）
１４    bootプログラム格納部（bootプログラム格納用Flashメモリ）
１６    ＯＳデータ格納部（ＯＳデータ格納用用Flashメモリ）
１８    メインメモリ
１８−０    先頭エリア（所定のエリア）
１８−１    第１の空きエリア
１８−２    第２の空きエリア
１８−３    第３の空きエリア
１８−Ｎ    第Ｎの空きエリア
１８−Ｍ    第Ｍの空きエリア
２０    メモリ検査結果格納部（メモリ検査結果格納用ＥＥＰＲＯＭ）
２２    音声データ導通用デバイス
２４    装置内管理用デバイス
３１〜３６    経路
【図１】
2014191389.tif 000003
【図２】
2014191389.tif 000004
【図３】
2014191389.tif 000005
【図４】
2014191389.tif 000006
【図５】
2014191389.tif 000007
【図６】
2014191389.tif 000008
【図７】
2014191389.tif 000009
【図８】
2014191389.tif 000010
【図９】
2014191389.tif 000011
【図１０】
2014191389.tif 000012
【図１１】
2014191389.tif 000013
【図１２】
2014191389.tif 000014