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

From: Richard Weinberger
Date: Wed Jun 10 2015 - 03:51:45 EST


On Wed, Jun 10, 2015 at 9:08 AM, KOBAYASHI Yoshitake
<yoshitake.kobayashi@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>
> ---
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/