JP3977573B2 - Disk controller - Google Patents
Disk controller Download PDFInfo
- Publication number
- JP3977573B2 JP3977573B2 JP2000132692A JP2000132692A JP3977573B2 JP 3977573 B2 JP3977573 B2 JP 3977573B2 JP 2000132692 A JP2000132692 A JP 2000132692A JP 2000132692 A JP2000132692 A JP 2000132692A JP 3977573 B2 JP3977573 B2 JP 3977573B2
- Authority
- JP
- Japan
- Prior art keywords
- disk
- access
- access frequency
- mapping table
- data
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、特定のディスク装置への負荷の集中を適応的に回避してパフォーマンスを改善させることを可能とするディスク制御装置に関する。
【0002】
【従来の技術】
従来より、ディスクアクセスの高速化のためにデータを複数のディスクに分散する方法として、ディスクのストライピングなどの技術が知られている。
【0003】
これは、複数のディスク装置でアレイを構成することにより、アレイ全体を仮想的に1つのディスク装置とみなし、この仮想ディスク装置内のアドレッシングによってデータをアレイ全体に分散させる方法である。
【0004】
【発明が解決しようとする課題】
しかしながら、このような手法では、特定のディスク装置にアクセスが集中した場合には、その負荷を分散することができないといった問題があった。
【0005】
さらに、計算機システムを実際に運用した際、どのディスク装置に負荷が集中するかは運用環境に影響されるものであり、システム設計時点でディスク装置ごとの負荷状況を予測することは難しく、ディスク負荷をすべてのディスクに平均的に分散することはほぼ不可能であった。
【0006】
この発明はこのような事情を考慮してなされたものであり、特定のディスク装置への負荷の集中を適応的に回避してパフォーマンスを改善させることを可能とするディスク制御装置を提供することを目的とする。
【0007】
【課題を解決するための手段】
前述した目的を達成するために、この発明のディスク制御装置は、複数のディスク装置間のアクセス頻度の偏りを是正すべく、アクセス頻度の高いディスク装置のデータとアクセス頻度の低いディスク装置のデータとを上位システムに意識させることなく動的に入れ替えるようにしたものであり、そのために、複数のディスク装置それぞれに対するアクセス頻度を適応的にほぼ均等に分散させるためのディスク制御装置であって、各ディスク装置のアクセス回数に関する頻度情報をディスクブロックごとに管理するアクセス頻度管理手段と、前記アクセス頻度管理手段により管理される頻度情報に基づき、前記複数のディスク装置間のアクセス頻度の偏りが予め定められた許容範囲を越えていないかどうかを監視し、予め定められた許容範囲を越えるアクセス頻度の偏りを検出したときに、予め定められた規則で選定されるアクセス頻度の高いディスク装置のディスクブロック上のデータとアクセス頻度の低いディスク装置のディスクブロック上のデータとを交換するディスク制御手段と、前記ディスク制御手段によりデータが交換されたディスクブロックのアドレスとそのデータを実際に格納するディスクブロックのアドレスとを対応づけるマッピングテーブルを管理するマッピング管理手段と、いずれかのディスクブロックに対するアクセスが要求されたときに、前記マッピング管理手段により管理されるマッピングテーブルを参照し、必要に応じてアドレス変換を行った後に前記複数のディスク装置に対するアクセスを実行するアクセス制御手段と、前記マッピング管理手段により管理されるマッピングテーブルに基づき、ディスクブロックすべてを交換前の状態に復元するディスク復元手段と、を具備することを特徴とする。
【0008】
この発明のディスク装置においては、各ディスク装置に対するアクセス頻度が動的に分散されていくため、システムを稼働させていくにしたがってパフォーマンスが改善され、また、上位システムに意識させることがないため、既存のシステムの修正を何ら伴うことがない。さらに、たとえばデータ交換がすでに行われているディスク装置を他のディスク装置と切り離して他のシステムに移動させる必要が生じたとしても、そのディスク装置を本来の状態に容易に復元することが可能となる。
【0009】
また、この発明のディスク制御装置は、各ディスク装置のトラックサイズの倍数の大きさのデータを交換することが好ましい。
【0010】
この発明のディスク制御装置においては、データの交換を行っても、トラック上のデータの連続性が確保されるため、データ分散によるパフォーマンスへの悪影響はほとんどない。
【0011】
また、この発明のディスク制御装置は、前記アクセス頻度管理手段が、定期的に頻度情報を初期化することが好ましい。
【0012】
この発明のディスク制御装置においては、最新のディスク負荷状況の変動に動的に追従することができるため、過去の実績に囚われない適切なデータ分散が実現されることになる。
【0013】
また、この発明のディスク制御装置は、前記アクセス頻度管理手段が、頻度情報に含まれる所定期間以上過去のアクセス回数を破棄することが好ましい。
【0014】
この発明のディスク制御装置においては、前述と同様、最新のディスク負荷状況の変動に動的に追従することができるため、過去の実績に囚われない適切なデータ分散が実現されることになり、また、一時的な変動をある程度吸収して必要以上のデータ交換を発生させることを防止する。
【0017】
また、この発明のディスク制御装置は、前記マッピング管理手段が、システム停止時にマッピングテーブルを前記複数のディスク装置の中のいずれかの記憶領域に退避させ、システム起動時にその退避させたマッピングテーブルを復元する手段を有することが好ましい。
【0018】
この発明のディスク制御装置においては、シャットダウン後の再起動時にシャットダウン時の状態を引き継ぐことができるようになるため、シャットダウン時にすべてのディスク装置の状態を本来の状態に復元するような後処理を行う必要がなく、また、このディスク制御装置そのものを他のディスク制御装置と交換してシャットダウン後の再起動を行っても、何ら問題なくシャットダウン時の状態を引き継ぐことができることになる。
【0019】
また、この発明のディスク制御装置は、前記マッピング管理手段が、マッピングテーブルの更新時にその差分または全体を前記複数のディスク装置の中のいずれかの記憶領域に保存する手段を有することが好ましい。
【0020】
この発明のディスク制御装置においては、たとえば不慮の電源断などが発生したとしても、データの交換状況に関わる最新の情報を失うことがなく、電源回復後もディスク装置に対するアクセスを継続することが可能となる。
【0025】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図1は、この発明の実施形態に係るディスク制御装置を適用するコンピュータシステムの構成図である。
【0026】
図1に示すように、このコンピュータシステムでは、システムバスとしてPCIバス1が敷設されており、このPCIバス1に、CPU11、システムメモリ12、ディスプレイコントローラ13、キーボードコントローラ14およびホストバスアダプタ(HBA)15が接続されている。
【0027】
CPU11は、このコンピュータシステム全体の制御を司るものであり、システムメモリ12に格納されたオペレーティングシステムやユーティリティを含むアプリケーションプログラム等の記述に基づいて動作する。
【0028】
システムメモリ12は、このコンピュータシステムの主記憶となるメモリデバイスであり、CPU11の動作を記述したオペレーティングシステムやユーティリティを含むアプリケーションプログラム等と、これらの実行に用いられる各種処理データとを格納する。
【0029】
ディスプレイコントローラ13は、このコンピュータシステムのユーザインタフェースのアウトプットを司るものであり、CPU11により描画されたビデオRAM131内の表示データをCRT132やLCD133等の表示装置に表示制御する。
【0030】
キーボードコントローラ14は、このコンピュータシステムのユーザインタフェースのインプットを司るものであり、キーボード141やマウス142等の入力装置の操作をデータ化してCPU11に引き渡す。
【0031】
ホストバスアダプタ(HBA)15は、このコンピュータシステムの外部記憶となる複数のディスク装置16a〜16nを制御する、いわゆるディスク制御装置であり、SCSIバス2を介して複数のディスク装置16a〜16nとの間のデータ授受を実行する。なお、このホストバスアダプタ(HBA)15により制御される複数のディスク装置16a〜16nは、あくまで上位システムからそれぞれが認識される互いに独立したドライブであり、上位システムに対して論理的に単一のディスクに見せかけるべくアレイを構成するものではない。
【0032】
そして、この実施形態のホストバスアダプタ(HBA)15は、複数のディスク装置16a〜16n間のアクセス頻度の偏りを是正すべく、アクセス頻度の高いディスク装置のデータとアクセス頻度の低いディスク装置のデータとを上位システムに意識させることなく動的に入れ替える点を特徴としており、以下、この点について詳述する。
【0033】
図2は、この実施形態に係るホストバスアダプタ(HBA)15の構成を示す図である。
【0034】
図2に示すように、このホストバスアダプタ(HBA)15は、SCSI制御機構151に加えて、マッピングテーブル152およびアクセス頻度管理機構153を備えている。
【0035】
SCSI制御機構151は、このホストバスアダプタ(HBA)15の中核をなすものであり、PCIバス1を介して上位システムから要求されるディスク装置16a〜16nに対するアクセスを、SCSIバス2で定められたプロトコルにしたがって実行する。また、このSCSI制御機構151は、マッピングテーブル152に基づき、後述するこの発明に特有のアクセス制御を実行する。
【0036】
また、アクセス頻度管理機構153は、複数のディスク装置16a〜16nのすべてのディスクブロックに対するアクセス統計情報を記録するものであり、定期的に統計情報のリセットを行うが、そのリセット前に統計情報を集計し、たとえば特定のディスク装置にアクセスが集中している、あるいは、特定のディスク装置に対するアクセスのみが発生していない、等のアクセスの偏りが認められた場合に、以下の処理を実行して、その是正を図っている。
【0037】
まず、アクセス頻度の高いディスクブロックの内容を、アクセス頻度の低いディスク装置のいずれかのディスクブロックの内容と交換する。次に、このディスクブロックを交換したことをマッピングテーブル152に登録する。図3は、このディスクブロックの交換の様子を示す概念図である。なお、この交換処理対象となるディスクブロックの大きさは、各ディスク装置のトラックサイズの倍数となるように考慮されている。これは、その交換後もトラック上のデータの連続性を確保し、データ分散によるパフォーマンスへの悪影響を抑えるためである。
【0038】
また、このマッピングテーブル152は、ホストバスアダプタ(HBA)15のメモリ領域に確保されるものであり、アクセス頻度管理機構153は、システム停止時にこのマッピングテーブル152を複数のディスク装置16a〜16nの中のいずれかに退避させ、システム起動時にその退避させたマッピングテーブル152をロードする。
【0039】
一方、SCSI制御機構151は、上位システムからディスクアクセスを要求された場合、まず、そのリクエストで指定されたディスクブロックが、アクセス頻度管理機構153によって他のディスク装置に移動されていないかどうかをマッピングテーブル152を参照して判定する。
【0040】
もし、指定されたディスクブロックがマッピングテーブル152に登録されていたとすると、SCSI制御機構151は、このディスクブロックの移動先をマッピングテーブル152から特定し、このリクエストを移動先ブロックへのアクセスに変換する。
【0041】
ここで、図4を参照して、このホストバスアダプタ(HBA)15のディスクアクセス時における動作手順を説明する。
【0042】
上位システムからディスクアクセスが要求されると、SCSI制御機構151は、そのターゲットがマッピングテーブル152に登録されているかどうかを判定する(ステップA1)。ここで、マッピングテーブル152に登録されていた場合(ステップA1のYES)、SCSI制御機構151は、このマッピングテーブル152に基づいたアドレス交換を実行する(ステップA2)。
【0043】
その後、SCSI制御機構151は、ディスクに対するアクセスを実行し(ステップA3)、また、アクセス頻度管理機構153は、このアクセスに伴ってアクセス頻度情報を更新する(ステップA4)。
【0044】
次に、アクセス頻度管理機構153が定期的に統計情報のリセットを行う際に実行される、このホストバスアダプタ(HBA)15のデータ置き換えアルゴリズムについて説明する。
【0045】
いま、アクセス頻度差の許容範囲が50%で、アクセス回数が図5(a)に示す頻度であった場合を考える。
【0046】
図5(a)に示すように、アクセス回数の総数は40回、ディスクドライブ数は2であるため、1つのディスクあたりの平均アクセス数は20回となる。これに対してアクセス頻度差の許容範囲が50%であるため、それぞれのディスクへのアクセス回数が10回〜30回になるように、ディスクブロックの置き換えを行なう。
【0047】
まず、ディスク1の各ブロックのうち、アクセス回数の総和が10以上になるようなディスクブロックの集合を求める。ここでは、ブロックBのみでこの条件を満たすことができる。次に、このブロックBと置き換えることによって50%の許容範囲に収まるようなディスクブロックをディスク2の各ブロックから選択する。ここでは、ブロックFをブロックBと置き換えることによって、ディスク1と2のアクセス回数は15回と25回になるため、アクセス頻度差が50%以内に収めることができることがわかる。
【0048】
この結果、ディスクブロックBとディスクブロックFとを置き換える処理を開始する。図5(b)は、置き換え後のディスク1,2の状態を示す図である。
【0049】
次に、アクセス頻度差の許容範囲が50%で、アクセスが図6(a)に示すようにディスク1に偏ってはいるが各々では平均的に行われているような頻度であった場合を考える。
【0050】
図6(a)に示すように、アクセス回数の総数は60回、ディスクドライブ数は2であるため、1つのディスクあたりの平均アクセス数は30回となる。これに対してアクセス頻度差の許容範囲が50%であるため、それぞれのディスクへのアクセス回数が15回〜45回になるように、ディスクブロックの置き換えを行なう。
【0051】
この場合、ディスク1のいずれか1つのディスクブロックをディスク2のいずれか1つのディスクブロックと交換しても、ディスク1と2のアクセス回数は50回と10回になり、許容範囲には収まらない。したがって、複数のディスクブロックを交換する必要がある。
【0052】
そこで、ディスク1から2つのブロックA,Bを選択して、ディスク2のブロックF,Gと交換した場合を考える。このとき、ディスクアクセス回数は、それぞれ30回、20回となり、許容範囲に入ることがわかるため、この置き換え処理を開始する。図6(b)は、置き換え後のディスク1,2の状態を示す図である。
【0053】
次に、アクセス頻度差の許容範囲が50%で、アクセス回数が図7(a)に示す頻度であった場合を考える。
【0054】
図7(a)に示すように、アクセス回数の総数は20回、ディスクドライブ数は2であるため、1つのディスクあたりの平均アクセス数は10回となる。これに対してアクセス頻度差の許容範囲が50%であるため、それぞれのディスクへのアクセス回数が5回〜15回になるように、ディスクブロックの置き換えを行なう。
【0055】
ディスク1の各ブロックのうち、アクセス回数の総和が5以上になるようなディスクブロックの集合を求める。ここでは、ブロックBのみでこの条件を満たすことができる。しかし、このブロックBをディスク2のブロックD,E,Fのいずれと置き換えても、アクセス頻度差は許容範囲内には収まらない。同様に、アクセス回数が5以上になるいかなるディスク1のディスクブロックの集合についても、ディスク2とのブロック交換によってはアクセス頻度差が許容範囲に収まらないことがわかる。
【0056】
このような場合には、ディスクブロックの置き換えによるアクセス頻度の偏り是正を断念する。したがって、この置き換えアルゴリズム終了後もディスクブロックの配置は変わらない。図7(b)は、置き換えアルゴリズム終了後のディスク1,2の状態を示す図である。
【0057】
以上を踏まえ、図8を参照して、このホストバスアダプタ(HBA)15のデータ置き換えアルゴリズムの実行動作手順を説明する。
【0058】
まず、アクセス頻度管理機構153は、各ディスクあたりの平均アクセス回数を求める(ステップB1)。次に、アクセス頻度の高いディスクのブロックのすべての部分集合を検査したかどうかを調べ(ステップB2)、検査し終えていれば(ステップB2のYES)、この処理を終了する。
【0059】
一方、検査し終えていなければ(ステップB2のNO)、アクセス頻度がもっとも高いディスクに属するディスクブロックの集合Aを1つ選択する(ステップB3)。ここで、アクセス頻度のもっとも低いディスクの部分集合で、要素数が集合Aと同じすべての組み合わせを検査したかどうかを調べ(ステップB4)、検査し終えていれば(ステップB4のYES)、ステップB2からの処理を繰り返す。
【0060】
また、検査し終えていなければ(ステップB4のNO)、アクセス頻度のもっとも低いディスクに属する、集合Aと同じ要素数のディスクブロックの集合Bを1つ選択する(ステップB5)。
【0061】
そして、この選択した集合Aと集合Bを交換した場合にアクセス頻度差が許容範囲に収まるかどうかを判定し(ステップB6)、収まらなければ(ステップB6のNO)、ステップB4からの処理を繰り返し、収まれば(ステップB6のYES)、この置き換えを実行して(ステップB7)、この処理を終了する。
【0062】
このように、この実施形態のホストバスアダプタ(HBA)15は、SCSIバス2上の複数のディスク装置16a〜16nに対するアクセス頻度を動的に分散させることを実現する。
【0063】
なお、アクセス頻度管理機構153によってディスクブロックが他のディスク装置と交換されたディスク装置は、通常のディスク装置としてアクセスすることはできない。したがって、これらのディスク装置を取り外して他のシステムに移動させるためには、移動したディスクブロックを元に戻す必要がある。
【0064】
そこで、このホストバスアダプタ(HBA)15では、アクセス頻度管理機構153に、マッピングテーブル152に記録されたディスクブロック移動の履歴を逆に辿って移動したディスクブロックを書き戻す機能を設けることにより、通常のディスク装置としてもアクセス可能とする。
【0065】
なお、前述の実施形態では、定期的に統計情報のリセットを行い、そのリセット前に統計情報を集計することにより、データ交換を必要に応じて実行しているが、これは、過去の実績に囚われずに最新のディスク負荷状況の変動に動的に追従した適切なデータ分散を実現するためである。また、たとえばリセット直後の一時的な変動をある程度吸収するために、この定期的なリセットに代えて、所定期間以上過去のアクセス回数を常時破棄していくようにし、統計情報の集計およびデータ交換を定期的に実行するようにすることも有効である。
【0066】
また、前述の実施形態では、アクセス頻度管理機構153が、システム停止時にマッピングテーブル152を複数のディスク装置16a〜16nの中のいずれかに退避させ、システム起動時にその退避させたマッピングテーブル152をロードしているが、これは、シャットダウン後の再起動時にシャットダウン時の状態を引き継げるようにすることにより、シャットダウン時にすべてのディスク装置の状態を本来の状態に復元するような後処理を行う必要をなくすとともに、このホストバスアダプタ(HBA)15を他のホストバスアダプタ(HBA)15と交換してシャットダウン後の再起動を行っても、何ら問題なくシャットダウン時の状態を引き継げるようにするためである。また、アクセス頻度管理機構153が、このマッピングテーブル152の更新時にその差分または全体を複数のディスク装置16a〜16nの中のいずれかに保存していくようにすれば、たとえば不慮の電源断などが発生したとしても、データの交換状況に関わる最新の情報を失うことがなく、電源回復後もディスク装置に対するアクセスを継続できるようになり、有効である。
【0067】
また、仮に、アクセス頻度の偏りを考慮する仕組みを持たなくとも、このマッピングテーブル152を用いたデータ交換機能や交換後のアドレス変換機能を備えれば、たとえばディスク装置の台数を増設する際、データの再配置などをユーザ自らが行わなくとも、パフォーマンス改善のためのデータ分散を自動的に実行させることなどが可能となる。
【0068】
【発明の効果】
以上詳述したように、この発明のディスク制御装置によれば、複数のディスク装置間のアクセス頻度の偏りを是正すべく、アクセス頻度の高いディスク装置のデータとアクセス頻度の低いディスク装置のデータとを上位システムに意識させることなく動的に入れ替えるようにしたことから、各ディスク装置に対するアクセス頻度が動的に分散されていき、システムを稼働させていくにしたがってパフォーマンスが改善され、また、上位システムに意識させることがなく、既存のシステムの修正を何ら伴うことがない。
【0069】
また、各ディスク装置のトラックサイズの倍数の大きさのデータを交換することにより、データ交換後もトラック上のデータの連続性が確保され、データ分散によるパフォーマンスへの悪影響がほとんどない。
【0070】
また、定期的に頻度情報を初期化することにより、最新のディスク負荷状況の変動に動的に追従することができ、過去の実績に囚われない適切なデータ分散が実現されることになり、さらに頻度情報に含まれる所定期間以上過去のアクセス回数を破棄するようにすれば、一時的な変動をある程度吸収して必要以上のデータ交換を発生させることを防止する。。
【0071】
また、このマッピングテーブルに基づいてディスクブロックすべてを交換前の状態に復元する機能を備えることにより、たとえばデータ交換がすでに行われているディスク装置を他のディスク装置と切り離して他のシステムに移動させる必要が生じたとしても、そのディスク装置を本来の状態に容易に復元することが可能となる。
【0072】
また、システム停止時にマッピングテーブルを複数のディスク装置の中のいずれかの記憶領域に退避させ、システム起動時にその退避させたマッピングテーブルを復元することにより、シャットダウン後の再起動時にシャットダウン時の状態を引き継ぐことができるようになり、シャットダウン時にすべてのディスク装置の状態を本来の状態に復元するような後処理を行う必要がなく、また、このディスク制御装置そのものを他のディスク制御装置と交換してシャットダウン後の再起動を行っても、何ら問題なくシャットダウン時の状態を引き継ぐことができることになり、さらに、マッピングテーブルの更新時にその差分または全体を複数のディスク装置の中のいずれかの記憶領域に保存するようにすれば、たとえば不慮の電源断などが発生したとしても、データの交換状況に関わる最新の情報を失うことがなく、電源回復後もディスク装置に対するアクセスを継続することが可能となる。
【図面の簡単な説明】
【図1】この発明の実施形態に係るディスク制御装置を適用するコンピュータシステムの構成図。
【図2】同実施形態に係るホストバスアダプタ(HBA)の構成を示す図。
【図3】同実施形態のディスクブロックの交換の様子を示す概念図。
【図4】同実施形態のホストバスアダプタ(HBA)のディスクアクセス時における動作手順を説明するためのフローチャート。
【図5】同実施形態のホストバスアダプタ(HBA)のデータ置き換えアルゴリズムを説明するための第1の図。
【図6】同実施形態のホストバスアダプタ(HBA)のデータ置き換えアルゴリズムを説明するための第2の図。
【図7】同実施形態のホストバスアダプタ(HBA)のデータ置き換えアルゴリズムを説明するための第3の図。
【図8】同実施形態のホストバスアダプタ(HBA)のデータ置き換えアルゴリズムの実行動作手順を説明するためのフローチャート。
【符号の説明】
1…PCIバス
2…SCSIバス
11…CPU
12…システムメモリ
13…ディスプレイコントローラ
14…キーボードコントローラ
15…ホストバスアダプタ(HBA)
16a〜n…ディスク装置
131…ビデオRAM
132…CRT
133…LCD
141…キーボード
142…マウス
151…SCSI制御機構
152…マッピングテーブル
153…アクセス頻度管理機構[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a disk control apparatus that can improve performance by adaptively avoiding concentration of a load on a specific disk apparatus.
[0002]
[Prior art]
Conventionally, a technique such as disk striping is known as a method of distributing data to a plurality of disks in order to speed up disk access.
[0003]
This is a method in which an array is composed of a plurality of disk devices, the entire array is virtually regarded as one disk device, and data is distributed to the entire array by addressing in the virtual disk device.
[0004]
[Problems to be solved by the invention]
However, with such a method, there is a problem that when the access is concentrated on a specific disk device, the load cannot be distributed.
[0005]
In addition, when a computer system is actually operated, which disk device the load is concentrated on is affected by the operating environment, and it is difficult to predict the load status of each disk device at the time of system design. It was almost impossible to distribute on all disks on average.
[0006]
The present invention has been made in view of such circumstances, and it is desirable to provide a disk control device that can improve performance by adaptively avoiding concentration of load on a specific disk device. Objective.
[0007]
[Means for Solving the Problems]
In order to achieve the above-described object, the disk control device of the present invention provides data on a disk device with a high access frequency and data on a disk device with a low access frequency in order to correct an uneven access frequency among a plurality of disk devices. Is a disk control device for adaptively and almost uniformly distributing the access frequency to each of a plurality of disk devices. Based on the frequency information managed by the access frequency management means for managing frequency information related to the access frequency of the device for each disk block, the bias of the access frequency between the plurality of disk devices is predetermined. Monitors whether the allowable range is exceeded, and determines the predetermined allowable range A disk that exchanges data on a disk block of a disk device with a high access frequency selected by a predetermined rule and data on a disk block of a disk device with a low access frequency when a deviation in access frequency exceeding the limit is detected A control means, a mapping management means for managing a mapping table for associating an address of a disk block whose data has been exchanged by the disk control means with an address of a disk block that actually stores the data, and for any of the disk blocks An access control means for referring to a mapping table managed by the mapping management means when access is requested, and performing access to the plurality of disk devices after performing address conversion as necessary; and the mapping management means Based on the mapping table to be more manageable, characterized by comprising a disk restoring means for restoring all disk blocks to the state before the exchange, a.
[0008]
In the disk device of the present invention, since the access frequency to each disk device is dynamically distributed, the performance is improved as the system is operated, and there is no awareness of the host system. It does not involve any modification of the system. Furthermore, for example, even if it becomes necessary to move a disk device that has already been exchanged from another disk device to another system, it is possible to easily restore the disk device to its original state. Become.
[0009]
Further, the disk control device of the present invention preferably exchanges data having a multiple of the track size of each disk device.
[0010]
In the disk control device of the present invention, even if data is exchanged, the continuity of data on the track is ensured, so that there is almost no adverse effect on performance due to data distribution.
[0011]
In the disk controller of the present invention, it is preferable that the access frequency management means periodically initializes frequency information.
[0012]
In the disk control apparatus of the present invention, since the latest fluctuations in the disk load situation can be dynamically followed, appropriate data distribution that is not limited by past results is realized.
[0013]
In the disk control device according to the present invention, it is preferable that the access frequency management unit discards the number of accesses that are past for a predetermined period included in the frequency information.
[0014]
In the disk control device of the present invention, as described above, since it is possible to dynamically follow the latest fluctuations in the disk load status, appropriate data distribution that is not limited by past results is realized, and , To prevent the occurrence of unnecessary data exchange by absorbing temporary fluctuations to some extent.
[0017]
In the disk control device of the present invention, the mapping management means saves the mapping table to any storage area of the plurality of disk devices when the system is stopped, and restores the saved mapping table when the system is started. It is preferable to have a means to do.
[0018]
In the disk control device of the present invention, since the state at the time of shutdown can be taken over at the time of restart after the shutdown, post-processing is performed to restore the state of all the disk devices to the original state at the time of shutdown. There is no need, and even if this disk controller itself is replaced with another disk controller and restarted after shutdown, the shutdown state can be taken over without any problem.
[0019]
In the disk control device of the present invention, it is preferable that the mapping management unit includes a unit that stores the difference or the whole in any storage area of the plurality of disk units when the mapping table is updated.
[0020]
In the disk control device of the present invention, even if, for example, an unexpected power interruption occurs, the latest information on the data exchange status is not lost, and access to the disk device can be continued even after the power is restored. It becomes.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a configuration diagram of a computer system to which a disk control apparatus according to an embodiment of the present invention is applied.
[0026]
As shown in FIG. 1, in this computer system, a
[0027]
The
[0028]
The
[0029]
The
[0030]
The
[0031]
The host bus adapter (HBA) 15 is a so-called disk control device that controls a plurality of
[0032]
Then, the host bus adapter (HBA) 15 of this embodiment corrects the access frequency deviation among the plurality of
[0033]
FIG. 2 is a diagram showing the configuration of the host bus adapter (HBA) 15 according to this embodiment.
[0034]
As shown in FIG. 2, the host bus adapter (HBA) 15 includes a mapping table 152 and an access frequency management mechanism 153 in addition to the
[0035]
The
[0036]
The access frequency management mechanism 153 records access statistical information for all the disk blocks of the plurality of
[0037]
First, the contents of a disk block with a high access frequency are exchanged with the contents of any disk block of a disk device with a low access frequency. Next, it is registered in the mapping table 152 that this disk block has been exchanged. FIG. 3 is a conceptual diagram showing how the disk blocks are exchanged. Note that the size of the disk block to be exchanged is considered to be a multiple of the track size of each disk device. This is to ensure the continuity of the data on the track even after the exchange and to suppress the adverse effect on the performance due to the data distribution.
[0038]
The mapping table 152 is secured in the memory area of the host bus adapter (HBA) 15. The access frequency management mechanism 153 stores the mapping table 152 in the
[0039]
On the other hand, when a disk access is requested from the host system, the
[0040]
If the designated disk block is registered in the mapping table 152, the
[0041]
Here, with reference to FIG. 4, the operation procedure of the host bus adapter (HBA) 15 during disk access will be described.
[0042]
When disk access is requested from the host system, the
[0043]
Thereafter, the
[0044]
Next, a data replacement algorithm of the host bus adapter (HBA) 15 executed when the access frequency management mechanism 153 periodically resets statistical information will be described.
[0045]
Assume that the allowable range of the access frequency difference is 50% and the number of accesses is the frequency shown in FIG.
[0046]
As shown in FIG. 5A, since the total number of accesses is 40 and the number of disk drives is 2, the average number of accesses per disk is 20. On the other hand, since the allowable range of the access frequency difference is 50%, the disk block replacement is performed so that the number of accesses to each disk is 10 to 30 times.
[0047]
First, among the blocks of the
[0048]
As a result, the process of replacing the disk block B and the disk block F is started. FIG. 5B shows the state of the
[0049]
Next, a case where the allowable range of the access frequency difference is 50% and the access is biased toward the
[0050]
As shown in FIG. 6A, since the total number of accesses is 60 and the number of disk drives is 2, the average number of accesses per disk is 30. On the other hand, since the allowable range of the access frequency difference is 50%, the disk block is replaced so that the number of accesses to each disk is 15 to 45 times.
[0051]
In this case, even if any one disk block of the
[0052]
Consider a case where two blocks A and B are selected from the
[0053]
Next, consider a case where the allowable range of the access frequency difference is 50% and the number of accesses is the frequency shown in FIG.
[0054]
As shown in FIG. 7A, since the total number of accesses is 20 and the number of disk drives is 2, the average number of accesses per disk is 10. On the other hand, since the allowable range of the access frequency difference is 50%, the disk block is replaced so that the number of accesses to each disk is 5 to 15 times.
[0055]
Among each block of the
[0056]
In such a case, abandon the correction of the access frequency bias by replacing the disk block. Therefore, the arrangement of the disk blocks does not change even after the replacement algorithm is completed. FIG. 7B shows the state of the
[0057]
Based on the above, the execution procedure of the data replacement algorithm of the host bus adapter (HBA) 15 will be described with reference to FIG.
[0058]
First, the access frequency management mechanism 153 obtains the average number of accesses per disk (step B1). Next, it is checked whether or not all subsets of the frequently accessed disk blocks have been inspected (step B2). If the inspection has been completed (YES in step B2), this processing is terminated.
[0059]
On the other hand, if the inspection has not been completed (NO in step B2), one set A of disk blocks belonging to the disk having the highest access frequency is selected (step B3). Here, it is checked whether or not all combinations having the same number of elements as the set A in the subset of the disk having the lowest access frequency have been checked (step B4), and if checked (YES in step B4), step Repeat the process from B2.
[0060]
If inspection has not been completed (NO in step B4), one set B of disk blocks having the same number of elements as the set A belonging to the disk having the lowest access frequency is selected (step B5).
[0061]
When the selected set A and set B are exchanged, it is determined whether or not the access frequency difference falls within the allowable range (step B6). If not, the process from step B4 is repeated. If it is within the range (YES in step B6), this replacement is executed (step B7), and this process ends.
[0062]
As described above, the host bus adapter (HBA) 15 of this embodiment realizes dynamically distributing the access frequency to the plurality of
[0063]
A disk device whose disk block has been replaced with another disk device by the access frequency management mechanism 153 cannot be accessed as a normal disk device. Therefore, in order to remove these disk devices and move them to another system, it is necessary to restore the moved disk blocks.
[0064]
Therefore, in this host bus adapter (HBA) 15, the access frequency management mechanism 153 is provided with a function of rewriting the moved disk block by tracing back the disk block movement history recorded in the mapping table 152. Can be accessed as a disk device.
[0065]
In the above-described embodiment, the statistical information is periodically reset, and the statistical information is aggregated before the reset to perform data exchange as necessary. This is to realize appropriate data distribution that dynamically follows the fluctuations in the latest disk load situation without being caught. For example, in order to absorb temporary fluctuations immediately after resetting to some extent, instead of this periodic resetting, the number of past accesses over a predetermined period is always discarded, and statistical information is aggregated and data exchanged. It is also effective to execute it periodically.
[0066]
In the above-described embodiment, the access frequency management mechanism 153 saves the mapping table 152 to one of the plurality of
[0067]
Even if there is no mechanism for taking into account the bias in access frequency, if a data exchange function using this mapping table 152 and an address conversion function after exchange are provided, for example, when the number of disk devices is increased, It is possible to automatically execute data distribution for performance improvement without the user himself / herself rearranging.
[0068]
【The invention's effect】
As described above in detail, according to the disk control device of the present invention, in order to correct the uneven access frequency among the plurality of disk devices, the data of the disk device with high access frequency and the data of the disk device with low access frequency are Since the access frequency to each disk unit is dynamically distributed, the performance improves as the system is operated, and the host system Is not conscious and does not involve any modification of the existing system.
[0069]
Also, by exchanging data having a multiple of the track size of each disk device, continuity of data on the track is ensured even after data exchange, and there is almost no adverse effect on performance due to data distribution.
[0070]
In addition, by periodically initializing the frequency information, it is possible to dynamically follow the latest fluctuations in disk load status, realizing appropriate data distribution that is not bound by past performance, If the number of accesses in the past that is included in the frequency information is discarded for a predetermined period or longer, temporary fluctuations are absorbed to some extent to prevent unnecessary data exchange. .
[0071]
Also, by providing a function to restore all disk blocks to the state prior to replacement based on this mapping table, for example, a disk device for which data exchange has already been performed is separated from other disk devices and moved to another system. Even if necessary, the disk device can be easily restored to the original state.
[0072]
In addition, by saving the mapping table to one of the storage areas in the multiple disk units when the system is stopped and restoring the saved mapping table when the system is started, the shutdown state is restored when the system is restarted after shutdown. It is possible to take over, and there is no need to perform post-processing that restores the original state of all disk units to the original state at the time of shutdown, and this disk controller itself can be replaced with another disk controller. Even if restarting after shutdown, the state at the time of shutdown can be taken over without any problem, and when the mapping table is updated, the difference or the whole is stored in any storage area in multiple disk units. If saved, for example, an unexpected power failure may occur. Even the, without losing the latest information related to the replacement status of the data, it is possible after power is restored to continue in the access to the disk device.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a computer system to which a disk control device according to an embodiment of the present invention is applied.
FIG. 2 is a diagram showing a configuration of a host bus adapter (HBA) according to the embodiment.
FIG. 3 is a conceptual diagram showing how a disk block is replaced in the embodiment.
FIG. 4 is an exemplary flowchart for explaining an operation procedure during disk access of the host bus adapter (HBA) according to the embodiment;
FIG. 5 is a first diagram for explaining a data replacement algorithm of the host bus adapter (HBA) of the embodiment;
FIG. 6 is a second diagram for explaining a data replacement algorithm of the host bus adapter (HBA) of the embodiment;
FIG. 7 is a third diagram for explaining a data replacement algorithm of the host bus adapter (HBA) of the embodiment;
FIG. 8 is an exemplary flowchart for explaining an execution operation procedure of a data replacement algorithm of the host bus adapter (HBA) according to the embodiment;
[Explanation of symbols]
1 ...
12 ...
16a to n ...
132 ... CRT
133 ... LCD
141 ...
Claims (6)
各ディスク装置のアクセス回数に関する頻度情報をディスクブロックごとに管理するアクセス頻度管理手段と、
前記アクセス頻度管理手段により管理される頻度情報に基づき、前記複数のディスク装置間のアクセス頻度の偏りが予め定められた許容範囲を越えていないかどうかを監視し、予め定められた許容範囲を越えるアクセス頻度の偏りを検出したときに、予め定められた規則で選定されるアクセス頻度の高いディスク装置のディスクブロック上のデータとアクセス頻度の低いディスク装置のディスクブロック上のデータとを交換するディスク制御手段と、
前記ディスク制御手段によりデータが交換されたディスクブロックのアドレスとそのデータを実際に格納するディスクブロックのアドレスとを対応づけるマッピングテーブルを管理するマッピング管理手段と、
いずれかのディスクブロックに対するアクセスが要求されたときに、前記マッピング管理手段により管理されるマッピングテーブルを参照し、必要に応じてアドレス変換を行った後に前記複数のディスク装置に対するアクセスを実行するアクセス制御手段と、
前記マッピング管理手段により管理されるマッピングテーブルに基づき、ディスクブロックすべてを交換前の状態に復元するディスク復元手段と、
を具備することを特徴とするディスク制御装置。A disk control device for adaptively and almost uniformly distributing the access frequency to each of a plurality of disk devices,
Access frequency management means for managing frequency information regarding the number of accesses of each disk device for each disk block;
Based on the frequency information managed by the access frequency management means, it is monitored whether or not the deviation of access frequency between the plurality of disk devices exceeds a predetermined allowable range, and exceeds the predetermined allowable range. Disk control for exchanging data on a disk block of a disk device with a high access frequency selected by a predetermined rule and data on a disk block of a disk device with a low access frequency when an uneven access frequency is detected Means,
Mapping management means for managing a mapping table that associates addresses of disk blocks whose data has been exchanged by the disk control means with addresses of disk blocks that actually store the data;
Access control for executing access to the plurality of disk devices after referring to a mapping table managed by the mapping management means and performing address conversion as necessary when access to any disk block is requested Means,
Based on the mapping table managed by the mapping management means, disk restoring means for restoring all disk blocks to the state before replacement;
A disk control device comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000132692A JP3977573B2 (en) | 2000-05-01 | 2000-05-01 | Disk controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000132692A JP3977573B2 (en) | 2000-05-01 | 2000-05-01 | Disk controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001312372A JP2001312372A (en) | 2001-11-09 |
| JP3977573B2 true JP3977573B2 (en) | 2007-09-19 |
Family
ID=18641335
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000132692A Expired - Fee Related JP3977573B2 (en) | 2000-05-01 | 2000-05-01 | Disk controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3977573B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4224077B2 (en) | 2006-04-04 | 2009-02-12 | 株式会社東芝 | Storage system |
| JP5287414B2 (en) * | 2009-03-27 | 2013-09-11 | 日本電気株式会社 | Storage system, storage power consumption reduction method, program |
| CN108259583B (en) * | 2017-12-29 | 2020-05-26 | 广州云达信息技术有限公司 | Data dynamic migration method and device |
-
2000
- 2000-05-01 JP JP2000132692A patent/JP3977573B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001312372A (en) | 2001-11-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9104328B2 (en) | Storage apparatus and method for controlling storage apparatus | |
| WO2012056596A1 (en) | Computer system and processing control method | |
| JP6372074B2 (en) | Information processing system, control program, and control method | |
| US12468610B2 (en) | Methods and systems for rapid failure recovery for a distributed storage system | |
| EP1434125A2 (en) | Raid apparatus and logical device expansion method thereof | |
| US12299279B2 (en) | File operations in a distributed storage system | |
| US12099412B2 (en) | Storage system spanning multiple failure domains | |
| US12229085B2 (en) | Access redirection in a distributive file system | |
| US11366682B1 (en) | Automatic snapshotting for recovery of instances with local storage | |
| JP2006350780A (en) | Cache allocation control method | |
| US11977786B2 (en) | Implementing coherency and page cache support in a distributed way for files | |
| US7159074B2 (en) | Data storage system | |
| US8700572B2 (en) | Storage system and method for controlling storage system | |
| US20080215843A1 (en) | Storage area management method for a storage system | |
| US20080072229A1 (en) | System administration method and apparatus | |
| JP3977573B2 (en) | Disk controller | |
| WO2012124017A1 (en) | Command control method and command control program | |
| JP7675144B2 (en) | Management device, management method, and program | |
| JP7537134B2 (en) | CONTAINER MANAGEMENT DEVICE, CONTAINER MANAGEMENT METHOD, AND PROGRAM | |
| KR101444783B1 (en) | System managing method for improving system availability | |
| US20250110842A1 (en) | Computer system and operation management method | |
| US8505007B2 (en) | Method and system for instantly creating an IT environment | |
| TWI718642B (en) | Memory device managing method and memory device managing system | |
| JPH0764811A (en) | Computer backup system | |
| JP2025174661A (en) | Program, information processing method and cluster system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040915 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070315 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070327 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070525 |
|
| 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: 20070619 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070621 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100629 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110629 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120629 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130629 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |