SM(4) — Unix Programmer’s Manual
NAME
sm − SMD disk interface
SYNOPSIS
SM0 at shortio 0x0/00 vector 0x56
DESCRIPTION
Sm is the disk interface for Interphase SMD Disk Controller on VME-based systems.
When one physical drive is formatted as one logical drive (standard formatting), the (block) device names begin with sm followed by the drive number and a letter a-h for partitions 0-7 respectively. For example, sm0a refers to the first partition on drive 0; sm1a to the first partition on drive two. When one physical drive is optionally formatted as two logical drives, the device names begin with sm followed by the the volume number and a letter a-h for partitions 0-7 respectively. Thus, sm0a is the first partition on physical drive 0, volume 0; sm1a is the first partition on physical drive 0, volume 0; sm2a is the first partition on physical drive 1, volume one and so on.
The sm?a partition is normally used for the root filesystem, the sm?b partition as a paging area, and the sm?c partition maps the entire disk. On disks larger than about 205 Megabytes, the sm?h partition is inserted prior to the sm?d or sm?g partition;
Refer to the /etc/disktab file for a definition of the geometries of the supported disk drives. All disk partition tables are calculated using the diskpart(8)
The block files access the disk via the system’s normal buffering mechanism and can be read and written without regard to physical disk records. There is also a raw interface which provides for direct transmission between the disk and the user’s read or write buffer. A single read or write call results in exactly one I/O operation and therefore raw I/O is considerably more efficient when many words are transmitted. The names of the raw files are prefixed with an r, as in rsm0a.
In raw I/O counts should be a multiple of 512 bytes (a disk sector). Likewise seek calls should specify a multiple of 512 bytes.
DISK SUPPORT
This driver handles the Interphase VME SMD controller. The SMD drives supported include those that have transfer rates at 1.8 and 2.4 Mbytes per second. Refer to the /etc/disktab file for a listing of the currently supported drives.
FILES
/dev/sm[0-7][a-h]block files
/dev/rsm[0-7][a-h]raw files
SEE ALSO
DIAGNOSTICS
sm%d%c: sm%d HARD (READ/WRITE) %x. An unrecoverable error occurred during transfer of the specified sector of the specified disk partition. The type of operation and the hexadecimal error code are displayed.
sm%d%c: sm%d SOFT(READ/WRITE) %x. A recoverable error occurred on the specified sector of the specified disk partition. The type of operation, error code and number of retries are displayed. The recovery involves retrying, reseeking, and applying ECC to correct the problem. If it happens frequently, the sectors where the errors are occurring should be mapped out.
BUGS
In raw I/O read and write(2) truncate file offsets to 512-byte block boundaries, and write scribbles on the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, read, write and lseek(2) should always deal in 512-byte multiples.
A program to analyze the logged error information (even in its present reduced form) is needed.
4(I) BSD — 1 August 1985