The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Опубликована платформа SEF для программно управляемых Flash-накопителей"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Опубликована платформа SEF для программно управляемых Flash-..." +/
Сообщение от Аноним (71), 13-Дек-23, 19:22 
> Если не угадать с выравниванием на страницы, скорости записи капец и протирание в пару раз сильнее - потому что теперь запись 1 сектора будет не 1 страница, а чтение-модификация-перезапись двух, на границе сектора.

Для флешек/SD это очень важно, для первых SSD тоже была важно.

Но думаю так - если флешка заявила сектор 512 байт, то самое главное в прошивке учтено: последовательная запись нескольких секторов приведёт к перезаписи одной страницы. Тогда ресурс снизится ну раза в 2 (вместо одного блока будет перезаписано 2; fat-таблица в любом случае с примерно одинаковой интесивностью перезапиывается, а размер кластера в FAT большой.

ИМХО, для многих современных SSD-контроллеров ВСЕ (!!!) данные проходит через remap  (после записи часто переносится/"уплотняется", потом ещё стирание явно идёт и т.д.), поэтому выравнивание по границам секторов уже бессмысленно, данные никогда не попадут на диск как тебе хотелось ;)


> Когда контроллер будет RMW на копии фата гонять, питание слетит, это записаться не успеет

На флеш (raw flash) есть очень надёжный механизм коммитов. Всегда можно побитово перезаписать 1->0, 1->1 и даже 0->0. Нельзя только перезаписать 0->1, тут придётся сначала вычитать страницу, потом её стереть, и только потом на место единичек записать нужные данные ;) Это свойство как раз и используют при реализации ремапов и оно глючит ну ооочень редко.
Если производитель в прошивке накосячил, или страничка для транзакций померла как раз во время ремапа. На практике, даже начинающие программисты для микроконтроллеров очень легко делают надёжный код, используя это свойство флеша. Глюканёт такой код только когда помрёт страница флеша.


> В вендорских прогах есть реформат, с перепроверкой блоков и выбором сколько зарезервировать.

Там иногда 1%, 3%, ну бывает 5% и 10% максимум (не у всех). А хотелось бы больше.
При использовании TRIM (или при использовании FS с закольцовыванием как в f2fs/nil2fs) ресурс износа примерно выравнивается по всему диску. Конечно может отдельный сектор умереть и на такой случай ремап 3% - ну прям офигенно много.

Но по факту страницы на флешках изношены неравномерно, т.к. на диске ФС FAT без TRIM и очень быстро укатываются конкретные "горячие" области диска (например, FAT-таблица). Может что-то там и не выравнено по границам erase-block, но это уже не так важно (ну в пару раз уменьшится ресурс, см выше).
По факту получается - flash ещё не "посыпалась" (у остальных секторов ресурс-то ещё огого), а у контроллера ремапы кончились! Они все ушли на резервирование "горячих областей" диска, а оставшаяся часть имеет ещё ого-го какой ресурс.


> Вообще-то нормальный контроллер ремап на резервные блоки умеет, как и wear leveling. Даже у SD карт худо-бедно.

Да, ремап работает! Если бы он не работал - флешки бы умирали за неделю ;) примерно как умирают флешки из китая (там видимо пара секторов всего для ремапа).
Но тут проблема - на флешках FAT и без TRIM :( Поэтому "выровнять" ресурс записи по всей флешке нереально!


Сейчас уже есть SSD, у которых начало диска (первые пару гигабайт) имеют прям очень большой ресурс записи. А остальная часть - ну сколько там выдал TLC/QLC...
Думаю, что у флешек подобный механизм используется очень давно как раз под FAT-таблицы. Но видимо не всегда помогает ;)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Опубликована платформа SEF для программно управляемых Flash-накопителей, opennews, 12-Дек-23, 23:41  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру