Abstract:
For a storage device including a volatile memory and a nonvolatile memory, an operating method includes partitioning the volatile memory into volatile memory blocks in response to a first control command, and then performing a data read operation, a data write operation, or a data migration operation by using at least one of the volatile memory blocks.
Abstract:
A method of performing data management in a computing system comprises performing a checkpointing operation comprising storing checkpoint of the computing system, writing a plurality of nodes in a plurality of node blocks in a sequential write method after the checkpointing operation, each of the plurality of nodes comprising position information of a next node block, and during a subsequent recovery operation, selecting a node for recovery by scanning of the plurality of node blocks using the position information.
Abstract:
A method of managing a data storage device including a memory controller and a memory device includes: calculating a first sequential and consecutive write cost (SCWC) according to a garbage collection (GC) write operation policy, a second SCWC according to a slack space recycling (SSR) write operation policy and a third SCWC according to an in-place updating (IPU) write operation policy respectively, in response to a write request in the memory controller; determining a write operation policy which has a minimum cost of the first through third SCWCs; and writing data in a selected segment in the memory device according to the determined write operation policy.
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 data management method of a computing system includes dividing a storage device into a first area and a second area, storing data and nodes related to the data in the second area, and storing a node address table in the first area. The node address table includes node identifiers corresponding to the nodes and physical addresses corresponding to the node identifiers.
Abstract:
A computing system a storage device and a file system. The storage device includes a storage area having flash memory. The file system is configured to divide the storage area into multiple zones, multiple sections and multiple blocks, and to write a log in each block. The file system includes a block allocation module. The block allocation module is configured to allocate a target block, in which a log is to be written, by a continuous block allocation method according to which a block having a continuous address with a most recently selected block is set as the target block. The block allocation module is further configured to find a free section from the multiple sections when it is not possible to allocate the target block by the continuous block allocation method, and to set a block in the found free section as the target block.
Abstract:
Victim segments to be returned to a free area in a segment cleaning process from a plurality of segments included in each segment group are selected by using a method corresponding to the segment group. A host comprises an interface relaying data exchange with a storage device; and a file system module performing a segment cleaning process by selecting victim segment from a plurality of segments stored in the storage device, discovering live blocks in each of the victim segments, writing back the discovered live blocks to the storage device through the interface, and returning the victim segments to a free area. The file system module calculates victim points for all segments included in a first segment group using a first victim point calculation formula, calculates victim points for all segments included in a second segment group using a second victim point calculation formula, and selects the victim segments based on the victim points.
Abstract:
Victim segments to be returned to a free area in a segment cleaning process from a plurality of segments included in each segment group are selected by using a method corresponding to the segment group. A host comprises an interface relaying data exchange with a storage device; and a file system module performing a segment cleaning process by selecting victim segment from a plurality of segments stored in the storage device, discovering live blocks in each of the victim segments, writing back the discovered live blocks to the storage device through the interface, and returning the victim segments to a free area. The file system module calculates victim points for all segments included in a first segment group using a first victim point calculation formula, calculates victim points for all segments included in a second segment group using a second victim point calculation formula, and selects the victim segments based on the victim points.