GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
menu "UBI support"
|
||||
|
||||
config UBI_SILENCE_MSG
|
||||
bool "UBI silence verbose messages"
|
||||
default ENV_IS_IN_UBI
|
||||
help
|
||||
Make the verbose messages from UBI stop printing. This leaves
|
||||
warnings and errors enabled.
|
||||
|
||||
config MTD_UBI
|
||||
bool "Enable UBI - Unsorted block images"
|
||||
select RBTREE
|
||||
select MTD_PARTITIONS
|
||||
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_LIMIT
|
||||
int "Maximum expected bad eraseblock count per 1024 eraseblocks"
|
||||
default 20
|
||||
range 0 768
|
||||
help
|
||||
This option specifies the maximum bad physical eraseblocks UBI
|
||||
expects on the MTD device (per 1024 eraseblocks). If the underlying
|
||||
flash does not admit of bad eraseblocks (e.g. NOR flash), this value
|
||||
is ignored.
|
||||
|
||||
NAND datasheets often specify the minimum and maximum NVM (Number of
|
||||
Valid Blocks) for the flashes' endurance lifetime. The maximum
|
||||
expected bad eraseblocks per 1024 eraseblocks then can be calculated
|
||||
as "1024 * (1 - MinNVB / MaxNVB)", which gives 20 for most NANDs
|
||||
(MaxNVB is basically the total count of eraseblocks on the chip).
|
||||
|
||||
To put it differently, if this value is 20, UBI will try to reserve
|
||||
about 1.9% of physical eraseblocks for bad blocks handling. And that
|
||||
will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD
|
||||
partition UBI attaches. This means that if you have, say, a NAND
|
||||
flash chip admits maximum 40 bad eraseblocks, and it is split on two
|
||||
MTD partitions of the same size, UBI will reserve 40 eraseblocks when
|
||||
attaching a partition.
|
||||
|
||||
This option can be overridden by the "mtd=" UBI module parameter or
|
||||
by the "attach" ioctl.
|
||||
|
||||
Leave the default value if unsure.
|
||||
|
||||
config MTD_UBI_FASTMAP
|
||||
bool "UBI Fastmap (Experimental feature)"
|
||||
default n
|
||||
help
|
||||
Important: this feature is experimental so far and the on-flash
|
||||
format for fastmap may change in the next kernel versions
|
||||
|
||||
Fastmap is a mechanism which allows attaching an UBI device
|
||||
in nearly constant time. Instead of scanning the whole MTD device it
|
||||
only has to locate a checkpoint (called fastmap) on the device.
|
||||
The on-flash fastmap contains all information needed to attach
|
||||
the device. Using fastmap makes only sense on large devices where
|
||||
attaching by scanning takes long. UBI will not automatically install
|
||||
a fastmap on old images, but you can set the UBI module parameter
|
||||
fm_autoconvert to 1 if you want so. Please note that fastmap-enabled
|
||||
images are still usable with UBI implementations without
|
||||
fastmap support. On typical flash devices the whole fastmap fits
|
||||
into one PEB. UBI will reserve PEBs to hold two fastmaps.
|
||||
|
||||
If in doubt, say "N".
|
||||
|
||||
config MTD_UBI_FASTMAP_AUTOCONVERT
|
||||
int "enable UBI Fastmap autoconvert"
|
||||
depends on MTD_UBI_FASTMAP
|
||||
default 0
|
||||
help
|
||||
Set this parameter to enable fastmap automatically on images
|
||||
without a fastmap.
|
||||
|
||||
config MTD_UBI_FM_DEBUG
|
||||
int "Enable UBI fastmap debug"
|
||||
depends on MTD_UBI_FASTMAP
|
||||
default 0
|
||||
help
|
||||
Enable UBI fastmap debug
|
||||
|
||||
endif # MTD_UBI
|
||||
endmenu # "Enable UBI - Unsorted block images"
|
||||
Reference in New Issue
Block a user