and later [Release: N/A and later ]
IBM z/OS on System z
Symptoms
IOS000I message with IFCC, SIM, MIH Timer Pop in the message.
This message is flagged as an error by the CPU and Aborts the exchange.
Impact
The customer job may fail as described above due to I/O chain being terminated by an IFCC.
Changes
Contributing Factors
IBM corrected an error in FICON Specification FC-SB-4 clause 8.6.5 SB Cyclic-Redundancy- Check field for READ operation 8.9.1.
After this error was corrected at the CPU level, it was found the V2Xf and V2X4f channel protocol logic is flawed.
NOTE: This specification applies for all FICON channel adapters. At the writing of this FAB, the Z196 is the only CPU with the correction. IBM intends to make their Z9 and Z10 processors in compliance in the future.
Cause
Root Cause
The V2Xf is not providing the correct Cyclic Redundancy Check (CRC) value in response to a 0X3E Read Subsystem Data command when the data and CRC value does not fit in the initial Data Information Block (DIB).
The error condition will only occur while sending data for 43(0x2b), 128(0x7f), or 213(0xD5), total devices in a Virtual Control Unit (VCU).
However, if the device total is one of the values noted above, the next IU begins with a byte count of zero and not the ending CRC bytes (4) that the channel would expect.
NOTE: This is a hardware configuration parameter in the V2Xf subsystem and is not related to the host z/OS HCD/IOCP configuration.
The command in question is Read Subsystem Data (RSSD-3e) which has its own handling code in the V2Xf and V2X4f products.
The scope of the IBM error goes back at least to Z9 CPU which they intend to retrofit the fix to Z9 and Z10 in addition to the Z196 which is already done.
Since the missing CRC error is caused by a combination of the number of devices in the VCU plus ending on an 8156 byte IU boundary, by adding just one more device to the VCU the error condition will be avoided.
This is not a newly introduced problem. However the flaw becomes apparent with upgraded IBM channel code in Z196, Z10 and Z9.
Solution
Workaround
Modify the number of Disk Volumes per Virtual Control Unit (VCU) so there are not 43, 128, or 213 disk volumes defined in the specific VCU. This is easily done by defining one additional device in any VCU which has 43, 128 or 213 devices.
NOTE: These three values are the only ones which will cause the V2Xf subsystem to overflow the initial DIB, create a second DIB with a faulty CRC value.
NOTE: Adding an additional device can be added on the fly via the DOP or SVAA software.
This workaround does not require a change to the host configuration HCD / IOCP. However, if access to the newly defined device is desired then the appropriate changes will need to be made in the host configuration.
Resolution
Due to product being out of engineering development status, the workaround is the final resolution to this issue.
Attachments
This solution has no attachment