JP2016012382A - 情報処理装置と情報処理方法およびプログラム - Google Patents
情報処理装置と情報処理方法およびプログラム Download PDFInfo
- Publication number
- JP2016012382A JP2016012382A JP2014132485A JP2014132485A JP2016012382A JP 2016012382 A JP2016012382 A JP 2016012382A JP 2014132485 A JP2014132485 A JP 2014132485A JP 2014132485 A JP2014132485 A JP 2014132485A JP 2016012382 A JP2016012382 A JP 2016012382A
- Authority
- JP
- Japan
- Prior art keywords
- file
- recording
- recording medium
- data
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims description 49
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 abstract description 114
- 230000006870 function Effects 0.000 description 39
- 238000012545 processing Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 16
- 238000012546 transfer Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
【課題】記録媒体への複数ファイルの連続書き込みを高速に完了できるようにする。
【解決手段】 情報処理装置20のファイラーは、例えばハードディスク装置30に記録されている複数ファイルを光ディスク装置40の光ディスク45に連続コピーする。光ディスクファイルシステムドライバは、光ディスク45に記録するファイルのバッファへの格納をファイルの光ディスクへの記録と見なしてファイルに対する仮想的な管理情報を生成する。また、光ディスクファイルシステムドライバは、バッファに所定量のファイルのデータが格納される毎に該所定量のデータを記録媒体にバースト記録する。さらに、光ディスクファイルシステムドライバは、光ディスクへのファイルの記録完了後に仮想的な管理情報を光ディスクにおけるファイルの記録位置を含む情報を用いて更新して光ディスクに記録する。
【選択図】 図1
【解決手段】 情報処理装置20のファイラーは、例えばハードディスク装置30に記録されている複数ファイルを光ディスク装置40の光ディスク45に連続コピーする。光ディスクファイルシステムドライバは、光ディスク45に記録するファイルのバッファへの格納をファイルの光ディスクへの記録と見なしてファイルに対する仮想的な管理情報を生成する。また、光ディスクファイルシステムドライバは、バッファに所定量のファイルのデータが格納される毎に該所定量のデータを記録媒体にバースト記録する。さらに、光ディスクファイルシステムドライバは、光ディスクへのファイルの記録完了後に仮想的な管理情報を光ディスクにおけるファイルの記録位置を含む情報を用いて更新して光ディスクに記録する。
【選択図】 図1
Description
この技術は、情報処理装置と情報処理方法およびプログラムに関し、記録媒体への複数ファイルの書き込みを高速に完了できるようにする。
従来、光ディスク用のファイル記録方式として、ライブファイルシステム方式やマスター方式等が用いられている。
ライブファイルシステム方式は、ファイル単位で光ディスクにファイルデータを書き込める方式であり、ファイル記録要求に対して即座にファイルデータの記録が開始されて、記録の完了と同時にファイルシステム情報が光ディスクに記録される。また、ライブファイルシステム方式では、記録したファイルの削除や移動、ファイル名の変更などが可能であり使い勝手がよい。
マスター方式は、小さいデータサイズのファイルをまとめた連続的イメージを光ディスクへ一度に記録するため、バースト記録を行うことができるので、ファイルサイズの小さい多数のファイルを一度にコピーする際に記録速度の低下を防ぐことができる。
また、特許文献1で開示されているファイル記録方式では、ファイルの断片化を抑制するために一度ディスクにダミーファイルを記録することが行われている。
ところで、ライブファイルシステム方式では、ファイルサイズの小さい多数のファイルを一度にコピーする際に、1ファイルずつファイルシステム情報を記録する必要がある。また、最適な記録速度となるバースト記録のデータ量(以下「バースト記録量」という)にファイルサイズが満たない場合はバースト記録を行うことが困難であるため転送速度が落ちる。
マスター方式は、一度記録された複数のファイルから一部のファイルの削除や移動、ファイル名の変更が行えないなど、使い勝手に問題が生じる。
さらに、特許文献1で開示されているファイル記録方式では、データ記録中にダミーファイルおよびダミーデータをディスクに実際に記録してしまうため、ファイルサイズの小さい多数のファイルを連続記録する際に、2度の記録が発生して転送速度が低下する。
そこで、この技術では記録媒体への複数ファイルの連続書き込みを高速に完了できる情報処理装置と情報処理方法およびプログラムを提供することを目的とする。
この技術の第1の側面は、
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する記録制御部を備える情報処理装置にある。
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する記録制御部を備える情報処理装置にある。
この技術において、情報処理装置は、例えば記録媒体を用いるデバイスを制御するデバイスドライバと、ファイルシステムを制御するファイルシステムドライバを備えている。ファイルシステムドライバは、ファイル操作を行うアプリケーションからの指示に応じて生成する管理情報として仮想的な管理情報の生成を行う。ファイルシステムドライバは、記録媒体に記録するファイルのバッファへの格納をファイルの記録媒体への記録と見なして、記録媒体におけるファイルの記録位置を示す情報を有していない管理情報をメモリ上に仮想的な管理情報として生成する。ファイルシステムドライバは、このように仮想的な管理情報を生成することで、ファイルの記録媒体への記録完了前でもバッファへの格納が完了したことに応じてアプリケーションで記録媒体へのファイルの記録完了と判別させる。さらにファイルシステムドライバは、バッファに所定量のファイルのデータが格納される毎に所定量のデータを記録媒体にバースト記録する処理や、記録媒体へのファイルの記録完了後にメモリ上の仮想的な管理情報を記録媒体におけるファイルの記録位置を示す情報を用いて更新して記録媒体に記録する処理を行う。また、ファイルシステムドライバは、所定時間が経過してもファイルの書き込み指示がない場合に、バッファに格納されている記録媒体に記録されていない所定量未満のデータを記録媒体に記録する処理を行う。また、記録媒体に記録するファイルを、バッファを介して記録媒体に記録する処理とバッファを介することなく記録媒体に記録する処理が、ユーザの指示に基づき選択的に行われる。記録媒体へのファイルの記録は、複数チャンネルの記録ヘッドを用いて行われており、ファイルシステムドライバは、ファイルのデータをチャンネル毎に設けられているバッファに格納する。
この技術の第2の側面は、
記録制御部で、記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する工程と、
前記記録制御部で、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する工程と、
前記記録制御部で、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する工程と
を含む情報処理方法にある。
記録制御部で、記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する工程と、
前記記録制御部で、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する工程と、
前記記録制御部で、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する工程と
を含む情報処理方法にある。
この技術の第3の側面は、
複数ファイルを連続して記録媒体に記録する処理をコンピュータで実行させるプログラムであって、
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する手順と、
前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する手順と、
前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する手順と
を前記コンピュータで実行させるプログラムにある。
複数ファイルを連続して記録媒体に記録する処理をコンピュータで実行させるプログラムであって、
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する手順と、
前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する手順と、
前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する手順と
を前記コンピュータで実行させるプログラムにある。
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
この技術によれば、記録媒体に記録するファイルのバッファへの格納がファイルの記録媒体への記録と見なされてファイルに対する仮想的な管理情報の生成が行われる。また、バッファに所定量のファイルのデータが格納される毎に所定量のデータが記録媒体にバースト記録される。さらに、記録媒体へのファイルの記録完了後に仮想的な管理情報が記録媒体におけるファイルの記録位置を含む情報を用いて更新されて記録媒体に記録される。したがって、記録媒体への複数ファイルの連続書き込みを高速に完了できるようになる。なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.記録システムの構成
2.情報処理装置の動作
1.記録システムの構成
2.情報処理装置の動作
<1.記録システムの構成>
図1は、本技術の情報処理装置を用いた記録システムの構成を例示している。記録システム10では、情報処理装置20に例えばハードディスク装置30と光ディスク装置40が接続されている。情報処理装置20とハードディスク装置30、および情報処理装置20と光ディスク装置40は、それぞれ所定のインタフェース規格で接続されている。
図1は、本技術の情報処理装置を用いた記録システムの構成を例示している。記録システム10では、情報処理装置20に例えばハードディスク装置30と光ディスク装置40が接続されている。情報処理装置20とハードディスク装置30、および情報処理装置20と光ディスク装置40は、それぞれ所定のインタフェース規格で接続されている。
情報処理装置20で動作するオペレーティングシステムを構成するソフトウェアは、ユーザ(user)モードレイヤとカーネル(Kernel)モードレイヤに区分されている。ユーザモードレイヤには、アプリケーションソフトウェア例えばファイル操作を行うためのファイラー(Filer)が設けられている。また、カーネルモードレイヤは、ハードディスクデバイスドライバ、光ディスクデバイスドライバ、ハードディスクファイルシステムドライバ、光ディスクシステムドライバが設けられている。なお、図1に示すソフトウェアは、オペレーティングシステムの一部であって、ユーザモードレイヤとカーネルモードレイヤには、種々の動作を行うために必要とされるソフトウェアが設けられている。
ファイラーは、ユーザモードで動作するアプリケーションソフトウェアであり、ファイルの閲覧やコピー、削除、移動などを行うためのソフトウェアである。ファイラーは、例えばマイクロソフト・コーポレーションが提供するWindows(登録商標)オペレーティングシステムに設けられているExplorer、アップル・コンピュータ・インコーポレイテッドが提供するMac OS(登録商標)等に設けられているFinderなどである。
ハードディスクデバイスドライバと光ディスクデバイスドライバは、ストレージクラスドライバである。ハードディスクデバイスドライバは、ハードディスク装置への記録/再生を抽象化し、光ディスクデバイスドライバは、光ディスク装置への記録/再生を抽象化する。このように、デバイスドライバは、ドライブへの記録/再生を抽象化することで、特定のデバイスに依存した違いを吸収して、デバイスに依存しないインタフェースを上位のソフトウェアに提供する。
ハードディスクファイルシステムドライバと光ディスクファイルシステムドライバは、ユーザモードで動作するファイラーからのファイルアクセスを抽象化して、下位のデバイスドライバのインタフェースに置き換える。したがって、ファイラーからのファイルアクセスに応じて、ハードディスク装置30や光ディスク装置40でファイルの記録/再生が可能となる。
ハードディスクファイルシステムドライバは、オペレーティングシステムに標準的に組み込まれているNTFS/FATなどのファイルシステムドライバである。ハードディスクファイルシステムドライバは、ハードディスクデバイスドライバを介して、ハードディスク装置にファイルデータおよびファイルシステムを記録する処理、および記録されているファイルデータやファイルシステムを読み出す処理を行う。
光ディスクファイルシステムドライバは、光ディスクデバイスドライバを介して光ディスクに所定のファイルシステムフォーマット例えばUDFなどでファイルデータおよびファイルシステムを記録する処理、および記録されたファイルデータやファイルシステムを読み出する処理を行う。さらに、情報処理装置20にはメモリが設けられており、光ディスクファイルシステムドライバは、コピー元から読み出したファイルデータをメモリ上に設けたプロキシファイル用のバッファに格納する。また、光ディスクファイルシステムドライバは、バッファに格納したファイルデータを光ディスクに対してバースト記録する。さらに、光ディスクファイルシステムドライバは、光ディスクに記録するファイルのバッファへの格納をファイルの光ディスクへの記録と見なして、ファイルデータが全て光ディスクに記録される前であっても、次のファイルのコピー処理を開始できるようにする。なお、光ディスクが追記型である場合、ファイルは追記的に記録されるので、一度記録されたファイルのデータは、例えそのファイルが消去されても、光ディスクの同じアドレスを読むと記録されたデータを読むことができる。
ハードディスク装置30は、情報処理装置20で実行するアプリケーションソフトウェアやアプリケーションソフトウェアで利用する各種のファイルを記憶している。
光ディスク装置40は、例えば複数チャンネルの光ヘッドを用いて構成されており、例えばチャンネル毎に振り分けられたファイルデータを各チャンネルの光ヘッドを用いて記録することで、1つのチャンネルの光ヘッドを用いる場合よりも高速に記録を行う。また、光ディスク装置40は、バースト記録を行い、チャンネル毎に振り分けられたファイルデータを高速に光ディスクに記録する。図2は、光ディスク装置で2チャンネルの記録ベッドが用いられている場合の動作を例示している。光ディスク45に記録するファイルデータはバースト記録量である記録用データCHa_fと記録用データCHb_fに振り分けられる。記録用データCHa_fは記録ヘッドのチャンネルCHa、記録用データCHb_fはチャンネルCHbで、光ディスク45に対してバースト記録されて、光ディスク45には、記録用データCHa_wと記録用データCHb_wが連続して記録された状態となる。
<2.情報処理装置の動作>
次に、情報処理装置の動作として、複数ファイルを光ディスクに連続コピーする場合のファイラーとファイルシステムドライバの動作について説明する。
次に、情報処理装置の動作として、複数ファイルを光ディスクに連続コピーする場合のファイラーとファイルシステムドライバの動作について説明する。
情報処理装置では、コピー元から読み出したファイルデータをメモリ上に設けたプロキシファイル用のバッファに格納する。また、情報処理装置は、格納したファイルデータのデータ量がバースト記録量となった場合、プロキシファイル用のバッファに格納したファイルデータを光ディスクに記録する。さらに、情報処理装置は、格納されたファイルデータのデータ量がバースト記録量となる前にコピー対象の全ファイルのファイルデータが完了した場合、プロキシファイル用のバッファに格納したファイルデータを光ディスクに記録する。
なお、以下の説明では、情報処理装置においてマイクロソフト・コーポレーションが提供するWindows(登録商標)オペレーティングシステムが用いられているとする。
ファイラーは、コピー元例えばハードディスク装置30に記録されたファイルを複数選択して、コピー先である光ディスク45にそれらのファイルを連続コピーする処理を行う。ファイラーは、一つのファイルのコピーが完了した後に、次のファイルのコピーを開始して、逐次的にファイルをハードディスク装置30から光ディスク装置40の光ディスク45にコピーする。また、1ファイルのコピー完了後に、コピー先ファイルに対してコピー元ファイルと同じファイル属性の設定などを行う。なお、ファイル属性では、例えばファイルを作成したアプリケーションに関する情報、ファイルの作成日時や更新日時、読み取り専用であるか否か等の情報が示されている。
図3は、複数ファイルの連続コピーにおけるファイラーの動作を示したフローチャートである。ステップST1でファイラーは、コピー元ファイルを開く。ファイラーは、コピー元のファイル名やファイルの扱い等を示したCreateFile()関数をハードディスクファイルシステムドライバに送出してステップST2に進む。ここで、ファイラーは、コピー元のファイルが存在していることから、CreateFile()関数におけるファイルの扱いを指定するパラメータdwCreationDispositionの値を「OPEN_EXISTIN」とする
ステップST2でファイラーは、コピー先ファイルを開く。ファイラーは、コピー先ファイルのファイル名やファイルの扱い等を示したCreateFile()関数を光ディスクファイルシステムドライバに送出してステップST3に進む。ここで、ファイラーは、コピー先ファイルを新たに作成する場合、CreateFile()関数におけるファイルの扱いを指定するパラメータdwCreationDispositionの値を「CREATE_NEW」とする。
ステップST2でファイラーは、コピー先ファイルを開く。ファイラーは、コピー先ファイルのファイル名やファイルの扱い等を示したCreateFile()関数を光ディスクファイルシステムドライバに送出してステップST3に進む。ここで、ファイラーは、コピー先ファイルを新たに作成する場合、CreateFile()関数におけるファイルの扱いを指定するパラメータdwCreationDispositionの値を「CREATE_NEW」とする。
ステップST3でファイラーは、コピー元ファイルからデータの読み出しを行う。ファイラーは、コピー元のファイルのハンドルや読み取り対象のバイト数、読み取ったデータの格納位置を示すポインタ等を示したReadFile()関数をハードディスクファイルシステムドライバに送出してステップST4に進む。
ステップST4でファイラーは、データの読み出しが完了したか判別する。ファイラーは、ReadFile()関数に対するハードディスクファイルシステムドライバからの戻り値に基づき、コピー元のファイルのデータ読み出しが完了したか否かを判別する。ファイラーは、データの読み出しが完了していないと判別した場合はステップST5に進み、データの読み出しが完了したと判別した場合はステップST6に進む。
ステップST5でファイラーは、コピー先ファイルへデータの書き込みを行う。ファイラーは、コピー先ファイルのハンドルや上述の読み取り対象のバイト数と等しい書き込み対象のバイト数、書き込むデータの格納位置を示すポインタ等を示したWriteFile()関数を光ディスクファイルシステムドライバに送出してステップST3に戻る。
すなわち、ファイラーは、ステップST3からステップST5までの処理を繰り返すことで、コピー元ファイルのデータを読み取り対象(=書き込み対象)のバイト数単位で順次コピー先ファイルに書き込む。その後、コピー元ファイルのデータが全てコピー先ファイルに書き込まれると、ファイラーはステップST6の処理を行う。
ステップST6でファイラーは、コピー先ファイルを閉じる。ファイラーは、コピー先ファイルのハンドルを示したCloseHandle()関数を光ディスクファイルシステムドライバに送出してステップST7に進む。
ステップST7でファイラーは、コピー元ファイルを閉じる。ファイラーは、コピー元のファイルのハンドルを示したCloseHandle()関数をハードディスクファイルシステムドライバに送出してステップST8に進む。
ステップST8でファイラーは、コピー元ファイル属性をコピー先ファイルに設定する。ファイラーは、コピー先ファイルに対してコピー元ファイルと同じファイル属性の設定を行いステップST9に進む。
ステップST9でファイラーは、連続コピーの完了であるか判別する。ファイラーは、コピーされていないファイルが残っていると判別した場合、コピーされていないファイルを次のコピー元ファイルに設定してステップST1に戻る。また、ファイラーは、コピー対象の全てのファイルについてコピーが完了したと判別した場合、連続コピーの処理を終了する。
図4は、複数ファイルの連続コピーにおける光ディスクファイルシステムドライバの動作を示したフローチャートである。
光ディスクファイルシステムドライバ(以下、単に「ファイルシステムドライバ」という)は、光ディスクに記録するファイルのバッファへの格納をファイルの光ディスクへの記録と見なしてファイルに対する仮想的な管理情報をメモリ上に生成する。また、ファイルシステムドライバは、バッファにバースト記録量のファイルのデータが格納される毎にバースト記録量のファイルデータを光ディスクにバースト記録する。さらに、ファイルシステムドライバは、光ディスクへの複数ファイルの記録完了後に、メモリ上の仮想的な管理情報を光ディスクにおけるファイルの記録位置を含む情報を用いて更新して光ディスクに記録する。
ステップST21でファイルシステムドライバは、ファイルを開く指示を受領する。ファイルシステムドライバは、図3のステップST2でファイラーから送出されたCreateFile()関数を受領してステップST22に進む。
ステップST22でファイルシステムドライバは、プロキシ(Proxy)ファイルのファイルエントリ(FileEntry)が存在するか判別する。プロキシファイルのファイルエントリは、プロキシファイルの領域位置や領域サイズを示す情報であり、ファイルシステムドライバは、ファイルエントリがメモリ上に存在していない場合はステップST23に進み、存在している場合はステップST24に進む。
ステップST23でファイルシステムドライバは、メモリ上にプロキシファイルのファイルエントリを作成する。ファイルシステムドライバは、プロキシファイルのファイルエントリを作成することで、コピー元ファイルから読み出したファイルデータをプロキシファイル用のバッファに書き込めるようにしてステップST24に進む。
ステップST24でファイルシステムドライバは、メモリ上にコピー先ファイルの仮想的なファイルエントリ(以下「仮想ファイルエントリ」という)を作成する。ファイルシステムドライバは、上述のように、コピー対象のファイルのファイルデータをメモリ上に設けたプロキシファイル用のバッファに格納して、格納されたファイルデータを光ディスクにバースト記録する。したがって、ファイラーでファイルの書き込みを指示しても、ファイルデータがバースト記録量となるまでは光ディスクに記録されない。このため、ファイルシステムドライバは、仮想ファイルエントリを作成して、この仮想ファイルエントリはファイルの実記録情報(光ディスク上の記録位置や記録領域サイズ)を示していないファイルエントリとする。なお、仮想ファイルエントリの情報は、上述の仮想的な管理情報に相当する。ファイルシステムドライバは、仮想ファイルエントリを作成してステップST25に進む。
ステップST25でファイルシステムドライバは、書き込み指示を受領したか判別する。ファイルシステムドライバは、図3のステップST5でファイラーから送出されたWriteFile()関数を受領した場合にステップST26に進み、受領していない場合はステップST30に進む。
ステップST26でファイルシステムドライバは、ダミー領域をコピー先ファイル領域として確保する。ファイルシステムドライバは、WriteFile()関数で示された書き込み対象のバイト数分の領域をダミー領域として、このダミー領域をコピー先ファイル領域として確保してステップST27に進む。
ステップST27でファイルシステムドライバは、プロシキファイル用のバッファにデータを格納する。ファイルシステムドライバは、WriteFile()関数で示された書き込み対象のファイルデータを、プロシキファイル用としてメモリ上に設けたバッファに格納してステップST28に進む。
ステップST28でファイルシステムドライバは、バースト記録量のデータを格納したか判別する。ファイルシステムドライバは、バッファに格納したファイルデータがバースト記録量となった場合はステップST29に進む。また、ファイルシステムドライバは、バッファに格納したファイルデータがバースト記録量未満である場合はステップST25に戻る。
ステップST29でファイルシステムドライバは、プロシキファイル用のバッファに格納されているデータを光ディスクにバースト記録する。また、ファイルシステムドライバは、プロシキファイル用のバッファにおいて記録の完了したデータの領域を空き領域として、新たなデータを書き込めるようにしてステップST25に戻る。
ステップST25からステップST30に進むと、ステップST30でファイルシステムドライバは、ファイルを閉じる指示を受領したか判別する。ファイルシステムドライバは、図3のステップST6でファイラーから送出されたCloseHandle()関数を受領した場合にステップST31に進み、CloseHandle()関数を受領していない場合にステップST25に戻る。
ステップST31でファイルシステムドライバは、コピー先ファイルの仮想ファイルエントリに属性を設定する。ファイルシステムドライバは、コピー先ファイルを閉じる指示を受領したことから、コピー先ファイルへのコピーが完了したとして、コピー元ファイルの属性情報を利用して、コピー先ファイルの仮想ファイルエントリに属性を設定してステップST32に進む。
ステップST32でファイルシステムドライバは、指示待ちが所定時間経過したか判別する。情報処理装置20では、複数ファイルの連続コピーの終了を判別するための所定時間が予め設定されている。ファイルシステムドライバは、所定時間(例えば5秒)が経過する前にファイラーからのファイルを開く指示がある場合はステップST21に戻り、ファイルを開く指示を受領して、次のファイルのコピー処理を行う。また、ファイルシステムドライバは、所定時間が経過してもファイラーからのファイルを開く指示がない場合はステップST33に進む。
ステップST33でファイルシステムドライバは、プロキシファイル用のバッファの残データを光ディスクに記録する。ファイルシステムドライバは、プロキシファイル用のバッファの残データ、すなわちバースト記録量未満であって光ディスクにまだ記録されていないファイルデータを光ディスクに記録してステップST34に進む。
ステップST34でファイルシステムドライバは、各コピー先ファイルのファイルエントリを更新する。ファイルシステムドライバは、ステップST33までの処理を行うことによってコピー対象のファイルを全て光ディスクに記録したことから、光ディスクにおけるファイルの記録位置を含む情報を用いて仮想ファイルエントリを更新する。すなわち、ファイルシステムドライバは、コピー先ファイル毎に、割り当てたダミー領域の合計値である領域サイズとプロキシファイル用のバッファを介して光ディスクに記録したファイルの記録位置を含む情報を用いて、メモリ上に作成されている各コピー先ファイルの仮想ファイルエントリを、実記録情報を示すファイルエントリに更新してステップST35に進む。
ステップST35でファイルシステムドライバは、プロキシファイルのファイルエントリを削除する。ファイルシステムドライバは、コピー対象の全ファイルのファイルデータを光ディスクに記録する処理が完了したことでプロキシファイルが不要であることから、プロキシファイルのファイルエントリを削除してステップST36に進む。
ステップST36でファイルシステムドライバは、コピー先ファイルのファイルエントリの情報を光ディスクに記録する。ファイルシステムドライバは、メモリ上にコピー先ファイル毎に作成されている更新後のファイルエントリの情報を含むファイルシステム情報を光ディスクに記録してステップST21に戻る。
図5は、ファイルデータの連続コピー中の処理動作を例示している。なお、図5では、バースト記録量が例えば64MBとされており、File[0]〜File[2]の各ファイルのデータ量が64MB未満で、各ファイルの合計データ量が64MB以上である。
ファイラーは、File[0]〜File[2]について、ハードディスクボリュームから光ディスクボリュームへのコピーを行う。また、ファイルシステムドライバは、WriteFile()関数によって供給されたファイルデータをプロキシファイル用のバッファに順次格納してバースト記録量毎に光ディスクに記録できるようにする。すなわち、ファイルシステムドライバは、File[0]〜File[2]のファイルデータが連結された連結データを、バースト記録量毎に区分する処理と同等の処理を行う。ファイルシステムドライバは、プロキシファイル用のバッファにバースト記録量のファイルデータが格納される毎に、このバースト記録量のファイルデータを光ディスクにバースト記録する。
ファイルシステムドライバは、プロキシファイルエントリとFile[0]〜File[2]に対する実記録情報のない仮想ファイルエントリを作成する処理、ファイラーからの書き込み指示に基づき、コピー元ファイルのファイルデータをプロキシファイル用のバッファに格納する処理を行う。さらに、ファイルシステムドライバは、書き込み指示の終了後にファイラーから送出された属性設定指示に基づき仮想ファイルエントリを完結させる処理等を行う。また、ファイラーは、仮想ファイルエントリに対してコピー完了後の存在確認や、ファイル属性の設定を行い、その後次のファイルのコピーを開始する。したがって、例えばFile[0]のデータを光ディスクに記録する処理が完了していなくとも、次のFile[1]のデータのコピーを開始できる。なお、仮想ファイルエントリに基づき光ディスクからFile[0]のデータを読み出した場合、例えば「0」で埋められたデータが得られることになる。この時点で転送元と転送先のデータ比較などは行えないが、光ディスクから実際のデータの読み出しは行われないので、転送性能の低下は発生しない。
また、プロキシファイルは隠しファイル(例えば内部システムファイル)としてファイルシステムドライバはファイラーや他のアプリケーションからプロキシファイルを認識できないようにする。プロキシファイル用のバッファは、例えば記録ヘッドのチャンネルCHaに対応するバッファ−AとチャンネルCHbに対応するバッファ−Bを有している。ファイルシステムドライバは、バッファにバースト記録量のファイルデータを格納すると、バッファに格納されているファイルデータを光ディスクにバースト記録する。なお、図5では、バッファ−Aに格納されたFile[0]のファイルデータDT0とFile[1]の一部のファイルデータDT1-1が光ディスクに記録ヘッドのチャンネルCHaを用いてバースト記録される場合を示している。また、図示せずも、バッファ−Aに格納されたファイルデータのバースト記録中に、バースト記録量のファイルデータがバッファ−Bに格納された場合、ファイルシステムドライバは、バッファ−Bに格納されたファイルデータのバースト記録を並行して行う。また、ファイルシステムドライバは、バッファ−Aとバッファ−Bにバースト記録量のファイルデータが格納されたとき、バースト記録を行うようにしてもよい。さらに、ファイルシステムドライバは、バースト記録中であっても新たなファイルデータをバッファに格納できるように、バッファ容量の設定や光ディスクに記録済みのデータの消去を行う。このようにすれば、ファイルデータをバッファに格納しながら格納されているファイルデータを光ディスクに記録することが可能となり、さらに効率よく複数ファイルを光ディスクに記録できるようになる。
図6は、ファイルデータの記録完了後の処理動作を例示している。ファイルシステムドライバは、図4のステップST32で所定時間が経過したと判別するとステップST33で光ディスクにプロキシファイル用のバッファの残データを記録する。したがって、光ディスクにはFile[0]のファイルデータDT0とFile[1]のファイルデータDT1とFile[2]のファイルデータDT2の記録が完了する。その後、ファイルシステムドライバは、File[0]〜File[2]にファイルデータの光ディスクにおける記録領域を割り当てることで、各ファイルの仮想ファイルエントリを、実記録情報を示すファイルエントリに更新する。また、ファイルシステムドライバは、不要となったプロキシファイルのファイルエントリを削除する。さらにファイルシステムドライバは、File[0]〜File[2]の更新後のファイルエントリを含むファイルシステム情報を光ディスクに記録する。ファイルシステムドライバは、以上のような処理を行うことで、File[0]〜File[2]のファイルデータとFile[0]〜File[2]に関するファイルシステム情報を光ディスクに記録できる。
図7および図8は、複数ファイルの連続コピーのシーケンス図を示している。なお、図7および図8では、図5および図6に示すようにFile[0]〜File[2]を連続コピーする場合を例示している。また、図7および図8では、プロキシファイルライターを用いて、プロキシファイル用のバッファのデータを光ディスク装置に送出する場合を例示している。
ファイラーは、File[0]のコピー処理を開始して、ステップST101でコピー先ファイルであるFile[0]を開く指示であるCreateFile("\File[0]")関数をファイルシステムドライバに送出する。
ステップST102でファイルシステムドライバは、プロキシファイルエントリをメモリ上に作成する。ステップST103でファイルシステムドライバは、File[0]のファイルエントリをメモリ上に仮想ファイルエントリとして作成して、ステップST104でファイルシステムドライバは、File[0]を開いたことを示す戻り値をファイラーに送出する。
次に、File[0]が開いていることから、ステップST105-1でファイラーは、コピー先ファイルへデータの書き込み指示であるWriteFile("\File[0]")関数をファイルシステムドライバに送出する。
この書き込み指示に基づきステップST106-1aでファイルシステムドライバは、WriteFile("\File[0]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップST106-1bでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップST107-1でファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
その後、書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップST105-pでファイラーは、File[0]の最後のファイルデータをコピー先ファイルに書き込むため、WriteFile("\File[0]")関数をファイルシステムドライバに送出する。
この書き込み指示に基づきステップST106-paでファイルシステムドライバは、WriteFile("\File[0]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップST106-pbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップST107-pでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
ステップST109でファイラーは、File[0]の全ファイルデータの書き込み完了であるとして、File[0]を閉じる指示であるCloseHandle("\File[0]")関数をファイルシステムドライバに送出する。ステップST110でファイルシステムドライバは、File[0]を閉じて戻り値をファイラーに送出する。
ステップST111でファイラーは、File[0]の属性の設定指示であるSetFileAttributes("\File[0]")関数をファイルシステムドライバに送出する。ステップST112でファイルシステムドライバは、File[0]のファイルエントリに属性を設定して、ステップST113で属性の設定が完了したことファイラーに送出する。
ファイラーは、File[0]のコピー処理が完了したとして、File[1]のコピー処理を開始し、ステップST121でコピー先ファイルであるFile[1]を開く指示であるCreateFile("\File[1]")関数をファイルシステムドライバに送出する。
ステップST123でファイルシステムドライバは、File[1]のファイルエントリをメモリ上に仮想ファイルエントリとして作成して、ステップST124でファイルシステムドライバは、File[1]を開いたことを示す戻り値をファイラーに送出する。
次に、File[1]が開いていることから、ステップST125-1でファイラーは、コピー先ファイルへデータの書き込み指示であるWriteFile("\File[1]")関数をファイルシステムドライバに送出する。
この書き込み指示に基づきステップST126-1aでファイルシステムドライバは、WriteFile("\File[1]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップST126-1bでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップST127-1でファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
その後、書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップST125-jでファイラーは、File[1]のファイルデータをコピー先ファイルに書き込むために、WriteFile("\File[0]")関数をファイルシステムドライバに送出する。この書き込み指示に基づきステップST126-jaでファイルシステムドライバは、WriteFile("\File[0]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップST126-jbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップST127-jでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
ここで、プロキシファイル用のバッファにファイルデータを格納することで、バッファに格納されたファイルデータがバースト記録量となると、ステップST128でファイルシステムドライバはプロキシファイルライターと光ディスク装置を制御して、バッファに格納されているバースト記録量分のファイルデータを光ディスクにバースト記録する。
書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップST125-qでファイラーは、File[1]の最後のファイルデータをコピー先ファイルに書き込むために、WriteFile("\File[1]")関数をファイルシステムドライバに送出する。
この書き込み指示に基づきステップST126-qaでファイルシステムドライバは、WriteFile("\File[1]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップST126-qbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップST127-qでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
ステップST129でファイラーは、File[1]の全ファイルデータの書き込み完了であるとして、File[1]を閉じる指示であるCloseHandle("\File[1]")関数をファイルシステムドライバに送出する。ステップST130でファイルシステムドライバは、File[1]を閉じて戻り値をファイラーに送出する。
ステップST131でファイラーは、File[1]の属性の設定指示であるSetFileAttributes("\File[1]")関数をファイルシステムドライバに送出する。ステップST132でファイルシステムドライバは、File[1]のファイルエントリに属性を設定して、ステップST133で属性の設定が完了したことファイラーに送出する。
ファイラーは、File[1]のコピー処理が完了したとして、File[2]のコピー処理を開始し、ステップST141でコピー先ファイルであるFile[2]を開く指示であるCreateFile("\File[2]")関数をファイルシステムドライバに送出する。
ステップST143でファイルシステムドライバは、File[2]のファイルエントリをメモリ上に仮想ファイルエントリとして作成して、ステップST144でファイルシステムドライバは、File[2]を開いたことを示す戻り値をファイラーに送出する。
次に、File[2]が開いていることから、ステップST145-1でファイラーは、コピー先ファイルへデータの書き込み指示であるWriteFile("\File[2]")関数をファイルシステムドライバに送出する。
この書き込み指示に基づきステップST146-1aでファイルシステムドライバは、WriteFile("\File[2]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップST146-1bでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップST147-1でファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
その後、書き込み指示および書き込み指示に基づいた処理を繰り返し行い、ステップST145-rでファイラーは、File[2]の最後のファイルデータをコピー先ファイルに書き込むために、WriteFile("\File[2]")関数をファイルシステムドライバに送出する。
この書き込み指示に基づきステップST146-raでファイルシステムドライバは、WriteFile("\File[2]")関数で示された書き込み対象のバイト数であるダミー領域を確保する。また、ファイルシステムドライバは書き込み指示に基づきプロキシファイルライターを制御して、ステップST146-rbでプロキシファイル用のバッファに書き込み対象のバイト数であるファイルデータを格納する。ステップST147-rでファイルシステムドライバは、書き込み指示の処理が完了したことを示す戻り値をファイラーに送出する。
ステップST149でファイラーは、File[2]の全ファイルデータの書き込み完了であるとして、File[2]を閉じる指示であるCloseHandle("\File[2]")関数をファイルシステムドライバに送出する。ステップST150でファイルシステムドライバは、File[2]を閉じて戻り値をファイラーに送出する。
ステップST151でファイラーは、File[2]の属性の設定指示であるSetFileAttributes("\File[2]")関数をファイルシステムドライバに送出する。ステップST152でファイルシステムドライバは、File[2]のファイルエントリに属性を設定して、ステップST153で属性の設定が完了したことファイラーに送出する。
ファイルシステムドライバは、指示待ちが所定時間経過すると、ステップST161でプロキシファイル用のバッファの残データを光ディスクに記録する。
ステップST162でファイルシステムドライバは、File[0]〜File[3]の各ファイルエントリを更新する。ファイルシステムドライバは、実記録情報を有していない仮想ファイルエントリを、実記録情報を示すファイルエントリに更新する。また、ステップST163でファイルシステムドライバは、プロキシファイルのファイルエントリを削除する。さらにステップST164でファイルシステムドライバは、File[0]〜File[3]のファイルエントリの情報を光ディスクに記録する。ファイルシステムドライバは、File[0]〜File[3]の更新後のファイルエントリの情報を含むファイルシステム情報を光ディスクに記録してステップST21に戻る。
以上のようにして、複数の小サイズのファイルを連続的にコピーする場合に、光ファイルシステムドライバは、プロキシファイルを生成して、プロキシファイル用のバッファにファイルデータを順次格納して、バースト記録量毎に光ディスクにバースト記録する。また、プロキシファイル用のバッファにファイルデータを順次格納する処理が完了したことによって、ファイラーでは次のファイルのコピーが開始される。したがって、連続してコピーする複数ファイルの各ファイルサイズが例えばバースト記録量未満であっても、バースト記録を行うことができるようになり、高速にコピー処理を行うことが可能となる。また、光ディスクに記録されたファイルデータはファイルシステム情報によってファイル単位で管理されているため、記録後のファイル名の変更や、削除、属性変更などが可能であり、ライブファイルシステム方式と同等の使い勝手が得られる。さらに、ファイルデータが連結されてバースト記録されるので、マスター方式相当の記録性能が得られる。さらに、アンチウィルスソフトウェアを用いたリアルタイム保護時など、記録直後のファイルに対して読み出しが行われる場合も、プロキシファイル用のバッファからファイルデータを読み出すようにすれば、記録転送速度の低下が発生しない。
また、光ファイルシステムドライバでプロキシファイルを生成して、プロキシファイル用のバッファにファイルデータを順次格納して、バースト記録量毎に光ディスクにバースト記録することから、ファイラー等では処理を変更する必要がない。したがって、光ファイルシステムドライバを更新するだけで、ファイルの連続記録を高速化することが可能となり、例えば従来の情報処理装置のコピー性能を容易に向上させることができる。
ところで、ファイルの連続記録を高速化する上述の処理は、ユーザの指示に基づいて行うようにしてもよい。図9は、情報処理装置におけるコピー処理の設定画面を例示している。設定画面には、ボリュームタイプを設定するためのドロップダウンボタンGU1が設けられている。このドロップダウンボタンを操作すると、設定可能なボリュームタイプがドロップダウンリストとして表示されて、リストから所望のボリュームタイプが選択される。
また、設定画面には、ベリファイ記録を行うか否かを設定するためのチェックボックスGU2、ドライブを記録禁止とするか否かを設定するためのチェックボックスGU3、ファイルの連続記録を高速化するか否かのチェックボックスGU4が設けられている。さらに、設定画面には、ユーザ設定を適用するためのボタンGU5、設定を出荷時の設定に戻すためのボタンGU6が設けられている。
ここで、ファイルの連続記録を高速化するか否かのチェックボックスGU4に対してチェックが行われている場合、情報処理装置は、光ファイルシステムドライバでコピー対象の複数ファイルのデータを連結して、光ディスクドライバで最適なバースト記録を行う。また、チェックボックスGU4に対してチェックが行われていない場合、情報処理装置は従来と同様にコピー処理をファイル毎に順次行う。
なお、複数ファイルを連続コピーする記録媒体は、光ディスクに限られない。例えば、記録媒体として磁気ディスクやテープ状記録媒体等を用いる場合であってもよい。また上述の実施の形態では、ハードディスク装置のファイルを光ディスクにコピーする場合について説明したが、コピーするファイルは、ハードディスク装置に限らず他の装置に記録されているファイルやネットワークを介して取得したファイルであってもよい。または、ファイルのコピー処理に限らずファイルの移動処理に本技術を適用すれば、複数ファイルの移動を従来よりも高速に完了できる。また、情報処理装置は、オペレーティングシステムとしてWindows(登録商標)を用いる場合に限らず、Mac OS(登録商標)等の他のオペレーティングシステムを用いる構成であってもよい。
さらに、明細書中において説明した一連の処理を実行する場合、ファイルシステムドライバのプログラムを、コンピュータ内のメモリにインストールして実行させる。プログラムは、例えば記録媒体としてのハードディスクやSSD(Solid State Drive)、ROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、BD(Blu-Ray Disc(登録商標))、磁気ディスク、半導体メモリカード等のリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、プログラムは、リムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトからLAN(Local Area Network)やインターネット等のネットワークを介して、コンピュータに無線または有線で転送してもよい。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、本明細書に記載した効果はあくまで例示であって限定されるものではなく、記載されていない付加的な効果があってもよい。また、本技術は、上述した実施の形態に限定して解釈されるべきではない。この技術の実施の形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
また、本技術の情報処理装置は以下のような構成も取ることができる。
(1) 記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの情報を用いて更新して前記記録媒体に記録する記録制御部を備える情報処理装置。
(2) 前記記録制御部は、前記仮想的な管理情報として前記記録媒体における前記ファイルの記録位置を示す情報を有していない管理情報を生成して、前記記録媒体への前記ファイルの記録完了後に前記記録媒体における前記ファイルの記録位置を示す情報を用いて前記管理情報を更新する(1)に記載の情報処理装置。
(3) 前記記録制御部は、所定時間が経過してもファイルの書き込み指示がない場合に、前記バッファに格納されている前記記録媒体に記録されていない前記所定量未満のデータを前記記録媒体に記録する(1)または(2)に記載の情報処理装置。
(4) 前記記録制御部は、メモリ上に前記仮想的な管理情報を生成して、前記メモリ上の仮想的な管理情報を更新して前記記録媒体に記録する(1)乃至(3)の何れかに記載の情報処理装置。
(5) 前記記録媒体を用いるデバイスを制御するデバイスドライバと、ファイルシステムを制御するファイルシステムドライバを備え、
前記記録制御部は、前記ファイルシステムドライバにより実現する(1)乃至(4)の何れかに記載の情報処理装置。
(6) 前記記録制御部は、ファイル操作を行うアプリケーションからの指示に応じて生成する前記ファイルに対する管理情報として前記仮想的な管理情報の生成を行い、前記ファイルの前記記録媒体への記録完了前でも前記バッファへの格納が完了したことに応じて前記アプリケーションで前記記録媒体への前記ファイルの記録完了と判別させる(5)に記載の情報処理装置。
(7) 前記記録制御部は、前記記録媒体に記録するファイルを、前記バッファを介して前記記録媒体に記録する処理と、前記バッファを介することなく前記記録媒体に記録する処理を、ユーザの指示に基づき選択的に行う(1)乃至(6)の何れかに記載の情報処理装置。
(8) 前記記録媒体への前記ファイルの記録は、複数チャンネルの記録ヘッドを用いて行われており、
前記記録制御部は、前記ファイルのデータを前記チャンネル毎に設けられている前記バッファに格納する(1)乃至(7)の何れかに記載の情報処理装置。
(1) 記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの情報を用いて更新して前記記録媒体に記録する記録制御部を備える情報処理装置。
(2) 前記記録制御部は、前記仮想的な管理情報として前記記録媒体における前記ファイルの記録位置を示す情報を有していない管理情報を生成して、前記記録媒体への前記ファイルの記録完了後に前記記録媒体における前記ファイルの記録位置を示す情報を用いて前記管理情報を更新する(1)に記載の情報処理装置。
(3) 前記記録制御部は、所定時間が経過してもファイルの書き込み指示がない場合に、前記バッファに格納されている前記記録媒体に記録されていない前記所定量未満のデータを前記記録媒体に記録する(1)または(2)に記載の情報処理装置。
(4) 前記記録制御部は、メモリ上に前記仮想的な管理情報を生成して、前記メモリ上の仮想的な管理情報を更新して前記記録媒体に記録する(1)乃至(3)の何れかに記載の情報処理装置。
(5) 前記記録媒体を用いるデバイスを制御するデバイスドライバと、ファイルシステムを制御するファイルシステムドライバを備え、
前記記録制御部は、前記ファイルシステムドライバにより実現する(1)乃至(4)の何れかに記載の情報処理装置。
(6) 前記記録制御部は、ファイル操作を行うアプリケーションからの指示に応じて生成する前記ファイルに対する管理情報として前記仮想的な管理情報の生成を行い、前記ファイルの前記記録媒体への記録完了前でも前記バッファへの格納が完了したことに応じて前記アプリケーションで前記記録媒体への前記ファイルの記録完了と判別させる(5)に記載の情報処理装置。
(7) 前記記録制御部は、前記記録媒体に記録するファイルを、前記バッファを介して前記記録媒体に記録する処理と、前記バッファを介することなく前記記録媒体に記録する処理を、ユーザの指示に基づき選択的に行う(1)乃至(6)の何れかに記載の情報処理装置。
(8) 前記記録媒体への前記ファイルの記録は、複数チャンネルの記録ヘッドを用いて行われており、
前記記録制御部は、前記ファイルのデータを前記チャンネル毎に設けられている前記バッファに格納する(1)乃至(7)の何れかに記載の情報処理装置。
この技術の情報処理装置と情報処理方法およびプログラムでは、記録媒体に記録するファイルのバッファへの格納がファイルの記録媒体への記録と見なされてファイルに対する仮想的な管理情報の生成が行われる。また、バッファに所定量のファイルのデータが格納される毎に所定量のデータが記録媒体にバースト記録される。さらに、記録媒体へのファイルの記録完了後に仮想的な管理情報が記録媒体におけるファイルの記録位置を含む情報を用いて更新されて記録媒体に記録される。このため、記録媒体への複数ファイルの連続書き込みを高速に完了できるようになる。したがって、映像や音声等の多数のファイルを光ディスク等に記録するアーカイブシステム等に適している。
10・・・記録システム
20・・・情報処理装置
30・・・ハードディスク装置
40・・・光ディスク装置
45・・・光ディスク
20・・・情報処理装置
30・・・ハードディスク装置
40・・・光ディスク装置
45・・・光ディスク
Claims (10)
- 記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成し、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録して、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する記録制御部
を備える情報処理装置。 - 前記記録制御部は、前記仮想的な管理情報として前記記録媒体における前記ファイルの記録位置を示す情報を有していない管理情報を生成して、前記記録媒体への前記ファイルの記録完了後に前記記録媒体における前記ファイルの記録位置を示す情報を用いて前記管理情報を更新する
請求項1記載の情報処理装置。 - 前記記録制御部は、所定時間が経過してもファイルの書き込み指示がない場合に、前記バッファに格納されている前記記録媒体に記録されていない前記所定量未満のデータを前記記録媒体に記録する
請求項1記載の情報処理装置。 - 前記記録制御部は、メモリ上に前記仮想的な管理情報を生成して、前記メモリ上の仮想的な管理情報を更新して前記記録媒体に記録する
請求項1記載の情報処理装置。 - 前記記録媒体を用いるデバイスを制御するデバイスドライバと、ファイルシステムを制御するファイルシステムドライバを備え、
前記記録制御部は、前記ファイルシステムドライバにより実現する
請求項1記載の情報処理装置。 - 前記記録制御部は、ファイル操作を行うアプリケーションからの指示に応じて生成する前記ファイルに対する管理情報として前記仮想的な管理情報の生成を行い、前記ファイルの前記記録媒体への記録完了前でも前記バッファへの格納が完了したことに応じて前記アプリケーションで前記記録媒体への前記ファイルの記録完了と判別させる
請求項5記載の情報処理装置。 - 前記記録制御部は、前記記録媒体に記録するファイルを、前記バッファを介して前記記録媒体に記録する処理と、前記バッファを介することなく前記記録媒体に記録する処理を、ユーザの指示に基づき選択的に行う
請求項1記載の情報処理装置。 - 前記記録媒体への前記ファイルの記録は、複数チャンネルの記録ヘッドを用いて行われており、
前記記録制御部は、前記ファイルのデータを前記チャンネル毎に設けられている前記バッファに格納する
請求項1記載の情報処理装置。 - 記録制御部で、記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する工程と、
前記記録制御部で、前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する工程と、
前記記録制御部で、前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する工程と
を含む情報処理方法。 - 複数ファイルを連続して記録媒体に記録する処理をコンピュータで実行させるプログラムであって、
記録媒体に記録するファイルのバッファへの格納を前記ファイルの前記記録媒体への記録と見なして前記ファイルに対する仮想的な管理情報を生成する手順と、
前記バッファに所定量の前記ファイルのデータが格納される毎に該所定量のデータを前記記録媒体にバースト記録する手順と、
前記記録媒体への前記ファイルの記録完了後に前記仮想的な管理情報を前記記録媒体における前記ファイルの記録位置を含む情報を用いて更新して前記記録媒体に記録する手順と
を前記コンピュータで実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014132485A JP2016012382A (ja) | 2014-06-27 | 2014-06-27 | 情報処理装置と情報処理方法およびプログラム |
US15/317,937 US10318204B2 (en) | 2014-06-27 | 2015-05-18 | Information processing device and information processing method for writing plurality of files on recording medium |
PCT/JP2015/064182 WO2015198752A1 (ja) | 2014-06-27 | 2015-05-18 | 情報処理装置と情報処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014132485A JP2016012382A (ja) | 2014-06-27 | 2014-06-27 | 情報処理装置と情報処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016012382A true JP2016012382A (ja) | 2016-01-21 |
Family
ID=54937850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014132485A Pending JP2016012382A (ja) | 2014-06-27 | 2014-06-27 | 情報処理装置と情報処理方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10318204B2 (ja) |
JP (1) | JP2016012382A (ja) |
WO (1) | WO2015198752A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2018088485A1 (ja) * | 2016-11-14 | 2019-12-12 | ダウ・東レ株式会社 | 共変性シリコーン |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315545A (zh) * | 2017-07-06 | 2017-11-03 | 长沙开雅电子科技有限公司 | 一种存储虚拟化新型写缓存高低水位管理方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69133237T2 (de) * | 1990-01-19 | 2004-02-26 | Sony Corp. | Daten-Aufzeichnungsgerät und Daten-Wiedergabegerät |
JP2881980B2 (ja) * | 1990-06-29 | 1999-04-12 | ソニー株式会社 | ディスク記録装置及びディスク再生装置 |
DE4313177C2 (de) * | 1992-04-20 | 2002-04-04 | Mitsubishi Electric Corp | Informationswiedergabevorrichtung |
JPH0778412A (ja) * | 1993-07-13 | 1995-03-20 | Sony Corp | 記録再生装置及び方法並びに再生装置及び方法 |
KR100250509B1 (ko) * | 1994-05-25 | 2000-04-01 | 슈즈이 다께오 | 가변 전송속도 데이터 전송장치 |
JPH0877728A (ja) | 1994-09-08 | 1996-03-22 | Canon Inc | 情報記録再生装置 |
JPH1027321A (ja) | 1996-07-10 | 1998-01-27 | Kiyoaki Kobayashi | 一表面以上の記録表面に対し複数のヘッドを持つ磁気 デイスク、光磁気デイスク、相変化光デイスク、及び 、読みだし専用光デイスク。 |
JP3874211B2 (ja) | 1996-10-31 | 2007-01-31 | ソニー株式会社 | 情報記録方法及びその装置 |
JPH11273243A (ja) * | 1998-03-20 | 1999-10-08 | Toshiba Corp | ディスク装置及び同装置に適用されるライトバッファ制御方法 |
JP2001084690A (ja) | 1999-09-13 | 2001-03-30 | Toshiba Corp | 光ディスクへの記録方法 |
US6711644B1 (en) * | 2000-07-27 | 2004-03-23 | International Business Machines Corporation | Apparatus and method for communicating the completion of asynchronous input/output |
US7058783B2 (en) * | 2002-09-18 | 2006-06-06 | Oracle International Corporation | Method and mechanism for on-line data compression and in-place updates |
US7068575B2 (en) * | 2003-07-30 | 2006-06-27 | Microsoft Corporation | High speed optical disc recording |
JP4277707B2 (ja) | 2004-02-20 | 2009-06-10 | パナソニック株式会社 | 情報記録方法 |
JP2008123363A (ja) | 2006-11-14 | 2008-05-29 | Nec Corp | ストレージシステム、及びキャッシュ制御方法とプログラム |
JP2010027145A (ja) | 2008-07-18 | 2010-02-04 | Sony Corp | 記録装置、記録方法、再生装置、及び再生方法 |
JP2010277649A (ja) | 2009-05-28 | 2010-12-09 | Sharp Corp | 記録制御装置、ハイブリッド記録装置、プログラムおよび記録媒体 |
US8670205B1 (en) * | 2010-09-29 | 2014-03-11 | Western Digital Technologies, Inc. | Hybrid drive changing power mode of disk channel when frequency of write data exceeds a threshold |
US9699263B1 (en) * | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
TWI489279B (zh) * | 2013-11-27 | 2015-06-21 | Realtek Semiconductor Corp | 虛擬實體位址轉換系統以及虛擬實體位址轉換系統的管理方法 |
US9417968B2 (en) * | 2014-09-22 | 2016-08-16 | Commvault Systems, Inc. | Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations |
JP6614062B2 (ja) * | 2016-08-08 | 2019-12-04 | 株式会社バッファロー | 磁気ディスク装置、コンピュータプログラム、および記録媒体 |
-
2014
- 2014-06-27 JP JP2014132485A patent/JP2016012382A/ja active Pending
-
2015
- 2015-05-18 US US15/317,937 patent/US10318204B2/en active Active
- 2015-05-18 WO PCT/JP2015/064182 patent/WO2015198752A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2018088485A1 (ja) * | 2016-11-14 | 2019-12-12 | ダウ・東レ株式会社 | 共変性シリコーン |
Also Published As
Publication number | Publication date |
---|---|
US10318204B2 (en) | 2019-06-11 |
US20170115926A1 (en) | 2017-04-27 |
WO2015198752A1 (ja) | 2015-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005215894A (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP2008242503A (ja) | メモリ管理装置及び方法、並びにプログラム | |
US20040268070A1 (en) | Method and apparatus for backing up data in virtual storage medium | |
JP2008146408A (ja) | データ記憶装置、そのデータ再配置方法、プログラム | |
US7613892B2 (en) | Recording device, recording method, recording medium, and program | |
US6961812B2 (en) | Universal disk format volumes with variable size | |
JPWO2011161997A1 (ja) | テープ記憶装置、及びその書込み方法 | |
WO2011121870A1 (ja) | データ記録装置、及びデータ記録方法 | |
WO2015198752A1 (ja) | 情報処理装置と情報処理方法およびプログラム | |
JP2006073196A (ja) | コンパクトディスクメディアのデータの読み書き方法 | |
US20050259542A1 (en) | Reproduction device and method, recording medium, and program | |
JP2011040057A (ja) | 自動バックアップ機能を有する保存装置 | |
CN101178676A (zh) | 可更改数据还原结构的数据备份方法和还原方法 | |
CN101416248B (zh) | 对于一次写入型记录介质的数据记录方法以及数据记录装置 | |
JP2003173285A (ja) | 情報記録方法及び情報記録再生装置 | |
KR101072730B1 (ko) | 기록 재생 장치 및 기록 방법 | |
JP4470471B2 (ja) | 記録再生装置及び方法、並びに記録再生システム | |
CN1229485A (zh) | 文件管理装置和文件管理方法及文件管理程序的存储媒体 | |
JP2003150416A (ja) | ファイル管理装置及びファイル管理方法 | |
KR20140039756A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
JP4534940B2 (ja) | 情報記録装置、撮像装置、および情報記録制御方法、並びにコンピュータ・プログラム | |
JP2007265010A (ja) | ファイル再生装置およびファイル再生方法ならびにプログラム | |
JP2011086324A (ja) | ストレージ装置 | |
JP4277707B2 (ja) | 情報記録方法 | |
JP4941694B2 (ja) | 記録装置および記録制御方法、記録媒体、並びにプログラム |