JP2000250712A - Disk array controller - Google Patents
Disk array controllerInfo
- Publication number
- JP2000250712A JP2000250712A JP11053611A JP5361199A JP2000250712A JP 2000250712 A JP2000250712 A JP 2000250712A JP 11053611 A JP11053611 A JP 11053611A JP 5361199 A JP5361199 A JP 5361199A JP 2000250712 A JP2000250712 A JP 2000250712A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- access
- disk
- cache memory
- interface units
- 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.)
- Pending
Links
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、データを複数の磁
気ディスク装置に格納するディスクアレイ装置の制御装
置に関する。[0001] 1. Field of the Invention [0002] The present invention relates to a control device for a disk array device which stores data in a plurality of magnetic disk devices.
【0002】[0002]
【従来の技術】半導体記憶装置を記憶媒体とするコンピ
ュータの主記憶のI/O性能に比べて、磁気ディスクを
記憶媒体とするディスクサブシステム(以下「サブシス
テム」という。)のI/O性能は3〜4桁程度小さく、
従来からこの差を縮めること、すなわちサブシステムの
I/O性能を向上させる努力がなされている。サブシス
テムのI/O性能を向上させるための1つの方法とし
て、複数の磁気ディスク装置でサブシステムを構成し、
データを複数の磁気ディスク装置に格納する、いわゆる
ディスクアレイと呼ばれるシステムが知られている。2. Description of the Related Art The I / O performance of a disk subsystem using a magnetic disk as a storage medium (hereinafter referred to as "subsystem") is compared with the I / O performance of a main storage of a computer using a semiconductor storage device as a storage medium. Is about three to four digits smaller,
Efforts have conventionally been made to reduce this difference, that is, to improve the I / O performance of the subsystem. As one method for improving the I / O performance of a subsystem, a subsystem is configured by a plurality of magnetic disk devices,
2. Description of the Related Art There is known a system called a disk array in which data is stored in a plurality of magnetic disk devices.
【0003】図2は、従来のディスクアレイの構成を示
す。ホストコンピュータ50とディスクアレイ制御装置
2との間のデータ転送を実行する複数のチャネルIF部
11と、磁気ディスク装置20とディスクアレイ制御装
置2間のデータ転送を実行する複数のディスクIF部1
2と、磁気ディスク装置20のデータを一時的に格納す
るキャッシュメモリ部14と、ディスクアレイ制御装置
2に関する制御情報(例えば、チャネルIF部及びディ
スクIF部とキャッシュメモリ部14との間のデータ転
送制御に関する情報)を格納する共有メモリ部15とを
備え、キャッシュメモリ部14および共有メモリ部15
は全てのチャネルIF部11及びディスクIF部12か
らアクセス可能な構成となっている。このディスクアレ
イでは、チャネルIF部11及びディスクIF部12と
共有メモリ部15との間、及び、チャネルIF部11及
びディスクIF部12とキャッシュメモリ部14との間
は1対1に接続される。FIG. 2 shows a configuration of a conventional disk array. A plurality of channel IF units 11 for executing data transfer between the host computer 50 and the disk array control device 2, and a plurality of disk IF units 1 for executing data transfer between the magnetic disk device 20 and the disk array control device 2
2, a cache memory unit 14 for temporarily storing data of the magnetic disk device 20, and control information on the disk array control device 2 (for example, data transfer between the channel IF unit and the disk IF unit and the cache memory unit 14). A shared memory unit 15 for storing information related to control, and a cache memory unit 14 and a shared memory unit 15.
Is configured to be accessible from all channel IF units 11 and disk IF units 12. In this disk array, a one-to-one connection is made between the channel IF unit 11 and the disk IF unit 12 and the shared memory unit 15 and between the channel IF unit 11 and the disk IF unit 12 and the cache memory unit 14. .
【0004】チャネルIF部11は、ホストコンピュー
タ50と接続するためのインターフェース及びホストコ
ンピュータ50に対する入出力を制御するマイクロプロ
セッサ(図示せず)を有している。また、ディスクIF
部12は、磁気ディスク装置20と接続するためのイン
ターフェース及び磁気ディスク装置20に対する入出力
を制御するマイクロプロセッサ(図示せず)を有してい
る。また、ディスクIF部12は、RAID機能の実行も行
う。The channel IF unit 11 has an interface for connecting to the host computer 50 and a microprocessor (not shown) for controlling input and output to and from the host computer 50. Also, disk IF
The unit 12 has an interface for connecting to the magnetic disk device 20 and a microprocessor (not shown) for controlling input and output to and from the magnetic disk device 20. The disk IF unit 12 also executes a RAID function.
【0005】図3は、他の従来のディスクアレイの構成
を示す。ホストコンピュータ50とディスクアレイ制御
装置3間のデータ転送を実行する複数のチャネルIF部
11と、磁気ディスク装置20とディスクアレイ制御装
置3間のデータ転送を実行する複数のディスクIF部1
2と、磁気ディスク装置20のデータを一時的に格納す
るキャッシュメモリ部14と、ディスクアレイ制御装置
3に関する制御情報(例えば、チャネルIF部及びディ
スクIF部とキャッシュメモリ部14との間のデータ転
送制御に関する情報)を格納する共有メモリ部15を備
え、各チャネルIF部11及びディスクIF部12と共
有メモリ部15間は共有バス130で接続され、各チャ
ネルIF11部及びディスクIF部12とキャッシュメ
モリ部14間は共有バス131で接続される。FIG. 3 shows the configuration of another conventional disk array. A plurality of channel IF units 11 for executing data transfer between the host computer 50 and the disk array controller 3, and a plurality of disk IF units 1 for executing data transfer between the magnetic disk device 20 and the disk array controller 3
2, a cache memory unit 14 for temporarily storing data of the magnetic disk device 20, and control information relating to the disk array controller 3 (for example, data transfer between the channel IF unit and the disk IF unit and the cache memory unit 14). A shared memory unit 15 for storing control-related information). Each of the channel IF unit 11 and the disk IF unit 12 and the shared memory unit 15 are connected by a shared bus 130, and each of the channel IF unit 11 and the disk IF unit 12 is connected to the cache memory. The units 14 are connected by a shared bus 131.
【0006】[0006]
【発明が解決しようとする課題】ディスクアレイシステ
ムに対する高性能化要求に対して、これまでは、ディス
クアレイ制御装置の大規模化や構成要素の高速化、例え
ばチャネルIF部及びディスクIF部内のプロセッサ数
やキャッシュメモリ容量の増大、高性能プロセッサの適
用、内部バス幅の拡大やバス転送能力の向上などで対応
してきた。しかしながら、第3図に示した従来技術で
は、内部バスの転送能力がシステムの大規模化および性
能向上に追従するのが困難になりつつある。In response to demands for higher performance of the disk array system, a large-scale disk array control device and a high-speed component have been used, for example, a processor in the channel IF section and the disk IF section. It has responded by increasing the number and cache memory capacity, applying high-performance processors, expanding the internal bus width, and improving the bus transfer capability. However, in the prior art shown in FIG. 3, it is becoming difficult for the transfer capability of the internal bus to follow the enlargement and performance improvement of the system.
【0007】そこで内部バス性能を向上させて高いメモ
リアクセス性能を得るために、第2図に示した従来技術
のように、チャネルIF部及びディスクIF部とキャッ
シュメモリ及び共有メモリ間を1:1に接続する方法が
考えられる。この方法によれば、メモリに接続したアク
セスパス数に比例して内部バス性能が増加する。しかし
ながら、搭載するプロセッサ数の増大に比例して、共有
メモリおよびキャッシュメモリへのアクセス要求も増加
する。そのため、内部バス性能を最大限に引き出すため
に、各チャネルIF部、ディスクIF部−共有メモリ、
キャッシュメモリ間のアクセスを効率的に制御する必要
がある。In order to improve the internal bus performance and obtain a high memory access performance, a 1: 1 connection between the channel IF unit and the disk IF unit and the cache memory and the shared memory as in the prior art shown in FIG. There is a method of connecting to. According to this method, the internal bus performance increases in proportion to the number of access paths connected to the memory. However, in proportion to the increase in the number of mounted processors, access requests to the shared memory and the cache memory also increase. Therefore, in order to maximize the internal bus performance, each channel IF unit, disk IF unit-shared memory,
It is necessary to efficiently control access between cache memories.
【0008】本発明の目的は上述の課題を解消し、チャ
ネルIF部、ディスクIF部−キャッシュメモリ間のア
クセスパスを効率的に使用し、キャッシュメモリへのデ
ータ転送スループットの高いディスクアレイ制御装置を
提供することにある。An object of the present invention is to solve the above-mentioned problems, to provide a disk array control device which efficiently uses an access path between a channel IF unit, a disk IF unit and a cache memory and has a high data transfer throughput to a cache memory. To provide.
【0009】[0009]
【課題を解決するための手段】上記目的は、それぞれ
が、ホストコンピュータとのインターフェース部と、ホ
ストコンピュータに対する入出力を制御するマイクロプ
ロセッサとを有する複数のチャネルインタフェース部
と、それぞれが、ディスク装置とのインターフェース部
と、ディスク装置に対する入出力を制御するマイクロプ
ロセッサとを有する複数のディスクインタフェース部
と、前記ディスク装置とのインターフェース部に接続さ
れるディスク装置内に格納されるデータを一時的に格納
するメモリモジュールと、前記メモリモジュールへのア
クセスを制御するメモリコントローラとを有するキャッ
シュメモリ部と、前記複数のチャネルインタフェース部
と、前記複数のディスクインタフェース部と、前記キャ
ッシュメモリ部とに接続され、前記複数のチャネルイン
タフェース部及び前記複数のディスクインタフェース部
から前記キャッシュメモリ部へのアクセス要求を実行す
るセレクタ部と、前記複数のチャネルインタフェース部
及び前記複数のディスクインタフェース部内の各マイク
ロプロセッサと、前記メモリコントローラとを接続する
複数の制御線とを有することを特徴とするディスクアレ
イ制御装置により達成される。SUMMARY OF THE INVENTION The object of the present invention is to provide a disk drive and a plurality of channel interface units each having an interface with a host computer and a microprocessor for controlling input / output to and from the host computer. And a plurality of disk interface units having a microprocessor for controlling input / output to and from the disk device, and temporarily store data stored in the disk device connected to the interface with the disk device. A cache memory unit having a memory module, a memory controller controlling access to the memory module, the plurality of channel interface units, the plurality of disk interface units, and connection to the cache memory unit A selector unit for executing an access request from the plurality of channel interface units and the plurality of disk interface units to the cache memory unit, and a microprocessor in the plurality of channel interface units and the plurality of disk interface units, A disk array controller having a plurality of control lines connecting the memory controller.
【0010】望ましくは、前記メモリコントローラは、
前記複数の制御線を介して、前記複数のチャネルインタ
フェース部又は前記複数のディスクインタフェース部内
の各マイクロプロセッサからアクセス要求を受信し、そ
のアクセス要求が競合した場合に、調停を行う手段を有
する。Preferably, the memory controller comprises:
Means for receiving an access request from each of the microprocessors in the plurality of channel interface units or the plurality of disk interface units via the plurality of control lines, and performing arbitration when the access requests conflict.
【0011】また、上記目的は、それぞれが、ホストコ
ンピュータとのインターフェース部と、ホストコンピュ
ータに対する入出力を制御するマイクロプロセッサとを
有する複数のチャネルインタフェース部と、それぞれ
が、ディスク装置とのインターフェース部と、ディスク
装置に対する入出力を制御するマイクロプロセッサとを
有する複数のディスクインタフェース部と、前記ディス
ク装置とのインターフェース部に接続されるディスク装
置内に格納されるデータを一時的に格納するメモリモジ
ュールと、前記メモリモジュールへのアクセスを制御す
るメモリコントローラとを有するキャッシュメモリ部
と、前記複数のチャネルインタフェース部と、前記複数
のディスクインタフェース部と、前記キャッシュメモリ
部とに接続され、前記複数のチャネルインタフェース部
及び前記複数のディスクインタフェース部から前記キャ
ッシュメモリ部へのアクセス要求を実行するセレクタ部
とを有し、前記複数のチャネルインタフェース部の各チ
ャネルインタフェース部は、前記キャッシュメモリ部へ
のアクセスを制御するキャッシュメモリアクセス制御部
を有し、前記複数のディスクインタフェース部の各ディ
スクインタフェース部は、前記キャッシュメモリ部への
アクセスを制御するキャッシュメモリアクセス制御部を
有し、前記複数のチャネルインタフェース部の各チャネ
ルインタフェース部の前記キャッシュメモリアクセス制
御部と、前記複数のディスクインタフェース部の各ディ
スクインタフェース部のキャッシュメモリアクセス制御
部と、前記メモリコントローラとを接続する複数の制御
線とを有することを特徴とするディスクアレイ制御装置
により達成される。The above object is also achieved by providing a plurality of channel interface units each having an interface unit with a host computer, a microprocessor for controlling input / output with respect to the host computer, and an interface unit with a disk device. A plurality of disk interface units having a microprocessor that controls input and output to the disk device, and a memory module that temporarily stores data stored in the disk device connected to the interface with the disk device; A cache memory unit having a memory controller that controls access to the memory module, the plurality of channel interface units, the plurality of disk interface units, and the cache memory unit; A plurality of channel interface units and a selector unit for executing an access request from the plurality of disk interface units to the cache memory unit, wherein each channel interface unit of the plurality of channel interface units is connected to the cache memory unit. A cache memory access controller for controlling access; each of the plurality of disk interface units having a cache memory access controller for controlling access to the cache memory unit; Connecting the cache memory access control unit of each channel interface unit, the cache memory access control unit of each disk interface unit of the plurality of disk interface units, and the memory controller It is achieved by the disk array controller and having a plurality of control lines that.
【0012】望ましくは、前記メモリコントローラは、
前記複数の制御線を介して、前記複数のチャネルインタ
フェース部又は前記複数のディスクインタフェース部内
の各キャッシュメモリアクセス制御部からアクセス要求
を受信し、そのアクセス要求が競合した場合に、調停を
行う手段を有する。Preferably, the memory controller comprises:
Means for receiving an access request from each of the plurality of channel interface units or the respective cache memory access control units in the plurality of disk interface units via the plurality of control lines, and performing arbitration when the access requests conflict. Have.
【0013】また、上記目的は、それぞれが、ホストコ
ンピュータとのインターフェース部と、ホストコンピュ
ータに対する入出力を制御するマイクロプロセッサとを
有する複数のチャネルインタフェース部と、それぞれ
が、ディスク装置とのインターフェース部と、ディスク
装置に対する入出力を制御するマイクロプロセッサとを
有する複数のディスクインタフェース部と、前記ディス
ク装置とのインターフェース部に接続されるディスク装
置内に格納されるデータを一時的に格納するメモリモジ
ュールと、前記メモリモジュールへのアクセスを制御す
るメモリコントローラとを有するキャッシュメモリ部
と、前記複数のチャネルインタフェース部と、前記複数
のディスクインタフェース部と、前記キャッシュメモリ
部とに接続され、前記複数のチャネルインタフェース部
及び前記複数のディスクインタフェース部から前記キャ
ッシュメモリ部へのアクセス要求を実行するセレクタ部
と、前記複数のチャネルインタフェース部及び前記複数
のディスクインタフェース部内の各マイクロプロセッサ
と、前記セレクタ部とを接続する複数の制御線とを有す
ることを特徴とするディスクアレイ制御装置により達成
される。The above object is also achieved by providing a plurality of channel interface units each having an interface unit with a host computer, a microprocessor for controlling input / output with respect to the host computer, and an interface unit with a disk device. A plurality of disk interface units having a microprocessor that controls input and output to the disk device, and a memory module that temporarily stores data stored in the disk device connected to the interface with the disk device; A cache memory unit having a memory controller that controls access to the memory module, the plurality of channel interface units, the plurality of disk interface units, and the cache memory unit; A selector unit for executing an access request from the plurality of channel interface units and the plurality of disk interface units to the cache memory unit; respective microprocessors in the plurality of channel interface units and the plurality of disk interface units; and the selector unit And a plurality of control lines for connecting to the disk array controller.
【0014】望ましくは、前記セレクタ部は、前記複数
の制御線を介して、前記複数のチャネルインタフェース
部又は前記複数のディスクインタフェース部内の各マイ
クロプロセッサからアクセス要求を受信し、そのアクセ
ス要求が競合した場合に、調停を行う手段を有する。Preferably, the selector unit receives an access request from each of the plurality of microprocessors in the plurality of channel interface units or the plurality of disk interface units via the plurality of control lines, and the access requests compete with each other. In some cases, a means for arbitration is provided.
【0015】[0015]
【発明の実施の形態】本発明の実施例について、以下詳
細に説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described in detail below.
【0016】(実施例1)図1に、本発明の一実施例を
示す。(Embodiment 1) FIG. 1 shows an embodiment of the present invention.
【0017】図1に、本発明の一実施例を示す。FIG. 1 shows an embodiment of the present invention.
【0018】ディスクアレイ制御装置1は、ホストコン
ピュータ50との2つのインターフェース部(チャネル
IF部)11と、磁気ディスク装置20との2つのイン
ターフェース部(ディスクIF部)12と、2つのセレ
クタ部13と、2つのキャッシュメモリ部14と、2つ
の共有メモリ部15と、アクセスパス0:135と、ア
クセスパス1:136と、アクセスパス2:137とを
有する。The disk array controller 1 has two interface units (channel IF units) 11 with the host computer 50, two interface units (disk IF units) 12 with the magnetic disk device 20, and two selector units 13 , Two cache memory units 14, two shared memory units 15, access paths 0: 135, access paths 1: 136, and access paths 2: 137.
【0019】図13を用いて、チャネルIF部11の構
成を説明する。チャネルIF部11は、ホストコンピュ
ータ50との2つのIF(ホストIF)102と、ホス
トコンピュータ50に対する入出力を制御する2つのマ
イクロプロセッサ101と、キャッシュメモリ部14へ
のアクセスを制御するアクセス制御部(CMアクセス制
御部)104を有し、ホストコンピュータ50とキャッ
シュメモリ部14間のデータ転送を実行する。マイクロ
プロセッサ101及びホストIF102は内部バス10
6によって接続され、CMアクセス制御部104は2つ
のホストIF102に直接接続されている。2つのマイ
クロプロセッサ101とメモリコントローラとの間は、
制御線216で接続されている。The configuration of the channel IF unit 11 will be described with reference to FIG. The channel IF unit 11 includes two IFs (host IFs) 102 with the host computer 50, two microprocessors 101 for controlling input / output to and from the host computer 50, and an access control unit for controlling access to the cache memory unit 14. (CM access control unit) 104, and executes data transfer between the host computer 50 and the cache memory unit 14. The microprocessor 101 and the host IF 102 are connected to the internal bus 10
6 and the CM access control unit 104 is directly connected to the two host IFs 102. Between the two microprocessors 101 and the memory controller,
They are connected by a control line 216.
【0020】ディスクIF部12は、図13で説明した
チャネルIF部11の構成と同様である。ディスクIF
部12は、磁気ディスク装置20との2つのIF(ドラ
イブIF)103と、磁気ディスク装置20に対する入
出力を制御する2つのマイクロプロセッサ101と、キ
ャッシュメモリ部14への1つのアクセス制御部(CM
アクセス制御部)104を有し、磁気ディスク装置20
とキャッシュメモリ部14間のデータ転送を実行する。
マイクロプロセッサ101及びドライブIF103は内
部バス106によって接続され、CMアクセス制御部1
04は2つのドライブIF103に直接接続されてい
る。2つのマイクロプロセッサ101とメモリコントロ
ーラとの間は、制御線216で接続されている。また、
ディスクIF部はRAID機能の実行も行う。The disk IF unit 12 has the same configuration as the channel IF unit 11 described with reference to FIG. Disk IF
The unit 12 includes two IFs (drive IFs) 103 for the magnetic disk device 20, two microprocessors 101 for controlling input / output to the magnetic disk device 20, and one access control unit (CM) for the cache memory unit 14.
Access control unit) 104, and the magnetic disk device 20
And data transfer between the cache memory unit and the cache memory unit.
The microprocessor 101 and the drive IF 103 are connected by an internal bus 106, and the CM access control unit 1
04 is directly connected to the two drive IFs 103. The two microprocessors 101 and the memory controller are connected by a control line 216. Also,
The disk IF unit also executes a RAID function.
【0021】ここで、上記個数は一実施例に過ぎず、個
数を上記に限定するものではない。Here, the above number is just an example, and the number is not limited to the above.
【0022】キャッシュメモリ部14は、メモリコント
ローラ105とメモリモジュール106を有し、磁気デ
ィスク装置20へ記録するデータや、そのデータ及びシ
ステム内の管理情報等を格納する。The cache memory unit 14 has a memory controller 105 and a memory module 106, and stores data to be recorded on the magnetic disk device 20, the data, management information in the system, and the like.
【0023】マイクロプロセッサ101は、キャッシュ
メモリ部14へのアクセス時、制御線6:216を使用
してメモリコントローラ105へアクセス要求を送出す
る。メモリコントローラ105は、各マイクロプロセッ
サ101からのアクセス要求にもとづいてアービトレー
ションを行い、メモリへのアクセス権を獲得したマイク
ロプロセッサ101へ、制御線6:216を使用してア
クセス承認を返す。マイクロプロセッサ101は、メモ
リコントローラ105からアクセス承認を受けると、キ
ャッシュメモリ部14へのアクセスを開始する。When accessing the cache memory unit 14, the microprocessor 101 sends an access request to the memory controller 105 using the control line 6: 216. The memory controller 105 performs arbitration based on an access request from each of the microprocessors 101, and returns access approval to the microprocessor 101 that has acquired the right to access the memory using the control line 6: 216. When the microprocessor 101 receives access approval from the memory controller 105, the microprocessor 101 starts accessing the cache memory unit 14.
【0024】セレクタ部13には、2つのチャネルIF
部11、2つのディスクIF部12からそれぞれ1本ず
つ、計4本のアクセスパス0:135が接続されてい
る。また、セレクタ部13には、2つのキャッシュメモ
リ部14へのアクセスパス1:136が1本ずつ、計2
本接続されている。The selector section 13 has two channel IFs.
A total of four access paths 0: 135 are connected, one each from the unit 11 and the two disk IF units 12. Further, the selector unit 13 has one access path 1: 136 to each of the two cache memory units 14 for a total of two access paths.
The book is connected.
【0025】アクセスパス0:135とアクセスパス
1:136の間には上記のようなパス数の関係があるた
め、セレクタ部13ではチャネルIF部11及びディス
クIF部12からの4本のアクセスパス0:135から
の要求の内、キャッシュメモリ部14へのアクセスパス
1:136の数に相当する2個だけを選択して実行する
機能を持つ。Since the number of paths is as described above between the access paths 0: 135 and 1: 136, the selector 13 has four access paths from the channel IF 11 and the disk IF 12. It has a function of selecting and executing only two of the requests from 0: 135 corresponding to the number of access paths 1: 136 to the cache memory unit 14.
【0026】ここで、上記個数は一実施例に過ぎず、個
数を上記に限定するものではない。1つのセレクタ部1
3からキャッシュメモリ部14へ接続されるアクセスパ
スの数を、チャネルIF部11及びディスクIF部12
から1つのセレクタ部13に接続されるアクセスパスの
数より少なくし、チャネルIF部11とディスクIF部
12の合計数よりもセレクタ部13の数が少なくなるよ
うに上記個数を設定すると、キャッシュメモリ部14へ
接続されるアクセスパス数を削減することができる。キ
ャッシュメモリ部14のLSIピンネック及びパッケー
ジのコネクタネックという問題が生じた場合、上記のよ
うにすることで、LSIのピンネック及びパッケージの
コネクタネックを解消することができる。Here, the above number is merely an example, and the number is not limited to the above. One selector unit 1
3 and the number of access paths connected to the cache memory unit 14 by the channel IF unit 11 and the disk IF unit 12.
If the number is set to be smaller than the number of access paths connected to one selector unit 13 and the number of selector units 13 is smaller than the total number of the channel IF unit 11 and the disk IF unit 12, the cache memory The number of access paths connected to the unit 14 can be reduced. When the problem of the LSI pin neck of the cache memory section 14 and the connector neck of the package occurs, the above-described manner can eliminate the pin neck of the LSI and the connector neck of the package.
【0027】図6は、CMアクセス制御部104内の構
成を示している。CMアクセス制御部104は、セレク
タ302と、キャッシュメモリ部14に繋がるアクセス
パス0:135とのパスIF301と、データのエラー
チェック部300と、データ転送制御部310を有す
る。セレクタ302の2つのポートはデータ線210で
ホストIF102あるいはドライブIF103に接続さ
れる。また、セレクタ302のもう1つのポートはパス
IF301に接続される。パスIF301はアクセスパ
ス0:135でセレクタ部13に接続される。データ転
送制御部310は、制御線1:211でホストIF10
2あるいはドライブIF103に接続され、制御線2:
212でセレクタ部13内のデータ転送制御部310に
接続される。また、データ転送制御部310は、セレク
タ302の切り替えを行う。FIG. 6 shows a configuration inside the CM access control unit 104. The CM access control unit 104 includes a selector 302, a path IF 301 for access paths 0: 135 connected to the cache memory unit 14, a data error check unit 300, and a data transfer control unit 310. Two ports of the selector 302 are connected to the host IF 102 or the drive IF 103 via the data line 210. Another port of the selector 302 is connected to the path IF 301. The path IF 301 is connected to the selector unit 13 via access paths 0: 135. The data transfer control unit 310 controls the host IF 10
2 or drive IF 103, and control line 2:
The connection 212 is connected to the data transfer control unit 310 in the selector unit 13. Further, the data transfer control unit 310 switches the selector 302.
【0028】図8は、セレクタ部13内の構成を示して
いる。セレクタ部13は、チャネルIF部11、または
ディスクIF部12に繋がるアクセスパス0:135と
のパスIF301と、キャッシュメモリ部14に繋がる
アクセスパス0:136とのパスIF301と、両者間
を互いに接続するセレクタ304と、データのエラーチ
ェック部300と、CMアクセス制御部104から送出
されたアドレス及びコマンドを解析するアドレス(ad
r)、コマンド(cmd)解析部305と、データ転送
制御部310を有する。データ転送制御部310は、制
御線2:212でCMアクセス制御部104内のデータ
転送制御部310に接続され、制御線4:214でキャ
ッシュメモリ部14のメモリコントローラ105内のデ
ータ転送制御部310に接続される。また、データ転送
制御部310は、セレクタ304の切り替えを行う。FIG. 8 shows the configuration inside the selector section 13. The selector section 13 connects the path IF 301 to the access path 0: 135 connected to the channel IF section 11 or the disk IF section 12 and the path IF 301 to the access path 0: 136 connected to the cache memory section 14, and connects the two to each other. Selector 304, the data error check unit 300, and the address (ad) for analyzing the address and command sent from the CM access control unit 104.
r), a command (cmd) analysis unit 305, and a data transfer control unit 310. The data transfer control unit 310 is connected to the data transfer control unit 310 in the CM access control unit 104 by the control line 2: 212, and is connected to the data transfer control unit 310 in the memory controller 105 of the cache memory unit 14 by the control line 4: 214. Connected to. Further, the data transfer control unit 310 switches the selector 304.
【0029】図10は、キャッシュメモリ部14内の構
成を示している。キャッシュメモリ部14は、メモリコ
ントローラ105とメモリモジュール106を有する。
メモリコントローラ105は、セレクタ部13に繋がる
アクセスパス1:136とのパスIF301と、メモリ
モジュール106とのメモリIF308と、両者間を互
いに接続するセレクタ302と、データのエラーチェッ
ク部300と、メモリモジュール106へのアクセスを
制御するメモリ制御部307と、CMアクセス制御部1
04から送出されたアドレス及びコマンドを解析するア
ドレス(adr)、コマンド(cmd)解析部305
と、アービタ306と、データ転送制御部310を有す
る。アービタ306は、制御線6:216で各マイクロ
プロセッサ101へ接続される。データ転送制御部31
0は、制御線4:214でセレクタ部13内のデータ転
送制御部310に接続される。また、データ転送制御部
310は、セレクタ302の切り替えを行う。FIG. 10 shows the configuration inside the cache memory unit 14. The cache memory unit 14 has a memory controller 105 and a memory module 106.
The memory controller 105 includes a path IF 301 to the access path 1: 136 connected to the selector unit 13, a memory IF 308 to the memory module 106, a selector 302 to connect them to each other, a data error check unit 300, Memory control unit 307 for controlling access to CM 106 and CM access control unit 1
The address (adr) for analyzing the address and the command sent from the address 04, the command (cmd) analyzer 305
, An arbiter 306 and a data transfer control unit 310. The arbiter 306 is connected to each microprocessor 101 by control lines 6: 216. Data transfer control unit 31
0 is connected to the data transfer control unit 310 in the selector unit 13 by a control line 4: 214. Further, the data transfer control unit 310 switches the selector 302.
【0030】次に、キャッシュメモリ部14へのアクセ
ス時の手順について述べる。キャッシュメモリ部14へ
アクセスする場合、チャネルIF部11またはディスク
IF部12内のマイクロプロセッサ101は、アクセス
するキャッシュメモリ部14のメモリコントローラ10
5内のアービタ306へ、制御線6:216を使用し
て、アクセス要求を送出する。Next, a procedure for accessing the cache memory unit 14 will be described. When accessing the cache memory unit 14, the microprocessor 101 in the channel IF unit 11 or the disk IF unit 12 sends the message to the memory controller 10 of the cache memory unit 14 to be accessed.
The access request is sent to the arbiter 306 in the control line 5 using the control line 6: 216.
【0031】メモリコントローラ105内のアービタ3
06は、アービトレーションによって各マイクロプロセ
ッサ101からのアクセス要求の内の1つを選択する。Arbiter 3 in memory controller 105
06 selects one of the access requests from each microprocessor 101 by arbitration.
【0032】本実施例の構成(図1)では、キャッシュ
メモリ部14へのアクセス時に、CMアクセス制御部1
04、セレクタ部13、及びメモリコントローラ105
の3個所でアクセスの競合が発生するため、それぞれの
箇所でアービトレーションを行い、競合の解消をする必
要がある。本発明の特徴は、それら3つのアービトレー
ションをメモリコントローラ105内のアービタ306
においてまとめて行うことにある。これにより、アクセ
ス競合による3回の待ち時間を1回に減らすことが可能
となる。In the configuration of this embodiment (FIG. 1), when the cache memory unit 14 is accessed, the CM access control unit 1
04, selector section 13, and memory controller 105
Since access conflicts occur at three locations, it is necessary to perform arbitration at each location to resolve the conflict. A feature of the present invention is that these three arbitrations are performed by the arbiter 306 in the memory controller 105.
It is to perform collectively. This makes it possible to reduce the three waiting times due to access contention to one.
【0033】アービタ306は、選択されたアクセス要
求を出したマイクロプロセッサ101へ、制御線6:2
16を使用して、アクセス承認を返す。アクセス承認を
受けたマイクロプロセッサ101は、ホストIF102
あるいはドライブIF103へ、キャッシュメモリ部1
4へのアクセス開始を指示する。The arbiter 306 sends a control line 6: 2 to the microprocessor 101 which has issued the selected access request.
Use 16 to return access authorization. The microprocessor 101 that has received the access approval is the host IF 102
Alternatively, the cache memory unit 1
4 is started.
【0034】アクセス開始の指示を受けたホストIF1
02あるいはドライブIF103は、制御線1:211
によりCMアクセス制御部104内のデータ転送制御部
310へアクセス開始を示す信号と、アクセス先のメモ
リコントローラ105を示す信号を送出する。データ転
送制御部310は、2本の制御線1:211のどちらか
らアクセス開始の信号が来たかによって、セレクタ30
2を切り替え、制御線1:211によりホストIF10
2あるいはドライブIF103へアクセス承認の信号を
返すとともに、制御線2:212によってセレクタ部1
3内のデータ転送制御部310へアクセス開始を示す信
号と、アクセス先のメモリコントローラ105を示す信
号を出す。Host IF 1 receiving access start instruction
02 or the drive IF 103 is connected to the control line 1: 211
Sends a signal indicating the start of access to the data transfer control unit 310 in the CM access control unit 104 and a signal indicating the memory controller 105 to be accessed. The data transfer control unit 310 determines which one of the two control lines 1: 211 has received the access start signal,
2 and the host IF 10
2 or the drive IF 103, and returns a signal of access approval to the selector unit 1 by the control line 2: 212.
A signal indicating the start of access and a signal indicating the memory controller 105 of the access destination are output to the data transfer control unit 310 in the third section.
【0035】本実施例では、CMアクセス制御部104
に2つのホストIF102あるいは2つのドライブIF
103が繋がっている。しかし、CMアクセス制御部1
04からメモリコントローラ105へのアクセスルート
は1つしかないため、メモリコントローラ105がメモ
リモジュール106へのアクセスを同時に複数処理でき
る機能を有する場合、アービタ306でのアービトレー
ション時には同じCMアクセス制御部104に繋がる2
つのホストIFあるいは2つのドライブIFを制御する
2つのマイクロプロセッサ101の両方にアクセス承認
を与えないようにする必要がある。CMアクセス制御部
104に繋がるホストIF102あるいはドライブIF
103の数と1つのCMアクセス制御部104から1つ
のメモリコントローラ105へのアクセスルートの数が
等しい場合は、この限りではない。In this embodiment, the CM access control unit 104
Two host IFs 102 or two drive IFs
103 is connected. However, CM access control unit 1
Since there is only one access route from the memory controller 105 to the memory controller 105, when the memory controller 105 has a function of simultaneously processing a plurality of accesses to the memory module 106, the memory controller 105 is connected to the same CM access control unit 104 during arbitration by the arbiter 306. 2
It is necessary not to grant access authorization to both the two host computers 101 or the two microprocessors 101 controlling the two drive interfaces. Host IF 102 or drive IF connected to CM access control unit 104
If the number of access routes 103 is equal to the number of access routes from one CM access control unit 104 to one memory controller 105, this is not the case.
【0036】また本実施例では、メモリコントローラ1
05が2つあるのに対してCMアクセス制御部104に
繋がるアクセスパス0:135は1本であるため、CM
アクセス制御部104から2つのメモリコントローラ1
05へ同時にアクセスすることが出来ない。したがっ
て、2つのメモリコントローラ105間を制御線で接続
し、一方のメモリコントローラ105内のアービタ30
6でのアービトレーション時には、もう一方のメモリコ
ントローラ105内のアービタ306の情報を参照し
て、同じCMアクセス制御部104に繋がる2つのホス
トIFあるいは2つのドライブIFを制御する2つのマ
イクロプロセッサ101の両方にアクセス承認を与えな
いようにする必要がある。CMアクセス制御部104か
ら2つのメモリコントローラ105へ同時にアクセスす
ることが可能である場合は、この限りではない。In this embodiment, the memory controller 1
05 is two, whereas the number of access paths 0: 135 connected to the CM access control unit 104 is one.
Two memory controllers 1 from the access control unit 104
05 cannot be accessed at the same time. Therefore, the two memory controllers 105 are connected by a control line, and the arbiter 30 in one memory controller 105 is connected.
At the time of arbitration in step 6, both the two host IFs connected to the same CM access control unit 104 or the two microprocessors 101 controlling the two drive IFs are referred to by referring to the information of the arbiter 306 in the other memory controller 105. Must not be given access authorization. This is not the case when it is possible to simultaneously access the two memory controllers 105 from the CM access control unit 104.
【0037】本実施例では、アービタ306で上記のよ
うな制約を考慮したアービトレーションを行わず、同じ
CMアクセス制御部104に繋がる2つのホストIF1
02あるいは2つのドライブIF103を制御する2つ
のマイクロプロセッサ101が排他制御を行い、CMア
クセス制御部104を同時に使用しないようにする。す
なわち、上記2つのマイクロプロセッサ101が、同時
にキャッシュメモリ部14へアクセス要求を出さないよ
うに排他制御を行う。In the present embodiment, the arbiter 306 does not perform arbitration in consideration of the above-mentioned restrictions, and the two host IFs 1 connected to the same CM access control unit 104 do not perform arbitration.
02 or two microprocessors 101 controlling the two drive IFs 103 perform exclusive control so that the CM access control unit 104 is not used at the same time. That is, the two microprocessors 101 perform exclusive control so as not to simultaneously issue an access request to the cache memory unit 14.
【0038】したがって、データ転送制御部310で
は、2本の制御線1:211の両方からアクセス開始の
信号が来た場合はエラーとみなし、障害処理を行う。Therefore, the data transfer control section 310 regards an access start signal from both of the two control lines 1: 211 as an error and performs a fault handling.
【0039】ホストIF102あるいはドライブIF1
03は、アクセス承認を受けるとデータ線210を通し
てアドレス、コマンド、データ(データの書き込み時の
み)を送出する。CMアクセス制御部104は、送られ
てきたアドレス、コマンド、データ(データの書き込み
時のみ)をセレクタ302、パスIF301を介して、
セレクタ部13に繋がるアクセスパス0:135に送出
する。The host IF 102 or the drive IF 1
03 sends an address, a command, and data (only at the time of writing data) through the data line 210 upon receiving the access approval. The CM access control unit 104 transmits the transmitted address, command, and data (only at the time of data writing) via the selector 302 and the path IF 301.
The data is transmitted to the access path 0: 135 connected to the selector unit 13.
【0040】セレクタ部13内のデータ転送制御部31
0は、制御線2:212によってアクセス開始の信号
と、アクセス先のメモリコントローラ105を示す信号
を受けると、4本の制御線2:212のどれからアクセ
ス開始の信号が来たかと、アクセス先のメモリコントロ
ーラ105を示す信号によって、セレクタ304を切り
替え、制御線2:212によりCMアクセス制御部10
4内のデータ転送制御部310へアクセス承認の信号を
返すとともに、制御線4:214によってメモリコント
ローラ105内のデータ転送制御部310へアクセス開
始を示す信号と、アクセス先のメモリコントローラ10
5を示す信号を出す。Data transfer control section 31 in selector section 13
0, upon receiving an access start signal and a signal indicating the memory controller 105 to be accessed by the control line 2: 212, which of the four control lines 2: 212 has received the access start signal and the access destination The selector 304 is switched by the signal indicating the memory controller 105 of the CM controller 105, and the CM access controller 10 is controlled by the control line 2: 212.
4 and a signal indicating the start of access to the data transfer control unit 310 in the memory controller 105 via the control line 4: 214, and a signal indicating the start of access to the data transfer control unit 310 in the memory controller 105.
A signal indicating 5 is issued.
【0041】本実施例では、セレクタ部13と1つのメ
モリコントローラ105間にアクセスパス1:136が
1本しかないため、アービタ306でのアービトレーシ
ョン時には同じセレクタ部13に繋がるチャネルIF部
11及びディスクIF部12内のマイクロプロセッサ1
01の内の1つにのみアクセス承認を与えるようにする
必要がある。セレクタ部13と1つのメモリコントロー
ラ105間にアクセスパス1:136が複数本あり、メ
モリコントローラ105がそのアクセスパスの数に等し
い要求を同時に処理できる場合は、それに等しい数のマ
イクロプロセッサ101へアクセス承認を与えることが
出来る。In this embodiment, since there is only one access path 1: 136 between the selector unit 13 and one memory controller 105, the channel IF unit 11 and the disk IF unit connected to the same selector unit 13 during arbitration by the arbiter 306. Microprocessor 1 in unit 12
Only one of 01 needs to be granted access approval. If there are a plurality of access paths 1: 136 between the selector unit 13 and one memory controller 105 and the memory controller 105 can simultaneously process requests equal to the number of the access paths, access is granted to the microprocessors 101 of the same number. Can be given.
【0042】上記のような制御を行うため、データ転送
制御部310では、4本の制御線2:212のうちの複
数本から同一のメモリコントローラ105へアクセス開
始の信号が来た場合はエラーとみなし、障害処理を行
う。To perform the above-described control, the data transfer control unit 310 generates an error when an access start signal from a plurality of the four control lines 2: 212 to the same memory controller 105 is received. Deemed and perform failure processing.
【0043】セレクタ部13は、送られてきたアドレ
ス、コマンド、データ(データの書き込み時のみ)をア
クセスパス0:135に繋がるパスIF301、セレク
タ304、アクセスパス1:136に繋がるパスIF3
01を介して、メモリコントローラ105に繋がるアク
セスパス1:136に送出する。The selector unit 13 transmits the transmitted address, command, and data (only at the time of writing data) to the path IF 301 connecting to the access paths 0 and 135, the selector 304, and the path IF 3 connecting to the access paths 1: 136.
01 to the access path 1: 136 connected to the memory controller 105.
【0044】また、送られてきたアドレス及びコマンド
はメモリコントローラ105へ送出するとともに、アド
レス(adr)、コマンド(cmd)解析部305へ取
り込み、2つのメモリコントローラ105の内のどちら
にアクセスするかを調べ、制御線212のアクセス先の
メモリコントローラ105を示す信号と比較し、異なる
場合はエラーとみなし障害処理を行う。The transmitted address and command are sent to the memory controller 105 and are also taken into the address (adr) and command (cmd) analyzer 305 to determine which of the two memory controllers 105 is to be accessed. The signal is checked and compared with a signal indicating the memory controller 105 to which the control line 212 is accessed.
【0045】ここで、上記のように制御線によってアク
セス先のメモリコントローラ105を示す信号を送らな
い場合は、ホストIF102またはドライブIF103
は、最初にアドレスとコマンドだけを送出する。そし
て、セレクタ部13内のアドレス(adr)、コマンド
(cmd)解析部305でアクセス先メモリコントロー
ラ105を調べてセレクタ304を切り替えた後、アク
セス承認がCMアクセス制御部104を経由して返って
きたのを確認した後、データを送出するという手順で処
理を行う必要がある。Here, when the signal indicating the memory controller 105 to be accessed is not transmitted by the control line as described above, the host IF 102 or the drive IF 103
Sends only the address and command first. The address (adr) in the selector unit 13 and the command (cmd) analysis unit 305 check the access destination memory controller 105 and switch the selector 304, and then the access approval is returned via the CM access control unit 104. After confirming the above, it is necessary to perform processing in a procedure of transmitting data.
【0046】メモリコントローラ105内のデータ転送
制御部310は、制御線4:214によってアクセス開
始の信号と、アクセス先のメモリコントローラ105を
示す信号を受けると、2本の制御線4:214のどちら
からアクセス開始の信号が来たかによって、セレクタ3
02を切り替え、制御線4:214によりセレクタ部1
3内のデータ転送制御部310へアクセス承認の信号を
返すとともに、メモリ制御部307へアクセス開始を示
す信号を出す。When the data transfer control unit 310 in the memory controller 105 receives a signal for starting access via the control line 4: 214 and a signal indicating the memory controller 105 to be accessed, the data transfer control unit 310 selects one of the two control lines 4: 214. Selector 3 depending on whether an access start signal is received from
02, and the selector unit 1 is controlled by the control line 4: 214.
3 and returns an access approval signal to the data transfer control unit 310 and a signal indicating the start of access to the memory control unit 307.
【0047】上記のような制御を行うため、データ転送
制御部310では、2本の制御線4:214の両方から
アクセス開始の信号が来た場合はエラーとみなし、障害
処理を行う。In order to perform the above-described control, the data transfer control unit 310 regards an access start signal from both of the two control lines 4: 214 as an error, and performs fault handling.
【0048】送られてきたアドレス、コマンドは、アド
レス(adr)、コマンド(cmd)解析部305へ取
り込み、解析結果得られたメモリの制御情報をメモリ制
御部307へ送出する。また、アクセス先メモリコント
ローラ105を調べ、自メモリコントローラと異なる場
合はエラーとみなし障害処理を行う。The transmitted address and command are taken into the address (adr) / command (cmd) analysis unit 305, and control information of the memory obtained as a result of the analysis is sent to the memory control unit 307. Further, the access destination memory controller 105 is checked, and if it is different from the own memory controller, it is regarded as an error and a fault process is performed.
【0049】データの書き込み時は、アクセスパス1:
136を通して送られてきたデータをパスIF301、
セレクタ302、メモリIF308を介してメモリモジ
ュール106へ書き込む。データの読み出し時は、メモ
リモジュール106からデータを読み出し、メモリIF
308、セレクタ302、パスIF301を介してアク
セスパス1:136へ送出する。At the time of writing data, access path 1:
136, the data sent through the path IF 301,
The data is written to the memory module 106 via the selector 302 and the memory IF 308. When reading data, the data is read from the memory module 106 and the memory IF
308, the selector 302, and the path IF301 to the access path 1: 136.
【0050】メモリモジュール106へのアクセスが終
了すると、データ転送制御部310においてアクセス状
況を示すステータスを生成し、セレクタ部13、CMア
クセス制御部104を経由して、ホストIF102また
はドライブIF103へ送出する。When the access to the memory module 106 is completed, the data transfer control unit 310 generates a status indicating the access status, and sends the status to the host IF 102 or the drive IF 103 via the selector unit 13 and the CM access control unit 104. .
【0051】本実施例では、CMアクセス制御部104
のデータ転送制御部310は、セレクタ302を切り替
えた後、アクセス開始の信号をセレクタ部13に送出
し、アクセス承認をホストIF102あるいはドライブ
IF103へ返すとしたが、そうした場合は、ホストI
F102あるいはドライブIF103からアドレスが送
られてくる前に、セレクタ部13からアクセス承認が返
ってくるように、各部の処理時間を設定しなければなら
ない。同様に、セレクタ部13においても、CMアクセ
ス制御部104からアドレスが送られてくる前に、メモ
リコントローラ105からアクセス承認が返ってくるよ
うに、各部の処理時間を設定しなければならない。上記
のように出来ない場合は、CMアクセス制御部104及
びセレクタ部13にバッファを設けるか、セレクタ部1
3はメモリコントローラ105からアクセス承認が返っ
てくるまでCMアクセス制御部104にアクセス承認を
返さず、同様にCMアクセス制御部104はセレクタ部
13からアクセス承認が返ってくるまでホストIF10
2またはドライブIF103にアクセス承認を返さない
ようにする必要がある。In this embodiment, the CM access control unit 104
After switching the selector 302, the data transfer control unit 310 sends an access start signal to the selector unit 13 and returns an access approval to the host IF 102 or the drive IF 103. In such a case, the host I
Before the address is sent from the F102 or the drive IF 103, the processing time of each unit must be set so that the access approval is returned from the selector unit 13. Similarly, in the selector unit 13, the processing time of each unit must be set so that an access approval is returned from the memory controller 105 before the address is sent from the CM access control unit 104. If this is not possible, a buffer may be provided in the CM access control unit 104 and the selector unit 13 or the selector unit 1
No. 3 does not return the access approval to the CM access control unit 104 until the access approval is returned from the memory controller 105. Similarly, the CM access control unit 104 returns the host IF 10 until the access approval is returned from the selector unit 13.
2 or drive IF 103 must not be returned.
【0052】上記のように、3個所で発生する競合解消
のためのアービトレーションをメモリコントローラ10
5内のアービタ306においてまとめて行うことによ
り、アクセス競合による3回の待ち時間を1回に減らす
ことが可能となる。それによって、キャッシュメモリ部
14へのアクセス時間が短縮され、高いスループットの
データ転送を実現できる。As described above, arbitration for resolving conflicts occurring in three places is performed by the memory controller 10.
5, the waiting time for three times due to access contention can be reduced to one time. As a result, the access time to the cache memory unit 14 is reduced, and high-throughput data transfer can be realized.
【0053】また、図12に示すように、チャネルIF
部11、ディスクIF部12、キャッシュメモリ部14
を、4つのスイッチ(SW)16で構成した相互結合網
110で接続したディスクアレイ制御装置1において
も、本実施例は有効であり、CMアクセス制御部10
4、SW16、メモリコントローラ105のそれぞれで
発生するアクセスの競合を解消するためのアービトレー
ションをメモリコントローラ105でまとめて行うこと
ができる。それによって、キャッシュメモリ部14への
アクセス時間が短縮され、高いスループットのデータ転
送を実現できる。Further, as shown in FIG.
Unit 11, disk IF unit 12, cache memory unit 14
This embodiment is also effective in the disk array control device 1 in which the CM access control unit 10 is connected to the disk array control device 1 through the interconnection network 110 constituted by four switches (SW) 16.
4, arbitration for resolving access conflicts occurring in each of the SW 16 and the memory controller 105 can be collectively performed by the memory controller 105. As a result, the access time to the cache memory unit 14 is reduced, and high-throughput data transfer can be realized.
【0054】(実施例2)図4に、本発明の他の実施例
を示す。(Embodiment 2) FIG. 4 shows another embodiment of the present invention.
【0055】ディスクアレイ制御装置1は、チャネルI
F部11、ディスクIF部12、セレクタ部13、キャ
ッシュメモリ部14と、アクセスパス0:135、アク
セスパス1:136を有する。The disk array control device 1 has a channel I
It has an F unit 11, a disk IF unit 12, a selector unit 13, and a cache memory unit 14, and access paths 0: 135 and 1: 136.
【0056】チャネルIF部11、ディスクIF部1
2、及びセレクタ部13の構成は、実施例1と同様であ
る。Channel IF section 11, Disk IF section 1
2 and the configuration of the selector unit 13 are the same as in the first embodiment.
【0057】CMアクセス制御部104とメモリコント
ローラ105間は制御線3:213で接続される。CM
アクセス制御部104は、キャッシュメモリ部14への
アクセス時、制御線3:213を使用してメモリコント
ローラ105へアクセス要求を送出する。メモリコント
ローラ105は、各CMアクセス制御部からのアクセス
要求にもとづいてアービトレーションを行い、メモリへ
のアクセス権を獲得したCMアクセス制御部104へ、
制御線3:213を使用してアクセス承認を返す。CM
アクセス制御部104は、メモリコントローラ105か
らアクセス承認を受けると、キャッシュメモリ部14へ
のアクセスを開始する。The CM access control unit 104 and the memory controller 105 are connected by a control line 3: 213. CM
When accessing the cache memory unit 14, the access control unit 104 sends an access request to the memory controller 105 using the control line 3: 213. The memory controller 105 performs arbitration based on the access request from each CM access control unit, and sends the arbitration to the CM access control unit 104 that has acquired the right to access the memory.
An access approval is returned using control line 3: 213. CM
Upon receiving the access approval from the memory controller 105, the access control unit 104 starts accessing the cache memory unit 14.
【0058】図7は、CMアクセス制御部104内の構
成を示している。CMアクセス制御部104は、セレク
タ302と、キャッシュメモリ部14に繋がるアクセス
パス0:135とのパスIF301と、アドレス、コマ
ンド、及びデータを一時保存するパケットバッファ30
3と、データのエラーチェック部300と、データ転送
制御部310を有する。セレクタ302の2つのポート
はデータ線210でホストIF102あるいはドライブ
IF103に接続される。また、セレクタ302のもう
1つのポートはパスIF301に接続される。パスIF
301はアクセスパス0:135でセレクタ部13に接
続される。データ転送制御部310は、制御線1:21
1でホストIF102あるいはドライブIF103に接
続され、制御線2:212でセレクタ部13内のデータ
転送制御部310に接続され、さらに制御線213でメ
モリコントローラ105内のデータ転送制御部310に
接続される。また、データ転送制御部310は、セレク
タ302の切り替えを行う。FIG. 7 shows the configuration inside the CM access control unit 104. The CM access control unit 104 includes a selector 302, a path IF 301 of access paths 0: 135 connected to the cache memory unit 14, and a packet buffer 30 for temporarily storing addresses, commands, and data.
3, a data error check unit 300 and a data transfer control unit 310. Two ports of the selector 302 are connected to the host IF 102 or the drive IF 103 via the data line 210. Another port of the selector 302 is connected to the path IF 301. Path IF
Reference numeral 301 denotes an access path 0: 135 connected to the selector unit 13. The data transfer control unit 310 has a control line 1:21
1 is connected to the host IF 102 or the drive IF 103, the control line 2: 212 is connected to the data transfer control unit 310 in the selector unit 13, and the control line 213 is connected to the data transfer control unit 310 in the memory controller 105. . Further, the data transfer control unit 310 switches the selector 302.
【0059】セレクタ部13内の構成は、図8に示す実
施例1の構成と同様である。The configuration inside the selector section 13 is the same as the configuration of the first embodiment shown in FIG.
【0060】キャッシュメモリ部14内の構成は、図1
0に示す実施例1の構成において、制御線6:216の
代わりに、CMアクセス制御部104内のデータ転送制
御部310に繋がる制御線3:213をアービタ306
に接続した構成とする。The configuration in the cache memory unit 14 is shown in FIG.
In the configuration of the first embodiment shown in FIG. 0, the control line 3: 213 connected to the data transfer control unit 310 in the CM access control unit 104 is replaced by the arbiter 306 instead of the control line 6: 216.
Connected.
【0061】次に、キャッシュメモリ部14へのアクセ
ス時の手順について述べる。キャッシュメモリ部14へ
アクセスする場合、チャネルIF部11またはディスク
IF部12内のマイクロプロセッサ101は、ホストI
F102あるいはドライブIF103へ、キャッシュメ
モリ部14へのアクセス開始を指示する。Next, a procedure for accessing the cache memory unit 14 will be described. When accessing the cache memory unit 14, the microprocessor 101 in the channel IF unit 11 or the disk IF unit 12
It instructs F102 or the drive IF 103 to start accessing the cache memory unit 14.
【0062】アクセス開始の指示を受けたホストIF1
02あるいはドライブIF103は、制御線1:211
によりCMアクセス制御部104内のデータ転送制御部
310へアクセス開始を示す信号と、アクセス先のメモ
リコントローラ105を示す信号を送出するとともに、
データ線210を通してアドレス、コマンド、データを
送出する。The host IF 1 receiving the access start instruction
02 or the drive IF 103 is connected to the control line 1: 211
Sends a signal indicating the start of access to the data transfer control unit 310 in the CM access control unit 104 and a signal indicating the memory controller 105 to be accessed.
The address, command, and data are transmitted through the data line 210.
【0063】CMアクセス制御部104は、データ線2
10を通して送られてきたアドレス、コマンド、データ
(データの書き込み時のみ)をパケットバッファ303
に一時格納する。データ転送制御部310は、アービト
レーションを行い、2つのホストIF102あるいは2
つのドライブIFのうちのどちらに、キャッシュメモリ
部14へのアクセス権を与えるかを決定する。その後、
アクセス権を与えられたホストIF102あるいはドラ
イブIF103がアクセスするキャッシュメモリ部14
のメモリコントローラ105内のアービタ306へ、制
御線3:213を使用して、アクセス要求を送出する。The CM access control unit 104 controls the data line 2
The address, command, and data (only when writing data) transmitted through the
To be stored temporarily. The data transfer control unit 310 performs arbitration, and executes the two host IFs 102 or 2
It is determined which of the two drive IFs is given an access right to the cache memory unit 14. afterwards,
The cache memory unit 14 accessed by the host IF 102 or the drive IF 103 to which the access right has been given.
An access request is sent to the arbiter 306 in the memory controller 105 using the control line 3: 213.
【0064】メモリコントローラ105内のアービタ3
06は、アービトレーションによって各CMアクセス制
御部104からのアクセス要求の内の1つを選択する。Arbiter 3 in memory controller 105
06 selects one of the access requests from each CM access control unit 104 by arbitration.
【0065】本実施例の構成(図1)では、キャッシュ
メモリ部14へのアクセス時に、CMアクセス制御部1
04、セレクタ部13、及びメモリコントローラ105
の3個所でアクセスの競合が発生するため、それぞれの
箇所でアービトレーションを行い、競合の解消をする必
要がある。本発明の特徴は、それらのうち、セレクタ部
13とメモリコントローラ105の2個所でのアービト
レーションをメモリコントローラ105内のアービタ3
06においてまとめて行うことにある。これにより、ア
クセス競合による3回の待ち時間を2回に減らすことが
可能となる。In the configuration of this embodiment (FIG. 1), when the cache memory unit 14 is accessed, the CM access control unit 1
04, selector section 13, and memory controller 105
Since access conflicts occur at three locations, it is necessary to perform arbitration at each location to resolve the conflict. The feature of the present invention is that the arbitration at the selector unit 13 and the memory controller 105 is performed by the arbiter 3 in the memory controller 105.
06. This makes it possible to reduce the three waiting times due to access contention to two.
【0066】本実施例は、実施例1のように全てのマイ
クロプロセッサ101からの制御線6:216をメモリ
コントローラ105に接続することが、メモリコントロ
ーラ105を実装するLSIのピンネックにより不可能
な場合に有効となる。In this embodiment, as in the first embodiment, it is impossible to connect the control lines 6: 216 from all the microprocessors 101 to the memory controller 105 due to the pin-neck of the LSI mounting the memory controller 105. It is effective for
【0067】アービタ306は、選択されたアクセス要
求を出したCMアクセス制御部104へ、制御線3:2
13を使用して、アクセス承認を返す。The arbiter 306 sends a control line 3: 2 to the CM access control unit 104 which has issued the selected access request.
13 to return access authorization.
【0068】アクセス承認を受けたCMアクセス制御部
104内のデータ転送制御部310は、セレクタ302
を切り替え、制御線2:212によってセレクタ部13
内のデータ転送制御部310へアクセス開始を示す信号
と、アクセス先のメモリコントローラ105を示す信号
を出す。アクセス承認がセレクタ部13から返ってきた
ら、パケットバッファ内のアドレス、コマンド、データ
(書き込み時のみ)をセレクタ302、パスIF301
を介して、アクセスパス0:135へ送出する。以降の
処理手順は、実施例1で述べた手順と同様である。The data transfer control unit 310 in the CM access control unit 104 having received the access approval is
Is switched, and the selector unit 13 is controlled by the control line 2: 212.
A signal indicating the start of access to the data transfer control unit 310 and a signal indicating the memory controller 105 of the access destination are output. When the access approval is returned from the selector unit 13, the address, command, and data (only at the time of writing) in the packet buffer are transferred to the selector 302 and the path IF 301.
Through the access path 0: 135. The subsequent processing procedure is the same as the procedure described in the first embodiment.
【0069】本実施例では、セレクタ部13と1つのメ
モリコントローラ105間にアクセスパス1:136が
1本しかないため、アービタ306でのアービトレーシ
ョン時には同じセレクタ部13に繋がるCMアクセス制
御部104の内の1つにのみアクセス承認を与えるよう
にする必要がある。セレクタ部13と1つのメモリコン
トローラ105間にアクセスパス1:136が複数本あ
り、メモリコントローラ105がそのアクセスパスの数
に等しい要求を同時に処理できる場合は、それに等しい
数のCMアクセス制御部104へアクセス承認を与える
ことが出来る。In this embodiment, since there is only one access path 1: 136 between the selector unit 13 and one memory controller 105, at the time of arbitration by the arbiter 306, the CM access control unit 104 connected to the same selector unit 13 Needs to be granted access authorization to only one of them. If there are a plurality of access paths 1: 136 between the selector unit 13 and one memory controller 105, and the memory controller 105 can simultaneously process requests equal to the number of the access paths, the CM access control units 104 of the same number are sent to the same number. Access authorization can be given.
【0070】本実施例においても実施例1と同様に、
セレクタ部13において、CMアクセス制御部104か
らアドレスが送られてくる前に、メモリコントローラ1
05からアクセス承認が返ってくるように、各部の処理
時間を設定しなければならない。上記のように出来ない
場合は、セレクタ部13にバッファを設けるか、セレク
タ部13はメモリコントローラ105からアクセス承認
が返ってくるまでCMアクセス制御部104にアクセス
承認を返さないようにする必要がある。In this embodiment, as in the first embodiment,
Before the selector unit 13 receives the address from the CM access control unit 104, the memory controller 1
The processing time of each unit must be set so that the access approval is returned from 05. If this is not possible, a buffer must be provided in the selector unit 13 or the selector unit 13 must not return an access approval to the CM access control unit 104 until an access approval is returned from the memory controller 105. .
【0071】LSIのピンネックにより、全てのマイク
ロプロセッサ101からの制御線をメモリコントローラ
105に接続できない場合は、上記のように、セレクタ
部13及びメモリコントローラ105の2個所で発生す
る競合解消のためのアービトレーションをメモリコント
ローラ105内のアービタ306においてまとめて行う
ことにより、アクセス競合による3回の待ち時間を2回
に減らすことが可能となる。それによって、キャッシュ
メモリ部14へのアクセス時間が短縮され、高いスルー
プットのデータ転送を実現できる。If the control lines from all the microprocessors 101 cannot be connected to the memory controller 105 due to the LSI pin neck, as described above, the conflict between the selector unit 13 and the memory controller 105 is eliminated. By performing arbitration collectively in the arbiter 306 in the memory controller 105, it is possible to reduce three waiting times due to access contention to two times. As a result, the access time to the cache memory unit 14 is reduced, and high-throughput data transfer can be realized.
【0072】(実施例3)図5に本発明の他の実施例を
示す。(Embodiment 3) FIG. 5 shows another embodiment of the present invention.
【0073】ディスクアレイ制御装置1は、チャネルI
F部11、ディスクIF部12、セレクタ部13、キャ
ッシュメモリ部14と、アクセスパス0:135、アク
セスパス1:136を有する。The disk array control device 1 has a channel I
It has an F unit 11, a disk IF unit 12, a selector unit 13, and a cache memory unit 14, and access paths 0: 135 and 1: 136.
【0074】チャネルIF部11及びディスクIF部1
2の構成は、実施例1と同様である。Channel IF section 11 and disk IF section 1
The configuration of the second embodiment is the same as that of the first embodiment.
【0075】マイクロプロセッサ101とセレクタ部1
3間は制御線5:215で接続されている。マイクロプ
ロセッサ101は、キャッシュメモリ部14へのアクセ
ス時、制御線5:215を使用してセレクタ部13へア
クセス要求を送出する。セレクタ部13は、各マイクロ
プロセッサ101からのアクセス要求にもとづいてアー
ビトレーションを行い、メモリへのアクセス権を獲得し
たマイクロプロセッサ101へ、制御線5:215を使
用してアクセス承認を返す。マイクロプロセッサ101
は、セレクタ部13からアクセス承認を受けると、キャ
ッシュメモリ部14へのアクセスを開始する。Microprocessor 101 and selector unit 1
3 are connected by a control line 5: 215. When accessing the cache memory unit 14, the microprocessor 101 sends an access request to the selector unit 13 using the control line 5: 215. The selector unit 13 performs arbitration based on an access request from each of the microprocessors 101, and returns an access acknowledgment using the control line 5: 215 to the microprocessor 101 that has acquired the right to access the memory. Microprocessor 101
Starts access to the cache memory unit 14 upon receiving access approval from the selector unit 13.
【0076】CMアクセス制御部104内部の構成は、
図6に示す実施例1の構成と同様である。The internal configuration of the CM access control unit 104 is as follows.
This is the same as the configuration of the first embodiment shown in FIG.
【0077】図9は、セレクタ部13内の構成を示して
いる。セレクタ部13は、チャネルIF部11、または
ディスクIF部12に繋がるアクセスパス0:135と
のパスIF301と、キャッシュメモリ部14に繋がる
アクセスパス1:136とのパスIF301と、両者間
を互いに接続するセレクタ304と、データのエラーチ
ェック部300と、チャネルIF部11、またはディス
クIF部12から送出されたアドレス及びコマンドを解
析するアドレス(adr)、コマンド(cmd)解析部
305と、アービタ306と、データ転送制御部310
を有する。データ転送制御部310は、制御線2:21
2でCMアクセス制御部104内のデータ転送制御部3
10に接続され、制御線4:214でキャッシュメモリ
部14のメモリコントローラ105内のデータ転送制御
部310に接続される。また、データ転送制御部310
は、セレクタ304の切り替えを行う。アービタ306
には、マイクロプロセッサ101からの制御線5:21
5が接続される。本実施例では、チャネルIF部11、
またはディスクIF部12に繋がるアクセスパス0:1
35とのIFポート301の数を4つ、キャッシュメモ
リ部14に繋がるアクセスパス1:136とのパスIF
301の数を2つとした。実施例1の場合と同様に、上
記個数は一実施例に過ぎず、個数を上記に限定するもの
ではない。FIG. 9 shows the configuration inside the selector section 13. The selector unit 13 connects the path IF 301 with the access path 0: 135 connected to the channel IF unit 11 or the disk IF unit 12 and the path IF 301 with the access path 1: 136 connected to the cache memory unit 14. Selector 304, a data error check unit 300, an address (adr) for analyzing addresses and commands sent from the channel IF unit 11 or the disk IF unit 12, a command (cmd) analyzing unit 305, and an arbiter 306. , Data transfer control section 310
Having. The data transfer control unit 310 controls the control line 2:21.
2. Data transfer control unit 3 in CM access control unit 104
10 and connected to the data transfer control unit 310 in the memory controller 105 of the cache memory unit 14 by the control line 4: 214. Also, the data transfer control unit 310
Switches the selector 304. Arbiter 306
Control line 5:21 from the microprocessor 101
5 is connected. In the present embodiment, the channel IF unit 11,
Alternatively, an access path 0: 1 connected to the disk IF unit 12
35, the number of IF ports 301 is four, and the path IFs to access paths 1: 136 connected to the cache memory unit 14.
The number of 301s was two. As in the case of the first embodiment, the above number is merely an example, and the number is not limited to the above.
【0078】図11は、キャッシュメモリ部14内の構
成を示している。キャッシュメモリ部14は、メモリコ
ントローラ105とメモリモジュール106を有する。
メモリコントローラ105は、セレクタ部13に繋がる
アクセスパス1:136とのパスIF301と、メモリ
モジュール106とのメモリIF308と、両者間を互
いに接続するセレクタ302とアドレス、コマンド、デ
ータを一時格納するパケットバッファ303と、データ
のエラーチェック部300と、メモリモジュール106
へのアクセスを制御するメモリ制御部307と、CMア
クセス制御部104から送出されたアドレス及びコマン
ドを解析するアドレス(adr)、コマンド(cmd)
解析部305と、データ転送制御部310を有する。デ
ータ転送制御部310は、制御線4:214でセレクタ
部13内のデータ転送制御部310に接続される。ま
た、データ転送制御部310は、セレクタ302の切り
替えを行う。本実施例では、セレクタ部13に繋がるア
クセスパス1:136とのパスIF301の数を2つと
した。上記個数は一実施例に過ぎず、個数を上記に限定
するものではない。FIG. 11 shows the configuration inside the cache memory unit 14. The cache memory unit 14 has a memory controller 105 and a memory module 106.
The memory controller 105 includes a path IF 301 to the access path 1: 136 connected to the selector unit 13, a memory IF 308 to the memory module 106, a selector 302 connecting the two, and a packet buffer for temporarily storing addresses, commands, and data. 303, a data error check unit 300, and a memory module 106
Memory control unit 307 for controlling access to the address, address (adr) for analyzing the address and command sent from CM access control unit 104, and command (cmd)
An analysis unit 305 and a data transfer control unit 310 are provided. The data transfer control section 310 is connected to the data transfer control section 310 in the selector section 13 by a control line 4: 214. Further, the data transfer control unit 310 switches the selector 302. In the present embodiment, the number of path IFs 301 for the access path 1: 136 connected to the selector unit 13 is two. The above number is merely an example, and the number is not limited to the above.
【0079】次に、キャッシュメモリ部14へのアクセ
ス時の手順について述べる。キャッシュメモリ部14へ
アクセスする場合、チャネルIF部11またはディスク
IF部12内のマイクロプロセッサ101は、自身が実
装されているチャネルIF部11またはディスクIF部
12が繋がるセレクタ部13内のアービタ306へ、制
御線5:215を使用して、アクセス要求を送出する。Next, a procedure for accessing the cache memory unit 14 will be described. When accessing the cache memory unit 14, the microprocessor 101 in the channel IF unit 11 or the disk IF unit 12 sends the microprocessor 101 to the arbiter 306 in the selector unit 13 connected to the channel IF unit 11 or the disk IF unit 12 in which the microprocessor 101 is mounted. , Using the control line 5: 215.
【0080】セレクタ部13内のアービタ306は、ア
ービトレーションによって各マイクロプロセッサ101
からのアクセス要求の内の1つを選択する。The arbiter 306 in the selector section 13 is adapted to arbitrate the respective microprocessors 101.
Select one of the access requests from.
【0081】本実施例の構成(図1)では、キャッシュ
メモリ部14アクセス時に、CMアクセス制御部10
4、セレクタ部13、及びメモリコントローラ105の
3個所でアクセスの競合が発生するため、それぞれの箇
所でアービトレーションを行い、競合の解消をする必要
がある。本発明の特徴は、それらのうち、CMアクセス
制御部104及びセレクタ部13でのアービトレーショ
ンをセレクタ部13内のアービタ306においてまとめ
て行うことにある。これにより、アクセス競合による3
回の待ち時間を2回に減らすことが可能となる。In the configuration of this embodiment (FIG. 1), when the cache memory unit 14 is accessed, the CM access control unit 10
4, access conflicts occur at three locations: the selector unit 13 and the memory controller 105. Therefore, arbitration must be performed at each location to eliminate the conflict. The feature of the present invention resides in that the arbitration in the CM access control unit 104 and the selector unit 13 is performed by the arbiter 306 in the selector unit 13 collectively. As a result, 3
Waiting time can be reduced to two times.
【0082】本実施例は、実施例1のように全てのマイ
クロプロセッサ101からの制御線6:216をメモリ
コントローラ105に接続することが、メモリコントロ
ーラ105を実装するLSIのピンネックにより不可能
な場合に有効となる。但し、セレクタ部13内のセレク
タ304とアクセスパス1:136とのパスIF301
の間、あるいはメモリコントローラ105内のパスIF
とセレクタ302の間にパケットバッファ303を設け
る必要がある。本実施例ではメモリコントローラ105
内にパケットバッファ303を設ける。This embodiment is different from the first embodiment in that it is impossible to connect the control lines 6: 216 from all the microprocessors 101 to the memory controller 105 due to the pin-neck of the LSI mounting the memory controller 105. It is effective for However, the path IF 301 between the selector 304 in the selector unit 13 and the access path 1: 136
Or the path IF in the memory controller 105
It is necessary to provide a packet buffer 303 between the selector 302 and the packet buffer 303. In this embodiment, the memory controller 105
, A packet buffer 303 is provided.
【0083】このようにパケットバッファ303を設け
るのは、セレクタ部13においてキャッシュメモリ部1
4に繋がるアクセスパス1:136の使用権を獲得して
も、メモリコントローラ105においてメモリモジュー
ル106へのアクセスの競合が発生して待ち時間が生じ
るためである。したがって、パケットバッファ303を
設けないと、メモリモジュール106へのアクセス権を
獲得できるまで、マイクロプロセッサ101はキャッシ
ュメモリ部14へのアクセスを開始できず、その間アク
セスパス0:135及びアクセスパス1:136を占有
することになる。そのため、アクセスパスの使用効率が
低下して、データ転送のスループットが下がる。The reason why the packet buffer 303 is provided as described above is that the selector unit 13 uses the cache memory unit 1.
This is because even if the right to use the access path 1: 136 connected to No. 4 is acquired, contention for access to the memory module 106 occurs in the memory controller 105 and a waiting time occurs. Therefore, if the packet buffer 303 is not provided, the microprocessor 101 cannot start accessing the cache memory unit 14 until the right to access the memory module 106 can be obtained. During that time, the access paths 0: 135 and 1: 136 Will be occupied. Therefore, the use efficiency of the access path is reduced, and the data transfer throughput is reduced.
【0084】アービタ306は、選択されたアクセス要
求を出したマイクロプロセッサ101へ、制御線5:2
15を使用して、アクセス承認を返す。アクセス承認を
受けたマイクロプロセッサ101は、ホストIF102
あるいはドライブIF103へ、キャッシュメモリ部1
4へのアクセス開始を指示する。The arbiter 306 sends a control line 5: 2 to the microprocessor 101 which has issued the selected access request.
Use 15 to return access authorization. The microprocessor 101 that has received the access approval is the host IF 102
Alternatively, the cache memory unit 1
4 is started.
【0085】アクセス開始の指示を受けたホストIF1
02あるいはドライブIF103は、制御線1:211
によりCMアクセス制御部104内のデータ転送制御部
310へアクセス開始を示す信号と、アクセス先のメモ
リコントローラ105を示す信号を送出する。データ転
送制御部310は、2本の制御線1:211のどちらか
らアクセス開始の信号が来たかによって、セレクタ30
2を切り替え、制御線1:211によりホストIF10
2あるいはドライブIF103へアクセス承認の信号を
返すとともに、制御線2:212によってセレクタ部1
3内のデータ転送制御部310へアクセス開始を示す信
号と、アクセス先のメモリコントローラ105を示す信
号を出す。Host IF 1 receiving access start instruction
02 or the drive IF 103 is connected to the control line 1: 211
Sends a signal indicating the start of access to the data transfer control unit 310 in the CM access control unit 104 and a signal indicating the memory controller 105 to be accessed. The data transfer control unit 310 determines which one of the two control lines 1: 211 has received the access start signal,
2 and the host IF 10
2 or the drive IF 103, and returns a signal of access approval to the selector unit 1 by the control line 2: 212.
A signal indicating the start of access and a signal indicating the memory controller 105 of the access destination are output to the data transfer control unit 310 in the third section.
【0086】本実施例では、CMアクセス制御部104
に2つのホストIF102あるいは2つのドライブIF
103が繋がっているが、 CMアクセス制御部104
からセレクタ部13へのアクセスルートは1つしかない
ため、アービタ306でのアービトレーション時には同
じCMアクセス制御部104に繋がる2つのホストIF
あるいは2つのドライブIFを制御する2つのマイクロ
プロセッサ101の両方にアクセス承認を与えないよう
にする必要がある。CMアクセス制御部104に繋がる
ホストIF102あるいはドライブIF103の数とセ
レクタ部13へのアクセスルートの数が等しい場合は、
この限りではない。In this embodiment, the CM access control unit 104
Two host IFs 102 or two drive IFs
103 is connected, CM access control unit 104
Since there is only one access route from the arbiter 306 to the selector unit 13, the two host IFs connected to the same CM access control unit 104 during arbitration by the arbiter 306.
Alternatively, it is necessary not to give access approval to both of the two microprocessors 101 controlling the two drive IFs. When the number of host IFs 102 or drive IFs 103 connected to the CM access control unit 104 is equal to the number of access routes to the selector unit 13,
This is not the case.
【0087】アービタ306で上記のような制約を考慮
したアービトレーションを行わない場合は、同じCMア
クセス制御部104に繋がる2つのホストIF102あ
るいは2つのドライブIF103を制御する2つのマイ
クロプロセッサ101が排他制御を行い、CMアクセス
制御部104を同時に使用しないようにする必要があ
る。When arbitration is not performed by the arbiter 306 in consideration of the above-described restrictions, two microprocessors 101 controlling two host IFs 102 or two drive IFs 103 connected to the same CM access control unit 104 perform exclusive control. Therefore, it is necessary to prevent the CM access control unit 104 from being used at the same time.
【0088】上記のような制御を行った場合、データ転
送制御部310では、2本の制御線1:211の両方か
らアクセス開始の信号が来た場合はエラーとみなし、障
害処理を行う。When the above-described control is performed, the data transfer control section 310 regards an access start signal from both of the two control lines 1: 211 as an error and performs a fault handling.
【0089】ホストIF102あるいはドライブIF1
03は、アクセス承認を受けるとデータ線210を通し
てアドレス、コマンド、データ(データの書き込み時の
み)を送出する。CMアクセス制御部104は、送られ
てきたアドレス、コマンド、データ(データの書き込み
時のみ)をセレクタ302、パスIF301を介して、
セレクタ部13に繋がるアクセスパス0:135に送出
する。The host IF 102 or the drive IF 1
03 sends an address, a command, and data (only at the time of writing data) through the data line 210 upon receiving the access approval. The CM access control unit 104 transmits the transmitted address, command, and data (only at the time of data writing) via the selector 302 and the path IF 301.
The data is transmitted to the access path 0: 135 connected to the selector unit 13.
【0090】セレクタ部13内のデータ転送制御部31
0は、制御線2:212によってアクセス開始の信号
と、アクセス先のメモリコントローラ105を示す信号
を受けると、4本の制御線2:212のどれからアクセ
ス開始の信号が来たかと、アクセス先のメモリコントロ
ーラ105を示す信号によって、セレクタ304を切り
替え、制御線2:212によりCMアクセス制御部10
4内のデータ転送制御部310へアクセス承認の信号を
返すとともに、制御線4:214によってメモリコント
ローラ105内のデータ転送制御部310へアクセス開
始を示す信号と、アクセス先のメモリコントローラ10
5を示す信号を出す。Data transfer control section 31 in selector section 13
0, upon receiving an access start signal and a signal indicating the memory controller 105 to be accessed by the control line 2: 212, which of the four control lines 2: 212 has received the access start signal and the access destination The selector 304 is switched by the signal indicating the memory controller 105 of the CM controller 105, and the CM access controller 10 is controlled by the control line 2: 212.
4 and a signal indicating the start of access to the data transfer control unit 310 in the memory controller 105 via the control line 4: 214, and a signal indicating the start of access to the data transfer control unit 310 in the memory controller 105.
A signal indicating 5 is issued.
【0091】セレクタ部13は、送られてきたアドレ
ス、コマンド、データ(データの書き込み時のみ)をア
クセスパス0:135に繋がるパスIF301、セレク
タ304、アクセスパス1:136に繋がるパスIF3
01を介して、メモリコントローラ105に繋がるアク
セスパス1:136に送出する。The selector unit 13 sends the transmitted address, command, and data (only at the time of data writing) to the path IF 301 connected to the access paths 0 and 135, the selector 304, and the path IF 3 connected to the access paths 1: 136.
01 to the access path 1: 136 connected to the memory controller 105.
【0092】また、送られてきたアドレス及びコマンド
はメモリコントローラ105へ送出するとともに、アド
レス(adr)、コマンド(cmd)解析部305へ取
り込み、2つのメモリコントローラ105の内のどちら
にアクセスするかを調べ、制御線212のアクセス先の
メモリコントローラ105を示す信号と比較し、異なる
場合はエラーとみなし障害処理を行う。The transmitted address and command are sent to the memory controller 105, and are also taken into the address (adr) and command (cmd) analyzer 305 to determine which of the two memory controllers 105 is to be accessed. The signal is checked and compared with a signal indicating the memory controller 105 to which the control line 212 is accessed.
【0093】メモリコントローラ105内のデータ転送
制御部310は、制御線4:214によってアクセス開
始の信号と、アクセス先のメモリコントローラ105を
示す信号を受けると、制御線4:214によりセレクタ
部13内のデータ転送制御部310へアクセス承認の信
号を返す。また、送られてきたアドレス、コマンド、デ
ータ(データの書き込み時のみ)は、パケットバッファ
303に一時格納する。The data transfer control unit 310 in the memory controller 105 receives an access start signal on the control line 4: 214 and a signal indicating the memory controller 105 to be accessed, and receives a signal from the selector unit 13 on the control line 4: 214. A signal of access approval is returned to the data transfer control unit 310 of FIG. The transmitted address, command, and data (only when writing data) are temporarily stored in the packet buffer 303.
【0094】また、データ転送制御部310はアービト
レーションを行い、2本のアクセスパス1:136のう
ちのどちらにメモリアクセス権を与えるかを決定する。The data transfer control section 310 performs arbitration, and determines which of the two access paths 1: 136 is given the memory access right.
【0095】メモリアクセス権を与えられたパス側のパ
ケットバッファ303から、アドレス、コマンドをアド
レス(adr)、コマンド(cmd)解析部305へ取
り込み、解析結果得られたメモリの制御情報をメモリ制
御部307へ送出する。また、アクセス先メモリコント
ローラ105を調べ、自メモリコントローラと異なる場
合はエラーとみなし障害処理を行う。An address and a command are taken into the address (adr) and command (cmd) analyzer 305 from the packet buffer 303 on the path side to which the memory access right is given, and the control information of the memory obtained as a result of the analysis is stored in the memory controller. 307. Further, the access destination memory controller 105 is checked, and if it is different from the own memory controller, it is regarded as an error and a fault process is performed.
【0096】データの書き込み時は、パケットバッファ
303内に格納したデータをセレクタ302、メモリI
F308を介してメモリモジュール106へ書き込む。
データの読み出し時は、メモリモジュール106からデ
ータを読み出し、メモリIF308、セレクタ302、
パスIF301を介してアクセスパス1:136へ送出
する。When writing data, the data stored in the packet buffer 303 is stored in the selector 302 and the memory I
The data is written to the memory module 106 via F308.
When reading data, the data is read from the memory module 106, and the memory IF 308, the selector 302,
The data is transmitted to the access path 1: 136 via the path IF301.
【0097】メモリモジュール106へのアクセスが終
了すると、データ転送制御部310においてアクセス状
況を示すステータスを生成し、セレクタ部13、CMア
クセス制御部104を経由して、ホストIF102また
はドライブIF103へ送出する。When the access to the memory module 106 is completed, a status indicating the access status is generated in the data transfer control section 310 and transmitted to the host IF 102 or the drive IF 103 via the selector section 13 and the CM access control section 104. .
【0098】本実施例では、CMアクセス制御部104
のデータ転送制御部310は、セレクタ302を切り替
えた後、アクセス開始の信号をセレクタ部13に送出
し、アクセス承認をホストIF102あるいはドライブ
IF103へ返すとしたが、そうした場合は、ホストI
F102あるいはドライブIF103からアドレスが送
られてくる前に、セレクタ部13からアクセス承認が返
ってくるように、各部の処理時間を設定しなければなら
ない。上記のように出来ない場合は、CMアクセス制御
部104にバッファを設けるか、CMアクセス制御部1
04はセレクタ部13からアクセス承認が返ってくるま
でホストIF102またはドライブIF103へアクセ
ス承認を返さないようにする必要がある。In this embodiment, the CM access control unit 104
After switching the selector 302, the data transfer control unit 310 sends an access start signal to the selector unit 13 and returns an access approval to the host IF 102 or the drive IF 103. In such a case, the host I
Before the address is sent from the F102 or the drive IF 103, the processing time of each unit must be set so that the access approval is returned from the selector unit 13. If this is not possible, a buffer is provided in the CM access control unit 104 or the CM access control unit 1
In step 04, it is necessary to prevent the access approval from being returned to the host IF 102 or the drive IF 103 until the access approval is returned from the selector unit 13.
【0099】LSIのピンネックにより、全てのマイク
ロプロセッサ101からの制御線をメモリコントローラ
105に接続できない場合は、上記のように、CMアク
セス制御部104及びセレクタ部13の2個所で発生す
る競合解消のためのアービトレーションをセレクタ部1
3内のアービタ306においてまとめて行うことによっ
ても、アクセス競合による3回の待ち時間を2回に減ら
すことが可能となる。それによって、キャッシュメモリ
部14へのアクセス時間が短縮され、高いスループット
のデータ転送を実現できる。When the control lines from all the microprocessors 101 cannot be connected to the memory controller 105 due to the LSI pin-neck, as described above, the conflict resolution occurring at the two places of the CM access control unit 104 and the selector unit 13 is resolved. Arbitration for the selector unit 1
Also, the arbiter 306 within 3 can collectively reduce the waiting time of three times due to access contention to two times. As a result, the access time to the cache memory unit 14 is reduced, and high-throughput data transfer can be realized.
【0100】[0100]
【発明の効果】本発明によれば、チャネルIF部及びデ
ィスクIF部からキャッシュメモリ部へのアクセス時間
を短縮することが可能となる。それによって、ディスク
アレイ制御装置のデータ転送スループットが向上する。According to the present invention, the access time from the channel IF section and the disk IF section to the cache memory section can be reduced. Thereby, the data transfer throughput of the disk array control device is improved.
【図1】本発明によるディスクアレイ制御装置の構成を
示す図。FIG. 1 is a diagram showing a configuration of a disk array control device according to the present invention.
【図2】従来のディスクアレイ制御装置の構成を示す
図。FIG. 2 is a diagram showing a configuration of a conventional disk array control device.
【図3】従来のディスクアレイ制御装置の構成を示す
図。FIG. 3 is a diagram showing a configuration of a conventional disk array control device.
【図4】本発明によるディスクアレイ制御装置の他の構
成を示す図。FIG. 4 is a diagram showing another configuration of the disk array control device according to the present invention.
【図5】本発明によるディスクアレイ制御装置の他の構
成を示す図。FIG. 5 is a diagram showing another configuration of the disk array control device according to the present invention.
【図6】本発明によるディスクアレイ制御装置内のCM
アクセス制御部の構成を示す図。FIG. 6 shows a CM in a disk array controller according to the present invention.
The figure which shows the structure of an access control part.
【図7】本発明によるディスクアレイ制御装置内のCM
アクセス制御部の他の構成を示す図。FIG. 7 is a CM in the disk array control device according to the present invention.
The figure which shows the other structure of an access control part.
【図8】本発明によるディスクアレイ制御装置内のセレ
クタ部の構成を示す図。FIG. 8 is a diagram showing a configuration of a selector unit in the disk array control device according to the present invention.
【図9】本発明によるディスクアレイ制御装置内のセレ
クタ部の他の構成を示す図。FIG. 9 is a diagram showing another configuration of the selector unit in the disk array control device according to the present invention.
【図10】本発明によるディスクアレイ制御装置内のキ
ャッシュメモリ部の構成を示す図。FIG. 10 is a diagram showing a configuration of a cache memory unit in the disk array control device according to the present invention.
【図11】本発明によるディスクアレイ制御装置内のキ
ャッシュメモリ部の他の構成を示す図。FIG. 11 is a diagram showing another configuration of the cache memory unit in the disk array control device according to the present invention.
【図12】本発明によるディスクアレイ制御装置の他の
構成を示す図。FIG. 12 is a diagram showing another configuration of the disk array control device according to the present invention.
【図13】本発明によるディスクアレイ制御装置のチャ
ネルIF部の構成を示す図。FIG. 13 is a diagram showing a configuration of a channel IF unit of the disk array control device according to the present invention.
1・・・ディスクアレイ制御装置、11・・・チャネルIF
部、12・・・ディスクIF部、13・・・セレクタ部、14
・・・キャッシュメモリ部、20・・・磁気ディスク装置、5
0・・・ホストコンピュータ、101・・・マイクロプロセッ
サ、102・・・ホストIF、103・・・ドライブIF、1
04・・・CMアクセス制御部、105・・・メモリコントロ
ーラ、106・・・メモリモジュール、110、111・・・
内部バス、135・・・アクセスパス0、136・・・アクセ
スパス1、216・・・制御線6。1 ... Disk array controller, 11 ... Channel IF
Unit, 12: disk IF unit, 13: selector unit, 14
... Cache memory unit, 20 ... Magnetic disk device, 5
0: Host computer, 101: Microprocessor, 102: Host IF, 103: Drive IF, 1
04 CM access control unit 105 memory controller 106 memory module 110 111
Internal bus, 135... Access path 0, 136... Access path 1, 216.
Claims (6)
ターフェース部と、ホストコンピュータに対する入出力
を制御するマイクロプロセッサとを有する複数のチャネ
ルインタフェース部と、 それぞれが、ディスク装置とのインターフェース部と、
ディスク装置に対する入出力を制御するマイクロプロセ
ッサとを有する複数のディスクインタフェース部と、 前記ディスク装置とのインターフェース部に接続される
ディスク装置内に格納されるデータを一時的に格納する
メモリモジュールと、前記メモリモジュールへのアクセ
スを制御するメモリコントローラとを有するキャッシュ
メモリ部と、 前記複数のチャネルインタフェース部と、前記複数のデ
ィスクインタフェース部と、前記キャッシュメモリ部と
に接続され、前記複数のチャネルインタフェース部及び
前記複数のディスクインタフェース部から前記キャッシ
ュメモリ部へのアクセス要求を実行するセレクタ部と、 前記複数のチャネルインタフェース部及び前記複数のデ
ィスクインタフェース部内の各マイクロプロセッサと、
前記メモリコントローラとを接続する複数の制御線、と
を有することを特徴とするディスクアレイ制御装置。A plurality of channel interfaces each having an interface with a host computer and a microprocessor for controlling input / output to and from the host computer;
A plurality of disk interface units having a microprocessor for controlling input / output to / from a disk device; a memory module for temporarily storing data stored in a disk device connected to the interface unit with the disk device; A cache memory unit having a memory controller that controls access to a memory module, the plurality of channel interface units, the plurality of disk interface units, and the plurality of channel interface units connected to the cache memory unit; A selector unit for executing an access request from the plurality of disk interface units to the cache memory unit; a microprocessor in the plurality of channel interface units and the plurality of disk interface units;
A plurality of control lines for connecting to the memory controller.
御線を介して、前記複数のチャネルインタフェース部又
は前記複数のディスクインタフェース部内の各マイクロ
プロセッサからアクセス要求を受信し、そのアクセス要
求が競合した場合に、調停を行う手段を有することを特
徴とする請求項1に記載のディスクアレイ制御装置。2. The method according to claim 1, wherein the memory controller receives an access request from each of the plurality of microprocessors in the plurality of channel interface units or the plurality of disk interface units via the plurality of control lines. 2. The disk array controller according to claim 1, further comprising means for performing arbitration.
ターフェース部と、ホストコンピュータに対する入出力
を制御するマイクロプロセッサとを有する複数のチャネ
ルインタフェース部と、 それぞれが、ディスク装置とのインターフェース部と、
ディスク装置に対する入出力を制御するマイクロプロセ
ッサとを有する複数のディスクインタフェース部と、 前記ディスク装置とのインターフェース部に接続される
ディスク装置内に格納されるデータを一時的に格納する
メモリモジュールと、前記メモリモジュールへのアクセ
スを制御するメモリコントローラとを有するキャッシュ
メモリ部と、 前記複数のチャネルインタフェース部と、前記複数のデ
ィスクインタフェース部と、前記キャッシュメモリ部と
に接続され、前記複数のチャネルインタフェース部及び
前記複数のディスクインタフェース部から前記キャッシ
ュメモリ部へのアクセス要求を実行するセレクタ部とを
有し、 前記複数のチャネルインタフェース部の各チャネルイン
タフェース部は、前記キャッシュメモリ部へのアクセス
を制御するキャッシュメモリアクセス制御部を有し、 前記複数のディスクインタフェース部の各ディスクイン
タフェース部は、前記キャッシュメモリ部へのアクセス
を制御するキャッシュメモリアクセス制御部を有し、 前記複数のチャネルインタフェース部の各チャネルイン
タフェース部の前記キャッシュメモリアクセス制御部
と、前記複数のディスクインタフェース部の各ディスク
インタフェース部のキャッシュメモリアクセス制御部
と、前記メモリコントローラとを接続する複数の制御
線、とを有することを特徴とするディスクアレイ制御装
置。3. A plurality of channel interfaces each having an interface with a host computer, a microprocessor controlling input / output with respect to the host computer, and an interface with a disk device, respectively.
A plurality of disk interface units having a microprocessor for controlling input / output to / from a disk device; a memory module for temporarily storing data stored in a disk device connected to the interface unit with the disk device; A cache memory unit having a memory controller that controls access to a memory module, the plurality of channel interface units, the plurality of disk interface units, and the plurality of channel interface units connected to the cache memory unit; A selector unit for executing an access request from the plurality of disk interface units to the cache memory unit, wherein each of the plurality of channel interface units has an access to the cache memory unit. A cache memory access control unit that controls access to the cache memory unit. Each of the plurality of disk interface units has a cache memory access control unit that controls access to the cache memory unit. The cache memory access control unit of each channel interface unit, the cache memory access control unit of each disk interface unit of the plurality of disk interface units, and a plurality of control lines connecting the memory controller. Characteristic disk array controller.
御線を介して、前記複数のチャネルインタフェース部又
は前記複数のディスクインタフェース部内の各キャッシ
ュメモリアクセス制御部からアクセス要求を受信し、そ
のアクセス要求が競合した場合に、調停を行う手段を有
することを特徴とする請求項3に記載のディスクアレイ
制御装置。4. The memory controller receives an access request from each of the plurality of channel interface units or each cache memory access control unit in the plurality of disk interface units via the plurality of control lines, and the access request is received by the memory controller. 4. The disk array control device according to claim 3, further comprising means for performing arbitration when a conflict occurs.
ターフェース部と、ホストコンピュータに対する入出力
を制御するマイクロプロセッサとを有する複数のチャネ
ルインタフェース部と、 それぞれが、ディスク装置とのインターフェース部と、
ディスク装置に対する入出力を制御するマイクロプロセ
ッサとを有する複数のディスクインタフェース部と、 前記ディスク装置とのインターフェース部に接続される
ディスク装置内に格納されるデータを一時的に格納する
メモリモジュールと、前記メモリモジュールへのアクセ
スを制御するメモリコントローラとを有するキャッシュ
メモリ部と、 前記複数のチャネルインタフェース部と、前記複数のデ
ィスクインタフェース部と、前記キャッシュメモリ部と
に接続され、前記複数のチャネルインタフェース部及び
前記複数のディスクインタフェース部から前記キャッシ
ュメモリ部へのアクセス要求を実行するセレクタ部と、 前記複数のチャネルインタフェース部及び前記複数のデ
ィスクインタフェース部内の各マイクロプロセッサと、
前記セレクタ部とを接続する複数の制御線、とを有する
ことを特徴とするディスクアレイ制御装置。5. A plurality of channel interfaces each having an interface with a host computer, a microprocessor for controlling input / output with respect to the host computer, and an interface with a disk device, respectively.
A plurality of disk interface units having a microprocessor for controlling input / output to / from a disk device; a memory module for temporarily storing data stored in a disk device connected to the interface unit with the disk device; A cache memory unit having a memory controller that controls access to a memory module, the plurality of channel interface units, the plurality of disk interface units, and the plurality of channel interface units connected to the cache memory unit; A selector unit for executing an access request from the plurality of disk interface units to the cache memory unit; a microprocessor in the plurality of channel interface units and the plurality of disk interface units;
A plurality of control lines for connecting to the selector unit.
して、前記複数のチャネルインタフェース部又は前記複
数のディスクインタフェース部内の各マイクロプロセッ
サからアクセス要求を受信し、そのアクセス要求が競合
した場合に、調停を行う手段を有することを特徴とする
請求項5に記載のディスクアレイ制御装置。6. The selector unit receives an access request from each of the microprocessors in the plurality of channel interface units or the plurality of disk interface units via the plurality of control lines, and when the access requests conflict with each other. 6. The disk array controller according to claim 5, further comprising means for performing arbitration.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11053611A JP2000250712A (en) | 1999-03-02 | 1999-03-02 | Disk array controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11053611A JP2000250712A (en) | 1999-03-02 | 1999-03-02 | Disk array controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000250712A true JP2000250712A (en) | 2000-09-14 |
Family
ID=12947708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11053611A Pending JP2000250712A (en) | 1999-03-02 | 1999-03-02 | Disk array controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000250712A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099206A (en) * | 2001-09-26 | 2003-04-04 | Hitachi Ltd | Storage system, disk control cluster, and extending method for the disk control cluster |
US7003637B2 (en) | 2003-11-05 | 2006-02-21 | Hitachi, Ltd. | Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests |
-
1999
- 1999-03-02 JP JP11053611A patent/JP2000250712A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003099206A (en) * | 2001-09-26 | 2003-04-04 | Hitachi Ltd | Storage system, disk control cluster, and extending method for the disk control cluster |
US7003637B2 (en) | 2003-11-05 | 2006-02-21 | Hitachi, Ltd. | Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3946873B2 (en) | Disk array controller | |
KR100207887B1 (en) | Data processing system and method | |
US6502167B1 (en) | Duplicated shared memory controller for disk array | |
JP4400895B2 (en) | Disk array controller | |
US6850998B2 (en) | Disk array system and a method for controlling the disk array system | |
JP2000099281A (en) | Disk array controller | |
JPH096717A (en) | System and method for data processing containing buffering mechanism for inbound and outbound read as well as posted write | |
JPH08249254A (en) | Multicomputer system | |
JPH1049482A (en) | Dual host bridge with peer-to-peer support | |
JP3690295B2 (en) | Disk array controller | |
JPH07191930A (en) | Interface for disk device and control method therefor | |
JP2000250712A (en) | Disk array controller | |
JP4025032B2 (en) | Disk control device and data access method thereof | |
JPH11232213A (en) | Data transfer system for input/output device | |
JP3684902B2 (en) | Disk array controller | |
JP4983133B2 (en) | INPUT / OUTPUT CONTROL DEVICE, ITS CONTROL METHOD, AND PROGRAM | |
JP4737702B2 (en) | Disk array controller | |
JP2000339101A (en) | Disk array controller | |
JPH10283302A (en) | Method and system for supplying data to bus connected to plural processors | |
JP4485503B2 (en) | Disk array control device and disk array control method | |
JPH11184761A (en) | Read modify write control system | |
KR20070050214A (en) | System and method for arbitrating masters in bus system | |
JP2003263279A (en) | Disk array control apparatus | |
JP2000099391A (en) | Printer, printer controlling method and storage medium | |
JPS61118847A (en) | Simultaneous access control system of memory |