Повышение стабильности записи данных в системе видеонаблюдения: прошивка RECLine
RECLine — это проприетарное встроенное программное обеспечение (ПО), которое оптимизирует возможности записи данных на твердотельные накопители (SSD), гарантируя их бесперебойную работу с постоянной скоростью последовательной записи, то есть с минимальными потерями кадров (рис. 1). Для современных приложений наблюдения с использованием SSD устранение присущих им проблем достигается с помощью модификаций алгоритмов фоновых процессов, отвечающих за удаление данных, — очистки памяти (сборка мусора), выравнивания нагрузки (выравнивания износа) и функции TRIM SSD.
Введение
Потеря кадров — в данном контексте речь идет об обеспечении стабильной частоты кадров (Frames per Second, FPS) — является основной проблемой, которой следует избегать при записи данных наблюдения. Такие потери влияют на качество записи и могут сделать кадры зернистыми и непригодными для дальнейшего использования. Независимо от того, какой используется носитель, потеря кадров всегда является риском для системы видеонаблюдения. Кроме того, для реализации таких современных функций видеонаблюдения, как анализ данных на месте и распознавание лиц, необходимы высококачественная запись и одновременные операции чтения и записи данных.
Исторически сложилось так, что индустрия видеонаблюдения в качестве основного носителя данных использовала жесткие диски. Это было связано главным образом с преимуществами, которыми они отличались от других вариантов в отношении цены, емкости и долговечности. Тем не менее жизнь не стоит на месте, и твердотельные накопители постепенно сокращают этот разрыв, становясь все более привлекательной альтернативой жестким дискам. Благодаря совершенно другой структуре и технологии SSD могут легко и, главное, одновременно выполнять операции чтения и записи, не мешая записи новых данных, что делает их подходящим выбором для наиболее требовательных систем видеонаблюдения. А отсутствие механических частей обеспечивает их устойчивость при работе в жестких условиях окружающей среды.
Однако хотя в настоящее время твердотельные накопители уже обладают определенными преимуществами, у них все еще может возникнуть проблема потери кадров — из-за специфического характера хранения и удаления данных на флэш-устройствах. Некоторые процессы встроенного ПО, связанные с этими внутренними атрибутами SSD, такие как «сборка мусора» (англ. garbage collection) и выравнивание износа (англ. wear leveling — технология перемещения часто изменяемых данных по адресному пространству флэш-памяти) [1], если они не будут правильно обработаны, могут привести к значительной нестабильности частоты кадров, т. е. к их потере. Эти процессы последовательной записи, составляющей основную часть данных видеонаблюдения, должны быть оптимизированы с использованием более прогрессивного микропрограммного обеспечения.
В этой статье будут рассмотрены преимущества твердотельных накопителей для индустрии видеонаблюдения, а также будет дано подробное описание микропрограммного обеспечения RECLine компании Innodisk и его модификации для технологии встроенного ПО.
Суть проблемы
Сравнение HDD и SSD
С самого начала твердотельные накопители, поскольку по своей природе они больше подходят для применения в условиях ограниченного пространства и в жестких условиях окружающей среды, попали на благодатную почву встраиваемой электроники во многих отраслях промышленности. Они легко заменяли устаревшие устройства хранения данных, а также для них был открыт ряд новых приложений. Тем не менее рынок видеонаблюдения очень поздно принял эту технологию. Это главным образом связано с тем, что жесткие диски могут обеспечивать высокую емкость при разумных затратах и являются уже проверенной и отработанной технологией, поэтому для простых установок наблюдения они вполне способны обеспечить надежное хранение данных. Однако многие новые функции наблюдения, как уже было сказано выше, требуют одновременных операций чтения и записи. Механическая структура HDD плохо приспособлена для этого и в условиях непрерывной записи неизбежно приводит к потере кадров.
Рассмотренное в статье решение не является единственным возможным. Существует множество способов настроить систему видеонаблюдения, которая объединяет оба сравниваемых носителя. Например, HDD может играть роль архива данных во внешнем удаленном устройстве, в то время как флэш-устройство — использоваться локально и позволять проводить анализ данных и их сжатие перед отправкой.
Случайная и последовательная запись
Есть два способа записи данных на устройства хранения. При произвольной (случайной) записи разбросанные данные записываются на разные части запоминающего устройства, в то время как при последовательной записи данные записываются непрерывно (например, видео). Большинство приложений использует определенное сочетание этих двух методов записи, но видеонаблюдение почти всегда ориентировано на последовательную запись. Поэтому в любой системе видеонаблюдения, включающей твердотельные накопители, следует применять устройства с микропрограммой, оптимизированной именно для последовательной записи. Только так потеря кадров может быть сведена к минимуму.
Чистка памяти, или «сборка мусора»
Удаление файлов с SSD не является простым процессом. Место для хранения данных делится на блоки, которые далее разделяются на «страницы». Из-за присущей NANDflash-ячейке особенности данные могут быть записаны на разные страницы, но удалены — только блоками. Проблема заключается в том, что блоки часто содержат страницы и с действительными данными, и с данными, которые необходимо удалить. Чтобы решить эту проблему, запускается специальная микропрограмма — «сборщик мусора». Она начинает действовать, когда SSD не занят, а непосредственное стирание данных происходит следующим образом: имеющая ценность информация копируется в новый блок, а исходный блок, содержащий только «мусорные» страницы, удаляется, оставляя место для новой записи.
Функция TRIM
Функция TRIM — это команда, с помощью которой «сборку мусора» можно сделать более эффективной. Файловая система является абстракцией фактического физического уровня SSD. Другими словами, если пользователь удаляет файл, SSD не сразу его стирает — накопитель узнает, что этот файл недействителен, только после перезаписи данных. Это может привести к ненужному перемещению данных из блока в блок, а следовательно, к увеличению избыточности записи (write amplification, WA — буквально «усиление записи», увеличение фактического объема данных, записываемых на твердотельный накопитель). Чем выше WA, тем быстрее изнашиваются флэш-элементы NAND SSD, а это, естественно, приводит к сокращению срока службы устройства и системы в целом.
TRIM решает эту проблему, сразу же помечая данные как недействительные (не имеющие ценности), независимо от того, перезаписываются исходные страницы или нет, что позволяет удалять их в течение следующего цикла сбора мусора.
Выравнивание нагрузки (износа)
На любом компьютере существуют определенные файлы, которые в большинстве случаев остаются неизменными в течение длительного времени, например системные файлы и определенные приложения. Поскольку флэш-ячейки NAND хоть и медленно, но деградируют с каждым циклом программирования/стирания (P/E cycle), ячейки, которые содержат неизменяемые данные, используются в меньшей степени, что приводит к неравномерной деградации ячеек и в итоге к сокращению срока службы. Выравнивание износа, для реализации полного потенциала устройства SSD, обеспечивает регулярный перенос таких постоянных данных между блоками.
Проблемы, требующие решения
Успешность функционирования систем наблюдения зависит от последовательной, стабильной записи данных. Это достигается путем смягчения факторов, которые могут привести к потере кадров. Потеря кадра обычно вызывается влиянием тех или иных условий окружающей среды и электромагнитными помехами. Однако в случае твердотельных накопителей влияющим фактором также могут быть фоновые операции сбора мусора, TRIM и выравнивания износа. На рис. 2 показано поведение SSD со стандартной прошивкой во время теста записи видео. Как только начинается процесс работы прошивки, происходит резкое снижение производительности последовательной записи. В итоге это приводит к зернистости изображения и резкому падению производительности, а также, соответственно, к сокращению объемов записи данных.
Современные функции видеонаблюдения, как уже было сказано, часто требуют, чтобы данные одновременно считывались с устройства хранения и записывались на него. Из-за механической природы жесткие диски плохо приспособлены к выполнению таких операций, поскольку диск и головка чтения/записи не могут двигаться настолько быстро. Для полной реализации таких функций, как распознавание лиц и анализ данных, необходимы более быстрые и стабильные устройства хранения видеоданных.
Решения
Оптимизированная прошивка
Технология RECLine, для того чтобы в большей степени соответствовать требованиям приложений видеонаблюдения, оптимизирует процессы чистки памяти и выравнивания нагрузки. На рис. 3 показан тестовый прогон RECLine SSD, на котором была установлена прошивка. Как видно, чистка памяти выполняется с незначительным влиянием на скорость последовательной записи.
Чистка памяти, или «сборка мусора»
Процесс «сборки мусора» может привести к замедлению скорости записи, а также к потере кадров. RECLine снижает частоту сбора мусора, эффективно распределяя время передачи данных между блоками. Как только SSD исчерпывает емкость в пользовательской области или логическом пространстве, он начинает запись в свободную область, также называемую областью избыточного выделения ресурсов (англ. over-provisioning), как показано на рис. 5.
Поскольку встроенное ПО было специально оптимизировано для записи данных видеонаблюдения, SSD обрабатывает все последовательные данные как перезаписываемые. Это значит, что лишь малое количество случайных данных из Блока 0 будет медленно консолидироваться в Запасном блоке 0 и как только он окажется полностью занятым, данные уже будут удалены из Блока 0, а действительные случайные данные будут объединены (рис. 6). Поскольку консолидация небольших объемов достоверных данных обрабатывается посредством небольших и разрозненных операций, общая потеря кадров, вызванная сборкой мусора, незначительна.
Выравнивание износа
Основная цель выравнивания износа, как уже было сказано, — обеспечить равномерную запись данных между всеми блоками. Однако поскольку запись наблюдения в основном представляет собой последовательную запись, эта проблема чаще всего решается легко. Дело в том, что данные постоянно записываются и удаляются из большинства блоков. Поэтому частоту выравнивания износа можно безопасно снизить, чтобы обеспечить более стабильную производительность записи.
Функция TRIM
Сама команда TRIM не вызывает потери кадров, но ее включение в RECLine еще больше повышает эффективность «сбора мусора».
Одновременные чтение и запись
В отличие от традиционного жесткого диска с его движущимися частями твердотельные накопители, как это следует из их названия, таких частей не имеют. Чтобы получить доступ к данным, запрашиваемым системой, достаточно найти правильный раздел флэш-памяти. Таким образом, SSD — оптимальная альтернатива для приложений видеонаблюдения, которые требуют одновременных операций чтения и записи.
Заключение
Твердотельные накопители, несомненно, являются носителями будущего. Но для их использования в системах видеонаблюдения имеются определенные препятствия, которые необходимо устранить. Технология RECLine от компании Innodisk предлагает оптимизированное решение проблем, присущих флэш-накопителям, путем настройки чистки памяти и выравнивания износа для минимизации потери кадров. Таким образом, оператор может быть уверен в том, что его решение о хранении данных на SSD не повлияет на качество записи и что система видеонаблюдения готова к выполнению любой современной функции.
- Джокела Б. Технология iRetention для хранения данных в средах с высокой температурой // Control Engineering Россия. 2018. № 5.