On 01/05/2014 18:34, Jason Gunthorpe wrote: > On Thu, May 01, 2014 at 03:09:49AM +0200, Boris BREZILLON wrote: >> Hello, >> >> This series is a proposal to add support for randomizers (either software >> or hardware) to NAND flash controller drivers. > FWIW, I think the term for reversibly combining a PRBS with data is > 'scrambling', it is often used in communication systems for similar > reasons - probabilisticly increasing transition density. > > randomizing is something else entirely :) I totally agree with you, this is not a randomizer but rather a scrambler. The reason I chose the "randomizer" word is that all the documents I read are talking about randomizers. But, other than I don't have any concern about changing all references to "randomizer" into "scrambler" ;-). > > BTW, there are security concerns here. The scrambler PRBS must not be > predictable by the user, otherwise they can write data that undoes the > scramble and defeat it, ie deliberately writing the last 2k of a 4k > write block as all 0's after scrambling could cause the first 2k to be > lost. That feels like something that could be scary .. AFAICT, the scramblers/randomizers used in NAND applications are all predictable, which means the scrambler state does not depend on the last data being scrambled. For example, the sunxi HW scrambler is using a Fibonacci LFSR [1]. Do you have any example of non predictable scrambler that are used to scramble NAND data ? Best Regards, Boris -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html