JP2012003527A - Data transfer management device, data transfer management method and data transfer management program - Google Patents
Data transfer management device, data transfer management method and data transfer management program Download PDFInfo
- Publication number
- JP2012003527A JP2012003527A JP2010138152A JP2010138152A JP2012003527A JP 2012003527 A JP2012003527 A JP 2012003527A JP 2010138152 A JP2010138152 A JP 2010138152A JP 2010138152 A JP2010138152 A JP 2010138152A JP 2012003527 A JP2012003527 A JP 2012003527A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- buffer
- transfer
- channel
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明はデータ転送管理装置、データ転送管理方法およびデータ転送管理プログラムに関する。 The present invention relates to a data transfer management device, a data transfer management method, and a data transfer management program.
たとえばパーソナルコンピュータにビデオキャプチャーカードを搭載し、放送番組をハードディスクドライブに録画することが行われている。このとき、ビデオキャプチャーカードから連続的に出力される映像のストリームデータは、DMA(ダイレクト・メモリ・アクセス:Direct Memory Access)バッファへDMA転送され、DMAバッファからハードディスクドライブに転送されて格納される。 For example, a video capture card is mounted on a personal computer and a broadcast program is recorded on a hard disk drive. At this time, the stream data of the video continuously output from the video capture card is DMA-transferred to a DMA (Direct Memory Access) buffer, transferred from the DMA buffer to the hard disk drive, and stored.
パーソナルコンピュータのマザーボード上には、DMA制御装置が搭載されていて、このDMA制御装置がストリームデータをDMAバッファへDMA転送する制御をしている。DMAバッファへ転送されたストリームデータは、CPU(Central Processing Unit)の制御によってハードディスクドライブへ転送され、格納される。DMA転送中のデータ量(ストリームのビットレート)は可変であり、また、ビデオキャプチャーカードからDMAバッファへデータを転送する通信路として複数のDMAチャネルが存在している。ここで、DMA転送されたストリームデータを受信するDMAバッファのバッファ量に不足が生じてしまうと、データの取りこぼし等の障害が発生してしまう。 A DMA control device is mounted on the motherboard of the personal computer, and this DMA control device controls the DMA transfer of the stream data to the DMA buffer. The stream data transferred to the DMA buffer is transferred to and stored in the hard disk drive under the control of a CPU (Central Processing Unit). The amount of data (stream bit rate) during DMA transfer is variable, and a plurality of DMA channels exist as communication paths for transferring data from the video capture card to the DMA buffer. Here, if the buffer amount of the DMA buffer that receives the DMA-transferred stream data is insufficient, a failure such as data loss occurs.
DMA転送データを受信するDMAバッファは、システムのメインメモリの一部を用いている。このため、DMA転送データの取りこぼしの可能性を低くするべく十分な量のDMAバッファを確保すると、システムのメモリ不足等の影響が出る可能性がある。この場合、バッファ量の調整が必要になってくる。 The DMA buffer that receives the DMA transfer data uses a part of the main memory of the system. For this reason, if a sufficient amount of DMA buffer is secured to reduce the possibility of dropping the DMA transfer data, there is a possibility that the memory of the system will be insufficient. In this case, it is necessary to adjust the buffer amount.
これに対し、所定量のバッファをデータストリームに効率的に割り付ける方法が知られている。この方法によれば、所定の最大数のバッファが割り付けられたキューがバッファの貯えを使用し尽くしたタイミングや定期的なリフレッシュイベントのタイミングで、バッファをリフレッシュしている。そして、再度、空きバッファを優先度の高いデータストリームのキューに割り当てるようにしている。 On the other hand, a method for efficiently allocating a predetermined amount of buffer to a data stream is known. According to this method, the buffer is refreshed at the timing when the queue to which the predetermined maximum number of buffers are allocated uses up the buffer storage or at the timing of a regular refresh event. Then, the free buffer is again assigned to the queue of the data stream with high priority.
以上のように、DMAバッファは、個々のシステム毎に固定値でバッファ量を確保しているが、DMAチャネル数の増加やシステムの複雑化、使用用途の変化等により、固定値で、適切なバッファ量を確保することが困難であるという問題点があった。 As described above, the DMA buffer secures a buffer amount with a fixed value for each individual system. However, due to an increase in the number of DMA channels, complexity of the system, changes in usage, etc. There is a problem that it is difficult to secure the buffer amount.
本発明はこのような点に鑑みてなされたものであり、DMAバッファを最適なバッファ量に制御することを目的とする。 The present invention has been made in view of these points, and an object thereof is to control a DMA buffer to an optimum buffer amount.
本発明の一観点によれば、DMA転送時に変動する転送時変動要因を取得するチャネル関連情報取得部と、前記チャネル関連情報取得部が取得した前記転送時変動要因を基にDMAバッファのバッファ不足の有無を判断する判断論理実行部と、前記バッファ不足の有無に応じて前記DMAバッファのバッファ量の増加または減少を判断するバッファ増減判断部と、を有していることを特徴とするデータ転送管理装置が提供される。 According to an aspect of the present invention, a channel-related information acquisition unit that acquires a transfer-time variation factor that fluctuates during DMA transfer, and a DMA buffer shortage based on the transfer-time variation factor that is acquired by the channel-related information acquisition unit A data transfer comprising: a determination logic execution unit for determining whether or not there is a buffer; and a buffer increase / decrease determination unit for determining whether the buffer amount of the DMA buffer is increased or decreased depending on whether or not the buffer is insufficient A management device is provided.
開示のデータ転送管理装置、データ転送管理方法およびデータ転送管理プログラムによれば、DMAバッファの最適なバッファ量を動的に制御できるという利点がある。 According to the disclosed data transfer management device, data transfer management method, and data transfer management program, there is an advantage that the optimum buffer amount of the DMA buffer can be dynamically controlled.
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図1は本発明の実施の形態に係るデータ転送管理装置を備えたシステムの一例を示す図である。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram showing an example of a system provided with a data transfer management device according to an embodiment of the present invention.
このシステムは、CPU11と、DMAバッファ12と、DMA対象装置13と、ハードディスクドライブ(HDD)14とを備え、それぞれバス15に接続されている。DMAバッファ12は、メインメモリ16の一部が割り当てられている。バス15には、DMA対象装置13からDMAバッファ12へのデータ転送を制御するDMA制御装置17が接続されている。このDMA制御装置17には、データ転送管理装置18が接続されている。
This system includes a
以上のシステムにおいて、DMA制御装置17およびデータ転送管理装置18は、たとえば、デバイスドライバの形態でシステムに組み込まれる。DMA対象装置13としては、たとえば、放送ストリームデータを出力するようなシリアル転送インタフェース装置である、PCI−Expressデバイス等とすることができる。
In the above system, the
図2はデータ転送制御装置の機能を示す機能ブロック図、図3はデータ登録部における登録データの例を示す図であって、(A)は管理データの一例を示し、(B)はチャネルデータの一例を示している。 2 is a functional block diagram showing functions of the data transfer control device, FIG. 3 is a diagram showing an example of registration data in the data registration unit, (A) shows an example of management data, and (B) shows channel data. An example is shown.
データ転送管理装置18は、ストリームデータのDMA転送を制御するDMA制御装置17に接続された初期設定処理部20およびチャネル関連情報取得部21を有し、これらは、データ登録部22に接続されている。データ登録部22は、判断論理実行部23、バッファ増減判断部24およびチャネル優先度判断部25に接続されている。判断論理実行部23は、バッファ増減判断部24に接続されている。そして、バッファ増減判断部24およびチャネル優先度判断部25は、DMA制御装置17に接続されている。
The data
初期設定処理部20は、DMA制御装置17の起動時に初期設定処理を行い、そのデータをデータ登録部22へ登録する。チャネル関連情報取得部21は、DMA転送に関わるDMAチャネルの関連情報を取得してデータ登録部22へ登録する。
The initial
データ登録部22は、図3に示したように、初期設定処理時のシステム設定として管理データが設定され、かつ、各DMAチャネルのチャネルデータが設定される。管理データは、システム値として、全てのDMAチャネルで使用可能なバッファ最大値およびDMAチャネルのチャネル数が設定される。チャネルデータは、バッファ面数の最小値、優先度、第1管理対象要素、第2管理対象要素、第1転送時変動要因、第2転送時変動要因、第3転送時変動要因およびバッファ不足の判断論理がチャネル毎に登録される。第1管理対象要素としては、一面のDMAバッファサイズ、第2管理対象要素としては、DMAバッファ閾値が設定される。転送時変動要因は、DMA転送時に生じる変動要因であって、ストリームデータの転送経路等に応じて設定数が決められる。DMA対象装置13のストリームデータをハードディスクドライブ14に格納する場合、3つの転送時変動要因が設定される。すなわち、ここでは、ハードディスク格納時間の登録用に第1転送時変動要因が設定され、ストリーム転送レートの登録用に第2転送時変動要因が設定され、CPU処理時間の登録用に第3転送時変動要因が設定されている。
As shown in FIG. 3, in the data registration unit 22, management data is set as a system setting at the time of initial setting processing, and channel data of each DMA channel is set. In the management data, a buffer maximum value that can be used in all DMA channels and the number of channels of the DMA channel are set as system values. The channel data includes the minimum number of buffer planes, priority, first management target element, second management target element, first transfer variation factor, second transfer variation factor, third transfer variation factor, and buffer shortage. Decision logic is registered for each channel. A DMA buffer size of one side is set as the first management target element, and a DMA buffer threshold is set as the second management target element. The variation factor at the time of transfer is a variation factor that occurs at the time of DMA transfer, and the set number is determined according to the transfer path of the stream data. When the stream data of the
判断論理実行部23は、チャネル関連情報取得部21が取得したDMAチャネルの関連情報を基にバッファ不足の判断論理を用いてDMAバッファ12のバッファ不足の有無を判断する。バッファ増減判断部24は、判断論理実行部23の判断結果を基にDMAバッファ12のバッファ量の増減を判断する。チャネル優先度判断部25は、バッファ増減判断部24がDMAバッファ12のバッファ量を増加できないと判断した場合に、DMA制御装置17に対しチャネルデータに登録されたDMAチャネルの優先度を基にしてDMAチャネルの使用制限を制御する。
The determination
図4はデータ転送管理装置への初期設定処理のシーケンスを示す図である。
DMA制御装置17は、起動したとき、データ転送管理装置18に対して初期設定制御処理を行う。データ転送管理装置18では、まず、初期設定処理部20が、管理データとして、使用可能な全てのDMAバッファ12の最大値およびDMAチャネルの数を受け、データ登録部22に登録する(T1)。
FIG. 4 is a diagram showing a sequence of initial setting processing to the data transfer management device.
When the
次に、初期設定処理部20は、DMA制御装置17から第1チャネルの管理対象要素を受けてデータ登録部22に登録する(T2,T3)。ここでは、第1チャネルの第1管理対象要素として一面のDMAバッファサイズが登録され、第2管理対象要素としてDMAバッファ閾値が登録される。
Next, the initial
さらに、初期設定処理部20は、DMA制御装置17から第1チャネルの転送時変動要因の項目を受けてデータ登録部22に登録する(T4,T5,T6)。ここでは、第1チャネルの第1転送時変動要因としてハードディスク格納時間が登録され、第2転送時変動要因としてストリーム転送レートが登録され、第3転送時変動要因としてCPU処理時間が登録される。
Further, the initial
次に、初期設定処理部20は、登録される第1ないし第3転送時変動要因に対して、第1チャネルのバッファ不足の判断を実施するための判断論理をデータ登録部22に登録する(T7)。この判断論理は、DMA転送を行うシステムに応じた数の転送時変動要因を含めた式で登録できるので、適用環境に自由度があり、高い拡張性を有している。
Next, the initial
その後は、第2チャネル以降に対しても、第1チャネルと同様の初期設定処理を実施することになる。
ここで、バッファ不足の判断を実施するための判断論理の具体例について説明する。
Thereafter, the same initial setting process as that for the first channel is performed for the second and subsequent channels.
Here, a specific example of the determination logic for determining whether or not the buffer is insufficient will be described.
〔判断論理式の例その1〕
DMA対象装置13が出力したストリームデータをハードディスクドライブ14に格納する場合、第1転送時変動要因としてHDD格納時間が用いられる。第2転送時変動要因としてストリーム転送レートが用いられる。第3転送時変動要因としてCPU処理時間が用いられる。このような場合にチャネルデータに登録されている判断論理は、以下のような判断論理式になっている。
(第1転送時変動要因+第3転送時変動要因)×第2転送時変動要因
>第1管理対象要素×第2管理対象要素×1000(msec)・・・(1)
〔判断論理式の例その2〕
また、DMA対象装置13が出力したストリームデータをリアルタイムに視聴するような場合には、ハードディスクドライブ14を使用しない。このような場合、ハードディスク処理時間は必要ないので、第1転送時変動要因としてCPU処理時間が用いられ、第2転送時変動要因としてストリーム転送レートが用いられ、登録される判断論理式は、次式のようになる。
第1転送時変動要因×第2転送時変動要因
>第1管理対象要素×第2管理対象要素×1000(msec)・・・(2)
〔判断論理式の例その3〕
DMA対象装置13が出力したストリームデータを他ネットワーク装置等に配信するような場合には、転送時変動要因としてネットワーク配信時間が使用される。この場合、第1転送時変動要因としてCPU処理時間が用いられ、第2転送時変動要因としてネットワーク処理時間が用いられ、第3転送時変動要因としてストリーム転送レートが用いられ、次式のような判断論理式が登録される。
(第1転送時変動要因+第2転送時変動要因)×第3転送時変動要因
>第1管理対象要素×第2管理対象要素×1000(msec)・・・(3)
図5はデータ転送管理装置が実施するDMA制御の開始と停止の処理シーケンスを示す図である。
[Example of judgment formula 1]
When the stream data output from the
(Variation factor at the time of first transfer + Variation factor at the time of third transfer) × Variation factor at the time of second transfer> First element to be managed × Second element to be managed × 1000 (msec) (1)
[Example of decision formula 2]
Further, when the stream data output from the
First transfer variation factor × second transfer variation factor> first management target element × second management target element × 1000 (msec) (2)
[Example of decision formula 3]
When the stream data output from the
(Variation factor at the time of first transfer + Variation factor at the time of second transfer) × Variation factor at the time of third transfer> First management target element × Second management target element × 1000 (msec) (3)
FIG. 5 is a diagram showing a processing sequence for starting and stopping DMA control performed by the data transfer management device.
初期設定処理を終えたDMA制御装置17は、DMA制御を開始する場合、データ転送管理装置18に第1チャネルのDMA開始要求およびDMAバッファ読み出し要求を実施する(T11)。DMA開始要求を受け付けたデータ転送管理装置18は、読み出し要求が初回の場合、DMA対象装置13にDMA転送要求を開始する(T12)。これ以降、データ転送管理装置18は、DMA制御装置17からの読み出し要求とは非同期に、DMAデータ転送を繰り返し実施し、随時、DMA対象装置13が出力したストリームデータをDMAバッファ12に転送して蓄える。すなわち、データ転送管理装置18は、DMA対象装置13にDMA転送要求をし(T13)、DMA対象装置13からDMA転送完了通知を受ける(T14)。このとき、ストリームデータは、DMAバッファ12に転送されて蓄えられる(T15)。このDMAデータ転送は、繰り返し実施されて、DMAバッファ12の各面にストリームデータが順次蓄えられていく。DMAバッファ12に蓄えられたストリームデータは、先のDMAバッファ読み出し要求(T11)に応じて読み出され、読み出しが完了したときに(T16)、DMAバッファ12を空きとし、以降のDMAデータ転送で再利用する。これ以降の第1チャネルのDMA開始要求およびDMAバッファ読み出し要求(T17)および読み出し完了(T18)も繰り返し実行される。
When starting the DMA control, the
DMA制御を停止するときには、DMA制御装置17は、データ転送管理装置18にDMA停止要求を実施する(T19)。
図6はデータ転送管理装置へDMAバッファの読み出しの要求と転送時変動要因通知の処理シーケンスを示す図である。
When stopping the DMA control, the
FIG. 6 is a diagram showing a processing sequence of a DMA buffer read request to the data transfer management device and a transfer time variation factor notification.
DMA開始要求を実施したDMA制御装置17は、第1ないし第3転送時変動要因であるCPU処理時間、ハードディスク格納時間およびストリーム転送レートの収集を実施する。ここでは、CPU処理時間およびハードディスク格納時間については、DMA制御装置17が要求を実施したイベントのタイムスタンプを保持しておき、そのタイムスタンプを基に算出する。ストリーム転送レートは、DMA制御装置17がDMA対象装置13に問い合わせすることによって収集する。
The
CPU処理時間は、1回目のDMA読み出し要求(T21)から、次のDMA読み出し要求(T26)を実施するまでの時間を、ハードディスク格納時間を除き収集する。すなわち、DMA制御装置17は、データ転送管理装置18に対する第1チャネルのDMA読み出し要求(T21)のときのタイムスタンプAを保持する(S1)。次に、DMA制御装置17は、データ転送管理装置18から読み出し応答を受けた(T22)後、ハードディスクドライブ14に対して格納開始要求を出したとき(T23)のタイムスタンプBを保持し(S2)、ハードディスクドライブ14からの格納終了通知のとき(T24)のタイムスタンプCを保持する(S3)。その後、DMA制御装置17は、DMA対象装置13に対しストリーム転送レートの問い合わせをし(T25)、ストリームデータのストリーム転送レートを取得する。
CPU processing time collects the time from the first DMA read request (T21) to the execution of the next DMA read request (T26), excluding the hard disk storage time. That is, the
そして、データ転送管理装置18に対する第1チャネルの次のDMA読み出し要求のとき(T26)、DMA制御装置17は、タイムスタンプDを保持する(S4)。したがって、ハードディスク格納時間を除いたCPU処理時間は、次式によって算出される。
D−A−(C−B)・・・(4)
ハードディスク格納時間は、DMA制御装置17がハードディスクドライブ14に対して格納開始要求をしたときのタイムスタンプBと、ハードディスクドライブ14から格納終了通知を受けたときのタイムスタンプCとの差である。したがって、ハードディスク格納時間は、次式によって算出される。
C−B・・・(5)
ハードディスク格納時間、ストリーム転送レートおよびCPU処理時間は、DMA制御装置17がデータ転送管理装置18に次のDMA読み出し要求時(T26)に、データ転送管理装置18に第1ないし第3転送時変動要因として通知される。これらの第1ないし第3転送時変動要因は、2回目以降の読み出し要求時にも、同様にして収集され、データ転送管理装置18に通知される。
When the next DMA read request for the first channel is made to the data transfer management device 18 (T26), the
DA- (CB) (4)
The hard disk storage time is the difference between the time stamp B when the
CB (5)
The hard disk storage time, the stream transfer rate, and the CPU processing time are changed when the
データ転送管理装置18では、チャネル関連情報取得部21がハードディスク格納時間、ストリーム転送レートおよびCPU処理時間を、データ登録部22のチャネルデータの第1転送時変動要因、第2転送時変動要因および第3転送時変動要因の項目に格納する。第1ないし第3転送時変動要因を受けたデータ転送管理装置18はチャネルデータに登録されたバッファ不足の判断論理の式に従って判断論理を実行する(S5)。
In the data
図7はデータ転送管理装置における判断論理およびその後の処理の流れを示すフローチャートである。
データ転送管理装置18では、まず、判断論理実行部23がデータ登録部22のチャネルデータから第1および第2管理対象要素、第1ないし第3転送時変動要因およびバッファ不足の判断論理を読み出し、判断論理を実行する(S11)。ここでは、上記の判断論理の式(1)が使われる。
FIG. 7 is a flowchart showing the decision logic and the subsequent processing flow in the data transfer management device.
In the data
次に、判断論理の実行の結果、DMAバッファ12が不足かどうかを判断する(S12)。
ここで、データ登録部22に登録されていたチャネルデータが、たとえば、以下のようであったとする。
第1管理対象要素(一面のDMAバッファサイズ)=64K
第2管理対象要素(DMAバッファ閾値)=80%
第1転送時変動要因(HDD格納時間)=10msec
第2転送時変動要因(ストリーム転送レート)=20Mbps(=2560KByteps)
第3転送時変動要因(CPU処理時間)=15msec
この場合、判断論理実行部23は、上記の判断論理式(1)を使用してDMAバッファ不足判断論理を実行する。判断論理式(1)の左辺は、
左辺式=(10+15)×2560=64000・・・(6)
となり、判断論理式(1)の右辺は、
右辺式=64×80×1000=51200・・・(7)
となる。したがって、判断論理式(1)は、「左辺式>右辺式」が真となり、DMAバッファ不足判断論理が成立する。
Next, it is determined whether the
Here, it is assumed that the channel data registered in the data registration unit 22 is as follows, for example.
First management target element (one side DMA buffer size) = 64K
Second management target element (DMA buffer threshold) = 80%
First transfer variation factor (HDD storage time) = 10 msec
Second transfer variation factor (stream transfer rate) = 20 Mbps (= 2560 KBytes)
Fluctuation factor during the third transfer (CPU processing time) = 15 msec
In this case, the determination
Left side formula = (10 + 15) × 2560 = 64000 (6)
And the right side of the decision formula (1) is
Right side expression = 64 × 80 × 1000 = 51200 (7)
It becomes. Accordingly, in the determination logical expression (1), “left side expression> right side expression” is true, and the DMA buffer shortage determination logic is established.
DMAバッファ不足判断論理が成立した場合、DMAバッファ12が不足かどうかの判断では、DMAバッファ12のバッファ量が不足していると判断され、DMAバッファ12の一面の増加を試みる。すなわち、バッファ増減判断部24は、DMAバッファ12を一面増加した場合、全チャネルで使用可能なバッファサイズ以内かどうかを判断する(S13)。これは、データ登録部22に登録された管理データのDMAバッファ12の最大値と現在使用のDMAチャネルで使用されているDMAバッファ12のバッファサイズとを比較することにより判断される。
When the DMA buffer shortage determination logic is established, it is determined that the buffer amount of the
DMAバッファ12を一面増加しても、そのバッファサイズが全チャネルで使用可能なバッファサイズに達しないと判断された場合には、DMAバッファ12を一面増加する(S14)。しかし、DMAバッファ12を一面増加することにより全チャネルで使用可能なバッファサイズに達すると判断された場合、DMAチャネルの優先度を基にしてDMAチャネルの使用が制限される(S15)。すなわち、チャネル優先度判断部25は、データ登録部22に登録されている優先度から、DMA制御装置17に対し、優先度の低いチャネルを停止するとともに、新たな要求を受け付けなくするような制御を実施する。
If it is determined that the buffer size does not reach the buffer size that can be used in all channels even if the
DMAバッファ12が不足かどうかを判断するステップS12において、DMAバッファ12が不足していると判断された場合には、増加したDMAバッファ12があるかどうかが判断され(S16)、なければ、この処理は、そのまま終了される。
In step S12 for determining whether or not the
以前の読み出し要求時のバッファ不足判断論理で、DMAバッファ12を一面増加していた場合、バッファ増減判断部24は、DMAバッファ12を一面減少した場合に、チャネルの最小面以下にならないかどうかを判断する(S17)。DMAバッファ12を一面減少した場合、チャネルの最小面以下になるなら、そのままこの処理は、終了される。DMAバッファ12を一面減少してもチャネルの最小面以下にならなければ、DMAバッファ12を一面減少し(S18)、この処理は終了される。
When the
このように、データ転送管理装置18は、DMA読み出し要求毎に、バッファ不足の判断を実施し、バッファ面の増加と減少の制御を動的に実施している。これにより、DMAバッファ12のバッファ量を適切に確保することができ、DMA転送データの取りこぼしの可能性を低くしている。
As described above, the data
また、データ転送管理装置18は、使用可能な全てのDMAバッファ12の最大値、DMAチャネル数、チャネル毎の優先度を管理している。このため、バッファ増減の処理と併せ、使用可能なDMAバッファ12の使用率に応じて、優先度の低いチャネルを規制し、開始要求を受け付けない制御の実施を可能にしている。
The data
図8は本発明の実施の形態に用いられるコンピュータのハードウェアの一例を示す図である。
コンピュータ30は、図1のCPU11に対応するCPU31によって装置全体が制御されている。CPU31には、バス38を介してRAM(Random Access Memory)32と複数の周辺機器が接続されている。RAM32は、図1のメインメモリ16に対応する。
FIG. 8 is a diagram showing an example of computer hardware used in the embodiment of the present invention.
The computer 30 is entirely controlled by a
RAM32には、CPU31に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM32には、CPU31による処理に必要な各種データが格納される。
The
バス38に接続されている周辺機器としては、図1のハードディスクドライブ14に対応するハードディスクドライブ33、グラフィック処理装置34、入力インタフェース35、光学ドライブ装置36、および通信インタフェース37がある。
Peripheral devices connected to the
ハードディスクドライブ33は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ハードディスクドライブ33は、コンピュータ30の二次記憶装置として使用される。ハードディスクドライブ33には、OSのプログラム、アプリケーションプログラム、図1のDMA制御装置17の処理機能を有するプログラムおよびデータ転送管理装置18の処理機能を有するデータ転送管理プログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
The hard disk drive 33 magnetically writes and reads data to and from the built-in disk. The hard disk drive 33 is used as a secondary storage device of the computer 30. The hard disk drive 33 stores an OS program, an application program, a program having a processing function of the
グラフィック処理装置34には、モニタ39が接続されている。グラフィック処理装置34は、CPU31からの命令に従って、画像をモニタ39の画面に表示させる。モニタ39としては、液晶表示装置などがある。
A monitor 39 is connected to the
入力インタフェース35には、キーボード40とマウス41とが接続されている。入力インタフェース35は、キーボード40やマウス41から送られてくる信号をCPU31に送信する。なお、マウス41は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 40 and a mouse 41 are connected to the
光学ドライブ装置36は、レーザ光などを利用して、光ディスク42に記録されたデータの読み取りを行う。光ディスク42は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク42には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
The
通信インタフェース37は、ネットワーク43に接続されている。通信インタフェース37は、ネットワーク43を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
以上のようなハードウェアによって、本実施の形態の処理機能を実現することができる。
また、DMA制御装置17およびデータ転送管理装置18が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述させておくことができる。このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現できる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク42や半導体メモリなどがある。市場に流通させる場合には、可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送させたりすることもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置などにプログラムを格納しておき、メインメモリにロードして実行する。
The processing functions of the present embodiment can be realized by the hardware as described above.
The processing contents of the functions that the
11 CPU
12 DMAバッファ
13 DMA対象装置
14 ハードディスクドライブ
15 バス
16 メインメモリ
17 DMA制御装置
18 データ転送管理装置
20 初期設定処理部
21 チャネル関連情報取得部
22 データ登録部
23 判断論理実行部
24 バッファ増減判断部
25 チャネル優先度判断部
30 コンピュータ
31 CPU
32 RAM
33 ハードディスクドライブ
34 グラフィック処理装置
35 入力インタフェース
36 光学ドライブ装置
37 通信インタフェース
38 バス
39 モニタ
40 キーボード
41 マウス
42 光ディスク
43 ネットワーク
11 CPU
12
32 RAM
33
Claims (4)
前記チャネル関連情報取得部が取得した前記転送時変動要因を基にDMAバッファのバッファ不足の有無を判断する判断論理実行部と、
前記バッファ不足の有無に応じて前記DMAバッファのバッファ量の増加または減少を判断するバッファ増減判断部と、
を有していることを特徴とするデータ転送管理装置。 A channel-related information acquisition unit for acquiring a transfer-time fluctuation factor that fluctuates during DMA transfer;
A determination logic execution unit that determines whether there is a buffer shortage in the DMA buffer based on the transfer-time variation factor acquired by the channel-related information acquisition unit;
A buffer increase / decrease determination unit that determines an increase or decrease in the buffer amount of the DMA buffer according to the presence or absence of the buffer shortage;
A data transfer management device characterized by comprising:
を有していることを特徴とする請求項1記載のデータ転送管理装置。 A channel priority determination unit that restricts the use of the DMA channel based on the priority of the DMA channel when the buffer increase / decrease determination unit determines that the buffer amount of the DMA buffer cannot be increased;
The data transfer management device according to claim 1, further comprising:
前記転送時変動要因を基にDMAバッファのバッファ不足の有無を判断し、
前記バッファ不足の有無に応じて前記DMAバッファのバッファ量を増加または減少させる、
ことを特徴とするデータ転送管理方法。 Acquire the fluctuation factor at the time of transfer that fluctuates during DMA transfer,
Determining whether or not the DMA buffer is deficient based on the transfer-time variation factor;
Increase or decrease the buffer amount of the DMA buffer according to the presence or absence of the buffer shortage,
And a data transfer management method.
DMA転送時の変動要因である転送時変動要因を取得し、
前記転送時変動要因を基にDMAバッファのバッファ不足の有無を判断し、
前記バッファ不足の有無に応じて前記DMAバッファのバッファ量を増加または減少させる、
処理を実行させることを特徴とするデータ転送管理プログラム。 On the computer,
Acquires the fluctuation factor at the time of transfer, which is the fluctuation factor at the time of DMA transfer,
Determining whether or not the DMA buffer is deficient based on the transfer-time variation factor;
Increase or decrease the buffer amount of the DMA buffer according to the presence or absence of the buffer shortage,
A data transfer management program for executing a process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010138152A JP2012003527A (en) | 2010-06-17 | 2010-06-17 | Data transfer management device, data transfer management method and data transfer management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010138152A JP2012003527A (en) | 2010-06-17 | 2010-06-17 | Data transfer management device, data transfer management method and data transfer management program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012003527A true JP2012003527A (en) | 2012-01-05 |
Family
ID=45535427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010138152A Pending JP2012003527A (en) | 2010-06-17 | 2010-06-17 | Data transfer management device, data transfer management method and data transfer management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012003527A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11842071B2 (en) | 2019-12-05 | 2023-12-12 | Olympus Corporation | Data transfer device and data transfer method |
-
2010
- 2010-06-17 JP JP2010138152A patent/JP2012003527A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11842071B2 (en) | 2019-12-05 | 2023-12-12 | Olympus Corporation | Data transfer device and data transfer method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200089537A1 (en) | Apparatus and method for bandwidth allocation and quality of service management in a storage device shared by multiple tenants | |
KR102380670B1 (en) | Fine-grained bandwidth provisioning in a memory controller | |
KR101312281B1 (en) | Processor and memory control method | |
US9141568B2 (en) | Proportional memory operation throttling | |
US10453540B2 (en) | Method and apparatus to prioritize read response time in a power-limited storage device | |
JP5330264B2 (en) | Access control device | |
US20130074088A1 (en) | Scheduling and management of compute tasks with different execution priority levels | |
US8966130B2 (en) | Tag allocation for queued commands across multiple devices | |
US10303366B2 (en) | Data storage device that divides and processes a command and data processing system including the same | |
KR20120029366A (en) | Multi-ported memory controller with ports associated with traffic classes | |
US10795722B2 (en) | Compute task state encapsulation | |
US20090204775A1 (en) | Data copying method | |
US20210042157A1 (en) | Multi-core system and controlling operation of the same | |
US9436625B2 (en) | Approach for allocating virtual bank managers within a dynamic random access memory (DRAM) controller to physical banks within a DRAM | |
US7321945B2 (en) | Interrupt control device sending data to a processor at an optimized time | |
US20210096985A1 (en) | Memory controller and storage device including the same | |
US9483101B2 (en) | Multicore processor system and power control method | |
JP2015191604A (en) | Control device, control program, and control method | |
JP2012003527A (en) | Data transfer management device, data transfer management method and data transfer management program | |
US11709711B2 (en) | Allocation of memory access bandwidth to clients in an electronic device | |
US8819363B2 (en) | Data copying method | |
US20140379846A1 (en) | Technique for coordinating memory access requests from clients in a mobile device | |
US20100152866A1 (en) | Information processing apparatus, information processing method and computer-readable medium having an information processing program | |
US9058113B2 (en) | Storage region providing device, storage region providing method, and recording medium | |
US8966133B2 (en) | Determining a mapping mode for a DMA data transfer |