一种避免因热插拔导致USB失效的服务器和方法技术

技术编号:37472463 阅读:12 留言:0更新日期:2023-05-06 09:55
本发明专利技术涉及一种避免因热插拔导致USB失效的服务器和方法,该服务器包括CPU、PCIe接口、PCIe转USB转接器、xHCI控制器、操作系统和重试次数限定模块;出现热插拔USB设备导致USB功能失效时,如果xHCI控制器在规定时间内还没收到BSR=0返回,则按照流程上报语境错误给xHCI控制器;当上报完语境错误后又收到BSR=0返回值,xHCI控制器继续再去设置地址;重试次数限定模块用于限定重试次数,当xHCI控制器重试设置地址的重试次数超过所述的重试次数限定模块限定的重试次数时,则上报USB处理错误,交由操作系统的xHCI驱动器进行处理。操作系统的xHCI驱动器进行处理。操作系统的xHCI驱动器进行处理。

【技术实现步骤摘要】
一种避免因热插拔导致USB失效的服务器和方法


[0001]本专利技术涉及国产操作系统和服务器
,具体涉及一种避免因热插拔导致USB失效的服务器和方法。

技术介绍

[0002]USB设备在当代是非常普遍的一种存储介质,应用广泛,USB接口自然成为PC、平板、服务器等设备的一种标准配置接口,在众多设计中对于USB设备的兼容性、可靠性就提出了新的要求和挑战。
[0003]国产飞腾服务器平台只有PCIe接口,不具备USB接口,为了满足服务器平台更好的使用环境和友善而丰富的接口,使其更具竞争力,更符合服务器市场的需求,满足具备USB接口的需求就显得尤为重要。因此,本专利技术设计了国产服务器通过PCIe转USB IC(ASM1042A)方案实现USB接口功能。但是此方案在实际使用过程中遇到了国产操作系统(银河麒麟OS)搭配国产飞腾服务器平台存在USB插拔兼容、可靠性的问题。本专利技术提出的技术方案是为了解决PCIe(总线和接口标准)转USB IC(ASM1042A)方案在国产操作系统(银河麒麟OS)搭配国产飞腾服务器平台上出现的USB可靠性问题。

技术实现思路

[0004]本专利技术旨在提供一种避免因热插拔导致USB失效的服务器和方法,以解决现有技术中在国产操作系统(银河麒麟OS)搭配国产飞腾服务器平台上出现的因热插拔USB设备出现USB功能失效的问题。
[0005]本专利技术的目的是解决现有技术的不足,提供一种避免因热插拔导致USB失效的服务器,包括CPU、PCIe接口、PCIe转USB转接器、xHCI控制器、操作系统和重试次数限定模块;所述的CPU用于运行所述的操作系统;所述PCIe转USB转接器的一端与所述的PCIe接口连接,另一端为USB接口;在所述的USB接口上热插拔USB设备时,所述的xHCI控制器用于在系统设定到编址的流程阶段去设置地址;出现热插拔USB设备导致USB功能失效时,如果所述的xHCI控制器在规定时间内还没收到BSR=0返回,则按照流程上报语境错误给xHCI控制器;当上报完语境错误后又收到BSR=0返回值,xHCI控制器继续再去设置地址;因为xHCI控制器已经接收了上报的语境错误的信息,从而导致设置地址失败,xHCI控制器会去重试设置地址并一直重试,导致驱动认为硬件未响应而终止xHCI控制器;所述的重试次数限定模块用于限定重试次数,当xHCI控制器重试设置地址的重试次数超过所述的重试次数限定模块限定的重试次数时,则上报USB处理错误,交由操作系统的xHCI驱动器进行处理;操作系统的xHCI驱动器判定本次热插拔异常或无效,作为异常处理,从而解决了反复重试导致锁死的问题。
[0006]优选地,所述的服务器为国产飞腾服务器。
[0007]优选地,所述的操作系统为国产银河麒麟操作系统。
[0008]优选地,所述的USB接口为USB3.0接口。
[0009]优选地,从上报完所述的语境错误到又收到BSR=0返回值之间存在延时。
[0010]优选地,当xHCI控制器重试设置地址的重试次数未超过所述的重试次数限定模块限定的重试次数时,则xHCI控制器继续重试设置地址。
[0011]优选地,所述的重试次数限定模块限定的重试次数为20次。
[0012]优选地,所述xHCI控制器的固件中设置有串行外设接口只读存储器,所述的串行外设接口只读存储器与所述的PCIe转USB转接器连接,所述的重试次数限定模块存储在所述的串行外设接口只读存储器中。
[0013]优选地,所述的PCIe转USB转接器为PCIe转USB IC ASM1042A。
[0014]本专利技术还提供一种服务器避免因热插拔导致USB失效的方法,包括以下步骤:
[0015]第一步、将USB设备插入所述PCIe转USB转接器的USB接口的启动槽,启动,如果xHCI控制器在规定时间内收到BSR=0,则编址(addressed)并配置(Configured);
[0016]第二步、如果xHCI控制器收到BSR=1,则进行系统设定(default);xHCI控制器再次接收BSR返回值;如果还没收到BSR=0,则由xHCI控制器上报语境错误(Context error);如果收到BSR=0,则由xHCI控制器的固件去设置地址(set address);如果上报语境错误后又收到BSR=0,也由xHCI控制器的固件去设置地址;
[0017]第三步、如果设置地址失败,则xHCI控制器会去重试设置地址,如果重试次数超过所述的重试次数限定模块限定的重试次数时,则上报USB处理错误,交由操作系统的xHCI驱动器进行处理;操作系统的xHCI驱动器判定本次热插拔异常或无效,作为异常处理,从而解决了反复重试导致锁死的问题;
[0018]第四步、如果设置地址成功,则编址(addressed)并配置(Configured)。
[0019]优选地,第三步中,如果重试次数未超过所述的重试次数限定模块限定的重试次数时,则xHCI控制器继续重试设置地址。
[0020]有益效果
[0021]与现有技术相比,本专利技术的有益效果是:
[0022]本专利技术通过对PCIe协议分析仪抓取的数据进行分析发现,出现因热插拔USB设备导致USB功能失效发生时,可扩展的主机控制器接口(eXtensible Host Controller Interface,xHCI)被操作系统(OS)的驱动作为异常处理了。
[0023]本专利技术通过对PCIe转USB IC(ASM1042A)固件(firmware)优化,在xHCI控制器固件(Controller Firmware)设置地址(set address)失败时去重试设置地址(retry to set address)并且一直重试(retry)的过程中增加了重试(retry)次数限定,当前设定20次。超过20次上报USB处理错误(transaction error),交由系统驱动处理。驱动判定本次插拔异常或无效,作为异常处理,从而解决了反复重试(retry)导致锁死的转态。经复测以及批量性验证,本专利技术提出的方案有效可行。
附图说明
[0024]附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的具体实施方式一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。
[0025]图1是本专利技术的硬件原理框图。
[0026]图2是本专利技术的工作原理示意图。
具体实施方式
[0027]在下文中更详细地描述了本专利技术以有助于对本专利技术的理解。
[0028]本专利技术的环境为飞腾服务器平台、银河麒麟OS和PCIe转USB IC(ASM1042A)。实际测试过程中发生热插拔USB设备出现USB功能失效问题。出现热插拔USB设备导致USB功能失效发生时,通过PCIe协议分析仪抓取的数据分析为xHCI被OS驱动作为异常处理了。
[0029]xHCI控制器在系统设定(default)到编址(address本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种避免因热插拔导致USB失效的服务器,其特征在于,所述的避免因热插拔导致USB失效的服务器包括CPU、PCIe接口、PCIe转USB转接器、xHCI控制器、操作系统和重试次数限定模块;所述的CPU用于运行所述的操作系统;所述PCIe转USB转接器的一端与所述的PCIe接口连接,另一端为USB接口;在所述的USB接口上热插拔USB设备时,所述的xHCI控制器用于在系统设定到编址的流程阶段去设置地址;出现热插拔USB设备导致USB功能失效时,如果所述的xHCI控制器在规定时间内还没收到BSR=0返回,则按照流程上报语境错误给xHCI控制器;当上报完语境错误后又收到BSR=0返回值,xHCI控制器继续再去设置地址;因为xHCI控制器已经接收了上报的语境错误的信息,从而导致设置地址失败,xHCI控制器会去重试设置地址并一直重试,导致驱动认为硬件未响应而终止xHCI控制器;所述的重试次数限定模块用于限定重试次数,当xHCI控制器重试设置地址的重试次数超过所述的重试次数限定模块限定的重试次数时,则上报USB处理错误,交由操作系统的xHCI驱动器进行处理;操作系统的xHCI驱动器判定本次热插拔异常或无效,作为异常处理,从而解决了反复重试导致锁死的问题。2.根据权利要求1所述的避免因热插拔导致USB失效的服务器,其特征在于,所述的服务器为国产飞腾服务器。3.根据权利要求1所述的避免因热插拔导致USB失效的服务器,其特征在于,所述的操作系统为国产银河麒麟操作系统。4.根据权利要求1所述的避免因热插拔导致USB失效的服务器,其特征在于,所述的USB接口为USB3.0接口。5.根据权利要求1所述的避免因热插拔导致USB失效的服务器,其特征在于,从上报完所述的语境错误到又收到BSR=0返回值之间存在延时。6.根据权利要求1所述的避免...

【专利技术属性】
技术研发人员:陈先良曹英豪
申请(专利权)人:北京乐研科技股份有限公司
类型:发明
国别省市:

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

1