JP2007200433A - Data-accumulating device and its control method - Google Patents

Data-accumulating device and its control method Download PDF

Info

Publication number
JP2007200433A
JP2007200433A JP2006016617A JP2006016617A JP2007200433A JP 2007200433 A JP2007200433 A JP 2007200433A JP 2006016617 A JP2006016617 A JP 2006016617A JP 2006016617 A JP2006016617 A JP 2006016617A JP 2007200433 A JP2007200433 A JP 2007200433A
Authority
JP
Japan
Prior art keywords
command
data
hard disk
hdd
disk drives
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006016617A
Other languages
Japanese (ja)
Inventor
Shigeki Wakaya
茂樹 若谷
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006016617A priority Critical patent/JP2007200433A/en
Publication of JP2007200433A publication Critical patent/JP2007200433A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To make it possible to quickly execute processing, when a plurality of commands are issued in the same period, in case that data are accumulated by using a plurality of HDDs as in an AV server. <P>SOLUTION: When at least a first and second commands are successively received as the commands instructing data-writing to and/or data-reading from a plurality of hard disk drives when executing control for writing to or reading from a data-accumulation device which accumulates data by using a plurality of hard disk drives, instructions corresponding to the first command and instructions corresponding to the second command are made to be executed by the plurality of the hard disk drives. When the instructions corresponding to the first command is completed in each of the hard disk drives, the instructions corresponding to the second command is made to be executed with individual timing set for respective hard disk drives. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、HDD(ハードディスクドライブ)を用いてストリームデータを蓄積する装置及びその装置に適用される制御方法に関する。   The present invention relates to an apparatus for storing stream data using an HDD (Hard Disk Drive) and a control method applied to the apparatus.

近年、放送局やポストプロダクションでは、ストリームデータであるビデオデータやオーディオデータなどのAV(オーディオ・ビデオ)データを蓄積するストレージとして、複数台のHDDを搭載して大容量を実現したHDDアレイユニットが使用されている。   In recent years, in broadcasting stations and post-production, an HDD array unit that has a large capacity by installing a plurality of HDDs as a storage for storing AV (audio / video) data such as video data and audio data that are stream data. in use.

例えば、放送局で編集システムや送出システムとして用いられるAVサーバーでも、こうしたHDDアレイユニットが使用されている。AVサーバーは、AVデータ入出力用の複数の入出力ポートを有し、これらの入出力ポートとHDDアレイユニットとの間で高速にAVデータを転送する。   For example, such an HDD array unit is also used in an AV server used as an editing system or a transmission system in a broadcasting station. The AV server has a plurality of input / output ports for AV data input / output, and transfers AV data between these input / output ports and the HDD array unit at high speed.

このAVサーバーは、24時間365日連続稼動することを前提とし、且つ、番組のオンエア時に映像や音声が途切れたり遅れたりすることは許されないことから、高い動作信頼性及びリアルタイム性が要求される。   This AV server is premised on continuous operation for 24 hours and 365 days, and video and audio are not allowed to be interrupted or delayed when the program is on the air. Therefore, high operational reliability and real-time performance are required. .

ところが、HDDは、動作信頼性やリアルタイム性(レスポンス性能)はあまり高くないデバイスである。そこで、AVサーバーでは、HDDアレイユニットを、冗長性を持たせたRAID(Redundant Arrays of Inexpensive Disks)構成とした上で、さらに様々な障害に対する対応機能がサポートされている。そうした対応機能としては、例えば、パリティによるデータの補正、リビルド(Rebuild)によるデータの再構築、データのリアサイン処理(或るHDDに応答遅延が発生しても他のHDDでそのHDDのデータを補正して出力すること)、スペアHDDの搭載によるMTTR(Mean Time To Repair)の短縮等が挙げられる。   However, the HDD is a device whose operation reliability and real-time performance (response performance) are not so high. Therefore, in the AV server, the HDD array unit has a RAID (Redundant Arrays of Inexpensive Disks) configuration with redundancy, and further supports various functions for dealing with failures. Such functions include, for example, correction of data by parity, reconstruction of data by rebuild, data reassignment processing (correction of data in another HDD even if a response delay occurs in one HDD) And a reduction in MTTR (Mean Time To Repair) by installing a spare HDD.

特許文献1には、RAID構成とされたAVデータを格納するデータ記録再生装置の一例についての記載がある。
特開2005−182658号公報
Patent Document 1 describes an example of a data recording / reproducing apparatus that stores AV data having a RAID configuration.
JP 2005-182658 A

ところで、ストリームデータであるAVデータをAVサーバーから読み出して再生させる際には、AVデータを途切れなく再生できるようにするために、AVデータの実時間内に読出し処理が間に合うようにする必要があり、外部からコマンドを受信した場合に、そのコマンドに対する処理時間が短い程、好ましい。しかしながら、HDDが用意されたストレージ部には、同時期に複数のコマンドが連続して来る場合があり、そのような場合には、コマンドの処理に時間がかかる問題があった。   By the way, when AV data that is stream data is read from an AV server and played back, the AV data must be read out in real time so that the AV data can be played back without interruption. When a command is received from the outside, the processing time for the command is preferably as short as possible. However, there are cases where a plurality of commands are continuously received in the storage unit provided with the HDD at the same time, and in such a case, there is a problem that it takes time to process the commands.

図7は、複数のコマンドが同時に発行された場合の、RAID構成のHDDアレイユニットでの従来の処理の一例を示した図である。この例では、14台のHDDで構成されたHDDアレイユニットの例としてあり、第1コマンドと第2コマンドとが同時に発行されたとする。第1コマンドについては、例えばあるデータの書込みを指示するコマンドであり、第2コマンドについては、例えばあるデータの読み出しを指示するコマンドであるとする。このとき、HDDアレイユニットを制御する制御部では、最初に第1コマンドを各HDDに対して送り、それぞれのコマンドに対する処理(書込み処理)Ca1〜Ca14を実行させる。各HDDは、データ書込みのためのシーク時間などの処理時間が、それぞれのドライブの状態により異なるため、異なった時間となり、最も処理時間がかかった処理(図7の例では処理Ca2)が完了した段階で、次のコマンドである第2コマンドを各HDDに対して送る。この第2コマンドが各HDDに対して送られることで、それぞれのコマンドに対する処理(読み出し処理)Cb1〜Cb14を実行させる。   FIG. 7 is a diagram showing an example of conventional processing in the HDD array unit having a RAID configuration when a plurality of commands are issued simultaneously. In this example, it is an example of an HDD array unit composed of 14 HDDs, and it is assumed that the first command and the second command are issued simultaneously. The first command is, for example, a command for instructing writing of certain data, and the second command is, for example, a command for instructing reading of certain data. At this time, the control unit that controls the HDD array unit first sends a first command to each HDD, and executes processing (write processing) Ca1 to Ca14 for each command. Each HDD has a different processing time, such as a seek time for data writing, depending on the state of each drive, so that the processing time (processing Ca2 in the example of FIG. 7) that takes the most processing time is completed. At this stage, the second command, which is the next command, is sent to each HDD. By sending the second command to each HDD, processing (reading processing) Cb1 to Cb14 for each command is executed.

この第2のコマンドの発行時にも、データ読み出しのためのシーク時間などの処理時間が、それぞれのドライブの状態により異なるため、異なった時間となり、最も処理時間がかかった処理(図7の例では処理Cb1)が完了した段階で、第2コマンド処理終了となる。   Even when the second command is issued, the processing time such as the seek time for data reading differs depending on the state of each drive, so the time is different and the processing that takes the longest processing time (in the example of FIG. 7) When the process Cb1) is completed, the second command process ends.

このように複数のコマンドが同時期に重なると、各コマンドが順に処理されることになり、コマンドの処理が完了するのに時間がかかる問題があった。特に、AVデータを記録するAVサーバーの場合には、データ再生時に、AVデータの実時間内に読出し処理が完了できるように非常に高い時間制御を行う必要があり、コマンドに対する処理の遅れは極力防ぐ必要がある。   When a plurality of commands are overlapped at the same time as described above, each command is processed in order, and there is a problem that it takes time to complete the command processing. In particular, in the case of an AV server that records AV data, it is necessary to perform very high time control so that the reading process can be completed within the real time of the AV data at the time of data reproduction. It is necessary to prevent.

本発明は、上述の点に鑑み、例えばAVサーバーのように複数台のHDDを用いてデータを蓄積する場合において、複数のコマンドが同時期に発行された場合の処理が迅速にできるようにすることを目的とする。   In the present invention, in view of the above points, for example, when data is stored using a plurality of HDDs such as an AV server, processing when a plurality of commands are issued at the same time can be performed quickly. For the purpose.

本発明は、複数台のハードディスクドライブを用いてデータを蓄積するデータ蓄積装置への書込み又は読み出しの制御を行う場合に、データの複数台のハードディスクドライブへの書込み及び/又は読出しを指示するコマンドとして、少なくとも第1のコマンドと第2のコマンドを連続して受信した場合に、複数台のハードディスクドライブを構成するそれぞれのハードディスクドライブで、第1のコマンドに対応した指示が完了すると、それぞれのハードディスクドライブ毎に設定した個別のタイミングで、第2のコマンドに対応した指示を行うようにしたものである。   The present invention provides a command for instructing writing and / or reading of data to and from a plurality of hard disk drives when performing control of writing or reading to a data storage device that accumulates data using a plurality of hard disk drives. When at least the first command and the second command are received in succession, when the instructions corresponding to the first command are completed in the respective hard disk drives constituting the plurality of hard disk drives, the respective hard disk drives The instruction corresponding to the second command is performed at an individual timing set for each.

本発明によれば、複数台のハードディスクドライブ内の1台ごとのハードディスクドライブで、第1のコマンドに対応した指示が完了してから個別のタイミングで、第2のコマンドに対応した指示を行うようにしたことで、それぞれのハードディスクドライブごとに待ち時間なく最短の時間で処理されることになり、総合的に処理時間が短縮する。   According to the present invention, an instruction corresponding to the second command is issued at an individual timing after the instruction corresponding to the first command is completed in each of the plurality of hard disk drives. As a result, each hard disk drive is processed in the shortest time without waiting time, and the processing time is reduced overall.

本発明によれば、複数のコマンドが同時期に発生しても、それぞれのハードディスクドライブごとに待ち時間なく最短の時間で処理されることになり、総合的に処理時間が短縮する。従って、例えばAVデータのようなストリームデータを記録し再生するような場合における処理の遅延を効果的に防止でき、AVサーバーとして読み出されるデータの遅延を防止した好適な制御ができる。   According to the present invention, even if a plurality of commands are generated at the same time, each hard disk drive is processed in the shortest time without waiting time, and the processing time is reduced overall. Therefore, for example, it is possible to effectively prevent a delay in processing when recording and reproducing stream data such as AV data, and it is possible to perform suitable control that prevents a delay in data read as an AV server.

以下、放送局で用いられるAVサーバーのストレージに、本発明の一実施の形態を適用した例について、図1〜図6を用いて具体的に説明する。
図1は、本実施の形態を適用したAVサーバーのストレージ部の構成を示すブロック図である。このストレージ部1には、FC(ファイバチャネル:Fibre Channel)コントローラ2と、記録再生処理系3と、キャッシュメモリ4と、HDDコントローラ5と、CPU6と、DRAM7と、不揮発性SRAM8とが設けられている。記録再生処理系3とHDDコントローラ5とは、PCI−X規格のバス9によって接続されている。
Hereinafter, an example in which an embodiment of the present invention is applied to storage of an AV server used in a broadcasting station will be specifically described with reference to FIGS.
FIG. 1 is a block diagram showing a configuration of a storage unit of an AV server to which the present embodiment is applied. The storage unit 1 includes an FC (Fibre Channel) controller 2, a recording / playback processing system 3, a cache memory 4, an HDD controller 5, a CPU 6, a DRAM 7, and a nonvolatile SRAM 8. Yes. The recording / playback processing system 3 and the HDD controller 5 are connected by a PCI-X standard bus 9.

また、このストレージ部1には、15台のHDD10(HDD10(1)〜10(15))が搭載される。これらのHDD10のうち、10台のHDD10(1)〜10(10)はAVデータ用のHDDであり、4台のHDD10(11)〜10(14)はエラー訂正用のHDDであり、残りの1台のHDD10(15)はスペア用のHDDである。   The storage unit 1 includes 15 HDDs 10 (HDDs 10 (1) to 10 (15)). Of these HDDs 10, 10 HDDs 10 (1) to 10 (10) are AV data HDDs, and 4 HDDs 10 (11) to 10 (14) are error correction HDDs. One HDD 10 (15) is a spare HDD.

これらのHDD10としては、HDDの製造メーカーが標準品(コンピュータの外部記憶装置等の用途のHDD)として製造・販売しているものが使用される。   As these HDDs 10, HDDs manufactured and sold by HDD manufacturers as standard products (HDDs for applications such as external storage devices for computers) are used.

FCコントローラ2は、外部との間で、ファイバチャンネル経由でAVデータを授受するためのインターフェースである。記録再生処理系3は、プログラム可能なLSIであるFPGAで構成されており、HDD10に記録させるAVデータや、HDD10から再生されたAVデータを処理する。   The FC controller 2 is an interface for exchanging AV data with the outside via a fiber channel. The recording / playback processing system 3 is configured by an FPGA, which is a programmable LSI, and processes AV data to be recorded on the HDD 10 and AV data played back from the HDD 10.

キャッシュメモリ4は、AVデータをバッファリングするためのDIMM(Dual Inline Memory Module)規格のSDRAMである。HDDコントローラ5は、例えばHDD10としてSATA(シリアルATA)に対応したHDDを使用する場合には、SATAコントローラである。   The cache memory 4 is a DIMM (Dual Inline Memory Module) standard SDRAM for buffering AV data. The HDD controller 5 is a SATA controller when, for example, an HDD that supports SATA (serial ATA) is used as the HDD 10.

CPU6は、ストレージ部1全体を制御する。DRAM7は、CPU6のメインメモリである。コマンドを一時的に格納するコマンドキュー(後述)についても、このDRAM7が使用される。不揮発性SRAM8は、CPU6がログデータを保存するために用いられるほか、HDD情報テーブルなどを格納するために用いられる。   The CPU 6 controls the entire storage unit 1. The DRAM 7 is a main memory of the CPU 6. This DRAM 7 is also used for a command queue (described later) for temporarily storing commands. The nonvolatile SRAM 8 is used not only for the CPU 6 to save log data but also for storing an HDD information table and the like.

ストレージ部1へのAVデータの記録(書込み)時には、FCコントローラ2で受信したAVデータが、記録再生処理系3に送られる。記録再生処理系3は、このAVデータからエラー訂正符号(リードソロモン符号)を生成する。そして、この符号を付加したAVデータを、AVデータ用の各HDD10(1)〜10(10)に記録させるための10系統のデータ(AVデータの部分)と、エラー訂正用のHDD10(11)〜10(14)に記録させるための4系統のデータ(リードソロモン符号の部分)とにストライピングする。そして、その合計14系統のデータを、キャッシュメモリ4でバッファリングしながら、HDDコントローラ5を介してHDD10(1)〜10(14)に送って、HDD10(1)〜10(14)に分散してデータを記録させるRAID構成としてある。HDDコントローラ5には、1台のHDD10ごとに、それぞれのHDDへの指示を格納するHDDコマンドキュー(後述)についても用意してある。   When AV data is recorded (written) in the storage unit 1, the AV data received by the FC controller 2 is sent to the recording / playback processing system 3. The recording / playback processing system 3 generates an error correction code (Reed-Solomon code) from this AV data. Then, the AV data to which this code is added is recorded in the respective AV data HDDs 10 (1) to 10 (10), 10 systems of data (AV data portion), and the error correction HDD 10 (11). 10 to 14 (14), the data is striped into four lines of data (the Reed-Solomon code portion). Then, a total of 14 lines of data are sent to the HDDs 10 (1) to 10 (14) via the HDD controller 5 while being buffered in the cache memory 4, and distributed to the HDDs 10 (1) to 10 (14). RAID configuration for recording data. The HDD controller 5 is also provided with an HDD command queue (described later) for storing instructions for each HDD for each HDD 10.

ストレージ部1からのAVデータの再生(読出し)時には、各HDD10(1)〜10(14)から読み出されたAVデータ及びリードソロモン符号が、HDDコントローラ5を介して記録再生処理系3に送られる。記録再生処理系3は、これらのデータ及び符号を、キャッシュメモリ4でバッファリングしながら、デストライピングする(ストライピングする前の状態に戻す)を行う。そして、リードソロモン符号を用いてAVデータのエラー訂正を行い、エラー訂正したAVデータをFCコントローラ2から外部に送信する。   When reproducing (reading) AV data from the storage unit 1, AV data and Reed-Solomon codes read from the HDDs 10 (1) to 10 (14) are sent to the recording / reproducing processing system 3 via the HDD controller 5. It is done. The recording / playback processing system 3 performs destriping (returns to the state before striping) while buffering these data and codes in the cache memory 4. Then, the AV data is error-corrected using the Reed-Solomon code, and the error-corrected AV data is transmitted from the FC controller 2 to the outside.

また、記録再生処理系3は、データの再生時にHDD10(1)〜10(14)のうちのいずれかのHDDに故障または応答遅延が発生すると、リビルドを開始する。すなわち、HDD10(1)〜10(14)のうちの故障したHDD内のデータを、残りのHDD10(1)〜10(14)から読み出したデータからリードソロモン符号を用いて復元し、その復元したデータをスペア用のHDD10(15)に記録する。   Further, the recording / reproduction processing system 3 starts rebuilding when a failure or a response delay occurs in any of the HDDs 10 (1) to 10 (14) during data reproduction. That is, the data in the failed HDD among the HDDs 10 (1) to 10 (14) is restored from the data read from the remaining HDDs 10 (1) to 10 (14) using the Reed-Solomon code, and the restoration is performed. Data is recorded in the spare HDD 10 (15).

図2は、図1のストレージ部1を用いて放送局内に設置されるAVサーバーのシステム構成を示す図である。このAVサーバーでは、複数のストレージ部1と、複数の入出力プロセッサ部11と、中継用端末12とが、FC(ファイバチャネル:Fibre Channel)スイッチ13によって接続される。また、各入出力プロセッサ部11と、中継用端末12と、管理用端末14と、メンテナンス用端末15とが、イーサネット16(イーサネット:Ethernetは登録商標)によって接続されている。   FIG. 2 is a diagram showing a system configuration of an AV server installed in a broadcasting station using the storage unit 1 of FIG. In this AV server, a plurality of storage units 1, a plurality of input / output processor units 11, and a relay terminal 12 are connected by an FC (Fibre Channel) switch 13. In addition, each input / output processor unit 11, relay terminal 12, management terminal 14, and maintenance terminal 15 are connected by Ethernet 16 (Ethernet: Ethernet is a registered trademark).

入出力プロセッサ部11は、複数(例えば6つ)の入出力ポートを有しており、SDI(Serial Digital Interface)等の同期系の伝送フォーマットや、あるいは非同期系の伝送フォーマットで、外部との間でAVデータを入出力する。   The input / output processor unit 11 has a plurality of (for example, six) input / output ports, and is connected to the outside in a synchronous transmission format such as SDI (Serial Digital Interface) or an asynchronous transmission format. To input / output AV data.

入出力プロセッサ部11は、入出力ポートに入力したAVデータを、所定の符号化方式でエンコード(圧縮)して、FCスイッチ13経由でストレージ部1に転送する。また、入出力プロセッサ部11は、ストレージ部1からFCスイッチ13経由で転送されたデータを、デコード(伸張)して入出力ポートから出力する。   The input / output processor unit 11 encodes (compresses) AV data input to the input / output port using a predetermined encoding method, and transfers the AV data to the storage unit 1 via the FC switch 13. The input / output processor unit 11 decodes (decompresses) the data transferred from the storage unit 1 via the FC switch 13 and outputs the data from the input / output port.

なお、一般的なAVサーバーの入出力プロセッサ部の構成は周知であり、本例を適用するAVサーバーの入出力プロセッサ部の構成はそうした一般的なものであってよいので、その詳細説明は省略する。   The configuration of the input / output processor unit of the general AV server is well known, and the configuration of the input / output processor unit of the AV server to which the present example is applied may be such a general configuration, and the detailed description thereof is omitted. To do.

中継用端末12は、ネットワーク17によって複数台の編集用端末18と接続されており、ストレージ部1と編集用端末18との間のAVデータの授受と、入出力プロセッサ部11や管理用端末14と編集用端末18との間の情報の授受とを中継する。   The relay terminal 12 is connected to a plurality of editing terminals 18 via a network 17, exchange of AV data between the storage unit 1 and the editing terminal 18, and the input / output processor unit 11 and the management terminal 14. And relaying of information between the editing terminal 18 and the terminal 18 for editing.

管理用端末14は、ストレージ部1内におけるAVデータの記憶アドレスやそのAVデータのファイル名・属性等の情報を保持し、イーサネット16経由での入出力プロセッサ部11や中継用端末12からの要求に応じて、これらの情報を入出力プロセッサ部11や中継用端末12に送る。   The management terminal 14 holds information such as a storage address of AV data in the storage unit 1 and a file name / attribute of the AV data, and requests from the input / output processor unit 11 and the relay terminal 12 via the Ethernet 16. In response, the information is sent to the input / output processor unit 11 and the relay terminal 12.

メンテナンス用端末15は、メンテナンス要員が操作する端末であり、各ストレージ部1や各入出力プロセッサ部11が生成・保存したログデータを表示させてAVサーバーの状態を分析したり、ストレージ部1内のHDDの故障時に表示される警告に基づいてHDDの交換等を決定する。また、メンテナンス用端末15は、後述するようなストレージ部1内のHDD情報テーブルを更新するためにも使用される。   The maintenance terminal 15 is a terminal operated by maintenance personnel. The maintenance terminal 15 displays log data generated and stored by each storage unit 1 and each input / output processor unit 11 to analyze the state of the AV server, The replacement of the HDD or the like is determined based on a warning displayed when the HDD fails. The maintenance terminal 15 is also used to update an HDD information table in the storage unit 1 as will be described later.

次に、本例のストレージ部1におけるコマンドの伝送状態から見た構成例を、図3を参照して説明する。CPU6には、外部(入出力プロセッサなど)からデータの書込みや読み出しを指示するコマンドが供給されると、CPU6内のコマンドキュー6aに格納され、その格納されたコマンドに対応した指示が、各HDD10(1)〜10(14)に対して行われる。コマンドキュー6aには、複数のコマンドを格納することができる。このコマンドの格納状態に応じて、CPU6内に用意された2つのタイマ(第1タイマ6b及び第2タイマ6c)の動作が制御される。2つのタイマを使用した処理については、フローチャートを用いた後述する動作説明で述べる。   Next, a configuration example viewed from the command transmission state in the storage unit 1 of this example will be described with reference to FIG. When a command for instructing writing or reading of data is supplied to the CPU 6 from the outside (such as an input / output processor), the command is stored in the command queue 6a in the CPU 6 and an instruction corresponding to the stored command is stored in each HDD 10. (1) to 10 (14). A plurality of commands can be stored in the command queue 6a. The operations of the two timers (first timer 6b and second timer 6c) prepared in the CPU 6 are controlled according to the storage state of the command. The processing using the two timers will be described in the description of the operation described later using a flowchart.

CPU6内のコマンドキュー6aに外部から転送されたコマンドが格納されると、HDDコントローラ5を介して各HDD10(1)〜10(14)に対して、コマンドに対応した動作指示が個別に行われる。このとき、HDDコントローラ5には、1台のHDD10(1)〜10(14)ごとに個別にコマンド(動作指示)を記憶するHDDコマンドキュー5a〜5nを備え、それぞれのHDDコマンドキュー5a〜5nが、対応した各HDD10(1)〜10(14)の状態に応じてコマンドを格納する。   When a command transferred from the outside is stored in the command queue 6 a in the CPU 6, operation instructions corresponding to the command are individually given to the HDDs 10 (1) to 10 (14) via the HDD controller 5. . At this time, the HDD controller 5 includes HDD command queues 5a to 5n for individually storing commands (operation instructions) for each of the HDDs 10 (1) to 10 (14), and the HDD command queues 5a to 5n. Stores commands according to the states of the corresponding HDDs 10 (1) to 10 (14).

次に、このようなコマンドの発行に応じた動作例を、図4及び図5のフローチャートを参照して説明する。まず、外部からCPU6に書込みコマンド又は読み出しコマンドが転送された際の動作例を、図4のフローチャートに示す。CPU6は、コマンドの入力待ち状態で(ステップS11)、コマンドが入力したか否か判断し(ステップS12)、コマンドの入力があると、現在各HDDに対して実行中のコマンドがあるか否か判断する(ステップS13)。実行中のコマンドがない場合には、第1タイマ(図3)を起動させる(ステップS14)。実行中のコマンドがある場合には、第2タイマ(図3)を起動させる(ステップS15)。その後、それぞれのHDDコマンドキュー5a〜5nに、入力したコマンドに応じた指令のコマンドを発行させ(ステップS16)、ステップS11の入力待ちに戻る。   Next, an example of the operation in response to the issue of such a command will be described with reference to the flowcharts of FIGS. First, an example of operation when a write command or a read command is transferred to the CPU 6 from the outside is shown in the flowchart of FIG. The CPU 6 waits for command input (step S11), determines whether a command has been input (step S12), and if a command is input, whether there is a command currently being executed for each HDD. Judgment is made (step S13). If there is no command being executed, the first timer (FIG. 3) is started (step S14). If there is a command being executed, the second timer (FIG. 3) is started (step S15). Thereafter, a command command corresponding to the input command is issued to each of the HDD command queues 5a to 5n (step S16), and the process returns to waiting for input in step S11.

また、ステップS12でコマンドの入力がないと判断した場合に、第1タイマのカウント時間が決められた時間を越えたか否か判断し(ステップS17)、越えた場合には、最初に入力したコマンド(以下第1コマンドと称する)の処理が終了しているか否か判断する(ステップS18)。ここで、終了している場合にはステップS11の入力待ちに戻る。終了していない場合には、第1コマンドの処理時間がタイムアウトとし、その時点で処理を中断させ、その時点で処理されたデータだけを使用して再生又は記録を行うタイムアウト処理を行い(ステップS19)、ステップS11の入力待ちに戻る。   If it is determined in step S12 that no command has been input, it is determined whether or not the count time of the first timer has exceeded a predetermined time (step S17). It is determined whether or not the process (hereinafter referred to as the first command) has been completed (step S18). Here, when the process is completed, the process returns to the input waiting in step S11. If not finished, the processing time of the first command is timed out, the processing is interrupted at that time, and time-out processing is performed to reproduce or record using only the data processed at that time (step S19). ), And returns to the input waiting in step S11.

また、ステップS17の判断で、第1タイマのカウント時間が決められた時間を越えていないと判断した場合には、第2タイマのカウント時間が決められた時間を越えたか否か判断し(ステップS20)、越えた場合には、2番目に入力したコマンド(以下第2コマンドと称する)の処理が終了しているか否か判断する(ステップS21)。ここで、終了している場合にはステップS11の入力待ちに戻る。終了していない場合には、第2コマンドの処理時間がタイムアウトとし、その時点で処理を中断させ、その時点で処理されたデータだけを使用して再生又は記録を行うタイムアウト処理を行い(ステップS22)、ステップS11の入力待ちに戻る。   If it is determined in step S17 that the count time of the first timer has not exceeded the determined time, it is determined whether the count time of the second timer has exceeded the determined time (step S20), if exceeded, it is determined whether or not the processing of the second input command (hereinafter referred to as the second command) has been completed (step S21). Here, when the process is completed, the process returns to the input waiting in step S11. If not finished, the processing time of the second command is timed out, the processing is interrupted at that time, and time-out processing is performed to reproduce or record using only the data processed at that time (step S22). ), And returns to the input waiting in step S11.

そして、ステップS20で、第2タイマのカウント時間が決められた時間を越えていないと判断した場合には、全てのHDDでHDDコマンドキューが終了したか否か判断し(ステップS23)、終了していない場合にはステップS11の入力待ちに戻る。終了した場合には、第1コマンドについての処理が、全てのHDDで終了したか否か判断し(ステップS24)、終了した場合には第1コマンドを終了処理し(ステップS25)、ステップS11の入力待ちに戻る。終了していない場合には、第2コマンドについての処理が、全てのHDDで終了したか否か判断し(ステップS26)、終了した場合には第2コマンドを終了処理し(ステップS27)、いずれの場合もステップS11の入力待ちに戻る。   If it is determined in step S20 that the count time of the second timer has not exceeded the determined time, it is determined whether or not the HDD command queue has been completed for all HDDs (step S23). If not, the process returns to waiting for input in step S11. If finished, it is determined whether or not the processing for the first command is finished for all HDDs (step S24), and if finished, the first command is finished (step S25). Return to waiting for input. If not finished, it is determined whether or not the processing for the second command is finished for all HDDs (step S26). If finished, the second command is finished (step S27). In this case, the process returns to the input waiting in step S11.

次に、HDDコントローラ5に用意されたHDD毎に個別に用意された各HDDコマンドキュー5a〜5nでの動作例を、図5のフローチャートを参照して説明する。CPU6側からのコマンドの入力待ち状態で(ステップS31)、コマンドが入力したか否か判断し(ステップS32)、コマンドの入力があると、該当するHDDで現在実行中のコマンドがあるか否か判断する(ステップS33)。この判断で、現在実行中のコマンドがない場合には、そのままコマンドをHDDに送り、コマンドに対応した読出し又は書込みの処理を実行させ(ステップS34)、ステップS31の入力待ちに戻る(ステップS36)。また、ステップS33で実行中のコマンドがある場合には、そのコマンドを自己のHDDコマンドキューに蓄積させ(ステップS35)、ステップS31の入力待ちに戻る(ステップS36)。   Next, an operation example in each of the HDD command queues 5a to 5n prepared for each HDD prepared in the HDD controller 5 will be described with reference to the flowchart of FIG. While waiting for input of a command from the CPU 6 side (step S31), it is determined whether or not a command has been input (step S32). If a command is input, whether or not there is a command currently being executed in the corresponding HDD. Judgment is made (step S33). If it is determined that there is no command currently being executed, the command is sent to the HDD as it is, the read or write process corresponding to the command is executed (step S34), and the process waits for input in step S31 (step S36). . If there is a command being executed in step S33, the command is stored in its own HDD command queue (step S35), and the process waits for input in step S31 (step S36).

そして、ステップS32で、コマンド入力がない状態であると判断した場合には、現在のHDDの動作が終了したか否か判断する(ステップS37)。ここで終了してない場合にはステップS11の入力待ちに戻る。ステップS37でHDDの動作が終了したと判断した場合には、現在、HDDコマンドキューにコマンドが蓄積されているか否か判断する(ステップS38)。ここで、HDDコマンドキューにコマンドが蓄積されている場合には、その蓄積されたコマンドを、対応したHDDに発行させて(ステップS39)、ステップS31の入力待ちに戻る。HDDコマンドキューにコマンドが蓄積されていない場合には、そのままステップS31の入力待ちに戻る。   If it is determined in step S32 that there is no command input, it is determined whether or not the current HDD operation is completed (step S37). If not finished here, the process returns to the input waiting in step S11. If it is determined in step S37 that the operation of the HDD has ended, it is determined whether or not a command is currently stored in the HDD command queue (step S38). If the command is stored in the HDD command queue, the stored command is issued to the corresponding HDD (step S39), and the process returns to the input waiting state in step S31. If no command is stored in the HDD command queue, the process directly returns to the input wait in step S31.

このようにコマンドの処理が行われることで、複数のコマンドが同時期に連続してストレージ部1に入力された場合には、例えば図6に示すように処理される。即ち、第1コマンドと第2コマンドとが同時に発行されて、ストレージ部1に入力したとする。ここでは第1コマンドについては、例えばあるデータの書込みを指示するコマンドであり、第2コマンドについては、例えばあるデータの読み出しを指示するコマンドであるとする。このとき、ストレージ部1内のCPU6では、HDDコントローラ5を介して各HDD10(1)〜10(14)に対して第1コマンドを送り、それぞれの各HDD10(1)〜10(14)で第1コマンドに対する処理(書込み処理)Ca1〜Ca14を実行させる。続いてCPU6は、HDDコントローラ5に第2コマンドについても送る。このとき、第2コマンドについては、各HDDに対応したHDDコマンドキューに保持され、それぞれのHDDごとに第1コマンドの処理が終了するタイミングまで待機する。そして、第1コマンドの処理が終了すると、それぞれ個別のタイミングで、HDDコマンドキューに保持された第2コマンドがHDDに送られて、第1コマンドに対する処理Ca1〜Ca14に続いて、第2コマンドに対する処理Cb1〜Cb14が実行される。   By performing the command processing in this way, when a plurality of commands are input to the storage unit 1 continuously at the same time, the processing is performed as shown in FIG. 6, for example. That is, it is assumed that the first command and the second command are issued simultaneously and input to the storage unit 1. Here, the first command is, for example, a command for instructing writing of certain data, and the second command is, for example, a command for instructing reading of certain data. At this time, the CPU 6 in the storage unit 1 sends a first command to each of the HDDs 10 (1) to 10 (14) via the HDD controller 5, and the respective HDDs 10 (1) to 10 (14) Processing (writing processing) Ca1 to Ca14 for one command is executed. Subsequently, the CPU 6 also sends a second command to the HDD controller 5. At this time, the second command is held in the HDD command queue corresponding to each HDD, and waits until the processing of the first command ends for each HDD. When the processing of the first command is completed, the second command held in the HDD command queue is sent to the HDD at each individual timing, and following the processing Ca1 to Ca14 for the first command, Processes Cb1 to Cb14 are executed.

従って、従来例として説明した図7と比較すると判るように、第1コマンドの処理が終了してから第2コマンドの処理が開始されるまでの待ち時間がなく、第1コマンドの処理に時間がかかるHDDと第2コマンドの処理に時間がかかるHDDとが同一でない限りは、2つのコマンドの処理が完了するまでの時間を短縮することができる。このため、特に本例のようなAVデータを記録するAVサーバーの場合には、記録や再生の処理を、その記録や再生する実時間内に完了させる必要があるが、複数の処理が同時に行われるような場合であっても、実時間内に処理が完了する可能性が高くなり、AVサーバーとしての信頼性が向上する。   Therefore, as can be seen from comparison with FIG. 7 described as the conventional example, there is no waiting time from the end of the processing of the first command to the start of the processing of the second command. As long as the HDD and the HDD that takes time to process the second command are not the same, the time until the processing of the two commands is completed can be shortened. For this reason, particularly in the case of an AV server that records AV data as in this example, it is necessary to complete the recording and playback processing within the actual time for recording and playback. Even in such a case, there is a high possibility that the processing will be completed in real time, and the reliability as an AV server is improved.

また、このように各コマンドの処理を、連続したタイミングで順に行う構成としたが、それぞれのコマンドの最大の処理時間を規定するタイムアウト時間の処理については、それぞれのコマンドごとに個別に判断するようにしたので、適正なタイムアウト処理が可能である。   In addition, the processing of each command is performed in order at successive timings as described above, but the processing of the timeout time that defines the maximum processing time of each command is determined individually for each command. As a result, proper timeout processing is possible.

なお、図6の例では、同時期に入力する2つのコマンドによる処理として、HDDへの書込み(記録)と、HDDからの読出し(再生)とを同時に行う例について説明したが、例えば2種類のデータの書込みが同時にある場合や、2種類のデータの読出しが同時にある場合にも適用可能である。   In the example of FIG. 6, the example in which writing (recording) to the HDD and reading (playback) from the HDD are performed simultaneously as processing by two commands input at the same time is described. The present invention can also be applied to the case where data is written at the same time or the case where two types of data are read simultaneously.

また、図3に示した構成では、HDDコントローラ5内に、各HDDに対応して個別に指示の保持手段であるHDDコマンドキュー5a〜5nを設けて、そのHDDコマンドキューでコマンドを一時蓄積させるようにしたが、CPU6などの他の制御部側で各HDDの動作状態を監視して、その監視状態に応じて、それぞれのHDDごとに個別に設定したタイミングでコマンド(指示)を送るようにしてもよい。   In the configuration shown in FIG. 3, the HDD controller 5 is provided with HDD command queues 5a to 5n as instruction holding means corresponding to each HDD, and commands are temporarily stored in the HDD command queue. However, the operation state of each HDD is monitored on the other control unit side such as the CPU 6 and a command (instruction) is sent at a timing set individually for each HDD according to the monitoring state. May be.

また、ここまでの説明では、2つのコマンドが同時期に発生した場合の処理について説明したが、3つ以上のコマンドが同時期に重なって発行された場合にも、同様に個別のHDDごとに順次処理タイミングを設定するようにして処理時間を短縮してもよい。この場合には、例えば各コマンドキューに蓄積できるコマンド数を対応して増やせば、対処可能である。   In the above description, the processing when two commands are generated at the same time has been described. However, when three or more commands are issued at the same time, each individual HDD is similarly processed. Processing time may be shortened by setting sequential processing timings. In this case, for example, if the number of commands that can be stored in each command queue is increased correspondingly, it can be dealt with.

また、上述した実施の形態の例では合計15台のHDDを搭載するストレージ部に適用しているが、これとは異なる台数のHDDを搭載するストレージ部や、AVデータ用,エラー訂正用,スペア用のHDDの台数がそれぞれ10台,4台,1台以外であるストレージ部にも本発明を適用してよい。   Further, in the example of the embodiment described above, the present invention is applied to a storage unit in which a total of 15 HDDs are mounted. However, a storage unit in which a different number of HDDs are mounted, AV data, error correction, spare The present invention may also be applied to storage units in which the number of HDDs for use is other than 10, 4, and 1 respectively.

また、以上の例でAVサーバー用のストレージに本発明を適用しているが、それ以外のデータを記憶し読み出すHDDを記憶手段として使用した装置にも適用可能である。   In the above example, the present invention is applied to the storage for the AV server. However, the present invention can also be applied to an apparatus using an HDD for storing and reading other data as a storage unit.

本発明の一実施の形態を適用したAVサーバーのストレージ部の構成を示すブロック図である。It is a block diagram which shows the structure of the storage part of AV server to which one embodiment of this invention is applied. 本発明の一実施の形態によるAVサーバーのシステム構成を示すシステム図である。1 is a system diagram showing a system configuration of an AV server according to an embodiment of the present invention. 本発明の一実施の形態によるコマンド伝送状態から見た構成例を示す説明図である。It is explanatory drawing which shows the structural example seen from the command transmission state by one embodiment of this invention. 本発明の一実施の形態によるコマンドキューの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the command queue by one embodiment of this invention. 本発明の一実施の形態による各HDDのコマンドキューの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the command queue of each HDD by one embodiment of this invention. 本発明の一実施の形態による複数コマンドの処理例を示すタイムチャートである。It is a time chart which shows the example of a process of the several command by one embodiment of this invention. 従来の複数コマンドの処理例を示すタイムチャートである。It is a time chart which shows the processing example of the conventional multiple command.

符号の説明Explanation of symbols

1 ストレージ部、 2 FCコントローラ、 3 記録再生処理系、 4 キャッシュメモリ、 5 HDDコントローラ、 5a〜5n HDDコマンドキュー、6 CPU、 6a コマンドキュー、 7 DRAM、 8 不揮発性SRAM、 9 バス、 10(1)〜10(15) HDD、 11 入出力プロセッサ部、 15 メンテナンス用端末   DESCRIPTION OF SYMBOLS 1 Storage part, 2 FC controller, 3 Recording / reproducing processing system, 4 Cache memory, 5 HDD controller, 5a-5n HDD command queue, 6 CPU, 6a Command queue, 7 DRAM, 8 Non-volatile SRAM, 9 Bus, 10 (1 ) -10 (15) HDD, 11 input / output processor section, 15 maintenance terminal

Claims (4)

複数台のハードディスクドライブを用いてデータを蓄積するデータ蓄積装置において、
データの前記複数台のハードディスクドライブへの書込み及び/又は読出しを指示するコマンドを受信するコマンド受信部と、
前記コマンド受信部で少なくとも第1のコマンドと第2のコマンドを連続して受信した場合に、前記複数台のハードディスクドライブを構成するそれぞれのハードディスクドライブで、前記第1のコマンドに対応した指示が完了すると、それぞれのハードディスクドライブごとに設定した個別のタイミングで、前記第2のコマンドに対応した指示を行う制御部とを備えたことを特徴とする
データ蓄積装置。
In a data storage device that stores data using a plurality of hard disk drives,
A command receiving unit for receiving a command for instructing writing and / or reading of data to the plurality of hard disk drives;
When at least the first command and the second command are continuously received by the command receiving unit, the instruction corresponding to the first command is completed in each of the hard disk drives constituting the plurality of hard disk drives Then, a data storage device comprising: a control unit that issues an instruction corresponding to the second command at an individual timing set for each hard disk drive.
請求項1に記載のデータ蓄積装置において、
前記複数台のハードディスクドライブ毎に、前記各コマンドに対応した指示を蓄積する保持部を設けて、
前記各保持部に対応したハードディスクドライブで、別の指示が実行中の場合に入力した指示を前記保持部に蓄積させ、実行中の指示が終了すると、前記保持部に蓄積された指示をハードディスクドライブに転送して実行させることを特徴とする
データ蓄積装置。
The data storage device according to claim 1,
For each of the plurality of hard disk drives, a holding unit for storing instructions corresponding to the commands is provided.
In the hard disk drive corresponding to each holding unit, an instruction input when another instruction is being executed is stored in the holding unit, and when the executing instruction is completed, the instruction stored in the holding unit is stored in the hard disk drive Data storage device characterized by being transferred to and executed by
請求項1に記載のデータ蓄積装置において、
前記それぞれのコマンドごとにタイムアウト時間を設定し、それぞれのコマンドごとの処理が規定されたタイムアウト時間内に処理できない場合に、対応したタイムアウト処理を行うことを特徴とする
データ蓄積装置。
The data storage device according to claim 1,
A data storage device, wherein a timeout time is set for each of the commands, and the corresponding timeout processing is performed when the processing for each command cannot be performed within the specified timeout time.
複数台のハードディスクドライブを用いてデータを蓄積するデータ蓄積装置への書込み又は読み出しの制御を行うデータ蓄積装置の制御方法において、
データの複数台のハードディスクドライブへの書込み及び/又は読出しを指示するコマンドとして、少なくとも第1のコマンドと第2のコマンドを連続して受信した場合に、複数台のハードディスクドライブに対して、第1のコマンドに対応した指示と第2のコマンドに対応した指示を行うようにし、
それぞれのハードディスクドライブで、前記第1のコマンドに対応した指示が完了すると、それぞれのハードディスクドライブ毎に設定した個別のタイミングで、前記第2のコマンドに対応した指示を行うことを特徴とする
データ蓄積装置の制御方法。
In a control method of a data storage device that controls writing or reading to a data storage device that stores data using a plurality of hard disk drives,
When at least a first command and a second command are successively received as commands for instructing writing and / or reading of data to and from a plurality of hard disk drives, a first command is sent to the plurality of hard disk drives. The instruction corresponding to the command of and the instruction corresponding to the second command are performed,
When the instruction corresponding to the first command is completed in each hard disk drive, the instruction corresponding to the second command is performed at an individual timing set for each hard disk drive. Control method of the device.
JP2006016617A 2006-01-25 2006-01-25 Data-accumulating device and its control method Pending JP2007200433A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006016617A JP2007200433A (en) 2006-01-25 2006-01-25 Data-accumulating device and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006016617A JP2007200433A (en) 2006-01-25 2006-01-25 Data-accumulating device and its control method

Publications (1)

Publication Number Publication Date
JP2007200433A true JP2007200433A (en) 2007-08-09

Family

ID=38454884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006016617A Pending JP2007200433A (en) 2006-01-25 2006-01-25 Data-accumulating device and its control method

Country Status (1)

Country Link
JP (1) JP2007200433A (en)

Similar Documents

Publication Publication Date Title
JP4314651B2 (en) Disk array device and data recording / reproducing method
TWI450087B (en) Data storage method for a plurality of raid systems and data storage system thereof
JP2006285889A (en) Data storage device, reconstruction control device, reconstruction control method, program and storage medium
JP2006285803A (en) Data storage device, reconstruction control device, reconstruction control method, program and storage medium
US7904650B2 (en) Data storage apparatus and data reading method
JP4499193B2 (en) Recording / reproducing apparatus and recording / reproducing method
JP4851063B2 (en) Data recording / reproducing apparatus and data recording / reproducing method
JP2012018481A (en) Disk array apparatus and method for controlling disk array
JPH09330178A (en) Data recording and reproducing device
EP2130129A2 (en) System and method for increasing video server storage bandwidth
JP2007200433A (en) Data-accumulating device and its control method
JP2007199754A (en) Data storage device, and saving method of log data
JP2004185477A (en) Optical storage medium array device and data transfer method
JP2006285802A (en) Data storage device, reconstruction control device, reconstruction control method, program and storage medium
JP4269403B2 (en) Data recording / reproducing apparatus and method of using time slot
JP4988653B2 (en) Disk array recording apparatus and recording control method therefor
JP5585930B2 (en) Disk array device and data control method
JP2009104410A (en) Data recording device, internal control method thereof, and data recording system
JP2007199753A (en) Data accumulation device and setting method of its hard disk drive
JP2000172570A (en) Data input and output method and reconstruction method for information recorder
JP3874019B2 (en) Storage system
JPH09330552A (en) Data recording/reproducing apparatus
EP2300904B1 (en) System and method for sequential recording and archiving large volumes of video data
JP2007200027A (en) Data accumulation device and error correction method
JP2005182657A (en) Apparatus and method for data recording and reproduction