mirror of
https://github.com/torvalds/linux.git
synced 2024-12-18 17:12:55 +00:00
8beeb3bb9d
Introduce 'ubi->bad_peb_limit', which specifies an upper limit of PEBs UBI expects to go bad. Currently, it is initialized to a fixed percentage of total PEBs in the UBI device (configurable via CONFIG_MTD_UBI_BEB_LIMIT). The 'bad_peb_limit' is intended to be used for calculating the amount of PEBs UBI needs to reserve for bad eraseblock handling. Artem: minor amendments. Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@linux.intel.com>
68 lines
2.8 KiB
Plaintext
68 lines
2.8 KiB
Plaintext
menuconfig MTD_UBI
|
|
tristate "Enable UBI - Unsorted block images"
|
|
select CRC32
|
|
help
|
|
UBI is a software layer above MTD layer which admits of LVM-like
|
|
logical volumes on top of MTD devices, hides some complexities of
|
|
flash chips like wear and bad blocks and provides some other useful
|
|
capabilities. Please, consult the MTD web site for more details
|
|
(www.linux-mtd.infradead.org).
|
|
|
|
if MTD_UBI
|
|
|
|
config MTD_UBI_WL_THRESHOLD
|
|
int "UBI wear-leveling threshold"
|
|
default 4096
|
|
range 2 65536
|
|
help
|
|
This parameter defines the maximum difference between the highest
|
|
erase counter value and the lowest erase counter value of eraseblocks
|
|
of UBI devices. When this threshold is exceeded, UBI starts performing
|
|
wear leveling by means of moving data from eraseblock with low erase
|
|
counter to eraseblocks with high erase counter.
|
|
|
|
The default value should be OK for SLC NAND flashes, NOR flashes and
|
|
other flashes which have eraseblock life-cycle 100000 or more.
|
|
However, in case of MLC NAND flashes which typically have eraseblock
|
|
life-cycle less than 10000, the threshold should be lessened (e.g.,
|
|
to 128 or 256, although it does not have to be power of 2).
|
|
|
|
config MTD_UBI_BEB_RESERVE
|
|
int "Percentage of reserved eraseblocks for bad eraseblocks handling"
|
|
default 2
|
|
range 0 25
|
|
help
|
|
If the MTD device admits of bad eraseblocks (e.g. NAND flash), UBI
|
|
reserves some amount of physical eraseblocks to handle new bad
|
|
eraseblocks. When a physical eraseblock becomes bad, UBI uses these
|
|
reserved physical eraseblocks to relocate the bad one. This
|
|
configuration option specifies how many physical eraseblocks will be
|
|
reserved for bad eraseblock handling (percents of total number of
|
|
good physical eraseblocks on this MTD partition). If the underlying
|
|
flash does not admit of bad eraseblocks (e.g. NOR flash), this value
|
|
is ignored and nothing is reserved. Leave the default value if
|
|
unsure.
|
|
|
|
config MTD_UBI_BEB_LIMIT
|
|
int "Percentage of maximum expected bad eraseblocks"
|
|
default 2
|
|
range 0 25
|
|
help
|
|
This option specifies the maximum bad physical eraseblocks UBI
|
|
expects on the UBI device (percents of total number of physical
|
|
eraseblocks on this MTD partition). If the underlying flash does not
|
|
admit of bad eraseblocks (e.g. NOR flash), this value is ignored.
|
|
Leave the default value if unsure.
|
|
|
|
config MTD_UBI_GLUEBI
|
|
tristate "MTD devices emulation driver (gluebi)"
|
|
help
|
|
This option enables gluebi - an additional driver which emulates MTD
|
|
devices on top of UBI volumes: for each UBI volumes an MTD device is
|
|
created, and all I/O to this MTD device is redirected to the UBI
|
|
volume. This is handy to make MTD-oriented software (like JFFS2)
|
|
work on top of UBI. Do not enable this unless you use legacy
|
|
software.
|
|
|
|
endif # MTD_UBI
|