This page is to explain the intention of Sony's proposal so that the members of the SCSI committee can understand the reason behind our concept. 1) ERROR RECOVERY PARAMETERS (MODE SELECT PAGE 1) 1-1) The problems with the present specification With the following type of applications, a real time data transfer or a continuous data transfer is required even if the data has some errors, but with the present SCSI-2 specification (Rev. 10), the CD-ROM drive stops the data transfer as soon as it detects some errors. This is rather inconvenient for the users who wish to control the way of the data transfer. a) XA application with sound data. b) An application with bit map graphic data which requires fast data transfer, or real time data transfer without any interrupt. c) Some applications which errors to be handled within the host computer rather than in the CD-ROM drive. 1-2) Our proposal Our proposal is to support RC bit (Bit 4) so that the CD-ROM drive will not stop the data transfer even if the data has some errors providing this bit is set to "1". For this purpose, we would like to add four values as Byte 2 value which are 10, 11, 14 and 15. The point is that this proposal has backward compatibility with the original format, therefore we are proposing the format as shown in the Table 13-39, namely, we added four parameters on top of the existing format (Table 13-35 in the original document), though it might look rather unusual to the new comer, rather than keeping the values in sequence. 1-3) Bug found in the SCSI document We found there were two values missing in the Table 13-35. The two values 24 and 25 are missing on the original document. 2) SUB-Q CODE READ COMMAND 1-1) Background of this proposal On our proposal we submitted in June this year, Mr. Paul Boulay presented to choose one idea out of three ideas. (Option-1 to 3 in X3T9.2/89-095) The option-1 is his proposal, the option-2 is Sony's proposal, and the option-3 is a proposal with different approach. Therefore we, as Sony, would like to propose the second best idea for both of us, which covers both ideas. 1-2) Problem with the present format With present SCSI-2 (Rev. 10), the CD-ROM drive always has to look for if the following two data existing on the media, i.e., a) Media Catalog Number (UPC/Bar Code) b) Track International-Standard-Recording Code (ISRC) Drive also has to return other information, such as the address data of the sector the drive is reading the data at the time of command execution from the host. From our experience, the type of disc with these data is very rare and we do not think there are many cases which require these type of informations from the disc. In other words, the most of applications will be using this command just to get the data other than these two informations, i.e., UPC/Bar Code, and ISRC. For argument sake, let's call the data other than UPC/Bar Code and ISRC as "main data". As explained below, we believe that the present implementation creates some extra work load for both of us, namely for CD-ROM drive manufacturers as well as for users. REASONS FOR INCONVENIENCE a) The length of the returned value The most applications or user will require the main data (mentioned above, and the length is 16 bytes) alone, but two data are always returned, which could be as long as extra 32 bytes. It is possible to cut these unwanted data by setting the allocation length to limit the data length, but we know that the most of SCSI users set this allocation length to the maximum. This means the most of users/applications have to read these redundant 32 bytes of data all the time. We believe this not only creates some confusions to users, but also it deteriorates the throughput of the software. It is much easier and less confusing if the length of the return value is always known to the users, i.e. if it is allowed to have a command which can specify the data that user needs. This also contributes to the CD-ROM drive vendors as it simplifies the design of controller, which in tern, contributes to the reliability, the cost, or to the performance. b) The recorded frequency of UPC/Bar Code or ISRC Both UPC/Bar Code and ISRC are not recorded in every block. The frequency of these data are at least in every 100 blocks, therefore the drive has to read up to 100 blocks to find these data. For example, with SCSI-2 Rev. 10 or Mr. Boulay's proposal, the drive may not be able to read this data with Read Sub-Channel command if the optical head is at innermost track in the hold track state. To avoid confusion and misunderstanding, it is necessary to add some cautions to users, which will make the SCSI documents more complicated and awkward to users. Only way to avoid the problem mentioned above column is to have scan commands as shown in the table in this page. c) Low cost version of CD-ROM drive There may be a case to eliminate the feature to read UPC/Bar code or ISRC on some low cost version of CD-ROM drive. If the drive supports Sub-Channel command formatted according to SCSI-2 Rev. 10 or to Mr. Boulay's proposal, it is not possible for users to judge whether the drive supports this function or not unless he has a document for the drive with him. It is easy to find if the drive supports this function or not with our proposal, i.e., with different command format for each return value, because the drive will return the Illegal Request when the host request one of these data which is not supported. d) The concept of our proposal Our proposal with Mr. Lawrence J. Lamers' suggestion, is to define one byte as "Sub-Q Data Format Byte" in the CDB of the command packet as this idea will support both Mr. Boulay's proposal (Option- 1) as well as our previous proposal (his Option-2). The followings are our proposal on the code, from which you will be able to see how we tried to maintain the compatibility with either Mr. Boulay's proposal or SCSI-2 Rev. 10. =============================================================== Sub-Q Data Format Code Return Data --------------------------------------------------------------- 00 h Same as Rev. 10 or Mr. Boulay's idea 01 h Main data (Location data) only 02 h UPC/Bar Code only 03 h ISRC only =============================================================== 13.2.10. READ SUB-CHANNEL Command Table 13-17: READ SUB-CHANNEL Command ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Operation Code (42h) | -----|-----------------------------------------------------------------------| 1 | Logical Unit Number | Reserved | MSF |Reserved| -----|-----------------------------------------------------------------------| 2 |Reserved| SubQ | Reserved | -----|-----------------------------------------------------------------------| 3 | Sub Channel Data Format | -----|-----------------------------------------------------------------------| 4 | Reserved | -----|-----------------------------------------------------------------------| 5 | Reserved | -----|-----------------------------------------------------------------------| 6 | Track Number | -----|-----------------------------------------------------------------------| 7 | (MSB) | -----|--- Allocation Length ---| 8 | (LSB) | -----|-----------------------------------------------------------------------| 9 | Control | ============================================================================== The READ SUB-CHANNEL command (Table 13-17) requests that the target return the requested sub-channel data of the current block plus the state of an on- going audio play operation. See 13.1.5. for a description of the MSF bit. The Sub Q bit set to one requests the target return the Q sub-channel data. The Sub Q bit set to zero requests that no sub-channel data be returned. This shall not be considered an error. NOTE: The other bits in this byte are reserved for future standardization at which time they may be defined to request other sub-channel data. The Sub Channel Data Format field specifies the returned Sub Channel Data. If this field is set to 00h, the whole Sub-Q Channel data following to the sub channel header is returned. See Table 13-19. If this field is set to 01h, 02h or 03h, a part of the Sub-Q Channel data following to the sub channel header is returned. See Table 13-23, 13-24 and 13-25. Table 13-18: Sub Channel Data Format field ============================================================================== Format Code | Returned data | ----------------|------------------------------------------------------------| 00h | Sub-Q Channel data ----------------|------------------------------------------------------------| 01h | CD-ROM address ----------------|------------------------------------------------------------| 02h | Media Catalog Number (UPC/Bar Code) ----------------|------------------------------------------------------------| 03h | Track International-Standard-Recording-Code (ISRC) ----------------|------------------------------------------------------------| 04h - EFh | Reserved ----------------|------------------------------------------------------------| F0h - FFh | Vendor Unique ============================================================================== The Track Number field specifies the track number from which the ISR Code is transferred. This field must have the value between 01h and 63h (99bcd), and is valid only when the Sub Channel Data Format field has 03h. In this case, the target returns the ISR Code of the Track if it is detected. In other cases, CHECK CONDITION status is reported. The sense key and additional sense code are set to ILLEGAL REQUEST/Illegal value in CDB. IMPLEMENTORS NOTE: Sub-Q Channel Data returned responding to this command with Sub Channel Data Format field code 00h may be from the last appropriate sector encountered by a Read or Play command or drive level seeking or position holding operation. The target is responsible that the data returned are consistent. For example, the International-standard- Recording-Code (ISRC) data reported must have been read from the same track as the reported current position data. CD-Rom Address Data returned responding to this command with Sub Channel Data Format field code 01h shall be from the sub-channel Q information of the current block. Media Catalog Number Data returned responding to this command with Sub Channel Data Format field code 02h may be from the sub-channel Q information of any block including UPC/Bar Code data. (This code is constant anywhere in every applicable disc.) Track ISRC data returned responding this command with Sub Channel Data Format field code 03h may be from the sub-channel Q information of any block including ISRC in the specified track. Table 13-19: SUB-Q CHANNEL Data Format Sub Channel Header ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | -----|-----------------------------------------------------------------------| 1 | Audio Status | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Sub-Channel Data Length ---| 3 | (LSB) | ============================================================================== | Sub-Q channel Data Block | ============================================================================== 4 | Sub Channel Data Format code (00h) | -----|-----------------------------------------------------------------------| 5 | ADR | Control | -----|-----------------------------------------------------------------------| 6 | Track Number | -----|-----------------------------------------------------------------------| 7 | Index Number | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - - - Absolute CD-ROM Address - - - -| 11 | (LSB) | -----|-----------------------------------------------------------------------| 12 | (MSB) | - - -|- - - - Track Relative CD-ROM Address - - - -| 15 | (LSB) | -----|-----------------------------------------------------------------------| 16 | MCVal | Reserved | -----|-----------------------------------------------------------------------| 17 | (MSB) | - - -|- - - - Media Catalog Number (UPC/Bar Code) - - - -| 31 | (LSB) | -----|-----------------------------------------------------------------------| 32 | TCVal | Reserved | -----|-----------------------------------------------------------------------| 33 | (MSB) | - - -|- - - - Track International-Standard-Recording-Code (ISRC) - - - -| 47 | (LSB) | ============================================================================== The Sub-Q Channel data format (Table 13-19) consists of a four-byte header followed by the sub-channel data block. The header contains the audio status byte and the sub-channel data length field. If the sub-Q bit is zero, the target shall not return the Sub-Q Channel data block. The audio status field indicates the status of an audio play operation. The audio status values are defined in Table 13-20. Audio status values greater than zero are returned only to the initiator that requested the last audio play operation. Audio status values 13h and 14h return information on previous audio operations; they are returned only once after the condition has occurred. If another audio play operation is not requested, the audio status returned for subsequent READ SUB-CHANNEL commands is 15h. Table 13-20: Audio Status Codes ============================================================================== Status Description | ----------|------------------------------------------------------------------| 00h | Audio status byte not supported or not valid | ----------|------------------------------------------------------------------| 11h | Audio play operation in progress. | ----------|------------------------------------------------------------------| 12h | Audio play operation paused. | ----------|------------------------------------------------------------------| 13h | Audio play operation successfully completed. | ----------|------------------------------------------------------------------| 14h | Audio play operation stopped due to error. | ----------|------------------------------------------------------------------| 15h | No current audio status to return | ============================================================================== The sub-channel data length specifies the length in bytes of the following sub-channel data block. A sub-channel data length of zero indicates that no sub-channel data block is included in the returned data. IMPLEMENTORS NOTE: Usual values for Sub-channel data length are 0, 12, 28 and 44 bytes. Sub-channel data length does not include the Sub Channel Header. The data in the sub-channel data block is obtained from the sub-channel Q information of the current block. IMPLEMENTORS NOTE: When the type of information encoded in the sub-channel Q of the current sector is the media catalog number or ISRC; the track, index, and address fields should be extrapolated from the previous sector. The ADR field gives the type of information encoded in the sub-channel Q of this block, as shown in Table 13-21. Table 13-21: ADR Sub-channel Q Field ============================================================================== ADR Code Description ------------------------------------------------------------------------------ 0h Sub-channel Q mode information not supplied. 1h Sub-channel Q encodes current position data. (i.e. track, index, absolute address, relative address.) 2h Sub-channel Q encodes media catalog number. 3h Sub-channel Q encodes ISRC. 4h - Fh Reserved ============================================================================== The control bits are defined in Table 13-22. Table 13-22: Sub-channel Q Control Bits ============================================================================== Bit equals zero equals one ------------------------------------------------------------------------------ 0 Audio without pre-emphasis Audio with pre-emphasis 1 Digital copy prohibited Digital copy permitted 2 Audio track Data track 3 Two channel audio Four channel audio ============================================================================== The track number specifies the current track number. The index number specifies the index number in the current track. The absolute CD-ROM address field gives the current location relative to the logical beginning of the media. If the MSF bit is zero, this field is a logical block address. If the MSF bit is one, this field is an absolute MSF address. (See 13.1.5.) The track relative CD-ROM address field gives the current location relative to the logical beginning of the current track. If the MSF bit is zero, this field is a track relative logical block address. (This is a negative value, expressed as a twos complement number, if the current block is in the pre-gap area of a track. See 13.1.5). If the MSF bit is one, this field is the relative MSF address from the Q sub-channel. A media catalog valid (MCVal) bit of one indicates that the media catalog number field is valid. A MCVal bit of zero indicates that the media catalog number field is not valid. The media catalog number field contains the identifying number of this media according to the uniform product code values (UPC/EAN Bar Coding) expressed in ASCII. Non-zero values in this field are controlled by the Uniform Product Code Council and the European Article Number Council (see Section 2). A value in this field of all ASCII zeros indicates that the media catalog number is not supplied. The track code valid (TCVal) bit of one indicates that the track ISRC field is valid. A TCVal bit of zero indicates that the track International- Standard-Recording-Code (ISRC) field is not valid. The track ISRC field contains the identifying number of this media according to the ISRC standards (DIN-31-621) expressed in ASCII. Table 13-23: CD-ROM ADDRESS Data Format Sub Channel Header ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | -----|-----------------------------------------------------------------------| 1 | Audio Status | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Sub-Channel Data Length ---| 3 | (LSB) | ============================================================================== | CD-ROM ADDRESS Data Block | ============================================================================== 4 | Sub Channel Data Format code (01h) | -----|-----------------------------------------------------------------------| 5 | ADR | Control | -----|-----------------------------------------------------------------------| 6 | Track Number | -----|-----------------------------------------------------------------------| 7 | Index Number | -----|-----------------------------------------------------------------------| 8 | (MSB) | - - -|- - - - Absolute CD-ROM Address - - - -| 11 | (LSB) | -----|-----------------------------------------------------------------------| 12 | (MSB) | - - -|- - - - Track Relative CD-ROM Address - - - -| 15 | (LSB) | ============================================================================== IMPLEMENTORS NOTE: Usual values for Sub-channel data length, which does not include the Sub Channel Header, is 0 or 12 bytes. When the Sub-Q bit in the CDB is set to zero, the target returns the Sub Channel Header. However other data are not returned. Table 13-24: MEDIA CATALOG NUMBER Data Format Sub Channel Header ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | -----|-----------------------------------------------------------------------| 1 | Audio Status | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Sub-Channel Data Length ---| 3 | (LSB) | ============================================================================== | MEDIA CATALOG NUMBER Data Block | ============================================================================== 4 | Sub Channel Data Format code (02h) | ------------------------------------------------------------------------------ 5 | Reserved | ------------------------------------------------------------------------------ 6 | Reserved | ------------------------------------------------------------------------------ 7 | Reserved | ------------------------------------------------------------------------------ 8 | MCVal | Reserved | -----|-----------------------------------------------------------------------| 9 | (MSB) | - - -|- - - - Media Catalog Number (UPC/Bar Code) - - - -| 23 | (LSB) | ============================================================================== When the Media Catalog Number is detected, the MCVal bit is set to one. If the number is not detected, the MCVal bit is set to zero to indicate the Media Catalog Number is invalid. IMPLEMENTORS NOTE: Usual values for Sub-channel data length, which does not include the Sub Channel Header, is 0 or 20 bytes. When the Sub-Q bit in the CDB is set to zero, the target returns the Sub Channel Header. However other data are not returned. Table 13-25: TRACK-INTERNATIONAL-STANDARD-RECORDING Data Format Sub Channel Header ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | Reserved | -----|-----------------------------------------------------------------------| 1 | Audio Status | -----|-----------------------------------------------------------------------| 2 | (MSB) | -----|--- Sub-Channel Data Length ---| 3 | (LSB) | ============================================================================== | TRACK-INTERNATIONAL-STANDARD-RECORDING Data Block ============================================================================== 4 | Sub Channel Data Format code (03h) | ------------------------------------------------------------------------------ 5 | ADR | Control | ------------------------------------------------------------------------------ 6 | Track Number | ------------------------------------------------------------------------------ 7 | Reserved | ------------------------------------------------------------------------------ 8 | TCVal | Reserved | -----|-----------------------------------------------------------------------| 9 | (MSB) | - - -|- - - - Track-International-Standard-Recording-Code (ISRC) - - - -| 23 | (LSB) | ============================================================================== When the ISRC is detected, the TCVal bit is set to one. If the ISRC is not detected, the TCVal bit is set to zero to indicate the ISRC is invalid. IMPLEMENTORS NOTE: Usual values for Sub-channel data length, which does not include the Sub Channel Header, is 0 or 20 bytes. When the Sub-Q bit in the CDB is set to zero, the target returns the Sub Channel Header. However other data are not returned. 13.3.3.3. Read Error Recovery Parameters Table 13-38: Read Error Recovery Parameters Page ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | ============================================================================== 0 | PS |Reserved| Page Code (01h) | -----|-----------------------------------------------------------------------| 1 | Parameter Length (06h) | -----|-----------------------------------------------------------------------| 2 | Error Recovery Parameter | -----|-----------------------------------------------------------------------| 3 | Read Retry Count | -----|-----------------------------------------------------------------------| 4 | Reserved | -----|-----------------------------------------------------------------------| 5 | Reserved | -----|-----------------------------------------------------------------------| 6 | Reserved | -----|-----------------------------------------------------------------------| 7 | Reserved | ============================================================================== The read error recovery parameters page (Table 13-38) specifies the error recovery parameter the target shall use during any command that performs a data read operation to the media (e.g., READ, READ TOC, etc.). The parameters savable (PS) bit is only used with the MODE SENSE command. This bit is reserved with the MODE SELECT command. A PS bit of one indicates that the target is capable of saving the page in a non-volatile vendor- specific location. IMPLEMENTORS NOTE: The implementation of error recovery procedures for CD- ROM devices is markedly different than those used for magnetic medium disk drives. At least one level of error correction (i.e. CIRC) is required to transfer the the data stream. Therefore the performance of the drive may differ substantially from what would be expected by sending the same error recovery parameters to a magnetic medium device. The correlation of the error recovery parameter and the bit settings defined for CD-ROM devices is given in Table 13-39. The interpretation of these bit settings for CD-ROM devices is given in Tables 13-40, 13-41, 13-42, 13-43 and 13-44. If the error recovery parameter is set to any other value the command shall be terminated with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN PARAMETER LIST. The read retry count field specifies the number of times that the controller shall attempt its read recovery algorithm. Table 13-39: Error Recovery Parameter Bit Settings ============================================================================== Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Byte | | | | | | | | | 2 | | | TB | RC | | PER | DTE | DCR | Value| | | | | | | | | ============================================================================== 00 | 0 0 0 0 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 01 | 0 0 0 0 1 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 04 | 0 0 1 0 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 05 | 0 0 1 0 1 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 06 | 0 0 1 1 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 07 | 0 0 1 1 1 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 20 | 1 0 0 0 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 21 | 1 0 0 0 1 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 24 | 1 0 1 0 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 25 | 1 0 1 0 1 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 26 | 1 0 1 1 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 27 | 1 0 1 1 1 | +----+--------+--------+--------+--------+--------+--------+--------+--------| 10 | 0 1 0 0 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 11 | 0 1 0 0 1 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 14 | 0 1 1 0 0 | -----+--------+--------+--------+--------+--------+--------+--------+--------| 15 | 0 1 1 0 1 | -----+--------+--------+--------+--------+--------+--------+--------+--------| ============================================================================== NOTE: Reserved bits are not shown and shall be zero. A CIRC recovered data error is defined as a block for which the CIRC based error correction algorithm was unsuccessful for a read attempt, but on a subsequent read operation no error was reported. The number of subsequent read operations is limited to the read retry count. Layered error correction was not used. A CIRC unrecovered data error is defined as a block for which the CIRC based error correction algorithm was unsuccessful on all read attempts up to the read retry count. Layered error correction was not used. An L-EC recovered data error is defined as a block for which the CIRC based error correction algorithm was unsuccessful but the layered error correction was able to correct the block within the read retry count. An L-EC uncorrectable data error is defined as a block which could not be corrected by layered error correction within the read retry count. Table 13-40: CD-ROM Error Recovery Parameters 00h - 04h ============================================================================== Error Recovery Description ------------------------------------------------------------------------------ 00h The maximum error recovery procedures available are used. If an error occurs which is uncorrectable with the error correction codes (ECC) on the media, data transfer is terminated with CHECK CONDITION status. The block with the error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. Recovered errors are not reported. 01h Only retries of the read operation and CIRC are used (layered error correction is not used). Only CIRC unrecovered data errors are reported. If an CIRC unrecovered data error occurs data transfer is terminated with CHECK CONDITION status. The block with the error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. Recovered errors are not reported. 04h The maximum error recovery procedures available are used. Recovered data errors are reported. If a recovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where a recovered data error was detected. If an data error occurs which is uncorrectable with the ECC information available on the media, data transfer is terminated and CHECK CONDITION status is reported. The block with the error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the uncorrectable error was detected. ============================================================================= Table 13-41: CD-ROM Error Recovery Procedures 05h - 07h ============================================================================== Error Recovery Description ------------------------------------------------------------------------------ 05h Only retries of the read operation and CIRC are used (layered error correction is not used). Recovered data errors are reported. If a recovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where a CIRC recovered data error was detected. If an unrecovered data error occurs data transfer is terminated and CHECK CONDITION status is reported. The block with the error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. 06h The maximum error recovery procedures are used. Recovered data errors are reported. If a recovered data error occurs data transfer is terminated and CHECK CONDITION status is reported. The block with the recovered error is not transferred. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where the recovered data error was detected. If a data error occurs which is uncorrectable with the ECC information on the medium, data transfer is terminated with CHECK CONDITION status. The block with the error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the uncorrectable error was detected. 07h Only retries of the read operation are used (layer error correction is not used). CIRC recovered data errors are reported. If a CIRC recovered data error occurs data transfer is terminated with CHECK CONDITION status. The block with the recovered error is not transferred. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where the recovered data error was detected. If an CIRC unrecovered data error occurs data transfer is terminated with CHECK CONDITION status. The block with the error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. ============================================================================= Table 13-42: CD-ROM Error Recovery Procedures 20h - 24h ============================================================================== Error Recovery Description ------------------------------------------------------------------------------ 20h The maximum error recovery procedures available are used. If an error occurs which is uncorrectable with the error correction codes (ECC) on the media, data transfer is terminated with CHECK CONDITION status. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. Recovered errors are not reported. 21h Only retries of the read operation and CIRC are used (layered error correction is not used). Only CIRC unrecovered data errors are reported. If an CIRC unrecovered data error occurs data transfer is terminated with CHECK CONDITION status. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. Recovered errors are not reported. 24h The maximum error recovery procedures available are used. Recovered data errors are reported. If a recovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where a recovered data error was detected. If an data error occurs which is uncorrectable with the ECC information available on the media data transfer is terminated and CHECK CONDITION status is reported. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the uncorrectable error was detected. ============================================================================== Table 13-43: CD-ROM Error Recovery Procedures 25h - 27h ============================================================================== Error Recovery Description ------------------------------------------------------------------------------ 25h Only retries of the read operation and CIRC are used (layered error correction is not used). Recovered data errors are reported. If a recovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to RECOVERED ERROR. The information bytes give the the address of the last block where an CIRC recovered data error was detected. If an unrecovered data error occurs data transfer is terminated and CHECK CONDITION status is reported. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. 26h The maximum error recovery procedures are used. Recovered data errors are reported. If a recovered data error occurs data transfer is terminated and CHECK CONDITION status is reported. The block with the recovered error is transferred. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where the recovered data error was detected. If a data error occurs which is uncorrectable with the ECC information on the media, data transfer is terminated with CHECK CONDITION status. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the uncorrectable error was detected. 27h Only retries of the read operation are used (layer error correction is not used). CIRC recovered data errors are reported. If a CIRC recovered data error occurs data transfer is terminated with CHECK CONDITION status. The block with the recovered error is transferred. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where the recovered data error was detected. If an CIRC unrecovered data error occurs data transfer is terminated with CHECK CONDITION status. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. ============================================================================== Table 13-44: CD-ROM Error Recovery Parameters 10h - 15h ============================================================================== Error Recovery Description ------------------------------------------------------------------------------ 10h The maximum error recovery procedures available are used. If an error occurs which is uncorrectable with the error correction codes (ECC) on the media, data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. Recovered errors are not reported. 11h Only retries of the read operation and CIRC are used (layered error correction is not used). Only CIRC unrecovered data errors are reported. If an CIRC unrecovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. Recovered errors are not reported. 14h The maximum error recovery procedures available are used. Recovered data errors are reported. If a recovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where a recovered data error was detected. If an data error occurs which is uncorrectable with the ECC information available on the media, data transfer is not terminated. However, when the date transfer has completed CHECK CONDITION status is reported. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the uncorrectable error was detected. 15h Only retries of the read operation and CIRC are used (layered error correction is not used). Recovered data errors are reported. If a recovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to RECOVERED ERROR. The information bytes give the address of the last block where a CIRC recovered data error was detected. If an unrecovered data error occurs data transfer is not terminated. However, when the data transfer has completed CHECK CONDITION status is reported. The sense key is set to MEDIUM ERROR. The information bytes give the address of the last block where the unrecovered error was detected. =============================================================================