Patents by Inventor Brian Edward Manula

Brian Edward Manula has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20230179688
    Abstract: In order to provide for the extension of either the MAC address or the VLAN identifier as required, a sliding cursor functionality between the MAC address and the VLAN identifier is provided. The MAC address may be extended by borrowing bits conventionally used for representing part of the VLAN identifier. Similarly, VLAN identifier may be extended by borrowing bits conventionally used for representing part of the MAC address.
    Type: Application
    Filed: October 19, 2022
    Publication date: June 8, 2023
    Inventors: Bjorn Dag JOHNSEN, Brian Edward MANULA
  • Publication number: 20230121096
    Abstract: A data processing system having an address resolution function for deriving MAC addresses. The set of MACs defined for the devices on the network encode physical position or logical identifier information of those devices. Therefore, each of these MACs is derivable using a mapping function that maps the physical position or logical identifier information supplied by an application to the MAC addresses of the devices on the network. When the protocol processing entity has to send data over the network, it can obtain the MAC address for the destination determined on the basis of the physical position or logical identifier supplied by the application. In this way, since the MACs are derivable on the basis of the physical positions or logical identifiers, the broadcasting of ARP request messages, which would otherwise be required when the protocol processing entity requires the MAC for the destination, may be avoided.
    Type: Application
    Filed: September 13, 2022
    Publication date: April 20, 2023
    Inventors: Bjorn Dag JOHNSEN, Brian Edward MANULA
  • Publication number: 20230124324
    Abstract: One or more bits of the destination MAC address indicate a number of times a reset event has occurred. These bits may be referred to as a generation number. The generation number in a destination MAC address is updated when a reset event occurs. In this way, frames issued by the sender prior to the reset may be distinguished from frames issued after the reset, since the destination MAC addresses in those frames will not match. In this way, the recipient device is protected from stale packets.
    Type: Application
    Filed: September 30, 2022
    Publication date: April 20, 2023
    Inventors: Bjorn Dag JOHNSEN, Brian Edward MANULA
  • Publication number: 20230080535
    Abstract: The same test data frame is dispatched from a network interface device a plurality of times so as to test a network. Since the same test data frame is used, it may be unnecessary for a new test data frame to be provided and protocol processed each time one is required to be sent. The protocol processing resources of the network interface device are then available for sending further traffic in parallel with the dispatch of the test data frames. On the receive side, the network interface device collects statistics regarding the reliable receipt of test frames, without requiring the test frames to be further processed and provided to a driver of the network interface device. In this way, the processing and buffering capacity in the network interface device is available for handling further traffic in parallel with the test traffic.
    Type: Application
    Filed: August 31, 2022
    Publication date: March 16, 2023
    Inventors: Martin VICKERS, Bjorn Dag JOHNSEN, Brian Edward MANULA, Daniel John Pelham WILKINSON
  • Patent number: 10027776
    Abstract: A method for managing a distributed cache of a host channel adapter (HCA) that includes receiving a work request including a QP number, determining that a QP state identified by the QP number is not in the distributed cache, retrieving the QP state from main memory, and identifying a first portion and a second portion of the QP state. The method further includes storing the first portion into a first entry of a first sub-cache block associated with the first module, where the first entry is identified by a QP index number, storing the second portion into a second entry of a second sub-cache block associated with the second module, where the second entry is identified by the QP index number; and returning the QP index number of the QP state to the first module and the second module.
    Type: Grant
    Filed: June 7, 2016
    Date of Patent: July 17, 2018
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Magne Vigulf Sandven
  • Publication number: 20160285994
    Abstract: A method for managing a distributed cache of a host channel adapter (HCA) that includes receiving a work request including a QP number, determining that a QP state identified by the QP number is not in the distributed cache, retrieving the QP state from main memory, and identifying a first portion and a second portion of the QP state. The method further includes storing the first portion into a first entry of a first sub-cache block associated with the first module, where the first entry is identified by a QP index number, storing the second portion into a second entry of a second sub-cache block associated with the second module, where the second entry is identified by the QP index number; and returning the QP index number of the QP state to the first module and the second module.
    Type: Application
    Filed: June 7, 2016
    Publication date: September 29, 2016
    Inventors: Brian Edward Manula, Magne Vigulf Sandven
  • Patent number: 9384072
    Abstract: A method for managing a distributed cache of a host channel adapter (HCA) that includes receiving a work request including a QP number, determining that a QP state identified by the QP number is not in the distributed cache, retrieving the QP state from main memory, and identifying a first portion and a second portion of the QP state. The method further includes storing the first portion into a first entry of a first sub-cache block associated with the first module, where the first entry is identified by a QP index number, storing the second portion into a second entry of a second sub-cache block associated with the second module, where the second entry is identified by the QP index number; and returning the QP index number of the QP state to the first module and the second module.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: July 5, 2016
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Magne Vigulf Sandven
  • Patent number: 9336158
    Abstract: A method for optimized address pre-translation for a host channel adapter (HCA) static memory structure is disclosed. The method involves determining whether the HCA static memory structure spans a contiguous block of physical address space, when the HCA static memory structure spans the contiguous block of physical address space, requesting a translation from a guest physical address (GPA) to a machine physical address (MPA) of the HCA static memory structure, storing a received MPA corresponding to the HCA static memory structure in an address control and status register (CSR) associated with the HCA static memory structure, marking the received MPA stored in the address CSR as a pre-translated address, and using the pre-translated MPA stored in the address CSR when a request to access the static memory structure is received.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: May 10, 2016
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Haakon Ording Bugge
  • Patent number: 9256555
    Abstract: A method for managing a queue descriptor cache of a host channel adaptor (HCA) includes obtaining a queue descriptor from memory. The queue descriptor includes data describing a queue and the memory is located in a host system. The method further includes storing a copy of the queue descriptor in the queue descriptor cache of the HCA. The HCA accesses the copy of the queue descriptor to obtain the plurality of data, accesses the queue using the data, and updates the data to reflect the access to the queue. The method further includes calculating, using the data, a value corresponding to utilization of the queue, comparing the value against a threshold, fetching, if the value exceeds the threshold, a new copy of the queue descriptor from memory, and replacing the copy of the queue descriptor in the queue descriptor cache with the new copy obtained from the memory.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: February 9, 2016
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Haakon Ording Bugge, Frederick Luther Gotwald
  • Patent number: 9244829
    Abstract: A method for deallocation of a memory region involving transmitting, by a host channel adapter (HCA), a first invalidation command for invalidating at least one key associated with the memory region, transmitting, by the HCA, a second invalidation command for invalidating a translation lookaside buffer (TLB) entry for the memory region, invalidate the at least one key associated with the memory region, determining whether all memory access requests to the memory region have been processed by the HCA, stalling processing of the second invalidation command when outstanding memory access requests to the memory region are present, and processing the outstanding memory access requests for the memory region by the HCA before executing the second invalidation command invalidating the TLB entry for the memory region.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: January 26, 2016
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Haakon Ording Bugge, Robert W. Wittosch
  • Patent number: 9191452
    Abstract: A method for optimizing completion building is disclosed. The method involves receiving a work request by a host channel adapter (HCA), caching a portion of the work request in a completion cache in the HCA, wherein the cached portion of the work request includes information for building a completion for the work request, receiving, by the HCA, a response to the work request, querying the completion cache upon receiving the response to the work request to obtain the cached portion of the work request, and building the completion for the work request using the cached portion of the work request, wherein the completion informs a software application of at least a status of the work request as executed by the HCA.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: November 17, 2015
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Magne Vigulf Sandven, Haakon Ording Bugge
  • Patent number: 9148352
    Abstract: A method for debugging network activity involving receiving, by HCA, a packet stream comprising multiple packets, comparing a packet header of each of the packets to a trigger condition to determine whether the trigger condition has been met, after the trigger condition has been met, comparing each packet header of the packets to one or more trace filters stored in the HCA to identify matching packets, duplicating one or more portions of the matching packets and storing the duplicated portions of the matching packets in a trace buffer, where the trace buffer is located in the HCA and is dynamically repurposed from a payload RAM to the trace buffer when a corresponding port of the HCA for transmitting or receiving the packet stream is set to trace mode, and stopping the trace and copying the one or more portions of packets from the trace buffer to host memory.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: September 29, 2015
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Morten Schanke, Knut Hallvard Tvete
  • Patent number: 9069633
    Abstract: A method for offloading includes a host channel adapter (HCA) receiving a first work request identifying a queue pair (QP), making a first determination that the QP is a proxy QP, and offloading the first work request to a proxy central processing unit (CPU) based on the first determination and based on the first work request satisfying a filter criterion. The HCA further receives a second work request identifying the QP, processes the second work request without offloading based on the QP being a proxy QP and based on the first work request failing to satisfy the filter criterion. The HCA redirects a first completion for the first work request and a second completion for the second work request to the proxy CPU based on the first determination. The proxy CPU processes the first completion and the second completion in order.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: June 30, 2015
    Assignee: Oracle America, Inc.
    Inventors: Brian Edward Manula, Haakon Ording Bugge, Magne Vigulf Sandven
  • Patent number: 9069485
    Abstract: A method for processing commands includes receiving, for multiple commands, doorbells for writing to a send queue scheduler buffer on a host channel adapter (HCA). The send queue scheduler buffer is associated with a send queue scheduler. The method further includes detecting a potential deadlock of the send queue scheduler from processing a portion of the doorbells, writing a subset of the doorbells to a doorbell overflow buffer on a host, operatively connected to the HCA, based on detecting the potential deadlock, and discarding the subset by the send queue scheduler without processing the subset of the plurality of doorbells before discarding.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: June 30, 2015
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Haakon Ording Bugge, Benny Sum
  • Patent number: 9069705
    Abstract: A method for content addressable memory (CAM) error recovery that includes detecting an error in an entry of a CAM, identifying an address of the entry in the CAM, copying data from the address in the backup random access memory (RAM) into the entry of the CAM to obtain a corrected CAM, clearing a results (first in first out) FIFO structure based on detecting the error, performing, using the corrected CAM, a match request stored in a replay FIFO structure to obtain a revised result, and storing the revised result in the results FIFO structure.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: June 30, 2015
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Morten Schanke, Robert W. Wittosch
  • Patent number: 8937949
    Abstract: A method for multicast replication by a host channel adapter (HCA) involving receiving a multicast packet, by a receive pipeline for processing packets of the HCA, storing, in a payload RAM within the HCA, a multicast packet payload corresponding to a data portion of the multicast packet, identifying, from a multicast header of the multicast packet, a plurality of destination underlying functions and a plurality of corresponding destination QPs to which the multicast packet is directed, wherein each destination underlying function of corresponds to a virtual machine located on a host, identifying, from the multicast header, information to be replicated for each multicast packet destination, injecting, by the HCA, a number of multicast packet descriptors corresponding to a number of the corresponding destination QPs into the receive pipeline of the HCA, and copying, from the payload RAM, the multicast packet payload to each of the corresponding destination QPs.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: January 20, 2015
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Knut Hallvard Tvete, Morten Schanke
  • Patent number: 8850085
    Abstract: A method for managing bandwidth of a bus connecting a peripheral device to a host system includes sending, over the bus, a first read request to the host system, incrementing a pending read counter by an amount corresponding to the requested data, receiving, in response to sending the first read request, at least a portion of the requested data from the host system, decrementing the pending read counter by an amount corresponding to the at least the portion of the requested data, and comparing the counter and a threshold to obtain a result. Based on the result, a scheme is selected for managing the bandwidth of the bus. The scheme specifies a ratio of read requests and write requests to be sent on the bus. The method further includes sending, based on the scheme, a second request that is a write request or a second read request.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: September 30, 2014
    Assignee: Oracle International Corporation
    Inventors: Brian Edward Manula, Haakon Ording Bugge
  • Publication number: 20140244965
    Abstract: A method for optimized address pre-translation for a host channel adapter (HCA) static memory structure is disclosed. The method involves determining whether the HCA static memory structure spans a contiguous block of physical address space, when the HCA static memory structure spans the contiguous block of physical address space, requesting a translation from a guest physical address (GPA) to a machine physical address (MPA) of the HCA static memory structure, storing a received MPA corresponding to the HCA static memory structure in an address control and status register (CSR) associated with the HCA static memory structure, marking the received MPA stored in the address CSR as a pre-translated address, and using the pre-translated MPA stored in the address CSR when a request to access the static memory structure is received.
    Type: Application
    Filed: February 26, 2013
    Publication date: August 28, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Edward Manula, Haakon Ording Bugge
  • Publication number: 20140244866
    Abstract: A method for managing bandwidth of a bus connecting a peripheral device to a host system includes sending, over the bus, a first read request to the host system, incrementing a pending read counter by an amount corresponding to the requested data, receiving, in response to sending the first read request, at least a portion of the requested data from the host system, decrementing the pending read counter by an amount corresponding to the at least the portion of the requested data, and comparing the counter and a threshold to obtain a result. Based on the result, a scheme is selected for managing the bandwidth of the bus. The scheme specifies a ratio of read requests and write requests to be sent on the bus. The method further includes sending, based on the scheme, a second request that is a write request or a second read request.
    Type: Application
    Filed: February 26, 2013
    Publication date: August 28, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Edward Manula, Haakon Ording Bugge
  • Publication number: 20140245092
    Abstract: A method for content addressable memory (CAM) error recovery that includes detecting an error in an entry of a CAM, identifying an address of the entry in the CAM, copying data from the address in the backup random access memory (RAM) into the entry of the CAM to obtain a corrected CAM, clearing a results (first in first out) FIFO structure based on detecting the error, performing, using the corrected CAM, a match request stored in a replay FIFO structure to obtain a revised result, and storing the revised result in the results FIFO structure.
    Type: Application
    Filed: February 26, 2013
    Publication date: August 28, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Edward Manula, Morten Schanke, Robert W. Wittosch