throbber
[54]
`
`[75]
`
`[73]
`
`[21]
`
`{22]
`
`[63]
`
`[51]
`[52]
`
`[58]
`
`[56]
`
`United States Patent 9
`5,038,320
`Aug. 6, 1991
`Date of Patent:
`Heathet al.
`[45]
`
`Patent Number:
`
`(11)
`
`COMPUTER SYSTEM WITH AUTOMATIC
`INITIALIZATION OF PLUGGABLE OPTION
`CARDS
`
`3508648
`50-120935
`
`9/1986 Fed. Rep. of Germany .
`9/1976 Japan .
`(List continued on next page.)
`
`Inventors: Chester A. Heath; John K. Langgood,
`,
`both of Boca Raton, Fla., Ronald E.
`Valli, Pittsburgh, Pa.
`International Business Machines
`Corp., Armonk, N.Y.
`296,387
`
`Assignee:
`
`Appl. No.:
`Filed:
`
`Jan, 6, 1989
`
`Related U.S. Application Data
`Continuation of Ser. No. 21,391, Mar. 13, 1987, aban-
`doned.
`
`Int. CLS oie GO6F 13/00; GO6F 7/04
`WLS. Ch. eects scnseerneennes 364/900; 364/948.5;
`364/944.61; 364/975.2; 364/976.4; 364/945;
`364/929.5; 364/929.2; 371/111
`Field of Search ... 364/200 MS File, 900 MS File;
`340/825.07, 825.06, 825.52, 825.06; 371/11.1,
`11.2, 11.3, 66, 7
`
`References Cited
`
`3,480,914
`3,510,843
`3,573,741
`3,818,447
`4,003,033
`4,015,244
`
`U.S. PATENT DOCUMENTS
`11/1969
`5/1970
`4/1971
`6/1974
`1/1977
`3/1977
`
`Schlaeppi oo... cece 364/200
`
`Bennett .....
`.. 364/200
`
`Gavril ...
`«- 364/200
`Craft ......
`- 340/172.5
`
`O'Keefe....
`« 364/200
`SIMPSON oo. ee eeeceeeeeteeteteeees 364/200
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`0041406
`9/1981
`0087368
`8/1983
`0121331
`3/1984
`0121381
`10/1984
`0136178
`4/1985
`0179981
`6/1985
`0171073
`2/1986
`0182044
`5/1986
`0200198
`11/1986
`
`European Pat. Off.
`European Pat. Off.
`European Pat. Off.
`European Pat. Off.
`European Pat. Off.
`European Pat. Off.
`European Pat. Off.
`European Pat. Off.
`European Pat. Off.
`
`.
`.
`.
`.
`.
`.
`.
`.
`.
`
`OTHER PUBLICATIONS
`
`IBM TDB vol. 20, No. 7, Dec. 1977, Input/Output
`Device Address Recognition Mechanism.
`(List continued on next page.)
`
`Primary Examiner—Gareth D. Shaw
`Assistant Examiner—Paul Kulik
`Attorney, Agent, or Firm—Winfield J. Brown, Jr.;
`Robert Lieber
`
`ABSTRACT
`[57]
`A data processing system includes a planar board hav-
`ing a central processing unit (CPU), a main memory
`unit, and input/output (I/O) sockets or slots, each
`adapted to receive a selected one ofa plurality of differ-
`ent and/or similar option cards. each card contains (or
`is connected to) and controls a respective peripheral
`device; and each card is pre-wired with an ID value
`correspondingto its card type. Software programmable
`option registers on each card store parameters such as
`designated default (or alternate) address information,
`priority levels, and other system resource parameters. A
`setup routine, during initial power-on, retrieves and
`stores the appropriate parameters in the I/O cards and
`also in slot positions in main memory, one position being
`assigned to each slot on the board. Eachslot positionis
`adapted to hold the parameters associated with the card
`inserted in its respective slot and the card ID value.
`That portion of main memory containing the slot posi-
`tions is adapted to maintain the parameter and ID infor-
`mation by meansof battery power when system power
`fails or is disconnected, i.e., a nonvolatile memory por-
`tion. Subsequent power-on routines are simplified by
`merely transferring parameters from the table to the
`card option registers if the status ofall the slots has not
`changed since the last power-down, system reset, or
`channelreset.
`
`POSTXPOWER ON SELF TEST) SETUP
`
`18 Claims, 7 Drawing Sheets
`
`
`
`RESET CHAWMEL
`
`FETCH CARD (0S
`IM SEQUENCE
`
`
`
`
`
`
`
`
`
` j IF ALL IDS MATCH TRANSFER
`ID HiSRATCH :
`
`PARAMETER (NFO FROM SIT
`INVOGE INITIALIZATION
`
`
`POSITIONS TO RESPECTIVE
`SETUP PROGRAN
`REGISTERS21
`
`
`{COMPARE EACH 10 VALUE WITH
`;
`ID VALUE IN RESPECTIVE
`SLOT PGSITION
`
`OLYMPUS EX. 1019 - 1/16
`
`OLYMPUS EX. 1019 - 1/16
`
`

`

`5,038,320
`
`Page 2
`
`55-56235
`56-46384
`2101370
`2137382
`2166893
`2175716
`
`4/1980
`10/1982
`1/1983
`10/1984
`5/1986
`12/1986
`
`Japan .
`Japan .
`United Kingdom .
`United Kingdom .
`United Kingdom .
`United Kingdom .
`
`OTHER PUBLICATIONS
`
`IBM TDBvol. 20, No. 8, Jan. 1978, Initial Micropro-
`gram Load by Blocks Via Cycle Steal.
`IBM TDB vol. 22, No. 2, Jul., 1979, Even/Odd Ad-
`dresses to Allow Device Adapter Sharing by More
`Than One Processor.
`IBM TDBvol. 22, No. 5, Oct. 1979, Satellite Station
`Address Assignment Method.
`.
`IBM TDB vol. 22, No. 10, Mar., 1980, Automatic Mod-
`ule Detection.
`IBM TDBvol. 23, No. 8, Jan., 1981, Dynamic Device
`Address Assignment Mechanism.
`Electronic Design, Sep. 3, 1981, pp. 141-156, Several
`Articles, “Functional Architecture Threatens Centra:
`CPUs”, etc.
`Paper in Euromicro, Input/Output Control 6f IBM
`System/370 Model 125 through Dedicated Input/Out-
`put Processors, by Assmuthet al., pp. 24-40.
`Technical Disclosure Bulletin (IBM) vol. 27, No. LE
`“Automatic Domain Configuration Mechanism for i
`Multi-Device I/O Controller”.
`Wescon Technical Paper Oct. 30-Nov. 2, 1984, “A
`Standard Protocol for Host Computer-Peripheral In
`terface Allows Upgrading to the Latest Mass Storag:
`Devices”.
`Technical Disclosure Bulletin (IBM) vol. 27, No. 2, Jul
`1984 “Input/Output Channel Address Assignmen
`Mechanism”.
`JP Abstract vol. 10, No. 256 (P-493) (23312) Sep. 2
`1986.
`JP Abstract vol. 9, No. 239 (P-391) (1962) Sep. 25
`1985.
`JP Abstract vol. 9, vol. 9, No. 190 (P-378) (1913) Aug
`7, 1985.
`EDN Magazine vol. 26 (1981) Feb., No. 3, Boston, MA
`New Electronics 19(1986) Jul., No. 14, London, Grea
`Britain.
`vol. 22, No. 3, Aug. 1979, IBM Technical Disclosur:
`Bulletin, Programmable Identification for I/O Device
`J. M. McVey.
`I Jun. 1973, IBM Technical Disclosur
`vol. 16, No.
`Bulletin, Program Controlled 1/O Address Assignment
`L. J. Rosenberg.
`
`OLYMPUS EX.1019 - 2/16
`
`I U
`
`.S. PATENT DOCUMENTS
`5/1977
`Kaufman co... 364/200
`Moorchead .
`5/1977
`1/1978
`Calle et ab. cccscecenee 364/200
`
`2/1978
`FOK vecceecereteces
`wee. 364/200
`5/1979
`Mitchell, Jr.
`... 364/200
`
`12/1979
`Taddei.......
`w. 364/200
`3/1980
`Chesley ..
`.. 364/200
`11/1980
`Rado......
`»» 364/200
`2/1981
`Saal .......
`.. 340/147 R
`2/1981
`Bellamy .
`». 364/200
`3/1981
`Busby.....
`we 364/200
`5/1981
`Subrizi
`...
`.. 364/200
`10/1981
`
`a. 364/900
`Struger......
`12/1981
`Panepinto.........
`.- 365/230
`
`2/1982
`Felder...
`wae 364/900
`
`6/1982
`Maxwell....
`wee 364/200
`
`10/1982
`wee 340/521
`Neumann..
`
`11/1982
`
`McVey......
`wu 364/200
`12/1982
`
`Kaul ou...
`we 364/200
`2/1983
`Chisholm et al.
`w. 364/200
`
`8/1983
`Nozaki ose
`we 364/200
`
`2/1984
`..- 364/200
`Shaw et al.
`
`3/1984
`Witalka
`- 364/200
`
`4/1984
`Dummermuth..
`we 364/900
`6/1984
`Wunsch........
`, 364/900
`T/L9R4
`Weymouth...
`
`1/1985
`Calvignac .....
`2
`
`4/1985
`340/825.5
`Ahuja ......
`
`6/1985
`Ziehm et al.
`.
`371/7 X
`12/1985
`Caprio etal. ....
`364/900
`
`12/1985
`Vincent et al.
`..
`364/200
`
`1/1986
`Boudreau...cccesaeeieeeees 364/200
`
`2/1986
`Mantellina
`364/200
`
`341986
`Desai .occsseccessescscesnasseettenes 364/900
`
`5/1986
`Shah et al.
`...
`364/200
`
`8/1986
`Crabtree et al. cece 364/200
`
`11/1986
`Cecconet al.
`...
`364/200
`
`12/1986
`Braltttt .....:ceeeceseccssereeeeeeeenes 379/28
`
`12/1986
`Vincent....
`364/200
`
`3/1987
`Samson....
`
`371/68
`4/1987
`Ceccon.....
`364/200
`
`6/1987
`Caprio oo. ecceeccnereeceseeeeteenens 364/900
`
`10/1987
`Giinkel et al.
`. 364/900
`
`12/1987
`Brahim o.ccescceseceresssssesseseeeeees 379/28
`1/1988
`Yoshida....
`presses 364/900
`
`6/1988
`Arpin et al.
`.....
`. 364/200 X
`
`7/1988
`Buckley et ab.
`ou...
`eee 364/900
`
`11/1988
`Cheselka oo... ccsescsesenrieee 364/200
`
`11/1988
`. 364/900 X
`Finfrocketal.
`
`11/1988
`Harter oc serresseseers 364/200
`
`9/1989
`Matelan ...ccccsccescteeeenns 364/200
`
`
`
`4,025,903
`4,027,108
`4,070,704
`4,075,693
`4,155,117
`4,177,511
`4,191,996
`4,236,207
`4,253,087
`4,253,144
`4,254,463
`4,268,901
`4,293,924
`4,303,993
`4,314,354
`4,335,426
`4,356,475
`4,360,870
`4,363,094
`4,373,181
`4,400,775
`4,432,049
`4,437,187
`4,442,504
`4,454,596
`4,458,357
`4,491,913
`4,514,728
`4.521.847
`4,556,953
`4,562,535
`4,563,736
`4,571,676
`4,578,773
`4,589,063
`4,604,690
`4,622,633
`4,626,634
`4,633,392
`4,654,857
`4,660,141
`4,670,855
`4,701,878
`4,713,834
`4,718,038
`4,750,136
`4,760,553
`4,787,025
`4,787,028
`4,787,030
`4,870,704
`
`FOREIGN PATENT DOCUMENTS
`$4-24314
`3/1979 Japan .
`$4-73531
`6/1979 Japan .
`
`OLYMPUS EX. 1019 - 2/16
`
`

`

`U.S. Patent
`
`Aug. 6, 1991
`
`Sheet 1 of 7
`
`5,038,320
`
`FIG.
`
`|
`
`OLYMPUS EX.1019 - 3/16
`
`OLYMPUS EX. 1019 - 3/16
`
`

`

`U.S. Patent
`
`Aug. 6, 1991
`
`Sheet 2 of 7
`
`5,038,320
`
`FIG. 2
`
`CONTROL
`
`PLANAR BOARD |
`OPTION CARDS 5-0 TO
`
`o-T
`BUS IT
`
`
`
`
`
`ITa
`
`ADDRESS
`
`
`
`7b
`
`OLYMPUS EX. 1019 - 4/16
`
`OLYMPUS EX. 1019 - 4/16
`
`

`

`U.S. Patent
`
`Aug. 6
`
`>
`
`1991
`
`Sheet 3 of 7
`
`5,038,320
`
`Yadav0/1
`
`
`
`010-001039NV
`
`OLYMPUS EX. 1019 - 5/16
`
`OLYMPUS EX. 1019 - 5/16
`
`

`

`USS, Patent
`
`Aug. 6, 1991
`
`Sheet 4 of 7
`
`5,038,320
`
`FIG. 4
`
`ENABLE CARD
`
`card OUTPUTS DISABLED>
`|
`
`aa
`
`iw—Lif|
`CARD
`SWITCH
`ip | FFSeTTINes
`
`DATA BUS ITc
`
`OLYMPUS EX. 1019 - 6/16
`
`OLYMPUS EX. 1019 - 6/16
`
`

`

`U.S. Patent
`
`Aug, 6, 1991
`
`Sheet 5 of 7
`
`5,038,320
`
`G‘Sls
`
`lag
`
`yovadda4
`
`LOTSAsV)
`
`OLYMPUS EX.1019 - 7/16
`
`OLYMPUS EX. 1019 - 7/16
`
`

`

`U.S. Patent
`
`Aug, 6, 1991
`
`Sheet 6 of 7
`
`5,038,320
`
`FIG. 6
`
`INITIALIZATION SETUP
`
`RESET CHANNEL AND
`DISABLE ALL SLOTS
`
`
`
`SCAN 1/0 ADDRESS SPACE
`
`LOOKING FOR A RESPONSE
`
`
`INDICATES A NON-COMPATIBLE
`FEATURE CARD)
`
`
`
`
`
`USER TO PROVIDE (KEY-IN)
`
`NEEDED INFO BY
`
`SLOT POSITION
`
` RESPONSE RECEIVED-SYSTEM
`
`
`
`
`USER SUPPLIES PARAMETER
`INFO IF A PROGRAM "FILE"
`
`IS NOT FOUND
`
`
`
`USER RESOLVES (KEYS - IN)
`
`PARAMETER CONFLICTS,e.g.
`
`
`SELECTS AN ALTERNATE 1/0
`ADDRESS
`SPACE FOR A SECOND 0
`
`
`TWO SIMILAR DEVICES
`
`RESET CHANNEL
`
`STORE THE CONFIGURATION
`TABLE ON DISKETTE
`
`ENABLE SLOTS IN SEQUENCE
`
`INTERROGATE ALL
`SOCKETS/CARDS FOR CARD
`
`ID'S IN SEQUENCE
`
`
`
` A CONFIGURATION PROGRAM CHECKS
`A PROGRAM “FILE” FOR EACH 1D
`(NAME®= ID VALUE) WHICH
`
`CREATES PARAMETERS FOR EACH
`
`
`RESPECTIVE CARD IN A TABLE
`
`
`
`TRANSFER THE PARAMETER
`INFO FROM TABLE
`TO SLOT POSITIONS
`SUCH AS 30,31,32...
`
`
`
`
`
`
`TRANSFER PARAMETERS
`FROM SLOT POSITIONS TO
`CARD REGISTERS 21
`
`TERMINATE SETUP
`PROCEDURE
`
`OLYMPUS EX. 1019 - 8/16
`
`OLYMPUS EX. 1019 - 8/16
`
`

`

`U.S. Patent
`
`Aug. 6, 1991
`
`Sheet 7 of 7
`
`5,038,320
`
`FIG. 7
`
`POST(POWER ON SELF TEST) SETUP
`
`RESET CHANNEL
`
`
`
`FETCH CARD {D'S
`
`
`
`IN SEQUENCE COMPARE EACH 1D VALUE WITH
`
`ID VALUE IN RESPECTIVE
`SLOT POSITION
`
`
`
`
`
`
`
`
`
`[F ALL ID'S WATCH TRANSFER
`ID MISMATCH :
`PARAMETER INFO FROM SLOT
`INVOKE INITIALIZATION
`
`
`
`POSITIONS TO RESPECTIVE
`SETUP PROGRAM
`CARD REGISTERS2t
`
`
`OLYMPUS EX. 1019 - 9/16
`
`OLYMPUS EX. 1019 - 9/16
`
`

`

`1
`
`5,038,320
`
`COMPUTER SYSTEM WITH AUTOMATIC
`INITIALIZATION OF PLUGGABLE OPTION
`CARDS
`
`This is a continuation of co-pending application Ser.
`No. 07/021,391 filed on 03/13/87, now abandoned.
`
`BACKGROUNDOF THE INVENTION
`
`Users of smaller computer systems typically do not
`have sophisticated programming skills, and user-trans-
`parent programmable parameter switches have been
`suggested to simplify configuration of the systemsto the
`user’s needs. However, the routines that are required to
`so configure such systems are complex,error prone, and
`time consuming. It is an objective of the present im-
`provement to substantially reduce the time delay expe-
`rienced by a user before he can do productive work on
`the system upon re-powering or resetting of the system
`after a power-down,so long as no cards are changedin,
`_ added to, or removed from theslots.
`SUMMARYOF THE INVENTION
`
`In the improved system, each card type is provided a
`unique ID, which value is hardwired on each card. A
`register is also provided on the card to store parameter
`data such as an address factor (to programmably change
`the I/O address space of the card where required),
`priority, status, and other system information providing
`for the efficient transfer of data between the system
`processor and the card, and between cards.
`When two or more of the same card type are used in
`the system, parameter data may be used to permit use of
`the cardsat different priority levels or to render redun-
`dant cards inactive.
`Oneportion of main memoryis provided with battery
`backup to power that portion when system powerfails
`or is turned off. Positions in this nonvolatile portion of
`memory are provided (one for each I/O slot) to store
`the ID values of the cards inserted in the respective
`slots together with the respective card parameter data.
`Whenthe system is first configured and initialized, a
`complex routine is executed to create and/or fetch all of
`the parameter data required for the cards attached to
`the system, to resolve system resource conflicts and to
`store the data into the appropriate card registers and the
`memoryslot positions.
`However,if after a power-down, no change is made
`in the cards attached to theslots or in the slot positions
`of the cards, a simplified setup routine determines that
`no change has been made by comparing each card ID
`with the ID value stored in the respective slot position.
`Then the routine transfers the parameter data from the
`memoryslot positions to the respective card registers;
`and the system is ready for normal operation.
`After the system is configured andinitialized, a feed-
`back line is provided to signal the use of the select
`mechanism during normal operation. Routines are in-
`voked to check the response of each card to given select
`resources to detect duplicate use of a select resource.
`These and other features of the present improvement
`will be apparent from the following detailed description
`and accompanying drawings, in which:
`FIG. 1 is a fragmentary block diagram of the im-
`proved system;
`FIG. 2 illustrates the bus structure;
`FIG. 3 show certain ofthe logic utilized by the setup
`routines;
`
`3;
`
`2
`FIG. 4 showstimings for certain of the logic of FIG.
`.
`FIG. 5 showslogic utilized by test routines to check
`the proper selection of an I/O card; and
`FIGS. 6 and 7 are flowcharts whichillustrate briefly
`the setup routines used in the present system.
`DETAILED DESCRIPTION
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`FIG. 1 illustrates a preferred embodiment ofthe pres-
`ent improvement in the form of an integrated circuit
`desktop type computer system featuring user-transpar-
`ent establishment of addressing and other variable sys-
`tem resource parameters for attached peripheral op-
`tions. Thus the user is not burdened with having to set
`dip switches, follow complex setup procedures, etc.
`System resource conflicts are reduced or eliminated by
`reassigning of parameters. Other parameters include
`priority levels and a state bit which allows for coexis-
`tence of two identical option attachments.
`System board 1 contains plural sockets or slots 2-0 to
`2-7 into which 1/O option cards 5-0 to 5-7 maybe inter-
`changeably plugged. These cards control various types
`of peripheral devices (disk drives, printers, etc.) and
`add-on memory which are either integrally contained
`on respective cards or attached thereto via external
`connectors, not shown. Board 1 also contains elements
`of the central processing system, including a central
`processor unit (CPU) 8, random access memory (RAM)
`main memory modules 9, 10, 11, direct memory access
`(DMA)controls 12,
`timing controls 13, slot address
`decoder 14, whose function is described below, other
`logical elements not relevant to the present discussion
`indicated collectively at 15, power supply 16, and bus
`17 which links the central processing elements with
`each other and with attached peripherals. Darkened
`portions of the bus represent plural address lines 17d,
`data lines 17¢, and control lines 17a (FIG. 2).
`A feature hereof is that slots 2-0 to 2-7 can be ad-
`dressed by “slot address” signals on the addresslines of
`bus 17 during setup routines, and cards residing in the
`slots can be separately addressed by “I/O address”
`signals on the address lines during normal program
`execution; where the slot addresses and I/O addresses
`are distinctly different values associated respectively
`with physical locations of the sockets and with the types
`of devices currently attached. Manydifferent types of
`devices are each potentially attachable to any oneofthe
`few sockets of the system.
`Oneof the memory modules, module 10 in theillus-
`tration, is nonvolatile, and stores information relative to
`eachof the slots 2-0 to 2-7 andits associated card when
`the system is powered down. This module for example,
`may consist of an array of capacitive storage circuits,
`ie., known complimentary metal-oxide silicon (CMOS)
`type semiconductor circuits, configured to operate
`under system power while the system is powered up
`and under battery power 18 in the absence of system.
`power. Within this module, a separately addressable
`space is allocated to each slot, for storing certain infor-
`mation relative to the slot. As shown, this information
`includes an identity value ID, an addressing factor AD,
`a priority value PR, a state bit S, and other information
`
`65
`
`A feature to be described is the use ofthis information
`in the nonvolatile memory to speed up initialization
`(FIG. 7) of the system when the slot configuration has
`not changed since the last power-down, and thereby
`reduce the time the user has to wait to begin useful
`
`OLYMPUS EX.1019 - 10/16
`
`OLYMPUS EX. 1019 - 10/16
`
`

`

`- 0
`
`25
`
`40
`
`45
`
`3
`applications after operating the system power-on
`switch, not shown, or after system or channelreset.
`This difference in complexity and numberof steps re-
`quired is illustrated by FIGS. 6 (initialization) and 7
`(POST).
`Details of card 5-7 are indicated as representative of
`the relevant logical organizations ofall cards to the
`extent required for describing the present improvement.
`Driver circuits 20 are pre-wired at manufacture, and
`under conditions described below transmita set of iden-
`tity signals ID which uniquely identify that card type
`and its respective peripheral device.
`Register 21 stores parameter information for control-
`ling communications between the card and the system,
`including the address factor AD,the priority value PR,
`the state bit S, and other information O described with
`respect to module 10. This information is set by the
`central system during power-up initialization (FIG. 6).
`A feature of the system is that, if slot conditions have
`not changed since the last power-down of the system,
`the information is simply transferred to register 21 from
`the nonvolatile memory 10 in a relatively fast operation
`(FIG. 7), whereas if slot conditions have changed the
`system is required to perform a lengthy program pro-
`cess (FIG.6) to retrieve and/or develop someorall of
`the information and then transfer it to both memory 10
`and the card register 21.
`Control
`logic 22 and decode logic 23 control re-
`sponse of the card 5-7 to I/O addresses appearing on
`bus 17. When poweris applied to the system, the cards
`are addressable initially only through their sockets, and
`a portion of the address bus. But after the power-up
`process, the value ADin register 21 controls decoder 23
`to detect a default or alternate I/O address associated
`uniquely to the card type and unrelated to the socket
`location. Upon such detection, the priority value PR
`and state bit S in conjunction with control logic 22
`determine when data may be exchanged between the
`card and the bus 17. One mannerin which an AD value,
`the decoder 23 and logic 22 detect an I/O address is
`shownand described in Interfacing to the IBM Personal
`Computer by L. Eggebrecht published 1983 at pages
`130, 131.
`In operation, during its power-up sequence the cen-
`tral system individually addresses the option sockets, by
`sending respective “slot address” signals on the bus
`which are uniquely detected by decoder 14 and result in
`separate activation of setup (or enable card) lines ECO-
`ECT extending to respective sockets 2-0 to 2-7 and
`through the sockets to attached cards 5-0 to 5-7. Upon
`activation of one such line, if the respective socket is
`vacant the hexadecimal value of FFFF is returned to
`the system which terminates further operation relative
`to that socket. However, if the socket contains a card,
`the activated line in conjunction with additional address
`signals on the bus 17 condition logic 22 on the respec-
`tive card to cause drivers 20 to transmit the ID signals
`mentioned above which identify the respective card and
`device type. The system CPU compares the returned
`ID signals with the ID value stored in the location in
`memory 10 allocated to the respective slot, and sets an
`indication denoting whether the compared values are
`the sameordifferent. This indication serves effectively
`as a branch condition for subsequent program processes
`which determine the action to be taken relative to the
`respective slot.
`If the indication just mentioned represents a matching
`comparison, and conditions ofall other slots have not
`
`5,038,320
`4
`changed, a subsequent program process will simply
`transfer the value of AD, PR,S, and O, which are cur-
`rently stored in the associated location of memory 10 to
`the respective card for storage in its register 21. If the
`indication represents a non-matching comparison, and if
`the transmitted ID indicates that the respective slot
`contains a card, the processor 8 uses the transmitted ID
`and information gleaned from theotherslots to retrieve
`and/or develop new AD,PR,S, and O values for the
`respective card using files describing card resource
`requirements and alternatives. After all card values are
`established, the values for each card are transferred in
`sequencefirst to the respective slot location in memory
`10 and subsequently to the respective card register 21.
`Mismatching comparisons occur when the state of
`the interrogated. socket has been altered. The ID value
`stored in memory 10 relative to a socket which was
`vacant at last power-down is FFFF, and the ID value
`stored relative to a previously occupied socketis that of
`the card last occupying that slot. Thus, if a card is in-
`stalled into a previously vacant slot or substituted for a
`card having a different ID, a mismatching comparison
`will occur causing the system to retrieve and/or de-
`velop new AD,PR,§,and O values for the responding
`card.
`As noted above, the system cannot deal with mis-
`matching indications until the states ofall sockets have
`been ascertained. This is because the priority level, and
`in certain instances the address and state values, as-
`signed to any card are relative to the cards in other
`slots. The address and state values are relative when
`two cards with the same identity ID are currently in-
`stalled, either to provide redundant backupfor device
`failure or to provide additional device capacity. In the
`latter instances, the state value can be used to place a
`backup devicein an inactive state during normal system
`operation or the priority values can be used to allow
`both devices to operate fully but at different priority
`levels.
`In the preferred embodiment, system information is
`stored in the eight slot positions (only three—30, 31,
`32—-are shown) of module 10 to accommodate up to
`eight feature cards 5-0 to 5-7. Each slot position is four
`bytes wide, twenty-eight bytes for seven feature cards.
`The card ID residesin the first two bytes and the switch
`(parameter) settings inthe last two bytes. The corre-
`sponding ID and parameter data on each card resides in
`drivers 20 and register 21, respectively.
`FIG. 3 shows schématically certain of the logic on
`the board 1 and feature card 5-7 used during setup rou-
`tines to read out a card ID and store parameters in the
`register 21. With respect to FIG. 3, the hexadecimal
`1/O address values assigned to certain of the compo-
`nents on each of the feature cards is as follows:
`096 - socket select value (one byte)
`100, 101 - ID drivers 20 (two bytes)
`102, 103 - parameter register 21 (two bytes)
`These are “dummy” addresses since they are used by
`the processor 8 to access I/O cards and components via
`the slots during setup operations. The address 096 se-
`lects the logic (gates 38, 39) of slot address decoder 14
`for storing the card select value into slot register 40 and
`also for reading out the value, ie., during diagnosis.
`Address lines AO and Al of FIG. 3 form the lower
`address values 00, 01, 02, and 03 for selecting the com-
`ponents 20 and 21, while a logical 1 signal on address
`line A2 provides the most significant digit value of 1.
`
`60
`
`65
`
`OLYMPUS EX.1019 - 11/16
`
`OLYMPUS EX. 1019 - 11/16
`
`

`

`5,038,320
`
`oe 5
`
`20
`
`25
`
`35
`
`45
`
`60
`
`65
`
`5
`AQ, Al, and A2 are coupled to appropriate bit lines of
`address bus 178, FIG.2.
`FIG.3 shows in more detail certain ofthe logic of the
`slot address decoder 14 and ofthe control logic 22 of
`card 7 which are used in the setup routines of FIGS. 6
`and 7. It will be assumed for simplicity of discussion,
`that addressing of two bytes at a time,i.e., one cycle,is
`available and that two byte data transfers occurs on
`busses. Hence, decoding address 101 gates both bytes
`for addresses 101 and 100.
`-
`. Slot register 40 is program controlled to store a three
`bit value (000-111) corresponding to a slot (2-0 to 2-7) to
`be accessed. A decode circuit 41 changes this three bit
`binary value to a one in eight line output but only when
`it is gated by a signal on inputline 42. Each outputline,
`such as EC7, is connected via the respective socket to
`the card held in the socket. When a decode circuit 43
`decodes an address in the range 0100 - 0103 during a
`setup routine, it produces an output on line 42 to gate
`the value in 40 to cause an output (see FIG. 4) on a card
`setup line such EC7, one of the control lines 17@ of bus
`17.
`This output on EC7 is applied to AND gates 44 and
`45. The address line A2 is coupled to gates 44 and 45.
`An I/O read line IOR and_an 1/0 write line IOW (de-
`coded from control lines 17a) are coupled respectively
`to gates 44 and 45. An output 46 from gate 44 is coupled
`to a pair of decoder circuits 47 and 48. An output 49
`from gate 45 is coupled to a decode circuit 50. An out-
`put 51 from decode 48 is coupled to the ID driver cir-
`cuit 20 and the output 52 from decode 50 is coupled to
`the parameterregister 21.
`During the post setup routine of FIG. 7, when an ID
`is being fetched from card 7, the processor 8 forces A2
`negative (logical 1) and Al, AO to logic 01 (address
`101). EC7 is negative (FIG. 4). When IOR goes nega-
`tive, the gate 44 produces an output at 46 to produce an
`output at 51 which gates the card ID valuein 20 to data
`bus 17c. Processor 8 compares this ID with the ID in
`the respective slot position in memory module 10. If the
`IDs compare, processor 8 transfers the parameterval-
`ues in the slot position 32 (FIG. 1) to data bus 17c and
`forces A2, Al, AO to logic 111 (address 103). Shortly
`thereafter, processor 8 issues an IOW to causegate 45 to
`produce an output on 49. This gates an output from 50
`.to register 21 via line 52 to gate the parameter values on
`bus 17c into register 21. The output 53 of decode 47 is
`used during diagnostic routines to gate the output of
`parameterregister 21 to bus 17¢ via gate 54.
`Asdiscussed above with respect to a setup routine, an
`[D of hexadecimal value FFFF is returned during an
`ID fetch operation when the addressed socketis empty.
`One methodof achieving this result is shown in FIG. 3.
`A pre-wired circuit 60 is gated to force bus 17 to all
`“W’s" during the IOR cycle by a negative going signal
`on any oneofthe enable card lines EC1 to EC7 via OR
`circuit 61 and the negative going signal on IOR. If a
`card is in the socket which has been addressed,its ID is
`gated to bus 17c at the same time andall logical 0's in
`the ID override the logical 1's from 60 to correctly
`reproduce the ID on bus 17c.
`The logic of FIG.3 is used in a similar manner during
`the initialization setup and the POSTsetup routines of
`FIGS. 6 and 7.
`When twoidentical cards (same ID) are connected to
`two of the I/O slots and it
`is desired to render both
`active,the first card is assigned the standard L/O default
`address at one priority level and the other card is as-
`
`6
`signed an alternate I/O addressat a different priority
`level.
`.
`The logic of FIG.5 is then utilized during a diagnos-
`tic routine to. ascertain whether each card properly
`responds to its respective 1/O address. The address
`decode logic 23 decodes the address on bus 176 if it
`correspondsto the alternate address when the appropri-
`ate alternate address factor AD is stored in parameter
`register 21 and the least significant bit is on (the cardis
`active). Similarly, a priority decode circuit 55 produces
`an outputif the priority value on bus 17a is equal to PR
`in register 21 and the card active bit is on. If outputs are
`produced by logic 23 and 55, an ANDgate 56 produces
`a feedback signal on line 57 to set onebit in a register 58
`on the board 1. The CPU8 under program controlwill
`read register 58 to determine that one and only one card
`properly responded to the I/O alternate address and
`reset register 58. Similar circuits on the other identical
`card will respond to the default I/O address and the
`appropriate priority level to set anotherbit in register 58
`for diagnostic purposes.
`While there have been described whatare at present
`considered to be a preferred embodimentof this inven-
`tion, it will be obvious to those skilled in the art that
`various changes and modifications may be madetherein
`without departing from the invention, andit is, there-
`fore, intended to coverall such changes and modifica-
`tionsas fall within the true spirit and scope of the inven-
`tion.
`Whatis claimed is:
`1. In a data processing system having a system pro-
`cessor and a plurality of [/O sockets to which periph-
`eral control cards of various types are attachable, and in
`which means onat least one card permanently stores an
`identity value corresponding to the respective card
`type, said system comprising:
`nonvolatile memory meansstoring, in memory loca-
`tions thereof assigned to respective 1/O sockets,
`the identity value and parameterdata ofthe atleast
`one card connected to a respective socket when
`powerwas last applied to said system, said parame-
`ter data being representative of peripheral options
`for the attached card; and
`meanseffective after power has been removed from
`and reapplied to said system for comparing the
`identity value on said card connectedto the respec-
`tive socket with the identity value stored in the
`corresponding nonvolatile memory location to
`determineif said card has been added, removed or
`moved since the previous removal of power from
`said system; and
`means responsive to outputs of said comparing means
`indicating successful comparison of the identity
`value for transferring and storing into said card,
`parameter data stored in the corresponding mem-
`ory location, thereby eliminating the need to create
`the parameter data.
`.
`2. A data processing system having a plurality of I/O
`sockets for attaching cards of different types, and in
`which the system during subsequent power-up retrieves
`parameter data for at least one card currently attached
`to the system by way of a respective socket and in
`which meansis provided on the card for permanently
`Storing an identity value corresponding to the card
`type, said system comprising;
`nonvolatile memory meansstoring, in memory loca-
`tions thereof assigned to respective I/O sockets,
`the identity value and parameter data of the card
`
`OLYMPUS EX.1019 - 12/16
`
`OLYMPUS EX. 1019 - 12/16
`
`

`

`5,038,320
`
`20
`
`30
`
`empty;
`
`connected to the respective socket before the sys-
`tem is powered down,
`means effective upon power-up of the system for
`comparing the identity value stored on the at-
`tached card with the identity value stored in the
`nonvolatile memory location corresponding to the
`socket to which the card is attached; and
`means responsive to outputs ofsaid comparing means
`indicating successful comparisons of identity val-
`ves for writing and storing into each respective
`card the parameter data stored in its corresponding
`nonvolatile memory location.
`3. The system of claim 2 further comprising
`said comparing means including means interrogating
`each 1/O socket to fetch and identity value of the
`card attachedto the socket and to produce a unique
`null identity value when an interrogated socketis
`said nonvolatile memory storing the null
`identity
`value in each location corresponding to an 1/o
`socket found empty; and
`said comparing means further effective upon power
`up of the system for comparing the null identity
`value produced upon interrogating an empty
`socket with the identity value in the nonvolatile
`memory location corresponding to that socket for
`determining if that socket had contained a card
`when the system previously was powered down.
`4. The system of claim 2 wherein the data processing
`system includes a system processing unit, the system
`further comprising
`a feedbackline on the card,
`means on the card responsive to a card select input
`signal and to parameter data stored on the card for
`effectively enabling the card to senda signal to the
`system processing unit by way of said feedback line
`indicating selection of the card.
`5, The system of claim 2 further comprising
`said comparing means including means interrogating
`each I/O socket to

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket