Patents by Inventor Shakti Kapoor

Shakti Kapoor 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: 20180018262
    Abstract: A processor includes a performance monitor that logs reservation losses, and additionally logs reasons for the reservation losses. By logging reasons for the reservation losses, the performance monitor provides data that can be used to determine whether the reservation losses were due to valid programming, such as two threads competing for the same lock, or whether the reservation losses were due to bad programming. When the reservation losses are due to bad programming, the information can be used to improve the programming to obtain better performance.
    Type: Application
    Filed: July 15, 2016
    Publication date: January 18, 2018
    Inventors: Shakti Kapoor, John A. Schumann, Karen E. Yokum
  • Publication number: 20180019021
    Abstract: Data is replicated into a memory cache and cache inhibited memory in data segments with segment size that provides non-naturally aligned data boundaries to reduce the time needed to generate test cases for testing a processor. Placing data in the non-naturally aligned data boundaries allows replicated testing of the memory cache and cache inhibited memory while preserving double word and quad word boundaries in segments of the replicated test data. This allows test cases generated for cacheable memory to be replicated and used for cache inhibited memory. The processor can then use a single test replicated in this manner by branching back and using the next slice of the replicated test data in the memory cache and cache inhibited memory.
    Type: Application
    Filed: July 12, 2016
    Publication date: January 18, 2018
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20170344466
    Abstract: A system and method synchronizes heterogeneous agents in a computer system with a software synchronization mechanism. Agents of the computer system connected to a common memory, including agents lacking a hardware synchronization system, can be synchronized with the software synchronization mechanism. The synchronized agents can cause collisions on the same cache line in order to stress test the memory of the system. Each agent updates a first array to indicate it has arrived at the synchronization. After all the agents have arrived, each agent then updates a second array to announce its exit.
    Type: Application
    Filed: May 26, 2016
    Publication date: November 30, 2017
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20170344489
    Abstract: A page size hint may be encoded into an unused and reserved field in an effective or virtual address for use by a software page fault handler when handling a page fault associated with the effective or virtual address to enable an application to communicate to an operating system or other software-based translation functionality page size preferences for the allocation of pages of memory and/or to accelerate the search for page table entries in a hardware page table.
    Type: Application
    Filed: May 24, 2016
    Publication date: November 30, 2017
    Inventor: Shakti Kapoor
  • Publication number: 20170329688
    Abstract: Test code and test data is replicated into a memory cache with non-naturally aligned data boundaries to reduce the time needed to generate test cases for testing a processor. Placing test code and test data in the non-naturally aligned data boundaries as described herein allows test code and data to be replicated throughout a cache memory while preserving double word and quad word boundaries in segments of the replicated test code and test data. Coherency of the processor memory can be tested when the same cache line from the level two (L2) cache is simultaneously in both the level one (L1) instruction cache and the L1 data cache.
    Type: Application
    Filed: May 11, 2016
    Publication date: November 16, 2017
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 9798667
    Abstract: An aspect includes a method of streaming stress testing in a cache memory system. The method includes configuring, by a streaming stress generator, one or more streams of cache lines in the cache memory system to be accessed by a cache prefetch engine of a processor. One or more stream parameters are randomized to vary a streaming stress applied by the one or more streams to the cache memory system. The one or more streams are generated as read or write requests to the cache lines as prefetches from the cache prefetch engine absent a request for the cache lines from a processor core of the processor. A determination is made as to whether any faults are detected while the one or more streams are prefetched.
    Type: Grant
    Filed: March 8, 2016
    Date of Patent: October 24, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Shakti Kapoor
  • Publication number: 20170263332
    Abstract: An aspect includes a method of streaming stress testing in a cache memory system. The method includes configuring, by a streaming stress generator, one or more streams of cache lines in the cache memory system to be accessed by a cache prefetch engine of a processor. One or more stream parameters are randomized to vary a streaming stress applied by the one or more streams to the cache memory system. The one or more streams are generated as read or write requests to the cache lines as prefetches from the cache prefetch engine absent a request for the cache lines from a processor core of the processor. A determination is made as to whether any faults are detected while the one or more streams are prefetched.
    Type: Application
    Filed: March 8, 2016
    Publication date: September 14, 2017
    Inventor: Shakti Kapoor
  • Publication number: 20170262370
    Abstract: An aspect includes a method of lateral cast out in a cache memory system. The method includes configuring one or more cache memories of the cache memory system as lateral cast out receiving cache memories. A stress test mode of the cache memory system is enabled. One or more cache lines of a lateral cast out source cache memory of the cache memory system are cast out. At least one of the one or more cache lines from the lateral cast out source cache memory is accepted into at least one of the lateral cast out receiving cache memories based on the stress test mode being enabled.
    Type: Application
    Filed: March 8, 2016
    Publication date: September 14, 2017
    Inventor: Shakti Kapoor
  • Patent number: 9747396
    Abstract: An aspect includes driving a plurality of commands to an interface unit of a circuit design in a hardware-accelerated simulator to dynamically initialize the circuit design to run one or more test cases based on an initialization sequence with breakpoint support. A state of the circuit design is examined through the interface unit based on triggering of a breakpoint on the hardware-accelerated simulator. A next action to perform in the initialization sequence is determined based on the state of the circuit design as determined through the interface unit.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: August 29, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Debapriya Chatterjee, Shakti Kapoor, John A. Schumann
  • Publication number: 20170220440
    Abstract: Embodiments disclose techniques for scheduling test cases without regeneration to verify and validate a computing system. In one embodiment, a testing engine generates a test case for a plurality of processors. Each test case includes streams of instructions. The testing engine also allocates at least one cache line associated with the streams of instructions of the generated test case such that each of the plurality of processors accesses different memory locations within the at least one cache line. The testing engine further schedules the generated test case for execution by the plurality of processors to achieve at least a first test coverage among the plurality of processors. The testing engine further re-schedules the generated test case for re-execution by the plurality of processors to achieve at least a second test coverage among the plurality of processors.
    Type: Application
    Filed: February 9, 2017
    Publication date: August 3, 2017
    Inventors: Manoj DUSANAPUDI, Shakti KAPOOR
  • Publication number: 20170220438
    Abstract: Data is replicated into a memory cache with non-naturally aligned data boundaries to reduce the time needed to generate test cases for testing a processor. Placing data in the non-naturally aligned data boundaries as described herein allows replicated testing of the memory cache while preserving double word and quad word boundaries in segments of the replicated test data. This allows test cases to be generated for a section of memory and then replicated throughout the memory and tested by a single test branching back and using the next strand of the replicated test data in the memory cache.
    Type: Application
    Filed: March 9, 2016
    Publication date: August 3, 2017
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20170220442
    Abstract: Data is replicated into a memory cache with non-naturally aligned data boundaries to reduce the time needed to generate test cases for testing a processor. Placing data in the non-naturally aligned data boundaries as described herein allows replicated testing of the memory cache while preserving double word and quad word boundaries in segments of the replicated test data. This allows test cases to be generated for a section of memory and then replicated throughout the memory and tested by a single test branching back and using the next strand of the replicated test data in the memory cache.
    Type: Application
    Filed: August 23, 2016
    Publication date: August 3, 2017
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 9720845
    Abstract: A mapping may be changed in a table stored in memory. The table may map a first set of addresses, for a set of data, to a second set of addresses. The changing of the mapping may including mapping the first set of addresses to a third set of addresses. In response to the changing of the mapping, one or more flush operations may be executed to invalidate one or more entries within one or more address translation caches. The one or more entries may include the second set of addresses. In response to the executing of the one or more flush operations, a first test case may be run. The first test case may be to test whether any of the first set of addresses are mapping to the second set of addresses.
    Type: Grant
    Filed: January 16, 2017
    Date of Patent: August 1, 2017
    Assignee: International Business Machines Corporation
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20170212818
    Abstract: Embodiments disclose techniques for executing a test case to test a processor by bypassing an instruction pipeline of the processor. In one embodiment, the processor receives a plurality of test cases to execute on the processor. Each test case includes one or more instructions. Once received, the processor loads a plurality of registers with one or more first register values for the test case by bypassing the instruction pipeline. Once loaded, the processor runs the test case using the one or more first register values. The processor then retrieves, from the plurality of registers, one or more second register values associated with results of the test case run, by bypassing the instruction pipeline.
    Type: Application
    Filed: January 22, 2016
    Publication date: July 27, 2017
    Inventor: Shakti KAPOOR
  • Publication number: 20170192829
    Abstract: Embodiments herein provide a testing apparatus (whether physical or simulated) for testing a non-core MMU in a processor chip. Unlike core MMUs, non-core MMUs may be located in a part of the processor chip outside of the processing cores in the chip. Instead of being used to perform address translation requests sent by the processing core, the non-core MMUs may be used by other hardware modules in the processor chip such as compression engines, crypto engines, accelerators, etc. In one embodiment, the testing apparatus includes a MMU testor that transmits the translation requests to the non-core MMU which tests its functionality. Using the data provided in the translation requests, the non-core MMU performs virtual to physical address translations. The non-core MMU transmits the results of these translations to the MMU testor which compares these results to expected results to identify any design flaws in the non-core MMU.
    Type: Application
    Filed: April 12, 2016
    Publication date: July 6, 2017
    Inventors: Manoj Dusanapudi, Shakti KAPOOR, Paul F. LECOCQ, John A. SCHUMANN
  • Publication number: 20170192869
    Abstract: Embodiments herein provide a testing apparatus (whether physical or simulated) for testing a non-core MMU in a processor chip. Unlike core MMUs, non-core MMUs may be located in a part of the processor chip outside of the processing cores in the chip. Instead of being used to perform address translation requests sent by the processing core, the non-core MMUs may be used by other hardware modules in the processor chip such as compression engines, crypto engines, accelerators, etc. In one embodiment, the testing apparatus includes a MMU testor that transmits the translation requests to the non-core MMU which tests its functionality. Using the data provided in the translation requests, the non-core MMU performs virtual to physical address translations. The non-core MMU transmits the results of these translations to the MMU testor which compares these results to expected results to identify any design flaws in the non-core MMU.
    Type: Application
    Filed: January 6, 2016
    Publication date: July 6, 2017
    Inventors: Manoj DUSANAPUDI, Shakti KAPOOR, Paul F. LECOCQ, John A. SCHUMANN
  • Patent number: 9697138
    Abstract: A mapping may be changed in a table stored in memory. The table may map a first set of addresses, for a set of data, to a second set of addresses. The changing of the mapping may including mapping the first set of addresses to a third set of addresses. In response to the changing of the mapping, one or more flush operations may be executed to invalidate one or more entries within one or more address translation caches. The one or more entries may include the second set of addresses. In response to the executing of the one or more flush operations, a first test case may be run. The first test case may be to test whether any of the first set of addresses are mapping to the second set of addresses.
    Type: Grant
    Filed: January 16, 2017
    Date of Patent: July 4, 2017
    Assignee: International Business Machines Corporation
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20170161209
    Abstract: A mapping may be changed in a table stored in memory. The table may map a first set of addresses, for a set of data, to a second set of addresses. The changing of the mapping may including mapping the first set of addresses to a third set of addresses. In response to the changing of the mapping, one or more flush operations may be executed to invalidate one or more entries within one or more address translation caches. The one or more entries may include the second set of addresses. In response to the executing of the one or more flush operations, a first test case may be run. The first test case may be to test whether any of the first set of addresses are mapping to the second set of addresses.
    Type: Application
    Filed: January 16, 2017
    Publication date: June 8, 2017
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20170161192
    Abstract: A mapping may be changed in a table stored in memory. The table may map a first set of addresses, for a set of data, to a second set of addresses. The changing of the mapping may including mapping the first set of addresses to a third set of addresses. In response to the changing of the mapping, one or more flush operations may be executed to invalidate one or more entries within one or more address translation caches. The one or more entries may include the second set of addresses. In response to the executing of the one or more flush operations, a first test case may be run. The first test case may be to test whether any of the first set of addresses are mapping to the second set of addresses.
    Type: Application
    Filed: December 2, 2015
    Publication date: June 8, 2017
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20170161208
    Abstract: A mapping may be changed in a table stored in memory. The table may map a first set of addresses, for a set of data, to a second set of addresses. The changing of the mapping may including mapping the first set of addresses to a third set of addresses. In response to the changing of the mapping, one or more flush operations may be executed to invalidate one or more entries within one or more address translation caches. The one or more entries may include the second set of addresses. In response to the executing of the one or more flush operations, a first test case may be run. The first test case may be to test whether any of the first set of addresses are mapping to the second set of addresses.
    Type: Application
    Filed: January 16, 2017
    Publication date: June 8, 2017
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor