Data Integrity on the Drives

The SCSI Protection Information field is a mechanism to prevent silent data corruption. SCSI Protection Information ensures that any data that is successfully read by a host from an Oracle FS System is the intended data, and that the data is the same as when it was last written by a host. This integrity check is only internal to the Oracle FS System.

The RAID firmware in the Oracle FS System formats all of the drives in the storage arrays to a sector size of 520 bytes. As SAN data is received from the host, eight bytes of integrity metadata is generated for every 512 bytes of host data. The integrity metadata is appended to the host data to form the internal 520-byte sector. When data is transferred back to the host, the eight bytes of metadata is stripped off and used to check that the 512 bytes of host data is correct. If the check fails, a read error is reported to the host.

The eight bytes of metadata includes a Cyclic Redundancy Check (CRC) of the host data and a Reference Tag that identifies the offset of the sector within the host LUN or file. These two pieces of information allow the firmware to check that the data being transferred belongs to the location that the host requested and that the data is the same as it was when last written.

Reference Tag checking is one part of the normal data integrity processing that is performed by the RAID firmware. However, if a client application reads a large number of sectors that have never been written, the client application might experience degraded performance when reading these sectors. Such client applications can include: If unusual performance issues exist for such client applications, you can disable Reference Tag checking on any given LUN to see if you can improve the performance of those applications. If Reference Tag checking is disabled, the Oracle FS System continues to validate CRCs for these sectors but bypasses the Reference Tag checking.