Veritas-bu

[Veritas-bu] media write error 84

2005-02-07 11:04:20
Subject: [Veritas-bu] media write error 84
From: william.d.brown AT gsk DOT com (william.d.brown AT gsk DOT com)
Date: Mon, 7 Feb 2005 16:04:20 +0000
Check the Windows MaximumSGList setting, it may be set so low that the 
default 64k buffer is not being allowed.

This snippet is from a Tivoli/QLogic setup, but the principle is the same. 
 You need to identify the driver name for the SCSI or FC interface you are 
using to find the parameter.

<<
Important: If your environment includes an IBM LTO Ultrium tape drive and 
your storage agent will be located on a computer using Windows 2000, you 
must verify and possibly change the host-bus-adapter (HBA) setting. For 
most HBA's this value is located in the MAXIMUMSGLIST registry setting. 
The MAXIMUMSGLIST value on the storage agent must be equal to, or greater 
than HEX 41 (decimal 65) or a data integrity error may occur. To verify or 
change the current registry setting perform the following: 

Edit the Registry 
Click HKEY_LOCAL_MACHINE | SYSTEM | CurrentControlSet | Services |(vendor 
HBA name*) | Parameters | Device 
Note:
For (vendor HBA name*) in the previous description, substitute the 
vendor's device name for your environment (for example, for the Qlogic 
2200 and 2300, the name appears as Ql2200 and Ql2300 respectively). If 
your vendor's HBA name does not appear as a registry entry, contact the 
HBA vendor to determine the location of the setting and then verify that 
the setting is correct. 
If the setting's hex value is 41 or higher, verification is complete. 
Close the registry editor, and continue with the storage agent 
installation and configuration procedure. If this value is less than 41, 
change the value to 41 or higher, then save the new registry entry, close 
the registry editor, and continue with the storage agent installation and 
configuration procedure. Make sure that all Windows 2000 storage agents 
located in your LAN-free environment meet this criteria. 
>>

They don't mention, it may not exist by default.
<<
You can set any maximum block size between 64 Kbytes and
1 Mbyte. The formula to calculate the proper value for MaximumSGList is:

     MaximumSGList = ((Maximum Block Size)/4 Kbytes) +1

For 256 Kbytes: 256 Kbytes/4 Kbytes = 64. Add 1 for 65 (decimal) or 
0x41 (hexadecimal). The maximum value allowed for MaximumSGLIst is 255 or 
0xFF. For the particular value of 0xFF, the internal value passed to 
Windows 
is increased to 0x101, allowing support for a full 1 Mbyte transfer. 

The system must be rebooted for the new registry setting to be effective.

NOTE: For 64-bit systems, the OS page size is 8 Kbytes instead of 4 
Kbytes. 
      Therefore, the maximum transfer size is 2 Mbytes, the formula 
becomes:
 
          MaximumSGList = ((Maximum Block Size)/8 Kbytes) +1>>

>>

For an LTO drive you need the block size to be at least 256k if it is 
going to perform.    That requires the setting of this Registry entry to 
be 0x41.   I'd recommend you also set the SIZE_DATA_BUFFERS file up, so 
you can control the size.   It should be set to 262144.

BUT, be careful if you have other non-tape devices on the same SCSI bus, 
or another bus on the same driver.  You may need to set a 
value that is per-port.  You do this by making the registry entry have 
Device0, Device1, rather than just Device.

William D L Brown