CN101039270A - 支持多通道数据传输的数据传输装置及方法 - Google Patents
支持多通道数据传输的数据传输装置及方法 Download PDFInfo
- Publication number
- CN101039270A CN101039270A CNA2007100855921A CN200710085592A CN101039270A CN 101039270 A CN101039270 A CN 101039270A CN A2007100855921 A CNA2007100855921 A CN A2007100855921A CN 200710085592 A CN200710085592 A CN 200710085592A CN 101039270 A CN101039270 A CN 101039270A
- Authority
- CN
- China
- Prior art keywords
- passage
- data
- buffer memory
- side buffer
- flow
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
支持多通道数据传输的数据传输装置,包括在发送设备和接收设备间进行数据传输的多通道接口,还包括:发送侧缓存;接收侧缓存;发送单元,与所述发送设备、多通道接口和发送侧缓存相连,用于将发送设备输出数据按通道存放到发送侧缓存、并根据各通道流控信息调度发送侧缓存中数据发送至多通道接口;接收单元,与多通道接口、接收侧缓存和接收设备相连,用于将多通道接口输出数据按通道存放到接收侧缓存以待输入接收设备、并根据接收侧缓存中各通道缓存数据的容量产生相应流控信息;以及应用上述数据传输装置的相应数据传输方法。本发明通过外部缓存有效扩展了诸如SPI4.2之类多通道接口所能支持的通道数量,并能避免队头堵塞现象的出现。
Description
技术领域
本发明涉及网络通信,尤其涉及通信设备间的数据传输;更具体地说,本发明涉及通过外部缓存使得所述通信设备间能够进行多通道数据传输的流控技术和数据传输技术。
背景技术
SPI(System Packet Interface,系统包接口)是OIF(OpticalInternetworking Forum,光纤互联网络论坛)制定的互连物理层(Physicallayer,PHY)设备与链路层(Link layer,LINK)设备的点对点接口标准。针对不同的应用环境,所述SPI对应有多个不同版本,且目前得到最广泛应用的是SPI3(SPI Level 3)和SPI4.2(SPI Level 4 Phase 2);其中SPI3针对的信号频率是2.5Gbps,而SPI4.2对应10Gbps的数据传输速率。更具体而言,SPI4.2可用于报文和信元传送,主要应用于OC-192(192级光载体)ATM(Asynchronous Transfer Mode,异步传输模式)网、SONET(Synchronous Optical Network,同步光纤网)/SDH(Synchronous DigitalHierarchy,同步数字系列网)等。并且,所述SPI4.2接口主要具有以下几个技术特征:
A、可用于点对点连接,比如支持物理层和链路层设备的单向连接;
B、在一条物理通道上,理论上最多可支持256个逻辑通道,每个逻辑通道对应物理层的一个实际端口;
C、发送/接收数据通路具有16bit位宽,且其中每根数据线的最低速率为622Mbps以支持10Gbps的互连应用;
D、发送/接收FIFO(First In First Out,先进先出)状态通路具有2bit并行状态标志,且其I/O(Input/Output,输入/输出)电平采用LVTTL(Lower Voltage Transistor-Transistor Logic,低压三极管逻辑电平)或LVDS(Low Voltage Differential Signaling,低压差分电平)。
图1为上述SPI4.2接口互连链路层设备100和物理层设备300的参考模型示意图。如图1所示,在链路层设备100(包括链路层发送设备110和链路层接收设备120)和物理层设备300之间,对应于链路层设备100的数据发送和接收,通过SPI4.2接口200分别建立有发送通道410和接收通道420两个逻辑通道。所述发送通道410用于传输所述链路层发送设备110输出至所述物理层设备300的数据,以及所述物理层设备300反馈至所述链路层发送设备110的FIFO状态;所述接收通道420用于传输所述物理层设备300输出至所述链路层接收设备120的数据,以及所述链路层接收设备反馈至所述物理层设备300的FIFO状态。
其中,所述FIFO状态用于指示所述SPI4.2接口中相应逻辑通道的接收侧FIFO缓存状态,使得所述发送侧设备(包括链路层发送设备110或物理层设备300)能够根据所述FIFO状态对相应逻辑通道的数据发送操作进行控制,也即在所述接收侧FIFO缓存状态为“满”时停止所述相应逻辑通道410/420的数据发送操作、而在所述接收侧FIFO缓存状态为“空”时允许所述相应逻辑通道410/420的数据发送操作。
对于上述SPI4.2接口200,由于SPI4.2接口标准规定为每个逻辑通道分别设计独立的接收/发送FIFO缓存,而同时所述SPI4.2接口200的数据传输速率较高(不小于9.952Gbps),这就使得所述SPI4.2接口芯片需要内建庞大的缓存资源。这将会大大增加SPI4.2接口芯片的生产成本,进而使得现有大多数SPI4.2接口芯片实现的逻辑通道数量较少(一般为8个或16个),尽管OIF制定的SPI4.2接口标准中定义了256个逻辑通道。
为了解决上述独立接收/发送FIFO缓存引发的内建缓存资源需求庞大、可支持逻辑通道数量较少等问题,目前已有一些SPI4.2接口芯片采用多个逻辑通道共用FIFO缓存的设计方式。在这种设计方式下,当某一逻辑通道对应的数据通道发生堵塞、使其无法从所述共用FIFO缓存中读出数据时,则与其共用FIFO缓存的其他逻辑通道都将无法从所述共用FIFO缓存中读出数据,也即出现了队头堵塞现象。
发明内容
针对上述现有技术的不足,本发明目的在于提供一种数据传输装置,以扩展诸如SPI4.2接口之类多通道数据传输接口所能支持的逻辑通道数量,并避免出现多通道共用FIFO缓存情况下的队头堵塞现象。
同时,本发明另一目的在于提供应用于上述数据传输装置的相应数据传输方法。
为了达到上述目的,本发明提供了一种支持多通道数据传输的数据传输装置,包括用于在发送设备和接收设备之间进行数据传输的多通道接口,还包括发送侧缓存、发送单元、接收侧缓存、及接收单元,其中:
所述发送侧缓存,用于按通道缓存所述发送设备输出的数据;
所述接收侧缓存,用于按通道缓存等待输入所述接收设备的数据;
所述发送单元,与所述发送设备、所述多通道接口和所述发送侧缓存相连,用于接收所述发送设备输出的数据,并按通道将该数据存放到所述发送侧缓存中各所述通道的相应空间内,同时根据各所述通道的流控信息调度并执行所述发送侧缓存中各所述通道相应空间内数据发送至所述多通道接口的操作;
所述接收单元,与所述接收设备、所述多通道接口和所述接收侧缓存相连,用于接收所述多通道接口输出的数据,并按通道将该数据存放到所述接收侧缓存中各所述通道的相应空间内以待被所述接收设备接收,同时根据所述接收侧缓存中各所述通道相应空间内的数据容量产生各所述通道的流控信息后经所述多通道接口反馈至所述发送单元。
对于上述数据传输装置,优选地,所述接收单元中设置有各所述通道的停止发送阈值和允许发送阈值,其中:
当所述接收侧缓存中某个所述通道相应空间内的数据容量高于该通道的停止发送阈值时,则产生停止发送该通道数据的流控信息;
当所述接收侧缓存中某个所述通道相应空间内的数据容量低于该通道的允许发送阈值时,则产生允许发送该通道数据的流控信息。
对于上述数据传输装置,优选地,所述接收单元包括接收缓存管理模块和流控产生模块,其中:
所述接收缓存管理模块,与所述接收设备、所述多通道接口和所述接收侧缓存相连,用于接收所述多通道接口转发的数据,按通道将该数据存放到所述接收侧缓存中各所述通道的相应空间内以待被所述接收设备接收,并记录所述接收侧缓存中各所述通道相应空间内的数据容量;
所述流控产生模块,与所述接收缓存管理模块和所述多通道接口相连,用于根据所述接收缓存管理模块对所述接收侧缓存中各所述通道相应空间内数据容量的记录产生各所述通道的流控信息,并将所述流控信息输出至所述多通道接口。
对于上述数据传输装置,优选地,所述发送单元包括流控解析模块和发送缓存管理模块,其中:
所述流控解析模块,与所述发送缓存管理模块和所述多通道接口相连,用于接收所述多通道接口转发的各所述通道的流控信息,并分别解析各所述流控信息为允许或停止相应通道的数据发送操作;
所述发送缓存管理模块,与所述发送设备、所述多通道接口和所述发送侧缓存相连,用于接收所述发送设备输出的数据和所述多通道接口转发的流控信息,按通道将所述发送设备输出数据存放到所述发送侧缓存中各所述通道的相应空间内,同时根据所述流控信息调度并执行将所述发送侧缓存中各所述通道相应空间内数据发送至所述多通道接口的操作。
对于上述数据传输装置,优选地,所述多通道接口为SPI4.2接口。
对于上述数据传输装置,优选地,所述发送侧缓存和/或所述接收侧缓存为SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器),或者为SRAM(Static Random Access Memory,静态随机存储器),或者为FIFO(First In First Out)寄存器,或者为内存条等各种缓存器件。
同时,本发明还提供了应用上述数据传输装置的数据传输方法,以在发送设备和接收设备之间进行多通道的数据传输;该方法包括有下列步骤:
步骤T1,按通道将所述发送设备的输出数据存放到发送侧缓存中各所述通道的相应空间内;
步骤T2,根据各所述通道的流控信息调度并执行将所述发送侧缓存中各所述通道相应空间内数据发送至多通道接口的操作;
步骤R1,按通道将所述多通道接口的输出数据存放到接收侧缓存中各所述通道的相应空间内,以等待输入所述接收设备;
步骤R2,根据所述接收侧缓存中各所述通道相应空间内的数据容量,产生各所述通道的流控信息。
对于上述数据传输方法,优选地,所述步骤R2具体包括有下列步骤:
步骤R2-1,当所述接收侧缓存中某所述通道相应空间内的数据容量高于该通道的停止发送阈值时,产生停止发送该通道数据的流控信息;
步骤R2-2,当所述接收侧缓存中某所述通道相应空间内的数据容量低于该通道的允许发送阈值时,产生允许发送该通道数据的流控信息。
对于上述数据传输方法,优选地,所述步骤T2具体包括有下列步骤:
步骤T2-1,当接收到停止发送某所述通道数据的流控信息时,停止该通道的数据发送操作;
步骤T2-2,当接收到允许发送某所述通道数据的流控信息时,允许该通道的数据发送操作。
对于上述数据传输方法,优选地,所述多通道接口为SPI4.2接口;同时,与前述数据传输装置类似,所述发送侧缓存和/或所述接收侧缓存为SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存储器),或者为SRAM(Static Random Access Memory,静态随机存储器),或者为FIFO(First In First Out)寄存器,或者为内存条等各种缓存器件。
综上所述可知,对于用来高速互连发送设备和接收设备的诸如SPI4.2接口之类的多通道接口,本发明通过利用外部缓存资源对发送设备输出数据和接收设备输入数据进行按通道缓存,且根据各所述通道的流控信息分别控制各所述通道的停止/允许数据发送。这样,本发明的有益效果主要有:
首先,与为每个通道内建独立发送/接收FIFO缓存的现有通用SPI4.2接口相比,由于无需在芯片内部建立庞大的缓存资源,本发明能够有效扩展SPI4.2接口所能支持的通道数目,同时还将大大降低所述SPI4.2接口的设计成本。
其次,与多个通道共用发送/接收FIFO缓存的另一种现有SPI4.2接口相比,由于各通道的停止/允许数据发送操作互不影响,使得本发明能够有效避免队头阻塞现象的发生。
附图说明
图1为现有技术中SPI4.2接口的应用参考模型示意图;
图2为本发明数据传输装置第一实施例的结构示意图;
图3为本发明中应用SPI4.2接口传送的信元的数据结构图;
图4为本发明数据传输装置中自定义数据头的示意图;
图5为本发明数据传输装置第二实施例的结构示意图;
图6为本发明数据传输方法的流程示意图。
具体实施方式
如上所述,本发明提供了支持多通道数据传输的数据传输装置,以及应用所述数据传输装置的相应数据传输方法,下面将参照附图详细介绍本发明技术方案。
首先,图2给出了本发明所提供互连发送设备和接收设备的数据传输装置第一实施例的结构示意图。
需要说明的是,在图2中所述发送设备被具体为链路层设备100、所述接收设备被具体为物理层设备300;也即,为简化描述起见,图2仅示出了链路层设备100发送、物理层设备300接收的单向数据传输。然而,本领域技术人员应能理解如此图示只是为了简化制图,并不表示本发明所提供数据传输装置只支持单向数据传输功能,且事实上本发明所提供数据传输装置完全能够支持双向数据传输。
如图2所示,本发明所提供数据传输装置500包括SPI4.2接口200,还包括发送单元510、接收单元530、发送侧缓存520、及接收侧缓存540,其中:所述SPI4.2接口为应用在所述链路层设备100和所述物理层设备300之间进行数据传输的多通道接口,而所述发送单元510、发送侧缓存520、接收单元530、及接收侧缓存540则共同构成对所述多通道接口进行数据流发送控制的外围流控装置。
在图2中,在所述链路层设备100和所述物理层设备300之间进行数据传输的多通道接口被具体为OIF制定的SPI4.2接口。尽管OIF制定SPI4.2标准的初衷是给出一套链路层和物理层设备之间相互传输数据的规则,但事实上SPI4.2接口被设计成不仅能满足这种特定应用要求,同时还能满足其他传送报文或信元的应用要求。因此,图2所示仅仅是个参考模型,并不表示本发明所提供数据传输装置的两侧必然连接物理层或链路层之类的器件/装置/设备,同时也不表示本发明所提供数据传输装置中的多通道接口必然为SPI4.2接口。
所述发送单元510与所述作为发送设备的链路层设备100、所述发送侧缓存520、及所述接收单元530相连。所述发送单元510主要用于接收所述作为发送设备的链路层设备100的输出数据,并按通道将该数据存放到所述发送侧缓存520中各所述通道的相应空间内以待发送;同时,所述发送单元还需要根据各所述通道的流控信息调度并执行将所述发送侧缓存520中各所述通道相应空间内数据发送至所述SPI4.2接口200的操作。
并且,所述调度数据发送操作的具体内容有:在没有接收到所述流控信息的情况下,所述发送单元510根据预定的调度策略对各所述通道的数据发送操作进行调度;在接收到停止发送某通道数据的流控信息时,所述发送单元510停止该通道的数据发送操作、并根据所述预定调度策略对其他允许数据发送操作的通道进行调度,也即停止从所述发送侧缓存520中该通道相应空间内读取数据并输出、而不影响其他通道的数据发送操作;在接收到允许发送某通道数据的流控信息时,所述发送单元510允许该通道的数据发送操作、并根据所述预定调度策略对该通道及其他允许数据发送操作的通道进行调度,也即允许根据调度结果从所述发送侧缓存520中读取该通道相应空间内数据并输出、同样也不影响其他通道的数据发送操作。
其中,所述预定的调度策略包括RR(Round Robin,轮循)调度、WRR(Weighted Round Robin,加权轮循)调度、WRED(Weighted RandomEarly Detection,加权随机早期检测)调度等多种调度策略。因此,本领域技术人员应能理解,所述预定的调度策略可由用户根据实际各所述通道的负载状况来灵活设定。
所述接收单元530与所述发送单元510、所述接收侧缓存540、及所述作为接收设备的物理层设备300相连。所述接收单元530主要用于接收经所述发送单元510发送调度后的所述链路层设备100的输出数据,并按通道将该数据存放到所述接收侧缓存540中各所述通道的相应空间内以待被所述物理层设备300接收;同时,所述接收单元还需要根据所述接收侧缓存540中各所述通道相应空间内的数据容量,产生相应的各所述通道的流控信息。
并且,所述产生流控信息的具体执行规则是:为各所述通道分别设置停止发送阈值和允许发送阈值,当所述接收侧缓存540中某通道相应空间内的数据容量高于该通道的停止发送阈值时,所述接收单元530则产生停止发送该通道数据的流控信息,并将该流控信息反馈至所述发送单元510;当所述接收侧缓存540中某通道相应空间内的数据容量低于该通道的允许发送阈值时,所述接收单元530则产生允许发送该通道数据的流控信息,并将该流控信息反馈至所述发送单元510。
其中,具体设置各所述通道的停止发送阈值和允许发送阈值时,需要考虑各所述通道的相应缓存空间大小、相应通道数据传输速率等多方面应用现场因素。因此,本领域技术人员应能理解,所述停止发送阈值和允许发送阈值可由用户根据实际应用需要来设定。
对于图2所示本发明数据传输装置的第一实施例,优选地,可通过自定义数据头对所述数据和所述流控信息进行信元区分。在现有技术中SPI4.2接口传送的信元中,控制字之后全为有效负载净荷。比如如图3所示,选取所述控制字之后2字节净荷字节1-2用来自定义数据头,并将所述自定义数据头之后净荷字节3-8作为保留扩展用。至于如何具体定义所述自定义数据头,则可参照图4所示举例进行。
如图4所示:对于2字节的所述自定义数据头,用其中12比特(图4中例示比特序号为0-11)来标识该信元对应的通道,也即1个通道分配1个唯一与之对应的通道号、且指定所述自定义数据头中12比特来传送所述通道号;用其中2比特(图4中例示比特序号为14-15)来表示信元类型,比如00标识该信元为该通道的发送数据、01标识该信元为该通道的流控信息;用其中剩余2比特(图4中例示比特序号为12-13)来表示所述流控信息的具体内容,比如01表示所述流控信息为允许该通道的数据发送操作、10表示所述流控信息为停止该通道的数据发送操作。
综上所述,所述发送单元510和所述接收单元530均分别按通道将该通道的数据缓存在与该通道对应的所述发送侧缓存520和所述接收侧缓存540中相应空间内,同时所述接收单元530根据所述接收侧缓存540中各所述通道的相应空间内数据容量状态产生各所述通道的流控信息,而所述发送单元510则根据各所述通道的流控信息调度并执行各所述通道的数据发送操作。
也就是说,所述发送侧缓存520作为所述发送单元510的外部缓存,主要用于按通道缓存所述作为发送设备的链路层设备100的输出数据,以等待由所述发送单元510根据相应流控信息按预定调度策略发送出去;所述接收侧缓存540作为所述接收单元530的外部缓存,主要用于按通道缓存经所述发送单元510发送调度的输出数据,以等待被所述作为接收设备的物理层设备300接收。
并且,所述发送侧缓存520和/或所述接收侧缓存540可采用任何一种可用于数据缓存的器件/装置,比如SDRAM(Synchronous DynamicRandom Access Memory,同步动态随机存储器),SRAM(Static RandomAccess Memory,静态随机存储器),FIFO(First In First Out)缓存,或内存条等。
这样,与为每个通道内建独立发送/接收FIFO缓存的现有通用SPI4.2接口相比,由于无需在芯片内部建立庞大的缓存资源,使得本发明不仅大大降低了SPI4.2接口的设计成本,更重要的是还有效扩展了SPI4.2接口所能支持的通道数目;而与多个通道共用发送/接收FIFO缓存的另一种现有SPI4.2接口相比,由于各所述通道的停止/允许数据发送操作互不影响,使得本发明能够有效避免队头阻塞现象的发生。
对于上述本发明所提供数据传输装置500,其中所述发送单元510和所述接收单元530作为所述多通道接口(图2中具体例示为SPI4.2接口)的外围辅助流控器件,可采用CPU(Central Processing Unit,中央处理器)或FPGA(Field Programmable Gate Array,现场可编程门阵列)等来实现。下面将参照图5详细介绍所述发送单元510和所述接收单元530的具体实施方式。
比较图2和图5可知,本发明所提供数据传输装置第二实施例可看作上述第一实施例的优选实施方式。且如图5所示,在本发明所提供数据传输装置第二实施例中,所述发送单元510包括发送缓存管理模块511和流控解析模块514成;类似地,所述接收单元530包括接收缓存管理模块512和流控产生模块513。其中:
所述接收缓存管理模块512与所述接收设备(图5中未示出)、所述多通道接口(图5中具体例示为SPI4.2接口200)和所述接收侧缓存520相连,用于接收所述SPI4.2接口200转发的数据,并按通道将该数据存放到所述接收侧缓存540中各所述通道的相应空间内以待被所述接收设备接收,同时记录所述接收侧缓存540中各所述通道相应空间内的数据容量。
所述流控产生模块513与所述接收缓存管理模块512和所述多通道接口相连(图5中具体例示为SPI4.2接口200),用于根据所述接收缓存管理模块512对所述接收侧缓存540中各所述通道相应空间内数据容量的记录产生各所述通道的流控信息,并将所述流控信息输出至所述SPI4.2接口200。
所述流控解析模块514与所述发送缓存管理模块511和所述多通道接口(图5中具体例示为SPI4.2接口200)相连,用于接收所述SPI4.2接口200转发的各所述通道的流控信息,并分别解析所述流控信息为允许或停止相应通道的数据发送操作。
所述发送缓存管理模块511与所述发送设备(图5中未示出)、所述多通道接口(图5中具体例示为SPI4.2接口200)和所述发送侧缓存520相连,用于接收所述发送设备输出的数据和经所述SPI4.2接口200转发的各通道流控信息,并按通道将所述发送设备输出数据存放到所述发送侧缓存520中各所述通道的相应空间内,同时根据所述流控信息调度并执行将所述发送侧缓存520中各所述通道相应空间内数据发送至所述SPI4.2接口200的操作。
这样,对所述发送单元510和所述接收单元530而言,其中对所述发送侧缓存520和所述接收侧缓存540进行数据读写的操作分别具体由所述发送缓存管理模块511和所述接收缓存管理模块512执行,而其中对上述数据读写进行控制的操作则具体由所述流控产生模块513和所述流控解析模块514执行。也就是说,所述流控产生模块513用于产生各所述通道的流控信息,且其产生各所述通道的流控信息的主要根据为所述接收缓存管理模块512对所述接收侧缓存540中各所述通道相应空间内待接收数据容量的记录;而所述流控解析模块514用于解析接收到的各所述通道的流控信息,并根据所述解析结果控制所述发送缓存管理模块511允许或停止该通道的数据发送操作。
更具体地说,所述流控产生模块513中设置有各所述通道的停止发送阈值和允许发送阈值,这样:
当所述流控产生模块513经由所述接收缓存管理模块512发现所述接收侧缓存540中某通道相应空间内的数据容量高于该通道的停止发送阈值时,则相应地产生一个停止发送该通道数据的流控信息,并将该流控信息经由所述SPI4.2接口200反馈至所述发送单元510。随后,所述流控解析模块514经由所述SPI4.2接口200获得该流控信息后,解析该流控信息获知此时需停止发送该通道的数据,则据此通知所述发送接收缓存管理模块511停止该通道的数据发送操作。
当所述流控产生模块513经由所述接收缓存管理模块512发现所述接收侧缓存540中某通道相应空间内的数据容量低于该通道的允许发送阈值时,则相应地产生一个允许发送该通道数据的流控信息,并将该流控信息同样经由所述SPI4.2接口200反馈至所述发送单元510。随后,所述流控解析模块514经由所述SPI4.2接口200获得该流控信息后,解析该流控信息获知此时需允许发送该通道的数据,则据此通知所述发送缓存管理模块511允许该通道的数据发送操作。
需要说明的是:虽然如上所述,所述停止发送阈值和所述允许发送阈值设置在所述流控产生模块513中,由所述流控产生模块513来进行比较缓存数据容量和阈值的操作;但是本领域技术人员应能理解,所述停止发送阈值和所述允许发送阈值也可设置在所述接收缓存管理模块512中,由所述接收缓存管理模块来进行比较缓存数据容量和阈值的操作。也就是说,本发明并不对所述停止发送阈值和所述允许发送阈值的具体设置地点进行限制。
此外,本发明还提供了应用于上述数据传输装置的相应数据传输方法,以在发送设备和接收设备之间进行多通道的数据传输,并且图6给出了该方法的流程示意图,下面将参照图2所示本发明数据传输装置对图6所示各步骤进行详细解释。
如图6所示,在图2所示数据传输装置500中与作为发送设备的链路层设备100相连的发送侧,该方法主要执行的步骤有:
步骤T0,图2所示发送单元510接收所述链路层设备100输出的数据;
步骤T1,然后,所述发送单元510按通道将所述链路层设备100的输出数据存放到图2所示发送侧缓存520中各所述通道的相应空间内,以待经发送操作调度输出至图2所示作为多通道接口的SPI4.2接口200;
步骤T2,同时,所述发送单元510还接收由所述SPI4.2接口200转发的流控信息,并根据各所述通道的流控信息调度并执行将所述发送侧缓存520中各所述通道相应空间内数据发送至所述SPI4.2接口200的操作。
其中,根据具体流控信息的不同,所述步骤T2有可能具体表现为下列步骤之一:
步骤T2-0,当没有接收到任何流控信息时,所述发送单元510根据预定调度策略调度并执行将所述发送侧缓存520中各所述通道相应空间内数据发送至所述SPI4.2接口200的操作;并且,所述预定调度策略可为RR调度策略、也可为WRR调度策略、还可为WRED调度策略等;
步骤T2-1,当接收到停止发送某所述通道数据的流控信息时,所述发送单元510停止该通道的数据发送操作,也即根据前述预定调度策略调度并执行将所述发送侧缓存520中不包括该通道的各允许数据发送操作通道的相应空间内数据发送至所述SPI4.2接口200的操作;
步骤T2-2,当接收到允许发送某所述通道数据的流控信息时,所述发送单元510将允许该通道的数据发送操作,也即从此刻开始根据前述预定调度策略调度并执行将所述发送侧缓存520中包括该通道的各允许数据发送操作通道的相应空间内数据发送至所述SPI4.2接口200的操作。
同时,如图6所示,在图2所示数据传输装置500中与作为接收设备的物理层设备300相连的接收侧,该方法主要执行的步骤有:
步骤R0,图2所示接收单元530接收所述SPI4.2接口200输出的数据;
步骤R1,然后,所述接收单元530按通道将所述SPI4.2接口200的输出数据存放到图2所示接收侧缓存540中各所述通道的相应空间内,以待被所述物理层设备300接收;
步骤R2,同时,所述接收单元530还需监视所述接收侧缓存540中各所述通道相应空间内的数据容量,并根据所述监视结果产生各所述通道的流控信息后经由所述SPI4.2接口200反馈至所述发送单元510。
其中,优选地,所述接收单元530中为各所述通道均分别设置有相应的停止发送阈值和允许发送阈值。并且,根据所述接收侧缓存540中各所述通道相应空间内数据容量与所述两个阈值的比较结果不同,所述步骤R2有可能具体表现为下列步骤之一:
步骤R2-1,当所述接收侧缓存540中某通道相应空间内的数据容量高于该通道的停止发送阈值时,所述接收单元530产生停止发送该通道数据的流控信息,并通过所述SPI4.2接口将该流控信息反馈至所述发送单元510;
步骤R2-2,当所述接收侧缓存540中某通道相应空间内的数据容量低于该通道的允许发送阈值时,所述接收单元530产生允许发送该通道数据的流控信息,并通过所述SPI4.2接口将该流控信息反馈至所述发送单元510。
需要声明的是,上述发明内容及具体实施方式意在证明本发明所提供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域技术人员在本发明的精神和原理内,当可作各种修改、等同替换、或改进。本发明的保护范围以所附权利要求书为准。
Claims (10)
1.一种数据传输装置,包括用于在发送设备和接收设备之间进行数据传输的多通道接口,其特征在于,该数据传输装置还包括:
发送侧缓存,用于按通道缓存所述发送设备输出的数据;
接收侧缓存,用于按通道缓存等待输入所述接收设备的数据;
发送单元,与所述发送设备、所述多通道接口和所述发送侧缓存相连,用于接收所述发送设备输出的数据,按通道将该数据存放到所述发送侧缓存中各所述通道的相应空间内,同时根据各所述通道的流控信息调度并执行将所述发送侧缓存中各所述通道相应空间内数据发送至所述多通道接口的操作;
接收单元,与所述接收设备、所述多通道接口和所述接收侧缓存相连,用于接收所述多通道接口输出的数据,按通道将该数据存放到所述接收侧缓存中各所述通道的相应空间内以待被所述接收设备接收,并根据所述接收侧缓存中各所述通道相应空间内的数据容量产生各所述通道的流控信息后经所述多通道接口反馈至所述发送单元。
2.如权利要求1所述的数据传输装置,其特征在于,所述接收单元中设置有各所述通道的停止发送阈值和允许发送阈值,其中:
当所述接收侧缓存中某个所述通道相应空间内的数据容量高于该通道的停止发送阈值时,则产生停止发送该通道数据的流控信息;
当所述接收侧缓存中某个所述通道相应空间内的数据容量低于该通道的允许发送阈值时,则产生允许发送该通道数据的流控信息。
3.如权利要求1所述的数据传输装置,其特征在于,所述接收单元包括:
接收缓存管理模块,与所述接收设备、所述多通道接口和所述接收侧缓存相连,用于接收所述多通道接口转发的数据,按通道将该数据存放到所述接收侧缓存中各所述通道的相应空间内以待被所述接收设备接收,并记录所述接收侧缓存中各所述通道相应空间内的数据容量;
流控产生模块,与所述接收缓存管理模块和所述多通道接口相连,用于根据所述接收缓存管理模块对所述接收侧缓存中各所述通道相应空间内数据容量的记录产生各所述通道的流控信息,并将所述流控信息输出至所述多通道接口。
4.如权利要求1所述的数据传输装置,其特征在于,所述发送单元包括:
流控解析模块,与所述发送缓存管理模块和所述多通道接口相连,用于接收所述多通道接口转发的各所述通道的流控信息,并分别解析所述流控信息为允许或停止相应通道的数据发送操作;
发送缓存管理模块,与所述发送设备、所述多通道接口和所述发送侧缓存相连,用于接收所述发送设备输出的数据和所述多通道接口转发的流控信息,按通道将所述发送设备输出数据存放到所述发送侧缓存中各所述通道的相应空间内,同时根据所述流控信息调度并执行将所述发送侧缓存中各所述通道相应空间内数据发送至所述多通道接口的操作。
5.如权利要求1至4任一所述的数据传输装置,其特征在于,所述多通道接口为SPI4.2接口。
6.如权利要求1至4任一所述的数据传输装置,其特征在于,所述发送侧缓存和/或所述接收侧缓存为同步动态随机存储器,或者为静态随机存储器,或者为FIFO寄存器,或者为内存条。
7.一种数据传输方法,以在发送设备和接收设备之间进行多通道的数据传输,其特征在于,该方法包括:
步骤T1,按通道将所述发送设备的输出数据存放到发送侧缓存中各所述通道的相应空间内;
步骤T2,根据各所述通道的流控信息调度并执行将所述发送侧缓存中各所述通道相应空间内数据发送至多通道接口的操作;
步骤R1,按通道将所述多通道接口的输出数据存放到接收侧缓存中各所述通道的相应空间内,以等待输入所述接收设备;
步骤R2,根据所述接收侧缓存中各所述通道相应空间内的数据容量,产生各所述通道的流控信息。
8.如权利要求7所述的数据传输方法,其特征在于,所述步骤R2具体包括:
步骤R2-1,当所述接收侧缓存中某所述通道相应空间内的数据容量高于该通道的停止发送阈值时,产生停止发送该通道数据的流控信息;
步骤R2-2,当所述接收侧缓存中某所述通道相应空间内的数据容量低于该通道的允许发送阈值时,产生允许发送该通道数据的流控信息。
9.如权利要求7所述的数据传输方法,其特征在于,所述步骤T2具体包括有:
步骤T2-1,当接收到停止发送某所述通道数据的流控信息时,停止该通道的数据发送操作;
步骤T2-2,当接收到允许发送某所述通道数据的流控信息时,允许该通道的数据发送操作。
10.如权利要求7至9任一所述的数据传输方法,其特征在于,所述多通道接口为SPI4.2接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710085592A CN100591050C (zh) | 2007-03-12 | 2007-03-12 | 支持多通道数据传输的数据传输装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710085592A CN100591050C (zh) | 2007-03-12 | 2007-03-12 | 支持多通道数据传输的数据传输装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101039270A true CN101039270A (zh) | 2007-09-19 |
CN100591050C CN100591050C (zh) | 2010-02-17 |
Family
ID=38889914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710085592A Active CN100591050C (zh) | 2007-03-12 | 2007-03-12 | 支持多通道数据传输的数据传输装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100591050C (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010025628A1 (zh) * | 2008-09-05 | 2010-03-11 | 华为技术有限公司 | 一种物理层数据传输的方法、装置及系统 |
CN101252545B (zh) * | 2008-04-11 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种流控信息处理方法和装置 |
CN101982817A (zh) * | 2010-10-22 | 2011-03-02 | 王振国 | 一种通过单个总线接口传输多路数据流的电路系统 |
CN102065015A (zh) * | 2010-12-29 | 2011-05-18 | 福建星网锐捷网络有限公司 | 一种数据传输方法、网络设备以及装置 |
CN101383773B (zh) * | 2008-10-09 | 2011-08-17 | 中国科学院计算技术研究所 | 一种用于维持多通道顺序规则的装置及相应方法 |
CN104035904A (zh) * | 2014-07-04 | 2014-09-10 | 山东超越数控电子有限公司 | 一种基于fpga的芯片间互联装置 |
CN104038441A (zh) * | 2014-06-25 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种数据传输方法及系统 |
CN104038718A (zh) * | 2014-06-18 | 2014-09-10 | 刘兴宾 | 一种Mini-LVDS通道复用接口及其通道信号分时复用方法 |
CN106603434A (zh) * | 2016-12-07 | 2017-04-26 | 盛科网络(苏州)有限公司 | 避免多通道数据传输过程中队头阻塞的系统及方法 |
CN107547414A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 报文发送方法及装置 |
CN107948236A (zh) * | 2016-10-12 | 2018-04-20 | 佳能株式会社 | 通信装置、通信方法以及存储介质 |
CN110139063A (zh) * | 2018-02-09 | 2019-08-16 | 杭州海康威视数字技术股份有限公司 | 一种确定设备支持视频流路数的方法、装置及设备 |
CN110134528A (zh) * | 2019-04-15 | 2019-08-16 | 平安普惠企业管理有限公司 | 微服务框架的接口信息存储调用方法、装置和终端设备 |
CN115396388A (zh) * | 2022-08-15 | 2022-11-25 | 成都北中网芯科技有限公司 | 一种高效的基于np的网络处理装置 |
-
2007
- 2007-03-12 CN CN200710085592A patent/CN100591050C/zh active Active
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252545B (zh) * | 2008-04-11 | 2010-08-25 | 杭州华三通信技术有限公司 | 一种流控信息处理方法和装置 |
WO2010025628A1 (zh) * | 2008-09-05 | 2010-03-11 | 华为技术有限公司 | 一种物理层数据传输的方法、装置及系统 |
CN101383773B (zh) * | 2008-10-09 | 2011-08-17 | 中国科学院计算技术研究所 | 一种用于维持多通道顺序规则的装置及相应方法 |
CN101982817A (zh) * | 2010-10-22 | 2011-03-02 | 王振国 | 一种通过单个总线接口传输多路数据流的电路系统 |
CN102065015A (zh) * | 2010-12-29 | 2011-05-18 | 福建星网锐捷网络有限公司 | 一种数据传输方法、网络设备以及装置 |
CN102065015B (zh) * | 2010-12-29 | 2012-09-12 | 福建星网锐捷网络有限公司 | 一种数据传输方法、网络设备以及装置 |
CN104038718B (zh) * | 2014-06-18 | 2017-09-01 | 广州晶序达电子科技有限公司 | 一种Mini‑LVDS通道复用接口及其通道信号分时复用方法 |
CN104038718A (zh) * | 2014-06-18 | 2014-09-10 | 刘兴宾 | 一种Mini-LVDS通道复用接口及其通道信号分时复用方法 |
CN104038441A (zh) * | 2014-06-25 | 2014-09-10 | 浪潮(北京)电子信息产业有限公司 | 一种数据传输方法及系统 |
CN104035904A (zh) * | 2014-07-04 | 2014-09-10 | 山东超越数控电子有限公司 | 一种基于fpga的芯片间互联装置 |
CN104035904B (zh) * | 2014-07-04 | 2017-01-25 | 山东超越数控电子有限公司 | 一种基于fpga的芯片间互联装置 |
CN107547414A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 报文发送方法及装置 |
CN107948236B (zh) * | 2016-10-12 | 2021-03-09 | 佳能株式会社 | 通信装置、通信方法以及存储介质 |
CN107948236A (zh) * | 2016-10-12 | 2018-04-20 | 佳能株式会社 | 通信装置、通信方法以及存储介质 |
CN106603434A (zh) * | 2016-12-07 | 2017-04-26 | 盛科网络(苏州)有限公司 | 避免多通道数据传输过程中队头阻塞的系统及方法 |
CN106603434B (zh) * | 2016-12-07 | 2019-08-02 | 盛科网络(苏州)有限公司 | 避免多通道数据传输过程中队头阻塞的系统及方法 |
CN110139063A (zh) * | 2018-02-09 | 2019-08-16 | 杭州海康威视数字技术股份有限公司 | 一种确定设备支持视频流路数的方法、装置及设备 |
CN110139063B (zh) * | 2018-02-09 | 2020-12-18 | 杭州海康威视数字技术股份有限公司 | 一种确定设备支持视频流路数的方法、装置及设备 |
CN110134528A (zh) * | 2019-04-15 | 2019-08-16 | 平安普惠企业管理有限公司 | 微服务框架的接口信息存储调用方法、装置和终端设备 |
CN115396388A (zh) * | 2022-08-15 | 2022-11-25 | 成都北中网芯科技有限公司 | 一种高效的基于np的网络处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100591050C (zh) | 2010-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101039270A (zh) | 支持多通道数据传输的数据传输装置及方法 | |
JP5598732B2 (ja) | スイッチインターフェース積層ダイメモリアーキテクチャ | |
CN100345130C (zh) | 用于器件间通信的多通道接口 | |
CN101052013A (zh) | 一种网络设备内部管理通道实现的方法及系统 | |
CN102891813B (zh) | 支持多传输模式的以太网端口架构 | |
CN101035076A (zh) | 一种多级交换网的反压方法、系统及交换节点 | |
CN1547358A (zh) | 一种用于以太网无源光网络的数据帧缓存设备和方法 | |
CN1442027A (zh) | 没有回声消除的ip语音通信 | |
CN1946054A (zh) | 一种高速数据流的传输方法、装置及数据交换设备 | |
CN1728629A (zh) | 多路物理层接口复用传输装置 | |
CN102510322A (zh) | Io接口板卡和利用io接口板卡进行数据传输的方法 | |
CN1928576A (zh) | 芯片测试系统和芯片测试方法 | |
CN1819554A (zh) | 数据处理系统及其数据接口连接方法 | |
CN1925453A (zh) | 报文转发方法和装置 | |
CN201130518Y (zh) | 一种led数据扫描板 | |
CN1295633C (zh) | 一种多cpu通信的方法 | |
CN1905558A (zh) | 单一化以太网交换板及数据交换方法 | |
CN1293739C (zh) | 高速数据链路控制协议发送处理模块及其数据处理方法 | |
CN100344126C (zh) | 一种宽带接入的组网设备及方法 | |
CN103902229B (zh) | 刀片存储装置 | |
CN1816009A (zh) | 一种数据帧组播复制的方法及系统 | |
CN1288876C (zh) | 基于动态包传输的动态随机存储器队列调度方法 | |
CN1767065A (zh) | 用于减低噪声的数据输出驱动器 | |
CN1625181A (zh) | 用于双向数据通信的方法、系统和制造物品 | |
CN1738224A (zh) | Tdm数据与帧格式转换的电路及方法、传输交换系统及方法 |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |