Product manual

Product Manual - Hawk 2 Family (Wide bus) SCSI-2 (Volume 1), Rev. A 13
_____________________________________________________________________________________
Case B - A Read command requests data, the first LB of which is not in any segment of the cache:
1. The drive fetches the requested LB’s from the disc and transfers them into a segment, and from there to
the host in accordance with the disconnect/reconnect specification referred to in case A.
2. If the prefetch feature is enabled, refer to section 5.5.2 for operation from this point.
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
configurations, which includes their use in the prefetch operation (if enabled), even when cache operation is
disabled (see section 5.5.2). For the ST12400 wide family 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
specification. The size in Kbytes of each segment is reported by the Mode
Sense command page 08h, bytes 14 and 15. 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 I/O Product Manual*). The ST12400 wide family of drives supports operation of any
integer number of segments from 1 to 16. Divide the 245,760 bytes (or 1,007,616 bytes for optional 1 MB
buffer) in the buffer by the number of segments to get the size (in bytes) of each segment.
5.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 drive never prefetches more logical blocks than the number specified
in the prefetch logical blocks ceiling bytes (8 and 9) of Mode page 08h.
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.
The operation of the prefetch feature (when enabled by DRA = 0) can be modified to an adaptable prefetch
mode, wherein prefetch is disabled as long as two sequential read operations are
not
for contiguous blocks
of data. If two sequential Read operations request contiguous logical blocks of data, the drive automatically
enables the prefetch feature for the end of the second Read operation. As long as sequential Read opera-
tions request contiguous LB’s of data, prefetch operation remains enabled.
If the host uses software interleave, there will not likely ever be two sequential Read operations for contigu-
ous LB’s, so the adaptive prefetch feature keeps prefetch disabled, even if the DRA bit enables it. Adaptive
prefetch is enabled when the IC (Initiator Control) bit (Mode page 08h, byte 2, bit 7) is set to 0 and when DRA.
= 0 (prefetch enabled).
__________
*SCSI-2/SCSI-3 Interface Product Manual, P/N 77738479.