4.2.39 · D2 · HinglishOperating Systems

Visual walkthroughRAID — levels 0, 1, 5, 6, 10 — trade-offs

2,183 words10 min read↑ Read in English

4.2.39 · D2 · Coding › Operating Systems › RAID — levels 0, 1, 5, 6, 10 — trade-offs

Poore page mein hum sirf ek hi tool use karenge: ek operation jiska naam hai XOR. To shuru karte hain waheen se.


Step 1 — XOR se milte hain, "kya dono alag hain?" wala switch

KYA HAI. Kisi bhi disk se pehle, hum woh single operation define karte hain jis par yeh poora page tika hua hai. Ise likhte hain (ek circle ke andar plus). Yeh do bits leta hai — bit bas ek ya hoti hai — aur ek bit output karta hai. Rule yeh hai: agar dono inputs alag hon to output , agar same hon to output .

Yahaan operation hai; left side par har aur ek input bit hai; right side par har result output bit hai. Yahi poori definition hai — kuch bhi hidden nahi hai.

YEH TOOL KYU, addition kyun nahi? Ordinary addition se aata, jo ek bit nahi hai — overflow ho jaata. Hume ek aisi operation chahiye jo ke andar rahe aur undo bhi ho sake. XOR dono kaam karta hai. (Yahi aapne XOR and Boolean Algebra mein dekha tha.)

PICTURE. Truth table ko ek light-switch ki tarah socho: same inputs → light off (), alag inputs → light on ().


Step 2 — Woh do properties jo magic possible banati hain

KYA HAI. Step 1 ki table se do facts padh lo. Neeche har symbol ek single bit hai.

  • : koi value khud se XOR ho to vanish ho jaati hai — kyunki koi cheez khud se kabhi alag nahi hoti, to switch off rehta hai.
  • : koi value se XOR ho to unchanged rehti hai — kyunki wahaan agree karta hai jahan hai aur differ karta hai jahan hai, to exactly bach jaata hai.

Do aur bookkeeping facts, seedhe table se:

  • Commutative: (order matter nahi karta).
  • Associative: (grouping matter nahi karta).

YEH KYU COLLECT KAR RAHE HAIN. Yahi chaar rules hain jo hum algebra mein use karenge. "Khud se vanish hona" woh trick hai jo ek lost disk recover karti hai; "commutative + associative" woh cheez hai jo hume terms freely shuffle karne deti hai taaki cancellation ho sake.

PICTURE. Do bits milte hain: identical pair → mein annihilate ho jaate hain; koi bhi cheez se milti hai → untouched pass ho jaati hai.


Step 3 — Disks set karo aur parity block banao

KYA HAI. Ab disks. disks ko side by side picture karo. Ek stripe par (sabhi disks ke across ek horizontal row) hum data blocks store karte hain — ek per disk — aur aakhri disk ek computed parity block ke liye reserve karte hain. Har bas bits ki ek string hai jo disk par rehti hai. Hum define karte hain:

Left to right padho: pehle do data blocks ko XOR karo, phir teesre ko us running result mein XOR karo, aur aise hi aage. final running total hai — woh "summary number" jo parent note ki Feynman story mein magic bola gaya tha.

IS TARAH DEFINE KYUN KAREIN? Step 2 ki wajah se, yeh single block secretly har ko is tarah "yaad rakhta" hai ki hum usse wapas peel kar sakte hain. Hum kisi bhi disk ki copy store nahi kar rahe — us se chhota hai ( nahi, sirf ek block) — phir bhi yeh itna kafi rakhta hai ki koi ek lost block reconstruct ho sake. Yahi RAID 5 ki poori economy hai.

PICTURE. Ek stripe: data blocks ek XOR gate mein flow ho rahe hain, bahar aata hai parity block apne dedicated cell par.


Step 4 — Ek disk mar gayi: rescue set karo

KYA HAI. Maano disk fail ho gayi, to gone hai. Hamare paas abhi bhi baaki sabhi data blocks aur hain. Jo bhi hamare paas bacha hai usse collect karo aur sab XOR karo:

hamaara candidate rescue value hai — ise "jo bhi bacha, XORed" kaho. Humne abhi kuch prove nahi kiya; humne sirf jo survived woh gather kiya hai.

YAHAAN SE SHURU KYU KAREIN? XOR self-inverse hai (Step 2), to kisi mixture ko undo karne ka natural move hai dobara XOR karna. Hum survivors ko wapas mein throw karte hain umeed se ki woh apne apne contributions cancel kar denge aur sirf wala missing wala bachega.

PICTURE. Array mein ek greyed-out dead disk; arrows har surviving block aur ko ek single XOR machine mein kheench rahe hain.


Step 5 — Dekho survivors cancel hote hain, term by term

KYA HAI. Step 3 ki ki definition ko mein substitute karo. Ab har survivor do baar appear karta hai: ek baar khud ke roop mein, ek baar ke andar chhupa hua.

Ab commutative + associative (Step 2) use karo har survivor ko uske twin ke saath pair karne ke liye:

Har pair se ban jaata hai. Sirf woh term jiska koi partner nahi hai woh hai — kyunki survivors mein kabhi nahi aaya, woh sirf ke andar rehta hai. Woh saare zeros se pass ho jaate hain, aur jo bachta hai woh hai:

YEH KYU KAAM KARTA HAI. Yahi toh punchline hai: ne ka contribution apne andar carry kiya tha, aur ke against har doosre block ko XOR karne se ke siwa sab kuch erase ho gaya. Dead disk wapas aa gayi.

PICTURE. Ek cancellation ladder: har survivor apne ghost se ke andar pair karta hai, dono mein collapse ho jaate hain, aur akela spotlight mein khada reh jaata hai.


Step 6 — Concrete numbers (derivation, checked)

KYA HAI. Teen 4-bit blocks lo aur poori machine chalao.

  • .
  • banao (Step 3): pehle (har column XOR karo), phir . To .
  • Ab disk 2 mar jaati hai. Rescue (Step 5): .
    • ,
    • .
  • Result exactly original . ✓

NUMBERS KYU DIKHAYEIN. Algebra symbolic tha; yeh prove karta hai ki ghosts ek real stripe par actually cancel hote hain. Column-by-column, "alag?" rule lost data ko bina kisi guessing ke reproduce karta hai.

PICTURE. Chaar bit-strings coloured columns ki tarah stack ki gayi hain, XOR har column mein sweep kar raha hai, recovered original se match karte hue glow kar raha hai.


Step 7 — Edge case: parity ONE disk kyun fix karta hai, kabhi do nahi

KYA HAI. Agar do disks ek saath mar jayein — maano aur ? Rescue chalao: jo bhi hamare paas bacha hai sab XOR karo. Ab do terms ke koi twin nahi hain, to clean answer ki jagah hume milta hai:

YEH DEAD END KYU HAI. Yeh ek equation hai do unknowns ke saath — jaise koi bole "" aur pooche kya hai. Infinitely many ek hi de sakte hain; parity unhe alag nahi kar sakta. Ek parity block = ek equation = sirf ek missing block ke liye solve kar sakte hain. Yahi exact reason hai ki RAID 5 sirf single failure survive karta hai.

RAID 6 ka fix (kyun ek doosra XOR help nahi karta). Ek aur plain XOR parity add karne se sirf milega — same equation dobara, useless. RAID 6 iske bajaye ek doosra, independent check compute karta hai , jahan ek Galois field $GF(2^8)$ se distinct nonzero multipliers hain. Kyunki har block alag-alag weight se hai, aur do alag equations hain do unknowns mein — ab solvable. Do independent equations → do failures survivable.

PICTURE. Left: ek plane mein ek line (ek equation), unknown pair freely uspe slide karta hai — unsolvable. Right: do crossing lines (P aur Q) ek single point pin karte hain — solved.


Ek-picture summary

KYA HAI. Poora safar ek canvas par: define karo → data ko mein fold karo → ek disk mar jaati hai → survivors ko ke against XOR karo → ghosts cancel hote hain → wapas aata hai; aur woh wall do failures par jahan ek equation do unknowns hold nahi kar sakta.

Recall Feynman: ek story ki tarah batao

Tum aur tumhare dost ek comic ki ek-ek page yaad karte ho. Ek extra dost ek "summary" yaad karta hai: har letter ke liye woh note karta hai ki kitne real pages par us jagah ink thi — odd ya even — woh odd/even flag hi XOR hai. Ab ek dost gayab ho jaata hai. Baki log apne pages padhte hain, summary-dost apne flags padhta hai, aur saath milkar woh exactly reconstruct kar sakte hain ki missing page par kya tha — kyunki summary mein pehle se missing page ka contribution "pata" tha, aur baaki sabke answers cancel out ho jaate hain, sirf gap bachta hai. Lekin agar do dost gayab ho jayein, to survivors aur ek summary sirf do missing pages ka combination bata sakte hain, har ek alag nahi — ek clue, do blanks. Isliye single parity (RAID 5) ek dost bachata hai, aur isliye tumhe ek doosri, cleverly different summary chahiye (RAID 6 ka ) do bachane ke liye.


Active recall

XOR ka output kya hoga?
agar aur differ karein, agar same hon.
Recovery ke dauran kaunsa XOR law ek survivor ko cancel karta hai?
— ek block ke andar apni copy se XOR hoke vanish ho jaata hai.
Recovery proof mein kyun matter karta hai?
Saare cancelled pairs ban jaate hain, aur ko un zeros se XOR karne par unchanged bachta hai.
Lost block kaise rebuild karte hain?
.
Single parity sirf ek disk kyun recover kar sakta hai?
Do dead blocks se milta hai — ek equation, do unknowns, unsolvable.
Doosra XOR parity RAID 6 protection kyun nahi deta?
Doosra XOR pehli equation ke barabar hai; RAID 6 ek independent parity use karta hai taaki do equations do unknowns solve kar sakein.