Some computing systems support hot unplug of hardware components. Hot unplug is the ability to remove a connected hardware component from the computing system while the computing system is powered on.
Some examples of the present application are described with respect to the following figures:
Hot unplug of a hardware component may cause problems that affect the user experience and/or the performance of the computing system. For example, sparks may appear when a high powered hardware component is hot unplugged. As another example, the hardware component may suffer from physical damage when hot unplugged.
Examples described herein provide a modular computing system including a peripheral device. For example, the peripheral device may include a module interface to receive power and data communication from a computing device. The peripheral device may also include an attachment tab to affix the peripheral device to a lower side of the computing device. The peripheral device may further include a latch to control an engagement of the attachment tab with the computing device. The peripheral device may further include a sensing circuit to detect a change in position of the latch. The peripheral device may further include a controller to, in response to detecting the latch moving from an locked position to an unlocked position, indicate to the computing device a hot unplug prediction via the module interface. The modular computing system may also include a computing device. The computing device may include an extending region having an opening to receive the attachment tab. The computing device may also include a module interface to couple to the module interface of the peripheral device. The computing device may further include a processor to, in response to receiving the indication, perform an operation associated with the peripheral device via the module interface of the computing device. In this manner, examples described herein may reduce problems associated with hot swapping of hardware component, such as a peripheral device.
Turning to
Upper side 106 may further include the set of attachment tabs 108a-108d. The set of attachment tabs 108a-108d may affix peripheral device 102 to computing device 104 when coupled. An engagement of the set of attachment tabs 108a-108d may be controlled by a latch unlocking tab 116 that is located at a lower side 118 (not shown in
Turning to
Lower side 122 may include an extended region 124 that extends from lower side 122. Extended region 124 may include a module interface 126 to couple to module interface 110 of peripheral device 102. Computing device 104 may supply power to peripheral device 102 and communicate with peripheral device 102 via module interface 126. Extended region 124 may also include a set of openings 128a-128d to receive the set of attachment tabs 108a-108d when the set of attachment tabs 108a-108d are extended. The number of openings in the set of openings 128a-128d may match the number of attachment tabs in the set of attachment tabs 108a-108d.
During operation, when the set of attachment tabs 108a-108d is to be retracted into raised region 112 of peripheral device 102, latch 200 may be moved from a locked position to an unlocked position (as indicated by an arrow 210) via latch unlocking tab 116 controlled by a user. Wedges 212a-212b of first latch arm 202 may push against first link member 206 so that first link member 206 and attachment tabs 108a-108b are moving away from first latch arm 202 (as indicated by an arrow 214). Wedges 212c-212d of second latch arm 204 may push against second link member 208 so that second link member 208 and attachment tabs 108c-108d are moving away from second latch arm 204 (as indicated by an arrow 216). Thus, the set of attachment tabs 108a-108d may be retracted into raised region 112.
To extend the set of attachment tabs 108a-108d into recessed region 114, springs (not shown) may be used. For example, springs may be placed against tips of latch arms 202 and 204 and against link members 206 and 208. Thus, the set of attachment tabs 108a-108d may be pushed toward latch unlocking tab 116 and latch 200 may return to the unlocked position automatically when latch 200 is at the locked position. As described in more details in
Peripheral device 102 may also include a sensing circuit 304 that detects positions of latch 200. Sensing circuit 304 may detect positions of latch 200 in a variety of ways. In an example, a ground wire may be integrated into latch 200. When latch 200 is at the locked position (e.g., the set of attachment tabs 108a-108d are extended into recessed region 114), the ground wire may complete a ground wire loop in sensing circuit 304. When latch 200 is at the unlocked position (e.g., the set of attachment tabs 108a-108d are retracted from recessed region 114), the ground wire may be retracted from the ground wire loop to create an open circuit. Sensing circuit 304 may detect the open circuit and indicate to controller 302 that an open circuit is present. The indication of an open circuit in sensing circuit 304 may indicate that latch 200 has changed from the unlocked position to the locked position and that peripheral device 102 may be hot unplugged from computing device 104.
In response to detecting the open circuit via sensing circuit 304, controller 302 may indicate a hot unplug prediction 306 to computing device 104 via module interface 110. Controller 302 may indicate hot unplug prediction 306 to computing device 104 in different ways. For example, controller 302 may indicate hot unplug prediction 306 as a voltage level output via module interface 110. Computing device 104 may sense the voltage level via a module interface 308 of computing device 104 that is coupled to module interface 110. In another example, controller 302 may generate hot unplug prediction 306 as a message and send the message to computing device 104 via module interface 110. Computing device 104 may receive the message via module interface 308.
In response to detecting hot unplug prediction 306 via module interface 308, computing device 104 may perform an operation associated with peripheral device 102. For example, a processor 310 of computing device 104 may reduce an amount of power provided to peripheral device 102 via module interface 308. In another example, processor 310 may generate a command 312 to instruct peripheral device 102 to perform an operation. Processor 310 may transmit command 312 to peripheral device 102 via module interface 308. In response to receiving command 312 via module interface 110, peripheral device 102 may perform the operation. In an example, the operation may include instructing peripheral device 102 to power down based on command 312. In another example, the operation may include changing an operating parameter of a component of peripheral device 102.
Computing device 104 may select the type of operation to be performed based on a function of peripheral device 102. For example, when peripheral device 102 is an optical disk drive, the change of the operating parameter of the component may include removing the read/write head of the optical disk drive from an optical disk in the optical disk drive. When peripheral device is a hard disk drive, the change of the operating parameter of the component may include removing a read/write head of the hard disk drive from the hard disk drive platter. As another example, when peripheral device is a hard disk drive, the operation may include performing a cache flushing operation at the hard disk drive. In addition to instructing peripheral device 102 to prepare for the upcoming hot unplug, computing device 104 may also instruct a component of computing device 104 to prepare for the hot unplug. This is described in more detail in
Hot unplug message indication instructions 404 may indicate a hot unplug prediction to a computing device via module interface 110 in response to detecting latch 200 changing from a locked position to an unlocked position. For example, referring to
Hot unplug prediction detection instructions 504 may detect, via module interface 308, a hot unplug prediction from a peripheral device attached to computing device 500. For example, referring to
The use of “comprising”, “including” or “having” are synonymous and variations thereof herein are meant to be inclusive or open-ended and do not exclude additional unrecited elements or method steps.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2016/042054 | 7/13/2016 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2018/013104 | 1/18/2018 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6424525 | MacLeod et al. | Jul 2002 | B1 |
20020169913 | Heilzer et al. | Nov 2002 | A1 |
20030063454 | Wilson et al. | Apr 2003 | A1 |
20030167367 | Kaushik | Sep 2003 | A1 |
20040243725 | Yokovlev et al. | Dec 2004 | A1 |
20140331009 | Parsonese et al. | Nov 2014 | A1 |
20150162819 | Nguyen | Jun 2015 | A1 |
20150234768 | Bass et al. | Aug 2015 | A1 |
20150288098 | Kuo et al. | Oct 2015 | A1 |
Number | Date | Country |
---|---|---|
200739094 | Oct 2007 | TW |
M483460 | Aug 2014 | TW |
Entry |
---|
Using the Module Bay, Aug. 2, 2004, <http://www.cs.utexas.edu/˜deke/laptopsupport/manuals/d600/bay.htm >. |
Number | Date | Country | |
---|---|---|---|
20190138486 A1 | May 2019 | US |