Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1515729

Re: [PATCH v4 0/5] mtd: use ONFI bad blocks per LUN to calculate UBI bad PEB limit

From Boris Brezillon <boris.brezillon@free-electrons.com>
Newsgroups linux.kernel
Subject Re: [PATCH v4 0/5] mtd: use ONFI bad blocks per LUN to calculate UBI bad PEB limit
Date 2016-11-06 19:00 +0100
Message-ID <sAzTz-8ul-27@gated-at.bofh.it> (permalink)
References <syLPc-3J3-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, 1 Nov 2016 13:16:25 -0500
Zach Brown <zach.brown@ni.com> wrote:

> For ONFI-compliant NAND devices, the ONFI parameters report the maximum number
> of bad blocks per LUN that will be encountered over the lifetime of the device,
> so we can use that information to get a more accurate (and smaller) value for
> the UBI bad PEB limit.
> 
> The ONFI parameter "maxiumum number of bad blocks per LUN" is the max number of
> bad blocks that each individual LUN will ever ecounter. It is not the number of
> bad blocks to reserve for the nand device per LUN in the device.
> 
> This means that in the worst case a UBI device spanning X LUNs will encounter
> "maximum number of bad blocks per LUN" * X bad blocks. The implementation in
> this patch assumes this worst case and allocates bad block accordingly.
> 
> These patches are ordered in terms of their dependencies, but ideally, all 5
> would need to be applied for this to work as intended.

This series looks good to me.

Acked-by: Boris Brezillon <boris.brezillon@free-electron.com>

Brian, Richard, any objections?

> 
> v1:
>  * Changed commit message to address concerns from v1[1] about this patch set
>    making best case assumptions.
> v2:
>  * Provided helper function for _max_bad_blocks
>  * Two new patches
>  * First new patch adds bb_per_lun and blocks_per_lun to nand_chip struct
>  * Second new patch sets the new fields during nand_flash_detect_onfi
>  * Max bad blocks calculation now uses the new nand_chip fields
> v3:
>  * Changed bb_per_lun and blocks_per_lun to bb_per_die and blocks_per_die
>  * Corrected type of bb_per_die and blocks_per_die from little endian to host
>    unsigned int
> 
> [1]
> http://lkml.iu.edu/hypermail/linux/kernel/1505.1/04822.html
> 
> 
> Jeff Westfahl (2):
>   mtd: introduce function max_bad_blocks
>   mtd: ubi: use 'max_bad_blocks' to compute bad_peb_limit if available
> 
> Zach Brown (3):
>   mtd: nand: Add bb_per_die and blocks_per_die fields to nand_chip
>   mtd: nand: implement 'max_bad_blocks' mtd function
>   mtd: nand: set bb_per_die and blocks_per_die for ONFI compliant chips
> 
>  drivers/mtd/mtdpart.c        | 13 +++++++++++++
>  drivers/mtd/nand/nand_base.c | 39 +++++++++++++++++++++++++++++++++++++++
>  drivers/mtd/ubi/build.c      |  4 ++++
>  include/linux/mtd/mtd.h      | 11 +++++++++++
>  include/linux/mtd/nand.h     |  5 +++++
>  5 files changed, 72 insertions(+)
> 
> --
> 2.7.4
> 

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH v4 0/5] mtd: use ONFI bad blocks per LUN to calculate UBI bad PEB limit Zach Brown <zach.brown@ni.com> - 2016-11-01 19:20 +0100
  [PATCH v4 5/5] mtd: nand: set bb_per_die and blocks_per_die for ONFI compliant chips Zach Brown <zach.brown@ni.com> - 2016-11-01 19:20 +0100
  [PATCH v4 1/5] mtd: introduce function max_bad_blocks Zach Brown <zach.brown@ni.com> - 2016-11-01 19:20 +0100
  [PATCH v4 4/5] mtd: nand: implement 'max_bad_blocks' mtd function Zach Brown <zach.brown@ni.com> - 2016-11-01 19:20 +0100
  [PATCH v4 3/5] mtd: nand: Add bb_per_die and blocks_per_die fields to nand_chip Zach Brown <zach.brown@ni.com> - 2016-11-01 19:20 +0100
    Re: [PATCH v4 3/5] mtd: nand: Add bb_per_die and blocks_per_die  fields to nand_chip Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-06 18:50 +0100
  Re: [PATCH v4 0/5] mtd: use ONFI bad blocks per LUN to calculate  UBI bad PEB limit Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-11-06 19:00 +0100

csiph-web