JP6614948B2 - 演算装置、演算方法、通信装置、及びプログラム - Google Patents
演算装置、演算方法、通信装置、及びプログラム Download PDFInfo
- Publication number
- JP6614948B2 JP6614948B2 JP2015236001A JP2015236001A JP6614948B2 JP 6614948 B2 JP6614948 B2 JP 6614948B2 JP 2015236001 A JP2015236001 A JP 2015236001A JP 2015236001 A JP2015236001 A JP 2015236001A JP 6614948 B2 JP6614948 B2 JP 6614948B2
- Authority
- JP
- Japan
- Prior art keywords
- checksum
- calculation
- data
- result
- tcp
- 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
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
パケットを構成するデータを入力する入力手段と、
前記入力手段に入力されたデータに含まれるチェックサム演算を行うべき複数の演算領域を指定する設定情報を保持する保持手段と、
前記設定情報により指定された複数の演算領域を占めるデータの各々に対して、演算を行う演算手段と、
前記演算手段による前記複数の演算領域を占めるデータの各々に対する演算結果と前記設定情報の一部のデータに基づいて、前記パケットのチェックサム演算の結果を取得する取得手段と、
前記チェックサム演算の結果を出力する出力手段と
を備え、
前記設定情報の一部のデータとして、前記設定情報には前記入力手段に入力されるデータの長さの情報が含まれ、
前記取得手段は、前記複数の演算領域を占めるデータの各々に対する演算結果と前記長さの情報とを加算した結果をビット反転したものを、前記チェックサム演算の結果として取得する。
(通信装置の構成)
以下、本発明の一実施形態(実施形態1)を説明する。図1は、本実施形態に係るチェックサム演算装置100/160を具備した通信装置001の構成を示すブロック図である。図1のように、通信装置001は、インターフェース部143を介してネットワーク150との間でパケットデータを送受信する。本実施形態では、IPヘッダ、TCPヘッダ、及び、TCPペイロードを連結したデータであるTCP/IPパケットを対象データとしてチェックサム演算を行う構成例を説明する。
(1)入力A113と入力B114を加算する。
(2)加算結果115の17ビット目が‘1’になった場合は、加算結果の17ビット目を‘0’にし、加算結果に‘1’を足す。
バッファ部107は、リード転送装置130からデータを受信した際や、チェックサム制御部104からのデータをネットワークへ送信する際に、一時的にデータを保持するものである。チェックサム制御部104からのバッファ制御信号113により、チェックサム出力バス118と、データ入力バス103とのどちらのバスからのデータをバッファリングするのかを特定する制御情報が送信される。また、バッファの状態(例えば、Full/Empty)情報がチェックサム制御部104へ送られる。
(1)記憶値とデータ入力バスの所定データ(16ビット)を加算し、記憶値を上書きする。
(2)上記上書きされた記憶値の17ビット目が‘1’になった場合は、17ビット目を‘0’にし、記憶値に‘1’を足したものを新たな記憶値とする。
これは、TCPヘッダのチェックサム演算においては、演算対象のデータを所定のビット長(16ビット)のブロックに分割し、各ブロックを加算する演算をすることに対応したものである。上記記憶値が、演算結果信号112により、チェックサム制御部104へ送られる。また、チェックサム制御部104から、記憶値の初期化要求や、演算データ範囲等の制御情報が各演算値について送信される。制御情報の送信には、演算制御信号111が使用される。以上がチェックサム演算装置100の機能概要である。
次に、通信装置001のデータ送信時における処理について、図2を用いて説明する。図2は、通信装置001内部の各モジュール間におけるデータ/制御情報の送受信におけるフローを表している。
・F_START401…CPU140は、本フィールド以外の全てのフィールドの設定が終了した際に、本フィールドに開始トリガーとしてあらかじめ定められた値をセットする。チェックサム演算装置100は、そのセットにおけるライト(書込み)を検知し、演算を開始する。
・F_PKT_LEN402…データ入力バスから入力されるパケット長を指定するフィールド
・F_A1_HEAD403…演算領域1の開始位置をセットするフィールド。
・F_A1_LEN404…演算領域1の範囲をセットするフィールド。
・F_A2_HEAD405…演算領域2の開始位置をセットするフィールド。
・F_A2_LEN406…演算領域2の範囲をセットするフィールド。
・F_A3_HEAD407…演算領域3の開始位置をセットするフィールド。
・F_A3_LEN408…演算領域3の範囲をセットするフィールド。
・F_CHECKSUM409…TCPフィールドのCHACKSUMフィールドの位置を指定するフィールド。
CPU140は、チェックサム演算装置100に対し上記の各フィールド401〜408のセットを行い、その後、開始をセットする(S203)。これは、F_START401に所定の値をライトすることにより行われる。開始をセットされたチェックサム演算装置100は、データ入力バス103からのデータ待ち続ける状態になる(S204)。
実施形態1では、演算領域毎に独立した演算器1〜3(108、109、110)を用いる構成について説明したが、演算器1つでも機能は実現できる。この場合、ゲート規模を削減することができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (8)
- パケットを構成するデータを入力する入力手段と、
前記入力手段に入力されたデータに含まれるチェックサム演算を行うべき複数の演算領域を指定する設定情報を保持する保持手段と、
前記設定情報により指定された複数の演算領域を占めるデータの各々に対して、演算を行う演算手段と、
前記演算手段による前記複数の演算領域を占めるデータの各々に対する演算結果と前記設定情報の一部のデータに基づいて、前記パケットのチェックサム演算の結果を取得する取得手段と、
前記チェックサム演算の結果を出力する出力手段と
を備え、
前記設定情報の一部のデータとして、前記設定情報には前記入力手段に入力されるデータの長さの情報が含まれ、
前記取得手段は、前記複数の演算領域を占めるデータの各々に対する演算結果と前記長さの情報とを加算した結果をビット反転したものを、前記チェックサム演算の結果として取得することを特徴とする演算装置。 - 前記演算手段は、前記入力手段に入力されたデータを所定のビット長のブロックに分割し、各ブロックを加算する演算を行うことを特徴とする請求項1に記載の演算装置。
- 前記入力手段に入力されたデータは、IPヘッダ、及び、チェックサム領域が0に設定されたTCPヘッダ、及び、TCPペイロードを連結したデータであり、
前記設定情報は、前記IPヘッダに含まれるプロトコル番号を示す領域と、前記IPヘッダに含まれる送信元IPアドレス及び宛先IPアドレスを示す領域と、前記TCPヘッダ及び前記TCPペイロードを連結した領域と、を前記複数の演算領域として設定し、
前記データの長さは、前記TCPヘッダ及び前記TCPペイロードを連結した領域の長さを示し、
前記取得手段は、前記チェックサム演算の結果としてTCPチェックサムを取得する
ことを特徴とする請求項2に記載の演算装置。 - 前記出力手段は、IPヘッダ、前記取得手段により取得されたTCPチェックサムが設定されたTCPヘッダ、及び、TCPペイロードを出力することを特徴とする請求項3に記載の演算装置。
- 前記演算手段は、前記複数の演算領域に対応する複数の演算器を備えることを特徴とする請求項1から4のいずれか1項に記載の演算装置。
- 請求項1から5のいずれか1項に記載の演算装置を備えることを特徴とする通信装置。
- 演算装置の演算方法であって、
パケットを構成するデータを入力する入力工程と、
入力されたデータに含まれるチェックサム演算を行うべき複数の演算領域を指定する設定情報を保持する保持工程と、
前記設定情報により指定された複数の演算領域を占めるデータの各々に対して、演算を行う演算工程と、
前記複数の演算領域を占めるデータの各々に対する演算結果と前記設定情報の一部のデータに基づいて、前記パケットのチェックサム演算の結果を取得する取得工程と、
前記チェックサム演算の結果を出力する出力工程と
を備え、
前記設定情報の一部のデータとして、前記設定情報には前記入力工程において入力されるデータの長さの情報が含まれ、
前記取得工程では、前記複数の演算領域を占めるデータの各々に対する演算結果と前記長さの情報とを加算した結果をビット反転したものを、前記チェックサム演算の結果として取得することを特徴とする演算方法。 - コンピュータに、請求項7に記載の各工程を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015236001A JP6614948B2 (ja) | 2015-12-02 | 2015-12-02 | 演算装置、演算方法、通信装置、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015236001A JP6614948B2 (ja) | 2015-12-02 | 2015-12-02 | 演算装置、演算方法、通信装置、及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017103648A JP2017103648A (ja) | 2017-06-08 |
JP2017103648A5 JP2017103648A5 (ja) | 2019-01-10 |
JP6614948B2 true JP6614948B2 (ja) | 2019-12-04 |
Family
ID=59017098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015236001A Active JP6614948B2 (ja) | 2015-12-02 | 2015-12-02 | 演算装置、演算方法、通信装置、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6614948B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430842A (en) * | 1992-05-29 | 1995-07-04 | Hewlett-Packard Company | Insertion of network data checksums by a network adapter |
US6637007B1 (en) * | 2000-04-28 | 2003-10-21 | Network Appliance, Inc. | System to limit memory access when calculating network data checksums |
JP4344576B2 (ja) * | 2003-09-26 | 2009-10-14 | 株式会社ルネサステクノロジ | パケット通信装置 |
JP4612821B2 (ja) * | 2004-09-10 | 2011-01-12 | キヤノン株式会社 | 通信制御装置及び方法 |
JP2006303765A (ja) * | 2005-04-19 | 2006-11-02 | Seiko Epson Corp | Tcp/ip送信処理回路及びそれを具備する半導体集積回路 |
-
2015
- 2015-12-02 JP JP2015236001A patent/JP6614948B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017103648A (ja) | 2017-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6433146B2 (ja) | 情報処理装置、システム、情報処理方法、コンピュータプログラム | |
JP7137430B2 (ja) | データ記憶装置及びブリッジ装置 | |
JP5269610B2 (ja) | ユーザレベル命令に応じた巡回冗長検査演算の実行 | |
US10819633B2 (en) | Data-plane stateful processing units in packet processing pipelines | |
US7249202B2 (en) | System and method for DMA transfer of data in scatter/gather mode | |
US10523764B2 (en) | Data-plane stateful processing units in packet processing pipelines | |
US7864806B2 (en) | Method and system for transmission control packet (TCP) segmentation offload | |
US6976205B1 (en) | Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources | |
JP6600241B2 (ja) | 演算装置及び演算方法、通信装置 | |
JP4446373B2 (ja) | プロセッサ、データ共有装置 | |
Kunze et al. | Investigating the applicability of in-network computing to industrial scenarios | |
US20060059221A1 (en) | Multiply instructions for modular exponentiation | |
EP4080839A1 (en) | Pcie-based data transmission method and apparatus | |
US11082318B2 (en) | Network interface controller | |
EP4080840A1 (en) | Data transmission method and apparatus based on pcie | |
US10554548B2 (en) | Partially deferred packet access | |
JP6614948B2 (ja) | 演算装置、演算方法、通信装置、及びプログラム | |
JPWO2008068937A1 (ja) | データ転送制御装置およびコンピュータシステム | |
CN116775544A (zh) | 一种协处理器和计算机设备 | |
US11386029B2 (en) | Direct memory access controller | |
US9948756B1 (en) | Automated pipeline generation | |
US10237378B1 (en) | Low-latency metadata-based packet rewriter | |
WO2015176646A1 (zh) | 片上网络的Flit传输方法及装置 | |
US8904076B2 (en) | Coder with snoop mode | |
JP6570046B2 (ja) | Dmaコントローラ、実現方法及びコンピュータ記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181120 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190816 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191002 |
|
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: 20191007 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191105 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6614948 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |