12 Barracuda 18XL Product Manual, Rev. A
Each buffer segment is actually a self-contained circular storage (wrap-around occurs), the length of which is
an integer number of disc medium sectors. The wrap-around capability of the individual segments greatly
enhances the buffer’s overall performance as a cache storage, allowing a wide range of user selectable config-
urations, which includes their use in the prefetch operation (if enabled), even when cache operation is disabled
(see Section 4.5.2). The number of segments may be selected using the Mode Select command, but the size
can not be directly selected. Size is selected only as a by-product of selecting the segment number specifica-
tion. The size in Kbytes of each segment is not reported by the Mode Sense command page 08h, bytes 14 and
15. The value 0XFFFF is always reported. If a size specification is sent by the host in a Mode Select command
(bytes 14 and 15) no new segment size is set up by the drive, and if the “STRICT” bit in Mode page 00h (byte
2, bit 1) is set to one, the drive responds as it does for any attempt to change unchangeable parameters (see
SCSI Interface Product Manual, part number 75789509). The drive supports operation of any integer number
of segments from 1 to 16.
4.5.1 Caching write data
Write caching is a write operation by the drive that makes use of a drive buffer storage area where the data to
be written to the medium is stored in one or more segments while the drive performs the write command.
The same buffer space and segmentation is used as set up for read functions. The buffer segmentation
scheme is set up or changed independently, having nothing to do with the state of RCD. When a write com-
mand is issued, if RCD=0, the cache is first checked to see if any logical blocks that are to be written are
already stored in the cache from a previous read or write command. If there are, the respective cache seg-
ments are cleared. The new data is cached for subsequent Read commands.
If the number of write data logical blocks exceeds the size of the segment being written into, when the end of
the segment is reached, the data is written into the beginning of the same cache segment, overwriting the data
that was written there at the beginning of the operation. However, the drive does not overwrite data that has not
yet been written to the medium.
If write caching is enabled (WCE=1), then the drive may return GOOD status on a write command after the
data has been transferred into the cache, but before the data has been written to the medium. If an error occurs
while writing the data to the medium, and GOOD status has already been returned, a deferred error will be
generated. Write commands that have returned GOOD status but still have uncommitted data in the cache are
treated similarly to a normal queued command and therefore occupy a command queue slot. This may tempo-
rarily reduce the number of commands that may be queued by the host until the write data has been written to
the medium.
The Synchronize Cache command may be used to force the drive to write all cached write data to the medium.
Upon completion of a Synchronize Cache command, all data received from previous write commands will have
been written to the medium. The Start/Stop command with the stop bit set will force a sync cache operation
before the drive stops.
Table 9a shows Mode default settings for the drives.
4.5.2 Prefetch operation
If the Prefetch feature is enabled, data in contiguous logical blocks on the disc immediately beyond that which
was requested by a Read command can be retrieved and stored in the buffer for immediate transfer from the
buffer to the host on subsequent Read commands that request those logical blocks (this is true even if “cache”
operation is disabled). Though the prefetch operation uses the buffer as a “cache”, finding the requested data
in the buffer is a prefetch “hit”, not a “cache” operation “hit”. Prefetch is enabled using Mode Select page 08h,
byte 12, bit 5 (Disable Read Ahead - DRA bit). DRA bit = 0 enables prefetch. Since data that is prefetched
replaces data already in some buffer segment(s), the host can limit the amount of prefetch data to optimize
system performance. The max prefetch field (bytes 8 and 9) limits the amount of prefetch. The drive does not
use the prefetch “ceiling” field (bytes 10 and 11).
During a prefetch operation, the drive crosses a cylinder boundary to fetch more data only if the Discontinuity
(DISC) bit is set to one in bit 4 of byte 2 of Mode parameters page 08h.