(57)【要約】【課題】スロットが複数ある場合でもどのスロットからも起動が可能な情報処理装置を提供する。【解決手段】メモリインタフェースを持たないメモリカードと、メモリカードを装着可能な複数のメモリカードスロットと、複数のメモリカードスロットの中から（１）最初に初期化に成功したメモリカードスロット、（２）ハードウェアスイッチ、（３）不揮発性メモリに登録された値、（４）カード検知信号を検知したメモリカードが装着されたメモリカードスロット、または（５）ライトプロテクト信号を検知したメモリカードが装着されたメモリカードスロットのいずれかによって起動スロットを選択するブートスロット選択手段と、ブートスロット選択手段で選択された起動スロットに装着されたメモリカードのメモリ空間をＣＰＵメモリ空間のブートベクタを含む空間へマッピングしてＣＰＵメモリ空間を変更するマッピング手段とを備えている。【選択図】        図４
2004206499.tif 000002
【特許請求の範囲】
【請求項１】
メモリインタフェースを持たない着脱可能な記録媒体（以下、メモリカードという）と、前記メモリカードを装着可能な複数のメモリカードスロットと、前記複数のメモリカードスロットの中から起動スロットを選択するブートスロット選択手段と、前記起動スロットに装着された前記メモリカードのメモリ空間をＣＰＵメモリ空間に直接マッピングするマッピング手段とを備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載された情報処理装置において、前記ブートスロット選択手段は、前記複数のメモリカードスロットを巡回して、最初に初期化に成功した前記メモリカードが装着された前記メモリカードスロットを起動スロットとして選択することを特徴とする情報処理装置。
【請求項３】
請求項２に記載された情報処理装置において、前記ブートスロット選択手段は、装着されたメモリカードのメモリ空間にＣＰＵブートベクタを含んでいる場合に、初期化可能と判断することを特徴とする情報処理装置。
【請求項４】
請求項１に記載された情報処理装置において、ハードウェアスイッチを有し、前記ブートスロット選択手段は、そのハードウェアスイッチで設定されたスロット値を起動スロットとして選択することを特徴とする情報処理装置。
【請求項５】
請求項１に記載された情報処理装置において、不揮発性メモリを有し、前記ブートスロット選択手段は、前記不揮発性メモリの所定のアドレスに登録されたスロット値を起動スロットとして選択することを特徴とする情報処理装置。
【請求項６】
請求項１に記載された情報処理装置において、前記ブートスロット選択手段は、カード検知信号を検知した前記メモリカードが装着された前記メモリカードスロットを起動スロットとして選択することを特徴とする情報処理装置。
【請求項７】
請求項１に記載された情報処理装置において、前記ブートスロット選択手段は、ライトプロテクト信号を検知した前記メモリカードが装着された前記メモリカードスロットを起動スロットとして選択することを特徴とする情報処理装置。
【請求項８】
請求項１乃至７のいずれかに記載の情報処理装置において、前記マッピング手段は、前記ブートスロット選択手段で選択された起動スロットに装着されたメモリカードのメモリ空間をＣＰＵメモリ空間のブートベクタを含む空間へマッピングしてＣＰＵメモリ空間を変更することを特徴とする情報処理装置。
【請求項９】
請求項８に記載の情報処理装置において、前記マッピング手段は、前記起動スロット以外のメモリカードスロットに装着されたメモリカードのメモリ空間をブートベクタを含む空間とは別の空間にマッピングすることを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ、ＭＦＰまたはコンピュータのような着脱可能な記憶媒体を実装可能な情報処理装置に関し、特に、複数設置されたスロットのいずれからでも起動することができる情報処理装置に関する。
【０００２】
【従来の技術】
一般的に、プロセッサを用いて様々なデータ処理を行なう情報処理装置では、ブート用ＲＯＭにブートプログラムが格納されている。
電源が投入されると、プロセッサは、先ずブート用ＲＯＭにアクセスして、ブートプログラムが、他のメモリに格納されたシステムソフトウェアに対し起動をかけて、情報処理装置全体が動作可能な状態になる。
【０００３】
このような情報処理装置の多くには、メモリカードを装着可能なスロットが設けられている。このスロットに装着されたメモリカードは、メモリカード用インタフェースを介して、プロセッサと接続され、メモリカードに格納されたプログラムを自由に実行することができる。
【０００４】
例えば、特許文献１のデータ処理装置は、通常は装置内部に設置された内蔵ブートメモリから起動させ、システムソフトウェアに障害が起きた場合には、外部記録媒体であるメモリカード上の障害検出のための自己診断プログラム等の各種プログラムを電源投入時に直接実行する。その結果、システムソフトウェアが正常に動作していない場合でも、外部記憶媒体内の各種プログラムを実行することができる。
【０００５】
また、特許文献２の画像形成装置は、装置を駆動制御するためのものではないＩＣカードが、装置本体に誤ってセットされた場合、データが本来のデータとは異なるため、ブートされた誤データによって装置にダメージを与えないように、フラッシュＲＯＭ等の本体側記憶手段上のブートプログラムを使用し、外部記憶手段からのプログラム駆動時における装置保護を実現している。
【０００６】
即ち、特許文献１および特許文献２における技術は、外部記憶媒体であるメモリカードと装置内に標準実装された内蔵ブートメモリのブートデバイスとの使い分けに関するものである。
【０００７】
【特許文献１】
特開平０８−１７１４８３号公報
【特許文献２】
特開２０００−１０５７０３号公報
【０００８】
【発明が解決しようとする課題】
しかし、着脱可能な記憶媒体（以下メモリカード）のスロットが複数ある装置において直接起動が可能なスロットを限定することは、次のような問題があり、そのため誤操作が発生したり、プログラムも起動スロットを意識した作り分けが必要となることから開発工数が増加してしまう。
【０００９】
・起動スロットの認識が困難である。
・起動スロットの表示が必要である。
・各スロットの機能が共通でない。
【００１０】
本発明は、上述の実情を考慮してなされたものであって、起動スロットが複数ある場合でもどのスロットからも起動が可能な情報処理装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上述の課題を解決するために、本発明の請求項１は、メモリインタフェースを持たない着脱可能な記録媒体（以下、メモリカードという）と、前記メモリカードを装着可能な複数のメモリカードスロットと、前記複数のメモリカードスロットの中から起動スロットを選択するブートスロット選択手段と、前記起動スロットに装着された前記メモリカードのメモリ空間をＣＰＵメモリ空間に直接マッピングするマッピング手段とを備えることを特徴とする。
【００１２】
また、本発明の請求項２は、請求項１に記載された情報処理装置において、前記ブートスロット選択手段は、前記複数のメモリカードスロットを巡回して、最初に初期化に成功した前記メモリカードが装着された前記メモリカードスロットを起動スロットとして選択することを特徴とする。
また、本発明の請求項３は、請求項２に記載された情報処理装置において、前記ブートスロット選択手段は、装着されたメモリカードのメモリ空間にＣＰＵブートベクタを含んでいる場合に、初期化可能と判断することを特徴とする。
【００１３】
また、本発明の請求項４は、請求項１に記載された情報処理装置において、ハードウェアスイッチを有し、前記ブートスロット選択手段は、そのハードウェアスイッチで設定されたスロット値を起動スロットとして選択することを特徴とする。
また、本発明の請求項５は、請求項１に記載された情報処理装置において、不揮発性メモリを有し、前記ブートスロット選択手段は、前記不揮発性メモリの所定のアドレスに登録されたスロット値を起動スロットとして選択することを特徴とする。
【００１４】
また、本発明の請求項６は、請求項１に記載された情報処理装置において、前記ブートスロット選択手段は、カード検知信号を検知した前記メモリカードが装着された前記メモリカードスロットを起動スロットとして選択することを特徴とする。
また、本発明の請求項７は、請求項１に記載された情報処理装置において、前記ブートスロット選択手段は、ライトプロテクト信号を検知した前記メモリカードが装着された前記メモリカードスロットを起動スロットとして選択することを特徴とする。
【００１５】
また、本発明の請求項８は、請求項１乃至７のいずれかに記載の情報処理装置において、前記マッピング手段は、前記ブートスロット選択手段で選択された起動スロットに装着されたメモリカードのメモリ空間をＣＰＵメモリ空間のブートベクタを含む空間へマッピングしてＣＰＵメモリ空間を変更することを特徴とする。
また、本発明の請求項９は、請求項８に記載の情報処理装置において、前記マッピング手段は、前記起動スロット以外のメモリカードスロットに装着されたメモリカードのメモリ空間をブートベクタを含む空間とは別の空間にマッピングすることを特徴とする。
【００１６】
したがって、上述の構成により、複数あるメモリカードスロットから起動スロットを選択できるようにしたので、どのスロットからでも起動でき、例えばブータブルカードを装着するスロットを間違えて起動する等の誤操作を無くすことができる。
【００１７】
ユーザの要求に応じてメモリカードの起動スロットを任意のスロットに設定することができる。
また、ブータブルメモリカードを自動検出するようにしたので、起動スロット選択の設定が不要となり、設定時のミスによる誤操作をなくすことができる。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の情報処理装置の好適な実施形態について説明する。
図１は、本発明の情報処理装置のハードウェアの概略構成を示すブロック図であり、同図において、情報処理装置１０は、種々の信号によりプログラムの実行を制御するＣＰＵ（Central Processing Unit）１１、スイッチ情報や実行に使われるテーブル等を保持するＮＶＲＡＭ（Non Volatile RAM）等からなる不揮発性メモリ１２、ＡＳＩＣ（Application Specific Integrated Circuit）１３、周辺装置との入出力インタフェースであるＩ／Ｏブロック１４、カードコントローラ２０、カードスロット１５を少なくとも備えている。
【００１９】
カードスロット１５には、着脱可能な記憶媒体（以下、メモリカードという）１６を接続することができる。
本実施形態においては、カードスロット１５を３つ備えており、それぞれメモリカード１６を着脱できるようになっているものとして説明する。これに限定されるものではなく、２つ以上のカードスロットを備えている情報処理装置であれば本発明の情報処理装置と同様な効果を得られる。
【００２０】
情報処理装置１０の電源投入時に起動実行されるブートプログラムは、メモリカード１６に格納されておりカードコントローラ２０を介してプログラムがフェッチされる。尚、ブータブルカードスロットは、ハードウェアによって選択される（後述）。
【００２１】
図２は、カードコントローラ２０の内部ブロック図である。
カードコントローラ２０は、メモリバスインタフェース２１からカードのシリアルインタフェース２４への変換およびプロトコルの生成を行なうブロックである。
メモリバスインタフェース２１とは、リクエスト信号、メモリアドレス、データ、Ｒｅａｄ／Ｗｒｉｔｅ信号そしてＡＣＫ信号でインタフェースされ、これらの信号をデコードし、アドレスの変換（例えば、ＣＰＵ  ａｄｄｒ＝ＢＦＣ００００をＣａｒｄ  ａｄｄｒ＝８００へ変換する）やプロトコルを生成し（例えば、リードコマンドやアクセスタイプの指定等）、カードとのインタフェースを行なう。
【００２２】
自動初期化ルーチン２２には、ダミークロック出力、ステータスの取得、カードレジスタの初期化等の手順が設定されており、パワーオンリセットの際、自動的にカード初期化が行なわれる。
【００２３】
カードスイッチ２３は、図３に示すように、Ｂｏｏｔｓｅｌ（１，０）信号の状態により各カードスロット１５の論理マップを変換する。
例えば、Ｂｏｏｔｓｅｌ（１，０）＝（０，０）の場合には、スロット１がブートスロットとなり、ＣＰＵメモリマップの空間Ａ１へ、以下、スロット２は空間Ａ２へ、スロット３は空間Ａ３にマッピングされる。
Ｂｏｏｔｓｅｌ（１，０）＝（０，１）の場合には、スロット２がブートスロットとなり、ＣＰＵメモリマップの空間Ａ１へ、以下、スロット３は空間Ａ２へ、スロット１は空間Ａ３にマッピングされる。
Ｂｏｏｔｓｅｌ（１，０）＝（１，０）の場合には、スロット３がブートスロットとなり、ＣＰＵメモリマップの空間Ａ１へ、以下、スロット１は空間Ａ２へ、スロット２は空間Ａ３にマッピングされる。
Ｂｏｏｔｓｅｌ（１，０）＝（１，１）の場合には、Ｂｏｏｔｓｅｌ（１，０）＝（０，０）と同じにマッピングされる。
【００２４】
次に、図４を参照して、Ｂｏｏｔｓｅｌ（１，０）信号を生成するブートスロット選択手段３０を説明する。
自動選択に設定されている場合は、どのカードスロット１５が初期化およびブート可能か否かを、カードスロットを順番に確認して判定する。
例えば、スロット１→２→３と順次初期化を行い、最初に初期化に成功したスロットをブートスロットに選択し、そのスロットからブートを行なう。
このスロットに装着されたメモリカードにＣＰＵブートベクタを含んでいる場合、初期化が成功する。
【００２５】
また、次のいずれかによってもブートスロットを特定することができる。
（１）ＮＶＲＡＭ登録情報
不揮発性メモリ１２の所定のアドレスに、ユーザによって予めブートスロットがどのスロットであるかを設定しておく。
（２）ディップスイッチ
ディップスイッチ（ＳＷ）１７を設けておき、このスイッチを使ってどのスロットがブートスロットであるかをユーザが予め設定しておく。
（３）メモリカードのＣＤ信号
メモリカード１６をカードスロット１５へ装着した際に発生するカード検出信号がどのカードスロットで発生したかによって、ブートスロットを設定する。
（４）ＷＰ信号などから生成される。
メモリカード１６をカードスロット１５へ装着した際に発生するカード検出信号を検知し、そのメモリカードがライトプロテクトされていれば、そのスロットをブートスロットとして設定する。
【００２６】
次に、図５は、ＣＰＵ１１がブートベクタＢＦＣ０００００番地にアクセスして第１ワードを読み出すまでのハードウェア処理のフローチャートである。
電源がＯＮになると、カードコントローラ２０のリセットが解除される（ステップＳ１）。
解除後、ブートスロットの選択が行なわれ、自動選択の場合（ステップＳ２のＹＥＳ）は、スロット１から順に初期化を行い、最初に初期化に成功したスロットをブートスロットに選択し（ステップＳ３〜Ｓ６）、ステップＳ９へ進む。
【００２７】
他方、自動選択がＯＦＦの場合（ステップＳ２のＮＯ）、ブートスロット情報を獲得する（ステップＳ７）。このブートスロット情報の獲得は、次のいずれかで決定する。
（１）ディップスイッチによる選択の場合は、スイッチ信号の状態からブートスロットを決定する。
（２）カード検知信号による選択の場合は、どのスロットにメモリカードが装着されたかによってブートスロットを決定する。
（３）ライトプロテクト信号による選択の場合は、装着されたメモリカードのうちどのカードがライトプロテクトされているかによって、ブートスロットを決定する。
（４）ＮＶＲＡＭの設定情報による選択の場合は、所定のアドレスからブートスロット情報を読み出すことにより、ブートスロットを決定する。
【００２８】
獲得されたブートカードスロットを選択し、メモリカードを初期化する（ステップＳ８）。
選択されたブートスロットがブートベクタ空間にマッピングされるようにＣＰＵメモリマップの設定変更を行なう（ステップＳ９）。（図３参照）
次に、ＣＰＵリセットを解除し（ステップＳ１０）、リセット解除されるとＣＰＵ１１はブートベクタにアクセスを行い、選択されたカードスロットから起動が始まる（ステップＳ１１〜Ｓ１６）。
【００２９】
【発明の効果】
以上説明したように本発明によれば、複数あるメモリカードスロットから起動スロットを選択できるようにしたので、どのスロットからでも起動でき、例えばブータブルカードを装着するスロットを間違えて起動する等の誤操作を無くすことができる。
【００３０】
ユーザの要求に応じてメモリカードの起動スロットを任意のスロットに設定することができる。
また、ブータブルメモリカードを自動検出するようにしたので、起動スロット選択の設定が不要となり、設定時のミスによる誤操作をなくすことができる。
【図面の簡単な説明】
【図１】本発明の情報処理装置のハードウェアの概略構成を示すブロック図である。
【図２】カードコントローラの内部ブロック図である。
【図３】カードメモリをＣＰＵメモリマップへマッピングしたときの例である。
【図４】ブートスロット選択手段の機能を説明するためのブロック図である。
【図５】ＣＰＵがブートベクタにアクセスし第１ワードを読み出すまでのハードウェア処理のフローチャートである。
【符号の説明】
１０…情報処理装置、１１…ＣＰＵ、１２…不揮発性メモリ、１３…ＡＳＩＣ、１４…Ｉ／Ｏブロック、１５，１５１，１５２，１５３…カードスロット、１６，１６１，１６２，１６３…メモリカード、１７…ディップスイッチ（ＳＷ）、２０…カードコントローラ、２１…メモリバスインタフェース、２２…自動初期化ルーチン、２３…カードスイッチ、２４，２４１，２４２，２４３…カードのシリアルインタフェース、３０…ブートスロット選択手段。
【図１】
2004206499.tif 000003
【図２】
2004206499.tif 000004
【図３】
2004206499.tif 000005
【図４】
2004206499.tif 000006
【図５】
2004206499.tif 000007