Seagate ST300MM0026 Savvio 10K.1 SAS Product Manual - Page 20

Case B, Note., Caching write data

Page 20 highlights

2. When a requested logical block is reached that is not in any cache 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 host in accordance with the Mode Select Disconnect/Reconnect parameters, page 02h. 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, and the first logical block 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, 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. 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. Each cache segment is actually a self-contained circular buffer whose length is an integer number of logical blocks. The wrap-around capability of the individual segments greatly enhances the cache's overall performance, allowing a wide range of user-selectable configurations. The drive supports operation of any integer number of segments from 1 to 16. Divide the 6,900 Kbytes in the buffer by the number of segments to get the segment size. Default is 3 segments. 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.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 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 available 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 generated. 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. Table 19 shows the mode default settings for the drive. 14 Savvio SAS Product Manual, Rev. D

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86

14
Savvio SAS Product Manual, Rev. D
2.
When a requested logical block is reached that is not in any cache 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 host in accordance with the
Mode Select Disconnect/Reconnect parameters, page 02h.
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, and the first logical block 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, 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.
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.
Each cache segment is actually a self-contained circular buffer whose length is an integer number of logical
blocks. The wrap-around capability of the individual segments greatly enhances the cache’s overall perfor-
mance, allowing a wide range of user-selectable configurations. The drive supports operation of any integer
number of segments from 1 to 16. Divide the 6,900 Kbytes in the buffer by the number of segments to get the
segment size. Default is 3 segments.
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.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 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.
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.
Table 19 shows the mode default settings for the drive.