Patents by Inventor Manoj Dusanapudi

Manoj Dusanapudi 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: 10169185
    Abstract: A circuit and method provide efficient stress testing of address translations in an integrated circuit such as a link processing unit. A random DMA mode (RDM) circuit provides a random input to index into a translation validation table (TVT) that is used to generate the real memory address. The RDM circuit allows testing all entries of the TVT, and thus all DMA modes, regardless of what bus agents are connected to the link processing unit. The RDM circuit may use a multiplexer to select between a runtime input and a random test input provided by the random bit generator. When the link processing unit is in a test mode a mode selection bit is asserted to select the random test input.
    Type: Grant
    Filed: August 12, 2017
    Date of Patent: January 1, 2019
    Assignee: International Business Machines Corporation
    Inventors: Manoj Dusanapudi, Shakti Kapoor, Nelson Wu
  • Publication number: 20180267876
    Abstract: A processor memory is stress tested with a variable link stack depth using link stack test segments with non-naturally aligned data boundaries. Link stack test segments are interspersed into test code of a processor memory tests to change the link stack depth without changing results of the test code. The link stack test segments are the same structure as the segments of the test code and have non-naturally aligned boundaries. The link stack test segments include branch to target, push/pop, push and pop segments. The depth of the link stack is varied independent of the memory test code by changing the number to branches in the branch to target segment and varying the number of the push/pop segments.
    Type: Application
    Filed: November 6, 2017
    Publication date: September 20, 2018
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20180267875
    Abstract: A processor memory is stress tested with a variable link stack depth using link stack test segments with non-naturally aligned data boundaries. Link stack test segments are interspersed into test code of a processor memory tests to change the link stack depth without changing results of the test code. The link stack test segments are the same structure as the segments of the test code and have non-naturally aligned boundaries. The link stack test segments include branch to target, push/pop, push and pop segments. The depth of the link stack is varied independent of the memory test code by changing the number to branches in the branch to target segment and varying the number of the push/pop segments.
    Type: Application
    Filed: March 14, 2017
    Publication date: September 20, 2018
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 10055320
    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: Grant
    Filed: July 12, 2016
    Date of Patent: August 21, 2018
    Assignee: International Business Machines Corporation
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 10007568
    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: Grant
    Filed: April 12, 2016
    Date of Patent: June 26, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Manoj Dusanapudi, Shakti Kapoor, Paul F. Lecocq, John A. Schumann
  • Publication number: 20180157567
    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: February 2, 2018
    Publication date: June 7, 2018
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20180129577
    Abstract: Test cases for testing speculative execution of instructions are replicated into a memory with non-naturally aligned data boundaries to create a non-contiguous instruction stream to efficiently test a processor. Placing test cases with test code and test data in the non-naturally aligned data boundaries as described herein allows test code to test speculative execution of branches. The test case includes a branch with a hint bit set to cause the hardware to mispredict the path of the branch to cause speculative execution of test code, bad code or erroneously execute data. The processor can then be tested to see if it properly flushes the speculatively executed code upon taking the opposite branch of the mispredicted path.
    Type: Application
    Filed: November 7, 2016
    Publication date: May 10, 2018
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20180121365
    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 22, 2017
    Publication date: May 3, 2018
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 9959183
    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: Grant
    Filed: August 23, 2016
    Date of Patent: May 1, 2018
    Assignee: International Business Machines Corporation
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 9959182
    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: Grant
    Filed: March 9, 2016
    Date of Patent: May 1, 2018
    Assignee: International Business Machines Corporation
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 9940226
    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: Grant
    Filed: May 26, 2016
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 9921897
    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: Grant
    Filed: January 6, 2016
    Date of Patent: March 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Manoj Dusanapudi, Shakti Kapoor, Paul F. Lecocq, John A. Schumann
  • Publication number: 20180074926
    Abstract: A transactional memory test tests a transactional memory system on a computer processor. A test case with a transactional memory test is constructed such that the transactional memory test proceeds further in the transaction mode if the transaction is successful. In contrast, if there is a failure of the transaction, then the transactional memory test is executed in the non-transaction state. The transactional memory test stresses both transaction success and transaction failure cases of the processor for more efficient validation of the computer processor. Also, when checking the correctness of the test case the correct result remains the same whether the transaction passes or fails to simplify verification.
    Type: Application
    Filed: September 15, 2016
    Publication date: March 15, 2018
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor
  • Patent number: 9910941
    Abstract: Embodiments of the present invention provide methods, computer program products, and systems for generating comprehensive test cases covering new events yet to be covered. Embodiments of the present invention can be used to receive a request to generate a test case, wherein the request comprises a coverage schema associated with a first set of events to be covered in the generated test case. Embodiments of the present invention includes updating the coverage schema, wherein the updating the coverage schema comprises adding a second set of events to be covered in the generated test case and generating constraints used to satisfy requirements for meeting the first set of events and the second set of events in the updated coverage schema. Embodiments of the present invention can generate a test case using the generated constraints and the updated coverage schema.
    Type: Grant
    Filed: December 19, 2016
    Date of Patent: March 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Manoj Dusanapudi, Madhusudan Kadiyala, John Paul
  • Patent number: 9892060
    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: December 2, 2015
    Date of Patent: February 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Vinod Bussa, Manoj Dusanapudi, Shakti Kapoor
  • Publication number: 20180039579
    Abstract: Efficiently generating effective address translations for memory management test cases including obtaining a first set of EAs, wherein each EA comprises an effective segment ID and a page, wherein each effective segment ID of each EA in the first set of EAs is mapped to a same first effective segment; obtaining a set of virtual address corresponding to the first set of EAs; translating the first set of EAs by applying a hash function to each virtual address in the set of virtual addresses to obtain a first set of PTEG addresses mapped to a first set of PTEGs; and generating a translation for a second set of EAs to obtain a second set of PTEG addresses mapped to the first set of PTEGs.
    Type: Application
    Filed: August 3, 2016
    Publication date: February 8, 2018
    Inventors: MANOJ DUSANAPUDI, SHAKTI KAPOOR
  • 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: 20170364421
    Abstract: A method, executed by a computer, includes pairing a first core with a second core to form a first core group, wherein each core of the group has a plurality of functional units, transferring instructions received by the first core to the second core for execution via a first inter-core communication bus, and executing the instructions on the second core. A computer system and computer program product corresponding to the above method are also disclosed herein.
    Type: Application
    Filed: June 15, 2016
    Publication date: December 21, 2017
    Inventors: Manoj Dusanapudi, Prasanna Jayaraman, Rahul M. Rao
  • 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: 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