Masking defective bits 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 each of the plurality of storage nodes has a non-volatile solid-state storage with non-volatile memory;
determining that the non-volatile memory has a defect;
generating a mask that indicates the defect, the generating based on error correction of reads of the non-volatile solid-state storage, wherein the mask is one of a plurality of masks in a mask hierarchy in the storage cluster, wherein the mask hierarchy includes masks of differing physical levels of the non-volatile memory, and wherein the generating supports combining the masks of differing physical levels to generate one or more page specific masks; and
reading from the non-volatile memory with application of the mask, wherein the reading and the application of the mask are performed by the non-volatile solid-state storage.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of failure mapping is provided. The method includes 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. Each of the plurality of storage nodes has a non-volatile solid-state storage with flash memory or other types of non-volatile memory and 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. The method includes determining that a non-volatile memory block in the memory has a defect and generating a mask that indicates the non-volatile memory block and the defect. The method includes reading from the non-volatile memory block with application of the mask, wherein the reading and the application of the mask are performed by the non-volatile solid-state storage.
-
Citations
20 Claims
-
1. A method of failure mapping, comprising:
-
distributing user data throughout a plurality of storage nodes through erasure coding, wherein each of the plurality of storage nodes has a non-volatile solid-state storage with non-volatile memory; determining that the non-volatile memory has a defect; generating a mask that indicates the defect, the generating based on error correction of reads of the non-volatile solid-state storage, wherein the mask is one of a plurality of masks in a mask hierarchy in the storage cluster, wherein the mask hierarchy includes masks of differing physical levels of the non-volatile memory, and wherein the generating supports combining the masks of differing physical levels to generate one or more page specific masks; and reading from the non-volatile memory with application of the mask, wherein the reading and the application of the mask are performed by the non-volatile solid-state storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A plurality of storage nodes in a chassis, comprising:
-
each of the plurality of storage nodes having a processor and a non-volatile solid-state storage having non-volatile memory for user data storage, each non-volatile solid-state storage having a controller; the plurality of storage nodes configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes; the non-volatile solid-state storage configured to generate a plurality of masks in a mask hierarchy that includes masks of differing physical levels of the non-volatile memory, and supports combining the masks of differing physical levels to generate one or more page specific masks, such that each of the plurality of masks indicates the non-volatile memory has a defect; the non-volatile solid-state storage configured to apply one of the plurality of masks in a read from the non-volatile memory; and the non-volatile solid-state storage configured to produce data with one of a replacement bit value, a weighted value, or a don'"'"'t care bit value, substituting for a defective bit value as a result of applying the one of the plurality of masks in the read from the non-volatile memory. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A storage cluster, comprising:
-
a plurality of storage nodes, each of the plurality of storage nodes having a processor and non-volatile solid-state storage with non-volatile 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; the non-volatile solid-state storage configured to determine that a portion of the non-volatile memory has a defect based on error correction of reads of the non-volatile solid-state storage; the non-volatile solid-state storage configured to generate a mask that indicates the defect, and read from the non-volatile memory the portion having the defect with application of the mask; and the non-volatile solid-state storage configured to generate further masks that indicate further defects of the non-volatile memory, wherein the mask and the further masks are in a mask hierarchy that includes masks of differing physical levels of the non-volatile memory, and supports combining the masks of differing physical levels to generate one or more page specific masks. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification