В эпоху механические жесткие диски, новые данные могут быть напрямую перезаписаны в исходное место хранения. Объем данных, который компьютер запрашивает для записи, точно соответствует объему, который физически записывается на жесткий диск. Твердотельные накопители (SSD) работают совершенно иначе, что приводит к возникновению уникального явления, называемого «амплификацией записи». Амплификация записи — это явление, характерное исключительно для SSD-накопителей. Проще говоря, когда компьютер отправляет запрос на запись на SSD, общий объем физических данных, записываемых на микросхемы NAND-флэш-памяти, превышает объем логических данных, запрашиваемых операционной системой, из-за физического ограничения Флэш-память NAND.
Представьте, что вы хотите отредактировать текст на странице тетради. Но вам не разрешается напрямую зачеркивать старые слова. Вы должны записывать новый текст на чистые страницы и помечать старые страницы как ненужные. Когда чистые страницы заканчиваются, вам приходится перестраивать всю тетрадь: переписывать весь еще полезный текст на чистые страницы в совершенно новой тетради, а затем стирать всю старую тетрадь, чтобы ее можно было использовать позже. Общее количество страниц, на которых вы в итоге пишете, намного превышает тот короткий текст, который вы изначально хотели отредактировать. Эта дополнительная работа по записи — простая метафора явления «усиления записи» (write amplification).
Основной показатель оценки
Ключевой показатель, характеризующий степень выраженности амплификации записи, называется Коэффициент усиления записи, сокращённо WAF. Он построен по чёткой и чётко определённой схеме:
WAF = Объем физических данных, записанных в флэш-память / Объем логических данных, запрошенных хостом
В идеальном случае флэш-память записывает ровно столько данных, сколько запрашивает хост, что соответствует значению WAF, равному 1. Однако физические особенности флэш-памяти NAND делают такое идеальное состояние практически недостижимым в реальных условиях эксплуатации. В нормальных условиях эксплуатации показатель WAF всегда превышает 1. Более высокий показатель WAF означает больше дополнительных внутренних накладных расходов на запись внутри SSD, что приводит к более быстрому износу флэш-памяти и снижению производительности.
Основные причины усиления записи
Амплификация записи не является конструктивным недостатком SSD-накопителей. Это неизбежный результат, обусловленный физическими ограничениями флэш-памяти NAND в сочетании с несколькими процессами автоматического обслуживания, выполняемыми внутри накопителя.
Физические ограничения флэш-памяти NAND
Это является основным условием возникновения эффекта «амплификации записи». В отличие от механических жестких дисков, поддерживающих перезапись на месте, флэш-память NAND имеет строгие правила чтения и записи: нельзя напрямую заменить старые данные в их исходном месте хранения. Перед записью новых данных необходимо полностью стереть блок. Ситуацию усугубляет несоответствие между наименьшей единицей записи и наименьшей единицей стирания. Наименьшей единицей записи данных является страница, аналогичная отдельному листу бумаги. Наименьшей единицей стирания данных является блок, который вмещает сотни страниц, как целая глава. Невозможно стереть только одну страницу; приходится стирать весь блок целиком.
В связи с этим ограничением SSD-накопители используют модель обновления «out-of-place». При редактировании существующего файла контроллер SSD-накопителя не изменяет страницу, содержащую старые данные. Вместо этого он записывает новые данные на пустые свободные страницы и помечает старые страницы как недействительные для последующей очистки. Именно эта невозможность перезаписать данные в их исходном месте является причиной всех дополнительных затрат на запись.
Перезапись данных в результате сборки мусора
Сбор мусора является основной причиной усиления записи. По мере сохранения данных количество свободных блоков на SSD сокращается. Контроллер автоматически запускает сборку мусора для освобождения доступного пространства для хранения. Полный рабочий процесс выглядит следующим образом: контроллер выбирает старый блок с высоким процентом недействительных страниц, считывает все сохранившиеся действительные данные из этого блока, копирует их в совершенно новые свободные блоки, а затем полностью стирает старый блок, чтобы вернуть его в состояние доступного пространства. Во время этого процесса копирования данных ни пользователь, ни операционная система не отправляют никаких новых команд на запись. Однако SSD должен автоматически перезаписывать исправные данные исключительно для освобождения места на диске. Именно эти внутренние записи составляют основную часть «амплификации записи».
Перенос данных в связи с выравниванием износа
Накладные расходы на метаданные для внутреннего управления
Помимо двух вышеупомянутых основных процессов, внутреннее управление SSD генерирует небольшие, но постоянные дополнительные операции записи. Таблица сопоставления FTL, преобразующая логические адреса в физические позиции флэш-памяти, журналы поврежденных блоков, в которых фиксируются неисправные области хранения, а также таблицы учета износа, отслеживающие циклы стирания для каждого блока, постоянно обновляются во время чтения и записи файлов. Каждое обновление расходует ресурсы записи в флэш-память. Дополнительные задачи, такие как запись кодов коррекции ошибок ECC наряду с пользовательскими данными и перемещение данных для замены поврежденных блоков, также увеличивают общее количество физических записей, выступая в качестве вторичных факторов, способствующих усилению записи.
Основные факторы, влияющие на WAF
Значение WAF не является фиксированным. Оно значительно колеблется в зависимости от технических характеристик SSD, привычек пользователя и настроек системы. Существует пять основных факторов, определяющих, насколько высоким или низким будет значение WAF.
Избыточное выделение ресурсов и свободное место на диске
Термин «избыточное выделение ресурсов» (OP) означает дополнительное пространство на флэш-памяти, зарезервированное производителями SSD, к которому пользователи не имеют доступа и которое они не могут использовать. Это пространство предназначено исключительно для выполнения внутренних задач, включая сборку мусора, выравнивание износа и замену поврежденных блоков. Более высокий коэффициент надлишкового резервирования предоставляет механизму очистки ненужных данных больше свободных блоков для выбора, уменьшает объем исправных данных, которые необходимо скопировать на каждый переработанный блок, и снижает показатель WAF.
Помимо заводской настройки резервирования, свободное пространство в пользовательских разделах обеспечивает такой же эффект оптимизации. При включенной команде TRIM наличие большего объема свободного пространства на SSD способствует более эффективной работе механизма очистки ненужных данных. Если SSD почти заполнен, свободных блоков становится мало. Контроллеру приходится копировать данные гораздо чаще, в результате чего показатель WAF резко возрастает.
Описание моделей рабочей нагрузки
Состояние команды TRIM
Типы флэш-памяти NAND
Стратегия кэширования SLC
Влияние эффекта «Write Amplification» на SSD-накопители
Амплификация записи создает скрытую фоновую нагрузку внутри SSD-накопителей, которая напрямую не отображается в панелях мониторинга скорости чтения/записи системы. Тем не менее, в долгосрочной перспективе она негативно сказывается на эксплуатационных характеристиках накопителя в трёх ключевых аспектах: сроке службы, рабочих характеристиках, а также энергопотреблении и тепловыделении.
Сокращение срока службы флэш-памяти. Это наиболее серьезное негативное последствие эффекта «амплификации записи». Каждый блок флэш-памяти имеет фиксированный максимальный предел циклов стирания, называемый циклами P/E, который является основным критерием для оценки Срок службы твердотельного накопителя. Усиление записи неоправданно увеличивает частоту стирания флэш-памяти и ускоряет износ.
Снижение производительности записи в реальных условиях. Массивное копирование фоновых данных в результате амплификации записи занимает пропускную способность каналов флэш-памяти по чтению/записи и отнимает аппаратные ресурсы у обычных пользовательских задач записи. Более высокий показатель WAF означает, что накопитель должен выполнять больше внутренних операций чтения и записи для обработки одного и того же запроса на запись от хоста. Это приводит к увеличению задержки записи и заметному снижению устойчивой скорости записи.
Повышенный расход энергии и риски перегрева. Каждая операция чтения, записи и стирания данных на флэш-памяти потребляет электроэнергию и выделяет тепло. Более высокий показатель WAF означает больше бесполезных операций внутреннего копирования внутри SSD, что приводит к увеличению общего энергопотребления. А в случае ноутбуков, планшетов и других портативных устройств более высокое энергопотребление сокращает время автономной работы.
Стоит ли обычным пользователям обращать внимание на WAF?
Только пользователям, интенсивно использующим запись данных, возможно, стоит уделять этому фактору особое внимание. К этой группе относятся люди, занимающиеся многочасовым монтажом видео в форматах 4K/8K, ежедневной массовой передачей файлов, круглосуточными задачами по загрузке данных, а также хранением данных в локальных базах данных. Их большой ежедневный объем записываемых данных приводит к тому, что эффект усиления записи заметно ускоряет износ флэш-памяти.





