Ich gehe davon aus, dass Sie hier das FAT / FAT32-Dateisystem verwenden, da Sie erwähnen, dass es sich um eine SD-Karte handelt. NTFS und exFAT verhalten sich in Bezug auf Zuordnungseinheiten ähnlich. Andere Dateisysteme sind möglicherweise anders, werden jedoch unter Windows sowieso nicht unterstützt.
Wenn Sie viele kleine Dateien haben, ist dies sicherlich möglich. Bedenken Sie:
Ok, jetzt beträgt der Mindestspeicherplatz 50.000 * 32.000 = 1,6 GB (zur Vereinfachung der Mathematik werden SI-Präfixe verwendet, keine Binärdateien). Der Speicherplatz, den jede Datei auf der Festplatte beansprucht, ist immer ein Vielfaches der Größe der Zuordnungseinheit - und hier gehen wir davon aus, dass jede Datei tatsächlich klein genug ist, um in eine einzelne Einheit zu passen, wobei etwas (verschwendeter) Speicherplatz übrig bleibt.
Wenn jede Datei durchschnittlich 2 KB groß ist, erhalten Sie insgesamt etwa 100 MB - aber Sie verschwenden auch durchschnittlich das 15-fache (30 KB pro Datei) aufgrund der Größe der Zuordnungseinheit.
Ausführliche Erklärung
Warum passiert das? Nun, das FAT32-Dateisystem muss nachverfolgen, wo jede Datei gespeichert ist. Wenn eine Liste mit jedem einzelnen Byte erstellt würde, würde die Tabelle (wie ein Adressbuch) mit der gleichen Geschwindigkeit wachsen wie die Daten - und viel Platz verschwenden. Sie verwenden also "Zuordnungseinheiten", die auch als "Clustergröße" bezeichnet werden. Das Volume ist in diese Zuordnungseinheiten unterteilt, und was das Dateisystem betrifft, können sie nicht unterteilt werden - dies sind die kleinsten Blöcke, die es adressieren kann. Ähnlich wie Sie eine Hausnummer haben, aber Ihrem Postboten ist es egal, wie viele Schlafzimmer Sie haben oder wer in ihnen wohnt.
Was passiert also, wenn Sie eine sehr kleine Datei haben? Nun, es ist dem Dateisystem egal, ob die Datei 0 kB, 2 kB oder sogar 15 kB groß ist. Im obigen Beispiel sind das 32 kB. Ihre Datei belegt nur einen kleinen Teil dieses Speicherplatzes, und der Rest wird im Grunde verschwendet, gehört aber immer noch zur Datei - ähnlich wie ein Schlafzimmer, das Sie unbewohnt lassen.
Warum gibt es unterschiedliche Zuordnungseinheitengrößen? Nun, es wird ein Kompromiss zwischen einem größeren Tisch (Adressbuch, z. B. John besitzt ein Haus in der 123 Fake Street, 124 Fake Street, 666 Satan Lane usw.) oder mehr verschwendetem Platz in jeder Einheit (Haus). Wenn Sie größere Dateien haben, ist es sinnvoller, größere Zuordnungseinheiten zu verwenden, da eine Datei erst dann eine neue Einheit (Haus) erhält, wenn alle anderen gefüllt sind. Wenn Sie viele kleine Dateien haben, haben Sie ohnehin einen großen Tisch (Adressbuch), also können Sie ihnen auch kleine Einheiten (Häuser) geben.
Große Zuordnungseinheiten verschwenden in der Regel viel Platz, wenn Sie viele kleine Dateien haben. Normalerweise gibt es keinen guten Grund, für den allgemeinen Gebrauch über 4 kB zu gehen.
Zersplitterung?
Fragmentierung sollte auf diese Weise keinen Platz verschwenden. Große Dateien können fragmentiert, dh in mehrere Zuordnungseinheiten aufgeteilt werden, aber jede Einheit sollte gefüllt werden, bevor die nächste gestartet wird. Durch die Defragmentierung wird möglicherweise ein wenig Platz in den Zuordnungstabellen gespart, dies ist jedoch nicht Ihr spezielles Problem.
Mögliche Lösungen
Wie Gladiator2345 angedeutet hat , besteht Ihre einzige echte Option derzeit darin, damit zu leben oder mit kleineren Zuordnungseinheiten neu zu formatieren.
Ihre Karte ist möglicherweise in FAT16 formatiert, das eine geringere Beschränkung der Tabellengröße aufweist und daher viel größere Zuordnungseinheiten erfordert, um ein größeres Volumen zu adressieren (mit einer Obergrenze von 2 GB bei 32-kB-Zuordnungseinheiten). Quelle mit freundlicher Genehmigung von Braiam . Wenn dies der Fall ist, sollten Sie trotzdem sicher als FAT32 formatieren können.