СПОСОБ ОСУЩЕСТВЛЕНИЯ СВЯЗИ С МНОГОФУНКЦИОНАЛЬНОЙ КАРТОЙ ПАМЯТИ
METHOD OF COMMUNICATION WITH MULTIFUNCTIONAL MEMORY CARD

Изобретение относится к способу осуществления связи с многофункциональной картой памяти, содержащей контроллер карты и функциональный модуль, выполняющий по меньшей мере одну функцию обработки данных, отличную от функции хранения данных карты памяти. С технической точки зрения, функциональный модуль может быть также интегрирован вместе с контроллером карты в одном составном элементе. В смысле изобретения карта памяти является периферийным устройством, содержащим контроллер карты, обеспечивающий идентификацию карты в качестве карты памяти хост-компьютером. Наличие физического модуля памяти не является необходимым. Таким образом, многофункциональная карта памяти в смысле изобретения представляет собой карту памяти упомянутого выше типа, содержащую по меньшей мере один дополнительный функциональный модуль.
Карты памяти являются продуктом миниатюризации и возрастающих емкостей запоминающих устройств. Они совершили коммерческий прорыв, нашли широкий рынок сбыта и в то же время стали стандартной принадлежностью мобильных устройств, например ноутбуков, коммуникаторов, мобильных телефонов, фотокамер и т.п. В последнее время было выпущено большое количество карт памяти с различными емкостью, скоростью доступа, форматами, интерфейсами и разъемами. Примеры карт памяти включают в себя цифровые карты памяти CompactFlash™ (CF), Memory Stick™ (MS) и последующие версии, включающие в себя Memory Stick Pro и Memory Stick Duo Smart Media (карты памяти, Secure Digital (SD™), microSD™, miniSD™, PC-карты, MultiMediaCards™ (MMC), RS-MMC™ и xD™.
Кроме того, одновременное развитие технологий для мобильных телефонов и широкое распространение соответствующих конечных устройств привело к повышенному спросу на мобильность с точки зрения использования этих устройств в различных областях применения и, в частности, с учетом вопроса безопасности.
Решающее значение для обмена данными конечных устройств (ПК, ноутбука, PDA, мобильного телефона и т.п.) с картами памяти имеют спецификации соответствующих организаций (напр., Ассоциации для карт SD/Association for cards SD, Ассоциации для карт MMC/Association for cards MMC и т.д.) и наборы команд, определяемые в этих спецификациях. Каждый тип карты (форм-фактор) требует устройства чтения/записи карты, управляемого посредством конкретных драйверов устройства для соответствующей операционной системы конечного устройства.
Кроме других расширений карт памяти при помощи функциональных модулей до карты Bluetooth, карты WLAN, радио карты и т.п., промышленный стандарт Мс-Ех (Mobile Commerce Extension Standard/стандарт мобильного коммерческого расширения) также делает возможным обеспечение дополнительной возможности реализации идеи использования карты памяти в сочетании с криптоконтроллером (также именуется защищенной картой флэш-памяти). Несколько продуктов, служащих реализации этой цели, уже разрабатываются или даже поступили в продажу. Подобная конфигурация проиллюстрирована в ЕР-А-1596326.
В качестве примера многофункциональной карты памяти на фиг.1 представлено схематическое представление известной карты флэш-памяти с интегрированным криптоконтроллером (также упоминаемым как контроллер смарт-карты). Изобретение относится к новому типу связи с такой картой, в которую интегрировано по меньшей мере одно другое периферийное устройство. Другое периферийное устройство может представлять собой, например, криптоконтроллер.
Таким образом, для того чтобы через один и тот же интерфейс данных такой карты памяти и ее контроллер флэш-памяти было возможно управление и одновременное осуществление обмена данными, как с составным элементом флэш-памяти, так и с контроллером смарт-карты в качестве примера функционального модуля, необходимо соответственное расширение и приспособление исходных спецификаций карт флэш-памяти. Таким образом, к примеру, были включены дополнительные команды, или ранее зарезервированные имена команд («пустые» команды, команды без определенных функций) могут быть использованы для активации или управления соответственно подготовленного/предусмотренного для этой цели контроллера флэш-памяти для адресации надлежащего составного элемента (напр., контроллера флэш-памяти или смарт-карты) и для осуществления связи с ним.
В результате этого, драйверы устройства, которые ранее существовали только для карт памяти, должны быть усовершенствованы или заменены для обеспечения передачи и приема также новых или усовершенствованных команд на/с карты памяти с расширенными функциональными возможностями (напр., карты флэш-памяти с интегрированным криптоконтроллером) или для осуществления связи с этими картами памяти. Эти обновленные или новые драйверы будут теперь способны осуществлять связь также со стороны устройства с различными приложениями и обмениваться данными, которые предусмотрены для памяти или карты памяти, а также для других интегрированных функциональных составных элементов, примеры которых приведены в ЕР-А-1596326.
Таким образом, примеры процесса, связанного с функцией драйверов такого устройства, и предъявляемые к нему требования будут приведены в данном документе в качестве примера со ссылкой на «защищенную карту флэш-памяти» (карту флэш-памяти с интегрированными криптоконтроллером, см. фиг.2):
Часть 1: Приложение (напр., MS Word или File Explorer) (позиция 201) должно отредактировать или создать файл, который хранился или хранится во флэш-памяти карты флэш-памяти. Используя файловый системный уровень, а затем используя логическое моделирование памяти карты памяти (устройство 205, не выполняющее обработку данных/raw device 205), операции и данные передаются на драйвер устройства или карты 206 флэш-памяти, которая в свою очередь направляет их в соответствующую спецификацию интерфейса на карту флэш-памяти и передает их на контроллер 207 флэш-памяти. Затем, контроллер флэш-памяти выполняет актуальные операции чтения и записи на флэш-память 209.
Часть 2: В то же время, приложение, связанное с обеспечением безопасности (напр., VPN-клиент), требует криптографической операции (напр., подписи данных или проверки PIN), которая прежде всего должна выполняться на интегрированном в карту памяти криптоконтроллере 210. По аналогией с частью 1 примера, эти операционные требования непосредственно переносятся/пересылаются в соответствующим образом усовершенствованный драйвер шины карты (фиг.2, 204). Этот соответствующим образом усовершенствованный драйвер 206 устройства переводит запрос на операцию в зависимости от соответствующих спецификаций интерфейса для определенного типа карт флэш-памяти и передает на контроллер 207 карты флэш-памяти команды и данные, которые теперь предназначены для криптоконтроллера. Таким образом, благодаря командам и/или командам шины карты, определенным для криптоконтроллера, контроллер флэш-памяти осуществляет связь с криптоконтроллером.
Приведенный выше пример предназначен не только для демонстрации сложности драйверов устройства, требуемых или усовершенствованных для вышеуказанной цели, и сложности требований осуществления связи, предъявляемых к такому драйверу устройства в отношении защищенной картой флэш-памяти, на которую приведена ссылка в примере. Должны быть упомянуты также и другие масштабы сложности. В силу того, что требуется обеспечить широкую сферу применения, программное обеспечение подобного драйвера устройства всегда должно разрабатываться для большого диапазона операционных систем (MS Windows, LINUX, Windows Mobile, SYMBIAN, Palm OS и т.п.) и для большого количества архитектур аппаратных средств или моделей конечных устройств. Кроме того, необходимо принимать во внимание быстрое и непрерывное развитие аппаратных средств и краткий жизненный цикл этих конечных устройств.
Во всех известных способах осуществления связи со вспомогательными (дополнительными) периферийными устройствами и управления ими через коммуникационную шину (напр., шину SD-карты), не предусмотренную непосредственно для этого устройства, обычно используют специальные команды и/или «предварительно заданные команды для карт памяти». В отношении передачи дополнительной управляющей информации посредством команд, которые предназначены и стандартизированы для коммуникационной шины, в отношении предшествующего уровня техники приводится ссылка на US-В-6735650. В данном документе описан способ, который используется в области жестких дисков Serial ATA, а не в области карт памяти, в частности в мобильных конечных устройствах. Кроме того, подобный способ не может быть использован для устранения описанных выше проблем, так как используемый способ не предназначается для управления или обмена данными со вспомогательными периферийными устройствами, а используется для выполнения дополнительных функций контроллера устройства жесткого диска SATA, которые служат для конкретных для каждого конкретного производителя целей диагностики. Для передачи упомянутой дополнительной управляющей информации, конкретной для контроллера устройства, сначала необходима запускаемая специальными командами настройка (setup) специального логического канала связи, который остается включенным до тех пор, пока связь не прервана, и затем выключается также при помощи специальных программ. Команды для настройки и прерывания специального канала связи отличаются от команд, используемых для доступа к жесткому диску с целью чтения и записи данных (см., напр., кол.4 строка 10 - кол.5 строка 64 US-B-6735650).
Целью настоящего изобретения является обеспечение связи и/или управления вспомогательным периферийным устройством (функциональным модулем) через предусмотренную для карты памяти коммуникационную шину (шину связи), которая в сущности не предусмотрена для связи с периферийным устройством или управления им.
Для достижения указанной цели изобретение предлагает способ, сформулированный в 1 пункте формулы изобретения. Преимущественные варианты осуществления способа описаны в зависимых пунктах формулы изобретения.
Таким образом, согласно изобретению предлагается способ осуществления связи хост-системы с многофункциональной картой памяти, который используется для запуска по меньшей мере одной функции обработки данных функционального модуля, и/или для осуществления связи с упомянутым функциональным модулем, и/или для извлечения данных, обработанных функциональным модулем в соответствии с его функцией обработки данных. Эти процессы осуществления связи не представляют собой какую-либо временную последовательность/взаимосвязь. Согласно изобретению, особым признаком способа является тот факт, что для подобных операций осуществления связи используют стандартизированные команды записи и чтения, например команды, используемые для адресации памяти данных карты памяти. Таким образом, связь со вспомогательным функциональным модулем (вспомогательным периферийным устройством) карты памяти осуществляется точно так же, как и осуществление связи с памятью данных карты памяти.
Многофункциональная карта памяти, с которой согласно изобретению устанавливают связь, может содержать один или несколько функциональных модулей. Один или несколько функциональных модулей могут содержать функциональные возможности криптоконтроллера, контроллера смарт-карты, Bluetooth карты, WLAN карты и/или радио карты.
Изобретение подробно описано далее со ссылкой на прилагаемые чертежи, на которых:
фиг.1 схематически изображает настройку (setup) многофункциональной карты памяти, содержащую канал связи, продолжающийся до системы высшего уровня (хост-системы),
фиг.2 схематически изображает процесс (с функциональными блоками) в известном из предшествующего уровня техники случае осуществления связи с многофункциональными картами памяти, а также
фиг.3 схематически изображает настройку во время осуществления связи (с функциональными блоками) согласно одному варианту осуществления настоящего изобретения.
Таким образом, на фиг.1 проиллюстрирована базовая настойка многофункциональной карты памяти для ее использования согласно изобретению, при этом функциональный модуль управляется при помощи стандартизированных команд чтения и записи хранения, которые обычно используют для передачи данных пользователя к картам памяти или от них.
Согласно изобретению в способе осуществления связи с многофункциональными картами памяти и, в частности, с функциональным модулем, дополнительно интегрированным в упомянутые карты памяти, описанная выше сложность полностью устранена, как показано на фиг.3. Связь между программным обеспечением 302 приложения (напр., приложения, связанного с обеспечением безопасности) и функциональным модулем 310 (напр., криптоконтроллером) многофункциональной карты памяти (напр., "защищенной" карты флэш-памяти), используемой согласно изобретению, требует со стороны устройства только части функциональных возможностей программного обеспечения драйвера устройства по сравнению с уже существующим для карт памяти, оснащенных исключительно функциями памяти. Это означает, что возможно использовать только команды карты памяти, предусмотренные для обычного доступа чтения/записи для данных памяти пользователя на адресном уровне карты (флэш-) памяти.
Обеспеченное изобретением (частично экономическое) преимущество разработки заключается в том, что для использования многофункциональных карт памяти (напр., карт флэш-памяти с интегрированным криптоконтроллером) нет необходимости в усовершенствовании программного обеспечения драйвера устройства для карт памяти, а только драйверов устройства, уже предустановленных в конечном устройстве производителем для эксплуатации обычных функциональных возможностей памяти.
Использование подобных многофункциональных карт памяти (усовершенствованных и/или адаптированных карт памяти) согласно изобретению основано исключительно на модификациях управляющего программного обеспечения некоторых составных элементов (напр., аппаратного обеспечения контроллера флэш-памяти) этих карт памяти.
Иными словами, изобретение относится к способу связи с многофункциональными картами памяти без предъявления определенных требований к программному обеспечению драйвера устройства для чтения карт памяти соответствующих операционных систем и/или соответствующих производителей.
a) В связи с этим, аппаратное обеспечение используемого контроллера карты памяти (см. 301 на фиг.3) обновляют и модифицируют соответственным образом, так что контроллер карты памяти после получения на стороне хост-системы 300 команды записи, которая должна запускать процесс записи на составном элементе памяти с содержанием данных, которое подлежит записи на специальный адрес составного элемента памяти (этот адрес (фиг.3, 306, напр., Fw) заранее задан и известен контроллеру карты памяти), вместо этого устанавливает связь с функциональным составным элементом, который кроме возможно существующего составного элемента памяти соединен с контроллером карты памяти, и перенаправляет предоставляемое содержание данных к функциональному составному элементу (см. на 308 на фиг.2).
b) Далее, используемый контроллер карты памяти соответственно обновляют и модифицируют таим образом, что контроллер карты памяти после получения команды чтения на стороне хост-системы, предусмотренной для процесса чтения на составном элементе памяти, передает (возможно, также после временного хранения) к хост-системе ответные данные функционального составного элемента, который дополнительно существует в многофункциональной карте памяти, только если команда чтения адресует содержание данных, которое подлежит хранению, по специальному адресу составного элемента памяти (этот неизменный адрес (см. 306 на фиг.3, напр., Fr) предварительно задан и известен контроллеру карты памяти).
При помощи соответствующего форматирования карты памяти возможно обеспечить, что вышеупомянутые специальные адреса всегда известны операционной системе, однако не используются операционной системой на уровне файлового управления. Таким образом, предлагаемый способ не влияет ни на реализацию драйвера шины карты памяти, ни на технологию, применяемую для реализации интерфейса между хост-компьютером 300 и обычной картой 311 памяти. Таким образом, рассматриваемые приложения (см. Фиг.3 на 302) могут всегда устанавливать связь с функциональным модулем через интерфейс 303, существующий в любом случае карты памяти, а именно только через не зависящие от операционной системы стандартные команды чтения/записи упомянутого интерфейса.
Ни инициация функции обработки данных функционального модуля, ни осуществление связи с функциональным модулем или извлечение данных, обрабатываемых функциональным модулем в соответствии с упомянутой функцией обработки данных, не предъявляют специфических требований к драйверу устройства, уже существующему в хост-компьютере, или к обычному осуществлению связи между драйверами устройства и картой памяти для выполнения предлагаемого способа.
Учитывая вышеизложенное, согласно изобретению многофункциональная карта памяти также не обязательно должна включать в себя модуль памяти. Решающим является тот факт, представляет ли карта сама себя хост-системе и операционной системе как карта памяти; для изобретения, в частности, является принципиальным, что карта имеет возможность адресации посредством команд чтения и записи в том виде, как они известны в адресации памяти данных, так что относительно хост-системы и операционной системы, соответственно, карта будет выступать (действовать) как обычная карта памяти.
Многофункциональная карта памяти, сконфигурированная надлежащим образом для выполнения описанного выше способа, отличается тем, что для этой карты используют устройства чтения/записи, подключенные с помощью проводов или без помощи проводов, предусмотренные для обычной функции памяти этой карты, в особенности без дополнительной установки специально предназначенных драйверов устройства для обеспечения этих дополнительных функциональных возможностей многофункциональной карты памяти.
Возможные конечные устройства включают в себя, например, персональные компьютеры, ноутбуки, PDA, смартфоны, мобильные телефоны или интеллектуальные комбинированные устройства, например принтеры и фотокамеры с дополнительной обработкой данных, при этом операционные системы конечных устройств могут включать в себя, например, MS Windows, LINUX, Windows CE, Windows Mobile, Symbian, PalmOS, Pocket LINUX и т.д.