April 25, 1988 X3T9.2/88-042 Rev. 0 To: X3T9.2 Membership From: Dan Davies, Cipher Subj: Sequential Access Device Initialization Procedure The attached proposal completes an action item I received at the March Working Group to provide a sequential access device initialization procedure for inclusion in the appendix. Sequential Access Device Initialization Procedure The initialization process for a Sequential Access Device may be divided into two independent activities. The first activity establishes all required initial parameters and operating conditions for the identified devices. The second activity performs any required media initialization for the available logical units. General Sequential Access Device Initialization A general sequential access device initialization procedure is defined below. The initialization procedure must be executed for each attached logical unit that has been identified as a sequential access device during execution of the previous INQUIRY command. Execution of these steps may be overlapped from one logical unit to another. If the host is supporting only a limited range of devices, many of these steps and operations may be skippped or simplified. Verify Ready: The state of the device as determined by the Verify State operation is examined. If the step indicates that the device is failing, the initialization is not performed and appropriate error indications are presented. Start Device: A LOAD/UNLOAD command is executed with the load bit set to cause the peripheral device to load the media to the beginning-of-medium position. If GOOD status is returned, the next step is executed. If CHECK CONDITION status is returned, a REQUEST SENSE command is executed to determine what error condition was detected. If an ILLEGAL REQUEST sense key is indicated, the LOAD command is not supported for this device and the next step is executed. If any other error is detected, the device initialization process is terminated and the appropriate error indications are presented. Verify Ready / Loaded: If necessary, a Verify State test is performed. If the device and medium is ready, the next step is executed. If a NOT READY sense key is reported, manually loading the medium or activating a switch mechanism may be required to establish the ready state for the device. If any other error is detected, the device initialization process is terminated and the appropriate error indications are presented. Determine Parameters: A READ BLOCK LIMITS command is issued to determine the range of block sizes supported by the device. Following this operation, a MODE SENSE command is executed to determine additional operating parameters of the device. If the ANSI-Approved Version field of the previously executed INQUIRY command is 0 or 1, any MODE SENSE data following the header and block descriptor is vendor unique. If the ANSI-Approved Version field is 2, additional pages of MODE SENSE data may be available as defined in the SCSI-2 document. In this case, the MODE SENSE command is executed with the page code set to request all pages. If any unrecoverable errors are detected during execution of the READ BLOCK LIMITS or MODE SENSE commands, the device initialization process is terminated and the appropriate error indications are presented. Set Parameters: Specific system requirements may require that certain operating parameters be changed from the values reported in the previously executed MODE SENSE command. If changes are required, a MODE SELECT command is executed to modify the appropriate parameters. This may include error recovery parameters, performance tuning parameters, or other basic operating parameters. If any unrecoverable errors are detected during this step, the device initialization process is terminated and the appropriate error indications are presented. If no errors are detected or no changes are required, the general sequential access device initialization procedure is complete. Sequential Access Device Media Initialization Procedure A media initialization procedure for sequential access devices is defined below. This is not part of normal system initialization and is assumed to follow successful completion of the general device initialization procedure. Determine Format Requirement: The requirement for the system to select the recording format normally occurs if the application requires a specific format for data interchange or a specific storage capacity for archival volumes. The requirement for the system to identify the recorded format when reading normally occurs if an application specific format has been utilized or if the logical unit is incapable of recognizing any format automatically. If no explicit format requirements exist, this procedure may be skipped. Determine Format Parameters: All information concerning the format capabilities for the logical unit is determined by execution of the READ BLOCK LIMITS and MODE SENSE commands during general device initialization. This information includes supported block sizes, densities, and other data storage parameters. If changes are required, a MODE SELECT command is performed to modify the appropriate values. If any unrecoverable errors are detected during this step, the media initialization process is terminated and the appropriate error indications are presented. If no errors occur or if no changes are required, the media initialization procedure is complete. Following completion of the initialization process for each logical unit, normal system activities may commence. Other system initialization operations may also be required, such as creation of volume labels and directories.