Kevin-Nakamoto / LTO-CM-Analyzer

Open-source project for LTO (Linear Tape-Open) tape Cartridge Memory (CM) Analyzer
MIT License
19 stars 3 forks source link

LTO6 memory dump decodes incorrectly - Tape Usage data incorrect #2

Open philpem opened 3 years ago

philpem commented 3 years ago

I dumped a Type-3 LTO-CM memory device on a defective (to be RMA'd) HP LTO6 tape. I'm seeing this decoded as follows:

-- Usage Information 3 --
  Page Id: 210B
  Page Length: 0060
  Drive Manufacturer: IBM
  Drive Id: YR10WT0566
  Suspended Writes at Append: 14644
  Thread Count: 538976288
  Total Data Sets Written: 14
  Total Data Sets Read: 45310
  Total Write Retries: 0
  Total Read Retries: 1092
  Total Unrecovered Write Errors: 0
  Total Unrecovered Read Errors: 243
  Total Number of Suspended Writes: 0
  Total Number of Fatal Suspended Writes: 4
  CRC: 00000000

The error counts are obviously invalid. IBM ITDT shows:

image

Tape dump (binary, zipped): HPLTO6_badtape_dump.zip

philpem commented 3 years ago

Text data from ITDT:

Tape Usage Log:

 #NO  PARAM CODE                    PARAM VALUE 
 1    Volume Mounts                 18
 2    Volume Datasets Written       1592841
 3    Volume Write Retries          2378
 4    Volume Write Perms            0
 5    Volume Suspended Writes       37
 6    Volume Fatal Suspended Writes 0
 7    Volume Datasets Read          1494
 8    Volume Read Retries           7
 9    Volume Read Perms             0
 10   Volume Suspended Reads        0
 11   Volume Suspended Reads        0

Volume mount history:

 #NO DRV-MFG   DRV-ID       Thread Count DS-WRITE DS-READ  
 1   IBM       YR10WT056694 15           1063143  1196
 2   IBM       YR10WT056694 16           1589081  1308
 3   IBM       YR10WT056694 17           1592841  1406
 4   IBM       YR10WT056694 18           1592841  1494
philpem commented 3 years ago

I've re-read the LTOCM after ejecting it from the drive, just in case the drive incremented the thread count.

A0004C2B_after_eject.zip

Kevin-Nakamoto commented 3 years ago

Thank you, I was kind of expecting this issue. The biggest challenge is that the script is based on LTO-1 ECMA specification. I have been looking for more information on the recent LTO generations including LTO-6, but not found yet. Thus, this issue is a limitation of the code. Anyone who found the specifications, it would be appreciated if you could share it with me. Then, I can fix this.

Edit: I will make this issue "Open" until we find the specifications.