Mark-sweep Patents (Class 707/816)
-
Patent number: 11892979Abstract: Metadata of each file of a group of files of a storage and chunk file metadata are analyzed to identify one or more file segment data chunks that are not referenced by the group of files of the storage. Fragmented chunk files to be combined together are identified based at least in part on the one or more identified file segment data chunks. The chunk file metadata is updated with an update that concurrently reflects the removal of at least a portion of the one or more file segment data chunks that are not referenced by the group of files and the combination of the identified fragmented chunk files.Type: GrantFiled: December 13, 2021Date of Patent: February 6, 2024Assignee: Cohesity, Inc.Inventors: Anubhav Gupta, Anirvan Duttagupta
-
Patent number: 11523159Abstract: Method for generating media content items based on location information starts with the server system receiving from a first computing device an electronic communication including location information from a location sensor coupled to the first client computing device. Server system then determines a current activity of a first user of the first client computing device based on the location information; generating a media content item including a map display based on the location information and at least one of: (i) an avatar of the first user engaged in the current activity, (ii) a status message associated with the current activity of the first user, or (iii) a status message associated with a map location on the map display. Server system then causes the media content item to be displayed on a display screen of at least one of a plurality of client computing devices. Other embodiments are described herein.Type: GrantFiled: March 17, 2021Date of Patent: December 6, 2022Assignee: Snap Inc.Inventors: Jonathan Brody, Joseph Engelman, Robert Lin, Gaurav Misra, Kimberly A. Phifer, Sriram Raman, Jay Sani
-
Patent number: 11507272Abstract: A memory system which is capable of dynamically adjusting the frequency of performing a garbage collection operation based on a performance ratio. The memory system includes: a memory device including a plurality of storage spaces; and a controller controlling the memory device, wherein the controller determines a performance ratio, which is ratio of performance of a garbage collection operation to a total performance of the memory system, for securing free storage space in the memory device based on a performance requirement of the memory system and the free storage space, schedules the garbage collection operation based on the performance ratio, and performs the garbage collection operation according to the schedule, wherein the total performance indicates a sum of a performance of all operations performed in the memory system.Type: GrantFiled: July 6, 2020Date of Patent: November 22, 2022Assignee: SK hynix Inc.Inventor: Minjun Jang
-
Patent number: 11226934Abstract: Metadata of each file of a group of files of a storage and chunk file metadata are analyzed to identify one or more file segment data chunks that are not referenced by the group of files of the storage. Fragmented chunk files to be combined together are identified based at least in part on the one or more identified file segment data chunks. The chunk file metadata is updated with an update that concurrently reflects the removal of at least a portion of the one or more file segment data chunks that are not referenced by the group of files and the combination of the identified fragmented chunk files.Type: GrantFiled: January 3, 2020Date of Patent: January 18, 2022Assignee: Cohesity, Inc.Inventors: Anubhav Gupta, Anirvan Duttagupta
-
Patent number: 11153094Abstract: Techniques for providing secure deduplication in a data storage system using smaller hash values. The techniques employ a keyed hash function to generate keyed hash values for data blocks received at the data storage system. The keyed hash function can generate keyed hash values having an acceptable probability of accidental collision, in which each keyed hash value requires a reduced number of bits to represent them. By representing each keyed hash value with a number of bits less than the number required for a cryptographic hash value, the impact that an index table in main memory has on the amount of free memory space available can be reduced, while still providing an acceptable probability of accidental collision. The keyed hash function can be implemented as a keyed universal hash function, which can reduce the number of processor cycles required to generate a keyed hash value for each received data block.Type: GrantFiled: April 27, 2018Date of Patent: October 19, 2021Assignee: EMC IP Holding Company LLCInventor: Charles W. Kaufman
-
Patent number: 11048616Abstract: In accordance with aspects of the disclosure, systems and methods are provided for monitoring one or more classes for detecting suspected memory leaks in a production environment. The systems and methods may include identifying which of the one or more classes hold at least one static or non-static field of collection or array type, accessing the one or more classes that hold the at least one static or non-static fields of collection or array type, and tracking a size for each field of each class by periodically sampling the size of each field over an interval, processing the size data for each field of each class, and detecting suspected memory leaks of each class by identifying which of the one or more fields of each class exhibits suspect behavior in the size over the interval.Type: GrantFiled: March 6, 2015Date of Patent: June 29, 2021Assignee: BMC Software, Inc.Inventors: Gilad Arbel Komissar, Eyal Koren, Asaf Dafner
-
Patent number: 10979752Abstract: Method for generating media content items based on location information starts with the server system receiving from a first computing device an electronic communication including location information from a location sensor coupled to the first client computing device. Server system then determines a current activity of a first user of the first client computing device based on the location information; generating a media content item including a map display based on the location information and at least one of: (i) an avatar of the first user engaged in the current activity, (ii) a status message associated with the current activity of the first user, or (iii) a status message associated with a map location on the map display. Server system then causes the media content item to be displayed on a display screen of at least one of a plurality of client computing devices. Other embodiments are described herein.Type: GrantFiled: February 28, 2019Date of Patent: April 13, 2021Assignee: Snap Inc.Inventors: Jonathan Brody, Joseph Engelman, Robert Lin, Gaurav Misra, Kimberly A. Phifer, Sriram Raman, Jay Sani
-
Patent number: 10877849Abstract: System and method for managing different types of snapshots of storage objects stored in a storage system uses a storage structure that includes both a storage object and any snapshots of the storage object. When a request to delete a snapshot of the storage object is received, a determination is made whether the snapshot is a first snapshot type. After determining that the snapshot is not the first snapshot type, the snapshot is deleted from the storage structure. After determining that the snapshot is the first snapshot type, the snapshot is marked as delete designated, and a deletion of the snapshot from the storage structure is prevented when there is a second snapshot type snapshot remaining in the storage structure that was created after the snapshot had been created so that the snapshot is available when the second snapshot type snapshot is subsequently used.Type: GrantFiled: August 25, 2018Date of Patent: December 29, 2020Assignee: VMware, Inc.Inventors: Asit Desai, Derek Uluski, Alexander T. Garthwaite, Sunil Satnur, Ilya Languev, Anoop Jaishankar
-
Patent number: 10872059Abstract: System and method for managing snapshots of storage objects stored in a storage system uses a storage structure that includes both a storage object and any snapshots of the storage object. When a request to delete the storage object is received, the storage structure that includes the storage object is checked to determine if there is at least one snapshot in the storage structure. After determining that there is at least one snapshot in the storage structure, the storage object is marked as being delete designated without deleting the storage structure. After determining that there is no snapshot in the storage structure, the storage structure is deleted.Type: GrantFiled: August 25, 2018Date of Patent: December 22, 2020Assignee: VMware, Inc.Inventors: Asit Desai, Derek Uluski, Alexander T. Garthwaite, Sunil Satnur, Ilya Languev
-
Patent number: 10346086Abstract: Techniques for determining an age category for an object and identifying objects for memory leak analysis based on age categories are described. An age category classifier generates a set of age categories, each corresponding to a respective time interval. The age category classifier monitors garbage collection processes on the heap. The age category classifier determines a current age category based on a duration of time that has elapsed between (a) an initiation of a current garbage collection cycle and (b) a reference event. The age category classifier identifies objects transferred from one object group to another object group during the current garbage collection cycle. The age category classifier stores the current age category as the transfer age category in the headers of the transferred objects. The transfer age categories of the objects may be used for reducing the number of objects that are analyzed in a memory leak analysis.Type: GrantFiled: June 8, 2017Date of Patent: July 9, 2019Assignee: Oracle International CorporationInventors: Marcus Mattias Hirt, Erik Kristofer Gahlin
-
Patent number: 10095674Abstract: A non-transitory computer-readable storage medium may comprise instructions stored thereon. The instructions, when executed by at least one processor, may be configured to cause the first computing system to at least generate a collection of inverse transformations of an index of the document, the collection of inverse transformations being based on at least one asymmetric local edit to the document by the first computing system, determine a location within the document to perform a remote edit by the second computing system based on the collection of inverse transformations of the index of the document, perform the remote edit to the document at the determined location based on the remote edit by the second computing system, and perform at least one local edit to the document based on the at least one asymmetric local edit to the document by the first computing system.Type: GrantFiled: July 8, 2016Date of Patent: October 9, 2018Assignee: GOOGLE LLCInventor: Raphael Levien
-
Patent number: 9684646Abstract: The present disclosure relates to implementing changes to a data structure, such as a formula, in a collaborative context. In certain embodiments, collaborative changes made to a formula containing references to other portions of a table are retained or account for when an undo operation is performed. In one aspect, unique identifiers are used to identify and track table features, such as columns, rows, or cells, which may be moved, deleted, or created during a collaborative session. In some instances, collaborative changes may be logged for later application or applied to commands in an undo stack to prevent loss of changes.Type: GrantFiled: August 5, 2014Date of Patent: June 20, 2017Assignee: Apple Inc.Inventors: Michael Jeremy Coblenz, Shawn Patrick Flisakowski
-
Patent number: 9679007Abstract: Techniques for managing references to containers are disclosed. In one particular embodiment, the techniques may be realized as a method for managing references to containers comprising comparing at least one identifier to a first bloom filter, generating a first list of identifiers based on the comparison of the at least one identifier and the first bloom filter, comparing the first list of identifiers to a second bloom filter, generating a second list of identifiers based on the comparison of the first list and the second bloom filter, comparing the second list of identifiers to a main container list, and determining whether an image refers to a container based on the comparison of the second list and the main container list.Type: GrantFiled: March 15, 2013Date of Patent: June 13, 2017Assignee: Veritas Technologies LLCInventors: Daniel Joshua Feldman, Matthew Paul Navratil
-
Patent number: 9424185Abstract: A garbage collector of a storage system traverses a namespace of a file system of the storage system to identify segments that are alive in a breadth-first manner. The namespace includes information identifying files that are represented by segments arranged in a plurality of levels in a hierarchy, where an upper level segment includes one or more references to one or more lower level segments, and at least one segment is referenced by multiple files. All live segments of an upper level are identified before any of live segments of a lower level are identified. Upon all live segments of all levels have been identified, the live segments are copied from their original storage locations to a new storage location, and a storage space associated with the original storage locations is reclaimed.Type: GrantFiled: June 4, 2013Date of Patent: August 23, 2016Assignee: EMC CorporationInventors: Fabiano C. Botelho, Dheer Moghe, Guilherme Vale Ferreira Menezes, Nitin Garg, Srikant Varadan
-
Patent number: 9389965Abstract: A request is received to read a portion of a file from the storage system. In response to the request, future requests to the file are predicted based in part on the received request and metadata of the file. Access of a subsequent portion of the file is optimized based on the predicted future requests and the data contained in the portion of the file is then returned.Type: GrantFiled: April 30, 2012Date of Patent: July 12, 2016Assignee: EMC CorporationInventors: Frederick Douglis, Windsor W. Hsu, Hangwei Qian
-
Patent number: 9043371Abstract: A server system having memory and one or more processors running a trusted internal process receives, from an untrusted external process of one or more external processes, a request to interact with a data item. In response to the request, the server system interacts with the first data item and stores a marker indicative of the interaction with the data item. After storing the marker, the server system identifies a plurality of markers corresponding to a plurality of data items and retrieves information corresponding to the plurality of markers. The retrieved information enables a determination, for each data item in the plurality of data items, as to whether an operation corresponding to the data item is to be executed. When a determination has been made that an operation corresponding to the data item is to be executed, the server system deletes the markers in conjunction with execution of the operation.Type: GrantFiled: March 27, 2012Date of Patent: May 26, 2015Assignee: GOOGLE INC.Inventors: Alfred R. K. Fuller, Mykhailo Aizatskyi
-
Patent number: 9037617Abstract: Object are created such that each of the objects stores a bit that designates eventual removal of one of the objects. Further, the objects are added to a data structure that includes a set that comprises a union of a plurality of subsets such that each subset in the plurality of subsets is stored separately according to a corresponding thread and such that an added object that is added to the set by a given thread is stored in the corresponding subset. In addition, one of the objects is logically removed, without physical removal, from the set by activating the bit. Each subset is periodically swept. All objects marked with the activated bit are physically removed.Type: GrantFiled: November 12, 2010Date of Patent: May 19, 2015Assignee: International Business Machines CorporationInventors: Moshe M. E. Matsa, Eric D. Perkins
-
Publication number: 20150074155Abstract: Techniques of hierarchical garbage collection in an object-relational database system are described. When the object-relational database system receives a request to delete an object, the object-relational database system marks the object for deletion. A garbage collection procedure executing in the background can perform iterations of sweep and mark to delete the object and children objects of the object. In each iteration, a layer or “generation” of objects is deleted. The garbage collection procedure can continue the iterations until the object and all descendants of the objects are deleted.Type: ApplicationFiled: September 11, 2013Publication date: March 12, 2015Applicant: Owtware Holdings Limited, BVIInventor: Douglas Allen Walter
-
Patent number: 8943276Abstract: A plurality of tracks is examined for meeting criteria for a discard scan. In lieu of waiting for a completion of a track access operation, at least one of the plurality of tracks is marked for demotion. An additional discard scan may be subsequently performed for tracks not previously demoted. The discard and additional discard scans may proceed in two phases.Type: GrantFiled: March 14, 2013Date of Patent: January 27, 2015Assignee: International Business Machines CorporationInventors: Michael T. Benhase, Lokesh M. Gupta, Carol S. Mellgren, Kenneth W. Todd
-
Patent number: 8943109Abstract: A computer-implemented process for write barrier elision during program execution receives a request to overwrite a reference, determines whether garbage collection is active and responsive to a determination that garbage collection is active, determines whether a reference object has been scanned. Responsive to a determination that the reference object has not been scanned set a mark bit for the reference object in a modified mark map, the reference object is scanned and a scan bit is set for the reference object in the modified mark map.Type: GrantFiled: February 22, 2011Date of Patent: January 27, 2015Assignee: International Business Machines CorporationInventors: Charles Robert Gracie, Aleksandar Micic, Ryan Andrew Sciampacone
-
Patent number: 8935302Abstract: An apparatus, system, and method are disclosed for data block usage information synchronization for a non-volatile storage volume. The method includes referencing first data block usage information for data blocks of a non-volatile storage volume managed by a storage manager. The first data block usage information is maintained by the storage manager. The method also includes synchronizing second data block usage information managed by a storage controller with the first data block usage information maintained by the storage manager. The storage manager maintains the first data block usage information separate from second data block usage information managed by the storage controller.Type: GrantFiled: February 23, 2010Date of Patent: January 13, 2015Assignee: Intelligent Intellectual Property Holdings 2 LLCInventors: David Flynn, David Atkisson, Drex Dixon, Jonathan Flynn, Brandon Hansen
-
Patent number: 8918616Abstract: The subject disclosure relates to analyzing memory allocations for one or more computer-implemented processes. In particular, in conjunction with employing tags for tracking memory allocation commands, currently allocated memory can be examined for various characteristics of inefficient memory use. For example, as memory is initially allocated, a predetermined bit pattern can be written to the newly allocated memory. Thus, detection of the predetermined bit pattern can be indicative of wasted memory use. Moreover, additional features can be provided to both analyze data and present views associated with that analysis relating to identification of memory fragmentation, over-allocation, sparse memory use, duplication of allocations, multiple module loads, and so forth.Type: GrantFiled: August 24, 2011Date of Patent: December 23, 2014Assignee: Microsoft CorporationInventor: Calvin Hsia
-
Patent number: 8892610Abstract: A method to schedule garbage collection operations may be executed in a client/server system using multiple servers. The method includes comparing usage of memory in respective ones of the plurality of servers to one or more memory usage thresholds and dynamically identifying one or more servers in which to perform garbage collection of memory objects during a particular time period. By distributing the durations over which garbage collection is performed on respective servers, the client server system, among other things, reduces the pauses in servicing client requests.Type: GrantFiled: July 29, 2011Date of Patent: November 18, 2014Assignee: Google Inc.Inventor: Clement Ho Yan Pang
-
Patent number: 8868624Abstract: Embodiments of the present invention relate to systems, methods and computer storage media for facilitating the structured storage of binary large objects (Blobs) to be accessed by an application program being executed by a computing device. Generally, the manipulation of Blobs in a structured storage system includes receiving a request for a Blob, which may be located by way of a Blob pointer. The Blob pointer allows for the data, such as properties, of the Blob to be identified and located. Expired properties are garbage collected as a manipulation of the Blob data within a structured storage system. In an embodiment, the Blob is identified by a key that is utilized within a primary structured index to located the requested Blob. In another embodiment, the requested Blob is located utilizing a secondary hash index. In an additional embodiment, the Blob is locate utilizing a file table.Type: GrantFiled: July 22, 2013Date of Patent: October 21, 2014Assignee: Microsoft CorporationInventors: Bradley Gene Calder, Ju Wang, Xinran Wu, Niranjan Nilakantan, Deepali Bhardwaj, Shashwat Srivastav, Alexander Felsobuki Nagy
-
Patent number: 8856194Abstract: A method and system for garbage collection in a virtualization environment. The virtualization environment includes a virtual machine hypervisor, at least one guest operating system, and at least one application program that runs on each guest operating system. The application program performs memory management using a garbage collection mechanism. The method includes, in response to an operating environment of the application program initiating garbage collection, the garbage collector requesting the guest operating system to assign a memory space and in response, the guest operating system assigns the memory space to the garbage collector. Then garbage collector marks live objects in an original memory space of the application program, and replicates the marked live objects to the assigned memory space. Finally, the garbage collector releases the original memory space of the application program to the guest operating system.Type: GrantFiled: April 18, 2011Date of Patent: October 7, 2014Assignee: International Business Machines CorporationInventors: Ying Chen, Li Li, Liang Liu, Rui Xiong Tian, Hao Wong, Qing Bo Wang
-
Patent number: 8805896Abstract: A system and method for use with garbage collected systems and languages, for enabling an allocated heap memory to be updated (e.g., increased or decreased) at runtime, subject to sufficient availability of physical memory. In accordance with an embodiment, a Java Virtual Machine (JVM) is associated with a management console, which allows a systems administrator to monitor current heap utilization at runtime. The heap is visualized as a contiguous chunk of memory with one or more extension points, e.g., by use of a trailing pointer to a null list. If later, at runtime, the heap size needs to be incremented then the trailing pointer can be set to a new chunk of memory with a size of (new value?old value), so that the cumulative new size is made equal to a new value specified on the console.Type: GrantFiled: July 19, 2013Date of Patent: August 12, 2014Assignee: Oracle International CorporationInventor: Prateek Khanna
-
Patent number: 8775486Abstract: A file system is disclosed that includes an application wide name space instantiated in a global index (Gindex) that is used for accessing objects related to an application. Using the Gindex, a method for cache coherency includes establishing one or more appliances, each defining a storage cluster; establishing one or more tenants spanning across appliances, wherein an application stores objects in file systems associated with the appliances and tenants; establishing a Gindex including metadata relating to objects stored in association with the application; replicating the Gindex to plurality of data centers supporting the tenants; storing an original object at a first data center; storing a cached copy of the object at a second data center; aligning the cached copy using metadata for the object from a local copy of the Gindex.Type: GrantFiled: May 5, 2011Date of Patent: July 8, 2014Assignee: Symantec CorporationInventor: John Albert Carmichael
-
Patent number: 8694562Abstract: A generational garbage collector utilizes a pool-based heap to store objects dynamically generated at runtime. The pool-based heap is configured as a collection of pools where each pool stores objects associated with the same generation. Each pool contains a pool header that identifies the generation of all objects within the pool. The pools are aligned to a memory boundary that is a multiple of the pool size. Select bits of an object's memory address may be used to access the pool header so that an object's generation, which is needed in various phases of the garbage collection process, is readily determined.Type: GrantFiled: May 22, 2012Date of Patent: April 8, 2014Assignee: Microsoft CorporationInventors: Abhinaba Basu, Jaiprakash Sharma
-
Publication number: 20140059093Abstract: A disclosed method includes: specifying a first object pointed by a first pointer, wherein the first object is in a heap area that includes plural generational areas; determining whether or not an address in a generational area, which is different from a first generational area that includes the first object, is set as a movement destination address of the first object; upon determining that the address is set as the movement destination address of the first object, obtaining the movement destination address of the first object; and updating the first pointer with the movement destination address of the first object.Type: ApplicationFiled: August 21, 2013Publication date: February 27, 2014Applicant: FUJITSU LIMITEDInventor: Katsutomo SEKIGUCHI
-
Patent number: 8631051Abstract: A method of managing memory, and a system implementing the method, are disclosed herein. In one embodiment according to the invention, the method comprises the step of allocating a first space, a first semi-space and a second semi-space of a memory unit. The first space has a first space size, and the first and second semi-spaces have a semi-space size. The first object is transformed into a plurality of elements and a spine containing pointers to the plurality of elements. The plurality of elements are stored in the first space and the spine in one of the first semi-space and the second semi-space. First memory portions of the first space are reclaimed using a mark-sweep policy and second memory portions of one of the first semi-space and the second semi-space are reclaimed using a moving policy.Type: GrantFiled: September 22, 2009Date of Patent: January 14, 2014Inventor: Filip Pizlo
-
Patent number: 8612493Abstract: Tracking newly created objects during a garbage collection cycle includes marking newly allocated objects in the GC cycle during the allocation cache population phase. The goal is to take a high performance system for tracing live objects, such as the mark map, and combine the SATB with a cached allocation system for heap memory such that SATB representation is preserved. Embodiments combine both efficient support for an SATB model during a collection cycle and a highly optimized allocation path for heap objects in an allocation scheme (which may optionally be a size segregated class allocation scheme) that allows both mechanisms to co-exist effectively. Specifically, embodiments track newly created objects during a GC cycle such that they are kept alive during the trace phase while continuing to support a highly efficient allocating caching strategy.Type: GrantFiled: October 30, 2008Date of Patent: December 17, 2013Assignee: International Business Machines CorporationInventors: Aleksandar Micic, Ryan A. Sciampacone
-
Patent number: 8601036Abstract: A method, system and computer program product for reducing garbage collection pause time. According to example embodiments, a garbage collection cycle is initiated on a set of objects that have been dynamically allocated in a memory. An identification is made of new persistent objects and reachable non-persistent objects while ignoring old persistent objects that have been identified as persistent in previous garbage collection cycles. The new persistent objects are associated as members of a set of persistent objects that includes the old persistent objects. The persistence information for the set of persistent objects is preserved for use during subsequent garbage collection cycles. All reachable non-persistent objects and all persistent objects in the set of persistent objects are marked for memory reclamation phase processing.Type: GrantFiled: March 23, 2011Date of Patent: December 3, 2013Assignee: International Business Machines CorporationInventors: Vinod Nalla, Harish K. Panda, Pranavaditya Kannojoo, Bipin N. Patil
-
Publication number: 20130318132Abstract: A generational garbage collector utilizes a pool-based heap to store objects dynamically generated at runtime. The pool-based heap is configured as a collection of pools where each pool stores objects associated with the same generation. Each pool contains a pool header that identifies the generation of all objects within the pool. The pools are aligned to a memory boundary that is a multiple of the pool size. Select bits of an object's memory address may be used to access the pool header so that an object's generation, which is needed in various phases of the garbage collection process, is readily determined.Type: ApplicationFiled: May 22, 2012Publication date: November 28, 2013Applicant: Microsoft CorporationInventors: ABHINABA BASU, Jaiprakash Sharma
-
Publication number: 20130311521Abstract: Embodiments of the present invention relate to systems, methods and computer storage media for facilitating the structured storage of binary large objects (Blobs) to be accessed by an application program being executed by a computing device. Generally, the manipulation of Blobs in a structured storage system includes receiving a request for a Blob, which may be located by way of a Blob pointer. The Blob pointer allows for the data, such as properties, of the Blob to be identified and located. Expired properties are garbage collected as a manipulation of the Blob data within a structured storage system. In an embodiment, the Blob is identified by a key that is utilized within a primary structured index to located the requested Blob. In another embodiment, the requested Blob is located utilizing a secondary hash index. In an additional embodiment, the Blob is locate utilizing a file table.Type: ApplicationFiled: July 22, 2013Publication date: November 21, 2013Applicant: MICROSOFT CORPORATIONInventors: BRADLEY GENE CALDER, JU WANG, XINRAN WU, NIRANJAN NILAKANTAN, DEEPALI BHARDWAJ, SHASHWAT SRIVASTAV, ALEXANDER FELSOBUKI NAGY
-
Patent number: 8554807Abstract: A technique for incrementally unloading classes using a region-based garbage collector is described. One aspect of such a technique includes maintaining a remembered set for a class set. The remembered set indicates whether instances of the class set are contained in one or more regions in memory, and in which regions the instances are contained. Upon performing an incremental garbage collection process for a subset of the regions in memory, the technique examines the remembered set to determine whether the class set includes instances in regions outside of the subset. If the remembered set indicates that the class set includes instances outside of the subset of regions, the technique identifies the class set as “live.” This will preclude unloading the class set from the subset of regions.Type: GrantFiled: March 28, 2012Date of Patent: October 8, 2013Assignee: International Business Machines CorporationInventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
-
Publication number: 20130262532Abstract: Embodiments disclosed herein provide systems and methods for performing garbage collection in virtual environments. In a particular embodiment, a method provides performing a garbage collection process to identify at least a portion of a secondary storage volume located within a primary storage volume. The method further provides triggering a data block release process on at least a portion of the primary storage volume corresponding to the at least a portion of the secondary storage volume.Type: ApplicationFiled: March 28, 2013Publication date: October 3, 2013Inventors: Gregory L. Wade, J. Mitchell Haile
-
Patent number: 8527560Abstract: Aspects for conservative garbage collecting are disclosed. In one aspect, a heap of objects is generated during an execution of a script, and script objects in an unexecuted portion are traced to corresponding memory locations on the heap. The heap is then marked concurrently with executing the script such that a marked heap includes reachable and unreachable objects. Memory allocated to the unreachable objects is then freed concurrently with executing the script based on the marking. In another aspect, an object graph associated with a call stack is generated and traced such that script objects in an unexecuted portion of the stack are traced to corresponding memory locations on a heap. Heap objects are marked concurrently with executing the stack so that a marked heap includes reachable and unreachable objects. Memory allocated to the unreachable objects is then cleared concurrently with executing the stack based on the marked heap.Type: GrantFiled: March 29, 2011Date of Patent: September 3, 2013Assignee: Microsoft CorporationInventors: Steven Lucco, Curtis Cheng-Cheng Man
-
Patent number: 8516018Abstract: Disclosed are apparatus and methods for managing image storage. An image source of a computing device can include one or more functions and a reference to image views for an image object, such as a bitmap object. The image object can include a reference to first storage that stores an image. The image source, the reference to the image views, and the image object are stored in a managed portion of memory. The first storage is stored in an unmanaged portion of memory differing from the managed portion. The computing device displays the image. Upon determining to discontinue displaying the image, an unbind function of the image source is called. The image source responsively discontinues display of the image. The image source receives an indication that the image views are solely weakly referenced. In response to the indication, the image source deallocates the first storage.Type: GrantFiled: April 6, 2012Date of Patent: August 20, 2013Assignee: Google Inc.Inventors: William Foote, Alejandro Nijamkin
-
Patent number: 8489653Abstract: A technique for incrementally unloading classes using a region-based garbage collector is described. One aspect of such a technique includes maintaining a remembered set for a class set. The remembered set indicates whether instances of the class set are contained in one or more regions in memory, and in which regions the instances are contained. Upon performing an incremental garbage collection process for a subset of the regions in memory, the technique examines the remembered set to determine whether the class set includes instances in regions outside of the subset. If the remembered set indicates that the class set includes instances outside of the subset of regions, the technique identifies the class set as “live.” This will preclude unloading the class set from the subset of regions.Type: GrantFiled: February 8, 2011Date of Patent: July 16, 2013Assignee: International Business Machines CorporationInventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
-
Patent number: 8473529Abstract: An illustrative embodiment of a computer-implemented process for single pass marking of finalizable objects marks strong roots, marks finalizable roots and determines whether a strong work stack is empty. Responsive to a determination the strong work stack is empty the computer-implemented process determines whether a finalizable work stack is empty. Responsive to a determination the finalizable work stack is empty, synchronize threads, the computer-implemented process finalizes finalizable roots and merges mark maps to finish parallel marking.Type: GrantFiled: March 14, 2011Date of Patent: June 25, 2013Assignee: International Business Machines CorporationInventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
-
Patent number: 8438193Abstract: A method for performing garbage collection on an object heap is described. In one embodiment, such a method includes performing a copy phase on an object heap by copying live objects from a source space to a destination space. An abort condition is generated when copying an object from the source space to the destination space fails due to insufficient space. In response to the abort condition, tracing work and reference updating associated with the copy phase are terminated. A mark phase is then initiated that marks live objects in the source space. This mark phase resumes tracing work and reference updating terminated by the copy phase in order to avoid or minimize the repetition of work performed by the copy phase. A corresponding computer program product and system are also described.Type: GrantFiled: March 28, 2012Date of Patent: May 7, 2013Assignee: International Business Machines CorporationInventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
-
Patent number: 8423589Abstract: A method for performing garbage collection on an object heap is described. In one embodiment, such a method includes performing a copy phase on an object heap by copying live objects from a source space to a destination space. An abort condition is generated when copying an object from the source space to the destination space fails due to insufficient space. In response to the abort condition, tracing work and reference updating associated with the copy phase are terminated. A mark phase is then initiated that marks live objects in the source space. This mark phase resumes tracing work and reference updating terminated by the copy phase in order to avoid or minimize the repetition of work performed by the copy phase. A corresponding computer program product and system are also described.Type: GrantFiled: March 14, 2011Date of Patent: April 16, 2013Assignee: International Business Machines CorporationInventors: Peter Wiebe Burka, Jeffrey Michael Disher, Daryl James Maier, Aleksandar Micic, Ryan Andrew Sciampacone
-
Patent number: 8326894Abstract: The present invention provides a method and system for processing memory access events.Type: GrantFiled: October 30, 2009Date of Patent: December 4, 2012Assignee: International Business Machines CorporationInventor: Yao Qi
-
Patent number: 8327109Abstract: A system and method for efficient garbage collection. A general-purpose central processing unit (CPU) partitions an allocated heap according to a generational garbage collection technique. The generations are partitioned into fixed size cards. The CPU marks indications of qualified dirty cards during application execution since the last garbage collection. When the CPU detects a next garbage collection start condition is satisfied, the CPU sends a notification to a special processing unit (SPU) corresponding to a determination of one or more card root addresses, each card root address corresponding to one of said marked indications. The SPU has a single instruction multiple data (SIMD) parallel architecture and may be a graphics processing unit (GPU). The SPU may utilize the parallel architecture of its SIMD core to simultaneously compute multiple card root addresses. Following, the SPU sends these addresses to the CPU to be used in a garbage collection algorithm.Type: GrantFiled: March 2, 2010Date of Patent: December 4, 2012Assignee: Advanced Micro Devices, Inc.Inventor: Eric R Caspole
-
Patent number: 8316204Abstract: One embodiment of the present invention provides a system that uses versioned pointers to facilitate reusing memory without having to reclaim the objects solely through garbage collection. The system operates by first receiving a request to allocate an object. Next, the system obtains the object from a pool of free objects, and sets an allocated/free flag in the object to indicate that the object is allocated. The system also increments a version number in the object, and also encodes the version number into a pointer for the object. The system then returns the pointer, which includes the encoded version number. In this way, subsequent accesses to the object through the pointer can compare the version number encoded in the pointer with the version number in the object to determine whether the object has been reused since the pointer was generated.Type: GrantFiled: September 28, 2011Date of Patent: November 20, 2012Assignee: Oracle America, Inc.Inventor: David R. Chase
-
Patent number: 8301672Abstract: A system and method for efficient garbage collection. A general-purpose central processing unit (CPU) sends a garbage collection request and a first log to a special processing unit (SPU). The first log includes an address and a data size of each allocated data object stored in a heap in memory corresponding to the CPU. The SPU has a single instruction multiple data (SIMD) parallel architecture and may be a graphics processing unit (GPU). The SPU efficiently performs operations of a garbage collection algorithm due to its architecture on a local representation of the data objects stored in the memory. The SPU records a list of changes it performs to remove dead data objects and compact live data objects. This list is subsequently sent to the CPU, which performs the included operations.Type: GrantFiled: September 22, 2008Date of Patent: October 30, 2012Assignee: Advanced Micro Devices, Inc.Inventors: Azeem S. Jiva, Gary R. Frost
-
Patent number: 8296337Abstract: An apparatus, system, and method are disclosed for managing data with an empty data segment directive at the requesting device. The apparatus, system, and method include a token directive generation module and a token directive transmission module. The token directive generation module generates a storage request with a token directive. The token directive includes a request to store on the storage device a data segment token. The token directive substitutes for a series of repeated, identical characters or a series of repeated, identical character strings to be stored as a data segment. The token directive includes at least a data segment identifier and a data segment length. The data segment token and the token directive are substantially free from data of the data segment. The token directive transmission module transmits the token directive to the storage device.Type: GrantFiled: December 6, 2007Date of Patent: October 23, 2012Assignee: Fusion-io, Inc.Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Patent number: 8291187Abstract: Mechanisms for memory management in a scoped memory system are provided. The scoped memory system includes a scoped memory area for the allocation of objects therein for access by one or more software threads in execution. The scoped memory area has an associated thread count for indicating that the scoped memory area is discardable. The mechanisms identify a set of root references for objects allocated in the scoped memory area and recursively traverses and marks objects that are referenced from the set of root references and that are allocated in the scoped memory area. The mechanisms further identify objects in the scoped memory area that are not so marked and discards the identified objects.Type: GrantFiled: September 23, 2008Date of Patent: October 16, 2012Assignee: International Business Machines CorporationInventor: Andrew Johnson
-
Publication number: 20120254265Abstract: Aspects for conservative garbage collecting are disclosed. In one aspect, a heap of objects is generated during an execution of a script, and script objects in an unexecuted portion are traced to corresponding memory locations on the heap. The heap is then marked concurrently with executing the script such that a marked heap includes reachable and unreachable objects. Memory allocated to the unreachable objects is then freed concurrently with executing the script based on the marking. In another aspect, an object graph associated with a call stack is generated and traced such that script objects in an unexecuted portion of the stack are traced to corresponding memory locations on a heap. Heap objects are marked concurrently with executing the stack so that a marked heap includes reachable and unreachable objects. Memory allocated to the unreachable objects is then cleared concurrently with executing the stack based on the marked heap.Type: ApplicationFiled: March 29, 2011Publication date: October 4, 2012Applicant: MICROSOFT CORPORATIONInventors: Steven Lucco, Curtis Cheng-Cheng Man
-
Patent number: 8280927Abstract: The present invention claims and discloses an electronic equipment capable of executing a processing executing program that performs a predetermined processing. The electronic equipment comprises a memory; a setting unit that sets an allocation time for a memory region in the memory that the processing executing program is to use; and a memory leak detecting unit that detects when the memory region has not been deallocated within the allocation time.Type: GrantFiled: September 4, 2008Date of Patent: October 2, 2012Assignee: KYOCERA Document Solutions Inc.Inventor: Toshiaki Ueno