Patents by Inventor Philip Ng

Philip Ng 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: 12260120
    Abstract: An electronic device includes a processor that executes a guest operating system; a memory having a guest portion that is reserved for storing data and information to be accessed by the guest operating system; and an input-output memory management unit (IOMMU). The IOMMU writes, in the guest portion, information into guest buffers and/or logs used for communicating information from the IOMMU to the guest operating system. The IOMMU also reads, from the guest portion, information in guest buffers and/or logs used for communicating information from the guest operating system to the IOMMU.
    Type: Grant
    Filed: June 10, 2019
    Date of Patent: March 25, 2025
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Maggie Chan, Philip Ng, Paul Blinzer
  • Patent number: 12248423
    Abstract: An apparatus includes logic circuitry that selects a retag transaction identifier for an original transaction identifier of an incoming transaction request, based on a plurality of sub-groups of retag tracking data. Each sub-group of retag tracking data is associated with a corresponding sub-group of retag transaction identifiers in a group of retag transaction identifiers. The logic circuitry retags the incoming transaction request with the selected retag transaction identifier (ID) by replacing the original transaction identifier associated with the incoming transaction request and sends the retagged incoming transaction request to a target. A returned response is received from the target. The retag transaction ID in the returned response is removed and replaced with the original transaction ID before being sent as a reply to the requesting unit. Associated methods are also presented.
    Type: Grant
    Filed: February 2, 2023
    Date of Patent: March 11, 2025
    Assignees: ADVANCED MICRO DEVICES, INC., ATI TECHNOLOGIES ULC
    Inventors: Buheng Xu, Dong Yu, Philip Ng, Lianji Cheng
  • Patent number: 12210465
    Abstract: An electronic device includes a processor that executes one or more guest operating systems and an input-output memory management unit (IOMMU). The IOMMU accesses, for/on behalf of each guest operating system among the one or more guest operating systems, IOMMU memory-mapped input-output (MMIO) registers in a separate copy of a set of IOMMU MMIO registers for that guest operating system.
    Type: Grant
    Filed: January 11, 2021
    Date of Patent: January 28, 2025
    Assignees: ADVANCED MICRO DEVICES, INC., ATI Technologies ULC
    Inventors: Maggie Chan, Philip Ng, Paul Blinzer
  • Publication number: 20250004494
    Abstract: The disclosed device includes an input/output (I/O) system clock configured to operate at one of a plurality of clock states and a control circuit configured to dynamically adjust a clock state of the I/O system clock. The control circuit can update an activity level of a current clock state based at least on I/O traffic activity and, in response to the activity level going beyond an activity range for the current clock state, transition the I/O system clock to a neighboring clock state. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Application
    Filed: June 30, 2023
    Publication date: January 2, 2025
    Applicant: ATI Technologies ULC
    Inventors: Carlos Javier Moreira, Michael McLean, Philip Ng
  • Publication number: 20250004974
    Abstract: An apparatus translates transaction requests using a bus protocol translation lookup table (LUT) that comprises bus protocol translation data. A bus protocol translation controller generates the outgoing translated transaction request by translating the incoming transaction request using the bus protocol translation data from the bus protocol translation LUT. The controller translates a received response from the target unit to a response in a first bus protocol for a corresponding requesting unit. Associated methods are also presented. In some examples, the bus protocol translation data corresponds to each of a plurality of requesting units for translating between an incoming transaction request sent via a first bus protocol to an outgoing translated transaction request sent via a second bus protocol for the at least one target unit.
    Type: Application
    Filed: June 30, 2023
    Publication date: January 2, 2025
    Inventors: BUHENG XU, XIAO HAN, PHILIP NG, SHIWU YANG
  • Patent number: 12182611
    Abstract: An apparatus includes an interrupt cache having cache storage configured to store a plurality of interrupts received from an interrupt source, the plurality of interrupts corresponding to a plurality of interrupt events configured for execution by the plurality of interrupt service routines and a cache manager component configured to generate an interrupt message for transmission to the processing unit, the interrupt message generated to include at least one interrupt of the plurality of interrupts from the cache storage.
    Type: Grant
    Filed: December 22, 2022
    Date of Patent: December 31, 2024
    Assignees: Advanced Micro Devices, Inc, ATI Technologies ULC
    Inventors: Philip Ng, Anil Kumar
  • Patent number: 12130737
    Abstract: Methods, systems, and apparatuses provide support for multiple address spaces in order to facilitate data movement. One apparatus includes an input/output memory management unit (IOMMU) comprising: a plurality of memory-mapped input/output (MMIO) registers that map memory address spaces belonging to the IOMMU and at least a second IOMMU; and hardware control logic operative to: synchronize the plurality of MMIO registers of the at least the second IOMMU; receive, from a peripheral component endpoint coupled to the IOMMU, a direct memory access (DMA) request, the DMA request to a memory address space belonging to the at least the second IOMMU; access the plurality of MMIO registers of the IOMMU based on context data of the DMA request; and access, from the IOMMU, a function assigned to the memory address space belonging to the at least the second IOMMU based on the accessed plurality of MMIO registers.
    Type: Grant
    Filed: June 8, 2023
    Date of Patent: October 29, 2024
    Assignee: ATI TECHNOLOGIES ULC
    Inventors: Nippon Raval, Philip Ng, Rostislav S. Dobrin
  • Patent number: 12124865
    Abstract: Methods and apparatus for providing page migration of pages among tiered memories identify frequently accessed memory pages in each memory tier and generate page hotness ranking information indicating how frequently memory pages are being accessed. Methods and apparatus provide the page hotness ranking information to an operating system or hypervisor depending on which is used in the system, the operating system or hypervisor issues a page move command to a hardware data mover, based on the page hotness ranking information and the hardware data mover moves a memory page to a different memory tier in response to the page move command from the operating system.
    Type: Grant
    Filed: March 31, 2021
    Date of Patent: October 22, 2024
    Assignees: ADVANCED MICRO DEVICES, INC., ATI TECHNOLOGIES ULC
    Inventors: Sean T. White, Philip Ng
  • Publication number: 20240344390
    Abstract: A motor head cover for a roller shade that has an electric motor releasably secured to an end bracket by an insert plate. The motor head cover has a C-shaped body having a mouth opening and an outer circumferential surface. The outer circumferential surface has an inner body surface, an outer body surface, an outer, inwardly directed, side surface, and an inner, inwardly directed, side surface. Each of the side surfaces extend inwardly from the circumferential surface at approximately 90 degrees to collectively form a raceway with the inner body surface. The inner, inwardly directed, side surface is configured to be engaged about a circumferential lip on the insert plate to assist in releasably securing the motor head cover thereto. The inner, inwardly directed side surface, has a series of spaced apart notches that assist in a non-destructive flexure of the motor head cover when securing about the insert plate.
    Type: Application
    Filed: April 3, 2024
    Publication date: October 17, 2024
    Applicant: ZMC Metal Coating Inc.
    Inventor: Philip Ng
  • Patent number: 12105623
    Abstract: An apparatus includes a graphics processing unit (GPU) and a frame buffer. The frame buffer is coupled to the GPU. Based upon initialization of a virtual function, a plurality of pages are mapped into a virtual frame buffer. The plurality of pages are mapped into the virtual frame buffer by using a graphics input/output memory management unit (GIOMMU) and an associated page table.
    Type: Grant
    Filed: December 19, 2018
    Date of Patent: October 1, 2024
    Assignee: ATI TECHNOLOGIES ULC
    Inventors: Anthony Asaro, Philip Ng, Jeffrey G. Cheng
  • Publication number: 20240289150
    Abstract: A processor includes a security processor and an input-output memory management unit (IOMMU). The security processor is configured to maintain device control information in a secure data structure and prevent a hypervisor from accessing the secure data structure. The IOMMU is configured to process at least one device request targeting a virtual machine from an input/output device based on the secure data structure.
    Type: Application
    Filed: February 24, 2023
    Publication date: August 29, 2024
    Inventors: Philip Ng, Nippon Raval, Jeremy W. Powell, Donald Matthews, JR., David Kaplan
  • Publication number: 20240289151
    Abstract: A processor configured to execute one or more virtual machines (VMs) includes an input-output memory management unit (IOMMU) configured to handle memory-mapped input-output (MMIO) requests and direct memory access (DMA) requests from a processor core of the processor or one or more input/output (I/O) devices. In response to receiving an MMIO or DMA request, the IOMMU is configured to determine a VM associated with the request. The IOMMU then checks a security indicator field of an address space identifier (ASID) mask table to determine if the VM was previously the target of an attack by a malicious entity. In response to the VM previously being a target of an attack, the IOMMU denies the received MMIO or DMA request.
    Type: Application
    Filed: February 24, 2023
    Publication date: August 29, 2024
    Inventors: Philip Ng, Nippon Raval, Jeremy W. Powell, Donald Matthews, JR., David Kaplan
  • Publication number: 20240264969
    Abstract: An apparatus includes logic circuitry that selects a retag transaction identifier for an original transaction identifier of an incoming transaction request, based on a plurality of sub-groups of retag tracking data. Each sub-group of retag tracking data is associated with a corresponding sub-group of retag transaction identifiers in a group of retag transaction identifiers. The logic circuitry retags the incoming transaction request with the selected retag transaction identifier (ID) by replacing the original transaction identifier associated with the incoming transaction request and sends the retagged incoming transaction request to a target. A returned response is received from the target. The retag transaction ID in the returned response is removed and replaced with the original transaction ID before being sent as a reply to the requesting unit. Associated methods are also presented.
    Type: Application
    Filed: February 2, 2023
    Publication date: August 8, 2024
    Inventors: BUHENG XU, Dong YU, Philip NG, Lianji CHENG
  • Publication number: 20240220297
    Abstract: Techniques for implementing programmable control by a guest virtual machine (VM) of interrupts at a processing system using a guest owned backing page are disclosed. The VM programs a guest owned backing page (e.g., a data structure in memory) that designates particular interrupts that are to be blocked. In response to detecting a designated interrupt, system hardware or software blocks the interrupt, rather than executing an interrupt handler to process the interrupt. The VM is thereby able to protect confidential information and program behavior with less risk of a malicious hypervisor failing to protect the VM from, e.g., unexpected or unwanted interrupts, thereby improving overall system security and predictability.
    Type: Application
    Filed: December 29, 2022
    Publication date: July 4, 2024
    Inventors: David Kaplan, Jelena Ilic, Nippon Raval, Philip Ng
  • Publication number: 20240220429
    Abstract: A processor supports managing DMA accesses, in secure fashion, at an IOMMU. The IOMMU is configured to ensure that, for a given DMA request issued by an I/O device and associated with a particular executing VM, the device is bound to the VM according to a specified security registration process, and the request is targeted to a region of memory that has been assigned to the VM. The IOMMU thus prevents a malicious entity from accessing confidential information of a VM via DMA requests.
    Type: Application
    Filed: December 29, 2022
    Publication date: July 4, 2024
    Inventors: Philip Ng, Nippon Raval, Jeremy W. Powell, Donald Matthews, JR., David Kaplan
  • Publication number: 20240220417
    Abstract: A computing device comprises a processor, a table walker, and a memory storing a segmented reverse map table in multiple non-contiguous portions of the memory. The table walker is configured to translate a virtual memory address specified by a memory access request to a physical memory address associated with the virtual memory address; and provide a requester associated with the memory access request with access to the associated physical memory address in response to an indication at the reverse map table that the requester is authorized to access the associated physical memory address.
    Type: Application
    Filed: December 29, 2022
    Publication date: July 4, 2024
    Inventors: David Kaplan, Jelena Ilic, Nippon Raval, Philip Ng
  • Publication number: 20240220296
    Abstract: A processor manages memory-mapped input/output (MMIO) accesses, in secure fashion, at an input/output memory management unit (IOMMU). The processor is configured to ensure that, for a given MMIO request issued by a processor core and associated with a particular executing VM, the request is targeted to a MMIO address that has been assigned to the VM by a security module (e.g., a security co-processor). The processor thus prevents a malicious entity from accessing confidential information of a VM via MMIO requests.
    Type: Application
    Filed: December 29, 2022
    Publication date: July 4, 2024
    Inventors: Philip Ng, Nippon Raval, Jeremy W. Powell, Donald Matthews, JR., David Kaplan
  • Publication number: 20240211300
    Abstract: An apparatus includes an interrupt cache having cache storage configured to store a plurality of interrupts received from an interrupt source, the plurality of interrupts corresponding to a plurality of interrupt events configured for execution by the plurality of interrupt service routines and a cache manager component configured to generate an interrupt message for transmission to the processing unit, the interrupt message generated to include at least one interrupt of the plurality of interrupts from the cache storage.
    Type: Application
    Filed: December 22, 2022
    Publication date: June 27, 2024
    Inventors: Philip Ng, Anil Kumar
  • Publication number: 20240202015
    Abstract: In a computing device, a hardware device (e.g., a parallel accelerated processor or graphics processing unit) is coupled to a bus, such as a peripheral component interconnect express (PCIe) bus. The hardware device supports physical partitioning that allows physical resources of the hardware device to be separated into different partitions. Examples of such physical resources include engine resources (e.g., compute resources, direct memory access resources), memory resources (e.g., random access memory), and so forth. Each physical partition is mapped to a physical function that is exposed to a host on the computing device in a manner that is compliant with the bus protocol, allowing software to access the physical partition in a conventional manner based on the bus protocol.
    Type: Application
    Filed: December 14, 2022
    Publication date: June 20, 2024
    Inventors: Lu Lu, Anthony Asaro, Gia Tung Phan, Gongxian Cheng, Philip Ng, Yinan Jiang, Felix Kuehling
  • Publication number: 20240202132
    Abstract: The disclosed device includes a collectives engine that can offload collectives communications of multiple nodes and perform collective operations. The collectives engine can manage a direct mapping scheme of local memories of the nodes for access by the collectives engine. Various other methods, systems, and computer-readable media are also disclosed.
    Type: Application
    Filed: September 29, 2023
    Publication date: June 20, 2024
    Applicant: ATI Technologies ULC
    Inventors: Benjamin Wong, Philip Ng