From: Shawn Jin <xiaogeng_jin@agilent.com>
To: Linux Mtd <linux-mtd@lists.infradead.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Subject: 2nd erase command issued before the 1st one finishes
Date: Fri, 27 Feb 2004 17:54:46 -0800 [thread overview]
Message-ID: <403FF4E6.6030801@agilent.com> (raw)
Hi,
The problem I came into on flash erasure is that only the first sector
erasure can succeed. Please refer to the thread
http://lists.infradead.org/pipermail/linux-mtd/2004-February/009327.html.
This really confused me for a while. Finally I got a sense why this
happened.
The following statement is from AMD datasheet.
"After the sector erase command sequence is written, the system sould
read the status on DQ7 or DQ6 to ensure the device has accepted the
command sequence, and then READ DQ3. If DQ3 is "1", the internally
controlled erase cycle has begun; all further commands other than Erase
Suspend are ignored until the erase operation is complete. To ensure the
command has been accepted, the system software should check teh status
of DQ3 prior to and following each subsequent sector erase command."
The current do_erase_oneblock() doesn't check DQ3 at all. In my test I
used 'erase /dev/mtd1 0 3' to erase 3 consecutive sectors but only the
1st one got erased. I modified the 'erase' utility to add some delay
between two erase commands. When the interval was 2 seconds, I found
interestingly that only one chip got erased. My configuration is 2 chips
(Am29PL320D) interleaved to compose a 64-bit bus.
I checked a very ancient version of cfi_cmdset_0002.c and found there
isn't DQ3 check either. So I'm wondering if the author has special
reasons to ignore it?
That my flash devices are not writable is most likely due to the timing
issue (status check). I hope I can figure it out soon.
-Shawn.
reply other threads:[~2004-02-28 1:54 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=403FF4E6.6030801@agilent.com \
--to=xiaogeng_jin@agilent.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox