Что такое «усиление записи»? Скрытые затраты на запись в SSD

В эпоху механические жесткие диски, новые данные могут быть напрямую перезаписаны в исходное место хранения. Объем данных, который компьютер запрашивает для записи, точно соответствует объему, который физически записывается на жесткий диск. Твердотельные накопители (SSD) работают совершенно иначе, что приводит к возникновению уникального явления, называемого «амплификацией записи». Амплификация записи — это явление, характерное исключительно для SSD-накопителей. Проще говоря, когда компьютер отправляет запрос на запись на SSD, общий объем физических данных, записываемых на микросхемы NAND-флэш-памяти, превышает объем логических данных, запрашиваемых операционной системой, из-за физического ограничения Флэш-память NAND.

Представьте, что вы хотите отредактировать текст на странице тетради. Но вам не разрешается напрямую зачеркивать старые слова. Вы должны записывать новый текст на чистые страницы и помечать старые страницы как ненужные. Когда чистые страницы заканчиваются, вам приходится перестраивать всю тетрадь: переписывать весь еще полезный текст на чистые страницы в совершенно новой тетради, а затем стирать всю старую тетрадь, чтобы ее можно было использовать позже. Общее количество страниц, на которых вы в итоге пишете, намного превышает тот короткий текст, который вы изначально хотели отредактировать. Эта дополнительная работа по записи — простая метафора явления «усиления записи» (write amplification).

Основной показатель оценки

Ключевой показатель, характеризующий степень выраженности амплификации записи, называется Коэффициент усиления записи, сокращённо WAF. Он построен по чёткой и чётко определённой схеме:

WAF = Объем физических данных, записанных в флэш-память / Объем логических данных, запрошенных хостом

В идеальном случае флэш-память записывает ровно столько данных, сколько запрашивает хост, что соответствует значению WAF, равному 1. Однако физические особенности флэш-памяти NAND делают такое идеальное состояние практически недостижимым в реальных условиях эксплуатации. В нормальных условиях эксплуатации показатель WAF всегда превышает 1. Более высокий показатель WAF означает больше дополнительных внутренних накладных расходов на запись внутри SSD, что приводит к более быстрому износу флэш-памяти и снижению производительности.

Основные причины усиления записи

Амплификация записи не является конструктивным недостатком SSD-накопителей. Это неизбежный результат, обусловленный физическими ограничениями флэш-памяти NAND в сочетании с несколькими процессами автоматического обслуживания, выполняемыми внутри накопителя.

oscoo 2b баннер 1400x475 1 Что такое «усиление записи»? Скрытые затраты на запись в SSD

Физические ограничения флэш-памяти NAND

Это является основным условием возникновения эффекта «амплификации записи». В отличие от механических жестких дисков, поддерживающих перезапись на месте, флэш-память NAND имеет строгие правила чтения и записи: нельзя напрямую заменить старые данные в их исходном месте хранения. Перед записью новых данных необходимо полностью стереть блок. Ситуацию усугубляет несоответствие между наименьшей единицей записи и наименьшей единицей стирания. Наименьшей единицей записи данных является страница, аналогичная отдельному листу бумаги. Наименьшей единицей стирания данных является блок, который вмещает сотни страниц, как целая глава. Невозможно стереть только одну страницу; приходится стирать весь блок целиком.

В связи с этим ограничением SSD-накопители используют модель обновления «out-of-place». При редактировании существующего файла контроллер SSD-накопителя не изменяет страницу, содержащую старые данные. Вместо этого он записывает новые данные на пустые свободные страницы и помечает старые страницы как недействительные для последующей очистки. Именно эта невозможность перезаписать данные в их исходном месте является причиной всех дополнительных затрат на запись.

Перезапись данных в результате сборки мусора

Сбор мусора является основной причиной усиления записи. По мере сохранения данных количество свободных блоков на SSD сокращается. Контроллер автоматически запускает сборку мусора для освобождения доступного пространства для хранения. Полный рабочий процесс выглядит следующим образом: контроллер выбирает старый блок с высоким процентом недействительных страниц, считывает все сохранившиеся действительные данные из этого блока, копирует их в совершенно новые свободные блоки, а затем полностью стирает старый блок, чтобы вернуть его в состояние доступного пространства. Во время этого процесса копирования данных ни пользователь, ни операционная система не отправляют никаких новых команд на запись. Однако SSD должен автоматически перезаписывать исправные данные исключительно для освобождения места на диске. Именно эти внутренние записи составляют основную часть «амплификации записи».

Перенос данных в связи с выравниванием износа

Механизм выравнивания износа Кроме того, это приводит к дополнительным затратам на запись. Каждый блок флэш-памяти имеет фиксированное максимальное количество циклов стирания и записи, известных как циклы P/E. Если небольшая группа блоков постоянно стирается и перезаписывается, их срок службы закончится преждевременно, что приведет к выходу из строя всего SSD-накопителя. Чтобы сбалансировать скорость износа по всем блокам флэш-памяти, контроллер в фоновом режиме выполняет выравнивание износа. Что касается «холодных» данных (файлов, которые долгое время не изменяются), контроллер перемещает их из блоков с небольшим количеством циклов стирания в блоки с большим количеством циклов стирания. Таким образом, блоки с большим оставшимся сроком службы сохраняются для «горячих» данных, которые часто перезаписываются. Такое перемещение данных, осуществляемое с целью выравнивания износа, увеличивает общее количество физических записей и повышает значение WAF.

Накладные расходы на метаданные для внутреннего управления

Помимо двух вышеупомянутых основных процессов, внутреннее управление SSD генерирует небольшие, но постоянные дополнительные операции записи. Таблица сопоставления FTL, преобразующая логические адреса в физические позиции флэш-памяти, журналы поврежденных блоков, в которых фиксируются неисправные области хранения, а также таблицы учета износа, отслеживающие циклы стирания для каждого блока, постоянно обновляются во время чтения и записи файлов. Каждое обновление расходует ресурсы записи в флэш-память. Дополнительные задачи, такие как запись кодов коррекции ошибок ECC наряду с пользовательскими данными и перемещение данных для замены поврежденных блоков, также увеличивают общее количество физических записей, выступая в качестве вторичных факторов, способствующих усилению записи.

Основные факторы, влияющие на WAF

Значение WAF не является фиксированным. Оно значительно колеблется в зависимости от технических характеристик SSD, привычек пользователя и настроек системы. Существует пять основных факторов, определяющих, насколько высоким или низким будет значение WAF.

Избыточное выделение ресурсов и свободное место на диске

Термин «избыточное выделение ресурсов» (OP) означает дополнительное пространство на флэш-памяти, зарезервированное производителями SSD, к которому пользователи не имеют доступа и которое они не могут использовать. Это пространство предназначено исключительно для выполнения внутренних задач, включая сборку мусора, выравнивание износа и замену поврежденных блоков. Более высокий коэффициент надлишкового резервирования предоставляет механизму очистки ненужных данных больше свободных блоков для выбора, уменьшает объем исправных данных, которые необходимо скопировать на каждый переработанный блок, и снижает показатель WAF.

Помимо заводской настройки резервирования, свободное пространство в пользовательских разделах обеспечивает такой же эффект оптимизации. При включенной команде TRIM наличие большего объема свободного пространства на SSD способствует более эффективной работе механизма очистки ненужных данных. Если SSD почти заполнен, свободных блоков становится мало. Контроллеру приходится копировать данные гораздо чаще, в результате чего показатель WAF резко возрастает.

Описание моделей рабочей нагрузки

Способ записи данных напрямую определяет базовый уровень коэффициента усиления записи (WAF). Последовательная запись обычно происходит при копировании больших видеофайлов или файлов образов дисков. Данные непрерывно заполняют блоки флэш-памяти, и при удалении целые блоки одновременно становятся недействительными. При очистке ненужных данных практически не требуется копировать действительные данные, поэтому WAF остается очень близким к 1. В то время как rСлучайная запись характерна для множества разрозненных небольших файлов, системных журналов и файлов кэша. Данные распределяются по разным блокам флэш-памяти, и в каждом блоке недействительными становятся лишь несколько страниц. При очистке ненужных данных приходится копировать большие объемы действительного содержимого, что резко повышает показатель WAF. К типичным сценариям случайной записи относятся кэш офисного программного обеспечения, временные файлы браузера и частые обновления приложений.

Состояние команды TRIM

TRIM — это специальная команда протокола передачи данных, разработанная для SSD-накопителей. Её основная функция заключается в обмене информацией о состоянии данных между операционной системой и твердотельным накопителем. Обычно при удалении файла в системе лишь помечается индекс файла как недействительный. При этом SSD не получает информации о том, что соответствующие данные больше не нужны. Контроллер не может отличить действительные страницы от недействительных и копирует все страницы во время очистки неиспользуемой памяти, что приводит к ненужным дополнительным записям. Когда функция TRIM включена, система сразу же после удаления файла сообщает SSD, по каким логическим адресам хранятся ненужные данные. Контроллер заранее помечает эти страницы как подлежащие очистке. Процесс очистки ненужных данных позволяет избежать копирования недействительных данных, значительно сокращает объем лишних записей и эффективно снижает показатель WAF.

Типы флэш-памяти NAND

Различные архитектуры флэш-чипов характеризуются разными базовыми уровнями коэффициента усиления записи (WAF). От SLC, MLC и TLC до QLC — плотность записи данных постоянно растет. Одновременно с этим увеличиваются размеры страниц и блоков флэш-памяти, что приводит к росту накладных затрат на копирование данных во время очистки памяти и постепенному повышению базового значения WAF. Чипы QLC и TLC высокой плотности имеют более короткий собственный ресурс циклов P/E, поэтому снижение срока службы, вызванное эффектом амплификации записи, становится более заметным. По сравнению со старыми 2D-нанд-памятями, 3D-нанд-память имеет блоки большего размера, но оптимизированная микропрограмма обеспечивает более эффективный контроль WAF. Более длительные циклы P/E также компенсируют часть негативного воздействия, обусловленного её физической структурой.

Стратегия кэширования SLC

Практически все популярные потребительские SSD-накопители с технологиями TLC и QLC используют механизм SLC-кеша. Часть флэш-чипов имитирует работу в быстром режиме SLC для обработки поступающих запросов на запись. Данные сначала быстро записываются в область SLC-кеша. Когда SSD-накопитель находится в режиме ожидания, контроллер перемещает кешированные данные в основные области хранения с технологиями TLC или QLC. Этот процесс двукратной записи одних и тех же данных во флэш-память приводит к увеличению показателя WAF. 

Влияние эффекта «Write Amplification» на SSD-накопители

Амплификация записи создает скрытую фоновую нагрузку внутри SSD-накопителей, которая напрямую не отображается в панелях мониторинга скорости чтения/записи системы. Тем не менее, в долгосрочной перспективе она негативно сказывается на эксплуатационных характеристиках накопителя в трёх ключевых аспектах: сроке службы, рабочих характеристиках, а также энергопотреблении и тепловыделении.

Сокращение срока службы флэш-памяти. Это наиболее серьезное негативное последствие эффекта «амплификации записи». Каждый блок флэш-памяти имеет фиксированный максимальный предел циклов стирания, называемый циклами P/E, который является основным критерием для оценки Срок службы твердотельного накопителя. Усиление записи неоправданно увеличивает частоту стирания флэш-памяти и ускоряет износ.

Снижение производительности записи в реальных условиях. Массивное копирование фоновых данных в результате амплификации записи занимает пропускную способность каналов флэш-памяти по чтению/записи и отнимает аппаратные ресурсы у обычных пользовательских задач записи. Более высокий показатель WAF означает, что накопитель должен выполнять больше внутренних операций чтения и записи для обработки одного и того же запроса на запись от хоста. Это приводит к увеличению задержки записи и заметному снижению устойчивой скорости записи.

Повышенный расход энергии и риски перегрева. Каждая операция чтения, записи и стирания данных на флэш-памяти потребляет электроэнергию и выделяет тепло. Более высокий показатель WAF означает больше бесполезных операций внутреннего копирования внутри SSD, что приводит к увеличению общего энергопотребления. А в случае ноутбуков, планшетов и других портативных устройств более высокое энергопотребление сокращает время автономной работы.

Стоит ли обычным пользователям обращать внимание на WAF?

На самом деле большинству обычных пользователей не нужно уделять особого внимания показателю WAF или часто его измерять. При неинтенсивном использовании, включая офисную работу, просмотр веб-страниц, потоковое воспроизведение видео и стандартные игры, ежедневный объем записи данных на SSD остается небольшим. Даже при колебаниях показателя WAF накопитель может бесперебойно работать в течение 5–10 лет в пределах номинального срока службы по количеству циклов стирания. Износить флэш-память при обычном использовании практически невозможно. Кроме того, контроллеры SSD нового поколения и отлаженная прошивка эффективно подавляют эффект усиления записи, поэтому пользователи практически не ощущают каких-либо негативных последствий в повседневной работе.

Только пользователям, интенсивно использующим запись данных, возможно, стоит уделять этому фактору особое внимание. К этой группе относятся люди, занимающиеся многочасовым монтажом видео в форматах 4K/8K, ежедневной массовой передачей файлов, круглосуточными задачами по загрузке данных, а также хранением данных в локальных базах данных. Их большой ежедневный объем записываемых данных приводит к тому, что эффект усиления записи заметно ускоряет износ флэш-памяти.

Эффект усиления записи является неизбежной неотъемлемой особенностью архитектуры SSD-накопителей. Его причина кроется в уникальных правилах чтения, стирания и записи, присущих флэш-памяти NAND, и представляет собой необходимые внутренние накладные расходы, связанные с перезаписью данных, выравниванием износа и освобождением места на накопителе. Обычным пользователям не стоит рассматривать амплификацию записи как скрытую угрозу для производительности диска. Достаточно выработать правильные привычки, такие как резервирование свободного места на диске и обеспечение нормальной работы команды TRIM, — и вы значительно снизите негативное влияние амплификации записи, при этом продолжая пользоваться высокой скоростью чтения и записи, которую обеспечивают SSD-накопители.
滚动至顶部

Свяжитесь с нами

Заполните форму ниже, и мы свяжемся с вами в ближайшее время.

Продукт контактной формы