format - how to format disk packs
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 stand-alone 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(4) and hp(4) device
drivers which
uses 4-byte headers (everything except RPs).
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 stand-alone 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.
A sample run of format is shown below. In this example (using a
VAX-11/780), format is loaded from the console floppy; on an
11/750,
format will be loaded from the root file system with boot(8)
following a
B/3 command. Boldface means user input. As usual, ``#''
and ``@'' may
be used to edit input.
>>>L FORMAT
LOAD DONE, 00004400 BYTES LOADED
>>>S 2
Disk format/check utility
Enable debugging (0=none, 1=bse, 2=ecc, 3=bse+ecc)? 0
Device to format? hp(8,0)
(error messages may occur as old bad sector table is
read)
Formatting drive hp0 on adaptor 1: verify (yes/no)?
yes
Device data: #cylinders=842, #tracks=20, #sectors=48
Starting cylinder (0):
Starting track (0):
Ending cylinder (841):
Ending track (19):
Available test patterns are:
1 - (f00f) RH750 worst case
2 - (ec6d) media worst case
3 - (a5a5) alternating 1's and 0's
4 - (ffff) Severe burnin (up to 48 passes)
Pattern (one of the above, other to restart)? 2
Maximum number of bit errors to allow for soft ECC
(3):
Start formatting...make sure the drive is online
...
(soft ecc's and other errors are reported as they
occur)
...
(if 4 write check errors were found, the program
terminates like this...)
...
Errors:
Bad sector: 0
Write check: 4
Hard ECC: 0
Other hard: 0
Marked bad: 0
Skipped: 0
Total of 4 hard errors revectored.
Writing bad sector table at block 808272
(808272 is the block # of the first block in the bad
sector table)
Done
(...program restarts to allow formatting other disks)
(...to abort halt machine with ^P)
The diagnostics are intended to be self explanatory.
USING DEC SOFTWARE TO FORMAT [Toc] [Back] Warning: These instructions are for people with 11/780 CPUs.
The steps
needed for 11/750 or 11/730 CPUs are similar, but not covered in detail
here.
The formatting procedures are different for each type of
disk. Listed
here are the formatting procedures for RK07's, RP0X, and
RM0X disks.
You should shut down UNIX and halt the machine to do any
disk formatting.
Make certain you put in the pack you want formatted. It is
also a good
idea to spin down or write protect the disks you don't want
to format,
just in case.
Formatting an RK07 [Toc] [Back]
Load the console floppy labeled, "RX11 VAX DSK LD DEV #1" in
the console
disk drive, and type the following commands:
>>>BOOT
DIAGNOSTIC SUPERVISOR. ZZ-ESSAA-X5.0-119 23-JAN-1980
12:44:40.03
DS>ATTACH DW780 SBI DW0 3 5
DS>ATTACH RK611 DMA
DS>ATTACH RK07 DW0 DMA0
DS>SELECT DMA0
DS>LOAD EVRAC
DS>START/SEC:PACKINIT
Formatting an RP0X [Toc] [Back]
Follow the above procedures except that the ATTACH and SELECT lines
should read:
DS>ATTACH RH780 SBI RH0 8 5
DS>ATTACH RP0X RH0 DBA0 (RP0X is, e.g. RP06)
DS>SELECT DBA0
This is for drive 0 on mba0; use 9 instead of 8 for mba1,
etc.
Formatting an RM0X [Toc] [Back]
Follow the above procedures except that the ATTACH and SELECT lines
should read:
DS>ATTACH RH780 SBI RH0 8 5
DS>ATTACH RM0X RH0 DRA0
DS>SELECT DRA0
Don't forget to put your UNIX console floppy back in the
floppy disk
drive.
bad144(8), badsect(8), newfs(8)
An equivalent facility should be available which operates
under a running
UNIX system.
It should be possible to reformat or verify part or all of a
disk, then
update the existing bad sector table.
OpenBSD 3.6 April 20, 1991
[ Back ] |