From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756759AbbJ2SjY (ORCPT ); Thu, 29 Oct 2015 14:39:24 -0400 Received: from mail-bn1on0144.outbound.protection.outlook.com ([157.56.110.144]:57848 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751055AbbJ2SjU (ORCPT ); Thu, 29 Oct 2015 14:39:20 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; Date: Thu, 29 Oct 2015 13:28:03 -0500 From: Han Xu To: Bean Huo =?utf-8?B?6ZyN5paM5paMIChiZWFuaHVvKQ==?= CC: "b45815@freescale.com" , "linux-mtd@lists.infradead.org" , "shijie.huang@arm.com" , "linux-kernel@vger.kernel.org" , "vinod.koul@intel.com" , Boris Brezillon , Brian Norris , "dmaengine@vger.kernel.org" Subject: Re: [PATCH v7 4/7] mtd: nand: gpmi: may use minimum required ecc Message-ID: <20151029182801.GA7007@chopperman.am.freescale.net> References: <20151028155757.GB4035@chopperman.am.freescale.net> 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) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD051;1:NC4IMkboO1rRK774AWipt2S3tpXfkJmDMb4LaXD0+8mucEEqeh9Tc3FTpIMIv8w9vtx9ABP7VcCdfirVm1sgq4xkSX+TMA7q6Ft7QLLc/ac9LaL9dV1ias2BrNIs5Jw73WgJpZwQcHGzCxGp9/fRlUPkvhk/K87Daw4cSyiZe+S1s6aL05Ga1PPQ0P+v9TGDTn1TNY9tcMAV3Mta92y9+IP7isds6yA3DGhhwdnSxOIPb+gTNwrq6pc4d+GwQ19AnqCjQPDs7dA4yGRIUs+UmYA1a0SjboAqj09IUFrCpMk7i0D6QhB2L/sbEnYDX0KjW1dO00JQ8HjiyLpcOGSKNA2bbdDimfBZiOr/HJZRyiHbkziOc+xO0i2eqNCC4wuuSJOts2ViP5P6BiE4dVoqEw== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(24454002)(47776003)(5007970100001)(87936001)(77096005)(76176999)(11100500001)(33656002)(6806005)(23676002)(104016004)(54356999)(50466002)(85426001)(50986999)(189998001)(106466001)(83506001)(92566002)(5003600100002)(110136002)(105606002)(2950100001)(97736004)(81156007)(5001960100002)(4001350100001)(5008740100001)(86362001);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR03MB555;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB555;2:r1RmoJj7/SsKt41t6MY60IuEgWlbJg9sDVhLWfTL7gEmULltOKz2PBQW6PKNUdp3EaNyf0bRaCvGAJzJf3Ghgj6MYpeBPjETxShwcqjVA9hJVYPTsnanKrZegEowef2ZrI69fc+439FIeTOn60q5JhNvgTjJKAr+vdrPWLGMAb4=;3:59Qsk31fi6BcZ/phjmOpL7JWZNg099bXjaCpqWmYHMtXYNVdCyNMMnG6zrUs+yJHejl8Dc25/joDF7H+faA0OI+O/Qp4oFescRbJxEpS2ukKeQ1kFds7OQQ1Bfg/pvpsnwGJe2m+THx5G/d5sgLao9W6Z7vDPxiYxlCzxZQ7QS7yBMHVQVifF0tEslUv1tdOErhnh5CtXe3yDmcCARq4rvM2DiYjvMvS4h1ug9Ikr7E=;25:nuL1bCDIYkRIWcLJIuTjm3fSXPrXiRCTad16OLM/KJZ/jkAeBD9quZa0HwBeGEVjwqAjb8WWwr9Z5rR+6z72WQ1Fck4f6pjULhdi9tmMDqc7/BqKYpwDN3sOFCwJXb1FiOUcwfA2AcFH8UJTf5QkHhEzwsKV0FDmhNXKRk457Dkwr+t1yr7hZLi7sYNcl15ZMo898esy8KtVVTGG9l1zMAQ1MEB4ONn6BKZ8LDBmO1PKgdW+nqwTwmAqBQnNV29OJ/mO4OtF83M7kZ/7pb8Fvw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR03MB555; X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB555;20:Hek2gpSdMmP2L6DgPgO5sGhWJAeDHzNbJu7JJPI6cnMUddIsuiakelblNQWyKjbUaN44ruwSr5BgGWHiDbD0hCjxK9SwFaJhI1HTm6d8BGav7k/ulj3qjmahF6K19OgdtEkWL1HDKkSZ9GvctLMpvHN2rm97TXmtNpHmgD49hwXOAegvGOPWjKXoq3D+P5DshDRAPysXWFN7HcLa8b5TcVGsTGdESFhMNHmt9ZMAXzKLBeHiVRlrvWrMOYNIjtmoaR9saWUFmc6WxUgaNJe7Ql4cTF+CRNIdHPbHn20XW+j5JTknzjklzcUs7cHYhVdgnM6adzi51XgZd8MLpll8hMEuuvgJa8+8NEBB5mK4bDQ=;4:p7RTkWNI9wlm5uPm58P7vH4XctIy6PmhmsARwaaYOBbTL9I1Ve5rGQllgFCCtCbBzI5LZEm1TiqOgwk7le6zOXiVr3CGQvent4s4RnUwxNb1aIgcpkOjvMaUafX4znaU1Od/hkrwODJUyHrlnWfv7vx/y7n/U6NG4ELluSyyR5OA8ReC78GF1eT1oTF97cGasKaImSJAtxxVoxL/9YHRM00pKkYSIPhNaisIfjaz0q3WQgLTSK0OLgW8+puyZXv5UI1zH2bw9WSTBZNV8DkTilhhnn4q8oAfz5Y7gAs5kw5VKkUhGPAICGBF5S8A/6iqqeA0jwN/MXMKKDwr39XATSGgSFcyHGWjDcrHkJJ7nxUqQzB+rH+dDOzJEghZG+WD3wWbvX0o+JfaVcSMeG+naQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(10201501046)(3002001)(102215026);SRVR:BY2PR03MB555;BCL:0;PCL:0;RULEID:;SRVR:BY2PR03MB555; X-Forefront-PRVS: 0744CFB5E8 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAzTUI1NTU7MjM6Y2xKWnBpclQrM29CMVIxSWN6T29DU3VXNTFo?= =?utf-8?B?aWJCVmZSb1dHcU1YclppdFh5cGF6NlBaeHJnZmRaYVhjellkcFN4ZjQvZHdC?= =?utf-8?B?RmpvTTRXRHNlQWR1RHNrQ2RNZDFGTkFtbUxkaS9pSTljaG9aQTlQcGpEMXFi?= =?utf-8?B?ODBHNFd5RzVhZTBqTkpxTFlvdmhPZ0w0Qm1hMmptZXI3TXp4ODZpY0JLbWQ0?= =?utf-8?B?MDRsdmZ0NHcyOTJVWFhYMVEvTGVNcW1lYnBVK1A1T3pXc0RGTnBHaDNibURL?= =?utf-8?B?RjNuWm00RHp5QTl0TnpRTmx4Z3hLRmFkUzVFWkhVYS9sSEdJN3I4T2tMazJH?= =?utf-8?B?dWY3V3NLUFVCeHdZR28vU01FSWhqUmJBVUFlR1RXU2Y5K05mS3QvR0tVQmNR?= =?utf-8?B?cWpKd3gwV3ZCZ3lIZ2Vxd1A3OTdvTUl5UWZkcUlUdndHZU1hQS9RS3l1ZUww?= =?utf-8?B?L25NUmpkZGtOYmdEMjJJMGQ1WjhMRldxWTFsSFBuZ0JiOEhlMmNqS0dVRG5U?= =?utf-8?B?MyszQlNXaWNuUlJqUzU2VTEyUkN0dU9ia2FJZ25odlNadUxCcGFSVTQ3Q0d1?= =?utf-8?B?SkFzMXNpRDlsZjV5RnlocThnQm5IVkJmWUdUSldUdkFzOGM0MCtDdzRBODZ5?= =?utf-8?B?czc3anUyQzhPNDBFZFY0MUh3MHlaYWVwREhnNkVQSEsvUkxORmlmZitnME5v?= =?utf-8?B?VXZYS2ZuOFhBQVpXQk1uN2pXOEVLNUNERlZRcDNKbE9WanpUSWRuaFVzYTg0?= =?utf-8?B?UW1IRTZwQWdLYXJyVktYNitNL0l1ZVR6dmxaVXpIRUdhQ3E3cEpZbURrYkps?= =?utf-8?B?a1hHL1lYV1Uwakluc0NDMXZQakVaU1BISnc3Q3lRbjM0bDFUR1JON25yU053?= =?utf-8?B?VnFWTVAvVmFYUVlCTXoxNFpheG8wcDJnZ21aeGVnZUZwRkhpY21PZDU0aGRU?= =?utf-8?B?Lzl2QW95MndaYzhxZDdBVDc0U09zdm9kbU9JcjJWSjM2OUt3MFB1TGY0MFIx?= =?utf-8?B?WTNXR2NjOW5JRVppQ1daTFhyUGhCVkdETU10UmprRUNJYmwrYWFQNjBaLyt5?= =?utf-8?B?UnhOdERFdFdLeW4rZmRHYTJLRm5HMklCcTdTaW05TGJIMEhIcnJqaWI5SEtW?= =?utf-8?B?Tm4zdzZ6NVJMSFQzcDRDRG9HSnlIazd4aGNDNDlraVMwSnlIOVhyZmlqZ0NF?= =?utf-8?B?S0lDUDM3a1YrcUdyZjRDR2xBdWhkUmpqNzNRZ0dQVzlFczhXbGIybVVjRE9G?= =?utf-8?B?UHR2UENpUXdkNFdkWlV6OVlQOXlGMHE2bzVrbGlRNXhFdmFxSnJJSmJkc29j?= =?utf-8?Q?QI2PNNMvI5YkemhkR/+nFNhZ3joM0eU=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR03MB555;5:CWKDwOyqOajZASCkfGVLBF5RpDSsu/7+Nb3nmodeOaAwYeDlxIho8BsFdMVmGYHHAdgCvPraKmxLipfvFGyz52XhxIhnNQfpXKAKs7GL1e2lpt1vP8GMwXbiAr/Eg7U/zwM88p6vBTRVYl2N4R0v+A==;24:3tlHk1a9Db8hAHtIPniTOsrVFGJYjmegLnUtSHpP1EvTpfjxd4ytTWDeB/0t1V0an6+TeO6/RrwrbxH1AVGH+EMuKfUI3GxEaF9DR8WNya4=;20:fnEcBoPRlyn4I21Rz2YelHa4P+04xGF6HCNfNfcQuGCv1kUmNm2ZQieCWUJLnpD23sWKK8+VfOTOKJwmULfynQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2015 18:39:16.2878 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR03MB555 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 29, 2015 at 04:34:37AM +0000, Bean Huo 霍斌斌 (beanhuo) wrote: > > > > By default NAND driver will choose the highest ecc strength that oob > > > > could contain, in this case, for some 8K+744 NAND flash, the ecc > > > > strength will be up to 52bit, which beyonds the i.MX6QDL BCH capability > > (40bit). > > > > > > > > > For normal working environment, if hardware BCH ECC cannot meet NAND > > > ecc requirement, We can set a minimum required ecc strength, and file > > system refresh/scrub can control bitflips under NAND ecc strength. But during > > reflow solder, it is very possible that NAND bitflips may increase over your > > hardware BCH capability, I don't know how this controller handle this? > > > For example, NAND require 80bit ECC, but hardware BCH ECC can only hold > > 40bit. > > > After reflow, there are some blocks that bitflips over 40bit. > > > > if the minimum ecc strength read from NAND ONFI parameter exceeds the > > BCH ECC capability, the NAND driver quits and reports unsupport NAND chip. > > Current Linux already set ECC strength according to NAND minimum required ECC that read > from ONFI table. So if NAND minimum required ECC is 60bit, but this BCH controller can only hold 40bit, > NAND driver quits? Why not transfer to use software BCH ECC? SW ECC brings huge computational complexity, that's why needs HW ECC. I think user should choose the proper NAND chip according to platfrom capability rather than involve SW ECC in driver. > > > Do you mean reflow solder may change the NAND minimum required ECC > > strength, in other word, the actual minimum ECC may larger than it said in > > NAND chip SPEC? > > NAND minimum required ECC does not changed because of reflow. > I mean that if hardware BCH ECC Can not meet nand minimum required ECC, during normal working, we can set > ECC strength according to Your hardware ECC capability. > for example in this case, NAND minimum required ECC is 60bit, but hardware ECC capability Is 40bit, during normal working, > we can set ECC strength according to 40bit, this can work, it will definitely increase PE cycle. > But for reflow operation, there are some blocks that their bitflips will increase over your hardware ECC 40bit, so how do you handle this? > Or you don't meet this case? I don't quite understand, why 60bit ECC NAND can work on 40bit ECC platform, it is quite possible to get uncorrectable ECC error. Excuse me, I didn't get your point about reflow operation part, in your case, the original ECC read from ONFI table has already beyond the HW ECC, even without reflow. > > > > > -- > > Best Regards, > > > > Han "Allen" Xu > -- Best Regards, Han "Allen" Xu