СЕТЕВОЙ ИНТЕРФЕЙС

1. Способ получения данных, включающий:
получение нескольких кадров данных из внешней сети через сетевой интерфейс и
передачу каждого из кадров данных из сетевого интерфейса в приемный буфер, распределенный в памяти главной вычислительной системы, через внутреннюю системную шину,
при этом сетевой интерфейс задает распределение кадров данных в приемном буфере без вмешательства со стороны главной вычислительной системы, передавая каждый из полученных кадров данных из сетевого интерфейса в приемный буфер с использованием протокола записи без обратной связи, и
запись полученных кадров данных последовательно в диапазон непрерывной памяти в приемном буфере.
2. Способ по п. 1, отличающийся тем, что включает распределение приемного буфера в непрерывной памяти, которая имеет объем памяти для нескольких кадров данных.
3. Способ по п. 2, отличающийся тем, что включает разделение выделенной памяти на несколько последовательных индивидуально адресуемых страниц с равнозначным объемом.
4. Способ по п. 3, отличающийся тем, что включает запись полученных кадров данных последовательно в каждую из страниц в приемном буфере.
5. Способ по п. 4, отличающийся тем, что включает рекурсивную перезапись приемного буфера без подтверждения считывания со стороны главной вычислительной системы.
6. Способ по любому из пп. 3-5, отличающийся тем, что включает фрагментацию полученных кадров данных, которые превысили объем памяти страниц, и распределение фрагментов кадра для нескольких последовательных страниц в приемном буфере.
7. Способ по п. 6, отличающийся тем, что включает генерирование управляющих данных, которые облегчают восстановление фрагментированных кадров данных путем определения взаимосвязи данных кадра в последовательных страницах.
8. Способ по п. 7, отличающийся тем, что включает добавление управляющих данных в конец каждого фрагмента кадра, так чтобы управляющие данные записывались в конце соответствующей страницы в той же шинной транзакции как и фрагмент кадра.
9. Способ по п. 8, отличающийся тем, что управляющие данные также определяют длину фрагмента кадра, распределенного для соответствующей страницы.
10. Сетевой интерфейс, содержащий:
сетевую сторону, которая получает несколько кадров данных из внешней сети данных,
хост-сторону, которая передает кадры данных в приемный буфер, распределенный в памяти главной вычислительной системы, через внутреннюю системную шину хоста, и
систему управления, которая задает распределение кадров данных в приемном буфере без вмешательства со стороны главной вычислительной системы;
контроллер записи, сконфигурированный так, чтобы передавать каждый из полученных кадров данных в приемный буфер с использованием протокола записи без обратной связи, при этом контроллер записи дополнительно сконфигурирован так, чтобы последовательно записывать кадры данных в диапазон непрерывной памяти в приемном буфере.
11. Сетевой интерфейс по п. 10, отличающийся тем, что содержит модуль управления буфером, который распределяет несколько последовательных индивидуально адресуемых страниц с равнозначным объемом памяти в непрерывной памяти, распределенной для приемного буфера.
12. Сетевой интерфейс по п. 11, отличающийся тем, что содержит контроллер записи, который передает полученные кадры данных последовательно в каждую из страниц в приемном буфере.
13. Сетевой интерфейс по п. 12, отличающийся тем, что контроллер записи рекурсивно перезаписывает приемный буфер без подтверждения считывания со стороны главной вычислительной системы.
14. Сетевой интерфейс по п. 12 или 13, отличающийся тем, что содержит модуль управления кадром, который фрагментирует полученные кадры данных, которые превысили объем памяти страниц, и распределяет фрагменты кадра для нескольких последовательных страниц в приемном буфере.
15. Сетевой интерфейс по п. 14, отличающийся тем, что модуль управления кадром генерирует управляющие данные, которые облегчают восстановление фрагментированных кадров данных путем определения взаимосвязи данных кадра в последовательных страницах.
16. Сетевой интерфейс по п. 15, отличающийся тем, что контроллер записи добавляет управляющие данные в конец каждого фрагмента кадра, так чтобы управляющие данные записывались в конце соответствующей страницы в той же шинной транзакции, как и фрагмент кадра.
17. Сетевой интерфейс по п. 15, отличающийся тем, что управляющие данные также определяют длину фрагмента кадра, распределенного для соответствующей страницы.
18. Протокол доступа к буферу, содержащий:
обращение к нескольким страницам данных в циклическом буфере и считывание значений счетчика итераций записи из каждой из доступных страниц, при этом счетчик итераций записи определяет итерацию записи, когда данные были последний раз записаны в соответствующую страницу,
определение адреса записи для циклического буфера, который определяет следующую страницу для перезаписи данными, при этом адрес записи определяется путем перехода в счетчик итераций записи, закрепленный за соседними страницами, и
рекуррентный опрос адреса записи для обнаружения обновления записи, обновление записи определяется исходя из изменений в счетчике итераций записи соответствующей страницы.
19. Протокол по п. 18, отличающийся тем, что включает:
копирование значения счетчика итераций записи из выделенной страницы в циклическом буфере и формирование значения счетчика итераций считывания из скопированного значения счетчика итераций записи, и
сравнение значения счетчика итераций считывания с несколькими значениями счетчиков итераций записи, закрепленных за последовательными страницами в циклическом буфере, для идентификации адреса записи.
20. Протокол по п. 19, отличающийся тем, что включает:
инициацию указателя отсчета в выделенной странице в циклическом буфере,
сравнение значения счетчика итераций записи, закрепленного за выделенной страницей, со значением счетчика итераций считывания, и
приращение значения указателя отсчета для приведения в соответствие с последующими страницами в циклическом буфере до тех пор, пока значение указателя отсчета не совпадет с адресом записи.
21. Протокол по п. 20, отличающийся тем, что включает приращение значения указателя отсчета для приведения в соответствие с последующей страницей после обнаружения обновления записи.
22. Протокол по п. 18, отличающийся тем, что включает сохранение значения счетчика цикла для циклического буфера, которое определяет текущую итерацию записи, при этом значение счетчика цикла приращается в завершении каждой итерации записи.
23. Протокол по п. 22, отличающийся тем, что включает запись значения счетчика цикла в индивидуальные страницы в циклическом буфере с каждой транзакции записи в соответствующие страницы, счетчик цикла обеспечивает счетчику итераций записи синхронизацию считывания.
24. Протокол по любому из пп. 18-23, отличающийся тем, что включает:
извлечение данных из страницы, соответствующей адресу записи, когда обнаружено обновление записи,
проверку значения счетчика итераций записи вслед за извлечением данных для проверки правильности процесса извлечения и
генерирование ошибки считывания, если счетчик итераций записи изменил значение после обнаружения обновления записи.
25. Протокол по любому из пп. 18-23, отличающийся тем, что включает:
считывание индекса длины из текущей страницы, соответствующей адресу записи, после обновления записи, и
объединение данных из текущей страницы с данными из следующей страницы, когда индекс длины указывает, что текущая страница содержит фрагмент кадра.
26. Система доступа к буферу, содержащая:
модуль индексов, который обращается к нескольким страницам данных в циклическом буфере и оценивает значение счетчика итераций записи каждой доступной страницы; счетчик итераций записи, определяющий итерацию записи, когда данные были последний раз записаны в соответствующую страницу,
модуль синхронизации, который определяет адрес записи для циклического буфера, при этом адрес записи определяет следующую страницу для перезаписи данными, и
устройство контроля записи, которое рекуррентно опрашивает адрес записи для обнаружения обновления записи, при этом обновление записи определяется исходя из изменения значения счетчика итераций записи для соответствующей страницы.
27. Система по п. 26, отличающаяся тем, что:
модуль индексов копирует значение счетчика итераций записи из указанной страницы в циклическом буфере и формирует значение счетчика итераций считывания из скопированного значения счетчика итераций записи, и
модуль синхронизации сравнивает значение счетчика итераций чтения с несколькими значениями счетчиков итераций записи, закрепленными за последовательными страницами внутри циклического буфера, для идентификации адреса записи.
28. Система по п. 27, отличающаяся тем, что модуль синхронизации инициирует указатель отсчета в выделенной странице в циклическом буфере, сравнивает значение счетчика итераций записи, закрепленное за выделенной страницей, со значением счетчика итераций считывания и приращает значение указателя отсчета для приведения в соответствие с последующими страницами в циклическом буфере, пока указатель отсчета не совпадет с адресом записи.
29. Система по п. 28, отличающаяся тем, что модуль синхронизации приращает значение указателя отсчета для приведения в соответствие с последующей страницей в буфере, когда устройство контроля записи обнаруживает обновление записи.
30. Система по любому из пп. 26-29, отличающаяся тем, что модуль извлечения, который извлекает данные из страниц, соответствующих адресу записи, при обнаружении обновлений записей, проверяет значение счетчика итераций записи для соответствующей страницы после извлечения данных для проверки правильности процесса извлечения и генерирует ошибку считывания, если счетчик итераций записи изменил значение после обнаружения обновления записи.
31. Система по любому из пп. 26-29, отличающаяся тем, что содержит:
модуль извлечения, который извлекает данные из страниц, соответствующих адресу записи при обнаружении обновлений записи, и
модуль восстановления кадра, который считывает индекс длины из каждой страницы и объединяет данные извлеченные из последовательных страниц, когда индекс длины указывает, что соответствующие страницы содержат данные из общего кадра.
32. Способ передачи данных, включающий:
распределение выделенной памяти из сетевого интерфейса в иерархию локальной памяти в главной вычислительной системе,
буферизацию исходящих сетевых данных в буфере записи-объединения процессора главной вычислительной системы,
запись исходящих сетевых данных из буфера записи-объединения в выделенную память и
передачу данных из сетевого интерфейса во внешнюю сеть.
33. Способ по п. 32, отличающийся тем, что включает запись индекса кадра в отдельный управляющий регистр в сетевом интерфейсе для инициации передачи кадра данных во внешнюю сеть, при этом индекс кадра определяет местоположение соответствующего кадра в выделенной памяти.
34. Способ по п. 33, отличающийся тем, что включает распределение отдельного управляющего регистра в нулевой регистр базового адреса главной вычислительной системы.
35. Способ по любому из пп. 32-34, отличающийся тем, что включает распределение выделенной памяти сетевого интерфейса во второй регистр базового адреса главной вычислительной системы и обеспечение записи-объединения для распределенной памяти.
36. Способ по п. 33 или 34, отличающийся тем, что включает извлечение индивидуального кадра данных из выделенной памяти для передачи во внешнюю сеть, при этом кадр данных определяется по индексу кадра, записанному в отдельный управляющий регистр, и длине кадра, записанной с кадром данных в выделенную память.
37. Способ по любому из пп. 32-34, отличающийся тем, что включает запись управляющих данных в выделенную память с исходящими сетевыми данными, при этом управляющие данные содержат длину кадра, которая определяет размер соответствующего кадра данных.
38. Способ по п. 37, отличающийся тем, что включает введение дескрипторов обратной связи в управляющие данные, записываемые в выделенную память с исходящими сетевыми данными, при этом дескрипторы обратной связи облегчают передачу подтверждающих сообщений из сетевого интерфейса в главную вычислительную систему.
39. Способ по любому из пп. 32-34, отличающийся тем, что включает запись идентификатора кадра из выделенной памяти в распределенный регистр с обратной связью в памяти главной вычислительной системы для отчета о передаче соответствующего кадра данных из сетевого интерфейса во внешнюю сеть.
40. Способ по п. 39, отличающийся тем, что включает извлечение идентификатора кадра и исходного адреса, определяющего регистр с обратной связью главной вычислительной системы, из выделенной памяти во время транзакции доступа к консолидированной памяти, которая включает извлечение соответствующего кадра данных.
41. Система передачи данных, содержащая:
модуль управления памятью, который распределяет выделенную память из сетевого интерфейса в иерархию локальной памяти в главной вычислительной системе, и
контроллер записи, который буферизирует исходящие сетевые данные в буфере записи-объединения перед записью исходящих сетевых данных в выделенную память сетевого интерфейса.
42. Система по п. 41, отличающаяся тем, что содержит управляющий модуль, который записывает индексы кадра в отдельный управляющий регистр в сетевом интерфейсе для инициации передачи кадров данных из сетевого интерфейса во внешнюю сеть, при этом индексы кадра определяют местоположение соответствующего кадра в выделенной памяти.
43. Система по п. 42, отличающаяся тем, что модуль управления памятью распределяет отдельный управляющий регистр в нулевой регистр адреса главной вычислительной системы.
44. Система по любому из пп. 41-43, отличающаяся тем, что модуль управления памятью распределяет выделенную память сетевого интерфейса во второй регистр базового адреса главной вычислительной системы и обеспечивает возможность записи-объединения для распределенной памяти.
45. Система по п. 42 или 43, отличающаяся тем, что содержит устройство для передачи, которое извлекает индивидуальные кадры данных из выделенной памяти для передачи во внешнюю сеть, при этом кадры данных определяются по соответствующему индексу кадра, записанному в отдельный управляющий регистр, и длине кадра, записанной в выделенную память с кадром данных.
46. Система по любому из пп. 41-43, отличающаяся тем, что содержит управляющий модуль, который объединяет управляющие данные с исходящими сетевыми данными перед тем, как контроллер записи запишет сетевые данные в выделенную память, при этом управляющие данные содержат длину кадра, которая определяет размер соответствующего кадра данных.
47. Система по п. 46, отличающаяся тем, что управляющий модуль вводит дескрипторы обратной связи в управляющие данные, объединенные с исходящими сетевыми данными, при этом дескрипторы обратной связи облегчают передачу подтверждающих сообщений из сетевого интерфейса в главную вычислительную систему.
48. Система по любому из пп. 41-43, отличающаяся тем, что содержит устройство для оповещений, которое записывает идентификатор кадра из выделенной памяти в распределенный регистр с обратной связью в памяти главной вычислительной системы для отчета о передаче соответствующего кадра данных из сетевого интерфейса во внешнюю сеть.
49. Система по п. 48, отличающаяся тем, что устройство для оповещений извлекает идентификатор кадра и исходный адрес, определяющий регистр с обратной связью главной вычислительной системы, из выделенной памяти во время транзакции доступа к консолидированной памяти, которая включает извлечение соответствующего кадра данных.
50. Сетевой интерфейс, содержащий:
сетевую сторону, которая соединена с внешней сетью данных для облегчения обмена данными, при этом сетевая сторона имеет несколько портов данных, каждый из которых определяет канал данных для передачи данных,
хост-сторону, которая соединена с внутренней системной шиной главной вычислительной системы для облегчения обмена данными между сетевым интерфейсом и главной вычислительной системой, и
систему управления, которая управляет обменом данными между сетевой стороной и хост-стороной сетевого интерфейса, при этом система управления содержит регистрационный модуль, который реплицирует данные из индивидуальных каналов данных и передает реплицированные данные в выделенный регистрационный порт.
51. Сетевой интерфейс по п. 50, отличающийся тем, что содержит регистрационный интерфейс, который облегчает конфигурацию регистрационного модуля, при этом регистрационный интерфейс имеет несколько управляющих регистров, которые определяют каналы данных, реплицированные регистрационным модулем.
52. Сетевой интерфейс по п. 51, отличающийся тем, что содержит регистрационный контроллер, который разделяет данные из каждого канала данных на принимаемый поток и отправляемый поток, при этом регистрационный интерфейс имеет несколько управляющих регистров, которые определяют потоки данных, реплицированные регистрационным модулем.
53. Сетевой интерфейс по любому из пп. 50-52, отличающийся тем, что содержит регистрационный блок, который объединяет данные из нескольких портов данных в поток консолидированных данных для передачи во внешнюю сеть.
54. Способ регистрации данных, включающий:
обмен данными между главной вычислительной системой и внешней сетью данных с использованием сетевого интерфейса, имеющего несколько портов данных, при этом сетевой интерфейс соединяют с внутренней системной шиной главной вычислительной системы, и
репликацию данных из индивидуальных портов данных и передачу реплицированных данных в выделенный регистрационный порт, интегрированный с сетевым интерфейсом.
55. Способ по п. 54, отличающийся тем, что включает выбор индивидуальных портов данных для регистрации, при этом порты данных выбирают с использованием выделенных управляющих регистров, распределенных в сетевом интерфейсе.
56. Способ по п. 54, отличающийся тем, что включает:
разделение данных, полученных от каждого из портов данных, на принимаемый поток и отправляемый поток, и
объединение выбранных потоков данных в консолидированный регистрационный поток, при этом потоки выбирают с использованием выделенных управляющих регистров, распределенных в сетевом интерфейсе.
57. Способ по любому из пп. 54-56, отличающийся тем, что включает объединение данных из нескольких портов данных и передачу объединенных данных из главной вычислительной системы во внешнюю сеть.
58. Сетевой интерфейс, содержащий:
сетевую сторону, которая соединена с внешней сетью данных для облегчения обмена данными, при этом сетевая сторона имеет несколько портов данных,
хост-сторону, которая соединена с внутренней системной шиной главной вычислительной системы для облегчения обмена данными между сетевым интерфейсом и главной вычислительной системой, и
систему управления, которая управляет обменом данными между сетевой стороной и хост-стороной сетевого интерфейса, при этом система управления содержит модуль продвижения, который получает данные из выделенного порта данных сетевого интерфейса и передает полученные данные во внешнюю сеть данных через другой порт данных сетевого интерфейса без вмешательства со стороны главной вычислительной системы.
59. Сетевой интерфейс по п. 58, отличающийся тем, что содержит интерфейс продвижения, который облегчает конфигурацию модуля продвижения, при этом интерфейс продвижения имеет управляющий регистр, который блокирует продвижение данных между двумя портами.
60. Сетевой интерфейс по п. 58 или 59, отличающийся тем, что содержит устройство фильтрации, которое считывает адреса назначения из данных, полученных модулем продвижения, и предотвращает продвижение данных с адресом назначения, который совпадает с адресом, связанным с главной вычислительной системой.
61. Способ продвижения данных, включающий:
получение данных из внешней сети данных с использованием сетевого интерфейса, имеющего несколько портов данных, при этом сетевой интерфейс соединяют с внутренней системной шиной главной вычислительной системы, и
продвижение данных, полученных через определенный порт сетевого интерфейса в другой порт сетевого интерфейса без вмешательства со стороны главной вычислительной системы.
62. Способ по п. 61, отличающийся тем, что включает блокирование продвижения между двумя портами сетевого интерфейса посредством записи в управляющий регистр в сетевом интерфейсе.
63. Способ по п. 61 или 62, отличающийся тем, что включает считывание адресов назначения из данных, полученных модулем продвижения, и предотвращение продвижения данных с адресом назначения, который совпадает с адресом, связанным с главной вычислительной системой.
64. Способ получения данных, включающий получение данных из внешней сети через сетевой интерфейс и передачу данных в память главной вычислительной системы через внутреннюю системную шину, при этом сетевой интерфейс задает распределение данных в памяти главной вычислительной системы без вмешательства со стороны главной вычислительной системы.
65. Сетевой интерфейс, содержащий сетевую сторону, которая получает данные из внешней сети данных, хост-сторону, которая передает данные в память главной вычислительной системы через внутреннюю системную шину, и систему управления, которая задает распределение данных в памяти главной вычислительной системы без вмешательства со стороны главной вычислительной системы.
66. Протокол доступа к буферу, включающий:
считывание значения счетчика итераций записи из нескольких страниц в буфере памяти, при этом счетчик итераций записи определяет, когда данные были последний раз записаны в соответствующую страницу,
определение адреса записи, который определяет следующую страницу для получения данных, при этом адрес записи определяется исходя из значений счетчиков итераций записи, и
рекуррентный опрос адреса записи для обнаружения обновления записи для соответствующей страницы.
67. Система доступа к буферу, содержащая:
модуль индексов, который считывает значение счетчика итераций записи из нескольких страниц данных в буфере памяти, при этом счетчик итераций записи определяет, когда данные были последний раз записаны в соответствующую страницу,
модуль синхронизации, который определяет адрес записи, определяя следующую страницу для получения данных, при этом адрес записи определяется исходя из значений счетчиков итераций записи, и
устройство контроля записи, которое рекуррентно опрашивает адрес записи для обнаружения обновления записи для соответствующей страницы.
68. Способ передачи данных, включающий буферизацию исходящих сетевых данных в процессоре главной вычислительной системы и запись буферезированных исходящих сетевых данных непосредственно в выделенную память в сетевом интерфейсе, которая распределяется в иерархию локальной памяти в главной вычислительной системе.
69. Система передачи данных, содержащая модуль управления памятью, который распределяет память из сетевого интерфейса в иерархию локальной памяти в главной вычислительной системе, и контроллер записи, который буферизирует исходящие сетевые данные в процессоре главной вычислительной системы перед записью исходящих сетевых данных непосредственно в распределенную память.
70. Сетевой интерфейс, содержащий несколько портов данных, которые соединены с внешней сетью данных, и систему управления, которая управляет обменом данными между портами данных и внутренней системной шиной главной вычислительной системы,
при этом система управления содержит регистрационный модуль, который реплицирует данные обмена между системной шиной и индивидуальными портами данных и передает реплицированные данные в выделенный регистрационный порт.
71. Способ регистрации данных, включающий автономное реплицирование сетевых данных в сетевом интерфейсе вычислительной системы и передачу реплицированных данных в выделенный регистрационный порт сетевого интерфейса для передачи во внешнюю систему регистрации.
72. Сетевой интерфейс, содержащий несколько портов данных и систему управления, которая управляет обменом данных между портами данных и внутренней системной шиной главной вычислительной системы, при этом система управления содержит модуль продвижения, который передает данные непосредственно между отдельными портами данных без вмешательства со стороны главной вычислительной системы.
73. Способ продвижения данных, включающий получение сетевых данных в выделенный порт данных сетевого интерфейса вычислительной системы и передачу полученных данных во внешнюю сеть данных через другой порт сетевого интерфейса без вмешательства со стороны главной вычислительной системы.