Patents by Inventor Dharmesh Parikh

Dharmesh Parikh 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: 11749332
    Abstract: Various embodiments include methods and devices for portion interleaving for asymmetric size memory portions. Embodiments may include determining an asymmetric memory portion assignment for an interleave unit, determining a consumed address space offset for consumed address space of a memory, modifying an address of the interleave unit using the consumed address space offset, and assigning the interleave unit to an interleave granule in the asymmetric memory portion using the modified address in a compact manner before assigning another interleave unit to another interleave granule. Embodiments may include receiving an address of memory access request in a memory, mapping the address to an interleave granule in an asymmetric memory portion, assigning consecutive interleave units to the interleave granule while the interleave granule has unused space before assigning another interleave unit to another interleave granule, and implementing the memory access request at the mapped address.
    Type: Grant
    Filed: February 11, 2021
    Date of Patent: September 5, 2023
    Assignee: QUALCOMM Incorporated
    Inventors: Kunal Desai, Saurabh Jaiswal, Vikrant Kumar, Swaraj Sha, Dharmesh Parikh
  • Publication number: 20230274774
    Abstract: Various embodiments include methods and devices for portion interleaving for asymmetric size memory portions. Embodiments may include determining an asymmetric memory portion assignment for an interleave unit, determining a consumed address space offset for consumed address space of a memory, modifying an address of the interleave unit using the consumed address space offset, and assigning the interleave unit to an interleave granule in the asymmetric memory portion using the modified address in a compact manner before assigning another interleave unit to another interleave granule. Embodiments may include receiving an address of memory access request in a memory, mapping the address to an interleave granule in an asymmetric memory portion, assigning consecutive interleave units to the interleave granule while the interleave granule has unused space before assigning another interleave unit to another interleave granule, and implementing the memory access request at the mapped address.
    Type: Application
    Filed: May 9, 2023
    Publication date: August 31, 2023
    Inventors: Kunal DESAI, Saurabh JAISWAL, Vikrant KUMAR, Swaraj SHA, Dharmesh PARIKH
  • Publication number: 20220254409
    Abstract: Various embodiments include methods and devices for portion interleaving for asymmetric size memory portions. Embodiments may include determining an asymmetric memory portion assignment for an interleave unit, determining a consumed address space offset for consumed address space of a memory, modifying an address of the interleave unit using the consumed address space offset, and assigning the interleave unit to an interleave granule in the asymmetric memory portion using the modified address in a compact manner before assigning another interleave unit to another interleave granule. Embodiments may include receiving an address of memory access request in a memory, mapping the address to an interleave granule in an asymmetric memory portion, assigning consecutive interleave units to the interleave granule while the interleave granule has unused space before assigning another interleave unit to another interleave granule, and implementing the memory access request at the mapped address.
    Type: Application
    Filed: February 11, 2021
    Publication date: August 11, 2022
    Inventors: Kunal DESAI, Saurabh JAISWAL, Vikrant KUMAR, Swaraj SHA, Dharmesh PARIKH
  • Patent number: 11042312
    Abstract: A system, method, and computer program product are provided herein to manage DRAM bank activation per cycle. A memory controller with embedded scheduling logic is employed to manage the system, method, and computer program product and to restrict the quantity of active banks in a given cycle, resulting in power savings with minimal performance loss, if any. The scheduling logic provides instructions to manage the state of associated DRAM banks. Each bank is either in an idle state or an active state, with the idle state consuming less power than the active state. The scheduling logic restricts the quantity of active banks in any cycle, with all other banks being in an idle state, which provides power savings to the associated system.
    Type: Grant
    Filed: August 22, 2019
    Date of Patent: June 22, 2021
    Assignee: International Business Machines Corporation
    Inventors: Dharmesh Parikh, Stephen J. Powell, Venkata K. Tavva
  • Patent number: 10572168
    Abstract: A system, method, and computer program product are provided herein to manage DRAM bank activation per cycle. A memory controller with embedded scheduling logic is employed to manage the system, method, and computer program product and to restrict the quantity of active banks in a given cycle, resulting in power savings with minimal performance loss, if any. The scheduling logic provides instructions to manage the state of associated DRAM banks. Each bank is either in an idle state or an active state, with the idle state consuming less power than the active state. The scheduling logic restricts the quantity of active banks in any cycle, with all other banks being in an idle state, which provides power savings to the associated system.
    Type: Grant
    Filed: November 16, 2017
    Date of Patent: February 25, 2020
    Assignee: International Business Machines Corporation
    Inventors: Dharmesh Parikh, Stephen J. Powell, Venkata K. Tavva
  • Publication number: 20190377504
    Abstract: A system, method, and computer program product are provided herein to manage DRAM bank activation per cycle. A memory controller with embedded scheduling logic is employed to manage the system, method, and computer program product and to restrict the quantity of active banks in a given cycle, resulting in power savings with minimal performance loss, if any. The scheduling logic provides instructions to manage the state of associated DRAM banks. Each bank is either in an idle state or an active state, with the idle state consuming less power than the active state. The scheduling logic restricts the quantity of active banks in any cycle, with all other banks being in an idle state, which provides power savings to the associated system.
    Type: Application
    Filed: August 22, 2019
    Publication date: December 12, 2019
    Applicant: International Business Machines Corporation
    Inventors: Dharmesh Parikh, Stephen J. Powell, Venkata K. Tavva
  • Patent number: 10380040
    Abstract: Scheduling memory operations using bank groups including receiving, by a sequencing engine in a memory controller, a set of operations targeting locations in a memory device, wherein the memory device comprises a plurality of bank groups; determining, by the sequencing engine, a targeted bank group of each of the set of operations; selecting, by the sequencing engine, one of the set of operations based on the targeted bank group of each of the set of operations and a bank group of a previously sent operation; and sending, by the sequencing engine, the selected one of the set of operations to the memory device.
    Type: Grant
    Filed: October 24, 2017
    Date of Patent: August 13, 2019
    Assignee: International Business Machines Corporation
    Inventors: Venkata K. Tavva, Dharmesh Parikh, Stephen J. Powell
  • Publication number: 20190146694
    Abstract: A system, method, and computer program product are provided herein to manage DRAM bank activation per cycle. A memory controller with embedded scheduling logic is employed to manage the system, method, and computer program product and to restrict the quantity of active banks in a given cycle, resulting in power savings with minimal performance loss, if any. The scheduling logic provides instructions to manage the state of associated DRAM banks. Each bank is either in an idle state or an active state, with the idle state consuming less power than the active state. The scheduling logic restricts the quantity of active banks in any cycle, with all other banks being in an idle state, which provides power savings to the associated system.
    Type: Application
    Filed: November 16, 2017
    Publication date: May 16, 2019
    Applicant: International Business Machines Corporation
    Inventors: Dharmesh Parikh, Stephen J. Powell, Venkata K. Tavva
  • Publication number: 20190121565
    Abstract: Scheduling memory operations using bank groups including receiving, by a sequencing engine in a memory controller, a set of operations targeting locations in a memory device, wherein the memory device comprises a plurality of bank groups; determining, by the sequencing engine, a targeted bank group of each of the set of operations; selecting, by the sequencing engine, one of the set of operations based on the targeted bank group of each of the set of operations and a bank group of a previously sent operation; and sending, by the sequencing engine, the selected one of the set of operations to the memory device.
    Type: Application
    Filed: October 24, 2017
    Publication date: April 25, 2019
    Inventors: Venkata K. TAVVA, Dharmesh PARIKH, Stephen J. POWELL
  • Patent number: 9703711
    Abstract: A computer system has a plurality of processors with non-blocking memory caches. A controller sets an upper limit of allowed snoop commands for the computer system. The controller adjusts, using real-time bandwidth data of the computing system, the limit of snoop commands to a new numerical value. The controller detects that the snoop limit is being adjusted between snoop rates more than a threshold number of times. The controller designates an overriding limit of snoop commands in response to detecting the snoop limit being adjusted more than the threshold number of times. The overriding limit of snoop commands is fixed for a period of time. The controller delays snoop commands which exceed the overriding limit of snoop commands during the period of time.
    Type: Grant
    Filed: August 19, 2015
    Date of Patent: July 11, 2017
    Assignee: International Business Machines Corporation
    Inventors: Dharmesh Parikh, Gopikrishnan Viswanadhan
  • Patent number: 9703710
    Abstract: A computer system has a plurality of processors with non-blocking memory caches. A controller sets an upper limit of allowed snoop commands for the computer system. The controller adjusts, using real-time bandwidth data of the computing system, the limit of snoop commands to a new numerical value. The controller detects that the snoop limit is being adjusted between snoop rates more than a threshold number of times. The controller designates an overriding limit of snoop commands in response to detecting the snoop limit being adjusted more than the threshold number of times. The overriding limit of snoop commands is fixed for a period of time. The controller delays snoop commands which exceed the overriding limit of snoop commands during the period of time.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: July 11, 2017
    Assignee: International Business Machines Corporation
    Inventors: Dharmesh Parikh, Gopikrishnan Viswanadhan
  • Publication number: 20170052893
    Abstract: A computer system has a plurality of processors with non-blocking memory caches. A controller sets an upper limit of allowed snoop commands for the computer system. The controller adjusts, using real-time bandwidth data of the computing system, the limit of snoop commands to a new numerical value. The controller detects that the snoop limit is being adjusted between snoop rates more than a threshold number of times. The controller designates an overriding limit of snoop commands in response to detecting the snoop limit being adjusted more than the threshold number of times. The overriding limit of snoop commands is fixed for a period of time. The controller delays snoop commands which exceed the overriding limit of snoop commands during the period of time.
    Type: Application
    Filed: September 30, 2015
    Publication date: February 23, 2017
    Inventors: Dharmesh Parikh, Gopikrishnan Viswanadhan
  • Publication number: 20170052894
    Abstract: A computer system has a plurality of processors with non-blocking memory caches. A controller sets an upper limit of allowed snoop commands for the computer system. The controller adjusts, using real-time bandwidth data of the computing system, the limit of snoop commands to a new numerical value. The controller detects that the snoop limit is being adjusted between snoop rates more than a threshold number of times. The controller designates an overriding limit of snoop commands in response to detecting the snoop limit being adjusted more than the threshold number of times. The overriding limit of snoop commands is fixed for a period of time. The controller delays snoop commands which exceed the overriding limit of snoop commands during the period of time.
    Type: Application
    Filed: August 19, 2015
    Publication date: February 23, 2017
    Inventors: Dharmesh Parikh, Gopikrishnan Viswanadhan
  • Patent number: 8612295
    Abstract: The invention is directed to techniques for processing order messages exchanged between a client and an order server. The order messages can be for products and services that the customer orders from a vendor. The client provides the input order messages, which contain order commands in a predefined document format, to an order message manager of the order server, which also provides an order message sorter and message processing modules. The order message sorter reads the input document in the input order message to determine a type for the message and then directs the message to a message processing module capable of processing that type of order message. The message processing module processes the input document, obtains data if needed from an order database, and prepares an output document to include in an output order message to be returned to the client.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: December 17, 2013
    Assignee: Cisco Technology, Inc.
    Inventors: Arvind D. Gidwani, Subramanian Srinivasan, Dharmesh Parikh
  • Publication number: 20110320299
    Abstract: The invention is directed to techniques for processing order messages exchanged between a client and an order server. The order messages can be for products and services that the customer orders from a vendor. The client provides the input order messages, which contain order commands in a predefined document format, to an order message manager of the order server, which also provides an order message sorter and message processing modules. The order message sorter reads the input document in the input order message to determine a type for the message and then directs the message to a message processing module capable of processing that type of order message. The message processing module processes the input document, obtains data if needed from an order database, and prepares an output document to include in an output order message to be returned to the client.
    Type: Application
    Filed: September 9, 2011
    Publication date: December 29, 2011
    Inventors: Arvind D. Gidwani, Subramanian Srinivasan, Dharmesh Parikh
  • Patent number: 8019647
    Abstract: The invention is directed to techniques for processing order messages exchanged between a client and an order server. The order messages can be for products and services that the customer orders from a vendor. The client provides the input order messages, which contain order commands in a predefined document format, to an order message manager of the order server, which also provides an order message sorter and message processing modules. The order message sorter reads the input document in the input order message to determine a type for the message and then directs the message to a message processing module capable of processing that type of order message. The message processing module processes the input document, obtains data if needed from an order database, and prepares an output document to include in an output order message to be returned to the client.
    Type: Grant
    Filed: March 20, 2007
    Date of Patent: September 13, 2011
    Assignee: Cisco Technology, Inc.
    Inventors: Arvind D. Gidwani, Subramanian Srinivasan, Dharmesh Parikh
  • Patent number: 7203658
    Abstract: The invention is directed to techniques for processing order messages exchanged between a client and an order server. The order messages can be for products and services that the customer orders from a vendor. The client provides the input order messages, which contain order commands in a predefined document format, to an order message manager of the order server, which also provides an order message sorter and message processing modules. The order message sorter reads the input document in the input order message to determine a type for the message and then directs the message to a message processing module capable of processing that type of order message. The message processing module processes the input document, obtains data if needed from an order database, and prepares an output document to include in an output order message to be returned to the client.
    Type: Grant
    Filed: March 19, 2001
    Date of Patent: April 10, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Arvind D. Gidwani, Subramanian Srinivasan, Dharmesh Parikh