[PATCH] mtd: nand: support for Toshiba BENAND (Built-in ECC NAND)

Richard Weinberger richard.weinberger at gmail.com
Wed Jun 10 00:50:22 PDT 2015


On Wed, Jun 10, 2015 at 9:08 AM, KOBAYASHI Yoshitake
<yoshitake.kobayashi at toshiba.co.jp> wrote:
> This patch enables support for Toshiba BENAND.
> Toshiba BENAND is a SLC NAND solution that automatically generates ECC
> inside NAND chip. Newer generation SLC NAND devices of today need multi-bit
> hardware ECC by NAND controller in SoC. BENAND solution is ECC free,
> has high performance and backward compatibility in NAND chip trend.

Do you have performance numbers?
How fast is it compared to a decent HW ECC engine?

Did you see my On-Die ECC series and Brian's comments on it?
https://lkml.org/lkml/2015/3/25/310
I suspect some of his comments will apply to you as well.

> Signed-off-by: KOBAYASHI Yoshitake <yoshitake.kobayashi at toshiba.co.jp>
> ---
>  drivers/mtd/nand/Kconfig     |   16 ++++++++++++++++
>  drivers/mtd/nand/Makefile    |    1 +
>  drivers/mtd/nand/nand_base.c |   32 ++++++++++++++++++++++++++++++--
>  include/linux/mtd/nand.h     |    3 +++
>  4 files changed, 50 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
> index 5897d8d..2f11d43 100644
> --- a/drivers/mtd/nand/Kconfig
> +++ b/drivers/mtd/nand/Kconfig
> @@ -22,6 +22,22 @@ menuconfig MTD_NAND
>
>  if MTD_NAND
>
> +config MTD_NAND_BENAND
> +       tristate
> +       depends on MTD_NAND_BENAND_ENABLE
> +       default MTD_NAND
> +
> +config MTD_NAND_BENAND_ENABLE
> +       bool "Support for Toshiba BENAND (Built-in ECC NAND)"
> +       default y
> +       help
> +               Toshiba BENAND is a SLC NAND solution that automatically
> +               generates ECC inside NAND chip.
> +               Newer generation SLC NAND devices of today need multi-bit
> +               hardware ECC by NAND controller in SoC.
> +               BENAND solution is ECC free, has high performance and
> +               backward compatibility in NAND chip trend.
> +
>  config MTD_NAND_BCH
>         tristate
>         select BCH
> diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
> index 582bbd05..afd26f0 100644
> --- a/drivers/mtd/nand/Makefile
> +++ b/drivers/mtd/nand/Makefile
> @@ -3,6 +3,7 @@
>  #
>
>  obj-$(CONFIG_MTD_NAND)                 += nand.o
> +obj-$(CONFIG_MTD_NAND_BENAND)  += nand_benand.o

nand_benand.c is not part of this patch.
Forgot a git add? :-)

-- 
Thanks,
//richard



More information about the linux-mtd mailing list