[PATCH] mtd: Expand the ecc placement locations to 1260

punnaiah choudary kalluri punnaia at xilinx.com
Wed Apr 8 03:48:17 PDT 2015


Ping

On Tue, Mar 24, 2015 at 8:04 AM, punnaiah choudary kalluri
<punnaia at xilinx.com> wrote:
> On Fri, Mar 20, 2015 at 4:51 AM, Jeff Lauruhn (jlauruhn)
> <jlauruhn at micron.com> wrote:
>> This device has a Page size x8: 17,600 bytes (16,384 + 1216 bytes) and minimum required ECC 24-bit ECC per 1100 bytes of data.  Spare area needed for ECC would be ECC * M, where M is (codeword <= 2^m-1).  In this case M=14, because (1100*8)<=2^14-1, therefore minimum spare area needed is 14*24 = 336b or 42B per codeword.  So for this device a minimum of 672bytes of the 1216 need to be used for ECC, the rest can be used for other purposes.
>>
>
> Ok. Does it mean increasing the size to 672 bytes will be enough ?
> I see that 672 bytes is the minimum required size for 24 bit ecc. There
> may be controllers that may detect errors beyond 24 bit and would require
> more number of  ecc bytes per codeword. So, i configured the ecc position
> value to max oobsize and i believe this change is needed.
>
> Regards,
> Punnaiah
>>
>>
>> Jeff Lauruhn
>> NAND Application Engineer
>>
>>
>> -----Original Message-----
>> From: linux-mtd [mailto:linux-mtd-bounces at lists.infradead.org] On Behalf Of Punnaiah Choudary Kalluri
>> Sent: Thursday, March 19, 2015 1:50 AM
>> To: dwmw2 at infradead.org; computersforpeace at gmail.com
>> Cc: linux-kernel at vger.kernel.org; shaktib at xilinx.com; michals at xilinx.com; linux-mtd at lists.infradead.org; kalluripunnaiahchoudary at gmail.com; Punnaiah Choudary Kalluri
>> Subject: [PATCH] mtd: Expand the ecc placement locations to 1260
>>
>> Device like MT29F32G08ABCDBJ4 have a writesize/oobsize of 16K/1260 Bytes.
>> So, increasing the maximum ecc placement locations to 1260
>>
>> Signed-off-by: Punnaiah Choudary Kalluri <punnaia at xilinx.com>
>> ---
>>  include/linux/mtd/mtd.h |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index f17fa75..e73d85b 100644
>> --- a/include/linux/mtd/mtd.h
>> +++ b/include/linux/mtd/mtd.h
>> @@ -95,7 +95,7 @@ struct mtd_oob_ops {
>>  };
>>
>>  #define MTD_MAX_OOBFREE_ENTRIES_LARGE  32
>> -#define MTD_MAX_ECCPOS_ENTRIES_LARGE   640
>> +#define MTD_MAX_ECCPOS_ENTRIES_LARGE   1260
>>  /*
>>   * Internal ECC layout control structure. For historical reasons, there is a
>>   * similar, smaller struct nand_ecclayout_user (in mtd-abi.h) that is retained
>> --
>> 1.7.4
>>
>>
>> ______________________________________________________
>> Linux MTD discussion mailing list
>> http://lists.infradead.org/mailman/listinfo/linux-mtd/



More information about the linux-mtd mailing list