Availability:
     Online     , CTRL-X

  Quick Help:
     Display Native Interface and Read/Write Command History

  Description:
    This command displays the command history of the Native Interface and Read/Write
    subsystem.

  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, the Native Interface Command History will be displayed as follows.
    
          "ATA ccc Cmds"
          "Ts(ms)     dT(ms)   Op Cnt  LBA"
          "dddddddddd eeeeeeee ff gggg hhhhhhhhhhhh"                        *  see remark below
    
       where
    
          ccc         is the number of ATA commands to display. The oldest one is displaed first
    
          dddddddddd  is the time stamp(ms) of the ATA command when it was recorded
    
          eeeeeeee    is the time difference(ms) from the previous ATA command
    
          ff          is the ATA Op-code. For example, EC is for Identify Device command
    
          gggg        is the block count specified in the ATA task file
    
          hhhhhhhhhhh is the LBA number specified in the ATA task file
    
    The R/W Request History will be displayed as follows.
    
          "RW iii Cmds"
          "Ts(ms)     dT(ms)   xT(ms)  Type Option Mode  St EC       Info"
          "jjjjjjjjjj kkkkkkkk llllllll oo  pppppp qqqqqq r ssssssss"       ** see remark below
    
       where
    
          iii         is the number of Read/Write commands to display. The oldest one is displayed first
    
          jjjjjjjjjj  is the time stamp(ms) of the Read/Write command when it was recorded
    
          kkkkkkkk    is the time difference(ms) from the previous Read/Write command.
                      If this is 99999999, it means the time difference is indeterminate
    
          llllllll    is the excution time duration for which the Read/Write request ran.
                      If this is 99999999, it means the excution time is indeterminate
    
          oo          is the Read/Write command request type.

                      0x00     SEEK        Seek request
                      0x01     XFR_ALT     Read/Write transfer alternate sector request
                      0x02     XFR         Read/Write transfer request
                      0x03     RD_CHNL     Access Read Channel request
                      0x04     SRV_MEM     Access Servo Memory request
                      0x05     SRV_FLW     Add Primary Servo Flaw request
                      0x06     DITH        Dithering request
                      0x07     DITH_WR     Dithering write enhance request
                      0x08     CAL         Drive Calibration request
                      0x09     ERA_TRK     Erase Track request
                      0x0A     FDB         Execute FDB Motor Leakage Detection test request
                      0x0B     FMT_TRK     Format Track request
                      0x0C     FMT_SYS     Format System Partition request
                      0x0D     FMT_UNT     Format Unit request
                      0x0E     HD_RES      Get Head Resistance request
                      0x0F     HTR_RES     Get Heater Resistance request
                      0x10     GET_RVFF    Get Servo RVFF sensor status
                      0x11     ACFF_RECAL  ACFF Recalibrate status
                      0x12     TEMP        Get Temperature request
                      0x13     TWK_FH      Tweak fly height values request
                      0x14     VOLT        Get Voltage Levels request
                      0x15     HD_DIAG     Head diagnostics test request
                      0x16     HD_SPK      Head Spike Screen request
                      0x17     REALLOC     Immediate Reallocation request
                      0x18     MRK_PND     Mark Block for Pending Reallocation request
                      0x19     HD_FH       Measure Head Fly Heights request
                      0x1A     VCM_TEMP    Measure VCM Temperature and Resistance request
                      0x1B     MEM_DBG     Memory mapped debug capture request
                      0x1C     PROC_DL     Process defect lists request
                      0x1D     SCRB_DL     Scrub the defect lists request
                      0x1E     PROC_GDL    Process growth defect lists request
                      0x1F     REF_SRV_MEM Refresh servo memory request
                      0x20     RELD_RAP    Reload RAP parameters request
                      0x21     ERR_RATE    Measure error rate
                      0x22     DL          Retrieve defect list request
                      0x23     SRV_EC      Retrieve the servo error code FIFO request
                      0x24     SCN_DFCT    Scan defect adjacent sectors request
                      0x25     SELF_SK     Self seek request
                      0x26     SK_TUNE     Seek profile tuning request
                      0x27     SND_SRV     Send servo request
                      0x28     FIX_RAP     Fixup RAP for depop request
                      0x29     DEPOP       Send Servo Electrical Depop request
                      0x2A     INIT_DITH   Initialize Dithering parameters
                      0x2B     PES         Servo PES FIFO access request
                      0x2C     PREAMP      Set Preamp mode request
                      0x2D     SET_VOLT    Configure voltage margin level request
                      0x2E     ZAP         Configure the ZAP correction mode request
                      0x2F     SPN_UP      Spinup request
                      0x30     SPN_DN      Spindown request
                      0x31     ZLR         Track ZLR request
                      0x32     UNKNOWN     Unsupported request
                      0x33     UNMRK       Unmark Block for Pending Reallocation request
                      0x34     TCC         Update TCC Manager request
                      0x35     ALT_TONE    Write SMART Alternating Tones Request
                      0x36     XFR_TRK     Read/Write transfer track request
                      0x37     XFR_WDG     Read/Write transfer wedge request
                      0x38     PWR         Set R/W Power Management request
                      0x39     CLR_ALT     Clear R/W User Alt List request
                      0x3A     LATCH       Put heads on the latch request
                      0x3B     SV_ALT      Save R/W User Alt List to Media request
                      0x3C     MATLAB      Enter Servo Matlab Shell request
                      0x3D     SWEEP       Perform sweep of media to knock off particles request
                      0x3E     CLR_SLIP    Clear R/W Slip List request
                      0x3F     FA_AFH      Field Adjust AFH request
                      0x40     TWK_WR_PWR  Tweak write power request
                      0x41     SEC2RLL     Convert sector data to RLL data
                      0x42     SWD         SWD(Skip Write Detect) Enable/Disable request
                      0x43     CLR_ALT_ENT Clear User Alt List Entry request
                      0x44     ADJ_CLR     Adjust Target Clearance request
                      0x45     FALL        Control drive free-fall protection request
                      0x46     XFR_SEC     Read/Write transfer sector request
                      0x47     DISC_SLIP   Update servo disc slip parameters request
                      0x48     RE_ALT      Restore R/W User Alt List from Media request
                      0x49     RST_RVFF    Reset Servo RVFF sensor status request
                      0x4A     HST         Head Stability Test
                      0x4B     PREP_DL     Prepare servo for download request
                      0x4C     CLR_SD      Clear R/W Servo Defect List request
                      0x4D     HD_ASYM     Measure Head Asymmetry request
                      0x4E     SET_FAST_IO Setup Fast IO request
                      0x4F     PZT_CAL     PZT Calibration request
                      0x50     CHANNEL_FREQUENCY_REDUCE Channel Frequency Reduce request
                      0x51     UPDATE_DATA_SCRUB_LIST Update Data Srub List request
                      0x52     EBMS_CAL      EBMS Calibration request
                      0x53     HTR_CTRL    Heater Control request
                      0x54     CHNL_MEM    Access Channel Memory request
                      0x55     EFD         EFD(EBMS Fault Detect) Enable/Disable request
                      0x55     EFD         Reserved for EFD(EBMS Fault Detect) Enable/Disable request
          
          qqqqqq      is the Read/Write command request mode

                      Transfer/Seek Request Modes:
                      0x00000001           Skip mask mode enabled
                      0x00000002           Transfer of EDC/ECC data 
enabled (R/W Long)
                      0x00000004           Disable on-the-fly ECC 
correction
                      0x00000008           Read-continuous mode enabled
                      0x00000010           Apply specified seek speed 
(Seek Request Only)
                      0x00000020           Apply track offset with seek
                      0x00000040           Disable disc IOEDC Error 
Detection
                      0x00000080           Report override data 
integrity escape seed to Data Manager
                      0x00000100           Disable block address 
prepending
                      0x00000200           Disable block address prepend
 error detection
                      0x00000400           Apply override block address 
prepend and IOEDC seed
                      0x00000800           Media format mode enabled
                      0x00001000           Force Read Gate On during 
transfer
                      0x00002000           Disable seeks during transfer
 (track crossings are not allowed)
                      0x00004000           Mask out pre-amp faults
                      0x00008000           Prime seek mode enabled (Seek
 Request Only)
                      0x00010000           Enable forced sync on read 
(Transfer Requests Only)
                      0x00020000           Seek without destination 
cylinder validation (Seek Request Only)
                      0x00040000           Track ZLR mode
                      0x00080000           Do not reload channel on next
 seek
                      0x00100000           Single track transfer with 
zero latency start and wrap around logical end
                      0x00200000           Single track transfer with 
wrap around logical end
                      0x00400000           Stop after correction to 
allow error rate statistics data collection
                      0x00800000           Enable buffer parity on user 
sector disc read/write transfers, excluding long transfers
    
          pppppp      is the Read/Write request options.

                      If the R/W request options are defined as bits, then the following
                      definitions should be used to decode the R/W options.
                      
                      Transfer/Seek Request Options:
                      0x00000001 LBA       LBA Format Address Type
                      0x00000002 PBA       PBA Format Address Type
                      0x00000004 TRK       Track Format Address Type
                      0x00000008 SEC       Sector Format Address Type
                      0x00000010 WDG       Wedge Format Address Type
                      0x00000020 USR       User Partition Area
                      0x00000040 SYS       System Partition Area
                      0x00000080 SID       SMART ID Partition Area
                      0x00000100 SOD       SMART OD Partition Area
                      0x000000F0           Invalid Partition Area
                      0x00000200 RD        Normal Read Transfer Type
                      0x00000400 CMP       Compare Read Transfer Type
                      0x00000800 CRT       Cert Read Transfer Type
                      0x00001000 WR        Normal Write Transfer Type
                      0x00002000           Read Seek Type
                      0x00004000           Write Seek Type
                      0x00008000           Write Header Seek Type
                      0x00010000           Physical Seek Type
                      0x00200000           Apply long delay after seek completion
                      0x00400000           Log seek related statistics
                      0x00800000           Disable the heater on read seek
                                           Valid only if ALTITUDE_FLY_HEIGHT_MODULATION_WORKAROUND compile switch is true.
                      0x01000000           Track unique randomizer seeding.
                                           Valid only if TRACK_UNIQUE_RANDOMIZER_SEED compile switch is true.
                      0x02000000           LBA numbering of BIPS Parity Sectors
                      0x04000000           Indicate track skew should be computed
                      0x08000000           Use worst-case delta-L value
                      
                      The following R/W request options definitions are independent of whether
                      they are defined as bits or fields.
                      
                      Spinup Request Options:
                      0x00000000 NORMAL    Normal Spinup
                      0x00000001 ONLY      Spin-only Spinup
                      0x00000001 ONLY      Spin-only Spinup
                      0x00000002 BYPASS    Bypass Spinup
                      
                      Spindown Request Options:
                      0x00000000 NORMAL    Normal Spindown
                      0x00000001 QCK       Quick Spindown
                      0x00000002           Quick Low-power Spindown
                      0x00000003           Late Entry Spindown
                      
                      Read Track Request Options:
                      0x00000001           Use LBA to access track
                      0x00000002           Assert read gate for entire track regardless of errors
                      
                      Write Track Request Options:
                      0x00000001           Use LBA to access track
                      0x00000002           Disable IOEDC parity checking
                      
                      Reallocate Block Request Options:
                      0x00000001 L1        Does attempt a data scrub (i.e. write-verify) of the original block location.
                                           Does a hard reallocate if it fails.
                      0x00000002 L2        Does attempt a data scrub (i.e. write-verify) of the original block location.
                                           Does NOT do a hard reallocate if fails (unless it becomes an unrecovered error).
                      0x00000004 HARD      Does not attempt a data scrub (i.e. write-verify) of the original block location.
                      0x00000008 MRK       Adds the input LBA to the pending reallocation list.
                      0x00000010 UNMRK     Removes the input LBA from the pending reallocation list.
                      0x00000020 RGD       If reallocated, defect is categorized as Reserved Grown defect.
                      0x00000040 APR       Adds host block data to partially reallocated, input LBA.
                      0x00000080 LOG       Marks the input LBA's entry in the RST as logged.
                      
                      Configure voltage margin level request options:
                      0x00000000           No change in the voltage margin
                      0x00000001           Configure for low voltage margin
                      0x00000002           Configure for nominal voltage margin
                      0x00000003           Configure for high voltage margin
                      
                      Configure the ZAP correction mode request options:
                      0x00000000           Disable all ZAP correction
                      0x00000001           Enable Write ZAP only
                      0x00000002           Enable Read ZAP only
                      0x00000003           Enable Read and Write ZAP
                      0x00000004           Apply ZAP from Servo RAM
                      
                      Clear Alt List Request Options:
                      0x00000000           Disable save of list to media
                      0x10000000           Enable of save of list to media
                      
                      Clear Servo List Request Options:
                      0x00000000           Disable save of list to media
                      0x10000000           Enable of save of list to media
                      
                      Clear Slip List Request Options:
                      0x00000000           Disable of save of list to media
                      0x10000000           Enable of save of list to media
                      
                      Clear Alt List Entry Request Options:
                      0x00000000           Disable of save of list to media
                      0x10000000           Enable of save of list to media
                      
                      Update Servo Disc Slip Parms Request Options:
                      0x80000000           Request servo re-cal pending status only.
                      0x40000000           Force servo re-cal and update of disc slip parameters.
                      0x20000000           Send updated (if calibration was performed) disc slip parameters to servo.
                      0x10000000           Send saved disc slip parameters (from media file) to servo.
    
          r           is the R/W Sense Status.

                      0x0 RW_REQUEST_SATISFIED_WITH_RECOVERY - Request was satisfied with error recovery performed
                      0x1 RW_REQUEST_SATISFIED - Request was satisfied (no error recovery performed)
                      0x2 RW_REQUEST_FAILED -Request was not satisfied
    
          ssssssss    is the R/W Sense Error Code.
    
    Also some supplementary information may be displayed in the "Info" field.
    That includes request types, options, modes, input/output(information/response) frames
    and buffer configuration, etc.
    
    Read/Write request information and response frames:
    
          "B Aaaaaaaa"
          "L Bbbbbbbb"
          "CH Cccccc.D"
          "CHS Cccccc.D.Eeee"
    
       where
    
          Aaaaaaaa is the LBA or PBA number
          Bbbbbbbb is the Transfer Length
          Cccccc   is the cylinder and D is the head number
          Cccccc   is the cylinder, D is the head and Eeee is the sector number
    
    Read/Write request buffer configuration:
    
          "BO Ffffff"
          "VL Gggg.Hhhh"
          "BES Iiiiiiii.Jjjjjjjj.Kkkkkkkk"
    
       where
    
          Ffffff   is the buffer config option
    
          Gggg     is the start VBM index and Hhhh is the length in sectors of the VBM buffer segment.
    
          Iiiiiiii is the base address
    
          Jjjjjjjj is the top address
    
          Kkkkkkkk is the start address of the non-VBM buffer segment
    
    Remarks
    *  - This line is repeated for the number of ATA commands, specified by the ccc described above
    ** - This line is repeated for the number of Read/Write commands, specified by the iii described above.
    

  Revision History:

    0001.0000   Initial revision.
    0011.0000   Combined the PSG Diagnostic Error Codes (PSGDEC) and the Diagnostic External
                Test Service Error Codes (DETSEC) into a single set of Diagnostic Error Codes
                (DiagError).