CA1227874A - Resilient bus system - Google Patents
Resilient bus systemInfo
- Publication number
- CA1227874A CA1227874A CA000484593A CA484593A CA1227874A CA 1227874 A CA1227874 A CA 1227874A CA 000484593 A CA000484593 A CA 000484593A CA 484593 A CA484593 A CA 484593A CA 1227874 A CA1227874 A CA 1227874A
- Authority
- CA
- Canada
- Prior art keywords
- bus
- request
- units
- response
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Detection And Correction Of Errors (AREA)
- Laying Of Electric Cables Or Lines Outside (AREA)
- Time-Division Multiplex Systems (AREA)
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
ABSTRACT OF THE DISCLOSURE
A data processing system includes a plurality of units which are coupled to transfer requests including data, command and integrity signals between units over a system bus during allocated bus transfer cycles. Each unit includes response apparatus for acknowledging requests received from other units. Each of a number of units further includes retry apparatus and checking apparatus for verifying that all of the parts of a request received from such unit over the bus are valid.
When less than all of the parts of the request are detected as valid, the receiving unit does not accept the request and inhibits its response apparatus from generating a response. This prevents damage to system integrity and permits each unit with retry apparatus to retry the request during a subsequent bus transfer cycle.
A data processing system includes a plurality of units which are coupled to transfer requests including data, command and integrity signals between units over a system bus during allocated bus transfer cycles. Each unit includes response apparatus for acknowledging requests received from other units. Each of a number of units further includes retry apparatus and checking apparatus for verifying that all of the parts of a request received from such unit over the bus are valid.
When less than all of the parts of the request are detected as valid, the receiving unit does not accept the request and inhibits its response apparatus from generating a response. This prevents damage to system integrity and permits each unit with retry apparatus to retry the request during a subsequent bus transfer cycle.
Description
~22~7~ 510-02042 BACKGROUND OF THE INVENTION
Field of Use This invention pertains to data processing systems and, more particularly, to apparatus for transmitting and receiving requests over a common bus.
Prior Art There are a variety of methods and apparatuses for interconnecting the different unit controllers- of a data processing system for transmitting and receiving requests over a common bus. The transfer of requests proceeds either over synchronous or asynchronous generated bus transfer cycles of operation. US. Patent Nos. yo-yo and 3,866rl81 are illustrative of such systems.
In some systems, it has been the practice to include integrity bits in the data portion of a request These bits are used to verify the correctness of the data following acceptance of the request by a receiving unit.
US. Patent Nos. 3,993,981 and 4,371,928, assigned to the same assignee as named herein, are illustrative of an asynchronous bus system. These systems have units which are coupled in a priority network which is distributed along the system bus. Each unit has response apparatus for responding to a request for a transfer of information from another unit which provides up to three different types of signal responses. Also, each unit, except memory, has comparator circuits or insuring the ~2787~ 610-02042
Field of Use This invention pertains to data processing systems and, more particularly, to apparatus for transmitting and receiving requests over a common bus.
Prior Art There are a variety of methods and apparatuses for interconnecting the different unit controllers- of a data processing system for transmitting and receiving requests over a common bus. The transfer of requests proceeds either over synchronous or asynchronous generated bus transfer cycles of operation. US. Patent Nos. yo-yo and 3,866rl81 are illustrative of such systems.
In some systems, it has been the practice to include integrity bits in the data portion of a request These bits are used to verify the correctness of the data following acceptance of the request by a receiving unit.
US. Patent Nos. 3,993,981 and 4,371,928, assigned to the same assignee as named herein, are illustrative of an asynchronous bus system. These systems have units which are coupled in a priority network which is distributed along the system bus. Each unit has response apparatus for responding to a request for a transfer of information from another unit which provides up to three different types of signal responses. Also, each unit, except memory, has comparator circuits or insuring the ~2787~ 610-02042
2--integrity of the information being transferred over the bus. The requesting unit or master unit compares the requesting unit's channel portion of each request sent by such unit to a slave unit during a previous bus cycle with the requesting unit address channel received back from the slave unit during a subsequent cycle of operation.
This arrangement only provides a subsequent check for insuring that information was transferred to the unit originating the request. It only indirectly verifies that a request was received by the correct unit.
Further, the arrangement contemplates an operating environment in which the units attached to the system bus are not assigned similar channel number addresses and normally only a single memory request is being processed at any given interval of time. However, with the introduction of more efficient techniques of using memory, resulting in simultaneous processing of requests, and an increase in the number of units ego. memory controllers, I/0 controllers and central processing units) attachable to the system bus, the chance for undetected errors has increased substantially.
The systems disclosed in US. Patent Nos. 3,993,981 and 4r371,928 have provided some additional integrity in addressing a memory controller and its different memory board (i.e., modules). When the memory controller detects having received its address with correct parity and an indication that the module board being addressed has been installed in the system, the controller generates one of three specified responses. If any one of these conditions is not met, the controller does not respond. After a certain period of time, this will I ~871~L 510-0204 2 generate a time out condition to occur within the system, causing central processing unit to detect an interrupt or trap. Again, the integrity of the system is only insured to the point of correctly addressing the memory controller and preventing the acceptance of a memory request.
This still leaves open the possibility of having good memory data destroyed or incorrect data written into memory. Moreover, by the time the error is detected by the central processing unit, system operation will have progressed to a point where the actual source of the problem cannot be accurately determined. Thus, considerable system processing time has to be expended in processing such error conditions at the operating system software level without any realistic chance for success.
The reason for this is that errors caused by the system bus and associated circuits have been observed to manifest themselves as intermittent conditions rather than as solid failures. That is, certain operating conditions often times create metastable, oscillatory or partial failure modes of operation within the different bistable devices which form a part of the system bus priority networks and control circuits. Also, a part or component in the process of failing will operate unreliably thus introducing intermittent errors.
Further unique conditions can arise, such as several units simultaneously requesting system bus access, which cause still another kind of intermittent error condition.
Thus, there is a definite need for a resilient bus arrangement. This is in contrast to trying to increase the reliability of a system bus through the introduction aye 510-02042 of redundant circuits or special hardware checking facilities.
Accordingly, it is a primary object of the present invention to provide a system which is resilient to errors occurring during bus transfers.
It is a further object of the present invention to provide a system which prevents damage to the integrity of a systems data and operation.
MURPHY THE INVENTION
The above objects of the present invention are achieved by the illustrative embodiment which includes a plurality of units which are coupled to transfer requests including data, command and integrity signals between units over a bus system during allocated bus transfer cycles Each unit includes response apparatus for acknowledging requests received from other units. Each of a number of units further includes retry apparatus and checking apparatus for verifying that all of the parts of a request received from such unit over the bus system are valid. When less than all of the parts of the request are detected as valid, the receiving unit does not accept the request and inhibits its response apparatus from generating a response. This permits the receiving unit at an early point in a transfer operation to reject the cycle in a way that it is automatically communicated to the requesting unit.
In the present embodiment of the invention, the lack of a response causes the generation of a negative acknowledgement by timeout apparatus which connects to the bus system. This prevents damage to system integrity I AL
and permits the requesting unit with retry apparatus -to retry the request during a subsequent bus transfer cycle. Also, having the receiving unit not respond reduces interference and permits the allocation of bus cycles only to those units receiving valid requests. Thus, the present invention utilizes the fact that error conditions caused by the bus system are essentially inter-mitten. Therefore, a single retrying of the request will correct the error condition, unless it is due to a failure.
In the disclosed embodiment, the present invention is utilized in a data processing system which includes units of older designs. These units do not include the apparatus of the present invention and are unable to perform a checking operation on all of the parts of a request. However, when such older design unit transfers a request to a unit which includes the apparatus of the present invention, the unit generates a response which is the same as the older design unit would have received if being operated in the old system. Additionally, the additional integrity bits generated by the receiving unit can be trays-furred to other parts of the unit and used for additional checking following acceptance of the request.
Accordingly, the invention can be used in a variety of systems containing mixtures of old and new units. Moreover, the introduction of the apparatus of the present invention does not require any changes in the operation and the circuitry of such old units.
In accordance with the present invention, there is provided a system including a plurality of units coupled in common to a system bus for transferring requests between said plurality of units during different bus cycles of operation, said system further including: means included in at least Z78~
- pa -one of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts each containing a number of integrity bits for verifying when said request is validly received by another unit of said plurality of units during a bus cycle of operation;
checking means included in said another unit for verifying that all of said number of different parts of said each request received by said another unit are valid; and, response means included in said another unit, said response means being coupled to said checking means and to said bus, said response means being conditioned by said checking means when less than all of said parts of said received request are valid, from generating any response on said bus to said one unit.
In accordance with another aspect of the invention, there is provided a system including a plurality of units of new and old designs coupled in common to a system bus for transferring requests between said plurality of units during different asynchronously generated bus cycles of operation, said system further including: first means included in at least a first unit of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts, each containing at least one integrity bit for verifying that said request is validly received by a second unit of said plurality of units during a bus cycle of operation;
said system bus including a new parity line coupled only to each of said units of new design; second means included in said first unit for applying a predetermined signal to said new parity line which identifies to a second one of said plurality of units receiving said request that said request includes all integrity bits required for verifying that all of said number I
- 5b -of parts of said request are valid; checking means included in each of said plurality of units, said checking means of each of said units of new design being coupled to said new parity line and operative in response to said predetermined signal to verify that all of said number of different parts of said request received by said unit are valid; and, response means included in each of said plurality of units, said response means being coupled to said checking means and to said bus, said response means of each of said units of said new design being conditioned by said checking means when less than all of said parts of said received request are valid from generating any response on said bus to said first unit.
The novel features which are believed to be character-fistic of the invention both as to its organization and method of operation, together with further objects 7~7~
and advantages will be better understood from the following description when considered in connection with the accompanying drawings. It is to be expressly understood, however, that each of the drawings are given for the purpose of illustration and description only and are not intended as a definition of the limits of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of a system which includes the apparatus of the present invention.
Figure 2 shows in greater detail, the central subsystem of Figure 1.
Figures pa through 3c show in greater detail, the central subsystem interface area of Figure 2.
Figure 4 is a flow chart used to explain the operation of the apparatus of the present invention.
Figures pa through of show the formats of the requests and responses generated by the system of Figure 1 according to the teachings of the present invention.
Figure 1 shows a data processing system 10 which includes a plurality of subsystems 14 through 18 of old and new designs which couple in common to a system bus 12. The illustrative subsystems include a central subsystem 14, a memory subsystem 14 and a peripheral sub-system 18. Each subsystem includes an interface area which enables -the unit or units associated therewith to 3L;227874 transmit or receive requests in the form of commands, interrupts, data or responses/status to another unit on system bus 12 in an asynchronous manner.
It is assumed that only subsystems 14 and 16 are new in design and incorporate the apparatus of the present invention in their interface areas 14-1 and 16-1, respectively. The peripheral subsystem 18 is assumed to be designed for inclusion in an earlier system, such as the system disclosed in US. Patent No. 3,995,258, entitled "Data Processing System Having a Data Integrity Technique", invented by George J. Barlow. Hence, its interface area 18-1 does not include the apparatus of the present invention but connects to system bus 12 and operates as in the earlier system as explained herein.
Interface area 1~-1 includes bus interface logic circuits disclosed in Figure 9 of US. Patent No. 3,995,258.
By way of illustration, only three subsystems are shown in Figure 1. However, data processing system 10 normally includes additional subsystems of both new and old designs for connecting a full complement of peripheral devices, other processing units and communication devices to system bus 12. In addition to these subsystems, system 10 includes timer apparatus which takes the form of timeout logic circuits of block 20. As shown, these circuits couple to system bus 12 and operate to generate a signal after a predetermined period of time, such as five microseconds, which in turn produces a negative acknowledgement response signal on system bus 12 as explained herein.
As mentioned above, each of the interface areas 14-1 and 16-1 includes the apparatus of the present invention. Except as stated herein, both of these 78~
interface areas can be considered equivalent design.
Therefore, only interface area 14-1 is described in detail herein with reference to Figure 2.
Referring to figure 2, it is seen that the interface area 14-1 includes the integrity checking circuits of block 14-10, the response circuits of block 14-12 and the port registers and bus retry circuits of block 1~-14. As shown, the circuits of block 14-10 couple to system bus 12 and receive as inputs all of the signals applied to the different portions of system bus 12. These include a bus new parity line, a 36-bit wide data portion, a 27-bit wide address portion and a 9-bit wide command portion.
The circuits of block 14-10 generate a bus OK parity signal indicating whether or not parts of a request applied to bus 12 are valid. Additionally, in the case of requests received from older subsystems (e.g.
subsystem 18), block 14-10 provides a bus address parity signal for distribution within the central processing unit (CPU) area 14-2 as explained herein. The bus parity OK signal is applied as an input to the response circuits ox block 14-12. These circuits operate to generate on bus 12 several types of responses. One is an acknowledgement (ASK) response indicating that a valid request was received. Another is a negative acknowledgement (NAY) response indicating that the request could not be processed at that time. A third type of response is no response which produces a timeout condition and causes a retry of the request as explained herein.
go Additionally, the response circuits of block 14-12 receive signals from bus 12 indicative of the type of bus cycle being performed and signals from interrupt response circuits, not shown, indicating whether or not the interrupt level of the requester is sufficient to be accepted, as explained herein.
The port registers and bus retry circuits of block 14-14 couple to system bus 12. The block 14-14 stores address, data and command portions of each request received from CPU area 14-2 for subsequent transfer to system bus 12. Additionally, block 14-14 includes circuits for retrying a request on system bus 12 when the request is not verified by the receiving unit, as explained herein.
Figure pa shows in greater detail, the integrity checking circuits of block 14-10. As shown, these circuits include three groups of parity check and generator circuits constructed from conventional chips such as the ASSAY manufactured ho Texas Instruments Corporation. The first group of ASSAY chip circuits 14-100 through 14-103 generate data parity check signals DPOOOKOOO through DP240KOOO at their even if) output terminals for the 32 data bit signals BSDTOOO10 through BSDT31010 and four parity integrity data bit signals BSDPOOO10 through BSDP24010.
The next group of ASSAY chip circuits 14-10~
generate address parity check signals APOOOKOOO through AP160KOOO at their even output terminals or the 24 address bit signals BSADOOO10 through BSAD23010 and three parity integrity address bit signals BSAPOOO10 through BSAP16010. A last ASSAY chip circuit 14-107 generates command parity check signal COMPAQ at its even output terminal for the eight command bit signals BSMREFOOO
through BSYELOO10 and parity integrity command bit signal BSCPOOO10.
Each of the data parity check signals DPOOOKOOO
through DP240KOOO is combined with a bus new parity signal BSNEWPO10 and a bus double wide signal BSDBWDO10 in the case of last two check signals within NAND/AND
(i.e., positive logic) or AND/NOR (ire , negative logic) gate circuits 14-110 constructed from conventional chips such as 74S64 manufactured by Texas Instruments Corporation. Similarly, each of the address parity check signals APOOOKOOO through AP160KOOO is combined within bus new parity signal BSNEWPO10 within NAND/AND gate circuits 14-110. Lastly, the command parity check signal COMPAQ is combined with new bus parity signal BSNEWPO10 within NAND/AND gate circuits 14-110.
Whenever any one of the parity check signals at the even output terminals. is a binary ONE, this signals an error in the part of the request being received from system bus 12. The result is that one of the NAND/AND
circuits of circuits 14-110 receiving the binary ONE
applies a binary ZERO as an input to the AND gate part ox circuits 14-110 forcing bus parity OK signal BSPAOKO10 to a binary ZERO.
Because the subsystems of Figure 1 include both new and old subsystems, bus new parity signal BSNEWPO10 is used to differentiate between these two types of subsystems. As mentioned above, only the new subsystems provide full integrity checking of requests before ~2~7~7~ 510-020~2 acceptance. Accordingly, each such subsystem operates to force signal BSNEWP010 to a binary ONE. In the case of an older subsystem, the bus new parity line is absent.
Hence, signal BSNEWP010 remains a binary ZERO. This effectively disables the checking circuits by causing circuits 14-110 to automatically force bus parity OK
signal BSPAOK010 to a binary ONE
The state of bus double wide line is used to signal whether or not the request includes a transfer of all 32 data bits by a subsystem that has a double wide data path. That is, when signal BSDBWD010 is a binary ONE
indicative of a 32-bit double wide data transfer, the circuits 14-110 are conditioned to verify the integrity of all 32 bits When signal BSDBWD010 is a binary ZERO
indicative of a transfer of 16 data bits, circuits 14-110 are effectively disabled from performing a check of data bits 16-31 it cause their RAND circuits to apply binary ONE input signals to the AND portion of circuits 14-110) t Additionally, the integrity checking circuits of block 14-10 further include series connected NO gate 14-112 and OR gate 14-114. NOR gate 14-112 combines bus new parity signal BSNEWP010 and address check parity signal AP160K010 from the odd output terminal of parity check/generator circuit 14-106. The arrangement recognizes that older subsystems will not transmit new address integrity signals on system bus 12. Thus, the integrity signal BSAP16010 received by the integrity checking circuits 14-10 will be a binary ZERO. Since the binary ZERO state of signal BSAP16010 received from system bus 12 is guaranteed, Owing this signal with signal NOPE from NOR gate 14-112 provides good ~2~7~ 510-02042 parity in the form of signal BSAP16110 to the internal address paths of central subsystem 14-2.
In this instance, parity circuit 14-106 functions as a parity generator in providing odd parity for address bit signals BSAD16010-23010~ Here, bus new parity signal BSNEWP010 is a binary ZERO causing signal BSAP16110 assumes the state of parity signal AP160K010. When bus new parity signal BSNEWP010 indicative of a request from a new subsystem, signal BSAP16110 assumes the state of the address integrity signal BSAP16010 from system bus 12. By timesharing circuit 14-106 in this manner, good parity signals are transferred to subsystem address paths in the case of both new and older subsystem requests.
Although not shown, it may be assumed that each of the odd parity signals AP080K010 and COMPOK01n is combined with signal BSNEWP010 in the same manner as described above.
Additionally, bus parity OK signal BSPAOR010 is also applied as an input to the second half bus cycle response circuits, not shown, of the interface area 14-1. It is only when signal BSAOK010 is a binary ONE, is a second half bus cycle response flip-flop allowed to be set to a binary ONE state which permits a response as explained herein.
RESPONSE CIRCUITS OF BOCK 1~-12 Only the new subsystems of Figure 1 include circuits equivalent to those of block 14-12. AS shown in Figure 3b, the circuits of block 14-12 include channel decoder circuits 14-120, a RAND gate 14-122, a plurality of AND
gates 14-124 through 14-128, a 9-bit register 14-130, an LIZ I
output exclusive OR gate circuit 14-132 and OR gate 14-134 connected as shown. The gates and register are conventional in design. For example, register 14-130 may be constructed from a ASSAY chip circuit manufacture Ed by Texas Instruments Corporation.
The circuits of block 14-120 operate to detect when the unique channel number assigned to central sub-system 14-2 is applied to system bus 12. These circuits include comparison circuits which compare the received channel number with an internally stored channel number and force CUP channel signal CPCHAN010 to a binary ONE upon detecting an identical comparison there between. RAND
gate 14-122 combines signal CPCHAN010 and bus parity signal BSPAOK010 to produce channel OK signal CHINOOK.
It forces signal CHINOOK to a binary ZERO when the integrity checking circuits 14-10 have verified that all of the parts of the request received by central subsystem 14 are valid. This, in turn, enables register 14-130 for storing the states of signals PRSHBA010, PRONTO and PRINTN010 in response to bus data cycle now delayed signal BSDCND010. This signal defines the interval of time during which the addressed subsystem (slave) will have been able to detect its channel address. For further discussion, reference may be made to United States Patent No. 3,995,258. The signals PRSHBA010 through PRINTN010 identify the type of bus cycle being performed and are used to generate either an acknowledgement or negative acknowledgement response signal. In greater detail, AND gate 14-124 combines second half bus cycle signal BSSHBC010 and processor second half read history signal PRICIER to produce second half bus cycle acknowledgement signal PRSHBA010.
'7~3~7~
The second half bus cycle is the interval during which previously requested information is transferred to the requesting subsystem. It is the second cycle ox a two cycle operation, such as a read operation.
Signal BSS~IBC010 is received from system bus 12 when the subsystem (e.g. memory subsystem 16 is transferring the data previously requested by central subsystem 14.
Signal PRICIER is normally a binary ONE and ensures that central subsystem 14 acknowledges second half bus cycles ox only those requests it initiates.
AND gates 14-126 and 14-128 combine CPU interrupt signal CPINTR010 and complementary processor level signals PRLVLS010 and PRLVLS000 to produce I/O interrupt acknowledgement and negative acknowledgement signals PRONTO and PRINTN010. The CPU interrupt signal CPINTR010 and processor level signal PRLVLS010 when both binary ONES indicating that the interrupting subsystem has a higher priority than the current operating level (i.e., level number value is less) causes AND gate 14-126 to force acknowledgement signal PRONTO to a binary ONE. At that time, complementary processor level signal P~LVLS000 is a binary ZERO. However, when processor level signal PRLVLS000 is a binary ONE indicating that the interrupting subsystem has a lower priority than the current operating level, AND gate 14-128 forces negative acknowledgement signal PRINTN010 to a binary ONE.
The acknowledgement signals PRS~BA110 and PRONTO
are combined within exclusive OR gate 14-132 for checking purposes so that my acknowledgement signal MOCKER is generated when only one of the acknowledgement signals is a binary ONE. The negative acknowledgement signal PRINTN110 when a binary ONE causes OR gate 1~-134 to ~22~7~7~
510-020~2 force my negative acknowledgement signal MONROE to a binary ONE. As seen from Figure 3b, signals MOCKER
and MONKERY are applied to system bus 12 via conventional driver circuits, not shown.
As discussed above memory subsystem interface area 16-1 includes similarly constructed response circuits with one exception. The memory response circuits include circuits for generating a wait response. This requires another AND gate which receives the same signals as AND
gate 14-124. However, one of two complementary signals indicating the busy status of the memory is applied to an appropriate one of these AND gates.
PORT REGISTERS AND BUS RETRY CIRCUITS
Figure 3c shows in greater detail, the port registers and retry circuits of block 14-14 of Figure 2.
AS shown, block 14-14 includes a plurality of registers 14-140, 1~~142 and 14-144 which store the data, address, command and integrity bits of a request generated by central processing unit area 14-2. The contents of these registers are applied via a system request unit 14-146 and driver circuits, not shown, to the data, address and command portions of system bus 12.
Also, my new parity signal MYNEWP010 is forced to a binary ONE which in turn causes bus new parity line to be forced to a binary ONE. All of the signals of the request are grated onto system bus 12 with my data cycle now signal MYDCNN010. At that time, system request unit 14-146 operates to force my request signal MARQUETTE to a binary ONE signaling a receiving subsystem of the ~2~74 510-02042 request. Signal MARQUETTE is generated according to the following Boolean equation:
MARQUETTE = BUSREQ010~(MYDCNN010 NAKFLP000 BSNARR010), The second half of the equation pertains to generating my request signal MARQUETTE for retrying any request which was not accepted by a receiving subsystem as explained herein. In addition to unit 14-146, the retry circuits further include a Taipei flip-flop 14-148. The flip-flop 14-148 is held in a binary ZERO
state when CPU area 14-2 is not issuing a bus request (ire., signal BUSYWORK is a binary ZERO). The flip-flop 14-148 is permitted to switch to a binary ONE state when signal BUSYWORK is switched from a binary ZERO to a binary ONE according to the following equation:
SET = MYDCNN010 BSNAKR010o Thus, it stores the fact thaw a negative acknowledgement was received from system bus 12.
In response to signal NAKFLP010 being forced to a binary ONE, system bus request unit 14-146 forces a system yellow signal SICILY to a binary ONE (i.e., SICILY = NAKFLP010 TOMATO). also, unit 14-146 forces a system error signal CICERO to a binary ONE
according to the following Boolean equation:
CICERO = MYDCNN010 NAKFLP010 BSNAKR010 TOMATO.
Both of these signals are forwarded to the CPU area 14-2 for action as explained herein.
The signal TOMATO is generated by Tut circuits, conventional in design included with block 14-146. These circuits force signal TOMATO to a binary ON when they detect that signal MYDCNN010 has remained at a binary ONE for a predetermined period of time which corresponds to three microseconds.
DESCRIPTION OF OPERATION
With reference to flow diagrams of Figures pa and 4b, the operation of interface area 14-1 will now be described relative to processing the requests of Figure 5. It is assumed that central subsystem 14 desires to write or read data from memory subsystem 16. In such case, subsystem 14 operates to generate a memory request having the format of Figure pa or 5b. That is, subsystem 14-2 loads the data, address, command and integrity bits into registers 14-140 through 14-144. Additionally, system bus request unit 14-146 forces signal MYNEWP010 to a binary ONE. Also, it forces bus request signal BUSYWORK to a binary ONE. This results in my request signal MARQUETTE being forced to a binary ONE and the clearing of flip-flop 14-148 to a binary ZERO.
Signal MARQUETTE forces a bus request line BSREQT to a binary ONE signaling that subsystem 14 is requesting a bus cycle. For a memory request, the command bits are set as follows BSMREF010=1; BSWRIT010=0 = (read) or 1 =
(write); BSLOCK010=0; BSSHBC010=0; BSDBWD010=1;
BSBYTE010=0; BSDBPL010=1, and BSYEL0010=0.
When subsystem has been granted a bus cycle in response to signal BUSYWORK, signal MYDCNN010 is forced to a binary ONE by priority network circuits included within unit 14-146. These circuits are conventional in design and may take the form of the circuits disclosed in US. Patent No. 3,995,258. At that time, the memory AL
request together with new bus parity signal MYNEWP010 are applied to system bus 12.
As seen from Figure 4b, memory subsystem area 16-1 operates to sense the request from system bus 12. This is done by channel decoder circuits similar to those of block 14-120 detecting the memory subsystem's channel address and detecting that bus memory reverence command bit BSMREF is a binary ONE. Next, memory subsystem determines the state ox bus new parity line which establishes whether or not all of the new integrity checks will be performed. Since signal BSNEWP010 is a binary ONE, circuits identical to those of Figure pa operate to perform an integrity check on each part of the memory request. When any part of the request cannot be verified as valid, the integrity check circuits operate to force bus parity OR signal to a binary ZERO.
As seen from Figure 4b, this causes the memory subsystem 16 to inhibit the generation of a response.
That is, circuits similar to those of Figure 3c, force channel OK signal CHINOOK to a binary ONE inhibiting the generation of any response Now, the time out circuits of block 20 started a timing interval in response to the generation of my data cycle now signal MYDCNN010 by system response unit 14-146 ox Figure 3c. Because memory subsystem I jails to generate any response (acknowledgement, wait or negative acknowledgement), the circuits of block 20 at the end ox a five microsecond interval generate a negative acknowledgement signal. This results in signal BSNAKR010 being forced to a binary ONE which, in turn, switches flip-flop 14-148 of Figure 3c to a binary ONE.
I to 510-020~2 --lug--As seen from Figure pa, central subsystem 14 upon detecting having not received a response and that a bus timeout occurred, determines whether or not this is the first time that the request is to be retried. This is defined by the state of flip-flop 14-148. That is, when the flip-flop 14-148 is in a binary ZERO state, the receipt of negative acknowledgement signal BSNAKR010 at the end of the bus cycle causes my request signal MERRITT to be switched again to a binary ONE. At that time, my data cycle now signal MYDCNN010 is still a binary ONE.
When central subsystem 14 is again granted access to system bus 12, my data cycle now signal MYDCNN010 is again switched to a binary ONE. This again applied the request contents of registers 14-140 through 14-144 together with new parity line signal MYNEWP010 to system bus 12. Again, the operations of Figures pa and 4b are performed by subsystems 14 and 16.
It will be noted that negative acknowledgement signal BSNAKR010 causes flip-flop 14-148 to switch to a binary ONE (ire. set = MYDCN~010 BSNAKR010)~ This, in turn, forces error signal SICILY to a binary ONE when internally generated timeout signal TOMATO is a binary ONE. This signals central processing unit area 14-2 of the occurrence of the bus error and resulting first retry operation.
As seen from Figure pa, in the event that the retry operation is not successful, the timeout circuits of block 20 operate to generate a second negative acknowledgement signal. This causes the system bus request unit 14-146 to force system error signal CICERO to a binary ONE. Since this is the second retry, central subsystem 14 operates to abort the request and report the unsuccessful retry error condition. Since the condition which produced the error could not be remedied by retrying the request once, it is viewed by the system as a solid failure.
s seen from Figure 4b, when the retried request is completely verified by memory subsystem 16, then the memory subsystem integrity checking circuits operate to force bus parity OK signal BSPAOR010 to a binary ONE
state. This, in turn, permits the memory subsystem response circuits to generate an acknowledgement response signal as indicated in Figure 4b. Only after such verification, is Monroe subsystem 16 permitted to accept and process the request. That is, positive acknowledgement signal MOCKER enables the request from system bus 12 to be loaded into the queue registers of the memory subsystem. For further information regarding how this is accomplished, reference may be made to US.
Patent No. 4,451,880, titled "Memory Controller with Interleaved Queuing Apparatus". Thus, the possibility of damage to memory information or the initiation-of invalid operation has been eliminated.
As seen from Figure Say a memory write request requires only one bus cycle of operation. However, a memory read request requires two bus cycles of operation. The first bus cycle is performed in the same manner for both memory read and memory write requests.
During a subsequent second bus cycle, the memory subsystem 16 transfers the requested data to central subsystem 14. Here memory subsystem 16 performs the sequence of operations of Figure pa. As seen from Figure 5c, subsystem 16 applies the channel number of central subsystem 14, a constant value K and associated integrity ~Z2787~ 510-02042 bits to the address portion of system bus 12. The data and integrity bits are applied to the data portion of system bus 12 while the command and integrity bits are applied to the command portion of system bus 12. Also the system response unit of memory subsystem 16 forces new parity line signal (e.g. MYNEWP010) to a binary ONE.
Now, central subsystem 14, as the receiving unit, (slave) performs the sequence of operations of Figure 4b. Briefly, the integrity circuits of block 14-10 perform a check of each part of the information received from system bus 12. As seen from Figure 3b, in the absence of bus parity OK signal BSPAOK010 being forced to a binary ONE, the response circuits of block 14-12 are inhibited from generating a response. As previously discussed, this causes the timeout circuits of block 20 to generate a negative acknowledgement signal. As seen from Figure 4b, this causes memory subsystem 16 to retry the same transfer of information during a subsequent cycle of operation. If the retry is successful, the central subsystem response circuits of block 14-12 are operative to generate an acknowledgement signal indicating acceptance which completes the memory operation. The acknowledgement signal causes the request to be stored in an input register (e.g. FIFO, buffer, queue).
When the retry is unsuccessful, the memory subsystem operates to signal the occurrence of an uncorrectable error condition via system bus 12 or by other conventional means. It will be noted that for ease of implementation and design simplicity, the retry circuits of block 14-146 will retry all requests issued by CPU
area 14-2 which result in the receipt of a negative acknowledgement response.
~L2;~7~
Figures Ed and ye illustrate the formats of an I/O
read request and I/O read request response. This type of request and- response is processed by a peripheral subsystem in the same manner as the memory read request was processed by memory subsystem 16. The function code is used to specify the particular I/O operation to be performed. It is presumed that the peripheral subsystem is constructed to include the integrity checking and retry apparatus of the present invention.
Figure of illustrates the format of an interrupt request. A subsystem desiring to interrupt the central subsystem 14 requests a bus cycle. When the bus cycle is granted, the subsystem places the channel number of central subsystem 14 on the address portion of system bus 12 and its own channel number and level number on the data portion of system bus 12. That is, the interrupting subsystem performs the series of operations of Figure pa while central subsystem 14 performs the series of operations of Figure 4b.
In the same manner as previously described, the central subsystem integrity checking circuits of block 14-10 operate to verify all parts of the interrupt request. When so verified, bus parity OK signal BSPAOK010 is forced to a binary ONE. As seen from Figure 3b, this enables register 14-130 to be loaded with the states of signals PRSHBA010, PRONTO and PRINTN010.
Since this is an interrupt request, second half bus cycle acknowledgement signal PRS~BA010 is a binary ZERO. The central subsystem 14 accepts the interrupt request by forcing interrupt acknowledge signal PRONTO to a binary ONE when the level number presented by the interrupting subsystem is numerically smaller than the current internal level. However, when the present level 12Z7~37~ 510-020~2 number is not numerically smaller than the current internal level, central subsystem indicates that it cannot accept the interrupt by forcing interrupt negative acknowledgement signal PRINTN010 to a binary ONE. As seen from Figure pa, in the absence of a response from central subsystem 14, the interrupting subsystem operates to retry the interrupt request If retry is successful, operation continues. However, if retry is unsuccessful, the interrupting subsystem signals the error condition to the central subsystem 14.
As seen from Figure 4b, the integrity checker.
circuits of the present invention also operate to process requests received from older subsystems which do not include the integrity checking features of the present invention. That is, when the request received and bus new parity signal BSNEWP010 is a binary ZERO, the circuits of block 14-10 of Figure pa force bus parity OK
signal BSPAOK010 to a binary ONE. The valid parity signals generated by parity generator circuit 14-106 and other such circuits are applied to the subsystem internal address paths. This provides added system integrity within essentially no additional circuits.
Summarizing the above, it is seen how subsystems which include the integrity checking bus and retry circuits of the present invention are able to determine at the earliest possible time whether or not a request has been properly received by a subsystem. By placing the burden of request verification on the unit initiating the request (master) or stated differently, the unit allocated the bus cycle, the system can reliably make such determinations and take the desired corrective action before any damage occurs. This provides a high degree of system resiliency while still maintaining a ~Z27~ 510-020~2 high degree of integrity. It will be noted that the same degree of integrity is employed in the handling of any type of bus request.
While the several examples described pertained to requests requiring one or two bus cycles, the invention operates in the same fashion in processing requests having any number of cycles (e.g. burst requests, double pull requests). Also, the present invention is in no way limited to any particular request format. For additional examples of formats, reference may be made to the publication entitled "Level 6 Minicomputers MODELS 6/34, 6~36 and 6/42", Order No. ASSAY, Rev. 3, dated May, 1979, Copyright 1979 Honeywell Information Systems Inc.
It will also be noted that for any system in which all subsystems include the integrity checking and retry circuits of the present invention, there will be no need to include the bus new parity line Also, many changes may be made to the integrity checking and response circuits of the present embodiment for accommodating different types of subsystems. The present embodiment is only illustrative of the type of circuits required for including the integrity and resiliency features of the present invention as part of a bus system of a processing system.
While in accordance with the provisions and statutes there has been illustrated and described the best form of the invention, certain changes may be made without departing from the spirit of the invention as set forth in the appended claims and that in some cases, certain features of the invention may be used to advantage without a corresponding use of other features.
What is claimed is:
This arrangement only provides a subsequent check for insuring that information was transferred to the unit originating the request. It only indirectly verifies that a request was received by the correct unit.
Further, the arrangement contemplates an operating environment in which the units attached to the system bus are not assigned similar channel number addresses and normally only a single memory request is being processed at any given interval of time. However, with the introduction of more efficient techniques of using memory, resulting in simultaneous processing of requests, and an increase in the number of units ego. memory controllers, I/0 controllers and central processing units) attachable to the system bus, the chance for undetected errors has increased substantially.
The systems disclosed in US. Patent Nos. 3,993,981 and 4r371,928 have provided some additional integrity in addressing a memory controller and its different memory board (i.e., modules). When the memory controller detects having received its address with correct parity and an indication that the module board being addressed has been installed in the system, the controller generates one of three specified responses. If any one of these conditions is not met, the controller does not respond. After a certain period of time, this will I ~871~L 510-0204 2 generate a time out condition to occur within the system, causing central processing unit to detect an interrupt or trap. Again, the integrity of the system is only insured to the point of correctly addressing the memory controller and preventing the acceptance of a memory request.
This still leaves open the possibility of having good memory data destroyed or incorrect data written into memory. Moreover, by the time the error is detected by the central processing unit, system operation will have progressed to a point where the actual source of the problem cannot be accurately determined. Thus, considerable system processing time has to be expended in processing such error conditions at the operating system software level without any realistic chance for success.
The reason for this is that errors caused by the system bus and associated circuits have been observed to manifest themselves as intermittent conditions rather than as solid failures. That is, certain operating conditions often times create metastable, oscillatory or partial failure modes of operation within the different bistable devices which form a part of the system bus priority networks and control circuits. Also, a part or component in the process of failing will operate unreliably thus introducing intermittent errors.
Further unique conditions can arise, such as several units simultaneously requesting system bus access, which cause still another kind of intermittent error condition.
Thus, there is a definite need for a resilient bus arrangement. This is in contrast to trying to increase the reliability of a system bus through the introduction aye 510-02042 of redundant circuits or special hardware checking facilities.
Accordingly, it is a primary object of the present invention to provide a system which is resilient to errors occurring during bus transfers.
It is a further object of the present invention to provide a system which prevents damage to the integrity of a systems data and operation.
MURPHY THE INVENTION
The above objects of the present invention are achieved by the illustrative embodiment which includes a plurality of units which are coupled to transfer requests including data, command and integrity signals between units over a bus system during allocated bus transfer cycles Each unit includes response apparatus for acknowledging requests received from other units. Each of a number of units further includes retry apparatus and checking apparatus for verifying that all of the parts of a request received from such unit over the bus system are valid. When less than all of the parts of the request are detected as valid, the receiving unit does not accept the request and inhibits its response apparatus from generating a response. This permits the receiving unit at an early point in a transfer operation to reject the cycle in a way that it is automatically communicated to the requesting unit.
In the present embodiment of the invention, the lack of a response causes the generation of a negative acknowledgement by timeout apparatus which connects to the bus system. This prevents damage to system integrity I AL
and permits the requesting unit with retry apparatus -to retry the request during a subsequent bus transfer cycle. Also, having the receiving unit not respond reduces interference and permits the allocation of bus cycles only to those units receiving valid requests. Thus, the present invention utilizes the fact that error conditions caused by the bus system are essentially inter-mitten. Therefore, a single retrying of the request will correct the error condition, unless it is due to a failure.
In the disclosed embodiment, the present invention is utilized in a data processing system which includes units of older designs. These units do not include the apparatus of the present invention and are unable to perform a checking operation on all of the parts of a request. However, when such older design unit transfers a request to a unit which includes the apparatus of the present invention, the unit generates a response which is the same as the older design unit would have received if being operated in the old system. Additionally, the additional integrity bits generated by the receiving unit can be trays-furred to other parts of the unit and used for additional checking following acceptance of the request.
Accordingly, the invention can be used in a variety of systems containing mixtures of old and new units. Moreover, the introduction of the apparatus of the present invention does not require any changes in the operation and the circuitry of such old units.
In accordance with the present invention, there is provided a system including a plurality of units coupled in common to a system bus for transferring requests between said plurality of units during different bus cycles of operation, said system further including: means included in at least Z78~
- pa -one of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts each containing a number of integrity bits for verifying when said request is validly received by another unit of said plurality of units during a bus cycle of operation;
checking means included in said another unit for verifying that all of said number of different parts of said each request received by said another unit are valid; and, response means included in said another unit, said response means being coupled to said checking means and to said bus, said response means being conditioned by said checking means when less than all of said parts of said received request are valid, from generating any response on said bus to said one unit.
In accordance with another aspect of the invention, there is provided a system including a plurality of units of new and old designs coupled in common to a system bus for transferring requests between said plurality of units during different asynchronously generated bus cycles of operation, said system further including: first means included in at least a first unit of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts, each containing at least one integrity bit for verifying that said request is validly received by a second unit of said plurality of units during a bus cycle of operation;
said system bus including a new parity line coupled only to each of said units of new design; second means included in said first unit for applying a predetermined signal to said new parity line which identifies to a second one of said plurality of units receiving said request that said request includes all integrity bits required for verifying that all of said number I
- 5b -of parts of said request are valid; checking means included in each of said plurality of units, said checking means of each of said units of new design being coupled to said new parity line and operative in response to said predetermined signal to verify that all of said number of different parts of said request received by said unit are valid; and, response means included in each of said plurality of units, said response means being coupled to said checking means and to said bus, said response means of each of said units of said new design being conditioned by said checking means when less than all of said parts of said received request are valid from generating any response on said bus to said first unit.
The novel features which are believed to be character-fistic of the invention both as to its organization and method of operation, together with further objects 7~7~
and advantages will be better understood from the following description when considered in connection with the accompanying drawings. It is to be expressly understood, however, that each of the drawings are given for the purpose of illustration and description only and are not intended as a definition of the limits of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of a system which includes the apparatus of the present invention.
Figure 2 shows in greater detail, the central subsystem of Figure 1.
Figures pa through 3c show in greater detail, the central subsystem interface area of Figure 2.
Figure 4 is a flow chart used to explain the operation of the apparatus of the present invention.
Figures pa through of show the formats of the requests and responses generated by the system of Figure 1 according to the teachings of the present invention.
Figure 1 shows a data processing system 10 which includes a plurality of subsystems 14 through 18 of old and new designs which couple in common to a system bus 12. The illustrative subsystems include a central subsystem 14, a memory subsystem 14 and a peripheral sub-system 18. Each subsystem includes an interface area which enables -the unit or units associated therewith to 3L;227874 transmit or receive requests in the form of commands, interrupts, data or responses/status to another unit on system bus 12 in an asynchronous manner.
It is assumed that only subsystems 14 and 16 are new in design and incorporate the apparatus of the present invention in their interface areas 14-1 and 16-1, respectively. The peripheral subsystem 18 is assumed to be designed for inclusion in an earlier system, such as the system disclosed in US. Patent No. 3,995,258, entitled "Data Processing System Having a Data Integrity Technique", invented by George J. Barlow. Hence, its interface area 18-1 does not include the apparatus of the present invention but connects to system bus 12 and operates as in the earlier system as explained herein.
Interface area 1~-1 includes bus interface logic circuits disclosed in Figure 9 of US. Patent No. 3,995,258.
By way of illustration, only three subsystems are shown in Figure 1. However, data processing system 10 normally includes additional subsystems of both new and old designs for connecting a full complement of peripheral devices, other processing units and communication devices to system bus 12. In addition to these subsystems, system 10 includes timer apparatus which takes the form of timeout logic circuits of block 20. As shown, these circuits couple to system bus 12 and operate to generate a signal after a predetermined period of time, such as five microseconds, which in turn produces a negative acknowledgement response signal on system bus 12 as explained herein.
As mentioned above, each of the interface areas 14-1 and 16-1 includes the apparatus of the present invention. Except as stated herein, both of these 78~
interface areas can be considered equivalent design.
Therefore, only interface area 14-1 is described in detail herein with reference to Figure 2.
Referring to figure 2, it is seen that the interface area 14-1 includes the integrity checking circuits of block 14-10, the response circuits of block 14-12 and the port registers and bus retry circuits of block 1~-14. As shown, the circuits of block 14-10 couple to system bus 12 and receive as inputs all of the signals applied to the different portions of system bus 12. These include a bus new parity line, a 36-bit wide data portion, a 27-bit wide address portion and a 9-bit wide command portion.
The circuits of block 14-10 generate a bus OK parity signal indicating whether or not parts of a request applied to bus 12 are valid. Additionally, in the case of requests received from older subsystems (e.g.
subsystem 18), block 14-10 provides a bus address parity signal for distribution within the central processing unit (CPU) area 14-2 as explained herein. The bus parity OK signal is applied as an input to the response circuits ox block 14-12. These circuits operate to generate on bus 12 several types of responses. One is an acknowledgement (ASK) response indicating that a valid request was received. Another is a negative acknowledgement (NAY) response indicating that the request could not be processed at that time. A third type of response is no response which produces a timeout condition and causes a retry of the request as explained herein.
go Additionally, the response circuits of block 14-12 receive signals from bus 12 indicative of the type of bus cycle being performed and signals from interrupt response circuits, not shown, indicating whether or not the interrupt level of the requester is sufficient to be accepted, as explained herein.
The port registers and bus retry circuits of block 14-14 couple to system bus 12. The block 14-14 stores address, data and command portions of each request received from CPU area 14-2 for subsequent transfer to system bus 12. Additionally, block 14-14 includes circuits for retrying a request on system bus 12 when the request is not verified by the receiving unit, as explained herein.
Figure pa shows in greater detail, the integrity checking circuits of block 14-10. As shown, these circuits include three groups of parity check and generator circuits constructed from conventional chips such as the ASSAY manufactured ho Texas Instruments Corporation. The first group of ASSAY chip circuits 14-100 through 14-103 generate data parity check signals DPOOOKOOO through DP240KOOO at their even if) output terminals for the 32 data bit signals BSDTOOO10 through BSDT31010 and four parity integrity data bit signals BSDPOOO10 through BSDP24010.
The next group of ASSAY chip circuits 14-10~
generate address parity check signals APOOOKOOO through AP160KOOO at their even output terminals or the 24 address bit signals BSADOOO10 through BSAD23010 and three parity integrity address bit signals BSAPOOO10 through BSAP16010. A last ASSAY chip circuit 14-107 generates command parity check signal COMPAQ at its even output terminal for the eight command bit signals BSMREFOOO
through BSYELOO10 and parity integrity command bit signal BSCPOOO10.
Each of the data parity check signals DPOOOKOOO
through DP240KOOO is combined with a bus new parity signal BSNEWPO10 and a bus double wide signal BSDBWDO10 in the case of last two check signals within NAND/AND
(i.e., positive logic) or AND/NOR (ire , negative logic) gate circuits 14-110 constructed from conventional chips such as 74S64 manufactured by Texas Instruments Corporation. Similarly, each of the address parity check signals APOOOKOOO through AP160KOOO is combined within bus new parity signal BSNEWPO10 within NAND/AND gate circuits 14-110. Lastly, the command parity check signal COMPAQ is combined with new bus parity signal BSNEWPO10 within NAND/AND gate circuits 14-110.
Whenever any one of the parity check signals at the even output terminals. is a binary ONE, this signals an error in the part of the request being received from system bus 12. The result is that one of the NAND/AND
circuits of circuits 14-110 receiving the binary ONE
applies a binary ZERO as an input to the AND gate part ox circuits 14-110 forcing bus parity OK signal BSPAOKO10 to a binary ZERO.
Because the subsystems of Figure 1 include both new and old subsystems, bus new parity signal BSNEWPO10 is used to differentiate between these two types of subsystems. As mentioned above, only the new subsystems provide full integrity checking of requests before ~2~7~7~ 510-020~2 acceptance. Accordingly, each such subsystem operates to force signal BSNEWP010 to a binary ONE. In the case of an older subsystem, the bus new parity line is absent.
Hence, signal BSNEWP010 remains a binary ZERO. This effectively disables the checking circuits by causing circuits 14-110 to automatically force bus parity OK
signal BSPAOK010 to a binary ONE
The state of bus double wide line is used to signal whether or not the request includes a transfer of all 32 data bits by a subsystem that has a double wide data path. That is, when signal BSDBWD010 is a binary ONE
indicative of a 32-bit double wide data transfer, the circuits 14-110 are conditioned to verify the integrity of all 32 bits When signal BSDBWD010 is a binary ZERO
indicative of a transfer of 16 data bits, circuits 14-110 are effectively disabled from performing a check of data bits 16-31 it cause their RAND circuits to apply binary ONE input signals to the AND portion of circuits 14-110) t Additionally, the integrity checking circuits of block 14-10 further include series connected NO gate 14-112 and OR gate 14-114. NOR gate 14-112 combines bus new parity signal BSNEWP010 and address check parity signal AP160K010 from the odd output terminal of parity check/generator circuit 14-106. The arrangement recognizes that older subsystems will not transmit new address integrity signals on system bus 12. Thus, the integrity signal BSAP16010 received by the integrity checking circuits 14-10 will be a binary ZERO. Since the binary ZERO state of signal BSAP16010 received from system bus 12 is guaranteed, Owing this signal with signal NOPE from NOR gate 14-112 provides good ~2~7~ 510-02042 parity in the form of signal BSAP16110 to the internal address paths of central subsystem 14-2.
In this instance, parity circuit 14-106 functions as a parity generator in providing odd parity for address bit signals BSAD16010-23010~ Here, bus new parity signal BSNEWP010 is a binary ZERO causing signal BSAP16110 assumes the state of parity signal AP160K010. When bus new parity signal BSNEWP010 indicative of a request from a new subsystem, signal BSAP16110 assumes the state of the address integrity signal BSAP16010 from system bus 12. By timesharing circuit 14-106 in this manner, good parity signals are transferred to subsystem address paths in the case of both new and older subsystem requests.
Although not shown, it may be assumed that each of the odd parity signals AP080K010 and COMPOK01n is combined with signal BSNEWP010 in the same manner as described above.
Additionally, bus parity OK signal BSPAOR010 is also applied as an input to the second half bus cycle response circuits, not shown, of the interface area 14-1. It is only when signal BSAOK010 is a binary ONE, is a second half bus cycle response flip-flop allowed to be set to a binary ONE state which permits a response as explained herein.
RESPONSE CIRCUITS OF BOCK 1~-12 Only the new subsystems of Figure 1 include circuits equivalent to those of block 14-12. AS shown in Figure 3b, the circuits of block 14-12 include channel decoder circuits 14-120, a RAND gate 14-122, a plurality of AND
gates 14-124 through 14-128, a 9-bit register 14-130, an LIZ I
output exclusive OR gate circuit 14-132 and OR gate 14-134 connected as shown. The gates and register are conventional in design. For example, register 14-130 may be constructed from a ASSAY chip circuit manufacture Ed by Texas Instruments Corporation.
The circuits of block 14-120 operate to detect when the unique channel number assigned to central sub-system 14-2 is applied to system bus 12. These circuits include comparison circuits which compare the received channel number with an internally stored channel number and force CUP channel signal CPCHAN010 to a binary ONE upon detecting an identical comparison there between. RAND
gate 14-122 combines signal CPCHAN010 and bus parity signal BSPAOK010 to produce channel OK signal CHINOOK.
It forces signal CHINOOK to a binary ZERO when the integrity checking circuits 14-10 have verified that all of the parts of the request received by central subsystem 14 are valid. This, in turn, enables register 14-130 for storing the states of signals PRSHBA010, PRONTO and PRINTN010 in response to bus data cycle now delayed signal BSDCND010. This signal defines the interval of time during which the addressed subsystem (slave) will have been able to detect its channel address. For further discussion, reference may be made to United States Patent No. 3,995,258. The signals PRSHBA010 through PRINTN010 identify the type of bus cycle being performed and are used to generate either an acknowledgement or negative acknowledgement response signal. In greater detail, AND gate 14-124 combines second half bus cycle signal BSSHBC010 and processor second half read history signal PRICIER to produce second half bus cycle acknowledgement signal PRSHBA010.
'7~3~7~
The second half bus cycle is the interval during which previously requested information is transferred to the requesting subsystem. It is the second cycle ox a two cycle operation, such as a read operation.
Signal BSS~IBC010 is received from system bus 12 when the subsystem (e.g. memory subsystem 16 is transferring the data previously requested by central subsystem 14.
Signal PRICIER is normally a binary ONE and ensures that central subsystem 14 acknowledges second half bus cycles ox only those requests it initiates.
AND gates 14-126 and 14-128 combine CPU interrupt signal CPINTR010 and complementary processor level signals PRLVLS010 and PRLVLS000 to produce I/O interrupt acknowledgement and negative acknowledgement signals PRONTO and PRINTN010. The CPU interrupt signal CPINTR010 and processor level signal PRLVLS010 when both binary ONES indicating that the interrupting subsystem has a higher priority than the current operating level (i.e., level number value is less) causes AND gate 14-126 to force acknowledgement signal PRONTO to a binary ONE. At that time, complementary processor level signal P~LVLS000 is a binary ZERO. However, when processor level signal PRLVLS000 is a binary ONE indicating that the interrupting subsystem has a lower priority than the current operating level, AND gate 14-128 forces negative acknowledgement signal PRINTN010 to a binary ONE.
The acknowledgement signals PRS~BA110 and PRONTO
are combined within exclusive OR gate 14-132 for checking purposes so that my acknowledgement signal MOCKER is generated when only one of the acknowledgement signals is a binary ONE. The negative acknowledgement signal PRINTN110 when a binary ONE causes OR gate 1~-134 to ~22~7~7~
510-020~2 force my negative acknowledgement signal MONROE to a binary ONE. As seen from Figure 3b, signals MOCKER
and MONKERY are applied to system bus 12 via conventional driver circuits, not shown.
As discussed above memory subsystem interface area 16-1 includes similarly constructed response circuits with one exception. The memory response circuits include circuits for generating a wait response. This requires another AND gate which receives the same signals as AND
gate 14-124. However, one of two complementary signals indicating the busy status of the memory is applied to an appropriate one of these AND gates.
PORT REGISTERS AND BUS RETRY CIRCUITS
Figure 3c shows in greater detail, the port registers and retry circuits of block 14-14 of Figure 2.
AS shown, block 14-14 includes a plurality of registers 14-140, 1~~142 and 14-144 which store the data, address, command and integrity bits of a request generated by central processing unit area 14-2. The contents of these registers are applied via a system request unit 14-146 and driver circuits, not shown, to the data, address and command portions of system bus 12.
Also, my new parity signal MYNEWP010 is forced to a binary ONE which in turn causes bus new parity line to be forced to a binary ONE. All of the signals of the request are grated onto system bus 12 with my data cycle now signal MYDCNN010. At that time, system request unit 14-146 operates to force my request signal MARQUETTE to a binary ONE signaling a receiving subsystem of the ~2~74 510-02042 request. Signal MARQUETTE is generated according to the following Boolean equation:
MARQUETTE = BUSREQ010~(MYDCNN010 NAKFLP000 BSNARR010), The second half of the equation pertains to generating my request signal MARQUETTE for retrying any request which was not accepted by a receiving subsystem as explained herein. In addition to unit 14-146, the retry circuits further include a Taipei flip-flop 14-148. The flip-flop 14-148 is held in a binary ZERO
state when CPU area 14-2 is not issuing a bus request (ire., signal BUSYWORK is a binary ZERO). The flip-flop 14-148 is permitted to switch to a binary ONE state when signal BUSYWORK is switched from a binary ZERO to a binary ONE according to the following equation:
SET = MYDCNN010 BSNAKR010o Thus, it stores the fact thaw a negative acknowledgement was received from system bus 12.
In response to signal NAKFLP010 being forced to a binary ONE, system bus request unit 14-146 forces a system yellow signal SICILY to a binary ONE (i.e., SICILY = NAKFLP010 TOMATO). also, unit 14-146 forces a system error signal CICERO to a binary ONE
according to the following Boolean equation:
CICERO = MYDCNN010 NAKFLP010 BSNAKR010 TOMATO.
Both of these signals are forwarded to the CPU area 14-2 for action as explained herein.
The signal TOMATO is generated by Tut circuits, conventional in design included with block 14-146. These circuits force signal TOMATO to a binary ON when they detect that signal MYDCNN010 has remained at a binary ONE for a predetermined period of time which corresponds to three microseconds.
DESCRIPTION OF OPERATION
With reference to flow diagrams of Figures pa and 4b, the operation of interface area 14-1 will now be described relative to processing the requests of Figure 5. It is assumed that central subsystem 14 desires to write or read data from memory subsystem 16. In such case, subsystem 14 operates to generate a memory request having the format of Figure pa or 5b. That is, subsystem 14-2 loads the data, address, command and integrity bits into registers 14-140 through 14-144. Additionally, system bus request unit 14-146 forces signal MYNEWP010 to a binary ONE. Also, it forces bus request signal BUSYWORK to a binary ONE. This results in my request signal MARQUETTE being forced to a binary ONE and the clearing of flip-flop 14-148 to a binary ZERO.
Signal MARQUETTE forces a bus request line BSREQT to a binary ONE signaling that subsystem 14 is requesting a bus cycle. For a memory request, the command bits are set as follows BSMREF010=1; BSWRIT010=0 = (read) or 1 =
(write); BSLOCK010=0; BSSHBC010=0; BSDBWD010=1;
BSBYTE010=0; BSDBPL010=1, and BSYEL0010=0.
When subsystem has been granted a bus cycle in response to signal BUSYWORK, signal MYDCNN010 is forced to a binary ONE by priority network circuits included within unit 14-146. These circuits are conventional in design and may take the form of the circuits disclosed in US. Patent No. 3,995,258. At that time, the memory AL
request together with new bus parity signal MYNEWP010 are applied to system bus 12.
As seen from Figure 4b, memory subsystem area 16-1 operates to sense the request from system bus 12. This is done by channel decoder circuits similar to those of block 14-120 detecting the memory subsystem's channel address and detecting that bus memory reverence command bit BSMREF is a binary ONE. Next, memory subsystem determines the state ox bus new parity line which establishes whether or not all of the new integrity checks will be performed. Since signal BSNEWP010 is a binary ONE, circuits identical to those of Figure pa operate to perform an integrity check on each part of the memory request. When any part of the request cannot be verified as valid, the integrity check circuits operate to force bus parity OR signal to a binary ZERO.
As seen from Figure 4b, this causes the memory subsystem 16 to inhibit the generation of a response.
That is, circuits similar to those of Figure 3c, force channel OK signal CHINOOK to a binary ONE inhibiting the generation of any response Now, the time out circuits of block 20 started a timing interval in response to the generation of my data cycle now signal MYDCNN010 by system response unit 14-146 ox Figure 3c. Because memory subsystem I jails to generate any response (acknowledgement, wait or negative acknowledgement), the circuits of block 20 at the end ox a five microsecond interval generate a negative acknowledgement signal. This results in signal BSNAKR010 being forced to a binary ONE which, in turn, switches flip-flop 14-148 of Figure 3c to a binary ONE.
I to 510-020~2 --lug--As seen from Figure pa, central subsystem 14 upon detecting having not received a response and that a bus timeout occurred, determines whether or not this is the first time that the request is to be retried. This is defined by the state of flip-flop 14-148. That is, when the flip-flop 14-148 is in a binary ZERO state, the receipt of negative acknowledgement signal BSNAKR010 at the end of the bus cycle causes my request signal MERRITT to be switched again to a binary ONE. At that time, my data cycle now signal MYDCNN010 is still a binary ONE.
When central subsystem 14 is again granted access to system bus 12, my data cycle now signal MYDCNN010 is again switched to a binary ONE. This again applied the request contents of registers 14-140 through 14-144 together with new parity line signal MYNEWP010 to system bus 12. Again, the operations of Figures pa and 4b are performed by subsystems 14 and 16.
It will be noted that negative acknowledgement signal BSNAKR010 causes flip-flop 14-148 to switch to a binary ONE (ire. set = MYDCN~010 BSNAKR010)~ This, in turn, forces error signal SICILY to a binary ONE when internally generated timeout signal TOMATO is a binary ONE. This signals central processing unit area 14-2 of the occurrence of the bus error and resulting first retry operation.
As seen from Figure pa, in the event that the retry operation is not successful, the timeout circuits of block 20 operate to generate a second negative acknowledgement signal. This causes the system bus request unit 14-146 to force system error signal CICERO to a binary ONE. Since this is the second retry, central subsystem 14 operates to abort the request and report the unsuccessful retry error condition. Since the condition which produced the error could not be remedied by retrying the request once, it is viewed by the system as a solid failure.
s seen from Figure 4b, when the retried request is completely verified by memory subsystem 16, then the memory subsystem integrity checking circuits operate to force bus parity OK signal BSPAOR010 to a binary ONE
state. This, in turn, permits the memory subsystem response circuits to generate an acknowledgement response signal as indicated in Figure 4b. Only after such verification, is Monroe subsystem 16 permitted to accept and process the request. That is, positive acknowledgement signal MOCKER enables the request from system bus 12 to be loaded into the queue registers of the memory subsystem. For further information regarding how this is accomplished, reference may be made to US.
Patent No. 4,451,880, titled "Memory Controller with Interleaved Queuing Apparatus". Thus, the possibility of damage to memory information or the initiation-of invalid operation has been eliminated.
As seen from Figure Say a memory write request requires only one bus cycle of operation. However, a memory read request requires two bus cycles of operation. The first bus cycle is performed in the same manner for both memory read and memory write requests.
During a subsequent second bus cycle, the memory subsystem 16 transfers the requested data to central subsystem 14. Here memory subsystem 16 performs the sequence of operations of Figure pa. As seen from Figure 5c, subsystem 16 applies the channel number of central subsystem 14, a constant value K and associated integrity ~Z2787~ 510-02042 bits to the address portion of system bus 12. The data and integrity bits are applied to the data portion of system bus 12 while the command and integrity bits are applied to the command portion of system bus 12. Also the system response unit of memory subsystem 16 forces new parity line signal (e.g. MYNEWP010) to a binary ONE.
Now, central subsystem 14, as the receiving unit, (slave) performs the sequence of operations of Figure 4b. Briefly, the integrity circuits of block 14-10 perform a check of each part of the information received from system bus 12. As seen from Figure 3b, in the absence of bus parity OK signal BSPAOK010 being forced to a binary ONE, the response circuits of block 14-12 are inhibited from generating a response. As previously discussed, this causes the timeout circuits of block 20 to generate a negative acknowledgement signal. As seen from Figure 4b, this causes memory subsystem 16 to retry the same transfer of information during a subsequent cycle of operation. If the retry is successful, the central subsystem response circuits of block 14-12 are operative to generate an acknowledgement signal indicating acceptance which completes the memory operation. The acknowledgement signal causes the request to be stored in an input register (e.g. FIFO, buffer, queue).
When the retry is unsuccessful, the memory subsystem operates to signal the occurrence of an uncorrectable error condition via system bus 12 or by other conventional means. It will be noted that for ease of implementation and design simplicity, the retry circuits of block 14-146 will retry all requests issued by CPU
area 14-2 which result in the receipt of a negative acknowledgement response.
~L2;~7~
Figures Ed and ye illustrate the formats of an I/O
read request and I/O read request response. This type of request and- response is processed by a peripheral subsystem in the same manner as the memory read request was processed by memory subsystem 16. The function code is used to specify the particular I/O operation to be performed. It is presumed that the peripheral subsystem is constructed to include the integrity checking and retry apparatus of the present invention.
Figure of illustrates the format of an interrupt request. A subsystem desiring to interrupt the central subsystem 14 requests a bus cycle. When the bus cycle is granted, the subsystem places the channel number of central subsystem 14 on the address portion of system bus 12 and its own channel number and level number on the data portion of system bus 12. That is, the interrupting subsystem performs the series of operations of Figure pa while central subsystem 14 performs the series of operations of Figure 4b.
In the same manner as previously described, the central subsystem integrity checking circuits of block 14-10 operate to verify all parts of the interrupt request. When so verified, bus parity OK signal BSPAOK010 is forced to a binary ONE. As seen from Figure 3b, this enables register 14-130 to be loaded with the states of signals PRSHBA010, PRONTO and PRINTN010.
Since this is an interrupt request, second half bus cycle acknowledgement signal PRS~BA010 is a binary ZERO. The central subsystem 14 accepts the interrupt request by forcing interrupt acknowledge signal PRONTO to a binary ONE when the level number presented by the interrupting subsystem is numerically smaller than the current internal level. However, when the present level 12Z7~37~ 510-020~2 number is not numerically smaller than the current internal level, central subsystem indicates that it cannot accept the interrupt by forcing interrupt negative acknowledgement signal PRINTN010 to a binary ONE. As seen from Figure pa, in the absence of a response from central subsystem 14, the interrupting subsystem operates to retry the interrupt request If retry is successful, operation continues. However, if retry is unsuccessful, the interrupting subsystem signals the error condition to the central subsystem 14.
As seen from Figure 4b, the integrity checker.
circuits of the present invention also operate to process requests received from older subsystems which do not include the integrity checking features of the present invention. That is, when the request received and bus new parity signal BSNEWP010 is a binary ZERO, the circuits of block 14-10 of Figure pa force bus parity OK
signal BSPAOK010 to a binary ONE. The valid parity signals generated by parity generator circuit 14-106 and other such circuits are applied to the subsystem internal address paths. This provides added system integrity within essentially no additional circuits.
Summarizing the above, it is seen how subsystems which include the integrity checking bus and retry circuits of the present invention are able to determine at the earliest possible time whether or not a request has been properly received by a subsystem. By placing the burden of request verification on the unit initiating the request (master) or stated differently, the unit allocated the bus cycle, the system can reliably make such determinations and take the desired corrective action before any damage occurs. This provides a high degree of system resiliency while still maintaining a ~Z27~ 510-020~2 high degree of integrity. It will be noted that the same degree of integrity is employed in the handling of any type of bus request.
While the several examples described pertained to requests requiring one or two bus cycles, the invention operates in the same fashion in processing requests having any number of cycles (e.g. burst requests, double pull requests). Also, the present invention is in no way limited to any particular request format. For additional examples of formats, reference may be made to the publication entitled "Level 6 Minicomputers MODELS 6/34, 6~36 and 6/42", Order No. ASSAY, Rev. 3, dated May, 1979, Copyright 1979 Honeywell Information Systems Inc.
It will also be noted that for any system in which all subsystems include the integrity checking and retry circuits of the present invention, there will be no need to include the bus new parity line Also, many changes may be made to the integrity checking and response circuits of the present embodiment for accommodating different types of subsystems. The present embodiment is only illustrative of the type of circuits required for including the integrity and resiliency features of the present invention as part of a bus system of a processing system.
While in accordance with the provisions and statutes there has been illustrated and described the best form of the invention, certain changes may be made without departing from the spirit of the invention as set forth in the appended claims and that in some cases, certain features of the invention may be used to advantage without a corresponding use of other features.
What is claimed is:
Claims (10)
1. A system including a plurality of units coupled in common to a system bus for transferring requests between said plurality of units during different bus cycles of operation, said system further including:
means included in at least one of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts each containing a number of integrity bits for verifying when said request is validly received by another unit of said plurality of units during a bus cycle of operation;
checking means included in said another unit for verifying that all of said number of different parts of said each request received by said another unit are valid; and, response means included in said another unit, said response means being coupled to said checking means and to said bus, said response means being conditioned by said checking means when less than all of said parts of said received request are valid, from generating any response on said bus to said one unit.
means included in at least one of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts each containing a number of integrity bits for verifying when said request is validly received by another unit of said plurality of units during a bus cycle of operation;
checking means included in said another unit for verifying that all of said number of different parts of said each request received by said another unit are valid; and, response means included in said another unit, said response means being coupled to said checking means and to said bus, said response means being conditioned by said checking means when less than all of said parts of said received request are valid, from generating any response on said bus to said one unit.
2. The system of claim 1 wherein said system further includes timeout means coupled to said system bus, said timeout means being operative in the absence of any response from said another unit to generate a predetermined signal on said bus after a predetermined period of time indicating that said another unit has not accepted said request and said one unit further including retry means coupled to said system bus, said retry means in response to said signal being operative to condition said generating means to retry said request on said system bus during a subsequent bus cycle of operation.
3. The system of claim 2 wherein said one unit further includes indicator means coupled to said retry means, said indicator means being operative in response to said predetermined signal to generate a first error signal signifying the occurrence of a first retry operation by said one unit.
4. The system of claim 3 wherein said one unit further includes error means coupled to said retry means, said error means being operative in response to a second occurrence of said predetermined signal to generate a second error signal signifying that said first retry operation was unsuccessful and that said request is to be aborted.
5. The system of claim 1 wherein said system bus includes a plurality of sections, each arranged for receiving at least one predetermined part including at least one of said number of integrity bits of each said request during each. of a number of bus cycles of operation.
6. The system of claim 1 wherein said plurality of sections include a multi bit address bus section, a multi bit data bus section and a multibit command bus section for receiving an address, data and command bits including said number of integrity bits of each request during each of said number of bus cycles of operation.
7. A system including a plurality of units of new and old designs coupled in common to a system bus for transferring requests between said plurality of units during different asynchronously generated bus cycles of operation, said system further including:
first means included in at least a first unit of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts, each containing at least one integrity bit for verifying that said request is validly received by a second unit of said plurality of units during a bus cycle of operation;
said system bus including a new parity line coupled only to each of said units of new design;
second means included in said first unit for applying a predetermined signal to said new parity line which identifies to a second one of said plurality of units receiving said request that said request includes all integrity bits required for verifying that all of said number of parts of said request are valid;
checking means included in each of said plurality of units, said checking means of each of said units of new design being coupled to said new parity line and operative in response to said predetermined signal to verify that all of said number of different parts of said request received by said unit are valid; and, response means included in each of said plurality of units, said response means being coupled to said checking means and to said bus, said response means of each of said units of said new design being conditioned by said checking means when less than all of said parts of said received request are valid from generating any response on said bus to said first unit.
first means included in at least a first unit of said plurality of units for generating requests on said bus, each request containing a number of different parts, said parts, each containing at least one integrity bit for verifying that said request is validly received by a second unit of said plurality of units during a bus cycle of operation;
said system bus including a new parity line coupled only to each of said units of new design;
second means included in said first unit for applying a predetermined signal to said new parity line which identifies to a second one of said plurality of units receiving said request that said request includes all integrity bits required for verifying that all of said number of parts of said request are valid;
checking means included in each of said plurality of units, said checking means of each of said units of new design being coupled to said new parity line and operative in response to said predetermined signal to verify that all of said number of different parts of said request received by said unit are valid; and, response means included in each of said plurality of units, said response means being coupled to said checking means and to said bus, said response means of each of said units of said new design being conditioned by said checking means when less than all of said parts of said received request are valid from generating any response on said bus to said first unit.
8. The system of claim 7 wherein said checking means of each unit of said new design is operative in the absence of said predetermined signal to perform a checking operation on less than all of said parts of said received request and said response means of said each unit of said new design being conditioned by said checking means as a result of such checking operation to generate a response to one of said units of said old design which transmitted said received request, which is the same as would have been generated in the system, which included only said units of said old design.
9. The system of claim 7 wherein said response means of each unit of said new design is conditioned by said checking means when all of said parts of said received request are valid to generate a predetermined response to said first unit signaling that said request has been validly received.
10. The system of claim 9 wherein each of said units of said new design include connector means for applying said number of said integrity bits to said bus in a predetermined manner for enabling each of said units of said old design coupled to said bus to disregard said integrity bits and perform a check only those parts of said received request verified in said system designed to include said units of said old design.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US623,264 | 1984-06-21 | ||
US06/623,264 US4763243A (en) | 1984-06-21 | 1984-06-21 | Resilient bus system |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1227874A true CA1227874A (en) | 1987-10-06 |
Family
ID=24497410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000484593A Expired CA1227874A (en) | 1984-06-21 | 1985-06-20 | Resilient bus system |
Country Status (10)
Country | Link |
---|---|
US (2) | US4763243A (en) |
EP (1) | EP0165603B1 (en) |
KR (1) | KR910007650B1 (en) |
AU (1) | AU582164B2 (en) |
CA (1) | CA1227874A (en) |
DE (1) | DE3587493T2 (en) |
DK (1) | DK169186B1 (en) |
FI (1) | FI92262C (en) |
NO (1) | NO174312C (en) |
YU (1) | YU46372B (en) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4914576A (en) * | 1986-12-18 | 1990-04-03 | Bull Hn Information Systems Inc. | Apparatus and method of loading a control store memory of a central subsystem |
US4910666A (en) * | 1986-12-18 | 1990-03-20 | Bull Hn Information Systems Inc. | Apparatus for loading and verifying a control store memory of a central subsystem |
GB2203617B (en) * | 1987-03-30 | 1991-08-21 | Ind Technology Inst | Embedded test system for communications systems conformance testing |
US4910656A (en) * | 1987-09-21 | 1990-03-20 | Motorola, Inc. | Bus master having selective burst initiation |
US5222219A (en) * | 1988-10-25 | 1993-06-22 | Hewlett-Packard Company | Pipeline computer system having write order preservation |
JP2981618B2 (en) * | 1988-10-25 | 1999-11-22 | アポロ・コンピューター・インコーポレーテッド | Write order preservation method in pipeline computer system |
US5440693A (en) * | 1990-07-19 | 1995-08-08 | International Business Machines Corp. | Personal computer with drive identification |
ATE159108T1 (en) * | 1990-07-19 | 1997-10-15 | Ibm | PERSONAL COMPUTER WITH DRIVE IDENTIFICATION |
US5210757A (en) * | 1990-10-05 | 1993-05-11 | Bull Hn Information Systems Inc. | Method and apparatus for performing health tests of units of a data processing system |
US5522069A (en) * | 1993-04-30 | 1996-05-28 | Zenith Data Systems Corporation | Symmetric multiprocessing system with unified environment and distributed system functions |
EP0665501A1 (en) * | 1994-01-28 | 1995-08-02 | Compaq Computer Corporation | Bus master arbitration circuitry with retry mechanism |
US6104876A (en) * | 1995-06-07 | 2000-08-15 | Cirrus Logic, Inc. | PCI bus master retry fixup |
US5966306A (en) * | 1997-07-07 | 1999-10-12 | Motorola Inc. | Method for verifying protocol conformance of an electrical interface |
US8044793B2 (en) | 2001-03-01 | 2011-10-25 | Fisher-Rosemount Systems, Inc. | Integrated device alerts in a process control system |
US7562135B2 (en) | 2000-05-23 | 2009-07-14 | Fisher-Rosemount Systems, Inc. | Enhanced fieldbus device alerts in a process control system |
US6975219B2 (en) | 2001-03-01 | 2005-12-13 | Fisher-Rosemount Systems, Inc. | Enhanced hart device alerts in a process control system |
US7206646B2 (en) | 1999-02-22 | 2007-04-17 | Fisher-Rosemount Systems, Inc. | Method and apparatus for performing a function in a plant using process performance monitoring with process equipment monitoring and control |
US6609171B1 (en) * | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
CN1310106C (en) | 2001-03-01 | 2007-04-11 | 费舍-柔斯芒特系统股份有限公司 | Remote analysis of process control plant data |
US7389204B2 (en) * | 2001-03-01 | 2008-06-17 | Fisher-Rosemount Systems, Inc. | Data presentation system for abnormal situation prevention in a process plant |
US6954713B2 (en) | 2001-03-01 | 2005-10-11 | Fisher-Rosemount Systems, Inc. | Cavitation detection in a process plant |
US8073967B2 (en) | 2002-04-15 | 2011-12-06 | Fisher-Rosemount Systems, Inc. | Web services-based communications for use with process control systems |
CN1324420C (en) | 2001-03-01 | 2007-07-04 | 费舍-柔斯芒特系统股份有限公司 | Data sharing in process plant |
US7720727B2 (en) | 2001-03-01 | 2010-05-18 | Fisher-Rosemount Systems, Inc. | Economic calculations in process control system |
US6795798B2 (en) | 2001-03-01 | 2004-09-21 | Fisher-Rosemount Systems, Inc. | Remote analysis of process control plant data |
US7162534B2 (en) * | 2001-07-10 | 2007-01-09 | Fisher-Rosemount Systems, Inc. | Transactional data communications for process control systems |
US20050012116A1 (en) * | 2002-02-19 | 2005-01-20 | Lim Swee Hock | Method for a first semiconductor device to determine if it is coupled to a second semiconductor device |
DE10236747A1 (en) * | 2002-08-10 | 2004-02-19 | Adam Opel Ag | Device for ensuring reliable signal transmissions in vehicle with data bus, marks information of controller communicating without problems as valid, of controller participating with problems as invalid |
US7600234B2 (en) * | 2002-12-10 | 2009-10-06 | Fisher-Rosemount Systems, Inc. | Method for launching applications |
US8935298B2 (en) | 2002-12-30 | 2015-01-13 | Fisher-Rosemount Systems, Inc. | Integrated navigational tree importation and generation in a process plant |
US7493310B2 (en) | 2002-12-30 | 2009-02-17 | Fisher-Rosemount Systems, Inc. | Data visualization within an integrated asset data system for a process plant |
US7152072B2 (en) | 2003-01-08 | 2006-12-19 | Fisher-Rosemount Systems Inc. | Methods and apparatus for importing device data into a database system used in a process plant |
US20040158474A1 (en) * | 2003-02-06 | 2004-08-12 | Karschnia Robert J. | Service facility for providing remote diagnostic and maintenance services to a process plant |
US7953842B2 (en) | 2003-02-19 | 2011-05-31 | Fisher-Rosemount Systems, Inc. | Open network-based data acquisition, aggregation and optimization for use with process control systems |
US7103427B2 (en) * | 2003-02-28 | 2006-09-05 | Fisher-Rosemont Systems, Inc. | Delivery of process plant notifications |
US6915235B2 (en) * | 2003-03-13 | 2005-07-05 | Csi Technology, Inc. | Generation of data indicative of machine operational condition |
US7634384B2 (en) | 2003-03-18 | 2009-12-15 | Fisher-Rosemount Systems, Inc. | Asset optimization reporting in a process plant |
US20040230328A1 (en) * | 2003-03-21 | 2004-11-18 | Steve Armstrong | Remote data visualization within an asset data system for a process plant |
US7299415B2 (en) * | 2003-06-16 | 2007-11-20 | Fisher-Rosemount Systems, Inc. | Method and apparatus for providing help information in multiple formats |
US7030747B2 (en) * | 2004-02-26 | 2006-04-18 | Fisher-Rosemount Systems, Inc. | Method and system for integrated alarms in a process control system |
US7079984B2 (en) * | 2004-03-03 | 2006-07-18 | Fisher-Rosemount Systems, Inc. | Abnormal situation prevention in a process plant |
US7676287B2 (en) * | 2004-03-03 | 2010-03-09 | Fisher-Rosemount Systems, Inc. | Configuration system and method for abnormal situation prevention in a process plant |
US7515977B2 (en) * | 2004-03-30 | 2009-04-07 | Fisher-Rosemount Systems, Inc. | Integrated configuration system for use in a process plant |
US7536274B2 (en) | 2004-05-28 | 2009-05-19 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a heater |
JP2008503012A (en) * | 2004-06-12 | 2008-01-31 | フィッシャー−ローズマウント システムズ, インコーポレイテッド | System and method for detecting abnormal conditions associated with process gain in a control loop |
US7181654B2 (en) * | 2004-09-17 | 2007-02-20 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a reactor |
US9201420B2 (en) | 2005-04-08 | 2015-12-01 | Rosemount, Inc. | Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data |
US8005647B2 (en) | 2005-04-08 | 2011-08-23 | Rosemount, Inc. | Method and apparatus for monitoring and performing corrective measures in a process plant using monitoring data with corrective measures data |
US7272531B2 (en) | 2005-09-20 | 2007-09-18 | Fisher-Rosemount Systems, Inc. | Aggregation of asset use indices within a process plant |
US7912676B2 (en) | 2006-07-25 | 2011-03-22 | Fisher-Rosemount Systems, Inc. | Method and system for detecting abnormal operation in a process plant |
US7657399B2 (en) | 2006-07-25 | 2010-02-02 | Fisher-Rosemount Systems, Inc. | Methods and systems for detecting deviation of a process variable from expected values |
US8606544B2 (en) | 2006-07-25 | 2013-12-10 | Fisher-Rosemount Systems, Inc. | Methods and systems for detecting deviation of a process variable from expected values |
US8145358B2 (en) | 2006-07-25 | 2012-03-27 | Fisher-Rosemount Systems, Inc. | Method and system for detecting abnormal operation of a level regulatory control loop |
EP2057517B1 (en) | 2006-09-28 | 2013-06-12 | Fisher-Rosemount Systems, Inc. | Abnormal situation prevention in a heat exchanger |
US8489360B2 (en) | 2006-09-29 | 2013-07-16 | Fisher-Rosemount Systems, Inc. | Multivariate monitoring and diagnostics of process variable data |
US20080188972A1 (en) * | 2006-10-11 | 2008-08-07 | Fisher-Rosemount Systems, Inc. | Method and System for Detecting Faults in a Process Plant |
US8032340B2 (en) | 2007-01-04 | 2011-10-04 | Fisher-Rosemount Systems, Inc. | Method and system for modeling a process variable in a process plant |
US8032341B2 (en) | 2007-01-04 | 2011-10-04 | Fisher-Rosemount Systems, Inc. | Modeling a process using a composite model comprising a plurality of regression models |
US7827006B2 (en) | 2007-01-31 | 2010-11-02 | Fisher-Rosemount Systems, Inc. | Heat exchanger fouling detection |
US10410145B2 (en) * | 2007-05-15 | 2019-09-10 | Fisher-Rosemount Systems, Inc. | Automatic maintenance estimation in a plant environment |
US8301676B2 (en) | 2007-08-23 | 2012-10-30 | Fisher-Rosemount Systems, Inc. | Field device with capability of calculating digital filter coefficients |
US7702401B2 (en) | 2007-09-05 | 2010-04-20 | Fisher-Rosemount Systems, Inc. | System for preserving and displaying process control data associated with an abnormal situation |
US9323247B2 (en) | 2007-09-14 | 2016-04-26 | Fisher-Rosemount Systems, Inc. | Personalized plant asset data representation and search system |
US8055479B2 (en) | 2007-10-10 | 2011-11-08 | Fisher-Rosemount Systems, Inc. | Simplified algorithm for abnormal situation prevention in load following applications including plugged line diagnostics in a dynamic process |
US9927788B2 (en) | 2011-05-19 | 2018-03-27 | Fisher-Rosemount Systems, Inc. | Software lockout coordination between a process control system and an asset management system |
US8417851B2 (en) * | 2011-06-27 | 2013-04-09 | International Business Machines Corporation | Polling of a target register within a peripheral device |
US9529348B2 (en) | 2012-01-24 | 2016-12-27 | Emerson Process Management Power & Water Solutions, Inc. | Method and apparatus for deploying industrial plant simulators using cloud computing technologies |
CN104184753B (en) * | 2013-05-20 | 2018-04-27 | 腾讯科技(深圳)有限公司 | A kind of document transmission method and device |
EP3014449A4 (en) * | 2013-06-27 | 2017-03-08 | Hewlett-Packard Enterprise Development LP | Memory bus error signal |
US10402324B2 (en) | 2013-10-31 | 2019-09-03 | Hewlett Packard Enterprise Development Lp | Memory access for busy memory by receiving data from cache during said busy period and verifying said data utilizing cache hit bit or cache miss bit |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3676860A (en) * | 1970-12-28 | 1972-07-11 | Ibm | Interactive tie-breaking system |
US3866181A (en) * | 1972-12-26 | 1975-02-11 | Honeywell Inf Systems | Interrupt sequencing control apparatus |
US3932841A (en) * | 1973-10-26 | 1976-01-13 | Raytheon Company | Bus controller for digital computer system |
US3993981A (en) * | 1975-06-30 | 1976-11-23 | Honeywell Information Systems, Inc. | Apparatus for processing data transfer requests in a data processing system |
US4166211A (en) * | 1978-04-03 | 1979-08-28 | Burroughs Corporation | Error control system for named data |
US4320452A (en) * | 1978-06-29 | 1982-03-16 | Standard Oil Company (Indiana) | Digital bus and control circuitry for data routing and transmission |
US4281380A (en) * | 1978-12-27 | 1981-07-28 | Harris Corporation | Bus collision avoidance system for distributed network data processing communications system |
US4271507A (en) * | 1979-06-07 | 1981-06-02 | Ford Motor Company | Communication broadcast channel interface |
US4371928A (en) * | 1980-04-15 | 1983-02-01 | Honeywell Information Systems Inc. | Interface for controlling information transfers between main data processing systems units and a central subsystem |
US4390944A (en) * | 1980-05-13 | 1983-06-28 | Bti Computer Systems | System for controlling access to a common bus in a computer system |
US4386416A (en) * | 1980-06-02 | 1983-05-31 | Mostek Corporation | Data compression, encryption, and in-line transmission system |
DE3278051D1 (en) * | 1981-04-16 | 1988-03-03 | Ncr Co | Data processing system having error checking capability |
JPS58106624A (en) * | 1981-12-18 | 1983-06-25 | Fujitsu Ltd | Input and output device controlling system |
US4536877A (en) * | 1983-01-21 | 1985-08-20 | E-Systems, Inc. | Tack-on acknowledgment in computer networks |
-
1984
- 1984-06-21 US US06/623,264 patent/US4763243A/en not_active Expired - Lifetime
-
1985
- 1985-03-28 US US06/717,201 patent/US4764862A/en not_active Expired - Fee Related
- 1985-06-18 FI FI852408A patent/FI92262C/en not_active IP Right Cessation
- 1985-06-19 EP EP85107596A patent/EP0165603B1/en not_active Expired - Lifetime
- 1985-06-19 DE DE85107596T patent/DE3587493T2/en not_active Expired - Fee Related
- 1985-06-20 DK DK279285A patent/DK169186B1/en active
- 1985-06-20 AU AU43875/85A patent/AU582164B2/en not_active Ceased
- 1985-06-20 NO NO852495A patent/NO174312C/en unknown
- 1985-06-20 CA CA000484593A patent/CA1227874A/en not_active Expired
- 1985-06-21 YU YU104185A patent/YU46372B/en unknown
- 1985-06-21 KR KR1019850004407A patent/KR910007650B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US4763243A (en) | 1988-08-09 |
KR860000598A (en) | 1986-01-29 |
AU4387585A (en) | 1986-01-02 |
NO174312C (en) | 1994-04-13 |
DK169186B1 (en) | 1994-09-05 |
NO174312B (en) | 1994-01-03 |
KR910007650B1 (en) | 1991-09-28 |
AU582164B2 (en) | 1989-03-16 |
EP0165603A2 (en) | 1985-12-27 |
DE3587493D1 (en) | 1993-09-09 |
DK279285A (en) | 1985-12-22 |
DE3587493T2 (en) | 1994-01-20 |
FI92262B (en) | 1994-06-30 |
EP0165603A3 (en) | 1988-04-27 |
YU104185A (en) | 1987-10-31 |
US4764862A (en) | 1988-08-16 |
FI92262C (en) | 1994-10-10 |
DK279285D0 (en) | 1985-06-20 |
YU46372B (en) | 1993-10-20 |
FI852408L (en) | 1985-12-22 |
FI852408A0 (en) | 1985-06-18 |
NO852495L (en) | 1985-12-23 |
EP0165603B1 (en) | 1993-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1227874A (en) | Resilient bus system | |
US5345566A (en) | Method and apparatus for controlling dual bus system | |
US5838899A (en) | Digital data processing methods and apparatus for fault isolation | |
US5005174A (en) | Dual zone, fault tolerant computer system with error checking in I/O writes | |
US4916704A (en) | Interface of non-fault tolerant components to fault tolerant system | |
EP0306209B1 (en) | Dual rail processors with error checking at single rail interfaces | |
EP0306244B1 (en) | Fault tolerant computer system with fault isolation | |
EP1086424B1 (en) | Tracking memory page modification in a bridge for a multi-processor system | |
US5249187A (en) | Dual rail processors with error checking on I/O reads | |
US4931922A (en) | Method and apparatus for monitoring peripheral device communications | |
US5841963A (en) | Dual information processing system having a plurality of data transfer channels | |
EP0415548A2 (en) | Method and apparatus for controlling initiation of bootstrap loading | |
JPS59183437A (en) | Self-inspection circuit for computer | |
JPH0531173B2 (en) | ||
EP0201907B1 (en) | Apparatus for verifying the operation of an error detection circuit | |
US5163138A (en) | Protocol for read write transfers via switching logic by transmitting and retransmitting an address | |
US5517615A (en) | Multi-channel integrity checking data transfer system for controlling different size data block transfers with on-the-fly checkout of each word and data block transferred | |
JPH0572783B2 (en) | ||
US4802087A (en) | Multiprocessor level change synchronization apparatus | |
JP3127941B2 (en) | Redundant device | |
KR920008791B1 (en) | Signal relying system | |
JPS6010379A (en) | Data transfer system of data processing system | |
JPH0844636A (en) | Bus interface device and information processing system provided with plural bus interface devices | |
JPS6022374B2 (en) | Fault detection/avoidance circuit | |
JPH03238551A (en) | Data transfer system between cpu |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |