JP2004342135A - Real-time stream server - Google Patents

Real-time stream server Download PDF

Info

Publication number
JP2004342135A
JP2004342135A JP2004242739A JP2004242739A JP2004342135A JP 2004342135 A JP2004342135 A JP 2004342135A JP 2004242739 A JP2004242739 A JP 2004242739A JP 2004242739 A JP2004242739 A JP 2004242739A JP 2004342135 A JP2004342135 A JP 2004342135A
Authority
JP
Japan
Prior art keywords
stream
data
block
repair
disk
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
JP2004242739A
Other languages
Japanese (ja)
Other versions
JP3967739B2 (en
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 JP2004242739A priority Critical patent/JP3967739B2/en
Publication of JP2004342135A publication Critical patent/JP2004342135A/en
Application granted granted Critical
Publication of JP3967739B2 publication Critical patent/JP3967739B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a real-time stream server capable of reducing a recovery time for disk failure without influencing stream provision. <P>SOLUTION: An accumulation part 3 has a plurality of disks 32 for dispersing and storing data block-by-block (a plurality of segments and parity bits); a buffer 4 temporarily stores data to be read from and written to the disks 32; a transfer part 5 transfers data to a request source block-by-block with a normal stream; a recovery part 7 recovers segments on a failure disk out of segments of an object block on an alternate disk with a recovery stream. A stream resource is first allotted to the normal stream and then to the recovery stream if there is a residue. Management of use of the resource by both the streams is unified; one-block data read/transfer of the transfer part and one-block data read/segment recovery of the recovery part are executed at similar timing; and the operation timing of the transfer part and the recovery part is scheduled so that the recovery part thereafter writes the recovery segment on the alternate disk. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、実時間ストリームサーバからクライアントへのストリームの供給に影響を与えずにディスク装置の故障により失われたデータを修復する実時間ストリームサーバに関する。   The present invention relates to a real-time stream server for recovering data lost due to a failure of a disk device without affecting the supply of a stream from the real-time stream server to a client.

動画像や音声に代表される、実時間で順次転送されるデータを「実時間ストリームデータ」と呼ぶ。これらのデータを扱う「実時間ストリームサーバ」においては、ディスク装置に蓄積された実時間ストリームデータを、実時間での連続性を保証して各クライアントに送出できることが必要条件である。その条件を満たすために、従来技術では実時間ストリームデータをある一定時間に転送すべき大きさのブロックに分割してデータ蓄積部に格納しておき、各ストリーム毎にサーバが周期的にデータ蓄積部にアクセスする。読み出されたブロックは一旦バッファメモリ上に置かれ、対応するクライアントに通信網を介して周期的に送出される。制御装置では、この動作のタイミングの管理を行ない、また、クライアントからの接続要求を受け付けて、新しいストリームチャネルを確立する。   Data sequentially transferred in real time, such as moving images and audio, is referred to as “real time stream data”. In the “real-time stream server” that handles such data, it is a necessary condition that the real-time stream data stored in the disk device can be transmitted to each client while ensuring continuity in real time. In order to satisfy the condition, in the prior art, real-time stream data is divided into blocks of a size to be transferred at a certain time and stored in the data storage unit, and the server periodically stores data for each stream. Access the department. The read block is temporarily stored in the buffer memory, and is periodically transmitted to a corresponding client via a communication network. The control device manages the timing of this operation and receives a connection request from the client to establish a new stream channel.

データ蓄積部には大量のデータを格納し、かつ高速にデータを転送する必要があるので、複数のディスク装置を組み合わせたディスクアレイ装置を用意して、データを小さなブロックに分割して全てのディスク装置に順に格納するストライピング技術が一般に用いられる。   Since it is necessary to store a large amount of data and transfer data at high speed in the data storage unit, prepare a disk array device that combines multiple disk devices and divide the data into small blocks to In general, a striping technique of sequentially storing in a device is used.

ディスクアレイにおけるデータ修復を可能にする技術としては、RAID(Redundant Arrays of Inexpensive disks)がよく知られている。例えば、ある数のデータディスク毎に1台のパリティディスクを設けて論理的なディスクグループを作り、格納するデータを何らかの基準で小さなブロックに分割し、さらにそのブロックをデータディスクの数のデータセグメントに分割して格納する。各ブロックについて、データセグメントの排他的論理和を持つパリティデータを計算してパリティディスクに格納しておく。すると、ディスクグループ内のどれか1台のディスク装置が故障した場合でも、他のデータディスクとパリティディスクからデータの修復が可能となる。   As a technique for enabling data restoration in a disk array, RAID (Redundant Arrays of Inexpensive disks) is well known. For example, one parity disk is provided for each of a certain number of data disks to form a logical disk group, the data to be stored is divided into small blocks by some reference, and the blocks are further divided into data segments of the number of data disks. Divide and store. For each block, parity data having an exclusive OR of the data segments is calculated and stored in the parity disk. Then, even if any one of the disk devices in the disk group fails, data can be recovered from other data disks and parity disks.

さらに実時間ストリームサーバにおいては、ディスク装置が故障した場合でも接続されているストリームによるクライアントへのデータ供給を継続し、かつサーバの運用を停止せずにデータの修復を行なうことが求められる。そこで、実時間ストリームサーバのデータ蓄積部にはディスク装置の故障検出手段とサーバの動作中にディスク装置を交換する手段が用意されている。   Further, in a real-time stream server, it is required to continue supplying data to a client by a connected stream even when a disk device fails, and to repair data without stopping the operation of the server. Therefore, the data storage unit of the real-time stream server is provided with a means for detecting a failure of the disk device and a means for replacing the disk device during operation of the server.

ところで、実際にデータの修復を行なう場合には、クライアントへのデータ供給を行うストリーム以外にも、修復のためのディスクアクセス、バッファメモリ等のストリーム資源が必要となる。   When data is actually repaired, stream resources such as a disk access for restoration and a buffer memory are required in addition to the stream for supplying data to the client.

従来は、あるストリーム資源を修復ストリーム専用に確保しておき、データの修復の際に、確保しておいたストリーム資源を修復ストリームに割り当てデータの修復を実行させていた。このため、修復中の最大ストリーム供給数が低く制限される不具合があった。また、どのストリーム資源を確保するかは固定的に設定されるので、実際のストリーム供給数が少ない場合、割り当てられずに余っているストリーム資源が多く存在しても、これら資源を有効に利用して修復時間を短縮することができなかった。   Conventionally, a certain stream resource is reserved exclusively for a repair stream, and at the time of data restoration, the reserved stream resource is allocated to a repair stream to execute data restoration. For this reason, there has been a problem that the maximum number of supplied streams during restoration is limited to a low value. Also, since which stream resources are reserved is fixedly set, if the actual number of supplied streams is small, even if there are many surplus stream resources that are not allocated, these resources can be used effectively. Could not reduce the repair time.

従来は、故障ディスク装置のデータの修復を行なう場合、あるストリーム資源を修復ストリーム専用に割り当てていたので、その後の最大ストリーム供給数が低く制限されるという不具合があった。また、ストリーム資源を有効に利用して修復時間を短縮することができなかった。   Conventionally, when restoring data of a failed disk device, a certain stream resource is allocated exclusively to the repaired stream, so that there is a problem that the maximum number of stream supplies thereafter is limited to a low value. Further, the restoration time cannot be reduced by effectively using the stream resources.

本発明は、上記事情を考慮してなされたものであり、実時間ストリームサーバにおけるディスク装置の故障によって失われたデータをスペアディスク上に修復中であっても、新しいストリームの接続要求には制限を付けずに通常時と全く同様のサービスを提供しつつ、余ったストリーム資源を最大限に利用して修復時間を短縮することを可能とする実時間ストリームサーバを提供することを目的とする。   The present invention has been made in view of the above circumstances. Even when data lost due to a failure of a disk device in a real-time stream server is being restored on a spare disk, a restriction is imposed on a connection request for a new stream. It is an object of the present invention to provide a real-time stream server which can provide a service exactly the same as that of a normal time without adding a tag, and can reduce a repair time by making maximum use of surplus stream resources.

本発明に係る実時間ストリームサーバは、クライアントから要求されたデータを、所定個数のデータセグメントとパリティセグメントからなるブロックに分散して格納するための複数のディスク装置を持つデータ蓄積部と、修復すべきデータセグメントの属するブロックの情報を管理する手段と、前記ディスク装置から読み出されたデータおよび前記ディスク装置へ書き込むデータを一時的に記憶するバッファメモリと、前記ディスク装置へアクセスするためのタイムスロットと前記バッファメモリ上の割り当て領域とを含むストリーム資源を、前記クライアントへのデータ転送に用いる通常のストリームに優先的に割り当てるとともに、残りのストリーム資源の全部又は一部を、データを修復して代替ディスク装置へ書き戻す修復ストリームに割り当てる割り当て手段と、前記通常のストリームを用いて、前記データ蓄積部からデータをブロック単位に読み出して前記割り当て領域に一時的に保持し、ネットワークを介して前記クライアントに転送する転送手段と、前記修復ストリームを用いて、前記情報により特定されるブロックに属するデータセグメントのうち、故障が検出されたディスク装置に格納されていたデータセグメントを代替ディスク装置上に修復する修復手段と、前記通常のストリームと前記修復ストリームとによる前記ストリーム資源の利用を一元的に管理し、前記転送手段が1ブロックのデータの読み出しおよびクライアントへのデータ転送を行うのと同様のタイミングで前記修復手段が1ブロックのデータの読み出しおよび前記割り当て領域上でのセグメント修復を行い、前記修復手段はその後修復されたセグメントを代替ディスク装置に書き込むように、前記転送手段と前記修復手段との動作タイミングをスケジューリングする制御手段とを備えることを特徴とする。   A real-time stream server according to the present invention restores a data storage unit having a plurality of disk devices for storing data requested by a client in a block composed of a predetermined number of data segments and a parity segment. Means for managing information of a block to which a data segment to be assigned belongs, a buffer memory for temporarily storing data read from the disk device and data to be written to the disk device, and a time slot for accessing the disk device And a stream resource including an allocation area on the buffer memory is preferentially assigned to a normal stream used for data transfer to the client, and all or a part of the remaining stream resources is restored by replacing data. Restoration story to write back to disk unit Allocating means for allocating the data to the data stream, reading the data from the data storage unit in block units, temporarily storing the data in the allocated area, and transferring the data to the client via a network; Repair means for restoring, on a replacement disk device, a data segment stored in a disk device in which a failure has been detected, among the data segments belonging to the block specified by the information, using a repair stream; And the repair stream, the use of the stream resources is centrally managed, and the repair means reads one block of data and transfers the data of one block to the client at the same timing as the transfer means performs the data transfer to the client. Read and segment on the allocated area Performed DOO repair, the repair unit to write the segments then restored to an alternate disk device, characterized in that it comprises a control means for scheduling the operation timing of the restoration means and the transfer means.

本発明では、ディスク装置の故障が検出され通知されると、修復すべきデータセグメントが属するブロックを調べ管理する。例えばそのブロックを表す識別子のリストを作成すれば、このリストを参照することにより、各ブロックが未修復であるか修復中であるかを知ることができる。そして、使用されていないストリーム資源の全部あるいは一部を、そのストリーム資源に対応する数の修復ストリームに割り当てる。ここで、ストリーム資源とは、例えば、ディスクアクセスを割り付けるタイムスロット、ディスクから読み出したデータを一時保持しておくためのバッファメモリ、制御装置内でストリームを管理・スケジュールするために必要となる情報を格納しておく領域である。   According to the present invention, when a failure of a disk device is detected and notified, a block to which a data segment to be repaired belongs is checked and managed. For example, if a list of identifiers representing the blocks is created, it is possible to know whether each block is unrepaired or is being repaired by referring to the list. Then, all or some of the unused stream resources are allocated to the number of repair streams corresponding to the stream resources. Here, the stream resource includes, for example, a time slot for allocating disk access, a buffer memory for temporarily holding data read from the disk, and information necessary for managing and scheduling a stream in the control device. This is the area to store.

修復ストリームでは、リストを参照するなどして次に修復すべきブロックの識別子を得る。そして、通常のストリームと同様のスケジューリング方法で、そのブロックのディスクアクセス、バッファメモリ上でのデータセグメントの修復が行なわれ、スペアディスクに修復されたデータセグメントが書き込まれる。   In the repair stream, the identifier of the next block to be repaired is obtained by referring to the list. Then, the disk access of the block and the restoration of the data segment on the buffer memory are performed by the same scheduling method as that for the normal stream, and the restored data segment is written to the spare disk.

新しいストリームの接続要求が到着したときには、優先的に新ストリームにストリーム資源を割り当てるのが好ましい。そこで、新ストリームで必要となるストリーム資源を確保するために、一部の修復ストリームによる修復を中断させてそのストリーム資源を解放するのが好ましい。   When a connection request for a new stream arrives, it is preferable to preferentially allocate stream resources to the new stream. Therefore, in order to secure stream resources required for a new stream, it is preferable to interrupt restoration by some restoration streams and release the stream resources.

一方、クライアントへのデータ供給を行う通常のストリームが終了し、そのストリーム資源が解放された場合には、解放されたストリーム資源を修復ストリームに割り当てることができる。   On the other hand, when the normal stream for supplying data to the client ends and the stream resource is released, the released stream resource can be allocated to the repair stream.

以上により、通常のストリームで使用されていない余ったストリーム資源をディスクの修復のために最大限に利用しつつ、かつ新しいストリームの接続要求に対応して通常のストリームと修復ストリームの割合を変化させることが可能になる。   As described above, the ratio of the normal stream and the repair stream is changed in response to a new stream connection request while maximizing the use of the surplus stream resources not used in the normal stream for disk repair. It becomes possible.

従って、本発明によれば、修復ストリームによるデータ上の修復中であっても、既接続のストリームによるクライアントへのデータ供給に影響を及ぼさず、かつ新しいストリームの接続に制限を設けずに、ストリーム資源を無駄なく有効に利用してディスク装置の故障により失われたデータの修復時間を短縮することが可能である。   Therefore, according to the present invention, even during restoration of data by the restoration stream, the stream is not affected by the data connection to the client by the already connected stream, and the connection of the new stream is not restricted, and Resources can be effectively used without waste, and the time required to repair data lost due to a failure of a disk device can be reduced.

また、本発明では、修復ストリームだけでなく、通常のストリームによるクライアントへのデータ供給の際に修復されたデータをスペアディスクに書き込むようにすると好ましい。まず、ディスクアクセスの前にそのブロックが未修復がどうかリストを参照するなどして調べる。そのブロックが未修復の場合には、バッファメモリ上に修復されたデータセグメントをスペアディスクに書き込む。なお、同時に複数の書き込みが同一スペアディスクに集中しないようにスケジュールしておけば良い。   In the present invention, it is preferable to write not only the repaired stream but also the repaired data to the spare disk when the data is supplied to the client by the normal stream. First, before accessing the disk, check whether the block is unrepaired by referring to a list or the like. If the block has not been restored, the data segment restored on the buffer memory is written to the spare disk. Note that a schedule may be set so that a plurality of writes are not simultaneously concentrated on the same spare disk.

これにより、修復完了時間をさらに短縮することができる。   Thereby, the repair completion time can be further reduced.

また、本発明では、現在クライアントへ供給中のストリームデータに関しては、その後引き続いてそのストリームで供給と修復が同時に行なわれると予想されるので(あるいは同時に行なわれるとみなし)、現在クライアントへ供給中のストリームデータを格納しているブロック番号の選択優先度を低く設定して、現在供給されていないストリームデータを格納しているブロック識別子を優先的に選択するようにするとより効果的である。   Also, in the present invention, with regard to stream data currently being supplied to the client, it is expected that supply and restoration will be performed simultaneously in the stream subsequently (or deemed to be performed simultaneously). It is more effective to set the selection priority of the block number storing the stream data to a low priority and preferentially select the block identifier storing the stream data that is not currently supplied.

これにより、現在供給されていないデータを修復ストリームで修復し、通常ストリームで供給しているデータをそのまま修復に利用できる確率が上がり、修復完了時間をさらに短縮することができる。   As a result, it is possible to increase the probability that data that is not currently supplied can be repaired with the repair stream and that data that is supplied in the normal stream can be used for repair as it is, and the repair completion time can be further reduced.

本発明によれば、修復すべきブロックについてリストを作成するなどして管理し、通常ストリームには必要に応じて修復ストリームを中断してストリーム資源を優先的に割り当て、修復ストリームには未使用のストリーム資源をできるかぎり割り当てられるようにし、修復ストリームは上記リストを参照するなどして修復を行なうようにしたので、修復ストリームによるデータの修復中であっても、既接続のストリームによるクライアントへのデータ供給に影響を及ぼさず、かつ新しいストリームの接続に制限を設けずに、ストリーム資源を無駄なく有効に利用することができ、ディスク装置の故障により失われたデータの修復時間を短縮することが可能である。   According to the present invention, a block to be repaired is managed by creating a list or the like, the repair stream is interrupted as necessary for the normal stream, and stream resources are preferentially assigned, and unused streams are assigned to the repair stream. Stream resources are allocated as much as possible, and the repair stream is repaired by referring to the above list. Therefore, even while the data is being repaired by the repair stream, the data to the client by the connected stream is restored. Stream resources can be effectively used without affecting supply and without limiting the connection of new streams, and the time required to repair data lost due to a disk drive failure can be reduced. It is.

また、現在供給されていないデータを修復ストリームで修復し、通常ストリームで供給しているデータをそのまま修復に利用すれば、修復完了時間をさらに短縮することができる。   In addition, if data that is not currently supplied is restored with the restoration stream, and data that is supplied in the normal stream is used for restoration as it is, the restoration completion time can be further reduced.

以下、図面を参照しながら、本発明の実施の形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

本発明の第1の実施形態では、ディスク装置の故障が検出され制御装置に通知されると、ブロック修復リスト管理部は、修復すべきデータセグメントが属するブロックを調べて、ブロック修復予約リストを作成する。このリストは各ブロックが未修復であるか修復中であるかを示す情報を持つ。また、ブロック修復リスト管理部では、スケジューリング部の問い合わせに対して次に修復すべきブロックを選択する機能と、指定されたブロックが未修復であるかどうかを判断する機能を持つ。その後、使用されていないストリーム資源の全てあるいは一部を、そのストリーム資源に対応する数の修復ストリームに割り当てる。   In the first embodiment of the present invention, when a failure of the disk device is detected and notified to the control device, the block repair list management unit checks the block to which the data segment to be repaired belongs and creates a block repair reservation list. I do. This list has information indicating whether each block is unrepaired or being repaired. In addition, the block repair list management unit has a function of selecting a block to be repaired next in response to an inquiry from the scheduling unit and a function of determining whether a designated block is unrepaired. Then, all or some of the unused stream resources are allocated to the number of repair streams corresponding to the stream resources.

ここで、ストリーム資源とは、ディスクアクセスを割り付けるタイムスロットと、ディスクから読み出したデータを一時保持しておくためのバッファメモリと、制御装置内でストリームを管理、スケジュールするために必要となる情報を格納しておく領域である。   Here, the stream resource includes a time slot for allocating disk access, a buffer memory for temporarily holding data read from the disk, and information necessary for managing and scheduling a stream in the control device. This is the area to store.

修復ストリームでは、次にアクセスすべきディスクグループに対応するブロック修復予約リストからブロック識別子を得る。そして、通常のストリームと同様のスケジューリング方法で、そのブロックのディスクアクセス、バッファメモリ上でのデータセグメントの修復が行なわれ、その後スペアディスクにそのデータセグメントが書き込まれる。   In the repair stream, the block identifier is obtained from the block repair reservation list corresponding to the disk group to be accessed next. Then, the disk access of the block and the restoration of the data segment in the buffer memory are performed by the same scheduling method as that for the normal stream, and then the data segment is written to the spare disk.

新しいストリームの接続要求が到着したときには、新ストリームで必要となるストリーム資源を確保するために、一部の修復ストリームによる修復を中断させてそのストリーム資源を解放する。   When a connection request for a new stream arrives, restoration of some restoration streams is interrupted and the stream resources are released in order to secure stream resources required for the new stream.

また、クライアントへのデータ供給を行う通常のストリームが終了し、そのストリーム資源が解放された場合には、解放されたストリーム資源を修復ストリームに割り当てる。以上により、通常のストリームによるクライアントへのデータの供給で使用されていない余ったストリーム資源をディスクの修復のために最大限に利用しつつ、かつ新しいストリームの接続要求に対応して通常のストリームと修復ストリームの割合を変化させることが可能になる。   When the normal stream for supplying data to the client ends and the stream resource is released, the released stream resource is allocated to the repair stream. As described above, the surplus stream resources not used in the supply of data to the client by the normal stream are used to the maximum extent for the restoration of the disk, and the normal stream is used in response to a new stream connection request. It is possible to change the ratio of the repair stream.

さらに、第2の実施形態では、修復ストリームだけでなく、通常のストリームによるクライアントへのデータ供給の際に修復されたデータをスペアディスクに書き込む。スケジューリング部は、ディスクアクセスの前にそのブロックが未修復がどうかをブロック修復リスト管理部に問い合わせる。ブロック修復リスト管理部は、そのブロックが格納されているディスクグループのブロック修復予約リストを調べて、未修復かどうかを返す。スケジューリング部は、そのブロックが未修復の場合に、バッファメモリ上に修復されたデータセグメントをスペアディスクに書き込む。このとき、バッファメモリ上にそのデータが残っている間、すなわちブロックのクライアントへの転送が終了するまでにスペアディスクへの書き込みが実行されなければならない。また、同時に複数の書き込みが同一スペアディスクに集中しないようにスケジュールしなければならない。   Further, in the second embodiment, not only the repaired stream but also the data restored when the data is supplied to the client by the normal stream is written to the spare disk. The scheduling unit inquires of the block repair list management unit whether the block has not been repaired before accessing the disk. The block repair list management unit checks the block repair reservation list of the disk group in which the block is stored, and returns whether or not the block has not been repaired. If the block is not repaired, the scheduling unit writes the repaired data segment in the buffer memory to the spare disk. At this time, writing to the spare disk must be executed while the data remains in the buffer memory, that is, before the transfer of the block to the client is completed. Further, it is necessary to schedule such that a plurality of writes are not simultaneously concentrated on the same spare disk.

なお、現在クライアントへ供給中のストリームデータに関しては、その後引き続いてそのストリームで供給と修復が同時に行なわれると予想されるので、修復ストリームで次に修復されるブロックをブロック修復リスト管理部が選択する際に、現在クライアントへ供給中のストリームデータを格納しているブロック番号の選択優先度を低くして、現在供給されていないストリームデータを格納しているブロック識別子を優先的に選択するようにするとより効果的である。   Since it is expected that the stream data currently being supplied to the client will be subsequently supplied and repaired simultaneously in the stream, the block repair list management unit selects the next block to be repaired in the repair stream. At this time, when the selection priority of the block number storing the stream data currently being supplied to the client is lowered, the block identifier storing the stream data not currently supplied is preferentially selected. More effective.

以上により、通常ストリームで供給しているデータをそのまま修復に利用できる確率が上がり、修復完了時間をさらに短縮することができる。   As described above, the probability that the data supplied in the normal stream can be directly used for restoration increases, and the restoration completion time can be further reduced.

また、第3の実施形態では、バッファメモリ上での修復を行うハードウェアの制限により、クライアントへのデータ供給とバッファメモリ上でのデータ修復が同時に行われるために、データ転送が終了するまでの時間内には修復データをスペアディスクに書き込めない場合であっても、第2の実施形態と同様に、通常ストリームによるクライアントへのデータ供給の際にバッファメモリ上で修復されたセグメントをスペアディスクに書き込む。   In the third embodiment, the data supply to the client and the data restoration on the buffer memory are performed at the same time due to the limitation of the hardware for performing the restoration on the buffer memory. Even when the repaired data cannot be written to the spare disk within the time, similarly to the second embodiment, the segment repaired on the buffer memory when the data is supplied to the client by the normal stream to the spare disk. Write.

この場合には、通常ストリームと修復を行うストリームとでデータのバッファ滞在時間が異なり、その結果バッファメモリの使用量が異なる。そこで、新ストリームの接続時には、そのストリームに必要となるストリーム資源を確保できるように、必要ならば複数の修復ストリームを中断して資源を解放し、新ストリームに割り当てる。   In this case, the buffer stay time of data differs between the normal stream and the stream to be repaired, and as a result, the amount of buffer memory used differs. Therefore, when a new stream is connected, a plurality of restoration streams are interrupted, if necessary, to release the resources and allocated to the new stream so that the stream resources required for the new stream can be secured.

逆に通常ストリームによるデータ供給の終了時には、終了した通常ストリームのストリーム資源を解放する。その後で未使用のストリーム資源量が修復ストリームで必要なストリーム資源量に達している場合には、新しい修復ストリームにストリーム資源を割り当てる。   Conversely, when the data supply by the normal stream ends, the stream resources of the ended normal stream are released. Thereafter, when the unused stream resource amount has reached the stream resource amount required for the repair stream, the stream resource is allocated to the new repair stream.

以下では、クライアントへのストリームデータの供給のみを行う通常ストリームをSストリームと呼ぶ。すなわち、Sストリームでは、転送対象のブロックを格納したディスクが故障している場合は、該ブロックを修復しながらクライアントへストリームデータ供給を行うが、修復した故障ディスクの内容を代替ディスクに書き込むことはしない。   Hereinafter, a normal stream that only supplies stream data to the client is referred to as an S stream. That is, in the S stream, if the disk storing the transfer target block has failed, the stream data is supplied to the client while repairing the block. However, the contents of the repaired failed disk cannot be written to the substitute disk. do not do.

一方、ストリームデータの供給/故障ディスクの修復を併せて行う通常ストリームをRSストリームと呼ぶ。すなわち、RSストリームでは、転送対象のブロックを格納したディスクが故障している場合は、該ブロックを修復しながらストリームデータの供給を行うとともに、修復した故障ディスクの内容を代替ディスクに書き込む。   On the other hand, a normal stream that simultaneously performs the supply of stream data and the repair of a failed disk is called an RS stream. That is, in the RS stream, when the disk storing the transfer target block has failed, the stream data is supplied while the block is repaired, and the contents of the repaired failed disk are written to the substitute disk.

また、故障ディスクの修復のみを行うストリームをRストリームと呼ぶ。   Also, a stream for performing only repair of a failed disk is called an R stream.

以下、各実施形態をさらに詳しく説明する。   Hereinafter, each embodiment will be described in more detail.

(第1の実施形態)
まず、第1の実施形態について説明する。
(1st Embodiment)
First, a first embodiment will be described.

本実施形態は、故障ディスクのデータを修復しながら送出するSストリームと、故障ディスクのデータを修復して代替ディスクに書き込むRストリームを用いる実施形態である。   This embodiment is an embodiment using an S stream that is sent out while restoring data on a failed disk and an R stream that restores data on a failed disk and writes the data to a substitute disk.

図1に本実施形態に係る実時間ストリームサーバの構成を、図2に本実施形態の動作のフローチャートを示す。   FIG. 1 shows the configuration of a real-time stream server according to the present embodiment, and FIG. 2 shows a flowchart of the operation of the present embodiment.

なお、図1のバッファメモリ4内のストリームstream iに対する矢印は、故障ディスクのデータを修復して該故障ディスクに書き込む様子(Rストリームに対応)を示しており、ストリームstream jに対する矢印は、故障ディスクのデータを修復しながらクライアントに送出する様子(Sストリームに対応)を示している。   Note that the arrow for the stream stream i in the buffer memory 4 in FIG. 1 shows how the data on the failed disk is restored and written to the failed disk (corresponding to the R stream). The figure shows a state in which the data on the disk is transmitted to the client while being restored (corresponding to the S stream).

図1のように本実施形態の実時間ストリームサーバは、実時間ストリームデータを格納するための複数台のディスク装置32を有するデータ蓄積部3、ディスク装置32から読み出したデータを一時保持しておくためのバッファメモリ4、バッファメモリ4から読み出したデータをネットワーク(図示せず)を介して要求元のクライアントへ転送するデータ転送部5、ディスク装置32の故障を検出する故障検出部6、故障したディスク装置のデータを修復するデータ修復部7、データ蓄積部3やデータ転送部5に対して必要な動作の指示を行なうなどシステム全体を制御する制御装置2を備えている。   As shown in FIG. 1, the real-time stream server of the present embodiment temporarily stores data read from the disk storage 32 and the data storage unit 3 having a plurality of disk devices 32 for storing real-time stream data. Memory 4, a data transfer unit 5 for transferring data read from the buffer memory 4 to a requesting client via a network (not shown), a failure detection unit 6 for detecting a failure of the disk device 32, The system includes a data restoring unit 7 for restoring data in the disk device, and a control unit 2 for controlling the entire system such as instructing necessary operations to the data storage unit 3 and the data transfer unit 5.

制御装置2は、要求元クライアントからネットワークを介して送られてくるストリーム接続要求を受け付ける接続要求処理部21、各ストリームの連続性を保証するのに必要な動作のスケジュールを管理するスケジューリング部22、修復ストリームにストリーム資源を割り当てる修復ストリーム割り付け部23、修復ストリームによる修復を中断させてそのストリーム資源を解放する修復ストリーム解放部24、修復状況・順序等を管理するブロック修復リスト管理部25を備えている。   The control device 2 includes a connection request processing unit 21 that receives a stream connection request sent from the requesting client via the network, a scheduling unit 22 that manages a schedule of an operation necessary to guarantee continuity of each stream, A repair stream allocating unit 23 for allocating stream resources to the repair stream, a repair stream releasing unit 24 for interrupting the repair by the repair stream and releasing the stream resources, and a block repair list managing unit 25 for managing the repair status / order etc. I have.

データ蓄積部3は、N組のディスクグループ31からなる。1組のディスクグループには、m+1台のディスク装置32が含まれる。m+1台のディスク装置32のうち、m台はデータ格納用として使われ、1台はパリティ格納用に使われる。1つのディスクグループに格納されるブロックは、等長のm個のデータセグメントに分割されて、それぞれ異なるデータ格納用ディスクに格納される。パリティディスクには、m個のデータセグメントのパリティデータが格納される。   The data storage unit 3 includes N disk groups 31. One set of disk groups includes m + 1 disk devices 32. Of the (m + 1) disk devices 32, m are used for storing data, and one is used for storing parity. Blocks stored in one disk group are divided into m data segments of equal length and stored on different data storage disks. The parity disk stores parity data of m data segments.

以下、本実施形態の動作について図2を参照しながら説明する。ディスク装置の故障の通知のない通常動作では、接続要求処理部21によりネットワークを介して転送されてきた要求元クライアントのストリーム接続要求が受理されると、制御装置2は、通常ストリームにストリーム資源、すなわちスケジューリング部22のストリーム管理表221のエントリ、ディスクアクセスを割り付けるタイムスロットとディスクから読み出したデータを一時保持しておくためのバッファメモリ4の領域を割り当てる。   Hereinafter, the operation of the present embodiment will be described with reference to FIG. In the normal operation without the notification of the failure of the disk device, when the connection request processing unit 21 receives the stream connection request of the requesting client transferred via the network, the control device 2 sends the stream resource to the normal stream. That is, an entry of the stream management table 221 of the scheduling unit 22, a time slot for allocating a disk access, and an area of the buffer memory 4 for temporarily holding data read from the disk are allocated.

そして、制御装置2は、要求元クライアントに要求されたストリームデータを供給するために、割り当てたストリーム資源を使用して、該当するディスクグループ内のm個のデータセグメントとそれらに対応する1個のパリティデータを同時にバッファメモリ4に呼び出させ、その後、バッファメモリ4から転送装置5によりネットワーク(図示せず)を介してクライアントへ順次転送させる。制御装置2は、データセグメントを周期的に転送し、要求されたストリームデータの供給が完了したら、割り当てたストリーム資源を解放する。   Then, in order to supply the requested stream data to the requesting client, the control device 2 uses the allocated stream resources to generate m data segments in the corresponding disk group and one corresponding data segment. The parity data is simultaneously called by the buffer memory 4 and then sequentially transferred from the buffer memory 4 to the client by the transfer device 5 via the network (not shown). The control device 2 periodically transfers the data segments, and releases the allocated stream resources when the supply of the requested stream data is completed.

以上が、通常動作である(ステップS11)。   The above is the normal operation (step S11).

さて、通常動作中において、ディスク装置32に故障が生じたものとする。すると、故障検出部6によりディスク装置32の故障が検出され、制御装置2に故障発生通知と故障したディスク装置のディスク番号が送られてくる(ステップS12)。   Now, it is assumed that a failure has occurred in the disk device 32 during the normal operation. Then, the failure detection unit 6 detects the failure of the disk device 32, and sends a failure notification and the disk number of the failed disk device to the control device 2 (step S12).

通知を受けた制御装置2は、データ修復装置7に命令を送り、故障したディスク装置(図中の33)が属するディスクグループ(例えば図1中のGroup N−1)からバッファメモリ4に読み出されたデータをクライアントへ転送する前に、故障したディスク装置33から読み出されるべきデータセグメントを他のデータセグメントとパリティデータから修復させ(ステップS19)、その後に転送させる(ステップS20)。   The control device 2 that has received the notification sends an instruction to the data restoration device 7 and reads out the data from the disk group (for example, Group N-1 in FIG. 1) to which the failed disk device (33 in the diagram) belongs to the buffer memory 4. Before transferring the resulting data to the client, the data segment to be read from the failed disk device 33 is restored from other data segments and parity data (step S19), and then transferred (step S20).

一方、故障したディスク装置33は新しいディスク装置と交換する(ステップS12)。なお、通常動作中にスペアディスク装置を接続しておいて、故障発生時に故障したディスク装置33とスペアディスク装置のディスク番号を論理的に交換してもよい。   On the other hand, the failed disk device 33 is replaced with a new disk device (step S12). The spare disk device may be connected during normal operation, and the disk numbers of the failed disk device 33 and the spare disk device may be logically exchanged when a failure occurs.

さて、故障が検出されるとブロック修復リスト管理部25は、各ディスクグループ毎にブロック修復予約リスト251を作成する(ステップS13)。ブロック修復予約リスト251には、そのディスクグループ31に格納されているブロックを表すブロック識別子を登録する。故障ディスク33が存在しないディスクグループ31のブロック修復予約リスト251は空とする。ブロック識別子には、そのブロックがディスク装置32に格納されるときの位置情報が含まれる。その位置情報は、論理ブロック番号でもよいし、あるいは物理的なトラック番号やセグメント番号でもよい。あるブロックのm個のデータセグメントが各ディスク装置で同一の論理ブロック番号で表されるならば、ブロック識別子はその論理ブロック番号の情報を保持すればよい。そうでない場合には、ブロック識別子はm個のデータセグメントの各ディスク装置上での位置情報を全て保持する必要がある。   When a failure is detected, the block repair list management unit 25 creates a block repair reservation list 251 for each disk group (step S13). The block repair reservation list 251 registers a block identifier representing a block stored in the disk group 31. The block repair reservation list 251 of the disk group 31 in which the failed disk 33 does not exist is empty. The block identifier includes position information when the block is stored in the disk device 32. The position information may be a logical block number or a physical track number or segment number. If m data segments of a certain block are represented by the same logical block number in each disk device, the block identifier may hold the information of the logical block number. Otherwise, the block identifier needs to hold all the position information of each of the m data segments on each disk device.

修復ストリーム割り付け部23は、現在クライアントへのデータの供給に使用されていないストリーム資源の一部または全部を修復ストリームに割り当てる(ステップS14)。具体的には、通常のストリームと同様にバッファメモリ4の領域(図中のstream iの部分)、スケジューリング部22のストリーム管理表221の領域(図中のstream iの部分)、ディスクアクセスを割り付けるタイムスロットを確保して、ストリーム管理表221にその修復ストリームの管理情報書き込み、タイムスロットにディスクアクセスを割り付ける。   The repair stream allocating unit 23 allocates a part or all of the stream resources not currently used for supplying data to the client to the repair stream (Step S14). More specifically, an area in the buffer memory 4 (stream i in the figure), an area in the stream management table 221 of the scheduling unit 22 (stream i in the figure), and disk access are allocated in the same manner as a normal stream. A time slot is secured, management information of the repaired stream is written in the stream management table 221, and disk access is allocated to the time slot.

修復ストリームでは、次にアクセスするディスクグループ(例えば図1中のGroup N−1)のブロック修復予約リスト251からブロック識別子を取り出す(ステップS21)。通常のストリームと同様にそのブロック識別子に対応するデータセグメントとパリティデータを同時にバッファメモリ4に読み出して、データ修復装置7により故障したディスク33から読み出されるべきデータセグメントを修復する(ステップS22〜S24)。修復されたデータセグメントは、バッファメモリ4から交換されたスペアディスク32に書き込まれる。   In the repair stream, a block identifier is extracted from the block repair reservation list 251 of the disk group to be accessed next (for example, Group N-1 in FIG. 1) (step S21). Similarly to a normal stream, the data segment corresponding to the block identifier and the parity data are simultaneously read into the buffer memory 4 and the data restoration device 7 restores the data segment to be read from the failed disk 33 (steps S22 to S24). . The repaired data segment is written from the buffer memory 4 to the replaced spare disk 32.

ここで、書き込みを通常のストリームのブロック転送終了までのタイムスロットで行なうようにすれば、1ブロックがバッファメモリ4の1領域を占有する期間が通常のストリームと同じになるので、1本の修復ストリームで全てのディスクグループの修復を1ブロックづつ順番に行なうことが可能となる。   Here, if the writing is performed in the time slot until the end of the block transfer of the normal stream, the period in which one block occupies one area of the buffer memory 4 becomes the same as that of the normal stream. It is possible to repair all disk groups in the stream in order one block at a time.

ブロック修復予約リストが空である場合には(ステップS22)、ディスク装置32が故障していないか、あるいは修復が終了したものとみなして、そのディスクグループに対するディスクアクセスの順番がまわってきても読み出し、修復、書き込みを行なわなければよい。   If the block repair reservation list is empty (step S22), it is considered that the disk device 32 has not failed or the repair has been completed, and the disk device 32 is read even if the order of disk access to the disk group is changed. , Restoration and writing need not be performed.

ここで、修復中に新しいストリームの接続要求があった場合、修復タイムスロットが存在しないものとみなして新ストリームのディスクアクセスを割り付けるタイムスロットを選択する。選択したタイムスロットに修復ストリームのディスクアクセスが既に割り付けられていた場合には、その修復ストリームによる修復を中断して、そのストリーム資源を解放する(ステップS15)。このとき、その修復ストリームにおいて書き込みが終了していないブロックを表す識別子全てを、それぞれが対応するディスクグループのブロック修復予約リスト251に登録し直す。その後、解放されたストリーム資源を新ストリームに割り当てる。空いたタイムスロットに新ストリームのディスクアクセスを割り付ける(ステップS16)。   Here, if a connection request for a new stream is made during restoration, it is considered that there is no restoration time slot, and a time slot to which a disk access for the new stream is allocated is selected. If the disk access of the repair stream has already been allocated to the selected time slot, the repair by the repair stream is interrupted, and the stream resource is released (step S15). At this time, all the identifiers indicating the blocks for which writing has not been completed in the repair stream are registered in the block repair reservation list 251 of the corresponding disk group. Thereafter, the released stream resources are allocated to the new stream. A new stream disk access is allocated to the vacant time slot (step S16).

一方、既に接続されている通常ストリームによるデータ供給が終了した場合、解放されたストリーム資源を修復ストリームに割り当てて、修復ストリームを増加させる(ステップS17,S18)。   On the other hand, when the data supply by the already connected normal stream ends, the released stream resources are allocated to the repair stream, and the number of repair streams is increased (steps S17 and S18).

ここで、ディスク装置1台分のデータの修復に必要となる時間は、
(修復時間)=(ディスク1台分の修復ブロック数)×(ブロック転送周期)×(ディスクグループ数)/(修復ストリーム数)となる。
Here, the time required to restore the data for one disk drive is
(Repair time) = (Number of repair blocks for one disk) × (Block transfer cycle) × (Number of disk groups) / (Number of repair streams).

全てのブロックにおいて、(ブロック転送時間)=(ブロック転送周期)であるならば、
(修復時間)=(全データの転送時間)/(修復ストリーム数)となる。修復ストリームは全てのディスクグループの修復で共用できるので、故障ディスクを含むディスクグループ数が増加しても修復時間は変化しない。
In all blocks, if (block transfer time) = (block transfer cycle),
(Repair time) = (transfer time of all data) / (repair stream number). Since the repair stream can be shared for repairing all disk groups, the repair time does not change even if the number of disk groups including the failed disk increases.

以上のようにして、全ての修復ストリームで修復が完了したら(ステップS24)、全ての修復ストリームを解放し(ステップS25)、通常動作へ戻る(ステップS26)。   As described above, when restoration is completed for all restoration streams (step S24), all restoration streams are released (step S25), and the process returns to normal operation (step S26).

以上のように本実施形態によれば、通常のストリームによるクライアントへのデータの供給で使用されていない余ったストリーム資源をディスクの修復のために最大限に利用しつつ、かつ新しいストリームの接続要求に対応して通常のストリームと修復ストリームの割合を変化させることが可能になる。   As described above, according to the present embodiment, a request to connect a new stream while maximizing the use of surplus stream resources not used in the supply of data to the client by the normal stream for the restoration of the disk , The ratio between the normal stream and the repair stream can be changed.

従って、修復ストリームによるデータの修復中であっても、既接続の通常ストリームによるクライアントへのデータ供給に影響を及ぼさず、かつ新しいストリームの接続に制限を設けずに、故障ディスク装置を含むディスクグループの転送能力を無駄なく有効に利用してディスク装置の故障により失われたデータの修復時間を短縮することが可能である。   Therefore, even during the restoration of data by the restoration stream, the disk group including the failed disk device is not affected without affecting the data supply to the client by the already connected normal stream and without limiting the connection of the new stream. It is possible to shorten the time required to repair data lost due to a failure of a disk device by effectively using the transfer capacity of the disk drive.

(第2の実施形態)
次に、第2の実施形態について説明する。本実施形態では、第1の実施形態のように修復ストリームにより故障ディスクのデータを修復して故障ディスクに書き込むだけでなく、通常のストリームによりクライアントへのデータの供給とデータの修復を同時に行う。すなわち、RSストリームとRストリームを用いる実施形態である。
(Second embodiment)
Next, a second embodiment will be described. In the present embodiment, as in the first embodiment, not only the data of the failed disk is restored by the restoration stream and written to the failed disk, but also the supply of data to the client and the restoration of the data are simultaneously performed by the normal stream. That is, the embodiment uses the RS stream and the R stream.

本実施形態に係る実時間ストリームサーバの構成は図1と同様であり、詳細な説明は省略する。ただし、制御装置2に上記のようなRSストリームによる新たな修復操作の制御機能が加わっている点が異なる。また、図3に本実施形態の動作のフローチャートを示す。なお、図3中、第1の実施形態の動作を示す図2のフローチャートと同様の部分は同一の符号を付した。以下では、第1の実施形態と相違する点を中心に説明する。   The configuration of the real-time stream server according to the present embodiment is the same as that of FIG. 1, and a detailed description is omitted. However, the difference is that the control device 2 has a control function of a new restoration operation using the RS stream as described above. FIG. 3 shows a flowchart of the operation of the present embodiment. Note that, in FIG. 3, the same parts as those in the flowchart of FIG. 2 showing the operation of the first embodiment are denoted by the same reference numerals. In the following, a description will be given focusing on differences from the first embodiment.

第1の実施形態では、通常ストリームにおいて、クライアントへのデータの供給のためにバッファメモリ4上でのデータの修復が行なわれ(ステップS19)、そして、データを修復されたブロックはクライアントへ転送された(ステップS20)。   In the first embodiment, in the normal stream, the data is repaired in the buffer memory 4 to supply the data to the client (step S19), and the block in which the data has been restored is transferred to the client. (Step S20).

ここで、データを修復されたブロックは、そのブロックが全てクライアントへ転送されるまではバッファメモリ4上に保持されており、本実施形態では、その転送が終了するまでにスペアディスクに書き込むようにする。   Here, the block whose data has been restored is held in the buffer memory 4 until all the blocks are transferred to the client. In the present embodiment, the data is written to the spare disk until the transfer is completed. I do.

本実施形態では、通常ストリームにおいて、既にスペアディスク上に修復されているデータセグメントをスペアディスクに書き込む必要はないので、ディスクアクセスの前にそのブロックが未修復かどうかをブロック修復リスト管理部25に問い合わせる。その結果、未修復であればブロック修復リストからそのデータのブロック識別子を除いておく(ステップS103)。   In the present embodiment, in the normal stream, it is not necessary to write the data segment already restored on the spare disk to the spare disk. Therefore, before the disk access, the block repair list management unit 25 determines whether the block is unrepaired. Contact us. As a result, if the data has not been repaired, the block identifier of the data is removed from the block repair list (step S103).

次に、ステップS19のデータの修復が行なわれ、S20の転送が行なわれる。   Next, the data is restored in step S19, and the transfer in step S20 is performed.

ここで、先の問い合わせの結果、修復済みであればスペアディスクに書き込まず、未修復であれば転送が終了するまでにスペアディスクに書き込む(ステップS104,S105)。   Here, as a result of the previous inquiry, if the data has been repaired, the data is not written to the spare disk. If the data has not been repaired, the data is written to the spare disk until the transfer is completed (steps S104 and S105).

スペアディスクに書き込むタイミングは、バッファメモリ4上にデータが保持されている間であり、且つ、1台のスペアディスクへ複数の書き込みが重ならないようにスケジュールしなければならない。これは、図4のようにディスクアクセス、データセグメントの修復、書き込み、クライアントへの転送をスケジュールすることで可能となる。すなわち、ディスクアクセスの直後のタイムスロットから一定時間内にデータセグメントの修復を完了し、さらにその直後にスペアディスクに書き込みを行なう。データセグメントの修復とクライアントへの転送が重なることは許されないが、スペアディスクへの書き込みとクライアントへの転送が重なることは許される。図4は、1ストリーム当り4個のバッファメモリを割り付けて、クライアントへの転送時間が4スロット、データ修復時間が2スロットの場合を示している。この場合、ディスクアクセスを割り付けることが可能なタイムスロットの範囲である許容ジッター範囲は、クライアントへの転送開始より12スロット前から2スロット前までの10スロット分である。この例では、全てのブロックについて対応するディスクグループのスペアディスクに書き込みを行なっているが、そのディスクグループに故障ディスクが存在しない場合には、バッファメモリ上での修復とスペアディスクへの書き込みの必要はない。   The writing to the spare disk is performed while the data is held in the buffer memory 4 and the writing must be scheduled so that a plurality of writings to one spare disk do not overlap. This can be achieved by scheduling disk access, data segment repair, writing, and transfer to the client as shown in FIG. That is, restoration of the data segment is completed within a fixed time from the time slot immediately after the disk access, and further immediately thereafter, writing to the spare disk is performed. The repair of the data segment and the transfer to the client are not allowed to overlap, but the writing to the spare disk and the transfer to the client are allowed to overlap. FIG. 4 shows a case where four buffer memories are allocated per stream, the transfer time to the client is four slots, and the data recovery time is two slots. In this case, the allowable jitter range, which is the range of the time slot to which the disk access can be allocated, is 10 slots from 12 slots before to 2 slots before the start of the transfer to the client. In this example, all blocks are written to the spare disk of the corresponding disk group, but if there is no failed disk in that disk group, it is necessary to repair the buffer memory and write to the spare disk. There is no.

ところで、上記のように通常ストリームを供給と修復の両方に使用する場合、修復されるブロックは供給しているストリームデータを格納しているブロックに限られる。そのブロックが修復ストリームで既に修復されている場合であっても、その通常のストリームでは他のブロックを修復することはできない。そこで、本実施形態では、修復ストリームで次に修復するブロックを選択するときに、通常のストリームで供給中のストリームデータを格納しているブロックの優先度を低くし(ステップS101)、供給していないストリームデータを格納しているブロックを優先してブロック識別子を選択する。   When the normal stream is used for both supply and restoration as described above, the blocks to be restored are limited to the blocks storing the supplied stream data. Even if the block has already been repaired in the repair stream, the normal stream cannot repair other blocks. Therefore, in this embodiment, when selecting the next block to be restored in the restoration stream, the priority of the block storing the stream data being supplied in the normal stream is lowered (step S101), and the block is supplied. A block identifier is selected by giving priority to a block storing no stream data.

より具体的には、ブロック修復予約リスト作成時にディスクグループ毎に二種類のブロック修復予約リストを作る。一方のリストには、供給中のストリームデータを格納するブロックを表すブロック識別子を登録する(ステップS101)。もう一方には、それ以外のブロックを表すブロック識別子を登録する(ステップS102)。   More specifically, when creating a block repair reservation list, two types of block repair reservation lists are created for each disk group. In one list, a block identifier indicating a block for storing the stream data being supplied is registered (step S101). In the other, a block identifier representing another block is registered (step S102).

スケジューリング部22は、ある修復ストリームで次にアクセスするディスクグループの番号をブロック修復リスト管理部25に渡して、次に修復すべきブロックを問い合わせる。それに対してブロック修復リスト管理部25は、そのディスクグループの供給中でないブロックのブロック修復予約リストの先頭に登録されているブロック識別子を取り出してスケジューリング部22に返す。このリストが空の場合には、供給中のブロックのブロック修復予約リストの最後に登録されているブロック識別子を選択する(ステップS106)。両方のリストが空の場合には、空を表すブロック識別子を返す。この場合には、修復ストリームはディスクアクセス、修復、書き込みの動作を行なわない。   The scheduling unit 22 passes the number of the disk group to be accessed next in a certain repair stream to the block repair list management unit 25, and inquires about the next block to be repaired. On the other hand, the block repair list management unit 25 extracts the block identifier registered at the head of the block repair reservation list of the block that is not being supplied to the disk group and returns it to the scheduling unit 22. If this list is empty, the block identifier registered at the end of the block repair reservation list of the block being supplied is selected (step S106). If both lists are empty, the empty block identifier is returned. In this case, the restoration stream does not perform the operations of disk access, restoration, and writing.

通常のストリームでの供給が終了した場合、そのストリームデータの中で実際に修復の行なわれなかったブロックを表すブロック識別子が供給中のブロックのブロック修復予約リストに登録されているので、そのブロック識別子を全て供給中でないブロックのブロック修復予約リストに移動する(ステップS102)。逆に、新しいストリームの供給が開始された場合には、そのストリームデータのブロックを表すブロック識別子を供給中でないブロックのブロック修復予約リストから供給中のブロック修復予約リストに移動する(ステップS101)。   When the supply in the normal stream is completed, the block identifier indicating the block that has not been actually repaired in the stream data is registered in the block repair reservation list of the block being supplied. Is moved to the block repair reservation list of the block that is not currently being supplied (step S102). Conversely, when the supply of a new stream is started, the block identifier indicating the block of the stream data is moved from the block repair reservation list of the block that is not being supplied to the block repair reservation list that is being supplied (step S101).

なお、ブロック修復予約リストの形態としては、各ブロック識別子の選択優先度が判別できる形態であれば良い。例えば、各ブロック識別子自体に優先度の情報を記録し、ブロック修復リスト管理部25がその優先度情報を参照できるのであれば、ディスクグループ毎に二種類のリストを持たずに済ませることも可能である。   Note that the block repair reservation list may be in any form as long as the selection priority of each block identifier can be determined. For example, if priority information is recorded in each block identifier itself, and the block repair list management unit 25 can refer to the priority information, it is not necessary to have two types of lists for each disk group. is there.

以上のように本実施形態によれば、通常のストリームで使用されていない余ったストリーム資源をディスクの修復のために最大限に利用しつつ、かつ新しいストリームの接続要求に対応して通常のストリームと修復ストリームの割合を変化させることが可能になる。   As described above, according to the present embodiment, the normal stream is used in response to a new stream connection request while maximizing the use of surplus stream resources not used in the normal stream for disk repair. And the ratio of the repair stream can be changed.

従って、修復ストリームによるデータの修復中であっても、既接続のストリームによるクライアントへのデータ供給に影響を及ぼさず、かつ新しいストリームの接続に制限を設けずに、故障ディスク装置を含むディスクグループの転送能力を無駄なく有効に利用してディスク装置の故障により失われたデータの修復時間を短縮することが可能である。   Therefore, even during the restoration of data by the restoration stream, the data supply to the client by the already connected stream is not affected and the connection of the new stream is not restricted, and the disk group including the failed disk device is not affected. It is possible to effectively use the transfer capability without wasting and to reduce the time required to repair data lost due to a failure of the disk device.

また、本実施形態によれば、現在供給されていないデータを修復ストリームで修復し、通常ストリームで供給しているデータをそのまま修復に利用することにより、修復完了時間をより短縮することができる。   In addition, according to the present embodiment, the restoration completion time can be further reduced by restoring data that is not currently supplied with the restoration stream and using the data supplied in the normal stream for restoration as it is.

(第3の実施形態)
次に、第3の実施形態について説明する。
(Third embodiment)
Next, a third embodiment will be described.

前述した第1、第2の実施形態では、バッファメモリ上での修復とスペアディスクへの書き込みのタイミングについては、図4に示すように、クライアントへの転送時間が開始されるまでにデータを修復し、転送時間が終了するまでにスペアディスクへの書き込みを行うものとして説明した。   In the first and second embodiments described above, as for the timing of restoration on the buffer memory and writing to the spare disk, as shown in FIG. 4, the data is restored before the transfer time to the client starts. However, it has been described that writing to the spare disk is performed before the transfer time ends.

このタイミングで上記の修復処理を実行することにより、Rストリーム、RSストリームにおいて、バッファメモリ上にデータが滞在する時間が、Sストリームにおけるデータ滞在時間と同じまたはそれ以下になる。つまり、ストリーム1本当たりのバッファメモリの使用量に関しては、Sストリーム、Rストリーム、RSストリームの3種類のストリームで等しいと考えて良い。   By executing the above-described restoration processing at this timing, the time during which data stays in the buffer memory in the R stream and the RS stream becomes equal to or less than the data stay time in the S stream. In other words, the amount of buffer memory used per stream can be considered to be the same for the three types of streams: the S stream, the R stream, and the RS stream.

しかし、ハードウェアの構成によっては、この修復と書き込みのタイミングが異なる場合がある。例えば、データの格納方式としてRAID3を用いて、データの先頭からバッファメモリへの転送を行うようなハードウェア構成を採用した場合には、クライアントへの転送時間が終了した後でスペアディスクへの書き込みを実行する。   However, depending on the hardware configuration, the timing of the restoration and the writing may be different. For example, if a hardware configuration is used in which data is transferred from the beginning to the buffer memory using RAID3 as a data storage method, writing to the spare disk after the transfer time to the client is completed. Execute

以下では、上記のような場合に本発明を適用した実施形態について説明する。   Hereinafter, an embodiment to which the present invention is applied in the above case will be described.

図5に、本実施形態におけるタイミングチャートの例を示す。   FIG. 5 shows an example of a timing chart in the present embodiment.

図5(a)はSストリームのバッファメモリ利用に関するタイムチャートであり、図5(b)はRSストリームのバッファメモリ利用に関するタイムチャートである。ここでは、Sストリーム1本当たりブロック2個分のバッファメモリを割り当てる例を示している。   FIG. 5A is a time chart related to the use of the buffer memory of the S stream, and FIG. 5B is a time chart related to the use of the buffer memory of the RS stream. Here, an example is shown in which two blocks of buffer memory are allocated per S stream.

図5(b)のようなタイミングで修復が行われる場合、SストリームよりもRSストリームおよびRストリームの方がスペアディスクへの書き込みを行う時間だけデータのバッファメモリ滞在期間が長くなる。つまり、ストリーム1本当たりのバッファメモリの使用量に関しては、Sストリームよりも、RSストリームおよびRストリームの方が、より多くの資源を必要とするということになる。   When the restoration is performed at the timing as shown in FIG. 5B, the data stream stay time in the buffer memory is longer in the RS stream and the R stream than in the S stream by the time for writing to the spare disk. In other words, regarding the amount of buffer memory used per stream, the RS stream and the R stream require more resources than the S stream.

図5(b)の例では、RSストリーム1本当たりブロック3個分のバッファメモリを使用する例を示している。   FIG. 5B shows an example in which a buffer memory for three blocks is used for one RS stream.

Sストリーム、RSストリーム、Rストリームの使用資源量に
Br=Brs=n×Bs
(BsはSストリーム1本で使用する資源量、BrはRストリーム1本で使用する資源量、BrsはRSストリーム1本で使用する資源量)
の関係があるとすると、各ストリームの本数の構成を動的に変化させる際には、各ストリームの数は、次式で示す条件を満たす必要がある。
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本供給できる。
Resource usage of S stream, RS stream and R stream
Br = Brs = n × Bs
(Bs is the resource amount used by one S stream, Br is the resource amount used by one R stream, and Brs is the resource amount used by one RS stream)
When dynamically changing the configuration of the number of streams, the number of streams must satisfy the condition expressed by the following equation.
Nmax ≧ Ns + n × (Nrs + Nr)
(Nmax is the maximum number of streams, Ns is the number of S streams, Nr is the number of R streams, Nrs is the number of RS streams)
In the first and second embodiments, for example, when the operation is performed at the timing shown in FIG. 4, since n = 1, if one S stream or one RS stream ends, one R stream is released with released resources. Can be executed. Conversely, when a connection request for a new stream arrives, one S stream or RS stream can be supplied by releasing one R stream.

これに対して、この第3の実施形態において、例えば図5で示したタイミングで動作するでは、バッファメモリ領域をブロック2個分から3個分に増やせば修復が可能となるので、n=1.5として、Ns+Nrsがデータを供給するストリームの本数となり、かつ、上記の条件を満たす範囲内でNs,Nrs,Nrを動的に決定すれば良い。   On the other hand, in the third embodiment, when the operation is performed at the timing shown in FIG. 5, for example, restoration can be performed by increasing the buffer memory area from two blocks to three blocks. Assuming that 5, Ns + Nrs is the number of streams for supplying data, and Ns, Nrs, and Nr may be dynamically determined within a range satisfying the above conditions.

本実施形態に係る実時間ストリームサーバの構成は図1と同様であり、詳細な説明は省略する。また、図6に本実施形態の動作のフローチャートの一例を示す。なお、図6中、第1、第2の実施形態の動作を示す図2、図3のフローチャートと同様の部分は同一の符号を付した。以下では、第1、第2の実施形態と相違する点を中心に説明する。   The configuration of the real-time stream server according to the present embodiment is the same as that of FIG. 1, and a detailed description is omitted. FIG. 6 shows an example of a flowchart of the operation of the present embodiment. In FIG. 6, the same parts as those in the flowcharts of FIGS. 2 and 3 showing the operation of the first and second embodiments are denoted by the same reference numerals. In the following, a description will be given focusing on differences from the first and second embodiments.

本実施形態は、Sストリームを用いる点は、第1の実施形態と同様であり、RSストリームを用いる点は、第2の実施形態と同様であるが、RSストリームにおいて、ステップS210で、データ修復とクライアントへの転送を行った後に、ステップS105で、スペアディスクへの書き込みを実行する点が、第2の実施形態におけるRSストリームと相違する。   The present embodiment is similar to the first embodiment in that the S stream is used, and is similar to the second embodiment in that the RS stream is used. This is different from the RS stream according to the second embodiment in that writing to the spare disk is performed in step S105 after the transfer to the client and the client.

また、本実施形態では、1つの通常ストリームを、動的にSストリームとRSストリームの間で遷移させる制御を行う点が、第1、第2の実施形態と相違する。   Also, the present embodiment is different from the first and second embodiments in that control is performed to dynamically transition one normal stream between the S stream and the RS stream.

より具体的には、以下で説明するステップS201〜S202の処理(1)〜処理(4)の部分が、第1、第2の実施形態と異なる。   More specifically, portions of processes (1) to (4) in steps S201 to S202 described below are different from the first and second embodiments.

(ステップS201の処理(1))
新しいストリームの接続要求があった場合、まず、各ストリームの本数に応じて、新ストリームをSストリームとして供給を行うか、RSストリームとして供給/(故障ディスクの)修復を同時に行うかを選択する。
(Process (1) of Step S201)
When a connection request for a new stream is made, first, according to the number of each stream, whether to supply the new stream as an S stream or to simultaneously supply / repair (for a failed disk) as an RS stream is selected.

もし、要求されたストリームデータの最初に転送すべきブロックの修復が完了しておらず、かつ、未使用のストリーム資源からBrsの資源が確保できる場合または幾つかのRストリームを中断すればBrsの資源が確保できる場合には、新ストリームをRSストリームとし、(後者の場合、幾つかのRストリームを中断した後、)新ストリームに資源を割り当てる。   If the repair of the block to be transferred at the beginning of the requested stream data has not been completed and the Brs resource can be secured from unused stream resources, or if some R streams are interrupted, the Brs If resources can be secured, the new stream is used as an RS stream, and in the latter case, resources are allocated to the new stream after interrupting some R streams.

一方、上記以外の場合には、新ストリームは、Sストリームとする。ただし、他のRSストリームが存在し、幾つかのRストリームを中断するだけではBrの資源が確保できない場合には、さらに、既存のRSストリームをSストリームに変更して、不要になったストリーム資源(Brs−Bs)を解放する。   On the other hand, in cases other than the above, the new stream is an S stream. However, if there is another RS stream and the resource of Br cannot be secured simply by interrupting some R streams, the existing RS stream is further changed to the S stream, and the unnecessary stream resource is changed. (Brs-Bs) is released.

なお、既存のRストリームとRSストリームを全て中断してもBrの資源が確保できない場合には、新ストリームの接続要求を受理することはできない。   If Br resources cannot be secured even if all the existing R stream and RS stream are interrupted, a connection request for a new stream cannot be accepted.

(ステップS202の処理(2))
SストリームまたはRSストリームによるデータの供給が終了した場合、割り当てられていたストリーム資源を解放する。そして、解放されたストリーム資源を含めて、未使用の資源を新Rストリームに割り当てる。
(Process (2) of Step S202)
When the data supply by the S stream or the RS stream ends, the allocated stream resources are released. Then, the unused resources including the released stream resources are allocated to the new R stream.

(ステップS203の処理(3))
Sストリームでのデータの供給中において、次のブロックが未修復であり、かつ、幾つかのRストリームを中断することによってBrsの資源が確保できる場合には、幾つかのRストリームを中断して、そのSストリームをRSストリームに変更する。
(Process (3) of Step S203)
During supply of data in the S stream, if the next block is unrecovered and the resources of Brs can be secured by suspending some R streams, suspend some R streams. , The S stream is changed to the RS stream.

(ステップS204の処理(4))
RSストリームでのデータ供給中において、そのRSストリームでスペアディスクへ書き込むべきブロックがバッファメモリ上になく、かつ、次のブロックが修復済みである場合には、そのRSストリームをSストリームに変更して、不要になったストリーム資源(Brs−Bs)を解放する。そして、解放されたストリーム資源を含めて、未使用の資源を新Rストリームに割り当てる。
(Process (4) of Step S204)
During the data supply in the RS stream, if the block to be written to the spare disk in the RS stream is not in the buffer memory and the next block has been restored, the RS stream is changed to the S stream. , Release unnecessary stream resources (Brs-Bs). Then, the unused resources including the released stream resources are allocated to the new R stream.

以上のように本実施形態によれば、通常のストリームで使用されていない余ったストリーム資源をディスクの修復のために最大限に利用しつつ、かつ新しいストリームの接続要求に対応して通常のストリームと修復ストリームの割合を変化させることが可能になる。   As described above, according to the present embodiment, the normal stream is used in response to a new stream connection request while maximizing the use of surplus stream resources not used in the normal stream for disk repair. And the ratio of the repair stream can be changed.

従って、修復ストリームによるデータの修復中であっても、既接続のストリームによるクライアントへのデータ供給に影響を及ぼさず、かつ新しいストリームの接続に制限を設けずに、故障ディスク装置を含むディスクグループの転送能力を無駄なく有効に利用してディスク装置の故障により失われたデータの修復時間を短縮することが可能である。   Therefore, even during the restoration of data by the restoration stream, the data supply to the client by the already connected stream is not affected and the connection of the new stream is not restricted, and the disk group including the failed disk device is not affected. It is possible to effectively use the transfer capability without wasting and to reduce the time required to repair data lost due to a failure of the disk device.

また、本実施形態によれば、現在供給されていないデータを修復ストリームで修復し、可能な限り通常ストリームで供給しているデータをそのまま修復に利用することにより、修復完了時間をより短縮することができる。   Further, according to the present embodiment, the restoration completion time can be further shortened by restoring data that is not currently supplied with the restoration stream, and using the data supplied with the normal stream for restoration as much as possible. Can be.

なお、ストリーム資源が必要になり、Rストリームを中断すると、中断のタイミングによっては、そのRストリームにおいて読み出したデータをバッファメモリ上で修復する以前あるいは修復したデータをスペアディスクへ書き込む以前に資源を解放することになる場合がある。そこで、Rストリームを解放する必要がある場合には、バッファメモリへのデータの読み出しは完了したが未だ修復/書き込みを行っていないブロックが少ないRストリームから順に中断して資源を解放すると良い。   When stream resources are required and the R stream is interrupted, the resources are released before restoring the data read from the R stream in the buffer memory or writing the restored data to the spare disk depending on the interruption timing. You may want to. Therefore, when it is necessary to release the R stream, it is preferable to release resources by interrupting in order from the R stream in which the reading of data to the buffer memory is completed but the number of blocks that have not been repaired / written has been reduced.

ところで、未修復のブロックと修復済みのブロックが複雑に入り混じったストリームデータが生じる可能性がある。このようなストリームデータをRSストリームで修復する場合には、RSストリームとSストリームの切替が頻繁に生じる。すると、切替えの度に中断されるRストリームが生じて、修復途中のブロックが無駄になるばかりか、RS/Sストリームの切替のオーバーヘッドが大きくなる可能性がある。   By the way, there is a possibility that unrecovered blocks and recovered blocks are mixed in stream data. When such stream data is restored with an RS stream, switching between the RS stream and the S stream frequently occurs. Then, an R stream is interrupted each time switching is performed, so that the block being restored is not only wasted, but also the overhead of switching the RS / S stream may increase.

このような問題が生じるときには、上記のステップS204の処理(4)におけるRSストリームをSストリームに変更する条件を、例えば次のように変更すると良い。   When such a problem occurs, the condition for changing the RS stream to the S stream in the process (4) in step S204 may be changed as follows, for example.

(ステップS204の処理(4))
RSストリームでのデータ供給中において、そのRSストリームで、L個連続して既に修復済みのブロックをクライアントに供給した場合には、そのRSストリームをSストリームに変更する。
(Process (4) of Step S204)
During the data supply by the RS stream, if L consecutively restored blocks are supplied to the client in the RS stream, the RS stream is changed to the S stream.

不要になったストリーム資源(Brs−Bs)は解放し、解放されたストリーム資源を含めて、未使用の資源を新Rストリームに割り当てる。   Unnecessary stream resources (Brs-Bs) are released, and unused resources including the released stream resources are allocated to the new R stream.

これにより、RSストリームとSストリームの間の切替の回数を抑えることができる。   Thereby, the number of times of switching between the RS stream and the S stream can be suppressed.

なお、図6は、修復すべきブロックの選択優先度を用いない場合の手順であるが、第2の実施形態と同様に修復すべきブロックの選択優先度を用いても良い。本実施形態では、通常ストリームとしてスペアディスクへの書き込みを行わないSストリームとスペアディスクへの書き込みを行うRSストリームが存在するが、ここでは、各々の通常ストリームで供給されているストリームデータの選択優先度を画一的に下げる。この場合の手順の一例を図7に示す。   FIG. 6 shows a procedure in the case where the selection priority of the block to be repaired is not used, but the selection priority of the block to be repaired may be used similarly to the second embodiment. In the present embodiment, there are an S stream that does not perform writing to the spare disk and an RS stream that performs writing to the spare disk as normal streams. Reduce the degree of uniformity. An example of the procedure in this case is shown in FIG.

また、本実施形態において、第2の実施形態のように、Sストリームは用いず、RSストリームを固定的に用いるようにしても良い。この場合、図6や図7で説明した手順から、Sストリームに関する部分を削除すれば良い。   Further, in the present embodiment, unlike the second embodiment, the S stream may not be used, and the RS stream may be fixedly used. In this case, the portion related to the S stream may be deleted from the procedure described with reference to FIGS.

また、前述したようにクライアントへの転送時間が開始されるまでにデータを修復し、転送時間が終了するまでにスペアディスクへの書き込みを行う第2の実施形態において、RSストリームに必要な資源が、Sストリームに必要な資源を上回るような場合には、第3の実施形態のように、SストリームとRSストリームを動的に変更するようにしても良い。   Further, as described above, in the second embodiment in which data is restored before the transfer time to the client starts and writing to the spare disk is performed before the transfer time ends, the resources required for the RS stream are When the number of resources required for the S stream exceeds that required for the S stream, the S stream and the RS stream may be dynamically changed as in the third embodiment.

本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。   The present invention is not limited to the above-described embodiment, and can be implemented with various modifications within the technical scope thereof.

本発明の第1、第2および第3の実施形態に係る実時間ストリームサーバのディスク修復装置を示す図The figure which shows the disk repair apparatus of the real time stream server which concerns on the 1st, 2nd, and 3rd embodiment of this invention 本発明の第1の実施形態の動作を示すフローチャート4 is a flowchart showing the operation of the first embodiment of the present invention. 本発明の第2の実施形態の動作を示すフローチャート4 is a flowchart showing the operation of the second embodiment of the present invention. スケジューリングされた通常ストリームのバッファメモリ利用状況と動作のタイミングを説明するための図Diagram for explaining the buffer memory usage status and operation timing of a scheduled normal stream 本発明の第3の実施形態において、スケジューリングされた通常ストリームのバッファメモリ利用状況と動作のタイミングを説明するための図FIG. 14 is a diagram for explaining the buffer memory usage status and operation timing of a scheduled normal stream in the third embodiment of the present invention. 本発明の第3の実施形態の動作を示すフローチャート4 is a flowchart showing the operation of the third embodiment of the present invention. 本発明の第3の実施形態の他の動作を示すフローチャート11 is a flowchart showing another operation of the third embodiment of the present invention.

符号の説明Explanation of reference numerals

2…制御装置、21…接続要求処理部、22…スケジューリング部、23…修復ストリーム割り付け部、24…修復ストリーム解放部、25…ブロック修復リスト管理部、3…データ蓄積部、32…ディスク装置、4…バッファメモリ、5…データ転送部、6…故障検出部   2 ... control device, 21 ... connection request processing unit, 22 ... scheduling unit, 23 ... restoration stream allocating unit, 24 ... restoration stream release unit, 25 ... block restoration list management unit, 3 ... data storage unit, 32 ... disk unit, 4 buffer memory, 5 data transfer unit, 6 failure detection unit

Claims (7)

クライアントから要求されたデータを、所定個数のデータセグメントとパリティセグメントからなるブロックに分散して格納するための複数のディスク装置を持つデータ蓄積部と、
修復すべきデータセグメントの属するブロックの情報を管理する手段と、
前記ディスク装置から読み出されたデータおよび前記ディスク装置へ書き込むデータを一時的に記憶するバッファメモリと、
前記ディスク装置へアクセスするためのタイムスロットと前記バッファメモリ上の割り当て領域とを含むストリーム資源を、前記クライアントへのデータ転送に用いる通常のストリームに優先的に割り当てるとともに、残りのストリーム資源の全部又は一部を、データを修復して代替ディスク装置へ書き戻す修復ストリームに割り当てる割り当て手段と、
前記通常のストリームを用いて、前記データ蓄積部からデータをブロック単位に読み出して前記割り当て領域に一時的に保持し、ネットワークを介して前記クライアントに転送する転送手段と、
前記修復ストリームを用いて、前記情報により特定されるブロックに属するデータセグメントのうち、故障が検出されたディスク装置に格納されていたデータセグメントを代替ディスク装置上に修復する修復手段と、
前記通常のストリームと前記修復ストリームとによる前記ストリーム資源の利用を一元的に管理し、前記転送手段が1ブロックのデータの読み出しおよびクライアントへのデータ転送を行うのと同様のタイミングで前記修復手段が1ブロックのデータの読み出しおよび前記割り当て領域上でのセグメント修復を行い、前記修復手段はその後修復されたセグメントを代替ディスク装置に書き込むように、前記転送手段と前記修復手段との動作タイミングをスケジューリングする制御手段と、
を備える実時間ストリームサーバ。
A data storage unit having a plurality of disk devices for storing data requested by the client in a distributed manner into blocks each including a predetermined number of data segments and a parity segment;
Means for managing information on the block to which the data segment to be repaired belongs;
A buffer memory for temporarily storing data read from the disk device and data to be written to the disk device,
A stream resource including a time slot for accessing the disk device and an assigned area on the buffer memory is preferentially assigned to a normal stream used for data transfer to the client, and all or all of the remaining stream resources are assigned. Means for allocating a portion to a repair stream for repairing data and writing it back to an alternate disk device;
Using the normal stream, a transfer unit that reads data from the data storage unit in block units, temporarily holds the data in the allocation area, and transfers the data to the client via a network.
Using the repair stream, of the data segments belonging to the block specified by the information, repair means for restoring the data segment stored in the disk device in which the failure was detected on an alternative disk device;
The use of the stream resources by the normal stream and the repair stream is centrally managed, and the repair means reads out one block of data and transfers the data to the client at the same timing as the transfer means performs. One block of data is read and a segment is repaired on the allocated area, and the repairing unit schedules the operation timing of the transfer unit and the repairing unit so that the repaired segment is then written to an alternative disk device. Control means;
A real-time stream server comprising:
新たな通常のストリームの接続要求時に全部または一部の修復ストリームによる修復を中断する手段を備え、
前記割り当て手段は、解放されたストリーム資源を新たな通常のストリームに割り当てる、
請求項1に記載の実時間ストリームサーバ。
Means for interrupting the repair by all or some repair streams when a connection request for a new normal stream is provided,
The allocating means allocates the released stream resources to a new normal stream,
The real-time stream server according to claim 1.
前記割り当て手段は、前記転送手段によるクライアントへのデータ転送が終了した場合、その転送に用いられた通常のストリームのストリーム資源を修復ストリームに割り当てる、
請求項1に記載の実時間ストリームサーバ。
The allocating means, when the data transfer to the client by the transfer means is completed, allocates a stream resource of a normal stream used for the transfer to a repair stream;
The real-time stream server according to claim 1.
前記転送手段は、前記情報により特定されるブロックに属するデータセグメントを前記ディスク装置から読み出す場合は、そのデータセグメントを前記割り当て領域内に修復し、修復されたデータセグメントを含むブロックをネットワークを介して前記クライアントに転送する、
請求項1に記載の実時間ストリームサーバ。
When reading the data segment belonging to the block specified by the information from the disk device, the transfer unit restores the data segment in the allocation area, and transfers the block including the restored data segment via a network. Forward to the client,
The real-time stream server according to claim 1.
前記転送手段は、修復されたデータセグメントを前記代替ディスク装置に書き込む、
請求項4に記載の実時間ストリームサーバ。
The transfer means writes the repaired data segment to the alternative disk device;
The real-time stream server according to claim 4.
前記転送手段は、各ブロックの転送に先だって、次に転送すべきブロックがまだ修復されておらず、かつ、ストリーム資源が確保可能であるか否かを調べ、両条件が成立する場合は、修復されたデータセグメントを前記代替ディスク装置に書き込む、
請求項4に記載の実時間ストリームサーバ。
Prior to the transfer of each block, the transfer means checks whether the block to be transferred next has not been repaired yet and whether stream resources can be secured. Writing the written data segment to the alternative disk device,
The real-time stream server according to claim 4.
前記修復手段は、前記情報から参照した選択優先度に基づいて次に修復すべきブロックを選択する手段を備え、
前記転送手段は、前記クライアントに供給中のデータに対応するすべてのブロックの前記選択優先度を、前記クライアントに供給中のデータに対応しないブロックの前記選択優先度より低くなるように調整する手段を備える、
請求項4に記載の実時間ストリームサーバ。
The repair means includes means for selecting a block to be repaired next based on the selection priority referenced from the information,
The transfer means adjusts the selection priority of all blocks corresponding to data being supplied to the client so as to be lower than the selection priority of blocks not corresponding to data being supplied to the client. Prepare,
The real-time stream server according to claim 4.
JP2004242739A 1995-09-12 2004-08-23 Real-time stream server Expired - Fee Related JP3967739B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004242739A JP3967739B2 (en) 1995-09-12 2004-08-23 Real-time stream server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP23440395 1995-09-12
JP2004242739A JP3967739B2 (en) 1995-09-12 2004-08-23 Real-time stream server

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP20864896A Division JP3617879B2 (en) 1995-09-12 1996-08-07 Disk repair method and disk repair device for real-time stream server

Publications (2)

Publication Number Publication Date
JP2004342135A true JP2004342135A (en) 2004-12-02
JP3967739B2 JP3967739B2 (en) 2007-08-29

Family

ID=33542813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004242739A Expired - Fee Related JP3967739B2 (en) 1995-09-12 2004-08-23 Real-time stream server

Country Status (1)

Country Link
JP (1) JP3967739B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141185A (en) * 2005-11-22 2007-06-07 Hitachi Ltd Method for managing error information for storage controller and storage controller device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141185A (en) * 2005-11-22 2007-06-07 Hitachi Ltd Method for managing error information for storage controller and storage controller device

Also Published As

Publication number Publication date
JP3967739B2 (en) 2007-08-29

Similar Documents

Publication Publication Date Title
JP3617879B2 (en) Disk repair method and disk repair device for real-time stream server
CN100392611C (en) Storage control apparatus and method
JP4314651B2 (en) Disk array device and data recording / reproducing method
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
EP0727745A1 (en) Memory control apparatus and its control method
US7644136B2 (en) Virtual file system
US6996742B2 (en) Method for regenerating and streaming content from a video server using RAID 5 data striping
JP4774085B2 (en) Storage system
JP3563541B2 (en) Data storage device and data storage method
WO2017022002A1 (en) Storage device, storage system, and control method for storage system
EP0768599B1 (en) On-line disk array reconfiguration
US20130282774A1 (en) Systems and methods of data storage management, such as dynamic data stream allocation
WO2011070611A1 (en) Storage system and storage control apparatus provided with cache memory group including volatile memory and nonvolatile memory
JPH09128163A (en) Archive device and data file server
US20110197041A1 (en) Storage apparatus, storage apparatus control program, and storage apparatus control method
JP5549243B2 (en) Storage device, storage device control method, and storage device control program
JP2017091025A (en) Storage system and monitoring device
JP3967739B2 (en) Real-time stream server
JP3564732B2 (en) Disk control method and apparatus
CN112230859B (en) Read-write migration method and device without interrupting service
JP3614328B2 (en) Mirror disk controller
US20020007424A1 (en) Transferring data from disk storage directly to a peripheral device
JP2012022645A (en) Data storage system and asynchronous replication method
JP5263237B2 (en) Storage system
JPH10254643A (en) Storage device system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070531

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

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees