image

Часть 1. Анатомия накопителей: жёсткие диски

Твёрдый, как камень


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

Первые шаги на этом пути были сделаны компанией Toshiba, предложившей в 1980 году концепцию флеш-памяти. Четыре года спустя она создала NOR-память, а в 1987 году — NAND-память. Первый коммерческий накопитель с использованием флеш-памяти (solid state drive, или SSD) был выпущен SunDisk (позже переименованной в SanDisk) в 1991 году.

Большинство людей начало своё знакомство с твердотельными накопителями с так называемых USB-флешек. Даже сегодня их структура в целом напоминает конструкцию большинства SSD.


Слева показан один чип NAND-памяти SanDisk. Как и SRAM, он используется в кэшах ЦП и GPU. Он заполнен миллионами «ячеек», созданных из модифицированных транзисторов с плавающим затвором. В них используется высокое напряжение для записи и стирания заряда в отдельных участках транзистора. При считывании ячейки на участок подается пониженное напряжение.

Если ячейка не заряжена, то при подаче пониженного напряжения ток течёт. Это даёт системе понять, что ячейка имеет состояние 0; в противоположном случае она имеет состояние 1 (т.е. при подаче напряжения ток не течёт). Благодаря этому чтение из NAND-памяти выполняется очень быстро, но запись и удаление данных не так быстры.

Самые лучшие ячейки памяти, называаемые одноуровневыми ячейками (single level cells, SLC), имеют только одну величину заряда, создаваемого на участке транзистора; однако существуют и ячейки памяти, способные иметь несколько уровней заряда. В общем случае всех их называют многоуровневыми ячейками (multi-level cells, MLC), но в отрасли производства NAND-памяти аббревиатурой MLC обозначают 4 уровня заряда. Другие типы имеют похожие названия: трёхуровневые (triple level, TLC) и четырёхуровневые (quad level, QLC) имеют, соответственно, 8 и 16 различных уровней заряда.

Это влияет на то, сколько данных можно хранить в каждой ячейке:

  • SLC — 1 уровень = 1 бит
  • MLC — 4 уровня = 2 бита
  • TLC — 8 уровней = 3 бита
  • QLC — 16 уровней = 4 бита

И так далее. Кажется, что QLC — самые лучшие ячейки, правда? К сожалению, это не так. Токи очень малы и чувствительны к электрическому шуму, поэтому для определения разных уровней заряда ячейки нужно считывать значение несколько раз, чтобы подтвердить его. Если вкратце, то SLC — самые быстрые ячейки, но занимают больше всего физического пространства, а QLC — самые медленные, но за свои деньги вы получаете больше бит.

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

Эту функцию контролирует управляющий чип, показанный справа. Ещё он выполняет те же задачи, что и чип LSI, используемый в HDD. Однако в приводах с вращающимися дисками есть отдельные чипы для DRAM-кэша и встроенного ПО Serial Flash, а в USB-флешке оба контроллера встроены. И поскольку они проектируются так, чтобы быть дешёвыми, особой функциональности вы от них не получите.

Но благодаря отсутствию подвижных частей можно с уверенностью ожидать, что производительность флеш-памяти будет выше, чем у HDD. Давайте посмотрим на показатели с помощью CrystalDiskMark:


Поначалу результаты разочаровывают. Скорость последовательного чтения/записи и случайной записи гораздо хуже, чем у протестированного HDD; однако произвольное чтение намного лучше, и это то преимущество, которое обеспечивает флеш-память. Запись и удаление данных выполняются довольно медленно, зато считывание обычно производится мгновенно.

Однако у этого теста есть ещё одна незаметная особенность. Тест USB-памяти обеспечивает подключение только по стандарту USB 2.0, который имеет максимальную скорость передачи всего 60 МБ/с, а HDD использовал порт SATA 3.3, обеспечивающий пропускную способность в 10 раз больше. К тому же использованная технология флеш-памяти довольно проста: ячейки имеют тип TLC и выстроены в длинные параллельные полосы; такая компоновка называется плоской (planar) или двухмерной (2D).

Флеш-память, используемая в лучших современных SSD, имеет тип SLC или MLC, то есть она работает чуть быстрее и изнашивается чуть медленнее, а полосы согнуты пополам и выстроены стоймя, образуя вертикальную или трёхмерную структуру ячеек. Также в них используется интерфейс SATA 3.0, хотя всё чаще применяется более быстрая система PCI Express через интерфейс NVMe.

Давайте взглянем на один такой пример: Samsung 850 Pro, в котором использованы эти хитрости с вертикальным расположением.


В отличие от тяжёлого 3,5-дюймового привода Seagate, этот SSD имеет размер всего 2,5 дюйма и намного тоньше и легче.

Откроем его (спасибо Samsung за использование таких дешёвых болтов Torx, которые чуть не развалились при демонтаже...) и увидим, почему:


В нём почти ничего нет!

Ни дисков, ни рычагов, ни магнитов — просто одна печатная плата, состоящая из нескольких чипов.


Так что же мы тут видим? Небольшие чёрные чипы — это регуляторы напряжения, а остальные выполняют следующие функции:

  • Samsung S4LN045X01-8030: трёхъядерный процессор на основе ARM Cortex R4, занимающийся обработкой инструкций, данными, коррекцией ошибок, шифрованием и управлением износом
  • Samsung K4P4G324EQ-FGC2: 512 МБ памяти DDR2 SDRAM, используемой для кэша
  • Samsung K9PRGY8S7M: каждый чип — это 64 ГБ 32-слойной вертикальной флеш-памяти NAND типа MLC (в сумме 4 чипа, два расположены на другой стороне платы)

У нас есть 2-битные ячейки флеш-памяти, несколько чипов памяти и много кэша, что должно обеспечить повышенную производительность. Почему? Вспомним, что запись данных во флеш-память — довольно медленный процесс, но наличие нескольких флеш-чипов позволяет выполнять запись параллельно. У USB-флешки нет много DRAM для хранения данных, готовых к записи, поэтому отдельный чип тоже в этом поможет. Вернёмся в CrystalDiskMark…


Улучшение оказалось огромным. Скорость и чтения, и записи стала значительно выше, а задержки намного меньше. Что ещё нужно для счастья? Меньше и легче, нет подвижных деталей; к тому же SSD потребляют меньше энергии, чем механические дисковые накопители.

Разумеется, за все эти преимущества имеют свою цену, и здесь слово «цена» используется в буквальном смысле: вы же помните, что за 350 долларов можно купить HDD на 14 ТБ? Если брать SSD, то за эту сумму удастся приобрести только 1 или 2 ТБ. Если вы хотите накопитель такого же уровня, то пока лучшее, что вы можете сделать — это потратить 4 300 долларов на один SSD корпоративного уровня ёмкостью 15,36 ТБ!

Некоторые производители изготавливали гибридные HDD — стандартные жёсткие диски, на печатных платах которых было размещено немного флеш-памяти; она используется для хранения данных на дисках, к которым часто осуществляется доступ. Ниже показана плата из гибридного накопителя Samsung ёмкостью 1 ТБ (иногда называемого SSHD).


В правом верхнем углу платы находятся чип NAND и его контроллер. Всё остальное примерно такое же, как и в модели Seagate, которую мы рассматривали в предыдущем посте.

Мы можем в последний раз воспользоваться CrystalDiskMark, чтобы посмотреть, есть ли какая-то ощутимая выгода от использования флеш-памяти в качестве кэша, но сравнение будет нечестным, так как диски этого накопителя вращаются со скоростью 7200 rpm (а у HDD WD, который мы использовали для аутопсии — всего с 5400 rpm):


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

Несмотря на это, более качественное тестирование показало улучшение производительности HDD с встроенным SSD. Однако дешёвая флеш-память, скорее всего, выйдет из строя намного быстрее, чем качественный HDD, поэтому гибридные накопители, вероятно, не стоят нашего внимания — индустрия производства накопителей гораздо сильнее заинтересована в SSD.

Прежде чем мы двинемся дальше, стоит упомянуть, что флеш-память — не единственная технология, используемая в твёрдотельных накопителях. Intel и Micron совместно изобрели систему под названием 3D XPoint. Вместо записи и стирания зарядов зарядов в ячейках для создания состояний 0 и 1, для генерации битов в этой системе ячейки изменяют своё электрическое сопротивление.

Intel рекламировала эту новую память под брендом Optane, и когда мы протестировали её, производительность оказалась выдающейся. Как и цена системы, но в плохом смысле. Накопитель Optane всего на 1 ТБ сегодня стоит более 1 200 долларов — в четыре раза больше, чем SSD такого же объёма на основе флеш-памяти.

Третьим и последним накопителем, который мы исследуем в следующей статье, будут оптические приводы.