首页 / 建立端口连接的方法及端口芯片

建立端口连接的方法及端口芯片有效专利 发明

技术内容

建立端口连接的方法及端口芯片 技术领域

本发明涉及网络连接技术领域,特别涉及建立端口连接的方法及端口芯片。
背景技术
在存储区域网络(Storage Area Network,SAN)中,一般使用光纤通道(Fiber Channel)或者互联网小型计算机系统端口(Internet Small Computer System Interface,iSCSI)以太网进行网络连接,但随着万兆以太网(10Gbe)的发展,可以将万兆以太网整合至用光纤通道(Fiber Channel)连接的存储区域网络中,即在一个存储区域网络中,同时存在FC网络及万兆以太网,用户可以根据需要选择不同的网络连接,这样,可以在现有的FC网络架构中加入万兆以太网的连接,而无需更换现有的FC网络架构,达到利旧的目的。
如图1所示,现有的通过FC网络连接的SAN架构为服务器101通过FC主机总线适配器(Host Bus Adapter,HBA)102连接至FC交换机103,FC交换机103通过FC HBA端口102连接至存储设备104。为了在现有的FC网络架构上建立万兆以太网络,则如图2所示,在现有的FC网络中加入FCoE/iSCSI交换机105,并将服务器101的以太网(Ethernet,ETH)HBA106连接至PCoE/iSCSI交换机105,而在存储设备104上设置统一接口卡(Unified Target Adapters,UTA)107,将FC交换机103及FCoE/iSCSI交换机105同时连接至所述UTA107,该UTA107支持FC端口及ETH端口的互相转换。在需要使用FC网络传输数据时,需要人工将该UTA端口设置成FC端口,然后手动将光模块换成FC光模块,在需要使用ETH网络传输数据时,需要人工将该UTA设置成ETH端口,然后将光模块更换为ETH光模块。
发明内容
本申请提供建立端口连接的方法及端口芯片,能够自动进行不同 网络端口的切换。
本发明实施例的第一方面,提供一种建立端口连接的方法,所述方法应用于一端口芯片,所述端口芯片包括端口,所述端口支持至少一种端口类型,所述端口芯片执行所述方法进行端口类型的切换。所述方法包括通过所述端口接收对端发送的协商信号,并根据所述协商信号确定所述端口与对端的通讯速率,在通讯速率确定后,即可根据所确定的通讯速率确定所述端口的应设置的端口类型,然后将所述端口设置为所述应设置的端口类型,在所述端口的端口类型确定好之后,即可建立所述端口与所述对端的连接。
通过上述方法,可以根据对端发送的信号确定两端的通讯速率,根据所确定的通讯速率来确定端口的应设置的端口类型,并将端口设置为相应的端口类型,两端即可根据设置的端口类型进行数据通讯,如此根据对端发送的协商信号即可设置端口的端口类型,不需要手动设置,从而提高了不同类型网络间进行切换的效率,并简化了操作。
在第一方面的第一种实施方式中,所述端口所支持的至少一种端口类型中的每种端口类型对应一速率集合,这样,在根据所述通讯速率确定所述端口的类型时,首先确定所述通讯速率所在的速率集合,然后根据所述速率集合确定所述端口的端口类型。
通过每种类型端口所支持的不同的速率,可以准确且快速的确定所述端口的端口类型。
在第一方面的第二种实施方式中,每种端口类型对应一端口协议,这样,在将所述端口设置为所述端口类型时,首先根据所确定的端口类型获取所述端口类型对应的端口协议,调用所述端口协议将所述端口设置为所述端口类型。
通过在端口芯片中存储端口所支持的所有类型的端口协议,可以使端口支持多种端口类型,且在端口类型确定后,通过调用对应类型的端口协议即可将端口设置为相应的端口类型。
在第一方面的第三种实施方式中,在所述第二实施方式的基础上,所述端口所支持的每种端口类型对应一速率集合,所述端口芯片中还存储有接收速率列表及发送速率列表,所述接收速率列表及发送 速率列表中的速率均为所有端口类型对应的速率集合中的全部速率,在根据所述协商信号确定所述端口与对端的通讯速率时,按照接收速率列表及发送速率列表中的速率的从大到小的顺序进行协商。
在速率协商的时候,将所述端口所支持的所有端口类型的速率集中在一个集合中,提高了速率的协商效率。
在第一方面的第四种实施方式中,在上述第一方面或者第一至第三实施方式的任一种实施方式中,所述端口的类型为光纤端口或者以太网端口。
本发明第二方面提供一种端口芯片,所述端口芯片包括端口,所述端口支持多种端口类型,所述端口芯片还包括信号接收模块,速率确定模块,端口设置模块,及建立连接模块。所述信号接收模块用于通过所述端口接收对端发送的协商信号,所述速率确定模块用于根据所述协商信号确定所述端口与对端的通讯速率,所述端口设置模块用于根据所述通讯速率确定所述端口的应设置的端口类型及将所述端口设置为所述应设置的端口类型,所述建立连接模块用于建立所述端口与所述对端的连接。
上述端口芯片可以根据对端发送的信号确定两端的通讯速率,根据所确定的通讯速率来确定端口的应设置的端口类型,并将端口设置为相应的端口类型,两端即可根据设置的端口类型进行数据通讯,如此根据对端发送的协商信号即可设置端口的端口类型,不需要手动设置,从而提高了不同类型网络间进行切换的效率,并简化了操作。
在本发明第二方面的第一种实施方式中,所述端口所支持的多种端口类型中的每种端口类型对应一速率集合,所述端口设置模块在确定所述端口的端口类型时,具体用于确定所述通讯速率所在的速率集合,根据所述速率集合确定所述端口的端口类型。
通过每种类型端口所支持的不同的速率,可以准确且快速的确定所述端口的端口类型。
在本发明第二方面的第二种实施方式中,每种端口类型对应一端口协议,所述端口设置模块在将所述端口设置为所述端口类型时,首先根据所确定的端口类型获取所述端口类型对应的端口协议;然后调 用所述端口协议将所述端口设置为所述端口类型。
通过在端口芯片中存储端口所支持的所有类型的端口协议,可以使端口支持多种端口类型,且在端口类型确定后,通过调用对应类型的端口协议即可将端口设置为相应的端口类型。
在第二方面的第三种实施方式中,所述端口为光端口,对端发送的信号为光信号,所述速率确定模块在确定所述端口与对端的通讯速率时,具体用于根据所接收到的光信号与对端协商与对端的通讯速率。
所述光模块支持多种类型的光模块所支持速率,这样,光模块可识别不同类型的端口发射的光信号,所以,在进行端口切换时,不需要进行不同类型光模块的更换。
在第二方面的第四种实施方式中,在所述第三实施方式的基础上,所述端口所支持的每种端口类型对应一速率集合,所述端口芯片中还存储有接收速率列表及发送速率列表,所述接收速率列表及发送速率列表中的速率均为所有端口类型对应的速率集合中的全部速率,在根据所述协商信号确定所述端口与对端的通讯速率时,按照接收速率列表及发送速率列表中的速率的从大到小的顺序进行协。
在速率协商的时候,将所述端口所支持的所有端口类型的速率集中在一个大集合中,提高了速率的协商效率。
在第二方面的第五种实施方式中,在上述第一至第四实施方式的任一种实施方式中,所述端口的类型为光纤端口或者以太网端口。
本发明第三方面提供一种端口芯片,所述端口芯片包括端口、存储器、处理器及总线,所述处理器通过所述总线与所述端口及存储器连接,所述存储器中存储有程序指令,所述处理器运行所述程序指令以执行第一方面或第一方面的第一至第四实施方式中的任意一种建立端口间连接的方法。
本发明第四方面提供一种存储设备,所述存储设备包括端口芯片,所述端口芯片包括端口、存储器、处理器及总线,所述处理器通过所述总线与所述端口及存储器连接,所述存储器中存储有程序指令,所述处理器运行所述程序指令以执行第一方面或第一方面的第一 至第五实施方式中的任意一种建立端口间连接的方法。
综上,本发明的实施例通过在具有多种网络连接的SAN网络中,将网络端口设置为能够自动设置端口类型的智能端口,该智能端口能够支持多种类型的网络端口,该智能端口能够根据接收到的对端的协商信号确定智能端口的类型,然后将所述智能端口设置为所确定的类型的网络端口,如此,在进行不同网络连接的切换时,该智能端口可以根据所接收的信号自动进行端口类型的设置,不需要手动设置,从而提高了不同网络间进行切换的效率,并简化了操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中通过FC网络进行网络连接的存储区域网络的架构图。
图2为现有技术中在通过FC网络及ETH网络连接的存储区域网络的架构图。
图3为本发明实施例中通过FC网络及ETH网络连接的存储区域网络的架构图。
图4为本发明实施例中的智能端口芯片的结构图。
图5为本发明实施例中的智能端口芯片与对端建立连接的方法的流程图。
图6为本发明实施例中的智能端口芯片与对端进行协商确定与对端的通讯速率的方法的流程图。
图7为本发明实施例中的智能端口芯片的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于图2所示的同时包括FC网络及以太网络的SAN中,在进行不同网络切换时,需要手动设置UTA的端口类型的问题,本发明实施例将图2中的UTA端口更换为一种如图3所示的智能端口108,所述智能端口108能自动识别所接收的对端发送的信号的类型,并将所述智能端口108切换为与所述信号类型对应的端口,从而自动根据对端发送的信号类型设置智能端口108的端口类型,而无需手动设置。
所述智能端口108由一智能端口芯片40(如图4所示)提供,本实施例中,所述智能端口芯片40安装在所述存储设备104中,并为所述存储设备104提供智能端口功能。但在实际使用时,所述智能端口芯片40可安装在任意需要智能端口的设备中,而并不仅限于安装至存储设备中。
如图4所示,是本发明实施例中的提供所述智能端口108的智能端口芯片40的结构图。
所述智能端口芯片40包括处理器401、存储器402、至少一个智能端口108、总线404。所述处理器401通过总线404与其他元件连接,以与其他元件进行通讯。
本实施例中,对端发送的信号为光信号,所述智能端口108也为光端口,可连接一个光模块405,当光模块405连接至智能端口108后,所述光模块405即可接收对端发来的光信号,并将接收到的光信号转换为电信号后传输给所述智能端口108,智能端口108将电信号传输至所述处理器401进行处理,如此,即可实现所述智能端口108与对端进行通讯。
所述光模块405包括接收端Rx及发送端Tx,所述接收端Rx用于接收对端发送的光信号,并将接收到的光信号转换为电信号,转换后的电信号通过所述智能端口108传输至所述处理器401进行处理,所述处 理器401将要发送的信息传输至所述智能端口108,所述光模块405将智能端口108传输的电信号转换为光信号后,由所述光模块405的发送端Tx发送至对端。
所述存储器402可以为非易失性存储器(non-volatile memory,NVM),其中存储有端口类型确定程序406,及所述智能端口芯片40所支持的端口类型对应的端口协议,例如ETH端口协议407及FC端口协议408,本发明实施例中,所述智能端口108可支持至少两种端口类型,每种端口类型对应一种端口协议。在所述光模块405插入所述智能端口108后,所述处理器401侦测到对端传输的协商信号时,即运行所述端口类型确定程序406并根据所述协商信号与对端端口进行速率协商,并在速率协商好之后,根据所协商的速率确定所述智能端口108当前的端口类型,并启动该端口类型对应的端口协议设置所述智能端口108,以与对端建立连接,建立连接之后,即可接收对端传输的数据信号,并将所接收的数据信号传输至所述存储设备104的控制器1041进行处理,如此即可与对端建立正常的数据通讯。
如图5所示,为所述智能端口芯片40与对端建立连接的方法的流程图。所述方法具体由所述处理器401运行所述端口类型确定程序406来执行。所述方法包括:
步骤S501,接收对端发送的协商信号。
本实施例中,所述对端发送的协商信号是由与所述智能端口108连接的FC或者ETH交换机发送的协商信号,在服务器与存储设备直接相连的实施例中,对端发送的协商信号可以是直接由服务器的FC端口或者ETH端口发送的协商信号。
所述协商信号具有特定的编码,所述处理器401在接收到对端发送的信号后,首先识别所接收的信号是否具有特定的编码,如果是具有特定编码的信号,即可确定所接收的信号为协商信号。
步骤S502,根据接收到的协商信号协商与对端的通讯速率。
此处,两个端口之间的速率协商遵循FC-FS-3(Fibre Channel Framing and Signaling–3)标准,具体协商的方法请参照图6的描述。
步骤S503,根据所协商的通讯速率确定所述智能端口108的应设 置的端口类型。
本实施例,所述存储器402中还存储有所述智能端口芯片40所支持的每种端口类型所支持的速率值的集合,例如FC端口所支持的速率值的集合为{4Gbps、8Gbps、16Gbps、32Gbps},ETH端口所支持的速率值的集合为{10Gbps、25Gbps}。如此,通过将所确定的通讯速率与存储器402中存储的每种类型端口所支持的速率进行比对,如果所述通讯速率与一个速率集合中的其中一个速率一致,则可确定该速率集合对应的端口类型即为所述智能端口的端口类型。例如,若所确定的通讯速率为10Gbps,为ETH端口所支持的其中一种速率,则可确定所述智能端口的类型为ETH端口。
步骤S504,根据所确定的应设置的端口类型获取端口协议,设置所述智能端口的端口类型。
如上所述,所述存储器402中存储有所述智能端口108所能支持的所有端口类型的通讯协议,在所述智能端口108的端口类型确定之后,即可调用所述端口类型对应的通讯协议,将所述智能端口108设置为相应类型的端口,如此即可完成对所述智能端口108的自动设置,而无需人工干预。
步骤S505,建立与对端的连接,以与对端进行数据通讯。
通过本发明的上述实施例,所述智能端口108能自动识别所接收的对端发送的协商信号的类型,并将所述智能端口108切换为与所述信号类型对应的端口,从而自动根据对端发送的信号类型设置智能端口的端口类型,而无需手动设置。
如图6所示,为所述处理器401根据接收到的协商信号协商与对端的通讯速率的方法的流程图。
步骤S61,所述处理器401侦测对端发送的协商信号。
对端可以是交换机的端口也可以是服务器的端口,对端发送协商信号的端口可以是FC端口,也可以是以太网端口。在两端的光模块都连接上之后,所述智能端口108的光模块405的接收端Rx即可侦测到对端发射的协商信号,对端也可以侦测到所述智能端口108的光模块405的发送端Tx发射的协商信号。在本发明实施例中,为了节省侦测 对端信号产生的能耗,则可设定每隔一段时间,例如1.6ms侦测一次。
步骤S62,在侦测到对端发送的协商信号后,所述处理器401设置智能端口108的接收端Rx的接收速率Rxv为接收速率列表中的最大速率Rxmax,设置智能端口108的发送端Tx的发送速率Txv为发送速率列表中的最大速率Txmax,并启动接收速率计时器及发送速率计时器。
本实施例中,所述接收端速率列表及发送端速率列表按照速率从大到小的顺序列出了所述智能端口108所支持的所有速率,也即为所述智能端口108所支持的每种端口类型所支持的速率的总的集合。例如,所述智能端口108支持的端口类型有FC端口及ETH端口,FC端口所支持的速率为{4Gbps、8Gbps、16Gbps、32Gbps},ETH端口所支持的速率为{10Gbps、25Gbps},则所述接收端速率列表及发送端速率列表为{4Gbps、8Gbps、10Gbps、16Gbps、25Gbps、32Gbps}。所述智能端口108能与对端进行通讯的速率即为所述智能端口所支持的速率。所述智能端口108即可根据所述接收端速率列表及发送端速率列表中列出的速率进行速率协商。
另外,在本实施例中,还设置了接收速率计时器及发送速率计时器,所述接收速率计时器用于控制接收速率的协商时间,所述发送速率计时器用于控制发送速率的协商时间。具体应用请参考下文的描述。
步骤S63,每隔第一预设时间,确定所接收的对端的协商信号的速率。
在速率协商的过程中,进行速率协商的两端所发送的协商信号是不断变化的,所以要每隔第一预设时间,重新确定一次所接收到的协商信号的速率,以触发一次接收端速率的协商。
步骤S64,确定所接收的协商信号的速率是否与所设置的智能终端108的接收速率Rxv一致,若不一致,则说明没有协商上,则执行步骤S66,若一致,则说明所述智能端口108支持对端端口发送的速率,则执行步骤S65。
步骤S65,判断所述当前接收速率是否大于等于所设置的智能端口108的当前发送速率,若大于或者等于,则说明当前所协商的速率, 即所述当前接收速率为两端都支持的最大速率,则说明所述智能端口108与对端的速率协商上了,则执行步骤S67,将所述当前接收速率作为智能端口与对端的协商速率。若小于,则说明智能端口108支持对端的发送速率,但是,该发送速率可能不是智能端口与对端端口所共同支持的速率的最大值,所以还要继续协商,则执行步骤S66。
步骤S66,判断所述接收速率计时器的计时是否大于第二预设时间。
所述第二预设时间为预先设置的进行接收速率协商的时长,该第二预设时间与第一预设时间及接收速率列表中的速率的个数有关,第一预设时间乘以接收速率列表中的速率的个数即为第二预设时间,这样可以保证在第二预设时间内,所述接收速率列表中的所有速率都协商过一次。当所述接收速率计时器的计时不大于所述第二预设时间时,则执行步骤S68,当所述接收速率计时器的计时大于所述第二预设时间时,则执行步骤S69。
步骤S68,更新当前接收速率Rxv,更新后的当前接收速率为接收速率列表中更新前的当前接收速率Rxv的下一个速率Rxnext,以准备对所述下一个速率Rxnext进行协商,还可以将所述下一个速率Rxnext记录为一临时接收速率,以方便后面进行发送速率协商时使用,然后返回步骤S63。
步骤S69,将当前接收速率Rxv设置为与当前的发送速率Txv相等。
步骤S70,确定所接收到的协商信号的速率是否与当前接收速率Rxv一致,若一致,则说明所接收到的协商信号速率与智能端口108的当前发送速率Txv协商上了,则执行步骤S67;若不一致,则执行步骤S71。
执行步骤S69及S70,即将当前接收速率Rxv设置为与当前的发送速率Txv后,再与所接收到的协商信号的速率进行一次协商,如果协商上了,则不需要执行后续调节当前发送速率而继续进行协商的过程,从而可以快速的确定协商速率。
步骤S71,判断发送速率计时器所计时时长是否超过第三预设时 长。该第三预设时长用于控制发送速率的协商时长,所述第三预设时长与所述第二预设时长及所述发送速率列表中的发送速率的个数有关,即所述第三预设时长等于所述第二预设时长乘以所述发送速率列表中的发送速率的个数,这样可以保证在所述第三周期内,所述发送速率列表中的每个发送速率都被协商过一次。若所述发送速率计时器所计时时长超过第三预设时长,则执行步骤S72,若所述发送速率计时器所计时时长没有超过第三预设时长,则执行步骤73。
步骤72,更新当前发送速率Txv,更新后的当前发送速率Txv为发送速率列表中更新前的当前发送速率的下一速率Txnext,设置当前的接收速率为步骤68中记录的临时接收速率,然后返回步骤S63。即在当前发送速率Txv更新后,对接收速率列表中的接收速率再进行一轮协商。将当前接收速率Rxv设置为所述临时接收速率Rxmem,可以在当前发送速率Txv更新后,使接收速率从接收速率计时器结束计时时所记录的临时接收速率Rxmem处开始协商。
步骤S73,本次连接失败,结束协商。
通过上述方法即可确定所述智能端口108与对端的通讯速率,处理单元根据所确定的通讯速率即可确定所述智能端口的端口类型。
如图7所示,为本发明实施例提供的一种智能端口700的模块图。所述智能端口包括信号接收模块701、速率确定模块702、端口设置模块703、及建立连接模块704。
所述信号接收模块701用于接收对端发送的协商信号,与图5所描述的建立连接的方法的步骤S501对应。
所述速率确定模块702用于根据接收到的协商信号协商与对端的通讯速率,与图5所描述的建立连接的方法的步骤S501对应。此处,两个端口之间的协商信号的速率协商遵循FC-FS-3(Fibre Channel Framing and Signaling–3)标准,具体协商的方法请参照图6的描述,在此不再赘述。
所述端口设置模块703用于根据所述速率确定模块702所协商的通讯速率确定所述智能端口的端口类型,并根据所确定的端口类型获取所述端口类型对应的端口协议,以设置所述智能端口的端口类型, 与图5所描述的建立连接的方法的步骤S503及S504对应。
本实施例,所述智能端口的端口类型的确定方式与图5所描述的建立连接的方法中端口类型的确定方式一致,在此不再赘述。
所述建立连接模块704,用于在所述端口设置模块将所述智能端口设置好之后,即可建立与对端的连接,以与对端进行数据通讯。
如此,所述智能端口108能自动识别所接收的对端发送的协商信号的信号类型,并将所述智能端口108切换为与所述信号类型对应的端口,从而自动根据对端发送的协商信号的信号类型设置智能端口的端口类型,而无需手动设置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的数据块写入装置及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
方法端口相关技术
端口芯片相关技术
李旭慧发明人的其他相关专利技术