Caching Write Data; Prefetch Operation - Seagate ST34520N - Medalist 4.55 GB Hard Drive Product Manual

Product manual
Hide thumbs Also See for ST34520N - Medalist 4.55 GB Hard Drive:
Table of Contents

Advertisement

12
host. On a cache "miss", all data transfers to the host are in accordance with "buffer-full" ratio rules. On a cache
"hit" the drive ignores the "buffer-full" ratio rules. See explanations associated with Mode page 02h (disconnect/
reconnect control) in the SCSI Interface Product Manual (part number 77738479).
The following is a simplified description of a read operation with cache operation enabled:
Case A - A Read command is received and the first logical block (LB) is already in cache:
1. Drive transfers to the initiator the first LB requested plus all subsequent contiguous LB's that are already in
the cache. This data may be in multiple segments.
2. When the requested LB is reached that is not in any cache segment, the drive fetches it and any remaining
requested LBs from the disc and puts them in a segment of the cache. The drive transfers the remaining
requested LBs from the cache to the host in accordance with the disconnect/reconnect specification men-
tioned above.
3. If the prefetch feature is enabled, refer to Section 4.5.2 for operation from this point.
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 LBs from the disc and transfers them into a segment, and then the seg-
ment to the host.
2. If the prefetch feature is enabled, refer to Section 4.5.2 for operation from this point.
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 buffer segment.
Write caching is enabled independently from read caching. For write caching, the same buffer space and seg-
mentation is used as set up for read functions. The buffer segmentation scheme is set up or changed indepen-
dently, having nothing to do with whether or not read and write caching is enabled or disabled. 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 segments 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 then 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.
Tables 9, 10, and 11 show 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).
Whenever prefetch (read look-ahead) is enabled (enabled by DRA = 0), it operates under the control of ARLA
(Adaptive Read Look-Ahead). If the host uses software interleave, ARLA enables prefetch of contiguous blocks
from the disc when it senses that a prefetch "hit" will likely occur, even if two consecutive read operations were
not for physically contiguous blocks of data (e.g. "software interleave"). ARLA disables prefetch when it decides
that a prefetch "hit" will not likely occur. If the host is not using software interleave, and if two sequential read
operations are not for contiguous blocks of data, ARLA disables prefetch, but as long as sequential read oper-
ations request contiguous blocks of data, ARLA keeps prefetch enabled.
Medalist Pro Product Manual, Rev. D

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents