JP2017122972A - 情報処理装置、dma転送制御方法およびdma転送制御プログラム - Google Patents
情報処理装置、dma転送制御方法およびdma転送制御プログラム Download PDFInfo
- Publication number
- JP2017122972A JP2017122972A JP2016000537A JP2016000537A JP2017122972A JP 2017122972 A JP2017122972 A JP 2017122972A JP 2016000537 A JP2016000537 A JP 2016000537A JP 2016000537 A JP2016000537 A JP 2016000537A JP 2017122972 A JP2017122972 A JP 2017122972A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- dma
- information
- engine
- registered
- 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.)
- Granted
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
DMA(Direct Memory Access)転送処理に必要な第1の転送情報が格納された少なくとも1つの転送情報記憶手段と、
前記第1の転送情報に基づき前記DMA転送処理を実行する、少なくとも1つのDMAエンジンと、
転送情報制御手段と
を含み、
前記DMAエンジンは、前記DMA転送処理で読み出した転送データを一時的に保持する転送データバッファを備え、
前記転送情報制御手段は、
前記第1の転送情報を分割すべきか否かを、前記転送データの大きさと、前記DMA転送処理が完了するまでの転送時間と、前記転送データバッファの大きさとに基づいて判定し、
前記第1の転送情報を分割すべきと判定した場合は、前記第1の転送情報の分割数を、前記転送データの大きさと、前記転送時間と、前記転送データバッファの大きさと、前記DMA転送処理を実行していない未使用DMAエンジンの数と、前記DMAエンジンによってDMA転送処理が実行されていない前記第1の転送情報の数とに基づいて決定し、
前記決定した分割数で1つの前記第1の転送情報を分割して複数の第2の転送情報を生成し、
前記第2の転送情報の各々を前記DMAエンジンの各々に送付し、各々の前記DMAエンジンを起動する。
DMA(Direct Memory Access)エンジンによって実行されるDMA転送処理に必要な第1の転送情報を分割すべきか否かを、前記DMA転送処理で読み出す転送データの大きさと、前記DMA転送処理が完了するまでの転送時間と、前記転送データを一時的に保持する転送データバッファの大きさとに基づいて判定し、
前記第1の転送情報を分割すべきと判定した場合は、前記第1の転送情報の分割数を、前記転送データの大きさと、前記転送時間と、前記転送データバッファの大きさと、前記DMA転送処理を実行していない未使用DMAエンジンの数と、前記DMAエンジンによってDMA転送処理が実行されていない前記第1の転送情報の数とに基づいて決定し、
前記決定した分割数で1つの前記第1の転送情報を分割して複数の第2の転送情報を生成し、
前記第2の転送情報の各々を前記DMAエンジンの各々に送付し、各々の前記DMAエンジンを起動する。
DMA(Direct Memory Access)エンジンによって実行されるDMA転送処理に必要な第1の転送情報を分割すべきか否かを、前記DMA転送処理で読み出す転送データの大きさと、前記DMA転送処理が完了するまでの転送時間と、前記転送データを一時的に保持する転送データバッファの大きさとに基づいて判定する判定処理と、
前記第1の転送情報を分割すべきと判定した場合は、前記第1の転送情報の分割数を、前記転送データの大きさと、前記転送時間と、前記転送データバッファの大きさと、前記DMA転送処理を実行していない未使用DMAエンジンの数と、前記DMAエンジンによってDMA転送処理が実行されていない前記第1の転送情報の数とに基づいて決定する算出処理と、
前記決定した分割数で1つの前記第1の転送情報を分割して複数の第2の転送情報を生成する生成処理と、
前記第2の転送情報の各々を前記DMAエンジンの各々に送付し、各々の前記DMAエンジンを起動するDMAエンジン起動処理と
をコンピュータに実行させる。
図1は本発明の第1の実施形態を示すブロック図である。
データバッファの深さ < 転送元のレイテンシの値・・・(2)
例えば、データバッファの深さが4であり、転送元のメモリ40のレイテンシの値が8である場合、エンジン設定部203は、転送データブロック数が5以上の場合は分割すべきであると判定し、4以下の場合は分割すべきではないと判定する。
転送データブロック数/データバッファの深さ・・・(4)
また、上記式(3)を満たさない場合は、エンジン設定部203は、以下の式(5)の計算結果を切り上げて整数にした値を求め、その値を最大分割数とする。
例えば、データバッファの深さが4であり、転送元の入出力部50のレイテンシの値が20であり、転送データブロック数が12である場合、上記式(3)を満たすので、エンジン設定部203は、上記式(4)を適用し最大分割数の3を求める。
次に、他に未実行ディスクリプタがある場合は、エンジン設定部203は、以下の式(7)を満たし、且つ、最大分割数以下である分割数を求める。
そして、式(6)、および式(7)のどちらも満たさない場合は、エンジン設定部203は、求めた最大分割数を分割数とする。
次に、本発明の第1の実施形態の基本的な構成を含む、第2の実施形態について説明する。
2 情報処理装置
10 DMA転送部
20 トランザクション制御部
30 CPU
40 メモリ
50 入出力部
100 ディスクリプタ群
101 ディスクリプタ
110 転送情報記憶部
200 ディスクリプタ制御部
201 ディスクリプタ選択部
202 エンジン使用状況管理部
203 エンジン設定部
204 完了通知部
210 転送情報制御部
300 DMAエンジン
301 DMAリクエスト制御部
302 データバッファ
310 DMAエンジン
2021 エンジン使用状況テーブル
Claims (7)
- DMA(Direct Memory Access)転送処理に必要な第1の転送情報が格納された少なくとも1つの転送情報記憶手段と、
前記第1の転送情報に基づき前記DMA転送処理を実行する、少なくとも1つのDMAエンジンと、
転送情報制御手段と
を含み、
前記DMAエンジンは、前記DMA転送処理で読み出した転送データを一時的に保持する転送データバッファを備え、
前記転送情報制御手段は、
前記第1の転送情報を分割すべきか否かを、前記転送データの大きさと、前記DMA転送処理が完了するまでの転送時間と、前記転送データバッファの大きさとに基づいて判定し、
前記第1の転送情報を分割すべきと判定した場合は、前記第1の転送情報の分割数を、前記転送データの大きさと、前記転送時間と、前記転送データバッファの大きさと、前記DMA転送処理を実行していない未使用DMAエンジンの数と、前記DMAエンジンによってDMA転送処理が実行されていない前記第1の転送情報の数とに基づいて決定し、
前記決定した分割数で1つの前記第1の転送情報を分割して複数の第2の転送情報を生成し、
前記第2の転送情報の各々を前記DMAエンジンの各々に送付し、各々の前記DMAエンジンを起動する
情報処理装置。 - 前記転送情報記憶手段のそれぞれを識別する記憶手段識別情報と、前記DMAエンジンのそれぞれを識別するエンジン識別情報と、前記第1の転送情報が複数の前記第2の転送情報に分割されていることを表すフラグとが関連づけられて登録されているエンジン使用状況管理手段と、
前記第2の転送情報と同じ数の前記未使用DMAエンジンを選択し、前記エンジン使用状況管理手段に登録されている、前記選択した未使用DMAエンジンを示すエンジン識別情報に関連づけて、前記第2の転送情報の生成元である前記第1の転送情報が格納されている前記転送情報記憶手段を示す記憶手段識別情報と、複数の第2の転送情報に分割されていることを示す分割情報が格納された前記フラグとを登録し、前記第2の転送情報の各々を前記選択した未使用DMAエンジンの各々に送付し、各々のDMAエンジンを起動するエンジン設定手段と、
前記DMAエンジンのDMA転送処理が完了した場合、前記エンジン使用状況管理手段に登録されている、前記DMA転送処理が完了したDMAエンジンを示す第1のエンジン識別情報に関連づけられた前記フラグに前記分割情報が登録されている場合、その分割情報と、前記第1のエンジン識別情報に関連づけて登録されている記憶手段識別情報とを削除し、前記削除した記憶手段識別情報と同じ識別情報が、前記エンジン使用状況管理手段に登録されていない場合は、前記削除した記憶手段識別情報が示す転送情報記憶手段に登録されている前記第1の転送情報を削除する完了設定手段と
を含む請求項1に記載の情報処理装置。 - 前記未使用DMAエンジンは、前記エンジン使用状況管理手段に登録されているエンジン識別情報のうち、記憶手段識別情報が関連づけて登録されていないエンジン識別情報が示すDMAエンジンである
請求項2に記載の情報処理装置。 - DMA(Direct Memory Access)エンジンによって実行されるDMA転送処理に必要な第1の転送情報を分割すべきか否かを、前記DMA転送処理で読み出す転送データの大きさと、前記DMA転送処理が完了するまでの転送時間と、前記転送データを一時的に保持する転送データバッファの大きさとに基づいて判定し、
前記第1の転送情報を分割すべきと判定した場合は、前記第1の転送情報の分割数を、前記転送データの大きさと、前記転送時間と、前記転送データバッファの大きさと、前記DMA転送処理を実行していない未使用DMAエンジンの数と、前記DMAエンジンによってDMA転送処理が実行されていない前記第1の転送情報の数とに基づいて決定し、
前記決定した分割数で1つの前記第1の転送情報を分割して複数の第2の転送情報を生成し、
前記第2の転送情報の各々を前記DMAエンジンの各々に送付し、各々の前記DMAエンジンを起動する
DMA転送制御方法。 - 前記第2の転送情報と同じ数の前記未使用DMAエンジンを選択し、
前記選択した未使用DMAエンジンを示すエンジン識別情報と、前記第2の転送情報の生成元である前記第1の転送情報が格納されている転送情報記憶手段を示す記憶手段識別情報と、複数の第2の転送情報に分割されていることを示す分割情報が格納されたフラグとを関連づけてエンジン使用状況管理手段に登録し、
前記第2の転送情報の各々を前記選択した未使用DMAエンジンの各々に送付し、各々のDMAエンジンを起動し、
前記DMAエンジンのDMA転送処理が完了した場合、前記エンジン使用状況管理手段に登録されている、前記DMA転送処理が完了したDMAエンジンを示す第1のエンジン識別情報に関連づけられた前記フラグに前記分割情報が登録されている場合、その分割情報と、前記第1のエンジン識別情報に関連づけて登録されている記憶手段識別情報とを削除し、
前記削除した記憶手段識別情報と同じ識別情報が、前記エンジン使用状況管理手段に登録されていない場合は、前記削除した記憶手段識別情報が示す転送情報記憶手段に登録されている前記第1の転送情報を削除する
請求項4に記載のDMA転送制御方法。 - DMA(Direct Memory Access)エンジンによって実行されるDMA転送処理に必要な第1の転送情報を分割すべきか否かを、前記DMA転送処理で読み出す転送データの大きさと、前記DMA転送処理が完了するまでの転送時間と、前記転送データを一時的に保持する転送データバッファの大きさとに基づいて判定する判定処理と、
前記第1の転送情報を分割すべきと判定した場合は、前記第1の転送情報の分割数を、前記転送データの大きさと、前記転送時間と、前記転送データバッファの大きさと、前記DMA転送処理を実行していない未使用DMAエンジンの数と、前記DMAエンジンによってDMA転送処理が実行されていない前記第1の転送情報の数とに基づいて決定する算出処理と、
前記決定した分割数で1つの前記第1の転送情報を分割して複数の第2の転送情報を生成する生成処理と、
前記第2の転送情報の各々を前記DMAエンジンの各々に送付し、各々の前記DMAエンジンを起動するDMAエンジン起動処理と
をコンピュータに実行させるDMA転送制御プログラム。 - 前記第2の転送情報と同じ数の前記未使用DMAエンジンを選択し、前記選択した未使用DMAエンジンを示すエンジン識別情報と、前記第2の転送情報の生成元である前記第1の転送情報が格納されている転送情報記憶手段を示す記憶手段識別情報と、複数の第2の転送情報に分割されていることを示す分割情報が格納されたフラグとを関連づけてエンジン使用状況管理手段に登録する使用状況登録処理と、
前記第2の転送情報の各々を、前記選択した未使用DMAエンジンの各々に送付し、各々のDMAエンジンを起動するエンジン制御処理と、
前記DMAエンジンのDMA転送処理が完了した場合、前記エンジン使用状況管理手段に登録されている、前記DMA転送処理が完了したDMAエンジンを示す第1のエンジン識別情報に関連づけられた前記フラグに前記分割情報が登録されている場合、その分割情報と、前記第1のエンジン識別情報に関連づけて登録されている記憶手段識別情報とを削除する使用状況削除処理と、
前記削除した記憶手段識別情報と同じ識別情報が、前記エンジン使用状況管理手段に登録されていない場合は、前記削除した記憶手段識別情報が示す転送情報記憶手段に登録されている前記第1の転送情報を削除する転送情報削除処理と
をコンピュータに実行させる請求項6に記載のDMA転送制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016000537A JP6698353B2 (ja) | 2016-01-05 | 2016-01-05 | 情報処理装置、dma転送制御方法およびdma転送制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016000537A JP6698353B2 (ja) | 2016-01-05 | 2016-01-05 | 情報処理装置、dma転送制御方法およびdma転送制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017122972A true JP2017122972A (ja) | 2017-07-13 |
JP6698353B2 JP6698353B2 (ja) | 2020-05-27 |
Family
ID=59306562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016000537A Active JP6698353B2 (ja) | 2016-01-05 | 2016-01-05 | 情報処理装置、dma転送制御方法およびdma転送制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6698353B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004079583A1 (ja) * | 2003-03-05 | 2004-09-16 | Fujitsu Limited | データ転送制御装置およびdmaデータ転送制御方法 |
JP2006195823A (ja) * | 2005-01-14 | 2006-07-27 | Fujitsu Ltd | Dma装置 |
JP2009009186A (ja) * | 2007-06-26 | 2009-01-15 | Nec Electronics Corp | Dma転送制御装置及びdma転送方法 |
JP2009075753A (ja) * | 2007-09-19 | 2009-04-09 | Fujitsu Ltd | データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
JP2010198138A (ja) * | 2009-02-23 | 2010-09-09 | Ricoh Co Ltd | データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体 |
-
2016
- 2016-01-05 JP JP2016000537A patent/JP6698353B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004079583A1 (ja) * | 2003-03-05 | 2004-09-16 | Fujitsu Limited | データ転送制御装置およびdmaデータ転送制御方法 |
JP2006195823A (ja) * | 2005-01-14 | 2006-07-27 | Fujitsu Ltd | Dma装置 |
JP2009009186A (ja) * | 2007-06-26 | 2009-01-15 | Nec Electronics Corp | Dma転送制御装置及びdma転送方法 |
JP2009075753A (ja) * | 2007-09-19 | 2009-04-09 | Fujitsu Ltd | データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
JP2010198138A (ja) * | 2009-02-23 | 2010-09-09 | Ricoh Co Ltd | データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP6698353B2 (ja) | 2020-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8554968B1 (en) | Interrupt technique for a nonvolatile memory controller | |
CN100349150C (zh) | 通过直接存储器访问控制器传输数据的系统及方法 | |
CN107430628B (zh) | 具有直接数据传输机制的加速框架 | |
US11360705B2 (en) | Method and device for queuing and executing operation commands on a hard disk | |
US20070162637A1 (en) | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions | |
US10331499B2 (en) | Method, apparatus, and chip for implementing mutually-exclusive operation of multiple threads | |
US11308171B2 (en) | Apparatus and method for searching linked lists | |
CN111190854B (zh) | 通信数据处理方法、装置、设备、系统和存储介质 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
US10049035B1 (en) | Stream memory management unit (SMMU) | |
US10592148B2 (en) | Information processing system, storage control apparatus, storage control method, and storage control program for evaluating access performance to a storage medium | |
JP2014120097A (ja) | 情報処理装置、プログラム、及び、情報処理方法 | |
US20150186401A1 (en) | Using file element accesses to select file elements in a file system to defragment | |
WO2019223383A1 (zh) | 直接内存存取方法、装置、专用计算芯片及异构计算系统 | |
US20120260058A1 (en) | Memory management apparatus, memory management method, and control program | |
WO2017054714A1 (zh) | 磁盘阵列的读方法及装置 | |
JP6698353B2 (ja) | 情報処理装置、dma転送制御方法およびdma転送制御プログラム | |
JP6189266B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP2005258509A (ja) | ストレージ装置 | |
CN114442925A (zh) | 非易失性存储硬盘多队列提交调度方法、装置及存储介质 | |
CN112416826A (zh) | 专用计算芯片、dma数据传输系统及方法 | |
CN110647493B (zh) | 一种数据传输方法、处理器和pcie系统 | |
CN113157628A (zh) | 存储系统、数据处理方法、装置、存储系统及电子设备 | |
US20140207980A1 (en) | Interface control apparatus, data storage apparatus and method for interface control | |
US20110191638A1 (en) | Parallel computer system and method for controlling parallel computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190917 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6698353 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |