Seagate ST9900805SS Savvio 10K.1 SCSI Product Manual - Page 19

Prefetch/multi-segmented cache control, Cache operation

Page 19 highlights

4.4 Prefetch/multi-segmented cache control The drive provides prefetch (read look-ahead) and multi-segmented cache control algorithms that in many cases can enhance system performance. "Cache" as used herein refers to the drive buffer storage space when it is used in cache operations. To select prefetch and cache features the host sends the Mode Select command with the proper values in the applicable bytes in Mode Page 08h (see the SCSI Command Reference Manual). Prefetch and cache operation are independent features from the standpoint that each is enabled and disabled independently via the Mode Select command. However, in actual operation the prefetch feature overlaps cache operation somewhat as is noted in Section 4.5.1 and 4.5.2. All default cache and prefetch Mode parameter values (Mode Page 08h) for standard OEM versions of this drive family are given in Tables 15. 4.5 Cache operation In general, 7,100 kbytes of the physical buffer space in the drive can be used as storage space for cache operations. The buffer can be divided into logical segments (Mode Select Page 08h, byte 13) from which data is read and to which data is written. The drive supports a maximum of 64 cache segments. The drive maintains a table of logical block disc medium addresses of the data stored in each segment of the buffer. If cache operation is enabled (RCD bit = 0 in Mode Page 08h, byte 2, bit 0. See SCSI Command Reference Manual), data requested by the host with a Read command is retrieved from the buffer (if it is there), before any disc access is initiated. If cache operation is not 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 Command Reference 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 mentioned 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 actually a self-contained circular storage (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 buffer's overall performance as a cache storage, allowing a wide range of user selectable configurations, which includes 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 Command Reference Manual). Savvio SCSI Product Manual, Rev. D 13

  • 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

Savvio SCSI Product Manual, Rev. D
13
4.4
Prefetch/multi-segmented cache control
The drive provides prefetch (read look-ahead) and multi-segmented cache control algorithms that in many
cases can enhance system performance. “Cache” as used herein refers to the drive buffer storage space when
it is used in cache operations. To select prefetch and cache features the host sends the Mode Select command
with the proper values in the applicable bytes in Mode Page 08h (see the
SCSI Command Reference Manual
).
Prefetch and cache operation are independent features from the standpoint that each is enabled and disabled
independently via the Mode Select command. However, in actual operation the prefetch feature overlaps
cache operation somewhat as is noted in Section 4.5.1 and 4.5.2.
All default cache and prefetch Mode parameter values (Mode Page 08h) for standard OEM versions of this
drive family are given in Tables 15.
4.5
Cache operation
In general, 7,100 kbytes of the physical buffer space in the drive can be used as storage space for cache oper-
ations. The buffer can be divided into logical segments (Mode Select Page 08h, byte 13) from which data is
read and to which data is written. The drive supports a maximum of 64 cache segments. The drive maintains a
table of logical block disc medium addresses of the data stored in each segment of the buffer. If cache opera-
tion is enabled (RCD bit = 0 in Mode Page 08h, byte 2, bit 0. See
SCSI Command Reference Manual
), data
requested by the host with a Read command is retrieved from the buffer (if it is there), before any disc access
is initiated. If cache operation is not 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 seg-
ment 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 Command Reference 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 actually a self-contained circular storage (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 buffer’s overall performance as a cache storage, allowing a wide range of user selectable config-
urations, which includes 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 Command Reference Manual
).