Patents by Inventor Tom Kolan
Tom Kolan 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: 12422480Abstract: Hardware errors can be detected by generating a plurality of test templates to perform testing on an integrated circuit (IC) device. A set of random tests can be generated corresponding to the plurality of test templates. The set of random tests can be executed on the IC device for multiple passes, and the results of the multiple passes can be compared to detect the hardware error in the IC device. The set of random tests can be generated as a binary image for execution on the IC device. The IC device may include multiple processing cores, and executing the multiple passes may include changing logical role of each processing core between subsequent passes. The set of random tests can be executed in a bare-metal mode, or at an application level of the IC device.Type: GrantFiled: June 20, 2023Date of Patent: September 23, 2025Assignee: Amazon Technologies, Inc.Inventors: Tom Kolan, Adi Habusha, Nicolas Worms, Ilan Wachtel
-
Patent number: 12353307Abstract: A computer-implemented method including: providing a test template for a hardware system-under-test comprising one or more execution threads, wherein the test template comprises a branching instruction to a predetermined shared memory address accessible by at least some of the one or more execution threads; generating and storing, at the predetermined shared memory address, a sequence of instructions which conform to the test template; building, based, at least in part, on the test template, an executable image of a hardware exerciser, wherein the hardware exerciser is adapted to control a test cycle of the hardware system-under-test, and wherein the test cycle comprises at least generation and execution of a test; and executing the executable image of the hardware exerciser by at least a first execution thread of the one or more execution threads of the hardware system-under-test.Type: GrantFiled: April 18, 2022Date of Patent: July 8, 2025Assignee: Synopsys, Inc.Inventors: Hillel Mendelson, Tom Kolan
-
Patent number: 12174750Abstract: A method for performing an address translation context switch includes initializing a computer processor to a first context by storing information identifying the first context in a control register of the computer processor. The first context specifies a mapping of virtual addresses of instructions to physical memory addresses in a first memory area. Information identifying a second context is stored in a memory address translation independent storage, where the second context specifies mapping of virtual addresses of instructions to physical memory addresses in a second memory area. The information identifying the second context is written to the control register of the computer processor.Type: GrantFiled: November 15, 2022Date of Patent: December 24, 2024Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Idan Horowitz, Tom Kolan, Hillel Mendelson, Eliran Roffe
-
Publication number: 20240160578Abstract: A method for performing an address translation context switch includes initializing a computer processor to a first context by storing information identifying the first context in a control register of the computer processor. The first context specifies a mapping of virtual addresses of instructions to physical memory addresses in a first memory area. Information identifying a second context is stored in a memory address translation independent storage, where the second context specifies mapping of virtual addresses of instructions to physical memory addresses in a second memory area. The information identifying the second context is written to the control register of the computer processor.Type: ApplicationFiled: November 15, 2022Publication date: May 16, 2024Inventors: IDAN HOROWITZ, TOM KOLAN, HILLEL MENDELSON, ELIRAN ROFFE
-
Patent number: 11928051Abstract: A system, program product, and method for validating a system under test (SUT). The method includes generating one or more application programming interface (API) requests. The method also includes selecting one or more random biases for one or more properties of the one or more API requests. The method further includes generating a random sample of one or more values from an input domain space, wherein the one or more values are associated with one or more respective fields of the API being requested.Type: GrantFiled: June 14, 2022Date of Patent: March 12, 2024Assignee: International Business Machines CorporationInventors: Vitali Sokhin, Gil Eliezer Shurek, Shiri Moran, Tom Kolan
-
Patent number: 11907088Abstract: An example system includes a processor that can receive a queue testing package. The processor can divide a hardware (HW) queue system to be tested into different types of queues. The processor can also generate a test using the different types of queues. The processor can further execute multiple instances of the generated test. The processor can also further compare results of the multiple instances of the test to detect a hardware fault in the hardware queue system.Type: GrantFiled: December 15, 2021Date of Patent: February 20, 2024Assignee: Synopsys, Inc.Inventors: Hillel Mendelson, Tom Kolan, Hagai Hadad, Shay Aviv
-
Patent number: 11796593Abstract: Embodiments relate to a system, program product, and method for integrating compiler-based testing in post-silicon validation. The method includes generating a test program through a device-under-test (DUT). The method also includes generating a plurality of memory intervals and injecting the plurality of memory intervals into the test program. The method further includes injecting a plurality of compiled test snippets into the test program and executing one or more post-silicon validation tests for the DUT with the test program.Type: GrantFiled: May 26, 2021Date of Patent: October 24, 2023Assignee: Synopsys, Inc.Inventors: Hillel Mendelson, Tom Kolan, Shay Aviv, Vitali Sokhin, Wesam Saleem Ibraheem
-
Publication number: 20230333950Abstract: A computer-implemented method including: providing a test template for a hardware system-under-test comprising one or more execution threads, wherein the test template comprises a branching instruction to a predetermined shared memory address accessible by at least some of the one or more execution threads; generating and storing, at the predetermined shared memory address, a sequence of instructions which conform to the test template; building, based, at least in part, on the test template, an executable image of a hardware exerciser, wherein the hardware exerciser is adapted to control a test cycle of the hardware system-under-test, and wherein the test cycle comprises at least generation and execution of a test; and executing the executable image of the hardware exerciser by at least a first execution thread of the one or more execution threads of the hardware system-under-test.Type: ApplicationFiled: April 18, 2022Publication date: October 19, 2023Inventors: Hillel MENDELSON, Tom KOLAN
-
Patent number: 11748238Abstract: Embodiments relate to a system, program product, and method for validating a system under test (SUT). The method includes selecting one or more random biases for one or more properties of the one or more API requests. The method also includes transmitting the one or more API requests to the SUT, transmitting an API response from the SUT for each of the one or more API requests, and validating each API response.Type: GrantFiled: May 28, 2021Date of Patent: September 5, 2023Assignee: International Business Machines CorporationInventors: Vitali Sokhin, Dean Gilbert Bair, Gil Eliezer Shurek, Shiri Moran, Tom Kolan
-
Publication number: 20230185685Abstract: An example system includes a processor that can receive a queue testing package. The processor can divide a hardware (HW) queue system to be tested into different types of queues. The processor can also generate a test using the different types of queues. The processor can further execute multiple instances of the generated test. The processor can also further compare results of the multiple instances of the test to detect a hardware fault in the hardware queue system.Type: ApplicationFiled: December 15, 2021Publication date: June 15, 2023Inventors: Hillel MENDELSON, Tom KOLAN, Hagai HADAD, Shay AVIV
-
Publication number: 20220382665Abstract: Embodiments relate to a system, program product, and method for validating a system under test (SUT). The method includes selecting one or more random biases for one or more properties of the one or more API requests. The method also includes transmitting the one or more API requests to the SUT, transmitting an API response from the SUT for each of the one or more API requests, and validating each API response.Type: ApplicationFiled: May 28, 2021Publication date: December 1, 2022Inventors: Vitali Sokhin, Dean Gilbert Bair, Gil Eliezer Shurek, Shiri Moran, Tom Kolan
-
Publication number: 20220381824Abstract: Embodiments relate to a system, program product, and method for integrating compiler-based testing in post-silicon validation. The method includes generating a test program through a device-under-test (DUT). The method also includes generating a plurality of memory intervals and injecting the plurality of memory intervals into the test program. The method further includes injecting a plurality of compiled test snippets into the test program and executing one or more post-silicon validation tests for the DUT with the test program.Type: ApplicationFiled: May 26, 2021Publication date: December 1, 2022Inventors: Hillel Mendelson, Tom Kolan, Shay Aviv, Vitali Sokhin, Wesam Saleem Ibraheem
-
Publication number: 20220382670Abstract: A system, program product, and method for validating a system under test (SUT). The method includes generating one or more application programming interface (API) requests. The method also includes selecting one or more random biases for one or more properties of the one or more API requests. The method further includes generating a random sample of one or more values from an input domain space, wherein the one or more values are associated with one or more respective fields of the API being requested.Type: ApplicationFiled: June 14, 2022Publication date: December 1, 2022Inventors: Vitali Sokhin, Gil Eliezer Shurek, Shiri Moran, Tom Kolan
-
Patent number: 11263150Abstract: A method, apparatus and product for utilizing address translation structures for testing address translation cache. The method comprises: obtaining a first address translation structure that comprises multiple levels, including a first top level which connects a sub-structure of the first address translation structure using pointers thereto; determining, based on the first address translation structure, a second address translation structure, wherein the second address translation structure comprises a second top level that is determined based on the first top level, wherein the second top level connects the sub-structure of the first address translation structure; executing a test so as to verify operation of an address translation cache of a target processor at least by: adding a plurality of cache lines to the address translation cache, wherein said adding is based on the address translation structures; and verifying the operation of the address translation cache using one or more memory access operations.Type: GrantFiled: February 11, 2020Date of Patent: March 1, 2022Assignee: International Business Machines CorporationInventors: Hillel Mendelson, Tom Kolan, Vitali Sokhin
-
Patent number: 11226370Abstract: Embodiments relate to a system, program product, and method for random generation of recoverable errors in the generated instruction stream for post-silicon validation testing. The intentional raising and handling of exceptions in post-silicon validation exercisers randomly creates recoverable errors in a generated instruction test stream. Multiple exceptions may be raised either in a single instruction or in multiple instructions, while the present instruction is permitted to fully execute. The errors responsible for raising the exceptions are automatically repaired.Type: GrantFiled: September 10, 2020Date of Patent: January 18, 2022Assignee: International Business Machines CorporationInventors: Hillel Mendelson, Vitali Sokhin, Tom Kolan, Hernan Theiler, Shai Doron
-
Patent number: 11204859Abstract: A method for testing an integrated circuit, comprising: accessing a database associated with a test template, wherein said test template is configured to test a selected function of the integrated circuit; storing, in said database, data corresponding to at least partial predicted results of one or more random instruction sequences generated based on said test template; generating, by an automated test generation tool, a random instruction sequence based on said test template; executing said instruction sequence by a hardware exerciser, in the integrated circuit; and comparing results of said instruction sequence with said at least partial predicted results, to verify a function of said integrated circuit.Type: GrantFiled: July 9, 2019Date of Patent: December 21, 2021Assignee: International Business Machines CorporationInventors: Tom Kolan, Alex Lvovsky, Hillel Mendelson, Vitali Sokhin
-
Patent number: 11200126Abstract: A method, apparatus and a product for utilizing translation tables for testing processors. The method is used for testing a target processor that utilizes different translation tables to translate virtual addresses to physical addresses. The method comprises obtaining a test template that comprises directives to be executed in different contexts, during each of which a different translation table is utilized to translate virtual addresses to physical addresses. The translation tables to be used by the target processor in the different contexts are determined, so that the translation tables overlap, at least in part.Type: GrantFiled: February 11, 2020Date of Patent: December 14, 2021Assignee: International Business Machines CorporationInventors: Tom Kolan, Hillel Mendelson, Vitali Sokhin, Shay Aviv
-
Patent number: 11194705Abstract: Method, apparatus and product for automatically introducing register dependency into tests. A test template represents an abstract test scenario to be utilized for testing a target processor. The abstract test scenario requires that a value be assigned to a register. A test that implements the abstract test scenario is generated. The test is a set of instructions that are executable by the target processor. The generation of the test comprises: determining a memory address to retain the value in a memory that is accessible to the target processor; and adding to the test an instruction to load to the register the value from the memory address, whereby adding a register dependency to the test that is not required by the abstract test scenario. The test can be executed on the target processor or simulation thereof.Type: GrantFiled: May 11, 2020Date of Patent: December 7, 2021Assignee: International Business Machines CorporationInventors: Hillel Mendelson, Tom Kolan, Vitali Sokhin
-
Patent number: 11182265Abstract: A method, system and computer program product, the method comprising: obtaining a test template comprising a multiplicity of elements, including a first element and another element; generating a partially instantiated test template comprising a first instance for the first element and the another element in an uninstantiated form; generating, based on the partially instantiated test template, a first test complying with the test template, the first test comprising the first instance for the first element and an instance for the another element; executing the first test to obtain a first result; generating, based on the partially instantiated test template, a second test complying with the test template, the second test comprising the first instance for the first element and another instance for the another element, thereby using the first instance for generating the first and second tests; and executing the second test to obtain a second result.Type: GrantFiled: January 9, 2019Date of Patent: November 23, 2021Assignee: International Business Machines CorporationInventors: Tom Kolan, Hillel Mendelson, Vitali Sokhin
-
Publication number: 20210349815Abstract: Method, apparatus and product for automatically introducing register dependency into tests. A test template represents an abstract test scenario to be utilized for testing a target processor. The abstract test scenario requires that a value be assigned to a register. A test that implements the abstract test scenario is generated. The test is a set of instructions that are executable by the target processor. The generation of the test comprises: determining a memory address to retain the value in a memory that is accessible to the target processor; and adding to the test an instruction to load to the register the value from the memory address, whereby adding a register dependency to the test that is not required by the abstract test scenario. The test can be executed on the target processor or simulation thereof.Type: ApplicationFiled: May 11, 2020Publication date: November 11, 2021Inventors: Hillel Mendelson, Tom Kolan, Vitali Sokhin