Интервью с инженером DataRecovery. Восстановление данных с SSD дисков: что реально, а что нет

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

Твердотельные накопители имеют много преимуществ по сравнению с жесткими дисками. Поэтому нужно знать, как выбрать SSD диск для компьютера правильно.

Что собой представляет?

Жёсткий диск (HDD) - это то устройство в Вашем компьютере, которое хранит все данные (программы, фильмы, изображения, музыку… саму операционную систему Windows, Mac OS, Linux и тд) и выглядит он следующим образом…

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

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

А теперь рассмотрим твёрдотельный накопитель (SSD-диск). Это тоже самое устройство для хранения информации, но основанное не на вращающихся магнитных дисках, а на микросхемах памяти, как говорилось выше. По устройству схожее на большую флешку.

Ничего вращающегося, двигающегося и жужжащего – работает SSD-диск абсолютно бесшумно! Плюс - просто сумасшедшая скорость записии чтения данных!

Преимущества и недостатки

Преимущества:

  • высокая скорость чтения и записи данных и производительность работы;
  • низкое тепловыделение и потребление электроэнергии;
  • нет шума ввиду отсутствия движущихся деталей;
  • небольшие габариты;
  • высокая стойкость к механическим повреждениям (перегрузки до 1500g), магнитным полям, температурным перепадам;
  • стабильность времени считывания данных независимо от фрагментации памяти.

Недостатки:

  • ограниченное количество циклов перезаписи (1 000 – 100 000 раз);
  • высокая стоимость;
  • незащищенность перед электрическими повреждениями;
  • риск полной потери информации без возможности ее восстановления.

А теперь подробнее:

Преимущества SSD диска

1. Скорость работы

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

До появления SSD-дисков, самым медленным устройством в компьютере был как-раз жёсткий диск. Он, со своей древней технологией из прошлого века, невероятно тормозил энтузиазм быстрого процессора и шустрой оперативной памяти.

2. Уровень шума=0 Дб

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

3. Ударо- и вибропрочность

Это подтверждают многочисленные ролики с испытаниями этих устройств - подключенный и работающий SSD-диск трясли, роняли на пол, стучали по нему… , а он продолжал спокойно работать! Если вы приобретаете SSD диск для себя, а не для испытаний, советуем этих эксперементов не повторять, а ограничиться просмотром роликов на Youtube.

4. Малый вес

Не выдающийся фактор, конечно, но всё-таки - жёсткие диски тяжелее своих современных конкурентов.

5. Низкое энергопотребление

Обойдусь без цифр - длительность работы от батареи моего старенького ноутбука увеличилась более чем на один час.

Недостатки SSD диска

1. Высокая стоимость

Это одновременно и самый сдерживающий пользователей недостаток, но и очень временный - цены на подобные накопители постоянно и стремительно падают.

2. Ограниченное число циклов перезаписи

Обычный, средний SSD-диск на основе флеш-памяти с технологией MLC способен произвести примерно 10 000 циклов чтения\записи информации. А вот более дорогой тип памяти SLC уже может в 10 раз дольше прожить (100 000 циклов перезаписи).

В обоих случаях флеш-накопитель сможет легко отработать не менее 3 лет! Это как-раз средний жизненный цикл домашнего компьютера, после которого идёт обновление конфигурации, замена комплектующих на более современные.

Прогресс не стоит на месте и головастики из фирм-производителей уже придумали новые технологии, которые существенно увеличивают время жизни SSD-дисков. Например, RAM SSD или технология FRAM, где ресурс хоть и ограничен, но практически недостижим в реальной жизни (до 40 лет в режиме непрерывного чтения/записи).

3. Невозможность восстановления удалённой информации

Удалённую информацию с SSD-накопителя не сможет восстановить ни одна специальная утилита. Таких программ просто нет.

Если при большом скачке напряжения в обычном жёстком диске сгорает в 80% случаев только контроллер, то в SSD-дисках этот контроллер находится на самой плате, вместе с микросхемами памяти и сгорает весь накопитель целиком - привет семейному фотоальбому.

Эта опасность практически сведена к нулю в ноутбуках и при использовании бесперебойного блока питания.

Главные характеристики

Если вы покупаете SSD для установки на компьютер, обратите внимание на его основные характеристики.

Объем

При покупке SSD диска в первую очередь обратите внимание на объем и цели использования. Если вы приобретаете его только для установки ОС, выберите устройство с объемом памяти не менее 60 Гб.

Современные геймеры предпочитают устанавливать игры на твердотельные накопители, чтобы увеличить производительность. Если вы – один из них, тогда вам нужен вариант с объемом памяти от 120 Гб.

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

Важно! Стоимость твердотельного накопителя напрямую зависит от объема. Поэтому, если ваш бюджет ограничен, используйте SSD для установки операционной системы, а HDD для хранения данных.

Форм-фактор

Большая часть современных моделей SSD дисков продается в форм-факторе 2,5 дюйма и встроена в защитный короб. Из-за этого они похожи на классические жесткие диски такого же размера.

Полезно знать! Для установки 2,5-дюймового SSD диска в стандартное 3,5-дюймовое крепление внутри корпуса ПК используются специальные переходники. В некоторых моделях корпусов предусмотрены гнезда под форм-фактор 2,5 дюйма.

На рынке встречаются 1,8-дюймовые и меньшие твердотельные накопители, которые используются в компактных устройствах.

Интерфейс подключения

Твердотельные накопители имеют несколько вариантов интерфейсов подключения:

  • SATA II;
  • SATA III;
  • PCIe;
  • mSATA;
  • PCIe + M.2.

Самый распространенный вариант – это подключение с помощью SATA разъема. На рынке еще встречаются SATA II модели. Они уже не актуальны, но даже если вы приобретете такое устройство, благодаря обратной совместимости интерфейса SATA оно будет работать с материнской платой, поддерживающей SATA III.

При использовании твердотельного накопителя с интерфейсом PCIe может понадобиться установка драйверов, но скорость передачи данных при этом будет выше по сравнению с SATA подключением. Но не всегда есть драйвера под Mac OS, Linux и подобные – при выборе стоит обращать на это внимание.

Модели mSATA используются на компактных устройствах, но работают по тому же принципу, что и стандартный интерфейс SATA.

Модели M.2 или NGFF (Next Generation Form Factor) – это продолжение развития линейки mSATA. Они имеют меньшие габариты и большие возможности для компоновки производителями цифровой техники.

Скорость чтения/записи

Чем этот выше, тем производительней компьютер. Средние показатели скорости:

  • чтение 450-550 Мб/с;
  • запись 350-550 Мб/с.

Производители могут указывать не фактическую, а максимальную скорость чтения/записи. Чтобы узнать реальные цифры, просмотрите в интернете отзывы и обзоры модели, которой вы заинтересовались.

Помимо этого, обратите внимание на время доступа. Это время, за которое диск находит требуемую программой или ОС информацию. Стандартный показатель – 10-19 мс. Но поскольку у твердотельных накопителей нет движущихся частей, это значительно быстрее, чем у жестких дисков.

Тип памяти и время работы до отказа

Есть несколько типов используемых в SSD дисках ячеек памяти:

  • MLC (Multi Level Cell);
  • SLC (Single Level Cell);
  • TLC (Three Level Cell);
  • 3D V-NAND.

MLC – самый распространенный тип, который позволяет хранить в одной ячейке два бита информации. Он имеет относительно небольшой ресурс циклов перезаписи (3 000 – 5 000), но меньшую себестоимость, за счет чего этот тип ячеек применяется для массового производства твердотельных накопителей.

SLC-тип хранит в одной ячейке только один бит данных. Эти микросхемы отличаются длительным временем жизни (до 100 000 циклов перезаписи), высокой скоростью передачи данных, и минимальным временем доступа. Но из-за большой стоимости и небольших объемов хранения данных они используются для серверных и индустриальных решений.

Тип TLC хранит три бита данных. Главное преимущество – низкая стоимость производства. Среди недостатков: количество циклов перезаписи 1 000 – 5 000 повторов, а скорость чтения/записи существенно ниже первых двух типов микросхем.

Полезно! В последнее время производителям удалось увеличить время жизни TLC дисков до 3 000 циклов перезаписи.

В 3D V-NAND моделях используется вместо стандартных MLC или TLC чипов 32-слойная флеш-память. Микрочип имеет трехмерную структуру, благодаря чему объем записываемых данных на единицу площади значительно выше. При этом увеличивается надежность хранения информации в 2-10 раз.

Показатель IOPS

Немаловажный фактор IOPS (количество операций ввода/вывода в секунду), чем выше данный показатель, тем быстрее накопитель будет работать, с большим объемом файлов.

Чип памяти

Чипы памяти делятся на два основных типа MLC и SLC. Стоимость SLC чипов намного выше и ресурс работы в среднем в 10 раз больше, чем у MLC чипов памяти, но при правильной эксплуатации, срок службы накопителей на MLC чипах памяти, составляет не менее 3 лет.

Контроллер

Это самая важная деталь SSD-дисков. Контроллер управляет работой всего накопителя, распределяет данные, следит за износом ячеек памяти и равномерно распределяет нагрузку. Рекомендую отдавать предпочтение проверенным временем и хорошо зарекомендовавшим себя контроллерам SandForce, Intel, Indilinx, Marvell.

Объем памяти SSD

Практичнее всего будет использовать SSD только под размещение операционной системы, а все данные (фильмы, музыку и т.д.) лучше хранить на втором, жестком диске. При таком варианте достаточно купить диск размером ~ 60 Гб. Таким образом Вы сможете очень сильно сэкономить и получить тоже самое ускорение работы компьютера (вдобавок, увеличится срок службы накопителя).

Опять же приведу в пример своё решение - в сети продаются (очень за недорого) специальные контейнеры для жёстких дисков, которые за 2 минуты вставляются в ноутбук вместо оптического CD-привода (которым я пользовался пару раз за четыре года). Вот Вам и великолепное решение - старый диск на место дисковода, а новенький SSD - на место штатного жёсткого диска. Лучше и придумать невозможно было.

И напоследок, парочка интересных фактов:

Почему жесткий диск часто называют винчестером? Ещё в начале 1960-х годов компания IBM выпустила один из первых жёстких дисков и номер этой разработки был 30 - 30, что совпало с обозначением популярного нарезного оружия Winchester (винчестер), вот и прижилось такое жаргонное название ко всем жёстким дискам.

Почему именно жёсткий диск? Основными элементами этих устройств являются несколько круглых алюминиевых или некристаллических стекловидных пластин. В отличие от гибких дисков (дискет) их нельзя согнуть, вот и назвали - жёсткий диск.

Функция TRIM

Наиболее важная дополнительная функция для твердотельного накопителя – это TRIM (уборка мусора). Она заключается в следующем.

Информация на SSD сначала записывается в свободные ячейки. Если диск записывает данные в ячейку, которая ранее использовалась, он сначала очищает ее (в отличие от HDD, где запись данных происходит поверх имеющейся информации). Если модель не поддерживает TRIM, она очищает ячейку непосредственно перед записью новой информации, из-за чего скорость этой операции падает.

Если твердотельный накопитель поддерживает TRIM, он получает от ОС команду об удалении данных в ячейке и очищает их не перед перезаписью, а во время «простоя» диска. Делается это в фоновом режиме. Это поддерживает скорость записи на указанном производителем уровне.

Важно! Функцию TRIM должна поддерживать операционная система.

Скрытая область

Эта область не доступна пользователю и используется взамен вышедших из строя ячеек. В качественных твердотельных накопителях она составляет до 30% от объема устройства. Но некоторые производители, чтобы снизить себестоимость SSD диска, уменьшают ее до 10%, увеличивая тем самым объем хранилища, доступный пользователю.

Обратная сторона медали такого подвоха состоит в том, что скрытая область используется функцией TRIM. Если ее объем небольшой, его не хватит для фонового переноса данных, из-за чего при уровне «загрузки» SSD 80-90% скорость записи резко упадет.

Пропускная способность шины

Так вот при выборе флеш-диска первостепенное значение имеет тоже скорость чтения и записи данных. Чем выше эта скорость - тем лучше. Но следует помнить и о пропускной способности шины Вашего компьютера, вернее, материнской платы.

Если Ваш ноутбук или стационарный компьютер совсем уж старенький - смысла покупать дорогой и быстрый SSD-диск нет. Он просто не сможет работать даже в половину своих возможностей.

Чтоб было понятнее, озвучу пропускную способность различных шин (интерфейс передачи данных):

IDE (PATA) - 1000 Mbit/s. Это очень древний интерфейс подключения устройств к материнской плате. Чтоб подключить SSD-диск к такой шине нужен специальный переходник. Смысл использования описываемых дисков в этом случае абсолютный ноль.

SATA - 1 500 Mbit/s. Уже веселее, но не слишком уж.

SATA2 - 3 000 Mbit/s. Самая распространённая на данный момент времени шина. С такой шиной, например, мой накопитель работает в половину своих возможностей. Ему нужна…

SATA3 - 6 000 Mbit/s. Это уже совсем другое дело! Вот тут SSD-диск и покажет себя во всей красе.

Так что перед покупкой узнайте какая у Вас шина на материнской плате, а также, какую поддерживает сам накопитель и принимайте решение о целесообразности покупки.

Вот, для примера, как я выбирал (и чем руководствовался) себе свой HyperX 3K 120 ГБ. Скорость чтения - 555 Мбайт/с, а скорость записи данных - 510 Мбайт/с. Этот диск работает в моём ноутбуке сейчас ровно в половину своих возможностей (SATA2), но ровно в два раза быстрее штатного жёсткого диска.

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

Делаем вывод: если у Вас в компьютере шина SATA2 и не планируется использование диска в другом (более мощном и современном) компьютере - покупайте диск с пропускной способностью не выше 300 Мбайт/с, что будет существенно дешевле и в тоже время быстрее в два раза Вашего нынешнего жёсткого диска.

Приветствую всех Хабровчан!

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

Как нетрудно догадаться, с накопителями, расположенными в зеленой зоне, обычно возникает меньше всего проблем (при условии, что инженер обладает необходимым инструментарием, разумеется). А накопители из красной зоны способны доставить немало страданий как их владельцам, так и инженерам-восстановителям. В случае выхода из строя подобных SSD шансы вернуть назад потерянные данные на сегодняшний день слишком малы. Если ваш SSD расположен в красной зоне или рядом с ней, то я бы советовал делать backup перед каждой чисткой зубов.

Те, кто уже сегодня сделал backup, добро пожаловать под кат.

Тут следует сделать небольшую оговорку. Некоторые компании умеют чуть больше, некоторые чуть меньше. Результаты, проиллюстрированные на диаграмме, представляют из себя нечто среднее по индустрии по состоянию на 2015 год.

На сегодняшний день распространены два подхода к восстановлению данных с неисправных SSD.

Подход №1. Вычитывание дампов NAND flash микросхем

Решение задачи что называется в лоб. Логика проста. Пользовательские данные хранятся на микросхемах NAND flash памяти. Накопитель неисправен, но что, если сами микросхемы в порядке? В абсолютном большинстве случаев так и есть, микросхемы работоспособны. Часть данных, хранящихся на них, может быть повреждена, но сами микросхемы функционируют нормально. Тогда можно отпаять каждую микросхему от печатной платы накопителя и считать ее содержимое с помощью программатора. А после попробовать собрать логический образ накопителя из полученных файлов. Этот подход в настоящее время используется при восстановлении данных с usb flash накопителей и различных карт памяти. Сразу скажу, что работа эта не из благодарных.

Трудности могут возникнуть еще на этапе считывания. Микросхемы NAND flash памяти выпускаются в разных корпусах, и для конкретной микросхемы в комплекте с программатором может не оказаться нужного адаптера. Для таких случаев в комплекте обычно есть некоторый универсальный адаптер под распайку. Инженер вынужден, используя тонкие проводки и паяльник, соединить нужные ножки микросхемы с соответствующими контактами адаптера. Задача вполне решаемая, но требует прямых рук, определенных навыков и времени. Сам то я с паяльником знаком не близко, поэтому такая работа вызывает уважение.

Не будем также забывать, что в SSD таких микросхем будет скорее всего 8 или 16, и каждую придется распаять и считать. Да и сам процесс вычитывания микросхемы тоже быстрым не назовешь.
Ну а дальше остается только из полученных дампов собрать образ и дело в шляпе! Но тут то и начинается самое интересное. Не буду углубляться в подробности, опишу только основные задачи, которые предстоит решить инженеру и используемым им ПО.

Битовые ошибки

Природа микросхем NAND flash памяти такова, что в сохраненных данных непременно появляются ошибки. Отдельные ячейки памяти начинают читаться неверно, причем стабильно неверно. И это считается нормой ровно до тех пор пока количество ошибок внутри определенного диапазона не превысит некоторый порог. Для борьбы с битовыми ошибками используются коды коррекции (ECC). При сохранении пользовательских данных, накопитель предварительно делит блок данных на несколько диапазонов и каждому диапазону добавляет некоторые избыточные данные, которые позволяют обнаружить и исправить возможные ошибки. Количество ошибок, которые могут быть исправлены определяется мощностью кода.

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

Формат страниц микросхем памяти

Единицей чтения и записи у микросхем памяти выступает единица, именуемая страницей. Для современных микросхем размер страницы равен приблизительно 8 КБ или 4 КБ. Причем это значение не является степенью двойки, а немного больше. Т. е. внутри страницы можно разместить 4 или 8 КБ пользовательских данных и еще что-нибудь. Эту избыточную часть накопители используют для хранения кодов коррекции и некоторых служебных данных. Обычно страница поделена на несколько диапазонов. Каждый диапазон состоит из области пользовательских данных (UA) и области служебных данных (SA). Последняя как раз и хранит внутри себя коды коррекции, которые защищают данный диапазон.

Все страницы имеют один и тот же формат, и для успешного восстановления необходимо определить каким диапазонам байт соответствуют пользовательские данные, а каким служебные.

Скремблирование VS Шифрование

Большинство современных SSD не хранят пользовательские данные в открытом виде, вместо этого они предварительно скремблируются или зашифровываются. Разница между этими двумя понятиями достаточно условна. Скремблирование - это некоторое обратимое преобразование. Основная задача этого преобразования получить из исходных данных нечто похожее на случайную последовательность бит. Данное преобразование не является криптостойким. Знание алгоритма преобразования позволяет без особого труда получить исходные данные. В случае с шифрованием знание одного лишь алгоритма ничего не дает. Необходимо также знать и ключ для расшифровки. Поэтому, если в накопителе используется аппаратное шифрование данных, и вам неизвестны параметры шифрования, то из считанных дампов данные восстановить не получится. Лучше даже не приступать к этой задаче. Благо большинство производителей честно признаются в том, что используют шифрование.

Более того, маркетологи сумели сделать из этой преступной (с точки зрения восстановления данных) функциональности опцию, которая якобы дает конкурентное преимущество над другими накопителями. И ладно если бы были отдельные модели для параноиков, в которых была бы качественно сделана защита от несанкционированного доступа. Но сейчас, видимо, настало время, когда отсутствие шифрования считается плохим тоном.
В случае со скремблированием дела обстоят не так печально. В накопителях оно реализовано как побитовая операция XOR (сложение по модулю 2, исключающее «ИЛИ») , выполненная над исходными данными и некоторой сгенерированной последовательностью бит (XOR паттерном).

Часто эту операцию обозначают символом ⊕.

Поскольку
То для получения исходных данных необходимо произвести побитовое сложение прочитанного буфера и XOR паттерна:

(X ⊕ Key) ⊕ Key = X ⊕ (Key ⊕ Key) = X ⊕ 0 = X

Остается определить XOR паттерн. В самом простом случае для всех страниц применяется один и тот же XOR паттерн. Иногда накопитель генерирует длинный паттерн, скажем длиной в 256 страниц, тогда каждая из первых 256 страниц микросхемы складывается со своим куском паттерна, и так повторяется для следующих групп из 256 страниц. Но бывают случаи и посложнее. Когда для каждой страницы индивидуально генерируется свой паттерн на основании какого-то закона. В таких случаях помимо прочего нужно еще попытаться разгадать этот закон, что уже, мягко скажем, непросто.

Сборка образа

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

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

Данный подход к восстановлению данных заставляет полностью эмулировать работу накопителя на низком уровне. Отсюда вытекают плюсы и минусы этого подхода.

Минусы:

  • Трудоемкость . Поскольку мы полностью эмулируем работу накопителя, нам придется выполнить всю грязную работу за него.
  • Риск потерпеть фиаско . Если не удастся решить хотя бы одну из поставленных задач, то о восстановлении не может быть и речи. А вариантов много: невозможность прочитать микросхемы, потому что программатор их не поддерживает; неизвестные коды коррекции; неизвестный XOR паттерн; шифрование; неизвестный транслятор
  • Риск еще больше угробить накопитель . Помимо трясущихся рук риском является сам нагрев микросхем памяти. Для изношенных микросхем это может привести к появлению дополнительного числа битовых ошибок.
  • Время и стоимость работ
Плюсы:
  • Широкий круг задач . Все, что нужно от накопителя, это работающие микросхемы памяти. Неважно в каком состоянии остальные элементы.

Подход №2. Технологический режим

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

Как уже было сказано выше, со временем в микросхемах памяти неизбежно появляются битовые ошибки. Так вот, согласно статистике, причиной выхода из строя SSD в большинстве случаев является появление некорректируемых битовых ошибок в служебных структурах. То есть на физическом уровне все элементы работают нормально. Но SSD не может корректно инициализироваться из-за того, что одна из служебных структур повреждена. Такая ситуация разными моделями SSD обрабатывается по-разному. Некоторые SSD переходят в аварийный режим работы, в котором функциональность накопителя значительно урезана, в частности, на любые команды чтения или записи накопитель возвращает ошибку. Часто при этом, чтобы как-то просигнализировать о поломке, накопитель меняет некоторые свои паспортные данные. Например, Intel 320 series вместо своего серийного номера возвращает строку с кодом ошибки. Наиболее часто встречаются неисправности из серии «BAD_CTX %код ошибки%”.

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

В настоящее время производителей SSD слишком много, а новые модели появляются слишком часто, и на детальное изучение не остается времени. Поэтому практикуется немного другой подход.

Среди технологических команд очень полезными оказываются команды, позволяющие читать страницы микросхем памяти. Таким образом можно считать целиком дампы через SATA интерфейс накопителя, не вскрывая корпус SSD. Сам накопитель в таком случае выступает в роли программатора микросхем NAND flash памяти. В принципе, подобные действия даже не должны нарушать условий гарантии на накопитель.

Часто обработчики техно-команд чтения микросхем памяти реализованы так, что есть возможность оставить исправление битовых ошибок, а иногда и расшифровку данных , на стороне накопителя. Что, в свою очередь, значительно облегчает процесс восстановления данных. По сути остается только разобраться с механизмами трансляции и, можно сказать, решение готово.

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

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

Минусы:

  • Сложность и стоимость разработки . Достаточно немногие компании могут себе позволить содержать свой отдел разработок и проводить подобного рода исследования.
  • Решения индивидуальны .
  • Ограниченный круг задач . Не ко всем накопителям применим данный подход. SSD должен быть физически исправен. Также, редко, но все же бывает, что повреждения некоторых служебных структур, исключает возможность восстановления пользовательских данных.
Плюсы:
  • Простота .
  • В некоторых случаях позволяет обойти шифрование . По сути подход к восстановлению данных с помощью технологических команд на сегодняшний день является единственным известным способом восстановить данные с некоторых накопителей, использующих аппаратное шифрование данных.

Заключение

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

На этом пока все. Берегите себя! И да хранит ваши данные backup!

SSD-диски – это твердотельные накопители небольшого размера и с большой скоростью работы. Но всё ли мы о них знаем и так ли они хороши.

Последние несколько лет наблюдается постоянное увеличение количества SSD-дисков на рынке и постепенное уменьшение их стоимости (хотя разница в цене с традиционными жесткими дисками всё-равно остаётся ощутимой). Что такое SSD-диск и каким способом извлечь из него максимальную выгоду? Что в нём особенного?

Что такое твердотельный накопитель?

На самом деле, технология SSD далеко не новая. SSD-диски в разном виде существуют давно. Первые были созданы на основе технологии RAM но были насколько дороги, что использовались только в компьютерах высокого класса. Ещё в 90-х появились SSD на основе флеш памяти, но они были чересчур дороги для обычного пользователя и использовались исключительно в специализированной технике. Только в 2000-х их цена снизилась достаточно для того, чтобы использоваться в персональных компьютерах.

Что же такое SSD-диск?

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

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

Сравнение SSD и HDD

Вот некоторые ключевые различия между SSD и HDD:

Время «раскрутки» : У SSD нет раскрутки, так как в нём ничего не вращается. У HDD это занимает несколько секунд. Это щелчки, которые мы слышим с жесткого диска в тот момент, когда к нему обращается компьютер.

Время доступа к данным и задержка: SSD очень быстры и осуществляют поиск в 80-100 раз быстрее чем HDD. Упуская механическую часть работы твердотельный накопитель мгновенно получает доступ к данным на нём, где бы они не находились. Быстрой работе HDD препятствуют физические движения частей и вращение пластин.

Шумность : SSD беззвучны – нет ни движимых частей, ни звуков. HDD диски постоянно издают разные звуки, щелчки и клацанья.

Надёжность : Не берём во внимание качество сборки и производства (что тоже влияет на работу устройств). С точки зрения физической надёжности SSD диски тоже впереди. HDD диски подвержены механическим сбоям и отказам. Конечно для этого нужны десятки тысяч часов работы, но через какое-то время они просто изнашиваются. Но с точки зрения возможности осуществления количества операций чтения-записи HDD диски выигрывают, так как магнитные пластины не имеют ограничений по данным показателям.

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

Причём в SSD дисков есть одна интересная особенность: когда сектор NAND модуля доживает до конца, он становится только читабельным. Тогда привод считывает данные с такого сектора и переписывает их в другое место на диске. Другими словами SSD будет умирать постепенно, а не вырубится в какой-то один момент. И у вас будет достаточно времени, чтобы обзавестись новым диском и сохранить данные.

Энергопотребление : SSD диски потребляют на 30-60% меньше энергии чем HDD, что экономит 6-10 ватт.

Цена : SSD диски не дешевые. HDD значительно дешевле. А если смотреть из расчёта на 1 ГБ памяти, то разница в цене ещё ощутимей.

«Уход» за твердотельным накопителем

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

Не дефрагментируйте диск . Дефрагментация бесполезна для твердотельного накопителя, она только сокращает ему жизнь. Дефрагментация нужна для ускорения работы HDD. SSD не нуждается в этом, а в последних версиях Windows такая функция вообще отключена для SSD.

Выключите индексирования . Если на компьютере включен какой-то сервис индексирования – выключите его. Он только замедлит его работу.

Ваша ОС должна поддерживать TRIM . Команда TRIM позволяет вашей операционной системе взаимодействовать с SSD, и сообщает ей какие ячейки не используются и их можно очищать. Без TRIM производительность накопителя будет падать. Но справедливости ради скажем, что почти все современные операционные системы поддерживают TRIM.

Часть диска должна быть незаполненной . Большинство производителей рекомендуют оставлять 10-20% диска свободной. Это место необходимо для распределения данных через NAND модули, чтобы минимизировать износ диска и обеспечить его оптимальную производительность.

Сохраняйте данные на другом носителе . Пока SSD не упадёт в цене, нет смысла их покупать для хранения медиа файлов. Можно купить подешевле 1 ТБ HDD и сохранять на него ваши фильмы и музыку. А SSD использовать для быстрой работы операционной системы.

Не скупитесь на RAM . По сравнению с ценой SSD, оперативка компьютера стоит намного дешевле. Чем больше RAM памяти в компьютере тем меньше операционная система задействует системный диск. Таким образом продлевается жизнь SSD диска.

Восстановление данных с SSD-дисков

Среди обычных пользователей ПК существует мнение, что восстановление данных с SSD-диска невозможно. Забегая наперёд скажем, что это неверное мнение. C SSD-диска данные можно восстановить таким же образом, как и с HDD.

Такое мнение возникло благодаря команде TRIM, которая направлена на оптимизацию основного преимущества SSD диска, а именно ускорения его работы. Применение TRIM позволяет устройству SSD уменьшить влияние сборки мусора, которая в противном случае в дальнейшем выразится падением производительности операций записи в затронутые секторы. Попросту говоря – TRIM чистит сектора с которых были уделены данные.

Но команда TRIM присуща только АТА интерфейсу. Т.е. она работает только со встроенными SSD, но никак не влияет на работу внешних флеш и SSD дисков.

Эксперимент, который неоднократно проводился с помощью одной из программ для восстановления данных, Hetman Partition Recovery , это ещё раз доказывает.

Походит ли вам SSD диск?

Тут уж вам решать. Для того чтобы понять такую необходимость постарайтесь ответить себе на следующие вопросы:

  • Нуждаетесь ли вы в быстрой загрузке операционной системы?
  • Требуется ли вам тихий и энергоэкономный компьютер?
  • Готовы и сможете ли вы использовать два привода (в том случае, если на компьютере планируется хранить семейные фото и видео архивы, много музыки или фильмов)? На некоторых компьютерах елементарно некуда подключить второй диск.
  • С какими данными вы работаете на ПК? Насколько важными они есть? Ведь восстановление данных с SSD диска – это особый случай.
  • Сопоставимо ли для вас ускорение работы компьютера с той суммой денег которую необходимо потратить на приобретение SSD?

Рынок SSD-дисков постепенно становится всё более разнообразным. Растет емкость SSD-дисков, и одновременно с этим падает цена в расчете на гигабайт памяти. Однако говорить о том, что SSD-диски стали популярными, еще преждевременно. Главная причина этого - их невысокая (в сравнении с традиционными HDD-дисками) емкость и очень высокая (опять-таки в сравнении с традиционными HDD-дисками) стоимость в расчете на гигабайт памяти. А потому наличие SSD-диска в домашнем настольном ПК - это скорее исключение из правила. Более того, даже в нетбуках и ноутбуках SSD-диски встречаются пока крайне редко. В то же время уже сейчас очевидно, что будущее систем хранения данных именно за SSD-дисками, которые в дальнейшем вытеснят с рынка HDD-диски. Когда это произойдет? Да, собственно, как только они станут сопоставимы по емкости и стоимости с HDD-дисками. Тогда последние просто исчезнут как класс, поскольку SSD-диски имеют ряд неоспоримых преимуществ перед HDD-дисками.
В этой статье мы рассмотрим некоторые особенности функционирования современных SSD-дисков, которые иногда вызывают массу вопросов и недоумение, поговорим об особенностях их архитектуры, а также о возможных вариантах использования этих дисков в ноутбуках, ПК и серверах.

Актуальность перехода на SSD-диски

Производительность современных центральных процессоров, определяющих вычислительные возможности ПК, существенно превосходит производительность традиционных жестких дисков (HDD). В результате именно подсистемы хранения данных во многих случаях становятся узким местом, сдерживающим рост производительности компьютеров в целом. Использование дорогостоящих решений на основе RAID-массивов лишь отчасти позволяет решить проблему дисбаланса в производительности процессоров и подсистем хранения данных на основе HDD. И в дальнейшем дисбаланс производительности процессоров и HDD-дисков будет только увеличиваться, и мы неизбежно придем к тому, что производительность компьютера во многих приложениях уже перестанет определяться производительностью процессора, а будет упираться в самое слабое звено - подсистему хранения данных. Так, с 1996 года усредненная производительность процессоров выросла в 175 раз, в то время как производительность HDD-дисков (имеется в виду выборочное чтение блоков размером 20 Кбайт) - всего в 1,3 раза.

Сегодня единственным способом решения этой проблемы является переход от HDD к твердотельным дискам SSD (Solid State Drive) на основе флэш­памяти. Такие диски способны обеспечить уровень производительности, который в полной мере отвечает производительности современных многоядерных процессоров.

Впрочем, высокая производительность - это не единственное преимущество SSD-дисков. Они также абсолютно бесшумны, поскольку не содержат движущихся частей, и, что особенно важно для ноутбуков, потребляют гораздо меньше электроэнергии по сравнению с HDD-дисками. Так, энергопотребление обычного 2,5-дюймового HDD-диска в режиме активности составляет порядка 2,5-3 Вт и порядка 0,85-1 Вт в режиме простоя (Idle). Если HDD-диск не активен, то через некоторое время (в зависимости от настроек) он переходит в режим пониженного энергопотребления (Standby или Sleep) и при выходе из этого режима ему требуется порядка 1-2 с для раскрутки. Типичное энергопотребление SSD-диска (не серверного) в режиме активности составляет порядка 0,15 Вт, а в режиме простоя - 0,06 Вт. Причем при правильной настройке переход из режима активности в режим пониженного энергопотреб­ления происходит автоматически, если диск не активен в течение 25 мс. А включаются эти диски практически мгновенно, поскольку им просто нечего раскручивать. Отметим, что для автоматического перехода SSD-диска в режим пониженного энергосбережения необходимо активировать функцию Device Initiated Power Management (DIPM) в реестре, поскольку по умолчанию задана функция Host Initiated Power Management (HIPM), когда переходом в режим пониженного энергопотребления управляет не сам диск, а операционная система.

Не уступают SSD-диски традиционным HDD-дискам и по такой характеристике, как среднее время наработки на отказ (MTFB). Так, если для HDD среднее время наработки на отказ составляет порядка 300 тыс. ч, то для SSD-дисков - свыше миллиона часов.

Казалось бы, если преимущества SSD-дисков настолько очевидны, почему они до сих пор не получили широкого распространения? Увы, но у SSD-дисков есть и серьезные недостатки. Прежде всего современные SSD-диски не сопоставимы с HDD-дисками по емкости. Так, если емкость HDD-дисков (размером 3,5 дюйма) достигает 3 Тбайт, то максимальная емкость SSD-дисков (размером 2,5 дюйма) составляет только 512 Гбайт. Правда, если сравнивать 2,5-дюймовые SSD- и HDD-диски, то их емкость вполне сопоставима.

Второй недостаток SSD-дисков - это их стоимость, которая в несколько раз выше, чем у HDD.

Впрочем, что касается емкости SSD-дисков, то не всё так плохо, как может показаться. Емкость SSD-дисков растет гораздо более высокими темпами, чем емкость HDD-дисков, и недалек тот день, когда SSD-диски превзойдут по емкости HDD. В качестве доказательства приведем интересную статистику. В 2006 году компания Intel, один из ведущих игроков на рынке SSD-дисков, производила микросхемы флэш­памяти типа NAND для SSD-дисков по 90-нм техпроцессу, при этом их емкость составляла 1 или 2 Гбит. В 2009 году Intel выпускала микросхемы флэш­памяти уже по 34-нм техпроцессу, а емкость микросхем стала составлять 32 Гбит. В 2010 году компания освоила 25-нм процесс производства микросхем флэш­памяти емкостью 64 Гбит. Как видим, темпы роста емкости микросхем флэш­памяти для SSD-дисков впечатляют: фактически ежегодно происходит ее удвоение. Так что в скором времени SSD-диски будут превосходить по объему HDD.

Нужно также отметить, что хотя до широкого распространения SSD-дисков еще далеко, но говорить о том, что SSD-диски вообще не покупают, неверно. Статистика такова: в 2008 году в мире было продано всего 700 тыс. SSD-дисков, в 2009 году объем продаж составил уже 2 млн штук, а в этом году, согласно прогнозам, он достигнет 5,9 млн штук. Предполагается, что к 2013 году рынок SSD-дисков составит 61,8 млн штук.

Итак, прогнозы по объемам продаж SSD-дисков весьма оптимистичны, однако они отнюдь не отвечают на главный вопрос: что делать пользователям сегодня, когда емкость SSD-дисков еще недостаточно высока, а их стоимость всё еще очень высока? Если речь идет о домашних пользователях, то, конечно же, не имеет смысла выбрасывать HDD-диски, чтобы установить SSD. Однако повысить производительность компьютера за счет использования SSD-дисков всё же можно. Оптимальным является решение, когда в настольном ПК применяется комбинация одного SSD-диска и одного или нескольких HDD-дисков. На SSD-диск можно установить операционную систему и все программы (для этого будет достаточно диска объемом 80 Гбайт), а HDD-диск использовать для хранения данных.

Устройство ячейки флэш­памяти

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

На простейшем уровне ячейка флэш­памяти представляет собой n -канальный MOSFET-транзистор с так называемым плавающим затвором. Напомним, что обычный n -канальный MOSFET-транзистор (структура n -p -n ) может находиться в двух состояниях: открытом и запертом (закрытом). Управляя напряжением между стоком и затвором, можно создавать канал проводимости электронов (n -канал) между истоком и стоком (рис. 1). Напряжение, при котором возникает канал проводимости, называется пороговым. Наличие канала проводимости соответствует открытому состоянию транзистора, а отсутствие (когда транзистор не способен проводить ток от истока к стоку) - запертому.

Рис. 1. Устройство MOSFET-транзистора (открытое и закрытое состояние)

В открытом состоянии напряжение между стоком и истоком близко к нулю, а в закрытом может достигать высокого значения. Конечно, сам по себе транзистор не способен сохранять информацию. Собственно, для хранения информации как раз предназначен плавающий затвор (рис. 2). Он выполнен из поликристаллического кремния и полностью окружен слоем диэлектрика, что обеспечивает ему полное отсутствие электрического контакта с элементами транзистора. Плавающий затвор расположен между управляющим затвором и подложкой из p -n -переходов. Такой затвор способен сохранять помещенный на него заряд (отрицательный) в течение неограниченного времени (до 10 лет). Наличие или отсутствие избыточного отрицательного заряда (электронов) на плавающем затворе может трактоваться как логические единица и ноль.

Рис. 2. Устройство транзистора с плавающим затвором и чтение содержимого ячейки памяти

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

Таким образом, наличие или отсутствие заряда на плавающем затворе однозначно определяет состояние транзистора (открыт или закрыт) при подаче одного и того же порогового значения напряжения на управляющий затвор. Если подачу напряжения на управляющий затвор трактовать как инициализацию ячейки памяти, то по напряжению между истоком и стоком можно судить о наличии или отсутствии заряда на плавающем затворе.

То есть в отсутствие управляющего напряжения на затворе, независимо от наличия или отсутствия заряда на плавающем затворе, транзистор будет всегда закрыт, а при подаче порогового значения напряжения на затвор состояние транзистора будет определяться наличием заряда на плавающем затворе: если заряд имеется, то транзистор будет закрыт и выходное напряжение будет высоким; если заряд отсутствует, то транзистор будет открыт и выходное напряжение будет низким.

Закрытое состояние транзистора (отсутствие канала проводимости) принято трактовать как логический ноль, а открытое (наличие канала проводимости) - как логическую единицу. Таким образом, при инициализации ячейки памяти (подаче порогового значения напряжения на затвор) наличие заряда на плавающем затворе трактуется как логический ноль, а его отсутствие - как логическая единица (см. таблицу).

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

Помещение заряда на плавающий затвор реализуется либо методом инжекции горячих электронов (CHE-Channel Hot Electrons), либо методом туннелирования Фаулера - Нордхейма (рис. 3). Ну а удаление заряда производится только методом туннелирования Фаулера.

Рис. 3. Процесс записи и стирания информационного бита в транзистор с плавающим затвором

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

Для удаления заряда с плавающего затвора (процесс стирания ячейки памяти) на управляющий затвор подается высокое отрицательное напряжение, а на область истока - положительное. Это приводит к тому, что электроны туннелируют из области плавающего затвора в область истока (квантовое туннелирование Фаулера - Нордхейма (Fowler - Nordheim, FN)).

Рассмотренный нами транзистор с плавающим затвором может выступать в роли элементарной ячейки флэш­памяти. Однако однотранзисторные ячейки имеют ряд существенных недостатков, главный из которых - плохая масштабируемость. Дело в том, что при организации массива памяти каждая ячейка памяти (транзистор) подключается к двум перпендикулярным шинам: управляющие затворы - к шине, называемой линией слов, а стоки - к шине, называемой битовой линией (в дальнейшем данная организация будет рассмотрена на примере NOR-архитектуры). Вследствие наличия в схеме высокого напряжения при записи методом инжекции горячих электронов все линии - слов, битов и истоков - необходимо располагать на достаточно большом расстоянии друг от друга для обеспечения требуемого уровня изоляции, что, естественно, сказывается на ограничении объема флэш­памяти.

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

Широкое распространение получили и другие типы ячеек памяти, например ячейка SST (рис. 4), разработанная компанией Silicon Storage Technology, Inc. В транзисторе SST-ячейки изменены формы плавающего и управляющего затворов. Управляющий затвор выровнен своим краем с краем стока, а его изогнутая форма дает возможность разместить плавающий затвор частично под ним и одновременно над областью истока. Такое расположение плавающего затвора позволяет упростить, с одной стороны, процесс помещения на него заряда методом инжекции горячих электронов, а с другой - процесс снятия заряда за счет эффекта туннелирования Фаулера - Нордхейма.

Рис. 4. Структура SST-ячейки памяти

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

При помещении заряда на плавающий затвор сток заземляется, а к истоку и управляющему затвору подается положительное напряжение. Управляющий затвор формирует при этом канал проводимости, а напряжение между стоком и истоком «разгоняет» электроны, сообщая им энергию, достаточную для преодоления потенциального барьера, то есть для туннелирования на плавающий затвор.

В отличие от однотранзисторной ячейки памяти, ячейка SST имеет несколько иную схему организации массива памяти.

Многоуровневые и одноуровневые ячейки флэш­памяти

Все рассмотренные до этого типы ячеек памяти способны сохранять только один бит информации в расчете на одну ячейку. Подобные ячейки памяти получили название одноуровневых (Single Level Cell, SLC). Однако существуют и такие ячейки, каждая из которых сохраняет по нескольку битов, - это многоуровневые ячейки, или MLC (Multi Level Cell).

Как уже отмечалось при описании однотранзисторной ячейки памяти, наличие логической единицы или нуля определяется по значению напряжения на битовой линии и зависит от наличия или отсутствия заряда на плавающем затворе. Если на управляющий затвор подается пороговое значение напряжения, то при отсутствии заряда на плавающем затворе транзистор открыт, что соответствует логической единице. Если же на плавающем затворе имеется отрицательный заряд, своим полем экранирующий поле, создаваемое управляющим затвором, то транзистор оказывается в закрытом состоянии, что соответствует логическому нулю. Понятно, что даже при наличии отрицательного заряда на плавающем затворе транзистор можно перевести в открытое состояние, однако для этого придется подать на управляющий затвор напряжение, превышающее пороговое значение. Следовательно, об отсутствии или наличии заряда на плавающем затворе можно судить по пороговому значению напряжения на управляющем затворе. Поскольку пороговое напряжение зависит от величины заряда на плавающем затворе, то можно не только определить два предельных случая - отсутствие или присутствие заряда, - но и по величине порогового напряжения судить о количестве заряда. Таким образом, если имеется возможность размещать на плавающем затворе разное количество уровней заряда, каждому из которых соответствует свое значение порогового напряжения, то в одной ячейке памяти можно сохранять несколько информационных битов. К примеру, для того чтобы с использованием такого транзистора сохранять в одной ячейке 2 бита, необходимо различать четыре пороговых напряжения, то есть иметь возможность размещать на плавающем затворе четыре различных уровня заряда. Тогда каждому из четырех пороговых напряжений можно поставить в соответствие комбинацию двух битов: 00, 01, 10, 11.

Для того чтобы иметь возможность записывать в одну ячейку 4 бита, необходимо различать уже 16 пороговых напряжений.

Ячейки MLC активно разрабатываются компанией Intel, поэтому технология памяти на основе MLC-ячеек получила название Intel StrataFlash.

Отметим, что SLC-ячейки памяти обеспечивают более высокую скорость чтения и записи. Кроме того, они более долговечны, однако SSD-диски на их основе дороже, поскольку при равной емкости SSD-дисков на базе MLC- и SLC-ячеек памяти количество самих ячеек памяти в MLC-диске будет в два раза меньше (в случае четырехуровневых ячеек памяти). Именно поэтому SSD-диски на основе SLC-ячеек памяти используются главным образом в серверах.

Архитектура массивов флэш­памяти

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

Существует несколько типов архитектуры флэш­памяти, то есть способов объединения ячеек памяти в единый массив, но наибольшее распространение получили архитектуры NOR и NAND. Отметим, что в SSD-дисках применяется организация памяти по типу NAND, однако для лучшего понимания особенностей этой архитектуры логично прежде рассмотреть более простую архитектуру NOR. Кроме того, именно архитектура NOR была первой архитектурой, используемой во флэш­памяти.

Архитектура NOR (рис. 5) подразумевает параллельный способ объединения ячеек памяти в массив. Как уже отмечалось, для инициализации ячейки памяти, то есть для получения доступа к содержимому ячейки, необходимо подать пороговое значение напряжения на управляющий затвор. Поэтому все управляющие затворы должны быть подсоединены к линии управления, называемой линией слов (Word Line). Анализ содержимого ячейки памяти производится по уровню сигнала на стоке транзистора. Поэтому стоки транзисторов подключаются к линии, называемой битовой линией (Bit Line).

Рис. 5. Архитектура NOR

Своим названием архитектура NOR обязана логической операции «ИЛИ-НЕ» (английская аббревиатура - NOR). Логическая операция NOR над несколькими операндами дает единичное значение, когда все операнды равны нулю, и нулевое значение во всех остальных случаях. В данном случае имеется в виду принцип соединения транзисторов вообще, а не конкретно транзисторов с плавающим затвором.

Рассмотрим в качестве примера несколько транзисторов (без плавающего затвора), присоединенных к одной битовой линии (рис. 6). В этом случае если хотя бы один транзистор открыт, то выходное напряжение на битовой линии будет низким. И только в случае, когда все транзисторы закрыты, напряжение на битовой линии будет высоким. Получаем таблицу истинности входных напряжений на затворах транзисторов и выходного напряжения на битовой линии, соответствующую таблице истинности логической функции «ИЛИ-НЕ» (NOR). Именно поэтому такая схема объединения транзисторов и получила название NOR.

Рис. 6. Соединение транзисторов по схеме NOR

Архитектура NOR обеспечивает произвольный быстрый доступ к любой ячейке памяти, однако процессы записи (используется метод инжекции горячих электронов) и стирания информации происходят довольно медленно. Кроме того, в силу технологических особенностей производства микросхем флэш­памяти с архитектурой NOR размер ячейки получается большим, поэтому такая память плохо масштабируется.

Другой распространенной архитектурой флэш­памяти является архитектура NAND (рис. 7), соответствующая логической операции «И-НЕ». Операция NAND дает нулевое значение только в том случае, когда все операнды равны нулю, и единичное значение во всех остальных случаях. Архитектура NAND подразумевает последовательный способ подключения транзисторов, при котором сток каждого транзистора связан с истоком соседнего транзистора, а в серии нескольких последовательно соединенных транзисторов только один из них оказывается подключенным к линии битов. Причем при рассмотрении архитектуры соединения речь не идет конкретно о транзисторах с плавающим затвором.

Рис. 7. Архитектура NAND

Рассмотрим группу таких последовательно соединенных транзисторов (без плавающего затвора) (рис. 8). В случае если управляющее напряжение на затворах всех транзисторов равно пороговому значению, то все транзисторы находятся в открытом состоянии и выходное напряжение (напряжение на битовой линии) будет низким, что соответствует логическому нулю. Если же входное напряжение хотя бы на одном транзисторе будет низким (ниже порогового значения), то есть если хотя бы один транзистор будет находиться в запертом состоянии, то напряжение на битовой линии будет высоким, что соответствует логической единице. Получаем таблицу истинности входных напряжений на затворах транзисторов (напряжений на линии слов) и выходного напряжения на битовой линии, соответствующую таблице истинности логической функции «И-НЕ» (NAND). Именно поэтому такая схема объединения транзисторов и получила название NAND.

Рис. 8. Соединение транзисторов по схеме NAND

В схеме соединения NAND-транзисторов с плавающим затвором к группе последовательно соединенных транзисторов с обоих концов подключаются обычные транзисторы (без плавающего затвора), которые изолируют группу транзисторов и от земли, и от битовой линии и подключают всю группу транзисторов к битовой линии при их инициализации.

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

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

Логическая структура NAND флэш­памяти

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

Несмотря на тот факт, что флэш­память позволяет получить доступ для чтения, записи и стирания отдельно взятой ячейки, для более эффективного использования элементарных ячеек памяти они были объединены в массивы с четырехуровневой структурой. На низшем уровне находится элементарная ячейка памяти, а элементарные ячейки, объединенные в массив, вмещающий 4 Кбайт данных, называются страницей памяти. 128 таких страниц образуют блок памяти размером 512 Кбайт (иногда в блок памяти входит 64 страниц), а 1024 блока - массив размером 512 Мбайт. Таким образом, логическая структура объединения ячеек в массивы довольно проста. Страница подобна кластеру (сектору) в жестком диске и представляет собой минимальный размер данных, с которым работает флэш­память. Однако между кластером жесткого диска и страницей флэш­памяти существует принципиальная разница при выполнении операций чтения, записи и удаления. Так, если в жестком диске кластер можно прочитать, записать и удалить, то во флэш­памяти операции чтения и записи возможны страницами по 4 Кбайт, а стирание данных - только блоками по 512 Кбайт. Причем как только информация записана на страницу, она не может быть перезаписана до тех пор, пока не будет очищена (удалена).

Особенности операций записи данных в SSD-дисках

Итак, как мы уже отмечали, запись и чтение данных в NAND флэш­памяти возможны страницами по 4 Кбайт, а стирание данных - только блоками по 512 Кбайт. Вообще, процесс записи информации на SSD-диски сильно отличается от аналогичного процесса с HDD-дисками. С этим, к примеру, связано то, что производительность SSD-дисков меняется со временем, а скорости последовательного и выборочного доступа к флэш­памяти отличаются друг от друга. Для того чтобы объяснить эти явления, рассмотрим более подробно процессы записи на HDD- и SSD-диски.

В случае жестких дисков HDD наименьшая единица информации, которой оперирует система управления жесткого диска, носит название сектора или блока. В HDD размер сектора равен 4 Кбайт (в новых моделях) или 512 байт. Для адресации секторов (блоков) на диске используется метод LBA (Logical Block Addressing), при котором каждый блок, адресуемый на жестком диске, имеет свой порядковый номер - целое число, начиная с нуля (то есть первый блок LBA = 0, второй LBA = 1 и т.д.). Количество LBA-блоков на диске определяется количеством цилиндров, дорожек, секторов и головок чтения/записи. Так, расчет номера LBA-блока производится по формуле:

LBA = [(Cylinder x No_of_heads + Heads) x Sectors/track] + }

Вверх