ra(7) — Special Files
Digital
NAME
ra − MSCP disk interface
SYNOPSIS
For UNIBUS, Q-bus:
controller uda0 at uba?
controller uq0 at uda0 csr 0172150 vector uqintr
disk ra0 at uq0 drive 0
For MSI Bus:
adapter msi0 at nexus?
controller dssc0 at msi0 msinode 0
disk ra0 at dssc0 drive 3
For CI/HSC:
adapter ci0 at nexus?
adapter ci0 at vaxbi? node?
controller hsc0 at ci0 cinode 6
disk ra0 at hsc0 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 type disk. 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, while 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, to represent the partition. Throughout 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 ra0b, ra1b, and so on.
The following examples illustrate how the logical unit number is calculated given 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 low 3 bits of the number 384. The low 3 bits will be 0 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 gives the number 2, which is the c partition. The upper 14 bits of the minor number gives 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 which allows for 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. For this reason, in raw I/O, counts should be multiples of 512 bytes (a disk sector). In the same way, 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 may be connected to an MSCP-based controller. Consult the DEC OSF/1 Software Product Description to determine which controllers are supported for which 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 disklabel(.). For further information, see dkio(.).
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?a040960
ra?b40960122880
ra?c01367310
ra?d778240204800
ra?e983040204800
ra?f1187840179470
ra?g163840614400
ra?h778240589070
RA72 partitions
diskstartlength
ra?a040960
ra?b40960182272
ra?c01953300
ra?d1144832299008
ra?e1443840299008
ra?f1742848210452
ra?g223232921600
ra?h1144832808468
RA80 partitions
diskstartlength
ra?a040960
ra?b4096041968
ra?c0237212
ra?d8292851428
ra?e13435651428
ra?f18578451428
ra?g82928154284
ra?h00
RA81 partitions
diskstartlength
ra?a040960
ra?b4096058498
ra?c0891072
ra?d259458210538
ra?e469996210538
ra?f680534210538
ra?g99458160000
ra?h259458631614
RA82 partitions
diskstartlength
ra?a040960
ra?b4096058498
ra?c01216665
ra?d99458220096
ra?e319554219735
ra?f539289437760
ra?g99458877591
ra?h977049239616
RA90 partitions
diskstartlength
ra?a040960
ra?b40960118880
ra?c02376153
ra?d159840420197
ra?e580037420197
ra?f1000234840393
ra?g1598401680787
ra?h1840627535526
RA92 partitions
disk start length
ra?a 0 40960
ra?b 40960118880
ra?c 0 2940951
ra?d 159840 420197
ra?e 580037 420197
ra?f 1000234 840393
ra?g 159840 1680787
ra?h 1840627 1100324
RF30 partitions
diskstartlength
ra?a040960
ra?b4096041968
ra?c0293040
ra?d82928130938
ra?e21386679173
ra?f00
ra?g82928210112
ra?h00
RF31 partitions
diskstartlength
ra?a040960
ra?b40960122880
ra?c0744400
ra?d0163840
ra?e0471040
ra?f471040273360
ra?g163840580560
ra?h00
RF71 partitions
diskstartlength
ra?a040960
ra?b40960122880
ra?c0781440
ra?d0163840
ra?e0471040
ra?f471040310400
ra?g163840617600
ra?h00
RF72 partitions
disk start length
ra?a040960
ra?b40960182416
ra?c01954050
ra?d1144976300708
ra?e1445684300708
ra?f1746392207658
ra?g223376921600
ra?h1144976809074
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, the ra?b partition as a paging area. The ra?c partition for pack to pack copying because it maps the entire disk.
FILES
/dev/ra???
/dev/rra???