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).

  • Publication number: 20220121450
    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: October 20, 2020
    Publication date: April 21, 2022
    Inventor: Tony Brewer
  • Publication number: 20220123752
    Abstract: A chiplet system comprises an interposer including interconnect and multiple chiplets arranged on the interposer and interconnected using the interconnect of the interposer. The multiple chiplets include a throttle level bus source chiplet including a throttle level bus drive interface configured to place a throttle level value onto the throttle level bus, and one or more throttle level bus receiver chiplets operatively coupled to the throttle level bus. Each chiplet of the multiple chiplets includes throttling logic circuitry configured to set a throttle level of a chiplet according to the throttle level value.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Dean E. Walker, Tony Brewer, David Patrick, Michael Grassi, Bryan Hornung
  • Publication number: 20220121394
    Abstract: Disclosed in some examples, are methods, systems, machine readable mediums, memory devices, and memory controllers that detect memory hotspots. The system keeps a count of a number of memory accesses that were queued waiting for another memory access to that address to finish. The number of memory accesses may be compared to a hotspot criteria to determine one or more memory hotspots. These hotspots may be sent to a processor, which may store the memory hotspots in a file which may be provided to an administrator.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventor: Tony Brewer
  • Publication number: 20220121395
    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: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventor: Tony Brewer
  • Publication number: 20220121474
    Abstract: Disclosed in some examples, are methods, systems, computing devices, and machine readable mediums which define 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: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventor: Tony Brewer
  • Publication number: 20220121612
    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. Secondary devices on the SPI bus can be configured to include or use respective static identifiers that uniquely identify or address each device. In an example, the primary device can communicate messages using the SPI bus, and the messages can include or use a device identification field. In an example, secondary devices on the SPI bus can be configured to monitor the device identification fields of incoming messages. If a message includes an identification field that corresponds to an identifier of a particular device, then the particular device can attend to the message, and other devices without the same identifier can disregard the message.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Dean E. Walker, Tony Brewer
  • Publication number: 20220121611
    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: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Dean E. Walker, Tony Brewer
  • Publication number: 20220121617
    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: October 20, 2020
    Publication date: April 21, 2022
    Inventor: Tony Brewer
  • Publication number: 20220121452
    Abstract: Devices and techniques for on-demand programmable atomic kernel loading are described herein. A programmable atomic unit (PAU) of a memory controller can receive an invocation of a programmable atomic operator by the memory controller. The PAU can then perform a verification on a programmable atomic operator partition for the programmable atomic operator. Here, the programmable atomic operator partition is located in a memory of the PAU. The PAU can then signal a trap in response to the verification indicating that the programmable atomic operator partition is not prepared.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Dean E. Walker, Tony Brewer, Chris Baronne
  • Publication number: 20220121584
    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: October 20, 2020
    Publication date: April 21, 2022
    Inventor: Tony Brewer
  • Publication number: 20220121567
    Abstract: Devices and techniques for memory access bounds checking for a programmable atomic operator are described herein. A processor can execute a programmable atomic operator with a base memory address. The processor can obtain a memory interleave size indicator corresponding to the programmable atomic operator and calculate a contiguous memory address range from the base memory address and the memory interleave size. The processor can then detect that a memory request from the programmable atomic operator is outside the contiguous memory address range and deny the memory request when it is outside of the contiguous memory address range and allow the memory request otherwise.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Tony Brewer, Dean E. Walker, Chris Baronne
  • Publication number: 20220122668
    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: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventor: Tony Brewer
  • Publication number: 20220121596
    Abstract: A chiplet system can include a Serial Peripheral Interface (SPI) bus for communication. A primary device coupled to the SPI bus can generate read or write instructions for a secondary device. In response to instructions from the primary device, the secondary device can prepare a response. The response message can include a secondary device status field to indicate a readiness of the secondary device to provide a particular data payload to the primary device. Using deferrals that are communicated from the secondary device to the primary device can enable longer latency SPI operations to proceed without monopolizing the SPI bus.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Dean E. Walker, Tony Brewer
  • Patent number: 11294848
    Abstract: A system comprises an interposer including interconnect and multiple chiplets arranged on the interposer. Each chiplet includes multiple chiplet input-output (I/O) channels interconnected to I/O channels of other chiplets by the interposer; a chiplet I/O interface for the chiplet I/O channels that includes multiple interface layers; and initialization logic circuitry configured to advance initialization of the chiplet interface sequentially through the interface layers starting with a lowest interface layer.
    Type: Grant
    Filed: October 20, 2020
    Date of Patent: April 5, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Dean E. Walker, Tony Brewer
  • Patent number: 11296995
    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: August 31, 2020
    Date of Patent: April 5, 2022
    Assignee: Micron Technology, Inc.
    Inventor: Tony Brewer
  • Publication number: 20220070284
    Abstract: Implementations of the present disclosure are directed to systems and methods for processing headers that support multiple protocols. A header of a packet includes a bridge type (BTYPE) field that indicates the protocol of the packet. A command field of the packet is interpreted differently based on the value of the BTYPE field. Among the benefits of implementations of the present disclosure is that a single network may be used to carry packets of different protocols without the overhead of encapsulation.
    Type: Application
    Filed: August 31, 2020
    Publication date: March 3, 2022
    Inventors: David Patrick, Tony Brewer
  • Publication number: 20220066969
    Abstract: Implementations of the present disclosure are directed to systems and methods for mapping point-to-point channels to packet virtual channels. A chip with an point-to-point interface converts point-to-point data to a packet format. The point-to-point channels are mapped to virtual channels of the packet transmission protocol. Information from multiple point-to-point channels may be combined in a single packet. Among the benefits of implementations of the present disclosure is that point-to-point devices may be connected to a packetized network without losing the benefits of separate channels for different types of communication. This allows existing point-to-point devices to communicate using a packetized network without internal modification or performance degradation.
    Type: Application
    Filed: August 31, 2020
    Publication date: March 3, 2022
    Inventors: David Patrick, Tony Brewer
  • Publication number: 20220070105
    Abstract: A transmitting device generates multiple small packets for a large packet and transmits them to a receiving device. Routing devices forward the multiple small packets to the receiving device. Each of the smaller packets, except the last packet, has a sequence indicator set. As a result, the receiving device is able to determine that each of the smaller packets is part of a larger packet and buffer the smaller packets or their payloads. When the last packet is received, the larger packet is complete and may be processed by the receiving device. The routing devices delay requests from other transmitting devices to transmit data to the receiving device until the last packet is sent to the receiving device. The routing devices may continue to route traffic to the receiving device on all virtual channels other than a virtual channel being used for the large packet.
    Type: Application
    Filed: August 31, 2020
    Publication date: March 3, 2022
    Inventor: Tony Brewer
  • Publication number: 20220070106
    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: Application
    Filed: August 31, 2020
    Publication date: March 3, 2022
    Inventor: Tony Brewer
  • Publication number: 20220066971
    Abstract: A system may include multiple electronic devices and multiple hardware transceivers. The multiple electronic devices may be coupled to each other via an interface network, and may include multiple chiplets. The multiple hardware transceivers, with at least one transceiver included in or coupled to a respective electronic device of the multiple electronic devices, may each be configured to receive data packets from a source device. The data packets may each include a path field including path information indicating a path to a destination device and a bridge-type field including bridge-type information indicating a type of the path information in the path field. 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 the path information and the bridge-type information of each received data packet.
    Type: Application
    Filed: August 31, 2020
    Publication date: March 3, 2022
    Inventors: Tony Brewer, David Patrick