可选传输优先权的高速外围元件互连传输器与控制方法

文档序号:7711462阅读:136来源:国知局
专利名称:可选传输优先权的高速外围元件互连传输器与控制方法
技术领域
本发明关于序列式数据链路传输的优先权调度,尤指应用于高速PCI的
序列式互连架构。
背景技术
近年来,被设计作为计算机系统中元件的数据转移使用的高速外围元件
互连(Peripheral Component Interconnect, PCI), 已被广泛地应用于高速 序列式链路输入输出(1/0)互连。高速PCI是一种序列式总线,与并列式总线 相较,该种类的总线得以较少的针脚数目提供更高的效能,因此高速PCI便 被用来以取代并列式的PCI与PCI-X总线规格。有关于高速PCI的说明,请 参见由PCI特殊利益团体(Special Interest Group, SIG)所管理与散布的高 速PCI规格书。
于高速PCI架构中,高速PCI装置具有三个不连续的逻辑层,即, 一交 换层(Transaction Layer)、 一数据链路层(Data Link Layer)与一物理层 (Physical Layer),且各逻辑层分别具有一个传输部与一个接收部。于序列 式链路上,高速PCI利用封包作为元件间的信息沟通使用,这些封包包括由 数据链路层产生并消耗的数据链路层封包(data link layer packets, DLLPs),以及由交换层产生并消耗的交换层封包(transaction layer packets, TLPs)。作为管理序列式数据链路使用的是数据链路层封包,其包 含不同种类,例如与初始化、序列式链路的流程控制、功率管理等相关的 数据链路层封包;而交换层封包则作为元件彼此间沟通交易使用,例如数据 的读取与写入交易及该等种类的事件。
不同种类的多个数据链路层封包及交换层封包可能排在同时传输。高速 PCI数据链路层包含一仲裁器,通过该仲裁器对传输的封包进行优先权排序。 该仲裁器依照一个优先权规则决定第一个传输的封包。原则上,该优先权规 则必须确保所有封包均能于一定期间内完成传输,且不会被其它种类的封
10包所阻碍。该优先权规则可能影响一高速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数据链路上进行传输。
根据上述构想,该数据链路层传输器包含一可编程的储存元件,其提供 一数值予该选择器,以控制该选择器自该多个仲裁器中选择该仲裁器。 根据上述构想,至少一第一仲裁器所使用的优先权规则,令交换层封包
的优先权高于确认/否认凄t据链路层封包的优先权;以及至少一第二仲裁器所 使用的优先权规则,令确认/否认数据链路层封包的优先权高于交换层封包的 优先权。
根据上述构想,至少一第一仲裁器,其使交换层封包的优先权高于确认/ 否认数据链路层封包的优先权以及更新流程控制数据链路层封包的优先权; 至少一第二仲裁器,其使确认/否认数据链路层封包的优先权,高于该交换层 封包的优先权以及更新流程控制数据链路层封包的优先权;以及至少 一第三 仲裁器,其使更新流程控制数据链路层封包的优先权,高于交换层封包的优 先权以及确认/否认数据链路层封包的优先权。
本发明的另一目的,是提供一种传输方法,应用于一高速PCI数据链路 层传输器,通过一高速PCI数据链路传输交换层封包及数据链路层封包,该 传输方法包括步骤由多个不同的优先权规则中选择一优先权规则,该多个 不同的优先权规则使得每种交换层封包及^t据链路层封包具有不同的优先 权。该操作方法亦包含步骤使用该选择的优先权规则,于多个调度交换层 封包及数据链路层封包中,选择一交换层封包或数据链路层封包,于该高速 PCI数据链路上进行传输。
本发明的又一目的,是提供一种高速PCI数据链路层传输器的操作方法, 于一高速PCI数据链路上传输交换层封包及数据链路层封包,该方法包含步 骤该数据链路传送器使用多个不同优先权规则以便自多个调度高速PCI交 换层封包及数据链路层封包中进行选择,预测其中之一优先权规则能产生最 佳效能,以便于该数据链结上进行调度传输,其中对于不同种类的该多个调 度交换层封包及数据链路层封包,每一个优先权规则会分配不同的优先权。 该操作方法亦包含步骤编程该数据链路层传输器,使其应用该预测的优先权规则,藉以自该多个调度高速PCI交换层封包及数据链路层封包中进行选择。
本发明的又一目的,是提供一种数据链路层传输器,应用于高速PCI装 置中,以管理高速PCI交换层封包及数据链路层封包,该数据链路层传输器 包含优先权系统,其包含第一数据链路层封包,供初始化流程控制使用, 具有最高的优先权;以及闲置数据字符,具有最低的优先权。
本发明的又一目的,是提供一种优先权分配方法,该方法应用于高速PCI 装置的数据链路层传输器,用以对交换层封包及数据链路层封包进行调度, 其包含以下步骤使第一数据链路层封包具有最高优先权,该第一数据链路 层封包供初始化流程控制使用;以及使一闲置数据字符具有最低优先权。
本发明的又一目的,是提供一种优先权系统,建立于高速PCI装置的数 据链路层传输器内,以管理交换层封包及数据链路层封包的传输,该优先权 系统包含最高优先权,分配给供流程控制初始化使用的数据链路层封包; 次高优先权,分配给供功率状态进入使用的数据链路层封包;以及最低优先 权,分配给闲置数据字符。


本发明图式中所包含的各元件列式如下 图1为本发明的高速PCI装置方块图。
图2为本发明图1所示的高速PCI装置的部分元件方块图,特别是图1 中的高速数据链路层传输器。
图3为本发明图2所示的高速数据链路层传输器的操作流程图。 图4为说明本发明实施例中编程图2所示的控制暂存器的流程图。
本发明1图式中所包含的各元件列示如下:
102交换层传输器104数据链路层传输器
106物理层传输器112交换层接收器
114数据链路层接收器116物理层接收器
122高速PCI序列式链路202调度封包池
204-1-204-7 仲裁器206多工器
208控制暂存器212最终允许传输
224-1-224-7仲裁器输出1具体实施例方式
本发明描述的实施例提供一个高速PCI数据链路层传输器以解决前述的
效能问题,该传输器定义了多个(于一实施例中为七个)优先权规则供调度传 输(封包)使用。该数据链路层传输器包含一个可编程的控制暂存器(于一 实施 例中为三位暂存器),用以选择该多个优先权规则之一,以便选择下一个传输 封包。每一个优先权规则可针对特定交换型态而提升效能。举例而言, 一个
高档的3D高速PCI显示卡,对于一个高速PCI根联合体(Root Complex, RC) 提出需求时,将需要大规模的上游存储器读取(memory read, Mrd)周期 (cycle)。为了达到较佳的传输效能,该根联合体需要传输背对背 (back-to-back)的完成交换层封包。因此,在一个使用大量上游存储器读取 周期的交换型态中,数据链路层传输器可以从多个优先权规则中选择,使交 换层封包的传输优先权较数据链路层封包的传输优先权为高,以增加交换层 封包的背对背完成发生的可能性,并可以减少因为确认/否认数据链路层封包 传输,导致中断交换层封包的背对背完成的情况发生。已知技术中,数据链 路层传输器采用高速PCI基本规格书所建议的单一优先权规则,而本发明提 供自多个优先权规则中进行选择的技术,可以大大地提升其效能。
请参考图1,其为依据本发明所使用的高速PCI装置100的方块图,该 高速PCI装置IOO可以使用于高速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输出其选定的封包,输出端224-1至224-7将统称为输出端224。
该数据链路层传输器104亦包含一个七对一多工器206,该多工器206 的七个输入端分别连接至该七个仲裁器的个别输出端224-1至224-7。 一个 控制暂存器208提供一控制信号226至该多工器206的控制输入端,通过其 控制,选择由输入端224-1至224-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 确认/否认数据链路层封包传输 (导因于以下可能
-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满)
164 回放交换层封包传输(重试緩沖区的再传输)5 新的交换层封包传输(来自交换层的交换层封包,包括完 成交换层封包)6 流程控制数据链路层封包传输(UpdateFC)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 确认/否认数据链路层封包传專lr (导因于以下可能-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确i人延迟定时器的时间届满-收到一个交换层封包,该封包的SEQ数目多于已确认 的交换层封包的SEQ数目)6 流程控制数据链路层封包传输(UpdateFC)7 功率管理数据链路层封包传输(PM-Request-Ack)8 传输闲置(无调度传输)表三第三优先权规则 优先权 封包种类1 流程控制数据链路层封包传输(initFCl及initFC2)2 功率管理数据链路层封包传输(PM-Enter-Ll 、 PM一Enter-L23及PM_Active_State_Request-Ll)3 回放交换层封包传输(重试緩沖区的再传输)4 新的交换层封包传输(来自交换层的交换层封包,包括完 成交换层封包)5 流程控制数据链路层封包传输(UpdateFC)6 确认/否认数据链路层封包传输 (导因于以下可能-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满-收到一个交换层封包,该封包的SEQ数目多于已确认 的交换层封包的SEQ数目)7 功率管理数据链路层封包传输(PM-Request-Ack)8 传输闲置(无调度传输)表四第四优先权规则优先权 封包种类1 流程控制数据链路层封包传输(initFCl及initFC2)2 功率管理数据链路层封包传输(PM_Enter_Ll 、 PM-Enter—L23及PM—Act ive一SUte—Request-Ll)3 确认/否认数据链路层封包传输 (导因于以下可能-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满-收到一个交换层封包,该封包的SEQ数目多于已确认 的交换层封包的SEQ数目)4 回放交换层封包传输(重试緩冲区的再传输)5 新的交换层封包传输(来自交换层的交换层封包,包括完 成交换层封包)6 流程控制数据链路层封包传输(UpdateFC)7 功率管理数据链路层封包传输(PM-Request-Ack)8 传输闲置(无调度传输)表五第五优先权规则 优先权 封包种类1 流程控制数据链路层封包传输(initFCl及initFC2)2 功率管理数据链路层封包传输(PM_Enter—Ll 、 PM一Enter—L23及PM—Active—State—Request丄l)3 确认/否认数据链i^层封包传输 (导因于以下可能-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满-收到一个交换层封包,该封包的SEQ数目多于已确认 的交换层封包的SEQ数目)4 流程控制数据链路层封包传输(UpdateFC)5 回放交换层封包传输(重试緩沖区的再传输)6 新的交换层封包传输(来自交换层的交换层封包,包括完 成交换层封包)7 功率管理数据链路层封包传输(PM-RequesUAck)8 传输闲置(无调度传输)表六第六优先权规则 优先权 封包种类1 流程控制数据链路层封包传输(initFCl及initFC2)2 功率管理数据链路层封包传输(PM-Enter-Ll 、 PM—Enter—L23及PM—Active.State—Request-Ll)3 流程控制数据链路层封包传输(Upda teFC)4 回放交换层封包传输(重试緩沖区的再传输)5 新的交换层封包传输(来自交换层的交换层封包,包括完19成交换层封包)6 确认/否认数据链路层封包传输 (导因于以下可能-收到一个重复的交换层封包 -收到一个损坏的交换层封包 -确认延迟定时器的时间届满-收到一个交换层封包,该封包的SEQ数目多于已确认 的交换层封包的SEQ数目)7 功率管理数据链路层传输(PM_Reques t - Ack)8 传输闲置(无调度传输)表七第七优先权规则 优先权 封包种类1 流程控制数据链路层封包传输(initFCl及initFC2)2 功率管理数据链路层封包传输(PM_Enter_Ll 、 PM』nter_L23及PM—Act ive_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,亂)如Verilog亂、V肌等,或其它 可能的程序。此类软件可被放置于任何已知的计算机使用媒介,例如一半导 体,一^兹盘或一光盘片(例如CD-ROM, DVD-ROM等)。本发明所描述的装置 与方法实施例可能包含在半导体智慧财产核心,例如一个微处理器核心或芯 片组核心(如通过硬件描述语言实现),而转换为集成电路制程的硬件。此 外,本发明的装置与方法可能通过一硬件与软件的组合实现。因此本发明的 保护范围不应限制于上述作为范例使用的最佳实施例,而当视上述权利要求 范围所定义及其均等要件为准。具扭而言,本发明可以应用于一般计算机系统中的微处理器装置或芯片组装置。最后,本领域技术人员可应用本发明所 揭露的观念与特定实施例,设计或修改其它架构达成与本发明相同目的,仍 不脱如附权利要求范围所定义的范畴。
权利要求
1.一种高速PCI数据链路层传输器,自多个调度交换层封包及数据链路层封包中选择封包,于高速PCI数据链路上进行传输,该数据链路层传输器包含多个仲裁器,每一个该仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类,自该多个调度交换层封包及数据链路层封包中选择一封包;以及选择器,耦接至该多个仲裁器,该选择器用以自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包,于该高速PCI数据链路上进行传输。
2. 根据权利要求1所述的高速PCI数据链路层传输器,还包含储存元件,耦接至该选择器,其提供一数值予该选择器,以控制该选择器自该多个仲裁器中选择该仲裁器。
3. 根据权利要求2所述的高速PCI数据链路层传输器,其中该储存元件可于该数据链路层传输器的操作过程中进行编程。
4. 根据权利要求l所述的高速PCI数据链路层传输器,其中该多个仲裁器的数目多于四个。
5. 根据权利要求1所述的高速PCI数据链路层传输器,其中于该多个仲裁器中至少一第一仲裁器所使用的优先权规则,令交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及至少一第二仲裁器所使用的优先权规则,令该确认/否认数据链路层封包的优先权高于该交换层封包的优先权。
6. 根据权利要求1所述的高速PCI数据链路层传输器,其中该多个调度交换层封包及数据链路层封包至少包含以下三个种类第一种类封包,为交换层封包;第二种类封包,为确认/否认数据链路层封包;以及第三种类封包,为更新流程控制数据链路层封包,其中该多个仲裁器包括至少一第一仲裁器、 一第二仲裁器及一第三仲裁器;该第一仲裁器所使用的优先权规则,为使该第一种类封包的优先权高于该第二种类封包的优先权以及该第三种类封包的优先权;该第二仲裁器所使用的优先权规则,为使该第二种类封包的优先权,高于该第一种类封包的优先权以及该第三种类封包的优先权;以及该第三仲裁器所使用的优先权规则,为使该第三种类封包的优先权,高于该第一种类封包的优先权以及该第二种类封包的优先权。
7. 根据权利要求1所述的高速PCI数据链路层传输器,其中该多个调度交换层封包与数据链路层封包至少包含以下三个种类第一种类封包,为交换层封包;第二种类封包,为确认/否认数据链路层封包;以及第三种类封包,为更新流程控制数据链路层封包,且依据该第 一种类封包、该第二种类封包及该第三种类封包的相对优先权,还可以产生六种可能相对优先权的组合;其中该多个仲裁器包含至少六个仲裁器;其中该至少六个仲裁器使用不同的优先权组合,根据该六种可能相对优先权的组合,排定该多个调度交换层封包及数据链路层封包的优先权。
8. 根据权利要求1所述的高速PCI数据链路层传输器,其中于该多个仲裁器中,至少一第一仲裁器所使用的优先权规则,令否认数据链路层封包的优先权高于确认数据链路层封包的优先权。
9. 一种传输方法,应用于高速PCI数据链路层传输器,通过高速PCI数据链路传输高速PCI交换层封包及数据链路层封包,该传输方法包括以下步骤..由多个不同的优先权规则中选择一优先权规则,该多个不同的优先权规则使得每种交换层封包及数据链路层封包具有不同的优先权;以及使用该选择的优先权规则,于多个调度交换层封包及数据链路层封包中,选择一交换层封包或数据链路层封包,于该高速PCI数据链路上进行传输。
10. 根据权利要求9所述的传输方法,还包含以下步骤于选择该优先权规则之前,以一数值指定一优先权规则,并以该数值编程该高速PCI数据链路层传输器内的储存元件。
11. 根据权利要求9所述的传输方法,其中该多个优先权规则多于四个。
12. 根据权利要求9所述的传输方法,其中于该多个优先权规则中至少一第一优先权规则,其令交换层封包的优先权高于确认/否认数据链路层封包的优先权;且至少一第二优先权规则,其令该确认/否认数据链路层封包的优先权高于该交换层封包的优先权。
13. 根据权利要求9所述的传输方法,其中该多个调度交换层封包及数 据链路层封包至少包含以下三个种类第一种类封包,为交换层封包;第二种类封包,为确认/否认数据链路层封包;以及第三种类封包,为更新流程控制数据链路层封包,其中该多个优先权规则包括至少一第一优先权规则、 一第二优先权规则 及一第三优先权规则;于该第 一优先权规则中,该第 一种类封包的优先权高于该第二种类封包 的优先权及该第三种类封包的优先权;于该第二优先权规则中,该第二种类封包的优先权高于该第一种类封包的优先权及该第三种类封包的优先权;以及于该第三优先权规则中,该第三种类封包的优先权高于该第一种类封包的优先权及该第二种类封包的优先权。
14. 根据权利要求9所述的传输方法,其中该多个调度交换层封包与数 据链路层封包至少包含以下三个种类第一种类封包,为交换层封包; 第二种类封包,为确认/否认数据链路层封包;以及 第三种类封包,为更新流程控制数据链路层封包, 其中该三个种类的封包,共有六种可能的相对优先权组合; 其中该多个优先权规则包含至少六个优先权规则; 其中该至少六个优先权规则,为依据该六种可能的相对优先权组合,排 定该多个调度交换层封包及数据链路层封包的优先权。
15. 根据权利要求9所述的传输方法,其中于该多个优先权规则中,至 少 一第 一优先权规则使否认数据链路层封包的优先权高于确认数据链路层封 包的优先权。
16. —种高速PCI数据链路层传输器的操作方法,于高速PCI数据链路 上传输高速PCI交换层封包及数据链路层封包,该方法包含以下步骤该数据链路层传送器使用多个不同优先权规则以便自多个调度高速PCI交换层封包及数据链路层封包中进行选择,预测其中之一优先权规则能产生 最佳效能,以便于该数据链结上进行调度传输,其中对于不同种类的该多个调度高速PCI交换层封包及数据链路层封包,每一个优先权规则会分配不同 的优先权;以及编程该数据链路层传输器,使其应用该预测的优先权规则,藉以自该多 个调度高速PCI交换层封包及数据链路层封包中进行选择。
17. 根据权利要求16所述的搡作方法,其中该编程步骤,是可由具有该 数据链路层传输器的一系统中的CPU实现。
18. 根据权利要求16所述的操作方法,其中该可编程步骤,是可由具有 该数据链路层传输器的一系统中的高速PCI主控端实现。
19. 根据权利要求16所述的操作方法,其中于该多个优先权规则中至少一第 一优先权规则,其令交换层封包的优先权高于确认/否认数据链 路层封包的优先权;以及至少一第二优先权规则,其令该确认/否认数据链路层封包的优先权高于该交换层封包的优先权。
20. 根据权利要求16所述的操作方法,其中该多个调度交换层封包及数 据链路层封包至少包含以下三个种类第一种类封包,为交换层封包;第二种类封包,为确认/否认数据链路层封包;以及第三种类封包,为更新流程控制数据链路层封包,其中该多个优先权规则包括至少一第一优先权规则、 一第二优先权规则 及一第三优先权规则;于该第一优先权规则中,该第一种类封包的优先权高于该第二种类封包 的优先权及该第三种类封包的优先权;于该第二优先权规则中,该第二种类封包的优先权高于该第一种类封包 的优先权及该第三种类封包的优先权;以及于该第三优先权规则中,该第三种类封包的优先权高于该第一种类封包 的优先权及该第二种类封包的优先权。
21. —种凄t据链路层传输器,应用于高速PCI装置中,以管理高速PCI 交换层封包及数据链路层封包,该数据链路层传输器包含优先权系统,其包含第一数据链路层封包,供初始化流程控制使用,具有最高的优先权;以及闲置数据字符,具有最低的优先权。
22. 根据权利要求21所述的数据链路层传输器,其中该优先权系统还包含第二数据链路层封包,供功率状态进入使用,其优先权较该第一数据链 路层封包的优先权为低。
23. 根据权利要求22所述的数据链路层传输器,其中该优先权系统还包含再播放交换层封包,供重试緩沖区的再传输使用,其优先权较该第二数 据链路层封包的优先权为低;以及新的交换层封包,其优先权较该再播放交换层封包的优先权为低。
24. 根据权利要求23所述的数据链路层传输器,其中该优先权系统还包含确认/否认数据链路层封包,其优先权较该新的交换层封包的优先权为低;第三数据链路层封包,供更新流程控制^(吏用,其优先权较该确认/否i/v交 换层封包为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较 该第三数据链路层封包的优先权为低。
25. 根据权利要求23所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新流程控制使用,其优先权较该新的交换层 封包的优先权为低;确认/否认数据链路层封包,其优先权较该第三数据链路层封包的优先权 为低;第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较 该确认/否认数据链路层封包的优先权为低。
26. 根据权利要求22所述的数据链路层传输器,其中该优先权系统还包含确认/否认数据链路层封包,其优先权较该第二数据链路层封包的优先权 为低。
27. 根据权利要求26所述的数据链路层传输器,其中该优先权系统还包含回放交换层封包,供重试緩冲区的再传输使用,其优先权较该确认/否认 数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;第三数据链路层封包,供更新流程控制使用,其优先权较该新的交换层 封包的优先权为低;第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较 该第三数据链路层封包的优先权为低。
28. 根据权利要求27所述的数据链路层传输器,其中该优先权系统还包含确认/否认交换层封包,其SEQ数目大于该确认交换层封包,其优先权较该第四数据链路层封包的优先权低。
29. 根据权利要求26所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新状态流程控制使用,其优先权较该确认/ 否认交换层封包的优先权为低;回放交换层封包,供重试緩沖区的再传输使用,其优先权较该第三数据 链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较 该新的交换层封包的优先权为低。
30. 根据权利要求22所述的数据链路层传输器,其中该优先权系统还包含第三数据链路层封包,供更新流程控制使用,其优先权较该第二数据链 路层封包的优先权为低。
31. 根据权利要求30所述的数据链路层传输器,其中该优先权系统还包含回放交换层封包,供重试緩冲区的再传输使用,其优先权较该第三数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低; 确认/否认数据链路层封包,其优先权较该新的交换层封包的优先权为低;以及第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较 该新的交换层封包的优先权为低。
32. 根据权利要求30所述的数据链路层传输器,其中该优先权系统还包含确认/否认数据链路层封包,其优先权较该第三数据链路层封包的优先权 为低;回放交换层封包,供重试緩沖区的再传输使用,其优先权较该确认/否认数据链路层封包的优先权为低;新的交换层封包,其优先权较该回放交换层封包的优先权为低;以及 第四数据链路层封包,供确认该第二数据链路层封包使用,其优先权较该新的交换层封包的优先权为低。
33. —种优先权分配方法,该方法应用于高速PCI装置的数据链路层传 输器,用以对交换层封包及数据链路层封包进行调度,其包含以下步骤使第一数据链路层封包具有最高优先权,该第一数据链路层封包供初始 化流程控制使用;以及使一 闲置数据字符具有最低优先权。
34. 根据权利要求33所述的优先权分配方法,该方法还包含以下步骤 对多个封包进行调度,该多个封包有第二数据链路层封包,供功率状态进入使用; 确认/否认数据链路层封包; 回放交换层封包,供重试緩沖区再传输使用; 新的交换层封包;第三数据链路层封包,供更新流程控制使用;以及第四数据链路层封包,供确认该第二数据链路层封包使用。
35. 根据权利要求34所述的优先权分配方法,该方法还包含以下步骤 使该第二数据链路层封包具有次高优先权。
36. 根据权利要求34所述的优先权分配方法,该方法还包含以下步骤使该新的交换层封包具有紧接于该回放交换层封包之后的优先权。
37. 根据权利要求34所述的优先权分配方法,该方法还包含以下步骤 使该第四数据链路层封包具有仅高于该闲置数据字符的优先权。
38. —种优先权系统,建立于高速PCI装置的数据链路层传输器内,以 管理交换层封包及数据链路层封包的传输,该优先权系统包含最高优先权,分配给供流程控制初始化使用的数据链路层封包; 次高优先权,分配给供功率状态进入使用的数据链路层封包;以及 最低优先权,分配给闲置数据字符。
39. 根据权利要求38所述的优先权系统,该系统还包含 两个优先权,分别分配给供重试緩冲区的再传输使用的回放交换层封包与一新的交换层封包。
40. 根据权利要求38所述的优先权系统,该系统还包含 次低优先权,分配给供功率状态进入确认使用的数据链路层封包。
全文摘要
本发明为一种数据链路层传输器,其包含多个仲裁器,其中每一个仲裁器使用不同的优先权规则,依据该多个调度交换层封包及数据链路层封包的种类而选择一个封包供传输;选择器,自该多个仲裁器中选择一仲裁器,以便自该多个调度交换层封包及数据链路层封包中选择该封包;可编程的储存元件,其提供数值以控制该选择器。其中,至少于一优先权规则中,交换层封包的优先权高于确认/否认数据链路层封包的优先权;以及至少于另一优先权规则中,确认/否认数据链路层封包的优先权高于交换层封包的优先权。
文档编号H04L12/40GK101635662SQ20091016330
公开日2010年1月27日 申请日期2009年8月11日 优先权日2008年8月14日
发明者曾纹郁, 赖彦廷 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1