-
公开(公告)号:US11650835B1
公开(公告)日:2023-05-16
申请号:US16836527
申请日:2020-03-31
Applicant: Amazon Technologies, Inc.
Inventor: Barak Wasserstrom , Said Bshara , Akram Baransi , Omri Itach , Tal Zilcer
CPC classification number: G06F9/455 , G06F13/4282 , G06F2213/0026
Abstract: Multiple independent endpoint devices can be emulated using a single system on chip (SoC) device. Such a SoC can have multiple cores that can emulate ports according to a specified protocol, such as the peripheral component interconnect express (PCIe) protocol useful for data communications. An emulation agent can manage various aspects of these emulated endpoint devices in software, including serving interrupts for relevant emulated devices according to a determined priority scheme. Interrupts can be registered for each device, and data structures allocated dynamically for a determined number and type(s) of PCIe endpoint devices to be emulated. Each PCIe core on the SoC can function as a separate PCIe endpoint device endpoint for communicating with one or more hosts or other such devices.
-
公开(公告)号:US12093706B2
公开(公告)日:2024-09-17
申请号:US18186748
申请日:2023-03-20
Applicant: Amazon Technologies, Inc.
Inventor: Barak Wasserstrom , Said Bshara , Akram Baransi , Omri Itach , Tal Zilcer
CPC classification number: G06F9/455 , G06F13/105 , G06F13/24 , G06F13/4221 , G06F13/4282 , G06F2213/0026
Abstract: Multiple independent endpoint devices can be emulated using a single system on chip (SoC) device. Such a SoC can have multiple cores that can emulate ports according to a specified protocol, such as the peripheral component interconnect express (PCIe) protocol useful for data communications. An emulation agent can manage various aspects of these emulated endpoint devices in software, including serving interrupts for relevant emulated devices according to a determined priority scheme. Interrupts can be registered for each device, and data structures allocated dynamically for a determined number and type(s) of PCIe endpoint devices to be emulated. Each PCIe core on the SoC can function as a separate PCIe endpoint device endpoint for communicating with one or more hosts or other such devices.
-
公开(公告)号:US20230221971A1
公开(公告)日:2023-07-13
申请号:US18186748
申请日:2023-03-20
Applicant: Amazon Technologies, Inc.
Inventor: Barak Wasserstrom , Said Bshara , Akram Baransi , Omri Itach , Tal Zilcer
CPC classification number: G06F13/4221 , G06F13/24 , G06F13/105
Abstract: Multiple independent endpoint devices can be emulated using a single system on chip (SoC) device. Such a SoC can have multiple cores that can emulate ports according to a specified protocol, such as the peripheral component interconnect express (PCIe) protocol useful for data communications. An emulation agent can manage various aspects of these emulated endpoint devices in software, including serving interrupts for relevant emulated devices according to a determined priority scheme. Interrupts can be registered for each device, and data structures allocated dynamically for a determined number and type(s) of PCIe endpoint devices to be emulated. Each PCIe core on the SoC can function as a separate PCIe endpoint device endpoint for communicating with one or more hosts or other such devices.
-
公开(公告)号:US10509758B1
公开(公告)日:2019-12-17
申请号:US15718955
申请日:2017-09-28
Applicant: Amazon Technologies, Inc.
Inventor: Adi Habusha , Georgy Zorik Machulsky , Nafea Bshara , Tal Zilcer
Abstract: Provided are systems and methods for hot-plugging emulated peripheral devices (e.g., endpoints) into host devices that either have a hypervisor that does not support virtualized peripheral device or that do not include a hypervisor. In various implementations, a configurable peripheral device can emulate a switch that includes upstream ports and downstream ports. When a new endpoint device is requested, the configurable peripheral device can, using an emulation configuration for the new endpoint device, generate an emulation for the new endpoint device. The configurable peripheral device can connect the endpoint device to a downstream port, and then trigger a hot-plug mechanism, through which the host device can add the new endpoint device to the known hardware of the host device.