Devices sd(7D) NAME sd - SCSI disk and ATAPI/SCSI CD-ROM device driver SYNOPSIS sd@target,lun:partition DESCRIPTION SPARC The sd SCSI and SCSI/ATAPI driver supports embedded SCSI-2 and CCS-compatible SCSI disk and CD-ROM drives, ATAPI 2.6 (SFF-8020i)-compliant CD-ROM drives, SFF-8090-compliant SCSI/ATAPI DVD-ROM drives, IOMEGA SCSI/ATAPI ZIP drives, and SCSI JAZ drives. The sd driver also supports the Emulex MD21 disk controller for ESDI drives, although support for the MD21 controller may be phased out in subsequent releases. To determine the disk drive type, use the SCSI/ATAPI inquiry command and read the volume label stored on block 0 of the drive. (The volume label describes the disk geometry and partitioning and must be present for the disk to be mounted by the system.) A volume label is not required for remov- able, rewritable or read-only media. IA Only The sd driver supports embedded SCSI-2 and CCS-compatible SCSI disk and CD-ROM drives, ATAPI 2.6 (SFF-8020i)-compliant CD-ROM drives, SFF-8090-compliant SCSI/ATAPI DVD-ROM drives, IOMEGA SCSI/ATAPI ZIP drives, and SCSI JAZ drives. The IA BIOS legacy requires a master boot record (MBR) and fdisk table in the first physical sector of the bootable media. If the IA hard disk contains a Solaris disk label, it is located in the second 512-byte sector of the FDISK partition. DEVICE SPECIAL FILES Block-files access the disk using normal buffering mechanism and are read-from and written-to without regard to physical disk records. A "raw" interface enables direct transmission between the disk and the user's read or write buffer. A sin- gle read or write call usually results in a single I/O operation; raw I/O is therefore more efficient when many bytes are transmitted. Block files names are found in /dev/dsk; raw file names are found in /dev/rdsk. I/O requests to the raw device must be aligned on a 512-byte (DEV_BSIZE) boundary and all I/O request lengths must be in multiples of 512 bytes. Requests that do not meet these requirements will trigger an EINVAL error. There are no alignment or length restrictions on I/O requests to the block device. SunOS 5.8 Last change: 21 Feb 2001 1 Devices sd(7D) CD-ROM DRIVE SUPPORT A CD-ROM disk is single-sided and contains approximately 640 megabytes of data or 74 minutes of audio. When the CD-ROM is opened, the eject button is disabled to prevent manual remo- val of the disk until the last close() is called. No volume label is required for a CD-ROM. The disk geometry and par- titioning information are constant and never change. If the CD-ROM contains data recorded in a Solaris-aware file system format, it can be mounted using the appropriate Solaris file system support. DVD-ROM DRIVE SUPPORT DVD-ROM media can be single or double-sided and can be recorded upon using a single or double layer structure. Double-layer media provides parallel or opposite track paths. A DVD-ROM can hold from between 4.5 Gbytes and 17 Gbytes of data, depending on the layer structure used for recording and if the DVD-ROM is single or double-sided. When the DVD-ROM is opened, the eject button is disabled to prevent the manual removal of a disk until the last close() is called. No volume label is required for a DVD-ROM. If the DVD-ROM contains data recorded in a Solaris-aware file sys- tem format, it can be mounted using the appropriate Solaris file system support. ZIP/JAZ DRIVE SUPPORT ZIP/JAZ media provide varied data capacity points; a single JAZ drive can store up to 2 GBytes of data, while a ZIP-250 can store up to 250MBytes of data. ZIP/JAZ drives can be read-from or written-to using the appropriate drive. When a ZIP/JAZ drive is opened, the eject button is disabled to prevent the manual removal of a disk until the last close() is called. No volume label is required for a ZIP/JAZ drive. If the ZIP/JAZ drive contains data recorded in a Solaris-aware file system format, it can be mounted using the appropriate Solaris file system support. DEVICE STATISTICS SUPPORT Each device maintains I/O statistics for the device and for partitions allocated for that device. For each device/partition, the driver accumulates reads, writes, bytes read, and bytes written. The driver also initiates hi-resolution time stamps at queue entry and exit points to enable monitoring of residence time and cumulative residence-length product for each queue. Not all device drivers make per-partition IO statistics available for reporting. sd and ssd(7D) per-partition statistics are enabled by default but may disabled in their configuration files. SunOS 5.8 Last change: 21 Feb 2001 2 Devices sd(7D) IOCTLS Refer to dkio(7I), and cdio(7I) ERRORS EACCES Permission denied EBUSY The partition was opened exclusively by another thread EFAULT The argument features a bad address EINVAL Invalid argument. EIO. An I/O error occurred. Refer to notes for details on copy -protected DVD-ROM media ENOTTY The device does not support the requested ioctl function ENXIO During opening, the device did not exist. During close, the drive unlock failed EROFS The device is read-only CONFIGURATION The sd driver can be configured by defining properties in the sd.conf file. The sd driver supports the following pro- perties: enable-partition-kstats The default value is 1, which causes partition IO statistics to be maintained. Set this value to zero to prevent the driver from recording partition statis- tics. This slightly reduces the CPU overhead for IO, mimimizes the amount of sar(1) data collected and makes these statistics unavailable for reporting by iostat(1M) even though the -p/-P option is specified. Regardless of this setting, disk IO statistics are always maintained. qfull-retries The supplied value is passed as the qfull-retries capability value of the HBA driver. See scsi_ifsetcap(9F) for details. qfull-retry-interval The supplied value is passed as the qfull-retry inter- val capability value of the HBA driver. See SunOS 5.8 Last change: 21 Feb 2001 3 Devices sd(7D) scsi_ifsetcap(9F) for details. allow-bus-device-reset The default value is 1, which allows resetting to occur. Set this value to 0 (zero) to prevent the sd driver from calling scsi_reset(9F) with a second argument of RESET_TARGET when in error-recovery mode. This scsi_reset(9F) call may prompt the HBA driver to send a SCSI Bus Device Reset message. The scsi_reset(9F) call with a second argument of RESET_TARGET may result from an explicit request via the USCSICMD ioctl. Some high-availability multi- initiator systems may wish to prohibit the Bus Device Reset message; to do this, set the allow-bus-device- reset property to 0. FILES sd.conf driver configuration file /dev/dsk/cntndnsn block files /dev/rdsk/cntndnsn raw files Where: cn controller n tn SCSI target id n (0-6) dn SCSI LUN n (0-7 normally; some HBAs support LUNs to 15 or 32. See the specific manpage for details) sn partition n (0-7) IA Only /dev/rdsk/cntndnpn raw files Where: pn Where _n=0 the node corresponds to the entire disk. SEE ALSO sar(1), fdisk(1M),format(1M), iostat(1M), close(2),ioctl(2), lseek(2), read(2), write(2), driver.conf(4),scsi(4), filesystem(5), pcfs(7FS), hsfs(7FS), cdio(7I), dkio(7I),scsi_ifsetcap(9F), scsi_reset(9F) SunOS 5.8 Last change: 21 Feb 2001 4 Devices sd(7D) _A_N_S_I _S_m_a_l_l _C_o_m_p_u_t_e_r _S_y_s_t_e_m _I_n_t_e_r_f_a_c_e-_2 (_S_C_S_I-_2) _E_m_u_l_e_x _M_D_2_1 _D_i_s_k _C_o_n_t_r_o_l_l_e_r _P_r_o_g_r_a_m_m_e_r _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l _A_T_A _P_a_c_k_e_t _I_n_t_e_r_f_a_c_e _f_o_r _C_D-_R_O_M_s, _S_F_F-_8_0_2_0_i _M_t._F_u_j_i _C_o_m_m_a_n_d_s _f_o_r _C_D _a_n_d _D_V_D, _S_F_F_8_0_9_0_v_3 DIAGNOSTICS Error for Command:'<_c_o_m_m_a_n_d _n_a_m_e>' Error Level: Fatal Requested Block: <_n> Error Block: <_m> Vendor:'<_v_e_n_d_o_r_n_a_m_e>' Serial Number:'<_s_e_r_i_a_l _n_u_m_b_e_r>' Sense Key:<_s_e_n_s_e _k_e_y _n_a_m_e> ASC: 0x (), ASCQ: 0x, FRU: 0x The command indicated by failed. The Requested Block is the block where the transfer started and the Error Block is the block that caused the error. Sense Key, ASC, and ASCQ information is returned by the target in response to a request sense command. Caddy not inserted in drive The drive is not ready because no caddy has been inserted. Check Condition on REQUEST SENSE A REQUEST SENSE command completed with a check condition. The original command will be retried a number of times. Label says blocks Drive says blocks There is a discrepancy between the label and what the drive returned on the READ CAPACITY command. Not enough sense information The request sense data was less than expected. Request Sense couldn't get sense data The REQUEST SENSE command did not transfer any data. Reservation Conflict The drive was reserved by another initiator. SunOS 5.8 Last change: 21 Feb 2001 5 Devices sd(7D) SCSI transport failed: reason 'xxxx': {retrying|giving up} The host adapter has failed to transport a command to the target for the reason stated. The driver will either retry the command or, ultimately, give up. Unhandled Sense Key<_n> The REQUEST SENSE data included an invalid sense. Unit not ready. Additional sense code 0x <_n> The drive is not ready. Can't do switch back to mode 1 A failure to switch back to read mode 1. Corrupt label - bad geometry The disk label is corrupted. Corrupt label - label checksum failed The disk label is corrupted. Corrupt label - wrong magic number The disk label is corrupted. Device busy too long The drive returned busy during a number of retries. Disk not responding to selection The drive was probably powered down or died Failed to handle UA A retry on a Unit Attention condition failed. I/O to invalid geometry The geometry of the drive could not be established. Incomplete read/write - retrying/giving up There was a residue after the command completed normally. No bp for direct access device format geometry SunOS 5.8 Last change: 21 Feb 2001 6 Devices sd(7D) A bp with consistent memory could not be allocated. No bp for disk label A bp with consistent memory could not be allocated. No bp for fdisk A bp with consistent memory could not be allocated. No bp for rigid disk geometry A bp with consistent memory could not be allocated. No mem for property Free memory pool exhausted. No memory for direct access device format geometry Free memory pool exhausted. No memory for disk label Free memory pool exhausted. No memory for rigid disk geometry The disk label is corrupted. No resources for dumping A packet could not be allocated during dumping. Offline Drive went offline; probably powered down. Requeue of command fails Driver attempted to retry a command and experienced a tran- sport error. sdrestart transport failed() Driver attempted to retry a command and experienced a tran- sport error. Transfer length not modulo Illegal request size. SunOS 5.8 Last change: 21 Feb 2001 7 Devices sd(7D) Transport of request sense fails() Driver attempted to submit a request sense command and failed. Transport rejected() Host adapter driver was unable to accept a command. Unable to read label Failure to read disk label. Unit does not respond to selection Drive went offline; probably powered down. NOTES DVD-ROM media containing DVD-Video data may follow/adhere to the requirements of content scrambling system or copy pro- tection scheme. Reading of copy-protected sector will cause I/O error. Users are advised to use the appropriate playback software to view video contents on DVD-ROM media containing DVD-Video data. SunOS 5.8 Last change: 21 Feb 2001 8