(57)【要約】【課題】アクセス速度の異なるストレージを用いてミラーリングを行った場合においても、アクセス速度の異なるストレージのうち、アクセス速度のより速い方のストレージの性能を有効に利用することを目的とする。【解決手段】アクセス速度の異なるストレージを用いてミラーリングを行う制御装置であって、特定のデータはミラー対象から外す制御を行う制御手段を有する。【選択図】図１
2018063491.tif 000002
【特許請求の範囲】
【請求項１】
アクセス速度の異なるストレージを用いてミラーリングを行う制御装置であって、
特定のデータはミラー対象から外す制御を行う制御手段を有する制御装置。
【請求項２】
前記制御手段は、前記ミラー対象から外したデータの書き込み先のストレージをマスターのストレージが変更された場合であっても固定する請求項１記載の制御装置。
【請求項３】
ミラーリングを構成する複数のストレージにミラーリング領域と非ミラーリング領域とを設定する設定手段と、
前記複数のストレージのうちの一のストレージの非ミラーリング領域へのアクセス要求があった場合、指定されているディスクにアクセスする制御手段と、
を有する制御装置。
【請求項４】
前記非ミラーリング領域へのアクセス要求があった場合に使用するディスクを指定する指定手段を更に有する請求項３記載の制御装置。
【請求項５】
前記指定手段は、前のディスクと異なるディスクが指定された場合、非ミラーリング領域のリビルド処理を行い、ディスクを切り返る請求項４記載の制御装置。
【請求項６】
前記複数のストレージには、アクセス速度の異なるストレージが含まれる請求項３乃至５何れか１項記載の制御装置。
【請求項７】
アクセス速度の異なるストレージを用いてミラーリングを行う制御装置が実行する制御方法であって、
特定のデータはミラー対象から外す制御を行う制御工程を含む制御方法。
【請求項８】
制御装置が実行する制御方法であって、
ミラーリングを構成する複数のストレージにミラーリング領域と非ミラーリング領域とを設定する設定工程と、
前記複数のストレージのうちの一のストレージの非ミラーリング領域へのアクセス要求があった場合、指定されているディスクにアクセスする制御工程と、
を含む制御方法。
【請求項９】
コンピュータを、請求項１乃至６何れか１項記載の制御装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）の普及に伴い、補助記憶装置としてＳＳＤが画像形成装置に具備されるようになってきている。従来の補助記憶装置と比較すると、ＳＳＤはアクセス速度、発熱、動作音、耐衝撃性能、消費電力、サイズといった観点で優れているが、一方で書き換え回数に制限がある。
一方、ディスクのミラーリング制御装置は、２台のディスクが同時に故障することが少ないことを利用した耐故障性を向上させる装置である。ミラーリング制御装置では、一般的に型番が同じディスクを２台接続してミラーリングを構成する。ＳＳＤを２台用いてミラーリングを構成すれば、よりアクセス速度にすぐれたシステムを構築できる。しかし、ＳＳＤはＨＤＤに比べて高価なため、コストを考慮してＳＳＤとＨＤＤとのように異なる特性を持つディスクを２台利用してミラーリングを構成することも想定される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−０６３３７９号公報
【特許文献２】特開２０１２−４３２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、先行技術では保存されたデータを読み込む際の処理については考慮がなされていない。
一方、特許文献２に記載の技術では、容量が少ないＳＳＤと容量が多いＨＤＤとを用いてミラーリングを構成した場合、非ミラーリング領域はＨＤＤにしか作られず、非ミラーリング領域に保存されるデータの読み書きは、ＳＳＤの速度を活かすことができない。
本発明の目的の一つは、アクセス速度の異なるストレージを用いてミラーリングを行った場合においても、アクセス速度の異なるストレージのうち、アクセス速度のより速い方のストレージの性能を有効に利用することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、アクセス速度の異なるストレージを用いてミラーリングを行う制御装置であって、特定のデータはミラー対象から外す制御を行う制御手段を有する。
【発明の効果】
【０００６】
本発明の一つによれば、アクセス速度の異なるストレージを用いてミラーリングを行った場合においても、アクセス速度の異なるストレージのうち、アクセス速度のより速い方のストレージの性能を有効に利用することができる。
【図面の簡単な説明】
【０００７】
【図１】ミラーリング制御装置のハードウェア構成の一例を示す図である。
【図２】ミラーリング設定処理の一例を示すフローチャートである。
【図３】ミラーリング領域情報の一例を示す図である。
【図４】各ストレージの領域の一例を示す図である。
【図５】データの読み書きを行う制御処理の一例を示すフローチャートである。
【図６】非ミラーリング領域のリビルド処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、ミラーリング制御装置のハードウェア構成の一例を示す図である。
ミラーリング制御装置１００は、ＲＯＭ１０２又は例えばＨＤＤやＳＳＤ等の不揮発性記憶装置であるストレージ１（Ｓｔｏｒａｇｅ１）１１０に記憶されたプログラムを実行するＣＰＵ１０１を備える。ＣＰＵ１０１は、システムバス１１５に接続される各デバイスを総括的に制御する。不揮発性記憶装置はミラーリング制御装置１００に複数台接続可能であり、オプションとして不揮発性記憶装置であるストレージ２（Ｓｔｏｒａｇｅ２）１１１を拡張可能である。ストレージ１（１１０）、ストレージ２（１１１）は、ディスクコントローラ（ＤＩＳＫＣ２）１０９、ディスクコントローラ（ＤＩＳＫＣ３）１１８によってそれぞれ読み書きの制御が行われる。実施形態１では、ストレージ１（１１０）をＳＳＤ、ストレージ２（１１１）をＨＤＤで構成した場合を例に説明を行う。
ストレージ１（１１０）、ストレージ２（１１１）のミラーリング領域には同一のデータが書かれるように制御されるが、どちらかのストレージがマスターとなっており、他方はスレーブとなっている。マスターとスレーブとは故障や着脱等により入れ替わるため、以降マスターとスレーブと表現した場合は、ストレージ１（１１０）、ストレージ２（１１１）のどちらかを表すものとする。
ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア、ストレージ１（１１０）、１１１に読み書きするデータのバッファ等として機能する。
ミラーリング制御装置１００は、ディスクコントローラ（ＤＩＳＫＣ１）１１６を介して、ホスト（ＨＯＳＴ  Ｃｏｎｔｒｏｌｌｅｒ）１１７と接続され、ストレージ１（１１０）、１１１に読み書きするデータの授受を行う。データ転送ユニット１１９は、ディスクコントローラ１０９、１１６、１１８と接続され、ディスクコントローラ間のデータ転送を行う。
本実施形態では、ホスト１１７及びストレージ１（１１０）、１１１はミラーリング制御装置１００の外部に接続されているが、ミラーリング制御装置１００の内部に包含されていてもよい。
ＣＰＵ１０１が、ＲＯＭ１０２、又はストレージ１（１１０）等に記憶されたプログラムに基づき処理を実行することにより、ミラーリング制御装置１００の機能、及び後述する図２、５、６等のフローチャートの処理の全部又は一部が実現される。
【００１０】
次に、非ミラーリング領域の制御方法について説明する。
始めに、図２のミラーリング設定処理について説明する。
Ｓ２０１において、ＣＰＵ１０１は、ホスト１１７からミラーリング領域情報を受け付けて、データのミラーリングを行う領域と行わない領域との設定を行う。ミラーリング領域情報は、例えば、図３に示すようなものであり、ＣＰＵ１０１は、ホスト１１７から受け付けたミラーリング領域情報を例えばＲＯＭ１０２に記憶する。アドレスはストレージのＬＢＡ（Ｌｏｇｉｃａｌ Ｂｌｏｃｋ Ａｄｄｒｅｓｓｉｎｇ）を表すものであり、図３では１６進数で表記している。上述の設定例における各ストレージの領域は図４のようになる。図４において、ストレージ１（１１０）及びストレージ２（１１１）のアドレス００〜０Ｆの領域がミラーリング領域として、アドレス０Ｆ〜ＦＦの網掛け領域が非ミラーリング領域として設定される。どこからどこまでのアドレス空間をミラーリングするかの設定は、ホスト１１７が任意に指定できる。例えば、ホスト１１７は、パーティションごとにミラーリングを行うか否かの設定を行い、パーティションに対応するアドレスとミラーリング有無との対応情報をディスクコントローラ（ＤＩＳＫＣ１）１１６に送信する。ＣＰＵ１０１は、ディスクコントローラ１１６を介してホスト１１７から受け付けたアドレスとミラーリング有無との対応情報をＲＯＭ１０２に保存し、ミラーリング領域の設定とする。
【００１１】
次に、非ミラーリング領域使用ディスクの設定処理の説明を行う。
Ｓ２０２において、ＣＰＵ１０１は、ホスト１１７から非ミラーリング領域使用ディスクの指定番号を受け付けたか否かを判定する。ＣＰＵ１０１は、ホスト１１７から非ミラーリング領域使用ディスクの指定番号を受け付けた場合（Ｓ２０２−Ｙｅｓ）、Ｓ２０４に進み、非ミラーリング領域使用ディスクの指定番号を受け付けなかった場合（Ｓ２０２−Ｎｏ）、Ｓ２０３に進む。
Ｓ２０４において、ＣＰＵ１０１は、指定されたディスク番号を非ミラーリング領域使用ディスクとしてＲＯＭ１０２に保存する。
一方、Ｓ２０３において、ＣＰＵ１０１は、マスターディスクの番号を非ミラーリング領域使用ディスクとしてＲＯＭ１０２に保存する。マスターディスクは後から動的に変更される場合がある。しかし、マスターディスクが変更されても、ＣＰＵ１０１は、非ミラーリング領域使用ディスクとしてＲＯＭ１０２に保存されたディスクの番号は変更しない。
【００１２】
次に、図５のデータの読み書きを行う制御方法について説明する。
ディスクにデータを書き込む際やディスクからデータを読み込む際、ホスト１１７は、ファイルシステムを通してＡＴＡコマンドをディスクコントローラ（ＤＩＳＫＣ１）１１６に送信する。Ｓ３０１において、ＣＰＵ１０１は、ディスクコントローラ１１６を介してホスト１１７から読込み又は書込みのＡＴＡコマンドを受け付ける。
Ｓ３０２において、ＣＰＵ１０１は、アクセス要求されたアドレスをＲＯＭ１０２に保存されているミラーリング領域の設定情報と照合する。ＣＰＵ１０１は、照合の結果、アクセス要求されたアドレスが非ミラーリング領域であった場合（Ｓ３０２−Ｎｏ）、Ｓ３０７に進み、アクセス要求されたアドレスがミラーリング領域であった場合（Ｓ３０２−Ｙｅｓ）、Ｓ３０３に進む。
Ｓ３０７において、ＣＰＵ１０１は、ホスト１１７から受け付けたＡＴＡコマンドを、ＲＯＭ１０２に設定されている非ミラーリング領域使用ディスクへ送信する。
一方、Ｓ３０３において、ＣＰＵ１０１は、アクセス要求が読み込みコマンドか、書込みコマンドかを判定する。ＣＰＵ１０１は、アクセス要求が読み込みコマンドの場合（Ｓ３０３−Ｙｅｓ）、Ｓ３０６に進み、アクセス要求が書込みコマンドの場合（Ｓ３０３−Ｎｏ）、Ｓ３０４に進む。
Ｓ３０４において、ＣＰＵ１０１は、書込みコマンドをマスターに送信する。
Ｓ３０５において、ＣＰＵ１０１は、書込みコマンドをスレーブに送信する。このとき、ＣＰＵ１０１は、書込みコマンドをディスクに送信する際は、マスターとスレーブとのディスクに順次、コマンドを送信してもよいし、マスターとスレーブとに同時に送信してもよい。例えば、ＣＰＵ１０１は、ＲＡＭ１０３に保持されているデータを、データ転送ユニット１１９を制御し、ＤＩＳＫＣ２（１０９）、ＤＩＳＫＣ３（１１０）を介してストレージ１（１１０）、ストレージ２（１１１）に書き込む。
一方、Ｓ３０６において、ＣＰＵ１０１は、読み込みコマンドをマスターに送信する。
【００１３】
このように、ミラーリング領域へのアクセスか非ミラーリング領域へのアクセスかを判別し、アクセス先の領域に応じて読み書きのコマンドを送信するディスクを決定する。このことで、従来のミラーリングの動作をさせつつ、データの不整合を生じること無く非ミラーリング領域を使用できるようになる。
【００１４】
次に、図６を用いて非ミラーリング領域使用ディスクの変更動作についての説明を行う。
非ミラーリング領域使用ディスクを変更する際は、変更後のデータ不整合を起こさないために、先に非ミラーリング領域使用ディスクとしていたディスクの非ミラーリング領域を、変更先ディスクの非ミラーリング領域にコピーする必要がある。ここではその処理について説明を行う。
Ｓ４０１において、ＣＰＵ１０１は、ディスクコントローラ１１６を介してホスト１１７から非ミラーリング領域使用ディスクの指定を変更するコマンドを受け付ける。
Ｓ４０２において、ＣＰＵ１０１は、指定されたディスクが現在、非ミラーリング領域使用ディスクとして設定しているディスクと同一か否かを判定する。ＣＰＵ１０１は、判定の結果、同一であった場合（Ｓ４０２−Ｙｅｓ）、非ミラーリング領域使用ディスクの変更処理を終了し、異なるディスクが指定されていた場合（Ｓ４０２−Ｎｏ）、Ｓ４０３に進む。
Ｓ４０３において、ＣＰＵ１０１は、非ミラーリング領域のリビルド処理を行う。ストレージ１（１１０）が非ミラーリング領域使用ディスクとして設定されている場合を例に、リビルド処理の説明を行う。ＣＰＵ１０１の制御に基づき、データ転送ユニット１１９は、ＤＩＳＫＣ２（１０９）を介してストレージ１（１１０）からデータを読み、そのままＤＩＳＫＣ３（１１０）を介してストレージ２（１１１）に書き込む。データ転送ユニット１１９は、これをストレージ１（１１０）の非ミラーリング領域の全域に対して行う。リビルド処理が完了すると、ストレージ１（１１０）とストレージ２（１１１）との非ミラーリング領域には同一のデータが書かれた状態になる。
リビルド処理が完了すると、Ｓ４０４において、ＣＰＵ１０１は、ＲＯＭ１０２に保存されている非ミラーリング領域使用ディスクの設定情報を、ホスト１１７から指定されたディスク番号へ変更する。
データ転送処理において、データ転送ユニット１１９を使用した動作として説明したが、データ転送ユニット１１９を使用せずに、ＣＰＵ１０１が直接、データ転送処理を行ってもよい。
【００１５】
以上に示したように、本実施形態の情報処理によれば通常のミラーリングシステムの機能を保ったまま、ミラーリングする必要のないデータは任意のディスクで読み書きを行うことができるようになる。これによりＳＳＤとＨＤＤとのようなアクセス速度の異なるディスクを用いてミラーリングシステムを構築したときに、読み書き回数の多い一時データ等をＳＳＤのみで扱うようにすることで、ＨＤＤへの読み書きによる速度低下を低減させることができる。また、ＳＳＤを２台用いてミラーリングシステムを構築したときにも、片方のディスクのみに書き込まれるデータを作ることで、ディスク間に寿命の差を付けることができ、ディスクが同時に壊れてシステムが復旧できなくなるリスクを抑えることができる。
【００１６】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００１７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、アクセス速度の異なるＳＳＤ、ＨＤを用いてミラーリングを行うミラーリング制御装置１００は、特定のデータ（例えば、画像のような一時データ）はミラー対象から外す制御を行うようにしてもよい。このようにすることにより、例えば、ＨＤＤの読み書き回数を減らし、その分の速度低下を軽減することができる。また、ミラーリング制御装置１００は、ミラー対象から外したデータの書き込み先のストレージをマスターのストレージが変更された場合であっても固定するよう制御してもよい。
【００１８】
上述した各実施形態の処理によれば、複数のディスクを利用してミラーリングを構成する際に、任意のディスクで非ミラーリング領域を利用できるようになる。これにより、ＳＳＤとＨＤＤとのようにアクセス速度の異なるディスクを使用してミラーリングを構成したときに、以下の効果を有する。即ち、ＳＳＤの一部を非ミラーリング領域として利用することで、非ミラーリングデータはＨＤＤのアクセス速度の影響を受けず、高速な読み書きを行うことができるようになる。
また、ＳＳＤを２台用いてミラーリングを構成した場合でも、一部のデータを片方のディスクのみで読み書きすることにより、２台のディスクに寿命の差を付けることができ、２台同時にディスクが壊れてシステムの復旧ができなくなる問題を回避することができる。
【符号の説明】
【００１９】
１００  ミラーリング制御装置
１０１  ＣＰＵ
【図１】
2018063491.tif 000003
【図２】
2018063491.tif 000004
【図３】
2018063491.tif 000005
【図４】
2018063491.tif 000006
【図５】
2018063491.tif 000007
【図６】
2018063491.tif 000008