Секреты производительности твердотельных накопителей

27 Янв 2016

Секреты производительности твердотельных накопителей

Строительным материалом для современных SSD дисков являются энергонезависимые постоянные запоминающие устройства или Flash память. Физические принципы работы запоминающих устройств на основе полевых транзисторов с плавающим затвором многократно описаны в литературе, мы не будем повторяться. Примечательно, что эти принципы общие для SSD дисков и микросхем носителей кода BIOS или UEFI Firmware. Конечно, производительность операций чтения и записи, объемы хранимой информации, допустимое количество циклов перезаписи — эти важные параметры у SSD и носителей Firmware отличаются на порядки. От них и зависят качественные характеристики твердотельных накопителей. Посмотрим, что можно выудить из открытых источников.

Система обозначения микросхем для SSD

Итак, перейдем к практике. Взглянув на плату накопителя, не составляет особого труда выделить матрицу микросхем Flash ROM. Как правило это несколько одинаковых корпусов, занимающих большую часть площади PCB. Воспользовавшись ниже приведенной таблицей, мы можем узнать основные параметры flash-компонентов от Intel: объем, разрядность интерфейса, напряжение питания и т. д.

Система обозначений микросхем Intel NAND Flash Memory
Рис.1 Система обозначений микросхем Intel NAND Flash Memory

Напомним, технология MLC (Multi Level Cell) основана на использовании ячеек памяти, имеющих более двух устойчивых состояний и способных хранить более одного бита информации. Например, 4 состояния позволяют хранить 2 бита: 00,01,10,11b. Это позволяет увеличить плотность хранения информации, но вынуждает применять интеллектуальные алгоритмы коррекции ошибок.

Синхронный и асинхронный режим

Декларированная производительность для асинхронного и синхронного режимов передачи в пересчете на одну сигнальную линию
Рис.2 Декларированная производительность для асинхронного и синхронного режимов передачи в пересчете на одну сигнальную линию

Согласно документации, имеет место более чем шестикратная разница производительности между синхронным и асинхронным режимом передачи данных. Как достигнут такой показатель? Аналогии дело неблагодарное, но здесь мы имеем право заявить, что принцип передачи сигналов в синхронном режиме Flash-памяти достаточно сходен с аналогичным принципом для динамического ОЗУ. Напомним, один из ключевых моментов состоит в тактировании данных источником или source-synchronous interface. При этом добавляется специальный стробирующий двунаправленный сигнал DQS. Его направление всегда совпадает с направлением передачи по шине данных. Кроме того, при разводке печатной платы, геометрия линии DQS (длина и форма проводника) реализуется максимально сходной с линиями шины данных. Поэтому задержка передачи этого сигнала примерно такая же, как для сигналов данных.

Минимизация «перекосов» между линиями шины данных и стробированием позволяет безошибочно передавать сигналы на высоких частотах. В нашем примере более чем в 6 раз. Акцентируем внимание на том, что сигнал DQS лишь несколько уточняет момент захвата достоверных данных, высокоуровневое управление последовательностью чтений и записей выполняет контроллер, на основании команд, поступающих от хост-системы.

Скоростные режимы, поддерживаемые при асинхронной передаче. Значению 50 мегатранзакций в секунду, выделенному на рис.2, соответствует режим Mode 5 с тактовой частотой 50 MHz
Рис.3 Скоростные режимы, поддерживаемые при асинхронной передаче. Значению 50 мегатранзакций в секунду, выделенному на рис.2, соответствует режим Mode 5 с тактовой частотой 50 MHz

Скоростные режимы, поддерживаемые при синхронной передаче. Значению 333 мегатранзакций в секунду, выделенному на рис.2, соответствует режим Mode 6 с тактовой частотой 166 MHz в режиме Double Data Rate (DDR)
Рис.4 Скоростные режимы, поддерживаемые при синхронной передаче. Значению 333 мегатранзакций в секунду, выделенному на рис.2, соответствует режим Mode 6 с тактовой частотой 166 MHz в режиме Double Data Rate

Резюме

Согласно документации Intel, не все микросхемы поддерживают синхронный режим передачи. Сделаем поправку на дату выхода первоисточника (Май 2013 года) и вычислим гипотетическую производительность накопителя, для следующего оптимистического сценария:

  1. Используется синхронный режим передачи микросхемы Flash ROM. При этом пропускная способность микросхем равна 333 мегатранзакций в секунду на сигнальную линию. Согласно описанию на рис 2, выбираем графу таблицы на рис. 4. Тактовая частота 166MHz в режиме DDR (Double Data Rate).
  2. Применяются 16-битные микросхемы, что означает передачу двух байтов за каждую транзакцию.
  3. В каждый момент времени адресуется одна микросхема Flash ROM. Экстенсивный подход с параллельным включением микросхем не используется.

Перемножим частоту, разрядность в байтах и количество микросхем:

333.3(3) * 2 * 1 = 667 мегабайт в секунду.

Наличие тройки в периоде в значении частоты, позволило аргументировано избежать указания «числа зверя». Воздержавшись от преждевременных выводов, отметим, что эта величина достаточно близка к рекордам, демонстрируемым накопителями, ориентированными на энтузиастов. Также отметим, что спецификация ONFI (Open NAND Flash Interface) с элементами которой мы сегодня познакомились, допускает и более высокие скорости передачи. Тактовая частота в нашем примере классифицируется как ONFI Synchronous Mode 6.

Литература

Intel 64M20C Client Compute NAND Flash Memory. PF29F64G08LCMFS, PF29F16B08MCMFS, PF29F32B08NCMFS.