Erfolgt die Spiegelung auf einer Karte über die Kamera oder über Karten?

Es war ein vager Titel, lassen Sie mich das erklären :) Einige Kameras zum Beispiel Nikon D-610, D-810die ich verwendet habe, haben zwei Steckplätze für Speicherkarten und in den Einstellungen können Sie festlegen, dass Slot2 als Spiegel für die Karte in Steckplatz1 verwendet wird, also egal welche Aufnahme Sie machen auf Slot1, es speichert es auch auf der Karte in Slot2. Eine Sache kam mir in den Sinn: Was ist die „Quelle“ für Slot2? Kopiert es von Slot1 nach Slot2 oder schreibt die Kamera gleichzeitig in beide Slots? Der Grund für die Frage ist, dass ich sehen möchte, ob es eine gute Idee ist, die Spiegelungsoption als Sicherungslösung zu verwenden, falls Dateien auf Karte1 in Steckplatz1 beschädigt werden. Ich habe immer noch die richtige Datei auf Karte2 in Steckplatz2, aber wenn die Datei beschädigt ist von Slot1 wird Slot2 überschrieben, dann ist es Müll rein, Müll raus.

Antworten (2)

Ja, es ist eine gute Idee, die von Ihnen beschriebene Konfiguration für die Spiegelung/Sicherung zu verwenden.

Der allgemeine Algorithmus ist (leider) in vielen Modellen Single-Threaded in seinem Speicherteil (IOW ab Schritt 3) und lautet wie folgt:

  1. Das Bild wird aufgenommen und in einer Warteschlangenstruktur im internen Puffer der Kamera abgelegt.
  2. Der I/O-Listener des Subsystems des Speichers prüft, ob die Warteschlange des Puffers (nicht) leer ist, und wenn dies nicht der Fall ist, setzt er einen Bildzeiger P0 auf das erste Element (Bild) von dort
  3. Das von P0 referenzierte Bild wird in Slot1 mit dem angegebenen Format gespeichert
  4. Wenn Schritt 3 erfolgreich abgeschlossen ist, überprüfen Sie die Einstellungen für Backup/Mirroring. Wenn die entsprechende Einstellung "ON" ist, dann speichern Sie auf Slot2 das von P0 referenzierte Bild mit dem entsprechenden Format
  5. Wenn Schritt 4 erfolgreich abgeschlossen ist, markieren Sie den von P0 referenzierten Speicherplatz (unser Bild) als frei. Die Kamera „sieht“, dass das Bild aus dem Puffer „gelöscht“ wurde.

Die E/A-Ebene (Speicherebene) ist Single-Threaded - oder mit Ihren Worten: "Die Kamera schreibt NICHT gleichzeitig auf Karten, sondern nacheinander", da dies einfacher zu implementieren ist (keine Notwendigkeit für Inter-Thread Kommunikation, Zuhörer, komplexere/teurere Hardware usw.)

Natürlich gibt es Kameras mit Multithreading-E/A - oder mit Ihren Worten "die Kamera schreibt gleichzeitig auf beide Karten" - wie meine Canon 5D3 und, wie ich vermute, andere erstklassige Canon Modelle (1DX, 7D2 usw.). Keine Ahnung von Nikon. Bei einem Multithreading-Ansatz werden die obigen Schritte 3 und 4 gleichzeitig ausgeführt, während wir in Schritt 5 einen Listening-Thread haben, der darauf wartet, dass 3 und 4 ihren Erfolg signalisieren, um den von P0 referenzierten Bereich als frei zu markieren und „Ok“ zu signalisieren. Beendet.' zur Hauptverarbeitungsschleife der Kamera.

In jedem Fall wird der zweite Steckplatz aus dem Puffer geschrieben und nicht aus S1 gelesen, nicht nur aus Gründen der Lesbarkeit / Zuverlässigkeit, wie Sie bemerkt haben, sondern auch aus Gründen der Geschwindigkeit: Die internen Puffer der Kamera sind tatsächlich sehr, sehr schnelle Cache-Speicherchips mit vielen Bestellungen schneller als jede verfügbare CF- oder SD-Speicherkette (Controller+Karte).

Ich kann nicht für Canons sprechen - wenn sie es so machen, wäre das ein bisschen doof - es würde keinen Sinn machen, vom Hauptspeicher in einen Cache zu kopieren, wenn die D600 (zum Beispiel) einen DDR3-Hauptspeicher hat, der problemlos kann Erfüllen Sie die Anforderungen eines zweikanaligen UHS-I-Controllers mit voller Wucht und empfangen Sie Daten vom Expeed, ohne viel ins Schwitzen zu geraten ... Wenn sie wollten - obwohl es aus einer anderen Antwort hervorgeht, dass sie sich dagegen entscheiden.
Aber wenn sie das taten, James, dann musste die Kamera warten, um das nächste Bild aufzunehmen, bis der vorherige Lesevorgang aus dem Hauptspeicher abgeschlossen war. Und der Engpass liegt nicht in der Differenz zwischen der Lesegeschwindigkeit des Hauptspeichers und der Schreibgeschwindigkeit des Pufferspeichers, sondern in der Schreibgeschwindigkeit der Speicherkarte (es sei denn, sie sind bereit, eine Kamera zu machen, die mit der überwiegenden Mehrheit der SD-Karten in freier Wildbahn nicht kompatibel ist , die langsamer sind als Dual Channel UHS-I)
Vielleicht war ich nicht klar: Ich habe nicht gesagt, dass die Kamera das Bild "vom Hauptspeicher in einen Cache" kopiert, aber FÜR den Hauptspeicher verwendet sie Speicherchips, deren Geschwindigkeit mit Cache-Chips vergleichbar ist. Vielleicht ist meine Verwendung des thermischen Puffers für den Hauptspeicher ein wenig irreführend ...

Ich schätze, ich kenne die Interna nicht, aber halte inne und denke darüber nach ...

Offensichtlich hat die Kamera bereits die Datei in ihrem Speicher gepuffert, von der sie die erste Karte beschreibt. Warum würde es die Zeit dauern, es zurückzulesen (um die zweite Karte zu schreiben), wenn es bereits im Speicher gepuffert ist? Es ist möglicherweise multithreaded und schreibt beides gleichzeitig? Dinge wie Fokus oder Messung und Serienbild sind sicherlich mehrgängig.

EDIT: Ich habe gerade meine D800 überprüft, und die Schreibzeit ist mit zwei Karten etwa doppelt so lang. Aber nicht dreimal so lange.

Das Konzept des Threading ist in eingebetteten Systemen wirklich ziemlich strittig, da DSLRs mehrere diskrete Prozessoren haben, die für bestimmte Aufgaben optimiert sind, aber das Ergebnis Ihrer Tests sind nützliche Informationen.