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: 11514194
    Abstract: Devices, methods, and systems for secure communications on a computing device. A host operating system (OS) runs on a host processor in communication with a host memory. A secure OS runs on a coprocessor in communication with a secure memory. The coprocessor receives information from an external device over a secure peer-to-peer (P2P) connection. The secure P2P connection is managed by the secure OS and is not accessible by the host OS.
    Type: Grant
    Filed: December 19, 2019
    Date of Patent: November 29, 2022
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Guhan Krishnan, Carl K. Wakeland, Saikishore Reddipalli, Philip Ng
  • Patent number: 11494211
    Abstract: An electronic device includes a processor that executes a guest operating system and a hypervisor, an input-output (IO) device, and an input-output memory management unit (IOMMU). The IOMMU handles communications between the IOMMU and the guest operating system by: replacing, in communications received from the guest operating system, guest domain identifiers (domainIDs) with corresponding host domainIDs and/or guest device identifiers (deviceIDs) with corresponding host deviceIDs before further processing the communications; replacing, in communications received from the IO device, host deviceIDs with guest deviceIDs before providing the communications to the guest operating system; and placing, into communications generated in the IOMMU and destined for the guest operating system, guest domainIDs and/or guest deviceIDs before providing the communications to the guest operating system. The IOMMU handles the communications without intervention by the hypervisor.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: November 8, 2022
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Maggie Chan, Philip Ng, Paul Blinzer
  • Publication number: 20220318040
    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: Application
    Filed: March 31, 2021
    Publication date: October 6, 2022
    Inventors: Sean T. White, Philip Ng
  • Publication number: 20220308756
    Abstract: An electronic device includes an input-output memory management unit (IOMMU). The IOMMU receives, from an input-output device, a memory access request directed to a given page of memory. The IOMMU then determines a particular encryption key from among a plurality of encryption keys associated with an owning entity to which the given page of memory is assigned. The IOMMU next communicates, to a encryption functional block, a specification of the particular encryption key to be used for encryption-related operations for processing the memory access request.
    Type: Application
    Filed: March 26, 2021
    Publication date: September 29, 2022
    Inventors: Nippon Raval, Philip Ng
  • Publication number: 20220308755
    Abstract: An electronic device includes a memory, a processor that executes a software entity, a page migration engine (PME), and an input-output memory management unit (IOMMU). The software entity and the PME perform operations for preparing to migrate a page of memory that is accessible by at least one IO device in the memory, the software entity and the PME set migration state information in a page table entry for the page of memory and information in reverse map table (RMT) entries involved with migrating the page of memory based on the operations being performed. The IOMMU controls usage of information from the page table entry and controls performance of memory accesses of the page of memory based on the migration state information in the page table entry and information in the RMT entries. When the operations for preparing to migrate the page of memory are completed, the PME migrates the page of memory in the memory.
    Type: Application
    Filed: March 24, 2021
    Publication date: September 29, 2022
    Inventors: Philip Ng, Nippon Raval
  • Publication number: 20220283946
    Abstract: Methods, systems, and apparatuses provide support for multiple address spaces in order to facilitate data movement. One system includes a host processor; a memory; a data fabric coupled to the host processor and to the memory; a first input/output memory manage unit (IOMMU) and a second IOMMU, each of the first and second IOMMUs coupled to the data fabric; a first root port and a second root port, each of the first and second root ports coupled to a corresponding IOMMU of the first and second IOMMUs; and a first peripheral component endpoint and a second peripheral component endpoint, each of the first and second peripheral component endpoints coupled to a corresponding root port of the first and second root ports, wherein each of the first and second root ports comprises hardware control logic operative to: synchronize the first and second root ports.
    Type: Application
    Filed: March 2, 2021
    Publication date: September 8, 2022
    Inventors: Philip Ng, Nippon Raval, BuHeng Xu, Rostislav S. Dobrin, Shawn Han
  • Publication number: 20220269621
    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: Application
    Filed: January 11, 2021
    Publication date: August 25, 2022
    Inventors: Maggie Chan, Philip Ng, Paul Blinzer
  • Publication number: 20220206700
    Abstract: An electronic device includes a memory, an input-output memory management unit (IOMMU), a processor that executes a software entity, and a page migration engine. The software entity and the page migration engine perform operations for preparing to migrate a page of memory that is accessible by the at least one IO device in the memory, the software entity and the page migration engine set migration state information in a page table entry for the page of memory based on the operations being performed. When the operations for preparing to migrate the page of memory are completed, the page migration engine migrates the page of memory in the memory. The IOMMU uses the migration state information in the page table entry to control one or more operations of the IOMMU.
    Type: Application
    Filed: December 29, 2020
    Publication date: June 30, 2022
    Inventors: Philip Ng, Nippon Raval
  • Publication number: 20220206942
    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: Application
    Filed: December 28, 2020
    Publication date: June 30, 2022
    Inventors: NIPPON RAVAL, PHILIP NG, ROSTISLAV S. DOBRIN
  • Publication number: 20220206976
    Abstract: An address translation buffer or ATB is provided for emulating or implementing the PCIe (Peripheral Component Interface Express) ATS (Address Translation Services) protocol within a PCIe-compliant device. The ATB operates in place of (or in addition to) an address translation cache (ATC), but is implemented in firmware or hardware without requiring the robust set of resources associated with a permanent hardware cache (e.g., circuitry for cache control and lookup). A component of the device (e.g., a DMA engine) requests translation of an untranslated address, via a host input/output memory management unit for example, and the response (including a translated address) is stored in the ATB for use for a single DMA operation (which may involve multiple transactions across the PCIe bus).
    Type: Application
    Filed: December 29, 2020
    Publication date: June 30, 2022
    Inventors: Philip Ng, Vinay Patel
  • Publication number: 20220188180
    Abstract: A method and system for recording and logging errors in a computer system includes reading first error handling information with respect to a transaction. The first error handling information is stored in a first component, and based upon a condition of the storage in the first component, an oldest error information is evicted from the first component.
    Type: Application
    Filed: December 22, 2020
    Publication date: June 16, 2022
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Philip Ng, Buheng Xu
  • Patent number: 11339609
    Abstract: An idler end for a roller tube of a roller blind. The idler end includes a housing having a bore therethrough, an internal partition and a generally cylindrical passageway extending through said partition. The passageway has an internal first should for engagement with a fastener. The idler end includes a shaft having (i) a pin portion for engagement with the roller blind, (ii) a receiver configured to pass through the passageway and for engagement with said fastener, and (iii) a second shoulder between the pin portion and the receiver end, and a biasing member configured to longitudinally bias said pin portion away from said housing. The idler end further includes a ring member surrounding said shaft positioned between said second shoulder and said biasing member, the ring member reducing the generation of noise created through rotational movement of said biasing member relative to said second shoulder.
    Type: Grant
    Filed: March 15, 2019
    Date of Patent: May 24, 2022
    Assignee: ZMC METAL COATING INC.
    Inventor: Philip Ng
  • Patent number: 11307904
    Abstract: A system-on-chip (SOC), includes a memory, a partition access module coupled to the memory, a partition requesting unit coupled to the partition access module, and a first input-output (IO) device coupled to the partition access module. The partition access module creates a first partition of the SOC. The first partition includes a first portion of a first processor, the first IO device, and a first portion of the memory. Based upon a partition request, the partition access module repartitions the SOC to create a dynamic partition. The dynamic partition includes the first portion of the first processor, the first input-output (IO) device, the first portion of the memory, and a second IO device not included in the first partition.
    Type: Grant
    Filed: December 18, 2018
    Date of Patent: April 19, 2022
    Assignee: ATI TECHNOLOGIES ULC
    Inventors: Michael McLean, Philip Ng
  • Patent number: 11296905
    Abstract: A Management Component Transport Protocol platform management subsystem includes an internal bridge, a first segment group, and a second segment group. The first segment group is coupled to the internal bridge. The second segment group is coupled to the internal bridge and the first segment group. The first segment group has a first plurality of Peripheral Component Interconnect Express (PCIe)-based buses. The second segment group has a second plurality of PCIe-based buses, wherein based on an identification (ID)-routed packet from the first segment group to the second segment group, the internal bridge routes the ID-routed packet to the second segment group.
    Type: Grant
    Filed: December 13, 2018
    Date of Patent: April 5, 2022
    Assignee: ATI TECHNOLOGIES ULC
    Inventors: Michael McLean, Philip Ng
  • Patent number: 11243891
    Abstract: Methods, devices, and systems for virtual address translation. A memory management unit (MMU) receives a request to translate a virtual memory address to a physical memory address and searching a translation lookaside buffer (TLB) for a translation to the physical memory address based on the virtual memory address. If the translation is not found in the TLB, the MMU searches an external memory translation lookaside buffer (EMTLB) for the physical memory address and performs a page table walk, using a page table walker (PTW), to retrieve the translation. If the translation is found in the EMTLB, the MMU aborts the page table walk and returns the physical memory address. If the translation is not found in the TLB and not found in the EMTLB, the MMU returns the physical memory address based on the page table walk.
    Type: Grant
    Filed: September 25, 2018
    Date of Patent: February 8, 2022
    Assignee: ATI Technologies ULC
    Inventors: Nippon Harshadk Raval, Philip Ng
  • Patent number: 11215009
    Abstract: A rotary drive system for a roller blind. The drive system comprises a handle a worm gear, a bull gear, and a planetary gear drive system. The handle causes rotation of the worm gear, that engages the bull gear, that engages the planetary gear carrier of the planetary gear drive system. The sun gear of the planetary gear drive system is configured to engage the roller tube of the roller blind. Rotation of the worm gear causes a rotation of the bull gear which rotates the planetary gear carrier, causing the planetary gears to impart rotational motion to the sun gear and rotation of the roller tube at a rate faster than the rotation of the worm gear, said planetary gear carrier causing said planetary gears to impart rotational motion to said sun gear and rotation of the roller tube at a rate faster than the rotation of said worm gear.
    Type: Grant
    Filed: March 20, 2019
    Date of Patent: January 4, 2022
    Assignee: V.B. KOTING MANAGEMENT INC.
    Inventor: Philip Ng
  • Publication number: 20210192087
    Abstract: Devices, methods, and systems for secure communications on a computing device. A host operating system (OS) runs on a host processor in communication with a host memory. A secure OS runs on a coprocessor in communication with a secure memory. The coprocessor receives information from an external device over a secure peer-to-peer (P2P) connection. The secure P2P connection is managed by the secure OS and is not accessible by the host OS.
    Type: Application
    Filed: December 19, 2019
    Publication date: June 24, 2021
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Guhan Krishnan, Carl K. Wakeland, Saikishore Reddipalli, Philip Ng
  • Patent number: 11042495
    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 performs operations for signaling an interrupt to the guest operating system. For these operations, the IOMMU acquires, from an entry in an interrupt remapping table associated with the guest operating system, a location in a virtual advanced programmable interrupt controller (APIC) backing page for the guest operating system in the guest portion of the memory. The IOMMU then writes information about the interrupt to the location in the virtual APIC backing page. The IOMMU next communicates an indication of the interrupt to the guest operating system.
    Type: Grant
    Filed: September 20, 2019
    Date of Patent: June 22, 2021
    Assignees: ADVANCED MICRO DEVICES, INC., ATI TECHNOLOGIES ULC
    Inventors: Maggie Chan, Philip Ng, Paul Blinzer
  • Patent number: 11036658
    Abstract: Systems, methods, and port controller designs employ a light-weight memory protocol. A light-weight memory protocol controller is selectively coupled to a Cache Coherent Interconnect for Accelerators (CCIX) port. Over an on-chip interconnect fabric, the light-weight protocol controller receives memory access requests from a processor and, in response, transmits associated memory access requests to an external memory through the CCIX port using only a proper subset of CCIX protocol memory transactions types including non-cacheable transactions and non-snooping transactions. The light-weight memory protocol controller is selectively uncoupled from the CCIX port and a remote coherent slave controller is coupled in its place. The remote coherent slave controller receives memory access requests and, in response, transmits associated memory access requests to a memory module through the CCIX port using cacheable CCIX protocol memory transaction types.
    Type: Grant
    Filed: January 16, 2019
    Date of Patent: June 15, 2021
    Assignees: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Vydhyanathan Kalyanasundharam, Philip Ng, Alexander J Branover, Kevin M. Lepak
  • Patent number: 11003588
    Abstract: A networked input/output memory management unit (IOMMU) includes a plurality of IOMMUs. The networked IOMMU receives a memory access request that includes a domain physical address generated by a first address translation layer. The networked IOMMU selectively translates the domain physical address into a physical address in a system memory using one of the plurality of IOMMUs that is selected based on a type of a device that generated the memory access request. In some cases, the networked IOMMU is connected to a graphics processing unit (GPU), at least one peripheral device, and the memory. The networked IOMMU includes a command queue to receive the memory access requests, a primary IOMMU to selectively translate the domain physical address in memory access requests from the GPU, and a secondary IOMMU to translate the domain physical address in memory requests from the peripheral device.
    Type: Grant
    Filed: August 22, 2019
    Date of Patent: May 11, 2021
    Assignees: ADVANCED MICRO DEVICES, INC., ATI TECHNOLOGIES ULC
    Inventors: Sonu Arora, Paul Blinzer, Philip Ng, Nippon Harshadk Raval