Miért kisebb a memóriakártyák kapacitása a névlegesnél?

Röviden megfogalmazva éppen azért, amiért a merevlemezek kapacitása is: a gyártók nem 1024-et, hanem 1000-et használnak átváltásnál. De érdemes alaposabban is megnézni, hogy mire mennek el az extra bitek.

hama_cards.jpg

Legyen szó bármilyen adattárolóról, a formázott, valójában használható kapacitás mindig kisebb, mint a névleges. A különbség korábban csak a merevlemezeknél volt igazán feltűnő, azonban ahogyan a memóriakártyák átlagos mérete szépen lassan nőtt, most már ennél a típusú adattárolónál is szemmel látható. Ezzel önmagában még nem is lenne feltétlenül gond, viszont mivel a gyártók rendszerint a névleges és nem a formázott kapacitást tűntetik fel termékeiken, sokan csalódottak, amikor használatba veszik a kártyákat. Most röviden elmagyarázzuk, hogy miből adódik a csomagoláson feltűntetett méret és a valóban használható kapacitás közötti különbség.

 

Induljunk ki az alapokból! A memóriakártyák esetében az adatokat flash chipek tárolják, ezek kapacitását a gyártók bitben adják meg. Egy 128 Gbites chip kapacitása „kereken” 16 Gbájt, vagyis 17 179 869 184 bájt. A kapacitás egy része viszont ellenőrző (hibajavító) kódok tárolására szolgál, így a teljes kapacitást soha nem fogjuk tudni kihasználni. Ugyan minden gyártó maga határozza meg, hogy az ellenőrző adatok számára mennyi helyet biztosít, de általánosságban elmondható, hogy a teljes kapacitás 1/32-ed részét szokták ilyen célra fenntartani. Ez egy 16 Gbájtos stick esetében fél Gbájt mínuszt (536 870 912 bájtot) jelent.

memcard_nand_chip.jpg

A flash chipekben minden cella egy, kettő vagy három bit adatot képes tárolni, vagyis ahhoz, hogy 16 Gbájt kapacitást nyújtson, egy lapka legkevesebb 5 milliárd cellát kell, hogy tartalmazzon. Ez hihetetlenül magas szám; és mivel tökéletes gyártási folyamat nem létezik, törvényszerű, hogy néhány hibás cella is becsúszik. A gyártók természetesen nem adnak ki a kezükből olyan chipeket, amelyeknél a hibás cellák aránya túl magas; de az megint gyártónként más és más elbírálás alá esik, hogy mikortól számít egy chip hibásnak. Ez elég nagy lutri, tekintettel arra, hogy a gyártók nem szívesen adják ki ezeket az adatokat – de 1-2 százalék valószínűleg belefér. Egyébként régen volt arra precedens, hogy a névlegesnél nagyobb chipeket építettek a gyártók (például 64 Kbájtos chip helyett 65 Kbájtosat), hogy a névleges kapacitás mindenképpen rendelkezésre álljon, de amikor gigabájtokban mérjük a tárhelyet, pár százalék mínusznak túl nagy gyakorlati jelentősége nincsen.

 

A flash chipek tehát már gyári állapotukban is tartalmaznak hibás cellákat, azonban ahogyan szépen használjuk őket, egyre több működőképes cella fog elhasználódni. Ez idővel tovább csökkenti a kapacitást. Természetesen nem kell aggódnunk amiatt, hogy adatvesztés következik be, mivel a memóriakártyák vezérlő szoftvere figyeli a cellák állapotát, és a kritikus állapotban lévőket még azelőtt kivonja a forgalomból, hogy gondot okozhatnának. Viszont a memóriakártyákban a firmware is a flash chipre kerül, ami tovább csökkenti a rendelkezésre álló kapacitást. Hogy mennyivel, arról sajnos szintén nem áll rendelkezésre megbízható adat.

 

A dolog ugyanakkor nem is nagyon lényeges, mivel a memóriakártyák gyártói a helyzetet egyszerűen úgy kezelik, hogy a chipgyártókkal ellentétben már nem 1024-et, hanem 1000-et használnak váltószámként. Ezt úgy fordíthatjuk le, hogy például egy 16 Gbájtos kártyánál a névleges kapacitás legalább 16 000 000 000 bájt, vagyis legalább 14,9 Gbájt. Végső soron oda lyukadunk tehát ki, mint a merevlemezeknél, persze a matek mögött más logika húzódik. A matekból adódik viszont az is, hogy a gyártási hibás cellák eltérő száma miatt ugyanannak a gyártónak két teljesen ugyanolyan terméke is könnyen lehet eltérő kapacitású. Azonban amíg a gyári állapot szerint a kapacitás (a példánkban vett 16 Gbájtnál maradva) eléri a 16 000 000 000 bájtot, addig ez teljesen rendben van.

memcard_capacity.JPG

Egyébként érdekességként azt is elmondjuk még, hogy a formázáshoz használt fájlrendszer valamint a kiválasztott szektorméret is befolyásolja a memóriakártya teljes és szabad kapacitását, de ez már csak elhanyagolható, pár tized százalékos mértékben.