首页>
外国专利>
System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
The present invention is a method of writing data to a storage system using a redundant array of independent/inexpensive disks ("RAID") organization that eliminates the write hole problem of regenerating undetected corrupt data. The invention also overcomes the need for system overhead to synchronize data writes to logical block numbers that map to the same parity block. A log is constructed and used for storing information relating to requested updates or write operations to the data blocks in the multiple disk array. A separate entry is made in the log for each parity block that must be updated as a result of the write operation. Each log entry contains the addresses of the logical block numbers to which data must be written for that operation. After the new data is written to data blocks in the RAID array, a background scrubber operation sequentially reads the next available entry in the log and performs a parity calculation to determine the parity resulting from the write operation. The new parity information is written to the corresponding parity block and the log entry is deleted by the scrubber operation to indicate that the parity block corresponds to the data it represents. In addition, if a system failure occurs during a data write or after the data write but before the associated parity block is written, the original data can be accurately reconstructed using the remaining data blocks and the original parity information that remains in the parity block.
展开▼