Patents by Inventor Aasheesh KOLLI

Aasheesh KOLLI 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: 20200034297
    Abstract: A device is connected via a coherence interconnect to a CPU with a cache. The device monitors cache coherence events via the coherence interconnect, where the cache coherence events relate to the cache of the CPU. The device also includes a buffer that can contain representations, such as addresses, of cache lines. If a coherence event occurs on the coherence interconnect indicating that a cache line in the CPU's cache is dirty, then the device is configured to add an entry to the buffer to record the dirty cache line.
    Type: Application
    Filed: July 27, 2018
    Publication date: January 30, 2020
    Inventors: Irina CALCIU, Jayneel GANDHI, Aasheesh KOLLI, Pratap SUBRAHMANYAM
  • Publication number: 20200034294
    Abstract: Disclosed are embodiments for running an application on a local processor when the application is dependent on pages not locally present but contained in a remote host. The system is informed that the pages on which the application depends are locally present. While running, the application encounters a cache miss and a cache line satisfying the miss from the remote host is obtained and provided to the application. Alternatively, the page containing the cache line satisfying the miss is obtained and the portion of the page not including the cache line is stored locally while the cache line is provided to the application. The cache miss is discovered by monitoring coherence events on a coherence interconnect connected to the local processor. In some embodiments, the cache misses are tracked and provide a way to predict a set of pages to be pre-fetched in anticipation of the next cache misses.
    Type: Application
    Filed: July 27, 2018
    Publication date: January 30, 2020
    Inventors: Irina CALCIU, Jayneel GANDHI, Aasheesh KOLLI, Pratap SUBRAHMANYAM
  • Patent number: 10430186
    Abstract: The disclosure provides an approach for atomically executing computer instructions by a CPU of a computing device comprising non-volatile memory, the CPU configured to implement hardware transactional memory (HTM). The approach generally includes reading an instruction within a section of code designated as an HTM transaction, determining whether the instruction causes a data conflict with another thread, and copying cache lines from memory into a cache of the CPU. The approach further includes marking the copied cache lines as transactional, processing the instruction to create a persistent log within non-volatile memory, and unmarking the copied cache lines from transactional, to non-transactional.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: October 1, 2019
    Assignee: VMware, Inc.
    Inventors: Irina Calciu, Jayneel Gandhi, Pradeep Fernando, Aasheesh Kolli
  • Publication number: 20190129716
    Abstract: The disclosure provides an approach for atomically executing computer instructions by a CPU of a computing device comprising non-volatile memory, the CPU configured to implement hardware transactional memory (HTM). The approach generally includes reading an instruction within a section of code designated as an HTM transaction, determining whether the instruction causes a data conflict with another thread, and copying cache lines from memory into a cache of the CPU. The approach further includes marking the copied cache lines as transactional, processing the instruction to create a persistent log within non-volatile memory, and unmarking the copied cache lines from transactional, to non-transactional.
    Type: Application
    Filed: October 27, 2017
    Publication date: May 2, 2019
    Inventors: Irina CALCIU, Jayneel GANDHI, Pradeep FERNANDO, Aasheesh KOLLI
  • Publication number: 20190114092
    Abstract: The disclosure provides an approach for testing if a cache line of a cache has been flushed to non-volatile memory (NVM). The approach generally includes reading, by a central processing unit (CPU), data from the NVM. The approach further includes storing, by the CPU, a copy of the data in the cache as a cache line. The approach further includes modifying, by the CPU, at least a portion of the copy of the data in the cache. The approach further includes requesting, by the CPU, the cache line be flushed to the NVM. The approach further includes performing, by the CPU, one or more instructions in parallel to the cache line being flushed to the NVM. The approach further includes requesting, by the CPU, a state of the cache line and determining if the cache line has been persisted in the NVM based on the state of the cache line.
    Type: Application
    Filed: October 16, 2017
    Publication date: April 18, 2019
    Inventors: Irina CALCIU, Aasheesh KOLLI
  • Patent number: 10042776
    Abstract: An apparatus for processing data includes signature generation circuitry 30, 32 for generating a signature value indicative of the current state of the apparatus in dependence upon a sequence of immediately preceding return addresses generating during execution of a stream of program instructions to reach that state of the apparatus. Prefetch circuitry 10 performs one or more prefetch operations in dependence upon the signature value that is generated. The signature value may be generated by a hashing operation (such as an XOR) performed upon return addresses stored within a return address stack 28.
    Type: Grant
    Filed: November 20, 2012
    Date of Patent: August 7, 2018
    Assignees: ARM Limited, The Regents of the University of Michigan
    Inventors: Ali Saidi, Thomas Friedrich Wenisch, Aasheesh Kolli
  • Patent number: 9946492
    Abstract: A data processing system 2 including non-volatile memory 22 manages the ordering of writes to the non-volatile memory and persist barrier instructions using a persist buffer storing persist buffer data. A write controller responds to the persist buffer data to prevent writing to the non-volatile memory for instructions following a given persist barrier instruction within a sequence of program instructions before the writes to the non-volatile memory which precede that given persist barrier instruction have at least been acknowledged as received by the memory system containing the non-volatile memory. In the case of a multi-core system, cache snooping mechanisms are used to pass persistency dependence data between cores such that strong persist atomicity may be tracked and managed between the cores.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: April 17, 2018
    Assignees: ARM Limited, The Regents of the University of Michigan
    Inventors: Stephan Diestelhorst, Aasheesh Kolli, Ali Ghassan Saidi, Peter Chen, Thomas Friedrich Wenisch
  • Publication number: 20170123723
    Abstract: A data processing system 2 including non-volatile memory 22 manages the ordering of writes to the non-volatile memory and persist barrier instructions using a persist buffer storing persist buffer data. A write controller responds to the persist buffer data to prevent writing to the non-volatile memory for instructions following a given persist barrier instruction within a sequence of program instructions before the writes to the non-volatile memory which precede that given persist barrier instruction have at least been acknowledged as received by the memory system containing the non-volatile memory. In the case of a multi-core system, cache snooping mechanisms are used to pass persistency dependence data between cores such that strong persist atomicity may be tracked and managed between the cores.
    Type: Application
    Filed: October 30, 2015
    Publication date: May 4, 2017
    Inventors: Stephan DIESTELHORST, Aasheesh KOLLI, Ali Ghassan SAIDI, Peter CHEN, Thomas Friedrich WENISCH
  • Publication number: 20140143522
    Abstract: An apparatus for processing data includes signature generation circuitry 30, 32 for generating a signature value indicative of the current state of the apparatus in dependence upon a sequence of immediately preceding return addresses generating during execution of a stream of program instructions to reach that state of the apparatus. Prefetch circuitry 10 performs one or more prefetch operations in dependence upon the signature value that is generated. The signature value may be generated by a hashing operation (such as an XOR) performed upon return addresses stored within a return address stack 28.
    Type: Application
    Filed: November 20, 2012
    Publication date: May 22, 2014
    Applicants: THE REGENTS OF THE UNIVERSITY OF MICHIGAN, ARM LIMITED
    Inventors: Ali SAIDI, Thomas Friedrich WENISCH, Aasheesh KOLLI