`Davis
`
`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.
`
`Appl. No.: 727,715
`Filed:
`Oct. 7, 1996
`
`Int. Cl.6 ............................... .. G06F 1/32; G06F 1/26
`US. Cl. .............................. .. 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
`
`U.S. PATENT DOCUMENTS
`
`5/1989 Herrig et al. .
`4,835,737
`5,167,024 11/1992 Smith et al. .
`5,204,964
`4/1993 Bowden, III et al. .
`5,230,074
`7/1993 Canova Jr., et al. .
`5,237,692
`8/1993 Raasch et al. .
`5,239,652
`8/1993 Seibert et al. .
`5,304,987
`4/1994 Brunson et al. ...................... .. 340/654
`5,319,751
`6/1994 Garney .................................. .. 395/200
`5,367,697 11/1994 Barlow et al. .
`5,379,437
`1/1995 (361111., etal..
`5,408,668
`4/1995 Tornai .
`5,410,712
`4/1995 Okuno .
`5,410,714
`4/1995 Yorimoto et al. .
`5,412,798
`5/1995 Garney .................................. .. 395/500
`5,440,748
`8/1995 Sekine et al. .
`5,467,469 11/1995 Saito et al. .
`5,475,271 12/1995 Shibasaki et al. .
`5,477,476 12/1995 Schanin et al. .
`5,486,726
`1/1996 Kim et al. ......................... .. 307/120
`5,491,804
`2/1996 Heth et al. ............................ .. 395/275
`5,501,534
`3/1996 Mizoguchi .
`5,504,909
`4/1996 Webster et al. ....................... .. 395/750
`5,511,013
`4/1996 Tokieda et al. .
`5,546,590
`8/1996 Pierce .................................... .. 395/750
`5,560,022
`9/1996 Dunstan et al.
`. 395/750
`5,560,024
`9/1996 Harper et al. ..
`. 395/750
`5,589,719 12/1996 Fiset ...................................... .. 307/131
`
`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 al. .......................... .. 395/750
`8/1997 Richman et al.
`395/828
`9/1997 Chan et al.
`395/282
`
`3/1998 Walsh et al. . . . . . . . .
`. . . . .. 395/750
`5/1998 HolZhammer et al. .......... .. 395/750.01
`5/1998 Pollard et al. ................... .. 395/750.05
`5/1998 Ramamurthy et al.
`. 395/750.01
`7/1998 Reneris ............................ .. 395/75001
`
`OTHER PUBLICATIONS
`“Miniature Card Speci?cation” Intel Corporation, Jul. 29,
`1996, Release 1.1.
`“Advanced Power Management” (APM), BIOS Interface
`Speci?cation, 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
`[57]
`ABSTRACT
`
`A system for managing power consumption of a computer
`by communicating power management events to a remov
`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
`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 con?gured 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
`
`RECEIVE POWER'DONN EVENT
`AT SWITCHING DEVICE
`
`OPERATE SWITCHING DEVICE
`IN OPEN POSITION
`
`RECEIVE DEVICE REMOVAL
`SIGNAL AT DEVICE
`CONTROLLER
`
`100
`
`102
`
`104
`
`SEND SYSTEM INTERRLIPT REQUEST
`FROM DEVICE CONTROLLER
`TO PROGRAMMABLE
`INTERRUP‘T CONTROLLER (PIC)
`
`SEND INTERRUPT FROM PIC
`10 PROCESSOR
`
`ISSUE CALL FROM PROCESSOR
`TO INTERRLJPT HANDLER FOR
`DEVICE CONTROLLER
`
`POLL DEVICE CONTROLLER
`
`SEND CURRENT EVENT
`INFORMATIO
`INTERRLIPT HANDLER TO
`SOCKET SERVICES LAYER
`
`SEND CURRENT EVENT
`INFORMATION FROM SOCKET
`SERVICES LAYER TO CARD
`SERVICES LAYER
`
`SUPPLY EVENT INFORMATION
`OM C
`E
`LAYER TO DEVICE DRIVER
`
`
`
`1 08
`
`112
`
`116
`
`BLACKBERRY Ex. 1005, page 1
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 1 of4
`
`5,862,393
`
`{1s
`
`v
`C0228
`
`8
`/
`
`{14
`
`I12
`
`I
`
`gCARD DETECT LINE (168 _ ‘
`
`DEvICE
`CONTROLLER
`
`GROUND
`
`19
`/
`
`> :
`
`V
`DEVICE
`
`CARD DETECT LINE {16b
`
`iZZb
`
`V00
`
`V
`
`V
`
`32
`/
`
`38
`f
`CARD & SOCKET
`PROCESSOR _ _ HANDLER _ _
`sERvICEs
`=
`LAYERS
`
`36
`f
`
`A
`
`A
`
`J34
`I
`(30
`
`
`
`25a (18 f
`
`
`
`23 16,8 f /
`
`
`
`13
`/
`DEVICE
`DRIVER
`
`A
`
`14
`/
`
`{
`
`PROGRAMMABLE
`
`L
`
`M
`
`=
`
`:
`
`L DEV'CE
`
`DEvICE
`SWITCHING
`CIBINEEOLLJEER ‘LCONTROLLER L DEvICE <
`28
`25b 26 16 b
`(24
`SOCKET
`POWER
`MANAGEMENT
`MODULE
`
`FIG.2
`
`BLACKBERRY Ex. 1005, page 2
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 2 of4
`
`5,862,393
`
`vCC
`22a
`2
`, 56' DRAIN
`
`231
`
`F
`TO OEv|CE
`CONTROLLER
`
`"14
`12
`:""‘,
`16'a; —+
`SOURCE/p36: _ 1 i
`: '
`l
`:
`1
`
`_|_ GND
`T5
`
`GATE
`
`
`
`p1,34,36,68 i= 4 __J___ GND
`
`I
`
`___|__ 6ND
`
`1
`:
`
`-
`i
`I
`:
`-
`'
`
`_L GNU
`T?
`
`v00
`22b
`
`[25b
`
`I
`
`_
`
`TO DEVICE
`CONTROLLER
`
`5
`
`_
`
`,
`
`.""".
`; ii :
`-______-
`OPTIONAL
`
`16'bl (p67:
`
`'
`i
`
`I : :
`
`CD CONTROL
`I
`*
`K
`26
`
`i
`*
`
`FIG.’
`
`BLACKBERRY Ex. 1005, page 3
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 3 014
`
`5,862,393
`
`T
`
`100
`
`102
`\
`
`104
`
`\
`
`RECEIVE POWER-DOWN EVENT
`AT SWITCHING DEVICE
`I
`OPERATE SWITCHING DEVICE
`IN OPEN POSITION
`I
`RECEIVE DEVICE REMOVAL
`SIGNAL AT DEVICE
`CONTROLLER
`I
`106
`\
`SEND SYSTEM INTERRUPT REQUEST
`FROM DEVICE CONTROLLER
`TO PROGRAMMABLE
`INTERRUPT CONTROLLER (PIC)
`I
`SEND INTERRUPT FROM PIC
`TO PROCESSOR
`I
`ISSUE CALL FROM PROCESSOR
`TO INTERRUPT HANDLER FOR
`DEVICE CONTROLLER
`I
`POLL DEVICE CONTROLLER
`
`108
`k
`
`110
`
`112
`I’
`
`|
`
`NO
`
`RUPT
`EVICE
`CONTROLLER
`YES
`SEND CURRENT EVENT
`INFORMATION FROM
`INTERRUPT HANDLER TO
`SOCKET SERVICES LAYER
`I
`SEND CURRENT EVENT
`INFORMATION FROM SOCKET
`SERVICES LAYER TO CARD
`SERVICES LAYER
`I
`SUPPLY EVENT INFORMATION
`FROM CARD SERVICES
`LAYER TO DEVICE DRIVER
`
`115
`/
`PROVIDE
`RESPONSE TO
`PROCESSOR
`
`114
`
`116
`’
`
`118
`
`@ FIG.4
`
`BLACKBERRY Ex. 1005, page 4
`
`
`
`U.S. Patent
`
`Jan. 19, 1999
`
`Sheet 4 of4
`
`5,862,393
`
`T
`
`200
`
`/
`
`202
`
`204
`\
`
`RECEIVE POWER-UP EVENT
`AT SWITCHING DEVICE
`I
`OPERATE SWITCHING DEVICE
`IN CLOSED POSITION
`I
`RECEIVE DEVICE INSERTION
`SIGNAL AT DEVICE
`CONTROLLER
`I
`206
`\
`SEND SYSTEM INTERRUPT REOuEsT
`FROM DEVICE CONTROLLER
`TO PROGRAMMABLE
`INTERRU PT CONTROLLER (PIC)
`I
`SEND INTERRUPT FROM PIC
`TO PROCESSOR
`I
`ISSUE CALL FROM PROCESSOR
`TO INTERRUPT HANDLER FOR
`DEVICE CONTROLLER
`I
`POLL DEVICE CONTROLLER
`
`208
`\
`
`210
`\.
`
`212
`l’
`
`I
`
`215
`K
`PROVIDE
`RESPONSE TO
`PROCESSOR
`
`SEND CURRENT EVENT
`INFORMATION FROM
`INTERRUPT HANDLER TO
`SOCKET SERVICES LAYER
`I
`SEND CURRENT EVENT
`INFORMATION FROM SOCKET
`SERVICES LAYER TO CARD
`SERVICES LAYER
`I
`' SUPPLY EVENT INFORMATION
`FROM CARD SERVICES
`LAYER TO DEVICE DRIVER
`I
`SUPPLY DEVICE CONFIGURATION
`INFORMATION FROM DEVICE
`DRIVER TO DEVICE
`
`214
`/
`
`216
`J
`
`218
`
`220
`\
`
`CE
`
`Fm
`
`BLACKBERRY Ex. 1005, page 5
`
`
`
`1
`SYSTEM FOR MANAGING POWER OF A
`COMPUTER WITH REMOVABLE DEVICES
`
`5,862,393
`
`FIELD OF THE INVENTION
`
`This present invention relates generally to a power man
`agement system for a computer, and more particularly
`relates to a system for managing the consumption of elec
`trical poWer by a computer employing removable devices
`requiring con?guration information in response to interrup
`tion of electrical poWer.
`
`BACKGROUND OF THE INVENTION
`
`PoWer consumption in a computer system or a data
`processing device presents a signi?cant design issue for
`hardWare and softWare developers in the computing indus
`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
`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
`served.
`A typical poWer management system is a computer moni
`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
`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
`inactivity, such as “after hours” or idle time poWer con
`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
`a default state or a random state based on the loss of
`con?guration information. It is often necessary to supply
`con?guration 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
`events to a device driver for a device affected by a poWer
`transition to support this transfer of device con?guration
`information.
`The need for recon?guring a device in response to a
`poWer management event has been addressed at the oper
`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
`eral devices of a computer that is compatible With the APM
`system, Which is de?ned by the APM BIOS interface
`speci?cation, Revision 1.1, September 1993, distributed by
`Intel Corporation and Microsoft Corporation. An APM
`driver can manage poWer levels via function calls to an APM
`softWare interface and an APM BIOS manages poWer in the
`background based on device activity. In this manner, the
`consumption of poWer by devices can be managed either by
`the system BIOS or by the operating system. Signi?cantly,
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`2
`a device driver must be APM-compatible to operate Within
`the APM system and to supply con?guration 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 speci?cation may fail to respond to a poWer
`management event, thereby resulting in the loss of device
`con?guration for the corresponding device.
`In vieW of the foregoing, there is a need for alternative
`mechanisms to achieve the desirable objective of poWer
`management of devices that use conventional device drivers,
`i.e., non-compatible APM system drivers. This need typi
`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
`computer system. Similar to a sequence of poWer manage
`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
`tional device drivers for this type of removable device,
`hoWever, generally are not compatible With the APM sys
`tem. These removable devices can lose device con?guration
`information in response to a poWer-doWn/poWer-up
`sequence in the absence of an appropriate poWer manage
`ment system. Indeed, if the poWer management event is not
`communicated to the device driver, the only Way to return a
`device that has lost its device con?guration 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
`insertion of a device to support a poWer management
`application and to advise a driver for a device about a poWer
`management event.
`
`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
`cating poWer management events to these device drivers.
`For example, a device can lose device con?guration infor
`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 recon?gure 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
`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
`device about the device removal operation, and can termi
`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
`controller about the insertion of the device, thereby prompt
`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 con?guration information
`to that device, as required.
`The present invention provides an inventive solution to
`poWer management by taking advantage of the knoWn
`
`BLACKBERRY Ex. 1005, page 6
`
`
`
`3
`characteristics of device removal and insertion signals to
`communicate power management events to a device driver
`loaded for operation With that device. ApoWer 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
`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
`out modi?cation 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 recon?gure the device With device con
`?guration information. Speci?cally, it is desirable to com
`municate con?guration information to a device via its device
`driver in response to restoring poWer. The present invention
`can notifying the appropriate device driver of a poWer
`management event and by supplying device con?guration
`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
`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
`device removal signal by communicating this poWer state
`change to a device driver for the device.
`Adevice 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
`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
`device is con?gured 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
`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
`ing the PCMCIA device from the PCMCIA socket.
`Similarly, the device insertion signal is normally generated
`in response to inserting the PCMCIA device into the PCM
`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
`and While the PCMCIA device 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
`removal signal. The device driver, responsive to the removal
`advisory signal, preserves device con?guration information
`
`4
`for the PCMCIA device. The PCMCIA device can lose its
`device con?guration in response to a poWer termination
`event.
`The device insertion signal is transmitted to the controller
`of the PCMCIA socket in response to another poWer man
`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
`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 con?gure the PCMCIA
`device by supplying device con?guration information to the
`PCMCIA device after electrical poWer is reapplied to the
`PCMCIA device.
`The device removal signal is generated in response to a
`poWer management event corresponding to interruption of
`electrical poWer to the PCMCIA device. Apair 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
`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 con?guration by sup
`plying device con?guration to the PCMCIA device.
`
`DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram of an interface for a conven
`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 ?oW 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 ?oW 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
`ing poWer consumed by a computer using a removable
`
`5,862,393
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`BLACKBERRY Ex. 1005, page 7
`
`
`
`5,862,393
`
`5
`device, such as a PCMCIA device or a PC Card device,
`Which can be connected to a computer or computer
`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-modi?ed
`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
`con?guration information in response to poWering doWn that
`device. To fully use that device once poWer is restored, it is
`necessary to recon?gure the device With device con?gura
`tion information. Speci?cally, it is desirable to communicate
`con?guration 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
`ing device con?guration information to a corresponding
`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
`agement (APM) system de?ned by the APM BIOS interface
`speci?cation prepared by Intel Corporation and Microsoft
`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
`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
`devices. These data structures impose a physical organiZa
`tion upon the collection of information, such as data bits,
`stored Within a memory storage device and represented by
`speci?c electrical or magnetic elements. These symbolic
`representations are the means used by those skilled in the art
`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
`ing to a desired result. These steps generally require manipu
`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
`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,
`?les, or the like. It should be kept in mind, hoWever, that
`these and similar terms should be associated With appropri
`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
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`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
`may prove advantageous to construct a specialiZed apparatus
`to perform the operations described herein by Way of a
`dedicated computer having a speci?ed 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 ?gures, 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
`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 (VCC) 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
`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
`de?ned 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,
`is preferably de?ned 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
`speci?cation 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
`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
`device controller 18 in response to detection of a device
`insertion event. Speci?cally, the device controller 18 can
`respond to a device insertion event by restoring poWer to the
`
`BLACKBERRY Ex. 1005, page 8
`
`
`
`5,862,393
`
`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 con?guration information betWeen the device driver
`and the device and is compatible With the standard speci?
`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.
`Speci?cally, 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
`sory lines 25a and 25b. A poWer management module 24,
`Which supports the poWer management function by control
`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
`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 ?eld 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
`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
`troller (PIC) 30 via a signal line 28. In turn, the PIC 30 can
`generate a system interrupt in response to the system inter
`rupt request. A processor 32 receives the system interrupt
`from the PIC 30 via a signal line 34. The system interrupt
`preferably has suf?cient priority to cause the processor to
`halt processing t