Host device, method of operating the same, and method of operating electronic device
By performing validity checks and generating block mapping information in the host device, the problem of the storage device performing unnecessary operations on invalid data blocks is solved, and more efficient data management and storage space utilization are achieved.
Patent Information
- Application Number
- CN202410330502.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-04
- Filing Date
- 2024-03-22
- Publication Date
- 2025-03-04
AI Technical Summary
In the prior art, when the storage device does not receive the validity information of the data block, it may perform unnecessary reliability operations on the invalid data block, resulting in wasted storage space.
The host device performs an effectiveness check operation, and generates block mapping information, which includes identification information of the target host region and validity information of the data block, and sends it to the storage device.
The storage device is effectively avoided to perform unnecessary operations on invalid data blocks, reduce the waste of storage space, and improve the efficiency of data management.
Smart Images

Figure CN119556847A_ABST
Abstract
Description
[0001] This application claims the priority of Korean Patent Application No. 10-2023-0117249 filed on September 4, 2023 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety. Technical Field
[0002] Example embodiments of the inventive concepts described herein relate to data management, and more particularly, to a host device that generates block mapping information, a method of operating the host device, and a method of operating an electronic device including the host device. Background Art
[0003] The memory device stores data in response to a write request, and outputs the data stored in the memory device in response to a read request. For example, the memory device is classified into a volatile memory device (such as a dynamic random access memory (DRAM) device or a static RAM (SRAM) device) that loses the data stored therein when the power is turned off, or a non-volatile memory device (such as a flash memory device, a phase change RAM (PRAM), a magnetic RAM (MRAM), or a resistive RAM (RRAM)) that retains the data stored therein even when the power is turned off.
[0004] The host device can store data in the memory device, read the stored data, and delete the stored data. The host device can allocate an area that supports sequential writes for the purpose of efficiently managing data. In this area, according to the user's request or the operation strategy of the host device, a valid data block can be changed to an invalid data block. When the storage device does not receive the validity information of the data block from the host device, the storage device can perform unnecessary reliability operations for the invalid data block, thereby resulting in a waste of storage space. Therefore, it may be necessary or advantageous to provide an interface that allows the host device to share the validity information of the data block with the storage device. Summary of the invention
[0005] Example embodiments of the inventive concept provide a host device that generates block mapping information, a method of operating the host device, and a method of operating an electronic device including the host device.
[0006] According to some example embodiments, an electronic device may include a host device and a storage device. A method of operating an electronic device including a host device and a storage device includes: performing, by the host device, a validity check operation of a target host region among a plurality of host regions supporting a sequential write operation; generating, by the host device based on the validity check operation, block mapping information of the target host region, the block mapping information including identification information of the target host region and validity information of all data blocks in the target host region; and sending, by the host device, the block mapping information to the storage device.
[0007] According to some example embodiments, a host device may communicate with a storage device. A method of operating a host device that communicates with a storage device includes: performing a validity check operation of a target host region among a plurality of host regions that support sequential write operations; generating block mapping information of the target host region based on the validity check operation, the block mapping information including: identification information of the target host region and validity information of all data blocks in the target host region; and sending the block mapping information to the storage device.
[0008] According to some example embodiments, a host device includes: a first processing circuit configured to manage a plurality of host regions; and a second processing circuit configured to send validity data information to the first processing circuit based on a validity check operation of a target host region among the plurality of host regions, the first processing circuit configured to generate block mapping information of the target host region based on the validity data information; and send the block mapping information to an external storage device, the block mapping information including identification information of the target host region and validity information of all data blocks in the target host region. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The above and other objects and features of the present inventive concept will become apparent by describing in detail some exemplary embodiments of the present inventive concept with reference to the attached drawings.
[0010] Figure 1 is a block diagram of an electronic device according to some example embodiments.
[0011] Figure 2 is a diagram for describing sequential writing according to some example embodiments.
[0012] Figure 3 are diagrams for describing a method of operating an electronic device according to some example embodiments.
[0013] Figure 4 is a flowchart describing a method of operating a host device according to some example embodiments.
[0014] Figure 5 is a description of some example embodiments Figure 4 A flow chart of an example of a method.
[0015] Figure 6 2 is a diagram for describing a method of operating a conventional electronic device that manages a single storage area mapped to a host area according to some example embodiments.
[0016] Figure 7 are diagrams for describing a method of operating an electronic device that manages a single storage area mapped to a host area according to some example embodiments.
[0017] Figure 8 are diagrams for describing a method of operating an electronic device that manages a single storage area mapped to a host area according to some example embodiments.
[0018] Fig. 9 are diagrams for describing a method of operating a conventional electronic device that manages a plurality of storage areas mapped to a host area according to some example embodiments.
[0019] Fig.10 are diagrams for describing a method of operating an electronic device that manages a plurality of storage areas mapped to a host area according to some example embodiments.
[0020] Fig.11 are diagrams for describing a method of operating an electronic device that manages a plurality of storage areas mapped to a host area according to some example embodiments.
[0021] Fig.12 is a flowchart describing a method of operating an electronic device according to some example embodiments. DETAILED DESCRIPTION
[0022] The inventive concept will be described more fully below with reference to the accompanying drawings, in which some example embodiments of the inventive concept are shown. As will be appreciated by those skilled in the art, the described example embodiments may be modified in various different ways without departing from the spirit or scope of the inventive concept.
[0023] Therefore, the drawings and description are to be considered illustrative rather than restrictive in nature. Throughout the specification, the same reference numerals refer to the same elements. Unless otherwise specifically stated, the order of operations or steps is not limited to the order presented in the claims or drawings. The order of operations or steps may be changed, some operations or steps may be combined, specific operations or steps may be divided, and specific operations or steps may not be performed.
[0024] As used herein, unless the context clearly indicates otherwise, the singular form is intended to include the plural form as well. Although the terms first, second, etc. may be used herein to describe various elements, components, steps and / or operations, these terms are only used to distinguish one element, component, step or operation from another element, component, step or operation.
[0025] The components described with reference to the terms "part", "unit", "module", "layer" and the like in the specific embodiments and the functional blocks shown in the drawings can be implemented in the form of software, hardware or a combination thereof. For example, the software can be machine code, firmware, embedded code and application software. For example, the hardware can include electrical circuits, electronic circuits, processors, computers, integrated circuits, integrated circuit cores, pressure sensors, inertial sensors, MEMS (micro-electromechanical systems), passive components or a combination thereof.
[0026] Figure 1 is a block diagram of an electronic device according to some example embodiments. Figure 1 , the electronic device 100 may include a host device 110 and a storage device 120. In some example embodiments, the electronic device 100 may be a computing system configured to process or store various information. For example, the electronic device 100 may be implemented with a personal computer (PC), a notebook computer, a laptop, a server, a workstation, a tablet PC, a smart phone, a digital camera, a black box, etc., but example embodiments are not limited thereto.
[0027] The host device 110 may control the overall operation of the electronic device 100. The host device 110 may communicate with the storage device 120. For example, the host device 110 may store data in the storage device 120, may read data stored in the storage device 120, or may delete data stored in the storage device 120.
[0028] In some example embodiments, the host device 110 and the storage device 120 may communicate with each other through a zone-based interface. The zone-based interface may use a zone that supports sequential writes. The zone managed through the zone-based interface may be referred to as a "host zone". Multiple data blocks in the host zone may store data sequentially. The host zone may be a logical space representing "a collection of multiple data blocks in which sequentiality (e.g., order) is guaranteed". The host zone may be internally mapped to at least one storage zone in the storage device 120.
[0029] The host device 110 may include a file system 111 and a host area manager 112. The file system 111 and the host area manager 112 may be implemented in hardware, software, or a combination of hardware and software.
[0030] For example, at least some functions or operations of the file system 111 and the host area manager 112 may be implemented by software. The functions or operations implemented by software may be stored in a non-transitory computer-readable medium as instructions or instruction codes. The processor or processing circuit of the host device 110 may execute the instructions or instruction codes stored in the non-transitory computer-readable medium so that the host device 110 performs the functions or operations corresponding to the instructions or instruction codes. In some example embodiments, the host device 110 may include a first processing circuit and a second processing circuit. For example, the first processing circuit may manage a plurality of host areas, and the second processing circuit may send validity data information to the first processing circuit based on the validity check operation of the target host area among the plurality of host areas. For example, the first processing circuit may generate block mapping information of the target host area based on the validity data information, and send the block mapping information to an external storage device.
[0031] The file system 111 may manage a file in response to a system request of an application. The file may correspond to a data block of the host area HZ1 to HZN managed by the host device 110. Here, "N" is an arbitrary positive integer. The file system 111 may update data in the data block of the host area HZ1 to HZN by generating a file, changing a file, or deleting a file, but example embodiments are not limited thereto.
[0032] The file system 111 may perform a validity check operation of the data block based on file management (e.g., based on a file management function or operation). The validity check operation may be performed to check whether each data block of the host areas HZ1 to HZN is valid or invalid. The file system 111 may provide validity data information to the host area manager 112 based on the validity check operation. The validity data information may indicate whether each data block of the host areas HZ1 to HZN is valid.
[0033] The host zone manager 112 may manage a plurality of host zones HZ1 to HZN. Each of the plurality of host zones HZ1 to HZN may include a plurality of data blocks. For example, a data block may store at least a portion of data corresponding to a file managed by the file system 111.
[0034] The host zone manager 112 may receive the validity data information from the file system 111. The host zone manager 112 may generate block mapping information of a target host zone among the plurality of host zones HZ1 to HZN based on the validity data information.
[0035] The block mapping information may include identification information of the target host area and validity information of all data blocks in the target host area. For example, the identification information may include a host index value for identifying the target host area among multiple host areas HZ1 to HZN. For example, the validity information may include a series of validity values corresponding to all data blocks of the target host area, respectively, and each validity value may indicate whether the corresponding data block of the target host area is valid. In some example embodiments, each of a series of validity values may have a first bit value (e.g., "1") when the corresponding data block is valid, and each of a series of validity values may have a second bit value (e.g., "0") when the corresponding data block is invalid.
[0036] In some example embodiments, the host area manager 112 may be implemented as a part of the file system 111, may be implemented as a part of a device driver that communicates with the storage device 120 under the control of the file system 111, may be implemented by a separate hardware device, or may be implemented by a separate processing circuit including a software module, but example embodiments are not limited thereto.
[0037] The storage device 120 may communicate with the host device 110. For example, the storage device 120 may store data from the host device 110 (e.g., data sent from the host device 110 to the storage device 120 and received by the storage device 120), may provide, send, or transfer the stored data to the host device 110, or may delete the stored data in response to a request received from the host device 110.
[0038] The storage device 120 may include a storage area manager 121, an internal operation manager 122, and a nonvolatile memory device 123. The storage area manager 121 and the internal operation manager 122 may be implemented as part of a storage controller, for example, in hardware, software, or a combination of hardware and software.
[0039] The storage area manager 121 can manage multiple storage areas SZ1 to SZM. Here, "M" is an arbitrary positive integer. Each of the multiple host areas HZ1 to HZN can be mapped to any storage area among the multiple storage areas SZ1 to SZM according to a mapping ratio. For example, the mapping ratio may indicate the number of storage areas mapped to one host area. The mapping ratio may be a natural number greater than or equal to 1. Each of the multiple storage areas SZ1 to SZM can be mapped to any physical memory block among the multiple physical memory blocks PBK1 to PBKK of the non-volatile memory device 123. Here, "K" is an arbitrary positive integer.
[0040] The internal operation manager 122 may perform internal operations of the storage device 120. The internal operation may perform or may be configured to perform additional operations for reliability maintenance, life improvement, optimization, etc., but example embodiments are not limited thereto. In some example embodiments, the internal operation may represent an operation performed independently of a read operation or a write operation of the host device 110. For example, the internal operation may include at least one of an operation of managing distribution information of a physical memory block mapped to a storage area, a reclaiming operation according to a change in the distribution information of the physical memory block (or according to retention), a wear-leveling operation of a storage area, and a garbage collection operation of a storage area, etc., but example embodiments are not limited thereto.
[0041] In some example embodiments, the internal operation manager 122 may perform an internal operation based on the block mapping information received from the host device 110. For example, the storage area manager 121 may receive block mapping information of a target host area among the plurality of host areas HZ1 to HZN from the host device 110. The storage area manager 121 may provide the block mapping information and metadata of the storage area mapped to the target host area to the internal operation manager 122. The internal operation manager 122 may perform an internal operation based on the metadata and block mapping information of the storage area. Figure 7 and Fig.10 Describes internal operations in detail.
[0042] The nonvolatile memory device 123 may include a plurality of physical memory blocks PBK1 to PBKK. The plurality of physical memory blocks PBK1 to PBKK may store data. For example, even when the power is turned off, the nonvolatile memory device 123 may retain the data stored in the nonvolatile memory device 123, and may be implemented with a flash memory device, a phase change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), etc.
[0043] Figure 2 is a diagram describing sequential writing according to some example embodiments. Figure 1 and Figure 2 , the host device 110 may include a host area manager 112. The storage device 120 may include a storage area manager 121 and a non-volatile memory device 123.
[0044] The host zone manager 112 may manage a plurality of host zones HZ1 to HZN. Each of the plurality of host zones HZ1 to HZN may include a plurality of data blocks. For example, the first host zone HZ1 may include a first data block BLK1 to an eighth data block BLK8. In order to better understand the inventive concept, an example is shown in which the first host zone HZ1 includes eight data blocks, but the number of data blocks included in a single host zone is not limited thereto, and may be less than, equal to, or greater than eight.
[0045] The host zone manager 112 may sequentially store data in the host zone. For example, the host zone manager 112 may perform sequential writing (e.g., sequential writing operation) in the first data block BLK1 to the eighth data block BLK8 of the first host zone HZ1. For example, the host zone manager 112 may perform a writing operation in the first data block BLK1 of the first host zone HZ1, and then or subsequently may perform a writing operation in the second data block BLK2 of the first host zone HZ1.
[0046] The storage area manager 121 may manage a plurality of storage areas SZ1 to SZM. A plurality of host areas HZ1 to HZN may be mapped to a plurality of storage areas SZ1 to SZM. In order to better understand the inventive concept, a description may be given as follows: a first host area HZ1 is mapped to a first storage area SZ1, but, as can be understood by a person of ordinary skill in the art, the mapping relationship between the host area and the storage area may be changed and modified differently. For example, a single host area may be mapped to a plurality of storage areas (e.g., a single host area may be mapped to one or more storage areas), or the number of storage areas to be mapped for each of the host areas HZ1 to HZN may be determined differently.
[0047] The nonvolatile memory device 123 may include a plurality of physical memory blocks PBK1 to PBKK. First to eighth physical memory blocks PBK1 to PBK8 among the plurality of physical memory blocks PBK1 to PBKK may be mapped to first to eighth data blocks BLK1 to BLK8 of the first storage area SZ1, respectively.
[0048] In some example embodiments, the storage area manager 121 may manage a mapping relationship between a plurality of host areas HZ1 to HZN and a plurality of storage areas SZ1 to SZM. For example, the storage area manager 121 may store metadata indicating a mapping relationship between a first host area HZ1 and a first storage area SZ1. The first data block BLK1 to the eighth data block BLK8 of the first host area HZ1 may correspond to the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1, respectively. For example, even in the memory blocks of at least one storage area corresponding to the host area, the sequentiality (e.g., order), logical addresses, and mapping relationships associated with the memory blocks of the host area may be maintained.
[0049] In some example embodiments, the storage area manager 121 may manage a mapping relationship between a plurality of storage areas SZ1 to SZM and a plurality of physical memory blocks PBK1 to PBKK. For example, the storage area manager 121 may store metadata indicating a mapping relationship between the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1 and the first physical memory block PBK1 to the eighth physical memory block PBK8 among the plurality of physical memory blocks PBK1 to PBKK of the nonvolatile memory device 123. For example, the storage area manager 121 may store a mapping relationship (e.g., a logical-to-physical (L2P) mapping relationship) between the logical addresses of the first data blocks BLK1 to the eighth data blocks BLK8 of the first storage area SZ1 and the physical addresses of the first physical memory blocks PBK1 to the eighth physical memory blocks PBK8.
[0050] In some example embodiments, since sequential write operations are performed in the first to eighth data blocks BLK1 to BLK8 of the first storage area SZ1, the first to eighth physical memory blocks PBK1 to PBK8 of the nonvolatile memory device 123 may sequentially store data. For example, even in a physical area corresponding to a logical area, sequentiality (e.g., order) in the logical area may be maintained.
[0051] Figure 3 is a diagram for describing a method of operating an electronic device according to some example embodiments. Figure 3 , the electronic device 100 may include a host device 110 and a storage device 120 .
[0052] The host device 110 may include a file system 111, a host area manager 112, and an application 113. The storage device 120 may include a storage area manager 121, an internal operation manager 122, a nonvolatile memory device 123, and a command manager 124.
[0053] The application 113 may generate a system request under the control of the user. The application 113 may provide the system request to the file system 111 .
[0054] The file system 111 may manage files based on a system request. For example, the file system 111 may update data in data blocks of a plurality of host areas HZ1 to HZN by generating a file based on a system request, changing a file based on a system request, or deleting a file based on a system request, but example embodiments are not limited thereto. The file system 111 may include a valid data checker 114. The valid data checker 114 may perform a validity check operation of a target host area among the plurality of host areas HZ1 to HZN based on the update of the data. The valid data checker 114 may generate validity data information based on the validity check operation. In some example embodiments, the valid data checker 114 may provide, transmit, or send the validity data information to the host area manager 112.
[0055] The host zone manager 112 may include a host zone table 116 and a block mapping information generator 115. The host zone manager 112 may store metadata of a plurality of host zones HZ1 to HZN. The host zone manager 112 may update the metadata of the host zone table 116 based on the validity data information provided from the file system 111. The metadata of the host zone table 116 may include a block index value (or, block index) of a data block corresponding to the host zone and a validity value of the data block. The validity value may vary according to the data state of the data block.
[0056] For example, the host zone table 116 may include metadata of the first host zone HZ1. The metadata of the first host zone HZ1 may include index values of the first data block BLK1 to the eighth data block BLK8 corresponding to the first host zone HZ1 and validity values of the first data block BLK1 to the eighth data block BLK8. The validity values of the first data block BLK1 to the eighth data block BLK8 may change according to the data state of the first data block BLK1 to the eighth data block BLK8. For example, when the data block is valid, the validity value corresponding to the data block may have a first bit value (e.g., "1"), and when the data block is invalid, the validity value corresponding to the data block may have a second bit value (e.g., "0").
[0057] The block mapping information generator 115 of the host zone manager 112 may generate block mapping information BMI with reference to the updated data of the host zone table 116. The block mapping information BMI may include identification information of the target host zone and validity information of all data blocks in the target host zone.
[0058] For example, the target host area may be the first host area HZ1 among the plurality of host areas HZ1 to HZN. The block mapping information generator 115 may generate block mapping information BMI including identification information and validity information. The identification information may include a host index value for identifying the first host area HZ1 among the plurality of host areas HZ1 to HZN. The validity information may include a series of validity values indicating whether the first data block BLK1 to the eighth data block BLK8 as all data blocks of the first host area HZ1 are valid. Each of the series of validity values may have a first bit value when the corresponding data block is valid, and each of the series of validity values may have a second bit value when the corresponding data block is invalid.
[0059] The storage area manager 121 may include a region mapping table 117 and a storage area table 118. The region mapping table 117 may store mapping information of a plurality of host areas HZ1 to HZN and a plurality of storage areas SZ1 to SZM. For example, the region mapping table 117 may store mapping information of a first host area HZ1 and a first storage area SZ1. The storage area table 118 may store metadata of a plurality of storage areas SZ1 to SZM. For example, the metadata of the storage area may include a write pointer (WP) in the storage area, validity information of a data block, a physical address of a physical memory block mapped to the data block (or L2P mapping information), etc. The write pointer may indicate the address of a data block of the storage area in which sequential writing is to be performed.
[0060] The storage region manager 121 may search for a storage region corresponding to a target host region based on the block mapping information BMI from the host region manager 112 , may update metadata of the found storage region, and may provide the updated metadata and block mapping information BMI to the internal operation manager 122 .
[0061] The internal operation manager 122 may perform an internal operation based on the updated metadata and block mapping information BMI of the storage area.
[0062] The command manager 124 may communicate with the storage area manager 121, the internal operation manager 122, and the non-volatile memory device 123. The command manager 124 may perform an internal operation in the non-volatile memory device 123 under the control of the internal operation manager 122. The command manager 124 may perform a reset operation (e.g., an operation of deleting all data in an area and deleting a write pointer) in the non-volatile memory device 123 under the control of the storage area manager 121. In addition to the internal operation and the reset operation, in some example embodiments, the command manager 124 may also perform a read operation, a write operation, and an erase operation of data based on a request from the file system 111 and communication with the storage area manager 121.
[0063] The nonvolatile memory device 123 may include a plurality of physical memory blocks PBK1 to PBKK. The plurality of physical memory blocks PBK1 to PBKK may be mapped to a plurality of storage areas SZ1 to SZM. The mapping relationship between the plurality of physical memory blocks PBK1 to PBKK and the plurality of storage areas SZ1 to SZM may be managed as metadata in the storage area table 117 by the storage area manager 121.
[0064] Hereinafter, a method of operating the electronic device 100 to generate the block mapping information BMI will be described.
[0065] In the first operation ①, the file system 111 may perform a validity check operation according to a system request or an operation policy of the application 113. The file system 111 may generate validity data information based on the validity check operation. For example, when data of a target host area among the plurality of host areas HZ1 to HZN is generated, changed, or deleted, the validity data information may include information about "data blocks of the target host area that have undergone validity changes". The file system 111 may provide the validity data information to the host area manager 112.
[0066] In the second operation ②, the host area manager 112 may generate block mapping information BMI of the target host area based on the validity data information. The block mapping information BMI may include identification information and validity information. For example, when the first host area HZ1 is the target host area, the identification information may include an index value for identifying the first host area HZ1 among the plurality of host areas HZ1 to HZN. The validity information may include a series of validity values indicating whether the first data block BLK1 to the eighth data block BLK8 of the first host area HZ1 are valid. The host area manager 112 may provide the block mapping information BMI to the storage area manager 121.
[0067] In the third operation ③, the storage area manager 121 may update the metadata of the storage area corresponding to the target host area based on the block mapping information BMI. The metadata of the storage area may include a write pointer (WP) in the storage area, validity information of the data block, a physical address of a physical memory block mapped to the data block, etc. The storage area manager 121 may provide the updated metadata and block mapping information BMI to the internal operation manager 122. The internal operation manager 122 may perform internal operations by controlling the command manager 124 based on the updated metadata and block mapping information BMI.
[0068] For example, when the first host area HZ1 is the target host area and the storage area mapped to the first host area HZ1 is the first storage area SZ1, the internal operations may include at least one of a distribution information management operation of a physical memory block mapped to the first storage area SZ1, a recycling operation based on a change (e.g., retention) of the distribution information of the physical memory block, a wear leveling operation of the first storage area SZ1, and a garbage collection operation of the first storage area SZ1.
[0069] As described above, the host device 110 according to some example embodiments of the inventive concept may provide the block mapping information BMI indicating whether a portion of the data block is valid to the storage device 120 independently of the reset operation of the host region. When an interface enabling sharing of the block mapping information BMI is added, the storage device 120 may distinguish valid data blocks from invalid data blocks before resetting the host region, and thus, internal operations may be efficiently performed.
[0070] Figure 4 is a flowchart describing a method of operating a host device according to some example embodiments. Figure 4 , the host device can communicate with the storage device. Figure 3 Corresponding to the host device 110.
[0071] In operation S110, the host device may perform a validity check operation of the target host region. For example, the host device 110 and the storage device 120 may communicate with each other through a region-based interface. The host device 110 may manage a plurality of host regions that support sequential writing (e.g., Figure 3 The host device 110 may execute multiple host zones (e.g., HZ1, HZ2, ..., HZN) according to a user's request or operation policy. Figure 3 The validity check operation may include determining whether each of all data blocks BLK in the target host area is valid or invalid.
[0072] In operation S120, the host device 110 may update metadata of the target host area. For example, the metadata of the target host area may include index values of all data blocks BLK corresponding to the target host area and validity values of all data blocks BLK. The validity value may vary according to the data state of the data block BLK.
[0073] In operation S130, the host device 110 may determine whether at least part of the data blocks BLK of the target host area is valid based on the updated metadata of the target host area. For example, when at least part of the data blocks BLK of the target host area is valid, the host device 110 may perform or be configured to perform operation S140.
[0074] In operation S140, the host device 110 may generate block mapping information BMI of the target host area. The block mapping information BMI may include identification information of the target host area and validity information of all data blocks BLK in the target host area.
[0075] In operation S150, the host device 110 may provide, transfer, or transmit the block mapping information BMI to the memory device 120. The provided, transferred, or transmitted block mapping information BMI may be used to control internal operations in the memory device 120.
[0076] In some example embodiments, the host device 110 may asynchronously provide, transfer, or send the block mapping information BMI to the storage device 120. For example, the storage device 120 may not immediately return, transfer, or send a notification (or response) indicating completion of processing of the block mapping information BMI (for example, may return, transfer, or send a notification after the internal operation is completed), or may not return, transfer, or send a notification. In some example embodiments, at a time point determined according to an internal operation policy of the storage device 120, the storage device 120 may perform an internal operation based on the block mapping information BMI, rather than immediately performing the internal operation based on the block mapping information BMI.
[0077] Returning to operation S130, in some example embodiments, when all data blocks BLK of the target host region are invalid (e.g., when the valid data blocks BLK do not exist in the target host region), the host device 110 may perform operation S160. For example, the host device 110 may determine whether all data blocks BLK of the target host region are invalid (e.g., when the valid data blocks BLK do not exist in the target host region), and in response to determining that all data blocks BLK of the target host region are invalid, the host device 110 may perform operation S160.
[0078] In operation S160, the host device 110 may provide a reset request for the target host area to the storage device 120. In some example embodiments, in operation S160, the host device 110 may transmit or send the reset request for the target host area to the storage device 120. The reset request may indicate a reset operation of at least one storage area mapped to the target host area. The reset operation may include: deleting one or more write pointers of at least one storage area mapped to the target host area, and performing physical erasure on a physical memory block corresponding to the at least one storage area.
[0079] For example, when all data blocks BLK of the target host area are invalid, because it may not be necessary, disadvantageous, or expected for the storage device 120 to maintain the reliability of the data corresponding to the target host area to be deleted, the host device 110 may provide, transmit, or send a reset request to the storage device 120 instead of providing, transmitting, or sending the block mapping information BMI to the storage device 120.
[0080] In some example embodiments, when the valid data block BLK exists in the target host area (e.g., in the case of "yes" determination in operation S130), it may be necessary, advantageous, or desirable for the storage device 120 to maintain the reliability of the valid data block BLK for subsequent read operations. The host device 110 may provide the block mapping information BMI to the storage device 120 before performing the reset operation, and thus, the efficiency of the internal operation of the storage device 120 may be improved.
[0081] Figure 5 The present invention is a description of some example embodiments of the present invention. Figure 4 Flow chart of an example of a method. Figure 5 , the host device 110 may communicate with the storage device 120. The method of operating the host device according to some example embodiments may include operation S240, operation S241, operation S242, and operation S250. Operation S240, operation S241, and operation S242 may be related to Figure 4 Operation S250 may correspond to operation S140. Figure 4 Corresponding to operation S150.
[0082] In operation S240, the host device 110 may determine the number of invalid data blocks BLK among all data blocks BLK of the target host area (eg, based on a validity check operation). The target host area may be a plurality of host areas (eg, Figure 3 One of the HZ1, HZ2, ..., HZN shown in . Multiple host zones (e.g., Figure 3 HZ1, HZ2, ..., HZN) shown in can support sequential writing.
[0083] In operation S241, the host device 110 may determine whether the number of invalid data blocks BLK of the target host area exceeds a threshold value. For example, when the number of invalid data blocks BLK of the target host area exceeds the threshold value, the host device 110 may perform operation S242.
[0084] In operation S242, the host device 110 may generate block mapping information BMI of the target host area. The block mapping information BMI may include identification information of the target host area and validity information of all data blocks BLK in the target host area. For example, the validity information may include validity values (e.g., validity values having a second bit value) of invalid data blocks BLK whose number exceeds a threshold.
[0085] In operation S250, the host device 110 may provide, transfer, or transmit the block mapping information BMI to the memory device 120. The provided, transferred, or transmitted block mapping information BMI may be used to control internal operations in the memory device 120.
[0086] Returning to operation S241 , in some example embodiments, when the number of invalid data blocks BLK of the target host region does not exceed the threshold value, the host device 110 may end the operation without generating block mapping information BMI of the target host region.
[0087] For example, when invalid data blocks BLK whose number exceeds a threshold value are identified based on the validity check operation of the target host area, the host device 110 may provide, transfer, or transmit the block mapping information BMI to the storage device 120 .
[0088] Figure 6 is a diagram describing a method of operating a conventional electronic device that manages a single storage area mapped to a host area according to some example embodiments. Figure 6 , the electronic device ED1 may manage a single storage area mapped to the host area. In the electronic device ED1, the mapping ratio of the host area and the storage area may be "1". In order to better understand the inventive concept, the electronic device ED1 is described, but the electronic device ED1 may include components or characteristics that are not disclosed in the document of the information disclosure statement. That is, the inventive concept is not intended to be limited to Figure 6 The electronic device ED1 shown in FIG.
[0089] The electronic device ED1 may include a host device HD1 and a storage device SD1. The host device HD1 may include a file system 111 and a host area manager 112. The storage device SD1 may include a storage area manager 121, an internal operation manager 122, and a nonvolatile memory device 123.
[0090] The file system 111 may include a valid data checker 114. The valid data checker 114 may perform a validity check operation of a first host zone HZ1 among a plurality of host zones HZ1 to HZN. The first host zone HZ1 may also be referred to as a "target host zone".
[0091] The valid data checker 114 may determine that the fourth data block BLK4 and the fifth data block BLK5 among the first data block BLK1 to the eighth data block BLK8 of the first host zone HZ1 are valid based on the validity check operation, and the remaining data blocks BLK1 to BLK3 and BLK6 to BLK8 are invalid. The valid data checker 114 may provide validity data information corresponding to the result of the validity check operation to the host zone manager 112.
[0092] The host zone manager 112 may manage the plurality of host zones HZ1 to HZN based on the validity data information. The host zone manager 112 may not share the validity data information or the block mapping information BMI of the first host zone HZ1 based on the validity data information with the storage device SD1.
[0093] The storage area manager 121 may include a zone mapping table 117 and a storage area table 118. The storage area manager 121 may store a mapping relationship between the first host zone HZ1 and the first storage zone SZ1 in the zone mapping table 117. The storage area manager 121 may store metadata of the plurality of storage zones SZ1 to SZM in the storage area table 118.
[0094] The metadata of the first storage area SZ1 among the plurality of storage areas SZ1 to SZM may include data states of the first data blocks BLK1 to the eighth data blocks BLK8 of the first storage area SZ1. The storage area manager 121 may refer to the metadata of the first storage area SZ1 stored in the storage area table 118 to determine that all the first data blocks BLK1 to the eighth data blocks BLK8 of the first storage area SZ1 are valid.
[0095] For example, the fourth data block BLK4 and the fifth data block BLK5 among the first data blocks BLK1 to the eighth data block BLK8 of the first storage area SZ1 may be valid, and the first data blocks BLK1 to the third data blocks BLK3 and the sixth data blocks BLK6 to the eighth data blocks BLK8 may be invalid. Because the host area manager 112 does not provide the block mapping information BMI to the storage area manager 121, the storage area manager 121 may abnormally recognize that the invalid first data blocks BLK1 to the third data blocks BLK3 and the sixth data blocks BLK6 to the eighth data blocks BLK8 are valid. Therefore, the data states of the first data blocks BLK1 to the third data blocks BLK3 and the sixth data blocks BLK6 to the eighth data blocks BLK8 are described as "false valid".
[0096] The internal operation manager 122 may perform internal operations of the physical memory blocks corresponding to the first storage area SZ1 with reference to the storage area table 118. For example, the nonvolatile memory device 123 may include a plurality of physical memory blocks PBK1 to PBKK. The first physical memory block PBK1 to the eighth physical memory block PBK8 of the plurality of physical memory blocks PBK1 to PBKK may be mapped to the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1, respectively.
[0097] In some example embodiments, based on the metadata of the first storage area SZ1 stored in the storage area table 118, the internal operation manager 122 may manage the first data blocks BLK1 to the third data blocks BLK3 and the sixth data blocks BLK6 to the eighth data blocks BLK8 having the "false valid" data state as if the first data blocks BLK1 to the third data blocks BLK3 and the sixth data blocks BLK6 to the eighth data blocks BLK8 having the "false valid" data state are valid data blocks. For example, the internal operation manager 122 may check the distribution information of the data blocks having the "false valid" data state, and may perform a recycling operation (e.g., a re-write operation) according to the change of the distribution information.
[0098] For example, one or more resources of the storage device SD1 may be wasted to maintain the reliability of invalid data, which may lead to high overhead of data management. Therefore, it may be necessary or advantageous to provide a technique for classifying (or selecting) out "false valid" data blocks and effectively managing "false valid" data blocks.
[0099] Figure 7 2 is a diagram for describing a method of operating an electronic device that manages a single storage area mapped to a host area according to some example embodiments of the inventive concept. Figure 7 , the electronic device 200 may manage a single storage area mapped to a host area. In the electronic device 200, a mapping ratio of the host area and the storage area may be "1".
[0100] The electronic device 200 may include a host device 210 and a storage device 220. The host device 210 may include a file system 211 and a host area manager 212. The storage device 220 may include a storage area manager 221, an internal operation manager 222, and a nonvolatile memory device 223.
[0101] The file system 211 may include a valid data checker 214. The valid data checker 214 may perform a validity check operation on a first host zone HZ1 among the plurality of host zones HZ1 to HZN. The first host zone HZ1 may also be referred to as a “target host zone”.
[0102] The valid data checker 214 may generate validity data information of the first host zone HZ1 based on the validity check operation. The valid data checker 214 may indicate that the fourth data block BLK4 and the fifth data block BLK5 among the first data block BLK1 to the eighth data block BLK8 of the first host zone HZ1 are valid, and the first data block BLK1 to the third data block BLK3 and the sixth data block BLK6 to the eighth data block BLK8 are invalid.
[0103] The host zone manager 212 may manage a plurality of host zones HZ1 to HZN. The host zone manager 212 may include a block mapping information generator 215 and a host zone table 216. The host zone manager 212 may update metadata of the first host zone HZ1 stored in the host zone table 216 based on the validity data information. The block mapping information generator 215 may generate block mapping information BMI of the first host zone HZ1 based on the updated metadata of the first host zone HZ1. The block mapping information BMI may include identification information of the first host zone HZ1 and validity information of first data blocks BLK1 to eighth data blocks BLK8 of the first host zone HZ1 of the first host zone HZ1.
[0104] The storage area manager 221 may include a region mapping table 217 and a storage area table 218. The storage area manager 221 may store a mapping relationship between the first host area HZ1 as a target host area and the first storage area SZ1 in the region mapping table 217. The storage area manager 221 may store metadata of the plurality of storage areas SZ1 to SZM in the storage area table 218. The storage area manager 221 may update the metadata of the first storage area SZ1 of the storage area table 218 based on the block mapping information BMI.
[0105] The updated metadata of the first storage area SZ1 may include updated data states of the first data blocks BLK1 to BLK8 of the first storage area SZ1. Referring to the updated metadata of the first storage area SZ1 of the storage area table 218, in some example embodiments, the storage area manager 221 may determine that the fourth data block BLK4 and the fifth data block BLK5 among the first data blocks BLK1 to BLK8 of the first storage area SZ1 are valid, and the first data blocks BLK1 to BLK3 and the sixth data blocks BLK6 to BLK8 are invalid.
[0106] The storage area manager 221 can manage the invalid first data block BLK1 to the third data block BLK3 and the sixth data block BLK6 to the eighth data block BLK8 as a dummy data block. For example, the dummy data block can represent a data block that does not store valid data, maintains the validity of the write pointer in the storage area, and stores an arbitrary value (or a value that does not undergo a reliability operation of an existing value) using an existing address mapping relationship without modification.
[0107] The internal operation manager 222 may perform internal operations of a physical memory block corresponding to the first storage area SZ1 with reference to the updated metadata of the first storage area SZ1 stored in the storage area table 218 of the storage area manager 221. For example, the nonvolatile memory device 223 may include a plurality of physical memory blocks PBK1 to PBKK. The first physical memory block PBK1 to the eighth physical memory block PBK8 among the plurality of physical memory blocks PBK1 to PBKK may be mapped to the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1, respectively.
[0108] Hereinafter, a method of operating the electronic device 200 that manages a single storage area mapped to a host area will be described according to some example embodiments.
[0109] In the first operation ①, the file system 211 may provide validity data information to the host zone manager 212 based on the validity check operation of the first host zone HZ1. The validity data information may indicate whether each of all data blocks BLK of the first host zone HZ1 is valid.
[0110] In the second operation ②, the host zone manager 212 may determine that part of the first data block BLK1 to the eighth data block BLK8 of the first host zone HZ1 is valid based on the validity data information. For example, the host zone manager 212 may determine that the fourth data block BLK4 and the fifth data block BLK5 of the first host zone HZ1 are valid. For example, the host zone manager 212 may determine that part of all data blocks BLK in the target host zone is valid.
[0111] In the third operation ③, the host zone manager 212 may provide the block mapping information BMI of the target host zone to the storage zone manager 221. For example, in response to determining that some data blocks BLK in the first host zone HZ1 are valid, the host zone manager 212 may generate the block mapping information BMI of the first host zone HZ1 through the block mapping information generator 215. The block mapping information BMI may include identification information of the first host zone HZ1 and validity information of all data blocks of the first host zone HZ1.
[0112] In the fourth operation ④, the storage device 220 may manage the invalid data block BLK as a dummy data block based on the block mapping information BMI. For example, the storage area manager 221 may search for the first storage area SZ1 mapped to the first host area HZ1 as the target host area with reference to the area mapping table 217, and may update the metadata of the first storage area SZ1 in the storage area table 218 based on the block mapping information BMI.
[0113] The internal operation manager 222 may refer to the updated metadata of the first storage area SZ1 from the storage area table 218. According to the updated metadata of the first storage area SZ1, the fourth data block BLK4 and the fifth data block BLK5 of the first storage area SZ1 may store valid data, and the first data block BLK1 to the third data block BLK3 and the sixth data block BLK6 to the eighth data block BLK8 may store invalid data.
[0114] The internal operation manager 222 may perform normal internal operations on the fourth data block BLK4 and the fifth data block BLK5 storing valid data. For example, the internal operation manager 222 may check the distribution information of the fourth data block BLK4 and the fifth data block BLK5, and may perform a recycling operation according to the change of the distribution information.
[0115] According to some example embodiments, the internal operation manager 222 may omit at least some of the internal operations for the first to third data blocks BLK1 to BLK3 and the sixth to eighth data blocks BLK6 to BLK8 storing invalid data. For example, the internal operation manager 222 may not check the distribution information of the first to third data blocks BLK1 to BLK3 and the sixth to eighth data blocks BLK6 to BLK8 storing invalid data whose reliability maintenance may not be important, or may omit the recycling operation according to the change of the distribution information.
[0116] As described above, according to some example embodiments of the inventive concept, an interface that allows "the host device 210 and the storage device 220 to share the block mapping information BMI of the target host area where the invalid data block and the valid data block exist together" can be provided. The storage device 220 can manage the invalid data as dummy data based on the block mapping information BMI, and therefore, the burden or cost of data management can be reduced. Therefore, in some example embodiments, the waste of one or more resources of the storage device for maintaining the reliability of invalid data can be suppressed or reduced, and the overhead for data management can be reduced.
[0117] Figure 8 2 is a diagram for describing a method of operating an electronic device that manages a single storage area mapped to a host area according to some example embodiments of the inventive concept. Figure 8, the electronic device 200 may manage a single storage area mapped to a host area. In the electronic device 200, a mapping ratio of the host area and the storage area may be "1".
[0118] The electronic device 200 may include a host device 210 and a storage device 220. The host device 210 may include a file system 211 and a host area manager 212. The storage device 220 may include a storage area manager 221 and a nonvolatile memory device 223.
[0119] The file system 211, the host area manager 212, the storage area manager 221 and the non-volatile memory device 223 are Figure 7 The file system 211, the host area manager 212, the storage area manager 221, and the non-volatile memory device 223 are similar, and therefore, additional description will be omitted to avoid redundancy.
[0120] Hereinafter, a method of operating the electronic device 200 that manages a single storage area mapped to a host area will be described.
[0121] In the first operation ①, the file system 211 may provide validity data information to the host zone manager 212 based on the validity check operation of the first host zone HZ1. The validity data information may indicate whether each of all data blocks BLK of the first host zone HZ1 is valid.
[0122] In the second operation ②, the host zone manager 212 may determine that all the first to eighth data blocks BLK1 to BLK8 of the first host zone HZ1 are invalid based on the validity data information. For example, the host zone manager 212 may determine that all data blocks BLK in the target host zone are invalid.
[0123] In the third operation ③, the host zone manager 212 may provide a reset request for the target host zone to the storage zone manager 221. For example, in response to determining that all data blocks of the first host zone HZ1 are invalid, the host zone manager 212 may provide a reset request indicating a reset operation of the first host zone HZ1 to the storage zone manager 221.
[0124] In the fourth operation {circle around (4)}, the storage area manager 221 may perform a reset operation of the first storage area SZ1 mapped to the first host area HZ1 based on the reset request.
[0125] For example, the storage area manager 221 may search for the first storage area SZ1 mapped to the first host area HZ1 as the target host area with reference to the area mapping table 217, may search for the first physical memory block PBK1 to the eighth physical memory block PBK8 mapped to the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1 with reference to the storage area table 218, may perform physical erasure of the first physical memory block PBK1 to the eighth physical memory block PBK8 among the multiple physical memory blocks PBK1 to PBKK in the non-volatile memory device 223, or may perform unmapping between the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1 and the first physical memory block PBK1 to the eighth physical memory block PBK8 (for example, delete the L2P (logical to physical) mapping relationship), may set the data status of the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1 to the empty state in the storage area table 218, and may initialize a write operation in the storage area table 218.
[0126] The first storage area SZ1 where the reset operation is performed may be referred to as an “empty storage area.” The empty storage area may be used to store new data in a subsequent write operation or may be deallocated according to a request of the host device 210 .
[0127] Fig. 9 is a diagram describing a method of operating a conventional electronic device that manages a plurality of storage areas mapped to a host area according to some example embodiments. Fig. 9 , the electronic device ED2 may manage a plurality of storage areas mapped to the host area. In the electronic device ED2, the mapping ratio of the host area to the storage area may be "4". In order to better understand the inventive concept, the electronic device ED2 is described, but the electronic device ED2 may include components or features not disclosed in the document of the information disclosure statement. In addition, the number of storage areas to be mapped to the host area may be greater than or less than four. For example, the inventive concept is not intended to be limited to Fig. 9 The electronic device ED2 shown in .
[0128] The electronic device ED2 may include a host device HD2 and a storage device SD2. The host device HD2 may include a file system 211 and a host area manager 212. The storage device SD2 may include a storage area manager 221, an internal operation manager 222, and a nonvolatile memory device 223.
[0129] The file system 211, the host area manager 212, the storage area manager 221, the internal operation manager 222 and the non-volatile memory device 223 are Figure 6The file system 111, the host area manager 112, the storage area manager 121, the internal operation manager 122, and the non-volatile memory device 123 are similar, and therefore, additional description will be omitted to avoid redundancy.
[0130] The valid data checker 214 of the file system 211 may perform a validity check operation of the first host zone HZ1, and may provide validity data information corresponding to a result of the validity check operation to the host zone manager 212. The host zone manager 212 may not share the validity data information or the block mapping information BMI of the first host zone HZ1 based on the validity data information with the storage device SD2.
[0131] The storage area manager 221 may include a region mapping table 217 and a storage area table 218. The storage area manager 221 may store a mapping relationship between the first host area HZ1 and the first to fourth storage areas SZ1 to SZ4 in the region mapping table 217. The storage area manager 221 may store metadata of the plurality of storage areas SZ1 to SZM in the storage area table 218.
[0132] The metadata of the first storage area SZ1 to the fourth storage area SZ4 among the plurality of storage areas SZ1 to SZM may include data states corresponding to the first data blocks BLK1 to the eighth data blocks BLK8, and the first data blocks BLK1 to the eighth data blocks BLK8 correspond to the first storage area SZ1 to the fourth storage area SZ4. The storage area manager 221 may refer to the metadata of the first storage area SZ1 to the fourth storage area SZ4 stored in the storage area table 218 to determine that all the first data blocks BLK1 to the eighth data blocks BLK8 corresponding to the first storage area SZ1 to the fourth storage area SZ4 are valid.
[0133] As in reference Figure 6 As in the described electronic device ED1, the storage area manager 221 may abnormally recognize that the invalid first data blocks BLK1 to the third data blocks BLK3 and the sixth data blocks BLK6 to the eighth data blocks BLK8 are valid. Based on the metadata of the first storage area SZ1 to the fourth storage area SZ4 stored in the storage area table 218, the internal operation manager 222 may manage the first data blocks BLK1 to the third data blocks BLK3 and the sixth data blocks BLK6 to the eighth data blocks BLK8 having the "false valid" data state as if they were valid data blocks.
[0134] For example, one or more resources of the storage device SD2 may be wasted to maintain the reliability of invalid data, which results in high overhead for data management. Therefore, it may be necessary or advantageous to provide a technique for classifying (or selecting) out "false valid" data blocks and effectively managing "false valid" data blocks.
[0135] Fig.10 2 is a diagram for describing a method of operating an electronic device that manages a plurality of storage areas mapped to a host area according to some example embodiments of the inventive concept. Fig.10 , the electronic device 300 may include a plurality of storage areas mapped to the host area. In the electronic device 300, the mapping ratio of the host area to the storage area may be "4". However, the inventive concept is not limited thereto. For example, the number of storage areas to be mapped to the host area may be greater than or equal to four, or less than or equal to four.
[0136] The electronic device 300 may include a host device 310 and a storage device 320. The host device 310 may include a file system 311 and a host area manager 312. The storage device 320 may include a storage area manager 321, an internal operation manager 322, and a nonvolatile memory device 323.
[0137] The file system 311, the host area manager 312, the storage area manager 321, the internal operation manager 322 and the non-volatile memory device 323 are Figure 7 The file system 211, the host area manager 212, the storage area manager 221, the internal operation manager 222, and the non-volatile memory device 223 are similar, and therefore, additional description will be omitted to avoid redundancy.
[0138] The storage area manager 321 may include a region mapping table 317 and a storage area table 318. The storage area manager 321 may store a mapping relationship between the first host area HZ1 as a target host area and the first to fourth storage areas SZ1 to SZ4 in the region mapping table 317. The storage area manager 321 may store metadata of the first to fourth storage areas SZ1 to SZ4 in the storage area table 318. The storage area manager 321 may update the metadata of the first to fourth storage areas SZ1 to SZ4 of the storage area table 318 based on the block mapping information BMI.
[0139] Hereinafter, a method of operating the electronic device 300 that manages a plurality of storage areas mapped to a host area will be described according to some example embodiments.
[0140] In the first operation ①, the file system 311 may provide validity data information based on the validity check operation of the first host zone HZ1 to the host zone manager 312. The validity data information may indicate whether each of all data blocks BLK of the first host zone HZ1 is valid.
[0141] In the second operation ②, the host zone manager 312 may determine that part of the first data block BLK1 to the eighth data block BLK8 of the first host zone HZ1 is valid based on the validity data information. For example, the host zone manager 312 may determine that the fourth data block BLK4 and the fifth data block BLK5 of the first host zone HZ1 are valid. For example, the host zone manager 312 may determine that part of all data blocks BLK in the target host zone is valid.
[0142] In the third operation ③, the host zone manager 312 may provide the block mapping information BMI of the target host zone to the storage zone manager 321. For example, in response to determining that some data blocks BLK in the first host zone HZ1 are valid, the host zone manager 312 may generate the block mapping information BMI of the first host zone HZ1 through the block mapping information generator 315. The block mapping information BMI may include identification information of the first host zone HZ1 and validity information of all data blocks BLK of the first host zone HZ1.
[0143] In the fourth operation ④, the storage device 320 may manage the invalid data block BLK as a dummy data block based on the block mapping information BMI. For example, the storage area manager 321 may search for the first storage area SZ1 to the fourth storage area SZ4 mapped to the first host area HZ1 as the target host area with reference to the area mapping table 317, and may update the metadata of the first storage area SZ1 to the fourth storage area SZ4 in the storage area table 318 based on the block mapping information BMI.
[0144] In some example embodiments, when metadata is updated based on the block mapping information BMI (for example, during, simultaneously with, or concurrently with it), the storage area manager 321 may manage the first data block BLK1 to the third data block BLK3 and the sixth data block BLK6 to the eighth data block BLK8 among the first data blocks BLK1 to the eighth data block BLK8 corresponding to the first storage area SZ1 to the fourth storage area SZ4 as virtual data blocks based on the block mapping information BMI.
[0145] In some example embodiments, the storage area manager 321 may identify an invalid storage area (e.g., the first storage area SZ1 and the fourth storage area SZ4) in which all data blocks are dummy data blocks from among the first storage area SZ1 to the fourth storage area SZ4. The storage area manager 321 may perform a reset operation of the first storage area SZ1 and the fourth storage area SZ4. After the reset operation, the first data block BLK1, the second data block BLK2, the seventh data block BLK7, and the eighth data block BLK8 of the first storage area SZ1 and the fourth storage area SZ4 may be in an empty state.
[0146] The internal operation manager 322 may refer to the updated metadata of the first to fourth storage areas SZ1 to SZ4 from the storage area table 318. In some example embodiments, according to the updated metadata of the first to fourth storage areas SZ1 to SZ4, the fourth data block BLK4 and the fifth data block BLK5 among the first to eighth data blocks BLK1 to BLK8 may store valid data, the third data block BLK3 and the sixth data block BLK6 among the first to eighth data blocks BLK1 to BLK8 may store dummy data, and the first data block BLK1, the second data block BLK2, the seventh data block BLK7, and the eighth data block BLK8 among the first to eighth data blocks BLK1 to BLK8 may be empty data blocks.
[0147] The internal operation manager 322 may perform normal internal operations on the fourth data block BLK4 and the fifth data block BLK5" storing valid data. For example, the internal operation manager 322 may check the distribution information of the fourth data block BLK4 and the fifth data block BLK5, and may perform a recycling operation according to a change in the distribution information.
[0148] In some example embodiments, the internal operation manager 322 may omit at least some of the internal operations for the third data block BLK3 and the sixth data block BLK6 storing dummy data. For example, the internal operation manager 322 may not check the distribution information of the third data block BLK3 and the sixth data block BLK6 storing dummy data whose reliability maintenance may not be important, or may omit the recycling operation according to the change of the distribution information.
[0149] In some example embodiments, the internal operation manager 322 may not perform internal operations on the first data block BLK1, the second data block BLK2, the seventh data block BLK7, and the eighth data block BLK8, which are empty data blocks. In addition, in some example embodiments, according to an allocation request of the host device 310 (for example, according to an allocation request received from the host device 310), the storage area manager 321 may allocate the first data block BLK1, the second data block BLK2, the seventh data block BLK7, and the eighth data block BLK8, which are empty data blocks, to any other host area (for example, the second host area HZ2). Therefore, in some example embodiments, the storage device 320 resets the storage area including only invalid data, and the storage device 320 can flexibly and effectively utilize the storage space.
[0150] As described above, according to some example embodiments of the present invention, an interface that allows "the host device 310 and the storage device 320 to share the block mapping information BMI of the target host area where the invalid data block and the valid data block exist together" may be provided. The storage device 320 may manage the invalid data as dummy data based on the block mapping information BMI, or may reset the invalid storage area, and thus, the burden or cost of data management may be reduced. According to some example embodiments, the storage device 320 may reset the invalid storage area based on the block mapping information BMI, and thus, the waste of storage space may be reduced or minimized. For example, the waste of resources of the storage device 320 for maintaining the reliability of invalid data may be suppressed or reduced, the overhead for data management may be reduced, and the effective (e.g., substantially available or available) storage space may be increased.
[0151] Fig.11 2 is a diagram for describing a method of operating an electronic device that manages a plurality of storage areas mapped to a host area according to some example embodiments of the inventive concept. Fig.11 , the electronic device 300 may include a plurality of storage areas mapped to the host area. In the electronic device 300, the mapping ratio of the host area and the storage area may be "4". However, the inventive concept is not limited thereto. For example, the number of storage areas to be mapped to the host area may be greater than or equal to four, or less than or equal to four.
[0152] The electronic device 300 may include a host device 310 and a storage device 320. The host device 310 may include a file system 311 and a host area manager 312. The storage device 320 may include a storage area manager 321 and a nonvolatile memory device 323.
[0153] The file system 311, the host area manager 312, the storage area manager 321 and the non-volatile memory device 323 are Fig.10The file system 311, the host area manager 312, the storage area manager 321 and the non-volatile memory device 323 are similar, and therefore, additional description will be omitted to avoid redundancy.
[0154] Hereinafter, a method of operating the electronic device 300 that manages a plurality of storage areas mapped to a host area will be described according to some example embodiments.
[0155] In the first operation ①, the file system 311 may provide validity data information to the host zone manager 312 based on the validity check operation of the first host zone HZ1. The validity data information may indicate whether each of all data blocks BLK of the first host zone HZ1 is valid.
[0156] In the second operation ②, the host zone manager 312 may determine that all first to eighth data blocks BLK1 to BLK8 of the first host zone HZ1 are invalid based on the validity data information. For example, the host zone manager 312 may determine that all data blocks BLK in the target host zone are invalid.
[0157] In the third operation ③, the host zone manager 312 may provide, transmit or send a reset request for the target host zone to the storage zone manager 321. For example, in response to determining that all data blocks BLK of the first host zone HZ1 are invalid, the host zone manager 312 may provide, transmit or send a reset request indicating a reset operation of the first host zone HZ1 to the storage zone manager 321.
[0158] In the fourth operation {circle around (4)}, the storage area manager 321 may perform a reset operation of the first to fourth storage areas SZ1 to SZ4 mapped to the first host area HZ1 based on the reset request.
[0159] For example, the storage area manager 321 may refer to the area mapping table 317 to search for the first storage area SZ1 to the fourth storage area SZ4 mapped to the first host area HZ1 as the target host area, may refer to the storage area table 318 to search for the first physical memory block PBK1 to the eighth physical memory block PBK8 mapped to the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1 to the fourth storage area SZ4, and may execute the first physical memory block PBK1 to the eighth physical memory block PBK8 among the plurality of physical memory blocks PBK1 to PBKK in the non-volatile memory device 323. Physical erasure of PBK1 to the eighth physical memory block PBK8, or unmapping between the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1 to the fourth storage area SZ4 and the first physical memory block PBK1 to the eighth physical memory block PBK8 (for example, deleting the L2P (logical to physical) mapping relationship), the data state of the first data block BLK1 to the eighth data block BLK8 of the first storage area SZ1 to the fourth storage area SZ4 can be set, and the write pointer (WP) in the storage area table 318 can be initialized.
[0160] The first to fourth storage areas SZ1 to SZ4 where the reset operation is performed may be referred to as “empty storage areas.” The empty storage areas may be used to store new data in a subsequent write operation or may be deallocated according to a request of the host device 310 .
[0161] Fig.12 is a flowchart describing a method of operating an electronic device according to some example embodiments of the inventive concept. Fig.12 , the electronic device 100 may include a host device 110 and a storage device 120. The host device 110 may be connected to Figure 1 and Figure 3 The host device 110, Figure 7 and Figure 8 The host device 210 or Fig.10 and Fig.11 The storage device 120 may correspond to the host device 310. Figure 1 and Figure 3 The storage device 120, Figure 7 and Figure 8 The storage device 220 or Fig.10 and Fig.11 The storage device 320 corresponds to the storage device 320.
[0162] In operation S310, the electronic device 100 may perform a region allocation operation. For example, the host device 110 may provide an allocation request of a target host region among a plurality of host regions to the storage device 120. The storage device 120 may allocate at least one of the plurality of storage regions to the target host region based on the allocation request. The storage device 120 may return a response indicating that the allocation request is processed to the host device 110.
[0163] In some example embodiments, the electronic device 100 may allocate a single storage area to the target host area based on the allocation request. For example, the allocation request may include information of a mapping ratio, and the mapping ratio may be "1". The storage device 120 may allocate one of the plurality of storage areas to the target host area based on the mapping ratio of the allocation request.
[0164] In some example embodiments, the electronic device 100 may allocate the plurality of storage areas to the target host area based on the allocation request. For example, the allocation request may include information of a mapping ratio, and the mapping ratio may be a natural number greater than or equal to 2. The storage device 120 may allocate at least two of the plurality of storage areas to the target host area based on the mapping ratio of the allocation request.
[0165] In operation S320 , the host device 110 may perform a validity check operation of a target host region among a plurality of host regions.
[0166] In operation S330, the host device 110 may generate block mapping information BMI of the target host region based on the validity check operation. The block mapping information BMI may include identification information of the target host region and validity information of all data blocks in the host region.
[0167] In operation S340 , the host device 110 may provide block mapping information BMI to the memory device 120 .
[0168] In operation S350, the storage device 120 may perform internal operations based on the block mapping information BMI. For example, based on the block mapping information BMI, the storage device 120 may manage invalid data blocks among data blocks corresponding to at least one storage area mapped to the target host area as dummy data blocks. In some example embodiments, the storage device 120 may omit the management operation of the distribution information of the dummy data blocks.
[0169] In some example embodiments, the storage device 120 may identify an invalid storage area among at least one storage area mapped to the target host area. The invalid storage area may represent a storage area in which all data blocks are managed as dummy data blocks. The storage device 120 may generate an empty storage area by performing a reset operation of the invalid storage area. The host device 110 may provide a second allocation request of a second host area different from the target host area to the storage device 120. The storage device 120 may allocate the empty storage area to the second host area based on the second allocation request.
[0170] According to some example embodiments of the inventive concept, a host device generating block mapping information BMI, a method of operating the host device, and a method of operating an electronic device including the host device are provided.
[0171] According to some example embodiments of the present inventive concept, when a storage device manages invalid data as dummy data based on block mapping information BMI, the burden or cost of data management can be reduced. In some example embodiments, when a storage device resets an invalid storage area based on block mapping information, waste of storage space can be minimized or reduced.
[0172] As described herein, any device, electronic device, module, model, unit and / or part thereof may include one or more instances of processing circuits (such as hardware including logic circuits; hardware / software combinations (such as processors that execute software); or combinations thereof), may be included in one or more instances of processing circuits (such as hardware including logic circuits; hardware / software combinations (such as processors that execute software); or combinations thereof) and / or may be implemented by one or more instances of processing circuits (such as hardware including logic circuits; hardware / software combinations (such as processors that execute software); or combinations thereof). For example, the processing circuit may more specifically include, but is not limited to, a central processing unit (CPU), an arithmetic logic unit (ALU), a graphics processing unit (GPU), an application processor (AP), a digital signal processor (DSP), a microcomputer, a field programmable gate array (FPGA) and a programmable logic unit, a microprocessor, an application specific integrated circuit (ASIC), a neural network processor (NPU), an electronic control unit (ECU), and the like. In some example embodiments, the processing circuitry may include a non-transitory computer-readable storage device (e.g., memory) storing an instruction program (e.g., a solid-state drive (SSD)), and a processor (e.g., a CPU) configured to execute the instruction program to implement the functions and / or methods performed by some or all of any device, electronic device, module, unit, and / or portions thereof according to any example embodiment.
[0173] Although the inventive concept has been described with reference to certain example embodiments thereof, it will be apparent to those skilled in the art that various changes and modifications may be made thereto without departing from the spirit and scope of the inventive concept as set forth in the following claims.
Claims
1. A method for operating an electronic device, the electronic device comprising a host device and a storage device, the method comprising: performing, by the host device, a validity check operation of a target host area among a plurality of host areas supporting a sequential write operation; Generate block mapping information of the target host area based on the validity check operation by the host device, the block mapping information including identification information of the target host area and validity information of all data blocks in the target host area; as well as The block mapping information is sent to the storage device by the host device.
2. The method according to claim 1, wherein: The identification information includes a host index value for identifying a target host region among the plurality of host regions, and The validity information includes a series of validity values corresponding to all data blocks of the target host area respectively, and each of the series of validity values indicates whether the corresponding data block of the target host area is valid.
3. The method according to claim 2, wherein: Each of the series of validity values comprises: The first bit value when the corresponding data block is valid; and The second bit value when the corresponding data block is invalid.
4. The method according to claim 1, wherein: The step of generating block mapping information of the target host area based on the validity check operation by the host device includes: Determining, by the host device based on a validity check operation, whether at least a portion of all data blocks in the target host area are valid; and In response to determining that the at least a portion of the data block is valid based on the validity check operation, block mapping information of the target host area is generated by the host device.
5. The method according to claim 4, further comprising: In response to determining that all data blocks of the target host region are invalid based on the validity check operation, a reset request for the target host region is sent to the storage device by the host device.
6. The method according to any one of claims 1 to 4, wherein: The step of generating block mapping information of the target host area based on the validity check operation by the host device includes: Determining, by the host device based on the validity check operation, the number of invalid data blocks among all data blocks in the target host area; determining, by the host device, whether the number of the invalid data blocks exceeds a threshold; and In response to determining that the number of invalid data blocks exceeds the threshold, block mapping information of a target host area is generated by a host device.
7. The method according to any one of claims 1 to 4, further comprising: Internal operations are performed by the storage device based on the block mapping information.
8. The method according to claim 7, wherein: The storage device includes a plurality of storage areas. wherein the target host area is mapped to at least one storage area among the plurality of storage areas, and The internal operation includes at least one of the following: management operations of distribution information of at least one physical memory block mapped to the at least one storage region; a reclaim operation according to a change in distribution information of the at least one physical memory block; wear leveling operation of the at least one storage region; and A garbage collection operation is performed on the at least one storage area.
9. The method according to claim 7, wherein: The storage device includes a plurality of storage areas. wherein the target host area is mapped to at least one storage area among the plurality of storage areas, and The step of performing internal operations based on the block mapping information by the storage device includes: The storage device manages invalid data blocks among the data blocks corresponding to the at least one storage area as dummy data blocks based on the block mapping information.
10. The method according to claim 9, wherein: The storage device omits the management operation of the distribution information of the dummy data block.
11. The method according to claim 9, further comprising: identifying, by a storage device, an invalid storage area among the plurality of storage areas, wherein all data blocks of the invalid storage area are managed as dummy data blocks; and A reset operation of the invalid storage area is performed by the storage device to generate an empty storage area.
12. The method according to claim 11, further comprising: sending, by the host device, an allocation request for another host area among the plurality of host areas to the storage device; as well as The storage device allocates the empty storage area to the other host area based on the allocation request.
13. The method according to claim 1, wherein: The storage device includes a plurality of storage areas, and Wherein, the method further comprises: Before performing the validity check operation, sending, by the host device, an allocation request for the target host region to the storage device; and At least one storage area among the plurality of storage areas is allocated to the target host area by the storage device based on the allocation request.
14. The method according to claim 13, wherein: The step of allocating, by the storage device based on the allocation request, the at least one storage area among the plurality of storage areas to the target host area comprises: Based on the allocation request, the storage device allocates one storage area among the plurality of storage areas to the target host area.
15. The method according to claim 13, wherein: The step of allocating, by the storage device based on the allocation request, the at least one storage area among the plurality of storage areas to the target host area comprises: At least two storage areas among the plurality of storage areas are allocated to the target host area by the storage device based on the allocation request.
16. A method of operating a host device in communication with a storage device, the method comprising: performing a validity check operation of a target host region among a plurality of host regions supporting a sequential write operation; Generate block mapping information of the target host area based on the validity check operation, the block mapping information including: identification information of the target host area and validity information of all data blocks in the target host area; as well as The block mapping information is sent to the storage device.
17. The method according to claim 16, wherein: The steps of generating block mapping information of the target host area based on the validity check operation include: Determining whether at least some of the data blocks in the target host region are valid based on the validity check operation; and In response to determining that the at least a portion of the data blocks are valid based on the validity check operation, block mapping information of the target host region is generated.
18. The method according to claim 16, wherein: The step of generating block mapping information of the target host area based on the validity check operation includes: determining, based on the validity check operation, a number of invalid data blocks among all data blocks of the target host region; Determining whether the number of the invalid data blocks exceeds a threshold; as well as In response to determining that the number of invalid data blocks exceeds the threshold, block mapping information of the target host area is generated.
19. A host device, comprising: A first processing circuit is configured to: manage a plurality of host regions; as well as The second processing circuit is configured to send validity data information to the first processing circuit based on the validity check operation of the target host region among the plurality of host regions, The first processing circuit is configured to: generating block mapping information of the target host region based on the validity data information; and The block mapping information is sent to the external storage device, wherein the block mapping information includes: identification information of the target host area and validity information of all data blocks in the target host area.
20. The host device according to claim 19, wherein: The identification information includes a host index value for identifying a target host region among the plurality of host regions, and The validity information includes a series of validity values corresponding to all data blocks of the target host area respectively, and each validity value in the series of validity values indicates whether the corresponding data block of the target host area is valid.
Citation Information
Patent Citations
Thermoplastic composition having high dielectric constant, high heat resistance, and improved mechanical properties, and molded article produced thereby
KR1020230117249A