Patents by Inventor Ibrahim Ouda

Ibrahim Ouda 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: 11853251
    Abstract: Disclosed are techniques for chip-to-chip (C2C) serial communications, such as communications between chiplets on a multi-chip package. In some aspects, a method of on-die monitoring of C2C links comprises detecting a change of the C2C link from a first link state to a second link state and storing link state change information in an on-die first-in, first-out (FIFO) buffer. The link state change information indicates the first link state, the duration of time the C2C link was in the first link state, and the speed of the C2C link in the first link state. Upon detecting a request for link state change information, link state change information is retrieved from the FIFO buffer and transmitted serially to an output pin of the die, such as a general purpose input/output (GPIO) pin.
    Type: Grant
    Filed: May 4, 2022
    Date of Patent: December 26, 2023
    Assignee: QUALCOMM Incorporated
    Inventors: Ramesh Krishnamurthy Madhira, Ibrahim Ouda, Kaushik Roychowdhury
  • Publication number: 20230359579
    Abstract: Disclosed are techniques for chip-to-chip (C2C) serial communications, such as communications between chiplets on a multi-chip package. In some aspects, a method of on-die monitoring of C2C links comprises detecting a change of the C2C link from a first link state to a second link state and storing link state change information in an on-die first-in, first-out (FIFO) buffer. The link state change information indicates the first link state, the duration of time the C2C link was in the first link state, and the speed of the C2C link in the first link state. Upon detecting a request for link state change information, link state change information is retrieved from the FIFO buffer and transmitted serially to an output pin of the die, such as a general purpose input/output (GPIO) pin.
    Type: Application
    Filed: May 4, 2022
    Publication date: November 9, 2023
    Inventors: Ramesh Krishnamurthy MADHIRA, Ibrahim OUDA, Kaushik ROYCHOWDHURY
  • Publication number: 20180068583
    Abstract: A spinning device, comprising: (a) a base portion comprising: a base face; a side face; and a top face; a substantially ring-shaped groove extending upwardly from the base face, and a spinning edge portion between the side face and the base face; and (b) a top portion connected to the top face of the base portion, the device having a mass distribution balancing the device on the spinning edge portion while the device is spinning.
    Type: Application
    Filed: September 6, 2016
    Publication date: March 8, 2018
    Inventors: ElSayed Ibrahim Ouda, Karilyn Ann Ouda
  • Publication number: 20130185477
    Abstract: A method includes receiving, from a processor, a first read request mapped including a first read request address to a first memory location of a register array and a second read request including a second read request address to a second memory location of a register array. The method includes assigning a first simulated time delay to the first read request and assigning a second simulated time delay to the second read request. The method includes, in response to a first elapsed time being equal to the first simulated time delay, outputting a first read request response including first data. The first elapsed time commences upon receipt of the first read request. The method includes, in response to a second elapsed time being equal to the second simulated time delay, outputting a second read request response including second data. The second elapsed time commences upon receipt of the second read request.
    Type: Application
    Filed: January 18, 2012
    Publication date: July 18, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Victor A. Acuña, Dale L. Elson, Mark J. Hickey, Galen A. Lyle, Ibrahim A. Ouda
  • Publication number: 20130159591
    Abstract: In an embodiment, load transactions are issued to a bus. The load transactions are stalled if the bus cannot accept additional load transactions, and the load transactions are restarted after the bus can accept the additional load transactions. Responses are received from the bus to the load transactions out-of-order from an order that the load transactions were sent to the bus. The responses comprise data and index values that indicate an order that the load transactions were received by the bus. The data is compared in the order that the load transactions were received by the bus against expected data in the order that the load transaction were sent to the bus.
    Type: Application
    Filed: December 14, 2011
    Publication date: June 20, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Victor A. Acuña, Mark J. Hickey, Galen A. Lyle, Ibrahim A. Ouda
  • Publication number: 20090187695
    Abstract: Apparatus handles concurrent address translation cache misses and hits under those misses while maintaining command order based upon virtual channel. Commands are stored in a command processing unit that maintains ordering of the commands. A command buffer index is assigned to each address being sent from the command processing unit to an address translation unit. When an address translation cache miss occurs, a memory fetch request is sent. The CBI is passed back to the command processing unit with a signal to indicate that the fetch request has completed. The command processing unit uses the CBI to locate the command and address to be reissued to the address translation unit.
    Type: Application
    Filed: January 12, 2009
    Publication date: July 23, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John D. Irish, Chad B. McBride, Ibrahim A. Ouda, Andrew H. Wottreng
  • Patent number: 7539840
    Abstract: A method handles concurrent address translation cache misses and hits under those misses while maintaining command order based upon virtual channel. Commands are stored in a command processing unit that maintains ordering of the commands. A command buffer index is assigned to each address being sent from the command processing unit to an address translation unit. When an address translation cache miss occurs, a memory fetch request is sent. The CBI is passed back to the command processing unit with a signal to indicate that the fetch request has completed. The command processing unit uses the CBI to locate the command and address to be reissued to the address translation unit.
    Type: Grant
    Filed: May 30, 2006
    Date of Patent: May 26, 2009
    Assignee: International Business Machines Corporation
    Inventors: John D. Irish, Chad B. McBride, Ibrahim A. Ouda, Andrew H. Wottreng
  • Publication number: 20070283121
    Abstract: A method and apparatus handles concurrent address translation cache misses and hits under those misses while maintaining command order based upon virtual channel. Commands are stored in a command processing unit that maintains ordering of the commands. A command buffer index is assigned to each address being sent from the command processing unit to an address translation unit. When an address translation cache miss occurs, a memory fetch request is sent. The CBI is passed back to the command processing unit with a signal to indicate that the fetch request has completed. The command processing unit uses the CBI to locate the command and address to be reissued to the address translation unit.
    Type: Application
    Filed: May 30, 2006
    Publication date: December 6, 2007
    Inventors: John D. Irish, Chad B. McBride, Ibrahim A. Ouda, Andrew H. Wottreng
  • Publication number: 20070180158
    Abstract: Embodiments of the present invention provide methods and systems for maintaining command order while processing commands in a command queue while handling multiple translation cache misses. Commands may be queued in an input command queue at the CPU. During address translation for a command, subsequent commands may be processed to increase efficiency. Processed commands may be placed in an output queue and sent to the CPU in order. During address translation, if a translation cache miss occurs while an outstanding miss is being handled, the pipeline may be stalled and the command causing the second miss and all subsequent commands may be processed again after the first miss is handled.
    Type: Application
    Filed: February 1, 2006
    Publication date: August 2, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Irish, Chad McBride, Ibrahim Ouda
  • Publication number: 20070180157
    Abstract: Embodiments of the present invention provide methods and systems for maintaining command order while processing commands in a command queue. Commands may be queued in an input command queue at the CPU. During address translation for a command, subsequent commands may be processed to increase efficiency. Processed commands may be placed in an output queue and sent to the CPU in order. If address translation entries for a command are not found, the translation entries may be retrieved from memory. Address translations for subsequent commands depending from the command getting the miss may be preserved until the address translation entry is retrieved from memory. Therefore, retranslation of addresses for subsequent commands is avoided.
    Type: Application
    Filed: February 1, 2006
    Publication date: August 2, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Irish, Chad McBride, Ibrahim Ouda
  • Publication number: 20070180269
    Abstract: A method and apparatus for the prevention of unwanted access to secure areas of memory during the POR or boot sequence of a CPU. Via control within the CPU, commands that are sent to and received by the CPU prior to the finish of the POR sequence can be denied I/O address translation, thus protecting memory during the POR sequence. Furthermore, an error response can be generated in the CPU and sent back to the I/O device which issued the command.
    Type: Application
    Filed: February 1, 2006
    Publication date: August 2, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Irish, Charles Johns, Chad McBride, Ibrahim Ouda, Andrew Wottreng
  • Publication number: 20070180156
    Abstract: Embodiments of the present invention provide methods and systems for maintaining command order while processing commands in a command queue while handling translation cache misses. Commands may be queued in an input command queue at the CPU. During address translation for a command, subsequent commands may be processed to increase efficiency. Processed commands may be placed in an output queue and sent to the CPU in order. During address translation, if a translation cache miss occurs the relevant translation cache entries may be retrieved from memory. After the relevant entries are retrieved a notification may be sent requesting reissue of the command getting the translation cache miss.
    Type: Application
    Filed: February 1, 2006
    Publication date: August 2, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Irish, Chad McBride, Ibrahim Ouda
  • Publication number: 20070006009
    Abstract: In a first aspect, a first method is provided for aligning data. The first method includes the steps of (1) transmitting identical reference data from first logic to second logic on each of a plurality of busses coupling the first logic to the second logic; (2) determining values indicative of time skews among the busses; and (3) configuring alignment logic based on the values such that the alignment logic aligns the reference data received from each of the plurality of busses. Numerous other aspects are provided.
    Type: Application
    Filed: June 30, 2005
    Publication date: January 4, 2007
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Scott Clark, Kerry Imming, Ibrahim Ouda
  • Publication number: 20050071595
    Abstract: In a first aspect, a first method is provided. The first method includes the steps of (1) receiving a set of data; (2) determining whether a free group entry of a size required by a portion of the set of data exists in one of a plurality of sections of a memory; (3) if a free group entry of the size required by the portion of the set of data does not exist in one of the plurality of sections of the memory, determining whether the memory includes one or more sections of an unallocated size; and (4) if the memory includes one or more sections of an unallocated size, allocating one of the sections of an unallocated size to the size required by the portion of the set of data thereby creating a section of a dynamically allocated size. Numerous other aspects are provided.
    Type: Application
    Filed: September 25, 2003
    Publication date: March 31, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John Irish, Ibrahim Ouda, James Steenburgh, Jason Thompson