В современных электронных устройствах используются флэш-накопители, такие как Твердотельные накопители, USB-накопители, флэш-накопители и SD-карты стали основными носителями информации. Срок службы и надежность этих устройств зависят от основной технологии, лежащей в их основе, - выравнивания износа. Это низкоуровневая технология управления, применяемая в флеш-памяти NAND. Ее основная задача - равномерно распределять операции стирания/записи (P/E) между всеми блоками памяти (флэш-блоками) устройства, предотвращая преждевременный износ некоторых блоков памяти из-за частого стирания и записи, тем самым максимально увеличивая общий срок службы. продолжительность жизни устройства хранения данных. Выравнивание износа выполняется микросхемой контроллера устройства хранения, и пользователи не могут напрямую вмешиваться или настраивать его вручную. Эта технология является одной из основных функций Flash Translation Layer и служит основополагающим залогом надежной работы всех современных флеш-накопителей.
Необходимость выравнивания износа
Флэш-память NAND имеет критическое физическое ограничение: каждый блок памяти имеет ограниченное количество циклов стирания/записи. По достижении номинального количества циклов в блоке памяти возникают такие проблемы, как повреждение оксидного слоя и утечка заряда, что препятствует нормальной записи и чтению данных и в конечном итоге приводит к полному отказу. Различные типы флэш-памяти NAND имеют значительно отличающийся срок службы при стирании/записи. У SLC (Single-Level Cell) - от 50 000 до 100 000 циклов, у MLC (Multi-Level Cell) - от 3 000 до 10 000 циклов, у TLC (Triple-Level Cell) - от 1000 до 3000 циклов, а у QLC (Quad-Level Cell) - всего 200-1000 циклов. По мере продвижения технологии NAND к более высокой плотности, QLC постепенно становится основной на потребительском рынке, а более низкое количество циклов P/E делает технологию выравнивания износа еще более важной.
Без выравнивания износа операционные системы склонны к многократному чтению и записи по одним и тем же логическим адресам. Например, "горячие" данные, такие как области журналов файловой системы и часто обновляемые системные файлы, приводят к частому стиранию и записи соответствующих физических блоков. В то же время блоки, хранящие статичные данные, такие как фотографии, документы и системные файлы, стираются и записываются редко. Такой неравномерный износ быстро исчерпает срок службы нескольких "горячих" блоков и приведет к преждевременному выходу из строя всего устройства хранения данных.
Основной принцип выравнивания износа
Основная логика выравнивания износа заключается в “динамическом распределении адресов записи”, и ее работа контролируется контроллером устройства хранения данных. В частности, Flash Translation Layer (FTL) ведет таблицу сопоставления логических адресов с физическими адресами. На сайте контроллер отслеживает количество стираний каждого блока флэш-памяти в реальном времени, создавая “запись износа” для каждого блока и точно регистрируя его использованные циклы P/E. Когда необходимо записать новые данные, контроллер не перезаписывает исходный физический адрес напрямую. Вместо этого он сначала выбирает в качестве цели записи блок флэш-памяти с наименьшим количеством циклов стирания и наименьшим уровнем износа в “записи износа”. Затем обновляется таблица сопоставления в FTL, указывая исходный логический адрес на этот новый физический адрес. В то же время данные в исходном физическом блоке помечаются как недействительные и ожидают последующей сборки мусора для их очистки. Благодаря этой стратегии динамического распределения нагрузка при записи равномерно распределяется по всем блокам, что позволяет избежать локального износа.
Основные типы алгоритмов выравнивания износа
В зависимости от масштаба балансировки и логики реализации, выравнивание износа в основном делится на три типа алгоритмов: динамическое выравнивание износа, статическое выравнивание износа и глобальное выравнивание износа. Различные алгоритмы имеют существенные различия в применимых сценариях, производительности и эффективности балансировки.
Динамическое выравнивание износа
Динамическое выравнивание износа - самый базовый и широко используемый алгоритм. Его основная особенность заключается в том, что он “заботится только о динамических данных”. При повседневном использовании динамические данные (такие как временные файлы системы, кэш браузера, журналы реального времени и т. д.) обновляются очень часто. Без балансировки они быстро изнашивают соответствующие блоки флэш-памяти. Система динамического выравнивания износа отслеживает путь записи динамических данных, постоянно распределяя новые операции записи на свободные блоки с меньшим уровнем износа, а старые блоки данных помечаются как недействительные и ждут, пока механизм сбора мусора очистит их.
Преимущество этого алгоритма в том, что он не требует миграции статических данных, имеет низкий коэффициент усиления записи и оказывает минимальное влияние на производительность устройства. Поэтому он широко используется в чувствительных к стоимости потребительских устройствах, таких как SSD начального уровня и USB-накопители. Однако его ограничение очевидно: для статических данных, которые не обновляются в течение длительного времени, хранящие их блоки флэш-памяти остаются в малоизношенном состоянии и не могут участвовать в балансировке. Это приводит к неравномерному общему износу устройства, и в итоге некоторые блоки могут преждевременно выйти из строя, в то время как у блоков статических данных еще остается большой ресурс.
Выравнивание статического износа
Static wear leveling - это оптимизация, основанная на динамическом выравнивании износа и решающая проблему простаивающих блоков статических данных. Этот алгоритм периодически сканирует все устройство хранения, подсчитывает уровень износа всех блоков флэш-памяти и, обнаружив, что уровень износа блоков статических данных значительно ниже, чем других блоков, активно перемещает статические данные в блоки с более высоким уровнем износа, освобождая блоки с низким уровнем износа для приема динамических записей данных.
Основное преимущество статического выравнивания износа заключается в том, что оно позволяет добиться равномерного износа всех блоков флэш-памяти устройства, максимально увеличивая номинальный срок службы устройства. Это особенно подходит для сценариев, в которых данные имеют длительный жизненный цикл и высокие требования к надежности. Однако процесс миграции данных генерирует дополнительные операции записи, что увеличивает коэффициент усиления записи и оказывает незначительное влияние на производительность устройства. Кроме того, для этого требуется более сложная логика контроллера. В настоящее время, твердотельные накопители для предприятий В промышленных встраиваемых устройствах в основном используются статические алгоритмы выравнивания износа, а в некоторых потребительских SSD среднего и высокого класса - гибридный режим “динамический + статический”.”
Глобальное выравнивание износа
Глобальное выравнивание износа - это усовершенствованный алгоритм, разработанный для многочиповых устройств хранения данных. Его диапазон балансировки больше не ограничивается блоками флэш-памяти в пределах одного чипа NAND, а охватывает все чипы NAND в устройстве. В твердотельных накопителях большой емкости, как правило, интегрировано несколько микросхем NAND. Если балансировка выполняется только в пределах одного чипа, некоторые микросхемы могут износиться, а другие останутся незадействованными, что приведет к преждевременному выходу из строя всего устройства.
Глобальное выравнивание износа использует контроллер для равномерного управления блоками флэш-памяти всех чипов, отслеживает общий уровень износа каждого чипа в режиме реального времени и равномерно распределяет операции записи по малоизнашиваемым блокам на разных чипах, предотвращая преждевременный износ одного чипа из-за чрезмерного использования. Этот алгоритм обеспечивает наилучший эффект балансировки и позволяет значительно увеличить срок службы и надежность устройств большой емкости. Однако логика его реализации сложна, требует высокой вычислительной мощности контроллера и относительно высокой стоимости. В основном он используется в высокопроизводительных сценариях, таких как центры обработки данных и корпоративные твердотельные накопители большой емкости.
| Тип | Покрытие | Работает со статическими данными? | Сложность алгоритма | Типовые применения |
|---|---|---|---|---|
| Динамическое выравнивание износа | Только свободные блоки | Нет | Низкий | Флэш-накопители USB, твердотельные накопители начального уровня |
| Выравнивание статического износа | Все блоки на диске | Да | От среднего до высокого | Твердотельные накопители для предприятий, потребительские твердотельные накопители высокого класса |
| Глобальное выравнивание износа | Все микросхемы флэш-памяти на диске | Да | Высокий | Твердотельные накопители большой емкости для предприятий |
Выравнивание износа и сопутствующие технологии
Выравнивание износа не существует само по себе. Оно тесно связано с такими технологиями, как TRIM, сбор мусора, В устройствах хранения данных на основе флэш-памяти используются такие технологии, как избыточное резервирование, усиление записи. Их совместная работа обеспечивает долговечность, производительность и надежность устройства.
TRIM. Основная функция TRIM - сообщить SSD о том, какие данные были удалены операционной системой. После этого блоки флэш-памяти, содержащие эти данные, можно пометить как недействительные, чтобы механизму сборки мусора было проще их своевременно очистить. TRIM предоставляет более точную информацию о состоянии блока для выравнивания износа, позволяя контроллеру точнее выбирать для записи блоки с низким уровнем износа, избегая записи новых данных в блоки, которые уже недействительны, но еще не очищены. Это повышает эффективность выравнивания износа и снижает накладные расходы на сборку мусора, что еще больше снижает усиление записи.
Уборка мусора. Основная функция сборки мусора заключается в очистке недействительных данных в блоках флэш-памяти, освобождении свободного пространства и предоставлении пригодных блоков для записи новых данных. Система выравнивания износа отвечает за распределение новых операций записи на свободные блоки с низким уровнем износа, обеспечивая разумное использование пространства, освобожденного в результате сбора мусора, и предотвращая концентрацию свободных блоков в областях с высоким уровнем износа.
Избыточное предоставление ресурсов. Под избыточным резервированием понимается резервная емкость устройства хранения данных, не доступная пользователю. Эта емкость в основном используется для выравнивания износа, сбора мусора и управления плохими блоками. Overprovisioning обеспечивает достаточное рабочее пространство для выравнивания износа, предоставляя контроллеру достаточно свободных блоков для миграции данных и распределения записи, что улучшает эффект балансировки. В то же время система выравнивания износа полностью использует возможности избыточного резервирования, чтобы предотвратить нерациональное использование зарезервированного пространства. Сочетание этих двух методов значительно увеличивает срок службы и производительность устройства.
Усиление записи. Усиление записи - это отношение фактического объема физических данных, записанных на устройство хранения, к объему данных, запрошенных пользователем для записи. Чем выше коэффициент усиления записи, тем быстрее изнашиваются блоки флэш-памяти. Оптимизация выравнивания износа может эффективно уменьшить усиление записи за счет разумного распределения адресов записи, сокращения ненужной миграции данных и, таким образом, уменьшения дополнительных физических операций записи. Превосходный алгоритм выравнивания износа находит оптимальный баланс между балансирующим эффектом и усилением записи.
Роль выравнивания износа
Технология выравнивания износа, лежащая в основе флеш-накопителей, играет важную роль на протяжении всего жизненного цикла устройства. Она не только продлевает срок службы устройства, но и обеспечивает стабильную работу и сохранность данных.
- Увеличение срока службы устройств хранения данных. Это самая главная ценность выравнивания износа. Срок службы флэш-носителей при стирании/записи ограничен физически, но на практике нагрузка при записи обычно концентрируется на небольшом количестве логических адресов. Система выравнивания износа распределяет операции записи по всем блокам диска, делая скорость износа каждого блока более равномерной, что позволяет максимально эффективно использовать общую емкость стирания/записи флеш-чипа. Без выравнивания износа срок службы устройства определяется блоками, которые изнашиваются быстрее всего. При выравнивании износа срок службы устройства определяется средним уровнем износа всех блоков. Эта разница может означать разницу в несколько раз или даже в десятки раз при реальном использовании.
- Повышение надежности хранения данных. Когда некоторые блоки становятся плохими из-за чрезмерного износа, данные, хранящиеся на этих блоках, подвергаются риску потери. Выравнивание износа снижает вероятность повреждения данных из-за выхода блока из строя, предотвращая преждевременное достижение локальными блоками предельного срока службы. В то же время выравнивание износа обычно работает вместе с механизмами управления плохими блоками, активно перемещая достоверные данные в другие здоровые блоки, когда срок службы блока подходит к концу, что дополнительно обеспечивает целостность данных и возможность их восстановления.
- Поддержание стабильной работы устройства. Без выравнивания износа устройство сначала работает нормально, но по мере старения горячих блоков контроллер тратит больше времени на выполнение таких операций, как повторные попытки записи, исправление ошибок и замена плохих блоков, что приводит к заметному снижению производительности. Система выравнивания износа синхронизирует процесс старения всех блоков, что позволяет избежать влияния локального снижения производительности на общее качество работы пользователя. Пользователи не испытывают резких перепадов производительности, а работа устройства остается стабильной и предсказуемой.
Ограничения при выравнивании износа
Хотя технология выравнивания износа позволяет эффективно продлить срок службы флеш-памяти, она не идеальна и имеет ряд присущих ей ограничений.
- При выравнивании износа появляются дополнительные операции записи, особенно процесс миграции данных при статическом выравнивании износа. Эти дополнительные операции записи увеличивают общий физический объем записи. Отношение этого объема к объему логической записи, запрашиваемому хостом, называется коэффициентом усиления записи. Коэффициент усиления записи обычно больше единицы, что означает, что фактический срок службы флэш-памяти превышает теоретическое значение. Например, если коэффициент усиления записи равен 1,5, то на каждый 1 ГБ данных, записанных хостом, флэш-память фактически выдерживает 1,5 ГБ записи.
- Алгоритм выравнивания износа потребляет некоторые вычислительные ресурсы контроллера и ресурсы памяти. Такие операции, как ведение таблицы сопоставления, хранение и сравнение данных об износе и планирование миграции данных, занимают вычислительные мощности контроллера, что незначительно влияет на мгновенную производительность записи. На чипах контроллеров низкого класса сложные алгоритмы выравнивания износа могут стать узким местом в производительности.
- Эффективность выравнивания износа зависит от наличия достаточного резервного пространства. Твердотельные накопители обычно резервируют часть емкости, которая не доступна пользователю. Это зарезервированное пространство используется для таких операций управления, как выравнивание износа, сборка мусора и замена поврежденных блоков. Если зарезервированное пространство слишком мало, гибкость планирования выравнивания износа ограничивается, что приводит к увеличению разницы в износе. Некоторые пользователи, которые сами заполняют всю доступную емкость, значительно снижают эффективность выравнивания износа.
Выравнивание износа - это фундаментальная технология поддержки, обеспечивающая широкомасштабное коммерческое применение флеш-накопителей. От потребительских USB-накопителей до корпоративных SSD, от встроенных накопителей в смартфонах до массивов NVMe в центрах обработки данных - алгоритмы выравнивания износа работают непрерывно в фоновом режиме, обеспечивая полное использование ограниченного срока службы флэш-носителей при стирании/записи. Без этой технологии флэш-память NAND не смогла бы справиться с такими сценариями высокочастотной записи, как работа операционных систем и обработка транзакций в базах данных, из-за быстрого локального износа, и твердотельные накопители не заменили бы традиционные жесткие диски в качестве основного решения для хранения данных.





