IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0495487
(2009-06-30)
|
등록번호 |
US-8270405
(2012-09-18)
|
발명자
/ 주소 |
- Chen, Chih-Cheh
- Klinglesmith, Michael T.
- Lee, David M.
- Zulauf, John
- Franko, Itay
- Elardo, Peter J.
- Nair, Mohan K.
- Van Beek, Christopher
|
출원인 / 주소 |
|
대리인 / 주소 |
Pillsbury Winthrop Shaw Pittman LLP
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
4 |
초록
Devices and method with hardware configured to support phantom register programming. Where phantom register programming allows a device driver for an endpoint device to program multicast registers in the device without support of the operating system.
대표청구항
▼
1. A device comprising: multicast registers;a plurality of ingress ports andhardware configured to execute an operating system, multi-base address register (MCBAR) programming program, and phantom register programming program wherein the phantom register programming program allows an endpoint device
1. A device comprising: multicast registers;a plurality of ingress ports andhardware configured to execute an operating system, multi-base address register (MCBAR) programming program, and phantom register programming program wherein the phantom register programming program allows an endpoint device driver in an endpoint device to interface with the multi-base address register programming program without operating system support which results in each ingress port of the plurality of ingress ports to be assigned a unique multicast address region which results in configuring the each ingress port to independently identify multicast transaction received at the each ingress port. 2. The device of claim 1, wherein the hardware is configured to circumvent a restriction of the operating system, the restriction preventing device drivers from programming registers of another device. 3. The device of claim 1, wherein the endpoint device is at least one of a graphics card, storage device, disk drive, server, client, or modem. 4. The device of claim 1, wherein the phantom register programming allows the endpoint devices to program the multicast registers. 5. The device of claim 1, wherein the hardware is configured to intercept multicast configuration requests from the plurality of endpoint devices or the ingress ports. 6. The device of claim 5, wherein the hardware is configured to re-route the intercepted multicast configuration requests to target multicast registers in an upstream or downstream port. 7. A system comprising: a plurality of endpoint devices; and a switchwherein said switch includes the following:a plurality of registers;hardware; anda memory which stores an operating system, multi-base address register (MCBAR) programming program, and phantom register programming program executable by said hardware and a device driver which is configured to interface with said plurality of endpoint devices without support from the operating system executed by the hardware in order to configure said plurality of registers to perform as phantom registers wherein said phantom registers to multicast data between said plurality of endpoint devices. 8. The system of claim 7, wherein the phantom register programming allows a device driver to program multicast registers in the switch. 9. The system of claim 7, wherein the switch is configured to translate addresses from guest physical address (GPA) to host physical address (HPA) with virtualization for devices technology (VT-d). 10. The system of claim 7, wherein the system is configured to multicast untranslated transactions upstream of an ingress port. 11. The system of claim 7, wherein the switch is configured to circumvent an operating system restriction that prevents one device driver from programming registers in a different device. 12. The system of claim 7, wherein the phantom register programming allows the endpoint devices to program the multicast registers in the switch. 13. The system of claim 7, wherein the switch is configured to intercept configuration requests from the plurality of endpoint devices. 14. A method comprising: Sending a configuration request to a switch by device driver in an endpoint device;receiving the configuration request by said switch;wherein said configuration request is used to configure multicast register in the switch to perform multicast transactions. 15. The method of claim 14, wherein the configuration request is configured to set up multicasting and the configuration request is sent from a root complex. 16. The method of claim 14, wherein the configuration request is configured to set up multicasting and the configuration request is processed without the support of an operating system. 17. The method of claim 14, wherein the multicast request is not translated in a virtualized environment or system when the multicast request traverses upstream. 18. The method of claim 14, wherein the multicast request is translated in a virtualized environment or system when the multicast request traverses downstream. 19. The method of claim 18, wherein the multicast request uses guest physical addresses (GPA) when the multicast request traverses upstream in a virtualized environment or system; and the multicast request uses host physical addresses (HPA) when the multicast request traverses downstream in a virtualized environment or system. 20. A device comprising a first switch that has a first plurality of ports, wherein the first switch is configured to allow multicast transactions received at least one of the first plurality of ports to multicast to more than one other port of the first plurality of ports; wherein each port of the first plurality of ports has a unique multicast address region. 21. The device of claim 20, wherein the first switch is configured to allow a device operatively connected through at least one of the first plurality of ports to program the multicast address regions of the first plurality of ports. 22. The device of claim 20, wherein the first plurality of endpoint devices are selected from the group consisting of a graphics card, storage device, disk drive, server, client and modem. 23. The device of claim 20, wherein the first switch is configured to intercept a multicast configuration request targeting at least one port of the first plurality of ports such that the multicast configuration request is never received by the at least one port. 24. The device of claim 23, wherein the first switch is configured to re-route the intercepted multicast configuration request to target another port of the first plurality of ports. 25. The device of claim 23, wherein the first switch is configured to intercept the multicast configuration request by intercepting a range of configuration space of a device operatively attached to the at least one of the first plurality of ports. 26. The device of claim 20, wherein the first switch is configured to translate addresses from guest physical address (GPA) to host physical address (HPA). 27. The device of claim 20, wherein the first switch is configured to re-align or shift the multicast address regions greater than a predetermined amount to a new page boundary. 28. The device of claim 20, further comprising a first plurality of endpoint devices operatively attached to the first switch through the first plurality of ports. 29. The device of claim 28, wherein the first plurality of endpoint devices are PCIe endpoint devices. 30. The device of claim 20, further comprising a root complex operatively attached to the first switch through the first plurality of ports. 31. The device of claim 30, wherein at least one of the first plurality of endpoint devices is operatively attached to the first switch through the root complex. 32. The device of claim 30, further comprising a second switch that comprises a second plurality of ports, the second switch operatively connected to the root complex through the second plurality of ports. 33. The device of claim 32, wherein the second switch is configured to allow multicast transactions received at least one of the second plurality of ports to multicast to more than one other port of the second plurality of ports. 34. The device of claim 32, wherein the first and second switches and the root complex are configured to allow multicast transactions received at least one of the first or second plurality of ports to multicast to more than one other port of the first or second plurality of ports. 35. The device of claim 20, wherein the first plurality of ports consists of up to four ports. 36. A method comprising: sending a multicast configuration request targeting a device operatively attached to a first port of a switch to a second port of a switch;intercepting the multicast configuration request in the switch such that the multicast configuration request is never received by the device operatively attached to the first port;forwarding the intercepted multicast configuration request to a multicast address region of the first port or the second port; andservicing the multicast configuration request at the multicast address region. 37. The method of claim 36, wherein the multicast configuration request is configured to set up multicasting and the multicast configuration request is sent from a root complex operatively attached to the switch. 38. The method of claim 36, wherein the multicast configuration request is configured to set up multicasting and the multicast configuration request is processed without the support of an operating system. 39. The method of claim 36, wherein the multicast configuration request is an upstream multicast configuration request and is not translated in a virtualized environment or system. 40. The method of claim 36, wherein the multicast configuration request is a downstream multicast configuration request and is translated in a virtualized environment or system. 41. The method of claim 40, wherein the multicast configuration request is an upstream multicast configuration request and uses guest physical addresses (GPA) or wherein the multicast configuration request is a downstream multicast configuration request and uses host physical addresses (HPA) in a virtualized environment or system.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.