`Casper et al.
`
`USOO6687766B1
`(10) Patent No.:
`US 6,687,766 B1
`(45) Date of Patent:
`Feb. 3, 2004
`
`(54) METHOD AND APPARATUS FOR A FIBRE
`CHANNEL CONTROL UNIT TO EXECUTE
`SEARCH COMMANDS LOCALLY
`
`(75) Inventors: Daniel F. Casper, Poughkeepsie, NY
`(US); Robert J. Dugan, Hyde Park,
`NY (US); John R. Flanagan,
`Poughkeepsie, NY (US); Catherine C.
`Huang Poughkeepsie NY (US); Louis
`s'
`s
`s
`W. Ricci, Hyde Park, NY (US)
`
`4,901.232 A * 2/1990 Harrington et al. ......... 364/200
`5,084877 A
`1/1992 Netravali et al. ............. 371/32
`5,218,680 A 6/1993 Farrell et al. ............... 395/325
`5,260,933 A 11/1993 Rouse ......................... 370/14
`5,442,637 A 8/1995 Nguyen ...................... 361/5.5
`5,528,605. A
`6/1996 Ywoskus ..................... 371/33
`5,566,304 A 10/1996 Regal ......................... 395/285
`5,577,172 A 11/1996 Vatland ...................... 395/114
`5,764,392 A 6/1998 Van As et al. .............. 359/124
`5,768,530 A 6/1998 Sandorfi ................ 395/200.63
`5,872,911 A 2/1999 Berg ..................... 395/183.19
`
`(73) Assignee: International Business Machines
`
`(*) Notice:
`
`Corporation, Armonk, NY (US)
`s
`s
`Subject to any disclaimer, the term of this
`past isis'', i.used under 35
`
`(21) Appl. No.: 09/481,715
`(22) Filed:
`Jan. 12, 2000
`Related U.S. Application Data
`
`(62) Division of application No. 09/172,695, filed on Oct. 14,
`1998, now Pat. No. 6,185,631.
`(51) Int. Cl. ................................................ G06F 13/14
`(52) U.S. Cl. ............................. 710/20, 710/21; 710/29;
`714/720
`(58) Field of Search .............................. 710/20, i.
`f
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`4,029,950 A * 6/1977 Haga..................... 235/151.11
`
`5,938,735 A
`
`8/1999 Malik - - - - - - - - - - - - - - - - - - - - - - - - - 709/238
`
`9/1999 Wicki et al. ................ 370/400
`5,959.995 A
`6,167.459 A 12/2000 Beardsley et al. ............. 710/3
`C.O. R 33. ity et al. ............ 29:
`6.467,056 B1 - 10/2002 Satou et al... 714/720
`
`sk -
`
`cited by examiner
`
`Primary Examiner Jeffrey Gaffin
`ASSistant Examiner Abdelmoniem Elamin
`(74) Attorney, Agent, or Firm John E. Campbell; Marc A.
`Ehrlich; Floyd A. Gonzalez
`
`ABSTRACT
`(57)
`The present invention provides a method for fibre channel
`control units to execute commands locally when a channel
`Sends a repeat execute indicator in conjunction with certain
`other field Settings, wherein the control unit will repeat and
`chain control words until certain predefined conditions
`OCC.
`
`24 Claims, 2 Drawing Sheets
`
`110
`
`
`
`MAN
`SORAGE
`
`-100
`
`
`
`
`
`120
`
`
`
`STORAGE CONTROL
`ELEMENT
`
`CHANNEL SUBSYSTEM
`155
`
`150
`
`60
`
`C. D
`
`
`
`
`
`
`
`CONTROL
`UNT
`
`
`
`195
`
`
`
`control-180
`---
`UNIT
`190
`
`Page 1 of 38
`
`
`
`Primary Examiner-Jeffrey Gaffin
`
`
`
`Assistant Examiner---Abdelmoniem Elamin
`
`
`
`
`(74)Attorney, Agent, or Firm-John E. Campbell; Marc A
`(62)
`Division of application No. 09/172,695, filed on Oct. 14,
`
`
`
`
`
`Ehrlich; Floyd A Gonzalez
`
`1998, now Pat. No. 6,185,631.
`
`
`
`
`
`I 1111111111111111 11111 lllll 111111111111111 111111111111111 1111111111 11111111
`
`
`
`US0066877 66B 1
`
`(12)United States Patent
`
`
`Casper et al.
`
`(10)Patent
`No.:US 6,687,766 Bl
`
`Feb.3,2004
`(45)Date of Patent:
`
`(54)METHOD AND APPARATUS FOR A FIBRE
`CHANNEL CONTROL UNIT TO EXECUTE
`SEARCH COMMANDS LOCALLY
`
`4,901,232 A * 2/1990 Harrington et al. ......... 364/200
`
`
`
`
`5,084,877 A 1/1992
`
`
`Netravali et al. ............. 371/32
`
`5,218,680 A
`
`
`
`6/1993 Farrell et al. ............... 395/325
`
`
`
`5,260,933 A 11/1993 Rouse ......................... 370/14
`
`
`5,442,637 A 8/1995 Nguyen ...................... 361/5.5
`(75)Inventors: Daniel F. Casper, Poughkeepsie, NY
`
`
`
`
`
`5,528,605 A 6/1996 Ywoskus ..................... 371/33
`(US); Robert J. Dugan, Hyde Park,
`
`
`5,566,304 A 10/1996 Regal ......................... 395/285
`NY (US); John R. Flanagan,
`
`
`
`5,577,172 A 11/1996 Vatland ...................... 395/114
`
`
`Poughkeepsie, NY (US); Catherine C.
`
`
`
`5,764,392 A 6/1998 Van As et al. .............. 359/124
`
`Huang, Poughkeepsie, NY (US); Louis
`
`
`
`5,768,530 A 6/1998 Sandorfi ................ 395/200.63
`
`W.Ricci, Hyde Park, NY (US)
`
`
`5,872,911 A 2/1999 Berg ..................... 395/183.19
`
`
`5,938,735 A 8/1999 Malik ......................... 709/238
`
`
`
`5,959,995 A 9/1999 Wicki et al. ................ 370/400
`
`6,167,459 A 12/2000 Beardsley et al. ............. 710/3
`
`6,170,023 Bl 1/2001 Beardsley et al. ............ 710/36
`
`
`
`
`6,205,498 Bl 3/2001 Habusha ...................... 710/29
`
`
`
`6,467,056 Bl * 10/2002 Satou et al. ................ 714/720
`
`(73)Assignee: International Business Machines
`
`
`
`
`
`Corporation, Armonk, NY (US)
`
`( *) Notice: Subject to any disclaimer, the term of this
`
`
`
`
`
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`(21)Appl. No.: 09/481,715
`
`
`
`* cited by examiner
`
`
`
`(22) Filed: Jan. 12, 2000
`
`Related U.S. Application Data
`
`ABSTRACT
`(57)
`
`(51)Int. Cl.7 ................................................ G06F 13/14
`
`
`
`(52)U.S. Cl. ............................. 710/20; 710/21; 710/29;
`
`
`
`The present invention provides a method for fibre channel
`714/720
`
`
`
`
`control units to execute commands locally when a channel
`(58) Field of Search ..............................
`
`710/20, 21, 29;
`
`
`
`
`sends a repeat execute indicator in conjunction with certain
`714/720
`
`
`
`
`other field settings, wherein the control unit will repeat and
`
`
`
`
`chain control words until certain predefined conditions
`occur.
`
`(56)
`
`
`
`References Cited
`
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`
`4,029,950 A * 6/1977 Haga ..................... 235/151.11
`
`24 Claims, 2 Drawing Sheets
`
`110 MAIN
`,--
`STORAGE
`
`100
`
`120 STORAGE CONTROL
`
`ELEMENT
`
`
`CHANNEL SUBSYSTEM
`150
`
`160
`
`195
`
`CONTROL
`UNIT
`
`------,
`
`f--
`
`180
`CONTROL
`UNIT
`
`1/0 DEVICE 1/0 DEVICE
`
`Page 1 of 38
`
`
`
`U.S. Patent
`
`Feb. 3, 2004
`
`Sheet 1 of 2
`
`US 6,687,766 B1
`
`
`
`
`
`CHANNEL SUBSYSTEM
`155
`
`150
`
`CONTROL
`UNIT
`
`
`
`
`
`CONTROL
`UNT A
`
`320
`
`DISCONNECT
`
`
`
`
`
`CONTROL
`UNT B
`
`350
`
`Page 2 of 38
`
`
`
`U.S. Patent
`
`Feb. 3, 2004
`
`Sheet 2 of 2
`
`US 6,687,766 B1
`
`y-O4Lq0S
`
`
`7-94YNM10D0L04dSNITIVNOISO2¢
`
`
`00010Nd|SIOIANSS(67-91S3SNV10)
`yS739opz——_ONIdd¥NH4lddHISOSSidl
`
`
`o¢z7-——._¢-94S3OIANSSNOWANOO
`
`TWOISAHd(SUAAOIYONYSUSLLINSNVYL)
`
`NOISSINSNVYL4000(Si—11Sasnvlo)ee5Ol?——|-931090L0Yd
`
`
`
`
`0-94(4-SS3SNV10)3OVIYSLNI
`4S739Ogg——_H2ainLgIS9SCldl0S
`NE COld
`
`002
`
`
`
`(01-8‘SSASNV10)VIGIN
`
`Page 3 of 38
`
`Page 3 of 38
`
`
`
`US 6,687,766 B1
`
`1
`METHOD AND APPARATUS FOR A FIBRE
`CHANNEL CONTROL UNIT TO EXECUTE
`SEARCH COMMANDS LOCALLY
`
`This is a divisional application of Ser. No. 09/172,695
`filed on Oct. 14, 1998 now U.S. Pat. No. 6,185,631.
`
`FIELD OF INVENTION
`This invention relates to concept of transferring informa
`tion in a computer program product for use with a computer
`System having a main Storage device in processing commu
`nication with a plurality of input/output devices.
`
`25
`
`35
`
`40
`
`BACKGROUND OF THE INVENTION
`15
`In a network computing environment, multitudes of com
`mands and requests for retrieval and Storage of data are
`processed every Second. To properly address the complexity
`of routing these commands and requests, a number of
`different resolutions have been implemented. In Some data
`processing architectures, Such as International BusineSS
`Machines Enterprise System Architecture/390 (Enterprise
`System Architecture/390 is a registered trademark of Inter
`national Business Machines Corporation), a channel Sub
`System is utilized to pass information between the main
`Storage and input/output (I/O) devices. The channel Sub
`System includes one or more channel paths, each including
`one or more channels and one or more control units.
`Recently developed technologies Such as the International
`Business Machines ESCON switch (ESCON is a registered
`trademark of International Business Machines Corporation),
`connect the I/O devices to the main memory through the
`control units using legacy channels to Support the data
`transfer there between.
`But as the technology improves, the performance of new
`System processors will require many more legacy channels
`than are presently in use to Support the resulting increase of
`information transfer in the data processing Systems. Current
`architectural constraints make the addition of Such legacy
`channels an expensive proposition. A further challenge is to
`provide the link data rate required to Support the data rates
`of new I/O devices such as DASDs and Tapes. In this case,
`Simply adding more legacy channels does not adequately
`address the problem. A new architecture is needed that can
`Scale up to the higher link Speeds needed for normal trans
`action processing. The refore, any new proposed
`architecture, must include a capacity to accommodate higher
`bandwidth channel links Such as Fibre Channel links while
`providing better data rates and higher link Speeds.
`This application is being filed at the same time as related
`application, Ser. Nos. 09/172,488, 09/172,696, and 09/172,
`462.
`This application incorporates by reference the following
`patents and publications:
`1) Fibre Channel Single Byte-2(FC-SB-2) Architecture
`(AR-6865-00-POK)
`2) Fibre Channel (FC-PH) REV 4.3 ANSI X3.230-199x
`3) U.S. Pat. No. 5,526,484 to Casper et al.
`SUMMARY OF THE INVENTION
`The present invention provides for a computer program
`product for use with a computer System having a main
`Storage device in processing communication with an infor
`mation transfer interface mechanism capable of coupling to
`a plurality of input/output devices. The computer program
`device comprises of a data Storage element included in the
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`main Storage device having a computer uSable medium with
`computer readable program means for receiving and retriev
`ing data and computer readable code means for concurrently
`receiving multiple packets of data from Said interface
`mechanism. It also includes computer readable code means
`for concurrently Storing multiple packets of data concur
`rently in Said data Storage element as well as computer
`readable code means for Storage and retrieval of multiple
`packets of data concurrently between Said interface mecha
`nism and Said data Storage element. In one embodiment of
`the present invention the interface mechanism can include a
`control unit and channels and in yet another embodiment a
`fabric is in processing communication with the control unit
`and the channels. The computer product can also comprise
`computer readable code for transferring information using
`time division multiplexing. It can also comprise computer
`readable code for interleaving multiple Starts each to a
`Separate device on one channel by using multiplexing capa
`bility.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The Subject matter which is regarded as the invention is
`particularly pointed out and distinctly claimed in the con
`cluding portion of the Specification. The invention, however,
`both as to organization and method of practice, together with
`further objects and advantages thereof, may best be under
`stood by reference to the following description taken in
`connection with the accompanying drawings in which:
`FIG. 1 is an illustration a network computing environment
`utilizing one embodiment of the present invention;
`FIG. 2 is an illustration of different Fibre Channel hier
`archies, and
`FIG. 3 is an illustration of prior art Systems demonstrating
`communication paths.
`DETAILED DESCRIPTION OF THE
`INVENTION
`In a network computing System environment 100 having
`a data processing System architecture Such as the one
`depicted in FIG. 1, information is passed between a program
`Storage device or a main Storage Such as the one shown at
`110, and one or more input/output devices (hereinafter I/O
`devices) 190, using channel Subsystems 150. Through a
`fabric that can include one or more optical fiber and Switches
`160, channel paths are established, comprising channels 155
`and one or more control units shown at 180. These channel
`paths are the communication linkS established between the
`I/O devices 190 and the main storage for processing and
`eXchange of information. The channel Subsystem, control
`units and the fiber are all part of an information transfer
`interface mechanism 195 which enables the main storage
`remain in processing communication with the input/output
`devices. The information transfer interface mechanism can
`include other or different components. The fabric can be to
`Simply replaced by one or more Switches. In one embodi
`ment of the present invention, the interface mechanism does
`not even include the fabric or any Switches.
`The main Storage 110 Stores data and programs which are
`input from I/O devices 190. Main storage is directly addres
`Sable and provides for high Speed processing of data by
`central processing units and one or more I/O channel Sub
`System devices. One example of a main Storage is a cus
`tomer's Storage area and a System area (not shown). I/O
`devices 190 receive information or store information in main
`Storage. Some examples of I/O devices include magnetic
`tape units, direct-access Storage devices (DASD), displays,
`
`Page 4 of 38
`
`
`
`3
`keyboards, printers, teleprocessing devices, communication
`controllers and Sensor-based equipment.
`The main Storage is coupled to the Storage Control
`Element (SCE) 120 which in turn is coupled to one or more
`central processing units (CPU) 130. The central processing
`unit(s) is the control center of the data processing System and
`typically comprises Sequencing and processing facilities for
`instruction execution, initial program loading and other
`related functions. The CPU is usually coupled to the SCE via
`a bi-directional or uni-directional bus. The SCE, which
`controls the execution and queuing of requests made by the
`CPU and channel Subsystem, is coupled to the main Storage,
`CPUs and the channel subsystem via different busses.
`The channel Subsystem directs the flow of information
`between I/O devices and main storage and relieves the CPUs
`of the task of communicating directly with the I/O devices
`So that data processing operations directed by the CPU can
`proceed concurrently with I/O processing operations. The
`channel Subsystem uses one or more channel paths as the
`communication links in managing the flow of information to
`or from I/O devices. Each channel path consists of one or
`more channels, located within channel Subsystem, and one
`or more control units. AS can be seen in FIG. 1, it is also
`possible to have one or more dynamic Switches or even a
`Switching fabric (network of Switches) included as part of
`the path, coupled to the channel(s) and the control unit(s).
`Each control unit is further attached via a bus to one or more
`I/O device(s).
`The subchannel is the means by which channel subsystem
`provides information about associated I/O devices to the
`central processing units, the CPUs obtain this information
`by executing I/O instructions. The Subchannel consists of
`internal Storage that contains information in the form of a
`channel command word (CCW) address, channel path
`identifier, device number, count, Status indications, and I/O
`interruption Subclass code, as well as information on path
`availability and functions pending or being performed. I/O
`operations are initiated with devices by executing I/O
`instructions that designate the Subchannel associated with
`the device.
`The execution of input/output operations is accomplished
`by the decoding and executing of channel command words
`or CCWs by the channel subsystem and input/output
`devices. A chain of CCWs (input/output operations) is
`initiated when the channel transfers to the control unit the
`command Specified by the first channel command word.
`During the execution of the specified chain of I/O
`operations, data and further commands are transferred
`between the channel(s) and the control unit(s). In one
`embodiment of the present invention, the CCWs are pipe
`lined and the associated data is Streamed to the Control
`Unit(s) meaning multiple commands and data are sent to the
`Control Unit without need for interlocked responses from
`the Control Unit.
`The present invention uses fiber optic channels to estab
`lish its channel path links and utilizes the beneficial features
`of fiber-based channels. Such as increased bandwidth, higher
`transfer rates and Size advantages. FIG. 2 depicts an over
`View of the Structure and concepts and mechanism used in
`the Fibre Channel interface (FC-PH) alluded to previously.
`The Fibre Channel (FC) is logically a bi-directional point
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,687,766 B1
`
`4
`to-point Serial data channel Structured for high performance
`capability. Physically, the Fibre Channel can be an intercon
`nection of multiple communication points, called N Ports,
`interconnected by a Switching network, called a Fabric, or a
`point-to-point link. Fiber is a general term used to cover all
`physical media Supported by the Fibre Channel, Such as
`optical fiber, twisted pair and coaxial cable.
`Fibre Channel is structured as a set of hierarchical func
`tions as illustrated in FIG. 2. Fibre Channel Physical and
`Signalling interface (FC-PH, 270) consists of related func
`tions FC-0, FC-1 and FC-2 each of which is described as a
`layer or a level. As shown in FIG. 2, FC-0200 defines the
`physical portions of the Fibre Channel including the fiber,
`connectors, and optical and electrical parameters for a
`variety of data rates and physical media. Coaxial cable and
`twisted pair versions of the Fibre Channel are defined for
`limited distance applications. FC-0 provides the point-to
`point physical portion of the Fibre Channel and a variety of
`physical media is Supported to address variations in cable
`plants. FC-1 210 defines the transmission protocol which
`includes the Serial encoding, decoding, and error control.
`FC-2 220 defines the signalling protocol which includes the
`frame structure and byte sequences. FC-3 230 defines a set
`of Services which are common acroSS multiple ports of a
`node. FC-4 240 is the highest level in Fibre Channel
`Standards Set and defines the mapping between the lower
`levels of the Fibre Channel and the Intelligent Peripheral
`Interface (IPI) and Small Computer System Interface (SCSI)
`command Sets, the High-Performance parallel Interface
`(HIPPI) data framing, IP and other Upper level Protocols
`(ULPs) 280.
`There are also three classes of Service associated with
`FC's. Class 1 is a service which establishes dedicated
`connections, that is once a connection is established it is
`retained and guaranteed by the fabric. This Service guaran
`tees maximum bandwidth available between two N. Ports.
`Class 2 Service is a connectionless Service with the fabric
`multiplexing frames at frame boundaries. Class 3 is also a
`connectionless Service with the fabric multiplexing frames at
`frame boundaries but class 3 Supports only unacknowledged
`deliveries.
`The present invention uses FC-0, FC-1 and FC-2 layers as
`transport for a higher layer FC-4. The present invention also
`utilizes the FC-2 capability for time division multiplexing of
`multiple exchanges over the same fiber optic link. Multiple
`eXchanges, in this case, means multiplexing multiple chan
`nel programs at the same time with different devices. Taking
`advantage of this capability in prior art was not feasible.
`Hence the prior art required the dedication of a given
`channel to a particular channel program whereas the present
`invention enables interleaving multiple channel program
`Starts to Separate devices on one channel.
`Existing Systems use a dedicated channel to communicate
`with the control unit. FIG. 3 depicts the prior art example.
`Normally the channel A310 establishes processing commu
`nication with control unit A320 along path M330. In order
`for channel A to establish processing communication with
`control unit B 350, however, channel A has to end process
`ing communications with control unit A, wait for a discon
`nect from control unit A and then establish processing
`communication with control unit B along path N370. Each
`
`Page 5 of 38
`
`
`
`US 6,687,766 B1
`
`5
`
`1O
`
`15
`
`S
`channel, in other words, can be in communication with one
`control unit at a time.
`There are Several advantages associated with using the
`present invention. 1) Multiple control units can concurrently
`access and remain in processing communication with the
`Subsystem. 2) By multiplexing while pipelining and data
`Streaming, the number of Sequences required to execute
`typical I/O operation is reduced. 3) Many functions previ
`ously handled by the channels are now delegated to the
`control units for processing and issuance. 4) By interleaving
`multiple starts each to a separate device on one channel and
`pipelining the CCWs and Streaming the associated data to
`the control unit, which in turn has enhanced functionality for
`processing and issuance, combined commands and data are
`sent to the control units without need for interlocked
`responses from the Control Unit.
`The combination of the foregoing features eliminates the
`need for many functions which had been required in prior art
`Systems. For example, in the present invention most com
`2O
`mand responses from the Control Unit to the channels are
`eliminated and command and data may be combined into a
`Single Sequence. Furthermore, all intermediate Status
`Sequences for chained CCW commands are eliminated.
`Command re-execution for Some commands may be per
`formed at the control unit rather than being initiated by the
`channel. By allowing Several control units to concurrently
`access the Subsystem, the need for most disconnect and
`reconnect Sequences are also eliminated.
`
`6
`d) incorrect length and chaining of flags;
`e) interrupts and recovery-program controlled interrupts
`f) Re-execution of Search commands at the control unit;
`g) Disconnects and reconnects;
`h) channel program Synchronization;
`i) abnormal conditions at the channel;
`j) residual count;
`k) reset functions;
`l) lost frames and framing structure;
`m) pipelining of Sequences to control unit;
`n) class 2 and 3 log-ins and initialization;
`
`I. Allowing Both Command and Data to be
`Combined Into One Sequence
`
`The writing of data from main Storage and to I/O devices
`and the reading of data from I/O devices to main Storage is
`accomplished by executing I/O operations. At Start I/O time
`the channel builds the Fibre Channel sequence with the
`command and the command data if the command is a write.
`If the CCW count is greater than 4k on a write CCW then
`each Subsequent 4K bytes of data are Sent as a separate data
`Sequence. Each Read CCW is Sent as one Sequence.
`
`25
`
`Read
`
`OUTEOUND EXCHANGE - - - - - - - - - - - - -
`-------------
`:::::::::::::::::::-->: CONTROL
`CHANNEL :
`INBOUND EXCHANGE
`--- UNIT---
`-------------
`- - - , CMD - DATA - - - - - - - (CCE) --- (DX PARMS 16B) --(EXA)---->
`CMD-DATA ----- (CH,CC,E)--(LOC PARMS 16B)-(EXA)----->
`CMD--------------(CH, RD-4KB------------------(EXA)---->
`------CNTL - - - - - - - - - - - -.(CMR)------------------------ -(EXA")-----
`CNTL------------- (ACR)-------------------------(EXA)----->
`------DATA- - - - - - - - - - - - -.(E)------------ (DATA-4KB)-----(EXA")-----
`-- - - - -STATUS:- - - - - - - - - - - (CE/DE)- - - - - - - - - - - - - - - - - - - - - - - (EXA)- - - - -
`CNTL------------- (ACC)-------------------------(EXA)------
`------CNTL - - - - - - - - - - - - -(DACK)-- - - - - - - - - - - - - - - - - - - - - - (EXA)- - - - -
`
`The present invention provides major changes in the
`following areas, each of which will be discussed Separately:
`a) initiation of channel programs;
`b) execution of channel programs;
`c) CCW and data pacing
`
`50
`
`EXAMPLE 1.
`
`READ-is an Example for a Define Extend, Locate
`Record Followed by a Read CCW for One
`Command Chain
`
`Write
`
`OUTEOUND EXCHANGE - - - - - - - - - - - - -
`-------------
`i:::::::::::::::-->: CONTROL
`CHANNEL :
`INBOUND EXCHANGE
`--- UNIT---
`-------------
`- - - , CMD - DATA - - - - - - - (CCE) --- (DX PARMS 16B) --(EX B)---->
`- - - , CMD - DATA - - - - - (CHCC,E)---(LOC PARMS 16B)-(EX B)---->
`- - - CMD - DATA - - - - - (CH.WD,E) -- (DATA 4KB)- - - - - - - (EX B)-----
`-- - - - CNTL - - - - - - - - - - - - (CMR)-----------------------. (EX B) ----.
`- - - CNTL - - - - - - - - - - - - (ACR)------------------------. (EX B)----->
`-- - - -STATUS- - - - - - - - - - -(CE/DE) ---------------------- (EX B) ----.
`- - - CNTL - - - - - - - - - - - - (ACC)------------------------. (EX B)----->
`-- - - - CNTL- - - - - - - - - - - - -(DACK.---------------------- (EX B) ----,
`
`Page 6 of 38
`
`
`
`7
`EXAMPLE 2
`
`US 6,687,766 B1
`
`8
`EXAMPLE 3A
`
`WRITE-This Table is an Example of a Define
`Extend, Locate Record Followed by a Write CCW
`EXAMPLE 3A
`Multiple Reads and Writes
`
`5
`
`Multiple Exchanges
`This is an example of multiple command chains consist
`ing of Define Extend, Locate Record, a read or a write in
`each CCW chain. The exchange ID is shown on each line.
`Each exchange is totally independent of any other eXchange.
`
`-------------
`CHANNEL :
`-------------
`
`OUTEOUND EXCHANGE r- - - - - - - - - - - - -
`:---------------------- : CONTROL
`BOUND EXCHANGE
`--- UNIT---
`
`- - - CMD - DATA - - - - - - - (CCE) --- (DX PARMS 16B)---(EXA)---->
`- - - CMD - DATA - - - - - - - (CH,CC,E)--- (LOC PARMS 16B)----(EXA)------
`- - - CMD - DATA - - - - - - - (CCE)------- (DX PARMS 16B) ---- (EX B)------
`- - - CMD - DATA - - - - - - - (CH,CC,E)--- (LOC PARMS 16B)--- (EX B)----->
`- - - CMD - DATA - - - - - - - (CCE)------- (DX PARMS 16B) ---- (EXC)----->
`- - - CMD - DATA - - - - - - - (CH,CC,E)--- (LOC PARMS 16B)--- (EXC)------
`- - - CMD- - - - - - - - - - - - - - - - (CH.RD-4KB)- - - - - - - - - - - - - - - - - - - - - -(EXA)------
`- - - CMD - DATA - - - - - - - (CH.WD,E)--- (DATA 4KB)- - - - - - - - - -(EX B)------
`- - - CMD- - - - - - - - - - - - - - - - (CHRD-4KB)----------------------(EXC)------
`-- - - - CNTE- - - - - - - - - - - - - - - (CMR)--------------------------- (EXA")----.
`-- - - - CNTE- - - - - - - - - - - - - - - (CMR)--------------------------- (EXC)----.
`- - - CNTE- - - - - - - - - - - - - - - (ACR)--------------------------- (EXA)----->
`-- - - - CNTE- - - - - - - - - - - - - - - (CMR)--------------------------- (EX B)----.
`- - - CNTE- - - - - - - - - - - - - - - (ACR)--------------------------- (EXC)----->
`CNTE- - - - - - - - - - - - - - - (ACR)- - - - - - - - - - - - - - - - - - - - - - - - - - - (EX B)------
`-- - - -DATA- - - - - - - - - - - - - - -(E) - - - - - - - - - - (DATA-4KB)- - - - - - - - - (EXC)----.
`-- - - -STATUS:- - - - - - - - - - - - -(CE/DE)-------------------------- (EX B)----.
`-- - - -STATUS:- - - - - - - - - - - - -(CE/DE)-------------------------- (EXC)----.
`- - - CNTE- - - - - - - - - - - - - - - (ACC)--------------------------- (EX B)----->
`-- - - - CNTE- - - - - - - - - - - - - - - (DACK.------------------------- (EX B)----.
`- - - CNTE- - - - - - - - - - - - - - - (ACC)- - - - - - - - - - - - - - - - - - - - - - - - - - - (EXC)----->
`-- - - -DATA- - - - - - - - - - - - - - -(E) - - - - - - - - - - (DATA-4KB)- - - - - - - - - (EXA")----.
`s- - - -STATUS:- - - - - - - - - - - - -(CE/DE)-------------------------- (EXA")----.
`-- - - - CNTE- - - - - - - - - - - - - - - (DACK.------------------------- (EXC)----.
`- - - CNTE- - - - - - - - - - - - - - - (ACC)--------------------------- (EXA)----->
`-- - - - CNTE- - - - - - - - - - - - - - - (DACK.------------------------- (EXA")----.
`
`40
`
`EXAMPLE 3B
`
`WRITE Example, One CCW
`
`Present Invention:
`
`CMD-DATA -------(4K BYTES ------------------------------------------------->
`CNTL ------------ (CMR) ----------------------------------------------------->
`a - - - - - CNTL - - - - - - - - - - - - (ACR) ------------------------------------------------------
`
`a
`
`a
`Prior Art
`
`STATUS - - - - - - - - - - (CE/DE) ----------------------------------------------------
`CNTL ------------ (ACC) ------------------------------------------------------>
`CNTL - - - - - - - - - - - - (DACK) ------------------------------------------------------
`
`CMD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -e-
`
`a- - - - - - - CNTL - - - - - - - - - - - - - - - - (CMR)--------------------------------------
`CNTL----------------(ACR) -------------------------------------->
`DATA-----------------------------------(DATA 1 KB) ------------->
`DATA-----------------------------------(DATA 1 KB) ---------------
`DATA -----------------------------------(DATA 1 KB)-------------->
`DATA -----------------------------------(DATA 1 KB) ------------->
`a - - - - - STATUS - - - - - - - - - - - - - (CE/DE)------------------------------------
`CNTL----------------(ACC)--------------------------------------->
`a - - - - - CNTL - - - - - - - - - - - - - - - - (DACK) ------------------------------------
`
`Page 7 of 38
`
`
`
`US 6,687,766 B1
`
`EXAMPLE 3B
`
`WRITE-Write Example, One CCW for Present
`Invention Versus Prior Art
`
`Present Invention:
`
`CMD-DATA-------(4K BYTES------------------------------------------>
`CMD-DATA-------(4K BYTES------------------------------------------>
`CNTL ------------ (CMR)-----------------------------------------------
`-a - - - - - - CNTL - - - - - - - - - - - - (ACR) ---------------------------------------------
`
`-a - - - - - - STATUS - - - - - - - - - - (CE/DE) --------------------------------------------
`CNTL ------------ (ACC) --------------------------------------------->
`a- - - - - - -.CNTL - - - - - - - - - - - - (DACK) ---------------------------------------------
`Prior Art
`
`
`
`DATA-----------------------------------(DATA 1 KB)---------------
`DATA-----------------------------------(DATA 1 KB)---------------
`DATA -----------------------------------(DATA 1 KB)---------------
`DATA -----------------------------------(DATA 1 KB)---------------
`CMD ---------------- (CC) -----------------------------------------
`-- - - - - - - STATUS - - - - - - - - - - - - - (CE/DE)--------------------------------------
`
`as .
`
`.
`
`.
`
`.
`
`.
`
`. CNTL - - - - - - - - - - - - - - - - (CMR)---------------------------------------
`CNTL----------------(ACR)----------------------------------------
`DATA-----------------------------------(DATA 1 KB) -----------------
`DATA-----------------------------------(DATA 1 KB) ---------------->
`DATA -----------------------------------(DATA 1 KB)-----------------
`DATA -----------------------------------(DATA 1 KB)-----------------
`a - - - - - STATUS:- - - - - - - - - - - - - (CE/DE)--------------------------------------
`CNTL---------------- (ACC).----------------------------------------->
`- - - - - CNTL - - - - - - - - - - - - - - - - (DACK)-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
`
`as
`
`EXAMPLE 3C
`
`WRITE-Write Example, Two CCW for Present
`Invention Versus Prior Art
`
`ABBREVIATION AND WORD DEFINITIONS
`Following are definitions of abbreviations, used in the
`above examples
`ple.S.
`
`Command Response
`1. CMR
`Accept-command-response function
`2. ACR
`Bytes
`3. B
`Command Chaining
`4. CC
`CCW Command Chained into
`5. CH
`Command Type sequence
`6. Cmd
`7. Cmd-Data Command-Data Type sequence
`8. Cnt
`Control Type sequence
`9. Data
`Data Type sequence
`10. Status
`Status Type sequence
`11. ACC
`Status accepted
`12. DACK Device-level-ACK
`13. CE
`Channel-end status bit
`14. DE
`Device-end status bit
`15. DX
`Define Extent Command
`16. LOC
`Locate Record Command
`17. E
`End bit indicates the last data sequence
`
`-continued
`
`45
`
`18. KB
`19. RD
`2O. WD
`21. EX()
`
`50
`
`22. EX( )
`
`55
`
`Kilo-bytes
`Read Data Command
`Write Data Command
`Exchange. At the FC-2 layer facilities exist that
`allow multiple operations to be running concurrently
`each with its own exchange ID. For system 390 this
`is used to run multiple concurrent I/O operations.
`The second exchange of an Exchange pair. Two
`exchanges are linked together at the FC4 layer.
`FC-2 architecture only allows one end or the other the
`ability to send frames at any one time. To get around
`this, an exchange pair is defined and bound together at
`the FC4 layer so that within an exchange pair frames
`can be sent by both sides at the same time, each
`using its own exchange ID.
`
`60
`
`II. Fibre Channels and Information Units
`-
`AS mentioned earlier, the present invention utilizes the
`FC-4 layer of Fibre Channel. Furthermore, the present
`invention utilizes the definition of a