【技术实现步骤摘要】
一种动态配置PCIe终端设备的系统和方法
[0001]本专利技术涉及云计算领域,特别涉及一种动态配置PCIe终端设备的系统和方法。
技术介绍
[0002]在目前的数据中心应用场景中,弹性裸金属服务器逐步占据更多的比重,用户会以类似云服务的弹性方式租用物理服务器。与传统的服务器租赁模式不同,弹性裸金属服务器在提供完整的IO资源的同时,还具备云服务的灵活性和可配置性。用户对网络设备、存储设备、计算加速设备等IO资源的动态配置,都会即时生效体现在租用的弹性裸金属服务器上。
[0003]PCIe终端设备的复用多采用SR
‑
IOV(Single Root I/O Virtualization)方式,以一个PF(Physical Functions,物理功能)为模板虚拟出多个VF(Virtual Functions,虚拟功能),从终端设备的角度提供了虚拟化支持,具有硬件实现的高效性。由于其从硬件角度出发,缺少虚拟化管理对终端设备属性和数量动态灵活配置的要求。其设备的数量、属性都是静态设置,无法在线修改,如果对V ...
【技术保护点】
【技术特征摘要】
1.一种动态配置PCIe终端设备的系统,其特征在于,所述系统包括:PCIe虚拟化模块,用于在主机扫描所述系统下游的PCIe终端设备时接收所述主机发送的PCIe配置请求报文,并对所述配置请求报文回复配置应答报文;并用于接收所述主机发送的PCIe IO请求报文,并对所述配置请求报文回复IO应答报文;其中,PCIe IO请求报文包含下游的PCIe终端设备对应的BAR地址空间存储器读写请求;外部调试器,通过所述PCIe虚拟化模块提供的调试接口与所述PCIe虚拟化模块连接,用于在启动时通过所述PCIe虚拟化模块提供的调试接口,代替所述PCIe虚拟化模块进行PCIe配置和IO调用的调试;并用于在目标类型的PCIe终端设备调试完成后,修改所述PCIe虚拟化模块中用于支持所述目标类型的PCIe终端设备的程序;嵌入式处理器,用于与外部配置管理服务器协商生成所述配置应答报文,并确定多个所述配置应答报文的生成顺序。2.根据权利要求1所述的动态配置PCIe终端设备的系统,其特征在于,所述PCIe虚拟化模块包括:PCIe事务层报文分发器,用于解析从PCIe链路层接收到的PCIe事务层报文,并根据所述PCIe事务层报文的报文头部信息所指示的PCIe配置事务请求报文或PCIe IO事务请求报文,将所述PCIe配置事务请求报文或PCIe IO事务请求报文分别发送给对应的配置处理模块或IO处理模块;并用于将从配置处理模块或IO处理模块接收到的PCIe事务层报文,分发给PCIe链路层;调试接口,与所述外部调试器连接,用于当外部调试器启动时代替所述PCIe事务层报文分发器进行PCIe事务层报文的发送和接收;配置处理模块,用于接收配置报文,并根据所述配置报文完成PCIe终端设备的更新;IO处理模块,用于接收PCIe IO请求报文,并根据所述PCIe IO请求报文控制所述PCIe虚拟化模块和/或至少一个PCIe终端设备进行控制状态寄存器访问以及直接内存访问。3.根据权利要求2所述的动态配置PCIe终端设备的系统,其特征在于,所述配置处理模块包括:配置报文收发接口,用于接收PCIe事务层报文分发器分发的PCIe配置事务请求报文,并发送从可编程硬件状态机或CPU配置处理接口接收到的的配置事务应答报文;CPU配置处理接口,用于接收配置报文收发接口转发的PCIe配置事务请求报文,并发送从所述嵌入式处理器接收的的配置事务应答报文;可编程硬件状态机,用于接收并解析配置报文收发接口转发的PCIe配置事务请求报文,并根据解析内容发送预先编程的配置事务应答报文;状态机微序列程序存储单元,用于存储可编程硬件状态机的指令和数据,所述指令和数据从所述CPU配置处理接口写入或读出。4.根据权利要求2所述的动态配置PCIe终端设备的系统,其特征在于,所述IO处理模块包括:目标IO报文收发接口,用于接收PCIe事务层报文分发器转发的PCIe IO事务请求报文,并解析为BAR地址空间存储器读写请求;并用于把CSR模块返回的存储器读写应答封装成IO事务应答报文,发送给PCIe事务层报文分发器;CSR模块,用于接收目标IO报文收发接口发送的BAR地址空间存储器读写请求,根据所
述BAR地址空间存储器读写请求获取对应的读写请求内容发送给目标IO报文收发接口。5.根据权利要求4所述的动态配置PCIe终端设备的系统,其特征在于,所述CSR...
【专利技术属性】
技术研发人员:王昕溥,王伟,
申请(专利权)人:北京大禹智芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。