Concept
These pages take the Linux `md` driver as their reference because its source is public. Every statement is marked by where a reader can check it: a public source, a derivation kept with the code, or not yet. Where a source leaves something open, the choice the sandbox made is a note on the page that rests on it, and this page lists them all.
Linux md is the reference of these pages for one reason: its source can be read, and that makes every rule stated here accountable.
The Linux kernel is published under the GPL-2.0 licence, and the md driver is the directory drivers/md/ of its source tree: raid0.c, raid1.c, raid5.c (which also implements RAID 4 and RAID 6), raid10.c, md-linear.c. When a page here says how a sector is mapped to a disk, where the parity of a stripe goes, or what the driver does with two disks where a level asks for three, the sentence points at the function that does it, and anyone can open the file and see whether the sentence is true. A controller's firmware and Windows' driver do the same jobs, but their code is not published; what can be checked about them is their documentation, which describes behaviour and does not show it.
RAID is not a Linux thing. The same layouts run on a controller card, under Windows Storage Spaces, in a NAS appliance, and they were defined before any of these existed. Taking md as the reference for rules does not make its words the standard. Each family names the same things its own way, and the pages give both:
md, a strip on most controllersmd device in Linux, a virtual drive on a controller, a storage space in Windowsmd, a spanned volume or a simple space elsewhere, and JBOD in common speechSome things exist only outside it. A protected write cache and its BBU are controller hardware, and what a page says about them comes from the vendor. What Storage Spaces does for crash consistency is Microsoft's to document, and the page quotes Microsoft or stays silent. Every entry lists its sources, and the list shows which kind of source each sentence rests on.
Every strong statement on these pages is in one of four states, named by where you would go to check it.
Nothing on these pages names a file of the project's own as a source. The repository is public, and anyone who wants to see how a number is computed can read it.
Where the sources leave something open the sandbox decided, and the page that rests on the choice explains it in a note. The list:
mdadm creates as left-symmetric puts Q after P: algorithm, raid6.