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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Контроллер SSD

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

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

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

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

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

Интерфейсы

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

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

Диски NVMe обеспечивают более высокую производительность, чем традиционные драйверы SATA, поскольку они поддерживают более быстрый интерфейс. Обычные SSD, подключенные через SATA, имеют максимальную скорость ~ 550 МБ / с с точки зрения практической скорости чтения / записи. Накопители M.2 способны значительно повысить производительность в диапазоне 3,2 ГБ / с.

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

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

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

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

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

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

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

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