Patent classifications
G06F12/0253
Network-level garbage collection in an on-demand code execution system
Systems and methods are described for management of garbage collection processes in an on-demand code execution system. An on-demand code execution system may execute user-submitted code on virtual machine instances. As each virtual machine instance executes code, garbage (e.g., memory that is allocated and then not properly de-allocated) may accumulate and may reduce the computing resources that the virtual machine instance makes available for allocation to further code executions. A garbage collection schedule manager may be used to generate a system-wide garbage collection schedule and manage garbage collection processes in accordance with the schedule. The garbage collection schedule manager may schedule garbage collection processes at times when demand for computing resources is forecasted to be low, and may coordinate scheduling of garbage collection processes across multiple virtual machine instances and host computing devices to prevent garbage collection processes from impacting code execution performance.
Segregating map data among different die sets in a non-volatile memory
Apparatus and method for managing metadata in a data storage device, such as a solid-state drive (SSD). In some embodiments, a non-volatile memory (NVM) includes a population of semiconductor memory dies. The dies are connected a number of parallel channels such that less than all of the semiconductor dies are connected to each channel. A controller circuit apportions the semiconductor memory dies into a plurality of die sets, with each die set configured to store user data blocks associated with a different user. A separate set of map data is generated to describe user data blocks stored to each die set. The controller circuit stores the respective sets of map data in the associated die sets so that no die set stores map data associated with a different die set. The die sets may be arranged in accordance with the NVMe (Non-Volatile Memory Express) specification.
Using a common pool of blocks for user data and a system data structure
A processing device of a memory sub-system is configured to receive a request to add content to a system data structure, wherein a first plurality of blocks of a common pool of blocks are allocated to the system data structure and a second plurality of blocks of the common pool of blocks are allocated to user data; determine whether user data has been written to the second plurality of blocks of the common pool of blocks within a threshold amount of time; and responsive to determining that the user data has not been written to the second plurality of blocks within the threshold amount of time, allocate a block from the second plurality of blocks of the common pool of blocks allocated to user data to the first plurality of blocks of the common pool of blocks allocated for the system data structure.
Data storage device and operating method thereof
A data storage device includes a nonvolatile memory including a plurality of memory blocks and page buffers for data input/output, the page buffers being electrically connected to the plurality of memory blocks, respectively, and a controller configured to, when a number of free memory blocks among the plurality of memory blocks is equal to or less than a predetermined threshold number, select, as a candidate source memory block group, memory blocks each having a number of valid pages equal to or less than a predetermined number within the nonvolatile memory, select, as a source memory block, a memory block having a minimum amount of time required to read valid data from the valid page within the candidate source memory block group and perform a garbage collection operation to the source memory block.
Data storage device in a key-value storage architecture with data compression, and non-volatile memory control method
A key-value storage architecture with data compression is shown. During the garbage collection, the controller compresses valid pieces of key-value data to generate a piece of compressed data. Each piece of key-value data is in key-value format. The controller codes the piece of compressed data to generate a first piece of compressed key-value data that is also in key-value format, and programs the first piece of compressed key-value data into the non-volatile memory.
STORAGE DEVICE AND METHOD OF OPERATING THE SAME
A storage device may include a memory device including a plurality of memory dies; and a memory controller configured to control the memory device in units of super blocks each including two or more memory blocks included in the memory device, wherein at least one of the super blocks within the memory device is a super block including a plurality of small multi-die zones each including a portion of each of the memory blocks included in different memory dies among the memory dies, wherein the memory controller is further configured to receive a garbage collection request and information on valid pages included in the small multi-die zone, and to select, among the super blocks within the memory device, a victim super block in response to the garbage collection request and information on valid pages included in the small multi-die zone.
Memory anomaly detection method and device
A method includes obtaining a first memory log, where the first memory log includes log information of a plurality of garbage collections, and log information of each garbage collection includes a garbage collection time, and includes at least one of a downtime, memory usage after garbage collection, and memory usage before garbage collection, obtaining, based on log information in a first detection time window, first statistical information corresponding to the first detection time window, and determining, based on the first statistical information corresponding to the first detection time window, an anomaly degree corresponding to the log information in the first detection time window.
Memory controller generating mapping data and method of operating the same
A memory controller includes a mapping data control unit configured to interrupt the generation of the additional mapping data, when during generation of additional mapping data, an operation for an address identical to a logical block address in the additional mapping data is performed, and to generate dummy mapping data. The additional mapping data may include mapping information indicating a mapping relationship between a logical block address and a physical block address.
System and method for improving write performance for log structured storage systems
A method, computer program product, and computer system for identifying, by a computing device, a list of objects containing a plurality of physical layer blocks (PLBs). One or more next PLBs of the plurality of PLBs may be allocated from a selected free object of the list of objects. One or more additional free objects from the list of objects may be generated. Garbage collection may be performed between an inactive object of the plurality of objects and the selected free object.
Data storage device having predictive analytics
A method and apparatus for sustaining performance of a data storage device by predictively determining resource needs and executing processes to meet those needs before the resources are actually needed. According to certain embodiments, a controller collects commands coming from a host and provides these to a machine learning model such as a recurrent neural network (RNN). The RNN is trained using this data, and output of the trained model is used to predict future commands. As future commands are developed by the RNN, resource allocation processes such as garbage collection may be initiated prior to the actual need, during times when processing cycles in the data storage device are available. By operating the garbage collection when the device has available processing may mitigate transition to an urgent mode.