Generic Disk Driver Enhancement

Prior to this enhancement, AEN enabling was done only for HP devices. But since most of the other
devices also support AEN, the enabling of AEN has been extended to these discs also provided the
specific disc supports setting of the AEN fields.
b) PAGE 8 (Cache settings) Page 8 allows setting of two fields that control the use of read and write
caches during disc I/O. These fields are called ‘Read Cache Disabled (RCD)’ and ‘Write Cache Enabled
(WCE)’. These fields are set by the disc driver if the disc supports the use of a cache, RCD is set to
FALSE and WCE is set to TRUE.
WCE was being set unconditionally to TRUE for all discs. This has been corrected and is now set only if
the discs support caching.
GDD Changes to the SCSI Disk Array Manager
Device initialization by this manager has been modified in the following areas:
a. The TUR (test Unit Ready) sequence
b. Device identification
c. Page A (control mode page)
a) TUR sequence: There are three TUR calls during device initialization. The first call clears stale sense
information from the target, the second clears stale sense information from the LUN and the third call
checks if the device is ready to continue. If the third TUR call in the TUR sequence returns a “Not Ready”
status, the entire TUR sequence is restarted. This may result in an infinite loop of high-speed TURs and
can potentially hang the system. With this enhancement, a polling mechanism has been introduced after
a few quick trials of TURs. This will result in the DM slowing down to retrying at 3 second intervals.
b) Device Identification: The DM uses the SCSI INQUIRY command to identify the device. In some cases
INQUIRY data can return a status which indicates the device has been "stopped” and requires a "Re-
Start". This status is detected and a restart unit command has to be issued appropriately. Care has been
taken to avoid high-speed Identify-Restart-Identify-Restart loops. As in the handling of the infinite
sequence of TURs during initialization, there are a few attempts of restart units quickly and then the
frequency of retrials is reduced to once in 3 seconds.
c) Page A (control mode page) The setting of the PAGE A values depends on the Queue Algorithm
Modifier (QAM) field. The QAM field specifies restrictions on the algorithm used for reordering certain I/O
commands. A value of zero in this field specifies that the target shall order the actual execution sequence
of these commands and ensure that data integrity is maintained.
A value of one in this field specifies that the target may reorder the actual execution sequence of the
commands in any manner. Any data integrity exposures related to command sequence order are
explicitly handled by the initiator through the selection of appropriate commands.
For device configuration to succeed after making the page A settings, the QAM field should be modifiable
and should be set to zero. Patch MPEMXA7 for C.75.00 allows queuing but prevents overlapping writes
for all devices so that the QAM field becomes less ‘critical’. Hence the dependency on QAM being
modifiable and being set to zero is removed in this enhancement.