SCSI Write Cache Utility -- David Adams, CTOS Technical Support
San Jose, California
Version 1.0-20JUN96
Files in the Superzip archive:
ScsiWriteCache.run - run file for the utility.
ScsiWriteCacheCmd.sub - submit file to build new command.
ScsiWriteCache.txt - this documentation file.
The utility is used to manipulate the "Write Cache Enable" bit on a SCSI disk
drive. The latest SCSI disk drives that are being shipped by Unisys have the
"Write Cache Enable" bit turned OFF when they go to customers. This defeats
the on-board cache that is present on most modern SCSI disk drives.
The reason for this is that RAID devices require that the cache bit be turned
OFF in order to provide the reliability that RAID advertises. All SCSI
drives that come with Unisys products are received from the vendor with the
"Write Cache Enable" bit turned OFF so that if they are installed in a RAID
package, they will operate correctly in that environment.
However, in a CTOS (or MS-DOS, Windows/NT, etc.) environment, it is
advantageous to have the "Write Cache Enable" bit turned ON, which allows the
built-in cache on the disk to accept the data written to the disk, rather
than to wait for the write operation to complete before the operation ends.
The performance difference can be dramatic. One of our customers measured a
simple write operation (repeated many times), and on a disk with the cache
ENABLED, the program took about 30 seconds. With the cache DISABLED, the
same program ran in about 2 1/2 MINUTES ! Quite a performance hit.
To use the utility, copy the run file to the [Sys] directory, and submit
the file that constructs the new command. The command form appears as:
SCSI Write Cache Utility
[CTOS Drive (e.g. D0, D1, ...]
[Enable Cache on device?]
and the parameters are apparent. However, if you supply NO parameters, then
the program simply lists all of the SCSI disk drives that are attached to the
processor. To enable the cache on a particular drive, supply the appropriate
drive specification and answer "Yes" to the second parameter. To disable the
drive's cache, answer "No" to the second parameter. If you specify something
other than "Y" or "N" (or other variant of Yes or No) then the program will
not modify anything, but will simply display all drives on the machine.
This program will NOT work correctly on SG-5000 or B39 machines on drives
connected to a SECOND SCSI controller. It will work correctly if the drives
are "expansion" drives, operating off the first controller (on the
motherboard of the processor).
Finally, some older SCSI drives do not allow you to modify the "Write Cache
Enable" bit. If you run into one of these drives, the utility will display
an error message, generally erc 2 (end of medium). No harm will be done, but
no change will be made to the drive, either.
*******************************************************************************
*** Special Considerations for ISAM III databases, control and audit files
on SCSI disks !!!
ISAM III supports complete transaction integrity and relies on the assumption
that when the operating system indicates a write has been completed that the
data has in fact been written to the disk. This is not necessarily the case
when the SCSI disk device cache is active. Enabling the SCSI cache leaves
open the possibility that you can lose transactions or corrupt your database
in a power failure (software system failures will have no impact on the SCSI
disk cache).
Scott Kurowski's paper 'An Inside Look at CTOS ISAM III' discusses this topic
much more in depth, and recommends that the CTOS operating system delayed-write
cache not be used for ISAM III. This recommendation also holds for SCSI cache.
If you have a UPS for your system, this risk is extremely low and it will
probably be safe to enable the SCSI disk cache.
               (
geocities.com/siliconvalley/pines/4011)                   (
geocities.com/siliconvalley/pines)                   (
geocities.com/siliconvalley)