Technical data
st(7D) Devices SunOS 5.5
Write Data Buffering Tape drives with data compression require a much higher data rate in order to stream
the tape. Write data buffering in the driver improves streaming to the drive without
changing the application and augments the buffering in the tape drive itself. If write data
buffering is enabled, data is buffered in the driver and the request is immediately ack-
nowledged by the driver before it has been written to the tape drive. This enables the
driver to submit the next request as soon as the previous request completes and the appli-
cation to prepare the next request while the current request is in progress. A SCSI tape
drive that allows buffering requiresORing the flag ST_BUFFERED_WRITES with other
flags in the ’options’ field in st.conf. Refer to Tape Configuration. By default, this option
is set for the built-in config entries of the Archive DAT and Exabyte drives.
In order for write buffering to work properly, sufficient space after LEOT must be avail-
able to empty the write buffers. Older tape devices usually do not have sufficient space
after LEOT.
To turn on tape buffering, a property in st.conf called "tape-driver-buffering" should be
added. The value assigned to this property is the maximum number of buffered write
requests allowed. For example, 0 indicates no write request buffering allowed, while 2
indicates buffer up to 2 write requests. If this property is not specified in st.conf, the
driver defaults to a value of 0. The maximum size of write request that can be buffered is
specified through a property in st.conf called "tape-driver-buf-max-size". If this property
is not specified in st.conf, the driver defaults the buffer size to a value of 1 Mbyte.
An example of st.conf, where the maximum number of write requests buffered is 4 and
maximum size of write request buffered is 2 Mbyte, is given below. This applies to all
nodes in this conf file.
# # Copyright (c) 1992, by Sun Microsystems, Inc. # #ident "@(#)st.conf 1.6 93/05/03
SMI"
tape-driver-buffering = 4; tape-driver-buf-max-size = 0x200000;
name="st" class="scsi"
target=0 lun=0;
name="st" class="scsi"
target=1 lun=0;
name="st" class="scsi"
target=2 lun=0;
...
In the case of a SCSI bus reset, a medium error, or any other fatal transport error on a buf-
fered request, the driver returns an error on subsequent write requests and allows no
more writes. If no further write requests occur, an error is returned on close.
7D-310 modified 30 Aug 1995










