JPH09114605A - データ記憶方法 - Google Patents

データ記憶方法

Info

Publication number
JPH09114605A
JPH09114605A JP8185827A JP18582796A JPH09114605A JP H09114605 A JPH09114605 A JP H09114605A JP 8185827 A JP8185827 A JP 8185827A JP 18582796 A JP18582796 A JP 18582796A JP H09114605 A JPH09114605 A JP H09114605A
Authority
JP
Japan
Prior art keywords
data
disk
section
block
program
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
JP8185827A
Other languages
English (en)
Inventor
Antoine N Mourad
エヌ.ムーラッド アントイン
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.)
A T and T I P M CORP
AT&T Corp
Original Assignee
A T and T I P M CORP
AT&T Corp
AT&T IPM 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 A T and T I P M CORP, AT&T Corp, AT&T IPM Corp filed Critical A T and T I P M CORP
Publication of JPH09114605A publication Critical patent/JPH09114605A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1803Error detection or correction; Testing, e.g. of drop-outs by redundancy in data representation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Abstract

(57)【要約】 【課題】 複数の個別メモリに記憶したデータを複数の
個別ユーザに提供する方法の信頼性を向上する。 【解決手段】 本方法は、各前記メモリをプライマリと
セカンダリのセクションに分けるステップと、該データ
を連続するブロックに分けるステップと、各プライマリ
セクションにシーケンス順に続き該データブロックを記
憶するステップと、次にある前記メモリのプライマリセ
クションに記憶したデータブロックを前記ディスクの中
の他のディスクの各前記セカンダリセクションにシーケ
ンス順に続き記憶するステップを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の個別ユーザ
によるデータへの同時アクセスの改善(信頼性向上)の
ための複数のディスク間によるデータのストライピング
(インタリービング)に関する。
【0002】
【従来の技術】いわゆるディスク・ストライピング(ま
たはインタリービング)は、並行して複数のディスクへ
または複数のディスクからデータを送るデータ伝送にお
ける帯域幅の増加のために利用される。さらに特に、デ
ィスク・ストライピングまたはインタリービングは、次
のように複数のディスクのメモリ容量を結合しこれらデ
ィスク間によりデータ記憶域を拡大する方式である、つ
まりここで第1のストライピング・ユニットは第1のデ
ィスク上にあり、第2のストライピング・ユニットは第
2のディスク上にあり、さらにN番目のストライピング
・ユニットは(N−1 mod M)+1のディスク上
にある、ただしここでMは該データの記憶に係るディス
クの数である。
【0003】ディスク・ストライピングは、ビデオ・オ
ン・デマンド(VOD)サーバを実現するため用いるビ
デオ・プログラムを記憶するのに特に有用である。ディ
スクをベースにしたVODサーバはディスク・ストライ
ピングを用いてこのサーバに記憶された各ビデオ・プロ
グラム(オブジェクト)への許容レベルの同時アクセス
を保証しユザー/加入者に送ろうとする記憶ビデオ・セ
グメントへの許容レベルのアクセス時間を保証する。と
ころが、ディスク・ストライピングはサーバ(VODシ
ステム)をコンポーネント(特にディスク)故障にさら
に無防備としてしまう、というのはたった1個のコンポ
ーネントの故障でも全ディスク・アレイ(グループ)の
機能を不能にしユーザに該ディスク・アレイ上に記憶し
たビデオ・プログラムにアクセスできなくしてしまう。
この問題に対処するための従来取られた種々のハードウ
エアはコストが高くまたディスクの故障のみの対処であ
りさらには該サーバに追加のデータ・バッファリングが
必要になるという課題がありこれらの解決が望まれてい
る。
【0004】
【発明が解決しようとする課題】複数の個別メモリに記
憶したデータを複数の個別ユーザに提供する同時アクセ
スの方法の故障に対応できる高い信頼性が望まれてい
る。
【0005】
【課題を解決するための手段】本発明は、以下に説明す
る適切な方法を提供して前記課題を解決しこの技術分野
の進歩を遂げる。すなわち、本発明者が2重ストライプ
化ミラー(doubly−striped mirro
r)方式と呼ぶ本発明の方法を用いて、複数のストレッ
ジ・ディスク間にデータ(例えば、ビデオ・プログラ
ム)の内容をインタリーブしこの方法によって従来のミ
ラー化法に比し該サーバにおいて利用できるディスク帯
域幅の割合を大きく利用可能とするデータ・システムを
提供できる。具体的には本発明の特徴としては、下記の
ように、各ディスクの、例えば、一方の2分の1の割
合、をプライマリ・ストレッジとして用い他方の残りの
割合をバックアップ・ストレッジとして用いる。
【0006】つまり、該データ(例えば、ビデオ・プロ
グラムの内容)をデータ・ユニットに分割するが、この
データ・ユニットは複数のディスク、例えば、N個のデ
ィスクのプライマリ記憶領域間によりストライプ化す
る。このように該データの内容の“プライマリ”コピー
が記憶されると、バックアップ・コピーは次のようにつ
くられる。つまり、各前記プライマリ記憶領域の内容が
他のディスクのバックアップ記憶領域間によりストライ
プ化されてバックアップ・コピーはつくられる。
【0007】
【実施の形態例】本発明の説明はビデオ・オン・デマン
ド(VOD)システムを取上げ行うが、本発明はこれに
限定するよう解釈すべきではないことは当然であって、
例えば、一般的な形の情報通信システムのような他のデ
ータ・アプリケーションにもここに請求する本発明は容
易に適用可能であることは明白である。これを念頭に置
きながら以下に本発明の実施の形態例を説明する。図1
にはマルチプレクサ75を示すが、これは例えば、非同
期転送モード交換方式とすることもでき、これがストレ
ッジ・ノード50−1ないし50−Nからそれぞれパケ
ットの形でデータを受信する。次にマルチプレクサ75
はこの受信パケットを通信パス76−1ないし76−N
を介しそれぞれの仮想回線接続でそれらの目的とする行
先に送る。
【0008】ここでパケットはビデオ・プログラムのセ
グメントを搬送しこのビデオ・プログラムの内容は本発
明の方法によりストレッジ・ディスク40−11ないし
40−j4間によって2重にストライプ化しミラー化す
ることができるがこれらについては以下に詳しく説明す
る。このようなストライピングによりストレッジ・ノー
ド50−iは特定のビデオ・プログラムのセグメントの
各部を搬送するパケットをマルチプレクサ75に送るこ
とができるがこれはストレッジ・ノード50−iに関係
付けられたストレッジ・ディスク40−kに記憶されさ
らに同一行先(加入者)に配送しようとするセグメント
に割当てられた仮想チャネルを介して送られる、ただし
ここでN、j、およびkはすべて1より大きい。
【0009】そこで、このストレッジ・ディスク間によ
ってストライプ化されたビデオ・プログラムの内容のセ
グメントは該目的用に割当てられた多数の個別仮想デー
タ・チャネルの中の各仮想データ・チャネルを介してマ
ルチプレクサ75に送ることができる。いったんこの内
容が以上のように送られてしまうと、その割当て仮想デ
ータ・チャネルはある別のただし同様の目的用に(また
はアイドルのままで)再割当てすることができる。図1
に見られるように、サーバ100にはホスト・プロセッ
サ25があってこれがユーザをサーバ100に接続する
がこれはユーザ、例えば、ユーザ10−1ないし10−
iの中のあるユーザから受信した注文(要求)を処理す
るためであってこの要求は特定のビデオ・プログラム
(例えば、映画)に関する例を挙げることができる。
【0010】この要求されたプログラムはセグメント化
されディスク40−11ないし40−j4間によってス
トライプ化されたものとすることができ、次にこのセグ
メントはシーケンス順に続いてアンロードされマルチプ
レクサ75さらには通信パス76−1ないし76−Nの
中のある適当な通信パスを介し該ユーザに送信(経路指
定)される。また他方ではこの要求は該ビデオ・プログ
ラムの中止、再スタートなどに向けられる場合も可能で
ある。さらに特には先ずプロセッサ25はこの要求に対
処するために利用可能なリソースを有するかその正否を
決定する。すなわち、もしある1個のディスクがn個の
データ・ストリームをサポートできかつプログラムの内
容がN個のディスク上にストライプ化されるとすると、
nN個のストリーム(ユーザ)をN個のディスクからな
るアレイでサポートすることができる、ただしnとNは
1より大きい。
【0011】そこでサーバ100は、もしディスク40
−11ないし40−j4からなるアレイがマルチプレク
サ75に送っているデータ・ストリームの現在数がnN
より小さい場合、そのユーザの要求に対応することがで
きる。この場合を仮定すると、プロセッサ25はマルチ
プレクサ75と通信して、その要求ビデオを形成するそ
れら各ビデオ・セグメントをマルチプレクサ75にシー
ケンスシャルに続き送信するためそのストレッジ・ノー
ドが利用できるようなチャネル割当てを獲得できる。こ
のような通信には要求が含まれるが、これはこのプログ
ラムをそのユーザに送るために用いる通信パス76−1
ないし76−Nの中のある通信パスのチャネルと各前記
割当チャネル間に仮想接続を設定するためである。
【0012】さらに、プロセッサ25はこのストレッジ
・ノード50iがそのユーザにマルチプレクサ75を介
してセグメントを送る際に従うスケジュールを設定す
る。次にプロセッサ25は前記割当てチャネルとスケジ
ュールをローカル・エリア・ネットワーク(LAN)3
0を介し各該ストレージ・ノード50−iに送るがこれ
については以下に詳述する。このスケジュールは、例え
ば、50−1のようなストレッジ・ノードおよび、例え
ば、ディスク40−11のような関係付けられたディス
クの識別を含むが、これはこの要求プログラムの最初
(一番目)のセグメントを記憶するものである。さらに
このスケジュールはまたこのプログラムの最初のセグメ
ントをディスクからアンロードしてマルチプレクサ75
に送ろうとしている時刻を含む。次にプロセッサ25は
メッセージを形成するが、特にはこのメッセージは下記
を含むものである。
【0013】すなわち、(a)このプログラムを実行す
るため設定されたスケジュール、(b)このプログラム
の識別、(c)このプログラムの最初のセグメントを含
むストレッジ・ノードの識別、d)アドレスがこのメッ
セージのヘッダに含まるノードに割当てられたチャネ
ル、および(e)この最初のセグメントをそのユーザに
送信しようとする時刻、がメッセージに含まれる。次に
プロセッサ25はLAN30を介しこのメッセージに識
別されるストレッジ・ノードにこのメッセージを送る。
次にプロセッサ25はこのストレッジ・ノードの中の次
のストレッジ・ノードに利用可能となるようこのメッセ
ージを更新しこのメッセージをそのストレッジ・ノード
にLAN30を介して送る。
【0014】本発明の実施の形態例を挙げると、プロセ
ッサ25は先ずこのメッセージをその要求プログラムの
最初のセグメントを含むストレッジ・ノード50−iに
送る。プロセッサ25は続いてこのメッセージをその残
りのストレッジ・ノードにその各アドレスの順に基づき
送り各該送信に続きそのメッセージを更新する。このス
トレッジ・ノード50−iは互いにそれぞれ同じもので
あるので、あるこのストレッジ・ノードの説明は他のス
トレッジ・ノードについても同じであってこのまま図1
について説明を続ける。ここに見られるように、ストレ
ッジ・ノード50−1はマイクロプロセッサ52−3を
含みこれはホスト・コンピュータ25と通信するが、こ
れは通常次のスケジュールのセットアップに関する通信
である。
【0015】すなわち、その割当てデータ・チャネルを
介してマルチプレクサ75にバッファ52−2に格納し
た各ビデオ・セグメントを送るためのスケジュールなら
びにバッファ52−2のセグメントの格納とここからの
アンローディングを制御するためのスケジュールであ
る。バッファ52−2はジュアル・バッファ配置を示
し、ここではマイクロプロセッサ52−3はそのディス
ク40−11ないし40−14の中の各ディスクからビ
デオ・セグメントをアンロードしこのアンロードしたセ
グメントを最初のサイクル時にこのジュアル・バッファ
52−2の第1のバッファに格納する。この同じサイク
ル時に、例えば、1秒間の間に、マイクロプロセッサ5
2−3は次に、先のサイクル時にこのジュアル・バッフ
ァ52−2の中の第2のバッファに格納した各ビデオの
各セグメント部をアンロードする。
【0016】アダプタ52−1はこのバッファからのパ
ケットを読取りこのパケットをマルチプレクサ75に通
信パス51−1(例えば、光ファイバとすることができ
るが)およびこの特定の目的のために割当てられたチャ
ネルを介して送る。OC3アダプタ52−1は、データ
端末、例えば、ストレッジ・ノード50−1を光ファイ
バ通信パス、例えば、パス51−1と接続して機能する
よう周知のOC3プロトコルを実行する。他方SCSI
アダプタ52−4は、バス45−1を介してマイクロプ
ロセッサ52−3とその関係付けられたディスク40−
11ないし40−14間にスモール・コンピュータ・シ
ステム・インタフェースを付け機能する。
【0017】マイクロプロセッサ52−3は次のサイク
ル時も前述のプロセスを繰返し、このサイクル時にはそ
の第1のバッファをアンロードして第2のバッファには
ディスク40−11ないし40−14から得たビデオ・
セグメントをロードしており以下同様である。以上述べ
たように、ビデオ・プログラムは、ディスク40−1な
いし40−j4間によって2重にストライプ化されミラ
ー化される。具体的には、本発明の特徴として、ビデオ
のストライピングは、例えば、ディスクのプライマリ・
セクションのような各該ディスクの所定部に限定して行
われ、次にディスクのバックアップ・コピーは、その各
他のディスクの、例えば、セカンダリ・セクションのよ
うな他の所定部間によってそのディスクの内容をストラ
イプ化してつくられる。
【0018】換言すると、ビデオ・プログラムの内容は
N個のディスク間によってストライプ化されるが、これ
はこのプログラムを例えば、3メガビットの固定サイズ
Uの連続ブロック、D0ないしDa、に分割し、これら
のブロックをラウンドロビン方式順にそのディスクのプ
ライマリ・セクション間によってストライプ化して行
う。次に各ディスクの内容はその他のディスクのセカン
ダリ・セクション間によってストライプ化してこの内容
のバックアップ・コピーを生成する。本発明のストライ
ピング例を図2に示す。単純明快にするため図2ではサ
ーバ60のディスク65−1ないし65−4のみを示す
(サーバ60の他のエレメント、例えば、ストレッジ・
ノードやホスト・プロセッサなどは図示していない)。
【0019】本発明では、このホスト・プロセッサはビ
デオ・プログラムをそのディスクに記憶するために複数
のシーケンシャルに続くデータ・ブロック(セグメン
ト)D0ないしDiに分割する。そのためにこのホスト
・プロセッサは、それぞれ図2に示すように、ディスク
65−1ないし65−4のプライマリ・セクションPに
シーケンシャル順(ラウンドロビン方式順)にデータ・
ブロックD0ないしDiを続き記憶する。すなわち、こ
のホスト・プロセッサはディスク65−1ないし65−
4のプライマリ・セクション間によってそのデータ・ブ
ロックをストライプ化する。次にこのホスト・プロセッ
サは、例えば、65−1のようなディスク65−iのプ
ライマリ・セクションの内容のバックアップ・コピーを
本発明の特徴として次のようにつくる。
【0020】それは、ラウンドロビン方式順に続きその
他のディスク、例えば、ディスク65−2ないし65−
4のセカンダリ・セクション間によってこのような内容
を形成するデータ・ブロックをストライプ化して行う。
例えば、図2に見られるように、ディスク65−1に記
憶された最初の3個のデータ・ブロックD0、D4およ
びD8はまたそれぞれディスク65−2ないし65−4
のセカンダリ(バックアップ)セクションSに記憶され
る。これはまたデータ・ブロックD12、D16および
D20に対しても同様でありさらにディスク65−1の
プライマリ・セクションの残りの内容に対しても同様で
ある。同様にディスク65−2のプライマリ・セクショ
ンの内容はディスク65−3、65−4および65−1
間によってこの順序でストライプ化される。
【0021】例えば、また図2から見られるように、デ
ィスク65−2のプライマリ・セクションのデータ・ブ
ロックD1、D5およびD9はそれぞれディスク65−
3、65−4および65−1によってストライプ化さ
れ、以下同様である。このようなバックアップ・ストラ
イピングはディスク65−3および65−4のプライマ
リ・セクションの内容に対しても図示されている。ビデ
オ・プログラムを形成するデータのアンローディング
は、例えば、D0ないしD3、次にD4ないしD7、以
下同様に、例えば、シーケンシャル順に続いて行われ
る。当然分かるように、ビデオ・プログラムのスタート
は最初のディスク、例えば、ディスク65−1から始ま
る必要はなく、このディスクの中のいずれのディスクの
スタートでも可能であって、というのはスタート点はこ
のディスクのいずれのディスクに対してでも計画可能で
あるためである。
【0022】ところで簡単のためここではこのプログラ
ムはブロックD0でディスク65−1においてスタート
すると仮定する。前述のように、このディスクとそのス
トレッジからのデータ・ブロック(セグメント)のアン
ローディングは次のようにサイクルで行われる。すなわ
ち、アンロードされたデータ・ブロックは第1のサイク
ル時に第1のバッファに格納され、次のデータ・ブロッ
クは次のサイクル時にアンロードされ第2のバッファに
格納され、その一方ではこの第1のバッファからの第1
のデータ・ブロックはそのユーザに送信される。ここで
このホスト・プロセッサはユーザからのビデオ・プログ
ラムの要求を受信しその各ストレッジ・ノード60−1
ないし60−4にこの要求を次の表示で通信する。
【0023】ここではこのプログラム・ブロックD0の
スタートは時間t0で送る。さらにここでサイクルは1
秒のサイクルでありデータ・ブロックは3メガビットで
あると仮定する。この要求を受信すると、ストレッジ・
ノード60−1は関係付けられたディスク65−1に記
憶されたプログラム・ブロックのアンローディングのた
めのスケジュールを生成しこのスケジュールを内部メモ
リ(図示せず)に記憶する。以上の生成スケジュール
は、時間t0における関係付けられたサーバ300のマ
ルチプレクサへの配送に対しては時間t0マイナス1秒
におけるデータ・ブロックD0のアンローディングでス
タートする。その次のエントリのD4は時間t0プラス
4秒の配送に対し時間t0プラス3秒においてアンロー
ドするようスケジュールされる。
【0024】さらにその次のエントリのD8は時間t0
プラス8秒の配送に対し時間t0プラス7秒においてア
ンロードするようスケジュールし、以下同様である。図
3にこのようなスケジュール例を図示する。ストレッジ
・ノード60−2はデータ・ブロックD1、D5、D9
などに関して同様のスケジュールを生成する。すなわ
ち、この要求プログラムを形成するデータ・ブロックの
シーケンスを関係付けられたマルチプレクサに配送する
際にその順序をこのようなデータの第1のデータ・ブロ
ックを有するストレッジ・ノード60−iの識別の関数
として決めるようストレッジ・ノードをプログラムす
る。したがってストレッジ・ノード60−2が生成する
スケジュールはデータ・ブロックD1、D5、D9など
がサイクルt0+1、t0+5、t0+9などのサイク
ル時にそれぞれ配送されるようになっていることを示
す。
【0025】同様にストレッジ・ノード60−3、60
−4はそれらの関係付けられたディスクに記憶された要
求プログラムのデータ・ブロックに関するそれら自身の
配送スケジュールを生成する。さらにまた多数のユーザ
が同一プログラムを要求することができる。例えば、デ
ータ・ブロックD0、D1、D2、D3、・・・D8、
などからシーケンシャル順に続いてできている第1のデ
ータ・ストリームは、あるユーザが入力した要求に応答
して各サイクル時にその順序でアンロードされ、またそ
れと同時にそのデータ・ブロックD13、D14、D1
5などは別のユーザが先に入力した要求に応答して同じ
各サイクル時その順序でアンロードすることができる。
【0026】なおさらにまた別の第3のユーザはデータ
・ブロックD29などを含む他のデータ・ストリームを
アクセスすることができる。これが生じることができる
のは、例えば、この第2のユーザがより早い時間にこの
パーフォーマンスのアクセスをスタートしデータ・ブロ
ックD0ないしD12のシーケンスをすでに通過してし
まっており、また第3のユーザがデータ・ブロックD0
ないしD28のシーケンスをすでに通過してしまってい
る、などの場合である。新しいビデオ・パーフォマンス
がスタートできるのは現在取扱われているビデオ・スト
リームの数がnNより小さい場合である。新ビデオ・パ
ーフォマンスが始ると、この要求ストリームに対するス
ターティング・アドレスを含むディスクが識別される。
【0027】しかしこのセッションに対する最初のI/
O要求は、そのディスクがサービスするセッションがn
個より小さい場合のサイクルの開始まで、始動すること
ができない。したがってこのセッションに対するI/O
要求をキューに入れて待つその前には最大でNCの遅れ
時間が可能である。再生はこの最初のI/Oが要求され
たサイクルの最後にスタートする。したがってこの再生
遅れの上限は(N+1)Cである。図4は、ビデオ・プ
ログラムを視聴するユーザの要求または中断ストリーム
を再スタートするユーザの要求を処理するためプロセッ
サ25において実行されるプログラムをフローチャート
の形で例示する。
【0028】図4においてはステップ400で新ストリ
ームの要求の受信にまたは先に中断したストリームの再
スタートに応答して動作は開始する。具体的にはこのよ
うな要求に応答して、ブロック400で本プログラムを
開始して入り、ここでブロック401に進みアクティブ
に取扱っているデータ・ストリームの数(つまりユーザ
の数)がnN、ただしnとNの定義は前記の通り、に等
しいかその正否を見るようチェックする。もしこれが正
の場合には、本プログラムはブロック402に進み、こ
こでシステム容量が利用可能になるまでこのユーザの要
求の処理を遅らせる。そうではなくこれが否の場合、本
プログラムはブロック403に進みここで処理している
データ・ストリームの数(ユーザの数)をインクリメン
トし次のスタート点を決める。
【0029】すなわち、その要求ビデオ・プログラムの
最初のデータ・ブロックのスタート点(アドレス)(ま
たは再スタートのデータ・ブロックのアドレス)を決め
る、ただしこのアドレスはその対応するディスクjのア
ドレスを含むものである。次に本プログラム(ブロック
404)はディスクjを用いて処理するデータ・ストリ
ームの次のバッチに対応するよう変数iを設定する。次
に本プログラム(ブロック405)はバッチiのデータ
・ストリームの数が最大のnに等しいかその正否を見る
ようチェックする。もしこれが正の場合には、本プログ
ラム(ブロック406)はC(U/R)に等しい待ち時
間を開始し次のバッチのアドレスにiを設定してブロッ
ク115に戻ってこの要求をそのバッチに加えることが
できるかその正否を決める。
【0030】もし本プログラムがこの“否”のパスによ
ってブロック405を出る場合には、バッチiのデータ
・ストリームの数をインクリメント(ブロック407)
し変数mをストレージ・ノードjのアドレスに設定す
る。次に本プログラムはこのユーザの要求をバスmと適
当なストレッジ・ノード50mを介し送信のためバッチ
iに割当てる。次に本プログラム(ブロック409)
は、C=(i+1)modNと設定しまたm=(m+
1)mod Nと設定する。次に本プログラム(ブロッ
ク410)はm=jかその正否を決め、もしこれが正の
場合には本プログラムは終了して出る。そうでなくてこ
れが否の場合には本プログラムはブロック408に戻
る。
【0031】ビデオ・プログラムの再生の際にディスク
の故障が許されるならば有難いことである。前述のよう
に本発明の特徴として、ディスクの故障は前記のように
ディスクの内容を他のディスクのセカンダリ記憶領域間
によってストライプ化して容易に対処される。次にここ
に請求する本発明の一つの特徴は、ディスクの故障に続
き故障ディスクが取扱っている処理ロードを動作可能な
(生存)デイスクによって同様に取扱いこれを保証する
ことである。以下に説明するスケジューリング・アリゴ
リズムは故障ディスクが提供していた“ビデオ・ストリ
ーム”を生存ディスクからスムーズにサービスできるこ
とを保証するものである。
【0032】これは各ディスク・システムのI/O帯域
幅の約N分の一をこの故障ディスクのロードを取扱うた
めビデオ・ストリームをそれに再割当てできるよう確保
することによって実現できる。そこで通常のオペレーシ
ョン下では、その利用可能ディスク帯域幅の約(1−1
/N)部分を十分活用してビデオ・ストリームを取扱
う。したがって、N個のディスク・サブシステムはN
(n−(n/N))個のストリームをサポートすること
ができる。この(M/N)の量はn/Nより大きいかま
たはn/Nに等しい最小の整数を示す。例えば、N=1
0でn=8とすると、そのディスクI/O帯域幅の88
パーセントが活用できる。以上から明らかなように、デ
ィスク(またはディスク・システム)が故障した場合、
これによって取扱われていた処理ロード(スケジュー
ル)は故障しなかったディスクに再割当てされる必要が
ある。
【0033】具体的には、あるディスクに対するスケジ
ュールとは、あらゆるNサイクルを繰返す周期スケジュ
ールであって、ただしここでディスクは各サイクルに最
大でn−(n/N)個のストリームを提供することがで
きるディスクである。ビデオ(またはデータ)ストリー
ムの種々の集合が周期シケジュールにおいてそのNサイ
クルの各々で開始される。図5はN=4およびn=4で
ある場合のスケジュール例を示す。各列66−iの最初
のサイクルは通常オペレーション下のディスク65−i
のスケジュールを示す。ディスク65ー1がサイクル6
7の終りに故障したと仮定する。この故障を検出する
と、ディスク65−1が提供するデータ・ストリームの
供給はサイクル毎のベースでその動作可能なディスク6
5−2ないし65−4に再割当てされる。
【0034】この再割当てはシステム周期のすべてのN
サイクルに対し一度で終了される。すなわち、各サイク
ルに対し、この故障ディスクが提供するビデオ・ストリ
ームは同じサイクルの生存ディスクのスケジュールに挿
入される。このビデオ・ストリームはその追加ロードが
それらディスク間で均等に分担されるようラウンドロビ
ン方式順に再割当てすることができる。このような一例
を挙げると、各生存ディスクには(n−(n/N))/
(N−1)個の追加ビデオ・ストリームが割当てられさ
らにこれは最大でn−(n/N)+(n−(n/N))
/(N−1)(≦n)個のストリームを1サイクルで提
供する。このN−サイクル周期の他のN−1サイクルか
らのデータ・ストリームも同様に割当てられる。
【0035】この次のN−サイクル周期では、この故障
ディスクの再割当てスケジュールは右へ1個だけシフト
されるがこれはこの故障ディスクのあるビデオ・ストリ
ームがある周期のディスクiに再割当てされさらにその
次の周期にはディスク(i+1)mod(N−1)に再
割当てされるためである。この結果が生ずるのは、この
故障ディスクの特定のビデオ・ストリーム(データ・ブ
ロック)に対するバックアップ・データはその他のディ
スクのバックアップ・セクション間によってストライプ
化されるためである。そこでこのビデオ・ストリームの
再割当てから生ずる新スケジュールはまたN(N−1)
C、ただしここでCはそのサイクル時間である、に等し
い周期スケジュールである。
【0036】このようなスケジューリングを実現するプ
ロセッサ25のプログラムを図6に例示する。具体的に
は、本プログラム(ブロック500)を開始して入ると
本プログラムが処理するデータ・ストリームの最初のバ
ッチのアドレスを表す変数jを1の値に設定(ブロック
501)する。処理するバッチの数はNに等しいと仮定
する。この数値を用いて本プログラム(ブロック50
2)はディスクiが提供するバッチjのデータ・ストリ
ームの数をnjに設定し、さらにkを1に設定する、た
だしここでkはこのバッチの特定のデータ・ストリーム
であって−−初期には最初のデータ・ストリームを表
す。次に本プログラム(ブロック503)は各システム
周期(フレーム)のアドレスを表す変数pを1に設定す
る。
【0037】最初にブロック504において本プロフラ
ムは、このディスクの故障に続く最初の周期に、((i
+k+p−2)mod N)+1によって識別されるデ
ィスクにより処理されるデータ・ストリームの最初のバ
ッチにその最初のデータ・ストリームを割当てる。もし
このディスクがその最初のデータ・ストリームを再スタ
ートするため用いるバックアップ・データ・ストリーム
を含む場合には、このデータ・ブロックは周期p、初め
は最初の周期で再スタートされる。前記に続き、本プラ
グラムはpをインクリメントし、p値がディスクの合計
の数(故障ディスクを除き)を超過するかその正否を見
るよう(ブロック505)チェックする。もしこれが否
の場合には本プログラムはブロック504の始めに戻
る。
【0038】そうではなくてこれが正の場合、本プログ
ラム(ブロック506)はkをインクリメントしこのk
の新しい値がバッチjにおいてこの故障ディスクが取扱
っていたデータ・ストリームの数を超過するかその正否
を見るよう(ブロック507)チェックする。もしこれ
が否の場合には、本プログラムはブロック503に戻り
このkの新しい値に対する再スケジューリング・プロセ
スを続ける。そうではなくてこれが正の場合、本プログ
ラム(ブロック508)はjの値をインクリメントし本
プログラムが処理するデータ・ストリームの次のバッチ
を識別しそしてそれが実行済みであるか、つまりjの値
がバッチNの数より大きい場合であるが、この正否を見
るよう(ブロック509)チェックする。
【0039】もしこれが正の場合には本プログラムは終
了し出る。そうではなくこれが否の場合にはブロック5
02に戻りこの再スケジューリング・プロセスを続け
る。図7はこのような再スケジューリングの例を示しデ
ィスク65−1が故障したと仮定する。図から分かるよ
うにこの再スケジューリングの手法によって故障したデ
ィスク65−1によって提供されるデータ・ストリーム
1ないし12の供給が前記説明のように残るディスク6
5−2ないし65−4に分担される。以上のように、前
記再スケジューリング・プロセスによっては軽微なサー
ビスの混乱が生ずることがあり得る。これはデータ・ス
トリームを直ちに再スタートできない結果として生ずる
ものであってその理由は再割当てしているディスクが故
障の時点でこのプログラムを再スタート(継続)するた
めその関係付けられたバックアップにこのデータ・ブロ
ックを含むことができないためである。
【0040】そこで、取扱っているこの特定の要求は所
望データ・ブロックを含むディスクでこのプログラムが
再スケジュールされるまで多数のNサイクルの周期の間
遅らせることができる。最悪の場合には遅れはN−1周
期またはN(N−1)Cに等しくなる、ただしここでそ
れぞれNはこのシステム(またはストライピング・グル
ープ)におけるディスクの数に等しくまたCはそのディ
スクから同時要求をスケジュールするためのサイクル時
間の長さに等しい。この遅れを低減するためにはそのデ
ータ・ストリームを再スタートしようとする位置をこの
再割当てアルゴリズムにおいて用いることができる。具
体的にはこの故障ディスクのスケジュールのあるサイク
ルからストリームを割当てる際には次のことを行う。
【0041】すなわち、その際にはできるだけ多数のス
トリームをそれらの再スタート位置を含むディスクに割
当てるがただしその制約はわずか(n/N)個の追加ス
トリームがあるディスクに割当てられる制約、ここでn
はバッチにおけるストリームの最大数または1サイクル
においてディスクが同時に取扱うスロリームの最大数、
である。次に最初のパス時に割当てできなかったこれら
データ・ストリームをその再スタート位置を含むディス
クの左側のある一つの位置に配置したディスクに割当て
る試みを行う。この手順はそのデータ・ストリームを次
のNサイクル周期に再スタートできることを保証する。
最大N−1個のこのようなパスがその全データ・ストリ
ームを再割当てするのに必要となる。
【0042】そこで前記手順はこのデータ・ストリーム
をディスクに割当てることを試行するがこのディスクは
その再スタートのデータ・ブロックを保持しているもの
にもっとも近くにあってその左側のディスクである。図
7はプロセッサ25において本改良再スケジューリング
・スキームを実現するプログラムを例示する。具体的に
は本プログラムは、ディスクの故障のために開始して入
ると、ブロック701に進み、ここで再スケジュールす
る必要のあるデータ・ストリームのバッチを表す変数j
をその1の値(最初のバッチ、ここでこの最初のバッチ
は、例えば、図8の列66−1に示すデータ・ストリー
ム1、2および3を挙げることができる)に設定する。
【0043】次に本プログラム(ブロック702)は変
数mt をバッチjを形成しその故障ディスクiによって
提供されるデータ・ストリームの数に等しく設定する
が、ここで後者のデータ・ストリームの再スタートのデ
ータ・ブロックはディスクtのバックアップにある、た
だしディスクtはディスクi以外のものである。次に本
プログラムは変数qt を追加データ・ストリームを格納
するためにディスクt上の利用可能な容量に等しく設定
する。本発明の一実施の形態例として、N分の一の容量
を故障ディスクが取扱っていた追加データ・ストリーム
を処理するために確保する、ただしここでnはディスク
から提供可能なユーザの最大数でありまたNはこのサー
バ・システムに含まれるディスクの数である。
【0044】次に本プログラムは、データ・ストリーム
を割当てるためにこのプログラムが用いる“ステージ”
(またはパス)の数を追跡する変数kを設定する。ステ
ージ1においては本プログラムはその再スタートのデー
タ・ブロックをそのバックアップ・セクションに含むデ
ィスクに直接そのストリームを割当てることを試行す
る。次に本プログラムはステージ1の際に割当てられな
かったデータ・ストリームを割当てることを試行する。
次に本プログラム(ブロック703)は“t”をその1
の値に等しく設定してこの再スケジューリング・プロセ
スをスタートし次にtの現在値がi(その故障ディスク
の数)に等しいかその正否を見るようチェック(ブロッ
ク704)する。もしこれが正の場合には、本プログラ
ム(ブロック705)はtをインクリメントする。
【0045】もしtがNの値以下であると分かると(ブ
ロック706)本プログラムはブロック704に戻る。
この時本プログラムはブロック704からブロック71
1の否のパスを取る、ここで変数pをその1の値に設定
しそれによってディスクiの故障に続くサイクルの最初
の周期を規定する。ここで注記することはこのディスク
の故障の前にはN個のバッチが反復する周期にあったこ
とである。この故障に続きN個のバッチまたはサイクル
をそれぞれ含むN−1周期があることである。この(N
−1)周期は反復され新周期スケジュールを形成する。
【0046】次に本プログラム(ブロック712)は、
t とmt データ・ストリームのqt の最小、ただしこ
こでその各再スタートのデータ・ブロックはディスクt
のバックアップ・セクションに記憶される、を最初の周
期にそのバックアップ・セクションに再スタートのデー
タ・ブロックを含むディスクのバッチjに割当てる。
(ここで注記することはブロック712における最初の
式はp=1とk=1の場合のディスクtに相当すること
である。) 次に本プログラムはその割当てブロックに
対しこの再スタート・スケジュールを設定する。すなわ
ち、もしこのディスクがその再スタートのデータ・ブロ
ックを含む場合には、本プログラムは現周期pにおいて
再スタートためのデータ・ストリームをスケジュールす
るが、これは再スケジューリング・プロセスの最初のス
テージ(パス)の際に割当てられるデータ・ストリーム
について当てはまるものである。
【0047】次に本プログラムは続けてこのスケジュー
リングを完了する。すなわち、データ・ストリームを1
周期の間にある1個のディスクに割当てることはこのデ
ータ・ストリームを好都合に再スタートさせるのに十分
であるとしてはならない。そこで本プログラムはpの値
をインクルメントしてそのすべての周期に対する再スケ
ジューリングを完了済みかその正否を見るようチェック
(ブロック713)する。前述のように周期数(つまり
その新スケジュールにおける別個の周期)はその故障後
N−1に等しくなりこれを繰返す。もし本プログラムが
ブロック713の否のパスを終了して出る場合には、そ
の次の周期にその割当てを繰返すよう戻ってN−1周期
の間継続してそれを行う。
【0048】もし本プログラムがN−1回ブロック71
2を折返した場合には、その次の隣接ディスク(つま
り、ブロック712を通る先のパスの際に再スケジュー
リングに含まれるディスクに関し高い順位で次のディス
ク)に関して更新する。そこで本プログラムはステージ
1の際にN−1回ブロック712を折返して連続する周
期pの間この故障ディスクによって提供されるデータ・
ストリームの再スケジューリングを終了する。このよう
な折返しを終了後、本プログラム(ブロック714)は
t とqω の値を更新し現ステージの際に再スケジュ
ールされなかった処理バッチのこれらストリームに対し
次のディスクで再スケジューリングを続ける。
【0049】次に本プログラムはtをインクリメント
し、もしtの現在値がN以下である場合にはブロック7
04に戻る。そうではなくtの現在値がN以上の場合に
は本プログラム(ブロック707)はkをその次のステ
ージにインクリメントしブロック703に進み先のステ
ージの際に1個以上のデータ・ストリームが再スケジュ
ールされなかったかその正否を決める。もしこれが正の
場合には本プログラムはブロック703に進む。そうで
はなくこれが否の場合には、本プログラム(ブロック7
09)はデータ・ストリームの次のバッチを指すように
jを設定しそしてバッチはすべて再スケジュールされた
かその正否を見るよう(ブロック710)チェックす
る。もしこれが正の場合には本プログラムは終了して出
るが、そうではなくこれが否の場合にはブロック702
に戻る。
【0050】以上説明した本発明は、例えば、市内電話
局および構内交換局において容易に実現することができ
る。さらにはケーブルTVシステムのヘッドエンドにお
いても実現できる。さらにまた本発明はビデオ・プログ
ラムおよび該ビデオ・プログラムを形成するデータ・ブ
ロックによって説明を行ったが、本発明は他の種類のデ
ータについても明白に適用可能である。すなわち、以上
の説明は、本発明の実施の一形態例に関するもので、こ
の技術分野の当業者であれば、さらに本発明の種々の変
形例が考え得るが、それらはいずれも本発明の技術的範
囲に包含される。尚、特許請求の範囲に記載した参照番
号は発明の容易なる理解のためで、その技術てき範囲を
制限するよう解釈されるべきではない。
【0051】
【発明の効果】以上述べたごとく、従来のディスク・ス
トライピングでは、例えば、ビデオ・オン・デマンド・
システムにおいてたった1個のコンポーネントの故障で
も全ディスク・アレイの機能を不能にしユーザが該ディ
スク・アレイ上に記憶したビデオ・プログラムにアクセ
スすることができなかったが、本発明のデータ・サーバ
の実現により低コストでこの故障に有効に対処でき複数
の個別メモリに記憶したデータに複数の個別ユーザの同
時アクセスを高い信頼性で提供することができ有用であ
る。
【図面の簡単な説明】
【図1】本発明を実現できるデータ・サーバを示す概略
ブロック図である。
【図2】本発明の特徴である複数のディスク間によりデ
ータをストライプ化することができるストライピング法
の説明例を示す図である。
【図3】関係付けられたディスクに記憶したデータ・ブ
ロックのアンローディングのため図1のストレッジ・ノ
ードが生成できるスケジュール例を示す図である。
【図4】図1のディスクのデータ・ブロックをユーザに
提供するため図1のホスト・プロセッサが呼び出すプロ
グラムのフローチャートを示す図である。
【図5】4個のディスクと3個のデータ・ストリームを
サイクル当り有するシステムに対するスケジュール例を
示す図である。
【図6】故障したディスクが提供しようとしたデータ・
ブロックの供給を再スケジュールするため図1のホスト
・プロセッサが用いるプログラムのフローチャート例を
示す図である。
【図7】図6の本プログラムによって得られた結果の説
明例を示す図である。
【図8】図6のプログラムに代る例を示す図である。
【符号の説明】
10−1 ユーザ 10−i ユーザ 25 ホスト・プロセッサ 30 ローカル・エリア・ネットワーク(LAN) 40−11 ディスク 40−12 ディスク 40−13 ディスク 40−14 ディスク 40−21 ディスク 40−22 ディスク 40−23 ディスク 40−24 ディスク 40−31 ディスク 40−32 ディスク 40−33 ディスク 40−34 ディスク 40−j1 ディスク 40−j2 ディスク 40−j3 ディスク 40−j4 ディスク 45−1 バス 45−2 バス 45−3 バス 45−j バス 50−1 ストレッジ・ノード 50−2 ストレッジ・ノード 50−3 ストレッジ・ノード 50−j ストレッジ・ノード 51−1 パス 51−2 パス 51−3 パス 51−j パス 52−1 OC3アダプタ 52−2 バッファ 52−3 マイクロプロセッサ 52−4 SCSIアダプタ 60−1 ストレッジ・ノード 60−2 ストレッジ・ノード 60−3 ストレッジ・ノード 60−4 ストレッジ・ノード 65−1 ディスク 65−2 ディスク 65−3 ディスク 65−4 ディスク 75 マルチプレクサ 76−1 パス 76−2 パス 76−N パス 100 データ・サーバ 300 データ・サーバ

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のディスク(40、65)にデータ
    を記憶するデータ記憶方法において、 (A)各前記ディスクの記憶領域をプライマリ・セクシ
    ョンとセカンダリ・セクションに分割するステップと、 (B)前記データを複数の連続するデータ・ブロックに
    区分し前記プライマリ・セクションの中の各プライマリ
    ・セクションにシーケンス順に続き前記連続データ・ブ
    ロックを記憶するステップと、 (C)前記プライマリ・セクションの中のあるプライマ
    リ・セクションに記憶した連続データ・ブロックを前記
    ディスクの中の他のディスクの各セカンダリ・セクショ
    ンにシーケンス順に続き記憶するステップと を有することを特徴とするデータ記憶方法。
  2. 【請求項2】 前記複数の連続データ・ブロックを前記
    プライマリ・セクションにラウンドロビン方式順に記憶
    することを特徴とする請求項1に記載の方法。
  3. 【請求項3】 さらに、(D)あるタイム・サイクル内
    において、複数のユーザの中の各ユーザに個別ディスク
    からデータ・ブロックにアクセスさせるステップと、 (E)前記アクセスしたデータ・ブロックを各データ・
    バッファに格納するステップと、 (F)次のタイム・サイクル内において、前記データ・
    バッファに格納したデータを読み出しそれを前記ユーザ
    の中の各ユーザに提供するステップ を有することを特徴とする請求項1に記載の方法。
  4. 【請求項4】 さらに、(G)前記ディスクの中のある
    ディスクが各ユーザにそのプライマリ・セクションに記
    憶したデータ・ブロックを所定のシーケンス順に続き提
    供するようスケジュールされている際にこれを提供しそ
    こなう故障ディスクに応答し、前記ディスクの中の前記
    他のディスクのセカンダリ・セクションに該データ・ブ
    ロックを記憶する順に基づき前記デイスクの中の前記他
    のディスクに該データ・ブロックの提供を再割当てする
    ステップを有することを特徴とする請求項1に記載の方
    法。
  5. 【請求項5】 複数の個別メモリ(40、65)にデー
    タを記憶するデータ記憶方法において、 (A)各前記メモリを第1のセクションと第2のセクシ
    ョンに区分しかつ前記第1のセクションをシーケンス順
    と関連付けさらに前記第2のセクションを前記シーケン
    ス順と関連付けるステップと、 (B)前記第1のセクションの中のシーケンス順のセク
    ションに前記データの連続するデータ・ブロックをラウ
    ンドロビン方式順に記憶しさらに前記第2のセクション
    の中のシーケンス順のセクションに前記第1のセクショ
    ンの中のあるセクションに記憶した該データ・ブロック
    をラウンドロビン方式順に記憶するステップ を有することを特徴とするデータ記憶方法。
  6. 【請求項6】 前記データはビデオ・プログラムを構成
    することを特徴とする請求項5に記載の方法。
  7. 【請求項7】 さらに、(C)あるタイム・サイクル内
    において、複数のユーザの中の各ユーザに個別の第1の
    セクションからデータ・ブロックにアクセスさせるステ
    ップと、 (D)前記アクセスしたデータ・ブロックを各データ・
    バッファに格納するステップと、 (E)次のタイム・サイクル内において、前記データ・
    バッファに格納したデータを読み出しそれを前記ユーザ
    の中の各ユーザに提供するステップ を有することを特徴とする請求項5に記載の方法。
  8. 【請求項8】 さらに、前記あるメモリが各ユーザにそ
    のプライマリ・セクションに記憶したデータ・ブロック
    を所定のシケース順に続き提供するようスケジュールさ
    れている際にそれを提供しそこなう故障メモリに応答
    し、前記メモリの中の前記他のメモリのセカンダリ・セ
    クションに該データ・ブロックを記憶する順に基づき前
    記メモリの中の前記他のメモリに該データ・ブロックの
    提供を再割当てするステップを有することを特徴とする
    請求項6に記載の方法。
  9. 【請求項9】 各前記メモリは光メモリ・ディスクであ
    ることを特徴とする請求項5に記載の方法。
JP8185827A 1995-07-19 1996-07-16 データ記憶方法 Pending JPH09114605A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/504,096 US5678061A (en) 1995-07-19 1995-07-19 Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks
US504096 1995-07-19

Publications (1)

Publication Number Publication Date
JPH09114605A true JPH09114605A (ja) 1997-05-02

Family

ID=24004830

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8185827A Pending JPH09114605A (ja) 1995-07-19 1996-07-16 データ記憶方法

Country Status (3)

Country Link
US (1) US5678061A (ja)
EP (1) EP0755009A2 (ja)
JP (1) JPH09114605A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149352A (ja) * 2000-11-16 2002-05-24 Sony Corp データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
US6317803B1 (en) * 1996-03-29 2001-11-13 Intel Corporation High-throughput interconnect having pipelined and non-pipelined bus transaction modes
US5926649A (en) * 1996-10-23 1999-07-20 Industrial Technology Research Institute Media server for storage and retrieval of voluminous multimedia data
US5870761A (en) * 1996-12-19 1999-02-09 Oracle Corporation Parallel queue propagation
US6505281B1 (en) 1998-06-02 2003-01-07 Raymond C. Sherry Hard disk drives employing high speed distribution bus
US6332177B1 (en) 1998-10-19 2001-12-18 Lsi Logic Corporation N-way raid 1 on M drives block mapping
US6604224B1 (en) * 1999-03-31 2003-08-05 Diva Systems Corporation Method of performing content integrity analysis of a data stream
US7000069B2 (en) * 1999-04-05 2006-02-14 Hewlett-Packard Development Company, L.P. Apparatus and method for providing very large virtual storage volumes using redundant arrays of disks
US6425052B1 (en) * 1999-10-28 2002-07-23 Sun Microsystems, Inc. Load balancing configuration for storage arrays employing mirroring and striping
US6772302B1 (en) 1999-11-12 2004-08-03 International Business Machines Corporation Virtual copy method for data spanning storage boundaries
US6996742B2 (en) * 2000-11-28 2006-02-07 Sedna Patent Services, Llc Method for regenerating and streaming content from a video server using RAID 5 data striping
US20020156971A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method, apparatus, and program for providing hybrid disk mirroring and striping
US7437472B2 (en) * 2001-11-28 2008-10-14 Interactive Content Engines, Llc. Interactive broadband server system
US7644136B2 (en) * 2001-11-28 2010-01-05 Interactive Content Engines, Llc. Virtual file system
US7788396B2 (en) * 2001-11-28 2010-08-31 Interactive Content Engines, Llc Synchronized data transfer system
US7017017B2 (en) 2002-11-08 2006-03-21 Intel Corporation Memory controllers with interleaved mirrored memory modes
US7130229B2 (en) * 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US7552192B2 (en) * 2002-12-18 2009-06-23 Ronnie Gerome Carmichael Massively parallel computer network-utilizing MPACT and multipoint parallel server (MPAS) technologies
US7062673B2 (en) * 2003-05-19 2006-06-13 Hitachi Global Technologies System and method for sparing in RAID-1 system
JP4428202B2 (ja) * 2004-11-02 2010-03-10 日本電気株式会社 ディスクアレイ・サブシステム、ディスクアレイ・サブシステムにおける分散配置方法、制御方法、プログラム
US7996608B1 (en) 2005-10-20 2011-08-09 American Megatrends, Inc. Providing redundancy in a storage system
US8010485B1 (en) 2005-10-20 2011-08-30 American Megatrends, Inc. Background movement of data between nodes in a storage cluster
US8010829B1 (en) 2005-10-20 2011-08-30 American Megatrends, Inc. Distributed hot-spare storage in a storage cluster
US7778960B1 (en) 2005-10-20 2010-08-17 American Megatrends, Inc. Background movement of data between nodes in a storage cluster
US7809892B1 (en) 2006-04-03 2010-10-05 American Megatrends Inc. Asynchronous data replication
US7908448B1 (en) 2007-01-30 2011-03-15 American Megatrends, Inc. Maintaining data consistency in mirrored cluster storage systems with write-back cache
US8498967B1 (en) 2007-01-30 2013-07-30 American Megatrends, Inc. Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome
US8046548B1 (en) 2007-01-30 2011-10-25 American Megatrends, Inc. Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging
US8108580B1 (en) 2007-04-17 2012-01-31 American Megatrends, Inc. Low latency synchronous replication using an N-way router
US20120011541A1 (en) * 2010-07-12 2012-01-12 Cox Communications, Inc. Systems and Methods for Delivering Additional Content Utilizing a Virtual Channel
US10102086B2 (en) * 2014-12-19 2018-10-16 Futurewei Technologies, Inc. Replicated database distribution for workload balancing after cluster reconfiguration

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796098A (en) * 1981-12-04 1989-01-03 Discovision Associates Banded and interleaved video disc format with duplicate information stored at different disc locations
US4688168A (en) * 1984-08-23 1987-08-18 Picker International Inc. High speed data transfer method and apparatus
US4849978A (en) * 1987-07-02 1989-07-18 International Business Machines Corporation Memory unit backup using checksum
US5088081A (en) * 1990-03-28 1992-02-11 Prime Computer, Inc. Method and apparatus for improved disk access
EP0485110B1 (en) * 1990-11-09 1999-08-25 Emc Corporation Logical partitioning of a redundant array storage system
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5404454A (en) * 1991-02-28 1995-04-04 Dell Usa, L.P. Method for interleaving computer disk data input-out transfers with permuted buffer addressing
US5303244A (en) * 1991-03-01 1994-04-12 Teradata Fault tolerant disk drive matrix
JPH04293135A (ja) * 1991-03-20 1992-10-16 Yokogawa Hewlett Packard Ltd メモリアクセス方式
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US5471640A (en) * 1992-07-06 1995-11-28 Hewlett-Packard Programmable disk array controller having n counters for n disk drives for stripping data where each counter addresses specific memory location by a count n
US5487160A (en) * 1992-12-04 1996-01-23 At&T Global Information Solutions Company Concurrent image backup for disk storage system
US5463758A (en) * 1993-08-02 1995-10-31 International Business Machines Corporation System and method for reducing seek time for read operations in mirrored DASD files
US5519435A (en) * 1994-09-01 1996-05-21 Micropolis Corporation Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149352A (ja) * 2000-11-16 2002-05-24 Sony Corp データ記憶制御方法、データ記憶制御装置及びデータ記憶制御プログラムを格納した記録媒体

Also Published As

Publication number Publication date
US5678061A (en) 1997-10-14
EP0755009A2 (en) 1997-01-22

Similar Documents

Publication Publication Date Title
JPH09114605A (ja) データ記憶方法
CA2196483C (en) Method and apparatus for providing enhanced pay per view in a video server
KR100377092B1 (ko) 다중 사용자 데이터 분배 시스템내 저장장치 서브세트상에 데이터 스트림을 스트라이핑하는 방법
US5590381A (en) Method and apparatus for buffered video playback of video content distributed on a plurality of disks
JP2006180537A (ja) データシーケンスの転送をスケジューリングする方法及びシステム
US5608448A (en) Hybrid architecture for video on demand server
US5559764A (en) HMC: A hybrid mirror-and-chained data replication method to support high data availability for disk arrays
US5649093A (en) Server disk error recovery system
EP0660605B1 (en) Video storage and delivery apparatus and method
US6134596A (en) Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
JP3195231B2 (ja) マルチノード・ビデオ・サーバ・システム
US5592612A (en) Method and apparatus for supplying data streams
US5926649A (en) Media server for storage and retrieval of voluminous multimedia data
US5799174A (en) Staggered striping in multimedia information systems
WO2002087236A1 (en) System and method for retrieving and storing multimedia data
WO1995026095A2 (en) Video system
WO1995026095A9 (en) Video system
JP4151991B2 (ja) ビデオサーバにおいてデータを取り出すシステム
US5964829A (en) Method and apparatus for providing enhanced pay per view in a video server employing a coarse-grained striping scheme
US6079028A (en) Fault tolerant architectures for continuous media servers
EP1123532A1 (en) Seamless scalable distributed media server
JPH0535407A (ja) 情報ライブラリシステム
US7421726B1 (en) Method of seamlessly replacing disc-based video streams with memory-based video streams in a video-on-demand system
Chang et al. 2D BubbleUp: Managing Parallel Disks for Media Servers.
US7681222B1 (en) Method of reducing disc workload in a video-on-demand system by seamlessly replacing memory-based video streams with disc-based video streams, and visa-versa