Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. An Input/Output (I/O) adapter device comprising: a device interface configured to communicate with a first device and a second device communicatively coupled to the I/O adapter device; a host interface configured to support communication with a frontend driver of a host device via a software interface of the host device; a first emulated backend driver configured to communicate with the frontend driver through the host interface using the software interface and to communicate with the first device to provide the frontend driver with access to the first device; and a second emulated backend driver configured to communicate with the frontend driver through the host interface using the software interface and to communicate with the second device to provide the frontend driver with access to the second device.
The invention relates to an Input/Output (I/O) adapter device designed to facilitate communication between a host device and multiple peripheral devices. The problem addressed is the need for a unified interface that allows a host device to interact with different types of devices through a single software interface, simplifying integration and management. The I/O adapter device includes a device interface that enables communication with at least two peripheral devices. A host interface supports communication with a frontend driver on the host device using a standardized software interface. The device also features two emulated backend drivers. The first emulated backend driver communicates with the frontend driver through the host interface and translates commands to interact with the first peripheral device, providing the frontend driver with access to it. Similarly, the second emulated backend driver communicates with the frontend driver and manages communication with the second peripheral device, enabling the frontend driver to access it. This architecture allows the host device to interact with multiple devices seamlessly through a single software interface, reducing complexity and improving compatibility. The emulated backend drivers abstract the differences between the devices, ensuring consistent communication.
2. The I/O adapter device of claim 1 , wherein the host device executes software codes including an operating system and the frontend driver; and wherein the frontend driver is a standard driver or a generic driver of the operating system and is compatible with a type of device including the first device and the second device.
The invention relates to an I/O (input/output) adapter device designed to facilitate communication between a host device and multiple peripheral devices. The problem addressed is the need for a flexible and compatible I/O adapter that can interface with different types of devices without requiring specialized drivers for each peripheral. The I/O adapter device includes a host interface for connecting to the host device and at least two device interfaces for connecting to at least two different peripheral devices. The host device executes software, including an operating system and a frontend driver. The frontend driver is either a standard or generic driver provided by the operating system, ensuring broad compatibility with various device types. This eliminates the need for custom drivers for each peripheral, simplifying integration and reducing development complexity. The adapter translates commands and data between the host and the peripheral devices, allowing seamless communication regardless of the specific device types involved. The solution enhances interoperability and reduces the burden on system administrators and developers by leveraging existing, widely supported drivers.
3. The I/O adapter device of claim 2 , wherein the software interface is part of the operating system.
The invention relates to an I/O (input/output) adapter device designed to enhance data transfer efficiency between a computing system and peripheral devices. The device addresses the problem of inefficient data handling in traditional I/O systems, which often rely on separate software layers that introduce latency and complexity. The I/O adapter includes a hardware component that directly interfaces with peripheral devices and a software interface that manages data transfer operations. The software interface is integrated into the operating system, eliminating the need for additional middleware or drivers, thereby reducing overhead and improving performance. The hardware component may include specialized circuitry for processing data streams, such as encryption, compression, or protocol conversion, to further optimize transfer speeds. The device is particularly useful in high-performance computing environments where low-latency and high-throughput data transfers are critical, such as in data centers, cloud computing, or real-time processing applications. By embedding the software interface within the operating system, the invention ensures seamless compatibility and reduces the risk of software conflicts or driver issues. The overall design aims to streamline data flow, minimize processing delays, and enhance system reliability.
4. The I/O adapter device of claim 1 , wherein the software interface comprises a standardized interface.
The invention relates to an I/O (input/output) adapter device designed to facilitate communication between a host system and peripheral devices. The primary problem addressed is the lack of interoperability and standardization in I/O adapter interfaces, which can lead to compatibility issues and inefficiencies in data transfer. The I/O adapter device includes a hardware interface for connecting to peripheral devices and a software interface for interacting with the host system. The software interface is standardized, ensuring consistent communication protocols and reducing the need for custom drivers or configurations. This standardization simplifies integration with various host systems and peripheral devices, improving reliability and ease of use. The hardware interface may include connectors, ports, or other physical means to establish a connection with peripheral devices, while the software interface provides a uniform set of commands, protocols, or APIs (application programming interfaces) that the host system can use to control and interact with the peripheral devices. The standardized software interface ensures that the I/O adapter device can operate seamlessly across different platforms and environments, enhancing flexibility and reducing development time for system integrators. The invention aims to provide a more efficient and universally compatible solution for I/O operations in computing systems.
5. The I/O adapter device of claim 4 , wherein the software interface comprises a Virtualization Input/Output (VirtIO) compliant interface.
The invention relates to an I/O adapter device designed to enhance data transfer efficiency in virtualized computing environments. The device addresses the challenge of optimizing input/output (I/O) operations between virtual machines (VMs) and physical hardware, particularly in systems where traditional I/O mechanisms introduce latency and overhead. The I/O adapter includes a software interface that enables direct communication between VMs and the adapter, bypassing the host operating system for improved performance. The software interface is specifically configured to be Virtualization Input/Output (VirtIO) compliant, a standardized framework for paravirtualized I/O devices. This compliance ensures compatibility with a wide range of virtualization platforms and operating systems, allowing seamless integration into existing virtualized infrastructures. The VirtIO interface facilitates efficient data exchange by reducing the need for emulation, minimizing overhead, and enabling high-speed I/O operations. The I/O adapter may also include additional features such as a hardware interface for connecting to physical I/O devices, a memory buffer for temporary data storage, and a control unit for managing data flow. These components work together to streamline I/O operations, ensuring low-latency and high-throughput performance in virtualized environments. The device is particularly useful in cloud computing, data centers, and enterprise virtualization scenarios where I/O performance is critical.
6. The I/O adapter device of claim 4 , wherein the software interface is compatible with a plurality of operating systems.
The invention relates to an I/O (input/output) adapter device designed to enhance compatibility and functionality in computing systems. The device addresses the problem of limited interoperability between hardware components and different operating systems, which can restrict system flexibility and upgradeability. The I/O adapter includes a hardware interface for connecting to a host system and a software interface that enables communication between the host system and external devices. The software interface is specifically designed to be compatible with multiple operating systems, allowing the adapter to function seamlessly across different platforms without requiring extensive modifications or additional drivers. This compatibility ensures that the adapter can be used in diverse computing environments, reducing the need for system-specific configurations and simplifying integration. The hardware interface may include connectors, ports, or other physical interfaces tailored to specific communication protocols, while the software interface abstracts these details to provide a unified interaction layer. The adapter may also include processing logic to manage data transfer, error handling, and protocol conversion, ensuring reliable performance across different operating systems. By supporting multiple operating systems, the device enhances system versatility and reduces compatibility barriers in modern computing environments.
7. The I/O adapter device of claim 1 , wherein the first emulated backend driver emulates a backend driver in a hypervisor or in a driver domain based on implementing at least some of functionalities of the backend driver.
This invention relates to input/output (I/O) adapter devices used in virtualized computing environments, particularly focusing on emulating backend drivers in hypervisors or driver domains. The problem addressed is the inefficiency and complexity of managing I/O operations in virtualized systems, where backend drivers in hypervisors or driver domains handle communication between virtual machines (VMs) and physical hardware. Traditional approaches often require full implementation of backend driver functionalities, leading to resource overhead and performance bottlenecks. The I/O adapter device includes a first emulated backend driver that partially implements the functionalities of a backend driver in a hypervisor or driver domain. By emulating only some of the backend driver's functions, the device reduces computational overhead while maintaining compatibility with virtualized I/O operations. This partial emulation allows the adapter to offload certain tasks from the hypervisor or driver domain, improving efficiency and reducing latency. The emulated backend driver interacts with the physical I/O hardware, translating virtualized I/O requests into commands the hardware can process. This approach optimizes resource usage and enhances performance in virtualized environments by minimizing the need for full backend driver implementations. The solution is particularly useful in high-performance computing and cloud environments where efficient I/O management is critical.
8. The I/O adapter device of claim 1 , wherein the host interface comprises a Peripheral Component Interconnect Express (PCIe) interface.
The invention relates to an input/output (I/O) adapter device designed to facilitate communication between a host system and a peripheral device. The device addresses the need for efficient, high-speed data transfer in computing systems, particularly where compatibility and performance are critical. The I/O adapter includes a host interface that connects to the host system and a peripheral interface that connects to the peripheral device. The host interface is configured to support a Peripheral Component Interconnect Express (PCIe) interface, a high-speed serial expansion bus standard widely used in modern computing systems. This PCIe interface enables low-latency, high-bandwidth communication, making it suitable for applications requiring rapid data exchange, such as graphics processing, storage devices, and network adapters. The peripheral interface may be tailored to specific peripheral devices, ensuring seamless integration and optimal performance. The I/O adapter may also include additional features, such as data buffering, protocol conversion, or power management, to enhance reliability and efficiency. By incorporating a PCIe interface, the device ensures compatibility with a broad range of host systems while delivering the performance benefits of PCIe technology. This design is particularly useful in environments where high-speed data transfer and low-latency communication are essential.
9. The I/O adapter device of claim 8 , wherein: the first emulated backend driver is configured to communicate with the frontend driver via a first communication channel through the host interface; the second emulated backend driver is configured to communicate with the frontend driver via a second communication channel through the host interface; and the first and second communication channels are established based on mapping of PCIe configuration space of the I/O adapter device to at least one of: address space of a memory accessible by the host device, or an I/O port address space.
This invention relates to an I/O adapter device designed to enhance communication between a host device and peripheral devices. The device addresses inefficiencies in traditional I/O architectures by providing a flexible and scalable interface that supports multiple communication channels. The I/O adapter includes a host interface for connecting to the host device and at least two emulated backend drivers, each configured to interface with different peripheral devices or functions. A frontend driver on the host device manages communication with these backend drivers. The first emulated backend driver communicates with the frontend driver through a first communication channel, while the second emulated backend driver uses a second communication channel, both established via the host interface. These communication channels are set up by mapping the PCIe configuration space of the I/O adapter to either the address space of a memory accessible by the host device or an I/O port address space. This mapping allows for efficient data transfer and resource management, improving performance and compatibility in I/O operations. The system ensures that multiple backend drivers can operate simultaneously without conflicts, leveraging the PCIe configuration space to dynamically allocate and manage communication paths. This approach optimizes bandwidth usage and reduces latency in I/O operations, particularly in high-performance computing environments.
10. The I/O adapter device of claim 9 , wherein the frontend driver is a para-virtualized (PV) frontend driver of a virtual machine of the host device; and wherein the first emulated backend driver and the second emulated backend driver are, respectively, a first emulated PV backend driver and a second emulated PV backend driver.
The invention relates to an I/O adapter device designed to enhance input/output (I/O) performance in virtualized computing environments. The device addresses inefficiencies in traditional virtualization architectures where I/O operations are often bottlenecked by emulation layers, leading to reduced performance and increased latency. The I/O adapter device includes a frontend driver and at least two emulated backend drivers. The frontend driver is a para-virtualized (PV) frontend driver, which operates within a virtual machine (VM) running on a host device. Para-virtualization allows the VM to communicate directly with the host's hardware through optimized interfaces, bypassing full emulation and improving efficiency. The device also includes a first and second emulated backend driver, both of which are para-virtualized (PV) backend drivers. These backend drivers interface with the host's physical I/O hardware, such as storage or network controllers, and are designed to work in conjunction with the PV frontend driver to minimize overhead and maximize throughput. By using para-virtualized drivers at both the frontend and backend, the device ensures low-latency, high-performance I/O operations within the virtualized environment. This approach reduces the need for full hardware emulation, which is computationally expensive, and instead leverages lightweight, optimized communication channels between the VM and the host's I/O hardware. The system is particularly useful in data centers and cloud computing environments where efficient I/O handling is critical for performance and scalability.
11. The I/O adapter device of claim 10 , wherein the I/O adapter device implements a first virtual function and a second virtual function; the first virtual function corresponds to the first communication channel; and the second virtual function corresponds to the second communication channel.
The invention relates to an I/O adapter device designed to enhance data processing efficiency in computing systems. The device addresses the challenge of managing multiple communication channels within a single adapter, ensuring efficient data transfer and resource allocation. The I/O adapter device includes at least two communication channels, each dedicated to a specific data transfer task. To optimize performance, the device implements virtual functions, which are software-defined interfaces that allow the adapter to handle multiple data streams independently. The first virtual function is assigned to the first communication channel, enabling dedicated processing for its associated tasks. Similarly, the second virtual function is linked to the second communication channel, ensuring isolated and efficient data handling. This separation of virtual functions prevents resource contention and improves overall system performance by allowing parallel processing of different data streams. The device is particularly useful in high-performance computing environments where multiple data sources or destinations require simultaneous and independent communication paths. By leveraging virtual functions, the adapter ensures that each channel operates with minimal interference, enhancing reliability and throughput.
12. The I/O adapter device of claim 11 , wherein the I/O adapter device is a single root input/output virtualization (SRIOV) compliant device.
The invention relates to an input/output (I/O) adapter device designed for virtualized computing environments, specifically addressing the need for efficient and secure data transfer between virtual machines (VMs) and physical hardware. The device enables direct communication between VMs and I/O resources, reducing overhead and improving performance. A key feature is its compliance with Single Root Input/Output Virtualization (SRIOV), a standard that allows a single physical I/O device to be shared among multiple VMs while maintaining isolation and security. The device includes a virtualization controller that manages the allocation of I/O resources to VMs, ensuring that each VM has dedicated access to a portion of the device's capabilities. This prevents interference between VMs and enhances data transfer efficiency. The device also supports dynamic reconfiguration, allowing resources to be reassigned as workload demands change. By adhering to SRIOV standards, the device ensures compatibility with existing virtualization platforms and simplifies integration into enterprise data centers. The overall solution improves I/O performance, reduces latency, and enhances scalability in virtualized environments.
13. The I/O adapter device of claim 1 , wherein each of the first device and the second device comprises one of: a network interface card, a storage device, an audio card, or a video card.
This invention relates to an I/O (input/output) adapter device designed to facilitate communication between a host system and multiple peripheral devices. The problem addressed is the need for efficient and flexible connectivity between a host system and various types of peripheral devices, such as network interface cards, storage devices, audio cards, or video cards. The I/O adapter device acts as an intermediary, enabling seamless data transfer and communication between the host system and these peripheral devices. The I/O adapter device includes a host interface for connecting to the host system and multiple device interfaces for connecting to the peripheral devices. Each device interface is configured to support one or more types of peripheral devices, including network interface cards, storage devices, audio cards, or video cards. The adapter device manages data flow between the host system and the connected devices, ensuring compatibility and efficient communication. The design allows for modular expansion, enabling the addition of more device interfaces as needed. This flexibility ensures that the adapter can accommodate a wide range of peripheral devices, enhancing the overall functionality and adaptability of the host system. The invention aims to provide a scalable and versatile solution for integrating diverse peripheral devices with a host system.
14. A method comprising: determining, by a host device, that an input/output (I/O) adapter device is coupled with the host device via a software interface of the host device; determining, by the host device, whether the I/O adapter device supports single root input/output virtualization (SIROV); determining, by the host device, a frontend driver based on whether the I/O adapter device supports SIROV; and executing, by the host device, the frontend driver to communicate with a first emulated backend driver and a second emulated backend driver of the I/O adapter device to provide the frontend driver with access to, respective, a first device and a second device coupled with the I/O adapter device.
This invention relates to input/output (I/O) virtualization in computing systems, specifically addressing the challenge of efficiently managing I/O adapter devices that support single root input/output virtualization (SIROV). The method involves a host device dynamically determining whether an I/O adapter is connected via a software interface and assessing its SIROV support. Based on this determination, the host device selects an appropriate frontend driver. The frontend driver then communicates with multiple emulated backend drivers within the I/O adapter, enabling access to different physical devices connected to the adapter. This approach streamlines I/O operations by leveraging SIROV capabilities when available, ensuring optimal performance and compatibility with both virtualized and non-virtualized environments. The solution simplifies device management by automating driver selection and backend communication, reducing manual configuration and improving system efficiency. The method is particularly useful in data centers and cloud computing environments where multiple devices must be managed through a single I/O adapter.
15. The method of claim 14 , wherein determining the frontend driver based on whether the I/O adapter device supports SIROV comprises: determining the frontend driver to be a para-virtualized (PV) frontend driver based on the I/O adapter device supports SIROV.
This invention relates to input/output (I/O) virtualization in computing systems, specifically addressing the selection of an appropriate frontend driver for an I/O adapter device based on its support for Single Root I/O Virtualization (SR-IOV). SR-IOV is a hardware-based virtualization technology that allows a single physical I/O device to be shared among multiple virtual machines (VMs) with near-native performance. The challenge is efficiently determining the optimal frontend driver for the I/O adapter device to ensure compatibility and performance. The method involves determining whether the I/O adapter device supports SR-IOV. If it does, the frontend driver is selected to be a para-virtualized (PV) frontend driver. A PV frontend driver is a software-based driver that enables virtual machines to communicate with the I/O adapter device through a virtualized interface, rather than directly accessing the hardware. This approach leverages the SR-IOV capability of the I/O adapter device to provide efficient and secure I/O operations while maintaining compatibility with virtualized environments. The selection of the PV frontend driver ensures that the I/O operations are optimized for performance and security, particularly in scenarios where the I/O adapter device supports SR-IOV. This method enhances the flexibility and efficiency of I/O virtualization in modern computing systems.
16. The method of claim 15 , wherein the first emulated backend driver and the second emulated backend driver correspond to, respectively, a first virtual function and a second virtual function of the I/O adapter device.
This invention relates to virtualized input/output (I/O) systems, specifically addressing the challenge of efficiently managing multiple virtual functions (VFs) within a single I/O adapter device in a virtualized computing environment. The method involves emulating backend drivers for these VFs to enable seamless communication between virtual machines (VMs) and the physical I/O adapter. The emulated drivers abstract the hardware-specific details, allowing VMs to interact with the I/O adapter as if it were a native device. The first emulated backend driver corresponds to a first virtual function of the I/O adapter, while the second emulated backend driver corresponds to a second virtual function. This separation ensures that each VM or virtualized workload can independently utilize its assigned VF without interference, improving resource isolation and performance. The method may also include dynamically configuring or reconfiguring the emulated drivers based on workload demands or changes in the virtualized environment. The solution enhances scalability and flexibility in virtualized systems by enabling efficient management of multiple VFs within a single I/O adapter, reducing overhead and improving overall system efficiency.
17. The method of claim 15 , wherein the PV frontend driver comprises at least one of: a “blkdev” compliant driver, a “scsidev” compliant driver, or a “netdev” compliant driver.
A method for managing data storage in a computing system involves a photovoltaic (PV) frontend driver that interfaces with different types of storage devices. The driver is designed to handle data storage operations by supporting at least one of three standard driver interfaces: a block device (blkdev) compliant driver, a SCSI device (scsidev) compliant driver, or a network device (netdev) compliant driver. The blkdev driver allows the system to interact with block storage devices, such as hard drives or SSDs, by managing data in fixed-size blocks. The scsidev driver enables communication with SCSI-compatible devices, facilitating high-speed data transfer and storage operations. The netdev driver supports network-attached storage (NAS) or other network-based storage solutions, allowing data to be accessed and managed over a network. This method ensures compatibility with various storage technologies, improving flexibility and efficiency in data storage management. The PV frontend driver abstracts the underlying storage hardware, providing a unified interface for the system to perform read, write, and other storage operations seamlessly. This approach simplifies integration with different storage backends while maintaining performance and reliability.
18. The method of claim 14 , wherein the host device is coupled with the I/O adapter device via a Peripheral Component Interconnect Express (PCIe) bus; and wherein the method further comprises: detecting the I/O adapter device based on a PCIe bus enumeration process.
A method for managing I/O adapter devices in a computing system involves detecting and configuring such devices to optimize performance and resource allocation. The system includes a host device and an I/O adapter device connected via a Peripheral Component Interconnect Express (PCIe) bus. The method detects the I/O adapter device through a PCIe bus enumeration process, which identifies connected devices and their capabilities. This detection enables the host device to establish communication and configure the I/O adapter for tasks such as data transfer, processing, or interfacing with peripheral hardware. The PCIe bus provides high-speed, low-latency communication, ensuring efficient data exchange between the host and the I/O adapter. The method may also include steps to allocate resources, manage interrupts, or handle errors to maintain system stability and performance. By leveraging PCIe enumeration, the system dynamically adapts to connected devices, improving flexibility and scalability in computing environments. This approach is particularly useful in data centers, servers, and high-performance computing systems where reliable and efficient I/O operations are critical.
19. The method of claim 18 , further comprising, based on detecting the I/O adapter device: obtaining a device identifier from PCIe configuration space of the I/O adapter device; and determining that the I/O adapter device is coupled with the host device via a software interface of the host device based on the device identifier.
This invention relates to a method for managing input/output (I/O) adapter devices in a computing system, specifically addressing the challenge of accurately identifying and verifying the connection status of I/O adapters to a host device. The method involves detecting an I/O adapter device and, upon detection, retrieving a device identifier from the PCIe (Peripheral Component Interconnect Express) configuration space of the adapter. The system then determines whether the adapter is properly coupled to the host device by evaluating the device identifier through a software interface of the host. This process ensures that the adapter is correctly recognized and integrated into the host system, preventing misconfiguration or communication errors. The method may also include steps to verify the adapter's operational state, such as checking for proper initialization or detecting any hardware or software conflicts. By leveraging PCIe configuration space data, the system can reliably confirm the adapter's presence and functionality, improving system stability and performance. This approach is particularly useful in environments where multiple I/O adapters are dynamically added or removed, ensuring seamless integration and error-free operation.
20. The method of claim 19 , wherein the software interface is a Virtualization Input/Output (VirtIO) compliant interface; wherein the device identifier is a VirtIO device identifier; and wherein the I/O adapter device is determined to be coupled with the host device via the VirtIO-compliant interface based on the VirtIO device identifier.
This invention relates to virtualized computing environments, specifically improving input/output (I/O) operations between a host device and an I/O adapter device. The problem addressed is the need for efficient and reliable communication between virtualized systems and physical or virtual I/O devices, particularly in environments where virtualization standards like VirtIO are used. The method involves detecting and managing I/O adapter devices in a virtualized system. A software interface, specifically a VirtIO-compliant interface, is used to facilitate communication between the host device and the I/O adapter. The system identifies the I/O adapter by its VirtIO device identifier, which confirms that the adapter is coupled to the host via the VirtIO-compliant interface. This ensures compatibility and proper functionality within the virtualized environment. The method includes steps to verify the presence and configuration of the I/O adapter, ensuring it is correctly recognized and accessible through the VirtIO interface. This approach enhances performance and reliability in virtualized systems by leveraging standardized virtualization interfaces, reducing the complexity of device management and improving interoperability. The solution is particularly useful in cloud computing, virtual machines, and containerized environments where efficient I/O operations are critical.
Unknown
April 14, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.