G06F12/0261

Data storage space recovery
09817578 · 2017-11-14 · ·

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.

USER CONFIGURABLE PASSIVE BACKGROUND OPERATION
20170270042 · 2017-09-21 ·

A system and method for permitting an SSD (120) to perform passive Garbage Collection is described. The SSD (120) may include storage (315) to store data, and a Garbage Collection logic (340) that may perform Garbage Collection on the storage (315). Reception circuitry (305) may receive a configuration command (405) from a host (105). The configuration command (405) may include a condition (410, 505, 605), such as an idle duration (505) and/or a queue depth threshold (605). A condition storage (325) may store the condition (410, 505, 605). A state determiner (320) may determine a state (510, 610) of the SSD (120). A comparator (330) may compare the state (510, 610) of the SSD (120) with the condition (410, 505, 605) to determine whether to trigger passive Garbage Collection.

ELECTRONIC APPARATUS, METHOD, AND STORAGE MEDIUM

According to one embodiment, an electronic apparatus includes a controller. The control unit includes an instruction executer configured to generate or acquire data, an issuer configured to accept a request and issues a time stamp, a first updater configured to update a first counter value according to a first operation, a second updater configured to update a second counter value in accordance with issuance of the time stamp, a first non-volatile memory to hold the first counter value and a secret key, and a volatile register to hold the second counter value. The time stamp is a message authentication code or a digital signature issued from the first and second counter values and the data. The second counter value is not stored in the first non-volatile memory.

Garbage collection method for data storage device
11354236 · 2022-06-07 · ·

A garbage collection method for a data storage device includes steps of: entering a background mode from a foreground mode; selecting a plurality of source data blocks from a plurality of in-use data blocks; dividing a mapping table into a plurality of sub-mapping tables and selecting one of the sub-mapping tables as a target sub-mapping table, wherein the target sub-mapping table is used to manage one of the source data blocks; selecting a destination data block from a plurality of spare data blocks; and sequentially updating a correspondence relationship of data stored in the target sub-mapping table from the source data blocks to the destination data block, wherein the updating comprises copying the data stored in the source data blocks to the destination data block.

METHODS FOR UPDATING REFERENCE COUNT AND SHARED OBJECTS IN A CONCURRENT SYSTEM
20220164355 · 2022-05-26 ·

A method for to manage concurrent access to a shared resource in a distributed computing environment. A reference counter counts is incremented for every use of an object subtype in a session and decremented for every release of an object subtype in a session. A session counter is incremented upon the first instance of fetching an object type into a session cache and decremented upon having no instances of the object type in use in the session. When both the reference counter and the session counter are zero, the object type may be removed from the cache.

Packing Objects by Predicted Lifespans in Cloud Storage

A method includes receiving data objects, determining a predicted lifespan of each data object, and instantiating multiple shard files. Each shard file has an associated predicted lifespan range. The method also includes writing each data object into a corresponding shard file having the associated predicted lifespan range that includes the predicted lifespan of the respective data object and storing the shard files in a distributed system. The method also includes determining whether any stored shard files satisfy a compaction criteria based on a number of deleted data objects in each corresponding stored shard file. For each stored shard file satisfying the compaction criteria, the method also includes compacting the stored shard file by rewriting the remaining data objects of the stored shard file into a new shard file.

Snapshot at the beginning marking in Z garbage collector

During execution of garbage collection marking, an application thread receives a first request to overwrite a reference field of an object, the object comprising at least a first reference and the first request comprising a second reference to be written to the reference field. Responsive to receiving the first request, the application thread determines a marking parity for objects being traversed by the garbage collection marking process and loads the first reference from the heap. The application thread determines that marking metadata of the first reference does not match the marking parity. Responsive to that determination, the application thread adds the first reference to a marking list, modifies the second reference to include the current marking parity as the marking metadata, and stores the modified second reference to the first reference field. In subsequent writes to the reference field, the application thread refrains from adding to the marking list.

COMPUTER DATA SYSTEM CURRENT ROW POSITION QUERY LANGUAGE CONSTRUCT AND ARRAY PROCESSING QUERY LANGUAGE CONSTRUCTS

Described are methods, systems and computer readable media for providing a current row position query language construct and array processing query language constructs and associated processing.

Resilient distributed garbage collection

In a distributed processing system having multiple processing nodes including alive nodes and dead nodes, a method is provided for collecting an object from the alive nodes. The method includes maintaining a separate count value for each of remote nodes at which the object is remotely-referenced. The method further includes collecting the object for garbage collection when the separate count value for all of the remotes nodes is zero. The method also includes adding at least one per node sending counter responsive to a remote reference of the object being sent from a first remote node to a particular one of the remote nodes. The at least one per node sending counter is added at the first remote node to count a number of remote-references of the object being sent to the particular one of the remote nodes.

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.