ra(7) Miscellaneous Information Manual ra(7)
NAME
ra - MSCP disk interface
SYNOPSIS
For XMI/KDM (only for the DEC 7000):
bus xmi0 at iop0 vector xmierror
controller uq0 at xmi? port kdm vector uqintr
device disk ra4 at uq0 drive 4
For XMI/CI/HSC (only for the DEC 7000):
bus xmi0 at iop0 vector xmierror
bus ci0 at xmi? port np vector cimna_isr
controller hsc6 at ci0 cinode 6
device disk ra1 at hsc6 drive 1
For ra devices dual ported between two controllers:
device disk ra3 at * drive 3
DESCRIPTION
This is a driver for all MSCP disk controllers. All controllers communicate with the host through a packet-oriented protocol termed the
Mass Storage Control Protocol (MSCP).
The following rules are used to determine the major and minor numbers that are associated with an ra disk type: There are two major numbers
for an ra type disk, major number 23 and major number 28. Major number 23 specifies an ra block device, and major number 28 specifies the
ra character device file. Each major number represents up to 255 disks. The minor number is used to represent both the logical unit num-
ber and the disk partition. A disk partition refers to a designated portion of the physical disk. To refer to both the logical unit num-
ber and the disk partition, the 20-bit minor number is broken up into two parts. The low three bits (bits 0-2) allow for the naming of
eight partitions. The partitions are named a, b, c, d, e, f, g, and h. The upper fourteen bits of the minor number specify the logical
unit number. The maximum logical unit number supported is 255, with the rest of the logical unit number field reserved for future use.
The device special file names associated with ra disks are based on the following conventions, which are closely associated with the minor
number assigned to the disk: The standard device names begin with ra for the block special file, and rra for the raw (character) special
file. Following the ra is the logical unit number and then a letter, a through h, which specifies the partition. In this reference page,
the question mark (?) character represents the logical unit number in the name of the device special file. For example ra?b could repre-
sent devices ra0b, ra1b, and so on.
The following examples show how the logical unit number is calculated from the major and minor number of an ra disk.
For the device special file rra6a, the major number is 28 and the minor number is 384. The partition is represented by the lower 3 bits of
the number 384. The lower 3 bits will be 0 (zero), which specifies the a partition. The upper 14 bits of 384 specifies the number 6. The
major number is 28. Putting all these pieces together reveals that the major/minor pair 28/384 refers to the a partition of logical unit
6.
Similarly, the following example determines the logical unit number corresponding to the major/minor pair 28/386. The low 3 bits of the
minor number specifies the number 2, which is the c partition. The upper 14 bits of the minor number specifies the number 6. The major
number is 28. Therefore, the major/minor pair 28/386 refers to the c partition of logical unit number 6 or rra6c.
The disk can be accessed through either the block special file or the character special file. The block special file accesses the disk
using the file system's normal buffering mechanism. Reads and writes to the block special file can specify any size. This avoids the need
to limit data transfers to the size of physical disk records and to calculate offsets within disk records. The file system may break up
large read and write requests into smaller fixed size transfers to the disk.
The character special file provides a raw interface that enables direct transmission between the disk and the user's read or write buffer.
In contrast to the block special file, reads and writes to the raw interface must be done on full sectors only. Because of this, in raw
I/O, counts should be multiples of 512 bytes (a disk sector). In addition, seek calls should specify a multiple of 512 bytes. A single
read or write to the raw interface results in exactly one I/O operation; consequently, raw I/O may be considerably more efficient for large
transfers.
Disk Support
This driver handles all disk drives that can be connected to an MSCP-based controller. Consult the Software Product Description to deter-
mine which controllers are supported for specific CPU types and hardware configurations.
The starting location and length (in 512-byte sectors) of the disk partitions of each drive are shown in the following table. Partition
sizes can be changed by the disklabel command.
RA60 partitions
disk start length
ra?a 0 40960
ra?b 40960 41968
ra?c 0 400176
ra?d 242928 52416
ra?e 295344 52416
ra?f 347760 52416
ra?g 82928 160000
ra?h 242928 157248
RA70 partitions
disk start length
ra?a 0 40960
ra?b 40960 122880
ra?c 0 547041
ra?d 0 163840
ra?e 0 471040
ra?f 471040 76001
ra?g 163840 383201
RA71 partitions
disk start length
ra?a 0 131072
ra?b 131072 262144
ra?c 0 1367310
ra?d 393216 324698
ra?e 717914 324698
ra?f 1042612 324698
ra?g 393216 819200
ra?h 1212416 154894
RA72 partitions
disk start length
ra?a 0 131072
ra?b 131072 262144
ra?c 0 1953300
ra?d 393216 520028
ra?e 913244 520028
ra?f 1433272 520028
ra?g 393216 819200
ra?h 1212416 740884
RA73 partitions
disk start length
ra?a 0 131072
ra?b 131072 262144
ra?c 0 3920490
ra?d 393216 1175552
ra?e 1568768 1175552
ra?f 2744320 1176170
ra?g 393216 819200
ra?h 1212416 2708074
RA80 partitions
disk start length
ra?a 0 40960
ra?b 40960 41968
ra?c 0 237212
ra?d 82928 51428
ra?e 134356 51428
ra?f 185784 51428
ra?g 82928 154284
ra?h 0 0
RA81 partitions:
disk start length
ra?a 0 81920
ra?b 81920 262144
ra?c 0 891072
ra?d 344064 182336
ra?e 526400 182336
ra?f 708736 182336
ra?g 344064 547008
ra?h 0 0
RA82 partitions
disk start length
ra?a 0 131072
ra?b 131072 262144
ra?c 0 1216665
ra?d 393216 274483
ra?e 667699 274483
ra?f 942182 274483
ra?g 393216 823449
ra?h 0 0
RA90 partitions
disk start length
ra?a 0 131072
ra?b 131072 262144
ra?c 0 2376153
ra?d 393216 660979
ra?e 1054195 660979
ra?f 1715174 660979
ra?g 393216 819200
ra?h 1212416 1163737
RA92 partitions
disk start length
ra?a 0 131072
ra?b 131072 262144
ra?c 0 2940951
ra?d 393216 660979
ra?e 1054195 660979
ra?f 1715174 1225777
ra?g 393216 819200
ra?h 1212416 1728535
ESE20 partitions
disk start length
ra?a 0 40960
ra?b 40960 42160
ra?c 0 245757
ra?d 82928 81416
ra?e 164344 81413
ra?f 0 0
ra?g 82928 162829
ra?h 0 0
Usually the ra?a partition is used for the root file system, and the ra?b partition is used as a paging area. The ra?c partition is used
for pack to pack copying because it maps the entire disk.
FILES
/dev/ra???
/dev/rra???
RELATED INFORMATION
disklabel(8), MAKEDEV(8), uerf(8) delim off
ra(7)