System and method for a data reliability scheme in a solid state memory
First Claim
1. A method of enhancing data reliability in a solid state storage device, the method comprising:
- monitoring one or more conditions of a solid state storage device comprising a plurality of storage elements, the solid state storage device being configured to implement a data redundancy configuration with a plurality of stripe groups, each stripe group comprising a respective subset of the plurality of storage elements;
determining a reliability metric for each of the stripe groups, the reliability metric being based at least on the one or more monitored conditions associated with individual storage elements associated with the respective stripe group; and
in response to detecting that the reliability metric of a first of said stripe groups fails to satisfy a selected reliability target, removing at least one storage element from the first stripe group to cause an improvement in the reliability metric of the first stripe group.
10 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention use high granularity reliability information (e.g., from individual pages, blocks, etc.) in a solid state storage device to vary the number of elements in each RAID stripe and to combine the elements in a stripe to achieve a more homogenous reliability metric across the device. In one embodiment, a reliability metric of a stripe group of storage elements is calculated based on monitored conditions of the storage elements such as erase counts, number of bit errors encountered, calculated voltage reference values, etc. The reliability metrics of the stripe groups are used to decide how many storage elements and which storage elements should be combined in the redundant RAID stripes to achieve a desired probability of data loss for the overall device. The target error probability could be fixed for the life of the storage device or adjusted as the device wide error rates increase.
-
Citations
19 Claims
-
1. A method of enhancing data reliability in a solid state storage device, the method comprising:
-
monitoring one or more conditions of a solid state storage device comprising a plurality of storage elements, the solid state storage device being configured to implement a data redundancy configuration with a plurality of stripe groups, each stripe group comprising a respective subset of the plurality of storage elements; determining a reliability metric for each of the stripe groups, the reliability metric being based at least on the one or more monitored conditions associated with individual storage elements associated with the respective stripe group; and in response to detecting that the reliability metric of a first of said stripe groups fails to satisfy a selected reliability target, removing at least one storage element from the first stripe group to cause an improvement in the reliability metric of the first stripe group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A storage subsystem comprising:
-
a non-volatile memory storage array configured to implement a data redundancy configuration with a plurality of stripe groups, the non-volatile memory storage array comprising a plurality of storage elements assigned to various of the plurality of stripe groups; and a controller configured to periodically monitor a plurality of conditions associated with the storage elements; wherein the controller is configured to; periodically determine a reliability metric for each of the stripe groups, the reliability metric being determined based at least in part on one or more of the monitored conditions associated with individual storage elements associated with the respective stripe groups; and in response to detecting that the reliability metric of a first of said stripe groups fails to satisfy a selected reliability target, replace a storage element from the first stripe group with a storage element from a second of said stripe groups that has a reliability metric that satisfies the selected reliability target to cause an improvement in the reliability metric of the first stripe group. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification