Как мне сделать, чтобы usb-флешки никогда не использовали кеш записи?

То есть я хочу иметь возможность вынимать их в любое время, не беспокоясь о том, будут ли потеряны данные. Я хочу, чтобы каждая запись была написана немедленно.

1
задан 30 September 2011 в 03:16

2 ответа

Установите их с опцией смыва. Это делается по умолчанию в Ubuntu.

0
ответ дан 30 September 2011 в 03:16

Опция 'flush' является опцией среднего уровня. Это повысит ваши шансы по сравнению с монтированием по умолчанию, однако кеширование все еще остается. AFAIK, он предназначен для обеспечения баланса для флешек.

Если вы хотите пойти еще дальше, используйте параметры «синхронизация» и «dirsync». У них есть недостатки, хотя. Вы можете сильно пострадать от производительности, поскольку флэш-накопители должны стереть неиспользуемый блок, а затем записать весь этот блок с данными и изменениями старого блока. Этот размер стираемого блока зависит от аппаратного обеспечения и часто намного больше, чем размер блока ввода-вывода. Вы можете оказаться в ситуации, когда накопитель должен записать 4 МБ, чтобы заменить один бит.

Не только синхронная производительность резервуара, но и огромное увеличение циклов стирания / записи блоков значительно сократит срок службы вашего накопителя.

Ничто не защитит вас от потери данных в файле, который был открыт приложением и находится в несогласованном состоянии, т.е. не закрыт, когда вы извлекаете диск.

Наконец, диск может иметь аппаратный кэш. Установка его для сквозной записи также может зависеть от аппаратного обеспечения. Я не удивлюсь, если значительное количество USB-флешек будет иметь кеш и даже не сообщать об этом в Linux.

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

Приветствия, Джон

0
ответ дан 30 September 2011 в 03:16

Другие вопросы по тегам:

Похожие вопросы: