Specifications

Page B-4 Appendix B
Therefore, you must weigh the potential for data loss (which is always there) versus the
dramatic performance increase seen when using write buffering. If you are worried
about the reliability of write buffering, it may be worth keeping in mind that the AM-520
disk controller has always used write buffering on a track-by-track basis (not quite as
efficiently as the Roadrunner write buffering scheme however). The SMARTDRV
program that comes with MS-DOS 5.0 does write buffering (you may have noticed the
"Waiting for system shutdown" message when re-booting a PC with
CTRL-ALT-DELETE) and Unix based computers have always done it!
B.3.2Setting Up Write Buffering
In order to enable write buffering, you must be using the full SCSI dispatcher
(SCZRR.SYS). Write buffering is enabled by adding parameters to the SYSTEM
statement used to load the driver. All hard disk subsystem drivers for the Roadrunner
SCSI interface must be loaded into system memory. Appending "/N" followed by the
buffer-size and flush-period will enable write buffering for that device. For example:
SYSTEM DVR:devn/N buffer-size flush-period
where devn is the device to enable write buffering for (for example DSK and/or SUB).
One SYSTEM command is required for each different SCSI disk driver present in the
system. For example, if you had two 1.2GB SCSI-2 drives named as DSK0-36 and
DSK37-73 and one 540MB SCSI-2 drive named SUB0-17, you would need one
additional SYSTEM command for the DSK device (although it’s really two physical
drives) and one additional SYSTEM command for the SUB device.
When specifying write buffering for a device, two files are loaded into system memory:
.DVR and .WRC, which are the driver and cache buffer. This is true for all SCSI disk
devices except the DSK device. For the DSK device, the file DSK.DVR does not need to
be created because it is already loaded into the system monitor. Therefore, for the DSK
device, only the file DSK.WRC will be loaded into system memory.
The buffer-size is the size of the write buffer (you specify the size in Kilobytes).
Specifying a buffer size of over 100KB is unlikely to improve performance.
The flush-period is the absolute maximum number of seconds data may be left in the
write buffer without being written to the disk. For example, if you specified 30, you would
know that after 30 seconds any pending writes would be written to the disk. This is true
even if the disk is constantly busy servicing reads.
In the three drive example mentioned earlier, the added SYSTEM commands would
look similiar to this:
SYSTEM DVR:DSK/N 100K 60 ;Driver in AMOS will create DSK.WRC
SYSTEM DVR:SUB/N 100K 60 ;Load SUB.DVR and create SUB.WRC
PDI-00172-60, Rev. A02