LINUX.ORG.RU

Файловая система для SD-карт

 , , , ,


0

3

Есть смысл смотреть на что-то вроде F2FS или сейчас нормальные карты от SSD не отличаются и сами балансируют записи по блокам, то бишь стандартный Ext4 будет предпочтительней?

Помимо прочего крайне необходимо, чтобы не было порчи ФС при выключении питания. Данные хранятся в sqlite, поэтому важно, чтобы sqlite оставалась в работоспособном состоянии.

★★★★
Ответ на: комментарий от vbr

Пушо никто не знает, сколько оптимизаций и какой объём рам-кэша запихал в карту памяти вендор ради превосходства в андроидно-хомячковом сегменте, и какие данные на ней останутся после сброса питания.

bo4ok
()
Ответ на: комментарий от Gennadevich

если без андройдов и без порчи при выключении питания то xfs

Ага, ну да, ну да. ФС будет как живая, только в открытых файлах будут нули. XFS крайне плохо переживает потерю питания, она много чего держит в кэше. При потере питания структура самой ФС остаётся целой, ошибок при проверке не будет, вот только данных в файлах может не оказаться. И восстановить практически нереально. Поэтому XFS не зря рекомендуют использовать в аппаратных райдах с собственным кэшем подпёртым BBU. Или с бесперебойником, но он не поможет при зависании самой ОС например.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

я ничо не понял
у меня есть опыт использования всяких fs на sdcard, который является единственным носителем OS , так вот только xfs смогла работать после сбоя питания остальные fs не смогли

Gennadevich
()
Ответ на: комментарий от Gennadevich

я ничо не понял

Не парься, это нормально.

у меня есть опыт использования всяких fs на sdcard, который является единственным носителем OS , так вот только xfs смогла работать после сбоя питания остальные fs не смогли

Ты изобрёл использовать промышленную FS для хранения больших объёмов данных на сменном портативном носителе, ты удивительный и волшебный обладатель уникального опыта.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)
Ответ на: комментарий от bga_

Для работы yaffs и jffs2 нужен доступ к out-of-band областям. Они там хранят метаданные. Поэтому они работают только на сыром флеше.

SD карты используют flash translation layer (FTL). У некоторых даже есть выравнивание износа.

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

i-rinat ★★★★★
()
Ответ на: комментарий от bga_

Придётся либо выделять под несколько байт метаданных по целому блоку, то есть по сути уполовинивать объём флеша, либо паковать метаданные по множеству в каждый блок, выделенных для метаданных, чем по сути раз в 30 усиливать запись в них, кратно быстрее убивая конкретные страницы флеша, и как следствие, всю ФС.

Оба варианта — так себе идея.

Если ты решил их использовать на SD-картах, зачем? Ну допустим, через какой-нибудь слой эмуляции ты сгенерируешь mtd-девайс, на который потом накатишь специализированную ФС. Какую проблему это должно решать?

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)