There are two ways to format disk packs. The simplest is to use the
format program. The alternative is to use the DEC standard formatting software which operates under the DEC diagnostic supervisor. This manual page describes the operation of
format, then concludes with some remarks about using the DEC formatter.
format is a standalone program used to format and check disks prior to constructing file systems. In addition to the formatting operation,
format records any bad sectors encountered according to DEC standard 144. Formatting is performed one track at a time by writing the appropriate headers and a test pattern and then checking the sector by reading and verifying the pattern, using the controller's ECC for error detection. A sector is marked bad if an unrecoverable media error is detected, or if a correctable ECC error too many bits in length is detected (such errors are indicated as “ECC” in the summary printed upon completing the format operation). After the entire disk has been formatted and checked, the total number of errors are reported, any bad sectors and skip sectors are marked, and a bad sector forwarding table is written to the disk in the first five even numbered sectors of the last track. It is also possible to reformat sections of the disk in units of tracks.
format may be used on any UNIBUS or MASSBUS drive supported by the
up and
hp device drivers which uses 4-byte headers (everything except RP's).
The test pattern used during the media check may be selected from one of: 0xf00f (RH750 worst case), 0xec6d (media worst case), and 0xa5a5 (alternating 1's and 0's). Normally the media worst case pattern is used.
format also has an option to perform an extended “severe burn-in”, which makes a number of passes using different patterns. The number of passes can be selected at run time, up to a maximum of 48, with provision for additional passes or termination after the preselected number of passes. This test runs for many hours, depending on the disk and processor.
Each time
format is run to format an entire disk, a completely new bad sector table is generated based on errors encountered while formatting. The device driver, however, will always attempt to read any existing bad sector table when the device is first opened. Thus, if a disk pack has never previously been formatted, or has been formatted with different sectoring, five error messages will be printed when the driver attempts to read the bad sector table; these diagnostics should be ignored.
Formatting a 400 megabyte disk on a MASSBUS disk controller usually takes about 20 minutes. Formatting on a UNIBUS disk controller takes significantly longer. For every hundredth cylinder formatted
format prints a message indicating the current cylinder being formatted. (This message is just to reassure people that nothing is amiss.)
format uses the standard notation of the standalone I/O library in identifying a drive to be formatted. A drive is specified as
zz(x,y), where
zz refers to the controller type (either
hp or
up),
x is the unit number of the drive; 8 times the UNIBUS or MASSBUS adaptor number plus the MASSBUS drive number or UNIBUS drive unit number; and
y is the file system partition on drive
x (this should always be 0). For example, “hp(1,0)” indicates that drive 1 on MASSBUS adaptor 0 should be formatted; while “up(10,0)” indicates that UNIBUS drive 2 on UNIBUS adaptor 1 should be formatted.
Before each formatting attempt,
format prompts the user in case debugging should be enabled in the appropriate device driver. A carriage return disables debugging information.
format should be used prior to building file systems (with
newfs(8) to ensure that all sectors with uncorrectable media errors are remapped. If a drive develops uncorrectable defects after formatting, either
bad144(8) or
badsect(8) should be able to avoid the bad sectors.