Storage appratus and, storage apparatus for emulation method
Patent Information
- Application Number
- KR1020240201102
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2026-09-21
- Estimated Expiration
- 2044-12-30
Smart Images

Figure 112024146063820-PAT00004_ABST
Abstract
Description
Technology Field
[0001] The following disclosure relates to a storage device and an emulation method. Background Technology
[0003] A zoned storage device is a new type of storage device that provides a zone-based interface, instead of a block interface, by dividing the interior of the storage device into fixed-size logical units (zones) that can be directly managed by the host, i.e., the operating system. By default, the logical unit (zone) is a sequential zone with sequential write restrictions, but most zoned storage devices also support a small number of conventional zones that allow random writes.
[0004] On the other hand, zone-based storage devices have the disadvantage that existing file systems cannot be used because they do not support block interfaces. Therefore, to use existing file systems, block interface emulation is required to hide the sequential write constraints of sequential zones and enable random writes.
[0005] Existing emulation technologies utilize conventional zones inefficiently by dividing the emulated virtual logical address space into chunks equal to the zone size and processing a 1:1 mapping with the zones of zone-based storage devices. In other words, since existing emulation technologies process write requests by mapping conventional zones 1:1 to a single chunk, the utilization of conventional zones decreases when small random writes occur, resulting in overhead from frequently reclaiming conventional zones. The problem to be solved
[0007] The present invention provides a block-based emulation method that can more efficiently allocate chunks for a zone-based storage device composed of a few conventional zones and a number of sequential zones. means of solving the problem
[0009] An emulation method according to an embodiment of the present invention may include: receiving a write request for a plurality of chunks in a logical address space from a virtual block device; assigning at least one chunk for which a write request was made to a conventional zone so that the plurality of chunks share one or more conventional zones; determining a victim among the plurality of chunks assigned to one or more conventional zones according to a preset update cycle; and merging and mapping a block assigned to the chunk determined as the victim in one or more conventional zones into a sequential zone.
[0010] The step of allocating at least one chunk according to an embodiment of the present invention may include: determining a 1:N mapping degree between an existing zone and the chunk for sharing the existing zone by considering the update frequency and work window for each of the plurality of chunks; and allocating at least one chunk requested for writing to one or more existing zones using the 1:N mapping degree.
[0011] The step of determining the degree of 1:N mapping according to one embodiment of the present invention may include the step of determining the degree of 1:N mapping such that the number of mappable chunks for a plurality of existing zones is the same, taking into account the update frequency and the work window based on a round-robin method.
[0012] The step of assigning to one or more existing zones according to an embodiment of the present invention may include the step of assigning such that, as the chunk has a high update frequency and a large working window, a small number of chunks among a plurality of existing zones share with the assigned existing zone.
[0013] The step of assigning to one or more existing zones according to an embodiment of the present invention may include the step of assigning such that, as the update frequency is low and the work window is small, a plurality of chunks among the plurality of existing zones share with the assigned existing zone.
[0014] The step of assigning to one or more existing zones according to an embodiment of the present invention may include, after considering existing zones among a plurality of existing zones where the space usage rate (Usage Rario) is higher than a preset average value or existing zones including merge targets, excluding them from a valid list so that chunks are not assigned, and then assigning at least one chunk requested for write to the one or more existing zones.
[0015] According to one embodiment of the present invention, the existing area is composed of a plurality of physical regions to which the plurality of chunks are allocated, and each of the existing areas may be characterized as being a region in which a plurality of different chunks having a size smaller than the size of the chunk included in the logical address space are allocated by a write request.
[0016] The step of determining a merge target according to an embodiment of the present invention may include the step of determining a merge target (Victim) by considering the chunk merging efficiency regarding the number of blocks within one or more existing regions to which each of the plurality of chunks is assigned.
[0017] The step of merging and mapping into a sequential zone according to an embodiment of the present invention may include: a step of merging a block in which a chunk determined as a merger target in one or more existing zones is mapped with a chunk determined as a merger target already assigned to a sequential zone; and a step of sequentially assigning the chunk merged with the block by mapping it one-to-one with the sequential zone.
[0018] In a zone-based storage device including a processor according to an embodiment of the present invention, the processor receives a write request for a plurality of chunks within a logical address space from a virtual block device, assigns at least one chunk for which a write request was made to an existing zone so that the plurality of chunks share one or more existing zones, determines a merge target among the plurality of chunks assigned to one or more existing zones according to a preset update cycle, and can merge and map a block assigned to the chunk determined as the merge target in one or more existing zones to a sequential zone.
[0019] A processor according to one embodiment of the present invention determines a 1:N mapping degree between an existing area and a chunk for sharing an existing area by considering an update frequency and a work window for each of the plurality of chunks, and can allocate at least one chunk requested for writing to one or more existing areas using the 1:N mapping degree.
[0020] A processor according to one embodiment of the present invention can determine the 1:N mapping degree such that the number of mappable chunks for a plurality of existing zones is the same, taking into account the update frequency and the work window based on a round-robin method.
[0021] A processor according to one embodiment of the present invention may allocate a number of existing zones to share with an existing zone to which a small number of chunks are allocated, as the chunk has a high update frequency and a large working window.
[0022] A processor according to one embodiment of the present invention may be allocated such that, as the update frequency is low and the work window is a small chunk, a plurality of existing zones are shared with an existing zone to which a plurality of chunks are allocated.
[0023] A processor according to one embodiment of the present invention may, after considering an existing area among a plurality of existing areas where the space usage rate is higher than a preset average value or an existing area including a merge target, exclude it from a valid list so that a chunk is not allocated, and then allocate at least one chunk requested for write to one or more existing areas.
[0024] A processor according to one embodiment of the present invention can determine a merge target by considering the chunk merging efficiency regarding the number of blocks within one or more existing regions to which each of the plurality of chunks is allocated.
[0025] A processor according to one embodiment of the present invention can merge a block to which a chunk determined as a merge target in one or more existing zones is mapped with a chunk determined as a merge target already allocated to a sequential zone, and sequentially allocate the chunk merged with the block by mapping it one-to-one with the sequential zone.
[0026] A zone-based storage device according to an embodiment of the present invention may include: a conventional zone in which a plurality of chunks are allocated to share one or more areas in response to a write request for a plurality of chunks within a logical address space; and a sequential zone in which each of the plurality of chunks allocated to the conventional zone is mapped one-to-one and allocated sequentially, wherein each of the conventional zones is an area in which a plurality of different chunks, each having a size smaller than the size of the chunk included in the logical address space, are allocated by a write request. Effects of the invention
[0028] According to one embodiment of the present invention, chunks can be allocated and reclaimed more efficiently for a zone-based storage device composed of a few conventional zones and a number of sequential zones.
[0029] According to one embodiment of the present invention, by performing a retrieval operation to a sequential zone for blocks within a conventional zone to which chunks are allocated, write operations due to merging can be minimized and performance can be improved. Brief explanation of the drawing
[0031] FIG. 1 is a flowchart illustrating an emulation method according to one embodiment of the present invention. FIG. 2 is a drawing illustrating the process of assigning a plurality of chunks to one or more existing zones according to an embodiment of the present invention. FIG. 3 is a drawing illustrating the process of recovering blocks within an existing zone by chunk according to an embodiment of the present invention. Figure 4 is a graph showing the results according to an adaptive N-Way Set-associative mapping policy according to an embodiment of the present invention. FIG. 5 is a block diagram exemplarily illustrating the configuration of a storage device performing emulation according to one embodiment of the present invention. Specific details for implementing the invention
[0032] Hereinafter, embodiments are described in detail with reference to the attached drawings. However, various modifications may be made to the embodiments, and thus the scope of the patent application is not limited or restricted by these embodiments. It should be understood that all modifications, equivalents, and substitutions to the embodiments are included within the scope of the rights.
[0033] The terms used in the embodiments are for illustrative purposes only and should not be interpreted as intended to be limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprising" or "having" are intended to indicate the existence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0034] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art to which the embodiments pertain. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this application.
[0035] In addition, when describing with reference to the attached drawings, identical components are assigned the same reference numeral regardless of drawing symbols, and redundant descriptions thereof are omitted. In describing the embodiments, if it is determined that a detailed description of related prior art could unnecessarily obscure the essence of the embodiments, such detailed description is omitted.
[0036] In addition, terms such as first, second, A, B, (a), (b), etc., may be used when describing the components of the embodiments. These terms are intended only to distinguish the components from other components, and the nature, order, or sequence of the components is not limited by the terms. Where it is stated that a component is "connected," "combined," or "connected" to another component, it should be understood that the component may be directly connected or connected to the other component, but that another component may also be "connected," "combined," or "connected" between each component.
[0037] Components included in any one embodiment and components having common functions shall be described using the same names in other embodiments. Unless otherwise stated, the description in any one embodiment may also apply to other embodiments, and specific descriptions shall be omitted to the extent of overlap.
[0038] The storage device described in the present disclosure can improve existing write amplification and performance degradation problems by having a plurality of chunks share and use one or more existing areas, thereby increasing the utilization rate of existing areas and delaying the retrieval of existing areas.
[0040] FIG. 1 is a flowchart illustrating an emulation method according to one embodiment of the present invention.
[0041] In step (110), the storage device can receive a write request from a virtual block device. Here, the virtual block device is a block-unit storage device (LBD: Logical Block Device) that can logically process block-unit data after virtualizing a physical device. The virtual block device can communicate with the storage device to transmit write requests for multiple chunks within a logical address space. The storage device can receive block-unit write requests for multiple chunks within a logical address space from the virtual block device.
[0042] In step (120), the storage device may assign at least one chunk for which a write request has been made to an existing zone so that multiple chunks share one or more existing zones. The storage device may determine the degree of 1:N mapping between the existing zone and the chunk for sharing the existing zone by considering the update frequency and the operation window for each of the multiple chunks. Here, when a write request is received, the storage device may determine the degree of 1:N mapping based on a Round-Robin method so that the number of mappable chunks for each of the multiple existing zones is equal. In other words, each of the existing zones can be mapped in a multiple-to-many manner, which can be determined by the update frequency and operation window of each chunk.
[0043] A storage device can allocate at least one chunk requested for write to one or more existing zones using a 1:N mapping. Specifically, the storage device can share a chunk with a small number of allocated chunks among multiple existing zones as the chunk has a high update frequency and a large operation window. Here, a high update frequency may mean that the change in data values is large as data is updated frequently. Additionally, a large operation window may mean that it takes a long time to complete a task or that there is a long period during which other tasks may be affected. Ultimately, a high update frequency and a large operation window may mean that it occupies more blocks than a chunk with a low update frequency and a small operation window. Therefore, the present invention can improve the performance of block acquisition by allocating a chunk with a high update frequency and a large operation window to an existing zone that has many available blocks in each existing zone—that is, an existing zone with a small number of allocated chunks among the existing zones.
[0044] Conversely, storage devices can be allocated such that chunks with low update frequencies and small working windows share multiple existing zones. This is the opposite concept to what was explained above; by allocating chunks with low update frequencies and small working windows to existing zones that have fewer available blocks—that is, zones with a large number of allocated chunks—processing speed can be improved and performance optimized through more efficient block allocation.
[0045] In step (130), the storage device can determine the merge target (Victim) among multiple chunks allocated to one or more existing zones according to a preset update cycle. The merge target may be a chunk that is merged into a sequential zone to secure space within the multiple existing zones. The storage device can determine the merge target (Victim) by considering the chunk merging efficiency regarding the number of blocks within one or more existing zones to which each of the multiple chunks is allocated.
[0046] In step (140), the storage device can map a block to which a chunk determined to be a merge target in one or more existing zones is assigned to a sequential zone by merging it. The storage device can merge a block to which a chunk determined to be a merge target in one or more existing zones is mapped with a chunk determined to be a merge target already assigned to a sequential zone. The storage device can sequentially assign the chunk merged with the block by mapping it one-to-one with the sequential zone.
[0047] Ultimately, the present invention enables highly efficient use of space in conventional zones by using zones of the same size in both conventional and sequential zones, while subdividing each conventional zone to accommodate write requests for small chunks. Furthermore, the present invention minimizes performance degradation caused by frequent conventional zone space reclamation operations by performing conventional zone space reclamation operations on blocks allocated to small chunks.
[0049] FIG. 2 is a drawing illustrating the process of assigning a plurality of chunks to one or more existing zones according to an embodiment of the present invention.
[0050] Referring to FIG. 2, the storage device (210) can receive write requests for multiple chunks in a logical address space from a virtual block device (220). Specifically, all chunks in the logical structure space can be mapped 1:1 with a sequential zone (212) and can be mapped 1:N with a conventional zone (211).
[0051] The storage device (210) may assign at least one chunk that has been requested to write to an existing zone so that multiple chunks share one or more existing zones (211). Here, the storage device (210) may utilize an adaptive N-Way Set-associative mapping policy. The adaptive N-Way Set-associative mapping policy may be a policy for measuring the degree of 1:N mapping between a chunk and an existing zone (211), and the degree of 1:N mapping may be dynamically determined based on the update frequency and operation window of each chunk.
[0052] For example, when the present invention maps in a 1:4 ratio, four chunks can be mapped to one existing area. When multiple chunks share one existing area (213) through 1:N mapping, the present invention can delay the recovery operation by using the space of the existing area more efficiently.
[0053] At this time, the storage device (210) may receive a write request for a chunk having a size smaller than the size of the chunk included in the logical address space so that multiple chunks share one existing area. The storage device (210) may allocate the written request for a small-sized chunk to share one existing area.
[0054] For example, a virtual block device (220) can transmit a write request for a chunk B0 (216) having a smaller size than an existing chunk to a storage device (210). The storage device (210) can determine the update frequency and operation window for the written request chunk B0 (216) based on a round-robin method. By allocating the written request chunk B0 (216) to an existing area (213) to which chunks A0 (214) and A1 (215) are allocated according to the determination result, the storage device (210) can allocate multiple different chunks (214, 215, 216) to share one existing area (213).
[0055] Here, the storage device (210) shares the existing area (211) with a small number of chunks as the chunk is frequently updated and the working window is large, and conversely, the existing area (211) can be shared with a large number of chunks as the chunk is rarely updated.
[0056] Additionally, the allocation of existing zones (211) to new chunks is done in a round-robin manner so that the number of mapped chunks per existing zone remains the same.
[0057] The storage device (210) may exclude from the valid list, among multiple existing zones, existing zones where the space usage rate (Usage Rario) is higher than a preset average value, or existing zones including merge targets, so that chunks are not allocated. In other words, if the space usage rate among multiple existing zones is higher than a certain value (Usage Upper Limit) than the average, or if a chunk containing a record selected as a merge target in the past is in use, it can be predicted that the already mapped chunk will quickly consume the empty space of the existing zones. Therefore, if the above-mentioned conditions are satisfied, the storage device (210) considers that there is a high possibility that storage space will quickly become insufficient, and to prevent such a situation from occurring, excludes the corresponding chunk or existing zone from additional allocation, and then allocates at least one chunk requested for write to the one or more existing zones, thereby preventing performance degradation.
[0059] FIG. 3 is a drawing illustrating the process of recovering blocks within an existing zone by chunk according to an embodiment of the present invention.
[0060] Referring to FIG. 3, the storage device (210) can determine the merge target (Victim) among multiple chunks assigned to one or more existing zones according to a preset update cycle. In other words, the storage device (210) can utilize a conventional zone space reclamation policy per chunk. The conventional zone space reclamation policy per chunk may be a policy that does not reclaim all existing zones, but performs a merge with sequential zones only on blocks mapped to the chunk selected as the merge target. The storage device (210) can determine the merge target by considering the chunk merge efficiency based on the conventional zone space reclamation policy per chunk. Chunk merge efficiency may refer to the number of blocks within one or more existing zones to which each of the multiple chunks is assigned. This can be expressed as Equation 1 below.
[0061]
[0062] The storage device (210) determines the chunk with the largest space obtainable through merging based on chunk merging efficiency as the merging target, and can perform merging with the sequential zone only on the blocks mapped to the chunk corresponding to the merging target. Specifically, the storage device (210) can merge a block (320) mapped to a chunk determined as the merging target in one or more existing zones with a chunk (310) that has already been allocated to the sequential zone and determined as the merging target. The storage device (210) can sequentially allocate the chunk (310) merged with the block (320) by mapping it one-to-one with the sequential zone.
[0063] Ultimately, by utilizing a chunk-based conventional zone space reclamation policy, the present invention minimizes excessive merging overhead that may occur due to 1:1 mapping and can more efficiently secure empty space in the conventional zone. In addition, the present invention records the chunk selected as the merging target as a frequently updated chunk, and can allocate it within the existing zone in the future by taking the recorded information into account.
[0065] Figure 4 is a graph showing the results according to an adaptive N-Way Set-associative mapping policy according to an embodiment of the present invention.
[0066] The graph in FIG. 4 shows the performance according to the 1:N mapping degree between a chunk and an existing area (211) based on an adaptive N-Way Set-associative mapping policy. The 1:N mapping degree can be dynamically determined based on the update frequency and operation window of each chunk. Referring to the graph in FIG. 4, the present invention can set the mapping ratio between a chunk and an existing area to 1:1, 1:2, 1:4, and 1:8. When the ratio is 1:1, the performance in the process of reclaiming the existing area space is shown to be high, and when the ratio is 1:8, the performance is shown to be low. However, when operating at a 1:1 ratio, performance degradation occurs as mentioned in the prior art. Accordingly, the present invention dynamically determines the degree of 1:N mapping according to the update frequency and work window of each chunk, and maps a plurality of chunks to one existing area according to the determined degree of 1:N mapping, thereby variably securing the space of the existing area and more efficiently recovering the space of the existing area.
[0068] FIG. 5 is a block diagram exemplarily illustrating the configuration of a storage device performing emulation according to one embodiment of the present invention.
[0069] Referring to FIG. 5, the electronic device (500) may include one or more processors (510), memory (520), storage (530), I / O (input / output) devices (540) and network interfaces (550), and these may communicate with each other through a communication bus (560).
[0070] One or more processors (510) may execute instructions stored in memory (520) or storage (530). When executed by one or more processors (510), the instructions may cause the electronic device (500) to perform the operation described through FIGS. 1 to 4. Memory (520) may include a computer-readable storage medium or a computer-readable storage device. Memory (520) may store instructions to be executed by one or more processors (510) and may store relevant information while software and / or applications are executed by the electronic device (500). Memory (520) may store a program (521) that performs an emulation of a chunk of one embodiment. With at least a portion of the program (521) stored in memory (520), the operation described through FIGS. 1 to 4 may be performed by the electronic device (500).
[0071] Storage (530) may include a computer-readable storage medium or a computer-readable storage device. Storage (530) may store a larger amount of information than memory (520) and may store information for a longer period. For example, storage (530) may include a magnetic hard disk, an optical disk, a flash memory, a floppy disk, or other forms of non-volatile memory known in the art.
[0072] The I / O device (540) can receive input from a user through traditional input methods such as a keyboard and mouse, and new input methods such as touch input, voice input, and image input. For example, the I / O device (540) may include a keyboard, mouse, touch screen, microphone, or any other device capable of detecting input from a user and transmitting the detected input to an electronic device (500). The I / O device (540) may provide output of the electronic device (500) to the user through visual, auditory, or tactile channels. The I / O device (540) may include, for example, a display, touch screen, speaker, vibration generator, or any other device capable of providing output to the user. The network interface (550) may communicate with an external device through a wired or wireless network.
[0074] Although the embodiments have been described above with reference to the limited drawings, those skilled in the art can apply various technical modifications and variations based thereon. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or if the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.
[0075] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below. Explanation of the symbols
[0077] 210: Storage device 211: Existing Zone 212: Sequential section 213: Existing area shared by Chunk A and Chunk B 214: Chunk A0 215: Chunk A1 216: Chunk B0 220: Virtual block device
Claims
Claim 1 A step of receiving a write request for a plurality of chunks within a logical address space from a virtual block device; a step of determining a 1:N mapping degree between a conventional zone and a chunk, considering an update frequency and a work window for each of the plurality of chunks, so that the plurality of chunks share one or more conventional zones, and a step of allocating at least one chunk for which a write request was made to the conventional zone according to the determined 1:N mapping degree; a step of determining a victim among the plurality of chunks allocated to one or more conventional zones according to a preset update cycle. The method includes a step of merging and mapping a block to which a chunk determined as a merge target in one or more existing zones is assigned into a Sequential Zone; the step of assigning to the existing zones includes dynamically determining the degree of 1:N mapping according to the characteristics of each chunk, and selectively mapping a plurality of chunks to one existing zone according to the determined degree of 1:N mapping to variably secure the usable space of the existing zones; the step of determining the merge target includes a step of determining the merge target by considering the size of the recoverable empty space within the one or more existing zones according to the chunk merging efficiency based on a space recovery policy that performs space recovery of blocks within the existing zones applied differently to each chunk; the chunk merging efficiency is an indicator representing the size of the space recoverable through the merging of chunks based on the number of blocks occupied within one or more existing zones to which each of the plurality of chunks is assigned; and the mapping step includes a step of merging a block to which a chunk determined as a merge target in one or more existing zones is mapped with a chunk that has already been assigned in the Sequential Zone and determined as a merge target. An emulation method comprising the step of mapping the chunk merged with the block as a result of the merger in a continuous order starting from the enqueue position corresponding to the end of the sequential section. Claim 2 delete Claim 3 An emulation method according to claim 1, wherein the step of allocating to the existing zones includes the step of determining the degree of 1:N mapping such that the number of mappable chunks for each of the multiple existing zones is the same, considering the update frequency and the work window based on a Round-Robin method. Claim 4 An emulation method according to claim 1, wherein the step of allocating to the existing zone includes the step of allocating such that, as the update frequency is high and the work window is large, a small number of chunks among a plurality of existing zones share with the allocated existing zone. Claim 5 An emulation method according to claim 1, wherein the step of allocating to the existing zone includes the step of allocating such that, as the update frequency is low and the working window is small, a plurality of existing zones share with the allocated existing zone. Claim 6 An emulation method according to claim 1, wherein the step of allocating to the existing zone comprises the step of excluding from a valid list, by considering an existing zone among a plurality of existing zones where the space usage rate (Usage Rario) is higher than a preset average value or an existing zone including a merge target, so that a chunk is not allocated, and then allocating at least one chunk requested for write to the one or more existing zones. Claim 7 An emulation method according to claim 1, wherein the existing area is composed of a plurality of physical regions to which the plurality of chunks are allocated, and each of the existing area is a region to which different plurality of chunks having a size smaller than the size of the chunk included in the logical address space are allocated by a write request. Claim 8 delete Claim 9 An emulation method according to claim 1, wherein the step of merging and mapping into the sequential zone comprises: a step of merging a block in which a chunk determined as a merge target in one or more existing zones is mapped with a chunk determined as a merge target already assigned to the sequential zone; and a step of sequentially assigning the chunk merged with the block by mapping it one-to-one with the sequential zone. Claim 10 In a zone-based storage device including a processor, the processor receives a write request for a plurality of chunks within a logical address space from a virtual block device; determines a 1:N mapping degree between the existing zone and the chunks, considering the update frequency and operation window for each of the plurality of chunks, so that the plurality of chunks share one or more existing zones; allocates at least one chunk for which a write request was made to the existing zone according to the determined 1:N mapping degree; determines a merge target among the plurality of chunks allocated to one or more existing zones according to a preset update cycle; merges and maps the block to which the chunk determined as the merge target is allocated in the one or more existing zones into a sequential zone; in allocating to the existing zone, dynamically determines the 1:N mapping degree according to the characteristics of each chunk, and variably secures the usable space of the existing zone by selectively mapping a plurality of chunks to one existing zone according to the determined 1:N mapping degree; and in determining the merge target, performs space recovery of blocks within the existing zone that are applied differently for each chunk. A storage device that determines the merging target by considering the size of the recoverable empty space within one or more existing zones based on the chunk merging efficiency according to a policy, wherein the chunk merging efficiency is an indicator representing the size of the recoverable space through chunk merging based on the number of blocks occupied within one or more existing zones to which each of the multiple chunks is allocated, and in the mapping, merges the block to which the chunk determined as the merging target in one or more existing zones is mapped with the chunk previously allocated in the sequential zone and determined as the merging target, and as a result of the merging, maps the block and the merged chunk in a continuous order starting from the enqueue position corresponding to the end of the sequential zone. Claim 11 delete Claim 12 In claim 10, the processor is a storage device that determines the degree of 1:N mapping such that the number of mappable chunks for a plurality of existing zones is the same, taking into account the update frequency and the work window based on a round-robin method. Claim 13 In paragraph 10, the processor is a storage device that allocates so that, as the update frequency is high and the work window is a large chunk, a small number of chunks among a plurality of existing zones share with the allocated existing zone. Claim 14 In claim 10, the processor is a storage device that allocates so that, as the update frequency is low and the work window is a small chunk, a number of existing zones are shared with an existing zone to which a number of chunks are allocated. Claim 15 In claim 10, the processor is a storage device that, after considering an existing area among a plurality of existing areas where the space usage rate is higher than a preset average value or an existing area including a merge target, excludes it from a valid list so that a chunk is not allocated, and then allocates at least one chunk requested for write to one or more existing areas. Claim 16 delete Claim 17 In claim 10, the processor merges a block in which a chunk determined as a merge target in one or more existing zones is mapped with a chunk determined as a merge target already allocated in a sequential zone, and sequentially allocates the chunk merged with the block by mapping it one-to-one with the sequential zone. Claim 18 In a zone-based storage device, a conventional zone is allocated such that the plurality of chunks share one or more areas in response to a write request for a plurality of chunks within a logical address space; The system includes a sequential zone in which each of the plurality of chunks allocated to the existing zone is mapped one-to-one and allocated sequentially, wherein each of the existing zones is an area in which different plurality of chunks having a size smaller than the size of the chunk included in the logical address space are allocated by a write request, and the processor of the storage device receives a write request for a plurality of chunks within the logical address space from a virtual block device, determines a 1:N mapping degree between the existing zone and the chunks considering the update frequency and work window for each of the plurality of chunks so that the plurality of chunks share one or more existing zones, allocates at least one chunk requested for write to the existing zone according to the determined 1:N mapping degree, determines a merge target among the plurality of chunks allocated to one or more existing zones according to a preset update cycle, merges and maps the block to which the chunk determined as the merge target is allocated in the one or more existing zones into the sequential zone, and in allocating to the existing zone, dynamically determines the 1:N mapping degree according to the characteristics of each chunk, wherein By selectively mapping multiple chunks to a single existing zone according to a determined 1:N mapping degree, the usable space of the existing zone is variably secured; and in determining the merge target, the merge target is determined by considering the size of the recoverable empty space within one or more existing zones according to the chunk merging efficiency, based on a space recovery policy that performs space recovery of blocks within the existing zone applied differently to each chunk; and the chunk merging efficiency is based on the number of blocks occupied within one or more existing zones to which each of the multiple chunks is allocated.A storage device that is an indicator representing the size of the space recoverable through the merging of chunks, wherein, in the mapping, a block mapped to a chunk determined as a merger target in one or more existing zones is merged with a chunk previously allocated in the sequential zone and determined as a merger target, and as a result of the merger, the block and the merged chunk are mapped in a continuous order starting from an enqueue position corresponding to the end of the sequential zone.
Citation Information
Patent Citations
Memory device comprising stream detector and operating method thereof
KR1020170097543A
Chunk allocation method for performing memory controller of storage device and memory controler
KR1020170122091A