Patents by Inventor Tony Brewer

Tony Brewer 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: 11693690
    Abstract: Disclosed is an instruction for a programmable atomic transaction that is executed as the last instruction and that terminates the executing thread, waits for all outstanding store operations to finish, clears the programmable atomic lock, and sends a completion response back to the issuing process. This guarantees that the programmable atomic lock is cleared when the transaction completes. By coupling thread termination with clearing the lock bit, this guarantees that the thread cannot terminate without clearing the lock.
    Type: Grant
    Filed: October 20, 2020
    Date of Patent: July 4, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony Brewer
  • Patent number: 11695704
    Abstract: Implementations of the present disclosure are directed to systems and methods for reducing the size of packet headers without reducing the range of packet lengths supported. A packet header includes a fixed-width length field. Using a linear encoding, the maximum packet size is a linear function of the fixed-width length field. Thus, to expand the range of sizes available, either the granularity of the field must be decreased (e.g., by changing the measure of the field from flits to double-flits) or the size of the field must be increased (e.g., by changing the size of the field from 4 bits to 5 bits). However, by using a non-linear encoding, the difference between the minimum and maximum size can be increased without decreasing the granularity within a first range of field values and without increasing the size of the length field.
    Type: Grant
    Filed: March 2, 2022
    Date of Patent: July 4, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony Brewer
  • Publication number: 20230205524
    Abstract: Disclosed in some examples are systems, methods, devices, and machine-readable mediums to detect and terminate programmable atomic transactions that are stuck in an infinite loop. In order to detect and terminate these transactions, the programmable atomic unit may use an instruction counter that increments each time an instruction is executed during execution of a programmable atomic transaction. If the instruction counter meets or exceeds a threshold instruction execution limit without reaching the termination instruction, the programmable atomic transaction may be terminated, all resources used (e.g., memory locks) may be freed, and a response may be sent to a calling processor.
    Type: Application
    Filed: February 20, 2023
    Publication date: June 29, 2023
    Inventor: Tony Brewer
  • Publication number: 20230195348
    Abstract: Disclosed in some examples, are methods, systems, devices, and machine readable mediums that store instructions for programmable atomic transactions in a memory of the programmable atomic unit prior to execution of the programmable atomic transaction. The memory in some examples may be an instruction RAM. The memory in some examples may be partitioned into partitions of a fixed size that stores a same number of instructions. Each programmable atomic transaction may use one or more contiguously located instruction partitions. By loading the instructions ahead of time, the instructions are ready for execution when the transaction is requested.
    Type: Application
    Filed: July 21, 2022
    Publication date: June 22, 2023
    Inventor: Tony Brewer
  • Patent number: 11669487
    Abstract: A chiplet system can include a Serial Peripheral Interface (SPI) bus for communication. A controller or primary device coupled to the SPI bus can generate a message with read or write instructions for one or more secondary devices. In an example, the primary device can be configured to use information on a data input port or data input bus to determine a communication status of one or multiple secondary devices on the bus.
    Type: Grant
    Filed: March 30, 2022
    Date of Patent: June 6, 2023
    Assignee: Micron Technology, Inc.
    Inventors: Dean E. Walker, Tony Brewer
  • Patent number: 11658922
    Abstract: A system may include multiple electronic devices and multiple hardware transceivers. The multiple electronic devices may include multiple chiplets and may be coupled to each other via an interface network. The multiple hardware transceivers may each be included in or coupled to a respective electronic device of the multiple electronic devices. The multiple hardware transceivers may each be configured to receive data packets from a source device. The data packets each include a protocol field specifying ordering information for delivery to a destination device and a path field specifying path information for routing the delivery to the destination device. The source device and the destination device may each include a chiplet. The multiple hardware transceivers may each be further configured to transmit the received data packets to the destination device using at least the ordering information of each received data packet.
    Type: Grant
    Filed: August 31, 2020
    Date of Patent: May 23, 2023
    Assignee: Micron Technology, Inc.
    Inventors: Tony Brewer, David Patrick
  • Patent number: 11650876
    Abstract: A chiplet system can include a Serial Peripheral Interface (SPI) bus for communication. A controller or primary device coupled to the SPI bus can generate a message with read or write instructions for one or more secondary devices. In an example, the primary device can be configured to read information from a secondary device about whether the secondary device supports parity-protected data communications. The primary device can be configured to selectively send or receive parity-protected data communications depending on a capability of the secondary device to support parity.
    Type: Grant
    Filed: July 18, 2022
    Date of Patent: May 16, 2023
    Assignee: Micron Technology, Inc.
    Inventors: Dean E. Walker, Tony Brewer
  • Publication number: 20230118039
    Abstract: Implementations of the present disclosure are directed to systems and methods for reducing design complexity and critical path timing challenges of credit return logic. A wide bus supports simultaneous transmission of multiple flits, one per lane of the wide bus. A source device transmitting flits on a wide bus selects from among multiple credit return options to ensure that only one of the multiple flits being simultaneously transmitted includes a credit return value. In some example embodiments, the receiving device checks only the flit of one lane of the wide bus (e.g., lane 0) for credit return data. In other example embodiments, the receiving device uses a bitwise-OR to combine the credit return data of all received flits in a single cycle.
    Type: Application
    Filed: December 20, 2022
    Publication date: April 20, 2023
    Inventor: Tony Brewer
  • Publication number: 20230106087
    Abstract: Devices and techniques for variable pipeline length in a barrel-multithreaded processor are described herein. A completion time for an instruction can be determined prior to insertion into a pipeline of a processor. A conflict between the instruction and a different instruction based on the completion time can be detected. Here, the different instruction is already in the pipeline and the conflict detected when the completion time equals the previously determined completion time for the different instruction. A difference between the completion time and an unconflicted completion time can then be calculated and completion of the instruction delayed by the difference.
    Type: Application
    Filed: December 12, 2022
    Publication date: April 6, 2023
    Inventor: Tony Brewer
  • Publication number: 20230107105
    Abstract: Devices and techniques for managing hazards in a memory controller are described herein. The memory controller can receive a memory request that includes a base memory address. An index can be computed from the base memory address and a lookup, using the index, can be performed to find a lock. When the lock is found, the memory controller can store the memory request in a buffer that corresponds to the lock. In response to a signal to clear the lock, the memory controller removes the memory request from the buffer and performs the memory request.
    Type: Application
    Filed: December 5, 2022
    Publication date: April 6, 2023
    Inventor: Tony Brewer
  • Publication number: 20230097722
    Abstract: Implementations of the present disclosure are directed to systems and methods for reducing the size of packet headers by using a single field to encode multiple elements. Instead of including separate fields for each element, one or more encoded fields may be used, each of which is decoded to determine two or more values for the data packet. A receiving device decodes the encoded data field to retrieve the two or more values.
    Type: Application
    Filed: November 18, 2022
    Publication date: March 30, 2023
    Inventor: Tony Brewer
  • Patent number: 11614891
    Abstract: Devices and techniques for communicating a programmable atomic operator to a memory controller are described herein. A memory controller can receive a memory request and extract a command indicator that indicates a programmable atomic operator (PAO) command from the memory request. The memory controller can then extract a PAO index from the request and invoke the PAO based on the PAO index.
    Type: Grant
    Filed: October 20, 2020
    Date of Patent: March 28, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony Brewer
  • Patent number: 11600332
    Abstract: Devices and techniques for programmable atomic operator resource locking are described herein. A request for a programmable atomic operator (PAO) can be received at a memory controller that includes a programmable atomic unit (PAU). Here, the request includes an identifier for the PAO and a memory address. The memory addressed is processed to identify a lock value. A verification can be performed to determine that the lock value indicates that there is no lock corresponding to the memory address. Then, the lock value is set to indicate that there is now a lock corresponding to the memory address and the PAO is invoked based on the identifier for the PAO. In response to completion of the PAO, the lock value is set to indicate that there is no longer a lock corresponding to the memory address.
    Type: Grant
    Filed: October 20, 2020
    Date of Patent: March 7, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony Brewer
  • Publication number: 20230058935
    Abstract: A hybrid threading processor (HTP) supports thread creation by executing an instruction that indicates an amount of storage space to reserve for return values. Before a thread is created, the indicated amount of space is reserved. The newly created child thread sends a return packet back to the parent thread when the child thread completes. The thread writes its return information into the reserved space and waits for the parent thread to execute a thread join instruction. The thread join instruction takes the returned information from the reserved space and transfers it to the parent thread's register state. The reserved space is released once the child thread is joined. Using a configurable amount of space for each child thread may allow for more child threads to be executed simultaneously.
    Type: Application
    Filed: August 18, 2021
    Publication date: February 23, 2023
    Inventors: Tony Brewer, Patrick Estep, Skyler Arron Windh
  • Patent number: 11586439
    Abstract: Disclosed in some examples are systems, methods, devices, and machine-readable mediums to detect and terminate programmable atomic transactions that are stuck in an infinite loop. In order to detect and terminate these transactions, the programmable atomic unit may use an instruction counter that increments each time an instruction is executed during execution of a programmable atomic transaction. If the instruction counter meets or exceeds a threshold instruction execution limit without reaching the termination instruction, the programmable atomic transaction may be terminated, all resources used (e.g., memory locks) may be freed, and a response may be sent to a calling processor.
    Type: Grant
    Filed: October 20, 2020
    Date of Patent: February 21, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony Brewer
  • Patent number: 11580044
    Abstract: Implementations of the present disclosure are directed to systems and methods for reducing design complexity and critical path timing challenges of credit return logic. A wide bus supports simultaneous transmission of multiple flits, one per lane of the wide bus. A source device transmitting flits on a wide bus selects from among multiple credit return options to ensure that only one of the multiple flits being simultaneously transmitted includes a credit return value. In some example embodiments, the receiving device checks only the flit of one lane of the wide bus (e.g., lane 0) for credit return data. In other example embodiments, the receiving device uses a bitwise-OR to combine the credit return data of all received flits in a single cycle.
    Type: Grant
    Filed: August 31, 2020
    Date of Patent: February 14, 2023
    Assignee: Micron Technology, Inc.
    Inventor: Tony Brewer
  • Publication number: 20230033822
    Abstract: A method includes setting an order of input-output channels of a column of a first chiplet of multiple chiplets of a chiplet-based system, wherein one or more of the multiple chiplets include field-configurable input-output channels arranged at a periphery of the chiplets; and programming a second chiplet of the multiple chiplets to change an order of input-output channels of a column of the second chiplet to match the order of input-output channels of the column of the first chiplet.
    Type: Application
    Filed: October 7, 2022
    Publication date: February 2, 2023
    Inventors: Dean E. Walker, Tony Brewer
  • Publication number: 20230027534
    Abstract: Disclosed in some examples are systems, methods, devices, and machine-readable mediums to detect and terminate programmable atomic transactions that are stuck in an infinite loop. In order to detect and terminate these transactions, the programmable atomic unit may use an instruction counter that increments each time an instruction is executed during execution of a programmable atomic transaction. If the instruction counter meets or exceeds a threshold instruction execution limit without reaching the termination instruction, the programmable atomic transaction may be terminated, all resources used (e.g., memory locks) may be freed, and a response may be sent to a calling processor.
    Type: Application
    Filed: October 20, 2020
    Publication date: January 26, 2023
    Inventor: Tony Brewer
  • Publication number: 20230019931
    Abstract: Disclosed in some examples are methods, systems, memory controllers, devices, and machine-readable mediums which minimize this stall time by returning a memory write acknowledgement once a write command has been selected by the memory controller input multiplexor rather than when the memory write command has been performed. Because the memory controller enforces an ordering to memory once the packet has been selected at an input multiplexor, ordering of prior and subsequent requests to the same address location are preserved and providing the response early allows the processor to continue its operations earlier without any harmful effects.
    Type: Application
    Filed: September 26, 2022
    Publication date: January 19, 2023
    Inventor: Tony Brewer
  • Publication number: 20230004524
    Abstract: Disclosed in some examples, are methods, systems, programmable atomic units, and machine-readable mediums that provide an exception as a response to the calling processor. That is, the programmable atomic unit will send a response to the calling processor. The calling processor will recognize that the exception has been raised and will handle the exception. Because the calling processor knows which process triggered the exception, the calling processor (e.g., the Operating System) can take appropriate action, such as terminating the calling process. The calling processor may be a same processor as that executing the programmable atomic transaction, or a different processor (e.g., on a different chiplet).
    Type: Application
    Filed: September 1, 2022
    Publication date: January 5, 2023
    Inventor: Tony Brewer