ra - MSCP disk interface
For XMI/KDM (only for the DEC 7000):
For XMI/CI/HSC (only for the DEC 7000):
For ra devices dual ported between two controllers:
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.
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.
disklabel(8), MAKEDEV(8), uerf(8) delim off