Product manual

16 Barracuda 2LP Product Manual, Rev. D
2. When a requested logical block is reached that is not in any segment,
the drive fetches it and any remaining requested logical block addresses
from the disc and puts them in a segment of the cache. The drive
transfers the remaining requested logical blocks from the cache to the
initiator in accordance with the “buffer-full ratio specification given in
Mode Select Disconnect/Reconnect parameters, page 02h (see the
SCSI-2 Interface Product Manual
).
3. The drive prefetches additional logical blocks contiguous to those
transferred in step 2 above and stores them in the segment. The drive
stops filling the segment when the maximum prefetch value has been
transferred (see the
SCSI-2 Interface Product Manual
).
Case B. A 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-2 Inter-
face Product Manual
).
2. The drive prefetches additional logical blocks contiguous to those trans-
ferred 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 8h. Default is zero for bit 4 (see the
SCSI-2 Interface
Product Manual
).
Each cache segment is actually a self-contained circular buffer whose
length is an integer number of sectors. The drive supports operation with
any integer number of segments 1 to 16. Divide the 491,520 bytes in the
buffer by the number of segments to get the segment size; default is 3
segments (see the
SCSI-2 Interface Product Manual
). The wrap-around
capability of the individual segments greatly enhances the cache’s overall
performance, allowing a wide range of user-selectable configurations
including a pure prefetch strategy.
5.6 Caching write data
Write caching is a drive-write operation, which uses a drive’s buffer storage
area where data to be written to the disc is stored while the drive performs
the Write command.
Write caching is enabled along with read caching. Default is cache enabled.
For write caching, the same buffer space and segmentation is used as set
up for read functions. When a write command is issued, the cache is first
checked to see if any logical blocks 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 a 10-byte CDB write command (2Ah) is issued with the data page out (DPO)
bit set to 1, no write data is cached, but the cache segments are still checked