JP3717551B2 - ディスクアレイシステム - Google Patents
ディスクアレイシステム Download PDFInfo
- Publication number
- JP3717551B2 JP3717551B2 JP22302595A JP22302595A JP3717551B2 JP 3717551 B2 JP3717551 B2 JP 3717551B2 JP 22302595 A JP22302595 A JP 22302595A JP 22302595 A JP22302595 A JP 22302595A JP 3717551 B2 JP3717551 B2 JP 3717551B2
- Authority
- JP
- Japan
- Prior art keywords
- disk drive
- data
- disk
- control circuit
- interface control
- 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 - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L5/00—Arrangements affording multiple use of the transmission path
- H04L5/02—Channels characterised by the type of signal
- H04L5/06—Channels characterised by the type of signal the signals being represented by different frequencies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
- G06F11/201—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
-
- 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
-
- 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
-
- 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/0626—Reducing size or complexity of storage systems
-
- 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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/1075—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
- G11B2020/10759—Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/40—Combinations of multiple record carriers
- G11B2220/41—Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【産業上の利用分野】
本発明は、計算機、電子機器に用いられる、ディスクアレイ、ディスクドライブ制御回路を有するディスクアレイシステムに関するものである。
【0002】
【従来の技術】
従来、ディスクアレイで多数のディスクドライブを接続する場合はクロスバースイッチを用い接続する方法がある。またディスクドライブのインタフェースはSCSIが多く使用されている。この方式はデータを並列に時分割で伝送する方式を用いており、イニシエータに対するアクセスは1伝送線路上に一時刻当り1対1の通信のみを行う方式であり、同時に多数のイニシエータとディスクドライブとの通信ができない欠点がある。またこの方式では一線路上に接続可能なディスクドライブは数十台と数が少ないため、クロスバースイッチと併用した方法を使用し、見かけ上多数のディスクドライブを少ない制御回路で制御する方式が採られてきた。
【0003】
【発明が解決しようとする課題】
ディスクアクセスにおいて、トランザクシション性能を上げるためには多数のディスクドライブを用意することにより実現する方法がある。これはシーク等の機構による低速な動作を並列に行うことができるため、見かけ上一定時間内に多くの処理が可能となる。また、今後ディスクドライブの小型化により、多くのディスクドライブを使用することになると考えられる。ディスク制御装置とディスクドライブの接続については、現在ではSCSIを用いたインタフェースが主流であるが、このインタフェースをドライブが増加した場合1本のインタフェースで1対1の接続をする場合多数のインタフェースが必要となり実装面で困難である。
【0004】
また1つの制御回路で接続可能なディスクドライブの数が少ないため、多数の制御回路を使用するか、又はこれを補うための交換機が必要となり、この制御を行う制御回路が必要となり物量が増し、動的な制御が複雑化し困難となる。
【0005】
【課題を解決しようとする手段】
本発明によれば、1本のインタフェース線上で多くのデータを伝送させるために同一時間内に周波数の多重を行い同時に複数のデータ転送を行う周波数分割多重伝送を用いることにより、少数の制御回路で多数のディスクドライブを接続を可能とする。
【0006】
また各制御装置、ディスクドライブグループ毎に伝送周波数を動的に切り変えることにより少数のディスクドライブ制御回路で見かけ上多数のディスクドライブを制御する。
【0007】
【作用】
周波数分割多重伝送方式を用いることにより1本のインタフェース線上で同時刻に複数のデータを伝送させることが可能なため、これにより多数のディスクドライブに対するインタフェース線が不必要となり多数のディスクドライブを使用する際の実装面での問題を解決することが可能となる。
【0008】
また、各ディスクドライブ制御回路、ディスクドライブグループ毎に伝送周波数を動的に切り変えることによりクロスバースイッチの代わりをすることが可能となり、また切り変えを行うための特別に独立したクロスバースイッチ等の制御が不要となる。以上の結果小型で高性能なディスクアレイシステムが構築可能となる。
【0009】
【実施例】
図1は、ディスクドライブインタフェース制御回路とディスクドライブアレイとの間を接続するディスクドライブインタフェースに周波数分割多重伝送方式を用いた、本発明によるディスクアレイシステムの実施例を示した図である。
【0010】
図1のディスクアレイシステムは、チャネルインタフェース制御回路1、キャッシュメモリ2、ディスクドライブインタフェース制御回路5、これらをそれぞれ接続する内部データバス4、周波数分割多重伝送インタフェース6、及び、ディスクドライブ7より構成されている。また、ディスクドライブ7は、幾つかのグループにまとめられそのディスクドライブグループ3A、3B、3C、3D、3E、…で1つの伝送する周波数の割当てを行う。各ディスクドライブグループ内の識別はそれぞれのディスクドライブのアドレス付けにより行う。ここで、多数のディスクドライブ7からなるディスクアレイの構成は、RAID5構成で、4データディスクドライブ(図4〜図13の24)及び1パリティディスクドライブ(図4〜図13の25)構成の場合を示している。
【0011】
各ディスクドライブインタフェース制御回路5は、図4〜図13にみられるように4つのディスクドライブインタフェースのポートP1〜P4と、2つのインタフェースの接続パスC1、C2とを有し、ディスクドライブインタフェース毎に割当て周波数が重ならないように設定しディスクドライブ7との接続を行う。なお、ポートP1〜P4と、接続パスC1、C2の符号は、図4〜図13の簡略化のために、図4のディスクドライブインタフェース制御回路5cについてのみ表示した。
【0012】
また、ディスクドライブインタフェース制御回路5とディスクドライブ7との接続は障害発生時の交代パスとして2つの経路6−1、6−2で接続し、それぞれのパスには物理的に全ディスクドライブに接続する。通常はこの2つのパスを用いて同一ディスクドライブグループに対するアクセスを可能にする等により、有効利用することが望ましい。この詳細については後述する。
【0013】
図2は、チャネルインタフェース制御回路1の内部を示した図である。同図に示されるように、チャネルインタフェース制御回路1は、チャネルインタフェースプロトコル制御部8、データ転送制御部9、データフォーマット変換部10、内部バスデータ転送制御部11、バッファメモリ12、及びマイクロプロセッサ13より構成されている。
【0014】
図3は、ディスクドライブインタフェース制御回路5の内部構成を示した図である。
ディスクドライブインタフェース制御回路5は、同図に示されるように、周波数分割多重インタフェース制御回路14、内部バスデータ転送制御回路15、バッファメモリ16、パリティデータ生成部17、ディスクドライブインタフェース制御回路内部バス18及びマイクロプロセッサ19より構成されている。
【0015】
次に、図示しないホストコンピュータとディスクドライブ7間のデータの流れについて説明する。
まず、ホストコンピュータからディスクドライブに対しデータを書き込む場合について説明する。
【0016】
図1中のチャネルインタフェース制御回路1は、コンピュータに接続され、図2中のチャネルインタフェースプロトコル制御部8でチャネルインタフェースのプロトコル制御、コマンド解析を行い、データ転送制御部9によりホストコンピュータからのデータをデータフォーマット変換部10に転送し、CKDフォーマットからFBAフォーマットにデータフォーマット変換を行う。この後、内部バスデータ転送制御部11により、キャッシュメモリ2に対してのデータ転送を行う。キャッシュメモリ2はこの際、データ転送における一時的なバッファ機能の役目を果たす。以後の動作は、各書き込みデータ量により、以下の(1)ないし(7)の場合で異なり、それぞれの場合について説明する。
【0017】
(1)全ストライプライトを2パスで行う場合
図4を用いて説明する。チャネルインタフェース制御回路よりディスクドライブインタフェース制御回路に対し書き込みが発生したことを通知し、2つのディスクドライブインタフェース制御回路、例えば、5a、5bが選択される。それぞれのディスクドライブインタフェース制御回路5a、5bが連動しキャッシュメモリ2からディスクドライブ7a〜7dにデータの転送を行う。このときディスクドライブインタフェース制御回路5aはデータディスクドライブ7a、7bに対し書き込みデータを4つのポートP1〜P4と、2つのインタフェース接続パスC1、C2を用い同時に転送する。このときディスクドライブインタフェース制御回路5aの4つのポートは各データディスクドライブ7a〜7dの周波数に設定する。もう一方のディスクドライブインタフェース制御回路5bはキャッシュメモリ2より送られてきたデータによりパリティデータの生成を行いパリティディスクドライブ7eに対しライトデータ転送を行う。こうして全ストライプライト、2パスの1連の書き込み動作を完了する。
【0018】
(2)全ストライプライトを1パスで行う場合
図5を用いて説明する。1パスを用いる場合は3つのディスクドライブインタフェース制御回路を使用する。これはディスクドライブインタフェース制御回路−ディスクドライブの1パスに障害が発生した場合の手段である。チャネルインタフェース制御回路よりディスクドライブインタフェース制御回路に対し書き込みが発生したことを通知し、通知を受理した3つのディスクドライブインタフェース制御回路5a、5b、5cが選ばれ、それぞれを用いてデータ転送を行う。
【0019】
まず、キャッシュメモリ2から、ディスクドライブインタフェース制御回路5aに対して、データディスクドライブ7a、7bへの書き込みデータの転送を行う。この後、データディスクドライブ7c、7dに対する書き込みデータをキャッシュメモリ2からディスクドライブインタフェース制御回路5bに対し転送する。データを受け取ったディスクドライブインタフェース制御回路5a、5bはデータディスクドライブ7a〜7dに対しライトデータ転送を行う。この際、伝送周波数は変えて同時転送可能とする。
【0020】
一方、ディスクドライブインタフェース制御回路5cではキャッシュメモリ2から受け取った、データディスクドライブ7a、7b、7c、7dからのデータに基づいてパリティデータの生成を行いパリティディスクドライブ7eに対しライトデータ転送を行う。この伝送周波数をデータディスクドライブ7a〜7dの周波数と変え同時転送可能とする。こうして全ストライプライト、1パスの1連の書き込み動作を完了する。
【0021】
(3)1ストライプライトを行う場合
図6を用いて説明する。この場合は1つのディスクドライブインタフェース制御回路を使用しておこなう。チャネルインタフェース制御回路よりディスクドライブインタフェース制御回路に対し書き込みが発生したことを通知し、通知を受理した1つのディスクドライブインタフェース制御回路5aが選ばれ、キャッシュメモリ2からデータ転送が行われる。この選択されたディスクドライブインタフェース制御回路5aは2つのポートを用いて書き込みの発生したデータディスクドライブ7aとパリティディスクドライブ7eのデータリード転送を行う。このディスクドライブ7a、7eから転送したデータとキャッシュメモリ2からのデータにより新パリティデータ生成を行い、パリティディスクドライブ7eのライトデータとする。このパリティデータとキャッシュメモリ2からのデータを、パリティディスクドライブ7e、データディスクドライブ7aに対してライトデータとして転送を行う。こうして1ストライプライトの1連の書き込み動作を完了する。
【0022】
(4)2ストライプライトを2パスで行う場合
図7を用いて説明する。この場合は1つのディスクドライブインタフェース制御回路を使用してライト動作を行う。チャネルインタフェース制御回路よりディスクドライブインタフェース制御回路に対し書き込みが発生したことを通知し、通知を受理した1つのディスクドライブインタフェース制御回路5aが選ばれキャッシュメモリ2よりデータの転送が行われる。一方、書き込みの発生した2つのデータディスクドライブ7a、7bとパリティディスクドライブ7eよりデータリード転送を行う。これらのデータ転送の際それぞれの伝送周波数をかえる。この後各ディスクドライブの2つの旧データ、1つの旧パリティとキャッシュメモリ2より転送したデータにより新パリティデータ生成を行い、パリティディスクドライブ7eのライトデータとする。このデータとキャッシュメモリ2から転送したデータをパリティディスクドライブ7e、データディスクドライブ7a、7bに対しライトデータ転送を行う。こうして2ストライプライト、2パスの1連の書き込み動作を完了する。
【0023】
(5)2ストライプライトを1パスで行う場合
図8を用いて説明する。この場合は1つのディスクドライブインタフェース制御回路を使用してライト動作を行う。チャネルインタフェース制御回路からディスクドライブインタフェース制御回路に対し書き込みが発生したことを通知し、通知を受理した2つのディスクドライブインタフェース制御回路5a、5dが選ばれ、ディスクドライブインタフェース制御回路5aにキャッシュメモリ2よりデータの転送が行われる。一方、ディスクドライブインタフェース制御回路5dはパリティディスクドライブ7eの旧データのリードデータ転送を行う。これと同時にライトの発生したディスクドライブ7aの旧データのリードデータ転送を行う。これらは伝送周波数を変えて行う。その後、ディスクドライブインタフェース制御回路5dよりディスクドライブインタフェース制御回路5aに対しデータ転送を内部バス4を通じて行い、このデータとデータディスクドライブ7aの旧データとキャッシュメモリ2より転送したデータとにより新パリティデータの生成を行い、パリティディスクドライブ7eのライトデータとする。このパリティ生成期間にデータディスクドライブ7aのライトデータ転送を行い、その後ポートの周波数を切り替えパリティディスクドライブ7eに対し新パリティのライトデータ転送を行う。こうして2ストライプライト、1パスの1連の書き込み動作を完了する。
【0024】
(6)3ストライプライトを1パスで行う場合
図9を用いて説明する。これはディスクドライブインタフェース制御回路−ディスクドライブの1パスに障害が発生した場合の手段である。チャネルインタフェース制御回路よりディスクドライブインタフェース制御回路に対し書き込みが発生したことを通知し、通知を受理した2つのディスクドライブインタフェース制御回路5a、5bが選ばれ2つのディスクドライブインタフェース制御回路にキャッシュメモリ2よりデータ転送が同時行われる。一方、書き込みの発生した3つのデータディスクドライブ7a〜7cとパリティディスクドライブ7eからリードデータ転送を行う。この後、ディスクドライブインタフェース制御回路5aでキャッシュメモリ2より転送されてきたデータとディスクドライブのリードデータより中間パリティデータを生成し、このデータを内部バス4を通じディスクドライブインタフェース制御回路5bに対しデータ転送を行なう。このデータとキャッシュメモリ2からのデータとディスクドライブからの旧リードデータにより新パリティデータ生成を行い、パリティディスクドライブのライトデータとする。そして、ディスクドライブインタフェース制御回路5aより2つのデータディスクドライブ7a、7b、ディスクドライブインタフェース制御回路5bより1つのデータディスクドライブ7cとパリティディスクドライブ7eに対しライトデータ転送を行う。こうして3ストライプライト、1パスの1連の書き込み動作を完了する。
【0025】
(7)3ストライプライトを2パスで行う場合
図10を用いて説明する。チャネルインタフェース制御回路よりディスクドライブインタフェース制御回路に対し書き込みが発生したことを通知し、通知を受理した1つのディスクドライブインタフェース制御回路5aが選ばれキャッシュメモリ2よりデータを転送が行われる。これと同時にディスクドライブインタフェース制御回路は4つのポートを使用し書き込みの発生したデータディスクドライブ7a〜7cとパリティディスクドライブ7eより旧データのリードデータ転送を行う。この後、これらのディスクドライブのリードデータとキャッシュメモリ2より転送したデータにより新パリティデータ生成を行い、パリティディスクドライブ7eのライトデータとする。つぎにこのデータとキャッシュメモリ2から転送したデータをパリティディスクドライブ7e、データディスクドライブ7a〜7cに対しライトデータ転送を行う。こうして3ストライプライト、2パスの1連の書き込み動作を完了する。
【0026】
このように各場合で同時にストライピンググループの書き込みを行うため、ストライピンググループのディスクドライブはディスクドライブグループとは直交の関係にあり、これにより各ディスクドライブインタフェース制御回路の伝送周波数を変えることにより同時に書き込みが可能となる。
【0027】
次に、ディスクドライブからホストコンピュータに対しデータをリードする場合について説明する。図1中のチャネルインタフェース制御回路1でホストコンピュータからのコマンドを解析し次にリードするデータがキャッシュメモリ2に存在するかの確認を行う。もしある場合はディスクドライブ7よりデータを読み出さずに、高速化をはかるためキャッシュメモリ2のデータを使用する。この場合チャネルインタフェース制御回路1の要求で内部バスデータ転送制御部11によりキャッシュメモリ2からのデータ転送を行い、受け取ったデータをデータフォーマット変換部10でFBAデータフォーマットからCKDデータフォーマットにデータフォーマットを変換した後、ホストコンピュータに対しチャネルインタフェースプロトコル制御部8を通じてデータ転送を行う。
【0028】
また、キャッシュメモリ2上に必要とするデータが存在しない場合について図11を用いて説明する。チャネルインタフェース制御回路からディスクドライブインタフェース制御回路に対しリード要求を発生し、これを受理したディスクドライブインタフェース制御回路5aが選択され、要求データの入ったディスクドライブよりデータのリード転送を行う。この際、それぞれのディスクドライブインタフェース制御回路のポートの伝送周波数を変えることで、ディスクドライブからのリードデータの同時転送が可能となる。ディスクドライブインタフェース制御回路とディスクドライブのパスが1パス障害で縮退している場合は2つのディスクドライブインタフェース制御回路を使用して転送を行う。
【0029】
次に、ディスクドライブに障害が発生した時のリードの場合について図12を用いて説明する。チャネルインタフェース制御回路からディスクドライブインタフェース制御回路に対しリード要求を発生し、これを受理したディスクドライブインタフェース制御回路5aが選択され、障害の発生していないデータディスクドライブ7a〜7cとパリティディスクドライブ7eからリードデータ転送を行う。これらのデータより障害の発生したデータディスクドライブ7dのデータを修復し全データを得る。またディスクドライブインタフェース制御回路とディスクドライブのパスが障害で1パスに縮退している場合は2つのディスクドライブインタフェース制御回路を使用して転送を行う。このようにして一連のリード動作を行う。
【0030】
次に、ディスクドライブに障害が発生した後のデータの再構築の方法について図13を用いて説明する。スペアディスクドライブ群7Fは初期設定の伝送周波数帯を他のデータディスクドライブ群、パリティディスクドライブ群の周波数とは変えて設定しておく。障害が発生した場合この障害ディスクドライブ7dのデータをディスクドライブインタフェース制御回路5aを用い再構築する。この修復データを新しくスペアディスクドライブ群7Fの1つ7fに割当てを行い、このディスクドライブ7fに対し書き込みを行う。この修復がディスクドライブの全データに対し完了するまでのあいだは、データ修復を行いながら、ホストコンピュータからのサービスを行う。この後データ修復が完了すると障害発生ディスクドライブ7dの伝送周波数を障害ディスクドライブ用の周波数に設定し、アドレスの再設定または閉塞を行う。また修復データの入ったスペアディスクドライブ7fを障害の発生したディスクドライブ7dの周波数、アドレスに再設定を行う。これにより、ディスクドライブマッピングを変更せずに障害発生前と同ようなパスを用いてディスクドライブのアクセスができ、障害前と同様の運転が可能となる。
【0031】
数多くのディスクドライブを接続した際の切り替え方法について図14を用いて説明する。各ディスクドライブグループ3の周波数をそれぞれ独立に設定し、その設定した周波数をディスクドライブインタフェース制御回路で選択することにより動的に接続状態を変更する。これにより、各ディスクドライブインタフェース制御回路から自由にディスクドライブグループ3を選択することが可能となり、見かけ上多数のディスクドライブ7を制御することが可能となる。この際、ストライプグループ30の単位でそれぞれ使用する周波数を変えておくことにより、1本のデータ線上で同時にデータの転送を行うことが可能となる。また同一のストライプグループ30でないディスクドライブに対するアクセスも同時に行うことを可能とし、各ディスクドライブ7の転送の多重度を上げることができ、ディスクドライブのアクセス時間の高速化をはかることができる。またディスクドライブインタフェース制御回路−ディスクドライブのパス6−1、6−2も同時に2パス用いることによりさらに高多重化をはかることができる。
【0032】
周波数分割多重伝送の説明をする。図15は周波数分割多重伝送の概念を示す図である。伝送を行うインターフェイスは伝送周波数の割当て上、占有帯域幅を狭くする必要がある。これは広い占有帯域幅を必要とする場合は多くのチャネル数の割当てができなくなるためである。一方、データ転送速度は高速性が要求されるため、変調方式を位相変調等を用い高速転送と狭い占有帯域幅とし、周波数帯は数GHzを用いる。この周波数帯であればフィルタ等も小型化が可能であり制御論理回路のノイズの周波数成分と異なり影響も少なくなる。伝送を行う媒体は電線以外に光フファイバの利用も可能である。
【0033】
図16は図3に示すディスクドライブインタフェース制御回路5内の周波数分割多重インタフェース制御回路14の内部ブロックの詳細を示した図である。マイクロプロセッサ31、送受信周波数設定回路32、発振周波数制御回路33、送信用発振器34、受信用発振器35、変調回路36、送信増幅器37、内部バス転送制御回路38、ディスクドライブインタフェースプロトコル制御回路39、復調回路40、周波数変換回路41、帯域増幅器42、バッファメモリ43及びパリティデータ生成部44から構成されている。
【0034】
まず、周波数分割多重伝送の使用周波数を割当てのを行うため、マイクロプロセッサ31により送受信周波数設定回路32に希望の周波数の設定を行う、これにより発振周波数制御回路33、送信用発振器34、受信用発振器35により設定された周波数に合わせた発振を行う。
【0035】
次に、データをディスクドライブに対し送信する場合についての動作について説明する。内部バスデータ転送制御回路38の要求により、図1のキャッシュメモリ2より内部バス4を通じ内部バスデータ転送制御回路38にデータが転送される。このデータをディスクドライブインタフェースプロトコル制御回路39により対ディスクドライブプロトコルに変換、コード変換、シリアルデータ化等のデータ変換をする。この変換されたデータを前述の発振周波数をもとに変調回路36で変調をかけてディスクドライブに対し送信増幅器37で増幅後周波数分割多重インタフェースポート45を通じ送出する。
【0036】
次に、受信の場合について説明する。まず、ディスクドライブから送られてきた信号を帯域増幅器42に通すことにより、希望する周波数信号のみを通過させる。その後、受信用発振器35、周波数変換器41で、一定の中間周波数に変換し、変調されたデータを復調回路40に入力して復調し、デジタル信号に変換する。この周波数の選択もマイクロプロセッサ31が送受信周波数設定回路32に周波数を設定することにより行う。
【0037】
次にこのデジタル信号をディスクドライブインタフェースプロトコル制御回路39によりコード変換、パラレルデータ化等を行い、内部バスデータ転送制御回路38にデータを転送する。データを受け取った内部バスデータ転送制御回路38は内部バス4にデータを転送し、図1のキャッシュメモリ2にデータを書き込む。このようにしてディスクドライブ7とデータの転送を行う。
【0038】
図17はディスクドライブ内のインタフェース部の構成を示した図である。このインタフェース部は、マイクロプロセッサ46、送受信周波数設定回路47、発振周波数制御回路48、送信用発振器49、受信用発振器50、変調回路51、送信増幅器52、ディスクドライブインタフェースプロトコル制御回路53、復調回路54、周波数変換回路55、帯域増幅器56及びディスクドライブリードライト処理回路57から構成されている。
【0039】
ディスクドライブ側の動作もディスクドライブインタフェース制御と同様の構成であり、周波数を予め設定して、その周波数で電源投入後のデータの転送を行う。この予め設定した周波数のデータはフラッシュメモリ等の不揮発メモリ等に格納しておく。その後周波数の変更時はディスクドライブインタフェース制御回路5から周波数設定コマンド受けることにより各周波数に切り変える。またディスクディスクドライブグループ3内での各ディスクドライブの選択はアドレスをそれぞれに付けることにより選択する。
【0040】
このようにして各ディスクドライブインタフェース制御回路5からディスクドライブ7の選択を可能としまた同一時間内に多数のディスクドライブの接続を1本のインタフェース線で実現することができる。
【0041】
以上のように構成すれば多数のディスクドライブを有する場合でもディスクドライブインタフェース制御回路7とディスクドライブ7とのインタフェース線を少なくでき、またディスクドライブの増設が容易になる。
【0042】
【発明の効果】
本発明によれば、多数のディスクドライブをディスク制御装置に接続する際、1本のインタフェース線で行うことが可能となる。またディスクドライブとのデータ転送を一時刻内に複数行うことができ、またパスを動的に切り替えるため、ディスクアクセスの性能を向上することができる。
【0043】
また、障害発生後のスペアディスクドライブのマッピングも周波数、アドレスの再設定により変更なしで運用可能となる。
【0044】
さらに、実装面においても1本のインタフェース線上で複数のデータ転送を行うため、多数のディスクドライブを実装した際のインタフェース線の増大化の問題を解決することが可能である。
【図面の簡単な説明】
【図1】本発明によるディスクアレイシステムの一実施例のシステム構成図。
【図2】チャネルインタフェース制御回路のブロック構成図。
【図3】ディスクドライブインタフェース制御回路のブロック構成図。
【図4】2パス使用、全ストライプデータライト時のデータフロー説明図。
【図5】1パス使用、全ストライプデータライト時のデータフロー説明図。
【図6】1ディスクドライブライト時のデータフロー説明図。
【図7】2パス使用、2ディスクドライブライト時のデータフロー説明図。
【図8】1パス使用、2ディスクドライブライト時のデータフロー説明図。
【図9】1パス使用、3ディスクドライブライト時のデータフロー説明図。
【図10】2パス使用、3ディスクドライブライト時のデータフロー説明図。
【図11】2パス使用リード時のデータフロー説明図。
【図12】障害発生、リード時のデータフロー説明図。
【図13】障害回復時のデータフロー説明図。
【図14】多数のディスクドライブ接続時のグルーピング構成図。
【図15】周波数分割多重伝送の概念図。
【図16】周波数分割多重インタフェース制御回路のブロック構成図。
【図17】ディスクドライブインタフェース制御回路のブロック構成図。
【符号の説明】
1…チャネルインタフェース制御回路、2…キャッシュメモリ、
3、3A、3B、3C、3D、3E…ディスクドライブグループ、
4…内部データバス、
5、5a、5b、5c、5d…ディスクドライブインタフェース制御回路、
6…周波数分割多重インタフェース、
7、7a、7b、7c、7d、7e、7f…ディスクドライブ、
8…チャネルインタフェースプロトコル制御部、
9…データ転送制御部、10…データフォーマット変換部、
11…内部バスデータ転送制御部、12…バッファメモリ、
13…マイクロプロセッサ、14…周波数分割多重インタフェース制御回路、
15…内部バスデータ転送制御部、16…バッファメモリ、
17…パリティデータ生成部、18…内部データバス、
19…マイクロプロセッサ、
24…データディスクドライブ群、25…パリティディスクドライブ群、
28…スペアディスクドライブ群、29…障害ディスクドライブ群、
30…ストライプディスクドライブグループ
Claims (5)
- ホストコンピュータからアクセスされて、書き込み又は読み出されるデータを格納する複数のディスクドライブと、
該ホストコンピュータとの間でデータの転送を行うチャネルインタフェース制御部と、
該チャネルインタフェース制御部と接続され、かつ複数のインターフェースを介して該複数のディスクドライブに接続される、複数のディスクドライブインタフェース制御部を有し、
ディスクドライブインタフェース制御部は、該複数のディスクドライブに接続される該インタフェース毎に異なる周波数を割り当てて、対応する該ディスクドライブとの間でデータ転送を行うことを特徴とするディスクアレイシステム。 - ホストコンピュータからアクセスされて、書き込み又は読み出されるデータを格納する複数のディスクドライブであって、それぞれ複数のディスクドライブを含むように複数のディスクドライブグループが規定される複数のディスクドライブと、
該ホストコンピュータとの間でデータの転送を行うチャネルインタフェース制御部と、
該チャネルインタフェース制御部と接続され、かつ複数のパスを介して該複数のディスクドライブに接続される、複数のディスクドライブインタフェース制御部を有し、
前記ディスクドライブインタフェース制御部は、該複数のディスクドライブグループ毎に異なる周波数を設定して、該ディスクドライブグループに属するディスクドライブとの間で該パスを介してデータ転送を行うことを特徴とするディスクアレイシステム。 - 前記ディスクドライブインタフェース制御部は、複数の異なる周波数に設定する手段と、該設定手段により設定されたある周波数に合せて該データを変調する手段と、を有し、該変調手段により変調されたデータを対応するディスクドライブへ転送することを特徴とする請求項1又は2のディスクアレイシステム。
- 前記ディスクドライブは、予め設定された複数の異なる周波数のデータを格納するメモリと、前記ディスクドライブインタフェース制御部から転送されるコマンドによって指定された、該メモリから読み出された該データに従って周波数の設定を行う手段を有し、該設定手段により設定された周波数に従って、該ディスクドライブ制御部との間でデータ転送を行うことを特徴とする請求項1又は3のいずれかのディスクアレイシステム。
- 前記複数のディスクドライブの1つのディスクドライブ、又は前記複数のディスクドライブグループの1つのグループには、パリティディスクが含まれることを特徴とする請求項1又は4のいずれかのディスクアレイシステム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22302595A JP3717551B2 (ja) | 1995-08-31 | 1995-08-31 | ディスクアレイシステム |
DE69636805T DE69636805T2 (de) | 1995-08-31 | 1996-08-16 | Massenspeicherplattenanordnung zur Verwendung in Rechnersystemen |
US08/698,846 US5895483A (en) | 1995-08-31 | 1996-08-16 | Disk array system for performing frequency division multiplex transmissions |
EP06000724A EP1647882A3 (en) | 1995-08-31 | 1996-08-16 | Disk array system |
EP96113204A EP0762266B1 (en) | 1995-08-31 | 1996-08-16 | Mass storage disk array device for use in computer systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22302595A JP3717551B2 (ja) | 1995-08-31 | 1995-08-31 | ディスクアレイシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0969030A JPH0969030A (ja) | 1997-03-11 |
JP3717551B2 true JP3717551B2 (ja) | 2005-11-16 |
Family
ID=16791666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22302595A Expired - Lifetime JP3717551B2 (ja) | 1995-08-31 | 1995-08-31 | ディスクアレイシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5895483A (ja) |
EP (2) | EP0762266B1 (ja) |
JP (1) | JP3717551B2 (ja) |
DE (1) | DE69636805T2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6892167B2 (en) * | 2001-11-28 | 2005-05-10 | Sypris Data Systems, Inc. | Real-time data acquisition and storage network |
JP4395766B2 (ja) | 2005-03-30 | 2010-01-13 | 日本電気株式会社 | 障害解析システム及び方法並びにプログラム |
KR100723496B1 (ko) * | 2005-08-11 | 2007-06-04 | 삼성전자주식회사 | 통합 fifo 메모리를 사용하는 다중-레이트 입력데이터의 동기화기 및 방법 |
DE102009026961A1 (de) * | 2009-06-16 | 2010-12-23 | Robert Bosch Gmbh | Verfahren zum Übertragen von Daten zwischen Teilnehmerstationen eines Bussystems |
DE102009026965A1 (de) * | 2009-06-16 | 2010-12-23 | Robert Bosch Gmbh | Medienzugriffssteuerverfahren für ein Bussystem und Kommunikationseinrichtung |
US9864531B2 (en) * | 2015-05-13 | 2018-01-09 | International Business Machines Corporation | Raid-topology-aware multipath routing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4701904A (en) * | 1985-10-18 | 1987-10-20 | American Telephone And Telegraph Company, At&T Bell Laboratories | Optical local area network employing microwave modulation techniques |
US5542064A (en) * | 1991-11-21 | 1996-07-30 | Hitachi, Ltd. | Data read/write method by suitably selecting storage units in which multiple copies of identical data are stored and apparatus therefor |
EP0607733A1 (en) * | 1993-01-08 | 1994-07-27 | International Business Machines Corporation | Apparatus and method for data communications between nodes |
JP3264465B2 (ja) | 1993-06-30 | 2002-03-11 | 株式会社日立製作所 | 記憶システム |
US5583876A (en) * | 1993-10-05 | 1996-12-10 | Hitachi, Ltd. | Disk array device and method of updating error correction codes by collectively writing new error correction code at sequentially accessible locations |
-
1995
- 1995-08-31 JP JP22302595A patent/JP3717551B2/ja not_active Expired - Lifetime
-
1996
- 1996-08-16 US US08/698,846 patent/US5895483A/en not_active Expired - Lifetime
- 1996-08-16 DE DE69636805T patent/DE69636805T2/de not_active Expired - Lifetime
- 1996-08-16 EP EP96113204A patent/EP0762266B1/en not_active Expired - Lifetime
- 1996-08-16 EP EP06000724A patent/EP1647882A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
DE69636805D1 (de) | 2007-02-15 |
JPH0969030A (ja) | 1997-03-11 |
EP1647882A3 (en) | 2010-01-06 |
EP0762266A2 (en) | 1997-03-12 |
EP1647882A2 (en) | 2006-04-19 |
EP0762266A3 (en) | 2000-07-12 |
US5895483A (en) | 1999-04-20 |
DE69636805T2 (de) | 2007-10-04 |
EP0762266B1 (en) | 2007-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6976116B2 (en) | Disk subsystem | |
JP4643539B2 (ja) | メモリシステムおよびその使用方法 | |
US6820171B1 (en) | Methods and structures for an extensible RAID storage architecture | |
US6763409B1 (en) | Switch-on-the-fly GBIC disk channel adapter and disk channel system | |
EP1804157B1 (en) | Data storage system and data storage control apparatus | |
US6842422B1 (en) | Data striping based switching system | |
US6115772A (en) | System and method for host expansion and connection adaptability for a SCSI storage array | |
US6115764A (en) | Acyclic cable bus having redundant path access | |
EP0767420B1 (en) | Array controller for performing raid operations in a data processing system | |
JP2005149173A (ja) | ディスク装置及びその制御方法 | |
JP3717551B2 (ja) | ディスクアレイシステム | |
EP0939360A2 (en) | Switching mechanism and disk array apparatus having the switching mechanism | |
JP4640854B2 (ja) | ディスクアレイ制御方法及びディスクアレイ制御装置 | |
US20060117159A1 (en) | Data storage system and data storage control device | |
JP3668922B2 (ja) | システム | |
US20240377964A1 (en) | Apparatus with multi-host storage connection mechanism and methods for operating the same | |
JP4444636B2 (ja) | ディスクサブシステム | |
JP2005196331A (ja) | ディスクアレイ装置及びディスクアレイ装置の構成変更方法 | |
KR20220141686A (ko) | PCIe 인터페이스 장치 및 그 동작 방법 | |
JPH10124263A (ja) | アレイ・コントローラおよびデータ記憶アレイ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040910 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050831 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080909 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090909 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100909 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100909 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110909 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120909 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130909 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |