JP4473455B2 - 記録媒体へのアクセスを制御するアクセス制御装置および方法 - Google Patents

記録媒体へのアクセスを制御するアクセス制御装置および方法 Download PDF

Info

Publication number
JP4473455B2
JP4473455B2 JP2000594023A JP2000594023A JP4473455B2 JP 4473455 B2 JP4473455 B2 JP 4473455B2 JP 2000594023 A JP2000594023 A JP 2000594023A JP 2000594023 A JP2000594023 A JP 2000594023A JP 4473455 B2 JP4473455 B2 JP 4473455B2
Authority
JP
Japan
Prior art keywords
data
zone
recording
recorded
access
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.)
Expired - Lifetime
Application number
JP2000594023A
Other languages
English (en)
Inventor
佳之 岡田
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
Application granted granted Critical
Publication of JP4473455B2 publication Critical patent/JP4473455B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/036Insert-editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/007Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/007Arrangement of the information on the record carrier, e.g. form of tracks, actual track shape, e.g. wobbled, or cross-section, e.g. v-shaped; Sequential information structures, e.g. sectoring or header formats within a track
    • G11B7/00718Groove and land recording, i.e. user data recorded both in the grooves and on the lands
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/12Heads, e.g. forming of the optical beam spot or modulation of the optical beam
    • G11B7/14Heads, e.g. forming of the optical beam spot or modulation of the optical beam specially adapted to record on, or to reproduce from, more than one track simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10592Audio or video recording specifically adapted for recording or reproducing multichannel signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1238Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/216Rewritable discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B7/00Recording or reproducing by optical means, e.g. recording using a thermal beam of optical radiation by modifying optical properties or the physical structure, reproducing using an optical beam at lower power by sensing optical properties; Record carriers therefor
    • G11B7/002Recording, reproducing or erasing systems characterised by the shape or form of the carrier
    • G11B7/0037Recording, reproducing or erasing systems characterised by the shape or form of the carrier with discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
技術分野
本発明は、複数チャンネルのデータを同時に記録/再生するために、記録媒体へのアクセスを制御するアクセス制御装置およびその方法に関する。
【0002】
背景技術
近年、マイクロコンピュータやMPEG2(Moving Picture Experts Group phase 2)等の動画符号化/復号化LSI(Large Scale Integration)の発展に伴い、映像のデジタル化が飛躍的に進み、その結果として、20世紀から21世紀に向けて、テレビジョン放送がアナログからデジタルへ急激に変化しようとしている。また、BS(Broadcasting Satellite)、CS(Communications Satellite)等を利用した衛星放送では数100チャンネルのプログラムを用意し、視聴者の多様化に応えようとしている。
【0003】
放送のデジタル化および多チャンネル化が進むにつれて、安価なセットトップボックス(STB)やデジタルTV(Television)の開発等とあいまって、家庭にもデジタルの映像データを大量に取り込む時代が来ようとしており、記憶装置(ストレージデバイス)にデータを蓄積する機会が増えると考えられる。
【0004】
このような大容量の映像データを蓄積することを主な目的として、ハードディスクや光ディスク等の大容量ストレージデバイスの開発が活発に行われている。例えば、MPEG2を用いた場合、2時間程度の映像データを数GBに圧縮して蓄積することができる。
【0005】
このようなストレージデバイスでは、コンピュータの入出力システムとして求められるスループットの他に、新たにリアルタイム性が要求されることになる。そのような状況の中で、現在、STB、ストレージデバイス、プリンタ、およびTV等のディスプレイ装置を結ぶホームネットワークを実現するインタフェースとして最も期待されているインタフェースに、IEEE(Institute of Electrical and Electronic Engineers)1394と呼ばれる高速のシリアルインタフェースがある。
【0006】
IEEE1394では、音声や映像等のデータをリアルタイムで転送するために、同期(Isochronous)転送という独自の転送モードを持っており、一定の転送レートでデータを送ることを保証している。したがって、IEEE1394を介して映像データをストレージデバイスに記録したり、ストレージデバイスから映像データを再生したりする場合は、この同期転送に基づき、リアルタイム要求に応えなければならない。
【0007】
また、多チャンネル化により、同時(正確には時系列)に複数のチャンネルのデータを取り込む状況が想定される。したがって、リアルタイム要求を満たしつつ、どれだけ多くのチャンネルのデータを効率よく同時に記録/再生できるかが鍵となる。
【0008】
ところが、ストレージデバイスの場合、データ転送の他に、シーク待ち、回転待ち、ベリファイ、リトライ等の時間ファクタが存在する。シーク待ちは、ディスクヘッドが所望のトラックまで移動するための時間を表す。回転待ちは、ディスクヘッドの下部に所望のセクタの先頭が現れるまでのディスクの回転時間を表す。ベリファイは、書き込みデータの確認処理を表し、リトライは、アクセスが失敗した場合の再アクセスを表す。
【0009】
これらの時間ファクタは、ある期限までに処理を終了してスケジュールを守るというリアルタイム処理の妨げとなっている。そこで、従来は、効率よくディスクをアクセスするために、ディスクスケジューリングによりデータのリード/ライトの実行の順序や、データの記録・読み出し場所を制御している。
【0010】
従来のスケジューリングアルゴリズムとしては、次のようなものが挙げられる(A.L.N.Reddy and J.C.Wyllie,“I/O Issues in a Multimedia System”,Computer,27,Mar,pp.69−74,1994.)。
【0011】
(1)EDF(Earliest Deadline First):終了期限(deadline)が最も迫っている処理を優先する方法。
(2)LSTF(Least Slack Time First):時間の余裕が最も少ない処理を優先する方法。
(3)SSTF(Shortest Seek Time First):シーク時間が最短の処理を優先する方法。
(4)SCAN:シーク方向が同じでかつシーク時間が最短の処理を優先する方法。
(5)SCAN−EDF:まず、終了期限を優先し、同じ期限の場合は、SCANを採用する方法。
【0012】
これらのアルゴリズムのうち、(1)と(2)は、時間の要素のみを考慮しており、ディスクアクセスの効率化(シーク時間の短縮)を考慮していない。逆に、(3)と(4)は、ディスクアクセスの効率化の要素のみを考慮しており、時間の要素を考慮していないため、リアルタイム処理に適さない。したがって、時間とディスクアクセスの効率化の両方を考慮している(5)のアルゴリズムが、現在では一般的に使用されている。
【0013】
図1は、このようなEDFおよびSCANによるディスクスケジューリングの概念を示している。ここでは、時分割で4つのチャンネルの映像データがディスク1内を流れると仮定している。4つのチャンネルCh1、Ch2、Ch3、およびCh4のうち、Ch1、Ch2、およびCh3については、送られてきた映像データをディスク1に書き込む処理(Write)が行われ、Ch4については、ディスク1から映像データを読み出す処理(Read)が行われる。
【0014】
従来のスケジューリングの用途としては再生(プレイバック)が多く、書き込みの同時性はほとんど考慮されていない。したがって、各チャンネルの映像データは、読み出し易いようにシーケンシャルに固まって集中しており、各チャンネルのアドレスポイントは分散される場合が多い。ここでは、ディスク1上で各チャンネルのデータの書き込み/読み出し位置を表すアドレスポイントは、右端に示すように、ディスク1の外周から内周に向かってCh1、Ch3、Ch4、Ch2の順に分散されている。
【0015】
Write処理の場合は、まず、送られてきた映像データを一時ダブルバッファ(バッファメモリ)2の片方のバッファに蓄積する。次に、次の映像データをダブルバッファ2の他方のバッファに蓄積している間に、最初に蓄積された映像データをディスク1に書き込む処理を終了しなければならない。例えば、Ch1では、周期(round)Tの間に、データW12がダブルバッファ2に蓄積され、データW11がダブルバッファ2からディスク1に書き込まれなければならない。Ch2とCh3についても同様である。
【0016】
また、Read処理の場合は、まず、映像データをディスク1から読み出し、一時ダブルバッファ2の片方のバッファに蓄積する。次に、その蓄積された映像データを送り出している間に、次の映像データをディスク1から先読みして、ダブルバッファの他方のバッファに蓄積する処理を終了しなければならない。例えば、Ch4では、周期Tの間に、データR42をダブルバッファ2から送り出している間に、次のデータR43がディスク1からダブルバッファ2に読み出されなければならない。
【0017】
図1では、時系列的にCh1、Ch2、Ch3、Ch4の順でディスクアクセスが要求されるため、終了期限も同じ順に設定される。したがって、EDFを採用した場合、ディスク1は、Ch1、Ch2、Ch3、Ch4、Ch1、Ch2、Ch3、Ch4、...の順にアクセスされる。
【0018】
しかし、各チャンネルCh1〜Ch4のアドレスポイントが異なる順に配置されているため、チャンネル間のシーク距離が長く、ヘッドが移動するのに時間がかかる。特に、Ch1とCh2のアドレスポイントは大きく離れており、Ch1の書き込みからCh2の書き込みまでに時間がかかる。
【0019】
また、SCANを採用した場合、アクセス要求の順に関係なく、ヘッドの位置からシーク相対距離が短い順に、Ch1、Ch3、Ch4、Ch2のようにアクセスされ、ここでシーク方向が逆になって、さらにCh2、Ch4、Ch3、Ch1、...の順でアクセスされる。この場合、アクセス要求の順序に対して、Ch1の書き込みは、ある周期では最初に処理され、次の周期では最後に処理されるため、Ch1の場合、アクセス時間間隔が空きすぎてアクセス要求を満たせなくなることがある。このような場合、アクセス要求を満たすためには、バッファ2をより大きくする必要がある。
【0020】
これに対して、(5)のSCAN−EDFは、EDFとSCANを混在させた方法であり、シーク時間とアクセス要求の順序の両方を考慮したスケジューリングを行うことができる。
【0021】
しかしながら、上述した従来のディスクスケジューリングには、次のような問題がある。
従来のスケジューリングでは、ストレージデバイスが映像データを一定レートで受け取り、一定レートで送り出すことを仮定している。例えば、図2は、6つのチャンネルCh1〜Ch6の映像データが、それぞれ、一定の帯域(ビットレート)でストレージデバイスに入力される様子を示している。ここで、1トランスポンダは、衛星放送における1回線の容量に対応する。
【0022】
このような仮定の下では、各チャンネルCh1〜Ch6の書き込み/読み出しの終了期限は周期的に訪れると考えられ、終了期限は最初に決められた周期情報に基づいて設定される傾向にある。
【0023】
ところが、デジタル放送等で流れる映像データは、図3に示すように、統計多重化されており、転送レートは必ずしも一定ではない。この場合、1トランスポンダのレートは一定だが、各チャンネルのMPEG2の符号化データの転送レートは画像の動きの激しさに応じて変化し、これにより効率の良い放送が実現される。
【0024】
ところで、IEEE1394上の同期転送によりパケット転送を行う場合、通常、パケット内に転送すべきデータを含ませる。しかし、このような可変レートで送られてくる映像データでは、レートが変わったりしてデータが揃わない場合に、データを含まないダミー・パケットを転送して、転送の時間保証を継続している(IEC(International Electrotechnical Commission)18663およびIEEE1394−1995に準拠)。
【0025】
図4は、このようなパケット転送の手順を示している。ここでは、188バイトのトランスポート・パケット3に4バイトのタイム・スタンプTが付加されて、192バイトのパケットが生成され、それが24バイト単位のデータ・ブロックに分割される。そして、4つ(他の整数でもよい)のデータ・ブロックが1つのデータ・ブロック・パケット4にまとめられ、同期転送パケットとして転送される。
【0026】
データ・ブロック・パケット4には、IEEE1394のヘッダHとマルチメディアデータ用のCIP(Common Isochronous Packet)ヘッダとが付加される。CIPヘッダには、データ・ブロックの分割方法が定義されており、受信ノードは、この情報に基づいてトランスポート・パケット3を再構築することができる。
125μs毎に1つのサイクル・スタート・パケットSと1つのデータ・ブロック・パケット4が転送されるが、データ・ブロック・パケット4がないときは、CIPヘッダのみのダミー・パケット5が同期転送パケットとして転送される。
このような状況で従来のような終了期限を設定すると、同期転送パケットが全てデータ・ブロック・パケット4を含む場合の最大転送レートに合わせて、実際よりも厳しい(早い)終了期限を定義することとなり、より多数のチャンネルを処理できなくなるという問題がある。
【0027】
また、上述した(1)〜(5)のスケジューリングは、いずれもプレイバックを主な適用対象としており、ディスク上の書き込み場所を規定しておらず、個々の映像データはディスク上に分散して記録されていると仮定している。したがって、多数のチャンネルを処理する場合、長いシーク時間がかかることが多く、好ましくない。
また、現在のディスクは、高密度の特徴を活かして複数のゾーン(トラックの集合)に分割し、ディスクの回転制御方式として、ZCAV(Zone Constant Angular Velocity)を採用することにより、同じ回転数でも外周のゾーンの転送レートを内周のゾーンより速くすることで、記憶容量を大きくしている。最内周の転送レートは、例えば、最外周のそれの60%程度である。
【0028】
ところが、従来のスケジューリングでは、このような複数のゾーンの存在を考慮しておらず、ディスク上にはデータが内周と外周に一様に分布し、データ量も転送レートも、内周と外周で共に一定であると仮定している。このため、特に内周部分に転送レートの高いデータが集中して書き込まれた場合には処理効率が悪くなり、多数のチャンネルの処理に適さないという問題もあった。
【0029】
ところで、最近、主に映像データの蓄積を目的とした光ディスクとしてASMO(Advanced Storage Management Optocal disc)が検討されている。ASMOは、磁界変調方式の光磁気ディスクであり、直径120mm の大きさで片面当たり最大6.1GB(ギガバイト)の容量を持つ。
【0030】
図5にASMOの構成を示す。
同図に示すように、ASMOでは、ランド(山)11とグループ(谷)12の両方にデータを高密度記録するランド・グループ記録方式により大容量化を図っている。ランド11とグループ12のピッチは0.6マイクロメートルとなっている。また、ディスクのデータ記録領域(recording area)13の厚さは0.6mmである。また、この例では、記録領域13は、22個の物理ゾーンに分割されている。すなわち、1つのディスクに22個の物理ゾーンが形成されている。1つの物理ゾーンは、数千トラックを有する。また、トラックはディスク上に螺旋状に形成されている。
また、さらに、ディスクをドライブ装置に固定するための仕組み(チャッキング機構)をCDやDVDと兼用できるようにするため、ディスクのデータが記録されていない中心部(クランプ部)17の厚さは1.2mmにしてある。
【0031】
各物理ゾーンには、ディスクの径方向に所定数のトラックが設けられている。そして、各トラックは、1以上のフレーム14に分割されている。フレーム14は、複数のセグメントに分割されており、通常、先頭のセグメントをアドレスセグメント(ADRS)15とし、それ以外のセグメントはデータセグメント16と呼ばれている。アドレスセグメント15とデータセグメント16には、図中で△で示されたクロックマーク17が設けられている。
【0032】
1つのフレーム14の全データセグメント16には、例えば、2KB(キロバイト)のデータとECC(Error Correcting Code)が記録される。また、アドレスセグメント15には、アドレス情報、チルトパターン、プリアンブル、リザーブ等が記録される。アドレスセグメント15では、これらの情報が、グルーブ12を形成する2つの壁の内、一方の壁のみにウォブル(Wobble)を施す、いわゆる、片側ウォブルで記録されている。片側ウォブルアドレス(Singled Sided Wobbled Address)18は、データの位置を示す片方向(両方向も存在する)のウォブルアドレスである。ASMOにおいては、ディスクの1回転当たりのフレーム数は、16〜73個である。
【0033】
また、ランド11とグループ12共に、ピット長は0.235マイクロメートルである。
上述したように、ASMOは、物理的に22個のゾーンに分割されるが、これらの物理ゾーンは図6に示すように、外周側から内周側に、論理ゾーン(Logical Zone)N〜論理ゾーンM+2)までの714個の論理ゾーンに分割される。 また、図6において、各論理ゾーンN〜M+2の右隣にはバッファ内のデータ量の時間的変化を示している。同図に示す例は、ASMOの論理ゾーンN〜論理ゾーンN+1をアクセスして、論理ゾーンN〜論理ゾーンN+1からデータをバッファに読みだした後、今度は、最内周の論理ゾーンM+2からデータをバッファに読みだす例を示している。この場合、ヘッドが外周の論理ゾーンN+1から内周の論理ゾーンM+2までシーク動作する間、バッファ内に保持されているデータは外部装置に転送され、バッファ内のデータ量は次第に減少していく。
【0034】
この論理ゾーンN+1をアクセスしてから、次に、論理ゾーンM+2をアクセスするまでの許容時間は1秒以内でなければならない。この1秒以内に、バッファから外部装置には1MB(メガバイト)のデータが転送される。
【0035】
図7はASMOの論理ゾーンのデータ構造を示す図である。同図に示すように、ASMOにおいては、論理ゾーン20は、8MB(メガバイト)の記憶容量を有し、隣接する4MB(メガバイト)のランド11と4MB(メガバイト)のグループ12との対で構成されている。
【0036】
論理ゾーン20は、図7に示すようにユーザエリア(図中、ハッチングで示す)とスペアエリア(図中、黒塗りで示す)に分割され、通常、データはユーザエリアにセクタ単位で先頭から順に記録されていく。このとき、ユーザエリアに欠陥セクタが無ければ、データはユーザエリアのみに記録される。しかしながら、ユーザエリアに欠陥セクタがある場合には、該欠陥セクタに記録しようとしていたデータはスペアエリアに記録される。このように、スペアエリアは、ユーザエリアに欠陥セクタが存在する場合の交替処理用の予備セクタとして利用される。
【0037】
ところで、上記欠陥セクタの補償には、スリッピング・リプレースメント(Slipping Replacement:SR)とリニアリプレースメント(Linear Replacement:LR)が利用される。SRは、欠陥セクタを飛ばして、次のセクタにデータを順番に記録していく方法である。この場合、スペアエリアには、記録データ列の内、欠陥セクタの数分だけ後尾セクタがずれ込む形で記録される。一方、LRは、欠陥セクタをスペアエリアで交替する方法である。
【0038】
図7には、SRとLRの方法が模式的に示されている。(1)がSRを示し、(2)〜(4)がLRを示している。LRには3種類の方法があり、
(2)は同一論理ゾーン内のスペアエリアで欠陥セクタを交替する方法、
(3)は前の論理ゾーン内のスペアエリアで欠陥セクタを交替する方法、
そして、
(4)は隣接する論理ゾーン内のスペアエリアで欠陥セクタを交替する方法を示している。
【0039】
このように、ASMOは、論理ゾーンのグループとランドに交替処理用の領域(スペアエリア)を設けることにより、例え、データの交替処理が必要になった場合でも、アクセス時間が短くてすむように構成されている。物理ゾーンは数百MB(メガバイト)、論理ゾーンは8MB程度であり、1つの物理ゾーンに、論理ゾーンは30〜50個ほど含まれる。
【0040】
ところで、論理ゾーンの範囲は、図8に示すように、ヘッド本体を移動するシーク動作を行わずとも、対物レンズ30の駆動によるビーム偏向走査(光シーク)のみでビームをジャンプできる範囲(約200トラック)を基準にして設計されている。同図においては、対物レンズ30によるアクセス可能領域(欠陥ブロック31とその予備ブロック32との最大幅が200トラック)であることが示されている。この対物レンズ30による光シークの速度は、最大5ms程度である。ちなみに、ヘッド本体を移動するシーク動作により、上記光シークと同様な200トラックの走査を行った場合には、その2倍以上の速度を要する。
【0041】
また、ASMOにおいては、論理ゾーンの中は、原則的にシーケンシャルにアクセスし、次のステップで、ヘッドが最大シーク距離(最内周から最外周までの距離)まで移動しても、シームレスに音声・映像データを取り込んだり再生できることを保証している。上記最大シーク距離の移動によるアクセス待ち時間は1秒である。このため、この1秒間の間にリアルタムでの音声・映像データの取り込み/再生を実現するために、1MB(メガバイト)のデータを保持できる内部バッファを設けるようにしている。
【0042】
図9、10は、それぞれ、ASMOにおいて、シームレスな音声・映像データの取り込み及び再生を実現するための概念図である。図9は、ASMOに対するバッファリングされた音声・映像データの論理ゾーンN〜N+2に対する書き込み操作を示している。また、図10は、ASMOの論理ゾーンN〜N+2からバッファに、音声・映像データを読みだす操作を示している。
【0043】
ところで、ASMOでは、単一チャンネルの記録・再生のみを考慮しており、複数チャンネルの同時記録、同時再生、あるいは時差再生(記録しながら再生する動作)などについては、まだ、考慮されていないのが現状である。
【0044】
また、現在の3.5インチMO(Magneto Optival disc)は、回転制御方式として,ZCAV(Zone Constant Angular Velocity)を採用している。このため、ASMOに比べてシーク時間が短いものの、3.5インチMOの場合、内周の方が外周よりも転送速度が遅く(内周の転送速度は外周の転送速度の60%程度である)、多チャンネルの映像データについて、同時記録、同時再生を試みた場合、より高い処理性能が要求され、内周部で処理に対処しきれなくなるなどの問題があった。この問題は、HDD(Hard Disk Drive)においても同様である。
【0045】
一方、ASMOの場合には、回転制御方式として,内周と外周の回転数を変化させることで、全体の転送速度を一定とするZCLV(Zone Constant Linear Velocity)を採用しているため、3.5インチMOの場合のような問題は発生しないが、ゾーン間を跨がるアクセスが生じた場合、回転数を変えるための制御時間が必要となり、これが処理性能を妨げる要因になっている。
【0046】
本発明の第1の目的は、複数チャンネルのデータの記録/再生に伴う記録媒体へのアクセスをリアルタイムで処理する場合に、より多くのチャンネルを効率良く処理するアクセス制御装置およびその方法を提供することである。また、本発明の第2の目的は、ランドとグループに記録する記録媒体において、複数チャンネルの同時記録・再生等を可能にすることである。
【0047】
発明の開示
図1は、本発明のアクセス制御装置の原理図である。
本発明の第1の原理によれば、アクセス制御装置は、スケジューリング手段11および制御手段12を備え、記録媒体への複数のアクセス要求を処理する。
【0048】
スケジューリング手段11は、データの転送レートの変化に応じてアクセス処理の終了期限を決定し、終了期限の早い順に複数のアクセス要求の実行スケジュールを設定する。制御手段12は、実行スケジュールに従ってそれらのアクセス要求の実行を制御する。
【0049】
例えば、同期転送の場合、データの転送レートは挿入されるダミー・パケットの割合に応じて刻々と変化する。スケジューリング手段11は、その時々の転送レートに応じて動的に書き込み/読み出し処理の終了期限を決定し、終了期限の早い順に書き込み/読み出し処理を実行するようなスケジュールを設定する。そして、制御手段12は、設定されたスケジュールに従って、それらの書き込み/読み出し処理の実行を制御する。
【0050】
このようなアクセス制御装置によれば、実際の転送レートに従って終了期限が決定され、それに基づいて柔軟なスケジューリングが行われる。このため、統計多重化された可変レートの映像データをリアルタイムで記録/再生する場合でも、各チャンネルの転送レートに合わせたスケジューリングが行われ、より多数のチャンネルの記録/再生が可能になる。
【0051】
また、本発明の第2の原理によれば、アクセス制御装置は、制御手段12および決定手段13を備え、ディスク型記録媒体への複数のアクセス要求を処理する。
【0052】
決定手段13は、記録媒体へデータを書き込む複数の書き込み要求に対して、それらの書き込み要求に対応する複数の書き込み位置が互いに近接するように、書き込み領域を決定する。制御手段12は、各書き込み要求の書き込みデータを上記書き込み領域にシーケンシャルに書き込む制御を行う。
【0053】
決定手段13は、互いに近接する複数の書き込み位置を含む書き込み領域を決定し、制御手段12は、各書き込み要求の書き込みデータを、その書き込み領域内の複数の書き込み位置にシーケンシャルに書き込む制御を行う。これらの書き込み位置は、例えば、ディスク型記録媒体上に設けられたゾーン内の連続アドレスに対応する。
【0054】
このようなアクセス制御装置によれば、複数チャンネルの映像データの同時書き込みが要求された場合でも、それらのチャンネルのデータがまとめてシーケンシャルに書き込まれ、書き込みの際のシーク待ちや回転待ちが大幅に削減される。これにより、処理が効率化され、より多数のチャンネルの記録/再生が可能になる。
【0055】
例えば、図1のスケジューリング手段11および決定手段13は、後述する図2のMPU(マイクロプロセッサユニット)31に対応し、制御手段12は、MPU31、LSI32、ドライバ回路33、およびバッファメモリ34に対応する。
【0056】
また、本発明の第3の原理によれば、アクセス制御装置は、ZCAVに基づき回転制御が行われる記録媒体に対する複数チャンネルの同時記録を制御するアクセス制御装置を前提とする。そして、前記記録媒体上のゾーンの転送速度が平均化されるように、前記記録媒体から複数ゾーンを選択する選択手段と、前記複数チャンネルのデータが、該選択された複数のゾーンに分散・記録されるように制御する制御手段とを備える。前記選択手段は、例えば、外周ゾーンと内周ゾーンを対にして、複数のゾーンを選択する。
【0057】
このようなアクセス制御装置によれば、記録媒体全体での転送速度(転送レート)が一定となるように複数のゾーンを交互にアクセスして、複数チャンネルのデータの同時記録の要求性能(総合要求性能)に対応して、各チャンネルのデータを記録媒体に正しく記録することができる。
【0058】
また、本発明の第4の原理によれば、アクセス制御装置は、ZCAVに基づき回転制御が行われる記録媒体に対する複数チャンネルの同時記録を制御するアクセス制御装置を前提とし、該各チャンネルのデータの記録要求性能の総和である総合要求性能以上の転送速度平均を持つ複数のゾーンを、前記記録媒体から選択する選択手段と、該選択された複数のゾーンに前記複数チャンネルのデータが分散・記録されるように制御する制御手段とを備える。
【0059】
このようなアクセス制御装置によれば、各チャンネルのデータの要求性能の総和(総合要求性能)に優るように複数のゾーンを選択して、各チャンネルのデータを該複数のゾーンに分散・記録するので、複数チャンネルのデータを記録媒体に正しく記録することができる。
【0060】
上記第3及び第4の原理のアクセス制御装置において、前記選択手段は、例えば、各ゾーン間のヘッドの移動時間を加味して、前記複数のゾーンを選択する。また、前記選択手段は、例えば、各ゾーン間のヘッドの移動時間に加え、前記複数チャンネル数も加味して、前記複数のゾーンを選択する。このようなゾーン選択により、より精密にゾーンを選択することが可能になる。
【0061】
また、前記制御手段は、各チャンネルのデータとその記録ゾーンとが、1対1に対応するように制御する。このことにより、各チャンネルのデータの再生を高速化でき、また、データ削除後の領域を効率的に利用できる。
【0062】
また、前記制御手段は、該各チャンネルのデータがブロック単位で該各ゾーンに交互に記録されるように制御する。また、さらに、前記制御手段は、各チャンネルのデータが、同一のゾーンに交互に記録されるように制御する。
【0063】
また、本発明の第5の原理のアクセス制御装置によれば、上記第3及び第4の原理のアクセス制御装置において、更に、あるゾーンから、そのゾーンに記録されているあるチャンネルのデータを削除する削除手段と、前記チャンネルのデータが削除された前記ゾーンの空き領域に、現在、最も外周のゾーンに記録されている別チャンネルのデータを移動するガーベジコレクション手段とを備える。
【0064】
このようなアクセス制御装置によれば、転送速度の速い外周ゾーンを、効率的に利用でき、高速なチャンネルの記録に、常時、対処することが可能になる。
また、本発明の第6の原理のアクセス制御装置によれば、上記第3及び第4の原理のアクセス制御装置において、更に、あるチャンネルのデータの再生要求を受け付けた場合、そのチャンネルのデータが記録されているゾーンから再生データを連続して読みだす読みだし手段を備える。
【0065】
このようなアクセス制御装置によれば、チャンネルデータの高速再生が可能になる。
また、本発明の第7の原理によれば、アクセス制御装置は、ZCLVに基づき回転制御が行われる記録媒体に対する複数チャンネルの同時記録を制御するアクセス制御装置を前提とし、複数チャンネルの同時記録要求を受け付けたとき、記録容量の多い外周ゾーンを優先的に選択する選択手段と、前記複数チャンネルのデータが、該選択されたゾーンに集中して記録されるように制御する制御手段とを備える。
【0066】
このようなアクセス制御装置によれば、チャンネルデータの高速記録が可能になる。
また、本発明の第8の原理によれば、アクセス制御装置は、ランド・グループ方式で記録が行われる記録媒体に対する複数チャンネルの同時記録を制御するアクセス制御装置を前提とし、複数チャンネルの同時記録要求を受け付けたとき、各チャンネルのデータが1対1対応で記録されるランドまたはグループを決定する決定手段と、前記各チャンネルのデータが、該決定された対応するランドまたはグループに沿って分散・記録されるように制御する制御手段とを備える。
【0067】
前記記録媒体が所定セクタ数のランドとグループを有する論理ゾーンに分割される記録媒体である場合、前記制御手段は、例えば、各チャンネルのデータが、論理ゾーン単位で、ランドとグループに交互に分散・記録されるように制御する。
【0068】
このようなアクセス制御装置によれば、各チャンネルのデータへのアクセス効率を向上できる。また、同時記録した一方のチャンネルのデータを削除する処理も高速化でき、該削除が同時記録した他方のチャンネルのデータのアクセスに及ぼす影響も少なくできる。また、ガーベジコレクションの実行回数も削減できる。
【0069】
また、本発明の第9の原理によれば、アクセス制御装置は、上記第8の原理のアクセス制御装置において、更に、あるチャンネルのデータの削除要求を受け付けた場合、そのチャンネルのデータを、それが記録されているランドまたはグループから削除する削除手段と、該ランドまたは該グループと対になっている他のランドまたは他のグループに記録されている別のチャンネルのデータを、空き領域のある論理ゾーンに移動させて再記録させるガーベジコレクション手段を備える。
【0070】
このようなアクセス制御装置によれば、チャンネルデータの削除を容易かつ高速にできると共に、不連続な空き領域を削減できる。
また、本発明の第10の原理によれば、アクセス制御装置は、上記第8及び第9の原理のアクセス制御装置において、更に、あるチャンネルのデータの再生要求を受け付けた場合、そのチャンネルのデータが記録されているランドまたはグループから再生データを連続して読みだす読みだし手段を備える。
【0071】
このようなアクセス制御装置によれば、チャンネルの再生を高速にできる。
発明を実施するための最良の実施形態
図11は、本発明のアクセス制御装置の原理図である。
【0072】
本発明の第1の原理によれば、アクセス制御装置は、スケジューリング手段41および制御手段42を備え、記録媒体への複数のアクセス要求を処理する。
スケジューリング手段41は、データの転送レートの変化に応じてアクセス処理の終了期限を決定し、終了期限の早い順に複数のアクセス要求の実行スケジュールを設定する。制御手段42は、実行スケジュールに従ってそれらのアクセス要求の実行を制御する。
【0073】
例えば、同期転送の場合、データの転送レートは挿入されるダミー・パケットの割合に応じて刻々と変化する。スケジューリング手段41は、その時々の転送レートに応じて動的に書き込み/読み出し処理の終了期限を決定し、終了期限の早い順に書き込み/読み出し処理を実行するようなスケジュールを設定する。そして、制御手段42は、設定されたスケジュールに従って、それらの書き込み/読み出し処理の実行を制御する。
【0074】
このようなアクセス制御装置によれば、実際の転送レートに従って終了期限が決定され、それに基づいて柔軟なスケジューリングが行われる。このため、統計多重化された可変レートの映像データをリアルタイムで記録/再生する場合でも、各チャネルの転送レートに合わせたスケジューリングが行われ、より多数のチャネルの記録/再生が可能になる。
【0075】
また、本発明の第2の原理によれば、アクセス制御装置は、制御手段42および決定手段43を備え、ディスク型記録媒体への複数のアクセス要求を処理する。
【0076】
決定手段43は、記録媒体へデータを書き込む複数の書き込み要求に対して、それらの書き込み要求に対応する複数の書き込み位置が互いに近接するように、書き込み領域を決定する。制御手段42は、各書き込み要求の書き込みデータを上記書き込み領域にシーケンシャルに書き込む制御を行う。
【0077】
決定手段43は、互いに近接する複数の書き込み位置を含む書き込み領域を決定し、制御手段42は、各書き込み要求の書き込みデータを、その書き込み領域内の複数の書き込み位置にシーケンシャルに書き込む制御を行う。これらの書き込み位置は、例えば、ディスク型記録媒体上に設けられたゾーン内の連続アドレスに対応する。
【0078】
このようなアクセス制御装置によれば、複数チャネルの映像データの同時書き込みが要求された場合でも、それらのチャネルのデータがまとめてシーケンシャルに書き込まれ、書き込みの際のシーク待ちや回転待ちが大幅に削減される。これにより、処理が効率化され、より多数のチャネルの記録/再生が可能になる。
【0079】
例えば、図11のスケジューリング手段41および決定手段43は、後述する図12のMPU(マイクロプロセッサユニット)61に対応し、制御手段42は、MPU61、LSI62、ドライバ回路63、およびバッファメモリ64に対応する。
【0080】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本発明においては、受け取った転送パケットからダミー・パケットを省き、有効なデータを一定のブロック単位でバッファメモリに一時蓄積する。このとき、ダミー・パケットが多いほど、有効なデータを蓄積するために多くの時間がかかることになる。そして、各チャネルの蓄積時間に対応して終了期限を随時設定し、その終了期限に従ってスケジューリングを行う。
【0081】
このように、実際の転送レートに依存する蓄積時間に応じて終了期限を柔軟に設定することで、スケジューリングの時間制約が穏やかになり、より多数のチャネル、またはより高速なチャネルを処理できるようになる。
【0082】
また、より厳しい条件(特に、より多数のチャネル、またはより高速なチャネル)で書き込みが同時に起こる場合、より転送能力のあるディスクの外周ゾーンをアクセスポイントとして、データを集中的に(時系列で連続的に)書き込むようにスケジューリングする。これにより、転送レートとシーク待ちの両方の時間制約が軽減され、より多数のチャネルまたはより高速なチャネルを処理できるようになる。
【0083】
図12は、本発明の実施形態のアクセス制御装置を含むストレージシステムの構成図である。図12のストレージシステムは、ストレージデバイス51、STB52、およびデジタルTV53を備え、これらの各装置はIEEE1394回線54により互いに接続されている。STB52は、例えば、外部のネットワークからMPEGの映像データを受信し、それを同期転送によりストレージデバイス51に転送する。そして、デジタルTV53は、ストレージデバイス25に格納された映像データを読み出して、画面に表示する。
【0084】
ストレージデバイス51において、ディスクアクセスの制御を行う回路は、ディスクアクセス制御用MPU61(マイクロプロセッサユニット)、IEEE1394LSI62、ディスクドライバ63、およびバッファメモリ64を含み、これらの各装置はバス65により互いに接続されている。
【0085】
LSI62は、回線64とストレージデバイス51の間の通信インタフェースとして動作する。バッファメモリ64は、例えば、64キロバイト(KB)の容量を有する16個の単位ブロックから構成され、回線64を介して送られてきた映像データまたは回線54へ送り出す映像データを一時的に蓄積する。
【0086】
MPU61は、回線54から入力されるRead/Write命令を受け、ディスクスケジューリングのアルゴリズムに従って、ディスク66のアクセス実行順序と読み出し/書き込み場所を決定する。そして、その順序に従って、ディスク66を搭載したディスクドライブ(不図示)に、ドライバ回路63を介してアクセスする。
【0087】
図13は、MPU61によるディスクスケジューリングの原理を説明するフローチャートである。MPU61は、まず、複数チャネルのRead/Writeのリアルタイム命令に従って、バッファメモリ64の、一定容量の単位ブロックにデータを一時蓄積する(ステップS1)。単位ブロックのサイズは、通常、ディスクのトラックサイズに対応して決められ、64KB程度に設定される。
【0088】
次に、バッファメモリ64の単位ブロックにデータを一時蓄積するのに要した時間に応じて、各チャネルの終了期限を決定する(ステップS2)。書き込みデータの一時蓄積の際には、受け取った転送パケットのうち、データ・ブロック・パケットのデータのみを蓄積し、ダミー・パケットは廃棄する。このため、ダミー・パケットの出現頻度に応じて処理時間が異なり、転送レートは可変になる。次に、複数チャネルの中の最大転送レートに対応する周期毎に、SCAN−EDFに基づいてスケジューリングを行う(ステップS3)。
【0089】
最大転送レートは、ダミー・パケットなしでデータ・ブロック・パケットを連続転送した場合のレートに相当し、このとき、単位ブロック当たりのデータ転送時間は最短となる。ここで、すべてのチャネルが最大転送レートでデータを転送する場合を考えると、最短のデータ転送時間毎に新たな終了期限が決定されることになる。そこで、このような場合のスケジューリングミスを防ぐため、単位ブロック当たりの最短のデータ転送時間を周期として、定期的にスケジューリングを行う。
【0090】
ここでは、SCAN−EDFのアルゴリズムに基づいて、終了期限が迫っている処理を優先的にスケジューリングする。また、同じ終了期限の処理が複数ある場合には、シーク距離が短いチャネルを優先する。このように、スッテプS2で決めた終了期限をSCAN−EDFに適用することで、実際の処理状況に合わせて時間制約がより穏やかになる。
【0091】
図14は、このようなディスクスケジューリングの例を示している。ここでは、4つのチャネルCh1、Ch2、Ch3、およびCh4のうち、Ch1、Ch2、およびCh3の3つのチャネルではWrite処理が行われ、Ch4ではRead処理が行われている。
【0092】
パケットWは、書き込みデータを含むデータ・ブロック・パケットを表し、パケットRは、読み出しデータを含むデータ・ブロック・パケットを表し、パケットDは、ダミー・パケットを表す。また、バッファメモリ64内では、各チャネルにそれぞれ3つの単位ブロック64aが割り当てられている。
【0093】
Write処理においては、ダミー・パケットDを除く有効パケットWのデータが、バッファメモリ64の1つの単位ブロック64aに一時蓄積される。このとき、単位ブロック分のデータをバッファメモリ64に書き込むのに要した時間により、各チャネルの終了期限が設定される。
【0094】
そして、「最大転送レート」、「終了期限情報」、および「有効パケットとダミー・パケットの種別を時系列的に示したバイナリデータ」が、「有効データ」と共にディスク66に記録される。これらのデータは、バッファメモリ64を介して、図15に示すようなフォーマットでディスク66に記録される。最大転送レートは、例えば、1パケット当たりの有効データのバイト数で表される。
【0095】
また、終了期限情報としては、例えば、単位ブロック分のデータの一時蓄積に要した時間を記録してもよく、その間に受け取った有効パケットとダミー・パケットの数の合計を記録してもよい。図15では、後者の終了期限情報が用いられている。また、図15のバイナリデータとしては、有効パケットを論理“1”で表し、ダミー・パケットを論理“0”で表したバイナリシーケンスが用いられている。
【0096】
これらの終了期限情報とバイナリデータは、有効データのRead処理において利用される。このとき、記録されている終了期限情報を利用してRead処理の終了期限が決定されるとともに、対応するバイナリデータに従ってダミー・パケットが挿入される。
【0097】
これにより、TV53のようなディスク66に対するデータのRead処理を要求した受け取り側においても、STB52から直接映像データを受け取る場合と同様のシーケンスで、LSI52を介して同期転送パケットを受け取ることができる。したがって、受け取り側のバッファメモリを必要以上に増やすことなく、リアルタイムの同期転送が可能になる。
【0098】
あるいは、受け取り側で非同期(Asynchronous)転送が可能であれば、ダミー・パケットを挿入せずに有効パケットのみを送出してもよい。この場合、転送データは既にディスク66に格納されているので、受け取り側のペースで転送保証を行いながら、IEEE1394のもう1つの転送モードである非同期転送によりREAD処理を実行することができる。
【0099】
ところで、図4に示したトランスポート・パケット3は192バイトの有効データを含んでおり、バッファメモリ64の単位ブロックサイズとしてディスクトラックレベルの64KB程度を採用した場合、約340個のパケット3に相当するデータがバッファメモリ64の単位ブロックに蓄積される。したがって、パケット3から2つのデータ・ブロック・パケット4を生成した場合、約680個のデータ・ブロック・パケット4が一時蓄積されるのに要する時間から終了期限が決定される。
【0100】
図14のスケジューリングの例では、説明を簡単にするため、バッファメモリ64の単位ブロック64aの容量を有効パケット4個分とし、4つの有効パケットが蓄積されるのに要した時間から終了期限が決定されるものとしている。ここで、#1〜#10の各矢印は、4つの有効パケットに対応するRead/Write処理を表し、矢印の番号は、スケジューリングされた処理の実行順序を表す。また、矢印の元は終了期限の決定タイミングを表し、矢印の先は決定された終了期限を表す。このスケジューリングの概要は、次のようになる。
【0101】
#1:Ch4で4パケット分の有効データがディスク66から読み出され、バッファメモリ64に一時蓄積される。このとき、図15に示した他の情報も有効データと共に蓄積される。
【0102】
#2:読みだした終了期限情報に従ってRead処理の終了期限が決定され、読みだしたバイナリデータ“1010101”に従って、蓄積された有効データがバッファメモリ64から同期転送で送り出される。このとき、バイナリデータの論理“1”に対応して有効パケットRが送り出され、論理“0”に対応してダミー・パケットDが送り出される。それと同 時に、次の4パケット分の有効データがディスク66から読み出され、 バッファメモリ64に一時蓄積される。
【0103】
#3:#2の処理の間に、まず、Ch1とCh3で、4つの有効パケットWのデータのバッファメモリ64への一時蓄積が完了し、その一時蓄積時間から終了期限が決定される。このとき、図15に示した他の情報も有効データと共に蓄積される。
【0104】
ここでは、Ch1とCh3で、共に、4つの有効パケットWが連続して送られてきたため、それらのバイナリデータは共に“1111”となる。また、終了期限は上記4有効パケット分の転送時間に基づいて決められるため、Ch1とCh3の終了期限は同じ時刻となる。そこで、現在のディスクヘッドの位置H0が参照され、その位置により近い(シーク距離がより短い)アドレスポイントを持つCh1のWrite処理が優先的にスケジューリングされる。
【0105】
#4:次に、Ch1と同じ終了期限を持つCh3のWrite処理がスケジューリングされる。
【0106】
#5:次に、Ch2で4つの有効パケットWのデータの一時蓄積が完了し、終了期限が決定される。ここでは、4つの有効パケットWの間に2つのダミー・パケットDが送られてきたため、バイナリデータは“101101”となり、終了期限は6パケット分の転送時間に基づいて決定される。
【0107】
以下同様にして、各チャネルのRead/Write処理が終了期限の早い順にスケジューリングされる。この結果、#6はCh3、#7はCh4、#8はCh1、#9はCh3、#10はCh2となる。
【0108】
このように、処理の実行順序は、バッファメモリ64への一時蓄積の終了順ではなく、一時蓄積に要した時間から決定された終了期限の早い順に設定される。したがって、複数のWrite処理をスケジューリングする際、必ずしも一時蓄積が終了した順にディスク66がアクセスされるとは限らない。
【0109】
また、図14の例では、各チャネル毎に単位ブロック3個分のバッファ領域64aを持ち、終了期限の変動に応じて、ディスク66との間の転送に2ブロック分を利用し、LSI62との間の転送に1ブロック分を利用している。このように、バッファメモリ64の容量は限られているため、終了期限にも上限を設けておく必要がある。
【0110】
この例では、一時蓄積に要する時間は4〜8パケットの転送時間の範囲である。そこで、最も長い8パケットの転送時間に基づいて終了期限が設定された直後に、最大転送レートでデータがバッファメモリ64に入力された場合を考えてみる。この場合、既に蓄積されている1ブロック分のデータがディスク66に書き込まれる間に、2ブロック分のデータがバッファメモリ64に蓄積されることになる。したがって、各チャネル毎に少なくとも3ブロック分のバッファ領域が必要であり、終了期限は8パケットの転送時間内に設定される必要がある。
【0111】
言い換えれば、終了期限の上限は、バッファメモリ64の利用可能な領域に最大転送レートで有効データを蓄積するのに要する蓄積時間により決定される。ここでは、この蓄積時間は、最大転送レートの半分の転送レートの場合の単位ブロック当たりの一時蓄積時間(8パケットの転送時間)に一致しており、転送レートはそれより小さくならないものと仮定している。
【0112】
また、終了期限情報として有効パケットおよびダミー・パケットの数の合計を用いた場合、これを時間または時刻へ変換することは容易である。ここでは、終了期限情報の範囲は4−8パケットであり、IEEE1394における1パケットの転送時間は125μsである。したがって、4〜8パケットを転送時間に換算すると、500μs〜1msとなり、終了期限は、開始時刻から500μs〜1ms経過した時刻となる。開始時刻としては、バッファメモリ64への一時蓄積が完了した時刻が用いられる。
【0113】
次に、図16は、同期転送パケットにダミー・パケットが含まれない場合のディスクスケジューリングの例を示している。この場合は、ダミー・パケットがないため、各チャネルの処理の開始時刻および転送レートが同じであれば、それらの処理の終了期限は同じになる。そこで、SCAN−EDFのアルゴリズムに基づき、終了期限が同じ2つ以上の処理については、シーク方向が同じでシーク距離の短い順に実行順序が設定される。
【0114】
図16の例では、Ch4の2回のRead処理(#1および#2)から始まって、Ch2のWrite処理(#3)に移り、シーク方向を変えてCh4(#4)、Ch3(#5)、Ch1(#6)の順に処理されるようなスケジュールが設定される。その後、#7はCh1、#8はCh3、#9はCh4、#10および#11はCh2、#12はCh4、#13はCh3、#14はCh1となる。
【0115】
次に、図17から図22までを参照しながら、MPU51によるスケジューリング処理について詳細に説明する。MPU51は、実行予定の各チャネルの処理を登録したスケジュールテーブル(不図示)を保持しており、このテーブルを用いてディスクアクセスのスケジューリングを行う。
【0116】
図17は、Nチャネルを対象に2N個(各チャネル当たり2個)の処理命令を受け付ける場合のスケジュールテーブルを示している。図17のスケジュールテーブル70の各要素Order(I)(I=1,2,...,2N)は、終了期限T、Read/Write処理の識別情報R/W、チャネル番号C、およびディスク66上のブロックアドレスAを含み、実行予定の1つのRead/Write処理を表している。同図は、スケジュールテーブル70にm個の要素が登録された状態を示しており、それらのm個の要素は終了期限Tの早い順に並べられている。
【0117】
また、Order(1)に含まれる各データの添え字iは、対応する処理の対象となるチャネルの番号を表し、Ci=iである。Order(m−1)、Order(m)に含まれる各データの添え字j、kについても同様である。また、WiはWrite処理を、Rj,RkはRead処理を示す。
【0118】
図18は、Write処理のスケジューリングおよび実行のフローチャートである。同図のフローチャートで使用されている変数mは、スケジュールテーブル70に登録されている要素Order(I)の個数を示す。
【0119】
MPU51は、まず、いずれかのチャネルkで単位ブロック分の書き込みデータがバッファメモリ64に一時蓄積されたかどうかを判定する(ステップS11)。一時蓄積が終了していなければステップS11の判定を繰り返す。
【0120】
チャネルkで一時蓄積が終了すると、次に、その一時蓄積に要した時間に従ってチャネルkのWrite処理の終了期限Tkを算出する(ステップS12)。一時蓄積時間は、チャネルkの転送レートによって異なるため、終了期限Tkもそれによって異なってくる。
【0121】
チャネルkの転送レートは、ダミー・パケットの割合によって変化するが、単位ブロック2個分のデータを転送する間には大きく変化しないと考えられる。したがって、次の単位ブロック分のデータの一時蓄積時間も同じ程度であり、既に蓄積されたデータをこの時間内にディスク66に書き込めばよいことになる。そこで、例えば、タイマから取得した現時刻に一時蓄積時間を加算して、終了期限Tkを算出する。
【0122】
次に、未処理のm個のWrite処理を終了期限の早い順に並べたスケジュールテーブル70の最下位に、チャネルkのWrite処理を登録する(ステップS13)。すなわち、変数mの値を“1”インクリメントした後、Order(m)にTkを登録する。このとき、Order(m)には、同時に、Wk、Ck、およびAkも登録される。
【0123】
次に、登録されたOrder(m)を含めて、m個の要素の終了期限Tを比較し、早い順に要素を並べ替えて(ステップS14)、ステップS11に戻り、ステップS11以降の処理を繰り返す。ステップS11〜ステップS14の処理は、あるチャンネルの単位ブロックのデータがバッファメモリ64に蓄積される毎に、スケジュールテーブル70に新たな要素を追加して、スケジュールテーブル70に登録された要素を終了期限の早いものから順に、ソートする処理である。これにより、スケジュールテーブル70には、常に、終了期限の早いものから順に、要素Order(1)、Order(2)、...が登録される。
【0124】
ステップS11〜S14の処理と並行して、ステップS15〜ステップS17のループ処理が、MPU51により実行される。
このループ処理において、まず、m=0かどうかを判定する(ステップS15)。この判定は、スケジュールテーブル70に要素Order(I)が登録されているか判断する処理である。
【0125】
m=0でなければ、未処理のWrite処理が残っていると判断し、スケジュールテーブル70を参照して、その先頭要素Order(1)に登録されたWrite処理の実行をドライバ回路63に指示する(ステップS16)。これにより、ドライバ回路63は、バッファメモリ64に蓄積されたOrder(1)に登録されたチャネルiのデータを、ディスク66上のアドレスAiの位置に書き込む。
【0126】
次に、MPU61は、スケジュールテーブル70において、登録されているOrder(2)以下の要素の番号を1つずつ繰り上げる(ステップS17)。ここでは、I=2,3,...,mについて、Order(I−1)=Order(I)の置き換えを実行し、変数mの値を“1”デクリメントする。そして、ステップS15以降の処理を繰り返す。
【0127】
ステップS15においてm=0であれば、Write処理はすべて終了していると判断し、ステップS11に移行する。
また、図19は、Read処理のスケジューリングおよび実行を説明するフローチャートである。各チャネルではバッファメモリ64の単位ブロック2個分のデータがドライバ回路63によりディスク66から先読みされ、バッファメモリ64に一時蓄積される(ステップS21)。今、チャネルkで最初のブロックのデータがバッファメモリ64からLSI62へ転送中であり、次のブロックのデータは先読みが終了したとする。
【0128】
この時、MPU61は、まず、いずれかのチャネルで単位ブロック分の読み出しデータがバッファメモリ64から送り出されたかどうかを判定する(ステップS22)。送り出しが終了していなければステップS22の判定を繰り返す。
【0129】
そして、ステップS22で、チャネルkのデータの送り出しが終了したと判定すると、既に、先読みされているチャネルkの次のブロックのデータの終了期限情報に従って、チャネルkのRead処理の終了期限Tkを算出する(ステップS23)。
【0130】
ディスク66から読み出されたバイナリデータに従って読み出しデータを転送する場合、転送時間は、書き込み時のバッファメモリ64での一時蓄積時間を表す終了期限情報によって決まってくる。そこで、例えば、タイマから取得した現時刻に終了期限情報に対応する時間を加算して、終了期限Tkを算出する。ドライバ回路63は、この終了期限Tkまでに、次の単位ブロック分のデータをディスク66から先読みすればよい。
【0131】
次に、図18のステップS13と同様にして、未処理のm個のRead処理を含むスケジュールテーブル70の最下位に、チャネルkのRead処理を登録する(ステップS24)。そして、図8のステップS14と同様にして、m個の要素を終了期限の早い順に並べ替えて(ステップS25)、ステップS22〜S25の処理を繰り返す。
【0132】
MPU61は、ステップS22〜S25のループ処理と並行して、ステップS26〜S28のループ処理を実行する。
すなわち、まず、m=0かどうかを判定する(ステップS26)。
【0133】
m=0でなければ、未処理のRead処理が残っていると判断し、スケジュールテーブル70を参照して、先頭要素Order(1)に登録されたRead処理の実行をドライバ回路63に指示する(ステップS27)。そして、ドライバ回路63は、ディスク66上のアドレスAiの位置からチャネルiのデータを読み出し、バッファメモリ64に格納する。
【0134】
次に、MPU61は、図18のステップS17と同様にして、スケジュールテーブル70においてOrder(2)以下の要素の番号を1つずつ繰り上げ(ステップS28)、再び、ステップS26以降の処理を繰り返す。そして、ステップS26においてm=0であれば、Read処理はすべて終了していると判断し、ステップS22に移行する。
【0135】
また、Write処理とRead処理が混在する場合は、図20に示すような処理が行われる。MPU31は、まず、いずれかのチャネルでバッファメモリ64へのアクセスが終了したかどうかを判定する(ステップS31)。アクセスが終了していなければステップS31の判定を繰り返す。
【0136】
そして、ステップS31において、チャネルkのバッファメモリ64へのアクセスが終了したと判定すると、次に、終了したアクセスの種類がWrite処理に伴う一時蓄積とRead処理に伴う送り出しのいずれであるかを判定する(ステップS32)。アクセスが一時蓄積であれば、図18のステップS12と同様にして、一時蓄積時間から終了期限Tkを算出する(ステップS33)。一方、アクセスが送り出しであれば、図19のステップS23と同様にして、次のブロックのデータの終了期限情報から終了期限Tkを算出する(ステップS34)。
【0137】
次に、図18のステップS13と同様にして、スケジュールテーブル70の最下位にチャネルkの処理を登録する(ステップS35)。このとき、Write処理の場合はWkが登録され、Read処理の場合はRkが登録される。
【0138】
次に、図18のステップS14と同様にして、スケジュールテーブル70の要素を並べ替え(ステップS36)、ステップS31〜S36のループ処理を繰り また、上記ループ処理と並行して、ステップS37〜S41のループ処理を実行する。すなわち、まず、m=0かどうかを判定する(ステップS37)。
【0139】
m=0でなければ、スケジュールテーブル70を参照して、先頭要素Order(1)に登録された処理の種類をチェックする(ステップS38)。そして、「W」が登録されていれば、Write処理の実行をドライバ回路63に指示し(ステップS39)、「R」が登録されていれば、Read処理の実行をドライバ回路63に指示する(ステップS40)。
【0140】
次に、図18のステップS17と同様にして、スケジュールテーブル70においてOrder(2)以下の要素の番号を1つずつ繰り上げ(ステップS41)、ステップS37に戻る。そして、ステップS37においてm=0であれば、Read/Write処理はすべて終了していると判断し、ステップS31に移行する。
【0141】
ところで、図18のステップS14、図19のステップS25、および図20のステップS36においてスケジュールテーブル70の要素を並べ替える場合、終了期限Tの比較方法に応じていくつかのアルゴリズムが考えられる。
【0142】
例えば、図17において新たに登録された要素を1つ上の順位の要素と比較するアルゴリズムは、図21のようになる。このアルゴリズムでは、MPU61は、まず、新たに登録されたOrder(m)の終了期限Tk(m)をOrder(m−1)の終了期限Tj(m−1)と比較し、Tk(m)>Tj(m−1)であれば、並べ替えを終了する。
【0143】
また、Tk(m)=Tj(m−1)であれば、現在のヘッドのブロックアドレスAh、Order(m)のブロックアドレスAk(m)、およびOrder(m−1)のブロックアドレスAj(m−1)の関係をチェックする。そして、Ak(m)−Ah>Aj(m−1)−Ahであれば、Order(m)の方がOrder(m−1)よりもヘッドのシーク時間が長くなると判断して、並べ替えを終了する。
【0144】
{Tk(m)=Tj(m−1)かつAk(m)−Ah≦Aj(m−1)−Ah}、またはTk(m)<Tj(m−1)であれば、Order(m)とOrder(m−1)を入れ替える。そして、mの値を“1”デクリメントして、同様の処理を繰り返す。
【0145】
多くの場合、新たに登録された処理の終了期限は既に登録されている処理のそれよりも遅いことが期待できるので、このようなアルゴリズムによれば、並べ替え処理の時間が最小限に押さえられる。
【0146】
また、図17において新たに登録された要素を、二分探索手法を用いてスケジュールテーブル70に登録するアルゴリズムは、図22のようになる。このアルゴリズムでは、MPU61は、まず、Order(m)の終了期限Tk(m)をOrder(m/2)の終了期限Tj(m/2)と比較する。
【0147】
そして、Tk(m)>Tj(m/2)であれば、次に、Order(m/2)とOrder(m)の間のさらに半分の順位の要素Order(3m/4)を比較対象とし、Tk(m)をTj(3m/4)と比較する。一方、Tk(m)<Tj(m/2)であれば、次に、Tk(m)をTj(m/4)と比較する。
【0148】
このような比較処理を繰り返して、Tk(m)が属する範囲を徐々に絞り込んでいき、最後に確定した順位にOrder(m)を挿入する。これにより、2のべき乗程度の回数で比較が終了し、並べ替えが比較的短時間で終了する。
【0149】
次に、図23から図29までを参照しながら、複数のチャンネルでリアルタイムの書き込み要求が発生した場合に、ディスク66上の適切な書き込み領域を割り当てるスケジューリング方法について説明する。
【0150】
前述したように、通常、ディスク66には1つ以上のトラックからなる複数のゾーンが設けられている。ZCAV方式の場合、外周のゾーンの記憶容量は内周のゾーンのそれよりも大きいため、外周のゾーンの転送レートは内周のゾーンのそれよりも大きくなる。そこで、このようなゾーンによる転送レートの違いを考慮し、状況に応じて書き込み対象のゾーンを動的に変更することにする。
【0151】
図23は、リアルタイムの複数の書き込み要求に対して、Write処理の数に応じてゾーンを決定する処理の第1の原理を説明するフローチャートである。MPU61は、まず、複数チャネルのRead/Writeのリアルタイム命令に従い、一定のブロック単位でデータをバッファメモリ64に一時蓄積する(ステップS51)。上述したように、単位ブロックのサイズは、通常、64KB程度である。
【0152】
次に、リアルタイムのWrite命令の実行数が増えた場合には、その実行数に従ってディスク66上の書き込みゾーンをより外周に変更し(ステップS52)、Write命令の実行数が減った場合には、その実行数に従って書き込みゾーンをより内周に変更する(ステップS53)。
【0153】
この方法では、Write命令の実行数とゾーンとがあらかじめ対応付けられており、同時に実行するWrite処理の数に応じて書き込みゾーンを移動することで、転送レートの最適化が図られる。
【0154】
例えば、MPU61は、ステップS52においては、書き込みアドレスを実行数に対応する、より外周のゾーンに移動し、ステップS53においては、書き込みアドレスを実行数に対応する、より内周のゾーンに移動する。このように、Write処理の数が増えた場合に、より転送レートの高い外周のゾーンを利用することで、処理効率が向上する。
【0155】
また、図24は、リアルタイムの複数の書き込み要求に対して、Write処理の転送レートに応じてゾーンを決定する処理の第2の原理を説明するフローチャートである。MPU61は、まず、複数チャネルのRead/Writeのリアルタイム命令に従い、一定のブロック単位でデータをバッファメモリ64に一時蓄積する(ステップS61)。
【0156】
次に、リアルタイムのWrite命令の実行数が増えた場合には、それらの命令の実行レートの合計に従ってディスク36上の書き込みゾーンをより外周に変更し(ステップS62)、Write命令の実行数が減った場合には、それらの命令の実行レートの合計に従って書き込みゾーンをより内周に変更する(ステップS63)。
【0157】
この方法では、複数のWrite命令が要求する転送レートの総和と各ゾーンの転送レートとの関係を考慮してゾーンを移動することで、図23の方法よりさらに綿密な最適化が図られる。
【0158】
MPU61は、ステップS62においては、例えば、複数のWrite命令が要求する転送レートの総和が現在のヘッド位置に対応するゾーンの基準転送レートを上回るならば、書き込みアドレスをより外周のゾーンに移動する。
【0159】
また、ステップS63においては、例えば、転送レートの総和が現在のゾーンの基準転送レートを下回り、かつ、より内周のゾーンの基準転送レートがその総和を上回るならば、書き込みアドレスをそれより内周のゾーンに移動する。このように、複数のWrite命令が要求する転送レートの総和に応じて、より最適なゾーン領域に移動することで、ディスク66を効率的に使用して、ディスク66へのアクセス効率を向上することができる。
【0160】
図25は、ディスク66上の複数のゾーンと各ゾーンの転送レートの例を示している。ディスク36は、6つのゾーンZ1〜Z6に分割され、ゾーンZ1、Z2、Z3、Z4、Z5、Z6の容量は、それぞれ、1トラック当たり92KB(キロバイト)、100KB、108KB、116KB、124KB、132KBである。
【0161】
ディスク66の回転数を10000rpm(6ms/回転)とすると、ゾーンZ1、Z2、Z3、Z4、Z5、Z6の転送レートは、それぞれ、15.4MB/s、16.8MB/s、18.1MB/s、19.5MB/s、20.9MB/s、22.3MB/sとなる。一般に、最内周のゾーンの転送レートは最外周のゾーンの60%程度である。
【0162】
図26は、図23のゾーン決定処理に従って、図25のようなゾーンにデータを書き込む処理の例を示している。まず、Write処理のチャネル数が1(Ch1)の場合は、最内周のゾーンZ1が選択され、トラックの方向(円周方向)に沿ってCh1、Ch1、Ch1、Ch1、...の順に、ゾーンZ1の連続アドレスにデータが書き込まれる。また、チャネル数が2(Ch1、Ch2)の場合は、ゾーンZ2が選択され、Ch1、Ch2、Ch1、Ch2、...の順に、ゾーンZ2の連続アドレスにデータが書き込まれる。
【0163】
チャネル数が3(Ch1〜Ch3)の場合は、ゾーンZ3が選択され、Ch1、Ch2、Ch3、...の順に、ゾーンZ3の連続アドレスにデータが書き込まれる。また、チャネル数が4(Ch1〜Ch4)の場合は、ゾーンZ4が選択され、Ch1、Ch2、Ch3、Ch4、...の順に、ゾーンZ4の連続アドレスにデータが書き込まれる。チャネル数が5(Ch1〜Ch5)の場合は、ゾーンZ5が選択され、Ch1、Ch2、Ch3、Ch4、Ch5、...の順に、ゾーンZ5の連続アドレスにデータが書き込まれる。また、チャネル数が6(Ch1〜Ch6)の場合は、ゾーンZ6が選択され、Ch1、Ch2、Ch3、Ch4、Ch5、Ch6、...の順に、ゾーンZ6の連続アドレスにデータが書き込まれる。
【0164】
また、図24のゾーン決定処理に従ってデータを書き込む場合は、各ゾーン毎に基準転送レートが設定され、Write処理の転送レートの総和をこの基準転送レートと比較して、書き込みゾーンが決定される。各Write処理の転送レートは、例えば、バッファメモリ64における単位ブロック当たりの一時蓄積時間から計算される。
【0165】
基準転送レートとしては、図25に示した各ゾーンの転送レート以下の値が用いられる。ここでは、シーク待ち、回転待ちの時間を考慮して、各ゾーンの転送レートの30%程度の値を用いることにし、ゾーンZ1、Z2、Z3、Z4、Z5、Z6の基準転送レートを、それぞれ、5.0MB/s、5.5MB/s、6.0MB/s、6.5MB/s、7.0MB/s、7.5MB/sとする。
【0166】
まず、Write処理の転送レートの総和が5.0MB/s以下の場合は、最内周のゾーンZ1が選択され、図26と同様にして、ゾーンZ1の連続アドレスにデータが書き込まれる。また、転送レートの総和が5.0MB/sより大きく5.5MB/s以下の場合は、ゾーンZ2の連続アドレスにデータが書き込まれる。
【0167】
転送レートの総和が5.5MB/sより大きく6.0MB/s以下の場合は、ゾーンZ3の連続アドレスにデータが書き込まれ、それが6.0MB/sより大きく6.5MB/s以下の場合は、ゾーンZ4の連続アドレスにデータが書き込まれる。また、転送レートの総和が6.5MB/sより大きく7.0MB/s以下の場合は、ゾーンZ5の連続アドレスにデータが書き込まれ、それが7.0MB/sより大きく7.5MB/s以下の場合は、ゾーンZ6の連続アドレスにデータが書き込まれる。
【0168】
このように、各チャネルのデータは、ディスク66上の同じゾーンまたは近接したゾーンに集中して、かつ、スケジューリングされた順序に従ってできる限りシーケンシャルに書き込まれる。これにより、ディスク66のシーク待ち、回転待ち等の時間を短縮することができる。
【0169】
また、割り当てられたゾーンが実行時に一杯の場合(空き領域がない場合)は、自動的により外側の隣接するゾーンが選択され、外側のゾーンがすべて一杯の場合は、内側のゾーンが選択される。
【0170】
図27は、図23のゾーン決定処理に基づくWrite処理のフローチャートである。ストレージデバイス51は、まず、Nチャネルの同時Write命令を受け付けてそれらを実行し(ステップS71)、同時Write処理のチャネル数の増減があるかどうかをチェックする(ステップS72)。
【0171】
チャネル数が増えた場合は、書き込みゾーンを1つ外側に移動し、チャネル数Nを1だけインクリメントして(ステップS73)、Nチャネルの同時Write処理をスケジューリングされた順序で実行する(ステップS74)。このとき、各チャネルのデータは、選択されたゾーンにシーケンシャルに書き込まれ、ステップS72以降の処理が繰り返される。
【0172】
ステップS72においてチャネル数が減った場合は、書き込みゾーンを内側に移動し、チャネル数Nを1だけデクリメントして(ステップS75)、N=0となったかどうかをチェックする(ステップS76)。N=0でなければ、ステップS74以降の処理を行う。
【0173】
また、ステップS72においてチャネル数が変化していない場合は、書き込みゾーンを移動せずにステップS74以降の処理を行う。そして、ステップS76においてN=0となれば、同時Write処理がすべて終了したと判断し、処理を終了する。
【0174】
ところで、図25に示したような内周と外周の転送レートが異なるディスク66では、内周ゾーンに集中してデータを書き込むことが困難である。この場合、内周と外周のゾーンを対にして交互にアクセスすることで、ディスク全体で転送レートが平均化され、一定の転送レートが得られると考えられる。例えば、図12の6つのゾーンの平均転送レートは、18.8MB/sである。
【0175】
図28は、このようなWrite処理のフローチャートである。ストレージデバイス51は、まず、複数チャネルのWriteのリアルタイム命令に従い、一定のブロック単位でデータをバッファメモリ64に一時蓄積する(ステップS81)。
【0176】
次に、ドライバ回路63は、ゾーン対の片方のゾーンに対して、複数チャネルのWrite命令に対応する実行数分のブロックデータを連続して書き込み(ステップS82)、ゾーン対の他方のゾーンにヘッドを移動する(シークする)(ステップS83)。
【0177】
次に、移動先のゾーンに対して、複数チャネルのWrite命令に対応する実行数分のブロックデータを連続して書き込み(ステップS84)、ゾーン対の他方のゾーンにヘッドを戻す(ステップS85)。
【0178】
次に、書き込みデータが終了したかどうかを判定し(ステップS86)、データが終了していなければ、ステップS82以降の処理を繰り返す。そして、ステップS86においてデータが終了すれば、処理を終了する。
【0179】
この方法によれば、ゾーン対となる内周と外周のゾーン間をヘッドが交互に移動しながら、各ゾーンにシーケンシャルにデータが書き込まれる。言い換えれば、データはディスク36上の一部分に集中して書き込まれるのではなく、ゾーン単位で分散させながら書き込まれる。これにより、ディスク全体で転送レートが平均化されるため、処理効率が向上する。
【0180】
図29は、図28の書き込み処理の例を示している。Write処理のチャネル数を3(Ch1〜Ch3)とし、最内周のゾーンZ1と最外周のゾーンZ6をゾーン対とすると、まず、ゾーンZ1において、Ch1、Ch2、Ch3、...の順に連続アドレスにデータが書き込まれ、次に、ゾーンZ6にシークして、Ch1、Ch2、Ch3、...の順に連続アドレスにデータが書き込まれる。このような動作がデータの書き込みが終了するまで繰り返され、ディスクヘッドはゾーンZ1とゾーンZ6の間を往復しながら、3チャネルのデータの連続書き込みを行う。
【0181】
以上説明したように、ディスクアクセスの制御は、主として、図12のMPU61により行われる。MPU61は、図30に示すように、マイクロプロセッサ71とメモリ72を含む。メモリ72は、例えば、ROM(read only memory)、RAM(random access memory)等を含み、制御に用いられるプログラムとデータを格納する。マイクロプロセッサ71は、メモリ72を利用してプログラムを実行することにより、必要な処理を行う。
【0182】
バス75に接続された媒体駆動装置73は、可搬記録媒体74を駆動し、その記録内容にアクセスする。可搬記録媒体74としては、メモリカード、フロッピーディスク、CD−ROM(Compact Disk Read Only Memory)、光ディスク、光磁気ディスク(Magneto−Optical disk)等、任意のコンピュータ読み取り可能な記録媒体が用いられる。この可搬記録媒体74に上述のプログラムとデータを格納しておき、必要に応じて、それらをMPU61のメモリ72にロードして使用することもできる。
【0183】
さらに、MPU61は、LSI62を介して、外部のネットワークから上述のプログラムとデータを受け取り、それらをメモリ72にロードして使用することもできる。
【0184】
本発明は、ホームネットワークにおける映像/音声データの処理だけでなく、データをリアルタイムで処理しなければならないような任意の用途に適用することができる。例えば、処理対象のデータをコンピュータシステムへ取り込む場合にも、同様の制御が可能である。また、アクセス対象としては、磁気ディスク、光ディスク、光磁気ディスクを始めとして、メモリカード等も含む任意の記録媒体を用いることができる。
【0185】
本発明によれば、実際の書き込みデータの転送レートに従って終了期限を決め、それに基づいてディスクアクセスのスケジューリングを行うことで、多数のチャネルの記録/再生が可能になる。また、リアルタイムの複数の書き込み要求に対して書き込み領域による転送レートの違いを利用することで、処理が効率化され、さらに多数のチャネルの記録/再生が可能になる。
【0186】
図31から図33は、本発明を、記録媒体としてASMOに適用した実施形態の記録方式を説明する図である。尚、本発明は、ASMOに限定されるものではなく、ランド・グループ記録方式を採用している他の記憶媒体にも適用可能である。
【0187】
図31から図33では、理解を容易にするために、論理ゾーンLZ1、LZ2、LZ3の3つの論理ゾーンにデータを記録する例を示している。
図31に示すように、各論理ゾーンLZ1、LZ2、LZ3は、隣接するグループ101とランド102を有し、欠陥セクタに対処するために、グループ101とランド102のそれぞれに後続して、交替セクタ104、105が設けられている。
【0188】
図32は、1チャンネルのデータを論理ゾーンLZ1、LZ2、LZ3にシーケンシャルに記録する方法を説明する図である。
同図(a)は、論理ゾーン単位で記録する例であり、論理ゾーンLZ1、LZ2、LZ3の順に、1〜6の順序でデータが記録される。すなわち、この場合、各論理ゾーンにおいて、グループ101、ランド102の順にデータが記録される。
【0189】
同図(b)は、グループ101のみに記録する例であり、論理ゾーンLZ1、LZ2、LZ3の順に、それぞれのグループ101に、データが順に記録される。同図(c)は、ランド102のみに記録する例であり、論理ゾーンLZ1、LZ2、LZ3の順に、それぞれのランド102に、データが順に記録される。
【0190】
図33は、2チャンネルのデータを論理ゾーンLZ1、LZ2、LZ3に同時記録する方法を説明する図である。
同図において、1−1〜1−3はチャンネルCh1のデータ、2−1〜2−3はチャンネルCh2のデータを示している。この場合、論理ゾーンLZ1、LZ2、LZ3の順に、グループ101とランド102に交互にデータが記録されるが、チャンネルCh1のデータは論理ゾーンLZ1、LZ2、LZ3のグループ101に記録され、チャンネルCh2のデータは論理ゾーンLZ1、LZ2、LZ3のランド102に記録される。このように、チャンネルCh1のデータとチャンネルCh2のデータを、グループ101とランド102に分けて記録することで、一方のチャンネルの記録データが削除された場合でも、他方のチャンネルのデータの再生に支障が及ぶことはない。また、記録データが削除された場所に、新たなチャンネルのデータを集中して高速に記録することができる。
【0191】
図34は、チャンネルCh1,Ch2の2チャンネル同時記録を、図33(a)に示す方法で行った後に,チャンネルCh2の記録削除を行い、その後チャンネルCh1の記録データのガーベージコレクションを実施する処理の例を示す図である。
【0192】
まず、同図(a)に示すように、論理ゾーンLZ1、LZ2、LZ3のグループ101にチャンネルCh1のデータを、論理ゾーンLZ1、LZ2、LZ3のランド102にチャンネルCh2のデータを同時記録したとする。この場合、ヘッドのシークは不要である。
【0193】
次に、同図(b)に示すように、論理ゾーンLZ1、LZ2、LZ3のランド102からチャンネルCh2のデータを削除したとする。この場合、チャンネルCh1のデータは論理ゾーンLZ1、LZ2、LZ3のグループ101に連続して記録されているので、チャンネルCh1のデータの再生はスムーズに実行できる。また、論理ゾーンLZ1、LZ2、LZ3のランド102に、新たに、チャンネルCh2’のデータを記録するようにすることも可能となる。
【0194】
また、上述のようにしてチャンネルCh2のデータを削除した後に、論理ゾーンLZ3以降に、新たに、2チャンネルの同時記録を実行したい場合には、同図(c)に示すようにして、チャンネルCh1のデータのガーベージコレクションを実施する。この場合、論理ゾーンLZ1のランド102に論理ゾーンLZ2のグループ101に記録されたチャンネルCh1のデータが移動され、論理ゾーンLZ2のグループ101に論理ゾーンLZ3のチャンネルCh1のデータが移動される。この結果、同図(c)に示すように、論理ゾーンLZ3のグループ101とランド102が共に空き領域となる。このことにより、同図(e)に示すように、論理ゾーンLZ3以降のグループ101とランド102に、それぞれ、チャンネルCh3,Ch4のデータを同時記録することが可能になる。
【0195】
図33及び図34の動作を実現する本実施形態の処理手順を、図35のフローチャートを参照しながら説明する。
まず、記録、再生、または削除命令をスタック(プッシュ・アップ・スタック)に格納する(ステップS91)。
【0196】
次に、スタックに命令があるか判定し(ステップS92)、命令がなければ処理を終了する。
一方、ステップS92で、命令が存在すると判定した場合には、スタックから命令を取り出し、その命令が1chあるいは2chのいずれの記録命令、再生命令、または削除命令であるか判定する(ステップS93)。
【0197】
そして、1chの記録命令であれば、論理ゾーン、グループ、またはランドに沿って記録する(ステップS94)。また、2chの記録命令であれば、一方のチャンネルをグループに沿って、他方のチャンネルをランドに沿って記録する(ステップS95)。ステップS94、S95の処理の後、ステップS92に戻る。
【0198】
また、ステップS93で命令が1chあるいは2chのいずれの記録命令でもないと判定した場合には、次に、再生命令または削除命令のいずれであるか判定する(ステップS96)。そして、再生命令であれば、1chの再生を行い(ステップS97)、ステップS92に戻る。
【0199】
一方、ステップS96で削除命令と判定した場合には、次に、その削除命令が2ch記録の片方の削除であるか判定する(ステップS98)。すなわち、2ch同時記録した場合の片方のチャンネルの削除であるか判定する(図33参照)。
【0200】
そして、2ch記録の片方の削除ではなく、1ch記録の削除の命令であれば、指定された1ch記録を削除し(ステップS99)、ステップS92に戻る。すなわち、図32に示すような1ch記録の削除でれば、論理ゾーン、グループ、またはランドから指定されたチャンネルの記録を削除する。
【0201】
一方、ステップS98で2ch同時記録した場合の片方のチャンネルの削除命令であれば、その片方のチャンネルの記録を論理ゾーンのグループまたはランドから削除する(ステップS100)。この場合、論理ゾーンのグループまたはランドに空きが生じる。
【0202】
次に、ディスク上に論理ゾーンの空き領域が十分にあるか判定する(ステップS101)。そして、空き領域が十分にあれば、ステップS92に戻るが、空き領域が不足していれば、次の2ch同時記録に備え、ステップS100で削除されなかったチャンネルの記録を、ステップS100でグループまたはランドに空きが生じた論理ゾーンにガーベージコレクションする(ステップS102)。
【0203】
このガーベージコレクションは、図33(b),(c)に示す方法により行う。これにより、空き領域となる論理ゾーンが増加する。ステップS102の処理の後、ステップS92に戻る。
【0204】
以上のようにして、2chの同時記録において、グループ或いはランドの連続性をうまく利用して記録することで、後で、1chの再生をスムーズに行える。また、片方のチャンネルの削除を行っても飛び空き領域を作ることなく、それに伴うガーベジコクションの実行回数も削減することができる。
【0205】
次に、ZCAVにより回転制御されるディスクにおける内周と外周の転送速度(転送レート)の違いを吸収する方法として、2チャンネルのデータを内周と外周に分散して記録する例を示す。図36に示すように、内周と外周の転送速度が異なるZCAVによりディスク110の回転制御を行うドライブでは、転送速度の遅い内周に集中して記録することは困難となる、そこで、内周のゾーンと外周のゾーンを対にして、これらのゾーンを交互にアクセスすることで、転送速度が平均化され、ディスク110全体で一定レートが得られる。
【0206】
図36は、上述した図25のディスク66と同様な形式で、ディスク110を6つのゾーン1〜6に分割した例であり、平均転送レートとして、18.8MB/sが得られる。
【0207】
図37は、図36に示すゾーン分割構成のディスク110に、2chの同時記録を適用した場合の処理を説明する図である。まず、同図(a)に示すようにゾーン1とゾーン6を対にして、ゾーン6、1に、それぞれ、チャンネルCh1、2のデータを同時記録したとする。この場合、トラック(円周)方向に各チャンネルのデータを記録する。この場合、ヘッドのシークは、ゾーン6とゾーン1に対し交互に行われる。
【0208】
次に、同図(a)に示すように、ゾーン1からCh2の記録を削除したとする。このことにより、ゾーン1に、新たに、チャンネルCh2’のデータを集中して記録することが可能になる。また、内周の空き領域のみが増加して、2chの同時記録をする場所が少なくなってきた場合には、同図(b)に示すように、転送レートの高いゾーン6の有効利用を図るために、ゾーン6に記録されているCh1のデータをCh2のデータの削除により空きができたゾーン1に移動するガーベージコレクションを実施する。
【0209】
そして、ゾーン6に空き領域を確保した上で、同図(c)に示すように、ゾーン6とゾーン2を対にして、ゾーン6、2に、それぞれ、チャンネルCh3、4の同時記録を行う。
【0210】
図38は、図37に示す処理を実現するアルゴリズムを説明するフローチャートである。
まず、記録、再生、または削除命令をスタック(プッシュ・アップ・スタック)に格納する(ステップS111)。
【0211】
次に、スタックに命令があるか判定し(ステップS112)、命令がなければ処理を終了する。
一方、ステップS112で、命令が存在すると判定した場合には、スタックから命令を取り出し、その命令が1chあるいは2chのいずれの記録命令、再生命令、または削除命令であるか判定する(ステップS113)。
【0212】
そして、1chの記録命令であれば、内周のゾーンを優先して指定されたチャンネルのデータを記録する(ステップS114)。また、2chの記録命令であれば、一方のチャンネルを内周のゾーンに沿って、他方のチャンネルを外周のゾーンに沿って、交互に記録する(ステップS115)。ステップS114、S115の処理の後、ステップS112に戻る。
【0213】
また、ステップS193で命令が1chあるいは2chのいずれの記録命令でもないと判定した場合には、次に、再生命令または削除命令のいずれであるか判定する(ステップS116)。そして、再生命令であれば、1chの再生を行い(ステップS197)、ステップS112に戻る。
【0214】
一方、ステップS116で削除命令を判定した場合には、次に、その削除命令が2ch記録の片方の削除であるか判定する(ステップS118)。すなわち、2ch同時記録した場合の片方のチャンネルの削除であるか判定する(図37(a)参照)。
【0215】
そして、2ch記録の片方の削除ではなく、1ch記録の削除の命令であれば、指定された1ch記録を削除し(ステップS119)、ステップS112に戻る。
【0216】
一方、ステップS128で2ch同時記録した場合の片方のチャンネルの削除命令であれば、その片方のチャンネルの記録を削除する(ステップS120)。この場合、内周または外周のゾーンに空き領域が生じる。
【0217】
次に、記録が削除さたゾーンが内周側であるか判定する(ステップS121)。そして、内周側でなければ、ステップS112に戻るが、内周側であれば、次の2ch同時記録に備え、ステップS100で削除されなかった外周側のゾーンに記録されているデータを内周側のゾーンに移動するガーベージコレクションを実施する(ステップS122)。
【0218】
このガーベージコレクションは、図37(b)に示す方法により行う。これにより、外周側のゾーンの空き領域が増加する。ステップS122の処理の後、ステップS112に戻る。
【0219】
以上のようにして、転送速度の遅い内周側のゾーンと転送速度の速い外周側のゾーンとを対にして利用することにより、2チャンネル記録を高速化することができる。
【0220】
図39及び図40は、図38の詳細フローチャートである。図39及び図40のフローチャートの説明に先立って、本フローチャートで使用する管理テーブルについて説明する。
【0221】
本フローチャートでは、mチャンネルの映像データに対して、各チャンネル毎のストリームデータの繋ぎを示すStreamという情報を定義する。図41は、このStreamを管理するテーブル120の構成例を示す図である。
【0222】
このテーブル120は、m個のStream(1)〜(m)から構成される。Stream(i)はiチャンネルのストリームデータの情報である(i=1,2,...m)。各Stream(i)は、データが記録されている先頭アドレス(Add)と連続アドレスに記録されているデータ量(Data)との組(Add,Data)がリスト構造で連結されたデータ構造となっており、このリストの最後にはストリームの終了を示す情報(END)が付加される。また、Stream(i)は、2ch記録の対象となっているかを示す“相手stream”という情報を有する。1ch記録の場合、相手streamの値は“0”に設定される。
【0223】
また、図42はディスク110の各ゾーンの空き領域を管理するテーブル130の構成例を示す図である。この例では、ディスク110の内周と外周を共にn個のゾーンに分割し、内周のn個のゾーン(ゾーン1〜ゾーンn+1)と外周のn個のゾーン(ゾーンn+2〜ゾーン2n)を個別に管理する。各ゾーンj(j=1〜2n)は、その中での空き領域を示す情報(Empty〔j〕)と記録された充填領域を示す情報(Full(j))を持つ。Empty〔j〕とFull〔j〕のいずれの情報も、Stream(i)と同様な連結リストで構成される。尚、Empty〔j」のアドレスAddは対応ゾーンjの空き領域の先頭アドレスをしめし、Full〔j〕のアドレスAddは対応ゾーンjの先頭アドレスを示す。また、Emptyのデータ量は空き容量であり、Fullのデータ量は記録データ量を示す。また、Empty〔j」の初期値は(ゾーンjの先頭アドレス,ゾーンjのデータ量)→Endであり、Full「k」の初期値はEnd(記録データ量無し)である。
【0224】
図43は、図36に示すディスク110のゾーン構成を管理するテーブル140を示す図である。このテーブル140は、図42においてn=3とした場合に相当し、各ゾーンについて、「バイト数/トラック」、「トラック数」、「セクタ数」、及び「セクタアドレス」を管理している。ゾーン1〜6には、それぞれ、ゾーンno.(ゾーン番号)として“1”〜“6”が割り当てられている。また、各ゾーン1〜6には1000個のトラックが設けられている。また、1セクタは512B(バイト)であり、ゾーン1には、184k(184000)のセクタが設けられている。図43に示されているように、セクタ数は外周のゾーン程多くなり、ゾーン6では264k(264000)のセクタが設けられている。セクタアドレスは、ゾーン1の先頭セクタから順にシリアルに割り当てられている。図43には、各ゾーンの先頭セクタアドレスと最終セクタアドレスが示されており、ゾーン1の先頭セクタアドレスは“1”、ゾーン6の最終セクタアドレスは“1344000”となっている。
【0225】
以下、図39及び図40のフローチャートの処理手順を、説明する。
尚、これらのフローチャートで示されているアドレスは、セクタアドレスである。
【0226】
まず、ディスク110の空きゾーンを管理するためにテーブル120、130を初期化する(ステップS131)。この初期化処理では、以下の(1)〜(3)の処理を行う。
【0227】
(1) テーブル120の初期化 まだ、映像データを記録していないので、Stream(1)〜(m)に「END」を登録し、相手streamを“0”に初期化する(最初は、1ch記録を対象とする)。
【0228】
(2) テーブル130の初期化 内周ゾーン(番号1〜n)と外周ゾーン(番号n+1〜2n)を定義し、これら2n個のゾーンのEmpty情報とFull情報を初期化する。Emptyには、該当するゾーンの先頭アドレス、該ゾーンのデータ量を登録し、最後にEndを付加する。Fullには、Endだけを登録する。
【0229】
(3) これから記録していく最初の内周ゾーンのゾーン番号を示すパラメータinner−zoneを“1”に、これから記録していく最初の外周ゾーンのゾーン番号を示すパラメータouter−zoneを“2n”に設定する。また、Stream番号を“1”に設定する。
【0230】
次に、命令の種類が、1ch記録なのか、2ch記録なのか、それら以外なのか判断し(ステップS132)、1ch記録であればステップS133に、2ch記録であればステップS140に、その他であればステップS147に進む。
【0231】
ステップS133では、1ch記録なので、内周に記録することを優先し、内周用のStream番号が設定される変数m2にmの値を代入し、Stream番号mの値を“1”インクリメントする。また、相手streamはまだ存在しないので、相手streamは“0”に設定する。この処理により、m2の値は最初は、“1”となる。
【0232】
次に、テーブル130において、内側のゾーン(inner−zone)から、各ゾーンの空き領域を示すEmptyリストを検索し、データ量が0より大きいEmpty〔I〕(I=inner−zone〜2n+1)が見つかれば(ステップS134)、そのEmpty〔I〕のリスト内容に従い、ゾーンIに1ch記録を行う(ステップS135)。
【0233】
ステップS135での記録の途中で、随時、Empty〔I〕にリストされている全ての領域に記録したか判断し(ステップS136)、全ての領域に記録すれば、テーブル120のStream(m2)にEmpty〔I〕のリストを追加する。これにより、Stream(m2)にStream番号m2のストリームデータのゾーンI上の記録領域が登録される。次に、Empty〔I〕のリストをEndのみとする。これにより、ゾーンIに空き領域がないことが、Empty〔1〕に登録される。また、Full〔I〕には、対象ゾーンIの全領域にデータが記録されたことを示すために、(ゾーンIの先頭アドレス、ゾーンIのデータ量)→Endのリストを登録する。そして、Iを“1”インクリメントし、対象ゾーンを1つ外周側に移す(ステップS137)。
【0234】
次に、1chの記録が終了したか判断し(ステップS138)、記録が終了していれば、ステップS139に進むが、まだ、Stream番号m2のストリームデータの全記録を終了していなければ、ステップS135に戻る。
【0235】
このようにして、1ch記録の場合には、Stream番号m2のストリームデータの全ての記録が終了するまで、ステップS135〜S137の処理を繰り返し、内周のゾーンから1ゾーンづつ外周のゾーンに残りのストリームデータを記録していく。
【0236】
そして、ステップS138でStream番号m2のストリームデータの全ての記録が終了したと判断すれば、その記録データの最終アドレスまでのリストを、Stream(m2)に追加する。次に、Empty〔I〕には、(最終アドレス+1,残りのデータ量)→Endのリストを登録し、Full〔I〕には、(ゾーンIの先頭アドレス、記録されたデータ量)→Endのリストを登録する。そして、次の内周ゾーンの書き込み起点を示すinner−zoneにIを設定し、ステップS132に戻る。
【0237】
尚、ステップS139において、ステップS136でYesと判断された後、ステップS138でYesと判断された場合には、inner−zoneにIを設定する処理のみが行われる。この場合、ステップS136でYesと判断された時点で、Stream番号m2のストリームデータ記録は全て終了しており、再び、ステップS135の処理は実行されることはないからである。
【0238】
以上のようにして、記録されたStream番号m2のストリームデータのアドレス情報とデータ量をテーブル120のStream(m2)に登録し、テーブル130のEmpty〔〕とFull〔〕のリストを更新する。
【0239】
一方、ステップS140では、2ch記録なので、内周ゾーンと外周ゾーンに分散して記録する。このため、外周用のStream番号m1をmに、内周用のStream番号m2を(m+1)に設定する。この実施形態の場合、外周ゾーンに記録されるチャンネルデータのStream番号は、内周ゾーンに記録される他チャンネルのStream番号よりも1つ小さくなる。続いて、2ch記録であるため、Stream番号mを“2”インクリメントする。また、2chの記録の場合には、データが記録される内周ゾーンと外周ゾーンとも、相手streamは互いに存在するので、Stream(m1)の相手streamにm2を、Stream(m2)の相手streamにm1に設定する。次に、Stream番号m2のストリームデータは内周ゾーンに記録するので、ステップS134に進むと共に、Stream番号m1のストリームデータは外周ゾーンに記録するので、ステップS141に進む(ステップS140)。
【0240】
以後、ステップS134以降の処理とステップS141以降の処理は、並列処理される。
ステップS141では、テーブル130のEmptyリストを参照して、外周のゾーン(outer−zone)から順次1ゾーンづつ内周側のゾーンへと、空き領域の有るゾーンJを探索する(ステップS141)。
【0241】
そして、ステップS141で見つけたゾーンJのEmpty〔J〕の内容に従い、ゾーンJにStream番号m1のストリームデータを記録する(ステップS142)。ステップS142において記録をしている途中で、随時、Empty〔J〕に登録されたゾーンJの全ての領域に記録を終了したか判断し(ステップS143)、全ての領域に記録を終了したと判断した場合には、ステップS144に進み、まだ、全ての領域に記録を終了していないと判断した場合には、ステップS145に進む。
【0242】
ステップS144では、Stream(m1)にEmpty〔J〕のリストを追加する。そして、Empty〔J〕のリストをEnd(データ量無し)とする。また、Full〔J〕には、ゾーンJの全ての領域に記録がなされたとして、(ゾーンJの先頭アドレス、ゾーンJのデータ量)→Endのリストを登録する。そして、Jを“1”デクリメントして、対象ゾーンを1つ内周側のゾーンに移す。
【0243】
次に、記録が終了したか判断し(ステップS145)、終了していれば、ステップS146に進み、終了していなければ、ステップS142に戻る。
このようにして、1つのゾーンのみでは記録が終了しない場合には、Stream番号m1のストリームデータの全ての記録が終了するまで、ステップS142〜S145の処理を繰り返しながら、外周側から内周側へとゾーンを1つづつ移動しながら、該ストリームデータを記録していく。
【0244】
そして、ステップS145でStream番号m1のストリームデータの記録が全て終了したと判断すると、記録された最終アドレスまでのリストを、Stream(m1)に登録する。また、Empty〔J〕には、(最終アドレス+1、残りのデータ量)→Endのリストを登録し、Full〔J〕には、(ゾーンJの先頭アドレス、記録されたアドレスまでのデータ量)→Endのリストを登録する。そして、次の外周ゾーンへの書き込みの起点となるouter−zoneをJに設定し(ステップS146)、ステップS132に戻る。
【0245】
尚、上述したステップS139と同様に、ステップS146においても、ステップS143でYesと判断された後、ステップS145でYesと判断された場合には、outer−zoneにJを設定する処理のみが行われる。この場合、ステップS146でYesと判断された時点で、Stream番号m1のストリームデータ記録は全て終了しており、再び、ステップS142の処理は実行されることはないからである。
【0246】
以上のステップS141〜S146の処理と並列して、ステップS134〜S139の処理が実行され、内周側のゾーンにもStream番号m2のストリームデータの記録がなされる。
【0247】
ステップS147では、再生命令または削除命令のいずれであるか判断し、再生命令であれば、指定されたStream番号mxのストリームデータを、テーブル120のStream(mx)のリストを参照して再生し(ステップS148)、ステップS142に戻る。一方、削除命令であれば、指定されたStream番号mxのストリームデータを管理しているStream(mx)のリストに従い、関連する各ゾーンのEmptyにStream(mx)のリストを追加すると共に、関連する各ゾーンのFullからStream(mx)のリストを削除する(ステップS149)。この処理により、当該EmptyにStream番号mxのストリームデータの削除領域が追加され、当該FullからStream番号mxのストリームデータの削除領域の情報が削除される。
【0248】
次に、削除指定されたStream(mx)に相手stream(=my)があるか調べ(ステップS150)、相手streamが無ければ(myが“0”であれば)、ステップS142に戻る。
【0249】
一方、相手streamがあると判断した場合は、my>mxであるか判断する(ステップS151)。この判断は、Stream番号myのストリームデータを外周から内周に移動すべきか判断する処理である。上述したように、本実施形態では、ステップS140の処理により、2ch記録する場合、外周ゾーンに記録されるストリームデータのStream番号は、内周ゾーンに記録されるストリームデータのStream番号よりも1つ小さくなるように設定される。
【0250】
そして、my>mxでなければ、ステップS142に戻るが、my>mxであれば、Stream(my)のリストを参照して、Stream番号myのストリームデータをディスク110から読みだし、次に、その読みだしたデータをStream(mx)のリストを参照して、ディスク110に再書き込みする(ステップS152)。この再書き込みは、ステップS149でEmptyに登録された領域にStream番号myのストリームデータを書き込む処理である。
【0251】
次に、Stream(my)のリストに従い、関連する各ゾーンのEmptyにStream(my)のリストを追加すると共に、関連する各ゾーンのFullからStream(my)のリストを削除する(ステップS153)。
【0252】
この処理は、Stream番号myのストリームデータの記録領域の移動に伴う、EmptyとFullの更新処理である。
続いて、Stream(my)のリストをStream(mx)のリストに置き換える。また、関連するEmptyからStream(my)のリストを削除する。さらに、関連するFullにStream(mx)のリストを追加する。また、ストリーム(mx)を初期化する(ステップS154)。
【0253】
上述した図39及び図40のフローチャートの処理の流れの中で、2ch記録する場合、内周の空き領域を探索する処理と外周の空き領域を探索する処理は、それぞれ、ステップS134とステップS141に相当する。これらのステップの処理では、各ゾーンk(k=1〜2n)の残りデータ量をEmpty〔k〕を検索して調べ、記録対象のゾーンを決定する。
【0254】
次に、上述した図39及び図40のフローチャートの処理を、図43に示すゾーン構成のディスク110に適用した場合を例として取り上げながら、より具体的に説明する。
【0255】
図44は、図41、42、及び43のテーブル120、130をメモリ150上に実装した例を示す図である。メモリ150は、アドレス0〜17までの初期化領域151とアドレス18以降の拡張領域152を備えており、初期化領域151にテーブル120とテーブル130が実装される。また、拡張領域152にStream(i)(i=1〜5)の追加リストが格納される。
【0256】
図44において、格納内容は、メモリ150上の各アドレスに記憶されるリストを示している。このリストの要素は(記憶先頭アドレス、データ量、次格納アドレス)の3種類の情報の組からなる。尚、Endは(0、0、0)で表現される。
【0257】
メモリ150のアドレス0には(0、0、0)が格納される。また、メモリ150のアドレス1〜5には、Stream(1)〜(5)の各行で構成されるテーブル120が実装される。また、さらに、メモリ150のアドレス6〜17にはEmpty(1)〜(6)及びFull(1)〜(6)の各行で構成されるテーブル130が実装される。
【0258】
図39のフローチャートのステップS131の初期化処理により、テーブル120、130の内容は、図44の1に示す状態に初期化される。すなわち、テーブル120のStream(1)〜(5)にはEnd(0、0、0)が登録される。また、テーブル130のEmpty(1)〜(6)には、ゾーン1(Z1)〜6(Z6)の(先頭アドレス、データ量、次格納アドレス)が設定される。尚、この場合、次格納アドレスは0となる。また、テーブル130のFull(1)〜(6)には、(対応ゾーンの先頭アドレス、対応ゾーンの記録データ量、次格納アドレス)が設定される。この場合、記録データ量は“0”となる。また、次格納アドレスも0となる。
【0259】
次に、図46に示すように、Stream(1)とStream(2)の2ch同時記録が行われたとする。Stream(1)は外周ゾーン6から、Stream(2)はは内周ゾーン1から記録される。尚、ここで、Stream(1)はStream番号1のストリームデータを、Stream(2)はStream番号2のストリームで表す。以下の説明においても、同様である。
【0260】
図46では、ストリームデータ2とストリームデータ1を、それぞれ、ゾーン1とゾーン6に交互に記録し、まず、記憶容量に少ないゾーン1の領域全体にストリームデータ2が記録された状態を示している。この時点では、Stream(2)、Empty〔2〕およびFull〔2〕の格納内容は2に示すようになる。この結果、Stream(2)にEmpty〔1〕のリストが追加され、次格納アドレスとして拡張領域152のアドレス18が設定される。また、Empty〔1〕に空き領域無しを示すEndが設定され、Full〔1〕にゾーン1が全て記録済みであることを示す(1、184000、0)が設定される。
【0261】
続いて、図47に示すように、ストリームデータ1がゾーン6全体に記録された後、続いてゾーン5に記録され、また、ストリームデータ2がゾーン2に記録されて2ch記録が終了したとする。この結果、ストリームデータ1、2の管理情報は、図44の3に示すようになる。
【0262】
すなわち、
・ Stream(1)にEmpty〔6〕のリストを加え、その次格納アドレスに拡張領域152のアドレス19を設定する。
【0263】
・ Empty〔6〕にEnd(0、0、0)を設定し、Empty〔6〕にゾーン6に空き領域無しの情報を設定する。
【0264】
・ 拡張領域152のアドレス18に、Stream(2)の記録終了を登録するために、(ゾーン2の先頭アドレス、該先頭アドレスから記録された最終アドレスまでのデータ量、次格納アレス)のリストを作成する。
すなわち、アドレス18に(184001、11600、0)のリストを作成する。
【0265】
・ 前記ゾーン2の最終アドレスを基に、Empty〔2〕、Full〔2〕のリストを修正する。
Empty〔2〕を(300001、184000、0)、Full〔2〕を(184001、11600、0)とする。
【0266】
・ 拡張領域152のアドレス19に、Stream(1)の記録終了を登録するために、(ゾーン5の先頭アドレス、該先頭アドレスから記録された最終アドレスまでのデータ量、次格納アドレス(=0))のリストを作成する。
【0267】
すなわち、アドレス19に(832001、44000、0)のリストを作成する。
・ 前記ゾーン6の最終アドレスを基に、Empty〔5〕、Full〔5〕のリストを修正する。
Empty〔5〕を(300001、876000、0)、Full〔5〕を(832001、44000、0)とする。
続いて、図48に示すように、ゾーン1とゾーン2からStream(2)を削除したとする。この結果、データ管理情報は、図44の4に示すように変更される。
【0268】
すなわち、
・ Empty〔1〕を、再び、全て空き領域とし、Full〔1〕を記録領域無しとする。
Empty〔1〕を(1、184000、0)、Full〔1〕を(1、0、0)とする。
【0269】
・ Empty〔2〕を空き領域とし、Full〔1〕を記録領域無しとする。
Empty〔2〕を(184001、2000002、0)、Full〔2〕を(184001、0、0)とする。
【0270】
次に、図49に示すように、Stream(1)をStream(2)が記憶されていた領域に移動するガーベージコレクションを行ったとする。この結果、ストリームデータ管理情報は、図44の5に示すように変更される。
【0271】
すなわち、
・ Stream(1)を初期化した後、Empty〔1〕のリストを加え、その次格納アドレスを拡張領域152のアドレス20に設定する。
Stream(1)を(1、184000、20)とする。
【0272】
・ Empty〔1〕の空き領域を無しとし、Full〔1〕を全て記録済みとする。
Empty〔1〕に(0、0、0)を設定し、Full〔1〕を(1、18400、0)とする。
【0273】
・ 拡張領域152のアドレス20にStream(1)の記録終了を登録するために、アドレス20に、(ゾーン2の先頭アドレス、該先頭アドレスから記録された最終アドレスまでのデータ量、次格納アドレス(=0))のリストを作成する。
アドレス20に(184001、116000、0)のリストを作成する。
【0274】
・ 前記ゾーン2の最終アドレスに基づき、Empty(2)とFull(2)のリストを修正する。
Empty〔2〕を(300001、84000、0)、Full〔2〕を(184001、11600、0)とする。
【0275】
・ Empty〔6]を全て空き領域とし、Full〔6〕を記録領域なしとする。
Empty〔6〕を(1080001、256000、0)、Full〔6〕を(1080001、0、0)とする。
【0276】
・ Empty〔5〕を全て空き領域とし、Full〔5〕を記録領域なしとする。
Empty〔5〕を(832001、248000、0)、Full〔5〕を(832001、0、0)とする。
【0277】
続いて、図50に示すように、Stream(3)とStream(4)の2ch同時記録をしたとする。このとき、Stream(3)は外周ゾーン6から、Stream(4)は内周ゾーン2から記録する。同図は、両Streamを交互に記録したとき、まず、ゾーン2の領域全体が記録された状態を示している。この結果、データ管理情報は、図44の6に示すようになる。
【0278】
すなわち、
・ Stream(4)にEmpty(2)のリストを加え、次格納アドレスを拡張領域152のアドレス21に設定する。
Stream(4)を(300001、84000、21)とする。
【0279】
・ Empty〔2〕の空き領域を無しと設定し、Full〔6〕を全て記録済みとする。
Empty〔2〕を(0、0、0)、Full〔5〕を(832001、0、0)とする。
【0280】
次に、図51に示すように、Stream(3)がゾーン6の領域全体に記録された後、Stream(3)の残りのデータがゾーン5に、Stream(4)の残りのデータがゾーン2に記録されて、全記録が終了したとする。この結果、データ管理情報は、図44の7に示すようになる。
【0281】
すなわち、
・ Stream(3)にEmpty〔6〕のリストを加え、その次格納アドレスを拡張領域152のアドレス22に設定する。
【0282】
・ Empty〔6〕の空き領域を無しとし、Full〔6〕を全て記録済みとする。
Empty〔6〕を(0、0、0)、Full〔6〕を(1080001、256000、0)とする。
【0283】
・ 拡張領域152のアドレス21にStream(4)の記録終了を登録するために、アドレス21に(ゾーン3の先頭アドレス、該先頭アドレスから記録された最終アドレスまでのデータ量、次格納アドレス(=0))のリストを作成する。
アドレス21に(384001、216000、0)を設定する。
【0284】
・ 前記ゾーン3の最終アドレスに基づき、Empty〔3〕とFull〔3〕のリストを修正する。この場合、Empty〔3〕は空き領域無しとなり、Full〔3〕は全て記録領域済みとする。
Empty〔3〕を(0、0、0)、Full〔3〕を(384001、216000、0)とする。
【0285】
・ 拡張領域152のアドレス22にStream(3)の記録終了を登録するために、アドレス22に(ゾーン5の先頭アドレス、該先頭アドレスから記録された最終アドレスまでのデータ量、次格納アドレス(=0))のリストを作成する。
アドレス22に(832001、44000、0)を設定する。
【0286】
・ 前記ゾーン5の最終アドレスに基づき、Empty〔5〕とFull〔5〕のリストを修正する。
Empty〔5〕を(876001、204000、0)、Full〔5〕を(832001、44000、0)とする。
【0287】
このように、本実施形態においては、Stream、Empty、及びFullの各テーブルにより、ディスクの各ゾーンの空き領域及び記録領域を管理し、かつ、各Streamのディスク上の記録領域も管理しながら、各チャンネルのストリームデータの記録、削除、ガーベジコレクションを管理する。
【0288】
次に、内周のゾーンと外周のゾーンとの転送速度の違いを吸収する別の手法として、複数データの同時記録の要求性能の和(総合要求性能)に対して、各ゾーンの転送性能の和(総合保持性能)が少なくとも優れるように、複数ゾーンの組み合わせを選択し、選択された各ゾーンに、複数データを分散させて記録する実施形態について説明する。
【0289】
この実施形態を、図52に示すゾーン1〜6を有するディスク160を例にして説明する。ディスク160のゾーン1の1トラックのバイト数は70KB(キロバイト)であり、転送レート(転送速度)は17.5Mbpsである。その他のゾーンのトラック構成、転送レートは、図52に示す通りである。
【0290】
ここで、以下に示す、ステップ1(総合要求性能1)〜3(総合要求性能3)の記録要求があったとする。
ステップ1:MPEG2(6Mbps)×3チャンネル=18Mbps
ステップ2:MPEG2(6Mbps)×2チャンネル=12Mbps
ステップ3:MPEG2(6Mbps)×4チャンネル=24Mbps
まず、第1の実施例について説明する。この実施例では、ゾーン間の移動時間(シーク時間)を含むアクセス時間及び処理するチャンネル数は考慮しないで、総合保持性能を求め、それを上記総合要求性能と比較して、性能を達成できるゾーンを選択する。
【0291】
この結果、以下の様に、ステップ1〜3の記録方法を決定する。
ステップ1:ゾーン1とゾーン2の総合保持性能は18.75Mbpsであり、ステップ1の総合要求性能よりも高いので、ゾーン1とゾーン2に分散させて記録する。
【0292】
ステップ2:ゾーン1の転送レート(=17.5Mbps)は、ステップ2の総合要求性能よりも高いので、ゾーン1に記録する。
ステップ3:ゾーン2とゾーン6の総合保持性能は25Mbpsであり、ステップ3の総合要求性能よりも高いので、ゾーン2とゾーン6に分散させて記録する。
【0293】
図53は、上述した第1の実施例のステップ1〜3の記録方法を具体的に示す図である。
ステップ1の場合は、同図(a)に示すように、まず、ゾーン1にCh1、Ch2、Ch3のブロックデータをシーケンシャルに記録し、次に、ゾーン2に移動し、ゾーン2にCh1、Ch2、Ch3の次のブロックデータをシーケンシャルに記録する。そして、再び、ゾーン1に移動し、Ch1、Ch2、Ch3の次のブロックデータをシーケンシャルに記録する。このように、3チャンネルのブロックデータをゾーン1とゾーン2に交互に分散記録していく。
【0294】
ステップ2の場合は、同図(b)に示すように、ゾーン1にCh1、Ch2、Ch1、Ch2...の順序で、ブロックデータを記録していく。
ステップ3の場合は、同図(c)に示すように、ステップS1と同様にして、4チャンネルのブロックデータ(Ch1、Ch2、Ch3、Ch4)を、ゾーン2とゾーン6に交互に、シーケンシャルに分散・記録していく。
【0295】
次に述べる第2の実施例は、ゾーン間の移動時間(シーク時間)を含むアクセス時間を考慮して総合保持性能を求め、それを上記各ステップの総合要求性能と比較して、性能を達成できるゾーンを選択する。この場合、
アクセス時間=100ms×ゾーン間距離
と定義し、
ゾーン間距離=選択された2つのゾーン間の番号差
と定義する。
【0296】
ゾーン間距離は、隣のゾーンに移動するときに往復で100ms(片道50ms)のアクセス時間を要するものと想定し、移動するゾーンが距離的に離れている程、ヘッドの移動距離に比例してアクセス時間が増加するものとして定義したものである。
【0297】
この結果、以下のようにして、各ステップの記録方法を決定する。
ステップ1:18Mbps(3ch記録)の総合要求性能に対して、アクセス時間(100ms)を含めても総合保持性能(=(20+22.5)×0.9/2)が該総合要求性能を上回るゾーン2とゾーン3を選択して、Ch1〜Ch3のブロックデータを、ゾーン2とゾーン3に交互に記録する。
【0298】
ステップ2:12Mbps(2ch記録)の総合要求性能に対しては、ゾーン1の転送レート(=17.5ms)だけで十分に対応できるので、Ch1とCh2のブロックデータをゾーン1のみに記録する。この場合、アクセス時間は0となる。
【0299】
ステップ3:24Mbps(4ch記録)の総合要求性能に対して、アクセス時間(100ms)を含めても総合保持性能(=(27.5+30)×0.9/2)が該総合要求性能を上回るゾーン5とゾーン6を選択して、Ch1〜Ch4のブロックデータを、ゾーン5とゾーン6に交互に記録する。
【0300】
図54は、上述した第2の実施例のステップ1〜3の記録方法を具体的に示す図である。
ステップ1の場合は、同図(a)に示すように、まず、ゾーン2にCh1、Ch2、Ch3のブロックデータをシーケンシャルに記録し、次に、ゾーン3に50msで移動し、ゾーン2にCh1、Ch2、Ch3の次のブロックデータをシーケンシャルに記録する。そして、再び、ゾーン2に50msで移動し、Ch1、Ch2、Ch3の次のブロックデータをシーケンシャルに記録する。このように、3チャンネルのブロックデータをゾーン2とゾーン3に交互に、シーケンシャルに分散記録していく。
【0301】
ステップ2の場合は、同図(b)に示すように、ゾーン1にCh1、Ch2、Ch1、Ch2...の順序で、ブロックデータを記録していく。
ステップ3の場合は、同図(c)に示すように、ステップS1と同様にして、4チャンネルのブロックデータ(Ch1、Ch2、Ch3、Ch4)を、ゾーン5とゾーン6の間を50msで移動しながら、ゾーン5とゾーン6に交互に、シーケンシャルに分散・記録していく。
【0302】
次に述べる第3の実施例は、ゾーン間の移動時間(シーク時間)に加え、処理するチャンネル数も考慮して総合保持性能を求め、それを上記各ステップの総合要求性能と比較して、性能を達成できるゾーンを選択する。この実施例は、各チャンネルのデータはなるべく分散して記録した方が、単独再生や削除の場合に都合がよいという考えを基にしている。
【0303】
この結果、以下の様に、ステップ1〜3の記録方法を決定する。
ステップ1:18Mbps(3ch記録)の総合要求性能に対して、アクセス時間(100ms)を含めても総合保持性能(=(20+22.5)×0.9/2)が該総合要求性能を上回るゾーン2とゾーン3を選択して、Ch1〜Ch3のブロックデータを、ゾーン2とゾーン3に交互に記録する。ここでは、3チャンネルなので、ゾーン2のCh1とCh2のデータを、ゾーン3にCh3のデータを記録する。
【0304】
ステップ2:12Mbps(2ch記録)の総合要求性能に対しては、ゾーン1の転送レート(=17.5ms)だけで十分に対応できるが、できる限り分散記録させるという観点から、ゾーン1にCh1のデータを、ゾーン2にCh2のデータを記録させる。
【0305】
ステップ3:24Mbps(4ch記録)の総合要求性能に対して、アクセス時間(100ms)を含めても総合保持性能(=(27.5+30)×0.9/2)が該総合要求性能を上回るゾーン5とゾーン6を選択して、Ch1〜Ch4のブロックデータを、ゾーン5とゾーン6に交互に記録する。この場合は、4チャンネルの記録なので、ゾーン5にCh1とCh2のデータを、ゾーン6のCh3とCh4のデータを記録する。
【0306】
図55は、上述した第3の実施例のステップ1〜3の記録方法を具体的に示す図である。
ステップ1の場合は、同図(a)に示すように、まず、ゾーン2にCh1、Ch2のブロックデータをシーケンシャルに記録し、次に、ゾーン3に50msで移動し、ゾーン2にCh3のブロックデータをシーケンシャル記録する。そして、再び、ゾーン2に50msで移動し、Ch1、Ch2の次のブロックデータをシーケンシャルに記録する。そして、再び、ゾーン3に50msで移動し、ゾーン3にCh3の次のブロックデータをシーケンシャルに記録する。以上のような動作を繰り返しながら、3チャンネルのブロックデータをゾーン2とゾーン3に交互に分散記録していく。
【0307】
ステップ2の場合は、同図(b)に示すように、ゾーン1とゾーン2に、それぞれ、Ch1とCh2のブロックデータを交互に記録していく。
ステップ3の場合は、同図(c)に示すように、一方の2チャンネルのブロックデータ(Ch1、Ch2)と他方の2チャンネルのブロックデータ(Ch3、Ch4)を、ゾーン5とゾーン6の間を50msで移動しながら、ゾーン5とゾーン6に交互に分散・記録していく。
【0308】
ところで、上記アクセス時間は、ヘッドの移動の途中では、移動するトラック間距離に比例すると考えられるが、移動の最初と移動の終了の際には、それぞれ、加速と減速が生じるので、アクセス時間には、厳密には非線形的なファクタが加わる。上記実施例では、ゾーン間の移動なので、数千トラック間の移動が常時行われ、アクセス時間はトラック間距離に比例すると考える。そこで、隣接するゾーン間の移動時間を往復100ms(片道50ms)とみなし、1秒間でみれば、転送速度の10%が無駄になると考えれば、このオーバヘッドにゾーン間の距離(ゾーン番号差)を乗算すれば、アクセス時間による転送速度の低下を算出できる。
【0309】
よって、隣接ゾーン間の往復アクセス時間をms単位で表現すると、実行の総合保持性能は、下記の式(1)で表現できる。
実行総合保持性能={(片方ゾーンの転送速度)+(他方ゾーンの転送速度)}/2×{100%−{(ゾーン間距離)×(隣接ゾーン間の往復アクセス時間)/10}%} ・・・(1)
第3の実施例において、ステップ1のように、処理するチャンネル数が奇数である場合には、2つのゾーンの内、どちらに、より多数のチャンネルを記録するかにより、上記式(1)の第一項が若干変わることになる。
【0310】
次に、図56から図59のフローチャートを参照して、上述した図53に例示した第1実施例を実現するアルゴリズムを説明する。本フローチャートでも、上述した実施形態と同様に、Stream、Empty、及びFullのリストを使用するものとする。
【0311】
まず、Stream(1)〜(m)を初期化する。尚、この実施例では、ガーベージコレクションは行いものとし、相手streamは“0”とする。また、総合要求性能を求めるために使用する各チャンネルの要求速度Channel−rate(1)〜(m)をMPEG2の要求性能(ここでは、6Mbpsとする)に設定する。また、さらに、Empty〔1〕〜〔2n〕及びFull〔1〕〜〔2n〕を初期設定する。また、各ゾーン1〜2nの転送速度を、Zone−rate〔1〕〜〔2n〕に設定する。また、これから記録していく片方ゾーンを示す変数inzを“1”に、他方ゾーンを示す変数ouzを“2n”に設定する。この変数ouzに対する “2n”の設定処理は、内周及び外周に含まれるゾーン数を偶数に設定する処理である。
【0312】
また、さらに、総合要求性能を示す変数tcを“0”に設定する。また、要求性能に見合う性能があるか(記録可能かどうか)を示すフラグcontを“0”に設定する(ステップS161)。
【0313】
上記初期化処理に続いて、命令の種類を判断する(ステップS162)。そして、1ch記録または2ch記録のいずれでもなければ、図58のステップS182に進む。図58のフローチャートに示すステップS182〜S189の処理は、上述した図40のステップS147〜S154の空きゾーンを選択する処理と同様であるので、ここでは、説明を省略する。
【0314】
また、ステップS162で1ch記録の命令であると判断すれば、図59のフローチャートのステップS190に進む。図59のフローチャートに示すステップS190〜S196の処理は、上述した図39のステップS133〜S139処理と同様であるので、ここでは、説明を省略する。
【0315】
また、ステップS162でkch記録(k>1)の命令であれば、kch記録に対する総合要求性能に見合う総合保持性能を持つ2つのゾーンを選択する処理を行う(ステップS163)。
【0316】
この選択処理では、以下の(1)、(2)の処理を行う。
(1) kch記録に対する総合保持性能tcを求める。
(2) 内周側のゾーンからみて、その内周側のゾーンから外周側のゾーンに向かって、総合保持性能tzを求め、tz>tcの条件を満たす2つの該当ゾーンを探す。そして、該当ゾーンがみつかれば、contに“1”を設定する。
【0317】
次に、contが“1”であるか判断する(ステップS164)。そして、cont=0ならば記録不可能と判断し、処理を停止する。一方、cont=1ならば、ステップS163で求められた2つのゾーンI,Jを、それぞれ、選択された内周ゾーンinz,外周ゾーンouzとする。また、最初に記録を実行するchannel(チャンネル)を“1”とする(ステップS165)。
【0318】
次に、Emptyリストを検索して、内周のゾーンinzから、各ゾーンの空き領域を探索し、空き領域を有するゾーンを見つけ出す(ステップS166)。続いて、ステップS166で見つけ出されたゾーンIのEmpty〔I〕のリストに従い、ゾーンIにchannelの示すチャンネルのデータを1ブロック記録する。次に、Stream(channel)に、記録された最終アドレスまでの1ブロック分のデータのリストを登録する。さらに、Empty〔I〕に(最終アドレス+1,残りのデータ量)(End)のリストを登録し、Full〔I〕に(ゾーンIの先頭アドレス,記録データ量)(End)のリストを登録する。そして、channelの値を“1”インクリメントする(ステップS167)。
【0319】
次に、channel>kであるか判断し(ステップS168)、channel>kでなければ、ステップS167に戻る。ステップS168の判断は、kチャンネルの1ブロックのデータの記録が終了したか判断する処理であり、ステップS168でchannel>kと判断するまで、ステップS167の処理を繰り返す。
【0320】
そして、ステップS168でkチャンネルの記録が終了したと判断すると、channelを“1”に初期化し(ステップS169)、次に、Empty〔I〕のリスト領域の全てを記録したか判断する(ステップS170)。そして、まだ、全て記録していなければ、ステップS172に進む。一方、全て記録していれば、Empty〔I〕のリストをEnd(データ量無し)とする。また、Full〔I〕のリストは、対象ゾーンの全領域が記録されたとして、(ゾーンIの先頭アドレス、ゾーンIのデータ量)(END)とする。そして、Iを“1”インクリメントする(ステップS171)。
【0321】
次に、記録が終了したか判断し(ステップS172)、記録が終了していれば次の内周ゾーンへのデータの記録の起点となるinner−zoneを“I”とし(ステップS173)、ステップS162に戻る。一方、記録が終了していなければ、外周側のゾーンへの記録に移るために、Emptyリストを検索して、外周側のゾーンouzから空き領域の有るゾーンJを見つけ出す(ステップS174)。
【0322】
続いて、Empty〔J〕のリストに従い、ゾーンJにchannelの示すチャンネルのデータを1ブロック記録する。そして、Stream(J)に、記録された最終アドレスまでの1ブロック分のデータのリストを追加する。次に、Empty〔J〕には(最終アドレス+1,残りデータ量)(End)のリストを登録し、Full〔J〕には(ゾーンJの先頭アドレス、記録データ量)のリストを登録する。そして、channelの値を“1”インクリメントする(ステップS175)。
【0323】
次に、channel>kであるか判断する(ステップS176)。この判断は、ステップS168と同様にkチャンネルの1ブロックのデータの記録が終了したか判断する処理であり、ステップS176でchannel>kと判断するまで、ステップS175の処理を繰り返す。
【0324】
そして、ステップS176でkチャンネルの記録が終了したと判断すると、channelを“1”に初期化し(ステップS177)、次に、Empty〔J〕のリスト領域の全てを記録したか判断し(ステップS178)、まだ、全て記録していなければ、ステップS180に進む。一方、全て記録していれば、Empty〔J〕のリストをEnd(データ量無し)とする。また、Full〔J〕のリストは、対象ゾーンの全領域が記録されたとして、(ゾーンJの先頭アドレス、ゾーンJのデータ量)(END)とする。そして、Jを“1”インクリメントする(ステップS179)。
【0325】
次に、記録が終了したか判断し(ステップS180)、記録が終了していれば次の外周ゾーンへのデータの記録の起点となるouter−zoneを“J”とし(ステップS181)、ステップS162に戻る。一方、記録が終了していなければ、ステップS166に戻る(片方のゾーンに再度、移る)。
【0326】
以上説明した、図56から図59のフローチャートでは、選択された2つのゾーンにkチャンネルのブロックデータをまとめて、交互に記録する場合を示している。このフローチャートの中で、総合要求性能に対して、その性能を上回る総合保持性能を持つ2つのゾーンを選択する処理は、ステップS163に開示されている。ステップS163の処理は、第1の実施例の場合に対応しているが、第2の実施例に対応する場合には、前記式(1)に従って総合保持性能tzを求めればよい。また、第3の実施例に対応する場合には、要求チャンネル数kに応じて、ステップS166〜S173の処理と、ステップS174〜S181の処理を切り分けるようにすればよい。
【0327】
次に、ZCLVに基づき回転制御を行うディスクに対して、複数チャンネルのデータの同時記録を実行するディスクアクセス制御方式において、ゾーン当たりの記録容量が多いゾーン(主に外周ゾーン)を優先して、該複数チャンネルのデータを該ゾーン内に集中して,交互に記録する実施形態について説明する。
【0328】
図60は、この実施形態のアルゴリズムを説明するフローチャートである。
同図のフローチャートに示す処理は、上述した図56のフローチャートのステップS162でkch記録の命令であると判断された場合に実行される処理であり、図56から図57のフローチャートのステップS163〜S181の処理を代替するものである。
【0329】
したがって、図60のフローチャートに示す処理は、図56のステップS161の後、ステップS162でkch記録命令と判断されたとき呼び出され、処理終了後、図56のステップS162に戻るサブルーチンとして捉えることができる。
【0330】
図60のフローチャートの説明を開始する。
まず、Emptyリストを探索し、外周側のゾーン(outer−zone)から内周側のゾーンに1ゾーンづつ移動しながら、空き領域を有するゾーンJを見つけ出す(ステップS201)。
【0331】
次に、Empty〔J〕のリストに従い、ゾーンJの空き領域にchannelの示すチャンネルのデータを1ブロック記録する。次に、Stream(channel)にゾーンJに記録された該1ブロック分のデータの最終アドレスまでのリストを追加する。続いて、Empty〔J〕に、(該最終アドレス+1,残りのデータ量)(End)のリストを登録し、FULL〔J〕に、(ゾーンJの先頭アドレス、記録データ量)(End)のリストを登録する。そして、channelの値を“1”インクリメントする(ステップS202)。
【0332】
続いて、channel>kであるか判断し(ステップS203)、channel>kでなければ、ステップS202に戻る。このようにして、ステップS203でchannel>k、すなわち、kチャンネルの1ブロックデータ記録が全て終了したと判断するまで、ステップS202の処理を繰り返す。
【0333】
そして、ステップS203でkチャンネルの1ブロックデータ記録が全て終了したと判断すると、channelを“1”に初期化し(ステップS204)、続いて、Empty〔J〕のリスト領域(ゾーンJの空き領域)を全て記録したか判断し(ステップS205)、まだ、全て記録していなければステップS207に進む。一方、全て記録していれば、Empty〔J〕にEndを登録する。また、FULL〔J〕に(ゾーンJの先頭アドレス、ゾーンJのデータ量)(End)のリストを登録する。そして、Jを“1”デクリメントして対象ゾーンを1つ内周側に移す(ステップS206)。
【0334】
次に、記録が終了したか判断し、まだ、記録が終了していなければ、ステップS201に戻り、1ゾーンだけ内周側のゾーンへの記録に移る。一方、記録が終了していれば、次のデータの記録の起点となるゾーンを示すouter−zoneをJに設定し(ステップS207)、図56のステップS162に戻る。
【0335】
以上述べたZCLVの回転制御方式によるディスクの場合、どのゾーンも転送速度が一定であるため、ゾーンを移すメリットはなく、逆にゾーンを移動するとシーク時間等によるアクセス時間のロスが大きい。したがって、この場合、複数ゾーンを使用せず、記録容量の多い外周側のゾーンから、順次、内周側のゾーンに移動して、kチャンネルのブロックデータを同一ゾーンにシーケンシャルに連続して記録することが効果的である。
【0336】
上述した図31から図60に示したディスクに対する処理を実現するプログラムは、図12に示すストレージシステムのディスクアクセス制御用MPU61によって実行される。すなわち、図30に示すマイクロプロセッサ71とメモリ72を有するMPU61によって実行される。この場合、MPU61が実行するプログラムは可搬記録媒体74に格納され、この可搬記録媒体74が媒体駆動装置73に装着されることにより、MPU61は、媒体駆動装置73をアクセスして可搬記録媒体74に格納されたプログラムをメモリ72にロードして実行する。
【0337】
また、プログラムは、公衆回線、専用回線、インターネット等の各種ネットワークを介してダウンロードすることも可能である。このような形態の場合、例えば、情報提供業者がプログラムを管理して、プログラムが更新された場合、直ちに、該情報提供業者からダウンロードするようにすることも可能である。また、該情報提供業者が、プログラムの保守をネットワークを介して遠隔実行することも可能である。
【0338】
以上、述べたように、本発明によれば、実際の書き込みデータの転送レートに従って終了期限を決め、それに基づいてディスクアクセスのスケジューリングを行うことで、多数のチャネルの記録/再生が可能になる。また、リアルタイムの複数の書き込み要求に対して書き込み領域による転送レートの違いを利用することで、処理が効率化され、さらに多数のチャネルの記録/再生が可能になる。
【0339】
また、本発明では、ランド・グループ記録方式の記録媒体に対して2チャンネルの同時記録を行う場合、グループ及びランドの記録領域の連続性を利用して、一方のチャンネルのデータをグループに他方のチャンネルのデータをランドに沿って記録することで、記録を高速に実行できると共に、その後の各チャンネルの再生、削除なども高速に行うことができ、ガーベジコレクションの実行回数も削減できる。
【0340】
また、ZCAVに基づく回転制御を行うディスクに対して、複数チャンネルのデータを同時記録する際、総合要求性能(複数チャンネルの同時記録に対する各要求性能の総和)以上の総合保持性能(記録されるゾーンが持つ転送性能の平均)を有する複数ゾーンを選択し、該複数ゾーンに上記複数チャンネルのデータを分散・記録することで、複数チャンネルのデータの同時記録の高速実行や、その後の各チャンネルの再生、削除などを容易に行うことができる。
【0341】
また、さらに、ZCLVの回転制御方式によるディスクに対する複数チャンネルの同時記録に対しては、複数ゾーンを使用せず、記録容量の多い外周側のゾーンから、順次、内周側のゾーンに移動して、各チャンネルのブロックデータを同一ゾーンにシーケンシャルに連続して記録することにより、高速な記録が可能となる。
【0342】
本発明は、ホームネットワークにおける映像/音声データの処理だけでなく、複数チャンネルのデータをリアルタイムで処理しなければならないような任意の用途に適用することができる。例えば、処理対象のデータをコンピュータシステムへ取り込む場合にも、同様の制御が可能である。また、アクセス対象としては、磁気ディスク、光ディスク、光磁気ディスク等のディスク型記録媒体を始めとして、メモリカード等も含む任意の記録媒体を用いることができる。
【図面の簡単な説明】
【図1】従来のディスクスケジューリングを示す図である。
【図2】一定レートの転送データを示す図である。
【図3】可変レートの転送データを示す図である。
【図4】同期転送を示す図である。
【図5】ASMOの構成を示す図である。
【図6】ASMOにおける論理ゾーンの構成を示す図である。
【図7】ASMOにおける欠陥管理の操作方法を説明する図である。
【図8】ASMOにおけるレンズ操作のみによるアクセス可能領域を説明する図である。
【図9】ASMOにおけるWrite操作を説明する図である。
【図10】ASMOにおけるRead操作を説明する図である。
【図11】本発明のアクセス制御装置の原理図である。
【図12】ストレージシステムの構成図である。
【図13】ディスクスケジューリングの原理フローチャートである。
【図14】第1のディスクスケジューリングを示す図である。
【図15】ディスクに記録されるデータのフォーマットを示す図である。
【図16】第2のディスクスケジューリングを示す図である。
【図17】スケジュールテーブルを示す図である。
【図18】書き込み処理のフローチャートである。
【図19】読み出し処理のフローチャートである。
【図20】書き込み/読み出し処理のフローチャートである。
【図21】第1の並べ替えアルゴリズムを示す図である。
【図22】第2の並べ替えアルゴリズムを示す図である。
【図23】第1のゾーン決定処理の原理フローチャートである。
【図24】第2のゾーン決定処理の原理フローチャートである。
【図25】複数ゾーンとその転送レートを示す図である。
【図26】チャンネル数に基づく書き込み処理を示す図である。
【図27】チャンネル数に基づく書き込み処理のフローチャートである。
【図28】ゾーン対を用いた書き込み処理のフローチャートである。
【図29】ゾーン対を用いた書き込み処理を示す図である。
【図30】制御プログラムの格納場所を示す図である。
【図31】ASMOを3つの論理ゾーンに分割した状態を示す図である。
【図32】図31に示すASMOに1チャンネルのデータを記録する方法を示す図であり、(a)は論理ゾーン、(b)はグループ、(c)はランドに沿って記録する方法を示す図である。
【図33】図31に示すASMOに2チャンネルのデータを記録する方法を示す図である。
【図34】図31に示すASMOに2チャンネルのデータを同時記録した場合の、再生、削除、ガーベジコクション、及びガーベジコクション後の新たな2チャンネルの同時記録の方法を説明する図であり、(a)は最初の2チャンネル同時記録、(b)はCh2の削除、(c)はCh1のガーベジコクション、(d)は該ガーベジコクション後のCh3、4の2チャンネル同時記録の方法を示す図である。
【図35】本発明におけるランド・グループ方式の記録媒体に対する記録、再生、及び削除方法の原理を説明するフローチャートである。
【図36】ZCAV方式の回転制御方式のディスクのゾーン分割の構成及び転送レートを平均化するゾーン対の構成方法を示す図である。
【図37】図36のディスクに対する2チャンネルの同時記録に係わる処理の方法を示す図であり、(a)はCh1、2の同時記録、Ch2の削除、(b)はCh1のガーベジコクション、(c)は該ガーベジコクション後のCh3、4の同時記録を示す図である。
【図38】内周と外周の転送速度を平均化してデータ記録を行う処理手順を示すフローチャートである。
【図39】ディスクの空きゾーンを選択するアルゴリズムを説明するフローチャート(その1)である。
【図40】ディスクの空きゾーンを選択するアルゴリズムを説明するフローチャート(その2)である。
【図41】ストリームを管理するテーブルの構成例を示す図である。
【図42】ディスクの空きゾーンを管理するテーブルの構成例を示す図である。
【図43】図36のディスクの各ゾーンの構成を示す図である。
【図44】図39及び図40のフローチャートの処理におけるストリーム管理テーブル及び空きゾーン管理テーブルの格納リストの状態遷移を示す図である。
【図45】図43のゾーン構成のディスクの初期状態を示す図である。
【図46】図43のゾーン構成のディスクに、図39及び図40のフローチャートに示す処理を実行した場合の、該ディスクのストリームデータの記録形態の遷移を示す図(その1)である。
【図47】図43のゾーン構成のディスクに、図39及び図40のフローチャートに示す処理を実行した場合の、該ディスクのストリームデータの記録形態の遷移を示す図(その2)である。
【図48】図43のゾーン構成のディスクに、図39及び図40のフローチャートに示す処理を実行した場合の、該ディスクのストリームデータの記録形態の遷移を示す図(その3)である。
【図49】図43のゾーン構成のディスクに、図39及び図40のフローチャートに示す処理を実行した場合の、該ディスクのストリームデータの記録形態の遷移を示す図(その4)である。
【図50】図43のゾーン構成のディスクに、図39及び図40のフローチャートに示す処理を実行した場合の、該ディスクのストリームデータの記録形態の遷移を示す図(その5)である。
【図51】図43のゾーン構成のディスクに、図39及び図40のフローチャートに示す処理を実行した場合の、該ディスクのストリームデータの記録形態の遷移を示す図(その6)である。
【図52】6つのゾーンに分割されたZCAV方式の回転制御方式のディスクの各ゾーンのバイト数/トラック、及び転送レートを示す図である。
【図53】図52に示すゾーン構成のディスクに、アクセス時間及びチャンネル数を考慮しないで2チャンネルの同時記録を行う方法を説明する図であり、(a)はゾーン1とゾーン2に分散・記録する例、(b)はゾーン1のみに分散・記録する例、(c)はゾーン2とゾーン6に分散・記録する例である。
【図54】図52に示すゾーン構成のディスクに、アクセス時間を考慮しないで2チャンネルの同時記録を行う方法を説明する図であり、(a)はゾーン2とゾーン3に分散・記録する例、(b)はゾーン1のみに分散・記録する例、(c)はゾーン5とゾーン6に分散・記録する例である。
【図55】図52に示すゾーン構成のディスクに、アクセス時間及びチャンネル数を考慮して、2チャンネルの同時記録を行う方法を説明する図であり、(a)はゾーン2とゾーン3に分散・記録する例、(b)はゾーン1とゾーン2に分散・記録する例、(c)はゾーン5とゾーン6に分散・記録する例である。
【図56】総合要求性能に対して総合保持性能が優るように複数ゾーンを選択して複数チャンネルの同時記録を行うアルゴリズムを示すフローチャート(その1)である。
【図57】総合要求性能に対して総合保持性能が優るように複数ゾーンを選択して複数チャンネルの同時記録を行うアルゴリズムを示すフローチャート(その2)である。
【図58】総合要求性能に対して総合保持性能が優るように複数ゾーンを選択して複数チャンネルの同時記録を行うアルゴリズムを示すフローチャート(その3)である。
【図59】総合要求性能に対して総合保持性能が優るように複数ゾーンを選択して複数チャンネルの同時記録を行うアルゴリズムを示すフローチャート(その4)である。
【図60】ZCLVの回転制御方式のディスクに複数チャンネルのデータを同時記録するアルゴリズムを示すフローチャートである。

Claims (6)

  1. 記録媒体への複数のアクセス要求を処理するアクセス制御装置であって、 データの転送レートの変化に応じてアクセス処理の終了期限を決定し、該終了期限の早い順に前記複数のアクセス要求の実行スケジュールを設定するスケジューリング手段と、
    前記実行スケジュールに従って前記複数のアクセス要求の実行を制御する制御手段と
    を備え
    前記スケジューリング手段は、前記記録媒体からデータを読み出す要求に対して、読み出しデータの書き込み時の終了期限に関する情報に基づいて、読み出し処理の終了期限を決定することを特徴とするアクセス制御装置。
  2. 前記制御手段は、前記記録媒体へのデータ書き込む要求を受け付けた場合、送られてきたデータのうちダミーデータを除く有効データのみ、書き込みデータとしてバッファリングするバッファ手段を含み、前記スケジューリング手段は、該バッファ手段が該有効データを所定領域にバッファリングするのに要する時間に基づいて、書き込み処理の終了期限を決定することを特徴とする請求項1記載のアクセス制御装置。
  3. 前記制御手段は、前記書き込み処理の終了期限に関する情報を、前記書き込みデータと共に記録媒体に書き込む制御を行うことを特徴とする請求項記載のアクセス制御装置。
  4. 前記制御手段は、前記記録媒体からデータを読み出す要求を受け付けた際、読み出しデータの書き込み時におけるダミーデータと有効データの転送順序に従って、該読み出しデータにダミーデータを付加して送り出す制御を行うことを特徴とする請求項記載のアクセス制御装置。
  5. 記録媒体への複数のアクセス要求を処理するアクセス制御方法であって、 データの転送レートの変化に応じてアクセス処理の終了期限を決定し、
    前記終了期限の早い順に前記複数のアクセス要求の実行スケジュールを設定するとともに、前記記録媒体からデータを読み出す要求に対して、読み出しデータの書き込み時の終了期限に関する情報に基づいて、読み出し処理の終了期限を決定し、
    前記実行スケジュールに従って前記複数のアクセス要求の実行を制御する
    ことを特徴とするアクセス制御方法。
  6. 記録媒体への複数のアクセス要求を処理する処理装置のためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    データの転送レートの変化に応じてアクセス処理の終了期限を決定するステップと、
    前記終了期限の早い順に前記複数のアクセス要求の実行スケジュールを設定するとともに、前記記録媒体からデータを読み出す要求に対して、読み出しデータの書き込み時の終了期限に関する情報に基づいて、読み出し処理の終了期限を決定するステップと、
    前記実行スケジュールに従って前記複数のアクセス要求の実行を制御するステップと
    を含む処理を前記コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2000594023A 1999-01-12 1999-10-14 記録媒体へのアクセスを制御するアクセス制御装置および方法 Expired - Lifetime JP4473455B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP497999 1999-01-12
PCT/JP1999/005679 WO2000042515A1 (fr) 1999-01-12 1999-10-14 Dispositif de gestion des acces et procede de gestion des acces a un support d'enregistrement

Publications (1)

Publication Number Publication Date
JP4473455B2 true JP4473455B2 (ja) 2010-06-02

Family

ID=11598731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000594023A Expired - Lifetime JP4473455B2 (ja) 1999-01-12 1999-10-14 記録媒体へのアクセスを制御するアクセス制御装置および方法

Country Status (5)

Country Link
US (2) US6934818B2 (ja)
EP (1) EP1152342B1 (ja)
JP (1) JP4473455B2 (ja)
DE (1) DE69940278D1 (ja)
WO (1) WO2000042515A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067802A (ja) * 1999-08-27 2001-03-16 Toshiba Corp マルチチャンネル記録装置及び記録方法
KR100394974B1 (ko) * 2000-05-23 2003-08-19 엘지전자 주식회사 고밀도 광 기록매체에서의 멀티경로 데이터를 수용하는 방법
JP3900824B2 (ja) * 2000-12-04 2007-04-04 三菱電機株式会社 Mpegデータ記録装置
EP1669996A3 (en) * 2001-06-14 2006-07-05 Samsung Electronics Co., Ltd. Information strorage medium containing preload information, apparatus and method for reproducing therefor
KR100598285B1 (ko) * 2001-06-21 2006-07-07 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
KR100752480B1 (ko) * 2001-06-21 2007-08-28 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
KR20020097454A (ko) * 2001-06-21 2002-12-31 엘지전자 주식회사 멀티채널 스트림 기록장치 및 방법과, 그에 따른 기록매체
US7643727B2 (en) * 2001-07-24 2010-01-05 Lg Electronics Inc. Method and apparatus of recording a multi-channel stream, and a recording medium containing a multi-channel stream recorded by said method
US20030053792A1 (en) * 2001-09-20 2003-03-20 Koninklijke Philips Electronics N.V. Management of digital memory during playback of moving images
KR100563685B1 (ko) * 2002-02-25 2006-03-28 엘지전자 주식회사 재기록 가능 기록매체의 재생리스트 관리방법
KR20030087193A (ko) * 2002-05-07 2003-11-14 엘지전자 주식회사 멀티 채널 방송 스트림의 기록 관리방법
KR100620185B1 (ko) * 2002-06-21 2006-09-01 엘지전자 주식회사 비디오 데이터의 재생을 관리하기 위한 데이터 구조를갖는 기록 매체
MXPA04002365A (es) * 2002-06-21 2004-11-22 Lg Electronics Inc Medio de grabacion que tiene estructura de datos para manejar la reproduccion de datos de video grabados en el mismo.
US7783159B2 (en) 2002-06-24 2010-08-24 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple reproduction path video data for at least a segment of a title recorded thereon and recording and reproducing methods and apparatuses
RU2320030C2 (ru) 2002-06-24 2008-03-20 Эл Джи Электроникс Инк. Носитель записи со структурой данных для управления воспроизведением записанных на нем видеоданных нескольких каналов воспроизведения и способы и устройства записи и воспроизведения
US7889968B2 (en) * 2002-06-24 2011-02-15 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple reproduction path video data for at least a segment of a title recorded thereon and recording and reproducing methods and apparatuses
KR20040000290A (ko) 2002-06-24 2004-01-03 엘지전자 주식회사 고밀도 광디스크의 멀티 경로 데이터 스트림 관리방법
WO2004003908A1 (en) * 2002-06-28 2004-01-08 Lg Electronics Inc. Recording medium having data structure for managing recording and reproduction of multiple path data recorded thereon and recording and reproducing methods and apparatus
CN101067954B (zh) * 2002-06-28 2010-06-23 Lg电子株式会社 具有用于管理记录在其上面的多个重放路径视频数据的再现的数据结构的记录介质以及记录和再现方法及装置
AU2003238637A1 (en) 2002-07-22 2004-02-09 Koninklijke Philips Electronics N.V. Rotation speed control for recording information
CA2469176C (en) * 2002-10-14 2010-09-14 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple audio streams recorded thereon and recording and reproducing methods and apparatuses
ATE547792T1 (de) * 2002-10-15 2012-03-15 Lg Electronics Inc Aufzeichnungsmedium mit einer datenstruktur zur verwaltung der wiedergabe mehrerer darauf aufgezeichneter grafikströme und aufzeichnungs- und wiedergabeverfahren und vorrichtungen
US8064755B2 (en) * 2002-11-08 2011-11-22 Lg Electronics Inc. Method and apparatus for recording a multi-component stream and a high-density recording medium having a multi-component stream recorded thereon and reproducing method and apparatus of said recording medium
US7720356B2 (en) 2002-11-12 2010-05-18 Lg Electronics Inc Recording medium having data structure for managing reproduction of multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
RU2313139C2 (ru) * 2002-11-12 2007-12-20 Эл Джи Электроникс Инк. Носитель записи со структурой данных для управления воспроизведением записанных на нем видеоданных нескольких каналов воспроизведения и способы и устройства записи и воспроизведения
US7664372B2 (en) * 2002-11-20 2010-02-16 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple component data recorded thereon and recording and reproducing methods and apparatuses
US7783160B2 (en) * 2002-11-20 2010-08-24 Lg Electronics Inc. Recording medium having data structure for managing reproduction of interleaved multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
WO2004049330A1 (en) * 2002-11-22 2004-06-10 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
GB0302602D0 (en) * 2003-02-04 2003-03-12 Young Arthur P Equipment and methods for real time application
US7606463B2 (en) * 2003-02-24 2009-10-20 Lg Electronics, Inc. Recording medium having data structure for managing playback control and recording and reproducing methods and apparatuses
US7693394B2 (en) * 2003-02-26 2010-04-06 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
US7809775B2 (en) * 2003-02-27 2010-10-05 Lg Electronics, Inc. Recording medium having data structure for managing playback control recorded thereon and recording and reproducing methods and apparatuses
WO2004077417A1 (en) * 2003-02-28 2004-09-10 Lg Electronics Inc. Recording medium having data structure for managing random/shuffle reproduction of video data recorded thereon and recording and reproducing methods and apparatuses
US7224664B2 (en) 2003-03-25 2007-05-29 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
US7620301B2 (en) * 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
EP1475798A1 (en) * 2003-05-08 2004-11-10 Matsushita Electric Industrial Co., Ltd. Data processor, data processing method, program for data processor, and program recording medium
DE10394021T5 (de) * 2003-06-05 2005-10-27 Fujitsu Ltd., Kawasaki Informationsaufzeichnungs-/-Wiedergabevorrichtung und Verfahren
US7107423B2 (en) * 2003-07-10 2006-09-12 Hewlett-Packard Development Company, L.P. Methods and apparatus for data retrieval
US7613088B2 (en) * 2004-01-28 2009-11-03 Seagate Technology Llc Method and system for time based file storage
TW200530834A (en) * 2004-03-11 2005-09-16 Lite On It Corp Control device for transceiving data
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
US8423673B2 (en) 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US7822917B2 (en) * 2005-06-10 2010-10-26 Hewlett-Packard Development Company, L.P. Mass storage system with user interface
US7436610B1 (en) * 2005-10-20 2008-10-14 Western Digital Technologies, Inc. Disk drive employing different zone boundaries across disk surfaces
JP4974508B2 (ja) * 2005-10-28 2012-07-11 キヤノン株式会社 バスマスタ装置、バス調停装置及びバス調停方法
US7545165B2 (en) * 2007-01-09 2009-06-09 International Business Machines Corporation System architectures for and methods of scheduling on-chip and across-chip noise events in an integrated circuit
JP2008204568A (ja) * 2007-02-21 2008-09-04 Matsushita Electric Ind Co Ltd 記録装置
US8112566B2 (en) * 2007-06-06 2012-02-07 Intel Corporation Methods and apparatuses for processing I/O requests of data storage devices
US8051232B2 (en) * 2007-06-25 2011-11-01 Intel Corporation Data storage device performance optimization methods and apparatuses
US7872822B1 (en) 2007-06-26 2011-01-18 Western Digital Technologies, Inc. Disk drive refreshing zones based on serpentine access of disk surfaces
US7949978B2 (en) * 2007-11-05 2011-05-24 International Business Machines Corporation Structure for system architectures for and methods of scheduling on-chip and across-chip noise events in an integrated circuit
US8375193B2 (en) * 2009-05-27 2013-02-12 Teradata Us, Inc. System, method, and computer-readable medium for optimized data storage and migration in a database system
US8266325B2 (en) 2010-02-05 2012-09-11 International Business Machines Corporation Compression on thin provisioned volumes using extent based mapping
US8792581B2 (en) * 2010-02-18 2014-07-29 Telefonaktiebolaget Lm Ericsson (Publ) RF clock generator with spurious tone cancellation
US8667248B1 (en) * 2010-08-31 2014-03-04 Western Digital Technologies, Inc. Data storage device using metadata and mapping table to identify valid user data on non-volatile media
GB201108638D0 (en) * 2011-05-24 2011-07-06 Acunu Ltd A method of assigning logical data regions to multiple disks so as to improve sequential data access
WO2013129031A1 (ja) * 2012-02-29 2013-09-06 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム
WO2013132335A1 (en) * 2012-03-08 2013-09-12 Marvell World Trade Ltd. Method and apparatus for providing audio or video capture functionality according to a security policy
JP7114515B2 (ja) * 2019-03-14 2022-08-08 国立大学法人東海国立大学機構 通信装置、通信システム及びメッセージ調停方法
US11494110B2 (en) * 2020-08-21 2022-11-08 Vmware, Inc. Scalable segment cleaning for a log-structured file system
US11893268B2 (en) 2022-01-19 2024-02-06 Seagate Technology Llc Opportunistic command scheduling

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5568454A (en) * 1989-03-09 1996-10-22 Tosoh Corporation Apparatus and method for detecting a defect on a magneto-optical disk
US5231617A (en) * 1989-07-24 1993-07-27 Matsushita Electric Industrial Co., Ltd. Optical information recording and reproducing apparatus and method of recording and reproducing information in an optical disk unit
JPH0528637A (ja) * 1991-07-18 1993-02-05 Victor Co Of Japan Ltd 情報記録デイスク装置
JP3105070B2 (ja) * 1992-04-27 2000-10-30 パイオニアビデオ株式会社 ディスク状記録媒体
US5394385A (en) * 1992-09-07 1995-02-28 Olympus Optical Co., Ltd. Optical information recording/reproducing apparatus for performing positioning of recording/reproducing spot by selection of pairs of photo detecting elements
KR100230892B1 (ko) * 1992-10-20 1999-11-15 모리시타 요이찌 디스크장치
JPH0778418A (ja) * 1993-09-10 1995-03-20 Matsushita Electric Ind Co Ltd 光ディスク及び光学的記録再生装置
JP2821345B2 (ja) * 1993-09-29 1998-11-05 北海道日本電気ソフトウェア株式会社 非同期i/o制御方式
JPH07230625A (ja) * 1994-02-17 1995-08-29 Pioneer Electron Corp 光記録媒体並びにその記録装置及び再生装置
US5818811A (en) 1994-09-08 1998-10-06 Canon Kabushiki Kaisha Information recording and reproducing method for recording information on and reproducing information from an optical recording medium including a land portion divided into a plurality of information tracks
JPH08203142A (ja) 1994-09-08 1996-08-09 Canon Inc 光記録媒体、光情報記録再生方法及び光情報記録再生装置
JPH08147745A (ja) * 1994-11-17 1996-06-07 Matsushita Electric Ind Co Ltd マルチビームレーザパワー制御方法及びマルチビーム光学的記録再生装置
US5708796A (en) * 1994-11-18 1998-01-13 Lucent Technologies Inc. Method of retrieving continuous and non-continuous media data from a file system
JPH08161752A (ja) * 1994-12-06 1996-06-21 Sony Corp データ記録装置およびデータ再生装置
JPH08227343A (ja) * 1995-02-21 1996-09-03 Fujitsu Ltd 2次記憶装置の制御装置および制御システム
US5827682A (en) 1995-06-07 1998-10-27 Protein Technologies International, Inc. Two-step conversion of vegetable protein isoflavone conjugates to aglucones
JPH0946691A (ja) 1995-07-31 1997-02-14 Victor Co Of Japan Ltd 情報蓄積出力方法及び情報蓄積出力装置
US5787482A (en) * 1995-07-31 1998-07-28 Hewlett-Packard Company Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window
JP3019142B2 (ja) * 1995-08-31 2000-03-13 日本ビクター株式会社 書換型光ディスクの記録方法
JPH0991879A (ja) * 1995-09-20 1997-04-04 Hitachi Ltd 情報記録再生システム及び情報記録再生方法及び情報記録媒体
TW332284B (en) * 1995-10-30 1998-05-21 Sony Co Ltd Method and apparatus for controlling access to a recording disk
JPH09185864A (ja) 1995-10-30 1997-07-15 Sony Corp 記録ディスクアクセス制御方法およびその装置
US5719983A (en) * 1995-12-18 1998-02-17 Symbios Logic Inc. Method and apparatus for placement of video data based on disk zones
JP2950223B2 (ja) * 1996-01-12 1999-09-20 日本電気株式会社 データ読出装置
JPH09259537A (ja) 1996-03-25 1997-10-03 Toshiba Corp 交替領域を持つ情報記録ディスク
JPH09330566A (ja) * 1996-06-10 1997-12-22 Hitachi Ltd 情報記録媒体及び情報格納方法
JPH1011760A (ja) * 1996-06-24 1998-01-16 Mitsubishi Electric Corp 光ディスクおよび光ディスクトラッキング方法
JP3506565B2 (ja) * 1996-07-22 2004-03-15 富士通株式会社 ディスク記憶装置のagc回路
JPH10124879A (ja) 1996-08-30 1998-05-15 Sharp Corp ディスク状記録媒体並びにディスク記録再生装置
DE69725810T2 (de) * 1996-08-30 2004-08-12 Sharp K.K. Plattenförmiges Aufzeichnungsmedium und Vorrichtung zur Aufzeichnung und Wiedergabe einer Platte
JP3563541B2 (ja) * 1996-09-13 2004-09-08 株式会社東芝 データ格納装置及びデータ格納方法
US6263411B1 (en) * 1996-09-20 2001-07-17 Matsushita Electric Industrial Co., Ltd. Video server scheduling for simultaneous read-write requests
JPH10214455A (ja) * 1997-01-31 1998-08-11 Hitachi Ltd 信号記録再生装置
US6078998A (en) * 1997-02-11 2000-06-20 Matsushita Electric Industrial Co., Ltd. Real time scheduling of prioritized disk requests
JP4232056B2 (ja) 1997-05-19 2009-03-04 ソニー株式会社 光ディスクの製造方法及び光ディスク
JPH1116216A (ja) 1997-06-19 1999-01-22 Sony Corp 光ディスク及び光ディスク装置
JPH1125610A (ja) 1997-07-08 1999-01-29 Sanyo Electric Co Ltd 記録媒体,記録装置および記録方法
JPH1196559A (ja) 1997-09-25 1999-04-09 Sanyo Electric Co Ltd ディスク媒体
JPH11110140A (ja) * 1997-10-03 1999-04-23 Matsushita Electric Ind Co Ltd データ記録装置および方法
US5886960A (en) * 1997-11-04 1999-03-23 Multidisc Technologies Optical disc system using multiple optical heads for accessing information data
JP3022449B2 (ja) 1997-11-05 2000-03-21 三洋電機株式会社 記録再生装置、記録再生方法及び記録媒体
JPH11194899A (ja) * 1997-12-26 1999-07-21 Toshiba Corp ディスク記憶システム及び同システムに適用するデータ更新方法
US6023720A (en) * 1998-02-09 2000-02-08 Matsushita Electric Industrial Co., Ltd. Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines
US6658201B1 (en) * 1999-06-24 2003-12-02 Sony Electronics, Inc. Data storage device having multiple heads traveling in opposite directions for capacity and throughput optimization
JP3795738B2 (ja) * 2000-09-29 2006-07-12 富士通株式会社 記録媒体の回転制御方法及び記憶装置

Also Published As

Publication number Publication date
US7054249B2 (en) 2006-05-30
EP1152342B1 (en) 2009-01-07
WO2000042515A1 (fr) 2000-07-20
DE69940278D1 (de) 2009-02-26
EP1152342A4 (en) 2006-09-06
US6934818B2 (en) 2005-08-23
EP1152342A1 (en) 2001-11-07
US20020046328A1 (en) 2002-04-18
US20030221055A1 (en) 2003-11-27

Similar Documents

Publication Publication Date Title
JP4473455B2 (ja) 記録媒体へのアクセスを制御するアクセス制御装置および方法
JP3108070B2 (ja) 光ディスク記録装置、記録方法、光ディスク及びプログラム記録媒体
US7840115B2 (en) Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc
KR20070003943A (ko) 정보 처리 장치 및 방법, 프로그램 기록 매체, 및 프로그램
JP4256075B2 (ja) ファイルシステム及び記憶領域の管理方法
KR100548828B1 (ko) 기록매체와 같은 디스크 상에/디스크로부터 실시간 정보를동시에 기록 및 재생하는 방법 및 장치
JP3069324B2 (ja) 光ディスク記録装置、記録方法及びプログラム記録媒体
JP3420223B2 (ja) 記録装置、記録方法、プログラムを記録したコンピュータ読み取り可能な記録媒体、光ディスク
JP3420155B2 (ja) 記録装置、記録方法、プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4427916B2 (ja) 情報記録装置および方法、情報記録再生装置および方法、情報記録媒体のフォーマット、プログラム、並びにプログラム格納媒体
JPH09330566A (ja) 情報記録媒体及び情報格納方法
JP2002117629A (ja) 光ディスク記録装置、ファイル管理プログラムを記録したコンピュータ読み取り可能な記憶媒体および光ディスク
RU2303823C2 (ru) Способ обработки, записи и воспроизведения файлов реального времени
KR20020044573A (ko) 오디오/비디오 데이터 및 비-오디오/비디오 데이터를저장하기 위한 디바이스
MXPA99010567A (en) Method and apparatus for simultaneouslyrecording and reproducing real time information on/from a disc like record carrier
MXPA99004443A (en) Optical disc recording apparatus, computer-readable recording medium recording a file management program, and optical disc

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100302

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100305

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150