7/15/02 ______________________________________________________________________ The DDS49070.EXE file will self-extract and build a DOS-bootable diskette image. The image contains a batch file that automatically executes a firmware update on the tape drive EEPROM. A SCSI inquiry test is run at the conclusion and will verify that the 9070 firmware has been correctly applied. _______________________________________________________________________ Reliability Improvements/SCSI 1 Drive is not handling Setmarks correctly when RSMK bit is set to 0. The fix is to update the logical block address correctly after a setmark is not reported, and to allow reading for more data for the same command after a setmark is encountered (when RSMK = 0). No field impact. 2 Illegal length with Incorrect residue when reading in fixed mode with large block size. For block size > the burst size, upon the receipt of the SC_DETECT_SIZE_FLUSH_DONE, we calculate the number of blocks transferred based on actual_total_block_size. Therefore we do not want to update the previous burst used to read off the data from the mismatched record. We only want to count the number of good blocks. No field impact. 3 Wrong tape position after a Locate command to a different partition. Very intermittent When sending a search command to the Tape task, the structure must specify the current tape position in terms of record count, filemark count and setmark count. However, if there is a change in partition, this data structure must be modified to indicate that we are logically at the beginning of the new partition by resetting those counts to 0's. No field impact. Two partitions not used in server software. 4 Drive returned unexpected GOOD status when setmark was encountered during a space BLOCK command with RSMK bit set to 1. The problem was caused by an incorrect RSMK_BT_Bit setting while spacing in the ring buffer. No field impact. Setmarks not used in software. 5 Space 0 block after Space EOD should return GOOD_STATUS instead of Blank Check. Modified code to return Good Status for Space commands that have 0 transfer length. No field impact. 6 When expired cleaning is encountered Tape Alert flag 22 was not set. Modified code to set ‘expired’ cleaning tape flag. Very low field impact. May enhance customer experience. 7 Space EOD or forward block should not be allowed after encountering Physical End Of Tape or an error. Added a filter so that after encountering either an error or PEOT, the firmware would not pass either a Space EOD or Space Block command to the back end. Check Condition with the appropriate sense data should be created immediately. No field impact. Software does not write data to physical end of tape. 8 The drive reported Medium Error when Read at block address 1 after writing to Physical EOT. If previously we were at physical EOT and we are now at BOT we should clear both LEOT and PEOT bits. No field impact. 9 After a Send Diagnostic Enhance command the tape position will be for the next SCSI command. Upon completion of the command, SCSI task needs to reset tape position to BOT and sets the EOD_info to return a Blank Check to any subsequent Read commands that are issued to the same partition. No field impact. Send Diagnostic command not used by software. 10 When f/w reports SCSI-3 compliance, the f/w will not respond to Identify msgs. with LUN > 7. Modified code to enable Lun up to 64 when in SCSI-3 mode. Very minor field impact. Only one instance reported. 11 Various Illegal Length handling errors found during sever RS6000 SCtape testing. When flushing unwanted data due to ILI condition, we must stop on record boundaries. No field impact. 12 Sequence of Write, Log Sense Tape Alert, Write, Log Sense Tape Alert on a write- protected tape resulted in write protect flag to be turned off for 2nd Tape Alert request. Modified code so that the write protect flag in Tape Alert would still be set whenever a host attempts to write to a write protected tape. Very low field impact. 13 Fixed a possible case where a false Media Error could be returned. It was discovered that the f/w could return a Media Error for excessive rewrites falsely. Modified the f/w so that if the f/w is in a Head clog state that “Gain Adjustment” values would be taken from the flash prom memory. This is the data stored at time of manufacturing. Low field impact. No SP40 returns to date. 14 Code review showed that it was possible for a sequence of, Rewind Immediate, Space 1 FM could place the tape at the wrong position. Modified code so that the Rewind Immediate would completely take the tape back to the BOT position so that the Space 1 Filemark would position the tape correctly. Low field impact. We have not experienced software which issues this command sequence. Reliability Improvements/Tape handling 1 Read 1 block then space back 1 block and read 1 block again, drive reports blank check Discovered during RS6000 SCtape testing. Fixes are: to update blocks_remaining on every SC_TRANSFER_DONE. use max_block_burst to update the LBA. update max_block_burst based on blocks_remaining. No field impact, test was using changing block sizes in Variable block mode. 2 Intermittent drive hang when performing Space/Locate/Read operation. The problem was due to DC task enabling the buffer locking mechanism to prevent the Tape task from overwriting the Kukai group buffers during Read mode. When the DC task no longer needed the buffers then it will unlock the buffers. This logic was in the Read path but it was missing in the Space/Locate path. The fix is when first entering the Read command, DC task must check to see if it needs to unlock the buffers and acts accordingly. No field impact, testing was on SCtape in variable mode and locating to random data areas, not locating to filemarks. 3 Emergency eject does not work after a cassette unload error condition. Enhanced code to enable Emergency Eject if a normal cassette unload fails and leaves a cartridge between the seated position and full eject position. Very low field impact. Performance/Debug Improvements 1 Improved the level of debug information available via SCSI using STdiag program. Debug trace data through SCSI bus now has same level of information as obtaining Datmon trace. 2 Implemented a feature to save trace information to an 8KB segment in the Flash PROM. When a Sense Key of 03 or 04 is reported save an 8KB segment of trace information to a buffer. After the tape has been ejected then copy the buffered trace information to the Flash PROM. It is hoped that this feature will aid in failure analysis. 3 New feature Added code to track cylinder time for all 4 supported media types, DDS/1, DDS/2, DDS/3, DDS/4 Miscellaneous Improvements 1 SCSI Data compare error caused when an odd record size is written and then read back using an odd number of records and then and even number. The last byte on the last record must be the first byte of a 32 byte boundary in order to fail. Easy test case is write 50 one byte records. Read 31 records and then read 2 records. Was returning data from internal FIFO. Modified code to handle this special test case. No field impact. SC tape case. 2 The drive returned an incorrect block address after a Reset or an immediate Rewind. The fix is to report unknown position when a position-type command is being processed. The fix is to report unknown position when a position-type command is being processed in these cases. No field impact. 3 Very intermittent Logical Unit Not Ready sense data returned during write file mark flush. This problem was caused when the ECC C3 done interrupt unexpectedly becomes disabled. Added code to detect this condition and re-enable if necessary. No field impact. Discovered during Rochester testing for SP40. 4 Request to modify firmware to allow older backup software to recognize SP40 without need for new driver diskette. Change Inquiry String for SW10 OFF to "ARCHIVE Python 06240-XXX “ for Standard code and "ARCHIVE Python 06241-XXX" for the autoloader. SP240 Autoloader Changes 1 When autoloader queried while scanning magazine Lun 0 reports Not Ready, In Process of Becoming Ready. Very intermittently the loader never changes to respond Not Ready, No Media Present. Modified code so that bus reset would not clear empty drive condition. Very low field impact. No customer is known to have encountered this condition. 2 Autoloader door may open after power on self-test completes if a magazine is present. Suppress all loader commands between, !$P> and !$E>. 3 Autoloader may return sense data 04/44/E2 if unable to move tapes from magazine to drive. Add more code for stray tape recovery and change return status for certain timeouts to 03/52/00, cartridge failure. If unable to place tape from magazine to drive the loader will fail and return 03/52/00. Pressing eject button will eject magazine. Reinsert magazine to retrieve tape. Mild field impact. Certain customers have encountered this condition. 4 Very intermittently, the loader f/w would return sense code 03/52/00 during tape swap testing. During eject sequence it was possible for the EJECT command to the servo task to be ignored if the drive is busy with the previous FWDX1 command. Logic was added to wait until FWDX1mode change is complete before issuing the EJECT command. 5 If tapes were placed backwards in slots 4, 5, or 6 the magazine would be ejected. However, the loader would be locked when the magazine was retrieved. This prevents the magazine from being re-inserted into the loader. A power cycle is required to get around this. Modified code so that the f/w didn’t misread the door close as a good status after retrieving the magazine with backwards tapes. ====================================================================== LICENSE AGREEMENT AND WARRANTY DISCLAIMER This is a legal agreement between you the purchaser and International Business Machines, Inc. By accessing FUP, (the "Software"), you agree to be bound by the terms of this agreement. If you do not agree, do not access the software. IBM provides the accompanying object code of the Software and nonexclusively licenses its use to you on the following terms and conditions. IBM grants you a limited access to use one copy of the Software. You may not copy, distribute the Software for resale. You may not reverse engineer, modify, rent, or lease the Software. In addition, you may not disclose the information or data incorporated in the Software to others, in any format. You accept the Software "as is" without any warranty whatsoever. IBM does not warrant that the Software will meet your requirements; that the Software is fit for any particular purpose or that the use of the Software will be error free. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL IBM BE LIABLE TO YOU, YOUR CUSTOMERS OR OTHER USERS IN ANY WAY BASED ON USE OF THE SOFTWARE, INCLUDING WITHOUT LIMITATION FOR ANY LOSS OF PROFITS, LOSS OF DATA OR USE OF THE SOFTWARE OR INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, OR EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OR INABILITY TO USE THE SOFTWARE. ======================================================================