G06F12/0261

Method, program, and system for reducing the cost of stack scanning

A method for reducing the cost of stack scanning in garbage collection (GC) includes, in the GC of the first-generation heap area, registering, in a nursery object reference list prepared for each thread, one or more addresses, within each stack, which each refer to a nursery object, and updating a scanning unnecessary area starting pointer such that the addresses listed in the nursery object reference list are included in the area from the bottom of the stack to the address pointed to by the scanning unnecessary area starting pointer. The method further includes, in the next GC of the first-generation heap area, for the area from the bottom of the stack to the address pointed to by the scanning unnecessary area starting pointer, performing the GC processing on the addresses included in the nursery object reference list.

TRANSLATION LOOKUP AND GARBAGE COLLECTION OPTIMIZATIONS ON STORAGE SYSTEM WITH PAGED TRANSLATION TABLE
20220121564 · 2022-04-21 ·

A system comprising a processor and a memory storing instructions that, when executed, cause the system to receive a request for garbage collection, identify a range of physical blocks in a storage device, query a bitmap, the bitmap having a bit for each physical block in the range of physical blocks, determine a status associated with a first bit from the bitmap, in response to determining the status associated with the first bit is a first state, add a first physical block associated with the first bit to a list of physical blocks for relocation, and relocate the list of physical blocks.

Opaque object caching
11768767 · 2023-09-26 · ·

A query for opaque objects stored within a data store and not currently cached within a cache is received from an application. The query to the data store is passed to the data store, and a handle to memory location is received from the data store at which the data store has temporarily stored a message including the opaque objects. The opaque objects are added to the cache by treating the memory location as a cache entry for the opaque objects. Cache metadata for the cache entry is generated, and along with the handle is stored within a metadata cache entry of a metadata cache structure separate from the message. The handle and the cache metadata can be returned to the application, where the cache metadata can be returned as an opaque context of the cache entry.

Deferred destruction for efficient resource reclamation
11232026 · 2022-01-25 · ·

Memory reclamation includes executing a process that has a plurality of objects, the objects being accessible via a plurality of references, at least some of the plurality of references being transient references, at least some of the plurality of references being persistent references; reaching a reclamation point at which a process state has no transient references, or has transient references only at known locations; and at the reclamation point, destructing objects that have no persistent references and no transient references.

Data Storage Space Recovery
20220019351 · 2022-01-20 · ·

Storage space is reclaimed by cleaning and compacting data objects where data objects are stored by immutable storage. A storage area of which space needs to be reclaimed is identified. Active and stale data objects stored in a storage area are identified, and only active data objects are transferred to a shadow storage area from the storage area when recovering storage space. I/O operations can be fulfilled from the storage area and the shadow storage area. Compaction requests and I/O requests are throttled according to QOS parameters. Recovery of storage space does not cause a failure to meet performance requirements for any storage volume.

Task Merging

Methods and apparatus for merging tasks in a graphics pipeline in which, subsequent to a trigger to flush a tag buffer, one or more tasks from the flushed tag buffer are generated, each task comprising a reference to a program and plurality of fragments on which the program is to be executed, wherein a fragment is an element of a primitive at a sample position. It is then determined whether merging criteria are satisfied and if satisfied, one or more fragments from a next tag buffer flush are added to a last task of the one or more tasks generated from the flushed tag buffer.

MEMORY MANAGEMENT METHOD AND APPARATUS
20220012085 · 2022-01-13 ·

The technology of this application relates to a memory management method and apparatus. When garbage collection is performed by using the method, stored information about a first reference cycle is first obtained, where the first reference cycle is a cyclic reference formed by a plurality of objects, and the information about the first reference cycle includes the plurality of objects in the first reference cycle and a reference relationship between the plurality of objects. The method further includes determining that a second reference cycle exists, where information about the second reference cycle matches the information about the first reference cycle, and the information about the second reference cycle includes a plurality of objects in the second reference cycle and a reference relationship between the plurality of objects. The method further includes reclaiming memory occupied by the plurality of objects in the second reference cycle.

Endurance enhancement scheme using memory re-evaluation

An apparatus, according to one embodiment, includes non-volatile memory configured to store data, and a controller and logic integrated with and/or executable by the controller, the logic being configured to: determine, by the controller, that at least one block of the non-volatile memory and/or portion of a block of the non-volatile memory meets a retirement condition, re-evaluate, by the controller, the at least one block and/or the portion of a block to determine whether to retire the at least one block and/or the portion of a block, indicate, by the controller, that the at least one block and/or the portion of a block remains usable when a result of the re-evaluation is not to retire the block, and indicate, by the controller, that the at least one block and/or the portion of a block is retired when the result of the re-evaluation is to retire the block.

Computer resource leak detection

Various embodiments discussed herein enable intelligent resource leak detection and associated user interface. In some aspects, if a kernel sends a tracing event (e.g., an ETW event) after a process or application has been requested to be shut down but before the process has actually been shut down, a resource leak can be detected. This is because the application should have requested the reference indicator to be removed in memory before the tracing event, as opposed to the kernel acting alone without an application request to remove the reference indicator. If a reference indicator has not been requested to be removed by the time this tracing event occurs, then it is indicative of the application never having sent a request to remove the reference indicator, which is indicative of a resource leak.

Translation lookup and garbage collection optimizations on storage system with paged translation table

A system comprising a processor and a memory storing instructions that, when executed, cause the system to receive a request for garbage collection, identify a range of physical blocks in a storage device, query a bitmap, the bitmap having a bit for each physical block in the range of physical blocks, determine a status associated with a first bit from the bitmap, in response to determining the status associated with the first bit is a first state, add a first physical block associated with the first bit to a list of physical blocks for relocation, and relocate the list of physical blocks.