Abstract:
A storage device includes a main storage including a plurality of nonvolatile memory devices, the main storage device configured to store data; and a storage controller configured to control the main storage. The storage controller is configured to, divide a plurality of memory blocks of the plurality of nonvolatile memory devices into a plurality of banks, assign each one of the plurality of banks into one of a) a plurality of sets and b) one free bank, each of the plurality of sets including at least one bank, perform data migration operation to transfer the data among the sets by using the one free bank in response to an input/output (I/O) request from an external host device while securing a specific I/O execution time, and control the data migration operation such that the I/O request is independent of the data migration operation.
Abstract:
A storage device includes a main storage including a plurality of nonvolatile memory devices, the main storage device configured to store data; and a storage controller configured to control the main storage. The storage controller is configured to, divide a plurality of memory blocks of the plurality of nonvolatile memory devices into a plurality of banks, assign each one of the plurality of banks into one of a) a plurality of sets and b) one free bank, each of the plurality of sets including at least one bank, perform data migration operation to transfer the data among the sets by using the one free bank in response to an input/output (I/O) request from an external host device while securing a specific I/O execution time, and control the data migration operation such that the I/O request is independent of the data migration operation.
Abstract:
A storage device, a directory entry lookup method for the storage device, and a host running the method can provide a quick directory entry lookup. The host includes an interface for exchanging data with the storage device which stores a multi-level hash table comprising directory entries of each directory, and a file system module receiving a file lookup command designating a target directory and a target filename, calculating a hash value which reflects the target filename and a lookup level, and searching for a directory entry which comprises the target filename in a bucket corresponding to the hash value from among buckets at the lookup level which are included in a multi-level hash table of the target directory. If the search for the directory entry fails, the file system module increases the lookup level and again calculates the hash value and searches for the directory entry for the target filename.
Abstract:
A computing system includes a storage device in which file data is stored through data blocks and metadata is stored through a node block, and a file system configured to manage the file data and the metadata stored in the storage device. The node block includes data pointers respectively pointing to the data blocks, and one or more extents each indicative of data block groups which include data blocks having continuous physical addresses among the data blocks.
Abstract:
A host configured to interact with a storage device includes a write-back (WB) cache configured to write data to the storage device, a cache managing module configured to manage the WB cache, and a file system module configured to determine whether live blocks in victim segments among a plurality of segments stored in the storage device are stored in the WB cache, to read the live blocks from the storage device as a consequence of determining that the live blocks are not stored in the WB cache, to load the read live blocks to the WB cache, and to request the cache managing module to set dirty flags for the stored live blocks.
Abstract:
A memory device may include a normal cell which is configured to be programmed to a first resistance and stabilized as a resistance of the normal cell drifts from the first resistance to a second resistance; a flag cell which is configured to be programmed to a third resistance smaller than the first resistance and stabilized as a resistance of the flag cell drifts from the third resistance to a fourth resistance smaller than the second resistance; and a decision circuit which is configured to decide whether the flag cell has been stabilized in order to determine whether the normal cell has been stabilized.
Abstract:
A storage device includes a non-volatile memory including a plurality of memory blocks. The storage device performs an alignment operation in response to receipt of an align command. The alignment operation converts a received logical address of a logical segment into a physical address and allocates the physical address to a physical block address corresponding to a free block. The storage device is further configured to performs a garbage collection in units of the physical block address that indicates one memory block.
Abstract:
An electronic system includes a host device and a storage device including a first memory device of a volatile type and a second memory device of a nonvolatile type. The first memory device is accessed by the host device through a memory-mapped input-output interface and the second memory device is accessed by the host device through a block accessible interface. The storage device provides a virtual memory region to the host device such that a host-dedicated memory region having a first size included in the first memory device is mapped to the virtual memory region having a second size larger than the first size.
Abstract:
Garbage collection is performed according to an estimated number of valid pages. A storage device estimates a valid page count at a future time based on a valid page count at each of past time steps and a present time step using a neural network model and selects a victim block that undergoes the garbage collection from memory blocks based on an estimated valid page count. A memory block having a lowest estimated valid page count or having an estimated valid page count having a maintaining tendency is selected as the victim block or a memory block having the estimated valid page count having a decreasing tendency is excluded from selecting the victim block.
Abstract:
A storage device includes a non-volatile memory including a plurality of memory blocks. The storage device performs an alignment operation in response to receipt of an align command. The alignment operation converts a received logical address of a logical segment into a physical address and allocates the physical address to a physical block address corresponding to a free block. The storage device is further configured to performs a garbage collection in units of the physical block address that indicates one memory block.