Jak zvětšit kapacitu paměťové karty o desítky %
Pokud používáte ve svém telefonu či PDA paměťovou kartu, pravděpodobně můžete o desítky procent zvětšit její kapacitu. Není to žádný vtip, ani kouzelnický trik, je to naopak velice elementární věc po technické stránce.
Většina paměťových karet je formátována pomocí FAT32 souborového systému. Pokud se na tuto kartu ukládá jeden soubor, alokuje vždy minimálně velikost takzvaného clusteru. Tento cluster bývá továrně nastaven u 1/2/4GB karet na poměrně velkých 32kB, nicméně není problém jej změnit například na 1kB, 2kB či 4kB. K čemu to je dobré? Po změně velikosti clusteru již nebude soubor o velikosti pouhý 1B zabírat na kartě reálně 32kB místa, ale jen 1, 2 či 4kB místa. Cluster je prostě nejmenší jednotka, do níž může být uložen jeden soubor.
Otázkou je, proč výrobci nenastavují pro telefony a PDA nižší velikost clusteru automaticky. Odpovědí je ten fakt, že větší velikost clusteru znamená (většinou) mírně rychlejší přenosovou rychlost, praxe je ale taková, že pro zařízení se 400-500MHz procesorem je i velikost clusteru kolem 2kB dostatečně rychlá. Snížením velikosti clusteru tedy nepřijdete o rychlost (to platí spíše pro pevné disky a jejich větší fragmentaci při menším clusteru), ale získáte místo na kartě navíc.
Formátování karty na nižší velikost clusteru
Změnu velikosti clusteru je bohužel možné provést jenom formátováním, který samozřejmě zničí veškerá data na kartě.
Pokud si tedy zazálohujete veškeré soubory na kartě, provedete její formát ve čtečce na PC následujícím příkazem (změňte písmeno M:
na odpovídající Vaší kartě), a následně nakopírujete data zpět, získáte podstatně více prostoru pro data, při (v praxi) nezměněné rychlosti čtení a zápisu.
C:\>format m: /A:2048 /FS:FAT32
Osobně jsem takto po formátu z clusteru o velikosti 32kB na 2kB místo dosavadních volných 502MB dostal pěkných 638MB volných. Méně než 2kB velikosti clusteru bych nedoporučoval, naopak můžete zvolit 4kB, pokud máte pocit, že zařízení se mírně zpomalilo.
Skoro 150MB kapacity zdarma na 2GB kartě není špatná věc :-)
Kolik dat dostanete zdarma navíc?
Velikost nového místa je samozřejmě plně závislá na struktuře Vašich souborů, v ideálním případě (stovky až tisíce malých souborů) ušetříte desítky procent, v teoreticky nejhorším 0% (pokud jsou všechny soubory rovny velikosti současného clusteru, což je ale minimálně pravděpodobné).
V praxi můžete očekávat zhruba následující zvětšení reálně obsazeného objemu dat na kartě, v závislosti na použité velikosti clusteru:
Cluster | Navýšení objemu dat |
---|---|
512 | 0% |
1024 | 0.25% |
2048 | 0.50% |
4096 | 1% |
8192 | 2% |
16384 | 4% |
32768 | 8% |
65536 | 16% |
Tento postup nemá smysl pro karty používané ve fotoaparátech, které místo tisíců malých souborů ukládají jen pár desítek velkých.
Nie su niekde testy o aké spomalenie ide?
[1] vyzkoušel jsem změřit start TomTom 6.0.1, který načítá mapu o velikosti 500MB (!), a rychlost startu je identická. Rovněž rychlost startu HTC TyTN je stále stejná, 31 sekund. Měnil jsem 32kB cluster na 2kB.
Při čtení tohoto článku jsem si vzpoměl, jak jsem kdysi dávno formátoval svůj flash mp3 přehrávač z FAT32 na NTFS. V autorizovaném servise v tom neviděli nejmenší problém, tak proč ne?. Výsledek byl ovšem katastrofální - win i linux ho našli, ale nedokázali se na něj dostat. Protože však jej mám ještě mám schovaný, chtěl bych se zeptat, jestli je nějaká možnost ho dát ještě dohromady? Díky za odpověd.
[3] klasický
fdisk
nepomůže?[4] Bohužel ne
Rado ty nejsi člověk ! Ty jsi génius ! Okamžitě jdu pro PDA.
[6] hehe :-) Tak si je nezapomeň nejdříve odzálohovat..
[3] Mě se stalo s flash diskem něco podobného. Jednou po čase jsem reinstaloval windows a měl jsem v kompu zasunutý flash disk. Při výběru, na jakou partition se mají win nainstalovat, jsem uviděl také "oddíl navíc", tak jsem ho smazal...neuvědomil jsem si, že jde o flash disk :) Nepodařilo se mi ale oddíl ale znovu vytvořit. Ani fdiskem, PQmagicem.. Pomohla až opět stejná nabídka při instalaci windows. Možná by tedy zde mohlo jít smazat ten NTFS oddíl a vytvořit FAT32.
[8] Díky, tohle jsem ještě nezkoušel, třeba to vyjde :)
Já bych jen upozornil majitele 4GB karet, že tyto karty, resp. některá zařízení, jsou na formátování velice citlivé a nemusí už nikdy naběhnout - prostě pokud máte kartu z výroby, jede dobře, ale jakmile ji zformátujete v PC (čtečka), už se nechytnou v zařízení a nemusí se vám už nikdy podařit ji dostat do provozuschopného stavu. Viz diskuze na ce4you a jinde. Nevěděl jsem proč tomu tak je, ale možná to má něco společného s velikostí clusterů. Radova mašinka to zvládla, ale risknete, jestli to zvládne i ta vaše?
[10] v tom případě se prostě přeformátuje karta v PC znovu na původní kapacitu. Jednoduché...
Toto je obecně známá věc, ale aspoň o tom někdo napsal, aby to zjistila i široká veřejnost :)
Pokud máte nějaký adresář na FAT disku s velkým počtem malých souborů, dáte vlastnosti, vidíte Velikost: a Velikost na disku. Rozdíl je často ve stovkách % (záleží na oné velikosti clusteru). Ve světě Windows toto alespoň částečně vyřešil systém NTFS - nevím jestli NTFS jde použít s PDA (hádám že ne).
historie se opakuje, v MS DOS 6.22 na 249MB disku jsem clustery zvetsoval pro urychleni cteni :)
Jen bych připoměl, že je samozřejmá podpora FAT32 v zařízení, jinak karta musí být naformátovaná na FAT (16).
Pokud si chcete naformátovat paměťovou kartu přímo v zařízení, existuje prográmek "Storage Tools for PocketPC". Hodí se pro ty kdo nemají čtečku paměťových karet (a na zařízení PDA tedy přelévají data jen pomocí ActiveSync, BT nebo WiFi).
http://www.softwinter.com/storagetools.html...
Kromě formátování umí i kontrolovat, opravovat a defragmentovat souborový systém FAT16/32.
Při formátování lze zadat, aby se nevytvářela kopie FAT tabulky. Tím se operace čtení a zápisu poněkud urychlí, jako kompenzace za úbytek výkonu vzhledem k menším clusterům.
Program má zkušební dobu 14 dní, což jistě na naformátování karty stačí...
Ahoj Radku, proč mám volit mezi 2kb a 4kb při (v praxi) nezměněné rychlosti čtení a zápisu kvůli zpomalení?
[3] Vzal bych to cfdiskem. Připojit to pod linuchy, dát cfdisk /dev/sda (nebo sdb - podle toho kam se to hodí) a převorat partyšnu. Nebo PQmagic či nějaká jiná utilsa pod win. U FAT velikost clusterů dělá hodně. Vzpomínám si, jak všichni hromadně migrovali z fat16 na fat32, aby zmenšili nároky na prostor. Existuje spousta FS, který sou pro flash přímo stavěný, bohužel většinou pro ně není podpora mimo ten který konkrétní systém.
Btw: NTFS není zrovna dobrá volba pro flash (kvůli žurnálu). Ne že by to natom nefungovalo, ale zbytečně se opotřebovávají paměťové buňky. Proto se používá fat.
Ďakujem Ti. V poslednej dobe sa Tvoje články triafajú do môjho gusta :-).
Dobré, 256MB MS Duo Pro do SE P910i, cluster na 4kB navýšení prostoru o téměř 4MB a dokonce i rychlosti. :)
Mam kartu MMC 32 MB, a kdyz napisu prikaz format m: /A:2048 /FS:FAT32, tak mi to vypise Zadana velikost clusteru je pro FAT32 prilis velka. Tak jakou teda mam dat? Pri 1024 a 512 to pise to sami a pri 256 to napise Neplatny parametr.
[20] pro 32MB to nemá smysl vůbec dělat
[11]
Asi to nebude také jednoduché :-(
Moja 2GB miniSD karta Kingston sa odporúčala po formátovaní, teraz nabehne ako 2GB len pod NTFS, pod FAT32 dá max. 1,3GB, ale radšej dáva 500MB (je jedno aký dám cluster size).
Čo som našiel na webe tak je to problém Winblowsov, nezvládaju formátovanie takýchto kapacitných kariet.
Nejaké nápady?
No, a ďalší efekt je, že zmena velkosti klastru na polovicu zároveň zvýši počet klastrov dvojnasobne, a ich adresy bude treba tiez niekde zapisat, preto pri mensich kartach je tento sposob zvysovania kapacity sporny...
Mikro SD 2GB kartu som naformátoval tak ako je napísané v článku. Nainštaloval som si na kartu soft a po chvíľke mi to hodilo hlášku, že nevie čítať SD kartu a systém zamrzol. Urobil som reset ale systém skončil pri zadaní sim kódu a znova zamrzol.Na HTC TyTN mám verziu 1.35.255.2 11/14/06 ExtRom 1.35.255.102 Radio 1.18.00.10 Protocol 32.55.7018.01H BootLoader 1.09. Vie mi niekdo s tým pomôcť?
Tvl a mě se u karty pamět zmenšila jak je to možny?? 2Gb karta ktera měla nevim neco kolem 1900mb ma najednou 698 mb a to sme formatoval vždy jako fat32