×

Detecting data integrity

  • US 7,577,804 B2
  • Filed: 10/06/2004
  • Issued: 08/18/2009
  • Est. Priority Date: 10/06/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method, comprising:

  • writing an indicator to invalidate a data block that is capable of being stored in a plurality of sectors of a storage device, wherein the storage device is a disk based storage device, wherein the indicator is written to the storage device in at least one sector that is not included in the plurality of sectors;

    initiating a writing of entire contents of the data block to the plurality of sectors of the storage device, in response to the writing of the indicator; and

    updating the indicator to validate the data block, in response to a completion of the writing of the entire contents of the data block to the plurality of sectors of the storage device, wherein the at least one sector and the plurality of sectors are included in a same storage device, wherein a sector is a unit of data storage, wherein the at least one sector and the plurality of sectors comprise a record, wherein the at least one sector is a first sector of the record, wherein the indicator is a first indicator that is capable of validating the data block if at least one version of the entire contents of the data block has been completely written to the storage device, and wherein the first indicator has been written to the first sector, the method further comprising;

    (i) writing a second indicator to the first sector, wherein the second indicator indicates a version number of the data block;

    (ii) reading the first indicator and the second indicator written to the first sector; and

    (iii) determining that the data block is valid and has the version number indicated in the second indicator, in response to determining that the first indicator has validated the data block, wherein the first sector comprises a record header, wherein the first indicator is a checkfield indicator comprising an error detection code, and wherein the second indicator is a generation count, and wherein the method further comprises;

    (a) sending, by a storage controller, a plurality of versions of multi-sector data blocks and associated generation counts via a plurality of device adapters to a plurality of storage devices including a plurality of disk arrays;

    (b) reading, by the storage controller, the plurality of versions of the multi-sector data blocks and the associated generation counts via the plurality of device adapters; and

    (c) comparing, by the storage controller, generation counts of each of the plurality of versions of the multi-sector data blocks to determine one multi-sector data block with a most recent version of the data, wherein the plurality of versions of the multi-sector data blocks are maintained to assure data redundancy, and wherein in response to an interruption of data transfer before all sectors of a multi-sector data block have been written, the multi-sector data block and a last sector will not indicate the same generation count.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×