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

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

Info

Publication number
JP2021082198A
JP2021082198A JP2019211561A JP2019211561A JP2021082198A JP 2021082198 A JP2021082198 A JP 2021082198A JP 2019211561 A JP2019211561 A JP 2019211561A JP 2019211561 A JP2019211561 A JP 2019211561A JP 2021082198 A JP2021082198 A JP 2021082198A
Authority
JP
Japan
Prior art keywords
storage
rebuild
storages
information processing
write command
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
JP2019211561A
Other languages
English (en)
Inventor
奥薗 良太郎
Ryotaro Okuzono
良太郎 奥薗
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 JP2019211561A priority Critical patent/JP2021082198A/ja
Publication of JP2021082198A publication Critical patent/JP2021082198A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】瞬断によってデータが消失するリスクを低減しつつ、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができる情報処理装置を提供する。【解決手段】画像形成装置100は、マスターストレージ及びスレーブストレージへ同一のデータを格納するミラーリングを行う。また、画像形成装置100は、マスターストレージに格納されたデータをスレーブストレージに複製するリビルド処理を行う。画像形成装置100は、マスターストレージへFlushCacheコマンドを発行し、スレーブストレージへのFlushCacheコマンドの発行可否を、リビルド処理を実行しているか否かに基づいて決定する。【選択図】図4

Description

本発明は、情報処理装置、その制御方法、及びプログラムに関する。
複数のストレージを備える情報処理装置としての画像形成装置が知られている。画像形成装置は、耐障害性を高めるために、例えば、画像形成装置のRAIDコントローラに接続された2つのストレージに同一のデータを格納するミラーリング(RAID1)を行う。ミラーリングにおいて2つのストレージの間でデータの同一性が崩れると、RAIDコントローラは、正常動作しているストレージに格納されたデータをもう一方のストレージに複製するリビルド処理を行う(例えば、特許文献1参照)。リビルド処理では、複製元のストレージであるマスターストレージから読み出されたデータは、まず複製先のストレージであるスレーブストレージにおける揮発性のキャッシュメモリに一時的に保持される。キャッシュメモリに保持されたデータは、任意のタイミングでスレーブストレージにおける不揮発性の記録媒体に書き込まれる。RAIDコントローラは、画像形成装置全体を制御するCPUから独立してリビルド処理の実行を制御している。このため、RAIDコントローラは、リビルド処理を実行している最中にCPUからリビルド処理に関連しない書き込み要求(以下、「CPU書き込み要求」という。)を受けることがある。このとき、例えば、マスターストレージのキャッシュメモリには、CPU書き込み要求に対応するデータ(以下、「CPU書き込み対象データ」という。)が保持される。一方、スレーブストレージのキャッシュメモリには、CPU書き込み対象データの他に、リビルド処理によってマスターストレージから読み出されたデータ(以下、「リビルド対象データ」という。)が保持される。
画像形成装置では、CPU書き込み要求に従った書き込み処理において、記録媒体へデータを書き込む指示としてFlushCacheコマンドが用いられる。ストレージは、RAIDコントローラからFlushCacheコマンドを受信すると、キャッシュメモリに保持された全てのデータを記録媒体に書き込むフラッシュキャッシュ処理を実行する。これにより、不揮発性の記録媒体に書き込まれずに揮発性のキャッシュメモリに保持されたままのデータが、瞬断の発生に起因して消失するリスクを低減することができる。
特開2016‐139251号公報
リビルド処理を実行している最中に受けたCPU書き込み要求に従った書き込み処理を実行した場合、上述したように、スレーブストレージのキャッシュメモリには、CPU書き込み対象データの他に、マスターストレージのキャッシュメモリには保持されていないリビルド対象データが保持される。このような状態で、RAIDコントローラから各ストレージへFlushCacheコマンドが送信された場合、スレーブストレージにおけるフラッシュキャッシュ処理の実行に要する時間がマスターストレージにおけるフラッシュキャッシュ処理の実行に要する時間より長くなる。このような場合、画像形成装置は、マスターストレージ側だけでなく、スレーブストレージ側のフラッシュキャッシュ処理を完了しないと、次の書き込み処理を行えないので、書き込みパフォーマンスが低下してしまう。このようなリビルド処理に起因する書き込みパフォーマンスの低下を抑制するために、例えば、マスターストレージ及びスレーブストレージへのFlushCacheコマンドの使用を禁止すると、瞬断によってデータが消失するリスクが上がる。すなわち、従来では、瞬断によってデータが消失するリスクを低減しつつ、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができない。
本発明の目的は、瞬断によってデータが消失するリスクを低減しつつ、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができる情報処理装置、その制御方法、及びプログラムを提供することにある。
上記目的を達成するために、本発明の情報処理装置は、保持手段及び不揮発性の記録媒体を備える複数のストレージを備える情報処理装置であって、前記保持手段に保持されたデータを前記記録媒体に書き込ませるための所定の書き込みコマンドを複数のストレージへ発行する制御を行う発行制御手段と、前記複数のストレージにおける第1のストレージに格納されたデータを、前記複数のストレージにおける第2のストレージに複製するリビルド処理の実行を制御するリビルド制御手段とを備え、前記発行制御手段は、前記第1のストレージへ前記所定の書き込みコマンドを発行し、前記第2のストレージへの前記所定の書き込みコマンドの発行可否を、前記リビルド処理を実行しているか否かに基づいて決定することを特徴とする。
本発明によれば、瞬断によってデータが消失するリスクを低減しつつ、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができる。
本発明の実施の形態に係る画像形成装置の構成を概略的に示すブロック図である。 図1のRAIDコントローラ部、ストレージA、及びストレージBの構成を概略的に示すブロック図である。 図1のRAIDコントローラ部の状態遷移図である。 図1のCPUによって実行されるRAIDコントローラ部の制御処理の手順を示すフローチャートである。 図1のRAIDコントローラ部によって実行される電源オフ制御処理の手順を示すフローチャートである。 図1のRAIDコントローラ部によって実行される電源オン制御処理の手順を示すフローチャートである。 図4の制御処理の変形例の手順を示すフローチャートである。
以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、情報処理装置としての画像形成装置に本発明を適用した場合について説明するが、本発明は画像形成装置に限られず、リビルド処理を実行するPC等の通信装置に適用しても良い。
図1は、本発明の実施の形態に係る画像形成装置100の構成を概略的に示すブロック図である。図1において、画像形成装置100は、コントローラ部101、操作部108、スキャナ部109、及びプリンタ部110を備える。コントローラ部101は、操作部108、スキャナ部109、及びプリンタ部110とそれぞれ接続されている。画像形成装置100は、スキャン処理、印刷処理等の画像形成処理を実行可能である。コントローラ部101は、画像形成装置100全体を統括的に制御する。コントローラ部101は、CPU102、メモリ103、RAIDコントローラ部104(リビルド制御手段)、ストレージA105、ストレージB106、及び画像処理部107を備える。
CPU102は、操作部108、メモリ103、RAIDコントローラ部104、及び画像処理部107とそれぞれ接続されている。CPU102は、RAIDコントローラ部104を介してストレージA105又はストレージB106に格納されたプログラムを実行して各種制御を行う。メモリ103は、揮発性メモリであり、CPU102がプログラムを実行することによって生成されたデータ等を格納する主メモリである。RAIDコントローラ部104は、ストレージA105及びストレージB106とそれぞれ接続され、ミラーリングに関する処理やリビルド処理を実行する。ミラーリングでは、ストレージA105及びストレージB106に同一のデータが格納される。リビルド処理では、ストレージA105及びストレージB106の一方に格納された1つ以上のデータが他方のストレージに複製される。
ストレージA105及びストレージB106は、CPU102が実行するプログラムや画像形成装置100の設定情報等を格納する。画像処理部107は、スキャナ部109で生成された画像データに対して色空間変換等の画像処理を施し、変換された画像データをプリンタ部110に出力する。操作部108は、図示しない表示部及び操作キーを備え、ユーザから入力された各処理の実行指示を受け付ける。スキャナ部109は、図示しない原稿台に配置された原稿を読み取って画像データを生成する。プリンタ部110は、スキャナ部109で生成された画像データを用紙に印刷する。
図2は、図1のRAIDコントローラ部104、ストレージA105、及びストレージB106の構成を概略的に示すブロック図である。図2において、RAIDコントローラ部104は、SATA(D)IF部201、SATA(H)IF部202、SATA(H)IF部203、RAIDCPU204、RAIDメモリ205、RAIDROM206、及びRAIDバッファ207を備える。RAIDコントローラ部104は、SATA(D)IF部201を介してCPU102と接続され、SATA(H)IF部202を介してストレージA105と接続され、SATA(H)IF部203を介してストレージB106と接続されている。
RAIDCPU204は、RAIDコントローラ部104全体を制御する中央演算装置である。RAIDCPU204は、内部バス(不図示)にてRAIDメモリ205及びRAIDROM206と接続されている。RAIDROM206は、RAIDCPU204を稼働させるためのファームウェアを格納する不揮発性の記憶装置である。RAIDROM206に格納されたデータは、一時記憶領域として用いられるRAIDメモリ205に展開される。また、RAIDROM206は、RAIDコントローラ部104の動作モード、ステート情報、ストレージA105及びストレージB106それぞれのストレージ情報等を格納する。さらに、RAIDROM206は、リビルド処理においてデータの複製を完了したLBAを示すリビルドLBAアドレスを格納する。RAIDバッファ207は、RAIDCPU204がCPU102、ストレージA105、及びストレージB106とデータを送受信する際にそのデータを一時的に保持するために使用される。なお、RAIDCPU204は、画像形成装置100内の各デバイスから独立して稼働可能である。
ストレージA105は、HDDやSSD等の記憶装置であり、CPUA208、キャッシュ部A209、記憶部A210を備える。CPUA208は、ストレージA105全体を制御する演算装置であり、図示しない不揮発性の記憶装置に保存された独自のファームウェアによって稼働する。キャッシュ部A209は、揮発性メモリであり、キャッシュ部A209への電力の供給が停止されると、データを保持することができない。キャッシュ部A209は、CPUA208が記憶部A210にデータを読み書きする際に、それらの処理を効率的に行うために使用される一時記憶領域である。記憶部A210は、不揮発性の記憶装置であり、記憶部A210への電力の供給が停止されてもデータを保持可能である。ストレージA105では、RAIDコントローラ部104から書き込みを指示されたデータがキャッシュ部A209に一時的に保持される。キャッシュ部A209に保持されたデータは、例えば、ストレージA105がRAIDコントローラ部104からFlushCacheコマンドを受信した際に記憶部A210に書き込まれる。ストレージB106は、HDDやSSD等の記憶装置であり、CPUB211、キャッシュ部B212、及び記憶部B213を備える。CPUB211は、CPUA208と同じ機能及び構成である。キャッシュ部B212は、キャッシュ部A209と同じ機能及び構成である。記憶部B213は、記憶部A210と同じ機能及び構成である。
図3は、図1のRAIDコントローラ部104の状態遷移図である。RAIDコントローラ部104は、シングルモード及びミラーリングモードを有する。シングルモードは、ストレージA105及びストレージB106の何れか一方のみが動作する動作モードである。ミラーリングモードは、RAIDコントローラ部104が2つのストレージと接続された状態で動作する動作モードである。ミラーリングモードには、ミラーステート、デグレードステート、リビルドステート、ホールトステートの4つの状態が存在する。
ミラーステートは、2つのストレージが正常に動作している状態である。ミラーステートでは、RAIDコントローラ部104は、接続された2つのストレージの一方をマスターストレージとし、他方をスレーブストレージとして制御する。ミラーステートでは、RAIDコントローラ部104は、データを読み出す際に、2つのストレージのうちマスターストレージにアクセスする。一方、RAIDコントローラ部104は、データを書き込む際に、マスターストレージ及びスレーブストレージの両方にアクセスし、2つのストレージに同一のデータを書き込む制御を行う。ミラーステートにおいて2つのストレージの一方が故障すると、RAIDコントローラ部104は、デグレードステートへ遷移する。
デグレードステートは、2つのストレージのうち故障していないストレージが動作している状態である。デグレードステートでは、RAIDコントローラ部104は、故障しているストレージにアクセスしない。デグレードステートでは、故障しているストレージの代わりとなる新たなストレージがRAIDコントローラ部104に接続されると、RAIDコントローラ部104は、リビルドステートへ遷移して、リビルド処理を開始する。デグレードステートにおいて、故障していないストレージも故障すると、RAIDコントローラ部104は、ホールトステートへ遷移する。
リビルドステートは、リビルド処理が実行されている状態である。リビルドステートでは、故障していないストレージに格納されたデータが、故障しているストレージの代わりとして接続された新たなストレージへ複製される。リビルド処理を完了すると、RAIDコントローラ部104は、リビルドステートからミラーステートへ遷移する。リビルドステートにおいて、スレーブストレージが故障すると、RAIDコントローラ部104は、デグレードステートへ遷移する。また、リビルドステートにおいて、マスターストレージが故障すると、RAIDコントローラ部104は、ホールトステートへ遷移する。ホールトステートは、2つのストレージの両方が故障したため、ミラーリングを継続できない状態である。RAIDコントローラ部104は、シングルモードからミラーリングモードへの移行をユーザから指示されると、リビルドステートへ遷移する。なお、本実施の形態では、ミラーリングモードにおいて上述した何れの状態であっても、ユーザからシングルモードへの移行指示を受け付けると、RAIDコントローラ部104は、シングルモードへ移行する。
リビルド処理では、例えば、マスターストレージとしてのストレージA105から読み出されたデータが、スレーブストレージとしてのストレージB106における揮発性のキャッシュ部B212に一時的に保持される。キャッシュ部B212に保持されたデータは、所定のタイミングでストレージB106における不揮発性の記憶部B213に書き込まれる。RAIDコントローラ部104は、画像形成装置100全体を制御するCPU102から独立してリビルド処理の実行を制御している。このため、RAIDコントローラ部104は、リビルド処理を実行している最中にCPU102からリビルド処理に関連しない書き込み要求であるCPU書き込み要求を受けることがある。このとき、例えば、マスターストレージとしてのストレージA105のキャッシュ部A209には、CPU書き込み要求に対応するデータであるCPU書き込み対象データが保持される。一方、スレーブストレージとしてのストレージB106のキャッシュ部B212には、CPU書き込み対象データの他に、リビルド処理によってマスターストレージから読み出されたデータであるリビルド対象データが保持される。
画像形成装置100では、CPU書き込み要求に従った書き込み処理において、各ストレージにおける記憶部へデータを書き込む指示としてFlushCacheコマンドが用いられる。各ストレージは、RAIDコントローラ部104からFlushCacheコマンドを受信すると、キャッシュ部に保持された全てのデータを記憶部に書き込むフラッシュキャッシュ処理を実行する。これにより、不揮発性の記憶部に書き込まれずに揮発性のキャッシュ部に保持されたままのデータが、瞬断の発生に起因して消失するリスクを低減することができる。
リビルド処理を実行している最中に受けたCPU書き込み要求に従った書き込み処理を実行した場合、上述したように、スレーブストレージとしてのストレージB106のキャッシュ部B212には、CPU書き込み対象データの他に、マスターストレージとしてのストレージA105のキャッシュ部A209には保持されていないリビルド対象データが保持される。このような状態で、RAIDコントローラ部104から各ストレージへFlushCacheコマンドが送信された場合、スレーブストレージにおけるフラッシュキャッシュ処理の実行に要する時間がマスターストレージにおけるフラッシュキャッシュ処理の実行に要する時間より長くなる。このような場合、画像形成装置100は、マスターストレージ側だけでなく、スレーブストレージ側のフラッシュキャッシュ処理を完了しないと、次の書き込み処理を行えないので、書き込みパフォーマンスが低下してしまう。このようなリビルド処理に起因する書き込みパフォーマンスの低下を抑制するために、例えば、マスターストレージ及びスレーブストレージへのFlushCacheコマンドの使用を禁止すると、瞬断によってデータが消失するリスクが上がる。すなわち、従来では、瞬断によってデータが消失するリスクを低減しつつ、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができない。
これに対し、本実施の形態では、マスターストレージへFlushCacheコマンドが発行され、スレーブストレージへのFlushCacheコマンドの発行可否が、リビルド処理を実行しているか否かに基づいて決定される。
図4は、図1のCPU102によって実行されるRAIDコントローラ部104の制御処理の手順を示すフローチャートである。図4の処理は、CPU102がストレージA105又はストレージB106に格納されたプログラムを実行することによって実現される。図4の処理は、画像形成装置100が起動した際に実行される。図4の処理では、ストレージA105及びストレージB106の一方がマスターストレージとして機能し、他方がスレーブストレージとして機能することとする。
図4において、まず、CPU102は、RAIDコントローラ部104のステータス情報を取得する(ステップS401)。RAIDコントローラ部104のステータス情報は、定期的に更新され、例えば、動作モード情報及びステート情報を含む。動作モード情報は、RAIDコントローラ部104がシングルモード及びミラーリングモードの何れで動作しているかを示す情報である。ステート情報は、RAIDコントローラ部104がミラーステート、デグレードステート、リビルドステート、ホールトステートの何れであるかを示す情報である。次いで、CPU102は、取得したRAIDコントローラ部104のステータス情報に基づいてRAIDコントローラ部104の動作モードがシングルモード及びミラーリングモードの何れであるかを判別する(ステップS402)。
ステップS402の判別の結果、RAIDコントローラ部104の動作モードがシングルモードであるとき、CPU102は、本処理を終了する。ステップS402の判別の結果、RAIDコントローラ部104の動作モードがミラーリングモードであるとき、CPU102は、取得したRAIDコントローラ部104のステータス情報に基づいてRAIDコントローラ部104がリビルドステートであるか否かを判別する(ステップS403)。リビルドステートは、上述したように、リビルド処理が実行されている状態である。
ステップS403の判別の結果、RAIDコントローラ部104がリビルドステートであるとき、CPU102は、RAIDコントローラ部104に対し、マスターストレージへのFlushCacheコマンドの発行を許可し、スレーブストレージへのFlushCacheコマンドの発行を禁止する(ステップS404)(発行制御手段)。これにより、本実施の形態では、RAIDコントローラ部104がリビルドステートである場合、FlushCacheコマンドは、マスターストレージに発行され、スレーブストレージに発行されない。その後、CPU102は、更新されたRAIDコントローラ部104のステータス情報を取得する(ステップS405)。次いで、CPU102は、ステップS405の処理にて取得したRAIDコントローラ部104のステータス情報に基づいて、RAIDコントローラ部104がリビルドステートから別の状態に遷移したか否かを判別する(ステップS406)。
ステップS406の判別の結果、RAIDコントローラ部104がリビルドステートから別の状態に遷移しないとき、つまり、RAIDコントローラ部104がリビルドステートのままであるとき、CPU102は、ステップS405の処理に戻る。ステップS406の判別の結果、RAIDコントローラ部104がリビルドステートから別の状態に遷移したとき、又はステップS403の判別の結果、RAIDコントローラ部104がリビルドステートでないとき、CPU102は、RAIDコントローラ部104に対し、マスターストレージ及びスレーブストレージの両方へのFlushCacheコマンドの発行を許可し(ステップS407)、本処理を終了する。
上述した実施の形態によれば、マスターストレージへFlushCacheコマンドが発行される。これにより、マスターストレージにおいてCPU書き込み対象データを不揮発性の記憶部に速やかに書き込むことができ、もって、瞬断の発生に起因してCPU書き込み対象データが消失するリスクを低減することができる。また、スレーブストレージへのFlushCacheコマンドの発行可否が、リビルド処理を実行しているか否かに基づいて決定される。これにより、リビルド処理に起因する書き込みパフォーマンスの低下の要因となるスレーブストレージへのFlushCacheコマンドの発行を制御して、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができる。すなわち、本実施の形態では、瞬断によってデータが消失するリスクを低減しつつ、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができる。
また、上述した実施の形態では、リビルド処理を実行している場合、スレーブストレージへFlushCacheコマンドが発行されない。これにより、リビルド処理に起因する書き込みパフォーマンスの低下を確実に抑制することができる。
さらに、上述した実施の形態では、画像形成装置100は、画像形成処理を行う装置である。これにより、瞬断によって画像形成処理に関するデータが消失するリスクを低減しつつ、リビルド処理に起因する画像形成処理に関する書き込みパフォーマンスの低下を抑制することができる。
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、リビルド処理を実行している最中にマスターストレージ及びスレーブストレージに対する電源オフシーケンス処理が正常に終了しなかった場合、マスターストレージ及びスレーブストレージの起動に応じて、マスターストレージに格納されたリビルド対象データの全てをスレーブストレージに複製する処理が実行されても良い。
上述した実施の形態では、リビルド処理を実行している間、スレーブストレージへのFlushCacheコマンドの発行が禁止される。このため、例えば、スレーブストレージにおいてリビルド処理によってキャッシュ部に保持されていたデータが、記憶部に書き込まれる前に、瞬断の発生に起因して消失し、リビルド処理におけるデータの複製が不完全な状態になってしまう。
これに対し、本実施の形態では、リビルド処理を実行している最中にマスターストレージ及びスレーブストレージに対する電源オフシーケンス処理が正常に終了しなかった場合、マスターストレージ及びスレーブストレージの起動に応じて、マスターストレージに格納されたリビルド対象データの全てをスレーブストレージに複製する処理が実行される。
図5は、図1のRAIDコントローラ部104によって実行される電源オフ制御処理の手順を示すフローチャートである。図5の処理は、RAIDCPU204がRAIDROM206に格納されたプログラムを実行することによって実現される。図5の処理は、RAIDコントローラ部104がリビルドステートに遷移した際に実行される。リビルドステートでは、上述したように、リビルド処理が実行されている。
図5において、RAIDCPU204は、CPU102から電源オフコマンドを受信すると(ステップS501でYES)、リビルド処理を中断する(ステップS502)。次いで、RAIDCPU204は、RAIDコントローラ部104の動作状態情報をRAIDROM206に格納する(ステップS503)。動作状態情報は、例えば、動作モード情報、ステート情報、リビルド処理の進捗状況を示す情報を含む。リビルド処理の進捗状況を示す情報は、例えば、リビルドLBAアドレスである。次いで、RAIDCPU204は、ストレージA105及びストレージB106に対して電源オフシーケンス処理を実行する(ステップS504)。電源オフシーケンス処理の実行を完了すると、RAIDCPU204は、電源オフシーケンス処理が正常に終了したことを示す電源オフ完了フラグ(正常終了情報)をRAIDROM206に格納し(ステップS505)、本処理を終了する。
図6は、図1のRAIDコントローラ部104によって実行される電源オン制御処理の手順を示すフローチャートである。図6の処理は、RAIDCPU204がRAIDROM206に格納されたプログラムを実行することによって実現される。図6の処理は、例えば、CPU102から送信された電源オンコマンドに従ってマスターストレージ及びスレーブストレージが起動した際に実行される。
図6において、RAIDCPU204は、RAIDROM206に格納された動作状態情報を読み出す(ステップS601)。次いで、RAIDCPU204は、読み出した動作状態情報に基づいてRAIDコントローラ部104の動作モードがシングルモード及びミラーリングモードの何れであるかを判別する(ステップS602)。
ステップS602の判別の結果、RAIDコントローラ部104の動作モードがシングルモードであるとき、RAIDCPU204は、シングルモードで動作を開始する(ステップS603)。次いで、RAIDCPU204は、RAIDコントローラ部104のステータス情報を設定し(ステップS604)、本処理を終了する。
ステップS602の判別の結果、RAIDコントローラ部104の動作モードがミラーリングモードであるとき、RAIDCPU204は、読み出した動作状態情報に含まれるステート情報がリビルドステートを示すか否かを判別する(ステップS605)。
ステップS605の判別の結果、上記ステート情報がリビルドステートを示さないとき、RAIDCPU204は、上記ステート情報が示す状態の動作を開始し(ステップS606)、ステップS604の処理を行う。ステップS605の判別の結果、上記ステート情報がリビルドステートを示すとき、RAIDCPU204は、RAIDROM206に格納された電源オフ完了フラグを読み出す(ステップS607)。次いで、RAIDCPU204は、電源オフ完了フラグに基づいて前回の電源オフシーケンス処理が正常に終了しているか否かを判別する(ステップS608)。
ステップS608の判別の結果、前回の電源オフシーケンス処理が正常に終了していないとき、RAIDCPU204は、リビルド処理において最初に複製されるデータのLBAを示す先頭LBAアドレスからリビルド処理を開始し(ステップS609)、リビルド処理を最初からやり直す。すなわち、本実施の形態では、リビルド処理を実行している最中にマスターストレージ及びスレーブストレージに対する電源オフシーケンス処理が正常に終了しなかった場合、マスターストレージ及びスレーブストレージの起動に応じて、マスターストレージに格納されたリビルド対象データの全てをスレーブストレージに複製する処理が実行される。次いで、RAIDCPU204は、ステップS604の処理を行う。
ステップS608の判別の結果、前回の電源オフシーケンス処理が正常に終了していたとき、RAIDCPU204は、RAIDROM206に格納された電源オフ完了フラグをクリアする(ステップS610)。次いで、RAIDCPU204は、RAIDROM206に格納されたリビルドLBAアドレスからリビルド処理を再開する(ステップS611)。すなわち、本実施の形態では、リビルド処理を実行している最中にマスターストレージ及びスレーブストレージに対する電源オフシーケンス処理が正常に終了していた場合、マスターストレージ及びスレーブストレージの起動に応じて、マスターストレージに格納されたリビルド対象データの中のスレーブストレージに複製されていないデータをスレーブストレージに複製する処理が実行される。次いで、RAIDCPU204は、ステップS604の処理を行う。
上述した実施の形態では、リビルド処理を実行している最中にマスターストレージ及びスレーブストレージに対する電源オフシーケンス処理が正常に終了しなかった場合、マスターストレージ及びスレーブストレージの起動に応じて、マスターストレージに格納されたリビルド対象データの全てをスレーブストレージに複製する処理が実行される。これにより、スレーブストレージへのFlushCacheコマンドの発行を禁止した状態で瞬断が発生しても、スレーブストレージにおいてリビルド処理によるデータの複製が不完全のまま放置されるのを回避することができる。
また、上述した実施の形態では、スレーブストレージの種別に基づいてスレーブストレージへのFlushCacheコマンドの発行可否を決定しても良い。
ここで、RAIDコントローラ部104は、上述したようにリビルド処理の実行をCPU102から独立して制御している。このため、リビルド処理を実行している最中にCPU書き込み要求を受けた場合、スレーブストレージでは、CPU書き込み対象データが、リビルド対象データと、スレーブストレージの記憶部において連続しない離れた領域に書き込まれる可能性が極めて高い。スレーブストレージが、例えば、HDDである場合、フラッシュキャッシュ処理においてCPU書き込み対象データをリビルド対象データと記憶部における離れた領域に書き込む際に、ヘッドの移動や記憶メディアの回転といった機械的な動作による待ち時間が発生し、フラッシュキャッシュ処理の実行に要する時間が大幅に長くなる。このため、スレーブストレージがHDDである場合、スレーブストレージへのFlushCacheコマンドの発行を禁止して、リビルド処理に起因する書き込みパフォーマンスの低下を抑制するのが好ましい。
一方、スレーブストレージがHDD以外のストレージ、例えば、SSDである場合、フラッシュキャッシュ処理においてCPU書き込み対象データをリビルド対象データと記憶部における離れた領域に書き込む際に、HDD程の機械的な動作による待ち時間が発生せず、マスターストレージとスレーブストレージとでフラッシュキャッシュ処理の実行に要する時間にほとんど差が生じない。このため、スレーブストレージがHDDでない場合、スレーブストレージへのFlushCacheコマンドを発行して、スレーブストレージにおける瞬断対策を優先するのが好ましい。
これに対し、本実施の形態では、スレーブストレージの種別に基づいてスレーブストレージへのFlushCacheコマンドの発行可否が決定される。
図7は、図4の制御処理の変形例の手順を示すフローチャートである。図7の処理も、図4の処理と同様に、CPU102がストレージA105又はストレージB106に格納されたプログラムを実行することによって実現される。また、図7の処理も、図4の処理と同様に、画像形成装置100が起動した際に実行される。図7の処理でも、図4の処理と同様に、ストレージA105及びストレージB106の一方がマスターストレージとして機能し、他方がスレーブストレージとして機能することとする。
図7において、CPU102は、ステップ401〜S403の処理を行う。ステップS403の判別の結果、RAIDコントローラ部104がリビルドステートでないとき、CPU102は、ステップS407の処理を行う。ステップS403の判別の結果、RAIDコントローラ部104がリビルドステートであるとき、CPU102は、スレーブストレージがHDDであるか否かを判別する(ステップS701)。
ステップS701の判別の結果、スレーブストレージがHDDでないとき、CPU102は、ステップS407の処理を行って、RAIDコントローラ部104に対し、マスターストレージ及びスレーブストレージの両方へのFlushCacheコマンドの発行を許可し、本処理を終了する。ステップS701の判別の結果、スレーブストレージがHDDであるとき、CPU102は、ステップS404の処理を行って、RAIDコントローラ部104に対し、マスターストレージへのFlushCacheコマンドの発行を許可し、スレーブストレージへのFlushCacheコマンドの発行を禁止する。次いで、CPU102は、ステップS405以降の処理を行う。
上述した実施の形態では、スレーブストレージの種別に基づいてスレーブストレージへのFlushCacheコマンドの発行可否が決定される。スレーブストレージがHDDでない場合、スレーブストレージへFlushCacheコマンドが発行され、スレーブストレージがHDDである場合、スレーブストレージへFlushCacheコマンドが発行されない。これにより、スレーブストレージが、リビルド処理に起因する書き込みパフォーマンスの低下が懸念される種別である場合に、FlushCacheコマンドの発行を禁止して、リビルド処理に起因する書き込みパフォーマンスの低下を抑制することができる。
本発明は、上述の実施の形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 画像形成装置
102 CPU
104 RAIDコントローラ部
105 ストレージA
106 ストレージB
209 キャッシュ部A
210 記憶部A
212 キャッシュ部B
213 記憶部B

Claims (9)

  1. 保持手段及び不揮発性の記録媒体を備える複数のストレージを備える情報処理装置であって、前記複数のストレージの各々に同一のデータを格納する処理を制御する情報処理装置において、
    前記保持手段に保持されたデータを前記記録媒体に書き込ませるための所定の書き込みコマンドを複数のストレージへ発行する制御を行う発行制御手段と、
    前記複数のストレージにおける第1のストレージに格納されたデータを、前記複数のストレージにおける第2のストレージに複製するリビルド処理の実行を制御するリビルド制御手段とを備え、
    前記発行制御手段は、前記第1のストレージへ前記所定の書き込みコマンドを発行し、前記第2のストレージへの前記所定の書き込みコマンドの発行可否を、前記リビルド処理を実行しているか否かに基づいて決定することを特徴とする情報処理装置。
  2. 前記リビルド処理を実行していない場合、前記発行制御手段は、前記第2のストレージへ前記所定の書き込みコマンドを発行し、前記リビルド処理を実行している場合、前記発行制御手段は、前記第2のストレージへ前記所定の書き込みコマンドを発行しないことを特徴とする請求項1記載の情報処理装置。
  3. 前記発行制御手段は、前記第2のストレージへの前記所定の書き込みコマンドの発行可否を、前記第2のストレージの種別に基づいて決定することを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記第2のストレージがHDDでない場合、前記発行制御手段は、前記第2のストレージへ前記所定の書き込みコマンドを発行し、前記第2のストレージがHDDである場合、前記発行制御手段は、前記第2のストレージへ前記所定の書き込みコマンドを発行しないことを特徴とする請求項3記載の情報処理装置。
  5. 前記第1のストレージ及び前記第2のストレージに対する電源オフシーケンス処理の実行が正常に終了したことを示す正常終了情報を格納する格納手段を更に備え、
    前記リビルド処理を実行している最中に前記第1のストレージ及び前記第2のストレージに対する電源オフシーケンス処理の実行が正常に終了した場合、前記リビルド制御手段は、前記第1のストレージ及び前記第2のストレージの起動に応じて、前記第1のストレージに格納されたリビルド対象データの中の前記第2のストレージに複製されていないデータを前記第2のストレージに複製する処理を実行する制御を行い、前記リビルド処理を実行している最中に前記電源オフシーケンス処理の実行が正常に終了しなかった場合、前記リビルド制御手段は、前記第1のストレージ及び前記第2のストレージの起動に応じて、前記第1のストレージに格納されたリビルド対象データの全てを前記第2のストレージに複製する処理を実行する制御を行うことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記所定の書き込みコマンドは、FlushCacheコマンドであることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 画像形成処理を行う画像形成装置であることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 保持手段及び不揮発性の記録媒体を備える複数のストレージを備える情報処理装置の制御方法であって、前記複数のストレージの各々に同一のデータを格納する処理を制御する情報処理装置の制御方法において、
    前記保持手段に保持されたデータを前記記録媒体に書き込ませるための所定の書き込みコマンドを複数のストレージへ発行する制御を行う発行制御ステップと、
    前記複数のストレージにおける第1のストレージに格納されたデータを、前記複数のストレージにおける第2のストレージに複製するリビルド処理の実行を制御するリビルド制御ステップとを有し、
    前記発行制御ステップは、前記第1のストレージへ前記所定の書き込みコマンドを発行し、前記第2のストレージへの前記所定の書き込みコマンドの発行可否を、前記リビルド処理を実行しているか否かに基づいて決定することを特徴とする情報処理装置の制御方法。
  9. 保持手段及び不揮発性の記録媒体を備える複数のストレージを備える情報処理装置の制御方法をコンピュータに実行させるプログラムであって、前記複数のストレージの各々に同一のデータを格納する処理を制御する情報処理装置の制御方法をコンピュータに実行させるプログラムにおいて、
    前記情報処理装置の制御方法は、
    前記保持手段に保持されたデータを前記記録媒体に書き込ませるための所定の書き込みコマンドを複数のストレージへ発行する制御を行う発行制御ステップと、
    前記複数のストレージにおける第1のストレージに格納されたデータを、前記複数のストレージにおける第2のストレージに複製するリビルド処理の実行を制御するリビルド制御ステップとを有し、
    前記発行制御ステップは、前記第1のストレージへ前記所定の書き込みコマンドを発行し、前記第2のストレージへの前記所定の書き込みコマンドの発行可否を、前記リビルド処理を実行しているか否かに基づいて決定することを特徴とするプログラム。
JP2019211561A 2019-11-22 2019-11-22 情報処理装置、その制御方法、及びプログラム Pending JP2021082198A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019211561A JP2021082198A (ja) 2019-11-22 2019-11-22 情報処理装置、その制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019211561A JP2021082198A (ja) 2019-11-22 2019-11-22 情報処理装置、その制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2021082198A true JP2021082198A (ja) 2021-05-27

Family

ID=75963397

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2021082198A (ja)

Similar Documents

Publication Publication Date Title
JP5409159B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP5355337B2 (ja) 情報処理装置、情報処理装置の電源制御方法
JP5780769B2 (ja) データ処理装置、その制御方法およびプログラム、並びに記憶媒体
JP6164938B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP6703790B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2014138342A (ja) 画像形成装置
JP2013041430A (ja) 画像形成装置、画像形成装置の制御方法
JP2021082198A (ja) 情報処理装置、その制御方法、及びプログラム
JP7263067B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2013117910A (ja) 情報処理装置、その制御方法、およびプログラム
JP2013125451A (ja) 画像形成装置、プログラム
JP7214381B2 (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP7246869B2 (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP2021093075A (ja) 情報処理装置、その制御方法、及びプログラム
JP2021089524A (ja) 情報処理装置、その制御方法、及びプログラム
JP2021082199A (ja) ストレージ制御装置、その制御方法、及びプログラム
JP2020060869A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6299617B2 (ja) 画像形成装置、画像形成装置の制御プログラム、コントローラー、およびコントローラーの制御プログラム
JP2018073005A (ja) 情報処理装置とその制御方法、及びプログラム
JP2019212026A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2014138265A (ja) 画像形成装置
JP2021092846A (ja) 情報処理装置、その制御方法、およびプログラム
JP6924088B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2021179730A (ja) 情報処理装置、その制御方法、およびプログラム
JP2018063499A (ja) 情報処理装置及びその制御方法、並びにプログラム