4.4BSD/usr/src/sys/tahoe/stand/vdformat/vdformat.8

Compare this file to the similar file:
Show the results in this format:

.\" Copyright (c) 1988 Regents of the University of California.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)vdformat.8	5.2 (Berkeley) 4/20/91
.\"
.TH VDFORMAT 8 "April 20, 1991"
.UC 4
.SH NAME
.I Vdformat
\- Format disk media and / or relocate bad sectors on drives attached
to VDDC disk controllers.
.SH DESCRIPTION
.PP
\fBVDFORMAT\fP can be used to format disk drives, relocate
known flawed sectors, verify disk surfaces, print seek profile graphs
for disk drives, exercise disk drives, and perform general disk drive
maintenance procedures.
.PP
VDFORMAT keeps track of all known flaws by placing their addresses in a
\fBbad sector map\fP on the last cylinder of each disk drive.  This information
is used during subsequent formatter operations to keep all known
bad sectors correctly relocated.
.PP
Flaw addresses are loaded into the bad sector map in four ways.
The first is by
reading the manufacturer's flaw map directly from the disk surface.
The second is by automatically adding any new flaws found during verify
operations.  The third is by direct operator entry.  The fourth
is by reading the
entire disk surface once and taking note of any errors or relocations
found during the reads.
.PP
.SH Command overview
.PP
The following basic commands are \fIalways\fP
available, even when long formatting
operations are underway:
.PP
.nf
.in +3m
\fICommand\fP   \fIAction\fP

\fBHelp\fP      Prints a list of available options.
\fBStatus\fP    Display current state of formatter.
\fBKill\fP      Aborts all operations.
.in -3m
.fi
.PP
There are two abbreviations available for the above commands.
These abbreviations are strictly for operator convenience.
They are:
.PP
.nf
.in +3m
\fIAbbreviation\fP   \fICommand\fP
\fB?\fP              Help
\fB!\fP              Status
.in -3m
.fi
.PP
In addition, the following 
commands are available from the \fIOperation\fP prompt level:
.PP
.nf
.in +3m
\fICommand\fP    \fIAction\fP

\fBList\fP       List all operations specified so far.
\fBDelete\fP     Delete specific operations.
\fBReset\fP      Reinitialize \fBVDFORMAT\fP, and start all over again.
\fBStart\fP      Start operations.
\fBInfo\fP       Tell everything that is known about a disk.
\fBFormat\fP     Format and verify disk surface.
\fBVerify\fP     Non-destructively verify disk surface.
\fBRelocate\fP   Add known flaws to bad sector map.
\fBCorrect\fP    Correct erroneous relocations or drive identification.
\fBProfile\fP    Print a graph of seek time vs seek length.
\fBExercise\fP   Perform read / write / seek exercises on disk.
.in -3m
.fi
.PP
The starting banner prints the program name, version number, and enough
information for the operator to get started without
reading this manual page.
.nf

\fIExample\fP
   
   \fBVDFORMAT\fP		  Version 3.0

   Type "Help" for help, "Start" to start specified operations.

   Operation?
.fi
.PP
.SH Help
.PP
The operator has a help command available for use at \fIany\fP time.
The \fBHelp\fP command displays available options according to the
current context.
.PP
In addition to the examples below there are further examples of help
messages throughout the operation examples.
.nf

\fIExample\fP

   Operation? \fBHelp\fP
           The following operations are available:
                   Reset    - Reinitialize \fBVDFORMAT\fP and start over.
                   List     - List all operations specified so far.
                   Delete   - Delete specific operations.
                   Format   - Format and verify disk surface.
                   Verify   - Non-destructively verify disk surface.
                   Relocate - Add known flaws to bad sector map.
                   Correct  - Correct erroneous relocations or drive ID.
                   Info     - Display known disk information.
                   Profile  - Display seek profile graph of disk.
                   Exercise - Perform seek exercises on disk.
                   Start    - Start operations.

   Operation?
.fi
.SH Status
.PP
The \fBStatus\fP command may be typed in at any time to determine the
status of the formatter.  The status message will explain
what the formatter is waiting for,
the current operation, and a progress report
if the formatter is busy. 
.nf

\fIExample\fP

   Starting format on controller 0, drive 1, drive type is FSD.

     \fBHelp\fP
           The following commands are available:
                   Status - Display current state of formatter.

     \fBStatus\fP
            Formatting on controller 0, drive 1, drive type is FSD.
            Inspecting disk to determine current state.
            Currently inspecting cylinder 120, track 10, sector 15.

   Formatting completed successfully.
.fi
.SH Kill
.PP
The \fBKill\fP command may be used to stop operations that are in 
progress already.  \fBKill\fP will always have meaning, may
be issued at any time, and will always leave disks in a consistent state.
.SH Specifying operations
.PP
Formatter operations are broken into two phases: entry
and execution.  
.PP
During the entry phase the operator enters all the
disk operations that he / she wants to execute during the execution
phase.  After the operation list is entered correctly the operator
issues the start command and execution begins.
.PP
The execution phase executes all commands specified during the entry phase
on the specified disks.  These commands are accumulated and executed
later because each operation may require up to several hours to complete.
By deferring operations, \fBVDFORMAT\fP frees the operator to do other
work during this time period.
.PP
The commands that are detailed in this section
are grouped according to the immediacy of their
actions.  Commands such as \fBDelete\fP and \fBReset\fP,
which will execute the moment they are
keyed into the system, are termed immediate commands.
Commands which
effect after the \fBStart\fP command is issued
are termed deferred commands.
.SH Immediate commands
.PP
Instead of forcing the operator to specify one operation on one drive
at a time,
comma separated lists and dash separated ranges can
be entered for operations, controller
numbers, and drive numbers.
Please refer to examples.
.SH List operation
.PP
The \fBList\fP operation displays all commands that
were keyed in by the operator and are ready to
be executed when the \fBStart\fP command is issued.
.nf

\fIExample\fP

   Operation? \fBList\fP
     The following operations will occur when Start is issued:

     Format on Controller 0, drive 1, type FSD.
     Format on Controller 0, drive 2, type XFD.
     Format on Controller 0, drive 3, type XFD.
     Relocate on Controller 0, drive 0, type FSD.
.fi
.SH Delete operation
.PP
Delete is intended to provide a simple editing facility for command
lists.  Between the \fBDelete\fP operation and the ability to add more
operations to the operation list, Any error in the operation list
can be corrected.
.PP
When the delete operation is specified, a numbered list of operations
is printed on the console and \fBVDFORMAT\fP will repeatedly
ask for line numbers to delete.
.PP
Line numbering for the \fBDelete\fP operation will remain the same
even after a line is deleted.  This is done to avoid confusion, but
it implies that the same line can be deleted multiple times.  This
presents no problems for the formatter and no error will be returned
if this is done.
.PP
The \fBDelete\fP prompt level is terminated by entering 'Quit'
(or the \fBKill\fP command) as shown in the following example:
.nf

\fIExample\fP

   Operation? \fBDelete\fP
       1)  Format on Controller 0, drive 1, type FSD.
       2)  Format on Controller 0, drive 2, type XFD.
       3)  Format on Controller 0, drive 3, type XFD.
       4)  Format on Controller 1, drive 0, type XSD.
       5)  Format on Controller 1, drive 1, type XSD.
       6)  Format on Controller 1, drive 2, type XSD.
       7)  Format on Controller 1, drive 3, type XSD.
       8)  Relocate on Controller 0, drive 0, type FSD.

     Delete line? \fB2\fP
           2) Format using Controller 0, drive 2, type FSD has been deleted.
     Delete line? \fB8\fP
           8) Relocate using Controller 0, drive 0, type FSD has been deleted.
     Delete line? \fBQuit\fP

   Operation?

.fi
.SH Reset operation
.PP
The \fBReset\fP operation clears all commands keyed in so far
and executes internal consistency checks for the
formatter.  The main use is to quickly delete all operations, 
and reset internal state.
The operator who really messed up the command sequence can start
again from the top.
.nf

\fIExample\fP

   Operation? \fBReset\fP
     Reset the world.  Are you sure? \fBYes\fP

     All operations specified have been deleted.

   Operation?
.fi
.SH Start operations
.PP
The \fBStart\fP command starts processing the command list
that was typed in by the operator.  The operator should be sure
that all commands are correct before proceeding.
.nf

\fIExample\fP

   Operation? \fBStart\fP

   Starting format on controller 0, drive 1, drive type is FSD.
.fi
.SH All the following commands are deferred commands.
.sp 1
.SH Info operation
.PP
\fBInfo\fP gives a full report of everything that is known about a drive.
This includes which
sectors were bad, to what sector they were relocated, 
how were the errors detected, and
the current format state.
.PP
.nf

\fIExample\fP

   Operation? \fBInfo\fP
     Gather information on which controller?  \fB0\fP
       Drives on controller 0? \fB1\fP
           Drive type for controller 0 drive 1? \fBfsd\fP

   Operation? \fBStart\fP

   Gathering information for controller 0, drive 1.

   Module number is 123456789.
   Drive type is FSD.
   Drive contains a bad sector map.
   The following sectors are known to be bad:
     cyl 181, head 2, pos 4470, len 1 (Sector #57991) -> sector 261760.
     cyl 210, head 6, pos 8880, len 1 (Sector #67406) -> sector 261764.
     cyl 292, head 3, pos 19590, len 1 (Sector #93567) -> sector 261761.
     cyl 293, head 3, pos 19590, len 1 (Sector #93887) -> sector 261762.
   Information display completed successfully.
.fi
.SH Format operation
.PP
The \fBformat\fP operation will read
the flaw map information directly from the drives and use that information to
map out all flaws after formatting the drive's surface.
.PP
After formatting the drive's surface the drive surface is verified using
the number of patterns requested by the operator.  The number of patterns 
may range from 0 to 16.  It is suggested that at least one pattern be used
so potential drive problems are more likely to be found before real information
is written on the drives.
.PP
.nf

\fIExample\fP

   Operation? \fBFormat\fP
     Format on which controller?  \fBHelp\fP
           The following controllers are attached to the system
               Controller 0, which is a VDDC controller.
               Controller 1, which is an SMD-E controller.
               Controller 2, which is an SMD-E controller.

     Format on which controller?  \fB0\fP
       Number of patterns to use when verifying? \fB1\fP
       Drives on controller 0? \fBHelp\fP
           Drives 0 through 3 are acceptable on VDDC controllers.

       Drives on controller 0? \fB1\fP
           Drive type for controller 0 drive 1? \fBHelp\fP
             The following drive types are available to VDDC controllers:
               FSD - 160 Mb Control Data winchester drive.
               SMD - 300 Mb Control Data Removable media drive.
               XFD - 340 Mb Control Data winchester drive.

           Drive type for controller 0 drive 1? \fBfsd\fP
           Module serial number for controller 0 drive 1? \fB1234\fP

   Operation? \fBStart\fP

   Starting format on controller 0, drive 1, drive type is FSD.

     ** Warning - Unable to relocate sector 12347,
           to map out using BADSECT use the following values:
               On the 'a' partition use block 6000
               On the 'c' partition use block 25

   Formatting completed successfully.
.fi
.SH Verify operation
.PP
The verify  operation can be used to check for new flaws on a disk
that currently has data
on it.  This is accomplished by
writing the necessary patterns on the drive's surface, reading the information
back, and comparing the results to  the original pattern.
If a flaw is found
the sector is relocated immediately.
Each new flaw will be relocated and permanently
added to the bad sector map.
.PP
.nf

\fIExample\fP

   Operation? \fBVerify\fP
     Verify on which controller?  \fB0\fP
       Drives on controller 0? \fB1\fP
         Drive type for controller 0 drive 1? \fBfsd\fP

   Operation? \fBStart\fP

   Starting verify on controller 0, drive 1, drive type is FSD.

   Verification completed successfully.
.fi
.SH Relocate operation
.PP
The operator has the ability to manually type in known flaws
using the CDC flaw map format, UNIX file-system / block numbers,
absolute sector numbers, and absolute track numbers.
.PP
\fBVDFORMAT\fP will automatically switch back and forth between
the various forms of inputing flaw addresses
by looking at the first character on any
line.  If the first character is between 'a' and 'h' then
it is assumed that the character is a file system name and the
next input will be the actual UNIX block number, if the first character is 
an 's' then sector numbers are entered, if the first character is an 't'
then track numbers are entered, otherwise
flaw map format is assumed.
.nf

\fIExample\fP

   Operation? \fBRelocate\fP
     Relocate on controller? \fB0\fP
       Drives on controller 0? \fB0\fP
         Drive type for controller 0 drive 0? \fBfsd\fP

   Operation? \fBStart\fP

   Adding flaws to bad sector map on Controller 0, drive 1, type FSD.
     Location? \fBa 20\fP
       Confirm block 20 on file-system 'a' ? \fBYes\fP
     Location? \fB10 5 12594 10\fP
       Confirm Cyl 10, head 5, offset 12594, len 10 (Sector 12345)? \fBYes\fP
     Location? \fBSector 1000\fP
       Confirm sector 1000? \fBYes\fP
     Location? \fBTrack 25\fP
       Confirm track 25? \fBYes\fP
     Location? \fBa 200\fP
       Confirm relocation of block 200 on file-system 'a' ? \fBYes\fP
     Location? \fBStart\fP
   Relocation complete.

   Operation?
.fi
.SH Correct operation
.PP
The correct operation is used to correct any information that
was incorrectly written to disk.
This information includes sectors that were wrongly specified by
the operator and the operator entered pack identification.
.PP
.nf

\fIExample\fP

   Operation? \fBCorrect\fP
     Correct on controller? \fB0\fP
       Drives on controller 0? \fB0\fP
         Drive type for controller 0 drive 0? \fBfsd\fP

   Operation? \fBStart\fP

   Making corrections to bad sector map on Controller 0, drive 0, type FSD
     Location? \fBID\fP
       Pack ID is 123456789.  Change to? \fB1234567890\fP
       Pack ID changed to 1234567890.
     Location? \fBse 20\fP
       Confirm relocation removal of sector 20? \fBYes\fP
       Sector 20 removed.
     Location? \fBt 21\fP
       Confirm relocation removal of track 21? \fBYes\fP
       Track 21 removed.
     Location? \fB10 5 125\fP
       Confirm relocation removal of Cylinder 10, head 5, offset 125? \fBYes\fP
       Cylinder 10, head 5, offset 125 removed.
     Location? \fBStart\fP
 Relocation complete.

   Operation?
.fi
.SH Profile operation
.PP
The profile operation is used to print a graph of seek time verses seek
distance for the specified drive.  Each point on the graph prints as either
a star ('*') or a plus ('+') to indicate which direction the point
was rounded.  The star shows that the point was rounded up, and the plus
shows rounding down has taken place.
.nf

\fIExample\fP

   Operation? \fBProfile\fP
     Profile on controller? \fB0\fP
       Drives on controller 0? \fB0\fP
         Drive type for controller 0 drive 0? \fBxsd\fP
   Operation? \fBStart\fP

     Disk seek profile for controller 0, drive 0, type XSD.

        Seek  |                  Seek time (ms)
       Length |0    5    10   15   20   25   30   35   40   45   50
       -------|-----+----+----+----+----+----+----+----+----+----+
       1      |     *
       13     |         +
       25     |            +
       37     |              *
       49     |               *
       61     |                +
       73     |                 +
       85     |                  +
       97     |                   *
       109    |                   +
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       577    |                                         *
       589    |                                         +
       601    |                                          *
       613    |                                          *
       625    |                                          +
       637    |                                           *
       697    |                                            +
       709    |                                             *
       -------|-----+----+----+----+----+----+----+----+----+----+
              |0    5    10   15   20   25   30   35   40   45   50

     Profile completed successfully.
.fi
.SH Exercise operation
.PP
The exercise operation does an exhaustive test of the drive read / write / seek
logic on a drive.  The test is destructive and calculations show that it
should take about 22 weeks to complete the entire test.  It is suggested that
the test be run for as long as the operator can take it before killing the test.
(24 hours is about right.)
.nf

\fIExample\fP

   Operation? \fBExercise\fP
     Profile on controller? \fB0\fP
       Drives on controller 0? \fB0\fP
         Drive type for controller 0 drive 0? \fBxsd\fP
   Operation? \fBStart\fP

     Starting disk exercise on controller 0, drive 0, type XSD.
       Pass 1...
       Pass 2...
       Pass 3...
          .
          .
          .
       Pass 710...
     Exercise completed successfully.
.fi

.SH DIAGNOSTICS
.PP
The controller status will be printed out after any unrecoverable error
is found.  The exact meaning of the error words can be found in \fBvddc(4)\fP.
.SH SEE ALSO
.PP
vddc(4)