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

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

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

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

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

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

Как отличаются твердотельные диски

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

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

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

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

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

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

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

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

Напряжения TLC NAND
Напряжения TLC NAND

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

Чтение, запись и стирание

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

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

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

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

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

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

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

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

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

Контроллер SSD

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

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

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

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

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

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

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

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

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

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

Цели Intel Optane
Цели Intel Optane
Как работают SSD?

Ознакомьтесь с нашей серией 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.