Intuitīvi šķiet - ja ierakstām nulles bloku (visi baiti 0x00) un nolasām to atpakaļ, rezultāts būs tieši XOR maska. Taču tas ir patiesi tikai vienā īpašā gadījumā.
Skremblera modelis
Lielākā daļa mūsdienu NAND zibatmiņu izmanto divu komponentu skrembleri:

kur:
0x0000- ierakstāmie dati (input)A- fiksēta, lapai nemainīga XOR maska (tīra atslēga)LFSR(seed)- pseidogadījuma secība, ko ģenerē lineārs atgriezeniskās saites reģistrs ar konkrētu sākumvērtību (seed)
Ierakstot nulles bloku (input = 0x00) redzams, ka nolasītais rezultāts nav tīrs A - tajā ir iepīta arī LFSR secība. Mēs iegūstam ne masku, bet gan masku, kas sajaukta ar skremblera izvadi.
Vienīgais izņēmums
Ja seed ir 0x0000 un LFSR ir standarta lineāra implementācija bez konstantas feedback komponentes, tad:
LFSR(0x0000) → 0x00, 0x00, 0x00, ...Šajā gadījumā nulles bloks tiešām atklāj tīru A:
output = A XOR 0x00 = A ✓Taču praksē seed = 0x0000 ir retums. Lielākajā daļā implementāciju seed ir atvasināts no lapas numura, bloka numura vai abu kombinācijas. Tas nozīmē, ka katrai lapai ir savs unikāls seed un attiecīgi sava LFSR secība.
Piemērs:
A = 0xA5
LFSR(7) = 0x3C
output = 0x00 XOR 0xA5 XOR 0x3C = 0x99Šķiet, ka A = 0x99, bet patiesībā A = 0xA5.