TO: JOHN LOHMEYER X3T9.2/88-081 R1 FROM: BILL SPENCE DATE: JULY 24, 1988 RE: LOG SELECT/LOG SENSE PAGES ED. NOTE: Jim McGrath's Scn X.Z.7 at the end of 88-086R2 is actually the first of the pages defined for LOG SELECT/SENSE and, as he has said, really belongs as the second sub-section of a Scn X.ZZ LOG SELECT/SENSE PAGES, following his Scn. X.Y LOG SELECT Command and Scn. X.Z LOG SENSE Command. The first sub- section would start out something like this: "X.ZZ LOG SELECT/SENSE PAGES The pages defined for the LOG SELECT and LOG SENSE commands are listed in Table 7-m1. Table 7-m1: Page Codes for LOG SELECT/LOG SENSE Commands ============================================================================== Page Code Description Section ---------- -------------------------------------------- ------- 00h Summary List of Supported Pages X.ZZ.1 01h Buffer Overrun/Underrun Counters X.ZZ.2 02h Write Error Counters X.ZZ.3 03h Read Error Counters X.ZZ.4 04h Read Reverse Error Counters X.ZZ.5 05h Verify Error Counters X.ZZ.6 06h Non-Media-Related Error Event Counters X.ZZ.7 07h Last n Error Event List X.ZZ.8 08h - 2Fh Reserved ^----^-Is this column 30h - 3Eh Vendor Unique really needed? 3Fh Reserved =============================================================================" Then McGrath's Scn. X.Z.7 would follow as Scn. X.ZZ.1, including Table 7-m2. Then would come: "X.ZZ.2 BUFFER OVERRUN/UNDERRUN COUNTERS Table 7-m3: Buffer Overrun/Underrun Counters Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | Page Code (01h) | -----|-----------------------------------------------------------------------| 1 | Reserved | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Page Length (n) ---| 3 | (LSB) | -----|-----------------------------------------------------------------------| 4 | (MSB) | - - -|- - Parameter Code - -| 5 | (LSB) | -----|-----------------------------------------------------------------------| 6 | Parameter Control Byte | -----|-----------------------------------------------------------------------| 7 | Parameter Length (m) | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - Parameter Value - -| - - -|- - - -| 7+m | (LSB) | -----|-----------------------------------------------------------------------| 7+m+1| (MSB) | - - -|- - Parameter Code - -| 7+m+2 (LSB) | -----|-----------------------------------------------------------------------| - - -|- - - -| - - -|- - - -| - - -|- - - -| 3+n | (LSB) | ============================================================================== Note: Bytes 4 - 7+m are repeated for each Buffer Overrun/Underrun Counter." ED. NOTE: Next would come the Floryance/Lohmeyer text starting with the last paragraph of p. 7-59 of S2R4. Included would be the table on p. 7-60, which would become Table 7-m4 in the present sequence, and the last par. would be the par. following the table on p. 7-60. Further note: the discussion at Boise got into various new channels, including a "transfer rate too fast" concept. But the text on pp. 7-59 and 7-60 is pretty clear on what is needed and why. Even though I had suggested paring it down in what became 88-81R0, I withdraw that and recommend that S2R5, at least, carry the S2R4 text and parameter codes unchanged until we can look over the newly-assembled material. Next would come the remaining pages which have already been more or less defined, as follows: "X.ZZ.3 WRITE ERROR COUNTERS Table 7-m5: Write Error Counters Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | Page Code (02h) | -----|-----------------------------------------------------------------------| 1 | Reserved | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Page Length (n) ---| 3 | (LSB) | -----|-----------------------------------------------------------------------| 4 | (MSB) | - - -|- - Parameter Code - -| 5 | (LSB) | -----|-----------------------------------------------------------------------| 6 | Parameter Control Byte | -----|-----------------------------------------------------------------------| 7 | Parameter Length (m) | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - Parameter Value - -| - - -|- - - -| 7+m | (LSB) | -----|-----------------------------------------------------------------------| 7+m+1| (MSB) | - - -|- - Parameter Code - -| 7+m+2 (LSB) | -----|-----------------------------------------------------------------------| - - -|- - - -| - - -|- - - -| - - -|- - - -| 3+n | (LSB) | ============================================================================== Note: Bytes 4 - 7+m are repeated for each Write Error Counter. This page provides for 6 optional performance counters. Table 7-m6 identifies the counters by function. In this page, because it supports the calculation of performance ratios, when any counter reaches its maximum value, the incre- menting of all counters shall cease until reset. Optionally, an Asynchronous Event Notification may be sent to the Initiator after the current command or CHECK CONDITION status may be returned at the end of the current command with HARDWARE ERROR sense key and LOG COUNTER AT MAXIMUM additional sense code set. Table 7-m6: Parameter Codes for WRITE ERROR COUNTERS Page ============================================================================== Par. Code Description ---------- ------------------------------------------------------------------ 0000h Write Errors Corrected on-the-Fly 0001h Write Errors Corrected by other means 0002h Total Re-Writes 0003h Write Total Errors Corrected 0004h Write Total Times Correction Algorithm Processed 0005h Write Total Bytes Processed ============================================================================== X.ZZ.4 READ ERROR COUNTERS Table 7-m7: Read Error Counters Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | Page Code (03h) | -----|-----------------------------------------------------------------------| 1 | Reserved | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Page Length (n) ---| 3 | (LSB) | -----|-----------------------------------------------------------------------| 4 | (MSB) | - - -|- - Parameter Code - -| 5 | (LSB) | -----|-----------------------------------------------------------------------| 6 | Parameter Control Byte | -----|-----------------------------------------------------------------------| 7 | Parameter Length (m) | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - Parameter Value - -| - - -|- - - -| 7+m | (LSB) | -----|-----------------------------------------------------------------------| 7+m+1| (MSB) | - - -|- - Parameter Code - -| 7+m+2 (LSB) | -----|-----------------------------------------------------------------------| - - -|- - - -| - - -|- - - -| - - -|- - - -| 3+n | (LSB) | ============================================================================== Note: Bytes 4 - 7+m are repeated for each Read Error Counter. This page provides for 6 optional performance counters. Table 7-m8 identifies the counters by function. In this page, because it supports the calculation of performance ratios, when any counter reaches its maximum value, the incre- menting of all counters shall cease until reset. Optionally, an Asynchronous Event Notification may be sent to the Initiator after the current command or CHECK CONDITION status may be returned at the end of the current command with HARDWARE ERROR sense key and LOG COUNTER AT MAXIMUM additional sense code set. Table 7-m8: Parameter Codes for READ ERROR COUNTERS Page ============================================================================== Par. Code Description ---------- ------------------------------------------------------------------ 0000h Read Errors Corrected on-the-Fly 0001h Read Errors Corrected by other means 0002h Total Re-Reads 0003h Read Total Errors Corrected 0004h Read Total Times Correction Algorithm Processed 0005h Read Total Bytes Processed ============================================================================== X.ZZ.5 READ REVERSE ERROR COUNTERS Table 7-m9: Read Reverse Error Counters Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | Page Code (04h) | -----|-----------------------------------------------------------------------| 1 | Reserved | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Page Length (n) ---| 3 | (LSB) | -----|-----------------------------------------------------------------------| 4 | (MSB) | - - -|- - Parameter Code - -| 5 | (LSB) | -----|-----------------------------------------------------------------------| 6 | Parameter Control Byte | -----|-----------------------------------------------------------------------| 7 | Parameter Length (m) | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - Parameter Value - -| - - -|- - - -| 7+m | (LSB) | -----|-----------------------------------------------------------------------| 7+m+1| (MSB) | - - -|- - Parameter Code - -| 7+m+2 (LSB) | -----|-----------------------------------------------------------------------| - - -|- - - -| - - -|- - - -| - - -|- - - -| 3+n | (LSB) | ============================================================================== Note: Bytes 4 - 7+m are repeated for each Read Reverse Error Counter. This page provides for 6 optional performance counters. Table 7-n0 identifies the counters by function. In this page, because it supports the calculation of performance ratios, when any counter reaches its maximum value, the incre- menting of all counters shall cease until reset. Optionally, an Asynchronous Event Notification may be sent to the Initiator after the current command or CHECK CONDITION status may be returned at the end of the current command with HARDWARE ERROR sense key and LOG COUNTER AT MAXIMUM additional sense code set. Table 7-n0: Parameter Codes for READ REVERSE ERROR COUNTERS Page ============================================================================== Par. Code Description ---------- ------------------------------------------------------------------ 0000h Read Reverse Errors Corrected on-the-Fly 0001h Read Reverse Errors Corrected by other means 0002h Total Re-Reads Reverse 0003h Read Reverse Total Errors Corrected 0004h Read Reverse Total Times Correction Algorithm Processed 0005h Read Reverse Total Bytes Processed ============================================================================== X.ZZ.6 VERIFY ERROR COUNTERS Table 7-n1: Verify Error Counters Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | Page Code (05h) | -----|-----------------------------------------------------------------------| 1 | Reserved | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Page Length (n) ---| 3 | (LSB) | -----|-----------------------------------------------------------------------| 4 | (MSB) | - - -|- - Parameter Code - -| 5 | (LSB) | -----|-----------------------------------------------------------------------| 6 | Parameter Control Byte | -----|-----------------------------------------------------------------------| 7 | Parameter Length (m) | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - Parameter Value - -| - - -|- - - -| 7+m | (LSB) | -----|-----------------------------------------------------------------------| 7+m+1| (MSB) | - - -|- - Parameter Code - -| 7+m+2 (LSB) | -----|-----------------------------------------------------------------------| - - -|- - - -| - - -|- - - -| - - -|- - - -| 3+n | (LSB) | ============================================================================== Note: Bytes 4 - 7+m are repeated for each Verify Error Counter. This page provides for 6 optional performance counters. Table 7-n2 identifies the counters by function. In this page, because it supports the calculation of performance ratios, when any counter reaches its maximum value, the incre- menting of all counters shall cease until reset. Optionally, an Asynchronous Event Notification may be sent to the Initiator after the current command or CHECK CONDITION status may be returned at the end of the current command with HARDWARE ERROR sense key and LOG COUNTER AT MAXIMUM additional sense code set. Table 7-n2: Parameter Codes for VERIFY ERROR COUNTERS Page ============================================================================== Par. Code Description ---------- ------------------------------------------------------------------ 0000h Verify Errors Corrected on-the-Fly 0001h Verify Errors Corrected by other means 0002h Total Verify Re-Reads 0003h Verify Total Errors Corrected 0004h Verify Total Times Correction Algorithm Processed 0005h Verify Total Bytes Processed ============================================================================== X.ZZ.7 NON-MEDIA-RELATED ERROR EVENT COUNTERS Table 7-n3: Non-Media-Related Error Event Counters Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | Page Code (06h) | -----|-----------------------------------------------------------------------| 1 | Reserved | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Page Length (m+4) ---| 3 | (LSB) | -----|-----------------------------------------------------------------------| 4 | (MSB) | - - -|- - Parameter Code - -| 5 | (LSB) | -----|-----------------------------------------------------------------------| 6 | Parameter Control Byte | -----|-----------------------------------------------------------------------| 7 | Parameter Length (m) | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - Parameter Value - -| - - -|- - - -| - - -|- - - -| 7+m | (LSB) | ============================================================================== This page provides for summing the occurrences of recoverable error events other than write, read, or verify failures. No discrimination among types of events is provided for. X.ZZ.8 LAST n ERROR EVENTS LIST Table 7-n4: Last n Error Events List Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | Page Code (07h) | -----|-----------------------------------------------------------------------| 1 | Reserved | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Page Length (n) ---|