Patents by Inventor Saurabh Garg

Saurabh Garg 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: 20200065244
    Abstract: Methods and apparatus for using and controlling a jointly shared memory-mapped region between multiple processors in a pass-through manner. Existing data pipe input/output (I/O) techniques for mobile device operation enable high speed data transfers, decoupled independent operation of processors, reduced software complexity, reduced power consumption, etc. However, legacy functions and capabilities may only receive marginal benefits from data pipe I/O operation, and in some cases, may even suffer adverse effects from e.g., processing overhead and/or context switching. The present disclosure is directed to dynamically isolating and reaping back a jointly shared memory space for data transfer in a “pass through” manner which does not require kernel space intervention. More directly, a jointly shared region of host memory is accessible to both the peripheral client and the host client in user space.
    Type: Application
    Filed: August 24, 2018
    Publication date: February 27, 2020
    Inventors: Karan Sanghi, Saurabh Garg, Jason McElrath
  • Patent number: 10572390
    Abstract: Methods and apparatus for enabling a peripheral processor to retrieve and load firmware for execution within the constraints of its memory. The peripheral processor is allocated a portion of the host processor's memory, to function as a logical secondary and tertiary memory for memory cache operation. The described embodiments enable the peripheral processor to support much larger and more complex firmware. Additionally, a multi-facetted locking mechanism is described which enables the peripheral processor and the host processor to access the secondary memory, while minimally impacting the other processor.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: February 25, 2020
    Assignee: Apple Inc.
    Inventors: Vladislav Petkov, Haining Zhang, Karan Sanghi, Saurabh Garg
  • Patent number: 10558580
    Abstract: Methods and apparatus for enabling a peripheral processor to retrieve and load firmware for execution within the constraints of its memory. The peripheral processor is allocated a portion of the host processor's memory, to function as a logical secondary and tertiary memory for memory cache operation. The described embodiments enable the peripheral processor to support much larger and more complex firmware. Additionally, a multi-facetted locking mechanism is described which enables the peripheral processor and the host processor to access the secondary memory, while minimally impacting the other processor.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: February 11, 2020
    Assignee: Apple Inc.
    Inventors: Vladislav Petkov, Haining Zhang, Karan Sanghi, Saurabh Garg
  • Patent number: 10552352
    Abstract: Methods and apparatus for a synchronized multi-directional transfer on an inter-processor communication (IPC) link. In one embodiment, the synchronized multi-directional transfer utilizes one or more buffers which are configured to accumulate data during a first state. The one or more buffers are further configured to transfer the accumulated data during a second state. Data is accumulated during a low power state where one or more processors are inactive, and the data transfer occurs during an operational state where the processors are active. Additionally, in some variants, the data transfer may be performed for currently available transfer resources, and halted until additional transfer resources are made available. In still other variants, one or more of the independently operable processors may execute traffic monitoring processes so as to optimize data throughput of the IPC link.
    Type: Grant
    Filed: August 6, 2018
    Date of Patent: February 4, 2020
    Assignee: Apple Inc.
    Inventors: Karan Sanghi, Vladislav Petkov, Radha Kumar Pulyala, Saurabh Garg, Haining Zhang
  • Patent number: 10551328
    Abstract: A test fixture includes an outer conductor and an inner conductor disposed within and electrically isolated from the outer conductor. The inner conductor includes a top portion having a first diameter, a bottom portion having a second diameter, and a third portion proximate the bottom portion that has a third diameter that is less than the second diameter and is greater than the first diameter. An electrical property of a chamber component disposed within the outer conductor is measurable based on application of a signal to at least one of the outer conductor or the inner conductor.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: February 4, 2020
    Assignee: Applied Materials, Inc.
    Inventors: Satoru Kobayashi, Yufei Zhu, Saurabh Garg, Soonam Park, Dmitry Lubomirsky
  • Patent number: 10551902
    Abstract: Methods and apparatus for isolation of sub-system resources (such as clocks, power, and reset) within independent domains. In one embodiment, each sub-system of a system has one or more dedicated power and clock domains that operate independent of other sub-system operation. For example, in an exemplary mobile device with cellular, WLAN and PAN connectivity, each such sub-system is connected to a common memory mapped bus function, yet can operate independently. The disclosed architecture advantageously both satisfies the power consumption limitations of mobile devices, and concurrently provides the benefits of memory mapped connectivity for high bandwidth applications on such mobile devices.
    Type: Grant
    Filed: July 11, 2017
    Date of Patent: February 4, 2020
    Assignee: Apple Inc.
    Inventors: Saurabh Garg, Karan Sanghi, Vladislav Petkov, Richard Solotke
  • Patent number: 10551906
    Abstract: Methods and apparatus for an inter-processor communication (IPC) link between two (or more) independently operable processors. In one aspect, the IPC protocol is based on a “shared” memory interface for run-time processing (i.e., the independently operable processors each share (either virtually or physically) a common memory interface). In another aspect, the IPC communication link is configured to support a host driven boot protocol used during a boot sequence to establish a basic communication path between the peripheral and the host processors. Various other embodiments described herein include sleep procedures (as defined separately for the host and peripheral processors), and error handling.
    Type: Grant
    Filed: September 17, 2018
    Date of Patent: February 4, 2020
    Assignee: Apple Inc.
    Inventors: Karan Sanghi, Saurabh Garg, Haining Zhang
  • Publication number: 20200034186
    Abstract: Methods and apparatus for acknowledging and verifying the completion of data transactions over an inter-processor communication (IPC) link between two (or more) independently operable processors. In one embodiment, a host-side processor delivers payloads over the IPC link using one or more transfer descriptors (TDs) that describe the payloads. The TDs are written in a particular order to a transfer descriptor ring (TR) in a shared memory between the host and peripheral processors. The peripheral reads the TDs over the IPC link and transacts, in proper order, the data retrieved based on the TDs. To acknowledge the transaction, the peripheral processor writes completion descriptors (CDs) to a completion descriptor ring (CR). The CD may complete one or more TDs; in optimized completion schemes the CD completes all outstanding TDs up to and including the expressly completed TD.
    Type: Application
    Filed: July 30, 2018
    Publication date: January 30, 2020
    Inventors: KARAN SANGHI, Saurabh Garg, Vladislav V. Petkov
  • Publication number: 20200026668
    Abstract: Methods and apparatus for reducing bus overhead with virtualized transfer rings. The Inter-Processor Communications (IPC) bus uses a ring buffer (e.g., a so-called Transfer Ring (TR)) to provide Direct Memory Access (DMA)-like memory access between processors. However, performing small transactions within the TR inefficiently uses bus overhead. A Virtualized Transfer Ring (VTR) is a null data structure that doesn't require any backing memory allocation. A processor servicing a VTR data transfer includes the data payload as part of an optional header/footer data structure within a completion ring (CR).
    Type: Application
    Filed: September 30, 2019
    Publication date: January 23, 2020
    Inventors: Karan Sanghi, Saurabh Garg, Vladislav V. Petkov
  • Publication number: 20190385823
    Abstract: Gas distribution assemblies are described including an annular body, an upper plate, and a lower plate. The upper plate may define a first plurality of apertures, and the lower plate may define a second and third plurality of apertures. The upper and lower plates may be coupled with one another and the annular body such that the first and second apertures produce channels through the gas distribution assemblies, and a volume is defined between the upper and lower plates.
    Type: Application
    Filed: July 15, 2019
    Publication date: December 19, 2019
    Applicant: Applied Materials, Inc.
    Inventors: Qiwei Liang, Xinglong Chen, Kien Chuc, Dmitry Lubomirsky, Soonam Park, Jang-Gyoo Yang, Shankar Venkataraman, Toan Tran, Kimberly Hinckley, Saurabh Garg
  • Publication number: 20190377703
    Abstract: Methods and apparatus for data transmissions over an inter-processor communication (IPC) link between two (or more) independently operable processors. In one embodiment, the IPC link is configured to enable an independently operable processor to transact data to another independently operable processor, while obviating transactions (such as via direct memory access) by encapsulating a payload within a data structure. For example, a host processor may insert the payload into a transfer descriptor (TD), and transmit the TD to a peripheral processor. The host processor may also include a head index and/or a tail index within a doorbell message sent to the peripheral processor, obviating another access of memory. The peripheral processor may perform similar types of transactions via a completion descriptor (CD) sent to the host processor. In some variants, the peripheral may be a Bluetooth-enabled device optimized for low-latency, low-power, and/or low-throughput transactions.
    Type: Application
    Filed: June 24, 2019
    Publication date: December 12, 2019
    Inventors: Vladislav Petkov, Saurabh Garg, Karan Sanghi, Haining Zhang
  • Patent number: 10489223
    Abstract: Methods and apparatus for scheduling time sensitive operations among independent processors. In one embodiment, an application processor (AP) determines transmission timing parameters for a baseband processor (BB). Thereafter, the AP can generate and transact generic time-sensitive real-time transport protocol (RTP) data with the BB in time for transmission via a Long Term Evolution (LTE) communication stack. In this manner, the AP's scheduler can coordinate/accommodate digital audio tasks within the context of its other tasks (e.g., to enable intelligent sleep and wake-up operation, load balancing, memory usage, and/or any number of other processor management functions).
    Type: Grant
    Filed: December 13, 2017
    Date of Patent: November 26, 2019
    Assignee: Apple Inc.
    Inventors: Jason McElrath, Karan Sanghi, Saurabh Garg
  • Publication number: 20190342225
    Abstract: Methods and apparatus for non-sequential packet transfer. Prior art multi-processor devices implement a complete network communications stack at each processor. The disclosed embodiments provide techniques for delivering network layer (L3) and/or transport layer (L4) data payloads in the order of receipt, rather than according to the data link layer (L2) order. The described techniques enable e.g., earlier packet delivery. Such design topologies can operate within a substantially smaller memory footprint compared to prior art solutions. As a related benefit, applications that are unaffected by data link layer corruptions can receive data immediately (rather than waiting for the re-transmission of an unrelated L4 data flow) and thus the overall network latency can be greatly reduced and user experience can be improved.
    Type: Application
    Filed: May 7, 2018
    Publication date: November 7, 2019
    Inventors: Karan Sanghi, Saurabh Garg, Cahya Adiansyah Masputra
  • Publication number: 20190340798
    Abstract: Certain embodiments involve calculating a vanishing point location of an image to realistically blend multiple images. For example, a method for modifying image content based on a vanishing point location computed for a background image includes receiving the background image and classifying a set of planes in the background image. The method also includes identifying, using plane boundaries, a first set of line segments that define first convergence points. Additionally, the method includes identifying a second set of line segments that are positioned within individual planes and that define second convergence points. Further, the method includes grouping the first convergence points and the second convergence points into a cluster and computing the vanishing point location from an average of point locations in the cluster. Furthermore, the method includes manipulating a feature image overlaid on the background image to generate a blended image based on the vanishing point location.
    Type: Application
    Filed: May 7, 2018
    Publication date: November 7, 2019
    Inventor: Saurabh Garg
  • Publication number: 20190332450
    Abstract: Methods and apparatus for time sensitive data transfer between logical domains. In one embodiment, an user equipment (UE) device has an application processor (AP) coupled to a baseband processor (BB) that operate independently of one another normally, but may cooperate in limited hybrid use scenarios. For example, the BB receives audio packets via a cellular network that are converted to pulse code modulated (PCM) digital audio to be played by the AP. Unfortunately, since the AP and the BB are independently clocked, they will experience some clock drift. As a result, the audio playback may have undesirable artifacts if the drift is not otherwise compensated for. To these ends, the AP and/or BB determine a relative clock drift and compensate for playback by e.g., adding, padding, or deleting audio samples and/or audio packets. Techniques for handover scenarios are also disclosed.
    Type: Application
    Filed: July 8, 2019
    Publication date: October 31, 2019
    Inventors: Jason Mcelrath, Karan Sanghi, Saurabh Garg
  • Publication number: 20190317591
    Abstract: Methods and apparatus for an inter-processor communication (IPC) link between two (or more) independently operable processors. In one aspect, the IPC protocol is based on a “shared” memory interface for run-time processing (i.e., the independently operable processors each share (either virtually or physically) a common memory interface). In another aspect, the IPC communication link is configured to support a host driven boot protocol used during a boot sequence to establish a basic communication path between the peripheral and the host processors. Various other embodiments described herein include sleep procedures (as defined separately for the host and peripheral processors), and error handling.
    Type: Application
    Filed: April 22, 2019
    Publication date: October 17, 2019
    Inventors: Karan Sanghi, Saurabh Garg, Haining Zhang
  • Patent number: 10430352
    Abstract: Methods and apparatus for reducing bus overhead with virtualized transfer rings. The Inter-Processor Communications (IPC) bus uses a ring buffer (e.g., a so-called Transfer Ring (TR)) to provide Direct Memory Access (DMA)-like memory access between processors. However, performing small transactions within the TR inefficiently uses bus overhead. A Virtualized Transfer Ring (VTR) is a null data structure that doesn't require any backing memory allocation. A processor servicing a VTR data transfer includes the data payload as part of an optional header/footer data structure within a completion ring (CR).
    Type: Grant
    Filed: May 18, 2018
    Date of Patent: October 1, 2019
    Assignee: Apple Inc.
    Inventors: Karan Sanghi, Saurabh Garg, Vladislav V. Petkov
  • Patent number: 10432705
    Abstract: A control device configuration system may receive, store, process, and/or display control device configuration information. The control device configuration system may filter the control device configuration information based on user selections of configuration options for configuration parameters. The control device configuration system may identify compatible and incompatible configuration options for various configuration parameters. The control device configuration system may allow selections of the incompatible configuration options. The control device configuration system may adjust how it filters the control device configuration information based on the selections of the incompatible configuration options. The control device configuration system may implement a configuration model that includes configuration parameter groups for efficient evaluation of user selections.
    Type: Grant
    Filed: March 23, 2017
    Date of Patent: October 1, 2019
    Assignee: Lutron Technology Company LLC
    Inventors: Ram Kripal Prasad, Saurabh Garg
  • Patent number: 10372637
    Abstract: Methods and apparatus for data aggregation and multiplexing of one or more virtual bus interfaces via a physical bus interface. Various disclosed embodiments are configured to: (i) multiplex multiple logical interfaces over a single physical interface, (ii) exchange session management and logical interface control, (iii) manage flow control, (iv) provide “hints” about the data (e.g., metadata), and/or (v) pad data packets. In one particular implementation, the methods and apparatus are configured for use within a wireless-enabled portable electronic device, such as for example a cellular-enabled smartphone, and make use of one or more features of a high-speed serialized physical bus interface.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: August 6, 2019
    Assignee: Apple Inc.
    Inventors: Radha Kumar Pulyala, Saurabh Garg, Karan Sanghi
  • Patent number: 10372199
    Abstract: Methods and apparatus for an inter-processor communication (IPC) link between two (or more) independently operable processors. In one aspect, the IPC protocol is based on a “shared” memory interface for run-time processing (i.e., the independently operable processors each share (either virtually or physically) a common memory interface). In another aspect, the IPC communication link is configured to support a host driven boot protocol used during a boot sequence to establish a basic communication path between the peripheral and the host processors. Various other embodiments described herein include sleep procedures (as defined separately for the host and peripheral processors), and error handling.
    Type: Grant
    Filed: September 29, 2017
    Date of Patent: August 6, 2019
    Assignee: Apple Inc.
    Inventors: Karan Sanghi, Saurabh Garg, Haining Zhang