发明名称 Storage integrity validator
摘要 A sequence code verification system can be designed to include a data reader, a validity engine, and an error notifier. The data reader can read sequence codes from consecutive logical blocks. The validity engine can invalidate write operations in response to checking data validity by applying comparison operations to sequence codes and block offsets of batch write operations. The error notifier can notify a user of an error for each invalidated write operation batch. The system can validate data written to logical blocks on a storage subsystem adapted so that, during write operations, an additional sequence code is written to each logical block of data. The sequence code can remain constant for each write operation batch and the sequence code can be incremented for each new write operation batch.
申请公布号 US9563500(B2) 申请公布日期 2017.02.07
申请号 US201615068688 申请日期 2016.03.14
申请人 International Business Machines Corporation 发明人 Francis Huw;Sinclair David A.
分类号 G06F11/10;G06F11/07;G06F3/06 主分类号 G06F11/10
代理机构 代理人 Bowman Nicholas D.
主权项 1. A method for validating data written to logical blocks on a storage subsystem, said storage subsystem being adapted so that during write operations of data to logical blocks, an additional sequence code is written to each logical block whereby said sequence code remains constant for each write operation batch and whereby said sequence code is incremented for each new write operation batch, each sequence code being an eight byte value that is written to a part of the logical block that is reserved for application data, said method comprising: (A) reading respective first and second sequence codes (S(n) and S(n+1)) from consecutive first and second logical blocks (L(n) and L(n+1)); (B) checking validity by applying the following operations: (1) invalidating a corresponding write operation batch if a first sequence code (S(n)) is less than the second sequence code (S(n+1)) and a block offset (F(n+1)) of the second logical block (L(n+1)) is not equal to zero; (2) invalidating the corresponding write operation batch if the first sequence number (S(n)) is more than the second sequence number (S(n+1)) and a block offset F(n) of a first block (L(n)) does not correspond to the number of logical blocks in a corresponding batch write operation for a first logical block (L(n)); the block offset F(n) of the first logical block (L(n)) equaling the number of logical blocks in the batch write operation minus one; (C) notifying an error for each invalidated write operation batch; performing steps (A), (B) and (C) for each logical block (n) from a plurality of logical blocks (zero to N); and (D) ensuring that a first thread places a reservation in the storage subsystem for those logical blocks that it is going to write to, before it obtains the sequence number it will use in the write.
地址 Armonk NY US