JP2017134500A - 制御回路および制御方法 - Google Patents

制御回路および制御方法 Download PDF

Info

Publication number
JP2017134500A
JP2017134500A JP2016012377A JP2016012377A JP2017134500A JP 2017134500 A JP2017134500 A JP 2017134500A JP 2016012377 A JP2016012377 A JP 2016012377A JP 2016012377 A JP2016012377 A JP 2016012377A JP 2017134500 A JP2017134500 A JP 2017134500A
Authority
JP
Japan
Prior art keywords
data
writing
unit
storage device
control
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.)
Granted
Application number
JP2016012377A
Other languages
English (en)
Other versions
JP6365557B2 (ja
Inventor
直史 織原
Tadashi Orihara
直史 織原
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016012377A priority Critical patent/JP6365557B2/ja
Publication of JP2017134500A publication Critical patent/JP2017134500A/ja
Application granted granted Critical
Publication of JP6365557B2 publication Critical patent/JP6365557B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】書き込み要求の増大によって負荷量が増加したような場合においても、処理速度の低下を抑制し性能を維持することができる制御回路を得る。
【解決手段】制御回路を、第1の制御手段1と、第2の制御手段2と、監視手段3と、判断手段4を備える構成とする。第1の制御手段1は、第1の書き込み手段と第2の書き込み手段のいずれかを選択して、入力される第1のデータを記憶装置に書き込む。監視手段3は、第1のデータをキャッシュデータとして転送する際の処理状態と、記憶装置に書き込む際の処理状態とを監視する。判断手段4は、監視結果に基づいて、第1の書き込み手段と第2の書き込み手段のいずれが適しているかを判断する。また、第1の制御手段1は、第1の書き込み手段を選択しているときに、第2の書き込み手段の方が適していると判断された場合に、第2の書き込み手段に移行する。
【選択図】 図1

Description

本発明は、ディスクアレイ装置へのデータ書き込み技術に関するものであり、特に、書き込みを行うコントローラを複数、備えるディスクアレイ装置に関するものである。
情報システムに用いられる記憶装置には、大容量のデータ保存や高信頼性が要求されることが多くなり、例えば、RAID(Redundant Arrays of Inexpensive Disks)のようなディスクアレイ装置が広く用いられている。また、フラッシュメモリのような不揮発性の半導体記憶デバイスの大容量化や高信頼性化が進み、SSD(Solid State Drive)と呼ばれる大容量の半導体記憶装置が情報処理装置やディスクアレイ装置等の記憶装置として用いられるようになっている。そのようなフラッシュメモリを用いたSSDによって構成される記憶装置は、フラッシュストレージとも呼ばれる。SSDは、小型で大容量の記憶装置を構成することができるため、SSDを記憶装置として用いることで限られたスペースの中で大容量のディスクアレイ装置を構成することが可能になる。また、SSDは、高速のI/O(Input / output)処理が可能なため、ハードディスクドライブ等を用いた場合に比べて高性能化も可能となる。
ディスクアレイ装置では、ホストからの複数のI/O要求への対応や冗長化のため、記憶装置への書き込みおよび読み出し等のI/O処理を行うコントローラが2つ以上備えられていることがある。I/O処理を行うコントローラが二重化されたディスクアレイ装置では、コントローラを二重に備えている特性を生かして高速にI/O処理を行うことができることが望ましい。そのような、記憶装置への書き込みを制御するコントローラを複数、備えるディスクアレイ装置において、記憶装置へのI/O処理を高速に行うための技術としては、例えば、特許文献1のような技術が開示されている。
特許文献1は、コントローラを二重化して備えているディスクアレイ装置に関するものである。特許文献1のディスクアレイ装置は、キャッシュメモリをそれぞれ有する第1のコントローラおよび第2のコントローラと、書き込みを行うデータを二重化して保持するためのキャッシュメモリと、データの保存先となるハードディスクドライブを備えている。特許文献1では、ホストからの書き込み要求があった際に、コントローラが書き込みを行うデータをキャッシュメモリに保存した後に、記憶装置への書き込み前にホストへの応答を返すライトバックキャッシュ方式が示されている。ライトバックキャッシュ方式では、応答を返してからデータの書き込みを行うことで、ホスト側の処理と記憶装置への書き込み処理が並列化されるためディスクアレイ装置における記憶装置への書き込み処理が高速化され得る。
また、特許文献1のディスクアレイ装置では、ホストから書き込み要求があった際に、第1のコントローラまたは第2のコントローラが有するキャッシュメモリと、二重化のためのキャッシュメモリとの間で書き込み用のデータを二重化して保持している。このような書き込みを行うためのデータを二重化して保持する方式は、ミラードキャッシュ方式と呼ばれる。ディスクアレイ装置においてライトバックキャッシュ方式を用いる際に、ミラードキャッシュ方式を併せて用いることで応答処理後に障害が発生した際に、二重化されたデータを用いて書き込みを行うことが可能になる。そのため、コントローラが二重化されたディスクアレイ装置においてライトバックキャッシュ方式とミラードキャッシュ方式を用いることで、高速化と信頼性の維持の両立が可能になり得る。
特開2011−232962号公報
しかしながら、特許文献1の技術は次のような点で十分ではない。不揮発性の半導体記憶装置を用いたSSDによって構成されるディスクアレイ装置では、記憶装置への書き込み処理が、ハードディスクドライブ等に書き込みを行う場合に比べて非常に高速化されている。そのため、I/O処理を行うコントローラがデータを記憶装置に書き込むために要する時間に比べて、書き込み用のデータを二重化するために要する時間の方が長くなる状態が生じ得る。特に、ホストからの書き込み要求のデータ量または頻度が増大したとき、I/O処理を行うコントローラやI/O処理の制御を行うCPU(Central Processing Unit)等の負荷が増大すると、データの二重化に要する時間が長くなる可能性が高くなる。
I/O処理の制御を行うCPU等の負荷の増大によってデータの二重化の処理に要する時間が長くなり、記憶装置への書き込みに要する時間よりも長くなると、データの二重化処理がボトルネックになり得る。そのような場合には、I/O処理が長時間化し、ホストとなる情報処理装置等の要求に応じて高速にI/O処理を行うことが出来ず、ディスクアレイ装置の性能低下が生じる。そのため、特許文献1の技術は、不揮発性の半導体記憶装置によって構成されるディスクアレイ装置において、書き込み要求の増大によって負荷量が増加したような場合においても、処理速度の低下を抑制し性能を維持するための技術としては十分ではない。
本発明は、上記の課題を解決するため、書き込み要求の増大によって負荷量が増加したような場合においても、処理速度の低下を抑制し性能を維持することができる制御回路を得ることを目的としている。
上記の課題を解決するため、本発明の制御回路は、第1の制御手段と、第2の制御手段と、監視手段と、判断手段を備えている。第1の制御手段は、第1の書き込み手段と第2の書き込み手段のいずれかを選択して、入力される第1のデータを記憶装置に書き込む。第1の書き込み手段は、入力される第1のデータを保持し、第1のデータを二重化のためのキャッシュデータとして転送する。また、第1の書き込み手段は、記憶装置に第1のデータを書き込む前に第1のデータの送信元に書き込みが完了したことを示す応答信号を出力し、第1のデータを記憶装置に書き込む。第2の書き込み手段は、入力される第1のデータを二重化のためのキャッシュデータとして転送せずに記憶装置に書き込む。第2の制御手段は、第1の制御手段から転送されてくるキャッシュデータを保持する手段と、入力される第2のデータの記憶装置への書き込みを制御する手段とを有する。監視手段は、第1の制御手段が第1のデータをキャッシュデータとして転送する際の処理状態と、第1の制御手段が第1のデータを記憶装置に書き込む際の処理状態とを監視する。判断手段は、監視手段の監視結果に基づいて、新たに入力される第1のデータを記憶装置に書き込む際に、第1の書き込み手段と第2の書き込み手段のいずれが適しているかを判断する。また、第1の制御手段は、第1の書き込み手段を選択しているときに、判断手段が第2の書き込み手段の方が適していると判断した場合に、第2の書き込み手段を選択して、新たに入力される第1のデータを記憶装置に書き込む。
本発明の制御方法は、第1の書き込み方法によって、入力される第1のデータを記憶装置に書き込む。第1の書き込み方法は、入力される第1のデータを保持し、第1のデータを二重化のためのキャッシュデータとして転送する方法である。また、第1の書き込み方法は、記憶装置に第1のデータを書き込む前に第1のデータの送信元に書き込みが完了したことを示す応答信号を出力し、第1のデータを記憶装置に書き込む方法である。本発明の制御方法は、第1のデータをキャッシュデータとして転送する際の処理状態と、第1のデータを記憶装置に書き込む際の処理状態とを監視する。本発明の制御方法は、監視結果に基づいて、新たに入力される第1のデータを記憶装置に書き込む際に、第1の書き込み方法と、入力される第1のデータを二重化のためのキャッシュデータとして転送せずに記憶装置に書き込む第2の書き込み方法のいずれが適しているかを判断する。本発明の制御方法は、第1の書き込み方法を選択しているときに、第2の書き込み方法の方が適していると判断した場合に、第2の書き込み方法を選択して、新たに入力される第1のデータを記憶装置に書き込む。
本発明によると、書き込み要求の増大によって負荷量が増加したような場合においても、処理速度の低下を抑制し性能を維持することができる。
本発明の第1の実施形態の構成の概要を示す図である。 本発明の第2の実施形態の構成の概要を示す図である。 本発明の第2の実施形態の情報処理装置の構成の概要を示す図である。 本発明の第2の実施形態のディスクアレイ装置の構成の一部を示す図である。 本発明の第2の実施形態のディスクアレイ装置におけるデータの流れの例を模式的に示した図である。 本発明の第2の実施形態のディスクアレイ装置におけるデータの流れの例を模式的に示した図である。 本発明の第2の実施形態における動作フローの概要を示す図である。 本発明の第2の実施形態における動作フローの概要を示す図である。 本発明の第2の実施形態における動作状態の例をグラフとして示した図である。 本発明の第2の実施形態における動作状態の例をグラフとして示した図である。 本発明の第2の実施形態における動作状態の例をグラフとして示した図である。 本発明の第2の実施形態の他の構成の例を示した図である。 本発明の第2の実施形態の他の構成の例におけるデータの流れを模式的に示した図である。
(第1の実施形態)
本発明の第1の実施形態について図を参照して詳細に説明する。図1は、本実施形態の制御回路の構成の概要を示したものである。本実施形態の制御回路は、第1の制御手段1と、第2の制御手段2と、監視手段3と、判断手段4を備えている。
第1の制御手段1は、第1の書き込み手段と第2の書き込み手段のいずれかを選択して、入力される第1のデータを記憶装置に書き込む。第1の書き込み手段は、入力される第1のデータを保持し、第1のデータを二重化のためのキャッシュデータとして転送する。また、第1の書き込み手段は、記憶装置に第1のデータを書き込む前に第1のデータの送信元に書き込みが完了したことを示す応答信号を出力し、第1のデータを記憶装置に書き込む。第2の書き込み手段は、入力される第1のデータを二重化のためのキャッシュデータとして転送せずに記憶装置に書き込む。第2の制御手段2は、第1の制御手段1から転送されてくるキャッシュデータを保持する手段と、入力される第2のデータの記憶装置への書き込みを制御する手段とを有する。監視手段3は、第1の制御手段1が第1のデータをキャッシュデータとして転送する際の処理状態と、第1の制御手段1が第1のデータを記憶装置に書き込む際の処理状態とを監視する。判断手段4は、監視手段3の監視結果に基づいて、新たに入力される第1のデータを記憶装置に書き込む際に、第1の書き込み手段と第2の書き込み手段のいずれが適しているかを判断する。また、第1の制御手段1は、第1の書き込み方法を選択しているときに、判断手段4が第2の書き込み手段の方が適していると判断した場合に、第2の書き込み手段を選択して、新たに入力される第1のデータを記憶装置に書き込む。
本実施形態の制御回路は、第1の制御手段1において、記憶装置に書き込むための第1のデータをキャッシュデータとして転送する第1の書き込み手段と、転送を行わない第2の書き込み手段のいずれかによって第1のデータを記憶装置に書き込んでいる。また、監視手段3において第1のデータを転送する際の処理状態と、第1のデータを記憶装置に書き込む際の処理状態を監視し、監視結果に基づいて、判断手段4が第1の書き込み手段と第2の書き込み手段のいずれが適するかを判断している。本実施形態の制御回路では、第1の書き込み手段を選択して第1のデータを記憶装置に書き込んでいる際に、判断手段4が第2の書き込み手段の方が適していると判断すると、第1の書き込み手段から第2の書き込み手段への移行が行われる。このように、第1のデータを転送する際の処理状態と、第1のデータを記憶装置に書き込む際の処理状態の監視結果を基に、書き込み手段を判断することで、書き込み処理の負荷が増大した場合などに、より適切な制御方法に移行することができる。そのため、書き込み処理の負荷が増大した場合などにも、性能低下を抑制して記憶装置への書き込み処理を高速に行うことが可能になり得る。その結果、本実施形態の制御回路を用いることで、ディスクアレイ装置において書き込み要求の増大によって負荷量が増加したような場合においても、処理速度の低下を抑制し性能を維持することができる。
(第2の実施形態)
本発明の第2の実施形態について図を参照して詳細に説明する。図2は、本実施形態の情報システムの構成の概要を示したものである。本実施形態の情報システムは、情報処理装置10と、ディスクアレイ装置20を備えている。本実施形態の情報システムは、ホストである情報処理装置10が、ディスクアレイ装置20へのデータの書き込みおよびディスクアレイ装置20からのデータの読み出しを行うシステムである。ディスクアレイ装置20は、RAID(Redundant Arrays of Inexpensive Disks)によって構成されている。ディスクアレイ装置20は、RAID以外の構成であってもよい。また、ホストである情報処理装置10は、通信ネットワークを介して他の情報処理装置と接続されていてもよい。
情報処理装置10の構成について説明する。図3は、本実施形態の情報処理装置10の構成の概要を示したものである。情報処理装置10は、ディスクアレイ装置20へのデータの書き込みおよびディスクアレイ装置20からのデータの読み出しを行うホストコンピュータとしての機能を有する。情報処理装置10は、情報処理部11と、パス制御部12と、制御切り替え監視部13を備えている。
情報処理部11は、アプリケーションプログラムの実行等の処理を行いディスクアレイ装置20へのデータの書き込みおよびディスクアレイ装置20からのデータの読み出しを行う。情報処理部11は、自装置の処理に必要なデータおよび他装置からの要求のあったデータについてディスクアレイ装置20への書き込みおよびディスクアレイ装置20からの読み出しを行うI/O(Input / output)処理を実施する。情報処理部11は、I/O処理を行う際にパス制御部12を介してディスクアレイ装置20にアクセスを行う。
パス制御部12は、ディスクアレイ装置20にアクセスする際に用いるディスクアレイ装置のコントローラ部へのパスを制御する機能を有する。パス制御部12は、制御切り替え監視部13の監視結果に基づいて、複数のコントローラ部からディスクアレイ装置20へのアクセスする際に用いるコントローラ部を選択する。複数パスを介してディスクアレイ装置20の各論理ディスクに並列にアクセスする方が有利な場合には、パス制御部12は、並列処理を行うためのコントローラ部を複数、選択する。また、二重化処理によってディスクアレイ装置20の各論理ディスクにアクセスする方が有利な場合は、パス制御部12は、論理ディスクにアクセスするコントローラ部と、キャッシュデータを二重化するコントローラ部をそれぞれ選択する。
本実施形態において並列処理とは、ディスクアレイ装置20が有する複数のコントローラ部それぞれが、ディスクアレイ装置20の記憶装置に形成されている論理ディスクへのI/O処理を並列に行うことをいう。また、二重化処理とは、ディスクアレイ装置20のコントローラ部が書き込みを行うデータを他のコントローラ部に転送し、冗長化された状態で論理ディスクへの書き込みを行った後に、キャッシュデータを削除して冗長化を解除することをいう。二重化処理を行っているときには、論理ディスクへのI/O処理は、他のコントローラが転送されたデータを保持することで、データが冗長化された状態で行われる。パス制御部12は、データの書き込みに用いる情報処理部11からI/O処理の要求を受けたときに、データの書き込みに用いるコントローラ部を選択してI/O処理の要求を送信する。
制御切り替え監視部13は、ディスクアレイ装置20のコントローラ部から制御切り替え信号S11が入力されているかを監視する機能を有する。ディスクアレイ装置20に並列処理で書き込みを行うことを示す制御切り替え信号S11を検知すると、制御切り替え監視部13は、受け取った並列処理を示す情報をパス制御部12に送る。また、コントローラ部間の二重化処理で書き込みを行うことを示す制御切り替え信号S11を検知すると、制御切り替え監視部13は、二重化処理を示す情報をパス制御部12に送る。
ディスクアレイ装置20の構成について説明する。ディスクアレイ装置20は、図2に示すように第1のコントローラ部21と、第2のコントローラ部22と、記憶装置23を備えている。
第1のコントローラ部21および第2のコントローラ部22は、情報処理装置10からI/O処理の要求に基づいて記憶装置23の各論理ディスクへのデータの書き込みおよび各論理ディスクからのデータの読み出しを制御する機能を有する。図4は、本実施形態の第1のコントローラ部21および第2のコントローラ部22の構成の概要を、コントローラ部30として示したものである。コントローラ部30は、CPU(Central Processing Unit)31と、I/O(Input / Output)制御部32と、CPU利用率監視部33と、コントローラ間通信性能監視部34と、記憶装置性能監視部35と、制御切り替え管理部36を備えている。また、コントローラ部30は、キャッシュメモリ部37と、コントローラ間通信インタフェース部38をさらに備えている。
CPU31は、情報処理装置10からのデータのI/O処理の要求、すなわち、データの入出力要求に応じてディスクアレイ装置20へのデータの書き込みおよびディスクアレイ装置20からのデータの読み出しを制御する機能を有する。CPU31は、I/O制御部32を制御して、情報処理装置10からのデータの入出力要求に応じてディスクアレイ装置20へのデータの書き込みおよびディスクアレイ装置20からのデータの読み出しを行う。また、CPU31は、I/O制御部32を制御して、他のコントローラ部との間でデータの二重化の処理を行う。
I/O制御部32は、CPU31の制御に基づいてディスクアレイ装置20へのデータの書き込みおよびディスクアレイ装置20からのデータの読み出しを行う機能を有する。I/O制御部32は、情報処理装置10から書き込み要求を受けたデータをディスクアレイ装置20に書き込みを行う。また、I/O制御部32は、情報処理装置10から読み出し要求を受けた領域のデータをディスクアレイ装置20から読み出し、情報処理装置10に送る。
I/O制御部32は、二重化処理によって記憶装置23にデータを書き込む際にキャッシュメモリ部37のデータを他のコントローラ部に転送した後に、記憶装置23にデータの書き込みを行わずに情報処理装置10に書き込みの完了を示す応答信号を送信する。I/O制御部32は、キャッシュメモリ部37に所定の量のデータが保存されると、キャッシュメモリ部37に保存されていたデータを記憶装置23に書き込む。I/O制御部32は、キャッシュメモリ部37のデータの記憶装置23への書き込みが完了すると、キャッシュメモリ部37のデータを削除する。また、I/O制御部32は、キャッシュメモリ部37のデータの記憶装置23への書き込みが完了すると、他のコントローラ部にキャッシュメモリ部37のデータの削除を通知する。
I/O制御部32は、二重化処理のためのデータを他のコントローラ部から受け取ると、受け取ったデータをキャッシュメモリ部37に保存する。また、I/O制御部32は、他のコントローラ部からキャッシュメモリ部37のデータの削除の通知を受け取るとキャッシュメモリ部37のデータを削除する。
I/O制御部32は、並列処理によって記憶装置23へのデータの書き込みを行う際にキャッシュメモリ部37のデータを他のコントローラ部に転送せずに、記憶装置23へのデータの書き込みを行う。
CPU利用率監視部33は、CPU31の利用率を監視する機能を有する。CPU利用率監視部33は、CPU31の利用率を計測し、計測した結果を制御切り替え管理部36に出力する。また、CPU利用率監視部33は、CPU31の利用率のうち二重化処理に関する処理に相当する利用率を計測し、計測した結果を制御切り替え管理部36に出力する。CPU31の利用率とは、CPU31の演算処理能力のうち実際の処理に利用している割合のことをいう。
コントローラ間通信性能監視部34は、他のコントローラ部との間の二重化処理の応答時間およびデータ転送性能を計測する機能を有する。コントローラ間通信性能監視部34は、他のコントローラ部との間で通信を行う際の応答時間、データ転送量、データ転送速度および平均のデータ長を計測する。コントローラ間通信性能監視部34は、計測した応答時間、データ転送量、データ転送速度および平均のデータ長の情報を制御切り替え管理部36に出力する。
記憶装置性能監視部35は、記憶装置23へのデータ書き込みの処理の応答時間およびデータ転送性能を計測する機能を有する。記憶装置性能監視部35は、記憶装置性能監視部35は、記憶装置23へのデータ書き込みの処理の応答時間、データ転送速度および平均のデータ長を計測する。記憶装置性能監視部35は、計測した記憶装置23へのデータ書き込みの処理の応答時間、データ転送速度および平均のデータ長の情報を制御切り替え管理部36に出力する。また、本実施形態のコントローラ間通信性能監視部34および記憶装置性能監視部35の機能は、第1の実施形態の監視手段3の機能に相当する。
制御切り替え管理部36は、並列処理と二重化処理のいずれが有利かを判断する機能を有する。また、制御切り替え管理部36は、並列処理と二重化処理のいずれを選択するのかを示す情報を情報処理装置10の制御切り替え監視部13に通知する機能を有する。
制御切り替え管理部36は、通常の動作を行っているときに処理の切り替えによって応答性能が向上できるかを監視する。制御切り替え管理部36は、二重化処理を行っているとき、コントローラ部間で二重化処理のために行われるデータ転送量と、記憶装置23の論理ディスクの数と論理ディスクへの転送速度から並列処理によって性能が向上するかを判断する。データ長が長い場合には、論理ディスクへの転送効率が低下するため、性能が向上するかの判断は、平均データ長の長さごとに設定された基準によって行われてもよい。並列処理によって処理性能が向上するとき、制御切り替え管理部36は、CPU31の利用率および二重化処理に係るCPU31の利用率を基に、並列処理への切り替えの要否を判断する。
制御切り替え管理部36は、例えば、CPU31の利用率が所定の基準よりも高く、かつ、二重化処理に係る利用率が所定の基準よりも高いとき、並列処理への切り替えが必要と判断する。CPU31の利用率および二重化処理に係る利用率がともに高いときは、二重化処理に要する時間が長くなる恐れがあり、並列処理に切り替えた方が応答完了までに要する時間を抑制することができるからである。制御切り替え管理部36は、CPU31の利用率が所定の基準よりも低いときおよび二重化処理に係る利用率が所定の基準よりも低いとき、並列処理への切り替えは不要と判断する。
制御切り替え管理部36は、二重化処理に係る利用率の変化量を基に、並列処理への切り替えの要否を判断してもよい。例えば、制御切り替え管理部36は、CPU31の利用率が所定の基準以上のときに、二重化処理に係る利用率の上昇率が所定の基準を超えたときに並列処理への切り替えが必要と判断するようにしてもよい。CPU31の利用率が高く、二重化処理に係る利用率が上昇している場合には、二重化処理のために必要なCPU31の処理能力を十分に割り当てられていないため、データの転送処理に遅延が生じる恐れがあるからである。CPU31の利用率が高く、二重化処理に係る利用率が上昇している場合には、並列処理に移行することで、記憶装置23へのデータ書き込み処理の速度が向上することが期待される。
制御切り替え管理部36は、並列処理を行っているとき二重化処理の方が、性能が向上すると判断すると、CPU31の利用率を基に、二重化処理への切り替えの要否を判断する。制御切り替え管理部36は、例えば、CPU31の利用率が所定の基準よりも低いとき、二重化処理への切り替えが必要と判断する。
制御切り替え管理部36は、二重化処理の動作を行っているとき、並列処理が有利である判断すると、並列処理が有利であることを示す情報を制御切り替え信号S11として情報処理装置10に送る。また、制御切り替え管理部36は、二重化処理の動作を行っているとき、並列処理が有利である判断すると、並列処理が有利であることを示す情報を処理方法切替信号S31としてI/O制御部32に送る。
制御切り替え管理部36は、並列処理の動作を行っているとき、二重化処理が有利である判断すると、二重化処理が有利であることを示す情報を制御切り替え信号S11として情報処理装置10に送る。また、制御切り替え管理部36は、並列処理の動作を行っているとき、二重化処理が有利である判断すると、二重化処理が有利であることを示す情報を処理方法切替信号S31としてI/O制御部32に送る。また、本実施形態の制御切り替え管理部36の機能は、第1の実施形態の判断手段4に相当する。
キャッシュメモリ部37は、記憶装置23に書き込むデータを保持する機能を有する。キャッシュメモリ部37は、記憶装置23に書き込むデータをI/O制御部32から受け取ると、受け取ったデータを保存する。キャッシュメモリ部37は、I/O制御部32からデータを削除する要求を受け取ると、保存しているデータを削除する。また、キャッシュメモリ部37は、記憶装置23に書き込むデータを他のコントローラ部からI/O制御部32を介して受け取ると、受け取ったデータを保存する。キャッシュメモリ部37は、データを受け取った他のコントローラ部からデータを削除する要求を受け取ると、保存しているデータを削除する。
コントローラ間通信インタフェース部38は、他のコントローラ部との間でデータの送受信を行う機能を有する。コントローラ間通信インタフェース部38は、I/O制御部32から二重化処理のためのデータを受け取ると、受け取ったデータを二重化のためのデータを保持する他のコントローラ部に送る。コントローラ間通信インタフェース部38は、二重化処理のためにキャッシュとして保持しているデータを削除する情報を受け取ると、受け取った情報を二重化のためのデータを保持している他のコントローラ部に送る。
コントローラ間通信インタフェース部38は、他のコントローラ部から二重化処理のためのデータを受け取ると、受け取ったデータをI/O制御部32送る。コントローラ間通信インタフェース部38は、他のコントローラ部から二重化処理のためにキャッシュとして保持しているデータを削除する情報を受け取ると、受け取った情報をI/O制御部32に送る。
本実施形態の第1のコントローラ部21のCPU31、I/O制御部32およびキャッシュメモリ部37の機能は、第1の実施形態の第1の制御手段1に相当する。また、本実施形態の第2のコントローラ部22のCPU31、I/O制御部32およびキャッシュメモリ部37の機能は、第1の実施形態の第2の制御手段2に相当する。また、本実施形態のディスクアレイ装置20は、第1のコントローラ部21および第2のコントローラ部22の2つのコントローラ部によって、記憶装置23へのI/O処理を制御しているが、コントローラ部の数は3つ以上であってもよい。
記憶装置23は、第1のコントローラ部21および第2のコントローラ部22の制御に基づいてデータの保存および出力を行う機能を有する。本実施形態の記憶装置23は、半導体記憶装置によって構成されるSSD(Solid State Drive)が用いられている。記憶装置23は、複数のSSDのユニットで構成されていてもよい。SSDを構成する半導体記憶装置としては、例えば、フラッシュメモリを用いることができる。SSDを構成する半導体記憶装置は、フラッシュメモリ以外の不揮発性の半導体記憶装置であってもよい。本実施形態の記憶装置23は、全記憶領域を複数に分割して形成される論理ドライブごとにデータの書き込みおよび出力を行うことができる。
本実施形態の情報システムの動作について説明する。始めに、情報処理装置10がディスクアレイ装置20の記憶装置23に、第1のコントローラ部21を介して二重化処理によってデータを書き込む際の動作について説明する。図5は、本実施形態の情報システムにおいて二重化処理によって記憶装置23へのデータの書き込みが行われる際のデータの流れを模式的に示したものである。図5は、第1のコントローラ部21が、記憶装置23のうちSSDと記載された4つの論理ドライブに二重化処理によってデータの書き込みを行う例について示している。
ディスクアレイ装置20への保存が必要なデータが生じると、情報処理装置10は、データの書き込み要求と、書き込みを行うデータをディスクアレイ装置20の第1のコントローラ部21に送る。第1のコントローラ部21に送られたデータの書き込み要求と書き込みを行うデータは、第1のコントローラ部21のI/O制御部32に入力される。I/O制御部32に入力されたデータは、キャッシュメモリ部37に保存される。情報処理装置10から第1のコントローラ部21にデータが送られキャッシュメモリ部37に保存される際のデータの流れは、図5の(A1)に相当する。
I/O制御部32に書き込みを行うデータが入力されるとCPU31は、I/O制御部32を制御して、第2のコントローラ部22との間でデータの二重化を行う。データの二重化を行うため、I/O制御部32は、受け取ったデータを第2のコントローラ部22にコントローラ間通信インタフェース部38を介して送る。二重化のためのデータを受け取った第2のコントローラ部22は、受け取ったデータをキャッシュデータとしてキャッシュメモリ部37に保存する。第1のコントローラ部21から第2のコントローラ部22に二重化を行うためのデータが送られ、第2のコントローラ部22に保存される際のデータの流れは、図5の(A2)に相当する。
二重化のためのデータをキャッシュデータとして第2のコントローラ部22に送ると、I/O制御部32は、情報処理装置10に書き込みの完了の応答を送信する。I/O制御部32は、情報処理装置10に書き込みの完了の応答を送信する際のデータの流れは、図5の(A3)に相当する。また、図5の(A1)、(A2)および(A3)のデータの流れに係る処理は、二重化が完了した段階で情報処理装置10に書き込みの完了を通知する処理であり、Fast Write動作とも呼ばれ、書き込み時の応答性能を向上させる。
書き込みの完了の応答を送信すると、CPU31は、I/O制御部32を制御して、キャッシュメモリ部37に保存されているデータの記憶装置23への書き込みを行う。I/O制御部32は、CPU31の制御に基づいてキャッシュメモリ部37に保存していたデータを、記憶装置23に書き込み、データの保存を行う。キャッシュメモリ部37に保存していたデータを、記憶装置23に書き込む際のデータの流れは、図5の(A4)に相当する。
キャッシュメモリ部37に保存していたデータが記憶装置23に書き込まれると、CPU31は、I/O制御部32を制御してキャッシュデータとして保存していたデータを消去する情報を、二重化のためのデータを送った第2のコントローラ部22に送る。I/O制御部32は、キャッシュデータとして保存していたデータを消去する情報を、コントローラ間通信インタフェース部38を介して、第2のコントローラ部22に送る。
第2のコントローラ部22は、第1のコントローラ部21からャッシュデータとして保存していたデータを消去する情報を受け取ると、キャッシュメモリ部37に保存していたデータを消去する。また、キャッシュデータとして保存していたデータを消去する情報を第2のコントローラ部22に送ると、I/O制御部32は、キャッシュメモリ部37に保存していたデータを消去する。第1のコントローラ部21および第2のコントローラ部22に保存されていたキャッシュデータを消去する際のデータの流れは、図5の(A5)に相当する。
図5の(4)および(5)に係る処理は、Write Back動作とも呼ばれる。また、第1のコントローラ部21および第2のコントローラ部22に保存されていたキャッシュデータは、次のデータが保存されるまで消去されずに維持され、次のキャッシュデータが保存されるときに上書きされる構成としてもよい。
次に、本実施形態の情報システムにおいて並列処理によって記憶装置23へのデータの書き込みが行われる場合の動作について説明する。図6は、本実施形態の情報システムにおいて並列処理によって記憶装置23へのデータの書き込みが行われる際のデータの流れを模式的に示したものである。図6は、第1のコントローラ部21および第2のコントローラ部22が、記憶装置23のうちSSDと記載された4つの論理ドライブに並列処理によってデータの書き込みを行う例について示している。
ディスクアレイ装置20への保存が必要なデータが生じると、情報処理装置10は、データの書き込み要求と、書き込みを行うデータをディスクアレイ装置20の第1のコントローラ部21および第2のコントローラ部22にそれぞれ送る。第1のコントローラ部21および第2のコントローラ部22に送られたデータの書き込み要求と書き込みを行うデータは、それぞれのI/O制御部32に入力される。I/O制御部32に入力されたデータは、それぞれキャッシュメモリ部37に保存される。情報処理装置10から第1のコントローラ部21および第2のコントローラ部22に送られたデータがそれぞれキャッシュメモリ部37に保存される際のデータの流れは、図6の(B1)に相当する。
I/O制御部32に書き込みを行うデータが入力されキャッシュメモリ部37に保存されると、CPU31は、I/O制御部32を制御してキャッシュメモリ部37に保存していたデータを記憶装置23に書き込む。I/O制御部32は、CPU31の制御に基づいてキャッシュメモリ部37に保存していたデータを、記憶装置23に書き込み、データの保存を行う。キャッシュメモリ部37に保存していたデータを、記憶装置23に書き込む際のデータの流れは、図6の(B2)に相当する。
記憶装置23へのデータの書き込みを行うと、第1のコントローラ部21および第2のコントローラ部22のI/O制御部32は、情報処理装置10に書き込みの完了の応答をそれぞれ送信する。第1のコントローラ部21および第2のコントローラ部22のI/O制御部32が情報処理装置10に書き込みの完了の応答をそれぞれ送信する際のデータの流れは、図6の(B3)に相当する。また、第1のコントローラ部21および第2のコントローラ部22のI/O制御部32は、キャッシュメモリ部37に保存していたデータを消去する。キャッシュメモリ部37に保存していたデータを消去する際のデータの流れは図6の(B4)に相当する。第1のコントローラ部21および第2のコントローラ部22に保存されていたキャッシュデータは、次のデータが保存されるまで消去されずに維持され、次のキャッシュデータが保存されるときに上書きされる構成としてもよい。
本実施形態の情報システムにおいて、記憶装置23からのデータの読み出しは、二重化処理または並列処理のうち、書き込みに用いられている処理方式によって行われる。第1のコントローラ部21および第2のコントローラ部22は、情報処理装置10からの要求に基づいて、記憶装置23に保存されているデータを情報処理装置10に送る。
次に、本実施形態の情報システムが二重化処理による記憶装置23へのデータの書き込みから、並列処理によるデータの書き込みへと移行する際の動作について説明する。図7は、本実施形態の情報システムにおいて二重化処理から並列処理へと動作状態を移行する際の動作フローの概要を示したものである。
二重化処理による動作を行っている際に、制御切り替え管理部36は、CPU利用率監視部33、コントローラ間通信性能監視部34および記憶装置性能監視部35からそれぞれ送られてくるデータを監視する。制御切り替え管理部36は、二重化処理を行っている際に、各部位から送られてくるデータを監視することでCPU31の稼働状態、二重化用データの転送状態および記憶装置へのデータの書き込み状態をそれぞれ監視する(ステップ101)。
CPU利用率監視部33は、CPU31の処理状態を監視し、CPU31の利用率および二重化処理に関するCPU31の利用率を計測し、計測した結果を制御切り替え管理部36に出力する。
コントローラ間通信性能監視部34は、第2のコントローラ部22との間の二重化処理の応答時間、データ転送量、データ転送速度および平均のデータ長を計測する。コントローラ間通信性能監視部34は、応答時間、データ転送量、データ転送速度および平均のデータ長の情報を制御切り替え管理部36に出力する。
記憶装置性能監視部35は、記憶装置23へのデータ書き込みの処理の応答時間、データ転送速度および平均データ長を計測する。記憶装置性能監視部35は、計測した記憶装置23へのデータ書き込みの処理の応答時間、データ転送速度および平均のデータ長の情報を制御切り替え管理部36に出力する。
第1のコントローラ部21の制御切り替え管理部36は、CPU利用率監視部33、コントローラ間通信性能監視部34および記憶装置性能監視部35から送られてくる計測結果を基に、処理方式の切り替えによる性能向上の有無の判断を行う。制御切り替え管理部36は、各計測結果を基に、処理方式の切り替えによって書き込み速度が向上し性能の向上が期待できるかを判断する(ステップ102)。
制御切り替え管理部36は、コントローラ部間で二重化処理のために行われるデータ転送に要する時間を推測する。制御切り替え管理部36は、データ転送速度等を基に所定のデータ量を記憶装置23に書き込む際に二重化処理に要する時間を推測する。また、制御切り替え管理部36は、二重化処理を行わずに所定のデータ量を記憶装置23に書き込む際に要する時間を、記憶装置23へのデータ転送速度等を基に推測する。制御切り替え管理部36は、二重化処理に要する時間と、二重化処理を行わずに書き込む際に要する時間を比較する。
二重化処理に要する時間の方が短いとき、制御切り替え管理部36は、二重化処理の方が処理方法として適していると判断する。並列処理への移行では性能の向上が期待できず二重化処理の方が適していると判断すると(ステップ103でNo)、制御切り替え管理部36は、切り替えの判断を行わずにステップ101に戻り、各データの監視を継続する。
記憶装置23にデータを書き込む処理に要する時間の方が短いとき、制御切り替え管理部36は、並列処理の方が処理方法として適していると判断する。並列処理によって性能の向上が期待できると判断すると(ステップ103でYes)、制御切り替え管理部36は、並列処理への切り替えの要否を判断する。
第1のコントローラ部21の制御切り替え管理部36は、CPU31の利用率と二重化処理に係るCPU31の利用率を基に、並列処理への移行の要否を判断する(ステップ104)。第1のコントローラ部21の制御切り替え管理部36は、CPU31の利用率が所定の基準よりも高く、かつ、二重化処理に係る利用率が所定の基準よりも高いとき、並列処理への移行が必要と判断する。CPU31の利用率が高く、かつ、二重化処理に係る利用率が高い場合には、二重化処理に十分な処理能力が割り当てることが出来ないため、二重化処理のままでは処理効率の向上が期待できないと判断できるからである。CPU31の利用率を判断する所定の基準と、二重化処理に係る利用率を判断する所定の基準は、それぞれの基準としてあらかじめ設定されている。
並列処理への移行が必要と判断すると(ステップ105でYes)、制御切り替え管理部36は、並列処理への切り替えを示す情報を処理方法切替信号S31としてI/O制御部32に送る。また、並列処理への切り替えが必要と判断すると、制御切り替え管理部36は、並列処理への切り替えを示す情報を制御切り替え信号S11としてホストである情報処理装置10の制御切り替え監視部13に送る(ステップ106)。
I/O制御部32が並列処理への切り替えを示す処理方法切替信号S31を受け取ると、CPU31およびI/O制御部32は、二重化処理を停止し、情報処理装置10から受け取ったデータを記憶装置23に書き込む(ステップ107)。I/O制御部32は、情報処理装置10から受け取ったデータを記憶装置23に書き込むと書き込みが完了したことを示す応答を情報処理装置10に送る(ステップ108)。
並列処理への切り替えを示す制御切り替え信号S11を受け取ると、情報処理装置10の制御切り替え監視部13は、並列処理への切り替えを示す情報をパス制御部12に送る。並列処理への切り替えを示す情報を受け取ると、情報処理部11からデータの書き込み要求を受けた際に、パス制御部12は、第1のコントローラ部21および第2のコントローラ部22を並列に使用するように書き込みを行うパスの選択を行う。2つのコントローラ部が並列に使用されるように選択されることで並列処理による書き込み処理が開始され二重化処理から並列処理への移行が完了する(ステップ109)。
CPU31の利用率が所定の基準よりも低いとき、および、二重化処理に係る利用率が所定の基準よりも低いとき、制御切り替え管理部36は、並列処理への切り替えが不要と判断する。並列処理への切り替えが不要と判断すると(ステップ105でNo)、制御切り替え管理部36は、ステップ101に戻って各部位から送られてくるデータの監視を継続する。
次に本実施形態の情報システムにおいて記憶装置23へのデータの書き込みを並列処理から二重化処理へ移行する際の動作について説明する。図8は、本実施形態の情報システムにおいて記憶装置23へのデータの書き込みを並列処理から二重化処理へ移行する際の動作フローの概要を示したものである。
制御切り替え管理部36は、並列処理によって書き込みを行っているとき、CPU31の稼働状態および記憶装置23へのデータの書き込み状態を監視する(ステップ111)。制御切り替え管理部36は、二重化処理時と同様にCPU利用率監視部33および記憶装置性能監視部35から入力される各データを監視する。
制御切り替え管理部36は、並列処理から二重化処理に移行することで性能の向上が期待できるかを判断する(ステップ112)。二重化処理に移行することで性能の向上が期待できるかを判断するため、制御切り替え管理部36は、二重化処理に要する時間と、二重化処理を行わずにデータを記憶装置23に書き込む際に要する時間を比較する。二重化処理に要する時間は、あらかじめ設定された値または二重化処理時に計測された平均速度を基にした値が用いられる。
二重化処理に要する時間の方が長いとき、制御切り替え管理部36は、並列処理の方が処理方法として適していると判断する。二重化処理への移行では性能の向上が期待できず並列処理の方が適していると判断すると(ステップ113でNo)、制御切り替え管理部36は、切り替えの判断を行わずにステップ111に戻り、各データの監視を継続する。
二重化処理に要する時間の方が短いとき、制御切り替え管理部36は、二重化処理の方が処理方法として適していると判断する。二重化処理の方が適し性能の向上が期待できると判断すると(ステップ113でYes)、制御切り替え管理部36は、CPU31の利用率から二重化処理への切り替えが必要かを判断する(ステップ114)。CPU31の利用率が所定の基準よりも低いとき、制御切り替え管理部36は、二重化処理への移行が必要と判断する。CPU31の利用率を判断する際の所定の基準は、あらかじめ設定されている。
二重化処理への移行が必要と判断すると(ステップ115でYes)、制御切り替え管理部36は、二重化処理への切り替えを示す情報を処理方法切替信号S31としてI/O制御部32に送る。また、二重化処理への切り替えが必要と判断すると、制御切り替え管理部36は、二重化処理への切り替えを示す情報を制御切り替え信号S11としてホストである情報処理装置10の制御切り替え監視部13に送る(ステップ116)。
I/O制御部32が二重化処理への切り替えを示す処理方法切替信号S31を受け取ると、CPU31およびI/O制御部32は、情報処理装置10から受け取っているデータを、二重化処理を行わずに記憶装置23に書き込む(ステップ117)。I/O制御部32は、情報処理装置10から受け取ったデータを記憶装置23に書き込むと、書き込みが完了したことを示す応答を情報処理装置10に送る(ステップ118)。
二重化処理への切り替えを示す制御切り替え信号S11を受け取ると、情報処理装置10の制御切り替え監視部13は、二重化処理への切り替えを示す情報をパス制御部12に送る。二重化処理への切り替えを示す情報を受け取ると、情報処理部11からデータの書き込み要求を受けた際に、パス制御部12は、第1のコントローラ部21を使用して書き込みを行うようにパスの選択を行う。二重化処理への切り替えを示す情報を受け取ると、情報処理装置10から出力される書き込み要求には、二重化処理によって書き込みを行うことを示す情報が付加される。
パス制御部12が、第1のコントローラ部21を使用して二重化処理によって書き込みを行うようにパスの選択を行うと、二重化処理による書き込み処理が開始される(ステップ119)。第1のコントローラ部21は、二重化処理によって書き込みを行うことを示す書き込み要求を受け取ると、第2のコントローラ部22との間でデータの二重化を行って、データの書き込みを行う。
CPU31の利用率が所定の基準よりも高いとき、制御切り替え管理部36は、二重化処理への切り替えが不要と判断する。二重化処理への切り替えが不要と判断すると(ステップ115でNo)、制御切り替え管理部36は、ステップ111に戻って各部位から送られてくるデータの監視を継続する。
図9は、二重化処理によって書き込み処理を行っている際に、二重化のためのデータの転送処理がデータの書き込み処理に対して余裕がある場合の例について示している。図9の最上段のグラフは、コントローラ間のデータ転送に要する時間と転送速度を示している。図9の最上段の左側の縦軸は、データ転送に要する時間を示している。また、図9の最上段の右側の縦軸は、コントローラ間のデータ転送速度を示している。図9の横軸は、いずれのグラフでも時間を示している。また、図9の上から2段目のグラフは、第1のコントローラ部21から記憶装置23のSSDにデータを書き込む際に要する時間と、SSDへのデータ書き込み速度を示したものである。図9の上から2段目の左側の縦軸は、SSDへのデータ書き込みに要する時間を示している。また、図9の最上段の右側の縦軸は、SSDへのデータ書き込み速度を示している。
図9の上から3段目のグラフはSSDの稼働率を示している。図9の上から3段目の例では稼働率が10%以下であり、SSDへの書き込み処理には余裕があることがわかる。また、図9の最下段のグラフはCPU31の利用率を示したグラフである。図9の最下段の例では、CPU31の利用率と二重化処理に係る利用率がともに5%前後となっており二重化処理にも余裕があることを示している。よって、図9に示す状態では、ディスクアレイ装置20は、十分な性能を維持している。
図10は、情報処理装置10からのI/O処理の要求が図9の状態から増大し、負荷が増大している場合の例について示したものである。図10の最上段のコントローラ間の転送速度は上昇しているが、転送に要する時間も長くなっている。図10の例では、上から3段目のグラフにおけるSSDの稼働率が20%と余裕があるにも関わらず、SSDの書き込み速度は向上していない。図10の上から4段目に示すようにCPUの利用率が90%に達しているのに対し、二重化処理に係る利用率が上昇せずに、二重化のためのデータの転送処理が滞っているからである。図10の例では、二重化のための転送処理が遅いため、SSDへデータを書き込む動作に入ることができずにSSDの稼働率が低い状態が続いている。
図11は、図10の状態から並列処理への移行が行われた場合における各部位の状態を示したグラフである。図11の上から2段目のSSDへの書き込みに要する時間は処理の切り替え後に短くなっている。また、図11の上から3段目に示すSSDの利用率も処理の切り替えによって50%にまで上昇している。図11の例では、二重化処理から並列処理への切り替えによって、SSDへの書き込み速度および利用率が改善され性能が向上していることがわかる。図11のような状態では、情報処理装置10に対する応答時間と、SSDへの書き込みに要する時間が近い値になり、記憶装置23へのデータの書き込みが高速に行えることが期待できる。
本実施形態の情報システムは、二重化処理を行っている際に、コントローラ間通信性能監視部34および記憶装置性能監視部35によって二重化のためのデータ転送の状態および記憶装置23へのデータの書き込み動作の状態を監視している。本実施形態の情報システムは、コントローラ間通信性能監視部34および記憶装置性能監視部35の監視結果に基づいて、二重化処理から並列処理に移行した際に、記憶装置23への書き込み性能が向上するかを判断している。また、記憶装置23への書き込み性能が向上するかを判断したときに、本実施形態の情報システムは、CPU31の利用率および二重化処理に係る利用率を基に、実際に並列処理を移行するかを判断している。本実施形態の情報システムはこのように、二重化処理から並列処理への移行によって性能が向上すると期待されるときに、CPU31の利用率と、二重化処理に係る利用率を基に移行の要否を判断し、並列処理への移行を行っている。そのため、本実施形態の情報システムは、負荷状態に応じて、より適切な処理方法で記憶装置23へのデータの書き込みを行うことができる。
また、本実施形態の情報システムは、二重化処理に係るデータ転送およびCPU31の処理能力が十分で無かったときに、二重化処理を行わずに記憶装置23への書き込みを行っている。情報処理装置10から半導体記憶装置によって構成される記憶装置23に二重化処理を行わずにデータの書き込むことで、記憶装置23に高速に書き込み処理を行うことが可能になる。そのため、本実施形態の情報システムは、不揮発性の半導体記憶装置によって構成されるディスクアレイ装置において、書き込み要求の増大によって負荷量が増加したような場合においても、処理速度の低下を抑制し性能を維持することができる。
第2の実施形態では、コントローラ部が2つの場合の例について示したが、3つ以上の場合の例について説明する。図12は、第2の実施形態の情報システムにおいてディスクアレイ装置が3つ以上のコントローラ部を有する場合の構成の例を示したものである。図12では、コントローラ部は、CNTとして示されている。図12の例では情報処理装置とコントローラ部の間、および、コントローラ部と記憶装置の間にそれぞれSwitchとして示したスイッチ素子が備えられている。図12の例では、2つのスイッチ素子の切り替えによってパスの選択が制御される。
図13は、CNT0、CNT1およびCNT3の3つのコントローラ部を有するディスクアレイ装置において並列処理によって記憶装置にデータを書き込む際のデータの流れの例を示したものである。図13の例では、CNT0とCNT1の2つのコントローラ部で4つのSSDに対して書き込み処理を行い、CNT2のコントローラで2つのSSDに対して書き込み処理を行っている。図13の(C1)、(C2)、(C3)および(C4)は、図6に示した(B1)、(B2)、(B3)および(B4)にそれぞれ対応する。このようにコントローラ部やSSDを増設することによって、ディスクアレイ装置としての処理能力を向上することができる。また、このようにコントローラ部の増設やSSDの増設を行うことで、ディスクアレイ装置におけるI/O処理性能をスケールアウトすることが可能になる。
1 第1の制御手段
2 第2の制御手段
3 監視手段
4 判断手段
10 情報処理装置
11 情報処理部
12 パス制御部
13 制御切り替え監視部
20 ディスクアレイ装置
21 第1のコントローラ部
22 第2のコントローラ部
23 記憶装置
30 コントローラ部
31 CPU
32 I/O制御部
33 CPU利用率監視部
34 コントローラ間通信性能監視部
35 記憶装置性能監視部
36 制御切り替え管理部
37 キャッシュメモリ部
38 コントローラ間通信インタフェース部
S11 制御切り替え信号
S31 処理方法切替信号

Claims (10)

  1. 入力される第1のデータを保持し、前記第1のデータを二重化のためのキャッシュデータとして転送し、記憶装置に前記第1のデータを書き込む前に前記第1のデータの送信元に書き込みが完了したことを示す応答信号を出力し、前記第1のデータを前記記憶装置に書き込む第1の書き込み手段と、入力される前記第1のデータを二重化のためのキャッシュデータとして転送せずに前記記憶装置に書き込む第2の書き込み手段のいずれかを選択して、入力される前記第1のデータを前記記憶装置に書き込む第1の制御手段と、
    前記第1の制御手段から転送されてくる前記キャッシュデータを保持する手段と、入力される第2のデータの前記記憶装置への書き込みを制御する手段とを有する第2の制御手段と、
    前記第1の制御手段が前記第1のデータを前記キャッシュデータとして転送する際の処理状態と、前記第1の制御手段が前記第1のデータを前記記憶装置に書き込む際の処理状態とを監視する監視手段と、
    前記監視手段の監視結果に基づいて、新たに入力される前記第1のデータを前記記憶装置に書き込む際に、前記第1の書き込み手段と前記第2の書き込み手段のいずれが適しているかを判断する判断手段と、
    を備え、
    前記第1の制御手段は、前記第1の書き込み手段を選択しているときに、前記判断手段が前記第2の書き込み手段の方が適していると判断した場合に、前記第2の書き込み手段を選択して、新たに入力される前記第1のデータを前記記憶装置に書き込むことを特徴とする制御回路。
  2. 前記第1の制御手段は、前記第2の書き込み手段を選択している際に、前記判断手段が前記第1の書き込み手段の方が適していると判断した場合に、第1の書き込み手段を選択して、新たに入力される前記第1のデータを前記記憶装置に書き込むことを特徴とする請求項1に記載の制御回路。
  3. 前記判断手段が前記第2の書き込み手段の方が適していると判断した場合に、前記第1のデータの前記送信元に、前記第2の書き込み手段への切り替えを行っていること示す所定の情報を通知する制御方法通知手段をさらに備えることを特徴とする請求項1または2いずれかに記載の制御回路。
  4. 前記監視手段は、前記第1の制御手段が前記第1のデータを前記キャッシュデータとして転送する際の転送速度と、前記第1の制御手段が前記第1のデータを前記記憶装置に書き込む際の書き込み速度とを計測し、
    前記判断手段は、計測した前記転送速度および前記書き込み速度を基に、前記第1の書き込み手段と、前記第2の書き込み手段のいずれが適するかを判断することを特徴とする請求項1から3いずれかに記載の制御回路。
  5. 前記第1の制御手段の処理能力に対し、実際に稼働している割合を示す利用率と、前記利用率のうち前記キャッシュデータの前記第2の制御手段への転送処理に要する割合を示す転送利用率とを計測する利用率計測手段をさらに備え、
    前記判断手段は、前記監視手段の前記監視結果と、前記利用率計測手段が計測する前記利用率および前記転送利用率とを基に、前記第1の書き込み手段と、前記第2の書き込み手段のいずれが適するかを判断することを特徴とする請求項1から4いずれかに記載の制御回路。
  6. 前記第1の制御手段が、新たに入力される前記第1のデータを、前記第2の書き込み手段によって前記記憶装置に書き込む際に、
    前記第2の制御手段は、前記第1のデータとは異なる前記第2のデータを、前記第1の制御手段による前記第1のデータの書き込み処理と並列処理となるように前記記憶装置に書き込むことを特徴とする請求項1から5いずれかに記載の制御回路。
  7. 請求項1から6いずれかに記載の制御回路と、
    不揮発性の半導体記憶装置によって構成される記憶装置と、を備え、
    前記制御回路の前記第1の制御手段は入力される前記第1のデータを前記記憶装置に書き込むことを特徴とするディスクアレイ装置。
  8. 請求項7に記載のディスクアレイ装置と、
    前記ディスクアレイ装置の前記制御回路を介して前記記憶装置へのデータの書き込みを行う手段を有する情報処理装置と、を備え、
    前記情報処理装置は、前記制御回路が前記第2の書き込み手段を選択したことを検知したときに、前記第1の制御手段と前記第2の制御手段が前記記憶装置に並列に書き込みを行うように、前記制御回路に前記第1のデータと前記第2のデータを出力することを特徴とする情報処理システム。
  9. 入力される第1のデータを保持し、前記第1のデータを二重化のためのキャッシュデータとして転送し、記憶装置に前記第1のデータを書き込む前に前記第1のデータの送信元に書き込みが完了したことを示す応答信号を出力し、前記第1のデータを前記記憶装置に書き込む第1の書き込み方法によって、入力される前記第1のデータを前記記憶装置に書き込み、
    前記第1のデータを前記キャッシュデータとして転送する際の処理状態と、前記第1のデータを前記記憶装置に書き込む際の処理状態とを監視し、
    監視結果に基づいて、新たに入力される前記第1のデータを前記記憶装置に書き込む際に、前記第1の書き込み方法と、入力される前記第1のデータを二重化のための前記キャッシュデータとして転送せずに前記記憶装置に書き込む第2の書き込み方法のいずれが適しているかを判断し、
    前記第1の書き込み方法を選択しているときに、前記第2の書き込み方法の方が適していると判断した場合に、前記第2の書き込み方法を選択して、新たに入力される前記第1のデータを前記記憶装置に書き込むことを特徴とする制御方法。
  10. 前記第2の書き込み方法の方が適していると判断した場合に、前記第1のデータの前記送信元に、前記第2の書き込み方法への切り替えを行っていること示す所定の情報を通知し、
    前記所定の情報を受け取った前記送信元は、前記第2の書き込み方法によって前記第1のデータと第2のデータが2つのパスを介して並列に前記記憶装置に書き込まれるように前記第1のデータと第2のデータを出力すること特徴とする請求項9に記載の制御方法。
JP2016012377A 2016-01-26 2016-01-26 制御回路および制御方法 Active JP6365557B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016012377A JP6365557B2 (ja) 2016-01-26 2016-01-26 制御回路および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016012377A JP6365557B2 (ja) 2016-01-26 2016-01-26 制御回路および制御方法

Publications (2)

Publication Number Publication Date
JP2017134500A true JP2017134500A (ja) 2017-08-03
JP6365557B2 JP6365557B2 (ja) 2018-08-01

Family

ID=59502651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016012377A Active JP6365557B2 (ja) 2016-01-26 2016-01-26 制御回路および制御方法

Country Status (1)

Country Link
JP (1) JP6365557B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022191854A (ja) * 2021-06-16 2022-12-28 株式会社日立製作所 記憶システムおよびデータ処理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043026A (ja) * 1999-07-29 2001-02-16 Toshiba Corp 系間情報通信システム
JP2003256150A (ja) * 2002-03-01 2003-09-10 Hitachi Ltd 記憶制御装置および記憶制御装置の制御方法
JP2006092120A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd ストレージ装置及びストレージ装置のライトアクセス処理方法
JP2013025692A (ja) * 2011-07-25 2013-02-04 Fujitsu Ltd ストレージ装置及びその負荷状態低減方法
JP2014170476A (ja) * 2013-03-05 2014-09-18 Canon Inc データ処理装置およびその制御方法
US9298636B1 (en) * 2011-09-29 2016-03-29 Emc Corporation Managing data storage
US20170115894A1 (en) * 2015-10-26 2017-04-27 Netapp, Inc. Dynamic Caching Mode Based on Utilization of Mirroring Channels

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043026A (ja) * 1999-07-29 2001-02-16 Toshiba Corp 系間情報通信システム
JP2003256150A (ja) * 2002-03-01 2003-09-10 Hitachi Ltd 記憶制御装置および記憶制御装置の制御方法
JP2006092120A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd ストレージ装置及びストレージ装置のライトアクセス処理方法
JP2013025692A (ja) * 2011-07-25 2013-02-04 Fujitsu Ltd ストレージ装置及びその負荷状態低減方法
US9298636B1 (en) * 2011-09-29 2016-03-29 Emc Corporation Managing data storage
JP2014170476A (ja) * 2013-03-05 2014-09-18 Canon Inc データ処理装置およびその制御方法
US20170115894A1 (en) * 2015-10-26 2017-04-27 Netapp, Inc. Dynamic Caching Mode Based on Utilization of Mirroring Channels

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022191854A (ja) * 2021-06-16 2022-12-28 株式会社日立製作所 記憶システムおよびデータ処理方法

Also Published As

Publication number Publication date
JP6365557B2 (ja) 2018-08-01

Similar Documents

Publication Publication Date Title
US9344525B2 (en) Method and apparatus for data migration
US20160239412A1 (en) Storage apparatus and information processing system including storage apparatus
US9940201B2 (en) Disk array having mirror configuration and rebuilding method therefor
US20080005514A1 (en) Storage system and storage control device
CN105940386B (zh) 用于在存储器之间移动数据的方法、系统和介质
US20170075574A1 (en) Non-volatile memory device, and storage apparatus having non-volatile memory device
US8904119B2 (en) Method and structures for performing a migration of a logical volume with a serial attached SCSI expander
JP2017091456A (ja) 制御装置、制御プログラムおよび制御方法
JP4911198B2 (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御方法
JP5453872B2 (ja) ディスクアレイ装置、ディスク制御装置、ディスクアレイ装置における負荷分散方法
JP6365557B2 (ja) 制御回路および制御方法
US20150067285A1 (en) Storage control apparatus, control method, and computer-readable storage medium
US20140082308A1 (en) Storage control device and method for controlling storage devices
US9569329B2 (en) Cache control device, control method therefor, storage apparatus, and storage medium
JP6107761B2 (ja) ディスクアレイ装置およびディスクアレイ装置の制御方法
US20160070491A1 (en) Information processor, computer-readable recording medium in which input/output control program is recorded, and method for controlling input/output
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
JP4862841B2 (ja) ストレージ装置とシステムと方法並びにプログラム
US20120215966A1 (en) Disk array unit and control method thereof
JP5729043B2 (ja) ストレージ装置および制御装置
JP6036736B2 (ja) キャッシュ装置、ストレージ装置、キャッシュ制御方法、及びストレージ制御プログラム
JP6524945B2 (ja) 制御装置、記憶装置、記憶制御方法およびコンピュータプログラム
JP7288191B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP5761209B2 (ja) ストレージ制御装置、及び、そのプログラム
JP2022108987A (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180523

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6365557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150