Bosh sahifa Wiki Flash

Flash

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:

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:

  1. valid page’lar boshqa blockka ko‘chiriladi;
  2. block o‘chiriladi;
  3. 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:

  • NAND turi;
  • process;
  • temperature;
  • controller;
  • workload;
  • ECC

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.

Cache:

  • 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