Patent ID: 7702870

Claim:
A method of operating a storage system, the method comprising: receiving, by the storage system, a data access request; identifying a first block stored in the storage system as potentially being a target block of the request by locating the first block in a first data structure; comparing a value in metadata appended to the first block with an expected value; determining that the target block has been relocated or lost if the value in the metadata does not match the expected value; upon detecting that the target block has been relocated or lost, identifying a second block as potentially being the target block by using the expected value to locate the second block in a second data structure; comparing a value in metadata appended to the second block with the expected value obtained from the first data structure; if the metadata appended to the second block matches the expected value, then confirming that the second block is the target block; and if the metadata appended to the second block does not match the expected value, then determining that a write has been lost.