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