mtd: cfi_cmdset_0002: Read data 3 times to check write operation status

IKEGAMI Tokunori ikegami at allied-telesis.co.jp
Tue Apr 24 07:08:16 PDT 2018


Hi Jocke-san,

Thanks for your comment.

> I find this a bit odd. I am looking at some other erase suspend problems we
> see on Cypress AMD NOR flash and I have noted that there is more than just DQ6 toggling.
> Checking DQ5 in combination with DQ6 is one.

  By the way I have also found only once do_erase_oneblock() was failed by the timeout on the write failure situation.
  So I thought that the error also can be resolved by the 3 times reading for checking chip_ready().

> How did you you arrive at reading 3 times is correct? Is the any documentation
> supporting this?

  About the 3 times reading is described by the page 32 on following Cypress S29GLxxxP flash data sheet.
    <http://www.cypress.com/file/219926/download>

> All in all, error handling in cmdset0002 is lacking.

  I have understood as that it is for example FIXME parts for the error case in cfi_cmdset_0002.
  Is this correct?

Regards,
Ikegami

-----Original Message-----
From: Joakim Tjernlund [mailto:Joakim.Tjernlund at infinera.com] 
Sent: Tuesday, April 24, 2018 8:05 PM
To: IKEGAMI Tokunori; linux-mtd at lists.infradead.org
Cc: PACKHAM Chris
Subject: Re: mtd: cfi_cmdset_0002: Read data 3 times to check write operation status

On Tue, 2018-04-24 at 05:54 +0000, IKEGAMI Tokunori wrote:
> 
> Hi,
> 
> Let us consult to change mtd cfi_cmdset_0002 to read data 3 times as below patch.
> Can we change the mtd cfi_cmdset_0002 driver like this?
> If any comment or concern please let us know.
> 
> From d924822c996b9c0eccc815e5018a0c3ea6077137 Mon Sep 17 00:00:00 2001
> From: Tokunori Ikegami <ikegami at allied-telesis.co.jp>
> Date: Tue, 24 Apr 2018 13:26:37 +0900
> Subject: [PATCH 2/2] mtd: cfi_cmdset_0002: Read data 3 times to check write
>  operation status
> 
> Cypress S29GLxxxP flash is needed to read data 3 times to check DQ6 toggles.
> Actually the read data is sometimes changed by the 3rd reading.
> Also this is caused on other flash device also.
> The flash write failure is possible to be caused by the error.
> To resolve the issue change the read number of times to 3 from 2.

Hi 

I find this a bit odd. I am looking at some other erase suspend problems we
see on Cypress AMD NOR flash and I have noted that there is more than just DQ6 toggling.
Checking DQ5 in combination with DQ6 is one.
How did you you arrive at reading 3 times is correct? Is the any documentation
supporting this?

All in all, error handling in cmdset0002 is lacking.

 Jocke



More information about the linux-mtd mailing list