Patents by Inventor Sanjay Vishin
Sanjay Vishin 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: 10779194Abstract: Systems, methods, and devices of the various embodiments provide for multipath transport of Internet Protocol (IP) packets by a computing device including a plurality of modems. In various embodiments, IP packets may be assigned to a selected one of a plurality of modems for transport based on available bandwidths of each of the plurality of modems.Type: GrantFiled: March 17, 2018Date of Patent: September 15, 2020Assignee: QUALCOMM IncorporatedInventors: Ralph Akram Gholmieh, Susheel Kumar Yadav Yadagiri, Sanjay Vishin, Siddharth Chitnis, Varun Tutpetkeshavamurthy, Bojun Pan, Vaibhav Kumar
-
Patent number: 10609529Abstract: Systems, methods, and devices of the various embodiments provide a multipath communication scheduler for an in-vehicle computing device, such as a vehicle's autonomous driving system, vehicle's telematics unit, vehicle's control system, etc. In various embodiments, a centralized scheduler for an in-vehicle computing device may assign packets for transport to a plurality of modems based at least in part on delivery delays associated with the plurality of modems. In various embodiments, delivery delays may be determined based on one or more of queue sizes of the plurality of modems, delivery rate estimates of the plurality of modems, and end to end delay estimates.Type: GrantFiled: November 11, 2017Date of Patent: March 31, 2020Assignee: QUALCOMM IncorporatedInventors: Ralph Akram Gholmieh, Sivaramakrishna Veerepalli, Min Wang, Susheel Kumar Yadav Yadagiri, Varun TutpetKeshavaMurthy, Sanjay Vishin
-
Patent number: 10601710Abstract: Systems, methods, and devices of the various embodiments provide for multipath transport of Internet Protocol (IP) packets by an in-vehicle computing device, such as a vehicle's autonomous driving system, vehicle's telematics unit, vehicle's control system, etc. In various embodiments, IP packets may be extended to include tracking information. In various embodiments, the tracking information may include sequence numbers, sender reports, receiver reports, version indications, and/or length indications. In various embodiments, IP packets may be extended to include tracking information by a centralized scheduler for an in-vehicle computing device including a plurality of modems and/or a destination computing device.Type: GrantFiled: February 28, 2018Date of Patent: March 24, 2020Assignee: QUALCOMM IncorporatedInventors: Ralph Akram Gholmieh, Susheel Kumar Yadav Yadagiri, Vaibhav Kumar, Sanjay Vishin, Siddharth Chitnis
-
Patent number: 10284475Abstract: Systems, methods, and devices of the various embodiments provide a multipath communication scheduler for an in-vehicle computing device, such as a vehicle's autonomous driving system, vehicle's telematics unit, vehicle's control system, etc. In various embodiments, a distributed leaky bucket based scheduler for an in-vehicle computing device may assign packets for transport to a plurality of modems based at least in part on the determined delivery delays. In various embodiments, delivery delays may be determined based on leaky bucket levels, burst sizes, delivery rates, and end to end delay estimates for each of the plurality of modems. In various embodiments, the scheduler may be one of a plurality of schedulers each associated with a separate stream of packets assigned to the plurality of modems and the leaky bucket levels may be determined on a per stream basis.Type: GrantFiled: November 11, 2017Date of Patent: May 7, 2019Assignee: QUALCOMM IncorporatedInventors: Ralph Akram Gholmieh, Sivaramakrishna Veerepalli, Min Wang, Susheel Kumar Yadav Yadagiri, Varun Tutpetkeshavamurthy, Sanjay Vishin
-
Publication number: 20190132555Abstract: Methods and systems to broadcast sensor outputs in an automotive environment allow sensors such as cameras to output relatively unprocessed (raw) data to two or more different processing circuits where the processing circuits are located in separate and distinct embedded control units (ECUs). A first one of the two or more different processing circuits processes the raw data for human consumption. A second one of the two or more different processing circuits processes the raw data for machine utilization such as for autonomous driving functions. Such an arrangement allows for greater flexibility in utilization of the data from the sensors without imposing undue latency in the processing stream and without compromising key performance indices for human use and machine use.Type: ApplicationFiled: September 7, 2018Publication date: May 2, 2019Inventors: Jeffrey Hao Chu, Rahul Gulati, Robert Hardacker, Alex Jong, Mohammad Reza Kakoee, Behnam Katibian, Anshuman Saxena, Sanjay Vishin, Sanat Kapoor
-
Publication number: 20180279175Abstract: Systems, methods, and devices of the various embodiments provide for multipath transport of Internet Protocol (IP) packets by a computing device including a plurality of modems. In various embodiments, IP packets may be assigned to a selected one of a plurality of modems for transport based on available bandwidths of each of the plurality of modems.Type: ApplicationFiled: March 17, 2018Publication date: September 27, 2018Inventors: Ralph Akram GHOLMIEH, Susheel Kumar Yadav YADAGIRI, Sanjay VISHIN, Siddharth CHITNIS, Varun TUTPETKESHAVAMURTHY, Bojun PAN, Vaibhav KUMAR
-
Publication number: 20180270150Abstract: Systems, methods, and devices of the various embodiments provide for multipath transport of Internet Protocol (IP) packets by an in-vehicle computing device, such as a vehicle's autonomous driving system, vehicle's telematics unit, vehicle's control system, etc. In various embodiments, IP packets may be extended to include tracking information. In various embodiments, the tracking information may include sequence numbers, sender reports, receiver reports, version indications, and/or length indications. In various embodiments, IP packets may be extended to include tracking information by a centralized scheduler for an in-vehicle computing device including a plurality of modems and/or a destination computing device.Type: ApplicationFiled: February 28, 2018Publication date: September 20, 2018Inventors: Ralph Akram GHOLMIEH, Susheel KumarYadav YADAGIRI, Vaibhav KUMAR, Sanjay VISHIN, Siddharth CHITNIS
-
Publication number: 20180139585Abstract: Systems, methods, and devices of the various embodiments provide a multipath communication scheduler for an in-vehicle computing device, such as a vehicle's autonomous driving system, vehicle's telematics unit, vehicle's control system, etc. In various embodiments, a centralized scheduler for an in-vehicle computing device may assign packets for transport to a plurality of modems based at least in part on delivery delays associated with the plurality of modems. In various embodiments, delivery delays may be determined based on one or more of queue sizes of the plurality of modems, delivery rate estimates of the plurality of modems, and end to end delay estimates.Type: ApplicationFiled: November 11, 2017Publication date: May 17, 2018Inventors: Ralph Akram Gholmieh, Sivaramakrishna Veerepalli, Min Wang, Susheel Kumar Yadav Yadagiri, Varun TutpetKeshavaMurthy, Sanjay Vishin
-
Publication number: 20180139140Abstract: Systems, methods, and devices of the various embodiments provide a multipath communication scheduler for an in-vehicle computing device, such as a vehicle's autonomous driving system, vehicle's telematics unit, vehicle's control system, etc. In various embodiments, a distributed leaky bucket based scheduler for an in-vehicle computing device may assign packets for transport to a plurality of modems based at least in part on the determined delivery delays. In various embodiments, delivery delays may be determined based on leaky bucket levels, burst sizes, delivery rates, and end to end delay estimates for each of the plurality of modems. In various embodiments, the scheduler may be one of a plurality of schedulers each associated with a separate stream of packets assigned to the plurality of modems and the leaky bucket levels may be determined on a per stream basis.Type: ApplicationFiled: November 11, 2017Publication date: May 17, 2018Inventors: Ralph Akram Gholmieh, Sivaramakrishna Veerepalli, Min Wang, Susheel Kumar Yadav Yadagiri, Varun Tutpetkeshavamurthy, Sanjay Vishin
-
Patent number: 8725950Abstract: A processor includes multiple processor core units, each including a processor core and a cache memory. Victim lines evicted from a first processor core unit's cache may be stored in another processor core unit's cache, rather than written back to system memory. If the victim line is later requested by the first processor core unit, the victim line is retrieved from the other processor core unit's cache. The processor has low latency data transfers between processor core units. The processor transfers victim lines directly between processor core units' caches or utilizes a victim cache to temporarily store victim lines while searching for their destinations. The processor evaluates cache priority rules to determine whether victim lines are discarded, written back to system memory, or stored in other processor core units' caches. Cache priority rules can be based on cache coherency data, load balancing schemes, and architectural characteristics of the processor.Type: GrantFiled: June 30, 2010Date of Patent: May 13, 2014Assignee: MIPS Technologies, Inc.Inventor: Sanjay Vishin
-
Patent number: 8151268Abstract: A multithreading processor for concurrently executing multiple threads is provided. The processor includes an execution pipeline and a thread scheduler that dispatches instructions of the threads to the execution pipeline. The execution pipeline execution pipeline is configured for generating a thread context (TC) flush indicator associated with a thread context when one or more instructions of the thread context would stall in the execution pipeline. One or more instructions in the pipeline of the thread context associated with the thread context flush signal can be flushed or nullified.Type: GrantFiled: January 8, 2010Date of Patent: April 3, 2012Assignee: MIPS Technologies, Inc.Inventors: Darren M. Jones, Ryan C. Kinter, Michael Gottlieb Jensen, Sanjay Vishin
-
Patent number: 8037253Abstract: A method and apparatus is described for insuring coherency between memories in a multi-agent system where the agents are interconnected by one or more fabrics. A global arbiter is used to segment coherency into three phases: request; snoop; and response, and to apply global ordering to the requests. A bus interface having request, snoop, and response logic is provided for each agent. A bus interface having request, snoop and response logic is provided for the global arbiter, and a bus interface is provided to couple the global arbiter to each type of fabric it is responsible for. Global ordering and arbitration logic tags incoming requests from the multiple agents and insures that snoops are responded to according to the global order, without regard to latency differences in the fabrics.Type: GrantFiled: September 10, 2009Date of Patent: October 11, 2011Assignee: MIPS Technologies, Inc.Inventors: Thomas A. Petersen, Sanjay Vishin
-
Patent number: 8009090Abstract: Systems and methods are disclosed herein to dynamically vary supply voltages and clock frequencies, also known as dynamic voltage scaling (DVS), in GPS receivers to minimize receiver power consumption while meeting performance requirements. For the baseband circuitry performing satellite acquisition and tracking, supply voltages and clock frequencies to the baseband circuitry are dynamically adjusted as a function of signal processing requirements and operating conditions for reducing baseband power consumption. Similarly, the supply voltage and clock frequency to the processor running navigation software and event processing are dynamically adjusted as a function of navigation performance requirements and event occurrences to reduce processor power consumption.Type: GrantFiled: May 5, 2009Date of Patent: August 30, 2011Assignee: SiRF Technology, Inc.Inventors: Sanjay Vishin, Steve Gronemeyer
-
Publication number: 20110055488Abstract: A processor includes multiple processor core units, each including a processor core and a cache memory. Victim lines evicted from a first processor core unit's cache may be stored in another processor core unit's cache, rather than written back to system memory. If the victim line is later requested by the first processor core unit, the victim line is retrieved from the other processor core unit's cache. The processor has low latency data transfers between processor core units. The processor transfers victim lines directly between processor core units' caches or utilizes a victim cache to temporarily store victim lines while searching for their destinations. The processor evaluates cache priority rules to determine whether victim lines are discarded, written back to system memory, or stored in other processor core units' caches. Cache priority rules can be based on cache coherency data, load balancing schemes, and architectural characteristics of the processor.Type: ApplicationFiled: June 30, 2010Publication date: March 3, 2011Applicant: MIPS Technologies, Inc.Inventor: Sanjay Vishin
-
Patent number: 7853777Abstract: An apparatus for reducing instruction re-fetching in a multithreading processor configured to concurrently execute a plurality of threads is disclosed. The apparatus includes a buffer for each thread that stores fetched instructions of the thread, having an indicator for indicating which of the fetched instructions in the buffer have already been dispatched for execution. An input for each thread indicates that one or more of the already-dispatched instructions in the buffer has been flushed from execution. Control logic for each thread updates the indicator to indicate the flushed instructions are no longer already-dispatched, in response to the input. This enables the processor to re-dispatch the flushed instructions from the buffer to avoid re-fetching the flushed instructions. In one embodiment, there are fewer buffers than threads, and they are dynamically allocatable by the threads. In one embodiment, a single integrated buffer is shared by all the threads.Type: GrantFiled: February 4, 2005Date of Patent: December 14, 2010Assignee: MIPS Technologies, Inc.Inventors: Darren M. Jones, Ryan C. Kinter, G. Michael Uhler, Sanjay Vishin
-
Publication number: 20100283680Abstract: Systems and methods are disclosed herein to dynamically vary supply voltages and clock frequencies, also known as dynamic voltage scaling (DVS), in GPS receivers to minimize receiver power consumption while meeting performance requirements. For the baseband circuitry performing satellite acquisition and tracking, supply voltages and clock frequencies to the baseband circuitry are dynamically adjusted as a function of signal processing requirements and operating conditions for reducing baseband power consumption. Similarly, the supply voltage and clock frequency to the processor running navigation software and event processing are dynamically adjusted as a function of navigation performance requirements and event occurrences to reduce processor power consumption.Type: ApplicationFiled: May 5, 2009Publication date: November 11, 2010Inventors: Sanjay Vishin, Steve Gronemeyer
-
Patent number: 7774549Abstract: A processor includes multiple processor core units, each including a processor core and a cache memory. Victim lines evicted from a first processor core unit's cache may be stored in another processor core unit's cache, rather than written back to system memory. If the victim line is later requested by the first processor core unit, the victim line is retrieved from the other processor core unit's cache. The processor has low latency data transfers between processor core units. The processor transfers victim lines directly between processor core units' caches or utilizes a victim cache to temporarily store victim lines while searching for their destinations. The processor evaluates cache priority rules to determine whether victim lines are discarded, written back to system memory, or stored in other processor core units' caches. Cache priority rules can be based on cache coherency data, load balancing schemes, and architectural characteristics of the processor.Type: GrantFiled: March 2, 2007Date of Patent: August 10, 2010Assignee: MIPS Technologies, Inc.Inventor: Sanjay Vishin
-
Patent number: 7769957Abstract: A processor prevents writeback race condition errors by maintaining responsibility for data until the writeback request is confirmed by an intervention message from a cache coherency manager. If a request for the same data arrives before the intervention message, the processor core unit provides the requested data and cancels the pending writeback request. The cache coherency data associated with cache lines indicates whether a request for data has been received prior to the intervention message associated with the writeback request. The cache coherency data of a cache line has a value of “modified” when the writeback request is initiated. When the intervention message associated with the writeback request is received, the cache lines's cache coherency data is examined. A change in the cache coherency data from the value of “modified” indicates that the request for data has been received prior to the intervention and the writeback request should be cancelled.Type: GrantFiled: June 22, 2007Date of Patent: August 3, 2010Assignee: MIPS Technologies, Inc.Inventors: Sanjay Vishin, Adam Stoler
-
Patent number: 7752627Abstract: A leaky-bucket style thread scheduler for scheduling concurrent execution of multiple threads in a microprocessor is provided. The execution pipeline notifies the scheduler when it has completed instructions. The scheduler maintains a virtual water level for each thread and decreases it each time the execution pipeline executes an instruction of the thread. The scheduler includes an instruction execution rate for each thread. The scheduler increases the virtual water level based on the requested rate per a predetermined number of clock cycles. The scheduler includes virtual water pressure parameters that define a set of virtual water pressure ranges over the height of the virtual water bucket. When a thread's virtual water level moves from one virtual water pressure range to the next higher range, the scheduler increases the instruction issue priority for the thread; conversely, when the level moves down, the scheduler decreases the instruction issue priority for the thread.Type: GrantFiled: February 4, 2005Date of Patent: July 6, 2010Assignee: MIPS Technologies, Inc.Inventors: Darren M. Jones, Ryan C. Kinter, Thomas A. Petersen, Sanjay Vishin
-
Patent number: 7739455Abstract: Livelocks are prevented in multiple core processors by verifying that a data access request is still valid before sending messages to processor cores that may cause other data access requests to fail. A cache coherency manager receives data access requests from multiple processor cores. Upon receiving a data access request that may cause a livelock, the cache coherency manager first sends an intervention message back to the requesting processor core to confirm that this data access request will succeed. If the requesting processor core determines that the data access request is still valid, it directs the cache coherency manager to proceed with the data access request. The cache coherency manager may then send intervention messages to other processor cores to complete the data access request. If the requesting processor core determines that the data access request is invalid, it directs the cache coherency manager to abandon the data access request.Type: GrantFiled: June 22, 2007Date of Patent: June 15, 2010Assignee: MIPS Technologies, Inc.Inventors: Sanjay Vishin, Ryan C. Kinter