Patent classifications
G06F2213/0058
METHOD FOR CONTROLLING EXECUTION OF AN APPLICATION
The invention is a method for controlling execution of an application. The method comprising: installing and activating a software license unit including License terms and a secure repository comprising both an applet and parameters, providing a virtual USB dongle including a command gate, a License validator, a VM controller and a VM engine initially devoid of applet, verifying the License terms and only if the verification of the License terms is successful: loading said applet and parameters to the VM engine and enabling the Command gate, initializing configuration data and secret data in the VM engine by using the parameters stored in the VM engine then exchanging, between the applet and said hardware function driver, USB messages to control execution of said application.
Managing function level reset in an IO virtualization-enabled storage device
A data storage device comprises a non-volatile semiconductor memory device and a solid-state drive controller communicatively coupled to the non-volatile semiconductor memory device, including a function level reset manager. The function level reset manager can receive a function level reset request from a host system, generate a function level reset bitmap based on the function level reset request, and broadcast the function level reset request to a command processing pipeline. The function level reset bitmap can indicate which functions are in a reset state. Further, the function level reset manager can determine which functions are in the reset state and instruct the command processing pipeline to cancel commands associated with the functions in the reset state.
VIRTUALIZING INTERRUPT PRIORITIZATION AND DELIVERY
Embodiments of processors, methods, and systems for virtualizing interrupt prioritization and delivery are disclosed. In one embodiment, a processor includes instruction hardware and execution hardware. The instruction hardware is to receive a plurality of instructions, including a first instruction to transfer the processor from a root mode to a non-root mode for executing guest software in a virtual machine, wherein the processor is to return to the root mode upon the detection of any of a plurality of virtual machine exit events. The execution hardware is to execute the first instruction, execution of the first instruction to include determining a first virtual processor-priority value and storing the first virtual processor-priority value in a virtual copy of a processor-priority field, where the virtual copy of the processor-priority field is a virtual resource corresponding to a physical resource associated with an interrupt controller.
System and Method for Virtualizing Hot-Swappable PCIe Devices for Virtual Machines
A method, computer program product, and computing system for establishing a connection between a virtualization device and a virtual machine infrastructure. The virtualization device may be configured to be communicatively coupled to one or more PCIe devices. A virtual machine may be executed on the virtual machine infrastructure. Control of the virtualization device may be passed through the virtual machine infrastructure to the virtual machine.
Low speed bus interface
Methods, apparatus, and systems for transferring data between a first and second module are provided. In one aspect, a method includes receiving, by a virtual controller register, outbound data; arbitrating, at a virtual arbitrate, the outbound data; transmitting, from the virtual controller register to the master low speed bus (LSB) frame/de-frame, the outbound data; adding, at the master LSB frame/de-frame, identification data to the outbound data to create an outbound data frame; transmitting, from the master LSB frame/de-frame to a slave LSB frame/de-frame, the outbound data frame; parsing, at the slave LSB frame/de-frame, the outbound data frame into parsed outbound data; arbitrating the parsed outbound data; transmitting, from the slave LSB frame/de-frame to the target controller register, the parsed outbound data; and receiving, at a target controller port from the target controller register, the parsed outbound data for transmitting to the slave device.
Encapsulated Accelerator
A data processing system comprising: a host computer system supporting a software entity and a receive queue for the software entity; a network interface device having a controller unit configured to provide a data port for receiving data packets from a network and a data bus interface for connection to a host computer system, the network interface device being connected to the host computer system by means of the data bus interface; and an accelerator module arranged between the controller unit and a network and having a first medium access controller for connection to the network and a second medium access controller coupled to the data port of the controller unit, the accelerator module being configured to: on behalf of the software entity, process incoming data packets received from the network in one or more streams associated with a first set of one or more network endpoints; encapsulate data resulting from said processing in network data packets directed to the software entity; and deliver the network data packets to the data port of the controller unit so as to cause the network data packets to be written to the receive queue of the software entity.
METHOD AND SYSTEM FOR TRANSMITTING DATA USING SMALL COMPUTER SYSTEM INTERFACE (SCSI)
Disclosed herein is a method and Serially Attached SCSI (SAS) controller for transmitting data using SCSI. In an embodiment, a plurality of I/O operations received from a storage unit are fragmented into a plurality of blocks. Further, each of the plurality of blocks are mapped with corresponding memory drives. Thereafter, a reduced number of virtual lanes required for transmitting the plurality of blocks to the corresponding memory drives is estimated. Finally, the reduced number of virtual lanes are created for transmitting the plurality of blocks to the corresponding memory drives. In an embodiment, the present disclosure uses virtual lanes for transmitting data, thereby eliminating requirement of dedicated, physical lanes for transmitting the data. Consequently, according to embodiments of present disclosure, the SAS controller may be configured to simultaneously activate multiple virtual lanes for completing the data transmission, thereby resulting in faster and reliable data transmission.
EMULATED ENDPOINT CONFIGURATION
Techniques for emulating a configuration space by a peripheral device may include receiving a access request, determining that the access request is for an emulated configuration space of the peripheral device, and retrieving an emulated configuration from an emulated configuration space. The access request can then be serviced by using the emulated configuration.
Method, device and computer program product for enabling SR-IOV functions in endpoint device
A method, device and computer program product for enabling a Single Root Input/Output Virtualization (SR-IOV) function in an endpoint device. The method comprises: receiving, at an adapter, a request message from a virtual machine, the request message indicating an operation to be performed on the endpoint device by the virtual machine; parsing the request message to obtain a first request Transaction Layer Packet (TLP); determining whether a type of a first request TLP is a peer-to-peer transmission supported TLP or a peer-to-peer transmission unsupported TLP; in response to determining that the type of the first request TLP is a peer-to-peer transmission supported TLP, generating a second request TLP based on the first request TLP; and sending the second request TLP to the endpoint device. With this solution, the SR-IOV function is enabled in the endpoint device which does not support the SR-IOV function without the need of changing the endpoint device.
Feed Processing
A data processing system comprising: a processing subsystem supporting a plurality of consumers, each consumer being arranged to process messages received into a corresponding receive queue; a network interface device supporting a virtual interface for each of the receive queues; and a hardware accelerator coupled to the processing subsystem by the network interface device and configured to parse one or more streams of data packets received from a network so as to, for each consumer: identify in the data packets messages having one or more of a set of characteristics associated with the consumer; and frame the identified messages in a new stream of data packets addressed to a network endpoint associated with the virtual interface of the consumer so as to cause said new stream of data packets to be delivered into the receive queue of the consumer.