Channel paths in a computer I/O system

Abstract: A mechanism for establishing a logical relationship between a channel (CHAN) and a control unit (CU), called a logical channel path, in a computer input/output system wherein a dynamic switch (10) is provided between the channel and the control unit. The disclosed logical path mechanism provides for the sharing of the same physical path by one or more channels to one or more control units. The initialization procedure disclosed identifies each sharing channel to each control unit configured to that channel for identifying the physical path to that channel in an input/output system wherein a switch between the channels and the control units provides a multipoint topology.

Description: The present invention is related to a mechanism and a method of establishment of paths from a channel to a control unit in a computer input/output (I/O) system according to the preamble of claim 1 or 11 respectively. In computer I/O systems, it has long been the practice to identify the communication paths between a channel and an I/O control unit. U.S. Patent No. 3,400,371 issued September 3, 1968 to Amdahl et al for "Data Processing System", at column 100, lines 30-33, discloses assigning a distinct address for each path of communications for input/output devices that are accessible through more than one channel. U.S. Patent No. 4,760,553 issued July 26, 1980 to Buckley et al for "Terminal System Configuration Tracing Method and Apparatus" discloses a terminal controller system wherein several feature cards are plugged into slots on a board, and I/O signal cards are connected between cards and/or remote multiplexors or terminals. A processor performs a test which enables the processor to logically establish the physical link to particular cards connected to its ports. U.S. Patent No. 4,922,410 issued May 1, 1990 to Morikawa et al for "Input/Output System Capable of Allotting Addresses to a Plurality of Input/Output Devices" discloses an input/output process device for controlling data transfers between a central processing unit and an input/output device through a channel by use of a plurality of input/output control devices connected to the input/output device. A memory unit stores information representing the address of the input/ output control device in association with an identification number ofthe channels connected to the input/ output control device. FR- A- 2 128 005 discloses a computer system being connected to several input/devices by a plurality of control units. Each of the control units is connected to each of the devices. Thus a network is formed, wherein a CPU can access any device via a plurality of control units. In US 4 207 609 a system is disclosed having several CPUs also accessing input/output devices via control units. The CPUs are connected with the control units by a plurality of channels. The channels are distributed in a way that every CPU has access to any of the control units. For accessing a device in each of these systems a start signal information is provided. Then the systems can establish logical channels according to the physical data paths provided by the control units of the systems. The attributes of the logical channels are stored in tables, being accessed by the system to channel the information to and from the devices via the established channels. A similar system is also known from Patent Abstract of Japan, vol. 7, no. 220 (P-226), (1365) 30. 9. 83 corresponding to JP-A- 58 112 122. These systems have drawbacks, because they require always a large number of control nodes, that is in principle the number of output devices times the number of channels. Each of this node must be programmed by the system to be able to control the channel and the device from which or to that information is transferred via that node. Further, because of the big number of nodes bookkeeping of the logical channels is complicated and time consuming, in particular, because of the big amount of required control information. This control information must be clearly separated from the information to be transferred between the channels and the devices . Therefore a consistent data format for transmitting this control information is highly desired. Therefore the problem of the invention is, to provide a different architecture of a system and a method for establishing logical channel paths for transferring data between a channel and control units serving input/ output devices. The problem is solved by an apparatus according to claim 1 and a method according to claim 11. Improvements of the invention are characterized in dependent claims. The invention also advantageously meets the object to provide a logical path mechanism and method in a computer I/O system having a channel, a dynamic switch and a plurality of control units, wherein the logical channel path mechanism establishes logical channel paths, also referred to herein as logical paths between the channel and one or more control units. The invention also provides a storage table in each control unit of an I/O system for storing the identification of all logical paths established between the control unit and channels that may be connected to the control unit via a dynamic switch. The invention provides a storage table in each channel of an I/O system for storing the identification of all logical paths established between the channel and control units that may be connected to the channel via the dynamic switch and an initialization procedure for establishing a logical path from a channel to a control unit via a dynamic switch. It further provides an allegiance table wherein allegiances that are created as a result of I/O operations can be associated to the logical channel path over which they are generated. A system reset is also provided to reset only those allegiances associated with the affected logical path, whenever a logical path is established to or removed from a channel. The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of the preferred embodiment of the invention as illustrated in the drawings. In the prior art configurations, control units and input/output devices may be accessed through more than one channel over separate communication paths. The present invention provides for the sharing of the same physical path by one or more channels to one or more control units. An initialization procedure identifies each sharing channel to each control unit configured to that channel for the purpose of establishing its identity of the channel path and in so doing identifying the physical path back to that channel in an I/O system wherein a switch between the channels and the control units provides a multipoint topology. Fig. 1 is a block diagram of an I/O system useable with the present invention, the I/O system having channels connected to control units through a dynamic switch; Fig. 2 is a diagrammatic representation of a frame sent over the I/O system of Fig. 1; Fig. 3 is a diagrammatic representation of a link header of the frame of Fig. 2; Fig. 4 is a diagrammatic representation of a link trailer of the frame of Fig. 2; Fig. 5 is a block diagram of a portion of an I/O system illustrating established logical paths between certain ones of the channels and the control units via a dynamic switch; Fig. 6 is a flow chart showing the operation of a channel during an establish logical path operation; Fig. 7 is a flow chart showing the operation of a control unit during an establish logical path operation; Fig. 8 is a flow chart showing the operation of a channel during a remove logical path operation; and Fig. 9 is a flow chart showing the operation of a control unit during a remove logical path operation. Fig. 1 is a block diagram of the I/O system of a data processing system for making dynamic connections between the channel subsystem of the data processing system and control units. The I/O system includes a dynamic switch 10 having a plurality of ports P, each port P attached to one end of a plurality of links 12-18. One of the links 18 is attached to a dynamic-switch control unit 20, and each of the other links 12-17 is attached to either a channel, such as channel A designated 22 or channel B designated 24, or to one of the control units 26-29. Each of the control units 26-29 control a plurality 30-33 of peripheral devices D, respectively. Each of the channels 22 and 24 is a single interface on a channel subsystem, such as, for instance, an ESA/370 channel subsystem. The channels 22 and 24 direct the transfer of information between I/O devices of the pluralities 30-33 of devices D and main storage (not shown) of the data processing system and provide the common controls for the attachment of different I/O devices D by means of a channel path (to be defined). The channels 22 and 24 are channels wherein data is transmitted and received in a frame, as will be explained. Each of the links 12-17 is a point-to-point pair of conductors that may physically interconnect a control unit and a channel, a channel and a dynamic switch (such as links 12 and 13), a control unit and a dynamic switch (such as links 14-17), or, in some cases, a dynamic switch and another dynamic switch. The two conductors of a link provide a simultaneous two-way communication path, one conductor for transmitting information and the other conductor for receiving information. When a link attaches to a channel or a control unit, it is said to be attached to the I/O interface of that channel or control unit. When a link is attached to a dynamic switch, it is said to be attached to a port P on that dynamic switch. When the dynamic switch makes a connection between two dynamic-switch ports, the link attached to one port is considered physically connected to the link attached to the other port, and the equivalent of one continuous link is produced for the duration of the connection. The dynamic switch 10 provides the capability to physically interconnect any two links that are attached to it. The link attachment point on the dynamic switch 10 is the dynamic-switch port P. Only two dynamic-switch ports P may be interconnected in a single connection, but multiple physical connections may exist simultaneously within the same dynamic switch. The dynamic switch 10 may be constructed as disclosed in U. S. Patents 4,605,928; 4,630,045; and 4,635,250. In one preferred embodiment, the dynamic switch 10 is a double sided switch, that is a two-sided cross-point switch, as described in the background of the aforementioned U. S. Patent No. 4,635,250. The interconnection of two dynamic-switch ports P established by the dynamic switch 10 does not affect the existing interconnection of any other pair of dynamic-switch ports, nor does it affect the ability of the dynamic switch to remove those connections. When a connection is established, two dynamic-switch ports and their respective point-to-point links are interconnected by a switch matrix within the dynamic switch 10, as explained in the aforementioned switch patents, such that the two links are treated and appear as one continuous link for the duration of the connection. When frames are received by one of two connected switch ports P, the frames are normally passed from one port to the other for transmission on the other port's link. The dynamic switch 10 can form a connection between two ports P in one of two ways: dynamic or static. The connection is termed a dynamic connection or static connection, accordingly. The dynamic switch 10 can establish or remove a dynamic connection between two ports P based on the information provided by certain frame delimiters in the serial frames transmitted over the links and based on conditions present at each of these ports P as disclosed in European patent application No. 90 115 515.0 filed August 13, 1990. The dynamic switch can establish or remove a static connection between two ports P as a result of commands received by means of the local or remote facilities of the dynamic-switch control unit 20. Frame delimiters or other sequences received at the port P have no effect on the static connection. When a static connection exists between two ports P, the ports are in the static state. The static state is not affected by any information received from the link or from the statically connected port. If a sequence (to be explained) is received by one of two statically connected ports, the received sequence is normally retransmitted on the connected port's link. Frames may be received and transmitted simultaneously by statically connected ports. As previously mentioned, information is transferred on the serial-I/O interface in a frame. A frame is a unit of information that is sent or received according to a prescribed format. This format delineates the start and end of the unit of information and prescribes the placement of the information within these boundaries. Fig. 2 shows the basic frame format 38 which consists of a fixed-length link-header field 40, a variable-length information field 42, and a fixed-length link-trailer field 44. Communications using the switch are governed by link-level protocols which provide for making the connection through the dynamic switch 10 and for other control functions. Each channel and each control unit contains a link-level facility, which is the embodiment of the link protocols. After a connection is made through the dynamic switch 10, device frames may be exchanged to execute I/O operations and control the I/O devices. These I/O operations and controls are described in, for example, the device commands and protocols in the Principles of Operation manual of the IBM System/370 Extended Architecture, publication number SA22-7085-1. Each link-level facility is assigned a unique address, called the link address. The assignment of a link address to a link-level facility occurs when the link-level facility performs initialization, as disclosed in a copending patent application titled "Acquiring Addresses in an Input/Output System", owned by the assignee of the present invention. Every frame sent through the switch contains link-level addressing which identifies the source and destination of the frame. Specifically, this addressing information consists of the link addresses of the sending link-level facility (source link address) and receiving link-level facility (destination link address). The switch uses this addressing information in order to make a connection from the port receiving the frame to the correct port for sending the frame to the specified destination. Fig. 3 shows a link header 40, and Fig 4 shows a link trailer 44. Every frame is bounded by a start-of-frame (SOF) delimiter 46 which is found in the link header 40, and an end-of-frame (EOF) delimiter 48, which is found in the link trailer 44. Frame delimiters 46 and 48 are composed of combinations of special transmission characters which do not have equivalent data codes. In the preferred embodiment, the transmission codes used are those disclosed in U. S. Patent No. 4,486,739 issued December 4, 1984 to Franaszek et al. for Byte Oriented DC Balanced (0.4) 8B/10B Partitioned Block Transmission Code, owned by the assignee of the present invention. The information contained between the frame delimiters 46 and 48 consist of data characters which have equivalent eight-bit codes as explained in the aforementioned Franaszek et al. patent. In addition to the SOF 46, the link header 40 of Fig. 3 includes a destination-address field 50, a source-address field 52, and a link-control field 54. As previously mentioned, the SOF 46 is a special string of transmission characters that cannot appear in the contents of an error-free frame. There are two types of SOF delimiters, the connect-SOF (CSOF) delimiter, which is used as an initiate connection control to initiate the making of a dynamic connection, and passive-SOF (PSOF) delimiter, which causes no action with respect to making a dynamic connection. The destination-address field 50 is the first field of the contents of a frame and immediately follows the SOF delimiter 46. The destination-address field 50 identifies the link-level facility of a channel or control unit that is the destination for the frame, and is used to route the frame to the link-level facility that is the intended receiver. The destination link address 50 is used to determine which physical connection is to be made, and the destination to which the frame is to be routed through the dynamic switch 10. If no connection exists, that is, if the port P is in the inactive state, and no busy or port-reject conditions are present, the connection is made and the frame is routed to the destination port. The source-address field 52 immediately follows the destination address field 50, and identifies the sending link-level facility. A link-level facility provides its identity as the source of a frame by inserting its assigned link address in the source-address field 52 of any frame that it sends. After a frame is received with a valid source address 52, the source address 52 is used in most cases as the destination address in any subsequent response frame or future request frame to the same link-level facility. The link-control field 54 indicates the type and format of the frame. In the preferred embodiment of the present invention, the contents of the link-control field 54 indicates if the present frame is an establish logical path (ELP) frame, a logical path established (LPE) frame, a remove logical path (RLP) frame, a logical path removed (LPR) frame or other request frame. The link-control field 54, which is the last field of the link header 40, immediately follows the source-address field 52. The information field 42 is the first field following the link header 40. The size of the information field depends on the function performed by the particular frame. A reason code, for instance, is transmitted in the information field 42 of response frames. The link trailer 44 of Fig. 4 includes a cyclic-redundancy-check (CRC) field 56 just before the EOF delimiter 48. The CRC field 56 contains a redundancy-check code that is used by the receiving link-level facility to detect most frame errors which affect the bit integrity of a frame. The address 50 and 52, link-control 54 and information 42 fields are used to generate the CRC 56 and are, therefore, protected by the CRC 56. The end-of-frame (EOF) delimiter 48 is the last string of transmission characters of a frame. Again, it is a specific sequence of transmission characters that cannot appear in the contents of an error-free frame. When the EOF delimiter 48 is encountered during the reception of a frame, it signals the end of the frame and identifies the two transmission characters immediately preceding the EOF delimiter 48 as the CRC 56 at the end of the contents of the frame. The EOF delimiter 48 also indicates the extent of the frame for purposes of any applicable frame-length checks. There are two types of EOF delimiters 48, the disconnect-EOF (DEOF) delimiter, which is used to initiate the removal of a dynamic connection, and the passive-EOF (PEOF) delimiter, which causes no action with respect to removing a dynamic connection. Idle characters are sent over the links when frames are not being transmitted. These idle characters, which are special characters not having data values, are used to maintaining the links in synchronism. Sequences of special idle characters are also transmitted to provide limited communication of special control functions such as indications of off-line and malfunction conditions. These sequences of special idle characters may be generated as described in European patent application No. 90 115 753.7 filed August 17, 1990, owned by the assignee of the present invention. The link-level facilities of the control units 26-29 and the channels 22 and 24 each include apparatus for receiving frames and for generating frames. The apparatus for receiving frames may be as described in European patent application No. 90 119 393.8, filed October 10, 1990, and the apparatus for generating frames may be as described in European patent application No. 90 119 211.7, filed October 6, 1990, both owned by the assignee of the present invention. Fig. 5 is a diagram of the portion of an I/O system of a computer system similar to that shown in Fig. 1. The system of Fig. 5 has three channels, channel A 22, Channel B 24 (also shown in Fig. 1), and channel C 23 which are connected to a dynamic switch 10. Also connected to the dynamic switch 10 are control units 26 through 28 (also shown in Fig. 1). Channels 22, 23 and 24 include internal indicator tables 62, 63 and 64, respectively, which indicate established logical paths to individual control units, as will be discussed. Control units 26, 27 and 28 also include internal indicator tables 66, 67 and 68, respectively, which indicate the logical paths that channels 22, 23 and 24 have established. The setting of the indicators in channel tables 62, 63 and 64 and the control unit table 66, 67 and 69 is known as establishing a logical path. Shown in phantom are channel paths between channel 22 and control unit 26, channel 24 and control unit 27, channel 24 and control unit 28, and channel 23 and control unit 28. The physical path from the switch 10 to control unit 28 is then shared by channels 23 and 24. In this example the physical paths from switch 10 to control units 26 and 27 are not shared, but it will be understood that the scope of this invention permits the control units shown to have logical paths established to some or all of the channels shown. As mentioned, each channel and control unit is assigned a unique link address. The established logical paths shown include these unique addresses in the appropriate internal indicator tables. For instance, channel 22 may be given a unique address of 1 and control unit 26 may be given an address of 4. The logical path 1-4 is thus shown in internal indicator tables 62 and 66. Channel 24 may be given the unique address 2 and control units 27 and 29 may be given the addresses 5 and 6, respectively. The internal indicator table 64 show established logical paths 2-5 and 2-6. Internal indicator table 67 also shows that logical path 2-5 is established and internal indicator table 69 shows that logical path 2-6 is established. Finally, channel 23 may have the unique address 3, and control unit 29 may have the address of 6. Thus, internal indicator table 63 shows that logical path 3-6 is established, and internal indicator table 68 also shows that logical path 3-6 is established. Fig. 6 is a flow chart showing the operation of a channel during the establish logical path initialization process. At 70, the channel sends an establish logical path (ELP) frame to a control unit through the dynamic switch 10. At 72, the channel waits for a response frame. After receiving a response frame, the channel checks at 74 to see if a logical path established (LPE) frame was received. If the frame is an LPE frame, the channel updates its internal indicator table and considers that a logical path has been established with the control unit to which the ELP frame was sent. This is shown at 78. If the response frame received at 74 is not an LPE frame, the requested logical path was not established, as shown at 76, and the channel makes a check at 82 to determine if the frame is a logical path removed (LPR) frame. As will be explained, if the addressed control unit does not accept the logical path, it returns an LPR frame. If the check at 82 is yes, the channel goes to 84 wherein immediate retry is suspended and the channel waits for a new initiative in order to proceed with the attempt to establish the logical path. If the check at 82 is no, the channel checks to see if it received either a port busy or a control unit busy frame at 86. If yes, the control unit returns to 70 and resends the ELP frame. If the check at 86 is no, the channel goes to an error routine 90. Fig. 7 is a flow chart showing the operation of a control unit during an establish logical path operation. At 92, the control unit receives a ELP frame from a channel. At 94, the control unit checks to see if a logical path is allowed. This may include checking to see if the maximum number of logical paths for the system have been allowed, or checking to see if the ELP frame received contains any errors. If the logical path is allowed at 94, the control unit sends a LPE frame to the channel, and establishes the logical path in its internal indicator table by setting a bit indicating that the logical path has been established. If the check at 94 is no, the control unit returns a LPR frame at 98. The communication path between a channel and a control unit is treated as consisting of two parts, the physical path and the logical path. The physical path is the link, or interconnection of two links by a dynamic switch, that provides the physical transmission path between a channel and a control unit. This may be made as described in the aforementioned copending application entitled "Switch and Its Protocol for Making Dynamic Connections". The logical path represents a communication relationship that is established by a channel between itself and a control unit during initialization to identify the physical path to be used by the control unit for communication with that channel for the execution of an I/O operation and for the presentation of status. Allegiances, system resets, and path-group IDs to a particular system are identified by means of the logical path established by the channel for that system. Therefore, to a control unit, each logical path represents a different channel path to the same system or different systems. A control unit's allegiance to a channel is shown in allegiance table 87, 88 and 89 of control units 26, 27 and 28, respectively, shown in Fig. 5. Each logical path is uniquely identified by the combination of the link address assigned to the channel and the link address assigned to the control units. As previously mentioned, all link addresses associated with a dynamic switch must be unique. It will be understood that there is no limit other than resource limitations at the control unit on the number of logical paths that can be established over a single physical interface on a control unit, and if multiple physical interfaces exist on a control unit, each interface can have one or more logical paths. The logical path is established as part of the initialization required for device-level function/operations. An established logical path between the channel and control unit is required for the exchange of device-level frames. When a logical path is not established, only link level communication using link-level functions and protocols is allowed. A logical-path-not-established error is detected by a link-level facility when a device-level frame is received for a logical path that is not established. When a channel receives a device-level frame and the destination link address is equal to the assigned link address, the combination of the source link address and the destination link address must identify an established logical path; otherwise, a logical-path-not-established error is detected. In a similar manner, when a control unit receives a device-level frame and the destination link address is equal to the assigned link address, the combination of the source link address and the destination link address must identify an established logical path; otherwise, a logical-path-not-established error is detected. When a logical-path-not-established error is detected, a link-level-reject frame is sent indicating the logical-path-not-established error reject-reason code. When the logical path is established, the physical path, the link-level facilities at each end of the physical path, and the device-level facilities associated with these link-level facilities are considered initialized and operational and have the capability of performing their respective functions. Device-level frames may not be sent to an I/O device over a channel path for which no logical path has been established. If initialization procedures at the channel have failed to establish a logical path, then subsequent I/O operations may not be attempted on that channel path to the I/O device associated with the affected control unit. However, the initiative to start an operation on a channel path does reestablish initiative at the channel to establish the logical path. If successful, the operation proceeds as normal, but if unsuccessful, the operation is not attempted on that path. Other logical paths to the I/O device may be selected by the channel subsystem. A logical path is established, as discussed in connections with Figs. 6 and 7, by the exchange of a request/response pair of link-control frames, the ELP and LPE frames. A logical path is removed by the exchange a request/response pair of link-control frames, removal logical path (RLP) and the logical path removed (LPR) frame. A logical path is also removed by certain error conditions which, when determined to be a permanent error, causes the removal of the affected logical path or paths. A channel attempts to establish a logical path to each control unit that is configured to it. This is done when the channel is initialized, when configuration changes are made, or when the channel receives an indication that the logical path no longer exists. An ELP frame that requests establishment of a logical path that the control unit already considers established does not affect the logical path other than to perform a system reset on that logical path. A control unit responds with an LPE. If additional initialization parameters are passed with an ELP frame and either protocol errors within the frame or internal conditions within the control unit prevent acceptance of the request, the control unit resets the internal indicator for the logical path and sends a LPR response to indicate the logical path was not accepted. When the channel receives the LPR response to its ELP, it does not consider the logical path to have been established and does not set its internal indicator for that logical path. Fig. 8 is a flow chart showing the operation of a channel during a remove logical path operation, and Fig. 9 is a flow chart showing the operation of a control unit during a remove logical path operation. A channel can cause a logical path to be removed by sending an RLP frame at 100 of Fig. 8. The blocks 102, 104, 106 and 108 are similar to 72, 74, 78 and 76 of Fig. 6, respectively, except that a logical path is removed rather than established. The RLP frame requests the control unit to remove the logical path defined by the combination of destination and source link addresses of the frame. A channel may remove a logical path as a result of changes to the logical path configuration or as a result of a channel path being varied logically or physically off-line. The protocols also allow for individual control units to be varied logically or physically off-line on a channel path. The removal of a logical path causes the internal indicator for that logical path to be reset and may result in the logical path ID being discarded. The removal of a logical path causes a system reset to be performed for only the affected logical path, that is, only those allegiances and operations for that logical path are reset. When the control unit accepts an RLP frame at 110, it removes the logical path and performs system reset at 114, and sends an LPR frame. The channel does not consider the logical path removed until it receives an LPR response to the RLP frame at 104. When the channel receives the LPR frame at 104, its internal indicator for the logical path is reset at 106. When the logical path is considered removed by a channel or control unit, device-level frames may not be sent or received for that logical path. If a frame is received for a logical path that has been removed, the frame is discarded and a reject is sent with the logical-path-not-established reject-reason code. An RLP frame must be received over the same physical path over which the logical path being removed was established. If an RLP frame is received for a logical path that is not established on the physical path over which the RLP frame is received (check at 112 is no), no action is taken other than the RLP frame is accepted and an LPR frame is sent in response at 116. No system reset is performed. An error associated with an RLP frame prevents the logical path from being removed and causes a reject with the appropriate reject-reason code to be sent in response (not shown). The channel receiving a reject or recognizing an error in the response to the RLP frame, does not consider the logical path removed and, therefore, does not reset its internal indicator for the logical path. The channel may retry sending the RLP frame for the logical path for a set number of times.

Claims: Apparatus comprising at least one channel (22, 24) and a plurality of control units (26, 27, 28, 29) connected to said channel (22, 24), each of the control units (26, 27, 28,29) controlling a plurality of devices (D), wherein paths from a channel to a control unit are established by a logical channel path mechanism comprising: channel logical path table means for storing the identity of established logical paths to the control units (26, 27, 28, 29), logical path adding means for adding the identity of an established logical path to a designated control unit (26, 27, 28, 29) in said channel logical path table means, characterized in that a dynamic switch (10) is provided, for switching the physical data path from one or more channels (22, 24) to a designated one of the plurality of control units (26, 27, 28, 29), a switch control unit (20) is provided controlling the dynamic switch (10), that the establishing of logical channels is performed by using a framed data format, whereby the logical channel path mechanism further comprises: logical path requesting means for sending an establish logical path request frame requesting the establishment of a logical path from said channel (22, 24) to a designated control unit (26, 27, 28, 29); frame recognizing means for recognizing response frames returned to said channel (22, 24), responsive to said establish logical path request frame; and that the logical path adding means are adapted to add the identity of an established logical path to said designated control unit (26, 27, 28, 29) in said channel logical path table means in response to the recognition of a logical path established response frame from said designated control unit (26, 27, 28, 29) sent in response to an establish logic path request frame for said logical path requesting means. Apparatus according to claim 1, characterized in that the logical path mechanism further comprises: logical path remove request means for requesting the removal of a logical path from said channel (22, 24) to designated control unit (26, 27, 28, 29); and logical path removal means for removing the identity of any established logical path to said designated control unit (26, 27, 28, 29) in said channel logical path table means, the removal of said identity being responsive to the recognition of a logical path removed response frame from said designated control unit (26, 27, 28, 29). Apparatus according to claim 1 or 2, characterized in that the logical path mechanism further comprises: receiving means for receiving established logical path frames requesting the establishment of a logical path from said control unit (26, 27, 28, 29) to a designated channel (22, 24); control unit logical path table means for storing the identity of established logical paths to channels (22, 24); logic means for determining when said logical path establish frame is and is not allowed; logical path removed means for sending a logical path removed frame to said designated channel when said logic means determines said logical path to said designated channel (26, 27, 28, 29) is not allowed; logical path adding means for adding the identity of an established logical path in said control unit logical path table means, when said logic means determines that a logical path to said designated channel is allowed. Apparatus according to claim 3, characterized in that the logical path mechanism further comprises: frame generator means for sending a logical path established frame to said designated channel when said identity of an established logical path to said designated channel is added to said control unit logical path table means. Apparatus according to claim 4, wherein the logical path mechanism is further characterized in that said receiving means further receives remove logical path frames for removing a logical path from said control unit (22, 24) to the designated channel (26, 27, 28, 29), that said logical means further determines if a logical path is established to said designated channel and the logical path mechanism further comprises: logical path removal means for removing the identity of an established logical path in said control unit table means when said logic means determines that a logical path to said designated channel (26, 27, 28, 29) is established; and said frame generator means sends a logical path remove frame to said designated channel when said identity of an established logical path to said designated channel (26, 27, 28, 29) is removed from said control unit logic path table means. Apparatus according to claim 1 or 2, characterized in that the logical path mechanism further comprises: logical path requesting means in said channel (24, 26) for requesting the establishment of a logical path from said channel (22, 24) to a designated control unit via said dynamic switch (10); forwarding means in said dynamic switch for forwarding requests from said logical path requesting means to said designated control unit (22, 24), each of said logical path means including: logical path table means for storing the identity of established logical paths to channels and internal indicators for indicating when said logical paths are established, logical path removed means for returning to said channel (26, 27, 28, 29) via said dynamic switch (10), a removed message when said requested logical path is not established, and logical path established means for setting the internal indicator in said logical path table means for indicating that said requested logical path is established and for returning to said channel via said dynamic switch (10), a logical path established acknowledgment when said requested logical path is established, thereby establishing a communication path between said channel (24, 26) and said designated control unit (26, 27, 28, 29). Apparatus according to anyone of claims 1 to 6, wherein the logical path mechanism is further characterized in that said logical path requesting means comprises a channel frame generating means for transmitting an establish logical path frame (ELP). Apparatus according to anyone of claims 1 to 7, wherein the logical path mechanism is further characterized in that each control unit (22, 24) includes a control- unit frame generating means for generating a logical path removed frame (LPR) in response to said logical path established frame (LPE) in response to said logical path established means. Apparatus according to claim 8, characterized in that said logical path requesting means in said channel (26; 27, 28, 29) includes: channel logical path table means for storing the identity of logical paths and channel internal indicator for indicating said logical paths are established; frame recognition means; channel logical path established means for setting the channel internal indicator of a requested logical path in said channel logical path table means for indicating said requested logical path is established in response to the recognition of a frame (LPE) by said frame recognition means. Apparatus according to claim 8, characterized in that each control unit (26, 27, 28, 29) includes: allegiance storing means for storing the identity of channels (22, 24) from which logical paths have been established; and reset means for performing a system reset, when a logical path is established or removed to a channel whose identity is stored in said allegiance storing means, this system reset being performed for only those allegiances and operations for said logical path. Method for establishing a logical path in an apparatus according to anyone of claims 1 to 10, the apparatus comprising at least one channel (22, 24) and a plurality of control units (26, 27, 28, 39) connected to said channel (22, 24), each of the control units (26, 27, 28,29) controlling a plurality of devices (D), wherein the apparatus being further characterized by a dynamic switch (10), for switching the physical data path from one or more channels (22, 24) to a designated one of the plurality of control units (26, 27, 28, 29), wherein the method comprises the steps of: sending a request in a framed data format from said channel (22, 24) for requesting the establishment of a logical path from said channel to said designated control (26, 27, 28, 29) unit via said dynamic switch (10); forwarding said request to said designated control unit (22, 24) via said dynamic switch (10); receiving at said designated control unit (22, 24), said request; determining if the requested logical path is allowed, and storing the identity of an established logical path when said requested logical path is allowed; returning an established logical path response in a framed data format to said channel via said dynamic switch (10) after said identity of said logical path is stored in said designated control unit (22, 24); and responsive to the receipt of said established logical path response, storing an identity of said established logical path in said channel (22, 24).

Inventors: ELLIOTT JOSEPH CHARLES, ELLIOTT, JOSEPH CHARLES
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1991
Main classification: G06F13
IPC codes: G06F13