Frage

Ich habe mit einer Disk-basierten Datenstruktur kam eingehende Echtzeit-Daten zu speichern, ist dies nicht im Speicher ist becuase das Array füllen kann und bewirken, dass der JVM zum Absturz bringen. Die Daten-strcture und Algorithmus arbeiten groß. Meine Frage ist nur, dass sich dies erheblich das Leben eines sdcard beeinflussen?

Ich weiß sdcards gelesen haben begrenzt und schreibt über sie, aber wie viel ist „begrenzt“. Wird für etwa auf die SD-Karte zu schreiben im Durchschnitt 20 Minuten pro Sitzung die SD-Karte stark auf den Punkt beeinflussen, wo der Benutzer sieht, dass es diese App war, die sie getötet?

War es hilfreich?

Lösung

Die Anzahl der Schreibvorgänge auf der Karte ist in de 100'000s. Dies ist die Anzahl der Flash-Sektor löscht, die als ein Plattensektor viel größer sein kann.

ich das folgende Dokument mit Berechnungen gefunden haben: STEC Kärtchen Wear Leveling UND LEBENSZEIT RECHNER

Eines der Beispiele: Lebensdauer = 2.000.000 x (512 MB - 100 MB - 128 KB) / (50MB x 10 / Tag) = 4513 Jahre

Wenn Sie also tun, um eine angemessene Arbeit zu gestalten (dh nicht zum Öffnen / Schließen von Dateien für jeden Byte Sie diese schreiben können flushses zwingen und so schreiben) Ich würde nicht einmal die Mühe, sehr umfangreiche Tests einzurichten ... .

Andere Tipps

Ich dachte, ich für Hunderttausende von Neufassungen moderne Flash-Speicher ist gut erinnerte. Die Zahl der liest, soweit ich weiß, ist nicht begrenzt.

Wenn es Ihnen besser fühlen lässt, unterstützt Windows Vista eine Funktion namens Readyboost, die Sie für die Verbesserung der Performance Cache-Speicherplatz auf einem USB-Stick zuweisen können. Ich denke, solange es Ihnen gelingt, irgendwie sogar aus den Schreiben, sollten Sie in Ordnung sein.

Darüber hinaus ist einig Flash-Speichermodule hat integrierte Controllern mit integrierten Schreiboptimierung, so dass sie würde versuchen, auf verschiedene Bereiche des Speichers auf nachfolgende Schreiboperationen zu schreiben. Sie können sich wahrscheinlich nicht verlassen, obwohl, wenn Sie sicher herausfinden, ob Ihre spezielle Speicherkarte verfügt über einen integrierten Controller (SD, insbesondere nicht über einen integrierten Controller, aber vielleicht noch hat es einen anderen Mechanismus, durch die es gleicht die Schreibvorgänge).

EDIT: Hier ist ein Link, der Speicher Verschleiß und „Wear Leveling“ näher erläutert: http://en.wikipedia.org/wiki/Flash_memory#Memory_wear

ich auf der frühen eeepc gekauft, die eine SD-Karte als ‚Festplatte‘ verwendet und so habe ich in Diskussionen darüber interessiert, zumal, weil ich das 2Gb Modell hatte ich den internen RAM aufgebaut auf ein zu überspannen 4 GB SD-Karte. Es ist schwierig, von echten harten Daten zu kommen, aber alles informierte Option ich finden kann, legt nahe, dass dies kein Problem, innerhalb einer angemessenen Lebensdauer der Maschine sein sollte (und sicherlich mein eeepc ganz glücklich auf einem ext3-Dateisystem wurde auf dem Lauf SD-Karte - also viel Aktivität - mit absolut keine Probleme -. da ich es gehackt)

Meinung scheint, dass moderne SD-Karten zu sein, sollten Sie mindestens 100.000 Zyklen geben, damit ich Sie denken, kann vernünftigerweise in Ordnung sein erwarten, wenn die Lebensdauer des Geräts nur wenigen Jahren ist. Jedoch Ihre einzige Möglichkeit, sicher zu sein, wird einige Tests mit Ihrem Programm zu schreiben kontinuierlich zu einer Charge von Musterkarten einrichten und sehen, ob sie innerhalb eines Zeitraums von drei Monaten nicht oder so. Ich würde auch die Hersteller fragen direkt an.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top