Patents by Inventor Yinan Jiang

Yinan Jiang 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: 20200135151
    Abstract: A processing unit includes a processor core that implements a physical function that supports multiple virtual functions. The processing unit includes a bus interface that supports communication between an external bus and the physical and virtual functions implemented using the processor core. During a reset of the processing unit, power is interrupted to the processor core power to the bus interface is maintained. The bus interface responds to requests for the physical and virtual functions received over the external bus concurrently with the power interruption. The bus interface responds based on state information associated with the virtual function. Power is restored to the processor core in response to the reinitialization of the GPU. The bus interface stops responding to requests for the physical and virtual functions received over the bus interface in response to restoring the power to the processor core and forwards requests received over the external bus from the bus interface to the processor core.
    Type: Application
    Filed: October 31, 2018
    Publication date: April 30, 2020
    Inventors: Yinan JIANG, Zhigang LUO
  • Publication number: 20200034183
    Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.
    Type: Application
    Filed: October 2, 2019
    Publication date: January 30, 2020
    Applicant: ATI Technologies ULC
    Inventors: Yinan JIANG, Ahmed M. ABDELKHALEK, Guopei QIAO, Andy SUNG, Haibo LIU, Dezhi MING, Zhidong XU
  • Patent number: 10509666
    Abstract: A register protection mechanism for a virtualized accelerated processing device (“APD”) is disclosed. The mechanism protects registers of the accelerated processing device designated as physical-function-or-virtual-function registers (“PF-or-VF* registers”), which are single architectural instance registers that are shared among different functions that share the APD in a virtualization scheme whereby each function can maintain a different value in these registers. The protection mechanism for these registers comprises comparing the function associated with the memory address specified by a particular register access request to the “currently active” function for the APD and disallowing the register access request if a match does not occur.
    Type: Grant
    Filed: June 29, 2017
    Date of Patent: December 17, 2019
    Assignee: ATI TECHNOLOGIES ULC
    Inventors: Anthony Asaro, Yinan Jiang, Kelly Donald Clark Zytaruk
  • Patent number: 10459751
    Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: October 29, 2019
    Assignee: ATI TECHNOLOGIES ULC.
    Inventors: Yinan Jiang, Ahmed M. Abdelkhalek, Guopei Qiao, Andy Sung, Haibo Liu, Dezhi Ming, Zhidong Xu
  • Patent number: 10198283
    Abstract: 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: Grant
    Filed: November 10, 2016
    Date of Patent: February 5, 2019
    Assignees: 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: 20190018699
    Abstract: A technique for recovering from a hang in a virtualized accelerated processing device (“APD”) is provided. In the virtualization scheme, different virtual machines are assigned different “time-slices” in which to use the APD. When a time-slice expires, the APD stops operations for a current VM and starts operations for another VM. To stop operations on the APD, a virtualization scheduler sends a request to idle the APD. The APD responds by completing work and idling. If one or more portions of the APD do not complete this idling process before a timeout expires, then a hang occurs. In response to the hang, the virtualization scheduler informs the hypervisor that a hang has occurred. The hypervisor performs a function level reset on the APD and informs the VM that the hang has occurred. The VM responds by stopping command issue to the APD and re-initializing the APD for the function.
    Type: Application
    Filed: July 28, 2017
    Publication date: January 17, 2019
    Applicants: Advanced Micro Devices, Inc., ATI Technologies ULC
    Inventors: Anthony Asaro, Yinan Jiang, Andy Sung, Ahmed M. Abdelkhalek, Xiaowei Wang, Sidney D. Fortes
  • Publication number: 20190004842
    Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.
    Type: Application
    Filed: June 30, 2017
    Publication date: January 3, 2019
    Applicant: ATI Technologies ULC
    Inventors: Yinan Jiang, Ahmed M. Abdelkhalek, Guopei Qiao, Andy Sung, Haibo Liu, Dezhi Ming, Zhidong Xu
  • Publication number: 20190004840
    Abstract: A register protection mechanism for a virtualized accelerated processing device (“APD”) is disclosed. The mechanism protects registers of the accelerated processing device designated as physical-function-or-virtual-function registers (“PF-or-VF* registers”), which are single architectural instance registers that are shared among different functions that share the APD in a virtualization scheme whereby each function can maintain a different value in these registers. The protection mechanism for these registers comprises comparing the function associated with the memory address specified by a particular register access request to the “currently active” function for the APD and disallowing the register access request if a match does not occur.
    Type: Application
    Filed: June 29, 2017
    Publication date: January 3, 2019
    Applicant: ATI Technologies ULC
    Inventors: Anthony Asaro, Yinan Jiang, Kelly Donald Clark Zytaruk
  • Publication number: 20180113731
    Abstract: 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: Application
    Filed: November 10, 2016
    Publication date: April 26, 2018
    Inventors: Jeffrey G. Cheng, Yinan Jiang, Guangwen Yang, Kelly Donald Clark Zytaruk, LingFei Liu, XiaoWei Wang
  • Publication number: 20180088979
    Abstract: A time stamp value associated with a virtual function of a guest virtual machine (VM) is periodically updated. One of a plurality of idle worker threads in a thread pool is assigned to periodically increment the time stamp value after initialization of an instance of the guest VM. An inactive status of the guest VM is detected based at least in part on the time stamp value not changing over a specified time period. The provision of resources to the virtual function of the inactive guest VM can be terminated based on its inactive status. In one embodiment, the virtual function is associated with a graphics processing unit (GPU) and terminating the provision of resources includes terminating the scheduling of cycles of GPU time.
    Type: Application
    Filed: November 10, 2016
    Publication date: March 29, 2018
    Inventors: YINAN JIANG, LingFei Liu
  • Patent number: 9201682
    Abstract: In a hardware-based virtualization system, a hypervisor switches out of a first function into a second function. The first function is one of a physical function and a virtual function and the second function is one of a physical function and a virtual function. During the switching a malfunction of the first function is detected. The first function is reset without resetting the second function. The switching, detecting, and resetting operations are performed by a hypervisor of the hardware-based virtualization system. Embodiments further include a communication mechanism for the hypervisor to notify a driver of the function that was reset to enable the driver to restore the function without delay.
    Type: Grant
    Filed: June 21, 2013
    Date of Patent: December 1, 2015
    Assignee: ATI Technologies ULC
    Inventors: Gongxian Jeffrey Cheng, Anthony Asaro, Yinan Jiang
  • Publication number: 20140380028
    Abstract: In a hardware-based virtualization system, a hypervisor switches out of a first function into a second function. The first function is one of a physical function and a virtual function and the second function is one of a physical function and a virtual function. During the switching a malfunction of the first function is detected. The first function is reset without resetting the second function. The switching, detecting, and resetting operations are performed by a hypervisor of the hardware-based virtualization system. Embodiments further include a communication mechanism for the hypervisor to notify a driver of the function that was reset to enable the driver to restore the function without delay.
    Type: Application
    Filed: June 21, 2013
    Publication date: December 25, 2014
    Inventors: Gongxian Jeffrey CHENG, Anthony Asaro, Yinan Jiang
  • Patent number: 8538741
    Abstract: A method and apparatus that partitions a single display's viewable area into at least two virtual viewable areas, and emulates the at least two virtual viewable areas as at least two emulated physical displays with an operating system such that the operating system behaves as if interfacing with at least two actual independent physical displays. The method provides the operating system with generated display identification data (such as “EDID”) for each of the emulated physical displays in response to a query from the operating system. The method and apparatus also receive notification of an interrupt (where the interrupt corresponds to the single physical display), and reports to the operating system with at least two sets of interrupt reporting information, corresponding to the at least two emulated physical displays, as if two interrupts were received. The operating system is thereby “faked” into acting as if two physical displays are in operation.
    Type: Grant
    Filed: December 15, 2009
    Date of Patent: September 17, 2013
    Assignee: ATI Technologies ULC
    Inventors: Yinan Jiang, Shahriar Pezeshgi, Ming-Wei Chien
  • Publication number: 20130152108
    Abstract: A method and system for video processing is disclosed. A device driver interface (DDI) call for flipping or updating an overlay may be skipped or ignored, and may not be used by a user mode driver to pass overlay properties to a kernel mode driver (KMD). Instead, the overlay properties may be passed to the KMD at rendering time during a DDI call for rendering. The user mode driver may call a DDI for rendering an overlay frame while simultaneously passing the overlay property data to the KMD. The KMD may store the overlay property data in an overlay flip queue, program the overlay hardware per the overlay property data stored in the overlay flip queue, and flip the overlay in response to the vertical synchronization deferred procedure call.
    Type: Application
    Filed: December 13, 2011
    Publication date: June 13, 2013
    Applicants: ATI TECHNOLOGIES ULC, ADVANCED MICRO DEVICES, INC.
    Inventors: Yinan Jiang, Ting-Yu Lin, Jing Sha, Huan Xu, Fanfan Gu
  • Patent number: 8250412
    Abstract: 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: Grant
    Filed: September 26, 2003
    Date of Patent: August 21, 2012
    Assignee: ATI Technologies ULC
    Inventors: Jeffrey G. Cheng, Hing Pong Chan, Yinan Jiang
  • Publication number: 20110144970
    Abstract: A method and apparatus that partitions a single display's viewable area into at least two virtual viewable areas, and emulates the at least two virtual viewable areas as at least two emulated physical displays with an operating system such that the operating system behaves as if interfacing with at least two actual independent physical displays. The method provides the operating system with generated display identification data (such as “EDID”) for each of the emulated physical displays in response to a query from the operating system. The method and apparatus also receive notification of an interrupt (where the interrupt corresponds to the single physical display), and reports to the operating system with at least two sets of interrupt reporting information, corresponding to the at least two emulated physical displays, as if two interrupts were received. The operating system is thereby “faked” into acting as if two physical displays are in operation.
    Type: Application
    Filed: December 15, 2009
    Publication date: June 16, 2011
    Applicant: ATI TECHNOLOGIES ULC
    Inventors: Yinan Jiang, Shahriar Pezeshgi, Ming-Wei Chien
  • Publication number: 20050081115
    Abstract: 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: Application
    Filed: September 26, 2003
    Publication date: April 14, 2005
    Applicant: ATI Technologies, Inc.
    Inventors: Jeffrey Cheng, Hing Chan, Yinan Jiang