Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus expansion or extension
Reexamination Certificate
2000-12-29
2004-01-13
Rinehart, Mark H. (Department: 2189)
Electrical computers and digital data processing systems: input/
Intrasystem connection
Bus expansion or extension
C710S302000, C710S303000, C710S304000
Reexamination Certificate
active
06678775
ABSTRACT:
CROSS-REFERENCE TO RELATED APPLICATIONS
Not applicable.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not applicable.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to a computer system with a hot pluggable bus. More particularly, the invention relates to a hot pluggable bus for which a user normally alerts the computer before removing a bus adapter. Still more particularly, the invention relates to a computer system that can accommodate the removal of a bus adapter before the user alerts the system that the adapter is about to be removed.
2. Background of the Invention
A personal computer system includes a number of components with specialized functions that cooperatively interact to produce the many effects available in modem computer systems. The ability of these various components to exchange data and other signals is vital to the successful operation of a computer system. Typically, components interact by reading or writing data or instructions to other components in the system.
Early computer systems typically included a processor (or CPU), random access memory (RAM), and certain peripheral devices such as a floppy drive, a keyboard and a display. These components typically were coupled together using a network of address, data and control lines, commonly referred to as a “bus.” As computer technology evolved, it became common to connect additional peripheral devices to the computer through ports (such as a parallel port or a serial port), or by including the peripheral device on the main system circuit board (or “motherboard”) and connecting it to the system bus.
The computer operates by having data flow through the system, with modification of the data occurring frequently. Traditionally, the CPU controlled most activities in the computer system. The CPU supervises data flow and is responsible for most of the high-level data modification in the computer. The CPU, therefore, is the “brain” of the system and receives signals from the peripheral devices, reads and writes data to memory, processes data, and generates signals controlling the peripheral devices.
Despite the importance of the processor, the performance of the computer system is determined only in part by the speed and efficiency of the processor. Other factors also affect system performance. One of the most critical factors is the bus that interconnects the various system components. Computers today typically have multiple buses. The size and clock speed of a bus dictate the maximum amount of data that can be transmitted between components. Early bus systems, such as the ISA (Industry Standard Architecture) bus, required that all components communicate through the CPU. The ISA bus, as the name implies, was a bus standard adopted by computer manufacturers to permit the manufacturers of peripheral devices to design devices that would be compatible with most computer systems.
Since the introduction of the ISA bus, computer technology has continued to evolve at a relatively rapid pace. New peripheral devices have been developed, and both processor speeds and the size of memory arrays have increased dramatically. In conjunction with these advances, designers have sought to increase the ability of the system bus to transfer more data at a faster speed. One way in which the system bus has been made more effective is to permit data to be exchanged in a computer system without the assistance of the CPU. To implement this design, however, a new bus protocol had to be developed. One of the first such buses that permitted peripheral devices to run master cycles independently of the CPU was the EISA (Extended Industry Standard Architecture) bus. The EISA bus enables various system components residing on the EISA bus to obtain mastership of the bus and to run cycles on the bus.
More recently, the Peripheral Component Interconnect (PCI) bus has become increasingly popular. Like the EISA bus, the PCI bus has bus master capabilities, and thus certain master components on the PCI bus may communicate directly with other PCI components by addressing read and write commands to these other components based on protocols defined in the PCI Specification that has been developed by the industry. Because of the bus mastering capabilities and other advantages of the PCI bus, many computer manufacturers now implement the PCI bus as the main system bus in the computer system.
The PCI bus standard has also evolved to provide for “hot plug” capability. Hot plug generally refers to being able to install or remove an expansion card from a computer while the computer is operating. PCI hot plug permits a PCI card in particular to be added to or removed from a PCI bus while the rest of the computer continues to operate. By contrast, before the advent of hot plug, a user wishing to replace an expansion card had to shut down the computer, remove the old card, install the new card, and then reboot the system—time consuming and inconvenient.
With a hot plug capability of a PCI bus and with the computer fully operational, a user can simply remove the old card and install a new card and not have to shut down and then reboot the computer. In accordance with the PCI bus hot plug specification, however, the user must alert the computer's software before removing a PCI card. This process generally entails the user notifying a hot plug service routine of the user's desire to remove a card from a particular slot. The service routine then uses various operating system functions to “quiesce” the software driver associated with the PCI card the user desires to remove. Quiescing means that all communications between the PCI card to be removed and the rest of the computer system are discontinued. In addition to directing the system not to initiate any new transactions to the PCI card to be removed, a reset signal is also asserted to the PCI device to prevent it from attempting to communicate with the rest of the system. The hot plug service routine then causes power to the slot to be turned off. At this point, the user can remove the PCI device.
These steps are generally reversed to add a card to a hot plug PCI bus. The user first installs the card in a vacant PCI slot and then notifies the hot plug service routine that a new card is present and should be turned on. The system responds by powering on the slot and permitting communications to occur to or from the newly installed PCI card.
Of particular note in the PCI hot plug implementation is that the user must notify the software when a card is being removed. This notification should occur before the user actually removes the card, not after. Of course, there generally is no physical impediment to prevent a user from removing a PCI card before alerting the software. Consequently, however, if a user was to remove a PCI card from a PCI hot plug capable bus with the computer's processor not being aware that the target PCI card is missing, the processor may improperly attempt to communicate with the missing card. In this case an error will occur. The attempted communication to the slot, now vacant, will not complete because no PCI card is present to respond to the attempted transaction. The logic that initiates the transaction will eventually time out (also referred to as a “master abort” event) when it determines that the target PCI device has not responded. By convention, if the attempted transaction is a read (e.g., the processor attempting to read a register on a PCI device), all logic Is will be returned to the processor as the requested data. Receiving all Is, the processor may process that data not realizing that the data is incorrect, thereby creating an error in system behavior.
One suggested solution to the problem of a user removing a PCI card without first alerting software is to use a PCI bus system error (SERR) signal in response to a master abort event. The logic that times out upon failing to detect the presence of the target PCI card asserts the SERR signal which causes the entire system to shut down. Although shuttin
Hewlett--Packard Development Company, L.P.
Huynh Kim T.
Rinehart Mark H.
LandOfFree
System enabling automatic error detection in response to... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System enabling automatic error detection in response to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System enabling automatic error detection in response to... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3238434