Patents by Inventor Michael L. Takefman

Michael L. Takefman 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: 9575908
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system performs a maze unlock sequence by operating a memory device in a maze unlock mode. The maze unlock sequence involves writing a first data pattern of a plurality of data patterns to a memory address of the memory device, reading a first set of data from the memory address, and storing the first set of data in a validated data array. The maze unlock sequence further involves writing a second data pattern of the plurality of data patterns to the memory address, reading a second set of data from the memory address, and storing the second set of data in the validated data array. A difference vector array is generated from the validate data array and an address map of the memory device is identified based on the difference vector array.
    Type: Grant
    Filed: April 29, 2014
    Date of Patent: February 21, 2017
    Assignee: DIABLO TECHNOLOGIES INC.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Patent number: 9552175
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system is configured to receive a command from a host memory controller of a host system and store the command in a command buffer entry. The system determines that the command is complete using a buffer check logic and provides the command to a command buffer. The command buffer comprises a first field that specifies an entry point of the command within the command buffer entry.
    Type: Grant
    Filed: April 29, 2014
    Date of Patent: January 24, 2017
    Assignee: DIABLO TECHNOLOGIES INC.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20160378404
    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 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: September 12, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL L. TAKEFMAN, MAHER AMER, RICCARDO BADALONE
  • Publication number: 20160371204
    Abstract: A system and method for offsetting the data buffer latency in a CPIO device having a JEDEC standard DDR-4 LRDIMM chipset as the front end is disclosed. According to one embodiment, a CPIO ASIC provides variable timing control for its DDR-4 LRDIMM interface such that propagation delay of the data buffers can be offset by the CPIO ASIC, allowing the CPIO LRDIMM to be timing compatible with an RDIMM.
    Type: Application
    Filed: August 30, 2016
    Publication date: December 22, 2016
    Inventors: Michael L. Takefman, Maher Amer, Claus Reitlingshoefer
  • Patent number: 9449651
    Abstract: A system and method for offsetting the data buffer latency in a CPIO device having a JEDEC standard DDR-4 LRDIMM chipset as the front end is disclosed. According to one embodiment, a CPIO ASIC provides variable timing control for its DDR-4 LRDIMM interface such that propagation delay of the data buffers can be offset by the CPIO ASIC, allowing the CPIO LRDIMM to be timing compatible with an RDIMM.
    Type: Grant
    Filed: March 20, 2015
    Date of Patent: September 20, 2016
    Assignee: DIABLO TECHNOLOGIES INC.
    Inventors: Michael L. Takefman, Maher Amer, Claus Reitlingshoefer
  • Patent number: 9444495
    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 2, 2015
    Date of Patent: September 13, 2016
    Assignee: DIABLO TECHNOLOGIES INC.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20160041933
    Abstract: A method of implementing a multi-threaded device driver for a computer system is disclosed. According to one embodiment, 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: August 5, 2014
    Publication date: February 11, 2016
    Inventors: Bart Trojanowski, Michael L. Takefman, Maher Amer
  • Publication number: 20160041917
    Abstract: A system and method for mirroring a volatile memory to a CPIO device of a computer system is disclosed. According to one embodiment, a command buffer and a data buffer are provided to store data and a command for mirroring the data. The command specifies metadata associated with the data. The data is mirrored a non-volatile memory of the CPIO device based on the command.
    Type: Application
    Filed: August 5, 2014
    Publication date: February 11, 2016
    Inventors: Bart Trojanowski, Maher Amer, Riccardo Badalone, Michael L. Takefman
  • Publication number: 20150347151
    Abstract: A method of booting a computer system using a non-volatile memory of a memory module of the computer system is disclosed. According to one embodiment, a memory controller driver of a memory module of the computer system is stored in a non-volatile memory of the memory module. A memory controller of the memory module has a register that is set to indicate a location of the memory controller driver in the non-volatile memory of the memory module. The memory controller determines the location of the memory controller driver of the memory module using the register. The memory controller driver is transferred from the non-volatile memory to a buffer of the memory controller and subsequently from the buffer of the memory controller to a main memory of the computer system. The computer system initializes the memory module using the memory controller driver.
    Type: Application
    Filed: May 28, 2014
    Publication date: December 3, 2015
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Bart Trojankowski, Maher Amer, Riccardo Badalone
  • Publication number: 20150326684
    Abstract: A method of controlling a remote computer device of a remote computer system over a remote direct memory access (RDMA) is disclosed. According to one embodiment, the method includes establishing a connection for remote direct memory access (RDMA) between a local memory device of a local computer system and a remote memory device of a remote computer system. A local command is sent from a local application that is running on the local computer system to the remote memory device of the remote computer system via the RDMA. The remote computer system executes the local command on the remote computer device.
    Type: Application
    Filed: May 7, 2014
    Publication date: November 12, 2015
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Bart Trojankowski, Maher Amer, Riccardo Badalone
  • Publication number: 20150324281
    Abstract: A system and method for implementing an object storage device is disclosed. According to one embodiment, the system includes a first controller configured to interface with a main memory controller of a computer system to receive a data object and a first request for storing the data object, the first request including a key value. The system also includes a second controller configured to: allocate memory in one or more non-volatile memory storage units for storing the data object, store the data object in the allocated memory, and maintain an association between the key value and allocated memory.
    Type: Application
    Filed: May 7, 2014
    Publication date: November 12, 2015
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Bart Trojanowski, Maher Amer
  • Publication number: 20150309959
    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 2, 2015
    Publication date: October 29, 2015
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20150310898
    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: April 23, 2015
    Publication date: October 29, 2015
    Inventors: MICHAEL L. TAKEFMAN, MAHER AMER, CLAUS REITLINGSHOEFER, RICCARDO BADALONE
  • Publication number: 20150294698
    Abstract: A system and method for offsetting the data buffer latency in a CPIO device having a JEDEC standard DDR-4 LRDIMM chipset as the front end is disclosed. According to one embodiment, a CPIO ASIC provides variable timing control for its DDR-4 LRDIMM interface such that propagation delay of the data buffers can be offset by the CPIO ASIC, allowing the CPIO LRDIMM to be timing compatible with an RDIMM.
    Type: Application
    Filed: March 20, 2015
    Publication date: October 15, 2015
    Inventors: Michael L. Takefman, Maher Amer, Claus Reitlinshoefer
  • Patent number: 8972805
    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: April 7, 2014
    Date of Patent: March 3, 2015
    Assignee: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20140237176
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system performs a maze unlock sequence by operating a memory device in a maze unlock mode. The maze unlock sequence involves writing a first data pattern of a plurality of data patterns to a memory address of the memory device, reading a first set of data from the memory address, and storing the first set of data in a validated data array. The maze unlock sequence further involves writing a second data pattern of the plurality of data patterns to the memory address, reading a second set of data from the memory address, and storing the second set of data in the validated data array. A difference vector array is generated from the validate data array and an address map of the memory device is identified based on the difference vector array.
    Type: Application
    Filed: April 29, 2014
    Publication date: August 21, 2014
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20140237157
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system provides a one-hot address cache comprising a plurality of one-hot addresses and a host interface to a host memory controller of a host system. Each one-hot address of the plurality of one-hot addresses has a bit width. The plurality of one-hot addresses is configured to store the data associated with a corresponding memory address in an address space of a memory system and provide the data to the host memory controller during a memory map learning process. The plurality of one-hot addresses comprises a zero address of the bit width and a plurality of non-zero addresses of the bit width, and each one-hot address of the plurality of non-zero addresses of the one-hot address cache has only one non-zero address bit of the bit width.
    Type: Application
    Filed: April 29, 2014
    Publication date: August 21, 2014
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20140237205
    Abstract: A system for interfacing with a co-processor or input/output device is disclosed. According to one embodiment, the system is configured to receive a command from a host memory controller of a host system and store the command in a command buffer entry. The system determines that the command is complete using a buffer check logic and provides the command to a command buffer. The command buffer comprises a first field that specifies an entry point of the command within the command buffer entry.
    Type: Application
    Filed: April 29, 2014
    Publication date: August 21, 2014
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Publication number: 20140223262
    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: April 7, 2014
    Publication date: August 7, 2014
    Applicant: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone
  • Patent number: 8713379
    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: November 22, 2011
    Date of Patent: April 29, 2014
    Assignee: Diablo Technologies Inc.
    Inventors: Michael L. Takefman, Maher Amer, Riccardo Badalone