Failure Mapping in a Storage Array
First Claim
1. A method of failure mapping, comprising:
- distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a chassis that couples the storage nodes as a storage cluster, wherein each of the plurality of storage nodes has a non-volatile solid-state storage with flash memory and wherein the user data is accessible via the erasure coding from a remainder of the plurality of storage nodes in event of two of the plurality of storage nodes being unreachable;
mapping physical addresses of defects in the flash memory, on a basis of one of per flash package, per flash die, per flash plane, per flash block, per flash page, or per physical memory address; and
mapping around the defects in the flash memory during accesses to the user data, wherein a processor performs at least one method operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a chassis. The plurality of storage nodes has flash memory for storage of user data and is configured to distribute the user data and metadata throughout the plurality of storage nodes such that the storage nodes can access the user data with a failure of two of the plurality of storage nodes. Each of the storage nodes is configured to generate at least one address translation table that maps around defects in the flash memory on one of a per flash package basis, per flash die basis, per flash plane basis, per flash block basis, per flash page basis, or per physical address basis. Each of the plurality of storage nodes is configured to apply the at least one address translation table to write and read accesses of the user data.
-
Citations
20 Claims
-
1. A method of failure mapping, comprising:
-
distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a chassis that couples the storage nodes as a storage cluster, wherein each of the plurality of storage nodes has a non-volatile solid-state storage with flash memory and wherein the user data is accessible via the erasure coding from a remainder of the plurality of storage nodes in event of two of the plurality of storage nodes being unreachable; mapping physical addresses of defects in the flash memory, on a basis of one of per flash package, per flash die, per flash plane, per flash block, per flash page, or per physical memory address; and mapping around the defects in the flash memory during accesses to the user data, wherein a processor performs at least one method operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A plurality of storage nodes in a chassis, comprising:
-
the plurality of storage nodes configured to communicate together as a storage cluster, each of the plurality of storage nodes having flash memory for user data storage, the plurality of storage nodes configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes; each of the plurality of storage nodes configured to determine usable physical addresses in the flash memory and unusable physical addresses in the flash memory at a level of one of a flash package, a flash die, a flash plane, a flash block, a flash page, or a bit, based on defects in the flash memory; and each of the plurality of storage nodes configured to map accesses to the user data to the usable physical addresses in the flash memory, such that the accesses to the user data bypass the unusable physical addresses in the flash memory. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A storage cluster, comprising:
-
a plurality of storage nodes within a chassis, each of the plurality of storage nodes having flash memory for storage of user data, the plurality of storage nodes configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes can access the user data, via erasure coding, with a failure of two of the plurality of storage nodes; each of the plurality of storage nodes configured to generate at least one address translation table that maps around defects in the flash memory on one of a per flash package basis, per flash die basis, per flash plane basis, per flash block basis, per flash page basis, or per physical address basis; and each of the plurality of storage nodes configured to apply the at least one address translation table to write and read accesses of the user data. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification