The whole usable window is a fixed voltage span ΔVwindow (limited by physics: how much charge the tiny floating gate can hold and how high a read voltage the periphery tolerates). We must fit Ldistributions of Vth into it, plus L−1guard bands to tell them apart.
Tight target distributions need many ISPP verify pulses; an SLC cache absorbs bursts, migrating to QLC later.
What does packing more bits do to reliability and why?
Smaller voltage margin between levels → overlapping Vth smears → more raw bit errors → needs stronger ECC (LDPC).
Recall Feynman: explain to a 12-year-old
Imagine a bucket that holds water, and you read the data by looking at the water level. If you only ask "empty or full?" you store 1 fact — that's SLC, easy and reliable. But you could instead mark the bucket with lines (empty, ¼, ½, ¾, full) and store more facts by pouring exact amounts — that's TLC/QLC. Problem: the lines get super close together, and water sloshes and slowly leaks. Now it's hard to tell "½ line" from "just above ½." So you can store more, but you make more reading mistakes and the bucket wears out faster from all the careful pouring. That's the whole trade: more storage vs. more errors and less durability.
Dekho, flash memory ka ek cell asal mein ek analog cheez hai — usme floating gate par charge store hota hai, aur us charge ki wajah se transistor ka threshold voltage Vth shift ho jaata hai. SLC me hum sirf poochte hain "charge hai ya nahi?" — matlab 2 levels, 1 bit. Lekin agar hum voltage range ko zyada tukdon me kaat dein, to ek hi cell me zyada bits aa sakte hain. MLC = 2 bits (4 levels), TLC = 3 bits (8 levels), QLC = 4 bits (16 levels). Formula simple hai: L=2b.
Ab problem yeh hai ki total voltage window fixed hai. Usme jitne zyada levels ghusaoge, do padoswale levels ke beech ki margin utni kam hoti jaayegi — spacing δV≈ΔVwindow/(2b−1). QLC me yeh margin SLC se lagbhag 15 guna chhoti ho jaati hai. Har level ek sharp point nahi, balki ek bell-curve smear hota hai (programming noise aur charge leakage ki wajah se). Jab margin choti ho jaati hai to yeh smears overlap karne lagte hain, aur read galat ho jaata hai — matlab zyada errors.
Isliye density (zyada bits, sasta storage) ke badle me hume reliability aur speed ki keemat chukani padti hai. QLC ka endurance (P/E cycles) kam hota hai kyunki thoda sa oxide wear bhi levels ko overlap karwa deta hai. Writes slow hote hain kyunki ISPP me baar-baar pulse-verify karna padta hai — isiliye SSDs SLC cache rakhte hain taaki pehle tez SLC mode me likhein aur baad me QLC me shift karein. Aur ek smart trick: Gray coding — padoswale levels sirf ek bit se alag hote hain, taaki ek galat read se sirf ek hi bit flip ho aur ECC (LDPC) usse aasani se theek kar de. Yaad rakho: jaise-jaise bits badhte hain, quantity badhti hai par quality girti hai.