/openbmc/u-boot/drivers/mtd/ubi/ |
H A D | Kconfig | 30 erase counter value and the lowest erase counter value of eraseblocks 33 counter to eraseblocks with high erase counter. 42 int "Maximum expected bad eraseblock count per 1024 eraseblocks" 46 This option specifies the maximum bad physical eraseblocks UBI 47 expects on the MTD device (per 1024 eraseblocks). If the underlying 48 flash does not admit of bad eraseblocks (e.g. NOR flash), this value 53 expected bad eraseblocks per 1024 eraseblocks then can be calculated 55 (MaxNVB is basically the total count of eraseblocks on the chip). 58 about 1.9% of physical eraseblocks for bad blocks handling. And that 59 will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD [all …]
|
H A D | ubi-media.h | 55 * initialization UBI finds out that there are available physical eraseblocks 57 * (the physical eraseblocks reserved for bad eraseblocks handling and other 58 * reserved physical eraseblocks are not taken). So, if there is a volume with 60 * eraseblocks will be zero after UBI is loaded, because all of them will be 66 * eraseblocks, depending of particular chip instance. Manufacturers of NAND 67 * chips usually guarantee that the amount of initial bad eraseblocks does not 70 * of good physical eraseblocks the NAND chip on the device will have, but this 76 * Note, first UBI reserves some amount of physical eraseblocks for bad 78 * means that the pool of reserved physical eraseblocks will always be present. 91 * physical eraseblocks, don't allow the wear-leveling [all …]
|
H A D | ubi.h | 273 * @reserved_pebs: how many physical eraseblocks are reserved for this volume 276 * @used_ebs: how many logical eraseblocks in this volume contain data 280 * @data_pad: how many bytes are not used at the end of physical eraseblocks to 285 * @upd_ebs: how many eraseblocks are expected to be updated 430 * @rsvd_pebs: count of reserved physical eraseblocks 431 * @avail_pebs: count of available physical eraseblocks 432 * @beb_rsvd_pebs: how many physical eraseblocks are reserved for bad PEB 466 * @used: RB-tree of used physical eraseblocks 467 * @erroneous: RB-tree of erroneous used physical eraseblocks 468 * @free: RB-tree of free physical eraseblocks [all …]
|
H A D | wl.c | 12 * physical eraseblocks and erase counters and knows nothing about logical 13 * eraseblocks, volumes, etc. From this sub-system's perspective all physical 14 * eraseblocks are of two types - used and free. Used physical eraseblocks are 16 * eraseblocks are those that were put by the 'ubi_wl_put_peb()' function. 18 * Physical eraseblocks returned by 'ubi_wl_get_peb()' have only erase counter 21 * When physical eraseblocks are returned to the WL sub-system by means of the 27 * physical eraseblocks with low erase counter to free physical eraseblocks 37 * As it was said, for the UBI sub-system all physical eraseblocks are either 39 * used eraseblocks are kept in @wl->used, @wl->erroneous, or @wl->scrub 49 * o we don't want to move physical eraseblocks just after we have given them [all …]
|
H A D | vtbl.c | 12 * physical eraseblocks, type, etc. The volume table is stored in the so-called 16 * consists of two logical eraseblocks - LEB 0 and LEB 1. Each logical 34 * eraseblocks became bad for some reasons. Suppose we are attaching the 35 * corresponding MTD device, for some reason we find no logical eraseblocks 38 * eraseblocks went bad. So we cannot alarm the user properly. 591 * No eraseblocks belonging to this volume found. We 604 * eraseblocks. Treat it as corrupted. 750 * these eraseblocks. 794 * No logical eraseblocks belonging to the layout volume were
|
/openbmc/linux/drivers/mtd/ubi/ |
H A D | Kconfig | 20 erase counter value and the lowest erase counter value of eraseblocks 23 counter to eraseblocks with high erase counter. 32 int "Maximum expected bad eraseblock count per 1024 eraseblocks" 36 This option specifies the maximum bad physical eraseblocks UBI 37 expects on the MTD device (per 1024 eraseblocks). If the underlying 38 flash does not admit of bad eraseblocks (e.g. NOR flash), this value 43 expected bad eraseblocks per 1024 eraseblocks then can be calculated 45 (MaxNVB is basically the total count of eraseblocks on the chip). 48 about 1.9% of physical eraseblocks for bad blocks handling. And that 49 will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD [all …]
|
H A D | ubi-media.h | 57 * initialization UBI finds out that there are available physical eraseblocks 59 * (the physical eraseblocks reserved for bad eraseblocks handling and other 60 * reserved physical eraseblocks are not taken). So, if there is a volume with 62 * eraseblocks will be zero after UBI is loaded, because all of them will be 68 * eraseblocks, depending of particular chip instance. Manufacturers of NAND 69 * chips usually guarantee that the amount of initial bad eraseblocks does not 72 * of good physical eraseblocks the NAND chip on the device will have, but this 78 * Note, first UBI reserves some amount of physical eraseblocks for bad 80 * means that the pool of reserved physical eraseblocks will always be present. 94 * physical eraseblocks, don't allow the wear-leveling [all …]
|
H A D | ubi.h | 294 * @reserved_pebs: how many physical eraseblocks are reserved for this volume 297 * @used_ebs: how many logical eraseblocks in this volume contain data 301 * @data_pad: how many bytes are not used at the end of physical eraseblocks to 306 * @upd_ebs: how many eraseblocks are expected to be updated 456 * @rsvd_pebs: count of reserved physical eraseblocks 457 * @avail_pebs: count of available physical eraseblocks 458 * @beb_rsvd_pebs: how many physical eraseblocks are reserved for bad PEB 495 * @used: RB-tree of used physical eraseblocks 496 * @erroneous: RB-tree of erroneous used physical eraseblocks 497 * @free: RB-tree of free physical eraseblocks [all …]
|
H A D | wl.c | 12 * physical eraseblocks and erase counters and knows nothing about logical 13 * eraseblocks, volumes, etc. From this sub-system's perspective all physical 14 * eraseblocks are of two types - used and free. Used physical eraseblocks are 16 * eraseblocks are those that were put by the 'ubi_wl_put_peb()' function. 18 * Physical eraseblocks returned by 'ubi_wl_get_peb()' have only erase counter 21 * When physical eraseblocks are returned to the WL sub-system by means of the 27 * physical eraseblocks with low erase counter to free physical eraseblocks 37 * As it was said, for the UBI sub-system all physical eraseblocks are either 39 * used eraseblocks are kept in @wl->used, @wl->erroneous, or @wl->scrub 49 * o we don't want to move physical eraseblocks just after we have given them [all …]
|
H A D | vtbl.c | 12 * physical eraseblocks, type, etc. The volume table is stored in the so-called 16 * consists of two logical eraseblocks - LEB 0 and LEB 1. Each logical 34 * eraseblocks became bad for some reasons. Suppose we are attaching the 35 * corresponding MTD device, for some reason we find no logical eraseblocks 38 * eraseblocks went bad. So we cannot alarm the user properly. 597 * No eraseblocks belonging to this volume found. We in init_volumes() 610 * eraseblocks. Treat it as corrupted. in init_volumes() 760 * these eraseblocks. in check_attaching_info() 810 * No logical eraseblocks belonging to the layout volume were in ubi_read_volume_table()
|
/openbmc/linux/drivers/mtd/tests/ |
H A D | speedtest.c | 30 MODULE_PARM_DESC(count, "Maximum number of eraseblocks to use " 213 "page size %u, count of eraseblocks %u, pages per " in mtd_speedtest_init() 243 /* Write all eraseblocks, 1 eraseblock at a time */ in mtd_speedtest_init() 261 /* Read all eraseblocks, 1 eraseblock at a time */ in mtd_speedtest_init() 283 /* Write all eraseblocks, 1 page at a time */ in mtd_speedtest_init() 301 /* Read all eraseblocks, 1 page at a time */ in mtd_speedtest_init() 323 /* Write all eraseblocks, 2 pages at a time */ in mtd_speedtest_init() 341 /* Read all eraseblocks, 2 pages at a time */ in mtd_speedtest_init() 359 /* Erase all eraseblocks */ in mtd_speedtest_init() 369 /* Multi-block erase all eraseblocks */ in mtd_speedtest_init()
|
H A D | subpagetest.c | 250 pr_info("verifying all eraseblocks for 0xff\n"); in verify_all_eraseblocks_ff() 264 pr_info("verified %u eraseblocks\n", i); in verify_all_eraseblocks_ff() 304 "page size %u, subpage size %u, count of eraseblocks %u, " in mtd_subpagetest_init() 344 pr_info("written %u eraseblocks\n", i); in mtd_subpagetest_init() 347 pr_info("verifying all eraseblocks\n"); in mtd_subpagetest_init() 361 pr_info("verified %u eraseblocks\n", i); in mtd_subpagetest_init() 371 /* Write all eraseblocks */ in mtd_subpagetest_init() 387 pr_info("written %u eraseblocks\n", i); in mtd_subpagetest_init() 389 /* Check all eraseblocks */ in mtd_subpagetest_init() 391 pr_info("verifying all eraseblocks\n"); in mtd_subpagetest_init() [all …]
|
H A D | oobtest.c | 108 pr_info("written %u eraseblocks\n", i); in write_whole_device() 318 pr_info("verifying all eraseblocks\n"); in verify_all_eraseblocks() 332 pr_info("verified %u eraseblocks\n", i); in verify_all_eraseblocks() 373 "page size %u, count of eraseblocks %u, pages per " in mtd_oobtest_init() 430 /* Check all eraseblocks */ in mtd_oobtest_init() 432 pr_info("verifying all eraseblocks\n"); in mtd_oobtest_init() 446 pr_info("verified %u eraseblocks\n", i); in mtd_oobtest_init() 458 /* Write all eraseblocks */ in mtd_oobtest_init() 469 /* Check all eraseblocks */ in mtd_oobtest_init() 630 /* Erase all eraseblocks */ in mtd_oobtest_init() [all …]
|
H A D | pagetest.c | 84 /* Check boundary between eraseblocks */ in verify_eraseblock() 355 "page size %u, count of eraseblocks %u, pages per " in mtd_pagetest_init() 379 /* Erase all eraseblocks */ in mtd_pagetest_init() 384 pr_info("erased %u eraseblocks\n", ebcnt); in mtd_pagetest_init() 386 /* Write all eraseblocks */ in mtd_pagetest_init() 402 pr_info("written %u eraseblocks\n", i); in mtd_pagetest_init() 404 /* Check all eraseblocks */ in mtd_pagetest_init() 406 pr_info("verifying all eraseblocks\n"); in mtd_pagetest_init() 420 pr_info("verified %u eraseblocks\n", i); in mtd_pagetest_init()
|
H A D | stresstest.c | 48 /* Read or write up 2 eraseblocks at a time - hence 'ebcnt - 1' */ in rand_eb() 164 "page size %u, count of eraseblocks %u, pages per " in mtd_stresstest_init() 170 pr_err("error: need at least 2 eraseblocks\n"); in mtd_stresstest_init() 175 /* Read or write up 2 eraseblocks at a time */ in mtd_stresstest_init()
|
H A D | mtd_test.c | 50 pr_info("scanning for bad eraseblocks\n"); in mtdtest_scan_for_bad_eraseblocks() 57 pr_info("scanned %d eraseblocks, %d are bad\n", i, bad); in mtdtest_scan_for_bad_eraseblocks()
|
/openbmc/u-boot/include/mtd/ |
H A D | ubi-user.h | 95 * a physical eraseblock and returns. Only non-mapped logical eraseblocks can 103 * ioctl command should be used. The ioctl unmaps the logical eraseblocks, 218 * eraseblocks on dynamic volumes 239 * offset of the VID header within physical eraseblocks. The default offset is 255 * UBI device per 1024 eraseblocks. This value is often given in an other form 257 * maximum expected bad eraseblocks per 1024 is then: 261 * has more bad eraseblocks than this limit, UBI does not reserve any physical 262 * eraseblocks for new bad eraseblocks, but attempts to use available 263 * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the 290 * eraseblock. This means, that the size of logical eraseblocks will be aligned [all …]
|
/openbmc/linux/include/uapi/mtd/ |
H A D | ubi-user.h | 109 * a physical eraseblock and returns. Only non-mapped logical eraseblocks can 117 * ioctl command should be used. The ioctl unmaps the logical eraseblocks, 237 * eraseblocks on dynamic volumes 259 * offset of the VID header within physical eraseblocks. The default offset is 275 * UBI device per 1024 eraseblocks. This value is often given in an other form 277 * maximum expected bad eraseblocks per 1024 is then: 281 * has more bad eraseblocks than this limit, UBI does not reserve any physical 282 * eraseblocks for new bad eraseblocks, but attempts to use available 283 * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the 329 * eraseblock. This means, that the size of logical eraseblocks will be aligned [all …]
|
/openbmc/linux/include/linux/mtd/ |
H A D | ubi.h | 45 * @size: how many physical eraseblocks are reserved for this volume 47 * @used_ebs: how many physical eraseblocks of this volume actually contain any 53 * @usable_leb_size: how many bytes are available in logical eraseblocks of 89 * eraseblocks if a volume may be less. The following equation is true: 149 * @leb_start: starting offset of logical eraseblocks within physical 150 * eraseblocks
|
H A D | nand.h | 23 * @eraseblocks_per_lun: number of eraseblocks per LUN (Logical Unit Number) 24 * @max_bad_eraseblocks_per_lun: maximum number of eraseblocks per LUN 538 * nanddev_eraseblocks_per_lun() - Get the number of eraseblocks per LUN 541 * Return: the number of eraseblocks per LUN. 550 * nanddev_eraseblocks_per_target() - Get the number of eraseblocks per target 553 * Return: the number of eraseblocks per target. 587 * nanddev_neraseblocks() - Get the total number of eraseblocks 590 * Return: the total number of eraseblocks exposed by @nand. 878 * want to iterate over all eraseblocks of a NAND device.
|
/openbmc/linux/Documentation/ABI/stable/ |
H A D | sysfs-class-ubi | 40 eraseblocks. 47 Count of bad physical eraseblocks on the underlying MTD device. 108 Number of physical eraseblocks reserved for bad block handling. 124 Total number of good (not marked as bad) physical eraseblocks on 192 Equivalent to the volume size in logical eraseblocks.
|
/openbmc/u-boot/include/linux/mtd/ |
H A D | ubi.h | 47 * @size: how many physical eraseblocks are reserved for this volume 49 * @used_ebs: how many physical eraseblocks of this volume actually contain any 55 * @usable_leb_size: how many bytes are available in logical eraseblocks of 91 * eraseblocks if a volume may be less. The following equation is true: 152 * @leb_start: starting offset of logical eraseblocks within physical 153 * eraseblocks
|
/openbmc/u-boot/fs/ubifs/ |
H A D | ubifs-media.h | 243 /* Minimum number of logical eraseblocks in the log */ 245 /* Minimum number of bud logical eraseblocks (one for each head) */ 247 /* Minimum number of journal logical eraseblocks */ 249 /* Minimum number of LPT area logical eraseblocks */ 251 /* Minimum number of orphan area logical eraseblocks */ 254 * Minimum number of main area logical eraseblocks (buds, 3 for the index, 1 259 /* Minimum number of logical eraseblocks */ 597 * @log_lebs: log size in logical eraseblocks 672 * @empty_lebs: number of empty logical eraseblocks 673 * @idx_lebs: number of indexing logical eraseblocks
|
/openbmc/linux/Documentation/filesystems/ |
H A D | ubifs.rst | 21 1 MTD devices represent flash devices and they consist of eraseblocks of 30 4 Eraseblocks become worn out after some number of erase cycles - 33 5 Eraseblocks may become bad (only on NAND flashes) and software should 45 is very similar to MTD devices - they still consist of large eraseblocks,
|
/openbmc/linux/fs/ubifs/ |
H A D | ubifs-media.h | 243 /* Minimum number of logical eraseblocks in the log */ 245 /* Minimum number of bud logical eraseblocks (one for each head) */ 247 /* Minimum number of journal logical eraseblocks */ 249 /* Minimum number of LPT area logical eraseblocks */ 251 /* Minimum number of orphan area logical eraseblocks */ 254 * Minimum number of main area logical eraseblocks (buds, 3 for the index, 1 259 /* Minimum number of logical eraseblocks */ 629 * @log_lebs: log size in logical eraseblocks 714 * @empty_lebs: number of empty logical eraseblocks 715 * @idx_lebs: number of indexing logical eraseblocks
|