Patents Assigned to Ampere Computing LLC
  • Patent number: 11934834
    Abstract: Instruction scheduling in a processor using operation source parent tracking. A source parent is a producer instruction whose execution generates a produced value consumed by a consumer instruction. The processor is configured to track identifying operation source parent information for instructions processed in a pipeline and providing such operation source parent information to a scheduling circuit along with the associated consumer instruction. The scheduling circuit is configured to perform instruction scheduling using operation source parent tracking on received instruction(s) to be scheduled for execution. The processor is configured to compare sources and destinations for each of the instructions to be scheduled based on the operation source parent information to determine instructions ready for scheduling for execution.
    Type: Grant
    Filed: October 19, 2021
    Date of Patent: March 19, 2024
    Assignee: Ampere Computing LLC
    Inventors: Sean Philip Mirkes, Jason Anthony Bessette
  • Patent number: 11880306
    Abstract: Aspects disclosed in the detailed description include configuring a configurable combined private and shared cache in a processor. Related processor-based systems and methods are also disclosed. A combined private and shared cache structure is configurable to select a private cache portion and a shared cache portion.
    Type: Grant
    Filed: June 7, 2022
    Date of Patent: January 23, 2024
    Assignee: Ampere Computing LLC
    Inventors: Richard James Shannon, Stephan Jean Jourdan, Matthew Robert Erler, Jared Eric Bendt
  • Patent number: 11880686
    Abstract: In a processing system, a conversion circuit coupled to a system bus generates a flow control unit (FLIT) and provides the FLIT to a link interface circuit for transmission over an external link. The external link may be a peripheral component interface (PCI) express (PCIe) link coupled to an external device comprising a cache or memory. The conversion circuit generates the FLIT, including write information based on the write instruction, metadata associated with at least one cache line, and cache line chunks, including bytes of a cache line. The cache line chunks may be chunks of one of the at least one cache line. Including the metadata in the FLIT avoids separately transmitting the at least one cache line and the metadata over the external link, which improves performance compared to generating separate transmissions. In some examples, the FLIT corresponds to a compute express link (CXL) protocol FLIT.
    Type: Grant
    Filed: June 16, 2022
    Date of Patent: January 23, 2024
    Assignee: Ampere Computing LLC
    Inventor: Robert James Safranek
  • Patent number: 11879936
    Abstract: Methods and systems for on-die measuring jitter of a clock under test are presented. In an aspect, an apparatus comprises a delay line having a plurality of delay elements, the outputs of which are sampled at the expected transition time of the clock under test. The sampled outputs are provided to an edge detector that indicates the presence of the clock transition at a specific time, and a latching circuit stores a record of all the edge locations seen during a sampling window. In some aspects, a counting circuit counts and stores how many times the transition occurs at each specific time during the sampling window. The counts stored by the counting circuit provide histogram data that can be analyzed to determine the jitter characteristics of the clock under test.
    Type: Grant
    Filed: July 1, 2022
    Date of Patent: January 23, 2024
    Assignee: Ampere Computing LLC
    Inventors: Yeshwant Kolla, Ashish Akhilesh
  • 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
  • Patent number: 11822487
    Abstract: A memory management unit (MMU) including a unified translation lookaside buffer (TLB) supporting a plurality of page sizes is disclosed. In one aspect, the MMU is further configured to store and dynamically update page size residency metadata associated with each of the plurality of page sizes. The page size residency metadata may include most recently used (MRU) page size data and/or a counter for each page size indicating how many pages of that page size are resident in the unified TLB. The unified TLB is configured to determine an order in which to perform a TLB lookup for at least a subset of page sizes of the plurality of page sizes based on the page size residency metadata.
    Type: Grant
    Filed: December 1, 2021
    Date of Patent: November 21, 2023
    Assignee: Ampere Computing LLC
    Inventors: George Van Horn Leming, III, John Gregory Favor, Stephan Jean Jourdan, Jonathan Christopher Perry, Bret Leslie Toll
  • Patent number: 11762660
    Abstract: A unified queue configured to perform decoupled prediction and fetch operations, and related apparatuses, systems, methods, and computer-readable media, is disclosed. The unified queue has a plurality of entries, where each entry is configured to store information associated with at least one instruction, and where the information comprises an identifier portion, a prediction information portion, and a tag information portion. The unified queue is configured to update the prediction information portion of each entry responsive to a prediction block, and to update the tag information portion of each entry responsive to a tag and TLB block. The prediction information may be updated more than once, and the unified queue is configured to take corrective action where a later prediction conflicts with an earlier prediction.
    Type: Grant
    Filed: June 23, 2020
    Date of Patent: September 19, 2023
    Assignee: Ampere Computing LLC
    Inventors: Brett Alan Ireland, Michael Stephen Chin, Stephan Jean Jourdan
  • Patent number: 11586537
    Abstract: A data processing system includes a store datapath configured to perform tag checking in a store operation to a store address associated with a cache line in a memory. The store datapath includes a cache lookup circuit configured to pre-load a store cache line that is to be updated in the store operation, wherein the store cache line comprises the cache line in the memory to be updated in the store operation. The store datapath also includes a tag check circuit configured to compare a store address tag associated with the store address to a store operation tag associated with the store operation. The data processing system may include a load datapath configured to perform tag checking in a load operation from a load cache line in the memory by comparing a load address tag associated with the load address to a load operation tag associated with the load operation.
    Type: Grant
    Filed: August 4, 2021
    Date of Patent: February 21, 2023
    Assignee: Ampere Computing LLC
    Inventors: Benjamin Crawford Chaffin, Bret Leslie Toll, Jonathan Christopher Perry, Nagi Aboulenein
  • Patent number: 11513798
    Abstract: A system and method are provided for simplifying load acquire and store release semantics that are used in reduced instruction set computing (RISC). Translating the semantics into micro-operations, or low-level instructions used to implement complex machine instructions, can avoid having to implement complicated new memory operations. Using one or more data memory barrier operations in conjunction with load and store operations can provide sufficient ordering as a data memory barrier ensures that prior instructions are performed and completed before subsequent instructions are executed.
    Type: Grant
    Filed: May 28, 2019
    Date of Patent: November 29, 2022
    Assignee: Ampere Computing LLC
    Inventors: Matthew Ashcraft, Christopher Nelson
  • Patent number: 11507130
    Abstract: Apparatuses, systems, and methods for distributing a global counter value in a multi-socket SoC complex. In exemplary aspects, an apparatus comprises a first system-on-a-chip (SoC) in a first socket and a second SoC in a second socket. The apparatus further comprises a reset circuit coupled to the first SoC and the second SoC, a reset synchronization circuit coupled to the reset circuit, the first SoC, and the second SoC, and a global counter clock signal coupled to the reset synchronization circuit, the first SoC, and the second SoC. The reset synchronization circuit is configured to generate a global counter reset signal in response to a reset signal received from the reset circuit and to distribute the global counter reset signal to the first SoC and the second SoC substantially simultaneously.
    Type: Grant
    Filed: February 3, 2021
    Date of Patent: November 22, 2022
    Assignee: Ampere Computing LLC
    Inventors: Kha Hong Nguyen, Brian Thomas Chase, Sean Philip Mirkes, Phil Mitchell, Graham B. Whitted, III
  • 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
  • Patent number: 11386016
    Abstract: A memory management unit (MMU) including a unified translation lookaside buffer (TLB) supporting a plurality of page sizes is disclosed. In one aspect, the MMU is further configured to store and dynamically update page size residency metadata associated with each of the plurality of page sizes. The page size residency metadata may include most recently used (MRU) page size data and/or a counter for each page size indicating how many pages of that page size are resident in the unified TLB. The unified TLB is configured to determine an order in which to perform a TLB lookup for at least a subset of page sizes of the plurality of page sizes based on the page size residency metadata.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: July 12, 2022
    Assignee: Ampere Computing LLC
    Inventors: George Van Horn Leming, III, John Gregory Favor, Stephan Jean Jourdan, Jonathan Christopher Perry, Bret Leslie Toll
  • Patent number: 11093401
    Abstract: Various aspects provide for facilitating prediction of instruction pipeline hazards in a processor system. A system comprises a fetch component and an execution component. The fetch component is configured for storing a hazard prediction associated with a group of memory access instructions in a buffer associated with branch prediction. The execution component is configured for executing a memory access instruction associated with the group of memory access instructions as a function of the hazard prediction entry. In an aspect, the hazard prediction entry is configured for predicting whether the group of memory access instructions is associated with an instruction pipeline hazard.
    Type: Grant
    Filed: March 11, 2014
    Date of Patent: August 17, 2021
    Assignee: Ampere Computing LLC
    Inventors: Matthew Ashcraft, Richard W. Thaik
  • Patent number: 11049854
    Abstract: A metal-insulator-metal (MIM) capacitor design methodology and system substantially maximizes the benefits of including MIM capacitors in an integrated circuit design while substantially minimizing the negative impacts resulting from increased capacitance. A process analysis is performed on an integrated circuit design to determine a metal layer that is likely to be most adversely affected by the presence of MIM capacitor cells. The MIM capacitor cells are then designed to have specific sizes and orientations based on results of the process analysis, taking the most affected metal layer into consideration. Finally, the MIM capacitor cells are placed at selected locations on the die in an algorithmic fashion in order to satisfy a design target of maximizing coverage area while avoiding interference with signal paths and critical or sensitive components.
    Type: Grant
    Filed: January 3, 2018
    Date of Patent: June 29, 2021
    Assignee: Ampere Computing LLC
    Inventors: Ronen Cohen, Alfred Yeung, Ojas Dharia
  • Patent number: 10972390
    Abstract: A system and method are provided for performing transmission control protocol segmentation on a server on a chip using coprocessors on the server chip. A system processor manages the TCP/IP stack and prepares a large (64 KB) single chunk of data to be sent out via a network interface on the server on a chip. The system software processes this and calls the interface device driver to send the packet out. The device driver, instead of sending the packet out directly on the interface, calls a coprocessor interface and delivers some metadata about the chunk of data to the interface. The coprocessor segments the chunk of data into a maximum transmission unit size associated with the network interface and increments a sequential number field in the header information of each packet before sending the segments to the network interface.
    Type: Grant
    Filed: October 3, 2013
    Date of Patent: April 6, 2021
    Assignee: Ampere Computing LLC
    Inventors: Keyur Chudgar, Kumar Sankaran
  • Patent number: 10819783
    Abstract: Various aspects provide for managing memory in virtual computer system. For example, a system can include a first network node and a second network node. The first network node receives a data packet via a first hardware network controller. The first network node also transmits the data packet over a communication channel via a second hardware network controller in response to a determination that memory data for the data packet is not mapped to the first network node. The second network node receives the data packet via the communication channel and provides the data packet to an operating system associated with the first network node and the second network node.
    Type: Grant
    Filed: August 30, 2016
    Date of Patent: October 27, 2020
    Assignee: AMPERE COMPUTING LLC
    Inventors: Ankit Jindal, Pranavkumar Sawargaonkar, Keyur Chudgar
  • Patent number: 10613984
    Abstract: Various embodiments provide for a system that prefetches data from a main memory to a cache and then evicts unused data to a lower level cache. The prefetching system will prefetch data from a main memory to a cache, and data that is not immediately useable or is part of a data set which is too large to fit in the cache can be tagged for eviction to a lower level cache, which keeps the data available with a shorter latency than if the data had to be loaded from main memory again. This lowers the cost of prefetching useable data too far ahead and prevents cache trashing.
    Type: Grant
    Filed: April 19, 2018
    Date of Patent: April 7, 2020
    Assignee: AMPERE COMPUTING LLC
    Inventor: Kjeld Svendsen
  • Patent number: 10439960
    Abstract: Various aspects optimize memory page latency and minimize inter processor interrupts associated with network nodes in a virtual computer system. For example, a system can include a first network node and a second network node. The first network node generates a memory page request in response to an invalid memory access associated with a virtual central processing unit of the first network node. The memory page request includes an identifier for the virtual central processing unit. The second network node receives the memory page request and provides memory data associated with memory page request to the first network node.
    Type: Grant
    Filed: November 15, 2016
    Date of Patent: October 8, 2019
    Assignee: AMPERE COMPUTING LLC
    Inventors: Ankit Jindal, Pranavkumar Sawargaonkar, Keyur Chudgar
  • Patent number: 10372615
    Abstract: Various aspects provide for managing data associated with a cache memory. For example, a system can include a cache memory and a memory controller. The cache memory stores data. The memory controller maintains a history profile for the data stored in the cache memory. In an implementation, the memory controller includes a filter component, a tagging component and a data management component. The filter component determines whether the data is previously stored in the cache memory based on a filter associated with a probabilistic data structure. The tagging component tags the data as recurrent data in response to a determination by the filter component that the data is previously stored in the cache memory. The data management component retains the data in the cache memory in response to the tagging of the data as the recurrent data.
    Type: Grant
    Filed: September 22, 2017
    Date of Patent: August 6, 2019
    Assignee: AMPERE COMPUTING LLC
    Inventors: Kjeld Svendsen, John Gregory Favor
  • Patent number: 10348281
    Abstract: Various aspects provide for mitigating voltage droop associated with a microprocessor (e.g., by controlling a clock associated with the microprocessor). For example, a system can include a microprocessor and a controller. The microprocessor can receive a clock provided by a clock buffer. The controller can control frequency of the clock provided by the clock buffer based on a voltage associated with the microprocessor. In an aspect, the controller can reduce the frequency of the clock in response to a determination that the voltage satisfies a defined criterion. Additionally, the controller can incrementally increase the frequency of the clock in response to another determination that the voltage satisfies another defined criterion after satisfying the defined criterion.
    Type: Grant
    Filed: September 6, 2016
    Date of Patent: July 9, 2019
    Assignee: AMPERE COMPUTING LLC
    Inventors: David S. Oliver, Matthew W. Ashcraft, Luca Ravezzi, Alfred Yeung, John Gregory Favor