背景技术
[0001] 一些计算系统支持
硬件组件的热拔出。热拔出是在计算系统被通电的同时从计算系统移除连接的硬件组件的能
力。
附图说明
[0003] 图1A图示了根据示例的用于经由通过闩锁所控制的附接翼片组耦合到计算设备或另一
外围设备的外围设备的上侧;
[0004] 图1B图示了根据示例的图1A的外围设备的下侧;
[0005] 图1C图示了根据示例的用于从外围设备接收附接翼片组以便耦合的计算设备的下侧。
[0006] 图1D图示了根据示例的具有耦合到外围设备的计算设备的模
块化计算系统的侧视图;
[0007] 图2图示了根据示例的用于控制附接翼片组与计算设备的
啮合的图1A-1D的外围设备的闩锁的立体图;
[0008] 图3A图示了根据示例的用于基于外围设备中的闩锁的位置向计算设备指示热拔出预测的外围设备;
[0009] 图3B图示了根据另一示例的用于基于外围设备中的闩锁的位置向计算设备指示热拔出预测的外围设备;
[0010] 图4图示了根据另一示例的用于基于外围设备中的闩锁的位置向计算设备指示热拔出预测的外围设备;以及
[0011] 图5图示了根据示例的响应于从外围设备检测到热拔出预测而执行与外围设备相关联的操作的计算设备。
具体实施方式
[0012] 硬件组件的热拔出可以引起影响计算系统的用户体验和/或性能的问题。例如,当高功率硬件组件被热拔出时可能出现火花。作为另一示例,硬件组件当被热拔出时可能遭受物理损坏。
[0013] 本文中所描述的示例提供包括外围设备的模块化计算系统。例如,外围设备可以包括模块
接口以从计算设备接收电力和数据通信。外围设备还可以包括附接翼片以将外围设备附接到计算设备的下侧。外围设备可以进一步包括闩锁以控制附接翼片与计算设备的啮合。外围设备可以进一步包括感测
电路以检测闩锁的位置变化。外围设备可以进一步包括
控制器以响应于检测到闩锁从锁
定位置移动到解锁位置,经由模块接口向计算设备指示热拔出预测。该模块化计算系统还可以包括计算设备。计算设备可以包括具有用于接收附接翼片的开口的延伸区域。计算设备还可以包括模块接口以耦合到外围设备的模块接口。计算设备可以进一步包括处理器以响应于接收到指示,经由计算设备的模块接口执行与外围设备相关联的操作。以这种方式,本文中所描述的示例可以减少与硬件组件(诸如外围设备)的
热插拔相关联的问题。
[0014] 图1A-1D图示了包括外围设备102以基于外围设备102中的闩锁(在图1A-1D中未示出)的位置向计算设备104指示热拔出预测的模块化计算系统100。外围设备102可以是向计算设备104提供附加功能性的任何设备。例如,外围设备102可以是数据存储设备,诸如
硬盘驱动器。作为另一示例,外围设备102可以提供音频和/或视频功能性,诸如扬声器、相机等。作为另一示例,外围设备102是光盘驱动器,诸如DVD驱动器。计算设备104可以是例如笔记本计算机、台式计算机、一体化系统、平板计算设备、
移动电话、
电子书阅读器、模块化计算机等。
[0015] 转向图1A,图1A图示了根据示例的用于经由通过外围设备102中的闩锁所控制的附接翼片组108a-108d耦合到计算设备104(在图1A中未示出)或另一外围设备的外围设备102的上侧106。上侧106可以包括模块接口110以从计算设备104接收电力和数据通信。在示例中,可以将模块接口110实现为通用
串行总线(USB)类型-c连接器。上侧106还可以包括凸起区域112和通过凸起区域112限定的凹进区域114。
[0016] 上侧106可以进一步包括附接翼片组108a-108d。附接翼片组108a-108d可以在被耦合时将外围设备102附接到计算设备104。附接翼片组108a-108d的啮合可以通过位于外围设备102的下侧118(在图1A中未示出)的闩锁解锁翼片116来控制。例如,当闩锁解锁翼片116处于解锁位置处时,附接翼片组108a-108d可以缩回到凸起区域112中。当闩锁解锁翼片
116从解锁位置移动到锁定位置时,附接翼片组108a-108d可以从凸起区域112延伸到凹进区域114中。
[0017] 转向图1B,图1B图示了根据示例的图1A的外围设备102的下侧118。下侧118可以包括开口120,该开口120可以使闩锁解锁翼片116暴露于外围设备102的用户并且还可以容纳闩锁解锁翼片116以改变位置来控制附接翼片组108a-108d的啮合。
[0018] 图1C图示了根据示例的用于从外围设备102接收附接翼片组108a-108d以便耦合的计算设备104的下侧122。当计算设备104和外围设备102耦合以形成模块化计算系统100时,可以在外围设备102的凹进区域114中接收下侧122。
[0019] 下侧122可以包括从下侧122延伸的延伸区域124。延伸区域124可以包括模块接口126以耦合到外围设备102的模块接口110。计算设备104可以向外围设备102供应电力并且经由模块接口126与外围设备102进行通信。延伸区域124还可以包括开口组128a-128d以在附接翼片组108a-108d延伸时接收附接翼片组108a-108d。开口组128a-128d中的开口的数量可以与附接翼片组108a-108d中的附接翼片的数量匹配。
[0020] 图1D图示了根据示例的具有耦合到外围设备102的计算设备104的模块化计算系统100的侧视图。当通过将计算设备104耦合到外围设备102来形成模块化计算系统100时,模块化计算系统100可以处于其中计算设备104可以位于外围设备102之上的堆叠配置中。
[0021] 图2图示了根据示例的用于控制附接翼片组108a-108d与计算设备104的啮合的图1A-1D的外围设备102的闩锁200的立体图。闩锁200可以包括第一闩锁臂202和第二闩锁臂
204。附接翼片108a-108b可以经由第一
连杆构件206链接在一起。在一些示例中,可以将附接翼片108a-108b和第一连杆构件206形成为单件。附接翼片108a-108b和第一连杆构件206可以与第一闩锁臂202物理
接触。类似地,附接翼片108c-108d可以经由第二连杆构件208链接在一起。附接翼片108c-108d和第二连杆构件208可以与第二闩锁臂204物理接触。
[0022] 在操作期间,当附接翼片组108a-108d将缩回到外围设备102的凸起区域112中时,可以经由通过用户所控制的闩锁解锁翼片116将闩锁200从锁定位置移动到解锁位置(如通过箭头210所指示的那样)。第一闩锁臂202的楔形物212a-212b可以推靠第一连杆构件206,使得第一连杆构件206和附接翼片108a-108b远离第一闩锁臂202移动(如通过箭头214所指示的那样)。第二闩锁臂204的楔形物212c-212d可以推靠第二连杆构件208,使得第二连杆构件208和附接翼片108c-108d远离第二闩锁臂204移动(如通过箭头216所指示的那样)。因此,附接翼片组108a-108d可以缩回到凸起区域112中。
[0023] 为了使附接翼片组108a-108d延伸到凹进区域114中,可以使用
弹簧(未示出)。例如,可以靠着闩锁臂202和204的尖端并且靠着连杆构件206和208放置弹簧。因此,可以将附接翼片组108a-108d推向闩锁解锁翼片116,并且当闩锁200处于锁定位置时闩锁200可以自动地返回到解锁位置。如图3A-5中更详细地描述的那样,通过检测闩锁200的位置,外围设备102可以确定外围设备102是否将被从计算设备104移除。因此,外围设备102可以预测外围设备102从计算设备104的即将到来的热拔出。
[0024] 图3A图示了根据示例的用于基于闩锁200的位置向计算设备104指示热拔出预测的外围设备102。除模块接口110和闩锁200之外,外围设备102还可以包括控制器302。控制器302可以控制外围设备102的操作。控制器302可以是中央处理单元(CPU)、基于
半导体的
微处理器和/或适合于检索并执行存储在计算机可读存储介质中的指令的其他硬件设备。
[0025] 外围设备102还可以包括检测闩锁200的位置的感测电路304。感测电路304可以以各种方式检测闩锁200的位置。在示例中,可以将地线集成到闩锁200中。当闩锁200在锁定位置处(例如,附接翼片组108a-108d被延伸到凹进区域114中)时,地线可以完成感测电路304中的地线回路。当闩锁200在解锁位置处(例如,附接翼片组108a-108d从凹进区域114缩回)时,地线可以从地线回路缩回以创建开路。感测电路304可以检测开路并且向控制器302指示存在开路。感测电路304中的开路的指示可以指示闩锁200已从解锁位置改变到锁定位置并且可以从计算设备104热拔出外围设备102。
[0026] 响应于经由感测电路304检测到开路,控制器302可以经由模块接口110向计算设备104指示热拔出预测306。控制器302可以以不同的方式向计算设备104指示热拔出预测306。例如,控制器302可以将热拔出预测306指示为经由模块接口110输出的
电压电平。计算设备104可以经由计算设备104的耦合到模块接口110的模块接口308来感测电压电平。在另一示例中,控制器302可以生成热拔出预测306作为消息并且经由模块接口110将该消息发送到计算设备104。计算设备104可以经由模块接口308接收消息。
[0027] 响应于经由模块接口308检测到热拔出预测306,计算设备104可以执行与外围设备102相关联的操作。例如,计算设备104的处理器310可以减少经由模块接口308提供给外围设备102的电力量。在另一示例中,处理器310可以生成命令312来指示外围设备102执行操作。处理器310可以经由模块接口308将命令312发送到外围设备102。响应于经由模块接口110接收到命令312,外围设备102可以执行操作。在示例中,操作可以包括基于命令312指示外围设备102掉电。在另一示例中,操作可以包括改变外围设备102的组件的操作参数。
[0028] 计算设备104可以基于外围设备102的功能来选择要执行的操作的类型。例如,当外围设备102是光盘驱动器时,组件的操作参数的改变可以包括从光盘驱动器中的光盘移除光盘驱动器的读/写头。当外围设备是硬盘驱动器时,组件的操作参数的改变可以包括从硬盘驱动器盘片移除硬盘驱动器的读/写头。作为另一示例,当外围设备是硬盘驱动器时,操作可以包括在硬盘驱动器处执行高速缓存刷新操作。除指示外围设备102为即将到来的热拔出做准备之外,计算设备104还可以指示计算设备104的组件为热拔出做准备。在图3B中对此进行更详细的描述。
[0029] 图3B图示了根据另一示例的用于基于闩锁200的位置向计算设备104指示热拔出预测的外围设备102。响应于检测到热拔出预测306,处理器310可以向计算设备104的
操作系统314通知即将到来的热拔出,使得操作系统314可以为热拔出做准备。在示例中,操作系统314可以停止或者暂停正在与外围设备102交互的任何
软件应用。在另一示例中,操作系统314可以生成并显示热拔出警告消息并且显示警告消息,使得计算设备104的用户知道即将到来的热拔出。
[0030] 图4图示了根据另一示例的用于基于外围设备中的闩锁的位置向计算设备指示热拔出预测的外围设备400。外围设备400可以实现图1A-3B的外围设备102。外围设备400可以包括模块接口110、控制器302、感测电路304、闩锁200和计算机可读存储介质402。计算机可读存储介质402可以是包含或者存储可执行指令的任何电子、磁、光或其他物理存储设备。因此,计算机可读存储介质402可以是例如随机存取
存储器(RAM)、电可擦除可编程
只读存储器(EEPROM)、存储设备、光盘等。在一些示例中,计算机可读存储介质402可以是非暂时性存储介质,其中术语“非暂时性”不包含暂时性传播
信号。计算机可读存储介质402可以被编码有一系列处理器可执行指令404和406。
[0031] 热拔出消息指示指令404可以响应于检测到闩锁200从锁定位置改变到解锁位置而经由模块接口110向计算设备指示热拔出预测。例如,参考图3A,响应于经由感测电路304检测到开路,控制器302可以经由模块接口110向计算设备104指示热拔出预测306。操作执行指令406可以基于从计算设备接收到的命令在外围设备400处执行操作。例如,参考图3B,响应于经由模块接口110接收到命令312,外围设备102可以执行操作。在示例中,操作可以包括基于命令312指示外围设备102掉电。在另一示例中,操作可以包括改变外围设备102的组件的操作参数。
[0032] 图5图示了根据示例的用于响应于检测到来自外围设备的热拔出预测而执行与外围设备相关联的操作的计算设备500。计算设备500可以实现图1A-3B的计算设备104。计算设备500可以包括处理器310、模块接口308和计算机可读存储介质502。计算机可读存储介质502可以与图4的计算机可读存储介质402类似。计算机可读存储介质502可以被编码有指令504和506。
[0033] 热拔出预测检测指令504可以经由模块接口308检测来自附接到计算设备500的外围设备的热拔出预测。例如,参考图3A,控制器302可以将热拔出预测306指示为经由模块接口110输出的电压电平。计算设备104可以经由计算设备104的耦合到模块接口110的模块接口308来感测电压电平。在另一示例中,控制器302可以生成热拔出预测306作为消息并且经由模块接口110将该消息发送到计算设备104。计算设备104可以经由模块接口308接收消息。操作执行指令506可以响应于检测到热拔出预测而执行与外围设备相关联的操作。例如,参考图3A,响应于经由模块接口308检测到热拔出预测306,计算设备104可以执行与外围设备102相关联的操作。
[0034] “包括”、“包含”或“具有”的使用是同义的,并且其在本文中的变化意在为包括的或开放式的,而不排除附加的未记载的要素或方法步骤。