G06F2212/7207

STORAGE DEVICE AND AN OPERATING METHOD OF A STORAGE CONTROLLER THEREOF
20230146540 · 2023-05-11 · ·

An operating method of a storage controller includes receiving a permanent write protection command; checking a distribution of first data included in a target namespace corresponding to the permanent write protection command; setting at least one memory region as a protected memory region, based on at least one metric corresponding to each of a plurality of non-volatile memory devices; and migrating at least a portion of the first data, which is stored in a remaining memory region different from the protected memory region, to the protected memory region

STORAGE DEVICE AND METHOD FOR RESTORING META DATA THEREOF
20230146696 · 2023-05-11 ·

An operating method of a storage device, the method including; loading journal data from a non-volatile memory device, identifying a cache allocation flag included in the journal data, and restoring meta data corresponding to the journal data to a storage controller in response to the cache allocation flag. Here, the cache allocation flag is a first flag when the meta data are allocated to a meta cache of the storage controller, and the cache allocation flag is a second flag when the meta data are stored to a meta buffer of the storage controller.

Intelligent block deallocation verification

A first data block on a storage device including a data structure of deallocated data blocks on the storage device and a corresponding program erase count value for each of the deallocated data blocks is identified. A determination as to whether a second data block from the data structure of deallocated data blocks remains deallocated after being added to the data structure of deallocated data blocks based on the program erase count value is made. The data is stored at the second data block upon determining that the second data block remains deallocated after being added to the data structure of deallocated data blocks.

Customized hash algorithms
11652884 · 2023-05-16 · ·

A storage system determines source addresses, and destination addresses in a storage system, for network traffic. The storage system determines a hash algorithm, from a plurality of hash algorithms. The hash algorithm is to be used across the source addresses for load-balancing the network traffic to the destination addresses. The storage system determines that the hash algorithm more closely meets one or more load-balancing criteria than at least one other hash algorithm, of the plurality of hash algorithms. The storage system distributes the network traffic from the source addresses to the destination addresses in the storage system, with load-balancing according to the determined hash algorithm.

Method and apparatus of managing a non-volatile memory using an in-memory journal
11650759 · 2023-05-16 · ·

Various implementations described herein relate to systems and methods for managing metadata using an in-memory journal, including determining metadata for data, storing the metadata in an in-memory journal, detecting an imminent interruption to operations of the storage device, in response to detecting the imminent interruption, program the in-memory journal to a non-volatile memory device of the storage device, detect that the operations of the storage device are being restored, and in response to detecting that the operations of the storage device are being restored, performing metadata update. The first data is read from first original areas of a non-volatile memory. The first metadata includes a first physical address for each of first new areas of the non-volatile memory. The metadata is programmed in a metadata area of the non-volatile memory device.

PREEMPTIVE DECOMPRESSION SCHEDULING FOR A NAND STORAGE DEVICE
20170371595 · 2017-12-28 ·

Systems, methods, and computer programs are disclosed for scheduling decompression of an application from flash storage. One embodiment of a system comprises a flash memory device and a preemptive decompression scheduler component. The preemptive decompression scheduler component comprises logic configured to generate and store metadata defining one or more dependent objects associated with the compressed application in response to an application installer component installing a compressed application to the flash memory device. In response to a launch of the compressed application by an application launcher component, the preemptive decompression scheduler component determines from the stored metadata the one or more dependent objects associated with the compressed application to be launched. The preemptive decompression scheduler component preemptively schedules decompression of the one or more dependent objects based on the stored metadata.

IMPLEMENTING VARIABLE NUMBER OF BITS PER CELL ON STORAGE DEVICES
20230205463 · 2023-06-29 ·

Systems and methods are disclosed including a memory device and a processing device, operatively coupled with the memory device, to perform operations including programming first data to a set of memory cells of a first wordline using a first number of bits per memory cell. Responsive to receiving second data to program to the set of memory cells of the first wordline, the operations further include determining an error rate associated with a second wordline adjacent to the first wordline. Responsive to determining that the error rate satisfies a threshold criterion, the operations further include selecting a second number of bits per memory cell to program the second data to the first wordline and reprograming, using the second number of bits per memory cell, the first wordline storing the first data by programming second data to the set of memory cells while maintaining the first data.

MEMORY SYSTEM AND OPERATING METHOD OF MEMORY SYSTEM
20170371548 · 2017-12-28 ·

A memory system may include: a memory system may include: a memory device suitable for storing user data and corresponding metadata; and a controller including a memory, the controller being suitable for storing user data and corresponding metadata in the memory and for controlling the memory device for storing therein the user data and the metadata of the memory when sizes of the user data and metadata of the memory reach first and second thresholds, respectively.

Memory device and operating method of memory device

A memory device may include a non-volatile memory and non-volatile RAM. The non-volatile memory may include a data block and a metadata block. Metadata information with respect to the data block may be included in the metadata block. A portion of metadata with respect to the data block or the metadata with respect to the metadata block may be stored in the non-volatile RAM.

Scalable data structures for control and management of non-volatile storage

Method and apparatus for managing data in a Non-Volatile Memory (NVD). In some embodiments, management information is stored in a buffer memory using a Solid-State Disk (SSD) controller circuit, the management information comprising a map data structure that associates storage addresses of a host device to physical addresses of the NVD. A location in the management information is determined responsive to a selected host storage address and a programmable parameter by arithmetically dividing in accordance with a divisor specified at least in part by the programmable parameter. The location in the management information is used to direct a transfer of user data by the SSD control circuit between the host device and the NVM.