JP4025032B2 - Disk control device and data access method thereof - Google Patents

Disk control device and data access method thereof Download PDF

Info

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
Application number
JP2001192543A
Other languages
Japanese (ja)
Other versions
JP2003005916A (en
JP2003005916A5 (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001192543A priority Critical patent/JP4025032B2/en
Publication of JP2003005916A publication Critical patent/JP2003005916A/en
Publication of JP2003005916A5 publication Critical patent/JP2003005916A5/ja
Application granted granted Critical
Publication of JP4025032B2 publication Critical patent/JP4025032B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 array control apparatus 2 shown in FIG. 2, a host IF unit 11, a disk IF unit 12, a shared memory unit 13, and a cache memory unit 14 that are internal components are connected by a shared bus 16.
[0009]
The host IF unit 11 executes data transfer between the host computer 50 and the disk array control device 2, and the disk IF unit 12 is a part that executes data transfer between the magnetic disk device 5 and the disk array control device 2. is there.
[0010]
Further, as described above, the cache memory unit 14 is a memory that temporarily stores data of the magnetic disk device 20, and the shared memory unit 13 is a memory that stores control information related to the disk array control device 2. .
[0011]
In the single disk array control device 2, the shared memory unit 13 and the cache memory unit 14 are configured to be accessible from all the host IF units 11 and the disk IF units 12.
[0012]
The host IF unit 11 has an interface for connecting to the host computer 50 and a microprocessor (not shown) for controlling input / output to the host computer 50. Similarly, the disk IF unit 12 has an interface for connecting to the magnetic disk device 5 and a microprocessor (not shown) for controlling input / output to the magnetic disk device 5. The disk IF unit 12 also executes a RAID function.
[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 memory unit 13, the host IF unit 11, and the disk IF unit 12, and the cache memory unit 14, the host IF unit 11, and the disk IF unit 12 are not connected. , Respectively, are connected by an interconnection network 21 and an interconnection network 22 each composed of a crossbar switch.
[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 cache memory unit 14, the host IF unit 11, and the disk IF unit 12 are connected to each other through the cross-connect switch 22 as in FIG. The IF unit 11 and the disk IF unit 12 are directly connected.
[0031]
As described above, in FIG. 4, the shared memory coupling network 21 and the cache memory coupling network 22 are distinguished from each other, and the independent configuration is attributed to the types of data handled by both. That is, the cache memory unit 14 is a memory that temporarily stores data read from the disk while it is being stored in the host. Therefore, there are many sequential accesses such as packet data transfer with a long data length. Is important.
[0032]
On the other hand, since the shared memory unit 13 is a memory for storing the control information of the apparatus, memory access with many random accesses increases, and there is a characteristic of emphasizing response. This is because the characteristics of these two accesses are contradictory, and if they are transferred by the same route and protocol, either performance will be reduced.
[0033]
In the apparatus of FIG. 4, unlike FIG. 3, the shared memory coupling network 21 of the shared memory unit 13 is a direct coupling that does not use the CSW (crossbar switch) unit, which is convenient for shortening the response time. Is good. On the other hand, the cache memory connection network 22 of the cache memory unit 14 has a large configuration, but has a structure in which the CSW (crossbar switch) unit is hierarchized in order to perform multiple accesses and increase the use band.
[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 disk control device 1 of this embodiment includes a host IF unit 11 for having an interface with the host computer 50 and a disk IF unit 12 for having an interface with the magnetic disk device 20. Usually, a plurality of these interfaces are often provided in order to improve performance by parallel processing. In FIG. 1, two of each are shown. The disk control device 1 has two types of memories, a cache memory unit 14 and a shared memory unit 15, which are used for different purposes, and are connected to a host IF unit 11 and a disk IF unit 12, respectively. Hereinafter, the cache memory may be referred to as “CM” and the shared memory may be referred to as “SM”.
[0036]
The host IF unit 11 includes a host IF 3, a microprocessor 6, a CM access control unit 4a, and an SM access control unit 5a. The host IF 3 is a part in charge of the interface with the host computer 50. The microprocessor 6 is a part that controls input / output with respect to the host computer 50. The CM access control unit 4 a is a part that controls access to the cache memory unit 14. The SM access control unit 5 a is a part that controls access to the shared memory unit 15.
[0037]
The host IF unit 11 executes data transfer between the host computer 50 and the cache memory unit 14 under the control of the microprocessor 6. As shown in FIG. 1, the microprocessor 6 and the host IF 3 are connected by an internal bus, and the CM access control unit 4 is also connected to the host IF 3.
[0038]
Similarly, the SM access control unit 5a also transfers data using the SM path 40 connected to the shared memory unit 15 under the control of the microprocessor 6.
[0039]
The disk IF unit 12 includes a drive IF 2, a microprocessor 6, a CM access control unit 4b, and an SM access control unit. 5b have.
[0040]
The drive IF2 is a part in charge of the interface with the magnetic disk device 20. The microprocessor 6 is a part that controls input / output to the magnetic disk device 20. The CM access control unit 4 b is a part that controls access to the cache memory unit 14. The SM access control unit 5 b is a part that controls access to the shared memory unit 15.
[0041]
The disk IF unit 12 executes data transfer between the magnetic disk device 20 and the cache memory unit 14 under the control of the microprocessor 6. As shown in FIG. 1, the microprocessor 6 and the drive IF2 are connected by an internal bus, and the CM access control unit 4b is connected to the drive IF2. The disk IF unit also executes arithmetic functions such as RAID control.
[0042]
Similarly, the SM access control unit 5b Also, the data is transferred using the SM path 40 connected to the shared memory unit 15 under the control of the microprocessor 6.
[0043]
The cache memory unit 14 is a memory provided to improve access performance by temporarily storing and accessing data read / written from / to the magnetic disk device 20. A plurality of cache memory units 14 are installed according to demands on the capacity and performance of the magnetic disk 20 with the CM controller 7 and the memory module 9 as one unit.
[0044]
The host IF unit 11 and the disk IF unit 12 are connected to the crossbar switch unit 13 by the CM path 0 (31), and the cache memory unit 14 is connected by the CM path 1 (32).
[0045]
That is, the CM path 0 (31) is connected to the CM access control unit 4a of the host IF unit 11 and the CM access control unit 4b of the disk IF unit 12, and the CM controller unit 7 of the cache memory unit 14 Path 1 (32) is connected. Each CM path 0 (31) connected to the plurality of CM access control units 4a and 4b and each CM path 1 (32) connected to the plurality of CM controller units 7 are crossbar switch (CSW) units. 13 are connected hierarchically.
[0046]
The shared memory unit 15 is a memory that stores control data for the disk control device 1. In particular, the shared memory unit 15 stores management information necessary for exclusive control of access to the cache memory unit 7 as control data. A plurality of shared memory units 15 are also installed in response to a request for performance, with the SM controller 7 and the memory module 9 as one unit.
[0047]
The shared memory unit 15 is connected to the host IF unit 11 and the disk IF unit 12 by the SM path 40.
[0048]
That is, the SM access control unit 5 a of the host IF unit 11 and the SM access control unit 5 b of the disk IF unit 12 are connected to the SM controller unit 8 of the shared memory unit 15 via the SM path 40.
[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 memory unit 15 and the CM controller 8 of the cache memory unit 14 are connected by a unique CM / SM transfer path 41, and control data stored in the shared memory unit 15 in the past is stored. Can also be stored in the cache memory unit 14 via the CM / SM transfer path 41.
[0051]
This connection form may be a form in which the shared memory unit 15 and the cache memory unit 14 are connected in a one-to-one relationship, or a one-to-many connection in which a plurality of cache memory units 14 are connected to one shared memory unit 15. It may be connected.
[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 access control units 4a and 4b will be described with reference to FIG.
FIG. 5 is a configuration diagram of the CM access control units 4a and 4b.
[0053]
The CM access control unit 4 includes a selector 102, a packet buffer 103 for temporarily storing addresses, commands, and data, a path IF 101 for CM path 0 (31) connected to the crossbar switch unit 13, and a data error check. The circuit unit 100 and the data transfer control unit 110 are included.
[0054]
The two ports of the selector 102 are connected to the host IF 3 or the drive IF 2 by the data line 29.
[0055]
The other two ports of the selector 102 are connected to the path IF 101 via the packet buffer 103, and the path IF 101 is connected to the crossbar switch unit 13 via the CM path 0 (31). The data transfer control unit 110 is connected to the data transfer control unit 132 in the crossbar switch unit 13 (shown later in FIG. 7) by a control line 2 (33). The data transfer control unit 110 arbitrates an access request from the host IF 3 or the drive IF 2 by the arbiter 108 and switches to the selector 102.
(II) SM access control unit
Next, the configuration of the SM access control units 5a and 5b will be described with reference to FIG. FIG. 6 is a configuration diagram of the SM access control units 5a and 5b.
[0056]
The SM access control unit 4 includes a selector 112, a packet buffer 113 for temporarily storing addresses, commands, and data, a path IF 111 for SM path 0 (31) connected to the crossbar switch unit 13, and a data error check. The circuit unit 114 and the data transfer control unit 115 are included.
[0057]
The two ports of the selector 102 are connected to the host IF 3 or the drive IF 2 by the data line 28.
[0058]
The other two ports of the selector 102 are connected to the path IF 101 via the packet buffer 113, and the path IF 101 is directly connected to the shared memory unit 15 via the SM path 40. The data transfer control unit 115 is connected to the data transfer control unit 152 in the shared memory unit 15 (shown later in FIG. 9) by the control line 2 (36). The data transfer control unit 115 arbitrates an access request from the host IF 3 or the drive IF 2 by the arbiter 118 and switches to the selector 112.
(III) Crossbar switch section
Next, the configuration in the crossbar switch unit 13 will be described with reference to FIG. FIG. 7 is a configuration diagram of the crossbar switch unit 13.
[0059]
The crossbar switch (CSW) unit 13 includes a selector 136 that connects the CM path 0 (31) and the CM path 1 (32) to each other, a packet buffer 133, a path IF 131, and a data error check circuit unit. 130, an address / command analysis unit 135 that analyzes an address and a command transmitted from the CM access control unit 4, and a data transfer control unit 132.
[0060]
The CM path 0 (31) is connected to the host IF unit 11 and the disk IF unit 12, and the CM path 1 (32) is connected to the CM controller 7 in the cache memory unit 14.
[0061]
The data transfer control unit 132 is connected to the data transfer unit 110 in the CM access control unit 4 shown in FIG. 5 by the control line 2 (33), and in the cache memory unit 14 by the control line 3 (34). It is connected to a data transfer control unit 148 (shown in FIG. 7) in the CM controller 7. Further, the data transfer control unit 132 performs arbitration of the access request from the CM path 0 (31) analyzed by the address / command analysis unit 135 by the arbiter 138, and switches the selector 136.
[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 packet buffer 133 partially or entirely transfers data to absorb the speed difference. Is buffered.
[0063]
The address / command analysis unit 135 includes a buffer for storing addresses and commands, an address extraction unit, and a command extraction unit (not shown). The address / command analysis unit 135 stores addresses and commands in a plurality of CM paths 0 (31) connected to the CM access control unit 4 and buffers allocated to the respective CM paths 0 (31). The address extraction unit and command extraction unit determine the CM controller 7 to be accessed and send it to the arbiter 138 in the data transfer control unit 132.
(IV) Cache memory section
Next, the configuration in the cache memory unit 14 will be described with reference to FIG.
FIG. 8 is a configuration diagram of the cache memory unit 14.
[0064]
The cache memory unit 14 includes a CM controller 7 and a memory module 9.
[0065]
The CM controller 7 includes a path IF 141, a selector 144, a packet buffer 143 that temporarily stores data, a data error check circuit unit 140, a memory control unit 147 that controls access to the memory module 9, and CM access An address / command analysis unit 145 that analyzes an address and a command transmitted from the control unit 4 and a data transfer control unit 148 are included.
[0066]
The CM controller 7 is connected to the crossbar switch unit 13 by CM path 1 (32).
The data transfer control unit 148 sends an access request from the CM path 1 (32) analyzed by the address / command analysis unit 145 by the arbiter 180 and the SM controller 8 (shown in FIG. 9 later) that is a feature of the present invention. Arbitration with the access request is performed from the SM / CM path 41 to be connected, and the selector 144 is switched.
[0067]
The address / command analysis unit 145 includes a buffer, an address extraction unit, and a command extraction unit (not shown). The address / command analysis unit 145 stores an address and a command in a buffer assigned to each CM path 1 (32) connected to the CM controller 7. The address extraction unit and command extraction unit determine the address of the memory to be accessed and the type of access, and send them to the memory control unit 147. Further, an access request from the CM path 1 (32) is sent to the arbiter 148 in the data transfer control unit 148.
(V) Shared memory section
Next, the configuration in the shared memory unit 15 will be described with reference to FIG.
FIG. 9 is a configuration diagram of the shared memory unit 15.
[0068]
The shared memory unit 15 includes an SM controller 8 and a memory module 9.
[0069]
The SM controller 8 includes a path IF 151, a selector 156, a packet buffer 153 for temporarily storing data, a data error check circuit unit 150, a memory control unit 157 for controlling access to the memory module 9, and an SM access. An address / command analysis unit 155 that analyzes an address and a command transmitted from the control unit 4 and a data transfer control unit 152 are included.
[0070]
The SM controller 8 is directly connected to the SM access control units 5a and 5b through the SM path 40.
The data transfer control unit 152 uses the arbiter 158 to arbitrate the access request from the SM path 40 analyzed by the address / command analysis unit 155, and switches the selector 154, that is, as shown in FIG. It is selected whether to connect to the module 9 or to connect to the SM / CM path 41 connected to the CM controller 7 shown in FIG. 8 via the path IF 151.
[0071]
The address / command analysis unit 155 includes a buffer, an address extraction unit, and a command extraction unit (not shown). The address / command analysis unit 155 stores an address and a command in a buffer assigned to each SM path 40 connected to the SM controller 7. The address extraction unit and command extraction unit determine the address of the memory to be accessed and the type of access, and send them to the memory control unit 157. Further, an access request from the SM path 40 is sent to the arbiter 158 in the data transfer control unit 152.
[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 cache memory unit 14 will be described.
When accessing the cache memory unit 14, the microprocessor 6 instructs the host IF 3 or the drive IF 2 to start access to the cache memory unit 14.
[0073]
The host IF 3 or drive IF 2 receiving the access start instruction sends a signal indicating the access start to the data transfer control unit 110 in the CM access control units 4a and 4b shown in FIG. 5 through the control line 1 (30). At the same time, an address, command, and data are transmitted through the data line 29.
[0074]
The CM access control unit 4 stores the address, command, and data sent through the data line 29 in the packet buffer 103. The data transfer control unit 110 performs arbitration, determines the right to use the path IF 101, and switches the selector 102.
(I-1) Cache write access
Here, a procedure for writing data to the cache memory unit 14 will be described with reference to FIG.
FIG. 10 is a sequence diagram illustrating a flow of access from the CM access control units 4a and 4b to the CM controller 7 when data is written to the cache memory unit 14.
[0075]
When the right to use the CM path 0 (31) is determined by arbitration, the data transfer unit 110 in the CM access control units 4a and 4b shown in FIG. 5 is controlled by the control line 2 (33) by the crossbar switch unit. A signal (REQ) indicating the start of access is output to the data transfer control unit 1 (32) in 13 (sequence 501). Subsequently, an address and a command are transmitted (sequence 502).
[0076]
The data transfer control unit 132 in the crossbar switch unit 13 shown in FIG. 7 receives the REQ signal from the CM access control unit 4 and then receives the address and command sent through the CM path 0 (31). Then, arbitration is performed based on the access request analyzed by the address / command analysis unit 135 (sequence 503). If the right to connect to the CM path 1 (32) is obtained as a result of the arbitration, the data transfer control unit 132 switches the selector 136 (sequence 504). Then, the control line 2 (33) returns a signal (ACK) indicating that the connection to the CM path 1 (32) is obtained to the data transfer control unit 110 in the CM access control units 4a and 4b (sequence 505). ).
[0077]
Next, the data transfer control unit 132 in the crossbar switch unit 13 receives a signal (REQ) indicating the start of access to the data transfer control unit 148 in the CM controller 7 shown in FIG. 8 through the control line 3 (32). ) Is issued (sequence 506). Subsequently, an address and a command are transmitted (sequence 507).
[0078]
When receiving the ACK signal, the CM access control units 4a and 4b read the data from the packet buffer 103 and send it to the CM path 0 (31) via the selector 102 and the path IF 101. The crossbar switch unit 13 sends the data sent through the CM path 0 (31) to the CM path 1 (32) via the path IF 131 and the selector 136 (sequence 509).
[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 selector 144 is switched. Data sent through the CM path 1 (32) is stored in the packet buffer 143.
[0080]
When the access right to the memory module 9 is obtained as a result of the arbitration, the memory control information is sent to the memory control unit 147 and preprocessing for memory access is performed (sequence 510). Next, data is read from the packet buffer 143 and written to the memory module 9 via the selector 304 (sequence 511).
[0081]
When the access to the memory module 9 is completed, the CM controller 7 performs post-processing of memory access and generates status information (STATUS) indicating an access result (access status) in the data transfer control unit 148 (sequence 512). Next, status information is sent to the CM access unit 4 via the crossbar switch unit 13 (sequence 513). When receiving the status information (STATUS), the data transfer control unit 148 in the crossbar switch unit 13 turns off the REQ signal to the CM controller 107 (sequence 514).
[0082]
Then, the data transfer control unit 110 in the CM access control unit 4 turns off the REQ signal to the crossbar switch unit 13 that receives STATUS (sequence 515). When confirming that the REQ signal from the CM access control unit 4 is turned off, the data transfer control unit 132 in the crossbar switch unit 13 turns off the ACK signal to the CM access control unit 4 (sequence 516). When the data transfer control unit 110 in the CM access control unit 4 receives the status, it reports the end of access to the cache memory unit 14 to the host IF 11 or the drive IF 12 through the control line 1 (30).
(I-2) Cache read access
Next, a procedure for reading data from the cache memory unit 14 will be described.
[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 sequences 501 to 508, and in the sequence 512 and later, data is written (write). Operation). Here, when receiving the ACK signal in sequence 506, the CM access control unit 4 enters a data reception waiting state.
[0084]
When obtaining the memory access right in the sequence 508, the CM controller 7 reads data from the memory module 9 and sends the data to the CM path 1 (32) via the selector 144 and the path IF 141. When the crossbar switch unit 13 receives the data through the CM path 1 (32), the crossbar switch unit 13 outputs the data to the CM path 0 (31). The CM access control units 4a and 4b receive the host IF3 via the selector 102 and the data line 29. Alternatively, data is transmitted to the drive IF2.
(II) Access to shared memory
Next, an access procedure of the shared memory unit 15 will be described.
[0085]
When accessing the shared memory unit 15, the microprocessor 6 instructs the host IF 3 or the drive IF 2 to start access to the shared memory unit 15.
[0086]
The host IF 3 or the drive IF 2 receiving the access start instruction sends a signal indicating access start to the data transfer control unit 115 in the SM access control units 5a and 5b shown in FIG. 6 through the control line 1 (35). At the same time, the address, command, and data are transmitted through the data line 28.
[0087]
The SM access control units 5 a and 5 b store the address, command, and data sent through the data line 28 in the packet buffer 113. The data transfer control unit 115 performs arbitration, determines the right to use the path IF 111, and switches the selector 112.
(II-1) Shared memory write access
First, the procedure for writing data to the shared memory unit 15 will be described with reference to FIG.
FIG. 11 is a sequence diagram showing a flow of access from the SM access control units 5a and 5b to the SM controller 8 when data is written to the shared memory unit 15.
[0088]
When the right of use of the SM path 40 is determined by arbitration, the data transfer unit 115 in the SM access control units 5a and 5b shown in FIG. 6 is controlled by the control line 2 (36) in the SM access control units 5a and 5b. A signal (REQ) indicating the start of access is output to the data transfer control unit 115 (sequence 601). Subsequently, an address and a command are transmitted (sequence 602). The data transfer control unit 152 in the SM controller 8 of the shared memory unit 15 shown in FIG. 9 receives the REQ signal from the SM access control units 5a and 5b, and then receives the address and command sent through the SM path 40. Arbitration is performed based on the access request received and analyzed by the address / command analysis unit 155 (sequence 603). As a result of arbitration, when the connection right is obtained, the data transfer control unit 152 switches the selector 156 (sequence 504).
[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 SM path 140 and analyzes them by the address / command analysis unit 155. Based on the received access request, arbitration is performed (sequence 608), and the selector 156 is switched. Data sent through the SM path 40 is stored in the packet buffer 153.
[0090]
As a result of the arbitration, when the access right to the memory module 9 is obtained, the data transfer control unit 152 sends the memory control information to the memory control unit 157 and performs preprocessing for memory access (sequence 610). . Next, data is read from the packet buffer 153 and written to the memory module 9 via the selector 156 (sequence 611).
[0091]
When the access to the memory module 9 is completed, the SM controller 8 performs post-processing of memory access, and the data transfer control unit 152 generates status information (STATUS) indicating the access result (access status) (sequence 612). Next, status information is sent to the SM access control units 5a and 5b (sequence 613). When receiving the status information (STATUS), the data transfer control unit 115 in the SM access control units 5a and 5b turns off the REQ signal to the SM controller 8 (sequence 614). The end of access to the shared memory unit 15 is reported to the host IF 3 or the drive IF 2 through the control line 1 (35).
(II-2) Shared memory read access
Next, a procedure for reading data from the shared memory unit 15 will be described.
[0092]
When reading data from the shared memory unit 15 (read operation), the flow of access from the SM access control units 5a and 5b to the SM controller 8 is the same as that from sequence 601 to sequence 608. This is the same as the case (write operation).
[0093]
When the memory access right is obtained in the sequence 608, the SM controller 8 reads data from the memory module 9 and sends the data to the SM path 40 via the selector 156 and the path IF 151. The SM access control units 5a and 5b send data to the host IF 3 or the drive IF 2 via the selector 112 and the data line 28.
(III) SM data / CM access
As described above, the feature of the present invention is that the SM / CM path 41 is provided between the cache memory unit 14 and the shared memory unit 15, and control data stored in the shared memory unit 15 in the past is transferred to this path. In other words, the data can be stored in the cache memory unit 14.
[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 memory unit 15.
[0095]
Hereinafter, a procedure for transferring data from the SM control unit to the CM control unit through the SM / CM path 41 will be described with reference to FIGS. 12 and 13.
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 / CM path 41.
FIG. 13 is a flowchart showing an outline of the operation of the CM controller 7 of the cache memory unit 14.
[0096]
The flow of access from the SM access control units 5a and 5b to the SM controller 8 of the shared memory unit 15 when data is transferred from the shared memory unit 15 to the cache memory (write operation) is the sequence 601 shown in FIG. To sequence 604.
[0097]
In sequence 602, the SM controller 8 receives the address / command, and further stores data sent through the SM / CM path 1 (41) in the SM buffer 143 (sequence 704). When the SM controller 8 receives all the data and completes transmission of the data to the CM controller 9 through the SM / CM path, the data transfer control unit 152 displays status information (STATUS) indicating an access result (access status). Generate (sequence 605). Next, status information is sent to the SM access control units 5a and 5b (sequence 613).
[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 transfer control unit 115 in the SM access control units 5a and 5b receives the status information (STATUS), it turns off the REQ signal to the SM controller 8 (sequence 614). Then, the control line 1 (35) reports the end of access to the shared memory unit 15 to the host IF 3 or the drive IF 2.
[0100]
On the other hand, after receiving data in sequence 704, the CM controller 9 performs arbitration based on the access request analyzed by the data address / command analysis unit 155 (sequence 705), and obtains the right to access the memory module 9. Sometimes, the selector 156 is switched to the connection to the SM / CM 41 (sequence 706). Then, the CM controller 9 sends memory control information to the memory control unit 147, performs preprocessing for memory access, reads data from the packet buffer 143, and writes the data to the memory module 9 via the selector 304 (sequence 707). ), The access to the memory module 9 is terminated.
[0101]
An outline of the operation of the CM controller 7 of the cache memory unit 14 during this period is as shown in FIG.
[0102]
The address / command analysis unit 145 of the CM controller 7 analyzes whether REQ is ON (S801, S802).
[0103]
When REQ is ON, arbitration is performed by the arbiter 180 of the data transfer control unit 148 (S805).
[0104]
When the REQ signal is not ON, it is checked whether data has arrived in the SM buffer 149 connected to the SM / CM path 41. When the data has arrived, command analysis is performed by the address / command analysis unit 145, and the data Arbitration is performed by the arbiter 180 of the transfer control unit 148 (S805).
[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 memory module 9 are connected according to the result of the address / command analysis (S807). Then, data is written to or read from the memory module 9 (S808).
[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 / CM path 41 and the memory module 9 are connected according to the result of the address / command analysis (S812). Then, data is written to or read from the memory module 9 (S813).
[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 access control units 4a and 4b.
FIG. 6 is a configuration diagram of SM access control units 5a and 5b.
7 is a configuration diagram of a crossbar switch unit 13. FIG.
FIG. 8 is a configuration diagram of a cache memory unit 14;
9 is a configuration diagram of the shared memory unit 15. FIG.
FIG. 10 is a sequence diagram showing a flow of access from the CM access control units 4a and 4b to the CM controller 7 when data is written to the cache memory unit 14;
11 is a sequence diagram showing a flow of access from the SM access control units 5a and 5b to the SM controller 8 when data is written to the shared memory unit 15. FIG.
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 / CM path 41;
FIG. 13 is a flowchart showing an outline of the operation of the CM controller 7 of the cache memory unit 14;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Disk control apparatus, 2 ... Drive IF, 3 ... Host IF, 4 ... CM (cache memory) control part, 5 ... SM (shared memory) access control part, 6 ... Microprocessor part, 11 ... Host IF part, 12 ... disk IF unit, 13 ... CSW (crossbar switch) unit, 14 ... cache memory unit, 15 ... shared memory unit, 20 ... magnetic disk unit, 31 ... CM (cache memory) path 0, 32 ... CM (cache memory) Path 1, 40... SM (shared memory memory) path, 41 CM / SM path, 50 host computers.

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.
前記共有メモリ部と前記キャッシュメモリ部との前記データ転送のパスによる接続を、1対1の接続としたことを特徴とする請求項1記載のディスク制御装置。  2. The disk control apparatus according to claim 1, wherein the connection between the shared memory unit and the cache memory unit through the data transfer path is a one-to-one connection. 前記共有メモリ部と前記キャッシュメモリ部との前記データ転送のパスによる接続を、1対多の接続としたことを特徴とする請求項1記載のディスク制御装置。  2. The disk controller according to claim 1, wherein the connection between the shared memory unit and the cache memory unit through the data transfer path is a one-to-many connection. ホストコンピュータにより磁気ディスク装置をアクセスするためのディスク制御装置のデータアクセス方法において、
このディスク制御装置は、
前記ホストコンピュータとのインターフェースを持つホストインターフェース部と、
前記磁気ディスク装置とのインターフェースを持つディスクインターフェース部と、
前記磁気ディスク装置に対してリード・ライトされるデータを一時的に格納するキャッシュメモリ部と、
このディスク制御装置の制御用データを格納する共有メモリ部とを有し、
前記キャッシュメモリ部は、前記磁気ディスク装置に対してリード・ライトされるデータに加えて、前記制御用データをも格納し、
さらに、このディスク制御装置に、前記キャッシュメモリ部と前記共有メモリ部との間にデータ転送のパスを設け、
このディスク制御装置の制御用データを、前記共有メモリ部を介して、前記キャッシュメモリ部に格納するディスク制御装置のデータアクセス方法。
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.
JP2001192543A 2001-06-26 2001-06-26 Disk control device and data access method thereof Expired - Fee Related JP4025032B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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