Системы и способы для обнаружения хостом возможности асинхронного уведомления usb



Системы и способы для обнаружения хостом возможности асинхронного уведомления usb
Системы и способы для обнаружения хостом возможности асинхронного уведомления usb
Системы и способы для обнаружения хостом возможности асинхронного уведомления usb
Системы и способы для обнаружения хостом возможности асинхронного уведомления usb
Системы и способы для обнаружения хостом возможности асинхронного уведомления usb
Системы и способы для обнаружения хостом возможности асинхронного уведомления usb
G06F3/0607 - Вводные устройства для передачи данных, подлежащих преобразованию в форму, пригодную для обработки в вычислительной машине; выводные устройства для передачи данных из устройств обработки в устройства вывода, например интерфейсы (пишущие машинки B41J; преобразование физических переменных величин F15B 5/00,G01; получение изображений G06T 1/00,G06T 9/00; кодирование, декодирование или преобразование кодов вообще H03M; передача цифровой информации H04L)

Владельцы патента RU 2667033:

МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи (US)

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

 

Уровень техники

[0001] Минимальное энергопотребление является все более важным признаком, принимаемым во внимание в современных вычислительных платформах. Некоторые аспекты исходного стандарта устройства массовой памяти на основе универсальной последовательной шины (USB) - например, спецификация передачи массивов данных (BOT) и спецификация протокола сопряжения SCSI с USB (UASP), как правило, противоречат этой тенденции. Общее энергопотребление хост-системы, соединенной с USB-устройством массовой памяти, может быть уменьшено с использованием всего лишь незначительной модификации этих существующих спецификаций.

[0002] В настоящее время, в качестве части новой спецификации USB 3.0, добавлен новый признак для улучшения использования шины и энергоэффективности. Некоторые устройства, соединенные через USB 3.0, могут теперь иметь способность уведомлять хост о готовности устройства - асинхронным способом, и это избавляет от необходимости опроса каждого присоединенного устройства. Дополнительно, модификация спецификаций BOT и UASP, как правило, устраняет необходимость другого типа опроса, который детектирует изменения состояния носителя в устройствах со съемным носителем.

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

[0003] Изложенное ниже представляет собой упрощенное изложение сущности нововведения для обеспечения базового понимания некоторых аспектов, описанных здесь. Данное краткое изложение сущности изобретения не является исчерпывающим обзором заявленного изобретения. Оно не предназначено ни для выявления ключевых признаков или основных признаков заявленного изобретения, ни для использования для ограничения объема заявленного нововведения. Ее единственной целью является представление в упрощенной форме некоторых концепций заявленного изобретения в качестве вводной части для более подробного его описания, которое представлено ниже.

[0004] Предложены системы и способы для обнаружения устаревших запоминающих устройств, которые могут ложно и/или неправильно сообщить хост-системам, что они имеют съемный носитель. Такое ложное и/или неправильное сообщение может вызвать периодический опрос хост-системой запоминающего устройства относительно того, готово ли это устройство к обработке ввода/вывода (I/O). Такой опрос не является необходимым и приводит к избыточному расходу энергии хост-системы. В одном варианте осуществления, данная система может реализовать процессы, которые опрашивают носитель данных и обновляют базу данных. База данных может быть списком запоминающих устройств, указывающим на то, достоверно ли они имеют съемный носитель или ложно сообщают, что они имеют съемный носитель. В другом варианте осуществления, данная система может применить некоторое эвристическое тестирование для определения того, действительно ли запоминающее устройство ложно указывает на съемный носитель. В другом варианте осуществления, группой хостов может быть использована служба телеметрии для совместного использования данных относительно таких запоминающих устройств.

[0005] В одном варианте осуществления, описан способ для обнаружения запоминающих устройств, причем запоминающие устройства соединены с хост-системой таким образом, что указанные запоминающие устройства содержат ассоциированные с ними метаданные, причем ассоциированные метаданные могут ложно указывать на то, что запоминающие устройства имеют съемные носители, при этом способ содержит этапы, на которых: отправляют сообщение опроса носителя от хост-системы в первое запоминающее устройство, причем указанное сообщение опроса носителя запрашивает, готово ли первое запоминающее устройство; и если первое запоминающее устройство отвечает, что оно не готово, то обновляют базу данных в отношении того, что первое запоминающее устройство достоверно имеет съемный носитель, если первое запоминающее устройство отвечает, что оно не готово, то обновляют базу данных в отношении того, что первое запоминающее устройство достоверно имеет съемный носитель.

[0006] В другом варианте осуществления, описана система для обнаружения запоминающих устройств на хост-системе, причем запоминающие устройства дополнительно содержат ассоциированные с ними метаданные, и ассоциированные метаданные могут ложно указывать на то, что запоминающее устройство содержит съемный носитель данных, причем система содержит: драйвер устройства массовой памяти, причем драйвер устройства массовой памяти выполнен с возможностью соединяться с запоминающими устройствами и отправлять сообщения в запоминающие устройства и принимать сообщения от них; драйвер блочной записи в память, причем драйвер блочной записи в память соединен с драйвером устройства массовой памяти и выполнен с возможностью отправлять сообщения в запоминающие устройства и принимать сообщения от них; и процессор, причем процессор выполнен с возможностью отправлять сообщения опроса носителя в запоминающие устройства и запрещать дополнительную отправку сообщений опроса носителя в запоминающие устройства, которые достоверно не имеют съемного носителя.

[0007] Другие признаки и аспекты данной системы представлены ниже в подробном описании, которое следует рассматривать совместно с чертежами, представленными в данной заявке.

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

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

[0009] Фиг. 1 показывает один вариант осуществления типичной среды конфигурирования хоста/хаба/периферийного устройства.

[00010] Фиг. 2 показывает один иллюстративный вариант осуществления обработки, которая может происходить в соответствии с переработанной спецификацией BOT.

[00011] Фиг. 3 показывает один иллюстративный вариант осуществления данной системы, выполненной в соответствии с принципами данной заявки.

[00012] Фиг. 4 является одним вариантом осуществления последовательности операций процесса идентификации и/или различения устаревших устройств, которые могут или не могут иметь съемный носитель.

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

[00014] Фиг. 6 является еще одним вариантом осуществления последовательности операций процесса, который собирает и агрегирует данные телеметрии от задействуемых хост-систем.

Подробное описание

[00015] При использовании здесь, термины «компонент», «система», «интерфейс», «контроллер» и т.п., предназначены для обозначения объекта, относящегося к компьютерам, либо к аппаратному обеспечению, либо к программному обеспечению (например, при исполнении), и/либо к аппаратно-программному обеспечению. Например, любые из этих терминов могут быть процессом, выполняемым на процессоре, процессором, объектом, исполнением, программой, и/или компьютером. В качестве примера, как приложение, исполняемое на сервере, так и сервер могут быть компонентом и/или контроллером. Один или несколько компонентов/контроллеров могут находиться в пределах процесса, и компонент/контроллер может быть локализован на одном компьютере и/или распределен между двумя или более компьютерами.

[00016] Заявленное изобретение описано со ссылкой на чертежи, в которых одинаковые ссылочные позиции сквозным образом используются для обозначения одинаковых элементов. В нижеследующем описании, в целях разъяснения, многочисленные конкретные подробности изложены для обеспечения полного понимания заявленного нововведения. Очевидно, однако, что заявленное изобретение может быть применено на практике без этих конкретных подробностей. В других примерах, общеизвестные структуры и устройства показаны в виде блок-схемы для облегчения описания заявленного нововведения.

Введение

[00017] В одном варианте осуществления, энергию можно экономить посредством устранения опроса состояния носителя для флэш-накопителей USB. Однако, это может оказаться невозможным выполнить безопасно по следующим причинам: (1) подавляющее большинство флэш-накопителей USB (UFD) неправильно сообщает о съемном носителе; и (2) в настоящее время не существует способа для однозначного различения этих UFD и устройств, которые достоверно содержат съемный носитель (например, устройств чтения карт флэш-памяти USB). В частности, это относится к устаревшим UFD, которые закодированы (увы, ошибочно), что они содержат съемные носители, когда фактически они не имеют таких съемных носителей.

[00018] В настоящее время, более новые, неустаревшие устройства могут реализовать новый асинхронный механизм уведомления, посредством которого хост может окончательно и безопасно устранить опрос носителя без какого-либо риска сбоя или повреждения данных. Однако, в настоящее время и в обозримом будущем, это не будет относиться ко всем устаревшим устройствам, которые используются в настоящее время.

[00019] Для понимания ситуации, фиг. 1 является одним иллюстративным вариантом осуществления одной схемы (100) архитектуры типичной конфигурации хоста/хаба/периферийного устройства. Как можно увидеть на фиг. 1, новая шина SuperSpeed является частью архитектуры двойной шины, которая функционирует наряду с общепринятой шиной USB 2.0. Контроллер 102 может обмениваться данными с хостом 104 USB 3.0 для обеспечения обработки и функциональности I/O. Хост 104 USB 3.0 может обеспечить поддержку совместимости для устаревшего хоста 106 USB 2.0, а также новую возможность 108 хоста SuperSpeed. Контроллер 102 может быть CPU системы, контроллером I/O - или комбинацией таких аппаратных и/или программных компонентов контроллера.

[00020] Хост может содержать некоторое количество портов (например, 110a и 110b). Порты могут быть соединены с множеством хабов 112. Хабы 112 могут дополнительно содержать устаревшие хабы 114 и новые хабы 116 (например, SuperSpeed). Такие хабы могут быть, в свою очередь, соединены с множеством периферийных USB-устройств 120, которые могут содержать набор функций 122 не-SuperSpeed и функции 124 SuperSpeed.

[00021] Такие периферийные устройства могут содержать различные типы устаревших устройств, например, таких как флэш-накопитель 126 USB, который не имеет съемного носителя (который может ложно сообщить хосту, что он имеет съемный носитель), или камера 128, которая может иметь реальный компонент съемного носителя (например, карту 130 памяти).

[00022] Фиг. 2 показывает иллюстративный вариант осуществления (200) обработки, которая может произойти в соответствии с переработанными спецификациями BOT и UASP. USB-устройство 208 массовой памяти может содержать носитель 216 данных, который может быть или не быть съемным, блок 214 обработки и набор 210 интерфейсов. Набор 210 интерфейсов может дополнительно содержать устаревшие (например, согласно существующим спецификациям BOT и UASP) интерфейсы EP (210a) (входная (IN) оконечная точка (EP)) и EP 210b OUT (выходная (OUT) EP), а также вновь введенный EP 212 INT (оконечная точка прерывания) для асинхронного уведомления о состоянии.

[00023] Например, изменение состояния в отношении того, удален или возвращен съемный носитель, может быть асинхронно сигнализировано хост-системе, например, драйверу 206 USB-устройства массовой памяти в процессе 206a уведомления. Это уведомление может быть дополнительно асинхронно передано к драйверу 204 блочной записи в память для процесса 204a смены носителя. Наконец, о таком изменении состояния может быть отправлено сообщение в стек 202 файловой системы верхнего уровня.

[00024] Как описано выше, устаревшие устройства не будут сообщать о таких изменениях в состоянии асинхронно, поскольку они не реализованы согласно новой спецификации. Фактически, устаревшее устройство может быть такими устройствами, которые предшествуют вновь предложенным модификациям для спецификаций BOT/UASP, или выбрали неосуществление этих модификаций. Дополнительно, устаревшие устройства могут ложно сообщить, что они имеют съемный носитель (таким образом, требуя непрерывного опроса) даже, когда они не имеют такого съемного носителя. Для лучшего понимания различных аспектов возможного энергосбережения, может быть необходимо рассмотрение влияния различных компонентов:

Рассмотрение хабов и контроллера

[00025] При управлении энергопотреблением для каждого узла дерева USB-устройств, все потомки конкретного узла должны быть приостановлены перед тем, как этот узел сам может быть приостановлен. Затем, когда все дерево устройств, соединенных с контроллером хоста, приостановлено, контроллер сам может быть приостановлен. Приостановленный контроллер не только экономит энергию, связанную с поддержанием его собственных схем в активном состоянии, но и это может также привести к снижению энергопотребления CPU хоста вследствие прекращения прерываний, которые контроллер мог генерировать.

Рассмотрение CPU

[00026] Для обеспечения информированности хоста о текущем состоянии носителя устройства со съемным носителем, система может действовать периодическими опросами с использованием команды «ПРОВЕРИТЬ ГОТОВНОСТЬ УСТРОЙСТВА» (TEST UNIT READY-TUR), например, в качестве сообщения опроса носителя. Это соответствует периодическому исполнению кода в контексте вызова процедуры таймера, что, как правило, поддерживает CPU в состоянии повышенного энергопотребления вследствие этого действия. Для обеспечения минимального общего энергопотребления системы, может быть необходимо рассмотрение следующего:

(1) Устройства, сообщающие о съемном носителе, непрерывно опрашиваются хостом с использованием команд «ПРОВЕРИТЬ ГОТОВНОСТЬ УСТРОЙСТВА» для обнаружения любого изменения состояния носителя. Это, как правило, приводит к потреблению дополнительной энергии на поддержание дерева USB-устройств, а также контроллера хоста и CPU хоста, в активном состоянии, что не является необходимым в отсутствие реальных данных I/O; и

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

Типы периферии/устройств

[00027] В некоторых вариантах осуществления, приведенных здесь, выгода, полученная в ответ на реализацию описанного механизма, может изменяться согласно типу устройства. Может быть информативным широкое рассмотрение двух типов сменяемости, которые могут влиять на результат: сменяемость устройства и сменяемость носителя. Таблица 1 ниже показывает примеры различных типов устройств, представляющих перестановки этих двух характеристик:

Таблица 1
Категории устройств и сменяемость
Съемный носитель Несъемный носитель
Съемное устройство Категория 1
Флэш-накопитель (RMB=1)
Съемное устройство чтения карт флэш-памяти (SD, MMC, MC, xD)
Оптический накопитель
Категория 2
Флэш-накопитель (RMB=0)
Внешний HDD
Несъемное устройство Категория 3
Съемное устройство чтения карт флэш-памяти, соединенное с внутренней шиной
Категория 4
HDD, соединенный с внутренней шиной

[00028] Устройства в категории 1 и 3, как правило, могут получить выгоду от устранения опроса «ПРОВЕРИТЬ ГОТОВНОСТЬ УСТРОЙСТВА», тогда как устройства в категории 2 и 4 могут получить выгоду большей частью из способности дистанционной активации порта. Дополнительно, может быть необходим учет того, что пользователи устройств категории 1 могут просто вынуть их из гнезда для экономии энергии, тогда как пользователи категории 3 могут быть не в состоянии сделать то же самое. Можно также отметить, что устройства категории 3 потребляют энергию системы независимо от того, занято гнездо съемного носителя или нет. Дополнительно, можно также отметить, что обычные флэш-накопители USB подходят под обе категории 1 и 2. Это имеет место, поскольку большинство существующих флэш-накопителей задает значение бита равным 1 (ИСТИНА (TRUE)) для бита съемного носителя (RMB) и, таким образом, вызывает опрос «ПРОВЕРИТЬ ГОТОВНОСТЬ УСТРОЙСТВА» - несмотря на то, что они не являются истинными носителями съемного носителя данных. Однако, некоторые флэш-накопители действительно правильно представляют свои несъемные носители - например, через бит съемного носителя (RMB), установленный равным нулю (а именно, RMB=0), и эффективно помогают экономить больше энергии для присоединенной хост-системы - по сравнению с устройствами, сообщающими неправильное значение (RMB=1).

Один вариант осуществления

[00029] Как упомянуто выше, выгоды, получаемые посредством безопасного устранения этого ненужного опроса носителя флэш-накопителей USB, являются многочисленными:

(1) Непрерывный опрос, как правило, поддерживает устройство в активном состоянии, препятствуя, таким образом, селективной приостановке. Устранение опроса может обеспечить устройству возможность самому перейти в состояние ожидания и, таким образом, перейти в неактивное состояние с низким энергопотреблением.

(2) Это может повлиять не только на данное устройство, но и на все дерево USB-устройств - поскольку все взаимодействующие устройства хаба, как правило, остаются активными вместе с хост-контроллером USB; и

(3) Непрерывный опрос таймера DPC, как правило, также может поддерживать ненужное активное состояние CPU.

[00030] Таким образом, необходимо безопасное устранение опроса под влиянием правильной идентификации достоверно съемных устройств считывания относительно флэш-накопителей USB. Дополнительно, выполнение неправильной идентификации может вызвать пропуск смены носителя, что может привести к снижению эффективности функционирования и возможному повреждению данных.

[00031] Фиг. 3 показывает один иллюстративный вариант осуществления данной системы (300) возможно, действующей в соответствии со стандартом USB 3.0 и т.п. Устаревшее USB-устройство 308 массовой памяти содержит носитель 316 данных, компонент 314 обработки и набор 310 интерфейсов, который может дополнительно содержать устаревшие интерфейсы EP 310а IN и EP 310b OUT.

[00032] В этом случае, даже если устаревшее устройство может неправильно указать на то, имеет ли оно съемный носитель или нет, система может быть все же способна использовать асинхронное уведомление с использованием драйвера 306 USB-устройства массовой памяти, ожидающего такое уведомление, которое не поступит. Если система действительно принимает сообщение асинхронного уведомления от запоминающих устройств, то тогда она, как правило, указывает на то, что запоминающее устройство не является устаревшим устройством, и система может обращаться с этим устройством соответствующим образом, включающим в себя, после приема такого сообщения уведомления, то, что система может обновить базу данных в отношении того, что запоминающее устройство имеет достоверно съемный носитель, с использованием его ID или других метаданных, связанных с запоминающим устройством. Эти данные и/или база данных могут быть совместно использованы дополнительно через телеметрию или иным образом, другими хост-систем.

[00033] Состояние может быть асинхронно передано драйверу 304 блочной записи в память через процесс 304а смены носителя. Наконец, такое состояние может быть передано дополнительно стеку 302 файловой системы верхнего уровня. Драйвер 304 блочной записи в память может дополнительно содержать процессор или иметь доступ к достаточной возможности обработки для исполнения процесса смены носителя или некоторого достаточного процесса для обнаружения состояния присоединенных запоминающих устройств и запроса запоминающих устройств относительно их состояния готовности для обработки I/O или состояния RMB.

[00034] Для влияния на это обновление энергосберегающего асинхронного состояния, некоторые варианты осуществления данной системы могут использовать различные технологии и/или способы для улучшения правильного указания и/или обнаружения съемного носителя.

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

[00036] Однако, поскольку эта начальная таблица/база данных может быть ограничена тем, что она не является ни полной, ни упреждающей, для хост-системы возможно использование некоторых усовершенствованных эвристических процедур и/или способа для ее дополнительного уточнения, как указано ниже:

(1) Во время инициализации, выдать команду TUR (или некоторую другую команду «готовности», указывающую на то, что устройство готово для обработки I/O), один раз, некоторым или всем устаревшим устройствам (LUN), сообщающим, что RMB=1. Если по меньшей мере одно LUN ответит на TUR «НЕ ГОТОВО - НОСИТЕЛЬ ОТСУТСТВУЕТ» («NOT READY - MEDIA NOT PRESENT»), то тогда оно является устройством чтения карт флэш-памяти или другим устройством с достоверно съемным носителем. Затем, система или хост могут обращаться с ним соответствующим образом включая запрещение опроса таких устройств и/или обновление таблицы/базы данных в отношении того, что устройство достоверно имеет съемный носитель.

(2) Если все ответят «ГОТОВО», то тогда может потребоваться дополнительное доказательство для выполнения точного определения. В сообщении телеметрии, возможна отправка, совместное использование данных (например, обновление базы данных ошибок устройства другими хостами), которые включают в себя ID аппаратных средств устройства (VID и PID), количество LUN и количество сообщений «ГОТОВО» относительно «НЕ ГОТОВО» от каждого LUN (это может быть необходимо, когда некоторое небольшое количество устройств с RMB=0 несистематически и периодически сообщают «НЕ ГОТОВО»).

(3) Агрегировать дискретные данные телеметрии и идентифицировать наиболее вероятные UFD относительно устройств чтения карт флэш-памяти, которые могли не быть включены в начальную таблицу/базу данных. Этот процесс проверки может помочь устранить из рассмотрения все тупиковые ситуации и аномалии.

(4) Периодически применять эту новую информацию для обновления таблицы/базы данных и динамического обновления драйвера.

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

[00038] Однако, только новая хост-система способна распознать и использовать этот новый механизм асинхронного уведомления. Она выполняет это посредством выбора новой оконечной точки прерываний и поддержки постоянного, характерного запроса этой оконечной точки до тех пор, пока устройство остается в активном состоянии энергопотребления D0. Устройство завершает запрос после генерации любого события смены носителя. Затем, хост повторно выдает другой запрос оконечной точки прерываний вместо недавно завершенного запроса. Когда устройство переходит в неактивное состояние энергопотребления D3, хост-система отменяет этот характерный запрос оконечной точки прерываний. Затем, когда устройство возвращается в активное состояние энергопотребления D0, либо в результате сигнализации активизации устройства, соответствующей локально обнаруженной смене носителя на устройстве, либо вследствие инициированного хостом перехода в другое состояние, хост повторно устанавливает постоянный запрос асинхронного уведомления оконечной точки прерываний.

Некоторый вариант осуществления обработки

[00039] Фиг. 4 показывает один вариант (400) осуществления последовательности операций процесса, который может помочь идентифицировать и/или различать устаревшие устройства, которые могут или не могут иметь съемный носитель, и может помочь в энергосбережении.

[00040] В операции 402, в хаб может быть вставлено устройство и, затем, система может дать команду опроса (например, некоторую команду готовности) в операции 404. Если устройство сообщает в ответ, что оно не имеет съемного носителя (RMB=0), то тогда система может перейти к ветви энергосбережения в операции 414, где может быть сброшен таймер ожидания устройства. Система может принять сообщение о том, что устройство отсоединено - в этом случае, устройство может быть удалено из дальнейшего рассмотрения в операции 424.

[00041] Если, однако, существует запрос I/O от системы, то тогда таймер ожидания устройства может быть сброшен, возвращаясь к операции 414, при обслуживании запроса. Если не существует такого запроса I/O, то может истечь срок действия таймера ожидания устройства в операции 420. Если это так, то возможна приостановка порта устройства для энергосбережения в операции 422.

[00042] Если, однако, возвращаясь к операции 406, устройство сообщает, что RMB=1 (т.е., что оно имеет съемный носитель) то тогда система может применить некоторое эвристическое тестирование для определения того, достоверно ли устройство имеет съемный носитель. В одном варианте осуществления, такое эвристическое тестирование может быть проведено согласно тестированию, описанному выше. Если устройство имеет несъемный носитель согласно эвристическому тестированию, то тогда процесс может перейти к операции 414 и продолжиться соответствующим образом.

[00043] Иначе, система может дополнительно выполнить запрос в отношении того, реализует ли устройство асинхронное уведомление носителя (например, согласно расширению спецификации BOT/UASP или любой другой спецификации, которая может поддержать такое асинхронное уведомление). Если это так, то тогда система может перейти к операции 414. Иначе, система может реализовать опрос периодическими TUR, и устройство может не перейти в режим ожидания.

[00044] Фиг. 5 является другим вариантом (500) осуществления последовательности операций, который может дополнять другие процессы (например, фиг. 4 и т.п.), который может помочь в реализации энергосбережения, а также в обновлении и уточнении метаданных об устройствах, которые могут ошибочно сообщить свое состояние в отношении съемного носителя. В операции 502, может быть вставлено устройство. Система может обратиться за справкой к таблице/базе данных для определения состояния конкретного устройства в операции 504. Если устройство перечислено в качестве одного из тех, которые не имеют съемного носителя, в операции 506, то тогда система может запретить опрос с использованием TUR для этого устройства в операции 508.

[00045] Иначе, если не существует записи в базе данных, то тогда система может перейти к операции 510 и детектировать, отсоединено ли устройство. Если это так, то тогда система может перейти к состоянию 518 удаления устройства. Иначе, система может контролировать ответ устройства на опрос с использованием TUR. Если существует ответ, указывающий на отсутствие носителя, то тогда система может собрать данные об устройстве и сообщить об устройстве через телеметрию в операции 516. Иначе, система может продолжить контролировать ответ устройства на опрос с использованием TUR и продолжить в соответствии с ним.

[00046] Фиг. 6 является еще одним вариантом (600) осуществления последовательности операций процесса (например, возможно, выполняемым независимо на серверной системе), который собирает и агрегирует данные телеметрии от причастных хост-систем. Это может быть использовано для обновления таблиц/баз данных для правильной идентификации устройств, которые могут неправильно идентифицировать свое состояние в отношении съемного носителя. Этот процесс может продолжаться либо независимо, либо иным образом. В операции 602, система может проверить данные телеметрии для обновления базы данных устройств. С использованием базы данных, обновленной таким образом, система может определить, имеется ли какой-либо несъемный носитель, в операции 604. Если это так, то тогда система может обновить базу данных с целью информирования всех обновляемых хост-систем об обработке конкретного устройства, в операции 606. Если нужно сообщить о новом устройстве, то тогда система может отправить эту информацию в базу данных. В некоторый более поздний момент времени, эта база данных может быть совместно использована всеми обновляемыми хост-системами через подходящий процесс обновления (например, через компьютерную службу Windows Update?).

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

[00048] Конкретно, в отношении различных функций, выполняемых описанными выше компонентами, устройствами, схемами, системами и т.п., предполагается, что термины (включая ссылку на «средство»), используемые для описания таких компонентов, соответствуют, если не указано иное, любому компоненту, который выполняет конкретную функцию описанного компонента (например, функциональный эквивалент), даже если он не является структурно эквивалентным описанной структуре, которая выполняет эту функцию в описанных здесь иллюстративных аспектах заявленного изобретения. В этом отношении, следует также понимать, что нововведение включает в себя систему, а также машиночитаемый носитель, имеющий исполняемые компьютером команды для выполнения действий и/или событий различных способов заявленного изобретения.

[00049] Дополнительно, в то время как конкретный признак заявленного нововведения мог быть описан в отношении только одной из нескольких реализаций, такой признак может быть объединен с одним или несколькими другими признаками других реализаций, при необходимости, и для получения выгоды для любого данного или конкретного применения. Кроме того, в тех случаях, когда термины «включает в себя» и «включающий в себя» и их варианты используются либо в подробном описании, либо в формуле изобретения, предполагается, что эти термины являются инклюзивными, подобно термину «содержащий».

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

отправляют сообщение опроса носителя от хост-системы в первое запоминающее устройство, причем сообщение опроса носителя запрашивает, готово ли первое запоминающее устройство;

если первое запоминающее устройство отвечает, что оно не готово, то обновляют базу данных в плане того, что первое запоминающее устройство достоверно имеет съемный носитель; и

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

2. Способ по п. 1, в котором ассоциированные метаданные содержат одно из группы, содержащей: состояние (RMB=0) и состояние (RMB=1).

3. Способ по п. 1, дополнительно содержащий этапы, на которых:

принимают сообщения асинхронного уведомления от упомянутых запоминающих устройств; и

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

4. Способ по п. 1, дополнительно содержащий этапы, на которых:

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

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

5. Способ по п. 4, в котором упомянутые известные запоминающие устройства содержат одно из группы, содержащей: накопители на основе флэш-памяти, флэш-накопители USB (UFD) и устаревшие запоминающие устройства.

6. Способ по п.1, дополнительно содержащий совместное со второй хост-системой использование данных касаемо запоминающих устройств, содержащих ассоциированные с ними метаданные, которые ложно указывают на съемный носитель.

7. Способ по п. 6, в котором упомянутое совместное использование данных дополнительно содержит предоставление по меньшей мере одного из идентификатора (ID) аппаратного обеспечения, VID, PID и LUN.

8. Способ по п. 7, в котором упомянутое совместное использование данных дополнительно содержит этап, на котором сообщают упомянутые данные серверу телеметрии.

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

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

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

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

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

11. Система по п. 10, в которой драйвер блочной записи в память взаимодействует с процессором.

12. Система по п. 10, в которой процессор дополнительно выполнен с возможностью:

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

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

13. Система по п. 12, в которой процессор дополнительно выполнен с возможностью использовать совместно со второй хост-системой данные касаемо запоминающих устройств, содержащих ассоциированные с ними метаданные, которые ложно указывают на съемные носители.

14. Система по п. 13, в которой процессор дополнительно выполнен с возможностью сообщать упомянутые данные серверу телеметрии.

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

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

отправку сообщения опроса носителя от хост-системы в первое запоминающее устройство, причем сообщение опроса носителя запрашивает, готово ли первое запоминающее устройство;

если первое запоминающее устройство отвечает, что оно не готово, обновление базы данных в плане того, что первое запоминающее устройство достоверно имеет съемный носитель; и

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

17. Машиночитаемый носитель информации по п. 16, в котором инструкции, при их исполнении вычислительным устройством, дополнительно предписывают вычислительному устройству выполнять операции, содержащие:

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

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

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



 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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