JP4373450B2 - Raid制御装置及びその制御方法 - Google Patents

Raid制御装置及びその制御方法 Download PDF

Info

Publication number
JP4373450B2
JP4373450B2 JP2007027548A JP2007027548A JP4373450B2 JP 4373450 B2 JP4373450 B2 JP 4373450B2 JP 2007027548 A JP2007027548 A JP 2007027548A JP 2007027548 A JP2007027548 A JP 2007027548A JP 4373450 B2 JP4373450 B2 JP 4373450B2
Authority
JP
Japan
Prior art keywords
disk
logical unit
cache data
cache
charge
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.)
Expired - Fee Related
Application number
JP2007027548A
Other languages
English (en)
Other versions
JP2008192020A (ja
Inventor
秀憲 山田
明人 小林
克彦 長嶋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007027548A priority Critical patent/JP4373450B2/ja
Priority to US12/027,459 priority patent/US8364890B2/en
Publication of JP2008192020A publication Critical patent/JP2008192020A/ja
Application granted granted Critical
Publication of JP4373450B2 publication Critical patent/JP4373450B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、RAID制御装置とその制御方法に関する。
ディスクアレイシステムは、複数のディスク装置と1または複数のディスク制御装置から構成されている。複数のディスク制御装置を有するシステムでは、各ディスク制御装置がアクセスを担当するディスク装置が予め決められているシステムがある。
論理ユニット(LU)の容量を動的に拡張する機能としてLU連結機能がある。LU連結機能は単純にLU同士を連結するだけではなく、ストライプごとに別の物理ディスクへ割り当てるストライプ連結を行うこともできる。
図8は、従来のRAID装置41のストライプ連結時の動作説明図である。RAID装置41は、複数のディスク装置42,43と、それぞれのディスク装置42、43のアクセスを担当するコントローラモジュールCM0、CM1とからなる。コントローラモジュールCM0、CM1は、それぞれキャッシュメモリ44、45を有する。
コントローラモジュールCM0はRAIDグループ0のディスク装置42のアクセスを担当し、コントローラモジュールCM1は、RAIDグループ1のディスク装置43のアクセスを担当する。コントローラモジュールCM0のキャッシュメモリ44には、例えば、論理ユニット番号LUN0、LUN1、LUN2の論理ユニットのキャッシュデータが格納され、コントローラモジュールCM1のキャッシュメモリ45には、論理ユニット番号LUN3、LUN4、LUN5の論理ユニットのキャッシュデータが格納される。
LU連結が行われ、論理ユニット番号LUN0、LUN1、LUN3、LUN4の論理ユニットでストライプ連結ボリュームが構成された後、図示しないホストコンピュータからその連結ボリュームに対してI/O要求があった場合には、ストライプS1、S2、S3、S4、S5、S6、S7、S8の順でアクセスが行われる。このとき、各論理ユニットのキャッシュデータは担当するコントローラモジュールCM0またはCM1のキャッシュメモリ44または45に格納されているので、連結ボリュームへのI/O処理時には、それぞれのRAIDグループの担当コントローラモジュール同士で頻繁に通信を行う必要がある。この通信のオーバーヘッドによりストライプ連結ボリュームへのアクセス性能、特にキャッシュヒット時のアクセス性能が著しく低下してしまうという問題点があった。
特許文献1には、複数のホストまたは複数のポートを有するホストと接続する記憶サブシステムにおいて、正常動作時のオーバーヘッドの低下を防止し、かつ障害時の予備系への切り換え処理時間を短縮する技術について記載されている。
特許文献2には、コントローラがディスク装置に作成される論理ユニットの構成情報を管理する構成管理手段を有し、その構成管理手段が論理ユニットの構成情報を書き換えることで任意の論理ユニットを別のコントローラに引き継ぐことが記載されている。
特許文献3には、制御コントローラ間でLU制御を引き継ぐ際に、制御コントローラ内に保存されているキャッシュデータをイメージとしてディスク装置に書き戻すことで、データの書き戻し時間及びキャッシュメモリへの復元時間の短縮を図ることが記載されている。
特許文献1の発明は、データの移行中にホストコンピュータからのI/O要求やディスクアクセスといった、メモリアクセスを伴う処理をすべて中断する必要があるため、データ移行が行われている間はホストコンピュータからのディスク装置に対するアクセスを受け付けることができない問題点がある。
特許文献2の発明は、論理ユニットを引き継ぐ際に、引き継ぎ元のコントローラのキャッシュデータをディスク装置に書き戻し、Write Throughモードに設定した上でコントローラの切り換えを行う必要があり、データの書き戻しを行っている間はホストコンピュータのディスク装置に対するアクセスを受け付けることができないという問題点がある。
特許文献3の発明は、イメージデータを用いてディスク装置への書き戻し時間並びにキャッシュメモリへのリストア時間の短縮を図っているが、ディスク装置への書き戻し期間及びリストア期間は、ホストコンピュータからのディスク装置に対するアクセスを受け付けることができない点では同じである。
また、上記の特許文献1〜3には、ストライプ連結時のコントローラ間の通信を減らすことについての記載は無い。
特開平11−312058号公報 特開2003−162377号公報 特開2003−167678号公報
本発明の課題は、論理ユニットの連結時のディスク制御装置間の通信量を削減し、かつディスク装置に対する効率良い負荷管理を実現することである。
複数のディスク装置と複数のディスク制御装置とからなるRAID装置であって、論理ユニットのキャッシュデータを記憶するキャッシュメモリと、前記キャッシュメモリを有し前記論理ユニットへのアクセスを制御する制御手段とを備え、前記制御手段は、異なるディスク装置に存在する複数の前記論理ユニットの連結が行われたとき、移行元ディスク制御装置のキャッシュメモリに格納されているキャッシュデータのディスク装置への書き戻しを行わずに前記キャッシュデータの管理情報を移行先のディスク制御装置に通知する通知手段と、連結された前記複数の論理ユニットのアクセスを1つのディスク制御装置が担当するように担当の切り換えを行う担当切り換え手段と、担当する前記論理ユニットに対するアクセス要求があったとき、前記管理情報に基づいて前記論理ユニットのキャッシュデータが移行済みか否かを判定し、前記キャッシュデータが移行されていないときには、移行元ディスク制御装置から前記論理ユニットの前記キャッシュデータを取得するキャッシュデータ取得手段と、前記担当切り換え手段によって担当の切り換えが行われた結果、連結対象の前記論理ユニットが存在する前記ディスク装置のアクセスを担当する前記ディスク制御装置が複数存在するか否かを判定する判定手段と、前記ディスク制御装置が複数存在すると判定された場合に、アクセス要求に対する前記ディスク装置の応答時間を算出し、前記応答時間に基づいて前記ディスク装置の負荷管理を行い、前記ディスク装置のアクセスを担当する前記ディスク制御装置が1台と判定された場合には、前記ディスク装置に対するアクセス数に基づいて前記ディスク装置の負荷管理を行う負荷管理手段とを備える。
この発明によれば、異なるディスク装置に存在する論理ユニットの連結が行われた場合に、ディスク制御装置間の通信量を減らし、論理ユニットの連結を行ったディスク装置に対するアクセス要求が待たされるのを改善できる。
上記の発明のRAID制御装置において、前記制御手段は、担当する前記論理ユニットに対するアクセス要求があったときに、前記論理ユニットのキャッシュデータが移行済みか否かを判定し、前記キャッシュデータが移行されていないときには、移行元ディスク制御装置から前記論理ユニットのキャッシュデータを取得するキャッシュデータ取得手段を有する。
このように構成することで、論理ユニットの連結時にキャッシュデータをディスク装置に書き戻す必要が無くなるので、その間ホストからのディスク装置に対するアクセス要求を待たせることが無くなる。
上記の発明のRAID制御装置において、前記制御手段は、連結対象の前記論理ユニッ
トが存在する前記ディスク装置のアクセスを担当するディスク制御装置が複数存在するか否かを判定する判定手段と、前記ディスク制御装置が複数存在すると判定された場合に、書き込みまたは読み出し要求に対する前記ディスク装置の応答時間を算出し、前記応答時間に基づいて前記ディスク装置の負荷管理を行う負荷管理手段を有する。
このように構成することで、1つのディスク装置のアクセスを複数のディスク制御装置が担当する場合に、ディスク装置の負荷管理を適正に行うことができる。
上記の発明のRAID制御装置において、前記制御手段は、連結対象の前記論理ユニットが存在する前記ディスク装置のアクセスを担当する前記ディスク制御装置が複数存在するか否かを判定する判定手段と、前記ディスク制御装置が複数存在すると判定された場合に、書き込みまたは読み出し要求に対する前記ディスク装置の応答時間を算出し、前記応答時間に基づいて前記ディスク装置の負荷管理を行い、前記ディスク装置のアクセスを担当する前記ディスク制御装置が1台と判定された場合には、前記ディスク装置に対する書き込みまたは読み出しのアクセス数に基づいて前記ディスク装置の負荷管理を行う負荷管理手段を有する。
このように構成することで、1台のディスク装置のアクセスを複数のディスク制御装置が担当する場合、あるいは1台のディスク制御装置が担当する場合に、ディスク装置の負荷管理を適正に行うことができる。
上記の発明のRAID制御装置において、前記制御手段は、移行元ディスク制御装置から移行される論理ユニットに関する管理情報を取得する管理情報取得手段と、前記論理ユニットに対するアクセス要求が発生したとき、前記管理情報を参照してキャッシュヒットか、キャッシュミスかを判定する判定手段を有する。
このように構成することで、論理ユニットの連結時にキャッシュデータの移行を行わなくとも、移行した論理ユニットのキャッシュヒットの有無を判定できる。
上記の発明のRAID制御装置において、前記制御手段は、前記論理ユニットと、前記論理ユニットが存在する前記ディスク装置を示す情報と、前記論理ユニットのアクセスを担当する前記ディスク制御装置を示す情報とを対応付けた構成情報を取得する取得手段を有する。
このように構成することで、構成情報を参照して同じディスク装置のアクセスを担当する他のディスク制御装置が存在するか否かを判定することができる。
上記の発明のRAID制御装置において、前記複数のディスク制御装置の内のマスターディスク制御装置は、論理ユニットの連結が指示された場合に、連結対象の前記論理ユニットと、前記論理ユニットが存在する前記ディスク装置を示す情報と、前記論理ユニットのアクセスを担当する前記ディスク制御装置を示す情報とを対応付けた構成情報を作成する作成手段と、作成した構成情報を各ディスク制御装置に配信する配信手段を有する。
このように構成することで、各ディスク制御装置は、マスターディスク制御装置が作成する構成情報に基づいて担当するディスク装置の負荷管理を行うことができる。
本発明によれば、論理ユニット連結時のディスク制御装置間の通信を削減できる。また、論理ユニットの連結時にディスク制御装置のディスク装置に対する効率良い負荷管理を実現することができる。
以下、本発明の好適な実施の形態について図面を参照して説明する。図1は、実施の形
態のRAID装置(RAID制御装置に対応する)11の構成を示す図である。
図1において、RAID装置11は、RAIDグループ0のディスク装置12を管理をするコントローラモジュールCM0(ディスク制御装置に対応する)と、RAIDグループ1のディスク装置13を管理するコントローラモジュールCM1とを有する。コントローラモジュールCM0は、キャッシュデータを記憶するキャッシュメモリ14を有し、コントローラモジュールCM1は、キャッシュデータを記憶するキャッシュメモリ15を有する。
ホストコンピュータ16からの読み出し要求を受信すると、アクセス先のディスク装置を担当するコントローラモジュールCM0(またはCM1)が、該当するデータがキャッシュメモリ14(または15)に存在するか否かを判定し、データが存在しない場合には、ディスク装置12(または13)からデータを読み出してキャッシュメモリ14(または15)に書き込む。また、ホストコンピュータ16から書き込み要求を受信した場合には、受信したデータを一旦キャッシュメモリ14(または15)に書き込み、その後該当するディスク装置12(または13)にそのデータを書き込む。また、Write Throughモードにおいては、受信したデータをキャッシュメモリ14(または15)とディスク装置12(または13)に同時に書き込む。
コントローラモジュールCM0のキャッシュメモリ14には、アクセスを担当するディスク装置12の論理ユニット番号LUN0、LUN1、LUN3の各論理ユニットのキャッシュデータが格納される。また、コントローラモジュールCM1のキャッシュメモリ15には、アクセスを担当するディスク装置13の論理ユニット番号LUN3、LUN4、LUN5の各論理ユニットのキャッシュデータが格納される。
次に、ストライプ連結ボリュームの作成時にディスク装置の管理を担当するコントローラモジュールを切り換える場合の処理動作を、図2〜図4を参照して説明する。
図2は、ストライプ連結処理のフローチャートである。ユーザ(ホストコンピュータ)からの論理ユニット連結(LU連結)指示を受信すると(図2、S11)、連結指示を受けたマスターコントローラモジュール(複数のコントローラモジュールの内の特定のコントローラモジュール)がLU連結後の構成情報を作成する(S12)。構成情報とは、後述するが、論理ユニットを特定する論理ユニット番号、論理ユニットを担当するコントローラモジュールを示す情報、論理ユニットが存在するRAIDグループを示す情報からなる。
次に、マスターコントローラモジュールが自分を含めた全てのコントローラモジュールにLU連結後の構成情報を配信する(S13)。
次に、各コントローラモジュールは構成情報を参照して、自分が担当していた論理ユニットが他のコントローラモジュールに移行したか否かを判定する(S14)。
自分が担当していた論理ユニットが他のコントローラモジュールに移行した場合には(S14、YES)、ステップS15に進み、移行する論理ユニットのキャッシュデータの管理情報のみを移行先のコントローラモジュールに転送する。自分が担当する論理ユニットが他のコントローラモジュールに移行していない場合には、そこで処理を終了する。
次に、ユーザからのI/O要求を受け付けながら移行対象の論理ユニットのキャッシュデータを移行先のコントローラモジュールに移行する(S16)。
上記のようにLU連結時点では移行対象の論理ユニットのキャッシュデータのディスク装置への書き戻しは行わず、管理情報のみを移行先のコントローラモジュールに移行させ、ホストコンピュータからI/O要求があったとき(または他のI/O要求の処理が行われている間に)、移行対象の論理ユニットのキャッシュデータを移行先に転送している。
これにより、LU連結時に、移行元のコントローラモジュールのキャッシュデータをディスク装置に書き戻す必要がないので、その間ホストコンピュータからのI/O要求が待たされるのを回避できる。
ここで、各コントローラモジュールCM0、CM1に保持される構成情報の一例を、図3を参照して説明する。
図3(A)は、LU連結前の構成情報21aを示し、図3(B)は、LU連結後の構成情報21bを示している。
構成情報21a、21bは、論理ユニット番号と、論理ユニットのアクセスを担当するコントローラモジュールを示す情報(CM0、CM1)と、ディスク装置が属するRAIDグループを示す情報(RAIDグループ0,RAIDグループ1)を1組とする複数の情報で構成されている。これらの構成情報21a、21bは、マスターコントローラモジュール(例えば、CM0)により作成され、作成された構成情報が各コントローラモジュールに配信される。コントローラモジュールCM0、CM1は構成情報21aまたは21bを参照して自分が担当する論理ユニットと、その論理ユニットが存在するRAIDグループを識別することができる。
LU連結前の構成情報21aは、図3(A)に示すように、論理ユニット番号LUN0、LUN1、LUN2と、それらの論理ユニットを管理するコントローラモジュールを示す情報「CM0」と、RAIDグループを示す情報「0」が対応付けられている。また、論理ユニット番号LUN3、LUN4、LUN5と、それらの論理ユニットを管理するコントローラモジュールを示す情報「CM1」と、RAIDグループを示す情報「1」が対応付けられている。
上記の構成情報21aから、LU連結前は、論理ユニット番号LUN0〜LUN2の論理ユニットのアクセスはコントローラモジュールCM0が担当し、論理ユニット番号LUN3〜LUN5の論理ユニットのアクセスはコントローラモジュールCM1が担当することが分かる。また、論理ユニット番号LUN0〜LUN2の論理ユニットはRAIDグループ0に属し、論理ユニット番号LUN3〜LUN5の論理ユニットはRAIDグループ1に属することが分かる。
LU連結が実行されると、マスターコントローラモジュールが、図3(B)に示すLU連結後の構成情報21bを作成する。
LU連結後の構成情報21bは、論理ユニット番号LUN0〜LUN2と、それらの論理ユニットを管理するコントローラモジュールを指す情報「CM0」と、RAIDグループを示す情報「0」が対応付けられている。また、論理ユニット番号LUN3〜LUN4と、それらの論理ユニットを管理するコントローラモジュールを指す情報「CM0」と、RAIDグループを示す情報「1」が対応付けられている。また、論理ユニット番号LUN5と、その論理ユニットを管理するコントローラモジュールを示す情報「CM1」と、RAIDグループを示す情報「1」が対応付けられている。
上記の構成情報21bから、LU連結後は、論理ユニット番号LUN0〜LUN4の論理ユニットのアクセスはコントローラモジュールCM0が担当し、論理ユニット番号LUN5の論理ユニットのアクセスはコントローラモジュールCM1が担当することが分かる。また、論理ユニット番号LUN0〜2の論理ユニットはRAIDグループ0に属し、論理ユニット番号LUN3〜5の論理ユニットはRAIDグループ1に属することが分かる。
なお、LU連結の結果、RAIDグループ1の論理ユニット番号LUN3、LUN4の
論理ユニットのアクセスはコントローラモジュールCM0が担当することになるので、RAIDグループ1のディスク装置13は、本来の担当であるコントローラモジュールCM1と、論理ユニットの移行先であるコントローラモジュールCM0の複数(2台)のコントローラモジュールによりアクセスされることになる。
図4は、ストライプ連結ボリューム作成時の担当コントローラモジュールの移行の説明図である。
今、LU連結が行われ、RAIDグループ0に属するディスク装置12の論理ユニット番号LUN0の論理ユニットのストライプS1、S3と、論理ユニット番号LUN1のストライプS5、S7と、RAIDグループ1に属するディスク装置13の論理ユニット番号LUN3のストライプS2、S4と、論理ユニット番号LUN4のストライプS6、S8が連結されたものとする。
ストライプ連結が行われると、マスターコントローラモジュールCM0が、論理ユニット番号LUN3とLUN4の論理ユニットの担当が、コントローラモジュールCM1からコントローラモジュールCM0に変更されたことを各コントローラモジュールに通知する。この通知は、例えば、図3(B)に示すLU連結後の構成情報21bを各コントローラモジュールに配信することで行う。各コントローラモジュールへの通知は構成情報を配信する方法に限らず、移行元及び移行先のコントローラモジュールに直接担当する論理ユニット番号等を通知する方法でも良い。
論理ユニット番号LUN3、LUN4の論理ユニットの担当がコントローラモジュールCM0に移行されると、それ以降は、コントローラモジュールCM0が、それらの論理ユニットのキャッシュデータを取得し、そのキャッシュデータを自分のキャッシュメモリ14に保存する。
次に、LU連結後の負荷管理処理について図5のフローチャートを参照して説明する。
各コントローラモジュールは、担当するRAIDグループに対するWriteコマンド要求が発生しことを検出すると(図5、S21)、構成情報21(LU連結前の構成情報21aとLU連結後の構成情報21bを総称して構成情報21と呼ぶ)を参照してアクセス対象のRAIDグループを担当するコントローラモジュールが複数存在するか否かをチェックする(S22)。そして、そのチェック結果に基づいて担当するコントローラモジュールが複数存在するか否かを判別する(S23)。
アクセス対象のRAIDグループを担当するコントローラモジュールが1台のときには(S23、NO)、ステップS24に進み、アクセス対象のディスク装置に対してアクセス数による負荷管理を行う。これは、そのRAIDグループを担当するコントローラモジュールが1台の場合には、他のコントローラモジュールからのアクセスを考慮する必要が無いので、担当するコントローラモジュールがアクセス数により一元的に負荷管理することができるからである。
担当するコントローラモジュールが複数存在する場合には(S23、YES)、ステップS25に進み、レスポンス時間の負荷管理を行うためにコマンド発行時の開始時刻T1を記録する。
次に、アクセス対象のRAIDグループのディスク装置に対してWriteコマンドを発行する(S26)。そして、アクセス対象のRAIDグループのコマンド応答時の終了時刻T2を記録し、時刻T1とT2の差分T3を算出する(S27)。
次に、応答時間T3が閾値tより大きいか否かを判定する(S28)。応答時間T3が
閾値tより小さいときには(S28、NO)、ステップS29に進み、キューに登録されている(積まれている)要求を一定数取り出して実行する。ホストコンピュータからの書き込みまたは読み出し要求はキューに順に登録され、一定時間以上経過した要求は登録順に実行される。
応答時間T3が閾値tより大きいときには(S28、YES)、アクセス対象のRAIDグループに対する負荷が大きい場合であるので、ステップS30に進み、アクセス対象のRAIDグループに対する以降の要求を一定数キューに登録する。
上述した負荷管理処理を、図6の説明図を参照して説明する。
LU連結の結果、RAIDグループ1に存在する論理ユニット番号LUN3とLUN4の論理ユニットの担当がコントローラモジュールCM1からコントローラモジュールCM0に変更されると、RAIDグループ1のディスク装置13は、コントローラモジュールCM1とコントローラモジュールCM0の2台のコントローラモジュールによりデータの書き込み及び読み出しが行われる。そのため、RAIDグループ1のディスク装置13は、本来の担当であるコントローラモジュールCM1のアクセス数のみでは負荷量を正確に把握できない。そこで、コントローラモジュールCM1、CM0がそれぞれディスク装置13のアクセスに対する応答時間T3を算出し、応答時間T3が閾値tより大きくなったときには、ディスク装置13の負荷が大きいものと判断してアクセスを制限する。
RAIDグループ0のディスク装置12に関しては、担当するコントローラモジュールはコントローラモジュールCM0のみであるので、LU連結前と同様にコントローラモジュールCM0が一元的にアクセス数による負荷管理を行う。
上述した負荷管理処理によれば、LU連結により1台のディスク装置のアクセスを複数のコントローラモジュールが担当する場合でもディスク装置の負荷を適正に管理することができる。
次に、図7は、I/O要求時のキャッシュデータの移行処理のフローチャートである。
コントローラモジュールが変更された論理ユニットに対するI/O要求が発生すると(図7、S41)、移行済みの管理情報を用いてキャッシュヒットか、キャッシュミスかの判定行う(S42)。LU連結が行われて担当するコントローラモジュールが変更されると、論理ユニット番号とLBA(Logical Block Address)等のデータの位置情報からなる管理情報が、移行元コントローラモジュールから移行先コントローラモジュールに転送される。従って、移行先コントローラモジュールは、移行された論理ユニットのキャッシュデータを自己のキャッシュメモリに保持していなくとも、この管理情報を参照してホストコンピュータからのI/O要求に対してキャッシュヒットか、キャッシュミスかの判定を行うことができる。
次に、判定結果がキャッシュヒットか否かを判別する(S43)。キャッシュミスと判定された場合には(S43、NO)、すなわち、自己のキャッシュメモリにも、移行元のキャッシュメモリにも該当するキャッシュデータが存在しない場合には、ステップS44に進み、キャッシュページを新規に獲得し、I/O要求に対する処理を行った後、I/O要求の応答をホストコンピュータに返す。
他方、キャッシュヒットと判定された場合には(S43、YES)、ステップS45に進み、該当する論理ユニットのキャッシュデータが移行済みか否かを判定する。
キャッシュデータが移行済みの場合には(S45、NO)、ステップS46に進み、自己のキャッシュメモリに格納されているキャッシュデータを用いてI/O要求に対する処理を行った後、ホストコンピュータにI/O要求の応答を返す。
他方、キャッシュデータが移行されていない場合には(S45、YES)、ステップS47に進み、移行元のコントローラモジュールに対してI/O要求のあった論理ユニットのキャッシュデータの転送を要求し、転送されるキャッシュデータを自己のキャッシュメモリに格納する。なお、LU連結により移行された論理ユニットの中でI/O要求が発生していないキャッシュデータについては、他のキャッシュデータのI/O要求を受け付けながら順次移行を行う。
上述したキャッシュデータの移行処理では、論理ユニットのアクセスを担当するコントローラモジュールが変更された時点ではキャッシュデータの移行は行わず、管理情報のみを移行先のコントローラモジュールに移行する。そして、担当が変更された論理ユニットに対するI/O要求が発生したときに、管理情報を参照してキャッシュヒットか、キャッシュミスかを判定し、キャッシュヒットかつキャッシュデータが未移行(移行元コントローラモジュールのキャッシュメモリにキャッシュデータが存在する状態)のときには、移行元コントローラモジュールに対してキャッシュデータの転送要求を行い、転送されるキャッシュデータを自己のキャッシュメモリに保存する。
上述した実施の形態は、移行された論理ユニットに対してI/O要求が発生した時点または他のI/O要求を受付けているときに順次必要なキャッシュデータを移行元コントローラモジュールから移行先コントローラモジュールに転送するようにしている。これにより、論理ユニットの連結時に、移行元コントローラモジュールのキャッシュデータをディスク装置に一旦書き戻し、Write Throughモードにした上で担当するコントローラモジュールを切り換える必要が無くなるので、その間ホストコンピュータからのI/O要求が待たされることが無くなる。
また、異なるディスク装置に分散配置されているデータを連結するストライプ連結の場合でも、1台のコントローラモジュールが連結された論理ユニットを担当することで、コントローラモジュール間の通信量を削減できる。
本発明は上述した実施の形態に限らず、例えば、以下のように構成しても良い。
(1)実施の形態は、2台のコントローラモジュールCM0、CM1が、それぞれRAIDグループ0とRAIDグループ1のディスク装置を担当する場合について説明したが、コントローラモジュールは2台に限らず2以上の任意の台数で良い。
(2)RAID装置(RAID制御装置)を構成するディスク装置12,13及びコントローラモジュールCM0、CM1はネットワークを介してそれぞれ離れた位置に配置されていても良い。
(付記1)複数のディスク装置と複数のディスク制御装置とからなるRAID制御装置であって、
論理ユニットのキャッシュデータを記憶するキャッシュメモリと、
異なるディスク装置に存在する複数の前記論理ユニットの連結が行われたとき、移行元ディスク制御装置のキャッシュメモリに格納されているキャッシュデータのディスク装置への書き戻しを行わずに、連結された前記複数の論理ユニットのアクセスを1つのディスク制御装置が担当するように担当の切り換えを行う制御手段を備えるRAID制御装置。(付記2)前記制御手段は、担当する前記論理ユニットに対するアクセス要求があったときに、前記論理ユニットのキャッシュデータが移行済みか否かを判定し、前記キャッシュデータが移行されていないときには、移行元ディスク制御装置から前記論理ユニットのキャッシュデータを取得するキャッシュデータ取得手段を有する付記1記載のRAID制御装置。
(付記3) 前記制御手段は、連結された前記論理ユニットが存在する前記ディスク装置
のアクセスを担当するディスク制御装置が複数存在するか否かを判定する判定手段と、前記ディスク制御装置が複数存在すると判定された場合に、書き込みまたは読み出し要求に対する前記ディスク装置の応答時間を算出し、前記応答時間に基づいて前記ディスク装置の負荷管理を行う負荷管理手段を有する付記1記載のRAID制御装置。
(付記4)前記制御手段は、連結対象の前記論理ユニットが存在する前記ディスク装置のアクセスを担当する前記ディスク制御装置が複数存在するか否かを判定する判定手段と、前記ディスク制御装置が複数存在すると判定された場合に、書き込みまたは読み出し要求に対する前記ディスク装置の応答時間を算出し、前記応答時間に基づいて前記ディスク装置の負荷管理を行い、前記ディスク装置のアクセスを担当する前記ディスク制御装置が1台と判定された場合に、前記ディスク装置に対する書き込みまたは読み出しのアクセス数に基づいて前記ディスク装置の負荷管理を行う負荷管理手段を有する付記1記載のRAID制御装置。
(付記5)前記制御手段は、移行元ディスク制御装置から移行される前記論理ユニットに関する管理情報を取得する管理情報取得手段と、前記論理ユニットに対するアクセス要求が発生したとき、前記管理情報を参照してキャッシュヒットか、キャッシュミスかを判定する判定手段を有する付記1、2または3記載のRAID制御装置。
(付記6)前記制御手段は、前記論理ユニットと、前記論理ユニットが存在する前記ディスク装置を示す情報と、前記論理ユニットのアクセスを担当する前記ディスク制御装置を示す情報とを対応付けた構成情報を取得する取得手段を有する付記1、2または3記載のRAID制御装置。
(付記7)前記複数のディスク制御装置の内のマスターディスク制御装置は、前記複数の論理ユニットの連結が指示された場合に、連結対象の前記論理ユニットと、前記論理ユニットが存在する前記ディスク装置を示す情報と、前記論理ユニットのアクセスを担当する前記ディスク制御装置を示す情報とを対応付けた構成情報を作成する作成手段と、作成した構成情報を各ディスク制御装置に配信する配信手段を有する付記6記載のRAID制御装置。
(付記8)複数のディスク装置と複数のディスク制御装置とからなるRAID制御装置の制御方法であって、
異なるディスク装置に存在する論理ユニットの連結が行われたとき、移行元ディスク制御装置のキャッシュメモリに格納されているキャッシュデータのディスク装置への書き戻しを行わずに、連結された前記複数の論理ユニットのアクセスを1つのディスク制御装置が担当するように担当の切り換えを行うRAID制御装置の制御方法。
(付記9)担当する前記論理ユニットに対するアクセス要求があったときに、前記論理ユニットのキャッシュデータが移行済みか否かを判定するステップと、前記キャッシュデータが移行されていないときには、移行元ディスク制御装置から前記論理ユニットのキャッシュデータを取得するステップからなる付記8記載のRAID制御装置の制御方法。
(付記10)連結対象の前記論理ユニットが存在する前記ディスク装置のアクセスを担当する前記ディスク制御装置が複数存在するか否かを判定するステップと、前記ディスク制御装置が複数存在すると判定された場合に、書き込みまたは読み出し要求に対する前記ディスク装置の応答時間を算出するステップと、前記応答時間に基づいて前記ディスク装置の負荷管理を行うステップと、前記ディスク装置のアクセスを担当する前記ディスク制御装置が1台と判定された場合に、前記ディスク装置に対する書き込みまたは読み出しのアクセス数に基づいて前記ディスク装置の負荷管理を行うステップとからなる付記8記載のRAID制御装置の制御方法。
(付記11)前記複数の論理ユニットの連結が行われたとき、移行元ディスク制御装置から移行された論理ユニットに関する管理情報を取得するステップと、前記管理ユニットに対するアクセス要求が発生したとき、前記管理情報を参照してキャッシュヒットか、キャッシュミスかを判定するステップとからなる付記8記載のRAID制御装置の制御方法。(付記12)複数のディスク装置と複数のディスク制御装置とからなるRAID制御装置の制御プログラムであって、
異なるディスク装置に存在する複数の論理ユニットの連結が行われたとき、移行元ディスク制御装置のキャッシュメモリに格納されているキャッシュデータのディスク装置への書き戻しを行わずに、連結された前記複数の論理ユニットのアクセスを1つのディスク制御装置が担当するように担当の切り換えを行うステップを、コンピュータが実行するRAID制御装置の制御プログラム。
(付記13)連結対象の前記論理ユニットが存在する前記ディスク装置のアクセスを担当する前記ディスク制御装置が複数存在するか否かを判定するステップと、前記ディスク制御装置が複数存在すると判定された場合に、書き込みまたは読み出し要求に対する前記ディスク装置の応答時間を算出するステップと、前記応答時間に基づいて前記ディスク装置の負荷管理を行うステップと、前記ディスク装置のアクセスを担当する前記ディスク制御装置が1台と判定された場合に、前記ディスク装置に対する書き込みまたは読み出しのアクセス数に基づいて前記ディスク装置の負荷管理を行うステップを、コンピュータが実行する付記12記載のRAID制御装置の制御プログラム。
実施の形態のRAID装置の構成を示す図である。 ストライプ連結時の移行処理のフローチャートである。 LU連結前・連結後の構成情報を示す図である。 ストライプ連結ボリューム作成時の担当CMの移行の説明図である。 LU連結後の負荷管理処理のフローチャートである。 数の負荷管理とレスポンス時間の負荷管理の説明図である。 I/O要求時のキャッシュデータの移行処理のフローチャートである。 従来のRAID装置のLU連結時の説明図である。
符号の説明
11 RAID装置
12,13 ディスク装置
14,15 キャッシュメモリ
16 ホストコンピュータ
CM0,CM1 コントローラモジュール

Claims (5)

  1. 複数のディスク装置と複数のディスク制御装置とからなるRAID制御装置であって、
    論理ユニットのキャッシュデータを記憶するキャッシュメモリと、
    前記キャッシュメモリを有し前記論理ユニットへのアクセスを制御する制御手段とを備え、
    前記制御手段は、
    異なるディスク装置に存在する複数の前記論理ユニットの連結が行われたとき、移行元ディスク制御装置のキャッシュメモリに格納されているキャッシュデータのディスク装置への書き戻しを行わずに前記キャッシュデータの管理情報を移行先のディスク制御装置に通知する通知手段と、
    連結された前記複数の論理ユニットのアクセスを1つのディスク制御装置が担当するように担当の切り換えを行う担当切り換え手段と、
    担当する前記論理ユニットに対するアクセス要求があったとき、前記管理情報に基づいて前記論理ユニットのキャッシュデータが移行済みか否かを判定し、前記キャッシュデータが移行されていないときには、移行元ディスク制御装置から前記論理ユニットの前記キャッシュデータを取得するキャッシュデータ取得手段と、
    前記担当切り換え手段によって担当の切り換えが行われた結果、連結対象の前記論理ユニットが存在する前記ディスク装置のアクセスを担当する前記ディスク制御装置が複数存在するか否かを判定する判定手段と、
    前記ディスク制御装置が複数存在すると判定された場合に、アクセス要求に対する前記ディスク装置の応答時間を算出し、前記応答時間に基づいて前記ディスク装置の負荷管理を行い、前記ディスク装置のアクセスを担当する前記ディスク制御装置が1台と判定された場合には、前記ディスク装置に対するアクセス数に基づいて前記ディスク装置の負荷管理を行う負荷管理手段とを備えるRAID制御装置。
  2. 移行元の前記通知手段は、前記論理ユニットのアクセスを担当する前記ディスク制御装置が変更されたとき、前記キャッシュメモリに格納されているキャッシュデータの前記論理ユニットを示す情報とデータの格納位置を示す位置情報を有する前記管理情報を移行先の前記ディスク制御装置に通知する請求項1記載のRAID制御装置。
  3. 前記制御手段は、前記論理ユニットに対するアクセス要求を受信したとき、前記管理情報を参照してキャッシュヒットか、キャッシュミスかを判定するキャッシュ判定手段を有する請求項1又は2記載のRAID制御装置。
  4. 前記複数のディスク制御装置の内のマスタディスク制御装置は、前記論理ユニットの連結が指示された場合に、連結対象の前記論理ユニットを示す情報と、前記論理ユニットのアクセスを担当する前記ディスク制御装置を示す情報と、前記論理ユニットが存在する前記ディスク装置又は前記ディスク装置が属するRAIDグループを示す情報とを対応付けた構成情報を作成する作成手段と、作成した構成情報を各ディスク制御装置に配信する配信手段を有する請求項1、2又は3記載のRAID制御装置。
  5. 複数のディスク装置と複数のディスク制御装置とからなるRAID制御装置の制御方法であって、
    異なるディスク装置に存在する複数の論理ユニットの連結が行われたとき、移行元ディスク制御装置のキャッシュメモリに格納されているキャッシュデータのディスク装置への書き戻しを行わずに前記キャッシュデータの管理情報を移行先のディスク制御装置に通知し、
    連結された前記複数の論理ユニットのアクセスを1つのディスク制御装置が担当するように担当の切り換えを行い、
    担当する前記論理ユニットに対するアクセス要求があったとき、前記管理情報に基づいて前記論理ユニットのキャッシュデータが移行済みか否かを判定し、前記キャッシュデータが移行されていないときには、移行元ディスク制御装置から前記論理ユニットの前記キャッシュデータを取得し、
    担当の切り換えが行われた結果、連結対象の前記論理ユニットが存在する前記ディスク装置のアクセスを担当する前記ディスク制御装置が複数存在するか否かを判定し、
    前記ディスク制御装置が複数存在すると判定された場合に、アクセス要求に対する前記ディスク装置の応答時間を算出し、前記応答時間に基づいて前記ディスク装置の負荷管理を行い、前記ディスク装置のアクセスを担当する前記ディスク制御装置が1台と判定された場合には、前記ディスク装置に対するアクセス数に基づいて前記ディスク装置の負荷管理を行うRAID制御装置の制御方法。
JP2007027548A 2007-02-07 2007-02-07 Raid制御装置及びその制御方法 Expired - Fee Related JP4373450B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007027548A JP4373450B2 (ja) 2007-02-07 2007-02-07 Raid制御装置及びその制御方法
US12/027,459 US8364890B2 (en) 2007-02-07 2008-02-07 RAID control apparatus and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007027548A JP4373450B2 (ja) 2007-02-07 2007-02-07 Raid制御装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2008192020A JP2008192020A (ja) 2008-08-21
JP4373450B2 true JP4373450B2 (ja) 2009-11-25

Family

ID=39733955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007027548A Expired - Fee Related JP4373450B2 (ja) 2007-02-07 2007-02-07 Raid制御装置及びその制御方法

Country Status (2)

Country Link
US (1) US8364890B2 (ja)
JP (1) JP4373450B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141508B2 (en) * 2010-12-21 2015-09-22 Oracle International Corporation Assigning read requests based on busyness of devices
US8984225B2 (en) * 2011-06-22 2015-03-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Method to improve the performance of a read ahead cache process in a storage array
JP6255895B2 (ja) 2013-10-24 2018-01-10 富士通株式会社 ストレージ制御装置、およびプログラム
JP2015169956A (ja) * 2014-03-04 2015-09-28 富士通株式会社 ストレージ装置、情報処理装置、キャッシュ制御プログラム及びキャッシュ制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4272275B2 (ja) 1998-04-28 2009-06-03 株式会社日立製作所 記憶サブシステム
US6681339B2 (en) * 2001-01-16 2004-01-20 International Business Machines Corporation System and method for efficient failover/failback techniques for fault-tolerant data storage system
JP2003162377A (ja) 2001-11-28 2003-06-06 Hitachi Ltd ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
JP3559016B2 (ja) 2001-11-30 2004-08-25 株式会社東芝 ディスクアレイシステム、ディスクアレイシステムにおけるロジカルユニットの引き継ぎ方法及び連携制御コントローラ

Also Published As

Publication number Publication date
US8364890B2 (en) 2013-01-29
US20080215810A1 (en) 2008-09-04
JP2008192020A (ja) 2008-08-21

Similar Documents

Publication Publication Date Title
JP4322068B2 (ja) ストレージシステム及びそのデイスク負荷バランス制御方法
US7574577B2 (en) Storage system, storage extent release method and storage apparatus
US10459661B2 (en) Stream identifier based storage system for managing an array of SSDs
JP6190898B2 (ja) サーバに接続されるシステム及び仮想マシンが動作しているサーバに接続されたシステムによる方法
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US20120246403A1 (en) Write spike performance enhancement in hybrid storage systems
CN106104502B (zh) 用于存储系统事务的系统、方法和介质
JP6101170B2 (ja) 計算機システム、キャッシュ管理方法、及び計算機
JP2009043030A (ja) ストレージシステム
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
US20110283046A1 (en) Storage device
US8650339B2 (en) Control of data transfer
JP2010049502A (ja) ストレージサブシステム、及びこれを有するストレージシステム
JP2008152807A5 (ja)
JP5987498B2 (ja) ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム
JP4373450B2 (ja) Raid制御装置及びその制御方法
US10152242B1 (en) Host based hints
JP3908482B2 (ja) 入出力制御装置及び入出力制御方法並びに情報記憶システム
JP5027939B1 (ja) 仮想マシンのための仮想ストレージを有するホストサーバ
JP2007102314A (ja) ディスクキャッシュ制御装置
JP6353981B2 (ja) ストレージシステム、及び、記憶制御方法
US20120254531A1 (en) Storage apparatus and storage control device
JP4862841B2 (ja) ストレージ装置とシステムと方法並びにプログラム
JP5597266B2 (ja) ストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090406

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: 20090825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090903

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4373450

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees