JPH11119922A - データ記憶システム及び冗長データ書き込み制御方法 - Google Patents

データ記憶システム及び冗長データ書き込み制御方法

Info

Publication number
JPH11119922A
JPH11119922A JP9285005A JP28500597A JPH11119922A JP H11119922 A JPH11119922 A JP H11119922A JP 9285005 A JP9285005 A JP 9285005A JP 28500597 A JP28500597 A JP 28500597A JP H11119922 A JPH11119922 A JP H11119922A
Authority
JP
Japan
Prior art keywords
data
data storage
redundant
storage device
redundant data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9285005A
Other languages
English (en)
Inventor
Ryuta Tanaka
竜太 田中
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP9285005A priority Critical patent/JPH11119922A/ja
Priority to US09/042,334 priority patent/US6813685B1/en
Publication of JPH11119922A publication Critical patent/JPH11119922A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】データ記憶装置へのアクセスを妨げること無く
冗長データ記憶装置への冗長データの書き込みを行える
ようにすることである。 【解決手段】演算及び制御部16は、データディスク1
2−1〜12−nの転送データを監視し、その転送デー
タのパリティデータを演算して、演算結果をメモり17
に書き込む。データディスク12−1〜12−nの転送
データのパリティ演算が終了したならCPU18に通知
する。そして、CPU18から書き込みの指示を受けた
なら、パリティデータを冗長データディスク13に転送
して冗長データの書き込みを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のデータ記憶
装置とデータの読み出し及び書き込みを制御する制御装
置と冗長データを記憶する冗長データ記憶装置とからな
るデータ記憶システム及びその冗長データ書き込み制御
方法に関する。
【0002】
【従来の技術】マルチメディアの分野でユーザに提供す
る動画像データや音楽データが途切れてしまわないよう
にするためには、読み書きするデータの連続アクセスが
保証される必要がある。動画像データ等を途切れること
無くアクセスする仕組みは、ビデオ映像を提供するビデ
オオンデマンド等のシステムに広く利用できる。また、
これらのサービスを提供するためには、システムに障害
が発生したときに対処できるような復旧手段を講じる必
要がある。
【0003】
【発明が解決しようとする課題】ビデオオンデマンド等
のシステムを構成する場合、多数のユーザに高品位の映
像を提供するためには、データを転送するバスの転送効
率を最大限生かしたアクセスを行い、障害が発生した場
合に速やかに復旧するためのパリティディスクを備える
等の工夫が必要である。
【0004】ディスクの高速アクセスと信頼性の問題に
対処する技術としてRAID(Redundant Array of Inex
pensive Disks)が知られている。RAIDでは、パリテ
ィ計算、パリティデータのパリティディスクへの書き込
みが自動で行われるので、パリティデータの書き込みの
ためのバスの使用タイミングを、データ記憶装置へのデ
ータの書き込み及び読み出しを制御する制御装置側から
制御することができない。例えば、データ記憶装置への
アクセスを行うタイミングにパリティディスクへの書き
込みが行われ、データ記憶装置からのデータの読み出
し、あるいはデータ記憶装置へのデータの書き込みが妨
害されることがあった。そのため、予期せぬタイミング
でパリティディスクへのアクセスが発生した場合でも対
処できるようにバスの利用効率を下げる必要があった。
【0005】一方、ビデオオンデマンド等のマルチメデ
ィアサービスの運用に関しては、データ記憶装置のアク
セススケジュールが複雑で、かつ組まれたスケジュール
を完全に保証する必要があるので、パリティディスクへ
の書き込み等の処理が予測不可能なタイミングで入って
くることは問題となる。
【0006】本発明の課題は、データ記憶装置へのアク
セスを妨げることなく、冗長データ記憶装置への冗長デ
ータの書き込みを行えるようにすることである。また、
他の課題はバスの利用効率を高めることである。
【0007】
【課題を解決するための手段】本発明のデータ記憶シス
テムは、データを記憶する複数のデータ記憶装置と、デ
ータ記憶装置に書き込まれるデータの冗長データを記憶
する冗長データ記憶装置と、データ記憶装置に対するデ
ータの書き込み及び読み出しを制御する制御装置とから
なるデータ記憶システムにおいて、データ記憶装置に書
き込まれるデータの冗長データを演算する演算手段と、
演算手段で得られる冗長データを記憶する冗長データ記
憶手段とを有する冗長データ制御装置を備え、制御装置
が、データ記憶装置へのデータの読み出し及び書き込み
と冗長データ制御装置で得られる冗長データの冗長デー
タ記憶装置への書き込みを制御する。
【0008】本発明によれば、冗長データの演算とその
演算結果を記憶することが冗長データ制御装置により行
われ、冗長データ記憶装置への冗長データの書き込みと
データ記憶装置へのデータの読み出し及び書き込みの制
御が、制御装置により行われるので、制御装置がデータ
記憶装置と冗長データ記憶装置のアクセスを総括的に管
理することができる。従って、データ記憶装置へのアク
セスが冗長データ記憶装置への冗長データの書き込みに
より妨害されるのを防止できる。さらに、データ記憶装
置へのアクセスと冗長データ記憶装置へのアクセスの両
方を制御装置が管理できるので、高密度なアクセススケ
ジュールを作成し、それを維持することができ、システ
ムの信頼性を高めると共にバスの利用効率も高めること
ができる。
【0009】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の実施の形態のデ
ータ記憶システムのブロック図である。
【0010】コントローラ11は、内部バスを介して図
示しないメモリ、DMAコントローラ等と接続されてお
り、データディスク12−1〜12−nに記憶されてい
るデータの読み出し及びデータの書き込み制御を行う。
CPU18(データ制御装置)は、内部バスに接続さて
おり、コントローラ11にデータの読み出し及び書き込
みの指示を与えると共に、後述する冗長データ制御部1
4に冗長データの冗長データディスク13への書き込み
の指示を与える。
【0011】データディスク12ー1〜12−nには、
例えば、画像データ等の連続したデータが一定のブロッ
ク単位に分割されて順に記憶されている。冗長データデ
ィスク13は、障害発生時にデータを再生するための冗
長データを記憶する記憶装置である。
【0012】冗長データ制御部(冗長データ制御装置)
14は、CPUインターフェイス15と演算及び制御部
16とメモリ17とを有する。演算及び制御部16は、
転送中のデータを監視し、パリティデータ生成の演算を
行い、得られたパリティデータをメモリ17に書き込
む。また、演算及び制御部16は、データディスク12
−1〜12−nのデータのパリティ演算が終了したな
ら、CPUインターフェイス15を介してパリティ演算
の終了をCPU18に通知する。そして、CPU18か
らパリティデータの冗長データディスク13への書き込
みの指示を受けたなら、コントローラ11にパリティデ
ータを転送して冗長データディスク13へ書き込みを行
う。
【0013】次に、以上のような構成のデータ記憶シス
テムにおいて、冗長データ制御部14におけるパリティ
演算とその演算結果を冗長データディスク13に書き込
むまでの動作を、図2を参照して説明する。
【0014】各データディスク12−1〜12−nに書
き込まれる1ブロックのデータのサイズを100Kバイ
トとすると、冗長データ制御部14のメモリ17は1ブ
ロック分のパリティデータを記憶できるように100K
バイトのメモリ容量を有している。
【0015】図2に示すように、最初にデータディスク
12−1にデータが書き込まれると、演算及び制御部1
6はバスを転送されるデータを監視しているので、その
100Kバイトのデータと初期値「0」との排他論理和
をとり、演算結果をメモリ17に書き込む。つまり、最
初にメモリ17に書き込まれるデータはデータディスク
12−1に書き込まれる100Kバイトのデータそのも
のとなる。次の100Kバイトのデータがデータディス
ク12−2に書き込まれると、その100Kバイトのデ
ータも演算及び制御部16に監視され、その100Kバ
イトのデータとメモリ17から読み出されたデータとの
排他論理和がとられ、その演算結果がメモリ17に上書
きされる。以下、データディスク12−3・・・12−
nに書き込まれる100Kバイトのデータとメモリ17
から読み出されたデータとの排他論理和が演算されてメ
モリ17に上書きされる。このようにメモリ17のパリ
ティデータは、毎回次のデータディスクに書き込まれる
データとの排他論理和演算が行われて更新される。
【0016】n台目のデータディスク12−nに書き込
まれるデータとメモリ17のパリティデータとの演算が
終了すると、演算及び制御部16はCPUインターフェ
イス15を介してn台分のパリティデータの演算が終了
したことをCPU18に通知する。CPU18は、冗長
データ制御部14からn台分のパリティデータの演算の
終了を通知されると、データディスク12−1〜12−
nへのアクセススケジュールの合間をぬってメモリ17
のパリティデータの冗長データディスク13への書き込
みの指示を冗長データ制御部14に与える。
【0017】ここで、CPU18のデータディスク12
−1〜12ーnのアクセススケジュールの管理方法の一
例を説明する。図3は、データディスク12−1〜12
−nとアクセス要求元とを対応づけたスケジュールテー
ブル21の説明図である。
【0018】スケジュールテーブル21は、アクセス先
のデータディスクを指定するディスク指定情報を記憶す
るディスク指定情報記憶領域21aと、アクセス要求元
のユーザを示す情報を記憶するユーザ指定情報記憶領域
21bと、データディスク内のデータ格納位置を示す情
報を記憶する格納位置記憶領域21cとからなる。
【0019】図3のスケジュールテーブル21は、デー
タディスク12−1がユーザAのアクセス先として、デ
ータディスク12−2がユーザBのアクセス先として設
定され、データディスク12−3が空きとなっているこ
とを示してしている。そして、データディスク12−1
〜12−nのアクセスが一巡した次のサイクルに同じデ
ータディスク12−3が空きとなっていることを示して
いる。つまりデータディスク12−3に対して2スロッ
ト分の空きの期間が設けられている。
【0020】スロットとは、図4(A)、(B)に示す
ようにCPU18からバスに読み出し依頼が送出されて
からデータディスク12−1〜12−nの1ブロック分
のデータの読み出しが終了するまでの時間、あるいは書
き込み依頼が送出されてからデータディスク12−1〜
12−nへの1ブロック分のデータの書き込みが終了す
るまでの時間を意味している。ここでは、前者の読み出
しスロットをスケジュールテーブル21の基準のスロッ
トとして用いている。
【0021】上述したように本実施の形態では、データ
ディスク12−3に対して少なくとも読み出し2スロッ
ト分の空きの期間を設けている。これは、その空きの期
間を利用して後述する冗長データディスク13へのパリ
ティデータの書き込みを行うことで、データディスク1
2−1〜12−nのアクセススケジュールに影響を及ぼ
さずにパリティデータの書き込みを行えるようにするた
めである。なお、上記の実施の形態はデータの読み出し
と書き込みが混在する場合であるので読み出しの2スロ
ット分の空きの期間を設けているが、書き込みのみを行
う場合には、書き込み依頼が送出されてから1ブロック
分のデータの書き込みが終了するまでの時間を1スロッ
トとすれば、書き込み用の1スロット分の空きの期間を
設ければ良い。
【0022】図3のスケジュールテーブル21におい
て、アクセス周期Tは、例えばユーザのアクセス先とし
て指定されているデータディスク、例えばデータディス
ク12−1をアクセスしてから、同じユーザの次のアク
セス先として指定されているデータディスク12−2を
アクセスするまでの時間を示しており、このアクセス周
期Tを変更することでデータの転送速度を変更すること
ができる。
【0023】次に、図5は、データディスク12−1〜
12−nからデータの読み出しと、パリティデータの書
き込みを行う場合のアクセスタイミングを示す図であ
る。図5に示すタイミングで、CPU18が、データデ
ィスク12−1に対する読み出し依頼を行うと、該当す
るデータディスク12−1で1ブロック分のデータの読
み出しが行われ、データディスク12−1内部での読み
出し処理が終了すると、1ブロック分のデータがバスに
送出される。
【0024】この例では、データディスク12−3に対
して読み出し用の2スロット分の空きの期間が設けられ
ており、同図には示していないがアクセス周期T後に次
のデータディスク12−4に対して2スロット分の空き
の期間が設けられ、以下アクセス周期T毎にデータディ
スク12−4,12−5・・・に順に読み出し用の2ス
ロット分の空きの期間が設けられている。
【0025】すなわち、データディスク12−1から1
2−nに対して順に空きの期間が設けられているので、
アクセス先のディスクの変更要求があった場合、これら
の空きの期間を利用してアクセス先を変更することがで
きる。なお、空きの期間はこれより短い間隔で設けても
良い。
【0026】ここで、上述した空きの期間を利用してデ
ータの読み出し先を変更する場合のCPU18の処理内
容を図6のフローチャートを参照して説明する。ユーザ
からの変更要求が、要求を受け付順に記憶するキューに
登録されると、CPU18に対して割り込みがかけられ
る。CPU18は、キューに登録されている要求がアク
セスデータの変更、つまりアクセス先の変更か否かを判
別する(図6、S1)。アクセス先の変更要求であった
場合には、ステップS2に進みアクセス先のデータディ
スクの番号を調べる(S2)。そして、スケジュールテ
ーブル21を参照して対象となるデータディスクが空き
か否かを判別する(S3)。対象となるデータディスク
が他のユーザに割り当てられているときには、ステップ
S4に進みその近傍の空きのデータディスクを探す(S
4)。
【0027】上述したように本実施の形態では、アクセ
ス周期T毎に各データディスクに対して順に読み出しの
2スロット分の空きの期間を設けているので、対象とな
るデータディスクが他のユーザに割り当てられていると
きにも、n台のデータディスクの内の1台分のスロット
は空きとなっている。そこで、その空きのスロットを利
用してアクセス先を変更することができる。例えば、デ
ータディスク12−1〜12−nに記憶されているデー
タがビデオデータで、変更要求として再生位置の変更要
求があった場合、再生位置が目的とする画面の数フレー
ム分だけ前後しても再生画面上では大きな相違はなく、
それ以降は連続した画面を再生することができる。従っ
て目的とするデータディスクが他のユーザに使用されて
いる場合でも、その近傍の空きのスロットをアクセス変
更先とすることで、実用上支障のない品質で画像を再生
することができる。
【0028】変更先のデータディスクが決定したなら、
スケジュールテーブル21の変更先のデータディスクの
ディスク指定情報が記憶されているディスク指定情報記
憶領域21aに対応するユーザ指定情報記憶領域21b
に変更要求元のユーザ名を書き込む(S5)。そして、
それまで変更要求元のユーザ名が書き込まれていたスケ
ジュールテーブル21のユーザ指定情報記憶領域21b
のユーザ名及び格納位置記憶領域21cの格納位置情報
を削除する(S6)。これにより、それまで変更要求元
のユーザに割り当てられていたスロットが空きとなるの
で、読み出し1スロット分の空きの期間が確保される。
【0029】ステップS1でアクセスデータの変更要求
ではないと判別された場合には、ステップS8に進み転
送速度の変更要求か否かを判別する。データの転送速度
の変更要求であった場合には、スケジュールテーブル2
1の空きを調べる(S9)。ユーザの要求する転送速度
を満足するようなアクセス周期で、データディスクをア
クセスできるような空きがスケジュールテーブル21に
あるか否かを判別する(S10)。ステップS10でア
クセススケジュールが変更可能と判別された場合には、
上述したステップS5に進み変更先のデータディスクを
決定する。
【0030】ステップS10でユーザの要求するデータ
転送速度を満足させることができない場合には、ステッ
プS11に進みアクセスを変更ができないことを要求元
に通知する。
【0031】ステップS8の判別で転送速度の変更要求
ではないと判別された場合には、ステップS12に進み
終了要求か否かを判別する。終了要求であれば、上述し
たステップS6に進みスケジュールテーブル21の該当
するユーザのスケジュールを削除する。また、終了要求
でなければステップS13に進みエラー処理を実行す
る。
【0032】上述したように各データディスク12−1
〜12−nに対して少なくとも読み出しの1スロット分
(本実施の形態では、パリティデータの書き込みを行う
ために読み出しの2スロット分)の空きの期間を設ける
ことにより、ユーザからのアクセス先の変更要求に対し
て対応することが可能となる。
【0033】次に、データディスク12−1〜12−n
からデータを読み出しながら、パリティ計算とパリティ
データの書き込みを行う場合に、スケジュールテーブル
21に読み出しの2スロット分の空きの期間を設け、そ
の空きの期間を利用してパリティデータの書き込みを行
うときのアクセスタイミングを、図5を参照して説明す
る。
【0034】この場合、データディスク12−3に対し
て読み出し2スロット分の空きの期間を設けてあるの
で、データディスク12−3のアクセスタイミングとな
り、各データディスク12−1〜12−nへのアクセス
が一巡してデータディスク12−3のアクセスタイミン
グとなったときに、バスには2つのアクセス依頼と2ブ
ロックのデータ転送時間分の空きが存在する。そこで、
CPU18は、1つ前のデータディスク12−2に対す
る読み出し依頼をバスに送出した後、続いてパリティデ
ータの書き込み依頼をバスに送出すると共に、冗長デー
タ制御部14にメモリ17に記憶されているパリティデ
ータをバスに送出するように指示する。これにより、バ
スの空きの期間にパリティデータが冗長データディスク
13に書き込まれる。
【0035】よって、データディスク12−1〜12−
nに対するアクセススケジュールに影響を及ぼすこと無
く、パリティデータの書き込みを行うことができる。ま
た、スケジュールテーブル21の2スロット分の空きの
期間を利用してパリティデータの書き込みを行うことが
できるので、パリティデータの書き込みのためにバスの
転送速度を下げる必要が無く、バスの利用効率を高める
ことができる。さらに、CPU18が、スケジュールテ
ーブル21に設けられている空きの期間を利用してパリ
ティデータの書き込みを行うことができるので、データ
の読み出しとパリティデータの書き込みの両方を管理し
て、アクセススケジュールを密に構成し、そのスケジュ
ールを維持することができる。
【0036】次に、読み出しスロット2回分の空きの期
間を利用して、データの書き込みとパリティデータの書
き込みを行う場合について図7を参照して説明する。ス
ケジュールテーブル21に読み出しの1スロット分の空
きの期間を設けた場合、データディスク12−3に対し
て書き込みを行うために、バス上に書き込み依頼を送出
し、続いて書き込みデータを送出しよとすると、同じタ
イミングに次のデータディスク12−4から1ブロック
分のデータがバスに送出されるので、バス上でデータの
衝突がおこり、データの書き込みを行うことができな
い。
【0037】これに対して、読み出しの2スロット分の
空きの期間を設けておくと、1つ前のデータディスク1
2−2に対する読み出し依頼をバスに送出した後、デー
タディスク12−3の書き込み依頼と書き込みデータを
バスに送出することができる。つまり読み出し2スロッ
ト分の空きの期間を設けることで他のデータディスク1
2−1〜12−nへのアクセススケジュールに影響を与
えずにデータの書き込みを行うことができる。
【0038】さらに、本実施の形態では、データディス
ク12−1〜12−nに対する読み出し依頼がバスに送
出されてから、次のデータディスクから1ブロック分の
データがバスに送出されるまでの間に一定の時間的余裕
を確保してあるので、その間に別の書き込み依頼をバス
に送出することができる。
【0039】データディスク12−3に対するデータの
書き込みが終了して、各データディスク12−1〜12
−nに対するアクセスが一巡して再びデータディスク1
2−3のアクセスタイミングとなったとき、バスには1
ブロック分のデータの転送の空きの時間が存在するの
で、その空きの時間を利用して冗長データディスク13
へのパリティデータの書き込みを行うことができる。つ
まり、CPU18は、1つ前のデータディスク12−2
に対する読み出し依頼をバスに送出した後、冗長データ
ディスク13に対する書き込み依頼をバスに送出し、さ
らに冗長データ制御部14にパリティデータのバスへの
送出を指示することで、バスの空きの期間を利用してパ
リティデータの冗長データディスク13への書き込みを
行うことができる。
【0040】すなわち、読み出し2スロット分の空きの
期間を設けることで、データの書き込みを行った後に、
バスには1ブロック分のデータの転送時間の空きが生じ
るので、CPU18は冗長データ制御部14に指示して
その空きの期間を利用してパリティデータを冗長データ
ディスク13に書き込むことができる。
【0041】これにより、他のデータディスク12−1
〜12−nのアクセススケジュールに影響を与えること
無くパリティデータの書き込みを行うことができる。上
述したように、冗長データ制御部14がパリティ演算及
び演算結果のメモリ17の書き込みを行うことでCPU
18の負担を軽減できる。また、CPU18が冗長デー
タ制御部14に冗長データディスク13へのパリティデ
ータの書き込みを指示することで、データディスク12
−1〜12−nと冗長データディスク13に対するアク
セスを全てCPU18の管理のもとに行うことができ
る。
【0042】従って、データディスク12−1〜12−
nのアクセススケジュールに影響を及ぼさずに、冗長デ
ータディスク13へのパリティデータの書き込みを行う
ことができる。また、CPU18がデータの読み出し及
び書き込みとパリティデータの書き込みの両方のアクセ
ススケジュールを管理できるので、アクセススケジュー
ルを高密度で管理し、バスのデータ転送を効率的に行う
ことができる。
【0043】次に、データディスク12−1〜12−n
が7台のデータディスク12−1〜12−7で構成され
ている場合のユーザの割り当てについて説明する。図8
は、7台のデータディスク12−1〜12−7を有する
記憶システムにおいて、データディスク12−1〜12
−7から1ブロックのデータを順に読み出す場合のアク
セスタイミングを示している。
【0044】この場合、7台のデータディスク12−1
〜12−7のアクセスが一巡したとき、同じユーザが次
のデータディスクをアクセスするようにしているので、
アクセス周期Tとして最小のアクセス時間が設定されて
おり、この場合、最大ユーザ数は「8」となる。
【0045】次に、図9は、上記と同様に7台のデータ
ディスク12−1〜12−7を有する記憶システムにお
いて、読み出しの2スロット分に相当するの空き期間を
設けた場合のアクセスタイミングを示している。この2
スロット分の空きの期間を利用してデータの書き込みを
行う。この場合、バス上では読み出しスロットの1回分
に相当するデータ転送の空きの期間が生じるので、その
空きの期間を利用してパリティデータを冗長データディ
スク13に書き込むことができる。
【0046】次に、冗長データ制御部14の一例を図1
0を参照して説明する。冗長データ制御部14は、パリ
ティコントローラ31とパリティ計算用バッファ32と
からなる。図示していないが、SCSI(Small Comput
er System Interface)コントローラ33には複数のデ
ータディスク12−1〜12−nが接続されており、S
CSIコントローラ33はCPU18からの指示に従っ
て、これらのデータディスク12−1〜12−nのデー
タの読み出し及び書き込みの制御を行う。この例では、
メモリコントローラ34はネットワークを介して受け取
るデータをメモリ35へ格納し、CPU18の指示に従
ってメモリ35のデータをDMA転送する。
【0047】次に、図11は、パリティコントローラ3
1内の排他論理和演算器41の構成図である。この排他
論理和演算器41は、パリティ計算用バッファ32から
読み出されるデータMDin[15:0]、または「0」
をEZ信号に従って出力するZero出力回路42と、
パリティ計算用バッファ32から読み出されたパリティ
データが排他論理和演算されてパリティ計算用バッファ
32に書き戻されるまでの間、あるいはSCSIコント
ローラ33によりパリティデータが冗長データディスク
13に書き込まれる間での間、MDgate信号に従ってパ
リティデータを保持するDラッチ43と、メモリコント
ローラ34からバスに出力される16ビットのデータ
を、xDMDenb信号がローレベルのときクロック信号
CLKの立ち上がりに同期して保持するDフリップフロ
ップ44と、Dラッチ43の出力とDフリップフロップ
44の出力の排他論理和演算を行う排他論理和回路(E
OR)45とからなる。なお、EZ信号、MDgate信
号、xDMDenb信号は、パリティコントローラ31全
体のシーケンスを制御するために、パリティコントロー
ラ31内部で作成される信号である。
【0048】ここで、排他論理和演算器41の動作を説
明する。CPU18はパリティ動作モード、つまりパリ
ティ計算用バッファ32へ最初に書き込みを行うモード
と、通常のパリティ計算結果の書き込みを行うモード
と、パリティ計算用バッファ32のパリティデータを冗
長データディスク13に書き込むモードの何れであるか
を指定する情報を、パリティコントローラ31のパリテ
ィ動作モードレジスタに設定する。例えば、パリティ計
算用バッファ32に最初に書き込みを行うモードでは、
EZ信号が「1」、PW信号が「0」に設定される。E
Z信号が「1」のとき、Zero出力回路42は「0」
を出力し、Dラッチ43はその「0」をラッチして排他
論理和回路45に出力する。排他論理和回路45は、
「0」とデータディスク12−1〜12−nに書き込む
ためにバスに送出されるデータDMDinとの排他論理和
演算を行い、演算結果をパリティ計算用バッファ32に
出力する。この結果、パリティ計算用バッファ32に
は、データディスク12−1〜12−nに書き込まれる
データと同じデータが書き込まれる。
【0049】次に、通常のパリティ計算結果の書き込み
を行うモードでは、EZ信号が「0」、PW信号が
「0」に設定される。EZ信号が「0」のときには、パ
リティ計算用バッファ32から読み出されるデータMD
inがZero出力回路42から出力され、そのデータM
DinがDラッチ43にラッチされて排他論理和回路45
に出力される。排他論理和回路45は、データディスク
12−1〜12−nに書き込むためにバスに送出される
データDMDinと、パリティ計算用バッファ32から読
み出されたデータMDinの排他論理和演算を行い、演算
結果をパリティ計算用バッファ32に出力する。
【0050】以上のような排他論理和演算器41を有す
るパリティコントローラ31の動作を、図12から図1
5のタイミングチャートを参照して説明する。先ず、1
番目のデータディスク12−1にデータを書き込む場合
について説明する。最初の1ブロックのデータをそのま
まパリティ計算用バッファ32に書き込むために、上述
したパリティ動作モードレジスタの内容がCPU18に
より設定されて、信号EZが「1」、信号PWが「0」
となる。
【0051】このとき、SCSIコントローラ33から
ハイレベルのDMA(Direct Memory Access)転送要求
信号DREQIがパリティコントローラ31に出力され
ると、パリティコントローラ31はその信号を中継して
ハイレベルのDMA転送要求信号DREQOとしてメモ
リコントローラ34に出力する。
【0052】それに対してメモりコントローラ34から
ローレベルのDMA応答信号xDACKIが出力される
と、パリティコントローラ31はその信号を中継してロ
ーレベルのDMA応答信号xDACKOをSCSIコン
トローラ33に出力する。
【0053】さらに、メモリコントローラ34からデー
タの取り込みタイミングを示すデータストローブ信号x
DMDSIが出力されると、パリティコントローラ31
はその信号を中継してデータストローブ信号xDMDS
OとしてSCSIコントローラ33に出力する。
【0054】これにより、メモリ35のデータがSCS
Iコントローラ33に1ブロックのデータがDMA転送
され、1番目のデータディスク12−1に書き込まれ
る。このとき、上述したようにEZ信号が「1」、PW
信号が「0」となっているので、排他論理和演算器41
において、Zero出力回路42から「0」が出力され
る。そして、排他論理和回路45により、バスを転送さ
れてデータディスク12−1に書き込まれるデータDM
DinとZero出力回路42から出力される「0」との
排他論理和演算が行われ、データディスク12−1に書
き込まれるデータがパリティ計算用バッファ32にその
まま書き込まれる。
【0055】次に、2番目のデータディスク12−2に
1ブロックのデータを書き込む場合について説明する。
この場合、DMA転送要求信号DREQI、DMA応答
信号xDACKI、データストローブ信号xDMDSI
等は上述した1番目のデータディスク12−1へデータ
を書き込む場合と同じである。
【0056】ただし、図13に示すように信号EZは
「1」から「0」に変更され、パリティ計算用バッファ
32のパリティデータとバス上のデータとの排他論理和
をとるモードに変更される。このモードでは、Zero
出力回路42からパリティ計算用バッファ32に記憶さ
れているパリティデータMDinが出力され、排他論理和
演算回路45により、そのパリティデータと2番目のデ
ータディスク12−2に書き込まれるデータとの排他論
理和演算が行われ、演算結果がパリティ計算用バッファ
32に書き戻される。
【0057】次に、n番目のデータディスク12−nへ
の1ブロックのデータの書き込みが終了して冗長データ
ディスク13へパリティデータを書き込むときの動作
を、図14を参照して説明する。
【0058】この場合、CPU18により信号EZが
「0」、信号PWが「1」に設定される。信号PWが
「1」のときはパリティディスク13への書き込みモー
ドであるので、パリティコントローラ31は、SCSI
コントローラ33からハイレベルのDMA要求信号DR
EQIを受け取ると、この場合、メモリ35からのデー
タの転送ではないので、メモリコントローラ34にロー
レベルのDMA要求信号DREQO出力する。また、メ
モリコントローラ34からのデータ転送ではないので、
メモリコントローラ34から出力されるDMA応答信号
xDACKIはハイレベルとなる。
【0059】一方、パリティコントローラ31は、パリ
ティ計算用バッファ32のパリティデータの転送を行う
ので、ローレベルのDMA応答信号xDACKOをSC
SIコントローラ33に出力する。さらに、データスト
ローブ信号xDMDSOをSCSIコントローラ33に
出力し、データストローブ信号xDMDSOに同期して
パリティ計算用バッファ32のパリティデータをバスに
送出する。これによりパリティデータが冗長データディ
スク13に書き込まれる。
【0060】図15は、データディスク12−1〜12
−nへのデータの書き込み時と、冗長データディスク1
3へのパリティデータの書き込み時のタイミングチャー
トである。
【0061】最初のデータディスク12−1へ書き込む
場合には、CPU18によりパリティ動作モードレジス
タが、PW信号が「0」、EZ信号が「1」となるよう
に設定される。パリティコントローラ31は、SCSI
コントローラ33からハイレベルのDMA要求信号DR
EQIを受け取ると、その信号を中継してハイレベルの
DMA要求信号DREQOとしてメモリコントローラ3
4に出力する。そのDMA要求DREQOに対してメモ
りコントローラ34からローレベルで有効となるDMA
応答信号xDACKIを受け取ると、その信号を中継し
てSCSIコントローラ33にローレベルのDMA応答
信号xDACKOを出力する。
【0062】そして、メモリコントローラ34からパリ
ティコントローラ31を介してデータストローブ信号x
DMDSがSCSIコントローラ33へ出力されると、
メモリ35から読み出されたデータがそのデータストロ
ーブ信号xDMDSに同期したタイミングでデータディ
スク12−1に転送される。
【0063】このとき、上述したようにEZ信号が
「1」、PW信号が「0」となっているので、排他論理
和演算器41のZero出力回路42から「0」が出力
される。そして、排他論理和回路45により、バスを転
送されてデータディスク12−1に書き込まれるデータ
DMDinとZero出力回路42から出力される「0」
との排他論理和演算が行われ、データディスク12−1
に書き込まれるデータがパリティ計算用バッファ32に
そのまま書き込まれる。
【0064】n台目のデータディスク12−nへの1ブ
ロックのデータの書き込みが完了すると、CPU18に
よりパリティ動作モードレジスタが、PW信号が
「1」、EZ信号が「0」となるように設定される。
【0065】PW信号が「1」で、EZ信号が「0」の
ときは、パリティディスク13への書き込みモードであ
るので、パリティコントローラ31は、SCSIコント
ローラ33からのハイレベルのDMA要求DREQIに
対して、ローレベルのDMA応答信号xDMDSを出力
する。さらに、パリティ計算用バッファ32から読み出
したパリティデータをデータストローブ信号xDMDS
に同期したタイミングでバスに送出する。これにより、
SCSIコントローラ33は、バスを転送されてくるパ
リティデータを冗長データディスク13に書き込む。
【0066】上述したように、CPU18が、パリティ
コントローラ31の動作モードが、パリティ計算用バッ
ファ32へ最初に書き込みを行うモードと、通常のパリ
ティ計算結果の書き込みを行うモードと、パリティ計算
用バッファ32のパリティデータを冗長データディスク
13に書き込むモードの何れであるかを指定し、パリテ
ィコントローラ31がその指示に従ってパリティ演算を
行い、その演算結果をパリティ計算用バッファ32に書
き戻し、さらに、冗長データディスク13へのパリティ
データの書き込みを行うことで、データディスク12−
1〜12−nへのデータの書き込みタイミングと冗長デ
ータディスク13へのパリティデータの書き込みタイミ
ングをCPU18が制御することができる。従って、デ
ータディスク12−1〜12−nのアクセススケジュー
ルと冗長データディスク13のアクセススケジュールの
両方をCPU18が管理することができるので、パリテ
ィデータの書き込みのためにデータディスク12−1〜
12−nへのアクセスが妨害されることが無くなる。ま
た、CPU18がスケジュールを一元的に管理するの
で、アクセススケジュールを密に構成し、かつそのスケ
ジュールを維持することができ、システムの信頼性を高
めることができる。さらに、CPU18が全体のアクセ
ススケジュールを管理するので、バスの使用効率が最良
となるようにアクセススケジュールを立てることができ
る。
【0067】上述した実施の形態では、データの誤り訂
正のためにパリティデータを用いているが、これに限ら
ず巡回符号、ハミング符号等の他の冗長データを用いて
もよい。また、各データディスクに1ブロック分のデー
タが順に記憶される場合を例に上げて説明したが、それ
以外のデータ記憶システムにも本発明を適用できる。ま
た、SCSIコントローラ33とパリティコントローラ
31が一体となっていても良いし、メモリコントローラ
34と一体になっていても良い。
【0068】
【発明の効果】本発明は、冗長データの計算を冗長デー
タ制御手段が行い、制御装置が、データ記憶装置へのデ
ータの書き込みと冗長データ記憶装置への冗長データの
書き込みの両方を制御するようにしたので、データ記憶
装置へのアクセスを妨げること無く冗長データの書き込
みを行うことができる。また、データ記憶装置へのアク
セスと冗長データ記憶装置へのアクセスの両方を制御装
置が管理できるので、バスの使用効率が最良となるよう
にアクセススケジュールを立てることができる。
【図面の簡単な説明】
【図1】データ記憶システムのシステム構成図である。
【図2】パリティ演算から冗長データディスクへの書き
込みまでの動作の説明図である。
【図3】スケジュールテーブル21の説明図である。
【図4】同図(A)、(B)は読み出し及び書き込みス
ロットを示す図である。
【図5】読み出しとパリティデータの書き込みを行う場
合のアクセスタイミングを示す図である。
【図6】変更要求時のフローチャートである。
【図7】読み出しと書き込みとパリティデータの書き込
みを行う場合のアクセスタイミングを示す図である。
【図8】最大ユーザ数が「8」の場合のアクセスタイミ
ングを示す図である。
【図9】2スロット分の空きの期間を設けた場合のアク
セスタイミングを示す図である。
【図10】冗長データ制御部14の一例を示す図であ
る。
【図11】排他論理和演算器41の構成図である。
【図12】1番目のデータディスク12−1へデータを
書き込む場合のタイミングチャートである。
【図13】2番目のデータディスク12−2へデータを
書き込む場合のタイミングチャートである。
【図14】冗長データディスク13へパリティデータを
書き込む場合のタイミングチャートである。
【図15】データディスク12−1〜12−nと冗長デ
ータディスク13への書き込み時のタイミングチャート
である。
【符号の説明】
11 コントローラ 12−1〜12−n データディスク 14 冗長データ制御部 18 CPU 31 パリティコントローラ 32 パリティ計算用バッファ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】複数のデータ記憶装置と、該データ記憶装
    置に書き込まれるデータの冗長データを記憶する冗長デ
    ータ記憶装置と、前記データ記憶装置に対するデータの
    書き込み及び読み出しを制御する制御装置とからなるデ
    ータ記憶システムにおいて、 前記データ記憶装置に書き込まれるデータの冗長データ
    を演算する演算手段と、 該演算手段で得られる冗長データを記憶する冗長データ
    記憶手段とを有する冗長データ制御装置を備え、 前記制御装置が、前記データ記憶装置への前記データの
    読み出し及び書き込みと、前記冗長データ制御装置で得
    られる前記冗長データの前記冗長データ記憶装置への書
    き込みを制御をすることを特徴とするデータ記憶システ
    ム。
  2. 【請求項2】複数のデータ記憶装置と、該データ記憶装
    置に書き込まれるデータの冗長データを記憶する冗長デ
    ータ記憶装置と、1群のデータを1ブロック単位のデー
    タに分割して前記複数のデータ記憶装置に分散して書き
    込み、該データ記憶装置に記憶されているデータを1ブ
    ロック単位で順に読み出す制御装置とからなるデータ記
    憶システムにおいて、 前記データ記憶装置に書き込まれる1ブロックのデータ
    の冗長データを演算する演算手段と、 前記演算手段で得られる冗長データを記憶する冗長デー
    タ記憶手段とを有する冗長データ制御装置を備え、 前記制御装置が、前記データ記憶装置への前記データの
    読み出し及び書き込みと、前記冗長データ制御装置で得
    られる前記冗長データの前記冗長データ記憶装置への書
    き込みを制御することを特徴とするデータ記憶システ
    ム。
  3. 【請求項3】前記制御装置は、前記複数のデータ記憶装
    置のアクセススケジュールを管理するスケジュールテー
    ブルを有し、前記データ記憶装置へのアクセスを行わな
    い前記スケジュールテーブルの空きの期間に、前記冗長
    データ記憶装置への前記冗長データの書き込み行わせる
    ことを特徴とする請求項1または2記載のデータ記憶シ
    ステム。
  4. 【請求項4】前記データ記憶装置において、1ブロック
    のデータを読み出すあるいは書き込むまでの時間を1ス
    ロットとしたときに、前記スケジュールテーブルに少な
    くとも1スロット分の空きの期間を設け、前記制御装置
    は該空きの期間を利用して前記冗長データの前記冗長デ
    ータ記憶装置への書き込みを行わせることを特徴とする
    請求項3記載のデータ記憶システム。
  5. 【請求項5】前記冗長データ記憶手段はメモリで構成さ
    れ、前記演算手段による冗長データの演算と該メモリへ
    の冗長データの書き込みが、前記データ記憶装置の1ブ
    ロックのデータの読み出しまたは書き込み期間内に行わ
    れることを特徴とする請求項1または2記載のデータ記
    憶システム。
  6. 【請求項6】前記演算手段は、前記データ記憶装置に書
    き込まれるデータのパリティデータを求めることを特徴
    とする請求項1、2、3または4記載のデータ記憶シス
    テム。
  7. 【請求項7】前記制御装置は、前記空きの期間を利用し
    て前記前記複数のデータ記憶装置へのデータの書き込み
    を行った後に、前記冗長データ制御装置に前記増長デー
    タ記憶装置への前記冗長データの書き込みを行わせるこ
    とを特徴とする請求項3記載のデータ記憶システム。
  8. 【請求項8】複数のデータ記憶装置に書き込まれるデー
    タの冗長データを冗長データ記憶装置に書き込む際の書
    き込み制御方法であって、 冗長データ制御装置が、データ記憶装置に書き込まれる
    データの冗長データを演算し、該演算により得られる冗
    長データを記憶し、 前記制御装置が、前記データ記憶装置へのデータの読み
    出し及び書き込みと、前記冗長データ記憶装置への前記
    冗長データの書き込みとを制御することを特徴とする冗
    長データ書き込み制御方法。
  9. 【請求項9】前記複数のデータ記憶装置のアクセススケ
    ジュールを管理するスケジュールテーブルを設け、該デ
    ータ記憶装置において、1ブロックのデータを読み出す
    あるいは書き込むまでの時間を1スロットとしたとき
    に、前記スケジュールテーブルに少なくとも1スロット
    分の空きの期間を設け、該空きの期間を利用して前記冗
    長データの前記冗長データ記憶装置への書き込みを行わ
    せることを特徴とする請求項8記載の冗長データの書き
    込み制御方法。
JP9285005A 1997-10-17 1997-10-17 データ記憶システム及び冗長データ書き込み制御方法 Pending JPH11119922A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9285005A JPH11119922A (ja) 1997-10-17 1997-10-17 データ記憶システム及び冗長データ書き込み制御方法
US09/042,334 US6813685B1 (en) 1997-10-17 1998-03-13 System for storing data and method of controlling the writing of redundant data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9285005A JPH11119922A (ja) 1997-10-17 1997-10-17 データ記憶システム及び冗長データ書き込み制御方法

Publications (1)

Publication Number Publication Date
JPH11119922A true JPH11119922A (ja) 1999-04-30

Family

ID=17685923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9285005A Pending JPH11119922A (ja) 1997-10-17 1997-10-17 データ記憶システム及び冗長データ書き込み制御方法

Country Status (2)

Country Link
US (1) US6813685B1 (ja)
JP (1) JPH11119922A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401126B1 (en) * 1999-03-10 2002-06-04 Microsoft Corporation File server system and method for scheduling data streams according to a distributed scheduling policy
US7509342B2 (en) * 2002-02-08 2009-03-24 Sanyo Electric Co., Ltd. File data storage management method, file data storage device, program executing processing for storing file data, and storage medium
US20050188246A1 (en) * 2004-02-25 2005-08-25 Emberty Robert G. Persistent worldwide names assigned to removable media storage
JP2005316574A (ja) * 2004-04-27 2005-11-10 Hitachi Ltd 計算機の識別子収集管理装置、方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USH1221H (en) 1990-03-30 1993-08-03 High speed, small diameter disk storage system
CA2034904C (en) 1990-03-30 1995-07-18 John Stuart Best High speed, small diameter disk storage system
JP2986880B2 (ja) 1990-09-19 1999-12-06 株式会社日立製作所 アレイディスク
JPH06332623A (ja) * 1993-05-24 1994-12-02 Mitsubishi Electric Corp アレイ型記録装置及び記録装置
US5548711A (en) * 1993-08-26 1996-08-20 Emc Corporation Method and apparatus for fault tolerant fast writes through buffer dumping
JP3373690B2 (ja) * 1994-09-07 2003-02-04 株式会社東芝 ディスク状記録媒体及びディスク装置
JPH08152976A (ja) * 1994-11-28 1996-06-11 Fujitsu Ltd 記憶装置のアクセス方法
US5537534A (en) 1995-02-10 1996-07-16 Hewlett-Packard Company Disk array having redundant storage and methods for incrementally generating redundancy as data is written to the disk array
US5592612A (en) 1995-04-28 1997-01-07 Birk; Yitzhak Method and apparatus for supplying data streams
US5720025A (en) * 1996-01-18 1998-02-17 Hewlett-Packard Company Frequently-redundant array of independent disks
US5883909A (en) * 1996-11-06 1999-03-16 Lsi Logic Corporation Method and apparatus for reducing data transfers across a memory bus of a disk array controller

Also Published As

Publication number Publication date
US6813685B1 (en) 2004-11-02

Similar Documents

Publication Publication Date Title
TWI381272B (zh) 快閃記憶體裝置及快閃記憶體的存取方法
JPH11119923A (ja) データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体
JPH05502314A (ja) データ転送方法
JPH11119922A (ja) データ記憶システム及び冗長データ書き込み制御方法
JP2006259898A (ja) I/oコントローラ、信号処理システム、およびデータ転送方法
KR100659915B1 (ko) 데이터 전송 방법 및 장치
JP2000341635A (ja) 階層型バッファメモリの記録方法および階層型バッファメモリ構造およびデータ再生方法およびデータ再生装置およびビデオデータ編集システムおよびコンピュータ読み取り可能な記録媒体およびシステム・オン・チップ型集積装置
JPH10178626A (ja) 伝送装置及びサーバ装置並びに伝送方法
JPH05233155A (ja) ディスクアレイ装置
JPH0628261A (ja) データ転送方法及び装置
US6449668B1 (en) AV data input/output device
JP3175999B2 (ja) ディスクアレイ装置
JP3356110B2 (ja) 機能拡張システム及びそれに用いるデータ転送方法
JP2001356883A (ja) データ記録/再生システム及びデータ記録/再生方法
JP2001014219A (ja) キャッシュ制御方法及びその装置
JP4457440B2 (ja) データ記録/再生システム及びデータ記録/再生方法
JPH11120690A (ja) ディスク装置及びバッファ管理方法
JP2007011659A (ja) インターフェース装置、ディスクドライブ及びインターフェース制御方法
JP3434713B2 (ja) レジスタ制御装置およびレジスタ制御方法
JPH1198448A (ja) ビデオサーバ装置及びそのアクセス処理方法
JP2616490B2 (ja) 共有データ蓄積方式
JPS63213018A (ja) 外部記憶制御装置
JPH11220693A (ja) 動画像記録装置
JPH01255028A (ja) 外部記憶装置のアクセス方法
JPH09305330A (ja) ディスクアレイ装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040217