Pourquoi les caméras ne prennent-elles pas en charge les systèmes de fichiers journalisés?


15

comme NTFS, HFS + ou ext4, pour les cartes SD? Après tout, la journalisation diminue les risques de perte de données, ce qui serait important pour les photographes. J'ai perdu une carte SD contenant peut-être un millier de photos à Bali - un endroit que je n'ai pas eu l'occasion de visiter avant ou depuis.

Y a-t-il des précautions à prendre avant un prochain voyage? Formater les cartes à huis clos?

Ai-je raison de comprendre que SDXC (exFAT) et Sony Memory Stick n'offrent pas plus de fiabilité que les cartes SD?


2
exécuter l'un de ces systèmes de fichiers sur une carte SD peut tuer la mémoire flash très rapidement.
Tim Seguine

1
@PhilipKendall Pas ma source, mais cette réponse SE le mentionne: serverfault.com/questions/41674/… ... de toute façon les disques durs SSD ont en fait besoin d'une logique spéciale pour éviter de saccager le flash lors de l'utilisation de systèmes de fichiers normaux. La mémoire flash bon marché comme celle des cartes SD est encore moins bien adaptée à ce type de charge. FAT est un système de fichiers très simple, bien adapté aux charges de stockage séquentielles des appareils photo et qui entraîne une faible usure de la mémoire flash.Le principal problème se trouve déjà dans les réponses fournies: complexité supplémentaire sans gain
Tim Seguine

2
L'erreur ici était de conserver 1000 photos sur une carte sans sauvegarde. Si vous voyagez dans un endroit éloigné où vous ne pourrez pas accéder à un ordinateur sur lequel effectuer la sauvegarde, vous devez avoir sur vous un périphérique de sauvegarde.
Jim Garrison

1
@KartickVaddadi Quelle est votre source pour vos chiffres qu'un système de fichiers journalisé réduira la durée de vie de 10% (5 ans à 4,5 ans)? Avez-vous des recherches à signaler?
Philip Kendall

1
@KartickVaddadi: La couche de mappage entre les numéros de secteurs logiques et les blocs de disques physiques crée des modes de défaillance qui ne ressemblent à aucun autre normalement associé aux supports magnétiques; les systèmes de fichiers qui ne comprennent pas la couche de mappage qui leur est cachée ne peuvent éviter les modes de défaillance posés par cette couche.
supercat

Réponses:


28

Faisons une petite analyse coûts-avantages:

  1. Un système de fichiers journalisé est plus compliqué - cela signifie un temps de développement plus long, plus de bogues, plus de consommation d'énergie de la batterie, un coût de production plus élevé, etc.

  2. le problème résolu par un système de fichiers journalisé - données FS corrompues mais données de fichier intactes - est plutôt bien géré par les outils de récupération de données tiers.

  3. Le système de fichiers journalisé ne résout pas tous les problèmes, vous avez vraiment besoin de bonnes sauvegardes - et non seulement il existe des systèmes avec des sauvegardes intégrées (deux emplacements pour cartes), c'est une fonctionnalité qui permet aux professionnels d'obtenir des caméras plus chères.

  4. il n'y a pas de grande crise de fiabilité des cartes mémoire, ces cartes sont assez fiables et les pannes sont relativement rares.

  5. et enfin, aucun système de fichiers journalisé n'est pris en charge prêt à l'emploi sur Windows et Mac.

Donc - si vous étiez le chef de produit en charge, approuveriez-vous un projet qui 1. résout un problème déjà résolu (avec des outils tiers) de manière incomplète, 2. n'est pas assez important pour être un argument de vente et 3. fera une partie importante du marché incapable d'utiliser l'appareil photo (au moins sans installer de logiciel supplémentaire dont ils n'auront pas besoin avec les marques concurrentes)?


3
En fait, OSX peut lire les volumes NTFS et y écrire avec un terminal foo .
Justin Dearing

1
@JustinDearing: soigné! Vous devriez poster cela en tant que QA dans askdifferent .
ov

la configuration par défaut du système de fichiers sous OS X (c'est-à-dire la configuration avec laquelle tous les Mac sont préinstallés) est HFS + avec la journalisation activée. en fait, Time Machine nécessite l'activation de la journalisation.
strugee

1
@strugee - Je n'ai pas dit qu'OS X n'a ​​pas de système de fichiers de journalisation - J'ai dit qu'il n'y a pas de système unique que OS X et Windows peuvent utiliser prêts à l'emploi (Windows ne comprend pas du tout HFS + et les Mac ( par défaut) ne peut pas écrire NTFS)
Nir

@Nir ah, peu importe. J'ai mal compris.
strugee

11

Les systèmes de fichiers journalisés garantissent uniquement l'intégrité du système de fichiers. Si une carte échoue vraiment, elle échoue avec tout le système de fichiers. Maintenant, si vous avez de mauvaises cellules de mémoire, vous n'utiliseriez que la photo occupant cet espace et un système de fichiers journalisé ne serait pas utile non plus. En d'autres termes, ce n'est pas la bonne solution à l'incident que vous décrivez.

La vraie solution est la redondance, c'est pourquoi vous trouverez des offres haut de gamme de Nikon, Pentax et Canon qui offrent deux emplacements pour carte mémoire et la possibilité d'écrire des images sur les deux cartes à la fois. Cela vous donne une sauvegarde instantanée. Si ces caméras ne vous conviennent pas, vous devez trouver un autre moyen d'effectuer des sauvegardes fréquentes. Certaines personnes le font quotidiennement sur un ordinateur portable, un lecteur portable, un disque optique.

Bien que je n'aie pas encore essayé et que je ne sais pas dans quelle mesure c'est pratique, vous pouvez également utiliser un appareil ou une carte WiFi (SD / SDHC uniquement AFAIK) qui envoie automatiquement vos images lorsqu'elles sont capturées vers un autre appareil en réseau, peut-être une tablette ou quelque chose avec un bon stockage.

Alors que SDXC est fourni au format exFAT par défaut, vous pouvez également le formater vous-même en FAT32. La plupart des caméras l'accepteront dans les deux sens. La différence de fiabilité est cependant probablement nulle.


Oui, mais ce n'est pas le seul mode de défaillance, n'est-ce pas? Dans mon cas, un test de stress consistant à écrire plusieurs fois sur la carte entière n'a pas détecté d'erreur, donc je ne pense pas qu'il s'agisse de cellules de mauvaise mémoire; juste de la corruption. En ce qui concerne les cellules de mauvaise mémoire, un système de fichiers journalisé garantira que seules les photos qui y sont stockées seront perdues et non le système de fichiers entier, avec des milliers de photos, non? Si un système de fichiers journalisé n'est pas la bonne solution au problème, je crains de ne pas voir la bonne solution. Lorsque je voyage, je n'ai pas toujours mon ordinateur portable, ma tablette ou mon disque portable sur lequel sauvegarder les photos.
Vaddadi Kartick

Les systèmes de fichiers journalisés s'assurent que l'ensemble du système de fichiers est cohérent mais ils ne font vraiment rien pour la corruption. Vous auriez besoin d'une redondance pour cela.
Itai

1
@KartickVaddadi Je pense qu'il est préférable de supposer que lorsque vous achetez n'importe quel type de mémoire flash, elle échouera à un moment donné. Le mieux que vous puissiez faire si vous ne souhaitez pas investir pour réduire le risque lorsque vous êtes sur le terrain est de vous assurer d'acheter des cartes fiables auprès de fabricants réputés.
Peng Tuck Kwok

4
@KartickVaddadi Vous essayez d'avaler un chameau pour éviter de vous forcer à manger un moucheron. Si vous avez dépensé des «milliers de dollars» pour votre équipement, qu'est-ce que 20 $ de plus pour une carte mémoire supplémentaire que vous devriez acheter de toute façon pour profiter d'un deuxième emplacement pour carte?
Michael C

1
@KartickVaddadi: Faire un test de stress d'écrire plusieurs fois sur la carte entière ne fera rien d'autre que de pousser votre carte plus près du manque de fiabilité car c'est du stockage flash dont nous parlons et non des supports magnétiques. Le stockage Flash (basé sur NAND au moins) ne prend en charge qu'un nombre limité d'écritures avant que les blocs d'effacement ne commencent à échouer. La couche de traduction essaiera de nous cacher cela en mappant les blocs défaillants aux blocs de travail lors de l'écriture.
Leo

5

Autant que je sache, tous les appareils photo numériques produits pour être vendus sur le marché de détail intègrent la règle de conception pour Camera File System (DCF) . Une partie de la norme DCF est que le système de fichiers FAT doit être utilisé par des appareils conformes. Cette norme a été adoptée comme norme de facto pour le stockage d'images numériques et de fichiers audio dans des dispositifs de mémoire par l'industrie de l'appareil photo numérique afin d'assurer l'interopérabilité d'une marque à l'autre.

Voir /photo//a/46387/15871 pour plus d'informations sur DCF.


La norme empêcherait-elle un fournisseur de caméras d'utiliser NTFS. HFS +, ou autre système de fichiers si une carte a été insérée et formatée avec l'un de ces systèmes, ou l'appareil photo devrait-il simplement dire "carte inutilisable"?
supercat

À un moment donné, la spécification n'a pas inclus FAT32 IIRC. À l'heure actuelle (DCF v2, publié en 2010), la spécification est limitée à toutes les variantes FAT + exFAT. Il existe donc des précédents pour que DCF soit étendu à l'avenir pour inclure d'autres systèmes de fichiers si les membres le souhaitaient.
James Snell

@supercat Ce serait en dehors de la norme telle qu'elle est maintenant écrite. Les normes sont toujours sujettes à révision. Mais la question semble se demander pourquoi aucune caméra actuelle ne prend en charge les systèmes de fichiers journalisés.
Michael C

@JamesSnell Regular FAT16 dépasse également 2 Gio par partition, donc le passage à quelque chose d'un peu plus moderne a résolu un problème très réel. La prise en charge généralisée de FAT32 dans les systèmes non Microsoft semble avoir été implémentée dans les années 2000 environ , et FAT32 atteint un niveau nettement plus utile, même aujourd'hui, 2 To par partition lors de l'utilisation d'une taille de secteur logique de 512 octets.
un CVn du

@ MichaelKjörling - Je suis bien conscient de la limitation de FAT16 merci et je ne dis pas que FAT32 a été ajouté en 2010 (c'est quand exFAT a été ajouté). Le fait est que la CIPA a jugé utile d'étendre la spécification et pourrait le faire avec les futurs systèmes de fichiers s'ils le souhaitaient. De toute évidence, ils ont vu un besoin / désir de quelque chose au-delà de FAT32.
James Snell du

5

Cela revient à résoudre "y a-t-il un marché?" et "quels sont les obstacles à l'adoption?". Chacun de ces éléments représente un énorme obstacle à l'adoption même si cela en valait la peine.

NTFS entraînerait des coûts de licence même s'il existe même une bibliothèque appropriée pour les processeurs de l'appareil photo (ce qui n'est pas garanti) et la prise en charge en dehors de Windows serait inégale. Bien que HFS + et ext4 n'aient pas de support natif dans Windows, ce qui élimine une grande partie de la base de clients potentiels. Il n'y a donc pas de marché pour ceux-là.

Comme vous le mentionnez, exFAT est requis par la norme SCXD , vous verrez donc que la prise en charge de cartes plus grandes et plus rapides apparaît, mais ce n'est pas aussi simple que cela, car plus de code est également plus à se tromper, et avec des systèmes embarqués comme des caméras, vous ne veulent vraiment pas pousser les mises à jour du firmware, alors attendez-vous à ce que, même si les écritures sur une carte exFAT soient lisibles et au bon format, elles n'utilisent en fait aucune des fonctionnalités exFAT qui pourraient offrir une protection. Il existe donc également d'importants obstacles à l'adoption.

Le mode de défaillance de la plupart des cartes est aussi susceptible d'être le contrôleur qu'une cellule mémoire, c'est beaucoup de travail (coût de fabrication) pour peu d'avantages.

Sony MS (MemoryStick) est toujours une mémoire flash SLC ou MLC, c'est juste le contrôleur et la connexion physique qui diffèrent entre les systèmes. Votre meilleure protection dans la situation que vous avez connue est d'emporter avec vous un petit appareil de sauvegarde portable, ils sont de poche et relativement peu coûteux (et probablement incompatibles avec les systèmes de fichiers journalisés également.)


NFS n'est pas un système de fichiers sur disque, c'est un protocole réseau (à peu près au même niveau que son cousin FTP beaucoup plus familier en termes de problème qu'il résout). Voulez-vous dire HFS + (le système de fichiers utilisé nativement par Mac OS)?
un CVn du

Je voulais en effet dire HFS +,
James Snell

4

Une raison évidente: parce qu'un système de fichiers de journalisation sur un appareil photo n'aurait probablement pas aidé (ni personne).

Pour un aperçu de très haut niveau, voici ce que fait un système de fichiers de journalisation: Avant chaque écriture dans les métadonnées (ou les données, si elles sont également journalisées), écrivez d'abord ce que vous allez modifier dans le journal. Une fois que vous êtes sûr que c'est sur le disque, allez-y et écrivez la modification. Fondamentalement, cela signifie que si l'alimentation est interrompue pendant l'écriture, vous pouvez récupérer le système de fichiers en utilisant le journal - vous allez de l'avant et effectuez toutes les actions dans le journal.

Cela est utile sur un ordinateur de bureau, où l'alimentation peut être coupée, ou l'utilisateur peut appuyer sur le bouton de réinitialisation, ou débrancher la prise, etc. Également précieux, mais moins, sur les serveurs (panne de courant) et les ordinateurs portables (bouton de réinitialisation) .

Un appareil photo est alimenté par batterie. Il a un interrupteur d'arrêt, mais cela indique normalement au micrologiciel de l'éteindre - ce n'est pas une déconnexion d'alimentation physique. Il n'y a généralement pas de bouton de réinitialisation ou, le cas échéant, il n'est pratiquement jamais utilisé. Ainsi, vous n'avez pas besoin de journalisation, le firmware peut simplement terminer l'écriture. La seule exception serait si vous retiriez physiquement la batterie. Peut-être que cela se produirait avec un bloc d'alimentation externe, mais à part cela, une caméra ne devrait jamais subir un arrêt impur.

De plus, presque aucun périphérique flash ne gère bien les pannes de courant inattendues. Mettez-les au milieu d'une relocalisation du secteur (nivellement de l'usure), et tous les paris sont désactivés. Donc, même si vous aviez un système de fichiers de journalisation, vous ne seriez toujours pas à l'abri d'une panne de courant.

Un système de fichiers de journalisation ne pas vous protéger contre:

  • Bogues dans le contrôleur flash de la carte SD, etc.
  • Bogues dans le matériel hôte SD de la caméra
  • Bogues dans le code du système de fichiers sur la caméra
  • Bogues dans les pilotes SD du firmware
  • Perte de secteurs sur les médias
  • Dysfonctionnement matériel (par exemple, dû aux rayons cosmiques, aux décharges statiques, au bruit électromagnétique, à l'eau, ...)

En fait, un système de fichiers journalisé est plus compliqué , vous êtes donc plus susceptible d'avoir des bogues dans le système de fichiers. Il amplifie les écritures, vous êtes donc plus susceptible de toucher le contrôleur flash ou les bogues de l'hôte SD. Et vous allez épuiser le flash un peu plus tôt.


3

Les systèmes de fichiers journalisés sont mauvais pour les cartes SD (ou tout appareil Flash NAND).

Les opérations d'écriture sont coûteuses pour les périphériques Flash NAND et les systèmes de fichiers journalisés ont tendance à écrire plus que les systèmes de fichiers non journalisés pour les mêmes activités.

Ainsi, la carte SD fonctionnera plus lentement et durera moins avec un système de fichiers journalisé.

Le stockage basé sur FLASH, à son cœur, utilise une technologie appelée NAND FLASH. NAND FLASH est lisible et inscriptible, mais avec plusieurs rides.

  1. L'unité fondamentale de lecture / écriture est une "page", pas un secteur. Les appareils FLASH de la génération 2007-2008 ont une taille de page 2K, la migration vers une taille de page 4K dans la génération 2009 et des tailles de page 16K ont été observées dans les générations 2011.

  2. Vous ne pouvez pas écrire une page à tout moment - avant de l'écrire, vous devez d'abord l'effacer. Mais vous ne pouvez pas effacer une seule page à la fois - vous devez effacer un "bloc d'effacement" entier de (typiquement) 64 pages consécutives (128 Ko ou 256 Ko selon la génération). Et après avoir effacé le bloc, vous ne pouvez pas écrire sur les pages dans un ordre arbitraire, vous devez les écrire séquentiellement en commençant par la première.

  3. Les blocs ont tendance à s'user avec le temps. Après un certain nombre de cycles d'effacement, un bloc "va mal" en permanence, de sorte qu'il ne contiendra plus de manière fiable les données. Les pages peuvent également développer des erreurs de données à la suite de l'activité d'écriture sur d'autres pages, et même à la suite de lectures!

http://wiki.laptop.org/go/How_to_Damage_a_FLASH_Storage_Device

Edit: Il convient de mentionner que les systèmes de fichiers journalisés n'apporteront pas d'avantage significatif par rapport aux systèmes de fichiers non journalisés.


1
Les périphériques Flash utilisent une couche de remappage de blocs (FTL), vous n'écrivez donc pas encore et encore sur le même bloc physique. Android utilise des systèmes de fichiers comme ext4, donc je ne vois pas la validité de votre argument selon lequel il ne convient pas au flash.
Vaddadi Kartick

Les appareils Android ont généralement de la RAM ainsi que du flash, n'est-ce pas?
Michael C

1
Le remappage de blocs n'augmente pas le nombre total d'écritures par bloc avant qu'un bloc ne se détériore, il répartit simplement les opérations d'écriture sur toute la carte de sorte que presque chaque bloc est porté au même rythme. Les systèmes journalisés utilisent plus d'opérations d'écriture pour faire la même chose que les systèmes non journalisés, de sorte que le nombre total d'écritures avant qu'une carte ne se détériore se produira plus tôt dans son cycle de vie avec un système journalisé.
Michael C

1
Android a quelques problèmes liés au stockage (retards d'E / S) et ils implémentent la commande TRIM pour améliorer la situation. Les cartes SD étaient faites pour être bon marché et petites, pas pour être robustes. Il existe des alternatives plus robustes mais plus chères.
S182

1
Android utilise JSF parce que ces appareils écrivent constamment des informations provenant de plusieurs processus et sont enclins à crier de manière inattendue (blocs OS, batterie faible, etc.). Ce n'est pas le meilleur mais ils en ont besoin. En revanche, les opérations de persistance dans les caméras sont beaucoup plus simples et un JFS apporterait plus de problèmes que de solutions. Un système de fichiers de journalisation est plus résistant et moins sujet à la corruption, mais pas à l'abri. , dans la plupart des cas, vous pouvez réparer un FS non journalisé avec un "scandisk".
S182

2

Différents systèmes de fichiers nécessitent une quantité différente de RAM dans un système qui les utilise. Un système qui a besoin d'écrire un fichier dans un système de fichiers FAT pourrait en théorie se débrouiller avec un seul tampon de 512 octets, bien que les performances soient assez terribles. Une extension à deux ou trois tampons de 512 octets améliorerait considérablement les choses. Aller au-delà améliorerait les choses un peu plus, et obtenir des performances optimales d'une carte plus grande nécessiterait plus de mémoire que d'obtenir des performances optimales d'une plus petite, mais un appareil photo qui ne comportait que suffisamment de tampons pour atteindre une efficacité optimale avec des cartes plus petites serait toujours en mesure de travailler avec des plus gros, même si moins efficacement.

Un problème plus délicat concerne le fait que les normes de carte mémoire spécifient que chaque carte se comporte comme une collection numérotée de secteur de 512 octets qui peut être lue et écrite indépendamment dans une séquence arbitraire, mais ce n'est pas ainsi que les données sont stockées sur les puces dans le cartes. Les puces mémoire utilisées dans une carte mémoire typique sont divisées en pages de 528 octets; ceux-ci à leur tour sont regroupés en blocs de 256 ou plus. Une fois qu'une page est écrite, elle ne peut pas être réécrite sans l'effacer et toutes les autres pages de son bloc. En théorie, il serait possible pour une carte SD d'honorer une demande d'écriture d'un secteur de 512 octets en copiant dans la RAM toutes les données de son bloc, en effaçant le bloc et en réécrivant tout le bloc mais avec de nouvelles données dans un secteur . En pratique, les performances seraient terribles. Au lieu, l'écriture d'un secteur amènera la carte SD à choisir une page vierge, à y écrire les données avec son numéro de secteur et diverses informations auxiliaires (la raison pour laquelle les pages sont de 528 octets plutôt que 512), et en quelque sorte garder une trace de l'emplacement approprié pour les données. Lorsque les pages vierges deviennent rares, le contrôleur identifie un bloc dont les pages ont été principalement remplacées par des pages écrites plus récemment, copie toutes les pages encore actuelles de ce bloc dans des blocs vides, puis efface tout le bloc désormais redondant . Toute cette logique est entièrement gérée par la carte elle-même, sans aucune intervention de la caméra. Lorsque les pages vierges deviennent rares, le contrôleur identifie un bloc dont les pages ont été principalement remplacées par des pages écrites plus récemment, copie toutes les pages encore actuelles de ce bloc dans des blocs vides, puis efface tout le bloc désormais redondant . Toute cette logique est entièrement gérée par la carte elle-même, sans aucune intervention de la caméra. Lorsque les pages vierges deviennent rares, le contrôleur identifie un bloc dont les pages ont été principalement remplacées par des pages écrites plus récemment, copie toutes les pages encore actuelles de ce bloc dans des blocs vides, puis efface tout le bloc désormais redondant . Toute cette logique est entièrement gérée par la carte elle-même, sans aucune intervention de la caméra.

Toute cette logique signifie qu'en plus du FAT32 ou d'un autre système de fichiers vu par la caméra, la carte SD devra avoir son propre système d'allocation et de gestion des blocs. Tous les problèmes qui surviennent dans ce système sont susceptibles d'entraîner une perte de données, quel que soit le type de système qui s'y trouve. En théorie, de nombreuses cartes mémoire sont conçues pour garantir que même si l'alimentation est coupée de manière inattendue pendant une opération, la carte pourra soit ramener l'état de la carte à ce qu'il était avant le début de l'opération, soit l'exécuter jusqu'à la fin ( si toutes les données nécessaires avaient été écrites et que la carte nettoyait simplement les données redondantes). Malheureusement, les cartes diffèrent dans la façon dont elles implémentent une telle logique. Si une coupure de courant inattendue frappe les tables de gestion du stockage d'une carte,

Personnellement, je pense qu'il aurait été préférable pour le SD Consortium de spécifier un système de fichiers indépendant de FAT32, ou au minimum de spécifier que même si une carte devait être lisible en tant que volume FAT32, elle devrait être écrite en utilisant une communication basée sur des fichiers protocole. Une carte qui sait quels groupes de secteurs sont membres de chaque fichier pourrait optimiser ses routines de défragmentation autour de cela, et pourrait également mieux protéger contre la perte de données que celle qui devait présenter le disque comme un tas de 512 octets indépendants secteurs, mais pour le meilleur ou pour le pire, ce n'est pas ainsi que les choses sont spécifiées.


Je pense qu'il existe déjà une solution standard: une couche de remappage de blocs, avec un système de fichiers standard (NTFS, HFS +, ext4) au-dessus. Et il est également utilisé sur mobile, sur Android. Les systèmes d'exploitation de la caméra peuvent être plus primitifs, mais cela doit être corrigé.
Vaddadi Kartick

@KartickVaddadi: La couche de remappage de blocs est standard; mon point était que si la carte mémoire qui implémentait la couche de remappage de blocs connaissait au moins quelque peu la disposition du système de fichiers, elle pourrait optimiser la mise en page de remappage plus efficacement qu'il n'est possible sans une telle connaissance.
supercat

Bien sûr, mais je préférerais prendre quelque chose d'essayé plutôt que de proposer de nouvelles interfaces entre la couche de périphérique de bloc et le système de fichiers. Nous ne parlons pas de recherche CS ici :) Je veux prendre quelque chose qui fonctionne sur mon ordinateur et mon téléphone et le mettre sur mon appareil photo.
Vaddadi Kartick

@KartickVaddadi: J'ai conçu des systèmes de fichiers flash de niveau d'usure pour les appareils embarqués avec diverses contraintes. Si le système de nivellement d'usure est dit "Je veux écrire un fichier; ici
supercat

... voici les données; c'est ça. Je veux écrire un autre fichier; voici les données; ça y est ", il peut se comporter un peu plus intelligemment que s'il est simplement donné à un tas de secteurs individuels de travailler avec et n'a aucune idée de ce qu'ils représentent. Entre autres choses, tous les blocs de données associés à chaque fichier pourraient être marqués avec des balises disant par exemple "bloc 347 de l'ID de fichier 193,291,374, mise à jour 273,837,199."
supercat

1

En supposant que la carte était simplement corrompue et que vous ne l'avez pas lancée ou écrasée, je vous suggère fortement d'essayer PhotoRec. (Cela m'a sorti d'une situation un peu moins mauvaise il y a quelques mois. Il a même trouvé que quelques images qui avaient survécu avaient été supprimées pendant un an ou deux.)

http://www.cgsecurity.org/wiki/PhotoRec

Concernant une journalisation FS, j'ai eu la même question plusieurs fois. Comme d'autres l'ont dit, les supports flash actuels sont en fait fragiles par rapport aux supports magnétiques, et la journalisation est difficile pour eux. Étant donné que le modèle d'utilisation des appareils photo consiste généralement à prendre un tas de photos, à les lire, puis à les supprimer toutes, les fonctionnalités avancées de FS ne sont pas nécessaires. Des implémentations simples et testées sont probablement plus importantes que l'avantage marginal de la journalisation. Comme avantage supplémentaire, la stratégie d'allocation muette de FAT facilite l'utilisation d'outils comme PhotoRec.


Je pense que j'ai utilisé PhotoRec dans ce cas. Merci pour le lien quand même.
Vaddadi Kartick

1

1, Dieu ne peut pas vous sauver si vous avez physiquement perdu la carte. Que voulez-vous dire que vous avez perdu une carte à Bali?

2, les FS journalisés sont conçus pour des situations telles qu'une panne de système d'exploitation soudaine ou une panne de courant soudaine. Ils gardent les métadonnées FS cohérentes lorsque ces mauvaises choses se produisent. Ils ne vous aident pas si vous souhaitez que vos fichiers supprimés reviennent.

3, Bad-block est le problème le plus vital des stockages basés sur NAND FLASH. Des blocs défectueux apparaissent lorsque des écritures se produisent. Par conséquent, lorsque vous choisissez FS pour un stockage NAND FLASH, la fréquence d'écriture est la première chose à considérer. Évidemment, comme tous les autres l'ont dit, les FS journalisés apportent plus de choses à écrire.

4, les FS journalisés prennent plus de pouvoir, bien sûr. Plus compliqué, bien sûr. Mais ce ne sont pas les raisons dominantes pour lesquelles nous ne les adoptons pas pour NAND FLASH, je pense.

TADA ~~ C'est ça.


1. Voir mon commentaire sur la réponse d'AJ. 2. Je n'ai pas supprimé manuellement les fichiers. 3. Comme je l'ai écrit dans les autres commentaires, comment expliquez-vous l'utilisation par Android d'un FS journalisé sur flash? Ce n'est pas aussi mauvais que vous le dites. Ne pas perdre de photos est plus important qu'une réduction marginale de la durée de vie de la carte.
Vaddadi Kartick

3
La plupart des FS journalisés ont besoin d'un ou plusieurs processus / threads démon pour gérer leurs "journaux". (Par exemple, kjournald sous Linux pour EXT3) Il sera difficile de les adopter si l'env n'est pas un système d'exploitation à part entière, où nous n'avons pas de concept de processus / thread.
Garf

@KartickVaddadi Encore une fois, veuillez donner un pointeur à certaines recherches montrant qu'un système de fichiers journalisé ne produit qu'une réduction "marginale" de la durée de vie de la carte. C'est la deuxième fois que vous l'affirmez.
Philip Kendall

C'est une bonne question, mais gardez à l'esprit que Android l'utilise, comme je l'ai déjà dit à plusieurs reprises. Ils ne l'auraient pas utilisé si cela entraînait une réduction drastique de la vie des médias, n'est-ce pas? En outre, je peux tout aussi bien vous demander de citer des recherches montrant que cela entraîne une réduction drastique de la vie :)
Vaddadi Kartick

Peut-être que nous devrions simplement demander à @supercat, car il est un expert, et aucun de nous n'a cité de données.
Vaddadi Kartick

-1

Le système de fichiers lui-même n'a pas besoin d'être complexe car les images sont simplement écrites sur la carte, il n'y a pratiquement pas de modifications apportées à un fichier après la création initiale et il n'y a pas de problèmes d'E / S de fichiers simultanés qui doivent être inquiétés sur l'appareil photo.

Les problèmes d'intégrité des données sont en fait résolus au niveau matériel car TOUTE la mémoire flash est intrinsèquement instable. Le contrôleur de la carte SD effectue un grand nombre de ses propres vérifications et astuces de stockage pour garantir la validité des données. Un système de fichiers de journalisation n'aiderait en rien car il traite de l'intégrité du stockage des données plutôt que de l'intégrité des opérations sur les fichiers.

Une caméra utilise des opérations de fichiers si simples (et à grande vitesse), qu'un système de fichiers complexe entraînerait des coûts et une complexité supplémentaires, entraînant des E / S plus lentes et potentiellement introduisant d'autres bogues qui pourraient entraîner une perte de données en raison d'une gestion de fichiers plus complexe, tout en n'étant pas gagner quoi que ce soit d'utile à un appareil photo.


Dans mon cas, le système de fichiers est corrompu, peut-être en raison d'un bogue dans le code du système de fichiers de l'appareil photo qui se déclenche dans de rares cas. La journalisation garantira que si cela se produit, le système de fichiers est plus susceptible de rester intact, ce qui signifie que vous ne perdrez pas des milliers de photos.
Vaddadi Kartick

3
@KartickVaddadi - êtes-vous sûr que c'est le système de fichiers qui est devenu corrompu et non la carte SD elle-même? Un problème de corruption de fichiers avec une table FAT ne devrait jamais entraîner l'échec de la carte entière, il devrait être facilement récupérable pour la plupart des photos, sauf si la carte elle-même a échoué. Comment êtes-vous sûr de ce qui a échoué exactement.
AJ Henderson

J'ai pu récupérer la plupart des photos de mon ordinateur portable à l'aide de l'un de ces outils de récupération qui ignore le système de fichiers, lit tous les blocs sur l'appareil et essaie de comprendre quels sont les fichiers. Je ne pouvais pas le lire à huis clos, ce qui signifiait que je ne pouvais pas prendre de photos pour le reste de la journée, et je n'ai plus jamais visité les endroits que j'avais visités ce jour-là, c'était donc une occasion manquée.
Vaddadi Kartick

2
@KartickVaddadi - oui, mais cela pourrait être un échec du système de fichiers ou de la carte SD. Si la table des matières est effacée, vous devrez toujours effectuer une récupération sur le système de fichiers, que vous utilisiez FAT ou NTFS. Je ne suis toujours pas sûr qu'un système de fichiers journalisé serait utile. La principale force d'un système de fichiers journalisé est simplement qu'il peut récupérer à partir d'un fichier partiellement écrit car il sait que le fichier ou l'enregistrement de répertoire est mauvais. Ce que vous traitez là-bas était très probablement la corruption de la table d'allocation qui pourrait être une défaillance du disque ou du système de fichiers.
AJ Henderson

2
@KartickVaddadi: Je pense qu'en principe, on devrait toujours essayer d'avoir une carte de rechange sous la main, et si la carte que l'on utilise montre un signe de problème, passer immédiatement à la carte de rechange, afin d'éviter de détruire les données qui aurait pu être récupéré de la carte problématique.
supercat
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.