数据链路层传输器、优先权分配方法与优先权系统的制作方法

文档序号:7968805阅读:181来源:国知局
专利名称:数据链路层传输器、优先权分配方法与优先权系统的制作方法
技术领域
本发明关于序列式数据链路传输的优先权调度,尤指应用于高速PCI的序列式互连架构。
背景技术
近年来,被设计作为计算机系统中元件的数据转移使用的高速外围元件互连 (Peripheral Component Interconnect, PCI),已被广泛地应用于高速序列式链路输入输出(I/O)互连。高速PCI是一种序列式总线,与并列式总线相较,该种类的总线得以较少的针脚数目提供更高的效能,因此高速PCI便被用来以取代并列式的PCI与PCI-X总线规格。 有关于高速PCI的说明,请参见由PCI特殊利益团体(Special Interest Group, SIG)所管理与散布的高速PC I规格书。于高速PCI架构中,高速PCI装置具有三个不连续的逻辑层,S卩,一交换层 (Transaction Layer)、一数据链路层(Data Link Layer)与一物理层(Physical Layer), 且各逻辑层分别具有一个传输部与一个接收部。于序列式链路上,高速PCI利用封包作为元件间的信息沟通使用,这些封包包括由数据链路层产生并消耗的数据链路层封包(data link layer packets,DLLPs),以及由交换层产生并消耗的交换层封包(transaction layer packets, TLPs)。作为管理序列式数据链路使用的是数据链路层封包,其包含不同种类,例如与初始化、序列式链路的流程控制、功率管理等相关的数据链路层封包;而交换层封包则作为元件彼此间沟通交易使用,例如数据的读取与写入交易及该等种类的事件。不同种类的多个数据链路层封包及交换层封包可能排在同时传输。高速PCI数据链路层包含一仲裁器,通过该仲裁器对传输的封包进行优先权排序。该仲裁器依照一个优先权规则决定第一个传输的封包。原则上,该优先权规则必须确保所有封包均能于一定期间内完成传输,且不会被其它种类的封包所阻碍。该优先权规则可能影响一高速PCI链路上的传输效能,举例而言,倘若一个优先权规则分配一确认(Ack)数据链路层封包一相对较低的传输优先权,则该确认数据链结层封包会等待其它交换层封包的传输,若于该等待期间内,针对另一个接收的交换层封包又排了另一个确认封包,依据高速PCI的规格书的作法,此时仅需要传输第二个确认数据链路层封包,因为第二个确认数据链路层封包提供的信息,得用以取代第一个确认数据链路层封包的信息。亦即,这些确认数据链路层封包被重整成为一个确认数据链路层封包,藉此得以有效率地利用频宽。另一方面,倘若该优先权规则,分配一最高优先权给确认数据链路层封包传输,则每接收到交换层封包,便要传输确认数据链路层封包一次,这将丧失重整确认数据链路层封包的效益,而造成传输频宽的浪费,这个例子说明了优先权规则可能影响传输的效能的事实。高速PCI基本规格书第1. 1修订版本指定了一个建议使用的传输调度的优先权规则,如下所述1.完成目前处理中的任何交换层封包或数据链路层封包的传输(最高优先权);2.否认(Nak)数据链路层封包传输;3.于接收一重复的交换层封包,或确认延迟(latency)定时器时间届满时,尽速进行传输确认数据链路层封包传输;4.流程控制数据链路层封包传输(UPdateFC);5.重试缓冲区的再传输;6.交换层的交换层封包;7.流程控制数据链路层封包传输(initFCl及initFC2);8.所有其它的数据链路层封包传输(最低优先权)。高速PCI基本规格书所载的建议优先权规则,在一根联合体(root complex, RC) 牵连至更复杂的交换行为时缺乏弹性,且该建议优先权规则在某些情形可能导致系统效能低落。

发明内容
本发明的一个目的,是提供一种高速PCI数据链路层传输器,自多个调度交换层封包及数据链路层封包中选择封包,于一高速PCI数据链路上进行传输,该数据链路层传输器包含多个仲裁器,其中每一个仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类,自该多个调度交换层封包及数据链路层封包中选择一封包。该数据链路层传输器装置亦包含一选择器,耦接至该多个仲裁器,该选择器用以自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包,于该高速PCI数据链路上进行传输。根据上述构想,该数据链路层传输器包含一可编程的储存元件,其提供一数值予该选择器,以控制该选择器自该多个仲裁器中选择该仲裁器。根据上述构想,至少一第一仲裁器所使用的优先权规则,令交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及至少一第二仲裁器所使用的优先权规则, 令确认/否认数据链路层封包的优先权高于交换层封包的优先权。根据上述构想,至少一第一仲裁器,其使交换层封包的优先权高于确认/否认数据链路层封包的优先权以及更新流程控制数据链路层封包的优先权;至少一第二仲裁器, 其使确认/否认数据链路层封包的优先权,高于该交换层封包的优先权以及更新流程控制数据链路层封包的优先权;以及至少一第三仲裁器,其使更新流程控制数据链路层封包的优先权,高于交换层封包的优先权以及确认/否认数据链路层封包的优先权。本发明的另一目的,是提供一种传输方法,应用于一高速PCI数据链路层传输器, 通过一高速PCI数据链路传输交换层封包及数据链路层封包,该传输方法包括步骤由多个不同的优先权规则中选择一优先权规则,该多个不同的优先权规则使得每种交换层封包及数据链路层封包具有不同的优先权。该操作方法亦包含步骤使用该选择的优先权规则, 于多个调度交换层封包及数据链路层封包中,选择一交换层封包或数据链路层封包,于该高速PCI数据链路上进行传输。本发明的又一目的,是提供一种高速PCI数据链路层传输器的操作方法,于一高速PCI数据链路上传输交换层封包及数据链路层封包,该方法包含步骤该数据链路传送器使用多个不同优先权规则以便自多个调度高速PCI交换层封包及数据链路层封包中进行选择,预测其中之一优先权规则能产生最佳效能,以便于该数据链结上进行调度传输,其中对于不同种类的该多个调度交换层封包及数据链路层封包,每一个优先权规则会分配不同的优先权。该操作方法亦包含步骤编程该数据链路层传输器,使其应用该预测的优先权规则,藉以自该多个调度高速PCI交换层封包及数据链路层封包中进行选择。本发明的又一目的,是提供一种数据链路层传输器,应用于高速PCI装置中,以管理高速PCI交换层封包及数据链路层封包,该数据链路层传输器包含优先权系统,其包含第一数据链路层封包,供初始化流程控制使用,具有最高的优先权;以及闲置数据字符,具有最低的优先权。本发明的又一目的,是提供一种优先权分配方法,该方法应用于高速PCI装置的数据链路层传输器,用以对交换层封包及数据链路层封包进行调度,其包含以下步骤使第一数据链路层封包具有最高优先权,该第一数据链路层封包供初始化流程控制使用;以及使一闲置数据字符具有最低优先权。本发明的又一目的,是提供一种优先权系统,建立于高速PCI装置的数据链路层传输器内,以管理交换层封包及数据链路层封包的传输,该优先权系统包含最高优先权, 分配给供流程控制初始化使用的数据链路层封包;次高优先权,分配给供功率状态进入使用的数据链路层封包;以及最低优先权,分配给闲置数据字符。


本发明图式中所包含的各元件列式如下图1为本发明的高速PCI装置方块图。图2为本发明图1所示的高速PCI装置的部分元件方块图,特别是图1中的高速数据链路层传输器。
图3为本发明图2所示的高速数据链路层传输器的操作流程图。 图4为说明本发明实施例中编程图2所示的控制暂存器的流程图< 本发明图式中所包含的各元件列示如下
102交换层传输器
106物理层传输器
114数椐链路层接收器
122高速PCI序列式链路
204-1 ~ 204-7 仲裁器 208 控制暂存器 224-1 ~ 224-7仲裁器输出
104数椐链路层传输器
112交换层接收器
116物理层接收器
202调度封包池
206 多工器 212 最终允许传输
具体实施方式
本发明描述的实施例提供一个高速PCI数据链路层传输器以解决前述的效能问题,该传输器定义了多个(于一实施例中为七个)优先权规则供调度传输(封包)使用。该数据链路层传输器包含一个可编程的控制暂存器(于一实施例中为三位暂存器),用以选择该多个优先权规则之一,以便选择下一个传输封包。每一个优先权规则可针对特定交换型态而提升效能。举例而言,一个高档的3D高速PCI显示卡,对于一个高速PCI根联合体 (Root Complex, RC)提出需求时,将需要大规模的上游存储器读取(memory read, Mrd)周期(cycle)。为了达到较佳的传输效能,该根联合体需要传输背对背(back-to-back)的完成交换层封包。因此,在一个使用大量上游存储器读取周期的交换型态中,数据链路层传输器可以从多个优先权规则中选择,使交换层封包的传输优先权较数据链路层封包的传输优先权为高,以增加交换层封包的背对背完成发生的可能性,并可以减少因为确认/否认数据链路层封包传输,导致中断交换层封包的背对背完成的情况发生。已知技术中,数据链路层传输器采用高速PCI基本规格书所建议的单一优先权规则,而本发明提供自多个优先权规则中进行选择的技术,可以大大地提升其效能。请参考图1,其为依据本发明所使用的高速PCI装置100的方块图,该高速PCI装置100可以使用于高速PCI的根联合体、端点、交换元件、或桥接器。该高速PCI装置100包含一交换层传输器102,其耦接于一数据链路层传输器104,另包含一物理层传输器106,其耦接于该数据链路层传输器104 ;该高速PCI装置100亦包含一个交换层接收器112,其耦接于一数据链路层接收器114,另包含一物理层接收器116,其耦接于该数据链路层接收器 114。该物理层传输器106及该物理层接收器116分别耦接至该高速PCI序列式链路122, 可与连接至该序列式链路112另外一端的另一个高速PCI装置进行传送或接收高速PCI封包(数据链路层封包及交换层封包)的行为。高速PCI规格书载明高速PCI架构包含三个不连续的逻辑层,即交换层、数据链路层与物理层,且各逻辑层分别具有一个传输部与一个接收部。关于这三个逻辑层不同功能的详细说明,请参见高速PCI规格书。元件102至元件116配合这些逻辑层并进行高速 PCI规格书所描述的功能,不同的是,在高速PCI规格书中,数据链路层传输器仅使用一个优先权规则来选择要传输的封包,本发明作法则不然。请参见图1,本发明对于高速PCI规格书的数据链路层传输器104进行修改,使数据链路层传输器104不但可以使用多个优先权规则中的一个优先权规则,从多个调度的数据链路层封包与交换层封包中选择要传输的封包,还可以自行选择该优先权规则。更有利的是,用以选择封包的优先权规则,其选择是在高速PCI装置100的操作过程中动态决定的,该选择方式则是通过编程一个控制暂存器指定所要使用的优先权规则。尽管图1中的元件102-116是以逻辑元件的方式描述,在实施例中可通过一硬件电路实现该功能,在其它实施例中,可以通过一个或多个可编程的处理器,以执行储存程序的方式实现其部分功能。请参见图2,其是图1的高速PCI装置100的部分元件方块图,特别是图1中的高速PCI数据链路层传输器104。该高速PCI装置100包含一调度封包池202,该调度封包池 202包含所有由交换层传输器102与数据链路层传输器104产生的交换层封包及数据链路层封包,所有封包于该序列链路122上已备妥即将传输。于一实施例中,该调度封包池202 包含多个调度封包队伍,每一个队伍持有一封包种类的调度封包。具体而言,各队伍的封包种类对应于以下所讨论的多个优先权规则所指定的封包种类。举例而言,于一实施例中,对于下述表一所指定的封包种类均有一个对应的调度封包队伍,因为表一的第一优先权规则将表二至表七中认为相同种类的封包区分成两种封包,所以表一实际上为表二至表七所列的不同封包种类的超集。于一实施例中,在同一个调度封包队伍里的封包,其相同种类封包以先进先出的方式进行传输。该数据链路层传输器104包含多个优先权规则仲裁器204-1、204-2、204_3、 204-4、204-5、204-6及204-7,下面统称为优先权规则仲裁器204或仲裁器204。每一个仲裁器204均得检视该调度封包池202的内容,并依据个别仲裁器所对应的优先权规则,自该调度封包池202选择一个封包准备于序列链路122上进行传输。于一实施例中,仲裁器204-1 使用表一的第一优先权规则;仲裁器204-2使用表二的第二优先权规则;仲裁器204-3使用表三的第三优先权规则;仲裁器204-4使用表四的第四优先权规则;仲裁器204-5使用表五的第五优先权规则;仲裁器204-6使用表六的第六优先权规则;仲裁器204-7使用表七的第七优先权规则。每一个仲裁器204由个别的输出端224-1至224-7输出其选定的封包,输出端2M-1至2M-7将统称为输出端224。该数据链路层传输器104亦包含一个七对一多工器206,该多工器206的七个输入端分别连接至该七个仲裁器的个别输出端224-1至224-7。一个控制暂存器208提供一控制信号2 至该多工器206的控制输入端,通过其控制,选择由输入端2M-1至2M-7其中的一个作为该多工器206的输出,作为最终允许的传输212,即,将在数据链路122上传输的封包。于一实施例中,该控制暂存器208为三位的暂存器,其可以记录经编码过的数值,用以选择仲裁器204的一特定输出224。于一实施例中,该控制暂存器208是可编程的,得以在该高速PCI装置100的操作过程中,动态选择某个优先权规则,于说明图4时将提供更进一步的讨论。图2中的七个优先权规则仲裁器204使用表一至表七的七个优先权规则。关于个别封包种类的定义请参见高速PCI基本规格书修订版本1. 1,以下仅简要说明个别封包种类的意义。 1.流程控制数据链路层封包传输,其是供初始化流程控制使用的数据链路层数据封包,例如 initFCl 与 initFC2。2.功率管理数据链路层封包传输,其是供功率状态进入使用的数据链路层封包, 例如 PM_Enter_Ll、PM_Enter_L23 及 PM_Active_State_Request_Ll。3.流程控制数据链路层封包传输,例如UpdateFC是供更新流程控制使用的数据链路层封包。4.功率管理数据链路层封包传输,PM_Request_Ack是供确认该功率管理数据链路层封包传输使用的数据链路层封包。表一第一优先权规则优先权封包种类
1流程控制数椐链路层封包传输(initFCl及initFC2)
2功率管理数椐链路层封包传输(PM_Enter_Ll、 PM_Enter_L23 及 PM-Active — State—Request—Ll)
3确认/否认数椐链路层封包传输
(导因于以下可能 -收到一个重复的交换层封包
-收到一个损坏的交换层封包
-确认延迟定时器的时间届满)
4回放交换层封包传输(重试缓冲区的再传输)
5新的交换层封包传输(来自交换层的交换层封包,包括完成交换层封包)
6流程控制数椐链路层封包传输(Upda teFC)
7功率管理数椐链路层封包传输(PM-Request-Ack)
8确认/否认数椐链路层封包传输(收到一个交换层封包, 该封包的SEQ数目多于已确认的交换层封包的SEQ数目)
9传输闲置(无调度传输)表二第二优先权规则优先权封包种类
1流程控制数椐链路层封包传输(initFCl及initFC2)
2功率管理数椐链路层封包传输(PM_Enter_Ll、 PM_Enter_L23 及 PM-Active — State—Request—Ll)
3回放交换层封包传输(重试缓冲区的再传输)
4新的交换层封包传输(来自交换层的交换层封包,包括完成交换层封包)
5确认/否认数椐链路层封包传输
(导因于以下可能 -收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满
-收到一个交换层封包,该封包的SEQ数目多于已确认的交换层封包的SEQ数目)
6流程控制数椐链路层封包传输(Upda teFC)
7功率管理数椐链路层封包传输(PM-Request-Ack)
8传输闲置(无调度传输)表三第三优先权规则优先权封包种类
1流程控制数椐链路层封包传输(initFCl及initFC2)
2功率管理数椐链路层封包传输(PM_Enter_Ll、 PM_Enter_L23 及 PM-Active — State—Request—Ll)
3回放交换层封包传输(重试缓冲区的再传输)
4新的交换层封包传输(来自交换层的交换层封包,包括完成交换层封包)
5流程控制数椐链路层封包传输(Upda teFC)
6确认/否认数椐链路层封包传输 (导因于以下可能
-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满
-收到一个交换层封包,该封包的SEQ数目多于已确认的交换层封包的SEQ数目)
7功率管理数椐链路层封包传输(PM-Request-Ack)
8传输闲置(无调度传输)表四第四优先权规则
优先权封包种类
1流程控制数椐链路层封包传输(initFCl及initFC2)
2功率管理数椐链路层封包传输(PM_Enter_Ll、 PM_Enter_L23 及 PM-Active — State—Request—Ll)
3确认/否认数椐链路层封包传输 (导因于以下可能
-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满
-收到一个交换层封包,该封包的SEQ数目多于已确认的交换层封包的SEQ数目)4回放交换层封包传输(重试缓冲区的再传输)
5新的交换层封包传输(来自交换层的交换层封包,包括完成交换层封包)
6流程控制数椐链路层封包传输(Upda teFC)
7功率管理数椐链路层封包传输(PM-Request-Ack)
8传输闲置(无调度传输)表五第五优先权规则
优先权封包种类
1流程控制数椐链路层封包传输(initFCl及initFC2)
2功率管理数椐链路层封包传输(PM_Enter_Ll、 PM_Enter_L23 及 PM-Active — State—Request—Ll)
3确认/否认数椐链路层封包传输 (导因于以下可能
-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满
-收到一个交换层封包,该封包的SEQ数目多于已确认的交换层封包的SEQ数目)
4流程控制数椐链路层封包传输(UpdateFC)
5回放交换层封包传输(重试缓冲区的再传输)
6新的交换层封包传输(来自交换层的交换层封包,包括完成交换层封包)
7功率管理数椐链路层封包传输(PM-Request-Ack)
8传输闲置(无调度传输)表六第六优先权规则
优先权封包种类
1流程控制数椐链路层封包传输(initFCl及initFC2)
2功率管理数椐链路层封包传输(PM_Enter_Ll、 PM_Enter_L23 及 PM-Active — State—Request—Ll)3流程控制数椐链路层封包传输(Upda teFC)
4回放交换层封包传输(重试缓冲区的再传输)
5新的交换层封包传输(来自交换层的交换层封包,包括完 成交换层封包)
6确认/否认数椐链路层封包传输 (导因于以下可能
-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满
-收到一个交换层封包,该封包的SEQ数目多于已确认 的交换层封包的SEQ数目)
7功率管理数椐链路层传输(PM-Request-Ack)
8传输闲置(无调度传输)表七第七优先权规则
优先权封包种类
1流程控制数椐链路层封包传输(initFCl及initFC2)
2功率管理数椐链路层封包传输(PM_Enter_Ll、 PM_Enter_L23 及 PM-Active — State—Request—Ll)
3流程控制数椐链路层封包传输(UpdateFC)
4确认/否认数椐链路层封包传输 (导因于以下可能
-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满
-收到一个交换层封包,该封包的SEQ数目多于已确认 的交换层封包的SEQ数目)
5回放交换层封包传输(重试缓冲区的再传输)
6新的交换层封包传输(来自交换层的交换层封包,包括完 成交换层封包)
7功率管理数椐链路层封包传输(PM-Request-Ack)
8传输闲置(无调度传输)请参考图3的流程图,用以解释图2中,本发明的高速PCI数据链路层传输器104 的操作。该流程自步骤302开始。于步骤302中,该数据链路层传输器104准备好要在图1所示的高速PCI序列式链路122上传输一个封包(即,来自调度封包池202的数据链路层封包或交换层封包)。普遍说来,该数据链路层传输器104可如其所愿的进行传输,但在某些情况,如初始化或流程控制限制下,会要求该数据链路层传输器104先等待后,再传输封包。接着流程进入至步骤 304。于步骤304中,图2中的每一个仲裁器204,均对封包池202中准备调度传输的封包进行检查,并各自选择其中一个封包进行传输。每一个仲裁器204均使用个别的优先权规则(如上述表一至表七中的任一个优先权规则)来选择封包。每一个仲裁器204通过个别的输出端224-1至224-7输出其选定的封包给多工器206。接着流程进入至步骤306。于步骤306中,该多工器206自输入224_1至224_7中择一作为最终允许传输的封包212。具体而言,依据控制暂存器208的输出206,藉以指定传输的封包为224-1至224-7 的其中一个,作为该多工器206选择的最终允许传输的封包212。流程结束于步骤306。请参见图4的流程图,其绘示依据本发明图2的控制暂存器208的可编程流程。该流程自步骤402开始。于步骤402中,依据如图2中数据链路层传输器104即将于序列式链路122上传输的混合或串流形态的封包种类,一个元件预测前述表一至表七中的某一优先权规则可提供最高效能。该预测元件可能为系统软件,例如在系统CPU上执行的装置驱动程序;该预测元件可能是成对的高速PCI装置,通过序列式链路122耦接至图1中的高速PCI装置100, 例如一影像控制器、一储存装置控制器、一网络接口控制器等;该预测元件亦可能是用以控制该成对高速PCI装置的软件。举例而言,图1中的高速PCI装置100,可为一根联合体, 耦接至一高速PCI影像卡及影像控制器;或为一控制该影像控制器的软件,知道该影像控制器即将请求该根联合体进行传输,传输大量的存储器读取完成交换层封包至该影像控制器。此外,针对主要为交换层封包(如存储器读取完成交换层封包)的封包串流,该影像控制器或控制该影像控制器的软件知道在表一至表七中的特定优先权规则可能产生最佳的效能。流程继续进行至步骤404。请见步骤404,针对该数据链路层传输器104即将执行的混合封包种类传输,该预测元件以特定的数值编程图2的控制暂存器208,选择具有最佳效能的优先权规则。流程结束于步骤404。经由上述的说明可以得知,与一个仅使用单一优先权规则的高速PCI数据链路层传输器相比较,本发明具有从多个优先权规则中进行选择的能力,以便自不同种类的多个数据链路层封包与交换层封包中选择进行传输的封包,此弹性的作法可促进较佳的效能。 这样的方式,特别适用于一些情形,即,高速PCI根联合体牵涉复杂的传输串流,以及/或不同种类的高速PCI端点装置等情形。尽管上述的各实施例中,高速PCI数据链路层传输器的控制暂存器通过耦接至根联合体的CPU进行编程的操作,该高速PCI数据链路层传输器亦可能包含一高速PCI从属端接口,用以接受PCI设定写入周期,使其它的高速PCI主控端得以编程该控制暂存器。再者,上述实施例虽说明高速PCI数据链路层传输器位于一高速PCI装置上的根联合体内,该数据链路层传输器还可以应用于任何高速PCI装置内,包括高速PCI的端点、交换元件或桥接器。更进一步而言,尽管上述实施例说明该高速PCI数据链路层传输器使用一特定数目的优先权规则(于一实施例中,该数目为七),但亦可考虑其它数目的优先权规则,本发明并不限制该数目。最后,尽管上述实施例说明了数种优先权规则,但本发明并不限于上述的特定优先权规则,亦可考虑其它的优先权规则。 虽然本发明以较佳实施例揭露如上,然其仅用于说明而非限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰。举例而言,软件可用以提供装置与方法的功能、组建、模化、模拟、描述及/或测试。这可以通过一般的程序语言(例如C、C++)、硬件描述语言(hardware description language,HDL)如 Verilog HDL、 VHDL等,或其它可能的程序。此类软件可被放置于任何已知的计算机使用媒介,例如一半导体,一磁盘或一光盘片(例如⑶-ROM,DVD-ROM等)。本发明所描述的装置与方法实施例可能包含在半导体智慧财产核心,例如一个微处理器核心或芯片组核心(如通过硬件描述语言实现),而转换为集成电路制程的硬件。此外,本发明的装置与方法可能通过一硬件与软件的组合实现。因此本发明的保护范围不应限制于上述作为范例使用的最佳实施例,而当视上述权利要求范围所定义及其均等要件为准。具体而言,本发明可以应用于一般计算机系统中的微处理器装置或芯片组装置。最后,本领域技术人员可应用本发明所揭露的观念与特定实施例,设计或修改其它架构达成与本发明相同目的,仍不脱如附权利要求范围所定义的范畴。
1权利要求
1.一种数据链路层传输器,应用于高速PCI装置中,以管理高速PCI交换层封包及数据链路层封包,该数据链路层传输器包含优先权系统,其包含第一数据链路层封包,供初始化流程控制使用,具有最高的优先权;以及闲置数据字符,具有最低的优先权。
2.根据权利要求1所述的数据链路层传输器,其中该优先权系统还包含第二数据链路层封包,供功率状态进入使用,其优先权较该第一数据链路层封包的优先权为低。
3.根据权利要求2所述的数据链路层传输器,其中该优先权系统还包含再播放交换层封包,供重试缓冲区的再传输使用,其优先权较该第二数据链路层封包的优先权为低;以及新的交换层封包,其优先权较该再播放交换层封包的优先权为低。
4.根据权利要求3所述的数据链路层传输器,其中该优先权系统还包含 确认/否认数据链路层封包,其优先权较该新的交换层封包的优先权为低;第三数据链路层封包,供更新流程控制使用,其优先权较该确认/否认交换层封包为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该第三数据链路层封包的优先权为低。
5.根据权利要求3所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新流程控制使用,其优先权较该新的交换层封包的优先权为低;确认/否认数据链路层封包,其优先权较该第三数据链路层封包的优先权为低; 第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该确认/否认数据链路层封包的优先权为低。
6.根据权利要求2所述的数据链路层传输器,其中该优先权系统还包含 确认/否认数据链路层封包,其优先权较该第二数据链路层封包的优先权为低。
7.根据权利要求6所述的数据链路层传输器,其中该优先权系统还包含回放交换层封包,供重试缓冲区的再传输使用,其优先权较该确认/否认数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低; 第三数据链路层封包,供更新流程控制使用,其优先权较该新的交换层封包的优先权为低;第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该第三数据链路层封包的优先权为低。
8.根据权利要求7所述的数据链路层传输器,其中该优先权系统还包含确认/否认交换层封包,其SEQ数目大于该确认交换层封包,其优先权较该第四数据链路层封包的优先权低。
9.根据权利要求6所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新状态流程控制使用,其优先权较该确认/否认交换层封包的优先权为低;回放交换层封包,供重试缓冲区的再传输使用,其优先权较该第三数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该新的交换层封包的优先权为低。
10.根据权利要求2所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新流程控制使用,其优先权较该第二数据链路层封包的优先权为低。
11.根据权利要求10所述的数据链路层传输器,其中该优先权系统还包含回放交换层封包,供重试缓冲区的再传输使用,其优先权较该第三数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低; 确认/否认数据链路层封包,其优先权较该新的交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该新的交换层封包的优先权为低。
12.根据权利要求10所述的数据链路层传输器,其中该优先权系统还包含 确认/否认数据链路层封包,其优先权较该第三数据链路层封包的优先权为低; 回放交换层封包,供重试缓冲区的再传输使用,其优先权较该确认/否认数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该新的交换层封包的优先权为低。
13.一种优先权分配方法,该方法应用于高速PCI装置的数据链路层传输器,用以对交换层封包及数据链路层封包进行调度,其包含以下步骤使第一数据链路层封包具有最高优先权,该第一数据链路层封包供初始化流程控制使用;以及使一闲置数据字符具有最低优先权。
14.根据权利要求13所述的优先权分配方法,该方法还包含以下步骤对多个封包进行调度,该多个封包有第二数据链路层封包,供功率状态进入使用; 确认/否认数据链路层封包; 回放交换层封包,供重试缓冲区再传输使用; 新的交换层封包;第三数据链路层封包,供更新流程控制使用;以及第四数据链路层封包,供确认该第二数据链路层封包使用。
15.根据权利要求14所述的优先权分配方法,该方法还包含以下步骤 使该第二数据链路层封包具有次高优先权。
16.根据权利要求14所述的优先权分配方法,该方法还包含以下步骤使该新的交换层封包具有紧接于该回放交换层封包之后的优先权。
17.根据权利要求14所述的优先权分配方法,该方法还包含以下步骤 使该第四数据链路层封包具有仅高于该闲置数据字符的优先权。
18.一种优先权系统,建立于高速PCI装置的数据链路层传输器内,以管理交换层封包及数据链路层封包的传输,该优先权系统包含最高优先权,分配给供流程控制初始化使用的数据链路层封包; 次高优先权,分配给供功率状态进入使用的数据链路层封包;以及最低优先权,分配给闲置数据字符。
19.根据权利要求18所述的优先权系统,该系统还包含两个优先权,分别分配给供重试缓冲区的再传输使用的回放交换层封包与一新的交换层封包。
20.根据权利要求18所述的优先权系统,该系统还包含次低优先权,分配给供功率状态进入确认使用的数据链路层封包。
全文摘要
本发明为一种数据链路层传输器,其包含多个仲裁器,其中每一个仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类而选择一个封包供传输;选择器,自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包;可编程的储存元件,其提供数值以控制该选择器。其中,至少于一优先权规则中,交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及至少于另一优先权规则中,确认/否认数据链路层封包的优先权高于交换层封包的优先权。
文档编号H04L12/40GK102347880SQ20111035406
公开日2012年2月8日 申请日期2009年8月11日 优先权日2008年8月14日
发明者曾纹郁, 赖彦廷 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1