CN103222286B - 路由交换装置、网络交换***和路由交换方法 - Google Patents

路由交换装置、网络交换***和路由交换方法 Download PDF

Info

Publication number
CN103222286B
CN103222286B CN201180020891.1A CN201180020891A CN103222286B CN 103222286 B CN103222286 B CN 103222286B CN 201180020891 A CN201180020891 A CN 201180020891A CN 103222286 B CN103222286 B CN 103222286B
Authority
CN
China
Prior art keywords
interface
memory access
protocol
direct memory
data
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.)
Active
Application number
CN201180020891.1A
Other languages
English (en)
Other versions
CN103222286A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103222286A publication Critical patent/CN103222286A/zh
Application granted granted Critical
Publication of CN103222286B publication Critical patent/CN103222286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及路由交换装置、网络交换***和路由交换方法。该路由交换装置包括:一个或多个直接内存访问模块和至少两个协议转换接口,其中所述直接内存访问模块用于产生跨网络节点的连续的访问请求并控制所述至少两个协议转换接口中的数据传输,每个所述协议转换接口用于转换所述路由交换装置内部与外部传输的数据的通信协议并连接所述路由交换模块与外部网络节点。从而,本发明可以通过引入路由交换装置替代网络交换机,使跨节点的内存访问和IO空间访问可以不通过代理而直接进行,进而减少跨节点的内存访问和IO空间访问的延时,提高***的整体性能。

Description

路由交换装置、网络交换***和路由交换方法
技术领域
本发明实施例涉及信息技术领域,并且更具体地,涉及路由交换装置、网络交换***、路由交换的方法。
背景技术
在目前的服务器硬件市场上,单个处理器的计算能力和储存处理能力都是非常有限的,但在某些特殊的应用场合,对服务器的处理能力和内存容量都有很高的要求,例如银行的账务***的处理,或者通讯交换中心的数据库处理,或者气象信息的分析处理等。为了满足这些特殊的应用,往往需要把多个处理器连接在一起,形成一个大型的计算***,这就涉及到处理器或计算***之间的互联。通常可以由两种方法把多个处理器或计算***连接起来,一种是通过专门协议把多个处理器连接起来,另一种是通过通用协议(例如PCIE(Peripheral Component Interconnect Express,快速周边元件扩展接口))把多个小计算***连接起来形成一个大的计算***。
对于采用通用协议的计算***,如果一个网络节点的处理器要访问另一个网络节点的内存或输入输出(Input/Output,简写为IO)空间,该网络节点需要将相关命令和参数通过网络协议发送到另一个网络节点,由该另一个网络节点的处理器代为执行相关的访问命令,这样跨节点的内存访问和IO空间访问的效率很低、速度很慢,从而严重影响***性能。
发明内容
本发明实施例提供一种路由交换装置、网络交换***和路由交换的方法,能够解决跨节点内存和IO空间访问的延时问题。
一方面,提供了一种路由交换装置,包括一个或多个直接内存访问DMA(Direct Memory Access)模块和至少两个协议转换接口,其中DMA模块用于产生跨网络节点的连续的访问请求并控制该至少两个协议转换接口中的数据传输,每个协议转换接口用于转换路由交换装置内部与外部传输的数据的通信协议并连接路由交换模块与外部网络节点;
所述直接内存访问模块包括:
直接内存访问控制器;以及直接内存访问通道;
其中所述直接内存访问控制器根据配置信息控制所述直接内存访问通道与所述协议转换接口的连接;所述直接内存访问模块还包括存储器,作为所述直接内存访问通道的缓冲区;所述协议转换接口包括:
快速总线协议功能块,通过快速总线链路与所述外部的网络节点进行数据交换;局部总线接口功能块,其与所述快速总线协议功能块连接,用于所述路由交换装置内部的数据传输;寄存器,与所述快速总线协议功能块和所述局部总线接口功能块连接,所述寄存器中存储有用于配置所述快速总线协议功能块和所述局部总线接口功能块的指令;控制功能块,与所述快速总线协议功能块和所述局部总线接口功能块连接,用于控制所述协议转换接口的性能或操作。
另一方面,提供了一种网络交换***,包括:至少两个服务器节点;一个或多个路由交换装置,其中每个路由交换装置通过快速总线链路(Fast BusLink)与至少两个服务器节点或者另一路由交换装置连接,并且包括一个或多个DMA模块和至少两个协议转换接口,其中DMA模块用于产生跨网络节点的连续的访问请求并控制该至少两个协议转换接口中的数据传输,每个协议转换接口用于转换路由交换装置内部与外部传输的数据的通信协议并连接路由交换模块与外部网络节点;
所述直接内存访问模块包括:直接内存访问控制器;以及直接内存访问通道;其中所述直接内存访问控制器根据配置信息控制所述直接内存访问通道与所述协议转换接口的连接;所述直接内存访问模块还包括存储器,作为所述直接内存访问通道的缓冲区;所述协议转换接口包括:快速总线协议功能块,通过快速总线链路与所述外部的网络节点进行数据交换;局部总线接口功能块,其与所述快速总线协议功能块连接,用于所述路由交换装置内部的数据传输;寄存器,与所述快速总线协议功能块和所述局部总线接口功能块连接,所述寄存器中存储有用于配置所述快速总线协议功能块和所述局部总线接口功能块的指令;控制功能块,与所述快速总线协议功能块和所述局部总线接口功能块连接,用于控制所述协议转换接口的性能或操作。
再一方面,提供了一种由路由交换装置执行的路由交换方法,路由交换装置至少包括DMA模块、第一协议转换接口及第二协议转换接口,所述第一协议转换接口和所述第二协议转换接口分别用于转换所述路由交换装置内部与外部传输的数据的通信协议;该方法包括:DMA模块通过配置接口获取配置信息和访问参数;DMA模块通过第一协议转换接口向与其连接的网络节点发出读请求,从该网络节点读出传输数据;DMA模块将获得的传输数据传送到第二协议转换接口,并通过第二协议转换接口向与其连接的网络节点发出写请求,并将所述传输数据写入与第二协议转换接口连接的网络节点;所述直接内存访问模块包括直接内存访问控制器和直接内存访问通道,其中所述直接内存访问控制器根据配置信息控制所述直接内存访问通道分别与所述第一协议转换接口、所述第二协议转换接口的连接;所述直接内存访问模块还包括存储器,作为所述直接内存访问通道的缓冲区;所述第一协议转换接口和所述第二协议转换接口中的至少一个包括:快速总线协议功能块,通过快速总线链路与所述外部的网络节点进行数据交换;局部总线接口功能块,其与所述快速总线协议功能块连接,用于所述路由交换装置内部的数据传输;寄存器,与所述快速总线协议功能块和所述局部总线接口功能块连接,所述寄存器中存储有用于配置所述快速总线协议功能块和所述局部总线接口功能块的指令;控制功能块,与所述快速总线协议功能块和所述局部总线接口功能块连接,用于控制所述协议转换接口的性能或操作。
本发明实施例可以通过引入路由交换装置替代网络交换机,使跨节点的内存访问和IO空间访问可以不通过代理而直接进行,进而减少跨节点的内存访问和IO空间访问的延时,提高***的整体性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的路由交换装置的结构示意图。
图2是根据本发明实施例的路由交换装置中DMA模块与协议转换接口的结构示意图。
图3是根据本发明实施例的网络交换***的结构示意图。
图4是根据本发明实施例的由路由交换装置执行的路由交换方法的流程图。
图5是根据本发明实施例的网络交换***中路由交换方法的流程图。
图6是根据本发明一个具体实施例的通过路由交换装置实现数据读取访问的流程图。
图7是根据本发明另一具体实施例的通过路由交换装置实现数据写入访问的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了根据本发明实施例的路由交换装置。该路由交换装置是一个硬件设备,它可以把多个网络节点连接起来。这里所述网络节点可以是服务器节点,也或者是另一路由交换装置。
在图1中,路由交换装置1包括一个或多个DMA模块11和至少两个协议转换接口12。在图1中仅示意性地示出了一个DMA模块和两个协议转换接口,即DMA模块11’、协议转换接口12’和协议转换接口12’’。本领域技术人员很容易理解,可以根据应用的需要设计路由交换模块1具有一个以上的DMA模块以及两个以上的协议转换接口。一般地,DMA模块11’会产生跨网络节点的访问请求,并进而控制两个协议转换接口12’、12’’之间的数据传输,协议转换接口12’和协议转换接口12’’转换将来自外部的网络节点的数据的通信协议转换成路由交换装置1内部数据传输所需的通信协议,或者将路由交换装置1内部数据传输所需的通信协议转换成来自外部的网络节点的数据的通信协议,并连接路由交换装置1与外部的网络节点。
图2示例性地示出了DMA模块11与协议转换接口12的内部结构图。
例如,在图2中,DMA模块11包括DMA控制器111和多个DMA通道112。其中,DMA控制器111根据配置信息控制DMA通道112与协议转换接口12的连接。此外,DMA模块11还可以包括多个存储器113,通常存储器113作为DMA通道112的缓冲区。例如,为了便于理解,在图2中具体示出了存储器113与DMA通道112一一对应的关系,DMA通道112_1至DMA通道112_n,存储器113_1至存储器113_n。当然,存储器113也可以与DMA通道112不一一对应。所有的DMA通道112均具有相同的功能与配置,所有的存储器113也可具有相同的功能与配置。存储器113例如可以是寄存器或RAM(random access memory,随机存取存储器),其数据容量可以是2个字节、4个字节、8个字节、32个字节等,本发明不限制其容量大小。当通过一个DMA通道112传输数据的2个网络节点的速度相差明显时,就可以用存储器113进行数据缓冲,避免传输的拥塞。
协议转换接口12包括快速总线协议功能块121、局部总线接口功能块122、寄存器123和控制功能块124。具体而言,快速总线协议功能块121通过快速总线链路与外部的网络节点进行数据交换。该快速总线协议功能块121是实现、支持快速总线链路协议的功能模块,保证各网络节点之间可以通过快速总线链路进行数据传输。所谓快速总线协议是把路由交换装置1与各网络节点连接起来进行数据传输的通用协议,例如,PCIE协议及其升级、或者其他通用协议。快速总线协议功能块121是网络节点和路由交换装置1之间的命令、数据的传输通道,也可用于配置和管理路由交换装置。而局部总线接口功能块122与快速总线协议功能块121连接,并用于路由交换装置1内部的数据传输。以保证数据从一个网络节点正确地传送到另一个网络节点。寄存器123与快速总线协议功能块121和局部总线接口功能块122连接,其中存储有用于配置快速总线协议功能块121和局部总线接口功能块122的指令,以便对快速总线协议功能块121和局部总线接口功能块122以及协议转换接口12内部的其他功能块进行配置。控制功能块124与快速总线协议功能块121和局部总线接口功能块122连接,并用于控制协议转换接口12的性能或操作,例如能耗管理、热插拔管理等。
综上所述,协议转换接口12用于在2种协议之间进行转换,以实现在不同的实体之间进行数据传输。从一个协议转换接口12流向各网络节点、或者从各网络节点流向另一协议转接口12的信息格式以及传递信息的方法一定是符合协议要求的。在路由交换装置1内部进行数据的传输时使用的是内部数据传输协议,在不同的实施例中可以采用不同的数据传输协议。协议转换接口12有2个主要的目的:第一,在网络节点和路由交换装置1之间进行通信协议转换;第二,把路由交换装置1的内部资源空间与各网络节点的空间隔离开来,使各网络节点和路由交换装置1成为相互独立的实体,即便路由交换装置1内部也是支持快速总线链路协议。
通过协议转换接口12可以把路由交换装置1与多个网络节点连接在一起。同样也可以通过协议转换接口12把多个路由交换装置1级联起来,从而形成一个更大的路由交换装置网络。
需要说明的是,图2所示的路由交换装置1内部的功能模块划分只是为了描述方便,并非表示路由交换装置1只能由这些功能模块组成,路由交换装置1还可以包含其它的功能模块,图中所示的功能块也可以组合、分解从而形成新的功能模块。这些变化均在本发明的覆盖范围内。
下面将结合图3描述根据本发明实施例的网络交换***。
在图3中,网络交换***3包括至少两个服务器节点2以及一个或多个路由交换装置1,其中每个路由交换装置1通过快速总线链路与服务器节点2或者另一个路由交换装置1连接。例如,如图3所示,示出了第一服务器节点2’与第二服务器节点2’’。路由交换装置1包括至少一个DMA模块11,例如DMA模块11’,该DMA模块11’控制第一服务器节点2’、第二服务器节点2’’分别与路由交换装置1之间的数据传输。第一协议转换接口12’通过快速总线链路与第一服务器节点2’连接,并转换在第一服务器节点2’与DMA模块11’之间传输的数据的通信协议。第二协议转换接口12’’通过快速总线链路与第二服务器节点2’’连接,并转换在第二服务器节点2’’与DMA模块11’之间传输的数据的通信协议。
可考虑在每个服务器节点2上设计一个符合快速总线规范的插槽,或者在每个路由交换装置1上也设计一个符合快速总线规范的插槽。这样就可以根据需要采用一头或两头带插头的链路连线将网络节点与路由交换装置1进行连接。
图4示出了根据本发明实施例的由路由交换装置1执行的路由交换方法,其中路由交换装置1至少包括DMA模块11、第一协议转换接口12’及第二协议转换接口12’’。由路由交换装置1执行的路由交换方法包括下列步骤。
41,DMA模块11通过配置接口获取访问参数。
配置接口可以是快速总线协议接口或者其他类型的接口,例如***管理总线SMBus(System Management Bus)接口,也可通过该配置接口获取配置信息。
一般而言,配置信息包括用于配置路由交换装置1所需的信息,例如工作频率、工作方式、数据传输类型、通道选择、DMA模块选择等等。而访问参数可以包括被读取数据的网络节点(例如,服务器节点)的起始地址及数据大小,以及被写入数据的网络节点的数据缓冲区。
当路由交换装置1通过配置接口获取了配置信息以及访问信息之后,就可以根据配置信息对自身进行配置,同时也明确了数据访问将涉及的外部网络节点信息等内容。
42,于是,DMA模块11通过第一协议转换接口12’向与其连接的网络节点发出读请求,并从该网络节点读出传输数据。
43,之后,DMA模块11将获得的传输数据传送到第二协议转换接口12’’,并通过第二协议转换接口12’’向与其连接的网络节点发出写请求,最后将传输数据写入与第二协议转换接口12’’连接的网络节点。
在图4中仅仅示意性地描述了DMA模块11与第一协议转换接口12’、第二协议转换接口12’’实现路由交换方法的流程。本领域技术人员很容易理解,路由交换装置1中可以包括多于2个的协议转换接口以及多个DMA模块11,不同的DMA模块11可以与不同的协议转换接口组合,这样可以实现并行处理,以进一步提高路由交换装置1的处理速度。
为了简化说明,下面的描述仍以一个DMA模块11与两个协议转换接口12’、12’’为例。应理解,路由交换装置1中任意一个DMA模块以及与该DMA模块关联的两个协议转换接口之间的数据访问操作与这里描述的情况基本相同。
这里,假设第一协议转换接口12’与一个网络节点(例如,第一服务器节点)电连接,第二协议转换接口12’’与另一个网络节点(例如,第二服务器节点)电连接。在第二服务器节点需要读取第一服务器节点中的数据的情况下,或者在第一服务器节点需要向第二服务器节点写入数据的情况下,路由交换装置1中的DMA模块11就通过第一协议转换接口12’向与其连接的第一服务器节点发出读请求,进而从该第一服务器节点读出传输数据。当传输数据通过第一协议转换接口12’传送回路由交换装置1中,并经由DMA模块11传送到第二协议转换接口12’’后,DMA模块11又通过第二协议转换接口12’’向与其连接的第二服务器节点发出写请求,最后将传输数据写入与第二协议转换接口12’’连接的第二服务器节点。
在上述过程中,本领域技术人员可理解,其中的“第一”、“第二”的表述并非用于指定具体的部件,而仅仅为了方便说明。在第一服务器节点需要读取第二服务器节点中的数据的情况下,或者在第二服务器节点需要向第一服务器节点写入数据的情况下,路由交换装置1可以由DMA模块11通过第二协议转换接口12’’向第二服务器节点发出读请求并读出传输数据,再通过第一协议转换接口12’向第一服务器节点发出写请求并写入传输数据来实现数据访问的过程。
进一步地,对于DMA模块11而言,该DMA模块11包括DMA控制器111和DMA通道112,其中DMA控制器111根据配置信息控制DMA通道112分别与第一协议转换接口12’、第二协议转换接口12’’的连接,如图2和图3所示。本领域技术人员可以理解,当路由交换装置1的DMA模块11依据接收到的访问参数确定需要进行数据访问的网络节点后,DMA控制器111就会为该次数据访问配置一个DMA通道112,并使得该DMA通道112通过内部总线与两个协议转换接口连接,其中这两个协议转换接口分别与需要进行数据访问的网络节点连接。
综上所述,路由交换装置1实现数据访问的路由交换方法就是先获取必要的配置信息和访问参数,这里的配置信息和访问参数不一定要由上述需要数据传输的第一服务器节点与第二服务器节点提供,也可以由其他的网络节点或设备提供。之后,由路由交换装置1通过DMA模块11经由一个协议转换接口向能够提供传输数据的网络节点发出读请求并读出相关数据,再经由另一个协议转换接口向需要传输数据的网络节点发出写请求并写入读出的数据来实现数据访问的路由交换方法。从而,本发明实施例的由路由交换装置执行的路由交换方法由于将路由交换装置替代了现有技术的网络交换机,使跨节点的内存访问和IO空间访问可以不通过代理而直接进行,进而减少跨节点的内存访问和IO空间访问的延时,提高***的整体性能。
以下将结合图5至图7分别描述具有网络节点和路由交换装置等实体的网络交换***中的路由交换方法。其中,该网络交换***包括至少两个服务器节点以及一个或多个路由交换装置,其中每个路由交换装置通过快速总线链路分别与该至少两个服务器节点或者另一所述路由交换装置连接。下面以仅涉及一个路由交换装置以及两个网络节点(即第一服务器节点和第二服务器节点)的最简单的网络交换***为例,例如如图3所示的网络交换***,说明在该网络交换***中各实体如何实现路由交换方法的过程。具体包括下列步骤:
51,通过配置接口将访问参数传送给路由交换装置1,并启动路由交换装置1开始工作。
52,然后,该路由交换装置1控制第一服务器节点2’对第二服务器节点2’’进行读写操作。
53,最后,当第一服务器节点2’对第二服务器节点2’’的读写操作结束后,该路由交换装置1停止第一服务器节点2’与第二服务器节点2’’之间的数据交换。
在路由交换装置1停止第一服务器节点2’与第二服务器节点2’’之间的数据交换之后,该路由交换装置1将通知第一服务器节点2’数据的读写操作完毕,以便第一服务器节点2’结束本次数据访问操作。
如图3所示,路由交换装置1至少包括DMA模块11、第一协议转换接口12’和第二协议转换接口12’’。第一协议转换接口12’通过快速总线链路与第一服务器节点2’连接,第二协议转换接口12’’通过快速总线链路与第二服务器节点2’’连接。进一步地,DMA模块11包括DMA控制器111和DMA通道112,其中DMA控制器111根据配置信息控制DMA通道112分别与第一协议转换接口12’、第二协议转换接口12’’的连接。
因此,路由交换装置1控制第一服务器节点2’对第二服务器节点2’’进行读写操作包括:DMA模块11通过第二协议转换接口12’’不断从第二服务器节点2’’读出数据,并通过第一协议转换接口12’将所读出的数据写入第一服务器节点2’,直到从第二服务器节点2’’读出全部数据;或者DMA模块11通过第一协议转换接口12’不断从第一服务器节点2’读出数据,并通过第二协议转换接口12’将所读出的数据写入第二服务器节点2’’,直到向第二服务器节点2’’写入全部数据。
具体而言,第一服务器节点2’通过路由交换装置1从第二服务器节点2’’读出数据的过程包括以下步骤,如图6所示。61,DMA模块11通过第二协议转换接口12’’向第二服务器节点2’’发出读请求。62,第二服务器节点2’’依据该读请求通过第二服务器节点2’’的内部总线将所读出的数据传送到第二协议转换接口12’’。63,DMA控制器111控制DMA通道112将所述数据传送到第一协议转换接口12’。然后,64,DMA模块11通过第一协议转换接口12’向第一服务器节点2’发出写请求。65,第一服务器节点2’依据该写请求写入所述数据。最后,66,判断是否全部所需数据均读取完毕,如果不是,则获取下一数据。
或者,第一服务器节点2’通过路由交换装置1向第二服务器节点2’’写入数据的过程包括以下步骤,如图7所示。71,DMA模块11通过第一协议转换接口12’向第一服务器节点2’发出读请求。72,第一服务器节点2’依据该读请求通过第一服务器节点2’的内部总线将写入数据传送到第一协议转换接口12’。73,DMA控制器111控制DMA通道112将所述数据传送到第二协议转换接口12’’。然后,74,DMA模块11通过第二协议转换接口12’’向第二服务器节点2’发出写请求。75,第二服务器节点2’依据该写请求写入所述数据。最后,76,判断是否全部所需数据均写入完毕,如果不是,则获取下一数据。
由上可知,第二服务器节点2’’通过路由交换装置1从第一服务器节点2’读出数据的过程或者第二服务器节点2’’通过路由交换装置1向第一服务器节点2’写入数据的过程与上述描述的具体过程相似。类似地,当网络交换***中有更多的路由交换装置以及网络节点时,它们之间的数据访问过程与上述过程也是基本相同的。从而,本发明实施例的在网络交换***中的路由交换方法由于将路由交换装置替代了现有技术的网络交换机,使跨节点的内存访问和IO空间访问可以不通过代理而直接进行,进而减少跨节点的内存访问和IO空间访问的延时,提高***的整体性能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (9)

1.一种路由交换装置,其特征在于,包括:
一个或多个直接内存访问模块;
至少两个协议转换接口,
其中所述直接内存访问模块用于产生跨网络节点的连续的访问请求并控制所述至少两个协议转换接口中的数据传输,每个所述协议转换接口用于转换所述路由交换装置内部与外部传输的数据的通信协议并连接所述路由交换模块与外部网络节点;所述直接内存访问模块包括:
直接内存访问控制器;以及
直接内存访问通道;
其中所述直接内存访问控制器根据配置信息控制所述直接内存访问通道与所述协议转换接口的连接;所述直接内存访问模块还包括存储器,作为所述直接内存访问通道的缓冲区;所述协议转换接口包括:
快速总线协议功能块,通过快速总线链路与所述外部的网络节点进行数据交换;
局部总线接口功能块,其与所述快速总线协议功能块连接,用于所述路由交换装置内部的数据传输;
寄存器,与所述快速总线协议功能块和所述局部总线接口功能块连接,所述寄存器中存储有用于配置所述快速总线协议功能块和所述局部总线接口功能块的指令;
控制功能块,与所述快速总线协议功能块和所述局部总线接口功能块连接,用于控制所述协议转换接口的性能或操作。
2.根据权利要求1所述的路由交换装置,其特征在于,所述网络节点是服务器节点或者另一路由交换装置。
3.一种网络交换***,其特征在于,包括:
至少两个服务器节点;
一个或多个路由交换装置,其中每个所述路由交换装置通过快速总线链路与所述至少两个服务器节点或者另一所述路由交换装置连接,并且包括一个或多个直接内存访问模块和至少两个协议转换接口,其中所述直接内存访问模块用于产生跨网络节点的连续的访问请求并控制所述至少两个协议转换接口中的数据传输,每个所述协议转换接口用于转换所述路由交换装置内部与外部传输的数据的通信协议并连接所述路由交换模块与外部网络节点;
所述直接内存访问模块包括:
直接内存访问控制器;以及
直接内存访问通道;
其中所述直接内存访问控制器根据配置信息控制所述直接内存访问通道与所述协议转换接口的连接;
所述直接内存访问模块还包括存储器,作为所述直接内存访问通道的缓冲区;
所述协议转换接口包括:
快速总线协议功能块,通过快速总线链路与所述外部的网络节点进行数据交换;
局部总线接口功能块,其与所述快速总线协议功能块连接,用于所述路由交换装置内部的数据传输;
寄存器,与所述快速总线协议功能块和所述局部总线接口功能块连接,所述寄存器中存储有用于配置所述快速总线协议功能块和所述局部总线接口功能块的指令;
控制功能块,与所述快速总线协议功能块和所述局部总线接口功能块连接,用于控制所述协议转换接口的性能或操作。
4.根据权利要求3所述的网络交换***,其特征在于,所述至少两个服务器节点包括第一服务器节点与第二服务器节点,所述路由交换装置至少包括:
直接内存访问模块,控制所述第一服务器节点、所述第二服务器节点分别与所述路由交换装置之间的数据传输;
第一协议转换接口,通过快速总线链路与所述第一服务器节点连接,并转换在所述第一服务器节点与所述直接内存访问模块之间传输的数据的通信协议;
第二协议转换接口,通过快速总线链路与所述第二服务器节点连接,并转换在所述第二服务器节点与所述直接内存访问模块之间传输的数据的通信协议。
5.根据权利要求3或4所述的网络交换***,其特征在于,每个所述服务器节点还包括一个符合快速总线链路规范的插槽,每个所述路由交换装置还包括一个符合快速总线链路规范的插槽。
6.一种由路由交换装置执行的路由交换方法,其特征在于,所述路由交换装置至少包括直接内存访问模块、第一协议转换接口及第二协议转换接口,所述第一协议转换接口和所述第二协议转换接口分别用于转换所述路由交换装置内部与外部传输的数据的通信协议;所述方法包括:
所述直接内存访问模块通过配置接口获取访问参数;
所述直接内存访问模块根据所述访问参数,通过所述第一协议转换接口向与其连接的网络节点发出读请求,并从所述网络节点读出传输数据;
所述直接内存访问模块将获得的所述传输数据传送到第二协议转换接口,并通过所述第二协议转换接口向与其连接的网络节点发出写请求,并将所述传输数据写入与所述第二协议转换接口连接的网络节点;所述直接内存访问模块包括直接内存访问控制器和直接内存访问通道,其中所述直接内存访问控制器根据配置信息控制所述直接内存访问通道分别与所述第一协议转换接口、所述第二协议转换接口的连接;
所述直接内存访问模块还包括存储器,作为所述直接内存访问通道的缓冲区;
所述第一协议转换接口和所述第二协议转换接口中的至少一个包括:
快速总线协议功能块,通过快速总线链路与所述外部的网络节点进行数据交换;
局部总线接口功能块,其与所述快速总线协议功能块连接,用于所述路由交换装置内部的数据传输;
寄存器,与所述快速总线协议功能块和所述局部总线接口功能块连接,所述寄存器中存储有用于配置所述快速总线协议功能块和所述局部总线接口功能块的指令;
控制功能块,与所述快速总线协议功能块和所述局部总线接口功能块连接,用于控制所述协议转换接口的性能或操作。
7.根据权利要求6所述的方法,其特征在于,所述配置接口是快速总线协议接口或者***管理总线接口。
8.根据权利要求6中任一项所述的方法,其特征在于,所述访问参数包括数据读取的网络节点的起始地址及数据大小,以及数据写入的网络节点的数据缓冲区。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述网络节点是服务器节点。
CN201180020891.1A 2011-11-18 2011-11-18 路由交换装置、网络交换***和路由交换方法 Active CN103222286B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/082442 WO2012167566A1 (zh) 2011-11-18 2011-11-18 路由交换装置、网络交换***和路由交换方法

Publications (2)

Publication Number Publication Date
CN103222286A CN103222286A (zh) 2013-07-24
CN103222286B true CN103222286B (zh) 2014-07-09

Family

ID=47295410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180020891.1A Active CN103222286B (zh) 2011-11-18 2011-11-18 路由交换装置、网络交换***和路由交换方法

Country Status (4)

Country Link
US (1) US9116881B2 (zh)
EP (1) EP2699030B1 (zh)
CN (1) CN103222286B (zh)
WO (1) WO2012167566A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10592450B2 (en) * 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10554580B2 (en) * 2016-11-30 2020-02-04 Hewlett Packard Enterprise Development Lp Fabric cable emulation
TWI703446B (zh) * 2019-01-29 2020-09-01 瑞昱半導體股份有限公司 介面轉接電路
CN113645158B (zh) * 2021-07-30 2023-07-28 苏州浪潮智能科技有限公司 一种串口访问方法、***、存储介质及设备
CN114025013B (zh) * 2021-09-30 2023-01-06 联想(北京)有限公司 一种信息处理方法、装置及设备
CN117061623B (zh) * 2023-10-12 2024-02-23 井芯微电子技术(天津)有限公司 Fc路由实现方法和交换设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222495A (zh) * 2008-01-24 2008-07-16 中兴通讯股份有限公司 IPv4网络主机访问IPv6网络主机的方法及路由器
CN101394349A (zh) * 2008-10-28 2009-03-25 福建星网锐捷网络有限公司 不同接口设备通信中的数据传输方法及***

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243394B1 (en) * 1997-02-06 2001-06-05 Verizon Laboratories Inc. Apparatus for ADSL access
US7058750B1 (en) * 2000-05-10 2006-06-06 Intel Corporation Scalable distributed memory and I/O multiprocessor system
US7240130B2 (en) * 2003-06-12 2007-07-03 Hewlett-Packard Development Company, L.P. Method of transmitting data through an 12C router
US7082488B2 (en) * 2003-06-12 2006-07-25 Hewlett-Packard Development Company, L.P. System and method for presence detect and reset of a device coupled to an inter-integrated circuit router
US20040255070A1 (en) * 2003-06-12 2004-12-16 Larson Thane M. Inter-integrated circuit router for supporting independent transmission rates
US7398345B2 (en) * 2003-06-12 2008-07-08 Hewlett-Packard Development Company, L.P. Inter-integrated circuit bus router for providing increased security
US7096310B2 (en) * 2004-03-16 2006-08-22 Hewlett-Packard Development, L.P. Switch configurable for a plurality of communication protocols
US8374175B2 (en) * 2004-04-27 2013-02-12 Hewlett-Packard Development Company, L.P. System and method for remote direct memory access over a network switch fabric
US9264384B1 (en) 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8189603B2 (en) 2005-10-04 2012-05-29 Mammen Thomas PCI express to PCI express based low latency interconnect scheme for clustering systems
US20080240103A1 (en) * 2007-03-30 2008-10-02 Andreas Schmidt Three-port ethernet switch with external buffer
US7904629B2 (en) * 2007-10-02 2011-03-08 NVON, Inc. Virtualized bus device
US8099528B2 (en) * 2008-09-30 2012-01-17 Apple Inc. Data filtering using central DMA mechanism
CN102195984A (zh) * 2011-05-18 2011-09-21 广州市飞元信息科技有限公司 一种安全传输设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222495A (zh) * 2008-01-24 2008-07-16 中兴通讯股份有限公司 IPv4网络主机访问IPv6网络主机的方法及路由器
CN101394349A (zh) * 2008-10-28 2009-03-25 福建星网锐捷网络有限公司 不同接口设备通信中的数据传输方法及***

Also Published As

Publication number Publication date
US20130132634A1 (en) 2013-05-23
US9116881B2 (en) 2015-08-25
WO2012167566A1 (zh) 2012-12-13
EP2699030A4 (en) 2014-08-13
CN103222286A (zh) 2013-07-24
EP2699030A1 (en) 2014-02-19
EP2699030B1 (en) 2016-05-18

Similar Documents

Publication Publication Date Title
CN103222286B (zh) 路由交换装置、网络交换***和路由交换方法
CN101853237B (zh) 片上***及axi总线下的传输方法
KR101686360B1 (ko) 다중슬롯 링크 계층 플릿에서의 제어 메시징
CN103038758B (zh) 改善集成非透明桥设备的操作的方法和***
CN106648896B (zh) 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
CN103064805B (zh) Spi控制器及通信方法
CN105718390A (zh) 共享存储器链路中的低功率进入
CN104050138A (zh) 用于执行链路训练与均衡的装置、***、和方法
CN104838373A (zh) 基于单个微控制器的多个计算节点管理
CN105227667A (zh) 报文转换方法及平台
CN104932996A (zh) 用于控制链路接口的未使用硬件的功率消耗的方法、装置和***
CN103401846A (zh) 数据处理方法、协议转换设备和互联网络
CN110119304A (zh) 一种中断处理方法、装置及服务器
CN106844263B (zh) 一种基于可配置的多处理器计算机***及实现方法
US9830283B2 (en) Multi-mode agent
CN105359122A (zh) 多cpu***中的增强型数据传输
CN101452430A (zh) 多处理器之间的通信方法与包括多处理器的通信装置
CN105095138A (zh) 一种扩展同步内存总线功能的方法和装置
CN105593821B (zh) 用于使用双电压数据传输的网格性能改善的方法、***和装置
CN102393838A (zh) 数据处理方法及装置、pci-e总线***、服务器
CN102279728A (zh) 数据存储设备及数据计算方法
CN102521155B (zh) 实现表项在物理存储器上动态分配的方法和装置
CN116401065A (zh) 一种服务器、异构设备及其数据处理装置
CN105630400A (zh) 高速海量数据存储***
CN205193686U (zh) 计算设备

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