Patents by Inventor Noam Mizrahi

Noam Mizrahi 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: 10230542
    Abstract: In various embodiments, the present disclosure provides a system comprising a first plurality of processing cores, ones of the first plurality of processing cores coupled to a respective core interface module among a first plurality of core interface modules, the first plurality of core interface modules configured to be coupled to form in a first ring network of processing cores; a second plurality of processing cores, ones of the second plurality of processing cores coupled to a respective core interface module among a second plurality of core interface modules, the second plurality of core interface modules configured to be coupled to form a second ring network of processing cores; a first global interface module to form an interface between the first ring network and a third ring network; and a second global interface module to form an interface between the second ring network and the third ring network.
    Type: Grant
    Filed: March 8, 2017
    Date of Patent: March 12, 2019
    Assignee: Marvell World Trade Ltd.
    Inventors: Eitan Joshua, Shaul Chapman, Erez Amit, Noam Mizrahi, Moshe Raz, Husam Khshaiboun, Amit Shmilovich, Sujat Jamil, Frank O'Bleness
  • Publication number: 20190046314
    Abstract: An implantable prosthetic valve that is radially collapsible to a collapsed configuration and radially expandable to an expanded configuration includes an annular frame having an inflow end, an outflow end, and a longitudinal axis. A leaflet structure is positioned within the frame and secured thereto, and a sealing element is secured to the frame. The sealing element includes a first woven portion extending circumferentially around the frame. The first woven portion includes a plurality of interwoven filaments. The sealing element further includes a second woven portion extending circumferentially around the frame and spaced apart from the first woven portion along the longitudinal axis of the frame. At least a portion of the filaments exit the weave of the first woven portion and form loops extending radially outwardly from the frame.
    Type: Application
    Filed: August 10, 2018
    Publication date: February 14, 2019
    Inventors: Tamir S. Levi, Giolnara Pinhas, Liraz Marom, Elena Sherman, Noam Mizrahi, Delfin Rafael Ruiz, Sandip Vasant Pawar, Liron Tayeb
  • Patent number: 10185561
    Abstract: A method includes, in a processor, processing program code that includes memory-access instructions, wherein at least some of the memory-access instructions include symbolic expressions that specify memory addresses in an external memory in terms of one or more register names. A relationship between the memory addresses accessed by two or more of the memory-access instructions is identified, based on respective formats of the memory addresses specified in the symbolic expressions. An outcome of at least one of the memory-access instructions is assigned to be served from an internal memory in the processor, based on the identified relationship.
    Type: Grant
    Filed: July 9, 2015
    Date of Patent: January 22, 2019
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Noam Mizrahi, Jonathan Friedmann
  • Patent number: 10180841
    Abstract: A processor includes a processing pipeline including multiple hardware threads and configured to execute software code instructions that are stored in a memory, along with multiple registers, configured to be read and written to by the processing pipeline during execution of the instructions. A monitoring unit monitors the instructions in the processing pipeline and records respective monitoring tables indicating the registers accessed in processing the instructions in different sequences of the instructions, and parallelizes among the hardware threads of the processor, using the respective monitoring tables, execution of repetitions of at least first sequences of the instructions.
    Type: Grant
    Filed: January 27, 2016
    Date of Patent: January 15, 2019
    Assignee: Centipede Semi Ltd.
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Patent number: 10013255
    Abstract: A method includes, in a processor, processing a sequence of pre-compiled instructions by an instruction pipeline of the processor. A first block of instructions is identified in the instructions flowing via the pipeline. The first block includes a conditional branch instruction that conditionally diverges execution of the instructions into at least first and second flow-control traces that differ from one another in multiple instructions and converge at a given instruction that is again common to the first and second flow-control traces. A second block of instructions, which is logically equivalent to the first block but replaces the first and second flow-control traces by a single flow-control trace, is created by the processor at runtime. The pipeline is caused to execute the second block instead of the first block.
    Type: Grant
    Filed: March 23, 2016
    Date of Patent: July 3, 2018
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Jonathan Friedmann, Ido Goren, Shay Koren, Noam Mizrahi, Alberto Mandler
  • Publication number: 20180157492
    Abstract: A processor includes a hardware-implemented pipeline and parallelization circuitry. The pipeline processes program code. The parallelization circuitry creates a first (earlier) segment and a second (later) segment of the program code to be processed in parallel. Each segment is an ordered sequence of instructions within the program code. A last store to a memory address is identified in the first segment. During parallelized processing of the first segment and the second segment, the parallelization circuitry controls second segment loads which are potentially dependent on the last store by: during processing of the first segment instructions, providing a release notification when the memory address is available for subsequent instructions, and, during processing of the second segment instructions, issuing a second segment load which is potentially dependent on the last store for execution after the release notification is provided.
    Type: Application
    Filed: December 1, 2016
    Publication date: June 7, 2018
    Inventors: Nadav LEVISON, Noam MIZRAHI
  • Publication number: 20180129505
    Abstract: A method includes, in a processor (20) that processes instructions of program code, processing a first segment of the instructions. One or more destination registers are identified in the first segment using an approximate specification of register access by the instructions. Respective values of the destination registers are made available to a second segment of the instructions only upon verifying that the values are valid for readout by the second segment in accordance with the approximate specification. The second segment is processed at least partially in parallel with processing of the first segment, using the values made available from the first segment.
    Type: Application
    Filed: February 4, 2016
    Publication date: May 10, 2018
    Inventors: Noam MIZRAHI, Alberto MANDLER, Shay KOREN, Jonathan FRIEDMANN
  • Publication number: 20180129501
    Abstract: Method(s) for up/down fusion and/or pseudo-fusion of micro-operations are performed in a hardware processor configured to execute program code. A mergeable pair of micro-operations is identified in a sequence of micro-operations of the program code. The pair of micro-operations includes a first micro-operation for performing a first function and a non-consecutive second micro-operation for performing a second function. The first micro-operation precedes the second micro-operation in the sequence of micro-operations being processed. The first micro-operation is merged into the second micro-operation to create a third micro-operation which performs both the first function and the second function. In up/down fusion the third micro-operation is dispatched instead of the first micro-operation or instead of the second micro-operation, based on whether fuse-up or fuse-down is performed.
    Type: Application
    Filed: August 30, 2017
    Publication date: May 10, 2018
    Inventors: Nadav LEVISON, Noam MIZRAHI, Jonathan FRIEDMANN
  • Publication number: 20180129498
    Abstract: Method(s) for up/down fusion and/or pseudo-fusion of micro-operations are performed in a hardware processor configured to execute program code. A mergeable pair of micro-operations is identified in a sequence of micro-operations of the program code. The pair of micro-operations includes a first micro-operation for performing a first function and a non-consecutive second micro-operation for performing a second function. The first micro-operation precedes the second micro-operation in the sequence of micro-operations being processed. The first micro-operation is merged into the second micro-operation to create a third micro-operation which performs both the first function and the second function. In up/down fusion the third micro-operation is dispatched instead of the first micro-operation or instead of the second micro-operation, based on whether fuse-up or fuse-down is performed.
    Type: Application
    Filed: August 30, 2017
    Publication date: May 10, 2018
    Inventors: Nadav LEVISON, Noam Mizrahi, Jonathan Friedmann
  • Publication number: 20180129500
    Abstract: A method includes retrieving to a pipeline of a processor first instructions of program code from a first region in the program code. Before fully determining a flow-control path, which is to be traversed within the first region until exit from the first region, a beginning of a second region in the code that is to be processed following the first region is predicted, and second instructions begin to be retrieved to the pipeline from the second region. The retrieved first instructions and second instructions are processed by the pipeline.
    Type: Application
    Filed: June 8, 2017
    Publication date: May 10, 2018
    Inventors: Shay Koren, Noam Mizrahi, Jonathan Friedmann
  • Publication number: 20180095766
    Abstract: A method includes, in a processor having a pipeline, fetching instructions of program code at run-time, in an order that is different from an order-of-appearance of the instructions in the program code. The instructions are divided into segments having segment identifiers (IDs). An event, which warrants flushing of instructions starting from an instruction belonging to a segment, is detected. In response to the event, at least some of the instructions in the segment that are subsequent to the instruction, and at least some of the instructions in one or more subsequent segments that are subsequent to the segment, are flushed from the pipeline based on the segment IDs.
    Type: Application
    Filed: October 5, 2016
    Publication date: April 5, 2018
    Inventors: Jonathan Friedmann, Noam Mizrahi, Alberto Mandler
  • Publication number: 20180004627
    Abstract: A processor includes an instruction pipeline and control circuitry. The instruction pipeline is configured to process instructions of program code. The control circuitry is configured to monitor the processed instructions at run-time, to construct an invocation data structure comprising multiple entries, wherein each entry (i) specifies an initial instruction that is a target of a branch instruction, (ii) specifies a portion of the program code that follows one or more possible flow-control traces beginning from the initial instruction, and (iii) specifies, for each possible flow-control trace specified in the entry, a next entry that is to be processed following processing of that possible flow-control trace, and to configure the instruction pipeline to process segments of the program code, by continually traversing the entries of the invocation data structure.
    Type: Application
    Filed: June 29, 2016
    Publication date: January 4, 2018
    Inventors: Shay Koren, Arie Hacohen Ben Porat, Ido Goren, Noam Mizrahi, Jonathan Friedmann
  • Patent number: 9858075
    Abstract: A method includes, in a processor that processes multiple segments of a sequence of instructions of program code, wherein each segment is defined as either speculative or non-speculative, dispatching the instructions of the segments into at least one instruction buffer. The instructions of the segments are executed, and, in each segment, at least some of the executed instructions of the segment are speculatively-committed from the at least one instruction buffer independently of any other segment. Dispatching the instructions includes dispatching the instructions of a first segment into a first region of the at least one instruction buffer, and dispatching the instructions of a second segment, which occurs later in the program code than the first segment, into a second region of the at least one instruction buffer before all the instructions of the first segment have been dispatched into the first region.
    Type: Grant
    Filed: December 6, 2015
    Date of Patent: January 2, 2018
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Omri Tennenhaus, Noam Mizrahi, Alberto Mandler
  • Publication number: 20170337062
    Abstract: A processor includes a pipeline and control circuitry. The pipeline is configured to process instructions of program code and includes one or more fetch units. The control circuitry is configured to predict at run-time one or more future flow-control traces to be traversed in the program code, to define, based on the predicted flow-control traces, two or more regions of the program code from which instructions are to be fetched, wherein the number of regions is greater than the number of fetch units, and to instruct the pipeline to fetch instructions alternately from the two or more regions of the program code using the one or more fetch units, and to process the fetched instructions.
    Type: Application
    Filed: December 29, 2016
    Publication date: November 23, 2017
    Inventors: Jonathan Friedmann, Shay Koren, Noam Mizrahi, Alberto Mandler
  • Publication number: 20170286363
    Abstract: Embodiments described herein provide a method for accessing a host memory through non-volatile memory over fabric bridging with direct target access. A first memory access command encapsulated in a first network packet is received at a memory interface unit and from a remote direct memory access (RDMA) interface and via a network fabric. The first memory access command is compliant with a first non-volatile memory interface protocol and the first network packet is compliant with a second non-volatile memory interface protocol. The first network packet is unwrapped to obtain the first memory access command. The first memory access command is stored in a work queue using address bits of the work queue as a pre-set index of the first memory access command. The first memory access command is sent from the work queue based on the pre-set index to activate a first target storage device.
    Type: Application
    Filed: April 4, 2017
    Publication date: October 5, 2017
    Inventors: Eitan Joshua, Scott Furey, Dimitry Melts, Noam Mizrahi
  • Publication number: 20170277538
    Abstract: A method for trace prediction includes using trace prediction to predict a trace specifying branch decisions. When a branch misprediction is detected, trace prediction is terminated and prediction is continued using branch prediction.
    Type: Application
    Filed: March 24, 2016
    Publication date: September 28, 2017
    Inventors: Jonathan FRIEDMANN, Noam MIZRAHI, Arie Hacohen BEN-PORAT, Ido GOREN, Alberto MANDLER, Shay KOREN
  • Publication number: 20170277544
    Abstract: A processor includes an execution pipeline and monitoring circuity. The execution pipeline is configured to execute instructions of program code. The monitoring circuity is configured to monitor the instructions in a segment of a repetitive sequence of the instructions so as to construct a specification of register access by the monitored instructions, to parallelize execution of the repetitive sequence based on the corrected specification, and to terminate monitoring of the instructions and discard the specification in response to detecting a branch mis-prediction in the monitored instructions.
    Type: Application
    Filed: June 13, 2017
    Publication date: September 28, 2017
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Patent number: 9715390
    Abstract: A method includes, in a processor that processes instructions of program code, processing a first segment of the instructions. One or more destination registers are identified in the first segment using an approximate specification of register access by the instructions. Respective values of the destination registers are made available to a second segment of the instructions only upon verifying that the values are valid for readout by the second segment in accordance with the approximate specification. The second segment is processed at least partially in parallel with processing of the first segment, using the values made available from the first segment.
    Type: Grant
    Filed: April 19, 2015
    Date of Patent: July 25, 2017
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Publication number: 20170180156
    Abstract: In various embodiments, the present disclosure provides a system comprising a first plurality of processing cores, ones of the first plurality of processing cores coupled to a respective core interface module among a first plurality of core interface modules, the first plurality of core interface modules configured to be coupled to form in a first ring network of processing cores; a second plurality of processing cores, ones of the second plurality of processing cores coupled to a respective core interface module among a second plurality of core interface modules, the second plurality of core interface modules configured to be coupled to form a second ring network of processing cores; a first global interface module to form an interface between the first ring network and a third ring network; and a second global interface module to form an interface between the second ring network and the third ring network.
    Type: Application
    Filed: March 8, 2017
    Publication date: June 22, 2017
    Inventors: Eitan Joshua, Shaul Chapman, Erez Amit, Noam Mizrahi, Moshe Raz, Husam Khshaiboun, Amit Shmilovich, Sujat Jamil, Frank O'Bleness
  • Publication number: 20170161066
    Abstract: A method includes, in a processor that processes multiple segments of a sequence of instructions of program code, wherein each segment is defined as either speculative or non-speculative, dispatching the instructions of the segments into at least one instruction buffer. The instructions of the segments are executed, and, in each segment, at least some of the executed instructions of the segment are speculatively-committed from the at least one instruction buffer independently of any other segment. Dispatching the instructions includes dispatching the instructions of a first segment into a first region of the at least one instruction buffer, and dispatching the instructions of a second segment, which occurs later in the program code than the first segment, into a second region of the at least one instruction buffer before all the instructions of the first segment have been dispatched into the first region.
    Type: Application
    Filed: December 6, 2015
    Publication date: June 8, 2017
    Inventors: Omri Tennenhaus, Noam Mizrahi, Alberto Mandler