[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87y0rhyq12.fsf@bootlin.com>
Date: Mon, 18 Aug 2025 10:47:53 +0200
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Cheng Ming Lin <linchengming884@...il.com>
Cc: vigneshr@...com, linux-mtd@...ts.infradead.org,
linux-kernel@...r.kernel.org, richard@....at, alvinzhou@...c.com.tw,
leoyu@...c.com.tw, Cheng Ming Lin <chengminglin@...c.com.tw>
Subject: Re: [PATCH 2/2] mtd: spi-nand: macronix: Add randomizer support
Hi Chang Ming,
On 11/08/2025 at 11:01:25 +08, Cheng Ming Lin <linchengming884@...il.com> wrote:
> Hi Miquel,
>
> Miquel Raynal <miquel.raynal@...tlin.com> 於 2025年8月8日 週五 下午6:19寫道:
>>
>> On 08/08/2025 at 17:55:03 +08, Cheng Ming Lin <linchengming884@...il.com> wrote:
>>
>> > From: Cheng Ming Lin <chengminglin@...c.com.tw>
>> >
>> > Enable randomizer function by specific flowchart to set the default value
>> > of RANDEN to 1.
>> >
>> > Randomizer introduces two new DT properties for child nodes to configure
>> > the randomizer functionality and coverage options.
>> > - mxic,enable-randomizer-otp: Specify whether to activate the randomizer
>> > feature.
>> > - mxic,randopt: Define the randomizer area per page.
>>
>> Can we create a global NAND DT property for that? Enabling a randomizer
>> is quite a generic step.
>>
>> > The penalty of randomizer are subpage accesses prohibited and more time
>> > period is needed in program operation and entering deep power-down mode.
>> > i.e., tPROG 320us to 360us (randomizer enabled).
>>
>> Do you want to share what is the added value in terms of lifetime to
>> enable the randomizer, given the drawbacks which are significant?
>
> The randomizer mainly targets extremely unbalanced data patterns,
> which might potentially lead to data errors.
>
> Please refer to the attached document:
> https://www.mxic.com.tw/Lists/ApplicationNote/Attachments/2151/AN1051V1-The%20Introduction%20of%20Randomizer%20Feature%20on%20MX30xFxG28AD_MX35xFxG24AD.pdf
Thanks for the link, it may be pointed with a "Link:" tag in your commit
to further justify this addition. However it is sparse on details. I
would be interested by more details, such as "how many 0s? how many
bitflips? how often/likely?"
> Figure 1 shows that continuously programming too
> many 0s can result in data errors.
Thanks,
Miquèl
Powered by blists - more mailing lists