From: Piergiorgio Sartor <piergiorgio.sartor@nexgo.de>
To: David Brown <david.brown@hesbynett.no>
Cc: linux-raid@vger.kernel.org
Subject: Re: Triple-parity raid6
Date: Sat, 11 Jun 2011 15:18:01 +0200 [thread overview]
Message-ID: <20110611131801.GA2764@lazy.lzy> (raw)
In-Reply-To: <isvkrg$c79$1@dough.gmane.org>
On Sat, Jun 11, 2011 at 01:51:12PM +0200, David Brown wrote:
> On 11/06/11 12:13, Piergiorgio Sartor wrote:
> >[snip]
> >>Of course, all this assume that my maths is correct !
> >
> >I would suggest to check out the Reed-Solomon thing
> >in the more friendly form of Vandermonde matrix.
> >
> >It will be completely clear how to generate k parity
> >set with n data set (disk), so that n+k< 258 for the
> >GF(256) space.
> >
> >It will also be much more clear how to re-construct
> >the data set in case of erasure (known data lost).
> >
> >You can have a look, for reference, at:
> >
> >http://lsirwww.epfl.ch/wdas2004/Presentations/manasse.ppt
> >
> >If you search for something like "Reed Solomon Vandermonde"
> >you'll find even more information.
> >
> >Hope this helps.
> >
> >bye,
> >
>
> That presentation is using Vandermonde matrices, which are the same
> as the ones used in James Plank's papers. As far as I can see,
> these are limited in how well you can recover from missing disks
> (the presentation here says it only works for up to triple parity).
As far as I understood, 3 is only an example, it works
up to k lost disks, with n+k < 258 (or 259).
I mean, I do not see why it should not.
You've, of course, to know which disks are failed.
On the other hand, having k parities allows you to find
up to k/2 error positions.
This is bit more complicated, I guess.
You can search for Berlekamp-Massey Algorithm (and related)
in order to see how to *find* the errors.
> They Vandermonde matrices have that advantage that the determinants
> are easily calculated - I haven't yet figured out an analytical
> method of calculating the determinants in my equations, and have
> just used brute force checking. (My syndromes also have the
> advantage of being easy to calculate quickly.)
I think the point of Reed Solomon (with Vandermonde or Cauchy
matrices) is also that it generalize the parity concept.
This means you do not have to care if it is 2 or 3 or 7 or ...
In this way you can have as many parities as you like, up to
the limitation of Reed Solomon in GF(256).
> Still, I think the next step for me should be to write up the maths
> a bit more formally, rather than just hints in mailing list posts.
> Then others can have a look, and have an opinion on whether I've got
> it right or not. It makes sense to be sure the algorithms will work
> before spending much time implementing them!
I tend to agree. At first you should set up the background
theory, then the algorithm, later the implementation and
eventually the optimization.
> I certainly /believe/ my maths is correct here - but it's nearly
> twenty years since I did much formal algebra. I studied maths at
> university, but I don't use group theory often in my daily job as an
> embedded programmer.
Well, I, for sure, will stay tuned for your results!
bye,
--
piergiorgio
next prev parent reply other threads:[~2011-06-11 13:18 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-09 0:01 Triple-parity raid6 David Brown
2011-06-09 1:49 ` NeilBrown
2011-06-09 11:32 ` David Brown
2011-06-09 12:04 ` NeilBrown
2011-06-09 19:19 ` David Brown
2011-06-10 3:22 ` Namhyung Kim
2011-06-10 8:45 ` David Brown
2011-06-10 12:20 ` Christoph Dittmann
2011-06-10 14:28 ` David Brown
2011-06-11 10:13 ` Piergiorgio Sartor
2011-06-11 11:51 ` David Brown
2011-06-11 13:18 ` Piergiorgio Sartor [this message]
2011-06-11 14:53 ` David Brown
2011-06-11 15:05 ` Joe Landman
2011-06-11 16:31 ` David Brown
2011-06-11 16:57 ` Joe Landman
2011-06-12 9:05 ` David Brown
2011-06-11 17:14 ` Joe Landman
2011-06-11 18:05 ` David Brown
2011-06-10 9:03 ` David Brown
2011-06-10 13:56 ` Bill Davidsen
2011-06-09 22:42 ` David Brown
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=20110611131801.GA2764@lazy.lzy \
--to=piergiorgio.sartor@nexgo.de \
--cc=david.brown@hesbynett.no \
--cc=linux-raid@vger.kernel.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;
as well as URLs for NNTP newsgroup(s).