Method and apparatus to enable insertion/ejection of a device in a computer system while maintaining operation of the computer system and application software
First Claim
1. A method for allowing insertion and removal of a device into an operational computer system without disrupting processing on the computer system, comprising the steps of:
- providing a secondary bus for receiving devices to be inserted and ejected from the computer system;
providing a secondary bus controller coupled to a primary bus in the computer system;
receiving, in the secondary bus controller, a first signal indicating a device is to be inserted or removed;
stopping a bus clock on the secondary bus in response to the first signal so as to halt processing on devices coupled to the secondary bus;
allowing insertion and removal of a device from the secondary bus;
receiving a second signal indicating that a device has been inserted or removed;
restarting the bus clock on the secondary bus in response to the second signal;
reconfiguring the computer system for devices present on the secondary bus;
determining, in the secondary bus controller, whether a device is to be inserted or removed and setting a bit in the secondary bus controller indicating whether a device is to be inserted or removed; and
signalling, in response to the first signal, an interrupt routine in the host processor, said interrupt routine comprising the steps of;
determining, from the first signal and the bit, whether a device is to be removed or inserted;
determining, if a device is to be inserted, whether the device has been inserted into the secondary peripheral bus in response to the second signal;
setting, in the secondary peripheral bus controller, a bit indicating the secondary peripheral bus controller clock is to be started for the newly inserted device; and
setting in the secondary bus controller a bit indicating that the reset signal to the device inserted is to be deasserted.
1 Assignment
0 Petitions
Accused Products
Abstract
A secondary bus controller allows for hot insertion and ejection of devices from the secondary bus without ceasing operations or halting software in the host computer. When a device is to be inserted a signal is sent to the secondary bus controller. The secondary bus controller suspends operation of the secondary bus, placing devices on the secondary bus in stasis. An interrupt handler reconfigures the system for the newly inserted card once it has been inserted. Attempts to access devices on the secondary bus during the insertion process may be met with a retry signal until insertion is complete. The ejection process follows similar steps, isolating and suspending operations on the secondary bus and triggering an interrupt routine in the host processor to reconfigure the system. The host processor and primary busses, along with the secondary bus controller remain active throughout the insertion or ejection processes. Thus, applications running on the host computer need not be terminated during insertion or ejection. The present invention has particular application to network server computer systems.
-
Citations
18 Claims
-
1. A method for allowing insertion and removal of a device into an operational computer system without disrupting processing on the computer system, comprising the steps of:
-
providing a secondary bus for receiving devices to be inserted and ejected from the computer system; providing a secondary bus controller coupled to a primary bus in the computer system; receiving, in the secondary bus controller, a first signal indicating a device is to be inserted or removed; stopping a bus clock on the secondary bus in response to the first signal so as to halt processing on devices coupled to the secondary bus; allowing insertion and removal of a device from the secondary bus; receiving a second signal indicating that a device has been inserted or removed; restarting the bus clock on the secondary bus in response to the second signal; reconfiguring the computer system for devices present on the secondary bus; determining, in the secondary bus controller, whether a device is to be inserted or removed and setting a bit in the secondary bus controller indicating whether a device is to be inserted or removed; and signalling, in response to the first signal, an interrupt routine in the host processor, said interrupt routine comprising the steps of; determining, from the first signal and the bit, whether a device is to be removed or inserted; determining, if a device is to be inserted, whether the device has been inserted into the secondary peripheral bus in response to the second signal; setting, in the secondary peripheral bus controller, a bit indicating the secondary peripheral bus controller clock is to be started for the newly inserted device; and setting in the secondary bus controller a bit indicating that the reset signal to the device inserted is to be deasserted. - View Dependent Claims (2, 3, 4)
-
-
5. A method for allowing insertion and removal of a device into an operational computer system without disrupting processing on the computer system, comprising the steps of:
-
providing a secondary bus for receiving devices to be inserted and ejected from the computer system; providing a secondary bus controller coupled to a primary bus in the computer system; receiving, in the secondary bus controller, a first signal indicating a device is to be inserted or removed; stopping a bus clock on the secondary bus in response to the first signal so as to halt processing on devices coupled to the secondary bus; allowing insertion and removal of a device from the secondary bus; receiving a second signal indicating that a device has been inserted or removed; restarting the bus clock on the secondary bus in response to the second signal; reconfiguring the computer system for devices present on the secondary bus; and wherein said step of restarting the bus clock on the secondary bus comprises the steps of; asserting a reset signal to a newly inserted device on the secondary bus; restarting the bus clock to the newly inserted device substantially simultaneously with the assertion of the reset signal; deasserting the reset signal to the newly inserted device on the secondary bus; and restarting the bus clock to devices other than the newly inserted device on the secondary bus.
-
-
6. A method for allowing insertion and removal of a device into an operational computer system without disrupting processing on the computer system, comprising the steps of:
-
providing a secondary bus for receiving devices to be inserted and ejected from the computer system; providing a secondary bus controller coupled to a primary bus in the computer system; receiving, in the secondary bus controller, a first signal indicating a device is to be inserted or removed; stopping a bus clock on the secondary bus in response to the first signal so as to halt processing on devices coupled to the secondary bus; allowing insertion and removal of a device from the secondary bus; receiving a second signal indicating that a device has been inserted or removed; restarting the bus clock on the secondary bus in response to the second signal; reconfiguring the computer system for devices present on the secondary bus; and signalling, in response to the first signal, an interrupt routine in the host processor, said interrupt routine comprising the steps of; determining, from the first signal, whether a device is to be removed or inserted; and closing system resources accessing a device to be removed if a device is to be removed. - View Dependent Claims (7, 8)
-
-
9. A computer system comprising:
-
at least one host processor; a host bus, coupled to said at least one host processor, for transmitting data and address information to and from said at least one host processor; a system controller, coupled to said host bus, for interfacing said at least one host processor to at least one device; a primary bus, coupled to said system controller, for coupling said system controller to at least one device; a secondary bus controller, coupled to said primary bus and operating as a device on said primary bus, for interfacing at least one removable device to said at least one host processor; a secondary bus, coupled to said secondary bus controller, for coupling at least a removable device to said secondary bus controller; a connector, coupled to said secondary bus, for receiving and connecting at least one removable device to said secondary bus; removable device presence detection means, coupled to said secondary bus controller, for indicating presence of a removable device; an insertion request means, coupled to said secondary bus controller, for receiving an insertion request signal indicating a request to insert a device into said connector; an eject request means, coupled to said secondary bus controller, for receiving an removal request signal indicating a request to eject a device from said connector; an insert start means, coupled to said secondary bus controller, for receiving an insertion start signal indicating a device is being inserted into said connector; wherein said removable device presence detection means comprises a first and second power control signals coupled to said connector, for receiving a signal indicative of a power requirement of a removable device; and logic means, coupled to said removable device presence detection means and said insert start means, for combining signals from said removable device presence detection means and said insert start means and outputting a removable device presence signal to said secondary bus controller. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A secondary bus controller comprising:
-
first means for interfacing said bus controller with a primary bus interface so as to configure said secondary bus controller as a device on said primary bus interfaces; second means for interfacing said secondary bus controller with a secondary bus; and a secondary bus clock control means for controlling secondary bus clock signals to one or more removable devices on the secondary bus; a secondary bus reset control means for controlling secondary bus reset signals to one or more removable device on the secondary bus; and wherein said secondary bus clock signals are stopped during insertion and removal of a device on said secondary bus; and wherein a reset signal is asserted on said secondary bus reset control means to a newly inserted device when the device is inserted into the secondary bus; and wherein clock signals to the newly inserted device on the secondary bus are started substantially simultaneously with assertion of the reset signal to the newly inserted device. - View Dependent Claims (16)
-
-
17. A secondary bus controller comprising:
-
first means for interfacing said bus controller with a primary bus interface so as to configure said secondary bus controller as a device on said primary bus interface; second means for interfacing said secondary bus controller with a secondary bus; a secondary bus clock control means for controlling secondary bus clock signals to one or more removable devices on the secondary bus; a notification interrupt means, for coupling the secondary bus controller with a system controller and for transmitting an interrupt signal to the system controller when a device is inserted or removed from the secondary bus; an ejection request means for receiving a signal indicating a request to remove a device from the secondary bus; and an insert request means, for receiving a signal indicating a request to insert a device into the secondary bus. - View Dependent Claims (18)
-
Specification