4.5Cache operation
Note. Refer to the Fibre Channel Interface Manual for more detail concerning the cache bits.
Of the 16 Mbytes physical buffer space in the drive, approximately 13,000 kbytes can be used as a cache. The buffer is divided into logical segments from which data is read and to which data is written.
The drive keeps track of the logical block addresses of the data stored in each segment of the buffer. If the cache is enabled (see RCD bit in the FC Interface Manual), data requested by the host with a read command is retrieved from the buffer, if possible, before any disc access is initiated. If cache operation is not enabled, the buffer 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. All data transfers to the host are in accordance with
The following is a simplified description of the prefetch/cache operation:
Case
1. Drive transfers the requested logical blocks to the initiator.
Case
1.The drive fetches the requested logical blocks from the disc and transfers them into a segment, and then from there to the host in accordance with the Mode Select Disconnect/Reconnect parameters, page 02h.
2.If the prefetch feature is enabled, refer to section 4.5.2 for operation from this point.
Each cache segment is actually a
Note. The size of each segment is not reported by Mode Sense command page 08h, bytes 14 and 15. The value 0XFFFF is always reported regardless of the actual size of the segment. Sending a size specification using the Mode Select command (bytes 14 and 15) does not set up a new segment size. 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 an unchangeable parameter.
4.5.1Caching 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 while the drive performs the Write command.
If read caching is enabled (RCD=0), then data written to the medium is retained in the cache to be made avail- able 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 RCD. 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 segments are cleared. The new data is cached for subsequent Read commands.
If the number of write data logical blocks exceed 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), then 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 be gen- erated.
Cheetah 15K.7 FC Product Manual, Rev. A | 11 |