Patents by Inventor Tom Long Nguyen

Tom Long Nguyen 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: 11983111
    Abstract: A computing system that enables data stored in a persistent memory region to be preserved when a processor fails can include volatile memory comprising the persistent memory region, non-volatile memory, and a system on a chip (SoC). The SoC can include a main processor that is communicatively coupled to both the volatile memory and the non-volatile memory. The SoC can also include an auxiliary processor that is communicatively coupled to both the volatile memory and the non-volatile memory. The SoC can also include instructions that are executable by the auxiliary processor to cause the data in the persistent memory region of the volatile memory to be transferred to the non-volatile memory in response to a failure of the main processor.
    Type: Grant
    Filed: August 19, 2021
    Date of Patent: May 14, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ravi Mysore Shantamurthy, Mallik Bulusu, Tom Long Nguyen, Muhammad Ashfaq Ahmed, Madhav Himanshubhai Pandya
  • Patent number: 11593209
    Abstract: A method for targeted repair of a hardware component in a computing device that is part of a cloud computing system includes monitoring a plurality of hardware components in the computing device. At some point, a defective sub-component within the hardware component of the computing device is identified. In addition to the defective sub-component, the hardware component also includes at least one sub-component that is functioning properly and a spare component that can be used in place of the defective sub-component. The method also includes initiating a targeted repair action while the computing device is connected to the cloud computing system. The targeted repair action prevents the defective sub-component from being used by the computing device without preventing sub-components that are functioning properly from being used by the computing device. The targeted repair action causes the spare component to be used in place of the defective sub-component.
    Type: Grant
    Filed: April 1, 2020
    Date of Patent: February 28, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Mallik Bulusu, Tom Long Nguyen, Muhammad Ashfaq Ahmed
  • Publication number: 20230055136
    Abstract: A computing system that enables data stored in a persistent memory region to be preserved when a processor fails can include volatile memory comprising the persistent memory region, non-volatile memory, and a system on a chip (SoC). The SoC can include a main processor that is communicatively coupled to both the volatile memory and the non-volatile memory. The SoC can also include an auxiliary processor that is communicatively coupled to both the volatile memory and the non-volatile memory. The SoC can also include instructions that are executable by the auxiliary processor to cause the data in the persistent memory region of the volatile memory to be transferred to the non-volatile memory in response to a failure of the main processor.
    Type: Application
    Filed: August 19, 2021
    Publication date: February 23, 2023
    Inventors: Ravi MYSORE SHANTAMURTHY, Mallik BULUSU, Tom Long NGUYEN, Muhammad Ashfaq AHMED, Madhav Himanshubhai PANDYA
  • Patent number: 11544148
    Abstract: To preserve error context during a reboot of a computing device, firmware within the computing device can be configured to implement a method that includes determining where the error context is stored in volatile memory. The method can also include identifying a plurality of recorder regions in non-volatile memory that have been assigned to store the error context. The plurality of recorder regions can be disaggregated across a plurality of distinct non-volatile memory regions. The method can also include flushing the error context from a plurality of different volatile memory locations to the plurality of recorder regions in response to detecting a trigger. The flushing can occur prior to the reboot of the computing device. The method can also include restoring at least some of the error context to the volatile memory after the computing device has been rebooted.
    Type: Grant
    Filed: April 2, 2021
    Date of Patent: January 3, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mallik Bulusu, Muhammad Ashfaq Ahmed, Tom Long Nguyen, Neeraj Ladkani, Ravi Mysore Shantamurthy
  • Publication number: 20220318093
    Abstract: To preserve error context during a reboot of a computing device, firmware within the computing device can be configured to implement a method that includes determining where the error context is stored in volatile memory. The method can also include identifying a plurality of recorder regions in non-volatile memory that have been assigned to store the error context. The plurality of recorder regions can be disaggregated across a plurality of distinct non-volatile memory regions. The method can also include flushing the error context from a plurality of different volatile memory locations to the plurality of recorder regions in response to detecting a trigger. The flushing can occur prior to the reboot of the computing device. The method can also include restoring at least some of the error context to the volatile memory after the computing device has been rebooted.
    Type: Application
    Filed: April 2, 2021
    Publication date: October 6, 2022
    Inventors: Mallik BULUSU, Muhammad Ashfaq AHMED, Tom Long NGUYEN, Neeraj LADKANI, Ravi MYSORE SHANTAMURTHY
  • Patent number: 11243782
    Abstract: Technologies are described which permit kernel updates or firmware fixes, and include re-initialization of kernel data structures, without losing user context information that has been created by services, virtual machines, or user applications. Tailored code in a server or other computing system sets a kernel soft reset (KSR) indicator and saves the user context to non-volatile storage. When a KSR is underway, boot code skips the power on self-test and similar initializations (thereby reducing downtime), loads a kernel image, initializes kernel data structures, restores the user context, and passes control to the initialized kernel to continue computing system operation with the same user context. Device drivers may also be re-initialized. The loaded kernel may use newly fixed firmware, or may have a security patch installed, for instance. The non-volatile storage may operate at RAM speed, e.g., it may include NVDIMM memory. The kernel may be validated before receiving control.
    Type: Grant
    Filed: December 14, 2016
    Date of Patent: February 8, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mallik Bulusu, Bryan Kelly, Tom Long Nguyen
  • Publication number: 20210311833
    Abstract: A method for targeted repair of a hardware component in a computing device that is part of a cloud computing system includes monitoring a plurality of hardware components in the computing device. At some point, a defective sub-component within the hardware component of the computing device is identified. In addition to the defective sub-component, the hardware component also includes at least one sub-component that is functioning properly and a spare component that can be used in place of the defective sub-component. The method also includes initiating a targeted repair action while the computing device is connected to the cloud computing system. The targeted repair action prevents the defective sub-component from being used by the computing device without preventing sub-components that are functioning properly from being used by the computing device. The targeted repair action causes the spare component to be used in place of the defective sub-component.
    Type: Application
    Filed: April 1, 2020
    Publication date: October 7, 2021
    Inventors: Mallik BULUSU, Tom Long NGUYEN, Muhammad Ashfaq AHMED
  • Patent number: 10996893
    Abstract: A computing device including a memory module. The computing device may further include a processor configured to, by executing instructions of an operating system, divide a non-volatile region of the memory module into a first non-volatile storage partition allocated to the operating system and a second non-volatile storage partition allocated to system firmware. The processor may write a globally unique identifier (GUID) to the non-volatile region. The GUID may indicate a location of a boundary between the first non-volatile storage partition and the second non-volatile storage partition. The processor may access the first non-volatile storage partition. By executing instructions of the system firmware, the processor may determine the location of the boundary. The processor may access the second non-volatile storage partition.
    Type: Grant
    Filed: June 10, 2019
    Date of Patent: May 4, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mallik Bulusu, Tom Long Nguyen, Ravi Mysore Shantamurthy, Devendu Sharma
  • Patent number: 10896087
    Abstract: An error-handling system provides detection of an error on an I/O hardware endpoint, triggering of an operating system interrupt in response to detected error, reception of the interrupt at an operating system component, determination, in response to the received interrupt, whether to handle the error using an operating system handler or a firmware error handler associated with the I/O hardware endpoint, and, if it is determined to handle the error using a firmware runtime error handler associated with the I/O hardware endpoint, triggering of a firmware interrupt associated with the firmware runtime error handler.
    Type: Grant
    Filed: November 8, 2018
    Date of Patent: January 19, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ravi Mysore Shantamurthy, Tom Long Nguyen, Mallik Bulusu
  • Publication number: 20200387325
    Abstract: A computing device including a memory module. The computing device may further include a processor configured to, by executing instructions of an operating system, divide a non-volatile region of the memory module into a first non-volatile storage partition allocated to the operating system and a second non-volatile storage partition allocated to system firmware. The processor may write a globally unique identifier (GUID) to the non-volatile region. The GUID may indicate a location of a boundary between the first non-volatile storage partition and the second non-volatile storage partition. The processor may access the first non-volatile storage partition. By executing instructions of the system firmware, the processor may determine the location of the boundary. The processor may access the second non-volatile storage partition.
    Type: Application
    Filed: June 10, 2019
    Publication date: December 10, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Mallik BULUSU, Tom Long NGUYEN, Ravi MYSORE SHANTAMURTHY, Devendu SHARMA
  • Publication number: 20200379645
    Abstract: One or more energy storage device health parameters are monitored in a computing device. Backup of a volatile portion of a memory device such as a non-volatile dual in-line memory module (NVDIMM) is initiated based on the one or more monitored energy storage device parameters satisfying a predetermined operational condition. Example energy storage device health parameters include a State of Health (SOH) parameter and a State of Charge (SOC) parameter.
    Type: Application
    Filed: June 28, 2019
    Publication date: December 3, 2020
    Inventors: Rameez KAZI, Tracy Alan COREY, Neeraj LADKANI, Tom Long NGUYEN, Jeffrey Matthew SHUEY
  • Publication number: 20200151048
    Abstract: An error-handling system provides detection of an error on an I/O hardware endpoint, triggering of an operating system interrupt in response to detected error, reception of the interrupt at an operating system component, determination, in response to the received interrupt, whether to handle the error using an operating system handler or a firmware error handler associated with the I/O hardware endpoint, and, if it is determined to handle the error using a firmware runtime error handler associated with the I/O hardware endpoint, triggering of a firmware interrupt associated with the firmware runtime error handler.
    Type: Application
    Filed: November 8, 2018
    Publication date: May 14, 2020
    Inventors: Ravi Mysore SHANTAMURTHY, Tom Long NGUYEN, Mallik BULUSU
  • Publication number: 20180165101
    Abstract: Technologies are described which permit kernel updates or firmware fixes, and include re-initialization of kernel data structures, without losing user context information that has been created by services, virtual machines, or user applications. Tailored code in a server or other computing system sets a kernel soft reset (KSR) indicator and saves the user context to non-volatile storage. When a KSR is underway, boot code skips the power on self-test and similar initializations (thereby reducing downtime), loads a kernel image, initializes kernel data structures, restores the user context, and passes control to the initialized kernel to continue computing system operation with the same user context. Device drivers may also be re-initialized. The loaded kernel may use newly fixed firmware, or may have a security patch installed, for instance. The non-volatile storage may operate at RAM speed, e.g., it may include NVDIMM memory. The kernel may be validated before receiving control.
    Type: Application
    Filed: December 14, 2016
    Publication date: June 14, 2018
    Inventors: Mallik BULUSU, Bryan KELLY, Tom Long NGUYEN
  • Patent number: 7337309
    Abstract: A method for securely updating a basic input/output system (BIOS) using a multi-layer scheme. A new BIOS image is received and stored at a computer system. In one embodiment, the new BIOS image is sent to the computer system in a BIOS capsule that also contains the data structure and instructions of how to build a new BIOS image for the computer system. The current BIOS image of the computer system is maintained in a first portion of the BIOS. An access check verifies the integrity of a data structure representation of the current BIOS image. An administration check verifies that proper authority has requested the BIOS update. A checksum is performed on the new BIOS image while writing the new BIOS image to a second portion of the BIOS. Once the new BIOS image passes the multi-layer check, indicia is provided such that the computer system loads BIOS instructions from the new BIOS image on subsequent boots of the computer system.
    Type: Grant
    Filed: March 24, 2003
    Date of Patent: February 26, 2008
    Assignee: Intel Corporation
    Inventors: Tom Long Nguyen, Ling Yee Sy
  • Publication number: 20040193865
    Abstract: A method for securely updating a basic input/output system (BIOS) using a multi-layer scheme. A new BIOS image is received and stored at a computer system. In one embodiment, the new BIOS image is sent to the computer system in a BIOS capsule that also contains the data structure and instructions of how to build a new BIOS image for the computer system.
    Type: Application
    Filed: March 24, 2003
    Publication date: September 30, 2004
    Inventors: Tom Long Nguyen, Ling Yee Sy
  • Patent number: 6772307
    Abstract: A BIOS memory including multiple memory blocks, with two or more memory blocks of the multiple memory blocks configured to store boot code.
    Type: Grant
    Filed: June 11, 2001
    Date of Patent: August 3, 2004
    Assignee: Intel Corporation
    Inventors: Tom Long Nguyen, Mallik Bulusu