RU2606565C2 - Агент микропрограммного обеспечения - Google Patents
Агент микропрограммного обеспечения Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/47—Retargetable compilers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
- G06F9/4415—Self describing peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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, в котором агент микропрограммного обеспечения дополнительно:
определяет что микропрограммное обеспечение, сохраненное во втором запоминающем устройстве, было обновлено с текущей версии микропрограммного обеспечения, сохраненного в первом запоминающем устройстве, на основании структур данных, поддерживаемых драйвером устройства, связанным с устройством;
получает копию микропрограммного обеспечения из второго запоминающего устройства на основании определения, что микропрограммное обеспечение, сохраненное во втором запоминающем устройстве, было обновлено; и
сохраняет копию микропрограммного обеспечения в первом запоминающем устройстве на основании определения, что микропрограммное обеспечение, сохраненное во втором запоминающем устройстве, было обновлено.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/618,508 US9678732B2 (en) | 2012-09-14 | 2012-09-14 | Firmware agent |
US13/618,508 | 2012-09-14 | ||
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)
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)
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)
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 |
WO2004042538A2 (en) * | 2002-11-05 | 2004-05-21 | Bitfone Corporation | 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 | 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置 |
-
2012
- 2012-09-14 US US13/618,508 patent/US9678732B2/en not_active Expired - Fee Related
-
2013
- 2013-08-27 WO PCT/US2013/056915 patent/WO2014042870A1/en active Application Filing
- 2013-08-27 GB GB1500823.8A patent/GB2520444B/en active Active
- 2013-08-27 CN CN201380043217.4A patent/CN104520810A/zh active Pending
- 2013-08-27 RU RU2015104983A patent/RU2606565C2/ru not_active IP Right Cessation
Patent Citations (6)
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 |
RU2015104983A (ru) | 2016-08-27 |
US9678732B2 (en) | 2017-06-13 |
GB2520444A (en) | 2015-05-20 |
GB201500823D0 (en) | 2015-03-04 |
WO2014042870A1 (en) | 2014-03-20 |
CN104520810A (zh) | 2015-04-15 |
US20140082388A1 (en) | 2014-03-20 |
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 |