Patents - stay tuned to the technology

Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Matthew J. Kalos, Tucson US

Matthew J. Kalos, Tucson, AZ US

Patent application numberDescriptionPublished
20080306991APPARATUS AND METHOD TO CONFIGURE, FORMAT, AND TEST, A DATA STORAGE SUBSYSTEM PRODUCT - An apparatus and method are disclosed to configure, format, and test, a data storage subsystem product. The method supplies a data storage subsystem product comprising one or more host computer ports, a processor, one or more data storage device ports, and one or more data storage devices interconnected to the one or more data storage device ports. The method further supplies a configuration appliance comprising a storage configuration. The method connects the configuration appliance to one of the one or more storage device ports, boots up the data storage subsystem product, discovers the configuration appliance by the data storage subsystem product, imports storage configuration data into the data storage subsystem product, formats the one or more data storage device, and tests the input and output data transfer rates for the data storage subsystem product, wherein the formatting and testing are initiated concurrently.12-11-2008
20090210559PROCESSING A VARIABLE LENGTH DEVICE COMMAND WORD AT A CONTROL UNIT IN AN I/O PROCESSING SYSTEM - A computer program product, apparatus and method for processing a variable length device command word (DCW) at a control unit configured for communication with an input/output (I/O) subsystem in an I/O processing system. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a DCW at the control unit from the I/O subsystem. The DCW specifies one or more I/O operations and includes a command, a control data count, and control data having a varying length specified by the control data count. The control data is extracted in response to the control data count. The command is then executed in response to the extracted control data to perform the specified one or more I/O operations.08-20-2009
20090210560CANCEL INSTRUCTION AND COMMAND FOR DETERMINING THE STATE OF AN I/O OPERATION - The state of an input/output (I/O) operation is determined in an I/O processing system. A command is received from an I/O operating system at a channel subsystem for initiating the I/O operation, a time period is for completion of the I/O operation, and the command for initiating the I/O operation is sent from the channel subsystem to the control unit. Responsive to the time period nearing elapsing without the I/O operation completing, a cancel instruction is received from the I/O operating system at the channel subsystem. Responsive to a determination by the I/O operating system to interrogate the control unit, an instruction to interrogate the control unit is received with the cancel instruction from the I/O operating system.08-20-2009
20090210561PROCESSING OF DATA TO PERFORM SYSTEM CHANGES IN AN INPUT/OUTPUT PROCESSING SYSTEM - A computer program product, an apparatus, and a method for processing communications between a target and an initiator an input/output processing system are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes: sending a message from the initiator to the target, the message requesting suspension of input/output operations between the initiator and the target for a period of time, the period of time being defined by the message; responsive to the message, suspending input/output operation messages for the period of time; performing a system change comprising at least one of: at least one update, a computer program installation, a recovery, and a change in operating parameters; and initiating new input/output operations after at least one of: expiration of the period of time and initiation of new input/output operations by the initiator.08-20-2009
20090210562PROCESSING COMMUNICATION DATA IN A SHIPS PASSING CONDITION - Articles of manufacture, apparatuses, and methods for processing communications between a control unit and a channel subsystem in an input/output processing system are disclosed. Embodiments of the invention include an article of manufacture including at least one computer usable medium having computer readable program code logic to processing communications between a control unit and a channel subsystem in an input/output processing system. The computer readable program code logic performs a method including: sending a message in a first mode from the control unit to the channel subsystem; receiving a command in a second mode from the channel subsystem at the control unit; determining whether the command is responsive to the message; and responsive to the command being not responsive to the message, determining whether to perform one of i) executing the command and ii) terminating the command.08-20-2009
20090210563PROVIDING INDIRECT DATA ADDRESSING FOR A CONTROL BLOCK AT A CHANNEL SUBSYSTEM OF AN I/O PROCESSING SYSTEM - An computer program product, apparatus, and method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes the host computer system obtaining a transport command word (TCW) for an I/O operation. The TCW specifies a location of one or more I/O commands and a flag. The flag is set to indicate that the location is an indirect address. The host computer system extracts the location of the one or more I/O commands and the flag from the TCW. The host computer system gathers the one or more I/O commands responsive to the location specified by the TCW and the flag, and then forwards the one or more I/O commands to the control unit for execution.08-20-2009
20090210564PROCESSING OF DATA TO SUSPEND OPERATIONS IN AN INPUT/OUTPUT PROCESSING SYSTEM - A computer program product, an apparatus, and a method for processing communications between a target and an initiator an input/output processing system are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes: sending a message between the initiator and the target, the message requesting suspension of input/output operations between the initiator and the target for a period of time, the period of time being defined by the message; and responsive to the message, suspending input/output operation messages for the period of time.08-20-2009
20090210570EXTENDED MEASUREMENT WORD DETERMINATION AT A CHANNEL SUBSYSTEM OF AN I/O PROCESSING SYSTEM - An article of manufacture, an apparatus, and a method for determining an extended measurement word at a channel subsystem of an I/O processing system using data from a control unit are provided. The article of manufacture includes at least one computer usable medium having computer readable program code logic. The computer readable program code logic performs a method including sending a command message to the control unit, and receiving a transport response information unit message at the channel subsystem in response to sending the command message to the control unit. The computer readable program code logic additionally extracts a plurality of time values from the transport response information unit message as calculated by the control unit, calculates an extended measurement word as a function of the time values, and writes the extended measurement word to computer readable memory in the I/O processing system.08-20-2009
20090210571PROCESSING OF DATA TO MONITOR INPUT/OUTPUT OPERATIONS - A computer program product, an apparatus, and a method for processing communications between a control unit and a channel subsystem in an input/output processing system are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes: sending a command from the channel subsystem to the control unit to initiate an input/output operation; setting a time period for completion of the operation; and responsive to the operation not completing within the time period, sending a message to determine whether the control unit has an exchange open for the command.08-20-2009
20090210572COMPUTER COMMAND AND RESPONSE FOR DETERMINING THE STATE OF AN I/O OPERATION - A computer program product, apparatus, and method are provided for determining a state of an input/output (I/O) operation in an I/O processing system. A request from a channel subsystem is received at a control unit for performing the I/O operation. After a predetermined amount of time passes without the I/O operation completing, an interrogation request is received from the channel subsystem at the control unit for determining the state of the I/O operation. A response is sent from the control unit to the channel subsystem indicating the state of the I/O operation in response to the interrogation request. The response also includes information regarding a state of an I/O device executing the I/O operation and information indicating a state of the control unit controlling the I/O device executing the I/O operation.08-20-2009
20090210573COMPUTER COMMAND AND RESPONSE FOR DETERMINING THE STATE OF AN I/O OPERATION - A state of an input/output (I/O) operation in an I/O processing system is determined. A request for performing the I/O operation is received from an I/O operating system at a channel subsystem and forwarded to a control unit controlling an I/O device for executing the I/O operation. After a predetermined amount of time passes without receiving indication from the control unit that the I/O operation is completed, an interrogation request is received at the channel subsystem from the I/O operating system for determining the state of the I/O operation. An interrogation command is sent from the channel subsystem to the control unit. A response is received from the control unit, the response indicates a state of the I/O device executing the I/O operation, a state of the control unit controlling the I/O device executing the I/O operation, and the state of the I/O operation being executed.08-20-2009
20090210576PROVIDING INDIRECT DATA ADDRESSING IN AN INPUT/OUTPUT PROCESSING SYSTEM WHERE THE INDIRECT DATA ADDRESS LIST IS NON-CONTIGUOUS - Systems, methods and computer program products for providing indirect data addressing at an I/O subsystem of an I/O processing system. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a control word for an I/O operation. The control word includes an indirect data address for data associated with the I/O operation. The indirect data address includes a starting location of a list of storage addresses that collectively specify the data, the list spans two or more non-contiguous storage locations. Data is gathered responsive to the list. The gathered data is transmitted to a control unit in the I/O processing system.08-20-2009
20090210579OPEN EXCHANGE LIMITING IN AN I/O PROCESSING SYSTEM - A computer program product, an apparatus, and a method for limiting a number of open exchanges at a channel subsystem of an I/O processing system using data from a control unit. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method that includes sending a command message to the control unit, and receiving a transport response information unit message in response. The method further includes extracting a maximum control unit exchange parameter from the transport response information unit message, and determining a limit value for a maximum number of open exchanges between the channel subsystem and the control unit as a function of the extracted maximum control unit exchange parameter. The method additionally includes applying the limit value to prevent opening of a new exchange.08-20-2009
20090210580EARLY TERMINATION OF AN I/O OPERATION IN AN I/O PROCESSING SYSTEM - A computer program product, apparatus, and method for handling early termination of an I/O operation at a channel subsystem in an I/O processing system are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a request to terminate an I/O operation, and transmitting an abort command to a control unit in communication with the channel subsystem in response to receiving the request to terminate the I/O operation. The method also includes transmitting a purge path command to purge a path associated with the I/O operation, where the purge path command includes an error code identifying the request to terminate the I/O operation.08-20-2009
20090210581BI-DIRECTIONAL DATA TRANSFER WITHIN A SINGLE I/O OPERATION - An article of manufacture, apparatus, and a method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The method includes the host computer system obtaining a transport command word (TCW) for an I/O operation having both input and output data. The TCW specifies a location of the output data and a location for storing the input data. The host computer system forwards the I/O operation to the control unit for execution. The host computer system gathers the output data responsive to the location of the output data specified by the TCW, and then forwards the output data to the control unit for use in the execution of the I/O operation. The host computer system receives the input data from the control unit and stores the input data at the location specified by the TCW.08-20-2009
20090210582PROVIDING EXTENDED MEASUREMENT DATA IN AN I/O PROCESSING SYSTEM - An article of manufacture, an apparatus, and a method for providing extended measurement word data from a control unit to a channel subsystem of an I/O processing system are disclosed. The article of manufacture includes at least one computer usable medium having computer readable program code logic. The computer readable program code logic performs a method including receiving a command message from the channel subsystem at the control unit, and initiating a timing calculation sequence of a plurality of time values in response to receiving the command message at the control unit. The computer readable program code logic also populates extended measurement word data at the control unit including the plurality of time values, and outputs the extended measurement word data from the control unit to the channel subsystem.08-20-2009
20090210583RESERVED DEVICE ACCESS CONTENTION REDUCTION - A computer program product, an apparatus, and a method for reducing reserved device access contention at a control unit in communication with a plurality of operating systems via one or more channels are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method that includes receiving a command message at the control unit from a first operating system, including an I/O operation command for a device. A device busy indicator is received, indicating that a second operating system has reserved the device. The command message is queued on a device busy queue in response to the device busy indicator. The control unit monitors for a device end indicator. The device busy queue is serviced to perform the I/O operation command in response to the device end indicator.08-20-2009
20090210584EXCEPTION CONDITION DETERMINATION AT A CONTROL UNIT IN AN I/O PROCESSING SYSTEM - A computer program product, apparatus, and method for providing exception condition feedback at a control unit to a channel subsystem in an I/O processing system are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a command message at the control unit from the channel subsystem, and detecting an exception condition in response to unsuccessful execution of at least one command in the command message. The method further includes identifying a termination reason code associated with the exception condition, writing the termination reason code to a response message, and sending the response message to the channel subsystem.08-20-2009
20090210585PROCESSING OF DATA TO SUSPEND OPERATIONS IN AN INPUT/OUTPUT PROCESSING LOG-OUT SYSTEM - A computer program product, an apparatus, and a method for processing communications between a control unit and a channel subsystem in an input/output processing system are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes: sending a Process Log-out (PRLO) message from the control unit to the channel subsystem, the message requesting suspension of input/output operations between the control unit and the channel subsystem for a period of time, the period of time being defined by the PRLO message; responsive to the PRLO message, suspending by the channel all input/output operation messages for the period of time, wherein suspending comprises stopping input/output operation messages during the period of time; and responsive to an expiration of the period of time, sending a Process Log-in (PRLI) message from the channel subsystem to the control unit to re-initiate an operating environment between the channel subsystem and the control unit.08-20-2009
20090210768EXCEPTION CONDITION HANDLING AT A CHANNEL SUBSYSTEM IN AN I/O PROCESSING SYSTEM - A computer program product, apparatus, and method for handling exception condition feedback at a channel subsystem of an I/O processing system using data from a control unit are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes sending a command message to the control unit, and receiving a response message in response to the command message. The response message includes exception condition feedback identifying a termination reason code in response to unsuccessful execution of at least one command in the command message. The method also includes interrupting a CPU in the I/O processing system, and reporting status associated with the exception condition feedback to the CPU in an interrupt response block.08-20-2009
20090210769MULTIPLE CRC INSERTION IN AN OUTPUT DATA STREAM - A computer program product, apparatus, and method for inserting multiple CRCs in an output data stream from a channel subsystem to a control unit are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a message to transmit from the channel subsystem to the control unit. The method also includes determining a first CRC insertion position, and receiving a first CRC calculated over a first block of data in the message. The method additionally includes inserting the first calculated CRC at the first CRC insertion position, and determining a second CRC insertion position. The method further includes receiving a second CRC calculated over a second block of data in the message, and inserting the second calculated CRC at the second CRC insertion position.08-20-2009
20090210884PROCESSING OF DATA TO DETERMINE COMPATABILITY IN AN INPUT/OUTPUT PROCESSING SYSTEM - A computer program product, an apparatus, and a method for processing communications between a control unit and a channel subsystem in an input/output processing system are provided. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method including: sending a message from the channel subsystem to the control unit in a first mode; receiving a response from the control unit and determining from the response whether the control unit supports a message protocol; and responsive to the message protocol being supported by the control unit, sending another message using the message protocol from the channel subsystem to the control unit to determine whether the control unit supports a second mode.08-20-2009
20100030923I/O DEVICE N_PORT ID VIRTUALIZATION - An I/O device obtains multiple unique N_Port IDs (identifiers) for a NPIV N_Port ID Virtualization (NPIV) capable physical adapter. Fabric management routines are able to assign the multiple unique N_Port IDs to distinct fabric zones. LUNs (logical unit numbers) are able to be associated with the multiple unique N_Port IDs such the LUNs associated with unique N_Port ID do not exceed a limitation. The I/O device is able to associate different resources with different unique N_Port IDs to limit the scope of actions of one or more hosts. The I/O device is able to configure one or more LUNs by the multiple unique N_Port IDs to control access. Different unique N_Port IDs are able to be configured to have different quality of service attributes and/or different levels of security. The I/O device may include multiple independent logical partitions (LPARs) and assign each multiple unique N_Port IDs.02-04-2010
20100049928COMMAND SEQUENCE NUMBERING APPARATUS AND METHOD - A method, system, and computer program product to preserve data integrity in a mirror and copy environment is disclosed herein. In one embodiment, a method may include receiving a write command and data from a host device. The method may further include writing the data to a primary storage device and attaching a primary sequence number associated with the primary storage device to the write command, thereby providing a numbered write command with a command sequence number. The numbered write command may then be transmitted to a secondary storage device. The method may further include comparing the command sequence number to a secondary sequence number associated with the secondary storage device. If the command sequence number matches the secondary sequence number, then the command may be executed. Otherwise, it may be ignored.02-25-2010
20100325356NONVOLATILE STORAGE THRESHOLDING - Embodiments for facilitating data transfer between a nonvolatile storage (NVS) write cache and a pool of target storage devices are provided. Each target storage device in the pool of target storage devices is determined as one of a hard disk drive (HDD) and a solid-state drive (SSD) device, and classified into one of a SSD rank group and a HDD rank group. If no data is received in the NVS write cache for a predetermined time to be written to a target storage device classified in the SSD rank group, a threshold of available space in the NVS write cache is set to allocate at least a majority of the available space to the HDD rank group. Upon receipt of a write request for the SSD rank group, the threshold of the available space is reduced to allocate a greater portion of the available space to the SSD rank group.12-23-2010
20110072153APPARATUS, SYSTEM, AND METHOD FOR DEVICE LEVEL ENABLEMENT OF A COMMUNICATIONS PROTOCOL - An apparatus, system, and method are disclosed for device level enablement of a communications protocol. An adapter compatibility module determines an adapter compatibility status for a plurality of host adapters. A positive adapter compatibility status indicates that each host adapter in the plurality of host adapters is compatible with a communications protocol. A processor compatibility module determines a processor compatibility status for one or more processors. The one or more processors coordinate data transfers to and from the plurality of host adapters. A positive processor compatibility status indicates that each of the one or more processors is compatible with the communications protocol. A compatibility summary module determines a compatibility summary for the plurality of host adapters and the one or more processors. The compatibility summary indicates a positive compatibility relative to the communications protocol in response to a positive processor compatibility status and a positive adapter compatibility status.03-24-2011
20110131343PROVIDING INDIRECT DATA ADDRESSING IN AN INPUT/OUTPUT PROCESSING SYSTEM WHERE THE INDIRECT DATA ADDRESS LIST IS NON-CONTIGUOUS - Systems, methods and computer program products for providing indirect data addressing at an I/O subsystem of an I/O processing system. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a control word for an I/O operation. The control word includes an indirect data address for data associated with the I/O operation. The indirect data address includes a starting location of a list of storage addresses that collectively specify the data, the list spans two or more non-contiguous storage locations. Data is gathered responsive to the list. The gathered data is transmitted to a control unit in the I/O processing system.06-02-2011
20110191660Apparatus, System, and Method for Specifying Intermediate CRC Locations in a Data Stream - An apparatus, system, and method are disclosed for determining the location of intermediate CRC in a data stream sent from a channel subsystem to a control unit of an I/O processing system. A CRC locating module determines the location of at least one intermediate CRC in a transport data information unit. A CRC offset module determines a CRC offset of the at least one intermediate CRC. The CRC offset is a value identifying the difference between the location of the at least one intermediate CRC and the location of the first byte of user data in the transport data information unit. An offset block creation module creates a CRC offset block which includes a CRC offset value for each of the at least one intermediate CRC within the transport data information unit and a transmission module transmits the COB to a control unit in the I/O processing system.08-04-2011
20110196987COMPRESSION ON THIN PROVISIONED VOLUMES USING EXTENT BASED MAPPING - Method, system, and computer program product embodiments for facilitating data compression are provided. A set of logical extents, each having compressed logical tracks of data, is mapped to a head physical extent and, if the head physical extent is determined to have been filled, to at least one overflow extent having spatial proximity to the head physical extent. Pursuant to at least one subsequent write operation and destage operation, the at least one subsequent write operation and destage operation determined to be associated with the head physical extent, the write operation is mapped to one of the head physical extent, the at least one overflow extent, and an additional extent having spatial proximity to the at least one overflow extent.08-11-2011
20110196993BI-DIRECTIONAL DATA TRANSFER WITHIN A SINGLE I/O OPERATION - An article of manufacture, apparatus, and a method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The method includes the host computer system obtaining a transport command word (TCW) for an I/O operation having both input and output data. The TCW specifies a location of the output data and a location for storing the input data. The host computer system forwards the I/O operation to the control unit for execution. The host computer system gathers the output data responsive to the location of the output data specified by the TCW, and then forwards the output data to the control unit for use in the execution of the I/O operation. The host computer system receives the input data from the control unit and stores the input data at the location specified by the TCW.08-11-2011
20110225374SELF-ADJUSTING SCSI STORAGE PORT QUEUE - A method for managing storage space in a storage port queue includes establishing a watermark for the storage port queue. The method further receives, at the storage port associated with the storage port queue, a command having an initiator-target-LUN (ITL) nexus associated therewith. Upon receiving the command, the method determines whether the used space in the storage port queue has reached the watermark. In the event the used space has not reached the watermark, the method processes the command. In the event the used space has reached the watermark and a specified number of commands for the ITL nexus are already present in the storage port queue, the method rejects the command. Otherwise, the method may process the command. A corresponding apparatus and computer program product are also disclosed herein.09-15-2011
20120047342FACILITATION OF SIMULTANEOUS STORAGE INITIALIZATION AND DATA DESTAGE - Various embodiments for storage initialization and data destage in a computing storage environment are provided. At least a portion of data on a storage device is initialized using a background process, while one of simultaneously and subsequently destaging the at least the portion of the data to the storage device using a foreground process is performed. A persistent metadata bitmap, adapted to indicate whether the at least the portion of the data has been initialized, is staged to cache, the cache operable in the computing storage environment. The background process maintains a volatile bitmap indicating a status of the initialization of the at least the portion of the data in direct correspondence to the metadata bitmap. As the background process initializes the at least the portion of the data, an applicable bit on the persistent metadata bitmap is cleared and a corresponding bit is set on the volatile bitmap.02-23-2012
20120047511THROTTLING STORAGE INITIALIZATION FOR DATA DESTAGE - Method, system, and computer program product embodiments for throttling storage initialization for data destage in a computing storage environment are provided. An implicit throttling operation is performed by limiting a finite resource of a plurality of finite resources available to a background initialization process, the background initialization process adapted for performing the storage initialization ahead of a data destage request. If a predefined percentage of the plurality of finite resources is utilized, at least one of the plurality of finite resources is deferred to a foreground process that is triggered by the data destage request, the foreground process adapted to perform the storage initialization ahead of a data destage performed pursuant to the data destage request. An explicit throttling operation is performed by examining a snapshot of storage activity occurring outside the background initialization process.02-23-2012
20120110222APPARATUS AND METHOD FOR DYNAMICALLY ENABLING AND DISABLING WRITE XFR_RDY - A method for dynamically enabling and disabling use of XFR_RDY is disclosed herein. In one embodiment of the invention, such a method includes receiving a write command at a target and determining whether XFR_RDY is enabled or disabled for the write command. In the event XFR_RDY is disabled, the method determines whether one or more buffers are available at the target. If at least one buffer is available, the method processes the write command by writing data associated with the write command to the one or more buffers. The method then returns information indicating the number of buffers that are still available at the target after completing the write command. A corresponding apparatus and computer program product are also disclosed and claimed herein.05-03-2012
20120117196SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR TRANSFERRING RESERVES WHEN MOVING VIRTUAL MACHINES ACROSS SYSTEMS - According to one embodiment, a host system includes logic adapted for receiving device information from a source system, logic adapted for building a virtual device based at least in part on the received device information, logic adapted for transferring a reserve of a storage device to the host system and/or receiving results of transferring the reserve to the host system, logic adapted for determining if the reserve is held by the host system, logic adapted for recording the reserve if the reserve is held by the host system, and logic adapted for sending a notification that the reserve is not held by the host system if the reserve is not held by the host system. Other methods, systems, and computer program products are also described according to various embodiments.05-10-2012
20120117275PROVIDING INDIRECT DATA ADDRESSING FOR A CONTROL BLOCK AT A CHANNEL SUBSYSTEM OF AN I/O PROCESSING SYSTEM - An computer program product, apparatus, and method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes the host computer system obtaining a transport command word (TCW) for an I/O operation. The TCW specifies a location of one or more I/O commands and a flag set to indicate that the location is an indirect address. The host computer system extracts the location of the one or more I/O commands and the flag from the TCW, gathers the one or more I/O commands responsive to the location specified by the TCW and the flag, and then forwards the one or more I/O commands to the control unit for execution.05-10-2012
20120191930DATA INTEGRITY PROTECTION IN STORAGE VOLUMES - A plurality of logical volumes are stored at a plurality of sites. A command to execute an operation on a logical volume is received. A determination is made as to whether a rule associated with the logical volume permits execution of the operation on the logical volume. In response to determining that the rule associated with the logical volume permits execution of the operation on the logical volume, the operation is executed on the logical volume.07-26-2012
20120203935SELF-ADJUSTING SCSI STORAGE PORT QUEUE - A method for managing storage space in a storage port queue includes establishing a watermark for the storage port queue. The method further receives, at the storage port associated with the storage port queue, a command having an initiator-target-LUN (ITL) nexus associated therewith. Upon receiving the command, the method determines whether the used space in the storage port queue has reached the watermark. In the event the used space has not reached the watermark, the method processes the command. In the event the used space has reached the watermark and a specified number of commands for the ITL nexus are already present in the storage port queue, the method rejects the command. Otherwise, the method may process the command.08-09-2012
20120203983COMPRESSION ON THIN PROVISIONED VOLUMES USING EXTENT BASED MAPPING - A set of logical extents, each having compressed logical tracks of data, is mapped to a head physical extent and, if the head physical extent is determined to have been filled, to at least one overflow extent having spatial proximity to the head physical extent. Pursuant to at least one subsequent write operation and destage operation, the at least one subsequent write operation and destage operation determined to be associated with the head physical extent, the write operation is mapped to one of the head physical extent, the at least one overflow extent, and an additional extent having spatial proximity to the at least one overflow extent.08-09-2012
20120221499WORKLOAD LEARNING IN DATA REPLICATION ENVIRONMENTS - A method for replicating I/O performance in data replication environments, such as PPRC environments, is described. In selected embodiments, such a method includes monitoring I/O workload at a primary storage device over a period of time, such as a period of hours, days, or months. The method then generates learning data at the primary storage device describing the I/O workload over the selected time period. The learning data is replicated from the primary storage device to a secondary storage device. The method uses the learning data to optimize the secondary storage device to handle the I/O workload of the primary storage device. This will enable the secondary storage device to provide substantially the same I/O performance as the primary storage device in the event a failover occurs.08-30-2012
20120221521WORKLOAD LEARNING IN DATA REPLICATION ENVIRONMENTS - A method for replicating I/O performance in data replication environments, such as PPRC environments, is described. In selected embodiments, such a method includes monitoring I/O workload at a primary storage device over a period of time, such as a period of hours, days, or months. The method then generates learning data at the primary storage device describing the I/O workload over the selected time period. The learning data is replicated from the primary storage device to a secondary storage device. The method uses the learning data to optimize the secondary storage device to handle the I/O workload of the primary storage device. This will enable the secondary storage device to provide substantially the same I/O performance as the primary storage device in the event a failover occurs. A corresponding system and computer program product are also disclosed and claimed herein.08-30-2012
20120233422DATA INTEGRITY PROTECTION IN STORAGE VOLUMES - A plurality of logical volumes are stored at a plurality of sites. A command to execute an operation on a logical volume is received. A determination is made as to whether a rule associated with the logical volume permits execution of the operation on the logical volume. In response to determining that the rule associated with the logical volume permits execution of the operation on the logical volume, the operation is executed on the logical volume.09-13-2012
20120246277METHODS FOR TRANSFERRING RESERVES WHEN MOVING VIRTUAL MACHINES ACROSS SYSTEMS - According to one embodiment, a method includes receiving device information from a source system; building a virtual device on a host system based at least in part on the received device information; at least one of: transferring a reserve of a device stored on a storage device to a target system; and receiving results of transferring the reserve to the target system; determining if the reserve is held by the target system; recording the reserve if the reserve is held by the target system; and sending a notification that the reserve is not held by the target system if the reserve is not held by the target system. Other methods are also described according to various embodiments.09-27-2012
20120260043FABRICATING KEY FIELDS - Exemplary methods, computer systems, and computer program products for fabricating key fields by a processor device in a computer environment are provided. In one embodiment, the computer environment is configured for, as an alternative to reading Count-Key-Data (CKD) data in order to change the key field, providing a hint to fabricate a new key field, thereby overwriting a previous key field and updating the CKD data.10-11-2012
20120265766COMPRESSION ON THIN PROVISIONED VOLUMES USING EXTENT BASED MAPPING - For facilitating data compression, a set of logical extents, each having compressed logical tracks of data, is mapped to a head physical extent and, if the head physical extent is determined to have been filled, to at least one overflow extent having spatial proximity to the head physical extent. Pursuant to at least one subsequent write operation and destage operation, the at least one subsequent write operation and destage operation determined to be associated with the head physical extent, the write operation is mapped to one of the head physical extent, the at least one overflow extent, and an additional extent having spatial proximity to the at least one overflow extent.10-18-2012
20120290729ESTABLISHING COMMUNICATION PATH GROUP IDENTIFICATION FOR MULTIPLE STORAGE DEVICES - Embodiments of the disclosure relate to setting up a logical path group identification for multiple data storage devices. An aspect of the disclosure concerns a computer implemented method that comprises receiving a host command to establish a group of connection paths between the host and a plurality of storage devices, identifying the group of connection paths, adding each one of the storage devices to the group of connection paths, and reporting to the host those storage devices that could not be successfully added to the group of connection paths. The method maintains host access security to the storage devices by not grouping a device when it is a reset event state.11-15-2012
20120303842SELECTING DIRECT MEMORY ACCESS ENGINES IN AN ADAPTOR FOR PROCESSING INPUT/OUTPUT (I/O) REQUESTS RECEIVED AT THE ADAPTOR - Provided are a computer program product, system, and method for selecting Direct Memory Access (DMA) engines in an adaptor for processing Input/Output requests received at the adaptor. A determination is made of an assignment of a plurality of processors to the DMA engines, wherein each processor is assigned to use one of the DMA engines. I/O request related work for a received I/O request directed to the storage is processed by determining the DMA engine assigned to the processor processing the I/O request related work and accessing the determined DMA engine to perform the I/O related work.11-29-2012
20120303861POPULATING STRIDES OF TRACKS TO DEMOTE FROM A FIRST CACHE TO A SECOND CACHE - Provided are a computer program product, system, and method for populating strides of tracks to demote from a first cache to a second cache. A first cache maintains modified and unmodified tracks from a storage system subject to Input/Output (I/O) requests. A determination is made to demote tracks from the first cache. A determination is made as to whether there are enough tracks ready to demote to form a stride, wherein tracks are written to a second cache in strides defined for a Redundant Array of Independent Disk (RAID) configuration. A stride is populated with tracks ready to demote in response to determining that there are enough tracks ready to demote to form the stride. The stride of tracks, to demote from the first cache, are promoted to the second cache. The tracks in the second cache that are modified are destaged to the storage system.11-29-2012
20120303863USING AN ATTRIBUTE OF A WRITE REQUEST TO DETERMINE WHERE TO CACHE DATA IN A STORAGE SYSTEM HAVING MULTIPLE CACHES INCLUDING NON-VOLATILE STORAGE CACHE IN A SEQUENTIAL ACCESS STORAGE DEVICE - Provided are a computer program product, system, and method for using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device. Received modified tracks are cached in the non-volatile storage device integrated with the sequential access storage device in response to determining to cache the modified tracks. A write request having modified tracks is received. A determination is made as to whether an attribute of the received write request satisfies a condition. The received modified tracks for the write request are cached in the non-volatile storage device in response to determining that the determined attribute does not satisfy the condition. A destage request is added to a request queue for the received write request having the determined attribute not satisfying the condition.11-29-2012
20120303864CACHE MANAGEMENT OF TRACKS IN A FIRST CACHE AND A SECOND CACHE FOR A STORAGE - Provided a computer program product, system, and method for cache management of tracks in a first cache and a second cache for a storage. The first cache maintains modified and unmodified tracks in the storage subject to Input/Output (I/O) requests. Modified and unmodified tracks are demoted from the first cache. The modified and the unmodified tracks demoted from the first cache are promoted to the second cache. The unmodified tracks demoted from the second cache are discarded. The modified tracks in the second cache that are at proximate physical locations on the storage device are grouped and the grouped modified tracks are destaged from the second cache to the storage device.11-29-2012
20120303872CACHE MANAGEMENT OF TRACKS IN A FIRST CACHE AND A SECOND CACHE FOR A STORAGE - Provided a computer program product, system, and method for cache management of tracks in a first cache and a second cache for a storage. The first cache maintains modified and unmodified tracks in the storage subject to Input/Output (I/O) requests. Modified and unmodified tracks are demoted from the first cache. The modified and the unmodified tracks demoted from the first cache are promoted to the second cache. The unmodified tracks demoted from the second cache are discarded. The modified tracks in the second cache that are at proximate physical locations on the storage device are grouped and the grouped modified tracks are destaged from the second cache to the storage device.11-29-2012
20120303875POPULATING STRIDES OF TRACKS TO DEMOTE FROM A FIRST CACHE TO A SECOND CACHE - Provided are a computer program product, system, and method for populating strides of tracks to demote from a first cache to a second cache. A first cache maintains modified and unmodified tracks from a storage system subject to Input/Output (I/O) requests. A determination is made to demote tracks from the first cache. A determination is made as to whether there are enough tracks ready to demote to form a stride, wherein tracks are written to a second cache in strides defined for a Redundant Array of Independent Disk (RAID) configuration. A stride is populated with tracks ready to demote in response to determining that there are enough tracks ready to demote to form the stride. The stride of tracks, to demote from the first cache, are promoted to the second cache. The tracks in the second cache that are modified are destaged to the storage system.11-29-2012
20120303877USING AN ATTRIBUTE OF A WRITE REQUEST TO DETERMINE WHERE TO CACHE DATA IN A STORAGE SYSTEM HAVING MULTIPLE CACHES INCLUDING NON-VOLATILE STORAGE CACHE IN A SEQUENTIAL ACCESS STORAGE DEVICE - Provided are a computer program product, system, and method for using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device. Received modified tracks are cached in the non-volatile storage device integrated with the sequential access storage device in response to determining to cache the modified tracks. A write request having modified tracks is received. A determination is made as to whether an attribute of the received write request satisfies a condition. The received modified tracks for the write request are cached in the non-volatile storage device in response to determining that the determined attribute does not satisfy the condition. A destage request is added to a request queue for the received write request having the determined attribute not satisfying the condition.11-29-2012
20120303898MANAGING UNMODIFIED TRACKS MAINTAINED IN BOTH A FIRST CACHE AND A SECOND CACHE - Provided are a computer program product, system, and method for managing unmodified tracks maintained in both a first cache and a second cache. The first cache has unmodified tracks in the storage subject to Input/Output (I/O) requests. Unmodified tracks are demoted from the first cache to a second cache. An inclusive list indicates unmodified tracks maintained in both the first cache and a second cache. An exclusive list indicates unmodified tracks maintained in the second cache but not the first cache. The inclusive list and the exclusive list are used to determine whether to promote to the second cache an unmodified track demoted from the first cache.11-29-2012
20120303904MANAGING UNMODIFIED TRACKS MAINTAINED IN BOTH A FIRST CACHE AND A SECOND CACHE - Provided are a computer program product, system, and method for managing unmodified tracks maintained in both a first cache and a second cache. The first cache has unmodified tracks in the storage subject to Input/Output (I/O) requests. Unmodified tracks are demoted from the first cache to a second cache. An inclusive list indicates unmodified tracks maintained in both the first cache and a second cache. An exclusive list indicates unmodified tracks maintained in the second cache but not the first cache. The inclusive list and the exclusive list are used to determine whether to promote to the second cache an unmodified track demoted from the first cache.11-29-2012
20130007300FACILITATING TRANSPORT MODE INPUT/OUTPUT OPERATIONS BETWEEN A CHANNEL SUBSYSTEM AND INPUT/OUTPUT DEVICES - A computer program product is configured for performing a method including: generating at least one command message by a channel subsystem of the host computer system, the at least one command message including one or more device command words (DCWs), wherein at least one DCW of the one or more DCWs includes a suppress-length indication (SLI) configured to instruct a control unit to continue to perform the I/O operation in response to the control unit detecting that the data count does not match an amount of data required; receiving an incorrect length (IL) value, the IL value being a first IL value in response to the SLI being a first SLI value and the data count not matching the amount of data required; and responsive to receiving the IL value from the control unit, storing an IL indicator in a subchannel-status word.01-03-2013
20130007303FACILITATING TRANSPORT MODE INPUT/OUTPUT OPERATIONS BETWEEN A CHANNEL SUBSYSTEM AND INPUT/OUTPUT DEVICES - A computer program product is provided for performing an input/output (I/O) processing operation at a host computer system. The computer program product is configured to perform: obtaining a transport command word (TCW) at a channel subsystem for an I/O operation, the TCW including an address of a transport command control block (TCCB) having a transport command area (TCA) configured to hold a first plurality of device command words (DCW) and control data associated with respective DCWs, the first plurality of DCWs including a transfer TCA extension (TTE) DCW that specifies a TCA extension, the TCA extension configured to hold one or more DCWs and control data associated with respective DCWs; gathering the TCCB from one or more locations specified in the TCCB address and transferring the TCCB to the control unit; gathering the TCA extension specified by the TTE DCW; and transferring the TCA extension to the control unit.01-03-2013
20130007304FACILITATING TRANSPORT MODE INPUT/OUTPUT OPERATIONS BETWEEN A CHANNEL SUBSYSTEM AND INPUT/OUTPUT DEVICES - A computer program product is configured for performing a method including: receiving at least one command message specifying an I/O operation at a control unit from a channel subsystem, the at least one command message including one or more device command words (DCWs) having a data count and a suppress-length indication (SLI), the SLI configured to instruct the control unit whether to continue to perform the I/O operation in response to the control unit detecting an incorrect length condition; processing at least one of the one or more DCWs; and returning a transport response message including an incorrect length (IL) value, the IL value being a first IL value in response to the SLI being a first SLI value and the data count not matching the amount of data required, the IL value being a second IL value in response to the SLI being a second SLI value and the data count not matching the amount of data required.01-03-2013
20130111106PROMOTION OF PARTIAL DATA SEGMENTS IN FLASH CACHE05-02-2013
20130111134MANAGEMENT OF PARTIAL DATA SEGMENTS IN DUAL CACHE SYSTEMS05-02-2013
20130111160SELECTIVE SPACE RECLAMATION OF DATA STORAGE MEMORY EMPLOYING HEAT AND RELOCATION METRICS05-02-2013
20130124812FACILITATION OF SIMULTANEOUS STORAGE INITIALIZATION AND DATA DESTAGE - Various embodiments for storage initialization and data destage in a computing storage environment are provided. At least a portion of data on a storage device is initialized using a background process, while one of simultaneously and subsequently destaging the at least the portion of the data to the storage device using a foreground process is performed. A persistent metadata bitmap, adapted to indicate whether the at least the portion of the data has been initialized, is staged to cache, the cache operable in the computing storage environment. The background process maintains a volatile bitmap indicating a status of the initialization of the at least the portion of the data in direct correspondence to the metadata bitmap. As the background process initializes the at least the portion of the data, an applicable bit on the persistent metadata bitmap is cleared and a corresponding bit is set on the volatile bitmap.05-16-2013
20130179596PROVIDING INDIRECT DATA ADDRESSING IN AN INPUT/OUTPUT PROCESSING SYSTEM WHERE THE INDIRECT DATA ADDRESS LIST IS NON-CONTIGUOUS - A method includes configuring a processing circuit to perform: receiving a control word for an I/O operation, forwarding a transport command control block (TCCB) from the channel subsystem to a control unit, gathering data associated with the I/O operation, and transmitting the gathered data to the control unit in the I/O processing system. Gathering the data includes accessing entries of a list of storage addresses that collectively specifying the data. Based on an entry of the list comprising a not-set first flag and a corresponding first storage address, gathering data from a corresponding storage location, and based on an entry of the list comprising a set first flag and a corresponding second storage address, obtaining a next entry of the list from a second storage location.07-11-2013
20130185478POPULATING A FIRST STRIDE OF TRACKS FROM A FIRST CACHE TO WRITE TO A SECOND STRIDE IN A SECOND CACHE - Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted.07-18-2013
20130185494POPULATING A FIRST STRIDE OF TRACKS FROM A FIRST CACHE TO WRITE TO A SECOND STRIDE IN A SECOND CACHE - Provided are a computer program product, system, and method for managing data in a cache system comprising a first cache, a second cache, and a storage system. A determination is made of tracks stored in the storage system to demote from the first cache. A first stride is formed including the determined tracks to demote. A determination is made of a second stride in the second cache in which to include the tracks in the first stride. The tracks from the first stride are added to the second stride in the second cache. A determination is made of tracks in strides in the second cache to demote from the second cache. The determined tracks to demote from the second cache are demoted.07-18-2013
20130185501CACHING SOURCE BLOCKS OF DATA FOR TARGET BLOCKS OF DATA - Provided are a computer program product, system, and method for processing a read operation for a target block of data. A read operation for the target block of data in target storage is received, wherein the target block of data is in an instant virtual copy relationship with a source block of data in source storage. It is determined that the target block of data in the target storage is not consistent with the source block of data in the source storage. The source block of data is retrieved. The data in the source block of data in the cache is synthesized to make the data appear to be retrieved from the target storage. The target block of data is marked as read from the source storage. In response to the read operation completing, the target block of data that was read from the source storage is demoted.07-18-2013
20130185510CACHING SOURCE BLOCKS OF DATA FOR TARGET BLOCKS OF DATA - Provided is a method for processing a read operation for a target block of data. A read operation for the target block of data in target storage is received, wherein the target block of data is in an instant virtual copy relationship with a source block of data in source storage. It is determined that the target block of data in the target storage is not consistent with the source block of data in the source storage. The source block of data is retrieved. The data in the source block of data in the cache is synthesized to make the data appear to be retrieved from the target storage. The target block of data is marked as read from the source storage. In response to the read operation completing, the target block of data that was read from the source storage is demoted.07-18-2013
20130185512MANAGEMENT OF PARTIAL DATA SEGMENTS IN DUAL CACHE SYSTEMS - For movement of partial data segments within a computing storage environment having lower and higher levels of cache by a processor, a whole data segment containing one of the partial data segments is promoted to both the lower and higher levels of cache. Requested data of the whole data segment is split and positioned at a Most Recently Used (MRU) portion of a demotion queue of the higher level of cache. Unrequested data of the whole data segment is split and positioned at a Least Recently Used (LRU) portion of the demotion queue of the higher level of cache. The unrequested data is pinned in place until a write of the whole data segment to the lower level of cache completes.07-18-2013
20130205077PROMOTION OF PARTIAL DATA SEGMENTS IN FLASH CACHE - For efficient track destage in secondary storage in a more effective manner, for temporal bits employed with sequential bits for controlling the timing for destaging the track in a primary storage, the temporal bits and sequential bits are transferred from the primary storage to the secondary storage. The temporal bits are allowed to age on the secondary storage.08-08-2013
20130205088MULTI-STAGE CACHE DIRECTORY AND VARIABLE CACHE-LINE SIZE FOR TIERED STORAGE ARCHITECTURES - A method in accordance with the invention includes providing first, second, and third storage tiers, wherein the first storage tier acts as a cache for the second storage tier, and the second storage tier acts as a cache for the third storage tier. The first storage tier uses a first cache line size corresponding to an extent size of the second storage tier. The second storage tier uses a second cache line size corresponding to an extent size of the third storage tier. The second cache line size is significantly larger than the first cache line size. The method further maintains, in the first storage tier, a first cache directory indicating which extents from the second storage tier are cached in the first storage tier, and a second cache directory indicating which extents from the third storage tier are cached in the second storage tier.08-08-2013
20130246661FACILITATING TRANSPORT MODE INPUT/OUTPUT OPERATIONS BETWEEN A CHANNEL SUBSYSTEM AND INPUT/OUTPUT DEVICES - A method of performing an input/output operation includes: generating by a channel subsystem at least one command message including one or more device command words (DCWs), at least one DCW including a data count and a suppress-length indication (SLI) configured to instruct a control unit whether to continue to perform the I/O operation in response to an incorrect length condition; forwarding the at least one command message to the control unit; receiving an incorrect length (IL) value from the control unit and storing an IL indicator in a subchannel-status word, the IL indicator representing the IL value, the IL value being a first IL value in response to a first SLI value and the data count not matching the amount of data required, the IL value being a second IL value in response to a second SLI value and the data count not matching the amount of data required.09-19-2013
20130282929BI-DIRECTIONAL DATA TRANSFER WITHIN A SINGLE I/O OPERATION - A computer program product, apparatus, and a method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The method includes receiving a command block from the channel subsystem, the command block including at least one input command and at least one output command specified by a transport command word (TCW) and associated with the I/O operation, the I/O operation having both input and output data, the TCW specifying a location in the memory of the output data and a location in the memory for storing the input data; receiving the output data specified by the TCW and executing the at least one output command; and forwarding the input data specified by the TCW to the channel subsystem for storage at a location specified by the TCW.10-24-2013
20130304940PROVIDING INDIRECT DATA ADDRESSING FOR A CONTROL BLOCK AT A CHANNEL SUBSYSTEM OF AN I/O PROCESSING SYSTEM - An computer program product, apparatus, and method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The computer program product is provided for performing a method including: obtaining a transport command word (TCW) for an I/O operation, the TCW specifying a location address and indicating whether the TCW directly or indirectly addresses a message for transmitting one or more commands to the control unit; extracting the specified location address from the TCW; obtaining the message from the specified location address based on the TCW indicating direct addressing, the message including one or more I/O commands; gathering one or more I/O commands from command locations specified by a list of addresses identified by the specified location address to form the message based on the TCW indicating indirect addressing; and forwarding the message to the control unit for execution.11-14-2013
20130332646PERFORMING ASYNCHRONOUS DISCARD SCANS WITH STAGING AND DESTAGING OPERATIONS - A controller receives a request to perform staging or destaging operations with respect to an area of a cache. A determination is made as to whether one or more discard scans are being performed or queued for the area of the cache. In response to determining that one or more discard scans are being performed or queued for the area of the cache, the controller avoids satisfying the request to perform the staging or the destaging operations with respect to the area of the cache.12-12-2013
20140047110DEVICE LEVEL ENABLEMENT OF A COMMUNICATIONS PROTOCOL - An apparatus, system, and method are disclosed for device level enablement of a communications protocol. An adapter compatibility module determines an adapter compatibility status for a plurality of host adapters. A positive adapter compatibility status indicates that each host adapter in the plurality of host adapters is compatible with a communications protocol. A processor compatibility module determines a processor compatibility status for one or more processors. The one or more processors coordinate data transfers to and from the plurality of host adapters. A positive processor compatibility status indicates that each of the one or more processors is compatible with the communications protocol. A compatibility summary module determines a compatibility summary for the plurality of host adapters and the one or more processors. The compatibility summary indicates a positive compatibility relative to the communications protocol in response to a positive processor compatibility status and a positive adapter compatibility status.02-13-2014
20140068163PERFORMING ASYNCHRONOUS DISCARD SCANS WITH STAGING AND DESTAGING OPERATIONS - A controller receives a request to perform staging or destaging operations with respect to an area of a cache. A determination is made as to whether one or more discard scans are being performed or queued for the area of the cache. In response to determining that one or more discard scans are being performed or queued for the area of the cache, the controller avoids satisfying the request to perform the staging or the destaging operations or a read hit with respect to the area of the cache.03-06-2014
20140082318Apparatus and Method for Sharing Resources between Storage Devices - A method for allocating resources of a storage system including at least a first and second group of storage devices. The method identifies a first set of resources to be reserved for use by the first group of storage devices, identifies a second set of resources to be reserved for use by the second group of storage devices, and identifies a third set of resources The method then allocates resources from the third set of resources to the first group of storage devices or the second group of storage device according to an allocation algorithm, and restricts use of the first set of resources to the first group of devices and use of the second set of resources to the second group of devices.03-20-2014
20140101667AUTHENTICATING A PROCESSING SYSTEM ACCESSING A RESOURCE - Provided are a method, system, and article of manufacture for authenticating a processing system accessing a resource. An association of processing system identifiers with resources, including a first and second resources, is maintained. A request from a requesting processing system in a host is received for use of a first resource that provides access to a second resource, wherein the request is generated by processing system software and wherein the request further includes a submitted processing system identifier included in the request by host hardware in the host. A determination is made as to whether the submitted processing system identifier is one of the processing system identifiers associated with the first and second resources. The requesting processing system is provided access to the first resource that the processing system uses to access the second resource.04-10-2014
20140181431FACILITATION OF SIMULTANEOUS STORAGE INITIALIZATION AND DATA DESTAGE - Various embodiments for storage initialization and data destage in a computing storage environment are provided. At least a portion of data on a storage device is initialized using a background process, while one of simultaneously and subsequently destaging the at least the portion of the data to the storage device using a foreground process is performed. A persistent metadata bitmap, adapted to indicate whether the at least the portion of the data has been initialized, is staged to cache, the cache operable in the computing storage environment. The background process maintains a volatile bitmap indicating a status of the initialization of the at least the portion of the data in direct correspondence to the metadata bitmap. As the background process initializes the at least the portion of the data, an applicable bit on the persistent metadata bitmap is cleared and a corresponding bit is set on the volatile bitmap.06-26-2014
20140201448MANAGEMENT OF PARTIAL DATA SEGMENTS IN DUAL CACHE SYSTEMS - For movement of partial data segments within a computing storage environment having lower and higher levels of cache by a processor, a whole data segment containing one of the partial data segments is promoted to both the lower and higher levels of cache. Requested data of the whole data segment is split and positioned at a Most Recently Used (MRU) portion of a demotion queue of the higher level of cache.07-17-2014
20140207999PERFORMING STAGING OR DESTAGING BASED ON THE NUMBER OF WAITING DISCARD SCANS - A controller receives a request to perform staging or destaging operations with respect to an area of a cache. A determination is made as to whether more than a threshold number of discard scans are waiting to be performed. The controller avoids satisfying the request to perform the staging or the destaging operations or a read hit with respect to the area of the cache, in response to determining that more than the threshold number of discard scans are waiting to be performed.07-24-2014
20140208036PERFORMING STAGING OR DESTAGING BASED ON THE NUMBER OF WAITING DISCARD SCANS - A controller receives a request to perform staging or destaging operations with respect to an area of a cache. A determination is made as to whether more than a threshold number of discard scans are waiting to be performed. The controller avoids satisfying the request to perform the staging or the destaging operations or a read hit with respect to the area of the cache, in response to determining that more than the threshold number of discard scans are waiting to be performed.07-24-2014
20140281041FACILITATING TRANSPORT MODE DATA TRANSFER BETWEEN A CHANNEL SUBSYSTEM AND INPUT/OUTPUT DEVICES - A computer program product is provided for performing an input/output (I/O) operation initiated by an I/O operation instruction at a host computer system configured for communication with a control unit. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing: receiving, by the control unit, a transport mode command message from a channel subsystem of the host computer system, the command message include a command for data to be transferred between the host computer system and an I/O device controlled by the control unit; and sending a command retry message to the channel subsystem, the command retry message including a request that the command message be re-sent to the control unit and a reason code indicating a reason for the request.09-18-2014
20140297891PROVIDING INDIRECT DATA ADDRESSING FOR A CONTROL BLOCK AT A CHANNEL SUBSYSTEM OF AN I/O PROCESSING SYSTEM - An computer program product, apparatus, and method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The computer program product is provided for performing a method including: sending a transport command word (TCW) to an I/O subsystem, the TCW specifying a location address and indicating whether the TCW directly or indirectly addresses a message; extracting the location address from the TCW; obtaining the message from the specified location address based on the TCW indicating direct addressing, the message including the one or more I/O commands; gathering the one or more I/O commands from command locations specified by a list of addresses identified by the specified location address to form the message based on the TCW indicating indirect addressing; and generating a message including the one or more I/O commands.10-02-2014
20140304479GROUPING TRACKS FOR DESTAGING - Tracks are selected for destaging from a least recently used (LRU) list and the selected tracks are moved to a destaging wait list. The selected tracks are grouped and destaged from the destaging wait list.10-09-2014
20140351532MINIMIZING DESTAGING CONFLICTS - Destage grouping of tracks is restricted to a bottom portion of a least recently used (LRU) list without grouping the tracks at a most recently used end of the LRU list to avoid the destaging conflicts. The destage grouping of tracks is destaged from the bottom portion of the LRU list.11-27-2014
20140351534RECOVERY FROM FAILURE OF PRIMARY STORAGE VOLUMES BY USING MIRRORED DATA MAINTAINED WITH HOST TIMESTAMPS - A primary storage controller receives an input/output (I/O) command from a host, wherein a host timestamp is associated with the I/O command. During a mirroring of storage volumes to a secondary storage controller, the primary storage controller communicates the host timestamp associated with the I/O command to the secondary storage controller, wherein mirrored copies of the storage volumes are timestamped based on at least the host timestamp and an elapsed time since a last host I/O command. A recovery is made from a failure of one or more of the storage volumes in the primary storage controller, by using the timestamped mirrored copies of the storage volumes.11-27-2014
20140359168TRANSPORT MODE DATA TRANSFER BETWEEN A CHANNEL SUBSYSTEM AND INPUT/ OUTPUT DEVICES - A computer program product is provided for performing an input/output (I/O) operation at a host computer system configured for communication with a control unit. The computer program product is configured to perform: sending a transport mode command message from a channel subsystem to the control unit, the command message including a command for data to be transferred to an I/O device controlled by the control unit; and sending a data transfer message to the control unit, the data transfer message having an amount of the data to be transferred, the amount of the data being less than or equal to a maximum amount of data, the maximum amount of data corresponding to a number of buffers associated with the control unit and a size of each of the number of buffers, the number and the size indicated by a value maintained in the host computer system.12-04-2014
20140372718DATA INTEGRITY PROTECTION IN STORAGE VOLUMES - A plurality of logical volumes are stored at a plurality of sites. A command to execute an operation on a logical volume is received. A determination is made as to whether a rule associated with the logical volume permits execution of the operation on the logical volume. In response to determining that the rule associated with the logical volume permits execution of the operation on the logical volume, the operation is executed on the logical volume.12-18-2014
20140379948PROVIDING INDIRECT DATA ADDRESSING IN AN INPUT/OUTPUT PROCESSING SYSTEM WHERE THE INDIRECT DATA ADDRESS LIST IS NON-CONTIGUOUS - A computer program product for processing input/output (I/O) data is provided for performing a method, which includes receiving a control word having an indirect data address including a starting location of a list of storage addresses, gathering the data and transmitting gathered data to a control unit in the I/O processing system. Gathering includes accessing an entry of the list, the entry located at an entry storage location and including an address. Based on the entry of the list indicating that the address is a data address, data is gathered from a data storage location, and a next entry of the list is accessed. Based on the entry of the list indicating that the address is an address of a next entry of the list, the next entry of the list is obtained from another storage location that is located non-contiguously to the entry storage location.12-25-2014
20150026423DATA INTEGRITY PROTECTION IN STORAGE VOLUMES - A plurality of logical volumes are stored at a plurality of sites. A command to execute an operation on a logical volume is received. A determination is made as to whether a rule associated with the logical volume permits execution of the operation on the logical volume. In response to determining that the rule associated with the logical volume permits execution of the operation on the logical volume, the operation is executed on the logical volume.01-22-2015
20150074295BI-DIRECTIONAL DATA TRANSFER WITHIN A SINGLE I/O OPERATION - A computer program product, apparatus, and a method for facilitating input/output (I/O) processing for an I/O operation at a host computer system configured for communication with a control unit. The method includes receiving, by a control unit, a command block configured to hold a plurality of commands including an input command and/or an output command, the plurality of commands specified by a transport command word (TCW) including a read indicator configured to indicate whether the I/O operation includes input data and a write indictor configured to indicate whether the I/O operation includes output data; based on the command block holding at least one output command, receiving the output data and executing the at least one output command; and based on the command block holding at least one input command, forwarding the input data to the channel subsystem for storage at a location specified by the TCW.03-12-2015
20150074363DYNAMICALLY ADJUSTING WRITE PACING - For dynamically adjusting write pacing, a calculation module calculates an interval as a maximum threshold for a primary volume divided by a first maximum pacing level for a first importance level. The calculation module further calculates a first pacing level as a number of record sets that have not been mirrored to a secondary volume divided by the interval. The first pacing level is set to the first maximum pacing level if the first pacing level is greater than the first maximum pacing level. The calculation module also selects a first pacing delay associated with the first pacing level from a delay table. A pacing module delays writes for a first channel command word writing to the primary volume by the first pacing delay.03-12-2015

Patent applications by Matthew J. Kalos, Tucson, AZ US

Website © 2015 Advameg, Inc.