一种支持虚拟交换的PCIE交换芯片端口配置系统和方法技术方案

技术编号:24014828 阅读:52 留言:0更新日期:2020-05-02 03:00
一种支持虚拟交换的PCIE交换芯片端口配置系统和方法,包括:端口控制器,用于实现物理层的介质访问控制层、数据链路层和事务层的功能;物理层接口,其实现PCIE物理层的物理媒介适配层、物理编码子层的功能;路由模块,从端口控制器接收路由信息,根据所述路由信息进行路由查找,获取所述数据包的处理方式、收发端口号;EEPROM接口控制器,用于读取外接EEPROM配置信息,并发送到所述配置模块;配置模块,用于接收配置信息并对所述端口进行配置,将所述端口配置为上游端口或下游端口,并对芯片内部进行虚拟交换区域的划分,控制每个所述端口使能;交叉开关,用于转发穿越PCIE交换芯片的数据包。本发明专利技术可以快速完成端口配置,满足PCIE交换芯片初始化的时限要求。

A port configuration system and method of PCIe switch chip supporting virtual switch

【技术实现步骤摘要】
一种支持虚拟交换的PCIE交换芯片端口配置系统和方法
本专利技术涉及计算机外围设备高速互连总线(PeripheralComponentInterconnectExpress,PCIE)
,特别是涉及一种支持虚拟交换的PCIE交换芯片。
技术介绍
随着计算技术的发展,近年来出现了不少高密度模块化服务器平台,或者说,开放式刀片,这类服务器平台要求相连的PCIE交换机能提供分区功能。图1为现有多主机系统示意图,如图1所示,现有的多主机系统,三台服务器通过同一PCIE交换芯片相连,通过PCIE交换芯片做分区配置,根据任务的变化,在不断电的情况下,将交换芯片所连的I/O设备在服务器A、服务器B和服务器C之间任意分配。每台服务器的基本输入输出系统BIOS(为BasicInputOutputSystem的缩写)或者操作系统在枚举PCIE总线时,只会发现分配给它的虚拟桥和I/O设备,多个分区之间互不干扰。上述多主机系统,在多台服务器连接通过同一片PCIE交换芯片相连时,如果不做分区,是会出现问题的,因为多个操作系统会分别枚举同一PCIE系统内的虚拟桥和I/O设备,并为其分配访问地址,此时会出现冲突。为了实现上述功能,支持分区功能的PCIE交换芯片应运而生。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种支持虚拟交换的PCIE交换芯片端口配置系统和方法,在一片PCIE交换芯片上能实现多个虚拟交换,可以确保快速完成端口配置,满足PCIE协议对于PCIE交换芯片初始化的时限要求。为实现上述目的,本专利技术提供的一种支持虚拟交换的PCIE交换芯片端口配置系统,包括,至少三个端口、路由模块、EEPROM接口控制器、配置模块以及交叉开关,其特征在于,所述端口,包括端口控制器和物理层接口;所述端口控制器,用于实现物理层的介质访问控制层、数据链路层和事务层的功能;所述物理层接口,其实现PCIE物理层的物理媒介适配层、物理编码子层的功能;将外部器件发送给PCIE交换芯片的数据包转发到端口控制器;将端口控制器发送的数据包转发到外部器件;所述路由模块,用于从端口控制器接收路由信息,根据所述路由信息进行路由查找,获取所述数据包的处理方式、接收或输出端口号;所述EEPROM接口控制器,用于读取外接EEPROM配置信息,并发送到所述配置模块;所述配置模块,用于接收配置信息并对所述端口进行配置,将所述端口配置为上游端口或下游端口,并对芯片内部进行虚拟交换区域的划分,控制每个所述端口使能;所述交叉开关,用于转发穿越PCIE交换芯片的数据包。进一步地,所述端口包括固定端口号和可变设备号,当所述端口配置为上游端口时,设置所述上游端口设备号为0,当所述端口配置为下游端口时,所述下游端口设备号为所述固定端口号。进一步地,当所述端口配置为上游端口时,所述上游端口,用于接收类型0配置请求包,提取所述上游端口的配置信息,根据所述配置信息进行端口配置,提取非类型0配置请求包类型和路由信息并发送到所述路由模块;当所述端口配置为下游端口时,所述下游端口,丢弃从下游链路接收的类型0和类型1配置请求包,接收并提取非类型0或非类型1配置请求包类型和路由信息并发送到所述路由模块。进一步地,所述端口控制器,当转发所述数据包时,将所述数据包和所述数据包的输出端口号发送到所述交叉开关;接收所述配置模块的配置信息,根据所述配置信息对端口寄存器进行读或写操作,上游端口控制器能根据对本端口寄存器的操作结果直接生成配置完成数据包,下游端口控制器不能根据配置模块对本端口寄存器的读或写操作结果直接生成配置完成数据包,但能够将操作结果反馈给配置模块,由配置模块发送给上游端口控制器,由上游端口控制器生成下游端口寄存器的配置完成数据包;上游端口控制器将生成的所述配置完成数据包通过输出侧发送到所述物理层接口,由物理层接口发送到输出链路;直接转发或处理后再转发来自所述交叉开关转发的数据包;根据PCIE协议的要求处理目的接收方为本端口的电源管理消息包。进一步地,还包括由虚拟交换所含端口指示寄存器、虚拟交换上游端口指示寄存器,以及虚拟交换使能寄存器组成的虚拟交换配置寄存器组,其中,所述虚拟交换所含端口指示寄存器,其定义每个所述虚拟交换区域包含的端口;所述虚拟交换上游端口指示寄存器,用于指示每个所述虚拟交换区域对应的上游端口号;所述虚拟交换使能寄存器,用于定义虚拟交换的使能位。进一步地,所述路由信息,包括,所述数据包头的类型、目的ID、目的地址,对于隐含路由消息包,还包括所述隐含路由消息包的八位消息编码。进一步地,所述路由模块,还包括读取单元和生成单元,所述读取单元,用于读取每个所述端口可预读存储器基址寄存器、可预读存储器基址高32位寄存器、存储器基址寄存器、输入输出基址寄存器、输入输出基址高16位寄存器、可预读存储器界限寄存器、可预读存储器界限高32位寄存器、存储器界限寄存器、输入输出界限寄存器、输入输出高16位界限寄存器、命令寄存器、初级总线号寄存器、次级总线号寄存器、下属总线号寄存器和所述上游端口基地址寄存器;所述生成单元,用于生成基于虚拟交换的IO地址路由表、存储器地址路由表、ID路由表和隐含路由表。进一步地,所述路由表每个条目包括一组寄存器,每个所述条目表示对符合其条目所列条件的所述数据包进行转发/接收/丢弃;所述路由表,用于将所述数据包限制在当前虚拟交换区域包括的所述端口间进行传输。进一步地,所述IO地址路由表,每个条目包括目的IO地址范围、所述数据包的处理方式和所述数据包的输出端口号;所述存储器地址路由表每个条目包括目的存储器地址范围、所述数据包的处理方式和输出/接收端口号;所述ID路由表每个条目包括目的总线号范围、所述数据包的处理方式和输出/接收端口号;所述隐含路由表每个条目包括消息路由类型子字段、消息编码、所述数据包的处理方式以及输出/接收端口号。进一步地,所述路由模块,还用于向所述端口控制器反馈路由查找结果。更进一步地,所述交叉开关,还用于接收数据包和所述数据包的输出端口号,根据所述输出端口号将所述数据包发送到相应输出端口控制器。为实现上述目的,本专利技术还提供一种支持虚拟交换的PCIE交换芯片端口配置方法,包括以下步骤:1)外接的EEPROM芯片通过配置模块,对所有端口寄存器进行初始化配置;2)配置模块从端口控制器读取虚拟交换配置寄存器组的信息,划分虚拟交换区域,并让每个使能端口的链路使能,禁止不使能端口的链路使能,让各个使能端口的链路开始进入链路训练和初始化;3)为每个端口分配初级总线号、次级总线号、下属总线号,并进行系统地址分配;4)为每个端口生成基于虚拟交换的IO地址路由表、存储器地址路由表、ID路由表和隐含路由表;5)端口控制器接收数据包并分析,根据所述数据包类型和路由信息得到所本文档来自技高网...

【技术保护点】
1.一种支持虚拟交换的PCIE交换芯片端口配置系统,包括,至少三个端口、路由模块、EEPROM接口控制器、配置模块以及交叉开关,其特征在于,/n所述端口,包括端口控制器和物理层接口;/n所述端口控制器,用于实现物理层的介质访问控制层、数据链路层和事务层的功能;/n所述物理层接口,其实现PCIE物理层的物理媒介适配层、物理编码子层的功能;将外部器件发送给PCIE交换芯片的数据包转发到端口控制器;将端口控制器发送的数据包转发到外部器件;/n所述路由模块,用于从端口控制器接收路由信息,根据所述路由信息进行路由查找,获取所述数据包的处理方式、接收或输出端口号;/n所述EEPROM接口控制器,用于读取外接EEPROM配置信息,并发送到所述配置模块;/n所述配置模块,用于接收配置信息并对所述端口进行配置,将所述端口配置为上游端口或下游端口,并对芯片内部进行虚拟交换区域的划分,控制每个所述端口使能;/n所述交叉开关,用于转发穿越PCIE交换芯片的数据包。/n

【技术特征摘要】
1.一种支持虚拟交换的PCIE交换芯片端口配置系统,包括,至少三个端口、路由模块、EEPROM接口控制器、配置模块以及交叉开关,其特征在于,
所述端口,包括端口控制器和物理层接口;
所述端口控制器,用于实现物理层的介质访问控制层、数据链路层和事务层的功能;
所述物理层接口,其实现PCIE物理层的物理媒介适配层、物理编码子层的功能;将外部器件发送给PCIE交换芯片的数据包转发到端口控制器;将端口控制器发送的数据包转发到外部器件;
所述路由模块,用于从端口控制器接收路由信息,根据所述路由信息进行路由查找,获取所述数据包的处理方式、接收或输出端口号;
所述EEPROM接口控制器,用于读取外接EEPROM配置信息,并发送到所述配置模块;
所述配置模块,用于接收配置信息并对所述端口进行配置,将所述端口配置为上游端口或下游端口,并对芯片内部进行虚拟交换区域的划分,控制每个所述端口使能;
所述交叉开关,用于转发穿越PCIE交换芯片的数据包。


2.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,所述端口包括固定端口号和可变设备号,当所述端口配置为上游端口时,设置所述上游端口设备号为0,当所述端口配置为下游端口时,所述下游端口设备号为所述固定端口号。


3.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,
当所述端口配置为上游端口时,所述上游端口,用于接收类型0配置请求包,提取所述上游端口的配置信息,根据所述配置信息进行端口配置,提取非类型0配置请求包类型和路由信息并发送到所述路由模块;
当所述端口配置为下游端口时,所述下游端口,丢弃从下游链路接收的类型0和类型1配置请求包,接收并提取非类型0或非类型1配置请求包类型和路由信息并发送到所述路由模块。


4.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,所述端口控制器,
当转发所述数据包时,将所述数据包和所述数据包的输出端口号发送到所述交叉开关;
接收所述配置模块的配置信息,根据所述配置信息对端口寄存器进行读或写操作,上游端口控制器能根据对本端口寄存器的操作结果直接生成配置完成数据包,下游端口控制器不能根据配置模块对本端口寄存器的读或写操作结果直接生成配置完成数据包,但能够将操作结果反馈给配置模块,由配置模块发送给上游端口控制器,由上游端口控制器生成下游端口寄存器的配置完成数据包;上游端口控制器将生成的所述配置完成数据包通过输出侧发送到所述物理层接口,由物理层接口发送到输出链路;
直接转发或处理后再转发来自所述交叉开关转发的数据包;
根据PCIE协议的要求处理目的接收方为本端口的电源管理消息包。


5.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,还包括由虚拟交换所含端口指示寄存器、虚拟交换上游端口指示寄存器,以及虚拟交换使能寄存器组成的虚拟交换配置寄存器组,其中,
所述虚拟交换所含端口指示寄存器,其定义每个所述虚拟交换区域包含的端口;
所述虚拟交换上游端口指示寄存器,用于指示每个所述虚拟交换区域对应的上游端口号;
所述虚拟交换使能寄存器,用于定义虚拟交换的使能位。


6.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,所述路由信息,包括,所述数据包头的类型、目的ID、目的地址,对于隐含路由消息包,还包括所述隐含路由消息包的八位消息编码。


7.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,所述路由模块,还包括读取单元和生成单元,
所述读取单元,用于读取每个所述端口可预读存储器基址寄存器、可预读存储器基址高32位寄存器、存储器基址寄存器、输入输出基址寄存器、输入输出基址高16位寄存器、可预读存储器界限寄存器、可预读存储器界限高32位寄存器、存储器界限寄存器、输入输出界限寄存器、输入输出高16位界限寄存器、命令寄存器、初级总线号寄存器、次级总线号寄存器、下属总线号寄存器和所述上游端口基地址寄存器;
所述生成单元,用于生成基于虚拟交换的IO地址路由表、存储器地址路由表、ID路由表和隐含路由表。


8.根据权利要求8所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,
所述路由表每个条目包括一组寄存器,每个所述条目表示对符合其条目所列条件的所述数据包进行转发/接收/丢弃;
所述路由表,用于将所述数据包限制在当前虚拟交换区域包括的所述端口间进行传输。


9.根据权利要求7所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,
所述IO地址路由表每个条目包括目的IO地址范围、所述数据包的处理方式和所述数据包的输出端口号;
所述存储器地址路由表每个条目包括目的存储器地址范围、所述数据包的处理方式和输出/接收端口号;
所述ID路由表每个条目包括目的总线号范围、所述数据包的处理方式和输出/接收端口号;
所述隐含路由表每个条目包括消息路由类型子字段、消息编码、所述数据包的处理方式以及输出/接收端口号。


10.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,所述路由模块,还用于向所述端口控制器反馈路由查找结果。


11.根据权利要求1所述的支持虚拟交换的PCIE交换芯片端口配置系统,其特征在于,所述交叉开关,还用于接收数据包和所述数据包的输出端口号,根据所述输出端口号将所述数据包发送到相应输出端口控制器。


12.一种支持虚拟交换的PCIE交换芯片端口配置方法,其特征在于,包括以下步骤:
1)外接的EEPROM芯片通过配置模块,...

【专利技术属性】
技术研发人员:杨珂张建波赵姣崔飞飞
申请(专利权)人:成都九芯微科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1