Tape Logical Block Protection ((aka Tape p Checksum) Kevin D. Butt SCSI Architect, Data Protection & Retention, IBM T10/SSC Working Group Secretary MS 6TYA, 9000 S. Rita Rd., Tucson, AZ 85744 Tel: 520-799-5280 Fax: 520-799-2723 (T/L:321) Email address:
[email protected] kdbutt@us ibm com
1
© 2011 IBM Corporation
Traditional methods used to try to get data protection Drive adds protection information to each logical block – vendor-specific format – Add CRC – Add ECC & other data validation/reconstruction methods – after received at drive during process of storing on media (next slide shows an animated example)
Drive reads after write and validates CRC Some applications add unique protection information as part of the data – Allows verification that nothing changed, but only when data is read – Does not provide detection on write – Does D nott allow ll ffor checking h ki att various i points i t d during i th the ttransfer f – No method for the drive to validate the blocks without transferring them to the application. – Sometimes S ti saves tto a database d t b off meta-data t d t 2
© 2011 IBM Corporation
This is an animated slide
Traditional Protection of Tape Data
3
Application Data Buffer
Logical g Block
Write
Logical Block
Write
Logical Block
Application Data Buffer
Logical Block Read
Read
Read
CRC CRC
Logical Block Logical Block
Formatter Media
Write
CRC added in drive
CRC removed in drive CRC Enginee
Application Data
Application A li i Data Buffer
Formatter M Media
Logical Block
Application A li i Data Buffer
Tape Drive
SCSI (Fibre Channeel/SAS/pSCSI/etc.)
Logical Block
HBA
Device Driver
CR RC Engine
Application Data
Application Back End App plication Transsport (Etherneet/FICON/ESC CON/etc.)
Application Front End
Logical Block
CRC
Logical Block
CRC
© 2011 IBM Corporation
Tape T Logical L i l Block Bl k Protection P t ti Added to standards (SSC-4) (SSC 4) in January 2010 Write path is independent from Read path – Can read w/o CRC and can write with CRC – Can write w/o CRC and can read with CRC – Can write w/o CRC and can read w/o CRC – Can write with CRC and can read with CRC
CRC is generated/checked at each end – Tape drive – Application
CRC may be checked at any point along the path – HBA – Any system/software that is in the middle 4
© 2011 IBM Corporation
Tape T Logical L i l Block Bl k Protection P t ti (cont) ( t) On WRITE (example in top half of following animated slide) – CRC is appended to each logical block at the source – CRC is checked at any point desired in the transfer – If co corruption up o occu occurs, s, the ee exact ac location oca o o of p problem ob e is s known o – The logical block with CRC is validated before being committed to media – Data is known on to be on tape in uncorrupted form prior to releasing the source data – CRC is stored with each logical block
On READ (example in bottom half of following animated slide) – logical block with ith the CRC is read and validated alidated – CRC transferred with each logical block – CRC is check at any point desired in the transfer – The CRC is validated and stripped at the destination 5
© 2011 IBM Corporation
Tape Logical Block Protection using SSC-4 method CRC generated t d & added dd d in i application li ti
Application A li i Data Buffer
CRC Write Write Write
CRC CRCmay maybebechecked checkedininapplication applicationback-end back-end
Logical CRC block Logical CRC block
Application Data Buffer
Application Data Buffer Read
CRC Read
CRC validated & removed in application 6
Read
CRC checked in drive CRC
Formatter
CRC Engine
Application Data
Tape Drive
Media
Application A li i Data Buffer
HBA CR RC Engine
Protected Logical CRC logical block block
Device Driver
SCSI (Fibre Channeel/SAS/pSCSI/etc.)
Protected Logical CRC logical block block
A Application Trransport (Etherrnet/FICON/E ESCON/etc.)
Application Data
CRC may be checked in HBA
CRC checked in drive CRC
Formatter Media
Application Back End
Application Front End
This is an animated slide
Protected Protected logical block logical block
CRC may be checked in HBA © 2011 IBM Corporation
Logical L i l Block Bl k Protection P t ti – VERIFY features f t Uses the VERIFY command defined in SSC-4 Adds Add new options ti tto: – Check that protection information (i.e., CRC) is the same as currently configured – Used in conjunction with other new options – Check that protection information (i.e., CRC) validates on each logical block from current position for n number of files (i.e., FMKS) – No blocks are transferred over the SCSI interface – Happens at native data rate – Check that protection information (i.e., CRC) validates on each logical block from current position to EOD – No blocks are transferred over the SCSI interface – Happens at native data rate 7
© 2011 IBM Corporation
Logical L i l Block Bl k Protection P t ti – VERIFY to t EOD example l
8
© 2011 IBM Corporation