×

Method and apparatus for preventing the use of corrupt data in a multiple disk raid organized storage system

  • US 5,581,690 A
  • Filed: 06/28/1995
  • Issued: 12/03/1996
  • Est. Priority Date: 06/29/1993
  • Status: Expired due to Term
First Claim
Patent Images

1. In a storage system having n+1 disks organized in a RAID array, a plurality of data blocks, a plurality of parity blocks, each parity block associated with n data blocks and a plurality of status bits, each status bit having a first and second state, said status bit associated with one of said data blocks or parity blocks, said status bit in said first state indicates that said associated data or parity block may contain invalid information and said status bit in said second state indicates that said associated data or parity block contains valid information, a method of identifying data or parity blocks which contain invalid information and preventing said invalid information from being sent to a user application or used in any computations internal to the functioning of the array, comprising the steps of:

  • receiving from a user application a read request targeting at least one of said data blocks;

    identifying said targeted data block and determining if said identified targeted data block is readable;

    if said identified targeted data block is readable, identifying and interrogating the status bit associated therewith;

    if said identified status bit is in said second state, reading said targeted data block;

    determining if said read is successful;

    if said read is successful, sending said read data to said user application; and

    if said targeted data block is unavailable for said read, then further comprising the steps of;

    determining if all data and parity block necessary for regeneration are available;

    determining if the status bits for all said data and parity blocks necessary for regeneration are in the said second state;

    if all necessary blocks are available and all associated status bits are in said second state, regenerating the unavailable data, repairing the unavailable data block by writing the regenerated data;

    if said write is successful, setting said status bit to said second state and sending the regenerated data to said user application; and

    if said write is unsuccessful, sending said regenerated data to said user application.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×