Привет, Гиктаймс! В твердотельных накопителях Kingston E100 представлена дополнительная защита информации на диске в случае непредвиденных проблем с электроэнергией. Для поддержания целостности данных в случае неожиданного отключения питания накопитель обеспечивает перенос и сохранение данных из кэша в NAND память.



В новых Kingston KC310 эти возможности реализованы программно, но о них расскажу отдельно, а пока что напомню читателям как работает эта магия.


Во-первых, контроллер SandForce SF2582 максимально сокращает нахождение больших объемов данных в кэше диска. Частая запись минимизирует риск потери информации, которая хранится в буферной памяти, но не гарантирует стопроцентной защиты. Дополнительным фактором надежности становятся физические, а не программные элементы.



Поскольку Kingston E100 позиционируется как SSD для корпоративного использования, даже минимальное количество потерянных байт может быть критическим и важность даже мизерного времени простоя нельзя переоценить.
Раскрывать всех карт и схем работы я не волен, но приподнять завесу тайны могу.

Ничто не хранит электрическую энергию так хорошо, как конденсатор. Накопленного в нем заряда может хватить для множества вещей, начиная с детских школьных шалостей, заканчивая огромной мощности разрядами в бытовых (или даже боевых) лазерах. Этот же электрический элемент может дать несколько запасных мгновений для работы контроллера памяти, который успеет сбросить все данные из буфера на NAND память.



Наверняка многие знакомы с таким девайсом, как BBU для RAID контроллеров. Аналогичный принцип применяется и в твердотельных накопителях. Сразу после снижения уровня питания ниже установленной нормы контроллер автоматически начинает получать питание от резервных конденсаторов и в срочном порядке записывать все данные из кэша в постоянную память.



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

Что важно понимать? Чем производительнее становятся диски и чем больше становится объем хранимых данных, тем выше становится цена ошибки. Из-за простоя оборудования или потери файлов могут пострадать репутация, уйти важные клиенты и случиться огромные убытки. Дополнительные способы защиты от самых непредсказуемых и неожиданных ситуаций будут появляться постоянно, и компания Kingston будет внедрять их в свои продукты.

Спасибо за внимание, оставайтесь с нами на Geektimes.ru!

Наши предыдущие посты:

Комментарии (10)


  1. ploop
    22.05.2015 20:44
    +12

    Круто! Инновации так и плещут через край!
    А радиолюбители (и профессионалы), применяющие этот способ с контроллерами с момента их появления, плагиаторы?

    Без обид, но это то же самое, что рассказать про систему исключений в новом языке программирования… программистам :)


  1. amarao
    23.05.2015 08:18
    +1

    Я правильно понимаю, что не смотря на просьбу сбросить кеш в постоянное хранение, ssd эту просьбу игнорирует и хранит в оперативной памяти, защищённой батарейкой?

    Если бы просьбы ОС уважались, то потери данных не случилось бы, потому что ОС отсылает сообщение о необходимости скинуть кеш в важные для файловой системы моменты времени. Все приличные приложения (СУБД и т.д.) этими возможностями агрессивно пользуются для обеспечения правильного порядка записи журнала транзакций и данных.

    Если же эти запросы игнорировать, то да, получается очень забавно.


    1. nerudo
      23.05.2015 08:38

      Я так понимаю, речь идет в том числе и про потребительский сегмент, в котором и вовсе без ИБП многие живут.


      1. amarao
        24.05.2015 15:11
        +1

        ИБП к этому не имеют никакого отношения. Защита данных на файловой системе и в БД рассчитана на потерю питания в любой момент.


  1. Cobolorum
    23.05.2015 10:46
    +2

    Мда… и это «ведущий разработчик SSD»!?!?
    Не ужели для уровня корпорейт нельзя подсчитать и сказать что:
    Для диска X с буферным кешем 32/64/128… нужно N секунд устойчивого питания для гарантированного сброс кеша на флэш. Что мы гарантируем что контроллер диска успеет это сделать после получения команды FLUSH CACHE.
    Или мы такие продвинутые и понимаем что многие операционные системы и аппаратные реализации не корректно обрабатывают power failure и для подобной защиты мы ставим увеличенный объем конденсаторов, а может даже ионисторов для корректного завершения работы контролера диска при пропадании питания.
    А так статься какой то детский сад.


    1. amarao
      24.05.2015 15:13
      +1

      Вот, кстати, с этим есть некий вопрос — а если у нас в кеше такая неудачная комбинация данных, что «просто записать» не получается, а нужно переупорядочивать несколько десятков блоков?


      1. Cobolorum
        25.05.2015 16:38

        Расчет времени сортировки давно решенная задача.
        Просто добавь конденсатор!


  1. qw1
    23.05.2015 12:01

    Статья была бы хоть немного познавательной, если были бы приведены номиналы конденсаторов.
    Одно их наличие ничего не меняет, собственные ёмкости есть даже у проводов. Интересно — сколько нужно энергии на запись кешей в современных SSD.


    1. Equin0x
      23.05.2015 18:51
      +1

      От емкости конденсатора/ионистора будет зависеть цена накопителя. Маленький кондючок — для домохозяек. Большой — для корпоративного сектора, с приставкой Pro и ценой SSD в 2 раза больше.


  1. pdima
    24.05.2015 07:21
    +2

    А на плате сверху/снизу как раз раз эти конденсаторы забыли поставить?