Япoнскaя исслeдoвaтeльскaя группa, вoзглaвляeмaя прoфeссoрoм Кeнoм Тэкeучи (Ken Takeuchi) из унивeрситeтa Чуo (Chuo University), прeдстaвилa нa кoнфeрeнции 2017 Symposia on VLSI Technology and Circuits, кoтoрaя пoсвящeнa пoлупрoвoдникoвым технологиям и которая проходила недавно в Киото, новый метод, который комбинирует технологии сжатия данных и повышения надежности хранения информации. Этот метод, реализованный в виде специализированного аппаратно-программного контроллера для твердотельных SSD-дисков, позволяет увеличит их надежность и время хранения информации в 2900 раз.
Одна из главных проблем энергонезависимой памяти NAND, используемой в твердотельных дисках и других высокоскоростных накопителях данных, заключается в ограниченном количестве циклов стирания/записи. Для увеличения этого ресурса обычно используют методы сжатия данных, реализованные внутри контроллера диска на аппаратном уровне. Одним из распространенных методов сжатия является известный алгоритм Хаффмана, который разбивает все данные, преобразуя часто появляющиеся последовательности в короткие цепочки, а не очень часто повторяющиеся последовательности — в более длинные цепочки.
Японские исследователи предложили использовать немного видоизмененный алгоритм Хаффмана, что позволило одновременно поднять степень сжатия данных и увеличить надежность их хранения. Часто повторяющиеся короткие цепочки в новом алгоритме пишутся в более надежную область памяти, а более длинные цепочки — в менее надежную память.
Понятие более надежной области памяти подразумевает в данном случае использование всего шести или семи значений из восьми возможных значений, которые могут храниться в одной трехбитовой ячейке (triple-level cell, TLC). Конечно, такой подход уменьшает эффективный объем памяти на 6.9 и 16 процентов соответственно. Но с другой стороны, такие ячейки при своей работе допускают достаточно широкий разброс пороговых напряжений и, как следствие, обеспечивают большую надежность хранения информации.
Проведя испытания предложенного ими метода, исследователи выяснили, что метод хранения шести значений данных в одной TLC-ячейке уменьшает вероятность возникновения ошибки во время хранения данных на 92 процента. А это, в свою очередь, означает, что время надежного хранения информации увеличивается в 2900 раз.