CN100403733C - 串行传输接口的数据处理方法与系统 - Google Patents

串行传输接口的数据处理方法与系统 Download PDF

Info

Publication number
CN100403733C
CN100403733C CNB2005100893375A CN200510089337A CN100403733C CN 100403733 C CN100403733 C CN 100403733C CN B2005100893375 A CNB2005100893375 A CN B2005100893375A CN 200510089337 A CN200510089337 A CN 200510089337A CN 100403733 C CN100403733 C CN 100403733C
Authority
CN
China
Prior art keywords
data
layer
packet
transaction layer
data processing
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
CNB2005100893375A
Other languages
English (en)
Other versions
CN1719809A (zh
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Priority to CNB2005100893375A priority Critical patent/CN100403733C/zh
Publication of CN1719809A publication Critical patent/CN1719809A/zh
Application granted granted Critical
Publication of CN100403733C publication Critical patent/CN100403733C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

一种串行传输接口的数据处理方法,其适用于PCI Express的数据传输。一实体层取得一数据包,其将所述数据包同时传送至一数据链接层与一交易层,并且该数据链接层与交易层同时对该数据包进行数据处理。

Description

串行传输接口的数据处理方法与系统
技术领域
本发明有关于一种数据处理方法,且特别有关于一种串行传输接口的数据处理方法。
背景技术
总线(bus)主要功能是作为硬件组件间进行数据传送的组件,传送的数据宽度越大(以位为单位)、或传送频率越高(GHz),所得到的数据传送频宽也就越大,使得计算机具有较快的运作速度。总线种类包括工业标准结构(Industrial Standard Architectural,ISA)总线、协议控制数据(ProtocolControl Information,PCI)总线、加速图形处理端口(Accelerator GraphicsPort)总线、第三代输出入结构(Third Generation I/O Architecture,3GIO)(亦称为PCI Express)等。
PCI Express为一交换式(Switch)点对点(Peer-to-Peer)串行传输技术。就结构上而言,PCI Express为一个多层的互连结构,第1层为实体层(Physical Layer),第2层为数据链接层(Data Link Layer),第3层为交易层(Transaction Layer)。实体层由一组单工通道(Lane)组成发送端(Tx)与接收端(Rx)。数据链接层的主要任务在于确保数据包交换的可靠性,并且提供流量控制的功能。交易层接受上层软件的读写要求,并且请求数据链接层传送数据包。
如上所述,PCI Express在数据传输的实体层是由一组单工通道组成发送端与接收端,每组PCI Express都独立使用自己的信道与南桥芯片传输,不再是共享总线的结构,不但免去数据传输互相干扰的问题,而且每个数据都有第一优先处理的特权,因此单就PCI Express传输的结构而言,就比传统的PCI要来得快上许多。
请参考图1,图1为表示PCI Express的接收端(Rx)100的分层协议结构示意图。PCI Express的传输结构包括实体层(Physical)110、数据链接层(Data Link Layer)120、交易层(Transaction Layer)130、以及应用软件(Sof tware)140。而在发送端(Tx)(未显示)部分,对数据进行分包处理,即将数据切割为多个包,然后利用快速分包(fast packet)交换技术进行帧传送(frame relay),按照“交易层→数据链接层→实体层”的顺序将各层的首标或打包信息附加到每一数据包。
请参考图2A及图2B,图2A为表示PCI Express于发送端200a的帧传送流程图。图2B为表示PCI Express于接收端200b的帧传送流程图。在图2A中整批欲传送的数据被切割为多个数据包,然后通过应用软件140a依序传送每一数据包。在将包含数据210a的其中一数据包传送到交易层130a时,该数据包中会被加入一首标(header)220a,首标220a记录有该数据包的来源地址与目地地址,以确保数据210a可正确地被送抵接收端200b的交易层130b。接着,将该数据包传送到数据链接层120a,此时会在该数据包中加入一序号(sequence number)230a与检核码(Link Cyclical Redundancy Check,LCRC)240a。序号230a表示目前传送的数据包在整批数据中的顺序,以便接收端200b的应用软件140b取得所有数据包时,可依每一数据包的序号将数据重新组合还原。LCRC 240a则可确保数据210a传输的正确性与完整性。接下来,在该数据包被传送到实体层110a后,数据包会被加入帧类别(frametype)250a,以表示数据210a的数据类别。
在图2B中,数据包在经过分包处理后,会经由一传输媒介260传送到接收端200b,各层会将其对应首标或打包信息取下以进行包处理。首先数据包会传送到接收端200b的实体层110b,在此将包含数据210b的数据包的帧类别250b取下,令应用软件140b得知数据包中包含的数据210b的数据类别。接着将数据包传送到数据链接层120b,在此将数据包的序号230b与检核码240b取下,令应用软件140b得知数据包的传送顺序,并且验证数据210b的正确性与完整性。接着将数据包传送到交易层130b,在此将数据包的首标220b取下,令应用软件140b得知该数据包的的地址信息。将数据包解包完成后,将数据210b传送给应用软件140b以还原原始数据。
在传统的PCI Express的传输结构中,数据包需依序经过层层处理,亦即依“实体层→数据链接层→交易层”的顺序对数据包进行解包处理,最后再利用应用软件还原原始数据,这样的包处理方式在数据量很大时,执行效率会变得很差,故需要一个较佳的数据处理方法以增进执行效率。
发明内容
有鉴于此,本发明的目的在提供一种串行传输接口的数据处理方法,用以增进数据包的处理效率。
基于所述目的,本发明提供一种串行传输接口的数据处理方法,其适用于PCI Express的数据传输。一实体层取得一数据包,其将所述数据包同时传送至一数据链接层与一交易层,并且该数据链接层与交易层同时对该数据包进行数据处理。
本发明还提供一种串行传输接口的数据处理系统,其适用于PCI Express的数据传输。该系统包括一实体层、一数据链接层、以及一交易层。该实体层自一发送端取得一数据包,并且将该数据包传送出去。该数据链接层与交易层自该实体层同时取得该数据包,并且对所述数据包进行数据处理。
附图说明
为让本发明的所述和其它目的、特征和优点能更明显易懂,下文特举出较佳实施例,并配合附图,详细说明如下。
图1为表示PCI Express的接收端的分层协议结构示意图。
图2A为表示PCI Express于发送端200a的帧传送流程图。
图2B为表示PCI Express于接收端200b的帧传送流程图。
图3为表示串行传输接口的数据处理系统的结构示意图。
图4为表示本发明的PCI Express的帧传送流程图。
图5为表示串行传输接口的数据处理方法的步骤流程图。
符号说明
100、200b、300、400~接收端
110、110a、110b、310~实体层
120、120a、120b、320~数据链接层
130、130a、130b、330~交易层
140、140a、140b、340~应用软件
200a~发送端
210a、210b、410~数据
220a、220b、420~首标
230a、230b、430~序号
240a、240b、440~检核码
250a、250b、450~帧类别
260、460~传输媒介
350~数据缓冲区
具体实施方式
本发明提供一种串行传输接口的数据处理方法与系统。
请同时参考图3及图4,图3为表示串行传输接口的数据处理系统的结构示意图,图4为表示本发明的PCI Express的帧传送流程图。本发明的系统结构于接收端300包括实体层310、数据链接层320、交易层330、应用软件340以及数据缓冲区350,发送端会通过应用软件340发送数据包,并对数据进行分包处理,并依照“交易层330→数据链接层320→实体层310”的顺序将各层的首标或打包信息附加到每一数据包,然后传送到接收端。也就是说,将整批欲传送的数据被切割为多个数据包,然后由传送端(未显示)通过应用软件(未显示)依序传送每一数据包。将包含数据410的其中一数据包传送到交易层(未显示),则会在该数据包中会被加入首标420a。接着,将该数据包传送到数据链接层(未显示),则会在该数据包中加入序号430与检核码440。接下来,将该数据包被传送到实体层(未显示)后,则会在该数据包中加入帧类别450。数据包在经过分包处理后,会经由一传输媒介(未显示)传送到接收端400。
在图4中,接收端经由一传输媒体460取得来自发送端(未显示)的数据包后,即对数据包进行解包处理。首先,实体层310自发送端接收包含数据410的数据包,然后将帧类别450取下,令应用软件340得知数据410的数据类别,接着将数据包同时传送到数据链接层320与交易层330。
本发明的主要技术特征在于将数据包从实体层310同时传送到数据链接层320与交易层330以进行同步处理。当数据链接层320自实体层310取得该数据包时,会将数据包的序号430与检核码440取下,令应用软件340得知数据包的传送顺序,并且会对数据410在传输过程中的正确性与完整性进行验证。成功处理完该数据包后,数据链接层320会发出一处理成功的信息给交易层330。而若所述处理过程出现错误,则数据链接层320会发出一处理失败的信息给交易层330;而当该数据包成功处理完成后,数据链接层320亦会将该数据包传送给交易层330,令交易层330得知数据链接层320的数据处理过程无误。
另一方面,交易层330亦会自实体层310取得该数据包,并将数据包的首标420取下,令应用软件340得知该数据包的来源地址与目的地址,并且将数据包中的数据410复制到数据缓冲区350。当交易层330成功处理完该数据包时,数据410会传送给应用软件340;而若处理过程出现错误,则交易层330会丢弃该数据包,并且发出一重传信息给实体层310。在接收到此重传信息后,实体层310会重新传送另一数据包给交易层330(不须重送给数据链接层320),而当交易层330取得该数据包并完成处理后,会将该数据包的数据复制到数据缓冲区350以取代先前的数据。
如前文所述,数据链接层320会根据处理结果发出成功或失败信息给交易层330。当交易层330接收到处理失败的信息时,会丢弃目前的数据包,并且自数据缓冲区350取回一前次存储的数据包的数据以维持前一数据包的传送状态,并发出一重传信息给实体层310。当接收到重传信息时,实体层310会同时重新传送该数据包给数据链接层320与交易层330,然后分别重新执行数据处理程序。
图5为表示串行传输接口的数据处理方法的步骤流程图。
首先,提供一实体层310、数据链接层320、交易层330以及一数据缓冲区350,数据缓冲区350存储有一前次处理过的数据包的数据。
步骤S1,实体层310取得一数据包,并对数据包进行数据处理。
步骤S2,将处理后的数据包分别传送至数据链接层320与交易层330。
步骤S3,接下来,判断交易层330在数据处理过程中是否发生错误,若在数据处理过程中发生错误,则执行步骤S31,否则执行步骤S4。
步骤S31,若交易层330在数据处理过程中发生错误,则将数据包丢弃,并且发出一重传信息给实体层310;当实体层310接收到重传信息后,实体层310重新将数据包传送给交易层330,然后再回到步骤S3。
步骤S4,接着判断数据链接层320在数据处理过程中是否发生错误,若其在数据处理过程中发生错误,则执行步骤S41,否则执行步骤S5。
步骤S41,发出一处理失败的信息给交易层330。
步骤S42,当交易层330收到步骤S41发出的失败信息时,将目前的数据包丢弃,然后发出一重传信息给实体层,并且自数据缓冲区350取回一前次存储的数据包的数据以维持前一数据包的传送状态,接着到步骤S31,实体层310分别重新发送该数据包给数据链接层320与交易层330。
步骤S5,若数据处理过程无误,则数据链接层320发出一处理成功的信息给交易层330。
步骤S6,当交易层330收到此成功信息,则将数据包中的数据复制到数据缓冲区350。接着进行步骤S7,将数据传送给应用软件。所述步骤完成后,实体层会继续取得另一数据包以执行数据处理流程,直到取得所有数据包直到将传送的数据还原为止。
本发明的数据处理方法可在处理大量数据时,可通过同时将数据传送至数据链接层与交易层大幅减少执行时间且增进执行效能,并且可通过额外提供一数据缓冲区来管理数据传输过程中产生的错误。
本发明虽以优选实施例公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围的情况下,可进行更动与修改,因此本发明的保护范围以所提出的权利要求所限定的范围为准。

Claims (10)

1.一种串行传输接口的数据处理方法,其适用于PCI Express的数据传输,包括下列步骤:
一实体层取得一数据包;以及
将所述数据包同时传送至一数据链接层与一交易层;
其中,所述数据链接层与所述交易层同时对所述数据包进行数据处理。
2.如权利要求1所述的串行传输接口的数据处理方法,其中,所述数据处理还包括下列步骤:
判断所述交易层在数据处理过程中是否发生错误,
若所述交易层在数据处理过程中发生错误,则发出一重传信息给所述实体层;以及
使所述实体层重新传送所述数据包给所述交易层。
3.如权利要求2所述的串行传输接口的数据处理方法,其中,若所述交易层在数据处理过程中无误,则将所述数据包的数据存储于一数据缓冲区。
4.如权利要求1所述的串行传输接口的数据处理方法,其中,所述数据处理还包括下列步骤:
判断所述数据链接层在数据处理过程中是否发生错误;
若所述数据链接层在数据处理过程中发生错误,则
所述交易层自一数据缓冲区取回一前次存储的数据包的数据;
所述交易层发出一重传信息给所述实体层;以及
所述实体层重新同时传送所述数据包给所述数据链接层与所述交易层。
5.如权利要求4所述的串行传输接口的数据处理方法,其中,若所述数据链接层在数据处理过程中无误,则发出一处理成功的信息给所述交易层。
6.一种串行传输接口的数据处理方法,其适用于PCI Express的数据传输,包括下列步骤:
提供一实体层、一数据链接层、一交易层、以及一数据缓冲区,其中所述数据缓冲区中存储所述实体层取得的一第一数据包;
所述实体层取得一第二数据包;
将所述第二数据包同时传送至所述数据链接层与交易层;
所述数据链接层与交易层同时对所述第二数据包进行数据处理,且判断所述交易层在数据处理过程中是否发生错误;以及
若所述交易层在数据处理过程中发生错误,则令所述实体层同时重新传送所述第二数据包给所述数据链接层与交易层,并且自所述数据缓冲区取回所述第一数据包的数据。
7.如权利要求6所述的串行传输接口的数据处理方法,其中,判断所述交易层在数据处理过程中是否发生错误的步骤还包括下列步骤:
若所述交易层在数据处理过程中发生错误,则发出一重传信息给所述实体层以使所述实体层重新传送所述第二数据包给所述交易层。
8.如权利要求7所述的串行传输接口的数据处理方法,其中,若所述交易层在数据处理过程中无误,则将所述第二数据包的数据存储于所述数据缓冲区以取代所述第一数据包的数据。
9.如权利要求6所述的串行传输接口的数据处理方法,其中,所述数据链接层对所述第二数据包进行数据处理的步骤还包括下列步骤:
判断所述数据链接层在数据处理过程中是否发生错误;
若所述数据链接层在数据处理过程中发生错误,则
所述交易层自所述数据缓冲区取回所述第一数据包的数据;
所述交易层发出一重传信息给所述实体层;以及
所述实体层重新同时传送所述第二数据包给所述数据链接层与所述交易层。
10.如权利要求9所述的串行传输接口的数据处理方法,其中,若所述数据链接层在数据处理过程中无误,则发出一处理成功的信息给所述交易层。
CNB2005100893375A 2005-08-02 2005-08-02 串行传输接口的数据处理方法与系统 Active CN100403733C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100893375A CN100403733C (zh) 2005-08-02 2005-08-02 串行传输接口的数据处理方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100893375A CN100403733C (zh) 2005-08-02 2005-08-02 串行传输接口的数据处理方法与系统

Publications (2)

Publication Number Publication Date
CN1719809A CN1719809A (zh) 2006-01-11
CN100403733C true CN100403733C (zh) 2008-07-16

Family

ID=35931534

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100893375A Active CN100403733C (zh) 2005-08-02 2005-08-02 串行传输接口的数据处理方法与系统

Country Status (1)

Country Link
CN (1) CN100403733C (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105608029B (zh) * 2015-12-17 2018-08-21 深圳市紫光同创电子有限公司 处理层数据包生成方法、装置及PCI Express系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038948A1 (en) * 2003-08-14 2005-02-17 Lueck Andrew W. Generating multiple traffic classes on a PCI express fabric from PCI devices
CN1591382A (zh) * 2003-08-29 2005-03-09 得州仪器公司 在pci-express扩展连接上的lpc处理桥接

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050038948A1 (en) * 2003-08-14 2005-02-17 Lueck Andrew W. Generating multiple traffic classes on a PCI express fabric from PCI devices
CN1591382A (zh) * 2003-08-29 2005-03-09 得州仪器公司 在pci-express扩展连接上的lpc处理桥接

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PCI Express技术分析. 陈健
PCI Express技术分析. 陈健;靳浡.高性能计算技术. 2004 *
靳浡.高性能计算技术. 2004

Also Published As

Publication number Publication date
CN1719809A (zh) 2006-01-11

Similar Documents

Publication Publication Date Title
US20240106736A1 (en) System and method for facilitating efficient packet forwarding using a message state table in a network interface controller (nic)
CN100520758C (zh) 提高tcp重发处理速度
CN105531685B (zh) 通用pci express端口
US8296386B1 (en) Method and system for processing network packets
US8174977B2 (en) End-to-end flow control in a network
US8166227B2 (en) Apparatus for processing peripheral component interconnect express protocol
CN103905300B (zh) 一种数据报文发送方法、设备及系统
EP2782020B1 (en) Completion combining to improve effective link bandwidth
US20070058670A1 (en) UDP to TCP bridge
US20050132089A1 (en) Directly connected low latency network and interface
CN102035751A (zh) 一种数据的传输方法和设备
CN104239256A (zh) 通过sas的pcie隧穿
EP1124362A2 (en) Apparatus for processing TCP/IP by hardware, and operating method therefor
CN106953853A (zh) 一种片上网络千兆以太网资源节点及其工作方法
CN105376129A (zh) 一种1394总线事务层-链路层数据包发送电路及方法
US10178018B2 (en) Transmission and reception devices
TW200415474A (en) Method and apparatus for intermediate buffer segmentation and reassembly
CN100403733C (zh) 串行传输接口的数据处理方法与系统
US20100017458A1 (en) Techniques for broadcasting messages on a point-to-point interconnect
US7024613B2 (en) Method and apparatus for implementing infiniband transmit queue
EP1225741B1 (en) High speed interconnection for embedded systems within a computer network
JPH0320094B2 (zh)
WO2022227472A1 (zh) 基于双通道和rssp-i的通信方法、装置、电子设备及存储介质
JPWO2017199913A1 (ja) 送信装置、方法およびプログラム
CN116633911A (zh) 数据处理方法、设备及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant