RU2559727C2 - Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express - Google Patents
Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express Download PDFInfo
- Publication number
- RU2559727C2 RU2559727C2 RU2013146508/08A RU2013146508A RU2559727C2 RU 2559727 C2 RU2559727 C2 RU 2559727C2 RU 2013146508/08 A RU2013146508/08 A RU 2013146508/08A RU 2013146508 A RU2013146508 A RU 2013146508A RU 2559727 C2 RU2559727 C2 RU 2559727C2
- Authority
- RU
- Russia
- Prior art keywords
- transaction
- attribute
- ido
- identifier
- request
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Изобретение относится к области взаимных соединений и, в частности, к обеспечению потоков на основе идентификатора через шину PCI Express. Технический результат - упорядочивание потоков запросов для минимизации очередей. Устройство для упорядочивания пакетов содержит: логическую схему, выполненную с возможностью: идентификации второй транзакции, произведенной после первой транзакции, причем указанная вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос; определения, что атрибут IDO указанной второй транзакции установлен; и предоставления возможности указанной второй транзакции обойти указанную первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO. 6 н. и 19 з.п. ф-лы, 6 ил.
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Данное изобретение относится к области взаимных соединений и, в частности, к обеспечению потоков на основе идентификатора через шину PCI Express.
УРОВЕНЬ ТЕХНИКИ
Компьютерные системы включают в себя множество компонентов и элементов. Часто компоненты соединены через шину или взаимное соединение. Ранее, устройства ввода-вывода (I/O) соединяли вместе через обычную архитектуру моноканальной параллельной шины, называемую межсоединением периферийных компонентов (PCI). Совсем недавно стали использовать новое поколение I/O шины, называемой PCI Express (PCIe), для обеспечения более быстрого взаимного соединения между устройствами, использующими последовательный протокол передачи данных на физическом уровне.
Архитектура PCIE включает в себя многоуровневый протокол, предназначенный для передачи данных между устройствами. Например, уровень малой передачи данных на физическом уровне и уровень транзакции формируют стек протокола PCIE. Канал передачи данных PCIe построен вокруг специализированных однонаправленных пар последовательных соединений из точки в точку, называемых дорожкой. Канал передачи данных между устройствами включает в себя некоторое количество дорожек, например одну, две, шестнадцать, тридцать две и так далее. Современная спецификация PCIE, base spec 2.0 доступна по адресу <http://www.pcisig.com/specifications/pciexpress/>.
[0004] Удобные правила упорядочения PCIe были сформулированы для обеспечения модели программирования производитель-потребитель. В соответствии с этой моделью считывание из определенного устройства требуется для проталкивания записей, которые были сгенерированы перед ними. Такая модель программирования обеспечивает то, что при считывании из места расположения Х в запоминающем устройстве всегда получают самые последние данные, которые были записаны в данном местоположении в запоминающем устройстве.
Однако такие требования упорядочения приводят к тому, что один поток запроса (последовательность транзакций считывания или записи, которые имеют одно и то же запрашивающее устройство и одно и то же место назначения) мешают другим независимым потоком запросов. Такие взаимные помехи могут привести к образованию существенных узких мест, снижающих общие характеристики. Данная проблема особенно остро проявляется, если не отправленные запросы будут блокированы после отправленных запросов, поскольку запросы на считывание являются чувствительными к задержке.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее изобретение представлено в качестве примера и не предназначено для ограничения чертежами, показанными на приложенных чертежах.
На фиг.1 показан вариант осуществления системы, включающей в себя последовательное двухточечное взаимное соединение для соединения устройств I/O в компьютерной системе.
На фиг.2 показан вариант осуществления пакета многоуровневого протокола.
На фиг.3 показан вариант осуществления логики заказа запоминающего устройства.
На фиг.4 показан вариант осуществления пакета, включая в себя флаг упорядочивания на основе ID.
На фиг.5 показан вариант осуществления таблицы упорядочивания.
На фиг.6 показан вариант осуществления блок-схемы последовательности операций для обеспечения возможности потоков на основе ID устройства.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В следующем описании различные конкретные детали представлены как примеры конкретных взаимных соединений, конкретных пакетов/сообщений, конкретных полей и мест расположения в пределах пакетов/сообщений, конкретных мест положения логических элементов/кэш и т.д. для обеспечения полного понимания настоящего изобретения. Однако для специалиста в данной области техники следует понимать, что эти конкретные детали не обязательно должны быть использованы на практике настоящего изобретения. В других случаях хорошо известные компоненты или способы, такие как логика/воплощение кэш, протоколы передачи сообщений по межсоединению периферийных компонентов экспресс (PCIe), поля/протоколы PCIe при транзакциях и другие основные воплощения PCIe не были подробно описаны, для того чтобы обеспечить ясное понимание настоящего изобретения.
Способ и устройство, описанные здесь, предназначены для обеспечения потоков ID через PCIe. В частности, обход установленных в очереди запросов в переключателе описан со ссылкой на отправленный запрос, который был остановлен (кредит или другие события, такие как отсутствие страницы). Однако способы и устройство, обеспечивающие потоки на основе ID, не ограничиваются этим, поскольку они могут быть воплощены в или в ассоциации с любым устройством в виде интегральной микросхемы, таким как любое устройство ввода-вывода или другим компьютерным компонентом, а также совместно с любым типом последовательного взаимного соединения из точки в точку.
СОЕДИНЕНИЕ/ВЗАИМНОЕ СОЕДИНЕНИЕ "ИЗ ТОЧКИ В ТОЧКУ" НА ОСНОВЕ ПОСЛЕДОВАТЕЛЬНОГО МНОГОУРОВНЕВОГО ПРОТОКОЛА
На фиг.1 представлен вариант осуществления системы, включающий в себя устройство, соединенное с концентратором контроллера через последовательное соединение. Система 100 включает в себя процессор 105 и запоминающее устройство 110 системы, соединенное с концентратором 115 контроллера. Процессор 105 включает в себя любой элемент обработки, такой как микропроцессор, главный процессор, встроенный процессор, сопроцессор или другой процессор. Процессор 105 соединен с концентратором 115 контроллера через системную шину (FSB) 106. В одном варианте осуществления FSB 106 представляет собой переданное взаимное соединение из точки в точку, как описано ниже.
Запоминающее устройство 110 системы включает в себя любое запоминающее устройство, такое как оперативное запоминающее устройство (RAM), энергонезависимое (NV) запоминающее устройство или другое запоминающее устройство, доступ к которому может осуществляться устройствами в системе 100. Запоминающее устройство 110 системы соединено с концентратором 115 контроллера через интерфейс 116 запоминающего устройства. Примеры интерфейса запоминающего устройства включают в себя интерфейс запоминающего устройства с двойной скоростью передачи данных (DDR), интерфейс запоминающего устройства с двумя каналами DDR и интерфейс запоминающего устройства с динамическим RAM (DRAM).
В одном варианте осуществления концентратор 115 контроллера представляет собой корневой концентратор или корневой контроллер в иерархии взаимного соединения для межсоединения периферийных компонентов экспресс (PCIe или PCIE). Примеры концентратора 115 контроллера включают в себя набор микросхем, концентратор контроллера запоминающего устройства (МСН), северный мост, концентратор контроллера взаимного соединения (ICH) южного моста и корневой контроллер/концентратор. Часто термин "набор микросхем" относится к двум физически отдельным концентраторам контроллера, то есть к концентратору контроллера запоминающего устройства (МСН), соединенному с концентратором контроллера взаимного соединения (ICH).
Здесь концентратор 115 контроллера соединен с переключателем/мостом 120 через последовательное соединение 119. Модули 117 и 121 ввода-вывода, которые также можно называть интерфейсами/портами 117 и 121, включают в себя/воплощают стек многоуровневого протокола для обеспечения возможности обмена данными между концентратором 115 контроллера и переключателем 120. Модуль, такой как модули 117, 118, 121, 122, 124, 126, 129 и 131, могут быть воплощены в виде аппаратных средств, программных средств, встроенного программного обеспечения, или любой их комбинации. Кроме того, границы модуля обычно изменяются, и функции воплощены вместе, а также по отдельности в разных вариантах осуществления. В одном варианте осуществления множество устройств могут быть соединены с переключателем 120.
Переключатель 120 направляет пакеты/сообщения из устройств 125 и 128 вверх по потоку, то есть вверх по иерархии в направлении корневого контроллера, в концентратор 115 контроллера и вниз по потоку, то есть вниз по иерархии от корневого контроллера, от процессора 105 или запоминающего устройства 110 системы в устройства 125 и 128. Устройства 125 и 128 включают в себя любое внутреннее или внешнее устройство или компонент, присоединяемые к электронной системе, такие как устройство I/O, контроллер сетевого интерфейса (NIC), добавочная карта, аудиопроцессор, сетевой процессор, привод жесткого диска, устройство-накопитель, CD/DVD ROM, монитор, принтер, мышь, клавиатура, маршрутизатор, портативное устройство-накопитель, устройство типа Firewire, устройство универсальной последовательной шины (USB), сканер и другие устройства ввода-вывода. Переключатель 120 включает в себя логику 140 упорядочивания запоминающего устройства, как описано более подробно ниже, которая обеспечивает потоки на основе ID устройства.
Графический ускоритель 130 также соединен с концентратором 115 контроллера через последовательное соединение 132. В одном варианте осуществления графический ускоритель 130 соединен с МСН, который соединен с ICH. Переключатель 120 и, соответственно, устройства 125 и 128 I/O затем соединены с ICH. Модули 131 и 118 I/O также предназначены для воплощения стека многоуровневого протокола, для обмена данными между графическим ускорителем 130 и концентратором 115 контроллера.
На фиг.2 представлен вариант осуществления стека многоуровневого протокола. Стек 200 многоуровневого протокола включает в себя любой многоуровневый стек передачи данных, такой как стек быстрого взаимного соединения канала передачи (QPI), стек PCIe или другой стек протокола. В одном варианте осуществления стек 200 протокола представляет собой стек протокола PCIe, включающий в себя уровень 205 транзакции, уровень 210 соединения и физический уровень 220. Интерфейс, такой как интерфейсы 117, 118, 121, 122, 124, 126, 129 и 131 на фиг.1, может быть представлен как стек 200 протокола передачи данных. Представление в качестве стека протокола передачи данных также называется модулем или интерфейсом, воплощающим/включающим в себя стек протокола.
Уровень транзакции
В одном варианте осуществления уровень 205 транзакции предназначен для обеспечения интерфейса между ядром обработки устройства и архитектурой взаимного соединения, такой как уровень 210 передачи данных и физический уровень 220. В этом отношении основная ответственность уровня 205 транзакции представляет собой сборку и разборку пакетов (то есть пакетов уровня транзакции, или TLPs). PCIe воплощает разделенные транзакции, то есть транзакции с запросом и ответом, разделенными по времени, что обеспечивает возможность передачи по соединению другого графика, в то время как целевое устройство собирает данные для ответа.
[0023] Кроме того, в PCIe используется управление потоком на основе кредита. В этой схеме устройство рекламирует исходное количество кредита для каждого из приемных буферов на уровне 205 транзакции. Внешнее устройство на противоположном конце соединения, такое как концентратор 115 контроллера по фиг.1, подсчитывает количество кредитов, употребленных каждым TLP. Транзакция может быть передана, если транзакция не превысит предел кредита. После приема ответа величина кредита будет восстановлена. Преимущество схемы кредита состоит в том, что скрытность возврата кредита не влияет на характеристики, при условии, что не будет достигнут предел кредита.
В одном варианте осуществления четыре пространства адресов транзакций включают в себя пространство адресов конфигурации, пространство адресов запоминающего устройства, пространство адресов ввода-вывода и пространство адресов сообщения. Транзакции пространства запоминающего устройства включают в себя один или больше запросов на считывание и запросов на запись, для передачи данных в/из места расположения, отображенного в запоминающем устройстве. В одном варианте осуществления в транзакциях пространства запоминающего устройства могут использоваться два разных формата адреса, например формат короткого адреса, такой как 32-битный адрес, или формат длинного адреса, такой как 64-битный адрес. Транзакции пространства конфигураций используются для доступа к пространству конфигураций устройств PCIe. Транзакции в пространстве конфигураций включают в себя считывание запросов и запись запросов. Транзакции пространства сообщения (или простые сообщения) определены для поддержки передачи данных в полосе пропускания между агентами PCIe.
Поэтому в одном варианте осуществления, уровень 205 транзакции собирает заголовки/полезную нагрузку 206 пакетов. Формат для заголовков/полезной нагрузки пакетов может быть найден в спецификации PCIe, то есть в спецификации PCIe base spec 2.0, которая доступна по адресу <http://www.pcisig.com/specifications/pciexpress/>.
Уровень соединения
Уровень 210 соединения, также называемый уровнем 210 канала передачи данных, действует как промежуточный каскад между уровнем 205 транзакции и физическим уровнем 220. В одном варианте осуществления ответственность уровня 210 канала передачи данных состоит в предоставлении надежного механизма для обмена пакетами уровня транзакций (TLP) между двумя компонентами соединения. Одна сторона уровня 210 канала передачи данных принимает TLP, собранные уровнем 205 транзакций, применяет идентификатор 211 последовательности пакета, то есть идентификационный номер или номер пакета, рассчитывает и применяет код детектирования ошибки, то есть CRC 212, и подает модифицированные TLP в физический уровень 220 для передачи через физический уровень во внешнее устройство.
Физический уровень
В одном варианте осуществления физический уровень 220 включает в себя логический подблок 221 и электрический подблок 222 для физической передачи пакета во внешнее устройство. Здесь логический подблок 221 отвечает за "цифровые" функции физического уровня 227. В этом отношении логический подблок включает в себя блок передачи, предназначенный для подготовки исходящей информации для передачи с помощью физического подблока 222, и блок приемника для идентификации и подготовки принятой информации перед подачей ее в уровень 210 соединения.
Физический блок 222 включает в себя передатчик и приемник. В передатчик подают из логического подблока 227 символы, которые передатчик преобразует в последовательную форму и передает во внешнее устройство. В приемник подают преобразованные в последовательные символы из внешнего устройства и преобразуют принятые сигналы в поток битов. Поток битов является децентрализованным, и его подают в логический подблок 227. В одном варианте осуществления используют код передачи 8b/10b, где передают/принимают десятибитные символы. Здесь специальные символы используют для формирования пакета с фреймами 223. Кроме того, в одном примере, приемник также предоставляет тактовую частоту символов, восстановленную из входящего последовательного потока.
Как упомянуто выше, хотя уровень 205 транзакции, уровень 210 соединения и физический уровень 220 описаны со ссылкой на конкретный вариант осуществления стека протокола PCIe, многоуровневый стек протокола не ограничен этим. Фактически любой многоуровневый протокол может быть включен/воплощен. Например, порт/интерфейс, который представлен как многоуровневый протокол, включает в себя: (1) первый уровень для сборки пакетов, то есть уровень транзакции; второй уровень для установления последовательности пакетов, то есть уровень соединения; и третий уровень для передачи пакетов, то есть физический уровень.
Далее на фиг.3 представлен вариант осуществления логической схемы упорядочения запоминающего устройства. Как показано, интеллектуальный переключатель 300 включает в себя логическую схему 305 упорядочения запоминающего устройства, очередь 308 отправленного запроса (включающую в себя отправленные запросы 310A-N) и указатель 322, очередь 314 неотправленного запроса (включающая в себя неотправленные запросы 316A-N) и указатель 324, очередь 318 завершения (включающая в себя завершения 320A-N) и указатель 326 и порт 350 (который может представлять собой восходящий или нисходящий порт).
Логическая схема 305 упорядочения запоминающего устройства воплощает способ, обеспечивающий потоки на основе ID устройства, например, как описано со ссылкой на фиг.6, и может включать в себя активатор 332 упорядочения на основе ID, селектор 334 очереди, обработчик 336 указателя, компаратор 338 ID запросчика/завершителя и блок 340 проверки флага IDO.
На фиг.4 представлен вариант осуществления пакета, включающего в себя флаг упорядочения на основе ID. Пакет относится к любому запросу, сообщению, доступу или другому группированию информации, предназначенной для передачи по шине/взаимному соединению. В представленном варианте осуществления пакет 400 включает в себя другие информационные поля 405. Примеры другой информации 405 включают в себя зарезервированные поля, поля форматирования, поля типа, поля атрибута, поля длины, PCIe специфичные поля и любые другие поля, специфичные для протокола. Кроме того, пакет 400 включает в себя ID 415 запросчика (байты 4 и 5), который может ссылаться на запрашивающий агент/устройство и представлять собой часть глобального ID/дескриптора транзакции или включает в себя глобальный ID/ID транзакции и поле 420 адреса для ссылки на адрес местоположения.
Биты 402 и 404 атрибута могут обеспечить возможность использования моделей 450, 455, 460 и 465 упорядочивания, как показано. Бит 402 атрибута, который может использовать зарезервированный в настоящее время бит 2 из байта 1, представляет ID на основе флага упорядочивания, который может быть установлен как запросчик или завершитель для обозначения того, что запрос или завершение является независимым от порядка и может обходить отправленные запросы.
На фиг.5 представлен вариант осуществления таблицы I упорядочивания. Таблица 500 аналогична Таблице 2-24 Спецификации PCIe, но является модифицированной для обеспечения возможности обхода ранее установленных в очередь, но остановленных, отправленных запросов записи в запоминающее устройство или сообщений (столбец 2) по независимому потоку запроса, в определенных случаях.
В соответствии с ячейкой 505 запрос на запись в запоминающее устройство или запрос сообщения: со сброшенным ослабленным битом 404 атрибута упорядочивания и сброшенным битом 402 упорядочения по ID не должен быть пропущен (a); с установленным, ослабленным битом 404 атрибута упорядочения и сброшенным битом 402 упорядочения по ID разрешено пропустить (b); и при сброшенном, ослабленном бите 404 атрибута упорядочения и установленном бите 402 упорядочения ID разрешено пропустить любой другой запрос записи в запоминающее устройство или сообщение, если ID 415 их запросчика являются разными (c).
В соответствии с ячейкой 510 запрос на считывание: со сброшенным, ослабленным битом 404 атрибута упорядочения и со сброшенным битом 402 упорядочения ID не должен быть пропущен (a); с установленным, ослабленным битом 404 атрибута упорядочения и со сброшенным битом 402 упорядочения ID не должен быть пропущен (b); и со сброшенным или установленным ослабленным битом 404 атрибута упорядочения и с установленным битом 402 упорядочения ID разрешено пропустить любой другой запрос на запись запоминающего устройства или сообщения, если ID 415 их запросчика являются разными (c).
В соответствии с ячейкой 515 I/O или запросы на запись конфигурации не могут пропустить запрос на запись в запоминающем устройстве или запрос сообщения. Это предотвращает сильное упорядочение записи, требуемое для поддержки модели использования производителя/потребителя.
В соответствии с ячейкой 520 завершение считывания: со сброшенным, ослабленным битом 404 атрибута упорядочения и со сброшенным битом 402 упорядочения ID не должно быть пропущено (a); с установленным, ослабленным битом 404 атрибута упорядочения и сброшенным битом 402 упорядочения ID разрешено пропустить (b); и со сброшенным ослабленным битом 404 атрибута упорядочения и установленным битом 402 упорядочения ID разрешено пропустить любой запрос на запись в запоминающее устройство или сообщения, если ID его завершителя отличается от ID 415 запросчика записи в запоминающее устройство (c).
Наконец, в соответствии с ячейкой 525, I/O или завершения записи конфигурации разрешено блокировать или пропускать с помощью запроса записи в запоминающее устройство и сообщений. Такие транзакции фактически движутся в противоположном направлении и, поэтому, не имеют взаимосвязи упорядочивания.
Далее, на фиг.6, показан вариант осуществления блок-схемы последовательности операций, обеспечивающий потоки на основе ID устройства. В потоке 605 активатор 332 упорядочения на основе ID определяет, существует ли возможность обхода отправленного запроса. В одном варианте осуществления активатор 332 переводит процесс в поток 610, если определяется, что оправленный запрос остановлен.
Селектор 334 очереди затем выбирает очередь для поиска альтернативного пакета для передачи в потоке 610. В одном варианте осуществления селектор 334 выбирает очередь 308 отправленного запроса, очередь 314 не отправленного запроса или очередь 318 завершения, на основе которого очередь имеет большинство точек входа. В другом варианте осуществления селектор 334 всегда вначале выбирает очередь 314 не отправленного запроса для поиска альтернативного пакета. В потоке 615 обработчик 336 указателя может последовательно увеличивать один или больше указателей 322, 324, 326, например, если предыдущий потенциальный альтернативный пакет не было разрешено пропустить (то есть не из независимого потока, при неустановленном бите 402 упорядочения ID).
Затем в потоке 620 компаратор 338 ID запросчика/завершителя определяет, отличается ли ID запросчика/завершителя потенциального альтернативного пакета от любого из ранее принятых отправленных запросов в очереди 308 отправленного запроса. В одном варианте осуществления компаратор 338 использует указатель отправленного запроса, сохраненный с каждым не отправленным запросом и завершением, для определения, какие из отправленных запросов в очереди 308 отправленного запроса были приняты перед потенциальным альтернативным пакетом. Если определяют, что потенциальный альтернативный пакет представляет собой независимый поток из ранее принятых отправленных запросов, тогда обработка продолжается в потоке 625. В противном случае обработка возвращается к потоку 605.
В потоке 625 проверка 340 флага IDO проверяет, что бит 402 упорядочения ID установлен в потенциальном альтернативном пакете, и если это так, в потоке 630 альтернативный пакет передают через порт 350. В противном случае обработка возвращается в поток 605.
Варианты осуществления способов, программного обеспечения, встроенного программного обеспечения или кода, представленные выше, могут быть воплощены через инструкции или код, сохраненные на носителе информации, доступ к которому осуществляется устройством, или на считываемом устройством носителе информации, которые могут быть выполнены элементом обработки. Носитель информации, доступ/считывание которого осуществляет устройство, включает в себя любой механизм, который обеспечивает (то есть сохраняет и/или передает) информацию в форме, считываемой устройством, таким как компьютер или электронная система. Например, носитель информации, доступ к которому осуществляет устройство, включает в себя оперативное запоминающее устройство (RAM), такое как статическое RAM (SRAM) или динамическое RAM (DRAM); ROM; магнитный или оптический носитель информации; запоминающее устройство типа флэш; электрические, оптические, акустические или другие формы распространяющихся сигналов (например, несущих волн, инфракрасных сигналов, цифровых сигналов); и т.д.
Ссылка в данном описании на "один вариант осуществления" или "вариант осуществления" означает, что определенное свойство, структура или характеристика, описанная в связи с вариантом осуществления, включена по меньшей мере в один вариант осуществления настоящего изобретения. Таким образом, появляющиеся фразы "в одном варианте осуществления" или "в варианте осуществления" в различных местах в данном описании не обязательно все относятся к одному и тому же варианту осуществления. Кроме того, конкретные особенности, структуры или характеристики могут быть скомбинированы любым соответствующим способом в одном или больше вариантах осуществления.
В предыдущем описании подробное описание изобретения было представлено со ссылкой на конкретные примерные варианты выполнения. Однако следует понимать, что различные модификации и изменения могут быть выполнены в отношении него, без выхода за пределы широко понимаемых сущности и объема изобретения, как установлено в приложенной формуле изобретения. Описание и чертежи, соответственно, следует рассматривать в качестве иллюстрации, а не как ограничение. Кроме того, представленное выше использование варианта осуществления и другие примерные формулировки не обязательно относятся к одному и тому же варианту осуществления или одному и тому же примеру, но могут относиться к разным и отличным вариантам осуществления, а также потенциально к одному и тому же варианту осуществления.
Claims (25)
1. Устройство для упорядочивания пакетов, содержащее: логическую схему, выполненную с возможностью:
идентификации второй транзакции, произведенной после первой транзакции, причем указанная вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определения, что атрибут IDO указанной второй транзакции установлен, и
предоставления возможности указанной второй транзакции обойти указанную первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
идентификации второй транзакции, произведенной после первой транзакции, причем указанная вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определения, что атрибут IDO указанной второй транзакции установлен, и
предоставления возможности указанной второй транзакции обойти указанную первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
2. Устройство по п. 1, в которой логическая схема выполнена, по меньшей мере частично, в виде аппаратной схемы.
3. Устройство по п. 2, в котором логическая схема дополнительно выполнена с возможностью определять, отличается ли идентификатор запросчика указанной первой транзакции от идентификатора запросчика указанной второй транзакции, при этом указанная вторая транзакция дополнительно выполнена с возможностью обойти указанную первую транзакцию на основе определения отличия идентификатора запросчика указанной первой транзакции от идентификатора запросчика указанной второй транзакции.
4. Устройство по п. 1, в котором логическая схема дополнительно выполнена с возможностью идентификации идентификатора запросчика указанной первой транзакции из заголовка первой транзакции и идентификации идентификатора запросчика указанной второй транзакции из заголовка второй транзакции.
5. Устройство по п. 1, в котором указанный отправленный запрос содержит запрос записи в память или запрос сообщения.
6. Устройство по п. 1, в котором указанная вторая транзакция содержит отправленный запрос.
7. Устройство по п. 1, в котором указанная вторая транзакция содержит неотправленный запрос.
8. Устройство по п. 7, в котором указанный неотправленный запрос содержит запрос на считывание.
9. Устройство по п. 1, характеризующееся тем, что выполнено с возможностью приема указанных первой и второй транзакций через двухточечную последовательную линию передачи данных.
10. Устройство по п. 9, в котором последовательная линия передачи данных является совместимой с межсоединением периферийных компонентов Express (PCIe).
11. Устройство по п. 1, в котором указанная вторая транзакция содержит заголовок, включающий в себя идентификатор запросчика, поле атрибута ослабленного упорядочивания (relaxed ordered attribute) и поле атрибута IDO.
12. Устройство по п. 11, в котором поле атрибута IDO содержит один бит.
13. Устройство по п. 11, в котором логическая схема дополнительно выполнена с возможностью определения, установлен ли атрибут ослабленного упорядочивания, и предоставления возможности указанной второй транзакции обойти указанную первую транзакцию при установленном атрибуте ослабленного упорядочивания.
14. Устройство для упорядочивания пакетов, содержащее:
стек многоуровневого протокола, содержащей логическую схему уровня транзакции, логическую схему уровня соединения и логическую схему физического уровня, причем логическая схема уровня транзакции выполнена с возможностью:
идентификации остановленной первой транзакции, содержащей данные заголовка, причем данные заголовка включают в себя идентификатор первого запросчика, а первая транзакция содержит отправленный запрос;
идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция содержит данные заголовка, включающие в себя идентификатор второго запросчика, поле атрибута ослабленного упорядочивания (relaxed ordered attribute) и поле атрибута упорядочивания на основе идентификатора (IDO), при этом вторая транзакция включает в себя другой отправленный запрос, или неотправленный запрос на считывание, или неотправленный запрос с данными;
определения того, что атрибут IDO второй транзакции установлен;
определения, установлен ли атрибут ослабленного упорядочивания второй транзакции, с предоставлением возможности второй транзакции обойти первую транзакцию, когда установлен атрибут ослабленного упорядочивания, а вторая транзакция является отправленным запросом или неотправленным запросом с данными;
определения отличия идентификатора первого запросчика от идентификатора второго запросчика и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO и определения отличия идентификатора первого запросчика от идентификатора второго запросчика.
стек многоуровневого протокола, содержащей логическую схему уровня транзакции, логическую схему уровня соединения и логическую схему физического уровня, причем логическая схема уровня транзакции выполнена с возможностью:
идентификации остановленной первой транзакции, содержащей данные заголовка, причем данные заголовка включают в себя идентификатор первого запросчика, а первая транзакция содержит отправленный запрос;
идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция содержит данные заголовка, включающие в себя идентификатор второго запросчика, поле атрибута ослабленного упорядочивания (relaxed ordered attribute) и поле атрибута упорядочивания на основе идентификатора (IDO), при этом вторая транзакция включает в себя другой отправленный запрос, или неотправленный запрос на считывание, или неотправленный запрос с данными;
определения того, что атрибут IDO второй транзакции установлен;
определения, установлен ли атрибут ослабленного упорядочивания второй транзакции, с предоставлением возможности второй транзакции обойти первую транзакцию, когда установлен атрибут ослабленного упорядочивания, а вторая транзакция является отправленным запросом или неотправленным запросом с данными;
определения отличия идентификатора первого запросчика от идентификатора второго запросчика и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO и определения отличия идентификатора первого запросчика от идентификатора второго запросчика.
15. Доступный для компьютера носитель информации, содержащий хранящийся на нем код, причем код, при его исполнении компьютером, вызывает выполнение компьютером:
идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определения, что атрибут IDO второй транзакции установлен, и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определения, что атрибут IDO второй транзакции установлен, и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
16. Носитель информации по п. 15, в котором код при его исполнении дополнительно вызывает выполнение компьютером:
идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определения, что атрибут IDO второй транзакции установлен, и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определения, что атрибут IDO второй транзакции установлен, и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
17. Носитель информации по п. 16, в котором код при его исполнении дополнительно вызывает выполнение компьютером:
определения отличия идентификатора запросчика в данных заголовка первой транзакции от идентификатора запросчика в данных заголовка второй транзакции, при этом предоставление возможности второй транзакции обойти первую транзакцию дополнительно основано на определении отличия идентификатора запросчика первой транзакции от идентификатора запросчика второй транзакции.
определения отличия идентификатора запросчика в данных заголовка первой транзакции от идентификатора запросчика в данных заголовка второй транзакции, при этом предоставление возможности второй транзакции обойти первую транзакцию дополнительно основано на определении отличия идентификатора запросчика первой транзакции от идентификатора запросчика второй транзакции.
18. Носитель информации по п. 16, в котором вторая транзакция дополнительно включает в себя атрибут ослабленного упорядочивания, при этом код при его исполнении дополнительно вызывает выполнение компьютером определения, установлен ли атрибут ослабленного упорядочивания второй транзакции, при этом возможность обойти первую транзакцию предоставляется второй транзакции в случае, когда установлен атрибут ослабленного упорядочивания.
19. Способ упорядочивания пакетов, содержащий этапы, на которых:
идентифицируют вторую транзакцию, произведенную после первой транзакции, при этом вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определяют, что атрибут IDO второй транзакции установлен, и
предоставляют возможность второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
идентифицируют вторую транзакцию, произведенную после первой транзакции, при этом вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
определяют, что атрибут IDO второй транзакции установлен, и
предоставляют возможность второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
20. Система для упорядочивания пакетов, содержащая:
средство идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
средство определения, что атрибут IDO второй транзакции установлен, и
средство предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
средство идентификации второй транзакции, произведенной после первой транзакции, причем вторая транзакция включает в себя атрибут упорядочивания на основе идентификатора (IDO), а первая транзакция включает в себя отправленный запрос;
средство определения, что атрибут IDO второй транзакции установлен, и
средство предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
21. Система для упорядочивания пакетов, содержащая:
первое устройство ввода-вывода;
второе устройство ввода-вывода и
третье устройство ввода-вывода, соединенное с возможностью связи с первым и вторым устройствами ввода-вывода, при этом третье устройство ввода-вывода выполнено с возможностью:
приема первой транзакции от первого устройства ввода-вывода;
приема после первой транзакции второй транзакции от второго устройства ввода-вывода;
определения, что атрибут упорядочивания на основе идентификатора (IDO) второй транзакции установлен, и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
первое устройство ввода-вывода;
второе устройство ввода-вывода и
третье устройство ввода-вывода, соединенное с возможностью связи с первым и вторым устройствами ввода-вывода, при этом третье устройство ввода-вывода выполнено с возможностью:
приема первой транзакции от первого устройства ввода-вывода;
приема после первой транзакции второй транзакции от второго устройства ввода-вывода;
определения, что атрибут упорядочивания на основе идентификатора (IDO) второй транзакции установлен, и
предоставления возможности второй транзакции обойти первую транзакцию на основе, по меньшей мере частично, установленного атрибута IDO.
22. Система по п. 21, в которой третье устройство ввода-вывода дополнительно выполнено с возможностью определения отличия идентификатора запросчика первой транзакции от идентификатора запросчика второй транзакции, при этом второй транзакции предоставлена возможность обойти первую транзакцию дополнительно на основе определения отличия идентификатора запросчика первой транзакции от идентификатора запросчика второй транзакции.
23. Система по п. 21, в которой третье устройство ввода-вывода дополнительно содержит переключатель.
24. Система по п. 23, в которой первое устройство ввода-вывода содержит микропроцессор, и/или графический ускоритель, и/или контроллер памяти.
25. Система по п. 21, в которой третье устройство ввода-вывода соединено с возможностью связи с первым и вторым устройствами ввода-вывода посредством последовательного двухточечного межсоединения, совместимого с PCIe.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/474,480 | 2009-05-29 | ||
US12/474,480 US8199759B2 (en) | 2009-05-29 | 2009-05-29 | Method and apparatus for enabling ID based streams over PCI express |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011153260/08A Division RU2509348C2 (ru) | 2009-05-29 | 2010-03-10 | Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013146508A RU2013146508A (ru) | 2015-04-27 |
RU2559727C2 true RU2559727C2 (ru) | 2015-08-10 |
Family
ID=43220157
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013146508/08A RU2559727C2 (ru) | 2009-05-29 | 2010-03-10 | Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express |
RU2011153260/08A RU2509348C2 (ru) | 2009-05-29 | 2010-03-10 | Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011153260/08A RU2509348C2 (ru) | 2009-05-29 | 2010-03-10 | Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express |
Country Status (8)
Country | Link |
---|---|
US (1) | US8199759B2 (ru) |
JP (2) | JP2012527036A (ru) |
KR (1) | KR101298862B1 (ru) |
CN (2) | CN101901205B (ru) |
DE (2) | DE112010002178T5 (ru) |
RU (2) | RU2559727C2 (ru) |
TW (2) | TWI568220B (ru) |
WO (1) | WO2010138230A2 (ru) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8199759B2 (en) | 2009-05-29 | 2012-06-12 | Intel Corporation | Method and apparatus for enabling ID based streams over PCI express |
CN103238305A (zh) * | 2010-05-28 | 2013-08-07 | 安全第一公司 | 用于安全数据储存的加速器系统 |
DE112012005663B4 (de) * | 2012-01-13 | 2023-05-11 | Intel Corporation | Vorrichtung, Verfahren und System zur Zuweisung von Prozesen oder Threads an Agenten |
WO2014065880A1 (en) * | 2012-10-22 | 2014-05-01 | Robert Beers | Coherence protocol tables |
US9600431B2 (en) | 2012-10-22 | 2017-03-21 | Intel Corporation | High performance interconnect physical layer |
US9558143B2 (en) * | 2014-05-09 | 2017-01-31 | Micron Technology, Inc. | Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device |
US9602464B2 (en) | 2014-12-12 | 2017-03-21 | Intel Corporation | Apparatus, system and method for allocating identifiers to components of a control system |
US10176126B1 (en) * | 2015-06-29 | 2019-01-08 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for a PCI implementation handling multiple packets |
US11216396B2 (en) * | 2016-09-29 | 2022-01-04 | Intel Corporation | Persistent memory write semantics on PCIe with existing TLP definition |
US10353833B2 (en) * | 2017-07-11 | 2019-07-16 | International Business Machines Corporation | Configurable ordering controller for coupling transactions |
CN108471384B (zh) * | 2018-07-02 | 2020-07-28 | 北京百度网讯科技有限公司 | 用于端到端通信的报文转发的方法和装置 |
CN110580202A (zh) * | 2019-06-04 | 2019-12-17 | 阿里巴巴集团控股有限公司 | 服务器系统内消息的处理方法、装置及系统 |
US11748285B1 (en) * | 2019-06-25 | 2023-09-05 | Amazon Technologies, Inc. | Transaction ordering management |
KR102529761B1 (ko) | 2021-03-18 | 2023-05-09 | 에스케이하이닉스 주식회사 | PCIe 디바이스 및 그 동작 방법 |
KR102521902B1 (ko) | 2021-03-23 | 2023-04-17 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
KR102496994B1 (ko) * | 2021-03-23 | 2023-02-09 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993611B2 (en) * | 2001-08-24 | 2006-01-31 | Intel Corporation | Enhanced general input/output architecture and related methods for establishing virtual channels therein |
RU2288542C2 (ru) * | 2004-05-21 | 2006-11-27 | Интел Корпорейшн | Способы и устройства для осуществления канала связи переменной разрядности |
US7443869B2 (en) * | 2003-08-04 | 2008-10-28 | Intel Corporation | Deadlock avoidance queuing mechanism |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3505728B2 (ja) * | 1993-01-13 | 2004-03-15 | 株式会社日立製作所 | 記憶制御装置 |
US6138192A (en) * | 1996-12-31 | 2000-10-24 | Compaq Computer Corporation | Delivering a request to write or read data before delivering an earlier write request |
US6385708B1 (en) * | 1998-11-16 | 2002-05-07 | Infineon Technologies Ag | Using a timing-look-up-table and page timers to determine the time between two consecutive memory accesses |
WO2003019394A1 (en) | 2001-08-24 | 2003-03-06 | Intel Corporation | A general input/output architecture, protocol and related methods to support legacy interrupts |
US6728790B2 (en) * | 2001-10-15 | 2004-04-27 | Advanced Micro Devices, Inc. | Tagging and arbitration mechanism in an input/output node of a computer system |
US20040022094A1 (en) | 2002-02-25 | 2004-02-05 | Sivakumar Radhakrishnan | Cache usage for concurrent multiple streams |
US7149857B2 (en) * | 2002-05-14 | 2006-12-12 | Micron Technology, Inc. | Out of order DRAM sequencer |
DE10234934A1 (de) * | 2002-07-31 | 2004-03-18 | Advanced Micro Devices, Inc., Sunnyvale | Antwortreihenwiederherstellungsmechanismus |
US7444558B2 (en) * | 2003-12-31 | 2008-10-28 | Intel Corporation | Programmable measurement mode for a serial point to point link |
US7165131B2 (en) * | 2004-04-27 | 2007-01-16 | Intel Corporation | Separating transactions into different virtual channels |
US20050289306A1 (en) * | 2004-06-28 | 2005-12-29 | Sridhar Muthrasanallur | Memory read requests passing memory writes |
CN100456273C (zh) * | 2005-03-24 | 2009-01-28 | 富士通株式会社 | PCI-Express通信系统及其通信方法 |
US7461190B2 (en) * | 2005-08-11 | 2008-12-02 | P.A. Semi, Inc. | Non-blocking address switch with shallow per agent queues |
US7664904B2 (en) | 2006-03-10 | 2010-02-16 | Ricoh Company, Limited | High speed serial switch fabric performing mapping of traffic classes onto virtual channels |
US20080005484A1 (en) | 2006-06-30 | 2008-01-03 | Joshi Chandra P | Cache coherency controller management |
US7836220B2 (en) * | 2006-08-17 | 2010-11-16 | Apple Inc. | Network direct memory access |
US7949794B2 (en) * | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US8050290B2 (en) * | 2007-05-16 | 2011-11-01 | Wilocity, Ltd. | Wireless peripheral interconnect bus |
US7904629B2 (en) * | 2007-10-02 | 2011-03-08 | NVON, Inc. | Virtualized bus device |
US8199759B2 (en) | 2009-05-29 | 2012-06-12 | Intel Corporation | Method and apparatus for enabling ID based streams over PCI express |
-
2009
- 2009-05-29 US US12/474,480 patent/US8199759B2/en active Active
-
2010
- 2010-03-10 DE DE112010002178T patent/DE112010002178T5/de not_active Ceased
- 2010-03-10 DE DE202010018100.3U patent/DE202010018100U1/de not_active Expired - Lifetime
- 2010-03-10 RU RU2013146508/08A patent/RU2559727C2/ru not_active IP Right Cessation
- 2010-03-10 JP JP2012510805A patent/JP2012527036A/ja active Pending
- 2010-03-10 RU RU2011153260/08A patent/RU2509348C2/ru not_active IP Right Cessation
- 2010-03-10 WO PCT/US2010/026777 patent/WO2010138230A2/en active Application Filing
- 2010-03-10 KR KR1020117028449A patent/KR101298862B1/ko active IP Right Grant
- 2010-03-29 TW TW099109390A patent/TWI568220B/zh active
- 2010-03-29 TW TW105106711A patent/TWI633442B/zh active
- 2010-05-27 CN CN201010194859.2A patent/CN101901205B/zh active Active
- 2010-05-27 CN CN201410310637.0A patent/CN104123262B/zh active Active
-
2013
- 2013-09-11 JP JP2013188640A patent/JP5897524B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6993611B2 (en) * | 2001-08-24 | 2006-01-31 | Intel Corporation | Enhanced general input/output architecture and related methods for establishing virtual channels therein |
US7443869B2 (en) * | 2003-08-04 | 2008-10-28 | Intel Corporation | Deadlock avoidance queuing mechanism |
RU2288542C2 (ru) * | 2004-05-21 | 2006-11-27 | Интел Корпорейшн | Способы и устройства для осуществления канала связи переменной разрядности |
Also Published As
Publication number | Publication date |
---|---|
TW201636865A (zh) | 2016-10-16 |
TWI633442B (zh) | 2018-08-21 |
CN101901205B (zh) | 2014-07-30 |
CN104123262B (zh) | 2018-03-30 |
RU2013146508A (ru) | 2015-04-27 |
TW201101044A (en) | 2011-01-01 |
US8199759B2 (en) | 2012-06-12 |
CN104123262A (zh) | 2014-10-29 |
KR20120024669A (ko) | 2012-03-14 |
US20100303079A1 (en) | 2010-12-02 |
RU2509348C2 (ru) | 2014-03-10 |
TWI568220B (zh) | 2017-01-21 |
DE112010002178T5 (de) | 2012-09-20 |
JP5897524B2 (ja) | 2016-03-30 |
RU2011153260A (ru) | 2013-07-10 |
WO2010138230A2 (en) | 2010-12-02 |
WO2010138230A3 (en) | 2011-01-20 |
JP2012527036A (ja) | 2012-11-01 |
JP2014017006A (ja) | 2014-01-30 |
CN101901205A (zh) | 2010-12-01 |
KR101298862B1 (ko) | 2013-08-21 |
DE202010018100U1 (de) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2559727C2 (ru) | Способ и устройство для обеспечения потоков на основе идентификатора через шину pci express | |
EP1433067B1 (en) | An enhanced general input/output architecture and related methods for establishing virtual channels therein | |
US7583600B1 (en) | Schedule prediction for data link layer packets | |
US20060230210A1 (en) | Method and apparatus for memory interface | |
US20140189174A1 (en) | General input/output architecture, protocol and related methods to implement flow control | |
JP2015109679A (ja) | 拡張ヘッダを用いたパケット送信 | |
US7277975B2 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
JP2005332250A (ja) | データ処理装置およびフロー制御方法 | |
CN116795763B (zh) | 基于axi协议的数据分组传输的方法、片上系统和芯片 | |
US6557060B1 (en) | Data transfer in host expansion bridge | |
US7610415B2 (en) | System and method for processing data streams | |
EP1253520B1 (en) | Apparatus for issuing command for high-speed serial interface | |
CN110941582A (zh) | 一种bmc芯片的usb总线结构及其通信方法 | |
US9338219B2 (en) | Direct push operations and gather operations | |
TWI246651B (en) | An enhanced general input/output architecture and related methods for establishing virtual channels therein | |
TWI240859B (en) | Error forwarding in an enhanced general input/output architecture and related methods | |
CN116055422A (zh) | 一种控制数据包发送顺序的装置以及方法 | |
US7447205B2 (en) | Systems and methods to insert broadcast transactions into a fast data stream of transactions | |
JP2004054419A (ja) | ノード間トランザクション処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20160311 |