Patents by Inventor Elad RAZ
Elad RAZ 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: 12639218Abstract: A method for caching memory comprising caching two data values, each of one of two ranges of application memory addresses, each associated with one of a set of threads, by: organizing a plurality of sequences of consecutive address sub-ranges in an interleaved sequence of address sub-ranges by alternately selecting, for each thread in an identified order of threads, a next sub-range in the respective sequence of sub-ranges associated therewith; generating a mapping of the interleaved sequence of sub-ranges to a range of physical memory addresses in order of the interleaved sequence of sub-ranges; and when a thread accesses an application memory address of the respective range of application addresses associated thereof: computing a target address according to the mapping using the application address; and storing the two data values in one cache-line of a plurality of cache-lines of a cache by accessing the physical memory area using the target address.Type: GrantFiled: October 28, 2024Date of Patent: May 26, 2026Assignee: Next Silicon LtdInventors: Dan Shechter, Elad Raz
-
Publication number: 20260127349Abstract: An Integrated Circuit (IC) device, and a method of utilizing thereof, may include: a plurality of Processing Elements (PEs), each comprising one or more configurable hardware logic blocks. The IC may further include a plurality of configuration memory elements, each associated with a respective PE, and adapted to maintain two or more configuration settings of the respective PE. The IC may further include a configuration manager circuit, configured to: receive a reconfiguration instruction, dictating a required function of the IC device; based on the reconfiguration instruction, identify at least one target PE of the plurality of PEs as a target for reconfiguration; based on the required function, select a specific configuration setting in the configuration memory element associated with the at least one target PE; and reconfigure at least one hardware logic block of the at least one target PE, according to the selected configuration setting.Type: ApplicationFiled: May 12, 2025Publication date: May 7, 2026Inventors: Elad RAZ, Ilan TAYARI, Ronen GAL, Oded MARGALIT, Elad SHLISELBERG
-
Patent number: 12619358Abstract: A system for accessing memory, comprising: transformation circuitry configured to: receive a memory access request; access a transformation mode value associated with the memory access request and indicative of an address transformation function; apply the address transformation function, indicated by the transformation mode value, to a memory address of the memory access request to compute a transformed memory address; and generate a new memory access request using the memory access request and the transformed memory address; and at least one memory area configured to serve the new memory access request according to the transformed memory address.Type: GrantFiled: June 13, 2025Date of Patent: May 5, 2026Assignee: Next Silicon LtdInventors: Elad Raz, Ilan Tayari, Dan Shechter, Yoav Lossin, Ronen Gal, Daniel Greenspan
-
Patent number: 12619459Abstract: A method for executing a software program, comprising: identifying in a program a plurality of host threads, each for performing some of a plurality of parallel sub-tasks of a task; and for each of the host threads: generating device threads, each associated with the host thread, each for one of the parallel tasks associated thereof; generating a parent thread associated with the host thread for communicating with the device threads; configuring a host processing circuitry to execute the parent thread; and configuring at least one other processing circuitry to execute in parallel the device threads while the host processing circuitry executes the parent thread; and for at least one of the host threads: receiving by the parent thread a value from the at least one other processing circuitry, the value generated when executing at least one of the device threads associated with the at least one host thread.Type: GrantFiled: January 14, 2022Date of Patent: May 5, 2026Assignee: Next Silicon LtdInventors: Elad Raz, Ilan Tayari, Dan Shechter
-
Patent number: 12613736Abstract: A system for executing a plurality of software threads, comprising: a plurality of processing circuitries; a plurality of memory areas connected to the processing circuitries, each memory area associated with at least one of the processing circuitries; and at least one hardware processor, connected to the processing circuitries and configured for: in each of a plurality of iterations: while the processing circuitries execute the software threads, collecting for each thread a plurality of thread statistical values indicative of a plurality of memory accesses to at least some of the memory areas performed when executing the thread; for at least one thread, performing an analysis comprising the thread statistical values thereof to identify a preferred memory area of the plurality of memory areas; and configuring one of the at least one processing circuitry associated with the preferred memory area to execute the at least one thread.Type: GrantFiled: July 25, 2022Date of Patent: April 28, 2026Assignee: Next Silicon LtdInventors: Elad Raz, Ilan Tayari
-
Publication number: 20260086816Abstract: An apparatus for computing, comprising a processing circuitry configured for computing an outcome of executing a set of computer instructions comprising a group of data variables, by: identifying an initial state of the processing circuitry; executing a set of anticipated computer instructions produced based on the set of computer instructions and a likely data value, where the likely data value is a value of one the group of data variables anticipated to be computed by executing the set of computer instructions and computed using at least one program data value; and when identifying, while executing the set of anticipated computer instructions, a failed prediction where the data variable is not equal to the likely data value: restoring the initial state of the processing circuitry; and executing a set of alternative computer instructions, produced based on the set of computer instructions and the at least one likely data value.Type: ApplicationFiled: December 4, 2025Publication date: March 26, 2026Applicant: Next Silicon LtdInventors: Elad RAZ, Ilan TAYARI
-
Patent number: 12505046Abstract: A system for managing cache coherency comprises memory areas, processing cores, cache nodes each associated with at least one of the processing cores, and a hardware processor configured to: for each of the memory areas: cluster the processing cores into clusters according to memory access metrics in relation to the memory area; and for each of the clusters, associate the memory area with a caching scheme; and configure the processing cores to: receive from a first core a memory access command comprising a memory address associated with a memory area, where the first core is a member of a first cluster for the memory area; compute a determination of a target cache node according to the memory access command, where the target cache node is associated with a second core; and access the memory area according to the caching scheme associated with the memory area for the first cluster.Type: GrantFiled: June 12, 2025Date of Patent: December 23, 2025Assignee: Next Silicon LtdInventors: Elad Raz, Dan Shechter
-
Publication number: 20250383876Abstract: A system for executing a software program comprising processing units and a hardware processor configured to: for at least one set of blocks, each set comprising a calling block and a target block of an intermediate representation of the software program, generate control-transfer information describing at least one value of the software program at an exit of the calling block (out-value) and at least one other value of the software program at an entry to the target block (in-value); select a set of blocks according to at least one statistical value collected while executing the software program; generate a target set of instructions using the target block and the control-transfer information; generate a calling set of instructions using the calling block and the control-transfer information; configure a calling processing unit to execute the calling set of instructions; and configure a target processing unit to execute the target set of instructions.Type: ApplicationFiled: January 10, 2025Publication date: December 18, 2025Applicant: Next Silicon LtdInventors: Elad RAZ, Ilan TAYARI, Itay BOOKSTEIN, Jonathan LAVI
-
Patent number: 12493471Abstract: An apparatus for computing, comprising a processing circuitry configured for computing an outcome of executing a set of computer instructions comprising a group of data variables, by: identifying an initial state of the processing circuitry; executing a set of anticipated computer instructions produced based on the set of computer instructions and a likely data value, where the likely data value is a value of one the group of data variables anticipated to be computed by executing the set of computer instructions and computed using at least one program data value; and when identifying, while executing the set of anticipated computer instructions, a failed prediction where the data variable is not equal to the likely data value: restoring the initial state of the processing circuitry; and executing a set of alternative computer instructions, produced based on the set of computer instructions and the at least one likely data value.Type: GrantFiled: January 11, 2022Date of Patent: December 9, 2025Assignee: Next Silicon LtdInventors: Elad Raz, Ilan Tayari
-
Patent number: 12461752Abstract: A system for executing multiple concurrent threads, comprising: context storages, each configured to store thread contexts, each context for one of the multiple threads, each of the context storages associated with an operation of the threads; and processing circuitry configured to: while a first and a second thread are executed simultaneously by the circuitry: store a first context of the first thread in a first storage, identified in the first storage by a value; store a second context of the second thread in a second storage, identified in the second storage by the value; and upon completing execution of a first operation of the first thread, the operation associated with the first storage, when applying a test to the value indicates that the value is available in the second storage, store the first context in the second storage, the first context identified in the second storage by the value.Type: GrantFiled: May 21, 2025Date of Patent: November 4, 2025Assignee: Next Silicon LtdInventors: Elad Raz, Ilan Tayari, Ronen Gal
-
Publication number: 20250335358Abstract: A method for cache coherency in a reconfigurable cache architecture is provided. The method includes receiving a memory access command, wherein the memory access command includes at least an address of a memory to access; determining at least one access parameter based on the memory access command; and determining a target cache bin for serving the memory access command based in part on the at least one access parameter and the address.Type: ApplicationFiled: July 9, 2025Publication date: October 30, 2025Applicant: Next Silicon LtdInventor: Elad RAZ
-
Publication number: 20250321741Abstract: A system for processing a plurality of concurrent threads comprising: a reconfigurable processing grid, comprising logical elements and a context storage for storing thread contexts, each thread context for one of a plurality of concurrent threads, each implementing a dataflow graph comprising an identified operation; and a hardware processor configured for configuring the at reconfigurable processing grid for: executing a first thread of the plurality of concurrent threads; and while executing the first thread: storing a runtime context value of the first thread in the context storage; while waiting for completion of the identified operation by identified logical elements, executing the identified operation of a second thread by the identified logical element; and when execution of the identified operation of the first thread completes: retrieving the runtime context value of the first thread from the context storage; and executing another operation of the first thread.Type: ApplicationFiled: June 23, 2025Publication date: October 16, 2025Applicant: Next Silicon LtdInventors: Elad RAZ, Ilan TAYARI, Ronen GAL
-
Publication number: 20250244755Abstract: A system for accessing memory comprising a memory management component configured to: mark each of a plurality of memory areas as pending in response to identifying at least one data retrieval instruction directed towards a target memory comprising the plurality of memory areas, each memory area associated with a range of memory addresses that is mapped thereto; and while at least one of the plurality of memory areas is marked as pending: remove the marking as pending for at least one first memory area of the plurality of memory areas upon the at least one first memory area being ready for access; and access at least one first value in the at least one first memory area in response to at least one first memory access instruction, subject to the removal of the marking as pending of the at least one first memory area; and a manufacturing processes thereof.Type: ApplicationFiled: January 31, 2024Publication date: July 31, 2025Applicant: Next Silicon LtdInventors: Alexander MARGOLIN, Ilan TAYARI, Tal SEGAL, Elad RAZ
-
Publication number: 20250238357Abstract: A method, a system and an accelerator for managing memory access among one or more computing entities may continuously monitor data access to at least one memory module, associated with a respective source computing entity. Based on the monitoring, embodiments may identify a memory area of the source memory module that contains a predetermined quantity of data that is expected to be used by a sink computing entity, and transmit a first version of content of the identified memory area to the sink computing entity. Embodiments may then identify an explicit request, from the sink computing entity to the source computing entity, for accessing data of the identified memory area. Embodiments may subsequently calculate a difference between the first version of content of the identified memory area and a current content of the identified memory area, and transmit the calculated difference to the requesting sink computing entity.Type: ApplicationFiled: January 18, 2024Publication date: July 24, 2025Inventors: Elad RAZ, Alex MARGOLIN
-
Patent number: 12360902Abstract: A method for cache coherency in a reconfigurable cache architecture is provided. The method includes receiving a memory access command, wherein the memory access command includes at least an address of a memory to access; determining at least one access parameter based on the memory access command; and determining a target cache bin for serving the memory access command based in part on the at least one access parameter and the address.Type: GrantFiled: August 4, 2023Date of Patent: July 15, 2025Assignee: Next Silicon LtdInventor: Elad Raz
-
Patent number: 12340221Abstract: A system for processing a plurality of concurrent threads comprising: a reconfigurable processing grid, comprising logical elements and a context storage for storing thread contexts, each thread context for one of a plurality of concurrent threads, each implementing a dataflow graph comprising an identified operation; and a hardware processor configured for configuring the at reconfigurable processing grid for: executing a first thread of the plurality of concurrent threads; and while executing the first thread: storing a runtime context value of the first thread in the context storage; while waiting for completion of the identified operation by identified logical elements, executing the identified operation of a second thread by the identified logical element; and when execution of the identified operation of the first thread completes: retrieving the runtime context value of the first thread from the context storage; and executing another operation of the first thread.Type: GrantFiled: January 11, 2024Date of Patent: June 24, 2025Assignee: Next Silicon LtdInventors: Elad Raz, Ilan Tayari
-
Patent number: 12333231Abstract: An Integrated Circuit (IC) device, and a method of utilizing thereof, may include: a plurality of Processing Elements (PEs), each comprising one or more configurable hardware logic blocks. The IC may further include a plurality of configuration memory elements, each associated with a respective PE, and adapted to maintain two or more configuration settings of the respective PE. The IC may further include a configuration manager circuit, configured to: receive a reconfiguration instruction, dictating a required function of the IC device; based on the reconfiguration instruction, identify at least one target PE of the plurality of PEs as a target for reconfiguration; based on the required function, select a specific configuration setting in the configuration memory element associated with the at least one target PE; and reconfigure at least one hardware logic block of the at least one target PE, according to the selected configuration setting.Type: GrantFiled: November 3, 2024Date of Patent: June 17, 2025Assignee: NEXT SILICON LTD.Inventors: Elad Raz, Ilan Tayati, Ronen Gal, Oded Margalit, Elad Shliselberg
-
Publication number: 20250138787Abstract: There is provided a method, comprising simultaneously presenting in a GUI, a source code and an interactive graph of nodes connected by edges representing the source code mapped to physical configurable elements of computational cluster(s) of a processor each configurable to execute mathematical operations, each node represents operation(s) mapped to physical configurable elements, and edges represent dependencies between the operations, mapped to physical dependency links between the configurable elements, receiving, via the GUI, a user selection of a portion of the source code, determining node(s) and/or edge(s) of the interactive graph corresponding to the portion, and updating the GUI for visually distinguishing the node(s) and/or edge(s), wherein the visually distinguished node(s) represents a mapping to certain physical configurable elements and the visually distinguished edge(s) represents certain dependency links between the certain physical configurable elements of the processor configured to executeType: ApplicationFiled: May 27, 2024Publication date: May 1, 2025Applicant: Next Silicon LtdInventors: Oshri KDOSHIM, Elad RAZ
-
Publication number: 20250130802Abstract: An apparatus for executing a software program, comprising processing units and a hardware processor adapted for: in an intermediate representation of the software program, where the intermediate representation comprises blocks, each associated with an execution block of the software program and comprising intermediate instructions, identifying a calling block and a target block, where the calling block comprises a control-flow intermediate instruction to execute a target intermediate instruction of the target block; generating target instructions using the target block; generating calling instructions using the calling block and a computer control instruction for invoking the target instructions, when the calling instructions are executed by a calling processing unit and the target instructions are executed by a target processing unit; configuring the calling processing unit for executing the calling instructions; and configuring the target processing unit for executing the target instructions.Type: ApplicationFiled: December 24, 2024Publication date: April 24, 2025Applicant: Next Silicon LtdInventors: Elad RAZ, Ilan TAYARI
-
Publication number: 20250053511Abstract: A method for caching memory comprising caching two data values, each of one of two ranges of application memory addresses, each associated with one of a set of threads, by: organizing a plurality of sequences of consecutive address sub-ranges in an interleaved sequence of address sub-ranges by alternately selecting, for each thread in an identified order of threads, a next sub-range in the respective sequence of sub-ranges associated therewith; generating a mapping of the interleaved sequence of sub-ranges to a range of physical memory addresses in order of the interleaved sequence of sub-ranges; and when a thread accesses an application memory address of the respective range of application addresses associated thereof: computing a target address according to the mapping using the application address; and storing the two data values in one cache-line of a plurality of cache-lines of a cache by accessing the physical memory area using the target address.Type: ApplicationFiled: October 28, 2024Publication date: February 13, 2025Applicant: Next Silicon LtdInventors: Dan SHECHTER, Elad RAZ