pi-guard-tag · shipping · also Protection-information guard tag

PI guard tag

A protection-information guard tag stores a checksum for the data covered by a selected storage-integrity format.

Related Observatory article: PI guard tag on hesela.com

Linux v6.12's t10_pi_tuple has a 16-bit guard field beside separate application and reference tags. The checksum value does not itself encode the intended address. [1]

Specify both the checksum algorithm and covered bytes. As historical design context, Linux's integrity documentation describes host-side checksums that a controller can translate, so a generic PI label does not identify one algorithm or one application-to-device boundary. [3]

NVM Command Set 1.0e defines 16-, 32- and 64-bit guard formats. A protection type is not a guard width. In that revision, 32- and 64-bit guard formats require logical blocks of at least 4 KiB (sections 5.2.1.2 and 5.2.1.3). A successful command may involve a disabled or escaped check; it does not by itself prove that the guard was compared. [2]

Relations

related
Protection information (PI), PI application tag, PI reference tag, End-to-end data protection

Citations

  1. Linux v6.12: T10 PI tuple and protection-type comments (GPL-2.0) (accessed 2026-11-05)
  2. NVM Express NVM Command Set Specification 1.0e, sections 5.2.1 and 5.2.3, pp. 78-84 and 94-95; copyright 2008 to 2024 NVM Express, Inc. ALL RIGHTS RESERVED. (accessed 2026-11-05)
  3. Linux v6.12 Data Integrity documentation, sections 2 and 3 (historical design context) (accessed 2026-11-05)
Sources & caveats
  • Source synthesis scoped to Linux v6.12 and NVM Command Set 1.0e; not a device test, support matrix or extension of the existing CRC experiment.

JSON: /data/terms/pi-guard-tag.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. PI guard tag. Hesela. 2026-11-05. https://hesela.dev/terms/pi-guard-tag/