LINUX.ORG.RU

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

 , , , ,


0

3

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

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

★★★★

если в андройд смартфон или планшет будешь вставлять то там только FAT32/Ext3/Ext4 и ещё в андройд-6(вроде бы) и выше уже есть поддержка exFAT

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

Я в этом не разбираюсь, мне надо софтварное решение, я не знаю, куда его ставить и что дальше делать.

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

Почему слабые? Ext4 вроде должна быть точно надёжной. Если со стороны оборудования нет обмана.

vbr ★★★★
() автор топика

я и то и то пробовал, F2fs по глючности и потере данных сильно проигрывала ext4.

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

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

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

Это ответ из 2011. 12 лет уже прошло, может чего изменилось.

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

Будем считать, что fsync не врёт, иначе это обсуждение из разряда чем форматировать /dev/null.

vbr ★★★★
() автор топика

чтобы не было порчи ФС при выключении питания.

Так не бывает. Никакая ФС в этом деле не поможет.

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

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

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

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

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

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

андройд

К логопеду.

там только FAT32/Ext3/Ext4

Не было там никогда extfs без рута.

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

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

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

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

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

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

Тем что что то тупой флеш что то тупой флеш. Для флеша без алгоритма равномерно износа нужны варианты logfs. Иначе после 1000 ого ctrl s у тебя образуется дырка.

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

в случае с sdcard не тупой флеш, а с микроконтроллером, а вот в случае с raw nand там действительно тупой флешь с шиной адресации.

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

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

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

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

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

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

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

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

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.