Patents by Inventor Maoni Zhang Stephens

Maoni Zhang Stephens 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: 11954023
    Abstract: Garbage collection or other computational work accesses memory which is located outside processor registers. Some embodiments specify at least some of the memory accesses and separate them from other computations, and utilize a memory access state machine to control the execution of both kinds of computation. Code that employs memory access results is placed in a run routine which is divided between respective states of the state machine. The specified memory accesses are invoked from a state code, and overlap other computation. A prefetch buffer may be dynamically sized based on the availability of space in the prefetch buffer. Code for shared work, such as address relocation code, may be placed in its own state structure. Candidate code for possible separation into a specified memory access routine may be automatically recognized.
    Type: Grant
    Filed: July 20, 2022
    Date of Patent: April 9, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Peter Franz Valentin Sollich
  • Patent number: 11650916
    Abstract: Systems and methods for garbage collection are disclosed. A garbage collection is triggered in a memory allocation based on a free list and selected amount of free space in an inner closed feedback loop. The free list is determined from a selected memory load and a current memory load as generated from the garbage collection in an outer feedback loop.
    Type: Grant
    Filed: June 14, 2018
    Date of Patent: May 16, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud
  • Patent number: 11422932
    Abstract: Managing secondary objects efficiently increases garbage collection concurrency and reduces object storage requirements. Aliveness marking of secondary objects is integrated with aliveness marking of referenced objects. Allocation of reference-sized secondary object identifier fields in objects which are not primary objects is avoided; a dedicated bit specifies primary objects, together with an object relationship table. A primary object is one with at least one secondary object which is deemed alive by garbage collection if the primary object is alive, without being a referenced object of the primary object. Any referenced objects of the alive primary object will also still be deemed alive. Code paths for marking referenced objects can be shared to allow more efficient secondary object marking. Primary-secondary object relationships may be represented in dependent handles, and may be specified in a hash table or other data structure.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: August 23, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
  • Patent number: 11392427
    Abstract: Garbage collectors and other software may utilize performant lock-free multithreaded software. Unitary lock-free updates to a set of variables involves an updating value Z, release barriers and acquire barriers that enforce orderings on code execution, and atomicity resulting from variable alignment. Conveyance is accomplished with a values placing step and a values retrieving step. Values placing replaces a non-updated value in a variable Var1 with Z, executes a release barrier, replaces the non-updated values of other variables with update values, executes another release barrier, and replaces Z with the Var1 update value. Values retrieving reads from Var1 into a variable DestVar1A, executes an acquire barrier, reads from the other variables into respective destination variables, executes another acquire barrier, reads from Var1 into a variable DestVar1B, and repeats if DestVar1A is Z or if DestVar1A and DestVar1B are unequal. This solution conveys the update values without locks, as a unit.
    Type: Grant
    Filed: January 6, 2020
    Date of Patent: July 19, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
  • Patent number: 11301375
    Abstract: Memory reclamation is tailored to avoid certain synchronization instructions, speeding concurrent garbage collection while preserving data integrity and availability. Garbage collection reclaims objects no longer in use, or other unused areas of memory. Pointers are partitioned into address portions holding address values and non-address portions having a special bit. Marking code writes only the non-address portions, setting the special bit as a mark reference, relocation candidate, etc. Mutator threads may concurrently mutate the entire pointer to update the address, but mutation does not cause incorrect reclamations or failure to do other operations such as relocation. Meanwhile, execution speed is increased by avoiding CAS (compare-and-swap instructions or compare-and-set) synchronization instructions. Non-CAS yet nonetheless atomic writes are used instead. Mutators run in user or kernel address spaces.
    Type: Grant
    Filed: September 12, 2020
    Date of Patent: April 12, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
  • Patent number: 11188460
    Abstract: An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.
    Type: Grant
    Filed: June 18, 2018
    Date of Patent: November 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud, Peter F. Sollich
  • Patent number: 10802965
    Abstract: Memory reclamation is tailored to avoid certain synchronization instructions, speeding concurrent garbage collection while preserving data integrity and availability. Garbage collection reclaims objects no longer in use, or other unused areas of memory. Pointers are partitioned into address portions holding address values and garbage collection portions having a special bit. Marking code writes only the garbage collection portions, setting the special bit as a mark reference, relocation candidate, etc. Mutator threads may concurrently mutate the entire pointer to update the address, but mutation does not cause incorrect reclamations or failure to do other operations such as relocation. Meanwhile, execution speed is increased by avoiding CAS (compare-and-swap instructions or compare-and-set) synchronization instructions in the garbage collector. Non-CAS yet nonetheless atomic writes are used instead. Mutators run in user or kernel address spaces.
    Type: Grant
    Filed: February 5, 2019
    Date of Patent: October 13, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
  • Patent number: 10628306
    Abstract: A method for use with a garbage collector to provide garbage collection is disclosed. The garbage collection is a concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. The concurrent garbage collection is triggered based on a dynamically tunable parameter from a previous garbage collection in closed loop feedback.
    Type: Grant
    Filed: February 1, 2017
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud
  • Patent number: 10572181
    Abstract: A method for use with a garbage collector to provide different garbage collections is disclosed. The garbage collections are concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. A heap size stage, from multiple heap size stages including a heap size growth stage and a heap size stable stage, is determined from a free space amount subsequent a garbage collection. A heap stable garbage collection is applied in response to the heap size stage being the heap size stable stage. A heap growth garbage collection is applied in response to the heap size stage being the heap size growth stage.
    Type: Grant
    Filed: February 1, 2017
    Date of Patent: February 25, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud
  • Patent number: 10558566
    Abstract: Garbage collection of objects within the heap of a computing system, and movement of adjacent sets of live objects as a whole in order to perform compaction. The compaction may be performed even if there are adjacent sets of live objects that include one or more pinned objects that should not be moved by the garbage collector. The garbage collector uses gaps to include relocation information with respect to sets of adjacent objects of the same pinned status. Some gaps may be formulated by writing over the live objects themselves, in which case that written over data is saved off prior to formulating the gap. When compaction is performed, the saved off data is used to fully integrate the adjacent objects of the same pinned status in the process of compaction.
    Type: Grant
    Filed: April 16, 2015
    Date of Patent: February 11, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
  • Publication number: 20190384705
    Abstract: Systems and methods for garbage collection are disclosed. A garbage collection is triggered in a memory allocation based on a free list and selected amount of free space in an inner closed feedback loop. The free list is determined from a selected memory load and a current memory load as generated from the garbage collection in an outer outer feedback loop.
    Type: Application
    Filed: June 14, 2018
    Publication date: December 19, 2019
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud
  • Publication number: 20190384703
    Abstract: An arena-based memory management system is disclosed. In response to a call to reclaim memory storing a plurality of objects allocated in an arena, a garbage collection of the arena is triggered based on heap-related parameter. A live object of the plurality of objects is preserved with the garbage collection.
    Type: Application
    Filed: June 18, 2018
    Publication date: December 19, 2019
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud, Peter F. Sollich
  • Publication number: 20180217927
    Abstract: A method for use with a garbage collector to provide garbage collection is disclosed. The garbage collection is a concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. The concurrent garbage collection is triggered based on a dynamically tunable parameter from a previous garbage collection in closed loop feedback.
    Type: Application
    Filed: February 1, 2017
    Publication date: August 2, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud
  • Publication number: 20180217779
    Abstract: A method for use with a garbage collector to provide different garbage collections is disclosed. The garbage collections are concurrent garbage collection provided in a dedicated thread concurrently running in a computing device with a mutator thread. A heap size stage, from multiple heap size stages including a heap size growth stage and a heap size stable stage, is determined from a free space amount subsequent a garbage collection. A heap stable garbage collection is applied in response to the heap size stage being the heap size stable stage. A heap growth garbage collection is applied in response to the heap size stage being the heap size growth stage.
    Type: Application
    Filed: February 1, 2017
    Publication date: August 2, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick H. Dussud
  • Patent number: 9804962
    Abstract: Controlling garbage collection operations. The method includes setting up garbage collection to collect objects that are no longer in use in a managed code environment. The method further includes receiving managed code input specifying a desired quantum within which it is desired that garbage collection not be performed. The method further includes performing a computing operation to determine the desired quantum can likely be met. The method further includes running memory operations within the quantum without running the initialized garbage collection.
    Type: Grant
    Filed: February 13, 2015
    Date of Patent: October 31, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
  • Publication number: 20160306739
    Abstract: Garbage collection of objects within the heap of a computing system, and movement of adjacent sets of live objects as a whole in order to perform compaction. The compaction may be performed even if there are adjacent sets of live objects that include one or more pinned objects that should not be moved by the garbage collector. The garbage collector uses gaps to include relocation information with respect to sets of adjacent objects of the same pinned status. Some gaps may be formulated by writing over the live objects themselves, in which case that written over data is saved off prior to formulating the gap. When compaction is performed, the saved off data is used to fully integrate the adjacent objects of the same pinned status in the process of compaction.
    Type: Application
    Filed: April 16, 2015
    Publication date: October 20, 2016
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud
  • Publication number: 20160239413
    Abstract: Controlling garbage collection operations. The method includes setting up garbage collection to collect objects that are no longer in use in a managed code environment. The method further includes receiving managed code input specifying a desired quantum within which it is desired that garbage collection not be performed. The method further includes performing a computing operation to determine the desired quantum can likely be met. The method further includes running memory operations within the quantum without running the initialized garbage collection.
    Type: Application
    Filed: February 13, 2015
    Publication date: August 18, 2016
    Inventors: Maoni Zhang Stephens, Patrick Henri Dussud