JPH09138734A - 実時間ストリームサーバ並びに実時間ストリームサーバのディスク修復装置及びディスク修復方法 - Google Patents

実時間ストリームサーバ並びに実時間ストリームサーバのディスク修復装置及びディスク修復方法

Info

Publication number
JPH09138734A
JPH09138734A JP8208648A JP20864896A JPH09138734A JP H09138734 A JPH09138734 A JP H09138734A JP 8208648 A JP8208648 A JP 8208648A JP 20864896 A JP20864896 A JP 20864896A JP H09138734 A JPH09138734 A JP H09138734A
Authority
JP
Japan
Prior art keywords
stream
disk
repair
block
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.)
Granted
Application number
JP8208648A
Other languages
English (en)
Other versions
JP3617879B2 (ja
Inventor
Hiroshi Yao
浩 矢尾
Tatsunori Kanai
達徳 金井
Toshiki Kitsu
俊樹 岐津
Seiji Maeda
誠司 前田
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 JP20864896A priority Critical patent/JP3617879B2/ja
Priority to US08/712,966 priority patent/US6067636A/en
Publication of JPH09138734A publication Critical patent/JPH09138734A/ja
Application granted granted Critical
Publication of JP3617879B2 publication Critical patent/JP3617879B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (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)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 ストリーム提供に影響を与えずディスク装置
の故障に対する修復時間を短縮できる実時間ストリーム
サーバを提供する。 【解決手段】 要求されたデータを、ブロック(複数デ
ータとそのパリティ)単位にデータを分散格納する複数
のディスク装置を持つデータ蓄積部からブロック単位に
バッファメモリ上に読出しネットワークを介して要求元
に転送する手段と、読出しと転送のタイミングをスケジ
ューリングする手段を持つ実時間ストリームサーバにお
いて、修復すべきセグメントの属するブロックの情報を
管理する手段と、通常ストリームに優先的に割当てた残
りの未使用ストリーム資源の全部又は一部を修復ストリ
ームに割当てる手段と、少なくとも修復ストリームによ
り、故障したディスク装置に格納されていたセグメント
を修復ストリームにより代替ディスク装置上に修復する
手段とを持つ。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、実時間ストリーム
サーバからクライアントへのストリームの供給に影響を
与えずにディスク装置の故障により失われたデータを修
復する実時間ストリームサーバ並びに実時間ストリーム
サーバのディスク修復装置及びディスク修復方法に関す
る。
【0002】
【従来の技術】動画像や音声に代表される、実時間で順
次転送されるデータを「実時間ストリームデータ」と呼
ぶ。これらのデータを扱う「実時間ストリームサーバ」
においては、ディスク装置に蓄積された実時間ストリー
ムデータを、実時間での連続性を保証して各クライアン
トに送出できることが必要条件である。その条件を満た
すために、従来技術では実時間ストリームデータをある
一定時間に転送すべき大きさのブロックに分割してデー
タ蓄積部に格納しておき、各ストリーム毎にサーバが周
期的にデータ蓄積部にアクセスする。読み出されたブロ
ックは一旦バッファメモリ上に置かれ、対応するクライ
アントに通信網を介して周期的に送出される。制御装置
では、この動作のタイミングの管理を行ない、また、ク
ライアントからの接続要求を受け付けて、新しいストリ
ームチャネルを確立する。
【0003】データ蓄積部には大量のデータを格納し、
かつ高速にデータを転送する必要があるので、複数のデ
ィスク装置を組み合わせたディスクアレイ装置を用意し
て、データを小さなブロックに分割して全てのディスク
装置に順に格納するストライピング技術が一般に用いら
れる。
【0004】ディスクアレイにおけるデータ修復を可能
にする技術としては、RAID(Redundant
Arrays of Inexpensive dis
ks)がよく知られている。例えば、ある数のデータデ
ィスク毎に1台のパリティディスクを設けて論理的なデ
ィスクグループを作り、格納するデータを何らかの基準
で小さなブロックに分割し、さらにそのブロックをデー
タディスクの数のデータセグメントに分割して格納す
る。各ブロックについて、データセグメントの排他的論
理和を持つパリティデータを計算してパリティディスク
に格納しておく。すると、ディスクグループ内のどれか
1台のディスク装置が故障した場合でも、他のデータデ
ィスクとパリティディスクからデータの修復が可能とな
る。
【0005】さらに実時間ストリームサーバにおいて
は、ディスク装置が故障した場合でも接続されているス
トリームの供給を継続し、かつサーバの運用を停止せず
にデータの修復を行なうことが求められる。そこで、実
時間ストリームサーバのデータ蓄積部にはディスク装置
の故障検出手段とサーバの動作中にディスク装置を交換
する手段が用意されている。
【0006】ところで、実際にデータの修復を行なう場
合には、通常のストリームの供給以外にも、修復のため
のディスクアクセス、バッファメモリ等のストリーム資
源が必要となる。
【0007】従来は、あるストリーム資源を修復ストリ
ーム専用に確保しておき、データの修復の際に、確保し
ておいたストリーム資源を修復ストリームに割り当てデ
ータの修復を実行させていた。このため、修復中の最大
ストリーム供給数が低く制限される不具合があった。ま
た、どのストリーム資源を確保するかは固定的に設定さ
れるので、実際のストリーム供給数が少ない場合、割り
当てられずに余っているストリーム資源が多く存在して
も、これら資源を有効に利用して修復時間を短縮するこ
とができなかった。
【0008】
【発明が解決しようとする課題】従来は、故障ディスク
装置のデータの修復を行なう場合、あるストリーム資源
を修復ストリーム専用に割り当てていたので、その後の
最大ストリーム供給数が低く制限されるという不具合が
あった。また、ストリーム資源を有効に利用して修復時
間を短縮することができなかった。
【0009】本発明は、上記事情を考慮してなされたも
のであり、実時間ストリームサーバにおけるディスク装
置の故障によって失われたデータをスペアディスク上に
修復中であっても、新しいストリームの接続要求には制
限を付けずに通常時と全く同様のサービスを提供しつ
つ、余ったストリーム資源を最大限に利用して修復時間
を短縮することを可能とする実時間ストリームサーバ並
びに実時間ストリームサーバのディスク修復装置及びデ
ィスク修復方法を提供することを目的とする。
【0010】
【課題を解決するための手段】本発明(請求項1)は、
クライアントから要求されたデータを、所定個数のデー
タセグメントとパリティセグメントからなるブロックを
分散して格納するための複数のディスク装置を持つデー
タ蓄積部からブロック単位に読み出してバッファメモリ
上に一時的に保持し、ネットワークを介してクライアン
トに転送する手段と、この手段による読み出しおよび転
送の動作タイミングをスケジューリングする制御手段と
を備えた実時間ストリームサーバにおいて、修復すべき
セグメントの属するブロックの情報を管理する手段と、
クライアントへのデータ転送に用いる通常のストリーム
に優先的に割り当てた残りの未使用ストリーム資源の全
部または一部を修復ストリームに割り当てる手段と、少
なくとも前記修復ストリームにより、前記情報により特
定されるブロックに属するセグメントのうち、故障が検
出されたディスク装置に格納されていたセグメントを代
替ディスク装置上に修復する手段とを備えたことを特徴
とする。
【0011】本発明(請求項2)は、クライアントから
要求されたデータを、所定個数のデータセグメントとパ
リティセグメントからなるブロックを分散して格納する
ための複数のディスク装置を持つデータ蓄積部からブロ
ック単位に読み出してバッファメモリ上に一時的に保持
し、ネットワークを介してクライアントに転送する手段
と、この手段による読み出しおよび転送の動作タイミン
グをスケジューリングする制御手段とを備えた実時間ス
トリームサーバにおける、故障が検出されたディスク装
置の内容を修復するディスク修復装置において、修復す
べきセグメントの属するブロックの情報を管理する手段
と、未使用のストリーム資源の全部または一部を修復ス
トリームに割り当てる手段と、前記修復ストリームによ
り、前記情報により特定されるブロックに属するセグメ
ントをディスク装置から読み出し、故障が検出されたデ
ィスク装置に格納されていたセグメントを前記バッファ
メモリ上で修復し、修復したセグメントを代替ディスク
装置へ転送する手段と、新ストリームの接続要求時に全
部または一部の修復ストリームによる修復を中断して解
放されたストリーム資源を新ストリームで利用可能にす
る手段とを備えたことを特徴とする。
【0012】本発明(請求項3)は、請求項2に記載の
実時間ストリームサーバのディスク修復装置において、
前記修復ストリーム以外のストリームにより、修復すべ
き前記ブロックに属するセグメントをディスク装置から
読み出し、故障が検出されたディスク装置に格納されて
いたセグメントを前記バッファメモリ上で修復し、修復
したセグメントを含むブロックをネットワークへ転送す
る手段をさらに備えたことを特徴とする。
【0013】本発明(請求項4)は、所定個数のデータ
セグメントとパリティセグメントからなるブロックを分
散して格納するための複数のディスク装置を接続し、ク
ライアントからの要求に応じて要求されたデータをブロ
ック単位に格納したディスク装置から読み出して要求元
につながる通信路に送り出す実時間ストリームサーバの
動作中に該ディスク装置の故障が検出された場合、故障
したディスク装置に格納されていたセグメントを代替デ
ィスク装置上に修復するディスク修復方法において、修
復すべきセグメントを含むブロックの情報を作成し、未
使用のストリーム資源の全部または一部を修復ストリー
ムに割り当て、修復ストリームでは、前記情報により特
定される未修復のブロックを逐次選択し、代替ディスク
装置上にセグメントの修復を行ない、修復ストリームの
実行中に新たにストリームの接続要求が到着した場合、
全部または一部の修復ストリームによる修復を中断して
解放されたストリーム資源を新ストリームに割り当てる
ことを特徴とする。
【0014】本発明(請求項5)は、請求項4に記載の
実時間ストリームサーバのディスク修復方法において、
クライアントへのデータ転送に用いるストリームの供給
が終了した場合、終了した該ストリームのストリーム資
源を修復のために用いるストリームに割り当てることを
特徴とする。
【0015】本発明(請求項6)は、請求項4または5
に記載の実時間ストリームサーバのディスク修復方法に
おいて、前記ストリームの供給にあたっては、各ブロッ
クの転送に先だって前記情報を調べ、次に転送すべきブ
ロックがまだ修復されていない場合には、該ブロックに
属するセグメントをディスク装置から読み出し、クライ
アントへの転送開始までにセグメントを修復し、修復し
たセグメントを含むブロックをクライアントへ転送する
とともに修復したセグメントを代替ディスク装置に書き
込むことを特徴とする。
【0016】本発明(請求項7)は、請求項4または5
に記載の実時間ストリームサーバのディスク修復方法に
おいて、前記ストリームの供給にあたっては、各ブロッ
クの転送に先だって前記情報を調べ、次に転送すべきブ
ロックがまだ修復されていない場合には、該ブロックに
属するセグメントをディスク装置から読み出し、セグメ
ントを修復しつつ該ブロックをクライアントへ転送し、
転送時間終了後に修復したセグメントを代替ディスク装
置に書き込むことを特徴とする。
【0017】本発明(請求項8)は、請求項4または5
に記載の実時間ストリームサーバのディスク修復方法に
おいて、前記ストリームの供給にあたっては、各ブロッ
クの転送に先だって、次に転送すべきブロックがまだ修
復されておらず、かつ、ストリーム資源が確保可能であ
るか否か調べ、両条件が成立する場合は、修復したセグ
メントを代替ディスク装置に書き込むことを特徴とす
る。
【0018】本発明(請求項9)は、請求項4ないし8
のいずれか1項に記載の実時間ストリームサーバのディ
スク修復方法において、前記修復ストリームでは、前記
情報から参照した選択優先度に基づいて次に修復すべき
ブロックを選択するとともに、クライアントに供給中の
データに対応する全ブロックの前記選択優先度を低くし
ておくことを特徴とする。
【0019】本発明(請求項1,2,4,5)では、デ
ィスク装置の故障が検出され通知されると、修復すべき
データセグメントが属するブロックを調べ管理する。例
えばそのブロックを表す識別子のリストを作成すれば、
このリストを参照することにより、各ブロックが未修復
であるか修復中であるかを知ることができる。そして、
使用されていないストリーム資源の全部あるいは一部
を、そのストリーム資源に対応する数の修復ストリーム
に割り当てる。ここで、ストリーム資源とは、例えば、
ディスクアクセスを割り付けるタイムスロット、ディス
クから読み出したデータを一時保持しておくためのバッ
ファメモリ、制御装置内でストリームを管理・スケジュ
ールするために必要となる情報を格納しておく領域であ
る。
【0020】修復ストリームでは、リストを参照するな
どして次に修復すべきブロックの識別子を得る。そし
て、通常のストリームと同様のスケジューリング方法
で、そのブロックのディスクアクセス、バッファメモリ
上でのデータセグメントの修復が行なわれ、スペアディ
スクに修復されたデータセグメントが書き込まれる。
【0021】新しいストリームの接続要求が到着したと
きには、優先的に新ストリームにストリーム資源を割り
当てるのが好ましい。そこで、新ストリームで必要とな
るストリーム資源を確保するために、一部の修復ストリ
ームによる修復を中断させてそのストリーム資源を解放
するのが好ましい。
【0022】一方、通常のストリームの供給が終了し、
そのストリーム資源が解放された場合には、解放された
ストリーム資源を修復ストリームに割り当てることがで
きる。
【0023】以上により、通常のストリームの供給で使
用されていない余ったストリーム資源をディスクの修復
のために最大限に利用しつつ、かつ新しいストリームの
接続要求に対応して通常のストリームと修復ストリーム
の割合を変化させることが可能になる。
【0024】従って、本発明によれば、修復ストリーム
によるデータ上の修復中であっても、既接続のストリー
ムの供給に影響を及ぼさず、かつ新しいストリームの接
続に制限を設けずに、ストリーム資源を無駄なく有効に
利用してディスク装置の故障により失われたデータの修
復時間を短縮することが可能である。
【0025】また、本発明(請求項6,7,8)では、
修復ストリームだけでなく、通常のストリームによるク
ライアントへのデータ供給の際に修復されたデータをス
ペアディスクに書き込むようにすると好ましい。まず、
ディスクアクセスの前にそのブロックが未修復がどうか
リストを参照するなどして調べる。そのブロックが未修
復の場合には、バッファメモリ上に修復されたデータセ
グメントをスペアディスクに書き込む。なお、同時に複
数の書き込みが同一スペアディスクに集中しないように
スケジュールしておけば良い。
【0026】これにより、修復完了時間をさらに短縮す
ることができる。また、本発明(請求項9)では、現在
クライアントへ供給中のストリームデータに関しては、
その後引き続いてそのストリームで供給と修復が同時に
行なわれると予想されるので(あるいは同時に行なわれ
るとみなし)、現在クライアントへ供給中のストリーム
データを格納しているブロック番号の選択優先度を低く
設定して、現在供給されていないストリームデータを格
納しているブロック識別子を優先的に選択するようにす
るとより効果的である。
【0027】これにより、現在供給されていないデータ
を修復ストリームで修復し、通常ストリームで供給して
いるデータをそのまま修復に利用できる確率が上がり、
修復完了時間をさらに短縮することができる。
【0028】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態について説明する。本発明の第1の実施
形態では、ディスク装置の故障が検出され制御装置に通
知されると、ブロック修復リスト管理部は、修復すべき
データセグメントが属するブロックを調べて、ブロック
修復予約リストを作成する。このリストは各ブロックが
未修復であるか修復中であるかを示す情報を持つ。ま
た、ブロック修復リスト管理部では、スケジューリング
部の問い合わせに対して次に修復すべきブロックを選択
する機能と、指定されたブロックが未修復であるかどう
かを判断する機能を持つ。その後、使用されていないス
トリーム資源の全てあるいは一部を、そのストリーム資
源に対応する数の修復ストリームに割り当てる。
【0029】ここで、ストリーム資源とは、ディスクア
クセスを割り付けるタイムスロットと、ディスクから読
み出したデータを一時保持しておくためのバッファメモ
リと、制御装置内でストリームを管理、スケジュールす
るために必要となる情報を格納しておく領域である。
【0030】修復ストリームでは、次にアクセスすべき
ディスクグループに対応するブロック修復予約リストか
らブロック識別子を得る。そして、通常のストリームと
同様のスケジューリング方法で、そのブロックのディス
クアクセス、バッファメモリ上でのデータセグメントの
修復が行なわれ、その後スペアディスクにそのデータセ
グメントが書き込まれる。
【0031】新しいストリームの接続要求が到着したと
きには、新ストリームで必要となるストリーム資源を確
保するために、一部の修復ストリームによる修復を中断
させてそのストリーム資源を解放する。
【0032】また、通常のストリームの供給が終了し、
そのストリーム資源が解放された場合には、解放された
ストリーム資源を修復ストリームに割り当てる。以上に
より、通常のストリームの供給で使用されていない余っ
たストリーム資源をディスクの修復のために最大限に利
用しつつ、かつ新しいストリームの接続要求に対応して
通常のストリームと修復ストリームの割合を変化させる
ことが可能になる。
【0033】さらに、第2の実施形態では、修復ストリ
ームだけでなく、通常のストリームによるクライアント
へのデータ供給の際に修復されたデータをスペアディス
クに書き込む。スケジューリング部は、ディスクアクセ
スの前にそのブロックが未修復がどうかをブロック修復
リスト管理部に問い合わせる。ブロック修復リスト管理
部は、そのブロックが格納されているディスクグループ
のブロック修復予約リストを調べて、未修復かどうかを
返す。スケジューリング部は、そのブロックが未修復の
場合に、バッファメモリ上に修復されたデータセグメン
トをスペアディスクに書き込む。このとき、バッファメ
モリ上にそのデータが残っている間、すなわちブロック
のクライアントへの転送が終了するまでにスペアディス
クへの書き込みが実行されなければならない。また、同
時に複数の書き込みが同一スペアディスクに集中しない
ようにスケジュールしなければならない。
【0034】なお、現在クライアントへ供給中のストリ
ームデータに関しては、その後引き続いてそのストリー
ムで供給と修復が同時に行なわれると予想されるので、
修復ストリームで次に修復されるブロックをブロック修
復リスト管理部が選択する際に、現在クライアントへ供
給中のストリームデータを格納しているブロック番号の
選択優先度を低くして、現在供給されていないストリー
ムデータを格納しているブロック識別子を優先的に選択
するようにするとより効果的である。
【0035】以上により、通常ストリームで供給してい
るデータをそのまま修復に利用できる確率が上がり、修
復完了時間をさらに短縮することができる。また、第3
の実施形態では、バッファメモリ上での修復を行うハー
ドウェアの制限により、クライアントへのデータ供給と
バッファメモリ上でのデータ修復が同時に行われるため
に、データ転送が終了するまでの時間内には修復データ
をスペアディスクに書き込めない場合であっても、第2
の実施形態と同様に、通常ストリームによるクライアン
トへのデータ供給の際にバッファメモリ上で修復された
セグメントをスペアディスクに書き込む。
【0036】この場合には、通常ストリームと修復を行
うストリームとでデータのバッファ滞在時間が異なり、
その結果バッファメモリの使用量が異なる。そこで、新
ストリームの接続時には、そのストリームの供給に必要
となるストリーム資源を確保できるように、必要ならば
複数の修復ストリームを中断して資源を解放し、新スト
リームに割り当てる。
【0037】逆に通常ストリームによるデータ供給の終
了時には、終了した通常ストリームのストリーム資源を
解放する。その後で未使用のストリーム資源量が修復ス
トリームで必要なストリーム資源量に達している場合に
は、新しい修復ストリームにストリーム資源を割り当て
る。
【0038】以下では、ストリームの供給のみを行う通
常ストリームをSストリームと呼ぶ。すなわち、Sスト
リームでは、転送対象のブロックを格納したディスクが
故障している場合は、該ブロックを修復しながらストリ
ームの供給を行うが、修復した故障ディスクの内容を代
替ディスクに書き込むことはしない。
【0039】一方、ストリームの供給/故障ディスクの
修復を併せて行う通常ストリームをRSストリームと呼
ぶ。すなわち、RSストリームでは、転送対象のブロッ
クを格納したディスクが故障している場合は、該ブロッ
クを修復しながらストリームの供給を行うとともに、修
復した故障ディスクの内容を代替ディスクに書き込む。
【0040】また、故障ディスクの修復のみを行うスト
リームをRストリームと呼ぶ。以下、各実施形態をさら
に詳しく説明する。 (第1の実施形態)まず、第1の実施形態について説明
する。
【0041】本実施形態は、故障ディスクのデータを修
復しながら送出するSストリームと、故障ディスクのデ
ータを修復して代替ディスクに書き込むRストリームを
用いる実施形態である。
【0042】図1に本実施形態に係る実時間ストリーム
サーバの構成を、図2に本実施形態の動作のフローチャ
ートを示す。なお、図1のバッファメモリ4内のストリ
ームstream iに対する矢印は、故障ディスクのデータを
修復して該故障ディスクに書き込む様子(Rストリーム
に対応)を示しており、ストリームstream jに対する矢
印は、故障ディスクのデータを修復しながらクライアン
トに送出する様子(Sストリームに対応)を示してい
る。
【0043】図1のように本実施形態の実時間ストリー
ムサーバは、実時間ストリームデータを格納するための
複数台のディスク装置32を有するデータ蓄積部3、デ
ィスク装置32から読み出したデータを一時保持してお
くためのバッファメモリ4、バッファメモリ4から読み
出したデータをネットワーク(図示せず)を介して要求
元のクライアントへ転送するデータ転送部5、ディスク
装置32の故障を検出する故障検出部6、故障したディ
スク装置のデータを修復するデータ修復部7、データ蓄
積部3やデータ転送部5に対して必要な動作の指示を行
なうなどシステム全体を制御する制御装置2を備えてい
る。
【0044】制御装置2は、要求元クライアントからネ
ットワークを介して送られてくるストリーム接続要求を
受け付ける接続要求処理部21、各ストリームの連続性
を保証するのに必要な動作のスケジュールを管理するス
ケジューリング部22、修復ストリームにストリーム資
源を割り当てる修復ストリーム割り付け部23、修復ス
トリームによる修復を中断させてそのストリーム資源を
解放する修復ストリーム解放部24、修復状況・順序等
を管理するブロック修復リスト管理部25を備えてい
る。
【0045】データ蓄積部3は、N組のディスクグルー
プ31からなる。1組のディスクグループには、m+1
台のディスク装置32が含まれる。m+1台のディスク
装置32のうち、m台はデータ格納用として使われ、1
台はパリティ格納用に使われる。1つのディスクグルー
プに格納されるブロックは、等長のm個のデータセグメ
ントに分割されて、それぞれ異なるデータ格納用ディス
クに格納される。パリティディスクには、m個のデータ
セグメントのパリティデータが格納される。
【0046】以下、本実施形態の動作について図2を参
照しながら説明する。ディスク装置の故障の通知のない
通常動作では、接続要求処理部21によりネットワーク
を介して転送されてきた要求元クライアントのストリー
ム接続要求が受理されると、制御装置2は、ストリーム
にストリーム資源、すなわちスケジューリング部22の
ストリーム管理表221のエントリ、ディスクアクセス
を割り付けるタイムスロットとディスクから読み出した
データを一時保持しておくためのバッファメモリ4の領
域を割り当てる。
【0047】そして、制御装置2は、要求元クライアン
トに要求されたストリームを供給するために、割り当て
たストリーム資源を使用して、該当するディスクグルー
プ内のm個のデータセグメントとそれらに対応する1個
のパリティデータを同時にバッファメモリ4に呼び出さ
せ、その後、バッファメモリ4から転送装置5によりネ
ットワーク(図示せず)を介してクライアントへ順次転
送させる。制御装置2は、データセグメントを周期的に
転送し、要求ストリームの供給が完了したら、割り当て
たストリーム資源を解放する。
【0048】以上が、通常動作である(ステップS1
1)。さて、通常動作中において、ディスク装置32に
故障が生じたものとする。すると、故障検出部6により
ディスク装置32の故障が検出され、制御装置2に故障
発生通知と故障したディスク装置のディスク番号が送ら
れてくる(ステップS12)。
【0049】通知を受けた制御装置2は、故障したディ
スク装置がクライアントに供給中のストリームで使用し
ているものである場合、データ修復装置7に命令を送
り、故障したディスク装置(図中の33)が属するディ
スクグループ(例えば図1中のGroup N−1)か
らバッファメモリ4に読み出されたデータをクライアン
トへ転送する前に、故障したディスク装置33から読み
出されるべきデータセグメントを他のデータセグメント
とパリティデータから修復させ(ステップS19)、そ
の後に転送させる(ステップS20)。
【0050】一方、故障したディスク装置33は新しい
ディスク装置と交換する(ステップS12)。なお、通
常動作中にスペアディスク装置を接続しておいて、故障
発生時に故障したディスク装置33とスペアディスク装
置のディスク番号を論理的に交換してもよい。
【0051】さて、故障が検出されるとブロック修復リ
スト管理部25は、各ディスクグループ毎にブロック修
復予約リスト251を作成する(ステップS13)。ブ
ロック修復予約リスト251には、そのディスクグルー
プ31に格納されているブロックを表すブロック識別子
を登録する。故障ディスク33が存在しないディスクグ
ループ31のブロック修復予約リスト251は空とす
る。ブロック識別子には、そのブロックがディスク装置
32に格納されるときの位置情報が含まれる。その位置
情報は、論理ブロック番号でもよいし、あるいは物理的
なトラック番号やセグメント番号でもよい。あるブロッ
クのm個のデータセグメントが各ディスク装置で同一の
論理ブロック番号で表されるならば、ブロック識別子は
その論理ブロック番号の情報を保持すればよい。そうで
ない場合には、ブロック識別子はm個のデータセグメン
トの各ディスク装置上での位置情報を全て保持する必要
がある。
【0052】修復ストリーム割り付け部23は、現在ク
ライアントへのデータの供給に使用されていないストリ
ーム資源の一部または全部を修復ストリームに割り当て
る(ステップS14)。具体的には、通常のストリーム
と同様にバッファメモリ4の領域(図中のstream iの部
分)、スケジューリング部22のストリーム管理表22
1の領域(図中のstream iの部分)、ディスクアクセス
を割り付けるタイムスロットを確保して、ストリーム管
理表221にその修復ストリームの管理情報書き込み、
タイムスロットにディスクアクセスを割り付ける。
【0053】修復ストリームでは、次にアクセスするデ
ィスクグループ(例えば図1中のGroup N−1)
のブロック修復予約リスト251からブロック識別子を
取り出す(ステップS21)。通常のストリームと同様
にそのブロック識別子に対応するデータセグメントとパ
リティデータを同時にバッファメモリ4に読み出して、
データ修復装置7により故障したディスク33から読み
出されるべきデータセグメントを修復する(ステップS
22〜S24)。修復されたデータセグメントは、バッ
ファメモリ4から交換されたスペアディスク32に書き
込まれる。
【0054】ここで、書き込みを通常のストリームのブ
ロック転送終了までのタイムスロットで行なうようにす
れば、1ブロックがバッファメモリ4の1領域を占有す
る期間が通常のストリームと同じになるので、1本の修
復ストリームで全てのディスクグループの修復を1ブロ
ックづつ順番に行なうことが可能となる。
【0055】ブロック修復予約リストが空である場合に
は(ステップS22)、ディスク装置32が故障してい
ないか、あるいは修復が終了したものとみなして、その
ディスクグループに対するディスクアクセスの順番がま
わってきても読み出し、修復、書き込みを行なわなけれ
ばよい。
【0056】ここで、修復中に新しいストリームの接続
要求があった場合、修復タイムスロットが存在しないも
のとみなして新ストリームのディスクアクセスを割り付
けるタイムスロットを選択する。選択したタイムスロッ
トに修復ストリームのディスクアクセスが既に割り付け
られていた場合には、その修復ストリームによる修復を
中断して、そのストリーム資源を解放する(ステップS
15)。このとき、その修復ストリームにおいて書き込
みが終了していないブロックを表す識別子全てを、それ
ぞれが対応するディスクグループのブロック修復予約リ
スト251に登録し直す。その後、解放されたストリー
ム資源を新ストリームに割り当てる。空いたタイムスロ
ットに新ストリームのディスクアクセスを割り付ける
(ステップS16)。
【0057】一方、既に接続されているストリームの供
給が終了した場合、解放されたストリーム資源を修復ス
トリームに割り当てて、修復ストリームを増加させる
(ステップS17,S18)。
【0058】ここで、ディスク装置1台分のデータの修
復に必要となる時間は、(修復時間)=(ディスク1台
分の修復ブロック数)×(ブロック転送周期)×(ディ
スクグループ数)/(修復ストリーム数)となる。
【0059】全てのブロックにおいて、(ブロック転送
時間)=(ブロック転送周期)であるならば、(修復時
間)=(全データの転送時間)/(修復ストリーム数)
となる。修復ストリームは全てのディスクグループの修
復で共用できるので、故障ディスクを含むディスクグル
ープ数が増加しても修復時間は変化しない。
【0060】以上のようにして、全ての修復ストリーム
で修復が完了したら(ステップS24)、全ての修復ス
トリームを解放し(ステップS25)、通常動作へ戻る
(ステップS26)。
【0061】以上のように本実施形態によれば、通常の
ストリームの供給で使用されていない余ったストリーム
資源をディスクの修復のために最大限に利用しつつ、か
つ新しいストリームの接続要求に対応して通常のストリ
ームと修復ストリームの割合を変化させることが可能に
なる。
【0062】従って、修復ストリームによるデータの修
復中であっても、既接続のストリームの供給に影響を及
ぼさず、かつ新しいストリームの接続に制限を設けず
に、故障ディスク装置を含むディスクグループの転送能
力を無駄なく有効に利用してディスク装置の故障により
失われたデータの修復時間を短縮することが可能であ
る。
【0063】(第2の実施形態)次に、第2の実施形態
について説明する。本実施形態では、第1の実施形態の
ように修復ストリームにより故障ディスクのデータを修
復して故障ディスクに書き込むだけでなく、クライアン
トへストリームを供給中の通常のストリームを同時にデ
ータの修復に利用する。すなわち、RSストリームとR
ストリームを用いる実施形態である。
【0064】本実施形態に係る実時間ストリームサーバ
の構成は図1と同様であり、詳細な説明は省略する。た
だし、制御装置2に上記のようなRSストリームによる
新たな修復操作の制御機能が加わっている点が異なる。
また、図3に本実施形態の動作のフローチャートを示
す。なお、図3中、第1の実施形態の動作を示す図2の
フローチャートと同様の部分は同一の符号を付した。以
下では、第1の実施形態と相違する点を中心に説明す
る。
【0065】第1の実施形態では、通常ストリームにお
いて、クライアントへのデータの供給のためにバッファ
メモリ4上でのデータの修復が行なわれ(ステップS1
9)、そして、データを修復されたブロックはクライア
ントへ転送された(ステップS20)。
【0066】ここで、データを修復されたブロックは、
そのブロックが全てクライアントへ転送されるまではバ
ッファメモリ4上に保持されており、本実施形態では、
その転送が終了するまでにスペアディスクに書き込むよ
うにする。
【0067】本実施形態では、通常ストリームにおい
て、既にスペアディスク上に修復されているデータセグ
メントをスペアディスクに書き込む必要はないので、デ
ィスクアクセスの前にそのブロックが未修復かどうかを
ブロック修復リスト管理部25に問い合わせる。その結
果、未修復であればブロック修復リストからそのデータ
のブロック識別子を除いておく(ステップS103)。
【0068】次に、ステップS19のデータの修復が行
なわれ、S20の転送が行なわれる。ここで、先の問い
合わせの結果、修復済みであればスペアディスクに書き
込まず、未修復であれば転送が終了するまでにスペアデ
ィスクに書き込む(ステップS104,S105)。
【0069】スペアディスクに書き込むタイミングは、
バッファメモリ4上にデータが保持されている間であ
り、且つ、1台のスペアディスクへ複数の書き込みが重
ならないようにスケジュールしなければならない。これ
は、図4のようにディスクアクセス、データセグメント
の修復、書き込み、クライアントへの転送をスケジュー
ルすることで可能となる。すなわち、ディスクアクセス
の直後のタイムスロットから一定時間内にデータセグメ
ントの修復を完了し、さらにその直後にスペアディスク
に書き込みを行なう。データセグメントの修復とクライ
アントへの転送が重なることは許されないが、スペアデ
ィスクへの書き込みとクライアントへの転送が重なるこ
とは許される。図4は、1ストリーム当り4個のバッフ
ァメモリを割り付けて、クライアントへの転送時間が4
スロット、データ修復時間が2スロットの場合を示して
いる。この場合、ディスクアクセスを割り付けることが
可能なタイムスロットの範囲である許容ジッター範囲
は、クライアントへの転送開始より12スロット前から
2スロット前までの10スロット分である。この例で
は、全てのブロックについて対応するディスクグループ
のスペアディスクに書き込みを行なっているが、そのデ
ィスクグループに故障ディスクが存在しない場合には、
バッファメモリ上での修復とスペアディスクへの書き込
みの必要はない。
【0070】ところで、上記のように通常ストリームを
供給と修復の両方に使用する場合、修復されるブロック
は供給しているストリームデータを格納しているブロッ
クに限られる。そのブロックが修復ストリームで既に修
復されている場合であっても、その通常のストリームで
は他のブロックを修復することはできない。そこで、本
実施形態では、修復ストリームで次に修復するブロック
を選択するときに、通常のストリームで供給中のストリ
ームデータを格納しているブロックの優先度を低くし
(ステップS101)、供給していないストリームデー
タを格納しているブロックを優先してブロック識別子を
選択する。
【0071】より具体的には、ブロック修復予約リスト
作成時にディスクグループ毎に二種類のブロック修復予
約リストを作る。一方のリストには、供給中のストリー
ムデータを格納するブロックを表すブロック識別子を登
録する(ステップS101)。もう一方には、それ以外
のブロックを表すブロック識別子を登録する(ステップ
S102)。
【0072】スケジューリング部22は、ある修復スト
リームで次にアクセスするディスクグループの番号をブ
ロック修復リスト管理部25に渡して、次に修復すべき
ブロックを問い合わせる。それに対してブロック修復リ
スト管理部25は、そのディスクグループの供給中でな
いブロックのブロック修復予約リストの先頭に登録され
ているブロック識別子を取り出してスケジューリング部
22に返す。このリストが空の場合には、供給中のブロ
ックのブロック修復予約リストの最後に登録されている
ブロック識別子を選択する(ステップS106)。両方
のリストが空の場合には、空を表すブロック識別子を返
す。この場合には、修復ストリームはディスクアクセ
ス、修復、書き込みの動作を行なわない。
【0073】通常のストリームでの供給が終了した場
合、そのストリームデータの中で実際に修復の行なわれ
なかったブロックを表すブロック識別子が供給中のブロ
ックのブロック修復予約リストに登録されているので、
そのブロック識別子を全て供給中でないブロックのブロ
ック修復予約リストに移動する(ステップS102)。
逆に、新しいストリームの供給が開始された場合には、
そのストリームデータのブロックを表すブロック識別子
を供給中でないブロックのブロック修復予約リストから
供給中のブロック修復予約リストに移動する(ステップ
S101)。
【0074】なお、ブロック修復予約リストの形態とし
ては、各ブロック識別子の選択優先度が判別できる形態
であれば良い。例えば、各ブロック識別子自体に優先度
の情報を記録し、ブロック修復リスト管理部25がその
優先度情報を参照できるのであれば、ディスクグループ
毎に二種類のリストを持たずに済ませることも可能であ
る。
【0075】以上のように本実施形態によれば、通常の
ストリームの供給で使用されていない余ったストリーム
資源をディスクの修復のために最大限に利用しつつ、か
つ新しいストリームの接続要求に対応して通常のストリ
ームと修復ストリームの割合を変化させることが可能に
なる。
【0076】従って、修復ストリームによるデータの修
復中であっても、既接続のストリームの供給に影響を及
ぼさず、かつ新しいストリームの接続に制限を設けず
に、故障ディスク装置を含むディスクグループの転送能
力を無駄なく有効に利用してディスク装置の故障により
失われたデータの修復時間を短縮することが可能であ
る。
【0077】また、本実施形態によれば、現在供給され
ていないデータを修復ストリームで修復し、通常ストリ
ームで供給しているデータをそのまま修復に利用するこ
とにより、修復完了時間をより短縮することができる。
【0078】(第3の実施形態)次に、第3の実施形態
について説明する。前述した第1、第2の実施形態で
は、バッファメモリ上での修復とスペアディスクへの書
き込みのタイミングについては、図4に示すように、ク
ライアントへの転送時間が開始されるまでにデータを修
復し、転送時間が終了するまでにスペアディスクへの書
き込みを行うものとして説明した。
【0079】このタイミングで上記の修復処理を実行す
ることにより、Rストリーム、RSストリームにおい
て、バッファメモリ上にデータが滞在する時間が、Sス
トリームにおけるデータ滞在時間と同じまたはそれ以下
になる。つまり、ストリーム1本当たりのバッファメモ
リの使用量に関しては、Sストリーム、Rストリーム、
RSストリームの3種類のストリームで等しいと考えて
良い。
【0080】しかし、ハードウェアの構成によっては、
この修復と書き込みのタイミングが異なる場合がある。
例えば、データの格納方式としてRAID3を用いて、
データの先頭からバッファメモリへの転送を行うような
ハードウェア構成を採用した場合には、クライアントへ
の転送時間が終了した後でスペアディスクへの書き込み
を実行する。
【0081】以下では、上記のような場合に本発明を適
用した実施形態について説明する。図5に、本実施形態
におけるタイミングチャートの例を示す。図5(a)は
Sストリームのバッファメモリ利用に関するタイムチャ
ートであり、図5(b)はRSストリームのバッファメ
モリ利用に関するタイムチャートである。ここでは、S
ストリーム1本当たりブロック2個分のバッファメモリ
を割り当てる例を示している。
【0082】図5(b)のようなタイミングで修復が行
われる場合、SストリームよりもRSストリームおよび
Rストリームの方がスペアディスクへの書き込みを行う
時間だけデータのバッファメモリ滞在期間が長くなる。
つまり、ストリーム1本当たりのバッファメモリの使用
量に関しては、Sストリームよりも、RSストリームお
よびRストリームの方が、より多くの資源を必要とする
ということになる。
【0083】図5(b)の例では、RSストリーム1本
当たりブロック3個分のバッファメモリを使用する例を
示している。Sストリーム、RSストリーム、Rストリ
ームの使用資源量に Br=Brs=n×Bs (BsはSストリーム1本で使用する資源量、BrはR
ストリーム1本で使用する資源量、BrsはRSストリ
ーム1本で使用する資源量)の関係があるとすると、各
ストリームの本数の構成を動的に変化させる際には、各
ストリームの数は、次式で示す条件を満たす必要があ
る。
【0084】Nmax≧Ns+n×(Nrs+Nr) (Nmaxは最大ストリーム数、NsはSストリームの
本数、NrはRストリームの本数、NrsはRSストリ
ームの本数) 第1、第2の実施形態において、例えば図4で示したタ
イミングで動作する場合、n=1であるので、Sストリ
ームまたはRSストリーム1本が終了すれば、解放され
た資源でRストリーム1本を実行できる。逆に、新スト
リームの接続要求が到着した場合には、Rストリーム1
本を解放することにより、SストリームまたはRSスト
リームを1本供給できる。
【0085】これに対して、この第3の実施形態におい
て、例えば図5で示したタイミングで動作するでは、バ
ッファメモリ領域をブロック2個分から3個分に増やせ
ば修復が可能となるので、n=1.5として、Ns+N
rsがデータを供給するストリームの本数となり、か
つ、上記の条件を満たす範囲内でNs,Nrs,Nrを
動的に決定すれば良い。
【0086】本実施形態に係る実時間ストリームサーバ
の構成は図1と同様であり、詳細な説明は省略する。ま
た、図6に本実施形態の動作のフローチャートの一例を
示す。なお、図6中、第1、第2の実施形態の動作を示
す図2、図3のフローチャートと同様の部分は同一の符
号を付した。以下では、第1、第2の実施形態と相違す
る点を中心に説明する。
【0087】本実施形態は、Sストリームを用いる点
は、第1の実施形態と同様であり、RSストリームを用
いる点は、第2の実施形態と同様であるが、RSストリ
ームにおいて、ステップS210で、データ修復とクラ
イアントへの転送を行った後に、ステップS105で、
スペアディスクへの書き込みを実行する点が、第2の実
施形態におけるRSストリームと相違する。
【0088】また、本実施形態では、1つの通常ストリ
ームを、動的にSストリームとRSストリームの間で遷
移させる制御を行う点が、第1、第2の実施形態と相違
する。
【0089】より具体的には、以下で説明するステップ
S201〜S202の処理(1)〜処理(4)の部分
が、第1、第2の実施形態と異なる。 (ステップS201の処理(1))新しいストリームの
接続要求があった場合、まず、各ストリームの本数に応
じて、新ストリームをSストリームとして供給を行う
か、RSストリームとして供給/(故障ディスクの)修
復を同時に行うかを選択する。
【0090】もし、要求されたストリームデータの最初
に転送すべきブロックの修復が完了しておらず、かつ、
未使用のストリーム資源からBrsの資源が確保できる
場合または幾つかのRストリームを中断すればBrsの
資源が確保できる場合には、新ストリームをRSストリ
ームとし、(後者の場合、幾つかのRストリームを中断
した後、)新ストリームに資源を割り当てる。
【0091】一方、上記以外の場合には、新ストリーム
は、Sストリームとする。ただし、他のRSストリーム
が存在し、幾つかのRストリームを中断するだけではB
rの資源が確保できない場合には、さらに、既存のRS
ストリームをSストリームに変更して、不要になったス
トリーム資源(Brs−Bs)を解放する。
【0092】なお、既存のRストリームとRSストリー
ムを全て中断してもBrの資源が確保できない場合に
は、新ストリームの接続要求を受理することはできな
い。 (ステップS202の処理(2))Sストリームまたは
RSストリームによるデータの供給が終了した場合、割
り当てられていたストリーム資源を解放する。そして、
解放されたストリーム資源を含めて、未使用の資源を新
Rストリームに割り当てる。
【0093】(ステップS203の処理(3))Sスト
リームでのデータの供給中において、次のブロックが未
修復であり、かつ、幾つかのRストリームを中断するこ
とによってBrsの資源が確保できる場合には、幾つか
のRストリームを中断して、そのSストリームをRSス
トリームに変更する。
【0094】(ステップS204の処理(4))RSス
トリームでのデータ供給中において、そのRSストリー
ムでスペアディスクへ書き込むべきブロックがバッファ
メモリ上になく、かつ、次のブロックが修復済みである
場合には、そのRSストリームをSストリームに変更し
て、不要になったストリーム資源(Brs−Bs)を解
放する。そして、解放されたストリーム資源を含めて、
未使用の資源を新Rストリームに割り当てる。
【0095】以上のように本実施形態によれば、通常の
ストリームの供給で使用されていない余ったストリーム
資源をディスクの修復のために最大限に利用しつつ、か
つ新しいストリームの接続要求に対応して通常のストリ
ームと修復ストリームの割合を変化させることが可能に
なる。
【0096】従って、修復ストリームによるデータの修
復中であっても、既接続のストリームの供給に影響を及
ぼさず、かつ新しいストリームの接続に制限を設けず
に、故障ディスク装置を含むディスクグループの転送能
力を無駄なく有効に利用してディスク装置の故障により
失われたデータの修復時間を短縮することが可能であ
る。
【0097】また、本実施形態によれば、現在供給され
ていないデータを修復ストリームで修復し、可能な限り
通常ストリームで供給しているデータをそのまま修復に
利用することにより、修復完了時間をより短縮すること
ができる。
【0098】なお、ストリーム資源が必要になり、Rス
トリームを中断すると、中断のタイミングによっては、
そのRストリームにおいて読み出したデータをバッファ
メモリ上で修復する以前あるいは修復したデータをスペ
アディスクへ書き込む以前に資源を解放することになる
場合がある。そこで、Rストリームを解放する必要があ
る場合には、バッファメモリへのデータの読み出しは完
了したが未だ修復/書き込みを行っていないブロックが
少ないRストリームから順に中断して資源を解放すると
良い。
【0099】ところで、未修復のブロックと修復済みの
ブロックが複雑に入り混じったストリームデータが生じ
る可能性がある。このようなストリームデータをRSス
トリームで修復する場合には、RSストリームとSスト
リームの切替が頻繁に生じる。すると、切替えの度に中
断されるRストリームが生じて、修復途中のブロックが
無駄になるばかりか、RS/Sストリームの切替のオー
バーヘッドが大きくなる可能性がある。
【0100】このような問題が生じるときには、上記の
ステップS204の処理(4)におけるRSストリーム
をSストリームに変更する条件を、例えば次のように変
更すると良い。
【0101】(ステップS204の処理(4))RSス
トリームでのデータ供給中において、そのRSストリー
ムで、L個連続して既に修復済みのブロックをクライア
ントに供給した場合には、そのRSストリームをSスト
リームに変更する。不要になったストリーム資源(Br
s−Bs)は解放し、解放されたストリーム資源を含め
て、未使用の資源を新Rストリームに割り当てる。
【0102】これにより、RSストリームとSストリー
ムの間の切替の回数を抑えることができる。なお、図6
は、修復すべきブロックの選択優先度を用いない場合の
手順であるが、第2の実施形態と同様に修復すべきブロ
ックの選択優先度を用いても良い。本実施形態では、通
常ストリームとしてスペアディスクへの書き込みを行わ
ないSストリームとスペアディスクへの書き込みを行う
RSストリームが存在するが、ここでは、各々の通常ス
トリームで供給されているストリームデータの選択優先
度を画一的に下げる。この場合の手順の一例を図7に示
す。
【0103】また、本実施形態において、第2の実施形
態のように、Sストリームは用いず、RSストリームを
固定的に用いるようにしても良い。この場合、図6や図
7で説明した手順から、Sストリームに関する部分を削
除すれば良い。
【0104】また、前述したようにクライアントへの転
送時間が開始されるまでにデータを修復し、転送時間が
終了するまでにスペアディスクへの書き込みを行う第2
の実施形態において、RSストリームに必要な資源が、
Sストリームに必要な資源を上回るような場合には、第
3の実施形態のように、SストリームとRSストリーム
を動的に変更するようにしても良い。本発明は、上述し
た実施の形態に限定されるものではなく、その技術的範
囲において種々変形して実施することができる。
【0105】
【発明の効果】本発明によれば、修復すべきブロックに
ついてリストを作成するなどして管理し、通常ストリー
ムには必要に応じて修復ストリームを中断してストリー
ム資源を優先的に割り当て、修復ストリームには未使用
のストリーム資源をできるかぎり割り当てられるように
し、修復ストリームは上記リストを参照するなどして修
復を行なうようにしたので、修復ストリームによるデー
タの修復中であっても、既接続のストリームの供給に影
響を及ぼさず、かつ新しいストリームの接続に制限を設
けずに、ストリーム資源を無駄なく有効に利用すること
ができ、ディスク装置の故障により失われたデータの修
復時間を短縮することが可能である。
【0106】また、現在供給されていないデータを修復
ストリームで修復し、通常ストリームで供給しているデ
ータをそのまま修復に利用すれば、修復完了時間をさら
に短縮することができる。
【図面の簡単な説明】
【図1】本発明の第1、第2および第3の実施形態に係
る実時間ストリームサーバのディスク修復装置を示す図
【図2】本発明の第1の実施形態の動作を示すフローチ
ャート
【図3】本発明の第2の実施形態の動作を示すフローチ
ャート
【図4】スケジューリングされた通常ストリームのバッ
ファメモリ利用状況と動作のタイミングを説明するため
の図
【図5】本発明の第3の実施形態において、スケジュー
リングされた通常ストリームのバッファメモリ利用状況
と動作のタイミングを説明するための図
【図6】本発明の第3の実施形態の動作を示すフローチ
ャート
【図7】本発明の第3の実施形態の他の動作を示すフロ
ーチャート
【符号の説明】
2…制御装置 21…接続要求処理部 22…スケジューリング部 23…修復ストリーム割り付け部 24…修復ストリーム解放部 25…ブロック修復リスト管理部 3…データ蓄積部 32…ディスク装置 4…バッファメモリ 5…データ転送部 6…故障検出部
フロントページの続き (72)発明者 前田 誠司 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】クライアントから要求されたデータを、所
    定個数のデータセグメントとパリティセグメントからな
    るブロックを分散して格納するための複数のディスク装
    置を持つデータ蓄積部からブロック単位に読み出してバ
    ッファメモリ上に一時的に保持し、ネットワークを介し
    てクライアントに転送する手段と、この手段による読み
    出しおよび転送の動作タイミングをスケジューリングす
    る制御手段とを備えた実時間ストリームサーバにおい
    て、 修復すべきセグメントの属するブロックの情報を管理す
    る手段と、 クライアントへのデータ転送に用いる通常のストリーム
    に優先的に割り当てた残りの未使用ストリーム資源の全
    部または一部を修復ストリームに割り当てる手段と、 少なくとも前記修復ストリームにより、前記情報により
    特定されるブロックに属するセグメントのうち、故障が
    検出されたディスク装置に格納されていたセグメントを
    代替ディスク装置上に修復する手段とを備えたことを特
    徴とする実時間ストリームサーバ。
  2. 【請求項2】クライアントから要求されたデータを、所
    定個数のデータセグメントとパリティセグメントからな
    るブロックを分散して格納するための複数のディスク装
    置を持つデータ蓄積部からブロック単位に読み出してバ
    ッファメモリ上に一時的に保持し、ネットワークを介し
    てクライアントに転送する手段と、この手段による読み
    出しおよび転送の動作タイミングをスケジューリングす
    る制御手段とを備えた実時間ストリームサーバにおけ
    る、故障が検出されたディスク装置の内容を修復するデ
    ィスク修復装置において、 修復すべきセグメントの属するブロックの情報を管理す
    る手段と、 未使用のストリーム資源の全部または一部を修復ストリ
    ームに割り当てる手段と、 前記修復ストリームにより、前記情報により特定される
    ブロックに属するセグメントをディスク装置から読み出
    し、故障が検出されたディスク装置に格納されていたセ
    グメントを前記バッファメモリ上で修復し、修復したセ
    グメントを代替ディスク装置へ転送する手段と、 新ストリームの接続要求時に全部または一部の修復スト
    リームによる修復を中断して解放されたストリーム資源
    を新ストリームで利用可能にする手段とを備えたことを
    特徴とする実時間ストリームサーバのディスク修復装
    置。
  3. 【請求項3】前記修復ストリーム以外のストリームによ
    り、修復すべき前記ブロックに属するセグメントをディ
    スク装置から読み出し、故障が検出されたディスク装置
    に格納されていたセグメントを前記バッファメモリ上で
    修復し、修復したセグメントを含むブロックをネットワ
    ークへ転送する手段をさらに備えたことを特徴とする請
    求項2に記載の実時間ストリームサーバのディスク修復
    装置。
  4. 【請求項4】所定個数のデータセグメントとパリティセ
    グメントからなるブロックを分散して格納するための複
    数のディスク装置を接続し、クライアントからの要求に
    応じて要求されたデータをブロック単位に格納したディ
    スク装置から読み出して要求元につながる通信路に送り
    出す実時間ストリームサーバの動作中に該ディスク装置
    の故障が検出された場合、故障したディスク装置に格納
    されていたセグメントを代替ディスク装置上に修復する
    ディスク修復方法において、 修復すべきセグメントを含むブロックの情報を作成し、 未使用のストリーム資源の全部または一部を修復ストリ
    ームに割り当て、 修復ストリームでは、前記情報により特定される未修復
    のブロックを逐次選択し、代替ディスク装置上にセグメ
    ントの修復を行ない、 修復ストリームの実行中に新たにストリームの接続要求
    が到着した場合、全部または一部の修復ストリームによ
    る修復を中断して解放されたストリーム資源を新ストリ
    ームに割り当てることを特徴とする実時間ストリームサ
    ーバのディスク修復方法。
  5. 【請求項5】クライアントへのデータ転送に用いるスト
    リームの供給が終了した場合、終了した該ストリームの
    ストリーム資源を修復のために用いるストリームに割り
    当てることを特徴とする請求項4に記載の実時間ストリ
    ームサーバのディスク修復方法。
  6. 【請求項6】前記ストリームの供給にあたっては、各ブ
    ロックの転送に先だって前記情報を調べ、次に転送すべ
    きブロックがまだ修復されていない場合には、該ブロッ
    クに属するセグメントをディスク装置から読み出し、ク
    ライアントへの転送開始までにセグメントを修復し、修
    復したセグメントを含むブロックをクライアントへ転送
    するとともに修復したセグメントを代替ディスク装置に
    書き込むことを特徴とする請求項4または5に記載の実
    時間ストリームサーバのディスク修復方法。
  7. 【請求項7】前記ストリームの供給にあたっては、各ブ
    ロックの転送に先だって前記情報を調べ、次に転送すべ
    きブロックがまだ修復されていない場合には、該ブロッ
    クに属するセグメントをディスク装置から読み出し、セ
    グメントを修復しつつ該ブロックをクライアントへ転送
    し、転送時間終了後に修復したセグメントを代替ディス
    ク装置に書き込むことを特徴とする請求項4または5に
    記載の実時間ストリームサーバのディスク修復方法。
  8. 【請求項8】前記ストリームの供給にあたっては、各ブ
    ロックの転送に先だって、次に転送すべきブロックがま
    だ修復されておらず、かつ、ストリーム資源が確保可能
    であるか否か調べ、両条件が成立する場合は、修復した
    セグメントを代替ディスク装置に書き込むことを特徴と
    する請求項4または5に記載の実時間ストリームサーバ
    のディスク修復方法。
  9. 【請求項9】前記修復ストリームでは、前記情報から参
    照した選択優先度に基づいて次に修復すべきブロックを
    選択するとともに、 クライアントに供給中のデータに対応する全ブロックの
    前記選択優先度を低くしておくことを特徴とする請求項
    4ないし8のいずれか1項に記載の実時間ストリームサ
    ーバのディスク修復方法。
JP20864896A 1995-09-12 1996-08-07 実時間ストリームサーバのディスク修復方法及びディスク修復装置 Expired - Fee Related JP3617879B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20864896A JP3617879B2 (ja) 1995-09-12 1996-08-07 実時間ストリームサーバのディスク修復方法及びディスク修復装置
US08/712,966 US6067636A (en) 1995-09-12 1996-09-12 Real time stream server using disk device data restoration scheme

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP7-234403 1995-09-12
JP23440395 1995-09-12
JP20864896A JP3617879B2 (ja) 1995-09-12 1996-08-07 実時間ストリームサーバのディスク修復方法及びディスク修復装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004242739A Division JP3967739B2 (ja) 1995-09-12 2004-08-23 実時間ストリームサーバ

Publications (2)

Publication Number Publication Date
JPH09138734A true JPH09138734A (ja) 1997-05-27
JP3617879B2 JP3617879B2 (ja) 2005-02-09

Family

ID=26516962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20864896A Expired - Fee Related JP3617879B2 (ja) 1995-09-12 1996-08-07 実時間ストリームサーバのディスク修復方法及びディスク修復装置

Country Status (2)

Country Link
US (1) US6067636A (ja)
JP (1) JP3617879B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008228243A (ja) * 2007-03-16 2008-09-25 Nippon Telegr & Teleph Corp <Ntt> 映像再生装置およびリビルド処理方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999009467A2 (en) * 1997-08-20 1999-02-25 Koninklijke Philips Electronics N.V. A transient datastream-processing buffer memory organization with software management adapted for multilevel housekeeping
US6163868A (en) 1997-10-23 2000-12-19 Sony Corporation Apparatus and method for providing robust error recovery for errors that occur in a lossy transmission environment
US6282684B1 (en) 1997-10-23 2001-08-28 Sony Corporation Apparatus and method for recovery of data in a lossy transmission environment
US6581170B1 (en) 1997-10-23 2003-06-17 Sony Corporation Source coding to provide for robust error recovery during transmission losses
JPH11234627A (ja) * 1998-02-17 1999-08-27 Sony Corp データ再生装置及び方法
US6363118B1 (en) 1999-02-12 2002-03-26 Sony Corporation Apparatus and method for the recovery of compression constants in the encoded domain
US6307560B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive spatio-temporal format conversion method and apparatus
US6307979B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive error recovery method and apparatus
US6519369B1 (en) 1999-02-12 2003-02-11 Sony Corporation Method and apparatus for filter tap expansion
US6621936B1 (en) 1999-02-12 2003-09-16 Sony Corporation Method and apparatus for spatial class reduction
US7010737B2 (en) * 1999-02-12 2006-03-07 Sony Corporation Method and apparatus for error data recovery
US6418548B1 (en) * 1999-02-12 2002-07-09 Sony Corporation Method and apparatus for preprocessing for peripheral erroneous data
US6535148B1 (en) 1999-02-12 2003-03-18 Sony Corporation Method and apparatus for truncated decoding
US6591398B1 (en) 1999-02-12 2003-07-08 Sony Corporation Multiple processing system
US6170074B1 (en) 1999-02-12 2001-01-02 Sony Corporation Source coding to provide for robust error recovery
US6473876B1 (en) 1999-06-29 2002-10-29 Sony Corporation Method and apparatus for encoding of bitstreams using rotation
US6549672B1 (en) * 1999-06-29 2003-04-15 Sony Corporation Method and apparatus for recovery of encoded data using central value
US6389562B1 (en) 1999-06-29 2002-05-14 Sony Corporation Source code shuffling to provide for robust error recovery
US6493842B1 (en) 1999-06-29 2002-12-10 Sony Corporation Time-varying randomization for data synchronization and implicit information transmission
US6522785B1 (en) 1999-09-24 2003-02-18 Sony Corporation Classified adaptive error recovery method and apparatus
US6351494B1 (en) 1999-09-24 2002-02-26 Sony Corporation Classified adaptive error recovery method and apparatus
US6539517B1 (en) 1999-11-09 2003-03-25 Sony Corporation Data transformation for explicit transmission of control information
US6754371B1 (en) 1999-12-07 2004-06-22 Sony Corporation Method and apparatus for past and future motion classification
US7539735B2 (en) * 2002-03-06 2009-05-26 International Business Machines Corporation Multi-session no query restore
US6971042B2 (en) * 2002-04-18 2005-11-29 Huge Systems, Inc. Media server with single chip storage controller
ES2387016T3 (es) * 2003-10-17 2012-09-11 Tyco Healthcare Group Lp Dispositivo de grapado quirúrgico
US8204863B2 (en) * 2009-12-21 2012-06-19 International Business Machines Corporation Multi-phase file system restore with selective on-demand data availability
US8341457B2 (en) * 2010-03-11 2012-12-25 Lsi Corporation System and method for optimizing redundancy restoration in distributed data layout environments
JP2012221340A (ja) * 2011-04-12 2012-11-12 Fujitsu Ltd 制御方法及びプログラム、並びにコンピュータ
US10381073B1 (en) 2018-03-20 2019-08-13 Micron Technology, Inc. Converged structure supporting buffering of recent writes and overwrite disturb remediation
US10802907B2 (en) * 2018-03-20 2020-10-13 Micron Technology, Inc. Hierarchical buffering scheme to normalize non-volatile media raw bit error rate transients
US11329813B2 (en) * 2019-11-11 2022-05-10 At&T Intellectual Property I, L.P. Secure data storing and retrieval system and method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537566A (en) * 1991-12-17 1996-07-16 Fujitsu Limited Apparatus and method for controlling background processing in disk array device
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
JP3575811B2 (ja) * 1992-05-07 2004-10-13 株式会社日立製作所 記憶装置
US5418925A (en) * 1992-10-23 1995-05-23 At&T Global Information Solutions Company Fast write I/O handling in a disk array using spare drive for buffering
US5522031A (en) * 1993-06-29 1996-05-28 Digital Equipment Corporation Method and apparatus for the on-line restoration of a disk in a RAID-4 or RAID-5 array with concurrent access by applications
US5623595A (en) * 1994-09-26 1997-04-22 Oracle Corporation Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system
JPH08147234A (ja) * 1994-11-17 1996-06-07 Fujitsu Ltd ストリーム処理装置及び方法
US5592612A (en) * 1995-04-28 1997-01-07 Birk; Yitzhak Method and apparatus for supplying data streams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008228243A (ja) * 2007-03-16 2008-09-25 Nippon Telegr & Teleph Corp <Ntt> 映像再生装置およびリビルド処理方法

Also Published As

Publication number Publication date
JP3617879B2 (ja) 2005-02-09
US6067636A (en) 2000-05-23

Similar Documents

Publication Publication Date Title
JP3617879B2 (ja) 実時間ストリームサーバのディスク修復方法及びディスク修復装置
US5991804A (en) Continuous media file server for cold restriping following capacity change by repositioning data blocks in the multiple data servers
CN105095094B (zh) 内存管理方法和设备
JP4398470B2 (ja) 仮想ファイルシステム
US9432460B2 (en) Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US7971011B2 (en) Remote copy method and storage system
US5555371A (en) Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US6996742B2 (en) Method for regenerating and streaming content from a video server using RAID 5 data striping
CN100392611C (zh) 存储控制装置和方法
US7406575B2 (en) Method and system for storing data
CN100464307C (zh) 一种实现数据备份和恢复的方法及系统
EP1040419B1 (en) Computer system for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner
EP0727745A1 (en) Memory control apparatus and its control method
JP2005216067A (ja) データ処理システム
JPH09128163A (ja) アーカイブ装置及びデータファイルサーバ
WO1997047137A1 (en) Distributed scheduling in a multiple data server system
EP3311272A1 (en) A method of live migration
JP5549243B2 (ja) ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
JP2017091025A (ja) ストレージシステムおよび監視装置
JPH04234240A (ja) 通信セッション監査方法及び装置
JP3967739B2 (ja) 実時間ストリームサーバ
CN112230859B (zh) 一种不中断业务的读写迁移方法及装置
CN110674539A (zh) 一种硬盘保护设备、方法及系统
CN1753373A (zh) 一种远程容灾系统及方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees