JP2006126987A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2006126987A JP2006126987A JP2004311721A JP2004311721A JP2006126987A JP 2006126987 A JP2006126987 A JP 2006126987A JP 2004311721 A JP2004311721 A JP 2004311721A JP 2004311721 A JP2004311721 A JP 2004311721A JP 2006126987 A JP2006126987 A JP 2006126987A
- Authority
- JP
- Japan
- Prior art keywords
- program
- transfer
- memory card
- image processing
- processing apparatus
- 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
Abstract
【課題】 装置に着脱可能な不揮発性記憶媒体(メモリカード)から装置内蔵のRAMにプログラムをブートする方式であっても、プログラムの起動をより高速に行うようにする。
【解決手段】 通常起動の制御フロー(ステップS103〜S107)と高速起動の制御フロー(ステップS113)を起動フラグにより選択し、実行する。初めは通常起動を行い、その過程で、メモリカードからRAMへの読み込み履歴情報として、転送元のセクタNoと、転送先のRAM5のアドレスと、機器の構成情報を登録する。又、通常起動を行った後に起動フラグを高速に置き換える。起動フラグを高速にしたので、次の起動時には、高速起動が選択され、機器の構成に相違が無いことが確認できれば、登録した読み込み履歴情報を用いてDMAによる高速転送を行う。
【選択図】 図3
【解決手段】 通常起動の制御フロー(ステップS103〜S107)と高速起動の制御フロー(ステップS113)を起動フラグにより選択し、実行する。初めは通常起動を行い、その過程で、メモリカードからRAMへの読み込み履歴情報として、転送元のセクタNoと、転送先のRAM5のアドレスと、機器の構成情報を登録する。又、通常起動を行った後に起動フラグを高速に置き換える。起動フラグを高速にしたので、次の起動時には、高速起動が選択され、機器の構成に相違が無いことが確認できれば、登録した読み込み履歴情報を用いてDMAによる高速転送を行う。
【選択図】 図3
Description
本発明は、データの書込・消去が可能であり、装置本体に着脱が可能な不揮発性記憶媒体からブートされたプログラムによって画像処理を行う画像処理装置に関し、より特定すると、ブートに要する時間の短縮化を図るための手段を備えた上記画像処理装置に関する。
近年、文書や画像を扱うアプリケーションを用いて画像を処理する画像処理装置において、多機能化に伴って使用するアプリケーションやプログラムサイズが増大しており、これらを装置内に保存する方法をとると、内蔵のROMに大容量が必要になる。内蔵のROMはメモリ容量が有限(固定)である上に、高価であることが制約となることもあって、機能の拡大やバージョンアップに対応できなくなるという状況が発生する。
このために、装置内蔵のROMに代えて、ビット単価の比較的安いハードディスクやSD(Secure Digital)カード等の装置本体に着脱が可能(リムーバブル)な不揮発性記憶媒体を用いることにより、機能の拡大や装置のコストダウンを図っている。
下記特許文献1,2は、メモリカードに書き込まれたアプリケーションプログラムを使用する従来技術を例示するものである。
特許文献1には、1つのメモリカードに複数のアプリケーションプログラムを書き込んでおき、その中から利用するプログラムを選択し、CPU制御下のRAMにダウンロード(プログラムの読み込み)することにより必要な処理を行うようにしたデジタル複写機が示されている。
また、特許文献2には、メモリカード(着脱可能な半導体メモリ)に、ブートプログラムとOS(オペレーティングシステム)を書き込んでおき、メモリカード装着時にメモリカードからOSをブートするようにした情報処理装置(コンピュータ)が示されている。ここでは、メモリカードからのブートによって、コンピュータ本体にインストールされている多機能で大規模なOSを起動する必要をなくし、例えばメモリカードのコンテンツ再生に必要な最低限のOSだけを起動させるようにし、容易且つ迅速な起動を可能にしている。
特開平6−105039号公報
特開2002−82810号公報
このために、装置内蔵のROMに代えて、ビット単価の比較的安いハードディスクやSD(Secure Digital)カード等の装置本体に着脱が可能(リムーバブル)な不揮発性記憶媒体を用いることにより、機能の拡大や装置のコストダウンを図っている。
下記特許文献1,2は、メモリカードに書き込まれたアプリケーションプログラムを使用する従来技術を例示するものである。
特許文献1には、1つのメモリカードに複数のアプリケーションプログラムを書き込んでおき、その中から利用するプログラムを選択し、CPU制御下のRAMにダウンロード(プログラムの読み込み)することにより必要な処理を行うようにしたデジタル複写機が示されている。
また、特許文献2には、メモリカード(着脱可能な半導体メモリ)に、ブートプログラムとOS(オペレーティングシステム)を書き込んでおき、メモリカード装着時にメモリカードからOSをブートするようにした情報処理装置(コンピュータ)が示されている。ここでは、メモリカードからのブートによって、コンピュータ本体にインストールされている多機能で大規模なOSを起動する必要をなくし、例えばメモリカードのコンテンツ再生に必要な最低限のOSだけを起動させるようにし、容易且つ迅速な起動を可能にしている。
しかしながら、装置本体に着脱が可能なメモリカードから、ブート或いはダウンロードにより、CPU制御下のRAMにプログラムを読み込む方式は、装置内蔵のROMから読み込む方式よりも低速であり、プログラム(システム)の起動が遅くなってしまう、という問題が生じる。
この問題点については、上記特許文献1,2に示した従来例において、課題として認識が無く、この課題の解決手段については、提案がされていない。なお、特許文献2は、OSの起動を迅速に行うことを目的としているが、ここでは、メモリカードからのブート方式を用いることによって、コンピュータ本体にインストールされている多機能で大規模なOSを起動する必要をなくし、迅速化を可能にしたものである。つまり、この従来例は、コンピュータ本体の大規模なOSを起動する必要をなくすことが迅速化の要因であり、メモリカードからブートを行う方式そのものの高速化を図るものではなく、問題意識が異なる。
本発明は、データの書込・消去が可能であり、装置本体に着脱が可能な不揮発性記憶媒体(例えば、メモリカード)から装置本体のCPU制御下のRAMにプログラムをブートする方式を採用する従来の画像処理装置に生じるプログラム(システム)の起動が遅くなる、という問題に鑑み、これを解決するためになされたもので、装置本体に着脱が可能な不揮発性記憶媒体からプログラムをブートする上記のような方式によっても、より高速にプログラム(システム)の起動が行えるようにすることを解決課題とする。
この問題点については、上記特許文献1,2に示した従来例において、課題として認識が無く、この課題の解決手段については、提案がされていない。なお、特許文献2は、OSの起動を迅速に行うことを目的としているが、ここでは、メモリカードからのブート方式を用いることによって、コンピュータ本体にインストールされている多機能で大規模なOSを起動する必要をなくし、迅速化を可能にしたものである。つまり、この従来例は、コンピュータ本体の大規模なOSを起動する必要をなくすことが迅速化の要因であり、メモリカードからブートを行う方式そのものの高速化を図るものではなく、問題意識が異なる。
本発明は、データの書込・消去が可能であり、装置本体に着脱が可能な不揮発性記憶媒体(例えば、メモリカード)から装置本体のCPU制御下のRAMにプログラムをブートする方式を採用する従来の画像処理装置に生じるプログラム(システム)の起動が遅くなる、という問題に鑑み、これを解決するためになされたもので、装置本体に着脱が可能な不揮発性記憶媒体からプログラムをブートする上記のような方式によっても、より高速にプログラム(システム)の起動が行えるようにすることを解決課題とする。
請求項1の発明は、プログラムが格納された着脱可能な不揮発性記憶媒体と、起動が指示された、前記不揮発性記憶媒体に格納されたプログラムを転送速度の異なる転送モードから選択された1の転送モードで装置内部のRAMにロードするためのプログラム転送制御手段とを有する画像処理装置であって、プログラムの転送履歴情報を管理する転送履歴管理手段を備え、前記プログラム転送制御手段は、起動が指示されたプログラムに対し前記転送履歴管理手段で管理された転送履歴情報に基づいて、高速転送モードの選択を行うようにしたことを特徴とする画像処理装置である。
請求項2の発明は、請求項1に記載された画像処理装置において、前記転送履歴情報が、転送されたプログラムの転送元である不揮発性記憶媒体、転送先であるRAMそれぞれにおけるプログラムの格納場所を示す情報であり、高速転送モードがDMA転送であることを特徴とするものである。
請求項2の発明は、請求項1に記載された画像処理装置において、前記転送履歴情報が、転送されたプログラムの転送元である不揮発性記憶媒体、転送先であるRAMそれぞれにおけるプログラムの格納場所を示す情報であり、高速転送モードがDMA転送であることを特徴とするものである。
請求項3の発明は、請求項1又は2に記載された画像処理装置において、装置構成の変更をチェックする装置構成チェック手段を備え、前記プログラム転送制御手段は、前記装置構成チェック手段によって装置構成の変更が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とするものである。
請求項4の発明は、請求項1乃至3に記載された画像処理装置において、プログラムの更新をチェックするプログラム更新チェック手段を備え、前記プログラム転送制御手段は、前記プログラム更新チェック手段によってプログラムの更新が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とするものである。
請求項4の発明は、請求項1乃至3に記載された画像処理装置において、プログラムの更新をチェックするプログラム更新チェック手段を備え、前記プログラム転送制御手段は、前記プログラム更新チェック手段によってプログラムの更新が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とするものである。
請求項1,2の発明によると、転送履歴情報(転送元である不揮発性記憶媒体、転送先であるRAMそれぞれにおけるプログラムの格納場所)を管理し、同一の読み込みを行う場合に、履歴情報を利用して高速転送(DMA転送)を行うようにしたことにより、装置本体に着脱可能な不揮発性記憶媒体からプログラムを本体内蔵のRAMにブートする方式によっても、より高速にプログラム(システム)を起動することが可能になる。
また、請求項3の発明によると、装置構成をチェックし、装置構成の変更がないことを条件に高速転送を行うようにしたことにより、変更された機器を制御するためのプログラムが起動されない、といった不都合を生じないようにすることが可能になる。
また、請求項4の発明によると、プログラムの更新をチェックし、プログラムの更新がないことを条件に高速転送を行うようにしたことにより、更新したプログラムの読み込みが正常に行われず、プログラムが起動できなくなる、といった不都合を回避することが可能になる。
また、請求項3の発明によると、装置構成をチェックし、装置構成の変更がないことを条件に高速転送を行うようにしたことにより、変更された機器を制御するためのプログラムが起動されない、といった不都合を生じないようにすることが可能になる。
また、請求項4の発明によると、プログラムの更新をチェックし、プログラムの更新がないことを条件に高速転送を行うようにしたことにより、更新したプログラムの読み込みが正常に行われず、プログラムが起動できなくなる、といった不都合を回避することが可能になる。
以下に、本発明の画像処理装置に係わる実施形態を説明する。なお、本実施形態は、本発明の画像処理装置をMFP機(コピー,FAX,スキャナ,プリンタの各機能を複合して持つ装置)に適用した例を示す。
図1は、本実施形態に係わるMFP機の構成を示す。
図1を参照して、MFP機の構成の概要を説明する。CPU1は、プログラムを動作させることにより、装置(システム)全体を制御する手段として機能する。CPU1の制御下には、電源投入時に最初に実行されるブートプログラムが格納されたブートROM2、メモリカード3を制御するメモリコントローラ4、MFP機の動作・処理に必要なプログラムの実行、画像蓄積、編集等の画像データの操作に利用されるRAM5、ユーザインタフェースとして機能する入力装置7と表示装置8を制御するオペレーションパネルコントローラ6、紙媒体への画像出力を行うプリンタエンジン9、原稿画像を読み取るスキャナ10、ネットワーク接続された機器との通信を行うためのネットワークI/F11が備えられ、これらは、CPU1とともにバス12を介して接続されている。
また、メモリコントローラ4により書き込み・読み出しが制御されるメモリカード3には、MFP機の動作・処理に必要なプログラム等が格納される。メモリカード3は、SD(Secure Digital)カード等の記憶媒体を用い、メモリカード3を交換することにより、機能の追加や変更に対応可能とする。なお、SDカードは大容量の着脱可能な形式の記憶媒体で、データの書込・消去が可能な不揮発性の記憶媒体であるフラッシュメモリをカード型としたものである。
本実施形態では、内蔵するROMに各機能を利用するためのプログラムを格納していないので、これらのプログラムを起動するときには、先ず、内蔵するブートROM2に格納されたブートプログラムを動作させ、求める機能の利用に必要なプログラムをメモリカード3からRAM5に読み出す。なお、ブート時の動作については、後記で処理フローによって詳述する。
図1は、本実施形態に係わるMFP機の構成を示す。
図1を参照して、MFP機の構成の概要を説明する。CPU1は、プログラムを動作させることにより、装置(システム)全体を制御する手段として機能する。CPU1の制御下には、電源投入時に最初に実行されるブートプログラムが格納されたブートROM2、メモリカード3を制御するメモリコントローラ4、MFP機の動作・処理に必要なプログラムの実行、画像蓄積、編集等の画像データの操作に利用されるRAM5、ユーザインタフェースとして機能する入力装置7と表示装置8を制御するオペレーションパネルコントローラ6、紙媒体への画像出力を行うプリンタエンジン9、原稿画像を読み取るスキャナ10、ネットワーク接続された機器との通信を行うためのネットワークI/F11が備えられ、これらは、CPU1とともにバス12を介して接続されている。
また、メモリコントローラ4により書き込み・読み出しが制御されるメモリカード3には、MFP機の動作・処理に必要なプログラム等が格納される。メモリカード3は、SD(Secure Digital)カード等の記憶媒体を用い、メモリカード3を交換することにより、機能の追加や変更に対応可能とする。なお、SDカードは大容量の着脱可能な形式の記憶媒体で、データの書込・消去が可能な不揮発性の記憶媒体であるフラッシュメモリをカード型としたものである。
本実施形態では、内蔵するROMに各機能を利用するためのプログラムを格納していないので、これらのプログラムを起動するときには、先ず、内蔵するブートROM2に格納されたブートプログラムを動作させ、求める機能の利用に必要なプログラムをメモリカード3からRAM5に読み出す。なお、ブート時の動作については、後記で処理フローによって詳述する。
メモリカード3の利用は、機能の追加や変更に必要なプログラムの増加への対応を可能にし、しかもより安価であるという利点がある反面、内蔵するROMに格納した場合のような起動の速さは、得られない。
そこで、本実施形態は、メモリカード3に格納したプログラムを起動するときに、メモリカード3からRAM5に読み出す時の転送時間の短縮化によって、起動のスピードアップを図るようにする。
具体的には、過去に行ったプログラムの読み込み時の履歴情報を管理し、その後、前に行ったと同一の条件で読み込みを行う場合には、読み込み時に、プログラムの転送先であるRAM5のアドレスの指定をCPU1の処理として改めて行うことなく、過去に得た履歴情報から得られるRAM5の指定アドレスに、DMA(Direct Memory Access)転送を行うようにする(以下、このプログラム起動時の動作を「高速読み込み」或いは「高速起動」という)。即ち、転送に必要なCPU1の処理の省略とDMA転送によって、転送時間の短縮化を図る。
本実施形態では、この制御に必要な履歴情報等の情報をメモリカードにおける所定の記憶領域で管理する方法により実施する。
そこで、本実施形態は、メモリカード3に格納したプログラムを起動するときに、メモリカード3からRAM5に読み出す時の転送時間の短縮化によって、起動のスピードアップを図るようにする。
具体的には、過去に行ったプログラムの読み込み時の履歴情報を管理し、その後、前に行ったと同一の条件で読み込みを行う場合には、読み込み時に、プログラムの転送先であるRAM5のアドレスの指定をCPU1の処理として改めて行うことなく、過去に得た履歴情報から得られるRAM5の指定アドレスに、DMA(Direct Memory Access)転送を行うようにする(以下、このプログラム起動時の動作を「高速読み込み」或いは「高速起動」という)。即ち、転送に必要なCPU1の処理の省略とDMA転送によって、転送時間の短縮化を図る。
本実施形態では、この制御に必要な履歴情報等の情報をメモリカードにおける所定の記憶領域で管理する方法により実施する。
図2は、本実施形態におけるメモリカードのデータ構成の1例を示すものである。
図2に示すメモリカードは、FAT(File Allocation Table)ファイル等の一般的なファイルシステムで構成されている。このシステムのデータ構成は、ファイルシステム31上で各種情報(上記履歴情報が含まれる)を格納したファイルや各種制御プログラムのファイルが格納される。各ファイルは、ファイルシステム31で格納位置が管理されているため、その格納場所は任意である。
本実施形態では、各種情報のファイルとして、起動フラグ32、機器構成情報33、読み込み履歴34が格納されている。起動フラグ32は、「通常起動」と「高速起動」を識別するために設けられ、読み込み動作を行っていない初期の状態では、「通常」であり、読み込み後に「高速」に変更される。機器構成情報33は、メモリカードを利用する機器の構成を、プロッタ(プリンタエンジン)、スキャナ、FAX、ネットワーク等の機器の有無によって示す情報であり、本実施形態のMFP機であれば、上記したように、コピー,FAX,スキャナ,プリンタの各機能を実現するためのデバイスを有しているので、メモリカードの装着時に、プロッタ、スキャナ、FAX、ネットワークにありが記される。また、読み込み履歴34は、「高速起動」に起動フラグ32を変更する時に、メモリカードから読み込んだプログラムの転送元のセクタNoと転送先のRAMアドレスが登録される。
各種制御プログラム(システムプログラム、制御プログラム等)のファイルは、それぞれファイルシステム31の管理の下に、所定の位置(セクタNo)に格納される。本実施形態では、システムプログラム35、表示制御プログラム36、コピー制御プログラム37、スキャナ制御プログラム38、FAX制御プログラム39、プリンタ制御プログラム40、ネットワーク制御プログラム41等のプログラムが搭載されている。
図2に示すメモリカードは、FAT(File Allocation Table)ファイル等の一般的なファイルシステムで構成されている。このシステムのデータ構成は、ファイルシステム31上で各種情報(上記履歴情報が含まれる)を格納したファイルや各種制御プログラムのファイルが格納される。各ファイルは、ファイルシステム31で格納位置が管理されているため、その格納場所は任意である。
本実施形態では、各種情報のファイルとして、起動フラグ32、機器構成情報33、読み込み履歴34が格納されている。起動フラグ32は、「通常起動」と「高速起動」を識別するために設けられ、読み込み動作を行っていない初期の状態では、「通常」であり、読み込み後に「高速」に変更される。機器構成情報33は、メモリカードを利用する機器の構成を、プロッタ(プリンタエンジン)、スキャナ、FAX、ネットワーク等の機器の有無によって示す情報であり、本実施形態のMFP機であれば、上記したように、コピー,FAX,スキャナ,プリンタの各機能を実現するためのデバイスを有しているので、メモリカードの装着時に、プロッタ、スキャナ、FAX、ネットワークにありが記される。また、読み込み履歴34は、「高速起動」に起動フラグ32を変更する時に、メモリカードから読み込んだプログラムの転送元のセクタNoと転送先のRAMアドレスが登録される。
各種制御プログラム(システムプログラム、制御プログラム等)のファイルは、それぞれファイルシステム31の管理の下に、所定の位置(セクタNo)に格納される。本実施形態では、システムプログラム35、表示制御プログラム36、コピー制御プログラム37、スキャナ制御プログラム38、FAX制御プログラム39、プリンタ制御プログラム40、ネットワーク制御プログラム41等のプログラムが搭載されている。
次に、メモリカードで管理される上記した起動フラグ32、機器構成情報33、読み込み履歴34等の情報を用いて行われるプログラムのブート制御について、より詳細に説明する。
図3は、本実施形態のブート制御のフローチャートを示す。
図3に示すフローは、電源ON時等の装置起動時のフローである。従って、メモリカード3には、本実施形態のブート制御を行うことを可能にするための前提として、上記図2に示した構成を持つファイルが書き込まれている必要がある。
図2に示す構成のファイルにプログラムが書き込まれる際は、一度もプログラムが使用されていない初期状態にあるから、メモリカード3の起動フラグ32には、「高速起動」であることを示すフラグが記される。図3の制御フローにおいて、この初期状態のメモリカード3からのブートに対応する制御動作を可能とする。
電源ON時に、ブートROM2に書き込まれているプログラムが起動され、ブート制御が開始される。ブートプログラムは、先ず、メモリカード3の起動フラグ32をチェックし、「通常起動」か「高速起動」かを判定する(ステップS101)。
次に、「通常起動」か「高速起動」によって処理を分岐するので、起動フラグ32のチェック結果を確認する(ステップS102)。メモリカード3のプログラムを装置で初めて使用する際は、上記のように、起動フラグ32は「通常」として書き込まれているため、通常起動のフローを実行する。
図3は、本実施形態のブート制御のフローチャートを示す。
図3に示すフローは、電源ON時等の装置起動時のフローである。従って、メモリカード3には、本実施形態のブート制御を行うことを可能にするための前提として、上記図2に示した構成を持つファイルが書き込まれている必要がある。
図2に示す構成のファイルにプログラムが書き込まれる際は、一度もプログラムが使用されていない初期状態にあるから、メモリカード3の起動フラグ32には、「高速起動」であることを示すフラグが記される。図3の制御フローにおいて、この初期状態のメモリカード3からのブートに対応する制御動作を可能とする。
電源ON時に、ブートROM2に書き込まれているプログラムが起動され、ブート制御が開始される。ブートプログラムは、先ず、メモリカード3の起動フラグ32をチェックし、「通常起動」か「高速起動」かを判定する(ステップS101)。
次に、「通常起動」か「高速起動」によって処理を分岐するので、起動フラグ32のチェック結果を確認する(ステップS102)。メモリカード3のプログラムを装置で初めて使用する際は、上記のように、起動フラグ32は「通常」として書き込まれているため、通常起動のフローを実行する。
通常起動の場合(ステップS102-YES)、先ず、CPU1の制御システム(図1、参照)を構成する要素として、現在装置に接続されているプリンタエンジン(プロッタ)9、スキャナ10等の機器(デバイス)の構成をチェックする(ステップS103)。この機器構成のチェックは、普通電源ON等の装置立ち上げ時に初期化処理として行われているので、初期化処理により得られた結果を用いることが可能である。
機器構成のチェック結果を受けて、これらの機器を制御するために必要なプログラムをメモリカード3のファイルシステム31(図2参照)で管理されているプログラムのファイル情報を検索することにより、選択し、選択結果に従い、ファイルシステム31を経由して、メモリカード3の所定の場所(セクタNoで管理)に格納されているプログラム35〜41を装置内蔵のRAM5にロードする(ステップS104)。このプログラムのロードは、ステップS104のように、通常起動の動作として行う場合、転送するプログラムファイルのサイズが未知であるという前提で、ファイルサイズを調べて、転送先であるRAM5に格納可能な大きさの記憶領域を確保し、アドレスを指定する処理を行った後、指定アドレスへの転送をCPU1やファイルシステム31を経由して行う、といった通常の転送動作による。
機器構成のチェック結果を受けて、これらの機器を制御するために必要なプログラムをメモリカード3のファイルシステム31(図2参照)で管理されているプログラムのファイル情報を検索することにより、選択し、選択結果に従い、ファイルシステム31を経由して、メモリカード3の所定の場所(セクタNoで管理)に格納されているプログラム35〜41を装置内蔵のRAM5にロードする(ステップS104)。このプログラムのロードは、ステップS104のように、通常起動の動作として行う場合、転送するプログラムファイルのサイズが未知であるという前提で、ファイルサイズを調べて、転送先であるRAM5に格納可能な大きさの記憶領域を確保し、アドレスを指定する処理を行った後、指定アドレスへの転送をCPU1やファイルシステム31を経由して行う、といった通常の転送動作による。
このときに、メモリカード3から読み込んだプログラムが格納されていた転送元のメモリカード3におけるセクタNoと、転送先のRAM5のアドレスをメモリカード3上の読み込み履歴34に登録する(ステップS105)。
読み込み履歴34に登録したこれらの情報は、後述する「高速起動」を行わせるために必要な情報である。即ち、プログラムの更新、或いは機器構成の変更等により、使用するプログラムファイルの変更が行われる場合以外では、同じプログラムが使用されるので、通常起動において指定した転送先のRAM5のアドレスを改めて指定することなく、そのまま利用することができ、また、転送先のRAM5のアドレスが予め分かっていれば、DMA転送を行わせることができるので、これにより、高速転送が可能になる。
従って、読み込み履歴34に登録が完了した後、「高速起動」を行わせることが可能であることを示すために、メモリカード3の起動フラグ32を置き換え、「高速起動」であることを示すフラグを記す(ステップS107)。
なお、「通常起動」のフローを実行した場合には、ステップS103でチェックし、得られた、現在装置に接続されている機器(デバイス)の構成をメモリカード3上の機器構成情報33に登録する(ステップS106)。この情報は、「高速起動」を行わせるための条件をチェックする時に用いられるものである。この点については、後記で詳述する。
この後、RAM5にメモリカード3からロードされたプログラムを起動し(ステップS108)、ブート制御のフローを終える。
読み込み履歴34に登録したこれらの情報は、後述する「高速起動」を行わせるために必要な情報である。即ち、プログラムの更新、或いは機器構成の変更等により、使用するプログラムファイルの変更が行われる場合以外では、同じプログラムが使用されるので、通常起動において指定した転送先のRAM5のアドレスを改めて指定することなく、そのまま利用することができ、また、転送先のRAM5のアドレスが予め分かっていれば、DMA転送を行わせることができるので、これにより、高速転送が可能になる。
従って、読み込み履歴34に登録が完了した後、「高速起動」を行わせることが可能であることを示すために、メモリカード3の起動フラグ32を置き換え、「高速起動」であることを示すフラグを記す(ステップS107)。
なお、「通常起動」のフローを実行した場合には、ステップS103でチェックし、得られた、現在装置に接続されている機器(デバイス)の構成をメモリカード3上の機器構成情報33に登録する(ステップS106)。この情報は、「高速起動」を行わせるための条件をチェックする時に用いられるものである。この点については、後記で詳述する。
この後、RAM5にメモリカード3からロードされたプログラムを起動し(ステップS108)、ブート制御のフローを終える。
起動フラグ32が「高速起動」であることを示すフラグに置き換えられ、登録されると、このフラグの指示に従って、次に行われるブート動作が制御される。
ブート制御のフローが開始されると、上記したと同様に、ブートプログラムは、先ず、メモリカード3の起動フラグ32をチェックし、「通常起動」か「高速起動」かを判定する(ステップS101)。
この判定結果は、「通常起動」を実行した後は、起動フラグ32のフラグが「高速起動」なっているので、制御フローを「高速起動」が可能なフローへと進める(ステップS102-NO)。
「高速起動」が可能な制御フローでは、メモリカード3の機器構成情報33のチェック(後記で詳述)がクリアされたことを条件に(ステップS112-YES)、メモリカード3の読み込み履歴34に記された、セクタNoと、転送先のRAM5のアドレスをそのまま利用することによって、必要となるプログラムファイルを転送先のRAM5へDMA転送する(ステップS113)。このように「高速起動」時には、メモリカード3上のプログラムファイルは、メモリカード3上のファイルシステム31を経由することなくRAM5にDMA転送され、高速起動が可能となる。
ブート制御のフローが開始されると、上記したと同様に、ブートプログラムは、先ず、メモリカード3の起動フラグ32をチェックし、「通常起動」か「高速起動」かを判定する(ステップS101)。
この判定結果は、「通常起動」を実行した後は、起動フラグ32のフラグが「高速起動」なっているので、制御フローを「高速起動」が可能なフローへと進める(ステップS102-NO)。
「高速起動」が可能な制御フローでは、メモリカード3の機器構成情報33のチェック(後記で詳述)がクリアされたことを条件に(ステップS112-YES)、メモリカード3の読み込み履歴34に記された、セクタNoと、転送先のRAM5のアドレスをそのまま利用することによって、必要となるプログラムファイルを転送先のRAM5へDMA転送する(ステップS113)。このように「高速起動」時には、メモリカード3上のプログラムファイルは、メモリカード3上のファイルシステム31を経由することなくRAM5にDMA転送され、高速起動が可能となる。
ここで、「高速起動」時の制御フローにおいて行う、機器構成のチェックについて、説明する。
機器構成が変更された場合(例えば、FAX機能がオプションである場合、後からFAX機能に必要なデバイスの追加が行われる)、変更された機器を制御するためのプログラムも起動させなければならない。「通常起動」を実行した後は、起動フラグ32のフラグが「高速起動」なっているので、機器構成のチェックを行わないと、メモリカード3の読み込み履歴34に記されたプログラムだけが起動されてしまい、読み込み履歴が無いために、変更された機器を制御するためのプログラムは、起動されない。
こうした不都合を生じないようにするために、「高速起動」を行わせるための条件として、機器構成に変更があったか、否かをチェックし、変更が無い場合に、上記したような「高速起動」を行わせ、変更があった場合には、「通常起動」に戻して、変更された機器の起動を可能にする。
機器構成に変更があったか、否かをチェックする方法として、「通常起動」を行った(即ち、メモリカード3の読み込み履歴34を登録した)時点の機器構成情報について、その情報を登録しておき、「高速起動」時には、その時点における機器(デバイス)構成を調べ、登録しておいた構成情報との比較を行い、一致しなければ、機器構成に変更があったと判定する方法を用いる。
機器構成が変更された場合(例えば、FAX機能がオプションである場合、後からFAX機能に必要なデバイスの追加が行われる)、変更された機器を制御するためのプログラムも起動させなければならない。「通常起動」を実行した後は、起動フラグ32のフラグが「高速起動」なっているので、機器構成のチェックを行わないと、メモリカード3の読み込み履歴34に記されたプログラムだけが起動されてしまい、読み込み履歴が無いために、変更された機器を制御するためのプログラムは、起動されない。
こうした不都合を生じないようにするために、「高速起動」を行わせるための条件として、機器構成に変更があったか、否かをチェックし、変更が無い場合に、上記したような「高速起動」を行わせ、変更があった場合には、「通常起動」に戻して、変更された機器の起動を可能にする。
機器構成に変更があったか、否かをチェックする方法として、「通常起動」を行った(即ち、メモリカード3の読み込み履歴34を登録した)時点の機器構成情報について、その情報を登録しておき、「高速起動」時には、その時点における機器(デバイス)構成を調べ、登録しておいた構成情報との比較を行い、一致しなければ、機器構成に変更があったと判定する方法を用いる。
従って、図3の制御フローにおいて、「通常起動」のフローの実行時に、その時点で装置に接続されている機器(デバイス)の構成(ステップS103で取得)をメモリカード3上の機器構成情報33に登録する(ステップS106)。
また、「高速起動」が可能な制御フロー(ステップS102-NO)では、現時点で装置に接続されている機器(デバイス)の構成をチェックする(ステップS111)。このチェックは、「通常起動」のフローのステップS103で行ったと同様に機器(デバイス)構成情報を得る。次いで、得られた機器構成情報をメモリカード3上の機器構成情報33に登録されている機器構成情報(「通常起動」時に得られた情報)と比較し、一致するか、否かを判定する(ステップS112)。ここで、一致しなければ、「通常起動」の制御フロー(ステップS103〜S107)を実行し、一致すれば、「高速起動」の制御フロー(ステップS113)を実行する。
上記の動作によって、機器構成が変更になった場合に生じ得る不都合を解消することが可能になる。
また、「高速起動」が可能な制御フロー(ステップS102-NO)では、現時点で装置に接続されている機器(デバイス)の構成をチェックする(ステップS111)。このチェックは、「通常起動」のフローのステップS103で行ったと同様に機器(デバイス)構成情報を得る。次いで、得られた機器構成情報をメモリカード3上の機器構成情報33に登録されている機器構成情報(「通常起動」時に得られた情報)と比較し、一致するか、否かを判定する(ステップS112)。ここで、一致しなければ、「通常起動」の制御フロー(ステップS103〜S107)を実行し、一致すれば、「高速起動」の制御フロー(ステップS113)を実行する。
上記の動作によって、機器構成が変更になった場合に生じ得る不都合を解消することが可能になる。
ところで、上記したように、本実施形態におけるブート制御のフロー(図3)においては、メモリカード3の読み込み履歴34に記された情報(即ち「通常起動」時におけるプログラムの転送情報)を用いてDMA転送を行うことによって、次の起動を高速に行うことを可能にしている。
これは、「高速起動」が正常に行われるためには、次の起動時にも、「通常起動」時のプログラムが更新(書き換え)されずに用いられることが条件となる。つまり、プログラムの更新(書き換え)が発生した場合、メモリカード3上のプログラムの格納位置やサイズ、RAM5の転送先アドレスが異なってしまい、この状態で高速起動を行うと、読み込み履歴34と不一致が発生し正常に起動できなくなる。
従って、プログラムの更新(書き換え)が行われた場合には、「高速起動」の制御フロー(ステップS111〜S113)を通さないように制御する必要がある。また、プログラムの更新(書き換え)が行われた場合には、「通常起動」を実行できるようにする制御を行う必要もある。
これは、「高速起動」が正常に行われるためには、次の起動時にも、「通常起動」時のプログラムが更新(書き換え)されずに用いられることが条件となる。つまり、プログラムの更新(書き換え)が発生した場合、メモリカード3上のプログラムの格納位置やサイズ、RAM5の転送先アドレスが異なってしまい、この状態で高速起動を行うと、読み込み履歴34と不一致が発生し正常に起動できなくなる。
従って、プログラムの更新(書き換え)が行われた場合には、「高速起動」の制御フロー(ステップS111〜S113)を通さないように制御する必要がある。また、プログラムの更新(書き換え)が行われた場合には、「通常起動」を実行できるようにする制御を行う必要もある。
この制御を行う方法として、本実施形態では、メモリカード上に書き込まれたプログラムの更新(書き換え)と同時に、メモリカード3の起動フラグ32を置き換えることにより、「高速起動」の制御フローを通さずに、「通常起動」を実行できるようにする。
図4は、本実施形態における、メモリカードに書き込まれたプログラムの更新(書き換え)処理のフローチャートを示す。
図4のフローに示すように、メモリカード3に書き込まれたプログラムの更新(書き換え)処理を行う(ステップS202)ときに、同時に起動フラグ32の置き換えを行う(ステップS201)。この時に行う起動フラグ32の置き換えは、既にブート制御のフロー(図3)において「通常起動」が実行され(ステップS103〜S107)、その時にステップS107において「高速起動」に置き換えられた起動フラグ32を再び「通常起動」に置き換える。
このように、プログラム更新(書き換え)時は起動フラグ32を「通常起動」に置き換えてプログラムを更新させ、リブートするようにする。これによりリブート時には、「通常起動」の制御フローに従って起動される。即ち、読み込み履歴、及び機器構成情報が登録され、「高速起動」の制御フローを通した場合の問題を起こさずに、正常な動作が保証される。
図4は、本実施形態における、メモリカードに書き込まれたプログラムの更新(書き換え)処理のフローチャートを示す。
図4のフローに示すように、メモリカード3に書き込まれたプログラムの更新(書き換え)処理を行う(ステップS202)ときに、同時に起動フラグ32の置き換えを行う(ステップS201)。この時に行う起動フラグ32の置き換えは、既にブート制御のフロー(図3)において「通常起動」が実行され(ステップS103〜S107)、その時にステップS107において「高速起動」に置き換えられた起動フラグ32を再び「通常起動」に置き換える。
このように、プログラム更新(書き換え)時は起動フラグ32を「通常起動」に置き換えてプログラムを更新させ、リブートするようにする。これによりリブート時には、「通常起動」の制御フローに従って起動される。即ち、読み込み履歴、及び機器構成情報が登録され、「高速起動」の制御フローを通した場合の問題を起こさずに、正常な動作が保証される。
1・・CPU、 2・・ブートROM、
3・・メモリカード、 4・・メモリコントローラ、
5・・RAM、 9・・プリンタエンジン、
10・・スキャナ、 11・・ネットワークI/F。
3・・メモリカード、 4・・メモリコントローラ、
5・・RAM、 9・・プリンタエンジン、
10・・スキャナ、 11・・ネットワークI/F。
Claims (4)
- プログラムが格納された着脱可能な不揮発性記憶媒体と、起動が指示された、前記不揮発性記憶媒体に格納されたプログラムを転送速度の異なる転送モードから選択された1の転送モードで装置内部のRAMにロードするためのプログラム転送制御手段とを有する画像処理装置であって、プログラムの転送履歴情報を管理する転送履歴管理手段を備え、前記プログラム転送制御手段は、起動が指示されたプログラムに対し前記転送履歴管理手段で管理された転送履歴情報に基づいて、高速転送モードの選択を行うようにしたことを特徴とする画像処理装置。
- 請求項1に記載された画像処理装置において、前記転送履歴情報が、転送されたプログラムの転送元である不揮発性記憶媒体、転送先であるRAMそれぞれにおけるプログラムの格納場所を示す情報であり、高速転送モードがDMA転送であることを特徴とする画像処理装置。
- 請求項1又は2に記載された画像処理装置において、装置構成の変更をチェックする装置構成チェック手段を備え、前記プログラム転送制御手段は、前記装置構成チェック手段によって装置構成の変更が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とする画像処理装置。
- 請求項1乃至3に記載された画像処理装置において、プログラムの更新をチェックするプログラム更新チェック手段を備え、前記プログラム転送制御手段は、前記プログラム更新チェック手段によってプログラムの更新が検出されないことを条件に高速転送モードの選択を行うようにしたことを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004311721A JP2006126987A (ja) | 2004-10-27 | 2004-10-27 | 画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004311721A JP2006126987A (ja) | 2004-10-27 | 2004-10-27 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006126987A true JP2006126987A (ja) | 2006-05-18 |
Family
ID=36721713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004311721A Pending JP2006126987A (ja) | 2004-10-27 | 2004-10-27 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006126987A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008135009A (ja) * | 2006-09-29 | 2008-06-12 | Intel Corp | プラットフォームのブート効率を増加するシステムおよび方法 |
JP2010250822A (ja) * | 2009-04-20 | 2010-11-04 | Intel Corp | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート |
JP2010277578A (ja) * | 2009-05-27 | 2010-12-09 | Samsung Electronics Co Ltd | 電子装置及びそのブーティング方法 |
JP2019139612A (ja) * | 2018-02-14 | 2019-08-22 | 株式会社日立製作所 | 情報処理装置、及び情報処理装置の制御方法 |
-
2004
- 2004-10-27 JP JP2004311721A patent/JP2006126987A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008135009A (ja) * | 2006-09-29 | 2008-06-12 | Intel Corp | プラットフォームのブート効率を増加するシステムおよび方法 |
CN101226478A (zh) * | 2006-09-29 | 2008-07-23 | 英特尔公司 | 提高平台引导效率的系统和方法 |
JP2010250822A (ja) * | 2009-04-20 | 2010-11-04 | Intel Corp | 先読み技術を利用して行われる、システムのオペレーティングシステムのブート |
US9015461B2 (en) | 2009-04-20 | 2015-04-21 | Intel Corporation | Booting an operating system of a system using a read ahead technique |
US10073703B2 (en) | 2009-04-20 | 2018-09-11 | Intel Corporation | Booting an operating system of a system using a read ahead technique |
JP2010277578A (ja) * | 2009-05-27 | 2010-12-09 | Samsung Electronics Co Ltd | 電子装置及びそのブーティング方法 |
JP2019139612A (ja) * | 2018-02-14 | 2019-08-22 | 株式会社日立製作所 | 情報処理装置、及び情報処理装置の制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5746100B2 (ja) | 画像形成装置 | |
JP4810172B2 (ja) | 制御装置及びバージョンアップ方法並びにプログラム | |
US20140325496A1 (en) | Apparatus and method for firmware upgrade using usb | |
JP4886866B2 (ja) | 主記憶装置へのアクセスを高速化する方法および記憶装置システム | |
KR20080001268A (ko) | 다중 운영체제를 지원하는 휴대용기기 및 그 지원방법 | |
JPWO2008117520A1 (ja) | メモリコントローラ、不揮発性メモリシステムおよびホスト装置 | |
JP6543122B2 (ja) | 情報処理装置と、前記情報処理装置による不揮発記憶装置の初期化方法、及びプログラム | |
JP2008183066A (ja) | 情報処理装置 | |
JP2005157528A (ja) | メモリ装置 | |
JP2008158991A (ja) | Nand型フラッシュメモリの制御システム | |
JP2006126987A (ja) | 画像処理装置 | |
JP2008009799A (ja) | 画像形成装置 | |
US11797292B2 (en) | Information processing apparatus using swap file, control method therefor, and storage medium | |
KR20060067076A (ko) | 이중화 프로세서 시스템에서의 프로그램 로딩 방법 및 그장치 | |
JP2008162054A (ja) | 印刷装置 | |
JP4597032B2 (ja) | コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム | |
JP2004220575A (ja) | カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置 | |
JP2008009494A (ja) | 画像形成装置 | |
KR20090021695A (ko) | 플래쉬 메모리 롤백 시스템 및 그 방법 | |
JP4735765B2 (ja) | Linuxプログラム起動システム | |
JP4973472B2 (ja) | ファームウェア組込方法、ファームウェア組込装置、及び、ファームウェア組込プログラム | |
JP2006155391A (ja) | 画像形成装置 | |
JP2006344022A (ja) | 機器及びプログラム起動方法 | |
JP2003099313A (ja) | メモリ書換え方法およびその方法をコンピュータに実行させるためのプログラム | |
JP5393628B2 (ja) | 画像形成装置 |