|This article needs additional citations for verification. (December 2008)|
Hot swapping and hot plugging are terms used to describe the functions of replacing computer system components without shutting down the system. More specifically, hot swapping describes replacing components without significant interruption to the system, while hot plugging describes the addition of components that would expand the system without significant interruption to the operation of the system. Once the appropriate software is installed on the computer, a user can plug and unplug the component without rebooting. A well-known example of this functionality is the Universal Serial Bus (USB) that allows users to add or remove peripheral components such as a mouse, keyboard, or printer.
Reasons for hot-swapping
Hot swapping is used whenever it is desirable to change the configuration or repair a working system without interrupting its operation. It may simply be for convenience, to avoid the delay and nuisance of shutting down and then restarting complex equipment; or because it is essential for equipment, such as a server, to be perpetually active.
Hot swapping may be used to add or remove peripherals or components, to allow a device to synchronize data with a computer, and to replace faulty modules without interrupting equipment operation.
Equipment may be designed with redundancy so that in the event of the failure of a component, other parts of the system carry out its functions while the faulty component is removed and a replacement connected. For example, computer RAID disk arrays allow a faulty disk to be hot-swapped for a new one; the new one is configured to become part of the array automatically or by user command. A machine may have dual power supplies, each adequate to power the machine; a faulty one may be hot-swapped.
Hot swapping can also be used to circumvent security measures designed to prevent the execution of unsigned code, as with the Microsoft Xbox Console hard drive.
Machines that support hot swapping need to be able to modify their operation for the changed configuration, either automatically on detecting the change, or by user intervention. All electrical and mechanical connections associated with hot-swapping must be designed so that neither the equipment nor the user can be harmed while hot-swapping. Other components in the system must be designed so that the removal of a hot-swappable component does not interrupt operation.
Protective covering plates, shields, or bezels may be used on either the removable components or the main device itself to prevent operator contact with live powered circuitry, to provide antistatic protection for components being added or removed, or to prevent the removable components from accidentally touching and shorting out the powered components in the operating device.
Additional guide slots, pins, notches, or holes may be used to aid in proper insertion of a component between other live components, while mechanical engagement latches, handles, or levers may be used to assist in proper insertion and removal of devices that either require large amounts of force to connect or disconnect, or to assist in the proper mating and holding together of power and communications connectors.
There are two slightly differing meanings of the term hot swapping. It may refer only to the ability to add or remove hardware without powering down the system, while the system software may have to be notified by the user of the event in order to cope with it. Examples include RS-232 and lower-end SCSI devices. This is sometimes called cold plugging. However, if the system can detect and respond to addition or removal of hardware, it is referred to as true hot plugging. Examples include USB, FireWire and higher-end SCSI devices.
Some implementations require a component shutdown procedure prior to removal. This simplifies the design, but such devices are not robust in the case of component failure. If a component is removed while it is being used, the operations to that device fail and the user is responsible for retrying if necessary, although this is not usually considered to be a problem.
More complex implementations may recommend but do not require that the component be shut down, with sufficient redundancy in the system to allow operation to continue if a component is removed without being shut down. In these systems hot swap is normally used for regular maintenance to the computer, or to replace a broken component.
Most modern hot-swap methods use a specialized connector with staggered pins, so that certain pins are certain to be connected before others. Most staggered-pin designs have ground pins longer than the others, ensuring that no sensitive circuitry is connected before there is a reliable system ground. The other pins may all be the same length, but in some cases three pin lengths are used so that the incoming device is grounded first, data lines connected second, and power applied third, in rapid succession as the device is inserted. Pins of the same nominal length do not necessarily make contact at exactly the same time due to mechanical tolerances, and angling of the connector when inserted.
At one time staggered pins were thought to be an expensive solution, but many contemporary connector families now come with staggered pins as standard; for example, they are used on all modern serial SCSI disk-drives. Specialized hot-plug power connector pins are now commercially available with repeatable DC current interruption ratings of up to 16 A. Printed circuit boards are made with staggered edge-fingers for direct hot-plugging into a backplane connector.
Although the speed of plugging cannot be controlled precisely, practical considerations will provide limits that can be used to determine worst-case conditions. For a typical staggered pin design where the length difference is 0.5 mm, the elapsed time between long and short pin contact is between 25 ms and 250 ms. It is quite practical to design hot-swap circuits that can operate at that speed.
As long as the hot-swap connector is sufficiently rigid, one of the four corner pins will always be the first to engage. For a typical two-row connector arrangement this provides four first-to-make corner pins that are usually used for grounds. Other pins near the corners can be used for functions that would also benefit from this effect, for example sensing when the connector is fully seated. This diagram illustrates good practice where the grounds are in the corners and the power pins are near the center. Two sense pins are located in opposite corners so that fully seated detection is confirmed only when both of them are in contact with the slot. The remaining pins are used for all the other data signals.
The DC power supplies to a hot-swap component are usually pre-charged by dedicated long pins that make contact before the main power pins. These pre-charge pins are protected by a circuit that limits the inrush current to an acceptable value that cannot damage the pins nor disturb the supply voltage to adjacent slots. The pre-charge circuit might be a simple series resistor, a negative temperature coefficient (NTC) resistor, or a current-limiter circuit. Further protection can be provided by a "soft-start" circuit that provides a managed ramp-up of the internal DC supply voltages within the component.
A typical sequence for a hot-swap component being plugged into a slot could be as follows:
- Long ground pins make contact; basic electrical safety and ESD protection becomes available.
- Long (or medium) pre-charge pins make contact; decoupling capacitors start to charge up.
- Real time delay of tens of milliseconds.
- Short power/signal pins make contact.
- Connector becomes fully seated; power-on reset signal asserted within component
- Soft-start circuit starts to apply power to the component.
- Real time delay of tens of milliseconds.
- Soft-start circuit completes sequence; power-on reset circuit deasserted
- Component begins normal operation.
Hot-swap power circuits can now be purchased commercially in specially designed ASICs called hot-swap power managers (HSPMs).
Modern day radio transmitters (and some TV transmitters as well) use high power RF transistor power modules instead of vacuum tubes. Hot swapping power modules is not a new technology, as many of the radio transmitters manufactured in the 1930s were capable of having power tubes swapped out while the transmitter was running—but this feature was not universally adopted due to the introduction of more reliable high power tubes.
In the mid-1990s, several radio transmitter manufactures in the US started offering swappable high power RF transistor modules.
- There was no industry standard for the design of the swappable power modules at the time.
- Early module designs had only limited patent protection.
- By the early 2000s, many transmitter models were available that used many different kinds of power modules.
The reintroduction of power modules has been good for the radio transmitter industry, as it has fostered innovation. Modular transmitters have proven to be more reliable than tube transmitters, when the transmitter is properly chosen for the conditions at the transmitting site.
- lowest power modular transmitter: generally 1.0 kW, using 600 W modules.
- highest power modular transmitter: 1.0 MW (for LW, MW).
- highest power modular transmitter: 45 kW (FM, TV).
Companies that produce transmitters using power modules
Circuitry attached to signal pins in a hot-swap component should include some protection against electrostatic discharge (ESD). This usually takes the form of clamp diodes to ground and to the DC power supply voltage. ESD effects can be reduced by careful design of the mechanical package around the hot-swap component, perhaps by coating it with a thin film of conductive material.
Particular care must be taken when designing systems with bussed signals which are wired to more than one hot-swap component. When a hot-swap component is inserted its input and output signal pins will represent a temporary short-circuit to ground. This can cause unwanted ground-level pulses on the signals which can disturb the operation of other hot-swap components in the system. This was a problem for early parallel SCSI disk-drives. One common design solution is to protect bussed signal pins with series diodes or resistors. CMOS buffer devices are now available with specialized inputs and outputs that minimize disturbance of bussed signals during the hot-swap operation. If all else fails, another solution is to quiesce the operation of all components during the hot-swap operation.
Hot swapping capability was more recognized among older generation video game systems. Although today many different systems can interchange games and multimedia (i.e. Blu-ray discs) without powering down the system, this was not often the case with early-generation systems. For example, Sony PlayStation and PlayStation 2 could eject a game disc with the system powered on. However similar systems of the time, such as the Nintendo Game Boy Advance and the Nintendo 64, would freeze up and could potentially become corrupt if the game cartridge was removed with the power on; therefore manufacturers specifically warned against such practices in the owner's manual or on the game cartridge. It was supposedly the aforementioned reason Stop 'N' Swop was taken out of the Banjo-Kazooie series.
Hot swapping can also refer to the ability to alter the running code of a program without needing to interrupt its execution. Interactive programming is a programming paradigm that makes extensive use of hot swapping, so the programming activity becomes part of the program flow itself.
Only a few programming languages support hot swapping natively, including Pike, Lisp, Erlang, Smalltalk, and Java. Microsoft Visual Studio supports a kind of hot swapping called Edit and Continue, which is supported by C#, VB.NET and C/C++ when running under a debugger.
Some web-based frameworks, such as Django, support detecting module changes and reloading them on the fly. However, although the same as hotswapping for most intents and purposes, this is technically just a cache purge, triggered by a new file. Note that this does not apply to markup and programming languages such as HTML and PHP respectively, in the general case, as these file are normally re-interpreted on each use by default. There are a few CMSs and other PHP-based frameworks (such as Drupal) that employ caching, however. In these cases, similar abilities and exceptions apply.
Hot swapping also facilitates developing systems where large amounts of data are being processed, as in entire genomes in bioinformatics algorithms.