Устройство хранения данных

Полезная модель относится к области систем хранения данных и, в частности к области многопротокольных устройств хранения данных, поддерживающих файловые и блочные протоколы доступа, и может быть использована для увеличения объема записи и надежного хранения.
Известно многопротокольное устройство хранения данных, реализующее интегрированную поддержку файловых и блочных протоколов доступа (патент РФ №2302034). Система хранения данных представляет собой компьютер с функционирующей на нем службой хранения информации, в основе которой лежит организация информации на перезаписываемых постоянных запоминающих устройствах, например, блоках памяти, лентах или дисках. Система хранения данных, как правило, устанавливается в среде сети хранения данных (storage area network, SAN) или среде накопителя, подключенного к сети (network attached storage, NAS).
Система хранения данных (СХД), используемая в среде NAS, может быть реализована в виде файлового сервера, имеющего операционную систему, которая, в свою очередь, поддерживает файловую систему, посредством которой осуществляется логическая организация информации в виде иерархической структуры каталогов и файлов (например, на дисках). Каждый "дисковый" файл может представлять собой набор структур данных, например, блоков на диске, сконфигурированных для целей хранения информации, например, собственно данных файла. В свою очередь, каталог может представлять собой файл специального формата, в котором хранится информация о других файлах и каталогах.
Известна также система внешнего хранения данных (патент №2383952).
В общем случае СХД состоит из жестких дисков (HDD), контроллера ввода/вывода и объединяющей системы. Диски, как правило, поддерживают "горячую замену", то есть их можно подключать и отключать "на лету", без выключения накопителя. Это дает возможность заменить вышедший из строя винчестер без каких-либо неприятностей для пользователя. Основной и резервный блоки питания накопителя имеют повышенную надежность и также допускают "горячую замену".
Схема типичной дисковой системы хранения данных с одним контроллером представлена на рис. 1 в http://ko.com. ua/sistemy_hraneniya_dannyh_nachalnogo_urovnya_14866?site=mobile и взята за прототип.
Контроллер дисковой системы хранения данных является ее центром. Он отвечает за ввод/вывод данных внутри системы и на внешние каналы, а также за организацию хранения и доступа к информации. Для связи с внешним миром контроллеры накопителей обычно используют интерфейсы SCSI, Fibre Channel или же Ethernet. В зависимости от предназначения системы контроллеры могут реализовывать различную логику работы и применять различные протоколы обмена данными. Они предоставляют для систем пользователей данные на блочном уровне, как винчестеры, или же файловые сервисы по протоколам NFS, CIFS, а также Network File System, Common Internet File System подобно файловым. Такой контроллер обычно поддерживает стандартные уровни RAID для увеличения быстродействия системы и обеспечения отказоустойчивости.
Наиболее близким техническим решением является устройство, описанное В http://ko.com.ua/sistemy_hraneniya_dannyh_nachalnogo_urovnya_14866?site=mobile - прототип.
Данная система хранения данных содержит контроллер, N HDD, соединенные входами/выходами с контроллером.
Цель полезной модели - обеспечение аппаратной компрессии данных для экономии пространства в хранилище и увеличения пропускной способности.
Поставленная цель достигается тем, что в систему хранения данных, содержащую контроллер, N HDD, соединенные входами/выходами с контроллером, дополнительно введены кластер 1U серверов с FPGA в составе сетевого адаптера с поддержкой компрессии, центрального процессора (CPU), первый вход/выход которого соединен со вторым входом/выходом сетевого адаптера с поддержкой компрессии, третий вход/выход соединен с первым входом/выходом контроллера, программируемая логическая интегральная схема FPGA, первый вход/выход которой соединен со вторым входом/выходом центрального процессора; коммутатор, второй вход/выход которого соединен со вторым входом/выходом контроллера, третий вход/выход - с первым входом/выходом сетевого адаптера с поддержкой компрессии, а первый вход/выход является входом/выходом всего устройства.
Сравнение с прототипом показывает, что заявляемое устройство отличается наличием новых блоков и их связями между ними. Таким образом, заявляемое устройство соответствует критерию «новизна».
Сравнение заявляемого решения с другими техническими решениями показывает, что перечисленные элементы, используемые в блоках, являются известными, однако их введение в указанной связи с остальными элементами приводит к решению новой задаче экономии пространства в хранилище за счет компрессии входящих данных. Это подтверждает соответствие технического решения критерию «существенные отличия».
На фиг. 1 показана общая блок-схема предлагаемого устройства, содержащее N жестких дисков (HDD) 1, контроллер 2, кластер 1U серверов с FPGA 3 в составе сетевого адаптера с поддержкой компрессии 3-3, центрального процессора (CPU) 3-1 и программируемой логической интегральной схемы FPGA 3-2; коммутатор 4.
На фиг. 2 показана общая схема сервера с FPGA, осуществляющего распараллеливание каналов и компрессию данных.
Устройство работает следующим образом.
1U серверы с FPGA 3 могут быть сконфигурированы для работы по модели предоставления информации "клиент-сервер", что позволяет многим клиентским системам (клиентам) получать доступ к совместно используемым ресурсам, например, файлам, хранящимся в файловой системе. Совместное использование файлов - характерная черта системы NAS (Network attached Storage), поскольку эта возможность обуславливается семантическим уровнем доступа к файлам и файловым системам, присущим таким системам. Средства хранения информации в системе NAS, как правило, устанавливаются в компьютерной сети, включающей в себя множество территориально распределенных взаимосвязанных каналов связи, таких как Ethernet, которые позволяют удаленным клиентам обращаться к информации (файлам) на файловом сервере. Как правило, клиенты взаимодействуют с файловой системой путем обмена дискретными кадрами или пакетами данных по предварительно определенным протоколам, например, TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол Интернета).
В клиент-серверной модели клиент может включать в себя приложение, функционирующее на компьютере и "соединяющееся" с файловым сервером по компьютерной сети, например, по каналу связи типа "точка-точка", совместно используемой локальной сети, глобальной сети или виртуальной частной сети, развернутой на основе сети общего пользования, например, Интернета. В системах NAS, как правило, используются файловые протоколы доступа; это означает, что каждый клиент может запросить услуги файлового сервера путем посылки по сети сообщений для файлового сервера с использованием протокола файловой системы (в форме пакетов), при этом сообщения идентифицируют один или более файлов, к которым запрашивается доступ, без учета конкретного их местоположения, например, блоков, в которых данные хранятся на диске. Поддержка множества протоколов файловых систем, таких как протоколы CIFS (Common Internet File System, общий протокол доступа к Интернет-файлам), NFS (Network File System, сетевая файловая система) и DAFS (Direct Access File System, файловая система с прямым доступом), позволяет расширить функции файлового сервера для работы с сетевыми клиентами. SAN (Storage Area Network) предназначены для передачи массивных блоков данных в СХД, в то время как NAS обеспечивают доступ к данным на уровне файлов.
Комбинацией SAN+NAS можно получить высокую степень интеграции данных, высокопроизводительный доступ и совместный доступ к файлам. Такие системы получили название unified storage - «унифицированные системы хранения».
Используемые в устройствах хранения данных жесткие диски можно подразделить на два основных типа: HDD (Hard Disk Drive) и SSD (Solid State Drive, - так называемый «твердотельный диск»). То есть, и тот и другой диск - жесткие.
Использование аппаратной компрессии в системе хранения данных позволяет достичь:
- повышения эффективности хранения;
- снижения нагрузки на центральном процессоре;
- увеличение пропускной способности;
- снижения нагрузки на SAN, LAN;
- уменьшения количества операций ввода-вывода;
- увеличения срока службы накопителей.
Компрессия (сжатие данных), используемая в предлагаемом устройстве для обеспечения экономии пространства в хранилище - алгоритмическое преобразование данных, производимое с целью уменьшения занимаемого ими объема. Применяется для более рационального использования устройств хранения и передачи данных. Обратная процедура называется восстановлением данных (распаковкой, декомпрессией).
Сжатие основано на устранении избыточности, содержащейся в исходных данных. Простейшим примером избыточности является повторение в тексте фрагментов (например, слов естественного или машинного языка). Подобная избыточность обычно устраняется заменой повторяющейся последовательности ссылкой на уже закодированный фрагмент с указанием его длины. Другой вид избыточности связан с тем, что некоторые значения в сжимаемых данных встречаются чаще других. Сокращение объема данных достигается за счет замены часто встречающихся данных короткими кодовыми словами, а редких - длинными (энтропийное кодирование).
Сжатие без потерь позволяет полностью восстановить исходное сообщение, так как не уменьшает в нем количество информации, несмотря на уменьшение длины.
В предлагаемом устройстве для сжатия информации используется программируемая логическая интегральная схема (ПЛИС) FPGA 3-2, обладающая высокой эффективностью и позволяющая реализовывать различные типы цифровых устройств. FPGA все чаще используются в системах обработки изображений и видеосигналов, главным образом из-за повышенных требований к производительности и степени интеграции для подобных приложений. Использование FPGA позволяет быстро реализовывать требуемые задачи, благодаря наличию встроенных IP-блоков, корректировать схему без замены аппаратной платформы, обеспечивает широкие возможности для распараллеливания вычислений и скоростной коммуникации.
Распараллеливание FPGA и дальнейшая компрессия данных позволяет существенно сократить время обработки входящей информации, необходимое для сжатия данных без потерь обработки в FPGA в параллельной конфигурации, позволяя обеспечить передачу данных в соответствующие моменты времени на основе прогнозов завершения каждого вычисления. Лаборатория Fujitsu внедрила технологию аппаратной компрессии данных на серверах с FPGA [1], подтвердив примерно в тридцать раз ускорение обработки данных по сравнению с производительностью обработки в CPU 3-1.
Данная реализация устройства сжатия в FPGA способна работать на частотах до 250 МГц с потоками данных до 4 Гбит/с.
Таким образом, предлагаемое устройство хранения данных с использованием программируемой логической интегральной схемы FPGA в составе сервера позволяет обеспечить экономию пространства в хранилище.
Литература
1. http://www.fujitsu.com/global/about/resources/news/press-releases/2017/1211-01.html