Проблемы с SSD и их решение. SSD накопители

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

Из-за устройства твердотельных накопителей, они имеют низкую продолжительность работы от 5 до 7 лет. Если знать, чего нужно остерегаться, и как защитить диск, можно существенно продлить время его работы.

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

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

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

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

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

Проверка ошибок и работоспособности с помощью программ

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

CrystalDiskInfo

Бесплатная утилита CrystalDiskInfo проводит проверку скорости по считыванию и записи диска. Отображает данные про состояние температуры, здоровья. Поддерживается S.M.A.R.T технология по оценке состояния накопителя. Приложение CrystalDiskInfo имеет устанавливаемую и портативную версию. При работе с устанавливаемой версией в режиме реального времени производится мониторинг состояния твердотельных накопителей. В системном трее появляется значок используемой программы. Утилита CrystalDiskInfo эффективно проверит SSD на наличие битых секторов.

Проверка SSD:

  1. Скачивание, установка и запуск программы CrystalDiskInfo.
  2. Сканирование накопителя на оценку его состояния и наличие ошибок. Затем выдается результат.
  3. Основные действия выполняются во вкладке «Сервис» в основном меню. Там есть функционал для задания пересканирования диска.

SSD Life

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

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

SSDReady

Провести диагностику SSD можно с использованием программы SSDReady. Ее функциями стали:

  1. Мониторинг состояния SSD диска.
  2. Оценка потенциальной продолжительности работы.
  3. Прочая соответствующая статистика.

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

DiskCheckup

Для тестирования жесткого диска SSD на работоспособность и скорость, можно использовать утилиту DiskCheckup. Данный софт обеспечивает мониторинг S.M.A.R.T атрибутов отдельного накопителя. Как и в вышеописанных программах, в этом приложении показывается статистика жесткого диска. Информация помогает отследить состояние работоспособности устройства. Функционал продукта почти ничем не отличается от описанных приложений.

HDDScan

HDDScan является свободной утилитой, которая диагностирует разные виды жестких дисков. Программа будет удобным инструментом, который поможет пользователю провести поиск на винчестере ошибок. Поддерживается показ атрибутов S.M.A.R.T и изменение определенных параметров.

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

Предупреждающие знаки SSD

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

Повреждение секторов хранения SSD

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

Общие симптомы повреждения bad blocks (секторов хранения):

  1. Медленная работа системы, особенно при использовании файлов большого размера.
  2. Наличие частых ошибок при переносе файлов.
  3. Аварийное закрытие или зависание активных приложений.
  4. Требование восстановить файловую систему компьютера.
  5. Файл не может быть записан или прочитан на жестком диске.

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

Файлы не могут быть записаны или прочитаны

Имеются два способа, при которых неисправность секторов хранения влияет на файлы:

  1. Обнаружение системой плохого блока во время записи данных на накопитель. Это влечет за собой отказ системы записывать данные.
  2. Обнаружение плохого блока системой после записи данных. Отказ прочтения этих данных.

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

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

Файловая система нуждается в восстановлении

Сообщение про данную ошибку всплывает на экране из-за неправильного отключения компьютера (не через «Завершение работы»). Раньше это означало развитие плохих блоков в SSD или проблему в разъеме или порте.

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

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

Частые вылеты при загрузке

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

Проверка производится вышеупомянутыми диагностическими программами. При создании резервной копии данных, можно отформатировать диск и произвести переустановку ОС.

Диск доступен только для чтения

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

Не стоит сразу выбрасывать подобный 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] + }