Patents by Inventor Jeffrey G. Cheng
Jeffrey G. Cheng 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: 20240108978Abstract: A remote display synchronization technique preserves the presence of a local display device for a remotely-rendered video stream. A server and a client device cooperate to dynamically determine a target frame rate for a stream of rendered frames suitable for the current capacities of the server and the client device and networking conditions. The server generates from this target frame rate a synchronization signal that serves as timing control for the rendering process. The client device may provide feedback to instigate a change in the target frame rate, and thus a corresponding change in the synchronization signal. In this approach, the rendering frame rate and the encoding frequency may be “synchronized” in a manner consistent with the capacities of the server, the network, and the client device, resulting in generation, encoding, transmission, decoding, and presentation of a stream of frames that mitigates missed encoding of frames while providing acceptable latency.Type: ApplicationFiled: September 29, 2022Publication date: April 4, 2024Inventors: Jeffrey G. Cheng, Yuping Shen, Mikhail Mironov, Min Zhang
-
Patent number: 11836091Abstract: A processor supports secure memory access in a virtualized computing environment by employing requestor identifiers at bus devices (such as a graphics processing unit) to identify the virtual machine associated with each memory access request. The virtualized computing environment uses the requestor identifiers to control access to different regions of system memory, ensuring that each VM accesses only those regions of memory that the VM is allowed to access. The virtualized computing environment thereby supports efficient memory access by the bus devices while ensuring that the different regions of memory are protected from unauthorized access.Type: GrantFiled: October 31, 2018Date of Patent: December 5, 2023Assignees: Advanced Micro Devices, Inc., ATI TECHNOLOGIES ULCInventors: Anthony Asaro, Jeffrey G. Cheng, Anirudh R. Acharya
-
Patent number: 11256530Abstract: A processing system identifies a subset of pages of memory allocated to a source guest virtual machine (VM) running at a first graphics processing unit (GPU) that were modified by the source guest VM and transferring only the subset to a destination guest VM running at a second GPU when performing a live migration from the source guest VM to the destination guest VM. The first GPU maintains a page table of system memory addresses or frame buffer addresses allocated to and accessed by the source guest VM during a session, including an indication of whether the data was modified. Based on the page table information, the processing system identifies and transfers only the modified pages from the source guest VM to the destination guest VM, thereby reducing the time and bandwidth used for migration.Type: GrantFiled: December 14, 2018Date of Patent: February 22, 2022Assignee: ATI TECHNOLOGIES ULCInventors: Yinan Jiang, Jeffrey G. Cheng
-
Publication number: 20210049030Abstract: The present disclosure relates to techniques for allocating performance counters to virtual functions in response to a request from a respective one of the virtual functions. In response to receiving a request from a respective one of the virtual functions for a performance counter, a security processor is configured to allocate, via a controller, a register associated with a processor to the virtual function, such that the register is configured to implement the performance counter.Type: ApplicationFiled: August 16, 2019Publication date: February 18, 2021Inventors: Louis REGNIERE, Anthony ASARO, Jeffrey G. CHENG
-
Publication number: 20200249987Abstract: The present disclosure relates to implementing a system for facilitating the migration of virtual machines and corresponding virtual functions from a source host machine to a destination host machine. A source computing device is configured to execute a plurality of virtual machines such that, each of the plurality of virtual machines is associated with at least one virtual function. In response to receiving a migration request, the source computing device is configured to save a state associated with a preempted virtual function for transfer to a destination computing device. The state associated with the preempted virtual function is a subset of a plurality of states associated with the plurality of virtual machines.Type: ApplicationFiled: February 18, 2019Publication date: August 6, 2020Inventors: Yinan JIANG, Jeffrey G. CHENG, Kun XUE
-
Publication number: 20200201758Abstract: 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: ApplicationFiled: December 19, 2018Publication date: June 25, 2020Inventors: Anthony ASARO, Philip NG, Jeffrey G. CHENG
-
Publication number: 20200192691Abstract: A processing system identifies a subset of pages of memory allocated to a source guest virtual machine (VM) running at a first graphics processing unit (GPU) that were modified by the source guest VM and transferring only the subset to a destination guest VM running at a second GPU when performing a live migration from the source guest VM to the destination guest VM. The first GPU maintains a page table of system memory addresses or frame buffer addresses allocated to and accessed by the source guest VM during a session, including an indication of whether the data was modified. Based on the page table information, the processing system identifies and transfers only the modified pages from the source guest VM to the destination guest VM, thereby reducing the time and bandwidth used for migration.Type: ApplicationFiled: December 14, 2018Publication date: June 18, 2020Inventors: Yinan JIANG, Jeffrey G. CHENG
-
Publication number: 20200192825Abstract: A system has a processor including a plurality of processor cores, a memory controller, and an input-output memory management unit. The plurality of processor cores implements a plurality of virtual machines. The system further has a device in communication with the input-output memory management unit, the device including a bus controller, a device memory controller, an encryption module, a device memory, and a computational resource. The device is to implement a plurality of virtual functions. The device provides a device memory access request from a virtual function to the device memory controller. The virtual function is associated with a virtual function identifier. The device is to determine an encryption key associated with the virtual function, decrypt information stored at the device memory using the encryption key, and provide the decrypted information in a processor memory access request to the processor.Type: ApplicationFiled: December 18, 2018Publication date: June 18, 2020Inventors: Philip NG, Nippon Harshadk RAVAL, Anthony ASARO, Jeffrey G. CHENG
-
Publication number: 20200133878Abstract: A processor supports secure memory access in a virtualized computing environment by employing requestor identifiers at bus devices (such as a graphics processing unit) to identify the virtual machine associated with each memory access request. The virtualized computing environment uses the requestor identifiers to control access to different regions of system memory, ensuring that each VM accesses only those regions of memory that the VM is allowed to access. The virtualized computing environment thereby supports efficient memory access by the bus devices while ensuring that the different regions of memory are protected from unauthorized access.Type: ApplicationFiled: October 31, 2018Publication date: April 30, 2020Inventors: Anthony ASARO, Jeffrey G. CHENG, Anirudh R. ACHARYA
-
Patent number: 10310985Abstract: Systems, apparatuses, and methods for accessing and managing memories are disclosed herein. In one embodiment, a system includes at least first and second processors and first and second memories. The first processor maintains a request log with entries identifying requests that have been made to pages stored in the second memory. The first processor generates an indication for the second processor to process the request log when the number of entries in the request log reaches a programmable threshold. The second processor dynamically adjusts the programmable threshold based on one or more first conditions. The second processor also processes the request log responsive to detecting the indication. Additionally, the second processor determines whether to migrate pages from the second memory to the first memory based on one or more second conditions.Type: GrantFiled: June 26, 2017Date of Patent: June 4, 2019Assignee: ATI Technologies ULCInventors: Dhirendra Partap Singh Rana, Conrad Lai, Jeffrey G. Cheng
-
Patent number: 10198283Abstract: A request is sent from a new virtual function (VF) to a physical function for requesting the initialization of the new VF. The controlling physical function and the new VF establish a two-way communication channel that to start and end the VF's exclusive accesses to registers in a configuration space. The physical function uses a timing control to monitor that exclusive register access by the new VF is completed within a predetermined time period. The new VF is only granted a predetermined time period of exclusive access to complete its initialization process. If the exclusive access period is timed out, the controlling physical function can terminate the VF to prevent GPU stalls.Type: GrantFiled: November 10, 2016Date of Patent: February 5, 2019Assignees: ATI Technologies ULC, Advanced Micro Devices (Shanghai) Co., LTD.Inventors: Jeffrey G. Cheng, Yinan Jiang, Guangwen Yang, Kelly Donald Clark Zytaruk, LingFei Liu, XiaoWei Wang
-
Publication number: 20180373641Abstract: Systems, apparatuses, and methods for accessing and managing memories are disclosed herein. In one embodiment, a system includes at least first and second processors and first and second memories. The first processor maintains a request log with entries identifying requests that have been made to pages stored in the second memory. The first processor generates an indication for the second processor to process the request log when the number of entries in the request log reaches a programmable threshold. The second processor dynamically adjusts the programmable threshold based on one or more first conditions. The second processor also processes the request log responsive to detecting the indication. Additionally, the second processor determines whether to migrate pages from the second memory to the first memory based on one or more second conditions.Type: ApplicationFiled: June 26, 2017Publication date: December 27, 2018Inventors: Dhirendra Partap Singh Rana, Conrad Lai, Jeffrey G. Cheng
-
Publication number: 20180113731Abstract: A request is sent from a new virtual function (VF) to a physical function for requesting the initialization of the new VF. The controlling physical function and the new VF establish a two-way communication channel that to start and end the VF's exclusive accesses to registers in a configuration space. The physical function uses a timing control to monitor that exclusive register access by the new VF is completed within a predetermined time period. The new VF is only granted a predetermined time period of exclusive access to complete its initialization process. If the exclusive access period is timed out, the controlling physical function can terminate the VF to prevent GPU stalls.Type: ApplicationFiled: November 10, 2016Publication date: April 26, 2018Inventors: Jeffrey G. Cheng, Yinan Jiang, Guangwen Yang, Kelly Donald Clark Zytaruk, LingFei Liu, XiaoWei Wang
-
Patent number: 9164646Abstract: A method and apparatus provides for the accommodation of display migration among a plurality of physical displays. In one example, the method and apparatus detects a display migration condition from at least a second physical display to a first physical display. The method and apparatus then controls compositing of a plurality of desktop surfaces so as enable access of each one of the plurality of desktop surfaces on the first physical display. The plurality of desktop surfaces include at least a desktop surface associated with the second physical display. The desktop surface is the content in a piece of memory in a frame buffer, which represents all the display content presented on the associated physical display. In one example, the plurality of desktop surfaces may be composited into at least one three-dimensional display object. The three-dimensional display object includes but is not limited to a revolving door object or other three-dimensional shape or object (e.g., a cube object).Type: GrantFiled: August 31, 2010Date of Patent: October 20, 2015Assignee: ATI Technologies ULCInventors: Jeffrey G. Cheng, Xiaoqing Frederick Li
-
Patent number: 8866825Abstract: An apparatus includes a plurality of image processing circuits. Each image processing circuit generates an image frame corresponding to a single large surface. The first image processing circuit provides a portion of the generated image frame for a first display or plurality of displays and provides a remaining portion of the image frame to the remaining image processing circuits. The next image processing circuits provides the remaining portion of the image frame for the next plurality of displays.Type: GrantFiled: December 15, 2010Date of Patent: October 21, 2014Assignee: ATI Technologies ULCInventor: Jeffrey G. Cheng
-
Patent number: 8250412Abstract: A circuit monitors and resets a co-processor. The circuit includes a hang detector module for detecting a hang in co-processor. The circuit also includes a selective processor reset module for resetting the co-processor without resetting a processor in response to detecting a hang in the co-processor.Type: GrantFiled: September 26, 2003Date of Patent: August 21, 2012Assignee: ATI Technologies ULCInventors: Jeffrey G. Cheng, Hing Pong Chan, Yinan Jiang
-
Patent number: 8212832Abstract: An apparatus and method utilizes system memory as backing stores so that local graphics memory may be oversubscribed. Surfaces may be paged in and out of system memory based on the amount of usage of the surfaces. The apparatus and method also prioritizes surfaces among different tiers of local memory (e.g. frame buffer), non-local memory (e.g. page locked system memory), and system memory backing stores (e.g. pageable system memory) locations based on predefined criteria and runtime statistics relating to the surfaces. As such, local memory may be, for example, expanded without extra memory costs such as adding a frame buffer memory to allow graphics applications to effectively use more memory and run faster.Type: GrantFiled: December 8, 2005Date of Patent: July 3, 2012Assignee: ATI Technologies ULCInventors: Steve Stefanidis, Jeffrey G. Cheng, Philip J. Rogers
-
Publication number: 20120154411Abstract: An apparatus includes a plurality of image processing circuits. Each image processing circuit generates an image frame corresponding to a single large surface. The first image processing circuit provides a portion of the generated image frame for a first display or plurality of displays and provides a remaining portion of the image frame to the remaining image processing circuits. The next image processing circuits provides the remaining portion of the image frame for the next plurality of displays.Type: ApplicationFiled: December 15, 2010Publication date: June 21, 2012Applicant: ATI TECHNOLOGIES ULCInventor: Jeffrey G. Cheng
-
Publication number: 20120050260Abstract: A method and apparatus provides for the accommodation of display migration among a plurality of physical displays. In one example, the method and apparatus detects a display migration condition from at least a second physical display to a first physical display. The method and apparatus then controls compositing of a plurality of desktop surfaces so as enable access of each one of the plurality of desktop surfaces on the first physical display. The plurality of desktop surfaces include at least a desktop surface associated with the second physical display. The desktop surface is the content in a piece of memory in a frame buffer, which represents all the display content presented on the associated physical display. In one example, the plurality of desktop surfaces may be composited into at least one three-dimensional display object. The three-dimensional display object includes but is not limited to a revolving door object or other three-dimensional shape or object (e.g., a cube object).Type: ApplicationFiled: August 31, 2010Publication date: March 1, 2012Applicant: ATI TECHNOLOGIES ULCInventors: Jeffrey G. Cheng, Xiaoqing Frederick Li
-
Publication number: 20110242142Abstract: An apparatus includes a chrominance and luminance module. The chrominance and luminance module obtains display characteristics of each of a plurality of displays. The chrominance and luminance module selectively adjusts, on a per display basis, chrominance and luminance for each of the displays based on the display characteristics. In one example, the displays collectively display a single large surface.Type: ApplicationFiled: March 21, 2011Publication date: October 6, 2011Applicant: ATI TECHNOLOGIES ULCInventors: Syed Athar Hussain, Jeffrey G. Cheng