JPH11119923A - データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体 - Google Patents

データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体

Info

Publication number
JPH11119923A
JPH11119923A JP9287372A JP28737297A JPH11119923A JP H11119923 A JPH11119923 A JP H11119923A JP 9287372 A JP9287372 A JP 9287372A JP 28737297 A JP28737297 A JP 28737297A JP H11119923 A JPH11119923 A JP H11119923A
Authority
JP
Japan
Prior art keywords
data
read
time
stream
access control
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.)
Withdrawn
Application number
JP9287372A
Other languages
English (en)
Inventor
Yasushi Inamoto
康 稲本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP9287372A priority Critical patent/JPH11119923A/ja
Priority to US09/040,994 priority patent/US6049891A/en
Publication of JPH11119923A publication Critical patent/JPH11119923A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

(57)【要約】 【課題】 リアルタイム性を保証したデータの読み出し
を行う際に、リードエラーによって失われるデータを減
少させる。 【解決手段】 記憶装置1a〜1cには、一連のデータ
が1ブロック毎に分散して格納されている。空き状況判
断手段2は、複数の記憶装置1a〜1cからのデータの
読み出し処理が行われていない空き時間帯を調べる。デ
ータ読み出し制御手段3は、空き時間帯の後に最初に読
み出すべき先行リードデータを、空き時間帯を利用して
記憶装置から読み出す。その読み出しの間にリードエラ
ーが発生した場合には、先行リードデータに割り当てら
れているデータ出力時刻までの空き時間を利用してリー
ドリトライを行う。この際、許容時間内で実行可能なリ
ードリトライの回数を上限として、リードリトライを繰
り返し行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は磁気ディスクなどか
らのデータの入出力を行うデータアクセス制御装置及び
データアクセス制御プログラムを記録した媒体に関し、
特にリアルタイム性を保証しつつデータの入出力を行う
データアクセス制御装置及びデータアクセス制御プログ
ラムを記録した媒体に関する。
【0002】
【従来の技術】ビデオ・オン・デマンドに使用するビデ
オサーバは、大量のデータを磁気ディスク装置(以下、
単に「ディスク」と呼ぶ)から読み出しながら、リアル
タイム性を保証しつつ、ネットワークを介して接続され
た複数のクライアントへ送出しなければならない。この
ため、ディスクからデータを読み出す方法について特別
な工夫が必要となる。
【0003】例えば、6.144Mb/s(メガビット
/秒)のMPEG(Motion PictureExperts Group)−2
のビデオストリームを同時に14本出力する場合、合計
データ出力速度は約86Mb/s=約10.8MB/s
(メガバイト/秒)になる。しかし、現在最高性能のデ
ィスクを使っても、単体では長時間の平均出力速度がせ
いぜい4〜5MB/sしか出せない。しかも、複数スト
リームのデータを均等に読み出すためには、データを小
さいブロックに分割して、各ストリームのブロックを順
番にアクセスする必要があるが、そのたびにシーク動作
と回転待ち動作を行うため、平均速度はさらに低くなら
ざるを得ない。
【0004】そこで、ビデオサーバでは、ディスクを単
体ではなく複数台使用し、すべてのストリームのデータ
をブロックごとに分割して複数のディスクに所定の順番
で格納する、いわゆるストライピングを行う。ストライ
ピングを行った場合、複数のディスクは1本のデータバ
スで接続される。そして、各ディスクから読み出された
データは、ディスクインタフェースを介してバッファメ
モリに一旦蓄えられ、各ストリームごとに速度を一定に
保つように制御されつつ、ネットワークインタフェース
を介してネットワークへ出力され、クライアントへ配信
される。
【0005】図12は、データの読み出し状況を示す図
である。これは、5台のディスクがデータにアクセスし
てそれをデータバスに出力する様子を表している。この
図において、薄く塗りつぶした部分は、ディスクのシー
ク動作、回転待ち動作、及び記憶媒体からディスク装置
内のキャッシュメモリへのデータ読み出し動作(以後特
に断りのない限り、これらの3つの動作を合わせて「デ
ータの読み出し」と呼ぶ)の合計時間aを表している。
網掛けの部分は読み出されたデータがディスク装置内の
キヤッシュメモリからデータバスへ出力される時間bを
表す。
【0006】各ディスクはデータバスを共用しているた
め、同時に複数のディスクがデータを出力することはで
きない。そこで、データバスへの出力のタイミングを各
ディスクでずらすことにより、データバスの利用効率を
向上させている。すなわち、あるディスクがデータバス
ヘ出力している間、他のディスクはシーク動作や回転待
ち動作やディスク読み出し動作を行う。この方法によ
り、長時間平均出力速度に関して、単体ディスクの場合
よりも高い性能を出すことが可能になる。
【0007】一例として、長時間平均出力速度の上限(S
ustained Data Transfer Rate)が4MB/s、最大シー
ク時間が17ms、最大回転待ち時間が8.3msのデ
ィスクを使う場合を取り上げる。6.144Mb/sの
MPEG−2データをディスクにストライピングして格
納する際のブロックサイズを0.5秒分すなわち6.1
44Mb×0.5=3.073Mb=384KBとす
る。データバスをWide Fast SCSI(SC
SI(Small Computer System
Interface)を高速化し、更にバス幅を16ビ
ットに拡張した拡張規格)とすれば、その転送遠度は2
0MB/sであるから、図12のaおよびbの時間は次
のようになる。
【0008】
【数1】 a=17ms+8.3ms+(384/4)ms+(オ
ーバヘッド)=約140ms・・・・・(1)
【0009】
【数2】 b=(384/20)ms+(オーバヘッド)=約35ms ・・・・・(2) 上記のオーバヘッドとは、ディスクインタフェースから
ディスクヘのコマンドやディスクからディスクインタフ
ェースへの応答がデータバス上を流れる時間を指す。こ
の例ではディスク1台あたり
【0010】
【数3】 384KB/(140ms+35ms)=約2.2MB/s ・・・・・(3) の長時間平均出力速度が得られるため、ディスク5台の
合計では
【0011】
【数4】 2.2MB/s×5=11.0MB/s11.0×8/
6.144=14.3・・・・・(4) となって、6.144Mb/sのストリーム14本を同
時に出力できることになる。
【0012】
【発明が解決しようとする課題】しかし、ディスクでは
一般的にリードエラーが避けられないため、以下のよう
な問題点がある。
【0013】通常のシステムではディスクにリードエラ
ーが発生した場合、正しく読めるまで上限回数を定めて
リードリトライを行う。正しく読めた時点で正常終了と
し、上限回数までリトライしても正しく読めない場合は
エラーとして処理を終了する。リードリトライを1回行
うには、通常、記憶媒体が1回転する時間が余計にかか
る(先の例にあげたディスクでは最大回転待ち時間と同
じ8.3ms)。
【0014】従来のビデオサーバでは、最大性能発揮時
(最多ストリーム送出時)のリアルタイム性を保証する
ために、タイムスロットの考え方に基づいて設計されて
いる。すなわち、図12のa+bの時間を1タイムスロ
ットとし、この時間内に1ブロックの読み出しとデータ
バスへの出力を終えるように設計されている。
【0015】ストライピングにより、図12のタイムチ
ヤートのように各ディスクが目一杯の性能で稼働すれ
ば、全体として最大性能を発揮できる。しかし、この場
合は各ディスクに時間的な余裕がなく、仮にリードエラ
ーが発生してもリードリトライを行うことができない。
したがって、リードエラーが発生すれば、即座にエラー
終了となるが、そのときはデータが欠落する。これによ
り、例えばクライアントの画面が0.5秒間ブラックア
ウトするような事態が起こる。
【0016】これを避ける一つの方法は、あらかじめリ
ードリトライを行う時間の余裕を持たせて、タイムスロ
ットの時間を設定することである。すなわち、リードエ
ラーが発生したときリトライをM回まで行うようにする
には、図12のa+bにディスクの記億媒体がM回転す
る時間(先の例では8.3ms×M)を加算した値を1
タイムスロットとすればよい。しかしながら、この方法
ではリードリトライを全く行わない場合に比べて最大性
能(最多同時ストリーム数)が低下する。先の例では、
【0017】
【数5】 ・M=1のとき 384/(140+35+8.3×1)×5=約10.5MB/s 10.5×8/6.144=13.6→13ストリーム ・・・・・(5)
【0018】
【数6】 ・M=2のとき 384/(140+35+8.3×2)×5=約10.0MB/s 10.0×8/6.144=13.0→13ストリーム ・・・・・(6)
【0019】
【数7】 ・M=3のとき 384/(140+35+8.3×3)×5=約9.6MB/s 9.6×8/6.144=12.5→12ストリーム ・・・・・(7) というように、6.144Mb/sのストリームを14
本出すことが不可能になる。
【0020】一方、現実のビデオ・オン・デマンドのビ
デオサーバでは、最多ストリーム数を常時出力し続ける
必要はまずない。クライアントからの要求が少ないとき
は、ビデオサーバから出力するストリーム数も少なくな
る。しかし、従来のビデオサーバでは、クライアントか
らの要求の多少にかかわらず、1タイムスロットの時間
内に1ブロックの読み出しとデータバスヘの出力を終え
るように設計されている。このため、ビデオサーバのか
らの出力ストリーム数が少なく、各ディスクに時間的余
裕がある場合でも、リードエラーに対するリトライが行
われることはなかった。
【0021】なお、以上の問題はディスクからデータを
読み出す場合に限ったものではなく、リアルタイム性を
保証したデータを複数のディスクへストライピングによ
り書き込む場合も同様である。すなわち、1タイムスロ
ットの時間内にデータバスからの入力と記憶媒体への書
き込みとを終えるように設計されているため、最多スト
リーム数で書き込みを行っていない場合においても、ラ
イトエラーに対するライトリトライを行うことができな
かった。
【0022】本発明はこのような点に鑑みてなされたも
のであり、リアルタイム性を保証したデータの読み出し
を行う際に、リードエラーによって失われるデータを減
少させることができるデータアクセス制御装置を提供す
ることを目的とする。
【0023】また、本発明の他の目的は、リアルタイム
性を保証したデータの書き込みを行う際に、ライトエラ
ーによって失われるデータを減少させることができるデ
ータアクセス制御装置を提供することである。
【0024】また、本発明の他の目的は、リアルタイム
性を保証したデータの読み出しを行う際に、リードエラ
ーによって失われるデータを減少させることができるデ
ータアクセス制御プログラムを記録した媒体を提供する
ことである。
【0025】また、本発明の他の目的は、リアルタイム
性を保証したデータの書き込みを行う際に、ライトエラ
ーによって失われるデータを減少させることができるデ
ータアクセス制御プログラムを記録した媒体を提供する
ことである。
【0026】
【課題を解決するための手段】本発明では上記課題を解
決するために、1つの伝送路に接続された複数の記憶装
置に1ブロック毎に分散して格納されている一連のデー
タを、前記複数の記憶装置内部で順次読み出し処理を行
い、読み出された1ブロックのデータを、予め定められ
たデータ出力時間帯内において前記伝送路を介して転送
するデータアクセス制御装置において、前記複数の記憶
装置でのデータの読み出し処理が行われない空き時間帯
を調べる空き状況判断手段と、前記空き時間帯の後に最
初に読み出すべきデータを先行リードデータとし、前記
空き時間帯を利用して前記先行リードデータの読み出し
処理を行い、リードエラーが発生した場合には、前記先
行リードデータに割り当てられている前記データ出力時
間帯までの時間を利用してリードリトライを行うデータ
読み出し制御手段と、を有することを特徴とするデータ
アクセス制御装置が提供される。
【0027】このデータアクセス制御装置によれば、空
き状況判断手段により、複数の記憶装置でのデータの読
み出し処理が行われない空き時間帯が調べられる。そし
て、データ読み出し制御手段により、空き時間帯の後に
最初に読み出すべきデータを先行リードデータとされ、
空き時間帯を利用して先行リードデータの読み出し処理
が行われ、リードエラーが発生した場合には、先行リー
ドデータに割り当てられているデータ出力時間帯までの
時間を利用してリードリトライが行われる。
【0028】また、1つの伝送路に接続された複数の記
憶装置に1ブロック毎に分散して格納すべき一連のデー
タを、予め定められたデータ入力時間帯内において前記
伝送路を介して転送し、前記複数の記憶装置へ順次書き
込むデータアクセス制御装置において、前記複数の記憶
装置へのデータの書き込み処理が行われない空き時間帯
を調べる空き状況判断手段と、前記空き時間帯の直前に
書き込むべきデータの書き込みに際してライトエラーが
発生した場合には、前記空き時間帯を利用してライトリ
トライを行うデータ書き込み制御手段と、を有すること
を特徴とするデータアクセス制御装置が提供される。
【0029】このデータアクセス制御装置によれば、空
き状況判断手段により、複数の記憶装置へのデータの書
き込み処理が行われない空き時間帯が調べられる。そし
て、空き時間帯の直前に書き込むべきデータの書き込み
に際してライトエラーが発生した場合には、データ書き
込み制御手段により、空き時間帯を利用したライトリト
ライが行われる。
【0030】また、1つの伝送路に接続された複数の記
憶装置に1ブロック毎に分散して格納されている一連の
データを、前記複数の記憶装置内部で順次読み出し処理
を行い、読み出された1ブロックのデータを、予め定め
られたデータ出力時間帯内において前記伝送路を介して
転送するためのデータアクセス制御プログラムを記録し
た媒体において、前記複数の記憶装置でのデータの読み
出し処理が行われない空き時間帯を調べる空き状況判断
手段、前記空き時間帯の後に最初に読み出すべきデータ
を先行リードデータとし、前記空き時間帯を利用して前
記先行リードデータの読み出し処理を行い、リードエラ
ーが発生した場合には、前記先行リードデータに割り当
てられている前記データ出力時間帯までの時間を利用し
てリードリトライを行うデータ読み出し制御手段、とし
てコンピュータを機能させることを特徴とするデータア
クセス制御プログラムを記録した媒体が提供される。
【0031】この媒体に記録されたデータアクセス制御
プログラムをコンピュータで実行すれば、複数の記憶装
置でのデータの読み出し処理が行われない空き時間帯を
調べる空き状況判断手段と、空き時間帯の後に最初に読
み出すべきデータを先行リードデータとし、空き時間帯
を利用して先行リードデータの読み出し処理を行い、リ
ードエラーが発生した場合には、先行リードデータに割
り当てられているデータ出力時間帯までの時間を利用し
てリードリトライを行うデータ読み出し制御手段と、の
機能がコンピュータで実現される。
【0032】また、1つの伝送路に接続された複数の記
憶装置に1ブロック毎に分散して格納すべき一連のデー
タを、予め定められたデータ入力時間帯内において前記
伝送路を介して転送し、前記複数の記憶装置へ順次書き
込むためのデータアクセス制御プログラムを記録した媒
体において、前記複数の記憶装置へのデータの書き込み
処理が行われない空き時間帯を調べる空き状況判断手
段、前記空き時間帯の直前に書き込むべきデータの書き
込みに際してライトエラーが発生した場合には、前記空
き時間帯を利用してライトリトライを行うデータ書き込
み制御手段、としてコンピュータを機能させることを特
徴とするデータアクセス制御プログラムを記録した媒体
が提供される。
【0033】この媒体に記録されたデータアクセス制御
プログラムをコンピュータで実行すれば、複数の記憶装
置へのデータの書き込み処理が行われない空き時間帯を
調べる空き状況判断手段と、空き時間帯の直前に書き込
むべきデータの書き込みに際してライトエラーが発生し
た場合には、空き時間帯を利用してライトリトライを行
うデータ書き込み制御手段と、の各機能がコンピュータ
によって実現される。
【0034】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の原理構成図であ
る。このデータアクセス制御装置には、1つの伝送路に
接続された複数の記憶装置1a〜1cが設けられてい
る。記憶装置1a〜1cには、一連のデータが1ブロッ
ク毎に分散して格納されている。すなわち、ストライピ
ングが行われている。
【0035】空き状況判断手段2は、複数の記憶装置1
a〜1cにおいてデータの読み出し処理が行われない空
き時間帯を調べる。具体的には、1ブロックのデータを
記憶装置1a〜1cから読み出すのに必要な時間間隔で
分割した時間帯をタイムスロットとする。さらに、一連
のデータへのアクセス環境の割当をストリームとし、同
時に読み出し可能な最大数のストリームのそれぞれに予
めタイムスロットを割り当てる。そして、あるタイムス
ロットの時刻に達すると、そのタイムスロットに割り当
てられたストリームの稼動状況を見る。稼動状況の判断
には、ストリーム稼動状況テーブル2aを用いる。スト
リーム稼動状況テーブル2aには、ストリームの番号と
それぞれが稼働中か否かの情報との組が、タイムスロッ
トの出現順に並べられている。判断対象となるストリー
ムが稼働中でない場合には、稼働中と設定されているス
トリームが見つかるまでストリーム稼動状況テーブル2
aを後方に向かって検索し、見つかるまでに進んだ欄の
数を、連続した空きタイムスロットの数とする。連続し
た空きタイムスロットの数にタイムスロットの時間を乗
じたものが許容時間となる。
【0036】データ読み出し制御手段3は、空き時間帯
の後に最初に読み出すべき先行リードデータを、空き時
間帯を利用して記憶装置から読み出す。その読み出しの
間にリードエラーが発生した場合には、先行リードデー
タに割り当てられているデータ出力時刻までの空き時間
を利用してリードリトライを行う。この際、許容時間内
で実行可能なリードリトライの回数を上限として、リー
ドリトライを繰り返し行う。
【0037】このように、空き時間がある場合には次に
読み出すべきデータの読み出し処理を先行して行い、リ
ードエラーがあった場合には、データ出力までの時間を
利用してリードリトライを行うため、リードエラーが発
生しても、その一部のデータはリードリトライによって
読み出すことが可能である。
【0038】以下に、本発明をビデオサーバシステムに
適用した場合を例にとり、本発明の実施の形態を具体的
に説明する。図2は、ビデオサーバシステムの構成例を
示す図である。これは、5台のディスク(HDD)21
〜25に格納されている情報を最大14人のユーザに提
供するものである。即ち、最大ストリーム数は「14」
である。
【0039】中央演算処理装置(CPU)11は、シス
テムバス10を介して接続されたメモリ12、ディスク
インタフェース13、バッファメモリ14及びネットワ
ークインタフェース15を制御する。
【0040】メモリ12は、CPU11が実行するプロ
グラムや各種データを一時的に格納すると共に、ストリ
ーム稼動状況テーブルを格納する。ストリーム稼動状況
テーブルとは、どのストリームが稼動しているのかを示
すテーブルである。
【0041】図3は、ストリーム稼動状況テーブル40
の例を示す図である。このように、ストリーム稼動状況
テーブル40は、ストリーム番号と現在の稼動状況(1
=稼働中/0=非稼動)を、全ストリーム稼動時にデー
タバスへデータを出力する順番に並べたものである。
【0042】図2に戻り、ディスクインタフェース13
は、データバス20を介してアクセス要求を出力するこ
とにより、ディスク21〜25との間でデータの送受信
を行う。ディスクインタフェース13から各ディスクへ
のアクセス順は、ディスク21→ディスク22→ディス
ク23→ディスク24→ディスク25→ディスク21・
・・の順である。データバス20は、実際にはSCSI
バスやSCSI−2バスなどである。
【0043】バッファメモリ14は、ディスクインタフ
ェース13が各ディスク21〜25から受け取ったデー
タを一時的に格納する。ネットワークインタフェース1
5は、バッファメモリ14内のデータをネットワーク3
0を介して接続されたクライアント31,32へ配信す
る。
【0044】ディスク21〜25には、複数のビデオデ
ータがストライピングにより格納されている。ストライ
ピングの際の単位データのサイズは、1つのタイムスロ
ット内で出力できるようなサイズである。各ディスク2
1〜25にはそれぞれ、1〜5までのディスク番号が割
り当てられている。ここで、ディスク番号とは、各ディ
スクを識別するための番号である。ここでは、1からデ
ィスク台数までの自然数である。各ディスクはディスク
番号の順に動作し、最後まで行ったらディスク番号1の
ディスクへ戻る。以後、「次のディスク番号」といった
場合には、動作順に従って次に動作させるべきディスク
番号を指す。
【0045】図4は、ディスク上のデータ配置の例を示
す図である。この例では、5台のディスク21〜25に
9種類のファイルをストライピングして配置している。
図の中にある数宇(2−3など)は何番目のファイルの
何番日のブロックかを表している。ひとつのファイルに
属するブロックを1台のディスクに連続して配置せず、
複数のディスクヘ均等に分散して配置することが肝要で
ある。例えば1番目のファイルのデータは、「ディスク
1」、「ディスク5」、「ディスク4」、「ディスク
3」、「ディスク2」、「ディスク1」・・・の順で格
納される。格納される順番は、他のファイルも同じであ
る。
【0046】このような構成のビデオサーバシステムに
おいて、ビデオ画像の要求がクライアントからあると、
そのクライアントに対してストリームが割り当てられ
る。ストリームには、各ディスクにおけるタイムスロッ
トが割り当てられており、そのタイムスロットの時間帯
を利用して、クライアントから要求された一連のデータ
を読み出す。なお、図4から分るように、一連のデータ
は、「ディスク1」、「ディスク5」、「ディスク
4」、「ディスク3」、「ディスク2」、「ディスク
1」・・・の順で格納されているため、ストリームに対
して割り当てられているタイムスロットも、同じ順番で
読み出せるように配分されている。
【0047】ディスクから読み出されたデータはディス
クインタフェース13を介してバッファメモリ14に一
旦蓄えられ、各ストリームごとに速度を一定に保つよう
に制御されつつ、ネットワークインタフェース15を介
してネットワーク30へ出力される。そして、クライア
ント31,32へ配信される。
【0048】次に、データの読み出し処理の詳細を説明
する。図5は、データ読み出し手順を示すフローチャー
トである。これは、CPU11が、メモリ12内にロー
ドされた所定のプログラムに従って実行する処理であ
る。 [S1]ディスク番号を示す値「d」を1に設定し、ス
トリーム番号を示す値「s」を1に設定する。 [S2]sで示されたストリームへの要求が、新規スト
リームの送出開始又は既存ストリーム送出終了の要求で
あるか否かを判断する。これらのいずれかの要求であれ
ばステップS3に進み、これらの要求でなければステッ
プS4に進む。 [S3]ストリーム稼動状況テーブルの内容を更新す
る。具体的には、新規ストリームの送出開始の場合に
は、sで示されたストリーム番号の稼動状況の値を
「1」にする。また、既存ストリーム送出終了の場合に
は、sで示されたストリーム番号の稼動状況の値を
「0」にする。 [S4]ストリーム稼動状況テーブルを参照し、sで示
されたストリーム番号の稼動状況が「0」か否かを判断
する。稼動状況が「0」であればステップS6に進み、
稼動状況が「1」であればステップS5に進む。 [S5]「t=s」、「r=M」とし、ステップS10
に進む。 [S6]ストリーム稼動状況テーブル内を右向きに「稼
動状況=1」のストリームを捜す。例えば、「s=6」
の場合には、ストリーム稼動状況テーブルの「ストリー
ム6」から順に、11、2、・・・と稼動状況=1のス
トリームを捜して進むことである。ストリーム稼動状況
テーブルの右端に達したら、左端へ戻って再度右向きに
探索する。図3の例によれば「ストリーム2」が見つけ
られる。なお、稼動状況=1のストリームが見つからな
いときとは、稼働中のストリームが存在しないときであ
る。 [S7]「稼動状況=1」のストリームが見つかったか
どうかを判断する。見つかったのであればステップS8
に進み、見つからなかったのであればステップS11に
進む。 [S8]見つかったストリーム番号をtとし、ストリー
ム稼動状況テーブルで、sとtとの距離を計算し、その
距離をaとする。ストリーム稼動状況テーブルでのsと
tとの距離とは、テーブル内での欄(カラム)の隔たり
のことである。例えば、「ストリーム6」から「ストリ
ーム2」までの距離は2である。 [S9]r=M+N×aにより、rの値を算出する。な
お、「M」と「N」の値に意味については後述する。 [S10]リードリトライ回数をr回に設定し、ディス
クdにストリームtのリード命令を発行する。 [S11]サービス終了か否かを判断する。サービスが
終了であれば処理を終了し、そうでなければステップS
12に進む。 [S12]dを次のディスク番号にし、sを次のストリ
ーム番号にする。そして、ステップS2へ戻る。
【0049】このようにして、空きのストリームがある
場合には、空きストリームの時間帯を利用して、リード
リトライができる。リードリトライを行えば、従来では
リードエラーにより読み出すことのできなかったデータ
の一部を、読み出すことが可能となる。
【0050】ところで、上記のMの値は、1タイムスロ
ット内でシーク、回転待ち、データ読み出し、データバ
スへのデータ出力以外の時間で実行可能なリードリトラ
イ回数である。同時ストリーム数を最大にするには、M
の値を0にする必要がある。もし、タイムスロット内に
予めリードリトライの時間の余裕を持たせる場合には、
M>0となる。
【0051】また、上記のNの値は、タイムスロット内
で実行可能なリードリトライ回数である。これは、a
(シーク+回転待ち+データ読み出しに費やされる合計
時間)とb(データをデータバスを出力する時間)とを
用いて
【0052】
【数8】 N=[(a+b)/リードリトライ1回の時間]・・・
・・(8) で求めることができる。ただし、[X]は、Xを超えな
い最大の整数を表している。なお、リードリトライ1回
の時間は、最大回転待ち時間にほぼ等しい。例えば、従
来技術で説明したような性能のディスク(最大シーク時
間:17ms、最大回転待ち時間:8.3ms)でMP
EG−2の0.5秒分のデータを読み出す場合には、式
(1)、式(2)に基づいて、
【0053】
【数9】 N=[(140ms+35ms)/8.3ms]=21 ・・・・・(9) となる。
【0054】以下に、本発明を適用する前のデータ送出
のタイムチャートと、本発明を適用した場合のデータ送
出のタイムチャートとを比較して説明する。図6は、本
発明適用前のデータ読み出しのタイムチャートを示す図
である。これは、データストリーム数が最大に満たない
場合のタイムチャートである。この図においてタイムス
ロットに付けた丸付き数字は、同時出力可能な14本の
ストリームに付けた番号である。図中、薄く塗りつぶし
たタイムスロットは、シーク動作、回転待ち動作、及び
データ読み出し動作を行う時間帯を表している。網掛け
のタイムスロットはデータをデータバスへ出力する時間
帯を表している。また、白抜きのタイムスロットは、現
在データ出力を行っておらず、空いていることを表して
いる。この例では、ストリーム番号が3,5,6,11
のストリームが空いている。
【0055】図7は、本発明適用後のデータ読み出しの
タイムチャートを示す図である。図中、黒く塗りつぶさ
れたタイムスロットは、リードリトライのために確保さ
れた時間帯を示している。この図においても、稼動状態
のストリームは、図6と同じである。ここで、「タイム
スロット8」に着目する。このタイムスロットの直前の
「タイムスロット3」は空いている。そのため、「タイ
ムスロット8」のデータのディスクリードは、「タイム
スロット3」のタイミングで開始することができる。す
なわち、データバス20へデータを出力する時間帯をず
らさなければ、ディスクリードのタイミングを早めるこ
とには何の問題もないのである。従って、「タイムスロ
ット8」は、本来のタイムスロットの1サイクル分早く
ディスクリードを行い、残りのタイムスロット1個分の
時間をリードリトライに使うことができる。「タイムス
ロット10」についても同様である。「タイムスロット
2」については、タイムスロット2個分の時間をリード
リトライに使うことができる。
【0056】なお、上記の説明はすべてビデオサーバな
どのように、データをディスクから読み出して外部(ネ
ットワークを介して接続されたたクライアント)へ出力
する装置を前提としている。従って、データに対するデ
ィスクの動作は「リード」であり、エラーは「リードエ
ラー」である。リトライは「リードリトライ」であっ
た。
【0057】しかし、本発明の考え方はデータをディス
クへ書き込む場合にも適用できる。この場合、データに
対するディスクの動作は「ライト」であり、エラーは
「ライトエラー」、リトライは「ライトリトライ」であ
る。リアルタイムにデータを書き込む必要があるシステ
ムの例としては、監視カメラ画像の記録装置がある。
【0058】図8は、監視カメラシステムの構成例を示
す図である。監視カメラシステムには、複数のカメラ7
1,72が捉えた画像データが、ネットワーク70を介
して入力される。
【0059】CPU51は、システムバス50を介して
接続されたメモリ52、ネットワークインタフェース5
3、バッファメモリ54及びディスクインタフェース5
5を制御している。メモリ52は、CPU51に実行さ
せるべきプログラムを格納していると共に、ストリーム
稼動状況テーブルを格納している。ネットワークインタ
フェース53は、ネットワーク70を介して送られてい
る画像データを受取り、バッファメモリ54へ送る。バ
ッファメモリ54は、ネットワークインタフェース53
から送られた画像データを一時的に蓄える。ディスクイ
ンタフェース55は、データバス60を介して接続され
ている複数のディスク61〜65へのデータの書き込み
処理を行う。各ディスク61〜65は、複数のストリー
ムをストライピングして書き込むための空き領域が確保
されている。
【0060】このような監視カメラシステムにおいて、
複数のカメラ71,72の撮影した画像データは、ネッ
トワーク70を介して逐一ネットワークインタフェース
53に送られてくる。それらの画像データは、ネットワ
ークインタフェース53で受け取られ、バッファメモリ
54に蓄えられる。そして、ディスクインタフェース5
5によって、ディスクにストライピングして書き込まれ
る。
【0061】図9は、データ書き込み手順を示すフロー
チャートである。これは、CPU51がメモリ内にロー
ドされた所定のプログラムに従って実行する処理であ
る。 [S21]ディスク番号を示す値「d」を1に設定し、
ストリーム番号を示す値「s」を1に設定する。 [S22]sで示されたストリームへの要求が、新規ス
トリームの入力開始又は既存ストリーム入力終了の要求
であるか否かを判断する。これらいずれかの要求であれ
ばステップS23に進み、これらの要求でなければステ
ップS24に進む。 [S23]ストリーム稼動状況テーブルの内容を更新す
る。具体的には、新規ストリームの送出開始の場合に
は、sで示されたストリーム番号の稼動状況の値を
「1」にする。また、既存ストリーム送出終了の場合に
は、sで示されたストリーム番号の稼動状況の値を
「0」にする。 [S24]ストリーム稼動状況テーブルを参照し、sで
示されたストリーム番号の稼動状況が「1」か否かを判
断する。稼動状況が「1」であればステップS25に進
み、稼動状況が「1」でなければステップS31に進
む。 [S25]ストリーム稼動状況テーブルを参照し、sで
示されたストリーム番号の右隣のストリームの稼動状況
が「0」か否かを判断する。稼動状況が「0」であれば
ステップS27に進み、稼動状況が「1」でなければス
テップS26に進む。 [S26]「t=s」、「r=M」とし、ステップS3
0に進む。 [S27]ストリーム稼動状況テーブル内を右向きに
「稼動状況=1」のストリームを捜す。例えば、「s=
6」の場合には、ストリーム稼動状況テーブルの「スト
リーム6」から順に、11、2、・・・と稼動状況=1
のストリームを捜して進むことである。ストリーム稼動
状況テーブルの右端に達したら、左端へ戻って再度右向
きに探索する。 [S28]見つかったストリーム番号をtとし、ストリ
ーム稼動状況テーブルで、sとtとの距離を計算し、そ
の距離をaとする。ここでもしsとtの値が同じになっ
た場合(sのストリーム以外に稼働中のストリームがな
い場合)には、最大ストリーム数が距離の値となる。 [S29]r=M+N×(a−1)により、rの値を算
出する。ここで、「M」と「N」との値の意味は、デー
タ読み出し処理の場合とほぼ同様である。すなわち、
「M」は、データバスから入力されたデータの書き込み
処理に費やされる時間以外の時間で実行可能なライトリ
トライ回数である。また、「N」は、1タイムスロット
内で実行可能なライトリトライ回数である。 [S30]ライトリトライ回数をr回に設定し、ディス
クdにストリームtのライト命令を発行する。 [S31]サービス終了か否かを判断する。サービスが
終了であれば処理を終了し、そうでなければステップS
32に進む。 [S32]dを次のディスク番号にし、sを次のストリ
ーム番号にする。そして、ステップS22へ戻る。
【0062】このようにして、空きのストリームがある
場合には、空きストリームの時間帯を利用して、ライト
リトライができる。従って、従来はライトエラーとなり
廃棄されていたデータを、ライトリトライすることでデ
ィスクに保存することが可能となる。
【0063】以下に、本発明を適用する前のデータ書き
込みのタイムチャートと、本発明を適用した場合のデー
タ書き込みのタイムチャートとを比較してして説明す
る。図10は、本発明適用前のデータ書き込みのタイム
チャートを示す図である。これは、データストリーム数
が最大に満たない場合のタイムチャートである。この図
においてタイムスロットに付けた丸付き数字は、同時出
力可能な14本のストリームに付けた番号である。この
うち、白抜きのタイムスロットは、現在データ出力を行
っておらず、空いていることを表している。この例で
は、ストリーム番号が3,5,6,11のストリームが
空いている。なお、データ書き込みでは、1タイムスロ
ットの中でデータバスを占有するタイミングが、データ
を読み出す場合と異なる。データを読み出す場合には、
タイムスロット内の最後の時間帯がデータバスへのデー
タ出力に割り当てられていたが、データを書き込む場合
にには、タイムスロット内の最初の時間帯がデータバス
からのデータ入力に割り当てられている。
【0064】図11は、本発明適用後のデータ書き込み
のタイムチャートを示す図である。この図においても、
稼動状態のストリーム番号は、図10と同じである。こ
こで、「タイムスロット12」に着目する。このタイム
スロットの直後の「タイムスロット3」は空いている。
そのため、「タイムスロット12」のデータのディスク
ライトにおいて、ライトエラーが発生しても、タイムス
ロット1個分の時間をライトリトライに使うことができ
る。「タイムスロット14」についても同様である。
「タイムスロット1」については、タイムスロット2個
分の時間をライトリトライに使うことができる。
【0065】なお、上記の説明では、データをリードす
る場合と、データをライトする場合とを個別に説明した
が、これらが混在するようなシステムにおいても適用す
ることができる。
【0066】なお、上記の処理機能は、コンピュータに
よって実現されるものであり、その場合、データアクセ
ス制御装置が有すべき機能の処理内容は、コンピュータ
で読み取り可能な記録媒体に記録されたプログラムで記
述される。このプログラムをコンピュータで実行するこ
とにより、上記処理がコンピュータで実現される。コン
ピュータで読み取り可能な記録媒体としては、磁気記録
装置や半導体メモリ等がある。市場を流通させる場合に
は、CD−ROMやフロッピーディスケット等の可搬型
記録媒体にプログラムを格納して流通させたり、ネット
ワークを介して接続されたコンピュータの記憶装置に格
納しておき、ネットワークを通じて他のコンピュータに
転送することもできる。コンピュータで実行する際に
は、コンピュータ内のハードディスク装置等にプログラ
ムを格納しておき、メインメモリにロードして実行す
る。
【0067】
【発明の効果】以上説明したように本発明に係る第1の
データアクセス制御装置では、各記憶装置に時間的余裕
があるときにリードエラーが発生したら、時間が許す範
囲内でリードリトライを行うようにしたため、リードエ
ラーが発生した場合でも、そのデータを回復することが
できる。
【0068】また、本発明に係る第2のデータアクセス
制御装置では、各記憶装置に時間的余裕があるときにラ
イトエラーが発生したら、時間が許す範囲内でライトリ
トライを行うようにしたため、ライトエラーが発生した
場合でも、そのデータを保存することができる。
【0069】また、本発明に係る第1のデータアクセス
制御プログラムを記録した媒体では、各記憶装置に時間
的余裕があるときにリードエラーが発生したら、時間が
許す範囲内でリードリトライを行うような処理をコンピ
ュータにさせることができるため、リードエラーが発生
した場合にそのデータの一部を回復することができるよ
うなデータアクセスをコンピュータに行わせることがで
きる。
【0070】また、本発明に係る第2のデータアクセス
制御プログラムを記録した媒体では、各記憶装置に時間
的余裕があるときにライトエラーが発生したら、時間が
許す範囲内でライトリトライを行うような処理をコンピ
ュータにさせることができるため、ライトエラーが発生
した場合でも、そのデータを保存することができるよう
なデータアクセスをコンピュータに行わせることができ
る。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】ビデオサーバシステムの構成例を示す図であ
る。
【図3】ストリーム稼動状況テーブルの例を示す図であ
る。
【図4】ディスク上のデータ配置の例を示す図である。
【図5】データ読み出し手順を示すフローチャートであ
る。
【図6】本発明適用前のデータ読み出しのタイムチャー
トを示す図である。
【図7】本発明適用後のデータ読み出しのタイムチャー
トを示す図である。
【図8】監視カメラシステムの構成例を示す図である。
【図9】データ書き込み手順を示すフローチャートであ
る。
【図10】本発明適用前のデータ書き込みのタイムチャ
ートを示す図である。
【図11】本発明適用後のデータ書き込みのタイムチャ
ートを示す図である。
【図12】データの読み出し状況を示す図である。
【符号の説明】
1a,1b,1c,記憶装置 2 空き状況判断手段 2a データストリーム稼動状況テーブル 3 データ読み出し制御手段
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年6月15日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 データアクセス制御装置及びデータア
クセス制御プログラムを記録した媒体
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は磁気ディスクなどか
らのデータの入出力を行うデータアクセス制御装置及び
データアクセス制御プログラムを記録した媒体に関し、
特にリアルタイム性を保証しつつデータの入出力を行う
データアクセス制御装置及びデータアクセス制御プログ
ラムを記録した媒体に関する。
【0002】
【従来の技術】ビデオ・オン・デマンドに使用するビデ
オサーバは、大量のデータを磁気ディスク装置(以下、
単に「ディスク」と呼ぶ)から読み出しながら、リアル
タイム性を保証しつつ、ネットワークを介して接続され
た複数のクライアントへ送出しなければならない。この
ため、ディスクからデータを読み出す方法について特別
な工夫が必要となる。
【0003】例えば、6.144Mb/s(メガビット
/秒)のMPEG(Motion PictureExperts Group)−2
のビデオストリームを同時に14本出力する場合、合計
データ出力速度は約86Mb/s=約10.8MB/s
(メガバイト/秒)になる。しかし、現在最高性能のデ
ィスクを使っても、単体では長時間の平均出力速度がせ
いぜい4〜5MB/sしか出せない。しかも、複数スト
リームのデータを均等に読み出すためには、データを小
さいブロックに分割して、各ストリームのブロックを順
番にアクセスする必要があるが、そのたびにシーク動作
と回転待ち動作を行うため、平均速度はさらに低くなら
ざるを得ない。
【0004】そこで、ビデオサーバでは、ディスクを単
体ではなく複数台使用し、すべてのストリームのデータ
をブロックごとに分割して複数のディスクに所定の順番
で格納する、いわゆるストライピングを行う。ストライ
ピングを行った場合、複数のディスクは1本のデータバ
スで接続される。そして、各ディスクから読み出された
データは、ディスクインタフェースを介してバッファメ
モリに一旦蓄えられ、各ストリームごとに速度を一定に
保つように制御されつつ、ネットワークインタフェース
を介してネットワークへ出力され、クライアントへ配信
される。
【0005】図12は、データの読み出し状況を示す図
である。これは、5台のディスクがデータにアクセスし
てそれをデータバスに出力する様子を表している。この
図において、薄く塗りつぶした部分は、ディスクのシー
ク動作、回転待ち動作、及び記憶媒体からディスク装置
内のキャッシュメモリへのデータ読み出し動作(以後特
に断りのない限り、これらの3つの動作を合わせて「デ
ータの読み出し」と呼ぶ)の合計時間aを表している。
網掛けの部分は読み出されたデータがディスク装置内の
ッシュメモリからデータバスへ出力される時間bを
表す。
【0006】各ディスクはデータバスを共用しているた
め、同時に複数のディスクがデータを出力することはで
きない。そこで、データバスへの出力のタイミングを各
ディスクでずらすことにより、データバスの利用効率を
向上させている。すなわち、あるディスクがデータバス
ヘ出力している間、他のディスクはシーク動作や回転待
ち動作やディスク読み出し動作を行う。この方法によ
り、長時間平均出力速度に関して、単体ディスクの場合
よりも高い性能を出すことが可能になる。
【0007】一例として、長時間平均出力速度の上限(S
ustained Data Transfer Rate)が4MB/s、最大シー
ク時間が17ms、最大回転待ち時間が8.3msのデ
ィスクを使う場合を取り上げる。6.144Mb/sの
MPEG−2データをディスクにストライピングして格
納する際のブロックサイズを0.5秒分すなわち6.1
44Mb×0.5=3.07Mb=384KBとす
る。データバスをWide Fast SCSI(SC
SI(Small Computer System
Interface)を高速化し、更にバス幅を16ビ
ットに拡張した拡張規格)とすれば、その転送度は2
0MB/sであるから、図12のaおよびbの時間は次
のようになる。
【0008】
【数1】 a=17ms+8.3ms+(384/4)ms+(オ
ーバヘッド)=約140ms・・・・・(1)
【0009】
【数2】 b=(384/20)ms+(オーバヘッド)=約35ms ・・・・・(2) 上記のオーバヘッドとは、ディスクインタフェースから
ディスクヘのコマンドやディスクからディスクインタフ
ェースへの応答がデータバス上を流れる時間を指す。こ
の例ではディスク1台あたり
【0010】
【数3】 384KB/(140ms+35ms)=約2.2MB/s ・・・・・(3) の長時間平均出力速度が得られるため、ディスク5台の
合計では
【0011】
【数4】 2.2MB/s×5=11.0MB/s11.0×8/
6.144=14.3・・・・・(4) となって、6.144Mb/sのストリーム14本を同
時に出力できることになる。
【0012】
【発明が解決しようとする課題】しかし、ディスクでは
一般的にリードエラーが避けられないため、以下のよう
な問題点がある。
【0013】通常のシステムではディスクにリードエラ
ーが発生した場合、正しく読めるまで上限回数を定めて
リードリトライを行う。正しく読めた時点で正常終了と
し、上限回数までリトライしても正しく読めない場合は
エラーとして処理を終了する。リードリトライを1回行
うには、通常、記憶媒体が1回転する時間が余計にかか
る(先の例にあげたディスクでは最大回転待ち時間と同
じ8.3ms)。
【0014】従来のビデオサーバでは、最大性能発揮時
(最多ストリーム送出時)のリアルタイム性を保証する
ために、タイムスロットの考え方に基づいて設計されて
いる。すなわち、図12のa+bの時間を1タイムスロ
ットとし、この時間内に1ブロックの読み出しとデータ
バスへの出力を終えるように設計されている。
【0015】ストライピングにより、図12のタイムチ
ートのように各ディスクが目一杯の性能で稼働すれ
ば、全体として最大性能を発揮できる。しかし、この場
合は各ディスクに時間的な余裕がなく、仮にリードエラ
ーが発生してもリードリトライを行うことができない。
したがって、リードエラーが発生すれば、即座にエラー
終了となるが、そのときはデータが欠落する。これによ
り、例えばクライアントの画面が0.5秒間ブラックア
ウトするような事態が起こる。
【0016】これを避ける一つの方法は、あらかじめリ
ードリトライを行う時間の余裕を持たせて、タイムスロ
ットの時間を設定することである。すなわち、リードエ
ラーが発生したときリトライをM回まで行うようにする
には、図12のa+bにディスクの記億媒体がM回転す
る時間(先の例では8.3ms×M)を加算した値を1
タイムスロットとすればよい。しかしながら、この方法
ではリードリトライを全く行わない場合に比べて最大性
能(最多同時ストリーム数)が低下する。先の例では、
【0017】
【数5】 ・M=1のとき 384/(140+35+8.3×1)×5=約10.5MB/s 10.5×8/6.144=13.6→13ストリーム ・・・・・(5)
【0018】
【数6】 ・M=2のとき 384/(140+35+8.3×2)×5=約10.0MB/s 10.0×8/6.144=13.0→13ストリーム ・・・・・(6)
【0019】
【数7】 ・M=3のとき 384/(140+35+8.3×3)×5=約9.6MB/s 9.6×8/6.144=12.5→12ストリーム ・・・・・(7) というように、6.144Mb/sのストリームを14
本出すことが不可能になる。
【0020】一方、現実のビデオ・オン・デマンドのビ
デオサーバでは、最多ストリーム数を常時出力し続ける
必要はまずない。クライアントからの要求が少ないとき
は、ビデオサーバから出力するストリーム数も少なくな
る。しかし、従来のビデオサーバでは、クライアントか
らの要求の多少にかかわらず、1タイムスロットの時間
内に1ブロックの読み出しとデータバスヘの出力を終え
るように設計されている。このため、ビデオサーバのか
らの出力ストリーム数が少なく、各ディスクに時間的余
裕がある場合でも、リードエラーに対するリトライが行
われることはなかった。
【0021】なお、以上の問題はディスクからデータを
読み出す場合に限ったものではなく、リアルタイム性を
保証したデータを複数のディスクへストライピングによ
り書き込む場合も同様である。すなわち、1タイムスロ
ットの時間内にデータバスからの入力と記憶媒体への書
き込みとを終えるように設計されているため、最多スト
リーム数で書き込みを行っていない場合においても、ラ
イトエラーに対するライトリトライを行うことができな
かった。
【0022】本発明はこのような点に鑑みてなされたも
のであり、リアルタイム性を保証したデータの読み出し
を行う際に、リードエラーによって失われるデータを減
少させることができるデータアクセス制御装置を提供す
ることを目的とする。
【0023】また、本発明の他の目的は、リアルタイム
性を保証したデータの書き込みを行う際に、ライトエラ
ーによって失われるデータを減少させることができるデ
ータアクセス制御装置を提供することである。
【0024】また、本発明の他の目的は、リアルタイム
性を保証したデータの読み出しを行う際に、リードエラ
ーによって失われるデータを減少させることができるデ
ータアクセス制御プログラムを記録した媒体を提供する
ことである。
【0025】また、本発明の他の目的は、リアルタイム
性を保証したデータの書き込みを行う際に、ライトエラ
ーによって失われるデータを減少させることができるデ
ータアクセス制御プログラムを記録した媒体を提供する
ことである。
【0026】
【課題を解決するための手段】本発明では上記課題を解
決するために、1つの伝送路に接続された複数の記憶装
置に1ブロック毎に分散して格納されている一連のデー
タを、前記複数の記憶装置内部で順次読み出し処理を行
い、読み出された1ブロックのデータを、予め定められ
たデータ出力時間帯内において前記伝送路を介して転送
するデータアクセス制御装置において、前記複数の記憶
装置でのデータの読み出し処理が行われない空き時間帯
を調べる空き状況判断手段と、前記空き時間帯の後に最
初に読み出すべきデータを先行リードデータとし、前記
空き時間帯を利用して前記先行リードデータの読み出し
処理を行い、リードエラーが発生した場合には、前記先
行リードデータに割り当てられている前記データ出力時
間帯までの時間を利用してリードリトライを行うデータ
読み出し制御手段と、を有することを特徴とするデータ
アクセス制御装置が提供される。
【0027】このデータアクセス制御装置によれば、空
き状況判断手段により、複数の記憶装置でのデータの読
み出し処理が行われない空き時間帯が調べられる。そし
て、データ読み出し制御手段により、空き時間帯の後に
最初に読み出すべきデータを先行リードデータとされ、
空き時間帯を利用して先行リードデータの読み出し処理
が行われ、リードエラーが発生した場合には、先行リー
ドデータに割り当てられているデータ出力時間帯までの
時間を利用してリードリトライが行われる。
【0028】また、1つの伝送路に接続された複数の記
憶装置に1ブロック毎に分散して格納すべき一連のデー
タを、予め定められたデータ入力時間帯内において前記
伝送路を介して転送し、前記複数の記憶装置へ順次書き
込むデータアクセス制御装置において、前記複数の記憶
装置へのデータの書き込み処理が行われない空き時間帯
を調べる空き状況判断手段と、前記空き時間帯の直前に
書き込むべきデータの書き込みに際してライトエラーが
発生した場合には、前記空き時間帯を利用してライトリ
トライを行うデータ書き込み制御手段と、を有すること
を特徴とするデータアクセス制御装置が提供される。
【0029】このデータアクセス制御装置によれば、空
き状況判断手段により、複数の記憶装置へのデータの書
き込み処理が行われない空き時間帯が調べられる。そし
て、空き時間帯の直前に書き込むべきデータの書き込み
に際してライトエラーが発生した場合には、データ書き
込み制御手段により、空き時間帯を利用したライトリト
ライが行われる。
【0030】また、1つの伝送路に接続された複数の記
憶装置に1ブロック毎に分散して格納されている一連の
データを、前記複数の記憶装置内部で順次読み出し処理
を行い、読み出された1ブロックのデータを、予め定め
られたデータ出力時間帯内において前記伝送路を介して
転送するためのデータアクセス制御プログラムを記録し
た媒体において、前記複数の記憶装置でのデータの読み
出し処理が行われない空き時間帯を調べる空き状況判断
手段、前記空き時間帯の後に最初に読み出すべきデータ
を先行リードデータとし、前記空き時間帯を利用して前
記先行リードデータの読み出し処理を行い、リードエラ
ーが発生した場合には、前記先行リードデータに割り当
てられている前記データ出力時間帯までの時間を利用し
てリードリトライを行うデータ読み出し制御手段、とし
てコンピュータを機能させることを特徴とするデータア
クセス制御プログラムを記録した媒体が提供される。
【0031】この媒体に記録されたデータアクセス制御
プログラムをコンピュータで実行すれば、複数の記憶装
置でのデータの読み出し処理が行われない空き時間帯を
調べる空き状況判断手段と、空き時間帯の後に最初に読
み出すべきデータを先行リードデータとし、空き時間帯
を利用して先行リードデータの読み出し処理を行い、リ
ードエラーが発生した場合には、先行リードデータに割
り当てられているデータ出力時間帯までの時間を利用し
てリードリトライを行うデータ読み出し制御手段と、の
機能がコンピュータで実現される。
【0032】また、1つの伝送路に接続された複数の記
憶装置に1ブロック毎に分散して格納すべき一連のデー
タを、予め定められたデータ入力時間帯内において前記
伝送路を介して転送し、前記複数の記憶装置へ順次書き
込むためのデータアクセス制御プログラムを記録した媒
体において、前記複数の記憶装置へのデータの書き込み
処理が行われない空き時間帯を調べる空き状況判断手
段、前記空き時間帯の直前に書き込むべきデータの書き
込みに際してライトエラーが発生した場合には、前記空
き時間帯を利用してライトリトライを行うデータ書き込
み制御手段、としてコンピュータを機能させることを特
徴とするデータアクセス制御プログラムを記録した媒体
が提供される。
【0033】この媒体に記録されたデータアクセス制御
プログラムをコンピュータで実行すれば、複数の記憶装
置へのデータの書き込み処理が行われない空き時間帯を
調べる空き状況判断手段と、空き時間帯の直前に書き込
むべきデータの書き込みに際してライトエラーが発生し
た場合には、空き時間帯を利用してライトリトライを行
うデータ書き込み制御手段と、の各機能がコンピュータ
によって実現される。
【0034】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の原理構成図であ
る。このデータアクセス制御装置には、1つの伝送路に
接続された複数の記憶装置1a〜1cが設けられてい
る。記憶装置1a〜1cには、一連のデータが1ブロッ
ク毎に分散して格納されている。すなわち、ストライピ
ングが行われている。
【0035】空き状況判断手段2は、複数の記憶装置1
a〜1cにおいてデータの読み出し処理が行われない空
き時間帯を調べる。具体的には、1ブロックのデータを
記憶装置1a〜1cから読み出すのに必要な時間間隔で
分割した時間帯をタイムスロットとする。さらに、一連
のデータへのアクセス環境の割当をストリームとし、同
時に読み出し可能な最大数のストリームのそれぞれに予
めタイムスロットを割り当てる。そして、あるタイムス
ロットの時刻に達すると、そのタイムスロットに割り当
てられたストリームの稼動状況を見る。稼動状況の判断
には、ストリーム稼動状況テーブル2aを用いる。スト
リーム稼動状況テーブル2aには、ストリームの番号と
それぞれが稼働中か否かの情報との組が、タイムスロッ
トの出現順に並べられている。判断対象となるストリー
ムが稼働中でない場合には、稼働中と設定されているス
トリームが見つかるまでストリーム稼動状況テーブル2
aを後方に向かって検索し、見つかるまでに進んだ欄の
数を、連続した空きタイムスロットの数とする。連続し
た空きタイムスロットの数にタイムスロットの時間を乗
じたものが許容時間となる。
【0036】データ読み出し制御手段3は、空き時間帯
の後に最初に読み出すべき先行リードデータを、空き時
間帯を利用して記憶装置から読み出す。その読み出しの
間にリードエラーが発生した場合には、先行リードデー
タに割り当てられているデータ出力時刻までの空き時間
を利用してリードリトライを行う。この際、許容時間内
で実行可能なリードリトライの回数を上限として、リー
ドリトライを繰り返し行う。
【0037】このように、空き時間がある場合には次に
読み出すべきデータの読み出し処理を先行して行い、リ
ードエラーがあった場合には、データ出力までの時間を
利用してリードリトライを行うため、リードエラーが発
生しても、その一部のデータはリードリトライによって
読み出すことが可能である。
【0038】以下に、本発明をビデオサーバシステムに
適用した場合を例にとり、本発明の実施の形態を具体的
に説明する。図2は、ビデオサーバシステムの構成例を
示す図である。これは、5台のディスク(HDD)21
〜25に格納されている情報を最大14人のユーザに提
供するものである。即ち、最大ストリーム数は「14」
である。
【0039】中央演算処理装置(CPU)11は、シス
テムバス10を介して接続されたメモリ12、ディスク
インタフェース13、バッファメモリ14及びネットワ
ークインタフェース15を制御する。
【0040】メモリ12は、CPU11が実行するプロ
グラムや各種データを一時的に格納すると共に、ストリ
ーム稼動状況テーブルを格納する。ストリーム稼動状況
テーブルとは、どのストリームが稼動しているのかを示
すテーブルである。
【0041】図3は、ストリーム稼動状況テーブル40
の例を示す図である。このように、ストリーム稼動状況
テーブル40は、ストリーム番号と現在の稼動状況(1
=稼働中/0=非稼動)を、全ストリーム稼動時にデー
タバスへデータを出力する順番に並べたものである。
【0042】図2に戻り、ディスクインタフェース13
は、データバス20を介してアクセス要求を出力するこ
とにより、ディスク21〜25との間でデータの送受信
を行う。ディスクインタフェース13から各ディスクへ
のアクセス順は、ディスク21→ディスク22→ディス
ク23→ディスク24→ディスク25→ディスク21・
・・の順である。データバス20は、実際にはSCSI
バスやSCSI−2バスなどである。
【0043】バッファメモリ14は、ディスクインタフ
ェース13が各ディスク21〜25から受け取ったデー
タを一時的に格納する。ネットワークインタフェース1
5は、バッファメモリ14内のデータをネットワーク3
0を介して接続されたクライアント31,32へ配信す
る。
【0044】ディスク21〜25には、複数のビデオデ
ータがストライピングにより格納されている。ストライ
ピングの際の単位データのサイズは、1つのタイムスロ
ット内で出力できるようなサイズである。各ディスク2
1〜25にはそれぞれ、1〜5までのディスク番号が割
り当てられている。ここで、ディスク番号とは、各ディ
スクを識別するための番号である。ここでは、1からデ
ィスク台数までの自然数である。各ディスクはディスク
番号の順に動作し、最後まで行ったらディスク番号1の
ディスクへ戻る。以後、「次のディスク番号」といった
場合には、動作順に従って次に動作させるべきディスク
番号を指す。
【0045】図4は、ディスク上のデータ配置の例を示
す図である。この例では、5台のディスク21〜25に
9種類のファイルをストライピングして配置している。
図の中にある数(2−3など)は何番目のファイルの
何番のブロックかを表している。ひとつのファイルに
属するブロックを1台のディスクに連続して配置せず、
複数のディスクヘ均等に分散して配置している。例えば
1番目のファイルのデータは、「ディスク1」、「ディ
スク5」、「ディスク4」、「ディスク3」、「ディス
ク2」、「ディスク1」・・・の順で格納される。格納
される順番は、他のファイルも同じである。
【0046】このような構成のビデオサーバシステムに
おいて、ビデオ画像の要求がクライアントからあると、
そのクライアントに対してストリームが割り当てられ
る。ストリームには、各ディスクにおけるタイムスロッ
トが割り当てられており、そのタイムスロットの時間帯
を利用して、クライアントから要求された一連のデータ
を読み出す。なお、図4から分るように、一連のデータ
は、「ディスク1」、「ディスク5」、「ディスク
4」、「ディスク3」、「ディスク2」、「ディスク
1」・・・の順で格納されているため、ストリームに対
して割り当てられているタイムスロットも、同じ順番で
読み出せるように配分されている。
【0047】ディスクから読み出されたデータはディス
クインタフェース13を介してバッファメモリ14に一
旦蓄えられ、各ストリームごとに速度を一定に保つよう
に制御されつつ、ネットワークインタフェース15を介
してネットワーク30へ出力される。そして、クライア
ント31,32へ配信される。
【0048】次に、データの読み出し処理の詳細を説明
する。図5は、データ読み出し手順を示すフローチャー
トである。これは、CPU11が、メモリ12内にロー
ドされた所定のプログラムに従って実行する処理であ
る。 [S1]ディスク番号を示す値「d」を1に設定し、ス
トリーム番号を示す値「s」を1に設定する。 [S2]sで示されたストリームへの要求が、新規スト
リームの送出開始又は既存ストリーム送出終了の要求で
あるか否かを判断する。これらのいずれかの要求であれ
ばステップS3に進み、これらの要求でなければステッ
プS4に進む。 [S3]ストリーム稼動状況テーブルの内容を更新す
る。具体的には、新規ストリームの送出開始の場合に
は、sで示されたストリーム番号の稼動状況の値を
「1」にする。また、既存ストリーム送出終了の場合に
は、sで示されたストリーム番号の稼動状況の値を
「0」にする。 [S4]ストリーム稼動状況テーブルを参照し、sで示
されたストリーム番号の稼動状況が「0」か否かを判断
する。稼動状況が「0」であればステップS6に進み、
稼動状況が「1」であればステップS5に進む。 [S5]「t=s」、「r=M」とし、ステップS10
に進む。 [S6]ストリーム稼動状況テーブル内を右向きに「稼
動状況=1」のストリームを捜す。例えば、「s=6」
の場合には、ストリーム稼動状況テーブルの「ストリー
ム6」から順に、11、2、・・・と稼動状況=1のス
トリームを捜して進むことである。ストリーム稼動状況
テーブルの右端に達したら、左端へ戻って再度右向きに
探索する。図3の例によれば「ストリーム2」が見つけ
られる。なお、稼動状況=1のストリームが見つからな
いときとは、稼働中のストリームが存在しないときであ
る。 [S7]「稼動状況=1」のストリームが見つかったか
どうかを判断する。見つかったのであればステップS8
に進み、見つからなかったのであればステップS11に
進む。 [S8]見つかったストリーム番号をtとし、ストリー
ム稼動状況テーブルで、sとtとの距離を計算し、その
距離をとする。ストリーム稼動状況テーブルでのsと
tとの距離とは、テーブル内での欄(カラム)の隔たり
のことである。例えば、「ストリーム6」から「ストリ
ーム2」までの距離は2である。 [S9]r=M+N×により、rの値を算出する。な
お、「M」と「N」の値に意味については後述する。 [S10]リードリトライ回数をr回に設定し、ディス
クdにストリームtのリード命令を発行する。 [S11]サービス終了か否かを判断する。サービスが
終了であれば処理を終了し、そうでなければステップS
12に進む。 [S12]dを次のディスク番号にし、sを次のストリ
ーム番号にする。そして、ステップS2へ戻る。
【0049】このようにして、空きのストリームがある
場合には、空きストリームの時間帯を利用して、リード
リトライができる。リードリトライを行えば、従来では
リードエラーにより読み出すことのできなかったデータ
の一部を、読み出すことが可能となる。
【0050】ところで、上記のMの値は、1タイムスロ
ット内でシーク、回転待ち、データ読み出し、データバ
スへのデータ出力以外の時間で実行可能なリードリトラ
イ回数である。同時ストリーム数を最大にするには、M
の値を0にする必要がある。もし、タイムスロット内に
予めリードリトライの時間の余裕を持たせる場合には、
M>0となる。
【0051】また、上記のNの値は、タイムスロット内
で実行可能なリードリトライ回数である。これは、a
(シーク+回転待ち+データ読み出しに費やされる合計
時間)とb(データをデータバス出力する時間)とを
用いて
【0052】
【数8】 N=[(a+b)/リードリトライ1回の時間]・・・
・・(8) で求めることができる。ただし、[X]は、Xを超えな
い最大の整数を表している。なお、リードリトライ1回
の時間は、最大回転待ち時間にほぼ等しい。例えば、従
来技術で説明したような性能のディスク(最大シーク時
間:17ms、最大回転待ち時間:8.3ms)でMP
EG−2の0.5秒分のデータを読み出す場合には、式
(1)、式(2)に基づいて、
【0053】
【数9】 N=[(140ms+35ms)/8.3ms]=21 ・・・・・(9) となる。
【0054】以下に、本発明を適用する前のデータ送出
のタイムチャートと、本発明を適用した場合のデータ送
出のタイムチャートとを比較して説明する。図6は、本
発明適用前のデータ読み出しのタイムチャートを示す図
である。これは、データストリーム数が最大に満たない
場合のタイムチャートである。この図においてタイムス
ロットに付けた丸付き数字は、同時出力可能な14本の
ストリームに付けた番号である。図中、薄く塗りつぶし
たタイムスロットは、シーク動作、回転待ち動作、及び
データ読み出し動作を行う時間帯を表している。網掛け
のタイムスロットはデータをデータバスへ出力する時間
帯を表している。また、白抜きのタイムスロットは、現
在データ出力を行っておらず、空いていることを表して
いる。この例では、ストリーム番号が3,5,6,11
のストリームが空いている。
【0055】図7は、本発明適用後のデータ読み出しの
タイムチャートを示す図である。図中、黒く塗りつぶさ
れたタイムスロットは、リードリトライのために確保さ
れた時間帯を示している。この図においても、稼動状態
のストリームは、図6と同じである。ここで、「タイム
スロット8」に着目する。このタイムスロットの直前の
「タイムスロット3」は空いている。そのため、「タイ
ムスロット8」のデータのディスクリードは、「タイム
スロット3」のタイミングで開始することができる。す
なわち、データバス20へデータを出力する時間帯をず
らさなければ、ディスクリードのタイミングを早めるこ
とには何の問題もないのである。従って、「タイムスロ
ット8」は、本来のタイムスロットの1サイクル分早く
ディスクリードを行い、残りのタイムスロット1個分の
時間をリードリトライに使うことができる。「タイムス
ロット10」についても同様である。「タイムスロット
2」については、タイムスロット2個分の時間をリード
リトライに使うことができる。
【0056】なお、上記の説明はすべてビデオサーバな
どのように、データをディスクから読み出して外部(ネ
ットワークを介して接続されたクライアント)へ出力す
る装置を前提としている。従って、データに対するディ
スクの動作は「リード」であり、エラーは「リードエラ
ー」である。リトライは「リードリトライ」であった。
【0057】しかし、本発明の考え方はデータをディス
クへ書き込む場合にも適用できる。この場合、データに
対するディスクの動作は「ライト」であり、エラーは
「ライトエラー」、リトライは「ライトリトライ」であ
る。リアルタイムにデータを書き込む必要があるシステ
ムの例としては、監視カメラ画像の記録装置がある。
【0058】図8は、監視カメラシステムの構成例を示
す図である。監視カメラシステムには、複数のカメラ7
1,72が捉えた画像データが、ネットワーク70を介
して入力される。
【0059】CPU51は、システムバス50を介して
接続されたメモリ52、ネットワークインタフェース5
3、バッファメモリ54及びディスクインタフェース5
5を制御している。メモリ52は、CPU51に実行さ
せるべきプログラムを格納していると共に、ストリーム
稼動状況テーブルを格納している。ネットワークインタ
フェース53は、ネットワーク70を介して送られてい
る画像データを受取り、バッファメモリ54へ送る。バ
ッファメモリ54は、ネットワークインタフェース53
から送られた画像データを一時的に蓄える。ディスクイ
ンタフェース55は、データバス60を介して接続され
ている複数のディスク61〜65へのデータの書き込み
処理を行う。各ディスク61〜65は、複数のストリー
ムをストライピングして書き込むための空き領域が確保
されている。
【0060】このような監視カメラシステムにおいて、
複数のカメラ71,72の撮影した画像データは、ネッ
トワーク70を介して逐一ネットワークインタフェース
53に送られてくる。それらの画像データは、ネットワ
ークインタフェース53で受け取られ、バッファメモリ
54に蓄えられる。そして、ディスクインタフェース5
5によって、ディスクにストライピングして書き込まれ
る。
【0061】図9は、データ書き込み手順を示すフロー
チャートである。これは、CPU51がメモリ内にロー
ドされた所定のプログラムに従って実行する処理であ
る。 [S21]ディスク番号を示す値「d」を1に設定し、
ストリーム番号を示す値「s」を1に設定する。 [S22]sで示されたストリームへの要求が、新規ス
トリームの入力開始又は既存ストリーム入力終了の要求
であるか否かを判断する。これらいずれかの要求であれ
ばステップS23に進み、これらの要求でなければステ
ップS24に進む。 [S23]ストリーム稼動状況テーブルの内容を更新す
る。具体的には、新規ストリームの送出開始の場合に
は、sで示されたストリーム番号の稼動状況の値を
「1」にする。また、既存ストリーム送出終了の場合に
は、sで示されたストリーム番号の稼動状況の値を
「0」にする。 [S24]ストリーム稼動状況テーブルを参照し、sで
示されたストリーム番号の稼動状況が「1」か否かを判
断する。稼動状況が「1」であればステップS25に進
み、稼動状況が「1」でなければステップS31に進
む。 [S25]ストリーム稼動状況テーブルを参照し、sで
示されたストリーム番号の右隣のストリームの稼動状況
が「0」か否かを判断する。稼動状況が「0」であれば
ステップS27に進み、稼動状況が「1」でなければス
テップS26に進む。 [S26]「r=M」とし、ステップS30に進む。 [S27]ストリーム稼動状況テーブル内を右向きに
「稼動状況=1」のストリームを捜す。例えば、「s=
6」の場合には、ストリーム稼動状況テーブルの「スト
リーム6」から順に、11、2、・・・と稼動状況=1
のストリームを捜して進むことである。ストリーム稼動
状況テーブルの右端に達したら、左端へ戻って再度右向
きに探索する。 [S28]見つかったストリーム番号をtとし、ストリ
ーム稼動状況テーブルで、sとtとの距離を計算し、そ
の距離をとする。ここでもしsとtの値が同じになっ
た場合(sのストリーム以外に稼働中のストリームがな
い場合)には、最大ストリーム数が距離の値となる。 [S29]r=M+N×(−1)により、rの値を算
出する。ここで、「M」と「N」との値の意味は、デー
タ読み出し処理の場合とほぼ同様である。すなわち、
「M」は、データバスから入力されたデータの書き込み
処理に費やされる時間以外の時間で実行可能なライトリ
トライ回数である。また、「N」は、1タイムスロット
内で実行可能なライトリトライ回数である。 [S30]ライトリトライ回数をr回に設定し、ディス
クdにストリームのライト命令を発行する。 [S31]サービス終了か否かを判断する。サービスが
終了であれば処理を終了し、そうでなければステップS
32に進む。 [S32]dを次のディスク番号にし、sを次のストリ
ーム番号にする。そして、ステップS22へ戻る。
【0062】このようにして、空きのストリームがある
場合には、空きストリームの時間帯を利用して、ライト
リトライができる。従って、従来はライトエラーとなり
廃棄されていたデータを、ライトリトライすることでデ
ィスクに保存することが可能となる。
【0063】以下に、本発明を適用する前のデータ書き
込みのタイムチャートと、本発明を適用した場合のデー
タ書き込みのタイムチャートとを比較してして説明す
る。図10は、本発明適用前のデータ書き込みのタイム
チャートを示す図である。これは、データストリーム数
が最大に満たない場合のタイムチャートである。この図
においてタイムスロットに付けた丸付き数字は、同時出
力可能な14本のストリームに付けた番号である。この
うち、白抜きのタイムスロットは、現在データ出力を行
っておらず、空いていることを表している。この例で
は、ストリーム番号が3,5,6,11のストリームが
空いている。なお、データ書き込みでは、1タイムスロ
ットの中でデータバスを占有するタイミングが、データ
を読み出す場合と異なる。データを読み出す場合には、
タイムスロット内の最後の時間帯がデータバスへのデー
タ出力に割り当てられていたが、データを書き込む場合
には、タイムスロット内の最初の時間帯がデータバスか
らのデータ入力に割り当てられている。
【0064】図11は、本発明適用後のデータ書き込み
のタイムチャートを示す図である。この図においても、
稼動状態のストリーム番号は、図10と同じである。こ
こで、「タイムスロット12」に着目する。このタイム
スロットの直後の「タイムスロット3」は空いている。
そのため、「タイムスロット12」のデータのディスク
ライトにおいて、ライトエラーが発生しても、タイムス
ロット1個分の時間をライトリトライに使うことができ
る。「タイムスロット14」についても同様である。
「タイムスロット1」については、タイムスロット2個
分の時間をライトリトライに使うことができる。
【0065】なお、上記の説明では、データをリードす
る場合と、データをライトする場合とを個別に説明した
が、これらが混在するようなシステムにおいても適用す
ることができる。
【0066】なお、上記の処理機能は、コンピュータに
よって実現されるものであり、その場合、データアクセ
ス制御装置が有すべき機能の処理内容は、コンピュータ
で読み取り可能な記録媒体に記録されたプログラムで記
述される。このプログラムをコンピュータで実行するこ
とにより、上記処理がコンピュータで実現される。コン
ピュータで読み取り可能な記録媒体としては、磁気記録
装置や半導体メモリ等がある。市場を流通させる場合に
は、CD−ROMやフロッピーディスケット等の可搬型
記録媒体にプログラムを格納して流通させたり、ネット
ワークを介して接続されたコンピュータの記憶装置に格
納しておき、ネットワークを通じて他のコンピュータに
転送することもできる。コンピュータで実行する際に
は、コンピュータ内のハードディスク装置等にプログラ
ムを格納しておき、メインメモリにロードして実行す
る。
【0067】
【発明の効果】以上説明したように本発明に係る第1の
データアクセス制御装置では、各記憶装置に時間的余裕
があるときにリードエラーが発生したら、時間が許す範
囲内でリードリトライを行うようにしたため、リードエ
ラーが発生した場合でも、そのデータを回復することが
できる。
【0068】また、本発明に係る第2のデータアクセス
制御装置では、各記憶装置に時間的余裕があるときにラ
イトエラーが発生したら、時間が許す範囲内でライトリ
トライを行うようにしたため、ライトエラーが発生した
場合でも、そのデータを保存することができる。
【0069】また、本発明に係る第1のデータアクセス
制御プログラムを記録した媒体では、各記憶装置に時間
的余裕があるときにリードエラーが発生したら、時間が
許す範囲内でリードリトライを行うような処理をコンピ
ュータにさせることができるため、リードエラーが発生
した場合にそのデータの一部を回復することができるよ
うなデータアクセスをコンピュータに行わせることがで
きる。
【0070】また、本発明に係る第2のデータアクセス
制御プログラムを記録した媒体では、各記憶装置に時間
的余裕があるときにライトエラーが発生したら、時間が
許す範囲内でライトリトライを行うような処理をコンピ
ュータにさせることができるため、ライトエラーが発生
した場合でも、そのデータを保存することができるよう
なデータアクセスをコンピュータに行わせることができ
る。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】ビデオサーバシステムの構成例を示す図であ
る。
【図3】ストリーム稼動状況テーブルの例を示す図であ
る。
【図4】ディスク上のデータ配置の例を示す図である。
【図5】データ読み出し手順を示すフローチャートであ
る。
【図6】本発明適用前のデータ読み出しのタイムチャー
トを示す図である。
【図7】本発明適用後のデータ読み出しのタイムチャー
トを示す図である。
【図8】監視カメラシステムの構成例を示す図である。
【図9】データ書き込み手順を示すフローチャートであ
る。
【図10】本発明適用前のデータ書き込みのタイムチャ
ートを示す図である。
【図11】本発明適用後のデータ書き込みのタイムチャ
ートを示す図である。
【図12】データの読み出し状況を示す図である。
【符号の説明】 1a,1b,1c,記憶装置 2 空き状況判断手段 2a データストリーム稼動状況テーブル 3 データ読み出し制御手段
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図5
【補正方法】変更
【補正内容】
【図5】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 1つの伝送路に接続された複数の記憶装
    置に1ブロック毎に分散して格納されている一連のデー
    タを、前記複数の記憶装置内部で順次読み出し処理を行
    い、読み出された1ブロックのデータを、予め定められ
    たデータ出力時間帯内において前記伝送路を介して転送
    するデータアクセス制御装置において、 前記複数の記憶装置でのデータの読み出し処理が行われ
    ない空き時間帯を調べる空き状況判断手段と、 前記空き時間帯の後に最初に読み出すべきデータを先行
    リードデータとし、前記空き時間帯を利用して前記先行
    リードデータの読み出し処理を行い、リードエラーが発
    生した場合には、前記先行リードデータに割り当てられ
    ている前記データ出力時間帯までの時間を利用してリー
    ドリトライを行うデータ読み出し制御手段と、 を有することを特徴とするデータアクセス制御装置。
  2. 【請求項2】 前記空き状況判断手段は、1ブロックの
    データを前記記憶装置から読み出して前記伝送路へ出力
    するのに必要な時間間隔で分割した時間帯をタイムスロ
    ットとし、連続して読み出し処理が行われていないタイ
    ムスロットの数にタイムスロットの時間を乗じたものを
    許容時間とし、 前記データ読み出し制御手段は、前記許容時間内で実行
    可能なリードリトライ回数を上限として、リードリトラ
    イを繰り返すことを特徴とする請求項1記載のデータア
    クセス制御装置。
  3. 【請求項3】 前記空き状況判断手段は、一連のデータ
    へのアクセス環境の割当をストリームとし、同時に読み
    出し可能な最大数のストリームのそれぞれに前記記憶装
    置毎のタイムスロットを割り当て、与えられた時刻に達
    したタイムスロットが割り当てられている対応ストリー
    ムが稼動中でない場合には、前記対応ストリームに割り
    当てられている全てのタイムスロットが空いていると判
    断することを特徴とする請求項2記載のデータアクセス
    制御装置。
  4. 【請求項4】 前記空き状況判断手段は、ストリームの
    番号とそれぞれのストリームが稼働中か否かの情報との
    組を、割り当てられたタイムスロットの出現順に並べた
    ストリーム稼動状況テーブルを用意し、判断対象となる
    ストリームが稼働中でない場合には、稼働中と設定され
    ているストリームが見つかるまで前記ストリーム稼動状
    況テーブルを後方に向かって検索し、見つかるまでに進
    んだ欄の数を、連続して読み出し処理が行われていない
    タイムスロットの数とすることを特徴とする請求項3記
    載のデータアクセス制御装置。
  5. 【請求項5】 1つの伝送路に接続された複数の記憶装
    置に1ブロック毎に分散して格納すべき一連のデータ
    を、予め定められたデータ入力時間帯内において前記伝
    送路を介して転送し、前記複数の記憶装置へ順次書き込
    むデータアクセス制御装置において、 前記複数の記憶装置へのデータの書き込み処理が行われ
    ない空き時間帯を調べる空き状況判断手段と、 前記空き時間帯の直前に書き込むべきデータの書き込み
    に際してライトエラーが発生した場合には、前記空き時
    間帯を利用してライトリトライを行うデータ書き込み制
    御手段と、 を有することを特徴とするデータアクセス制御装置。
  6. 【請求項6】 前記空き状況判断手段は、1ブロックの
    データを前記憶装置に書き込むのに必要な時間間隔で分
    割した時間帯をタイムスロットとし、連続して書き込み
    処理が行われないタイムスロットの数にタイムスロット
    の時間を乗じたものを許容時間とし、 前記データ書き込み制御手段は、前記許容時間内で実行
    可能なライトリトライ回数を上限として、ライトリトラ
    イを繰り返すことを特徴とする請求項5記載のデータア
    クセス制御装置。
  7. 【請求項7】 前記空き状況判断手段は、一連のデータ
    へのアクセス環境の割当をストリームとし、同時に読み
    出し可能な最大数のストリームのそれぞれに前記記憶装
    置毎のタイムスロットを割り当て、与えられた時刻に達
    したタイムスロットが割り当てられている対応ストリー
    ムが稼動中でない場合には、前記対応ストリームに割り
    当てられている全てのタイムスロットが空いていると判
    断することを特徴とする請求項6記載のデータアクセス
    制御装置。
  8. 【請求項8】 前記空き状況判断手段は、前記ストリー
    ムの番号と、それぞれが稼働中か否かの情報との組を、
    割り当てられたタイムスロットの出現順に並べたストリ
    ーム稼動状況テーブルを用意し、判断対象となるストリ
    ームが稼働中でない場合には、稼働中と設定されている
    ストリームが見つかるまで前記ストリーム稼動状況テー
    ブルを後方に向かって検索し、見つかるまでに進んだ欄
    の数を、連続して読み出し処理が行われていないタイム
    スロットの数とすることを特徴とする請求項7記載のデ
    ータアクセス制御装置。
  9. 【請求項9】 1つの伝送路に接続された複数の記憶装
    置に1ブロック毎に分散して格納されている一連のデー
    タを、前記複数の記憶装置内部で順次読み出し処理を行
    い、読み出された1ブロックのデータを、予め定められ
    たデータ出力時間帯内において前記伝送路を介して転送
    するためのデータアクセス制御プログラムを記録した媒
    体において、 前記複数の記憶装置でのデータの読み出し処理が行われ
    ない空き時間帯を調べる空き状況判断手段、 前記空き時間帯の後に最初に読み出すべきデータを先行
    リードデータとし、前記空き時間帯を利用して前記先行
    リードデータの読み出し処理を行い、リードエラーが発
    生した場合には、前記先行リードデータに割り当てられ
    ている前記データ出力時間帯までの時間を利用してリー
    ドリトライを行うデータ読み出し制御手段、 としてコンピュータを機能させることを特徴とするデー
    タアクセス制御プログラムを記録した媒体。
  10. 【請求項10】 1つの伝送路に接続された複数の記憶
    装置に1ブロック毎に分散して格納すべき一連のデータ
    を、予め定められたデータ入力時間帯内において前記伝
    送路を介して転送し、前記複数の記憶装置へ順次書き込
    むためのデータアクセス制御プログラムを記録した媒体
    において、 前記複数の記憶装置へのデータの書き込み処理が行われ
    ない空き時間帯を調べる空き状況判断手段、 前記空き時間帯の直前に書き込むべきデータの書き込み
    に際してライトエラーが発生した場合には、前記空き時
    間帯を利用してライトリトライを行うデータ書き込み制
    御手段、 としてコンピュータを機能させることを特徴とするデー
    タアクセス制御プログラムを記録した媒体。
JP9287372A 1997-10-20 1997-10-20 データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体 Withdrawn JPH11119923A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9287372A JPH11119923A (ja) 1997-10-20 1997-10-20 データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体
US09/040,994 US6049891A (en) 1997-10-20 1998-03-19 Data access control system and computer-readable medium storing data access control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9287372A JPH11119923A (ja) 1997-10-20 1997-10-20 データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体

Publications (1)

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

Family

ID=17716519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9287372A Withdrawn JPH11119923A (ja) 1997-10-20 1997-10-20 データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体

Country Status (2)

Country Link
US (1) US6049891A (ja)
JP (1) JPH11119923A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625755B1 (en) 1998-11-12 2003-09-23 Hitachi Software Engineering Co., Ltd. Storage apparatus and control method thereof
WO2020080296A1 (ja) * 2018-10-18 2020-04-23 日東電工株式会社 データ取得方法および信号計測システム

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2143556T3 (es) 1994-10-12 2000-05-16 Touchtunes Music Corp Sistema de reproduccion audiovisual digital inteligente.
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
JP3969467B2 (ja) * 1998-06-17 2007-09-05 富士通株式会社 ネットワークシステム、送受信方法、送信装置、受信装置、および、記録媒体
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
JP3446946B2 (ja) * 1999-05-12 2003-09-16 日本電気株式会社 データ通信システム及びタイムスロット割当方法並びにタイムスロット割当制御プログラムを格納した記憶媒体
US6421762B1 (en) 1999-06-30 2002-07-16 International Business Machines Corporation Cache allocation policy based on speculative request history
US6393528B1 (en) * 1999-06-30 2002-05-21 International Business Machines Corporation Optimized cache allocation algorithm for multiple speculative requests
US6496921B1 (en) 1999-06-30 2002-12-17 International Business Machines Corporation Layered speculative request unit with instruction optimized and storage hierarchy optimized partitions
US6510494B1 (en) 1999-06-30 2003-01-21 International Business Machines Corporation Time based mechanism for cached speculative data deallocation
US6360299B1 (en) * 1999-06-30 2002-03-19 International Business Machines Corporation Extended cache state with prefetched stream ID information
US6532521B1 (en) 1999-06-30 2003-03-11 International Business Machines Corporation Mechanism for high performance transfer of speculative request data between levels of cache hierarchy
US6421763B1 (en) 1999-06-30 2002-07-16 International Business Machines Corporation Method for instruction extensions for a tightly coupled speculative request unit
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
US6415367B1 (en) * 1999-12-16 2002-07-02 Intel Corporation Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme
US6412049B1 (en) * 1999-12-16 2002-06-25 Intel Corporation Method for minimizing CPU memory latency while transferring streaming data
US6363461B1 (en) * 1999-12-16 2002-03-26 Intel Corportion Apparatus for memory resource arbitration based on dedicated time slot allocation
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
FR2805060B1 (fr) * 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
AU2001260831B2 (en) * 2000-05-09 2007-03-29 Cadmus Payment Solutions Limited Electronic user pays product and/or service controller
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
FR2811175B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
US7085802B1 (en) * 2000-10-06 2006-08-01 International Business Machines Corporation Device for connecting two workstations with several links
US7099383B2 (en) * 2001-01-19 2006-08-29 Raze Technologies, Inc. Apparatus and associated method for operating upon data signals received at a receiving station of a fixed wireless access communication system
JP3592640B2 (ja) * 2001-01-09 2004-11-24 株式会社東芝 ディスク制御システムおよびディスク制御方法
US6986012B2 (en) * 2001-09-03 2006-01-10 Koninklijke Philips Electronics N.V. Method and system for reading data from and writing data to a memory
JP3634809B2 (ja) * 2002-02-28 2005-03-30 株式会社東芝 Av用途のディスク記憶装置及び同装置におけるセクタエラー時の処理方法
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US12100258B2 (en) 2002-09-16 2024-09-24 Touchtunes Music Company, Llc Digital downloading jukebox with enhanced communication features
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
JP2005025829A (ja) * 2003-06-30 2005-01-27 Toshiba Corp ディスク記憶装置及びデータストリーム制御方法
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
US7644183B2 (en) * 2003-12-11 2010-01-05 Searete, Llc Accelerated reception of spatial-to-temporal translated data
US20050132415A1 (en) * 2003-12-11 2005-06-16 Hillis W. D. Spatial-to-temporal data translation and transmission
WO2005060528A2 (en) * 2003-12-11 2005-07-07 Searete Llc Spatial-to-temporal data translation and transmission
US20050132149A1 (en) * 2003-12-11 2005-06-16 W. Daniel Hillis Spatial-to-temporal data translation and scheduling and control
US20050131863A1 (en) * 2003-12-11 2005-06-16 W. Daniel Hillis Reception of spatial-to-temporal translated data
JP4775843B2 (ja) * 2005-08-10 2011-09-21 株式会社日立製作所 ストレージシステム及び記憶制御方法
KR100753831B1 (ko) 2005-12-08 2007-08-31 한국전자통신연구원 객체 기반 스토리지 시스템에서 고속의 객체 입출력 처리장치 및 방법
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US12450978B2 (en) 2007-01-17 2025-10-21 Touchtunes Music Company Llc. Coin operated entertainment system
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
WO2010005569A1 (en) 2008-07-09 2010-01-14 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US8090992B2 (en) * 2008-07-25 2012-01-03 Lsi Corporation Handling of clustered media errors in raid environment
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
CN106056367A (zh) 2009-03-18 2016-10-26 踏途音乐公司 娱乐服务器及相关的社交网络系统
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US12112093B2 (en) 2009-03-18 2024-10-08 Touchtunes Music Company, Llc Entertainment server and associated social networking services
CN102770816A (zh) 2010-01-26 2012-11-07 踏途音乐公司 具有改进的用户界面的数字点播设备和相关方法
US9411757B2 (en) 2011-03-14 2016-08-09 Hewlett Packard Enterprise Development Lp Memory interface
US8627021B2 (en) * 2011-08-31 2014-01-07 Qualcomm Incorporated Method and apparatus for load-based prefetch access
GB2526955B (en) 2011-09-18 2016-06-15 Touchtunes Music Corp Digital jukebox device with karaoke and/or photo booth features, and associated methods
US8762771B2 (en) * 2011-11-04 2014-06-24 Lsi Corporation Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
WO2015070070A1 (en) 2013-11-07 2015-05-14 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
CN119170060A (zh) 2014-03-25 2024-12-20 踏途音乐有限责任公司 具有改进的用户界面的数字点播设备和相关方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535197A (en) * 1991-09-26 1996-07-09 Ipc Information Systems, Inc. Shared buffer switching module
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
US5473362A (en) * 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
US5956321A (en) * 1995-03-16 1999-09-21 Kabushiki Kaisha Toshiba Stream scheduling system for real time stream server
JPH0981497A (ja) * 1995-09-12 1997-03-28 Toshiba Corp 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法
US5867657A (en) * 1996-06-06 1999-02-02 Microsoft Corporation Distributed scheduling in a multiple data server system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625755B1 (en) 1998-11-12 2003-09-23 Hitachi Software Engineering Co., Ltd. Storage apparatus and control method thereof
US6918054B2 (en) 1998-11-12 2005-07-12 Hitachi, Ltd. Storage apparatus and control method thereof
WO2020080296A1 (ja) * 2018-10-18 2020-04-23 日東電工株式会社 データ取得方法および信号計測システム

Also Published As

Publication number Publication date
US6049891A (en) 2000-04-11

Similar Documents

Publication Publication Date Title
JPH11119923A (ja) データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体
KR0163234B1 (ko) 데이타 스트리밍 메카니즘, 스트리밍 장치 어댑터, 컴퓨터 시스템 및 데이타 처리 시스템
US6003045A (en) Accessing stored files from multiple storage devices
EP0780758A2 (en) Data processing and storage method and apparatus
JP3372842B2 (ja) 同時リード−ライト要求用ビデオサーバスケジューリング
JPH11143778A (ja) キャッシュ管理方法及び情報回収方法
US20030154246A1 (en) Server for storing files
JP2000507017A (ja) 複数のデータメモリアレイ用データバッファリングシステム
EP0801488B1 (en) Information transfer method and apparatus
JP2003529146A (ja) 記憶媒体上のブロックにアクセスするシステムおよび方法
WO2024146330A1 (zh) 视频存储方法和视频播放方法
JP3288213B2 (ja) サーバ
EP0838763A2 (en) Method for managing files in library and server device for library
JPH11212728A (ja) 外部記憶サブシステム
JP2005234794A (ja) ファイルシステム制御装置
JPH0981455A (ja) クライアント装置、サーバ装置及び記憶装置制御方法
JP3869008B2 (ja) 論理的に連続するクラスタ間でデータを反復する方法およびシステム
US6292875B1 (en) Control device for storage device and method of accessing the storage device
JPH1063436A (ja) データ格納方法及び装置
US6678469B1 (en) Recorded information reproducing apparatus
JPH08227371A (ja) データ管理方法
JPH103357A (ja) ビデオサーバ
JPH11119922A (ja) データ記憶システム及び冗長データ書き込み制御方法
JPH10326154A (ja) アレイコントローラ及びデータサーバ
JP3024686B2 (ja) 記憶サブシステム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050104