Я сомневаюсь, что выделение, если вы расширяете файл нулями, файл будет оставаться в том же секторе. Только удаление и перезапись должно вызвать перезапись в другую позицию.
Может быть, я получаю это неправильно, но это была бы моя мысль.
Вы получаете это неправильно. На уровне операционной системы было бы в том же логическом секторе, но за кулисами SSD постоянно реорганизовать данные. Это происходит в каждом SSD и связано с двумя ограничениями флэш-памяти. Во-первых, вы не можете обновить блок. Вы должны удалить его и записать его снова. Вы также не можете обновить часть блока, изменяя один бит требует извлечения RESTOR данных в блоке, стирая весь блок, а затем записывая новый блок. Стирания часть цикла чтения-записи стирания очень длинный (условно говоря). Выполнение обновления встроенного бы парализовать работу (мы говорим что-то вроде 90% + снижения пропускной способности). Второе ограничение вспышки она изнашивается и, если обновления были написаны в том же сектор, что износ будет некоторыми блоки преждевременно.
SSD-накопители преодолеть первое ограничение, никогда не обновляемых блоков. Так что если у вас есть данные в блоке А и обновлять его, что произойдет, если SSD будет найти свободный обнулить блок (скажем, B) написать обновленную версию для B, а затем пометить как неиспользуемый. Если вы делаете блок, блок анализом вашего SSD сейчас существует огромное количество блоков, содержащих «старая» копию ваших данных. Только тогда, когда диск не используется твердотельный накопитель будет вернуться назад и как сборщик мусора сбросить эти блоки на все ноль и помечать их как доступный для чтения. Поскольку SSD не может выполнить стирание менее чем полный блок данных из одного файла может двигаться, даже если он никогда не обновляется, так как один бит данных другого файла в том же самом блоке написано.
SSD преодолеть второе ограничение, отслеживая, как часто конкретный блок был записан в и пытается сбалансировать количество записей в блоке таким образом, что ни один блок не написано значительно чаще, чем другой. После того, как лимит записи для ячейки был превышен клетка не будет надежно принимать изменения, так что диск будет пометить его как постоянно мертв. Это означает, что емкость будет уменьшаться сверхурочно, но за счет выравнивания и писать поверх резервирования (256 Гб диск на самом деле >256GB сырья вспышки) это скрыто от пользователя.
SSD (и в меньшей степени, даже современные H) не работает, как первокурсник колледж учебник модель, как работает хранение. Все это скрыто от операционной системы, насколько OS обеспокоен данные никогда не двигается и он всегда может получить сохраненные данные, используя один и тот же логический сектор. SSD поддерживает справочную таблицу, чтобы сохранить логический сектор (местоположение известно ОС) в синхронизации с текущей (и постоянно меняющейся) необработанного место в флэш-банков. На самом деле даже это объяснение лишь упрощенная абстракция. На самом деле ситуация еще сложнее, так как производительность огромный драйвер продаж SSD. Для того, чтобы получить более высокую производительность из данной сырого флэша спецификации современного SSD-накопители все чаще используют более мощные контроллеры, которые выполняют все виды «за сцену» оптимизации, как писать параллельно на несколько чипов, написание нескольких копий (когда свободное место) , перемещение данных, чтобы сохранить флэш банки баланс и, вероятно, намного больше.
Вы действительно должны рассмотреть SSD черный ящик. Вы (ОС) может запросить для хранения данных, извлечения ранее сохраненных данных, а не уведомлять черный ящик, когда он больше не нужно хранить ранее сохраненные данные. Кроме того, вы должны считать, вы понятия не имеете, что на самом деле написано на SSD в любой момент времени. Если это сделало вы параноик наиболее SSD включают в себя инструменты для делать низкий уровень стирания (записать все блоки на все нули).