From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Gehrlein Date: Fri, 12 Dec 2008 17:34:40 +0100 Subject: [U-Boot] CFI: flash_write_cfiword() slow In-Reply-To: <20081103201002.CA4A683568B6@gemini.denx.de> References: <490EDD63.1010403@tqs.de> <20081103201002.CA4A683568B6@gemini.denx.de> Message-ID: <494292A0.3080300@tqs.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Wolfgang, Wolfgang Denk schrieb: > Dear Jens Gehrlein, > > In message <490EDD63.1010403@tqs.de> you wrote: >> find_sector() loops through the sector table from the last sector to >> the current sector. And the more sectors the device has, the slower >> the algorithm becomes. And this process for every sector to be >> programmed. And yes, there are still devices around without (standard) >> write buffer, e.g. the Samsung K8P2815UQB. > > A classic (and trivial to implement) approach is not to start > searching at the end, but at the last used sector (assuming search > driection and direction of "growth" are identical). Okay. Because I never have seen, that a flash has been written backwards, as a prerequisite I have to change the loop from counting down to counting up. Any objections? > This way, you > will typically find the match either immediately or with a single > step. > > Maybe you want to give that a try... I'm currently trying :-) Had some other projects in the meantime. Kind regards, Jens