P
ULSAR
.2 SAS P
RODUCT
M
ANUAL
, R
EV
. C
39
9.6
P
ROTECTION
I
NFORMATION
(PI)
Protection Information is intended as a standardized approach to system level LRC traditionally provided by systems using 520 byte
formatted LBAs. Drives formatted with PI information provide the same, common LBA count (i.e. same capacity point) as non-PI formatted
drives. Sequential performance of a PI drive will be reduced by approximately 1.56% due to the extra overhead of PI being transferred
from the media that is not calculated as part of the data transferred to the host. To determine the full transfer rate of a PI drive, transfers
should be calculated by adding the 8 extra bytes of PI to the transferred LBA length, i.e. 512 + 8 = 520. PI formatted drives are physically
formatted to 520 byte LBA’s that store 512 bytes of customer data with 8 bytes of Protection Information appended to it. The advantage of
PI is that the Protection Information bits can be managed at the HBA and HBA driver level. Allowing a system that typically does not
support 520 LBA formats to integrate this level of protection.
Protection Information is valid with any supported LBA size. 512 LBA size is used here as common example.
9.6.1
Levels of PI
There are 4 types of Protection Information.
Type 0
- Describes a drive that is not formatted with PI information bytes. This allows for legacy support in non-PI systems.
Type 1
- Provides support of PI protection using 10 and 16 byte commands. The RDPROTECT and WRTPROTECT bits allow for checking
control through the CDB. Eight bytes of Protection Information are transmitted at LBA boundaries across the interface if RDPROTECT and
WRTPROTECT bits are nonzero values. Type 1 does not allow the use of 32 byte commands.
Type 2
- Provides checking control and additional expected fields within the 32 byte CDBs. Eight bytes of Protection Information are
transmitted at LBA boundaries across the interface if RDPROTECT and WRTPROTECT bits are nonzero values. Type 2 does allow the
use of 10 and 16 byte commands with zero values in the RDPROTECT and WRTPROTECT fields. The drive will generate 8 bytes of
Protection Information (e.g. 0xFFFFFFFF) to be stored on the media, but the 8 bytes will not be transferred to the host during a READ
command.
Type 3
- Seagate products do not support Type 3.
9.6.2
Setting and determining the current Type Level
A drive is initialized to a type of PI by using the FORMAT UNIT command on a PI capable drive. Once a drive is formatted to a PI Type, it
may be queried by a READ CAPACITY (16) command to report the PI type which it is currently formatted to. A drive can only be formatted
to a single PI Type. It can be changed at anytime to a new Type but requires a FORMAT UNIT command which destroys all existing data
on the drive. No other vehicle for changing the PI type is provided by the T10 SBC3 specification.
Type 1 PI FORMAT UNIT CDB command: 04 90 00 00 00 00, parameter data: 00 A0 00 00
Type 2 PI FORMAT UNIT CDB command: 04 D0 00 00 00 00, parameter data: 00 A0 00 00
9.6.3
Identifying a Protection Information drive
The Standard INQUIRY data provides a bit to indicate if PI is support by the drive. Vital Product Descriptor (VPD) page 0x86 provides bits
to indicate the PI Types supported and which PI fields the drive supports checking.
Note.
For further details with respect to PI, please refer to SCSI Block Commands - 3 (SBC-3) Draft Standard documentation.