Availability:
     Level 2    , 'a'

  Quick Help:
     Measure Optimum Skew, a

  Description:
    This command determines average Track to Track Seek Time with 0 Skew, determines Optimum
    Cylinder Skew within a Servo MiniZone, determines Optimum Head Skew, and determines Optimum
    MiniZone Skew

    Measure Optimum Skew
    This function does the test for Average Track to Track Seek time within a servo MiniZone
    with no Head switch for the diagnostic function Measure Optimum Skew.
    Average Track to Track Seek time within a MiniZone in Servo Wedges is used as a starting
    point in Measure Optimum Skew Cyl Skew test as the minimum possible Cyl Skew starting
    point.
 
    Measure Optimum Skew Track to Track Seek Timing
     Determine Average Track to Track Seek time with 0 Cyl and Head Skew
      Set Zero Cylinder and Head Skew.
          For each Test Zone
             For each Head
            Repeat the Seek Sequence n times.
               Measure Track to Track Seek time for Seeks within a
               Servo MiniZone without causing Head Switches.
               Save Seek times measured in number of Servo Bursts from Seek Start to Seek
                   end.
               Save Seek times measured in Usec from Seek Start to Seek end.
                Calculate the Average Seek time in Servo Bursts and Usec.
                Save Worst case Seek Time within a Servo MiniZone per Head per Test Zone
                Save average per head Seek Time per Head per Test Zone
       Save Drive overall worst case track to track Seek Time within a MiniZone in Servo Wedges.
       Save Drive overall average track to track Seek Time within a MiniZone in Servo Wedges.
 
  Measure Optimum Skew
  Measure Optimum Skew Cylinder Skew
       Determine Optimum Cylinder Skew by measuring Write times within a MiniZone
       without doing a Head Switch
    For Min Zone and Max Zone
       Set Min Test Skew = Average Cyl SeekTime in Bursts
       For all Heads
          Set Head Skew = 0
          Set Max Test Skew = Average Cyl SeekTime in Bursts +  MAX_CYL_SKEW_TEST_DATA_LIMIT
          For Min Test Cyl Skew to Max Test Cyl Skew
             In First MiniZone in Test Zone Write Min Cyl Min LBA to MiniZone
                   Max Cyl Max LBA across the MiniZone without allowing Head Switch
             Measure time for LBA Writes many times
             Calculate average Write time
             Log average Write time per Zone, Per Head for each Skew value tried
          Save Drive per Zone, per Head worst case write time Cyl Skew in Servo Wedges.
          Save Drive overall worst case Write time Cyl Skew in Servo Wedges.
 
  Measure Optimum Skew
   Measure Optimum Head Skew
    Measure Head Switch Head Skew Write Timing
    Set Random pattern in Write Buff
    For Min Zone and Max Zone
    For First Servo MiniZone in Test Zone
    For Min Test Head Skew to Max Test Head Skew
    Write only 2 LBA's - Last LBA in Servo MiniZone to First LBA in Next Head Servo  - Force Head Switch
    Measure time for LBA Writes many times
    Calculate average Write time
    Log average Write time per Zone, Per Head for each Skew value tried

  Measure Optimum Skew
   Measure Optimum MiniZone Skew
    Measure MiniZone serpent to MiniZone serpent Write Timing on the same Head
    For Min Zone and Max Zone
    For First Servo MiniZone serpent in Test Zone
          If Number of Logical Heads is Odd
             MiniZone serpent transitions are only one LBA. Set Optimum MiniZone Skew = Optimum Cyl Skew.
          If Number of Logical Heads is Even
             MiniZone serpent transitions include a Seek across the full MiniZone to the First LBA of
             the next MiniZone serpent on the same Head.
          For Even Number of Logical Heads
             Determine Last LBA of Last MiniZone serpent for Min or Max Head
             For Min Test Head Skew to Max Test Head Skew
       Write only 2 LBA's - Last LBA in Servo MiniZone to First LBA in Next Servo MiniZone - Same Head
       Measure time for LBA Writes many times
       Calculate average Write time
    Log average MiniZone transition Write time per Zone, for each Skew value tried

    Log Drive Average Seek Time, Worst Case Cyl Skew, Head Skew, MiniZone Skew

  Input Parameters:
    None

  Output Data:


     If an error occurred, the following information will be displayed.
     
           "DiagError aaaaaaaa"
     
        where
     
           aaaaaaaa is the Diagnostic Error Code
     
     If no error occurred, then the output of this command will be displayed as follows:
    
     Description:
     MeasureOptimumSkewdDiag
    
        This Diagnostic Mode diagnostic function will measure and report Optimum Skew.  It performs
        four tests to find Average Track to Track Seek Time, Optimum Cylinder Skew, Optimum Head Skew,
        and Optimum MiniZone Skew.
        
        The function first does the setup and Test Start for the Diagnostic Mode diagnostic
        function Measure Optimum Skew.
      
        The function then does the test for Average Track to Track Seek time within a servo
        MiniZone with no Head Switch.
       
        The function then does the test for Measurements of Cylinder Skew using write times within
        a servo MiniZone for all Cylinder Skew values.  The function picks best drive Optimum
        Cylinder Skew.
     
        The function then does the test for Measurements of Head Skew using write times for 2 LBA
        writes that cause a head switch, for all head pairs going down the Head stack and up the
        Head stack and all Head Skew values.  The function picks best drive Optimum Head Skew.
    
        This function then does the test for Measurements of MiniZone Skew.
        For Odd Number of Logical Heads the transition from one MiniZone Serpent to the next MiniZones Serpent
        on the same Head is a distance on only one sequential LBA.
        For Odd Number of Logical Heads MiniZone Skew Pick is set equal to Cyl Skew and requires no optimization.
        For even number of Logical this function does the test for measurements of MiniZone Skew using write times
        for 2 LBA writes that cause a Write and Seek across a MiniZone from the Last LBA of a MiniZone Serpent to
        the first LBA of the next MiniZone Serpent on the same Head.
        The function picks best drive Optimum MiniZone Skew.
     
        The function then does a Summary of drive final results for Average Track to Track Seek
        Time, Drive Optimum Cylinder Skew Pick, Drive Optimum Head Skew Pick and Drive Optimum MiniZone Skew Pick.
        and outputs the results.
    
     Measure Optimum Skew Diagnostic Command Output Data Description:
    *************************************************************************************************
     Measure Optimum Skew Test Start Output Data Format
        Data Output Format:
           "Measure Optimum Skew Tests"
           Product Type String
           "Product Family Id: aa (hex), Family Member Id: bb (hex)"
           "HDA Serial Number cccccccc"
           "Max User Partition Zone = dd (int)"
           "Max Logical Head = ee (int)"
           "Default Product Cyl Skew = fff (int) = gg (hex)"
         "Default Product Head Skew = hhh (int) = ii (hex)"
         "Default Product MiniZone Skew = jjj (int) = kk (hex)"
           "Nominal Servo MiniZone Size in Cyls = lll (int) = mm (hex)"
           For each Logical Head
              "VBAR Adjusted MiniZone Size In Cylinders for Head n = ooo (int) = pp (hex)"
    
        Where
           aa is the Product Family ID (hex)
           bb is the Product Family Member ID (hex)
         cccccccc is the HDA Serial Number (ASCII)
           dd is the Maximum  User Partition Zone Number (hex)
         ee is the Maximum Logical Head Number (int)
         fff is the Product Drive default Cylinder Skew (Servo Wedges) (int)
           gg is the Product Drive default Cylinder Skew (Servo Wedges) (hex)
           hhh is the Product Drive default Head Skew (Servo Wedges) (int)
           ii is the Product Drive default Head Skew (Servo Wedges) (hex)
           jjj is the Product Drive default MiniZone Skew (Servo Wedges) (int)
           kk is the Product Drive default MiniZone Skew (Servo Wedges) (hex)
         lll is the nominal Servo MiniZone size in cylinders (int)
         mm is the nominal Servo MiniZone size in cylinders (hex)
           For each Logical Head
              n is the Logical Head number (int)
            ooo is the VBAR adjusted size in cylinders for Logical Head n (int)
    
    *************************************************************************************************
     Measure Optimum Skew Seek Timing Output Data Format:
    
           "Sequential Track to Track Seek Timing Test"
      
     For Min Zone to Max Zone by ZoneStep
            "Zone,Head, Average, Average,   Worst"
              " int, int,SeekTime,SeekTime,    Case"
              "    ,	 ,   USecs,  Bursts,  Brusts"
     
           For each Logical Head
              "   A,   B,    CCCC,     DDD,     EEE"
    
           "Average Worst Case Per Zone Per Head Cyl Seek Time in Servo Bursts"
           
           "For All Zones All Heads Worst Track to Track Seek Time in Servo Bursts = FFF (int)"
           "For All Zones All Heads Drive Average Track to Track Seek Time in Servo Bursts = GGG (int)"
    
        Where
        A is Zone (int) Range: Drive Min Zone to Drive Max Zone by ZoneStep)
           Currently Min Zone is always zone 0, Max Zone is always Drive Max Zone
           and ZoneStep is always = Drive Max Zone. Thus data output is always for
           2 Zones only, Min and Max.
           Data output is a fixed size to assist in developing templates for graphing
           output data by zone per head.
           Data columns are delineated by commas to assist Excel charting templates.
          
           B is Logical Head (int) Range: 0 to MAX_TEST_SUPPORTED_HEADS - 1
                                       Max Test Supported Heads = highest current product number of heads
                                       0 to Drive Max Head
                                       Unused data values are padded with zeros.
           Data output is a fixed size to assist in developing templates for graphing
       output data by zone / head.
                 
       CCC is Average Seek time in USecs (int)
           DDDD is Average Seek time in servo bursts (int)
       EEE is Worst Case Seek Time in servo bursts (int)
    
         FFF is Worst Case Seek Time for all Zones, all Heads in Servo Bursts (int)
         GGG is Average Seek Time for all Zones, all Heads in Servo Bursts (int)
    
     Measure Optimum Skew Cylinder Skew
        Determine Optimum Cylinder Skew by measuring Write times within a MiniZone
        without doing a Head Switch
       For Min Test Zone to Max Test Zone by ZoneStep
          Set Min Cyl Skew = Average Cyl SeekTime in Bursts
          Set Max Cyl Skew = Average Cyl SeekTime in Bursts + MAX_CYL_SKEW_TEST_DATA_LIMIT
                 Always do MAX_CYL_SKEW_TEST_DATA_LIMIT Data Points.
          For all Heads
             Set Head Skew = 0
             For Min Cyl Skew to Max Cyl Skew
                In First MiniZone in Test Zone Write Min Cyl Min LBA to MiniZone
                    Max Cyl Max LBA across the MiniZone without allowing Head Switch
                Measure time for LBA Writes many times
                Calculate average Write time
                Save average Write time per Test Zone, Per Test Head for each Skew value tried
        Save Drive Pick per Zone, per Head best Cyl Skew write time in Servo Wedges.
        Save Drive Pick overall best Cyl Skew in Servo Wedges.
     
     Measure Optimum Skew Cyl Skew Data Output Format:
    
        "Cylinder Skew Write Timing Test"
     
        For Min Zone to Max Zone by ZoneStep
           For all Heads
            With Head Skew = 0
                 "Zone,Head,   Start,     End,   Start,     End, Num, Num, Cyl,Head, Average"
                 " int, int,     Cyl,     Cyl,     LBA,     LBA,LBAs,Trys,Skew,Skew, CylSkew"
                 "    ,    ,     hex,     hex,     hex,     hex, hex, int, int, int, WrtTime"
             For all trial Cylinder Skews
                 "  aa,  bb,cccccccc,dddddddd,eeeeeeee,ffffffff,gggg,hhhh,iiii,jjjj,kkkkkkkk"
      Where
       aa is test Zone = Range Min Zone to Max Zone by ZoneStep (int)
           bb is Logical test Head number (int) Range: Min Logical Head to Max Logical Head
       cccccccc is Start Cyl at start of first MiniZone in test Zone (hex)
       dddddddd is End Cyl at end of first MiniZone in test Zone (hex)
       eeeeeeee is Start LBA at start of first MiniZone in test Zone (hex)
         ffffffff is End Lba at end of first MiniZone in test Zone (hex)
       gggg is number of LBA's (hex)
       hhhh is number of trys used in determining Average Write time (int)
       iiii is trial Cyl Skew (hex).
          Starting Range = average Track to Track seek time determined in Seek Timing Test.
              Ending Range = Max Cyl Skew
         jjjj is Head Skew for Cylinder Skew Write test = 0
           kkkkkkkk is the per Zone per Head Write Average Write Time at the Trial Cyl Skew setting (Usecs)
    
        For Min Zone to Max Zone by ZoneStep
           "Zone,Head,	   Best,Best"
           " int, int,	WrtTime,	Cyl"
           "    ,	 ,   USecs,Skew"
       
           For all Heads
           "  ll,  mm,nnnnnnnn,oooo"
    
        "For All Zones All Heads Drive Cylinder Skew Pick = pppp (int) = qqqq (hex)"
    
     Where
       ll is test Zone = Range Min Zone to Max Zone by ZoneStep (int)
           mm is Logical test Head number (int) Range: Min Logical Head to Max Logical Head
       nnnnnnnn is best per Zone, per Head average Write time for the best Cyl Skew for this zone, head in Usecs (int)
       oooo is best per Zone, per Head Cyl Skew (hex).
           pppp is Drive Cylinder Skew Pick (int)
           qqqq is Drive Cylinder Skew Pick (hex)
    
    *************************************************************************************************
     Measure Optimum Skew Head Skew Description
        Measure Head Switch Head Skew Write Timing
        Set Random pattern in Write Buff
        For Min Zone and Max Zone
           For First MiniZone in Test Zone
              For Min Test Head Skew to Max Test Head Skew
                 Write only 2 LBA's - Last LBA in Servo Region to First LBA in Next Head Servo Region - Force Head Switch
                 Measure time for LBA Writes many times
                 Calculate average Write time
        Log average Write time per Zone, Per Head for each Skew value tried
    
     Measure Optimum Skew Head Skew Output Data Format:
        "Head Skew Head Switch Write Timing Test"
     
        For Min Zone to Max Zone by ZoneStep
           With Cyl Skew = optimum Cyl Skew from Test 2
           For each trial Head Skew
              "From,  To,    From,      To,From,  To,    From,      To, Num, Cyl,Head, Average"
              "Zone,Zone,     Cyl,     Cyl,Head,Head,     LBA,     LBA,Trys,Skew,Skew,    HdSw"
              " int, int,     hex,     hex,	int, int,  	  hex,     hex, int, int, int, WrtTime"
            For each Head switch pair going down the stack and up the stack
              "  aa,  bb,cccccccc,dddddddd,  ee,  ff,gggggggg,hhhhhhhh,  ii,  jj, kkk,llllllll"
        Where
           For Test Zone
         With Cyl Skew = Measure Optimum Skew Cyl Skew pick
           For each trial Head Skew
       For each Head switch pair going down the stack and up the stack
       aa is 'From Zone', initially Test Zone, before Head Switch write (int)
       bb is 'To Zone', or Zone after Head Switch write (int)
       cccccccc is Start Cyl at end of first MiniZone in test Zone (hex)
       dddddddd is End Cyl after Head Switch 2 LBA write from end of Servo Region to next Head Servo Region (hex)
           ee is Logical test Head number before the Head Switch caused by 2 LBA write (int)
           ff is Logical test Head number after the Head Switch caused by 2 LBA write (int)
         gggggggg is the Start LBA of the 2 LBA Write, before the Head Switch, at end of the first MiniZone of the
       'From' Head in the test Zone (int)
         hhhhhhhh is the End LBA of the 2 LBA Write, after the Head Switch, at beginning of the next MiniZone of the
       'To' Head in the test Zone (hex)
       ii is number of trys used in determining Head Switch Write time for each trial Head Skew (int)
         jj is the optimum Cyl Skew selected in Test 2 (int)
         kkk is the trial Head Skew (servo bursts)
        Starting Range = 0
              Ending Range = Max Test Head Skew
       llllllll is the average Write time for 2 LBA Write across the Head Switch for each Head switch pair going
       down the head stack and up the head stack, in USecs (int)
     
        Data Output Format:
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           "Zone,From,  To,    Best,Best"
           " int,Head,Head, WrtTime,Head"
           "    , int, int,   USecs,Skew"
    
              For best trial Head Skew Write time
              "	aa,  mm,  nn,oooooooo,pppp"
    
      Where
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           For each trial Head Skew
         For each Head switch pair going down the stack and up the stack
       aa is 'From Zone', Drive Min Zone, before Head Switch write (int)
           mm is Logical test Head number before the Head Switch caused by 2 LBA write (int)
           nn is Logical test Head number after the Head Switch caused by 2 LBA write (int)
       oooooooo is the best average Write time for 2 LBA Write across the Head Switch for each Head switch pair
       in USecs (int)
         ppp is the Head Skew for the best Head Switch Write time for the Drive Min Zone test zone (servo bursts)
    
           "For All Zones All Head Switch Head Pairs:"
           "Drive Pick for Highest Head Skew for Best Head Switch Write Time = FFF (int) = GGG (hex)"
    
      Where
         FFF is the Drive best Head Skew pick for the best Head Switch Write time (servo bursts) (int)
         GGG is the Drive best Head Skew pick for the best Head Switch Write time (servo bursts) (hex)
    
    *************************************************************************************************
     Measure Optimum Skew MiniZone Skew Description
       Measure Optimum MiniZone Skew
        Measure MiniZone serpent to MiniZone serpent Write Timing on the same Head
        For Min Zone and Max Zone
        For First Servo MiniZone serpent in Test Zone
              If Number of Logical Heads is Odd
                 MiniZone serpent transitions are only one LBA and Optimum MiniZone Skew = Optimum Cyl Skew
                 break
              If Number of Logical Heads is Even
                 MiniZone serpent transitions include a Seek across the full MiniZone to the First LBA of
                 the next MiniZone serpent on the same Head.
                 For Even Number of Logical Heads
                    Determine Last LBA of Last MiniZone serpent for Min or Max Head
                    For Min Test Head Skew to Max Test Head Skew
              Write only 2 LBA's - Last LBA in Servo MiniZone to First LBA in Next Servo MiniZone - Same Head
              Measure time for LBA Writes many times
              Calculate average Write time
        Log average MiniZone transition Write time per Zone, for each Skew value tried
    
     Measure Optimum Skew MiniZone Skew Output Data Format:
        "MiniZone Skew Write Timing Test"
     
        For Min Zone to Max Zone by ZoneStep
           With Cyl Skew = optimum Cyl Skew from Test 2
           With Head Skew = optimum Head Skew from Test 3
           For the Last LBA in the First MiniZone serpent to the First LBA in the Second MiniZone serpent,
           on the same Head:
           For each trial Head Skew
              "Zone,    From,      To,From,  To,    From,      To, Num, Cyl,Head,MiniZone, Average"
              " int,     Cyl,     Cyl,Head,Head,     LBA,     LBA,Trys,Skew,Skew,    Skew,MiniZone"
              "    ,     hex,     hex, int, int,  	hex,     hex, int, int, int,     int, WrtTime"
              "  aa,cccccccc,dddddddd,  ee,  ff,gggggggg,hhhhhhhh,  ii, jjj, kkk,     lll,mmmmmmmm"
     
        Where
           For Test Zone
         With Cyl Skew = Measure Optimum Skew Cyl Skew pick
         With Head Skew = Measure Optimum Skew Head Skew pick
           For each trial MiniZone Skew
       aa is 'From Zone', initially Test Zone, before Head Switch write (int)
       cccccccc is Start Cyl at end of first MiniZone in test Zone (hex)
       dddddddd is End Cyl after MiniZone 2 LBA write from end of First MiniZone serpent to next MiniZone Serpent (hex)
           ee is Logical test Head number before the MiniZone 2 LBA write (int)
           ff is Logical test Head number after the MiniZone 2 LBA write (int)
         gggggggg is the Start LBA of the 2 LBA Write, before the MiniZone write, at end of the First MiniZone of the
       'From' Head in the test Zone (hex)
         hhhhhhhh is the End LBA of the 2 LBA Write, after the MiniZone write, at beginning of the next MiniZone of the
       'To' Head in the test Zone (hex)
       ii is number of trys used in determining MiniZone transition Write time for each trial MiniZone Skew (int)
         jjj is the optimum Cyl Skew selected in Test 2 (servo bursts) (int)
         kkk is the optimum Head Skew selected in Test 2 (servo bursts) (int)
         lll is the trial MiniZone Skew (servo bursts) (int)
        Starting Range = 0
              Ending Range = Max Test MiniZone Skew
       mmmmmmmm is the average Write time for 2 LBA Write across the MiniZone transition (int)
     
        Data Output Format:
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           "Zone,From,  To,    Best,    Best"
           " int,Head,Head, WrtTime,MiniZone"
           "    , int, int,   USecs,    Skew"
    
           For best trial MiniZopne Skew Write time
           "	aa,  mm,  nn,oooooooo,     ppp"
    
      Where
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           For each trial Head Skew
       aa is 'Zone', User Test Zone (int)
           mm is Logical From Head number before the MiniZone serpent to serpent transition caused by 2 LBA write (int)
           nn is Logical To Head number after the MiniZone serpent to serpent transition caused by 2 LBA write (int)
       oooooooo is the best average Write time for 2 LBA Write across the MiniZone transition in USecs (int)
         ppp is the MiniZone Skew for the best MiniZone transition Write time for the User Test Zone (servo bursts) (int)
    
           "For All Test Zones All MiniZone Skew Tests:"
           "Drive Pick for Highest MiniZone Skew for Best MiniZone transition Write Time = FFF (int) = GGG (hex)"
    
      Where
         FFF is the Drive best MiniZone Skew pick for the best MiniZone transition Write time (servo bursts) (int)
         GGG is the Drive best MiniZone Skew pick for the best MiniZone transition Write time (servo bursts) (hex)
    
    *************************************************************************************************
     Measure Optimum Skew Test Summary Output Data Format:
    
     Measure Optimum Skew Test Summary Output Data Format:
        Data Output Format:
    
           "***********************************************************************"
           "***Measure Optimum Skew Test Results Summary***"
           
           Product Type String
           "Product Family Id: aa (hex), Family Member Id: bb (hex)"
           "HDA Serial Number cccccccc"
           "Max User Partition Zone = dd (int)"
           "Max Logical Head = ee (int)"
           "Default Product Cyl Skew = fff (int) = ggg (hex)"
         "Default Product Head Skew = hhh (int) = iii (hex)"
         "Default Product MiniZone Skew = jjj (int) = kkk (hex)"
           "Nominal Servo MiniZone Size in Cyls = lll (int) = mmm (hex)"
     
        Where
           aa is the Product Family ID (hex)
           bb is the Product Family Member ID (hex)
         cccccccc is the HDA Serial Number (ASCII)
           dd is the Maximum User Partition Zone Number (int)
         ee is the Maximum Logical Head Number (int)
         fff is the Product Drive default Cylinder Skew (Servo Wedges) (int)
           ggg is the Product Drive default Cylinder Skew (Servo Wedges) (hex)
           hhh is the Product Drive default Head Skew (Servo Wedges) (int)
           iii is the Product Drive default Head Skew (Servo Wedges) (hex)
           jjj is the Product Drive default MiniZone Skew (Servo Wedges) (int)
           kkk is the Product Drive default MiniZone Skew (Servo Wedges) (hex)
           lll is the Nominal Servo MiniZone Size in Cyls (int)
           mmm is the Nominal Servo MiniZone Size in Cyls (hex)
     
           "***Sequential Track to Track Seek Timing Test Results Summary***"
        
        For Min Zone to Max Zone by ZoneStep
            "Zone,Head, Average, Average,   Worst"
              " int, int,SeekTime,SeekTime,    Case"
              "    ,	 ,   USecs,  Bursts,  Brusts"
     
           For each Logical Head
              "  AA,  BB,     CCC,     DDD,     EEE"
    
        "Drive Pick for Average Track to Track Seek Time in Servo Bursts = FFF (int) = GGG (hex)",
    
        Where
        AA is Zone (int) Range: Measure Optimum Skew Seek Timing Test Min Drive User Zone to Max Drive User Zone by ZoneStep)
           BB is Logical Head (int) Range: Measure Optimum Skew Seek Timing Test Min Logical Head to Max Logical Head
       CCC is Average Seek time in USecs (int)
           DDD is Average Seek time in servo bursts (int)
       EEE is Worst Case Seek Time in servo bursts (int)
    
         FFF is Drive Pick for Average Seek Time for all Zones, all Heads in Servo Bursts (int)
         GGG is Drive Pick for Average Seek Time for all Zones, all Heads in Servo Bursts (hex)
    
           "***Cylinder Skew Write Timing Test Results Summary***"
     
        For Min Zone to Max Zone by ZoneStep
           "Zone,Head,	   Best,Best"
           " int, int,	WrtTime,	Cyl"
           "    ,	 ,   USecs,Skew"
       
           For all Heads
           "  ll,  mm,nnnnnnnn,oooo"
    
           "For All Zones All Heads Drive Cylinder Skew Pick = pppp (int) = qqqq (hex)"
    
        Where
       ll is test Zone = Range Min Zone to Max Zone by ZoneStep (int)
           mm is Logical test Head number (int) Range: Min Logical Head to Max Logical Head
       nnnnnnnn is best per Zone, per Head average Write time for the best Cyl Skew for this zone, head in Useconds (int)
       oooo is best per Zone, per Head Cyl Skew (int).
           pppp is Drive Cylinder Skew Pick (int)
           qqqq is Drive Cylinder Skew Pick (hexl)
    
           "***Head Skew Head Switch Write Timing Test Results Summary***"
    
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           "Zone,From,  To,    Best,Best"
           " int,Head,Head, WrtTime,Head"
           "    , int, int,   USecs,Skew"
    
              For best trial Head Skew Write time
              "	aa,  mm,  nn,oooooooo, ppp"
    
        "For All Zones All Head Switch Head Pairs:"
        "Drive Pick for Highest Head Skew for Best Head Switch Write Time = FFF (int) = GGG (hex)"
       
      Where
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           For each trial Head Skew
         For each Head switch pair going down the stack and up the stack
       aa is 'From Zone', Drive Min Zone, before Head Switch write (int)
           mm is Logical test Head number before the Head Switch caused by 2 LBA write (int)
           nn is Logical test Head number after the Head Switch caused by 2 LBA write (int)
       oooooooo is the best average Write time for 2 LBA Write across the Head Switch for each Head switch pair
       in USecs (int)
         ppp is the Head Skew for the best Head Switch Write time for the Drive Min Zone test zone (servo bursts) (int)
    
           "For All Zones All Head Switch Head Pairs:"
           "Drive Pick for Highest Head Skew for Best Head Switch Write Time = FFF (int) = GGG (hex)"
    
        Where
         FFF is the Drive best Head Skew pick for the best Head Switch Write time (servo bursts) (int)
         GGG is the Drive best Head Skew pick for the best Head Switch Write time (servo bursts) (hex)
     
           "***MiniZone Skew Write Timing Test Results Summary***"
     
        Data Output Format:
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           "Zone,From,  To,    Best,    Best"
           " int,Head,Head, WrtTime,MiniZone"
           "    , int, int,   USecs,    Skew"
    
           For best trial MiniZone Skew Write time
           "	aa,  mm,  nn,oooooooo,     ppp"
    
      Where
        For Min Zone to Max Zone by ZoneStep
           For Test Zone
           For each trial Head Skew
       aa is 'Zone', User Test Zone (int)
           mm is Logical From Head number before the MiniZone serpent to serpent transition caused by 2 LBA write (int)
           nn is Logical To Head number after the MiniZone serpent to serpent transition caused by 2 LBA write (int)
       oooooooo is the best average Write time for 2 LBA Write across the MiniZone transition in USecs (int)
         ppp is the MiniZone Skew for the best MiniZone transition Write time for the User Test Zone (servo bursts) (int)
    
           "For All Test Zones All MiniZone Skew Tests:"
           "Drive Pick for Highest MiniZone Skew for Best MiniZone transition Write Time = FFF (int) = GGG (hex)"
    
         FFF is the Drive best MiniZone Skew pick for the best MiniZone transition Write time (servo bursts) (int)
         GGG is the Drive best MiniZone Skew pick for the best MiniZone transition Write time (servo bursts) (hex)
    
    *************************************************************************************************
    
           "Default Product Cyl Skew = fff (int) = gg (hex)"
           "Default Product Head Skew = hhh (int) = ii (hex)"
           "Default Product MiniZone Skew = jjj (int) = kk (hex)"
    
        Where
         fff is the Product Drive default Cylinder Skew (Servo Wedges) (int)
           gg is the Product Drive default Cylinder Skew (Servo Wedges) (hex)
           hhh is the Product Drive default Head Skew (Servo Wedges) (int)
           ii is the Product Drive default Head Skew (Servo Wedges) (hex)
           jjj is the Product Drive default MiniZone Skew (Servo Wedges) (int)
           kk is the Product Drive default MiniZone Skew (Servo Wedges) (hex)
    
           "***Measure Optimum Skew Diag Average Track to Track Seek Time Pick = HHH (int) = III (hex)",
           "***Measure Optimum Skew Diag Cylinder Skew Pick = JJJ (int) = KKK (hex)"
           "***Measure Optimum Skew Diag Head Skew Pick = LLL (int) = MMM (hex)"
           "***Measure Optimum Skew Diag MiniZone Skew Pick = NNN (int) = OOO (hex)"
    
        Where
         HHH is Drive Pick for Average Seek Time for all Zones, all Heads in Servo Bursts (int)
         III is Drive Pick for Average Seek Time for all Zones, all Heads in Servo Bursts (hex)
           JJJ is Drive Cylinder Skew Pick (int)
           KKK is Drive Cylinder Skew Pick (hexl)
         LLL is the Drive best Head Skew pick for the best Head Switch Write time (servo bursts) (int)
         MMM is the Drive best Head Skew pick for the best Head Switch Write time (servo bursts) (hex)
         NNN is the Drive best MiniZone Skew pick for the best MiniZone Transition Write time (servo bursts) (int)
         OOO is the Drive best MiniZone Skew pick for the best MiniZone Transition Write time (servo bursts) (hex)
      
    *************************************************************************************************
    
         "Measure Optimum Skew Test Total Elapsed Test Time = HH:MM:SS"
        Where
           HH is Elapsed Time Hours
           MM is Elapsed Time Minutes
           SS is Elapsed Time Seconds
    
    *************************************************************************************************
     
  Examples:
   
    Example #1:
    To run all Measure Optimum Skew tests 1,2,3,4 to obtain Ave. track to track Seek time,
    Pick of Drive Optimum Cyl Skew, Pick of Drive Optimum Head Skew, and Pick of Optimum MiniZone Skew:
    
       F3 2>a

  Revision History:

    0001.0000   Initial revision.