Data storage device, data storage medium and data refreshing method

The data storage system uses a controller to increment read counts with weighted values and perform refresh operations when thresholds are met, addressing latent read disturbances in flash memory to maintain data integrity.

CN120319291APending Publication Date: 2025-07-15SILICON MOTION INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411302487.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-12
Filing Date
2024-09-18
Publication Date
2025-07-15

AI Technical Summary

Technical Problem

Some data blocks or data pages in flash memory are prone to potential reading interference when frequently read, especially the least significant data page, which has not been effectively avoided by the prior art.

Method used

By adding a weighting mechanism to read count values in the data storage device, it is determined whether the data block is the first read, and the refresh job of the data block is performed in advance before the read count value reaches the refresh threshold, including the use of non-volatile flash memory and controller.

Benefits of technology

It effectively avoids the impact of potential read interference from data blocks and data pages, ensures data integrity, and improves the reliability of data storage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120319291A_ABST
    Figure CN120319291A_ABST
Patent Text Reader

Abstract

A data storage device, a data storage medium and a data refresh method wherein the data storage device comprises a data storage medium to store a plurality of instructions, the data refresh method is implemented by executing the plurality of instructions, the data refresh method comprising: receiving a data read instruction from a host; judging whether the data block is read for the first time in the period, wherein the data block is searched according to the data reading instruction; in response to the fact that the data block is read for the first time in the period, adding a first numerical value to a read count value of the data block; judging whether the increased read count value is greater than a refresh threshold value or not; and in response to the fact that the increased read count value is greater than the refresh threshold value, executing refresh operation of the data block. Therefore, the read count value is increased to refresh the data block in advance, and data damage caused by damage of the data block is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a data storage device, a data storage medium, and a data refreshing method, and particularly to a data storage device, a data storage medium, and a data refreshing method for preserving data integrity. Background Art

[0002] Due to the evolution of flash memory manufacturing processes, in some types of flash memories, certain data blocks or data pages are prone to latent read disturbance when being frequently read in a cycle, especially in the least significant bit (LSB) data pages, and this latent read disturbance is likely to occur before the read count value of these data blocks or data pages reaches the refresh threshold. Therefore, a data storage device, a data storage medium, and a data refreshing method that can preserve data from being affected by read disturbance are needed. Summary of the Invention

[0003] The present invention provides a data storage device, a data storage medium, and a data refreshing method that can effectively preserve data integrity.

[0004] The data storage device provided by the present invention includes a non-volatile flash memory and a controller, wherein the non-volatile flash memory includes a plurality of data blocks, and the controller is coupled to the non-volatile flash memory and is used to execute a data refreshing method. The data refreshing method includes: receiving a data read instruction from a host; determining whether a data block is read for the first time in a cycle, wherein the data block is searched according to the data read instruction; in response to the data block being read for the first time in the cycle, adding a first value to a read count value of the data block; determining whether the increased read count value is greater than a refresh threshold; in response to the increased read count value being greater than the refresh threshold, performing a refresh operation on the data block.

[0005] The data storage medium provided by the present invention is used to store a plurality of instructions, wherein the plurality of instructions are executed by a controller to implement a data refreshing method including: receiving a data read instruction from a host; determining whether a data block is read for the first time in a cycle, wherein the data block is searched according to the data read instruction; in response to the data block being read for the first time in the cycle, adding a first value to a read count value of the data block; determining whether the increased read count value is greater than a refresh threshold; in response to the increased read count value being greater than the refresh threshold, performing a refresh operation on the data block.

[0006] The data refreshing method provided by the present invention is applicable to a data storage device including a non-volatile flash memory and a controller, wherein the non-volatile flash memory includes a plurality of data blocks, and the data refreshing method is executed by the controller to include: receiving a data reading instruction from a host; determining whether a data block is read for the first time within a period, wherein the data block is searched according to the data reading instruction; in response to the data block being read for the first time within the period, increasing a first value to a reading count value of the data block; determining whether the increased reading count value is greater than a refresh threshold; in response to the increased reading count value being greater than the refresh threshold, performing a refresh operation on the data block.

[0007] In an embodiment of the present invention, the data refreshing method further includes: in response to the data block not being read for the first time within the period, increasing a second value to the reading count value of the data block, wherein the second value is less than the first value.

[0008] In an embodiment of the present invention, the second value is 1.

[0009] In an embodiment of the present invention, the period is at least 120 seconds.

[0010] In an embodiment of the present invention, the first value is at least 120.

[0011] In an embodiment of the present invention, the refresh threshold is at least 50,000.

[0012] Since the present invention increases a weighted value to the reading count value of a data block frequently read within a period, compared with the traditional reading counting method where the reading count value of a data block is incremented by 1 when the data block is read once, the reading count value of the data block in the present invention reaches the refresh threshold faster, so that the refresh operation of the data block can be performed earlier, and the data block, data page and data are prevented from being affected by potential read interference.

[0013] The above description is only an overview of the technical solution of the present invention. In order to understand the technical means of the present invention more clearly, it can be implemented according to the content of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and understandable, the following preferred embodiments are specifically exemplified and described in detail in conjunction with the drawings as follows. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 It is a system block diagram of the data storage device provided by the embodiment of the present invention.

[0015] Figure 2 It is a step flow chart of the data refreshing method provided by the embodiment of the present invention. Detailed implementation manners

[0016] The present invention is particularly described by the following examples, which are only for illustrative purposes. For those skilled in the art, various modifications and refinements can be made without departing from the spirit and scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the scope defined by the appended patent application scope. Throughout the specification and the patent application scope, unless clearly specified in the content, the meanings of "a" and "the" include such descriptions including "one or at least one" element or component. In addition, as used in the present invention, unless it is obvious from a specific context to exclude the plural, the singular article also includes the description of a plurality of elements or components. Moreover, when applied in the description herein and the entire patent application scope below, unless clearly specified in the content, the meaning of "in which" can include "in which" and "on which". The terms used throughout the specification and the patent application scope, unless otherwise specified, generally have their ordinary meanings used in this field, in the content disclosed herein, and in the specific context. Some terms used to describe the present invention will be discussed below or elsewhere in this specification to provide additional guidance to practitioners in the description of the present invention. Any examples anywhere in the specification, including the use of any examples of the terms discussed herein, are only for illustrative purposes and do not limit the scope and meaning of the present invention or any illustrative terms. Similarly, the present invention is not limited to the various embodiments presented in this specification.

[0017] As used herein, the terms "substantially", "around", "about", or "approximately" should generally mean within 20% of a given value or range, preferably within 10%. In addition, the quantities provided herein may be approximate, so it means that without special statement, the terms "about", "around", or "approximately" can be used to represent. When a quantity, concentration, or other numerical value or parameter has a specified range, a preferred range, or lists upper and lower ideal values, all ranges composed of any pair of upper and lower limits or ideal values should be considered to be specifically disclosed, regardless of whether such ranges are separately disclosed. For example, if a length is disclosed to be from X centimeters to Y centimeters, it should be considered that a length of H centimeters is disclosed, and H can be any real number between X and Y.

[0018] In addition, when the terms "coupled" or "connected" are used herein, they include any direct and indirect electrical connection means. For example, if it is described in the text that a first device is electrically coupled to a second device, it means that the first device can be directly connected to the second device, or indirectly connected to the second device through other devices or connection means. Additionally, when it comes to the transmission or provision of a telecommunications signal, those skilled in the art should understand that there may be attenuation or other non-ideal changes during the transmission process of the telecommunications signal. However, if there is no specific description of the source and the receiving end of the telecommunications signal transmission or provision, they should be substantially regarded as the same signal. For example, if a telecommunications signal S is transmitted (or provided) from the terminal A of an electronic circuit to the terminal B of the electronic circuit, there may be a voltage drop across the source and drain terminals of a transistor switch and / or possible stray capacitance during the process, but if the purpose of this design is not to deliberately use the attenuation or other non-ideal changes generated during the transmission (or provision) to achieve certain specific technical effects, the telecommunications signal S at the terminal A and the terminal B of the electronic circuit should be regarded as substantially the same signal.

[0019] It can be understood that terms such as "comprising", "including", "having", "containing", "involving", etc. used herein are open-ended, that is, they mean including but not limited to. Additionally, any embodiment or claim scope of the present invention does not have to achieve all the purposes, advantages or features disclosed in the present invention. Furthermore, the abstract part and the title are only used to assist in searching the patent document and are not used to limit the claim scope of the present invention.

[0020] Please refer to Figure 1 As shown, it is a system block diagram of the data storage device provided by an embodiment of the present invention. The data storage device 1 provided by this embodiment includes a non-volatile flash memory 2, a controller 3, and a data storage medium 4. The non-volatile flash memory 2 includes a plurality of data blocks, the data storage medium 4 stores a plurality of instructions, and the controller 3 is coupled to the non-volatile flash memory 2 and the data storage medium 4. The controller 3 is used to execute a plurality of instructions to implement a data refresh method to access the data in the plurality of data blocks of the non-volatile flash memory 2.

[0021] According to an embodiment of the present invention, the data storage device 1 can adopt a Universal Serial Bus (USB), Serial Advanced Technology Attachment (SATA), Parallel Advanced Technology Attachment (PATA), Peripheral Component Interconnect (PCI) physical interface, or a flash memory that adopts USB, Non-Volatile Memory Express (NVME), Advanced Host Controller Interface (AHCI), Small computer System Interface (SCSI), communication protocol, such as a memory card, a USB flash device, a Solid-State Drive (SSD), an embedded MultiMedia Card (eMMC), etc.

[0022] According to an embodiment of the present invention, the non-volatile flash memory 2 is, for example but not limited to, a NAND flash memory. The types of NAND flash memories are, for example but not limited to, Single-Level Cell (SLC), Multi-Level Cell (MLC), Triple-Level Cell (TLC), Quad-Level Cell (QLC), etc.

[0023] According to an embodiment of the present invention, the controller 3 is, for example but not limited to, a processor, a microprocessor, etc., and is used to perform writing, reading, erasing, and programming of the non-volatile flash memory 2 according to commands from a host, such as a master, and automatically execute the data refreshing method of the data storage device 1 provided by the embodiments of the present invention.

[0024] Please refer to Figure 2 As shown, it is a step flow chart of the data refreshing method provided by the embodiments of the present invention. The data refreshing method provided by this embodiment is implemented by the controller 3 and includes the following steps. Step S1: Receive a data reading instruction from the host, where the data reading instruction is, for example, an instruction to read data in at least one data page of at least one data block in the non-volatile flash memory 2. Additionally, a data page is the smallest unit that the data reading instruction can read.

[0025] Step S3: Determine whether a data block is read for the first time within a period, where the data block is searched according to a data read instruction. Specifically, in this embodiment, the period is represented by at least 120 seconds, which is substantially 120 seconds. However, in other embodiments, those skilled in the art can adjust the length of the period according to actual design and experience.

[0026] Step S5: When it is responded that the data block is read for the first time within the period, increase a first value to the read count value of the data block. Specifically, in this embodiment, the first value is represented by at least 120, which is substantially 120. For example, before this period, the read count value of the data block is 100. When the data block is read for the first time within the 120 - second period, the read count value of this data block is 100 + 120 = 220. However, in other embodiments, those skilled in the art can adjust the first value according to actual design and experience. Additionally, it should be particularly noted that the start time of the period can start counting a period at any time. However, those skilled in the art can adjust the start time of the period according to actual design and experience.

[0027] Step S7: When it is responded that the data block is not read for the first time within the period, increase a second value to the read count value of the data block. Specifically, in this embodiment, when the data block is read for the second time, the third time, etc., the read count value of the data block is added with the second value to the read count value, where the second value is less than the first value, and the second value is, for example, the value 1. For example, the read count value after the data block is read for the first time within the 120 - second period is 220; when the data block is read for the second time within this 120 - second period, the read count value of this data block is 220 + 1 = 221; when the data block is read for the third time within this 120 - second period, the read count value of this data block is 221 + 1 = 222; when the data block is read multiple times within this 120 seconds, and so on.

[0028] Step S9: Determine whether the increased read count value is greater than the refresh threshold. Specifically, in this embodiment, the refresh threshold is represented by at least 50,000, which is substantially 50,000. However, in other embodiments, those skilled in the art can adjust the value of the refresh threshold according to actual design and experience.

[0029] Step S11: In response to the increased read count value being greater than the refresh threshold, perform a refresh operation on the data block. Specifically, in this embodiment, when the read count value of the data block is greater than the refresh threshold of 50,000, the data block will be subjected to a refresh operation to determine whether the data therein is about to be damaged (Uncorrectable Error Correction Code, UECC), and further determine whether to move the data to other data blocks.

[0030] In summary, in the present invention, a weighted value is added to the read count value of the data block that is frequently read in a cycle. Compared with the traditional read counting method where the read count value of the data block is incremented by 1 when the data block is read once, the read count value of the data block in the present invention reaches the refresh threshold faster. Therefore, the refresh operation of the data block can be performed earlier to avoid the data block, data page, and data from being affected by potential read interference.

[0031] The above is only a preferred embodiment of the present invention and does not impose any form of limitation on the present invention. Although the present invention has been disclosed above with a preferred embodiment, it is not intended to limit the present invention. Any person skilled in the art can make some changes or modifications to the above-disclosed methods and technical contents to form equivalent embodiments of equivalent changes within the scope of the technical solution of the present invention. However, as long as the content does not depart from the technical solution of the present invention, any simple modification, equivalent change, and modification made to the above embodiments based on the technical essence of the present invention still fall within the scope of the technical solution of the present invention.

Claims

1. A data refreshing method, characterized in that Applicable to a data storage device including a non-volatile flash memory and a controller, wherein the non-volatile flash memory includes a plurality of data blocks, and the data refreshing method is executed by the controller to include: Receiving a data read instruction from a host; Determining whether a data block is read for the first time within a period, wherein the data block is searched according to the data read instruction; In response to the data block being read for the first time within the period, incrementing a first value into a read count value of the data block; Determining whether the incremented read count value is greater than a refresh threshold; In response to the incremented read count value being greater than the refresh threshold, performing a refresh operation on the data block.

2. The data refreshing method according to claim 1, wherein The data refreshing method further includes: In response to the data block not being read for the first time within the period, incrementing a second value into the read count value of the data block, wherein the second value is less than the first value.

3. The data refreshing method according to claim 2, wherein The second value is 1.

4. The data refreshing method according to claim 1, wherein The period is at least 120 seconds.

5. The data refreshing method according to claim 1, wherein The first value is at least 120.

6. The data refreshing method according to claim 1, wherein The refresh threshold is at least 50,000.

7. A data storage device, characterized in that, Including: A non-volatile flash memory including a plurality of data blocks; A controller coupled to the non-volatile flash memory and configured to execute a data refreshing method; Wherein the data refreshing method includes: Receiving a data read instruction from a host; Determining whether a data block is read for the first time within a period, wherein the data block is searched according to the data read instruction; In response to the data block being read for the first time within the period, incrementing a first value into a read count value of the data block; Determining whether the incremented read count value is greater than a refresh threshold; In response to the incremented read count value being greater than the refresh threshold, performing a refresh operation on the data block.

8. The data storage device according to claim 7, wherein The data refreshing method further includes: In response to the data block not being read for the first time within the period, incrementing a second value into the read count value of the data block, wherein the second value is less than the first value.

9. The data storage device according to claim 8, wherein The second value is 1.

10. The data storage device according to claim 7, wherein The period is at least 120 seconds.

11. The data storage device according to claim 7, wherein, The first value is at least 120.

12. The data storage device according to claim 7, wherein The refresh threshold is at least 50,000.

13. A data storage medium, characterized in that, The data storage medium is used to store a plurality of instructions, wherein the plurality of instructions are executed by a controller to implement a data refreshing method including: Receiving a data read instruction from a host; Determining whether a data block is read for the first time within a period, wherein the data block is searched according to the data read instruction; In response to the data block being read for the first time within the period, incrementing a first value into a read count value of the data block; Determining whether the incremented read count value is greater than a refresh threshold; In response to the incremented read count value being greater than the refresh threshold, performing a refresh operation on the data block.

14. The data storage medium according to claim 13, characterized in that, The data refreshing method further includes: In response to the data block being read non-first time within the period, increment a second value to the read count value of the data block, where the second value is less than the first value.

15. The data storage medium according to claim 14, wherein The second value is 1.

16. The data storage medium according to claim 13, characterized in that, The period is at least 120 seconds.

17. The data storage medium according to claim 13, wherein The first value is at least 120.

18. The data storage medium according to claim 13, wherein The refresh threshold is at least 50,000.