
Я пытаюсь это понять. Допустим, у меня есть SSD на 256 ГБ, 180 ГБ из которых уже заняты постоянными файлами (ОС, установленные программы и т. д.). Оставшиеся 70 ГБ или около того создают и удаляют новые файлы. Не означает ли это, что чипы NAND этой части изнашиваются раньше, чем та область, файлы которой не изменяются? Или SSD перемещает и неизменяемые файлы с течением времени?
решение1
SSD-накопитель перемещает неизменяемые файлы с течением времени.
Прежде всего, у вас есть виртуальные сектора, которые открыты для операционной системы (не путать с кластерами файловой системы), а затем у вас есть физические ячейки в чипах флэш-памяти. Когда контроллер флэш-памяти выделяет/освобождает ячейки, он соответствующим образом перераспределяет виртуальные сектора, чтобы они были прозрачны для операционной системы (одни и те же виртуальные сектора могут появляться в разных местах в ячейках флэш-памяти в разное время).
Во-вторых, SSD на самом деле имеют запасные ячейки, которые не могут использоваться как свободное пространство. Они специально отведены для целей выравнивания износа, смягчения усиления записи и перераспределения мертвых ячеек. Таким образом, даже если на вашем SSD нет ни одного байта свободного места, у флэш-контроллера все еще есть место для выполнения выравнивания износа.
Допустим, у вас есть SSD на 500 ГБ, который заполнен на 100%. Теперь предположим, что 499 ГБ этих данных — это файл, который никогда не меняется, но у вас есть файл на 1 ГБ, который постоянно меняется. Если вы удалите этот файл на 1 ГБ, а затем скопируете другой файл на 1 ГБ, контроллер флэш-памяти в этот момент выполнит одно из двух действий:
- Все или часть новых данных будут размещены в резервных ячейках, а старые ячейки останутся в обрезанном состоянии.
- Ячейки объемом 1 ГБ из 499 ГБ данных, которые никогда не меняются, будут скопированы в другие доступные ячейки. Затем старые ячейки будут стерты и перезаписаны новыми данными.
В обоих случаях виртуальные сектора, представленные операционной системе, никогда не меняются, поэтому ОС не знает, что на самом деле происходит. Флэш-контроллер хранит таблицу соответствия ячеек памяти виртуальным секторам.
Цель алгоритма выравнивания износа в жизни — попытаться равномерно задействовать все ячейки, даже если для этого требуется перемещать данные. Этот процесс замедляет работу диска и (по иронии судьбы) вызывает дополнительный износ ячеек флэш-памяти. Это называетсязаписать усилениеи это существенная проблема с SSD. Фактические алгоритмы выравнивания износа, используемые SSD, и способы, которыми они смягчают усиление записи, являются коммерческой тайной производителей SSD, поэтому это всего лишь общее описание процесса.