Запчасти для ноутбуков
0 товаров (0руб.)

Как работают твердотельные накопители?

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

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

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

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

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

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

Flash cell structure

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

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

SSD-Latency

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

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

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

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

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

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

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

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

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

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

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

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

Контроллер твердотельного накопителя

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

SSD controller

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

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

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

Интерфейсы

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



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

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

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

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

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

Optane отступает на корпоративном рынке

С 2017 по начало 2021 года Intel предлагала свою память Optane в качестве альтернативы флэш-памяти NAND на потребительском рынке. В начале 2021 года компания объявила, что больше не будет продавать диски Optane на потребительском рынке, за исключением гибридного диска H20. H20 сочетает QLC NAND с кэш-памятью Optane для повышения общей производительности и снижения стоимости накопителя. Хотя H20 является интересным и уникальным продуктом, он не обеспечивает такой же высокой производительности, как твердотельные накопители Optane.

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

Optane1

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

Одна из причин, по которой Optane с трудом пробивается в потребительском пространстве, заключается в том, что цены на NAND резко упали в 2019 году и оставались низкими до 2020 года, что затрудняет эффективную конкуренцию для Intel.

  • Как работают твердотельные накопители?
Top