CONTENTSPREVNEXTHOME
About the Write-Back Cache

MO drives have a write-back cache, which when enabled speeds up write times, because the drive does not wait for the data transferred to its buffer memory to be written to disk.

It works like this:

But what if a write error occurs when the drive writes the first data to disk? So far the Amiga thinks that the first data has been written correctly. The drive will report the write error after the Amiga has sent the second piece of data to the drive. Depending on the SCSI device in use (scsi.device, gvpscsi.device, etc.), the Amiga may incorrectly interpret the write error as referring to the second piece of data.

So the Amiga will display a Retry/Cancel requester. If you click Retry, the computer may retry sending the second piece of data. So the first data, which should be resent because of the write error, is not. Hence bad data remains on the disk. The first piece of data may not even still be in memory; the program that wrote it could have since freed or altered the memory.

For this reason, I do not believe that it is possible to (easily) completely support the write cache under AmigaOS, though partial support should be possible. However, the write cache can be enabled without too many problems. The drive should transparently remap any bad sectors it encounters when writing, so the Amiga would only be told of this in extreme circumstances. If ever a write error requester appears, just click on Cancel, delete the file affected, and re-copy it. Do not assume that clicking Retry will work properly, because the Amiga may resend a different piece of data for which no write error occurred.

In fact, getting spurious write errors may indicate that there is a problem with your SCSI chain. Using an external active terminator may help here.


CONTENTSPREVNEXTHOME