WO2009069907A2 - Usage of persistent information unit pacing protocol in fibre channel communications - Google Patents

Usage of persistent information unit pacing protocol in fibre channel communications Download PDF

Info

Publication number
WO2009069907A2
WO2009069907A2 PCT/KR2008/006709 KR2008006709W WO2009069907A2 WO 2009069907 A2 WO2009069907 A2 WO 2009069907A2 KR 2008006709 W KR2008006709 W KR 2008006709W WO 2009069907 A2 WO2009069907 A2 WO 2009069907A2
Authority
WO
WIPO (PCT)
Prior art keywords
control unit
storage control
primary storage
information
remote host
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.)
Ceased
Application number
PCT/KR2008/006709
Other languages
English (en)
French (fr)
Other versions
WO2009069907A3 (en
Inventor
Roger Gregory Hathorn
Bret Wayne Holley
Matthew Joseph Kalos
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM Korea Inc
International Business Machines Corp
Original Assignee
IBM Korea Inc
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by IBM Korea Inc, International Business Machines Corp filed Critical IBM Korea Inc
Priority to AT08854460T priority Critical patent/ATE511267T1/de
Priority to JP2010535871A priority patent/JP5084912B2/ja
Priority to CN200880118236.8A priority patent/CN101878617B/zh
Priority to EP08854460A priority patent/EP2220820B1/en
Publication of WO2009069907A2 publication Critical patent/WO2009069907A2/en
Publication of WO2009069907A3 publication Critical patent/WO2009069907A3/en
Priority to IL204680A priority patent/IL204680A/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system

Definitions

  • the disclosure relates to a method, system, and article of manufacture for the usage of persistent information unit pacing protocol in fibre channel communications.
  • Fibre Channel refers to an integrated set of architectural standards for data transfer developed by the American National Standards Institute. Fibre Connection (FICON) is a protocol of the fibre channel architecture and may also be referred to by the formal name of FC-SB-3. Further details of FC-SB-3 may be found in the publication, "FIBRE CHANNEL Single-Byte Command Code Sets-3 Mapping Protocol (FC-SB-3)", Rev. 1.6, published by the American National Standards for Information Technology on March 26, 2003 and in the publication, "Fibre Channel Single-Byte Command Code Sets-3", AMENDMENT 1 (FC-SB-3/AM1), INCITS 374-2003/AM 1-2007, published by the American National Standard for Information Technology on 28 September, 2007.
  • a channel is a direct or a switched point-to-point connection between communicating devices.
  • a FICON channel may perform the functions specified by FC-SB-3 to provide access to Input/Output (I/O) devices by means of control units or emulated control units.
  • FICON channels may rely on packet switching for transferring data between communicating devices.
  • a channel command word is a control block which includes an I/O request, and may refer to a structure of a specific system architecture which specifies a command to be executed along with parameters.
  • a channel program is a sequence of one or more channel command words executed sequentially that controls a specific sequence of channel operations.
  • FICON channels may transmit up to sixteen channel command words at a time along with the associated data for any write operations, where a channel command word may be referred to as an "information unit". If more than sixteen information units are present in a channel program then after the transmission of the first sixteen information units the remaining information units may be transmitted in groups of eight until the channel program is completed.
  • the additional information units beyond sixteen can only be sent after having received a Command Response from the recipient in response to a Command Response Request (CRR).
  • CRR Command Response Request
  • Extended Remote Copy also referred to as Global Mirror Z (GMz or zGM)is a copy function available for the z/OS* and OS/390* operating systems.
  • XRC maintains a copy of the data asynchronously at a remote location, and can be implemented over extended distances, such as distances of over one hundred kilometers.
  • XRC may be used in IBM Enterprise Storage Servers*(ESS). Further details of XRC may be found in the publication "IBM Total Storage Enterprise Storage Server: Implementing ESS Copy Services with IBM eServer zSeries," published by International Business Machines Corporation, in July, 2004.
  • Extended Distance XRC configurations may use fiber channel extension technologies between a remote host and a primary site control unit.
  • This extended Fibre Channel may be used by the remote host to read data from the primary site control unit and store the backup data on storage at a remote site.
  • the remote host may issue command chains to the primary site control unit containing a define subsystem operation (DSO) command followed by a series of read record set (RRS) commands, and finally a Perform Subsystem Function (PSF)/ Read Subsystem Data (RSSD) command set to determine the number of side-file entries for the next chain.
  • DSO define subsystem operation
  • RTS read record set
  • PSF Perform Subsystem Function
  • RSSD Read Subsystem Data
  • the count of RRS commands in the chain may be indicated in the DSO command parameters. This count in certain solutions may be about 150 CCWs.
  • a flow control method referred to as "information unit pacing" in the FICON architecture may restrict a FICON channel to have at most sixteen information units in flight at any point in time.
  • a channel program may request a command response information unit by setting the command response request (CRR) bit in the eighth information unit.
  • CCR command response request
  • When the channel program receives the command response information unit from the control unit another 8 information units are sent.
  • This may cause data rate droop at extended distances, such as distances beyond a hundred kilometers, because the control unit must receive the first group of 16 information units before requesting additional units according to the FICON pacing protocol, thus adding additional round trips of communication between the channel and control unit ports.
  • the number of round trips depends on the size of a channel command word chain. If there are 150 channel command words in a channel command word chain, then there may be up to 17 round trips. At extended distances, such as distances beyond a hundred kilometers, a significant overhead may be added for the additional round trips of communication.
  • spokeing channel extenders have added functionality to examine each command to see the command is a DSO/RRS command chain. If so, the remote channel extender may generate a CCW chain of RRS commands to simulate commands that are expected to be received by the local extender. The data is shipped by the remote extender to the local extender where the CCW chain is then executed on the data received as if it were in the control unit. This avoids data rate droop caused by extra round trips required of long distance.
  • this functionality in the channel extenders may limit customers to relatively expensive solutions for channel extension. Disclosure of Invention Technical Solution
  • a primary storage control unit receives an information unit from a remote host over a fibre channel connection, wherein persistent information unit pacing is implemented over the fibre channel connection.
  • Information is maintained on how many large writes have been received at the primary storage control unit over at least one logical path established over the fibre channel connection between the primary storage control unit and the remote host, wherein a large write is an input/output (I/O) operation for which a number of data information units that are processed exceeds a default value of an information unit pacing credit.
  • I/O input/output
  • the primary storage control unit adjusts an information unit pacing parameter included in a response sent from the primary storage control unit to the remote host, wherein the adjusting is based at least on the information maintained on how many large writes have been received at the primary storage control unit over the at least one logical path.
  • the information unit pacing parameter indicates the number of information units that the remote host is allowed to send to the primary storage control unit without waiting for any additional response from the primary storage control unit, and wherein the information unit pacing parameter for the at least one logical path is set to a number that is greater than sixteen but fewer than two hundred and fifty six if there is no congestion of write buffers caused by the large writes.
  • the information unit is a channel command word in a fibre connect protocol, and wherein the received channel command word starts a channel command word chain.
  • a determination is made as to whether the channel command word comprises a define subsystem operation command that defines a subsystem operation for extended remote copy operations.
  • the number of read record set commands associated with the define subsystem operation command is determined, wherein a read record set command corresponds to a read request.
  • the information unit pacing parameter value for a logical path is set such that an increased number of information units can be sent at a start of a next channel program, wherein if a same or a smaller number of the read record set commands are used, an entire chain can be sent at once.
  • the information unit pacing parameter is reset for all logical paths in which large writes exceed a predetermined threshold.
  • the remote host performs extended remote copying of data from the primary storage control unit to a remote storage control unit, wherein the remote host is geographically separated from the primary storage control unit by a distance of over a hundred kilometers.
  • FIG. 1 illustrates a block diagram of a computing environment in accordance with certain embodiments
  • FIG. 2 illustrates a block diagram that shows communications between a remote host and a primary storage controller, in accordance with certain embodiments
  • FIG. 3 illustrates a block diagram that shows communications between a channel and a control unit, in accordance with certain embodiments
  • FIG. 4 illustrates data structures associated with a fibre channel connection, in accordance with certain embodiments
  • FIG. 5 illustrates data structures associated with extended remote copy, in accordance with certain embodiments
  • FIG. 6 illustrates a block diagram that shows how IU pacing parameter is set in an operating environment, in accordance with certain embodiments
  • FIG. 7 illustrates a flowchart that shows first operations for setting IU pacing parameter, in accordance with certain embodiments.
  • FIG. 8 illustrates a flowchart that shows second operations for setting IU pacing parameter
  • FIG. 9 illustrates the architecture of computing system, wherein in certain embodiments elements of the computing environment of FIG. 1 may be implemented in accordance with the architecture of the computing system. Best Mode for Carrying Out the Invention
  • the persistent IU pacing protocol allows the channel to send more than 16 information units at a time to the control unit, thus alleviating command related data rate droop at extended distances.
  • Certain embodiments that use the persistent IU pacing protocol allow a primary storage control unit in an extended distance remote copy (XRC) environment to modify the flow of information units within the FICON architecture, such that more than sixteen information units can be in flight at certain points in time.
  • XRC extended distance remote copy
  • a remote host may perform extended distance remote copy operations to copy data from a primary storage control unit to a remote storage control unit.
  • certain embodiments may reduce the time for performing extended remote copy in comparison to situations where a channel is restricted to have no more than sixteen information units in flight at any point in time.
  • Certain embodiments implement congestion control of write operations that may interfere with reads in XRC implementations over the FICON architecture by performing the following operations:
  • a LW (Large Write) count tracks large writes for each logical path.
  • a large write is defined as an I/O operation for which a number of data IUs that are processed exceeds the default IU pacing credit.
  • the LW count is incremented if the write IU count for that chain exceeds the default pacing credit (or an adjustable value). If the LW count reaches a maximum value, that logical path is placed on a Large Write Threshold (LWT) list. To account for extremely large LW chains, the LW count may be incremented by the LW count for that chain divided by the default pacing count.
  • LWT Large Write Threshold
  • FIG. 1 illustrates a block diagram of a computing environment 100 utilizing a remote host 102 coupled to a primary storage control unit 104 and a remote storage control unit 106. While FIG. 1 shows only a single remote host 102, a single primary storage control unit 104, and a single remote storage control unit 106, in certain alternative em- bodiments a plurality of remote hosts may be coupled to a plurality of primary and remote storage control units.
  • the remote host 102 may connect to the primary storage control unit 104 through a data interface channel, such as fibre channel 108 or any other data interface mechanism known in the art.
  • the remote host 102 may be any suitable computational device presently known in the art, such as a personal computer, a workstation, a server, a mainframe, a hand held computer, a telephony device, a network appliance, etc.
  • the remote host 102 may include any operating system known in the art, such as, the IBM OS/390 or the z/OS operating system.
  • the primary storage control unit 104 and the remote storage control unit 106 may include a plurality of logical volumes.
  • the primary storage control unit 104 and the remote storage control unit 106 may control a plurality of physical storage devices, each of which may include one or more physical volumes.
  • the remote host 102 may include a host application 110 and the primary storage control unit 104 may include a controller application 112.
  • the host application 110 interfaces with the controller application 112 to read data from the primary storage control unit 104 and store the data in the remote storage control unit 106.
  • the host application 110 and the controller application 112 communicate over the fiber channel 108.
  • the host application 110 uses extended remote copy over the fiber channel 108 to copy data from the primary storage control unit 104 to the remote storage control unit 106.
  • Communications over the fibre channel 108 between the remote host 102 and the primary storage control unit 104 may be enabled by a fibre channel adapter 114 included in the remote host 102 and a fibre channel adapter 116 included in the primary storage control unit 104.
  • the fibre channel adapter 114 included in the remote host 102 includes a port 118
  • the fibre channel adapter 116 included in the primary storage control unit 104 includes a port 120, where the ports 118 and 120 may be referred to as N-ports in fibre channel terminology.
  • Fibre channel based communications via the FICON protocol may be performed between the port 118 of the remote host 102 and the port 120 of the primary storage control unit 104.
  • a plurality of logical paths may be established between the two fibre channel adapters 114, 116.
  • FIG. 1 illustrates a computing environment 100 in which the host application 110 copies data from the primary storage control unit 104 to the remote storage control unit 106 via the FICON protocol by using extended remote copy operations.
  • the distance between the remote host 102 and the primary storage control unit 104 may exceed maximum distances supported by fibre channel architecture by using fibre channel extension solutions.
  • FIG. 2 illustrates a block diagram that shows communications between the remote host 102 and the primary storage controller 104, in accordance with certain embodiments implemented in the computing environment 100.
  • the remote host 102 is capable of sending one or more channel command words 400 in a sequence over a channel generated in accordance with the FICON protocol between the remote host 102 and the primary storage control unit 104.
  • the primary storage control unit 104 may send a command response information unit 202 in response to certain channel command words 200.
  • an IU pacing parameter such as the IU pacing parameter 208, included in the command response information unit 202, the primary storage control unit 104 may modify the number of channel command words that may be in flight between the remote host 102 and the primary storage control unit 104.
  • FIG. 3 illustrates a block diagram that shows communications between a channel 300 and a control unit 302 implemented in the computing environment 100, in accordance with certain embodiments.
  • the channel 300 is an entity of the remote host 102, and includes the port 118.
  • the control unit 302 is an entity of the storage controller 104 and includes the port 120.
  • a logical path may be established between the channel 300 and the control unit 302.
  • the channel sends an establish logical path (ELP) request
  • control unit 302 may send a logical path established (LPE) response 306 to the channel 300 and establish the logical path.
  • LPE logical path established
  • the channel 300 may retain the value of the IU pacing parameter for a subsequent command chain if the control unit 302 indicated support for the retention of the value of the IU pacing parameter when the logical path was established by using the establish logical path request 304 and the logical path established response 306.
  • FIG. 4 illustrates data structures associated with a fibre connection implemented over the fibre channel 108 in the computing environment 100, in accordance with certain embodiments.
  • the data structures shown in FIG. 4 are referred to as FICON data structures 400.
  • the FICON data structures 400 include one or more channel command words 402, an information unit pacing credit 404, a command response information unit 406 having an information unit pacing parameter 408, where the information unit pacing parameter 408 is also referred to as an IU pacing parameter and the information unit pacing credit 404 may be referred to as a IU pacing credit.
  • the FICON data structures 400 also include an establish logical path request 304 and a logical path established response 306.
  • the channel command words 402 are control blocks that include I/O requests.
  • a channel command word 402 may include a read request from the host application 110 to the controller application 112, where the read request is a request for reading data stored by storage controller 104.
  • the channel command words 402 may be sent from the channel 300 to the control unit 302.
  • a channel command word 402 may also be referred to as an information unit.
  • Each channel 300 for fibre channel communications between the remote host 102 and the storage controller 104 provides the IU pacing credit 404 which may be initialized at either the start of each channel program or during a reconnection to continue the execution of a channel program.
  • the IU pacing credit 404 is the maximum number of information units that the remote host 102 may send to the storage controller 104, before the remote host 102 receives the command response information unit 406 from the storage controller 104.
  • a command response information unit 406 is an information unit sent from the storage controller 104 to the remote host 102, in response to certain conditions.
  • a command response information unit 406 may be sent from the storage controller 104 to the remote host 102 in response to certain channel command words 402.
  • the IU pacing parameter 408 associated with a command response information unit 406 may be sent from the port 120 of the storage controller 104 to indicate the maximum number of information units the remote host 102 may send over a channel.
  • An IU pacing parameter 408 of zero indicates that the value of the IU pacing credit is to be reset to the default value.
  • the channel 300 may send a number of information units to the control unit 302.
  • the number of information units sent may not exceed the value of the information unit pacing credit 404, where the value of the information unit pacing credit 404 is also referred to as information unit pacing credit value.
  • the establish logical path request 304 may be sent from the channel 300 to the control unit 302 to indicate the optional features supported by the channel 300 and to request the establishment of a logical path between the channel 300 and the control unit 302.
  • the logical path established response 306 from the control unit 302 confirms the successful completion of an establish logical path function request and the establishment of the logical path, and indicates the optional features to be used on all information units sent between the channel 300 and the control unit 302.
  • the establish logical path request 304 may be implemented via an establish logical path function with associated parameters referred to as establish logical path pa- rameters 308.
  • a persistent pacing control indicator bit 310 included in the establish logical path parameters 308 may indicate whether or not the channel 300 provides support for persistent pacing, i.e., the retention of the value of the information unit pacing parameter 408 across a plurality of command chains, where a command chain is a sequence of channel command words.
  • Persistent pacing may also be referred to as persistent information unit pacing.
  • the logical path established response 306 may be implemented via a function with associated parameters referred to as logical path established parameters 312.
  • a persistent pacing control response indicator bit 314 included in the logical path established parameters 312 may indicate whether or not the control unit 302 provides support for persistent pacing.
  • Fig. 4 illustrates certain embodiments in which a first indicator referred to as a persistent pacing control indicator bit 310 and a second indicator referred to as a persistent pacing control response indicator bit 314 indicate whether or not a logical path established between the channel 300 and the control unit 302 enables persistent pacing.
  • the first indicator 310 and the second indicator 314 are included as an enhancement to a fibre channel protocol, wherein the enhancement to the fibre channel protocol supports persistent information unit pacing across the plurality of command chains.
  • FIG. 5 illustrates data structures associated with extended remote copy implemented in the computing environment 100, in accordance with certain embodiments.
  • the data structures shown in FIG. 5 are referred to as XRC data structures 200.
  • the XRC data structures 500 may include a define subsystem operation (DSO) command 502 that defines a subsystem operation signaling the intent to execute a number of Read Record Set (RRS) channel command words in the current command chain.
  • DSO subsystem operation
  • RRS Read Record Set
  • the DSO command 502 may define a subsystem operation during communications between the remote host 102 and the primary storage control unit 104.
  • the RRS command 504 if associated with the DSO command 502, indicates to the primary storage control unit 104 that the remote host 102 is sending a read request.
  • Extended distance XRC configurations may use fiber channel extension technologies between the remote host 102 and the primary storage control unit 104.
  • Extended fibre channel may be used by the remote host 102 to read data from the primary storage control unit 104 and store the data on storage at the remote storage control unit 106.
  • the data read from the primary storage control unit 104 is stored as backup data in the remote storage control unit 106.
  • the remote host 102 issues command chains to the primary storage control unit 104, where the command chain includes a DSO command 502 followed by a series of read record set commands 504, and finally additional commands [e.g., Perform Subsystem Function (PSF) commands and Read Subsystem Data (RSSD) commands as defined in XRC] to determine the number of side-file entries for the next chain.
  • additional commands e.g., Perform Subsystem Function (PSF) commands and Read Subsystem Data (RSSD) commands as defined in XRC] to determine the number of side-file entries for the next chain.
  • PSF Perform Subsystem Function
  • RSSD Read Subsystem Data
  • the count of RRS commands 504 in the chain is indicated in the DSO command parameters, and in certain exemplary embodiments the count of RRS commands 504 may exceed 150 channel command words.
  • FIG. 5 illustrates certain embodiments in which a read record set command 504 associated with a DSO command 502 indicates to the primary storage control unit 104 that read operations are requested by the remote host 102.
  • Such DSO commands 502 may be sent from the remote host 102 to the primary storage control unit 104 in embodiments that implement extended remote copy.
  • FIG. 6 illustrates a block diagram that shows how IU pacing parameter 408 is set in an operating environment 600, in accordance with certain embodiments.
  • the operating environment 600 may occur in the computing environment 100.
  • reference numeral 602 is operational between the remote host 102 and the primary storage control unit 104.
  • Persistent information unit pacing (reference numeral 604) is enabled.
  • interfering write commands 606 are also sent from the remote host 102 to the primary storage control unit 104.
  • the interfering write commands 606 may be large writes, wherein a large unit is defined as an I/O operation for which a number of data information units that are processed exceed the default IU pacing credit.
  • the IU pacing parameter 408 is set as a function of read record set commands 504 in the DSO command of the XRC environment (reference numeral 608). Therefore, when persistent IU pacing is enabled more than 16 information units can be in flight at the same time. However, large write commands 606 may cause interference and problems. Therefore, within the operating environment 600 the number of large writes are tracked based on a maximum number of large writes that can be handled and the IU pacing parameter is reset for logical paths for which there are too many large writes (reference numeral 610). It can be viewed as a form of congestion control for write commands, such that, by resetting the IU pacing parameter the number of interfering write commands are limited during flow control.
  • FIG. 7 illustrates a flowchart that shows first operations for setting IU pacing parameter, in accordance with certain embodiments.
  • the first operations may be implemented in the remote host 102 and the primary storage control unit 104 of the computing environment 100 via the controller application 112 and the host application 110.
  • Control starts at block 700 where the channel formed between the remote host 102 and the primary storage control unit 104 over the fibre channel 108 is in idle state, and a channel command word chain starts (reference numeral 702).
  • control can proceed to block 714 from any of the blocks 704,
  • the command response information unit is sent with current IU pacing parameter for the logical path.
  • Control proceeds to block 716, wherein the command chain is executed while tracking write information units by incrementing the write IU count to track the number of write information units in the command chain. It should be noted that at the end of an I/O operation, if write buffer congestion has occurred, then the pacing count is reset for all logical paths on the large write threshold list.
  • FIG. 8 illustrates a flowchart that shows second operations for setting IU pacing parameter.
  • the second operations may be implemented in the remote host 102 and the primary storage control unit 104 of the computing environment 100 via the controller application 112 and the host application 110.
  • Control starts at block 800, where the primary storage control unit 104 receives an information unit from a remote host 102 over a fibre channel connection 108, wherein persistent information unit pacing is implemented over the fibre channel connection 108.
  • Control proceeds to block 802, where information is maintained on how many large writes have been received at the primary storage control unit 104 over at least one logical path established over the fibre channel connection 108 between the primary storage control unit 104 and the remote host 102, wherein a large write is an input/ output (I/O) operation for which a number of data information units that are processed exceeds a default value of an information unit pacing credit.
  • I/O input/ output
  • the primary storage control unit 104 adjusts an information unit pacing parameter 408 included in a response sent from the primary storage control unit 104 to the remote host 102, wherein the adjusting is based at least on the information maintained on how many large writes have been received at the primary storage control unit 104 over the at least one logical path.
  • control may proceed to block 806 and block 808.
  • the information unit pacing parameter for the at least one logical path is set to a number that is greater than sixteen but fewer than two hundred and fifty six if there is no congestion of write buffers caused by the large writes.
  • the information unit pacing parameter is reset for all logical paths in which large writes exceed a predetermined threshold.
  • Certain embodiments allow XRC implementations over Fibre Channel such that congestion control for large writes is performed while persistent IU pacing is enabled. It is preferable to not have applications that run large writes all the time on the same path as the XRC read operations as such large writes may interfere with the performance benefits of persistent pacing.
  • the large write detection of certain embodiments is designed to allow for some periods of large write I/O when necessary.
  • the described techniques may be implemented as a method, apparatus or article of manufacture involving software, firmware, micro-code, hardware and/or any combination thereof.
  • article of manufacture refers to code or logic implemented in a medium, where such medium may comprise hardware logic [e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.] or a computer readable medium, such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices [e.g., Electrically Erasable Programmable Read Only Memory (EEPROM), Read Only Memory (ROM), Programmable Read Only Memory (PROM), Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), flash, firmware, programmable logic, etc.].
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • ROM Read Only Memory
  • PROM Programmable Read Only Memory
  • RAM
  • Code in the computer readable medium is accessed and executed by a processor.
  • the medium in which the code or logic is encoded may also comprise transmission signals propagating through space or a transmission media, such as an optical fiber, copper wire, etc.
  • the transmission signal in which the code or logic is encoded may further comprise a wireless signal, satellite transmission, radio waves, infrared signals, Bluetooth, etc.
  • the transmission signal in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a computer readable medium at the receiving and transmitting stations or devices.
  • the "article of manufacture” may comprise a combination of hardware and software components in which the code is embodied, processed, and executed.
  • the article of manufacture may comprise any information bearing medium.
  • the article of manufacture comprises a storage medium having stored therein instructions that when executed by a machine results in operations being performed.
  • Certain embodiments can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements.
  • the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
  • certain embodiments can take the form of a computer program product accessible from a computer usable or computer readable medium providing program code for use by or in connection with a computer or any instruction execution system.
  • a computer usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
  • Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk read only memory (CD-ROM), compact disk - read/write (CD-RAV) and DVD.
  • the embodiment, “the embodiments”, “one or more embodiments”, “some embodiments”, and “one embodiment” mean one or more (but not all) embodiments unless expressly specified otherwise.
  • the terms “including”, “comprising”, “having” and variations thereof mean “including but not limited to”, unless expressly specified otherwise.
  • the enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise.
  • the terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise.
  • Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise.
  • devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries.
  • a description of an embodiment with several components in communication with each other does not imply that all such components are required. On the contrary a variety of optional components are described to illustrate the wide variety of possible embodiments.
  • FIG. 9 illustrates an exemplary computer system 900, wherein in certain embodiments the remote host 102, the primary storage controller 104, and the remote storage controller 106 of the computing environment 100 of FIG. 1 may be implemented in accordance with the computer architecture of the computer system 900.
  • the computer system 900 may also be referred to as a system, and may include a circuitry 902 that may in certain embodiments include a processor 904.
  • the system 900 may also include a memory 906 (e.g., a volatile memory device), and storage 908. Certain elements of the system 900 may or may not be found in the remote host 102, the primary storage controller 104, or the remote storage controller 106 of FIG. 1.
  • the storage 908 may include a non- volatile memory device (e.g., EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, firmware, programmable logic, etc.), magnetic disk drive, optical disk drive, tape drive, etc.
  • the storage 908 may comprise an internal storage device, an attached storage device and/or a network accessible storage device.
  • the system 900 may include a program logic 910 including code 912 that may be loaded into the memory 906 and executed by the processor 904 or circuitry 902. In certain embodiments, the program logic 910 including code 912 may be stored in the storage 908. In certain other embodiments, the program logic 910 may be implemented in the circuitry 902. Therefore, while Fig. 9 shows the program logic 910 separately from the other elements, the program logic 910 may be implemented in the memory 906 and/or the circuitry 902.
  • Certain embodiments may be directed to a method for deploying computing instruction by a person or automated processing integrating computer-readable code into a computing system, wherein the code in combination with the computing system is enabled to perform the operations of the described embodiments.
  • At least certain of the operations illustrated in FIG. 9 may be performed in parallel as well as sequentially. In alternative embodiments, certain of the operations may be performed in a different order, modified or removed.
  • FIGs. 1-9 are described as having specific types of information. In alternative embodiments, the data structures and components may be structured differently and have fewer, more or different fields or different functions than those shown or referred to in the figures.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Selective Calling Equipment (AREA)
  • Computer And Data Communications (AREA)
  • Electrotherapy Devices (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Warehouses Or Storage Devices (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
PCT/KR2008/006709 2007-11-30 2008-11-14 Usage of persistent information unit pacing protocol in fibre channel communications Ceased WO2009069907A2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
AT08854460T ATE511267T1 (de) 2007-11-30 2008-11-14 Benutzung des pacing-protokolls einer persistenten informationseinheit bei der faserkanalkommunikation
JP2010535871A JP5084912B2 (ja) 2007-11-30 2008-11-14 ファイバ・チャネル通信における永続情報単位ペーシング・プロトコルの使用に関する方法、システム、および装置
CN200880118236.8A CN101878617B (zh) 2007-11-30 2008-11-14 光纤信道通信中持续信息单元定步协议的使用
EP08854460A EP2220820B1 (en) 2007-11-30 2008-11-14 Usage of persistent information unit pacing protocol in fibre channel communications
IL204680A IL204680A (en) 2007-11-30 2010-03-23 METHOD AND SYSTEM FOR USING PATIENT-TYPE PACING PROTOCOL Preserved in fiber-optic channels

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/948,833 US7668980B2 (en) 2007-11-30 2007-11-30 Usage of persistent information unit pacing protocol in fibre channel communications
US11/948,833 2007-11-30

Publications (2)

Publication Number Publication Date
WO2009069907A2 true WO2009069907A2 (en) 2009-06-04
WO2009069907A3 WO2009069907A3 (en) 2009-07-16

Family

ID=40676926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2008/006709 Ceased WO2009069907A2 (en) 2007-11-30 2008-11-14 Usage of persistent information unit pacing protocol in fibre channel communications

Country Status (8)

Country Link
US (1) US7668980B2 (enExample)
EP (1) EP2220820B1 (enExample)
JP (1) JP5084912B2 (enExample)
KR (1) KR20100087009A (enExample)
CN (1) CN101878617B (enExample)
AT (1) ATE511267T1 (enExample)
IL (1) IL204680A (enExample)
WO (1) WO2009069907A2 (enExample)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005082B2 (en) * 2008-10-03 2011-08-23 International Business Machines Corporation Concurrent enablement of persistent information unit pacing
US8583988B2 (en) * 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8971176B2 (en) 2012-09-28 2015-03-03 International Business Machines Corporation Fibre channel over Ethernet switch implicit logout
US10250516B2 (en) 2016-11-22 2019-04-02 International Business Machines Corporation Adjustment of an information unit pacing credit to increase data transmission rate

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4170038A (en) 1974-11-05 1979-10-02 Compagnie Honeywell Bull Apparatus for selective control of information between close and remote stations
US6470391B2 (en) 1995-09-08 2002-10-22 Hitachi, Ltd. Method for transmitting data via a network in a form of divided sub-packets
US6920537B2 (en) 1998-12-31 2005-07-19 Emc Corporation Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
WO2001043328A1 (en) * 1999-12-10 2001-06-14 Qlogic Switch Products, Inc. Fibre channel credit extender and repeater
JP2001202199A (ja) * 2000-01-18 2001-07-27 Hitachi Ltd 記憶制御装置
US20030074449A1 (en) * 2001-10-12 2003-04-17 Rory Smith Bandwidth allocation in a synchronous transmission network for packet oriented signals
US7143176B2 (en) 2001-11-06 2006-11-28 International Business Machines Corporation Data communication with a protocol that supports a given logical address range
US6859437B2 (en) * 2002-11-05 2005-02-22 Nortel Networks Limited Method and system for extending the reach of a data communication channel using a flow control interception device
US7145877B2 (en) * 2003-03-31 2006-12-05 Cisco Technology, Inc. Apparatus and method for distance extension of fibre-channel over transport
JP2004348464A (ja) * 2003-05-22 2004-12-09 Hitachi Ltd ストレージ装置、及び通信信号の整形回路
US7685128B2 (en) 2004-06-10 2010-03-23 International Business Machines Corporation Remote access agent for caching in a SAN file system
JP2007115138A (ja) * 2005-10-21 2007-05-10 Hitachi Ltd データ転送方法及びリモートコピーシステム
US7500030B2 (en) 2006-08-30 2009-03-03 International Business Machines Corporation Control of information units in fibre channel communications
US8032581B2 (en) 2006-08-30 2011-10-04 International Business Machines Corporation Persistent information unit pacing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Also Published As

Publication number Publication date
ATE511267T1 (de) 2011-06-15
US7668980B2 (en) 2010-02-23
KR20100087009A (ko) 2010-08-02
WO2009069907A3 (en) 2009-07-16
EP2220820A4 (en) 2010-11-17
EP2220820A2 (en) 2010-08-25
JP5084912B2 (ja) 2012-11-28
CN101878617B (zh) 2013-01-16
EP2220820B1 (en) 2011-05-25
CN101878617A (zh) 2010-11-03
IL204680A (en) 2013-06-27
US20090144464A1 (en) 2009-06-04
JP2011509443A (ja) 2011-03-24
IL204680A0 (en) 2010-11-30

Similar Documents

Publication Publication Date Title
US7500030B2 (en) Control of information units in fibre channel communications
US8032581B2 (en) Persistent information unit pacing
US20060031612A1 (en) Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port
US7460531B2 (en) Method, system, and program for constructing a packet
US9195626B2 (en) Reducing write I/O latency using asynchronous Fibre Channel exchange
WO2007005552A2 (en) Hardware oriented host-side native command queuing tag management
US10761950B2 (en) Electronic equipment including storage device
US20080189771A1 (en) System and article of manufacture for bidirectional data transfer
EP2220820B1 (en) Usage of persistent information unit pacing protocol in fibre channel communications
US6917990B2 (en) Method and structure for read prefetch in a storage complex architecture
US9396140B1 (en) Method and apparatus for transferring frames with different world wide name addresses and connection rates between initiators of a host device and a port
US7366802B2 (en) Method in a frame based system for reserving a plurality of buffers based on a selected communication protocol
US8930583B1 (en) Method and apparatus for controlling data transfer in a serial-ATA system
GB2464129A (en) Persistent information unit pacing protocol for fibre channel communications
CN117112041A (zh) 一种PCIe链路参数配置方法、装置、设备及存储介质
US20140006646A1 (en) Semiconductor Device Using Serial ATA Protocol and System Including the Same
US8005082B2 (en) Concurrent enablement of persistent information unit pacing
US10437497B1 (en) Active-active host environment
US12499040B2 (en) Solving submission queue entry overflow with an additional out-of-order submission queue entry
US20240168877A1 (en) Solving submission queue entry overflow with an additional out-of-order submission queue entry
US20250315191A1 (en) Read streaming

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880118236.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08854460

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 204680

Country of ref document: IL

ENP Entry into the national phase

Ref document number: 20107010603

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010535871

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008854460

Country of ref document: EP