JP7087419B2 - データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法 - Google Patents

データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法 Download PDF

Info

Publication number
JP7087419B2
JP7087419B2 JP2018017256A JP2018017256A JP7087419B2 JP 7087419 B2 JP7087419 B2 JP 7087419B2 JP 2018017256 A JP2018017256 A JP 2018017256A JP 2018017256 A JP2018017256 A JP 2018017256A JP 7087419 B2 JP7087419 B2 JP 7087419B2
Authority
JP
Japan
Prior art keywords
layer packet
unit
header
data link
link layer
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
Application number
JP2018017256A
Other languages
English (en)
Other versions
JP2019133567A (ja
Inventor
恵美 鵜飼
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018017256A priority Critical patent/JP7087419B2/ja
Priority to US16/240,840 priority patent/US10459857B2/en
Publication of JP2019133567A publication Critical patent/JP2019133567A/ja
Application granted granted Critical
Publication of JP7087419B2 publication Critical patent/JP7087419B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3027Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Description

本発明は、データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法に関する。
情報処理回路の動作履歴の記憶、プログラム開発装置におけるプログラムの実行履歴の記憶、並びに情報処理部における障害情報の記録等のために、種々のデータを履歴情報として記憶することが知られている(例えば、特許文献1~3を参照)。
特開昭61-246848号公報 特開2004-206425号公報 特開平5-298144号公報
また、PCI-SIGによって策定されたPCI Express(以下PCIeとも称する)規格と称される通信規格が知られている。PCIeは、PCI-SIGによって策定されたPCI(Peripheral component interconnect)バスの欠点を補完したものであり、PCIバスのデータ転送レートの30倍のデータ転送レートが実現可能である。
PCIeの物理層は、従来は8レーンのレーン幅が多く採用されていたが、データ転送レートを高くするために16レーンのレーン幅が採用され始めている。
PCIe規格による受信信号を受信した受信履歴を記憶するために、受信信号に含まれるトランザクション層パケットのヘッダ及びデータリンク層パケットのそれぞれをヒストリ部に記憶することがある。レーン幅が8レーンであるときは、ヒストリ部は、データ構造の関係でトランザクション層パケットのヘッダ及びデータリンク層パケットの双方を同時に入力されることがなかった。しかしながら、レーン幅が16レーンになると、ヒストリ部は、トランザクション層パケットのヘッダ及びデータリンク層パケットの双方を同時に入力されるおそれがある。
一実施形態では、同時に入力されたトランザクション層パケットのヘッダ及びデータリンク層パケットの双方を記憶可能なヒストリ部を有するデータ受信装置を提供することを目的とする。
1つの態様では、データ受信装置は、受信部と、バッファ部と、ヒストリ記憶部と、処理部とを有する。受信部は、受信した受信信号に含まれる受信データ、トランザクション層パケットのヘッダとデータリンク層パケットを抽出し、バッファ部は、データリンク層パケットを記憶し、ヒストリ記憶部は、トランザクション層パケットのヘッダ及びデータリンク層パケットを記憶する。処理部は、トランザクション層パケットのヘッダ及びデータリンク層パケットを同時に受信部から取得した場合、データリンク層パケットをバッファ部に書き込む。また、処理部は、トランザクション層パケットのヘッダ及びデータリンク層パケットの何れも取得しない場合、バッファ部に記憶されたデータリンク層パケットをヒストリ記憶部に書き込む。また、処理部は、トランザクション層パケットのヘッダを取得せずにデータリンク層パケットのみを取得した場合、バッファ部に記憶されたデータリンク層パケットをヒストリ記憶部に書き込む。
一実施形態では、同時に入力されたトランザクション層パケットのヘッダ及びデータリンク層パケットの双方を記憶することができる。
(a)は第1実施形態に係るデータ受信装置を搭載するコンポーネントのブロック図であり、(b)は(a)に示すデータ受信装置が有するヒストリ部のブロック図である。 図1(b)に示す処理部によるヒストリ記憶処理を説明するための図である。 図1(b)に示す処理部により実行されるヒストリ記憶処理のフローチャートである。 (a)は第2実施形態に係るデータ受信装置を搭載するコンポーネントのブロック図であり、(b)は(a)に示すデータ受信装置が有するヒストリ部のブロック図である。 図4(b)に示す処理部により実行されるヒストリ記憶処理のフローチャートである。 (a)は第3実施形態に係るデータ受信装置を搭載するコンポーネントのブロック図であり、(b)は(a)に示すデータ受信装置が有するヒストリ部のブロック図である。 図6(b)に示す処理部によるヒストリ記憶処理を説明するための図である。 図6(b)に示す処理部により実行されるヒストリ記憶処理のフローチャートである。 実施形態に係るデータ受信装置を有するデータ送受信システムのブロック図である。
以下図面を参照して、実施形態に係るデータ受信装置、データ送受信システム、及びデータ送受信システムの制御方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。
(実施形態に係るデータ受信装置の概要)
実施形態に係る情報処理部は、PCI Express受信部と、ヒストリ部とを有する。PCI Express受信部は、PCI Expressに基づく受信信号を受信し、受信信号に含まれる受信データ、トランザクション層パケットのヘッダ、及びデータリンク層パケットを抽出する。ヒストリ部は、データリンク層パケットを一時的に記憶するバッファ部と、トランザクション層パケットのヘッダ及びデータリンク層パケットを記憶するヒストリ記憶部と、処理部とを有する。処理部は、トランザクション層パケットのヘッダ及びデータリンク層パケットを同時にPCI Express受信部から取得したときに、データリンク層パケットをバッファ部に書き込む。処理部は、トランザクション層パケットのヘッダ及びデータリンク層パケットの何れも取得しないとき、バッファ部に記憶されたデータリンク層パケットをヒストリ記憶部に書き込む。また、処理部は、並びにトランザクション層パケットのヘッダを取得せずにデータリンク層パケットのみを取得したときに、バッファ部に記憶されたデータリンク層パケットをヒストリ記憶部に書き込む。
実施形態に係る情報処理部は、データリンク層パケットを書き込み可能なバッファ部を有するので、同時に取得されたトランザクション層パケットのヘッダ及びデータリンク層パケットの双方を記憶することができる。
(第1実施形態に係るデータ受信装置)
図1(a)は第1実施形態に係るデータ受信装置を搭載するコンポーネントのブロック図であり、図1(b)は図1(a)に示すデータ受信装置が有するヒストリ部のブロック図である。
コンポーネント101は、データ受信装置1と、データ受信装置1が受信した受信信号に対応する受信データに所定の処理を実行するデータ処理部110とを有する。コンポーネント101は、一例ではエンドポイントであり、他の例ではホストが有するルートコンプレックスである。
データ受信装置1は、PCI Express受信部10と、ヒストリ部20とを有する。PCI Express受信部10は、PCI Express規格による受信信号を受信し、受信信号に含まれる受信データ、トランザクション層パケットのヘッダ、及びデータリンク層パケットを抽出する。以下、トランザクション層パケットのヘッダはTLPとも称され、データリンク層パケットはDLLPとも称される。PCI Express受信部10の動作及び機能は、よく知られているので、ここでは詳細な説明は省略する。
ヒストリ部20は、バッファ部21と、ヒストリ記憶部22と、処理部23とを有する。バッファ部21は、単一のDLLPを記憶可能な記憶装置であり、例えばレジスタである。ヒストリ記憶部22は、例えば、RAM(Random Access Memory)により実現される。ヒストリ記憶部22は、処理部23での処理に用いられるアプリケーションプログラム、データ等を記憶する。例えば、ヒストリ記憶部22は、アプリケーションプログラムとして、PCI Express受信部10から取得したTLP及びDLLPを記憶するヒストリ記憶処理を実行するためのヒストリ記憶プログラムを記憶する。ヒストリ記憶プログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて、ヒストリ記憶部22にインストールされてもよい。
処理部23は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部23は、ヒストリ部20の全体的な動作を統括的に制御するものであり、例えば、CPUである。処理部23は、ヒストリ部20の各種処理がヒストリ記憶部22に記憶されているプログラム等に応じて適切な手順で実行されるように、バッファ部21等の動作を制御する。処理部23は、ヒストリ記憶部22に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。
図2は、処理部23によるヒストリ記憶処理を説明するための図である。
処理部23は、矢印Aで示される第1のタイミングでTLPとDPPLとをPCI Express受信部10から同時に取得する。次いで、矢印Bで示される第2のタイミングで、処理部23は、DPPLをPCI Express受信部10から取得する。
処理部23は、第1のタイミングでTLPとDPPLとを同時に取得すると、DLLPをバッファ部21に書き込むと共に、TLPをヒストリ記憶部22に書き込む。次いで、処理部23は、第2のタイミングでDPPLを取得すると、第1のタイミングで取得しバッファ部21に書き込んだDLLPと、第2のタイミングで取得したDLLPとを同時にヒストリ記憶部22に書き込む。
処理部23は、第1のタイミングでTLPと同時に取得したDLLPをバッファ部21に一時的に書き込んだ後に、第2のタイミングでヒストリ記憶部22に書き込むので、同時に取得したDLLP及びTLPにヒストリ記憶部22に書き込むことができる。
図3は、処理部23により実行されるヒストリ記憶処理のフローチャートである。処理部23は、所定の実行周期毎に図3に示すヒストリ記憶処理を実行する。
まず、処理部23は、TLPとDLLPとをPCI Express受信部10から同時に取得したか否かを判定する(S101)。処理部23は、TLPとDLLPとを同時に取得したと判定する(S101-YES)と、取得したDLLPをバッファ部21に書き込むと共に、取得したTLPをヒストリ記憶部22に書き込む(S102)。次いで、処理はS101に戻る。
処理部23は、TLPとDLLPとを同時に取得していないと判定する(S101-NO)と、TLP及びDLLPの何れかのパケットを取得したか否かを判定する(S103)。処理部23は、TLP及びDLLPの何れかのパケットを取得したと判定する(S103-YES)と、取得したパケットがTLPであるか否かを判定する(S104)。処理部23は、取得したパケットがTLPであると判定する(S104-YES)と、取得したTLPをヒストリ記憶部22に書き込む(S105)。次いで、処理はS101に戻る。
処理部23は、取得したパケットがTLPではなくDLLPであると判定する(S104-NO)と、バッファ部21にDLLPが記憶されているか否かを判定する(S106)。処理部23は、バッファ部21にDLLPが記憶されていると判定する(S106-YES)と、バッファ部21に記憶されたDLLPと、取得したDLLPとをヒストリ記憶部22に書き込む(S107)。ヒストリ記憶部22に書き込まれたDLLPは、バッファ部21から削除され、バッファ部21は解放される。次いで、処理はS101に戻る。
処理部23は、バッファ部21にDLLPが記憶されていないと判定する(S106-NO)と、取得したDLLPをヒストリ記憶部22に書き込む(S108)。次いで、処理はS101に戻る。
処理部23は、TLP及びDLLPの何れのパケットも取得していないと判定する(S103-NO)と、バッファ部21にDLLPが記憶されているか否かを判定する(S109)。処理部23は、バッファ部21にDLLPが記憶されていると判定する(S109-YES)と、バッファ部21に記憶されたDLLPをヒストリ記憶部22に書き込む(S110)。ヒストリ記憶部22に書き込まれたDLLPは、バッファ部21から削除され、バッファ部21は解放される。次いで、処理はS101に戻る。
処理部23によってバッファ部21にDLLPが記憶されていないと判定される(S109-NO)と、処理は終了する。
(第1実施形態に係るデータ受信装置の作用効果)
データ受信装置1のヒストリ部20は、TLPと同時に取得したDLLPをバッファ部21に一時的に書き込み、次のタイミングでヒストリ記憶部22に書き込むので、同時に取得したDLLP及びTLPを記憶することができる。
(第2実施形態に係るデータ受信装置)
図4(a)は第1実施形態に係るデータ受信装置を搭載するコンポーネントのブロック図であり、図4(b)は図4(a)に示すデータ受信装置が有するヒストリ部のブロック図である。
コンポーネント201は、データ受信装置2をデータ受信装置1の代わりに有することがコンポーネント101と、相違する。データ受信装置2は、バッファ部31及び処理部33をバッファ部21及び処理部23の代わりに有することがデータ受信装置1と相違する。バッファ部31及び処理部33以外のコンポーネント201の構成要素の構成及び機能は、同一符号が付されたコンポーネント101の構成要素の構成及び機能と同一なので、ここでは詳細な説明は省略する。
バッファ部31は、単一のDLLPではなく、複数のDLLPを記憶可能な記憶装置であり、例えばレジスタである。
処理部33は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部33は、ヒストリ部30の全体的な動作を統括的に制御するものであり、例えば、CPUである。処理部33は、ヒストリ部30の各種処理がヒストリ記憶部22に記憶されているプログラム等に応じて適切な手順で実行されるように、バッファ部31等の動作を制御する。処理部33は、ヒストリ記憶部22に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。
図5は、処理部33により実行されるヒストリ記憶処理のフローチャートである。処理部33は、所定の実行周期毎に図5に示すヒストリ記憶処理を実行する。
S201~S206の処理は、S101~S106の処理と同様なので、ここでは詳細な説明は省略する。処理部33は、バッファ部31にDLLPが記憶されていると判定する(S206-YES)と、バッファ部31に複数のDLLPが記憶されているか否かを判定する(S207)。処理部33は、バッファ部31に複数のDLLPが記憶されていると判定する(S207-YES)と、バッファ部31に記憶されるDLLPの2つをヒストリ記憶部22に書き込み、取得したDLLPをバッファ部31に書き込む(S208)。次いで、処理はS201に戻る。
処理部33は、バッファ部31に単一のDLLPが記憶されていると判定する(S207-NO)と、バッファ部31に記憶されたDLLPと、取得したDLLPとをヒストリ記憶部22に書き込む(S209)。ヒストリ記憶部22に書き込まれたDLLPは、バッファ部31から削除され、バッファ部31は解放される。次いで、処理はS201に戻る。S210~S212の処理は、S108~S110の処理と同様なので、ここでは詳細な説明は省略する。
(第2実施形態に係るデータ受信装置の作用効果)
データ受信装置2のヒストリ部30は、複数のDLLPを一時的に記憶することができるので、複数回に亘ってTLPとDLLPとを同時に取得した場合でも、同時に取得したDLLP及びTLPを記憶ことができる。
(第3実施形態に係るデータ受信装置)
図6(a)は第1実施形態に係るデータ受信装置を搭載するコンポーネントのブロック図であり、図6(b)は図6(a)に示すデータ受信装置が有するヒストリ部のブロック図である。
コンポーネント301は、データ受信装置3をデータ受信装置1の代わりに有することがコンポーネント101と、相違する。データ受信装置3は、バッファ部41及び処理部43をバッファ部21及び処理部23の代わりに有することがデータ受信装置1と相違する。また、タイマ44を有することがデータ受信装置1と相違する。バッファ部41、処理部43及びタイマ44以外のコンポーネント301の構成要素の構成及び機能は、同一符号が付されたコンポーネント101の構成要素の構成及び機能と同一なので、ここでは詳細な説明は省略する。
バッファ部41は、単一のDLLPではなく、複数のTLP及び複数のDLLPを記憶可能な記憶装置であり、例えばレジスタである。
処理部43は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部43は、ヒストリ部40の全体的な動作を統括的に制御するものであり、例えば、CPUである。処理部43は、ヒストリ部40の各種処理がヒストリ記憶部22に記憶されているプログラム等に応じて適切な手順で実行されるように、バッファ部41及びタイマ44等の動作を制御する。処理部43は、ヒストリ記憶部22に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。
タイマ44は、不図示の発振回路を有し、時刻を計時し、計時した時刻を示す時刻情報をバッファ部41、ヒストリ記憶部22及び処理部43に出力する。
図7は、処理部43によるヒストリ記憶処理を説明するための図である。図7では、説明を簡明にするために処理部43の処理の一部である登録優先度判定処理は、処理部43から分離して記載される。なお、登録優先度判定処理は、処理部43とは別個の装置により実行されてもよい。
処理部43は、タイマ44から入力される時刻情報に基づいて、取得したTLP、及びバッファ部41に記憶されるDLLPの何れをヒストリ記憶部22に書き込むかを判定する登録優先度判定処理を実行する。
登録優先度判定処理では、処理部43は、バッファ部41に記憶されるDLLPが書き込まれた時間と、タイマが計時した現在時刻との差分と、所定のしきい値時間とを比較する。処理部43は、DLLPが書き込まれた時間がしきい値時間を越えたときに、バッファ部41に記憶されるDLLPを、取得したTLPよりも優先してヒストリ記憶部22に書き込む。処理部43は、DLLPが書き込まれた時間がしきい値時間以下のときに、取得したTLPをヒストリ記憶部22に書き込む。処理部43は、ヒストリ記憶部22にパケットを書き込むときに、書き込むパケットを、パケットがTLP及びDLLPの何れかを示すパケット情報、及び取得した時刻を示す時刻情報に関連付ける。
処理部43は、ヒストリ記憶部22に書き込むパケットを、取得した時刻を示す時刻情報に関連付けるので、書き込まれる順番が前後した場合でもパケットの取得順序を正確に把握可能である。また、処理部43は、ヒストリ記憶部22に書き込むパケットを、パケットがTLP及びDLLPの何れかを示すパケット情報に関連付けるので、ヒストリ記憶部22に記憶されるパケットがTLP及びDLLPの何れかであるかを正確に把握できる。
図8は、処理部43により実行されるヒストリ記憶処理のフローチャートである。処理部43は、所定の実行周期毎に図5に示すヒストリ記憶処理を実行する。
まず、処理部43は、TLPとDLLPとをPCI Express受信部10から同時に取得したか否かを判定する(S301)。処理部43は、TLPとDLLPとを同時に取得したと判定する(S301-YES)と、取得したDLLPをバッファ部41に書き込むと共に、取得したTLPをヒストリ記憶部22に書き込む(S302)。処理部43は、取得したDLLPをバッファ部41に書き込むときに、DLLPをタイマ44から入力される時刻情報、及びDLLPであることを示すパケット情報と関連付ける。また、処理部43は、取得したTLPをヒストリ記憶部22に書き込むときに、TLPをタイマから入力される時刻情報、及びTLPであることを示すパケット情報と関連付ける。次いで、処理はS301に戻る。
処理部43は、TLPとDLLPとを同時に取得していないと判定する(S301-NO)と、TLP及びDLLPの何れかのパケットを取得したか否かを判定する(S303)。処理部43は、TLP及びDLLPの何れかのパケットを取得したと判定する(S303-YES)と、取得したパケットがTLPであるか否かを判定する(S304)。
処理部43は、取得したパケットがTLPであると判定する(S304-YES)と、バッファ部41にDLLPが記憶されているか否かを判定する(S305)。処理部43は、バッファ部41にDLLPが記憶されていないと判定する(S305-NO)と、バッファ部41にTLPが記憶されているか否かを判定する(S306)。処理部43は、バッファ部41にTLPが記憶されていると判定する(S306-YES)と、バッファ部41に記憶されるTLPをヒストリ記憶部22に書き込むと共に、取得したTLPをバッファ部41に書き込む(S307)。ヒストリ記憶部22に書き込まれたTLPは、バッファ部41から削除される。処理部43は、取得したTLPをバッファ部41に書き込むときに、TLPをタイマ44から入力される時刻情報、及びTLPであることを示すパケット情報と関連付ける。また、処理部43は、バッファ部41に記憶されるTLPをヒストリ記憶部22に書き込むときに、TLPをタイマから入力される時刻情報、及びTLPであることを示すパケット情報と関連付ける。次いで、処理はS301に戻る。
処理部43は、バッファ部41にTLPが記憶されていないと判定する(S306-NO)と、取得したTLPをヒストリ記憶部22に書き込む(S308)。処理部43は、取得したTLPをヒストリ記憶部22に書き込むときに、TLPをタイマ44から入力される時刻情報、及びTLPであることを示すパケット情報と関連付ける。次いで、処理はS301に戻る。
処理部43は、バッファ部41にDLLPが記憶されていると判定する(S305-YES)と、登録優先度判定処理を実行して、バッファ部41に記憶されるDLLPの書き込みが優先されるか否かを判定する(S309)。具体的には、処理部43は、バッファ部41に記憶されるDLLPが書き込まれた時間と、タイマが計時した現在時刻との差分と、所定のしきい値時間とを比較する。処理部43は、DLLPが書き込まれた時間とタイマが計時した現在時刻との差分がしきい値時間を越えたときに、バッファ部41に記憶されるDLLPを、取得したTLP及びDLLPよりも優先してヒストリ記憶部22に書き込むと判定する。
処理部43は、登録優先度判定処理を実行して、バッファ部41に記憶されるDLLPの書き込みが優先されないと判定する(S309-NO)と、取得したTLPをヒストリ記憶部22に書き込む(S308)。次いで、処理はS301に戻る。
処理部43は、バッファ部41に記憶されるDLLPの書き込みが優先されると判定する(S309-YES)と、バッファ部41に記憶されるDLLPをヒストリ記憶部22に書き込む。ヒストリ記憶部22に書き込まれたDLLPは、バッファ部41から削除される。併せて、処理部43は、取得したTLPをバッファ部41に書き込む(S310)。処理部43は、取得したTLPをバッファ部41に書き込むときに、TLPをタイマ44から入力される時刻情報、及びTLPであることを示すパケット情報と関連付ける。また、処理部43は、バッファ部41に記憶されるDLLPをヒストリ記憶部22に書き込むときに、DLLPをタイマから入力される時刻情報、及びDLLPであることを示すパケット情報と関連付ける。処理部43は、バッファ部41に複数のDLLPが記憶されるとき、DLLPに関連付けられる時刻情報を参照して、最も早く書き込まれた2つのDLLPをヒストリ記憶部22に書き込む。次いで、処理はS301に戻る。
処理部43は、取得したパケットがTLPではなくDLLPであると判定する(S304-NO)と、バッファ部41にDLLPが記憶されているか否かを判定する(S311)。処理部43は、バッファ部41にDLLPが記憶されていると判定する(S311-YES)と、バッファ部41に複数のDLLPが記憶されているか否かを判定する(S312)。処理部43は、バッファ部41に複数のDLLPが記憶されていると判定する(S312-YES)と、バッファ部41に記憶されるDLLPの2つをヒストリ記憶部22に書き込み、取得したDLLPをバッファ部41に書き込む(S313)。ヒストリ記憶部22に書き込まれたDLLPは、バッファ部41から削除される。処理部43は、取得したDLLPをバッファ部41に書き込むときに、DLLPをタイマ44から入力される時刻情報、及びDLLPであることを示すパケット情報と関連付ける。また、処理部43は、バッファ部41に記憶されるDLLPをヒストリ記憶部22に書き込むときに、DLLPをタイマから入力される時刻情報、及びDLLPであることを示すパケット情報と関連付ける。処理部43は、DLLPに関連付けられる時刻情報を参照して、最も早く書き込まれた2つのDLLPをヒストリ記憶部22に書き込む。次いで、処理はS301に戻る。
処理部43は、バッファ部41に複数のDLLPが記憶されていないと判定する(S312-NO)と、取得したDLLPと、バッファ部41に記憶されるDLLPとをヒストリ記憶部22に書き込む(S314)。処理部43は、取得したDLLP及びバッファ部41に記憶されるDLLPをヒストリ記憶部22に書き込むときに、DLLPをタイマ44から入力される時刻情報、及びDLLPであることを示すパケット情報と関連付ける。次いで、処理はS301に戻る。
処理部43は、バッファ部41にDLLPが記憶されていないと判定する(S311-NO)と、取得したDLLPをヒストリ記憶部22に書き込む(S315)。処理部43は、取得したDLLPをヒストリ記憶部22に書き込むときに、DLLPをタイマ44から入力される時刻情報、及びDLLPであることを示すパケット情報と関連付ける。次いで、処理はS301に戻る。
処理部43は、TLP及びDLLPの何れのパケットも取得していないと判定する(S303-NO)と、バッファ部41にTLP及びDLLPの何れかのパケットが記憶されているか否かを判定する(S316)。処理部43は、バッファ部41にTLP及びDLLPの何れかのパケットが記憶されていると判定する(S316-YES)と、バッファ部41に記憶されたパケットをヒストリ記憶部22に書き込む(S317)。ヒストリ記憶部22に書き込まれたDLLPは、バッファ部41から削除され、バッファ部41は解放される。処理部43は、バッファ部41に記憶されるTLPをヒストリ記憶部22に書き込むときに、TLPをタイマ44から入力される時刻情報、及びTLPであることを示すパケット情報と関連付ける。また、処理部43は、バッファ部41に記憶されるDLLPをヒストリ記憶部22に書き込むときに、DLLPをタイマ44から入力される時刻情報、及びDLLPであることを示すパケット情報と関連付ける。次いで、処理はS301に戻る。
処理部23によってバッファ部21にDLLPが記憶されていないと判定される(S316-NO)と、処理は終了する。
(第3実施形態に係るデータ受信装置の作用効果)
データ受信装置3のヒストリ部40は、ヒストリ記憶部22に書き込むパケットを、取得した時刻を示す時刻情報に関連付けるので、書き込まれる順番が前後した場合でもパケットの取得順序を正確に把握可能である。
データ受信装置3のヒストリ部40は、書き込むパケットを、パケットがTLP及びDLLPの何れかを示すパケット情報に関連付けるので、ヒストリ記憶部22に記憶されるパケットがTLP及びDLLPの何れかであるかを正確に把握できる。
(実施形態に係るデータ受信装置を有するデータ送受信システム)
図9は、実施形態に係るデータ受信装置を有するデータ送受信システムのブロック図である。
データ送受信システム400は、第1コンポーネント401と、第2コンポーネント402とを有する。第1コンポーネント401と第2コンポーネント402との間は、PCIe規格により通信される。第1コンポーネント401はエンドポイントであり、第2コンポーネント402はホストが有するルートコンプレックスである。
第1コンポーネント401は、第2コンポーネント402から送信される受信信号を受信するデータ受信装置1と、データ処理部410と、PCI Express送信装置411とを有する。データ処理部410は、データ受信装置1が受信した受信信号に対応する受信データに所定の処理を実行する。また、データ処理部410は、所定の処理を処理して生成した送信データをPCI Express送信装置411に出力する。PCI Express送信装置411は、データ処理部410から入力される送信データからPCIe規格により送信信号を生成し、生成した送信信号を第2コンポーネント402に送信する。PCI Express送信装置411の動作及び機能は、よく知られているので、ここでは詳細な説明は省略する。
第2コンポーネント402は、データ処理部420と、PCI Express送信装置421と、PCI Express受信部422とを有する。データ処理部420は、PCI Express受信部422が受信した送信信号に対応する第1データに所定の処理を実行する。また、データ処理部420は、所定の処理を処理して生成した第2データをPCI Express送信装置421に出力する。PCI Express送信装置421は、データ処理部420から入力される第2データからPCIe規格により受信信号を生成し、生成した受信信号を第1コンポーネント401に送信する。PCI Express受信部422は、第1コンポーネント401から送信される送信信号からPCIe規格により第1データを生成し、生成した第1データをデータ処理部420に出力する。PCI Express送信装置421及びPCI Express受信部422の動作及び機能は、よく知られているので、ここでは詳細な説明は省略する。
1~3 データ受信装置
10 PCI Express受信部(受信部)
20、30、40 ヒストリ部
21、31、41 バッファ部
22 ヒストリ記憶部
23、33、43 処理部

Claims (10)

  1. 複数のレーンを有する受信部であって、受信した受信信号に含まれる受信データ、前記複数のレーンのうちの一部のレーンを介して受信したトランザクション層パケットのヘッダと前記複数のレーンのうちの他の一部のレーンを介して受信したデータリンク層パケットを抽出する受信部と、
    前記データリンク層パケットを一時的に記憶するバッファ部と、
    前記トランザクション層パケットのヘッダ及び前記データリンク層パケットを記憶するヒストリ記憶部と、
    前記トランザクション層パケットのヘッダ及び前記データリンク層パケットを同時に前記受信部から取得した場合、前記データリンク層パケットを前記バッファ部に書き込み、前記トランザクション層パケットのヘッダ及び前記データリンク層パケットの何れも取得しない場合、並びに前記トランザクション層パケットのヘッダを取得せずに前記データリンク層パケットのみを取得した場合、前記バッファ部に記憶されたデータリンク層パケットを前記ヒストリ記憶部に書き込む処理部と、
    を有する、データ受信装置。
  2. 前記処理部は、前記トランザクション層パケットのヘッダ及び前記データリンク層パケットの双方を同時に前記受信部から取得したときに、前記トランザクション層パケットのヘッダを前記ヒストリ記憶部に書き込む、請求項1に記載のデータ受信装置。
  3. 前記バッファ部はさらに、前記トランザクション層パケットのヘッダを一時的に記憶し、
    前記処理部は、前記トランザクション層パケットのヘッダを前記受信部から取得したときに、前記バッファ部に前記データリンク層パケットが記憶され、当該記憶された前記データリンク層パケットの前記ヒストリ記憶部への書き込みが優先される場合、又は前記バッファ部に前記データリンク層パケットが記憶されておらず、前記トランザクション層パケットのヘッダが記憶されている場合には、バッファ部に記憶された前記データリンク層パケット又は前記トランザクション層パケットのヘッダを前記ヒストリ記憶部に書き込むとともに、前記取得したトランザクション層パケットのヘッダを、取得した時間と関連付けて前記バッファ部に書き込む、請求項1に記載のデータ受信装置。
  4. 前記処理部は、前記データリンク層パケットが前記バッファ部に記憶される間に、前記データリンク層パケットを取得したときに、前記バッファ部に記憶されるデータリンク層パケットと、取得した前記データリンク層パケットを前記ヒストリ記憶部に同時に書き込む、請求項3に記載のデータ受信装置。
  5. 前記処理部は、取得した時間と関連付けて前記バッファ部に書き込まれるデータリンク層パケットが前記バッファ部に記憶される間に、前記トランザクション層パケットのヘッダを取得したときに、前記バッファ部に記憶される前記データリンク層パケットを取得した時間から現在時刻までの経過時間が所定のしきい値時間を超えるときに、前記バッファ部に記憶される前記データリンク層パケットを前記ヒストリ記憶部に書き込み、取得した前記トランザクション層パケットのヘッダを前記バッファ部に書き込む、請求項3又は4に記載のデータ受信装置。
  6. 前記処理部は、前記取得した時間と関連付けて前記バッファ部に書き込まれるデータリンク層パケットが前記バッファ部に記憶される間に、前記トランザクション層パケットのヘッダを取得したときに、前記バッファ部に記憶される前記データリンク層パケットを取得した時間から現在時刻までの経過時間が前記しきい値時間以下のときに、取得した前記トランザクション層パケットのヘッダを、取得した時間と関連付けて前記ヒストリ記憶部に書き込む、請求項5に記載のデータ受信装置。
  7. 前記処理部は、前記トランザクション層パケットのヘッダが前記バッファ部に記憶される間に、前記トランザクション層パケットのヘッダを取得したときに、前記バッファ部に記憶される前記トランザクション層パケットのヘッダを前記ヒストリ記憶部に書き込むと共に、取得した前記トランザクション層パケットのヘッダを、取得した時間と関連付けて前記バッファ部に書き込む、請求項3~6の何れか一項に記載のデータ受信装置。
  8. 前記バッファ部は、複数の前記データリンク層パケットを記憶可能である、請求項1~7の何れか一項に記載のデータ受信装置。
  9. 複数のレーンを介して送受信する送信装置と受信装置とを有するデータ送受信システムにおいて、
    前記受信装置は、前記送信装置から受信した受信信号に含まれる受信データ、前記複数のレーンのうちの一部のレーンを介して受信したトランザクション層パケットのヘッダと前記複数のレーンのうちの他の一部のレーンを介して受信したデータリンク層パケットを抽出する受信部と、
    前記データリンク層パケットを一時的に記憶するバッファ部と、
    前記トランザクション層パケットのヘッダ及び前記データリンク層パケットを記憶するヒストリ記憶部と、
    前記トランザクション層パケットのヘッダ及び前記データリンク層パケットを同時に前記受信部から取得した場合、前記データリンク層パケットを前記バッファ部に書き込み、前記トランザクション層パケットのヘッダ及び前記データリンク層パケットの何れも取得しない場合、並びに、前記トランザクション層パケットのヘッダを取得せずに前記データリンク層パケットのみを取得した場合、前記バッファ部に記憶されたデータリンク層パケットを前記ヒストリ記憶部に書き込む処理部と、
    を有する、データ送受信システム。
  10. 複数のレーンを介して送受信する送信装置と受信装置とを有するデータ送受信システムの制御方法において、
    前記受信装置が有する受信部が、前記送信装置から受信した受信信号に含まれる受信データ、前記複数のレーンのうちの一部のレーンを介して受信したトランザクション層パケットのヘッダと前記複数のレーンのうちの他の一部のレーンを介して受信したデータリンク層パケットを抽出し、
    前記受信装置が有する処理部が、前記トランザクション層パケットのヘッダ及び前記データリンク層パケットを同時に前記受信部から取得した場合、前記トランザクション層パケットのヘッダを前記受信装置が有するヒストリ記憶部に書き込むとともに前記データリンク層パケットを前記受信装置が有するバッファ部に書き込み、その後前記トランザクション層パケットのヘッダ及び前記データリンク層パケットの何れも取得しない場合、並びに、前記トランザクション層パケットのヘッダを取得せずに前記データリンク層パケットのみを取得した場合、前記バッファ部に記憶されたデータリンク層パケットを前記ヒストリ記憶部に書き込む、データ送受信システムの制御方法。
JP2018017256A 2018-02-02 2018-02-02 データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法 Active JP7087419B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018017256A JP7087419B2 (ja) 2018-02-02 2018-02-02 データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法
US16/240,840 US10459857B2 (en) 2018-02-02 2019-01-07 Data receiving apparatus, data transmission and reception system, and control method of data transmission and reception system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018017256A JP7087419B2 (ja) 2018-02-02 2018-02-02 データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法

Publications (2)

Publication Number Publication Date
JP2019133567A JP2019133567A (ja) 2019-08-08
JP7087419B2 true JP7087419B2 (ja) 2022-06-21

Family

ID=67475563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018017256A Active JP7087419B2 (ja) 2018-02-02 2018-02-02 データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法

Country Status (2)

Country Link
US (1) US10459857B2 (ja)
JP (1) JP7087419B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206425A (ja) 2002-12-25 2004-07-22 Ricoh Co Ltd トレース装置
JP2005301640A (ja) 2004-04-12 2005-10-27 Hitachi Ltd スイッチ装置、記憶制御システム及びトレースデータ取得方法
JP2008544389A (ja) 2005-06-21 2008-12-04 エヌエックスピー ビー ヴィ PCIExpressデバイスのデータ完全性の並列検査方法
JP2011040965A (ja) 2009-08-10 2011-02-24 Renesas Electronics Corp データリンク層処理回路および通信回路
JP2014021908A (ja) 2012-07-23 2014-02-03 Nec Commun Syst Ltd プロセッサアクセス履歴モニタ回路およびプロセッサアクセス履歴モニタ方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61246848A (ja) 1985-04-24 1986-11-04 Nec Corp 動作履歴記憶回路
JPH05298144A (ja) 1992-04-21 1993-11-12 Nec Eng Ltd データトレース方式
WO2003019391A2 (en) * 2001-08-24 2003-03-06 Intel Corporation A general input/output architecture protocol and related methods to manage data integrity
US7917658B2 (en) * 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US8255599B2 (en) * 2006-03-28 2012-08-28 Integrated Device Technology Inc. Packets transfer device having data absorbing buffers with elastic buffer capacities
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US9438488B2 (en) * 2012-11-09 2016-09-06 Citrix Systems, Inc. Systems and methods for appflow for datastream

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206425A (ja) 2002-12-25 2004-07-22 Ricoh Co Ltd トレース装置
JP2005301640A (ja) 2004-04-12 2005-10-27 Hitachi Ltd スイッチ装置、記憶制御システム及びトレースデータ取得方法
JP2008544389A (ja) 2005-06-21 2008-12-04 エヌエックスピー ビー ヴィ PCIExpressデバイスのデータ完全性の並列検査方法
JP2011040965A (ja) 2009-08-10 2011-02-24 Renesas Electronics Corp データリンク層処理回路および通信回路
JP2014021908A (ja) 2012-07-23 2014-02-03 Nec Commun Syst Ltd プロセッサアクセス履歴モニタ回路およびプロセッサアクセス履歴モニタ方法

Also Published As

Publication number Publication date
US20190243786A1 (en) 2019-08-08
US10459857B2 (en) 2019-10-29
JP2019133567A (ja) 2019-08-08

Similar Documents

Publication Publication Date Title
KR100285956B1 (ko) 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법
KR20090102870A (ko) 컨텐츠-종결 dma
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
JP2006293969A (ja) データ転送装置
US7779174B2 (en) Method and apparatus for dynamically changing burst length using direct memory access control
TWI430101B (zh) 時戳訊息之方法
WO2013187191A1 (ja) I/oデバイス、プログラマブルロジックコントローラ及び演算方法
JP7087419B2 (ja) データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法
KR102385541B1 (ko) 버스 시스템
KR101109600B1 (ko) 직접 메모리 접근 제어를 이용한 데이터 전송 방법 및 그장치
KR100606163B1 (ko) 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법
KR101260313B1 (ko) 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법
KR20100063219A (ko) 시스템 온 칩에서 비트 단위의 데이터 쓰기 방법 및 장치
JP6171367B2 (ja) スイッチ装置、画像処理装置、及び排他制御方法
WO2012098655A1 (ja) データ書き込み制御装置、データ書き込み制御方法及び情報処理装置
JP5093986B2 (ja) プロセッサ間通信方法及びプロセッサ間通信装置
JP6799265B2 (ja) 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP2018173856A (ja) 情報処理装置およびその制御方法
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
JP2006092077A (ja) バスシステム
JP2010140440A (ja) バス調停装置
JP6392556B2 (ja) アクセスリクエスト発行装置、アクセスリクエスト発行システム、アクセスリクエスト発行方法、及び、アクセスリクエスト発行プログラム
JP2007156935A (ja) データ入出力システム、スレーブ機器及びその信号処理方法
JP2007072685A (ja) データ転送装置及び情報処理装置
KR20050067324A (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220421

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: 20220510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220523

R150 Certificate of patent or registration of utility model

Ref document number: 7087419

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150