История изменений
Исправление vbr, (текущая версия) :
Не, если бы это было так, то максимальная скорость достигалась бы блоками по 512 или 4К. А по факту там обычно что то 32-64-128К и скорее всего это и есть чанки флеша
Если ты про dd
, то там размер блока влияет на число системных вызовов. Чем меньше системных вызовов, тем быстрей программа работает. К гранулярности флеша это прямого отношения не имеет.
Ещё раз повторюсь. У флеша есть сейчас два размера блока. Первый размер страницы это 4096. Некоторые SSD вроде моего прикидываются, будто у них 512, но вряд ли это правда (а может и правда, откуда я знаю). Говорят, что у последних SSD он достигает 16 KiB. Это размер, по которому работает FTL (Flash Translation Layer). В том числе то, о чём ты пишешь, про ремап блока. Второй размер это erase block size. Он у современных SSD измеряется в десятках MiB, у старых измерялся в десятках и сотнях KiB. Это то, какие блоки можно очищать. Когда ты что-то пишешь, то флеш всегда пишет данные в новую страницу (4096-байтовую), а старую в FTL помечает, как неиспользуемую. И постоянно ведёт процесс дефрагментации, группируя неиспользуемые страницы в блоки и потом очищая эти блоки.
При выравнивании чего-либо по мебибайтной границе ты руководствуешься именно древними erase block size, которые лет 10 назад измерялись в десятках и сотнях кибитайтов. Сегодня это уже не совсем так, и, повторюсь, это никак не влияет на производительность. FTL всё равно выделяет страницы откуда хочет, то, что у тебя в ОС и то, что на физическом флеше это две большие разницы.
Исправление vbr, :
Не, если бы это было так, то максимальная скорость достигалась бы блоками по 512 или 4К. А по факту там обычно что то 32-64-128К и скорее всего это и есть чанки флеша
Если ты про dd
, то там размер блока влияет на число системных вызовов. Чем меньше системных вызовов, тем быстрей программа работает. К гранулярности флеша это прямого отношения не имеет.
Ещё раз повторюсь. У флеша есть сейчас два размера блока. Первый размер страницы это 4096. Некоторые SSD вроде моего прикидываются, будто у них 512, но вряд ли это правда (а может и правда, откуда я знаю). Говорят, что у последних SSD он достигает 16 KiB. Это размер, по которому работает FTL (Flash Translation Layer). В том числе то, о чём ты пишешь, про ремап блока. Второй размер это erase block size. Он у современных SSD измеряется в десятках MiB. Это то, какие блоки можно очищать. Когда ты что-то пишешь, то флеш всегда пишет данные в новую страницу (4096-байтовую), а старую в FTL помечает, как неиспользуемую. И постоянно ведёт процесс дефрагментации, группируя неиспользуемые страницы в блоки и потом очищая эти блоки.
При выравнивании чего-либо по мебибайтной границе ты руководствуешься именно древними erase block size, которые лет 10 назад измерялись в десятках и сотнях кибитайтов. Сегодня это уже не совсем так, и, повторюсь, это никак не влияет на производительность. FTL всё равно выделяет страницы откуда хочет, то, что у тебя в ОС и то, что на физическом флеше это две большие разницы.
Исходная версия vbr, :
Не, если бы это было так, то максимальная скорость достигалась бы блоками по 512 или 4К. А по факту там обычно что то 32-64-128К и скорее всего это и есть чанки флеша
Если ты про dd
, то там размер блока влияет на число системных вызовов. Чем меньше системных вызовов, тем быстрей программа работает. К гранулярности флеша это прямого отношения не имеет.
Ещё раз повторюсь. У флеша есть сейчас два размера блока. Первый размер это 4096. Некоторые SSD вроде моего прикидываются, будто у них 512, но вряд ли это правда (а может и правда, откуда я знаю). Это размер, по которому работает FTL (Flash Translation Layer). В том числе то, о чём ты пишешь, про ремап блока. Второй размер это erase block size. Он у современных SSD измеряется в десятках MiB. Это то, какие блоки можно очищать. Когда ты что-то пишешь, то флеш всегда пишет данные в новую страницу (4096-байтовую), а старую в FTL помечает, как неиспользуемую. И постоянно ведёт процесс дефрагментации, группируя неиспользуемые страницы в блоки и потом очищая эти блоки.
При выравнивании чего-либо по мебибайтной границе ты руководствуешься именно древними erase block size, которые лет 10 назад измерялись в десятках и сотнях кибитайтов. Сегодня это уже не совсем так, и, повторюсь, это никак не влияет на производительность. FTL всё равно выделяет страницы откуда хочет, то, что у тебя в ОС и то, что на физическом флеше это две большие разницы.