SD-Card Life en l'utilisant pour stocker une structure de données
Question
J'ai mis au point une structure de données sur disque pour stocker les données entrantes en temps réel. Cette structure n'est pas en mémoire, car le tableau peut se remplir et provoquer le crash de JVM. La structure de données et l'algorithme fonctionnent très bien. Ma seule question est de savoir si cela affecte grandement la vie d’une carte SD.
Je sais que les cartes SD ont une lecture et une écriture limitées, mais combien est "limité". Est-ce que le fait d'écrire sur la carte SD pendant environ 20 minutes par session en moyenne affectera considérablement la carte SD au point où l'utilisateur verra que c'est cette application qui l'a tuée?
La solution
Le nombre d'écritures sur la carte est en 100 000. Il s’agit du nombre d’effacements de secteur flash, qui peuvent être beaucoup plus importants qu’un secteur de disque.
Autres conseils
Je pensais me rappeler que la mémoire flash moderne était utile pour des centaines de milliers de réécritures. Autant que je sache, le nombre de lectures n'est pas limité.
Si vous vous sentez mieux, Windows Vista prend en charge une fonctionnalité appelée ReadyBoost, qui vous permet d'allouer de la mémoire cache sur un lecteur flash USB afin d'améliorer les performances. Je pense que tant que vous parvenez à égaliser les écritures, ça devrait aller.
De plus, certains modules de mémoire flash possèdent des contrôleurs intégrés avec optimisation en écriture intégrée. Ils essaieront donc d'écrire dans différentes zones de la mémoire lors d'opérations d'écriture ultérieures. Vous ne pouvez probablement pas compter sur cela, cependant, à moins de savoir avec certitude si votre carte mémoire possède un contrôleur intégré (la carte SD, en particulier, n’a pas de contrôleur intégré, mais peut-être existe-t-elle un autre mécanisme permettant de cela égalisera les écrits).
EDIT: voici un lien expliquant l’usure de la mémoire et le "nivellement de l’usure". plus en détail: http://fr.wikipedia.org/wiki/Flash_memory#Memory_wear
J’ai acheté un des premiers ordinateurs utilisant une carte SD comme "disque dur" et j’ai été intéressé par des discussions à ce sujet, en particulier parce que j’avais le modèle 2Gb, j’ai configuré le bélier interne Carte SD de 4 Go. Il est difficile d’obtenir des données réelles, mais tout ce que je peux trouver en toute connaissance de cause suggère que cela ne devrait pas poser de problème pendant une durée de vie raisonnable de la machine (et mon eeepc fonctionne certainement très bien sur un système de fichiers ext3 sur le système. Carte SD - c’est-à-dire beaucoup d’activité - sans aucun problème - puisque je l’ai piraté).
L’opinion semble être que les cartes SD modernes devraient vous donner au moins 100 000 cycles. Je pense donc que vous pouvez raisonnablement espérer que tout ira bien si la durée de vie de votre appareil n’est que de quelques années. Cependant, votre seul moyen de vous en assurer est de configurer certains tests avec votre programme écrivant en continu sur un lot de cartes d'échantillons et vérifiant si elles échouent dans un délai d'environ trois mois. Je demanderais aussi directement aux fabricants.