Patent application number | Description | Published |
20080216085 | System and Method for Virtual Adapter Resource Allocation - A method, computer program product, and distributed data processing system that enables host software or firmware to allocate virtual resources to one or more system images from a single physical I/O adapter, such as a PCI, PCI-X, or PCI-E adapter, is provided. Adapter resource groups are assigned to respective system images. An adapter resource group is exclusively available to the system image to which the adapter resource group assignment was made. Assignment of adapter resource groups may be made per a relative resource assignment or an absolute resource assignment. In another embodiment, adapter resource groups are assigned to system images on a first come, first served basis. | 09-04-2008 |
20090007118 | Native Virtualization on a Partially Trusted Adapter Using PCI Host Bus, Device, and Function Number for Identification - A mechanism that allows a single physical I/O adapter, such as a PCI, PCI-X, or PCI-E adapter, to perform I/O transactions using the PCI host bus, device, and function numbers to validate that an I/O transaction originated from the proper host is provided. Additionally, a method for facilitating identification of a transaction source partition is provided. An input/output transaction that is directed to a physical adapter is originated from a system image of a plurality of system images. The host data processing system adds an identifier of the system image to the input/output transaction. The input/output transaction is then conveyed to the physical adapter for processing of the input/output transaction. | 01-01-2009 |
20090204960 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR ACCESSING A MEMORY SPACE ALLOCATED TO A VIRTUAL MACHINE - A method for accessing a memory space allocated to a virtual machine, the method includes: receiving a request from the virtual machine to generate, for another virtual machine, a memory credential associated with a certain memory space allocated to the virtual machine; generating, in response to the request, a cryptographically signed credential; sending the cryptographically signed credential to the other virtual machine; receiving from the other virtual machine an access request to access at least one memory entry within the certain memory space; and accessing the at least one memory entry, if the access request complies with the memory credential. | 08-13-2009 |
20090216998 | Apparatus for and Method of Processor to Processor Communication for Coprocessor Functionality Activation - A novel and useful mechanism enabling a processor in a multiprocessor complex to function as a coprocessor to execute a specific function. The method includes a mechanism for activating a coprocessor to function as a coprocessor as well as a mechanism to execute a coprocessor request on the system. The present invention also provides a mechanism for efficient processor to processor communication for processors coupled to a common bus. Overall system performance is enhanced by significantly reducing the use of hardware interrupts for processor to processor communication. | 08-27-2009 |
20090271802 | APPLICATION AND VERB RESOURCE MANAGEMENT - A computer program product is provided. The product including a computer readable storage medium including computer readable program code for controlling access to computer memory. the computer readable program code including first instructions for communicating work queue elements with an application layer and with a verb layer, wherein the application layer and the verb layer each may request a completion notification to determine whether a work queue elements with an application layer and with a verb layer, wherein the application layer and the verb layer each may request a completion notification to determine whether a work queue element has been completed, and second instructions for indicating completion of the work queue elemens in response to the layer requesting completion notification, wherein both the application layer and the verb layer are capable of checking if at least one of the work queue elements is completed, independently of each other, such that the application layer does not interface with the verb layer to determine completion status of the work queue elements; wherein communicating work queue elements includes communicating a consumer work request comprising an application request bit, adapted to indicate an application request for completion notification, and a verb request bit, adapted to indicate a verb request for completion notification; wherein if the application request bit is set, then a completion queue element is provided that indicates completion of the communicated consumer work request and if the verb request bit is set, then a status field of the communicated work queue element is updated to indicate completion of the communicated work queue element; wherein the application layer queries the completion queue element to find out if the communicated consumer work request is completed and the verb layer queries the status field of the communicated work queue element to find out if the communicated work queue element is completed, and wherein the work queue elements are stored in a work queue and the completion queue elements are stored in a completion queue such that the work queue and the completion queue elements are located in different address spaces, each independently accessible to the application layer and the verb layer. | 10-29-2009 |
20090276571 | Enhanced Direct Memory Access - A method for facilitating direct memory access in a computing system in response to a request to transfer data is provided. The method comprises selecting a thread for transferring the data, wherein the thread executes on a processing core within the computing system; providing the thread with the request, wherein the request comprises information for carrying out a data transfer; and transferring the data according to the request. The method may further comprise: coordinating the request with a memory management unit, such that virtual addresses may be used to transfer data; invalidating a cache line associated with the source address or flushing a cache line associated with the destination address, if requested. Multiple threads can be selected to transfer data based on their proximity to the destination address. | 11-05-2009 |
20100049883 | METHOD AND SYSTEM FOR MEMORY ADDRESS TRANSLATION AND PINNING - A method and system for memory address translation and pinning are provided. The method includes attaching a memory address space identifier to a direct memory access (DMA) request, the DMA request is sent by a consumer and using a virtual address in a given address space. The method further includes looking up for the memory address space identifier to find a translation of the virtual address in the given address space used in the DMA request to a physical page frame. Provided that the physical page frame is found, pinning the physical page frame as long as the DMA request is in progress to prevent an unmapping operation of said virtual address in said given address space, and completing the DMA request, wherein the steps of attaching, looking up and pinning are centrally controlled by a host gateway. | 02-25-2010 |
20100064286 | DATA AFFINITY BASED SCHEME FOR MAPPING CONNECTIONS TO CPUS IN I/O ADAPTER - A method, system and computer program product is disclosed for scheduling data packets in a multi-processor system comprising a plurality of processor units and a multitude of multicast groups. The method comprises associating one of the processor units with each of the multicast groups, receiving a multitude of data packets from the multicast groups, and scheduling all of the data packets received from each of the multicast groups for processing by the one of the processor units associated with said each of the multicast groups. In one embodiment, scheduling is based on affinity of both transmit and received processing for multiple connections to a processor unit. In another embodiment, a system call is provided for transmitting the same data over multiple sockets. Additional system calls may be used for building multicast group socket lists. | 03-11-2010 |
20100169494 | Virtualizing Sockets to Enable the Migration of a System Environment - Techniques for maintaining connectivity between a remote application stored on a remote device and an application being executed in a system environment, wherein the system environment is migrated from a first device to a second device, are provided. A first connection between the remote application stored on the remote device and the application being executed in the system environment stored on the first device is established via a first communication over a first negotiation channel. The first negotiation channel connects a first socket layer interface linked to the application being executed in the system environment to a second socket layer interface linked to the remote application. The first connection between the remote application and the application being executed in the system environment is disconnected for migration of the system environment from the first device to the second device. Disconnecting the first connection is coordinated via the first negotiation channel. A second connection between the remote application stored on the remote device and an application being executed in the migrated system environment stored on the second device is established via a second communication over a second negotiation channel. The second negotiation channel connects a third socket layer interface linked to the application being executed in the migrated system environment to the second socket layer interface linked to the remote application. | 07-01-2010 |
20120159486 | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR ACCESSING A MEMORY SPACE ALLOCATED TO A VIRTUAL MACHINE - A method for accessing a memory space allocated to a virtual machine, the method includes: receiving a request from the virtual machine to generate, for another virtual machine, a memory credential associated with a certain memory space allocated to the virtual machine; generating, in response to the request, a cryptographically signed credential; sending the cryptographically signed credential to the other virtual machine; receiving from the other virtual machine an access request to access at least one memory entry within the certain memory space; and accessing the at least one memory entry, if the access request complies with the memory credential. | 06-21-2012 |
20130051222 | IMPLEMENTING REDUNDANCY ON INFINIBAND (IB) NETWORKS - Methods, systems, and physical computer-readable storage medium are provided to improve efficiency of systems operating on internet protocol (IP) over Infiniband (IB) networks. In an embodiment, by way of example only, a method is provided for implementing redundancy for IB networks. The method includes detecting a failure at a first source port of a source node having a plurality of source ports, selecting a new source port, sending an address resolution protocol (ARP) message to one or more other nodes in communication with the source node including an IP address of the source node and IB address of the new source port of the source node, and re-balancing host traffic. | 02-28-2013 |
20130051232 | MANAGING DATA ON INFINIBAND (IB) NETWORKS - Methods, systems, and physical computer-readable storage medium are provided to improve efficiency of systems operating on internet protocol (IP) over Infiniband (IB) networks. A method includes multicasting a first ARP request from a source node, the first ARP request including an IP address of a source port of the source node, and performing load-balancing of host traffic across a plurality of ports of a plurality of nodes by sending a reply from a destination node corresponding to the IP address included in the first ARP request, the reply being sent over the source port to the source node. | 02-28-2013 |
20130170338 | IMPLEMENTING REDUNDANCY ON INFINIBAND (IB) NETWORKS - Method embodiments are provided to improve efficiency of systems operating on internet protocol (IP) over Infiniband (IB) networks. In an embodiment, by way of example only, a method is provided for implementing redundancy for IB networks. The method includes detecting a failure at a first source port of a source node having a plurality of source ports, selecting a new source port, sending an address resolution protocol (ARP) message to one or more other nodes in communication with the source node including an IP address of the source node and IB address of the new source port of the source node, and re-balancing host traffic. | 07-04-2013 |
20130170494 | OPERATING AN INFINIBAND NETWORK HAVING NODES AND AT LEAST ONE IB SWITCH - To improve efficiency of systems operating on internet protocol (IP) over Infiniband (IB) networks, mechanisms are provided for operating a system including a plurality of nodes, each connected to at least one IB switch. A determination is made whether an IP address of a node is included in a first level of a global ARP cache. An IP over IB GUID corresponding to the IP address of the node is identified. A determination is made whether an entry in a second level of the global ARP cache includes the identified IP over IB GUID of the node, and corresponding the IP over IB GUID of the node to IB address information of the node. | 07-04-2013 |
20130229919 | MANAGING DATA ON INFINIBAND (IB) NETWORKS - Mechanisms are provided to improve efficiency of systems operating on internet protocol (IP) over Infiniband (IB) networks. One mechanism includes multicasting a first ARP request from a source node, the first ARP request including an IP address of a source port of the source node, and performing load-balancing of host traffic across a plurality of ports of a plurality of nodes by sending a reply from a destination node corresponding to the IP address included in the first ARP request, the reply being sent over the source port to the source node. | 09-05-2013 |
20140310244 | ESSENTIAL METADATA REPLICATION - Methods, apparatus and computer program products implement embodiments of the present invention that include defining, in a storage system including receiving, by a storage system, a storage request, and identifying, based on the storage request, one or more storage management units. For each of the storage management units, a master partition table having multiple master entries and one or more backup partition tables is identified, each of the backup partition tables having backup entries in a one-to-one-correspondence with the master entries. The storage request is performed, and upon the storage request being performed, any changes to essential metadata in the one or more master partition tables are identified, and the identified changes are stored to the essential metadata in the one or more backup partition tables. | 10-16-2014 |
20140310456 | FINE-GRAINED CONTROL OF DATA PLACEMENT - Methods, apparatus and computer program products implement embodiments of the present invention that include defining, in a storage system including multiple storage devices, multiple redundant array of independent disks (RAID) configurations for data stored on the storage devices. A first one of the multiple RAID configurations is assigned to a first entry in a partition table having multiple entries, and a second one of the multiple RAID configurations is assigned to a second entry in the partition table, the second one of the multiple RAID configurations independent from the first one of the multiple RAID configurations. | 10-16-2014 |
20140310457 | LOGICAL REGION ALLOCATION WITH IMMEDIATE AVAILABILITY - Methods, apparatus and computer program products implement embodiments of the present invention that enable a computer to receive a request to allocate one or more logical regions to a logical volume, and to verify, in response to the request, an availability on one or more storage devices of a number of physical regions corresponding to the one or more requested logical regions. In response to the verification, the one or more logical regions can be activated for write operations to a cache, so that any data written to the logical regions is stored to the cache. Subsequent to activating the one or more logical regions, one or more actual physical regions can be allocated to the logical volume. Upon allocating the one or more actual physical regions, any data stored in the cache can be destaged to the one or more actual physical regions. | 10-16-2014 |
20140310464 | PARALLEL DESTAGING WITH REPLICATED CACHE PINNING - Methods, apparatus and computer program products implement embodiments of the present invention that include identifying non-destaged first data in a write cache. Upon detecting second data in a master read cache, the second data is copied the second data to one or more backup read caches, and the second data is pinned to the master and the backup read caches. Using the first data stored in the write cache and the second data stored in the master read cache, one or more parity values are calculated, and the first data and the one or more parity values are destaged. | 10-16-2014 |
20140310465 | BACKUP CACHE WITH IMMEDIATE AVAILABILITY - Methods, apparatus and computer program products implement embodiments of the present invention that include defining, in a storage system including receiving, by a processor, metadata describing a first cache configured as a master cache having non-destaged data, and defining, using the received metadata, a second cache configured as a backup cache for the master cache. Subsequent to defining the second cache, the non-destaged data is retrieved from the first cache, and the non-destaged data is stored to the second cache. | 10-16-2014 |
20140310489 | MANAGING METADATA AND DATA FOR A LOGICAL VOLUME IN A DISTRIBUTED AND DECLUSTERED SYSTEM - Methods, apparatus and computer program products for a distributed system include dividing logical volume data into data subsets, and defining at least one distributedly storage configuration for the logical volume. Metadata for the logical volume is written to a first set of first metadata tables, and the first set of first metadata tables is divided into metadata subsets having a one-to-one correspondence with the data subsets. The metadata subsets are distributed among the multiple digital information devices, and the metadata is copied from the first set of first metadata tables to a second set of corresponding second metadata tables in a one-to-one correspondence with the first metadata tables. The second metadata tables are distributed among the multiple digital information devices, and upon modifying the metadata in a one of the first metadata tables while processing a storage request, the corresponding second metadata table is revised with the updated metadata. | 10-16-2014 |
20140310557 | DESTAGING CACHE DATA USING A DISTRIBUTED FREEZER - Methods, apparatus and computer program products implement embodiments of the present invention that enable digital information devices having respective storage devices and memories to distributedly store, for a logical volume, data and first and second parity values across corresponding regions of the storage devices. Freezers having a one-to-one correspondence with the storage devices are distributedly stored in the memories. Upon detecting, in a cache, updated data for one or more first regions on the storage devices, existing data from the one or more first regions, and additional data for parity calculations are retrieved from one or more corresponding second regions on the storage devices, and first and the second parity values are calculated using the updated data, the existing data and the additional data. The updated data and the calculated first and second parity values are stored to the freezers, and then destaged from the freezers to the storage devices. | 10-16-2014 |
20140334290 | IMPLEMENTING REDUNDANCY ON INFINIBAND (IB) NETWORKS - Methods, systems, and physical computer-readable storage medium are provided to improve efficiency of systems operating on internet protocol (IP) over Infiniband (IB) networks. In an embodiment, by way of example only, a method is provided for implementing redundancy for IB networks. The method includes detecting a failure at a first source port of a source node having a plurality of source ports, selecting a new source port, sending an address resolution protocol (ARP) message to one or more other nodes in communication with the source node including an IP address of the source node and IB address of the new source port of the source node, and re-balancing host traffic. | 11-13-2014 |