Flash xotira — elektr quvvati o‘chirilganda ham ma’lumotni saqlaydigan, elektr orqali o‘chirilib qayta yoziladigan yarimo‘tkazgich xotira turi.
Flash SSD, USB drive, memory card, smartphone, router firmware, mikrokontroller va embedded qurilmalarda ishlatiladi.
U mexanik qismlarga ega emas, ammo xotira celllari cheklangan program/erase sikliga ega.
Non-volatile xotira
Flash non-volatile xotira hisoblanadi.
RAMdan farqli ravishda quvvat uzilganda ma’lumot yo‘qolmaydi.
ROMdan farqli ravishda field’da qayta yozilishi mumkin.
Floating-gate va charge trap
Flash cell ma’lumotni elektr zaryad holati orqali saqlaydi.
Texnologiyalar:
- floating-gate;
- charge-trap.
Controller threshold voltage’ni o‘lchab cell holatini aniqlaydi.
NOR flash
NOR flash random read va execute-in-place uchun qulay.
Xususiyatlari:
- byte yoki word darajasida o‘qish;
- past read latency;
- code execution;
- yozish va erase sekinroq;
- narxi yuqoriroq.
Qo‘llanishlar:
- boot firmware;
- mikrokontroller code;
- UEFI chip;
- embedded executable.
NAND flash
NAND flash yuqori zichlik va arzon sig‘im beradi.
Qo‘llanishlar:
NAND page bo‘yicha yoziladi, block bo‘yicha o‘chiriladi.
Page va erase block
NANDda read va program birligi page.
Erase esa kattaroq block bo‘yicha bajariladi.
Bir page’ni overwrite qilish uchun ko‘pincha:
- valid page’lar boshqa blockka ko‘chiriladi;
- block o‘chiriladi;
- yangi data yoziladi.
Bu ichki garbage collectionni talab qiladi.
SLC
Single-Level Cell har cell’da 1 bit saqlaydi.
Afzalliklari:
- tez;
- yuqori endurance;
- katta voltage margin;
- past xato ehtimoli.
Kamchiligi — sig‘im zichligi past va narxi yuqori.
MLC
Multi-Level Cell atamasi umumiy ma’noda cell’da bir nechta bitni anglatadi. Amaliy bozorda ko‘pincha 2 bit/cell uchun ishlatiladi.
SLCga qaraganda:
- capacity yuqori;
- arzonroq;
- endurance pastroq;
- program sekinroq.
TLC
Triple-Level Cell har cell’da 3 bit saqlaydi.
Consumer SSDlarda keng tarqalgan.
Controller ECC, SLC cache va wear leveling bilan performance va ishonchlilikni boshqaradi.
QLC
Quad-Level Cell har cell’da 4 bit saqlaydi.
Afzalligi — yuqori density va arzon capacity.
Kamchiliklari:
- kamroq endurance;
- raw program tezligi past;
- xato margin kichik;
- sustained write cache tugagach pasayadi.
Read-heavy va katta sig‘im workload uchun qulay bo‘lishi mumkin.
PLC
5 bit/cell saqlashga qaratilgan texnologiya PLC deb ataladi.
Bit soni oshgani sari threshold holatlari soni ko‘payadi va aniq farqlash qiyinlashadi.
2D va 3D NAND
Eski NAND celllar tekis yuzada joylashgan.
3D NAND cell qatlamlarini vertikal taxlaydi.
Afzalliklari:
- yuqori capacity;
- kattaroq cell;
- yaxshiroq density;
- ishlab chiqarish imkoniyati.
Qatlam soni texnologiya avlodi bilan oshadi.
Program/erase cycle
Flash block o‘chirilganidan keyin qayta program qilinadi.
Har erase cell materialini sekin eskirtiradi.
Endurance:
ga bog‘liq.
Wear leveling
Controller yozuvlarni fizik blocklar bo‘ylab taqsimlaydi.
Dynamic wear leveling
Faqat qayta yoziladigan data bloklarini aylantiradi.
Static wear leveling
Uzoq vaqt o‘zgarmagan data’ni ham ko‘chirib, barcha blocklardan tengroq foydalanadi.
Bad block
NAND ishlab chiqarilganda ayrim blocklar yaroqsiz bo‘lishi mumkin.
Controller factory bad block va ishlash davomida paydo bo‘lgan bad blocklarni xaritada saqlaydi.
Spare blocklar bilan almashtiradi.
ECC
Flash cell xato ehtimoli sabab Error-Correcting Code ishlatiladi.
ECC bit xatolarini aniqlaydi va ma’lum chegaragacha tuzatadi.
Zamonaviy NAND:
- BCH;
- LDPC
kabi kuchli kodlardan foydalanishi mumkin.
Correctable error soni oshishi cell eskirayotganini ko‘rsatadi.
Read disturb
Bir blockni juda ko‘p o‘qish yonidagi cell thresholdiga ta’sir qilishi mumkin.
Controller refresh yoki data relocation bajaradi.
Retention
Flash data’ni abadiy saqlamaydi.
Zaryad vaqt o‘tishi bilan sizadi.
Retentionga:
- wear;
- temperature;
- NAND turi;
- saqlash muddati
ta’sir qiladi.
Eskirgan QLC uzoq muddat quvvatsiz arxiv uchun har doim ideal emas.
Garbage collection
Controller invalid page’larni bo‘shatish uchun valid data’ni ko‘chirib, blockni erase qiladi.
Disk juda to‘la bo‘lsa bo‘sh block kamayadi va garbage collection performance’ni pasaytiradi.
TRIM
OS o‘chirilgan fayl blocklari endi kerak emasligini storage’ga bildiradi.
Controller ularni garbage collectionda ko‘chirmaydi.
Bu write amplificationni kamaytiradi.
Write amplification
Host 1 GB yozsa, NANDga ichki ko‘chirish bilan 2 GB yoki ko‘proq yozilishi mumkin.
Nisbat write amplification factor bilan ifodalanadi.
Past WAF endurance va performance uchun yaxshi.
Over-provisioning
SSD capacityning bir qismi userga ko‘rsatilmaydi.
U:
- spare block;
- garbage collection;
- wear leveling;
- bad block replacement
uchun ishlatiladi.
Qo‘shimcha bo‘sh joy sustained write’ni yaxshilaydi.
SLC cache
TLC yoki QLC NANDning bir qismi 1 bit/cell rejimida tez cache sifatida ishlaydi.
- static;
- dynamic
bo‘lishi mumkin.
Cache tugaganda raw NAND tezligi ko‘rinadi.
Flash controller
Controller:
ni boshqaradi.
Bir xil NANDli qurilmalar controller va firmware sabab katta performance farqiga ega bo‘lishi mumkin.
Flash Translation Layer
FTL host logical blocklarni physical page va blocklarga xaritalaydi.
Host overwrite qilganda controller yangi pagega yozib, eskisini invalid belgilaydi.
Bu out-of-place write modeli.
Power loss
Write paytida quvvat uzilsa:
buzilishi mumkin.
Enterprise SSD capacitor bilan power-loss protection beradi.
Secure erase
Flashda oddiy overwrite barcha physical eski nusxalarni darhol o‘chirmasligi mumkin.
Secure erase, sanitize yoki crypto erase controller darajasida ishlatiladi.
Encryption keyni yo‘q qilish tez usul bo‘lishi mumkin.
Diagnostika
Flash storage muammosida:
- health log;
- media error;
- percentage used;
- temperature;
- unsafe shutdown;
- free space;
- write amplification;
- firmware;
- read-only holat;
- filesystem
tekshiriladi.
Flash qurilma umr oxirida write’ni rad etib, data o‘qilishini saqlashga urinishi mumkin.
Bog‘liq tushunchalar
NAND, NOR, SLC, MLC, TLC, QLC, Wear leveling, ECC, Garbage collection, TRIM, Flash controller