JP4392877B2 - ディスクアレイ制御装置 - Google Patents
ディスクアレイ制御装置 Download PDFInfo
- Publication number
- JP4392877B2 JP4392877B2 JP26428698A JP26428698A JP4392877B2 JP 4392877 B2 JP4392877 B2 JP 4392877B2 JP 26428698 A JP26428698 A JP 26428698A JP 26428698 A JP26428698 A JP 26428698A JP 4392877 B2 JP4392877 B2 JP 4392877B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- access
- disk
- cache memory
- memory unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 300
- 239000000872 buffer Substances 0.000 description 31
- 238000000034 method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000000605 extraction Methods 0.000 description 12
- 238000007781 pre-processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 239000000835 fiber Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、データを複数の磁気ディスク装置に格納するディスクアレイ装置の制御装置に関する。
【0002】
【従来の技術】
半導体記憶装置を記憶媒体とするコンピュータの主記憶のI/O性能に比べて、磁気ディスクを記憶媒体とするディスクサブシステム(以下「サブシステム」という。)のI/O性能は3〜4桁程度小さく、従来からこの差を縮めること、すなわちサブシステムのI/O性能を向上させる努力がなされている。サブシステムのI/O性能を向上させるための1つの方法として、複数の磁気ディスク装置でサブシステムを構成し、データを複数の磁気ディスク装置に格納する、いわゆるディスクアレイと呼ばれるシステムが知られている。
【0003】
図2は、従来のディスクアレイの構成を示す。ホストコンピュータ50とディスクアレイ制御装置2との間のデータ転送を実行する複数のチャネルIF部11と、磁気ディスク装置20とディスクアレイ制御装置2間のデータ転送を実行する複数のディスクIF部12と、磁気ディスク装置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に接続される。以下、このような接続形態をスター接続と呼ぶ。
【0004】
チャネルIF部11は、ホストコンピュータ50と接続するためのインターフェース及びホストコンピュータ50に対する入出力を制御するマイクロプロセッサ(図示せず)を有している。また、ディスクIF部12は、磁気ディスク装置20と接続するためのインターフェース及び磁気ディスク装置20に対する入出力を制御するマイクロプロセッサ(図示せず)を有している。また、ディスクIF12部は、RAID機能の実行も行う。
【0005】
図3は、他の従来のディスクアレイの構成を示す。ホストコンピュータ50とディスクアレイ制御装置3間のデータ転送を実行する複数のチャネルIF部11と、磁気ディスク装置20とディスクアレイ制御装置3間のデータ転送を実行する複数のディスクIF部12と、磁気ディスク装置20のデータを一時的に格納するキャッシュメモリ部14と、ディスクアレイ制御装置3に関する制御情報(例えば、チャネルIF部及びディスクIF部とキャッシュメモリ部14との間のデータ転送制御に関する情報)を格納する共有メモリ部15を備え、各チャネルIF部11及びディスクIF部12と共有メモリ部15間は共有バス130で接続され、各チャネルIF11部及びディスクIF部12とキャッシュメモリ部14間は共有バス131で接続される。以下、このような接続形態を共有バス接続形式と呼ぶ。
【0006】
【発明が解決しようとする課題】
ディスクアレイのアーキテクチャーをスケーラブルなものとするには、ディスク制御装置に接続するディスク容量(論理ボリューム数)に応じ、ディスクIF部を増設し、また、必要なホストコンピュータとのチャネル数に応じて、ディスクアレイ制御装置内のチャネルIF部を増設する必要がある。しかし、第3図に示した共有バス接続形式のディスクアレイ制御装置では、一旦実装した共有バスの転送能力をチャネルIF部、ディスクIF部の増設に応じて変更することはできないので、チャネルIF部、ディスクIF部の増設に柔軟に対応することが困難である。
【0007】
また、第3図に示した共有バス接続形式のディスクアレイ制御装置では、ホストコンピュータとディスクアレイ制御装置との間のデータ転送を実行するチャネルIF部に設けられたホストコンピュータに対する入出力を制御するマイクロプロセッサ、及び磁気ディスク装置とディスクアレイ制御装置との間のデータ転送を実行するディスクIF部に設けられた磁気ディスク装置に対する入出力を制御するマイクロプロセッサに高性能なプロセッサを使用した場合に、これらのプロセッサの性能に比べて、共有バスの転送能力がボトルネックになり、プロセッサの高速化に追従することが困難となる。
【0008】
さらに、第3図に示した共有バス接続形式では、共有バスに接続された複数のチャネルIF部(または複数のディスクIF部)の何れかのチャネルIF部(またはディスクIF部)に障害が発生した場合に、障害の発生したチャネルIF部(またはディスクIF部)を特定することが困難である。
【0009】
一方、第2図に示したスター接続形式のディスクアレイ制御装置では、共有メモリ部またはキャッシュメモリ部に接続したアクセスパス数に比例して内部パス性能が増加させることができるので、チャネルIF部、ディスクIF部の増設、または使用するプロセッサの性能に応じて、内部パス性能を増加させることが可能である。また、チャネルIF部及びディスクIF部とキャッシュメモリ部との間、チャネルIF部及びディスクIF部と共有メモリ部との間がスター接続されているため、障害の発生したチャネルIF部(またはディスクIF部)を特定することも容易である。
【0010】
スター接続形式のディスクアレイ制御装置では、搭載されるチャネルIF部またはディスクIF部の数を増やした場合、チャネルIF部及びディスクIF部とキャッシュメモリ部との間、及びチャネルIF部及びディスクIF部と共有メモリとの間のアクセスパス数も増えることになる。また、ホストコンピュータとディスクアレイ制御装置との間の接続にファイバチャネル等の高速チャネルの採用等により、ディスクアレイ制御装置に要求されるスループットはさらに増大する方向にあり、このスループットの向上の要求を満たすためには、チャネルIF部及びディスクIF部とキャッシュメモリ部との間、及びチャネルIF部及びディスクIF部と共有メモリとの間のアクセスパス数を増やし、内部パス性能を向上させることが必要となる。
【0011】
しかし、キャッシュメモリに格納される1つのデータのデータ量は、共有メモリに格納される1つの制御情報のデータ量よりもかなり大きい。一例を挙げれば、メインフレームに接続されるディスク制御装置では、キャッシュメモリに格納される1つのデータは数Kバイト程度(例えば2Kバイト)であるのに対し、共有メモリに格納される1つの制御情報は数バイト程度(例えば4バイト)である。また、オープン系のホストコンピュータに接続されるディスク制御装置では、キャッシュメモリに格納される1つのデータは数十バイト程度(例えば64バイト)であるのに対し、共有メモリに格納される1つの制御情報は数バイト程度(例えば4バイト)である。したがって、チャネルIF部及びディスクIF部とキャッシュメモリ部との間で転送されるデータ量は、チャネルIF部及びディスクIF部と共有メモリ部との間で転送されるデータ量に比べ、かなり多いので、チャネルIF部及びディスクIF部とキャッシュメモリ部との間のアクセスバスのデータ幅は、チャネルIF部及びディスクIF部と共有メモリ部との間のアクセスパスのデータ幅より広くとる必要がある。例えば、前者のアクセスパスは、16ビット幅のバスで構成され、後者は、4ビット幅のバスで構成される。そのため、チャネルIF部及びディスクIF部とキャッシュメモリ部との間のアクセスパスの本数を増やすと、それらのアクセスパスを接続するキャッシュメモリ部のLSIのピン数が不足するという問題が生じる。また、ディスクアレイ制御装置のホストコンピュータへの応答時間を短くするためには、共有メモリ部に格納された制御情報へのアクセス時間をできるだけ短くすることも必要である。
【0012】
そこで、本発明の目的は、キャッシュメモリ及び共有メモリに格納されるデータの特性及びこれらのメモリへのアクセス特性を考慮した、スループットの高く、ディスクアレイ制御装置、及びそれを用いたサブシステムを提供することにある。
【0013】
より具体的には、本発明の目的は、チャネルIF部及びディスクIF部とキャッシュメモリ部との間のアクセスパスはスループットが高く、チャネルIF部及びディスクIF部と共有メモリとの間のアクセスパスはスループットが高く、かつアクセス時間が短いディスクアレイ制御装置、及びそれを用いたサブシステムを提供することにある。
【0014】
【課題を解決するための手段】
上記目的は、ホストコンピュータとのインターフェースを有する複数のチャネルインターフェース部と、磁気ディスク装置とのインターフェースを有する複数のディスクインターフェース部と、前記磁気ディスク装置に対しリード/ライトされるデータを一時的に格納するキャッシュメモリ部と、チャネルインターフェース部及びディスクインターフェース部と前記キャッシュメモリ部との間のデータ転送に関する制御情報を格納する共有メモリ部とを有し、各チャネルインターフェース部は、前記ホストコンピュータとのインターフェースと前記キャッシュメモリ部との間のデータ転送を実行し、各ディスクインターフェース部は、前記磁気ディスク装置とのインターフェースと前記キャッシュメモリ部との間のデータ転送を実行するディスクアレイ制御装置において、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記キャッシュメモリ部との間の接続形式が、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記共有メモリ部との間の接続形式と異なることを特徴とするディスクアレイ制御装置により達成される。
【0015】
好ましくは、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記キャッシュメモリ部との間はセレクタ部を介して接続し、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記共有メモリ部との間は、それぞれセレクタ部を介せず直接接続する。
【0016】
また、好ましくは、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記キャッシュメモリ部との間はセレクタ部を介して接続し、前記複数のチャネルインターフェース部、前記複数のディスクインターフェース部、及び前記共有メモリ部は共有バスに接続する。
【0017】
また、好ましくは、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記キャッシュメモリ部との間はスイッチを用いた相互結合網によって接続し、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記共有メモリ部との間はそれぞれ直接接続する。
【0018】
その他、本願が開示する課題、及びその解決方法は、発明の実施形態の欄及び図面により明らかにされる。
【0019】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて説明する。
【0020】
[実施例1]
図1に、本発明の一実施例を示す。
【0021】
ディスクアレイ制御装置1は、ホストコンピュータ50との2つのインターフェース部(チャネルIF部)11と、磁気ディスク装置20との2つのインターフェース部(ディスクIF部)12と、2つのセレクタ部13と、2つのキャッシュメモリ部14と、2つの共有メモリ部15と、アクセスパス0:135と、アクセスパス1:136と、アクセスパス2:137とを有する。
【0022】
チャネルIF部11は、ホストコンピュータ50との2つのIF(ホストIF)102と、
ホストコンピュータ50に対する入出力を制御する2つのマイクロプロセッサ101と、キャッシュメモリ部14へのアクセスを制御するアクセス制御部(CMアクセス制御部)104と、共有メモリ部15へのアクセスを制御するアクセス制御部(SMアクセス制御部)105とを有し、ホストコンピュータ50とキャッシュメモリ部14間のデータ転送、及びマイクロプロセッサ101と共有メモリ部15間の制御情報の転送を実行する。マイクロプロセッサ101及びホストIF102は内部バス106によって接続され、CMアクセス制御部104は2つのホストIF102に直接接続されている。また、SMアクセス制御部105は2つのマイクロプロセッサ101に直接接続されている。
【0023】
ディスクIF部12は、磁気ディスク装置20との2つのIF(ドライブIF)103と、磁気ディスク装置20に対する入出力を制御する2つのマイクロプロセッサ101と、キャッシュメモリ部14への1つのアクセス制御部(CMアクセス制御部)104と、共有メモリ部15への1つのアクセス制御部(SMアクセス制御部)105を有し、磁気ディスク装置20とキャッシュメモリ部14間のデータ転送、及びマイクロプロセッサ101と共有メモリ部15間の制御情報の転送を実行する。マイクロプロセッサ101及びドライブIF103は内部バス106によって接続され、CMアクセス制御部104は2つのドライブIF103に直接接続されている。また、SMアクセス制御部105は2つのマイクロプロセッサ101に直接接続されている。ディスクIF部はRAID機能の実行も行う。
【0024】
キャッシュメモリ部14は、キャッシュメモリ(CM)コントローラ107とメモリモジュール109を有し、磁気ディスク装置20へ記録するデータを一時的に格納する。
【0025】
共有メモリ部15は、共有メモリ(SM)コントローラ108とメモリモジュール109とを有し、ディスクアレイ制御装置1の制御情報(例えば、チャネルIF部及びディスクIF部とキャッシュメモリ部14との間のデータ転送制御に関する情報)等を格納する。
【0026】
CMアクセス制御部104には2本のアクセスパス0:135を接続し、それらを2つの異なるセレクタ部13にそれぞれ接続する。セレクタ部13には2本のアクセスパス1:136を接続し、それらを2つの異なるCMコントローラ107にそれぞれ接続する。したがってCMコントローラ107には、2つのセレクタ部から1本ずつ、計2本のアクセスパス1:136が接続される。こうすることにより、1つのCMアクセス制御部104から1つのCMコントローラ107へのアクセスルートが2つとなる。これにより、1つのアクセスパスまたはセレクタ部13に障害が発生した場合でも、もう1つのアクセスルートによりキャッシュメモリ部14へアクセスすることが可能となるため、耐障害性を向上させることができる。
【0027】
SMアクセス制御部105には2本のアクセスパス2:137を接続し、そのアクセスパス2:137を2つの異なるSMコントローラにそれぞれ接続する。したがって、SMコントローラ108には、2つのチャネルIF部11及び2つのディスクIF部12から1本ずつ、計4本のアクセスパス2:137が接続される。本実施例では、1つのSMアクセス制御部105と1つのSMコントローラ108の間には1本のアクセスパス2:137を接続したが、このアクセスパス2:137を2本に増やすことにより、1つのSMアクセス制御部105から1つのSMコントローラ108へのアクセスルートが2つとなるため、耐障害性を向上させることができる。
【0028】
セレクタ部13には、2つのチャネルIF部11と、2つのディスクIF部12からそれぞれ1本ずつ、計4本のアクセスパス0:135が接続される。また、セレクタ部13には、2つのキャッシュメモリ部14へのアクセスパス1:136が1本ずつ、計2本接続される。
【0029】
アクセスパス0:135とアクセスパス1:136の間に上記のようなパス数の関係があるため、セレクタ部13ではチャネルIF部11及びディスクIF部12からの4本のアクセスパス0:135からの要求の内、キャッシュメモリ部14へのアクセスパス1:136の数に相当する2個だけを選択して実行する機能を持つ。
【0030】
本実施例の大きな特徴は、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間の接続形式と、チャネルIF部11及びディスクIF部12と共有メモリ部15との間の接続形式とが異なる点にある。このような構成にした理由を図1及び図2を用いて説明する。
図2に示したスター接続形式のディスクアレイ制御装置2では、ディスクアレイ制御装置2に搭載されるチャネルIF部11またはディスクIF部12の数を増やした場合、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間、及びチャネルIF部11及びディスクIF部12と共有メモリ部15との間のアクセスパス数も増えることになる。また、スター接続形式のディスクアレイ制御装置2において、スループットを向上させるためには、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間、及びチャネルIF部11及びディスクIF部12と共有メモリ部15との間のアクセスパス数を増やし、内部パス性能を向上させることが有効である。
【0031】
しかし、キャッシュメモリ部14に格納される1つのデータのデータ量は、共有メモリ部15に格納される1つの制御情報のデータ量よりもかなり大きい。一例を挙げれば、メインフレームに接続されるディスク制御装置では、キャッシュメモリ部14に格納される1つのデータは数Kバイト程度(例えば2Kバイト)であるのに対し、共有メモリ部15に格納される1つの制御情報は数バイト程度(例えば4バイト)である。また、オープン系のホストコンピュータに接続されるディスク制御装置では、キャッシュメモリ部14に格納される1つのデータは数十バイト程度(例えば64バイト)であるのに対し、共有メモリ部15に格納される1つの制御情報は数バイト程度(例えば4バイト)である。したがって、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間で転送されるデータ量は、チャネルIF部11及びディスクIF部12と共有メモリ部15との間で転送されるデータ量に比べかなり多いので、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間のアクセスバスのデータ幅は、チャネルIF部11及びディスクIF部12と共有メモリ部15との間のアクセスパスのデータ幅より広くとる必要がある。例えば、前者のアクセスパスは16ビット幅のバスで構成され、後者は、8ビット幅のバスで構成される。そのため、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間のアクセスパス本数を増やすと、キャッシュメモリ部14内のキャッシュメモリコントローラ(図2ではキャッシュメモリコントローラを図示していない)のLSIのピン数不足、またはキャッシュメモリ部14を実装するパッケージにおいてコネクタのピン数不足という問題が生じる。そこで、本実施例では、図1に示すように、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間をセレクタ部13を介して接続することにより、キャッシュメモリ部14に直接接続されるアクセスパス数を削減している。
【0032】
一方、上述したように、共有メモリ部13へ格納する1つの制御情報のデータ長はキャッシュメモリ部14に格納する1つのデータのデータ長に比べかなり小さいので、チャネルIF部11及びディスクIF部12と共有メモリ部15との間のアクセスパスのデータ幅は、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14との間のアクセスパスのデータ幅の半分以下とすることが可能である。したがって、共有メモリ部15へのアクセスパス数を増やしても共有メモリ部内の共有メモリメモリコントローラ(図2では共有メモリコントローラを図示していない)のLSIのピン数不足等の問題が生じることは少ない。
【0033】
また、ディスクアレイ制御装置1のホストコンピュータ50への応答時間を短くするためには、共有メモリ部15に格納される制御情報へのアクセス時間をできるだけ短くする必要もある。しかし、図1に示したCMアクセス制御部104とCMコントローラ107間のように、SMアクセス制御部105とSMコントローラ108との間をセレクタ部を介して接続すると、セレクタ部での処理のオーバーヘッドにより、共有メモリ部15に格納される制御情報へのアクセス時間を短くすることができない。
【0034】
そこで、本実施例では、チャネルIF部11及びディスクIF部12と共有メモリ部15との間をセレクタ部を介さず直接接続することにより、チャネルIF部11及びディスクIF部12と共有メモリ部15間に複数のアクセスパスを設け、スループットを向上させる一方、セレクタ部での処理オーバーヘッドをなくし、チャネルIF部11、及びディスクIF部12から共有メモリ部15へのアクセス時間を短縮にしている。
【0035】
なお、本実施例では、耐障害性の向上という観点から、セレクタ部13、キャッシュメモリ部14、及び共有メモリ部15をそれぞれ二重化しているが、これらを二重化しなくても、上述の効果を得られることは言うまでもない。
【0036】
図4は、CMアクセス制御部104内の構成を示している。CMアクセス制御部104は、セレクタ302と、アドレス、コマンド、データを一時格納するパケットバッファ303と、セレクタ部13に繋がるアクセスパス0:135とのパスIF301と、データのエラーチェック部300と、データ転送制御部310を有する。セレクタ302の2つのポートはデータ線210でホストIF102あるいはドライブIF103に接続される。また、セレクタ302の他の2つのポートはパスIF301に接続される。パスIF301はアクセスパス0:135でセレクタ部13に接続される。データ転送制御部310は、制御線1:211でホストIF102あるいはドライブIF103に接続され、制御線2:212でセレクタ部13内のデータ転送制御部315に接続される。また、データ転送制御部310は、アービタ308によりホストIF102あるいはドライブIF103からのアクセス要求のアービトレーションを行い、セレクタ302の切り替えを行う。
【0037】
図6は、セレクタ部13内の構成を示している。セレクタ部13は、チャネルIF部11及びディスクIF部12に繋がるアクセスパス0:135との4つのパスIF301と、CMコントローラ107に繋がるアクセスパス1:136との2つのパスIF301と、両者間を互いに接続するセレクタ306と、パケットバッファ303と、データのエラーチェック部300と、CMアクセス制御部104から送出されたアドレス及びコマンドを解析するアドレス・コマンド(adr、cmd)解析部305と、データ転送制御部315を有する。データ転送制御部315は、制御線2:212でCMアクセス制御部104内のデータ転送制御部310に接続され、制御線3:213でCMコントローラ107内のデータ転送制御部315に接続される。また、データ転送制御部315は、アービタ308により、adr、cmd解析部305で解析した4本のアクセスパス0:135からのアクセス要求のアービトレーションを行い、セレクタ306の切り替えを行う。パケットバッファ303は、アクセスパス0:135側のパスとアクセスパス1:136側のパスでデータ転送速度に差がある場合、速度差を吸収するために、転送するデータの一部または全部をバッファリングする。
【0038】
adr、cmd解析部305は、アドレス及びコマンドを格納するバッファと、adr抽出部と、cmd抽出部を有する(図示していない)。adr、cmd解析部305では、CMアクセス制御部104に接続される4本のアクセスパス0:135それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。adr抽出部及びcmd抽出部では、アクセスするCMコントローラ107とアクセスの種類を割り出し、データ転送制御部315内のアービタ308へ送出する。
【0039】
図7は、キャッシュメモリ部14内の構成を示している。キャッシュメモリ部14は、CMコントローラ107とメモリモジュール109を有する。CMコントローラ107は、セレクタ部13に繋がるアクセスパス1:136との2つのパスIF301と、セレクタ304と、データを一時格納するパケットバッファ303と、データのエラーチェック部300と、メモリモジュール109へのアクセスを制御するメモリ制御部307と、CMアクセス制御部104から送出されたアドレス及びコマンドを解析するadr、cmd解析部305と、データ転送制御部315を有する。データ転送制御部315は、制御線3:213でセレクタ部13内のデータ転送制御部315に接続される。また、データ転送制御部315は、アービタ308により、adr、cmd解析部305で解析した2本のアクセスパス1:136からのアクセス要求のアービトレーションを行い、セレクタ304の切り替えを行う。
【0040】
adr、cmd解析部305は、バッファと、adr抽出部と、cmd抽出部を有する(図示していない)。adr、cmd解析部305では、CMコントローラ107に接続される2本のアクセスパス1:136それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。adr抽出部及びcmd抽出部では、アクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部307へ送出する。また、2本のアクセスパス1:136からのアクセス要求をデータ転送制御部315内のアービタ308へ送出する。
【0041】
次に、キャッシュメモリ部14へのアクセス時の手順について述べる。キャッシュメモリ部14へアクセスする場合、マイクロプロセッサ101は、ホストIF102あるいはドライブIF103へ、キャッシュメモリ部14へのアクセス開始を指示する。
【0042】
アクセス開始の指示を受けたホストIF102あるいはドライブIF103は、制御線1:211によりCMアクセス制御部104内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともに、データ線210を通してアドレス、コマンド、データ(データの書き込み時のみ)を送出する。
【0043】
CMアクセス制御部104は、データ線210を通して送られてきたアドレス、コマンド、データ(データの書き込み時のみ)をパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替える。
【0044】
図9は、キャッシュメモリ部14へデータを書き込む場合の、CMアクセス制御部104からCMコントローラ107へのアクセスの流れを示している。CMアクセス制御部104内のデータ転送制御部310は、アービトレーションによってアクセスパス0:135の使用権が決定されると、制御線2:212によってセレクタ部13内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ501)。続いて、アドレス及びコマンドを送出する(ステップ502)。
【0045】
セレクタ部13内のデータ転送制御部315は、CMアクセス制御部104からREQ信号を受け取ると、次にアクセスパス0:135を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行う(ステップ503)。アービトレーションの結果、アクセスパス1:136への接続権を得たら、データ転送制御部315はセレクタ306を切り替える(ステップ504)とともに、制御線2:212により、CMアクセス制御部104内のデータ転送制御部310へ、アクセスパス1:136への接続権が得られたことを示す信号(ACK)を返す(ステップ505)。次にデータ転送制御部315は、制御線3:213によってCMコントローラ107内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ506)。続いて、アドレス及びコマンドを送出する(ステップ507)。
【0046】
CMアクセス制御部104はACK信号を受けると、パケットバッファ303からデータを読み出し、セレクタ302、パスIF301を介してアクセスパス0:135へ送出する。セレクタ部13は、アクセスパス0:135を通して送られてきたデータを、パスIF301及びセレクタ306を介してアクセスパス1:136へ送出する(ステップ509)。
【0047】
CMコントローラ107内のデータ転送制御部315は、制御線3:213によってREQ信号を受け取ると、次にアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ508)、セレクタ304を切り替える。アクセスパス1:136を通して送られてくるデータはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ510)。次に、パケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール109へ書き込む(ステップ511)。
【0048】
メモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況を示すステータス(STATUS)を生成する(ステップ512)。次に、ステータスをセレクタ部13を介してCMアクセス制御部104へ送出する(ステップ513)。セレクタ部13内のデータ転送制御部315はステータスを受け取ると、CMコントローラ107へのREQ信号をオフする(ステップ514)。CMアクセス制御部104内のデータ転送制御部310はステータスを受け取ると、セレクタ部13へのREQ信号をオフする(ステップ515)。セレクタ部13内のデータ転送制御部315はCMアクセス制御部104からのREQ信号のオフを確認すると、CMアクセス制御部104へのACK信号をオフする(ステップ516)。
【0049】
CMアクセス制御部104内のデータ転送制御部310はステータスを受け取ると、制御線1:211により、ホストIF102あるいはドライブIF103へキャッシュメモリ部14へのアクセスの終了を報告する。
【0050】
キャッシュメモリ部14からデータを読み出す場合の、CMアクセス制御部104からCMコントローラ107へのアクセスの流れは、ステップ501から508までとステップ512以降は、データの書き込みの場合と同じである。
【0051】
ここでCMアクセス制御部104は、ステップ505でACK信号を受けると、データの受信待ち状態に入る。
【0052】
ステップ508でメモリアクセス権を得ると、CMコントローラ107はメモリモジュール109からデータを読み出し、セレクタ304、パスIF301を介してアクセスパス1:136にデータを送出する。
【0053】
セレクタ部13は、アクセスパス1:136を通してデータを受信すると、パスIF301及びセレクタ306を介してアクセスパス0:135にデータを送出する。
【0054】
CMアクセス制御部104は、アクセスパス0:135を通してデータを受信すると、セレクタ302、データ線210を介してホストIF102あるいはドライブIF103へデータを送出する。
【0055】
図5は、SMアクセス制御部105内の構成を示している。SMアクセス制御部104は、セレクタ302と、アドレス、コマンド、データを一時格納するパケットバッファ303と、SMコントローラ108に繋がるアクセスパス2:137とのパスIF301と、データのエラーチェック部300と、データ転送制御部310を有する。セレクタ302の2つのポートはデータ線220でマイクロプロセッサ101に接続される。また、セレクタ302の他の2つのポートはパスIF301に接続される。パスIF301はアクセスパス2:137でSMコントローラ108に接続される。データ転送制御部310は、制御線5:221でマイクロプロセッサ101に接続され、制御線6:222でSMコントローラ108内のデータ転送制御部315に接続される。また、データ転送制御部310は、アービタ308によりマイクロプロセッサ101からのアクセス要求のアービトレーションを行い、セレクタ302の切り替えを行う。
【0056】
図8は、共有メモリ部15内の構成を示している。共有メモリ部15は、SMコントローラ108とメモリモジュール109を有する。SMコントローラ108は、SMアクセス制御部105に繋がるアクセスパス2:137との4つのパスIF301と、セレクタ309と、データを一時格納するパケットバッファ303と、データのエラーチェック部300と、メモリモジュール109へのアクセスを制御するメモリ制御部307と、SMアクセス制御部105から送出されたアドレス及びコマンドを解析するadr、cmd解析部305と、データ転送制御部315を有する。データ転送制御部315は、制御線6:222でSMアクセス制御部105内のデータ転送制御部310に接続される。また、データ転送制御部315は、アービタ308により、adr、cmd解析部305で解析した4本のアクセスパス2:137からのアクセス要求のアービトレーションを行い、セレクタ309の切り替えを行う。
【0057】
adr、cmd解析部305は、バッファと、adr抽出部と、cmd抽出部を有する(図示していない)。adr、cmd解析部305では、SMコントローラ108に接続される4本のアクセスパス2:137それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。adr抽出部及びcmd抽出部では、アクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部307へ送出する。また、4本のアクセスパス2:137からのアクセス要求をデータ転送制御部315内のアービタ308へ送出する。
【0058】
次に、共有メモリ部15へのアクセス時の手順について述べる。共有メモリ部15へアクセスする場合、マイクロプロセッサ101は、制御線5:221によりSMアクセス制御部105内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともに、データ線220を通してアドレス、コマンド、データ(データの書き込み時のみ)を送出する。
【0059】
SMアクセス制御部105は、データ線220を通して送られてきたアドレス、コマンド、データ(データの書き込み時のみ)をパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替える。
【0060】
図10は、共有メモリ部15へデータを書き込む場合の、SMアクセス制御部105からSMコントローラ108へのアクセスの流れを示している。SMアクセス制御部105内のデータ転送制御部310は、アービトレーションによってアクセスパス2:137の使用権が決定されると、制御線6:222によってSMコントローラ108へアクセス開始を示す信号(REQ)を出す(ステップ601)。続いて、アドレス、コマンド、及びデータを連続して送出する(ステップ602)。
【0061】
SMコントローラ108内のデータ転送制御部315は、制御線6:222によってREQ信号を受け取ると、次にアクセスパス2:137を通して送られてくるアドレス、コマンド、及びデータを受信する。アドレスとコマンドは、adr、cmd解析部305で解析し、アクセス要求に基づいてアービトレーションを行い(ステップ603)、セレクタ309を切り替える。データはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ604)。次に、パケットバッファ303からデータを読み出し、セレクタ309を介してメモリモジュール109へ書き込む(ステップ605)。
【0062】
メモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況を示すステータス(STATUS)を生成する(ステップ606)。次に、ステータスをSMアクセス制御部105へ送出する(ステップ607)。SMアクセス制御部105内のデータ転送制御部310はステータスを受け取ると、SMコントローラ108へのREQ信号をオフする(ステップ608)。
【0063】
SMアクセス制御部105内のデータ転送制御部310はステータスを受け取ると、制御線5:221により、マイクロプロセッサ101へ共有メモリ部15へのアクセスの終了を報告する。
【0064】
共有メモリ部15からデータを読み出す場合のSMアクセス制御部105からSMコントローラ108へのアクセスの流れは、ステップ601から604までとステップ606以降は、データの書き込みの場合と同じである。
【0065】
ステップ604でメモリアクセスの前処理を行った後、SMコントローラ108はメモリモジュール109からデータを読み出し、セレクタ309、パスIF301を介してアクセスパス2:137にデータを送出する。
【0066】
SMアクセス制御部105は、アクセスパス2:137を通してデータを受信すると、セレクタ302、データ線220を介してマイクロプロセッサ101へデータを送出する。
【0067】
本実施例のディスクアレイ制御装置1では、ホストコンピュータ50とのチャネルを2つ有するチャネルIF部12を複数搭載しており、それらのチャネルをそれぞれ異なるホストコンピュータに接続することが可能である。そうした場合、ホストコンピュータに接続した各チャネルからの要求全てを並列に処理する必要がある。
【0068】
ところでディスクアレイ制御装置1では、ホストコンピュータ50へデータを読み出す場合、磁気ディスク装置20に格納されたデータをディスクIF部12を介してキャッシュメモリ部14へ書き込み、そのデータをキャッシュメモリ部14から読み出して、チャネルIF部11を介してホストコンピュータ50へ送る。またホストコンピュータ50からディスクアレイ制御装置1へデータを書き込む場合は、ホストコンピュータ50からチャネルIF部12へ送られてきたデータをキャッシュメモリ部14へ書き込み、そのデータをキャッシュメモリ部14から読み出して、ディスクIF部12を介して磁気ディスク装置20に書き込む。さらにデータのパリティを生成して磁気ディスク装置20に書き込むため、ディスクIF部12とキャッシュメモリ部14間でさらに2〜3回のアクセスが行われる。
【0069】
したがって、ホストコンピュータに接続した各チャネルからの要求全てを並列に処理するためには、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14間のスループットをホストコンピュータ50とチャネルIF部11間の最大のスループットの2倍以上にしなければならない。
【0070】
本実施例では、CMアクセス制御部104とCMコントローラ107間のアクセスパスの帯域幅、及びCMコントローラ107とメモリモジュール109間の全帯域幅を、チャネルIF部11とホストコンピュータ50間の最大の帯域幅の2倍以上に設定する。これにより、全チャネルIF部11を並列に動作させることが可能となる。
【0071】
本実施例によれば、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14間のスループットを高くすること、チャネルIF部11及びディスクIF部12と共有メモリ部15間のスループットを高く、且つアクセス時間を短くすることの両方が可能となる。これによって、スループットが高く、且つ応答時間の短いディスクアレイ制御装置を提供できる。
【0072】
ここで、図15に示すように、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14間をスイッチ(SW)16を用いた相互結合網140で接続する。この場合にも、図1に示したセレクタ部13を介して接続した構成と同様に、キャッシュメモリ部14へ複数のアクセスパスを設けることができるため、スループットを高めることが可能となる。
【0073】
また図16に示すように、 1つのCMアクセス制御部104へ接続されるアクセスパス0:135の本数を図1の構成の倍の4本に増やしたディスクアレイ制御装置1においても、本実施例を実施する上で問題はない。ホストIF及びドライブIFとして、今後はファイバーチャネル等のスループットが100MB/s以上の高速IFが使用されることが多くなると考えられる。チャネルIF部11及びディスクIF部12でのスループットのバランスを考えると、1つのCMアクセス制御部104に繋がる全アクセスパス0:135のスループットは、チャネルIF部11内の全ホストIF102、またはディスクIF部12内の全ドライブIF103のスループットと同等以上にする必要がある。上記のようにファイバチャネル等の高速IFを使用する場合は、図16に示すように、1つのCMアクセス制御部104に繋がるアクセスパス0:135の本数を増やすことで、アクセスパス0:135のスループットをホストIF102あるいはドライブIF103のスループット以上にすることができる。
【0074】
なお、図15及び図16のディスクアレイ制御装置では、耐障害性の向上という観点から、セレクタ部13、キャッシュメモリ部14、及び共有メモリ部15をそれぞれ二重化しているが、これらを二重化しなくても、上述の効果を得られることは言うまでもない。
【0075】
[実施例2]
図1において、2つのキャッシュメモリ部14間で、メモリ領域の全部または、一部を二重化し、キャッシュメモリ部14へのデータの書き込み時に二重化した2つの領域に同じデータを書き込むことにより、データの信頼性を上げることが可能となる。
【0076】
二重化した2つのキャッシュメモリ部14へデータを書き込む場合の手順は以下のようになる。
【0077】
アクセス開始の指示を受けたホストIF102あるいはドライブIF103は、制御線1:211によりCMアクセス制御部104内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともに、データ線210を通して2つのアドレス、コマンドと、1つのデータを送出する。
【0078】
CMアクセス制御部104は、データ線210を通して送られてきた2つのアドレス、コマンドと、1つのデータをパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替える。
【0079】
図11は、二重化した2つのキャッシュメモリ部14へデータを書き込む場合の、CMアクセス制御部104から2つのCMコントローラa、b:107へのアクセスの流れを示している。CMアクセス制御部104内のデータ転送制御部310は、アービトレーションによってアクセスパス0:135の使用権が決定されると、制御線2:212によってセレクタ部13内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ701)。続いて、アドレス及びコマンドを2つ連続して送出する(ステップ702)。
【0080】
セレクタ部13内のデータ転送制御部315は、CMアクセス制御部104からREQ信号を受け取ると、次にアクセスパス0:135を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行う(ステップ703)。アービトレーションの結果、CMコントローラa、b:107への2本のアクセスパス1:136への接続権の両方を得たら、データ転送制御部315はセレクタ306を切り替える(ステップ704)とともに、制御線2:212により、CMアクセス制御部104内のデータ転送制御部310へ、CMコントローラa、b:107への接続権が得られたことを示す信号(ACK)を返す(ステップ705)。次にデータ転送制御部315は、制御線3:213によって2つのCMコントローラ107内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ706a、706b)。続いて、CMコントローラa、b:107へアドレス及びコマンドを1つずつ送出する(ステップ707a、707b)。
【0081】
CMアクセス制御部104はACK信号を受けると、パケットバッファ303からデータを読み出し、セレクタ302、パスIF301を介してアクセスパス0:135へ送出する(ステップ709)。セレクタ部13は、アクセスパス0:135を通して送られてきた1つのデータを、パスIF301及びセレクタ306を介して2つのアクセスパス1:136の両方へ送出する(ステップ709a、709b)。
【0082】
CMコントローラa、b:107内のデータ転送制御部315は、制御線3:213によってREQ信号を受け取ると、次にアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ708a、708b)、セレクタ304を切り替える。アクセスパス1:136を通して送られてくるデータはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ710a、710b)。次に、パケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール109へ書き込む(ステップ711a、711b)。
【0083】
メモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況を示すステータス(STATUS)を生成する(ステップ712a、712b)。次に、ステータスをセレクタ部13を介してCMアクセス制御部104へ送出する(ステップ713a、713b)。セレクタ部13内のデータ転送制御部315はステータスを受け取ると、CMコントローラa、b:107へのREQ信号をそれぞれオフする(ステップ714a、714b)。また、セレクタ部13はCMコントローラa、b:107の両方からステータスを受け取ったら、それらを続けてCMアクセス制御部へ送出する(ステップ713)。CMアクセス制御部104内のデータ転送制御部310は2つのステータスを受け取ると、セレクタ部13へのREQ信号をオフする(ステップ715)。セレクタ部13内のデータ転送制御部315はCMアクセス制御部104からのREQ信号のオフを確認すると、CMアクセス制御部104へのACK信号をオフする(ステップ716)。
【0084】
CMアクセス制御部104内のデータ転送制御部310はステータスを受け取ると、制御線1:211により、ホストIF102あるいはドライブIF103へキャッシュメモリ部14へのアクセスの終了を報告する。
【0085】
上記のように二重化したキャッシュメモリ部14にデータを二重に書き込む場合、二重に書き込むデータの一方のデータの書き込み処理を行っている間に、もう一方のデータが他のアクセスパスからの書き込み要求によって書き換えられるのを防ぐ必要がある。本実施例では、共有メモリ部15にキャッシュメモリ部14のディレクトリを格納し、キャッシュメモリ部14にアクセスする前に必ず、共有メモリ部15に格納したディレクトリにアクセス中を示すビットを立てる。これにより、キャッシュメモリ部14内の同じアドレスには同時に1つのアクセス要求しか発行されないため、二重に書き込むデータの一方のデータの書き込み処理を行っている間に、もう一方のデータが他のアクセスパスからの書き込み要求によって書き換えられるのを防ぐことができる。
【0086】
[実施例3]
ディスクアレイ制御装置1では、キャッシュメモリ部14を複数設けた場合、あるキャッシュメモリ部14から別のキャッシュメモリ部14へデータをコピーする機能が要求される。この機能は、以下に述べる手順で実現できる。
【0087】
アクセス開始の指示を受けたホストIF102あるいはドライブIF103は、制御線1:211によりCMアクセス制御部104内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともに、データ線210を通して2つのアドレス、コマンドを送出する。2つのうちの1つのアドレス及びコマンドは、コピー元のアドレスとリードコマンドで、もう1つのアドレス及びコマンドはコピー先のアドレスとライトコマンドである。ここでは、CMコントローラa:107をコピー元、CMコントローラbをコピー先として説明する。
【0088】
CMアクセス制御部104は、データ線210を通して送られてきた2つのアドレス、コマンドをパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替える。
【0089】
図12は、2つのキャッシュメモリ部間でデータをコピーする場合の、CMアクセス制御部104からCMコントローラa、b:107へのアクセスの流れを示している。CMアクセス制御部104内のデータ転送制御部310は、アービトレーションによってアクセスパス0:135の使用権が決定されると、制御線2:212によってセレクタ部13内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ801)。続いて、アドレス及びコマンドを2つ連続して送出する(ステップ802)。
【0090】
セレクタ部13内のデータ転送制御部315は、CMアクセス制御部104からREQ信号を受け取ると、次にアクセスパス0:135を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行う(ステップ803)。アービトレーションの結果、CMコントローラa、b:107への2つのアクセスパス1:136への接続権の両方を得たら、データ転送制御部315はセレクタ306を切り替える(ステップ804)とともに、制御線2:212により、CMアクセス制御部104内のデータ転送制御部310へ、CMコントローラa、b:107両方への接続権が得られたことを示す信号(ACK)を返す(ステップ805)。次にデータ転送制御部315は、制御線3:213によってCMコントローラa、b:107内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ806a、806b)。続いて、CMコントローラa、b:107へそれぞれのアドレス及びコマンドを送出する(ステップ807a、807b)。
【0091】
CMアクセス制御部104はACK信号を受けると、アクセスの終了を知らせるステータスの受信待ち状態に入る。
【0092】
コピー元のCMコントローラa:107内のデータ転送制御部315は、制御線3:213によってREQ信号を受け取ると、次にアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ808)、セレクタ304を切り替える。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ809)。次に、メモリモジュール109からデータを読み出し(ステップ810)、セレクタ304を介してアクセスパス1:136へ送出する(ステップ811a)。
【0093】
セレクタ部13は、アクセスパス1:136を通してCMコントローラa:107から送られてきたデータをCMコントローラbに繋がるアクセスパス1:136へ送出する。(ステップ811b)。
【0094】
CMコントローラb:107内のデータ転送制御部315は、制御線3:213によってREQ信号を受け取ると、次にアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析する。その後、データを受信し始めるのを待って、メモリアクセスのアービトレーションに参加する(ステップ812)。アクセスパス1:136を通して送られてくるデータはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ813)。次に、パケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール109へ書き込む(ステップ814)。
【0095】
CMコントローラa、b:107は、それぞれCMメモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況を示すステータス(STATUS)を生成する(ステップ815、818)。次に、ステータスをセレクタ部13へ送出する(ステップ816、819)。
【0096】
セレクタ部13内のデータ転送制御部315はステータスを受け取ると、CMコントローラa、b:107へのREQ信号をそれぞれオフする(ステップ817、821)。また、セレクタ部13は2つのCMコントローラa、b:107の両方からステータスを受け取ったら、それらを続けてCMアクセス制御部へ送出する(ステップ820)。CMアクセス制御部104内のデータ転送制御部310は2つのステータスを受け取ると、セレクタ部13へのREQ信号をオフする(ステップ822)。セレクタ部13内のデータ転送制御部315はCMアクセス制御部104からのREQ信号のオフを確認すると、CMアクセス制御部104へのACK信号をオフする(ステップ823)。
【0097】
CMアクセス制御部104内のデータ転送制御部310はステータスを受け取ると、制御線1:211により、ホストIF102あるいはドライブIF103へキャッシュメモリ部14へのアクセスの終了を報告する。
【0098】
ディスクアレイ制御装置1ではまた、1つのキャッシュメモリ部14内のあるアドレスから別のアドレスへデータをコピーする機能も要求される。
【0099】
この機能は、図9で示したデータの書き込み時の手順において、ステップ511のメモリモジュール109へのライトアクセスの代わりに、メモリモジュール109からデータを読み出してCMコントローラ107内のパケットバッファ303に格納し、続けてそのデータをメモリモジュール109へ書き込むという処理を行うことによってで実現できる。
【0100】
[実施例4]
図1において、2つの共有メモリ部15間で、メモリ領域の全部または、一部を二重化し、共有メモリ部15へのデータの書き込み時に二重化した2つの領域に同じデータを書き込むことにより、データの信頼性を上げることが可能となる。
【0101】
二重化した2つの共有メモリ部15へデータを書き込む場合の手順は、以下のようになる。
【0102】
マイクロプロセッサ101は、制御線5:221によりSMアクセス制御部105内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともに、データ線220を通して2つのアドレス、コマンドと、1つのデータを送出する。
【0103】
SMアクセス制御部105は、データ線220を通して送られてきた2つのアドレス、コマンドと、1つのデータをパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替える。
【0104】
図13は、二重化した2つの共有メモリ部15へデータを書き込む場合の、SMアクセス制御部105から2つのSMコントローラ108へのアクセスの流れを示している。2つの共有メモリ部を二重化する場合、一方をマスタ、もう一方をスレーブに設定する。SMアクセス制御部105内のデータ転送制御部310は、アービトレーションによって、まずマスタ側のSMコントローラ108へのアクセスパス2:137の使用権を決定し、制御線6:222によってマスタ側のSMコントローラ108内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ901)。続いて、アドレス、コマンド、及びデータを連続して送出する(ステップ902)。
【0105】
マスタ側のSMコントローラ108内のデータ転送制御部315は、制御線6:222によってREQ信号を受け取ると、次にアクセスパス2:137を通して送られてくるアドレス、コマンド、及びデータを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ903)、セレクタ309を切り替える。データはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ904)。次に、パケットバッファ303からデータを読み出し、セレクタ309を介してメモリモジュール109へ書き込む(ステップ905)。
【0106】
メモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況を示すステータス(STATUS)を生成する(ステップ906)。次に、ステータスをSMアクセス制御部105へ送出する(ステップ907)。
【0107】
SMアクセス制御部105はステータスを受け取ったら、マスタ側のSMコントローラ108へのアクセスパス2:137の使用権を開放せずに、アービトレーションによって、スレーブ側のSMコントローラ108へのアクセスパス2:137の使用権を決定する。その後のスレーブ側のSMコントローラ108へのアクセス手順(ステップ908〜914)は、マスタ側のSMコントローラ108へのアクセス手順(ステップ901〜907)と同様である。
【0108】
SMアクセス制御部105内のデータ転送制御部310はスレーブ側のSMコントローラ108からステータスを受け取ると、マスタ側とスレーブ側両方のSMコントローラ108へのREQ信号をオフする(ステップ715a、715b)。
【0109】
二重化した共有メモリ部15にデータを二重に書き込む場合、上記のように共有メモリ部15をマスタとスレーブに分け、マスタ側、スレーブ側の順でデータを書き込み、スレーブ側へのデータの書き込みが終わるまで両方のアクセスパス2:137を開放しない。これによりデータを書き込む順番が保証され、二重に書き込むデータの一方のデータの書き込み処理を行っている間に、もう一方のデータが他のアクセスパスからの書き込み要求によって書き換えられるのを防ぐことができる。
【0110】
SMアクセス制御部105内のデータ転送制御部310はステータスを受け取ると、制御線5:221により、マイクロプロセッサ101へ共有メモリ部15へのアクセスの終了を報告する。
【0111】
[実施例5]
図14に、実施例1のディスクアレイ制御装置1のチャネルIF部11、ディスクIF部12、セレクタ部13、キャッシュメモリ部14、共有メモリ部15を実装するときの構成を示す。
【0112】
チャネルIF部11、ディスクIF部12、セレクタ部13、キャッシュメモリ部14、共有メモリ部15は、それぞれ独立したパッケージ(PK)、すなわち、チャネルIFPK1、ディスクIFPK2、セレクタPK3、メモリPK4にそれぞれ実装する。異なるキャッシュメモリ部14は、異なるパッケージ上に実装する。また、異なる共有メモリ部15も、異なるパッケージ上に実装する。1つのキャッシュメモリ部14と1つの共有メモリ部15は同一のパッケージ上に実装しても問題ない。図14では、1つのキャッシュメモリ部14と1つの共有メモリ部15を同一のメモリPK4上に実装した例を示している。
【0113】
チャネルIFPK1、ディスクIFPK2、セレクタPK3、メモリPK4は、プラッタ5上に実装し、それを筐体に搭載する。
【0114】
ここで、各PKをプラッタ5に実装するときには、セレクタPK3を中心付近より外側、好ましくはプラッタの両端に配置することが重要となる。このような配置により、各PK間を結ぶ線をプラッタ5上に配線する際、プラッタ5全体にわたって配線の密度を均一にでき、プラッタ上の配線を容易になる。
【0115】
本実施例では、セレクタ部13をセレクタPK3に実装して、プラッタ5の両端に配置するとした。しかし、セレクタ部13をパッケージに実装せず、プラッタの両端に直接実装しても問題ない。
【0116】
[実施例6]
図1に示す実施例1のディスクアレイ制御装置1において、SMアクセス制御部105とSMコントローラ108間をアクセスパス2:137で接続する代わりに、図7に示すように、2本の共有バス130を介して接続する。SMアクセス制御部105からは、2本の共有バス130それぞれに1本ずつ接続パスを設ける。また、SMコントローラ108からも、2本の共有バス130それぞれに1本ずつ接続パスを設ける。SMアクセス制御部105及びSMコントローラ108は、それぞれ2つのアービタを有している。2つのアービタはそれぞれ2本の共有バスのアービトレーション用のアービタである。SMアクセス制御部105からSMコントローラ108へのアクセスの際は、複数のアービタの内の1つがマスタとなり、共有バス130の使用権のアービトレーションを行う。そして、使用権を得たSMアクセス制御部105がSMコントローラ108にアクセスを行う。また、アービタをSMアクセス制御部105及びSMコントローラ108内に設ける代わりに、独立した回路として共有バス130に直接接続しても問題ない。
【0117】
共有バス接続では、バスのデータ幅を広げることによりデータ転送速度を上げることが可能であり、共有メモリ部15へのアクセス時間を短縮可能である。
【0118】
上述したように、図1におけるアクセスパス2:137のデータ幅は、アクセスパス0:135のデータ幅よりも2倍以上小さくすることができるので、図1のようにチャネルIF部11及びディスクIF部12と共有メモリ部15との間をスター接続(1対1接続)しても、共有メモリ部を実装するLSIのピンネックの問題が生じるケースは少ない。とはいえ、アクセスパス2:137の本数が増え過ぎてアクセスパス2:137を実装できないという問題が生じる可能性もある。そうした場合、本実施例の共有バス接続が有効となる。
【0119】
なお、本実施例では、耐障害性の向上という観点から、セレクタ部13、キャッシュメモリ部14、及び共有メモリ部15をそれぞれ二重化しているが、これらを二重化しなくても、上述の効果を得られることは言うまでもない。
【0120】
【発明の効果】
本発明によれば、チャネルIF部、ディスクIF部−キャッシュメモリ間のアクセスパスについてはスループットを高くできる。また、チャネルIF部、ディスクIF部−共有メモリ間のアクセスパスについてはスループットを高くでき、かつアクセス時間を短くできる。これによって、スループットが高く、かつ応答時間の短いディスクアレイ制御装置を提供することが可能となる。
【図面の簡単な説明】
【図1】本発明によるディスクアレイ制御装置の構成を示す図。
【図2】従来のディスクアレイ制御装置の構成を示す図。
【図3】従来のディスクアレイ制御装置の他の構成を示す図。
【図4】本発明によるディスクアレイ制御装置内のCMアクセス制御部の構成を示す図。
【図5】本発明によるディスクアレイ制御装置内のSMアクセス制御部の構成を示す図。
【図6】本発明によるディスクアレイ制御装置内のセレクタ部の構成を示す図。
【図7】本発明によるディスクアレイ制御装置内のキャッシュメモリ部の構成を示す図。
【図8】本発明によるディスクアレイ制御装置内の共有メモリ部の構成を示す図。
【図9】キャッシュメモリ部へのデータの書き込み時の手順を示す図。
【図10】共有メモリ部へのデータの書き込み時の手順を示す図。
【図11】二重化した2つのキャッシュメモリ部へデータを二重に書き込む時の手順を示す図。
【図12】1つのキャッシュメモリ部から別のキャッシュメモリ部へデータをコピーする時の手順を示す図。
【図13】二重化した2つの共有メモリ部へデータを二重に書き込む時の手順を示す図。
【図14】本発明によるディスクアレイ制御装置内の実装の構成を示す図。
【図15】本発明によるディスクアレイ制御装置内の他の構成を示す図。
【図16】本発明によるディスクアレイ制御装置内の他の構成を示す図。
【図17】本発明によるディスクアレイ制御装置の構成を示す図。
【符号の説明】
1…ディスクアレイ制御装置、11…チャネルIF部、12…ディスクIF部、13…セレクタ部、14…キャッシュメモリ部、15…共有メモリ部、20…磁気ディスク装置、50…ホストコンピュータ、101…マイクロプロセッサ、102…ホストIF、103…ドライブIF、104…CMアクセス制御部、105…SMアクセス制御部、106…内部バス、107…CMコントローラ、108…SMコントローラ、109…メモリモジュール、135…アクセスパス0、136…アクセスパス1、137…アクセスパス2。
Claims (10)
- ホストコンピュータとのインターフェースを有する複数のチャネルインターフェース部と、磁気ディスク装置とのインターフェースを有する複数のディスクインターフェース部と、前記磁気ディスク装置に対しリード/ライトされるデータを一時的に格納するキャッシュメモリ部と、前記チャネルインターフェース部及び前記ディスクインターフェース部と前記キャッシュメモリ部との間のデータ転送の転送先に関する制御情報を格納する共有メモリ部とを有し、各チャネルインターフェース部は、前記ホストコンピュータとのインターフェースと前記キャッシュメモリ部との間のデータ転送を実行し、各ディスクインターフェース部は、前記磁気ディスク装置とのインターフェースと前記キャッシュメモリ部との間のデータ転送を実行するディスクアレイ制御装置において、
前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記キャッシュメモリ部との間は、当該複数のチャネルインターフェース部及び当該複数のディスクインターフェース部と当該キャッシュメモリ部の外部において、それぞれセレクタ部を介して接続され、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記共有メモリ部との間は、当該複数のチャネルインターフェース部及び当該複数のディスクインターフェース部と当該共有メモリ部の外部において、それぞれセレクタ部を介さずに接続されていることを特徴とするディスクアレイ制御装置。 - 前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記共有メモリ部との間はそれぞれは直接接続されていることを特徴とする請求項1に記載のディスクアレイ制御装置。
- 前記複数のチャネルインターフェース部、前記複数のディスクインターフェース部、及び前記共有メモリ部は共有バスに接続されていることを特徴とする請求項1に記載のディスクアレイ制御装置。
- ホストコンピュータとのインターフェースを有する複数のチャネルインターフェース部と、磁気ディスク装置とのインターフェースを有する複数のディスクインターフェース部と、前記磁気ディスク装置に対しリード/ライトされるデータを一時的に格納するキャッシュメモリ部と、前記チャネルインターフェース部及び前記ディスクインターフェース部と前記キャッシュメモリ部との間のデータ転送の転送先に関する制御情報を格納する共有メモリ部とを有し、各チャネルインターフェース部は、前記ホストコンピュータとのインターフェースと前記キャッシュメモリ部との間のデータ転送を実行し、各ディスクインターフェース部は、前記磁気ディスク装置とのインターフェースと前記キャッシュメモリ部との間のデータ転送を実行するディスクアレイ制御装置において、
前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記キャッシュメモリ部との間はスイッチを用いた相互結合網によって接続され、前記複数のチャネルインターフェース部及び前記複数のディスクインターフェース部と前記共有メモリ部との間はそれぞれ直接接続されていることを特徴とするディスクアレイ制御装置。 - 前記各チャネルインターフェース部及び前記各ディスクインターフェース部と前記セレクタ部とは、それぞれ第1のアクセスパスにより接続され、前記セレクタ部と前記キャッシュメモリ部とは、第2のアクセスパスにより接続され、前記各チャネルインターフェース部及び前記各ディスクインターフェース部と前記共有メモリ部との間はそれぞれ第3のアクセスパスにより接続され、前記第2のアクセスパスの本数は、前記第3のアクセスパスの本数より少ないことを特徴とする請求項1に記載のディスクアレイ制御装置。
- 前記第1のアクセスパスの本数は、前記第2のアクセスパスの本数より多いことを特徴とする請求項5に記載のディスクアレイ制御装置。
- ホストコンピュータとの複数のインターフェース部と、磁気ディスク装置との複数のインターフェース部と、前記磁気ディスク装置のデータを一時的に格納する物理的に独立したキャッシュメモリ部と、データ転送の転送先に関する制御情報を格納する物理的に独立した共有メモリ部とを有し、前記ホストコンピュータとの各インターフェース部及び前記磁気ディスク装置との各インターフェース部は、それぞれマイクロプロセッサと、前記キャッシュメモリ部へのアクセスを制御するキャッシュメモリアクセス制御部と、前記共有メモリ部へのアクセスを制御する共有メモリアクセス制御部とを有するディスクアレイ制御装置において、
前記各キャッシュメモリアクセス制御部と前記キャッシュメモリ部との間は、セレクタ部を介してアクセスパスにより接続されており、前記各共有メモリアクセス制御部と前記共有メモリ部との間は、それぞれアクセスパスにより直接接続されていることを特徴とするディスクアレイ制御装置。 - ホストコンピュータとの複数のインターフェース部と、磁気ディスク装置との複数のインターフェース部と、前記磁気ディスク装置のデータを一時的に格納する物理的に独立したキャッシュメモリ部と、データ転送の転送先に関する制御情報を格納する物理的に独立した共有メモリ部とを有し、前記ホストコンピュータとの各インターフェース部及び前記磁気ディスク装置との各インターフェース部は、それぞれマイクロプロセッサと、前記キャッシュメモリ部へのアクセスを制御するキャッシュメモリアクセス制御部と、前記共有メモリ部へのアクセスを制御する共有メモリアクセス制御部とを有するディスクアレイ制御装置において、
前記各キャッシュメモリアクセス制御部と前記キャッシュメモリ部との間は、スイッチを用いた相互結合網によって接続されており、前記各共有メモリアクセス制御部と前記共有メモリ部との間は、それぞれアクセスパスにより直接接続されていることを特徴とするディスクアレイ制御装置。 - 前記各キャッシュメモリアクセス制御部と前記キャッシュメモリ部との間の前記アクセスパスの帯域幅を、前記ホストコンピュータと前記ホストコンピュータとのインターフェース部との間の最大の全帯域幅の2倍以上としたことを特徴とする請求項7または請求項8の何れかに記載のディスクアレイ制御装置。
- 前記共有メモリ部及び前記キャッシュメモリ部を複数有し、該複数の共有メモリ部及び前記複数のキャッシュメモリ部はそれぞれ二重化されていることを特徴とする請求項1乃至請求項9の何れかに記載のディスクアレイ制御装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26428698A JP4392877B2 (ja) | 1998-09-18 | 1998-09-18 | ディスクアレイ制御装置 |
EP99114017A EP0987623A3 (en) | 1998-09-18 | 1999-07-19 | Disk array control device |
US09/358,374 US6385681B1 (en) | 1998-09-18 | 1999-07-21 | Disk array control device with two different internal connection systems |
US10/100,117 US6684295B2 (en) | 1998-09-18 | 2002-03-19 | Disk array control device with two different internal connection systems |
US10/436,253 US7020731B2 (en) | 1998-09-18 | 2003-05-13 | Disk array control device with two different internal connection systems |
US11/298,716 US7240139B2 (en) | 1998-09-18 | 2005-12-12 | Disk array control device with two different internal connection systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26428698A JP4392877B2 (ja) | 1998-09-18 | 1998-09-18 | ディスクアレイ制御装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003086908A Division JP2003263279A (ja) | 2003-03-27 | 2003-03-27 | ディスクアレイ制御装置 |
JP2006154166A Division JP4526509B2 (ja) | 2006-06-02 | 2006-06-02 | ディスクアレイ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000099281A JP2000099281A (ja) | 2000-04-07 |
JP4392877B2 true JP4392877B2 (ja) | 2010-01-06 |
Family
ID=17401064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26428698A Expired - Fee Related JP4392877B2 (ja) | 1998-09-18 | 1998-09-18 | ディスクアレイ制御装置 |
Country Status (3)
Country | Link |
---|---|
US (4) | US6385681B1 (ja) |
EP (1) | EP0987623A3 (ja) |
JP (1) | JP4392877B2 (ja) |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999060471A1 (fr) * | 1998-05-18 | 1999-11-25 | Hitachi, Ltd. | Controleur de pile de disques |
JP4392877B2 (ja) * | 1998-09-18 | 2010-01-06 | 株式会社日立製作所 | ディスクアレイ制御装置 |
JP2001256003A (ja) * | 2000-03-10 | 2001-09-21 | Hitachi Ltd | ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法 |
US6820171B1 (en) * | 2000-06-30 | 2004-11-16 | Lsi Logic Corporation | Methods and structures for an extensible RAID storage architecture |
JP3578075B2 (ja) | 2000-10-13 | 2004-10-20 | 日本電気株式会社 | ディスクアレイ制御装置及びディスクアレイ制御方法 |
JP2002123479A (ja) * | 2000-10-17 | 2002-04-26 | Hitachi Ltd | ディスク制御装置およびそのキャッシュ制御方法 |
US6757753B1 (en) | 2001-06-06 | 2004-06-29 | Lsi Logic Corporation | Uniform routing of storage access requests through redundant array controllers |
JP4209108B2 (ja) * | 2001-12-20 | 2009-01-14 | 株式会社日立製作所 | 記憶装置の制御方法およびこの方法に用いる記憶装置、ディスクアレイ装置、及びディスクコントローラ |
JP2003323261A (ja) | 2002-04-26 | 2003-11-14 | Hitachi Ltd | ディスク制御システム、ディスク制御装置、ディスクシステム、及びその制御方法 |
JP4189171B2 (ja) | 2002-05-24 | 2008-12-03 | 株式会社日立製作所 | ディスク制御装置 |
JP2004110503A (ja) | 2002-09-19 | 2004-04-08 | Hitachi Ltd | 記憶制御装置、記憶システム、記憶制御装置の制御方法、チャネル制御部、及びプログラム |
JP4483168B2 (ja) * | 2002-10-23 | 2010-06-16 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US6957303B2 (en) | 2002-11-26 | 2005-10-18 | Hitachi, Ltd. | System and managing method for cluster-type storage |
JP2004220216A (ja) | 2003-01-14 | 2004-08-05 | Hitachi Ltd | San/nas統合型ストレージ装置 |
US7360010B2 (en) * | 2003-04-14 | 2008-04-15 | Copan Systems, Inc. | Method and apparatus for storage command and data router |
JP4413518B2 (ja) | 2003-04-16 | 2010-02-10 | 株式会社日立製作所 | 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法 |
US7571280B2 (en) | 2003-04-25 | 2009-08-04 | Hitachi, Ltd. | Cluster-type storage system and managing method of the cluster-type storage system |
US7461176B2 (en) | 2003-05-02 | 2008-12-02 | Hitachi, Ltd. | Method for initialization of storage systems |
JP4060235B2 (ja) | 2003-05-22 | 2008-03-12 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置の制御方法 |
JP2004348464A (ja) | 2003-05-22 | 2004-12-09 | Hitachi Ltd | ストレージ装置、及び通信信号の整形回路 |
JP4462852B2 (ja) * | 2003-06-23 | 2010-05-12 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの接続方法 |
JP4371720B2 (ja) * | 2003-06-27 | 2009-11-25 | 株式会社日立製作所 | 記憶装置システム及び記憶装置システムの保守方法 |
JP4468666B2 (ja) * | 2003-08-22 | 2010-05-26 | 富士通株式会社 | 二重書込機能を有する装置およびストレージ制御装置 |
JP2005115603A (ja) * | 2003-10-07 | 2005-04-28 | Hitachi Ltd | 記憶デバイス制御装置及びその制御方法 |
EP1533704A3 (en) | 2003-11-21 | 2007-03-07 | Hitachi, Ltd. | Read/write protocol for cache control units at switch fabric, managing caches for cluster-type storage |
JP4400913B2 (ja) * | 2003-11-26 | 2010-01-20 | 株式会社日立製作所 | ディスクアレイ装置 |
JP2005165441A (ja) * | 2003-11-28 | 2005-06-23 | Hitachi Ltd | ストレージ制御装置、及びストレージ制御装置の制御方法 |
JP4156499B2 (ja) | 2003-11-28 | 2008-09-24 | 株式会社日立製作所 | ディスクアレイ装置 |
JP4497918B2 (ja) * | 2003-12-25 | 2010-07-07 | 株式会社日立製作所 | ストレージシステム |
JP4634049B2 (ja) | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
JP4405277B2 (ja) | 2004-02-16 | 2010-01-27 | 株式会社日立製作所 | ディスク制御装置 |
US7467238B2 (en) * | 2004-02-10 | 2008-12-16 | Hitachi, Ltd. | Disk controller and storage system |
JP4441286B2 (ja) * | 2004-02-10 | 2010-03-31 | 株式会社日立製作所 | ストレージシステム |
US7421549B2 (en) * | 2004-03-02 | 2008-09-02 | Hitachi, Ltd. | Method and apparatus of remote copy for multiple storage subsystems |
JP2005301565A (ja) | 2004-04-09 | 2005-10-27 | Hitachi Ltd | ディスクアレイ装置およびディスクアレイ装置の診断制御方法 |
US7529291B2 (en) * | 2004-04-13 | 2009-05-05 | Raytheon Company | Methods and structures for rapid code acquisition in spread spectrum communications |
JP4528551B2 (ja) | 2004-04-14 | 2010-08-18 | 株式会社日立製作所 | ストレージシステム |
JP4377279B2 (ja) * | 2004-05-06 | 2009-12-02 | 株式会社日立製作所 | ストレージシステム、コンピュータシステム、およびストレージシステムの設定方法 |
JP2006079495A (ja) * | 2004-09-13 | 2006-03-23 | Hitachi Ltd | ストレージシステム及び論理区画の設定方法 |
JP4404754B2 (ja) * | 2004-11-30 | 2010-01-27 | 富士通株式会社 | データストレージ装置及び情報処理システム |
JP4585325B2 (ja) * | 2005-02-08 | 2010-11-24 | 株式会社日立製作所 | ディスクアレイ装置 |
JP2006293863A (ja) * | 2005-04-13 | 2006-10-26 | Hitachi Ltd | ディスクアレイ装置及びその制御方法 |
US8427941B2 (en) * | 2005-09-23 | 2013-04-23 | Infortrend Technology, Inc. | Redundant storage virtualization subsystem having data path branching functionality |
JP2007109141A (ja) * | 2005-10-17 | 2007-04-26 | Hitachi Ltd | ストレージシステム |
JP4413184B2 (ja) * | 2005-11-28 | 2010-02-10 | 富士通株式会社 | データストレージシステム及びデータストレージ制御装置 |
US8171098B1 (en) | 2006-06-29 | 2012-05-01 | Emc Corporation | Techniques for providing storage services using networked computerized devices having direct attached storage |
US11244727B2 (en) | 2006-11-29 | 2022-02-08 | Rambus Inc. | Dynamic memory rank configuration |
EP2026147A1 (de) * | 2007-08-13 | 2009-02-18 | Siemens Aktiengesellschaft | Verfahren zum Übermitteln von Telegrammen zwischen einer Steuereinrichtung und einem Peripherieelement über ein Zwischengerät |
US7743191B1 (en) | 2007-12-20 | 2010-06-22 | Pmc-Sierra, Inc. | On-chip shared memory based device architecture |
KR101600951B1 (ko) * | 2009-05-18 | 2016-03-08 | 삼성전자주식회사 | 고체 상태 드라이브 장치 |
JP5874467B2 (ja) * | 2012-03-19 | 2016-03-02 | 富士通株式会社 | 情報処理装置及び情報処理装置の保守方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE36989E (en) * | 1979-10-18 | 2000-12-12 | Storage Technology Corporation | Virtual storage system and method |
US4476526A (en) * | 1981-11-27 | 1984-10-09 | Storage Technology Corporation | Cache buffered memory subsystem |
JP2567922B2 (ja) * | 1988-08-30 | 1996-12-25 | 株式会社日立製作所 | パス制御方式 |
JP2637788B2 (ja) | 1988-09-02 | 1997-08-06 | 株式会社日立製作所 | ディスクキャッシュ制御方式および情報処理システム |
US5142627A (en) * | 1988-11-17 | 1992-08-25 | Unisys Corporation | FIP-compliant block multiplexor channel interface operational method for cache/disk subsystem |
US5335352A (en) * | 1990-09-24 | 1994-08-02 | Emc Corporation | Reconfigurable, multi-function data storage system controller selectively operable as an input channel adapter and a data storage unit adapter |
US5155835A (en) * | 1990-11-19 | 1992-10-13 | Storage Technology Corporation | Multilevel, hierarchical, dynamically mapped data storage subsystem |
US5522065A (en) * | 1991-08-30 | 1996-05-28 | Compaq Computer Corporation | Method for performing write operations in a parity fault tolerant disk array |
JPH05143242A (ja) | 1991-11-25 | 1993-06-11 | Hitachi Ltd | 磁気デイスクシステム |
JP3451099B2 (ja) | 1991-12-06 | 2003-09-29 | 株式会社日立製作所 | 外部記憶サブシステム |
JPH05189314A (ja) | 1992-01-08 | 1993-07-30 | Hitachi Ltd | ディスクキャッシュ制御方式 |
WO1994007200A1 (en) * | 1992-09-21 | 1994-03-31 | Unisys Corporation | Multiported buffer memory system for disk drive complex |
JP3200500B2 (ja) * | 1993-05-27 | 2001-08-20 | 株式会社日立製作所 | ディスク装置及びディスク制御方法 |
JP3264465B2 (ja) * | 1993-06-30 | 2002-03-11 | 株式会社日立製作所 | 記憶システム |
JP2905373B2 (ja) * | 1993-10-01 | 1999-06-14 | 富士通株式会社 | ディスク制御装置及びその制御方法 |
JP3236166B2 (ja) | 1994-06-08 | 2001-12-10 | 株式会社日立製作所 | キャッシュ制御方法および情報処理装置 |
JPH0869359A (ja) | 1994-08-29 | 1996-03-12 | Hitachi Ltd | ディスクアレイ装置 |
JP3581727B2 (ja) * | 1994-11-11 | 2004-10-27 | 株式会社日立製作所 | ディスクアレイコントローラ及びディスクアレイ装置 |
JP3628777B2 (ja) | 1995-10-30 | 2005-03-16 | 株式会社日立製作所 | 外部記憶装置 |
JP3776496B2 (ja) | 1996-01-17 | 2006-05-17 | 株式会社日立製作所 | データ記憶システム |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
US5841988A (en) * | 1996-05-23 | 1998-11-24 | Lsi Logic Corporation | Interprocessor communications data transfer and error detection in a multiprocessing environment |
JP3781212B2 (ja) | 1996-06-04 | 2006-05-31 | 株式会社日立製作所 | サブシステム |
JP3204143B2 (ja) | 1997-01-06 | 2001-09-04 | 日本電気株式会社 | ディスクキャッシュの制御方法 |
US6065096A (en) * | 1997-09-30 | 2000-05-16 | Lsi Logic Corporation | Integrated single chip dual mode raid controller |
WO1999026150A1 (en) * | 1997-11-14 | 1999-05-27 | 3Ware, Inc. | High-performance architecture for disk array controller |
US6173374B1 (en) * | 1998-02-11 | 2001-01-09 | Lsi Logic Corporation | System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network |
JP4392877B2 (ja) * | 1998-09-18 | 2010-01-06 | 株式会社日立製作所 | ディスクアレイ制御装置 |
-
1998
- 1998-09-18 JP JP26428698A patent/JP4392877B2/ja not_active Expired - Fee Related
-
1999
- 1999-07-19 EP EP99114017A patent/EP0987623A3/en not_active Withdrawn
- 1999-07-21 US US09/358,374 patent/US6385681B1/en not_active Expired - Lifetime
-
2002
- 2002-03-19 US US10/100,117 patent/US6684295B2/en not_active Expired - Fee Related
-
2003
- 2003-05-13 US US10/436,253 patent/US7020731B2/en not_active Expired - Fee Related
-
2005
- 2005-12-12 US US11/298,716 patent/US7240139B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060090027A1 (en) | 2006-04-27 |
EP0987623A2 (en) | 2000-03-22 |
US6684295B2 (en) | 2004-01-27 |
US6385681B1 (en) | 2002-05-07 |
US7240139B2 (en) | 2007-07-03 |
US7020731B2 (en) | 2006-03-28 |
US20020095551A1 (en) | 2002-07-18 |
EP0987623A3 (en) | 2006-09-13 |
JP2000099281A (ja) | 2000-04-07 |
US20030200377A1 (en) | 2003-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4392877B2 (ja) | ディスクアレイ制御装置 | |
JP4400895B2 (ja) | ディスクアレイ制御装置 | |
US10789196B2 (en) | Storage system | |
JP5546635B2 (ja) | データ転送装置およびその制御方法 | |
US6523088B2 (en) | Disk array controller with connection path formed on connection request queue basis | |
JP6899852B2 (ja) | ストレージ装置 | |
US6675253B1 (en) | Dynamic routing of data across multiple data paths from a source controller to a destination controller | |
US6850998B2 (en) | Disk array system and a method for controlling the disk array system | |
WO2007112166A2 (en) | System and method for re-routing signals between memory system components | |
JP2007520826A (ja) | ハブベースのメモリサブシステムにおける、双方向データバスに対するデータバイパスの装置および方法 | |
JP4526509B2 (ja) | ディスクアレイ制御装置 | |
JP4662565B2 (ja) | ディスクアレイ制御装置及びディスクアレイシステム | |
JP2014167818A (ja) | データ転送装置およびデータ転送方法 | |
JP2003263279A (ja) | ディスクアレイ制御装置 | |
JP4452697B2 (ja) | ディスクアレイ制御装置 | |
JP4571963B2 (ja) | ディスクアレイ制御装置 | |
JP2834927B2 (ja) | 計算機システム | |
JP3684902B2 (ja) | ディスクアレイ制御装置 | |
US11972112B1 (en) | Host IO device direct read operations on peer memory over a PCIe non-transparent bridge | |
US11537539B2 (en) | Acceleration of data between a network and local I/O in a NUMA system | |
JP3686562B2 (ja) | ディスク制御装置 | |
JP2000250712A (ja) | ディスクアレイ制御装置 | |
JP2003263278A (ja) | ディスクアレイ制御装置 | |
JP2000010900A (ja) | ディスクアレイ制御装置、及びディスクアレイ | |
JP2007035060A (ja) | ディスクアレイ制御装置及びディスクアレイ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050719 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050916 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060404 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090821 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091013 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121023 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121023 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131023 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |