Seagate ST1181677LCV Computer Drive User Manual


 
Barracuda 180 Product Manual, Rev. A 11
enabled, the buffer (still segmented with required number of segments) is still used, but only as circular buffer
segments during disc medium read operations (disregarding Prefetch operation for the moment). That is, the
drive does not check in the buffer segments for the requested read data, but goes directly to the medium to
retrieve it. The retrieved data merely passes through some buffer segment on the way to the 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.
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 LBs 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 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 4.5.2 for operation from this point.
Each buffer segment is a self-contained circular storage area (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 buffers overall performance as cache storage, allowing a wide range of user selectable configu-
rations, including their use in the prefetch operation (if enabled) even when cache operation is disabled (see
Section 4.5.2). The number of segments is set dynamically by the drive and cannot be set by the host. 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). The drive supports operation of any integer number of segments from 1 to 64. The default is
three segments.
4.5.1 Caching write data
Write caching is a write operation that uses the 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.
If read caching is enabled (RCD=0), data written to the medium is retained in the cache for future read cache
hits. 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 the RCD bit. When a write
command 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), 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 occur.
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.