Patents by Inventor Maher Amer

Maher Amer 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: 20260186907
    Abstract: Various aspects relate to a memory system including: a memory configured to store respective page data for each of a plurality of pages; a non-volatile first-in first-out, FIFO, buffer; a controller configured to carry out a checkpoint operation in response to a checkpoint command; a storage configured to store a page table including a page table entry for each page, the page table entry indicating whether the page was updated after receiving the checkpoint command; the checkpoint operation including: generating a page table copy of the page table; in response to receiving data that are to be written to a page, if, in the page table copy, the page table entry of the page indicates that the page was not updated: storing the data in the hardware FIFO buffer, generating a page data copy of the page data of the page, and merging the data with the page data copy.
    Type: Application
    Filed: December 30, 2024
    Publication date: July 2, 2026
    Inventors: Maher Amer, Torsten Coym
  • Publication number: 20260186966
    Abstract: Various aspects relate to a memory module including: a non-volatile write cache; a non-volatile flash storage including a plurality of blocks, wherein each of the plurality of blocks includes a plurality of pages for storing page data; and a memory controller configured to: receive page data via a memory interface and store the page data in the non-volatile write cache, the page data being associated with a corresponding page of the plurality of pages of a block of the plurality of blocks, and indicate the corresponding page as invalid prior to writing the page data into the non-volatile flash storage.
    Type: Application
    Filed: December 30, 2024
    Publication date: July 2, 2026
    Inventors: Maher Amer, Torsten Coym
  • Publication number: 20260186990
    Abstract: Various aspects relate to a memory module including: a memory interface; a non-volatile storage device for persistently storing data; a non-volatile memory device providing a write first in first out, FIFO, buffer in hardware, the write FIFO buffer being configured to receive, via the memory interface, and to store packets associated with one or more atomic transactions, wherein each of the one or more atomic transactions includes a respective plurality of packets and indicates corresponding data to be written to the memory module; a memory controller configured to write the corresponding data of an atomic transaction of the one or more atomic transactions to the memory module in the case that the write FIFO buffer stores the respective plurality of packets of the atomic transaction.
    Type: Application
    Filed: December 30, 2024
    Publication date: July 2, 2026
    Inventors: Maher Amer, Torsten Coym
  • Patent number: 11789662
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Grant
    Filed: June 29, 2022
    Date of Patent: October 17, 2023
    Assignee: Rambus Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Patent number: 11640836
    Abstract: A system and method are directed to providing a configurable timing control of a memory system. In one embodiment, the system has a first interface to receive a DIMM clock and configuration information, a second interface to a first data bus, and a third interface to a second data bus. The system further has a plurality of flip-flops, a multiplexor coupled to the plurality of flip-flops, a first control block for controlling to hold an input data within the plurality of flipflops, and a second control block for controlling a timing of an output data from the plurality of flip-flops via the multiplexor with a programmable delay. The input data is received via the second interface. The programmable delay is received via the first interface. The output data is sent out with the timing delay via the third interface.
    Type: Grant
    Filed: July 9, 2021
    Date of Patent: May 2, 2023
    Assignee: Rambus Inc.
    Inventors: Michael L. Takefman, Maher Amer, Claus Reitlingshoefer, Riccardo Badalone
  • Publication number: 20220405018
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Application
    Filed: June 29, 2022
    Publication date: December 22, 2022
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Patent number: 11422749
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Grant
    Filed: March 5, 2021
    Date of Patent: August 23, 2022
    Assignee: Rambus Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20210407561
    Abstract: A system and method for providing a configurable timing control of a memory system is disclosed. In one embodiment, the system has a first interface to receive a DIMM clock and configuration information, a second interface to a first data bus, and a third interface to a second data bus. The system further has a plurality of flip-flops, a multiplexor coupled to the plurality of flip-flops, a first control block for controlling to hold an input data within the plurality of flip-flops, and a second control block for controlling a timing of an output data from the plurality of flip-flops via the multiplexor with a programmable delay. The input data is received via the second interface. The programmable delay is received via the first interface. The output data is sent out with the timing delay via the third interface.
    Type: Application
    Filed: July 9, 2021
    Publication date: December 30, 2021
    Inventors: Michael L. Takefman, Maher Amer, Claus Reitlingshoefer, Riccardo Badalone
  • Publication number: 20210318835
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Application
    Filed: March 5, 2021
    Publication date: October 14, 2021
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Patent number: 11061841
    Abstract: A method of implementing a multi-threaded device driver for a computer system is disclosed. A polling device driver is partitioned into a plurality of driver threads for controlling a device of a computer system. The device has a first device state of an unscouted state and a scouted state, and a second device state of an inactive state and an active state. A driver thread of the plurality of driver threads determines that the first device state of the device state is in the unscouted state, and changes the first state of the device to the scouted state. The driver thread further determines that the second device state of the device is in the inactive state and changes the second device state of the device to the active state. The driver thread executes an operation on the device during a pre-determined time slot configured for the driver thread.
    Type: Grant
    Filed: July 17, 2020
    Date of Patent: July 13, 2021
    Assignee: Rambus, Inc.
    Inventors: Bart Trojanowski, Michael L. Takefman, Maher Amer
  • Patent number: 11062743
    Abstract: A system and method for providing a configurable timing control of a memory system is provided. One system has a first interface to receive a DIMM clock and configuration information, a second interface to a first data bus, and a third interface to a second data bus. The system further has flip-flops, a multiplexer coupled to the flip-flops, a first control block for controlling to hold an input data within the flip-flops, and a second control block for controlling a timing of an output data from the flip-flops via the multiplexer with a programmable delay. The input data is received via the second interface. The programmable delay is received via the first interface. The output data is sent out with the timing delay via the third interface.
    Type: Grant
    Filed: February 26, 2020
    Date of Patent: July 13, 2021
    Assignee: Rambus, Inc.
    Inventors: Michael L. Takefman, Maher Amer, Claus Reitlingshoefer, Riccardo Badalone
  • Patent number: 10942682
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Grant
    Filed: July 24, 2020
    Date of Patent: March 9, 2021
    Assignee: RAMBUS INC.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20210011661
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Application
    Filed: July 24, 2020
    Publication date: January 14, 2021
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20210004341
    Abstract: A method of implementing a multi-threaded device driver for a computer system is disclosed. A polling device driver is partitioned into a plurality of driver threads for controlling a device of a computer system. The device has a first device state of an unscouted state and a scouted state, and a second device state of an inactive state and an active state. A driver thread of the plurality of driver threads determines that the first device state of the device state is in the unscouted state, and changes the first state of the device to the scouted state. The driver thread further determines that the second device state of the device is in the inactive state and changes the second device state of the device to the active state. The driver thread executes an operation on the device during a pre-determined time slot configured for the driver thread.
    Type: Application
    Filed: July 17, 2020
    Publication date: January 7, 2021
    Inventors: Bart Trojanowski, Michael L. Takefman, Maher Amer
  • Publication number: 20200265876
    Abstract: A system and method for providing a configurable timing control of a memory system is disclosed. In one embodiment, the system has a first interface to receive a DIMM clock and configuration information, a second interface to a first data bus, and a third interface to a second data bus. The system further has a plurality of flip-flops, a multiplexor coupled to the plurality of flip-flops, a first control block for controlling to hold an input data within the plurality of flip-flops, and a second control block for controlling a timing of an output data from the plurality of flip-flops via the multiplexor with a programmable delay. The input data is received via the second interface. The programmable delay is received via the first interface. The output data is sent out with the timing delay via the third interface.
    Type: Application
    Filed: February 26, 2020
    Publication date: August 20, 2020
    Inventors: MICHAEL L. TAKEFMAN, MAHER AMER, CLAUS REITLINGSHOEFER, RICCARDO BADALONE
  • Patent number: 10725704
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Grant
    Filed: December 31, 2018
    Date of Patent: July 28, 2020
    Assignee: Rambus Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Patent number: 10719466
    Abstract: A polling device driver is partitioned into a plurality of driver threads for controlling a device of a computer system. The device has a first device state of an unscouted state and a scouted state, and a second device state of an inactive state and an active state. A driver thread of the plurality of driver threads determines that the first device state of the device state is in the unscouted state, and changes the first state of the device to the scouted state. The driver thread further determines that the second device state of the device is in the inactive state and changes the second device state of the device to the active state. The driver thread executes an operation on the device during a pre-determined time slot configured for the driver thread.
    Type: Grant
    Filed: July 11, 2018
    Date of Patent: July 21, 2020
    Assignee: Rambus Inc.
    Inventors: Bart Trojanowski, Michael L. Takefman, Maher Amer
  • Patent number: 10580465
    Abstract: A system and method for providing a configurable timing control of a memory system is disclosed. In one embodiment, the system has a first interface to receive a DIMM clock and configuration information, a second interface to a first data bus, and a third interface to a second data bus. The system further has a plurality of flip-flops, a multiplexor coupled to the plurality of flip-flops, a first control block for controlling to hold an input data within the plurality of flip-flops, and a second control block for controlling a timing of an output data from the plurality of flip-flops via the multiplexor with a programmable delay. The input data is received via the second interface. The programmable delay is received via the first interface. The output data is sent out with the timing delay via the third interface.
    Type: Grant
    Filed: February 28, 2018
    Date of Patent: March 3, 2020
    Assignee: Rambus Inc.
    Inventors: Michael L. Takefman, Maher Amer, Claus Reitlingshoefer, Riccardo Badalone
  • Publication number: 20190303316
    Abstract: Memory module, computing device, and mesh network are described. A memory module comprises at least one low latency media; a logical controller; a first hybrid bus connecting a CPU memory controller with the logic controller; and a second bus connecting a mesh network with the logic controller; and wherein the logical controller is configured to control data transmission between the low latency media and the CPU memory controller, and between the low latency media and the mesh network.
    Type: Application
    Filed: March 28, 2019
    Publication date: October 3, 2019
    Inventor: Maher Amer
  • Publication number: 20190212948
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system includes a computer processing unit, a memory module, a memory bus that connects the computer processing unit and the memory module and a co-processing unit or input/output device, wherein the memory bus also connects the co-processing unit or input/output device to the computer processing unit.
    Type: Application
    Filed: December 31, 2018
    Publication date: July 11, 2019
    Inventors: Michael L. TAKEFMAN, Maher AMER, Riccardo Badalone