Patent classifications
G06F3/0652
DISTRIBUTED DATA STORAGE SYSTEM USING ERASURE CODING ON STORAGE NODES FEWER THAN DATA PLUS PARITY FRAGMENTS AND HEALING FAILED WRITE ATTEMPTS
A distributed data storage system using erasure coding (EC) provides advantages of EC data storage while retaining high resiliency for EC data storage architectures having fewer data storage nodes than the number of EC data-plus-parity fragments. An illustrative embodiment is a three-node data storage system with EC 4+2. Incoming data is temporarily replicated to ameliorate the effects of certain storage node outages or fatal disk failures, so that read and write operations can continue from/to the storage system. The system is equipped to automatically heal failed EC write attempts in a manner transparent to users and/or applications: when all storage nodes are operational, the distributed data storage system automatically converts the temporarily replicated data to EC storage and reclaims storage space previously used by the temporarily replicated data. Individual hardware failures are healed through migration techniques that reconstruct and re-fragment data blocks according to the governing EC scheme.
STORAGE DEVICE AND A METHOD OF OPERATING THE SAME
A storage device including: a memory storing data based on program modes; and a storage controller including a program mode table, the storage controller configured to: in response to a program request and first data being already stored in the memory, perform a deduplication operation in which the first data is logically and not physically programmed, in response to the program or an erase request, update a count value from a first to a second value, and in response to a determination that a first program mode corresponding to the first value and a second program mode corresponding to the second value are different, transmit a first command and address to the memory such that a first program operation in which the first data programmed with first bits corresponding to the first program mode is re-programmed with second bits corresponding to the second program mode is performed,
PROCESSING PAGES MARKED FOR DELETION
A technique for managing a mapping structure in a data storage system includes identifying levels in the mapping structure of pages to be removed and estimating the workload required for removing the pages based at least in part on the identified levels. The technique further includes initiating processing of the pages based at least in part on the estimated workload.
Storage device for error detection and correction of ROM data
A storage device detects an error of ROM data and corrects the error. The storage device includes a memory device and a memory controller for controlling the memory device. The memory device includes a plurality of planes each storing Read Only Memory (ROM) data, and a ROM data controller configured to control the plurality of planes based on whether the ROM data from all of the planes are the same. The memory controller includes an operation state determiner configured to output to the ROM data controller a ROM data output command for reading the ROM data respectively stored in the plurality of planes, according to an operation state of the memory device.
Apparatus and method for controlling multi-stream program operations performed in a memory block included in a memory system
A memory includes a memory device including plural memory blocks, each memory block including plural pages, and a controller coupled to the memory device and configured to select a target memory block among the plural memory blocks, the target memory block including a first page to an N page (N is a positive integer), and program data in the target memory block, based on a type of the data, either in a first direction from the first page to the N page or in a second direction from the N page to the first page.
Memory controller and operating method thereof
A memory controller controls a memory device including a plurality of memory blocks. The memory controller is configured to: control the memory device to store data in a first area among areas of the memory device using a single level cell method, wherein the data are corresponded to a write booster request which is received from a host, perform a wear leveling operation, based on a size of the data stored in the first area, a program-erase count of each of memory blocks of the first area, and a number of free blocks in the memory device and form a mapping relationship between a logical block address, which is received from the host, and a physical block address corresponding the first area.
File decay property
A computer-implemented method, computer system, and computer program product for deleting a file from a storage medium. A file that is marked for automatic deletion is identified. A deletion time at which the file is to be deleted from the storage medium is identified. A visual indicator associated with the file is displayed. The visual indicator changes over time to provide an indication as to a nearness of the deletion time.
Pre-emptive storage strategies to reduce host command collisions
Method and apparatus for managing data in a storage device, such as a solid-state drive (SSD). A data storage device includes a main non-volatile memory (NVM) and a command queue that lists pending data transfer commands to transfer data between the NVM and a local memory. A collision manager predicts future collisions among the pending data transfer commands, such as but not limited to commands involving pending host commands from a host. A storage manager enacts a change in a storage policy to reduce a future rate of the predicted future collisions. The change in storage policy may involve duplication of write data so that the write data are written to multiple locations within the NVM. The change in storage policy may further involve a pre-emptive garbage collection operation upon an existing location to distribute current version data blocks to multiple locations within the NVM.
MICRO-BATCHING METADATA UPDATES TO REDUCE TRANSACTION JOURNAL OVERHEAD DURING SNAPSHOT DELETION
A method for deleting one or more snapshots using micro-batch processing is provided. The method includes receiving a request to delete the one or more snapshots, identifying one or more middle map extents exclusively owned by the one or more snapshots requested to be deleted, wherein metadata for the one or more snapshots is stored in one or more logical maps having logical map extents mapping logical block addresses (LBAs) to middle block addresses (MBAs) and a middle map having middle map extents mapping MBAs to physical block addresses (PBAs) of physical locations where data blocks are written, adding MBAs of the identified one or more middle map extents in a batch, determining a first micro-batch including a first subset of the MBAs in the batch, the first subset of MBAs being MBAs less than a first upper bound MBA, and using a first transaction to delete the middle map extents corresponding to the first subset of MBAs included in the first micro-batch.
MANAGING METHOD FOR FLASH STORAGE AND STORAGE SYSTEM
A managing method for a flash storage includes: sorting a plurality of blocks within the flash storage into precise blocks and imprecise blocks; and managing the sorted blocks as a plurality of free block pools. The management includes performing garbage collection and wear leveling, and the wear leveling is performed based on CEW (Cumulative Effective Wearing), the CEW indicating cumulative cell damage induced by performing a plurality of operations on a specific block. A storage system includes a memory array; and a memory controller sorting a plurality of blocks of the memory array based on error rates, applying erase voltages corresponding to the error rates, respectively, when data stored in the blocks are erased, controlling each of the erase voltages to have a value scaled down from a standard voltage, and performing incremental step pulse programming on one or more of the blocks.