Patents by Inventor Ahmed Shahid

Ahmed Shahid 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: 20180336063
    Abstract: Method and system embodying the method for load balancing of scheduled jobs among a plurality of engines encompassing determining a number of cluster credits for each of a plurality of clusters that comprise at least one engine capable of processing a scheduled job; determining a number of engine credits for each of the plurality of engines comprising each of the at least one engine in accordance with a number of jobs assigned to each of the plurality of engines; evaluating the determined number of cluster credits and the determined number of engine credits in accordance with a credit evaluation policy; and assigning the job to one of the plurality of engines in accordance with the evaluation, is disclosed.
    Type: Application
    Filed: May 20, 2017
    Publication date: November 22, 2018
    Applicant: Cavium, Inc.
    Inventors: Timothy Toshio Nakada, Jason Daniel Zebchuk, Gregg Alan Bouchard, Tejas Maheshbhai Bhatt, Hong Jik Kim, Ahmed Shahid, Mark Jon Kwong
  • Publication number: 20180329472
    Abstract: Methods and apparatus for adaptive power profiling in a baseband processing system. In an exemplary embodiment, an apparatus includes one or more processing engines. Each processing engine performs at least one data processing function. The apparatus also includes an adaptive power profile (APP) and a job manager that receives job requests for data processing. The job manager allocates the data processing associated with the job requests to the processing engines based on the adaptive power profile. The adaptive power profile identifies a first group of the processing engines to perform the data processing associated with the job requests, and identifies remaining processing engines to be set to a low power mode.
    Type: Application
    Filed: May 15, 2017
    Publication date: November 15, 2018
    Applicant: Cavium, Inc.
    Inventors: Kalyana S. Venkataraman, Gregg A. Bouchard, Eric Marenger, Ahmed Shahid
  • Publication number: 20180321986
    Abstract: A method and a system for port access management at a distributed job manager, encompassing: initializing a port access process for each of one or more ports on a processing device; determining first whether a job is assigned to an active slot identified by an active_slot_id on the processing device, and when the determining is positive: determining second whether the job has been serviced by a port identified by the active_slot_id; and when either the first determining is negative or the second determining is positive then: retesting the first and second determining; else: determining whether the job requires an access to the port identified by the active_slot_id; and when the determining is positive: fetching the port's configuration words; processing the fetched port's configuration words; marking the job as serviced by the port upon conclusion or the processing of the fetched port's configuration words; and recalculating the value of the active_slot_id.
    Type: Application
    Filed: May 5, 2017
    Publication date: November 8, 2018
    Applicant: Cavium, Inc.
    Inventors: Kalyana Sundaram Venkataraman, Tejas Maheshbhai Bhatt, Hong Jik Kim, Eric Marenger, Ahmed Shahid, Jason Daniel Zebchuk
  • Publication number: 20180321983
    Abstract: A method and a system embodying the method for job pre-scheduling in a processing system comprising distributed job management, encompassing: determining a maximum amount of pre-schedulable jobs for each of a plurality of engines; setting for each of the plurality of engines a threshold less than or equal to the maximum amount; pre-scheduling by a scheduler an amount of jobs less than or equal to the threshold to at least one of a plurality of job managers; determining at the at least one of the plurality of job managers managing one of the plurality of engines one of a plurality of data processing devices in order for each pre-scheduled job; and assigning the job to the determined data processing device.
    Type: Application
    Filed: May 5, 2017
    Publication date: November 8, 2018
    Applicant: Cavium, Inc.
    Inventors: Kalyana Sundaram Venkataraman, Tejas Maheshbhai Bhatt, Hong Jik Kim, Eric Marenger, Ahmed Shahid, Jason Daniel Zebchuk, Gregg Alan Bouchard
  • Publication number: 20170329731
    Abstract: Method and system embodying the method for a direct memory access between a data storage and a data processing device via one or more direct memory access units, comprising transferring data between the data storage and a first direct memory access engine of a respective one or more direct memory access units and providing the data for a second direct memory access engine of the respective one or more direct memory access units; and transferring the data provided by the first direct memory access engine by a second direct memory access engine to the data processing device via the second direct memory access engine is disclosed.
    Type: Application
    Filed: May 14, 2016
    Publication date: November 16, 2017
    Applicant: Cavium, Inc.
    Inventors: Jason Daniel Zebchuk, Gregg Alan Bouchard, Tejas Maheshbhai Bhatt, Hong Jik Kim, Ahmed Shahid
  • Patent number: 9596324
    Abstract: An apparatus and method are provided for allocating a plurality of packets to different processor threads. In operation, a plurality of packets are parsed to gather packet information. Additionally, a parse operation is performed utilizing the packet information to generate a key, and a hash algorithm is performed on this key to produce a hash. Further, the packets are allocated to different processor threads, utilizing the hash or the key.
    Type: Grant
    Filed: February 8, 2008
    Date of Patent: March 14, 2017
    Assignee: Broadcom Corporation
    Inventors: David T. Hass, Kaushik Kuila, Ahmed Shahid
  • Patent number: 9128769
    Abstract: In one embodiment, a processor comprises a plurality of hardware resources, each hardware resource having a clock cycle. The processor also comprises a plurality of work stores, each work store assigned into one of a plurality of virtual functions if a mode of the processor is set to a virtual function mode, and each work store assigned into one physical function if the mode of the processor is set to a physical function mode. The processor further comprises dispatch logic configured to dispatch work from any work store corresponding to any virtual function or physical function to any released hardware resources.
    Type: Grant
    Filed: October 13, 2011
    Date of Patent: September 8, 2015
    Assignee: Cavium, Inc.
    Inventors: Jeffrey Schroeder, Jeff Pangborn, Najeeb Ansari, Bryan Chin, Leo Chen, Ahmed Shahid, Paul Scrobohaci, Chee Hu, Michael Carns, Wu Ye, Brian Hunter
  • Patent number: 9065860
    Abstract: A processor with on-chip memory including a plurality of physical memory banks is disclosed. The processor includes a method, and corresponding apparatus, of enabling multi-access to the plurality of physical memory banks. The method comprises selecting a subset of multiple access requests to be executed in at least one clock cycle over at least one of a number of access ports connected to the plurality of physical memory banks, the selected subset of access requests addressed to different physical memory banks, among the plurality of memory banks, and scheduling the selected subset of access requests, each over a separate access port.
    Type: Grant
    Filed: August 2, 2012
    Date of Patent: June 23, 2015
    Assignee: Cavium, Inc.
    Inventors: Jeffrey A. Pangborn, Gregg A. Bouchard, Rajan Goyal, Najeeb I. Ansari, Ahmed Shahid
  • Patent number: 8989220
    Abstract: In one embodiment, a system includes a station circuit. The station circuit includes a data layer and a transport layer. The station circuit is capable of a source mode and a destination mode. The data layer of the station circuit in source mode disassembles a source packet into one or more source parcels and sends the one or more source parcels to the transport layer. The station circuit in destination mode receives the one or more destination parcels over a ring at its transport layer, reassembles the one or more destination parcels into a destination packet, and delivers the destination packet from the transport layer to the data layer. The transport layer of the station circuit in source mode transmits the one or more source parcels over the ring. The transport layer of the station circuit in destination mode receives the one or more destination parcels over the ring.
    Type: Grant
    Filed: May 25, 2012
    Date of Patent: March 24, 2015
    Assignee: Cavium, Inc.
    Inventors: Paul G. Scrobohaci, Ahmed Shahid, Bryan W. Chin, Leo Chen
  • Publication number: 20150074442
    Abstract: A system and method are provided for reducing a latency associated with timestamps in a multi-core, multi threaded processor. A processor capable of simultaneously processing a plurality of threads is provided. The processor includes a plurality of cores, a plurality of network interfaces for network communication, and a timer circuit for reducing a latency associated with timestamps used for synchronization of the network communication utilizing a precision time protocol.
    Type: Application
    Filed: September 11, 2013
    Publication date: March 12, 2015
    Applicant: NetLogic Microsystems, Inc.
    Inventors: Ahmed SHAHID, Kaushik Kuila, David T. Hass
  • Patent number: 8724657
    Abstract: A method and system of packet assembly is provided. The method includes providing a first packet descriptor. The first packet descriptor is a pointer-to-pointer (P2P) descriptor that includes pointer information. The method further includes retrieving a first pointer referenced by the pointer information of the first packet descriptor; providing the first pointer to a DMA engine; and using the DMA engine to retrieve packet data referenced by the first pointer.
    Type: Grant
    Filed: August 8, 2011
    Date of Patent: May 13, 2014
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Kaushik Kuila, David T. Hass, Ahmed Shahid
  • Publication number: 20130315236
    Abstract: In one embodiment, a system includes a station circuit. The station circuit includes a data layer and a transport layer. The station circuit is capable of a source mode and a destination mode. The data layer of the station circuit in source mode disassembles a source packet into one or more source parcels and sends the one or more source parcels to the transport layer. The station circuit in destination mode receives the one or more destination parcels over a ring at its transport layer, reassembles the one or more destination parcels into a destination packet, and delivers the destination packet from the transport layer to the data layer. The transport layer of the station circuit in source mode transmits the one or more source parcels over the ring. The transport layer of the station circuit in destination mode receives the one or more destination parcels over the ring.
    Type: Application
    Filed: May 25, 2012
    Publication date: November 28, 2013
    Applicant: Cavium, Inc.
    Inventors: Paul G. Scrobohaci, Ahmed Shahid, Bryan W. Chin, Leo Chen
  • Patent number: 8549341
    Abstract: A system and method are provided for reducing a latency associated with timestamps in a multi-core, multi threaded processor. A processor capable of simultaneously processing a plurality of threads is provided. The processor includes a plurality of cores, a plurality of network interfaces for network communication, and a timer circuit for reducing a latency associated with timestamps used for synchronization of the network communication utilizing a precision time protocol.
    Type: Grant
    Filed: August 29, 2008
    Date of Patent: October 1, 2013
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Ahmed Shahid, Kaushik Kuila, David T. Hass
  • Publication number: 20130097598
    Abstract: In one embodiment, a processor comprises a plurality of hardware resources, each hardware resource having a clock cycle. The processor also comprises a plurality of work stores, each work store assigned into one of a plurality of virtual functions if a mode of the processor is set to a virtual function mode, and each work store assigned into one physical function if the mode of the processor is set to a physical function mode. The processor further comprises dispatch logic configured to dispatch work from any work store corresponding to any virtual function or physical function to any released hardware resources.
    Type: Application
    Filed: October 13, 2011
    Publication date: April 18, 2013
    Applicant: Cavium, Inc.
    Inventors: Jeffrey Schroeder, Jeff Pangborn, Najeeb Ansari, Bryan Chin, Leo Chen, Ahmed Shahid, Paul Scrobohaci, Chee Hu, Michael Carns, Wu Ye, Brian Hunter
  • Publication number: 20130067173
    Abstract: A processor with on-chip memory including a plurality of physical memory banks is disclosed. The processor includes a method, and corresponding apparatus, of enabling multi-access to the plurality of physical memory banks The method comprises selecting a subset of multiple access requests to be executed in at least one clock cycle over at least one of a number of access ports connected to the plurality of physical memory banks, the selected subset of access requests addressed to different physical memory banks, among the plurality of memory banks, and scheduling the selected subset of access requests, each over a separate access port.
    Type: Application
    Filed: August 2, 2012
    Publication date: March 14, 2013
    Applicant: Cavium, Inc.
    Inventors: Jeffrey A. Pangborn, Gregg A. Bouchard, Rajan Goyal, Najeeb I. Ansari, Ahmed Shahid
  • Publication number: 20120027029
    Abstract: A method is provided for offloading packet protocol encapsulation from software. In operation, pointer information is received. Furthermore, packet protocol encapsulation is offloaded from software by assembling packets in hardware, using the pointer information.
    Type: Application
    Filed: August 8, 2011
    Publication date: February 2, 2012
    Applicant: NETLOGIC MICROSYSTEMS, INC.
    Inventors: Kaushik Kuila, David T. Hass, Ahmed Shahid
  • Patent number: 7995596
    Abstract: A method is provided for offloading packet protocol encapsulation from software. In operation, pointer information is received. Furthermore, packet protocol encapsulation is offloaded from software by assembling packets in hardware, using the pointer information.
    Type: Grant
    Filed: May 13, 2008
    Date of Patent: August 9, 2011
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Kaushik Kuila, David T. Hass, Ahmed Shahid
  • Publication number: 20100058101
    Abstract: A system and method are provided for reducing a latency associated with timestamps in a multi-core, multi threaded processor. A processor capable of simultaneously processing a plurality of threads is provided. The processor includes a plurality of cores, a plurality of network interfaces for network communication, and a timer circuit for reducing a latency associated with timestamps used for synchronization of the network communication utilizing a precision time protocol.
    Type: Application
    Filed: August 29, 2008
    Publication date: March 4, 2010
    Inventors: Ahmed Shahid, Kaushik Kuila, David T. Hass
  • Publication number: 20090285235
    Abstract: A method is provided for offloading packet protocol encapsulation from software. In operation, pointer information is received. Furthermore, packet protocol encapsulation is offloaded from software by assembling packets in hardware, using the pointer information.
    Type: Application
    Filed: May 13, 2008
    Publication date: November 19, 2009
    Inventors: Kaushik Kuila, David T. Hass, Ahmed Shahid
  • Publication number: 20090201935
    Abstract: An apparatus and method are provided for allocating a plurality of packets to different processor threads. In operation, a plurality of packets are parsed to gather packet information. Additionally, a parse operation is performed utilizing the packet information to generate a key, and a hash algorithm is performed on this key to produce a hash. Further, the packets are allocated to different processor threads, utilizing the hash or the key.
    Type: Application
    Filed: February 8, 2008
    Publication date: August 13, 2009
    Inventors: David T. Hass, Kaushik Kuila, Ahmed Shahid