JP4025032B2 - Disk control device and data access method thereof - Google Patents
Disk control device and data access method thereof Download PDFInfo
- Publication number
- JP4025032B2 JP4025032B2 JP2001192543A JP2001192543A JP4025032B2 JP 4025032 B2 JP4025032 B2 JP 4025032B2 JP 2001192543 A JP2001192543 A JP 2001192543A JP 2001192543 A JP2001192543 A JP 2001192543A JP 4025032 B2 JP4025032 B2 JP 4025032B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- cache memory
- data
- memory unit
- disk
- 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
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ディスク制御装置に係り、特に、磁気ディスク装置に対してリード・ライトされるデータを格納するためのキャッシュメモリ部と、ディスク制御装置の制御用データを格納するための共有メモリ部の二種の内部メモリを有するディスク制御装置であって、キャッシュメモリ部を増設しても、それに応じた共有メモリ部の増設の必要のないディスク制御装置に関する。
【0002】
【従来の技術】
今日のコンピュータシステムにおいて、処理性能の向上に対する期待は大きく、特に、補助記憶装置の代表たる磁気ディスクを記憶媒体とするディスクサブシステムのI/O性能向上に対する要求は、年々高いものになっている。このディスクサブシステム(以下「サブシステム」ともいう。)のI/O性能は、半導体記憶装置を記憶媒体とするコンピュータの主記憶のI/O性能に比べて、3〜4桁程度小さく、従来からこの差を縮めること、すなわちサブシステムのI/O性能を向上させる努力がなされている。
【0003】
また、銀行、証券、電話会社等に代表される大企業では、従来各所に分散していたコンピュータおよびストレージを、データセンターの中に集中化してコンピュータシステムおよびストレージシステム構成することにより、コンピュータシステムおよびストレージシステムの運用、保守、管理に要する費用を削減する傾向にあり、特に、大型/ハイエンドのストレージシステムには、数百台以上のホストコンピュータへ接続するためのチャネルインタフェースのサポート(コネクティビティ)、数百テラバイト以上の記憶容量のサポートが要求されている。
【0004】
サブシステムのI/O性能を向上させるための1つの方法として、複数の磁気ディスク装置でサブシステムを構成し、データを複数の磁気ディスク装置に格納する、いわゆるディスクアレイと呼ばれるシステムが知られている。ディスクアレイの場合、上位コンピュータからのI/Oを記録する複数の磁気ディスク装置と、上位コンピュータのI/Oを受付け、複数の磁気ディスク装置へ転送するディスクアレイ制御装置(以下、単に「ディスク制御装置」ということも有る)から構成されるのが一般的である。
【0005】
このようなディスクアレイ制御装置は、性能を向上させるために、磁気ディスク装置に対してリード・ライトされるデータをこの制御装置内に格納するためのキャッシュメモリ部を持つのが一般的である。
【0006】
また、そのようなキャッシュメモリ部とは別に、ディスクアレイ制御装置の制御用情報を格納を格納する共有メモリ部を持つことがある。このような制御用情報としては、例えば、ディスクアレイ制御装置内のキャッシュメモリの管理情報等がある。
【0007】
以下、図2を用いて、このようなキュッシュメモリ部と共有メモリ部の二種の内部メモリを持つようなディスクアレイ制御装置の構成に関して説明する。
図2は、従来技術に係る内部構成を共有バス結合にしたディスクアレイ制御装置の構成図である。
【0008】
図2に示されるディスクアレイ制御装置2では、共有バス16により、内部の構成要素であるホストIF部11、ディスクIF部12、共有メモリ部13、キャッシュメモリ部14が接続されている。
【0009】
ホストIF部11は、ホストコンピュータ50とディスクアレイ制御装置2との間のデータ転送を実行し、ディスクIF部12は、磁気ディスク装置5とディスクアレイ制御装置2間のデータ転送を実行する部分である。
【0010】
また、上で説明したようにキャッシュメモリ部14は、磁気ディスク装置20のデータを一時的に格納するメモリであり、共有メモリ部13は、ディスクアレイ制御装置2に関する制御情報を格納するメモリである。
【0011】
そして、1つのディスクアレイ制御装置2内において,共有メモリ部13、キャッシュメモリ部14は、全てのホストIF部11およびディスクIF部12からアクセス可能な構成となっている。
【0012】
また、ホストIF部11は、ホストコンピュータ50と接続するためのインターフェースおよびホストコンピュータ50に対する入出力を制御するマイクロプロセッサ(図示せず)を有している。同様に、ディスクIF部12は、磁気ディスク装置5と接続するためのインターフェースおよび磁気ディスク装置5に対する入出力を制御するマイクロプロセッサ(図示せず)を有している。また、ディスクIF部12は、RAID機能の実行もおこなう。
【0013】
図2で示した共有バス16に代わってスイッチを用いた相互結合網を介して、各IF部を接続する
【0014】
【発明が解決しようとする課題】
上記ディスクアレイ制御装置では、データの種別によって、二種類の内部メモリを使い分けて性能向上を図っている。
【0015】
ところで、ディスクアレイ装置のI/Oスループット性能の伸びは大きく、それに対応するため各IF部の処理性能を向上させる必要がある。この従来技術に係るディスクアレイ制御装置では、この処理性能の向上に伴って共有バス16の利用率は飽和状態となり、それが原因でスループット性能が制限されていた。そこで共有バスのスループットを上げるための努力がなされたが装置の構成上、バス幅、駆動周波数等を改善することは難しくスループット向上にも限界があった。
【0016】
一方、キャッシュメモリに対しては近年、ディスク容量の増大に伴い、メモリ容量も増大化している。ディスク装置の増設に伴って、ユーザは、キャッシュメモリ部のメモリモジュールを増設しなければならないこともある。
【0017】
ところが、共有メモリ部は、キャッシュメモリアクセスの排他制御のために管理情報を格納するために、キャッシュメモリを増設することにより、共有メモリ部のメモリ容量も増設することが必要となる。
【0018】
そのため、上記従来技術に係るディスクアレイ制御装置の場合に、共有メモリ部とキャッシュメモリ部を分離しているが、キャッシュメモリのピーク容量(使用される可能性のある最大値)に合せて、予め共有メモリの必要とする最大の容量を搭載しておくか、さもなければ、キャッシュメモリ増設時にユーザーに対して共有メモリの増設を促す必要が生じる。そのためにユーザにコスト的な負担をかけると言う問題点があった。
【0019】
そこで、その解決策として、キャッシュメモリの一部を共有メモリに格納されるべきディスクアレイ制御装置の制御情報を格納するために使うことが考えられる。通常、キャッシュメモリの増設量に比べて、共有メモリの増設分はかなり小さなものになるからである。
【0020】
しかしながら、共有メモリに格納されるべきディスクアレイ制御装置の制御情報は、短く頻繁なアクセスをおこなうデータであったため、そのように一部をキャッシュメモリに置いて、アクセスすれば、プロトコル・オーバーヘッドによる影響をうけ、アクセス性能は低下してしまうことが予想されると言う問題点があった。
【0021】
本発明は、上記従来技術の問題点を解決するためになされたもので、その目的は、キュッシュメモリ部と共有メモリ部の二種類のメモリを有するディスク制御装置において、キュッシュメモリ部の増設に応じて、共有メモリ部の増設を必要とせず、しかも、アクセス性能の低下しないようなディスク制御装置を提供することを目的とする。
【0022】
【課題を解決するための手段】
キャッシュメモリ部と共有メモリ部との間に転送パスを設ける。そして、ディスク制御装置の制御データは、今まで通り、共用メモリ部の結合網を利用して転送し、新たに設けたキャッシュメモリ部と共有メモリ部の間の転送パスを通じて、キュッシュメモリ部の専用バッファへデータを転送する。キャッシュメモリ部アクセス権を、従来のキャッシュアクセスとこのキュッシュメモリ部と共有メモリ部の転送パス経由のアクセスとの間を調停し、メモリへライトをおこなう。これによりプロトコル性能を変更せずに、一部の共有メモリデータをキュッシュメモリに格納することが可能となる。
【0023】
このようにすれば、アクセスは、共有メモリの接続を通じてなされるため、キャッシュメモリに格納するデータであっても、キャッシュメモリデータのプロトコルによるオーバーヘッドによる性能低下をすることなく、アクセスすることが可能となる。また、メモリコントローラの制御を工夫することにより、キャッシュメモリデータパスからのメモリへのデータの書き込み時間の隙間に共有メモリ部からのデータをメモリへ格納することができ、メモリパスの効率を上げることが可能である。
【0024】
【発明の実施の形態】
以下、本発明に係る一実施形態を、図1、図3ないし図13を用いて説明する。
【0025】
〔共有メモリとキャッシュメモリの結合網〕
先ず、図3、図4を用いて共有メモリとキャッシュメモリの結合網について説明する。
図3、図4は、共有メモリとキャッシュメモリの結合網として、図2に示した共有バス16に代わってスイッチを用いた相互結合網を介して各IF部を接続する別のタイプであるディスクアレイ制御装置の構成図である。
【0026】
ここで、図3に示す例では、共有メモリとキャッシュメモリの結合網の両者がスイッチを用いた結合網になっており、図4に示す例では、キャッシュメモリの結合網のみがスイッチを用いた結合網になっている。
【0027】
図3のディスクアレイ制御装置2Bでは、共有メモリ部13と、ホストIF部11、ディスクIF部12との間、および、キャッシュメモリ部14と、ホストIF部11、ディスクIF部12との間は,それぞれクロスバースイッチからなる相互結合網21、および、相互結合網22でそれぞれ接続されている。
【0028】
この方法では相互接続された個々のパスのスループットは、共有バスの数分の1であるが相互接続された2点間には複数のパスが存在するため、負荷が分散され、スループットの向上が可能となる。
【0029】
さらに、共有メモリとキャッシュメモリの結合網を別のタイプにした図4に示すディスクアレイ制御装置も考えられる。
【0030】
この構成では、キャッシュメモリ部14と、ホストIF部11、ディスクIF部12との間は,図3と同じようにクロスバースイッチからなる相互結合網22であるが、共有メモリ部13は、ホストIF部11、ディスクIF部12との間は、ダイレクトに接続されている。
【0031】
このように、図4において共有メモリ結合網21とキャッシュメモリ結合網22は区別し、独立する構成にしたのは、両者の取扱うデータの種類に起因するものである。すなわち、キャッシュメモリ部14は、ディスクから読み込むデータをホストへ格納する途中に一時格納するメモリであるため、データ長の長いパケットデータ転送のようなシーケンシャルなアクセスが多く、このアクセスには、スループット性能が重要となる。
【0032】
一方、共有メモリ部13は、装置の制御情報を格納するためりメモリであるため、ランダムアクセスの多いメモリアクセスが多くなり、レスポンス重視という性格がある。この2つのアクセスの性格は、相反するもので同じ経路、プロトコルで転送すれば、どちらかの性能を低下させてしまうことになるからである。
【0033】
図4の装置では、図3と違い、共有メモリ部13の共有メモリ結合網21は、CSW(クロスバースイッチ)部を使わないダイレクト結合になっており、このためレスポンス時間を短くするには都合が良い。また、反対にキャッシュメモリ部14の、キャッシュメモリ結合網22は、構成が大きいが、多重にアクセスをおこない使用帯域をあげるためにCSW(クロスバースイッチ)部により階層化した構造をとっている。
【0034】
〔ディスク制御装置の構成〕
次に、図1を用いて本発明に係るディスク制御装置の構成について説明する。
図1は、本発明に係るディスク制御装置の構成図である。
【0035】
本実施形態のディスク制御装置1は、ホストコンピュータ50とインタフェースを持つためのホストIF部11と、磁気ディスク装置20とインターフェースを持つためのディスクIF部12を有している。通常、これらのインタフェースは、並列処理により、性能を上げるため、複数設けられることが多い。図1では、それぞれ2つずつ図示されている。また、このディスク制御装置1は、用途の異なるキャッシュメモリ部14と、共有メモリ部15の二種類のメモリを有し、それぞれ、ホストIF部11とディスクIF部12と接続されている。なお、以下、キャッシュメモリのことを「CM」と表記し、共有メモリのことを「SM」と表記することがある。
【0036】
ホストIF部11は、ホストIF3、マイクロプロセッサ6、CMアクセス制御部4a、SMアクセス制御部5aを有している。ホストIF3は、ホストコンピュータ50とのインタフェースを担当する部分である。マイクロプロセッサ6は、ホストコンピュータ50に対する入出力を制御する部分である。CMアクセス制御部4aは、キャッシュメモリ部14へのアクセスを制御する部分である。SMアクセス制御部5aは、共有メモリ部15へのアクセスを制御する部分である。
【0037】
ホストIF部11は、マイクロプロセッサ6の制御により、ホストコンピュータ50とキャッシュメモリ部14との間のデータ転送を実行する。図1に示されるようにマイクロプロセッサ6とホストIF3は、内部バスによって接続され、CMアクセス制御部4も、ホストIF3に接続されている。
【0038】
また、同様に、SMアクセス制御部5aもマイクロプロセッサ6の制御により共有メモリ部15と接続するSMパス40を使用しデータを転送する。
【0039】
ディスクIF部12は、ドライブIF2、マイクロプロセッサ6、CMアクセス制御部4b、SMアクセス制御部5bを有している。
【0040】
ドライブIF2は、磁気ディスク装置20とのインタフェースを担当する部分である。マイクロプロセッサ6は、磁気ディスク装置20に対する入出力を制御する部分である。CMアクセス制御部4bは、キャッシュメモリ部14へのアクセスを制御する部分である。SMアクセス制御部5bは、共有メモリ部15へのアクセスを制御する部分である。
【0041】
このディスクIF部12は、マイクロプロセッサ6の制御により磁気ディスク装置20とキャッシュメモリ部14間のデータ転送を実行する。図1に示されるようにマイクロプロセッサ6およびドライブIF2は内部バスによって接続され、CMアクセス制御部4bは、ドライブIF2に接続されている。また、ディスクIF部はRAID制御等の演算機能の実行もおこなう。
【0042】
また、同様に、SMアクセス制御部5bもマイクロプロセッサ6の制御により共有メモリ部15と接続するSMパス40を使用しデータを転送する。
【0043】
キャッシュメモリ部14は、磁気ディスク装置20に対してリード・ライトされるデータを一時的に格納し、アクセスすることにより、アクセス性能を上げるために設けられるメモリである。キャッシュメモリ部14は、CMコントローラ7、メモリモジュール9を1つの単位として、磁気ディスク20の容量、性能に対する要求に応じて、複数設置される。
【0044】
ホストIF部11とディスクIF部12は、CMパス0(31)により、クロスバー・スイッチ部13と接続されていて、キャッシュメモリ部14は、CMパス1(32)により接続されている。
【0045】
すなわち、ホストIF部11のCMアクセス制御部4aと、ディスクIF部12のCMアクセス制御部4bにはCMパス0(31)が接続されており、キャッシュメモリ部14のCMコントローラ部7は、CMパス1(32)が接続されている。そして、複数のCMアクセス制御部4a,4bに接続するそれぞれのCMパス0(31)と複数のCMコントローラ部7に接続するそれぞれのCMパス1(32)は、クロスバー・スイッチ(CSW)部13を経由し、階層的に接続されている。
【0046】
共有メモリ部15は、このディスク制御装置1の制御用データを格納するメモリである。特に、共有メモリ部15は、制御用データとして、キャッシュメモリ部7のアクセスの排他制御等に必要な管理情報を格納する。この共有メモリ部15も、SMコントローラ7、メモリモジュール9を1つの単位として、性能に対する要求に応じて、複数設置される。
【0047】
また、共有メモリ部15は、SMパス40により、ホストIF部11とディスクIF部12により接続されている。
【0048】
すなわち、ホストIF部11のSMアクセス制御部5aと、ディスクIF部12のSMアクセス制御部5bには、SMパス40を介して共有メモリ部15のSMコントローラ部8と接続されている。
【0049】
ここで、CMパスのようにクロスバースイッチによる階層構造をとらないのは、共有メモリデータがキャッシュメモリデータと違って、容量も小さく、トランザクション的なアクセスが多くレスポンス時間が短いことが性能向上に不可欠なため、スイッチングによるプロトコル・オーバーヘッド時間を少なくする効果もある。すなわち、キャッシュメモリ部と共有メモリ部を分離した経路を持つ意味は、データアクセスの性質が相異なることを考慮している為である。
【0050】
また、共有メモリ部15のSMコントローラ8と、キャッシュメモリ部14のCMコントローラ8は、独自のCM/SM転送パス41で接続されていて、従来なら共有メモリ部15に、格納していた制御データをこのCM/SM転送パス41を介して、キャッシュメモリ部14にも格納できるようになっている。
【0051】
この接続の形態は、共有メモリ部15とキャッシュメモリ部14を1対1で接続する形態でも良いし、1つの共有メモリ部15に対して、キャッシュメモリ部14を複数接続する、1対多で接続する形態でも良い。
【0052】
〔各ディスク制御装置の各部の詳細構成〕
次に、図5ないし図9を用いて本発明に係るディスク制御装置の各部のより詳細な構成について説明する。
(I)CMアクセス制御部
先ず、図5を用いてCMアクセス制御部4a,4bの構成について説明する。
図5は、CMアクセス制御部4a,4bの構成図である。
【0053】
CMアクセス制御部4は、セレクタ102と、アドレス、コマンド、データを一時格納するパケットバッファ103と、クロスバー・スイッチ部13に接続するCMパス0(31)とのパスIF101と、データのエラーチェック回路部100と、データ転送制御部110とを有する。
【0054】
セレクタ102の2つのポートは、データ線29でホストIF3あるいはドライブIF2に接続されている。
【0055】
また、セレクタ102の他の2つのポートは、パケットバッファ103を介してパスIF101に接続され、パスIF101は、CMパス0(31)でクロスバー・スイッチ部13に接続されている。データ転送制御部110は、制御線2(33)でクロスバー・スイッチ部13内(後の図7に示す)のデータ転送制御部132に接続されている。データ転送制御部110は、アービタ108によりホストIF3あるいはドライブIF2からのアクセス要求のアービトレーション(調停)をおこない、セレクタ102に切り替えをおこなう。
(II)SMアクセス制御部
次に、図6を用いてSMアクセス制御部5a,5bの構成について説明する。図6は、SMアクセス制御部5a,5bの構成図である。
【0056】
SMアクセス制御部4は、セレクタ112と、アドレス、コマンド、データを一時格納するパケットバッファ113と、クロスバー・スイッチ部13に接続するSMパス0(31)とのパスIF111と、データのエラーチェック回路部114と、データ転送制御部115とを有する。
【0057】
セレクタ102の2つのポートは、データ線28でホストIF3あるいはドライブIF2に接続されている。
【0058】
また、セレクタ102の他の2つのポートは、パケットバッファ113を介してパスIF101に接続され、パスIF101は、SMパス40で、共有メモリ部15にダイレクトに接続されている。データ転送制御部115は、制御線2(36)で共有メモリ部15内(後の図9に示す)のデータ転送制御部152に接続されている。データ転送制御部115は、アービタ118によりホストIF3あるいはドライブIF2からのアクセス要求のアービトレーションをおこない、セレクタ112に切り替えをおこなう。
(III)クロスバー・スイッチ部
次に、図7を用いてクロスバー・スイッチ部13内の構成について説明する。図7は、クロスバー・スイッチ部13の構成図である。
【0059】
クロスバー・スイッチ(CSW)部13は、CMパス0(31)とCMパス1(32)の両者間を互いに接続するセレクタ136と、パケットバッファ133と、パスIF131と、データのエラーチェック回路部130と、CMアクセス制御部4から送出されたアドレスおよびコマンドを解析するアドレス/コマンド解析部135と、データ転送制御部132とを有する。
【0060】
CMパス0(31)は、ホストIF部11、ディスクIF部12につながっていて、 CMパス1(32)は、キャッシュメモリ部14の中のCMコントローラ7につながっている。
【0061】
データ転送制御部132は、制御線2(33)で、図5に示したCMアクセス制御部4内のデータ転送部110に接続され、制御線3(34)で、キャッシュメモリ部14の中のCMコントローラ7内のデータ転送制御部148(次の図7に示す)に接続されている。また、データ転送制御部132は、アービタ138により、アドレス/コマンド解析部135で解析したCMパス0(31)からのアクセス要求のアービトレーション(調停)を行い、セレクタ136の切り替えをおこなう。
【0062】
パケットバッファ133は、CMパス0(31)側のパスとCMパス1(32)側のパスでデータ転送速度に差がある場合、速度差を吸収するために、転送するデータの一部または全部をバッファリングする。
【0063】
アドレス/コマンド解析部135は、アドレスおよひコマンドを格納するバッファと、アドレス抽出部と、コマンド抽出部とを有する(図示はしていない)。アドレス/コマンド解析部135は、CMアクセス制御部4に接続される複数のCMパス0(31)、それぞれに割り当てられたバッファに、アドレス、コマンドを格納する。アドレス抽出部およびコマンド抽出部では、アクセスするCMコントローラ7を割り出し、データ転送制御部132内のアービタ138へ送出する。
(IV)キャッシュメモリ部
次に、図8を用いてキャッシュメモリ部14内の構成について説明する。
図8は、キャッシュメモリ部14の構成図である。
【0064】
キャッシュメモリ部14は、CMコントローラ7とメモリモジュール9とを有する。
【0065】
CMコントローラ7は、パスIF141と、セレクタ144と、データを一時格納するパケットバッファ143と、データのエラーチェック回路部140と、メモリ・モジュール9へのアクセスを制御するメモリ制御部147と、CMアクセス制御部4から送出されたアドレスおよびコマンドを解析するアドレス/コマンド解析部145と、データ転送制御部148とを有する。
【0066】
そして、このCMコントローラ7は、CMパス1(32)によりクロスバー・スイッチ部13につながっている
データ転送制御部148は、アービタ180により、アドレス/コマンド解析部145で解析したCMパス1(32)からのアクセス要求と、本発明の特徴であるSMコントローラ8(後の図9に示す)に接続するSM/CMパス41からアクセス要求とのアービトレーションをおこない、セレクタ144の切り替えをおこなう。
【0067】
アドレス/コマンド解析部145は、バッファとアドレス抽出部とコマンド抽出部を有する(図示はしていない)。アドレス/コマンド解析部145では、CMコントローラ7に接続されるCMパス1(32)のそれぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。アドレス抽出部およびコマンド抽出部ではアクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部147へ送出する。また、CMパス1(32)からのアクセス要求をデータ転送制御部148内のアービタ148へ送出する。
(V)共有メモリ部
次に、図9を用いて共有メモリ部15内の構成について説明する。
図9は、共有メモリ部15の構成図である。
【0068】
共有メモリ部15は、SMコントローラ8とメモリモジュール9とを有する。
【0069】
SMコントローラ8は、パスIF151と、セレクタ156と、データを一時格納するパケットバッファ153と、データのエラーチェック回路部150と、メモリ・モジュール9へのアクセスを制御するメモリ制御部157と、SMアクセス制御部4から送出されたアドレスおよびコマンドを解析するアドレス/コマンド解析部155と、データ転送制御部152とを有する。
【0070】
そして、このSMコントローラ8は、SMパス40により、ダイレクトにSMアクセス制御部5a,5bにつながっている
データ転送制御部152は、アービタ158により、アドレス/コマンド解析部155で解析したSMパス40からのアクセス要求のアービトレーションをおこな、セレクタ154の切り替え、すなわち図10に示されているように、メモリモジュール9への接続するか、あるいは、パスIF151を介して、図8に示したCMコントローラ7へ接続するSM/CMパス41への接続するかの選択をおこなう。
【0071】
アドレス/コマンド解析部155は、バッファとアドレス抽出部とコマンド抽出部を有する(図示はしていない)。アドレス/コマンド解析部155では、SMコントローラ7に接続されるSMパス40のそれぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。アドレス抽出部およびコマンド抽出部ではアクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部157へ送出する。また、SMパス40からのアクセス要求をデータ転送制御部152内のアービタ158へ送出する。
【0072】
〔メモリアクセスの動作〕
次に、図10ないし図13を用いて本発明に係るディスク制御装置のメモリアクセスの動作について詳細に説明する。
(I)キャシュメモリ部のアクセス
先ず、キャシュメモリ部14のアクセス手順について説明する。
キャッシュメモリ部14へのアクセスする場合、マイクロプロセッサ6は、ホストIF3あるいはドライブIF2へ、キャッシュメモリ部14へのアクセス開始を指示する。
【0073】
アクセス開始の指示を受けたホストIF3あるいはドライブIF2は、制御線1(30)により、図5に示されるCMアクセス制御部4a,4b内のデータ転送制御部110へアクセス開始を示す信号を送出し、それとともにデータ線29を通じてアドレス、コマンド、データを送出する。
【0074】
CMアクセス制御部4は、データ線29を通して送られてきたアドレス、コマンド、データをパケットバッファ103に格納する。データ転送制御部110はアービトレーションをおこなってパスIF101の使用権を決定し、セレクタ102を切り替える。
(I−1)キャッシュライトアクセス
ここで、図10を用いてキャッシュメモリ部14へデータを書き込む場合の手順について説明する。
図10は、キャッシュメモリ部14へデータを書き込む場合の、CMアクセス制御部4a,4bからCMコントローラ7へのアクセスの流れを示すシーケンス図である。
【0075】
図5に示されるCMアクセス制御部4a,4b内のデータ転送部110は、アービトレーションによってCMパス0(31)の使用権が決定されると、制御線2(33)によって、クロスバー・スイッチ部13内のデータ転送制御部1(32)へアクセス開始を示す信号(REQ)を出す(シーケンス501)。続いてアドレスおよびコマンドを送出する(シーケンス502)。
【0076】
図7に示されるクロスバー・スイッチ部13内のデータ転送制御部132は、CMアクセス制御部4からREQ信号を受け取り、次に、CMパス0(31)を通じて送られてくるアドレスおよびコマンドを受信し、アドレス/コマンド解析部135で解析したアクセス要求に基づいてアービトレーションをおこなう(シーケンス503)。アービトレーションの結果、CMパス1(32)への接続権を得たら、データ転送制御部132は、セレクタ136を切り替える(シーケンス504)。そして、制御線2(33)によりCMアクセス制御部4a,4b内のデータ転送制御部110へ、CMパス1(32)への接続が得られたことを示す信号(ACK)を返す(シーケンス505)。
【0077】
次に、クロスバー・スイッチ部13内のデータ転送制御部132は、制御線3(32)によって、図8に示されるCMコントローラ7内のデータ転送制御部148へのアクセス開始を示す信号(REQ)を出す(シーケンス506)。続いてアドレスおよびコマンドを送出する(シーケンス507)。
【0078】
CMアクセス制御部4a,4bは、ACK信号を受け取ると、パケットバッファ103からデータを読み出しセレクタ102、パスIF101を介してCMパス0(31)へ送出する。クロスバー・スイッチ部13は、CMパス0(31)を通して送られてきたデータを、パスIF131およびセレクタ136を介してCMパス1(32)へ送出する(シーケンス509)。
【0079】
CMコントローラ7内のデータ転送制御部148は、制御線3(34)によってREQ信号を受け取ると、次に、CMパス1(32)を通して送られてきたアドレスおよびコマンドを受信し、アドレス/コマンド解析部145で解析したアクセス要求に基づいてアービトレーションをおこない(シーケンス508)、セレクタ144を切り替える。CMパス1(32)を通じて送られてくるデータは、パケットバッファ143に格納される。
【0080】
そして、アービトレーションの結果、メモリモジュール9へのアクセス権を得たときに、メモリの制御情報をメモリ制御部147へ送出し、メモリアクセスのための前処理をおこなう(シーケンス510)。次に、パケットバッファ143からデータが読み出され、セレクタ304を介してメモリモジュール9へ書き込まれる(シーケンス511)。
【0081】
メモリモジュール9へのアクセスが終了すると、CMコントローラ7は、メモリアクセスの後処理をおこない、データ転送制御部148においてアクセス結果(アクセス状況)を示すステータス情報(STATUS)を生成する(シーケンス512)。次に、ステータス情報をクロスバー・スイッチ部13を介してCMアクセス部4へ送出する(シーケンス513)。クロスバー・スイッチ部13内のデータ転送制御部148は、ステータス情報(STATUS)を受け取ると、CMコントローラ107へのREQ信号をオフにする(シーケンス514)。
【0082】
そして、CMアクセス制御部4内のデータ転送制御部110は、STATUSを受け取るクロスバー・スイッチ部13へのREQ信号をオフにする(シーケンス515)。クロスバー・スイッチ部13内のデータ転送制御部132は、CMアクセス制御部4からのREQ信号のオフを確認すると、CMアクセス制御部4へのACK信号をオフする(シーケンス516)。CMアクセス制御部4内のデータ転送制御部110はステータスを受け取ると、制御線1(30)により、ホストIF11あるいはドライブIF12へキャッシュメモリ部14へのアクセスの終了を報告する。
(I−2)キャッシュリードアクセス
次に、キャッシュメモリ部14からデータを読み出す場合の手順について説明する。
【0083】
キャッシュメモリ部14からデータを読み出す場合(リード動作)のCMアクセス制御部4からCMコントローラ7へのアクセスの流れはシーケンス501から508までと同じであり、シーケンス512以降はデータの書き込みの場合(ライト動作)と同じである。ここでCMアクセス制御部4は、シーケンス506でACK信号を受けると、データの受信待ち状態に入る。
【0084】
CMコントローラ7は、シーケンス508でメモリアクセス権を得ると、メモリモジュール9からデータを読み出し、セレクタ144、パスIF141を介してCMパス1(32)にデータを送出する。クロスバー・スイッチ部13は、CMパス1(32)を通じてデータを受信すると、CMパス0(31)に出力し、CMアクセス制御部4a,4bは、セレクタ102、データ線29を介してホストIF3あるいはドライブIF2へデータを送出する。
(II)共有メモリ部のアクセス
次に、共有メモリ部15のアクセス手順について説明する。
【0085】
共有メモリ部15へのアクセスする場合、マイクロプロセッサ6は、ホストIF3あるいはドライブIF2へ、共有メモリ部15へのアクセス開始を指示する。
【0086】
アクセス開始の指示を受けたホストIF3あるいはドライブIF2は、制御線1(35)により、図6に示されるSMアクセス制御部5a,5b内のデータ転送制御部115へアクセス開始を示す信号を送出し、それとともにデータ線28を通してアドレス、コマンド、データを送出する。
【0087】
SMアクセス制御部5a,5bは、データ線28を通じて送られてきたアドレス、コマンド、データをパケットバッファ113に格納する。データ転送制御部115は、アービトレーションをおこなって、パスIF111の使用権を決定し、セレクタ112を切り替える。
(II−1)共有メモリライトアクセス
先ず、図11を用いて共有メモリ部15へデータを書き込む場合の手順について説明する。
図11は、共有メモリ部15へデータを書き込む場合の、SMアクセス制御部5a,5bからSMコントローラ8へのアクセスの流れを示すシーケンス図である。
【0088】
図6に示されるSMアクセス制御部5a,5b内のデータ転送部115は、アービトレーションによってSMパス40の使用権が決定されると、制御線2(36)によってSMアクセス制御部5a,5b内のデータ転送制御部115へアクセス開始を示す信号(REQ)を出す(シーケンス601)。続いてアドレスおよびコマンドを送出する(シーケンス602)。図9に示される共有メモリ部15のSMコントローラ8内のデータ転送制御部152は、SMアクセス制御部5a,5bからREQ信号を受け取り、次に、SMパス40を通じて送られてくるアドレスおよびコマンドを受信し、アドレス/コマンド解析部155で解析したアクセス要求に基づいてアービトレーションをおこなう(シーケンス603)。アービトレーションの結果、接続権を得たときに、データ転送制御部152はセレクタ156を切り替える(シーケンス504)。
【0089】
SMコントローラ8内のデータ転送制御部152は、制御線2(35)によってREQ信号を受け取ると、次にSMパス140を通じて送られてきたアドレスおよびコマンドを受信し、アドレス/コマンド解析部155で解析したアクセス要求に基づいてアービトレーションをおこない(シーケンス608)、セレクタ156を切り替える。SMパス40を通じて送られてくるデータは、パケットバッファ153に格納される。
【0090】
アービトレーションの結果、メモリモジュール9へのアクセス権を得たときに、データ転送制御部152は、メモリの制御情報をメモリ制御部157へ送出し、メモリアクセスのための前処理をおこなう(シーケンス610)。次に、パケットバッファ153からデータが読み出され、セレクタ156を介してメモリモジュール9へ書き込まれる(シーケンス611)。
【0091】
メモリモジュール9へのアクセスが終了すると、SMコントローラ8は、メモリアクセスの後処理をおこない、データ転送制御部152においてアクセス結果(アクセス状況)を示すステータス情報(STATUS)を生成する(シーケンス612)。次に、ステータス情報をSMアクセス制御部5a,5bへ送出する(シーケンス613)。SMアクセス制御部5a,5b内のデータ転送制御部115は、ステータス情報(STATUS)を受け取ると、SMコントローラ8へのREQ信号をオフにする(シーケンス614)。制御線1(35)により、ホストIF3あるいはドライブIF2へ共有メモリ部15へのアクセスの終了を報告する。
(II−2)共有メモリリードアクセス
次に、共有メモリ部15からデータを読み出す場合の手順について説明する。
【0092】
共有メモリ部15からデータを読み出す場合(リード動作)のSMアクセス制御部5a,5bからSMコントローラ8へのアクセスの流れはシーケンス601からシーケンス608までと同じであり、シーケンス612以降はデータの書き込みの場合(ライト動作)と同じである。
【0093】
シーケンス608でメモリアクセス権を得ると、SMコントローラ8は、メモリモジュール9からデータを読み出し、セレクタ156、パスIF151を介してSMパス40にデータを送出する。SMアクセス制御部5a,5bは、セレクタ112、データ線28を介してホストIF3あるいはドライブIF2へデータを送出する。
(III)SMデータ/CMアクセス
これまで述べてきたように、本発明の特徴は、キャッシュメモリ部14と共有メモリ部15の間にSM/CMパス41を設け、従来なら共有メモリ部15に格納していた制御データをこのパスを通じて、キャッシュメモリ部14に格納できるようにしたことであった。
【0094】
このような転送をおこなう条件としては、予め、キャッシュメモリ部に格納するデータを決めておく場合(例えば、キャッシュメモリのある番地からある番地の管理情報は、キャッシュメモリに格納するように決める)と、共有メモリ部15にデータが格納できなくなった場合の二通りが考えられる。
【0095】
以下では、図12および図13を用いて、このSM/CMパス41のパスによりSMコントロール部からCMコントロール部へのデータを転送する手順について説明する。
図12は、SM/CMパス41のパスを用いて、SMコントロール部からCMコントロール部へのデータを転送する手順を示すシーケンス図である。
図13は、キャッシュメモリ部14のCMコントローラ7の動作の概要を示すフローチャートである。
【0096】
共有メモリ部15からデータをキャッシュメモリへ転送する場合(ライト動作)のSMアクセス制御部5a,5bから共有メモリ部15のSMコントローラ8へのアクセスの流れは、図11に示されているシーケンス601からシーケンス604までと同じである。
【0097】
シーケンス602で、アドレス/コマンドをSMコントローラ8が受信し、さらに、SM/CMパス1(41)を通じて送られてくるデータをSMバッファ143に格納する(シーケンス704)。SMコントローラ8は、すべてのデータを受信して、SM/CMパスを通じて、データをCMコントローラ9への送信完了すると、データ転送制御部152においてアクセス結果(アクセス状況)を示すステータス情報(STATUS)を生成する(シーケンス605)。そして、次にステータス情報をSMアクセス制御部5a,5bへ送出する(シーケンス613)。
【0098】
この場合に、SMコントローラ8は、CMコントローラ7からの返答を待たずに処理が進められることに注意する。
【0099】
SMアクセス制御部5a,5b内のデータ転送制御部115はステータス情報(STATUS)を受け取ると、SMコントローラ8へのREQ信号をオフにする(シーケンス614)。そして、制御線1(35)により、ホストIF3あるいはドライブIF2へ共有メモリ部15へのアクセスの終了を報告する。
【0100】
一方、CMコントローラ9においては、シーケンス704にてデータを受信後、データアドレス/コマンド解析部155で解析したアクセス要求に基づいてアービトレーションをおこない(シーケンス705)、メモリモジュール9へのアクセス権を得たときに、セレクタ156をSM/CM41への接続に切り替える(シーケンス706)。そして、 CMコントローラ9は、メモリの制御情報をメモリ制御部147へ送出し、メモリアクセスのための前処理をおこないパケットバッファ143からデータを読み出し、セレクタ304を介してメモリモジュール9へ書き込み(シーケンス707)、メモリモジュール9へのアクセスを終了する。
【0101】
この間のキャッシュメモリ部14のCMコントローラ7の動作の概要は、図13に示されるようになる。
【0102】
CMコントローラ7のアドレス/コマンド解析部145は、REQ ONになっているかを、解析する(S801,S802)。
【0103】
REQ ONのときには、データ転送制御部148のアービタ180により、アービトレーションをおこなう(S805)。
【0104】
REQ ONになっていないときには、SM/CMパス41に接続されているSMバッファ149にデータが来ていないかを調べ、来ているときには、アドレス/コマンド解析部145によるコマンド解析をおこなって、データ転送制御部148のアービタ180により、アービトレーションをおこなう(S805)。
【0105】
その結果、CMパスの出力ポートを獲得できたときには(S806)、セレクタを切替え、アドレス/コマンド解析の結果に従い、CMパス1(32)とメモリモジュール9の接続をする(S807)。そして、メモリモジュール9に対して、データをライトしたり、リードしたりする(S808)。
【0106】
次に、STATUS情報を受信したり、送信して(S809)、最後にREQOFFを受信して終了する(S810)。
【0107】
また、SMパスの出力ポートを獲得できたときには(S811)、セレクタを切替え、アドレス/コマンド解析の結果に従い、SM/CMパス41とメモリモジュール9の接続をする(S812)。そして、メモリモジュール9に対して、データをライトしたり、リードしたりする(S813)。
【0108】
どちらの出力ポートを獲得できないときには、出力ポートを獲得できるまで、アービトレーションを繰り返す。
【0109】
【発明の効果】
本発明によれば、キュッシュメモリ部と共有メモリ部の二種類のメモリを有するディスク制御装置において、キュッシュメモリ部の増設に応じて、共有メモリ部の増設を必要とせず、しかも、アクセス性能の低下しないようなディスク制御装置を提供することができる。
【図面の簡単な説明】
【図1】本発明に係るディスク制御装置の構成図である。
【図2】従来技術に係る内部構成を共有バス結合にしたディスクアレイ制御装置の構成図である。
【図3】共有メモリとキャッシュメモリの結合網として、両者にスイッチを用いた相互結合網を介して各IF部を接続するディスクアレイ制御装置の構成図である。
【図4】共有メモリとキャッシュメモリの結合網として、キャッシュメモリの結合網のみにスイッチを用いた相互結合網を介して各IF部を接続するディスクアレイ制御装置の構成図である。
【図5】CMアクセス制御部4a,4bの構成図である。
【図6】SMアクセス制御部5a,5bの構成図である。
【図7】クロスバー・スイッチ部13の構成図である。
【図8】キャッシュメモリ部14の構成図である。
【図9】共有メモリ部15の構成図である。
【図10】キャッシュメモリ部14へデータを書き込む場合の、CMアクセス制御部4a,4bからCMコントローラ7へのアクセスの流れを示すシーケンス図である。
【図11】共有メモリ部15へデータを書き込む場合の、SMアクセス制御部5a,5bからSMコントローラ8へのアクセスの流れを示すシーケンス図である。
【図12】SM/CMパス41のパスを用いて、SMコントロール部からCMコントロール部へのデータを転送する手順を示すシーケンス図である。
【図13】キャッシュメモリ部14のCMコントローラ7の動作の概要を示すフローチャートである。
【符号の説明】
1…ディスク制御装置、2…ドライブIF、3…ホストIF、4…CM(キャッシュメモリ)制御部、5…SM(共有メモリ)アクセス制御部、6…マイクロプロセッサ部、11…ホストIF部、12…ディスクIF部、13…CSW(クロスバースイッチ)部、14…キャッシュメモリ部、15…共有メモリ部、20…磁気ディスク装置、31…CM(キャッシュメモリ)パス0、32…CM(キャッシュメモリ)パス1、40…SM(共有メモリメモリ)パス、41CM/SMパス、50ホストコンピュータ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a disk controller, and in particular, includes a cache memory unit for storing data to be read from and written to a magnetic disk device, and a shared memory unit for storing control data for the disk controller. The present invention relates to a disk control apparatus having two types of internal memories, which does not require the addition of a shared memory section in response to the addition of a cache memory section.
[0002]
[Prior art]
In today's computer systems, there is a great expectation for improvement in processing performance, and in particular, the demand for improvement in I / O performance of a disk subsystem that uses a magnetic disk, which is a representative auxiliary storage device, as a storage medium is increasing year by year. . The I / O performance of this disk subsystem (hereinafter also referred to as “subsystem”) is about 3 to 4 digits smaller than the I / O performance of the main memory of a computer using a semiconductor storage device as a storage medium. Efforts are being made to reduce this difference, that is, to improve the I / O performance of the subsystem.
[0003]
Also, in large enterprises represented by banks, securities, telephone companies, etc., computer systems and storage systems are configured by centralizing computers and storages that have been distributed in various places in a data center. It tends to reduce the cost of storage system operation, maintenance and management, especially for large / high-end storage systems, support for channel interfaces (connectivity) to connect to hundreds of host computers or more Support for storage capacity of over 100 terabytes is required.
[0004]
As one method for improving the I / O performance of a subsystem, a so-called disk array system is known in which a subsystem is composed of a plurality of magnetic disk devices and data is stored in the plurality of magnetic disk devices. Yes. In the case of a disk array, a plurality of magnetic disk devices that record I / O from a host computer and a disk array controller that accepts I / O of a host computer and transfers it to a plurality of magnetic disk devices (hereinafter simply referred to as “disk control”). It is generally composed of “device”.
[0005]
Such a disk array control device generally has a cache memory unit for storing data read / written to / from the magnetic disk device in the control device in order to improve performance.
[0006]
In addition to such a cache memory unit, there may be a shared memory unit for storing control information for the disk array control device. Such control information includes, for example, cache memory management information in the disk array control device.
[0007]
Hereinafter, the configuration of a disk array control apparatus having two types of internal memories, such as a cache memory unit and a shared memory unit, will be described with reference to FIG.
FIG. 2 is a configuration diagram of a disk array control device in which the internal configuration according to the prior art is a shared bus connection.
[0008]
In the disk
[0009]
The
[0010]
Further, as described above, the
[0011]
In the single disk
[0012]
The
[0013]
Each IF unit is connected through an interconnection network using switches instead of the shared bus 16 shown in FIG.
[0014]
[Problems to be solved by the invention]
In the disk array control device, performance is improved by using two types of internal memories depending on the type of data.
[0015]
By the way, the I / O throughput performance of the disk array device is greatly increased, and it is necessary to improve the processing performance of each IF unit in order to cope with it. In the disk array control apparatus according to this prior art, the utilization rate of the shared bus 16 becomes saturated as the processing performance is improved, and thus the throughput performance is limited. Thus, efforts have been made to increase the throughput of the shared bus. However, due to the configuration of the apparatus, it is difficult to improve the bus width, drive frequency, and the like, and there is a limit to improving the throughput.
[0016]
On the other hand, with respect to cache memory, in recent years, the memory capacity has increased with the increase in disk capacity. As the disk device is added, the user may need to add a memory module of the cache memory unit.
[0017]
However, since the shared memory unit stores management information for exclusive control of cache memory access, it is necessary to increase the memory capacity of the shared memory unit by adding a cache memory.
[0018]
Therefore, in the case of the disk array control device according to the above-described prior art, the shared memory unit and the cache memory unit are separated, but in advance according to the peak capacity (maximum value that can be used) of the cache memory. It is necessary to install the maximum capacity required for the shared memory, or it is necessary to prompt the user to add the shared memory when the cache memory is added. For this reason, there has been a problem of placing a cost burden on the user.
[0019]
Therefore, as a solution, it can be considered that a part of the cache memory is used for storing control information of the disk array control apparatus to be stored in the shared memory. This is because the amount of additional shared memory is usually considerably smaller than the amount of additional cache memory.
[0020]
However, because the control information of the disk array controller to be stored in the shared memory is data that is short and frequently accessed, if part of it is placed in the cache memory and accessed, the influence of the protocol overhead As a result, there is a problem that the access performance is expected to deteriorate.
[0021]
The present invention has been made to solve the above-described problems of the prior art, and an object of the present invention is to respond to the addition of a cache memory unit in a disk control device having two types of memories, a cache memory unit and a shared memory unit. It is an object of the present invention to provide a disk control device that does not require an additional shared memory section and that does not deteriorate access performance.
[0022]
[Means for Solving the Problems]
A transfer path is provided between the cache memory unit and the shared memory unit. Then, the control data of the disk controller is transferred using the shared network of the shared memory unit as before, and the cache memory unit dedicated data is transferred through the transfer path between the newly provided cache memory unit and the shared memory unit. Transfer data to the buffer. The cache memory unit access right is arbitrated between the conventional cache access and the access via the transfer path between the cache memory unit and the shared memory unit, and writing to the memory is performed. This makes it possible to store some shared memory data in the cache memory without changing the protocol performance.
[0023]
In this way, since the access is made through the connection of the shared memory, even the data stored in the cache memory can be accessed without degrading the performance due to the overhead of the cache memory data protocol. Become. In addition, by devising the control of the memory controller, the data from the shared memory unit can be stored in the memory in the gap of the data write time from the cache memory data path to the memory, and the memory path efficiency is increased. Is possible.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment according to the present invention will be described with reference to FIGS. 1, 3 to 13.
[0025]
[Combined network of shared memory and cache memory]
First, a combined network of shared memory and cache memory will be described with reference to FIGS.
FIG. 3 and FIG. 4 show another type of disk in which each IF unit is connected via a mutual connection network using a switch instead of the shared bus 16 shown in FIG. 2 as a connection network of the shared memory and the cache memory. It is a block diagram of an array control apparatus.
[0026]
Here, in the example shown in FIG. 3, both the shared memory and the cache memory connection network are connected networks using switches, and in the example shown in FIG. 4, only the cache memory connection network uses switches. It is a connected network.
[0027]
In the disk array control apparatus 2B of FIG. 3, the shared
[0028]
In this method, the throughput of each interconnected path is a fraction of the shared bus, but there are multiple paths between the two interconnected points, so the load is distributed and the throughput is improved. It becomes possible.
[0029]
Furthermore, a disk array control apparatus shown in FIG. 4 in which the combined network of the shared memory and the cache memory is another type can be considered.
[0030]
In this configuration, the
[0031]
As described above, in FIG. 4, the shared memory coupling network 21 and the cache
[0032]
On the other hand, since the shared
[0033]
In the apparatus of FIG. 4, unlike FIG. 3, the shared memory coupling network 21 of the shared
[0034]
[Configuration of disk controller]
Next, the configuration of the disk controller according to the present invention will be described with reference to FIG.
FIG. 1 is a configuration diagram of a disk control apparatus according to the present invention.
[0035]
The
[0036]
The host IF
[0037]
The host IF
[0038]
Similarly, the SM
[0039]
The disk IF
[0040]
The drive IF2 is a part in charge of the interface with the
[0041]
The disk IF
[0042]
Similarly, the SM
[0043]
The
[0044]
The host IF
[0045]
That is, the CM path 0 (31) is connected to the CM
[0046]
The shared
[0047]
The shared
[0048]
That is, the SM
[0049]
Here, unlike the CM path, the hierarchical structure with the crossbar switch is different from the cache memory data in that the shared memory data is small in capacity, has many transactional accesses, and has a short response time. Since it is indispensable, it also has the effect of reducing the protocol overhead time due to switching. That is, the meaning of having a path in which the cache memory unit and the shared memory unit are separated is because the nature of data access is different.
[0050]
Further, the SM controller 8 of the shared
[0051]
This connection form may be a form in which the shared
[0052]
[Detailed configuration of each part of each disk controller]
Next, a more detailed configuration of each part of the disk controller according to the present invention will be described with reference to FIGS.
(I) CM access control unit
First, the configuration of the CM
FIG. 5 is a configuration diagram of the CM
[0053]
The CM access control unit 4 includes a
[0054]
The two ports of the
[0055]
The other two ports of the
(II) SM access control unit
Next, the configuration of the SM
[0056]
The SM access control unit 4 includes a
[0057]
The two ports of the
[0058]
The other two ports of the
(III) Crossbar switch section
Next, the configuration in the
[0059]
The crossbar switch (CSW)
[0060]
The CM path 0 (31) is connected to the host IF
[0061]
The data transfer control unit 132 is connected to the
[0062]
When there is a difference in data transfer speed between the path on the CM path 0 (31) side and the path on the CM path 1 (32) side, the
[0063]
The address /
(IV) Cache memory section
Next, the configuration in the
FIG. 8 is a configuration diagram of the
[0064]
The
[0065]
The CM controller 7 includes a path IF 141, a
[0066]
The CM controller 7 is connected to the
The data transfer control unit 148 sends an access request from the CM path 1 (32) analyzed by the address /
[0067]
The address /
(V) Shared memory section
Next, the configuration in the shared
FIG. 9 is a configuration diagram of the shared
[0068]
The shared
[0069]
The SM controller 8 includes a path IF 151, a selector 156, a
[0070]
The SM controller 8 is directly connected to the SM
The data transfer control unit 152 uses the
[0071]
The address /
[0072]
[Memory access operation]
Next, the memory access operation of the disk controller according to the present invention will be described in detail with reference to FIGS.
(I) Access to cache memory
First, an access procedure of the
When accessing the
[0073]
The host IF 3 or drive IF 2 receiving the access start instruction sends a signal indicating the access start to the data
[0074]
The CM access control unit 4 stores the address, command, and data sent through the data line 29 in the
(I-1) Cache write access
Here, a procedure for writing data to the
FIG. 10 is a sequence diagram illustrating a flow of access from the CM
[0075]
When the right to use the CM path 0 (31) is determined by arbitration, the
[0076]
The data transfer control unit 132 in the
[0077]
Next, the data transfer control unit 132 in the
[0078]
When receiving the ACK signal, the CM
[0079]
When the data transfer control unit 148 in the CM controller 7 receives the REQ signal through the control line 3 (34), it next receives the address and command sent through the CM path 1 (32), and performs address / command analysis. Arbitration is performed based on the access request analyzed by the unit 145 (sequence 508), and the
[0080]
When the access right to the
[0081]
When the access to the
[0082]
Then, the data
(I-2) Cache read access
Next, a procedure for reading data from the
[0083]
When data is read from the cache memory unit 14 (read operation), the flow of access from the CM access control unit 4 to the CM controller 7 is the same as that in
[0084]
When obtaining the memory access right in the sequence 508, the CM controller 7 reads data from the
(II) Access to shared memory
Next, an access procedure of the shared
[0085]
When accessing the shared
[0086]
The host IF 3 or the drive IF 2 receiving the access start instruction sends a signal indicating access start to the data
[0087]
The SM
(II-1) Shared memory write access
First, the procedure for writing data to the shared
FIG. 11 is a sequence diagram showing a flow of access from the SM
[0088]
When the right of use of the SM path 40 is determined by arbitration, the
[0089]
When the data transfer control unit 152 in the SM controller 8 receives the REQ signal through the control line 2 (35), the data transfer control unit 152 receives the next address and command sent through the
[0090]
As a result of the arbitration, when the access right to the
[0091]
When the access to the
(II-2) Shared memory read access
Next, a procedure for reading data from the shared
[0092]
When reading data from the shared memory unit 15 (read operation), the flow of access from the SM
[0093]
When the memory access right is obtained in the sequence 608, the SM controller 8 reads data from the
(III) SM data / CM access
As described above, the feature of the present invention is that the SM /
[0094]
As a condition for performing such transfer, when data to be stored in the cache memory unit is determined in advance (for example, management information from a certain address in the cache memory is determined to be stored in the cache memory). There are two cases where data cannot be stored in the shared
[0095]
Hereinafter, a procedure for transferring data from the SM control unit to the CM control unit through the SM /
FIG. 12 is a sequence diagram showing a procedure for transferring data from the SM control unit to the CM control unit using the SM /
FIG. 13 is a flowchart showing an outline of the operation of the CM controller 7 of the
[0096]
The flow of access from the SM
[0097]
In
[0098]
In this case, note that the SM controller 8 can proceed without waiting for a response from the CM controller 7.
[0099]
When the data
[0100]
On the other hand, after receiving data in sequence 704, the
[0101]
An outline of the operation of the CM controller 7 of the
[0102]
The address /
[0103]
When REQ is ON, arbitration is performed by the
[0104]
When the REQ signal is not ON, it is checked whether data has arrived in the
[0105]
As a result, when the output port of the CM path can be acquired (S806), the selector is switched and the CM path 1 (32) and the
[0106]
Next, STATUS information is received or transmitted (S809), and finally REQOFF is received and terminated (S810).
[0107]
If the SM path output port can be acquired (S811), the selector is switched, and the SM /
[0108]
If neither output port can be acquired, arbitration is repeated until an output port can be acquired.
[0109]
【The invention's effect】
According to the present invention, in a disk control device having two types of memories, a cache memory unit and a shared memory unit, it is not necessary to add a shared memory unit according to the addition of the cache memory unit, and the access performance is reduced. It is possible to provide a disk control device that does not.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a disk control device according to the present invention.
FIG. 2 is a configuration diagram of a disk array control device in which the internal configuration according to the prior art is a shared bus connection.
FIG. 3 is a configuration diagram of a disk array control apparatus that connects IF units via a mutual coupling network using switches as a coupling network of a shared memory and a cache memory.
FIG. 4 is a configuration diagram of a disk array control apparatus that connects IF units via a mutual connection network using a switch only to the cache memory connection network as a connection network of the shared memory and the cache memory.
FIG. 5 is a configuration diagram of CM
FIG. 6 is a configuration diagram of SM
7 is a configuration diagram of a
FIG. 8 is a configuration diagram of a
9 is a configuration diagram of the shared
FIG. 10 is a sequence diagram showing a flow of access from the CM
11 is a sequence diagram showing a flow of access from the SM
FIG. 12 is a sequence diagram showing a procedure for transferring data from the SM control unit to the CM control unit using the SM /
FIG. 13 is a flowchart showing an outline of the operation of the CM controller 7 of the
[Explanation of symbols]
DESCRIPTION OF
Claims (6)
前記ホストコンピュータとのインターフェースを持つホストインターフェース部と、
前記磁気ディスク装置とのインターフェースを持つディスクインターフェース部と、
前記磁気ディスク装置に対してリード・ライトされるデータを一時的に格納するキャッシュメモリ部と、
このディスク制御装置の制御用データを格納する共有メモリ部とを有し、
前記キャッシュメモリ部は、前記磁気ディスク装置に対してリード・ライトされるデータに加えて、前記制御用データをも格納し、
前記キャッシュメモリ部と前記共有メモリ部との間にデータ転送のパスを設け、
前記制御用データを、前記共有メモリ部を介して、前記キャッシュメモリ部に格納することを特徴とするディスク制御装置。In a disk control device for accessing a magnetic disk device by a host computer,
A host interface unit having an interface with the host computer;
A disk interface unit having an interface with the magnetic disk device;
A cache memory unit for temporarily storing data to be read from and written to the magnetic disk device;
A shared memory unit for storing control data of the disk controller,
The cache memory unit stores the control data in addition to the data read / written to the magnetic disk device,
A path for data transfer is provided between the cache memory unit and the shared memory unit,
The disk control apparatus, wherein the control data is stored in the cache memory unit via the shared memory unit.
前記共有メモリ部と、前記ホストインターフェース部と前記ディスクインターフェース部との結合をダイレクト結合にしたことを特徴とする請求項1記載のディスク制御装置。The coupling of the cache memory unit, the host interface unit and the disk interface unit is a switch coupling,
2. The disk controller according to claim 1, wherein the shared memory unit, the host interface unit, and the disk interface unit are directly coupled.
このディスク制御装置は、
前記ホストコンピュータとのインターフェースを持つホストインターフェース部と、
前記磁気ディスク装置とのインターフェースを持つディスクインターフェース部と、
前記磁気ディスク装置に対してリード・ライトされるデータを一時的に格納するキャッシュメモリ部と、
このディスク制御装置の制御用データを格納する共有メモリ部とを有し、
前記キャッシュメモリ部は、前記磁気ディスク装置に対してリード・ライトされるデータに加えて、前記制御用データをも格納し、
さらに、このディスク制御装置に、前記キャッシュメモリ部と前記共有メモリ部との間にデータ転送のパスを設け、
このディスク制御装置の制御用データを、前記共有メモリ部を介して、前記キャッシュメモリ部に格納するディスク制御装置のデータアクセス方法。In a data access method of a disk control device for accessing a magnetic disk device by a host computer,
This disk controller
A host interface unit having an interface with the host computer;
A disk interface unit having an interface with the magnetic disk device;
A cache memory unit for temporarily storing data to be read from and written to the magnetic disk device;
A shared memory unit for storing control data of the disk controller,
The cache memory unit stores the control data in addition to the data read / written to the magnetic disk device,
Furthermore, in this disk controller, a data transfer path is provided between the cache memory unit and the shared memory unit,
A data access method for a disk control device for storing control data for the disk control device in the cache memory unit via the shared memory unit.
前記ホストコンピュータとのインターフェースを持つホストインターフェース部と、
前記磁気ディスク装置とのインターフェースを持つディスクインターフェース部と、
前記磁気ディスク装置に対してリード・ライトされるデータを一時的に格納するキャッシュメモリ部と、
このディスク制御装置の制御用データを格納する共有メモリ部とを有し、
前記キャッシュメモリ部は、前記磁気ディスク装置に対してリード・ライトされるデータに加えて、前記制御用データをも格納し、
前記ホストインタフェース部は、前記ホストコンピュータとのインタフェースを受け持つホストインタフェースと、データ転送の制御をおこなうマイクロプロセッサと、前記キャッシュメモリ部とのアクセス制御をおこなうキャッシュメモリアクセス制御部と、前記共有メモリ部とのアクセス制御をおこなう共有メモリアクセス制御部とからなり、
前記ディスクインタフェース部は、前記磁気ディスク装置とのインタフェースを受け持つドライブインタフェースと、データ転送の制御をおこなうマイクロプロセッサと、前記キャッシュメモリ部とのアクセス制御をおこなうキャッシュメモリアクセス制御部と、前記共有メモリ部とのアクセス制御をおこなう共有メモリアクセス制御部とからなり、
前記ホストインタフェース部と前記ディスクインタフェース部のそれぞれのキャッシュメモリアクセス制御部は、前記キャッシュメモリ部とクロスバースイッチを介して結合され、
前記ホストインタフェース部と前記ディスクインタフェース部のそれぞれの共有メモリアクセス制御部とは、前記共有メモリ部と、ダイレクト結合され、
前記キャッシュメモリ部は、キャッシュメモリコントローラとメモリモジュールとからなり、
前記共有メモリ部は、共有メモリコントローラとメモリモジュールとからなり、
前記キャッシュメモリコントローラと前記共有メモリコントローラとは、キャッシュメモリ/共有メモリパスにより結合され、
前記キャッシュメモリコントローラと前記共有メモリコントローラとは、前記制御用データを、前記キャッシュメモリ/共有メモリパスにより転送して、前記キャッシュメモリ部のメモリモジュールに格納することを特徴とするディスク制御装置。In a disk control device for accessing a magnetic disk device by a host computer,
A host interface unit having an interface with the host computer;
A disk interface unit having an interface with the magnetic disk device;
A cache memory unit for temporarily storing data to be read from and written to the magnetic disk device;
A shared memory unit for storing control data of the disk controller,
The cache memory unit stores the control data in addition to the data read / written to the magnetic disk device,
The host interface unit includes a host interface that interfaces with the host computer, a microprocessor that controls data transfer, a cache memory access control unit that controls access to the cache memory unit, and the shared memory unit. And a shared memory access control unit that performs access control of
The disk interface unit includes a drive interface that handles an interface with the magnetic disk device, a microprocessor that controls data transfer, a cache memory access control unit that controls access to the cache memory unit, and the shared memory unit And a shared memory access control unit that performs access control with
Each cache memory access control unit of the host interface unit and the disk interface unit is coupled to the cache memory unit via a crossbar switch,
The shared memory access control unit of each of the host interface unit and the disk interface unit is directly coupled to the shared memory unit,
The cache memory unit includes a cache memory controller and a memory module,
The shared memory unit includes a shared memory controller and a memory module,
The cache memory controller and the shared memory controller are coupled by a cache memory / shared memory path,
The disk controller according to claim 1, wherein the cache memory controller and the shared memory controller transfer the control data through the cache memory / shared memory path and store the data in a memory module of the cache memory unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001192543A JP4025032B2 (en) | 2001-06-26 | 2001-06-26 | Disk control device and data access method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001192543A JP4025032B2 (en) | 2001-06-26 | 2001-06-26 | Disk control device and data access method thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003005916A JP2003005916A (en) | 2003-01-10 |
JP2003005916A5 JP2003005916A5 (en) | 2005-05-19 |
JP4025032B2 true JP4025032B2 (en) | 2007-12-19 |
Family
ID=19030980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001192543A Expired - Fee Related JP4025032B2 (en) | 2001-06-26 | 2001-06-26 | Disk control device and data access method thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4025032B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004334410A (en) | 2003-05-06 | 2004-11-25 | Hitachi Ltd | Information processing apparatus and processor |
JP4857055B2 (en) * | 2006-09-08 | 2012-01-18 | 株式会社日立製作所 | Storage system, control method therefor, and storage control device |
JP4985750B2 (en) * | 2009-12-01 | 2012-07-25 | 富士通株式会社 | Data storage system |
WO2012049709A1 (en) | 2010-10-14 | 2012-04-19 | Hitachi, Ltd. | Storage control apparatus and method |
-
2001
- 2001-06-26 JP JP2001192543A patent/JP4025032B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003005916A (en) | 2003-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7318122B2 (en) | Disk array control device with an internal connection system for efficient data transfer | |
US6675253B1 (en) | Dynamic routing of data across multiple data paths from a source controller to a destination controller | |
US7020731B2 (en) | Disk array control device with two different internal connection systems | |
US7631218B2 (en) | RAID system and Rebuild/Copy back processing method thereof | |
US6523088B2 (en) | Disk array controller with connection path formed on connection request queue basis | |
US6651131B1 (en) | High bandwidth network and storage card | |
US6850998B2 (en) | Disk array system and a method for controlling the disk array system | |
US7340551B2 (en) | Bridge permitting access by multiple hosts to a single ported storage drive | |
EP1274015A2 (en) | Disk array control apparatus and control data transfer method using the same | |
US7409486B2 (en) | Storage system, and storage control method | |
JP4025032B2 (en) | Disk control device and data access method thereof | |
JPH11175260A (en) | Disk array controller and controlling method therefor | |
JP4708669B2 (en) | Path redundancy apparatus and method | |
JP3684902B2 (en) | Disk array controller | |
JPH11184761A (en) | Read modify write control system | |
JP2000339101A (en) | Disk array controller | |
JP4571963B2 (en) | Disk array controller | |
JP2000250712A (en) | Disk array controller | |
JP2003263278A (en) | Disk array control apparatus | |
JP2000010900A (en) | Disk array controller and disk array | |
JP2006268881A (en) | Disk array controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040714 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070125 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070702 |
|
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: 20070911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071004 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101012 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111012 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121012 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121012 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131012 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |