Patent classifications
G06F12/0253
Heterogeneous erase blocks
A method of using flash storage devices with different sized erase blocks is provided. The method includes allocating a plurality of erase blocks of heterogeneous erase block sizes to a RAID stripe, to form a tile pattern having the heterogeneous erase block sizes in the RAID stripe. The method includes writing the RAID stripe across the flash storage devices in accordance with the allocating, and stopping the writing the RAID stripe, responsive to contents of the RAID stripe reaching a threshold.
Journaling apparatus and method in a non-volatile memory system
A memory system includes a memory device including memory blocks, and a controller configured to generate a result indicative of whether a number of free memory blocks satisfies a reference after beginning of garbage collection for the memory device, selectively perform a journaling operation for a request based on the result, and program data, collected by the garbage collection, in the memory device.
Memory system and storage device
A memory system of an embodiment includes a nonvolatile memory, a primary cache memory, a secondary cache memory, and a processor. The processor performs address conversion by using logical-to-physical address conversion information relating to data to be addressed in the nonvolatile memory. Based on whether first processing is performed on the nonvolatile memory or second processing is performed on the nonvolatile memory, the processor controls to store whether the logical-to-physical address conversion information relating to the first processing to be in the primary cache memory as cache data or logical-to-physical address conversion information relating to the second processing to be in the secondary cache memory as cache data.
Processing out of order writes in a log structured file system for improved garbage collection
Improving performance of garbage collection (GC) processes in a deduplicated file system having a layered processing architecture that maintains a log structured file system storing data and metadata in an append-only log arranged as a monotonically increasing log data structure of a plurality of data blocks wherein a head of the log increases in chronological order and no allocated data block is overwritten. The storage layer reserves a set of data block IDs within the log specifically for the garbage collection process, and assigns data blocks from the reserved set to GC I/O processes requiring acknowledgment in a possible out-of-order manner relative to an order of data blocks in the log. It strictly imposes using in-order I/O acknowledgement for other non-GC processes using the storage layer, where these processes may be deduplication backup processes using a segment store layer at the same protocol level as the GC layer.
System and method for dynamic memory optimizer and manager for Java-based microservices
A time period is received from a user over which memory settings of a microservice are to be dynamically managed. Memory settings for the microservice are stored in a configuration file. During the time period, memory utilization of a set of memory regions provided by a process virtual machine for execution of the microservice is monitored. The memory utilization of each memory region is analyzed to identify memory regions that have been over-utilized and memory regions that have been under-utilized. For each memory region identified as being over-utilized or under-utilized, a memory setting in the configuration file and corresponding to an identified memory region is changed. After the change and once the microservice has entered an idle state, a command is generated to restart the microservice so that the changed memory settings can take effect.
Storage Design For Host Controlled Logically Addressed Flexible Data Layout
A drive placement or placement functionality can enable initial copies of data to be placed on a drive in reclaim unit (HRUs) in a manner which is probabilistically more efficient from a garbage collection (GC) perspective and leverages knowledge of a host or application using the data. The placement functionality enables the advantages of fine-grained placement functionality while simultaneously allowing a storage device or storage drive to maintain NAND or other management responsibility, and not allocate that responsibility to an application or host device using the device.
ON-THE-FLY REMEMBERED SET DATA STRUCTURE ADAPTATION
Techniques for on-the-fly adaptation of remembered set data structures are disclosed. Operations include initiating execution of an application thread and a garbage collection process for a heap memory including a first plurality of logical partitions, wherein each logical partition of the first plurality of logical partitions is associated with a remembered set data structure. While the application thread and the garbage collection process are executing, the system determines a set of characteristics. Based on the set of characteristics meeting threshold criteria for adjusting a first remembered set data structure corresponding to a first logical partition, the system identifies a first remembered set configuration corresponding to the first remembered set data structure, creates a replacement remembered set data structure based on the first remembered set configuration, and associates the replacement remembered set data structure with the first logical partition.
Garbage collection operation management with early garbage collection starting point
A method of managing a garbage collection (GC) operation on a flash memory includes: setting a GC starting threshold, wherein the GC starting threshold indicates a predetermined spare block number that is higher than a target spare block number of spare blocks maintained by a flash translation layer (FTL) of the flash memory; determining whether to start the GC operation according to a current number of spare blocks in the flash memory and the GC starting threshold; and performing the GC operation on a source block in the flash memory when the current number of spare blocks is lower than or equal to the GC starting threshold.
COPY AND RESTORE OF PAGE IN BYTE-ADDRESSABLE CHUNKS OF CLUSTER MEMORY
Disclosed are various embodiments for improving the resiliency and performance of cluster memory. First, a computing device can submit a write request to a byte-addressable chunk of memory stored by a memory host, wherein the byte-addressable chunk of memory is read-only. Then, the computing device can determine that a page-fault occurred in response to the write request. Next, the computing device can copy a page associated with the write request from the byte-addressable chunk of memory to the memory of the computing device. Subsequently, the computing device can free the page from the memory host. Then, the computing device can update a page table entry for the page to refer to a location of the page in the memory of the computing device.
Object-Oriented Memory for Client-to-Client Communications
Systems and corresponding methods employ an object-oriented (OO) memory (OOM) to effect inter-hardware-client (IHC) communication among a plurality of hardware clients included in same. A system comprises a centralized OOM and the plurality of hardware clients communicate, directly, to the centralized OOM device via OO message transactions. The centralized OOM device effects IHC communication among the plurality of hardware clients based on the OO message transactions. Another system comprises a plurality of OO memories (OOMs) capable of inter-object-oriented-memory-device communication. A hardware client communicates, directly, to a respective OOM device via OO message transactions. The inter-object-oriented-memory-device communication effects IHC communication among the plurality of hardware clients based on the OO message transactions.