Caching Write Data; Prefetch Operation - Seagate ST423451N Product Manual

Elite 23 disc drive
Hide thumbs Also See for ST423451N:
Table of Contents

Advertisement

12
Case B - Read command is received and the first logical block address requested is not in any segment of the
cache.
1. The drive fetches the requested logical blocks from the disc and transfers them into a segment, then from
there to the initiator in accordance with the "buffer-full" ratio specification given in Mode Select Disconnect/
Reconnect parameters, page 02h (see the SCSI Interface Product Manual) .
2. The drive prefetches additional logical blocks contiguous to those transferred in Case A, step 2 above and
stores them in the segment. The drive stops filling the segment when the maximum prefetch value has
been transferred.
During a prefetch, the drive crosses a cylinder boundary to fetch data only if the Discontinuity (DISC) bit is set
to 1 in bit 4 of byte 2 of the Mode Select parameters page 08h. Default is zero for bit 4 (see the SCSI Interface
Product Manual).
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
cannot 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. These bytes read 0xFFFF, regardless of the number of segments setting. 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). The drive supports operation of any
integer number of segments from 1 to 16. Divide the 1,442 Kbytes in the buffer by the number of segments to
calculate the segment size. The default is three segments.
4.5.1

Caching write data

When the WCE (Write Cache Enable) bit is enabled, the drive uses a drive buffer storage area where the data
to be written to the drive is stored in one or more segments while the drive performs the Write command. The
write cache uses the same buffer space and segmentation as the read cache. The buffer segmentation
scheme is set up or changed independently, having nothing to do with whether or not read and write caching is
enabled or disabled.
If a 10-byte CDB write command (2Ah) is issued with the DPO (Data Page Out) bit set to one, no write data is
cached but the cache segments are still checked and cleared (if needed) for any logical blocks that are being
written.
When a write command is issued, 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 disc.
Table 8 shows Mode default settings for the drives.
Note.
The WCE bit is disabled by default on OEM drives. To enable the WCE bit, change Mode Sense Page
08h, byte 2, bit 2 to a value of 1.
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
Elite 23 Product Manual, Rev. A

Advertisement

Table of Contents
loading

Table of Contents