Patents by Inventor Saleem Mohammadali

Saleem Mohammadali 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: 9804841
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: October 31, 2017
    Assignee: Intel Corporation
    Inventors: Corey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
  • Publication number: 20150134936
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Application
    Filed: January 20, 2015
    Publication date: May 14, 2015
    Inventors: Corey GEE, Bapiraju VINNAKOTA, Saleem MOHAMMADALI, Carl A. ALBEROLA
  • Patent number: 8938607
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Grant
    Filed: June 25, 2013
    Date of Patent: January 20, 2015
    Assignee: Intel Corporation
    Inventors: Corey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
  • Publication number: 20130290684
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Application
    Filed: June 25, 2013
    Publication date: October 31, 2013
    Inventors: Corey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
  • Patent number: 8473719
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: June 25, 2013
    Assignee: Intel Corporation
    Inventors: Corey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
  • Patent number: 7336678
    Abstract: A buffer having an associated state array to store the current state of the buffer. The state array includes a bit array having a number of entries, each of the entries including a status bit to indicate storage of a corresponding packet in the buffer.
    Type: Grant
    Filed: July 31, 2002
    Date of Patent: February 26, 2008
    Assignee: Intel Corporation
    Inventors: Bapiraju Vinnakota, Saleem Mohammadali, David W. Gilbert
  • Publication number: 20070185849
    Abstract: Embodiments of the invention relate to data structure traversal instructions that perform efficient data structure traversal operations in packet processing applications. In one embodiment, a data structure traversal instruction for use in packet processing includes a control. In response to the control, the data structure traversal instruction accesses at least one node of a data structure. The data structure is typically a linked list or a binary tree. In an exemplary environment, the data structure traversal instruction may be implemented by a packet processor core of packet processor in a network device. In particular, three data structure traversal instructions are disclosed for accessing a node in a linked list and returning a data field, searching for a key value in a node of linked list, and accessing a node in a binary tree and searching for a matching key value, respectively.
    Type: Application
    Filed: April 3, 2007
    Publication date: August 9, 2007
    Inventors: Bapiraju Vinnakota, Carl Alberola, Saleem Mohammadali
  • Patent number: 7249248
    Abstract: According to one embodiment of the invention, an apparatus is provided which includes a first register to hold an initial value of a first index associated with a looping instruction to be executed for a number of iterations, a second register to hold an initial value of a second index associated with the respective looping instruction, and a third register to hold data indicating non-linear variation pattern associated with the second index. For each iteration, actual increment of the first index and actual increment of the second index are set based on a target increment and the data indicating the non-linear variation pattern associated with the second index.
    Type: Grant
    Filed: November 25, 2002
    Date of Patent: July 24, 2007
    Assignee: Intel Corporation
    Inventors: Bapiraiu Vinnnakota, Saleem Mohammadali, Carl A. Alberola
  • Publication number: 20070074002
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Application
    Filed: October 31, 2006
    Publication date: March 29, 2007
    Inventors: Corey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl Alberola
  • Patent number: 7139900
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Grant
    Filed: June 23, 2003
    Date of Patent: November 21, 2006
    Assignee: Intel Corporation
    Inventors: Corey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
  • Publication number: 20040260914
    Abstract: New instruction definitions for a packet add (PADD) operation and for a single instruction multiple add (SMAD) operation are disclosed. In addition, a new dedicated PADD logic device that performs the PADD operation in about one to two processor clock cycles is disclosed. Also, a new dedicated SMAD logic device that performs a single instruction multiple data add (SMAD) operation in about one to two clock cycles is disclosed.
    Type: Application
    Filed: June 23, 2003
    Publication date: December 23, 2004
    Inventors: Corey Gee, Bapiraju Vinnakota, Saleem Mohammadali, Carl A. Alberola
  • Publication number: 20040103086
    Abstract: Embodiments of the invention relate to data structure traversal instructions that perform efficient data structure traversal operations in packet processing applications. In one embodiment, a data structure traversal instruction for use in packet processing includes a control. In response to the control, the data structure traversal instruction accesses at least one node of a data structure. The data structure is typically a linked list or a binary tree. In an exemplary environment, the data structure traversal instruction may be implemented by a packet processor core of packet processor in a network device. In particular, three data structure traversal instructions are disclosed for accessing a node in a linked list and returning a data field, searching for a key value in a node of linked list, and accessing a node in a binary tree and searching for a matching key value, respectively.
    Type: Application
    Filed: November 26, 2002
    Publication date: May 27, 2004
    Inventors: Bapiraju Vinnakota, Carl A. Alberola, Saleem Mohammadali
  • Publication number: 20040103270
    Abstract: According to one embodiment of the invention, an apparatus is provided which includes a first register to hold an initial value of a first index associated with a looping instruction to be executed for a number of iterations, a second register to hold an initial value of a second index associated with the respective looping instruction, and a third register to hold data indicating non-linear variation pattern associated with the second index. For each iteration, actual increment of the first index and actual increment of the second index are set based on a target increment and the data indicating the non-linear variation pattern associated with the second index.
    Type: Application
    Filed: November 25, 2002
    Publication date: May 27, 2004
    Inventors: Bapiraiu Vinnnakota, Saleem Mohammadali, Carl A. Alberola
  • Publication number: 20040068638
    Abstract: According to one embodiment of the invention, an apparatus is provided which includes a set of comparators to compare each address of flow-change instructions identified in a program against address of the current instruction as the program being executed. Each comparator generates a respective signal having a first value if the address of the respective flow-change instruction matches the address of the current instruction. Target addresses associated with the flow change instructions and a default address of the next instruction are provided as inputs to a multiplexer which selects either the default address or one of the target addresses as the next instruction address, based on the signals generated by the comparators.
    Type: Application
    Filed: October 4, 2002
    Publication date: April 8, 2004
    Inventors: Carl A. Alberola, Saleem Mohammadali, Bapi Vinnakota
  • Publication number: 20040042475
    Abstract: Embodiments of the invention relate to soft-pipelined state-oriented packet processing of packets received from a network. In one embodiment, a packet processor includes a packet processor core coupled to a program memory and an external memory to perform packet processing operations including defining a plurality of phases and a plurality of contexts, wherein each context includes a plurality of packets. The plurality of phases process each context. Further, a direct memory access (DMA) to the external memory is performed to obtain state data for the context being processed by the phase for use during processing by a next phase. After the last phase has processed the context, the state data is transferred back into the external memory using a final DMA transfer.
    Type: Application
    Filed: August 30, 2002
    Publication date: March 4, 2004
    Inventors: Bapiraju Vinnakota, Saleem Mohammadali, David W. Gilbert
  • Publication number: 20040022262
    Abstract: A buffer having an associated state array to store the current state of the buffer. The state array includes a bit array having a number of entries, each of the entries including a status bit to indicate storage of a corresponding packet in the buffer.
    Type: Application
    Filed: July 31, 2002
    Publication date: February 5, 2004
    Inventors: Bapiraju Vinnakota, Saleem Mohammadali, David W. Gilbert
  • Publication number: 20030231660
    Abstract: Embodiments of the invention relate to bit manipulation instructions that perform efficient bit manipulation operations for packet processing applications. In one embodiment, a bit manipulation instruction for use in packet processing includes a control. In response to the control, the bit manipulation instruction selects a plurality of bits from a source register and writes the selected plurality of bits into a destination register in a manner designated by the control. In an exemplary environment, the bit manipulation instruction may be implemented by a packet processor core of packet processor in a network device. In particular, five bit manipulation instructions for bit extraction, bit packing, bit setting, bit unpacking, and bit matching operations will be disclosed. These instructions are particularly useful for packet processing applications.
    Type: Application
    Filed: June 14, 2002
    Publication date: December 18, 2003
    Inventors: Bapiraju Vinnakota, Saleem Mohammadali, Carl Alberola