Научная статья на тему 'Оценка производительности SD-карт на основе технологии «Система на кристалле»'

Оценка производительности SD-карт на основе технологии «Система на кристалле» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
307
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SD-КАРТА / ПРОИЗВОДИТЕЛЬНОСТЬ / СКОРОСТЬ ЗАПИСИ И ЧТЕНИЯ / ПЛИС / СИСТЕМЫ НА КРИСТАЛЛЕ / ПАРАЛЛЕЛИЗМ / SD CARD / PERFORMANCE / WRITING AND READING SPEED / FPGA / SYSTEMS ON CHIP / CONCURRENCY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Костикова Е. В., Гаврилов И. А., Мукало Ю. И., Алексеенко Я. В., Фахми Ш. С.

Предмет статьи. Предложен аппаратно-программный блок для выполнения операции записи, чтения и тестирования производительности различных SD-карт с использованием технологии «система на кристалле» в интегрированной среде фирмы Altera. Эта задача актуальна для проектирования высокопроизводительных параллельных видеосистем на кристалле, где нижняя граница скорости записи (и (или) чтения) критична и значима. Метод. Предлагаемый подход основан на использовании, во-первых, схем с программируемой логикой для создания компактного аппаратно-программного блока в составе видеосистем на кристалле, во-вторых, перепрограммируемых структур с поддержкой режимов последовательного и параллельного обмена, в-третьих, возможности наращения числа разрядности шин данных как с помощью последовательного переноса, так и с помощью параллельного подключения нескольких блоков одновременно. Основные результаты. Анализ результатов тестирования различных карт памяти показал, что скорость записи и чтения всех карт не соответствует заявленной производителем, и погрешность скорости записи (и чтения) данных составляет 30-50% (для чтения около 30%). При этом максимальная скорость загрузки карт памяти возможна при увеличении числа каскадно-соединенных блоков. Результаты показывают, что в наиболее простой реализации данный аппаратно-программный блок требует ресурсов порядка 20002500 элементарных логических ячейках. Каждая ячейка реализует логическую операцию «И/ИЛИ с памятью», в то время как ресурс популярной микросхемы ЕР3С25F256C8 семейства Cyclone III составляет 5976 (26%) подобных ячеек при цене микросхемы $5-10 за единицу. Практическая значимость. Авторы считают, что предложенный аппаратно-программный блок можно рассматривать как наиболее дешевый специализированный компонент в составе электронной компонентной базы отечественной микроэлектроники для создания видеоинформационных систем реального времени.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Performance evaluation of SD - cards by "system-on-chip" technology

Subject matter. We propose the hardware and software block for performing write or read operation and testing the performance of different SD-cards using the technology of "system-on-chip" in integrated environment by Altera. This task is relevant for the design of high-performance parallel systems on a chip, where the lower limit for writing speed (and/or reading) is critical and significant. Method. The proposed approach is based on three items. First, schemes are used with programmable logic to create a compact hardware and software unit as part of video system on chip. Secondly, reprogrammable structures are applied that support serial and parallel modes of exchange. Thirdly, the increment of data bus width is possible, via the serial transfer and the parallel connection of multiple units simultaneously. Main Results. The analysis of test results of different memory cards has shown that the speed of writing and reading for all cards differs from the declared one by manufacturer, and the error rate of writing (and reading) of data is 30...50% (for reading ~30%). A maximum download speed of memory cards is possible by increasing the number of cascade-connected blocks. The results show that the simplest implementation of this hardware-software unit requires resources of the order of 2000-2500 elementary logic cells. Each cell implements the logical operation "AND-OR with memory", while the resource ЕР3С25F256C8 of the popular chip family Cyclone III consists of 5976 (26%) of these cells with the chip price equal to $5-10 apiece. Practical Relevance. The authors believe that the proposed hardware-software unit can be regarded as the cheapest specialized component in the ECB domestic microelectronics industry to create video information in real time systems.

Текст научной работы на тему «Оценка производительности SD-карт на основе технологии «Система на кристалле»»

НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ ноябрь-декабрь 2015 Том 15 № 6 ISSN 2226-1494 http://ntv.i1mo.ru/

SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS November-December 2015 Vol. 15 No 6 ISSN 2226-1494 http://ntv.ifmo.ru/en

УДК 621.3.049.77

ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ SD-КАРТ НА ОСНОВЕ ТЕХНОЛОГИИ

«СИСТЕМА НА КРИСТАЛЛЕ» Е.В. Костикова11, И.А. Гаврилов\ Ю.И. Мукалоь, Я.В. Алексеенко', Ш.С. Фахми^

a Государственный университет морского и речного флота им. адмирала С.О. Макарова, Санкт-Петербург, 198035, Российская Федерация

b Научно-исследовательский институт прикладных проблем (НИИ ПП), Санкт-Петербург, 191167, Российская Федерация

с Санкт-Петербургский университет ГПС МЧС России, Санкт-Петербург, 196105, Российская Федерация d Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) (СПбГЭТУ «ЛЭТИ»), Санкт-Петербург, 197376, Российская Федерация

e Акционерное общество Научно-исследовательский институт телевидения (АО «НИИТ»), Санкт-Петербург, 194021,

Российская Федерация,

Адрес для переписки: [email protected]

Информация о статье

Поступила в редакцию 31.08.15, принята к печати 19.10.15

doi:10.17586/2226-1494-2015-15-6-1088-1097

Язык статьи - русский

Ссылка для цитирования: Костикова Е.В., Гаврилов И.А., Мукало Ю.И., Алексеенко Я.В., Фахми Ш.С. Оценка производительности SD-карт на основе технологии «система на кристалле» // Научно-технический вестник информационных технологий, механики и оптики. 2015. Т. 15. № 6. С. 1088-1097.

Аннотация

Предмет статьи. Предложен аппаратно-программный блок для выполнения операции записи, чтения и тестирования производительности различных SD-карт с использованием технологии «система на кристалле» в интегрированной среде фирмы Altera. Эта задача актуальна для проектирования высокопроизводительных параллельных видеосистем на кристалле, где нижняя граница скорости записи (и (или) чтения) критична и значима. Метод. Предлагаемый подход основан на использовании, во-первых, схем с программируемой логикой для создания компактного аппаратно-программного блока в составе видеосистем на кристалле, во-вторых, перепрограммируемых структур с поддержкой режимов последовательного и параллельного обмена, в-третьих, возможности наращения числа разрядности шин данных как с помощью последовательного переноса, так и с помощью параллельного подключения нескольких блоков одновременно. Основные результаты. Анализ результатов тестирования различных карт памяти показал, что скорость записи и чтения всех карт не соответствует заявленной производителем, и погрешность скорости записи (и чтения) данных составляет 30-50% (для чтения - около 30%). При этом максимальная скорость загрузки карт памяти возможна при увеличении числа каскадно-соединенных блоков. Результаты показывают, что в наиболее простой реализации данный аппаратно-программный блок требует ресурсов порядка 20002500 элементарных логических ячейках. Каждая ячейка реализует логическую операцию «И/ИЛИ с памятью», в то время как ресурс популярной микросхемы ЕР3С25Е256С8 семейства Cyclone III составляет 5976 (26%) подобных ячеек при цене микросхемы $5-10 за единицу. Практическая значимость. Авторы считают, что предложенный аппаратно-программный блок можно рассматривать как наиболее дешевый специализированный компонент в составе электронной компонентной базы отечественной микроэлектроники для создания видеоинформационных систем реального времени. Ключевые слова

SD-карта, производительность, скорость записи и чтения, ПЛИС, системы на кристалле, параллелизм.

PERFORMANCE EVALUATION OF SD-CARDS BY "SYSTEM-ON-CHIP"

TECHNOLOGY E.V. Kostikova1, I.A. Gavrilovb, Yu.I. Mukalob, Ya.V. Alekseenko', Sh.S. Fahmid,e

a Admiral Makarov State University of Maritime and Inland Shipping, Saint Petersburg, 198035, Russia

b Science and Research Institute for Applied Problems (NIIPP), Saint Petersburg, 191167, Russian Federation

c Saint Petersburg University of State Fire Service of the Ministry of the Russian Federation for Civil Defense, Emergencies

and Elimination of Consequences of Natural Disasters, Saint Petersburg, 196105, Russian Federation

d Saint Petersburg Electrotechnical University "LETI", Saint Petersburg, 197376, Russian Federation

e Television Research Institute, Saint Petersburg, 194021, Russian Federation

Corresponding author: [email protected]

Article info

Received 31.08.15, accepted 19.10.15 doi:10.17586/2226-1494-2015-15-6-1088-1097 Article in Russian

For citation: Kostikova E.V., Gavrilov I.A., Mukalo Yu.I., Alekseenko Ya.V., Fahmi Sh.S. Performance evaluation of SD - cards by "system-on-chip" technology. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2015, vol. 15, no. 6, pp. 1088-1097.

Abstract

Subject matter. We propose the hardware and software block for performing write or read operation and testing the performance of different SD-cards using the technology of "system-on-chip" in integrated environment by Altera. This task is relevant for the design of high-performance parallel systems on a chip, where the lower limit for writing speed (and/or reading) is critical and significant. Method. The proposed approach is based on three items. First, schemes are used with programmable logic to create a compact hardware and software unit as part of video system on chip. Secondly, reprogrammable structures are applied that support serial and parallel modes of exchange. Thirdly, the increment of data bus width is possible, via the serial transfer and the parallel connection of multiple units simultaneously. Main Results. The analysis of test results of different memory cards has shown that the speed of writing and reading for all cards differs from the declared one by manufacturer, and the error rate of writing (and reading) of data is 30...50% (for reading ~30%). A maximum download speed of memory cards is possible by increasing the number of cascade-connected blocks. The results show that the simplest implementation of this hardware-software unit requires resources of the order of 2000-2500 elementary logic cells. Each cell implements the logical operation "AND-OR with memory", while the resource ЕР3С25F256C8 of the popular chip family Cyclone III consists of 5976 (26%) of these cells with the chip price equal to $5-10 apiece. Practical Relevance. The authors believe that the proposed hardware-software unit can be regarded as the cheapest specialized component in the ECB domestic microelectronics industry to create video information in real time systems. Keywords

SD card, performance, writing and reading speed, FPGA, systems on chip, concurrency

Введение

Миниатюризация и рост емкости не противоречат друг другу [1]. Современные программы, базы данных и мультимедийный контент требуют огромных ресурсов для постоянного хранения, при этом одним из наиболее популярных форматов, если говорить о картах памяти, был и остается Secure Digital (SD)1. С недавних пор стандарт обрел эволюционное продолжение в лице SDHC (Secure Digital High Capacity) [2]. Мировые лидеры в области производства памяти продолжают развивать не только сегмент своих высокоскоростных SD-накопителей и жестких дисков, но и доступные и быстрые накопители для мобильного хранения данных - быстрые карты памяти и флэш-памяти больших размеров, предназначенные для применения в портативных и миниатюрных устройствах, таких как мобильный телефон, цифровой фотоаппарат и пр. [3-6].

Актуальность разработки и проектирования видеосистем на кристалле возрастает с каждым днем, поскольку количество транзисторов на кристалле увеличивается огромными темпами, и стоимость разработки подобных систем сильно растет. Сейчас это целое направление - инструменты моделирования, проектирования и программирования таких систем (например, продукции фирмы Altera). Степень про-граммируемости компонентов и блоков, составляющих системы на кристалле, может отличаться от классических универсальных микропроцессоров и классических DSP-чипов (цифровых процессоров обработки сигналов) [7-10].

Скорость карты памяти - та характеристика, на которую большинство покупателей не обращают внимания. Тем не менее, она даже более важна, чем объем, потому что определяет сферу применения носителя. Например, на медленную карту памяти не получится записывать Full HD-видео: запись будет постоянно обрываться. Если снимать серию кадров с медленной флэшкой, то камера может надолго «подвиснуть», записывая их.

Нередко возникают сомнения в соответствии класса SD-карты, заявленного производителем, и, в большинстве случаев, фактическая скорость записи (или чтения) данных оказывается ниже заявленной. Скорость в некоторых случаях может существенно отличаться от указанной в технических характеристиках карты (в работе тестируются карты класса 10 со скоростью записи 10 МБ/с). Поскольку фактическая скорость записи у разных производителей может отличаться, то для записи потокового контента (например, видео) важна нижняя граница скорости записи [11].

Известно, что производители предпочитают маркировать карты памяти по максимальной скорости записи и чтения данных, причем по теоретически возможной, и низкая скорость записи просто не позволит вести серийную съемку. Еще хуже дело обстоит с записью видео, где флэш-память постепенно становится одним из часто используемых носителей: низкая скорость записи сделает съемку просто невозможной из-за того, что большинство кадров будет «выпадать» с очевидным конечным результатом.

'SD Card Association: http://www.sdcard.org/.

Попытка упорядочить рынок с маркировками была предпринята SD-ассоциацией введением классов карт: Class 1-10. Но практика показывает, что и данное ранжирование по скорости часто не соответствует действительности. Следовательно, возрастает актуальность определения нижних границ скоростей записи и чтения видеоданных как важных и необходимых параметров в задачах анализа и кодирования видеоинформации для достижения максимума качества информации (т.е. точности распознавания) при минимуме сложности алгоритмов (т.е. площади кристалла) [12, 13].

Учет этих дополнительных требований при кодировании многомерных сигналов ведет к тому, что вектор концепции видеосистемы не может назначаться произвольно, а должен учитывать потенциальное количество информации в передаваемом непрерывном зашумленном сигнале [14].

Изложенная в [14] методика концептуального синтеза устройств обработки видеоинформации, проектирования кодеров непрерывных источников на основе введенного обобщенного показателя качества видеоинформации при учете взаимообмена скорости передачи и сложности видеосистем позволяет оптимизировать проектирование, особенно актуальное при реализации СБИС-класса «система на кристалле» и составляющих их компонентов в виде готовых аппаратно-программных блоков.

Тенденции развития устройств хранения информации заключаются как в росте информационной емкости, так и в переходе на последовательные интерфейсы обмена данными. Миниатюрные размеры SD-карт при высокой их емкости предполагают их широкое использование в видеосистемах на кристалле, поэтому разработка методов применения малогабаритных карт памяти является научной задачей, так как сокращение массы и габаритов при информационном согласовании источника с получателем вызывает не упрощение видеосистемы, а увеличение ее информационной (вычислительной) сложности.

Целью настоящей работы является разработка аппаратно-программного блока (АПБ) для оценки производительности путем измерения верхней и нижней границ скорости записи в или чтения с SD-накопителя и обеспечение последовательного и параллельного режимов обмена видеоданными с использованием высокопроизводительных процессорных ядер Nios-технологии «система на кристалле».

Активное применение процессорных ядер позволяет создавать мощные вычислительные системы и существенно сокращать сроки проектирования электронных устройств. В качестве аппаратной платформы в разрабатываемых устройствах использовались программируемые логические интегральные схемы (ПЛИС) фирмы Altera семейства Cyclone.

Новизной работы являются архитектурные решения на базе современной ПЛИС с реконфигури-руемым процессорным ядром, характеризующиеся:

- наличием двух интегрированных 32-х разрядных блоков прямого доступа к памяти (ПДП) для передачи данных с соответствующими внутренними буферами данных переменной длины: для записи -FIFOw, для чтения - FIFOr, что позволяет обеспечивать максимальный обмен видеоданными с картой памяти в процессе тестирования;

- поддержкой режимов последовательного и параллельного обмена, что позволяет увеличивать производительность АПБ;

- наращением числа разрядности шин данных АПБ как с помощью последовательного переноса, так и с помощью параллельного подключения нескольких блоков одновременно, в отличие от предложенных в немецком варианте1 решений с жесткой логикой обмена;

- свободным протоколом обмена без привязки к конкретной файловой системе, что позволяет осуществлять быстрый обмен с картой.

Методика оценки производительности и описание аппаратно-программного блока

Методика включает следующие основные этапы:

1. определяются общие параметры SD-карты (объем, число секторов) путем запуска программной части проекта и инициализации тестируемой SD-карты;

2. адресное пространство карты разбивается на 5 интервалов для обеспечения тестирования скорости записи (или чтения) различных объемов данных из разных адресов;

3. определяется режим работы АПБ (последовательная или параллельная передача данных);

4. проводится многократное измерение скорости записи (и чтения) одного сектора с начала каждого интервала;

5. проводится многократное измерение скорости записи (и чтения) множества секторов с начала каждого интервала;

6. вычисляется скорость записи данных в (и чтения из) SD-карты;

7. на основе результатов п. 6 вычисляется средняя скорость записи в (и чтения из) SD-карты.

Подробное описание методики и этапы тестирования карт памяти рассмотрены в [15]. Полный процесс разработки для создания аппаратно-программного блока требует разработки и отладки аппаратной части системы Nios II и программной части под Eclipse в интегрированной среде

1 http://www.elcamino.de/wp-content/uploads/SD_MMC-SPI-Core.pdf

проектирования систем на кристалле Quartus II. Далее выполняется прототипирование обеих частей АПБ на плате CoreCommander board с встроенной системой на кристалле Cyclone III фирмы Altera1 (рис. 1).

о-

сри Nios II Processor

elk Clock Input pll_cpu

reset_n Reset Input [elk]

data_master Avalon Memory ... [elk]

instructionjriaster Avalon Memory ... [elk]

jtag_debug_module_r... Reset Output [elk]

jtag_debug_module Avalon Memory ... [elk]

custom_instruction_... Custom Instructi...

jtaguart JTAG UART

elk Clock Input pll_cpu

reset Reset Input [elk]

avalon_itag_slave Avalon Memory ... [elk]

onchipmemory On-Chip Memory...

clkl Clock Input pll_cpu

s1 Avalon Memory ... ;ciki ]

resell Reset Input ;ciki ]

sdhc sdhc_top

eloek_sdhe Clock Input pllcpu

reset_sdhc Reset Input clock_sdhc]

avalon_slave Avalon Memory ... clock_sdhc]

conduit_end Conduit

avalon_master_write Avalon Memory ... clock_sdhc]

avalon_master_read Avalon Memory ... clock_sdhc]

Рис. 1. Фрагмент аппаратной части аппаратно-программного блока

Аппаратная часть системы включает ядро (процессор) Nios II, память, sdhc-контроллер и прочие компоненты, необходимые для решения задач синхронизации, обработки и передачи данных (рис. 1).

Контроллер SD-карты обеспечивает интерфейс между шиной Avalon и сигналами SD. Он поддерживает, как однобитный, так и четырехбитный режимы передачи данных на карту памяти. Контроллер входит в состав системы на основе sof-процессора Nios II. Контроллер SD - это компонент sdhc для шины Avalon (рис. 2).

Avalon

Рис. 2. Структурная схема SD-контроллера

Также в системе используется два типа памяти: SDRAM и внутренняя память SRAM для пересылки пакетов. Для хранения программы используется SDRAM.

Компонент sdhc состоит из следующих основных модулей:

- sdhc cntrl - модуль первого уровня, в котором происходит чтение и запись регистров. Также он служит для передачи информации между всеми остальными модулями.

- sdhc cmd - модуль второго уровня (МВУ), обеспечивающий передачу команд и получение ответа. Получает аргумент команды из регистра SDCommandArg, индекс команды из регистра управления и рассчитывает CRC7, затем передает весь кадр на карту SD по линии CMD. Этот блок также считывает ответ от SD-карты после передачи команды и хранит его в регистрах ответа.

1 http://www.altera.com/

- slssdhcclkgen - МВУ, обеспечивающий генерацию синхропоследовательности SDCLK, ее частота может задаваться пользователем через регистр Control.

- sdhcdmard - МВУ, обеспечивающий чтение данных из памяти в режиме ПДП в буфер Transmit FIFO.

- sdhc_dma_wr - МВУ, обеспечивающий запись данных в память в режиме ПДП из буфера Receive FIFO.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- sdhcdata - МВУ, обеспечивающий контроль над операциями передачи/чтения данных на/из SD-карту по линиям DAT (рис. 2). SDHC IP-ядро передает/принимает данные по линиям DAT блоком, размер которого устанавливается в регистре BlockLength. После выдачи команды для записи, sdhcdmard считывает блок данных, начиная с адреса, указанного в регистре DMAAddress, и сохраняет в Transmit FIFO. Тем временем sdhcdata передает данные из Transmit FIFO на шину данных DAT. В операции чтения данных с SD-карт блок управления считывает данные с карты памяти SD и сохраняет их в регистре Receive FIFO, и блок sdhc_dma_wr записывает данные, начиная с адреса, указанного в регистре DMAAddress.

- sdhc_crc7 - модуль третьего уровня, производит расчет CRC7 для команды и ответа.

- sdhc_crc16_1bit - модуль третьего уровня, производит расчет CRC16 при выборе режима работы SD Host Controller по одной линии данных.

- sdhc_crc16_4bit - модуль третьего уровня, производит расчет CRC16 при выборе режима работы SD Host Controller по 4-м линиям данных. Расчет производится для каждой линии данных отдельно.

Компонент SD-контроллера имеет три интерфейса Avalon - один Slave и два Master (рис. 2):

1. avalonslave - используется для конфигурации регистров контроллера. Ширина шины данных -32 бита, шины адреса - 4 бита.

2. avalon_master - используется для передачи данных от SD-карты в память, или другое периферийное устройство. Ширина шины данных - 8 бит, шины адреса - 32 бита.

3. avalon_master1 - используется для передачи данных из памяти в SD-карту. Ширина шины данных -8 бит, шины адреса - 32 бита.

Также компонент имеет интерфейс для внешних сигналов conduitend. Он включает в себя стандартные сигналы для SD-карты.

Программная часть системы включает в себя, в основном, процедуру инициализации SD-карты и собственно саму передачу данных (рис. 3).

Из представленного алгоритма следует, что после включения питания необходимо по линии CMD подать команду CMD0, которая переводит карту в idleState (режим ожидания дальнейших инструкций).

Следующая команда - CMD8 - позволяет определить уровень и технологию карты, а также готовность карты работать с указанными уровнями напряжения. Если карта не отвечает на данную команду, то технология карты версии - 1.х или это вообще не SD-карта.

Команда ACMD41 состоит из последовательности двух команд: CMD55 и CMD41. Данная последовательность призвана ввести карту в состояние готовности к дальнейшему обмену, а также определить по состоянию в ответе бита CSS (Card Capacity Status), какого уровня карта в данный момент инициализируется - Standard Capacity или High Capacity.

Командой CMD2 хост запрашивает у карты содержимое регистра CID.

С помощью команды CMD3 хост определяет текущий относительный адрес карты, который необходим для обращения к карте в дальнейшем. Эта команда позволяет хосту изменить относительный адрес по своему усмотрению. После передачи хосту корректного ответа на CMD3 карта пребывает в Standby состоянии, и на этом этапе режим инициализации карты в режиме SD-mode для обмена по одной линии данных DAT0 закончен.

Командой CMD7 хост переключает карту из Standby режима в Transfer режим и обратно путем своего или чужого для данной карты относительного адреса. Причем при подаче чужого адреса данная карта никакого ответа на команду не дает.

Команда CMD16 позволяет определить длину блока данных. Данная команда особенно актуальна для карт Standard Capacity, где длину блока можно менять от 1 до 1024 Б (по умолчанию 512 Б).

Команда ACMD6 состоит из последовательности двух команд: CMD55 и CMD6. Эта последовательность призвана определить для карты ширину шины данных (одна линия DAT0 или четыре линии DAT0-DAT3).

Команда CMD17 предназначена для чтения блока данных, а команда CMD24 - для записи блока данных в SD-карту по указанному адресу.

Предлагаемая архитектура разбивается на программную (на языке С) и аппаратную (на языке Verilog) части, что предусматривает системный уровень проектирования на основе технологии «система на кристалле» для решения задач измерения скорости обмена с SD-картой и минимизации загрузки процессора Nios II.

Рис. 3. Блок-схема алгоритма инициализации, чтения и записи

Способы повышения производительности SD-карт

Под цифровой обработкой изображения в реальном масштабе времени обычно подразумевается обработка очередного накопленного кадра за время накопления следующего кадра, т.е. с задержкой на один кадр [16]. При формировании стандартного телевизионного изображения с частотой 25 кадров в секунду располагаемое время обработки кадра составляет 40 мс [17-19].

Перспективными являются новые архитектурные решения (рис. 4) для реализации способов наращивания разрядности АПБ с целью увеличения скорости записи или чтения видеоданных в несколько 8Б-карт одновременно, с использованием схем ускоренного переноса и управления.

Первый способ - последовательная загрузка карт памяти (рис. 4, а). Данный способ основан на последовательной передаче текущего признака переполнения для запуска следующего АПБ по сигналу управления (У), при этом недостатком данного решения является ограниченная шина данных для записи и чтения в карту памяти, и производительность будет равна производительности одного АПБ.

Второй способ - параллельная загрузка всех карт памяти (рис. 4, б). Данный способ более быстрый, но, так как некоторые карты памяти могут иметь разные скорости записи (или чтения), что подтвердили результаты экспериментов, приведенные в настоящей работе, то невозможно эффективно организовать параллельную их загрузку.

Наилучшим решением является третий способ - загрузка всех АПБ независимо друг от друга. Данное решение (рис. 4, в), где операции записи (или чтения) выполняются параллельно во всех секциях разрабатываемых АПБ, независимо друг от друга, является эффективным способом высокоскоростного обмена и хранения видеоданных при организации соответствующей синхронизации работы всех АПБ.

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

У

а б в

Рис. 4. Варианты реализации параллелизма АПБ: каскадное последовательное соединение (а); параллельное общее соединение (б); автономное параллельное соединение (в)

Результаты тестирования различных карт памяти

Для чистоты эксперимента была выбрана линейка SD-карт (класса 10) различных производителей объемом памяти 8 ГБ. В состав АПБ входит специализированный контроллер управления обменом видеоданными с картой памяти, реализованный на базе реконфигурируемых микропроцессорных систем (SOPC Builder) САПР Quartus II, позволяющий работать в процессе загрузки программной части проекта в двух режимах:

1. с помощью команды

sdhcmodeselect (&sd_info,SD_HOST_BUS_1BIT_BUS)

осуществляется обмен данными по одной линии (последовательная передача);

2. с помощью команды

sdhcmodeselect (&sd_info,SD_HOST_BUS_4BIT_BUS) осуществляется обмен данными по 4-м линиям (параллельная передача).

Параллельная передача данных. Режим работы АПБ определяется в процессе загрузки программной части проекта:

1. команда: sdhcmodeselect (&sd_info,SD_HOST_BUS_1BIT_BUS) - осуществляется обмен данными по одной линии;

2. команда: sdhcmodeselect (&sd_info,SD_HOST_BUS_4BIT_BUS) - осуществляется обмен данными по 4-м линиям.

Сравнительные оценки. В результате эксперимента оценка производительности карт памяти показала, что скорость записи для всех исследуемых карт не соответствует заявленной, и отклонение от заявленной производителем скорости составляет 30-50%, при этом наилучшую скорость показала карта № 3 (таблица), а при чтении - отклонение в пределах 20-30% (лучшая карта № 1).

Для оценки погрешности измерения необходимо определить следующее: 1. погрешность операторов среды Eclipse IDE for C/C++ Developers - это погрешность типовой последовательности операторов языка С программной части АПБ для использования компонента (PerformanceCounterCore), предназначенного для профилирования программного обеспечения, которая состоит из следующих операторов:

PERF_RESET(PERFORMANCE_BASE);// остановка и сброс компонента PerformanceCounterCore to; PERF_START_MEASURING(PERFORMANCE_BASE);II запуск и фиксация начального значения компонента t1;

PERF_BEGIN(PERFORMANCE_BASE,1);II фиксация начала измерения tBM; sdhc_read_single(&sd_info, start block, blockread);// процесс записи данных; PERF_END(PERFORMANCE_BASE,1);II фиксация конца измерения tEM;

PERF_STOP_MEASURING(PERFORMANCE_BASE);II остановка и фиксация конечного значения компонента t1;

Оценка времени записи tR: пусть A¡= Iеm - to, а Д2= h - tEM , тогда

tR= (t1 - to) - (Д1+Д2).

2.

3.

погрешность компонента altera_avalon_performance_counter фирмы Altera, встроенного в библиотеку Qsys САПР Quartus II, не превышает такта частоты синхронизации 80 МГц и составляет +12,5 нс; погрешность кварцевого генератора (Frequency stability) на плате составляет ±15 PPM (Parts Per Million, т.е. количество миллионных частей от какой-то средней величины).

С учетом вышесказанного погрешность измерения незначительна по сравнению со временем обмена и составляет не более 0,05%. Эта погрешность оценивалась путем сравнения результатов экспери-

ментов с результатами измерения программы1, находящейся в открытом доступе на сайте (sosfakeflash.wordpress.com), которая предназначена для тестирования USB-носителей, карты памяти SD, XD и др.), а также с собственной программой, разработанной авторами на языке VC++ (Microsoft Visual Studio 2010).

Объем тест-файла, МБ Скорость записи, МБ/с

карта 1 карта 2 карта 3 карта 4 карта 5 Карта 6

1 2,02 9,13 5,61 4,79 1,10 3,76

5 6,56 2,20 6,52 4,80 2,32 4,07

10 5,61 2,50 7,24 5,75 8,94 5,14

50 7,95 3,20 7,30 5,05 9,20 7,03

100 8,53 3,20 7,32 5,99 8,28 7,57

150 8,43 3,20 7,87 7,57 7,80 7,89

Среднее значение 6,5167 2,238 6,97667 5,658 6,273 5,910

Объем тест-файла, МБ Скорость чтения, МБ/с

карта 1 карта 2 карта 3 карта 4 карта 5 карта 6

1 18,30 13,40 12,80 12,70 13,40 9,38

5 18,30 18,00 17,20 17,20 17,70 13,10

10 18,30 18,50 17,20 17,40 17,90 13,30

50 18,30 18,60 17,50 17,50 18,40 13,80

100 18,30 18,60 17,50 17,50 18,50 13,90

150 18,30 18,60 17,50 17,60 18,60 14,00

Среднее значение 18,30000 17,61666 16,61667 16,65000 17,41667 12,91333

Таблица. Результаты оценки скорости записи и чтения различных SD-карт

Исследование параллельного способа обмена видеоданными показало, что при параллельном способе производительность карты в среднем увеличивается в 3 раза по сравнению с последовательным обменом по одной линии.

Заключение

Анализ результатов тестирования различных карт памяти показал:

1. скорость записи и чтения всех карт не соответствует заявленной производителем в технических характеристиках;

2. максимальная скорость записи (или чтения) карт памяти возможна при увеличении числа аппаратно-программных блоков с возможностью работы в автономном режиме;

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

Результаты показывают, что в наиболее простой реализации, без учета указанных выше архитектурных решений, данная система выполняется на основе 2000-2500 элементарных логических ячеек. Каждая ячейка реализует логическую операцию «И-ИЛИ с памятью», в то время как ресурс популярной микросхемы ЕР3С25Р256С8 семейства Cyclone III составляет 5976 (26%) подобных ячеек при цене микросхемы $5-10 за штуку. Авторы считают, что предложенный аппаратно-программный блок можно рассматривать как наиболее дешевый специализированный компонент в составе электронной компонентной базы отечественной микроэлектроники при создании видеосистем на кристалле анализа и передачи в реальном времени.

Литература

1. Мельниченко А. Технология миниатюризации РЭА. Феникс, 2009. 486 с.

2. Nguyen K.D., Sun Z., Thiagarajan P.S., Weng-Fai Wong. Model-driven SoC design via executable UML to SystemC // Proc. 25th IEEE Real-Time Systems Symposium (RTSS'04). Lisbon, Portugal, 2004.

3. Немудров В., Мартин Г. Системы на кристалле. Проектирование и развитие. М.: Техносфера, 2004. 216 с.

4. Inside Solid State Drives (SSDs) / Eds. R. Micheloni, A. Marelli, K. Eshghi. Springer, 2013. 382 p.

1 https://sosfakeflash.wordpress.com/2008/09/02/h2testw-14-gold-standard-in-detecting-usb-counterfeit-drives/

6.

7.

5. Zhu Q., Pileggi L., Franchettis F. Cost-effective smart memory implementation for parallel backprojection in computed tomography // Proc. 20th IFIP/IEEE Int. Conf. on Very Large Scale Integration. Santa Cruz, USA, 2012. P. 111-116. doi: 10.1109/VLSI-SoC.2012.6379015

Park C., Talawar P., Won D., Jung M., Im J., Kim S., Choi Y. A high performance controller for NAND flash-based solid state disk (NSSD) // Proc. 21th IEEE Non-Volatile Semiconductor Memory Workshop (NVSMW 2006). Monteray, USA, 2006. P. 17-20. doi: 10.1109/.2006.1629477

Agrafiotis D., Canagarajah N., Bull D.R., Kyle J., Seers H., Dye M. A perceptually optimised video coding system for sign language communication at low bit rates // Signal Processing: Image Communication. 2006. V. 21. N 7. P. 531-549. doi: 10.1016/j.image.2006.02.003

8. Nakazono K., Nagashima Y., Ichikawa A. Digital encoding applied to sign language video // IEICE Transactions on Information and Systems. 2006. V. E89-D. N 6. P. 1893-1900. doi: 10.1093/ietisy/e89-d.6.1893

9. Ланнэ А.А. Цифровой процессор обработки сигналов TMS320C10 и его применения. Л.: ВАС, 1990. 296 с.

10. Процессоры цифровой обработки сигналов компании Texas Instruments Inc. М.: «СКАН», 1999.

11. Зубакин И.А., Цыцулин А.К. Моделирование влияния ограничения сложности кодера на качество кодирования изображений с преобразованием // Вопросы радиоэлектроники. Сер. Техника телевидения. 2006. № 2. С. 32-40.

12. Vanam R., Riskin E.A., Ladner R.E. H.264/MPEG-4 AVC encoder parameter selection algorithms for complexity distortion tradeoff // Proc. Data Compression Conference (DCC 2009). Snowbird, USA, 2009. Art. 4976481. P. 372-381.

13. Valentim J., Nunes P., Pereia F. An alternative complexity model for the MPEG-4 video verifier mechanism // Proc. IEEE Int. Conf. on Image Processing (ICIP2001). Thessaloniki, Greece, 2001. V. 1. P. 461-464.

14. Цыцулин А.К., Фахми Ш.С., Колесников Е.И., Очкур С.В. Функционал взаимообмена сложности и точности систем кодирования непрерывного сигнала // Информационные технологии. 2011. № 4. С. 71-77.

15. Фахми Ш.С., Лабецкий А.В. СФ-блок для оценки скорости записи и чтения видеоинформации в SD-картах портативных устройств // Вопросы радиоэлектроники. Сер. Техника телевидения. 2014. № 1. С. 107-115.

16. Зубакин И.А., Фахми Ш.С. Адаптивный алгоритм кодирования видеоинформации на основе трехмерного дискретного косинусного преобразования // Изв. вузов России. Радиоэлектроника. 2010. № 1. С. 49-54.

17. van Schaar M., Andreopoulos Y. Rate-distortion-complexity modeling for network and receiver aware adaptation // IEEE Trans. on Multimedia. 2005. V. 7. N 3. P. 471-479. doi: 10.1109/TMM.2005.846790

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

18. Westwater R., Furht B. Real-Time Video Compression. Techniques and Algorithms. Kluwer, 1997. 172 p.

19. Marpe D., Schwarz H., Wiegand T. Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard // IEEE Trans. on Circuits and Systems for Video Technology. 2013. V. 13. N 7. P. 620-636. doi: 10.1109/TCSVT.2003.815173

Костикова Елена Валентиновна

Гаврилов Игорь Авенирович

Мукало Юрий Иванович

Алексеенко Ярослав Владимирович Фахми Шакиб Субхиевич

Elena V. Kostikova

Igor A Gavrilov

Yuri I. Mukalo

кандидат технических наук, доцент, доцент, Государственный университет морского и речного флота им. адмирала С.О. Макарова, Санкт-Петербург, 198035, Российская Федерация [email protected]

начальник отделения, Научно-исследовательский институт прикладных проблем (НИИ ПП), Санкт-Петербург, 191167, Российская Федерация, [email protected]

начальник отделения, Научно-исследовательский институт прикладных проблем (НИИ ПП), Санкт-Петербург, 191167, Российская Федерация, [email protected]

адъюнкт, Санкт-Петербургский университет ГПС МЧС России, Санкт-Петербург, 196105, Российская Федерация, [email protected] доктор технических наук, доцент, профессор, Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина) (СПбГЭТУ «ЛЭТИ»), Санкт-Петербург, 197376, Российская Федерация; ведущий научный сотрудник, Акционерное общество Научно-исследовательский институт телевидения (АО «НИИТ»), Санкт-Петербург, 194021, Российская Федерация, [email protected]

PhD, Associate Professor, Associate Professor, Admiral Makarov State University of Maritime and Inland Shipping, Saint Petersburg, 198035, Russian Federation, [email protected]

Head of section, Science and Research Institute for Applied Problems (NIIPP), Saint Petersburg, 191167, Russian Federation, [email protected]

Head of section, Science and Research Institute for Applied Problems

Yaroslav V. Alekseenko

Shakeeb S. Fahmi

(NIIPP), Saint Petersburg, 191167, Russian Federation, [email protected]

adjunct, Saint Petersburg University of State Fire Service of the Ministry of the Russian Federation for Civil Defense, Emergencies and Elimination of Consequences of Natural Disasters, Saint Petersburg, 196105, Russian Federation, [email protected]

D.Sc., Associate professor, Professor, Saint Petersburg Electrotechnical University "LETI", Saint Petersburg, 197376, Russian Federation; Leading researcher, Television Research Institute, Saint Petersburg, 194021, Russian Federation, [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.