С начала 1970-х годов предпринимаются активные попытки найти замену архаичным по нынешним временам механическим магнитным дискам (Hard Disk Drive, HDD) — возможные варианты их замещения обобщенно называются быстродействующей электронной твердотельной постоянной памятью (Non-Volatile Memory, NVM). Процесс перехода от HDD к NVM проходит на удивление долго: потребовалось более четверти века экспериментов, чтобы лишь в конце 1990-х на рынке появились первые накопители NVM, или твердотельные накопители (Solid State Device, SSD). Успешнее других оказались эксперименты с технологией NAND, которую стали называть «флеш». Именно она смогла первой заменить жесткие диски, с начала 2000-х монополизировав рынок гаджетов и лишь в 2013 году перекинувшись на корпоративные системы, что сразу породило разговоры о неизбежно грядущем тектоническом сдвиге, вызванном этим событием [1].
Такая долгая процедура внедрения NVM обусловлена не столько стремлением придать флеш-памяти необходимые функциональные качества, сколько тем, что изначально все современные корпоративные информационные системы создавались именно в расчете на HDD, поэтому сдерживающим фактором стала инерция существующей инсталляционной базы. Оценивая нынешние громкие заявления по поводу перехода на флеш, стоит принять во внимание, что и это не панацея, а всего лишь первый опыт замены HDD устройствами на базе флеш-памяти.
Флеш-память является частью более широкой совокупности возможных решений для создания NVM, или «памяти класса хранилища» (Storage-Class Memory, SCM), сочетающей в себе надежность и скорость работы динамической памяти с произвольным доступом, близким к DRAM теоретически неограниченной емкости. Помимо флеш-памяти, в эту категорию технологий попадают еще более десятка альтернативных физических методов, среди которых преимущество пока имеют следующие пять: мемристоры (Resistive Random Access Memory, ReRAM); магниторезистивная память с произвольным доступом (Magneto-resistive Random-Access Memory, MRAM); память с изменением фазового состояния (Phase-change memory, PCM); память на доменной стене (Domain-Wall Memory, DWM) и атомная память (Atomic memory). Кроме них, известны еще энергонезависимая статическая память с произвольным доступом (nvSRAM); сегнетоэлектрическая оперативная память (Ferroelectric RAM, FeRAM или FRAM); память на основе механического позиционирования углеродных нанотрубок (Nano-RAM). Из всего этого множества наиболее близки к практическому внедрению ReRAM и PCM.
Мемристором называют пассивный элемент, способный изменять свое сопротивление [2]. Разработка ReRAM ведется в рамках проекта The Machine в лаборатории HP Labs и компании SanDisk, а практические результаты можно ожидать в ближайшие годы. Идеи PCM реализованы в технологии 3D XPoint, разрабатываемой Intel и Micron. Единица хранения в 3D XPoint определяется сменой сопротивления материалов, что позволяет существенно увеличить плотность хранения. Флеш-память намного моложе некоторых из этих технологий, но с технологической точки зрения она проще, что и позволило начать внедрение накопителей на ее основе раньше, чем других из семейства NVM.
Область внедрения SCM лежит между памятью и дисками (рис. 1), а поскольку производительность и стоимость технологий, потенциально пригодных для создания SCM, варьируются, то среди решений могут быть более быстрые, близкие по производительности к памяти, и более медленные, сравнимые по производительности с дисками. Сопоставимая по скорости с DRAM память на мемристорах или PCM позволит напрямую подключить к процесcору большой объем памяти, что может стать революционным шагом, который позволит преодолеть ограничения модели фон Неймана (возможно, именно таким будет компьютер HPE The Machine). Что же касается флеш-памяти, то ее роль достаточно скромная и состоит в ускорении существующих решений.
Рис. 1. Область внедрения SCM. Красным показана область ближе к DRAM, а синим — ближе к HDD (мемристоры и PCM лежат в красной области, а флеш — в синей) |
Для SCM есть три потенциальных места внедрения (рис. 2): подключение через контроллер параллельно оперативной памяти; между памятью и системой хранения с подключением к контроллеру ввода-вывода; параллельно системе хранения с подключением к ее контроллеру.
Рис. 2. Модель внедрения SCM |
Технология флеш-памяти принципиально отличается от технологии дисков: в ней используется качественно иной принцип доступа к данным. По сути, диски — это те же ленты, дорожки в них размещены на вращающихся поверхностях в виде концентрических окружностей, что и определяет главные слабости HDD: операции только последовательные, большие задержки. Именно на эти особенности ориентированны традиционные дисковые интерфейсы SATA и SAS, способные поддерживать лишь одну очередь команд-обращений к дискам. Флеш представляет собой устройство с прямым доступом в полном смысле этого слова: это одно- или многомерная матрица с возможностью параллельного чтения из десятков тысяч узлов одновременно, она может управляться командами из десятков тысяч очередей. Как совместить в одной системе два столь разных типа устройств?
Флеш можно подключать к контроллеру ввода-вывода (обычно по интерфейсу PCIе) и к контроллеру системы хранения (по интерфейсам SATA и SAS). Естественно, что наибольшее распространение получили «твердотельные диски» на базе флеш-памяти, эмулирующие HDD и подключаемые по SATA или SAS. Однако это решение столь же логичное, сколь и неэффективное — дисковые интерфейсы позволяют задействовать лишь малую часть потенциальной производительности флеш-памяти. Подключение флеш-памяти по SATA или SAS можно рассматривать как временную альтернативу, тем не менее SSD удается использовать в высокопроизводительных гибридных и полностью твердотельных массивах (All Flash Array) вроде HPE 3PAR благодаря внутренним ресурсам архитектуры этих массивов.
С большей эффективностью раскрытие потенциала флеш-памяти обеспечивает подключение по шине PCIе, что проще всего реализуется в мезонинных платах, применяемых в качестве ускорителей ввода-вывода PCIe IO Accelerator. Пионером в этом направлении была компания Fusion-io, в 2007 году предложившая SSD-архитектуру ioMemory с непосредственным подключением флеш-памяти к серверу. Работа ускорителей поддерживается операционными системами Linux и Windows Server 2012, которыми комплектуются серверы всех ведущих производителей. Проприетарные дисковые массивы, подключаемые по PCIе, выпускают IBM, Violin и ряд других компаний.
Не преуменьшая значения описанных способов подключения, их стоит рассматривать лишь как паллиатив. Будущее флеш-памяти обеспечит интерфейс NVMe (NVM Express) [3], которому эксперты предрекают роль, по значимости равную SCSI. Протокол NVMe рассчитан не только на современную флеш-память, но и на альтернативные варианты твердотельной энергонезависимой памяти. NVMe позволит выпускать накопители в форм-факторе 2,5 дюйма, реализующие в полной мере все скрытые возможности решений NVM. Для развития NVMe создана группа NVM Express Work Group, а индустрия получила возможность создания стандартизованных драйверов, способных реализовать весь потенциал электронной твердотельной постоянной памяти. Используя коммутаторы NVMe, из устройств типа SSD можно создавать неограниченные по размерам пространства хранения, и такие коммутаторы уже выпускает компания DSSD, вошедшая в состав EMC [4].
Литература
- Кирк Бресникер, Шарад Сингхал, Стэнли Вильямс. Как преуспеть в условиях экономики изобилия памяти? // Открытые системы.СУБД. — 2016. — № 2. — С. 10–15. URL:http://www.osp.ru/os/2016/02/13049318 (дата обращения: 18.05.2016).
- Леонид Черняк. Технологии хранения для Больших Данных // Открытые системы.СУБД. — 2014. — № 4. — С. 22–25. URL: http://www.osp.ru/os/2014/04/13041245 (дата обращения: 18.05.2016).
- Леонид Черняк. Флеш-память в лицах // Открытые системы.СУБД. — 2013. — № 2. — С. 12–16. URL: http://www.osp.ru/os/2013/02/13034536 (дата обращения: 18.05.2016).
- Дмитрий Волков. На пороге третьей платформы // Computerworld Россия. — 2014. — № 13. — С. 12. URL: http://www.osp.ru/cw/2014/13/13041281 (дата обращения: 18.05.2016).
Леонид Черняк (lc1244@gmail.com) — независимый автор (Москва).