Method and system for multi-dimensional raid reconstruction and defect avoidance
First Claim
Patent Images
1. A method for storing data comprising:
- receiving a request to write data;
in response the request, selecting a first RAID grid location in a RAID grid to write the data;
determining a first physical address in persistent storage corresponding to the first RAID grid location;
generating a first page comprising the data and first out-of-band (OOB), wherein the first OOB comprises a first grid geometry for the RAID grid, and a first stripe membership for the page within the RAID grid; and
writing the first page to a first physical location in persistent storage corresponding to the first physical address.
10 Assignments
0 Petitions
Accused Products
Abstract
In general, embodiments of the invention relate to storing data by receiving a request to write data, in response the request, selecting a first RAID grid location in a RAID grid to write the data, determining a first physical address in persistent storage corresponding to the first RAID grid location, generating a first page comprising the data and first out-of-band (OOB), wherein the first OOB comprises a first grid geometry for the RAID grid, and a first stripe membership for the page within the RAID grid, and writing the first page to a first physical location in persistent storage corresponding to the first physical address.
57 Citations
20 Claims
-
1. A method for storing data comprising:
-
receiving a request to write data; in response the request, selecting a first RAID grid location in a RAID grid to write the data; determining a first physical address in persistent storage corresponding to the first RAID grid location; generating a first page comprising the data and first out-of-band (OOB), wherein the first OOB comprises a first grid geometry for the RAID grid, and a first stripe membership for the page within the RAID grid; and writing the first page to a first physical location in persistent storage corresponding to the first physical address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for reconstructing data, comprising:
-
receiving a request for first data; obtaining the first page comprising the data, wherein the first page is obtained from a first physical location in persistent storage and wherein the first physical location is associated with a first physical address and a first RAID grid location in a RAID grid; making a determination that the first page is one selected from a group consisting of corrupted and not obtained; based on the determination; identifying a neighbor RAID grid location of the first RAID grid location in the RAID grid, wherein the RAID grid comprises a row, wherein the first RAID grid location and the neighbor grid location are in the row; obtaining a second page from the neighbor RAID grid location; obtaining out-of-band (OOB) data from the second page, wherein the OOB comprises a gridmap for the RAID grid, grid geometry for the RAID grid, and stripe membership for the second page within the RAID grid; identifying RAID grid locations within the row comprising data pages using the grid geometry and the stripe membership; obtaining the data pages within the row using the gridmap and the grid geometry; identifying a RAID grid location in the row comprising a parity value using the grid geometry and the stripe membership; obtaining the parity value within the row using the gridmap and the grid geometry; reconstructing the first page using the data pages and the parity value to obtain a reconstructed page; obtaining the data from the constructed page; and providing the reconstructed data to the client. - View Dependent Claims (20)
-
Specification