[go: up one dir, main page]

JP2021089524A - 情報処理装置、その制御方法、及びプログラム - Google Patents

情報処理装置、その制御方法、及びプログラム Download PDF

Info

Publication number
JP2021089524A
JP2021089524A JP2019218951A JP2019218951A JP2021089524A JP 2021089524 A JP2021089524 A JP 2021089524A JP 2019218951 A JP2019218951 A JP 2019218951A JP 2019218951 A JP2019218951 A JP 2019218951A JP 2021089524 A JP2021089524 A JP 2021089524A
Authority
JP
Japan
Prior art keywords
rebuild
storage
address
bridge
cpu
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
Application number
JP2019218951A
Other languages
English (en)
Inventor
浩平 浅野
Kohei Asano
浩平 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019218951A priority Critical patent/JP2021089524A/ja
Publication of JP2021089524A publication Critical patent/JP2021089524A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】リビルド処理の遅滞を防止することができる情報処理装置を提供する。【解決手段】画像形成装置100は、リビルド処理を実行している最中にCPU書き込みコマンドを受信した場合、リビルド処理を中断してCPU書き込み処理を実行し、CPU書き込み処理を完了した場合、リビルド処理を中断したLBAよりCPU書き込みコマンドが示すLBA付近のLBAからリビルド処理を再開する。【選択図】図6

Description

本発明は、情報処理装置、その制御方法、及びプログラムに関する。
複数のストレージを備える情報処理装置としての画像形成装置が知られている。画像形成装置は、耐障害性を高めるために、例えば、画像形成装置のストレージ制御装置に接続された2つのストレージの同じアドレスに同じデータを格納するミラーリング(RAID1)を行う。ミラーリングにおいて2つのストレージの間でデータの同一性が崩れると、ストレージ制御装置は、リビルド処理を行う(例えば、特許文献1参照)。リビルド処理では、2つのストレージの一方の或るアドレスに格納されたデータを他方のストレージの同じアドレスに複製する処理が、連続するアドレスの順に従って行われる。このようにして、正常なストレージに格納された全てのデータがもう一方のストレージに複製される。
ストレージ制御装置は、画像形成装置全体を制御するCPUから独立してリビルド処理の実行を制御している。このため、ストレージ制御装置は、リビルド処理を実行している最中にCPUからリビルド処理に関連しない書き込み要求(以下、「CPU書き込み要求」という。)を受けることがある。このとき、ストレージ制御装置は、実行していたリビルド処理を中断し、受け付けたCPU書き込み要求に従った書き込み処理(以下、「CPU書き込み処理」という。)を優先的に実行する。このCPU書き込み処理を完了すると、ストレージ制御装置は、リビルド処理が中断されたアドレスからリビルド処理を再開する。
特開2016‐139251号公報
上述したように、CPU書き込み要求は、リビルド処理の実行を制御するストレージ制御装置と異なる画像形成装置のCPUから発行される。このため、CPU書き込み要求が示すアドレスは、リビルド処理が中断されたアドレスとは連続しないアドレスである可能性が極めて高い。つまり、ストレージにおいてCPU書き込み処理によってデータが書き込まれた記憶領域は、リビルド処理の再開によってデータが格納される記憶領域と物理的に或る程度離れている。例えば、ストレージがデータの書き込みにアームの移動や記録メディアの回転を伴うHDDである場合、このように離れた位置関係の記憶領域に連続して書き込む際に、ストレージにおけるアームの待ち時間や記録メディアの回転待ち時間が生じる。この場合、リビルド処理を即座に再開することができず、リビルド処理が遅滞してしまうという問題が生じる。
本発明の目的は、リビルド処理の遅滞を防止することができる情報処理装置、その制御方法、及びプログラムを提供することにある。
上記目的を達成するために、本発明の情報処理装置は、複数のストレージにデータを格納する制御を行う情報処理装置であって、前記複数のストレージにおける第1のストレージの一のアドレスに格納されたデータを前記複数のストレージにおける第2のストレージの前記一のアドレスに複製する処理を、連続するアドレスの順に従って行うリビルド処理の実行を制御するリビルド制御手段を備え、前記リビルド制御手段は、前記リビルド処理を実行している最中に書き込みコマンドを受信した場合、前記リビルド処理を中断して前記書き込みコマンドに従って書き込み処理を実行し、当該書き込み処理を完了した場合、前記リビルド処理が中断されたアドレスより前記書き込みコマンドが示すアドレス付近のアドレスから前記リビルド処理を再開することを特徴とする。
本発明によれば、リビルド処理の遅滞を防止することができる。
本発明の実施の形態に係る情報処理装置としての画像形成装置の構成を概略的に示すブロック図である。 図1のブリッジICの状態遷移図である。 図1の画像形成装置によって実行されるリビルド処理におけるマスターストレージからの読み出し及びスレーブストレージへの書き込みを説明するための図である。 従来のリビルド制御処理の手順を示すフローチャートである。 本実施の形態におけるリビルド制御処理の手順を示すフローチャートである。 本実施の形態における中断されたリビルド処理の再開を説明するための図である。 本実施の形態における中断されたリビルド処理の再開を説明するための図である。
以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、情報処理装置としての画像形成装置に本発明を適用した場合について説明するが、本発明は画像形成装置に限られず、リビルド処理を実行するPC等の通信装置に適用しても良い。
図1は、本発明の実施の形態に係る情報処理装置としての画像形成装置100の構成を概略的に示すブロック図である。図1において、画像形成装置100は、コントローラ101、リーダ部119、及びプリンタ部120を備え、画像形成処理を行う。コントローラ101は、リーダ部119及びプリンタ部120と接続されている。また、コントローラ101は、ホストCPU102、ホストROM103、ホストRAM104、ブリッジIC105、ストレージ111、及びストレージ115を備える。
ホストCPU102は、コントローラ101全体を制御する中央演算装置である。ホストCPU102は、メモリバス(不図示)を介してホストROM103及びホストRAM104と接続されている。また、ホストCPU102は、SATA通信ライン(不図示)を介してブリッジIC105と接続されている。ホストROM103は、不揮発性の記憶デバイスであり、設定データやプログラム等を格納する。ホストROM103は、例えば、ホストCPU102を稼働させるためのファームウェアモジュールを格納する。ホストROM103に格納されたデータは、一時記憶領域としてのホストRAM104に展開される。
ブリッジIC105は、ブリッジCPU106、ブリッジROM107、ブリッジRAM108、及びブリッジバッファ110を備える。ブリッジIC105のコネクタDにはホストCPU102が接続され、ブリッジIC105のコネクタH1にはストレージ111が接続され、ブリッジIC105のコネクタH2にはストレージ115が接続されている。なお、本実施の形態では、一例として、ストレージを接続するためのコネクタを2つ備える構成について説明するが、この構成に限られず、当該コネクタを3つ以上備える構成であっても良い。
ブリッジIC105は、ホストCPU102から受信した読み出しコマンドに従って、接続されたストレージ111又はストレージ115からデータを読み出す制御を行う。また、ブリッジIC105は、ホストCPU102から受信した書き込みコマンドに従って、ストレージ111又はストレージ115へデータを書き込む制御を行う。ブリッジIC105は、接続された複数のストレージの同じアドレスに同一のデータを格納する制御を行うミラーリング制御機能を備える。ブリッジCPU106は、ブリッジIC105全体を制御する中央演算装置である。ブリッジCPU106は、コントローラ101における他のデバイスと独立して稼働可能である。ブリッジCPU106は、内部バス(不図示)を介してブリッジROM107及びブリッジRAM108と接続されている。ブリッジROM107は、不揮発性の記憶デバイスである。ブリッジROM107に格納されたデータは、一時記憶領域としてのブリッジRAM108に展開される。ブリッジROM107は、例えば、ブリッジCPU106を稼働させるためのファームウェアモジュールや、リビルドテーブル109を格納する。
リビルドテーブル109は、ブリッジIC105に接続されたストレージ111及びストレージ115の一方に格納された1つ以上のデータを他方に複製するリビルド処理の実施状況を管理するためのデータである。リビルドテーブル109には、リビルド処理において複製元のストレージの各セクタに対する実施状況設定値が設定される。ここで、複製元のストレージをマスターストレージと呼び、複製先のストレージをスレーブストレージと呼ぶ。例えば、リビルドテーブル109では、データの複製を完了しているセクタ(記憶領域)を示すアドレスとして用いられるLBAに対し、データの複製を完了していることを示す「1」が実施状況設定値として設定される。また、データの複製を完了していないセクタを示すLBAに対し、データの複製を完了していないことを示す「0」が実施状況設定値として設定される。LBAは、マスターストレージにおける最初のセクタを基準に何番目のセクタであるかを示す値である。例えば、リビルドテーブル109において最大LBA(最終アドレス)に対応する実施状況設定値が「1」である場合、マスターストレージに格納された全てのデータがスレーブストレージに複製された、つまり、リビルド処理が完了したこととなる。以下では、LBAの値を「a」として、実施状況設定値をTABLE(a)と表す。ブリッジバッファ110は、ブリッジCPU106がホストCPU102、ストレージ111、及びストレージ115とデータを送受信する際に、そのデータを一時的に保持するために用いられる。
ストレージ111は、不揮発性の記憶デバイスであり、CPUA112、キャッシュメモリA113、記録媒体A114を備える。CPUA112は、ストレージ111全体を制御する演算装置であり、不揮発性の記憶装置(不図示)に格納された独自のファームウェアによって稼働する。キャッシュメモリA113は、揮発性のメモリである。キャッシュメモリA113は、CPUA112が記録媒体A114にデータを書き込む際、又はCPUA112が記録媒体A114からデータを読み出す際に、これらの処理を効率的に行うために用いられる一時記憶領域である。記録媒体A114は、不揮発性の記録媒体である。ストレージ111では、例えば、ブリッジIC105から受信したデータが、キャッシュメモリA113に保持され、保持されたデータが所定のタイミングで記録媒体A114に書き込まれる。これにより、ストレージ111への電力の供給が停止されても、ストレージ111は、ブリッジIC105から受信したデータを保持することができる。
ストレージ115は、ストレージ111と同様の機能であり、CPUB116、キャッシュメモリB117、及び記録媒体B118を備える。CPUB116は、CPUA112と同様の機能及び構成である。キャッシュメモリB117は、キャッシュメモリA113と同様の機能及び構成である。記録媒体B118は、記録媒体A114と同様の機能及び構成である。ストレージ115でも、ストレージ111と同様に、例えば、ブリッジIC105から受信したデータが、キャッシュメモリB117に保持され、保持されたデータが所定のタイミングで記録媒体B118に書き込まれる。
リーダ部119は、コントローラ101からの指示に従って、配置された原稿を読み取り、読み取った原稿の画像データを生成し、当該画像データをコントローラ101へ送信する。プリンタ部120は、コントローラ101からの指示に従って、画像データを用紙に印刷する。
図2は、図1のブリッジIC105の状態遷移図である。ブリッジIC105は、2つの動作モード、具体的に、シングルモード及びミラーリングモードを有する。
シングルモードは、ストレージ111及びストレージ115の何れか一方のみが動作する動作モードである。ミラーリングモードは、例えば、ストレージ111及びストレージ115のようにブリッジIC105が2つのストレージと接続された状態で動作する動作モードである。ミラーリングモードには、ミラーステート、デグレードステート、リビルドステート、ホールトステートの4つの状態が存在する。
ミラーステートは、ブリッジIC105に接続された2つのストレージが正常に動作している状態である。ミラーステートでは、ブリッジIC105は、データを読み出す際に、接続された2つのストレージのうちマスターストレージにアクセスする。一方、ブリッジIC105は、データを書き込む際に、接続された2つのストレージの両方に対してアクセスし、2つのストレージの同じアドレスに同じデータを書き込ませる。ミラーステートにおいて2つのストレージの一方が故障すると、ブリッジIC105はデグレードステートへ遷移する。また、ブリッジIC105は、ブリッジCPU106による命令に従って、ミラーステートからリビルドステートへ遷移する。
デグレードステートは、ブリッジIC105に接続された2つのストレージのうち故障していないストレージが動作している状態である。デグレードステートでは、ブリッジIC105は、故障しているストレージに対してアクセスしない。なお、本実施の形態の画像形成装置100は、所定の条件を満たした際にリビルド処理を実行する自動リビルド機能を備える。自動リビルド機能がONに設定されている場合、デグレードステートに遷移したブリッジIC105に、故障しているストレージの代わりとなる新たなストレージが接続されると、ブリッジIC105は、リビルドステートへ遷移する。一方、自動リビルド機能がOFFに設定されている場合、デグレードステートに遷移したブリッジIC105に故障しているストレージの代わりとなる新たなストレージが接続されても、ブリッジIC105は、リビルドステートへ遷移しない。この場合、ブリッジIC105は、ブリッジCPU106による命令に従って、デグレードステートからリビルドステートへ遷移する。デグレードステートにおいて、故障していないストレージも故障すると、ブリッジIC105は、ホールトステートへ遷移する。
リビルドステートは、リビルド処理が実行されている状態である。リビルドステートでは、ブリッジIC105は、マスターストレージの或るアドレスに格納されたデータをスレーブストレージの同じアドレスに複製する処理を、連続するアドレスの順に従って行う。このようにして、故障していないストレージに格納された全てのデータが、故障しているストレージの代わりとして接続された新たなストレージへ複製される。リビルドステートにおいて、スレーブストレージが故障すると、ブリッジIC105は、デグレードステートへ遷移する。また、リビルドステートにおいて、マスターストレージが故障すると、ブリッジIC105は、ホールトステートへ遷移する。リビルド処理を完了すると、ブリッジIC105は、リビルドステートからミラーステートへ遷移する。ホールトステートは、ブリッジIC105に接続された2つのストレージの両方が故障したため、ミラーリングを継続できない状態である。
なお、本実施の形態における画像形成装置100は、ミラーリングモードに移行した際にリビルド処理を実行する初期リビルド機能を備える。初期リビルド機能がONに設定された状態でシングルモードからミラーリングモードへの移行をユーザから指示された場合、ブリッジIC105は、リビルドステートへ遷移して、リビルド処理を実行する。一方、初期リビルド機能がOFFに設定された状態でシングルモードからミラーリングモードへの移行をユーザから指示された場合、ブリッジIC105は、ミラーステートへ遷移する。本実施の形態では、ミラーリングモードにおいて上述した何れの状態であっても、ユーザからシングルモードへの移行指示を受け付けると、ブリッジIC105は、シングルモードへ移行する。
図3は、図1の画像形成装置100によって実行されるリビルド処理におけるマスターストレージからの読み出し及びスレーブストレージへの書き込みを説明するための図である。
リビルド処理において、ブリッジIC105は、最小LBAから最大LBAまで順番に処理する。具体的に、ブリッジIC105は、マスターストレージにおける最小LBA、例えば、LBA(0)のセクタからデータを読み出し、読み出したデータをスレーブストレージにおける同じLBA、つまり、LBA(0)のセクタに書き込む。スレーブストレージへの書き込みを完了すると、このLBAに1を加算したLBAに対し、同様の処理を行う。ブリッジIC105は、LBAを漸増させて上述した処理を行うことで、マスターストレージに格納された全てのデータをスレーブストレージに複製する。
ブリッジIC105は、画像形成装置100全体を制御するホストCPU102から独立してリビルド処理の実行を制御している。このため、ブリッジIC105は、リビルド処理を実行している最中に、リビルド処理に関連しない書き込みコマンドであるCPU書き込みコマンドをホストCPU102から受けることがある。リビルド処理を実行している最中にCPU書き込みコマンドを受信した場合、ブリッジIC105は、リビルド処理を一時的に停止し、受信したCPU書き込みコマンドに従った書き込み処理であるCPU書き込み処理を割り込みで実行する。CPU書き込み処理では、マスターストレージ及びスレーブストレージの同じLBAのセクタ、例えば、当該CPU書き込みコマンドが示すLBA(B)のセクタに同じデータが書き込まれる。上記CPU書き込み処理を完了し且つホストCPU102から継続してCPU書き込みコマンドが発行されないと、ブリッジIC105は、停止していたリビルド処理を再開する。
図4は、従来のリビルド制御処理の手順を示すフローチャートである。図4の処理は、ブリッジCPU106がブリッジROM107に格納されたプログラムを実行することによって実現される。図4の処理は、ブリッジIC105がリビルドステートに遷移した際に実行される。図4の処理では、一例として、ストレージ111及びストレージ115の一方がマスターストレージとして機能し、他方がスレーブストレージとして機能することとする。
図4において、ブリッジCPU106は、マスターストレージの記憶領域におけるリビルド対象領域を特定するために、identify−deviceコマンド等を用いて、ストレージ111及びストレージ115の各々における最小LBA及び最大LBAを取得する。次いで、ブリッジCPU106は、取得した最小LBAを変数aに代入し(ステップS401)、最大LBAを変数eに代入する(ステップS402)。次いで、ブリッジCPU106は、ホストCPU102からCPU書き込みコマンドを受信したか否かを判別する(ステップS403)。
ステップS403の判別の結果、CPU書き込みコマンドを受信しないとき、ブリッジCPU106は、後述するステップS405の処理を行う。ステップS403の判別の結果、CPU書き込みコマンドを受信したとき、ブリッジCPU106は、リビルド処理を一時的に停止し、CPU書き込み処理を行う(ステップS404)。ステップS404では、例えば、LBA(A)のリビルド処理を実行している最中にLBA(A)に連続しないLBA(B)へデータを書き込むCPU書き込みコマンドを受信した場合、ブリッジCPU106は、LBA(A)のリビルド処理を中断する。さらに、ブリッジCPU106は、CPU書き込み処理を実行し、マスターストレージ及びスレーブストレージの同じLBAのセクタ、具体的に、上記CPU書き込みコマンドが示すLBA(B)のセクタに同じデータを書き込む。次いで、ブリッジCPU106は、リビルドテーブル109から最小LBAの実施状況設定値であるTABLE(a)を読み出し(ステップS405)、TABLE(a)が「0」及び「1」の何れであるかを判別する(ステップS406)。
ステップS406の判別の結果、TABLE(a)が「1」であるとき、マスターストレージにおける最小LBAが示すセクタに格納されたデータをスレーブストレージへ複製する処理が完了している。このとき、ブリッジCPU106は、後述するステップS410の処理を行う。
ステップS406の判別の結果、TABLE(a)が「0」であるとき、最小LBAのデータの複製が完了していない。このとき、ブリッジCPU106は、マスターストレージに対し、LBA(a)が示すセクタに格納されたデータの読み出しを指示し、読み出したデータをブリッジバッファ110に保存する(ステップS407)。次いで、ブリッジCPU106は、ブリッジバッファ110に保存したデータを読み出し、スレーブストレージに対し、読み出したデータをスレーブストレージのLBA(a)が示すセクタに書き込む指示を行う(ステップS408)。スレーブストレージのLBA(a)が示すセクタへの書き込みを完了すると、ブリッジCPU106は、その旨を示す「1」をリビルドテーブル109のTABLE(a)に代入する(ステップS409)。次いで、ブリッジCPU106は、次のLBAを処理するために変数aに「1」を加算する(ステップS410)。次いで、ブリッジCPU106は、「1」が加算された変数a(以下、「加算済みの変数a」という。)が変数eであるか、つまり、最大LBAに達しているか否かを判別する(ステップS411)。
ステップS411の判別の結果、加算済みの変数aが変数eに達していないとき、ブリッジCPU106は、ステップ403の処理に戻る。ステップS411の判別の結果、加算済みの変数aが変数eに達しているとき、ブリッジCPU106は、本処理を終了する。
上述したように、CPU書き込み要求は、リビルド処理の実行を制御するブリッジCPU106と異なるホストCPU102から発行される。このため、CPU書き込み要求が示すLBA(例えば、図3のLBA(B)を参照。)は、リビルド処理が中断されたLBA(例えば、図3のLBA(A)を参照。)とは連続しないLBAである可能性が極めて高い。つまり、各ストレージにおいてCPU書き込み処理によってデータが書き込まれたセクタは、リビルド処理が再開されるセクタと物理的に或る程度離れている。例えば、各ストレージがデータへのアクセスにアームの移動や記録メディアの回転を伴うHDDである場合、このように離れた位置関係のセクタに連続して書き込む際に、ストレージにおけるアームの待ち時間や記録メディアの回転待ち時間が生じる。このため、従来では、リビルド処理を即座に再開することができず、リビルド処理が遅滞してしまうという問題が生じる。
これに対し、本実施の形態では、リビルド処理を実行している最中にCPU書き込みコマンドを受信した場合、リビルド処理を中断してCPU書き込み処理が実行される。CPU書き込み処理を完了した場合、CPU書き込みコマンドが示すLBAからリビルド処理が再開される。
図5は、本実施の形態におけるリビルド制御処理の手順を示すフローチャートである。図5の処理は、ブリッジCPU106がブリッジROM107に格納されたプログラムを実行することによって実現される。図5の処理は、ブリッジIC105がリビルドステートに遷移した際に実行される。図5の処理では、一例として、ストレージ111及びストレージ115の一方がマスターストレージとして機能し、他方がスレーブストレージとして機能することとする。なお、本実施の形態では、例えば、画像形成装置100のシステムを更新すると、画像形成装置100において、図4の処理ではなく、図5の処理が行われる。
図5において、ブリッジCPU106は、ステップS401〜S403の処理を行う。ステップS403の判別の結果、CPU書き込みコマンドを受信しないとき、ブリッジCPU106は、ステップS405〜S411の処理を行う。すなわち、本実施の形態では、CPU書き込みコマンドを受信しない場合、LBAの順にリビルド処理が行われる。
ステップS403の判別の結果、CPU書き込みコマンドを受信したとき、ブリッジCPU106は、実行していたLBA、例えば、LBA(A)のリビルド処理を中断し、ステップS404の処理、つまり、CPU書き込み処理を行う。次いで、ブリッジCPU106は、変数Xにリビルド処理を中断したLBAの値である「A」を代入する。また、ブリッジCPU106は、上記CPU書き込みコマンドが示すLBAの値、例えば、「B」を変数aに代入する(ステップS501)。次いで、ブリッジCPU106は、ステップS405〜S411の処理、つまり、LBA(B)に対するリビルド処理を行う。すなわち、本実施の形態では、リビルド処理を実行している最中にCPU書き込みコマンドを受信した場合、ブリッジCPU106は、リビルド処理を中断してCPU書き込み処理を実行する。また、CPU書き込み処理を完了した場合、ブリッジCPU106は、リビルド処理を中断したLBA(A)ではなく、CPU書き込みコマンドが示すLBA(B)からリビルド処理を再開する。このように、本実施の形態では、例えば、LBA(A)のリビルド処理を実行している最中にLBA(A)に連続しないLBA(B)にデータを書き込むCPU書き込みコマンドを受信した場合、リビルド処理を中断したLBA(A)から、上記CPU書き込みコマンドが示すLBAの手前のLBA(B−1)までの図6のリビルド未処理領域601に対するリビルド処理がスキップされる。
ステップS411の判別の結果、加算済みの変数aが変数eに達していないとき、ブリッジCPU106は、ステップ403の処理に戻って、連続する次のLBAのリビルド処理を行う。このようにして、本実施の形態では、例えば、再開されたLBA(B)のリビルド処理を完了すると、LBA(B)に連続するLBA(B+1)以降のリビルド処理が行われる。
ステップS411の判別の結果、加算済みの変数aが変数eに達しているとき、ブリッジCPU106は、変数Xが設定されているか否かを判別する(ステップS502)。
ステップS502の判別の結果、変数Xが設定されていないとき、ブリッジCPU106は、本処理を終了する。ステップS502の判別の結果、変数Xが設定されているとき、ブリッジCPU106は、変数aに変数Xの値を代入し(ステップS503)、変数Xをクリアし、ステップS403の処理に戻る。これにより、実行がスキップされたリビルド未処理領域601のリビルド処理が実行される。
なお、LBA(B)からリビルド処理を再開した後、図7に示すように、LBA(C)のリビルド処理を実行している最中にLBA(C)に連続しないLBA(D)にデータを書き込むCPU書き込みコマンドを受信した場合、ブリッジCPU106は、LBA(C)のリビルド処理を中断してCPU書き込み処理を行ってLBA(D)にデータを書き込む。また、当該CPU書き込み処理を完了した場合、ブリッジCPU106は、リビルド処理を中断したLBA(C)ではなく、上記CPU書き込みコマンドが示すLBA(D)からリビルド処理を再開する。
上述した実施の形態によれば、リビルド処理を実行している最中にCPU書き込みコマンドを受信した場合、リビルド処理を中断してCPU書き込み処理が実行される。CPU書き込み処理を完了した場合、CPU書き込みコマンドが示すLBAからリビルド処理が再開される。これにより、リビルド処理の再開に伴ってストレージのアームの移動待ちや記録メディアの回転待ちが発生することなくリビルド処理を即座に再開することができ、もって、リビルド処理の遅滞を防止することができる。
また、上述した実施の形態では、CPU書き込みコマンドが示すLBAは、リビルド処理が中断されたLBAに連続しないLBAである。これにより、リビルド処理を実行しているLBAに連続しないLBAへデータを書き込むCPU書き込みコマンドを受信しても、リビルド処理を即座に再開することができる。
さらに、上述した実施の形態では、CPU書き込みコマンドが示すLBA(B)から最大LBAまでのリビルド処理を完了すると、リビルド未処理領域601のリビルド処理が行われる。これにより、リビルド処理の一部をLBAの順に行わなくても、マスターストレージに格納された全てのデータを漏れなくスレーブストレージに複製することができる。
上述した実施の形態では、画像形成装置100は、画像形成処理を行うので、画像形成処理に関するデータをマスターストレージからスレーブストレージに遅滞なく複製することができる。
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、ブリッジIC105に3つ以上のストレージを接続可能であっても良く、接続された3つ以上のストレージにてミラーリングを行う構成に本発明を適用しても良い。
上述した実施の形態では、CPU書き込み処理を完了した場合、CPU書き込みコマンドが示すLBAからリビルド処理を再開する例について説明したが、本発明はこれに限らず、少なくとも、リビルド処理が中断されたアドレスよりCPU書き込みコマンドが示すアドレス付近のアドレスからリビルド処理が再開されれば良い。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 画像形成装置
105 ブリッジIC
106 ブリッジCPU
111、115 ストレージ

Claims (8)

  1. 複数のストレージにデータを格納する制御を行う情報処理装置であって、
    前記複数のストレージにおける第1のストレージの一のアドレスに格納されたデータを前記複数のストレージにおける第2のストレージの前記一のアドレスに複製する処理を、連続するアドレスの順に従って行うリビルド処理の実行を制御するリビルド制御手段を備え、
    前記リビルド制御手段は、前記リビルド処理を実行している最中に書き込みコマンドを受信した場合、前記リビルド処理を中断して前記書き込みコマンドに従って書き込み処理を実行し、当該書き込み処理を完了した場合、前記リビルド処理が中断されたアドレスより前記書き込みコマンドが示すアドレス付近のアドレスから前記リビルド処理を再開することを特徴とする情報処理装置。
  2. 前記書き込みコマンドが示すアドレスは、前記リビルド処理が中断されたアドレスに連続しないアドレスであることを特徴とする請求項1記載の情報処理装置。
  3. 前記リビルド制御手段は、前記書き込みコマンドが示すアドレス付近のアドレスから前記第1のストレージの最終アドレスまでの前記リビルド処理を完了すると、前記リビルド処理が実行されていないアドレスのリビルド処理を実行することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記リビルド制御手段は、前記書き込み処理を完了した場合、前記書き込みコマンドが示すアドレスから前記リビルド処理を再開することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記第1のストレージ及び前記第2のストレージは、HDDであることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 画像形成処理を行う画像形成装置であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 複数のストレージにデータを格納する制御を行う情報処理装置の制御方法であって、
    前記複数のストレージにおける第1のストレージの一のアドレスに格納されたデータを前記複数のストレージにおける第2のストレージの前記一のアドレスに複製する処理を、連続するアドレスの順に従って行うリビルド処理の実行を制御するリビルド制御ステップを有し、
    前記リビルド制御ステップは、前記リビルド処理を実行している最中に書き込みコマンドを受信した場合、前記リビルド処理を中断して前記書き込みコマンドに従って書き込み処理を実行し、当該書き込み処理を完了した場合、前記リビルド処理が中断されたアドレスより前記書き込みコマンドが示すアドレス付近のアドレスから前記リビルド処理を再開することを特徴とする情報処理装置の制御方法。
  8. 複数のストレージにデータを格納する制御を行う情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
    前記情報処理装置の制御方法は、
    前記複数のストレージにおける第1のストレージの一のアドレスに格納されたデータを前記複数のストレージにおける第2のストレージの前記一のアドレスに複製する処理を、連続するアドレスの順に従って行うリビルド処理の実行を制御するリビルド制御ステップを有し、
    前記リビルド制御ステップは、前記リビルド処理を実行している最中に書き込みコマンドを受信した場合、前記リビルド処理を中断して前記書き込みコマンドに従って書き込み処理を実行し、当該書き込み処理を完了した場合、前記リビルド処理が中断されたアドレスより前記書き込みコマンドが示すアドレス付近のアドレスから前記リビルド処理を再開することを特徴とするプログラム。
JP2019218951A 2019-12-03 2019-12-03 情報処理装置、その制御方法、及びプログラム Pending JP2021089524A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019218951A JP2021089524A (ja) 2019-12-03 2019-12-03 情報処理装置、その制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019218951A JP2021089524A (ja) 2019-12-03 2019-12-03 情報処理装置、その制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2021089524A true JP2021089524A (ja) 2021-06-10

Family

ID=76220651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019218951A Pending JP2021089524A (ja) 2019-12-03 2019-12-03 情報処理装置、その制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2021089524A (ja)

Similar Documents

Publication Publication Date Title
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
US7725668B2 (en) Computer system and snapshot creation method thereof, delaying snapshot creation until pending transfer between volumes is complete
US7966463B2 (en) Asynchronous remote copy system and control method for the same
US7774542B2 (en) System and method for adaptive operation of storage capacities of RAID systems
JP5409159B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP5721344B2 (ja) システム、システムの制御方法、及び、プログラム
US20060168412A1 (en) Method for controlling storage device controller, storage device controller, and program
JP3606797B2 (ja) 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体
JP2005309550A (ja) リモートコピー方法及びリモートコピーシステム
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
JP2004005358A (ja) 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
JP2002259062A (ja) 記憶装置システム及び記憶装置システムにおけるデータの複写方法
JP2007249573A (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
US11669268B2 (en) Information processing apparatus and control method therefor
JP4719801B2 (ja) デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system
JP2014038551A (ja) データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム
JP2021089524A (ja) 情報処理装置、その制御方法、及びプログラム
JPH07121315A (ja) ディスクアレイ
JP5838652B2 (ja) データコピー処理システム
JP2007323377A (ja) 記録装置、管理データの書き込み方法および管理データの修復方法
JP2021082199A (ja) ストレージ制御装置、その制御方法、及びプログラム
JP4122724B2 (ja) データの複製方法及び情報処理システム
JP2018063491A (ja) 制御装置、制御方法及びプログラム
JP2021082198A (ja) 情報処理装置、その制御方法、及びプログラム