About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / ABI / testing / sysfs-class-mtd




Custom Search

Based on kernel version 3.9. Page generated on 2013-05-02 22:53 EST.

1	What:		/sys/class/mtd/
2	Date:		April 2009
3	KernelVersion:	2.6.29
4	Contact:	linux-mtd@lists.infradead.org
5	Description:
6			The mtd/ class subdirectory belongs to the MTD subsystem
7			(MTD core).
8	
9	What:		/sys/class/mtd/mtdX/
10	Date:		April 2009
11	KernelVersion:	2.6.29
12	Contact:	linux-mtd@lists.infradead.org
13	Description:
14			The /sys/class/mtd/mtd{0,1,2,3,...} directories correspond
15			to each /dev/mtdX character device.  These may represent
16			physical/simulated flash devices, partitions on a flash
17			device, or concatenated flash devices.  They exist regardless
18			of whether CONFIG_MTD_CHAR is actually enabled.
19	
20	What:		/sys/class/mtd/mtdXro/
21	Date:		April 2009
22	KernelVersion:	2.6.29
23	Contact:	linux-mtd@lists.infradead.org
24	Description:
25			These directories provide the corresponding read-only device
26			nodes for /sys/class/mtd/mtdX/ .  They are only created
27			(for the benefit of udev) if CONFIG_MTD_CHAR is enabled.
28	
29	What:		/sys/class/mtd/mtdX/dev
30	Date:		April 2009
31	KernelVersion:	2.6.29
32	Contact:	linux-mtd@lists.infradead.org
33	Description:
34			Major and minor numbers of the character device corresponding
35			to this MTD device (in <major>:<minor> format).  This is the
36			read-write device so <minor> will be even.
37	
38	What:		/sys/class/mtd/mtdXro/dev
39	Date:		April 2009
40	KernelVersion:	2.6.29
41	Contact:	linux-mtd@lists.infradead.org
42	Description:
43			Major and minor numbers of the character device corresponding
44			to the read-only variant of thie MTD device (in
45			<major>:<minor> format).  In this case <minor> will be odd.
46	
47	What:		/sys/class/mtd/mtdX/erasesize
48	Date:		April 2009
49	KernelVersion:	2.6.29
50	Contact:	linux-mtd@lists.infradead.org
51	Description:
52			"Major" erase size for the device.  If numeraseregions is
53			zero, this is the eraseblock size for the entire device.
54			Otherwise, the MEMGETREGIONCOUNT/MEMGETREGIONINFO ioctls
55			can be used to determine the actual eraseblock layout.
56	
57	What:		/sys/class/mtd/mtdX/flags
58	Date:		April 2009
59	KernelVersion:	2.6.29
60	Contact:	linux-mtd@lists.infradead.org
61	Description:
62			A hexadecimal value representing the device flags, ORed
63			together:
64	
65			0x0400: MTD_WRITEABLE - device is writable
66			0x0800: MTD_BIT_WRITEABLE - single bits can be flipped
67			0x1000: MTD_NO_ERASE - no erase necessary
68			0x2000: MTD_POWERUP_LOCK - always locked after reset
69	
70	What:		/sys/class/mtd/mtdX/name
71	Date:		April 2009
72	KernelVersion:	2.6.29
73	Contact:	linux-mtd@lists.infradead.org
74	Description:
75			A human-readable ASCII name for the device or partition.
76			This will match the name in /proc/mtd .
77	
78	What:		/sys/class/mtd/mtdX/numeraseregions
79	Date:		April 2009
80	KernelVersion:	2.6.29
81	Contact:	linux-mtd@lists.infradead.org
82	Description:
83			For devices that have variable eraseblock sizes, this
84			provides the total number of erase regions.  Otherwise,
85			it will read back as zero.
86	
87	What:		/sys/class/mtd/mtdX/oobsize
88	Date:		April 2009
89	KernelVersion:	2.6.29
90	Contact:	linux-mtd@lists.infradead.org
91	Description:
92			Number of OOB bytes per page.
93	
94	What:		/sys/class/mtd/mtdX/size
95	Date:		April 2009
96	KernelVersion:	2.6.29
97	Contact:	linux-mtd@lists.infradead.org
98	Description:
99			Total size of the device/partition, in bytes.
100	
101	What:		/sys/class/mtd/mtdX/type
102	Date:		April 2009
103	KernelVersion:	2.6.29
104	Contact:	linux-mtd@lists.infradead.org
105	Description:
106			One of the following ASCII strings, representing the device
107			type:
108	
109			absent, ram, rom, nor, nand, dataflash, ubi, unknown
110	
111	What:		/sys/class/mtd/mtdX/writesize
112	Date:		April 2009
113	KernelVersion:	2.6.29
114	Contact:	linux-mtd@lists.infradead.org
115	Description:
116			Minimal writable flash unit size.  This will always be
117			a positive integer.
118	
119			In the case of NOR flash it is 1 (even though individual
120			bits can be cleared).
121	
122			In the case of NAND flash it is one NAND page (or a
123			half page, or a quarter page).
124	
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() and mtd_read_oob().  If the
146			maximum number of bit errors that were corrected on any single
147			region comprising an ecc step (as reported by the driver) equals
148			or exceeds this value, -EUCLEAN is returned.  Otherwise, absent
149			an error, 0 is returned.  Higher layers (e.g., UBI) use this
150			return code as an indication that an erase block may be
151			degrading and should be scrutinized as a candidate for being
152			marked as bad.
153	
154			The initial value may be specified by the flash device driver.
155			If not, then the default value is ecc_strength.
156	
157			The introduction of this feature brings a subtle change to the
158			meaning of the -EUCLEAN return code.  Previously, it was
159			interpreted to mean simply "one or more bit errors were
160			corrected".  Its new interpretation can be phrased as "a
161			dangerously high number of bit errors were corrected on one or
162			more regions comprising an ecc step".  The precise definition of
163			"dangerously high" can be adjusted by the user with
164			bitflip_threshold.  Users are discouraged from doing this,
165			however, unless they know what they are doing and have intimate
166			knowledge of the properties of their device.  Broadly speaking,
167			bitflip_threshold should be low enough to detect genuine erase
168			block degradation, but high enough to avoid the consequences of
169			a persistent return value of -EUCLEAN on devices where sticky
170			bitflips occur.  Note that if bitflip_threshold exceeds
171			ecc_strength, -EUCLEAN is never returned by the read operations.
172			Conversely, if bitflip_threshold is zero, -EUCLEAN is always
173			returned, absent a hard error.
174	
175			This is generally applicable only to NAND flash devices with ECC
176			capability.  It is ignored on devices lacking ECC capability;
177			i.e., devices for which ecc_strength is zero.
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.