(57)【要約】【課題】ある不揮発性メモリのパーティションを変更するためのシステムを格納した他の不揮発性メモリを用意することなく、パーティションの変更を実行することを目的とする。【解決手段】起動処理を行う際に、フラッシュメモリ９９からＲＡＭ３８にファイルシステムをして、揮発性メモリに展開されたファイルシステムが実行されると、ＣＰＵ３３で動作するパーティション変更モジュールは、パーティションの位置およびサイズの少なくとも１つを変更するパーティション変更を行う必要があるか否かを判定する。パーティションの位置およびサイズの少なくとも１つを変更するパーティション変更を行う必要があると、パーティション変更モジュールは、フラッシュメモリをマウントしない非マウント起動状態でパーティション変更を行う。その後、オペレーティングシステムが起動される。【選択図】図４
2013117910.tif 000002
【特許請求の範囲】
【請求項１】
揮発性の記憶手段と、
ファイルシステムが格納され、複数のパーティションに区切られた不揮発性の記憶手段と、
前記ファイルシステムを前記揮発性の記憶手段に展開する展開手段と、
前記展開手段によって展開された前記ファイルシステムを用いて、前記不揮発性の記憶手段のパーティションの変更を実行する変更手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記パーティションの変更の対象となる対象パーティションに含まれるデータを、前記複数のパーティションに含まれる特定のパーティションに退避させる退避手段を更に備え、
前記変更手段は、前記データの前記特定のパーティションへの退避が完了した後に前記パーティションの変更を実行することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変更手段による前記パーティションの変更が中断した場合に、前記特定のパーティションに退避させたデータを用いて、前記対象パーティションのデータを復帰させる復帰手段を更に備えることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
画像展開パーティションに画像を展開して印刷処理を実行する印刷手段を更に備え、
前記退避手段が前記データを退避させる前記特定のパーティションは、前記画像展開パーティションであることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記情報処理装置が起動したときに前記展開手段は前記ファイルシステムを前記揮発性の記憶手段に展開することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置が起動したときに前記パーティションの変更が必要であるか否かを判定する判定手段を更に備え、
前記判定手段によって前記パーティションの変更が必要であると判定された場合に、前記変更手段は前記パーティションの変更を実行することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
揮発性の記憶手段と、ファイルシステムが格納され、複数のパーティションに区切られた不揮発性の記憶手段とを備える情報処理装置の制御方法であって、
前記ファイルシステムを前記揮発性の記憶手段に展開する展開ステップと、
前記展開ステップで展開された前記ファイルシステムを用いて、前記不揮発性の記憶手段のパーティションの変更を実行する変更ステップとを備えることを特徴とする情報処理装置の制御方法。
【請求項８】
請求項７に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、およびプログラムに関し、特に、不揮発性メモリなどの記憶装置におけるパーティション変更に関する。
【背景技術】
【０００２】
一般に、情報処理装置の一つとして、複合機などの画像形成装置が知られている。この種の画像形成装置では、プリント機能の他に複数の機能が備えられている。そして、画像形成装置の高機能化に伴って、保守性およびソフトウェア資源の流用性の観点からＬｉｎｕｘ（登録商標）などの汎用オペレーティングシステム（ＯＳ）を用いたシステム構成が一般的となっている。
【０００３】
汎用ＯＳを採用する際には、ＯＳを含むシステムソフトウェアを、不揮発メモリ上に生成したファイルシステムに配置し、当該不揮発メモリを起動ディスクとして画像形成装置を起動する。
【０００４】
不揮発メモリの用途は様々であるから、当該不揮発メモリをパーティショニングし、パーティション毎にファイルシステムを構築して、その用途を使い分けるようにしている。例えば、ＯＳなどのファームウェアファイル、システムデータおよびユーザデータをそれぞれ別のパーティションに配置して、各パーティションが互いに干渉しないようにする。
【０００５】
これによって、ユーザデータが容量オーバーしても当該ユーザデータ溢れがシステムデータ領域に干渉することなく、ユーザデータ溢れによって画像形成装置が起動しなくなるという不具合を回避することができる。
【０００６】
ところで、パーティションの個数およびそのサイズはソフトウェア構成の設計の際に決定されるものの、その後の不具合対応又は機能拡張によってパーティション構成を変えることがある。
【０００７】
しかしながら、パーティション変更を行うためのＯＳがパーティション変更対象の不揮発メモリに記録されている場合には、ＯＳは自らのファイルシステムをランダムアクセスするので、ＯＳが不整合を起こして動作することができなくなってしまう。
【０００８】
上述のような問題に対する対応策として、例えば、特許文献１では、記憶装置のパーティションを変更するために、当該記憶装置とは異なる他の記憶装置にパーティションを変更するためのシステムを予め記憶しておき、当該他の記憶装置でパーティションを変更するためのシステムを実行する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平９−１６３３７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところが、特許文献１に記載の手法においては、ある不揮発性メモリのパーティションを変更するためのシステムを格納した他の不揮発性メモリを用意する必要があり、コストアップになるという課題がある。
【００１１】
従って、本発明は、ある不揮発性メモリのパーティションを変更するためのシステムを格納した他の不揮発性メモリを用意することなく、パーティションの変更を実行することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するため、本発明による情報処理装置は、揮発性の記憶手段と、ファイルシステムが格納され、複数のパーティションに区切られた不揮発性の記憶手段と、前記ファイルシステムを前記揮発性の記憶手段に展開する展開手段と、前記展開手段によって展開された前記ファイルシステムを用いて、前記不揮発性の記憶手段のパーティションの変更を実行する変更手段とを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ある不揮発性メモリのパーティションを変更するためのシステムを格納した他の不揮発性メモリを用意することなく、パーティションの変更を実行することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態による情報処理装置の一例である画像形成装置の構成の一例を示すブロック図である。
【図２】図１に示すリーダー部およびプリンタ部を概略的に示す断面図である。
【図３】図１に示す画像形成装置に備えられた制御装置の構成の一例を示すブロック図である。
【図４】図３に示すフラッシュメモリに記録されたプログラム（ソフトウェア）の配置の一例を示す図である。
【図５】図４に示すフラッシュメモリのパーティション変更を開始するまでの処理を説明するためのフローチャートである。
【図６】図５に示すパーティション変更処理を詳細に説明するためのフローチャートである。
【図７】本発明の第２の実施形態による画像処理装置において電源断によるパーティションデータの損失を回避する処理を説明するためのフローチャートである。
【図８】本発明の第２の実施形態による画像形成装置において、電源断からの復帰処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態による情報処理装置について図面を参照して説明する。
【００１６】
［第１の実施形態］
図１は、本発明の第１の実施形態による情報処理装置の一例である画像形成装置の構成の一例を示すブロック図である。なお、以下の説明では、情報処理装置の一例で画像形成装置を例に挙げて説明するが、画像形成装置に拘わらず、起動ディスクを備えるコンピュータなどの情報処理装置にも本発明を適用することができる。
【００１７】
画像形成装置１は、例えば、複合機（ＭＦＰ）であり、この画像形成装置１はＬＡＮ４００などのネットワークに接続されている。さらに、図示の例では、ＬＡＮ４００にはパソコン（ＰＣ）３および４が接続されている。つまり、画像形成装置１はネットワークを介してＰＣ３および４に接続可能となっている。なお、図１には示されていないが、ＬＡＮ４００には他のＰＣが接続されるとともに、別のＭＦＰおよびプリンタなどが接続されることがある。また、ＰＣ３および４にはプリンタなどの画像形成装置が直接接続されることがある。
【００１８】
図示の画像形成装置１はコピー機能およびプリンタ機能等の複数の機能を有している。なお、画像形成装置として、コピー機能又はプリンタ機能のみを有するＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）を用いるようにしてもよい。
【００１９】
画像形成装置１は制御装置（コントローラ部）１１０を有している。制御装置１１０はリーダー装置（リーダー部）２およびプリンタ装置（プリンタ部）６に接続されている。制御装置１１０はリーダー部２およびプリンタ部６から各種データを受信する。また、制御装置１１０はリーダー部２およびプリンタ部６に対して各種コマンドを送信する。さらに、制御装置１１０はＬＡＮ４００を介してＰＣ３又は４と接続されており、ＰＣ３又は４から画像データおよび制御コマンドを受信する。なお、ＬＡＮ４００は、例えば、イーサネット（登録商標）で構築される。ＰＣ３および４の各々は画像形成装置１についてその機器構成および現在のステータスの監視等も行う。
【００２０】
リーダー部２は原稿上の画像を光学的に読み取って画像データを得る。リーダー部２はスキャナユニット１１および原稿給紙ユニット（ＤＦユニット）１０を備えている。ＤＦユニット１０は原稿をスキャナユニット１１によって読み取り可能な位置まで搬送される。そして、スキャナユニット１１によって原稿上の画像が読み取られる。制御装置１１０はスキャナユニット１１およびＤＦユニット１０を制御する。
【００２１】
プリンタ部６は給紙ユニット１２、マーキングユニット１３、および排紙ユニット１４を備えている。制御装置１００は給紙ユニット１２、マーキングユニット１３、および排紙ユニット１４を制御する。
【００２２】
給紙ユニット１２には用紙が収納され、給紙ユニット１２からマーキングユニット１３に用紙が搬送される。マーキングユニット１３は、例えば、電子写真プロセスによって画像データに応じた画像を用紙に形成する。そして、画像形成（印刷又は印刷処理）が行われた後、用紙は排紙ユニット１４によって排紙される。なお、排紙ユニット１４では印刷後の用紙に対して、ソートおよびステイプル等の処理を行うことができる。
【００２３】
給紙ユニット１２には複数の給紙部が備えられている。給紙部には、例えば、普通紙および光沢紙などの複数種類の用紙を収納することができる。また、給紙部には、プリンタ部６において印刷された用紙を再び収納することもできる。給紙部の例として、給紙カセット、給紙デッキ、又は手差用紙レイなどがある。
【００２４】
操作部７は、例えば、ハードキー、液晶表示部、および当該液晶表示部の表面上に貼り付けられたタッチパネル部を備えており、操作部７によってユーザの指示が受け付けられる。さらに、操作部７の液晶表示部にはソフトキーが表示されるとともに、画像形成装置１の機能および状態が表示される。
【００２５】
操作部７で受け付けたユーザの指示に対応するコマンドは制御装置１１０に送られる。図示の例では、画像形成装置１にはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）８が備えられ、このＨＤＤ８には、画像形成装置１００に係る制御プログラム、各種設定、および画像データなどが記憶（格納ともいう）される。
【００２６】
なお、図１においては、後述する図３に示すＨＤＤ９およびフラッシュメモリ（Ｆｌａｓｈメモリ）９９は省略されている。
【００２７】
図示の画像形成装置１は、コピー機能、画像データ送信機能、およびプリンタ機能などの複数の機能を有している。コピー機能を用いる際には、前述のように、制御装置１１０はリーダー部２を制御して原稿上の画像データを読み込み、プリンタ部６を制御して画像データに応じた印刷を行う。
【００２８】
画像データ送信機能を用いる際には、制御装置１１０はリーダー部２による読み取りの結果得られた画像データをコードデータに変換して、当該コードデータを、ＬＡＮ４００を介してＰＣ３又は４に送信する。
【００２９】
プリンタ機能を用いる際には、制御装置１１０はＰＣ３又は４からＬＡＮ４００を介して受信したコードデータ（印刷データ）を画像データに変換して、プリンタ部６に送信する。そして、プリンタ部６は、受信した画像データを応じて用紙に印刷を行う。なお、制御装置１１０の構成については後述する。
【００３０】
図２は、図１に示すリーダー部２およびプリンタ部６を概略的に示す断面図である。
【００３１】
画像形成装置１において、プリンタ部６上にリーダー部２が配置されている。リーダー部２では、ＤＦユニット１０に原稿又は原稿束が配置される。そして、原稿又は原稿束は順次１枚ずつプラテンガラス２１５上に給送される。
【００３２】
スキャナユニット１１はランプ２１６を有しており、原稿がプラテンガラス２１５に搬送されると、光学ユニット２１７に備えられたランプ２１６が点灯する。続いて、光学ユニット２１７が図中左から右に移動して、原稿に光で走査する。
【００３３】
原稿用紙からの反射光は、複数のミラー２１８〜２２０とレンズ２２１とを介してイメージセンサー（例えば、ＣＣＤ）２２２に導かれる。そして、ＣＣＤは光学像を電気信号（画像信号）に変換する。この画像信号は制御装置１１０でＡ／Ｄ変換された後所定の処理が施され、画像データとして制御装置１１０に転送される。
【００３４】
上述のようにして、原稿の読み取りが行われると、原稿はプラテンガラス２１５から原稿給送ユニット２１０に排出される。なお、ＤＦユニット１０を用いることなく、プラテンガラス２１５上に原稿を配置して、スタートボタンを押し下げると、前述のようにして、原稿の読み取りが行われる。
【００３５】
プリンタ部６では、制御装置１１０の制御下でレーザ発光部２２４が画像データに応じたレーザ光を出力する。このレーザ光によって、マーキングユニット１３に備えられた感光ドラム２２５が走査されて、感光ドラム２２５には画像データに応じた静電潜像が形成される。
【００３６】
感光ドラム２２５上の静電潜像は、現像器２２６によって現像されてトナー像とされる。一方、レーザ光の照射開始と同期して、給紙ユニット１２（給紙カセット２１２ａ又は２１２ｂ）から記録用紙が給紙され、転写部２２７に搬送される。そして、転写部２２７で感光ドラム２２５からトナー像が記録用紙に転写される。その後、記録用紙は定着部２２８に搬送され、ここでは、記録用紙が加熱・加圧処理されてトナー像を記録紙用に定着する。
【００３７】
片面印刷の場合には、定着部２２８を通過した記録用紙は排出ローラ２２９によって排紙ユニット１４に排出される。排紙ユニット１４は、例えば、記録用紙を束ねて記録用紙の仕分けを行う。また、排紙ユニット１４は仕分けされた記録用紙のステイプル処理を行うこともある。
【００３８】
両面印刷の場合には、排出ローラ２２９まで記録用紙を搬送した後、排出ローラ２２９の回転方向を逆転させる。そして、フラッパ２３０によって記録用紙を再給紙搬送路２３１に導く。記録用紙は再給紙搬送路２３１を通って再度転写部２２７に搬送される。そして、記録用紙の裏面に印刷が施された後、記録用紙は排紙ユニット１４に排出される。
【００３９】
図３は、図１に示す画像形成装置１に備えられた制御装置１１０の構成の一例を示すブロック図である。
【００４０】
図３において、制御装置１１０はメインコントローラ３２を有している。そして、メインコントローラ３２はＣＰＵ３３およびバスコントローラ３４を備えるとともに、各種のＩ／Ｆ（インタフェース）コントローラ回路（図示せず）を備えている。ＣＰＵ３３およびバスコントローラ３４は、制御装置１１０全体の動作を統括的に制御する。
【００４１】
ＣＰＵ３３は、例えば、プログラムに基づいて、図１に示すＰＣ３又はＰＣ４から受信したコードデータ（例えば、ＰＤＬ（ページ記述言語））を解釈する。バスコントローラ３４は各Ｉ／Ｆを介してデータ転送に関する制御、例えば、バスの調停およびＤＭＡデータ転送の制御を行う。
【００４２】
ＤＲＡＭ３８は、ＤＲＡＭＩ／Ｆ３７を介してメインコントローラ３２と接続され、ＣＰＵ３３が動作するためのワーク領域および画像データを蓄積するための領域として用いられる。
【００４３】
コーディック（Ｃｏｄｅｃ）４０は、Ｉ／Ｆ３９を介してメインコントローラ３２に接続され、例えば、ＤＲＡＭ３８に蓄積されたラスタイメージデータをＭＨ／ＭＲ／ＭＭＲ／ＪＢＩＧ／ＪＰＥＧ等の方式で圧縮する。また、Ｃｏｄｅｃ４０は圧縮された状態で蓄積されたコードデータをラスタイメージデータに伸長する処理を行う。ＳＲＡＭ（記憶手段）４３は、Ｃｏｄｅｃ４０の一時的なワーク領域として用いられる。
【００４４】
ＳＲＡＭ４３とＤＲＡＭ３８との間のデータの転送は、バスコントローラ３４によって制御され、ＤＭＡ転送よってデータ転送が行われる。
【００４５】
ネットワークコントローラ（Ｎｅｔｗｏｒｋ  Ｃｏｎｔｏｒｌｌｅｒ）４２は、Ｉ／Ｆ４１によってメインコントローラ３２と接続され、コネクタ４４を介して外部ネットワーク（例えば、ＬＡＮ４００）と接続される。
【００４６】
汎用高速バス４９には、拡張ボードを接続するための拡張コネクタ５０とＩ／Ｏ制御部５１とが接続される。汎用高速バス４９は、例えば、ＰＣＩバスである。Ｉ／Ｏ制御部５１は、リーダー部２およびプリンタ部６との間で制御コマンドを送受信するための調歩同期式のシリアル通信部コントローラ５２を２チャンネル備えている。
【００４７】
Ｉ／Ｏ制御部５１は、Ｉ／Ｏバス５３を介してスキャナＩ／Ｆ４６およびプリンタＩ／Ｆ４８と接続されている。パネルＩ／Ｆ６２は、操作部７との間でデータの送受信を行うためのＩ／Ｆである。パネルＩ／Ｆ６２は、ＬＣＤコントローラ６０から転送されてきた画像データを操作部７に転送する。また、パネルＩ／Ｆ６２は、操作部７が備えるハードキー又はタッチパネルを介して入力されるキー入力信号を、キー入力Ｉ／Ｆ６１を介してＩ／Ｏ制御部５１に転送する。
【００４８】
リアルタイムクロックモジュール６４は、バックアップ用電池６５によって電力を供給され、画像形成装置１で管理する日付及び時刻を更新／保存する。Ｅ−ＩＤＥコネクタ６３は、ＨＤＤ（ハードディスクドライブ）８および９を接続するＩ／Ｆである。図示の例では、図１に示すＨＤＤ８の他にＨＤＤ９が示されており、さらに、Ｅ−ＩＤＥコネクタ６３にはフラッシュ（Ｆｌａｓｈ）メモリ（起動ディクス：不揮発性の記憶手段）９９が接続されている。
【００４９】
このＦｌａｓｈメモリ９９には、例えば、メインコントローラ３２の制御用制御プログラムおよび各種データが記憶された記憶領域を示すアドレスが記憶される。
【００５０】
ＣＰＵ３３は、Ｉ／Ｏ制御部５１およびＥ−ＩＤＥコネクタ６３を介してＨＤＤ８および９に選択的に画像データを記憶させ、さらに、ＨＤＤ８又は９から画像データを読み込む。
【００５１】
コネクタ５６および５９には、それぞれリーダー部２およびプリンタ部６が接続される。コネクタ５６および５９は、同調歩同期シリアルＩ／Ｆ５４および５７とビデオＩ／Ｆ５５および５８を介してスキャナＩ／Ｆ４６およびプリンタＩ／Ｆ４８に接続されている。
【００５２】
スキャナＩ／Ｆ４６は、コネクタ５６を介してリーダー部２と接続され、スキャナバス４５を介してメインコントローラ３２と接続されている。スキャナＩ／Ｆ４６は、リーダー部２から受信した画像データに対して所定の処理を施す。また、スキャナＩ／Ｆ５６は、リーダー部２から受信したビデオ制御信号に基づいて生成した制御信号を、スキャナバス４５に出力する。スキャナバス４５からＤＲＡＭ３８（揮発性の記憶手段）へのデータ転送は、バスコントローラ３４によって制御される。
【００５３】
プリンタＩ／Ｆ４８は、コネクタ５９を介してプリンタ部６と接続され、プリンタバス４７を介してメインコントローラ３２と接続されている。プリンタＩ／Ｆ４８は、メインコントローラ３２から出力された画像データに所定の処理を施して、プリンタ部６に出力する。ＤＲＡＭ３８上に展開されたラスタイメージデータをプリンタ部６に転送する際には、バスコントローラ３４による制御が行われる。当該ラスタイメージデータはプリンタバス４７、プリンタＩ／Ｆ４８、およびビデオＩ／Ｆ５８を介してプリンタ部６にＤＭＡ転送される。
【００５４】
図４は、図３に示すフラッシュメモリ９９に記録されたプログラム（ソフトウェア）の配置の一例を示す図である。
【００５５】
Ｆｌａｓｈメモリ９９には、ＭＢＲ（マスタブートレコード：Ｍａｓｔｅｒ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）１０００１、ファームウェアパーティション１０００６、システムデータパーティション１０００７、ユーザデータパーティション１０００８、および画像展開領域パーティション（特定のパーティション：画像展開パーティションともいう）１０００９が備えられている。つまり、Ｆｌａｓｈメモリ９９は複数のパーティションで区切られている。
【００５６】
ＭＢＲ１０００１はＦｌａｓｈメモリ９９の先頭セクタにパーティションとは独立した形態で記録・配置される。ＭＢＲ１０００１はブートローダ（ｂｏｏｔ  ｌｏａｄｅｒ）１０００２、カーネル（ｋｅｒｎｅｌ）１０００３、ｉｎｉｔｒｄ（ｉｎｉｔｉａｌ  ｒａｍｄｉｓｋ）１０００４、およびパーティションテーブル１０００５を有している。
【００５７】
ｂｏｏｔ  ｌｏａｄｅｒ１０００２は、画像形成装置１の起動際にＣＰＵ３３によってＦｌａｓｈメモリ９９からＤＲＡＭ３８に読み込まれ、ｂｏｏｔ  Ｌｏａｄｅｒ１０００２によって起動に必要な他のファイルが読み込まれる。ｋｅｒｎｅｌ１０００３およびｉｎｉｔｒｄ１０００４はｂｏｏｔ  ｌｏａｄｅｒ１０００２によってＤＲＡＭ３８に読み込まれる。ｋｅｒｎｅｌ１０００３はＯＳ（オペレーティングシステム）の中核をなす部分であり、必要に応じてファイルシステム上の他のモジュールを起動することによって、システムとしての機能を提供する。
【００５８】
ｉｎｉｔｒｄ１０００４は小規模なファイルシステムであり、一度ＤＲＡＭ３８上に展開されると、Ｆｌａｓｈメモリ９９に依存することなくファイル操作が可能となる。
【００５９】
パーティション変更モジュール１００１０はｉｎｉｔｒｄ１０００４に配置されたパーティション変更機能を有するソフトウェアである。パーティション変更モジュール１００１０は実行の際にＦｌａｓｈメモリ９９に依存することなく動作可能である。このため、Ｆｌａｓｈメモリ９９のパーティション変更が可能となる。
【００６０】
パーティションテーブル１０００５はパーティションの構成を管理するテーブルであり、パーティションに関するサイズ情報およびＦｌａｓｈメモリ９９におけるパーティション開始アドレスがパーティション情報（変更前パーティション情報）として保持する。
【００６１】
ファームウェアパーティション１０００６はＯＳなどのシステムソフトウェアとプリントおよびコピー機能などを実現する際のアプリケーションソフトウェアを保持する領域である。ファームウェアパーティション１０００６は通常動作の際にはｋｅｒｎｅｌ１０００３によってマウントされ、ＯＳ動作の際には常にランダムアクセスされる。
【００６２】
システムデータパーティション１０００７はシステムソフトウェアが用いるデータを保持する領域である。システムデータパーティション１０００７はｋｅｒｎｅｌ１０００３によってマウントされ、必要に応じてデータの読み込みおよび書き込みに用いられる。
【００６３】
ユーザデータパーティション１０００８はアプリケーションソフトウェアが用いるデータを保持する領域である。ユーザデータパーティション１０００８はｋｅｒｎｅｌ１０００３によってマウントされ、必要に応じてデータの読み込みおよび書き込みに用いられる。
【００６４】
画像展開領域パーティション（最大サイズパーティション）１０００９は画像処理用の一時的な展開データを保持する領域である。画像展開領域パーティション１０００９はｋｅｒｎｅｌ１０００３によってマウントされ、必要に応じてデータの読み込みおよび書き込みに用いられる。
【００６５】
図５は、図４に示すＦｌａｓｈメモリ９９のパーティション変更を開始するまでの処理を説明するためのフローチャートである。なお、図５に示すフローチャートは図３に示すＣＰＵ３３において実行される。
【００６６】
いま、画像形成装置１の電源が投入されると、起動処理が開始する。起動処理が開始されると、ＣＰＵ３３はｂｏｏｔ  ｌｏａｄｅｒ１０００２をＦｌａｓｈメモリ９９からＤＲＡＭ３８に展開して起動する（ステップＳ２０００２）。続いて、ＣＰＵ３３で動作するｂｏｏｔ  ｌｏａｄｅｒ１０００２がｉｎｉｔｒｄ１０００４をＦｌａｓｈメモリ９９からＤＲＡＭ３８に展開する（ステップＳ２０００３）。
【００６７】
続いて、ＣＰＵ３３で動作するｂｏｏｔ  ｌｏａｄｅｒ１０００２がｋｅｒｎｅｌ１０００３をＦｌａｓｈメモリ９９からＤＲＡＭ３８に展開して起動する（ステップＳ２０００４）。ＣＰＵ３３で動作するｋｅｒｎｅｌ１０００３はｉｎｉｔｒｄ１０００４のパーティション変更モジュール１００１０を起動する。
【００６８】
ＣＰＵ３３で動作するパーティション変更モジュール１００１０はＳＲＡＭ４３を参照して、パーティション変更が予約されているか確認する（ステップＳ２０００５）。このパーティション変更予約は、例えば、前回の起動後のユーザ操作による指示又は所定のバージョンアップ開始タイミングにおいて画像形成装置１に備えられたバージョンアップ機能によって登録される。そして、パーティション変更予約には、変更後のパーティションの配置を示す変更後パーティション情報が含まれている。
【００６９】
パーティション変更が予約されている場合には（ステップＳ２０００５において、ＹＥＳ）、ＣＰＵ３３で動作するパーティション変更モジュール１００１０は、後述するようにして、起動ディスクであるＦｌａｓｈメモリ９９をマウントしない非マウント起動状態でパーティション変更を実施する（ステップＳ２０００６）。その後（つまり、パーティション変更が完了すると）、ＣＰＵ３３はファームウェアパーティションをマウントしてＯＳを起動して（ステップＳ２０００７）、起動処理を終了する。
【００７０】
なお、パーティション変更が予約されていない場合には（ステップＳ２０００５において、ＮＯ）、ＣＰＵ３３はステップＳ２０００７の処理に進んで、ＯＳを起動する。
【００７１】
図６は、図５に示すパーティション変更処理を詳細に説明するためのフローチャートである。なお、このパーティション変更処理は、ＣＰＵ３３上で動作するパーティション変更モジュール１００１０によって行われる。
【００７２】
パーティション変更処理が開始されると、パーティション変更モジュール１００１０はＳＲＡＭ４３に記録された変更後パーティション情報とパーティションテーブル１０００５に記録された変更前パーティション情報とを比較する（ステップＳ２１００２）。そして、パーティション変更モジュール１００１０はその比較結果に応じて変更が必要なパーティションを確認する。
【００７３】
続いて、パーティション変更モジュール１００１０は比較結果に基づいて縮小処理が必要なパーティションについてその一覧（縮小パーティション一覧）を作成する（ステップＳ２１００３）。さらに、パーティション変更モジュール１００１０は比較結果に基づいて移動処理が必要なパーティションについてその一覧（移動パーティション一覧）を作成する（ステップＳ２１００４）。加えて、パーティション変更モジュール１００１０は比較結果に基づいて拡大処理が必要なパーティションについてその一覧（拡大パーティション一覧）を作成する（ステップＳ２１００５）。
【００７４】
このようにして、パーティション変更モジュール１００１０は各パーティションが縮小処理の必要なパーティション（縮小パーティション）、移動処理の必要なパーティション（移動パーティション）、および拡大処理の必要なパーティション（拡大パーティション）のいずれであるかを決定することになる。
【００７５】
次に、パーティション変更モジュール１００１０は縮小パーティション一覧を参照して該当するパーティションについて縮小処理を行う（ステップＳ２１００６）。パーティション変更モジュール１００１０は移動パーティション一覧を参照して該当するパーティションについて移動処理を行う（ステップＳ２１００７）。パーティション変更モジュール１００１０は拡大パーティション一覧を参照して該当するパーティションについて拡大処理を行う（ステップＳ２１００８）。そして、パーティション変更モジュール１００１０はパーティション変更処理を終了する。
【００７６】
上述のように、パーティション変更処理を行う際、変更すべきパーティション一覧を参照して、まず、縮小処理が必要パーティションについて縮小処理を行った後、移動処理が必要なパーティションについて移動処理を行う。そして、最後に、拡大処理が必要なパーティションについて拡大処理を行う。
【００７７】
従って、例えば、パーティションサイズの合計がＦｌａｓｈメモリのサイズ（容量）の上限と一致する場合であっても、データを損失することなくパーティションサイズの変更を行うことができる。
【００７８】
以上のように、ＤＲＡＭ（主記憶）上のファイルシステムのみが動作する状態として、起動ディスクであるＦｌａｓｈメモリ９９のパーティションを変更するようにしたので、パーティション変更を実行する際、ファイルシステムが不整合を起こすことがない。これによって、複数の起動ディスクを備えなくともパーティション変更が行え、コストを削減することができる。
【００７９】
［第２の実施形態］
ここでは、パーティションの変更を実行している際に電源断が発生した場合の処理について説明する。なお、第２の実施形態における画像形成装置の構成は図１および図３と同様であり、Ｆｌａｓｈメモリ９９の構成も図４に示す例と同様である。
【００８０】
第１の実施形態で説明したパーティション変更処理では、Ｆｌａｓｈメモリ９９でパーティションの物理的な配置を移動するので、数分単位の処理時間が掛かる。つまり、変更対象のパーティションのデータを順次移動する処理を伴うので、処理に数分を要する。よって、パーティションの変更処理中に電源断が発生するといずれのセクタまで移動したのか分からなくなってしまい、パーティション内のデータが復旧不能になる。
【００８１】
パーティション内のデータが復旧不能になると、起動処理ができなくなってしまい、この際には、正常なＤＲＡＭと交換する必要があるが、コストの面から問題がある。
【００８２】
図４に示す画像展開領域パーティション１０００９は、画像形成装置１の特性上、他のいずれのパーティションよりもサイズが大きい。この画像展開領域パーティション１０００９には起動の際にはデータが配置されておらず、このため、起動の際には他のパーティションのデータを画像展開領域パーティション１０００９に保持させることができる。
【００８３】
加えて、図３に示すＳＲＡＭ４３に、図６で説明した縮小パーティション一覧、移動パーティション一覧、および拡大パーティション一覧を保持するようにすれば電源断があっても変更処理が必要なパーティションを確認することができる。
【００８４】
また、パーティションの変更処理を開始する前に、いずれのパーティションに対していずれの処理を行うかを示すパーティション変更処理ステータスをＳＲＡＭ４３に保持する。これによって、電源断があってもいずれのパーティションに対してどのような処理を行っている際に電源断が発生したかを確認することができる。
【００８５】
図７は、本発明の第２の実施形態による画像処理装置において電源断によるパーティションデータの損失を回避する処理を説明するためのフローチャートである。
【００８６】
いま、パーティション変更モジュール１００１０がパーティションの縮小、移動、又は拡大処理（つまり、変更処理）を開始したとする。この際、パーティション変更モジュール１００１０は変更処理対象のパーティションが画像展開領域パーティション１０００９であるか否かを判定する（ステップＳ２２００２）。変更処理対象のパーティションが画像展開領域パーティション１０００９でなかった場合には（ステップＳ２２００２において、ＮＯ）、パーティション変更モジュール１００１０は変更処理対象のパーティションの内容（つまり、データ）を画像展開領域パーティション１０００９に退避する。
【００８７】
前述のように、画像展開領域パーティション１０００９は他のパーティションよりもそのサイズが大きく、パーティション変更処理が行われる起動の際には、画像展開領域パーティション１０００９には何も記憶されていない。その後、パーティション変更モジュール１００１０は変更処理対象のパーティションについて変更処理（縮小、移動、又は拡大処理）を図６で説明したようにして行って（ステップＳ２２００４）、変更処理を終了する。
【００８８】
一方、変更処理対象のパーティションが画像展開領域パーティション１０００９であった場合には（ステップＳ２２００２において、ＹＥＳ）、パーティション変更モジュール１００１０はステップＳ２２００４の処理に進んで、変更処理対象のパーティションについて変更処理を行う。変更処理対象のパーティションが画像展開領域パーティション１０００９である場合には、当該画像展開領域パーティション１０００９には何も記憶されていないので、退避を行う必要がない。
【００８９】
図８は、本発明の第２の実施形態による画像形成装置において、電源断からの復帰処理を説明するためのフローチャートである。
【００９０】
まず、パーティション変更モジュール１００１０はＳＲＡＭ４３に保持されたパーティション変更処理ステータスを確認し、電源断からの復帰を検出する（ステップＳ２３００１）。続いて、パーティション変更モジュール１００１０はパーティション変更処理ステータスによって処理中であったパーティションが画像展開領域パーティション１０００９であったか否かを判定する（ステップＳ２３００３）。
【００９１】
処理中であったパーティションが画像展開領域パーティション１０００９であった場合には（ステップＳ２３００２において、ＹＥＳ）、書き戻しの必要がないので、パーティション変更モジュール１００１０は対象パーティション、つまり、画像展開領域パーティション１０００９をフォーマットする（ステップＳ２３００３）。そして、パーティション変更モジュール１００１０は変更処理（縮小、移動、又は拡大処理）を再度実行して（ステップＳ２３００５）、復帰処理を終了する。
【００９２】
処理中であったパーティションが画像展開領域パーティション１０００９でなかった場合には（ステップＳ２３００２において、ＮＯ）、パーティション変更モジュール１００１０は画像展開領域パーティション１０００９に退避したパーティションデータを該当するパーティションに書き戻して（ステップＳ２３００４）、パーティション変更処理開始前の状態に復帰させる。つまり、パーティション変更モジュール１００１０は特定のパーティションである画像展開領域パーティション１０００９以外のパーティションの変更が中断すると、特定のパーティションに退避させたデータを用いて、対象のパーティションのデータを復帰させる。そして、パーティション変更モジュール１００１０はステップＳ２３００５の処理に進んで、再度変更処理を行う。
【００９３】
以上のように、第２の実施形態では、バージョンアップの際、起動ディスクが１つであってもパーティション変更を含むファームウェアの更新を行うことができる。さらに、パーティション変更中に電源断が発生したとしても確実に処理を再開することができ、パフォーマンスを向上させつつ安全な更新を行うことができる。
【００９４】
上述の説明から明らかなように、図３に示す例では、Ｉ／Ｏ制御部５１およびメインコントローラ３２が展開手段として機能する。また、ＣＰＵ３３で動作するパーティション変更モジュール１００１０が変更手段、退避手段、復帰手段、および判定手段として機能する。
【００９５】
上述の実施の形態では、情報処理装置の一例として、画像形成装置を例に挙げて説明したが、画像形成装置に限らず他の情報処理装置、例えば、情報処理を行うコンピュータシステムにおいても起動の際にパーティションの変更を行うものであれば同様にして本発明を適用することができる。
【００９６】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００９７】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【００９８】
この際、制御方法およびプログラムの各々は、少なくとも展開ステップおよび変更ステップを有することになる。
【００９９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１００】
９９  フラッシュメモリ（Ｆｌａｓｈメモリ）
１００１  ＭＢＲ
１００２  ｂｏｏｔ  ｌｏａｄｅｒ
１００３  ｋｅｒｎｅｌ
１００４  ｉｎｉｔｒｄ
１００６  ファームウェアパーティション
１００７  システムデータパーティション
１００８  ユーザデータパーティション
１００９  画像展開領域パーティション
１０１０  パーティション変更モジュール
【図１】
2013117910.tif 000003
【図２】
2013117910.tif 000004
【図３】
2013117910.tif 000005
【図４】
2013117910.tif 000006
【図５】
2013117910.tif 000007
【図６】
2013117910.tif 000008
【図７】
2013117910.tif 000009
【図８】
2013117910.tif 000010