Patents by Inventor Rahoul Puri

Rahoul Puri 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).

  • Patent number: 10860520
    Abstract: A system that allows access to a virtualized device is disclosed. The system may include a device, a processor, and a communication unit coupled to the device via a communication link. The device may include hardware resources configured to be shared by multiple threads executing on the processor. The communication unit may be configured to detect a request to access the device by the processor. In response to the detection of the request, the communication unit may send one or more instructions to the device via the communication link using a communication protocol.
    Type: Grant
    Filed: November 18, 2015
    Date of Patent: December 8, 2020
    Assignee: Oracle International Corporation
    Inventors: Rahoul Puri, Rick C. Hetherington, Harry Stuimer, Hongping Li, John R. Feehrer
  • Patent number: 10853303
    Abstract: An apparatus and method for controlling a virtualized endpoint device are disclosed. A processor may be configured to execute instructions included in multiple execution threads. A first device may be configured to perform multiple command and data functions, and a communication unit may include a first port coupled to the first device via a first link and be configured to send instructions from the processor to the first device via the first link using a first communication protocol. The processor may be further configured to execute first and second sets of commands included in respective execution threads. The first set of commands may be associated with the plurality of command functions and the second set of commands may be associated with the plurality of data functions.
    Type: Grant
    Filed: November 18, 2015
    Date of Patent: December 1, 2020
    Assignee: Oracle International Corporation
    Inventors: John R. Feehrer, Matthew Cohen, Rahoul Puri, John Johnson, Alan Adamson, Julia Harper
  • Patent number: 10817456
    Abstract: An apparatus and method for controlling a device with shared hardware resources to provide separate execution environments for control and data functions are disclosed. A processor may be configured to generate a first request to access control functions of the device in response to execution of a first thread, and generate a second request to access data functions of the device in response to execution of a second thread. A communication unit may send first indicative of the first request and second data indicative of the second request to the device via first and second ports, respectively.
    Type: Grant
    Filed: June 21, 2017
    Date of Patent: October 27, 2020
    Assignee: Oracle International Corporation
    Inventors: John R. Feehrer, Matthew Cohen, Rahoul Puri, Tayfun Kocaoglu, John Johnson, David Kahn, Alan Adamson, Sriram Jayakumar, Julia Harper, Robert G. Sheldon, Mark Kanda, Aruna Jayakumar
  • Patent number: 10296356
    Abstract: An apparatus and method for resetting a virtualized device are disclosed. The virtualized device may be coupled to a first port on a communication unit via a first link. The first port may send one or more instructions to the virtualized device via the first link using a first communication protocol. A processor may be configured to detect a reset condition for the virtualized device. In response to the detection of the reset condition for the virtualized device, the first port may disregard one or more transaction requests made by the virtualized device. The first port may further send an error message to the processor in response to receiving a Programmed Input/Output (PIO) request from the processor after the detection of the reset condition.
    Type: Grant
    Filed: November 18, 2015
    Date of Patent: May 21, 2019
    Assignee: Oracle International Corporations
    Inventors: John R. Feehrer, Sriram Jayakumar, Rahoul Puri, Matthew Cohen, Julia Harper, Alan Adamson, John Johnson
  • Publication number: 20170286354
    Abstract: An apparatus and method for controlling a device with shared hardware resources to provide separate execution environments for control and data functions are disclosed. A processor may be configured to generate a first request to access control functions of the device in response to execution of a first thread, and generate a second request to access data functions of the device in response to execution of a second thread. A communication unit may send first indicative of the first request and second data indicative of the second request to the device via first and second ports, respectively.
    Type: Application
    Filed: June 21, 2017
    Publication date: October 5, 2017
    Inventors: John R. Feehrer, Matthew Cohen, Rahoul Puri, Tayfun Kocaoglu, John Johnson, David Kahn, Alan Adamson, Sriram Jayakumar, Julia Harper, Robert G. Sheldon, Mark Kanda
  • Publication number: 20170139721
    Abstract: An apparatus and method for resetting a virtualized device are disclosed. The virtualized device may be coupled to a first port on a communication unit via a first link. The first port may send one or more instructions to the virtualized device via the first link using a first communication protocol. A processor may be configured to detect a reset condition for the virtualized device. In response to the detection of the reset condition for the virtualized device, the first port may disregard one or more transaction requests made by the virtualized device. The first port may further send an error message to the processor in response to receiving a Programmed Input/Output (PIO) request from the processor after the detection of the reset condition.
    Type: Application
    Filed: November 18, 2015
    Publication date: May 18, 2017
    Inventors: John R. Feehrer, Sriram Jayakumar, Rahoul Puri, Matthew Cohen, Julia Harper, Alan Adamson, John Johnson
  • Publication number: 20170139799
    Abstract: A system that allows access to a virtualized device is disclosed. The system may include a device, a processor, and a communication unit coupled to the device via a communication link. The device may include hardware resources configured to be shared by multiple threads executing on the processor. The communication unit may be configured to detect a request to access the device by the processor. In response to the detection of the request, the communication unit may send one or more instructions to the device via the communication link using a communication protocol.
    Type: Application
    Filed: November 18, 2015
    Publication date: May 18, 2017
    Inventors: Rahoul Puri, Rick C. Hetherington, Harry Stuimer, Hongping Li, John R. Feehrer
  • Publication number: 20170139873
    Abstract: An apparatus and method for controlling a virtualized endpoint device are disclosed. A processor may be configured to execute instructions included in multiple execution threads. A first device may be configured to perform multiple command and data functions, and a communication unit may include a first port coupled to the first device via a first link and be configured to send instructions from the processor to the first device via the first link using a first communication protocol. The processor may be further configured to execute first and second sets of commands included in respective execution threads. The first set of commands may be associated with the plurality of command functions and the second set of commands may be associated with the plurality of data functions.
    Type: Application
    Filed: November 18, 2015
    Publication date: May 18, 2017
    Inventors: John R. Feehrer, Matthew Cohen, Rahoul Puri, John Johnson, Alan Adamson, Julia Harper
  • Patent number: 8176304
    Abstract: An I/O device having function level reset functionality includes a host interface that may include a master reset unit, a plurality of client interfaces, each corresponding to one or more functions, and a plurality of hardware resources. Each hardware resource may be associated with a respective function. In response to receiving a reset request to reset a specific function, the master reset unit may provide to each client interface, a request signal corresponding to the reset request, and a signal identifying the specific function. Each client interface having an association with the specific function may initiate a reset operation of the associated hardware resources, and also provide a client reset done signal for the specific function to the master reset unit in response to completion of the reset operations of the hardware resources. The master reset unit provides a reset done signal for the specific function to the host interface.
    Type: Grant
    Filed: October 22, 2008
    Date of Patent: May 8, 2012
    Assignee: Oracle America, Inc.
    Inventors: Rahoul Puri, Arvind Srinivasan, Louise Y. Yeung, Marcelino M. Dignum, John E. Watkins
  • Patent number: 8145967
    Abstract: A system and method for verifying the receive path of an input/output device such as a network interface circuit. The device's operation with various different input sources (e.g., networks) and output sources (e.g., hosts, host buses) is modeled in a verification layer that employs multiple queues to simulate receipt of packets, calculation of destination addresses and storage of the packet data by the device. Call backs are employed to signal completion of events related to storage of packet data by the device and modeling of data processing within the verification layer. Processing of tokens within the verification layer to mimic the device's processing of corresponding packets is performed according to a dynamic DMA policy modeled on the device's policy. The policy is dynamic and can be updated or replaced during verification without interrupting the verification process.
    Type: Grant
    Filed: October 12, 2007
    Date of Patent: March 27, 2012
    Assignee: Oracle America, Inc.
    Inventors: Arvind Srinivasan, Rahoul Puri
  • Patent number: 8078928
    Abstract: A system and method for verifying the transmit path of an input/output device such as a network interface circuit. The device's operation with various different input sources (e.g., hosts, input buses) and output sources (e.g., output buses, networks) is modeled in a verification layer that employs multiple queues to simulate receipt of input data, submission to an output port and transmission from the device. Call backs are employed to signal completion of events related to receipt of data at the device and modeling of data processing within the verification layer. As call backs are resolved, corresponding tasks are executed to advance the processing of the data through the verification layer. A device-specific algorithm is executed in the verification layer to predict the ordering of output from the device, and that output is compared to the predicted output by a transmission checker.
    Type: Grant
    Filed: October 12, 2007
    Date of Patent: December 13, 2011
    Assignee: Oracle America, Inc.
    Inventors: Arvind Srinivasan, Rahoul Puri
  • Patent number: 8032669
    Abstract: A universal DMA (Direct Memory Access) engine can be dynamically configured to function in either a receive or transmit mode. DMAs are logically assembled and bound as needed, without limitation to a fixed, pre-determined number of receive engines and transmit engines. Because a DMA engine may be dynamically assembled to support the flow of data in either direction, varied usage models are enabled, and components used to assemble a receive DMA engine for one application may be subsequently used to assemble a transmit engine for a different application. An application may request a specific number of each type of engine, depending on the nature of its input/output traffic. The number of receive or transmit engines can be dynamically increased or decreased without suspending or rebooting the host. A universal DMA architecture provides a unified software framework, thereby decreasing the complexity of the software and the hardware gate count cost.
    Type: Grant
    Filed: January 20, 2008
    Date of Patent: October 4, 2011
    Assignee: Oracle America, Inc.
    Inventors: Rahoul Puri, Arvind Srinivasan, Elisa Rodrigues
  • Patent number: 8006016
    Abstract: A method for addressing system latency within a network system which includes providing a network interface and moving data within each of the plurality of memory access channels independently and in parallel to and from a memory system so that one or more of the plurality of memory access channels operate efficiently in the presence of arbitrary memory latencies across multiple requests is disclosed. The network interface includes a plurality of memory access channels.
    Type: Grant
    Filed: January 18, 2011
    Date of Patent: August 23, 2011
    Assignee: Oracle America, Inc.
    Inventors: Shimon Muller, Rahoul Puri, Michael Wong
  • Patent number: 7992144
    Abstract: A network system that provides for separating and isolating control of processing entities in a network interface. A network interface unit is operably connected to a plurality of processing entities and a plurality of memory units that define a shared memory space. The network interface unit further comprises a memory access module that includes a plurality of memory access channels, a packet classifier, and a plurality of scheduling control modules that are operable to control processing of data transported by the network. One of the processing entities operates as a hypervisor to configure control resources to isolate operation of the plurality of data processing partitions to process data transported by the network system. The packet classifier is operable to provide an association between packets and the plurality of asymmetrical data processing.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: August 2, 2011
    Assignee: Oracle America, Inc.
    Inventors: Ariel Hendel, Yatin Gajjar, May Lin, Rahoul Puri, Michael Wong
  • Patent number: 7987306
    Abstract: A method for addressing system latency within a network system which includes providing a network interface and moving data within each of the plurality of memory access channels independently and in parallel to and from a memory system so that one or more of the plurality of memory access channels operate efficiently in the presence of arbitrary memory latencies across multiple requests is disclosed. The network interface includes a plurality of memory access channels.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: July 26, 2011
    Assignee: Oracle America, Inc.
    Inventors: Shimon Muller, Rahoul Puri, Michael Wong
  • Publication number: 20110110380
    Abstract: A method for addressing system latency within a network system which includes providing a network interface and moving data within each of the plurality of memory access channels independently and in parallel to and from a memory system so that one or more of the plurality of memory access channels operate efficiently in the presence of arbitrary memory latencies across multiple requests is disclosed. The network interface includes a plurality of memory access channels.
    Type: Application
    Filed: January 18, 2011
    Publication date: May 12, 2011
    Inventors: Shimon Muller, Rahoul Puri, Michael Wong
  • Patent number: 7889734
    Abstract: A method and apparatus for mapping sessions to preassigned processing entities in a network system. A network interface unit is operably connected to a plurality of processing entities and a plurality of memory units that define a shared memory space. The network interface unit further comprises a memory access module that includes a plurality of memory access channels, a packet classifier, and a plurality of scheduling control modules that are operable to control processing of data transported by the network. In various embodiments of the invention, predetermined subsets of the plurality of processing entities are operably associated with predetermined subsets of the plurality of memory units thereby defining a plurality of asymmetrical data processing partitions. The packet classifier is operable to provide an association between packets and the plurality of asymmetrical data processing partitions based upon an association with a predetermined session.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: February 15, 2011
    Assignee: Oracle America, Inc.
    Inventors: Ariel Hendel, Yatin Gajjar, May Lin, Rahoul Puri, Michael Wong
  • Patent number: 7836328
    Abstract: A method and apparatus for recovering from errors occurring during system bus transactions. An input/output device such as a network interface unit (NIU) issues read and write operations across a meta interface coupling the device to host bus (glue) logic. The host bus logic translates the operations into system bus transactions. The device maintains a set of reusable identifiers for identifying the operations, and a table maintained by the device or the host bus logic maps the operation identifiers to transaction identifiers identifying the system bus transactions spawned to perform the operations. If a bus transaction encounters an unrecoverable error, the host bus logic reports the error to the device and drops any further data received from other bus transactions performed for the same operation. The device marks the operation's identifier as dirty, to prevent its reuse. The operation identifier may be reused after software clears the error condition.
    Type: Grant
    Filed: May 4, 2006
    Date of Patent: November 16, 2010
    Assignee: Oracle America, Inc.
    Inventors: Rahoul Puri, John E. Watkins, Arvind Srinivsan, Babu R. Kandimalla, Nimita Taneja
  • Patent number: 7779164
    Abstract: A network system includes a network interface unit operably connected to a plurality of processing entities and a plurality of memory units that define a shared memory space. The network interface unit further comprises a memory access module that includes a plurality of memory access channels, a packet classifier, and a plurality of scheduling control modules that are operable to control processing of data transported by the network. In various embodiments of the invention, predetermined subsets of the plurality of processing entities are operably associated with predetermined subsets of the plurality of memory units thereby defining a plurality of asymmetrical data processing partitions. The packet classifier is operable to provide an association between packets and the plurality of asymmetrical data processing partitions. The asymmetrical data processing partitions are scalable by adding additional processing entities.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: August 17, 2010
    Assignee: Oracle America, Inc.
    Inventors: Ariel Hendel, Yatin Gajjar, May Lin, Rahoul Puri, Michael Wong
  • Patent number: 7706289
    Abstract: A system and method for validating packet classification within an input/output device or component. Based on a target DMA engine within the device, and a protocol path for testing the DMA engine, sets of packet attributes are generated and used to format packets for input to the device. The output of the device is examined to determine if the correct DMA engine was used within the device. The DMA policy specifying which DMA engine to use for a particular packet configuration or set of protocol attributes can be dynamically replaced or modified without halting the validation process.
    Type: Grant
    Filed: December 30, 2007
    Date of Patent: April 27, 2010
    Assignee: Oracle America, Inc.
    Inventors: Rahoul Puri, Arvind Srinivasan, Saranga P. Pogula