ra(7) — Special Files
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 DIGITAL 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 number and the disk partition.
•A disk partition refers to a designated portion of the physical disk.
•To refer to both the logical unit number 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 represent 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 determine 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
diskstartlength
ra?a040960
ra?b4096041968
ra?c0400176
ra?d24292852416
ra?e29534452416
ra?f34776052416
ra?g82928160000
ra?h242928157248
RA70 partitions
diskstartlength
ra?a040960
ra?b40960122880
ra?c0547041
ra?d0163840
ra?e0471040
ra?f47104076001
ra?g163840383201
RA71 partitions
diskstartlength
ra?a0131072
ra?b131072262144
ra?c01367310
ra?d393216324698
ra?e717914324698
ra?f1042612324698
ra?g393216819200
ra?h1212416154894
RA72 partitions
diskstartlength
ra?a0131072
ra?b131072262144
ra?c01953300
ra?d393216520028
ra?e913244520028
ra?f1433272520028
ra?g393216819200
ra?h1212416740884
RA73 partitions
diskstartlength
ra?a0131072
ra?b131072262144
ra?c03920490
ra?d3932161175552
ra?e15687681175552
ra?f27443201176170
ra?g393216819200
ra?h12124162708074
RA80 partitions
diskstartlength
ra?a040960
ra?b4096041968
ra?c0237212
ra?d8292851428
ra?e13435651428
ra?f18578451428
ra?g82928154284
ra?h00
RA81 partitions:
diskstartlength
ra?a081920
ra?b81920262144
ra?c0891072
ra?d344064182336
ra?e526400182336
ra?f708736182336
ra?g344064547008
ra?h00
RA82 partitions
diskstartlength
ra?a0131072
ra?b131072262144
ra?c01216665
ra?d393216274483
ra?e667699274483
ra?f942182274483
ra?g393216823449
ra?h00
RA90 partitions
diskstartlength
ra?a0131072
ra?b131072262144
ra?c02376153
ra?d393216660979
ra?e1054195660979
ra?f1715174660979
ra?g393216819200
ra?h12124161163737
RA92 partitions
disk start length
ra?a0131072
ra?b131072262144
ra?c 0 2940951
ra?d393216660979
ra?e1054195660979
ra?f17151741225777
ra?g393216819200
ra?h12124161728535
ESE20 partitions
diskstartlength
ra?a040960
ra?b4096042160
ra?c0245757
ra?d8292881416
ra?e16434481413
ra?f00
ra?g82928162829
ra?h00
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???