Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method of dynamic I/O translation table allocation for Single Root Input Output Virtualization (SR-IOV) enabled I/O adapters, the method comprising: receiving an instruction to transition an SR-IOV adapter to shared mode, wherein the SR-IOV adapter in shared mode provides, to multiple logical partitions, access to the SR-IOV adapter; in response to receiving the instruction to transition the SR-IOV adapter to shared mode, determining, using a configuration file for the SR-IOV adapter, an amount of memory that will be required for storing an I/O translation table for use by the SR-IOV adapter after a transition to shared mode, wherein the determining occurs before transitioning the SR-IOV adapter to shared mode; comparing the amount of memory that will be required for storing the I/O translation table to a total amount of memory currently allocated for use by the SR-IOV adapter; based on the comparing the amount of memory that will be required for storing the I/O translation table to the total amount of memory currently allocated for use by the SR-IOV adapter, determining that the memory currently allocated for use by the SR-IOV adapter is insufficient to store the I/O translation table and determining an additional amount of memory required to store the I/O translation table; and allocating, at runtime, the additional amount of memory for storing the I/O translation table.
Single Root Input Output Virtualization (SR-IOV) enables I/O adapters to be shared among multiple logical partitions in a computing system. A challenge in SR-IOV implementation is efficiently managing memory allocation for I/O translation tables, which are essential for mapping virtual resources to physical resources. If insufficient memory is allocated, the SR-IOV adapter cannot function properly in shared mode. This invention addresses the problem by dynamically allocating memory for I/O translation tables before transitioning an SR-IOV adapter to shared mode. The method involves receiving an instruction to transition the adapter to shared mode, where it provides access to multiple logical partitions. In response, the system uses a configuration file to determine the memory required for the I/O translation table. This required memory is compared to the currently allocated memory for the adapter. If the existing memory is insufficient, the system calculates the additional memory needed and allocates it at runtime. This ensures that the SR-IOV adapter has the necessary resources to operate in shared mode without performance degradation or errors. The dynamic allocation prevents over-provisioning or under-provisioning of memory, optimizing system efficiency.
2. The method of claim 1 , wherein allocating, at runtime, the additional amount of memory for storing the I/O translation table comprises: determining that the additional amount of memory is available from a hypervisor; and allocating, at runtime, memory from the hypervisor for storing the I/O translation table.
This invention relates to memory management in virtualized computing environments, specifically addressing the dynamic allocation of memory for I/O translation tables in systems managed by a hypervisor. The problem solved is the efficient and flexible allocation of memory resources to support I/O operations in virtual machines (VMs) without pre-allocating excessive memory or causing performance bottlenecks. The method involves dynamically allocating additional memory for an I/O translation table at runtime. This includes determining whether the required additional memory is available from the hypervisor, which manages the physical resources of the host system. If available, the hypervisor allocates the necessary memory for storing the I/O translation table, which maps virtual I/O addresses to physical I/O addresses, enabling efficient data transfer between virtual and physical devices. This dynamic allocation ensures that memory is used optimally, reducing waste and improving system performance by avoiding static memory reservations that may not be fully utilized. The approach is particularly useful in environments where I/O operations are frequent and memory demands fluctuate, such as in cloud computing or high-performance virtualized systems. By leveraging the hypervisor's resource management capabilities, the method ensures that VMs can scale their I/O translation capabilities on-demand without manual intervention or pre-configuration. This enhances flexibility and resource utilization in virtualized environments.
3. The method of claim 1 , wherein allocating, at runtime, the additional amount of memory for storing the I/O translation table comprises: determining that the additional amount of memory is unavailable from a hypervisor; determining that the additional amount of memory is available from unallocated system memory; and allocating, at runtime, an amount of memory to the hypervisor to satisfy the additional amount of memory required to store the I/O translation table.
This invention relates to memory management in virtualized computing environments, specifically addressing the challenge of dynamically allocating memory for I/O translation tables when insufficient memory is available from the hypervisor. In virtualized systems, I/O translation tables are used to map virtual device addresses to physical addresses, enabling efficient input/output operations. However, when the hypervisor lacks sufficient memory to store these tables, performance bottlenecks or failures can occur. The invention provides a method to resolve this issue by dynamically reallocating memory at runtime. If the hypervisor cannot provide the required additional memory, the system checks for unallocated system memory. If available, the system allocates a portion of this unallocated memory to the hypervisor to satisfy the memory needs of the I/O translation table. This ensures that the I/O translation table can be stored without disrupting system operations, maintaining performance and reliability in virtualized environments. The approach avoids dependency on pre-allocated memory, allowing flexible and efficient memory utilization during runtime.
4. The method of claim 1 , further comprising: instantiating, at runtime, the I/O translation table using the allocated memory from a hypervisor; and providing, to the multiple logical partitions, access to the SR-IOV adapter using the I/O translation table stored in the allocated memory from the hypervisor.
This invention relates to virtualized computing environments, specifically improving input/output (I/O) performance in systems using Single Root I/O Virtualization (SR-IOV) adapters. The problem addressed is the inefficiency and complexity of managing I/O operations across multiple logical partitions (LPARs) in a hypervisor-managed system, where direct access to SR-IOV adapters is often restricted or requires additional overhead. The solution involves dynamically creating and managing an I/O translation table at runtime, which is stored in memory allocated by the hypervisor. This table enables efficient routing of I/O operations between the SR-IOV adapter and the multiple LPARs. The hypervisor allocates memory for the table, and the system instantiates the table in this allocated memory. The LPARs are then granted access to the SR-IOV adapter through this table, allowing direct and optimized I/O operations without requiring additional translation layers or hypervisor intervention for each transaction. This reduces latency and improves performance by minimizing overhead while maintaining isolation between partitions. The approach ensures secure and scalable access to SR-IOV resources in virtualized environments.
5. The method of claim 1 , wherein receiving the instruction to transition the SR-IOV adapter to shared mode comprises receiving an instruction to transition the SR-IOV adapter from dedicated to shared mode, wherein the SR-IOV adapter in dedicated mode provides, to a single entity, access to the SR-IOV adapter.
This invention relates to Single Root I/O Virtualization (SR-IOV) adapters in computing systems, specifically addressing the transition between dedicated and shared modes of operation. SR-IOV enables a single physical adapter to be partitioned into multiple virtual functions (VFs), allowing multiple virtual machines (VMs) or processes to share hardware resources efficiently. The problem solved is the need to dynamically switch an SR-IOV adapter from dedicated mode, where it is exclusively assigned to a single entity, to shared mode, where its virtual functions can be allocated to multiple entities. In dedicated mode, the adapter provides full access to a single entity, such as a VM or application, ensuring high performance and isolation. Transitioning to shared mode involves reconfiguring the adapter to enable multiple entities to access its virtual functions, improving resource utilization in virtualized environments. The method includes receiving an instruction to switch the adapter from dedicated to shared mode, followed by reconfiguring the adapter to allow shared access while maintaining performance and security. This transition is critical for workload balancing and resource optimization in data centers and cloud computing environments. The invention ensures seamless mode switching without disrupting ongoing operations, enhancing flexibility in resource management.
6. The method of claim 1 , wherein determining, using the configuration file for the SR-IOV adapter, the amount of memory that will be required for storing the I/O translation table comprises retrieving the configuration file via a service processor.
The invention relates to memory management in Single Root I/O Virtualization (SR-IOV) adapters, addressing the challenge of efficiently determining the required memory for storing I/O translation tables. SR-IOV enables a single physical adapter to be shared among multiple virtual machines (VMs), but managing memory resources for the associated I/O translation tables is complex. The invention provides a method to accurately calculate the memory needed by retrieving a configuration file from a service processor. This configuration file contains parameters that define the SR-IOV adapter's capabilities, such as the number of virtual functions (VFs) supported, the size of each VF's address space, and other relevant settings. By analyzing these parameters, the system determines the exact memory allocation required for the I/O translation table, ensuring optimal resource utilization and preventing memory shortages. The service processor acts as a centralized management interface, providing access to the configuration file and enabling dynamic adjustments based on changing workload demands. This approach improves system efficiency by avoiding over-allocation or under-allocation of memory resources, particularly in virtualized environments where multiple VMs share the same physical adapter. The method ensures that the I/O translation table can be stored without errors or performance degradation, maintaining seamless data transfer between VMs and the physical adapter.
7. The method of claim 1 , wherein the I/O translation table is used by a hypervisor to validate direct memory access transactions between a logical partition and the SR-IOV adapter.
A system and method for managing direct memory access (DMA) transactions in a virtualized computing environment, particularly involving Single Root I/O Virtualization (SR-IOV) adapters. The technology addresses the challenge of ensuring secure and efficient DMA operations between logical partitions (LPARs) and SR-IOV adapters in a hypervisor-managed system. The hypervisor uses an I/O translation table to validate DMA transactions, preventing unauthorized or incorrect memory access that could compromise system security or stability. The I/O translation table maps virtual addresses used by LPARs to physical memory addresses, ensuring that DMA transactions only access permitted memory regions. This validation process enhances security by preventing LPARs from accessing memory outside their allocated space and improves performance by reducing the overhead of unnecessary or invalid DMA operations. The system may also include mechanisms for dynamically updating the I/O translation table to accommodate changes in memory allocation or partition configurations. The overall solution ensures reliable and secure DMA operations in virtualized environments where multiple LPARs share access to SR-IOV adapters.
8. An apparatus for dynamic I/O translation table allocation for Single Root Input Output Virtualization (SR-IOV) enabled I/O adapters, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: receiving an instruction to transition an SR-IOV adapter to shared mode, wherein the SR-IOV adapter in shared mode provides, to multiple logical partitions, access to the SR-IOV adapter; in response to receiving the instruction to transition the SR-IOV adapter to shared mode, determining, using a configuration file for the SR-IOV adapter, an amount of memory that will be required for storing an I/O translation table for use by the SR-IOV adapter after a transition to shared mode, wherein the determining occurs before transitioning the SR-IOV adapter to shared mode; comparing the amount of memory that will be required for storing the I/O translation table to a total amount of memory currently allocated for use by the SR-IOV adapter; based on the comparing the amount of memory that will be required for storing the I/O translation table to the total amount of memory currently allocated for use by the SR-IOV adapter, determining that the memory currently allocated for use by the SR-IOV adapter is insufficient to store the I/O translation table and determining an additional amount of memory required to store the I/O translation table; and allocating, at runtime, the additional amount of memory for storing the I/O translation table.
The invention relates to dynamic memory allocation for Single Root Input Output Virtualization (SR-IOV) enabled I/O adapters. SR-IOV allows multiple logical partitions to share access to a single physical I/O adapter, but this requires an I/O translation table to manage virtual-to-physical address mappings. A challenge arises when transitioning an SR-IOV adapter to shared mode, as the existing memory allocation may be insufficient for the I/O translation table, leading to potential performance degradation or failures. The apparatus includes a computer processor and memory containing instructions to dynamically allocate memory for the I/O translation table. When an instruction is received to transition the SR-IOV adapter to shared mode, the system first determines the required memory for the I/O translation table using a configuration file. It then compares this requirement against the currently allocated memory. If insufficient, the system calculates the additional memory needed and allocates it at runtime before completing the transition. This ensures the adapter has adequate memory for the translation table, preventing resource shortages during shared mode operation. The solution improves reliability and performance by dynamically adjusting memory allocation based on actual needs.
9. The apparatus of claim 8 , wherein allocating, at runtime, the additional amount of memory for storing the I/O translation table comprises: determining that the additional amount of memory is available from a hypervisor; and allocating, at runtime, memory from the hypervisor for storing the I/O translation table.
This invention relates to memory management in virtualized computing environments, specifically addressing the dynamic allocation of memory for I/O translation tables in systems where a hypervisor manages virtual machine resources. The problem solved is the inefficient or inflexible allocation of memory for I/O translation tables, which can lead to performance bottlenecks or resource contention in virtualized systems. The apparatus includes a hypervisor that manages memory allocation for virtual machines. The hypervisor determines the availability of additional memory for storing an I/O translation table, which is used to map virtual I/O addresses to physical I/O addresses. If the hypervisor confirms that additional memory is available, it dynamically allocates this memory at runtime for the I/O translation table. This ensures that the I/O translation table can be expanded or adjusted as needed without pre-allocating excessive memory, optimizing resource usage and performance. The apparatus also includes a virtual machine that utilizes the allocated memory for the I/O translation table. The hypervisor monitors memory availability and dynamically adjusts allocations based on runtime conditions, preventing memory waste or shortages. This approach improves efficiency in virtualized environments by ensuring that I/O translation tables have sufficient memory while avoiding over-provisioning. The invention is particularly useful in systems where I/O operations are frequent or where memory resources are constrained.
10. The apparatus of claim 8 , wherein allocating, at runtime, the additional amount of memory for storing the I/O translation table comprises: determining that the additional amount of memory is unavailable from a hypervisor; determining that the additional amount of memory is available from unallocated system memory; and allocating, at runtime, an amount of memory to the hypervisor to satisfy the additional amount of memory required to store the I/O translation table.
This invention relates to memory management in virtualized computing environments, specifically addressing the challenge of dynamically allocating memory for I/O translation tables when the hypervisor lacks sufficient resources. In virtualized systems, I/O translation tables are critical for mapping virtual device addresses to physical addresses, but memory constraints in the hypervisor can disrupt this process. The invention provides a solution by detecting when the hypervisor cannot provide the required additional memory for the I/O translation table. If unallocated system memory is available, the system dynamically allocates a portion of this memory to the hypervisor to fulfill the memory requirement. This ensures that the I/O translation table can be stored without interrupting system operations. The approach avoids reliance on pre-allocated hypervisor memory, improving flexibility and efficiency in memory management for virtualized environments. The invention is particularly useful in scenarios where memory demands fluctuate, such as during peak I/O operations or when additional virtual devices are introduced. By leveraging unallocated system memory, the system maintains performance and stability without manual intervention.
11. The apparatus of claim 8 , wherein the computer program instructions further cause the apparatus to carry out the steps of: instantiating, at runtime, the I/O translation table using the allocated memory from a hypervisor; and providing, to the multiple logical partitions, access to the SR-IOV adapter using the I/O translation table stored in the allocated memory from the hypervisor.
This invention relates to virtualized computing environments, specifically improving input/output (I/O) performance in systems using Single Root I/O Virtualization (SR-IOV) adapters. The problem addressed is the inefficiency and complexity of managing I/O operations across multiple logical partitions (LPARs) in a hypervisor-managed system, where direct access to SR-IOV adapters is often restricted or requires additional overhead. The solution involves a method for dynamically allocating and managing memory for an I/O translation table within a hypervisor. At runtime, the system instantiates this table in memory allocated by the hypervisor, enabling efficient translation of I/O operations between the SR-IOV adapter and the multiple LPARs. The translation table facilitates direct access to the SR-IOV adapter for each LPAR, reducing latency and improving performance by eliminating the need for hypervisor intervention in every I/O operation. The hypervisor manages the memory allocation, ensuring isolation and security while allowing flexible configuration of the SR-IOV adapter's virtual functions across different LPARs. This approach optimizes resource utilization and simplifies the management of I/O virtualization in large-scale virtualized environments.
12. The apparatus of claim 8 , wherein receiving the instruction to transition the SR-IOV adapter to shared mode comprises receiving an instruction to transition the SR-IOV adapter from dedicated to shared mode, wherein the SR-TOY adapter in dedicated mode provides, to a single entity, access to the SR-IOV adapter.
Single Root I/O Virtualization (SR-IOV) adapters enable multiple virtual machines (VMs) to share a single physical network adapter, improving resource utilization in virtualized environments. A challenge arises when transitioning between dedicated and shared modes, where dedicated mode restricts adapter access to a single entity (e.g., a VM or hypervisor), while shared mode allows multiple entities to access the adapter. This transition must be managed efficiently to avoid disruptions and ensure seamless operation. The invention describes an apparatus for transitioning an SR-IOV adapter from dedicated to shared mode. In dedicated mode, the adapter provides exclusive access to a single entity, optimizing performance for that entity. When an instruction is received to switch to shared mode, the apparatus facilitates the transition, enabling multiple entities to share the adapter. This transition may involve reconfiguring virtual functions (VFs) or adjusting resource allocations to support concurrent access. The apparatus ensures that the transition is performed without service interruptions, maintaining data integrity and minimizing latency. This solution is particularly useful in cloud computing and virtualized data centers where dynamic resource allocation is critical. The invention improves flexibility and efficiency in managing SR-IOV adapters across different operational modes.
13. The apparatus of claim 8 , wherein determining, using the configuration file for the SR-IOV adapter, the amount of memory that will be required for storing the I/O translation table comprises retrieving the configuration file via a service processor.
The invention relates to memory management in virtualized computing environments, specifically for Single Root I/O Virtualization (SR-IOV) adapters. SR-IOV enables a single physical adapter to be shared among multiple virtual machines (VMs), but this requires an I/O translation table to map virtual functions to physical resources. The challenge is accurately determining the memory required for this table to avoid over-allocation or under-allocation, which can lead to performance issues or resource waste. The apparatus includes a service processor that retrieves a configuration file for the SR-IOV adapter. This configuration file contains parameters needed to calculate the memory required for the I/O translation table. The service processor uses these parameters to determine the exact memory allocation, ensuring efficient resource utilization. The configuration file may include details such as the number of virtual functions, memory mappings, and other adapter-specific settings. By dynamically retrieving this information, the system avoids static assumptions and adapts to different hardware configurations. This approach improves system reliability and performance by preventing memory shortages or excessive allocations. The solution is particularly useful in data centers and cloud environments where SR-IOV is widely deployed to optimize hardware utilization.
14. The apparatus of claim 8 , wherein the I/O translation table is used by a hypervisor to validate direct memory access transactions between a logical partition and the SR-IOV adapter.
This invention relates to virtualized computing environments, specifically addressing the challenge of securely managing direct memory access (DMA) transactions between logical partitions and single-root I/O virtualization (SR-IOV) adapters. In virtualized systems, multiple logical partitions (LPARs) share physical hardware resources, including I/O adapters. SR-IOV enables efficient sharing of a single physical adapter by creating multiple virtual functions (VFs) that appear as independent devices to the LPARs. However, ensuring secure and correct DMA transactions between LPARs and these VFs is critical to prevent unauthorized memory access or system instability. The invention describes an apparatus that includes an I/O translation table used by a hypervisor to validate DMA transactions. The I/O translation table maps memory addresses used by the SR-IOV adapter to the correct memory regions assigned to the requesting LPAR. The hypervisor enforces access control by checking the I/O translation table before allowing a DMA transaction to proceed. This ensures that only authorized memory regions are accessed, preventing data corruption or security breaches. The apparatus may also include a memory controller and a DMA engine within the SR-IOV adapter, which work together to process and validate DMA requests. The hypervisor dynamically updates the I/O translation table as LPAR configurations change, maintaining consistent and secure memory access across the system. This solution enhances security and reliability in virtualized environments by enforcing strict access controls on DMA operations.
15. A computer program product for dynamic I/O translation table allocation for Single Root Input Output Virtualization (SR-IOV) enabled I/O adapters, the computer program product disposed upon a non-transitory computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of: receiving an instruction to transition an SR-IOV adapter to shared mode, wherein the SR-IOV adapter in shared mode provides, to multiple logical partitions, access to the SR-IOV adapter; in response to receiving the instruction to transition the SR-IOV adapter to shared mode, determining, using a configuration file for the SR-IOV adapter, an amount of memory that will be required for storing an I/O translation table for use by the SR-IOV adapter after a transition to shared mode, wherein the determining occurs before transitioning the SR-IOV adapter to shared mode; comparing the amount of memory that will be required for storing the I/O translation table to a total amount of memory currently allocated for use by the SR-IOV adapter; based on the comparing the amount of memory that will be required for storing the I/O translation table to the memory currently allocated for use by the SR-IOV adapter, determining that the total amount of memory currently allocated for use by the SR-IOV adapter is insufficient to store the I/O translation table and determining an additional amount of memory required to store the I/O translation table; and allocating, at runtime, the additional amount of memory for storing the I/O translation table.
This invention relates to dynamic memory allocation for Single Root Input Output Virtualization (SR-IOV) enabled I/O adapters in shared mode. SR-IOV allows multiple logical partitions to share a single physical I/O adapter, but this requires an I/O translation table to manage virtual-to-physical address mappings. The problem addressed is the lack of pre-allocation of sufficient memory for the I/O translation table when transitioning an SR-IOV adapter to shared mode, which can lead to runtime errors or performance degradation. The solution involves a computer program product that, when executed, performs several steps. First, it receives an instruction to transition an SR-IOV adapter to shared mode, where the adapter provides access to multiple logical partitions. Before transitioning, the program determines the required memory for the I/O translation table using a configuration file. It then compares this required memory against the currently allocated memory for the adapter. If the current allocation is insufficient, the program calculates the additional memory needed and dynamically allocates it at runtime. This ensures that the I/O translation table has adequate memory before the adapter enters shared mode, preventing runtime failures and improving system reliability. The approach is particularly useful in virtualized environments where SR-IOV adapters are frequently reconfigured.
16. The computer program product of claim 15 , wherein allocating, at runtime, the additional amount of memory for storing the I/O translation table comprises: determining that the additional amount of memory is available from a hypervisor; and allocating, at runtime, memory from the hypervisor for storing the I/O translation table.
This invention relates to memory management in virtualized computing environments, specifically addressing the dynamic allocation of memory for I/O translation tables in systems where a hypervisor manages virtual machines. The problem solved is the efficient and flexible allocation of memory resources to support I/O operations in virtualized systems, ensuring that I/O translation tables, which map virtual addresses to physical addresses, can be expanded or contracted as needed without disrupting system performance. The invention describes a method for dynamically allocating additional memory for an I/O translation table at runtime. This involves determining whether an additional amount of memory is available from the hypervisor, which manages the virtualized environment. If available, the hypervisor allocates the required memory for storing the I/O translation table. This dynamic allocation ensures that the I/O translation table can scale according to the system's needs, improving efficiency and reducing the risk of memory shortages during I/O operations. The approach leverages the hypervisor's control over memory resources to provide a seamless and efficient solution for managing I/O translation tables in virtualized systems.
17. The computer program product of claim 15 , wherein allocating, at runtime, the additional amount of memory for storing the I/O translation table comprises: determining that the additional amount of memory is unavailable from a hypervisor; determining that the additional amount of memory is available from unallocated system memory; and allocating, at runtime, an amount of memory to the hypervisor to satisfy the additional amount of memory required to store the I/O translation table.
This invention relates to memory management in virtualized computing environments, specifically addressing the challenge of dynamically allocating memory for I/O translation tables when the hypervisor lacks sufficient resources. In virtualized systems, I/O translation tables are critical for mapping virtual device addresses to physical addresses, but hypervisors may not always have enough memory to accommodate these tables, leading to performance bottlenecks or failures. The invention provides a solution by dynamically reallocating memory at runtime. When the hypervisor cannot provide the required additional memory for the I/O translation table, the system checks for available unallocated system memory. If found, the system allocates a portion of this unallocated memory to the hypervisor to satisfy the memory demand for the I/O translation table. This approach ensures that I/O operations remain efficient and uninterrupted by dynamically adjusting memory allocation without requiring pre-provisioning or manual intervention. The method leverages runtime checks and flexible memory reallocation to maintain system performance in dynamic workload environments.
18. The computer program product of claim 15 , wherein the computer program instructions further cause the computer to carry out the steps of: instantiating, at runtime, the I/O translation table using the allocated memory from a hypervisor; and providing, to the multiple logical partitions, access to the SR-IOV adapter using the I/O translation table stored in the allocated memory from the hypervisor.
This invention relates to virtualized computing environments, specifically improving input/output (I/O) operations in systems using Single Root I/O Virtualization (SR-IOV) adapters. The problem addressed is the inefficiency and complexity of managing I/O operations across multiple logical partitions (LPARs) in a virtualized system, particularly when using SR-IOV adapters that require direct memory access (DMA) translation. The solution involves a computer program product that enhances I/O virtualization by dynamically managing an I/O translation table at runtime. The system allocates memory from a hypervisor to store this table, which maps virtual addresses used by LPARs to physical addresses in the SR-IOV adapter. This table is instantiated at runtime, allowing the hypervisor to dynamically adjust I/O mappings as needed. The hypervisor then provides LPARs with access to the SR-IOV adapter through this translation table, enabling efficient and secure DMA operations without requiring static pre-configuration. By using the hypervisor-allocated memory for the I/O translation table, the system ensures that the table is centrally managed and can be updated dynamically, improving performance and flexibility in virtualized environments. This approach reduces the overhead of I/O operations and simplifies the management of SR-IOV adapters across multiple LPARs.
19. The computer program product of claim 15 , wherein receiving the instruction to transition the SR-IOV adapter to shared mode comprises receiving an instruction to transition the SR-IOV adapter from dedicated to shared mode, wherein the SR-IOV adapter in dedicated mode provides, to a single entity, access to the SR-IOV adapter.
This invention relates to Single Root I/O Virtualization (SR-IOV) adapters in computing systems, specifically addressing the transition between dedicated and shared modes of operation. SR-IOV enables a single physical adapter to be shared among multiple virtual machines (VMs) or processes, improving resource utilization. The problem solved is the need to dynamically switch an SR-IOV adapter from dedicated mode, where it is exclusively assigned to a single entity, to shared mode, where it can be partitioned and allocated to multiple entities. In dedicated mode, the adapter's resources are fully allocated to one entity, such as a VM or application, ensuring high performance and isolation. Transitioning to shared mode involves reconfiguring the adapter to support multiple virtual functions (VFs), allowing concurrent access by multiple entities. This transition may be triggered by an instruction, such as a command from a hypervisor or management software, to optimize resource allocation based on workload demands. The invention ensures seamless reconfiguration while maintaining system stability and performance. The solution is particularly useful in cloud computing and virtualized environments where dynamic resource allocation is critical.
20. The computer program product of claim 15 , wherein determining, using the configuration file for the SR-IOV adapter, the amount of memory that will be required for storing the I/O translation table comprises retrieving the configuration file via a service processor.
The invention relates to memory management in virtualized computing environments, specifically for Single Root I/O Virtualization (SR-IOV) adapters. SR-IOV enables a single physical I/O device to appear as multiple virtual devices to a hypervisor, improving performance by allowing direct access to hardware. A key challenge is efficiently managing memory for the I/O translation table, which maps virtual functions to physical resources. The invention addresses this by dynamically determining the required memory for the translation table using a configuration file associated with the SR-IOV adapter. The configuration file contains parameters that define the adapter's capabilities and resource requirements. The system retrieves this file via a service processor, which is a dedicated hardware component that monitors and manages system hardware. By accessing the configuration file through the service processor, the system ensures accurate and up-to-date information for memory allocation. This approach optimizes memory usage and prevents resource contention in virtualized environments. The invention also includes methods for parsing the configuration file to extract relevant parameters and calculating the exact memory needed based on the adapter's configuration. This ensures that the translation table can be stored efficiently without over-allocating memory. The solution is particularly useful in data centers and cloud computing environments where multiple virtual machines share physical I/O resources.
Unknown
October 20, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.