CN1428981A - 解决数据包在不同总线间转发的装置及其转发方法 - Google Patents

解决数据包在不同总线间转发的装置及其转发方法 Download PDF

Info

Publication number
CN1428981A
CN1428981A CN01139265A CN01139265A CN1428981A CN 1428981 A CN1428981 A CN 1428981A CN 01139265 A CN01139265 A CN 01139265A CN 01139265 A CN01139265 A CN 01139265A CN 1428981 A CN1428981 A CN 1428981A
Authority
CN
China
Prior art keywords
ehi
dual port
data
port ram
bus
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.)
Granted
Application number
CN01139265A
Other languages
English (en)
Other versions
CN100463437C (zh
Inventor
路晖
邵国
齐文宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHINA TECHNOLOGY EXCHANGE CO., LTD.
State Grid Beijing Electric Power Co Ltd
State Grid Economic and Technological Research Institute
Original Assignee
Shanghai No 2 Research Institute of ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai No 2 Research Institute of ZTE Corp filed Critical Shanghai No 2 Research Institute of ZTE Corp
Priority to CNB011392657A priority Critical patent/CN100463437C/zh
Publication of CN1428981A publication Critical patent/CN1428981A/zh
Application granted granted Critical
Publication of CN100463437C publication Critical patent/CN100463437C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及数据包在不同总线间转发的装置及方法。转发装置包括IXBUS接口模块、总线控制模块、收发双口RAM模块、EHIBUS接口模块。方法是读数据时,先读EHI的中断寄存器,根据RX中断的结果决定处理相应的包,将数据包信息通过EHI接口读到接收双口RAM中,并将确定的相应的地址信息和包头数据送入到接收双口RAM中,再通过IXBUS接口通知网络处理器从接收双口RAM中连续读数据。写数据时,网络处理器通过IXBUS接口连续将数据包送到发送双口RAM中。EHI一侧分别把经过处理的数据包及数据包信息从发送双口RAM中读出,写到EHI接口指定地址的RAM内,通过EHI接口再写一个写列队命令寄存器,通知数据交换芯片接受数据。

Description

解决数据包在不同总线间转发的装置及其转发方法
技术领域
本发明涉及通讯技术,具体涉及数据包在两种不同总线IXBUS(网络处理器专用总线)和EHIBUS(外部硬件接口总线)转发的装置及方法。
背景技术
现在的校园网、企业网、城域接入网由于Internet的发展以及集中式服务器的应用,导致流量模型由原来的80/20规则转向为新的20/80规则,即20%的流量是到本地工作组局域网的,而80%的流量需要流出本地网络。新的流量模型要求网络提供更高效的第三层以上的处理能力,单纯的第二层交换机将走向网络的边缘。另一方面,由于按职能划分工作组的科学性以及移动办公的流行,使虚拟局域网(VLAN)技术成为第二层交换机的重要功能。因此要求在网络的汇聚层(Distribution layer)具有支持VLAN的高速第二层交换功能和快速第三层处理VLAN间的数据功能,以适应新的网络流量模型的要求。而EHIBUS正是一种支持第三层以上包转发功能的总线,通过它CPU或者网络处理器可以对第三层以上的包进行各种处理,如查找路由,流量分级,NAT等,例如Galileo公司的GalNet3的交换(Switch)芯片就采用了这种总线,它既可以在Switch芯片内部处理三层包,也可以通过EHIBUS将三层包转发至外部CPU或网络处理器进行更复杂的处理。然而它是一种特殊的专用总线,不能与进行第三层处理的网络处理器的IXBUS直接相连,需要通过一种装置来实现这种连接。从目前的应用情况来看,还没有一种装置直接把这两种总线连接起来,使得数据包能够在两个不同总线间自由转发。
发明内容
本发明的目的是提供一种装置及方法,使数据包在EHIBUS与IXBUS两个总线之间可相互转发。
本发明目的的实现是通过对两个总线相互接口的设计,提供总线间的互连转发装置,达到IXBUS与EHIBUS之间高速有效的连接。该转发装置可把一个使用EHIBUS的第二层交换模块连接到使用IXBUS的第三层处理模块上,该转发装置包括连接IX总线的IXBUS接口模块、协调IX总线与EHI总线两种接口之间的收发操作的总线控制模块、用于临时存储读数据和写数据的收发双口RAM模块、连接EHI总线的EHIBUS接口模块。
EHI接口模块包括:接收EHI总线的控制信号的EHI收发状态机;根据EHI收发状态机给出的信息,发送双口RAM及EHI总线接收的数据和地址信息的EHI数据通道部分;将接收到的数据信息和地址信息适当结合后送往接受双口RAM模块的接收数据控制部分;根据EHI收发状态机给出的信息产生收发双口RAM模块的读写地址的接受双口RAM模块。
IX接口模块包括:判断发送能否进行并向总线控制模块给出指示信号的IX发送准备控制部分;根据IX总线来的控制信号启动发送操作并给出相应的控制信号给双口RAM地址指针部分的IX发送状态机;产生发送双口RAM模块的写地址的RAM地址指针部分;判断接收能否进行及数据包是否已接收完毕并向总线控制模块给出指示信号的IX接收准备控制部分;根据IX总线来的控制信号启动接收操作并给出相应的控制信号给双口RAM地址指针部分的IX接收状态机;产生接收双口RAM模块的读地址的双口RAM地址指针部分。
本发明提供的数据包在不同总线间转发的方法,是通过EHIBUS和IXBUS之间的转发装置和数据包内的算法,实现数据包在两个总线间的双向转发。其方法步骤为,
A.读数据时,
1)读EHI中断寄存器,根据RX中断的结果决定处理相应的包,
2)将数据包信息(Packet Context)通过EHI接口读到接收双口RAM中,并确定包头数据RAM所在地址信息,
3)将相应的地址信息和包头数据送入到接收双口RAM中,
4)完成EHI侧的数据接收后,再通过IXBUS接口通知网络处理器从接收双口RAM中连续读数据,
B.写数据时
1)网络处理器通过IXBUS接口连续将数据包送到发送双口RAM中,发完后,
  即释放IXBUS,
2)EHI一侧通过处理分别把经过处理的数据包及数据包信息从发送双口
  RAM中读出,写到EHI接口指定地址的RAM内,
3)通过EHI接口再写一个写列队命令寄存器(Enqueue_Cmd),通知数据交
换(Switch)芯片接受数据包。
附图说明
图1是IX总线与EHI总线转发装置框图
图2是EHI接口模块的逻辑框图
图3是IX接口模块的逻辑框图
图4是EHI总线基本写时序
图5是EHI总线基本读时序
图6是IX总线的基本时序
图7是数据包转发方法写转换流程图
图8数据包转发方法读转换流程图
具体实施方式
下面通过本发明装置及方法的实施例及对EHIBUS和IXBUS的介绍来阐明本发明是如何实现在不同总线间进行数据包转发的功能的。
本发明转发装置可把一个使用EHIBUS的第二层交换模块连接到使用IXBUS的第三层处理模块上,所发明的硬件逻辑使得在两个总线之间实现数据包的双向转发。其实现框图及各模块之间的信号关系如图1所示。整个转发装置包括四个模块:IXBUS接口模块、总线控制模块、收发双口RAM模块、EHIBUS接口模块,ISBUS接口模块与IX总线连接,EHIBUS接口模块与EHI总线连接。转发装置与外部相连的是IXBUS信号和EHIBUS信号。总线控制模块协调两种接口之间的收发操作,主要产生告知对方接口现在是否可以进行收操作或发操作的信号等。收发双口RAM用于临时存储读数据和写数据,同时消除IXBUS与EHIBUS操作不同步的影响,其大小为128字节,存储八个双字数据,每一个双字由四字节(32位)数据组成。双口RAM在写操作过程中可以从IXBUS接口接收数据并向EHI接口方向传送数据,在读操作过程中从EHI接口接收数据并将数据传送给IXBUS接口,由IXBUS接口逻辑检测目标就绪信号,而EHI总线接口逻辑随时监控IXBUS总线状态使其能够及时响应IXBUS的操作,这些通过两个总线接口逻辑之间的总线控制模块来实现。
EHI接口模块主要包括四部分:EHI收发状态机、EHI数据通道部分、接收数据控制部分、双口RAM地址指针部分。见图2,EHI收发状态机部分主要接收EHI总线的控制信号,同时根据总线控制模块的控制信号在适当的时钟周期给出EHI总线控制信号;EHI数据通道部分主要根据EHI收发状态机给出的信息在适当的时钟周期送出发送双口RAM模块过来的发送数据信息,同时将EHI总线上接受的数据和地址信息送给接收数据控制部分;接收数据控制部分主要将接收到的数据信息和地址信息适当结合后送往接受双口RAM模块;双口RAM地址指针部分主要根据EHI收发状态机给出的信息产生收发双口RAM模块的读写地址。
IX接口模块主要包括六部分,IX发送准备控制部分、IX发送状态机、双口RAM地址指针、IX接收准备控制部分、双口RAM地址指针部分。见图3,IX接口模块其接收和发送是完全独立的,所有输入输出信号均同过D触发器驱动。IX发送准备控制部分主要判断发送能否进行以及一个单独的数据包是否已经发送完毕并向总线控制模块给出指示信号;IX发送状态机主要根据IX总线来的控制信号启动发送操作并给出相应的控制信号给双口RAM地址指针部分,双口RAM地址指针部分由此产生发送双口RAM模块的写地址。IX接收准备控制部分主要判断接收能否进行以及一个单独的数据包是否已经接收完毕并向总线控制模块给出指示信号;IX接收状态机主要根据IX总线来的控制信号启动接收操作并给出相应的控制信号给双口RAM地址指针部分,双口RAM地址指针部分由此产生接收双口RAM模块的读地址。
EHIBUS是一种32位地址数据复用总线,它由32根地址/数据线(AD[31:0]),1根地址锁存线(Ads),1根数据准备就绪线(Rdy),1根数据有效线(Valid),1根最后一个有效数据线(Blast),1根读写指示线(RW),以及1根时钟线(eClk)组成。它的基本读写时序如图4,图5所示。图4表示外部装置突发写数据时的各种EHI总线信号的时序图,图5表示外部装置突发读数据时的各种EHI总线信号的时序图。Ads指示读写操作中有效的地址周期,该信号有效时地址/数据信总线(AD[31:0])上为有效的地址信号;Rdy在读操作时表明EHI接口驱动有效数据至地址/数据总线,在写操作时表明EHI接口准备从地址/数据总线采样数据信号,真正的采样在Rdy信号和Valid同时有效时完成;Blast指示突发读写操作时最后一个有效数据;RW高电平表示当前操作为写操作,低电平表示当前操作为读操作。
通过EHI接口可对Switch芯片的各寄存器、RAM、先入先出空间(FIFO)访问,它可以访问每个数据包的头64个字节即(Packet Header),也可通过DMA方式接受或发送整个数据包,并由此对所接收到的数据包进行路由查找、流量分级、地址解析等操作。在EHI接口上可同时支持三个包的头64个字节的直接转发,具体要转发哪个包头则通过EHI的中断寄存器中RX的状态来决定,因此在实际操作中,首先要读EHI的中断寄存器,确定三个数据包中哪个包已经接受完成,然后再读相应的数据包信息(Packet Context)确定所要读取的数据包头的地址,即Packet Header RAM的地址,再根据相应地址读出包头数据送网络处理器进行路由查找、流量分级、地址解析等操作;网络处理器完成对包头数据的操作后将其发送回Switch芯片的Packet Header RAM,同时将修改过的Packet Context也写回Switch芯片,指出网络处理器对包头数据所作的操作,然后通过写写列队命令寄存器(Enqueue_Cmd)将处理后的数据包头及有关信息送回Switch芯片的内部系统。若网络处理器未对包头数据进行任何处理或传送过程中包头数据出错,可以通过设置Packet Context相应位指示Switch芯片忽略该操作或丢弃该数据包。
IXBUS是一种网络处理器的接口总线,它具有64位宽度,可配置成64位双向总线或32位的单向收发总线,它是一个纯数据总线,通过它网络处理器可与外部设备进行快速的数据交换,最高速率可达4.2Gb/s。其基本时序如图6所示。FCLK是数据读写的时钟,当SOP有效时表示第一个数据开始,当EOP信号有效时,则表示最后一个数据的读写结束。
从上面的介绍可以看出EHIBUS和IXBUS是不能直接相连的,而且也不应简单的将EHIBUS的数据直接发往IXBUS或简单地将IXBUS的数据直接发往EHIBUS,如果这样IXBUS的高速性能将完全得不到发挥,本发明正是为实现IXBUS与EHIBUS之间高速有效的连接而设计的。图7和图8分别为该装置内部的读写流程图。
首先来看读数据,参见图8,当Switch芯片有三层包需要处理时,它会将相应的数据及信息写到各RAM和寄存器中,并产生中断,而装置判断到EHI接口有中断产生时,就开始进行读流程。首先通过EHI接口模块读出EHI中断寄存器,其中BIT1-3为0到2号数据包是否已接收有效的中断标志,根据RX中断的结果决定处理相应的包,如果同时有超过去一个以上的中断,则根据一仲裁原则依次处理。先把数据包信息(Packet Context)通过EHI接口读到接收双口RAM中,同时根据数据包信息中的BITO-2确定包头数据RAM所在地址信息,把相应的地址信息也送到接收双口RAM中,然后再通过EHI接口将包头数据送入接收双口RAM中,完成EHI侧的数据接收后,再通过IXBUS接口通知网络处理器可以接收数据,这时网络处理器通过IXBUS接口从接收双口RAM中连续读数据,从而完成一个读数据流程。
写数据时与此相似,参见图8,当网络处理器完成对接受到的数据包的处理后,即可准备发送数据,如果发送双口RAM此时为空,则网络处理器通过IXBUS接口连续将数据包送到发送双口RAM中,发完后,即释放IXBUS,而在EHI一侧当检测到发送双口RAM中有数据要发送时,通过处理分别把经过处理的数据包及数据包信息从发送双口RAM中读出写到EHI接口指定地址的RAM内,然后通过EHI接口再写一个写列队命令寄存器(Enqueue_Cmd),通知Switch芯片把数据包接受下来,从而完成整个数据包的发送过程。
可以看到,采用本发明方法实现的装置后,可以大大减少数据在两种总线间转发时的应答时间,收什么包,将包发往何处,都是在装置内部完成的,因此,对于网络处理器来说,它的收包发包基本上都不需要CPU的干预,提高了包转发的速率,能够更好的满足系统的要求。
这种装置的实现也相对比较容易。我们通过可编程逻辑芯片即可实现的。

Claims (4)

1.一种数据包在不同总线间转发的装置,其特征在于,该转发装置可把一个使用EHIBUS的第二层交换模块连接到使用IXBUS的第三层处理模块上,该转发装置包括连接IX总线的IXBUS接口模块、协调IX总线与EHI总线两种接口之间的收发操作的总线控制模块、用于临时存储读数据和写数据的收发双口RAM模块、连接EHI总线的EHIBUS接口模块。
2.按照权利要求1所述的转发装置,其特征在于,EHI接口模块包括:接收EHI总线的控制信号的EHI收发状态机;根据EHI收发状态机给出的信息,发送双口RAM及EHI总线接收的数据和地址信息的EHI数据通道部分;将接收到的数据信息和地址信息适当结合后送往接受双口RAM模块的接收数据控制部分;根据EHI收发状态机给出的信息产生收发双口RAM模块的读写地址的接受双口RAM模块。
3.按照权利要求1所述的转发装置,其特征在于,IX接口模块包括:判断发送能否进行并向总线控制模块给出指示信号的IX发送准备控制部分;根据IX总线来的控制信号启动发送操作并给出相应的控制信号给双口RAM地址指针部分的IX发送状态机;产生发送双口RAM模块的写地址的RAM地址指针部分;判断接收能否进行及数据包是否已接收完毕并向总线控制模块给出指示信号的IX接收准备控制部分;根据IX总线来的控制信号启动接收操作并给出相应的控制信号给双口RAM地址指针部分的IX接收状态机;产生接收双口RAM模块的读地址的双口RAM地址指针部分。
4.一种数据包在不同总线间转发的方法,其特征在于,通过EHIBUS与IXBUS两个总线之间的转发装置,可实现数据包在两个总线间的双向转发,
A.读数据时,
1)读EHI中断寄存器,根据RX中断的结果决定处理相应的包,
2)将数据包信息(Packet Context)通过EHI接口读到接收双口RAM中,并确定包头数据RAM所在地址信息,
3)将相应的地址信息和包头数据送入到接收双口RAM中,
4)完成EHI侧的数据接收后,再通过IXBUS接口通知网络处理器从接收双口RAM中连续读数据,
B.写数据时,
1)网络处理器通过IXBUS接口连续将数据包送到发送双口RAM中,发完后,即释放IXBUS,
2)EHI一侧通过处理分别把经过处理的数据包及数据包信息从发送双口RAM中读出,写到EHI接口指定地址的RAM内,
3)通过EHI接口再写一个写列队命令寄存器(Enqueue_Cmd),通知数据交换(Switch)芯片接受数据包。
CNB011392657A 2001-12-25 2001-12-25 解决数据包在不同总线间转发的装置及其转发方法 Expired - Fee Related CN100463437C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB011392657A CN100463437C (zh) 2001-12-25 2001-12-25 解决数据包在不同总线间转发的装置及其转发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB011392657A CN100463437C (zh) 2001-12-25 2001-12-25 解决数据包在不同总线间转发的装置及其转发方法

Publications (2)

Publication Number Publication Date
CN1428981A true CN1428981A (zh) 2003-07-09
CN100463437C CN100463437C (zh) 2009-02-18

Family

ID=4675187

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011392657A Expired - Fee Related CN100463437C (zh) 2001-12-25 2001-12-25 解决数据包在不同总线间转发的装置及其转发方法

Country Status (1)

Country Link
CN (1) CN100463437C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100341297C (zh) * 2003-08-08 2007-10-03 华为技术有限公司 总线交换方法以及总线交换器
CN100375484C (zh) * 2003-12-31 2008-03-12 中兴通讯股份有限公司 Pos-phy总线与pci总线间的数据包转发的装置
CN1758627B (zh) * 2005-10-27 2010-07-28 上海微电子装备有限公司 一种以dpram做媒介实现数据软交换通信的控制方法
CN112433976A (zh) * 2020-12-01 2021-03-02 西人马(西安)测控科技有限公司 一种基于双口ram的数据同步系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6098110A (en) * 1996-12-30 2000-08-01 Compaq Computer Corporation Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100341297C (zh) * 2003-08-08 2007-10-03 华为技术有限公司 总线交换方法以及总线交换器
CN100375484C (zh) * 2003-12-31 2008-03-12 中兴通讯股份有限公司 Pos-phy总线与pci总线间的数据包转发的装置
CN1758627B (zh) * 2005-10-27 2010-07-28 上海微电子装备有限公司 一种以dpram做媒介实现数据软交换通信的控制方法
CN112433976A (zh) * 2020-12-01 2021-03-02 西人马(西安)测控科技有限公司 一种基于双口ram的数据同步系统及方法

Also Published As

Publication number Publication date
CN100463437C (zh) 2009-02-18

Similar Documents

Publication Publication Date Title
CA2119151C (en) Apparatus for automatic initiation of data transmission
CN101053234B (zh) 用于越过具有进入的分组数据的dfa图像的方法和装置
EP0622922B1 (en) Method and device of multicasting data in a communications system
US6631484B1 (en) System for packet communication where received packet is stored either in a FIFO or in buffer storage based on size of received packet
US6571303B1 (en) Communication control method and apparatus utilizing a shared buffer which is shared by a system processor and a communication controller using a virtual address or a real address
CA2345596C (en) Method and apparatus for extending the range of the universal serial bus protocol
US5781549A (en) Method and apparatus for switching data packets in a data network
US20050132089A1 (en) Directly connected low latency network and interface
US20020013821A1 (en) Method and network device for creating buffer structures in shared memory
US20080126564A1 (en) Multiple context single logic virtual host channel adapter supporting multiple transport protocols
US20040252685A1 (en) Channel adapter with integrated switch
CN1315066C (zh) 用于校正并行/串行接口中的波动的缓冲网
US20040174813A1 (en) Method and apparatus for controlling network data congestion
WO2013136522A1 (ja) 計算機システム及び計算機間のデータ通信方法
CN101930416A (zh) 硬件协助处理器间的沟通
CA2573156A1 (en) Apparatus and method for supporting memory management in an offload of network protocol processing
EP0903029B1 (en) Data structure to support multiple transmit packets for high performance
US20080059686A1 (en) Multiple context single logic virtual host channel adapter supporting multiple transport protocols
CN100499666C (zh) 实现SPI4设备与PCI Express设备互连的系统及方法
CN102185833A (zh) 一种基于fpga的fc i/o并行处理方法
US20070189299A1 (en) Receiving data from virtual channels
CN100463437C (zh) 解决数据包在不同总线间转发的装置及其转发方法
CN1426203A (zh) 数据包在不同总线间转发的装置及方法
US7313146B2 (en) Transparent data format within host device supporting differing transaction types
US20030233396A1 (en) Method and apparatus for real time storage of data networking bit streams

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SHENZHENG CITY ZTE CO., LTD.

Free format text: FORMER OWNER: SHENZHENG CITY ZTE CO., LTD. SHANGHAI SECOND INSTITUTE

Effective date: 20030722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030722

Applicant after: Zhongxing Communication Co., Ltd., Shenzhen City

Applicant before: Shanghai Inst. of No.2, Zhongxing Communication Co., Ltd., Shenzhen City

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING POWER ECONOMIC RESEARCH INSTITUTE

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20140129

Owner name: STATE GRID BEIJING ELECTRIC POWER COMPANY CHINA TE

Effective date: 20140129

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 100055 XICHENG, BEIJING

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20140129

Address after: 100055 No. 15 West Street, Guanganmen station, Beijing, Xicheng District

Patentee after: State Power Economic Research Institute

Patentee after: State Grid Beijing Electric Power Company

Patentee after: CHINA TECHNOLOGY EXCHANGE CO., LTD.

Address before: 518057 Nanshan District high tech Industrial Park, Guangdong, South Road, science and technology, ZTE building, legal department

Patentee before: ZTE Corporation

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090218

Termination date: 20141225

EXPY Termination of patent right or utility model