(57)【要約】【課題】システムを容易に高速に起動する。【解決手段】記憶部１０７に予め記憶された起動データが、補助電源部１０２から供給される補助電源を用いて、メモリ制御部１０４によって、読み出され、読み出された起動データがＲＡＭブリッジ１０５を介してＲＡＭ１０６に書き込まれる。そして、主電源である２次側電源電圧が出力された際に、メモリ制御部１０４によって、ＲＡＭ１０６に書き込まれた起動データが読み出されてバス１１２上に出力される。【選択図】図１
2008097105.tif 000002
【特許請求の範囲】
【請求項１】
システムを起動するための起動データを記憶する記憶装置であって、
前記起動データを予め記憶する不揮発性の記憶部と、
前記システムを起動するために用いられる主電源とは異なる補助電源を当該記憶装置に供給する補助電源部と、
前記補助電源を用いて、前記起動データを記憶する起動用ＲＡＭと、
前記記憶部に予め記憶された起動データを、前記補助電源を用いて読み出して前記起動用ＲＡＭに書き込み、前記主電源が投入された際に、前記起動用ＲＡＭに書き込まれた起動データを読み出して前記システムに出力するメモリ制御部とを有する記憶装置。
【請求項２】
請求項１に記載の記憶装置において、
前記起動用ＲＡＭを複数有し、
前記メモリ制御部は、前記複数の起動用ＲＡＭに同一の起動データを書き込むことを特徴とする記憶装置。
【請求項３】
起動用ＲＡＭを有する記憶装置に記憶された起動データを用いてシステムを起動する起動方法であって、
前記システムを起動するために用いられる主電源とは異なる補助電源を当該記憶装置に供給する処理と、
前記起動データが予め記憶された記憶部から該起動データを、前記補助電源を用いて読み出す処理と、
前記読み出された起動データを、前記補助電源を用いて前記起動用ＲＡＭに書き込む処理と、
前記主電源が投入された際に、前記起動用ＲＡＭに書き込まれた起動データを読み出す処理と、
前記起動用ＲＡＭから読み出された起動データを前記システムに出力する処理とを有する起動方法。
【請求項４】
請求項３に記載の起動方法において、
前記記憶部から読み出された起動データを、複数の前記起動用ＲＡＭにそれぞれ書き込む処理を有することを特徴とする起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ等から構成されるシステムを起動する際に使用される記憶装置及びその起動方法に関する。
【背景技術】
【０００２】
現在、コンピュータや電子計算機等から構成されるシステムを動作させるためのオペレーティングシステムやアプリケーションプログラム（以下、起動データと称する）を記憶する記憶装置として、ハードディスク装置が多用されている。特に近年のパーソナルコンピュータにおいては膨大なデータを取り扱うことが多く、大容量のハードディスクを搭載する必要性が要求されることが多い。
【０００３】
これらのハードディスクに記憶された起動データが、システムが起動した際にハードディスクから読み出され、当該システムの制御部であるＣＰＵがアクセス可能なＲＡＭ（Random Access Memory）等のメモリに書き込まれることにより、システムが所定の処理を行うことが可能となっている。
【０００４】
図３は、従来のシステムにおける記憶部周辺の構成の一例を示す図である。
【０００５】
図３に示した構成には、メモリ制御部１００４と、記憶部１００７と、Ｉ／Ｏ制御部１００８と、ＣＰＵ１００９と、ＲＡＭ１０１０と、ＢＩＯＳ＿ＲＯＭ１０１１とが設けられている。なお、Ｉ／Ｏ制御部１００８と、ＣＰＵ１００９と、ＲＡＭ１０１０と、ＢＩＯＳ＿ＲＯＭ１０１１とがバス１０１２に接続されている。
【０００６】
記憶部１００７は、当該システムを動作させるための起動データを記憶するハードディスク等の大容量記憶装置である。メモリ制御部１００４は、記憶部１００７に記憶されている起動データの読み出しを制御する。Ｉ／Ｏ制御部１００８は、ＣＰＵ１００９にて実行されるＩ／Ｏ命令により各Ｉ／Ｏの制御を行う。ＲＡＭ１０１０は、ＣＰＵ１００９がオペレーティングシステムを含むプログラムを実行する際に使用される記憶領域である。ＢＩＯＳ＿ＲＯＭ１０１１は、当該システムの起動時におけるハードウェアの初期化及び自律診断を実施するファームウェアを格納する不揮発性メモリである。ＣＰＵ１００９は、これらを制御するプロセッサである。
【０００７】
上述した構成を有するシステムに電源が投入されると、記憶部１００７に記憶されている起動データがメモリ制御部１００４によって読み出され、読み出された起動データを用いて当該システムが起動することとなる。
【０００８】
また、ハードディスクは、その機械的構造から一定の確率での故障を免れることができないという側面を持っている。それゆえ、サーバー等の信頼性が要求されるコンピュータシステムにおいては、ハードディスクを２重化する等の冗長構成を適用しているのが一般的である。
【０００９】
その様な背景にて、近年、フラッシュメモリ等に代表される不揮発性の半導体記憶素子（以下、不揮発性メモリと称する）を用いて記憶装置を構成する事例が増えてきている（例えば、特許文献１参照。）。これにより、システムから機械的箇所を排除することで、信頼性が向上することが可能となった。
【００１０】
しかしながら、不揮発性メモリは、ハードディスクと比較すると一般的にアクセス速度が低速であること、及び書込み回数に制約があることという欠点を持っている。
【００１１】
特にアクセス速度が低速であることは、プログラムのロードやセーブ動作はもとより、オペレーティングシステムにより記憶装置を仮想記憶として使用される場合においては、直接システムパフォーマンスに影響を及ぼしてしまう。また、システムブート時など起動時間をできるだけ短くしなければならないという面においても、影響を与えてしまうという課題がある。
【００１２】
そこで、高速のバスに接続されたメモリを用いて、ハードディスクに記憶されたデータを当該メモリに記憶させておき、システム起動時に当該メモリに記憶されたデータを読み出すことにより起動時の高速化を図る技術が考えられている（例えば、特許文献２参照。）。
【特許文献１】特開２００３−３４５６０２号公報
【特許文献２】特開２００４−０３０１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献２に記載された技術においては、ハードディスクに記憶されているデータを、高速バスに接続されたメモリに転送する際に、システム全体を起動させておかなければならない問い問題点がある。
【００１４】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、システムを容易に高速に起動することができる記憶装置及び起動方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために本発明は、
システムを起動するための起動データを記憶する記憶装置であって、
前記起動データを予め記憶する不揮発性の記憶部と、
前記システムを起動するために用いられる主電源とは異なる補助電源を当該記憶装置に供給する補助電源部と、
前記補助電源を用いて、前記起動データを記憶する起動用ＲＡＭと、
前記記憶部に予め記憶された起動データを、前記補助電源を用いて読み出して前記起動用ＲＡＭに書き込み、前記主電源が投入された際に、前記起動用ＲＡＭに書き込まれた起動データを読み出して前記システムに出力するメモリ制御部とを有する。
【００１６】
また、前記起動用ＲＡＭを複数有し、
前記メモリ制御部は、前記複数の起動用ＲＡＭに同一の起動データを書き込むことを特徴とする。
【００１７】
また、起動用ＲＡＭを有する記憶装置に記憶された起動データを用いてシステムを起動する起動方法であって、
前記システムを起動するために用いられる主電源とは異なる補助電源を当該記憶装置に供給する処理と、
前記起動データが予め記憶された記憶部から該起動データを、前記補助電源を用いて読み出す処理と、
前記読み出された起動データを、前記補助電源を用いて前記起動用ＲＡＭに書き込む処理と、
前記主電源が投入された際に、前記起動用ＲＡＭに書き込まれた起動データを読み出す処理と、
前記起動用ＲＡＭから読み出された起動データを前記システムに出力する処理とを有する。
【００１８】
また、前記記憶部から読み出された起動データを、複数の前記起動用ＲＡＭにそれぞれ書き込む処理を有することを特徴とする。
【００１９】
上記のように構成された本発明においては、不揮発性の記憶部に予め記憶された起動データが、システムを起動するために用いられる主電源とは異なる補助電源を用いて、メモリ制御部によって、読み出され、読み出された起動データが起動用ＲＡＭに書き込まれる。そして、主電源が投入された際に、メモリ制御部によって、起動用ＲＡＭに書き込まれた起動データが読み出されてシステムに出力される。
【００２０】
これにより、システム起動に要する時間を大幅に短縮することが可能となる。
【発明の効果】
【００２１】
以上説明したように本発明においては、不揮発性の記憶部に予め記憶された起動データを、システムを起動するために用いられる主電源とは異なる補助電源を用いて、メモリ制御部が読み出して起動用ＲＡＭに書き込む。そして、主電源が投入された際に、メモリ制御部が、起動用ＲＡＭに書き込まれた起動データを読み出してシステムに出力する構成としたため、システムを容易に高速に起動することができる。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２３】
図１は、本発明の記憶装置が適用されたシステムの実施の一形態を示す図である。
【００２４】
本形態は図１に示すように、電源部１０１と、補助電源部１０２と、サブＣＰＵ１０３と、メモリ制御部１０４と、ＲＡＭブリッジ１０５と、ＲＡＭ１０６，１１０と、記憶部１０７と、Ｉ／Ｏ制御部１０８と、メインＣＰＵ１０９と、ＢＩＯＳ＿ＲＯＭ１１１と、バス１１２とから構成されている。なお、Ｉ／Ｏ制御部１０８と、メインＣＰＵ１０９と、ＲＡＭ１１０と、ＢＩＯＳ＿ＲＯＭ１１１とがバス１１２に接続されている。
【００２５】
電源部１０１は、外部から供給される交流電源を当該システムに供給する直流電源に変換する装置またはバッテリー装置である。
【００２６】
補助電源部１０２は、電源部１０１から出力される電源電圧に基づいて補助電源電圧を生成し、図１の破線内の各構成要素に電源供給を行う。
【００２７】
サブＣＰＵ１０３は、補助電源のみが投入された状態において、メモリ制御部１０４を制御するサブプロセッサである。また、メモリ制御部１０４と接続され、アクセス速度が低速である記憶部１０７に記憶されたデータを、記憶部１０７からＲＡＭブリッジ１０５を介してＲＡＭ１０６に複写する指示をメモリ制御部１０４へ出力する。
【００２８】
メモリ制御部１０４は、Ｉ／Ｏ制御部１０８またはサブＣＰＵ１０３から出力されるアクセス指示に従って、その配下に接続されたＲＡＭ１０６や記憶部１０７といった複数の記憶装置を制御する。一般的にはＩＤＥ（Integrated Device Electronics）コントローラ等の制御回路を想定している。
【００２９】
ＲＡＭブリッジ１０５は、メモリ制御部１０４から出力される書き込み信号や読み出し信号の制御信号を、ＲＡＭブリッジ１０５の配下に接続されるＲＡＭ１０６を制御する制御信号に変換する。ＲＡＭブリッジ１０５には、メモリ制御部１０４に対して通常のシステムブート可能な記憶装置として扱えることを示す情報を返す機能が設けられている。
【００３０】
ＲＡＭ１０６は、半導体メモリであるＲＡＭ（Random Access Memory）であり、メモリ制御部１０４によって記憶部１０７から読み出されたブートイメージを含むデジタルデータが書き込まれ、補助電源が通電されている限り、内容を保持しておく記憶領域を有する起動用ＲＡＭである。
【００３１】
記憶部１０７は、当該システムを動作させるためのオペレーティングシステムやその上で動作するアプリケーションプログラム等の起動データを記憶する。ここでは、ハードディスクやフラッシュメモリ等の不揮発性の記憶素子を用いたシリコンディスク装置等の大容量記憶装置である。
【００３２】
Ｉ／Ｏ制御部１０８は、メインＣＰＵ１０９にて実行されるＩ／Ｏ命令により各Ｉ／Ｏの制御を行う。ここでは記憶装置へのアクセス指示を解読し、メモリ制御部１０４に対して制御指示を発行する役割を担う。また、主電源を投入するための電源スイッチがＩ／Ｏ制御部１０８に接続されている。
【００３３】
ＲＡＭ１１０は、主電源投入後、メインＣＰＵ１０９がオペレーティングシステムを含むプログラムを実行する際に使用される記憶領域である。
【００３４】
ＢＩＯＳ＿ＲＯＭ１１１は、当該システムの起動時におけるハードウェアの初期化及び自律診断を実施するファームウェアを格納する不揮発性メモリである。
【００３５】
メインＣＰＵ１０９は、上述した各構成要素の制御を行う中心的なメインプロセッサである。
【００３６】
なお、図１に示した各構成要素のうち、補助電源を用いて動作するものは、サブＣＰＵ１０３、メモリ制御部１０４、ＲＡＭブリッジ１０５、ＲＡＭ１０６、及び記憶部１０７である。また、主電源を用いて動作するものは、Ｉ／Ｏ制御部１０８、メインＣＰＵ１０９、ＲＡＭ１１０、及びＢＩＯＳ＿ＲＯＭ１１１である。また、図１の破線で示した部分が、本発明の記憶装置に相当する。
【００３７】
以下に、図１に示した形態における当該システムの起動方法について説明する。
【００３８】
図２は、図１に示した形態における当該システムの起動方法を説明するためのフローチャートである。
【００３９】
外部から電源部１０１にＡＣ電源等の電源が供給されると、補助電源部１０２にて補助電源出力が確定され、補助電源が、サブＣＰＵ１０３、メモリ制御部１０４、ＲＡＭブリッジ１０５、ＲＡＭ１０６、及び記憶部１０７に供給される（ステップＳ１）。ここで、Ｉ／Ｏ制御部１０８に接続されている電源スイッチが投入されるまでは、電源部１０１から主電源である２次側電源電圧は出力されない。
【００４０】
すると、補助電源が供給されたサブＣＰＵ１０３が起動し（ステップＳ２）、サブＣＰＵ１０３からメモリ制御部１０４に対して、記憶部１０７に記憶されているブートイメージを含むオペレーティングシステム、及びその上で走るアプリケーションプログラムを、記憶部１０７からＲＡＭブリッジ１０５を介してＲＡＭ１０６へ複写する指示が出力される。そして、メモリ制御部１０４によって、記憶部１０７からＲＡＭブリッジ１０５を介してＲＡＭ１０６へブートイメージを含むオペレーティングシステム、及びその上で走るアプリケーションプログラムが複写される（ステップＳ３）。
【００４１】
その後、Ｉ／Ｏ制御部１０８に接続されている電源スイッチが投入されたかどうかが判断される（ステップＳ４）。これは、予め設定された一定周期で電源スイッチ投入が監視されるものであっても良いし、電源スイッチが投入されたことにより所定の信号を変化させて、電源スイッチ投入が検出されるものであっても良い。この判断は、電源スイッチが投入されるまで続けられる。
【００４２】
Ｉ／Ｏ制御部１０８に接続されている電源スイッチが投入されたと判断されると、Ｉ／Ｏ制御部１０８から電源部１０１へ電源投入信号が出力される。この電源投入信号は、電源が投入されたことが認識できる信号であれば良く、信号のフォーマットについてはここでは特に規定しない。そして、電源部１０１に電源投入信号が入力されると、電源部１０１から主電源である２次側電源電圧が、Ｉ／Ｏ制御部１０８、メインＣＰＵ１０９、ＲＡＭ１１０、及びＢＩＯＳ＿ＲＯＭ１１１へ出力される（ステップＳ５）。
【００４３】
各構成要素に２次側電源電圧が供給されると、メインＣＰＵ１０９が起動し、ＢＩＯＳ＿ＲＯＭ１１１に記憶されているデータを用いてハードウェアの初期化及び自律診断が実施される（ステップＳ６）。
【００４４】
その後、メモリ制御部１０４によってＲＡＭ１０６に記憶されているブートイメージを含むオペレーティングシステム、及びその上で走るアプリケーションプログラムである起動データが読み出されてＩ／Ｏ制御部１０８を介してバス１１２上へ出力されることにより、当該システムとしてのイメージブートが実行される（ステップＳ７）。
【００４５】
これにより、一般的にアクセス速度が低速である記憶部１０７からのブートと比較して、システム起動に要する時間を大幅に短縮することが可能となる。
【００４６】
ここで、記憶部１０７からＲＡＭ１０６へのブートイメージを含むオペレーティングシステム、及びその上で走るアプリケーションプログラムの複写に要する時間が非常に長くなってしまう場合も考えられる。この場合は、記憶部１０７からＲＡＭ１０６へ複写するデータをシステムブートに必要な最小限のデータに限定し、残りのデータについてはシステム起動中または完全に起動した後に複写する方法を用いれば回避できる。または、完全に複写が完了するまでは、２次側電源電圧を出力しないといった方法を用いても回避できる。
【００４７】
そして、当該システムが動作状態となる（ステップＳ８）。オペレーティングシステム、及びアプリケーションプログラムが動作している間は、一般的には記憶装置へのアクセスが頻繁に行われる。例えば、プログラムのロード及びセーブ動作、オペレーティングシステムによる仮想メモリのアクセス等が挙げられる。本発明においては、システムから認識されている記憶装置はＲＡＭ１０６であり、オペレーティングシステム及び、アプリケーションプログラムはアクセス速度が高速であるＲＡＭ１０６を通常の記憶装置としてアクセスが行われる。これにより、アクセス速度の向上のほか、記憶装置としてフラッシュメモリ等の半導体記憶素子が用いられる場合に生じる問題点である書込み回数の制限を考慮する必要がなくなる。
【００４８】
その後、当該システムがシャットダウンされると（ステップＳ９）、主電源である２次側電源電圧出力がＯＦＦとなるが、補助電源によりＲＡＭ１０６の状態は保持されており（ステップＳ１０）、次回の主電源投入時も高速なシステムブートが可能となる。
【００４９】
一般的な運用においては、一度電源部１０１の１次側電源電圧が投入された後は、電源スイッチまたはシステムから電源投入信号が制御されることにより、２次側電源電圧のみが制御されてシステム電源が投入、切断状態とされる。つまり、１次側電源電圧が投入されている限り補助電源部１０２が動作し続け、補助電源部１０２から出力される補助電源を用いることにより、ＲＡＭ１０６に記憶されている内容が保持される。これにより、次回の電源スイッチの投入では、先に実施された記憶部１０７からＲＡＭ１０６への複写処理が再度実施されなくても、高速なシステムブートが可能となる。
【００５０】
また、従来の記憶装置を仮想記憶として利用する一般的なオペレーティングシステムにおいて、ディスクスワップが発生する確率を低下させるには、システム性能を向上させる目的でメインメモリの容量を増加させている。それに対して本発明は、記憶装置として、アクセス速度が高速であるＲＡＭを用いることにより、記憶装置が仮想記憶として利用された場合であっても、性能低下を最小限にすることができる。このため、多くのタスクをマルチタスクで処理することによるディスクスワップの多発が生じた場合であっても、性能低下を最小限に抑えることができる。
【００５１】
なお、図１においてメモリ制御部１０４にＲＡＭブリッジ１０５が接続されている構成を例に挙げて説明したが、メモリ制御部１０４にもう１組のＲＡＭブリッジとＲＡＭとが接続される構成も考えられる。この構成においては、各ＲＡＭに記憶された内容を互いにミラーリングすることで信頼性を向上させることができる。
【図面の簡単な説明】
【００５２】
【図１】本発明の記憶装置が適用されたシステムの実施の一形態を示す図である。
【図２】図１に示した形態における当該システムの起動方法を説明するためのフローチャートである。
【図３】従来のシステムにおける記憶部周辺の構成の一例を示す図である。
【符号の説明】
【００５３】
１０１    電源部
１０２    補助電源部
１０３    サブＣＰＵ
１０４    メモリ制御部
１０５    ＲＡＭブリッジ
１０６，１１０    ＲＡＭ
１０７    記憶部
１０８    Ｉ／Ｏ制御部
１０９    メインＣＰＵ
１１１    ＢＩＯＳ＿ＲＯＭ
１１２    バス
【図１】
2008097105.tif 000003
【図２】
2008097105.tif 000004
【図３】
2008097105.tif 000005