Patents by Inventor Sandeep Brahmadathan

Sandeep Brahmadathan 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: 20250231236
    Abstract: A component die validation built-in self-test (VBIST) engine is presented. In an aspect, a component die includes component circuitry for performing a component function, interface circuitry for communicating with another die, and a VBIST circuit. The VBIST circuit includes a traffic generator that generates test data streams, a tracker that receives and validates test data streams, and a configurable switching matrix for coupling the traffic generator to at least one of the component circuitry, the interface circuitry, or the tracker, and for coupling at least one of the component circuitry, the interface circuitry, or the traffic generator to the tracker. The VBIST circuit can send traffic to and from the component circuitry directly, or indirectly via the interface circuitry in loopback mode, and can be used for memory initialization and test.
    Type: Application
    Filed: April 1, 2025
    Publication date: July 17, 2025
    Inventors: Sandeep BRAHMADATHAN, Jared BENDT, Nagi ABOULENEIN, Kedar KARANDIKAR, Stephan JOURDAN
  • Patent number: 12314130
    Abstract: A memory control circuit stores codewords in a memory module configured to limit errors to one wire of a memory interface. A codeword includes a first block with a first data portion and a second block with a second data portion. An error correction code symbol in the second block is used to locate and correct errors in the second block. Some bits of the first block are repurposed as metadata. The remaining bits are used as parity bits for detecting errors in the first block. The second block is merged with the first block before being stored to memory and demerged from the first block in a memory read operation. Demerging causes errors in the first block to create errors in a corresponding location in the second block. The location of errors found in the second block is used to locate and correct parity errors in the first block.
    Type: Grant
    Filed: March 18, 2024
    Date of Patent: May 27, 2025
    Assignee: Ampere Computing LLC
    Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
  • Publication number: 20250131970
    Abstract: Apparatus and methods for extending functionality of memory controllers using a loopback mode for testing are disclosed herein. In one aspect, a processor-based device provides a memory access intercept circuit configured to receive a memory write request that is directed to and received by a memory controller. The memory access intercept circuit transmits proxy write data to the memory controller, and intercepts write data directed to the memory controller for the memory write request. The memory access intercept circuit stores the write data in a write data buffer, and, upon intercepting the proxy write data from the memory controller directed to a physical (PHY) interface circuit, retrieves the write data from the write data buffer and transmits the write data to the PHY interface circuit. The memory access intercept circuit subsequently receives, from the PHY interface circuit, loopback data, and stores the loopback data in a read data buffer.
    Type: Application
    Filed: October 18, 2023
    Publication date: April 24, 2025
    Inventors: Massimo Sutera, Rakesh Kumar, Kha Minh Huynh, Sandeep Brahmadathan, Anil Kumar Handenahalli Rajanna, Nagi Aboulenein
  • Patent number: 12282064
    Abstract: A component die validation built-in self-test (VBIST) engine is presented. In an aspect, a component die includes component circuitry for performing a component function, interface circuitry for communicating with another die, and a VBIST circuit. The VBIST circuit includes a traffic generator that generates test data streams, a tracker that receives and validates test data streams, and a configurable switching matrix for coupling the traffic generator to at least one of the component circuitry, the interface circuitry, or the tracker, and for coupling at least one of the component circuitry, the interface circuitry, or the traffic generator to the tracker. The VBIST circuit can send traffic to and from the component circuitry directly, or indirectly via the interface circuitry in loopback mode, and can be used for memory initialization and test.
    Type: Grant
    Filed: June 30, 2022
    Date of Patent: April 22, 2025
    Assignee: Ampere Computing LLC
    Inventors: Sandeep Brahmadathan, Jared Bendt, Nagi Aboulenein, Kedar Karandikar, Stephan Jourdan
  • Patent number: 12204410
    Abstract: A codeword read from memory includes data blocks including data and supplemental blocks including error correction code (ECC) symbols for detecting and correcting data errors. Metadata can be stored in the supplemental blocks to increase memory utilization but using bits of the supplemental blocks for metadata leaves too few bits remaining for the ECC symbols. To maintain error protection, the supplemental blocks include ECC symbols to protect a first data portion of the codeword and parity bits configured to protect a second data portion of the codeword. Errors in the first data portion can be located and corrected using the ECC symbols. Errors in the second data portion can be detected by the parity. For example, the first data portion is encoded based on the second data portion, so locations of parity errors correspond to locations of symbol errors, and parity errors can be corrected.
    Type: Grant
    Filed: March 29, 2022
    Date of Patent: January 21, 2025
    Assignee: Ampere Computing LLC
    Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
  • Patent number: 12159056
    Abstract: Apparatus and methods for extending functionality of memory controllers in a processor-based device are disclosed herein. In one aspect, a processor-based device provides a memory access intercept circuit that is communicatively coupled to a memory controller and a memory device. The memory access intercept circuit is configured to receive a memory write request that is directed to and received by the memory controller, and generates a write transaction identifier (ID) for the memory write request. The memory access intercept circuit then generates proxy write data containing the write transaction ID, and sends the proxy write data to the memory controller. The memory access intercept circuit subsequently intercepts the actual write data directed to the memory controller, and stores the write data in a write data buffer in association with the write transaction ID.
    Type: Grant
    Filed: July 1, 2022
    Date of Patent: December 3, 2024
    Assignee: Ampere Computing LLC
    Inventors: Massimo Sutera, Sandeep Brahmadathan, Nagi Aboulenein, Brian Thomas Chase, James Edward Casteel, Kha Minh Huynh, Vung Thanh Huynh
  • Publication number: 20240320165
    Abstract: Methods and systems for an advanced initialization bus (AIB) are presented. In an aspect, an AIB master sends, to an AIB slave, a serial clock over a first signal line, and performs a read operation with the AIB slave. Performing the read operation comprises sending a read command to the AIB slave via a bus comprising at least one bidirectional input/output (I/O) channel, each I/O channel having its own respective signal line, sending a read address to the AIB slave via the bus, receiving a copy of the serial clock from the AIB slave over a second signal line, and latching read data provided by the AIB slave via the bus into a read buffer using the copy of the serial clock as a data strobe. Thus, the AIB master latches the read data provided by the AIB slave using a read strobe also provided by the AIB slave.
    Type: Application
    Filed: May 29, 2024
    Publication date: September 26, 2024
    Inventors: Sandeep BRAHMADATHAN, Danh LA
  • Publication number: 20240220356
    Abstract: A memory control circuit stores codewords in a memory module configured to limit errors to one wire of a memory interface. A codeword includes a first block with a first data portion and a second block with a second data portion. An error correction code symbol in the second block is used to locate and correct errors in the second block. Some bits of the first block are repurposed as metadata. The remaining bits are used as parity bits for detecting errors in the first block. The second block is merged with the first block before being stored to memory and demerged from the first block in a memory read operation. Demerging causes errors in the first block to create errors in a corresponding location in the second block. The location of errors found in the second block is used to locate and correct parity errors in the first block.
    Type: Application
    Filed: March 18, 2024
    Publication date: July 4, 2024
    Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
  • Patent number: 12019565
    Abstract: Methods and systems for an advanced initialization bus (AIB) are presented. In an aspect, an AIB master sends, to an AIB slave, a serial clock over a first signal line, and performs a read operation with the AIB slave. Performing the read operation comprises sending a read command to the AIB slave via a bus comprising at least one bidirectional input/output (I/O) channel, each I/O channel having its own respective signal line, sending a read address to the AIB slave via the bus, receiving a copy of the serial clock from the AIB slave over a second signal line, and latching read data provided by the AIB slave via the bus into a read buffer using the copy of the serial clock as a data strobe. Thus, the AIB master latches the read data provided by the AIB slave using a read strobe also provided by the AIB slave.
    Type: Grant
    Filed: June 30, 2022
    Date of Patent: June 25, 2024
    Assignee: Ampere Computing LLC
    Inventors: Sandeep Brahmadathan, Danh La
  • Patent number: 11934263
    Abstract: A memory control circuit stores codewords in a memory module configured to limit errors to one wire of a memory interface. A codeword includes a first block with a first data portion and a second block with a second data portion. An error correction code symbol in the second block is used to locate and correct errors in the second block. Some bits of the first block are repurposed as metadata. The remaining bits are used as parity bits for detecting errors in the first block. The second block is merged with the first block before being stored to memory and demerged from the first block in a memory read operation. Demerging causes errors in the first block to create errors in a corresponding location in the second block. The location of errors found in the second block is used to locate and correct parity errors in the first block.
    Type: Grant
    Filed: March 29, 2022
    Date of Patent: March 19, 2024
    Assignee: Ampere Computing LLC
    Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
  • Patent number: 11868209
    Abstract: The system or device may build one or more data packets by dividing a given payload for a packet into data blocks and inserting data checks for each data block sequentially into the packet payload. The device may generate, for each of the data blocks, a corresponding data check block corresponding to data in each data block. The device may send or arrange the data blocks and the corresponding data check blocks such that each of the data blocks is followed by the corresponding error check block in the packet. Using the corresponding check block, each of the data blocks is independently verifiable, so that the data blocks may be used upon receipt, even if the payload is not completely received.
    Type: Grant
    Filed: October 13, 2022
    Date of Patent: January 9, 2024
    Assignee: Ampere Computing LLC
    Inventors: Matthew Robert Erler, Robert James Safranek, Robert Joseph Toepfer, Sandeep Brahmadathan, Shailendra Ramrao Chavan, Jonglih Yu
  • Publication number: 20240004577
    Abstract: Apparatus and methods for extending functionality of memory controllers in a processor-based device are disclosed herein. In one aspect, a processor-based device provides a memory access intercept circuit that is communicatively coupled to a memory controller and a memory device. The memory access intercept circuit is configured to receive a memory write request that is directed to and received by the memory controller, and generates a write transaction identifier (ID) for the memory write request. The memory access intercept circuit then generates proxy write data containing the write transaction ID, and sends the proxy write data to the memory controller. The memory access intercept circuit subsequently intercepts the actual write data directed to the memory controller, and stores the write data in a write data buffer in association with the write transaction ID.
    Type: Application
    Filed: July 1, 2022
    Publication date: January 4, 2024
    Inventors: Massimo Sutera, Sandeep Brahmadathan, Nagi Aboulenein, Brian Thomas Chase, James Edward Casteel, Kha Minh Huynh, Vung Thanh Huynh
  • Publication number: 20240003974
    Abstract: A component die validation built-in self-test (VBIST) engine is presented. In an aspect, a component die includes component circuitry for performing a component function, interface circuitry for communicating with another die, and a VBIST circuit. The VBIST circuit includes a traffic generator that generates test data streams, a tracker that receives and validates test data streams, and a configurable switching matrix for coupling the traffic generator to at least one of the component circuitry, the interface circuitry, or the tracker, and for coupling at least one of the component circuitry, the interface circuitry, or the traffic generator to the tracker. The VBIST circuit can send traffic to and from the component circuitry directly, or indirectly via the interface circuitry in loopback mode, and can be used for memory initialization and test.
    Type: Application
    Filed: June 30, 2022
    Publication date: January 4, 2024
    Inventors: Sandeep BRAHMADATHAN, Jared BENDT, Nagi ABOULENEIN, Kedar KARANDIKAR, Stephan JOURDAN
  • Publication number: 20240004806
    Abstract: Methods and systems for an advanced initialization bus (AIB) are presented. In an aspect, an AIB master sends, to an AIB slave, a serial clock over a first signal line, and performs a read operation with the AIB slave. Performing the read operation comprises sending a read command to the AIB slave via a bus comprising at least one bidirectional input/output (I/O) channel, each I/O channel having its own respective signal line, sending a read address to the AIB slave via the bus, receiving a copy of the serial clock from the AIB slave over a second signal line, and latching read data provided by the AIB slave via the bus into a read buffer using the copy of the serial clock as a data strobe. Thus, the AIB master latches the read data provided by the AIB slave using a read strobe also provided by the AIB slave.
    Type: Application
    Filed: June 30, 2022
    Publication date: January 4, 2024
    Inventors: Sandeep BRAHMADATHAN, Danh LA
  • Publication number: 20230315565
    Abstract: A memory control circuit stores codewords in a memory module configured to limit errors to one wire of a memory interface. A codeword includes a first block with a first data portion and a second block with a second data portion. An error correction code symbol in the second block is used to locate and correct errors in the second block. Some bits of the first block are repurposed as metadata. The remaining bits are used as parity bits for detecting errors in the first block. The second block is merged with the first block before being stored to memory and demerged from the first block in a memory read operation. Demerging causes errors in the first block to create errors in a corresponding location in the second block. The location of errors found in the second block is used to locate and correct parity errors in the first block.
    Type: Application
    Filed: March 29, 2022
    Publication date: October 5, 2023
    Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
  • Publication number: 20230315571
    Abstract: A codeword read from memory includes data blocks including data and supplemental blocks including error correction code (ECC) symbols for detecting and correcting data errors. Metadata can be stored in the supplemental blocks to increase memory utilization but using bits of the supplemental blocks for metadata leaves too few bits remaining for the ECC symbols. To maintain error protection, the supplemental blocks include ECC symbols to protect a first data portion of the codeword and parity bits configured to protect a second data portion of the codeword. Errors in the first data portion can be located and corrected using the ECC symbols. Errors in the second data portion can be detected by the parity. For example, the first data portion is encoded based on the second data portion, so locations of parity errors correspond to locations of symbol errors, and parity errors can be corrected.
    Type: Application
    Filed: March 29, 2022
    Publication date: October 5, 2023
    Inventors: Massimo Sutera, Nagi Aboulenein, Sandeep Brahmadathan
  • Publication number: 20230058854
    Abstract: The system or device may build one or more data packets by dividing a given payload for a packet into data blocks and inserting data checks for each data block sequentially into the packet payload. The device may generate, for each of the data blocks, a corresponding data check block corresponding to data in each data block. The device may send or arrange the data blocks and the corresponding data check blocks such that each of the data blocks is followed by the corresponding error check block in the packet. Using the corresponding check block, each of the data blocks is independently verifiable, so that the data blocks may be used upon receipt, even if the payload is not completely received.
    Type: Application
    Filed: October 13, 2022
    Publication date: February 23, 2023
    Inventors: Matthew Robert ERLER, Robert James SAFRANEK, Robert Joseph TOEPFER, Sandeep BRAHMADATHAN, Shailendra Ramrao CHAVAN, Jonglih YU
  • Publication number: 20220407813
    Abstract: Apparatuses, systems, and methods for implied sequence numbering of transactions in a processor-based system. The processor-based system includes a transmit circuit configured to generate an implied sequence number for each entry to be transmitted as a packet. The transmit circuit is configured to generate a packet to be transmitted based on an entry, wherein the packet including the payload information and the transmit check value based on the implied sequence number and associated with the entry. In this manner, including an individual sequence number with every transmitted packet may be reduced or avoided to reduce or avoid consuming bandwidth on the communications interface, as the bits used by the sequence number could ordinarily be used for data transmission instead. A receiver circuit is configured to receive the transmitted packet including the payload and the transmit check value, wherein the transmit check value is based on the transmit sequence number.
    Type: Application
    Filed: June 16, 2021
    Publication date: December 22, 2022
    Inventors: Matthew Robert Erler, Robert James Safranek, Robert Joseph Toepfer, Sandeep Brahmadathan, Shailendra Ramrao Chavan, Jonglih Yu
  • Publication number: 20220405223
    Abstract: A system-on-a-chip (SoC) with one or more processors and other system components may have one or more peripheral component interconnect express (PCIe) physical connections between the processors and other system components to provide agent-to-agent communication. The agents on the communication fabric of the SoC may transmit data through the hardware PCIe interface where a transmitter device of an agent or digital logic component receives at least one data block for transmission and receives a flag corresponding to the at least one data block. The transmitter device may then send, via a PCIe physical layer, the received data blocks as a payload of a packet based on the flag, where the packet has a PCIe compliant header. The payload of the packet with the PCIe header may be entirely composed of these data blocks or flits from the agent.
    Type: Application
    Filed: June 16, 2021
    Publication date: December 22, 2022
    Inventors: Matthew Robert ERLER, Robert James SAFRANEK, Robert Joseph TOEPFER, Sandeep BRAHMADATHAN, Shailendra Ramrao CHAVAN, Jonglih YU
  • Patent number: 11481270
    Abstract: The system or device may build one or more data packets by dividing a given payload for a packet into data blocks and inserting data checks for each data block sequentially into the packet payload. The device may generate, for each of the data blocks, a corresponding data check block corresponding to data in each data block. The device may send or arrange the data blocks and the corresponding data check blocks such that each of the data blocks is followed by the corresponding error check block in the packet. Using the corresponding check block, each of the data blocks is independently verifiable, so that the data blocks may be used upon receipt, even if the payload is not completely received.
    Type: Grant
    Filed: June 16, 2021
    Date of Patent: October 25, 2022
    Assignee: Ampere Computing LLC
    Inventors: Matthew Robert Erler, Robert James Safranek, Robert Joseph Toepfer, Sandeep Brahmadathan, Shailendra Ramrao Chavan, Jonglih Yu