具有多个传输端口的单一网络接口装置转让专利

申请号 : CN200810160875.2

文献号 : CN101674335B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林昱礽叶明郁

申请人 : 瑞昱半导体股份有限公司

摘要 :

本发明揭露一种具有多个传输端口的单一网络接口装置,该网络接口装置可支援二个或二个以上的实体网络传送路径所进行的数据传收,并透过一主机接口来上传所接收的数据至一主机,或透过该主机接口来由该主机下载待传送至网络的数据。故藉由本发明,可增加网络通信的速率,并能进一步利用主机接口的频宽。

权利要求 :

1.一种网络接口控制器,包含:

一第一实体层电路,用来经由一第一网络端口来传送与接收封包;

一第二实体层电路,用来经由一第二网络端口来传送与接收封包;

一第一媒体存取控制器,耦接该第一实体层电路,用来依据待传送数据所对应的一目的地址来产生封包以输出至该第一实体层电路,以及依据一第一MAC地址来处理由该第一实体层电路所接收的封包;

一第二媒体存取控制器,耦接该第二实体层电路,用来依据待传送数据所对应的一目的地址来产生封包以输出至该第二实体层电路,以及依据一第二MAC地址来处理由该第二实体层电路所接收的封包;

一数据流向控制器,耦接至该第一与第二媒体存取控制器,用来依据一接收规则来接收该第一或第二媒体存取控制器所输出的数据,以及依据一传送规则来传送数据至该第一或第二媒体存取控制器,其中该数据流向控制器包含:一传送规则控制器,用来依据一传送规则来产生一传送控制信号,一接收规则控制器,用来依据一接收规则来产生一接收控制信号,以及一路径选择器,用来依据该传送控制信号将第一或第二传送缓冲器耦接至主机接口控制器,以及依据该接收控制信号将第一或第二接收缓冲器耦接至该主机接口控制器;

该主机接口控制器,耦接该数据流向控制器,用来接收该数据流向控制器所输出的数据并将其经由一主机接口上传至一主机,以及用来经由该主机接口由该主机下载数据后将其输出至该数据流向控制器;

一时钟产生器,用来提供一第一时钟予该第一实体层电路以及该第一媒体存取控制器,并用来提供一第四时钟予该第二实体层电路以及该第二媒体存取控制器,以及用来提供一第二时钟予该数据流向控制器及该主机接口控制器,其中该第二时钟的频率为该第一时钟频率的二倍或二倍以上。

2.如权利要求1所述的网络接口控制器,其中该第四时钟的频率等于或小于该第一时钟的频率。

3.如权利要求1所述的网络接口控制器,其中该主机接口是一PCIExpress接口或是一USB接口。

4.如权利要求1所述的网络接口控制器,其中该第一实体层电路包含:一第一收发器,用来经由该第一网络端口来执行封包的传送与接收;

一第一转换电路,用来将该第一媒体存取控制器所输出的封包转换为适当的信号以传送至该第一收发器;

一第一媒体独立接口,用来作为该第一实体层电路与该第一媒体存取接口的沟通接口;以及一第一自动信息交换电路,用来与一网络连线对象交换资讯;以及

该第二实体层电路包含:

一第二收发器,用来经由该第二网络端口来执行封包的传送与接收;

一第二转换电路,用来将该第二媒体存取控制器所输出的封包转换为适当的信号以传送至该第二收发器;

一第二媒体独立接口,用来作为该第二实体层电路与该第二媒体存取接口的沟通接口;以及一第二自动信息交换电路,用来与一网络连线对象交换资讯。

5.如权利要求1所述的网络接口控制器,其中该第一媒体存取控制器包含:一第一MAC传收电路,用来将待传送的数据封装成一封包并透过该第一媒体独立接口传送至该第一实体层电路,并用来将经由该第一媒体独立接口所接收的一封包加以过滤以输出至该数据流向控制器;以及一第一缓冲器,耦接于该第一MAC传收电路及该数据流向控制器之间,包含一第一传送缓冲器用来暂存前述待传送的数据,以及包含一第一接收缓冲器用来暂存前述过滤后的数据,该第一缓冲器是一非同步缓冲器,其与该第一MAC传收电路间的存取速率依据该第一时钟,而与该数据流向控制器间的存取速率依据该第二时钟;以及该第二媒体存取控制器包含:

一第二MAC传收电路,用来将待传送的数据封装成一封包并透过该第一媒体独立接口传送至该第二实体层电路,并用来将经由该第二媒体独立接口所接收的一封包加以过滤以输出至该数据流向控制器;以及一第二缓冲器,耦接于该第二MAC传收电路及该数据流向控制器之间,包含一第二传送缓冲器用来暂存前述待传送的数据,以及包含一第二接收缓冲器用来暂存前述过滤后的数据,该第二缓冲器是一非同步缓冲器,其与该第二MAC传收电路间的存取速率依据该第四时钟,而与该数据流向控制器间的存取速率依据该第二时钟。

6.如权利要求1所述的网络接口控制器,其中该传送规则控制器包含:一目的地址辨识器,用来依据该主机所提供的资讯来辨识待传送数据的一目的地址,藉以产生该传送控制信号。

7.如权利要求1所述的网络接口控制器,其中该接收规则控制器依据一第一接收缓冲器的储存空间使用状况与一第二接收缓冲器的储存空间使用状况来产生该接收控制信号。

8.如权利要求7所述的网络接口控制器,其中该接收规则控制器进一步依据一计时信号来产生该接收控制信号。

9.一种网络接口控制器,包含:

一第一实体层电路,用来经由一第一网络端口来传送与接收封包;

一第二实体层电路,用来经由一第二网络端口来传送与接收封包;

一第一缓冲器,耦接该第一实体层电路,包含一第一传送缓冲器用来暂存待传送至该第一实体层电路的封包,并包含一第一接收缓冲器用来由该第一实体层电路所接收的封包,该第一缓冲器是一非同步缓冲器;

一第二缓冲器,耦接该第二实体层电路,包含一第二传送缓冲器用来暂存待传送至该第二实体层电路的封包,并包含一第二接收缓冲器用来由该第二实体层电路所接收的封包,该第二缓冲器是一非同步缓冲器;

一数据流向控制器,耦接至该第一与第二缓冲器,用来依据一接收规则来接收该第一或第二缓冲器所输出的封包,以及依据一传送规则来传送封包至该第一或第二缓冲器,其中该数据流向控制器包含:一传送规则控制器,用来依据一传送规则来产生一传送控制信号,一接收规则控制器,用来依据一接收规则来产生一接收控制信号,以及一路径选择器,用来依据该传送控制信号将该第一或第二传送缓冲器耦接至媒体存取控制器,以及依据该接收控制信号将第一或第二接收缓冲器耦接至该媒体存取控制器;

该媒体存取控制器,耦接该数据流向控制器,用来依据待传送数据来产生封包以输出至该数据流向控制器,并过滤由该数据流向控制器所接收的封包以输出数据;

一主机接口控制器,耦接该媒体存取控制器,用来接收该媒体存取控制器所过滤的数据并将其经由一主机接口上传至一主机,以及用来经由该主机接口由该主机下载待传送数据后将其输出至该媒体存取控制器;

一时钟产生器,用来提供一第一时钟予该第一实体层电路与该第一缓冲器,并用来提供一第四时钟予该第二实体层电路以及该第二缓冲器,以及用来提供一第二时钟予该数据流向控制器、该媒体存取控制器以及该主机接口控制器,其中该第二时钟的频率为该第一时钟频率的二倍或二倍以上。

10.如权利要求9所述的网络接口控制器,其中该第四时钟的频率等于或小于该第一时钟的频率。

11.如权利要求9所述的网络接口控制器,其中该主机接口是一PCIExpress接口或是一USB接口。

12.如权利要求9所述的网络接口控制器,其中该第一实体层电路包含:一第一收发器,用来经由该第一网络端口来执行封包的传送与接收;

一第一转换电路,用来将该第一缓冲器所输出的封包转换为适当的信号以传送至该第一收发器;

一第一媒体独立接口,用来作为该第一实体层电路与该第一缓冲器的沟通接口;以及一第一自动信息交换电路,用来与一网络连线对象交换资讯;以及该第二实体层电路包含:

一第二收发器,用来经由该第二网络端口来执行封包的传送与接收;

一第二转换电路,用来将该第二缓冲器所输出的封包转换为适当的信号以传送至该第二收发器;

一第二媒体独立接口,用来作为该第二缓冲器与该第二媒体存取接口的沟通接口;以及一第二自动信息交换电路,用来与一网络连线对象交换资讯。

13.如权利要求9所述的网络接口控制器,其中该媒体存取控制器包含:一MAC传收电路,用来将待传送的数据封装成一封包并将其传送至该数据流向控制器,并用来将经由该数据流向控制器所接收的一封包加以过滤以输出至该主机接口控制器;以及一缓冲器,耦接于该MAC传收电路及该主机接口控制器之间,包含一传送缓冲器用来暂存前述待传送的数据,以及包含一接收缓冲器用来暂存前述过滤后的数据。

14.如权利要求13所述的网络接口控制器,其中该媒体存取控制器进一步包含:一目的地址辨识器,用来辨识待传送数据所对应的一目的地址,并产生一辨识信号;以及一MAC地址分配器,用来依据该辨识信号以将待传送数据附加一第一MAC地址或一第二MAC地址以形成封包。

15.如权利要求9所述的网络接口控制器,其中该传送规则控制器包含:一MAC地址辨识器,用来依据该媒体存取控制器所提供的资讯来辨识待传送封包所包含的一MAC地址,藉以产生该传送控制信号。

16.如权利要求9所述的网络接口控制器,其中该传送规则控制器包含:一目的地址辨识器,用来辨识待传送封包所对应的一目的地址,并产生一辨识信号;以及一MAC地址分配器,用来依据该辨识信号以将待传送封包的一原始MAC地址修改为一第一MAC地址或一第二MAC地址,并利用该传送控制信号使该路径选择器将修改后具有该第一MAC地址的封包输出至第一传送FIFO或将修改后具有该第二MAC地址的封包输出至第二传送FIFO。

17.如权利要求9所述的网络接口控制器,其中该接收规则控制器依据该第一接收缓冲器的储存空间使用状况与该第二接收缓冲器的储存空间使用状况来产生该接收控制信号。

18.如权利要求17所述的网络接口控制器,其中该接收规则控制器进一步依据一计时信号来产生该接收控制信号。

说明书 :

具有多个传输端口的单一网络接口装置

技术领域

[0001] 本发明是关于一种网络接口装置及其方法,尤其是一种能增加数据传收效率的网络接口装置及其方法。

背景技术

[0002] 现有的网络数据传收机制是一个网络端口对应一个网络控制器,藉以经由一主机接口(如PCI Express接口)在主机与网络间进行数据的传送与接收。
[0003] 以PCI Express1.1接口为例,其使用依2.5GHz时钟速率运作的连线,一PCI Express通道(Lane)于单一方向可达到每秒250MB的频宽,于上行或下行方向都有250MB的频宽。PCI Express接口可结合多个通道,提供更高频宽,因此x8PCI Express接口具有单一通道的8倍频宽(即单一方向的频宽为2GB/s),又例如一般显示卡使用的x16PCI Express接口,拥有的单一方向总频宽为每秒4GB。
[0004] 然而以Gigabit以太网络控制器为例,其所提供的数据传输速度往往受限于网络环境而远低于Gigabit/每秒(传送或接收),但许多PCI-E接口的Gigabit乙太网络控制器却是x8PCI-E接口,其接口频宽可达2GB/s,显见尚有一半以上的PCI-E的频宽未能被网络控制器充份使用。倘若以目前PCI Express2.0接口而言,其将时钟速率提升一倍到达5.0GHz,亦即可将接口频宽提升一倍,使x8PCI Express2.0的单一方向的频宽可达每秒4GB,因此将有更多的频宽未能被网络传输充份利用。

发明内容

[0005] 因此,本发明目的之一在于提供一种网络接口装置以解决前述问题。 [0006] 本发明另一目的在于利用一网络控制器来处理多个网络端口所形成的多个实体网络连线的数据,藉以增加网络通信效率与该网络控制器与一主机间的接口的频宽使用率。
[0007] 依据本发明所揭露的网络接口控制器的一实施例,其包含:一实体层电路,包括一第一实体层电路以及一第二实体层电路,其分别用来经由一第一网络端口以及一第二网络端口来执行封包的传送与接收;一媒体存取控制器,包括一第一媒体存取控制器以及一第二媒体存取控制器,该第一媒体存取控制器依据待传送数据所对应的一目的地址来产生一封包以输出,以及于接收一封包时依据一第一MAC地址来处理该封包,该第二媒体存取控制器则依据待传送数据所对应的一目的地址来产生一封包以输出,以及于接收一封包时依据一第二MAC地址来处理该封包;一数据流向控制器,耦接至第一与第二媒体存取控制器,用来依据一接收规则来接收第一或第二媒体存取控制器所输出的数据,以及依据一传送规则来传送数据至第一或第二媒体存取控制器,其中该数据流向控制器包含:一传送规则控制器,用来依据一传送规则来产生一传送控制信号,一接收规则控制器,用来依据一接收规则来产生一接收控制信号,以及一路径选择器,用来依据该传送控制信号将第一或第二传送缓冲器耦接至主机接口控制器,以及依据该接收控制信号将第一或第二接收缓冲器耦接至该主机接口控制器;该主机接口控制器,耦接至数据流向控制器与一主机接口(例如PCI Express接口),用来接收数据流向控制器所输出的数据并将其经由主机接口上传至一主机,以及经由主机接口由主机下载数据后,输出该数据至数据流向控制器。
[0008] 依据本发明所揭露的网络接口控制器的另一实施例,其包含:一实体层电路,包括一第一实体层电路以及一第二实体层电路,其分别用来经由一第一网络端口以及一第二网络端口来执行封包的传送与接收;一第一先进先出缓冲器,耦接该第一实体层电路;一第二先进先出缓冲器,耦接该第二实体层电路;一数据流向控制器,耦接该第一与第二先进先出缓冲器,用来依据一接收规则来接收第一或第二先进先出缓冲器所输出的数据,以及依据一传送规则来传送数据至第一或第二先进先出缓冲器,其中该数据流向控制器包含:一传送规则控制器,用来依据一传送规则来产生一传送控制信号,一接收规则控制器,用来依据一接收规则来产生一接收控制信号,以及一路径选择器,用来依据该传送控制信号将该第一或第二传送缓冲器耦接至媒体存取控制器,以及依据该接收控制信号将第一或第二接收缓冲器耦接至该媒体存取控制器;一单一媒体存取控制器,用于依据待传送数据所对应的一目的地址来产生一具有第一或第二MAC地址的封包以输出,以及于接收一封包时依据第一及第二MAC地址来处理该封包;一主机接口控制器,耦接至该单 一媒体存取控制器与一主机接口(例如PCI Express接口),用来接收单一媒体存取控制器所输出的数据并将其经由主机接口上传至一主机,以及经由主机接口由主机下载数据后,输出该数据至单一媒体存取控制器。
[0009] 附图说明
[0010] 图1是本发明的网络接口控制器第一实施例的示意图;
[0011] 图2是图1的实体层电路所包含的第一实体层电路的一实施例示意图; [0012] 图3是图1的实体层电路所包含的第二实体层电路的一实施例示意图; [0013] 图4是图1的媒体存取控制器所包含的第一媒体存取控制器的一实施例示意图; [0014] 图5是图1的媒体存取控制器所包含的第二媒体存取控制器的一实施例示意图; [0015] 图6是图1的数据流向控制器的一实施例示意图;
[0016] 图7是图1的数据流向控制器所包含的接收规则控制器的另一实施例示意图; [0017] 图8是图1的数据流向控制器所包含的接收规则控制器的又一实施例示意图; [0018] 图9是图8的仲裁器的一实施例示意图;
[0019] 图10是图1的网络接口控制器的一变化实施例示意图;
[0020] 图11是图1的网络接口控制器的另一变化实施例示意图;
[0021] 图12是本发明的网络接口控制器第二实施例的示意图;
[0022] 图13是图12的数据流向控制器的一实施例示意图;
[0023] 图14是图12的单一媒体存取控制器的一实施例示意图;
[0024] 图15是图12的数据流向控制器的另一实施例示意图;
[0025] 图16是图12的网络接口控制器的一变化实施例示意图;以及
[0026] 图17是图12的网络接口控制器的另一变化实施例示意图。
[0027] 【主要元件符号说明】
[0028] 10、11、12网络端口
[0029] 100、100_1、100_2、100_3、100_4、100_5网络接口控制器
[0030] 101、101a、101b、101c实体层电路
[0031] 102、102a、102b、102C媒体存取控制器
[0032] 103数据流向控制器
[0033] 104主机接口控制器
[0034] 105主机接口
[0035] 106主机
[0036] 107时钟产生器
[0037] 108单一媒体存取控制器
[0038] 201收发器
[0039] 202转换电路
[0040] 203、303媒体独立接口
[0041] 204MII控制器
[0042] 205自动信息交换电路
[0043] 401MAC传收电路
[0044] 402、502、160FIFO
[0045] 402a、502a、160a传送FIFO
[0046] 402b、502b、160b接收FIFO
[0047] 601、701接收规则控制器
[0048] 602传送规则控制器
[0049] 602a目的地址辨识器
[0050] 602b FIFO使用空间监测器
[0051] 602c传送仲裁器
[0052] 603路径选择器
[0053] 700暂存器
[0054] 601c、701a、701b比较器

具体实施方式

[0055] 以下就本发明的网络接口控制器的各实施例分别说明之。
[0056] 第一较佳实施例:
[0057] 请参阅图1,其是本发明的网络接口控制器的第一较佳实施例示意图,如图所示,该网络接口控制器100包含:一实体层电路101(Physical Layer Circuit;简称PHY),包括一第一实体层电路101a以及一第二实体层电路 101b,其分别用来经由一第一网络端口10以及一第二网络端口11来执行封包的传送与接收,该第一网络端口10以及一第二网络端口11于本实施例中是RJ45连接器;一媒体存取控制器102(Media Access Controller;
简称MAC),包括一第一媒体存取控制器102a以及一第二媒体存取控制器102b,该第一媒体存取控制器102a依据待传送数据所对应的一目的地址(Destination Address)来产生一封包以输出,以及于接收一封包时依据一第一MAC地址(MACAddress)来处理该封包,该第二媒体存取控制器102b则依据待传送数据所对应的一目的地址来产生一封包以输出,以及于接收一封包时依据一第二MAC地址来处理该封包;一数据流向控制器103,耦接至第一与第二媒体存取控制器102a、102b,用来依据一接收规则来接收第一或第二媒体存取控制器102a、102b所输出的数据,以及依据一传送规则来传送数据至第一或第二媒体存取控制器102a、102b;一主机接口控制器104,耦接至数据流向控制器103与一主机接口105(例如PCI Express1.1接口或通用串行总线(Universal Serial Bus;USB)接口),用来接收数据流向控制器103所输出的数据并将其经由主机接口105上传至一主机106,以及经由主机接口105由主机106下载数据后,输出该数据至数据流向控制器103;以及一时钟产生器107,用来提供一第一时钟Clk1予该实体层电路101以及该媒体存取控制器102,并提供一第二时钟Clk2予该数据流向控制器103及该主机接口控制器104,其中该第二时钟Clk2为该第一时钟Clk1的二倍或二倍以上。
[0058] 请参阅图2,其是前述第一实体层电路101a的示意图,由图可知,该第一实体层电路101a包含:一收发器201(Transceiver),用来依据IEEE802.3的标准规范执行封包的传送与接收;一转换电路202,用来依据IEEE802.3的标准规范将第一媒体存取控制器102a所输出的封包转换为适当的信号以传送至网络,以及将从网络接收的信号转换为第一媒体存取控制器102a可进一步处理的封包;一第一媒体独立接口203(Media Independent Interface;简称MII),用来作为第一实体层电路101a与第一媒体存取控制器102a的沟通接口;一MII控制器204,用以控制该第一媒体独立接口203;以及一自动信息交换电路
205,用来与网络连接对象交换彼此的传收能力等资讯,在此需注意的是本发明各实施例的网络接口控制器100可支援多种传输速度,例如支援10Megabit、100Megabit以及1Gigabit的传输速度,故一旦自动信息交换电路确认双方所共同支援的最大连线速度,本发明的网络接口控制器100即可 运作于该最大连线速度,而关于此连线速度确认机制请参考美国第RE39,116与RE39,405号专利的说明。另外,由于本实施例中第二实体层电路101b的架构与第一实体层电路101a相同,如图3所示,故不再重复说明。
[0059] 请参阅图4,其是前述第一媒体存取控制器102a的示意图,如图所示,该第一媒体存取控制器102a包含:一MAC传收电路401,用来将待传送的数据封装(Encapsulate)成一封包并透过前述第一媒体独立接口203传送至第一实体层电路101a,并用来将经由第一媒体独立接口203所接收的一封包加以过滤(Filter)并输出至数据流向控制器103;以及一第一先进先出缓冲器402(First In,First Out;简称FIFO),耦接于该MAC传收电路401及该数据流向控制器103之间,包含一第一传送FIFO402a用来暂存前述待传送的数据,以及一第一接收FIFO402b用来暂存前述过滤后的数据。请注意,本实施例中,该第一先进先出缓冲器402是一非同步先进先出缓冲器(Asynchronous FIFO),其与MAC传收电路401间的存取速率依据前述第一时钟Clk1,而与数据流向控制器103间的存取速率依据前述第二时钟Clk2,关于非同步先进先出缓冲器的背景知识可参考美国专利第5951635号、第6845414号及第7315600号等专利内容。另外,由于本实施例中第二媒体存取控制器102b的架构与第一媒体存取控制器102a相同,如图5所示,故不再重复说明。
[0060] 请参阅图6,其是前述数据流向控制器103的示意图,如图所示,该数据流向控制器103包含一接收规则控制器601,其用来实现先前提及的接收规则,该接收规则控制器601包含:一第一指标差计算器601a,用来计算第一接收FIFO402b的写入指标(Write Pointer)与读取指标(Read Pointer)的差异(后称第一使用空间Distance1),其中该写入指标用来记录写入第一接收FIFO402b的数据量,该读取指标则用来记录由第一接收FIFO402b读出的数据量,故该第一使用空间Distance1指第一接收FIFO402b的已使用空间;一第二指标差计算器601b,用来计算前述第二接收FIFO的写入指标与读取指标的差异(后称第二使用空间Distance2),该第二使用空间Distance2对应第二接收FIFO502b的剩余储存空间;一使用空间比较器601c,用来比较该第一使用空间Distance1与该第二使用空间Distance2,藉以产生一比较信号(后称Comp),本实施例中,当第一使用空间Distance1大于第二使用空间Distance2时,Comp为第一逻辑值,反之则为第二逻辑值。 [0061] 请继续参阅图6,数据流向控制器103另包含一传送规则控制器602,其用来实现前述的传送规则,包含:一目的地址辨识器602a,依据主机106所提供的资讯来辨识待传送数据所对应的目的地址,并将该目的地址与已传送数据所对应的目的地址来加以比较,藉以产生一辨识信号,本实施例中,该目的地址辨识器602a为一查表电路(look-up table),储存有最近特定笔数的已传送数据所对应的目的地址,且当该辨识信号为第一数位值时,代表待传送数据的目的地址与先前某笔经由第一FIFO402所传送的数据的目的地址相同,当该辨识信号为第二数位值时,代表待传送数据的目的地址与先前某笔经由第二FIFO502所传送的数据的目的地址相同,而当该辨识信号为一第三数位值时,代表待传送数据的目的地址与最近特定笔数的已传送数据所对应的目的地址均不相同;一FIFO使用空间监测器602b,其实施例如同该接收规则控制器601,所差者仅在于该FIFO使用空间监测器602b比较该第一与第二传送FIFO402、502的读写指标差来产生一监测信号,当该监测信号为第一逻辑值时表示第一传送FIFO402a的已使用空间较大,若为第二逻辑值则表示第二传送FIFO502a的已使用空间较大;以及一传送仲裁器602c,用来依据该辨识信号及该监测信号产生一传送控制信号。本实施例中,当辨识信号为第一数位值时,该传送控制信号为第一逻辑值;当辨识信号为第二数位值时,该传送控制信号为第二逻辑值;当辨识信号为第三数位值且监测信号为第二逻辑值时,该传送控制信号为第一逻辑值;当辨识信号为第三逻辑值且监测信号为第一逻辑值时,传送控制信号为第二逻辑值。此外,在本发明另一实施例中,可仅依据该目的地址辨识器602a的辨识信号来产生传送控制信号,其中当辨识信号为第三数位值时,仲裁器602c可随机、依序轮流或依据一预定规则来产生具有第一逻辑值或第二逻辑值的传送控制信号。在本发明又一实施例中,上述目的地址辨识的工作可由主机106执行,亦即主机106依据本发明的网络接口控制器100的一驱动程序来执行目的地址辨识的工作,并透过前述主机接口105、主机接口控制器104来提供辨识结果予传送规则控制器602。
[0062] 请继续参阅图6,数据流向控制器103尚包含一路径选择器603,其耦接前述接收规则控制器601、传送规则控制器602以及主机接口控制器104,用来依据Comp的逻辑值将第一或第二接收FIFO402b、502b耦接至主机接口控制器104,并由主机接口控制器104将第一或第二接收FIFO402b、502b 的数据透过主机接口105上传至主机106,本实施例中,当Comp为第一逻辑值时,路径选择器603将第一接收FIFO402b耦接至主机接口控制器104;而当Comp为第二逻辑值时,路径选择器603将第二接收FIFO502b耦接至主机接口控制器
104。另外,路径选择器603亦依据传送规则控制器602的传送控制信号来将主机接口控制器104耦接至第一或第二传送FIFO402a、502a,使主机接口控制器104将待传送数据输出至该第一或第二传送FIFO402a、502a,本实施例中,当传送控制信号为第一逻辑值时,路径选择器603将主机接口控制器104耦接至第一传送FIFO402a;当传送控制信号为第二逻辑值时,路径选择器603将主机接口控制器104耦接至第二传送FIFO502a。再者,本实施例中,路径选择器603的实施为一开关电路,由于开关电路属本技术领域的公知常识,故在此不予赘述。
[0063] 请参阅图7,其是本发明接收规则控制器701的另一实施例示意图,其与图6的接收规则控制器601的差别在于本实施例另包含:一第一比较器701a,用来比较第一使用空间Distance1与一暂存器700所储存的一使用阈值,并产生一第一比较信号(后称Comp1),本实施例中当第一使用空间Distance1大于该使用阈值时,第一比较信号为第一逻辑值,反之则为第二逻辑值;一第二比较器701b,用来比较第二使用空间Distance2与该使用阈值,并产生一第二比较信号(后称Comp2),本实施例中当第二使用空间Distance2大于该使用阈值时,第二比较信号为第一逻辑值,反之则为第二逻辑值;一计时器701c,用来依据一预定工作周期产生一计时信号,亦即该计时信号会于一预定时间后由第一/第二逻辑值转为第二/第一逻辑值,且当Comp逻辑值转换时,该计时器701c会进行重置,并从输出第二逻辑值的计时信号来重新开始;以及一接收仲裁器701d,用来接收Comp、Comp1、Comp2及计时信号以产生一接收控制信号。
[0064] 图7所示的实施例中,当Comp1或Comp2为第二逻辑值时,代表第一或第二接收FIFO402b、502b所储存的数据少于或等于该使用阈值(本实施例中该使用阈值设为零),因此接收仲裁器701d无需依据计时信号来定期轮询(polling)第一及第二接收FIFO402b、502b,仅需依据Comp来产生接收控制信号以通知路径选择器603将第一或第二接收FIFO402b、502b耦接至主机接口控制器104,换言之,当Comp为第一/第二逻辑值时,代表仅第一/第二接收FIFO402b、502b存有需处理的数据,因此接收仲裁器701d产生具 有第一/第二逻辑值的接收控制信号,使路径选择器603将第一/第二接收FIFO402b/502b耦接至主机接口控制器104;而当Comp1与Comp2均为第一逻辑值时,代表第一及第二接收FIFO402b、502b所储存的数据均大于该使用阈值,因此接收仲裁器701d依据Comp及计时信号来产生该接收控制信号以通知路径选择器603将第一或第二接收FIFO402b、502b耦接至主机接口控制器104,亦即接收控制信号于Comp由第一/第二逻辑值转换为第二/第一逻辑值时(此时计时信号重置为第二逻辑值),指示将第二/第一接收FIFO402b、502b耦接至主机接口控制器104,又于前述预定时间后计时信号由第二逻辑值转换为第一逻辑值时,指示将第一/第二接收FIFO402b、502b耦接至主机接口控制器104,藉此接收仲裁器701d便能依据Comp来指示优先处理待处理数据较多的第一或第二接收FIFO402b、502b,又能依据计时信号以定时轮询(polling)第一及第二接收FIFO402b、502b是否有数据需处理,以避免等待时间过久。请注意,前述Comp1与Comp2为第二逻辑值时,接收仲裁器701d依据Comp及计时信号来产生接收控制信号的运作等同一XOR闸。
[0065] 请参阅图8,其是本发明接收规则控制器的另一实施例示意图,本实施例的接收规则控制器801包含:前述第一指标差计算器601a,用来计算第一使用空间Distance1;前述第二指标差计算器601b,用来计算第二使用空间Distance2;一暂存器700,用来储存一致能阈值;一第一比较器701a,用来比较第一使用空间Distance1与该致能阈值,藉以产生一第一致能信号(后称En1),本实施例中当该第一使用空间Distance1大于该致能阈值,En1为第一逻辑值,反之则为第二逻辑值;一第二比较器701b,用来比较第二使用空间Distance2与该致能阈值,藉以产生一第二致能信号(后称En2),本实施例中当该第二使用空间大于该致能阈值,En2为第一逻辑值,反之则为第二逻辑值;前述计时器701c,用来产生前述计时信号;以及一接收仲裁器701d,如图9所示,用来依据En1、En2及计时信号TS以产生一接收控制信号。请参阅图9,本实施例中,当En1为第一逻辑值而En2为第二逻辑值时,代表第一使用空间Distance1大于该致能阈值而第二使用空间Distance2小于该致能阈值,此时接收控制信号为第一逻辑值,用以指示路径选择器603将主机接口控制器104耦接至第一接收FIFO402b;当En1为第二逻辑值而En2为第一逻辑值时,代表第一使用空间Distancel小于该致能阈值但第二使用空间Distance2大于该致能阈值,此时接收控制信号为第二逻辑值,用以指示路径 选择器603将主机接口控制器104耦接至第二接收FIFO502b;当En1与En2均为第一逻辑值时,若Comp为第一逻辑值,代表第一使用空间Distance1大于第二使用空间Distance2,此时接收控制信号为第一逻辑值,以指示路径选择器603将主机接口控制器104耦接至第一接收FIFO402b,但若Comp为第二逻辑值,代表第二使用空间Distance2大于第一使用空间Distance1,则接收控制信号指示路径选择器603将主机接口控制器104耦接至第二接收FIFO502b;而当En1与En2均为第二逻辑值时,仲裁器701d仅依据计时信号TS的逻辑值转变来指示路径选择器603进行切换,亦即当计时信号TS为第一/第二逻辑值,路径选择器603将主机控制器104耦接至第一/第二接收FIFO402b/502b。
[0066] 前述实施例虽以计算FIFO的读写指标差为例,然而FIFO为避免发生满溢(Overflow)及/或短缺(Underrun)的情形,可包含一监测电路来监测本身的储存空间使用量,例如包含一计数器来计数共有多少Byte存入FIFO以及多少Byte被读出FIFO,因此该计数器的计数值亦可用来取代前述实施例的读写指标差。此外,也可使用不同阈值分别与前述第一及第二使用空间来比较,藉以增加实施的可能性。事实上,本领域技术人员应当能依据本发明的揭露内容来作一均等的变化实施。
[0067] 在另一实施例中,可依据一传送规则使得该第一实体层电路101a的第一收发器201与该第一实体层电路101b的第二收发器201实质上达到负载平衡(load balance),例如传送规则包含依据第一及第二收发器201的数据流量(Throughput)多寡来优先选择数据流向较少者执行传送。而上述各个装置于实作中可为网络接口卡(Network Interface Card,NIC)或为主机板内建网络(LAN On Motherboard-LOM)。
[0068] 综上所述,本发明的第一较佳实施例提供了一网络控制器以处理二个实体网络路径的数据传收,然而二个以上的实体网络路径的数据传收亦能为本发明所支持,如图10所示,然需注意的是图10的第三时钟Clk3为第一时钟Clk1的三倍或三倍以上,且数据流向控制器需103比较第一、第二及第三媒体存取控制器102a、102b、102c的第一、第二及第三FIFO的使用空间以及待传送数据的目的地址等参数,藉以决定第一、第二、第三FIFO与主机接口控制器104的耦接关系。此外,第一媒体存取控制器102a与第一实体层电路 101a及第一网络端口10等构成的第一实体网络路径与第二媒体存取控制器102b、第二实体层电路101b及第二网络端口11等构成的第二实体网络路径可运作在不同频率,如图11所示,第一实体网络路径依据第一时钟Clk1运作,而第二实体网络路径依据第四时钟Clk4运作,至于第二时钟Clk2于本实施例中为第一或第四时钟Clk1、Clk4较高者的至少二倍。 [0069] 第二较佳实施例:
[0070] 请参阅图12,其是本发明的网络接口控制器的第二较佳实施例示意图,如图所示,该网络接口控制器100_3包含:一实体层电路101,包括一第一实体层电路101a以及一第二实体层电路101b,其架构与功能与第一较佳实施例中所述相同,于此不再重复叙述;一第一先进先出缓冲器402,包含一第一传送FIFO402a以及一第一接收FIFO402b,其架构与功能与第一实施例中所述相仿,所差者主要在于本实施例的第一先进先出缓冲器402并非设置于第一媒体存取控制器102a中,而作为第一实体层电路101a与数据流向控制器103间的缓冲器;一第二先进先出缓冲器502,包含一第二传送FIFO502a与一第二接收FIFO502b,其架构与功能与第一实施例中所述相仿,所差者主要在于本实施例的第二先进先出缓冲器502并非设置于第二媒体存取控制器102b中,而作为第二实体层电路101b与数据流向控制器间103的缓冲器;一数据流向控制器103,其架构与功能与第一较佳实施例中所述相仿,所差者主要在于本实施例的数据流向控制器103耦接于第一与第二先进先出缓冲器402、502以及一单一媒体存取控制器108之间,另外,本实施例的数据流向控制器103于传送时依据该媒体存取控制器所输出的封包资讯来决定传送路径,例如当某一封包的资讯包含第一MAC地址,数据流向控制器103即选择耦接第一传送FIFO402a以传送封包,而当另一封包的资讯包含第二MAC地址时,数据流向控制器103即选择耦接第二传送FIFO502a来传送封包;前述单一媒体存取控制器108,其架构与功能与第一实施例中所述的第一或第二媒体存取控制器102a、102b相仿,所差者主要在于本实施例的媒体存取控制器依据第二时钟Clk2来运作,且包含如第一较佳实施例所述的目的地址辨识器602a,其用来辨识待传送数据的目的地址,藉以提供一辨识信号予一MAC地址分配器,该MAC地址分配器再将该待传送数据附加第一或第二MAC地址以构成封包;一主机接口控制器104,其架构与功能与第一较佳 实施例中所述相仿,所差者主要在于本实施例的主机接口控制器104耦接该单一媒体存取控制器108而非数据流向控制器103;以及一时钟产生器107,其提供一第一时钟Clk1予实体层电路101以及第一与第二先进先出缓冲器402、502,并提供一第二时钟Clk2予该数据流向控制器103、该媒体存取控制器以及该主机接口控制器104,其中该第二时钟Clk2为该第一时钟Clk1的二倍或二倍以上。
[0071] 上述数据流向控制器的实施例示意图如图13所示,其与图6所示的数据流向控制器103的主要差别在于传送规则控制器602,由于本实施例中数据流向控制器103接收单一媒体存取控制器108所输出的封包,该封包中已包含有第一MAC地址或第二MAC地址的资讯,因此传送规则控制器103只要利用一MAC地址辨识器602d来辨识出该封包所包含的MAC地址,即能输出一控制信号予路径选择器603来选择将该封包输出至第一或第二先进先出缓冲器402、502。
[0072] 另请参阅图14,其是单一媒体存取控制器108的实施例示意图,如图所示,该单一媒体存取控制器108与图4或图5的第一或第二媒体存取控制器102a、102b的主要差别在于另包含:一目的地址辨识器108a,用来辨识待传送数据的目的地址,并产生一辨识信号,本实施例中,该目的地址辨识器108a与第一较佳实施例所述者相同,储存有最近特定笔数的已传送数据所对应的目的地址,且当该辨识信号为第一数位值时,代表待传送数据的目的地址与先前某笔经由前述第一先进先出缓冲器402所传送的数据的目的地址相同,当该辨识信号为第二数位值时,代表待传送数据的目的地址与先前某笔经由前述第二先进先出缓冲器502所传送的数据的目的地址相同,而当该辨识信号为一第三数位值时,代表待传送数据的目的地址与最近特定笔数的已传送数据所对应的目的地址均不相同;以及一MAC地址分配器108b,用来依据该辨识信号来决定将待传送数据附加第一或第二MAC地址以构成封包,当辨识信号为第一数位值,MAC地址分配器108b即将相对应的传送数据附上第一MAC地址以构成封包来传送,当辨识信号为第二数位值,MAC地址分配器108b即将相对应的传送数据附上第二MAC地址以构成封包来传送,而当辨识信号为第三数位值,MAC地址分配器108b将相对应的传送数据随机、轮流、或依照一预定顺序附上第一及第二MAC地址其中之一以构成封包来传送。另外,与第一较佳实施例不同处尚有该单一媒体存取控制器108包含 一先进先出缓冲器108c,其具有一传送FIFO与一接收FIFO,该先进先出缓冲器108c的运作与图4或图5的第一先进先出缓冲器402或第二先进先出缓冲器502相仿,所差者仅在于此处的先进先出缓冲器108c是一同步缓冲器。
[0073] 请注意,上述目的地址辨识器108a及MAC地址分配器108b亦可改设置于数据流向控制器103的传送规则控制器602中,如图15所示。本变化实施例中,单一媒体存取控制器108的实施即如同图4或图5所示,所输出的封包包含一原始MAC地址以及一目的地址,而目的地址辨识器108a辨识待传送封包所包含的目的地址以产生辨识信号,MAC地址分配器108b则依据辨识信号来使用第一或第二MAC地址以取代该待传送封包中的原始MAC地址,并控制路径选择器603将MAC地址取代后的封包输出至第一或第二传送FIFO402a、502a。
[0074] 综上所述,本发明的第二较佳实施例亦提供了一网络控制器以处理二个实体网络路径的数据传收,然而类似第一实施例,二个以上的实体网络路径的数据传收亦能为本发明所支持,如图16所示。此外,类似第一实施例,本实施例中,第一先进先出缓冲器402、第一实体层电路101a与第一网络端口10等构成的第一实体网络路径与第二先进先出缓冲器502、第二实体层电路101b及第二网络端口11等构成的第二实体网络路径可运作在不同频率,如图17所示,其中第一实体网络路径依据第一时钟运作Clk1,而第二实体网络路径依据第四时钟Clk4运作,至于第二时钟Clk2于本实施例中为第一或第四时钟较Clk1、Clk4高者的至少二倍。
[0075] 依据本发明所揭露的一种单一网络接口装置的一实施例,其包含:一第一收发器,用来经由一第一网络线来传送与接收封包;一第二收发器,用来经由一第二网络线来传送与接收封包;一第一缓冲器,耦接该第一收发器,用来暂存待传送至该第一收发器的封包,并用来暂存由该第一收发器所接收的封包;一第二缓冲器,耦接该第二收发器,用来暂存待传送至该第二收发器的封包,并用来暂存由该第二收发器所接收的封包;一主机接口电路,耦接该第一缓冲器与该第二缓冲器,用来使该第一缓冲器与该第二缓冲器的其中一个透过一主机接口与一电脑主机进行数据的传送。
[0076] 惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即依本发明权利要求及发明说明内容所作的等效变化与修饰,皆属本发明可能涵盖的范围。