Memory device and operating method thereof
By setting a second storage block in the storage device and managing frequently accessed data according to the data attributes, the problem of reading interference in the storage device is solved, and the performance of the storage device is improved.
Patent Information
- Application Number
- CN202411785103.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-07
- Filing Date
- 2024-12-06
- Publication Date
- 2025-06-10
AI Technical Summary
In storage devices, frequently accessed data may cause read interference, affecting the performance of storage devices.
By setting the second storage block in the storage device, frequently accessed data is copied to the second storage block according to the data attributes set by the external device, thereby reducing read interference.
Effectively manage data with high access frequency, improve the performance of storage devices, and improve overall performance by refreshing access-intensive data.
Smart Images

Figure CN120122876A_ABST
Abstract
Description
[0001] Cross - reference to related applications
[0002] This application claims priority to Korean Patent Application No. 10 - 2023 - 0176557, filed on December 7, 2023, the entire disclosure of which is incorporated herein by reference. Technical Field
[0003] Various embodiments generally relate to a semiconductor integrated device, and more particularly, to a storage device and an operation method thereof. Background Art
[0004] A storage device may use a volatile memory device and / or a non - volatile memory device as a storage medium, and may be connected to an external device and perform data input / output operations according to requests from the external device.
[0005] When repeatedly accessing a specific area of a memory device, read interference may occur.
[0006] To solve the occurrence of read interference, data may be refreshed through a reclaim operation that moves data in a memory area accessed a predetermined number of times to another memory area.
[0007] A method for managing the reclaim of target data is needed so that internal reclaim operations performed in a storage device do not interfere with requests from an external device. Summary of the Invention
[0008] Embodiments relate to a storage device and an operation method thereof capable of managing frequently accessed data.
[0009] In an embodiment of the present disclosure, a storage device may include: a memory device including a first storage block and a second storage block; and a storage controller configured to control the memory device. The storage controller may be configured to determine an attribute of first read data set by an external device when the external device requests first read data and reads the first read data from the first storage block, and copy the first read data having the first attribute to the second storage block.
[0010] In an embodiment of the present disclosure, a storage device may include: a memory device including a first storage block and a second storage block; and a storage controller configured to control the memory device. The storage controller may be configured to store data having a first attribute in the second storage block according to a read request from an external device based on the data attribute set by the external device.
[0011] In an embodiment of the present disclosure, a method of operating a storage device is provided, where the storage device includes a storage controller configured to control a memory device including a first storage block and a second storage block. The method may include: reading, by the storage controller, first read data requested by an external device from the first storage block; determining, by the storage controller, an attribute of the first read data set by the external device; and copying, by the storage controller, the first read data to the second storage block when the first read data has a first attribute.
[0012] According to the present technology, it is convenient to collect data with a high access frequency.
[0013] The collected access-intensive data can be refreshed together, and thus the performance of the storage device can be improved.
[0014] These and other features, aspects, and embodiments are described in more detail below. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The above and other aspects, features, and advantages of the subject matter of the present disclosure will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
[0016] Figure 1 is a diagram showing the configuration of a storage device according to an embodiment of the present disclosure;
[0017] Figure 2 is a diagram showing the configuration of a data packet transmitted to a storage device according to an embodiment of the present disclosure;
[0018] Figure 3 is a diagram showing the logical configuration of a memory device according to an embodiment of the present disclosure;
[0019] Figure 4 is a diagram showing the configuration of a storage controller according to an embodiment of the present disclosure;
[0020] Figure 5 and Figure 6 is a flowchart showing a method of operating a storage device according to an embodiment of the present disclosure; and
[0021] Figure 7 is a flowchart explaining a method of operating a storage device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0022] The various embodiments of the present teachings are described in detail with reference to the accompanying drawings. The drawings are schematic diagrams of the various embodiments (and intermediate structures). Thus, for example, due to manufacturing techniques and / or tolerances, variations in the illustrated configurations and shapes are expected. Accordingly, the described embodiments should not be construed as limited to the specific configurations and shapes shown herein, but may include deviations in configurations and shapes that do not depart from the spirit and scope of the present teachings as defined in the appended claims.
[0023] The present teachings are described herein with reference to cross-sectional and / or plan views of idealized embodiments of the present teachings. However, the embodiments of the present teachings should not be construed as limiting the present teachings. Although some embodiments of the present teachings are shown and described, those of ordinary skill in the art will understand that changes may be made to these embodiments without departing from the principles and spirit of the present teachings.
[0024] Figure 1 is a diagram showing the configuration of a storage device according to an embodiment of the present disclosure.
[0025] With reference to Figure 1 , the storage device 10 may be configured to process requests from external devices. The storage device 10 may include a storage controller 100, a memory device 200, and a buffer memory device 300. The memory device 200 may include a plurality of non-volatile memory devices (NVMs) 210, 220, and 230.
[0026] The memory device 200 may include a certain number of dies, and each die may include a certain number of planes. Each plane may include a plurality of storage blocks, and each of the plurality of storage blocks may be configured with a plurality of pages. The memory device 200 may transmit / receive data to / from the storage controller 100 through channels CH1 to CHn.
[0027] The external device (not shown) may include at least one processor. The external device may be the processor itself or may be an electronic device or electronic system including a processor.
[0028] The external device may transmit a write request including a write command, an address, and write data to the storage device 10 to write data. In response to the request, the storage device 10 may control the memory device 200 to program the write data.
[0029] An external device may transmit a read request including a read command and an address to the storage device 10 to read data. The storage device 10 may read read-requested data from the memory device 200 and transmit the read data to the external device. To execute a write request and a read request of the external device and to perform internal operations of the storage device 10, the storage device 10 may read data from one area of the memory device 200 and store the read data in another area of the memory device 200. The internal operations may include internal management operations (house-keeping operations), such as garbage collection, wear leveling, and the like.
[0030] The buffer memory device 300 may temporarily store data transmitted and received between the external device and the storage device 10 in a read or write operation or data input and output through internal operations.
[0031] In an embodiment, the storage controller 100 may include a write processing circuit 110, a read processing circuit 120, a block manager 130, a mapping data manager 140, and an internal data movement circuit 150, and a read recovery (RRC) processing circuit 160.
[0032] The write processing circuit 110 may receive a write request including write data from the external device and control the memory device 200 to program the write data.
[0033] The read processing circuit 120 may control the memory device 200 to read data requested by the external device and provide the read data to the external device.
[0034] The block manager 130 may manage a plurality of storage blocks constituting the memory device 200. For example, the block manager 130 may perform block opening for processing a write request, block closing for a block in which data is saturated, and manage a block list for blocks in an open state or a closed state.
[0035] The mapping data manager 140 may be configured to generate, update, and invalidate mapping data that maps a logical address used by an external device and a physical address used by the memory device 200. For example, the mapping data manager 140 may generate mapping data to program write-requested data in the memory device 200. When the physical location of data stored in the memory device 200 changes, the mapping data manager 140 may update the mapping data. The mapping data manager 140 may invalidate old mapping data with reference to a location change in the memory device, and may invalidate mapping data of data deleted in the memory device 200.
[0036] The internal data movement circuit 150 may move (i.e., copy) the data read from one area of the memory device 200 to another area of the memory device 200 to perform internal management operations.
[0037] When a read reclaim event is triggered based on a preset criterion, the RRC processing circuit 160 may provide the internal data movement circuit 150 with the sacrificed block number and the target block number used in the reclaim operation and may control the movement of data from the sacrificed block to the target block. Accordingly, the internal data movement circuit 150 may copy the data of the sacrificed block to the target block.
[0038] Figure 2 is a diagram showing the configuration of a data packet transmitted to a storage device according to an embodiment of the present disclosure.
[0039] In an embodiment, the storage device 10 may communicate with an external device according to a Universal Flash Storage (UFS) interface protocol.
[0040] Figure 2 shows the configuration of a UFS protocol information unit (UPIU) (hereinafter referred to as "data packet") transmitted from an external device to the storage device 10 according to a UFS interface communication method.
[0041] Refer to Figure 2 , the data packet UPIU based on the UFS interface may include a reserved area Reserved in a partial bit of the sixth byte size.
[0042] The external device may include the attribute of the data to be written or read in the reserved area Reserved and transmit a data packet including the attribute of the data to the storage device 10.
[0043] In an embodiment, the attribute of the data may be set as a flag bit. For example, when the flag of the reserved area Reserved is at a high level, such as logic 1, the corresponding data may be frequently read data.
[0044] In an embodiment, the attribute of the data may be set as an extension of the corresponding data. For example, an extension for distinguishing whether the data to be written or read is multimedia data (i.e., music / moving image / photo data), game application-related data, document / memo data, system data, or backup data may be included in the reserved area Reserved.
[0045] The storage controller 100 may determine the attribute of the read request data or the write request data by setting the value of the reserved area Reserved and processing the write request or the read request according to the attribute of the data.
[0046] Figure 3It is a diagram showing the logical configuration of a memory device according to an embodiment of the present disclosure.
[0047] Referring to Figure 3 , the memory device 200 can be divided into a main data area and a system data area according to the type of data to be stored.
[0048] The data requested to be written by an external device can be stored in the main data area. The main data area can be divided into a first block and a second block. The second block can be a space for collecting and storing first data having a specific first attribute among the data requested to be written by the external device.
[0049] The system data area can be divided into a system area for storing system information and an over-provisioning area (OP area) required to maintain the operation performance of the storage device.
[0050] The system information stored in the system area can include mapping data for mapping information between logical addresses and physical addresses, information required for the startup operation of the storage device 10, and setting information for firmware driving and execution of the storage controller 100, etc.
[0051] The OP area can be a space allocated for various functions required to drive the storage device 10, such as wear leveling, garbage collection, bad block management, etc.
[0052] In an embodiment, the storage controller 100 can control programming the write request data in the first block. When the read request data has the first attribute, the storage controller 100 can move the read data to the second block.
[0053] When data with a frequently read attribute is collected in the second block, the second block may be interfered with. The storage controller 100 can monitor the access count of the second block, such as the read count of the second block. When the second block is accessed a specific number of times or more, the storage controller 100 can select the second block as a sacrifice block for the recycling operation.
[0054] Figure 4 It is a diagram showing the configuration of a storage controller according to an embodiment of the present disclosure.
[0055] Referring to Figure 4 , the write processing circuit 110 can control the memory device 200 to program the write data WDATA in response to the write request WT.
[0056] When the external device and the storage device 10 communicate with each other according to the UFS interface, the write request WT can pass through as Figure 2The data packet transmission shown. The write processing circuit 110 can extract the attributes of the write data WDATA transmitted together with the write request from the reserved area Reserved of the data packet, and manage the attributes of the write data as metadata of the write data WDATA.
[0057] The read processing circuit 120 can obtain a physical address from the mapping data manager 140 in response to a read request RD from an external device, and transmit a read command RD to the memory device 200 according to the obtained physical address. The data RDATA read from the memory device 200 according to the read command RD can be transmitted to the external device.
[0058] When the external device and the storage device 10 communicate with each other through the UFS interface, the data packet configuration shown in Figure 2 can be used to transmit a write request.
[0059] When accessing the read request data in the second block, the mapping data manager 140 can notify the block manager 130 of the access to the second block.
[0060] When the read request data is stored in the second block, the block manager 130 can increase the access count for the second block. When the access count for the second block exceeds a threshold, the block manager 130 can allow the corresponding second block to transition from an open state to a closed state.
[0061] When the read request data exists in the first block, the read processing circuit 120 can determine the attributes of the read request data. In an embodiment, the read processing circuit 120 can refer to the reserved area Reserved of the data packet included in the read request from the external device or the metadata of the read request data to determine the attributes of the read request data.
[0062] When the read request data has a first attribute, the read processing circuit 120 can request data movement from the internal data movement circuit 150.
[0063] The internal data movement circuit 150 can copy the read request data from the first block to the second block in response to the movement request from the read processing circuit 120.
[0064] When the internal data movement circuit 150 copies data, the mapping data manager 140 can update the mapping data. In addition, the block manager 130 can determine whether the second block is saturated, and when the second block is saturated, can convert the second block from an open state to a closed state.
[0065] Figure 5 and Figure 6 are flowcharts showing an operation method of a storage device according to an embodiment of the present disclosure.
[0066] Refer toFigure 5 When receiving a read request from an external device (S101), the storage controller 100 can use the physical address of the read request data to determine whether the read request data is in an open second block (S103).
[0067] When the read request data exists (i.e., hits) in the second block (S103: Yes), the storage controller 100 can transmit the data read from the second block to the external device (S105).
[0068] The storage controller 100 can increase the access count of the second block (S107) and determine whether the access count exceeds a threshold TH (S109).
[0069] When the access count of the second block exceeds the threshold TH (S109: Y), the storage controller 100 can allow the corresponding second block to change from the open state to the closed state (S111).
[0070] When the access count of the second block is less than the threshold TH (S109: N), the storage controller 100 can terminate the read operation.
[0071] When the read request data does not exist in the second block (S103: N), the storage controller 100 can execute the process S200 shown in Figure 6 .
[0072] Referring to Figure 6 the storage controller 100 can transmit the data read from the first block to the external device (S201).
[0073] The storage controller 100 can determine the attribute of the read request data (S203).
[0074] When the external device and the storage device 10 communicate with each other through the UFS interface, the data packets shown in Figure 2 can be used to transmit read requests and write requests. Thus, the storage controller 100 can determine the attribute of the read request data according to the reserved area Reserved of the data packet included in the read request of the external device or according to the metadata of the read request data.
[0075] When the read request data has a first attribute (S203: Y), the storage controller 100 can copy the read request data from the first block to the second block (S205).
[0076] As the data moves internally, the storage controller 100 can update the corresponding mapping data (S207). In addition, the storage controller 100 can determine whether the second block is saturated (S209).
[0077] When the second block is saturated (S209: Y), the storage controller 100 may change the saturated second block to a closed state (S211).
[0078] When the read request data does not have the first attribute (S203: N) or the second block is not saturated (S209: N), the read process may be terminated.
[0079] As described above, during the process of processing the read request data, the data with the first attribute may be collected into the second block.
[0080] Figure 7 is a flowchart explaining an operation method of a storage device according to an embodiment of the present disclosure.
[0081] Referring to Figure 7 , a read recovery (RRC) operation (S301) may be triggered according to a preset condition. For example, the read recovery (RRC) operation may be triggered at a preset interval, or the read recovery (RRC) operation may be triggered according to various conditions such as the access count of a storage block.
[0082] When the read recovery operation is triggered, the storage controller 100 may select some of the second blocks in all the closed second blocks as sacrifice blocks (S303).
[0083] The storage controller 100 may select some of the first blocks as target blocks from all the first blocks and move the data of the sacrifice blocks to the target blocks (S305).
[0084] The storage controller 100 may allocate new second blocks to store the data with the first attribute (S307).
[0085] When the data with the first attribute (i.e., the read-intensive attribute) is collected into the second block, the second block may be vulnerable to interference.
[0086] Therefore, the data of the second block that collects the read-intensive data may be selected as the candidate data for the recovery operation, thereby ensuring and protecting the data.
[0087] The above embodiments of the present invention are intended to illustrate rather than limit the present invention. Various alternatives and equivalent solutions are possible. The present invention is not limited to the embodiments described herein. The present invention is also not limited to any specific type of semiconductor device. Given the present disclosure, other additions, deletions, or modifications are obvious and are intended to fall within the scope of the appended claims.
Claims
1. A storage device, comprising: A memory device comprising a first memory block and a second memory block; as well as a storage controller, controlling the storage device, When an external device requests first read data and reads the first read data from the first storage block, the storage controller determines an attribute of the first read data set by the external device and copies the first read data having the first attribute to the second storage block.
2. The storage device according to claim 1, wherein: The memory controller increases an access count to the second memory block when the external device requests second read data and reads the second read data from the second memory block.
3. The storage device according to claim 1, wherein: When the read reclaim operation is triggered, the storage controller copies data of at least one second storage block in a closed state to the first storage block.
4. The storage device according to claim 3, wherein: The storage controller changes the second storage block to the closed state when the second storage block reaches data saturation or when an access count of the second storage block exceeds a threshold.
5. The storage device according to claim 1, wherein: The storage controller communicates with the external device via a universal flash memory interface protocol (UFS interface protocol), and The attribute is included in a data packet transmitted by the external device to the storage controller.
6. The storage device according to claim 5, wherein: The attributes are included in a reserved area of the data packet.
7. A storage device, comprising: A memory device comprising a first memory block and a second memory block; as well as a storage controller, controlling the storage device, The storage controller stores the data having the first attribute in the second storage block based on the data attribute set by the external device and in accordance with a read request of the external device.
8. The storage device according to claim 7, wherein: When the second storage block is saturated or when the access count of the second storage block exceeds a threshold, the storage controller changes the second storage block to a closed state, and when a read reclaim operation is triggered, copies data of at least one second storage block to the first storage block.
9. The storage device according to claim 7, wherein: The storage controller communicates with the external device via a universal flash memory interface protocol (UFS interface protocol), and The data attribute is included in a data packet transmitted by the external device to the storage controller when the write request or the read request is transmitted.
10. A method of operating a storage device, the storage device comprising a storage controller, the storage controller controlling a memory device comprising a first storage block and a second storage block, the method comprising: reading, by the storage controller, first read data requested by an external device from the first storage block; determining, by the storage controller, an attribute of the first read data set by the external device; as well as When the first read data has a first attribute, the first read data is copied to the second storage block by the storage controller.
11. The method according to claim 10, further comprising: reading, by the storage controller, second read data requested by the external device from the second storage block; as well as An access count to the second storage block is increased by the storage controller.
12. The method according to claim 10, further comprising: When a read reclaim operation is triggered, data of at least one second storage block converted from an open state to a closed state is copied to the first storage block by the storage controller.
13. The method according to claim 12, further comprising: When data is saturated or the access count exceeds a threshold, the second storage block is converted to the closed state through the storage controller.
14. The method according to claim 10, wherein: The storage controller communicates with the external device via a universal flash memory interface protocol (UFS interface protocol), and The attribute is included in a data packet transmitted by the external device to the storage controller when transmitting a write request or a read request.
15. The method according to claim 14, wherein: The attributes are included in a reserved area of the data packet.