JPH09138735A - 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置 - Google Patents

連続データサーバ装置、連続データ送出方法及びディスクアレイ装置

Info

Publication number
JPH09138735A
JPH09138735A JP7315578A JP31557895A JPH09138735A JP H09138735 A JPH09138735 A JP H09138735A JP 7315578 A JP7315578 A JP 7315578A JP 31557895 A JP31557895 A JP 31557895A JP H09138735 A JPH09138735 A JP H09138735A
Authority
JP
Japan
Prior art keywords
data
units
disk
buffer
buffer storage
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.)
Granted
Application number
JP7315578A
Other languages
English (en)
Other versions
JP3600334B2 (ja
Inventor
Tatsunori Kanai
達徳 金井
Shigehiro Asano
滋博 浅野
Takeshi Aikawa
健 相川
Masaie Amano
真家 天野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP31557895A priority Critical patent/JP3600334B2/ja
Priority to EP96102361A priority patent/EP0727750B1/en
Priority to US08/603,759 priority patent/US5862403A/en
Priority to DE69632424T priority patent/DE69632424T2/de
Publication of JPH09138735A publication Critical patent/JPH09138735A/ja
Application granted granted Critical
Publication of JP3600334B2 publication Critical patent/JP3600334B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 コスト増大なしに多数のユーザからの同時ア
クセスに応答できるようにした連続データサーバ装置を
提供すること。 【解決手段】 本発明に係る連続データサーバ装置は、
連続データを記憶するデータ記憶部から所望の連続デー
タを読み出す複数のデータ記憶制御部と、前記データ記
憶制御部によって読み出された前記連続データを保持す
るための複数のバッファ記憶部と、前記バッファ記憶部
に保持されている前記連続データを読み出し、収容した
通信路に送り出す少なくとも1つの通信制御部とを備
え、前記バッファ記憶部を1つの前記データ記憶制御部
と1つの前記通信制御部とからなる組合せのそれぞれに
対して専用に少なくとも1つずつ設けたことを特徴とす
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の連続データ
のアクセス要求に同時に応答して映像や音声等の連続デ
ータのサービスを行う連続データサーバ装置および連続
データ送出方法、ならびに複数系統のディスク装置を接
続しデータを組にして入出力するディスクアレイ装置に
関する。
【0002】
【従来の技術】映像や音声のような連続データを扱う連
続データサーバ装置は、記憶装置に記憶した連続データ
を読み出し、端末装置に対して時間に同期しながらリア
ルタイムに連続的にデータを送り出す機能を持つ。この
ような連続データサーバ装置は、複数の映画等のビデオ
データを記憶し、端末からのリクエストに応じて任意の
映画を送り出すビデオ・オン・デマンドや、ネットワー
クを介して映像による商品情報を提供するオンラインシ
ョッピングなどの分野で使用される。それゆえ、連続デ
ータサーバ装置には、複数のユーザからランダムにリク
エストが送られてくるので、同時に多数のユーザに対し
てそれぞれ異なる連続データの送り出しを行う能力が要
求されることになる。
【0003】以下、従来の連続データサーバ装置につい
て詳しく説明する。
【0004】従来の連続データサーバ装置の1つに、図
57に示すような構成を持つものがある。このような連
続データサーバ装置において、ユーザあるいはアプリケ
ーションプログラムによって発せられた連続データへの
アクセス要求が、プロセス間通信やネットワークを経由
した通信等によって送られて来る。このアクセス要求
は、通信制御装置706からバス720を介して中央制
御装置710に伝えられ、受理される。中央制御装置7
10は、要求された連続データの読み出しを、必要なデ
ータ記憶制御装置704に伝える。データ記憶制御装置
704は、指示された連続データをデータ記憶装置70
2から読み出してバッファ記憶装置708に書き込む。
中央制御装置710は、バッファ記憶装置708上のデ
ータの送り出しを通信制御装置706に指示する。通信
制御装置706は、アクセス要求にて指定された転送先
に向けて、連続データを送り出す。中央制御装置710
は、基本的には、電子計算機と同じように、CPUとメ
モリ装置から構成される。中央制御装置710は、アク
セス要求を伝えるための通信装置を備え、ユーザあるい
はアプリケーションプログラムからのアクセス要求は、
通信制御装置706では、ではなく中央制御装置の持つ
通信制御によって伝えられる。連続データを記憶するデ
ータ記憶装置702には、ディスク装置を用いることが
多い。ディスク装置としては、磁気ディスク装置を用い
る場合が多いが、光ディスクや光磁気ディスク装置等を
用いる場合もある。ディスク装置以外にも、RAMやE
EPROM等の半導体記憶装置を用いることもある。
【0005】さて、図57のような従来の連続データサ
ーバ装置において、例えばデータ記憶装置702として
ディスク装置を用いたものを考えると、特定のディスク
装置に記憶している連続データの異なる部分へ同時に多
数のユーザからのアクセスが集中することがある。例え
ば、連続データとして1台の磁気ディスクにビデオが入
っており、1本のビデオを多数のユーザが1分おきにず
れて見るような状況がこれにあたる。このような場合、
従来の連続データサーバ装置では、ディスクのアクセス
速度が隘路となり、すべてのユーザにリアルタイムでデ
ータを送り出すことができなくなる不具合がある。例え
ば、映像データを扱う場合、1人のユーザの端末に対し
て平均1.5Mbit/secの速度で連続データを送
り出すものとし、この映像データを記憶する磁気ディス
ク装置が最大2MByte/secの速度でデータを読
み出せるものとすると、1台の磁気ディスク装置から同
時に最大10ユーザへの送出を行う能力しか得られない
ことになる。
【0006】このようなディスク装置の問題を解消する
手法として、ストライピングという技法が知られてい
る。ストライピング技法は、複数台のディスク装置を用
いて全体のデータ転送能力(総バンド幅)を大きくする
とともに、1つの連続データを分割して複数台のディス
ク装置に記憶することによって、同一の連続データへよ
り多数のユーザが同時にアクセスすることを可能にする
ものである。ストライピングを行うことで、複数のユー
ザが同一の連続データの異なる部分へアクセスするよう
な最悪の場合にも対処できるバンド幅の広い記憶装置を
構成することが可能になる。
【0007】ところが、図57のように1台の中央制御
装置710に数多くのディスク装置を接続し、ストライ
ピングでバンド幅を稼いだとしても、その中央制御装置
710の持つバス720の転送速度によって同時にアク
セスできるユーザ数は限定されてしまう。例えば、13
3MByte/secの転送能力を持つPCIバスの場
合、1本の連続データのアクセス速度が1.5Mbit
/secであるとすると、1本あたりディスク装置70
2からバッファ記憶装置708に転送するために使う
1.5Mbit/secとバッファ記憶装置708から
通信制御装置706に転送するために使う1.5Mbi
t/secの合計3Mbit/secのバス720のデ
ータ転送能力(バンド幅)を占有する。よって、バスが
100%の効率で動作すると仮定した場合でも354本
までの連続データしか同時にアクセスできないことにな
る。実際には、バスを100%の効率で動作させること
はないので、同時にアクセスできるユーザ数はさらに低
減される。
【0008】そこで、従来の1系統の連続データサーバ
装置だけでは実現できないような多数のユーザに対する
同時アクセスを実現するために、図57のような1系統
の連続データサーバ装置を複数系統並設した構成が考え
られる。そのような連続データサーバ装置を図58に示
す。この場合、連続データは、1つの連続データサーバ
装置800に接続されたデータ記憶装置802間でスト
ライピングを行って記憶される(異なる連続データサー
バ装置800に接続されたデータ記憶装置802間では
ストライピングは行なわない)。この場合、全体制御用
計算機801が、統括して連続データのアクセス要求を
受け、要求された連続データを持つ連続データサーバ装
置800に対してアクセス要求を伝える。その後、アク
セス要求を伝えられた連続データサーバ装置800の中
央制御装置(図示せず)がデータの送り出しを制御す
る。図58のようなシステムによれば、連続データサー
バ装置800の系統を増設することによって、同時に連
続データにアクセスできるユーザ数を容易に増加させる
ことができる。
【0009】しかしながら、多数系統の連続データサー
バ装置800のデータ記憶装置802に同じデータのコ
ピーを持たせなければ、同一の連続データの異なる部分
に全ユーザがアクセスするような場合には対処できな
い。したがって、全データのコピーを多くの系統の連続
データサーバ装置800に持たせるためのコストが非常
に大きくなるという欠点があった。
【0010】連続データのコピーを多くの系統の連続デ
ータサーバ装置に持たせずに、同時にアクセスできるユ
ーザ数を増やす方法としては、図59に示すように複数
の中央制御装置(CPU)910,911をデータ転送
能力(バンド幅)の大きなスイッチ(結合路)921で
接続した超並列計算機を利用して、データ記憶装置90
2から通信制御装置906へ至るデータパスを多重化す
る方式がある。この場合、各中央制御装置910,91
1の持つ記憶装置908,909をバッファ記憶装置と
して使う。中央制御装置910,911間を接続するス
イッチ921は、任意のデータ記憶制御装置904を持
つ中央制御装置910と任意の通信制御装置906を持
つ中央制御装置911の間でのデータ転送を可能とする
必要があるため、クロスバスイッチやハイパーキューブ
あるいはATMのような多段網を用いる。
【0011】ところが、このような構成を持つ連続デー
タサーバ装置では、通信制御装置906を持つ1つの中
央制御装置911に対してデータ記憶制御装置902を
持つ複数の中央制御装置910からデータの転送が発生
するため、アービトレーションの機能が必要となる。そ
のため、結合路921を構成するクロスバスイッチやA
TMネットワーク等のハードウェアが複雑となり、コス
トも非常に大きくなる欠点があった。
【0012】
【発明が解決しようとする課題】従来、1台の連続デー
タサーバ装置で同時に連続データにアクセスできるユー
ザ数は、連続データサーバ装置を構成するバス等のデー
タパスのバンド幅によって制限されるという問題点があ
った。
【0013】1台の連続データサーバ装置の能力よりも
多くのユーザが同時に連続データに対してアクセスする
ことを可能にするために、複数系統の連続データサーバ
装置を用いて、それぞれに連続データのコピーを持たせ
たものでは、データ記憶装置のコストが大きいという問
題点があった。
【0014】クロスバスイッチやATM等のスイッチを
用いてデータパスの多重化を行うことで、同時にアクセ
ス可能なユーザ数を大きくしたものでは、スイッチのハ
ードウェアが複雑になり、コストも大きいという問題点
があった。
【0015】本発明は、上記事情に鑑みてなされたもの
であり、コストを増大させることなく、従来の1台の連
続データサーバ装置の能力を越えるような多数のユーザ
からの連続データへの同時アクセスに応答できるように
した連続データサーバ装置および連続データ送出方法を
提供すること目的とする。
【0016】また、本発明は、複数系統のディスク装置
の接続口を有するディスクアレイ装置に接続したディス
ク装置の故障により失われた情報の復元を少ないハード
ウェア構成で実現することのできるディスクアレイ装置
を提供すること目的とする。
【0017】
【課題を解決するための手段】本発明(請求項1)に係
る連続データサーバ装置は、連続データを記憶するデー
タ記憶部から所望の連続データを読み出す複数のデータ
記憶制御部と、前記データ記憶制御部によって読み出さ
れた前記連続データを保持するための複数のバッファ記
憶部と、前記バッファ記憶部に保持されている前記連続
データを読み出し、収容した通信路に送り出す少なくと
も1つの通信制御部とを備え、前記バッファ記憶部を1
つの前記データ記憶制御部と1つの前記通信制御部とか
らなる組合せのそれぞれに対して専用に少なくとも1つ
ずつ設けたことを特徴とする。
【0018】本発明(請求項2)に係る連続データサー
バ装置は、連続データを記憶するデータ記憶部から所望
の連続データを読み出す複数のデータ記憶制御部と、前
記データ記憶制御部によって読み出された前記連続デー
タを保持するための複数のバッファ記憶部と、前記バッ
ファ記憶部に保持されている前記連続データを読み出
し、収容した通信路に送り出す少なくとも1つの通信制
御部とを備え、前記バッファ記憶部を、1つ又は複数の
データ記憶制御部からなる1つのデータ記憶制御部群と
1つ又は複数の通信制御部からなる1つの通信制御部群
とからなる群の組合せのそれぞれに対して少なくとも1
つずつ専用に存在するように設けたことを特徴とする。
【0019】好ましくは、少なくとも1つの前記バッフ
ァ記憶部は、該バッファ記憶部に書き込みを行なう前記
データ記憶制御部群を複数受持つものであり、複数の前
記データ記憶制御部群を受持つ前記バッファ記憶部は、
アクセス要求のあった連続データを記憶する前記データ
記憶部に対応する前記データ記憶制御部の属する前記デ
ータ記憶制御部群を選択する選択手段を有することを特
徴とする。
【0020】また、好ましくは、前記データ記憶部は、
連続データを分割して順に記憶させた複数のデータ記憶
装置からなることを特徴とする。
【0021】また、好ましくは、前記データ記憶制御部
群と前記バッファ記憶部との間を接続するパスと、前記
通信制御部群と前記バッファ記憶部との間を接続するパ
スとを互いに独立して設けたことを特徴とする。さら
に、好ましくは、前記データ記憶制御部群と前記バッフ
ァ記憶部との間を接続するパスを、各々の前記データ記
憶制御部群ごとに独立して設けたことを特徴とする。ま
た、好ましくは、前記通信制御部群と前記バッファ記憶
部との間を接続するパスを、各々の前記通信制御部群ご
とに独立して設けたことを特徴とする。
【0022】本発明(請求項8)は、連続データを記憶
したデータ記憶装置から所望の連続データを読み出す複
数のデータ記憶制御装置と、読み出された該連続データ
を保持するためのバッファ記憶装置と、該バッファ記憶
装置に保持された該連続データを通信路に送り出す少な
くとも1つの通信制御装置とを備え、前記バッファ記憶
装置を1つのデータ記憶制御装置と1つの通信制御装置
とからなる組合せすべてに対して専用に少なくとも1つ
ずつ設けた連続データサーバ装置において要求された連
続データを要求された転送先に転送するための連続デー
タ送出方法であって、外部から連続データのアクセス要
求を受け付け、要求された連続データを記憶する前記デ
ータ記憶装置が接続された前記データ記憶制御装置と、
該連続データの転送先に通じる通信路を収容している前
記通信制御装置とを選択し、選択した前記データ記憶制
御装置に前記データ記憶装置に記憶された前記連続デー
タを読み出させ、前記データ記憶制御装置に読み出した
前記連続データを当該データ記憶制御装置と選択した前
記通信制御装置とに接続された専用の前記バッファ記憶
装置に書き込ませ、前記通信制御装置に前記バッファ記
憶装置内に書き込まれている前記連続データを読み出さ
せ、前記通信制御装置に前記連続データを所定の通信路
に送り出させることを特徴とする。
【0023】好ましくは、外部から受け付けるアクセス
要求が複数で、これら複数の要求に対応する連続データ
の読み出しおよび送り出しのタイミングをスケジューリ
ングするステップをさらに含むことを特徴とする。
【0024】本発明(請求項10)に係るディスクアレ
イ装置は、データを記憶するディスク装置から所望のデ
ータを読み出す複数のディスク制御部(データ記憶制御
部)と、前記ディスク制御部によって読み出された前記
データを保持するために、前記ディスク制御部に対応し
て設けられた複数のバッファ記憶部と、対応する前記デ
ィスク制御部と前記バッファ記憶部との間にそれぞれ接
続された4端子を有する複数の演算部とを備え、前記複
数の演算部は直列に接続され、前記演算部夫々は、所定
の1または複数の端子からの入力を元に演算処理を行な
い、演算結果を残りの端子のうち1つまたは複数のもの
に出力するものであることを特徴とする。
【0025】本発明(請求項11)は、複数系統のディ
スク装置を接続する接続口を有し、接続した複数系統の
ディスク装置に対するアクセスを並列に行なうディスク
アレイ装置において、前記接続口から入出力するデータ
を格納するために、該接続口夫々に対応して設けたバッ
ファ記憶部と、対応する前記接続口と前記バッファ記憶
部との間にそれぞれ接続された4端子を有する複数の演
算部とを備え、前記複数の演算部は上下に直列に接続さ
れ、前記演算部夫々は、バッファ記憶部側の端子から入
力したデータと上側の端子から入力したデータを元に、
排他的論理和演算および排他的論理積演算のうち予め定
められたいずれか一方の論理演算を行ない、演算結果を
下側の端子に出力する機能と、上側の端子から入力した
データを下側の端子に出力する機能と、ディスク装置側
の端子から入力したデータをバッファ記憶部側の端子か
ら出力する機能とを有することを特徴とする。
【0026】本発明(請求項12)は、複数系統のディ
スク装置を接続する接続口を有し、接続した複数系統の
ディスク装置に対するアクセスを並列に行なうディスク
アレイ装置において、前記接続口から入出力するデータ
を格納するために、該接続口夫々に対応して設けたバッ
ファ記憶部と、対応する前記接続口と前記バッファ記憶
部との間にそれぞれ接続された4端子を有する複数の演
算部とを備え、前記複数の演算部は上下に直列に接続さ
れ、前記演算部夫々は、上側および下側の端子から夫々
入力された2つのデータを元に、排他的論理和演算およ
び排他的論理積演算のうち予め定められたいずれか一方
の論理演算を行ない、演算結果をバッファ記憶部側の端
子に出力する機能と、下側の端子から入力されたデータ
をバッファ記憶部側の端子および上側の端子に出力する
機能と、バッファ記憶部側の端子から入力したデータと
上側の端子から入力したデータを元に、前記一方の論理
演算行ない、演算結果を下側の端子に出力する機能と、
バッファ記憶部側の端子から入力したデータと下側の端
子から入力したデータを元に、前記一方の論理演算行な
い、演算結果を上側の端子に出力する機能と、上側の端
子から入力したデータを下側の端子に出力する機能と、
下側の端子から入力したデータを上側の端子に出力する
機能と、ディスク装置側の端子から入力したデータをバ
ッファ記憶部側の端子から出力する機能と、バッファ記
憶部側の端子から入力したデータをディスク装置側の端
子から出力する機能とを有することを特徴とする。
【0027】本発明(請求項13)は、請求項2におい
て、前記データ記憶制御部群と対応する1または複数の
前記バッファ記憶部との間にそれぞれ接続された4端子
を有する複数の演算部をさらに備え、前記複数の演算部
は直列に接続され、前記演算部夫々は、所定の1または
複数の端子からの入力を元に演算処理を行ない、演算結
果を残りの端子のうち1つまたは複数のものに出力する
ものであることを特徴とする。
【0028】本発明(請求項14)に係るディスクアレ
イ装置は、連続データを記憶するディスク装置から所望
のデータをブロック単位で読み出す複数のディスク制御
部と、前記ディスク制御部によって読み出されたデータ
を保持するために、前記ディスク制御部に対応して設け
られた複数のバッファ記憶部とを備え、前記ディスク装
置には連続するデータがワード単位で前記複数のディス
ク制御部に跨るように記憶されており、前記複数のバッ
ファ記憶部に保持されたブロック単位のデータをワード
単位で前記複数のバッファ記憶部から順次読み出すこと
を特徴とする。
【0029】本発明(請求項15)に係るディスクアレ
イ装置は、請求項14において、前記複数のバッファ記
憶部に接続される演算部を更に備え、この演算部は、順
次読み出された複数の前記ワード単位のデータのうちの
一部を記憶する機能と、順次読み出された複数の前記ワ
ード単位のデータのうちの一部の排他的論理和を計算す
る機能と、この排他的論理和の計算結果及び前記記憶さ
れたデータを所望の順序で出力する機能とを含むことを
特徴とする。
【0030】本発明(請求項16)に係るディスクアレ
イ装置は、請求項14において、前記複数のバッファ記
憶部に接続される演算部を更に備え、この演算部は、本
装置の外部から入力される複数のワード単位のデータの
排他的論理和を計算する機能と、この排他的論理和の計
算結果及び前記入力されたデータを所望の順序で前記複
数のバッファ記憶部に対し順次送り出す機能とを含むこ
とを特徴とする。
【0031】本発明(請求項17)に係るディスクアレ
イ装置は、請求項15において、前記演算部は、前記排
他的論理和の計算結果を蓄積する機能と、この蓄積され
た値を所定のタイミングで前記複数のバッファ記憶部の
うちの一つに送り出す機能とを更に含み、この送り出さ
れ前記複数のバッファ記憶部のうちの一つに保持される
こととなった値を対応する前記ディスク制御部によって
前記ディスク装置へ書き込むことを特徴とする。
【0032】本発明(請求項18)に係るディスクアレ
イ装置は、請求項14乃至17において、前記複数のバ
ッファ記憶部からデータを読み出すためのバスを更に備
え、このバスを時分割で使用することによりデータをワ
ード単位で前記複数のバッファ記憶部から順次読み出す
処理を行うことを特徴とする。
【0033】本発明(請求項19)に係る連続データサ
ーバ装置は、請求項1において、前記データ記憶部には
連続するデータがワード単位で前記複数のデータ記憶制
御部に跨るように記憶されており、前記データ記憶制御
部による読み出しはブロック単位で行われ、前記複数の
バッファ記憶部に保持されたブロック単位のデータをワ
ード単位で前記複数のバッファ記憶部から順次読み出し
て得られる連続データを、収容した通信路に送り出すも
のであることを特徴とする。
【0034】(作用)本発明(請求項1,2)に係る連
続データサーバ装置では、データ記憶制御装置と通信制
御装置の組のそれぞれ、またはいくつかのデータ記憶制
御装置からなる群といくつかの通信制御装置からなる群
の組それぞれに対して、その間のデータの受け渡し専用
のバッファ記憶装置を設けるとともに、各データ記憶制
御装置と各通信制御装置は、それがアクセスする必要の
あるバッファ記憶装置を含む一部のバッファ記憶装置の
みと接続している。
【0035】このため、データ記憶制御装置とバッファ
記憶装置の間のデータパスおよびバッファ記憶装置と通
信制御装置の間のデータパスの多重度を上げることがで
き、連続データへの同時アクセスユーザ数を増加させる
ことが可能になる。
【0036】この場合、各データ記憶制御装置と各通信
制御装置を、それがアクセスする必要のあるバッファ記
憶装置のみと接続すれば、データパスの多重度をより効
果的に上げることができ、連続データへの同時アクセス
ユーザ数をさらに増加させることができる。また、各バ
ッファ記憶装置は1つあるいは複数のデータ記憶制御装
置の接続された1つのデータパスと、1つあるいは複数
の通信制御装置の接続された1つのデータパスに接続さ
れるため、バッファ記憶装置へのアクセスに対するアー
ビトレーションが非常に簡単になる。
【0037】さらに、従来のように高コストを要する転
送速度の大きいバスやスイッチを使う必要がないので、
コストの増大を招くことなく、連続データへの同時アク
セスユーザ数を増加させることができる。
【0038】また、前記データ記憶制御装置と前記バッ
ファ記憶装置との間を接続するパスと、前記通信制御装
置と前記バッファ記憶装置との間を接続するパスとを互
いに独立して設けた場合、バスへの負荷が分散され、バ
スのバンド幅が小さくて済む。さらに、前記データ記憶
制御装置と前記バッファ記憶装置との間を接続するパス
を各々の前記データ記憶制御装置ごとに独立して設け、
あるいは前記通信制御装置と前記バッファ記憶装置との
間を接続するパスを各々の前記通信制御装置ごとに独立
して設ければ、さらなる負荷分散が可能になり、バスに
要求されるバンド幅をさらに小さくすることができる。
【0039】また、本発明(請求項8)の連続データ転
送方法では、要求された連続データを記憶する前記デー
タ記憶装置が接続された前記データ記憶制御装置が、該
連続データを読み出して、当該データ記憶制御装置と該
連続データの転送先に通じる通信路を収容している前記
通信制御装置とに接続された専用のバッファ記憶装置に
書き込み、当該通信制御装置はこの前記バッファ記憶装
置内に書き込まれている前記連続データを読み出して、
所定の通信路に送り出す。
【0040】このため、データ記憶制御装置とバッファ
記憶装置の間のデータパスおよびバッファ記憶装置と通
信制御装置の間のデータパスの多重度を上げることがで
き、連続データへの同時アクセスユーザ数を増加させる
ことが可能になる。
【0041】また、各バッファ記憶装置は1つあるいは
複数のデータ記憶制御装置の接続された1つのデータパ
スと、1つあるいは複数の通信制御装置の接続された1
つのデータパスに接続されるため、バッファ記憶装置へ
のアクセスに対するアービトレーションが非常に簡単に
なる。
【0042】さらに、高コストを要する転送速度の大き
いバスによりデータパスの多重度を上げる必要がないの
で、コストの増大を招くことなく、連続データへの同時
アクセスユーザ数を増加させることができる。
【0043】本発明(請求項10,13)に係るディス
クアレイ装置では、演算部を適宜動作させることによ
り、例えば以下のような操作を行なうことができる。
【0044】(i)各ディスク制御部に接続するディス
ク装置夫々に組をなすn+1個のデータが格納されてい
るとする。
【0045】ここで、演算部を、ディスク制御部側から
入力したデータをそのままバッファ記憶部側に出力する
ように動作させれば、各ディスク装置のデータを対応す
るバッファ記憶部に格納することができる。
【0046】また、所望のディスク装置のデータだけ対
応するバッファ記憶部に格納することもできる。
【0047】(ii)所望のバッファ記憶部に接続され
た演算部はバッファ記憶部側の端子から入力されたデー
タを下側の端子に出力し、下段の演算部は上側の端子か
ら入力されたデータを下側の端子に出力するように動作
させれば、該所望のバッファ記憶部に格納されたデータ
を最下段の演算部から取り出すことができる。
【0048】(iii)所望のバッファ記憶部に接続さ
れた演算部は上側の端子からの入力を下側の端子に出力
し、それ以外の演算部はバッファ記憶部側の端子から入
力されたデータと上側の端子から入力されたデータの排
他的論理和または排他的論理積を下側の端子に出力する
ように動作させれば、該所望のバッファ記憶部以外に格
納されたデータの排他的論理和または排他的論理積を最
下段の演算部から取り出すことができる。
【0049】n+1個のバッファ記憶部に格納されたデ
ータがRAIDの組をなすデータ、すなわちn個の元デ
ータとそのパリティーより1個欠けたものであれば、欠
けたデータを復元し、最下段の演算部より取り出すこと
ができる。
【0050】(iv)所望のバッファ記憶部に接続され
た演算部は下側の端子から入力されたデータをバッファ
記憶部側の端子に出力し、下段の演算部は下側の端子か
ら入力されたデータを上側の端子に出力するように動作
させれば、最下段の演算部から入力したデータを該所望
のバッファ記憶部に格納することができる。
【0051】(v)各バッファ記憶部に接続するディス
ク装置夫々に組をなすn+1個のデータが格納されてい
るとする。
【0052】ここで、演算部を、バッファ記憶部側から
入力したデータをそのままディスク制御部側に出力する
ように動作させれば、各バッファ記憶部側のデータを対
応するディスク装置に格納することができる。
【0053】また、所望のバッファ記憶部のデータだけ
対応するディスク装置に格納することもできる。
【0054】(vi)所定のバッファ記憶部に接続され
た第1の演算部は上側の端子から入力されたデータと下
側の端子から入力されたデータの排他的論理和または排
他的論理積をバッファ記憶部側の端子に出力し、該第1
の演算部より上段の演算部が存在するときそれらはバッ
ファ記憶部側の端子から入力されたデータと上側の端子
から入力されたデータの排他的論理和または排他的論理
積を下側の端子に出力し、最下段の演算部は下側の端子
から入力された入力データを上側の端子およびバッファ
記憶部側の端子に出力し、それ以外の演算部が存在する
ときはそれらはバッファ記憶部側の端子から入力された
データと下側の端子から入力されたデータの排他的論理
和または排他的論理積を上側の端子に出力するように動
作させ、最上段の演算部の上側の端子からは排他的論理
和のとき0、排他的論理積のとき1を入力すれば、前記
入力データを最下段の演算部に対応するバッファ記憶部
に格納するとともに、所望のバッファ記憶部には前記入
力データと所望のバッファ記憶部および最下段の演算部
に対応するバッファ記憶部以外に格納されたデータとの
排他的論理和または排他的論理積、すなわちこれらデー
タのパリティーを格納することができる。
【0055】(vii)所定のバッファ記憶部に接続さ
れた第1の演算部は上側の端子から入力されたデータと
下側の端子から入力されたデータの排他的論理和または
排他的論理積をバッファ記憶部側の端子に出力し、該第
1の演算部より上段の演算部が存在するときそれらはバ
ッファ記憶部側の端子から入力されたデータと上側の端
子から入力されたデータの排他的論理和または排他的論
理積を下側の端子に出力し、該第1の演算部より下段の
演算部が存在するときそれらはバッファ記憶部側の端子
から入力されたデータと下側の端子から入力されたデー
タの排他的論理和または排他的論理積を上側の端子に出
力するように動作させ、最上段の演算部の上側の端子お
よび最下段の演算部の下側の端子からは排他的論理和の
とき0、排他的論理積のとき1を入力すれば、所望のバ
ッファ記憶部には所望のバッファ記憶部以外に格納され
たデータの排他的論理和または排他的論理積を格納する
ことができる。
【0056】n+1個のバッファ記憶部に格納されたデ
ータがRAIDの組をなすデータ、すなわちn個の元デ
ータとそのパリティーから1個欠けたものであれば、欠
けているデータの入るべき所望のバッファ記憶部に接続
されたデータを復元し、さらにディスク装置に書き込む
ことができる。
【0057】請求項11の発明によれば、上記の(i)
〜(iii)を実施可能である。
【0058】請求項12の発明によれば、上記の(i)
〜(vii)を実施可能である。
【0059】プロセッサを用いる方法と異なり実行中プ
ロセッサの仕事を妨げるおそれがなく、また並列に排他
的論理和等をとる回路を用いる方法と異なり配線の集中
や回路の複雑化を引き起こさないようにするために、専
用のハードウェアの構成を工夫したものである。
【0060】以上のように本発明によれば、ディスク装
置およびバッファ記憶部の各系統に上記のような演算部
を専用に設け、これらを直列に接続したので、例えば、
ディスク装置の故障に対処するためのデータ復元処理や
パリティーの生成を少ないハードウェア構成で実現可能
であるとともに、ハードウェアで処理を行なうので処理
の高速化を図ることができる。
【0061】本発明(請求項14、19)に係るディス
クアレイ装置では、複数のディスク制御部のそれぞれに
対応させてバッファ記憶部を設けるとともに、ディスク
装置には連続するデータがワード単位で複数のディスク
制御部に跨るように記憶されており、複数のバッファ記
憶部に保持されたブロック単位のデータをワード単位で
複数のバッファ記憶部から順次読み出すようになってい
る。
【0062】このため、ディスク制御部とバッファ記憶
部の間のデータパスの多重度を上げて、連続データを構
成するデータをブロック単位で受け渡しすることができ
る。そして、このブロック中のデータは、連続するデー
タがワード単位で複数のディスク制御部に跨るようにな
っているため、バッファ記憶部に読み込まれた段階では
連続するデータとはなっていないが、このデータをバッ
ファ記憶部から読み出すときに、複数のバッファ記憶部
から順次ワード単位で読み出すことにより、読み出され
たデータは再度連続するデータに戻っていることにな
る。このように、複数のバッファ記憶部は、ディスク装
置から読み出される連続していないデータを連続するデ
ータに並べ替える働きをするとともに、ディスク装置の
バースト的なアクセスパターンを一定の速度でアクセス
できるようにも機能する。
【0063】したがって、連続するデータがワード単位
で複数のディスク制御部に跨っていても最終的に連続す
るデータを外部に供給することができる。また、連続す
るデータがワード単位で複数のディスク装置に跨るよう
になっていることで、下記のようなことも可能になる。
【0064】すなわち、複数のバッファ記憶部からワー
ド単位で順次読み出されたデータを演算部に入力し、こ
の演算部において、入力されたデータの一部を記憶する
とともに、RAIDの組になるデータより1個欠けた
(ディスク装置が故障した場合にこの故障したディスク
装置に対応するデータが欠けることになる)データの排
他的論理和を計算し、この計算結果及び演算部内部に記
憶されたデータを所望の順序(連続するデータを構成す
る順序)で出力すれば、ディスク装置の故障時に複数の
バッファ記憶部から順次読み出したデータのうち一部が
不正なものであっても、正しい連続データを出力するこ
とができる。なお、この場合には、連続するデータを構
成する複数のデータ及びそのパリティがワード単位で複
数のディスク制御部に跨っていることになる。
【0065】このとき、データがワード単位で複数のデ
ィスク装置に跨るように配置されているため、演算部内
部で記憶する必要のあるデータの量を数ワードに減少さ
せることができる。
【0066】また、上記演算部を、本装置の外部から入
力されるデータの排他的論理和を計算してパリティを作
成し、データとパリティを所望の順序(連続するデータ
を構成する複数のデータ及びそのパリティがワード単位
で複数のディスク制御部に跨るような順序)で複数のバ
ッファ記憶部に対し順次送り出すように構成すれば、外
部からのデータの入力とともにパリティを生成しこれら
をディスク装置に書き込むことが可能になる。この場
合、演算部内部の記憶容量は、計算されたパリティ分の
1ワードのみで済むことになる。
【0067】また、上記演算部を、複数のバッファ記憶
部から順次読み出されたデータ(RAIDの組になるデ
ータ)より1個欠けた(故障したディスク装置に対応す
るデータが欠けた)データの排他的論理和を計算し、こ
の結果を故障したディスク装置に対応するバッファ記憶
部に書き込むために送り出すように構成すれば、故障し
て交換したディスク装置に対応するバッファ記憶部に故
障する前のデータを復元することができる。さらに、バ
ッファ記憶部に復元したデータを、対応する前記ディス
ク制御部によって、故障して交換したディスク装置へ書
き込むことで、ディスク装置の内容を修復することがで
きる。この場合も、演算部内部の記憶容量は、計算され
たパリティ分の1ワードのみで済むことになる。
【0068】さらに、複数のバッファ記憶部からデータ
を読み出すためのバスを時分割で使用することによりデ
ータをワード単位で複数のバッファ記憶部から順次読み
出すようにすれば、配線の効率的な使用が可能で、ハー
ドウェア量を減少させることができる。
【0069】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を説明する。
【0070】図1に、本発明の一実施形態に係る連続デ
ータサーバ装置の構成を示す。
【0071】本実施形態の連続データサーバ装置は、n
(nは1以上の整数)台のデータ記憶制御装置4(図中
4−1〜4−n)、各データ記憶制御装置4ごとに所定
台数接続されたデータ記憶装置2、m(mは1以上の整
数)台の通信制御装置6(図中6−1〜6−m)、1つ
のデータ記憶制御装置4と1つの通信制御装置6に接続
されたn×m台のバッファ装置8、中央制御装置10を
備える。
【0072】データ記憶装置2は、映像や音声等の連続
データを記憶するためのものであり、磁気ディスク装
置、光ディスク装置あるいは光磁気ディスク装置等のデ
ィスク装置を用いることができる。また、ディスク装置
以外にも、RAMやEEPROM等の半導体記憶装置な
ど種々のものを用いることができる。
【0073】データ記憶装置2に記憶する連続データ
は、連続したビットあるいはバイトの並んだ構造を持つ
データである。連続データは、好ましくは、ブロックな
ど一纏まりの単位で記憶・管理される。
【0074】データ記憶制御装置4は夫々、所定台数の
データ記憶装置2を接続しており、中央制御装置10の
制御に従い、データ記憶装置2に記憶された連続データ
を読み出し、これを指示されたバッファ記憶装置8の指
示された番地に書き込む。
【0075】データ記憶装置2として磁気ディスク装置
を用いる場合、データ記憶制御装置4は、ディスクコン
トローラにより実現することができる。磁気ディスク装
置がSCSIインタフェースを持つものである場合、デ
ータ記憶制御装置4にSCSIコントローラを持たせれ
ば、これによりディスク中のデータを読み出すことがで
きる。
【0076】一般に、ディスクコントローラなどからな
るデータ記憶制御装置4には、磁気ディスク装置などか
らなる複数のデータ記憶装置2を接続することができ
る。例えば、SCSIインタフェースであれば、1本の
SCSIケーブルに7台のディスク装置を接続すること
ができる。また、中央制御装置10には、複数のデータ
記憶制御装置4を接続することが可能である。ディスク
コントローラなどからなる複数のデータ記憶制御装置4
を持つことで、1つのデータ記憶制御装置4だけでは接
続することのできない多数のデータ記憶装置を1つの中
央制御装置10に接続することができる。
【0077】なお、1つのデータ記憶制御装置4に接続
するデータ記憶装置2の台数を、全データ記憶制御装置
4について揃える必要はなく、適宜設定して構わない。
【0078】本実施形態は、良く知られたストライピン
グの技法を適用することができる。その際、例えば図1
のように連続データをすべてのデータ記憶制御装置4間
に渡って分散しても良いし、あるいは一部のデータ記憶
制御装置4間に渡って分散しても良い。
【0079】バッファ記憶装置6は、データ記憶制御装
置4から転送された連続データを、一時格納するための
ものであり、後述するように2ポートメモリやVRAM
などを用いて構成することができる。
【0080】このバッファ記憶装置6は、本発明に従っ
て、図1のようにデータ記憶制御装置4および通信制御
装置6のすべての組合せに対して1台ずつ(あるいは1
台以上ずつ)、データ記憶制御装置4と通信制御装置6
に接続する。
【0081】このような構成により、任意のデータ記憶
制御装置4と任意の通信制御装置6の間でのデータの受
渡しに用いるバッファ記憶装置をすべての組合せに対し
て専用に設けることができ、データ記憶制御装置4とバ
ッファ記憶装置8の間のデータパスおよびバッファ記憶
装置8と通信制御装置6の間のデータパスの双方が多重
化され、データパスのデータ転送能力を高めることがで
きる。
【0082】しかも、それぞれのデータパスを与えるバ
ス20,21として従来と同じようなデータ転送能力
(バンド幅)を有するものを用いても、データ記憶制御
装置4と通信制御装置6の間のデータ転送能力を飛躍的
に向上させることができるので、従来のようにデータ転
送能力(バンド幅)のより大きい高価なバスやスイッチ
を用いてデータ転送能力を向上させるためにコストの増
大を招くことがない。
【0083】なお、図1では、それぞれのバス20,2
1を互いに独立した形で専用に設けているが、図1中の
任意の複数のバスが1本として結合されたものであって
も構わない。
【0084】通信制御装置6は、指定されたバッファ記
憶装置8の指定された番地から連続データを読み出し、
これをネットワークやCATV(ケーブルテレビ)の同
軸ケーブル等の通信路に対して送り出す。通信制御装置
6には、ATMネットワークやイーサネット、FDDI
などを用いることができる。
【0085】中央制御装置10は、システム全体の制御
を司るものであり、例えば電子計算機と同じようにCP
Uとメモリ装置から構成し、システム全体に対する制御
を記述したプログラムをCPUで実行することにより、
その機能を得ることができる。必要に応じてアクセス要
求を伝えるための通信装置(ネットワークインタフェー
スなど)を備えても良い。
【0086】中央制御装置10は、システム全体を制御
するために、システム内に記憶している各連続データの
仕様、各連続データのデータ記憶装置2への配置状態、
各通信制御装置6が接続できる通信路など、システム内
の情報をすべて管理している、あるいは知ることができ
る。連続データの仕様としては、連続データ名あるいは
IDコードなどの各連続データを特定するための情報の
他に、例えば各連続データの全データ長や、連続データ
が複数のブロックからなる場合の全ブロック数などが考
えられる。
【0087】中央制御装置10は、概略的には、ネット
ワークを介した通信やプロセス間通信あるいは手続き呼
出し等の手段によって伝えられてくるユーザやアプリケ
ーションプログラムからの連続データのアクセス要求を
受け付け、その要求に応答するために用いるデータ記憶
制御装置4と通信制御装置6を調べ、それらに対して要
求された連続データを指定された転送先に向けて通信路
から送り出すために必要な動作の指示を出す。データ記
憶制御装置4に対しては、どのデータ記憶装置2に記憶
されているどの連続データをどのバッファ記憶装置8の
どの番地に転送するかを指示するとともに、通信制御装
置6に対しては、どのバッファ記憶装置のどの番地にあ
る連続データを通信路を介してどこに送信するかを指示
する。
【0088】次に、本実施形態の連続データサーバ装置
の動作の流れについて説明する。ここでは、説明を簡潔
にするため、図2に示すようにデータ記憶装置を8台、
データ記憶制御装置を4台、バッファ記憶装置を8台、
通信制御装置を2台設けた具体例を使って説明する。
【0089】データ記憶装置2に記憶する連続データ
は、連続したビットあるいはバイトの並んだ構造を持つ
データである。連続データは、いくつかのブロック、例
えば図3に示すようにB1〜B16の16ブロックに分
割され、図2に示すような配置で、各データ記憶装置2
−1〜2−8に記憶される。すなわち、1番目のブロッ
クB1はデータ記憶装置2−1に、B2はデータ記憶装
置2−2に、…、B16はデータ記憶装置2−8にとい
うように記憶する。このような記憶の方式は、前述した
ようにストライピングと呼ばれ、同一のデータに対して
同時に多数がアクセスすることを可能にするための技法
として知られている。
【0090】ストライピングを行うために連続データを
複数のブロックに分割する場合、分割の単位のとり方に
は種々の方式がある。例えば、連続データを一定の大き
さに分割する方式、その場合に分割の単位をデータ記憶
装置に用いるディスク装置等の読み出しの単位となる大
きさに合わせる方式、音声や映像などの連続データを再
生した場合に一定の再生時間になるような単位で分割す
る方式、連続データがMPEGのデータ構造を持つ場合
にGOPなどMPEGのデータ構造として意味のある切
れ目で分割する方式など様々のものがある。
【0091】なお、図2では、図3に示した1つの連続
データをデータ記憶装置にストライピングを行って記憶
する例を示しているが、実際には、連続データサーバ装
置内に、図2と同様の方法で、複数の連続データをデー
タ記憶装置2にブロック単位で記憶することができる。
【0092】以下、図2のような構成を有する連続デー
タサーバ装置に対しネットワーク等を介して図3に示し
た連続データへのアクセス要求が与えられ、この要求が
中央制御装置10に伝えられた場合の動作を、1つの連
続データへのアクセス要求について説明する。このとき
の中央制御装置10の動作の流れを図4のフローチャー
トに示す。
【0093】なお、B1、B2、B3、B4のように同
時に扱うブロックの集まりを、ブロックグループと呼
ぶ。また、各バッファ記憶装置8−1〜8−8中で図2
のようにダブルバッファとして使う2つのバッファ領域
をバッファa、バッファbと呼ぶ。
【0094】まず、中央制御装置10は、アクセス要求
のあった連続データを先頭のブロックから読み出すよう
にデータ記憶制御装置4−1〜4−4に指示する(ステ
ップS1)。すなわち、データ記憶制御装置4−1〜4
−4に対し、それぞれの先頭のブロックB1、B2、B
3、B4を読み出してバッファ記憶装置8−1〜8−4
の指定した番地(バッファa)に書き込むように指示す
る。
【0095】各データ記憶制御装置4−1〜4−4の読
み出し処理が終了すると、図5に示すようにバッファ記
憶装置8−1〜8−4に連続データのブロックB1、B
2、B3、B4がそれぞれ書き込まれる。
【0096】ブロックB1、B2、B3、B4がバッフ
ァ記憶装置8−1〜8−4に書き込まれると、中央制御
装置10は、バッファ記憶装置8−1〜8−4に書き込
まれたB1からB4まで順に通信制御装置6−1に送り
出すよう指示を出す(ステップS3)。
【0097】通信制御装置6−1は、指示されたバッフ
ァ記憶装置8−1〜8−4に書き込まれているデータ
を、指示された転送先に対して送信する。通信制御装置
6が、イーサネットのようなネットワークの場合は、ブ
ロックの内容をパケットにして指示されたアドレスへ送
り出す。通信制御装置6が、ケーブルテレビ同軸ケーブ
ルのような場合は、指示されたデータを定められた転送
レートで順に送り出す。
【0098】さて、通信制御装置6−1がB1、B2、
B3、B4の順に送り出している間に、中央制御装置1
0は、データ記憶制御装置4−1〜4−4に対し、それ
ぞれの次のブロックB5、B6、B7、B8を読み出し
てバッファ記憶装置8−1〜8−4の指定した(先程と
は別の)番地(バッファb)に書き込むように指示する
(ステップS4)。
【0099】この読み出しが終了すると、各バッファ記
憶装置8−1〜8−4の内容は図6のようになる。
【0100】通信制御装置6−1によるB1、B2、B
3、B4の送り出しが終了すると、中央制御装置10
は、通信制御装置6−1に対して、バッファ記憶装置8
−1〜8−4に書き込まれている次のブロックグループ
をB5からB8まで順に送り出すように指示を出す(ス
テップS7)。
【0101】通信制御装置6−1がB5、B6、B7、
B8を送り出している間に、中央制御装置10は、デー
タ記憶制御装置4−1〜4−4に対して、それぞれの次
のブロックB9、B10、B11、B12を読み出すよ
うに指示する(ステップS8)。
【0102】ブロックB9、B10、B11、B12の
読み出しが終了すると、バッファ記憶装置8−1〜8−
4の内容は図7のようになる。
【0103】そして、これ以降、上記したような動作
が、連続データの送り出し完了まで繰り返して行われ
る。
【0104】以上は、説明を簡潔にするために、1ユー
ザからの要求に対する応答について、その手順を追って
行ったものであり、1つのデータ記憶制御装置2は1つ
の連続データについての読み出しだけを行い、1つのバ
ッファ記憶装置8は1つの連続データのブロックのみを
記憶し、1つの通信制御装置6は1つの連続データの送
り出しのみを行う場合について説明した。しかし、本実
施形態の連続データサーバ装置は、複数のユーザからの
要求に同時に応答することが可能であり、1つのデータ
記憶制御装置2が複数の連続データについての読み出し
を同時に行なうことができ、1つの通信制御装置6が複
数の連続データのブロックの送り出しを同時に担当でき
るようにし、あるいは各バッファ記憶装置8が複数の連
続データのブロックを同時に記憶できるように、中央制
御装置10が全体のデータの流れを制御することで容易
に実現できる。
【0105】次に、バッファ管理方式について説明す
る。
【0106】図2の連続データサーバ装置では、データ
記憶制御装置4と通信制御装置6の間のバッファ記憶装
置8は、図8に示すような管理方式を用いた。すなわ
ち、図8において、通信制御装置6−1がバッファ記憶
装置8−1〜8−4上のa側の領域R1、R2、R3、
R4からデータを読み出して送り出している間に、デー
タ記憶制御装置4−1〜4−4は、バッファ記憶装置8
−1〜8−4上のb側の領域R5、R6、R7、R8に
データを書き込む。通信制御装置6−1がバッファ記憶
装置8−1〜8−4上のa側の領域R1、R2、R3、
R4のデータの送り出しを完了すると、バッファ記憶装
置8−1〜8−4上の領域R1、R2、R3、R4と領
域R5、R6、R7、R8の役割は入れ替わり、データ
記憶制御装置4−1〜4−4は、バッファ記憶装置8−
1〜8−4上のa側の領域R1、R2、R3、R4にデ
ータを書き込み、通信制御装置6−1はバッファ記憶装
置8−1〜8−4上のb側の領域R5、R6、R7、R
8からデータを読み出して送り出す。
【0107】このようなバッファ管理方式は、データ記
憶制御装置4−1〜4−4の間でRAIDの技法を行な
う場合に有効である。RAID技法は、ストライピング
技法を利用し、ディスク装置の故障に対処できるように
したものであり、n台のディスク装置にストライピング
を行っている場合、n台のディスクに記憶したデータの
排他的論理和をとり、その値をパリティとしてn+1台
目のディスクに記憶することにより、n+1台のディス
ク装置の内の1台が故障した場合でも、他のディスク装
置のデータの排他的論理和を計算することで復旧できる
ものである。
【0108】一方、複数のデータ記憶制御装置4の間で
RAIDを行わない場合は、図9に示すようなより単純
なバッファ管理方式を用いることができる。すなわち、
通信制御装置6−1がバッファ記憶装置8−1上の領域
R1からデータの送り出しを行っている間に、データ記
憶制御装置4−2はバッファ記憶装置8−2上の領域R
2にデータの読み込みを行う。通信制御装置6−1がバ
ッファ記憶装置8−2上の領域R2からデータの送り出
しを行っている間に、データ記憶制御装置4−3はバッ
ファ記憶装置8−3上の領域R3にデータの読み込みを
行う。同様に、通信制御装置6−1がバッファ記憶装置
8−3上の領域R3からデータの送り出しを行っている
間に、データ記憶制御装置4−4はバッファ記憶装置8
−4上の領域R4にデータの読み込みを行う。このよう
な操作を、以降同様に繰返して行く。
【0109】また、RAIDを行う場合には、図10に
示すようなバッファ管理を行うこともできる。図10で
は、データ記憶制御装置4−1〜4−4が1つのRAI
Dのグループを組み、さらにデータ記憶装置4−5〜4
−8が別のRAIDのグループを組んでいるものとす
る。このとき、通信制御装置6−1がバッファ記憶装置
8−1〜8−4の領域R1、R2、R3、R4からデー
タを送り出ししている間に、データ記憶装置4−5〜4
−8は、バッファ記憶装置8−5〜8−8の領域R5、
R6、R7、R8にデータの読み込みを行う。領域R
1、R2、R3、R4からのデータの送り出しが完了す
ると、今度は逆に、通信制御装置6−1がバッファ記憶
装置8−5〜8−8の領域R5、R6、R7、R8から
データを送り出している間に、データ記憶装置4−1〜
4−4は、バッファ記憶装置8−1〜8−4の領域R
1、R2、R3、R4にデータの読み込みを行う。
【0110】以上のように、本実施形態の連続データサ
ーバ装置では、すべてのデータ記憶制御装置と通信制御
装置の組に対して、その間のデータの受け渡し専用のバ
ッファ記憶装置を設けたので、データ記憶制御装置とバ
ッファ記憶装置の間のデータパスおよびバッファ記憶装
置と通信制御装置の間のデータパスの多重度を上げるこ
とができ、連続データへの同時アクセスユーザ数を増加
させることが可能になる。
【0111】各データ記憶制御装置と各通信制御装置を
それらがアクセスする必要のあるバッファ記憶装置のみ
と接続するようにすれば、各データパスが専用にバスを
使用できるのでより効果的である。
【0112】従来、本実施形態と同様の転送能力を得よ
うとする場合、同一の連続データを多数のデータ記憶装
置に記憶させたり、クロスバスイッチやATMのような
高価なスイッチやネットワークを使ったりしなければな
らず、非常にコストがかかった。一方、本実施形態によ
れば、各データ記憶制御装置と各通信制御装置に対して
バッファ記憶装置をマトリクス状に結合するだけなの
で、特殊なスイッチやネットワークを必要とせず、連続
データのコピーを持つ必要もなくなる。また、従来のよ
うに例えばクロスバスイッチを用いて複数のデータ記憶
制御装置とバッファ記憶装置を接続する場合、同時に複
数のデータ記憶制御装置からバッファ記憶装置への書き
込みを調停する回路が必要であったが、本実施形態で
は、バッファ記憶装置がその機能を果たしてくれるの
で、調停回路を設ける必要はない。そのため、従来より
小さいコストで同時に多数の連続データの送り出しを行
う連続データサーバ装置を構成することができる。
【0113】また、各バッファ記憶装置はひとつのデー
タ記憶制御装置とひとつの通信制御装置に接続されるた
め、バッファ記憶装置へのアクセスに対するアービトレ
ーションは非常に簡単になる利点がある。
【0114】また、連続データを複数のデータ記憶制御
装置の管理するデータ記憶装置にストライピングして記
憶している場合、ストライピングを行っている連続デー
タをバッファ記憶装置を介してひとつの通信制御装置に
集める必要があるが、本実施形態の連続データサーバ装
置では、バッファ記憶装置は単にバッファ記憶としての
働きだけではなく、データ記憶制御装置と通信制御装置
の間を接続するクロスバスイッチとしての役割を果たし
ている。
【0115】次に、図1の連続データサーバ装置の構成
を拡張した例を図11に示す。
【0116】ここで、図1に示した構成は、m台のバッ
ファ記憶装置8とデータ記憶制御装置4を接続するバス
20には、データ記憶制御装置4を1台だけ接続し、n
台のバッファ記憶装置8と通信制御装置6を接続するバ
ス21には、通信制御装置6を1台だけ接続するもので
あったが、本発明は、複数のデータ記憶制御装置4によ
りバス20を共有した場合にも適用可能である。あるい
は、複数の通信制御装置6によりバス21を共有しても
構わない。また、複数のデータ記憶制御装置4によりバ
ス20を共有するとともに、複数の通信制御装置6によ
りバス21を共有する構成も可能である。そのような構
成例を図11に示す。なお、図11では、全バスについ
て同じ共有の仕方をしているが、バスごとに、接続する
データ記憶制御装置4や通信制御装置6の台数を適宜設
定して構わない。また、n個の記憶制御装置とm個の通
信制御装置から専用に用いられるバッファと、l個の記
憶制御装置(l≠n)とk個の通信制御装置(k≠m)
から専用に用いられるバッファが混在しても良い。
【0117】この例の場合、中央制御装置10aは、前
述した中央制御装置10と同様の機能である。バス20
は、それに接続されたデータ記憶制御装置4同士の間で
アクセスの競合が発生した場合の調停を行なう機能を持
つ。21は、それに接続された通信制御装置6同士の間
でアクセスの競合が発生した場合の調停を行う機能を持
つ。
【0118】次に、図11の連続データサーバ装置の構
成をさらに拡張した例を図12に示す。
【0119】この連続データサーバ装置では、データ記
憶制御装置4とバッファ記憶装置8を接続しているバス
20を複数本束ね、それらをセレクタ23を介して1つ
のバッファ記憶装置8に接続するようにしている。セレ
クタ23は、データ記憶制御装置4の接続されている複
数のバス20からのバッファ記憶装置8に対するアクセ
スリクエストを調停するために、ある時点で1つのバス
を選択的にバッファ記憶装置8に接続する機能を持つ。
これにより、データ記憶制御装置4の接続されている複
数のバス20が1つのバッファ記憶装置8を共有するこ
とができる。
【0120】バッファ記憶装置8上のバッファ領域は、
複数のストリーム間で共有して使い回すこともできる
し、各ストリームにバッファ領域を固定的に割り付けて
使用することもできる。異なるストリーム間でバッファ
領域を使い回す場合、各ストリームがバッファ領域の使
用を開始してから終了するまでの時間をストリーム間で
重ならないようにスクジューリングしなければならない
が、1つのストリームが同じバッファ領域を占有できる
場合はこのスケジューリングが非常に単純になる。その
ため、バッファ管理の観点からは、同じストリーム間で
バッファ記憶装置8上のバッファ領域を使い回すことが
望ましい。しかし、これを実現するためには、データ記
憶制御装置4とバッファ記憶装置8とを接続するバス2
0が増加すれば、それに比例してバッファ記憶装置8の
容量も増やす必要がある。そこで、図12のように、複
数のバス間でバッファ記憶装置8を共有することで、バ
ッファ記憶装置8の容量の増加を防ぐことが可能にな
る。
【0121】なお、データパス21には通信制御装置6
を1台だけ接続するようにしても良いし、複数の通信制
御装置6によりデータパス21を共有しても構わない。
データパス20にはデータ記憶制御装置4を1台だけ接
続するようにしても良いし、複数のデータ記憶制御装置
4によりデータパス20を共有しても構わない。また、
n個の記憶制御装置とm個の通信制御装置から専用に用
いられるバッファ記憶装置と、l個の記憶制御装置(l
≠n)とk個の通信制御装置(k≠m)から専用に用い
られるバッファ記憶装置が混在しても良い。
【0122】この例の場合、中央制御装置10bは、前
述した中央制御装置10と同様の機能である。
【0123】次に、バッファ記憶装置8の構成について
説明する。
【0124】バッファ記憶装置8は、データ記憶制御装
置4によるデータ書き込みに使用されるポートと、通信
制御装置6によるデータ読み出しに使用されるポートを
持つメモリである。
【0125】バッファ記憶装置8としては、2ポートメ
モリを用いることができる。例えば図13に示すよう
に、2ポートメモリ30は、データ記憶制御装置4が書
き込むためのアドレスおよびデータを指定する端子と必
要に応じて書き込みやチップセレクト等の制御端子を持
つとともに、通信制御装置6が読み出すためのアドレス
およびデータ端子と必要に応じてチップセレクト等の制
御端子を持つ。
【0126】2ポートメモリは、書き込みポートと読み
出しポートを1つずつ持つものであるので、例えば広く
使われている2つの読み出し書き込み兼用ポートを持つ
2ポートメモリを利用し、一方は書き込み専用、もう一
方は読み出し専用にして使うことで、2ポートメモリと
同等の働きをさせることは容易である。
【0127】また、2ポートメモリの構成方法には他に
もさまざまな手法を用いることができる。
【0128】例えば、図14は、通常の1ポートのメモ
リを使って2ポートメモリを構成する方式を示してい
る。データ記憶制御装置からの書き込み要求と通信制御
装置からの読み出し要求はメモリコントローラ70が調
停してどちらかをメモリ71に指示する。2つのアクセ
ス要求がぶつかった場合は一方を待たせる。
【0129】図15は、通常の1ポートのメモリを2つ
使って2ポートメモリを構成するものであり、基本的に
は図14の例と同様に、データ記憶制御装置からの書き
込み要求と通信制御装置からの読み出し要求はメモリコ
ントローラ80が調停してどちらかをメモリ81やメモ
リ82に指示する。2つのアクセス要求がぶつかった場
合は一方を待たせる点も同様である。しかし、ここでは
2つメモリ81,82を使い、一方が使用中でも他方に
対するアクセス要求であれば同時にアクセスできるの
で、同時に発生した2つのアクセス要求がぶつかって一
方が待たされる確率を減らすことができる。
【0130】もちろん、図13、図14、図15に示し
たような2ポートメモリは、通常のメモリと同様に、そ
れらをマルチバンクにしてインタリーブすることで、読
み出しや書き込みの速度を向上させることができる。
【0131】ここで、図16に、2ポートメモリ30を
バッファ記憶装置として用いた例を示す。ただし、図
中、データ記憶装置2と中央制御装置10を省略してあ
る。図中の2ポートメモリ30のブロック内に記した符
号Mi,j (i=1〜n、j=1〜m)は、当該2ポート
メモリ30がデータ記憶制御装置4−iと通信制御装置
6−jに専用に接続されていることを表している。
【0132】データ記憶制御装置4−iからは、バッフ
ァ記憶装置Mi,1 、Mi,2 、…、Mi,m に対して書き込
みができる。このとき、データ記憶装置4−iから見た
アドレス空間は、例えば図17のように、Mi,1 、M
i,2 、…、Mi,m が適当な番地にマッピングされるよう
に構成することができる。
【0133】一方、通信制御装置6−jからはバッファ
記憶装置M1,j 、M2,j 、…、Mn, j に対して読み出し
ができる。このとき、通信制御装置jから見たアドレス
空間は、例えば図18のように、M1,j 、M2,j 、…、
n,j が適当な番地にマッピングされるように構成する
ことができる。
【0134】次に、図19に示すような2ポートメモリ
30aを用いた場合のバッファ記憶装置の構成方式につ
いて詳しく説明する。図19の2ポートメモリ30a
は、データ記憶制御装置4からの書き込みのためにアド
レス端子Ain、データ端子Din、書き込み信号端子
Wを持つとともに、通信制御装置6からの読み出しのた
めにアドレス端子Aout、データ端子Doutを持つ
ものとする。Ain、Din、Aout、Doutは、
実際には、複数のビット幅を持つ。
【0135】図20に、データ記憶制御装置とバッファ
記憶装置の接続例を示す。これは、図16の構成の一部
分を抜き出して示したものに相当する。
【0136】図19の2ポートメモリ30aを用いたバ
ッファ記憶装置を示してあり、2ポートメモリMi,1
i,2 、Mi,3 は、図示しないデータ記憶制御装置4−
iと図示しない3つの通信制御装置6−1,6−2,6
−3の各組に対して設けられたものである。図中、36
〜38は、AND回路である。
【0137】このような構成において、アドレスの上位
をデコーダ32によりデコードして2ポートメモリM
i,1 、Mi,2 、Mi,3 を異なるアドレスに対応させ、そ
れぞれの2ポートメモリMi,1 、Mi,2 、Mi,3 のマッ
ピングされたアドレスに対して書き込み信号がアクティ
ブになったときのみ、対応する2ポートメモリのW端子
がアクティブになり書き込みが行われる。
【0138】図21に、通信制御装置とバッファ記憶装
置の接続例を示す。これは、図16の構成の一部分を抜
き出して示したものに相当する。
【0139】図19の2ポートメモリ30aを用いたバ
ッファ記憶装置を示してあり、2ポートメモリM1,j
2,j 、M3,j 、M4,j は、図示しない4つのデータ記
憶制御装置4−1,4−2,4−3,4−4と図示しな
い通信制御装置6−jの各組に対して設けられたもので
ある。図中、45〜48は、ゲート回路である。
【0140】このような構成において、アドレスの上位
をデコーダ40によりデコードして、2ポートメモリM
1,j 、M2,j 、M3,j 、M4,j がマッピングされている
アドレスが選ばれた時に、その2ポートメモリからのデ
ータを通信制御装置6−jに送る。
【0141】上記のような構成を有する連続データサー
バ装置でRAIDを行う場合には、通信制御装置とバッ
ファ記憶装置の接続を工夫することでパリティの計算を
自動的に行うことができる。図22は、これを実現する
接続方式の例を示している。
【0142】この例は、図21の構成に、2入力の排他
的論理和回路50〜53、AND回路54〜57、4入
力の排他的論理和回路58を設けただけであり、非常に
簡易な構成である。ここでは、2ポートメモリM1,j
2,j 、M3,j 、M4,j には、ブロックB1、B2、B
3、B4が書き込まれており、このうちのひとつがパリ
ティであるとする。例えば、B4がパリティであり、B
4の内容は、B1、B2、B3のデータの排他的論理和
であるとする。
【0143】さて、信号E1、E2、E3、E4は、そ
れぞれのデータ記憶制御装置4−1〜4−4あるいはそ
れらに接続されているデータ記憶装置2の故障によって
データが正しくないことを示す障害発生検出信号である
とする。この障害発生検出信号E1、E2、E3、E4
は、例えば、中央制御装置10がいずれかのデータ記憶
装置2あるいはデータ記憶制御装置4等の障害の発生を
検出したときに対応する信号をアクティブにする実現方
式や、データ記憶制御装置4が正しく動作できないと判
断したときに自ら障害発生検出信号をアクティブにする
方式、データ記憶制御装置4からバッファ記憶装置8へ
の書き込みを監視していて一定時間以上あるいは前回の
読み出し以降書き込みが無ければ障害が発生したと判断
して障害発生検出信号をアクティブにする方式などを用
いることができる。
【0144】図22の回路では、すべての障害発生検出
信号E1、E2、E3、E4がアクティブでない場合
は、図21と同様に2ポートメモリからの出力データを
そのまま(すなわちパリティであるB4を除いてB1〜
B3の順に)通信制御装置6−jに渡す。しかし、読み
出そうとしている1つの2ポートメモリ(例えば
1,j)に対応する障害発生検出信号がアクティブな場
合には、読み出そうとする2ポートメモリ以外のすべて
の2ポートメモリ(例えばM2,j 、M3,j 、M4,j )の
データの排他的論理和をデータとして通信制御装置に渡
す。すなわち、この段階で正しくないデータをパリティ
を使って回復させている。
【0145】このような単純なパリティは、同時にひと
つの障害が発生した場合にしか対応できないが、より高
度な誤り訂正能力を持つ符号化方式を使うと、同時に複
数の誤りがある場合にも対応できるのは明らかである。
【0146】次に、バッファ記憶装置にVRAMを使っ
た例について説明する。
【0147】バッファ記憶装置には、図23に示すよう
なVRAMと呼ばれるメモリ素子を用いることもでき
る。VRAM90は、パラレルの書き込みポート(読み
出しができるものもある)とシリアルの読み出しポート
を持つ2ポートメモリである。図23に示すように、V
RAM90を、パラレルのポートをデータ記憶制御装置
4からの書き込み用に、シリアルのポートを通信制御装
置6からの読み出し用に使う。各VRAMからのシリア
ル出力は、図24に示すように、通信制御装置6に接続
し、通信制御装置6は必要なVRAMからのデータを選
択して送り出すようにすれば、前述してきたようなバッ
ファ記憶装置に2ポートメモリを使ったものと同様な連
続データサーバ装置を構成することができる。
【0148】次に、複数の既存の計算機を用いて本実施
形態の連続データサーバ装置を実現した例について説明
する。そのような連続データサーバ装置の構成の一例を
図25に示す。
【0149】この例では、計算機Aが中央制御装置10
の働きをし、計算機B1、B2、…、Bnがデータ記憶
制御装置4−1〜4−nの働きをし、計算機B1、B
2、…、BnにSCSIバス100などのインタフェー
スで接続した磁気ディスクがデータ記憶装置2の働きを
し、計算機C1、C2、…、Cmが通信制御装置4−1
〜4−nの働きをし、計算機C1、C2、…、Cmの持
つATMインタフェースによって連続データの送り出し
を行う。
【0150】バッファ記憶装置8には、2ポートメモリ
を用い、各2ポートメモリは対応する計算機Biと計算
機Cjのパス上に配置する。中央制御装置10の働きを
する計算機Aは、イーサネットなどのバス101によっ
て計算機B1、B2、…、Bn、C1、C2、…、Cm
に動作を指示する。
【0151】本実施形態は、連続データを複数のデータ
記憶装置2にストライピングやさらにRAIDを行って
記憶させた場合に有効であるが、ストライピングを行わ
ない場合においてもデータ記憶制御装置4から通信制御
装置6へ至るデータパスのデータ転送能力を大きくでき
るので有効である。
【0152】なお、バッファ記憶装置8にVRAMを用
いる場合、前述した図24に示すように各VRAMから
のシリアル出力を通信制御装置6に接続し、通信制御装
置6は必要なVRAMからのデータを選択して送り出す
ようにすれば良い。
【0153】バッファ記憶装置8に対して、データ記憶
制御装置4と通信制御装置6の両方から読み書き可能に
しておくことで、ネットワークから来たデータを通信制
御装置6が受けてバッファ記憶装置8に書き込み、それ
をデータ記憶制御装置4が読み出してデータ記憶装置2
に書き込むことが可能である。
【0154】さて、以下では、複数のディスク装置に一
連のデータを所定の単位(例えばブロック単位)で分散
して格納しておき、必要時に該一連のデータを該所定の
単位で各ディスク装置から読出すようなシステムにおけ
るディスク装置のエラーに対処するためにRAIDを取
り入れた実施形態について説明する。
【0155】前にも触れたように、ディスク装置のエラ
ーを訂正する方法としてRAIDが知られている(例え
ば、´A Case for Redundant A
rrays of Inexpensive Disk
s(RAID)´,David A. Patters
on, Garth Gibson, and Ran
dy H. Katz, ACM SIGMOD De
c.´88 vol.17 No.3 pp.109−
116)。RAIDは、冗長符合化を用いて複数のディ
スク装置に符合化したデータを分散して配置し、ディス
ク装置の故障があった場合に元の情報を復元するための
技術である。符合化したデータを用いて元の情報を復元
するためには、各ディスクの内容の排他的論理和あるい
は排他的論理積をとることにより復元される。
【0156】RAIDを実施するために排他的論理和等
をとる方法としては、(1)プロセッサを用いて行なう
方法と、(2)故障またはエラー検出された場合、ディ
スクからのデータを排他的論理和回路等に並列に入力
し、高速に正しい解を求める方法とがある。
【0157】本実施形態では、プロセッサを用いる方法
と異なり実行中プロセッサの仕事を妨げるおそれがな
く、また並列に排他的論理和等をとる回路を用いる方法
と異なり配線の集中や回路の複雑化を引き起こさないよ
うにするために、専用のハードウェアの構成を工夫した
ものである。
【0158】以下、そのような2つの実施形態について
説明する。なお、以下では、パリティとして排他的論理
和を用いる構成について説明するが、言うまでもなく排
他的論理積を取る構成することも容易に実施可能であ
る。
【0159】まず、ディスクの故障の訂正を高速に行な
うための装置を少ないハードウェア構成で実現した実施
形態について図26〜図32を参照しながら説明する。
【0160】本実施形態では、まず、ある情報について
RAIDのために用いるディスク装置の接続口の数(例
えば図1、図2のデータ記憶制御装置4あるいは図26
のディスク制御部104の台数に相当;図2では4、図
26では5)をn+1とすると、格納する情報をnのグ
ループに分割する。グルーピングにあたっては、情報は
固定されたデータ長のブロックに分割される。
【0161】n個のグループの各々から同時に読み出す
ブロックを1個ずつ合計n個取り出して組にする。同一
組のn個に対して排他的論理和をとった結果を新たなブ
ロックとして合計n+1個のブロックで組とする。n+
1個のブロックをそれぞれ接続口につながるn+1台の
ディスク装置のいずれかに格納してRAIDの組とす
る。
【0162】n+1台のディスク装置が接続される接続
口には、それぞれ対応するバッファメモリが存在し、対
応関係にある接続口とバッファメモリとの間にはそれぞ
れ専用のハードウェアである演算部を接続するととも
に、n+1台の演算部は上下に直列に接続されるように
結合する。
【0163】ここで、あるディスク装置に故障またはエ
ラーが検出された場合、接続口から入力され対応するバ
ッファメモリに格納されるデータにはエラーがあると考
えられる。従って、そのディスク装置に対応するバッフ
ァメモリを読み出す場合には、該バッファメモリの内容
は正しくないと考えられるので、対応する演算部は、当
該バッファメモリからデータを読み出す代わりに前段の
演算部の出力をそのまま出力し、他の演算部は前段の演
算部の出力と対応するバッファメモリを読みだした値と
の排他的論理和を出力する。各バッファメモリの内容は
RAIDの組をなしているので、演算部によって計算さ
れた、故障またはエラーに対応するバッファメモリ以外
のバッファメモリの内容の排他的論理和が、正しい値と
して出力される。
【0164】故障またはエラーのない正常なディスク装
置に対応するバッファメモリを読み出す場合には、対応
する演算部は、当該バッファメモリからデータを読み出
して後段に渡し、他の演算部は前段の演算部の出力をそ
のまま出力する。これにより、ディスク装置の接続され
る接続口から故障またはエラーのデータが入力されない
場合には、所望のバッファメモリから読みだした値を出
力させることができる。
【0165】以上のように、データに誤りがある場合
は、演算部により正しいデータを出力し、データに誤り
がない場合は、演算部をバイパスすることにより正しい
データを得ることができる。
【0166】次に、本実施形態をより詳しく説明する。
【0167】図26は、本実施形態に係るシステムの全
体構成である。また、図27に、システム全体をコント
ロールする中央制御部110の制御の流れを示す。
【0168】図26に示すように、本システムは、RA
IDの組をなすデータを記憶するディスク装置102か
ら所望の連続データを読み出す複数のディスク制御部1
04と、各ディスク制御部104によって読み出された
データを保持するために、各ディスク制御部104に対
応して設けられた複数のバッファメモリ108と、各バ
ッファメモリ108のメモリコントローラ107と、各
ディスク制御部104とメモリコントローラ107およ
びバッファメモリ108との間に接続された演算部10
3と、システム全体をコントロールする中央制御部11
0とを備えているとともに、演算部103は直列に接続
している。また、演算部103は、排他的論理和演算回
路161、マルチプレクサ162、デコード部163か
ら構成される。
【0169】図26では、4つのディスクに対して1つ
のパリティを備えるシステムを示しているが、パリティ
の比は自由であり、例えば8つのディスクに対して1つ
のパリティを備えるなど種々の構成が可能である。
【0170】ディスク制御部104の接続口には、ディ
スク装置102を複数台数接続することが可能である。
例えば、ディスクインタフェースとしてSCSIを使用
すれば7つのデバイスまでを一本のSCSIに接続する
ことが可能である。また、ディスク制御部104に複数
のSCSIを接続することで、さらに多数のディスク装
置102を接続することも可能である。
【0171】メモリコントローラ107は、ディスク装
置102からのデータをバッファメモリ108の指定さ
れたアドレスに格納するとともに、バッファメモリ10
8の指定されたアドレスから読出したデータを演算部1
03に与えるためのものである。
【0172】ディスク制御部104は、メモリコントロ
ーラ107を介してバッファメモリ108にデータを転
送する。
【0173】中央制御部110は、要求されたデータの
存在するディスク装置102のつながるディスク制御部
104に命令を送るとともに、RAIDの組になる情報
の蓄積されているディスク装置102からRAIDの組
になる情報を読み出すために対応するディスク制御部1
04に命令を送る。
【0174】また、中央制御部110は、RAIDの組
になる情報がバッファメモリ108に全て揃うのを待
ち、RAIDの組になる情報が全て揃ったらバッファメ
モリ108から読みだし動作を始める。
【0175】中央制御部110は、バッファメモリ10
8を読み出すとき、要求に基づき、必要な情報が蓄積さ
れている各ディスク装置102の接続される接続口に対
応する各バッファメモリ108に対するDECODE_
X信号を1つづつ順次アクティブにしていく。
【0176】ディスク制御部104は、中央制御部11
0から指示された命令に基づきディスク装置102の制
御を行なうとともに、ディスク装置102の故障または
エラーが検出された場合は、ERROR_X信号を中央
制御部110に対して送り知らせる。
【0177】なお、ディスク装置102からの読み出し
の応答が規定時間内に終らない場合には、ディスク装置
102のエラーとみなして同様にERROR_X信号を
中央制御部110に対して送り、他のディスクの情報か
ら規定時間内に終らなかったディスク装置102の内容
を復元するようにしても良い。
【0178】また、ディスク制御部104が自分の故障
を検出した場合もディスク装置102のエラーとみなし
て、同様にERROR_X信号を中央制御部110に対
して送り知らせても良い。
【0179】ERROR_X信号は、ディスク制御部1
04それぞれに対して用意され(図26中のERROR
_0〜ERROR_4)、どのディスクの接続口に故障
またはエラーが発生したか識別できる。
【0180】図28には、ERROR_X信号およびD
ECODE_X信号からHITANY信号を生成する回
路を示す。図28のように、この回路は、ERROR_
X信号およびDECODE_X信号を入力とするAND
回路181〜182と、全AND回路の出力を入力とす
るOR回路186からなる。
【0181】HITANY信号は、読み出そうとする情
報が蓄積されていたディスク装置102に故障またはエ
ラーが起こったことを示す信号で、RAIDによる情報
の復元が必要なことを示している。
【0182】図29には、演算部103の構成を示す。
【0183】排他的論理和演算回路131には、直列に
接続された前段の演算部103からの出力と、マルチプ
レクサ132からの出力が与えられる。
【0184】マルチプレクサ132のA入力には0が、
もう一方のB入力にはメモリコントローラ107を介し
てバッファメモリ108の出力が接続され、デコード部
133からの制御信号により切替えられる。
【0185】A入力に切替えられた場合は、前段の演算
部103からのデータをそのまま後段に伝えることにな
る。一方、B入力に切替えられた場合は、前段の演算部
103からのデータとバッファメモリ108から読出し
たデータの排他的論理和を演算した結果を後段に伝える
ことになる。
【0186】デコード部133は、ERROR_X、D
ECODE_X、HITANYの値に応じてマルチプレ
クサ132を切替えるための制御信号を生成する回路で
あり、その論理を図30に示す。
【0187】図30のケース(1)は、対応するバッフ
ァメモリ108からデータを読み出すべき場合に、対応
するディスク装置102に故障またはエラーが検出され
たケースであり、A入力に切替えらる。
【0188】ケース(2)は、対応しない他のバッファ
メモリ108からデータを読み出す場合で、自身に対応
するディスク装置102にも該他のバッファメモリ10
8に対応するディスク装置102にも故障またはエラー
が検出されていないケースであり、A入力に切替えら
る。
【0189】ケース(3)は、対応しない他のバッファ
メモリ108からデータを読み出す場合に、自身に対応
するディスク装置102には故障またはエラーが検出さ
れず、該他のバッファメモリ108に対応するディスク
装置102に故障またはエラーが検出されたケースであ
り、B入力に切替えらる。
【0190】ケース(4)は、対応するバッファメモリ
108からデータを読み出すべき場合で、対応するディ
スク装置102に故障またはエラーのが検出されていな
いケースであり、B入力に切替えらる。
【0191】ケース(5)は、対応しない他のバッファ
メモリ108からデータを読み出す場合で、自身に対応
するディスク装置102に故障またはエラーが検出され
たが、該他のバッファメモリ108に対応するディスク
装置102には故障またはエラーが検出されていないケ
ースであり、A入力に切替えらる。
【0192】図26のように、演算部103の直列に接
続された初段は、入力が0に固定されている。一方、演
算部103の終段は、対応するバッファメモリ108か
ら読出したデータまたはRAIDにより復元したデータ
が現れる出力端子となる。
【0193】上記のような構成において、中央制御部1
10は、外部からデータ読み出しの要求を受け付けると
(ステップS11)、要求されたデータについてRAI
Dの組が存在するディスク装置102を接続しているデ
ィスク制御部104に対して該当データをバッファメモ
リ108へ転送するよう転送命令を送る(ステップS1
2)。転送命令を受けたディスク制御部104は、要求
されたデータのRAIDの組になるデータをディスク装
置102から読出し、対応するバッファメモリ108に
格納する。
【0194】バッファメモリ108へのデータ転送が完
了すると(ステップS13)、バッファメモリ108か
らのデータ読出しを行なう(ステップS14)。
【0195】以下、ステップS4のバッファメモリ10
8からのデータ読出しについてさらに具体的に説明す
る。ここでは、図26中の#0〜#3の系統が元のデー
タであり、#4の系統がパリティーであるものとする。
【0196】中央制御部110は、例えば#0のバッフ
ァメモリ108から#1、#2、#3というように、順
番にバッファメモリ108からのデータ読みだしを行な
うよう制御する。
【0197】各バッファメモリ108からのデータ読み
だしにおいては、中央制御部110の指令により各演算
部103のマルチプレクサ103が夫々切替えられ、演
算部103による演算結果が順次後段に渡され、最終段
から結果が出力される。
【0198】例えば、#0のバッファメモリ108から
のデータ読みだしを行なう場合を考える。この場合、D
ECODE_0信号を1にし、他のDECODE_X信
号を0にする。
【0199】ここで、中央制御部110は、各ディスク
制御部104から送られるERROR_X信号を監視し
ており、この情報が各演算部103の切替えに用いられ
る。
【0200】#0のディスク装置102に故障またはエ
ラーが検出されていない場合、ERROR_0信号は0
となるので、HITANY信号は0になる。
【0201】従って、#0の演算部103のデコード部
133への入力は、ERROR_0信号=0、HITA
NY信号=0、DECODE_0信号=1となるので、
#0の演算部103は上記したケース(4)のように動
作し、0とバッファメモリ108からのデータの排他的
論理和、すなわちバッファメモリ108からのデータを
そのまま出力する。
【0202】一方、他の系統の演算部103のデコード
部133への入力は、ERROR_X信号=0、HIT
ANY信号=0、DECODE_X信号=0となるの
で、各演算部103は上記したケース(2)のように動
作し、入力をそのまま通過させる。
【0203】このようにして、#0バッファメモリ10
8からのデータが出力される。
【0204】一方、#0のディスク装置102に故障ま
たはエラーが検出された場合、ERROR_0信号は1
となるので、HITANY信号は1になる。
【0205】従って、#0の演算部103のデコード部
133への入力は、ERROR_0信号=1、HITA
NY信号=1、DECODE_0信号=1となるので、
#0の演算部103は上記したケース(1)のように動
作し、固定値0を出力する。
【0206】一方、他の系統の演算部103のデコード
部133への入力は、ERROR_X信号=0、HIT
ANY信号=1、DECODE_X信号=0となるの
で、各演算部103は上記したケース(3)のように動
作し、前段からの入力と対応するバッファメモリ108
からのデータの排他的論理和を後段に伝える。
【0207】この結果、#1〜#4のバッファメモリ1
08からのデータの排他的論理和が得られ、これが#0
の系統の正しいデータとして出力される。
【0208】上記のようにして、#0の系統のデータか
ら#4の系統のデータが1つづつ順次読み出される。
【0209】なお、ここでは排他的論理和を演算に用い
ているが、排他的論理積(排他的論理和の否定)を演算
に使用した場合には、初段の演算部103および各演算
部103のマルチプレクサ132のA入力に固定値とし
て0を入力する代りに、1を入力する。
【0210】上記した実施形態では演算部103を組合
せ論理として記述しているが、演算部103間にパイプ
ラインレジスタを配置することにより、高速なクロック
での動作が可能となる。
【0211】以上の実施形態では、ディスク装置102
からバッファメモリ108の転送と、バッファメモリ1
08からの読み出しを逐次的に行なう方法を説明した
が、バッファメモリ108がダブルバッファを構成し、
ディスク装置102からの転送とともにバッファメモリ
108を読み出すことも可能である。
【0212】また、ディスクの読み出しの一時的なエラ
ーのためにディスク装置102がリトライ動作を行な
い、アクセスが規定時間内に終らなかった場合に、ディ
スク制御部104はディスク装置102のエラーとして
ERROR_X信号を立てて知らせることで、ディスク
装置102の故障と等価に扱うことも可能である。
【0213】次に、本実施形態の好ましい用途の一つと
して、動画を含めたマルチメディアデータのサーバに用
いた例について図31を参照しながら説明する。
【0214】動画をディスク装置102にディジタルデ
ータで記録する方法としては、動画を圧縮して記憶する
MPEGなどの方法が知られている。ディスク装置10
2に記録されるデータは、ストライピングを用いて本実
施形態のRAIDの組に記録すれば、バッファメモリ1
08上に読みだしたデータは動画の再生が連続している
限り必ず読み出されるので、ディスクの読みだしに関し
て無駄がない。
【0215】以下、図31を参照しながらストライピン
グしたマルチメディアデータの再生を説明する。
【0216】図31の元データがMPEGのビデオスト
リームであるとすると、このデータをディスク装置10
2の読み出しのブロックの単位、例えば128KBごと
に切ってRAIDの組とする。この例では、4つに切っ
てRAIDの組とする。それぞれのブロックには、4つ
に切った場合のグループの番号0から3までが対応して
いる。
【0217】RAIDの組にするために、パリティのブ
ロックを0から3までのブロックから排他的論理和をと
ることで作成し、グループ4としておく。
【0218】ディスク装置102からバッファメモリ1
08に転送すると、#0のバッファメモリにはグループ
#0の情報が、#1のバッファメモリにはグループ1の
情報が、#2のバッファメモリにはグループ2の情報
が、#3のバッファメモリにはグループ3の情報が、#
4のバッファメモリにはパリティ情報が入る。
【0219】これを、#0のバッファメモリから順に読
み出すと、前述した演算部103が働いて、読みだしデ
ータは図31のように0、1、2、3の順に並んだスト
リームとして再生される。
【0220】次に、本実施形態の好ましい用途の他の例
として、ディスクを用いたデータベースサーバについて
図32を参照しながら説明する。なお、図32中で、デ
ィスクアレイ装置120は、図26のディスク装置10
2を除いた部分に相当する。
【0221】例えば、図32のように、一つのデータベ
ースをレコードごとに区切ってディスクに分散配置して
おく。一般に、ディスクの転送速度はCPUの処理速度
より遅いので、ディスクアレイ装置120を用いてディ
スク装置102を読み出すと、並列にデータを読み出す
ことの効果で、より高速なデータベースのアクセスが可
能である。
【0222】ディスクアレイ装置120の出力にデータ
ベース処理を行なうデータベース処理装置121を配置
し、検索、選択などのデータベース処理が可能である。
【0223】以上のように本実施形態によれば、ディス
クの故障を訂正するための装置が少ないハードウェア構
成で可能である。また、ハードウェアで処理を行なうの
で高速に処理を行なうことができる。
【0224】上記した手法は、図1等を用いて説明した
先の実施形態に適用することができる。図1のシステム
に適用する場合、ディスク装置102がデータ記憶装置
2に対応し、ディスク制御部104がデータ記憶制御装
置4に対応し、中央制御部110が中央制御装置10に
対応する。また、図26に示されているバッファメモリ
108は、図1の1台の通信制御装置6バッファ記憶装
置8に接続されたバッファ記憶装置8に対応する。演算
部103は、データ記憶制御部4とこれに対応する1ま
たは複数のバッファ記憶部8との間にそれぞれ接続す
る。このように適用した構成例を図45に示す。
【0225】また、図11や図12のシステムに適用す
る場合、演算部103は、1つのバス20を共有するデ
ータ記憶制御部4の群とこれに対応する1または複数の
バッファ記憶部8との間にそれぞれ接続する。
【0226】次に、ディスクに書き込むパリティの生成
および故障したディスクを復元するための情報の生成を
高速に行なうための装置を少ないハードウェア構成で実
現した実施形態について図33〜図44を参照しながら
説明する。なお、本実施形態は、図26〜図32を参照
しながら説明した先の実施形態の作用効果を包含するも
のである。
【0227】本実施形態では、まず、ある情報について
RAIDのために用いるディスク装置の接続口の数(例
えば図1、図2のデータ記憶制御装置4あるいは図33
のディスク制御部204の台数に相当;図2では4、図
33では5)をn+1とすると、格納する情報をnのグ
ループに分割する。グルーピングにあたっては、情報は
固定されたデータ長のブロックに分割される。
【0228】n個のグループの各々から同時に読み出す
ブロックを1個ずつ合計n個取り出し組にする。
【0229】なお、後述するように、本実施形態の専用
のハードウェアの働きによって、同一組のn個に対して
排他的論理和がとられる。この結果を新たなブロックと
して合計n+1個のブロックで組とする。そして、n+
1個のブロックは、それぞれ接続口につながるn+1台
のディスク装置のいずれかに格納されRAIDの組とさ
れる。
【0230】n+1台のディスク装置が接続される接続
口には、それぞれ対応するバッファメモリが存在し、対
応関係にある接続口とバッファメモリとの間にはそれぞ
れ専用のハードウェアである演算部を接続するととも
に、n+1台の演算部は上下に直列に接続されるように
結合する。
【0231】上下に直列接続される各演算部は、パリテ
ィー生成、データ読み出しおよびパリティーによるデー
タの復元などを行なうために、(1)直列に接続された
隣接する演算部からのデータを排他的論理和をとりなが
らバッファメモリに書き込む機能と、(2)下段からの
データをバッファメモリに書き込みながら上段におくる
機能と、(3)バッファメモリから読みだしたデータと
上段の演算部のデータを排他的論理和をとりながら下段
の演算部に送る機能と、(4)バッファメモリから読み
だしたデータと下段の演算部のデータを排他的論理和を
とりながら上段の演算部に送る機能と、(5)上段の演
算部のデータを下段にバイパスする機能と、(6)下段
の演算部のデータを上段にバイパスする機能と、(7)
ディスク装置の接続する口からバッファメモリに書き込
む機能と、(8)バッファメモリから読み出してディス
ク装置の接続する口にデータを送り込む機能とを有す
る。
【0232】各演算部は、必要に応じて上記機能のうち
のいずれかを取る。
【0233】ディスク装置にデータを書き込むときに
は、n−1個のブロックをそれぞれ最上段から順に対応
するバッファメモリに書き込む。
【0234】最後にn個目のブロックを最下段に書き込
むときに、演算部を切替えて、最上段からn−1個まで
はバッファメモリから読みだしたデータと上段からのデ
ータの排他的論理和をとって下段に出力し、最下段は演
算部を切替えてバッファメモリに書き込みながらそのデ
ータを上段に送るように設定する。n段目の演算部は、
上段と下段のデータの排他的論理和がバッファメモリに
書き込まれるように設定する。
【0235】これにより、n段目のバッファメモリにパ
リティが生成されている。
【0236】次に、n+1個のバッファメモリに生成さ
れたデータをディスク装置に送る。
【0237】ディスク装置のうち一つが故障した場合
は、そのディスクを交換し、故障したディスク装置に入
っていたデータを復元する必要がある。
【0238】本実施形態では、データブロックをn+1
個の組にしてそれぞれのデータブロックの排他的論理和
が0になるように構成しているので、故障したディスク
装置内のデータブロックは他のn個のデータブロックか
ら復元できる。
【0239】故障したディスク装置を交換したあと、故
障していたディスク装置の接続される接続口以外の接続
口から対応するバッファメモリに故障していたディスク
装置に格納されていたデータブロックと組になるn個の
データをそれぞれ読みだし、次に、故障していたディス
ク装置の接続されていた口より上段の演算部をバッファ
メモリを読みだした値と上段の演算部の出力の排他的論
理和をとって下段に送るように切替え、故障していたデ
ィスク装置の接続されていた口より下段の演算部をバッ
ファメモリを読みだした値と下段の演算部の出力の排他
的論理和をとって上段に送るように切替え、故障してい
たディスク装置の接続されていた口に対応する演算部を
上段の演算部の出力と、下段の演算部の出力の排他的論
理和をとってバッファメモリに書き込まれるように切替
える。
【0240】この結果、n+1個の組の内容は排他的論
理和をとると0になるようになるので、故障した部分の
復元ができる。
【0241】次に、本実施形態をより詳しく説明する。
【0242】図33は、本実施形態に係るシステムの全
体構成である。
【0243】図26に示すように、本システムは、RA
IDの組をなすデータを記憶するディスク装置202か
ら所望の連続データを読み出す複数のディスク制御部2
04と、各ディスク制御部204によって読み出された
データを保持するために、各ディスク制御部204に対
応して設けられた複数のバッファメモリ208と、各バ
ッファメモリ208のメモリコントローラ207と、各
ディスク制御部204とメモリコントローラ207およ
びバッファメモリ208との間に接続された演算部20
3と、システム全体をコントロールする中央制御部21
0とを備えている。また、演算部103は、上下に直列
に接続されている。
【0244】図33では、4つのディスクに対して1つ
のパリティを備えるシステムを示しているが、パリティ
の比は自由であり、例えば8つのディスクに対して1つ
のパリティを備えるなど種々の構成が可能である。
【0245】ディスク制御部204の接続口には、ディ
スク装置202を複数台数接続することが可能である。
例えば、ディスクインタフェースとしてSCSIを使用
すれば7つのデバイスまでを一本のSCSIに接続する
ことが可能である。また、ディスク制御部204に複数
のSCSIを接続することで、さらに多数のディスク装
置202を接続することも可能である。
【0246】演算部203は、U端子、D端子、L端
子、R端子の4つの端子を有し、U端子およびD端子に
より上下に直列に接続される。
【0247】ディスク制御部204には、それぞれ演算
部203がL端子で接続されている。演算部203のR
端子には、それぞれメモリコントローラ207を介して
バッファメモリ208が接続される。
【0248】演算部203の最上段のU端子は0に固定
されている。また、演算部203の最下段のD端子はデ
ータが入出力される端子である。
【0249】メモリコントローラ207は、ディスク装
置204からのデータをバッファメモリ208の指定さ
れたアドレスに格納するとともに、バッファメモリ20
8の指定されたアドレスから読出したデータを演算部2
03に与えるためのものである。
【0250】ディスク制御部204は、演算部203か
らメモリコントローラ207を介してバッファメモリ2
08にデータを転送する。
【0251】中央制御部210は、データ入力の要求、
ディスクからの故障信号、ディスク交換が終ったことを
示す信号を受け付け、各バッファメモリ208に対する
データ書き込みおよびデータ読出しの制御、各演算部2
03の機能の切替え制御、ディスク制御部204への命
令の出力を行なう。また、ディスクの永久的な故障はそ
の旨を外部に知らせる。
【0252】図34に、上記(1)〜(8)の機能を有
する演算部203の内部構成の一例を示す。
【0253】図34に示すように、演算部203は、ゲ
ート回路290〜293、AND回路294,299、
排他的論理和演算回路(EXOR回路)295〜29
7、マルチプレクサ298からなる。
【0254】ゲート回路290はUPOE_X信号によ
り、ゲート回路291はDISKOE_X信号により、
ゲート回路292はDNOE_X信号により、ゲート回
路293はMEMOE_X信号により、それぞれ導通制
御される。
【0255】2入力のAND回路294の一方の出力に
は、MEMEN_X信号が入力される。
【0256】2入力のAND回路299の一方の出力に
は、UPDIS_X信号が入力される。
【0257】2入力のマルチプレクサ298は、BUF
INSEL_X信号により切替え制御される。
【0258】各演算部203は、パリティーの生成、正
常データの読み出しおよびパリティーによるデータの復
元を行なうために、各信号の値に応じて以下のような動
作をする。 (1)U端子およびD端子からの入力の排他的論理和を
とり、R端子から出力する(つまり、バッファメモリ2
08に与える)。U端子から入力したデータが0の場
合、D端子から入力したデータをそのままバッファメモ
リ208に書き込むことになる。 (2)D端子からの入力を、R端子から出力する(つま
り、バッファメモリ208に与える)とともに、U端子
に出力する。 (3)R端子から入力したデータ(つまり、バッファメ
モリ208から読みだしたデータ)とU端子からデータ
の排他的論理和をとり、D端子から出力する。U端子か
ら入力したデータが0の場合、バッファメモリ208か
ら読みだしたデータをそのままD端子から出力すること
になる。 (4)R端子から入力したデータ(つまり、バッファメ
モリ208から読みだしたデータ)とD端子からデータ
の排他的論理和をとり、U端子から出力する。D端子か
ら入力したデータが0の場合、バッファメモリ208か
ら読みだしたデータをそのままU端子から出力すること
になる。 (5)U端子から入力したデータをバイパスしてD端子
から出力する。 (6)D端子から入力したデータをバイパスしてU端子
から出力する。 (7)L端子から入力したデータをバイパスしてR端子
から出力する。これは、ディスク装置202の接続する
接続口からのデータをバッファメモリ208に書き込む
ときに使われる。 (8)R端子から入力したデータをバイパスしてL端子
から出力する。これは、バッファメモリ208から読み
出してディスク装置202の接続する接続口にデータを
送り込むときに使われる。 (9)全端子について非導通状態とする。
【0259】次に、本実施例の動作について図35〜図
44を参照しながら説明する。図35、図37、図3
9、図41、図43にはそれぞれの動作における各演算
部に与える各信号の値を示し、図36、図38、図4
0、図42、図44にはそれぞれの動作の概要を示すと
ともに、各動作において各演算部が上記(1)〜(9)
のいずれの状態にあるかを示す。
【0260】(1)まず、ディスク装置202への書き
込みについて説明する。
【0261】ディスク装置202に新しいデータを書き
込む場合は、まず、データをn個の組に分割する。そし
て、1個目からn−1個目までのブロックを順次バッフ
ァメモリ208に書き込み(動作1)、n個目をn+1
番目のバッファメモリ208に書き込むとともに、先に
書き込んでおいた1個目からn−1個のブロックおよび
n個目のブロックの排他的論理和をとり、n+1番目の
バッファメモリ208に書き込む(動作2)。
【0262】以下、動作1および動作2について具体的
に説明する。
【0263】<動作1>書き込むデータは、4個の同じ
長さのブロックに分割する。
【0264】ブロック0は#0のバッファメモリに、ブ
ロック1は#1のバッファメモリに、ブロック2は#2
のバッファメモリのバッファメモリに順に書き込むよう
に演算部203を制御部が切替える。
【0265】図35には、#1のバッファメモリに書き
込む場合の演算部203の信号を示す。
【0266】図36には、#1のバッファメモリへの書
き込みのデータパスを示す。
【0267】<動作2>ここでは、ブロック3を#4の
バッファメモリへ書き込むと同時に、パリティーを生成
し、#3のバッファメモリへ書き込む。
【0268】このときに演算部203に与える信号は図
37のようになる。図38には、このときの各演算部2
03の働きとデータの流れを示す。
【0269】ブロック3は、#4の演算部が上記(2)
の動作をすることにより、#4のバッファメモリに書き
込まれる。
【0270】また、このときに既に#0〜#2のバッフ
ァメモリに格納してあるブロック0〜2の排他的論理和
が#2の演算部のD端子にあらわれ、これと#4の演算
部のU端子にあらわれるブロック3の排他的論理和をと
ったものがパリティーとして#3のバッファメモリに書
き込まれる。
【0271】なお、#0〜#4のバッファメモリに書き
込まれた、ブロック0、ブロック1、ブロック2、パリ
ティー、ブロック3の各データは、それぞれ対応する#
0〜#4のディスク装置に書き込まれる。なお、5つの
演算部はすべて、上記の(8)の動作をとる。
【0272】次に、ディスク装置202が永久的に故障
した場合の修復について説明する。
【0273】ディスク装置202からバッファメモリ2
08への読みだし時に、ひとつのディスク装置202の
接続する接続口にディスク装置202の故障を示す信号
が入力されたときは、故障に対応するディスク装置20
2を中央制御部210が記録し、外部に故障が起こった
こととディスク装置202を知らせ、故障したディスク
装置の交換後、故障したディスクに対応するディスクの
接続された接続口以外の接続口から故障したディスク装
置202に対応する他のデータをn個のバッファメモリ
に読みだし(動作3)、n個のバッファメモリ208の
排他的論理和をとり、残った1個のバッファメモリ20
8に書き込み(動作4)、このバッファメモリ208か
ら故障後に交換したディスク装置202に書き込みの命
令を発行する(動作5)。
【0274】以下、動作3〜動作5について具体的に説
明する。
【0275】<動作3>ここでは、故障したディスク装
置202は、12のディスク制御部に接続されていたも
のとする。
【0276】中央制御部210は、故障の信号を12の
ディスク制御部より知らされ、これが一定の回数起こる
と、永久故障と判断する。中央制御部210は、外部に
信号を出して、故障したディスク装置202の交換が必
要なことを知らせる。
【0277】ディスク装置202が交換された後、中央
制御部210は、交換したディスク装置202に入って
いた元の情報を復元するために、ディスク装置202の
接続する接続口から対応するバッファメモリ208にデ
ータを書き込ませる。その際、ディスク装置202に対
する読み出しのブロックは、n+1個の排他的論理和を
とると0になるようにディスク装置202に読み出しの
命令を発行する。
【0278】例えば、この場合、#0、#2、#3およ
び#4のディスク制御部に対し、交換したディスク装置
202に入っていたデータブロックと組になるデータブ
ロックを読み出す命令を送る。
【0279】命令を受けた#0、#2、#3および#4
のディスク制御部204は、該当するディスク装置20
2からデータブロックを読みだし、#0、#2、#3、
#4のバッファメモリに書き込む。
【0280】このとき、演算部203は図39に示され
るように切替えられ、データパスは図40のようにな
る。
【0281】ただし、この場合、#1のバッファメモリ
に読み出されたデータブロックは使用されない。
【0282】<動作4>データブロックが読み出される
と、修復データを#1のバッファメモリに作る。すなわ
ち、#0、#2、#3および#4のバッファメモリのデ
ータブロックの排他的論理和を#1のバッファメモリに
書き込む。
【0283】このときに演算部203に与える信号は図
41のようになる。なお、#4の排他的論理和部には0
を入力する。
【0284】図42には、このときの各演算部203の
働きとデータの流れを示す。
【0285】<動作5>#1のバッファメモリに修復デ
ータが書き込まれると、このデータブロックをディスク
装置202に書き込んで修復動作が終了する。
【0286】図43に演算部203のデータパスを切替
える信号を、図44にデータパスを示す。
【0287】なお、ディスク交換時の修復動作は、ディ
スク装置202の容量がバッファメモリ208より大き
いのが普通であるので、ディスク装置全体の容量を複数
のデータブロックに分割し、一回の動作で一つのデータ
ブロックが修復され、これを複数回行なってディスク装
置全体を修復する。
【0288】以上のように本実施形態によれば、ディス
クに書き込むパリティの生成および故障したディスクを
復元するための情報の生成が高速に行なえるとともに、
少ないハードウェア構成で可能である。
【0289】なお、本実施形態では排他的論理和を用い
たが、排他的論理積を用いても簡単な回路の変更だけで
容易に実施可能なことは自明である。
【0290】また、上記した実施形態では演算部203
は直列に接続されているが、タイミング制約を満たすた
めに演算部203の接続部にパイプラインレジスタを加
えることも可能である。
【0291】また、以上の実施形態では、ディスク装置
202からバッファメモリ208の転送と、バッファメ
モリ208からの読み出しを逐次的に行なう方法を説明
したが、バッファメモリ208がダブルバッファを構成
し、ディスク装置202からの転送とともにバッファメ
モリ208を読み出すことも可能である。
【0292】また、ディスクの読み出しの一時的なエラ
ーのためにディスク装置202がリトライ動作を行な
い、アクセスが規定時間内に終らなかった場合に、ディ
スク制御部204はディスク装置202のエラーとして
知らせることで、ディスク装置202の故障と等価に扱
うことも可能である。
【0293】上記した手法は、図1等を用いて説明した
先の実施形態に適用することができる。この場合、ディ
スク装置202がデータ記憶装置2に対応し、ディスク
制御部204がデータ記憶制御装置4に対応し、中央制
御部210が中央制御装置10に対応する。また、図2
6に示されているバッファメモリ208は、図1の1台
の通信制御装置6バッファ記憶装置8に接続されたバッ
ファ記憶装置8に対応する。演算部203は、データ記
憶制御部4とこれに対応する1または複数のバッファ記
憶部8との間にそれぞれ接続する。このように適用した
構成例を図46に示す。
【0294】また、図11や図12のシステムに適用す
る場合、演算部203は、1つのバス20を共有するデ
ータ記憶制御部4の群とこれに対応する1または複数の
バッファ記憶部8との間にそれぞれ接続する。
【0295】さて、図26〜46を用いて説明した実施
形態ではRAID4またはRAID5に基づいた実施に
ついて詳しく述べた。前述の実施形態では、連続したデ
ータはあるブロックのサイズで複数のディスク制御装置
に跨るように配置されていた。
【0296】以下では、別の実施形態としてRAID3
に基づいた実施について図を参照しながら説明する。図
47は本実施形態に係るシステムの構成を示している。
【0297】複数のディスク制御部304は各々対応す
るメモリコントローラ307に接続され、各々のメモリ
コントローラ307には対応するバッファメモリ308
が接続される。メモリコントローラ307は共通のバス
(Vbus)に接続され、VbusはRAIDコントロ
ーラ303に接続されている。RAIDコントローラ3
03のVbusと反対側は入出力バスであり、ここでデ
ータの入出力を行なう。中央制御部301はディスク制
御部304やメモリコントローラ307、RAIDコン
トローラ303に接続され、これらを制御している。
【0298】この装置の動作を説明する前に、図55を
参照しながらRAID3におけるディスク装置のデータ
配置方法について説明する。
【0299】まず、連続したデータはある一定の長さの
ブロック(例えば128KByte)で分割され管理さ
れる。ディスクへのアクセスはこのブロックを単位とし
てある一定の時間内(例えば100msec)に行なわ
れる。この一定の時間はタイムスロットと呼ばれてい
る。ディスク装置302はRAIDグループと呼ばれる
グループに分けられている。一つのRAIDグループは
一つのタイムスロットで並列に読み書きされる。
【0300】図55の例ではRAIDグループが二つあ
り、交互にアクセスされている。元データはまずRAI
Dグループに分割され、さらにRAIDグループ内部で
はワード毎にディスク制御部に跨るように配置される。
例えば、元データは0−1,1−1,2−1,3−1,
0−2,1−2,2−2,3−2,…のようにワード単
位のデータが並んで連続するデータを構成しており、こ
のうちの0−1〜3−100、0−201〜3−30
0、…がRAIDグループ1へ、0−101〜3−20
0、0−301〜3−400、…がRAIDグループ2
へ割り当てられる。そして、0−1は#0の行のディス
ク装置の1番目のデータとして、1−1は#1の行のデ
ィスク装置の1番目のデータとして、…0−2は#0の
行のディスク装置の2番目のデータとして、…すなわち
m−nは#mの行のディスク装置のn番目のデータとし
て割り当てられる。
【0301】さらに図55の例では4ワードに対して1
つのパリティワードを加えるように構成されているの
で、#4の行のディスク装置のx番目のデータとしては
0−x,1−x,2−x,3−xの排他的論理和が入る
ようになっている。
【0302】一つのタイムスロットで読み出されるRA
IDグループのデータはバッファメモリ308にブロッ
ク単位で書き込まれる。すなわち、#mの行のバッファ
メモリには、m−1,m−2,…m−100が1ブロッ
クのデータとして書き込まれる。
【0303】そして、バッファメモリ#0,#1,#
2,…から順にデータをワード毎に読み出せば、元のデ
ータ0−1,1−1,2−1,…が読み出せる。このよ
うに順にワード毎にデータを読み出すには、Vbusを
時分割で使用すれば、効率が良い。
【0304】以下では図47のシステムがどのように動
作するかについて説明し、さらにRAIDコントローラ
303の構成について説明する。
【0305】まず、ディスク読み出し時の故障を訂正す
る動作の説明を図48に示す。図48ではバッファメモ
リとRAIDコントローラの働きを中心に説明する。
【0306】ディスク装置の故障が起こると中央制御部
310にディスク制御部から信号が伝達され、中央制御
部はどのようにRAIDコントローラ303を制御する
かを決定する。
【0307】図48では#2のディスク装置が故障した
と仮定する。この時#2のバッファメモリ308には不
正な値が入っている。バッファメモリから出力に読み出
す時は、中央制御部310が制御信号を発生し、バッフ
ァメモリからVbusを時分割で使用しa,b,d,e
の順でRAIDコントローラ303にデータが入力され
る。RAIDコントローラ303の内部のFIFO34
9はこのうちa,b,dを記憶するよう中央制御部31
0の指示により動作する。
【0308】一方アキュムレータ347には排他的論理
和部345により演算されたa,b,d,eの排他的論
理和の値すなわち故障したディスク装置に入っていた値
cが蓄積されている。これを中央制御部の指示によりマ
ルチプレクサ341を所定のタイミングで切替えれば、
出力にはa,b,c,dの順にデータが出力される。
【0309】図49は図48の動作をタイミングチャー
トで示したものである。サイクル1,2,4,5でa,
b,d,eの値をVbusに読みだし、FIFO349
にはa,b,dの値のみを書き込むために中央制御部3
10の指示によりFIFOWrite信号が与えられ
る。FIFO Read信号はアキュムレータからcが
出力する以外のタイミングでFIFO349からデータ
を読み出すために中央制御部310から与えられる。
【0310】上述の例では#2のディスク装置が故障し
たものとして説明を行なったが、故障がない場合はFI
FO349をVbusからのデータが通過するように制
御すればよい。あるいは、故障がない場合にも、複数の
バッファメモリのうち1個が不正な値を持つものとして
制御を行ってもよい。
【0311】次に、ディスク装置に書き込む動作の説明
を図50に示す。データを書き込むのは、ビデオサーバ
ーなどの用途では映画などのコンテンツをディスク装置
にロードする場合で、これはネットワークから通信制御
部を経由してRAIDコントローラに与えられる場合
と、RAIDコントローラにテープドライブやビデオエ
ンコーダなどのデバイスを直接接続する場合が考えられ
る。
【0312】RAIDコントローラ303の入力とし
て、時系列でワード単位のデータがa,b,c,dの順
に与えられる。このデータはVbusに順に与えられる
と同時に、排他的論理和部335とアキュムレータ33
7によりa,b,c,dの排他的論理和eが計算され
る。続いてマルチプレクサ331を切替えてeをVbu
sに出力する。
【0313】図51にはタイミングチャートを示した、
Vbusにはa,b,c,d,eの順に出力され、バッ
ファメモリ(1)からバッファメモリ(5)に順にデー
タが書き込まれ、これが1タイムスロット分バッファメ
モリに溜ると、中央制御装置の指示によりディスク制御
部からディスク装置に書き込まれる。図50で説明した
動作により、ディスク装置に書き込む際にハードウェア
によりパリティを作成することができる。
【0314】さて、RAID構成でディスク装置が故障
した場合には故障したディスク装置を交換し、故障した
ディスク装置に入っていた情報を新しく交換したディス
ク装置に復元しなければならない。この操作は、まず、
故障したディスク装置を交換し、故障したのと同じRA
IDグループに属するディスク装置のデータの排他的論
理和をとったものを新しいディスク装置に書き込むこと
で行なう。ディスク装置の容量は1つのタイムスロット
では処理しきれないので、複数のタイムスロットを使っ
て故障したディスク装置を復元する。
【0315】図52はこの動作を示したものである。図
52では#2に接続されるディスク装置に故障があって
交換したと仮定する。まず、中央制御部の指示によりバ
ッファメモリ(1)、バッファメモリ(2)、バッファ
メモリ(4)、バッファメモリ(5)には故障したディ
スク装置と同じRAIDグループに属するディスク装置
から1タイムスロット分のデータがコピーされる。
【0316】次にこのデータを1ワード分ずつ、a,
b,d,eの順でVbusに転送する。Vbusの値を
受けたRAIDコントローラは排他的論理和部345に
よりこれらの排他的論理和cを計算しアキュムレータ3
47にこの値を蓄積する。そして、適当なタイミングで
このcをVbusに出力する。
【0317】図53はこの動作のタイミングチャートを
示している。サイクル1,2,4,5でa,b,d,e
の値を読み出し、サイクル5で求めた排他的論理和cを
サイクル7でバッファメモリ(3)に書き込む。1ワー
ドずつの操作を1タイムスロット分のデータについて行
なったら、これらのデータを中央制御部の指示によりバ
ッファメモリからメモリコントローラ307、ディスク
制御部304を介してディスク装置302に書き込む。
これを交換したディスク装置の必要な部分について繰り
返せば、ディスク装置に入っていたデータの復元が可能
となる。
【0318】図54はRAIDコントローラの内部のデ
ータパスを説明する図である。図54を図48、図5
0、図52とともに参照し、各部の対応を説明する。図
48におけるマルチプレクサ341は図54におけるマ
ルチプレクサ(2)341であり、バッファ(2)34
3が図48では省略されている。図48の排他的論理和
部345は図54の排他的論理和部(2)345であ
り、アキュムレータ347はアキュムレータ(2)34
7である。
【0319】図50で示されるマルチプレクサ331は
図54のマルチプレクサ(1)331であり図54のバ
ッファ(1)333は省略されている。図50で示され
るアキュムレータ337と排他的論理和部335は図5
4のアキュムレータ(1)337と排他的論理和部
(1)335に対応する。
【0320】図52で示されるアキュムレータ347お
よび排他的論理和部345は、バッファメモリからの読
み出し時に使用されるアキュムレータと同一で、図54
のアキュムレータ(2)347、および排他的論理和部
345である。図52ではマルチプレクサ331は省略
されバッファ(1)333を経由してVbusに値が与
えられる。
【0321】図56はこの実施形態をビデオサーバなど
の連続データサーバに適用した場合の図である。Vbu
sを複数に分散することで入出力に大きいバンド幅を確
保することができる。
【0322】本発明は、上述した実施の形態に限定され
るものではなく、その技術的範囲において種々変形して
実施することができる。
【0323】
【発明の効果】本発明に係る連続データサーバ装置によ
れば、データ記憶制御部と通信制御部の組それぞれまた
はいくつかのデータ記憶制御部からなる群といくつかの
通信制御部からなる群の組それぞれに対して、その間の
データの受け渡し専用のバッファ記憶部を設けるととも
に、各データ記憶制御部と各通信制御部は、それがアク
セスする必要のあるバッファ記憶部を含む一部のバッフ
ァ記憶部のみと接続している。
【0324】このため、データ記憶制御部とバッファ記
憶部の間のデータパスおよびバッファ記憶部と通信制御
部の間のデータパスの多重度を上げることができ、連続
データへの同時アクセスユーザ数を増加させることが可
能になる。
【0325】さらに、従来のように高コストを要する転
送速度の大きいバスやスイッチを使う必要がないので、
コストの増大を招くことなく、連続データへの同時アク
セスユーザ数を増加させることができる。
【0326】また、本発明の連続データ転送方法では、
要求された連続データを記憶する前記データ記憶部が接
続された前記データ記憶制御部が、該連続データを読み
出して、当該データ記憶制御部と該連続データの転送先
に通じる通信路を収容している前記通信制御部とに接続
された専用のバッファ記憶部に書き込み、当該通信制御
部はこの記バッファ記憶部内に書き込まれている前記連
続データを読み出して、所定の通信路に送り出す。
【0327】このため、データ記憶制御部とバッファ記
憶部の間のデータパスおよびバッファ記憶部と通信制御
部の間のデータパスの多重度を上げることができ、連続
データへの同時アクセスユーザ数を増加させることが可
能になる。
【0328】さらに、高コストを要する転送速度の大き
いバスによりデータパスの転送能力を上げる必要がない
ので、コストの増大を招くことなく、連続データへの同
時アクセスユーザ数を増加させることができる。
【0329】本発明に係るディスクアレイ装置によれ
ば、接続するディスク装置およびバッファ記憶部の各系
統に種々の機能を有する演算部を専用に設け、これらを
直列に接続したので、例えば、ディスク装置の故障に対
処するためのデータ復元処理やパリティーの生成を少な
いハードウェア構成で実現可能であるとともに、ハード
ウェアで処理を行なうので処理の高速化を図ることがで
きる。
【図面の簡単な説明】
【図1】本発明の一つの実施の形態に係る連続データサ
ーバ装置の構成の一例を示す図
【図2】同実施の形態の連続データサーバ装置の動作を
説明するための図
【図3】連続データの構造を説明するための図
【図4】同実施の形態の中央制御装置の動作の流れを示
すフローチャート
【図5】同実施の形態の連続データサーバ装置の動作を
説明するための図
【図6】同実施の形態の連続データサーバ装置の動作を
説明するための図
【図7】同実施の形態の連続データサーバ装置の動作を
説明するための図
【図8】同実施の形態のバッファ記憶装置の管理方式の
一例を説明するための図
【図9】同実施の形態のバッファ記憶装置の管理方式の
他の例を説明するための図
【図10】同実施の形態のバッファ記憶装置の管理方式
のさらに他の例を説明するための図
【図11】同実施の形態の連続データサーバ装置の他の
構成例を示す図
【図12】同実施の形態の連続データサーバ装置のさら
に他の構成例を示す図
【図13】2ポートメモリの一例を示す図
【図14】2ポートメモリの他の例を示す図
【図15】2ポートメモリのさらに他の例を示す図
【図16】2ポートメモリをバッファ記憶装置として用
いた例を示す図
【図17】データ記憶制御装置から見たアドレス空間の
一例を示す図
【図18】通信制御装置から見たアドレス空間の一例を
示す図
【図19】2ポートメモリの一例を示す図
【図20】データ記憶制御装置とバッファ記憶装置の接
続方式の一例を示す図
【図21】通信制御装置とバッファ記憶装置の接続方式
の一例を示す図
【図22】通信制御装置とバッファ記憶装置の接続方式
の他の例を示す図
【図23】VRAMの一例を示す図
【図24】VRAMをバッファ記憶装置として用いた例
を示す図
【図25】電子計算機を用いて連続データサーバ装置を
構成した例を示す図
【図26】本発明の他の実施の形態に係るディスクアレ
イ装置の構成の一例を示す図
【図27】同実施の形態の中央制御部の動作の流れを示
すフローチャート
【図28】HITANY信号の生成回路の一例を示す図
【図29】同実施の形態の演算部の構成の一例を示す図
【図30】マルチプレクサを切替える論理を示す図
【図31】ストライピングしたマルチメディアデータを
再生するシステムの一例を説明するための図
【図32】データベースを分散配置するデータベースサ
ーバの一例を説明するための図
【図33】本発明のさらに他の実施の形態に係るディス
クアレイ装置の構成の一例を示す図
【図34】同実施の形態の演算部の構成の一例を示す図
【図35】同実施の形態において演算部に与える各信号
の値の一例を示す図
【図36】同実施の形態の一つの動作を説明するための
【図37】同実施の形態において演算部に与える各信号
の値の一例を示す図
【図38】同実施の形態の他の動作を説明するための図
【図39】同実施の形態において演算部に与える各信号
の値の一例を示す図
【図40】同実施の形態のさらに他の動作を説明するた
めの図
【図41】同実施の形態において演算部に与える各信号
の値の一例を示す図
【図42】同実施の形態のさらに他の動作を説明するた
めの図
【図43】同実施の形態において演算部に与える各信号
の値の一例を示す図
【図44】同実施の形態のさらに他の動作を説明するた
めの図
【図45】連続データサーバ装置の実施の形態の一例を
示す図
【図46】連続データサーバ装置のさらに別の実施の形
態の一例を示す図
【図47】ディスクアレイ装置の実施の形態の一例を示
す図
【図48】同実施の形態のデータ読み出しに係る説明の
【図49】同実施の形態のデータ読み出しに係るタイミ
ングの説明の図
【図50】同実施の形態のデータ書き込みに係る説明の
【図51】同実施の形態のデータ書き込みに係るタイミ
ングの説明の図
【図52】同実施の形態のデータ修復に係る説明の図
【図53】同実施の形態のデータ修復に係るタイミング
の説明の図
【図54】同実施の形態のRAIDコントローラの説明
の図
【図55】RAID3方式のデータとディスク装置への
配置の関係を説明する図
【図56】同実施の形態の連続データサーバ装置への適
用の説明の図
【図57】従来の連続データサーバ装置の一例を示す図
【図58】従来の連続データサーバ装置の他の例を示す
【図59】従来の連続データサーバ装置のさらに他の一
例を示す図
【符号の説明】
2,2−1〜2−8…データ記憶装置 4,4−1〜4−4…データ記憶制御装置 6,6−1〜6−2…通信制御装置 8,8−1〜8−8…バッファ装置 10,10a,10b…中央制御装置 20,21…バス 23…セレクタ 30,30a…2ポートメモリ 32,40…デコーダ 36〜38…AND回路 45〜48…ゲート回路 50〜53,58…排他的論理和回路 54〜57…AND回路 70,80…メモリコントローラ 71,81,82…メモリ 90…VRAM 102,202,302…ディスク装置 103,203…演算部 303…RAIDコントローラ 104,204,304…ディスク制御部 107,207,307…メモリコントローラ 108,208,308…バッファメモリ 110,210,310…中央制御部 120…ディスクアレイ装置 121…データベース処理装置 131,295〜297…排他的論理和演算回路 132,298,331,341…マルチプレクサ 133…デコード部 181〜182,294,299…AND回路 186…OR回路 290〜293…ゲート回路 312…通信制御部 333…バッファ(1) 335…排他的論理和部(1) 337…アキュムレータ(1) 343…バッファ(2) 345…排他的論理和部(2) 347…アキュムレータ(2) 349…FIFO
───────────────────────────────────────────────────── フロントページの続き (72)発明者 天野 真家 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】連続データを記憶するデータ記憶部から所
    望の連続データを読み出す複数のデータ記憶制御部と、 前記データ記憶制御部によって読み出された前記連続デ
    ータを保持するための複数のバッファ記憶部と、 前記バッファ記憶部に保持されている前記連続データを
    読み出し、収容した通信路に送り出す少なくとも1つの
    通信制御部とを備え、 前記バッファ記憶部を1つの前記データ記憶制御部と1
    つの前記通信制御部とからなる組合せのそれぞれに対し
    て専用に少なくとも1つずつ設けたことを特徴とする連
    続データサーバ装置。
  2. 【請求項2】連続データを記憶するデータ記憶部から所
    望の連続データを読み出す複数のデータ記憶制御部と、 前記データ記憶制御部によって読み出された前記連続デ
    ータを保持するための複数のバッファ記憶部と、 前記バッファ記憶部に保持されている前記連続データを
    読み出し、収容した通信路に送り出す少なくとも1つの
    通信制御部とを備え、 前記バッファ記憶部を、1つ又は複数のデータ記憶制御
    部からなる1つのデータ記憶制御部群と1つ又は複数の
    通信制御部からなる1つの通信制御部群とからなる群の
    組合せのそれぞれに対して少なくとも1つずつ専用に存
    在するように設けたことを特徴とする連続データサーバ
    装置。
  3. 【請求項3】少なくとも1つの前記バッファ記憶部は、
    該バッファ記憶部に書き込みを行なう前記データ記憶制
    御部群を複数受持つものであり、 複数の前記データ記憶制御部群を受持つ前記バッファ記
    憶部は、アクセス要求のあった連続データを記憶する前
    記データ記憶部に対応する前記データ記憶制御部の属す
    る前記データ記憶制御部群を選択する選択手段を有する
    ことを特徴とする請求項1または2に記載の連続データ
    サーバ装置。
  4. 【請求項4】前記データ記憶部は、連続データを分割し
    て順に記憶させた複数のデータ記憶装置からなることを
    特徴とする請求項1または2に記載の連続データサーバ
    装置。
  5. 【請求項5】前記データ記憶制御部群と前記バッファ記
    憶部との間を接続するパスと、前記通信制御部群と前記
    バッファ記憶部との間を接続するパスとを互いに独立し
    て設けたことを特徴とする請求項2に記載の連続データ
    サーバ装置。
  6. 【請求項6】前記データ記憶制御部群と前記バッファ記
    憶部との間を接続するパスを、各々の前記データ記憶制
    御部群ごとに独立して設けたことを特徴とする請求項5
    に記載の連続データサーバ装置。
  7. 【請求項7】前記通信制御部群と前記バッファ記憶部と
    の間を接続するパスを、各々の前記通信制御部群ごとに
    独立して設けたことを特徴とする請求項5に記載の連続
    データサーバ装置。
  8. 【請求項8】連続データを記憶したデータ記憶装置から
    所望の連続データを読み出す複数のデータ記憶制御装置
    と、読み出された該連続データを保持するためのバッフ
    ァ記憶装置と、該バッファ記憶装置に保持された該連続
    データを通信路に送り出す少なくとも1つの通信制御装
    置とを備え、前記バッファ記憶装置を1つのデータ記憶
    制御装置と1つの通信制御装置とからなる組合せすべて
    に対して専用に少なくとも1つずつ設けた連続データサ
    ーバ装置において要求された連続データを要求された転
    送先に転送するための連続データ送出方法であって、 外部から連続データのアクセス要求を受け付け、 要求された連続データを記憶する前記データ記憶装置が
    接続された前記データ記憶制御装置と、該連続データの
    転送先に通じる通信路を収容している前記通信制御装置
    とを選択し、 選択した前記データ記憶制御装置に前記データ記憶装置
    に記憶された前記連続データを読み出させ、 前記データ記憶制御装置に読み出した前記連続データを
    当該データ記憶制御装置と選択した前記通信制御装置と
    に接続された専用の前記バッファ記憶装置に書き込ま
    せ、 前記通信制御装置に前記バッファ記憶装置内に書き込ま
    れている前記連続データを読み出させ、 前記通信制御装置に前記連続データを所定の通信路に送
    り出させることを特徴とする連続データ送出方法。
  9. 【請求項9】外部から受け付けるアクセス要求が複数
    で、これら複数の要求に対応する連続データの読み出し
    および送り出しのタイミングをスケジューリングするス
    テップをさらに含むことを特徴とする請求項8に記載の
    連続データ送出方法。
  10. 【請求項10】データを記憶するディスク装置から所望
    のデータを読み出す複数のディスク制御部と、 前記ディスク制御部によって読み出された前記データを
    保持するために、前記ディスク制御部に対応して設けら
    れた複数のバッファ記憶部と、 対応する前記ディスク制御部と前記バッファ記憶部との
    間にそれぞれ接続された4端子を有する複数の演算部と
    を備え、 前記複数の演算部は直列に接続され、 前記演算部夫々は、所定の1または複数の端子からの入
    力を元に演算処理を行ない、演算結果を残りの端子のう
    ち1つまたは複数のものに出力するものであることを特
    徴とするディスクアレイ装置。
  11. 【請求項11】複数系統のディスク装置を接続する接続
    口を有し、接続した複数系統のディスク装置に対するア
    クセスを並列に行なうディスクアレイ装置において、 前記接続口から入出力するデータを格納するために、該
    接続口夫々に対応して設けたバッファ記憶部と、 対応する前記接続口と前記バッファ記憶部との間にそれ
    ぞれ接続された4端子を有する複数の演算部とを備え、 前記複数の演算部は上下に直列に接続され、 前記演算部夫々は、 バッファ記憶部側の端子から入力したデータと上側の端
    子から入力したデータを元に、排他的論理和演算および
    排他的論理積演算のうち予め定められたいずれか一方の
    論理演算を行ない、演算結果を下側の端子に出力する機
    能と、 上側の端子から入力したデータを下側の端子に出力する
    機能と、 ディスク装置側の端子から入力したデータをバッファ記
    憶部側の端子から出力する機能とを有することを特徴と
    するディスクアレイ装置。
  12. 【請求項12】複数系統のディスク装置を接続する接続
    口を有し、接続した複数系統のディスク装置に対するア
    クセスを並列に行なうディスクアレイ装置において、 前記接続口から入出力するデータを格納するために、該
    接続口夫々に対応して設けたバッファ記憶部と、 対応する前記接続口と前記バッファ記憶部との間にそれ
    ぞれ接続された4端子を有する複数の演算部とを備え、 前記複数の演算部は上下に直列に接続され、 前記演算部夫々は、 上側および下側の端子から夫々入力された2つのデータ
    を元に、排他的論理和演算および排他的論理積演算のう
    ち予め定められたいずれか一方の論理演算を行ない、演
    算結果をバッファ記憶部側の端子に出力する機能と、 下側の端子から入力されたデータをバッファ記憶部側の
    端子および上側の端子に出力する機能と、 バッファ記憶部側の端子から入力したデータと上側の端
    子から入力したデータを元に、前記一方の論理演算行な
    い、演算結果を下側の端子に出力する機能と、 バッファ記憶部側の端子から入力したデータと下側の端
    子から入力したデータを元に、前記一方の論理演算行な
    い、演算結果を上側の端子に出力する機能と、 上側の端子から入力したデータを下側の端子に出力する
    機能と、 下側の端子から入力したデータを上側の端子に出力する
    機能と、 ディスク装置側の端子から入力したデータをバッファ記
    憶部側の端子から出力する機能と、 バッファ記憶部側の端子から入力したデータをディスク
    装置側の端子から出力する機能とを有することを特徴と
    するディスクアレイ装置。
  13. 【請求項13】前記データ記憶制御部群と対応する1ま
    たは複数の前記バッファ記憶部との間にそれぞれ接続さ
    れた4端子を有する複数の演算部をさらに備え、 前記複数の演算部は直列に接続され、 前記演算部夫々は、所定の1または複数の端子からの入
    力を元に演算処理を行ない、演算結果を残りの端子のう
    ち1つまたは複数のものに出力するものであることを特
    徴とする請求項2に記載の連続データサーバ装置。
  14. 【請求項14】連続データを記憶するディスク装置から
    所望のデータをブロック単位で読み出す複数のディスク
    制御部と、 前記ディスク制御部によって読み出されたデータを保持
    するために、前記ディスク制御部に対応して設けられた
    複数のバッファ記憶部とを備え、 前記ディスク装置には連続するデータがワード単位で前
    記複数のディスク制御部に跨るように記憶されており、 前記複数のバッファ記憶部に保持されたブロック単位の
    データをワード単位で前記複数のバッファ記憶部から順
    次読み出すことを特徴とするディスクアレイ装置。
  15. 【請求項15】前記複数のバッファ記憶部に接続される
    演算部を更に備え、 この演算部は、順次読み出された複数の前記ワード単位
    のデータのうちの一部を記憶する機能と、順次読み出さ
    れた複数の前記ワード単位のデータのうちの一部の排他
    的論理和を計算する機能と、この排他的論理和の計算結
    果及び前記記憶されたデータを所望の順序で出力する機
    能とを含むことを特徴とする請求項14に記載のディス
    クアレイ装置。
  16. 【請求項16】前記複数のバッファ記憶部に接続される
    演算部を更に備え、 この演算部は、本装置の外部から入力される複数のワー
    ド単位のデータの排他的論理和を計算する機能と、この
    排他的論理和の計算結果及び前記入力されたデータを所
    望の順序で前記複数のバッファ記憶部に対し順次送り出
    す機能とを含むことを特徴とする請求項14に記載のデ
    ィスクアレイ装置。
  17. 【請求項17】前記演算部は、前記排他的論理和の計算
    結果を蓄積する機能と、この蓄積された値を所定のタイ
    ミングで前記複数のバッファ記憶部のうちの一つに送り
    出す機能とを更に含み、この送り出され前記複数のバッ
    ファ記憶部のうちの一つに保持されることとなった値を
    対応する前記ディスク制御部によって前記ディスク装置
    へ書き込むことを特徴とする請求項15に記載のディス
    クアレイ装置。
  18. 【請求項18】前記複数のバッファ記憶部からデータを
    読み出すためのバスを更に備え、 このバスを時分割で使用することによりデータをワード
    単位で前記複数のバッファ記憶部から順次読み出す処理
    を行うことを特徴とする請求項14乃至17に記載のデ
    ィスクアレイ装置。
  19. 【請求項19】前記データ記憶部には連続するデータが
    ワード単位で前記複数のデータ記憶制御部に跨るように
    記憶されており、 前記データ記憶制御部による読み出しはブロック単位で
    行われ、 前記複数のバッファ記憶部に保持されたブロック単位の
    データをワード単位で前記複数のバッファ記憶部から順
    次読み出して得られる連続データを、収容した通信路に
    送り出すものであることを特徴とする請求項1に記載の
    連続データサーバ装置。
JP31557895A 1995-02-17 1995-12-04 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置 Expired - Fee Related JP3600334B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP31557895A JP3600334B2 (ja) 1995-02-17 1995-12-04 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置
EP96102361A EP0727750B1 (en) 1995-02-17 1996-02-16 Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses
US08/603,759 US5862403A (en) 1995-02-17 1996-02-16 Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses
DE69632424T DE69632424T2 (de) 1995-02-17 1996-02-16 Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2974995 1995-02-17
JP7-29749 1995-09-14
JP7-236999 1995-09-14
JP23699995 1995-09-14
JP31557895A JP3600334B2 (ja) 1995-02-17 1995-12-04 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置

Publications (2)

Publication Number Publication Date
JPH09138735A true JPH09138735A (ja) 1997-05-27
JP3600334B2 JP3600334B2 (ja) 2004-12-15

Family

ID=27286709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31557895A Expired - Fee Related JP3600334B2 (ja) 1995-02-17 1995-12-04 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置

Country Status (1)

Country Link
JP (1) JP3600334B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228435B2 (en) 2001-11-08 2007-06-05 Nec Corporation Program executing method in service system and program executing apparatus for the same
JP2010055637A (ja) * 2009-12-07 2010-03-11 Hitachi Ltd ディスクアレイ装置及びその制御方法
JP2012509523A (ja) * 2008-11-19 2012-04-19 エルエスアイ コーポレーション Raid情報のメモリ効率検査
US8929018B2 (en) 1999-04-05 2015-01-06 Hitachi, Ltd. Disk array unit
JP2016139298A (ja) * 2015-01-28 2016-08-04 京セラドキュメントソリューションズ株式会社 画像処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8929018B2 (en) 1999-04-05 2015-01-06 Hitachi, Ltd. Disk array unit
US7228435B2 (en) 2001-11-08 2007-06-05 Nec Corporation Program executing method in service system and program executing apparatus for the same
JP2012509523A (ja) * 2008-11-19 2012-04-19 エルエスアイ コーポレーション Raid情報のメモリ効率検査
JP2014041664A (ja) * 2008-11-19 2014-03-06 Lsi Corp Raid情報のメモリ効率検査
JP2010055637A (ja) * 2009-12-07 2010-03-11 Hitachi Ltd ディスクアレイ装置及びその制御方法
JP2016139298A (ja) * 2015-01-28 2016-08-04 京セラドキュメントソリューションズ株式会社 画像処理装置

Also Published As

Publication number Publication date
JP3600334B2 (ja) 2004-12-15

Similar Documents

Publication Publication Date Title
EP0727750B1 (en) Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses
US6449730B2 (en) Loosely coupled mass storage computer cluster
US8065590B2 (en) Disk controller methods and apparatus with improved striping, redundancy operations and interfaces
US5862312A (en) Loosely coupled mass storage computer cluster
US6567926B2 (en) Loosely coupled mass storage computer cluster
JP4314651B2 (ja) ディスクアレイ装置及びデータ記録再生方法
EP0646858B1 (en) Data storage system architecture
JP2576846B2 (ja) クラスタ制御装置及びクラスタ接続多重多重プロセッシング・システム
US5720027A (en) Redundant disc computer having targeted data broadcast
US6877059B2 (en) Communications architecture for a high throughput storage processor
JP3742494B2 (ja) 大容量記憶装置
US5608891A (en) Recording system having a redundant array of storage devices and having read and write circuits with memory buffers
EP1061766A2 (en) Data striping based switching system
JPH0926854A (ja) データを格納し供給するサーバー・システム
WO1997015942A9 (en) Loosely coupled mass storage computer cluster
US7743308B2 (en) Method and system for wire-speed parity generation and data rebuild in RAID systems
US6301711B1 (en) System and method for the network support of full motion video using a redundant array of inexpensive disks
JPH10133828A (ja) マルチメディアサーバ用ディスクアレイ装置
US5923839A (en) Data storage system, data transfer method, and data reconstruction method
JP3600334B2 (ja) 連続データサーバ装置、連続データ送出方法及びディスクアレイ装置
US5892780A (en) Data storage system and parity generation method for data storage system
US6449248B1 (en) Method to increase bandwidth of a cluster system
Chang et al. The designs of RAID with XOR engines on disks for mass storage systems
JPH09297663A (ja) ディスクアレイ装置
JPH11288359A (ja) ファイル管理システムおよび方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040818

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: 20040914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040916

LAPS Cancellation because of no payment of annual fees