G06F2212/702

Reclaiming storage resources

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for reclaiming one or more portions of storage resources in a computer system serving one or more virtual computing instances, where the storage resources in the computer system are organized in clusters of storage blocks. In one aspect, a method includes maintaining a respective block tracking value for each storage block that indicates whether a call to reclaim the storage block is outstanding; determining, from the block tracking values, a respective cluster priority value for each of the clusters based on a count of storage blocks in the respective cluster for which a call to reclaim is outstanding; and reclaiming a first portion of storage resources in the computer system in accordance with the cluster priority values.

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.

TRACKING GARBAGE COLLECTION STATES OF REFERENCES

Garbage collection (GC) states are stored within references stored on a heap memory to track a progress of GC operations with respect to the references. GC state may be stored in a non-addressable portion of references. Based on the GC state of a particular reference, a set of GC operations are selected and performed for the reference. However, references stored on a call stack do not include any indication of GC state. Hence, loading a reference from heap to call stack involves removing the indication of GC state. Writing a reference to heap involves adding the indication of GC state. References embedded within a compiled method also do not indicate any GC state. Metadata of the compiled method indicate a GC state, which is implicated to the embedded references. GC operations are selected and performed for each embedded reference based on the GC state of the compiled method.

System controller and system garbage collection method
11321229 · 2022-05-03 · ·

A flash array provided in embodiments includes a controller and a solid state disk group. The controller counts a data volume of invalid data included in each of a plurality of stripes, and select at least one target stripe from the plurality of stripes. The target stripe is a stripe that includes a maximum volume of invalid data among the plurality of stripes. Then, the controller instructs the solid state disk group to move valid data in the target stripe, and instructs the solid state disk group to delete a correspondence between a logical address of the target stripe and an actual address of the target stripe. This can reduce write amplification, thereby prolonging a life span of the solid state disk.

COALESCING READ COMMANDS BY LOCATION FROM A HOST QUEUE

Method and apparatus for managing data in a storage device, such as a solid-state drive (SSD). A non-volatile memory (NVM) is arranged into multiple garbage collection units (GCUs) each separately erasable and allocatable as a unit. Read circuitry applies read voltages to memory cells in the GCUs to sense a programmed state of the memory cells. Calibration circuitry groups different memory cells from different GCUs into calibration groups that share a selected set of read voltages. A read command queue accumulates pending read commands to transfer data from the NVM to a local read buffer. Read command coalescing circuitry coalesces selected read commands from the queue into a combined command for execution as a single batch command. The combined batch command may include read voltages for use in retrieval of the requested data.

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.

Optimizing Storage System Performance Using Data Characteristics

Characteristics associated with a device are received from the device. Firmware for the device is generated based on the received characteristics.

METHOD FOR PERFORMING INTEGRITY CHECK, AND ELECTRONIC DEVICE USING SAME

An electronic device includes: an auxiliary storage device configured to manage a file stored in a log-structured file system; a main storage device; and a processor operatively connected to the auxiliary storage device and the main storage device. The processor is configured to: inspect metadata of the auxiliary storage device; identify a location of a node of the file in the metadata; read information of the node of the file in the identified location of the node of the file; arrange the node of the file, based on the information of the node of the file; read information of the arranged node of the file; store the information of the arranged node of the file in the main storage device; and inspect the stored information of the arranged node of the file in the main storage device.

DATA SEPARATION FOR GARBAGE COLLECTION
20220004493 · 2022-01-06 ·

Methods, systems, and devices for data separation for garbage collection are described. A control component coupled to the memory array may identify a source block for a garbage collection procedure. In some cases, a first set of pages of the source block may be identified as a first type associated with a first access frequency and a second set of pages of the source block ay be identified as a second type associated with a second access frequency. Once the pages are identified as either the first type or the second type, the first set of pages may be transferred to a first destination block, and the second set of pages may be transferred to a second destination block as part of the garbage collection procedure.

Storing highly read data at low impact read disturb pages of a memory device

A highly read data manager of a memory device receives a request to perform receives a request to perform a data relocation operation on a first wordline of a plurality of wordlines for a memory device, the memory device comprising a plurality of multi-level memory cells, wherein each multi-level memory cell comprises a plurality of pages; determines at the first wordline comprises data stored at one or more high read disturb pages of the plurality of pages; determines whether the data comprises a characteristic that satisfies a threshold criterion in relation to additional data stored on additional wordlines of the plurality of wordlines; responsive to determining that the data comprises the characteristic that satisfies the threshold criterion, identifies one or more low read disturb pages of the plurality of pages of a target wordline for relocating the data; and responsive to identifying the one or more low read disturb pages of the target wordline, stores at least a portion of the data at the one or more low read disturb pages of the target wordline.