All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthieu CASTET <matthieu.castet@parrot.com>
To: Angus CLARK <angus.clark@st.com>
Cc: "Bigler, Stefan" <Stefan.Bigler@keymile.com>,
	"Brunck, Holger" <Holger.Brunck@keymile.com>,
	Gerlando Falauto <gerlando.falauto@keymile.com>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	Ricard Wanderlof <ricard.wanderlof@axis.com>,
	Ivan Djelic <ivan.djelic@parrot.com>,
	Christopher Harvey <charvey@matrox.com>
Subject: Re: state of support for "external ECC hardware"
Date: Wed, 14 Nov 2012 15:48:42 +0100	[thread overview]
Message-ID: <50A3AF4A.9010004@parrot.com> (raw)
In-Reply-To: <50A39B9B.7020808@st.com>

Angus CLARK a écrit :
> Hi Gerlando,
> 
> On 11/14/2012 10:12 AM, Gerlando Falauto wrote:
>> Hi Ivan,
>>

>>
>> Feasibility aside, would that make any sense?
>>
> 
> In general I am in favour of anything that facilitates the automatic probing of
> devices.  However, I can see a number of complications in trying to implement
> what you suggest.  Storing static information in a fixed location is never a
> good idea on NAND.  A further issue relates to the very information you are
> trying to store.  The data itself would need to be protected by ECC, but for it
> to be useful, you need to be able to retrieve it without knowing what ECC/layout
> was used when storing it.  Perhaps, for this ECC/layout data, one could use a
> special dedicated S/W ECC scheme, strong enough for any device.  Yet another
> layout of complexity though.
You can use what is used on onfi flash for read parameter data [1] :
- duplicate data over n page
- use crc to detect corruption



Matthieu

[1]
The host should issue the Read Parameter Page (ECh) command. This command returns
information that includes the capabilities, features, and operating parameters
of the device.
When the information is read from the device, the host shall check the CRC to
ensure that the
data was received correctly and without error prior to taking action on that data.
If the CRC of the first parameter page read is not valid (refer to section
5.7.1.24), the host should
read redundant parameter page copies. The host can determine whether a redundant
parameter
page is present or not by checking if the first four bytes contain at least two
bytes of the
parameter page signature. If the parameter page signature is present, then the
host should read
the entirety of that redundant parameter page. The host should then check the
CRC of that
redundant parameter page. If the CRC is correct, the host may take action based
on the contents
of that redundant parameter page. If the CRC is incorrect, then the host should
attempt to read
the next redundant parameter page by the same procedure.
The host should continue reading redundant parameter pages until the host is
able to accurately
reconstruct the parameter page contents. All parameter pages returned by the
Target may have
invalid CRC values; however, bit-wise majority or other ECC techniques may be
used to recover
the contents of the parameter page. The host may use bit-wise majority or other
ECC techniques
to recover the contents of the parameter page from the parameter page copies
present. When
the host determines that a parameter page signature is not present (refer to
section 5.7.1.1), then
all parameter pages have been read.

  reply	other threads:[~2012-11-14 14:48 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-29 20:42 state of support for "external ECC hardware" Christopher Harvey
2012-11-08 11:02 ` Gerlando Falauto
2012-11-08 15:21   ` Christopher Harvey
2012-11-08 16:32     ` Gerlando Falauto
2012-11-08 16:37       ` Gerlando Falauto
2012-11-08 17:03         ` Christopher Harvey
2012-11-08 17:02       ` Christopher Harvey
2012-11-08 19:07       ` Ivan Djelic
2012-11-09  8:46       ` Ricard Wanderlof
2012-11-12 17:19         ` Gerlando Falauto
2012-11-12 17:35           ` Ivan Djelic
2012-11-12 17:39             ` Gerlando Falauto
2012-11-12 18:52               ` Ivan Djelic
2012-11-14 10:12                 ` Gerlando Falauto
2012-11-14 13:24                   ` Angus CLARK
2012-11-14 14:48                     ` Matthieu CASTET [this message]
2012-11-14 20:22                     ` Ivan Djelic
2012-11-20 11:13         ` Calvin Johnson
2012-11-20 11:35           ` Gerlando Falauto
2012-11-20 12:12             ` Calvin Johnson
2012-11-20 16:16           ` Ricard Wanderlof
2012-11-08 18:59     ` Ivan Djelic
2012-11-08 19:22       ` Christopher Harvey
2012-11-08 19:33         ` Ivan Djelic
2012-11-08 18:04   ` Ivan Djelic
2012-11-14 10:59 ` Angus CLARK

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=50A3AF4A.9010004@parrot.com \
    --to=matthieu.castet@parrot.com \
    --cc=Holger.Brunck@keymile.com \
    --cc=Stefan.Bigler@keymile.com \
    --cc=angus.clark@st.com \
    --cc=charvey@matrox.com \
    --cc=gerlando.falauto@keymile.com \
    --cc=ivan.djelic@parrot.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=ricard.wanderlof@axis.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.