Patent classifications
H04L69/12
Efficient parsing tuned to prevalent packet types
A parsing apparatus includes an interface, a first parser, a second parser and a controller. The interface is configured to receive packets belonging to a plurality of predefined packet types. The first parser is configured to identify any of the packet types. The second parser is configured to identify only a partial subset of the packet types. The controller is configured to receive a packet via the interface, to attempt identifying a packet type of the received packet using the second parser, and in response to detecting that identifying the packet type using the second parser fails, to revert to identify the packet type of the received packet using the first parser.
Efficient parsing tuned to prevalent packet types
A parsing apparatus includes an interface, a first parser, a second parser and a controller. The interface is configured to receive packets belonging to a plurality of predefined packet types. The first parser is configured to identify any of the packet types. The second parser is configured to identify only a partial subset of the packet types. The controller is configured to receive a packet via the interface, to attempt identifying a packet type of the received packet using the second parser, and in response to detecting that identifying the packet type using the second parser fails, to revert to identify the packet type of the received packet using the first parser.
EVENT CONTROLLER IN A DEVICE
Examples described herein relate to a device comprising circuitry to perform at least one action for at least one error or exception handling event based on a configuration specified by an instruction set consistent with a programmable packet processing language.
Data Encoding and Packet Sharing in a Parallel Communication Interface
An apparatus includes an interface circuit and an encoder circuit. The interface circuit is configured to send a data packet via a plurality of segments, and to send an idle value via the plurality of segments when no data packet is available. The idle value is configured to cause a segment in a receiving apparatus to idle. The encoder circuit is configured to receive a particular data packet, and, if a portion of the particular data packet has a same value as the idle value for a subset of the plurality of segments, to replace at least a portion of the data packet with a mask value to generate a modified data packet. The mask value indicates how to recreate the particular data packet. The encoder circuit is further configured to send the modified data packet to the receiving apparatus via the plurality of segments of the interface circuit.
TECHNIQUES FOR COMMAND VALIDATION FOR ACCESS TO A STORAGE DEVICE BY A REMOTE CLIENT
Examples are disclosed for access to a storage device maintained at a server. In some examples, a network input/output device coupled to the server may allocate, in a memory of the server, a buffer, a doorbell, and a queue pair accessible to a client remote to the server. For these examples, the network input/output device may assign an Non-Volatile Memory Express (NVMe) namespace context to the client. For these examples, indications of the allocated buffer, doorbell, queue pair, and namespace context may be transmitted to the client. Other examples are described and claimed.
SERVICE MESH OFFLOAD TO NETWORK DEVICES
Examples described herein relate to a system for offloading microservice-to-microservice communication to a network interface device.
System and method for ensuring command order in a storage controller
A novel storage router with an acceleration gate is disclosed. The storage router includes one or more network interfaces for receiving storage traffic and a hardware engine for processing data storage commands. The hardware engine transfers commands and data to target storage devices by means of more than one storage interface, the storage interfaces having unequal processing latencies. The hardware engine contains an acceleration gate for storing the number of outstanding commands to each storage interface on a per-target-device basis. If the target device is not idle, the hardware engine uses the acceleration gate count to automatically route commands to the lowest latency path with outstanding commands for the target device.
Methods and systems to track protocol and hardware resource state transitions
Embodiments of the present disclosure are directed to protocol state transition and/or resource state transition tracker configured to monitor, e.g., via filters, for certain protocol state transitions/changes or host hardware resource transitions/changes when a host processor in the control plane that performs such monitoring functions is unavailable or overloaded. The filters, in some embodiments, are pre-computed/computed by the host processor and transmitted to the protocol state transition and/or resource state transition tracker. The protocol state transition and/or resource state transition tracker may be used to implement a fast upgrade operation as well as load sharing and or load balancing operation with control plane associated components.
Methods and systems to track protocol and hardware resource state transitions
Embodiments of the present disclosure are directed to protocol state transition and/or resource state transition tracker configured to monitor, e.g., via filters, for certain protocol state transitions/changes or host hardware resource transitions/changes when a host processor in the control plane that performs such monitoring functions is unavailable or overloaded. The filters, in some embodiments, are pre-computed/computed by the host processor and transmitted to the protocol state transition and/or resource state transition tracker. The protocol state transition and/or resource state transition tracker may be used to implement a fast upgrade operation as well as load sharing and or load balancing operation with control plane associated components.
Data transmission method and data transmission system
A data transmission method for a data transmission system including a host and a peripheral device is disclosed, including: setting at least one identification number to at least one packet stored in the host; transmitting the at least one packet from the host to the peripheral device; allocating the at least one packet to plural temporary blocks of a memory of the peripheral device corresponding to the at least one identification number according to the at least one identification number of the at least one packet. Each of the temporary blocks includes a threshold value, and the threshold value of each of at least two of the temporary blocks are different; and transmitting part of the at least one packet stored in one of the temporary blocks when the one of the temporary blocks reaches the threshold value of the one of the temporary blocks.