JP2006085393A - High-speed transfer method for data from device, and data processor - Google Patents

High-speed transfer method for data from device, and data processor Download PDF

Info

Publication number
JP2006085393A
JP2006085393A JP2004268971A JP2004268971A JP2006085393A JP 2006085393 A JP2006085393 A JP 2006085393A JP 2004268971 A JP2004268971 A JP 2004268971A JP 2004268971 A JP2004268971 A JP 2004268971A JP 2006085393 A JP2006085393 A JP 2006085393A
Authority
JP
Japan
Prior art keywords
memory
data
space
memory space
operating system
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
JP2004268971A
Other languages
Japanese (ja)
Inventor
Moritaka Kimura
守孝 木村
Junichi Nakajima
潤一 中島
Tetsuro Kondo
哲朗 近藤
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.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2004268971A priority Critical patent/JP2006085393A/en
Publication of JP2006085393A publication Critical patent/JP2006085393A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To secure a continuous physical memory space on an operating system using a virtual memory method to realize high-speed data transfer technology. <P>SOLUTION: A continuous address space larger than a maximum continuous address space used for a virtual memory space of the operating system is allocated to configure a reference memory space inside the physical memory space 15, and data are transferred by DMA transfer from a device connected by an input/output bus thereto by a device driver 11. The reference memory space is memory-mapped and referred to from an application 16 executed on the operating system. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、コンピュータ内部においてデータを転送する方法に関し、特に入出力バスで接続されたデバイスのデータをアプリケーションにおいて高速に取得する技術に関するものである。   The present invention relates to a method for transferring data inside a computer, and more particularly to a technique for acquiring data of devices connected by an input / output bus at high speed in an application.

パーソナルコンピュータやワークステーションなどのCPU性能が向上するのに伴って、動画像の実時間処理などが行われるようになっている。その際、ハードディスクなどのデバイスに対して記録された大容量データをいかにしてアプリケーションで利用するか、その転送技術の開発が課題となっている。   As the CPU performance of personal computers, workstations, and the like improves, real-time processing of moving images is performed. At that time, the development of transfer technology for how to use large-capacity data recorded on a device such as a hard disk in an application is an issue.

例えば1Gbpsを超えるような超高速でデータを取得するシステムでは、現行用いられているようなオペレーティングシステム(OS)の制御下で安定動作させることは難しい。そのため、専用にメモリ、ハードディスクなどを搭載した拡張ボードを用いる方法が知られている。
このようなシステムでは、OSとは切り離して動作しているため、取り込んだデータをOS下で動作するアプリケーションで実時間的に処理することは不可能であり、上記した課題の解決方法としては不十分である。
For example, in a system that acquires data at an ultra-high speed exceeding 1 Gbps, it is difficult to perform a stable operation under the control of an operating system (OS) that is currently used. For this reason, a method using an expansion board with a dedicated memory, hard disk, etc. is known.
In such a system, since it operates separately from the OS, it is impossible to process captured data in real time by an application operating under the OS. It is enough.

また、デバイスからのデータをアプリケーションで用いるためには、従来の方法ではデバイス、メモリ、CPUの間のデータ転送が煩雑で、CPUに過大な負荷をかけてしまう。そのため、アプリケーションの実行に十分な処理速度が確保できず、計算機資源の活用が図られていない問題がある。   In addition, in order to use data from a device in an application, data transfer between the device, memory, and CPU is complicated in the conventional method, and an excessive load is applied to the CPU. For this reason, there is a problem that a processing speed sufficient for executing the application cannot be secured and the computer resources are not utilized.

具体的には、従来のデータ伝送では次の2つの方法がとられていた。その1つは、図5に示すように、外部からの入力データ(30)を、PC(パーソナルコンピュータ)本体(31)におけるデータ取得用のデバイス(32)に入力する。
データ取得用のデバイス(32)には、大容量のデータ保存用メモリ(33)を設けておき、超高速データを一旦そのメモリに保存するようにする。そして、データ取得が終了した後に、OSからデータ保存用メモリ(33)の内容を内部バス(37)で接続されたメモリ(35)に転送する。アプリケーションの実行処理や、このような転送処理はCPU(34)によって行われる。内部バス(37)ではハードディスク(36)等も接続されている。
この方法では、1度に取得できるデータ量がデータ保存用メモリ(33)のメモリサイズで制限される上、データ取得中にOSから取得データにアクセスすることができない問題がある。
Specifically, the following two methods have been used in conventional data transmission. As one of them, as shown in FIG. 5, input data (30) from the outside is input to a data acquisition device (32) in a PC (personal computer) main body (31).
The data acquisition device (32) is provided with a large-capacity data storage memory (33) so that ultrahigh-speed data is temporarily stored in the memory. After the data acquisition is completed, the contents of the data storage memory (33) are transferred from the OS to the memory (35) connected by the internal bus (37). Application execution processing and such transfer processing are performed by the CPU (34). A hard disk (36) and the like are also connected to the internal bus (37).
This method has a problem that the amount of data that can be acquired at one time is limited by the memory size of the data storage memory (33), and the acquired data cannot be accessed from the OS during data acquisition.

また、別の方法では、図6に示すように、入力データ(40)をデータ取得用のデバイス(41)に入力し、別系統の専用バス(42)で接続されたハードディスク(43)に保存することも行われている。
PC本体(44)で、CPU(45)等と内部バス(46)で接続されるハードディスク(47)とは系統上分離しており、アプリケーションで用いる場合には、一旦内部バス上のハードディスク(47)やメモリ(48)に転送する必要がある。
この方法ではデータ量の制限は緩和されるが、上記同様に取得データに実時間でアクセスできないため、実時間処理を行うアプリケーションでは使用することが不可能である。
In another method, as shown in FIG. 6, input data (40) is input to a data acquisition device (41) and stored in a hard disk (43) connected by a separate dedicated bus (42). It has also been done.
In the PC main body (44), the CPU (45) etc. and the hard disk (47) connected to the internal bus (46) are separated from each other in the system. ) And memory (48).
Although this method relaxes the limit on the amount of data, it cannot be used in an application that performs real-time processing because the acquired data cannot be accessed in real time as described above.

一方、超高速なデータ取得を行わないシステムでは、実時間処理を実現するシステムは広く知られている。最も多く用いられているのが、動画系のキャプチャシステムであり、データを取得しながらディスプレイ上に表示し、データの圧縮展開を同時に行うものである。   On the other hand, in systems that do not perform ultra-high-speed data acquisition, systems that realize real-time processing are widely known. The most frequently used is a video capture system, which displays data on a display while acquiring data and simultaneously compresses and decompresses the data.

このようなシステムでは図7に示すように、データ取得用デバイス(50)から直接PC本体(51)のメモリ(52)へデータを転送している。通常、このときの転送はDMAを用いて高速にしかもCPU(53)に負荷を生じさせないようにしている。   In such a system, as shown in FIG. 7, data is directly transferred from the data acquisition device (50) to the memory (52) of the PC main body (51). Usually, the transfer at this time is performed at a high speed by using DMA so as not to cause a load on the CPU (53).

DMA転送は連続したアドレス空間をもつ物理メモリ(52)に対して行われ、転送速度自体は超高速データ転送においても十分な値を示す。しかしながら、この連続したアドレス空間を持つ物理メモリという点が、データ転送上の障害となっている。   The DMA transfer is performed with respect to the physical memory (52) having a continuous address space, and the transfer rate itself shows a sufficient value even in the ultra high-speed data transfer. However, this physical memory having a continuous address space is an obstacle to data transfer.

それは、通常のOSは仮想メモリ方式をとっているため、大きな連続した物理メモリ空間を確保することができない。
すなわち、仮想メモリをサポートするOSはアプリケーションが起動される毎に物理メモリの一部をそのアプリケーションに割り当てるため、物理メモリは使用時間とともに断片化が進んでいく。その断片化が進んだ状態でDMA転送のような物理メモリ上で大きな連続領域を必要とするアプリケーションを起動させようとした場合、メモリ確保に失敗する。
This is because a normal OS employs a virtual memory system, and thus a large continuous physical memory space cannot be secured.
That is, since an OS that supports virtual memory allocates a part of physical memory to the application every time the application is started, the physical memory is increasingly fragmented with time of use. If an application that requires a large continuous area on a physical memory such as DMA transfer is started in a state where the fragmentation has progressed, memory allocation fails.

仮想メモリをサポートするOSとして、Linux(登録商標)では、物理メモリを小さなメモリ空間に分割した時の最大連続アドレス空間は2Mbyte分に設定されており、高速データ転送の際には、この小さなメモリ空間を使用して複数回のDMA転送で対応している。   As an OS that supports virtual memory, in Linux (registered trademark), the maximum continuous address space when physical memory is divided into small memory spaces is set to 2 Mbytes, and this small memory is used for high-speed data transfer. This is supported by multiple DMA transfers using space.

図8には一般的なDMA転送の手順を示す。PC本体内におけるハードディスク等のデバイス(60)はCPU上で動作しデバイスの制御に係るデバイスドライバ(61)により、物理メモリ(62)に対してデータを転送する。
デバイス(60)からDMA転送が可能になった状態、例えば前のデータの読み出しが終了した場合に、CPUに対してDMA転送可能割込処理(63)を行う。それに基づいてデバイスドライバ(61)はDMA転送命令(64)を発し、デバイス(60)は物理メモリ(62)に対して内部バスを通じて直接データを転送(65)する。このときの転送速度が高速データ転送にも十分なことは上述した通りである。
FIG. 8 shows a general DMA transfer procedure. A device (60) such as a hard disk in the PC main body operates on the CPU and transfers data to the physical memory (62) by a device driver (61) related to device control.
When the DMA transfer is enabled from the device (60), for example, when reading of the previous data is completed, the DMA transfer enable interrupt process (63) is performed on the CPU. Based on this, the device driver (61) issues a DMA transfer command (64), and the device (60) transfers (65) data directly to the physical memory (62) through the internal bus. As described above, the transfer speed at this time is sufficient for high-speed data transfer.

OSはこのように物理メモリを小さなブロックに分割することでメモリの有効活用を図っているが、大容量のデータを用いる際にはブロックの分断が転送上の障害となるのである。図8では連続する物理メモリ(62)(62)に対して2回のDMA転送を行う過程を示しているが、実際に高速データ転送では非常に多くの回数の割込処理(63)、転送命令処理(64)が必要となる。   In this way, the OS attempts to effectively use the memory by dividing the physical memory into small blocks. However, when using a large amount of data, the division of the block becomes an obstacle to transfer. Although FIG. 8 shows a process of performing two DMA transfers to the continuous physical memory (62) (62), a very large number of interrupt processing (63) and transfer are actually performed in high-speed data transfer. Command processing (64) is required.

DMA転送の制御をするOSがそのたびに転送命令を行う必要があり、特にタスク切り替えにより負荷を増大させ、超高速データ転送では大変効率が悪くなる。また、さらに大きな速度低下となっている原因は、連続したアドレス空間をもつ物理メモリ(62)から通常のアプリケーション(66)が認識できる仮想空間メモリ(67)へのデータ転送である。
ここでは、DMA転送が使用できず、CPUで転送を行うため、極めてCPU負荷の重い処理となっている。
The OS that controls the DMA transfer needs to issue a transfer command each time. In particular, the load is increased by task switching, and the efficiency is very low in the ultra-high-speed data transfer. Further, the cause of the further significant speed reduction is the data transfer from the physical memory (62) having the continuous address space to the virtual space memory (67) that can be recognized by the normal application (66).
Here, DMA transfer cannot be used, and transfer is performed by the CPU.

このときOSはアプリケーション(66)とデバイスドライバ(61)のタスクを高速に切り替える必要が生じ、他にデータ処理のような負荷の重い処理を同時に行った場合、このタスクの切り替えが潤滑に行われなくなりデータの一部を取りこぼしてしまう恐れがある。   At this time, the OS needs to switch the task of the application (66) and the device driver (61) at high speed, and when other heavy processing such as data processing is performed at the same time, this task switching is performed smoothly. You may lose some data.

このような問題に対応するため、デバイスからメモリへの高速な転送方法は様々に提案されており、例えば特許文献1では、ターゲットデバイスから間断なくデータを送出する方法を開示しており、ターゲットデバイスが持つバッファ容量(数)を越えるバースト長のリード要求に対しても、ウェイトを挿入せずにバースト出力を可能にすることによりバスの転送効率の改善を図っている。
しかし、この方法はデバイスにおける転送効率の低下を防ぐものであって、上記のようにPC本体のメモリ中の連続する物理メモリの容量制限を回避する技術ではない。
In order to cope with such a problem, various high-speed transfer methods from the device to the memory have been proposed. For example, Patent Document 1 discloses a method for transmitting data from the target device without interruption. The bus transfer efficiency is improved by enabling burst output without inserting a wait even for a read request having a burst length exceeding the buffer capacity (number) of the.
However, this method prevents a decrease in transfer efficiency in the device, and is not a technique for avoiding the capacity limitation of the continuous physical memory in the memory of the PC main body as described above.

特開2003-132008号公報Japanese Patent Laid-Open No. 2003-132008

本発明は、上記従来技術の有する問題点に鑑みて創出されたものであり、仮想メモリ方式を用いるオペレーティングシステム上で、連続した物理メモリ空間を確保し、高速なデータ転送を可能にする技術を創出することを目的とする。   The present invention was created in view of the above-described problems of the prior art, and is a technique that secures a continuous physical memory space and enables high-speed data transfer on an operating system using a virtual memory system. The purpose is to create.

本発明は、上記の課題を解決するために、次のような高速データ転送方法を提供する。
すなわち、請求項1に記載の発明は、アプリケーションでデータを参照する際に、入出力バスで接続されたデバイスから高速にデータを取得するための高速データ転送方法を提供する。該方法は、メモリ空間割当手段が、物理メモリ空間の中に、オペレーティングシステムの仮想メモリ空間に用いる最大連続アドレス空間よりも大きな連続したアドレス空間を割り当てる参照メモリ空間割当ステップ、DMA(Direct Memory Access)転送手段が、該参照メモリ空間に対して入出力バスで接続されたデバイスからDMA転送によりデータを転送するDMA転送ステップ、メモリマッピング手段が、該参照メモリ空間をメモリマッピングしてオペレーティングシステム上で実行されるアプリケーションから参照可能にするメモリマッピングステップ、アプリケーション実行手段が、該参照メモリ空間を参照するデータ参照ステップの各ステップを有するものである。
In order to solve the above problems, the present invention provides the following high-speed data transfer method.
That is, the invention according to claim 1 provides a high-speed data transfer method for acquiring data at high speed from a device connected by an input / output bus when referring to data by an application. The method includes a reference memory space allocation step in which the memory space allocation means allocates a continuous address space larger than the maximum continuous address space used for the virtual memory space of the operating system in the physical memory space, DMA (Direct Memory Access) A DMA transfer step in which a transfer means transfers data by DMA transfer from a device connected to the reference memory space by an input / output bus; and a memory mapping means performs memory mapping of the reference memory space on an operating system. The memory mapping step for enabling reference from the application to be executed, and the application execution means include each step of a data reference step for referring to the reference memory space.

請求項2に記載の発明は、前記参照メモリ空間割り当てステップを、オペレーティングシステムの起動以前に行って、予め大きな連続したアドレス空間を確保することを特徴とする。   The invention according to claim 2 is characterized in that the reference memory space allocation step is performed before the operating system is started to secure a large continuous address space in advance.

請求項3に記載の発明は、請求項1又は2に記載の発明における参照メモリ空間割当ステップにおいて、オペレーティングシステムで使用するメモリ容量を、実際の搭載メモリ容量よりも小さく設定することを特徴とするものである。   The invention according to claim 3 is characterized in that, in the reference memory space allocation step according to claim 1 or 2, the memory capacity used in the operating system is set to be smaller than the actual installed memory capacity. Is.

請求項4に記載の発明は、上記において連続したアドレス空間のメモリ容量が2Mbyte以上であることを特徴とするものである。   The invention according to claim 4 is characterized in that the memory capacity of the continuous address space is 2 Mbytes or more.

本発明は、次のようなデータ処理装置として提供することもできる。
すなわち、請求項5に記載の発明は、アプリケーションでデータを参照する際に、入出力バスで接続されたデバイスから高速なデータ転送が可能なデータ処理装置である。
該装置には、デバイス及び物理メモリと共に、物理メモリ空間の中に、オペレーティングシステムの仮想メモリ空間に用いる最大連続アドレス空間よりも大きな連続したアドレス空間を割り当てる参照メモリ空間割当手段と、該参照メモリ空間に対して入出力バスで接続されたデバイスからDMA(Direct Memory Access)転送によりデータを転送するDMA転送手段と、該参照メモリ空間をメモリマッピングしてオペレーティングシステム上で実行されるアプリケーションから参照可能にするメモリマッピング手段と、該参照メモリ空間を参照しながらアプリケーションを実行するアプリケーション実行手段とを備えている。
The present invention can also be provided as the following data processing apparatus.
That is, the invention according to claim 5 is a data processing apparatus capable of high-speed data transfer from a device connected by an input / output bus when referring to data by an application.
The apparatus includes a device and a physical memory, reference memory space allocating means for allocating a continuous address space larger than a maximum continuous address space used for a virtual memory space of an operating system in the physical memory space, and the reference memory space DMA transfer means for transferring data by DMA (Direct Memory Access) transfer from a device connected by an I / O bus, and the reference memory space can be referenced from an application executed on the operating system by memory mapping And a memory mapping means for executing the application while referring to the reference memory space.

請求項6に記載の発明によれば、参照メモリ空間割り当てステップを、オペレーティングシステムの起動以前に行って、予め大きな連続したアドレス空間を確保する構成を提供することができる。   According to the sixth aspect of the present invention, it is possible to provide a configuration in which a reference memory space allocation step is performed before the operating system is started to secure a large continuous address space in advance.

請求項7に記載の発明は、請求項5又は6に記載の発明における参照メモリ空間割当手段が、オペレーティングシステムで使用するメモリ容量を、実際の搭載メモリ容量よりも小さく設定することを特徴とする。   The invention described in claim 7 is characterized in that the reference memory space allocation means in the invention described in claim 5 or 6 sets the memory capacity used in the operating system to be smaller than the actual installed memory capacity. .

また、請求項8に記載の発明は、上記において連続したアドレス空間のメモリ容量が2Mbyte以上であることを特徴とする。   The invention described in claim 8 is characterized in that the memory capacity of the continuous address space is 2 Mbytes or more.

上記の手段を具備することにより、本発明は次のような効果を奏する。
すなわち、請求項1又は5に記載の方法、装置によると、OSの仮想メモリ空間に用いる最大連続アドレス空間よりも大きな連続したアドレス空間に大容量のデータを高速で転送すると共に、メモリマッピングにより、アプリケーションから直接の参照を可能とすることができるので、高精細な動画像や計測データなどの実時間処理に寄与する超高速なデータ転送技術を提供する。
By providing the above means, the present invention has the following effects.
That is, according to the method and apparatus of claim 1 or 5, a large amount of data is transferred at a high speed to a continuous address space larger than the maximum continuous address space used for the virtual memory space of the OS, and by memory mapping, Since direct reference from an application is possible, an ultra-high-speed data transfer technology that contributes to real-time processing of high-definition moving images and measurement data is provided.

請求項2又は6に記載の方法、装置では、オペレーティングシステムの起動以前に大きな連続したアドレス空間を確保するので、オペレーティングシステムによるメモリの断片化の影響を受けずに処理することができる。   According to the method and apparatus of the second or sixth aspect, since a large continuous address space is secured before the operating system is started, processing can be performed without being affected by memory fragmentation by the operating system.

請求項3又は7に記載の方法、装置によると、大きな連続したアドレス空間を確保する方法として、オペレーティングシステムで用いるメモリ容量を小さくすることにより、物理メモリを強制的に不使用の状態とすることができる。   According to the method and apparatus of claim 3 or 7, as a method for securing a large continuous address space, the physical memory is forcibly made unused by reducing the memory capacity used in the operating system. Can do.

請求項4又は8に記載の方法、装置によると、2Mbyte以上の連続したメモリ空間を用いることにより、現状のオペレーティングシステムでは転送できない十分な高速転送を実現することができる。   According to the method and apparatus of the fourth or eighth aspect, by using a continuous memory space of 2 Mbytes or more, sufficient high-speed transfer that cannot be transferred by the current operating system can be realized.

以下、本発明の実施形態を、図面に示す実施例を基に説明する。なお、実施形態は下記に限定されるものではない。
図1は本発明によるデータ転送方法の基本的な構成を示す説明図である。本構成は、公知のバスによって接続されたデバイスと、PC本体におけるメモリとの間で高速にデータ転送を行い、かつアプリケーションからの参照も可能とするものである。
Hereinafter, embodiments of the present invention will be described based on examples shown in the drawings. The embodiment is not limited to the following.
FIG. 1 is an explanatory diagram showing a basic configuration of a data transfer method according to the present invention. This configuration allows high-speed data transfer between a device connected by a known bus and a memory in the PC main body, and enables reference from an application.

バスとしては、PCI(Peripheral Component Interconnect)バスが広く用いられている。なお、本発明で用いるシステムでは2048Mbps以上の転送レートが必要なためPCIバスとして64bit/66MHzを使用している。
PCIバスによってデバイス(10)と、デバイスドライバ(11)を稼働し、及びアプリケーション(16)を実行処理するCPU及び、物理メモリ(15)が接続されている。
A PCI (Peripheral Component Interconnect) bus is widely used as the bus. Since the system used in the present invention requires a transfer rate of 2048 Mbps or higher, 64bit / 66 MHz is used as the PCI bus.
A device (10), a device driver (11), a CPU that executes an application (16), and a physical memory (15) are connected by a PCI bus.

そして、本発明ではまず物理メモリ(15)の中で、連続した大きなメモリ空間を確保する。
ここで、オペレーティングシステムが採用する仮想メモリ方式について簡単に説述する。仮想メモリ方式は、使用頻度の少ないメモリページの内容をディスクに退避しておき、必要な時に、ディスクからメモリにロードしてくる方式であり、物理メモリサイズを超えるような大きなプログラムでも実行できるようになる。
In the present invention, first, a large continuous memory space is secured in the physical memory (15).
Here, the virtual memory method adopted by the operating system will be briefly described. In the virtual memory method, the contents of memory pages that are used infrequently are saved to the disk and loaded from the disk to the memory when necessary, so that even a large program exceeding the physical memory size can be executed. become.

32ビットのシステムでは4Gバイトまでのメモリ空間を1つのセグメントとしてアクセスでき、最初の3Gバイトがプロセス空間として割り当てられる。
そして、アドレスの0x0〜0xC0000000の間に、動的に生成されるプロセス空間は、実行中のプロセス毎に独立した多重仮想的な空間として生成される。
仮想メモリ方式において、仮想空間上では有効なページであっても、そのページに物理的なメモリ上のページ(物理ページ)が常に割り当てられている訳ではなく、物理メモリをマッピングする方式がとられている。
In a 32-bit system, memory space up to 4 Gbytes can be accessed as one segment, and the first 3 Gbytes are allocated as process space.
A dynamically generated process space between addresses 0x0 to 0xC0000000 is generated as an independent multiple virtual space for each process being executed.
In the virtual memory method, even if the page is valid in the virtual space, a page on the physical memory (physical page) is not always assigned to the page, and a method of mapping physical memory is used. ing.

CPU上で実行される各プロセスは、独立したプロセス空間を与えられる。1つのプロセス空間について、1つのメモリ管理構造(Linux(登録商標)においてはmm_struct構造体で表される)により管理されている。
有効な状態のプロセス空間は、非連続な複数の領域からなっており、それを仮想空間管理構造体(同、vm_area_struct構造体)によって連続した仮想空間として管理している。
Each process executed on the CPU is given an independent process space. One process space is managed by one memory management structure (represented by an mm_struct structure in Linux (registered trademark)).
The process space in an effective state is composed of a plurality of non-contiguous areas, and is managed as a continuous virtual space by a virtual space management structure (same as the vm_area_struct structure).

1つのプロセスが利用できる有効な空間は、複数の仮想空間管理構造体の総計であり、同時にメモリ管理構造体は、プロセスの仮想空間アドレスを物理メモリアドレスに変換するテーブル(PGD、PTE領域)を管理して、仮想メモリ空間と、物理メモリ空間を変換して参照するようになっている。変換処理は、例えばCPUのMMU(Memory Management Unit)によって処理される。   The effective space that can be used by one process is the sum of multiple virtual space management structures. At the same time, the memory management structure uses a table (PGD, PTE area) that converts the virtual space addresses of processes into physical memory addresses. The virtual memory space and the physical memory space are converted and referred to by management. The conversion process is performed by, for example, a CPU MMU (Memory Management Unit).

MMUは、上記のように物理的メモリをページ又はセグメントと呼ばれるブロック毎に分割して管理する。これに仮想空間アドレスに割り当てるマッピング処理によって、実メモリ容量よりも大きなメモリ空間をアプリケーションに提供でき、必要に応じてハードディスクなどの2次記憶手段にスワップする。
同時に、各アプリケーションやOSの仮想空間アドレスを分離することで、セキュリティを高めたり、メモリ保護を行うことに寄与している。
As described above, the MMU manages the physical memory by dividing it into blocks called pages or segments. By mapping processing assigned to the virtual space address, a memory space larger than the actual memory capacity can be provided to the application, and swapped to secondary storage means such as a hard disk as necessary.
At the same time, by separating the virtual space addresses of each application and OS, it contributes to improving security and protecting the memory.

ところで、アプリケーションの実行において、外部からハイビジョン画像などの大容量データを連続して転送するような処理を行う場合、上記の仮想メモリ方式ではページ又はセグメントに分割するため、連続的な物理メモリ空間を確保することができない。
そして、仮想メモリ空間と物理メモリ空間を変換処理するために、CPUに大きな負荷が生じ、処理速度が大幅に低下する。
By the way, in the execution of an application, when processing such as continuously transferring a large amount of data such as a high-definition image from the outside, the above-mentioned virtual memory method divides it into pages or segments. It cannot be secured.
In addition, since the virtual memory space and the physical memory space are converted, a large load is generated on the CPU, and the processing speed is greatly reduced.

この問題を解決するために、本発明では図2に示すような構成をとり、CPUにおける転送制御の方法を改善することを提案する。
図2は本発明によるデータ処理装置の一例としての画像処理装置(20)であり、一般的なパーソナルコンピュータ等により構成する。図示しないビデオカメラ、ビデオプレーヤ等からのビデオ画像を、必要に応じてAD変換をして、ビデオキャプチャインターフェース(21)によりCPU(22)に入力する。
In order to solve this problem, it is proposed in the present invention to take a configuration as shown in FIG. 2 and improve the transfer control method in the CPU.
FIG. 2 shows an image processing apparatus (20) as an example of a data processing apparatus according to the present invention, which is constituted by a general personal computer or the like. A video image from a video camera, a video player or the like (not shown) is AD-converted as necessary, and is input to the CPU (22) by the video capture interface (21).

インターフェース(21)、CPU(22)、メモリ(23)、ハードディスク(24)は、PCIバス(25)により相互に接続されている。
CPU(22)においては、ハードウェアとして専用に配設されたMMU部(26)と、OS処理によって機能するDMA転送制御部(27)、画像処理等のアプリケーションを実行するアプリケーション実行部(28)を含んでいる。
なお、MMU部(26)はCPU(22)上でソフトウェアにより構成してもよい。
The interface (21), CPU (22), memory (23), and hard disk (24) are connected to each other by a PCI bus (25).
In the CPU (22), an MMU unit (26) arranged exclusively as hardware, a DMA transfer control unit (27) that functions by OS processing, and an application execution unit (28) that executes applications such as image processing Is included.
The MMU unit (26) may be configured by software on the CPU (22).

そして、本発明ではまず、OS上の設定によって、OSが用いる物理的なメモリ(23)の容量を、実際のメモリ容量よりも小さくする。例えば、2Gbyteの実容量の場合に、搭載メモリ容量を1Gbyteと設定すると、前半の1Gbyteのみが認識されて、後半の1Gbyteは未使用領域となる。   In the present invention, first, the capacity of the physical memory (23) used by the OS is made smaller than the actual memory capacity by setting on the OS. For example, in the case of an actual capacity of 2 Gbytes, if the installed memory capacity is set to 1 Gbyte, only the first 1 Gbyte is recognized and the latter 1 Gbyte is an unused area.

linux(登録商標)における実際の設定方法は、起動時の設定ファイル(grub.confやlilo.conf等)または起動オプションで実際より少なめのメモリを表記する。
例えば、例として2048Mbyte搭載のPCで1024Mbyteのみ使用する場合のgrub.confの中身を図3のように定義する。
このように設定しlinux(登録商標)を起動すると2GBの全メモリ空間(0x00000000-0x80000000)中の(0x00000000-0x40000000)までがlinux(登録商標)の管理下に入り後半の(0x40000000-0x80000000)は一切使用されないように動作させることができる。
The actual setting method in linux (registered trademark) indicates a smaller amount of memory than the actual setting file at startup (grub.conf, lilo.conf, etc.) or startup options.
For example, the contents of grub.conf when only 1024 Mbytes are used on a PC with 2048 Mbytes are defined as shown in FIG.
When linux (registered trademark) is started with this setting, up to (0x00000000-0x40000000) in the 2GB total memory space (0x00000000-0x80000000) is under the management of linux (registered trademark) and the latter half (0x40000000-0x80000000) It can be operated so that it is not used at all.

さらに、linux(登録商標)には物理メモリを直接アプリケーションで読み書きできる特殊なデバイスファイル(/dev/mem ,/dev/kmem)があり図4に示すような記述で(0x40000000-0x80000000)の領域をアプリケーション側にマップ機能で提供することができる。
このような処理によって、物理メモリ空間中に、連続した1Gbyteのアドレス空間(以下、参照メモリ空間と呼ぶ)が確保される。
In addition, linux (registered trademark) has a special device file (/ dev / mem, / dev / kmem) that can read and write physical memory directly by the application. The area (0x40000000-0x80000000) is described as shown in Fig. 4. It can be provided to the application side with a map function.
By such processing, a continuous 1 Gbyte address space (hereinafter referred to as reference memory space) is secured in the physical memory space.

以上の設定によると、オペレーティングシステムの起動以前に大きな連続したアドレス空間を確保するので、オペレーティングシステムによるメモリの断片化の影響を受けずに高速なデータ転送を行うことができる。   According to the above setting, since a large continuous address space is secured before the operating system is started, high-speed data transfer can be performed without being affected by memory fragmentation by the operating system.

そして、DMA転送制御部(27)では、該参照メモリ空間に対して、インターフェース(21)からの転送データを、DMA転送により直接書き込み処理する。このとき、図1に示すように、インターフェース(21)からDMA転送可能割込(12)が発生すると、DMA転送制御部(27)でDMA転送命令を発し、次いでインターフェース(21)は該参照メモリ空間にDMA転送を行う。   The DMA transfer control unit (27) directly writes the transfer data from the interface (21) into the reference memory space by DMA transfer. At this time, as shown in FIG. 1, when a DMA transfer enable interrupt (12) is generated from the interface (21), the DMA transfer control unit (27) issues a DMA transfer command, and then the interface (21) is connected to the reference memory. DMA transfer to space.

参照メモリ空間は連続した物理メモリであり、上記のようにテーブルによる変換処理が必要ないため、PCIバスの転送速度理論値に近い高速転送が可能である。しかし、参照メモリ空間はOSに予約されていないため、そのままでは単にメモリ上にデータが記憶されたに留まり、アプリケーションから参照することはできない。   Since the reference memory space is a continuous physical memory and does not require conversion processing using a table as described above, high-speed transfer close to the theoretical transfer rate value of the PCI bus is possible. However, since the reference memory space is not reserved by the OS, the data is simply stored in the memory as it is, and cannot be referenced from the application.

そこで、MMU部(26)でメモリマッピングを行うことで、参照できるようにする。メモリマッピングは、OSのプロセス空間ではブロックに分割されて行われるが、上記のOSと切り離したメモリ空間ではその先頭アドレス以下の空間をマッピングすることにより、1つの大きなブロックとして認識することができるようになる。
この方法によれば、アプリケーション実行部(28)から直接参照することが可能であり、従来よりも格段に高速なデータ転送が行えるようになる。
Therefore, the MMU unit (26) performs memory mapping so that it can be referred to. The memory mapping is performed by dividing into blocks in the OS process space, but in the memory space separated from the OS, by mapping the space below the start address, it can be recognized as one large block. become.
According to this method, it is possible to refer directly from the application execution unit (28), and data transfer can be performed at a much higher speed than before.

連続した物理メモリ空間の割当方法は、上記に限らず実行するOSによって最適な方法を用いることができる。上記は、Linux(登録商標)において簡便に実行する好適な方法である。
また、連続した物理メモリ空間としては、少なくともOSが物理メモリを分割するブロックサイズよりも大きくする必要がある。例えば現行のLinux(登録商標)の場合で、最大連続アドレス空間は2Mbyteであるから、それ以上とすることが望ましい。
The method for allocating continuous physical memory space is not limited to the above, and an optimum method can be used depending on the OS to be executed. The above is a preferred method that is easily executed in Linux (registered trademark).
Further, the continuous physical memory space needs to be larger than at least the block size by which the OS divides the physical memory. For example, in the case of the current Linux (registered trademark), since the maximum continuous address space is 2 Mbytes, it is desirable to exceed it.

取得したデータは、例えばハードディスク(24)に記憶させることができる。ハードディスクは、公知のようにRAIDシステムを用いて高速なデータ転送を可能なようにしたものを用いることで、実時間処理を行える。   The acquired data can be stored in the hard disk (24), for example. The hard disk can perform real-time processing by using a hard disk that is capable of high-speed data transfer using a RAID system as is well known.

最後に、CPUにおける負荷を従来の方法と比較する。
例えば、OSで割当可能なブロックの最大サイズが2Mbyteの場合、図8に示す従来の構成では、多数回のDMA転送制御が必要である。データを取得したデバイス(60)から、1Gbpsのデータレートでデータが入力した場合、物理メモリ(62)にDMA転送すると、毎秒64回のDMA転送及び仮想空間メモリへのデータ転送が必要となる。
Finally, the load on the CPU is compared with the conventional method.
For example, when the maximum size of a block that can be allocated by the OS is 2 Mbytes, the conventional configuration shown in FIG. 8 requires many times of DMA transfer control. When data is input from the device (60) that acquired the data at a data rate of 1 Gbps, DMA transfer to the physical memory (62) requires 64 DMA transfers per second and data transfer to the virtual space memory.

このとき、デバイスドライバ、アプリケーションのタスクの切り替えが64回発生している状態である。仮に1秒間分CPU処理時間を必要なタスクAが別途発生した場合、タスク管理マネージャはドライバ、アプリケーション、タスクAの三つをループで実行させる。
linux(登録商標)ではタスクの切り替えはタスクそれ自体が処理を終了しなければ10ミリ秒で強制的に切り替えられる。データ転送中このようなタスクAが発生した場合、64回のDMA転送が行なわれる間にタスクAも64回行なわれ、1回のDMA転送毎にタスクAで発生する10ミリ秒の待ち時間が発生する。
この場合1秒の内の640ミリ秒はまったく転送時間に利用されず転送効率が36%まで低下する。
At this time, the device driver and application tasks are switched 64 times. If task A that requires CPU processing time for one second is generated separately, the task management manager executes a driver, an application, and task A in a loop.
In linux (registered trademark), task switching is forcibly switched in 10 milliseconds unless the task itself completes processing. When such a task A occurs during data transfer, the task A is also performed 64 times while the DMA transfer is performed 64 times, and a waiting time of 10 milliseconds generated in the task A is performed for each DMA transfer. appear.
In this case, 640 milliseconds in one second is not used at all for the transfer time, and the transfer efficiency is reduced to 36%.

一方、本発明によれば、128Mbyteの連続した物理メモリ空間を用意することで、1Gbpsのデータレートでデータが入力した場合には毎秒1回のDMA転送を行うだけで良い。これにより、データの実時間処理が可能となり、データの取りこぼしなどが発生しない。   On the other hand, according to the present invention, by preparing a 128 Mbyte continuous physical memory space, when data is input at a data rate of 1 Gbps, it is only necessary to perform DMA transfer once per second. As a result, real-time processing of data becomes possible and no data is lost.

具体的には、本実施例の場合128Mbyteのメモリ空間を8個確保し、ラウンドロビン型のバッファ構成をとる。このため、アプリケーションの処理が多少遅延(数秒まで許容)しても取りこぼしが発生しない。
例えば、最近のハードディスクでは電力消費を抑えるため、長時間使用されていないディスクの回転を止める機能を備えた物がある。ディスクの回転が止まった場合、記録を開始しても実際に記録が開始されるまで数秒を要するが、本発明によれば8秒分のバッファー使用で十分この遅延を吸収できる効果も有する。
Specifically, in this embodiment, eight 128 Mbyte memory spaces are secured and a round-robin buffer configuration is adopted. For this reason, even if the processing of the application is somewhat delayed (allowed up to several seconds), no missing occurs.
For example, some recent hard disks have a function of stopping the rotation of a disk that has not been used for a long time in order to reduce power consumption. When the disk stops rotating, it takes several seconds until the recording is actually started even if the recording is started. However, according to the present invention, the delay can be sufficiently absorbed by using the buffer for 8 seconds.

本発明は、データ処理装置一般に用いることができるが、特にハイビジョン画像の取り込み、処理装置や、科学技術系の多量のデータを処理するデータ取得装置、あるいは計測装置などに利用すると最適である。   The present invention can be generally used for data processing devices, but is particularly suitable for use in high-definition image capturing and processing devices, data acquisition devices that process a large amount of scientific and technological data, or measurement devices.

本発明におけるデータ転送方法の基本的な構成を示す説明図である。It is explanatory drawing which shows the basic composition of the data transfer method in this invention. 本発明に係る画像処理装置の構成図である。1 is a configuration diagram of an image processing apparatus according to the present invention. オペレーティングシステムがlinux(登録商標)を用いた場合のメモリ割り当て方法として設定を示す図である。It is a figure which shows a setting as a memory allocation method when an operating system uses linux (trademark). 連続したアドレス空間をアプリケーション側にマップ機能で提供する方法として設定を示す図である。It is a figure which shows a setting as a method of providing a continuous address space to the application side with a map function. 従来のデータ転送方法を説明する説明図である。It is explanatory drawing explaining the conventional data transfer method. 従来のデータ転送方法を説明する説明図である。It is explanatory drawing explaining the conventional data transfer method. 従来のデータ転送方法を説明する説明図である。It is explanatory drawing explaining the conventional data transfer method. 従来のデータ転送方法(DMAを用いる方法)を説明する説明図である。It is explanatory drawing explaining the conventional data transfer method (method using DMA).

符号の説明Explanation of symbols

10 データ取得用デバイス
11 デバイスドライバ
12 DMA転送可能割込
13 DMA転送命令
14 DMA転送
15 物理メモリ
16 アプリケーション

DESCRIPTION OF SYMBOLS 10 Data acquisition device 11 Device driver 12 DMA transfer possible interrupt 13 DMA transfer instruction 14 DMA transfer 15 Physical memory 16 Application

Claims (8)

アプリケーションでデータを参照する際に、入出力バスで接続されたデバイスから高速にデータを取得するための高速データ転送方法であって、
メモリ空間割当手段が、物理メモリ空間の中に、オペレーティングシステムの仮想メモリ空間に用いる最大連続アドレス空間よりも大きな連続したアドレス空間を割り当てる参照メモリ空間割当ステップ、
DMA(Direct Memory Access)転送手段が、該参照メモリ空間に対して入出力バスで接続されたデバイスからDMA転送によりデータを転送するDMA転送ステップ、
メモリマッピング手段が、該参照メモリ空間をメモリマッピングしてオペレーティングシステム上で実行されるアプリケーションから参照可能にするメモリマッピングステップ、
アプリケーション実行手段が、該参照メモリ空間を参照するデータ参照ステップ
の各ステップを有することを特徴とするデバイスからの高速データ転送方法。
When referring to data in an application, it is a high-speed data transfer method for acquiring data at high speed from a device connected by an input / output bus.
A reference memory space allocation step in which the memory space allocation means allocates a continuous address space larger than the maximum continuous address space used for the virtual memory space of the operating system in the physical memory space;
A DMA transfer step in which DMA (Direct Memory Access) transfer means transfers data by DMA transfer from a device connected to the reference memory space by an input / output bus;
A memory mapping step in which a memory mapping means makes the reference memory space memory-mapped so that it can be referenced from an application executed on an operating system;
A high-speed data transfer method from a device, wherein the application execution means includes a data reference step of referring to the reference memory space.
前記参照メモリ空間割り当てステップを、オペレーティングシステムの起動以前に行って、予め大きな連続したアドレス空間を確保する
請求項1に記載のデバイスからの高速データ転送方法。
The high-speed data transfer method from the device according to claim 1, wherein the reference memory space allocation step is performed before the operating system is started to secure a large continuous address space in advance.
前記参照メモリ空間割当ステップにおいて、
オペレーティングシステムで使用するメモリ容量を、実際の搭載メモリ容量よりも小さく設定する
請求項1又は2に記載のデバイスからの高速データ転送方法。
In the reference memory space allocation step,
The high-speed data transfer method from the device according to claim 1, wherein a memory capacity used in the operating system is set smaller than an actual mounted memory capacity.
前記連続したアドレス空間のメモリ容量が2Mbyte以上である
請求項1ないし3に記載のデバイスからの高速データ転送方法。
The high-speed data transfer method from the device according to claim 1, wherein a memory capacity of the continuous address space is 2 Mbytes or more.
アプリケーションでデータを参照する際に、入出力バスで接続されたデバイスから高速なデータ転送が可能なデータ処理装置であって、該デバイスと、物理メモリと共に、
物理メモリ空間の中に、オペレーティングシステムの仮想メモリ空間に用いる最大連続アドレス空間よりも大きな連続したアドレス空間を割り当てる参照メモリ空間割当手段と、
該参照メモリ空間に対して入出力バスで接続されたデバイスからDMA(Direct Memory Access)転送によりデータを転送するDMA転送手段と、
該参照メモリ空間をメモリマッピングしてオペレーティングシステム上で実行されるアプリケーションから参照可能にするメモリマッピング手段と、
該参照メモリ空間を参照しながらアプリケーションを実行するアプリケーション実行手段と
を備えたことを特徴とするデータ処理装置。
A data processing apparatus capable of high-speed data transfer from a device connected by an input / output bus when referring to data in an application, together with the device and physical memory,
A reference memory space allocating means for allocating a continuous address space larger than a maximum continuous address space used for a virtual memory space of the operating system in the physical memory space;
DMA transfer means for transferring data by DMA (Direct Memory Access) transfer from a device connected to the reference memory space by an input / output bus;
Memory mapping means for mapping the reference memory space so that it can be referenced from an application executed on an operating system;
Application processing means for executing an application while referring to the reference memory space.
前記参照メモリ空間割当手段が、オペレーティングシステムの起動以前に行って、予め大きな連続したアドレス空間を確保する
請求項5に記載のデバイスからのデータ処理装置。
The data processing apparatus from the device according to claim 5, wherein the reference memory space allocating unit secures a large continuous address space in advance before starting the operating system.
前記参照メモリ空間割当手段が、
オペレーティングシステムで使用するメモリ容量を、実際の搭載メモリ容量よりも小さく設定する
請求項5又は6に記載のデータ処理装置。
The reference memory space allocation means is
The data processing device according to claim 5, wherein a memory capacity used in the operating system is set smaller than an actual mounted memory capacity.
前記連続したアドレス空間のメモリ容量が2Mbyte以上である
請求項5ないし7に記載のデータ処理装置。

The data processing device according to claim 5, wherein a memory capacity of the continuous address space is 2 Mbytes or more.

JP2004268971A 2004-09-15 2004-09-15 High-speed transfer method for data from device, and data processor Pending JP2006085393A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004268971A JP2006085393A (en) 2004-09-15 2004-09-15 High-speed transfer method for data from device, and data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004268971A JP2006085393A (en) 2004-09-15 2004-09-15 High-speed transfer method for data from device, and data processor

Publications (1)

Publication Number Publication Date
JP2006085393A true JP2006085393A (en) 2006-03-30

Family

ID=36163861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004268971A Pending JP2006085393A (en) 2004-09-15 2004-09-15 High-speed transfer method for data from device, and data processor

Country Status (1)

Country Link
JP (1) JP2006085393A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007004374A1 (en) * 2005-07-06 2007-01-11 Sony Computer Entertainment Inc. Information processing method and information processing device
JP2010152527A (en) * 2008-12-24 2010-07-08 Sony Computer Entertainment Inc Method and apparatus for providing user level dma and memory access management
CN111459879A (en) * 2020-06-02 2020-07-28 浙江欣奕华智能科技有限公司 Data processing method and system on chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022640A (en) * 1999-07-02 2001-01-26 Victor Co Of Japan Ltd Memory managing method
JP2003200620A (en) * 2001-09-14 2003-07-15 Ricoh Co Ltd Imaging apparatus
JP2003316646A (en) * 2002-02-25 2003-11-07 Ricoh Co Ltd Image forming apparatus and memory management method
JP2003316645A (en) * 2002-02-25 2003-11-07 Ricoh Co Ltd Information processor and memory management method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022640A (en) * 1999-07-02 2001-01-26 Victor Co Of Japan Ltd Memory managing method
JP2003200620A (en) * 2001-09-14 2003-07-15 Ricoh Co Ltd Imaging apparatus
JP2003316646A (en) * 2002-02-25 2003-11-07 Ricoh Co Ltd Image forming apparatus and memory management method
JP2003316645A (en) * 2002-02-25 2003-11-07 Ricoh Co Ltd Information processor and memory management method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007004374A1 (en) * 2005-07-06 2007-01-11 Sony Computer Entertainment Inc. Information processing method and information processing device
US8234651B2 (en) 2005-07-06 2012-07-31 Sony Computer Entertainment Inc. Information processing method and apparatus using the same
JP2010152527A (en) * 2008-12-24 2010-07-08 Sony Computer Entertainment Inc Method and apparatus for providing user level dma and memory access management
CN111459879A (en) * 2020-06-02 2020-07-28 浙江欣奕华智能科技有限公司 Data processing method and system on chip

Similar Documents

Publication Publication Date Title
JP4831759B2 (en) Method, system, and computer program for allocating DMA address space
JP5039029B2 (en) Managing computer memory in a computing environment with dynamic logical partitioning
US9223734B2 (en) Switch with synthetic device capability
JP7280508B2 (en) Information processing device, information processing method, and virtual machine connection management program
EP1734444A2 (en) Exchanging data between a guest operating system and a control operating system via memory mapped I/O
JP2008527496A (en) Intelligent storage engine for disk drive operation with reduced local bus traffic
EP1770520A2 (en) Operating cell processors over a network
US20110161675A1 (en) System and method for gpu based encrypted storage access
CN1945557A (en) Memory controller and method for handling DMA operations during a page copy
KR20080017292A (en) Storage architecture for embedded systems
US6687763B2 (en) ATAPI command receiving method
US7913059B2 (en) Information processing device, data transfer method, and information storage medium
WO2020087931A1 (en) Data backup method, device, and system
WO2022042127A1 (en) Coroutine switching method and apparatus, and device
CN113031857B (en) Data writing method, device, server and storage medium
JP4408840B2 (en) HDD controller and system equipped with the same
US9342704B2 (en) Allocating memory access control policies
US7930445B2 (en) Computer system using remote I/O and I/O data transfer method
JP2006085393A (en) High-speed transfer method for data from device, and data processor
JP2007041813A (en) Information processing system and information processing method
US7694004B2 (en) Bit-granular writes of control registers
CN117453352B (en) Equipment straight-through method under Xen
WO2023030173A1 (en) Method for managing dynamic library and corresponding apparatus
US20110099304A1 (en) Controller and a Method for Controlling the Communication Between a Processor and an External Peripheral Device
EP2682870B1 (en) Data control system, data control method, and data control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110412