RU2606565C2 - Агент микропрограммного обеспечения - Google Patents

Агент микропрограммного обеспечения Download PDF

Info

Publication number
RU2606565C2
RU2606565C2 RU2015104983A RU2015104983A RU2606565C2 RU 2606565 C2 RU2606565 C2 RU 2606565C2 RU 2015104983 A RU2015104983 A RU 2015104983A RU 2015104983 A RU2015104983 A RU 2015104983A RU 2606565 C2 RU2606565 C2 RU 2606565C2
Authority
RU
Russia
Prior art keywords
firmware
agent
storage device
copy
computing environment
Prior art date
Application number
RU2015104983A
Other languages
English (en)
Other versions
RU2015104983A (ru
Inventor
Балакесан П. ТЕВАР
Санкаранараянан ВЕНКАТАСУБРАМАНИАН
Карунакара КОТАРИ
Ребекка МОРАЛИ
Картик К
Original Assignee
Интел Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интел Корпорейшн filed Critical Интел Корпорейшн
Publication of RU2015104983A publication Critical patent/RU2015104983A/ru
Application granted granted Critical
Publication of RU2606565C2 publication Critical patent/RU2606565C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

Изобретение относится к области обработки данных, способу и устройству предоставления микропрограммного обеспечения. Технический результат заключается в повышении эффективности предоставления микропрограммного обеспечения устройству, чувствительному к потреблению энергии. Прибор содержит первую вычислительную среду, устройство, процессор, соединенный с устройством, предназначенный для того, чтобы поддерживать первую вычислительную среду; агент управления питанием, предназначенный для предоставления сигнала включения устройству; первое запоминающее устройство, предназначенное для сохранения микропрограммного обеспечения, связанного с устройством. Вторая вычислительная включает второе запоминающее устройство и агент микропрограммного обеспечения, обеспечивающий хранение копии микропрограммного обеспечения первого запоминающего устройства первой вычислительной среды во втором запоминающем устройстве; обнаружение сигнала включения от агента управления питанием. 4 н. и 20 з.п. ф-лы, 5 ил.

Description

Ссылка на родственную заявку
Настоящая заявка устанавливает приоритет заявки США №13/618 508 от 14 сентября 2012 г. под названием "Агент микропрограммного обеспечения".
Область техники, к которой относится изобретение
Эта заявка относится к области обработки данных, более конкретно, к способам, устройствам и носителям информации, связанным с предоставлением устройству микропрограммного обеспечения.
Уровень техники
Описание уровня техники приводится в этом документе для того, чтобы в общем виде представить контекст изобретения. Если в этом документе обратное не указано, то материалы, описанные в этом разделе, не являются ограничивающими для формулы изобретения, изложенной в этой заявке, и не предполагается, что эти материалы являются ограничивающими из-за их включения в этот раздел.
Обычно, микропрограммное обеспечение устройства часто предоставляют устройству посредством драйвера устройства. Тем не менее, перед тем как микропрограммное обеспечение может быть предоставлено устройству, между устройством и драйвером устройства должна быть установлена связь. Протокол установления связи зачастую является нетривиальным. Касательно приборов, чувствительных к потреблению энергии, напр., мобильных вычислительных устройств, устройство может часто выключаться. Например, декодер в планшете может выключаться сотни раз между декодированием групп видеокадров в ходе воспроизведения видео. Таким образом, подход известного уровня техники, при котором устройству предоставляют микропрограммное обеспечение с помощью драйвера устройства, является сравнительно неэффективным.
Краткое описание чертежей
Варианты осуществления настоящего изобретения будут описаны посредством типовых вариантов осуществления, но не ограничивающих, показанных на сопровождающих чертежах, на которых одинаковые ссылочные позиции обозначают аналогичные элементы и на которых:
на фиг. 1 показано общее представление устройства, содержащего агент микропрограммного обеспечения, предназначенный для предоставления микропрограммного обеспечения устройству, расположенному в рамках вычислительной среды, извне вычислительной среды;
на фиг. 2 показан процесс получения микропрограммного обеспечения устройства агентом микропрограммного обеспечения;
на фиг. 3 показан процесс предоставления микропрограммного обеспечения устройству с помощью агента микропрограммного обеспечения;
на фиг. 4 показан пример вычислительного устройства со встроенным агентом микропрограммного обеспечения;
на фиг. 5 приведен пример постоянного машинного носителя информации, на котором имеются команды, сконфигурированные так, чтобы выполнять все или выбранные аспекты потока действий агента микропрограммного обеспечения, показанного на фиг. 2-3; при этом все устроено в соответствии с вариантами осуществления настоящего изобретения.
Подробное описание изобретения
В этом разделе приведено описание способов, устройств и носителей информации, связанных с предоставления микропрограммного обеспечения устройству. В различных вариантах осуществления прибор, напр., чувствительный к потреблению энергии прибор, такой как планшет, может включать в себя устройство, напр., декодер, и процессор для поддерживания вычислительной среды, которая включает в себя устройство и драйвер устройства. Кроме того, прибор может включать в себя агент микропрограммного обеспечения, расположенный за пределами вычислительной среды, предназначенный для того, чтобы по команде драйвера устройства предоставлять устройству микропрограммное обеспечение при включении устройства. Соответственно, микропрограммное обеспечение может быть предоставлено устройству более эффективным способом, особенно, если устройство может часто отключаться в случае чувствительного к потреблению энергии прибора. Другие полезные эффекты и преимущества также могут быть описаны в последующем описании и/или они могут быть очевидны специалистам в этой области техники из последующего описания.
Различные аспекты примеров осуществления будут описаны с использованием выражений, применяемых обычно специалистами в области техники для сообщения сути их работы другим специалистам в области техники. Тем не менее, специалистам в данной области техники очевидно, что настоящее изобретение может быть реализовано на практике с применением только некоторых из описанных аспектов. Для целей объяснения конкретные числа, материалы и конфигурации изложены для того, чтобы обеспечить полное понимание примеров осуществления. Тем не менее, специалистам в данной области техники очевидно, что на практике можно реализовать альтернативные варианты осуществления без специфических деталей. В других случаях, хорошо известные признаки опущены или упрощены, чтобы не усложнять примеры осуществления.
Различные операции будут описаны как множество отдельных операций, а они, в свою очередь, будут описаны способом, наиболее полезным для понимания примеров осуществления; тем не менее, не следует считать, что порядок описания предполагает, что эти операции обязательно зависят от их порядка. В частности, эти операции не обязательно должны выполняться в том порядке, в котором они представлены. Кроме того, описание операций как отдельных операций не следует рассматривать как требование того, чтобы эти операции обязательно выполнялись независимо и/или отдельными объектами. Описания объектов и/или модулей в виде отдельных модулей также не следует истолковывать как требование того, чтобы эти модули были отдельными и/или выполняли отдельные операции. В различных вариантах осуществления показанные и/или описанные операции, объекты, данные и/или модули могут быть объединены, разделены на составные части и/или опущены.
Неоднократно используется фраза "в одном варианте осуществления" или "в варианте осуществления". Вообще, эта фраза не относится к одному и тому же варианту осуществления; тем не менее, может относиться. Выражения "содержащий", "имеющий" и "включающий в себя" являются синонимами, если из контекста не следует обратное. Фраза "А/В" означает "А или В". Фраза "А и/или В" означает "(А), (В) или (А и В)". Фраза "по меньшей мере одно из А, В и С" означает "(А), (В), (С), (А и В), (А и С), (В и С) или (А, В и С)".
На фиг. 1 показано общее представление устройства, содержащего агент микропрограммного обеспечения, предназначенный для предоставления микропрограммного обеспечения устройству, расположенному в рамках вычислительной среды, извне вычислительной среды в соответствии с различными вариантами осуществления. Как показано, устройство 100, например вычислительное устройство, может включать в себя вычислительную среду 102, поддерживаемую одним или несколькими процессорами 112, и модуль 108 безопасности, расположенный отдельно за пределами вычислительной среды 102 и соединенный с вычислительной средой 102, как показано. В дополнение к процессору(ам) 112, вычислительная среда 102 может также включать в себя запоминающее устройство 114, операционную систему (ОС) 116 и одно или несколько устройств 118. Кроме того, ОС 116 может включать в себя один или несколько драйверов 122 устройств для одного или нескольких устройств 118 и агент 124 управления питанием. А запоминающее устройство 114 может включать в себя микропрограммное обеспечение 126 одного или нескольких устройств 118. Модуль 108 безопасности может включать в себя агент 104 микропрограммного обеспечения и запоминающее устройство 106, также содержащее микропрограммное обеспечение одного или нескольких устройств 118, полученное из запоминающего устройства 114. В вариантах осуществления вычислительная среда 102 и модуль 108 безопасности могут быть соединены друг с другом посредством одной или нескольких шин, напр. посредством шины I2C или шины взаимодействия периферийных компонент (PCI) и т.д.
Процессор(ы) 112 может представлять собой один из множества процессоров или процессорных ядер, известных при существующем уровне техники, напр. процессор архитектуры Intel® от компании Intel Corporation, Санта-Клара, штат Калифорния. Запоминающее устройство 114 может представлять собой одно из множества магтштных, оптических или твердотельных запоминающих устройств, известных в технике. Аналогично, ОС 116 может представлять собой одну из множества ОС, известных в области техники, напр. одну из ОС семейства Windows® от Microsoft Corporation, Редмонд, штат Вашингтон. Примеры устройств 118 могут включать в себя, но, не ограничиваясь, кодер, декодер, графический блок, трансивер, устройство системы глобального позиционирования и другие подобные устройства.
Модуль 108 безопасности, как было описано выше, может включать в себя агент 104 микропрограммного обеспечения и защищенное запоминающее устройство 106, соединенные друг с другом. Агент 104 микропрограммного обеспечения, как показано, может быть соединен с запоминающим устройством 114, ОС 116 и устройствами 118. Модуль 108 безопасности может представлять собой одну из множества доверенных вычислительных сред или защищенных встроенных вычислительных сред, отделенную и независимую от вычислительной среды 102. Как более подробно будет описано далее, агент 104 микропрограммного обеспечения может быть сконфигурирован так, чтобы предоставлять устройствам 118 их микропрограммное обеспечение 126 при обнаружении включения устройств 118. В некоторых вариантах осуществления агент 104 микропрограммного обеспечения может перехватывать сигналы включения/выключения от агента 124 управления питанием и передавать их устройствам 118. В других вариантах осуществления (не показаны) агент 104 микропрограммного обеспечения может быть соединен с путем прохождения сигнала между агентом 124 управления питанием и устройствами 118, чтобы обнаружить события включения/выключения питания. Как было описано ранее, предоставление микропрограммного обеспечения устройствам 118 посредством агента 104 микропрограммного обеспечения может быть более эффективным, чем при обычном подходе (т.е. посредством драйверов устройств), особенно для часто выключающихся устройств 118 в вычислительной среде, чувствительной к потреблению энергии. Аналогично запоминающему устройству 114, запоминающее устройство 106 может представлять собой одно из множества магнитных, оптических или твердотельных запоминающих устройств, известных в области техники.
В вариантах осуществления вычислительное устройство 100 может представлять собой устройство, чувствительное к потреблению энергии, такое как смартфон, карманный компьютер (PDA), планшет, ультрабук, устройство для чтения электронных книг, игровая консоль, приставка и т.д., но не ограничиваясь этим. В частности, агент 124 управления питанием может быть сконфигурирован так, чтобы отключать одно или несколько устройств 118, напр., всякий раз, когда они не используются, и включать одно или несколько устройств 118, напр., только тогда, когда они необходимы.
Прежде чем продолжить описание агента 104 микропрограммного обеспечения, следует отметить, что хотя для простоты понимания агент 104 микропрограммного обеспечения описывают как часть модуля 108 безопасности, в альтернативной, предъявляющей более мягкие требования к безопасности среде агент 104 микропрограммного обеспечения может быть расположен, напр., в обычном незащищенном встроенном контроллере. Кроме того, предполагается, что устройство 100 представляет широкий диапазон вычислительных устройств, известных в области техники. Примеры устройства 100 будут дополнительно описаны позднее со ссылкой на фиг. 4.
На фиг. 2 показан процесс получения микропрограммного обеспечения устройства агентом микропрограммного обеспечения в соответствии с вариантами осуществления настоящего изобретения. Как показано, для вариантов осуществления процесс 200 может начинаться с этапа 202. На этапе 202 вычислительное устройство 100 может быть включено. После этапа 202 процесс 200 может перейти к этапу 204. На этапе 204 агент 104 микропрограммного обеспечения может определить, имеет ли вычислительное устройство 100 новые устройства 118 или устройства 118 с обновленным микропрограммным обеспечением. Агент 104 микропрограммного обеспечения может определить наличие новых устройств 118 посредством множества известных технологий, напр., путем подсчета устройств, подключенных к различным шинам (не показаны) в вычислительной среде 102. Агент 104 микропрограммного обеспечения также может определить, было ли обновлено некоторое микропрограммное обеспечение, путем проверки с помощью ОС 116 и/или драйверов 122 устройств, или путем проверки структур данных, поддерживаемых ОС 116 и/или драйверами 122 устройств.
При определении либо наличия нового устройства, либо, по меньшей мере, одного обновленного микропрограммного обеспечения устройства процесс 200 может перейти к этапу 206. На этапе 206 агент 204 микропрограммного обеспечения может получить новое или обновленное микропрограммное обеспечение от драйвера(ов) 122 устройства или запоминающего устройства 114. В последнем случае местоположение(я) нового или обновленного микропрограммного обеспечения может быть предоставлено агенту 104 микропрограммного обеспечения драйвером(ами) 122 устройства.
После этапа 206 процесс 200 может, как вариант, перейти на этап 208, либо непосредственно на этап 210, не выполняя действия на этапе 208. На этапе 208 для более требовательных к безопасности вариантов осуществления агент 104 микропрограммного обеспечения может аутентифицировать предоставленное микропрограммное обеспечение. Аутентификация может быть выполнена с использованием любой из множества технологий аутентификации, известных в области техники. На этапе 210 после успешной аутентификации или без осуществления аутентификации в зависимости от реализации агент 104 микропрограммного обеспечения может сохранить предоставленное микропрограммное обеспечение в запоминающем устройстве 106 (которое в некоторых вариантах осуществления, как было описано ранее, может представлять собой защищенное запоминающее устройство).
После этапа 210 процесс 200 может вернуться на этап 204, чтобы определить, имеется ли дополнительное новое или обновленное микропрограммное обеспечение устройств, которое надо получить, и при необходимости повторить действия этапов 206-210. При определении, что (дополнительное) новое или обновленное микропрограммное обеспечение устройства отсутствует, процесс 200 может перейти на этап 212, на котором процесс может завершиться.
В альтернативных вариантах осуществления вместо агента 104 микропрограммного обеспечения, определяющего, не обновилось ли микропрограммное обеспечение одного или нескольких устройств, и действующего для получения обновленной версии с аутентификацией или без нее, обновление микропрограммного обеспечения 126, хранимого в запоминающем устройстве 106, может быть запущено соответствующим драйвером 122 устройства при приеме обновлений микропрограммного обеспечения 126, сохраненного в запоминающем устройстве 114.
На фиг. 3 показан процесс предоставления микропрограммного обеспечения устройству агентом микропрограммного обеспечения в соответствии с различными вариантами осуществления настоящего изобретения. Процесс может начаться на этапе 302. На этапе 302 агент 104 микропрограммного обеспечения может отслеживать события включения устройств 118. Если событий включения устройств не обнаружено, то процесс 300 может остаться на этапе 302 и находиться в цикле до тех пор, пока такое событие не будет обнаружено.
При обнаружении включения устройства 118 процесс 300 может перейти с этапа 302 на этап 304. На этапе 304 агент 104 микропрограммного обеспечения может извлечь микропрограммное обеспечение 126 устройства из запоминающего устройства 106 и предоставить микропрограммное обеспечение 126 устройству 118. Таким образом, микропрограммное обеспечение 126 может быть предоставлено устройству 118 более эффективно. В некоторых вариантах осуществления на этапе 304 перед извлечением и предоставлением микропрограммного обеспечения 126 устройству 118 агент 104 микропрограммного обеспечения может также передавать сигналы включения от агента 124 управления питания устройствам 118. В некоторых вариантах осуществления агент 104 микропрограммного обеспечения также может передавать сигналы выключения от агента 124 управления питанием устройствам 118 (не показано).
На фиг. 4 показан пример вычислительного устройства, содержащего агент микропрограммного обеспечения в соответствии с различными вариантами осуществления настоящего изобретения. Как показано, вычислительное устройство 400 может включать в себя несколько процессоров или процессорных ядер 402, сопроцессор(ы) 414 и системную память 404. Для целей этой заявки, включая формулу изобретения, выражения "процессор" и "процессорные ядра" можно рассматривать как синонимы, если из контекста не следует обратное. Помимо этого, вычислительное устройство 400 может включать в себя запоминающие устройства 406 большой емкости (такие как дискета, жесткий диск, постоянная память на компакт-диске (CD-ROM) и т.д.), устройства 408 ввода/вывода (такие как дисплей, клавиатура, устройство управления курсором и т.д.), интерфейсы 410 связи (такие как сетевые интерфейсные платы, модемы и т.д.) и модуль 416 безопасности (с агентом микропрограммного обеспечения и запоминающим устройством, как было описано ранее). Элементы могут быть соединены друг с другом через системную шину 412, которая может представлять собой одну или несколько шин. В случае нескольких шин они могут быть соединены через один или несколько шинных мостов (не показаны).
За исключением элемента 416 устройство этих элементов 402-414 известно и, соответственно, не будет далее описываться. Модуль 416 безопасности может представлять собой доверенную вычислительную среду или защищенный встроенный контроллер со своим собственным процессором или процессорами. Агент микропрограммного обеспечения в модуле 416 безопасности может быть реализован посредством инструкциями ассемблера, поддерживаемыми процессором(ами) модуля 416 безопасности, или посредством команд высокоуровневых языков, таких как, например, Си, которые могут быть скомпилированы в такие инструкции.
Программные команды могут быть размещены в модуле 416 безопасности при производстве или на местах, например, с помощью дистрибутивного носителя (не показан), такого как компакт-диск (CD), или через интерфейс 410 связи (с дистрибутивного сервера (не показан)). То есть, может использоваться одна или несколько дистрибутивных сред, содержащих агент микропрограммного обеспечения, чтобы упростить его распространение.
На фиг. 5 приведен пример постоянного машинного носителя информации, на котором имеются команды, сконфигурированные так, чтобы выполнять все или выбранные аспекты процессов, показанных на фиг. 2-3; в соответствии с различными вариантами осуществления настоящего изобретения. Как показано, постоянный машинный носитель 502 информации может включать в себя множество программных команд 504. Программные команды 504 могут быть сконфигурированы так, чтобы устройство, напр. вычислительное устройство 400, в ответ на исполнение программных команд выполняло различные действия различных потоков, показанных на фиг. 2-3. В альтернативных вариантах осуществления программные команды 504 могут быть расположены на нескольких постоянных машинных носителях 504 информации.
Таким образом, описанные варианты осуществления включают в себя прибор, содержащий устройство, и процессор, соединенный с устройством, предназначенный для поддерживания вычислительной среды, которая включает в себя устройство и драйвер устройства. Прибор может также включать в себя агент микропрограммного обеспечения, расположенный за пределами вычислительной среды и соединенный с устройством, предназначенный для того, чтобы по команде драйвера устройства предоставлять микропрограммное обеспечение устройству при включении устройства.
В вариантах осуществления устройство может представлять собой одно из следующего: кодер, декодер, графический блок, трансивер или устройство системы глобального позиционирования. Вычислительная среда может также включать в себя агент управления питанием, соединенный с устройством, предназначенный для того, чтобы включать или выключать устройство. Агент микропрограммного обеспечения может быть сконфигурирован так, чтобы предоставлять микропрограммное обеспечение устройству в ответ на включение устройства агентом управления питанием. Агент управления питанием может выключать устройство всякий раз, когда прибор переходит в режим энергосбережения, при котором потребляет меньше энергии, чем в нормальном режиме работы. Агент управления питанием может также выключать устройство всякий раз, когда устройство не используется в течение некоторого периода времени, и при этом прибор работает в нормальном режиме.
В вариантах осуществления вычислительная среда может также включать в себя операционную систему, которая содержит агент управления питанием. Агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы связывать агент управления питанием с устройством и передавать команды или сигналы включения или выключения от агента управления питанием устройству.
В вариантах осуществления агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы получать микропрограммное обеспечение от драйвера устройства при запуске прибора. Прибор может дополнительно включать в себя защищенное запоминающее устройство, расположенное за пределами вычислительной среды и соединенное с агентом микропрограммного обеспечения. А агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы сохранять микропрограммное обеспечение в защищенном запоминающем устройстве при получении микропрограммного обеспечения при запуске прибора и извлекать микропрограммное обеспечение из защищенного запоминающего устройства, чтобы предоставить его устройству при его включении. Агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы аутентифицировать микропрограммное обеспечение перед сохранением микропрограммного обеспечения в защищенном запоминающем устройстве. Прибор может дополнительно включать в себя модуль безопасности, расположенный за пределами вычислительной среды, при этом модуль безопасности включает в себя агент микропрограммного обеспечения. Прибор может представлять собой смартфон или планшет.
Описанные варианты осуществления также включают в себя, по меньшей мере, один постоянный машинный носитель информации, содержащий множество команд, причем при исполнении команд модулем безопасности вычислительного устройства команды реализуют агент микропрограммного обеспечения для вычислительного устройства, предназначенный для того, чтобы предоставлять микропрограммное обеспечение устройству при включении устройства, при этом устройство и драйвер устройства являются частью вычислительной среды, поддерживаемой процессором вычислительного устройства, а модуль безопасности, включая агент микропрограммного обеспечения, расположен за пределами вычислительной среды и соединен с устройством.
В вариантах осуществления вычислительная среда может также включать в себя агент управления питанием, соединенный с устройством, предназначенный для того, чтобы включать или выключать устройство. Агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы предоставлять микропрограммное обеспечение устройству в ответ на включение устройства агентом управления питанием. В вариантах осуществления агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы связывать агент управления питанием с устройством и передавать команды или сигналы включения или выключения от агента управления питанием устройству. В вариантах осуществления агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы получать микропрограммное обеспечение от драйвера устройства при запуске вычислительного устройства. Вычислительное устройство может дополнительно включать в себя защищенное запоминающее устройство, расположенное за пределами вычислительной среды и соединенное с агентом микропрограммного обеспечения. Агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы сохранять микропрограммное обеспечение в защищенном запоминающем устройстве при получении микропрограммного обеспечения при запуске вычислительного устройства и извлекать микропрограммное обеспечение из защищенного запоминающего устройства, чтобы предоставить его устройству при его включении. Агент микропрограммного обеспечения также может быть сконфигурирован так, чтобы аутентифицировать микропрограммное обеспечение перед сохранением микропрограммного обеспечения в защищенном запоминающем устройстве.
Описанные варианты осуществления также включают в себя способ предоставления микропрограммного обеспечения. Способ может включать в себя следующее: посредством агента микропрограммного обеспечения вычислительного устройства обнаруживают события включения устройства вычислительного устройства; и предоставляют микропрограммное обеспечение устройству с помощью агента микропрограммного обеспечения по команде драйвера устройства в ответ на обнаружение включения устройства. Устройство и драйвер устройства могут быть частью вычислительной среды, поддерживаемой процессором вычислительного устройства, а агент микропрограммного обеспечения может быть расположен за пределами вычислительной среды и соединен с устройством.
В вариантах осуществления вычислительная среда может также включать в себя агент управления питанием, соединенный с устройством, предназначенный для того, чтобы включать или выключать устройство. Процесс предоставления может включать в себя следующее: агент микропрограммного обеспечения предоставляет микропрограммное обеспечение устройству в ответ на включение устройства агентом управления питанием. Способ также может включать в себя следующее: агент микропрограммного обеспечения связывает агент управления питанием с устройством и передает команды или сигналы включения или выключения от агента управления питанием устройству. Способ также может включать в себя следующее: посредством агента микропрограммного обеспечения получают микропрограммное обеспечение от драйвера устройства во время запуска вычислительного устройства.
В вариантах осуществления вычислительное устройство может дополнительно включать в себя защищенное запоминающее устройство, расположенное за пределами основной вычислительной среды и соединенное с агентом микропрограммного обеспечения. Способ также может включать в себя следующее: с помощью агента микропрограммного обеспечения сохраняют микропрограммное обеспечение в защищенном запоминающем устройстве при получении микропрограммного обеспечения во время запуска вычислительного устройства и с помощью агента микропрограммного обеспечения извлекают микропрограммное обеспечение из защищенного запоминающего устройства, чтобы предоставить его устройству при его включении. Способ также может включать в себя следующее: с помощью агента микропрограммного обеспечения аутентифицируют микропрограммное обеспечение перед сохранением микропрограммного обеспечения в защищенном запоминающем устройстве.
Хотя в этом документе были показаны и описаны отдельные варианты осуществления, специалистам в этой области техники понятно, что показанные и описанные варианты можно заменить на альтернативные и/или эквивалентные реализации, не отклоняясь от объема вариантов осуществления настоящего изобретения. Предполагается, что данная заявка покрывает любые адаптации или изменения обсуждаемых в этом документе вариантов осуществления. Поэтому, явно полагается, что варианты осуществления настоящего изобретения ограничены только формулой изобретения.

Claims (58)

1. Прибор для предоставления микропрограммного обеспечения, содержащий:
первую вычислительную среду, включающую в себя:
устройство;
процессор, соединенный с устройством, предназначенный для того, чтобы поддерживать первую вычислительную среду;
агент управления питанием, соединенный с устройством, предназначенный для предоставления сигнала включения устройству, при этом сигнал включения предназначен для побуждения устройства включится;
первое запоминающее устройство, соединенное с процессором, предназначенное для сохранения микропрограммного обеспечения, связанного с устройством; и
вторую вычислительную среду, расположенную за пределами первой вычислительной среды, включающую в себя:
второе запоминающее устройство; и агент микропрограммного обеспечения, соединенный с устройством, предназначенный для того, чтобы:
сохранять копию микропрограммного обеспечения, полученную из первого запоминающего устройства в рамках первой вычислительной среды, во втором запоминающем устройстве;
обнаруживать сигнал включения от агента управления питанием; и
предоставлять в устройство из второго запоминающего устройства копию микропрограммного обеспечения в ответ на обнаружение сигнала включения.
2. Прибор по п. 1, в котором устройство включает одно из следующего: кодер, декодер, графический блок, трансивер, или устройство системы глобального позиционирования.
3. Прибор по п. 1, в котором агент управления питанием дополнительно выполнен с возможностью предоставления сигнала выключения в устройство всякий раз, когда прибор переходит в режим энергосбережения, при котором потребляет меньше энергии, чем в нормальном режиме работы, при этом сигнал выключения побуждает устройство выключиться.
4. Прибор по п. 1, в котором агент управления питанием дополнительно выполнен с возможностью предоставления сигнала выключения в устройство всякий раз, когда устройство не используется в течение некоторого периода времени, и при этом прибор работает в нормальном режиме, при этом сигнал выключения побуждает устройство выключиться.
5. Прибор по п. 1, в котором первая вычислительная среда также включает в себя операционную систему, которая содержит агент управления питанием.
6. Прибор по п. 1, в котором агент микропрограммного обеспечения дополнительно выполнен с возможностью:
связывать агент управления питанием с устройством; и
передавать сигнал включения, обеспеченный агентом управления питанием, устройству.
7. Прибор по п. 1, в котором второе запоминающее устройство представляет собой защищенное запоминающее устройство и агент микропрограммного обеспечения дополнительно выполнен с возможностью:
получать копию микропрограммного обеспечения из первого запоминающего устройства во время запуска прибора;
сохранять копию микропрограммного обеспечения в защищенном запоминающем устройстве в ответ на получение копии микропрограммного обеспечения агентом микропрограммного обеспечения; и
извлекать копию микропрограммного обеспечения из защищенного запоминающего устройства, чтобы предоставить его устройству в ответ на обнаружение сигнала включения, после запуска прибора.
8. Прибор по п. 7, в котором агент микропрограммного обеспечения дополнительно выполнен с возможностью аутентифицировать копию микропрограммного обеспечения перед сохранением копии микропрограммного обеспечения в защищенном запоминающем устройстве.
9. Прибор по п. 1, в котором вторая вычислительная среда дополнительно содержит модуль безопасности, при этом модуль безопасности включает в себя агент микропрограммного обеспечения.
10. Прибор по п. 1, причем прибор представляет собой смартфон или планшет.
11. Прибор по п. 1, в котором агент микропрограммного обеспечения дополнительно выполнен с возможностью:
определять, что микропрограммное обеспечение, сохраненное в первом запоминающем устройстве, обновлено по сравнению с копией микропрограммного обеспечения, сохраненной во втором запоминающем устройстве;
обновлять копию микропрограммного обеспечения, сохраненную во втором запоминающем устройстве, микропрограммным обеспечением, сохраненным в первом запоминающем устройстве, которое было определено как обновленное.
12. Прибор по п. 11, в котором определение было ли обновлено микропрограммное обеспечение, сохраненное в первом запоминающем устройстве, включает проверку с помощью драйвера устройств, связанного с устройством, что микропрограммное обеспечение было обновлено.
13. Прибор по п. 1, в котором агент микропрограммного обеспечения дополнительно выполнен с возможностью:
перехватывать сигнал включения, обеспеченный агентом управления питанием в устройство; и
передавать сигнал включения устройству, при этом копия микропрограммного обеспечения обеспечивается после передачи сигнала включения.
14. Способ для предоставления микропрограммного обеспечения, содержащий следующее:
посредством агента микропрограммного обеспечения вычислительного устройства обнаруживают передачу сигнала включения от агента управления питанием вычислительного устройства в устройство вычислительного устройства; и
предоставляют микропрограммное обеспечение устройству с помощью агента микропрограммного обеспечения в ответ на обнаружение передачи сигнала включения;
причем устройство является частью первой вычислительной среды, которая включает в себя первое запоминающее устройство, предназначенное для сохранения микропрограммного обеспечения, связанного с устройством, при этом вычислительная среда поддерживается процессором вычислительного устройства, а агент микропрограммного обеспечения расположен за пределами первой вычислительной среды в рамках второй вычислительной среды и соединен с устройством, в котором вторая вычислительная среда включает в себя второе запоминающее устройство, предназначенное для сохранения копии микропрограммного обеспечения, полученной из первого запоминающего устройства, и в котором предоставление микропрограммного обеспечения в устройство включает в себя предоставление копии микропрограммного обеспечения, полученного из второго запоминающего устройства.
15. Способ по п. 14, дополнительно содержащий следующее: посредством агента микропрограммного обеспечения связывают агент управления питанием с устройством и передают сигнал включения устройству.
16. Способ по п. 14, дополнительно содержащий следующее: посредством агента микропрограммного обеспечения получают микропрограммное обеспечение от первого запоминающего устройства для сохранения во втором запоминающем устройстве во время запуска вычислительного устройства.
17. Способ по п. 16, в котором второе запоминающее устройство содержит защищенное запоминающее устройство, соединенное с агентом микропрограммного обеспечения, причем способ дополнительно содержит следующее:
с помощью агента микропрограммного обеспечения сохраняют копию микропрограммного обеспечения в защищенном запоминающем устройстве при получении микропрограммного обеспечения от первого запоминающего устройства во время запуска вычислительного устройства до передачи сигнала включения; и
с помощью агента микропрограммного обеспечения извлекают копию микропрограммного обеспечения из защищенного запоминающего устройства, чтобы предоставить в устройство в ответ на обнаружение передачи сигнала включения.
18. Способ по п. 17, дополнительно содержащий следующее: с помощью агента микропрограммного обеспечения аутентифицируют копию микропрограммного обеспечения перед сохранением копии микропрограммного обеспечения в защищенном запоминающем устройстве.
19. По меньшей мере, один машинный носитель информации, содержащий множество команд, причем исполнение команд модулем безопасности вычислительного устройства приводит к выполнению агентом микропрограммного обеспечения вычислительного устройства:
сохранения копии микропрограммного обеспечения, связанного с устройством вычислительного устройства, в первом запоминающем устройстве, при этом копия микропрограммного обеспечения получена из второго запоминающего устройства;
обнаружения сигнала включения, переданного от агента управления питанием вычислительного устройства в устройство, при этом сигнал включения предназначен для побуждения устройства включиться; и
предоставления копии микропрограммного обеспечения в устройство в ответ на обнаружение сигнала включения, при этом копию микропрограммного обеспечения извлекают из первого запоминающего устройства, в котором устройство является частью вычислительной среды, которая включает в себя второе запоминающее устройство, предназначенное для сохранения микропрограммного обеспечения, связанного с устройством, и которая поддерживается процессором вычислительного устройства, и в котором агент микропрограммного обеспечения и первое запоминающее устройство расположены за пределами вычислительной среды.
20. Машинный носитель информации по п. 19, в котором агент микропрограммного обеспечения дополнительно:
связывает агент управления питанием с устройством; и
передает сигнал включения устройству.
21. Машинный носитель информации по п. 19, в котором агент микропрограммного обеспечения дополнительно получает копию микропрограммного обеспечения от второго запоминающего устройства, для сохранения в первом запоминающем устройстве, во время запуска вычислительного устройства.
22. Машинный носитель информации по п. 21, в котором первое запоминающее устройство содержит защищенное запоминающее устройство, соединенное с агентом микропрограммного обеспечения, причем агент микропрограммного обеспечения дополнительно:
сохраняет копию микропрограммного обеспечения в защищенном запоминающем устройстве, при получении копии микропрограммного обеспечения во время запуска вычислительного устройства до передачи сигнала включения; и
извлекает микропрограммное обеспечение из защищенного запоминающего устройства, чтобы предоставить в устройство в ответ на обнаружение передачи сигнала включения.
23. Машинный носитель информации по п. 22, в котором агент микропрограммного обеспечения дополнительно аутентифицирует копию микропрограммного обеспечения перед сохранением копии микропрограммного обеспечения в защищенном запоминающем устройстве.
24. Машинный носитель информации по п. 19, в котором агент микропрограммного обеспечения дополнительно:
определяет что микропрограммное обеспечение, сохраненное во втором запоминающем устройстве, было обновлено с текущей версии микропрограммного обеспечения, сохраненного в первом запоминающем устройстве, на основании структур данных, поддерживаемых драйвером устройства, связанным с устройством;
получает копию микропрограммного обеспечения из второго запоминающего устройства на основании определения, что микропрограммное обеспечение, сохраненное во втором запоминающем устройстве, было обновлено; и
сохраняет копию микропрограммного обеспечения в первом запоминающем устройстве на основании определения, что микропрограммное обеспечение, сохраненное во втором запоминающем устройстве, было обновлено.
RU2015104983A 2012-09-14 2013-08-27 Агент микропрограммного обеспечения RU2606565C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/618,508 2012-09-14
US13/618,508 US9678732B2 (en) 2012-09-14 2012-09-14 Firmware agent
PCT/US2013/056915 WO2014042870A1 (en) 2012-09-14 2013-08-27 Firmware agent

Publications (2)

Publication Number Publication Date
RU2015104983A RU2015104983A (ru) 2016-08-27
RU2606565C2 true RU2606565C2 (ru) 2017-01-10

Family

ID=50275753

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015104983A RU2606565C2 (ru) 2012-09-14 2013-08-27 Агент микропрограммного обеспечения

Country Status (5)

Country Link
US (1) US9678732B2 (ru)
CN (1) CN104520810A (ru)
GB (1) GB2520444B (ru)
RU (1) RU2606565C2 (ru)
WO (1) WO2014042870A1 (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703346B2 (en) * 2014-06-23 2017-07-11 Intel Corporation Firmware interface with backup non-volatile memory storage
US11256494B2 (en) * 2017-10-02 2022-02-22 Red Bend Ltd. ECU and peripherals update using central dispatch unit
WO2019119408A1 (en) * 2017-12-22 2019-06-27 Intel Corporation Manageability engine and automatic firmware validation
WO2020124354A1 (en) * 2018-12-18 2020-06-25 Intel Corporation Computing method and apparatus with multi-phase/level boot
US11442714B2 (en) * 2020-10-05 2022-09-13 Unisys Corporation Parallel code fragments in executable code

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1116432A1 (ru) * 1982-12-08 1984-09-30 Ордена Ленина Институт Кибернетики Им.В.М.Глушкова Микропрограммный процессор со средствами быстрого прерывани
US5692204A (en) * 1995-02-15 1997-11-25 International Business Machines Corporation Method and apparatus for computer system power management
US20060020936A1 (en) * 2002-05-10 2006-01-26 Wyatt David A Arrangements for initialization-time and run-time integration of firmware and software extensions for supporting add-in hardware
US20070271360A1 (en) * 2006-05-16 2007-11-22 Ravi Sahita Network vulnerability assessment of a host platform from an isolated partition in the host platform
RU2421811C2 (ru) * 2004-09-01 2011-06-20 Майкрософт Корпорейшн Интерфейс поставщиков служб устройств
US20120117555A1 (en) * 2010-11-08 2012-05-10 Lsi Corporation Method and system for firmware rollback of a storage device in a storage virtualization environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216224B1 (en) * 1998-06-05 2001-04-10 Micron Technology Inc. Method for read only memory shadowing
US6477655B1 (en) * 1998-12-09 2002-11-05 Globespanvirata, Inc. System and method to set PME—status bit and wake up the system, and selectively load device driver by searching who set the bit without requiring clock
US7819750B2 (en) * 1999-10-06 2010-10-26 Igt USB software architecture in a gaming machine
US7243243B2 (en) * 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
US20040093597A1 (en) * 2002-11-05 2004-05-13 Rao Bindu Rama Firmware update system for facilitating firmware update in mobile handset related applications
US6941453B2 (en) 2003-02-11 2005-09-06 Bitfone Corporation System and method for determining if a device needs to be updated and locating and invoking an update agent to update the firmware or software in the device
US7433300B1 (en) * 2003-03-28 2008-10-07 Cisco Technology, Inc. Synchronization of configuration data in storage-area networks
US7886093B1 (en) 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
US7127600B2 (en) * 2003-09-30 2006-10-24 Intel Corporation Aggressive content pre-fetching during pre-boot runtime to support speedy OS booting
US7363482B2 (en) * 2004-03-03 2008-04-22 Intel Corporation Method and apparatus to support remote configuration code
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8245219B2 (en) 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US20090254898A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Converting a device from one system to another
TWI386847B (zh) * 2009-02-04 2013-02-21 Novatek Microelectronics Corp 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1116432A1 (ru) * 1982-12-08 1984-09-30 Ордена Ленина Институт Кибернетики Им.В.М.Глушкова Микропрограммный процессор со средствами быстрого прерывани
US5692204A (en) * 1995-02-15 1997-11-25 International Business Machines Corporation Method and apparatus for computer system power management
US20060020936A1 (en) * 2002-05-10 2006-01-26 Wyatt David A Arrangements for initialization-time and run-time integration of firmware and software extensions for supporting add-in hardware
RU2421811C2 (ru) * 2004-09-01 2011-06-20 Майкрософт Корпорейшн Интерфейс поставщиков служб устройств
US20070271360A1 (en) * 2006-05-16 2007-11-22 Ravi Sahita Network vulnerability assessment of a host platform from an isolated partition in the host platform
US20120117555A1 (en) * 2010-11-08 2012-05-10 Lsi Corporation Method and system for firmware rollback of a storage device in a storage virtualization environment

Also Published As

Publication number Publication date
GB2520444B (en) 2020-05-20
US9678732B2 (en) 2017-06-13
GB201500823D0 (en) 2015-03-04
WO2014042870A1 (en) 2014-03-20
CN104520810A (zh) 2015-04-15
GB2520444A (en) 2015-05-20
US20140082388A1 (en) 2014-03-20
RU2015104983A (ru) 2016-08-27

Similar Documents

Publication Publication Date Title
EP2239662B1 (en) System management mode inter-processor interrupt redirection
US7584374B2 (en) Driver/variable cache and batch reading system and method for fast resume
US10445154B2 (en) Firmware-related event notification
EP2380081B1 (en) Method and system for hibernation or suspend using a non-volatile-memory device
US8677484B2 (en) Providing protection against unauthorized network access
US7793127B2 (en) Processor state restoration and method for resume
RU2606565C2 (ru) Агент микропрограммного обеспечения
JP5167844B2 (ja) プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム
KR101245442B1 (ko) 오퍼레이팅 시스템에 독립적인 네트워크 이벤트 핸들링
US9858098B2 (en) Hypervisor modification of system tables
US7822960B2 (en) Platform management processor assisted resume
US9043789B2 (en) Managing safe removal of a passthrough device in a virtualization system
US8103908B2 (en) Method and system for recovery of a computing environment during pre-boot and runtime phases
JP6367490B2 (ja) プロセッサトランザクショナルメモリサポートを用いるメモリアクセス保護
US20080126650A1 (en) Methods and apparatus for parallel processing in system management mode
JP2016173821A (ja) コンピュータシステム内における複数のハイパーバイザーの共同運用を容易にするためのシステムおよび方法
CN104461594A (zh) 嵌入式操作系统的升级方法及装置
US10248486B2 (en) Memory monitor
US8856788B2 (en) Activity based device removal management
US7797473B2 (en) System for executing system management interrupts and methods thereof
CN106933558B (zh) 一种电源控制方法及装置
JP2009271597A (ja) プロセッサ
JP2005309613A (ja) 不正アクセス検出装置、不正アクセス検出方法、プログラム

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180828