(57)【要約】      （修正有）【課題】多機能化することなく、記憶装置、或いはインターフェースに応じたアクセス用プログラムの不揮発性メモリへの書き込みを作業者が行う必要性を回避できるようにする。【解決手段】ブートローダー選択コード２０３は、セレクタブルビットの組み合わせに応じて、インタフェース別に用意されたローダー２０２−１〜３のなかの一つを起動する。起動されたローダー２０２は、フラッシュメモリ１０４をクリアした後、対応付けられたブート２０１を先頭アドレスから書き込み、他は消去する。それにより、インターフェースに接続される記憶装置に対応したブート２０１のみがフラッシュメモリ１０４に格納された状態に自動的に更新される。【選択図】図２
2006285587.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置が接続可能なインターフェースを備えた情報処理装置において、
前記記憶装置にアクセスするためのアクセス用プログラムを複数の接続可能な前記インターフェース別に格納した不揮発性メモリと、
前記インターフェースの種類を判別する種類判別手段と、
電源が投入された場合に、前記種類判別手段が判別した種類に対応するアクセス用プログラムを前記不揮発性メモリから読み出して実行させるプログラム選択手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記プログラム選択手段は、前記不揮発性メモリに複数のアクセス用プログラムが格納されている状態で電源が投入された場合に、前記種類判別手段が判別した種類に対応するアクセス用プログラムを除く他のアクセス用プログラムを該不揮発性メモリから消去させることにより、該種類に対応するアクセス用プログラムのみを実行可能とさせる、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
情報処理装置に搭載される不揮発性メモリに、該情報処理装置が有するインターフェースと接続される記憶装置にアクセスするためのアクセス用プログラムを準備するための方法であって、
前記インターフェースにより接続可能な記憶装置別に前記アクセス用プログラムを複数、格納した前記不揮発性メモリを前記情報処理装置に搭載し、
前記情報処理装置に電源を投入させた場合に、前記インターフェースと接続された記憶装置の種類を判別させ、
該判別により特定された種類に対応するアクセス用プログラムを除く他のアクセス用プログラムを前記不揮発性メモリから消去させる、
ことを特徴とするプログラム準備方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置が接続可能なインターフェース、及び不揮発性メモリを備えた情報処理装置に関する。
【背景技術】
【０００２】
ＭＰＵがボード上に搭載された情報処理装置の起動は、一般的に、電源の投入によって先ずボード上のプログラムが起動し、そのプログラムによって記憶装置に記憶されたプログラムを更に読み出して起動することで行われる。ここでは前者は「ブートローダー」と呼び、記憶装置に記憶されたプログラムとは区別する。そのブートローダーは通常、ＲＯＭ等の不揮発性メモリに格納される。
【０００３】
上記記憶装置としては現在、ハードディスク装置等の大容量のものが多く採用されている。そのような記憶装置はインターフェース（Ｉ／Ｆ）をボードに設けて接続するのが普通である。以降は特に断らない限り、記憶装置はインターフェースに接続するものを指す意味で用いることにする。
【０００４】
インターフェースと接続可能な記憶装置は、そのインターフェースの規約に沿って通信を行うようになっている。固有の仕様を部分的に採用しているものも多い。このようなことから、記憶装置にプログラムを格納するようになっている情報処理装置では、その記憶装置にアクセス可能なブートローダーを用意しなければならないことが多いのが実情となっている。それにより、従来は、インターフェースと接続させる記憶装置に対応したブートローダーを格納した不揮発性メモリをボード上に搭載させていた。
【０００５】
採用する記憶装置は情報処理装置によって異なるのが普通である。このことから、そのようなブートローダーの不揮発性メモリへの書き込みは従来、製造工場に専用設備を用意し、書き込むべきブートローダーを作業者が個別に書き込ませることで行われていた。
【０００６】
専用設備を用意することで、情報処理装置の製造コストはより上昇してしまうことになる。不揮発性メモリが自動実装に対応したテープ形状のものであれば、メモリ本体を取り出してブートローダーを書き込み、再度、元の状態に戻すといったより煩雑な作業を行わなければならないため、製造コストの上昇分はより大きくなる。そのメモリ本体は小型化しているため、作業性も悪いのが実情である。このようなことから、製造コストをより抑えるためには、記憶装置に応じたブートローダーの不揮発性メモリへの書き込みを作業者が行う必要性を回避させることも重要であると考えられる。
【０００７】
その必要性は、例えば特許文献１に記載されているように、複数のデバイスに対応する機能を搭載したブートローダーを不揮発性メモリに書き込むことにより回避させることが可能である。しかし、そのような多機能のブートローダーは、データ量も非常に大きくなるため、より大容量の不揮発性メモリを採用しなければならず、それによる製造コストの上昇が発生してしまう。このことから、記憶装置に応じたブートローダーの不揮発性メモリへの書き込みは、ブートローダーの多機能化はすることなく、つまりそれまでのブートローダーを書き込む対象としたままでも回避させることが重要であると言える。これは、情報処理装置の起動のために記憶装置にアクセスするためのプログラム（アクセス用プログラム）全てに言えることである。
【特許文献１】特開２００４−１９２３４１号公報
【特許文献２】特開２００３−２８０９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、多機能化することなく、記憶装置、或いはインターフェースに応じたアクセス用プログラムの不揮発性メモリへの書き込みを作業者が行う必要性を回避できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、記憶装置が接続可能なインターフェースを備えていることを前提とし、記憶装置にアクセスするためのアクセス用プログラムを複数の接続可能なインターフェース別に格納した不揮発性メモリと、インターフェースの種類を判別する種類判別手段と、電源が投入された場合に、種類判別手段が判別した種類に対応するアクセス用プログラムを不揮発性メモリから読み出して実行させるプログラム選択手段と、を具備する。
【００１０】
なお、上記プログラム選択手段は、不揮発性メモリに複数のアクセス用プログラムが格納されている状態で電源が投入された場合に、種類判別手段が判別した種類に対応するアクセス用プログラムを除く他のアクセス用プログラムを該不揮発性メモリから消去させることにより、該種類に対応するアクセス用プログラムのみを実行可能とさせる、ことが望ましい。
【００１１】
本発明のプログラム準備方法は、情報処理装置に搭載される不揮発性メモリに、該情報処理装置が有するインターフェースと接続される記憶装置にアクセスするためのアクセス用プログラムを準備するための方法であって、インターフェースにより接続可能な記憶装置別にアクセス用プログラムを複数、格納した不揮発性メモリを情報処理装置に搭載し、情報処理装置に電源を投入させた場合に、インターフェースと接続された記憶装置の種類を判別させ、該判別により特定された種類に対応するアクセス用プログラムを除く他のアクセス用プログラムを不揮発性メモリから消去させる。
【発明の効果】
【００１２】
本発明は、搭載可能なインターフェース別に、或いはインターフェースと接続可能な記憶装置別に、その記憶装置にアクセスするためのアクセス用プログラムを複数、不揮発性メモリ上に用意し、情報処理装置に電源を投入させた場合に、搭載されたインターフェース、或いはインターフェースと接続された記憶装置の種類を判別させ、その判別により特定された種類に対応するアクセス用プログラムを起動させる。そのようにして、不揮発性メモリに格納された複数のアクセス用プログラムのなかから起動すべきアクセス用プログラムが選択されて起動されるため、作業者は格納すべきアクセス用プログラムのみを不揮発性メモリに格納させる作業を行わなくて済むようになる。複数のアクセス用プログラムを格納した不揮発性メモリを用意すれば良いようになる。その作業のための専用設備を用意する必要性は回避される。これらの結果、情報処理装置の製造コストは大きく抑えられるようになる。
【００１３】
次回の電源の投入に備えるために、判別により特定された種類に対応するアクセス用プログラムを除く他のアクセス用プログラムを不揮発性メモリから消去するようにした場合には、不揮発性メモリで他の目的に使える領域をより増やすことができる。それにより、不揮発性メモリはより効率的に使用できるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施の形態による情報処理装置の構成を説明する図である。
図１に示すように、その情報処理装置は、ボード１００上に、不図示の記憶装置と接続可能なインターフェース（Ｉ／Ｆ）１０１と、そのＩ／Ｆ１００に記憶装置として接続されたハードディスク装置を制御するハードディスクコントローラ（ＨＤＣ）１０２と、装置全体の制御を行うＭＰＵ１０３と、不揮発性メモリであるフラッシュメモリ（図中「ＦＲＯＭ」と表記）１０４と、ＭＰＵ１０３がワークに用いるＲＡＭ１０５と、ＭＰＵ１０３の２本の端子とグランド間にそれぞれ接続された電子素子１０６、１０７と、を備えた構成となっている。
【００１５】
それら電子素子１０６、１０７は、例えば開閉スイッチである。それにより、ＭＰＵ１０３側の信号は共に、閉のときにはＬ（ローレベル）、開のときにはＨ（ハイレベル）となるようになっている。以降、それらの信号を「セレクタブルビット」、それらセレクタブルビットの組み合わせが示す値を「ブート設定値」とそれぞれ呼ぶことにする。
【００１６】
図２は、搭載時のフラッシュメモリ１０４に格納されているデータを説明する図である。図２中、２０１−１〜３を付したブートローダー２０１は、ハードディスク装置（記憶装置）の種類別に用意された、そのハードディスク装置に記憶されたプログラムを起動するためのプログラムである。２０２−１〜３を付したローダーは、対応付けられたブート２０１のみを残して他のブート２０１およびローダー２０２をフラッシュメモリ１０４から消去する機能を搭載したプログラムである。フラッシュメモリ１０４の先頭に格納されたブートローダー選択コード２０３は、ローダー２０２−１〜３のなかで実行させるべきものを特定して実行させるプログラムである。本実施の形態による情報処理装置は、ＭＰＵ１０３が、フラッシュメモリ１０４に格納されたブートローダー選択コード２０３、及びそのコード２０３によりローダー２０２−１〜３のうちの一つをそれぞれ実行することで実現される。
【００１７】
以上の構成において動作を説明する。
上記ＭＰＵ１０３にはＲＯＭ１０３ａが搭載され、そのＲＯＭ１０３ａにはプログラム（マスクプログラム）が格納されている。そのマスクプログラムは電源投入時に起動され、起動されたマスクプログラムは、図４に示すように、ＭＰＵ１０３に接続されたフラッシュメモリ１０４の先頭アドレスからデータを読み込む（ステップＳ１）。それにより、最初に電源が投入された場合には、フラッシュメモリ１０４の先頭に格納されたブートローダー選択コード２０３が次に起動される。
【００１８】
図５は、ブートローダー選択コード２０３が実行する処理の流れを示すフローチャートである。
その選択コード２０３は、起動されると先ず、セレクタブルビットを取り込み、それらの組み合わせが示す値であるブート設定値の判定を行う（ステップＳ１１）。その設定値が０と判定すると、ステップＳ１２に移行して、その値に対応するローダー２０２をフラッシュメモリ１０４から読み出して起動させる。同様に、その設定値が１と判定すると、ステップＳ１３に移行して、その値に対応するローダー２０２を起動させ、その設定値がＮと判定すると、ステップＳ１４に移行して、その値に対応するローダー２０２を起動させる。
【００１９】
このようにして、ブートローダー選択コード２０３は、電子素子１０６、１０７で設定されたブート設定値を判定し、その判定結果に応じて対応するローダー２０２を起動させるようになっている。それにより、情報処理装置の製造作業を行っている作業者は、所望のローダー２０２を実行させることができるようになっている。
【００２０】
セレクタブルビット数、つまり電子素子１０６、１０７の総数は、接続対象として想定するハードディスク装置（或いはＩ／Ｆ１０１）の種類の数に応じて適宜、決定すれば良いものである。このことから、上記Ｎは３以上の値である。図５では省略しているが、ブートローダー選択コード２０３は、１からＮの間のブート設定値であっても対応するローダー２０２を起動させるようになっている。ブート設定値に対応するローダー２０２の起動は、その値別に定めた格納領域にローダー２０２を格納しておくことで実現できるようにしても良い。
【００２１】
上記セレクタブルビットの組み合わせは、Ｉ／Ｆ１０１に接続されるハードディスク装置の種類の判別のために参照するようにしているが、その判別は別の方法により行うようにしても良い。例えばその種類を示す情報を作業者が入力するようにしても良い。
【００２２】
図６は、ローダー２０２が実行する処理の流れを示すフローチャートである。
起動されたローダー２０２は先ず、対応するブートローダー２０１をフラッシュメモリ１０４から読み出してＲＡＭ１０５に書き込むことでコピーを行う（ステップＳ２１）。そのコピーは、ローダー２０２別に定めた格納領域に、対応付けたブートローダー２０１を格納しておくことで実現できるようにさせている。
【００２３】
ステップＳ２１に続くステップＳ２２では、フラッシュメモリ１０４をクリアする。その次に移行するステップＳ２３では、コピーしたブートローダー２０１をフラッシュメモリ１０４の先頭アドレスから書き込む。その後は、ステップＳ２４に移行して、フラッシュメモリ１０４に書き込んだブートローダー２０１を起動させる。そのブートローダー２０１の起動により、インターフェース１０１と接続されたハードディスク装置からプログラムが読み出されて起動される。
【００２４】
このようにして、図２に示すように各種プログラムがフラッシュメモリ１０４に格納された状態で電源が投入されると、ブートローダー選択コード２０３→ローダー２０２のうちの一つ、が順次、起動され、２つのセレクタブルビットの組み合わせで指定された形のブートローダー２０１は先頭アドレスから新たに書き込まれ、それを除く他のブートローダー２０１は全て消去される。その結果、フラッシュメモリ１０４は、図３に示すように、インターフェース１０１に接続されるハードディスク装置に対応のブートローダー２０１（ここではブートローダー２０１−３）のみが格納された状態となる。それにより、次に電源が投入された際には、そのブートローダー２０１がマスクプログラムによって起動される。
【００２５】
電源の投入によってフラッシュメモリ１０４の内容は図２に示す状態から図３に示す状態に自動的に更新されるため、作業者が専用設備を用いてフラッシュメモリ１０４に個別にブートローダー２０１を書き込ませる必要性は回避される。フラッシュメモリ１０４の製造段階で複数のブートローダー２０１を複数のローダー２０２、及びブートローダー選択コード２０３と併せて図２に示すような状態に格納しておけば良いため、情報処理装置の製造段階で書き込むべきブートローダー２０１を書き込む必要性は回避される。これらの結果、設備に係るコストはより低減され、作業工数はより少なくなって作業効率はより向上する。このため、情報処理装置の製造コストは大きく抑えられるようになる。
【００２６】
フラッシュメモリ１０４に予め格納するブートローダー２０１は、対象として想定のハードディスク装置（或いはＩ／Ｆ１０１）のみを考慮したものであれば良い。複種類のハードディスク装置（或いはＩ／Ｆ１０１）に対応させる必要は無い。そのようなブートローダー２０１を用意しておくことにより、フラッシュメモリ１０４に占めるブートローダー２０１の割合を最小限に抑えることができる。フラッシュメモリ１０４の他の部分は、ファームウェアの格納といった他の目的に使用すれば良い。
【００２７】
複数のブートローダー２０１を複数のローダー２０２、及びブートローダー選択コード２０３と併せて格納したフラッシュメモリ１０４は、異なる種類のハードディスク装置をＩ／Ｆ１０１に接続させる複種類の情報処理装置で共通に用いることができる。そのため、購入、或いは製造すべきフラッシュメモリ１０４の種類はより少なくすることができる。それにより、所要変動への対応もより容易となる。
【００２８】
なお、本実施の形態では、フラッシュメモリ１０４に必要なブートローダー２０１のみを残しておくために、ブートローダー選択コード２０３、及びローダー２０２の２種類のプログラムをフラッシュメモリ１０４に用意しているが、それらの機能を搭載させた１つのプログラムをフラッシュメモリ１０４に用意するようにしても良い。フラッシュメモリ１０４として余裕がある容量のものを搭載できる場合には、ローダー２０２を格納せず、セレクタブルビットに応じてブートローダー２０１を起動させる機能を搭載させたブートローダー選択コード２０３を格納することにより、複数のブートローダー２０１のなかで起動させるべきブートローダー２０１を選択させて起動させるようにしても良い。そのようにした場合には、作業工数はより少なくなるため、製造コストはより低減させることができる。
【図面の簡単な説明】
【００２９】
【図１】本実施の形態による情報処理装置の構成を説明する図である。
【図２】搭載時のフラッシュメモリに格納されているデータを説明する図である。
【図３】電源の投入後にフラッシュメモリに格納されているデータを説明する図である。
【図４】マスクプログラムが実行する処理の流れを示すフローチャートである。
【図５】ブートローダー選択コードが実行する処理の流れを示すフローチャートである。
【図６】ローダーが実行する処理の流れを示すフローチャートである。
【符号の説明】
【００３０】
１００    ボード
１０１    インターフェース（Ｉ／Ｆ）
１０２    ハードディスクコントローラ（ＨＤＣ）
１０３    ＭＰＵ
１０３ａ    ＲＯＭ
１０４    フラッシュメモリ（ＦＲＯＭ）
１０５    ＲＡＭ
２０１−１〜３    ブート
２０２−１〜３    ローダー
２０３    ブートローダー選択コード
【図１】
2006285587.tif 000003
【図４】
2006285587.tif 000004
【図５】
2006285587.tif 000005
【図６】
2006285587.tif 000006
【図２】
2006285587.tif 000007
【図３】
2006285587.tif 000008