Из чего состоит SSD

NAND Flash Memory

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

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

схема1
схема1

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

Ячейки присутствуют в сетке, известной как блок. Отдельная строка в блоке называется страницей и поддерживает размеры 2КБ, 4Кб, 8Кб и 16Кб. Каждый блок содержит 128-256 страниц, поэтому приблизительный его размер варьируется от 256Кб до 4Мб.

"Я скажу то, что для Вас не новость. Мир не такой уж солнечный и приветливый..."

Особенности SSD

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

А вот при изменении/стирании данных в SSD накопителе не так все просто. Микросхемы NAND флэш-памяти оптимизированы для секторного выполнения операций. Флеш-память пишется блоками по 4 Кб, а стирается по 512 Кб. При модификации нескольких байт внутри некоторого блока контроллер выполняет следующую последовательность действий:

  1. считывает блок, содержащий модифицируемый блок во внутренний буфер/кеш;
  2. модифицирует необходимые байты;
  3. выполняет стирание блока в микросхеме флэш-памяти;
  4. вычисляет новое местоположение блока в соответствии с требованиями алгоритма перемешивания;
  5. записывает блок на новое место.

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

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

Логическое устройство SSD