Как работают SSD?

Как работают SSD?

Здесь, на wfoojjaec, мы часто обсуждали разницу между различными типами структур NAND - вертикальная NAND по сравнению с плоской или многоуровневой ячейкой (MLC) по сравнению с трехуровневыми ячейками (TLC) и четырехуровневыми ячейками (QLC). Теперь давайте поговорим о более базовом актуальном вопросе: как работают SSD, и как они соотносятся с более новыми технологиями, такими как технология энергонезависимого хранения данных Intel, Optane?

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

С самого начала было ясно, что жесткие диски не могут соответствовать скоростям, с которыми могут работать процессоры. Задержка в жестких дисках измеряется в миллисекундах по сравнению с наносекундами для вашего типичного процессора. Одна миллисекунда составляет 1 000 000 наносекунд, и обычно на жесткий диск уходит 10-15 миллисекунд, чтобы найти данные на диске и начать их чтение. Индустрия жестких дисков представила меньшие жесткие диски, кэш-память на диске и более высокую скорость вращения шпинделя, чтобы противодействовать этой тенденции, но только такие быстрые диски могут вращаться. Семейство VelociRaptor компании Western Digital со скоростью вращения 10 000 об / мин является самым быстрым набором накопителей, когда-либо созданных для потребительского рынка, в то время как некоторые корпоративные накопители вращаются со скоростью до 15 000 об / мин. Проблема в том, что даже самый быстрый вращающийся диск с самыми большими кэшами и самыми маленькими жесткими дисками все еще мучительно медленен в отношении вашего процессора.

Чем отличаются SSD

«Если бы я спросил людей, чего они хотят, они бы сказали, быстрее лошадей». - Генри Форд

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

Как работают SSD?

Диаграмма выше показывает простой дизайн флэш-ячейки. Электроны хранятся в плавающем затворе, который затем читается как заряженный «0» или незаряженный «1.» Да, во флэш-памяти NAND 0 означает, что данные хранятся в ячейке - это противоположно тому, как мы обычно думаем о ноль или один. NAND flash организован в виде сетки. Весь макет сетки называется блоком, а отдельные строки, составляющие сетку, называются страницами. Типичные размеры страниц: 2 КБ, 4 КБ, 8 КБ или 16 КБ, от 128 до 256 страниц на блок. Поэтому размер блока обычно варьируется от 256 КБ до 4 МБ.

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

Изображение от CodeCapsule
Изображение от CodeCapsule

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

В приведенной выше таблице есть две вещи, на которые следует обратить внимание. Во-первых, обратите внимание, как добавление большего количества бит на ячейку NAND оказывает существенное влияние на производительность памяти. Это хуже для записи, чем для чтения - типичная задержка трехуровневой ячейки (TLC) в 4 раза хуже по сравнению с одноуровневой ячейкой (SLC) NAND для чтения, но в 6 раз хуже для записи. Задержки стирания также значительно влияют. Влияние также не пропорционально - TLC NAND почти вдвое медленнее, чем MLC NAND, несмотря на то, что он содержит на 50% больше данных (три бита на ячейку вместо двух). Это также верно для приводов QLC, которые хранят еще больше битов при разных уровнях напряжения в одной ячейке.

Как работают SSD?

Причина, по которой TLC NAND медленнее, чем MLC или SLC, связана с тем, как данные перемещаются в ячейку NAND и выходят из нее. При использовании SLC NAND контроллер должен знать только, является ли бит 0 или 1. При использовании MLC NAND ячейка может иметь четыре значения - 00, 01, 10 или 11. При использовании TLC NAND ячейка может иметь восемь значений. и QLC имеет значение 16. Для считывания правильного значения из ячейки контроллер памяти должен использовать точное напряжение, чтобы определить, заряжена ли какая-либо конкретная ячейка.

Читает, пишет и стирает

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

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

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

Изображение предоставлено Википедией
Изображение предоставлено Википедией

Обратите внимание, что в этом примере привод использует тот факт, что он может очень быстро записывать на пустые страницы, записывая новые значения для первых четырех блоков (A’-D ’). Также написано два новых блока, E и H. Блоки A-D теперь помечены как устаревшие, что означает, что они содержат информацию, помеченную диском как устаревшую. В течение периода простоя SSD переместит свежие страницы в новый блок, сотрет старый блок и пометит его как свободное место. Это означает, что в следующий раз, когда твердотельному накопителю потребуется выполнить запись, он может выполнить запись непосредственно в пустой блок X вместо выполнения цикла программы / стирания.

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

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

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

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

Контроллер SSD

Теперь должно быть очевидно, что твердотельные накопители требуют гораздо более сложных механизмов управления, чем жесткие диски. Это не для того, чтобы рассеивать магнитные носители - я на самом деле думаю, что жесткие диски заслуживают большего уважения, чем им дают. Механические проблемы, связанные с балансировкой нескольких головок для чтения и записи на нанометрах над пластинами, которые вращаются со скоростью от 5400 до 10000 об / мин, не являются чиханием. Тот факт, что жесткие диски выполняют эту задачу, внедряя новые методы записи на магнитные носители и в конечном итоге заканчивая продажей дисков по 3-5 центов за гигабайт, просто невероятен.

Типичный контроллер SSD
Типичный контроллер SSD

Контроллеры SSD, однако, находятся в классе сами по себе. У них часто есть пул памяти DDR3 или DDR4, чтобы помочь с управлением самой NAND. Многие накопители также содержат одноуровневые кэши ячеек, которые действуют как буферы, увеличивая производительность накопителя, выделяя быстрые NAND для циклов чтения / записи. Поскольку флэш-память NAND в SSD обычно подключается к контроллеру через серию параллельных каналов памяти, вы можете думать о контроллере накопителя как о выполнении той же работы по балансировке нагрузки, что и массив хранения высшего класса - SSD не развертываются Внутренний RAID, но выравнивание износа, сборка мусора и управление кэш-памятью SLC имеют параллели в большом железном мире.

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

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

Интерфейсы

Сначала SSD использовали порты SATA, как и жесткие диски. В последние годы мы наблюдаем переход к дискам M.2 - очень тонким дискам длиной в несколько дюймов, которые вставляются непосредственно в материнскую плату (или, в некоторых случаях, в монтажный кронштейн на переходной плате PCIe. Samsung). Привод 970 EVO Plus показан ниже.

Как работают SSD?

Дорога впереди

NAND Flash предлагает огромное улучшение по сравнению с жесткими дисками, но не без собственных недостатков и проблем. Ожидается, что емкость дисков и цена за гигабайт будут продолжать расти и падать соответственно, но маловероятно, что твердотельные накопители будут ловить жесткие диски по цене за гигабайт. Сжатие узлов процесса является серьезной проблемой для флэш-памяти NAND - в то время как большинство аппаратных средств улучшается по мере сжатия узла, NAND становится более хрупким. Время хранения данных и производительность записи по сути ниже для 20-нм NAND, чем для 40-нм NAND, даже если плотность данных и общая емкость значительно улучшены. До сих пор мы видели накопители с 96 слоями на рынке, и 128 слоев кажутся правдоподобными на данный момент. В целом, переход к 3D NAND помог улучшить плотность, не сжимая узлы процесса и не полагаясь на планарное масштабирование.

До сих пор производители твердотельных накопителей обеспечивали более высокую производительность, предлагая более быстрые стандарты данных, большую пропускную способность и большее количество каналов на контроллер - плюс использование кэшей SLC, о которых мы упоминали ранее. Тем не менее, в долгосрочной перспективе предполагается, что NAND будет заменен чем-то другим.

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

Intel 3D XPoint (продается как Intel Optane) превратилась в одного потенциального конкурента флэш-памяти NAND и единственной современной альтернативной технологии в массовом производстве. Оптановые твердотельные накопители не используют NAND - они построены с использованием энергонезависимой памяти, которая, как считается, реализована аналогично оперативной памяти с фазовым переходом, - но они предлагают аналогичную последовательную производительность для современных флэш-накопителей NAND, но с гораздо лучшей производительностью в невысоких очередях дисков. Задержка диска также составляет примерно половину флэш-памяти NAND (10 микросекунд против 20) и значительно более высокую долговечность (30 полных операций записи дисков в день по сравнению с 10 полными операциями записи дисков в день для высокопроизводительных твердотельных накопителей Intel).

Цели производительности Intel Optane
Цели производительности Intel Optane

Ознакомьтесь с нашей серией статей wfoojjaec Explains для более глубокого освещения самых актуальных технических тем на сегодняшний день.

Читать далее

Новые детали Intel Rocket Lake: обратная совместимость, графика Xe, Cypress Cove
Новые детали Intel Rocket Lake: обратная совместимость, графика Xe, Cypress Cove

Intel опубликовала немного больше информации о Rocket Lake и его 10-нм процессоре, который был перенесен на 14-нм.

В Massive Shift Apple анонсирует новые Mac с чипом M1 на базе ARM
В Massive Shift Apple анонсирует новые Mac с чипом M1 на базе ARM

Apple добилась огромного успеха, когда в последний раз перешла на архитектуру Intel, но на этот раз? Жюри все еще отсутствует, но одно можно сказать наверняка: Apple собирается заработать намного больше денег.

Nvidia будет имитировать память AMD Smart Access на Ampere: отчет
Nvidia будет имитировать память AMD Smart Access на Ampere: отчет

Память AMD Smart Access еще даже не отправлена, но Nvidia утверждает, что может дублировать эту функцию.

AMD предоставит поддержку памяти Smart Access для оборудования Intel и Nvidia
AMD предоставит поддержку памяти Smart Access для оборудования Intel и Nvidia

Сообщается, что AMD работает с Nvidia и Intel, чтобы обеспечить аппаратную поддержку памяти Smart Access для других платформ GPU и CPU.