Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754468AbbKRCuP (ORCPT ); Tue, 17 Nov 2015 21:50:15 -0500 Received: from mail-pa0-f46.google.com ([209.85.220.46]:36103 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753186AbbKRCuN (ORCPT ); Tue, 17 Nov 2015 21:50:13 -0500 Date: Tue, 17 Nov 2015 18:50:10 -0800 From: Brian Norris To: Bean Huo =?utf-8?B?6ZyN5paM5paMIChiZWFuaHVvKQ==?= Cc: "linux-kernel@vger.kernel.org" , "linux-mtd@lists.infradead.org" , Boris Brezillon Subject: Re: enhance ONFI table reliability/stable Message-ID: <20151118025010.GB140057@google.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1898 Lines: 52 Hi Bean, I was sorting through old email and I found this. On Tue, Jul 21, 2015 at 02:42:34PM +0000, Bean Huo 霍斌斌 (beanhuo) wrote: > Hi, > > Recently, I faced some case about ONFI table reliability, now it used CRC. > If there is bit flips in ONFI parameter pages, parameter backup page will be taken. > For latest linux,default read three copys. > > chip->cmdfunc(mtd, NAND_CMD_PARAM, 0, -1); > for (i = 0; i < 3; i++) { > for (j = 0; j < sizeof(*p); j++) > ((uint8_t *)p)[j] = chip->read_byte(mtd); > if (onfi_crc16(ONFI_CRC_BASE, (uint8_t *)p, 254) == > le16_to_cpu(p->crc)) { > break; > } > } > > However ,with technoogy improvement,for TLC and new generatin MLC,I > think, three copys of Ha, "improvement" :) > Parameter tables is not powerful enough.my question is that if there > is a good method to protect and corrent parameter page. For example,we > can use linux software BCH ecc. Any suggections and input be > welcomed,if you having any concerns about this,don't free tell me. I recall this being brought up at my old job, and I all I can say is... (please pardon my censored language) ...that is complete and utter bulls***. An ONFI standard that can't guarantee "reliable enough" parameter pages is no standard at all. To step back a bit: How would one expect to store and retrieve ECC parity data? ...on the NAND flash? But to do that, we have to know the geometry parameters of said NAND flash. How do we figure out the geometry? From the ONFI parameter pages! Nice Catch 22 you have there. Please encourage your employer never to produce "ONFI-compliant" flash that are this bad. Regards, Brian -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/