Устройство обработки информации, содержащее постоянное запоминающее устройство, и способ внесения исправлений в постоянное запоминающее устройство

Изобретение относится к области обработки информации. Технический результат - обеспечение возможности внесения исправлений в конкретные инструкции ассемблирования или их группы без увеличения объема кода или замедления выполнения программы, когда исправления не внесены. Устройство обработки информации, содержащее постоянное запоминающее устройство, включающее в себя выполняемые инструкции или данные, процессор, обеспечивающий адресацию постоянного запоминающего устройства и выборку выполняемых инструкций или данных через шину, САМ-устройство, подключенное к шине и выполненное с возможностью сравнивать адреса, запрашиваемые процессором, с элементами вектора адресов, которые должны быть исправлены, и если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора, представлять в процессор подстановочную выполняемую инструкцию или данные вместо выполняемой инструкции или данных, адресованных процессором в постоянном запоминающем устройстве; при этом САМ-устройство является MRAM-устройством, содержащим множество ячеек запоминающего MRAM-устройства, причем каждая ячейка запоминающего MRAM-устройства содержит по меньшей мере один магнитный туннельный переход, при этом САМ-устройство выполнено с возможностью прерывать процессор, если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора адресов, которые должны быть исправлены, чтобы предотвращать считывание выполняемой инструкции данных, адресованных процессором. 2 н. и 3 з.п. ф-лы, 3 ил.

 

Область техники, к которой относится изобретение

Варианты осуществления настоящего изобретения относятся к устройству обработки информации, содержащему постоянное запоминающее устройство, содержащее программные инструкции или данные, и второе запоминающее устройство, содержащее инструкции внесения исправлений, корректирующие программу или данные, сохраненные в постоянном запоминающем устройстве. Изобретение также относится к способу внесения исправлений в постоянное запоминающее устройство.

Предшествующий уровень техники

Устройства обработки информации обычно включают в себя процессор и цифровое запоминающее устройство, на котором сохраняется программа, которая выполняется посредством процессора. Программа может включать в себя, например, выполняемые инструкции, которые могут извлекаться и выполняться посредством процессора, а также цифровые данные, требуемые процессором для выполнения намеченных функций. Различные формы цифровых устройств хранения данных доступны и используются в устройствах обработки информации. Постоянное запоминающее устройство (ROM) является запоминающим устройством, которое дает возможность считывания, но не модификации данных, которые оно сохраняет.

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

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

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

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

Вышеуказанный известный механизм дает возможность отклонять выполнение после масочного программирования ROM, если ошибка обнаруживается в какой-либо конкретной функции кода. Примеры этих и аналогичных технологий можно найти, например, в WO 2009156790, US 6260157 или ссылках в них. Этот способ внесения исправлений, однако, имеет несколько недостатков: он требует специального способа компиляции, чтобы вставлять автоматические вызовы в функцию check(); это приводит к увеличению размера кода и снижению производительности вследствие дополнительных вызовов к функции check() и циклов, расходуемых при проверке таблицы непрямого доступа памяти, даже если исправление не применяется. В отношении вышеописанного, степень детализации способа по необходимости довольно грубая: когда ошибка возникает, зачастую вся функция должна быть перезаписана во флэш-памяти.

US 7596721 описывает способ и структуры для обеспечения исправлений во встроенном микропрограммном обеспечении ROM при исключении издержек и ссылается на использование запоминающего CAM-устройства. US 2010110744 и EP 2270812 описывают троичное ассоциативное MRAM. WO 9854639 описывает способ внесения исправлений в программное обеспечение с использованием запоминающего CAM-устройства. US 2006174244 описывает способ для обеспечения передачи управления в микропрограммном обеспечении через CAM.

Сущность изобретения

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

Согласно изобретению эти задачи решаются посредством объекта прилагаемой формулы изобретения и, в частности, посредством устройства обработки информации, включающего в себя постоянное запоминающее устройство 120, включающее в себя выполняемые инструкции или данные, процессор 170, допускающий адресацию упомянутого постоянного запоминающего устройства 120 и выборку упомянутых выполняемых инструкций или данных через шину 28, 48, CAM-устройство 160, подключенное к упомянутой шине и выполненное с возможностью сравнивать адреса, запрашиваемые посредством процессора 170, с элементами вектора xi адресов, которые должны быть исправлены, и если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора xi, представлять в процессор подстановочную выполняемую инструкцию или данные вместо выполняемой инструкции или данных, адресованных процессором 170 в постоянном запоминающем устройстве, и посредством соответствующего способа.

Краткое описание чертежей

Изобретение станет более понятным из описания варианта осуществления, приведенного в качестве примера и проиллюстрированного посредством чертежей, на которых:

Фиг.1 изображает в схематичной упрощенной форме устройство обработки информации согласно аспекту настоящего изобретения;

Фиг.2, 3 схематично иллюстрируют CAM на основе MRAM, используемое в варианте осуществления настоящего изобретения.

Подробное описание вариантов осуществления изобретения

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

Традиционно процессор 170 адресует запоминающее устройство 120 через адресную шину 25 и осуществляет выборку соответствующих инструкций или элементов инструкции в шине 28 инструкций/данных. Изобретение может применяться как к процессорам с одним внешним устройством хранения для программных инструкций и данных (архитектура фон Неймана), так и к системам с отдельными запоминающими устройствами для хранения программ и данных (гарвардская архитектура). Следующие примеры рассматривают внесение исправлений в выполняемые инструкции, но следует понимать, что система и способы изобретения могут приспосабливаться и включать в себя также внесение исправлений в данные.

Адрес, записываемый в адресную шину 25, представляется, в дополнение к предоставлению в постоянное запоминающее устройство 120, в устройство 160 CAM (ассоциативное запоминающее устройство), которое сохраняет вектор адресов в ROM, которое должно быть исправлено. Согласно аспекту изобретения CAM-устройство основано на магниторезистивных RAM-ячейках (MRAM CAM). В отличие от RAM, которые осуществляют доступ к слову на основе его адреса, CAM осуществляют доступ к слову на основе его содержимого. CAM сохраняет данные аналогично традиционному RAM. Тем не менее, "считывание" CAM заключает в себе обеспечение входных данных для сопоставления, затем поиск в CAM на предмет совпадения, так что адрес совпадения может выводиться. CAM сконструировано так, что пользователь предоставляет слово данных, и CAM параллельно выполняет поиск по всему своему запоминающему устройству, чтобы проверять то, сохраняется или нет это слово данных где-либо в нем. Если слово данных найдено, CAM возвращает список из одного или более адресов запоминающего устройства, в которых слово найдено.

MRAM CAM описываются, помимо прочего, в европейском патенте EP 2204814, назначенном заявителю, который настоящим полностью содержится по ссылке в данном документе и к которому читатели обращаются за дополнительной информацией.

Фиг.2 и 3 схематично иллюстрируют MRAM-ячейку 10, подходящую для CAM-устройства по изобретению. CAM-ячейка 10 на основе MRAM содержит магнитный туннельный переход 20, сформированный посредством изолирующего слоя 22, расположенного между слоем 23 хранения и считывающим слоем 21. Предпочтительно, слой 23 хранения изготавливается из твердого ферромагнитного материала, в то время как считывающий слой изготавливается из мягкого ферромагнитного материала с низкой коэрцитивностью. Предпочтительно, MRAM-ячейка 10 также включает в себя, ниже слоя 23 хранения, антиферромагнитный фиксирующий слой 24.

Операция записи CAM-ячейки 10 на основе MRAM основана, например, на способе теплового переключения (TAS), как раскрыто, например, в US 6950335. Это получается посредством возбуждения электрического тока 51 в силовой линии 50 и одновременного контроля числовой словарной шины 70, чтобы включать транзистор 60 выбора, позволяя импульсу тока 31 нагрева протекать через туннельный переход 20. Температура магнитного перехода тем самым повышается до определенного высокотемпературного порогового значения в то время, когда переход погружается в магнитное поле, сформированное посредством электрического тока 51 в силовой линии 50. При определенном высокотемпературном пороговом значении намагничивание слоя 23 хранения может совмещаться в магнитном поле. Переход 20 затем охлаждается посредством запрещения перехода импульса 31 тока к низкотемпературному пороговому значению, так что намагничивание слоя 23 хранения приостанавливается в новом хранимом логическом состоянии, традиционно обозначаемом как "1" или "0" согласно направлению намагничивания и полярности тока поля.

В альтернативе вышеуказанному, запись может быть выполнена посредством спин-поляризованного магнитного тока (STT, или переключения с передачей спинового крутящего момента) или посредством схемы токоиндуцированного магнитного переключения (CIMS), которые не основываются на внешнем магнитном поле, или каким-либо другим способом. Эти разновидности также содержатся в пределах объема настоящего изобретения.

Во время операции поиска CAM-ячейки 10 на основе MRAM бит поиска предоставляется в считывающий слой 21 через силовую линию 50. Ток, циркулирующий в силовой линии 50 в ходе операции считывания, формирует магнитное поле, достаточное для того, чтобы модифицировать поляризацию считывающего слоя 21, но не поляризацию слоя 23 хранения. Направление намагничивания считывающего слоя 21 затем сравнивается с направлением намагничивания слоя хранения путем измерения сопротивления магнитного туннельного перехода 20. Низкое сопротивление указывает, что поляризации слоя хранения и считывающего слоя являются параллельными, следовательно, они оба содержат "1" или "0", тогда как во всех случаях измеряется высокое сопротивление. Можно видеть, что CAM-ячейка 10 на основе MRAM, в действительности, реализует X O R ¯ сохраненного бита и бита поиска без дополнительных компонентов. Посредством репликации структуры CAM-ячейки 10 можно реализовывать CAM-устройство, которое может сравнивать на месте и параллельно шаблон поиска с большим числом ключей. Эта операция сопоставления на месте является очень быстрой и типично проводится в одном тактовом цикле микропроцессора.

CAM-устройство на основе MRAM изобретения необязательно может включать в себя вторую силовую линию 40, используемую для того, чтобы поляризовать слой хранения или считывающий слой вдоль направления, ортогонального направлению первой силовой линии 50. Преимущественно, это дает возможность реализации троичных CAM-устройств (TCAM), обеспечивающих третье логическое значение "X", помимо "0" и "1", которое обрабатывается в качестве значения подстановочного символа. Согласно непредставленной разновидности CAM-устройство может использовать дифференциальные ячейки, каждая из которых включает в себя два туннельных перехода.

В непредставленном варианте осуществления TCAM-устройство может содержать так называемый "двойной переход", к примеру, описанный в неопубликованной заявке на европейский патент, поданной настоящим заявителем с номером заявки EP 11290150. Магнитный туннельный переход 20 TCAM-устройства с двойным переходом дополнительно содержит второй слой хранения и второй туннельный барьерный слой, содержащийся между считывающим слоем 21 и вторым слоем хранения. Второй слой хранения имеет намагничивание, которое может быть свободно ориентировано при втором высокотемпературном пороговом значении, типично меньшем низкотемпературного порогового значения. Логическое значение "X" затем может быть получено посредством ориентации намагничивания двух слоев 21 хранения антипараллельно.

Обращаясь снова к фиг.1, адрес, присутствующий в шине 25, также подается на вход CAM-устройства 160 и сравнивается с вектором сохраненных адресов (xi), сохраненным в устройстве. Если адрес не совпадает ни с любым из сохраненных адресов, CAM-устройство не вмешивается, и обработка операции продолжается, как обычно: процессор осуществляет выборку через шину 28 инструкций/данных адресуемой инструкции или элемента инструкции, содержащегося в ROM 120, и выполняет ее.

Если, с другой стороны, адрес, присутствующий в шине 25, совпадает с одним из сохраненных адресов xi, CAM-устройство выдает прерывание 26 (или инструктирует выдачу прерывания) в процессор 28. Как следствие, элемент машинного кода, присутствующий в шине 28, не считывается. Одновременно CAM-устройство 168 выводит адрес yi отклонения, соответствующий адресу xi (например, xi используется в качестве ключа адресации в CAM-устройстве 160, чтобы извлекать адрес yi отклонения), и этот адрес отклонения используется для того, чтобы выбирать положение в запоминающем устройстве 220 для внесения исправлений. Запоминающее устройство 220 для внесения исправлений предпочтительно является энергонезависимым устройством хранения, таким как флэш-память, но также может быть запоминающим MRAM-устройством. В разновидности, CAM-устройство 160 с проверкой на месте и запоминающее устройство 220 для внесения исправлений могут быть интегрированы в одном модуле, который, в случае совпадения с одним из сохраненных адресов xi, выводит непосредственно значение подстановочного элемента машинного кода, а не его адрес.

Исправленный элемент машинного кода затем представляется в процессор (стрелка 48) вместо элемента, который первоначально адресован. Если прерывание 21 неактивно в этот момент, процессор 170 возобновляет выполнение программы, как если бы ROM изначально содержало исправленный код, полностью прозрачным способом.

Относительно предшествующего уровня техники предложенное решение не приводит к увеличению объема кода или потере производительности, если ошибки не исправлены, и не основывается на специальных инструментальных средствах компиляции. Когда ошибка исправляется, издержки производительности минимальны и сокращаются до потери одного тактового цикла, чтобы отбрасывать исходную инструкцию. Кроме того, степень детализации предложенного способа чрезвычайно высока. Если требуется, всего один элемент машинного кода может быть модифицирован без необходимости перезаписывать целые функции. Вследствие энергонезависимой природы MRAM векторы xi, yi сохраняются на постоянной основе при отсутствии питания.

Предложенные CAM-устройства на основе MRAM являются чрезвычайно эффективными в отношении потребления энергии, плотности и затрат и особенно хорошо показывают себя при внесении исправлений в миниатюризированные устройства, устройства с низким уровнем мощности и смарт-карты. Другое преимущество MRAM-устройства хранения в этом случае состоит в том, что оно является энергонезависимым: векторы xi и yi, однажды запрограммированные, сохраняются на постоянной основе также при отсутствии электропитания.

Список ссылочных позиций и символов

xi адрес в ROM-инструкции
yi адрес в запоминающем DRAM-устройстве для внесения исправлений
10 CAM-ячейка на основе MRAM
20 магнитный туннельный переход
21 считывающий слой
22 изолирующий слой
23 слой хранения
24 фиксирующий слой
25 адресная шина
26 Прерывание
28 шина инструкций/данных
31 ток нагрева
38 адресация второго запоминающего устройства
40 вторая силовая линия
48 исправленные инструкции
50 силовая линия
51 электрический ток
60 транзистор выбора
70 числовая шина
120 постоянное запоминающее устройство
160 CAM-устройство с проверкой на месте
170 Процессор
220 запоминающее устройство для внесения исправлений

1. Устройство обработки информации, содержащее постоянное запоминающее устройство, включающее в себя выполняемые инструкции или данные, процессор, обеспечивающий адресацию постоянного запоминающего устройства и выборку выполняемых инструкций или данных через шину, САМ-устройство, подключенное к шине и выполненное с возможностью сравнивать адреса, запрашиваемые процессором, с элементами вектора адресов, которые должны быть исправлены, и если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора, представлять в процессор подстановочную выполняемую инструкцию или данные вместо выполняемой инструкции или данных, адресованных процессором в постоянном запоминающем устройстве; при этом САМ-устройство является MRAM-устройством, содержащим множество ячеек запоминающего MRAM-устройства, причем каждая ячейка запоминающего MRAM-устройства содержит по меньшей мере один магнитный туннельный переход, при этом САМ-устройство выполнено с возможностью прерывать процессор, если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора адресов, которые должны быть исправлены, чтобы предотвращать считывание выполняемой инструкции данных, адресованных процессором.

2. Информационное устройство по п. 1, содержащее второе запоминающее устройство, содержащее исправленные инструкции или данные, в котором САМ-устройство включает в себя целевой вектор, сохраняющий для каждого элемента вектора адресов, которые должны быть исправлены, адрес во втором запоминающем устройстве подстановочной выполняемой инструкции или данных.

3. Информационное устройство по п. 1, которое содержится в смарт-карте.

4. Способ внесения исправлений в выполняемые инструкции или данные в постоянном запоминающем устройстве, доступном посредством процессора, содержащий этапы, на которых: обеспечивают САМ-устройство, сохраняющее вектор адресов ячеек, которые должны быть исправлены в постоянном запоминающем устройстве, сравнивают адреса выполняемых инструкций или данных в постоянном запоминающем устройстве с элементами вектора, сохраненного в САМ-устройстве, представляют в процессор подстановочную выполняемую инструкцию или данные вместо выполняемой инструкции или данных, адресованных посредством процессора в постоянном запоминающем устройстве, если адрес, запрашиваемый процессором, совпадает с одним из элементов в векторе адресов, которые должны быть исправлены; при этом САМ-устройство является MRAM-устройством, предпочтительно MRAM-TCAM-устройством, содержащим множество ячеек запоминающего MRAM-устройства, причем каждая ячейка запоминающего MRAM-устройства содержит по меньшей мере один магнитный туннельный переход, прерывают процессор, если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора, чтобы предотвращать считывание выполняемой инструкции данных, адресованных процессором.

5. Способ по п. 4, содержащий этап, на котором извлекают подстановочную выполняемую инструкцию или данные из второго запоминающего устройства на основе адреса, сохраненного в целевом векторе, включенном в САМ-устройство.



 

Похожие патенты:

Изобретение относится к средствам для регулировки канала I/O на виртуальной платформе, которые применяются в области виртуальной технологии. Технический результат заключается в повышении эффективности распределения ресурсов.

Изобретение относится к обработке виртуализации в компьютерной системе. Технический результат заключается в обеспечении совместимости средств виртуализации с устройствами, использующимися в компьютерной системе.

Изобретение относится к средствам управления виртуализацией для управления аппаратными ресурсами устройства связи. Технический результат заключается в повышении эффективности использования физических ресурсов.

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

Изобретение относится к области эмуляции внутри вычислительной среды. Техническим результатом является повышение эффективности эмуляции команд.

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

Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности обработки запросов ввода/вывода за счет предоставления переносимой службы для управления запросами ввода/вывода в отношении виртуальных жестких дисков.

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

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

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

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

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

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

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

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

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

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

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

Изобретение относится к области выполнения кода интерпретатором. Техническим результатом является улучшение качества выполнения интерпретатором исследуемого программного кода путем интерпретации вспомогательного программного кода и обеспечение выполнения интерпретатором инструкций исследуемого программного кода, для которых у интерпретатора отсутствует правило интерпретации, без изменения самого интерпретатора путем интерпретации вспомогательного программного кода. Раскрыт реализуемый компьютером способ выполнения программного кода интерпретатором, в котором: а) последовательно выполняют каждую инструкцию исследуемого кода; б) когда интерпретатор переходит к выполнению инструкции исследуемого кода, содержащей неизвестный объект, для которого у интерпретатора отсутствует правило интерпретации, приостанавливают дальнейшее выполнение исследуемого кода, при этом объект является одним из: процедурой; экземпляром класса; методом или переменной экземпляра класса; сценарием; файлом; в) получают вспомогательный код, результат выполнения которого соответствует результату выполнения упомянутого неизвестного объекта, при этом вспомогательный код содержит известные объекты, для которых в интерпретаторе присутствует правило интерпретации; г) последовательно выполняют каждую инструкцию вспомогательного кода; и д) после завершения выполнения вспомогательного кода возобновляют выполнение исследуемого кода на шаге б) со следующей инструкции исследуемого кода, пока не будет выполнена последняя инструкция исследуемого кода. 7 з.п. ф-лы, 4 ил., 6 табл.

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

Изобретение относится к области обработки информации. Технический результат - обеспечение возможности внесения исправлений в конкретные инструкции ассемблирования или их группы без увеличения объема кода или замедления выполнения программы, когда исправления не внесены. Устройство обработки информации, содержащее постоянное запоминающее устройство, включающее в себя выполняемые инструкции или данные, процессор, обеспечивающий адресацию постоянного запоминающего устройства и выборку выполняемых инструкций или данных через шину, САМ-устройство, подключенное к шине и выполненное с возможностью сравнивать адреса, запрашиваемые процессором, с элементами вектора адресов, которые должны быть исправлены, и если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора, представлять в процессор подстановочную выполняемую инструкцию или данные вместо выполняемой инструкции или данных, адресованных процессором в постоянном запоминающем устройстве; при этом САМ-устройство является MRAM-устройством, содержащим множество ячеек запоминающего MRAM-устройства, причем каждая ячейка запоминающего MRAM-устройства содержит по меньшей мере один магнитный туннельный переход, при этом САМ-устройство выполнено с возможностью прерывать процессор, если адрес, запрашиваемый процессором, совпадает с одним из элементов вектора адресов, которые должны быть исправлены, чтобы предотвращать считывание выполняемой инструкции данных, адресованных процессором. 2 н. и 3 з.п. ф-лы, 3 ил.

Наверх