Perché le telecamere non supportano i filesystem con journal?


15

come NTFS, HFS + o ext4, per schede SD? Dopotutto, il journaling riduce la possibilità di perdita di dati, il che sarebbe importante per i fotografi. Ho perso una scheda SD contenente forse un migliaio di foto quando a Bali - un posto che non ho avuto la possibilità di visitare prima o dopo.

Ci sono delle precauzioni che posso prendere prima di un viaggio la prossima volta? Formattare le carte a porte chiuse?

Sono corretto nel comprendere che SDXC (exFAT) e Sony Memory Stick non offrono più affidabilità delle schede SD?


2
eseguire uno di questi filesystem su una SD può uccidere rapidamente la memoria flash.
Tim Seguine,

1
@PhilipKendall Non è la mia fonte, ma questa risposta di SE lo menziona: serverfault.com/questions/41674/… ... in ogni caso i dischi rigidi SSD hanno effettivamente bisogno di una logica speciale per evitare di distruggere il flash quando si usano i normali filesystem. Una memoria flash economica come quella nelle schede SD è ancora meno adatta a questo tipo di carico. Il FAT è un file system molto semplice adatto per i carichi di archiviazione sequenziale che le fotocamere producono e causa una scarsa usura della memoria flash. Il problema principale è già nelle risposte fornite: complessità aggiunta per nessun guadagno.
Tim Seguine,

2
L'errore qui era mantenere 1000 foto su una scheda senza eseguire il backup. Se viaggi in una posizione remota dove non avrai accesso a un computer su cui eseguire il backup, dovresti trasportare un dispositivo di backup.
Jim Garrison,

1
@KartickVaddadi Qual è la tua fonte per i tuoi numeri secondo cui un file system journaled ridurrà la vita del 10% (da 5 anni a 4,5 anni)? Hai qualche ricerca che puoi indicare?
Philip Kendall,

1
@KartickVaddadi: il livello di mappatura tra i numeri di settore logici e i blocchi del disco fisico crea modalità di errore che sono diverse da quelle normalmente associate ai supporti magnetici; i file system che non comprendono il livello di mappatura nascosto da essi non possono evitare le modalità di errore poste da quel livello.
supercat

Risposte:


28

Facciamo una piccola analisi costi-benefici:

  1. Un file system con journaling è più complicato: ciò significa tempi di sviluppo più lunghi, più bug, maggiore consumo della batteria, costi di produzione più elevati ecc.

  2. il problema risolto da un filesystem journaled - dati FS corrotti ma dati di file intatti - è gestito abbastanza bene da strumenti di recupero dati di terze parti.

  3. il file system journaled non risolve tutti i problemi, è davvero necessario un buon backup - e non solo i sistemi con backup integrati (slot per doppia scheda) sono una funzionalità che viene utilizzata per fare in modo che i professionisti ottengano telecamere più costose.

  4. non c'è una grande crisi di affidabilità della scheda di memoria, quelle carte sono abbastanza affidabili e il fallimento è relativamente raro.

  5. e, infine, non esiste un file system con journaling che è supportato immediatamente su Windows e Mac.

Quindi, se tu fossi il responsabile del prodotto responsabile approveresti un progetto che 1. risolve un problema già risolto (con strumenti di terze parti) in modo incompleto, 2. non è abbastanza importante per essere un punto di vendita e 3. farà una parte significativa del mercato non è in grado di utilizzare la fotocamera (almeno senza installare software aggiuntivo di cui non avranno bisogno con i marchi concorrenti)?


3
In realtà, OSX può leggere i volumi NTFS e scriverli con alcuni terminali .
Justin Dearing il

1
@JustinDearing: pulito! Dovresti effettuare il cross-posting come QA in askdifferent .
ov

la configurazione predefinita del filesystem in OS X (ovvero la configurazione con cui sono preinstallati tutti i Mac) è HFS + con journaling abilitato. infatti, Time Machine richiede l' abilitazione del journaling.
Strugee,

1
@strugee - Non ho detto che OS X non ha un file system di journaling - Ho detto che non esiste un singolo sistema che sia OS X che Windows possano usare immediatamente (Windows non capisce affatto HFS + e Mac ( per impostazione predefinita) impossibile scrivere NTFS)
Nir

@Nir ah, non importa. Ho frainteso.
Strugee,

11

I file system con journaling garantiscono solo l'integrità del file system. Se una carta fallisce davvero, fallisce con l'intero file system. Ora, se hai alcune celle di memoria difettose, useresti solo qualsiasi foto occupasse quello spazio e un file system journaled non sarebbe di aiuto. In altre parole, questa è la soluzione sbagliata all'incidente che descrivi.

La vera soluzione è la ridondanza, motivo per cui troverai offerte di fascia alta di Nikon, Pentax e Canon che offrono doppi slot per schede di memoria e la possibilità di scrivere immagini su entrambe le schede contemporaneamente. Questo ti dà un backup istantaneo. Se quelle telecamere non ti sono convenienti, devi trovare un altro modo per eseguire backup frequenti. Alcune persone lo fanno quotidianamente su un laptop, un'unità portatile, un disco ottico.

Anche se non l'ho ancora provato e non sono sicuro di quanto sia pratico, puoi anche utilizzare un dispositivo o una scheda WiFi (SD / SDHC solo AFAIK) che invia automaticamente le tue immagini mentre vengono acquisite su un altro dispositivo di rete, forse un tablet o qualcosa con una buona conservazione.

Mentre SDXC viene formattato come exFAT per impostazione predefinita, puoi formattarlo anche su FAT32. Molte fotocamere lo accetteranno in entrambi i modi. Tuttavia, la differenza di affidabilità è probabilmente zero.


Sì, ma non è l'unica modalità di errore, vero? Nel mio caso, uno stress test di scrittura più volte sull'intera scheda non ha rilevato un errore, quindi non penso che si tratti di celle di memoria difettose; solo un po 'di corruzione. Per quanto riguarda le celle di memoria difettose, un filesystem con journal assicurerà che solo le foto memorizzate andranno perse e non l'intero filesystem, con migliaia di foto, giusto? Se un filesystem con journaling è la soluzione sbagliata al problema, temo di non vedere quale sia la soluzione giusta. Quando viaggio, non ho sempre il mio laptop, tablet o disco portatile per il backup delle foto.
Vaddadi Kartick,

I file system con journal assicurano che l'intero file system sia coerente, ma in realtà non fanno nulla per corruzione. Per questo sarebbe necessario un po 'di ridondanza.
Itai,

1
@KartickVaddadi Penso che sia meglio supporre che quando acquisti un qualsiasi tipo di memoria flash fallirà ad un certo punto nel tempo. Il meglio che puoi fare se non sei disposto a investire per ridurre il rischio quando sei sul campo è assicurarti di acquistare carte affidabili da produttori affidabili.
Peng Tuck Kwok,

4
@KartickVaddadi Stai cercando di ingoiare un cammello per evitare di sforzarti di mangiare un moscerino. Se hai speso "migliaia di dollari" per la tua attrezzatura, quali sono altri $ 20 per una scheda di memoria aggiuntiva che dovresti acquistare comunque per sfruttare un secondo slot per schede?
Michael C,

1
@KartickVaddadi: fare uno stress test per scrivere più volte sull'intera scheda non farà altro che avvicinare la tua carta all'inesattezza poiché si tratta di memoria flash di cui stiamo parlando e non di supporti magnetici. La memoria flash (almeno basata su NAND) supporta solo un numero limitato di scritture prima che i blocchi di cancellazione inizino a fallire. Il livello di traduzione tenterà di nasconderci, mappando blocchi non funzionanti su blocchi funzionanti durante la scrittura.
Leo,

5

Per quanto ne so, tutte le fotocamere digitali prodotte per essere vendute sul mercato al dettaglio incorporano la regola di progettazione per Camera File System (DCF) . Parte dello standard DCF è che il file system FAT deve essere utilizzato da dispositivi conformi. Questo standard è stato adottato come standard di fatto per la memorizzazione di file audio e di immagini digitali in dispositivi di memoria dall'industria delle fotocamere digitali per assicurare l'interoperabilità da un marchio all'altro.

Consulta /photo//a/46387/15871 per ulteriori informazioni su DCF.


Lo standard impedirebbe a un fornitore di fotocamere di utilizzare NTFS. HFS + o un altro file system se è stata inserita una scheda formattata con uno di questi sistemi o la fotocamera dovrebbe semplicemente dire "scheda inutilizzabile"?
supercat

Ad un certo punto le specifiche non includevano FAT32 IIRC. Allo stato attuale (DCF v2, pubblicato 2010) le specifiche sono limitate a tutte le varianti FAT + exFAT. Quindi ci sono precedenti per DCF da estendere in futuro per includere altri filesystem se i membri lo volessero.
James Snell,

@supercat Sarebbe fuori dallo standard come è ora scritto. Gli standard sono sempre soggetti a revisione. Ma sembra che la domanda sia: perché le fotocamere attuali non supportano i file system registrati su giornale.
Michael C,

@JamesSnell Regular FAT16 supera anche 2 GiB per partizione, quindi il passaggio a qualcosa di leggermente più moderno ha risolto un problema molto reale. Il supporto diffuso per FAT32 nei sistemi non Microsoft sembra essere stato implementato negli anni intorno al 2000 e FAT32 raggiunge un livello significativamente più utile anche oggi di 2 TiB per partizione quando si utilizza una dimensione del settore logico di 512 byte.
un CVn

@ MichaelKjörling - Sono ben consapevole della limitazione di FAT16 grazie e non sto dicendo che FAT32 è stato aggiunto nel 2010 (è stato aggiunto exFAT). Il punto è che CIPA ha trovato utile estendere le specifiche e, se lo desiderano, potrebbe farlo con i filesystem futuri. Chiaramente hanno visto un bisogno / desiderio di qualcosa oltre FAT32.
James Snell,

5

Si tratta di risolvere "c'è un mercato?" e "quali sono gli ostacoli all'adozione?". Ognuno di questi presenta un enorme ostacolo all'adozione anche se ne valesse la pena.

NTFS comporterebbe costi per le licenze anche se esiste anche una libreria adatta per i processori della fotocamera (che non è garantita) e il supporto al di fuori di Windows sarebbe irregolare. Mentre HFS + ed ext4 non hanno supporto nativo in Windows, eliminando gran parte della potenziale base di clienti. Quindi non c'è mercato per quelli.

Come dici tu, exFAT è richiesto dallo standard SCXD , quindi vedrai che come appare il supporto per schede più grandi e più veloci, ma non è così semplice poiché più codice va anche più male, e con sistemi integrati come le fotocamere, davvero non voglio distribuire gli aggiornamenti del firmware, quindi aspettatevi che mentre le scritture su una scheda exFAT siano leggibili e nel giusto formato, potrebbe non utilizzare effettivamente nessuna delle funzionalità exFAT che potrebbero offrire alcuna protezione. Quindi ci sono anche barriere significative all'adozione.

La modalità di errore della maggior parte delle schede ha la probabilità di essere il controller come una cella di memoria, è un sacco di lavoro (costo per la produzione) con scarso vantaggio.

Sony MS (MemoryStick) è ancora memoria flash SLC o MLC, è solo il controller e la connessione fisica che differisce tra i sistemi. La tua migliore protezione nella situazione che hai riscontrato è quella di portare con te un piccolo dispositivo portatile di backup, sono tascabili e relativamente economici (e probabilmente incompatibili anche con i filesystem Journaled.)


NFS non è un file system su disco, è un protocollo di rete (all'incirca alla pari con il suo FTP cugino notevolmente più familiare in termini di problema che risolve). Intendevi HFS + (il file system usato nativamente da Mac OS)?
un CVn

Intendevo davvero HFS +, modificherò :)
James Snell il

4

Una ragione ovvia: perché un filesystem di journaling su una fotocamera molto probabilmente non ti avrebbe aiutato (o nessuno).

Come panoramica di altissimo livello, ecco cosa fa un filesystem di journaling: prima di scrivere su tutti i metadati (o dati, se anche su journaling di dati), scrivi prima cosa cambierai nel journal. Solo una volta che sei sicuro che è sul disco, vai avanti e scrivi la modifica. Fondamentalmente, ciò significa che se l'alimentazione viene interrotta durante la scrittura, è possibile ripristinare il filesystem utilizzando il journal: si procede e si esegue qualsiasi azione nel journal.

Questo è prezioso su un PC desktop, in cui l'alimentazione potrebbe interrompersi o l'utente potrebbe premere il pulsante di ripristino o staccare la spina, ecc. Anche prezioso, ma meno, su server (mancanza di corrente) e laptop (pulsante di ripristino) .

Una fotocamera è alimentata a batteria. Ha un interruttore di spegnimento, ma questo normalmente dice al firmware di spegnerlo, non è una disconnessione dell'alimentazione fisica. Di solito non c'è un pulsante di reset, o se c'è, non è praticamente mai usato. Quindi, non è necessario il journaling, il firmware può semplicemente finire la scrittura. L'unica eccezione sarebbe se hai rimosso fisicamente la batteria. Forse sarebbe successo con un alimentatore esterno, ma a parte questo, una fotocamera non dovrebbe mai subire uno spegnimento impuro.

Inoltre, quasi nessun dispositivo flash gestisce bene l'interruzione improvvisa dell'alimentazione. Inseriscili nel mezzo di una delocalizzazione del settore (livellamento dell'usura) e tutte le scommesse sono disattivate. Quindi, anche se avessi un filesystem journaling, non saresti ancora al sicuro da mancanza di corrente.

Un filesystem journaling non ti protegge da:

  • Bug nel controller flash sulla scheda SD, ecc.
  • Bug nell'hardware dell'host SD della videocamera
  • Bug nel codice del filesystem sulla fotocamera
  • Bug nei driver SD del firmware
  • Perdita di settori sui media
  • Malfunzionamento dell'hardware (ad es. A causa di raggi cosmici, scariche statiche, rumore elettromagnetico, acqua, ...)

In effetti, un filesystem journaling è più complicato , quindi è più probabile che tu abbia dei bug filesystem. Amplifica le scritture, quindi è più probabile che colpisca il controller flash o i bug dell'host SD. E consumerai il flash leggermente prima.


3

I file system con journaling sono dannosi per le schede SD (o qualsiasi dispositivo NAND Flash).

Le operazioni di scrittura sono costose per i dispositivi NAND Flash e i file system registrati su giornale tendono a scrivere più dei file system non registrati su giornale per le stesse attività.

Quindi la scheda SD funzionerà più lentamente e durerà meno con un file system Journaled.

Lo storage basato su FLASH, al suo interno, utilizza una tecnologia chiamata NAND FLASH. NAND FLASH è leggibile e scrivibile, ma con diverse rughe.

  1. L'unità fondamentale di lettura / scrittura è una "pagina", non un settore. I dispositivi FLASH della generazione 2007-2008 hanno dimensioni di pagina 2K, la migrazione a dimensioni di pagina 4K nella generazione 2009 e dimensioni di pagina 16K sono state osservate nelle generazioni 2011.

  2. Non puoi scrivere una pagina ogni volta che vuoi - prima di scriverla, devi prima cancellarla. Ma non è possibile cancellare una singola pagina alla volta: è necessario cancellare un intero "blocco di cancellazione" di (in genere) 64 pagine consecutive (128 KB o 256 KB a seconda della generazione). E dopo aver cancellato il blocco, non è possibile scrivere sulle pagine in un ordine arbitrario, è necessario scriverle in sequenza a partire dalla prima.

  3. I blocchi tendono ad usurarsi nel tempo. Dopo un certo numero di cicli di cancellazione, un blocco "andrà male" in modo permanente, in modo da non conservare più i dati in modo affidabile. Le pagine possono anche sviluppare errori di dati come risultato dell'attività di scrittura su altre pagine e persino come risultato delle letture!

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

Modifica: vale la pena ricordare che i file system journaled non porteranno un vantaggio significativo rispetto ai file system non journaled.


1
I dispositivi Flash utilizzano uno strato di rimappatura dei blocchi (FTL), quindi non si scrive più e più volte sullo stesso blocco fisico. Android utilizza filesystem come ext4, quindi non vedo la validità del tuo argomento secondo cui non è adatto per il flash.
Vaddadi Kartick,

I dispositivi Android di solito hanno un po 'di RAM e flash, no?
Michael C,

1
La rimappatura dei blocchi non aumenta il numero totale di scritture per blocco prima che un blocco vada a male, si limita a diffondere le operazioni di scrittura sull'intera scheda in modo che quasi tutti i blocchi vengano consumati alla stessa velocità. I sistemi su giornale utilizzano più operazioni di scrittura per fare la stessa cosa dei sistemi non su giornale, quindi il numero totale di scritture prima che una carta si danneggi si verificherà prima nel suo ciclo di vita con un sistema con giornale.
Michael C,

1
Android ha alcuni problemi relativi all'archiviazione (ritardi di I / O) e sta implementando il comando TRIM per migliorare la situazione. Le schede SD sono state fatte per essere economiche e piccole, non robuste. Esistono alternative più robuste ma più costose.
S182,

1
Android utilizza JSF perché questi dispositivi scrivono costantemente informazioni da diversi processi e sono inclini a urlare inaspettatamente (blocchi del sistema operativo, batteria scarica, ecc.). Non è il migliore ma ne hanno bisogno. D'altra parte, le operazioni di persistenza in Telecamere sono molto più semplici e un JFS porterebbe più problemi che soluzioni. Un file system di journaling è più resistente ed è meno soggetto alla corruzione, ma non immune. , nella maggior parte dei casi è possibile riparare un FS non registrato su giornale con uno "scandisk".
S182,

2

File system diversi richiedono quantità diverse di RAM in un sistema che li sta utilizzando. Un sistema che ha bisogno di scrivere un file su un file system FAT potrebbe teoricamente cavarsela con un singolo buffer da 512 byte, sebbene le prestazioni sarebbero piuttosto terribili. L'espansione a due o tre buffer da 512 byte migliorerebbe enormemente le cose. Andare oltre ciò migliorerebbe un po 'di più le cose e ottenere prestazioni ottimali da una scheda più grande richiederebbe più memoria rispetto a ottenere prestazioni ottimali da una scheda più piccola, ma una fotocamera che includeva solo buffer sufficienti per raggiungere l'efficienza ottimale con schede più piccole sarebbe comunque in grado di lavorare con quelli più grandi, anche se in modo meno efficiente.

Un problema più complicato riguarda il fatto che gli standard delle schede di memoria specificano che ogni scheda si comporta come una raccolta numerata di settori a 512 byte che possono essere letti e scritti in modo indipendente in sequenza arbitraria, ma non è così che i dati vengono archiviati sui chip all'interno del carte. I chip di memoria utilizzati in una scheda di memoria tipica sono divisi in pagine a 528 byte; quelli a loro volta sono raggruppati in blocchi di 256 o più. Una volta che una pagina è stata scritta, non può essere riscritta senza cancellarla e tutte le altre pagine nel suo blocco. In teoria, sarebbe possibile per una scheda SD onorare una richiesta di scrivere un settore a 512 byte copiando nella RAM tutti i dati nel suo blocco, cancellando il blocco e riscrivendo l'intero blocco ma con nuovi dati in un settore . In pratica, la performance sarebbe terribile. Anziché, la scrittura di un settore farà sì che la scheda SD scelga una pagina vuota, scriva i dati lì con il suo numero di settore e varie informazioni accessorie (le pagine del motivo sono 528 byte anziché 512) e in qualche modo tengono traccia di quella posizione corretta per i dati. Quando le pagine vuote diventano scarse, il controller identificherà un blocco le cui pagine sono state per lo più sostituite da pagine scritte più di recente, copia tutte le pagine ancora correnti da quel blocco a blocchi vuoti, quindi cancella l'intero blocco ora ridondante . Tutta questa logica è gestita interamente dalla scheda stessa, senza alcun intervento da parte della fotocamera. Quando le pagine vuote diventano scarse, il controller identificherà un blocco le cui pagine sono state per lo più sostituite da pagine scritte più di recente, copia tutte le pagine ancora correnti da quel blocco a blocchi vuoti, quindi cancella l'intero blocco ora ridondante . Tutta questa logica è gestita interamente dalla scheda stessa, senza alcun intervento da parte della fotocamera. Quando le pagine vuote diventano scarse, il controller identificherà un blocco le cui pagine sono state per lo più sostituite da pagine scritte più di recente, copia tutte le pagine ancora correnti da quel blocco a blocchi vuoti, quindi cancella l'intero blocco ora ridondante . Tutta questa logica è gestita interamente dalla scheda stessa, senza alcun intervento da parte della fotocamera.

Tutta questa logica significa che oltre al FAT32 o ad altri file system visti dalla telecamera, la scheda SD dovrà avere un proprio sistema di allocazione e gestione dei blocchi. Eventuali problemi che si verificano in quel sistema possono causare la perdita di dati, indipendentemente dal tipo di sistema che si trova sopra di esso. In teoria, molte schede di memoria sono progettate per garantire che anche se l'alimentazione viene inaspettatamente rimossa durante alcune operazioni, la scheda sarà in grado di ripristinare lo stato della scheda a quello che era prima dell'inizio dell'operazione, oppure eseguirla fino al completamento ( se tutti i dati necessari fossero stati scritti e la scheda stesse semplicemente ripulendo i dati ridondanti). Sfortunatamente, le carte differiscono per quanto bene implementano tale logica. Se l'interruzione improvvisa dell'alimentazione blocca le tabelle di gestione della memoria di una scheda,

Personalmente, penso che sarebbe stato meglio per il consorzio SD specificare un file system indipendente da FAT32, o almeno specificare che anche se una scheda dovesse essere leggibile come volume FAT32, dovrebbe essere scritta usando una comunicazione basata su file protocollo. Una scheda che sa quali gruppi di settori sono membri di ciascun file potrebbe ottimizzare le sue routine di deframmentazione attorno a ciò, e potrebbe anche fare un lavoro migliore di protezione contro la perdita di dati rispetto a quella che potrebbe presentare il disco come un mazzo di 512 byte indipendenti settori, ma nel bene e nel male non è così che vengono specificate le cose.


Penso che ci sia già una soluzione standard: un livello di rimappatura a blocchi, con un filesystem standard (NTFS, HFS +, ext4) in cima. Ed è utilizzato anche su dispositivi mobili, su Android. I sistemi operativi per fotocamere potrebbero essere più primitivi, ma è necessario risolverli.
Vaddadi Kartick,

@KartickVaddadi: il livello di rimappatura dei blocchi è standard; il mio punto era che se la scheda di memoria che implementava il layer di rimappatura dei blocchi era almeno in qualche modo consapevole del layout del file system, poteva ottimizzare il layout di rimappatura più efficace di quanto sia possibile senza tale conoscenza.
supercat

Certo, ma preferirei fare qualcosa di provato e testato piuttosto che inventare nuove interfacce tra il layer del dispositivo a blocchi e il filesystem. Non stiamo parlando di ricerche CS qui :) Voglio prendere qualcosa che funzioni sul mio computer e sul mio telefono e metterlo sulla mia fotocamera.
Vaddadi Kartick,

@KartickVaddadi: ho progettato alcuni file system flash con livellamento dell'usura per dispositivi incorporati con vari vincoli. Se viene detto al sistema di livellamento dell'usura "Voglio scrivere un file; qui
Supercat

... ecco i dati; questo è tutto. Voglio scrivere un altro file; ecco i dati; questo è tutto ", può comportarsi in modo un po 'più intelligente rispetto a quando gli viene semplicemente dato un mucchio di singoli settori con cui lavorare e non ha idea di cosa rappresentino. Tra le altre cose, tutti i blocchi di dati associati a ciascun file potrebbero essere contrassegnati con tag che dicono ad es. "blocco 347 dell'ID file 193.291.374, aggiornamento 273.837.199."
supercat

1

Supponendo che la scheda sia stata semplicemente corrotta e che non sia stata lanciata o sovrascritta, ti consiglio vivamente di provare PhotoRec. (Mi ha fatto uscire da una situazione leggermente meno grave qualche mese fa. Ha anche trovato alcune immagini sopravvissute che venivano eliminate per un anno o due.)

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

Per quanto riguarda un diario di bordo, ho avuto la stessa domanda molte volte. Come altri hanno già detto, gli attuali supporti flash sono in realtà fragili rispetto ai supporti magnetici e il journaling è difficile. Poiché il modello di utilizzo per le fotocamere è generalmente scattare una serie di foto, leggerle, quindi eliminarle tutte, non è molto necessario disporre di funzionalità FS avanzate. Le implementazioni semplici e testate sono probabilmente più importanti del vantaggio marginale del journaling. Come ulteriore vantaggio, la stupida strategia di allocazione di FAT semplifica gli strumenti come PhotoRec.


Penso di aver usato PhotoRec in quel caso. Grazie comunque per il link.
Vaddadi Kartick,

1

1, Dio non può salvarti se hai perso fisicamente la carta. Cosa vuoi dire che hai perso una carta a Bali?

2, i Journaled FS sono costruiti per occasioni come improvvisi guasti del sistema operativo o improvvisi blackout. Mantengono coerenti i metadati FS, quando accadono cose brutte. Non aiutano se si desidera che i file eliminati vengano ripristinati.

3, Bad-block è il problema più vitale delle memorie basate su NAND FLASH. I blocchi danneggiati emergono quando si verificano degli scritti. Pertanto, quando si sceglie FS per uno storage NAND FLASH, la frequenza di scrittura è la prima cosa da considerare. Ovviamente, come tutti gli altri hanno detto, i Journaled FS portano più cose da scrivere.

4, i diario di bordo prendono più potere, ovviamente. Più complicato, certo. Ma questi non sono i motivi dominanti per cui non li adottiamo per NAND FLASH, credo.

TADA ~~ Ecco fatto.


1. Vedi il mio commento sulla risposta di AJ. 2. Non ho cancellato manualmente i file. 3. Come ho scritto sugli altri commenti, come spieghi l'uso di Android di un diario registrato in flash su Flash? Non è così male come lo stai facendo. Non perdere foto è più importante di una riduzione marginale della durata della carta.
Vaddadi Kartick,

3
La maggior parte degli FS con journal ha bisogno di uno o più processi / thread daemon per gestire le loro "riviste". (Ad esempio, kjournald in Linux per EXT3) Sarà difficile adottarli se env non è un sistema operativo completo, dove non abbiamo il concetto di process / thread.
Garf,

@KartickVaddadi Ancora una volta, si prega di dare un puntatore ad alcune ricerche che dimostrano che un file system registrato su giornale produce solo una riduzione "marginale" della durata della carta. Questa è la seconda volta che lo affermi.
Philip Kendall,

Domanda giusta, ma tieni presente che Android lo utilizza, come ho già detto molte volte. Non l'avrebbero usato se causasse una drastica riduzione della vita dei media, vero? Inoltre, posso anche chiederti di citare la ricerca dimostrando che provoca una drastica riduzione della vita :)
Vaddadi Kartick,

Forse dovremmo semplicemente chiedere a @supercat, dato che è un esperto e nessuno dei due ha citato dati.
Vaddadi Kartick,

-1

Il file system stesso non deve essere complesso perché le immagini sono semplicemente scritte sulla scheda, non c'è quasi nessuna modifica apportata a un file dopo la creazione iniziale e non ci sono preoccupazioni simultanee sull'I / O dei file che devono essere preoccupate sulla fotocamera.

I problemi di integrità dei dati sono effettivamente risolti a livello hardware poiché TUTTA la memoria flash è intrinsecamente instabile. Il controller all'interno della scheda SD esegue molti controlli e trucchi di archiviazione per garantire che i dati siano validi. Un file system di journaling non farebbe nulla di utile in quanto si occupa dell'integrità della memorizzazione dei dati piuttosto che dell'integrità delle operazioni sui file.

Una telecamera utilizza operazioni di file così semplici (e ad alta velocità), che un file system complesso comporterebbe costi e complessità aggiuntivi, causando I / O più lenti e potenzialmente introducendo ulteriori bug che potrebbero causare la perdita di dati a causa di una gestione dei file più complessa, mentre non ottenere qualcosa di utile per una fotocamera.


Nel mio caso, il filesystem si è corrotto, forse a causa di un bug nel codice del filesystem della fotocamera che si attiva in rari casi. Il journaling assicurerà che se ciò accade, è più probabile che il filesystem rimanga integro, il che significa che non perderai migliaia di foto.
Vaddadi Kartick,

3
@KartickVaddadi - sei sicuro che sia stato il file system a corrompere e non la scheda SD stessa? Un problema di corruzione dei file con una tabella FAT non dovrebbe mai comportare il fallimento dell'intera scheda, dovrebbe essere facilmente recuperabile per la maggior parte delle foto a meno che la scheda stessa non abbia fallito. Come sei sicuro di ciò che è esattamente fallito.
AJ Henderson

Sono stato in grado di recuperare la maggior parte delle foto dal mio laptop utilizzando uno di quegli strumenti di recupero che ignora il filesystem, legge tutti i blocchi sul dispositivo e cerca di capire quali siano i file. Non sono riuscito a leggerlo a porte chiuse, il che significa che non ho potuto scattare foto per il resto della giornata e non ho mai più visitato i luoghi che avevo visitato quel giorno, quindi è stata un'occasione mancata.
Vaddadi Kartick,

2
@KartickVaddadi - sì, ma potrebbe essere stato un errore del file system o della scheda SD. Se il sommario viene cancellato, sarà comunque necessario eseguire il ripristino sul file system, indipendentemente dal fatto che si utilizzi FAT o NTFS. Non sono ancora sicuro che un file system registrato su giornale sarebbe di aiuto. Il principale punto di forza di un file system journaled è solo che può recuperare da un file in parte scritto perché sa che il record del file o della directory è errato. Ciò di cui probabilmente hai a che fare è stato il danneggiamento della tabella di allocazione che potrebbe essere un errore del disco o del file system.
AJ Henderson

2
@KartickVaddadi: Penso che, in linea di principio, si dovrebbe sempre provare ad avere una carta di riserva a portata di mano, e se la carta che si sta usando mostra qualsiasi segno di guasto, passare immediatamente alla riserva, in modo da evitare di distruggere qualsiasi dato che sarebbe stato recuperabile dalla scheda problematica.
Supercat
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.