JP7363344B2 - メモリ制御装置、および制御方法 - Google Patents
メモリ制御装置、および制御方法 Download PDFInfo
- Publication number
- JP7363344B2 JP7363344B2 JP2019188407A JP2019188407A JP7363344B2 JP 7363344 B2 JP7363344 B2 JP 7363344B2 JP 2019188407 A JP2019188407 A JP 2019188407A JP 2019188407 A JP2019188407 A JP 2019188407A JP 7363344 B2 JP7363344 B2 JP 7363344B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- reception
- identifier
- descriptor
- memory
- 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.)
- Active
Links
Images
Landscapes
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
§1.適用例
図1は、本実施形態に係る第1デバイス100に含まれる各部の、動作概要を示す図である。第1第1デバイス100は図示の通り、NIC(Network Interface Card)1と、メモリ2と、CPU3とを含む。なお、図1ではディスクリプタ(記述子)のことを「Desc」と記載する。以降の図においても、「Desc」はディスクリプタを意味することとする。
NIC1は識別子に応じて、メモリ2から読み込む受信ディスクリプタを選定する(3)。NIC1は、選定した受信ディスクリプタを、メモリ2から読み込む(4)。
図2は、本実施形態に係る第1デバイス100の要部構成の一例を示すブロック図である。第1デバイス100は、NIC1と、メモリ2と、CPU3とを含む。NIC1と、メモリ2と、CPU3とはそれぞれバスで接続されている。なお、バスには前述の装置以外に、入力装置、表示装置、ROM(Read Only Memory)、および音声出力装置等が接続されていてもよい。
CPU3は、前述の通り、第1デバイス100における演算装置および制御装置であり、第1デバイス100を統括的に制御する。CPU3は、各種アプリを動作させる。CPU3は、第1デバイス100におけるデータ通信を行う前に、予め受信ディスクリプタを作成(規定)し、作成した受信ディスクリプタをメモリ2のディスクリプタ領域21に書き込んでおく。
メモリ2は、各種データを記憶する記憶装置である。メモリ2は、ディスクリプタ領域21と、ライトバック領域22と、受信データ領域23との3つの記憶領域に分かれている。なお、本実施形態においてライトバック領域22は必須ではない。
NIC1は、他のデバイスから受信したデータを、メモリ2にDMA転送するための装置である。NIC1は、受信データ格納バッファ18と、受信データ処理部11とを含む。
ディスクリプタ制御部14は、受信ディスクリプタのライトバック処理を実行してもよい。以降、受信ディスクリプタのライトバックのことを、単に「ライトバック」とも称する。本実施形態における「ライトバック」とは、受信ディスクリプタに情報を付加(すなわち、受信ディスクリプタを上書き)して、メモリ2のライトバック領域22に書き込むことを意味する。ここで言う「情報」とは、例えば、その受信ディスクリプタが指定するアドレスに書き込みした受信データのサイズ、および、受信データの書き込み完了を示す終了判定フラグ、の少なくとも一方を示す。
図4は、本実施形態に係るNIC1の処理の流れの一例を示すフローチャートである。NIC1のデータ受信部17は、他のデバイスから送信されたデータを受信する(S10)。データ受信部17は、受信データを受信データ格納バッファ18に格納する(S12)。受信データが格納されると、アドレス計算部16は、該受信データから識別子を取得して、解析する(S14)。例えば、アドレス計算部16は、識別子から、受信データの種別、および、受信データを使用するアプリを特定する。受信データの種別がサイクリックデータでない場合(S16でYES)、受信データ処理部11は、S18以降の処理を行わず、通常の受信処理を行う(S28)。通常の受信処理とは、例えば、DMA方式ではなく、通常のようにCPU3を経由してメモリ2にデータを書き込む処理であってよい。
メモリ2のディスクリプタ領域21には、1つの識別子に対応する複数の受信ディスクリプタが記憶されていてもよい。また、複数の受信ディスクリプタは、1つの識別子のアプリ情報が示すアプリがアクセス可能な記憶領域内の、それぞれ異なるアドレスを指定していてもよい。そして、ディスクリプタ制御部14は、複数の受信ディスクリプタを所定の順番で読み出してもよい。なお、アプリと識別子とは、1対1に対応していてもよいし、1対多で対応していてもよい。すなわち、1つのアプリに対し割り当てられる識別子は1つであってもよいし、複数であってもよい。
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
図7は、本実施形態に係るメモリ管理システム500の要部構成の一例を示すブロック図である。メモリ管理システム500は、FPGA(Field-Programmable gate array)4と、送信側CPU7と、受信側CPU8と、送信側メモリ(第2メモリ)5と、受信側メモリ6と、を含む。
FPGA4と、送信側CPU7と、送信側メモリ5はバスで接続されている。また、FPGA4と、受信側CPU8と、受信側メモリ6とは、バスで接続されている。バスの規格は特に限定しないが、例えばPCIe(Peripheral Component Interconnect Express)の規格に準拠したバスを採用することができる。それぞれのバスには、入力装置、表示装置、ROM、および音声出力装置等が接続されていてもよい。
受信側CPU8は、実施形態1に示すCPU3と同様の構成を有する。受信側メモリ6は、実施形態1に示すメモリ2と同様の構成を有する。
送信側CPU7は、第2デバイスを統括的に制御する。送信側CPU7は、第2デバイスにおける各種アプリを動作させる。送信側CPU7は、第2デバイスにおけるデータ通信を行う前に、予め送信ディスクリプタを作成(規定)し、作成した送信ディスクリプタを送信側メモリ5の送信ディスクリプタ領域51に書き込んでおく。ここで、「送信ディスクリプタ」とは、送信処理部41が送信するデータの、送信側メモリ5での格納先アドレスを示す情報である。
送信処理部41は、第2デバイスから第1デバイスへのデータの送信を制御する。送信処理部41は、DMA制御部411と、送信ディスクリプタ格納バッファ412と、送信ディスクリプタ制御部(第2読出部)413と、送信データ制御部414と、送信データ格納バッファ415とを含む。
受信処理部42は、第1デバイスが受信したデータのメモリへの格納を制御する。受信処理部42は、DMA制御部421と、ディスクリプタ格納バッファ422と、ディスクリプタ制御部424と、アドレス計算部423と、受信データ制御部425と、を含む。
図8は、本実施形態に係るFPGA4の送信処理部41と受信処理部42の間のデータの流れを示すシーケンス図である。なお、図8のS70~S82に示す処理は、図4のS16~S28に示した処理と同様であるため、繰り返し説明しない。
NIC1およびFPGA4の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
2 メモリ
5 送信側メモリ(第2メモリ)
6 受信側メモリ(メモリ)
3 CPU
4 FPGA(メモリ制御装置)
7 送信側CPU
8 受信側CPU
11 受信データ処理部
12、411、421 DMA制御部
13、425 受信データ制御部(データ書込部)
14、424 ディスクリプタ制御部(読出部)
15、422 ディスクリプタ格納バッファ
16、423 アドレス計算部(識別子取得部)
17 データ受信部
18 受信データ格納バッファ
21 ディスクリプタ領域
22 ライトバック領域
23 受信データ領域
41 送信処理部
42 受信処理部
51 送信ディスクリプタ領域
52 送信データ領域
100 第1デバイス
412 送信ディスクリプタ格納バッファ
413 送信ディスクリプタ制御部(第2読出部)
414 送信データ制御部
415 送信データ格納バッファ
500 メモリ管理システム
Claims (5)
- 第1デバイスのメモリにDMA(Direct Memory Access)方式でアクセスしてデータを読み書きするメモリ制御装置であって、
前記第1デバイス以外の第2デバイスから、1つの通信プロトコルにて複数のデータを受信するデータ受信部と、
前記複数のデータそれぞれに対応する受信ディスクリプタを指定する識別子を取得する識別子取得部と、
前記メモリに記憶された複数の受信ディスクリプタから、それぞれの前記識別子に対応する受信ディスクリプタを読み出す読出部と、
前記複数のデータのそれぞれを、前記メモリの、前記読出部によって読み出された前記受信ディスクリプタそれぞれにより指定されるアドレスに書き込むデータ書込部と、を備え、
前記アドレスは、前記第1デバイスにおいて実行される1つ以上のアプリケーションがアクセス可能な記憶領域を示し、
前記第1デバイスは複数のアプリケーションを実行し、
前記メモリには、アプリケーション毎にアクセス可能な記憶領域が規定されており、
前記識別子は、前記データを使用するアプリケーションを規定するアプリケーション情報を含んでおり、
前記読出部は、前記アプリケーション情報が規定するアプリケーションがアクセス可能な記憶領域のアドレスを指定する受信ディスクリプタを、前記識別子に対応する受信ディスクリプタとして読み出し、
前記メモリには、1つの識別子に対応する複数の受信ディスクリプタが記憶されており、
前記1つの識別子に対応する前記複数の受信ディスクリプタは、前記1つの識別子のアプリケーション情報が示すアプリケーションがアクセス可能な記憶領域内の、それぞれ異なるアドレスを指定しており、
前記読出部は、前記1つの識別子に対応する前記複数の受信ディスクリプタを、所定の順番で読み出す、メモリ制御装置。 - 前記識別子取得部は、前記データ受信部が受信した前記データに含まれている前記識別子を取得する、請求項1に記載のメモリ制御装置。
- 前記識別子は、該識別子に対応する前記データを示す情報を含んでおり、
前記識別子取得部は、前記識別子を前記データと別個に取得する、請求項1に記載のメモリ制御装置。 - 前記第2デバイスの第2メモリに記憶された送信ディスクリプタを読み出す第2読出部を備え、
前記データ受信部は、前記第2メモリの、前記第2読出部によって読み出された前記送信ディスクリプタによって指定されるアドレスから読み出されたデータを前記データとして取得し、
前記識別子は、前記第2デバイスから前記第1デバイスにデータを送信する際の、前記送信ディスクリプタに応じて規定されている、請求項3に記載のメモリ制御装置。 - 第1デバイスのメモリにDMA(Direct Memory Access)方式でアクセスしてデータを読み書きするメモリ制御装置を制御するための制御方法であって、
前記第1デバイス以外の第2デバイスから、1つの通信プロトコルにて複数のデータを受信するデータ受信ステップと、
前記複数のデータそれぞれに対応する受信ディスクリプタを指定する識別子を取得する識別子取得ステップと、
前記メモリに記憶された複数の受信ディスクリプタから、それぞれの前記識別子に対応する受信ディスクリプタを読み出す読出ステップと、
前記複数のデータのそれぞれを、前記メモリの、前記読出ステップにおいて読み出された前記受信ディスクリプタそれぞれにより指定されるアドレスに書き込むデータ書込ステップと、を含み、
前記アドレスは、前記第1デバイスにおいて実行される1つ以上のアプリケーションがアクセス可能な記憶領域を示し、
前記第1デバイスは複数のアプリケーションを実行し、
前記メモリには、アプリケーション毎にアクセス可能な記憶領域が規定されており、
前記識別子は、前記データを使用するアプリケーションを規定するアプリケーション情報を含んでおり、
前記読出ステップにおいて、前記アプリケーション情報が規定するアプリケーションがアクセス可能な記憶領域のアドレスを指定する受信ディスクリプタを、前記識別子に対応する受信ディスクリプタとして読み出し、
前記メモリには、1つの識別子に対応する複数の受信ディスクリプタが記憶されており、
前記1つの識別子に対応する前記複数の受信ディスクリプタは、前記1つの識別子のアプリケーション情報が示すアプリケーションがアクセス可能な記憶領域内の、それぞれ異なるアドレスを指定しており、
前記読出ステップにおいて、前記1つの識別子に対応する前記複数の受信ディスクリプタを、所定の順番で読み出す、制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019188407A JP7363344B2 (ja) | 2019-10-15 | 2019-10-15 | メモリ制御装置、および制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019188407A JP7363344B2 (ja) | 2019-10-15 | 2019-10-15 | メモリ制御装置、および制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021064166A JP2021064166A (ja) | 2021-04-22 |
JP7363344B2 true JP7363344B2 (ja) | 2023-10-18 |
Family
ID=75486521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019188407A Active JP7363344B2 (ja) | 2019-10-15 | 2019-10-15 | メモリ制御装置、および制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7363344B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285300A (ja) | 2005-03-31 | 2006-10-19 | Toshiba Corp | 信号転送装置及び信号転送方法 |
WO2007129482A1 (ja) | 2006-04-06 | 2007-11-15 | Sony Corporation | ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法 |
JP2015207288A (ja) | 2014-04-17 | 2015-11-19 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | インタフェースユニット |
-
2019
- 2019-10-15 JP JP2019188407A patent/JP7363344B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006285300A (ja) | 2005-03-31 | 2006-10-19 | Toshiba Corp | 信号転送装置及び信号転送方法 |
WO2007129482A1 (ja) | 2006-04-06 | 2007-11-15 | Sony Corporation | ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法 |
JP2015207288A (ja) | 2014-04-17 | 2015-11-19 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | インタフェースユニット |
Also Published As
Publication number | Publication date |
---|---|
JP2021064166A (ja) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114443529B (zh) | 内存直接访问架构、***、方法、电子设备和介质 | |
EP3335124B1 (en) | Register files for i/o packet compression | |
JP6880402B2 (ja) | メモリアクセス制御装置及びその制御方法 | |
EP3470971B1 (en) | Method, apparatus, and system for accessing memory device | |
US7783817B2 (en) | Method and apparatus for conditional broadcast of barrier operations | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
US10585822B2 (en) | Operation method of host system including storage device and operation method of storage device controller | |
JP2021515318A (ja) | NVMeベースのデータ読み取り方法、装置及びシステム | |
TWI734220B (zh) | 主機輸出入命令的執行裝置及方法及電腦程式產品 | |
US7484030B2 (en) | Storage controller and methods for using the same | |
JP2003296267A (ja) | バスシステム及びバスシステムを含む情報処理システム | |
US7409486B2 (en) | Storage system, and storage control method | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
JP7363344B2 (ja) | メモリ制御装置、および制御方法 | |
CN116483259A (zh) | 一种数据处理方法以及相关装置 | |
US7451254B2 (en) | System and method for adaptive buffer allocation in a memory device interface | |
KR101260313B1 (ko) | 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법 | |
WO2017005009A1 (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
WO2021035609A1 (zh) | 一种交互方法、设备、***及可读存储介质 | |
JP2006119724A (ja) | Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム | |
CN110489359B (zh) | 一种数据传输控制方法及*** | |
US10459842B1 (en) | Data storage system with configurable prefetch buffers | |
US10452579B2 (en) | Managing input/output core processing via two different bus protocols using remote direct memory access (RDMA) off-loading processing system | |
CN118363901A (zh) | PCIe设备、电子组件及电子设备 | |
CN117435535A (zh) | 一种存储***、主控芯片、数据存储方法及数据读取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220817 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230825 |
|
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: 20230905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7363344 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |