X3T9.2/88-025 Rev 1 Date: March 9, 1988 To: John Lohmeyer, Chairman X3T9.2 From: Bob Mortensen and Skip Jones, Maxtor Corporation Subject: Rotational Position Locking Attached are proposed changes to the Mode Select/Mode Sense command, Page Code 4, which would provide support for Rotational Position Locking (AKA spindle sychronization) in Direct-Access devices with embedded SCSI. These changes were discussed in a working group meeting held in Phoenix last week, and were presented to the plenary (briefly) at the same meeting. I recognize that this input is late, according to the SCSI-2 cut-off policy. However, I believe that these changes are relatively minor, and are not likely to create dissention within the committee, since they are nearly identical to the ESDI standard, as modified by Appendix K (X3T9.2/87-105 Rev 2.0). Therefore, I request that the committee consider these changes for incorporation in the SCSI-2 document at the March working group meeting. This revision (rev 1) incorporates changes made at the Newport Beach working group meeting. The working group accepted this document for inclusion into SCSI-2 Rev 4. 8.1.3.7. Rigid Disk Drive Geometry Parameters Table 8-23: Rigid Disk Drive Geometry Parameters ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 |Reserved|Reserved| Page Code (04h) | -----|-----------------------------------------------------------------------| 1 | Page Length in bytes (12h) | -----|-----------------------------------------------------------------------| 2 | (MSB) | - - -|- - Number of Cylinders - -| 4 | (LSB) | -----|-----------------------------------------------------------------------| 5 | Number of Heads | -----|-----------------------------------------------------------------------| 6 | (MSB) | - - -|- - Starting Cylinder- Write Precompensation - -| 8 | (LSB) | -----|-----------------------------------------------------------------------| 9 | (MSB) | - - -|- - Starting Cylinder- Reduced Write Current - -| 11 | (LSB) | -----|-----------------------------------------------------------------------| 12 | (MSB) | -----|--- Drive Step Rate ---| 13 | (LSB) | -----|-----------------------------------------------------------------------| 14 | (MSB) | - - -|- - Landing Zone Cylinder - -| 16 | (LSB) | -----|-----------------------------------------------------------------------| 17 | Reserved | RPL | -----|-----------------------------------------------------------------------| 18 | Rotational Offset | -----|-----------------------------------------------------------------------| 19 | Reserved | ============================================================================== IMPLEMENTORS NOTE: This page is intended to define drive geometry parameters of rigid disk drives. It may be used for other devices if applicable. The Number of Cylinders field defines the number of physical cylinders used for data storage. The Number of Heads field defines the physical number of heads used for data storage. Heads used for servo information are excluded. The Starting Cylinder for Write Precompensation field is the physical cylinder at which write precompensation is to begin. The first cylinder is number zero. If the starting cylinder for write precompensation is equal to the value in the number of cylinders field, write precompensation shall be disabled by the target. The Starting Cylinder for Reduced Write Current field is the physical cylinder at which write current is reduced. The first cylinder is number zero. If the starting cylinder for reduced write current is equal to the value in the number of cylinders field, reduced write current shall be disabled by the target. The Drive Step Rate field indicates the step rate in 100 nanoseconds increments. The target shall use the lowest step rate, greater than or equal to the step rate required, that it is capable of. If the target rounds this field it shall terminate the command as described in section 6._._. A value of zero requests the target to set its default value. The Landing Zone Cylinder field indicates two's complement location where the target shall park the disk heads. A negative number indicates that the heads are parked below cylinder zero by that number of cylinders. A positive value greater than the number of cylinders indicates that the heads are parked beyond the cylinders used for data storage at the cylinder location specified. The RPL (Rotational Position Locking) field is used for controlling spindle synchronization. RPL of 00b indicates that no spindle synchronization is enabled. The target shall not transmit or receive the SLAVE SYNC signal, nor shall the target transmit the MASTER SYNC siganl. RPL of 01b indicates that the target shall not generate or transmit the MASTER SYNC signal. The target shall be responsible to synchronize its index to the SLAVE SYNC signal (i.e. the target is a slave). RPL of 10b indicates the target shall generate and transmit the SLAVE SYNC signal. The Target shall not transmit the MASTER SYNC signal. (i.e. the target is a master) RPL of 11b indicates that the target shall generate and transmit the MASTER SYNC signal. The target shall not transmit the SLAVE SYNC signal. IMPLEMENTORS NOTE: The MASTER SYNC signal is used by external circuitry (e.g. SCSI Host Adapter) to generate and transmit the SLAVE SYNC signal to the slaves. In the event that a slave detects the absence of a valid SLAVE SYNC signal, it shall operate independently in an unsynchronized mode. When a target has been configured as a slave, and the target is not yet synchronized, the target shall not post a CHECK CONDITION, but shall provide a sense code of [to be chosen by the editors] on the HARDWARE ERROR sense key. When the target changes from an unsynchronized state to a synchronized state, the target shall generate a CHECK CONDITION status and set the sense key to UNIT ATTENTION with a sense code of [to be chosen by the editors], or generate an Asyncronous Event Notification. [Question Do we want both UA and AEN?] When the target has reported synchronization, and then becomes unsynchronized, the target shall generate a CHECK CONDITION status and set the sense key to [choice of UNIT ATTENTION or RECOVERABLE ERROR to be decided] with a sense code of [to be chosen by the editors], or generate an Asyncronous Event Notification. [Question Do we want both UA and AEN?] The Rotational Offset field indicates the amount of rotational skew that the slave shall apply in synchronizing to the SLAVE SYNC signal. The value in this field represents the numerator of a fractional multiplier that has 256 as its denominator e.g.a value of zero indicates that no rotational offset shall be applied, and a value of 128 indicates one-half of a revolution. The target may round this value as described in section 6._._. When acting as master, the target shall disregard this field.