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: 20200135151Abstract: 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: ApplicationFiled: October 31, 2018Publication date: April 30, 2020Inventors: Yinan JIANG, Zhigang LUO
-
Publication number: 20200034183Abstract: 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: ApplicationFiled: October 2, 2019Publication date: January 30, 2020Applicant: ATI Technologies ULCInventors: Yinan JIANG, Ahmed M. ABDELKHALEK, Guopei QIAO, Andy SUNG, Haibo LIU, Dezhi MING, Zhidong XU
-
Patent number: 10509666Abstract: 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: GrantFiled: June 29, 2017Date of Patent: December 17, 2019Assignee: ATI TECHNOLOGIES ULCInventors: Anthony Asaro, Yinan Jiang, Kelly Donald Clark Zytaruk
-
Patent number: 10459751Abstract: 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: GrantFiled: June 30, 2017Date of Patent: October 29, 2019Assignee: ATI TECHNOLOGIES ULC.Inventors: Yinan Jiang, Ahmed M. Abdelkhalek, Guopei Qiao, Andy Sung, Haibo Liu, Dezhi Ming, Zhidong Xu
-
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: 20190018699Abstract: 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: ApplicationFiled: July 28, 2017Publication date: January 17, 2019Applicants: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Anthony Asaro, Yinan Jiang, Andy Sung, Ahmed M. Abdelkhalek, Xiaowei Wang, Sidney D. Fortes
-
Publication number: 20190004842Abstract: 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: ApplicationFiled: June 30, 2017Publication date: January 3, 2019Applicant: ATI Technologies ULCInventors: Yinan Jiang, Ahmed M. Abdelkhalek, Guopei Qiao, Andy Sung, Haibo Liu, Dezhi Ming, Zhidong Xu
-
Publication number: 20190004840Abstract: 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: ApplicationFiled: June 29, 2017Publication date: January 3, 2019Applicant: ATI Technologies ULCInventors: Anthony Asaro, Yinan Jiang, Kelly Donald Clark Zytaruk
-
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
-
Publication number: 20180088979Abstract: 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: ApplicationFiled: November 10, 2016Publication date: March 29, 2018Inventors: YINAN JIANG, LingFei Liu
-
Patent number: 9201682Abstract: 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: GrantFiled: June 21, 2013Date of Patent: December 1, 2015Assignee: ATI Technologies ULCInventors: Gongxian Jeffrey Cheng, Anthony Asaro, Yinan Jiang
-
Publication number: 20140380028Abstract: 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: ApplicationFiled: June 21, 2013Publication date: December 25, 2014Inventors: Gongxian Jeffrey CHENG, Anthony Asaro, Yinan Jiang
-
Patent number: 8538741Abstract: 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: GrantFiled: December 15, 2009Date of Patent: September 17, 2013Assignee: ATI Technologies ULCInventors: Yinan Jiang, Shahriar Pezeshgi, Ming-Wei Chien
-
Publication number: 20130152108Abstract: 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: ApplicationFiled: December 13, 2011Publication date: June 13, 2013Applicants: ATI TECHNOLOGIES ULC, ADVANCED MICRO DEVICES, INC.Inventors: Yinan Jiang, Ting-Yu Lin, Jing Sha, Huan Xu, Fanfan Gu
-
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
-
Publication number: 20110144970Abstract: 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: ApplicationFiled: December 15, 2009Publication date: June 16, 2011Applicant: ATI TECHNOLOGIES ULCInventors: Yinan Jiang, Shahriar Pezeshgi, Ming-Wei Chien
-
Publication number: 20050081115Abstract: 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: ApplicationFiled: September 26, 2003Publication date: April 14, 2005Applicant: ATI Technologies, Inc.Inventors: Jeffrey Cheng, Hing Chan, Yinan Jiang