CN100431315C - 可增加内嵌式以太网络控制器送收效率的方法 - Google Patents
可增加内嵌式以太网络控制器送收效率的方法 Download PDFInfo
- Publication number
- CN100431315C CN100431315C CNB2006100579109A CN200610057910A CN100431315C CN 100431315 C CN100431315 C CN 100431315C CN B2006100579109 A CNB2006100579109 A CN B2006100579109A CN 200610057910 A CN200610057910 A CN 200610057910A CN 100431315 C CN100431315 C CN 100431315C
- Authority
- CN
- China
- Prior art keywords
- package
- gauge outfit
- buffer
- memory
- memory space
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000003247 decreasing effect Effects 0.000 title 1
- 239000000872 buffer Substances 0.000 claims abstract description 168
- 230000015654 memory Effects 0.000 claims abstract description 153
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 230000008859 change Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000000151 deposition Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 4
- 230000001737 promoting effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
一种可增加内嵌式以太网络控制器送收效率的方法,针对一内嵌式以太网络控制器,该控制器可分别与区域或广域网络连接,以负责其封包的传送与接收,并利用直接存储器存取架构,存取存储器中多个缓冲器内的封包,各封包的说明字元与资料一起储放在同一缓冲器内,该方法将各接收缓冲器内封包存放空间,规划成固定大小,并规划出一多余的存储空间,使该控制器接收到由网络传送来的封包后,仅需向上移动及变更该接收缓冲器内的封包表头,令大部分封包资料保持在原来的位置,并于该多余的存储空间内插入所需的协议表头,即可将其转换成传送封包直接传送至另一网络,故可有效避免因搬移封包资料所耗费的时间,大幅提升内嵌式以太网络控制器的送收效率。
Description
本发明是申请号为02122728.4、申请日为2002年6月7日、发明名称为“可增加内嵌式以太网络控制器送收效率的方法”案件的分案申请。
技术领域
本发明涉及网络传输技术,具体是关于一种可增加内嵌式以太网络控制器送收效率的方法。
背景技术
近年来,由于电脑信息产业的蓬勃发展,各式各样的电子产品及周边设备不断地被开发出来,且被各行各业广泛地使用于生活及工作环境中,此一发展趋势,不仅加速了信息流通的速度及效率,且为人们在生活及工作上带来极大的便利。这些电子产品的设计及制造业者,为了迎合使用者需求,生产出方便携带且易于使用的电子产品,无不秉持着轻薄短小的设计理念,不断将各种不同功能的各式扩充元件(Expansion Components),设计成可直接插接在该等电子产品内,以令所开发出的电子产品,更为精巧实用。
以现今普遍使用于家庭或个人工作室(SOHO)中,用以连接宽频网络及多台电脑的家庭网关(Residential Gateway)或小型办公室的路由器(SOHO Router)为例(本发明通称二者为网关),参阅图1所示,该等网关内的关键零组件(Key Component)主要包括一中央处理单元2(CPU)及1至3个的以太网络媒介存取控制器3(Ethernet Media Access Control,简称Ethernet MAC)等,传统上这些零组件各自独立地被安装在一电路板上,现今则已被整合成一个单晶片(ASIC chip)的内嵌式以太网络控制器1(Embedded Ethernet MAC Controller,简称E_MAC),搭配其它零组件,被安装至该等网关内,不仅有效缩小了其体积,并令其具备传送及接收以太网络封包的功能。一般来说,该种内嵌式以太网络控制器1的运作原理,均为利用具有主动式总线直接存储器存取(Bus Master Direct Memory Access,简称M_DMA)架构的控制线路4,使各该以太网络媒介存取控制器3(Ethernet MAC)可通过取得独立数据总线的主控权,直接存取存储器5中的资料,而不必经过中央处理单元2,故可减少中央处理单元2的负担,无形中也增进了该种内嵌式以太网络控制器1的运作效率。
一般而言,在内嵌式以太网络控制器1对其缓冲器(Buffer)或存储器的管理(Management)上,主要可分为两种方式,第一种为将待存取的以太网络封包(Ethernet Packet)内的下列信息:
(1)封包说明字元(Packet Descriptor):一般包括封包长度(Length)、状态(Status)及分配地址(Allocation Address)等;
(2)封包表头(Packet Header):一般包括目的地址DA、来源地址SA及型态TYPE;
(3)封包资料(Packet Data);及
(4)封包表尾(CRC),分开存放于存储器5(如:同步动态随机存取存储器,Synchronous Dynamic RAM,简称SDRAM)内所规划的不同接收或传送缓冲器中,美商Intel公司即利用此一做法,设计该等以太网络控制器;另一种为将封包的说明字元与封包,一起置放于同一接收或传送缓冲器中,如:台湾瑞昱半导体公司(Realtek)即利用此一做法,设计该等以太网络控制器。在前述第一种做法中,该等以太网络控制器在对缓冲器的存储空间分配(BufferAllocation)上较具弹性,不过须发动2次的主动式总线直接存储器存取作业(M_DMA Cycle),故必需多浪费一次总线的仲裁时间(Bus Arbitration Time),在第二种做法中,由于该等以太网络控制器无法对缓冲器进行动态存储空间分配,故在对缓冲器的存储空间分配上较无弹性,但其总线的仲裁时间仅需一次。
本发明主要根据第二种做法所设计的该等控制器,进行改良,并植入单晶片中,以有效提升对其缓冲器存储空间的分配弹性,增加整体效率。至于前述第一种做法,由于并非本发明所要改良的,故在本发明的以下说明中,不再就第一种做法多加赘述。
在前述第二种做法所设计的内嵌式以太网络控制器中,依其对封包处理方式的不同,可区分为传送处理(Transmit Module,简称Tx)与接收处理(ReceiveModule,简称Rx)两部分。一般来说,针对该传送处理(Tx)设有约4至8个固定大小的传送缓冲器(分别以符号Tx-BUFFER#0...Tx-BUFFER#n表示,其中n=0,1,2,3...),用以暂存待传送的封包,每个传送缓冲器Tx-BUFFER利用两个登录元(Register)XSTATUS及XADDR来规划及处理缓冲区,在该等登录元(Register)中,XSTATUS用来报告传送状况(Transmit status),设定某些特定的传送设定值(Transmit Setting)及设定传送的封包长度(Transmit Packet Length),而XADDR则用来设定待传送封包所在传送缓冲器Tx-BUFFER的起始地址(TransmitPacket’s Address for Tx Descriptor)(如图2所示),其传送动作原理为,首先,由中央处理单元(CPU)将待传送的封包,逐一写入同步动态随机存取存储器(SDRAM)内的连续位置,其写入的起始位置,为对应于该XADDR登录元中的值,而后当中央处理单元对该XSTATUS登录元(Register)中的传送致能位元(TxEnable Bit)下达启动传送的命令,则会启动传送Tx的主动式总线直接存储器存取(M_DMA)功能,在取得独立总线的主控权后,将自对应于该XADDR登录元的同步动态随机存取存储器(SDRAM)上的起始位置,读取封包,并将该待传送的封包写入该内嵌式以太网络控制器的内部Tx FIFO(First In First Out)的资料伫列排程(Queue)中,并由FIFO送出去,而传送后的状态会回填至XSTATUS登录元中的状态(Status)位元。
另,针对接收处理(Rx),则设有约2至4个大小可调整的接收缓冲器(分别以符号Rx-BUFFER#0...Rx-BUFFER#n表示,其中n=0,1,2,3...),用以暂存所接收的封包,其中每一封包均包含下列项目:
(1)接收说明字元(Rx Packet Descriptor)占用四个字节的存储空间;
(2)封包表头:包括目的地址Rx-DA及来源地址Rx-SA,分别各占用六个字节的存储空间,及型态Rx-TYPE,占用两个字节的存储空间;
(3)封包资料(Packet Data);及
(4)封包表尾(CRC)则占用四个字节的存储空间。每个接收缓冲器Rx-BUFFER利用三个登录元(Register)RSTATUS、RADR及RDHA-PTR来规划及处理缓冲区,在该等登录元(Register)中,RSTATUS用来报告接收状况(Receive Status),设定某些特定的接收设定值(Receive Setting),设定接收缓冲器的大小(RxBuffer Size),以及判断主动式总线直接存储器存取(M_DMA)作业是否可将所接收的封包写入该接收缓冲器中(Write Incoming Packet into This Buffer)(如图3所示),RADR则用来报告封包在该接收缓冲器Rx-BUFFER的起始地址(Receive Buffer Start Address)(如图3所示),RDHA-PTR用来存放接收处理中该主动式总线直接存储器存取(M_DMA)作业的当前指标(Current Pointer)。其接收动作原理为当Rx_FIFO接收到的封包大小,大于某一临界值(Threshold)时,则会启动接收Rx的主动式总线直接存储器存取(M_DMA)功能,以取得总线的主控权后,将接收的封包填入接收缓冲器Rx-BUFFER中,每一封包填完后,会将其状态(Status)与长度(Length)值,回填入其开头的接收说明字元(Descriptor)中。另,其填入顺序为,首先,将封包放入由该RADR登录元所指定的同步动态随机存取存储器地址,其次,将封包紧接着上一封包存放,直到此一接收缓冲器Rx-BUFFER放满(当其大于该RSTATUS登录元中的接收缓冲器Rx-BUFFER大小时),再将下一封包置入另一接收缓冲器Rx-BUFFER中,此时,上一接收缓冲器Rx-BUFFER处理完后,则可释放。
当一区域网络(LAN)的主网域口(domain Ports)欲将封包资料,通过此种设计有内嵌式以太网络控制器的网关,传送至一广域网络(Wide-AreaNetwork,简称WAN)的主网域口,必须在传送缓冲器Tx-BUFFER中原有的以太封包资料(Ethernet Packet Data)上,参阅图4所示,插入额外的协议表头30(Protocol Header,如:PPPoE,NAT,DHCP...等),再由该广域网络的传送口(Tx Port)传送到国际互联网络服务提供者(Internet Service Provider,简称ISP)端;或用于区域网络时,欲传送至另一不同的IP Domain时,仅须在传送缓冲器Tx-BUFFER中原有的以太封包资料(Ethernet Packet Data)上,更改原有的协议表头中的某些值,再更改其目的地址、来源地址及型态,故较为简单。
此亦意味着,该网关一般均必须将由该区域网络所接收到的封包资料20(Data in Rx)如图3所示,搬移至另一块存储区10(Memory Area),如图2所示,重新加上所需的协议表头30(Header)后,如图4所示,始能经由该广域网络传送出去。此时,由于该内嵌式以太网络控制器1的中央处理单元2,必须将接收到的封包资料搬移至另一块存储区重新整理,以作为传送缓冲器之用,因此,将大量消耗中央处理单元的处理效能,另,由于,在图3所示的架构中,接收时的每一封包,为一个接一个地被置放在接收缓冲器Rx-BUFFER内,故若要将此接收缓冲器Rx-BUFFER作为传送缓冲器Tx-BUFFER时,已没有多余空间来插入额外的协议表头(Header)。
因此,如何设计出一种内嵌式以太网络控制器,令其在接收到由一区域网络传送来的封包后,可使大部分的封包资料,均能保有其在缓冲器中原来的存放位置,并允许插入额外的协议表头后,直接传送至一广域网络,以有效避免其中央处理单元因搬移封包资料所耗费的时间及效能,即成为该种内嵌式以太网络控制器上所亟待克服及解决的问题。
发明内容
有鉴于此,为改进前述传统内嵌式以太网络控制器,在规划其接收及传送缓冲器内封包存放空间时,所衍生的诸多缺点,本发明提供一种可增加内嵌式以太网络控制器送收效率的方法。
本发明的一目的,是将各缓冲器内的封包存放空间,规划成固定大小,且其中用以存放封包表头、封包表尾及封包资料的存储空间各自独立,且呈4个字节对齐(Double Word Allgnment)的状态,如此,当欲存取各封包存放空间内的资料时,可以32位(bit)为单位作处理,进行存取作业,而无须再对字节重新进行对齐作业,有效避免因对齐作业所耗费的中央处理单元时间及效能。
本发明的另一目的,是将各接收缓冲器内的封包存放空间中,规划出一额外的存储空间,使该网络控制器在接收到由该区域网络传送来的封包后,仅需变更缓冲器内的封包表头,再于该额外的存储空间内插入所需的协议表头后,令大部分封包资料仍保持在原来位置,即可将其转换成待传送的封包,将其直接传送至该广域网络,故可有效避免因搬移封包资料所耗费的时间,大幅提升内嵌式以太网络控制器的送收效率。
本发明提供的方法是将各接收缓冲器内封包存放空间,规划成固定大小,且其中用以存放封包表头、封包表尾及封包资料的存储空间各自独立,且字节对齐(Double Word Alignment),并利用上一封包多余的存放空间内规划出另一额外的存储空间,使该控制器在接收到由该区域网络来的封包后,仅需向上移动及变更接收缓冲器内的封包表头,再于该额外的存储空间内插入所需的协议表头后,令大部分封包资料仍保持在原来位置,即可将其转换成待传送的封包,将其直接传送至该广域网络,故可有效避免因搬移封包资料所耗费的时间,大幅提升内嵌式以太网络控制器的送收效率。
本发明采用的具体技术方案如下:
一种可增加内嵌式以太网络控制器送收效率的方法,针对一内嵌式以太网络控制器,该控制器可分别与一区域网络及一广域网络端相连接,以在其间负责封包的传送及接收处理,并利用直接存储器存取架构,通过独立数据总线,存取存储器中多个接收缓冲器及传送缓冲器内的封包,各该封包表头与封包资料一起储放在同一缓冲器内,该方法包括:
在初始化过程中,将各该接收缓冲器规划成多个固定大小的封包存放空间;
再将各该封包存放空间中用以存放封包说明字元、封包表头、封包资料及封包表尾的存储空间,规划成各自独立,且字节对齐的状态。
其中各该封包存放空间内所存放的每一封包中,该封包说明字元占用四个字节的存储空间,该封包表头内的目的地址及来源地址分别占用六个字节的存储空间,其内的型态占用两个字节的存储空间,该封包表尾则占用四个字节的存储空间,其余的存储空间则可用以存放该封包资料。
其中该方法尚包括:加入一个二字节的存储空间,令各该封包存放空间内用以存放封包表头的存储空间,成为每四个字节对齐的状态,使与封包表尾所占用的四个字节的存储空间,及其余用以存放封包资料的存储空间,分别形成每四个字节对齐,且各自独立,彼此区隔的存储空间。
其中该方法尚包括:初始化过程中,在该接收缓冲器的封包存放空间内规划出一多余的存储空间,使该控制器在接收到由该区域网络传送来的封包后,仅需将该接收缓冲器内的封包表头搬移至该多余存储空间,再变更该封包表头,即可在大部分封包资料仍保持在原来位置的情形下,将其转换成一传送缓冲器内的一传送封包。
其中该传送缓冲器的封包存放空间内的该二字节的存储空间,并不存放任何资料,故在进行传送处理时,被设定为可自动跳过,而不必传送。
其中该接收缓冲器的封包存放空间内除了用以存放封包表头及封包表尾的存储空间外,其余存储空间的大小被规划成,除可用以存放所接收的封包资料外,尚包括一多余的存储空间,使该额外的存储空间在插入所需的协议表头后,可与接收封包的表头结合,转变成传送封包的表头格式。
其中该控制器在接收到由该区域网络传来的封包时,会将所接收的封包,依序存放至该接收缓冲器的封包存放空间内,待开始进行传送处理时,再将该接收缓冲器内的封包表头,搬移至前一封包存放空间的该多余存储空间内,并变更其封包表头的内容,令该接收缓冲器被转换成传送缓冲器,再于该多余存储空间内,填入所需的协议表头,即可将其转换成传送封包的表头格式,以传送至该广域网络。
其中若该接收缓冲器内固定大小的各该封包存放空间,被规划成一预定的封包长度及该多余存储空间的总和,则当所接收的封包资料长度大于该预定的封包长度时,该控制器在将该封包传送至该广域网络时,仅须将该接收缓冲器内超出该预定封包长度的部分,搬移至后续的多余存储空间内,再将该接收封包表头填入该多余存储空间,以转换成传送封包表头,并填入所需的协议表头,即可将超出该预定封包长度的部分,转换成后续的传送封包,顺利地传送至该广域网络。
一种可增加内嵌式以太网络控制器送收效率的方法,针对一内嵌式以太网络控制器,该控制器可分别与一区域网络及一广域网络端相连接,以在其间负责封包的传送及接收处理,并利用直接存储器存取架构,通过独立数据总线,存取存储器中多个接收缓冲器及传送缓冲器内的封包,各该封包表头与封包资料一起储放在同一缓冲器内,该方法包括:
在初始化过程中,在各该接收缓冲器的封包存放空间内规划出一多余的存储空间,使该控制器在接收到由该区域网络传送来的封包后,仅需将该接收缓冲器内的封包表头搬移至该多余存储空间,再变更其封包表头,即可在大部分封包资料仍保持在原来位置的情形下,将其转换成一传送缓冲器内的一传送封包。
其中该方法尚包括:在初始化过程中,将各该接收缓冲器规划成多个固定大小的封包存放空间;再将各该封包存放空间中用以存放封包说明字元、封包表头、封包资料及封包表尾的存储空间,规划成各自独立,且字节对齐的状态。
其中各该封包存放空间内所存放的每一封包中,该封包说明字元占用四个字节的存储空间,该封包表头内的目的地址及来源地址分别占用六个字节的存储空间,其内的型态占用两个字节的存储空间,该封包表尾则占用四个字节的存储空间,其余的存储空间则可用以存放封包资料。
其中该方法尚包括:加入一个二字节的存储空间,令各该封包存放空间内用以存放封包表头的存储空间,成为每四个字节对齐的状态,使与封包表尾所占用的四个字节的存储空间,及其余用以存放封包资料的存储空间,分别形成每四个字节对齐,且各自独立,彼此区隔的存储空间。
其中该接收缓冲器的封包存放空间内所加入的该二字节的存储空间,并不存放任何资料,故在进行传送处理时,被设定为可自动跳过,而不必传送。
其中该接收缓冲器的封包存放空间内除了用以存放封包表头及封包表尾的存储空间外,其余存储空间的大小被规划成,除可用以存放所接收的封包资料外,尚包括该多余的存储空间,使该额外的存储空间在插入所需的额外协议表头后,可与接收封包的表头结合,转变成该传送封包的表头格式。
其中该控制器在接收到由该区域网络传来的封包时,会将所接收的封包,依序存放至该接收缓冲器的封包存放空间内,待开始进行传送处理时,再将该接收缓冲器内的封包表头,搬移至前一封包存放空间的该多余存储空间内,并变更其封包表头的内容,令该接收缓冲器被转换成传送缓冲器,再于该多余存储空间内,填入所需的协议表头,即可将其转换成传送封包的表头格式,以传送至该广域网络。
其中若该接收缓冲器内固定大小的各该封包存放空间,被规划成一预定的封包长度及该多余存储空间的总和,则当所接收的封包资料长度大于该预定的封包长度时,该控制器在将该封包传送至该广域网络时,仅须将该接收缓冲器内超出该预定封包长度的部分,搬移至后续的多余存储空间内,再将该接收封包表头填入该多余存储空间,以转换成传送封包表头,并填入所需的协议表头,即可将超出该预定封包长度的部分,转换成后续的传送封包,顺利地传送至该广域网络。
本发明提供的方法,可令内嵌式以太网络控制器在接收到由一区域或广域网络传送来的封包后,无需大幅搬移原接收的封包资料,仅需移动及变更接收缓冲器内的封包表头,并插入所需的协议表头后,即可将其转换成待传送的传送封包,直接传送至另一区域或广域网络,而且无须再对字节重新进行对齐作业,故可有效避免因搬移封包资料及对齐作业所耗费的时间和效能,大幅提升内嵌式以太网络控制器的送收效率。
附图说明
图1为传统内嵌式以太网络控制器的电路方块示意图;
图2为传统内嵌式以太网络控制器中传送缓冲器内封包表头、封包表尾与封包资料的存储位置分配示意图;
图3为传统内嵌式以太网络控制器中接收缓冲器内封包表头、封包表尾与封包资料的存储位置分配示意图;
图4为传统内嵌式以太网络控制器,在将所需的协议表头,插入传送缓冲器内封包存放空间后的存储位置分配示意图;
图5为本发明的内嵌式以太网络控制器中接收缓冲器的封包存放空间内存储位置的分配示意图;
图6为本发明的内嵌式以太网络控制器中接收缓冲器转换成传送缓冲器时,封包存放空间内存储位置变化的一示意图;
图7为本发明的内嵌式以太网络控制器中接收缓冲器转换成传送缓冲器时,封包存放空间内存储位置变化的另一示意图;
图8为在本发明的内嵌式以太网络控制器中接收缓冲器Rx-BUFFER内的各该封包存放空间的大小,被规划成略小于最大的以太网络封包长度及多余存储空间总和的情形下,接收缓冲器转换成传送缓冲器时,封包存放空间内存储位置变化的示意图。
图号说明:
内嵌式以太网络控制器 1
中央处理单元 2
以太网络媒介存取控制器 3
主动式总线直接存储器存取控制线路 4
存储器 5
传送缓冲器Tx-BUFFER
传送封包的目的地址 Tx_DA
传送封包的来源地址 Tx_SA
传送封包的型态 Tx_TYPE
存储区 10
封包表尾 CRC
接收缓冲器 Rx-BUFFER
接收封包的目的地址 Rx_DA
接收封包的来源地址 Rx_SA
接收封包的型态 Rx_TYPE
接收的封包资料 20
协议表头 30
二字节的存储空间 40、50
多余存储空间 41、51、53
接收封包表头 90
说明字元的存储空间 52
传送封包表头 91
传送表头格式 92
协议表头的存储空间 54
大部分的封包资料 80
剩余资料 81
具体实施方式
如前所述,本发明主要根据前述第二种做法所设计的内嵌式以太网络控制器进行改良,以有效提升对其缓冲器存储空间的分配弹性,增加整体效率。其方法仅需在硬件架构上作少许的改良,配合相对应的软件校正(主要在如何搬移封包表头与插入额外协议表头),简述如下:
有鉴于传统的内嵌式以太网络控制器中,备该接收缓冲器内所规划的封包存放空间内,每一接收封包内包含下列信息,复参阅图3所示:
(1)封包说明字元(Descriptor):占用四个字节(4Bytes)的存储空间;
(2)封包表头:包括目的地址Rx_DA及来源地址Rx_SA,分别占用六个字节(6Bytes)的存储空间,及型态Rx_TYPE,占用两个字节(2Bytes)的存储空间;
(3)封包表尾CRC:占用四个字节(4Bytes)的存储空间;
(4)封包资料:其余的存储空间则用以存放封包资料(Packet Data),其中因为封包资料的大小不一(46-1500Bytes)所以每一封包所占用的空间均不同,故,若能在硬件上作少许改良,应可增加其整体效率。本发明即基于此一理念,将各该接收缓冲器内的封包存放空间,规划成固定大小(Fixed Size),如此,每一接收封包的起始地址均为该接收缓冲器的起始地址RADR+(N*固定大小),故每一封包存放空间内,在存放一接收封包后,剩下的可用多余存储空间,等于:
固定大小-(说明字元大小+DA大小+SA大小+Type大小+封包资料大小+封包表尾大小)
即:
固定大小-(4+6+6+2+{46~1500}+4)字节。
参阅图4所示,利用此一大小的多余存储空间,即可将接收缓冲器(Rx-Buffer)与传送缓冲器(Tx-Buffer)合而为一,其做法是利用接收缓冲器中每一封包存放空间内的多余存储空间,来作为在下一个传送封包上插入额外协议表头时所需的空间,如此,此种改良式内嵌式以太网络控制器,在接收到由一区域网络传来的一接收封包后,仅需令其接收缓冲器(Rx-Buffer)内的封包表头向上移动后,变更其内容,再利用上一个封包存放空间内所留下的多余存储空间,插入所需的协议表头,即可将其转换成待传送的传送封包,直接传送至另一广域或区域网络,此时,由于接收封包中大部分的项目,如:封包资料及封包表尾等,均可保持在原来的存放位置,故可有效避免中央处理单元因搬移封包资料所耗费的时间及效能。
本发明在对各该缓冲器的存储空间进行初始化作业的过程中,参阅图5所示,先将每个接收缓冲器Rx-BUFFER规划成多个固定大小的封包存放空间,其大小可大于标准以太网络封包长度的最大值=1518Bytes,假设为2K至4Kbytes,以分别存放所接收到的封包。此外,为令各该封包存放空间内分别用以存放封包说明字元、封包表头、封包资料及封包表尾的存储空间,各自独立,彼此区隔,本发明特将封包说明字元(占用四个字节)、目的地址Rx_DA(占用六个字节)、来源地址Rx_SA(占用六个字节)及型态Rx_TYPE(占用两个字节)等所占用的存储空间中,再加入一个二个字节的存储空间40,令用以存放封包表头90的存储空间,成为每四个字节对齐的状态,使与封包表尾CRC所占用的四个字节的存储空间,及其余用以存放封包资料的存储空间,分别形成每四个字节对齐,且各自独立,彼此区隔的存储空间。如此,当该内嵌式以太网络控制器的作业系统欲存取各该封包存放空间内的封包时,即可以32个位元(即4个字节)为一单位,完成存取作业,而无须再对资料重新进行字节的对齐作业。至于,所加入的二个字节的存储空间40,由于在进行后续传送处理时,被设定为可自动跳过,而不必传送的内容,故不致因此增加封包传送处理上的负担。另,在本发明中,每一个固定大小的封包存放空间内的多余存储空间41,即可供后续传送处理时,插入所需的协议表头。
本发明在将该接收缓冲器Rx-BUFFER,转换成一传送缓冲器Tx-BUFFER的过程中,参阅图6所示,先将每个传送缓冲器Tx-BUFFER规划成可存放一个封包,其中用以存放封包表头、封包资料及封包表尾的存储空间,与前述接收缓冲器Rx-BUFFER完全相同,维持不变,且亦在该封包表头所占用的存储空间中,保留有一个二字节的存储空间50。如此,用以存放封包表头的存储空间,即成为每四个字节对齐的独立空间,并与封包表尾所占用的四个字节的存储空间,及用以存放封包资料的存储空间,分别形成每四个字节对齐,且各自独立,彼此区隔的存储空间。在此尤需特别注意的是,所加入的二字节的存储空间50,并不存放任何资料,故在进行传送处理时,可被设定为自动跳过,不必传送。在前述转换过程中,该接收缓冲器Rx-BUFFER中原本用以存放封包说明字元的存储空间52将被释出,复参阅图6所示,并与上一个接收缓冲器Rx-BUFFER所留下的多余存储空间51,合并成为该传送缓冲器Tx-BUFFER中的多余存储空间53。
接着,当在该传送缓冲器Tx-BUFFER中,参阅图7所示,插入所需的协议表头时,必须先将用以存放封包表头(header)91的存储空间,向该传送缓冲器Tx-BUFFER中多余存储空间53方向移动,以腾出恰可存放该协议表头的存储空间54。在本发明中,由于该传送缓冲器Tx-BUFFER中封包资料及封包表尾所在的存储空间,仍与原先接收缓冲器Rx-BUFFER内相同,并未变动,故在插入协议表头后,该协议表头将与封包表头91结合,转变成该传送封包的表头格式92。
据上所述,本发明在实际实施时,该内嵌式以太网络控制器上的以太网络媒介存取控制器分别与一区域网络及一广域网络相连接,且在进行接收处理Rx,接收到由该区域网络传来的封包时,其作业系统会将所接收的封包,依序存放至该接收缓冲器Rx-BUFFER的封包存放空间内,待开始进行传送处理Tx时,再将该接收缓冲器Rx-BUFFER内的说明字元及多余存储空间41,复参阅图6所示,转换成该传送缓冲器Tx-BUFFER中可用的多余存储空间53,变更该传送封包的表头格式91后,复参阅图7所示,再将其上移至该多余存储空间53,并于腾出来的存储空间54内,填入所需的协议表头,即可将其传送至广域网络。在本发明中,由于该接收缓冲器Rx-BUFFER及传送缓冲器Tx-BUFFER中用以存放封包资料及封包表尾的存储空间,并未改变,故中央处理单元仅需将该接收封包的表头90,转换成传送封包的表头格式92,并于腾出来的存储空间54内,填入协议表头,即可顺利将该传送封包传送至广域网络,故可有效避免因搬移封包资料所耗费的时间,大幅提升内嵌式以太网络控制器的送收效率。
在本发明的一较佳实施例中,若各该封包存放空间的大小,大于或等于最大的以太网络封包长度及该多余存储空间的总和,使足以存放所接收到的任何长度的以太网络封包,则本发明的内嵌式以太网络控制器,完全无须对该接收缓冲器Rx-BUFFER内所存放的封包资料及封包表尾,进行搬移,即可将由该区域网络所接收到的封包,顺利地传送至该广域网络,大幅提升了内嵌式以太网络控制器在封包处理上约20~30%的效能。
在本发明的另一较佳实施例中,参阅图8所示,若该接收缓冲器Rx-BUFFER内的各该封包存放空间的大小,被规划成一预定的封包长度(略小于最大的以太网络封包长度)及该多余存储空间的总和,则当所接收的封包资料长度大于该预定的封包长度时,中央处理单元可将该接收封包的大部分资料,转换成第n-1个传送封包的封包资料,并将无法转换成第n-1个传送封包的剩余资料81,转换成后续的第n个传送封包,故当本发明的内嵌式以太网络控制器,欲将该接收缓冲器Rx-BUFFER内所存放的封包资料,传送至该广域网络时,仅须对该剩余资料81进行搬移,再于多余存储空间41内,将该接收封包表头90转换成传送封包表头91,并填入所需的协议表头30,即可将该剩余资料81,转换成第n个传送封包,并顺利地传送至该广域网络。在该另一较佳实施例中,由于所接收的封包大小,并非经常发生超过该预定封包长度的情形,且即使有剩余资料,一般亦非常小,故对于该内嵌式以太网络控制器在封包处理上,仅有微不足道的影响,故仍可确保有效提升其在封包处理上约20~30%的效能。
以上所述,仅为本发明的较佳具体实施例,但本发明的设计并不局限于此,任何熟悉该项技艺者在本发明领域内,可轻易思及的变化或修饰,皆应涵盖在本案的权利要求范围之内。
Claims (7)
1.一种能够增加内嵌式以太网络控制器送收效率的方法,针对一内嵌式以太网络控制器,该控制器分别与一区域网络及一广域网络端相连接,以在其间负责封包的传送及接收处理,并利用直接存储器存取架构,通过独立数据总线,存取存储器中多个接收缓冲器及传送缓冲器内的封包,同一接收封包的表头与封包资料一起储放在同一接收缓冲器内,其特征在于:该方法包括:
在初始化过程中,将各接收缓冲器规划成多个固定大小的封包存放空间以及为每一封包存放空间规划出一多余的存储空间,使该控制器在接收到由该区域网络传送来的封包后,仅需将该接收缓冲器内的封包表头搬移至前一封包存放空间的多余存储空间,再变更其封包表头,即能够在大部分封包资料仍保持在原来位置的情形下,将其转换成一传送缓冲器内的一传送封包。
2.如权利要求1所述的方法,其特征在于:其中该方法尚包括:
在初始化过程中,将各接收缓冲器规划成多个固定大小的封包存放空间;
再将各封包存放空间中用以存放封包说明字元、封包表头、封包资料及封包表尾的存储空间,规划成各自独立,且字节对齐的状态。
3.如权利要求2所述的方法,其特征在于:其中各封包存放空间内所存放的每一封包中,该封包说明字元占用四个字节的存储空间,该封包表头内的目的地址及来源地址分别占用六个字节的存储空间,封包类型占用两个字节的存储空间,该封包表尾则占用四个字节的存储空间,其余的存储空间则用以存放封包资料。
4.如权利要求3所述的方法,其特征在于:其中该方法尚包括:
加入一个二字节的存储空间,令各封包存放空间内用以存放封包表头的存储空间,成为每四个字节对齐的状态,使与封包表尾所占用的四个字节的存储空间,及其余用以存放封包资料的存储空间,分别形成每四个字节对齐,且各自独立,彼此区隔的存储空间。
5.如权利要求4所述的方法,其特征在于:其中接收缓冲器的封包存放空间内所加入的二字节的存储空间,并不存放任何资料,故在进行传送处理时,被设定为自动跳过,而不必传送。
6.如权利要求5所述的方法,其特征在于:其中控制器在接收到由区域网络传来的封包时,会将所接收的封包,依序存放至接收缓冲器的封包存放空间内,待开始进行传送处理时,再将该接收缓冲器内的封包表头,搬移至前一封包存放空间的该多余存储空间内,并变更其封包表头的内容,再于腾出来的存储空间内填入所需的协议表头,即能将接收封包的表头转换成传送封包的表头格式,以传送至该广域网络。
7.如权利要求6所述的方法,其特征在于:其中若该接收缓冲器内固定大小的各封包存放空间,被规划成一预定的封包长度及该多余存储空间的总和,则当所接收的封包资料长度大于该预定的封包长度时,该控制器在将该封包传送至该广域网络时,仅须将该接收缓冲器内超出该预定封包长度的部分,搬移至用于存放当前接收封包的封包存放空间的多余存储空间内,再将该接收封包表头填入前一封包存放空间的多余存储空间,并填入所需的协议表头,以转换成传送封包表头,即能将超出该预定封包长度的部分,转换成后续的传送封包,顺利地传送至该广域网络。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021227284A CN100477608C (zh) | 2002-06-07 | 2002-06-07 | 可增加内嵌式以太网络控制器送收效率的方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021227284A Division CN100477608C (zh) | 2002-06-07 | 2002-06-07 | 可增加内嵌式以太网络控制器送收效率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1819558A CN1819558A (zh) | 2006-08-16 |
CN100431315C true CN100431315C (zh) | 2008-11-05 |
Family
ID=29743325
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100579109A Expired - Fee Related CN100431315C (zh) | 2002-06-07 | 2002-06-07 | 可增加内嵌式以太网络控制器送收效率的方法 |
CNB021227284A Expired - Fee Related CN100477608C (zh) | 2002-06-07 | 2002-06-07 | 可增加内嵌式以太网络控制器送收效率的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021227284A Expired - Fee Related CN100477608C (zh) | 2002-06-07 | 2002-06-07 | 可增加内嵌式以太网络控制器送收效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN100431315C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561009B (zh) * | 2004-03-02 | 2010-05-05 | 复旦大学 | 千兆以太网收发器接收通道中的数据对齐电路 |
CN101887403B (zh) * | 2010-06-25 | 2012-06-27 | 钰创科技股份有限公司 | 节省usb协议中存封包的存储器的数据传输方法及装置 |
CN104461917A (zh) * | 2014-12-05 | 2015-03-25 | 宁波新尚智能电气有限公司 | 基于Nor Flash的区域循环存储方法 |
CN109600795B (zh) * | 2017-09-30 | 2021-09-28 | 智邦科技股份有限公司 | A-msdu子帧的处理方法及无线网络存取装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390299A (en) * | 1991-12-27 | 1995-02-14 | Digital Equipment Corporation | System for using three different methods to report buffer memory occupancy information regarding fullness-related and/or packet discard-related information |
JPH07225738A (ja) * | 1994-02-09 | 1995-08-22 | Hitachi Ltd | 受信バッファの管理方法および通信装置 |
US5923660A (en) * | 1996-01-31 | 1999-07-13 | Galileo Technologies Ltd. | Switching ethernet controller |
CN1302020A (zh) * | 1999-12-28 | 2001-07-04 | 威盛电子股份有限公司 | 控制芯片组与其间的数据事务方法 |
CN1303050A (zh) * | 2000-01-04 | 2001-07-11 | 国际商业机器公司 | 用于网络处理器的动态随机存取存储器数据存储和移动 |
-
2002
- 2002-06-07 CN CNB2006100579109A patent/CN100431315C/zh not_active Expired - Fee Related
- 2002-06-07 CN CNB021227284A patent/CN100477608C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390299A (en) * | 1991-12-27 | 1995-02-14 | Digital Equipment Corporation | System for using three different methods to report buffer memory occupancy information regarding fullness-related and/or packet discard-related information |
JPH07225738A (ja) * | 1994-02-09 | 1995-08-22 | Hitachi Ltd | 受信バッファの管理方法および通信装置 |
US5923660A (en) * | 1996-01-31 | 1999-07-13 | Galileo Technologies Ltd. | Switching ethernet controller |
CN1302020A (zh) * | 1999-12-28 | 2001-07-04 | 威盛电子股份有限公司 | 控制芯片组与其间的数据事务方法 |
CN1303050A (zh) * | 2000-01-04 | 2001-07-11 | 国际商业机器公司 | 用于网络处理器的动态随机存取存储器数据存储和移动 |
Also Published As
Publication number | Publication date |
---|---|
CN1819558A (zh) | 2006-08-16 |
CN100477608C (zh) | 2009-04-08 |
CN1464694A (zh) | 2003-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101355558B (zh) | 数据处理设备和数据传送方法 | |
KR101077900B1 (ko) | 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치 | |
US7283549B2 (en) | Method for increasing the transmit and receive efficiency of an embedded ethernet controller | |
JP4477613B2 (ja) | AXIプロトコルを適用したNoCシステム | |
JP3412825B2 (ja) | データネットワーク上でデータパケットをスイッチングする方法および装置 | |
US5923660A (en) | Switching ethernet controller | |
US7249206B2 (en) | Dynamic memory allocation between inbound and outbound buffers in a protocol handler | |
AU2009281668B2 (en) | Method and apparatus for connecting USB devices to a remote computer | |
US5151895A (en) | Terminal server architecture | |
EP1237337A3 (en) | Efficient optimization algorithm in memory utilization for network applications | |
CN101282224A (zh) | 通信适配器及通信适配器的数据传输方法 | |
US7277975B2 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
JPH09167127A (ja) | ハードウェアとソフトウェアの間でのデータ転送を調整するための方法及び装置 | |
CN100431315C (zh) | 可增加内嵌式以太网络控制器送收效率的方法 | |
Gupta et al. | Efficient collective operations using remote memory operations on VIA-based clusters | |
JPH0690256A (ja) | パケット通信方法ならびにその送信装置および受信装置 | |
JP2003050788A (ja) | 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法 | |
EP1384355B1 (en) | Interface circuit | |
US6597690B1 (en) | Method and apparatus employing associative memories to implement limited switching | |
US6570887B2 (en) | Method and apparatus employing associative memories to implement message passing | |
WO2001018989A1 (en) | Parallel bus communications over a packet-switching fabric | |
CN116361215B (zh) | 一种AXI4-Lite总线远程扩展方法 | |
US7143185B1 (en) | Method and apparatus for accessing external memories | |
CN1125548C (zh) | 依序转发包的输出排队方法 | |
Hu et al. | Design method of Ethernet based on SGMII |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081105 Termination date: 20100607 |