diff options
Diffstat (limited to 'Documentation/ABI')
-rw-r--r-- | Documentation/ABI/testing/sysfs-class-mtd | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-class-mtd b/Documentation/ABI/testing/sysfs-class-mtd index 4d55a1888981..db1ad7e34fc3 100644 --- a/Documentation/ABI/testing/sysfs-class-mtd +++ b/Documentation/ABI/testing/sysfs-class-mtd | |||
@@ -123,3 +123,54 @@ Description: | |||
123 | half page, or a quarter page). | 123 | half page, or a quarter page). |
124 | 124 | ||
125 | In the case of ECC NOR, it is the ECC block size. | 125 | In the case of ECC NOR, it is the ECC block size. |
126 | |||
127 | What: /sys/class/mtd/mtdX/ecc_strength | ||
128 | Date: April 2012 | ||
129 | KernelVersion: 3.4 | ||
130 | Contact: linux-mtd@lists.infradead.org | ||
131 | Description: | ||
132 | Maximum number of bit errors that the device is capable of | ||
133 | correcting within each region covering an ecc step. This will | ||
134 | always be a non-negative integer. Note that some devices will | ||
135 | have multiple ecc steps within each writesize region. | ||
136 | |||
137 | In the case of devices lacking any ECC capability, it is 0. | ||
138 | |||
139 | What: /sys/class/mtd/mtdX/bitflip_threshold | ||
140 | Date: April 2012 | ||
141 | KernelVersion: 3.4 | ||
142 | Contact: linux-mtd@lists.infradead.org | ||
143 | Description: | ||
144 | This allows the user to examine and adjust the criteria by which | ||
145 | mtd returns -EUCLEAN from mtd_read(). If the maximum number of | ||
146 | bit errors that were corrected on any single region comprising | ||
147 | an ecc step (as reported by the driver) equals or exceeds this | ||
148 | value, -EUCLEAN is returned. Otherwise, absent an error, 0 is | ||
149 | returned. Higher layers (e.g., UBI) use this return code as an | ||
150 | indication that an erase block may be degrading and should be | ||
151 | scrutinized as a candidate for being marked as bad. | ||
152 | |||
153 | The initial value may be specified by the flash device driver. | ||
154 | If not, then the default value is ecc_strength. | ||
155 | |||
156 | The introduction of this feature brings a subtle change to the | ||
157 | meaning of the -EUCLEAN return code. Previously, it was | ||
158 | interpreted to mean simply "one or more bit errors were | ||
159 | corrected". Its new interpretation can be phrased as "a | ||
160 | dangerously high number of bit errors were corrected on one or | ||
161 | more regions comprising an ecc step". The precise definition of | ||
162 | "dangerously high" can be adjusted by the user with | ||
163 | bitflip_threshold. Users are discouraged from doing this, | ||
164 | however, unless they know what they are doing and have intimate | ||
165 | knowledge of the properties of their device. Broadly speaking, | ||
166 | bitflip_threshold should be low enough to detect genuine erase | ||
167 | block degradation, but high enough to avoid the consequences of | ||
168 | a persistent return value of -EUCLEAN on devices where sticky | ||
169 | bitflips occur. Note that if bitflip_threshold exceeds | ||
170 | ecc_strength, -EUCLEAN is never returned by mtd_read(). | ||
171 | Conversely, if bitflip_threshold is zero, -EUCLEAN is always | ||
172 | returned, absent a hard error. | ||
173 | |||
174 | This is generally applicable only to NAND flash devices with ECC | ||
175 | capability. It is ignored on devices lacking ECC capability; | ||
176 | i.e., devices for which ecc_strength is zero. | ||