Зеркальное отображение на одной карте осуществляется через камеру или через карты?

Это было расплывчатое название, позвольте мне объяснить:) Некоторые камеры, например , Nikon D-610и D-810те, которые я использовал, имеют два слота для карт памяти, и в настройках вы можете указать использовать слот 2 в качестве зеркала для карты в слоте 1, так что какой бы снимок вы ни сделали в слоте 1, он также сохраняет его на карте в слоте 2. Мне пришла в голову одна вещь: что такое «Источник» для Slot2? Копирует ли он из Slot1 в Slot2 или камера записывает одновременно в оба слота? Причина, по которой я спрашиваю об этом, заключается в том, что я хочу посмотреть, стоит ли использовать вариант зеркалирования в качестве решения для резервного копирования на случай, если файлы на карте 1 в слоте 1 будут повреждены, у меня все еще будет правильный файл на карте 2 в слоте 2, но если поврежденный файл из слота 1 перезаписывается в слот 2, тогда это мусор на входе, мусор на выходе.

Ответы (2)

Да, рекомендуется использовать описанную вами конфигурацию для зеркалирования/резервного копирования.

Общий алгоритм (к сожалению) во многих моделях является однопоточным в части хранения (IOW начиная с шага 3) и выглядит следующим образом:

  1. Снимок снимается и помещается во внутренний буфер камеры в виде очереди.
  2. Слушатель ввода-вывода подсистемы хранилища проверяет, не пуста ли (не) очередь буфера, и если нет, устанавливает указатель изображения P0 на первый элемент (изображение) оттуда
  3. Изображение, на которое ссылается P0, сохраняется в Slot1 в указанном формате.
  4. Когда шаг 3 завершится успешно - проверьте настройки резервного копирования/зеркалирования. Если соответствующая настройка «ВКЛ», то сохраните в Slot2 изображение, на которое ссылается P0 , в соответствующем формате.
  5. Если шаг 4 завершается успешно, пометьте пространство памяти, на которое ссылается P0 (наше изображение), как свободное. Камера «видит», что снимок «удален» из буфера.

Слой ввода-вывода (хранилище) однопоточный - или, используя ваши слова, "камера пишет НЕ одновременно на карты, а последовательно" потому что так проще реализовать (нет необходимости в межпотоковых средства связи, слушатели, более сложное/дорогое оборудование и т. д.)

Конечно, есть камеры с многопоточным вводом-выводом — или, используя ваши слова, «камера пишет одновременно на обе карты» — как мой Canon 5D3 и, полагаю, другие топовые Canon модели (1DX, 7D2 и т.д.). Не знаю насчёт Никона. Для многопоточного подхода шаги 3 и 4 выше выполняются одновременно, в то время как на шаге 5 у нас есть прослушивающий поток, который ждет, пока шаги 3 и 4 просигнализируют об их успехе, чтобы пометить пространство, на которое ссылается P0, как свободное и сигнализировать «ОК, Прекращено. к основному циклу обработки камеры.

В любом случае, второй слот записывается из буфера и не читается из S1 не только из-за факторов читабельности/надежности, как вы отметили, но и из-за соображений скорости: внутренние буферы камеры на самом деле являются очень-очень быстрыми чипами кэш-памяти, которых много порядков. на порядок быстрее, чем любая доступная цепочка хранения CF или SD (контроллер+карта).

Я не могу говорить за Canon — если они так делают, это может показаться немного глупым — не имеет смысла копировать из основной памяти в кеш, когда D600 (например) оснащен основной памятью DDR3, которая может легко удовлетворить потребности двухканального контроллера UHS-I в полнопроходном режиме и получать данные от Expeed, не сильно вспотев ... Если бы они захотели - хотя из другого ответа похоже, что они предпочитают этого не делать.
Но если бы они сделали это, Джеймс, то камере пришлось бы ждать, чтобы снять следующий кадр, пока не завершится предыдущая операция чтения из основной памяти. И узкое место не в разнице между скоростью чтения основной памяти и скоростью записи в буферную память, а в скорости записи на карту памяти (если только они не хотят делать камеру, несовместимую с подавляющим большинством SD-карт в дикой природе). , которые медленнее, чем двухканальный UHS-I)
Возможно, я не ясно выразился: я не говорил, что камера копирует изображение "из основной памяти в кеш", а ДЛЯ основной памяти использует микросхемы памяти, которые по быстродействию сравнимы с микросхемами кеша. Возможно, мое использование термина «буфер» для основной памяти немного вводит в заблуждение...

Наверное, я не знаю внутренностей, но остановись и подумай об этом...

Камера явно уже имеет буферизированный в памяти файл, из которого пишет первую карту. Зачем нужно время, чтобы прочитать ее обратно (записать вторую карту), когда она уже буферизована в памяти? Возможно, он многопоточный и пишет оба одновременно? Такие вещи, как фокусировка, замер и непрерывная съемка, безусловно, многопоточные.

РЕДАКТИРОВАТЬ: я только что проверил свой D800, и время записи примерно в два раза больше с двумя картами. Но не в три раза дольше.

Концепция многопоточности действительно довольно спорна во встроенных системах, поскольку DSLR имеют несколько дискретных процессоров, оптимизированных для определенных задач, но результат вашего тестирования является полезной информацией.