US2009006904A1PendingUtilityA1

Apparatus and method to check data integrity when handling data

Assignee: IBMPriority: Nov 23, 2004Filed: Sep 4, 2008Published: Jan 1, 2009
Est. expiryNov 23, 2024(expired)· nominal 20-yr term from priority
G06F 11/1076
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus and method to check integrity when handling data. The method provides a storage array which includes a plurality of sectors. The method defines (N) data state identifiers and (N) parity state identifiers. The method receives a command to handle data, where that command designates a target sector. The method determines the data state identifier assigned to the target sector, determines the parity state identifier assigned to the target sector, and compares the data state identifier and the parity state identifier. If the method determines that the data state identifier and the parity state identifier are the same, the method performs the command to handle data. Alternatively, if the method determines that the data state identifier and the parity state identifier differ, the method generates an error message.

Claims

exact text as granted — not AI-modified
1 . An article of manufacture comprising an information storage array which includes a plurality of sectors and an information storage medium having computer readable program code stored therein to check data integrity when handling data, the computer readable program code comprising a series of computer readable program steps to effect:
 receiving a command to handle data, wherein said command designates a target sector, and wherein said target sector comprises one of said plurality of sectors;   determining the data state identifier assigned to said target sector;   determining the parity state identifier assigned to said target sector;   comparing said data state identifier and said parity state identifier;   when said data state identifier and said parity state identifier are the same, performing said command;   when said data state identifier and said parity state identifier differ, generating an error message.   
   
   
       2 . The article of manufacture of  claim 1 , said computer readable program code further comprising a series of computer readable program steps to effect:
 receiving a WRITE command to write data to a target sector;   receiving said data;   when said data state identifier and said parity state identifier are the same:   incrementing said data state identifier for said target sector, wherein said incremented data state identifier comprises one of (N) predetermined data state identifiers, wherein N is greater than or equal to 1;   calculating a new parity for said target sector;   writing said data and said incremented data state identifier to said target sector;   incrementing said parity state identifier, wherein said incremented parity state identifier comprises one of (N) predetermined parity state identifiers;   writing said new parity and said incremented parity state identifier to said information storage array.   
   
   
       3 . The article of manufacture of  claim 2 , wherein said data state identifier comprises a set of two checkbits. 
   
   
       4 . The article of manufacture of  claim 2 , wherein said data state identifier comprises a set of more than two checkbits. 
   
   
       5 . The article of manufacture of  claim 2 , wherein said target sector comprises a metadata portion and a data portion, said computer readable program code further comprising a series of computer readable program steps to effect:
 writing said data to said data portion; and   writing said incremented data state identifier to said metadata portion.   
   
   
       6 . The article of manufacture of  claim 5 , wherein said information storage array comprises (R) storage medium, and wherein metadata portion comprises (R) Data State Addresses, said computer readable program code further comprising a series of computer readable program steps to effect writing said incremented data state identifier to one of said (R) data state addresses. 
   
   
       7 . The article of manufacture of  claim 2 , wherein said information storage array comprises (R) storage media and a plurality of parity blocks, wherein one or more of said plurality of parity blocks are written to each of said (R) storage media, said computer readable program code further comprising a series of computer readable program steps to effect writing said new parity and said incremented parity state identifier to one or more of said plurality of parity blocks. 
   
   
       8 . The article of manufacture of  claim 2 , wherein said information storage array comprises (R) storage media, said computer readable program code further comprising a series of computer readable program steps to effect writing said data and said incremented data state identifier to (R-1) of said (R) storage media. 
   
   
       9 . The article of manufacture of  claim 8 , said computer readable program code further comprising a series of computer readable program steps to effect writing said new parity and said incremented parity state identifier to the remaining information storage medium. 
   
   
       10 . The article of manufacture of  claim 1 , said computer readable program code further comprising a series of computer readable program steps to effect:
 receiving a READ command designating a target sector;   operative if said data state identifier and said parity state identifier are the same, providing information read from said target sector.   
   
   
       11 . A computer program product encoded in an information storage medium and usable with a programmable computer processor to check data integrity when handling data using an information storage and retrieval system comprising (N) predetermined data state identifiers, (N) predetermined parity state identifiers, and an information storage array comprising a plurality of sectors, said computer program product comprising:
 computer readable program code which causes said programmable computer processor to receive a command to handle data, wherein said command designates a target sector, and wherein said target sector comprises one of said plurality of sectors;   computer readable program code which causes said programmable computer processor to determine the data state identifier assigned to said target sector, wherein said data state identifier comprises one of said (N) data state identifiers, wherein N is greater than or equal to 1;   computer readable program code which causes said programmable computer processor to determine the parity state identifier assigned to said target sector, wherein said parity state identifier comprises one of said (N) parity state identifiers;   computer readable program code which causes said programmable computer processor to compare said data state identifier and said parity state identifier;   computer readable program code which, if said data state identifier and said parity state identifier are the same, causes said programmable computer processor to perform said command;   computer readable program code which, if said data state identifier and said parity state identifier differ, causes said programmable computer processor to generate an error message.   
   
   
       12 . The computer program product of  claim 11 , wherein said computer readable program code to receive a command further comprises computer readable program code which causes said programmable computer processor to receive a WRITE command to write data to a target sector, further comprising:
 computer readable program code which causes said programmable computer processor to receive said data;   computer readable program code which, if said data state identifier and said parity state identifier are the same, causes said programmable computer processor to:   increment said data state identifier for said target sector, wherein said incremented data state identifier comprises one of said (N) data state identifiers;   calculate a new parity for said target sector;   write said data and said incremented data state identifier to said target sector;   increment said parity state identifier, wherein said incremented parity state identifier comprises one of said (N) parity state identifiers;   write said new parity and said incremented parity state identifier to said information storage array.   
   
   
       13 . The computer program product of  claim 11 , wherein said target sector comprises a data portion and a metadata portion, further comprising:
 computer readable program code which causes said programmable computer processor to write said data to said data portion; and   computer readable program code which causes said programmable computer processor to write said incremented data state identifier to said metadata portion.   
   
   
       14 . The computer program product of  claim 13 , further comprising computer readable program code which causes said programmable computer processor to generate an incremented data state identifier comprising a set of two checkbits. 
   
   
       15 . The computer program product of  claim 13 , further comprising computer readable program code which causes said programmable computer processor to generate an incremented data state identifier comprising a set of more than two checkbits. 
   
   
       16 . The computer program product of  claim 13 , wherein said information storage array comprises (R) storage media, and wherein said metadata portion comprises (R) data state addresses, further comprising computer readable program code which causes said programmable computer processor to write said incremented data state identifier to one of said (R) data state addresses. 
   
   
       17 . The computer program product of  claim 12 , wherein said information storage array comprises (R) information storage media and a plurality of parity blocks written to each of said (R) information storage media, further comprising computer readable program code which causes said programmable computer processor to write said new parity and said incremented parity state identifier to one or more of said plurality of parity blocks. 
   
   
       18 . The computer program product of  claim 12 , wherein said information storage array comprises (R) information storage media, further comprising computer readable program code which causes said programmable computer processor to write said data and said incremented data state identifier to (R-1) of said (R) information storage media. 
   
   
       19 . The computer program product of  claim 18 , further comprising computer readable program code which causes said programmable computer processor to write said new parity and said incremented parity state identifier to the remaining information storage medium. 
   
   
       20 . The computer program product of  claim 11 , further comprising:
 computer readable program code which causes said programmable computer processor to receive a READ command designating a target sector;   computer readable program code which, if said data state identifier and said parity state identifier are the same, causes said programmable computer processor to provide information read from said target sector.

Join the waitlist — get patent alerts

Track US2009006904A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.