Connect public, paid and private patent data with Google Patents Public Datasets

Obtaining queue measurement data for a range of logical control unit queues

Download PDF

Info

Publication number
US20050216617A1
US20050216617A1 US11126728 US12672805A US2005216617A1 US 20050216617 A1 US20050216617 A1 US 20050216617A1 US 11126728 US11126728 US 11126728 US 12672805 A US12672805 A US 12672805A US 2005216617 A1 US2005216617 A1 US 2005216617A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
measurement
channel
queue
field
block
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.)
Abandoned
Application number
US11126728
Inventor
Scott Carlson
Greg Dyck
Tan Lu
Kenneth Oakes
Riedy Dale
William Rooney
John Trotter
Leslie Wyman
Harry Yudenfriend
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.)
International Business Machines Corp
Original Assignee
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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Programme control for peripheral devices
    • G06F13/105Programme control for peripheral devices where the programme performs an input/output emulation function
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Programme control for peripheral devices
    • G06F13/12Programme control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Programme control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/50Computer-aided design
    • G06F17/5009Computer-aided design using simulation
    • G06F17/5036Computer-aided design using simulation for analog modelling, e.g. for circuits, spice programme, direct methods, relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for programme control, e.g. control unit
    • G06F9/06Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
    • G06F9/30Arrangements for executing machine-instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • H04L1/0073Special arrangements for feedback channel
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems

Abstract

I/O measurement data for channels attached to logical control unit queues is obtained related to a plurality of logical control unit queues. A store secondary queue measurement data instruction specifies a range of queues for which extended secondary measurement blocks derived from the I/O measurement data are stored at a memory address specified by the store secondary queue measurement data instruction.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • [0001]
    This application is a Division of Ser. No. 10/435,906 Filed May 12, 2003 “EXTENDED INPUT/OUTPUT MEASUREMENT FACILITIES” which is assigned to the same assignee as this application and is hereby incorporated herein by reference in its entirety.
  • TECHNICAL FIELD
  • [0002]
    This invention relates, in general, to performance monitoring, and in particular, to input/output (I/O) measurement facilities used in performance monitoring.
  • BACKGROUND OF THE INVENTION
  • [0003]
    Monitoring the performance of a computing environment includes analyzing measurement data collected for that environment. The measurement data that is collected is used for accounting, capacity planning and/or to determine where improvements are to be made so that system performance can be enhanced.
  • [0004]
    One subsystem of a computing environment for which data is collected is the I/O subsystem. In one example, an I/O measurement facility, such as the Resource Management Facility (RMF) offered by International Business Machines Corporation, Armonk, N.Y., is used to accumulate data for the I/O subsystem. The data that is collected is associated with various components of the I/O subsystem, such as subchannels which represent I/O devices, and is stored in measurement blocks for access by programs. The measurement blocks are stored in contiguous memory and thus, a particular block is accessed by a measurement block origin and index. The data stored in the existing measurement blocks is an accumulation of data over a period of time for multiple I/O operations. In order to determine the measurement data for a particular I/O operation, the operating system needs to calculate the information for that I/O operation by subtracting the counters copied from the measurement block before the I/O operation is started from the values in the measurement blocks after the I/O operation while also dealing with cases where the counters wrap.
  • [0005]
    With the ever increasing size of the I/O subsystem, the contiguous storage of the blocks is becoming cumbersome. Further, the measurement blocks are cumbersome because the operating system cannot dynamically grow the contiguous real storage when the system is up and running and additional devices are dynamically added. Moreover, the existing blocks are inadequate for the information that is desired. Yet further, the time it takes for a program to calculate the information for a particular I/O operation is increasing and such calculations lead to inaccuracies because of the insufficient granularity.
  • [0006]
    Based on the foregoing, enhancements are needed in obtaining measurement data. For example, a need exists for a capability that enhances the measurement blocks and the storage thereof. Further, a need exists for an improved capability for obtaining measurement data for a single operation.
  • SUMMARY OF THE INVENTION
  • [0007]
    The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of facilitating access to measurement data of a computing environment. The method includes, for instance, obtaining measurement data for an I/O operation directly from a measurement unit, wherein the measurement unit includes measurement data exclusive to the selected I/O operation.
  • [0008]
    In a further aspect of the present invention, a method of accessing measurement blocks of a computing environment is provided. The method includes, for instance, using a measurement block address to directly access a measurement block associated with an input/output (I/O) component of the computing environment, wherein the measurement block is accessed absent use of a measurement block origin and measurement block index.
  • [0009]
    In yet a further aspect of the present invention, a method of facilitating access to measurement data of a computing environment is provided. The method includes, for instance, providing for one or more I/O components of an I/O path of a control unit of the computing environment individual time measurement data specific to the one or more I/O components.
  • [0010]
    System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
  • [0011]
    Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0012]
    The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
  • [0013]
    FIG. 1 a depicts one embodiment of a computing environment to incorporate and use one or more aspects of the present invention;
  • [0014]
    FIG. 1 b depicts one example of an I/O path (e.g., a channel path) used for communications in the computing environment of FIG. 1 a, in accordance with an aspect of the present invention;
  • [0015]
    FIG. 1C depicts one embodiment of an example of an I/O subsystem (e.g., a channel subsystem) of FIG. 1 a being configured as a plurality of I/O subsystem (e.g., channel subsystem) images, in accordance with an aspect of the present invention;
  • [0016]
    FIG. 1 d depicts further details of a multiple image facility (MIF) image of a channel subsystem image of FIG. 1 c, in accordance with an aspect of the present invention;
  • [0017]
    FIG. 1 e depicts further details of a channel path set (CPS) of a channel subsystem image of FIG. 1 c, in accordance with an aspect of the present invention;
  • [0018]
    FIG. 2 depicts one example of an extended channel measurement block, in accordance with an aspect of the present invention;
  • [0019]
    FIG. 3 depicts one embodiment of an extended secondary queue measurement block, in accordance with an aspect of the present invention;
  • [0020]
    FIG. 4 a depicts one embodiment of a request block for a store secondary queue measurement data command used in accordance with an aspect of the present invention;
  • [0021]
    FIG. 4 b depicts one embodiment of a response block for the store secondary queue measurement data command of FIG. 4 a, in accordance with an aspect of the present invention;
  • [0022]
    FIG. 5 depicts one embodiment of an extended measurement word, in accordance with an aspect of the present invention; and
  • [0023]
    FIG. 6 depicts one embodiment of the logic associated with generating the extended measurement word and providing it to a program, in accordance with an aspect of the present invention.
  • BEST MODE FOR CARRYING OUT THE INVENTION
  • [0024]
    In accordance with an aspect of the present invention, an extended measurement block facility is provided in which measurement blocks are stored in discontiguous memory and can be accessed via a measurement block address rather than by using a measurement block origin and measurement block index. Further, in one aspect of the invention, the measurement block is extended to include additional information. In yet a further aspect of the present invention, an extended measurement word facility is provided in which measurement data for a single I/O operation is returned directly to the program without having the program calculate the measurement data for that I/O operation. This is facilitated by an extended measurement word that is returned along with the ending status of the I/O operation via an instruction. In one example, one or more measurement fields in the extended measurement word may be stored with a time resolution of approximately one-half microsecond to provide the accuracy needed for measurements associated with the single I/O operation.
  • [0025]
    One embodiment of a computing environment to incorporate and use one or more aspects of the present invention is described with reference to FIG. 1 a. In one example, computing environment 100 is based on the z/Architecture, offered by International Business Machines Corporation, Armonk, N.Y. The z/Architecture is described in an IBM Publication entitled “z/Architecture Principles of Operation,” Publication No. SA22-7832-01, October 2001, which is hereby incorporated herein by reference in its entirety.
  • [0026]
    As one example, computing environment 100 includes a central processor complex (CPC) 102 coupled to one or more input/output (I/O) devices 106 via one or more control units 108. Central processor complex 102 includes, for instance, one or more central processors 110, one or more partitions 112 (e.g., logical partitions (LP)), a logical partition hypervisor 114, and an input/output subsystem 115, each of which is described below.
  • [0027]
    Central processors 110 are physical processor resources allocated to the logical partition. In particular, each logical partition 112 has one or more logical processors, each of which represents all or a share of a physical processor 110 allocated to the partition. The physical processors to which the logical processors are dispatched (by the hypervisor) may be either dedicated to a given partition's logical processors or shared by logical processors configured to multiple sharing logical partitions.
  • [0028]
    A logical partition functions as a separate system and has one or more applications and a resident operating system therein, which may differ for each logical partition. In one embodiment, the operating system is the z/OS operating system, the z/VM operating system, the Linux on zSeries operating system or the TPF operating system, offered by International Business Machines Corporation, Armonk, N.Y.
  • [0029]
    Logical partitions 112 are managed by a logical partition hypervisor 114, which is implemented by Licensed Internal Code running on processors 110. The logical partitions and logical partition hypervisor each comprise one or more programs residing in respective partitions of central storage associated with the central processors. One example of logical partition hypervisor 114 is the Processor Resource/System Manager (PR/SM), offered by International Business Machines Corporation, Armonk, N.Y. Further details regarding logical partitions are described in, for instance, Guyette et al., U.S. Pat. No. 4,564,903, entitled “Partitioned Multiprocessor Programming System,” issued on Jan. 14, 1986; Bean et al., U.S. Pat. No. 4,843,541, entitled “Logical Resource Partitioning Of A Data Processing System,” issued on Jun. 27, 1989; and Kubala, U.S. Pat. No. 5,564,040, entitled “Method And Apparatus For Providing A Server Function In A Logically Partitioned Hardware Machine,” issued on Oct. 8, 1996, each of which is hereby incorporated herein by reference in its entirety.
  • [0030]
    Input/output subsystem 115 directs the flow of information between input/output devices 106 and main storage. It is coupled to the central processing complex, in that it can be a part of the central processing complex or separate therefrom. The I/O subsystem relieves the central processors of the task of communicating directly with the input/output devices and permits data processing to proceed concurrently with input/output processing. To provide communications, the I/O subsystem employs I/O communications adapters. There are various types of communications adapters including, for instance, channels, I/O adapters, PCI cards, Ethernet cards, Small Computer Storage Interface (SCSI) cards, etc. In the particular example described herein, the I/O communications adapters are channels, and therefore, the I/O subsystem is referred to herein as a channel subsystem. However, this is only one example. Other types of I/O subsystems can incorporate and use one or more aspects of the present invention.
  • [0031]
    The I/O subsystem uses one or more input/output paths as communication links in managing the flow of information to or from input/output devices 106. In this particular example, these paths are called channel paths, since the communications adapters are channels. Each channel path 116 (FIG. 1 b) includes a channel 117 of channel subsystem 115, a control unit 108, a link 118 (e.g., serial or parallel) between the channel and control unit, and one or more I/O devices 106 coupled to the control unit. In other embodiments, channel paths may have multiple control units and/or other components. Further, in another example, it is also possible to have one or more dynamic switches as part of the channel path. A dynamic switch is coupled to a channel and a control unit and provides the capability of physically interconnecting any two links that are attached to the switch. Further details regarding channel subsystems are described in Casper et al., U.S. Pat. No. 5,526,484, entitled, “Method And System For Pipelining The Processing Of Channel Command Words,” issued on Jun. 11, 1996, which is hereby incorporated herein by reference in its entirety.
  • [0032]
    A control unit may be accessible by the channel subsystem by more than one channel path. Similarly, an I/O device may be accessible by the channel subsystem through more than one control unit, each having one or more channel paths to the channel subsystem. The control unit accepts control signals from the channel subsystem, controls the timing of data transfer over the channel path, and provides indications concerning the status of the device. The control unit may be housed separately or it may be physically and logically integrated with the I/O device, the channel subsystem, or a central processor.
  • [0033]
    The I/O device attached to the control unit may be designed to perform certain limited operations, or it may perform many different operations. To accomplish its operations, the device uses detailed signal sequences peculiar to its type of device. The control unit decodes the commands received from the channel subsystem, interprets them for the particular type of device, and provides the signal sequence required for the performance of the operation.
  • [0034]
    In addition to one or more channels, a channel subsystem includes one or more subchannels. Each subchannel is provided for and dedicated to an I/O device coupled to the program through the channel subsystem. Each subchannel provides information concerning the associated I/O device and its attachment to the channel subsystem. The subchannel also provides information concerning I/O operations and functions involving the associated I/O device. The subchannel provides a logical appearance of a device to the program and is the means by which the channel subsystem provides information about associated I/O devices to the central processors, which obtain this information by executing machine I/O instructions (e.g., a store subchannel instruction). The subchannel has internal storage that includes information in the form of a channel command word (CCW) address, one or more channel path identifiers, device number, count, status indication, I/O interruption subclass code, information on path availability and functions pending or being performed, as well as information associated with one or more aspects of the present invention, as described below. I/O operations are initiated and terminated with a device by the execution of I/O instructions that designate the subchannel associated with the device.
  • [0035]
    Further details regarding a channel subsystem are described with reference to FIG. 1 c. A channel subsystem 115 (or other I/O subsystem) is configured as a plurality of channel subsystem images 120 (or other I/O subsystem images), each identified by a channel subsystem image identifier (CSSID) (or other I/O subsystem identifier). In one example, the channel subsystem is configured, either by model dependent means, in which configuration controls are used during initialization, or by use of appropriate dynamic I/O configuration commands, as one to 256 channel subsystem images. Each channel subsystem image appears to a program as a complete channel subsystem. Each channel subsystem image may have, for instance, from 1 to 256 unique channel paths, thereby increasing the maximum number of channel paths that may be configured to the channel subsystem from 256 to 65,536. The configuring of the channel subsystem as a plurality of channel subsystem images is facilitated by a Multiple Channel Subsystem facility (MCSS), one embodiment of which is described in a U.S. patent application entitled “Multiple Logical Input/Output Subsystem Facility,” Brice et al., (IBM Docket No. POU920020071US1) filed herewith and incorporated herein by reference in its entirety.
  • [0036]
    A channel subsystem image 120 includes, for instance, a multiple image facility (MIF) 122, which includes one or more (e.g., up to 16) MIF images, each identified by a MIF image identifier (IID). The multiple image facility allows each logical partition to achieve independent access to the channel paths, control units and I/O devices that are configured to and dynamically shared by multiple logical partitions.
  • [0037]
    As shown in FIG. 1 d, for each MIF image, a separate set of channel path controls and a separate set of subchannel controls are provided by the channel subsystem. For each MIF image, each set of channel path controls for each configured channel path is called a channel path image 124. The collection of one or more channel path images associated with the channel paths that are configured to a MIF image is called a channel path image set 126. Further, for each MIF image, a separate subchannel, called a subchannel image 128, is provided for each I/O device that is configured to the MIF image. A collection of one or more subchannel images that are configured to a MIF image is called a subchannel image set 130.
  • [0038]
    Referring back to FIG. 1 c, in addition to a MIF, a channel subsystem image 120 also includes a channel path set (CPS) 134. Channel path set 134 includes, for instance, one to 256 channel paths 140 (FIG. 1 e) configured to one or more channel path images in the associated MIF. Each channel path is identified by a channel path identifier (CHPID). Each channel path configured to a channel path set may be unique from other channel paths configured to other provided channel subsystem images. However, because as many as 256 channel subsystem images may be provided, the CHPID values assigned to channel paths in each of the channel path sets may not be unique. Therefore, each channel path is specified by a unique address formed by, for instance, a concatenation of CSSID with the channel path identifier assigned to the channel path. The image ID (IID) further identifies a channel path image for each configured channel path.
  • [0039]
    The performance of a computing environment is monitored to detect and correct inefficiencies in performance with a goal of improving system performance. In order to monitor system performance, measurement data is collected and analyzed. Measurement data is also collected to facilitate in accounting, as well as capacity planning. As one example, measurement data relating to I/O operations is colleted and stored in measurement blocks assigned to devices. For example, a measurement block is defined for each subchannel for which measurement data is to be collected and data is stored in the block by, for instance, the channel subsystem during performance of one or more I/O operations.
  • [0040]
    In accordance with an aspect of the present invention, the
  • [0041]
    In accordance with an aspect of the present invention, the measurement blocks for the subchannels are located in discontiguous areas of main real storage, and are accessed by unique measurement block addresses. By using an address, the channel subsystem can directly access a channel measurement block without having to use a measurement block origin or measurement block index. Measurement blocks can be individually allocated or deallocated as subchannels are dynamically added or removed, respectively. In one example, an address of a measurement block is assigned to a subchannel via an instruction, such as a modify subchannel instruction. This allows the channel subsystem to use the address to directly access the measurement block.
  • [0042]
    One example of a measurement block is described with reference to FIG. 2. In this example, the measurement block has a 64 byte format and thus, is referred to herein as an extended measurement block. Some of the fields of the measurement block are further described in an IBM Publication entitled “z/Architecture Principles of Operation,” Publication No. SA22-7832-01, October 2001, which is hereby incorporated herein by reference in its entirety. In one example, a measurement block 200 includes the following fields:
      • a) SSCH+RSCH Count 202: This field is used as a counter during performance of a start I/O function, such as a start subchannel function, and/or resume function.
      • b) Sample Count 204: This field is used as a counter when the time accumulation fields of the measurement block, described below, are updated.
      • c) Device Connect Time 206: This field includes the accumulation of measured device connect time intervals. The device connect time interval is the sum of the time intervals measured whenever the device is logically connected to a channel path, while the subchannel is subchannel active and the device is actively communicating with the channel path.
      • d) Function Pending Time 208: This field includes the accumulated SSCH- and RSCH-function pending time. The function pending time is the time interval between acceptance of the start function (or resume function if the subchannel is in the suspended state) at the subchannel and acceptance of the first command associated with the initiation or resumption of channel program execution at the device.
      • e) Device Disconnect Time 210: This field includes the accumulated device disconnect time. The device disconnect time is the sum of the time intervals measured whenever the device is logically disconnected from the channel subsystem while the subchannel is subchannel active. The device disconnect time also includes the sum of control unit defer time intervals reported by the device during the I/O operation.
      • f) Control Unit Queuing Time 212: This field includes the accumulated control unit queuing time. Control unit queuing time is the sum of the time intervals measured by the control unit whenever the device is logically disconnected from the channel subsystem during an I/O operation while the device is busy with an operation initiated from a different system.
      • g) Device Active Only Time 214: This field includes the accumulated device active only time. Device active only time is the sum of the time intervals when the subchannel is device active, but not subchannel active at the end of an I/O operation or chain of I/O operations initiated by a start function or resume function.
      • h) Device Busy Time 216: This field includes the accumulated device busy time. Device busy time is the sum of the time intervals when the subchannel is device busy during an attempt to initiate a start function or resume function at the subchannel. The device busy time field is updated such that a bit (e.g., the last bit) represents, for instance, 128 microseconds. The accumulated value is modulo approximately 152.71 hours.
      • i) Initial Command Response Time 218: This field includes the accumulated initial command response time for the subchannel. The initial command response time for a start or resume function is the time interval beginning from when the first command of the channel program is sent to the device until the device indicates it has accepted the command. The initial command response time is stored at a resolution of, for instance, 128 microseconds. The accumulated value is modulo approximately 152.71 hours.
  • [0052]
    The information in an extended measurement block is accessible by the operating system by using virtual addressing to locate the measurement block in main memory.
  • [0053]
    In addition to obtaining the above described measurement data, data is also obtained that is associated with one or more secondary queues associated with one or more subchannels. A secondary queue is a queue of I/O requests that the channel subsystem has begun to process, but is unable to complete because of a busy condition in the I/O configuration. The channel subsystem stores data in the queue as it encounters busy conditions for the various I/O components associated with the I/O requests.
  • [0054]
    One example of a secondary queue measurement block is described with reference to FIG. 3. In this example, the secondary queue measurement block has a 64 word format and thus, is referred to herein as an extended secondary queue measurement block. In one example, an extended secondary queue measurement block 300 includes, for instance, the following:
      • a) Queue Valid Indicator (B) 302: This indicator indicates whether the specified secondary queue is valid. A secondary queue is valid when it exists within the channel subsystem.
      • b) Queue Out Of Range (R) 304: This field indicates that the specified secondary queue does not exist within the channel subsystem and that any queue number greater than the specified queue number also does not exist within the channel subsystem.
      • c) Queue Count 306: This field indicates the current length of a specified secondary queue. The length of the queue is determined by the number of subchannels on the associated secondary queue that are function pending and are delayed because of busy conditions.
      • d) Queue Number 308: This field includes the identity of the secondary queue to which the information in this secondary queue measurement block applies.
      • e) Summation of Queue Counts 310: This field includes an accumulation of the queue count field. The queue count field is added to the summation at the time a subchannel is added to the specified secondary queue, and the count includes this addition of the subchannel to the specified secondary queue.
      • f) Summation of Enqueues 312: This field includes a count of the number of times a subchannel is added to the specified secondary queue.
      • g) Summation of Channel Wait Time 314: This field includes the summation of the channel wait time encountered by the channel subsystem for each SSCH or RSCH function initiated to devices attached to this secondary queue. The channel wait time for a SSCH or RSCH function is that portion of the function pending time that cannot be attributed to a control unit busy, device busy or destination busy condition on a channel path. It is the time interval between acceptance of the start or resume function at the subchannel until the channel subsystem first attempts to initiate the operation on a channel path. The summation of the channel wait time is stored at a resolution of, for instance, 128 microseconds. The accumulated value is modulo approximately 152.71 hours.
      • h) Switch Busy Counts 316: This field includes a count of the number of times an initial selection sequence for a start or halt function resulted in a switch busy response on the corresponding channel path. Each switch busy count field (e.g., 0 to 7) corresponds one for one, by relative position, with the path installed mask (PIM) bits of the subchannels associated with the specified secondary queue. The path installed mask indicates which of the channel paths 0-7 to an I/O device are physically installed.
      • i. i) Control Unit Busy Counts 318: This field includes a count of the number of times an initial selection sequence for a start or halt function resulted in a control unit busy response on the corresponding channel path. Each control unit busy count field corresponds one for one, by relative position, with the PIM bits of the subchannels associated with the specified secondary queue.
      • j) Success Counts 320: The success counts fields include a count of the number of times an initial selection sequence for a start function resulted in the device accepting the first command of the channel program on the corresponding channel path. Each success count field corresponds one for one, by relative position, with the PIM bits of the subchannels associated with the specified secondary queue.
      • k) Control Unit Busy Time Fields 322: These fields include the accumulated control unit busy time for the channel paths on a specified secondary queue. Control unit busy time is accumulated for a channel path from the time an initial selection sequence for a start or halt receives a control unit busy indication until a control unit end condition is recognized on the path. The control unit busy time is stored at a resolution of, for instance, 128 microseconds. The accumulated value is modulo approximately 152.71 hours.
      • l) Initial Command Response Time Fields 324: These fields include the accumulated initial command response time for start or resume functions successfully initiated on the channel path for the specified secondary queue. The initial command response time for a start or resume function is the time interval beginning from when the first command of the channel program is sent to the device until the device indicates it has accepted the command. The initial command response time is stored at a resolution of, for instance, 128 microseconds. The accumulated value is modulo approximately 152.71 hours.
      • m) Switch Busy Count Summation Fields 326: These fields include a summation of the switch busy counts received for all partitions for the corresponding channel path on the specified secondary queue. Each switch busy count summation field corresponds one for one, by relative position, with the PIM bits of the subchannels associated with the specified secondary queue.
  • [0068]
    In one example, the extended secondary queue measurement block is returned as part of executing a command, such as a store secondary queue measurement data command. The store secondary queue measurement data command is used to obtain the measurement data for a range of secondary queues (e.g., logical control unit queues) maintained by the channel subsystem. Information is returned to the program in the form of a 64 word extended secondary queue measurement block. The information returned includes general queuing statistics and measurement information for each of the channels attached to the secondary queue (up to 8 channels may be attached to a secondary queue, in one example).
  • [0069]
    One embodiment of a command request block for a store secondary queue measurement data command is described with reference to FIG. 4 a. In the example described herein, it is assumed that the environment is a logical partitioned environment and that the multiple channel subsystem facility is provided by the CPC. Since the multiple channel subsystem facility is provided, the secondary queue measurement data for a specified range of target queues is defined within a channel subsystem image that is specified by the effective CSSID. In one example, a command request block for the store secondary queue measurement data command 400 includes, for instance, the following:
      • a) Length Field 402: This field specifies the length of the command request block.
      • b) Command Code 404: This field specifies the store secondary queue measurement data command.
      • c) Multiple Channel Subsystem Bit (M) 406: This field indicates that the CSSID field is to be checked for a valid CSSID. If valid, the value in the CSSID field becomes the effective CSSID. If not valid, then a response code may be stored. When M is zero, the default CSSID is the effective CSSID, and the CSSID field is to be zero.
      • d) MIF Image ID (IID) 408: This field is set to zeros.
      • e) Extended I/O Measurement Block Format (E) 410: This field specifies the format of the response block that is to be stored in response to the command request. In one example, a format of one indicates the extended channel secondary queue measurement block.
      • f) Format (FMT) 412: This field indicates the command request format field whose value specifies the layout of the command request block. In one example, the value of this field is zero.
      • g) First Queue Number 414: This field specifies the first secondary queue for which information is requested.
      • h) CSSID 416: This field includes the CSSID of the channel subsystem image that is associated with the specified range of target queues. The CSSID is subject to range, existence and authorization checking.
      • i) Last Queue Number 418: This field specifies the last secondary queue for which information is requested.
      • j) Last Request 420: This field when set indicates that this is the last request for measurement data for the specified secondary queues.
  • [0080]
    One embodiment of a command response block for the store secondary queue measurement data command is depicted in FIG. 4 b. In one example, a command response block 440 for a store secondary queue measurement data command includes the following fields:
      • a) Length Field 442: This field specifies the length of the command response block. The length depends, for instance, on the response code that is stored as a result of the attempt to execute the store secondary queue measurement data command.
      • b) Response Code 444: This field describes the results of the attempt to execute the store secondary queue measurement data command.
      • c) Format 446: This field includes a value that specifies the layout of the command response block. In one example, the value is one indicating a Format 1 command response block, which corresponds to an extended block of, for instance, 64 words.
      • d) Secondary Queue Measurement Block(s) 448: In one example, up to 15 Format 1 secondary queue measurement blocks are stored in the response data area of the command response block. The number of secondary queue measurement blocks stored depends on, for instance, the number of secondary queues in the range specified in the command response block; conditions in the channel subsystem; and the channel subsystem model.
  • [0085]
    At least one secondary queue measurement block is stored and the actual number of blocks stored is determined by subtracting 8 bytes from the size of the command response block and dividing by the size of each of the secondary queue measurement blocks stored, as indicated by the format field in the command response block.
  • [0086]
    As described above, extended measurement blocks provide various kinds of measurements used in performing workload and/or performance tuning on various machines. For compatibility with some operating systems, a measurement block format field is added to the subchannel to indicate whether a non-extended format or the new extended format measurement block is to be stored for a subchannel. Similarly, as described above, a field in the store secondary queue measurement data command (e.g., extended I/O measurement block format (E) 410) is used to request that the extended response block be stored for the command.
  • [0087]
    In addition to the extended I/O measurement block facility, an extended I/O measurement word facility is provided, in accordance with a further aspect of the present invention. This facility facilitates the efficient obtaining of measurement data for a single I/O operation. It enables a machine to return measurement data to the program (e.g., operating system) for a given I/O operation without requiring the program to calculate the data for that I/O operation. In one example, the extended I/O measurement word facility is enabled in the z/Architecture by executing a command that conveys information for a program to the channel subsystem. The command includes an operation code that specifies the particular operation (e.g., enable the extended I/O measurement word facility) to be performed.
  • [0088]
    The measurement information for a particular I/O operation is stored into an extended measurement word (EMW). One embodiment of an extended measurement word is described with reference to FIG. 5. In one example, an extended measurement word 500 includes, for instance, the following:
      • a) Device Connect Time 502: This field includes the accumulation of measured device connect time intervals. The device connect time interval is the sum of the time intervals measured whenever the device is logically connected to a channel path, while the subchannel is subchannel active and the device is actively communicating with the channel path.
      • b) Function Pending Time 504: This field includes the accumulated SSCH- and RSCH-function pending time. The function pending time is the time interval between acceptance of the start function (or resume function if the subchannel is in the suspended state) at the subchannel and acceptance of the first command associated with the initiation or resumption of channel program execution at the device.
      • c) Device Disconnect Time 506: This field includes the accumulated device disconnect time. The device disconnect time is the sum of the time intervals measured whenever the device is logically disconnected from the channel subsystem while the subchannel is subchannel active. The device disconnect time also includes the sum of control unit defer time intervals reported by the device during the I/O operation.
      • d) Control Unit Queuing Time 508: This field includes the accumulated control unit queuing time. Control unit queuing time is the sum of the time intervals measured by the control unit whenever the device is logically disconnected from the channel subsystem during an I/O operation while the device is busy with an operation initiated from a different system.
      • e) Device Active Only Time 510: This field includes the accumulated device active only time. Device active only time is the sum of the time intervals when the subchannel is device active, but not subchannel active at the end of an I/O operation or chain of I/O operations initiated by a start function or resume function.
      • f) Device Busy Time 511: This field includes the accumulated device busy time. Device busy time is the sum of the time intervals when the subchannel is device busy during an attempt to initiate a start function or resume function at the subchannel.
      • g) Initial Command Response Time 512: This field includes the accumulated initial command response time for the subchannel. The initial command response time for a start or resume function is the time interval beginning from when the first command of the channel program is sent to the device until the device indicates it has accepted the command.
  • [0096]
    The extended measurement word eliminates the need for the program to fetch the channel measurement block both before and after an I/O operation in order to calculate the measurement data for that specific operation. In one example, each measurement field in the EMW may be stored with a time resolution of as low as one-half microsecond (via the low order bits of the counters) to provide the accuracy desired for measurements associated with a single I/O operation. For example, the channel subsystem timing facility provides a timer with a resolution that is appropriate for the speed of the I/O operations supported by the subsystem. The extended measurement word is returned in an interruption response block (IRB) obtained by issuing, for instance, a test subchannel instruction. General register 1, which is an implied operand for the instruction, includes the subsystem identification word that designates the subchannel for which the information is to be stored. The second operand address designated in the instruction is the logical address of the IRB. The interruption response block includes, for instance, a subchannel status word, an extended status word, an extended control block and the extended measurement word. Further details regarding an IRB and the test subchannel instruction, without the extensions of the present invention, are described in an IBM Publication entitled “z/Architecture Principles of Operation,” Publication No. SA22-7832-01, October 2001, which is hereby incorporated herein by reference in its entirety.
  • [0097]
    One embodiment of the logic associated with obtaining the extended measurement word, in accordance with an aspect of the present invention, is described with reference to FIG. 6. Initially, an I/O operation, such as a start subchannel instruction, is executed, STEP 600. During processing of the I/O operation, measurement data is obtained by the channel subsystem, STEP 602. In one example, the types of data that are obtained are those described in the extended measurement word described above. In other examples, the types of data stored may be different. The actual calculation of the data can be performed in various ways, as known to those skilled in the art.
  • [0098]
    The measurement data that is collected is saved in the subchannel, STEP 604. In one example, it is stored in an internal control block within the subchannel. In response to completion of the I/O operation, an I/O interrupt is generated, STEP 606. When the program (e.g., the operating system) detects the interrupt, it issues a test subchannel instruction, STEP 608. The test subchannel instruction pulls the information from the subchannel control block and places it in the EMW which is returned as part of the IRB, STEP 610. The extended measurement word includes I/O measurement information for the most recent start or resume operation performed at the subchannel. Thus, this enables data to be provided for a single I/O operation. Each field in the EMW, when valid, includes a count in which each increment of the count represents a value of, for instance, 0.5 microseconds.
  • [0099]
    For compatibility with other operating systems, an extended measurement word enable field is added to the subchannel to indicate whether the extended measurement word should be stored in the IRB. When the enable field indicates the subchannel is enabled for extended measurement word mode, measurement data is stored in the EMW at the time channel program execution is completed, or suspended at the subchannel or completed at the device, as appropriate.
  • [0100]
    Described in detail above are measurement facilities that facilitate the obtaining of measurement data associated with subchannels of a channel subsystem. Advantageously, the extended I/O measurement facility allows for additional measurement information to be stored and removes the need to allocate a single contiguous channel measurement block area in main real storage. Instead, each subchannel is assigned a unique measurement block address that identifies the location of a channel measurement block for the associated device. Use of this facility allows the channel subsystem to directly access the channel measurement blocks without having to use measurement block origins and measurement block indexes to locate the measurement blocks.
  • [0101]
    The extended I/O measurement word facility advantageously enables the efficient obtaining of measurement data for a single operation. It eliminates the need for the program to fetch the channel measurement block both before and after an I/O operation in order to calculate the measurement data for that specific operation. Additionally, it allows the storing of data to be within a time resolution of approximately as low as one-half microsecond, depending on the capabilities of the channel subsystem.
  • [0102]
    Although various embodiments are described above, these are only examples. Additions, deletions and/or modifications to the above embodiments may be made, without departing from the spirit of aspects of the present invention. For instance, although a computing environment is described above, many different computing environments may be used. For instance, more or less logical partitions (or other zones) may be included in the environment. Further, one or more partitions can be running in different architecture modes. Further, there may be multiple central processing complexes coupled together. These are just some of the variations that can be made without departing from the spirit from the present invention. Other variations are possible. For example, a computing environment that includes a plurality of multiple channel subsystems, one or more of which include multiple images, may be provided. Also, the computing environment need not be based on the z/Architecture. Further, an environment may be provided that does not include logical partitioning and/or MCSS.
  • [0103]
    Moreover, an environment may include an emulator (e.g., software or other emulation mechanisms), in which a particular architecture or subset thereof, is emulated. In such an environment, one or more emulation functions of the emulator can implement one or more aspects of the present invention, even though a computer executing the emulator may have a different architecture than the capabilities being emulated. As one example, in emulation mode, the specific instruction or operation being emulated is decoded, and an appropriate emulation function is built to implement the individual instruction or operation.
  • [0104]
    Yet further, even though in the above embodiments, a channel path includes a control unit, this is not necessary. A channel path may not connect to a control unit or a device, such as with Ethernet channel paths or channel to channel adapters, as examples. These types of channel paths, as well as others are within the spirit of one or more aspects of the present invention.
  • [0105]
    As yet another example, although an LPAR hypervisor is given as an example, other hypervisors, such as a virtual machine hypervisor, as well as others, may be used.
  • [0106]
    Additionally, although the commands described herein have various fields, more, less or different fields may be provided. Further, the positions of the fields in the figures do not necessarily indicate the position within a control block. Other positions may be available. Similarly, although in some contexts, specific bytes or bits are described, these are only examples. Other bytes or bits may be used. Further, other sizes may be provided.
  • [0107]
    Moreover, although the measurement blocks are associated with subchannels in the examples provided herein, in other examples, the measurement blocks may be associated with other components of the I/O subsystem.
  • [0108]
    The above are only some examples of the enhancements/modifications that can be made. Others are possible without departing from the spirit of one or more aspects of the present invention.
  • [0109]
    The present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means or logic (e.g., instructions, code, commands, etc.) to provide and facilitate the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
  • [0110]
    Additionally, at least one program storage device readable by a machine embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
  • [0111]
    The diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
  • [0112]
    Although preferred embodiments have been depicted and described in detail herein, it will be apparent to those skilled in the relevant art that various modifications, additions, substitutions and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the following claims.

Claims (26)

1. A method for obtaining I/O measurement queue data in a computer system, the method comprising:
obtaining measurement data, the measurement data related to a plurality of secondary queues (logical control unit queues) of a channel subsystem, the measurement data comprising queuing statistics and measurement information for one or more channels attached to the plurality of secondary queues;
executing a store secondary queue measurement data instruction having a command request block, the command request block comprising information specifying a range of secondary queues of the plurality of secondary queues;
for each secondary queue of the specified range of secondary queues, creating one or more extended secondary measurement blocks, the extended secondary measurement blocks comprising the measurement data;
in response to executing the store secondary queue measurement data instruction, storing the created one or more extended secondary measurement blocks at a memory address block directly specified by the store secondary queue measurement data instruction.
2. The method according to claim 1 wherein the command request block information specifying the range comprises a first queue number, a last queue number.
3. The method according to claim 1 wherein the command request block information comprises a length field, a command code, a multiple channel subsystem bit, a MIF image ID, an extended I/O measurement block format, a format, a first queue number, a CSSID, a last queue number and a last request.
4. The method according to claim 1 whereineach created extended secondary queue measurement block consists of any one of a queue valid indicator field, a queue out of range field, a queue count field, a queue number field, a summation of queue counts field, a summation of enqueues field, a summation of channel wait time field, a switch busy counts field, a control unit busy counts field, a success counts field, one or more control unit busy time fields, one or more initial command response time fields or one or more switch busy count summation fields.
5. The method according to claim 1 whereineach created extended secondary queue measurement block comprises a queue valid indicator field, a queue out of range field, a queue count field, a queue number field, a summation of queue counts field, a summation of enqueues field, a summation of channel wait time field, a switch busy counts field, a control unit busy counts field, a success counts field, one or more control unit busy time fields, one or more initial command response time fields and one or more switch busy count summation fields.
6. The method according to claim 1 wherein the storing the created one or more extended secondary measurement blocks step comprises the further step of storing a length field, a response code and a format at the memory address block specified by the store secondary queue measurement data instruction, the length field specifying the length of the memory address block.
7. The method according to claim 1 wherein the specified range of secondary queues is defined within a channel subsystem image, the channel subsystem image specified by an effective CSSD.
8. The method according to claim 1 comprising the further step of:
determining a number of the one or more secondary queue measurement blocks stored by performing the further steps of:
subtracting 8 bytes from size of the command response block; and
dividing the result of the subtracting step by the size of a secondary queue measurement block.
9. The method according to claim 1 comprising the further steps of:
in response to executing a modify subchannel instruction, storing a measurement block address of a subchannel of a channel subsystem, the measurement block address directly specifying a location in memory of a measurement block assigned to the subchannel;
obtaining measurement data the measurement data related to the performance of the I/O operation of the subchannel, the measurement data comprising device busy time, wherein device busy time is the sum of time intervals when a subchannel is device busy during an attempt to initiate any one of a start function or a resume function at the subchannel;
storing the obtained measurement data comprising a device busy time in the measurement block specified by the measurement block address, the measurement block comprising a device busy time field.
10. The method according to claim 1 comprising the further steps of:
in response to executing a start subchannel instruction, starting an I/O operation process;
obtaining I/O measurement data associated with the performance of the I/O operation process during the I/O operation process;
saving the obtained I/O measurement data;
generating an I/O interrupt at the completion of the I/O operation process;
in response to executing a test subchannel instruction, storing the obtained I/O measurement data in an IRB memory location specified by the test subchannel instruction.
11. A computer program product for obtaining I/O measurement queue data, The computer program product comprising:
a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
obtaining measurement data, the measurement data related to a plurality of secondary queues (logical control unit queues) of a channel subsystem, the measurement data comprising queuing statistics and measurement information for one or more channels attached to the plurality of secondary queues;
executing a store secondary queue measurement data instruction having a command request block, the command request block comprising information specifying a range of secondary queues of the plurality of secondary queues;
for each secondary queue of the specified range of secondary queues, creating one or more extended secondary measurement blocks, the extended secondary measurement blocks comprising the measurement data;
in response to executing the store secondary queue measurement data instruction, storing the created one or more extended secondary measurement blocks at a memory address block directly specified by the store secondary queue measurement data instruction.
12. The computer program product according to claim 11 wherein the command request block information specifying the range comprises a first queue number, a last queue number.
13. The computer program product according to claim 11 wherein the command request block information comprises a length field, a command code, a multiple channel subsystem bit, a MIF image ID, an extended I/O measurement block format, a format, a first queue number, a CSSID, a last queue number and a last request.
14. The computer program product according to claim 11 whereineach created extended secondary queue measurement block consists of any one of a queue valid indicator field, a queue out of range field, a queue count field, a queue number field, a summation of queue counts field, a summation of enqueues field, a summation of channel wait time field, a switch busy counts field, a control unit busy counts field, a success counts field, one or more control unit busy time fields, one or more initial command response time fields or one or more switch busy count summation fields.
15. The computer program product according to claim 11 whereineach created extended secondary queue measurement block comprises a queue valid indicator field, a queue out of range field, a queue count field, a queue number field, a summation of queue counts field, a summation of enqueues field, a summation of channel wait time field, a switch busy counts field, a control unit busy counts field, a success counts field, one or more control unit busy time fields, one or more initial command response time fields and one or more switch busy count summation fields.
16. The computer program product according to claim 11 wherein the storing the created one or more extended secondary measurement blocks step comprises the further step of storing a length field, a response code and a format at the memory address block specified by the store secondary queue measurement data instruction, the length field specifying the length of the memory address block.
17. The computer program product according to claim 11 wherein the specified range of secondary queues is defined within a channel subsystem image, the channel subsystem image specified by an effective CSSD.
18. The computer program product according to claim 11 comprising the further step of:
determining a number of the one or more secondary queue measurement blocks stored by performing the further steps of:
subtracting 8 bytes from size of the command response block; and
dividing the result of the subtracting step by the size of a secondary queue measurement block.
19. A system for obtaining I/O measurement queue data, The system comprising:
a memory;
a computer system in communication with the memory, The computer system comprising an instruction fetching unit for fetching instructions from memory and one or more execution units for executing fetched instructions;
wherein The computer system includes instructions to execute a method comprising:
obtaining measurement data, the measurement data related to a plurality of secondary queues (logical control unit queues) of a channel subsystem, the measurement data comprising queuing statistics and measurement information for one or more channels attached to the plurality of secondary queues;
executing a store secondary queue measurement data instruction having a command request block, the command request block comprising information specifying a range of secondary queues of the plurality of secondary queues;
for each secondary queue of the specified range of secondary queues, creating one or more extended secondary measurement blocks, the extended secondary measurement blocks comprising the measurement data;
in response to executing the store secondary queue measurement data instruction, storing the created one or more extended secondary measurement blocks at a memory address block directly specified by the store secondary queue measurement data instruction.
20. The system according to claim 19 wherein the command request block information specifying the range comprises a first queue number, a last queue number.
21. The system according to claim 19 wherein the command request block information comprises a length field, a command code, a multiple channel subsystem bit, a MIF image ID, an extended I/O measurement block format, a format, a first queue number, a CSSID, a last queue number and a last request.
22. The system according to claim 19 whereineach created extended secondary queue measurement block consists of any one of a queue valid indicator field, a queue out of range field, a queue count field, a queue number field, a summation of queue counts field, a summation of enqueues field, a summation of channel wait time field, a switch busy counts field, a control unit busy counts field, a success counts field, one or more control unit busy time fields, one or more initial command response time fields or one or more switch busy count summation fields.
23. The system according to claim 19 whereineach created extended secondary queue measurement block comprises a queue valid indicator field, a queue out of range field, a queue count field, a queue number field, a summation of queue counts field, a summation of enqueues field, a summation of channel wait time field, a switch busy counts field, a control unit busy counts field, a success counts field, one or more control unit busy time fields, one or more initial command response time fields and one or more switch busy count summation fields.
24. The system according to claim 19 wherein the storing the created one or more extended secondary measurement blocks step comprises the further step of storing a length field, a response code and a format at the memory address block specified by the store secondary queue measurement data instruction, the length field specifying the length of the memory address block.
25. The system according to claim 19 wherein the specified range of secondary queues is defined within a channel subsystem image, the channel subsystem image specified by an effective CSSD.
26. The system according to claim 19 comprising the further step of:
determining a number of the one or more secondary queue measurement blocks stored by performing the further steps of:
subtracting 8 bytes from size of the command response block; and
dividing the result of the subtracting step by the size of a secondary queue measurement block.
US11126728 2003-05-12 2005-05-11 Obtaining queue measurement data for a range of logical control unit queues Abandoned US20050216617A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10435906 US7000036B2 (en) 2003-05-12 2003-05-12 Extended input/output measurement facilities
US11126728 US20050216617A1 (en) 2003-05-12 2005-05-11 Obtaining queue measurement data for a range of logical control unit queues

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11126728 US20050216617A1 (en) 2003-05-12 2005-05-11 Obtaining queue measurement data for a range of logical control unit queues

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10435906 Division US7000036B2 (en) 2003-05-12 2003-05-12 Extended input/output measurement facilities

Publications (1)

Publication Number Publication Date
US20050216617A1 true true US20050216617A1 (en) 2005-09-29

Family

ID=33417038

Family Applications (13)

Application Number Title Priority Date Filing Date
US10435906 Active 2024-02-16 US7000036B2 (en) 2003-05-12 2003-05-12 Extended input/output measurement facilities
US11126728 Abandoned US20050216617A1 (en) 2003-05-12 2005-05-11 Obtaining queue measurement data for a range of logical control unit queues
US11126727 Active US7174274B2 (en) 2003-05-12 2005-05-11 Gathering I/O measurement data during an I/O operation process
US11282393 Active 2023-10-03 US7373435B2 (en) 2003-05-12 2005-11-18 Extended input/output measurement block
US11469573 Abandoned US20070079022A1 (en) 2003-05-12 2006-09-01 Gathering I/O Measurement Data During an I/O Operation Process
US11965833 Active 2023-05-29 US7600053B2 (en) 2003-05-12 2007-12-28 Emulation of extended input/output measurement block facilities
US11965916 Active US7516248B2 (en) 2003-05-12 2007-12-28 Obtaining extended queue measurement data for a range of logical control unit queues
US11965866 Active 2024-08-14 US7886082B2 (en) 2003-05-12 2007-12-28 Extended input/output measurement word facility, and emulation of that facility
US13005076 Active US8145802B2 (en) 2003-05-12 2011-01-12 Extended input/output measurement word facility and emulation of that facility
US13406938 Expired - Fee Related US8407373B2 (en) 2003-05-12 2012-02-28 Extended input/output measurement word facility for obtaining measurement data
US13848992 Active US8639857B2 (en) 2003-05-12 2013-03-22 Extended input/output measurement word facility for obtaining measurement data
US14104577 Active US9026689B2 (en) 2003-05-12 2013-12-12 Extended input/output measurement word facility for obtaining measurement data in an emulated environment
US14669140 Active US9229883B2 (en) 2003-05-12 2015-03-26 Extended input/output measurement word facility for obtaining measurement data in an emulated environment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10435906 Active 2024-02-16 US7000036B2 (en) 2003-05-12 2003-05-12 Extended input/output measurement facilities

Family Applications After (11)

Application Number Title Priority Date Filing Date
US11126727 Active US7174274B2 (en) 2003-05-12 2005-05-11 Gathering I/O measurement data during an I/O operation process
US11282393 Active 2023-10-03 US7373435B2 (en) 2003-05-12 2005-11-18 Extended input/output measurement block
US11469573 Abandoned US20070079022A1 (en) 2003-05-12 2006-09-01 Gathering I/O Measurement Data During an I/O Operation Process
US11965833 Active 2023-05-29 US7600053B2 (en) 2003-05-12 2007-12-28 Emulation of extended input/output measurement block facilities
US11965916 Active US7516248B2 (en) 2003-05-12 2007-12-28 Obtaining extended queue measurement data for a range of logical control unit queues
US11965866 Active 2024-08-14 US7886082B2 (en) 2003-05-12 2007-12-28 Extended input/output measurement word facility, and emulation of that facility
US13005076 Active US8145802B2 (en) 2003-05-12 2011-01-12 Extended input/output measurement word facility and emulation of that facility
US13406938 Expired - Fee Related US8407373B2 (en) 2003-05-12 2012-02-28 Extended input/output measurement word facility for obtaining measurement data
US13848992 Active US8639857B2 (en) 2003-05-12 2013-03-22 Extended input/output measurement word facility for obtaining measurement data
US14104577 Active US9026689B2 (en) 2003-05-12 2013-12-12 Extended input/output measurement word facility for obtaining measurement data in an emulated environment
US14669140 Active US9229883B2 (en) 2003-05-12 2015-03-26 Extended input/output measurement word facility for obtaining measurement data in an emulated environment

Country Status (1)

Country Link
US (13) US7000036B2 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8140713B2 (en) 2006-10-10 2012-03-20 International Business Machines Corporation System and program products for facilitating input/output processing by using transport control words to reduce input/output communications
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8392619B2 (en) 2008-02-14 2013-03-05 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8495253B2 (en) 2008-02-14 2013-07-23 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8516161B2 (en) 2008-02-14 2013-08-20 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8583989B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8683083B2 (en) 2011-06-01 2014-03-25 International Business Machines Corporation Fibre channel input/output data routing system and method
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US9330042B2 (en) 2008-02-14 2016-05-03 International Business Machines Corporation Determining extended capability of a channel path
US9483433B2 (en) 2008-02-14 2016-11-01 International Business Machines Corporation Processing communication data in a ships passing condition

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US20050086665A1 (en) * 2003-10-16 2005-04-21 Matsushita Electric Industrial Co., Ltd. Autonomous device driver
US7415035B1 (en) * 2005-04-04 2008-08-19 Sun Microsystems, Inc. Device driver access method into a virtualized network interface
US7502873B2 (en) * 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
JP4961997B2 (en) * 2006-12-22 2012-06-27 富士通株式会社 Storage apparatus, a control method of a storage apparatus, and a storage device control program
US7779175B2 (en) 2007-05-04 2010-08-17 Blackwave, Inc. System and method for rendezvous in a communications network
US8307129B2 (en) * 2008-01-14 2012-11-06 International Business Machines Corporation Methods and computer program products for swapping synchronous replication secondaries from a subchannel set other than zero to subchannel set zero using dynamic I/O
US7904605B2 (en) * 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US8166206B2 (en) * 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8095847B2 (en) * 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8108570B2 (en) * 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8082481B2 (en) * 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8176222B2 (en) * 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8196149B2 (en) * 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US7840718B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US7840717B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US7908403B2 (en) * 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US7917813B2 (en) * 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US7899944B2 (en) * 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US9665502B1 (en) 2008-06-30 2017-05-30 EMC IP Holding Company LLC Virtual I/O hardware
US9170904B1 (en) 2008-06-30 2015-10-27 Emc Corporation I/O fault injection using simulated computing environments
US9176779B2 (en) * 2008-07-10 2015-11-03 Juniper Networks, Inc. Data access in distributed systems
US8364710B2 (en) * 2008-07-10 2013-01-29 Juniper Networks, Inc. Model-based resource allocation
US8650270B2 (en) * 2008-07-10 2014-02-11 Juniper Networks, Inc. Distributed computing with multiple coordinated component collections
US8706900B2 (en) * 2008-07-10 2014-04-22 Juniper Networks, Inc. Dynamic storage resources
US8887166B2 (en) * 2008-07-10 2014-11-11 Juniper Networks, Inc. Resource allocation and modification using access patterns
US8191070B2 (en) * 2008-07-10 2012-05-29 Juniper Networks, Inc. Dynamic resource allocation
US20100011091A1 (en) * 2008-07-10 2010-01-14 Blackwave Inc. Network Storage
US8954976B2 (en) * 2008-07-10 2015-02-10 Juniper Networks, Inc. Data storage in distributed resources of a network based on provisioning attributes
US8099402B2 (en) * 2008-07-10 2012-01-17 Juniper Networks, Inc. Distributed data storage and access systems
US8516173B2 (en) * 2008-07-28 2013-08-20 International Business Machines Corporation Swapping PPRC secondaries from a subchannel set other than zero to subchannel set zero using control block field manipulation
US7904606B2 (en) * 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7937504B2 (en) * 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8984482B2 (en) * 2008-12-09 2015-03-17 Microsoft Technology Licensing, Llc Abstracting request from a development environment to object model
US9066141B2 (en) * 2009-01-21 2015-06-23 Juniper Networks, Inc. Resource allocation and modification using statistical analysis
US8397195B2 (en) * 2010-01-22 2013-03-12 Synopsys, Inc. Method and system for packet switch based logic replication
US8638792B2 (en) * 2010-01-22 2014-01-28 Synopsys, Inc. Packet switch based logic replication
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8650335B2 (en) * 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US9015362B2 (en) * 2010-07-16 2015-04-21 International Business Machines Corporation Monitoring network performance and detecting network faults using round trip transmission times
US8468524B2 (en) * 2010-10-13 2013-06-18 Lsi Corporation Inter-virtual machine time profiling of I/O transactions
US9116788B2 (en) * 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
JP5440625B2 (en) * 2012-02-06 2014-03-12 オンキヨー株式会社 Controller and the program
US9122508B2 (en) * 2012-06-15 2015-09-01 International Business Machines Corporation Real time measurement of I/O interrupt delay times by hypervisor by selectively starting and/or stopping corresponding LPARs
US8812742B2 (en) 2012-06-15 2014-08-19 International Business Machines Corporation Communication path selection
CN105047207A (en) * 2015-08-13 2015-11-11 浪潮电子信息产业股份有限公司 Dynamic capacity expansion performance testing method and system for storage system

Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693161A (en) * 1970-07-09 1972-09-19 Burroughs Corp Apparatus for interrogating the availability of a communication path to a peripheral device
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5170472A (en) * 1991-03-28 1992-12-08 International Business Machines Corp. Dynamically changing a system i/o configuration definition
US5185736A (en) * 1989-05-12 1993-02-09 Alcatel Na Network Systems Corp. Synchronous optical transmission system
US5297262A (en) * 1989-11-28 1994-03-22 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5317739A (en) * 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5537574A (en) * 1990-12-14 1996-07-16 International Business Machines Corporation Sysplex shared data coherency method
US5548791A (en) * 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
US5564048A (en) * 1994-06-15 1996-10-08 Lucent Technologies Inc. Object-oriented functionality class library for use in graphics programming
US5568648A (en) * 1991-06-05 1996-10-22 International Business Machines Corporation Indirect addressing of channels via logical channel groups
US5600805A (en) * 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5644732A (en) * 1990-07-13 1997-07-01 Sun Microsystems, Inc. Method and apparatus for assigning addresses to a computer system's three dimensional packing arrangement
US5660603A (en) * 1995-09-05 1997-08-26 International Process Services, Inc. Process for separating selected components from multi-component natural gas streams
US5680580A (en) * 1995-02-28 1997-10-21 International Business Machines Corporation Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit
US5793983A (en) * 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US5845146A (en) * 1995-09-05 1998-12-01 Hitachi, Ltd. Extending system of input/output channel
US5907684A (en) * 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
US6125411A (en) * 1995-09-13 2000-09-26 Hitachi, Ltd. System storing plural I/O arrangement information wherein each I/O arrangement information corresponding to each operating system is created in response to more than two operating systems
US6195330B1 (en) * 1998-11-05 2001-02-27 Edmund K. Cher Method and system for hit-less switching
US6751683B1 (en) * 2000-09-29 2004-06-15 International Business Machines Corporation Method, system and program products for projecting the impact of configuration changes on controllers
US6950888B1 (en) * 2000-09-29 2005-09-27 International Business Machines Corporation Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US584146A (en) * 1897-06-08 haedie
DE2018381C3 (en) * 1970-04-17 1974-05-16 Enka Glanzstoff Ag, 5600 Wuppertal
US4080649A (en) * 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4514823A (en) 1982-01-15 1985-04-30 International Business Machines Corporation Apparatus and method for extending a parallel channel to a serial I/O device
US4497022A (en) * 1982-10-19 1985-01-29 International Business Machines Corporation Method and apparatus for measurements of channel operation
DE3938520A1 (en) * 1989-11-21 1991-05-29 Teves Gmbh Alfred Method and system for measuring data acquisition and evaluation
US5265240A (en) 1992-07-24 1993-11-23 International Business Machines Corporation Channel measurement method and means
US5301323A (en) 1992-10-30 1994-04-05 International Business Machines Corp. Data processing system including dynamic channel path management
JP2566728B2 (en) 1992-10-30 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション Logical path scheduling apparatus and running
US6769009B1 (en) * 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5613163A (en) 1994-11-18 1997-03-18 International Business Machines Corporation Method and system for predefined suspension and resumption control over I/O programs
US5671441A (en) 1994-11-29 1997-09-23 International Business Machines Corporation Method and apparatus for automatic generation of I/O configuration descriptions
US5793993A (en) * 1995-01-26 1998-08-11 General Magic, Inc. Method for transmitting bus commands and data over two wires of a serial bus
US5742845A (en) 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
US6249767B1 (en) * 1995-08-23 2001-06-19 Hitachi, Ltd. Portable information terminal surrounding formulation of an optimum plan
US5812877A (en) 1996-03-15 1998-09-22 Adaptec, Inc. I/O command block chain structure in a memory
US6108655A (en) * 1996-07-19 2000-08-22 Cisco Technology, Inc. Method and apparatus for transmitting images and other objects over a computer network system
US6263380B1 (en) 1997-10-14 2001-07-17 Mitutoyo Corporation Measurement data processing unit
US6460087B1 (en) * 1998-02-25 2002-10-01 Kdd Corporation Method of transferring file
US6351779B1 (en) 1999-03-12 2002-02-26 Agilent Technologies, Inc. Extension library to standard visa library for support of complex I/O functions
CN1307853C (en) 2000-08-31 2007-03-28 杜比实验特许公司 Method for appts. for audio matrix decoding
US7159301B2 (en) * 2001-10-05 2007-01-09 Headway Technologies, Inc. Method of manufacturing a slider of a thin-film magnetic head
US7512133B2 (en) 2001-12-03 2009-03-31 International Business Machines Corporation Method and apparatus for obtaining multiple port addresses by a fibre channel from a network fabric
US7085860B2 (en) * 2002-01-11 2006-08-01 International Business Machines Corporation Method and apparatus for a non-disruptive recovery of a single partition in a multipartitioned data processing system
US7099814B2 (en) * 2002-03-29 2006-08-29 International Business Machines Corportion I/O velocity projection for bridge attached channel
US7000036B2 (en) * 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7888601B2 (en) 2006-12-29 2011-02-15 Cummins Power Generations IP, Inc. Bus bar interconnection techniques

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693161A (en) * 1970-07-09 1972-09-19 Burroughs Corp Apparatus for interrogating the availability of a communication path to a peripheral device
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5185736A (en) * 1989-05-12 1993-02-09 Alcatel Na Network Systems Corp. Synchronous optical transmission system
US5297262A (en) * 1989-11-28 1994-03-22 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5644732A (en) * 1990-07-13 1997-07-01 Sun Microsystems, Inc. Method and apparatus for assigning addresses to a computer system's three dimensional packing arrangement
US5537574A (en) * 1990-12-14 1996-07-16 International Business Machines Corporation Sysplex shared data coherency method
US5170472A (en) * 1991-03-28 1992-12-08 International Business Machines Corp. Dynamically changing a system i/o configuration definition
US5568648A (en) * 1991-06-05 1996-10-22 International Business Machines Corporation Indirect addressing of channels via logical channel groups
US5317739A (en) * 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5600805A (en) * 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US5564048A (en) * 1994-06-15 1996-10-08 Lucent Technologies Inc. Object-oriented functionality class library for use in graphics programming
US5907684A (en) * 1994-06-17 1999-05-25 International Business Machines Corporation Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US5548791A (en) * 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
US5680580A (en) * 1995-02-28 1997-10-21 International Business Machines Corporation Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit
US5660603A (en) * 1995-09-05 1997-08-26 International Process Services, Inc. Process for separating selected components from multi-component natural gas streams
US5845146A (en) * 1995-09-05 1998-12-01 Hitachi, Ltd. Extending system of input/output channel
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
US6125411A (en) * 1995-09-13 2000-09-26 Hitachi, Ltd. System storing plural I/O arrangement information wherein each I/O arrangement information corresponding to each operating system is created in response to more than two operating systems
US5793983A (en) * 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US6195330B1 (en) * 1998-11-05 2001-02-27 Edmund K. Cher Method and system for hit-less switching
US6751683B1 (en) * 2000-09-29 2004-06-15 International Business Machines Corporation Method, system and program products for projecting the impact of configuration changes on controllers
US6950888B1 (en) * 2000-09-29 2005-09-27 International Business Machines Corporation Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140713B2 (en) 2006-10-10 2012-03-20 International Business Machines Corporation System and program products for facilitating input/output processing by using transport control words to reduce input/output communications
US8516161B2 (en) 2008-02-14 2013-08-20 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US9436272B2 (en) 2008-02-14 2016-09-06 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US9330042B2 (en) 2008-02-14 2016-05-03 International Business Machines Corporation Determining extended capability of a channel path
US9298379B2 (en) 2008-02-14 2016-03-29 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US9043494B2 (en) 2008-02-14 2015-05-26 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8892781B2 (en) 2008-02-14 2014-11-18 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8392619B2 (en) 2008-02-14 2013-03-05 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8495253B2 (en) 2008-02-14 2013-07-23 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US9483433B2 (en) 2008-02-14 2016-11-01 International Business Machines Corporation Processing communication data in a ships passing condition
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8972615B2 (en) 2009-11-12 2015-03-03 International Business Machines Corporation Communication with input/output system devices
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8583989B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8683083B2 (en) 2011-06-01 2014-03-25 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8769253B2 (en) 2011-06-01 2014-07-01 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8683084B2 (en) 2011-06-01 2014-03-25 International Business Machines Corporation Fibre channel input/output data routing system and method
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8631175B2 (en) 2011-06-30 2014-01-14 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US9195394B2 (en) 2013-05-29 2015-11-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices

Also Published As

Publication number Publication date Type
US7886082B2 (en) 2011-02-08 grant
US20060075154A1 (en) 2006-04-06 application
US7373435B2 (en) 2008-05-13 grant
US9026689B2 (en) 2015-05-05 grant
US7000036B2 (en) 2006-02-14 grant
US20110106521A1 (en) 2011-05-05 application
US20080103754A1 (en) 2008-05-01 application
US20120159009A1 (en) 2012-06-21 application
US20040230706A1 (en) 2004-11-18 application
US8407373B2 (en) 2013-03-26 grant
US20080103755A1 (en) 2008-05-01 application
US20080109580A1 (en) 2008-05-08 application
US20140101344A1 (en) 2014-04-10 application
US7516248B2 (en) 2009-04-07 grant
US9229883B2 (en) 2016-01-05 grant
US20050204069A1 (en) 2005-09-15 application
US8145802B2 (en) 2012-03-27 grant
US20150199284A1 (en) 2015-07-16 application
US20130227178A1 (en) 2013-08-29 application
US7600053B2 (en) 2009-10-06 grant
US7174274B2 (en) 2007-02-06 grant
US20070079022A1 (en) 2007-04-05 application
US8639857B2 (en) 2014-01-28 grant

Similar Documents

Publication Publication Date Title
US5265240A (en) Channel measurement method and means
US6996828B1 (en) Multi-OS configuration method
US7020871B2 (en) Breakpoint method for parallel hardware threads in multithreaded processor
US5317754A (en) Method and apparatus for enabling an interpretive execution subset
US5088031A (en) Virtual machine file control system which translates block numbers into virtual addresses then into real addresses for accessing main storage
US5640600A (en) Storage controller and bus control method for use therewith
US4975836A (en) Virtual computer system
US4528624A (en) Method and apparatus for allocating memory space based upon free space in diverse memory devices
US6006032A (en) System and method for instruction burst performance profiling for single-processor and multi-processor systems
US7036122B2 (en) Device virtualization and assignment of interconnect devices
US4101960A (en) Scientific processor
US4787031A (en) Computer with virtual machine mode and multiple protection rings
US4511960A (en) Data processing system auto address development logic for multiword fetch
US20020013892A1 (en) Emulation coprocessor
US4412281A (en) Distributed signal processing system
US4814975A (en) Virtual machine system and method for controlling machines of different architectures
US4485440A (en) Central processor utilization monitor
US6711605B2 (en) Multi OS configuration method and computer system
US4516199A (en) Data processing system
US20040221115A1 (en) System and method for preparation of workload data for replaying in a data storage environment.
US20030114949A1 (en) Dynamic diagnostic program for determining thread wait time
US5659756A (en) Method and system for providing access to logical partition information on a per resource basis
US20130247012A1 (en) Transformation of a program-event-recording event into a run-time instrumentation event
US20080148015A1 (en) Method for improving reliability of multi-core processor computer
US5600805A (en) Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems