{"id":593,"date":"2008-03-10T16:45:45","date_gmt":"2008-03-10T21:45:45","guid":{"rendered":"http:\/\/blogs.n1zyy.com\/n1zyy\/2008\/03\/10\/clarity\/"},"modified":"2008-03-10T16:45:45","modified_gmt":"2008-03-10T21:45:45","slug":"clarity","status":"publish","type":"post","link":"https:\/\/blogs.n1zyy.com\/n1zyy\/2008\/03\/10\/clarity\/","title":{"rendered":"Clarity"},"content":{"rendered":"<p>I saw a reference to RAID 6 and didn&#8217;t recognize it, so I did what anyone would do&#8211;I Wikipediad (I&#8217;m going to make that a verb) it:<\/p>\n<p><em><strong>RAID 6<\/strong> extends RAID 5 by adding an additional parity block, thus it uses <a href=\"http:\/\/en.wikipedia.org\/wiki\/Block\" title=\"Block\">block<\/a>-level striping with two parity blocks distributed across all member disks. It was not one of the original RAID levels.<\/em><\/p>\n<p>So that&#8217;s why I hadn&#8217;t heard of it&#8211;it&#8217;s not an &#8220;original&#8221; RAID level. (I don&#8217;t subscribe to RAID trade publications, so I wasn&#8217;t aware of it.) The description is a good one-liner, but there&#8217;s more text that follows. Surely, it will give me a good insight into exactly what this means and how it works in an applied setting.<\/p>\n<p><em>RAID 5 can be seen as special case of a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Reed%E2%80%93Solomon_error_correction\">Reed-Solomon<\/a> code.<sup><a href=\"http:\/\/en.wikipedia.org\/wiki\/RAID_6#_note-4\">[5]<\/a><\/sup> RAID 5, being a degenerate case, requires only addition in the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Galois_field\" title=\"Galois field\">Galois field<\/a>. Since we are operating on bits, the field used is a binary galois field <strong>GF<\/strong>(2). In cyclic representations of binary galois fields, addition is computed by a simple <a href=\"http:\/\/en.wikipedia.org\/wiki\/XOR\" title=\"XOR\">XOR<\/a>.<\/em><\/p>\n<p><em>After understanding RAID 5 as a special case of a Reed-Solomon code, it is easy to see that it is possible to extend the approach to produce redundancy simply by producing another syndrome; typically a polynomial in <strong>GF<\/strong>(2<sup>8<\/sup>) (8 means we are operating on bytes). By adding additional syndromes it is possible to achieve any number of redundant disks, and recover from the failure of that many drives anywhere in the array, but RAID 6 refers to the specific case of two syndromes.<\/em><\/p>\n<p>Wait, what? Reed-Solomon? Degenerate cases? Galois fields? Binary galois fields in cyclic representations? Special cases of the Reed-Solomon code? Polynomial notation of the Reed-Solomon field? I&#8217;m lost. <em>Very<\/em> lost, in fact. Here I was hoping for an expansion over a one-liner that I pretty much understood but that was somewhat vague. And instead I get&#8230; I&#8217;m not even sure what I got.<\/p>","protected":false},"excerpt":{"rendered":"<p>I saw a reference to RAID 6 and didn&#8217;t recognize it, so I did what anyone would do&#8211;I Wikipediad (I&#8217;m going to make that a verb) it: RAID 6 extends RAID 5 by adding an additional parity block, thus it &hellip; <a href=\"https:\/\/blogs.n1zyy.com\/n1zyy\/2008\/03\/10\/clarity\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,6,11,24],"tags":[],"class_list":["post-593","post","type-post","status-publish","format-standard","hentry","category-computers","category-funny","category-insanity","category-rants-raves"],"_links":{"self":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts\/593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/comments?post=593"}],"version-history":[{"count":0,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts\/593\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/media?parent=593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/categories?post=593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/tags?post=593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}