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

文档序号:7621700阅读:159来源:国知局
专利名称:串行传输接口的数据处理方法与系统的制作方法
技术领域
本发明有关于一种数据处理方法,且特别有关于一种串行传输接口的数据处理方法。
背景技术
总线(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、以及应用软件(Software)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,将数据传送给应用软件。所述步骤完成后,实体层会继续取得另一数据包以执行数据处理流程,直到取得所有数据包直到将传送的数据还原为止。
本发明的数据处理方法可在处理大量数据时,可通过同时将数据传送至数据链接层与交易层大幅减少执行时间且增进执行效能,并且可通过额外提供一数据缓冲区来管理数据传输过程中产生的错误。
本发明虽以优选实施例公开如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围的情况下,可进行更动与修改,因此本发明的保护范围以所提出的权利要求所限定的范围为准。
权利要求
1.一种串行传输接口的数据处理方法,其适用于PCI Express的数据传输,包括下列步骤一实体层取得一数据包;以及将所述数据包同时传送至一数据链接层与一交易层;其中,所述数据链接层与所述交易层同时对所述数据包进行数据处理。
2.如权利要求1所述的串行传输接口的数据处理方法,其中,所述数据处理还包括下列步骤判断所述交易层在数据处理过程中是否发生错误,若所述交易层在数据处理过程中发生错误,则发出一重传信息给所述实体层;以及使所述实体层重新传送所述数据包给所述交易层。
3.如权利要求2所述的串行传输接口的数据处理方法,其中,若所述交易层在数据处理过程中无误,则将所述数据包的数据存储于一数据缓冲区。
4.如权利要求1所述的串行传输接口的数据处理方法,其中,所述数据处理还包括下列步骤判断所述数据链接层在数据处理过程中是否发生错误;若所述数据链接层在数据处理过程中发生错误,则所述交易层自一数据缓冲区取回一前次存储的数据包的数据;所述交易层发出一重传信息给所述实体层;以及所述实体层重新同时传送所述数据包给所述数据链接层与所述交易层。
5.如权利要求4所述的串行传输接口的数据处理方法,其中,若所述数据链接层在数据处理过程中无误,则发出一处理成功的信息给所述交易层。
6.一种串行传输接口的数据处理方法,其适用于PCI Express的数据传输,包括下列步骤提供一实体层、一数据链接层、一交易层、以及一数据缓冲区,其中所述数据缓冲区中存储所述实体层取得的一第一数据包;所述实体层取得一第二数据包;将所述第二数据包同时传送至所述数据链接层与交易层;所述数据链接层与交易层同时对所述第二数据包进行数据处理,且判断所述交易层在数据处理过程中是否发生错误;以及若所述交易层在数据处理过程中发生错误,则令所述实体层同时重新传送所述第二数据包给所述数据链接层与交易层,并且自所述数据缓冲区取回所述第一数据包的数据。
7.如权利要求6所述的串行传输接口的数据处理方法,其中,判断所述交易层在数据处理过程中是否发生错误的步骤还包括下列步骤若所述交易层在数据处理过程中发生错误,则发出一重传信息给所述实体层以令使所述实体层重新传送所述第二数据包给所述交易层。
8.如权利要求7所述的串行传输接口的数据处理方法,其中,若所述交易层在数据处理过程中无误,则将所述第二数据包的数据存储于所述数据缓冲区以取代所述第一数据包的数据。
9.如权利要求6所述的串行传输接口的数据处理方法,其中,所述数据链接层对所述第二数据包进行数据处理的步骤还包括下列步骤判断所述数据链接层在数据处理过程中是否发生错误;若所述数据链接层在数据处理过程中发生错误,则所述交易层自所述数据缓冲区取回所述第一数据包的数据;所述交易层发出一重传信息给所述实体层;以及所述实体层重新同时传送所述第二数据包给所述数据链接层与所述交易层。
10.如权利要求9所述的串行传输接口的数据处理方法,其中,若所述数据链接层在数据处理过程中无误,则发出一处理成功的信息给所述交易层。
全文摘要
一种串行传输接口的数据处理方法,其适用于PCI Express的数据传输。一实体层取得一数据包,其将所述数据包同时传送至一数据链接层与一交易层,并且该数据链接层与交易层同时对该数据包进行数据处理。
文档编号H04L29/08GK1719809SQ20051008933
公开日2006年1月11日 申请日期2005年8月2日 优先权日2005年8月2日
发明者王治强, 宋昭明, 郭天杰, 曾裕达 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1