The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Nov. 26, 2013
Filed:
Dec. 27, 2010
Tomislav Grcanac, San Jose, CA (US);
Atul Goel, San Jose, CA (US);
Jagadish Vasudeva, Karnataka, IN;
Gururaj Mj, Karnataka, IN;
Tomislav Grcanac, San Jose, CA (US);
Atul Goel, San Jose, CA (US);
Jagadish Vasudeva, Karnataka, IN;
Gururaj MJ, Karnataka, IN;
NetApp, Inc., Sunnyvale, CA (US);
Abstract
A storage server stores data in a stripe of a parity group that includes a plurality of data storage devices to store data and a parity storage device to store parity information. The stripe includes a data block from each of the data storage devices and a parity block from the parity storage device. The storage server receives a data access request specifying a data block in the stripe, and a lost write detection module detects an error in the data block. The lost write detection module compares a first storage device signature stored in a metadata field associated with the data block to a second storage device signature stored in a global field of the data storage device containing the data block. If the first storage device signature matches the second storage device signature, the lost write detection module compares a consistency point count stored in the metadata field to a reconstructed consistency point count. If the reconstructed consistency point count is greater than the consistency point count stored in the metadata field, the lost write detection module identifies the error as a lost write error for the data block. Accurately detecting and identifying the location of a lost write allows the storage server to correct the error and provide a user with a complete and accurate set of data.