`Davis
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US005862393A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,862,393
`Jan. 19, 1999
`
`[54] SYSTEM FOR MANAGING POWER OF A
`COMPUTER WITH REMOVABLE DEVICES
`
`[75]
`
`Inventor: Brett Allen Davis, Duluth, Ga.
`
`[73] Assignee: LXE, Inc., Norcross, Ga.
`
`[21] Appl. No.: 727,715
`
`[22] Filed:
`
`Oct. 7, 1996
`
`Int. Cl.6
`•••••.•...•....•...•.•.•.•.•....• G06F 1/32; G06F 1/26
`[51]
`[52] U.S. CJ •................................ 395/750.01; 395/750.03;
`395/750.05; 395!750.06; 395/282
`[58] Field of Search ......................... 395!750.01, 750.02,
`395/750.05, 750.06, 282
`
`[56]
`
`References Cited
`
`5,606,704
`5,655,148
`5,671,368
`5,727,221
`5,754,869
`5,754,870
`5,758,171
`5,784,628
`
`2/1997 Pierce et a!. ............................ 395!750
`8/1997 Richman et a!. ....................... 395/828
`9/1997 Chan et a!. ............................. 395/282
`3/1998 Walsh et a!. ............................ 395/750
`5/1998 Holzhammer et a!. ............ 395/750.01
`5/1998 Pollard et a!. ..................... 395/750.05
`5/1998 Ramamurthy et a!. ............ 395/750.01
`7/1998 Reneris .............................. 395/750.01
`
`OTHER PUBLICATIONS
`
`"Miniature Card Specification" Intel Corporation, Jul. 29,
`1996, Release 1.1.
`"Advanced Power Management" (APM), BIOS Interface
`Specification, Intel Corporation and Microsoft Corporation,
`Sep. 1993, Revision 1.1.
`Primary Examiner-Meng-Ai T. An
`Assistant Examiner-Valerie Darbe
`Attorney, Agent, or Firm-Jones & Askew LLP
`
`U.S. PATENT DOCUMENTS
`
`[57]
`
`ABSTRACT
`
`5/1989 Herrig eta!. .
`4,835,737
`5,167,024 11/1992 Smith eta!..
`4/1993 Bowden, III et al ..
`5,204,964
`7/1993 Canova Jr., et a!. .
`5,230,074
`8/1993 Raasch eta!. .
`5,237,692
`8/1993 Seibert et a!. .
`5,239,652
`4/1994 Brunson et al . ........................ 340/654
`5,304,987
`6/1994 Gamey .................................... 395/200
`5,319,751
`5,367,697 11/1994 Barlow eta!..
`1/1995 Celi Jr., et a!. .
`5,379,437
`4/1995 Tomai.
`5,408,668
`4/1995 Okuno.
`5,410,712
`4/1995 Yorimoto et a!. .
`5,410,714
`5/1995 Gamey .................................... 395/500
`5,412,798
`8/1995 Sekine eta!. .
`5,440,748
`5,467,469 11/1995 Saito eta!. .
`5,475,271 12/1995 Shibasaki et a!. .
`5,477,476 12/1995 Schanin et a!. .
`1/1996 Kim eta!. ............................... 307/120
`5,486,726
`2/1996 Heth et al ............................... 395/275
`5,491,804
`3/1996 Mizoguchi.
`5,501,534
`4/1996 Webster et a!. ......................... 395!750
`5,504,909
`4/1996 Tokieda et al. .
`5,511,013
`8/1996 Pierce ...................................... 395/750
`5,546,590
`9/1996 Dunstan et a!.
`5,560,022
`························ 395/750
`9/1996 Harper et a!. ........................... 395/750
`5,560,024
`5,589,719 12/1996 Fiset ........................................ 307/131
`
`A system for managing power consumption of a computer
`by communicating power management events to a remov(cid:173)
`able device of the computer. A device removal signal is
`transmitted to a device controller for the removable device
`in response to a power management event and while the
`device is installed within a socket of the computer. This
`device removal signal can provide notice of a power state
`change for the device, such as the interruption of electrical
`power to that device. This power state change is communi(cid:173)
`cated by the device controller to a device driver in response
`to the device removal signal. Electrical power to the device
`is terminated in response to the power management event. A
`device insertion signal is transmitted to the device controller
`in response to another power management event and while
`the device remains installed within the socket. This device
`insertion signal provides notice of another state change for
`the device. Electrical power is reapplied to the device in
`response to this power management event. In addition, the
`device is configured by supplying device information from
`the device driver to the device in response to the device
`insertion signal and after electrical power is applied to the
`device.
`
`13 Claims, 4 Drawing Sheets
`
`EXHIBIT 1005
`IPR Petition for U.S. Patent No. 6,012,103
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 1 of 4
`
`5,862,393
`
`18 Vee22a
`
`14
`
`12
`
`8
`
`{
`
`CARD DETECT LINE 16a
`
`DEVICE
`CONTROLLER
`
`GROUND
`
`19
`
`DEVICE
`
`CARD DETECT LINE 16b
`
`Vee
`
`FIG.l
`
`36
`32
`t
`~-----~t
`PROCESSOR I-- HANDLER
`
`1+--to
`
`38
`
`L
`CARD & SOCKET
`SERVICES
`..___,
`LAYERS
`
`13
`_{_
`DEVICE
`DRIVER
`
`~34
`.---------L-----l...t_30--..
`
`t23
`t 18 12sa
`.4 SWITCHING
`DEVICE
`PROGRAMMABLE
`~~~~~~r~R ..,_ CONTROLLER ~ DEVICE
`
`14
`
`,
`( 16 a
`
`DEVICE
`
`28
`
`25b
`
`26 \6'b
`
`,/
`
`' - - -
`
`SOCKET
`
`POWER
`MANAGEMENT
`MODULE
`
`FIG.2
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 2 of 4
`
`5,862,393
`
`vee
`
`258 DRAIN
`
`'
`
`1
`
`TO DEVICE
`CONTROLLER
`
`GATE
`
`(
`12
`.---~
`16 a 1
`.------l--+--
`I
`I
`SOURCE p36 I
`
`14
`
`I
`I
`
`..
`
`l GND
`
`vee
`
`TO DEVICE
`CONTROLLER
`
`CD CONTROL
`
`26
`
`p1 ,34,36,68
`
`l GND
`
`.. ..J...__l---. GND
`
`.. ...
`
`I
`
`1
`
`I
`
`------
`..----..--...!.......:..--....;.-.. ..,,. -4-l ---.l GND
`
`16'b
`( p67
`
`I
`
`------
`OPTIONAL
`
`I
`I
`l--- _I
`
`FIG.J
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 3 of 4
`
`5,862,393
`
`RECEIVE POWER-DOWN EVENT
`AT SWITCHING DEVICE
`
`OPERATE SWITCHING DEVICE
`IN OPEN POSITION
`
`RECEIVE DEVICE REMOVAL
`SIGNAL AT DEVICE
`CONTROLLER
`~--------------------~--------------------~W6
`SEND SYSTEM INTERRUPT REQUEST
`FROM DEVICE CONTROLLER
`TO PROGRAMMABLE
`INTERRUPT CONTROLLER (PIC)
`
`SEND INTERRUPT FROM PIC
`TO PROCESSOR
`
`ISSUE CALL FROM PROCESSOR
`TO INTERRUPT HANDLER FOR
`DEVICE CONTROLLER
`
`POLL DEVICE CONTROLLER
`113
`
`115
`
`PROVIDE
`RESPONSE TO
`PROCESSOR
`
`YES
`SEND CURRENT EVENT
`INFORMATION FROM
`INTERRUPT HANDLER TO
`SOCKET SERVICES LAYER
`
`SEND CURRENT EVENT
`INFORMATION FROM SOCKET
`SERVICES LAYER TO CARD
`SERVICES LAYER
`r---------------------L---::'-----~------, 118
`SUPPLY EVENT INFORMATION
`FROM CARD SERVICES
`LAYER TO DEVICE DRIVER
`
`FIG.4
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 4 of 4
`
`5,862,393
`
`YES
`SEND CURRENT EVENT
`INFORMATION FROM
`INTERRUPT HANDLER TO
`SOCKET SERVICES LAYER
`
`SEND CURRENT EVENT
`INFORMATION FROM SOCKET
`SERVICES LAYER TO CARD
`SERVICES LAYER
`
`SUPPLY EVENT INFORMATION
`FROM CARD SERVICES
`LAYER TO DEVICE DRIVER
`
`SUPPLY DEVICE CONFIGURATION
`INFORMATION FROM DEVICE
`DRIVER TO DEVICE
`
`215
`PROVIDE
`RESPONSE TO
`PROCESSOR
`
`FIG.~
`
`
`
`5,862,393
`
`1
`SYSTEM FOR MANAGING POWER OF A
`COMPUTER WITH REMOVABLE DEVICES
`
`FIELD OF THE INVENTION
`
`This present invention relates generally to a power man(cid:173)
`agement system for a computer, and more particularly
`relates to a system for managing the consumption of elec(cid:173)
`trical power by a computer employing removable devices
`requiring configuration information in response to interrup(cid:173)
`tion of electrical power.
`
`BACKGROUND OF THE INVENTION
`
`5
`
`2
`a device driver must be APM-compatible to operate within
`the APM system and to supply configuration information to
`its device in response to a power management event. In other
`words, a conventional device driver that does not conform to
`the APM system specification may fail to respond to a power
`management event, thereby resulting in the loss of device
`configuration for the corresponding device.
`In view of the foregoing, there is a need for alternative
`mechanisms to achieve the desirable objective of power
`10 management of devices that use conventional device drivers,
`i.e., non-compatible APM system drivers. This need typi(cid:173)
`cally arises in computer systems using removable devices,
`such as PCMCIA or PC Card devices that can be easily
`connected or removed from a compatible socket of the
`15 computer system. Similar to a sequence of power manage(cid:173)
`ment events, power for a removable device is typically
`interrupted in response to a device removal event, and
`restored in response to a device insertion event. Conven(cid:173)
`tional device drivers for this type of removable device,
`20 however, generally are not compatible with the APM sys(cid:173)
`tem. These removable devices can lose device configuration
`information in response to a power-down/power-up
`sequence in the absence of an appropriate power manage(cid:173)
`ment system. Indeed, if the power management event is not
`25 communicated to the device driver, the only way to return a
`device that has lost its device configuration to a useful state
`is to restart or re-boot the computer system. The present
`invention solves these issues by using the device removal
`and insertion signals normally generated by the removal or
`30 insertion of a device to support a power management
`application and to advise a driver for a device about a power
`management event.
`
`Power consumption in a computer system or a data
`processing device presents a significant design issue for
`hardware and software developers in the computing indus(cid:173)
`try. The popularity of so-called lap-top or notebook portable
`computers, which typically can operate on battery power,
`has emphasized the need for a power management system
`that reduces the use of electrical power. A power manage(cid:173)
`ment system typically operates to conserve electrical power
`consumption by reducing power requirements in response to
`a detected lack of activity by a computer or its devices. By
`reducing power consumption when a computer or its devices
`are not in use, the cost for a user to power a computer is
`reduced and electrical power generation resources are con(cid:173)
`served.
`A typical power management system is a computer moni(cid:173)
`toring power-conservation system that detects activity at the
`computer by monitoring for computer input activity. The
`computer can enter a reduced power state upon detection of
`inactivity for a predetermined time period. For example, the
`computer can enter a reduced power state upon detection of
`a period that the user fails to input data, thereby resulting in
`the powering down of selected computer devices. The 35
`computer can resume normal operation by restoring power
`to required devices in response to activity by the user, such
`as keyboard or mouse input. It will be appreciated that this
`type of power management system effectively reduces
`power consumption by the computer during long intervals of 40
`inactivity, such as "after hours" or idle time power con(cid:173)
`sumption by a computer in a business or home environment.
`A power management event typically comprises either a
`power-down or power-up event. A sequence of power-down
`and power-up events can cause a computer device to enter 45
`a default state or a random state based on the loss of
`configuration information. It is often necessary to supply
`configuration information to a device via its device driver in
`response to a sequence of power-down and power-up events.
`This suggests a need for communicating power management 50
`events to a device driver for a device affected by a power
`transition to support this transfer of device configuration
`information.
`The need for reconfiguring a device in response to a
`power management event has been addressed at the oper(cid:173)
`ating system-level by the use of an "Advanced Power
`Management" (APM)-aware device driver. These drivers
`provide a power management software interface for periph(cid:173)
`eral devices of a computer that is compatible with the APM
`system, which is defined by the APM BIOS interface
`specification, Revision 1.1, September 1993, distributed by
`Intel Corporation and Microsoft Corporation. An APM
`driver can manage power levels via function calls to anAPM
`software interface and an APM BIOS manages power in the
`background based on device activity. In this manner, the 65
`consumption of power by devices can be managed either by
`the system BIOS or by the operating system. Significantly,
`
`SUMMARY OF THE INVENTION
`The management of electrical power consumed by
`devices that use conventional device drivers presents a
`challenging design task because of the need for communi(cid:173)
`cating power management events to these device drivers.
`For example, a device can lose device configuration infor(cid:173)
`mation in response to a power-down/power-up sequence if
`the driver is not advised of power management events
`because the driver is unaware of the need to reconfigure the
`device. Although prior solutions have focused on the use of
`an "intelligent" power management system implemented as
`part of an operating system, conventional device drivers are
`generally are not compatible with this operating system
`solution.
`For removable devices, a device removal signal is nor(cid:173)
`mally generated in response to removing a device from its
`corresponding socket, i.e., a device removal event. The
`device removal signal serves to advise the device controller,
`which supports operation of the device within a computer,
`about the disconnection of the device from its socket. In
`response, the controller can notify the device driver for the
`55 device about the device removal operation, and can termi(cid:173)
`nate electrical power distributed to the socket. Likewise, a
`device insertion signal is normally generated in response to
`inserting a device into a socket, i.e., a device insertion event.
`The device insertion signal serves to advise the device
`60 controller about the insertion of the device, thereby prompt(cid:173)
`ing the distribution of electrical power to the socket for that
`device. The controller also can advise the device driver for
`that device about the insertion operation, thereby prompting
`the device driver to supply device configuration information
`to that device, as required.
`The present invention provides an inventive solution to
`power management by taking advantage of the known
`
`
`
`5,862,393
`
`3
`characteristics of device removal and insertion signals to
`communicate power management events to a device driver
`loaded for operation with that device. A power management
`application can be achieved by manipulating the use of these
`signals while a device remains properly connected to a
`socket. A device removal signal can be used to prompt a
`device controller to advise a device driver about a power(cid:173)
`down event, and a device insertion signal can be used to
`prompt the device controller to advise the device driver
`about a power-up event. This supports a power management
`system that uses conventional device drivers, which are
`readily available for use with corresponding devices, with(cid:173)
`out modification or revision of these drivers.
`To achieve the desired power management function, it is
`often necessary to cause a removable device to enter a
`reduced power state when a device is inactive or placed in
`the idle state. To fully use that device once power is restored,
`it is necessary to reconfigure the device with device con(cid:173)
`figuration information. Specifically, it is desirable to com(cid:173)
`municate configuration information to a device via its device 20
`driver in response to restoring power. The present invention
`can notifying the appropriate device driver of a power
`management event and by supplying device configuration
`information to a corresponding device in response to the
`restoration of power.
`For the present invention, a device removal signal can be
`transmitted to a device controller for the removable device
`in response to a power management event and while the
`device is installed within a socket of the computer. A device
`removal signal is normally generated for a device removal 30
`event, thereby prompting the interruption of power to the
`corresponding device. In response to this "apparent" device
`removal event, electrical power is terminated for the socket
`associated with the removable device, and a power-down
`event is achieved. The device controller responds to the 35
`device removal signal by communicating this power state
`change to a device driver for the device.
`A device insertion signal can be transmitted to the device
`controller in response to another power management event
`and while the device remains installed within the socket. A 40
`device insertion signal is normally generated for a device
`insertion event, thereby prompting the restoration of power
`to the corresponding device. In response to this "apparent"
`device insertion event, electrical power is reapplied to the
`device, and a power-up event is achieved. In addition, the 45
`device is configured by supplying device information from
`the device driver to the device in response to the device
`insertion signal and after electrical power is applied to the
`device.
`More particularly described, the present invention can 50
`support a system for managing electrical power distributed
`to a PCMCIA device compatible with a corresponding
`socket or receptacle of a computer system. The device
`removal signal is normally generated in response to remov(cid:173)
`ing the PCMCIA device from the PCMCIA socket. 55
`Similarly, the device insertion signal is normally generated
`in response to inserting the PCMCIA device into the PCM(cid:173)
`CIA socket. For this aspect of the present invention, the
`device removal signal is transmitted to a controller of the
`PCMCIA socket in response to a power management event 60
`and while the PCMCIAdevice is installed with the PCMCIA
`socket. This effectively provides an indication that power
`will be removed from the PCMCIA device. A removal
`advisory signal, is transmitted from the controller to a device
`driver for the PCMCIA device in response to the device 65
`removal signal. The device driver, responsive to the removal
`advisory signal, preserves device configuration information
`
`4
`for the PCMCIA device. The PCMCIA device can lose its
`device configuration in response to a power termination
`event.
`The device insertion signal is transmitted to the controller
`5 of the PCMCIA socket in response to another power man(cid:173)
`agement event and while the PCMCIA device remains
`installed with the PCMCIA socket. The device insertion
`signal effectively provides an indication that power will be
`applied to the PCMCIA device. An insertion advisory signal
`10 is transmitted from the controller to the device driver for the
`PCMCIA device in response to the device insertion signal.
`This prompts the device driver to configure the PCMCIA
`device by supplying device configuration information to the
`PCMCIA device after electrical power is reapplied to the
`15 PCMCIA device.
`The device removal signal is generated in response to a
`power management event corresponding to interruption of
`electrical power to the PCMCIAdevice. A pair of card detect
`lines, connected between the controller and the PCMCIA
`device, are normally set to a logical low level in response to
`insertion of the PCMCIA device into the socket and to a
`logical high level in response to removal of the PCMCIA
`device from the socket. By opening one of the card detect
`lines while the PCMCIA device remains connected to the
`25 socket, the logical low level signal is interrupted and the
`controller instead receives a logical high level signal.
`Although the device remains installed within the socket, the
`controller treats this logical high level as a device removal
`signal, and responds by communicating with the device
`driver for the PCMCIA device. In this manner, the driver is
`advised of a power-down event by the use of the conven-
`tional communications arising between a device controller
`and device driver for a device removal event.
`The device insertion signal is generated in response to a
`power management event corresponding to the restoration of
`electrical power to the PCMCIA device. By restoring the
`signal path between the device and the device controller,
`typically by reconnecting the signal carried by the card
`detect lines to the controller, the logical low level is again
`applied to the controller because the PCMCIA device
`remains connected to the socket. The controller treats this
`transition from logical high level to logical low level as a
`device insertion signal, and responds by communicating
`with the device driver for the PCMCIA device. In this
`manner, the driver is advised of a power-up event based on
`the use of the conventional communications arising between
`a device controller and device driver for a device insertion
`event. The driver can restore device configuration by sup(cid:173)
`plying device configuration to the PCMCIA device.
`
`DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram of an interface for a conven(cid:173)
`tional removable device of a system.
`FIG. 2 is a block diagram showing the components for an
`embodiment of the present invention.
`FIG. 3 is a schematic illustrating the circuitry for the
`preferred embodiment of the present invention.
`FIG. 4 is a logical flow diagram illustrating the steps of a
`method for managing electrical power of a removable device
`for a computer in response to a power-down event.
`FIG. 5 is a logical flow diagram illustrating the steps for
`a method for managing electrical power removable device
`for a computer in response to a power-up event.
`
`DETAILED DESCRIPTION
`The present invention is directed to a system for manag(cid:173)
`ing power consumed by a computer using a removable
`
`
`
`5,862,393
`
`10
`
`5
`device, such as a PCMCIA device or a PC Card device,
`which can be connected to a computer or computer(cid:173)
`implemented system via a socket or receptacle. The present
`invention provides the advantage of supporting a power
`management system for a computer that uses conventional
`device drivers, rather than power management-modified
`drivers, to communicate with the with the removable
`devices of the computer system. This advantage is achieved
`by using the known signals, normally generated in response
`to a device insertion or device removal event, for power
`management rather than for conventional device and socket
`communications.
`To achieve the desired power management function, it is
`often necessary to cause a removable device to enter a
`reduced power state when a device is inactive or placed in
`the idle state. However, a device will often lose its device
`configuration information in response to powering down that
`device. To fully use that device once power is restored, it is
`necessary to reconfigure the device with device configura(cid:173)
`tion information. Specifically, it is desirable to communicate 20
`configuration information to a device via its device driver in
`response to restoring power. The present invention provides
`a solution to this problem by notifying the appropriate
`device driver of a power management event and by supply(cid:173)
`ing device configuration information to a corresponding 25
`device in response to the restoration of power. This solution
`is achieved without the need for obtaining a device driver or
`a BIOS that is compatible with the advanced power man(cid:173)
`agement (APM) system defined by the APM BIOS interface
`specification prepared by Intel Corporation and Microsoft 30
`Corporation.
`The detailed description which follows is represented
`largely in terms of processes and symbolic representations
`of operations by conventional computer components,
`including a processing unit or processor, memory storage 35
`devices, peripheral devices, and input devices, such as a
`mouse or keyboard. The processes and operations performed
`by the computer include the manipulation of electrical
`signals by a processor, and the maintenance of these signals
`with data structures resident in one or more memory storage 40
`devices. These data structures impose a physical organiza(cid:173)
`tion upon the collection of information, such as data bits,
`stored within a memory storage device and represented by
`specific electrical or magnetic elements. These symbolic
`representations are the means used by those skilled in the art 45
`of computer programming and computer architecture to
`most effectively convey teachings and discoveries to others
`skilled in the art.
`For the purposes of this discussion, a process is generally
`viewed as a sequence of computer-implemented steps lead(cid:173)
`ing to a desired result. These steps generally require manipu(cid:173)
`lations of physical quantities. Usually, though not
`necessarily, these quantities take the form of electrical,
`magnetic, or optical signals capable of being stored,
`transferred, combined, compared, copied, or otherwise 55
`manipulated. It is conventional for those skilled in the art to
`refer to the signals as bits, bytes, values, elements, symbols,
`characters, instructions, commands, records, object, images,
`files, or the like. It should be kept in mind, however, that
`these and similar terms should be associated with appropri(cid:173)
`ate physical quantities for computer operations, and that
`these terms are merely conventional labels applied to physi-
`cal quantities that exist within and during operation of the
`computer.
`In addition, it should be understood that the processes,
`programs, layers, routines, and devices described herein are
`not limited to any particular type of computer, nor are they
`
`6
`related or limited to any particular computer architecture.
`Rather, various types of general purpose computing
`machines may be used with program modules constructed in
`accordance with the teachings described herein. Similarly, it
`5 may prove advantageous to construct a specialized apparatus
`to perform the operations described herein by way of a
`dedicated computer having a specified architecture with
`hard-wired logic or program stored in non-volatile memory,
`such as read only memory (ROM).
`Referring now to the drawings in which like numerals
`represent like elements throughout the several figures, the
`present invention and the preferred operating environment
`will be described. FIG. 1 is a block diagram that illustrates
`an interface system for connecting a removable device to a
`15 socket of a computing system. Turning now to FIG. 1, a
`device 12, such as a peripheral board or "card", is connected
`to a computer 8 via a socket 14. Once connected, a pair of
`card detect lines 16a and 16b connect the device 12 to a
`device controller 18. In addition, a ground path 19 extends
`between the ground potential of the device 12 and to the card
`controller 18. Pull-up resistors 22a and 22b are located at the
`controller-side of the card detect lines 16a and 16b. Each
`pull-up resistor 22a and 22b is connected between a power
`source (V cc) and a card detect line, thereby placing a logical
`high level on the card detect line when a device 12 is not
`connected to the socket 14. Although the pull-up resistors
`22a and 22b are shown in FIG. 1 as discrete resistive
`components, those skilled in the art will appreciate that the
`pull-up resistors can be implemented as devices internal to
`the device controller 18. A ground potential is located at the
`device side of the card detect liner 16a and 16b, thereby
`placing a logical low level on both card detect lines when the
`device 12 is properly connected to the socket 14. In response
`to connecting the device 12 to the socket 14, the logical
`high-level signal present on each card detect line 16a and
`16b transitions to a logical low level.
`The state of the card detect lines 16a and 16b can be used
`by the device controller 18 to determine if a device 12 is
`connected to the socket 14. The device controller 18 deter(cid:173)
`mines that a device 12 is connected to the socket 14 when
`both card detect lines 16a and 16b transition from the logical
`high level to the logical low level. In contrast, in the event
`that one of the card detect lines 16a and 16b transitions from
`the logical low level to the logical high level, then the device
`controller 18 determines that a device 12 has been removed
`from the socket 14. In summary, a device insertion event is
`defined by a particular state for both of the card detect lines
`16a and 16b, preferably each card detect line carrying a
`logical low level signal. A device removal event, however,
`50 is preferably defined by one of the card detect lines 16a and
`16b transitioning to the logical high level. Those skilled in
`the art will appreciate that the removable device interface
`system described above is compatible with the standard
`specification for PCMCIA or PC Card devices.
`The device controller 18 is responsible for controlling the
`operations of the device 12 with the computer system 8. In
`response to determining whether the device 12 is connected
`to the socket 14, the controller 18 can communicate this
`information to appropriate components of the computing
`60 system 8, including each device driver loaded for operation
`with the device 12. The device controller 18 also can
`terminate the distribution of electrical power to the socket
`14, thereby interrupting the passage of electrical power at
`this receptacle. Similar operations can be conducted by the
`65 device controller 18 in response to detection of a device
`insertion event. Specifically, the device controller 18 can
`respond to a device insertion event by restoring power to the
`
`
`
`5,862,393
`
`10
`
`20
`
`7
`socket 14 and by advising an assigned driver about the
`device insertion event. This communication between the
`controller 18 and the device driver for the device affected by
`the removal/insertion sequence supports the exchange of
`device configuration information between the device driver 5
`and the device and is compatible with the standard specifi(cid:173)
`cation for PCMCIA and PC Card devices.
`FIG. 2 is a block diagram illustrating the components for
`an embodiment of the present invention. Referring now to
`FIG. 2, a switching device 23 is connected between the
`device 12 (via the socket 14) and the device controller 18.
`Specifically, the switching device 23 is connected to the
`socket 14 (and, if inserted, the device 12) by the card detect
`lines 16a' and 16b'. In addition, the switching device 23 is
`connected to the device controller 18 via the system advi(cid:173)
`sory lines 25a and 25b. A power management module 24,
`which supports the power management function by control(cid:173)
`ling the power states of the computer and its devices,
`communicates with the switching device 23 via a control
`line 26. The control line 26 carries control signals output by
`the power management module 24 for controlling the oper(cid:173)
`ating state of the switching device 23.
`The switching device 23 can operate in the open state in
`response to a particular control signal from the power
`management module 24, thereby breaking a signal path
`between the card detect lines 16a' and 16b' and system
`advisory lines 25a and 25b. In the alternative, the switching
`device 23 can operate in the closed state in response to
`another control signal to maintain a signal connection
`between the card detect lines 16a' and 16b' and the system
`advisory line 25a and 25b. It will be appreciated that the
`switching device 23 can be implemented by an electronic
`switch, typically a field effect transistor (FET) or a bipolar
`transistor. Other types of electronic switches, however, can
`be used to implement the switching device 23, as is known 35
`in the art.
`In response to the signals carried by the system advisory
`lines 25a and 25b, the device controller 18 can output a
`system interrupt request to a programmable interrupt con(cid:173)
`troller (PIC) 30 via a signal line 28. In turn, the PIC 30 can
`generate a system interrupt in response to the system inter(cid:173)
`rupt request. A processor 32 receives the system interrupt
`from the PIC 30 via a signal line 34. The system interrupt
`preferably has sufficient priority to cause the processor to
`halt processing tasks having less priority and to promptly
`respond to the system interrupt on the signal line 34. The
`system interrupt request on signal line 28 and the corre(cid:173)
`sponding system interrupt on signal line 34 can be generated
`in response to signals on the system advisory lines 25a and
`25b that represent a device insertion event or a device 50
`removal event.
`The processor 32 responds to the system interrupt, which
`is associated with the system interrupt request generated by
`the device controller 18, by communicating with a handler
`36 for the device controller 18. Typically, the handler 36 is 55
`implemented as an interrupt handler for the device controller
`18. In response to a call from the processor 32, this interrupt
`handler can poll one or more