Patents Assigned to Advanced Micro Devices
  • Patent number: 10062143
    Abstract: A method and apparatus for real time compressing randomly accessed data includes extracting a block of randomly accessed data from a memory hierarchy. One or more individual portions of the randomly accessed data are independently compressed in real time to create a lossless compressed image surface. The compressed image surface includes data of independently compressed image blocks for reading and decompressing in a random order. The method further includes storing structured information relating to the dynamically compressed randomly accessed data.
    Type: Grant
    Filed: September 12, 2016
    Date of Patent: August 28, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Chris Brennan, Timour T. Paltashev
  • Patent number: 10060955
    Abstract: A processing system includes one or more power supply monitors (PSMs) to measure one or more first voltages corresponding to one or more locations in the processing system. The measurements are performed concurrently with the processing system executing one or more code loops. The processing system also includes calibration logic to modify a second voltage provided to the processing system based on a comparison of a reference voltage and the one or more first voltages. The reference voltage is determined based on previous execution of the one or more code loops by the processing system.
    Type: Grant
    Filed: June 25, 2014
    Date of Patent: August 28, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Aaron J. Grenat, Robert A. Hershberger, Sriram Sambamurthy, Samuel D. Naffziger, Christopher E. Tressler, Sho-Chien Kang, Joseph P. Shannon, Krishna Sai Bernucho, Ashwin Chincholi, Michael J. Austin, Steven F. Liepe, Umair B. Cheema
  • Publication number: 20180239722
    Abstract: A method, computer program product, and system are provided for associating one or more memory buffers in a computing system with a plurality of memory channels. The method can include associating a first memory buffer to a first plurality of memory banks, where the first plurality of memory banks spans over a first set of one or more memory channels. Similarly, the method can include associating a second memory buffer to a second plurality of memory banks, where the second plurality of memory banks spans over a second set of one or more memory channels. The method can also include associating a first sequence identifier and a second sequence identifier with the first memory buffer and the second memory buffer, respectively. Further, the method can include accessing the first and second memory buffers based on the first and second sequence identifiers.
    Type: Application
    Filed: April 20, 2018
    Publication date: August 23, 2018
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Greg Sadowski, Philip J. Rogers
  • Patent number: 10055370
    Abstract: A method of and device for removing a processor from a low power mode. The method includes and the device provides for performing multiple processor start-up tasks in parallel. Memory interface training between the processor and memory and restoration and initialization of the processor are performed in parallel with each other and with a serial bus controller entering serial bus training to facilitate communication between the processor and a system controller.
    Type: Grant
    Filed: July 9, 2014
    Date of Patent: August 21, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Greg Sadowski
  • Patent number: 10055359
    Abstract: The described embodiments include a computer system having a multi-level memory hierarchy with two or more levels of memory, each level being one of two or more types of memory. The computer system handles storing objects in the multi-level memory hierarchy. During operation, a system runtime in the computer system identifies an object to be stored in the multi-level memory hierarchy. The system runtime then determines, based on one or more attributes of the object, that the object is to be pinned in a level of the multi-level memory hierarchy. The system runtime then pins the object in the level of the multi-level memory hierarchy. In the described embodiments, the pinning includes hard pinning and soft pinning, which are each associated with corresponding retention policies for pinned objects.
    Type: Grant
    Filed: February 10, 2016
    Date of Patent: August 21, 2018
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Sergey Blagodurov, Gabriel H. Loh, John R. Slice
  • Patent number: 10049487
    Abstract: Techniques for removing duplicate indices from an index stream are disclosed. The techniques involve dividing the indices into chunks. For any particular chunk, the techniques involve examining each index in the chunk to determine whether a “match” exists for that index within a reuse depth sliding window. The reuse depth sliding window includes a fixed number of indices immediately prior to the index being examined for a match. If a match exists, then the index is marked as non-unique and is assigned a position value equal to the position value of the matching index. If a match does not exist, then the index is marked as unique and assigned the next available position value for the chunk. After assigning position values to indices in a chunk, the indices in the chunk are transmitted to a vertex shader stage for processing in the order indicated by the position values.
    Type: Grant
    Filed: November 23, 2016
    Date of Patent: August 14, 2018
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Saad Arrabi, Mangesh P. Nijasure, Todd Martin
  • Patent number: 10048741
    Abstract: Systems, apparatuses, and methods for implementing performance estimation mechanisms are disclosed. In one embodiment, a computing system includes at least one processor and a memory subsystem. During a characterization phase, the system utilizes a memory intensive workload to detect when the memory subsystem reaches its saturation point. Then, the system collects performance counter values during a sampling phase of a target application to determine the memory bandwidth. If the memory bandwidth is greater than the saturation point, then the system generates a prediction of the memory time which is based on a ratio of the memory bandwidth over the saturation point. Otherwise, if the memory bandwidth is less than the saturation point, the system assumes memory time is constant versus processor frequency. Then, the system uses the memory time and an estimate of the compute time to estimate a phase time for the target application at different processor frequencies.
    Type: Grant
    Filed: January 26, 2017
    Date of Patent: August 14, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Md Abdullah Shahneous Bari, Leonardo Piga, Indrani Paul
  • Patent number: 10049726
    Abstract: A dynamic NOR circuit includes a pre-charge transistor coupled between a first voltage supply node and a dynamic node to pre-charge the dynamic node. The dynamic NOR circuit includes a first keeper circuit having a first keeper transistor and a second keeper transistor serially coupled between the first voltage supply node and the dynamic node. The dynamic NOR circuit includes a first pull down circuit coupled between the dynamic node and ground. A first input signal is coupled to a gate of a first pull-down transistor in the first pull-down circuit and is also coupled to a gate of the first keeper transistor. A first keeper enable signal is coupled to a gate of the second keeper transistor. Additional keeper circuits and pull down circuits coupled to the dynamic node allow the dynamic NOR structure to handle a plurality of input signals.
    Type: Grant
    Filed: February 3, 2017
    Date of Patent: August 14, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Alexander W. Schaefer, David H. McIntyre
  • Patent number: 10049044
    Abstract: Proactive flush logic in a computing system is configured to perform a proactive flush operation to flush data from a first memory in a first computing device to a second memory in response to execution of a non-blocking flush instruction. Reactive flush logic in the computing system is configured to, in response to a memory request issued prior to completion of the proactive flush operation, interrupt the proactive flush operation and perform a reactive flush operation to flush requested data from the first memory to the second memory.
    Type: Grant
    Filed: June 14, 2016
    Date of Patent: August 14, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Michael Boyer, Gabriel Loh, Nuwan Jayasena
  • Patent number: 10042774
    Abstract: A method and apparatus for transmitting data includes determining whether to apply a mask to a cache line that includes a first type of data and a second type of data for transmission based upon a first criteria. The second type of data is filtered from the cache line, and the first type of data along with an identifier of the applied mask is transmitted. The first type of data and the identifier is received, and the second type of data is combined with the first type of data to recreate the cache line based upon the received identifier.
    Type: Grant
    Filed: September 19, 2016
    Date of Patent: August 7, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Shuai Che, Jieming Yin
  • Patent number: 10042762
    Abstract: A data processing system includes a plurality of processors, local memories associated with a corresponding processor, and at least one inter-processor link. In response to a first processor performing a load or store operation on an address of a corresponding local memory that is not currently in the local cache, a local cache allocates a first cache line and encodes a local state with the first cache line. In response to a load operation from an address of a remote memory that is not currently in the local cache, the local cache allocates a second cache line and encodes a remote state with the second cache line. The first processor performs subsequent loads and stores on the first cache line in the local cache in response to the local state, and subsequent loads from the second cache line in the local cache in response to the remote state.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: August 7, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Nuwan Jayasena, Michael Boyer
  • Patent number: 10042576
    Abstract: A method and apparatus of compressing addresses for transmission includes receiving a transaction at a first device from a source that includes a memory address request for a memory location on a second device. It is determined if a first part of the memory address is stored in a cache located on the first device. If the first part of the memory address is not stored in the cache, the first part of the memory address is stored in the cache and the entire memory address and information relating to the storage of the first part is transmitted to the second device. If the first part of the memory address is stored in the cache, only a second part of the memory address and an identifier that indicates a way in which the first part of the address is stored in the cache is transmitted to the second device.
    Type: Grant
    Filed: November 8, 2016
    Date of Patent: August 7, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Vydhyanathan Kalyanasundharam, Greggory D. Donley
  • Patent number: 10042700
    Abstract: A post-package repair system includes a memory channel controller, a first error counter, a scrubber, and a data processor. The memory channel controller converts data access requests to corresponding memory accesses, and provides returned data to the host interface in response to responses received from a memory interface, wherein the responses comprise returned data and a plurality of error correcting code (ECC) bits. The first error counter counts errors in the returned data, and provides a control signal in response to reaching a predetermined state. The scrubber controls the memory channel controller to read data sequentially and periodically from a plurality of addresses of a memory system, and in response to detecting a correctable error, to rewrite corrected data. The data processor is responsive to the control signal to perform a post package repair operation with the memory system in response to the control signal.
    Type: Grant
    Filed: May 28, 2016
    Date of Patent: August 7, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Kevin M. Brandl
  • Patent number: 10043572
    Abstract: A system and method for providing efficient power, performance and stability tradeoffs of memory accesses are described. A computing system uses a memory for storing data, and a processing unit, which generates access request. The memory stores data and includes a dummy cell between a first region and a second region. The first region and the second region operate with at least one of two operating states such as an awake state and a sleep state. The dummy cell uses two ground connections to support two separate ground references. In one example, a first ground reference is zero volts and a second ground reference is a floating node. In another example, the first ground reference is a value shared by one of the two regions and the second ground reference is the floating node.
    Type: Grant
    Filed: July 28, 2017
    Date of Patent: August 7, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Russell Schreiber, John J. Wuu, Keith Kasprak
  • Patent number: 10042687
    Abstract: Techniques for performing redundant multi-threading (“RMT”) include the use of an RMT compare instruction by two program instances (“work-items”). The RMT compare instruction specifies a value from each work-item to be compared. Upon executing the RMT compare instructions, the work-items transmit the values to a hardware comparator unit. The hardware comparator unit compares the received values and performs an error action if the values do not match. The error action may include sending an error code in a return value back to the work-items that requested the comparison or emitting a trap signal. Optionally, the work-items also send addresses for comparison to the comparator unit. If the addresses and values match, then the comparator stores the value at the specified address. If either or both of the values or the addresses do not match, then the comparator performs an error action.
    Type: Grant
    Filed: August 8, 2016
    Date of Patent: August 7, 2018
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Daniel I. Lowell, Manish Gupta
  • Publication number: 20180217844
    Abstract: A method and apparatus of asynchronous scheduling in a graphics device includes sending one or more instructions from an instruction scheduler to one or more instruction first-in/first-out (FIFO) devices. An instruction in the one or more FIFO devices is selected for execution by a single-instruction/multiple-data (SIMD) pipeline unit. It is determined whether all operands for the selected instruction are available for execution of the instruction, and if all the operands are available, the selected instruction is executed on the SIMD pipeline unit. The self-timed arithmetic pipeline unit (SIMD pipeline unit) is effectively encapsulated in a synchronous, (e.g., clocked by global clock), scheduler and register file environment.
    Type: Application
    Filed: January 27, 2017
    Publication date: August 2, 2018
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: John Kalamatianos, Greg Sadowski, Syed Zohaib M. Gilani
  • Publication number: 20180218532
    Abstract: Improvements in graphics processing pipelines are disclosed. The graphics processing pipeline processes graphics objects in a particular order (application programming interface order—“API order”) as requested by an application or other entity. However, certain components within the graphics processing pipeline, such as the pixel shader stage, may process those objects out of order. A technique is provided herein to allow the pixel shader stage to complete and export processed fragments out of order. The technique includes using a scoreboard to determine whether fragments ready to be exported from a pixel shader stage are the newest fragments in API order. If the fragments are the newest in API order, then the fragments are exported. If the fragments are not the newest in API order, then the fragments are discarded.
    Type: Application
    Filed: January 27, 2017
    Publication date: August 2, 2018
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Pazhani Pillai, Christopher J. Brennan
  • Patent number: 10037150
    Abstract: In one form, a memory controller has a memory channel controller including a command queue and an arbiter. The command queue stores memory access requests including a sub-channel number in a virtual controller mode. The arbiter is coupled to the command queue to select memory access commands from the command queue according to predetermined criteria. In the virtual controller mode, the arbiter selects from among the memory access requests in each sub-channel independently using the predetermined criteria, and sends selected memory access requests to a corresponding one of a plurality of sub-channels. In another form, a data processing system includes a plurality of memory channels and such a memory controller coupled to the plurality of sub-channels.
    Type: Grant
    Filed: August 31, 2016
    Date of Patent: July 31, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: James R. Magro, Kedarnath Balakrishnan
  • Patent number: 10037267
    Abstract: Systems, apparatuses, and methods for migrating execution contexts are disclosed. A system includes a plurality of processing units and memory devices. The system is configured to execute any number of software applications. The system is configured to detect, within a first software application, a primitive for migrating at least a portion of the execution context of a source processing unit to a target processing unit, wherein the primitive includes one or more instructions. The execution context includes a plurality of registers. A first processing unit is configured to execute the one or more instructions of the primitive to cause a portion of an execution context of the first processing unit to be migrated to a second processing unit. In one embodiment, executing the primitive instruction(s) causes an instruction pointer value, with an optional offset value, to be sent to the second processing unit.
    Type: Grant
    Filed: October 21, 2016
    Date of Patent: July 31, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Alexander D. Breslow, Nuwan S. Jayasena, Dong Ping Zhang
  • Patent number: 10037283
    Abstract: Techniques for improving translation lookaside buffer (TLB) operation are disclosed. A particular entry of the TLB is to be updated with data associated with a large page size. The TLB updates replacement policy data for that TLB entry for that large page size to indicate that the TLB entry is not the least-recently-used. To prevent smaller pages from evicting the TLB entry for the large page size, the TLB also updates replacement policy data for that TLB entry for the smaller page size to indicate that the TLB entry is not the least-recently-used.
    Type: Grant
    Filed: August 12, 2016
    Date of Patent: July 31, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Anthony J. Bybell, John M. King