Data Integrity Field

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Data Integrity Field (DIF) is an approach to protect data integrity in computer data storage from data corruption. It was proposed in 2003 by the T10 subcommittee of the International Committee for Information Technology Standards.[1] A similar approach for data integrity was added in 2016 to the NVMe 1.2.1 specification.[2]

Packet-based storage transport protocols have CRC protection on command and data payloads. Interconnect buses have parity protection. Memory systems have parity detection/correction schemes. I/O protocol controllers at the transport/interconnect boundaries have internal data path protection. Data availability in storage systems is frequently measured simply in terms of the reliability of the hardware components and the effects of redundant hardware. But the reliability of the software, its ability to detect errors, and its ability to correctly report or apply corrective actions to a failure have a significant bearing on the overall storage system availability. The data exchange usually takes place between the host CPU and storage disk. There may be a storage data controller in between these two. The controller could be RAID controller or simple storage switches.

DIF included extending the disk sector from its traditional 512 bytes, to 520 bytes, by adding eight additional protection bytes.[1] This extended sector is defined for Small Computer System Interface (SCSI) devices, which is in turn used in many enterprise storage technologies, such as Fibre Channel.[3] Oracle Corporation included support for DIF in the Linux kernel.[4][5] An evolution of this technology called Protection Information was introduced by 2012.[6] One large vendor promoting the technology is EMC Corporation.[6]


  1. ^ a b Keith Holt (July 1, 2003). "End-to-End Data Protection Justification" (PDF). T10 Technical Committee document 03-224r0. Retrieved August 29, 2013.
  2. ^ "NVM Express Revision 1.2.1" (PDF). NVM Express, Inc. June 5, 2016.
  3. ^ "Data Integrity Extension" (PDF). T10 Technical Committee document 03-111r0. May 2, 2003. Retrieved August 29, 2013.[permanent dead link]
  4. ^ Martin K. Petersen (2009). "Linux Data Integrity Project". Retrieved August 29, 2013.
  5. ^ Martin K. Petersen (January 3, 2008). "Proactively Preventing Data Corruption" (PDF). Enterprise Open Source Magazine. Retrieved August 29, 2013.
  6. ^ a b EMC Corporation (September 18, 2012). "An Integrated End-to-End Data Integrity Solution to Protect Against Silent Data Corruption" (PDF). White paper. Oracle Corporation. Retrieved August 29, 2013.

External links[edit]