JP2000235542A - Data processor and recording medium - Google Patents

Data processor and recording medium

Info

Publication number
JP2000235542A
JP2000235542A JP11037631A JP3763199A JP2000235542A JP 2000235542 A JP2000235542 A JP 2000235542A JP 11037631 A JP11037631 A JP 11037631A JP 3763199 A JP3763199 A JP 3763199A JP 2000235542 A JP2000235542 A JP 2000235542A
Authority
JP
Japan
Prior art keywords
address
memory
data transfer
data
logical address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11037631A
Other languages
Japanese (ja)
Inventor
Masashi Kon
雅士 昆
Ryuichi Nakamura
隆一 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP11037631A priority Critical patent/JP2000235542A/en
Publication of JP2000235542A publication Critical patent/JP2000235542A/en
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To speedily transfer data transfer between plural peripheral equipments while utilizing the functions of a file management system. SOLUTION: A 1st address conversion means 3 converts a physical address of a peripheral equipment 1 into a logical address of a system virtual address space 4a formed in a virtual address space 4. A 2nd address conversion means 5 converts the logical address converted by the means 3 into a logical address in a user processor virtual address space 4b corresponding to a specific user process 6 executed on an OS. A data transfer means 7 executes data transfer based on a direct memory access between a memory 1a of the equipment 1 and another peripheral equipment 8 based on a data transfer request outputted from the user process 6 and specifying the logical address converted by the means 5.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は複数のボード間のデ
ータ転送を行うデータ処理装置に関し、特に大量のデー
タ転送が必要となるデータ処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device for transferring data between a plurality of boards, and more particularly to a data processing device requiring a large amount of data transfer.

【0002】[0002]

【従来の技術】コンピュータの性能向上により、従来は
専用の装置で行っていた作業を汎用的なコンピュータで
置き換えることが可能となっている。そのような機器の
1つにビデオ編集機がある。すなわち、VTR(Video T
ape Recorder)などの画像や音声の編集作業を、コンピ
ュータを用いて行うことが可能となっている。その場
合、画像情報や音声情報をコンピュータのハードディス
ク装置に格納し、コンピュータのアプリケーションプロ
グラムを用いて編集作業を行う。このようなビデオ編集
システムを、ノンリニア編集機という。
2. Description of the Related Art Improvements in computer performance have made it possible to replace tasks conventionally performed by dedicated devices with general-purpose computers. One such device is a video editor. That is, VTR (Video T
It is now possible to use a computer to edit images and sounds such as ape recorders. In this case, image information and audio information are stored in a hard disk device of a computer, and editing is performed using an application program of the computer. Such a video editing system is called a non-linear editing machine.

【0003】ノンリニア編集機は、画像の変形・合成が
自由にできることや、編集を繰り返しても画質の劣化が
ないという点において、従来の編集システムより優れて
いる。例えば、実写の画像にCG(Computer Graphics)
を合成するのも容易である。ところで、ノンリニア編集
機では、動画データなどをハードディスク装置に格納し
ているため、ハードディスクから汎用バス(例えばPC
I(Peripheral Component Interconnect)バス)を介し
て、他のボード(例えば、CODEC(coder-decoder)
ボード)へ転送する必要が生じる。このようにボード間
でデータ転送を行う場合、基本的には、ノンリニア編集
機中のパーソナルコンピュータ部分(ノンリアルタイム
制御部)内のシステムメモリを介在させて、データ転送
が行われる。すなわち、データソースとなるボードから
システムメモリへの転送、システムメモリからデータタ
ーゲットとなるボードへの転送の2回の転送処理を実行
する。この方法を第1の従来方法とする。
A non-linear editing machine is superior to a conventional editing system in that it can freely deform and compose an image and there is no deterioration in image quality even when editing is repeated. For example, CG (Computer Graphics)
Is also easy to synthesize. By the way, in a non-linear editing machine, moving image data and the like are stored in a hard disk device.
Another board (for example, a CODEC (coder-decoder)) via an I (Peripheral Component Interconnect) bus
Transfer to the board). When data is transferred between the boards as described above, basically, the data is transferred via a system memory in a personal computer part (non-real-time control unit) in the nonlinear editing machine. That is, two transfer processes are performed: transfer from the board serving as the data source to the system memory and transfer from the system memory to the board serving as the data target. This method is referred to as a first conventional method.

【0004】また、OS(Operating System)などのソフ
トウェアの影響を受けないで、直接ボード間でデータを
転送する方法もある。これは、DMA(Direct Memory A
ccess)転送を用いたものである。DMA転送は、基本的
に主記憶装置(システムメモリ)から二次記憶装置にデ
ータ転送を行う際に用いられる機能であるが、これをボ
ード間のデータ転送に応用することで、データ転送の高
速化が可能となる。この方法を第2の従来方法とする。
There is also a method of directly transferring data between boards without being affected by software such as an OS (Operating System). This is because DMA (Direct Memory A
ccess) using transfer. DMA transfer is a function basically used when data is transferred from a main storage device (system memory) to a secondary storage device. By applying this function to data transfer between boards, high-speed data transfer can be achieved. Is possible. This method is referred to as a second conventional method.

【0005】[0005]

【発明が解決しようとする課題】しかし、従来の方法で
はいずれの方法においても以下のような問題点があっ
た。
However, any of the conventional methods has the following problems.

【0006】第1の従来方法では、ソフトウェア(特に
OS)が提供するサービス(特にファイル管理やメモリ
管理など)を受けられる反面、2回データ転送を行う必
要があるため、性能が低くなってしまう。
In the first conventional method, services (especially file management and memory management, etc.) provided by software (especially OS) can be received, but data transfer must be performed twice, resulting in lower performance. .

【0007】第2の従来方法では、直接伝送するため転
送性能は高いが、ソフトウェア(特にOS)が提供する
サービス(特にファイル管理)を受けられない。従っ
て、ファイル管理などの必要のないデータ転送(例え
ば、画像データをグラフィック制御ボードへ転送する場
合)では有効であるが、ハードディスクへ保存する場合
には適用できない。
The second conventional method has high transfer performance because of direct transmission, but cannot receive services (especially file management) provided by software (especially OS). Therefore, it is effective for data transfer that does not require file management (for example, when image data is transferred to a graphic control board), but cannot be applied when saving data to a hard disk.

【0008】そのため、ソフトウェア(特にOS)のサ
ービスが必須となるシステムにおいて第1の従来方法を
利用することとなる。ところが、ノンリニア編集機など
では映像データを転送する関係上非常に高い転送性能が
要求されるため、第1の従来方法では不適切である。す
なわち、ノンリニア編集機のような映像処理を行うシス
テムにおいては、ソフトウェア(特にOS)のサービス
を利用でき、かつボード間の高速転送が可能であること
が望まれている。
For this reason, the first conventional method is used in a system in which software (particularly, OS) service is essential. However, since a non-linear editing machine or the like requires extremely high transfer performance in terms of transferring video data, the first conventional method is inappropriate. That is, in a system that performs video processing such as a non-linear editing machine, it is desired that services of software (especially OS) can be used and high-speed transfer between boards can be performed.

【0009】本発明はこのような点に鑑みてなされたも
のであり、ファイル管理システムの機能提供を受けつ
つ、周辺機器間の高速なデータ転送が可能なデータ処理
装置を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and has as its object to provide a data processing apparatus capable of performing high-speed data transfer between peripheral devices while providing the functions of a file management system. I do.

【0010】[0010]

【課題を解決するための手段】本発明では上記課題を解
決するために、メモリを搭載した周辺機器が接続された
データ処理装置において、前記周辺機器のメモリの物理
アドレスを、システム制御用の仮想アドレス空間内の論
理アドレスへ変換する第1のアドレス変換手段と、前記
第1のアドレス変換手段による変換後の論理アドレス
を、オペレーティングシステム上で実行されている特定
のユーザプロセスに対応する固有の仮想アドレス空間内
の論理アドレスへ変換する第2のアドレス変換手段と、
前記ユーザプロセスからの前記第2のアドレス変換手段
によって変換された論理アドレスを指定したデータ転送
要求に基づいて、前記周辺機器のメモリと他の周辺機器
との間のダイレクトメモリアクセスによるデータ転送を
行うデータ転送手段と、を有することを特徴とするデー
タ処理装置が提供される。
According to the present invention, in order to solve the above-mentioned problems, in a data processing apparatus to which a peripheral device equipped with a memory is connected, a physical address of a memory of the peripheral device is replaced by a virtual address for system control. First address conversion means for converting the logical address into a logical address in the address space, and a logical address converted by the first address conversion means into a unique virtual address corresponding to a specific user process running on the operating system. Second address translation means for translating to a logical address in the address space;
Data transfer is performed by direct memory access between the memory of the peripheral device and another peripheral device based on a data transfer request specifying the logical address translated by the second address translation means from the user process. And a data transfer unit.

【0011】このようなデータ処理装置によれば、周辺
機器のメモリの物理アドレスが、第1のアドレス変換手
段によって、システム制御用の仮想アドレス空間内の論
理アドレスへ変換される。次に、第1のアドレス変換手
段による変換後の論理アドレスが、第2のアドレス変換
手段によって、オペレーティングシステム上で実行され
ている特定のユーザプロセスに対応する固有の仮想アド
レス空間内の論理アドレスへ変換される。そして、ユー
ザプロセスからの第2のアドレス変換手段によって変換
された論理アドレスを指定したデータ転送要求が出され
ると、データ転送手段によって、周辺機器のメモリと他
の周辺機器との間のダイレクトメモリアクセスによるデ
ータ転送が行われる。
According to such a data processing apparatus, the physical address of the memory of the peripheral device is converted into the logical address in the virtual address space for system control by the first address conversion means. Next, the logical address converted by the first address conversion means is converted by the second address conversion means into a logical address in a unique virtual address space corresponding to a specific user process running on the operating system. Is converted. When a data transfer request specifying the logical address converted by the second address conversion unit is issued from the user process, the data transfer unit performs direct memory access between the memory of the peripheral device and another peripheral device. Is performed.

【0012】[0012]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は、本発明の原理構成図であ
る。本発明のデータ処理装置には、メモリ1aを搭載し
た周辺機器1が接続されている。メモリ1aには、物理
アドレス空間2内のアドレスが割り当てられている。第
1のアドレス変換手段3は、周辺機器1のメモリ1aの
物理アドレスを、仮想アドレス空間4に設けられたシス
テム用仮想アドレス空間4aの論理アドレスへ変換す
る。第2のアドレス変換手段5は、第1のアドレス変換
手段3による変換後の論理アドレスを、OS上で実行さ
れている特定のユーザプロセス6に対応するユーザプロ
セス用仮想アドレス空間4b内の論理アドレスへ変換す
る。データ転送手段7は、ユーザプロセス6からの第2
のアドレス変換手段5によって変換された論理アドレス
を指定したデータ転送要求に基づいて、周辺機器1のメ
モリ1aと他の周辺機器8との間のダイレクトメモリア
クセスによるデータ転送を行う。図の例では、周辺機器
8にハードディスク装置(HDD)9が接続されてお
り、メモリ1aのデータをHDD9に書き込むような処
理が行われる。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram illustrating the principle of the present invention. A peripheral device 1 having a memory 1a is connected to the data processing device of the present invention. An address in the physical address space 2 is assigned to the memory 1a. The first address conversion means 3 converts a physical address of the memory 1a of the peripheral device 1 into a logical address of the system virtual address space 4a provided in the virtual address space 4. The second address translation unit 5 translates the logical address converted by the first address translation unit 3 into a logical address in the user process virtual address space 4b corresponding to the specific user process 6 running on the OS. Convert to The data transfer means 7 receives the second
Based on the data transfer request specifying the logical address converted by the address conversion means 5, the data transfer between the memory 1a of the peripheral device 1 and the other peripheral device 8 is performed by direct memory access. In the example of the figure, a hard disk drive (HDD) 9 is connected to the peripheral device 8, and a process of writing data in the memory 1a to the HDD 9 is performed.

【0013】このようなデータ処理装置によれば、周辺
機器1のメモリ1aのアドレスが、ユーザプロセス用仮
想アドレス空間内に定義される。そのため、ユーザプロ
セス6から周辺機器1のメモリ1aのアドレスを直接指
定したデータ転送要求が可能となる。ユーザプロセス6
からのアドレス指定に基づくデータ転送であれば、ユー
ザプロセスが実行されているOS上の機能を享受するこ
とができる。例えば、図の例のようにHDD9にデータ
を格納する場合、転送されたデータはOSのファイル管
理システムの管理下で保存される。また、データ転送手
段7が周辺機器1のメモリ1aから直接(システムのメ
インメモリを介さず)DMA転送を行っているため、高
いデータ転送効率を得ることができる。
According to such a data processing device, the address of the memory 1a of the peripheral device 1 is defined in the user process virtual address space. Therefore, a data transfer request that directly specifies the address of the memory 1a of the peripheral device 1 from the user process 6 is possible. User process 6
If the data transfer is based on the address designation from the OS, the function on the OS on which the user process is executed can be enjoyed. For example, when data is stored in the HDD 9 as in the example in the figure, the transferred data is saved under the management of the file management system of the OS. Further, since the data transfer means 7 performs the DMA transfer directly from the memory 1a of the peripheral device 1 (not through the main memory of the system), high data transfer efficiency can be obtained.

【0014】本発明をノンリニア編集機に適用すること
で、画像データの高速転送が可能となる。そこで、ノン
リニア編集機に本発明を適用した場合の例を以下に示
す。なお、以下の例では、OSとしてWindowsNT(米マ
イクロソフト社の登録商標)を用いた場合の具体例を示
しながら説明する。
By applying the present invention to a non-linear editing machine, high-speed transfer of image data becomes possible. Thus, an example in which the present invention is applied to a non-linear editing machine will be described below. The following example will be described while showing a specific example in the case where Windows NT (registered trademark of Microsoft Corporation, USA) is used as the OS.

【0015】図2は、ノンリニア編集システムのハード
ウェア構成例を示す図である。CPU(Central Process
ing Unit)11は、他の周辺機器やシステムメモリ13
を制御することでOSの機能を実行するとともに、OS
に実装されたデバイスドライバや、OS上で実行される
アプリケーションソフトウェアを実行する。なお、この
CPU11は、アドレス変換テーブルを参照すること
で、仮想メモリ空間の論理アドレスをシステムメモリ1
3やCODECボード41内のメモリ41aの物理アド
レスに変換する機能を有している。
FIG. 2 is a diagram showing an example of a hardware configuration of the nonlinear editing system. CPU (Central Process
ing Unit) 11 includes other peripheral devices and the system memory 13.
Controls the OS to execute the functions of the OS.
And executes application software executed on the OS. The CPU 11 refers to the address conversion table, and stores the logical address of the virtual memory space in the system memory 1.
3 and a function of converting the physical address of the memory 41a in the CODEC board 41.

【0016】PCIバスコントローラ12は、CPU1
1側からPCIバス21を制御するためのコントローラ
である。システムメモリ13は、システムの主記憶装置
であり、CPU11で実行されるプログラムや、処理に
必要な各種データが一時的に格納される。
The PCI bus controller 12 includes a CPU 1
This is a controller for controlling the PCI bus 21 from the first side. The system memory 13 is a main storage device of the system, and temporarily stores programs executed by the CPU 11 and various data necessary for processing.

【0017】PCIバス21は、PCIバスブリッジ3
1〜33によって、複数のPCIバス22〜24に接続
されている。複数のPCIバス21〜24は、CPU1
1と周辺機器との間のデータ転送、及び周辺機器間のデ
ータ転送を行うためのバスである。
The PCI bus 21 is a PCI bus bridge 3
1 to 33 are connected to a plurality of PCI buses 22 to 24. The plurality of PCI buses 21 to 24 are connected to the CPU 1
1 is a bus for performing data transfer between the peripheral device 1 and peripheral devices and data transfer between peripheral devices.

【0018】PCIバスブリッジ31〜33は、個別の
PCIバスを互いに電気的に接続する働きを有する。ま
た、一方のPCIバス内の装置間でのデータ転送が行わ
れた場合には、他方のPCIバスには信号を出力しない
ような制御も行う。
The PCI bus bridges 31 to 33 have a function of electrically connecting individual PCI buses to each other. Further, when data is transferred between devices in one PCI bus, control is performed so that no signal is output to the other PCI bus.

【0019】CODECボード41は、PCIバス2
2、ローカルCPUバス51及びDAV(Digital Audio
Visual)バス52に接続されている。このCODECボ
ード41は、画像データを圧縮・伸張する機能を有す
る。また、CODECボード41にはメモリ41aが設
けられており、このメモリ41a内に、圧縮・伸張等の
処理後の画像データを格納する。CODECボード41
の出力映像はDAVバス52を介してDME(Distribut
ed Management Environment)/SW(Switche
r)ボード45に渡さる。
The CODEC board 41 is a PCI bus 2
2. Local CPU bus 51 and DAV (Digital Audio
Visual) bus 52. The CODEC board 41 has a function of compressing and expanding image data. The CODEC board 41 is provided with a memory 41a, and stores image data after processing such as compression and decompression in the memory 41a. CODEC board 41
The output video of DME (Distribut
ed Management Environment) / SW (Switch)
r) Hand over to board 45.

【0020】SCSIHBA(Small Computer System I
nterface Host Bus Adapter)カード42は、PCIバス
22に接続されており、PCIバス22を介して送られ
てきたデータをHDD43に格納したり、HDD43内
のデータをPCIバス22を介して他の機器へ転送した
りする。SCSIHBAカード42は、データ転送の際
にPCIバスのホストとなり、DMA転送を制御するこ
とができる。
SCSI HBA (Small Computer System I)
An interface host bus adapter) card 42 is connected to the PCI bus 22, and stores data transmitted via the PCI bus 22 in the HDD 43 and transfers data in the HDD 43 to another device via the PCI bus 22. Or to The SCSI HBA card 42 becomes a host of the PCI bus at the time of data transfer, and can control DMA transfer.

【0021】HDD43は、映像データなどのデータを
保持する。ローカルCPUボード44は、PCIバス2
3とローカルCPUバス51とに接続されており、ロー
カルCPUを搭載している。ローカルCPUは、ローカ
ルCPUバス51を介して接続された機器(図の例で
は、CODECボード41)の動作をリアルタイムに制
御する。
The HDD 43 holds data such as video data. The local CPU board 44 is connected to the PCI bus 2
3 and a local CPU bus 51, and has a local CPU. The local CPU controls the operation of a device (in the example shown, the CODEC board 41) connected via the local CPU bus 51 in real time.

【0022】DME/SWボード45は、PCIバス2
4に接続されているとともに、複数の入出力デバイスに
接続されている。DME/SWボード45は、映像デー
タに対して効果をかけたり出力先を切り替える処理を行
う。また、このボードで設定した映像入力がCODEC
ボード41にDAVバス52を介して入力される。ま
た、CODECボード41から送られた画像データは、
DME/SWボード45を中継して映像出力となる。
The DME / SW board 45 is connected to the PCI bus 2
4 and to a plurality of input / output devices. The DME / SW board 45 performs a process of applying an effect to video data and switching an output destination. Also, the video input set on this board is CODEC
The data is input to the board 41 via the DAV bus 52. The image data sent from the CODEC board 41 is
The video is output via the DME / SW board 45.

【0023】ローカルCPUバス51は、ローカルCP
Uが制御を行うボードすべてとローカルCPUボード4
4との間を接続している。そして、ローカルCPUが他
の周辺機器を制御するためのコマンド送信等に使用され
る。
The local CPU bus 51 is connected to a local CP
All boards controlled by U and local CPU board 4
4 is connected. The local CPU is used for command transmission for controlling other peripheral devices.

【0024】DAVバス52は、ディジタル信号化され
た映像データや音声データを転送するためのバスであ
り、映像や音声データを処理するボードすべてに接続さ
れている。図の例では、CODECボード41とDME
/SWボード45とがDAVバス52に接続されてい
る。
The DAV bus 52 is a bus for transferring video data and audio data converted into digital signals, and is connected to all boards for processing video and audio data. In the illustrated example, the CODEC board 41 and the DME
/ SW board 45 is connected to the DAV bus 52.

【0025】なお、図に示した要素以外にもノンリニア
編集機はオーディオボードなどを有しているが、この例
では映像に関する説明に絞ったため、図2には示してい
ない。
Although the non-linear editing machine has an audio board and the like in addition to the elements shown in the figure, it is not shown in FIG.

【0026】次に、アップロード処理の概要について説
明する。ここで、アップロードとは、入力デバイス(カ
メラやビデオデッキなど)から、映像や音声をHDD4
3に記録することである。アップロード時のデータの流
れを簡単に説明すると、以下のようになる。
Next, an outline of the upload process will be described. Here, upload means that video and audio are input from the input device (camera, VCR, etc.) to the HDD 4.
3 is recorded. The data flow at the time of upload will be briefly described as follows.

【0027】DAVバス52を介して入力された映像
は、CODECボード41で圧縮(または非圧縮)さ
れ、CODECボード41内のメモリ41aに蓄積され
る。CODECボード41上のメモリ41a内のデータ
は、SCSIHBAカード42を介してHDD43に記
録される。HDD43はOSによってフォーマットされ
ており、記録されるデータは、OSのファイル管理シス
テムに従った内容としてHDD43に記録される。
The video input via the DAV bus 52 is compressed (or uncompressed) by the CODEC board 41 and stored in the memory 41a in the CODEC board 41. Data in the memory 41 a on the CODEC board 41 is recorded on the HDD 43 via the SCSI HBA card 42. The HDD 43 is formatted by the OS, and data to be recorded is recorded on the HDD 43 as contents according to the file management system of the OS.

【0028】さらに、ダウンロード処理の概要について
説明する。ここで、ダウンロードとは、HDD43に記
録されている映像や音声データを、システムに接続され
た記録デバイス(ビデオデッキやモニタ)に再生するこ
とである。ダウンロード時のデータの流れを簡単に説明
すると、以下のようになる。
Further, an outline of the download process will be described. Here, downloading means reproducing the video and audio data recorded on the HDD 43 to a recording device (video deck or monitor) connected to the system. The data flow at the time of downloading will be briefly described as follows.

【0029】HDD43に記録されているデータは、O
Sからはファイルとして管理・処理される。記録した映
像データをCODECボード41を使い再生する場合、
HDD43からファイルの内容を読み出す。読み出した
データは、CODECボード41上のメモリ41aに置
く。そして、CODECボード41が圧縮データの場
合、伸長処理を行いDAVバス52に流す。そのデータ
はDME/SWボード45で受け取られる。DME/S
Wボード45は、受け取った映像データを出力デバイス
に流す。
The data recorded in the HDD 43 is O
From S, it is managed and processed as a file. When playing back the recorded video data using the CODEC board 41,
The contents of the file are read from the HDD 43. The read data is stored in the memory 41a on the CODEC board 41. Then, when the CODEC board 41 is compressed data, it performs a decompression process and sends the data to the DAV bus 52. The data is received by the DME / SW board 45. DME / S
The W board 45 sends the received video data to an output device.

【0030】次に、データのアップロードやダウンロー
ドが行われる際に、CODECボード41とSCSIH
BAカード42との間でのデータ転送を行うための処理
について説明する。
Next, when data is uploaded or downloaded, the CODEC board 41 and the SCSIH
Processing for transferring data to and from the BA card 42 will be described.

【0031】ところで、従来の方法では、例えばアップ
ロードの際には、CODECボード41のメモリ41a
に保持されたデータをシステムメモリ13に転送し、そ
の後、SCSIHDAカード42にそのデータを転送し
ていた。すなわち、2回の転送によってCODECボー
ド41のデータがHDD43に記録されていた。という
のは、HDD43とのやり取りにおいて、直接CODE
Cボード41上メモリ41aの物理アドレスを指定する
方法がないことが原因である。HDD43を管理してい
るOS(特にこの場合ファイルシステム)を利用する際
に、HDD43とI/Oするデータを格納するための論
理アドレスが必要となる。OSは、システム用の仮想ア
ドレス空間とアプリケーション毎の仮想アドレス空間と
を用いてメモリ管理しているため、論理アドレスはアプ
リケーション毎に独立して存在している。CODECボ
ード41上のメモリ41aは物理アドレスをもつが、通
常、ドライバによってシステム用(カーネル)の仮想ア
ドレス空間にマップされ、カーネルモードの論理アドレ
スで利用される。また、アプリケーションはOSによっ
て独自の論理アドレス空間が用意され、カーネルモード
の論理アドレスへ直接アクセスすることはできない。
In the conventional method, for example, when uploading, the memory 41a of the CODEC board 41
Was transferred to the system memory 13, and then the data was transferred to the SCSIHDA card 42. That is, the data of the CODEC board 41 was recorded in the HDD 43 by the two transfers. That is, in the exchange with the HDD 43,
This is because there is no way to specify the physical address of the memory 41a on the C board 41. When an OS (especially a file system in this case) that manages the HDD 43 is used, a logical address for storing data to be I / O with the HDD 43 is required. Since the OS manages the memory using the virtual address space for the system and the virtual address space for each application, the logical address exists independently for each application. The memory 41a on the CODEC board 41 has a physical address, but is usually mapped in a system (kernel) virtual address space by a driver and is used as a kernel mode logical address. Further, the application has its own logical address space prepared by the OS, and cannot directly access the kernel mode logical address.

【0032】そこで、本発明ではシステムを構成するプ
ログラムとして、以下の3つの処理を用意することで、
CODECボード41からSCSIHDAカード42へ
のデータ転送を実現する。 (1)ボードに搭載されたメモリの、物理アドレスを論
理アドレスヘ変換する処理 (2)ある論理アドレス空間内の論理アドレスを別の論
理アドレス空間に変換する処理 (3)ファイルヘのリードやライトを行う処理 これらの処理機能は、所定のソフトウェアをCPU11
に実行させることで実現する。
Therefore, according to the present invention, the following three processes are prepared as programs constituting the system.
Data transfer from the CODEC board 41 to the SCSIHDA card 42 is realized. (1) Processing for converting a physical address of a memory mounted on a board to a logical address (2) Processing for converting a logical address in one logical address space to another logical address space (3) Reading or writing to a file These processing functions are performed by executing predetermined software on the CPU 11.
It is realized by having

【0033】図3は、データ転送を実現するのに必要な
処理機能を示す図である。本発明の実現に必要な処理機
能は、OS60、デバイスドライバ70及びアプリケー
ション80によって提供される。
FIG. 3 is a diagram showing processing functions necessary for realizing data transfer. The processing functions necessary for realizing the present invention are provided by the OS 60, the device driver 70, and the application 80.

【0034】OS60は、仮想アドレス空間を、システ
ム制御用のアドレス空間(カーネルモード仮想アドレス
空間)とユーザアプリケーションが実行されているプロ
セス固有のアドレス空間(ユーザモード仮想アドレス空
間)に分けて管理している。また、このOS60は、複
数のプロセス(タスク)を同時に進行させるためのマル
チタスク機能を有している。同時に進行する各プロセス
にはユーザモード仮想アドレス空間が与えられ、各プロ
セスはユーザモード仮想アドレスを自由に使用すること
ができる。
The OS 60 manages the virtual address space by dividing it into an address space for system control (kernel mode virtual address space) and an address space unique to the process in which the user application is being executed (user mode virtual address space). I have. The OS 60 has a multitasking function for simultaneously executing a plurality of processes (tasks). Each process running simultaneously is given a user mode virtual address space, and each process is free to use the user mode virtual address.

【0035】また、OS60には、メモリマップ管理部
61とファイル管理システム62が設けられている。メ
モリマップ管理部61は、実メモリの物理アドレスの仮
想アドレス空間への写像を管理している。このような写
像は、デバイスドライバ70からの要求に応じて実行す
ることができる。ファイル管理システム62は、HDD
43等へのファイルの入出力を管理する。例えば、ディ
レクトリ(フォルダ)構造を管理したり、格納すべきフ
ァイルへのファイル名や更新時刻(タイムスタンプ)の
付加といった操作を行う。WindowsNTにおいてはNTF
S(NT File System)がファイル管理システムに該当す
る。
The OS 60 is provided with a memory map management section 61 and a file management system 62. The memory map management unit 61 manages mapping of physical addresses of a real memory onto a virtual address space. Such a mapping can be executed in response to a request from the device driver 70. The file management system 62 includes an HDD
It manages the input and output of files to 43 and so on. For example, operations such as managing a directory (folder) structure and adding a file name and an update time (time stamp) to a file to be stored are performed. NTF on WindowsNT
S (NT File System) corresponds to the file management system.

【0036】デバイスドライバ70は、第1のアドレス
変換要求部71と第2のアドレス変換要求部72とを有
している。第1のアドレス変換要求部71は、CODE
Cボード41に搭載されたメモリ41aの物理アドレス
を論理アドレスヘ変換するための処理要求を出力する。
これは、例えばデバイスドライバ70がOS60に組み
込まれる際に実行する。通常、CODECボード41上
に存在するメモリ41aをOS60に登録する処理がこ
れにあたる。この段階では、あくまでもOS60のカー
ネルモード仮想アドレス空間にマップされており、この
状態では、ユーザモードで実行されるアプリケーション
から直接CODECボード41上に存在するメモリ41
aの論理アドレスを指定することはできない。
The device driver 70 has a first address conversion request section 71 and a second address conversion request section 72. The first address translation request unit 71
A processing request for converting a physical address of the memory 41a mounted on the C board 41 into a logical address is output.
This is executed, for example, when the device driver 70 is incorporated into the OS 60. Normally, this corresponds to a process of registering the memory 41a existing on the CODEC board 41 in the OS 60. At this stage, the data is mapped to the kernel mode virtual address space of the OS 60. In this state, the memory 41 existing on the CODEC board 41 directly from the application executed in the user mode.
The logical address of a cannot be specified.

【0037】第2のアドレス変換要求部72は、カーネ
ルモード仮想アドレス空間内の論理アドレスを、ユーザ
モード仮想アドレス空間に変換するための要求をOS6
0に対して行う。具体的には、カーネルモード仮想アド
レス空間に写像されたメモリ41aのメモリ空間を、ア
プリケーション80から利用可能なユーザモード仮想ア
ドレス空間に変換する。処理の結果、アプリケーション
80はCODECボード41上のメモリ41aのアドレ
スを知ることになる。
The second address translation request section 72 sends a request for translating a logical address in the kernel mode virtual address space to a user mode virtual address space in the OS6.
Perform for 0. Specifically, the memory space of the memory 41a mapped to the kernel mode virtual address space is converted to a user mode virtual address space that can be used by the application 80. As a result of the processing, the application 80 knows the address of the memory 41a on the CODEC board 41.

【0038】アプリケーション80は、映像データのノ
ンリニア編集を行う。その機能の一部として、データの
転送要求を行う転送要求部81を有している。転送要求
部81は、例えば、スレッドにて実現している。ファイ
ルのリードやライトのタイミングは、システム全体の動
作の流れに則して行われる。例えば、アップロード時、
CODECボード41上のメモリ41aいっぱいに映像
データが蓄積された時点でHDD43に書き込むなら、
デバイスドライバ70に対してハードウェア割り込みに
よって要求を通知する。詳細をメッセージの形で通知す
ることで、アプリケーション80は、どのファイルに、
どのアドレスからどれくらい読み出すことが必要か知
る。ダウンロード時は、メッセージのデータから、どの
ファイルのどの位置のデータを、どれくらいどのアドレ
スヘ書き込むことが必要か知る。メッセージに基づき、
アプリケーション80は「ReadFile writeFile」といっ
たファイルI/O関数をコールする。バッファアドレス
として、デバイスドライバ70の第2のアドレス変換要
求部72が獲得したアドレスとメッセージ内容から計算
したアドレスを利用する。
The application 80 performs non-linear editing of video data. As a part of the function, a transfer request unit 81 for requesting data transfer is provided. The transfer request unit 81 is realized by, for example, a thread. File read and write timings are performed in accordance with the flow of operation of the entire system. For example, when uploading,
If writing to the HDD 43 at the time when the video data is accumulated in the memory 41a on the CODEC board 41,
The request is notified to the device driver 70 by a hardware interrupt. By notifying the details in the form of a message, the application 80
Know from what address and how much you need to read. At the time of downloading, it is known from the data of the message which data of which position of which file needs to be written to which address. Based on the message,
The application 80 calls a file I / O function such as “ReadFile writeFile”. As the buffer address, the address obtained by the second address translation request unit 72 of the device driver 70 and the address calculated from the message content are used.

【0039】これらの処理の流れを以下に示す。図4
は、データ転送処理手順を示す図である。 [S1]デバイスドライバ70の第1のアドレス変換要
求部71からの要求を受けたメモリマップ管理部61
が、ボード上のメモリの物理アドレスを、OS60のカ
ーネルモード仮想アドレスに変換する。この処理の関数
コールの流れは、図5に示す。 [S2]アプリケーション80の転送要求部81からの
要求を受けたファイル管理システム62が、デバイスオ
ブジェクトをオープンする。OS60がWindowsNTであ
れば、転送要求部81が「CreateFile」関数をコールす
ることで実現できる。 [S3]アプリケーション80の転送要求部81からの
要求を受けたファイル管理システム62が、I/Oを行
うファイルオブジェクトをオープンする。これは、OS
60がWindowsNTであれば、転送要求部81が「CreateF
ile」関数をコールすることで実現できる。 [S4]デバイスドライバ70の第2のアドレス変換要
求部72からの要求を受けたメモリマップ管理部61
が、カーネルモード仮想アドレス空間の論理アドレス
を、アプリケーション80が参照可能なユーザモード仮
想アドレス空間内の論理アドレスに変換する。この処理
の関数コールの流れは、図6に示す。 [S5]アプリケーション80の転送要求部81からの
要求を受けたファイル管理システム62が、実際のデー
タ転送をSCSIHBAカード42に指令する。この処
理の関数コールの流れは、図7に示す。 [S6]アプリケーション80の転送要求部81からの
要求を受けたファイル管理システム62が、アドレスを
解放する。これは、OS60がWindowsNTであれば、デ
バイスドライバ70が指定したフラグを用いた「Device
Control」関数を、転送要求部81がコールすることで
実現できる。 [S7]デバイスドライバ70の第2のアドレス変換要
求部72からの要求を受けたメモリマップ管理部61
が、獲得したボード上メモリ用論理アドレスを解放す
る。これは、OS60がWindowsNTであれば、アドレス
変換要求部72が「ZnUnmapViewOfSection」関数をコー
ルすることで実現できる。 [S8]アプリケーション80の転送要求部81からの
要求を受けたファイル管理システム62が、デバイスオ
ブジェクトをクローズする。これは、OS60がWindow
sNTであれば、転送要求部81が「CloseHandle」関数を
コールすることで実現できる。 [S9]アプリケーション80の転送要求部81からの
要求を受けたファイル管理システム62が、ファイルオ
ブジェクトをクローズする。これは、OS60がWindow
sNTであれば、転送要求部81が「CloseHandle」関数を
コールすることで実現できる。
The flow of these processes will be described below. FIG.
FIG. 9 is a diagram showing a data transfer processing procedure. [S1] The memory map management unit 61 that has received a request from the first address translation request unit 71 of the device driver 70
Converts the physical address of the memory on the board into a kernel mode virtual address of the OS 60. FIG. 5 shows the flow of the function call of this processing. [S2] The file management system 62 that has received the request from the transfer request unit 81 of the application 80 opens the device object. If the OS 60 is Windows NT, this can be realized by the transfer request unit 81 calling the “CreateFile” function. [S3] The file management system 62, which has received the request from the transfer request unit 81 of the application 80, opens a file object for performing I / O. This is the OS
If Windows 60 is Windows NT, the transfer requesting unit 81 sets “CreateF
You can do this by calling the "ile" function. [S4] The memory map management unit 61 receiving the request from the second address translation request unit 72 of the device driver 70
Converts the logical address in the kernel mode virtual address space into a logical address in the user mode virtual address space that the application 80 can refer to. FIG. 6 shows a flow of a function call of this processing. [S5] The file management system 62, which has received the request from the transfer request unit 81 of the application 80, instructs the SCSI HBA card 42 to actually transfer the data. FIG. 7 shows a flow of a function call for this processing. [S6] The file management system 62 that has received the request from the transfer request unit 81 of the application 80 releases the address. This is because if the OS 60 is Windows NT, the "Device 60"
The “control” function can be realized by the transfer request unit 81 calling. [S7] The memory map management unit 61 receiving the request from the second address translation request unit 72 of the device driver 70
Releases the acquired on-board memory logical address. If the OS 60 is Windows NT, this can be realized by the address conversion request unit 72 calling the “ZnUnmapViewOfSection” function. [S8] The file management system 62, which has received the request from the transfer request unit 81 of the application 80, closes the device object. This is because OS60 is Window
sNT can be realized by the transfer request unit 81 calling a “CloseHandle” function. [S9] The file management system 62, which has received the request from the transfer request unit 81 of the application 80, closes the file object. This is because OS60 is Window
sNT can be realized by the transfer request unit 81 calling a “CloseHandle” function.

【0040】図5は、カーネルモード仮想アドレス空間
への変換手順を示す図である。なお、この処理は全て、
デバイスドライバ70の第1のアドレス変換要求部71
からの要求を受けたメモリマップ管理部61が実行する
処理である。 [S11]ボードを検出する。これは、OS60がWind
owsNTであれば、第1のアドレス変換要求部71が「Hal
GetBusData」関数をコールすることで実現できる。 [S12]物理アドレスを論理アドレスに変換する。こ
れは、OS60がWindowsNTであれば、第1のアドレス
変換要求部71が「HalTranslateBusAddress」関数をコ
ールすることで実現できる。 [S13]OS60に論理アドレスとサイズを登録す
る。これは、OS60がWindowsNTであれば、第1のア
ドレス変換要求部71が「loReportResourceUsage」関
数をコールすることで実現できる。
FIG. 5 is a diagram showing a procedure for converting to a kernel mode virtual address space. In addition, this processing is all
First address translation request unit 71 of device driver 70
This is a process executed by the memory map management unit 61 having received the request from. [S11] A board is detected. This is because OS60 is Wind
owsNT, the first address translation request unit 71 sets “Hal
You can do this by calling the GetBusData function. [S12] The physical address is converted to a logical address. If the OS 60 is Windows NT, this can be realized by the first address translation request unit 71 calling the “HalTranslateBusAddress” function. [S13] The logical address and size are registered in the OS 60. This can be realized when the OS 60 is Windows NT by the first address conversion request unit 71 calling the “loReportResourceUsage” function.

【0041】図6は、ユーザモード仮想アドレス空間へ
の変換手順を示す図である。なお、この処理は全て、デ
バイスドライバ70の第2のアドレス変換要求部72か
らの要求を受けたメモリマップ管理部61が実行する処
理である。 [S21]セクションオブジェクトを新規作成する。こ
れは、OS60がWindowsNTであれば、第2のアドレス
変換要求部72が「ZwOpenSection」関数をコールする
ことで実現できる。 [S22]セクションをメモリマップに組み込む。これ
は、OS60がWindowsNTであれば、第2のアドレス変
換要求部72が「ZwMapViewOfSection」関数をコールす
ることで実現できる。 [S23]セクションオブジェクトを解放する。これ
は、OS60がWindowsNTであれば、第2のアドレス変
換要求部72が「ZwClose」関数をコールすることで実
現できる。
FIG. 6 is a diagram showing a procedure for converting to a user mode virtual address space. Note that this process is all executed by the memory map management unit 61 that has received a request from the second address translation request unit 72 of the device driver 70. [S21] A new section object is created. This can be realized when the OS 60 is Windows NT by the second address translation request unit 72 calling the “ZwOpenSection” function. [S22] The section is incorporated into the memory map. If the OS 60 is Windows NT, the second address conversion request unit 72 can call the “ZwMapViewOfSection” function. [S23] The section object is released. If the OS 60 is Windows NT, this can be realized by the second address conversion request unit 72 calling the “ZwClose” function.

【0042】図7は、データ転送処理手順を示す図であ
る。なお、この処理は全て、アプリケーション80の転
送要求部81からの要求を受けたファイル管理システム
62が実行する処理である。 [S31]変換されたアドレスを問い合わせる。これ
は、OS60がWindowsNTであれば、転送要求部81が
「DeviceloControl」関数をコールすることで実現でき
る。 [S32]獲得したアドレスをバッファアドレスとし
て、ファイルのI/Oを行う。これは、OS60がWind
owsNTであれば、転送要求部81が「ReadFile」もしく
は「WriteFile」関数をコールすることで実現できる。
FIG. 7 is a diagram showing a data transfer processing procedure. Note that this process is all executed by the file management system 62 that has received a request from the transfer request unit 81 of the application 80. [S31] Inquire about the converted address. This can be realized when the transfer request unit 81 calls the "DeviceloControl" function when the OS 60 is Windows NT. [S32] File I / O is performed using the acquired address as a buffer address. This is because OS60 is Wind
owsNT can be realized by the transfer request unit 81 calling a “ReadFile” or “WriteFile” function.

【0043】以上のような処理が行われることで、CO
DECボード41内のメモリ41aとHDD43との間
でDMA転送を行うことができる。ここで、アドレス変
換の様子を概念的に説明する。
By performing the above processing, CO 2
DMA transfer can be performed between the memory 41a in the DEC board 41 and the HDD 43. Here, the state of the address conversion will be described conceptually.

【0044】図8は、アドレス空間のイメージを示す図
である。このノンリニア編集機に実装されているOS
は、以下の3つのアドレス空間を持っている。 ・ Physical Memoryを表す物理アドレス空間 ・OSのカーネル(OSの基本部分)が利用するシステ
ム空間(カーネルモード仮想アドレス空間) ・アプリケーションそれぞれがもつ仮想アドレス空間
(ユーザモード仮想アドレス空間) これら3つのアドレス空間のうち、実体としてのメモリ
は物理アドレス空間にしかない。ほかの2つの空間は仮
想メモリ空間で、実体としての物理アドレス空間に写像
される。
FIG. 8 is a diagram showing an image of the address space. OS installed in this non-linear editing machine
Has the following three address spaces. -Physical address space representing Physical Memory-System space (kernel mode virtual address space) used by OS kernel (basic part of OS)-Virtual address space of each application (user mode virtual address space) These three address spaces Of these, the actual memory is only in the physical address space. The other two spaces are virtual memory spaces, which are mapped to physical address spaces as entities.

【0045】あるアプリケーションが獲得したバッファ
(ユーザモード仮想アドレス空間にある)は、実体は物
理アドレス空間にセグメント(1単位で転送される固定
長のブロック)単位で散在する。これは、物理メモリを
各仮想メモリにマップする仮想メモリシステムが、ある
セグメント単位で管理して割り当てているためである。
この1つのセグメントをページという。連続した仮想ア
ドレスをもつバッファ(例えば、CODECボード41
のメモリ41a)も実は、ページ単位で分散して物理ア
ドレス上に存在する。
The buffer (in the user mode virtual address space) acquired by an application is scattered in segments (fixed length blocks transferred in units) in the physical address space. This is because the virtual memory system that maps the physical memory to each virtual memory manages and allocates it in a certain segment unit.
This one segment is called a page. Buffers having consecutive virtual addresses (for example, CODEC board 41
Actually, the memory 41a) is distributed on a page basis and exists on a physical address.

【0046】今回の発明では、CODECボード41の
メモリ41aの物理アドレスをユーザモード仮想アドレ
ス空間上に定義するために、WindowsNTに用意されてい
るSectionオブジェクトを使用した。このSectionオブジ
ェクトは、カーネルモード仮想アドレス空間のメモリ
を、あるアプリケーションのユーザモード仮想アドレス
空間に割り当てるための管理情報となる構造体である。
ユーザモード仮想アドレス空間には複数のアプリケーシ
ョンが動いているが、Sectionオブジェクトは、この中
の1つのアプリケーションのためのユーザモード仮想ア
ドレス空間に割り当てることができる。なお、カーネル
モード仮想アドレス空間を使った場合、その空間をユー
ザモード仮想アドレス空間にマップしても、物理アドレ
スは、物理アドレス空間内にページ単位で散在すること
となる。これは、メモリに格納しきれないデータをHD
Dに格納しておき、必要なデータだけをページ単位でメ
モリに格納する処理(スワップ)を行っているからであ
る。
In the present invention, in order to define the physical address of the memory 41a of the CODEC board 41 in the user mode virtual address space, a Section object prepared in Windows NT is used. The Section object is a structure serving as management information for allocating a memory in the kernel mode virtual address space to a user mode virtual address space of a certain application.
Although a plurality of applications are running in the user mode virtual address space, a Section object can be allocated to the user mode virtual address space for one of the applications. When the kernel mode virtual address space is used, even if the space is mapped to the user mode virtual address space, the physical addresses are scattered in the physical address space in page units. This means that data that cannot be stored in memory
This is because a process (swap) of storing only necessary data in the memory in units of pages is performed.

【0047】ところが、CODECボード41などのボ
ード上のメモリ41aでは、必要なデータが全てメモリ
41a内に格納されているため、スワップを行う必要が
ない。従って、ボード上のメモリには連続した物理アド
レスが割り当てられ、カーネルモード仮想アドレス空間
内に連続したアドレスで割り当てることができる。この
ため、Sectionオブジェクトを使うことで、カーネルモ
ード仮想アドレス空間内の連続したアドレスとして、カ
ードの上のメモリの物理アドレスをマッピングできるよ
うになる。アプリケーションのユーザモード仮想アドレ
ス空間に連続したアドレスとしてマッピングされれば、
アプリケーションからは、そのアドレスの先頭とデータ
量などを指定し、1回の指令で全てのデータの転送要求
を出すことが可能となる。連続したアドレスの大量のデ
ータ転送であれば、SCSIHBAカード42のDMA
転送機能を用いて、ボード間のDMA転送が行われる。
However, in the memory 41a on the board such as the CODEC board 41, since all necessary data is stored in the memory 41a, there is no need to perform swap. Therefore, a continuous physical address is allocated to the memory on the board, and a continuous address can be allocated in the kernel mode virtual address space. Therefore, by using the Section object, the physical address of the memory on the card can be mapped as a continuous address in the kernel mode virtual address space. If it is mapped as a continuous address in the user mode virtual address space of the application,
From the application, it is possible to designate the start of the address and the data amount, and issue a transfer request for all data with one command. If a large amount of data is transferred at a continuous address, the DMA of the SCSI HBA card 42
DMA transfer between boards is performed using the transfer function.

【0048】以上のように、ボード上のメモリのアドレ
スを、カーネルモード仮想アドレス空間からユーザモー
ド仮想アドレス空間へ変換したことにより、アプリケー
ション80からボード上のメモリのデータを直接指定し
たデータ転送要求を出すことができる。すると、ファイ
ル管理システム62の管理機能の提供を受けつつ、ボー
ド間のDMA転送を実行することが可能となる。その結
果、データ転送を効率よく行うことができる。
As described above, by converting the address of the memory on the board from the kernel mode virtual address space to the user mode virtual address space, a data transfer request directly specifying the data of the memory on the board from the application 80 can be obtained. Can be put out. Then, it becomes possible to execute the DMA transfer between the boards while providing the management function of the file management system 62. As a result, data transfer can be performed efficiently.

【0049】なお、データ転送のためのファイルのオー
プンは、例えばリアルタイム処理などを行う前の段階で
実行する。WindowsNT4.0の場合、オープン時の指定とし
て、「NO#BUFFER」を必ず行う必要がある。これは、デ
フォルト(NO#BUFFER未指定)の場合、ファイルI/O
の際、OSが内部で用意したメモリを介してHDDとデ
ータのやり取りを行ってしまうためである。
The opening of a file for data transfer is executed, for example, at a stage before real-time processing or the like is performed. In the case of WindowsNT4.0, "NO # BUFFER" must be specified as the specification at the time of opening. This is the default (NO # BUFFER not specified), file I / O
In this case, the OS exchanges data with the HDD via the internally prepared memory.

【0050】次に、本発明の応用例について説明する。
図9は、ノンリニア編集機の別のハードウェア構成例を
示す図である。これは、バスブリッジによって切り離さ
れたバスに個別のSCSIHBAカードを設けること
で、データ転送効率を向上させたものである。
Next, application examples of the present invention will be described.
FIG. 9 is a diagram illustrating another example of a hardware configuration of the nonlinear editing machine. This is to improve the data transfer efficiency by providing individual SCSI HBA cards on a bus separated by a bus bridge.

【0051】この例では、CPU101はPCIバスコ
ントローラ102を介してシステムメモリ103とPC
Iバス121に接続されている。PCIバス121は、
バスブリッヂ104を介して別のPCIバス122に接
続されている。さらにPCIバス122は、別のバスブ
リッジ105,106を介してPCIバス123,12
4に接続されている。PCIバス123には、CODE
Cボード107とSCSIHBAカード108が接続さ
れており、PCIバス124には、オーディオボード1
10とSCSIHBAカード111とが接続されてい
る。SCSIHBAカード108には、映像データが格
納されたHDD109が接続されており、SCSIHB
Aカード111には、音声データが格納されたHDD1
12が接続されている。
In this example, the CPU 101 connects the system memory 103 and the PC via the PCI bus controller 102.
It is connected to the I bus 121. The PCI bus 121
It is connected to another PCI bus 122 via the bus bridge 104. Further, the PCI bus 122 is connected to the PCI buses 123 and 12 via separate bus bridges 105 and 106.
4 is connected. The CODE is connected to the PCI bus 123.
The C board 107 and the SCSI HBA card 108 are connected.
10 and the SCSI HBA card 111 are connected. An HDD 109 storing video data is connected to the SCSI HBA card 108,
A card 111 stores the HDD 1 in which audio data is stored.
12 are connected.

【0052】このようにシステム内におけるボードのレ
イアウトを工夫することで、システム全体のバス帯域を
効率的に利用できる。具体的には、並行して行われるデ
ータ転送間で相互に影響を与えないレイアウトを実現で
きる。図9におけるレイアウト図中、破線で囲まれたフ
ロックが、1つのデータ伝送単位を形成する。
By devising the layout of the boards in the system in this way, the bus bandwidth of the entire system can be used efficiently. Specifically, a layout that does not affect each other between data transfer performed in parallel can be realized. In the layout diagram in FIG. 9, the blocks surrounded by broken lines form one data transmission unit.

【0053】ある1つのバスブリッジ(またはPCIバ
スコントローラ)の二次バス側に2組以上のデータ転送
が行われる状況では、バスのアービトレーション等余計
な時間を消費し、結果としてデータ転送レートに悪影響
を与える。そこで、この例では、データ転送単位とし
て、CODECボード107とSCSIHBAカード1
08、オーディオボード110とSCSIHBAカード
111の2単位を考える。ノンリニア編集におけるアッ
プロード時やダウンロード時など、オーディオボード1
10もCODECボード107もそれぞれ、並行してH
DD109,112からデータをリードしたりライトし
たりする。
In a situation where two or more sets of data transfer are performed to the secondary bus side of a certain bus bridge (or PCI bus controller), extra time such as bus arbitration is consumed, and as a result, the data transfer rate is adversely affected. give. Therefore, in this example, the CODEC board 107 and the SCSI HBA card 1 are used as data transfer units.
08, two units of the audio board 110 and the SCSI HBA card 111 are considered. Audio board 1 for uploading and downloading in nonlinear editing
10 and CODEC board 107, respectively,
Data is read or written from the DDs 109 and 112.

【0054】音声と映像では、データ要求のタイミング
がまったく同期できず、それぞれの処理において必要な
タイミングで要求され、処理する必要がある。そこで、
CODECボード107と映像データが入っているHD
D109が接続されているSCSIHBAカード108
を1単位、オーディオボード110と音声データが入っ
ているHDD112が接続されているSCSIHBAカ
ード111を1単位としてレイアウトを工夫し、本発明
を利用した伝送方法を用いることで、それぞれの単位に
おいて、バスを最大限に利用できる。その結果、以下の
ような利点がある。 ・あるボード間(実現例ではCODECボードとSCS
IHBAカード間)のデータ転送において、バスの帯域
を最大限利用可能となる。 ・転送に要する時間を少なくできる(1/2以下の時間
で実現)。 ・データ転送のために必要となる計算機資源(具体的に
はCPUの計算能力とシステムメモリ)が少なくなる。 ・並行してN組のデータ転送処理が行われるシステムに
おいて、その最大データ転送能力がバスの帯域*Nとな
り、データ転送能力が向上する。
In the case of audio and video, the timing of data request cannot be synchronized at all, and it is requested at the required timing in each processing and needs to be processed. Therefore,
HD with CODEC board 107 and video data
SCSI HBA card 108 to which D109 is connected
The layout is devised as one unit, and the SCSI HBA card 111 to which the audio board 110 and the HDD 112 containing the audio data are connected is defined as one unit, and the transmission method using the present invention is used, so that each unit has a bus. Can be used to the fullest. As a result, there are the following advantages. -Between certain boards (in the implementation example, the CODEC board and the SCS)
In data transfer between IHBA cards), the bandwidth of the bus can be used to the maximum. -The time required for transfer can be reduced (realized in less than 1/2 time). The computer resources required for data transfer (specifically, the computational power of the CPU and the system memory) are reduced. In a system in which N sets of data transfer processes are performed in parallel, the maximum data transfer capability is the bus bandwidth * N, and the data transfer capability is improved.

【0055】なお、上記のノンリニア編集機が有すべき
機能の処理内容は、コンピュータで読み取り可能な記録
媒体に記録されたプログラムに記述されており、このプ
ログラムをコンピュータ(ノンリニア編集機)で実行す
ることにより、上記処理がコンピュータで実現される。
コンピュータで読み取り可能な記録媒体としては、磁気
記録装置や半導体メモリ等がある。市場へ流通させる場
合には、CD−ROM(Compact Disk Read Only Memor
y)やフロッピー(登録商標)ディスク等の可搬型記録媒
体にプログラムを格納して流通させたり、ネットワーク
を介して接続されたコンピュータの記憶装置に格納して
おき、ネットワークを通じて他のコンピュータに転送す
ることもできる。コンピュータで実行する際には、コン
ピュータ内のハードディスク装置等にプログラムを格納
しておき、メインメモリにロードして実行する。
The processing contents of the functions that the above-mentioned nonlinear editing machine should have are described in a program recorded on a computer-readable recording medium, and this program is executed by a computer (non-linear editing machine). Thereby, the above processing is realized by a computer.
Examples of the computer-readable recording medium include a magnetic recording device and a semiconductor memory. When distributing to the market, CD-ROM (Compact Disk Read Only Memor
y) or a program is stored and distributed on a portable recording medium such as a floppy (registered trademark) disk, or stored in a storage device of a computer connected via a network, and transferred to another computer via the network. You can also. When the program is executed by the computer, the program is stored in a hard disk device or the like in the computer, and is loaded into the main memory and executed.

【0056】[0056]

【発明の効果】以上説明したように本発明では、周辺機
器のメモリのアドレスをユーザプロセス用仮想アドレス
空間内に定義するようにしたため、ユーザプロセスから
周辺機器のメモリのアドレスを直接指定したデータ転送
要求が可能となる。その結果、ユーザプロセスが実行さ
れているオペレーティングシステム上の機能を享受しつ
つ、周辺機器同士のダイレクトメモリアクセスによるデ
ータ転送が可能となる。
As described above, in the present invention, since the address of the memory of the peripheral device is defined in the virtual address space for the user process, the data transfer in which the address of the memory of the peripheral device is directly specified from the user process. Request is possible. As a result, it becomes possible to transfer data by direct memory access between peripheral devices while enjoying the function of the operating system in which the user process is being executed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の原理構成図である。FIG. 1 is a principle configuration diagram of the present invention.

【図2】ノンリニア編集システムのハードウェア構成例
を示す図である。
FIG. 2 is a diagram illustrating an example of a hardware configuration of a nonlinear editing system.

【図3】データ転送を実現するのに必要な処理機能を示
す図である。
FIG. 3 is a diagram showing processing functions required to realize data transfer.

【図4】データ転送処理手順を示す図である。FIG. 4 is a diagram showing a data transfer processing procedure.

【図5】カーネルモード仮想アドレス空間への変換手順
を示す図である。
FIG. 5 is a diagram showing a conversion procedure to a kernel mode virtual address space.

【図6】ユーザモード仮想アドレス空間への変換手順を
示す図である。
FIG. 6 is a diagram showing a conversion procedure to a user mode virtual address space.

【図7】データ転送処理手順を示す図である。FIG. 7 is a diagram showing a data transfer processing procedure.

【図8】アドレス空間のイメージを示す図である。FIG. 8 is a diagram showing an image of an address space.

【図9】ノンリニア編集機の別のハードウェア構成例を
示す図である。
FIG. 9 is a diagram illustrating another example of a hardware configuration of the nonlinear editing machine.

【符号の説明】[Explanation of symbols]

1…周辺機器、1a…メモリ、2…物理アドレス空間、
3…第1のアドレス変換手段、4…仮想アドレス空間、
4a…システム用仮想アドレス空間、4b…ユーザプロ
セス用仮想アドレス空間、5…第2のアドレス変換手
段、6…ユーザプロセス、7…データ転送手段、8…周
辺機器、9…ハードディスク装置(HDD)
1 peripheral device, 1a memory, 2 physical address space,
3 ... first address conversion means, 4 ... virtual address space,
4a: System virtual address space; 4b: User process virtual address space; 5: Second address conversion means; 6: User process; 7: Data transfer means; 8: Peripheral equipment; 9: Hard disk drive (HDD)

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11B 20/10 G11B 20/10 D Fターム(参考) 5B005 JJ12 KK16 LL15 MM31 RR01 TT11 5B014 EA03 HB27 5B060 AB26 AC11 5B061 BA03 DD01 DD11 GG02 5D044 AB01 AB05 BC01 CC04 HL02 HL11 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G11B 20/10 G11B 20/10 DF Term (Reference) 5B005 JJ12 KK16 LL15 MM31 RR01 TT11 5B014 EA03 HB27 5B060 AB26 AC11 5B061 BA03 DD01 DD11 GG02 5D044 AB01 AB05 BC01 CC04 HL02 HL11

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 メモリを搭載した周辺機器が接続された
データ処理装置において、 前記周辺機器のメモリの物理アドレスを、システム制御
用の仮想アドレス空間内の論理アドレスへ変換する第1
のアドレス変換手段と、 前記第1のアドレス変換手段による変換後の論理アドレ
スを、オペレーティングシステム上で実行されている特
定のユーザプロセスに対応する固有の仮想アドレス空間
内の論理アドレスへ変換する第2のアドレス変換手段
と、 前記ユーザプロセスからの前記第2のアドレス変換手段
によって変換された論理アドレスを指定したデータ転送
要求に基づいて、前記周辺機器のメモリと他の周辺機器
との間のダイレクトメモリアクセスによるデータ転送を
行うデータ転送手段と、 を有することを特徴とするデータ処理装置。
1. A data processing device to which a peripheral device equipped with a memory is connected, wherein a physical address of a memory of the peripheral device is converted into a logical address in a virtual address space for system control.
And a second for converting the logical address converted by the first address converting means into a logical address in a unique virtual address space corresponding to a specific user process executed on the operating system. And a direct memory between the memory of the peripheral device and another peripheral device based on a data transfer request from the user process that specifies the logical address converted by the second address conversion device. A data processing device, comprising: data transfer means for performing data transfer by access.
【請求項2】 前記周辺機器は、バスブリッジチップを
介してプロセッサ側と接続された二次バス上に実装され
ており、 前記データ転送手段は、前記二次バス上に実装された他
の周辺機器に対してデータ転送を行うことを特徴とする
請求項1記載のデータ処理装置。
2. The peripheral device is mounted on a secondary bus connected to a processor via a bus bridge chip, and the data transfer unit is connected to another peripheral mounted on the secondary bus. 2. The data processing device according to claim 1, wherein data transfer is performed to a device.
【請求項3】 メモリを搭載した周辺機器を対象とした
データ転送を行うためのデータ転送制御プログラムを記
録した記録媒体において、 周辺機器のメモリの物理アドレスを、システム制御用の
仮想アドレス空間内の論理アドレスへ変換する第1のア
ドレス変換手段、 前記第1のアドレス変換手段による変換後の論理アドレ
スを、オペレーティングシステム上で実行されている特
定のユーザプロセスに対応する固有の仮想アドレス空間
内の論理アドレスへ変換する第2のアドレス変換手段、 前記ユーザプロセスからの前記第2のアドレス変換手段
によって変換された論理アドレスを指定したデータ転送
要求に基づいて、前記周辺機器のメモリと他の周辺機器
との間のダイレクトメモリアクセスによるデータ転送を
行うデータ転送手段、 としてコンピュータを機能させるためのデータ転送制御
プログラムを記録したコンピュータ読み取り可能な記録
媒体。
3. A recording medium on which a data transfer control program for performing data transfer for a peripheral device equipped with a memory is recorded, wherein a physical address of a memory of the peripheral device is stored in a virtual address space for system control. A first address translation unit that translates the logical address into a logical address, and converts the logical address converted by the first address translation unit into a logical address in a unique virtual address space corresponding to a specific user process executed on an operating system. A second address translation unit for translating to an address, a memory of the peripheral device and another peripheral device, based on a data transfer request from the user process that specifies a logical address translated by the second address translation unit. Data transfer means for performing data transfer by direct memory access during A computer-readable recording medium data transfer control program for causing a computer to function.
JP11037631A 1999-02-16 1999-02-16 Data processor and recording medium Pending JP2000235542A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11037631A JP2000235542A (en) 1999-02-16 1999-02-16 Data processor and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11037631A JP2000235542A (en) 1999-02-16 1999-02-16 Data processor and recording medium

Publications (1)

Publication Number Publication Date
JP2000235542A true JP2000235542A (en) 2000-08-29

Family

ID=12503000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11037631A Pending JP2000235542A (en) 1999-02-16 1999-02-16 Data processor and recording medium

Country Status (1)

Country Link
JP (1) JP2000235542A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528050A (en) * 2003-10-14 2007-10-04 フリースケール セミコンダクター インコーポレイテッド Method and system for direct access to non-memory mapped device memory
JP2007257636A (en) * 2006-03-21 2007-10-04 Internatl Business Mach Corp <Ibm> Method, system and computer program for allocating dma address space
JP2008065515A (en) * 2006-09-06 2008-03-21 Hitachi Ltd Computer system configuring remote i/o and i/o data transfer method
JP2010061220A (en) * 2008-09-01 2010-03-18 Sony Computer Entertainment Inc Data transfer apparatus, data transfer method and processor
CN1540531B (en) * 2003-04-04 2010-04-28 索尼株式会社 Editing system, computer, timing informing device and method for obtaining timing
JP2016170696A (en) * 2015-03-13 2016-09-23 株式会社東芝 Memory controller, storage device, data transfer system, data transfer method, and data transfer program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540531B (en) * 2003-04-04 2010-04-28 索尼株式会社 Editing system, computer, timing informing device and method for obtaining timing
US8200873B2 (en) 2003-04-04 2012-06-12 Sony Corporation Editing system, computer, timing notice apparatus, computer program, and method for acquiring timing
JP2007528050A (en) * 2003-10-14 2007-10-04 フリースケール セミコンダクター インコーポレイテッド Method and system for direct access to non-memory mapped device memory
JP2007257636A (en) * 2006-03-21 2007-10-04 Internatl Business Mach Corp <Ibm> Method, system and computer program for allocating dma address space
JP2008065515A (en) * 2006-09-06 2008-03-21 Hitachi Ltd Computer system configuring remote i/o and i/o data transfer method
JP2010061220A (en) * 2008-09-01 2010-03-18 Sony Computer Entertainment Inc Data transfer apparatus, data transfer method and processor
JP2016170696A (en) * 2015-03-13 2016-09-23 株式会社東芝 Memory controller, storage device, data transfer system, data transfer method, and data transfer program

Similar Documents

Publication Publication Date Title
US6321237B1 (en) Recording and reproducing apparatus and method for accessing data stored on a randomly accessible recording medium, and for managing data thereon
US6094605A (en) Virtual automated cartridge system
US6697902B1 (en) Data storage device and interface device for the data storage device
US6292878B1 (en) Data recorder and method of access to data recorder
JP2003187203A (en) File allocation table management by memory controller for memory card
EP0898751B1 (en) Computer system having a multimedia engine coupled to a real-time data cache
US7647455B2 (en) Information processing apparatus and method, program, and program recording medium
JP2001067786A (en) Recording and reproducing device
JP2000235542A (en) Data processor and recording medium
JPH1185413A (en) Recorder
JP2003150416A (en) File management device and method therefor
US7424573B2 (en) Information processing apparatus, method, and program for formatting multiple recording media integrated as one
JP4513054B2 (en) Information terminal
JP2006085393A (en) High-speed transfer method for data from device, and data processor
EP0858025B1 (en) Data recorder and method of access to data recorder
JP2000078556A (en) Server device
JP2002055862A (en) Computer system
JPH10275058A (en) Data recording device and method for access to the same
CA1174373A (en) Channel adapter for virtual storage system
JPH11184829A (en) Inter-device data transfer device/method
JPH10320259A (en) Additinal type cd sharing system
JPS6194167A (en) Peripheral controller
JP2569524B2 (en) Virtual disk control method for extended storage device
EP0527709A2 (en) A system for the management of the memorization and restitution of video signal sequences on digital mass memories
JPH1165772A (en) Data transfer system and method