Почему камеры не поддерживают журнализированные файловые системы? - Фотопедия
15 голосов
/ 05 января 2014

как NTFS, HFS + или ext4, для SD-карт? В конце концов, журналирование снижает вероятность потери данных, что было бы важно для фотографов. Я потерял SD-карту, содержащую, возможно, тысячу фотографий, когда на Бали - месте, где у меня не было возможности посетить ни до, ни после.

Могу ли я принять меры предосторожности перед поездкой в ​​следующий раз? Отформатировать карты в камере?

Правильно ли я понимаю, что SDXC (exFAT) и Sony Memory Stick обеспечивают не более высокую надежность, чем карты SD?

Ответы [ 10 ]

28 голосов
/ 05 января 2014

Давайте проведем небольшой анализ затрат и выгод:

  1. Журнализированная файловая система более сложна - это означает более длительное время разработки, больше ошибок, большую разрядку батареи, более высокие производственные затраты и т. Д.

  2. проблема, решаемая журнализированной файловой системой - поврежденные данные FS, но данные файла не повреждены - довольно хорошо обрабатывается сторонними инструментами восстановления данных.

  3. Журнализированная файловая система не решает всех проблем, вам действительно нужны хорошие резервные копии - и не только то, что существуют системы со встроенными резервными копиями (слоты для двух карт), это функция, которая используется для того, чтобы профессионалы получали более дорогие камеры ,

  4. большого кризиса надежности карт памяти нет, эти карты довольно надежны, а поломки относительно редки.

  5. и, наконец, не существует журнализированной файловой системы, которая бы поддерживалась как в Windows, так и в Mac.

Итак, если бы вы были ответственным менеджером по продукту, вы бы одобрили проект, который: 1. решает уже решенную (с помощью сторонних инструментов) проблему неполным образом, 2. не настолько важен, чтобы быть точкой продажи, и 3 . сделает ли значительную часть рынка невозможным использование камеры (по крайней мере, без установки дополнительного программного обеспечения, которое им не потребуется для конкурирующих брендов)?

11 голосов
/ 05 января 2014

Журнализированные файловые системы обеспечивают только целостность файловой системы. Если карта действительно дает сбой, она выходит из строя со всей файловой системой. Теперь, если у вас плохие ячейки памяти, вы будете использовать только ту фотографию, которая занимает это пространство, и журнализированная файловая система тоже не поможет. Другими словами, это неправильное решение описанного вами инцидента.

Реальным решением является избыточность, поэтому вы найдете высококлассные предложения от Nikon, Pentax и Canon, которые предлагают два слота для карт памяти и возможность записи изображений на обе карты одновременно. Это дает вам мгновенную резервную копию. Если эти камеры вам не удобны, вам нужно найти другой способ делать частые резервные копии. Некоторые люди делают это ежедневно на ноутбуке, портативном накопителе, оптическом диске.

Хотя я еще не пробовал это сделать и не уверен, насколько это практично, вы также можете использовать устройство или карту WiFi (только для SD / SDHC AFAIK), которая автоматически отправляет ваши изображения по мере их захвата на другое сетевое устройство, может быть планшет или что-то с хорошим хранением.

Хотя SDXC по умолчанию форматируется как exFAT, вы можете отформатировать его и в FAT32. Большинство камер примут это в обоих направлениях. Разница в надежности, вероятно, равна нулю.

5 голосов
/ 05 января 2014

Насколько мне известно, все цифровые камеры, производимые для продажи на розничном рынке, включают Правило разработки для файловой системы камеры (DCF) . Часть стандарта DCF заключается в том, что файловая система FAT должна использоваться совместимыми устройствами. Этот стандарт был принят в качестве стандарта де-факто для хранения цифровых изображений и звуковых файлов в устройствах памяти промышленностью цифровых камер для обеспечения совместимость от одного бренда к другому.

См. https://photo.stackexchange.com/a/46387/15871 для получения дополнительной информации о DCF.

5 голосов
/ 05 января 2014

Все сводится к решению "есть ли рынок?" и "каковы барьеры для усыновления?" Каждый из них представляет собой огромный барьер для усыновления, даже если оно того стоило.

NTFS повлечет за собой расходы на лицензирование, даже если для процессоров камеры существует подходящая библиотека (что не гарантируется) и поддержка за пределами Windows будет неоднозначной. Хотя HFS + и ext4 не имеют встроенной поддержки в Windows, устраняется значительная часть потенциальной клиентской базы. Так что для них нет рынка.

Как вы упомянули, exFAT требуется стандартом SCXD , так что вы увидите, что появляется поддержка больших и более быстрых карт, но это не так просто, так как больше кода это также может пойти не так, и со встроенными системами, такими как камеры, вы действительно не хотите выпускать обновления прошивки, поэтому ожидайте, что хотя записи на карту exFAT могут быть читаемыми и в правильном формате, она на самом деле не может использовать какие-либо функции exFAT , которые могут предложить какую-либо защиту. Таким образом, существуют также серьезные препятствия для усыновления.

Режим отказа большинства карт, скорее всего, будет контроллером, как и ячейка памяти, это большая работа (затраты на производство) для небольшой выгоды.

Sony MS (MemoryStick) по-прежнему является флэш-памятью SLC или MLC, это просто контроллер и физическое соединение, которое отличается между системами. Ваша лучшая защита в ситуации, с которой вы столкнулись, - взять с собой небольшое портативное устройство резервного копирования, оно небольшого размера и относительно недорогое (и, вероятно, несовместимо с файловыми системами Journaled).

4 голосов
/ 09 января 2014

Одна очевидная причина: журналируемая файловая система на камере, скорее всего, не помогла бы вам (или кому-либо еще).

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

Это ценно на настольном ПК, где может отключиться питание, или пользователь может нажать кнопку сброса, или отключить вилку и т. Д. Также ценно, но менее важно, на серверах (сбой питания) и ноутбуках ( кнопка сброса).

Камера работает от батареи. Он имеет выключатель, но обычно он сообщает микропрограммному обеспечению о необходимости его выключения - это не физическое отключение питания. Обычно кнопки сброса нет, или, если она есть, она в основном никогда не используется. Таким образом, вам не нужно вести журнал, прошивка может просто закончить запись. Единственное исключение будет, если вы физически удалили батарею. Возможно, это случилось бы с внешним блоком питания, но кроме этого, камера не должна никогда подвергаться нечистому выключению.

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

Файловая система ведения журнала не защищает вас от:

  • Ошибки в контроллере флэш-памяти на SD-карте и т. Д.
  • Ошибки в оборудовании хоста SD камеры
  • Ошибки в коде файловой системы на камере
  • Ошибки в драйверах SD для прошивки
  • Потеря секторов в СМИ
  • Аппаратная неисправность (например, из-за космических лучей, статического разряда, электромагнитного шума, воды, ...)

На самом деле, файловая система журналирования более сложна , поэтому у вас, скорее всего, будут ошибки в файловой системе. Это усиливает запись, так что вы с большей вероятностью попадете на ошибки флэш-контроллера или хоста SD. И ты скоро изнашнешь вспышку.

3 голосов
/ 06 января 2014

Журнальные файловые системы вредны для SD-карт (или любого устройства NAND Flash).

Операции записи являются дорогостоящими для устройств NAND Flash, а журнальные файловые системы, как правило, пишут больше, чем не журналируемые файловые системы для тех же операций.

Таким образом, SD-карта будет работать медленнее и работать дольше с файловой системой Journaled.

В основе хранилища на основе FLASH лежит технология NAND FLASH. NAND FLASH читабелен и доступен для записи, но с несколькими складками.

  1. Основная единица чтения / записи - это «страница», а не сектор. Устройства FLASH поколения 2007–2008 годов имеют размер страницы 2 КБ, переходят на размер страницы 4 КБ в поколении 2009 года, а размеры страниц 16 КБ наблюдались в поколениях 2011 года.

  2. Вы не можете написать страницу в любое время - прежде чем писать на нее, вы должны сначала стереть ее. Но вы не можете стереть одну страницу за раз - вы должны стереть весь «блок стирания» (обычно) 64 последовательных страниц (128 КБ или 256 КБ в зависимости от поколения). И после того, как вы стерли блок, вы не можете писать на страницы в произвольном порядке, вы должны писать их последовательно, начиная с первого.

  3. Блоки имеют тенденцию со временем изнашиваться. После определенного количества циклов стирания блок будет «портиться» постоянно, так что он больше не будет надежно хранить данные. Страницы могут также создавать ошибки данных в результате записи операций на другие страницы, и даже в результате чтения!

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

Edit: Стоит отметить, что файловые системы с журналами не принесут существенных преимуществ по сравнению с файловыми системами без журналов.

2 голосов
/ 06 января 2014

Разным файловым системам требуется разное количество оперативной памяти в системе, которая их использует. Система, которая должна записать файл в файловую систему FAT, теоретически может обойтись с одним 512-байтовым буфером, хотя производительность будет довольно ужасной. Расширение до двух или трех 512-байтовых буферов значительно улучшит ситуацию. Выход за рамки этого несколько улучшил бы ситуацию, и получение оптимальной производительности от карты большего размера потребовало бы большего объема памяти, чем получение оптимальной производительности от карты меньшего размера, но камера, которая включала только достаточное количество буферов для достижения оптимальной эффективности с картами меньшего размера, все еще могла бы работать с большими, хотя и менее эффективно.

Более сложная проблема заключается в том, что стандарты карт памяти указывают, что каждая карта ведет себя как пронумерованный набор из 512-байтового сектора, который может быть прочитан и записан независимо в произвольной последовательности, но это не то, как данные хранятся в фишки внутри карт. Микросхемы памяти, используемые на обычной карте памяти, делятся на 528-байтовые страницы; те, в свою очередь, сгруппированы в блоки по 256 или более. Как только страница написана, она не может быть переписана без стирания ее и всех других страниц в ее блоке. Теоретически SD-карта могла бы выполнить запрос на запись 512-байтового сектора, скопировав в RAM все данные в своем блоке, стерев блок и записав весь блок обратно, но с новыми данными в одном секторе. , На практике производительность была бы ужасной. Вместо этого, запись сектора приведет к тому, что SD-карта выберет пустую страницу, запишет туда данные вместе с номером сектора и различной вспомогательной информацией (страницы с причинами 528 байт, а не 512) и каким-то образом отследит, что это правильная место для данных. Когда пустых страниц становится мало, контроллер идентифицирует блок, чьи страницы были в основном заменены страницами, написанными более недавно, копирует все еще текущие страницы из этого блока в пустые блоки, а затем стирает весь теперь избыточный блок , Вся эта логика полностью обрабатывается самой картой, без какого-либо вмешательства камеры.

Вся эта логика означает, что в дополнение к FAT32 или другой файловой системе, видимой камерой, SD-карта должна иметь свою собственную систему распределения и управления блоками. Любые проблемы, которые возникают в этой системе, могут привести к потере данных, независимо от того, какая система находится поверх нее. Теоретически, многие карты памяти предназначены для обеспечения того, чтобы даже в случае неожиданного отключения питания во время какой-либо операции карта могла либо откатить состояние карты до того состояния, которое было до начала операции, либо запустить ее до завершения если все необходимые данные были записаны, а карта просто удаляла лишние данные). К сожалению, карты отличаются тем, насколько хорошо они реализуют такую ​​логику. Если неожиданная потеря мощности приводит к засорению таблиц управления хранением карты, программное обеспечение, которое понимает внутреннюю работу таких таблиц, может восстановить данные, которые невидимы для любого программного обеспечения, которое просто использует основанный на секторах интерфейс чтения-записи.

Лично я думаю, что для Консорциума SD было бы лучше указать файловую систему, независимую от FAT32, или, как минимум, указать, что даже если карта должна быть читаемой как том FAT32, она должна быть записана с использованием файла протокол связи. Карта, которая знает, какие группы секторов являются членами каждого файла, могла бы оптимизировать свои процедуры дефрагментации вокруг этого, а также могла бы лучше защищать от потери данных, чем карта, которая должна была представлять диск как набор независимых 512-байтовых байтов. секторы, но, к лучшему или к худшему, дело обстоит иначе.

1 голос
/ 06 января 2014

1, Бог не сможет спасти вас, если вы физически потеряли карту. Что вы имеете в виду, что потеряли карту на Бали?

2, Журналируемые ФС созданы для случаев внезапного сбоя ОС или внезапного сбоя питания. Они сохраняют метаданные FS согласованными, когда эти плохие вещи случаются. Они не помогают, если вы хотите, чтобы ваши удаленные файлы возвращались.

3, Bad-block - самая насущная проблема хранилищ на базе NAND FLASH. Плохие блоки появляются, когда появляются записи. Следовательно, при выборе FS для хранилища NAND FLASH частота записи является первой вещью, которую вы должны учитывать. Очевидно, как и все остальные, «Журналисты» приносят больше вещей для написания.

4, Журналированные ФС, конечно, берут больше энергии. Сложнее, конечно. Но это не главные причины, по которым мы не принимаем их за NAND FLASH, я думаю.

ТАДА ~~ Вот и все.

1 голос
/ 06 января 2014

При условии, что карта была просто повреждена, и вы не бросили ее или не перезаписали, я настоятельно рекомендую вам попробовать PhotoRec. (Это вывело меня из чуть менее плохой ситуации несколько месяцев назад. Он даже обнаружил, что несколько изображений, которые сохранились, удалялись в течение года или двух.)

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

Что касается журналирования FS, у меня был один и тот же вопрос много раз. Как уже говорили другие, современные флэш-носители на самом деле являются хрупкими по сравнению с магнитными носителями, и ведение журнала затруднено. Поскольку шаблон использования для камер, как правило, состоит из нескольких фотографий, прочитайте их, а затем удалите их все, поэтому нет особой необходимости в расширенных функциях FS. Простые, проверенные реализации, вероятно, более важны, чем предельное преимущество ведения журнала. В качестве дополнительного преимущества, стратегия тупого распределения FAT упрощает использование таких инструментов, как PhotoRec.

0 голосов
/ 05 января 2014

Файловая система сама по себе не должна быть сложной, поскольку изображения просто записываются на карту, вряд ли редактирование файла выполняется после первоначального создания, и нет проблем одновременного ввода-вывода файлов, которые необходимо беспокоиться по поводу камеры.

Проблемы целостности данных фактически решаются на аппаратном уровне, поскольку ВСЕ флэш-память по своей природе нестабильна. Контроллер на SD-карте выполняет множество собственных проверок и приемов хранения, чтобы гарантировать достоверность данных. Журналируемая файловая система не поможет с этим, так как она касается целостности хранилища данных, а не целостности файловых операций.

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

Добро пожаловать на сайт Фотопедия, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...