CN117406910A - Data storage method, storage device and computer readable storage device - Google Patents
Data storage method, storage device and computer readable storage device Download PDFInfo
- Publication number
- CN117406910A CN117406910A CN202210807043.5A CN202210807043A CN117406910A CN 117406910 A CN117406910 A CN 117406910A CN 202210807043 A CN202210807043 A CN 202210807043A CN 117406910 A CN117406910 A CN 117406910A
- Authority
- CN
- China
- Prior art keywords
- data
- storage unit
- reading
- read
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000013500 data storage Methods 0.000 title claims abstract description 23
- 238000013507 mapping Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 1
- 230000007774 longterm Effects 0.000 abstract description 5
- 238000013524 data verification Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
The application discloses a data storage method. The method comprises the following steps: acquiring the reading times of the data read in the storage unit; judging whether the reading times of the data in the storage unit are larger than the preset reading times of the data, and the times differ by more than one; if yes, backing up the data to a new storage unit, so as to be used for reading the backup data in the new storage unit when the data reading of the storage unit is wrong. The application also discloses a storage device and a computer readable storage device. By the method, the accuracy of the data read out when the long-term storage data or the frequently used data are read can be guaranteed.
Description
Technical Field
The present invention relates to the field of data storage, and in particular, to a data storage method, a storage device, and a computer readable storage device.
Background
In the NAND FLASH memory, storage units store data in blocks and pages. One flash block includes a plurality of flash pages. When performing operations such as reading or writing data, a flash memory page corresponding to the data needs to be selected first, and then the corresponding operation is performed on the flash memory page. However, when the flash page is selected, the adjacent flash page in the corresponding flash block generates data voltage offset due to word line crosstalk, and after long-term offset, bit flip may be caused, so that data storage errors are caused. However, the cell storing data may have a problem of leakage of charge even if it is not used for a long period of time, so that the stored data is erroneous.
Disclosure of Invention
The application mainly aims to provide a data storage method, a storage device and a computer readable storage device, which can solve the technical problem of data bit overturning caused by operations such as reading and writing or long-term unused in the data storage process.
In order to solve the technical problems, a first technical scheme adopted by the application is as follows: a data storage method is provided. The method comprises the following steps: acquiring the reading times of the data read in the storage unit; judging whether the reading times of the data in the storage unit are larger than the preset reading times of the data, and the times differ by more than one; if yes, backing up the data to a new storage unit, so as to be used for reading the backup data in the new storage unit when the data reading of the storage unit is wrong.
In order to solve the technical problems, a second technical scheme adopted by the application is as follows: a storage device is provided. The storage means comprises a memory for storing program data that can be executed by the processor to implement the method as described in the first aspect.
In order to solve the technical problem, a third technical scheme adopted in the application is as follows: a computer readable storage device is provided. The computer readable storage means stores program data executable by a processor to implement the method as described in the first aspect.
The beneficial effects of this application are: and when the number of times of reading the data is judged to be larger than the preset number of times of reading corresponding to the data, the data is backed up and backed up to a new storage unit. When the data is read to reach the preset reading times, the data backup is carried out, at the moment, the data stored in the storage unit is still correct data, and after the preset reading times are exceeded, the data in the storage can possibly cause the data storage error due to bit overturning caused by the reasons of interference and the like during the reading and writing. After the data backup, when the host reads the data, the data is still read from the original storage unit, but when the data in the original storage unit is wrong, the backup data in the new storage unit is used for replacing the data of the original storage unit. Thereby ensuring the accuracy of the data read out when reading long-term stored data or frequently used data.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a FLASH memory cell structure according to the present application;
FIG. 2 is a schematic diagram of the structure of a memory cell in FLASH of the present application;
FIG. 3 is a flow chart of a first embodiment of the data storage method of the present application;
FIG. 4 is a flow chart of a second embodiment of the data storage method of the present application;
FIG. 5 is a flow chart of a third embodiment of a data storage method of the present application;
FIG. 6 is a flow chart of a fourth embodiment of a data storage method of the present application;
FIG. 7 is a schematic diagram of an embodiment of a memory device according to the present application.
Detailed Description
The following description of the technical solutions in the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are within the scope of the present disclosure.
The terms "first," "second," and the like in this application are used for distinguishing between different objects and not for describing a particular sequential order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
Before describing the technical solution of the present application, some concepts will be briefly introduced.
Referring to fig. 1, fig. 1 is a schematic diagram of a FLASH memory cell structure. In the figure, one MOS transistor is composed of two gates. The first gate is surrounded by oxide and the second gate is connected to the outside. The first door is located in the middle and corresponds to an electronic isolation zone, so that the electrons stored in the first door, i.e. the data, can be kept for a long time. The process of charging and discharging this isolated portion is called writing and erasing.
Referring to fig. 2, fig. 2 is a schematic diagram of the structure of a memory cell in FLASH. In FLASH memory, a plurality of FLASH blocks are included, and each FLASH block includes a plurality of FLASH pages. Each flash page corresponds to a word line, and when a flash page is selected from a flash block to read data, the control electrode of the unselected flash page, namely the word line, is applied with a positive voltage to ensure that the unselected MOS tube is conducted. And a positive voltage is frequently applied to the control electrode of one MOS tube, so that electrons are sucked into the floating grid, the voltage is changed, and finally the bit is turned over.
For a plurality of flash memory cells in each flash page, since the floating gate is a conductor for storing charges, a coupling capacitance exists between the flash memory cells. The coupling capacitance affects the flash memory cells therebetween, which changes the stored charges and causes data errors over time. The charge stored in the flash memory cell may leak after a long period of time, and the data stored in the flash memory cell may change after the leak.
The above problem is that the stored data is erroneous due to some factors affecting the voltage data stored in the flash memory cells. If the data is rewritten to the flash memory cell, the effect of the above problem disappears, and then reappears as the storage time and the number of reads increase.
In a memory cell, some of the stored data is only read from time to time for use as it is not required to be modified frequently or is not required to be modified. When such stored data is read multiple times or stored in the same flash memory cell for too long, the data read out is likely to be erroneous when it is read again. In order to solve the problem of data reading errors, the following technical solutions are proposed.
Referring to fig. 3, fig. 3 is a flowchart illustrating a first embodiment of a data storage method according to the present application. Which comprises the following steps:
s11: and acquiring the reading times of the data read in the storage unit.
The number of reads of data in a memory cell is obtained, the number of reads being calculated from the first read of the data in which the memory cell is present. When the data changes the storage location, i.e. a new storage unit, the number of reads is reset and the calculation is restarted with the first reading of the data in the new storage unit. The data may be data used by the computing system itself, or external data of non-system data stored in the storage device by the user, where the type of the data is not limited, and any data may be applied to the technical solution of the present application.
The method for obtaining the reading times of the data in the memory cell may be to associate a counter with the memory cell, wherein the counter corresponding to the memory cell is cleared to count when writing or erasing operation is performed on the memory cell, and the counter is incremented by one when reading operation is performed on the memory cell. The count of the counter associated with the memory cell is determined as the number of times the data stored in the memory cell is read.
S12: judging whether the reading times of the data in the storage unit are larger than the preset reading times of the data, wherein the times are equal to one.
When the data is read, the number of times of reading the data at the memory cell position is obtained, and whether the number of times of reading is larger than one of the preset number of times of reading is judged, if yes, step S13 is executed.
The preset reading times of the data can be set according to the attribute characteristics of the data and the actual situation of the data when the data is read.
In an embodiment, the corresponding preset reading times are set for the data according to the attribute characteristics of the data. The attribute features include a data size of the data. In data reading, the probability of reading large data by the master is generally lower than that of reading small data by the master, that is, the stored data with smaller data size is more likely to be frequently read by the master. Therefore, a smaller preset reading number can be set for the stored data with a large data amount, and a larger preset reading number can be set for the stored data with a small data amount. The attribute features may also include a data type of the data. Upon data reading, data can also be classified into data related to system start-up and regular data unrelated to system start-up. Further combining with the specific actual situation, if the system needs to frequently restart, reset, start-up and shut-down operations, a larger preset reading frequency is set for the data related to the system start-up. If the stored regular data is required to be frequently used when the system is used, a larger preset reading number is set for the regular data. In general, the number of times of system startup is small, and the number of times of reading the normal data is large, so that a small preset number of times of reading is set for the data related to system startup, and a large preset number of times of reading is set for the normal data.
In an embodiment, the corresponding preset reading times are set for the data according to the actual situation when the data is read. The actual situation comprises the reading times of the data in the preset time. In the process of data reading, the preset reading times are set directly through the reading frequency of the data. The number of readings may be understood as how frequently the user uses the data in actual situations, and corresponds to the number of times the data is read in a preset time. When the number of times of reading in the preset time exceeds the preset threshold value, the data is judged to be frequently read, and a larger preset number of times of reading is set for the data. And when the reading times in the preset time do not exceed the preset threshold value, judging that the data is not frequently read, and setting smaller preset reading times for the data.
In an embodiment, the corresponding preset reading times are set for the data according to the actual situation when the data is read. The actual situation comprises a reading scene when the main control reads the data, namely a using scene of the data. In the process of data reading, some data are related data which need to be read during power-on or reset. Generally, the system is powered up or reset only a small number of times, so that the number of times of reading the data is small, and a small preset reading number is set for the data.
S13: and backing up the data to the new storage unit so as to be used for reading the backup data in the new storage unit when the data of the storage unit is read out and is wrong.
And judging that the current reading times of the data are just one time greater than the preset reading times, and carrying out backup processing on the data. The data is stored in other memory cells. The data stored in the flash page may be bit flipped due to multiple read disturbances, resulting in data errors. The data may be bit flipped if the number of times of reading the data in the memory cell exceeds the preset number of times of reading, and if the data is read again, the data is backed up when the data is not in error. And continuing to read after the backup, and calling the backup data to read after the error of the read data so as to ensure the accuracy of the data.
In this embodiment, when the data read reaches the preset read times, the data backup is performed, and the data stored in the storage unit is still correct data at this time, and after the preset read times are exceeded, the data in the storage unit may have bit flip caused by the reasons of interference during the read and write, so as to cause the data storage error. After the data backup, when the host reads the data, the data is still read from the original storage unit, but when the data in the original storage unit is wrong, the backup data in the new storage unit is used for replacing the data of the original storage unit. Thereby ensuring the accuracy of the data read out when reading long-term stored data or frequently used data. And when the data reaches the preset reading times, only the data is backed up, and the data is not directly rewritten, so that the storage performance of the storage unit can be utilized to the maximum extent when the stored data is read.
Referring to fig. 4, fig. 4 is a flowchart illustrating a second embodiment of a data storage method according to the present application. Which comprises the following steps:
s21: and judging that the reading times of the data in the storage unit are larger than the preset reading times of the data, and checking the data when the data in the storage unit are read when the times differ by more than one.
After the data backup is performed, if the data needs to be read, the data is still read from the original storage unit. However, if the data is read from the original memory cell, the data may be erroneous and thus needs to be verified. The data verification may be performed by using the backed up data, or may be conventional data verification means, such as ECC verification. If the verification fails, step S22 is performed.
S22: and reading the backup data in the new storage unit and recording the reading times of the backup data in the new storage unit.
When the data check fails, it indicates that the charge of the stored data in the memory cell has changed, and the stored data is no longer the original data. The backup data in the new memory cell is read out for use in place of the data in the original memory cell.
Referring to fig. 5, fig. 5 is a flowchart of a third embodiment of a data storage method according to the present application. This method is a further extension of the above embodiments. Which comprises the following steps:
s31: and updating the physical address corresponding to the logical address of the data in the mapping table into the physical address of the new storage unit.
When the data verification fails and the backup data is output instead of the original data, the address mapping relation stored in the address mapping table needs to be updated. The data is read by determining the data storage position according to the address mapping relation. The address mapping relationship in the mapping table is the mapping relationship between the logical address and the physical address. The logical address is the address generated by the master. Logical addresses are typically used internally and during programming. The physical address is an address loaded into the memory unit. The physical address is unambiguous and corresponds to the actual memory location. Each data is generated by the main control to a logic address, then the data is stored in an actual storage unit position, and the physical address of the storage unit corresponds to the logic address for the subsequent selection of the data. When the original data is in error, namely the data stored in the original storage unit is in error, the original data is replaced by the backup data for outputting, the backup data is the original data backup stored in the new storage unit before the original data is in error, and the backup data is correct data. Since the backup data is a new storage unit, that is, a new physical address, when the data needs to be output as backup data, the physical address corresponding to the logical address of the data needs to be replaced from the physical address of the original storage unit to the physical address of the new storage unit, and the read data which is backed up before error is correct data.
S32: and deleting the data stored in the storage unit.
Because the data verification fails, the data in the original storage unit is proved to have errors, the physical address corresponding to the data logical address is replaced by a new physical address, and the data in the original storage unit is deleted if the data which is not in error is stored in the new physical address.
The steps of deleting the data in the original storage unit and modifying the mapping table address can be performed simultaneously or sequentially, and the execution sequence of the steps can be set by itself, and the execution sequence time of the steps in the embodiment is not limited.
Referring to fig. 6, fig. 6 is a flowchart of a fourth embodiment of the data storage method of the present application. This method is a further extension of the above embodiments. Which comprises the following steps.
S41: and acquiring the reading times of the data read in the storage unit.
The number of reads of data in a memory cell is obtained, the number of reads being calculated from the first read of the data in which the memory cell is present. When the data changes the storage location, i.e. a new storage unit, the number of reads is reset and the calculation is restarted with the first reading of the data in the new storage unit. The data may be data used by the computing system itself, or external data of non-system data stored in the storage device by the user, where the type of the data is not limited, and any data may be applied to the technical solution of the present application.
S42: judging whether the reading times of the data in the storage unit are larger than the preset reading times of the data, wherein the times are equal to one.
When the number of times of reading the data in the memory cell is less than or equal to the preset number of times of reading the data, step S43 is performed. Step S44 is performed when the number of times of reading the data in the memory cell is greater than the preset number of times of reading the data, and the number of times differs by one. Step S45 is performed when the number of times of reading the data in the memory cell is greater than the preset number of times of reading the data, and the number of times differs by more than one.
S43: the data is read.
When the reading times of the data in the storage unit are judged to be smaller than the preset reading times corresponding to the data, the data are directly read from the storage unit corresponding to the data. At this time, since the number of times of reading is smaller than the preset number of times of reading, it is judged whether the data stored in the storage unit is correct when being read.
S44: and backing up the data to the new storage unit so as to be used for reading the backup data in the new storage unit when the data of the storage unit is read out and is wrong.
And judging that the current reading times of the data are just one time greater than the preset reading times, and carrying out backup processing on the data. The data is stored in other memory cells. Due to multiple reads and multiple word line crosstalk, bit flipping may occur on data stored in a flash page, resulting in data errors. The data may be bit flipped if the number of times of reading the data in the memory cell exceeds the preset number of times of reading, and if the data is read again, the data is backed up when the data is not in error.
S45: and verifying the data when the data in the storage unit is read.
After the data is backed up, the data is read from the original storage unit when the data is continuously read. However, since the data read at this time may be erroneous, it is necessary to perform data verification. If the verification fails, it indicates that the read data is erroneous, and step S46 is performed.
S46: and reading the backup data, updating the physical address corresponding to the logical address of the data in the mapping table into the physical address of the new storage unit, and deleting the data stored in the storage unit.
When the data verification fails and the backup data is output instead of the original data, the address mapping relation stored in the address mapping table needs to be updated. Because the data stored in the original storage unit has errors and needs to be deleted, the subsequent reading is to read and output the data for realizing backup, and therefore, the physical address of the backup data is used for replacing the physical address of the original data in the mapping table.
The relevant steps in this embodiment may refer to the descriptions of the above embodiments, and are not repeated here.
On the basis of the above embodiment, the backup data may also be directly overlaid on the data in the original storage unit.
After the reading times of the data in the storage unit are obtained, judging whether the reading times of the data in the storage unit are larger than the preset reading times of the data, wherein the times are equal to one.
If yes, the data is read, and the data is rewritten into the memory cell. Thereby eliminating the influence of charge offset caused by read-write interference. Because the same memory unit is directly rewritten, the address modification of the mapping table is not needed, and the redundant memory space is not needed.
Fig. 7 is a schematic structural diagram of an embodiment of a memory device according to the present application.
The storage device includes a processor 110, a memory 120.
The processor 110 controls the operation of the storage device, and the processor 110 may also be referred to as a CPU (Central Processing Unit ). The processor 110 may be an integrated circuit chip with processing capabilities for signal sequences. Processor 110 may also be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
Memory 120 stores instructions and data needed for the operation of processor 110.
The processor 110 is configured to execute instructions to implement the methods provided by any of the embodiments and possible combinations of the data storage methods described herein.
In summary, by acquiring the number of times the data is read in the original memory cell, when the number of times of reading is determined to be greater than the preset number of times of reading corresponding to the data, the data is backed up and backed up to the new memory cell. When the data reading reaches the preset reading times, the data backup is performed, and the data stored in the storage unit is still correct, and after the preset reading times are exceeded, the data in the storage unit may be bit-turned to cause the data storage error due to the reasons of read-write interference and the like. After the data backup, when the host reads the data, the data is still read from the original storage unit, but when the data in the original storage unit is wrong, the backup data in the new storage unit is used for replacing the data of the original storage unit. Thereby ensuring the accuracy of reading data stored in the storage unit for a long time or data after frequent use when the data is continuously used.
In the several embodiments provided in the present application, it should be understood that the disclosed methods and apparatuses may be implemented in other manners. For example, the above-described device embodiments are merely illustrative, e.g., the division of the modules or units is merely a logical functional division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist alone physically, or two or more units may be integrated into one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units of the other embodiments described above may be stored in a computer readable storage medium if implemented in the form of software functional units and sold or used as stand alone products. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution, in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing description is only exemplary embodiments of the present application and is not intended to limit the scope of the present application, and all equivalent structures or equivalent processes using the descriptions and the drawings of the present application, or direct or indirect application in other related technical fields are included in the scope of the present application.
Claims (10)
1. A data storage method applied to a storage device, wherein the storage device comprises a main control unit and a storage unit, the method comprising:
acquiring the reading times of the data read in the storage unit;
judging whether the reading times of the data in the storage unit are larger than the preset reading times of the data or not, wherein the times are different by one;
if yes, backing up the data to a new storage unit, so as to be used for reading the backup data in the new storage unit when the data of the storage unit is read out and is wrong.
2. The method according to claim 1, wherein the method further comprises:
judging that the reading times of the data in the storage unit are larger than the preset reading times of the data, and checking the data when the times differ by more than one and the data in the storage unit are read;
and if the verification fails, reading the backup data in the new storage unit and recording the reading times of the backup data in the new storage unit.
3. The method of claim 2, wherein the reading the backup data in the new storage unit further comprises:
updating a physical address corresponding to the logical address of the data in the mapping table to be the physical address of the new storage unit; and
and deleting the data stored in the storage unit.
4. The method of claim 2, further comprising verifying the read data with the backup data.
5. The method according to claim 1, wherein the method further comprises:
acquiring attribute characteristics of the data;
and setting the preset reading times for the data based on the attribute characteristics.
6. The method according to claim 1, wherein the method further comprises:
acquiring the reading times of the data in a preset time;
and setting the preset reading times for the data based on the reading times.
7. The method according to claim 1, wherein the method further comprises:
acquiring a reading situation of the host computer for the data during reading;
and setting the preset reading times for the data based on the reading scene.
8. The method according to claim 1, wherein the method further comprises:
when the backup data in the new storage unit is read, the reading times of the acquired data in the storage unit are re-executed; judging whether the reading times of the data in the storage unit are larger than the preset reading times of the data or not, wherein the times are different by one; if yes, backing up the data to a new storage unit, and reading the backup data in the new storage unit when the data of the storage unit is read out and is wrong.
9. The method of claim 1, wherein the step of determining the position of the substrate comprises,
the storage unit associated counter is used for emptying and counting when the storage unit is subjected to writing or erasing operation; when the reading operation is performed on the storage unit, the counter is incremented by one, and the count of the counter associated with the storage unit is the number of times of reading the data stored in the storage unit.
10. A memory device comprising a main control unit and a memory unit, the memory unit being for storing data, the main control unit being connected to the memory unit for implementing the method according to any of claims 1-9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210807043.5A CN117406910A (en) | 2022-07-07 | 2022-07-07 | Data storage method, storage device and computer readable storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210807043.5A CN117406910A (en) | 2022-07-07 | 2022-07-07 | Data storage method, storage device and computer readable storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117406910A true CN117406910A (en) | 2024-01-16 |
Family
ID=89493163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210807043.5A Pending CN117406910A (en) | 2022-07-07 | 2022-07-07 | Data storage method, storage device and computer readable storage device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117406910A (en) |
-
2022
- 2022-07-07 CN CN202210807043.5A patent/CN117406910A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8078923B2 (en) | Semiconductor memory device with error correction | |
TWI604305B (en) | Weave sequence counter for non-volatile memory systems | |
JP5528782B2 (en) | Nonvolatile memory recovery after a power failure | |
US9239785B2 (en) | Stochastic block allocation for improved wear leveling | |
CN111352580B (en) | Memory device and method of operating the same | |
US20190310936A1 (en) | Garbage collection strategy for memory system and method of executing such garbage collection | |
US9361036B2 (en) | Correction of block errors for a system having non-volatile memory | |
WO2020073691A1 (en) | Flash memory self-test method, solid hard disk and storage device | |
CN113302699B (en) | Monotonic counter in memory | |
TW201207859A (en) | Method and associated controller for flash memory | |
US20200167096A1 (en) | Electronic apparatus having data retention protection and operating method thereof | |
TWI516934B (en) | Data storing method, memory control circuit unit and memory stoarge apparatus | |
JP2019096281A (en) | Data storage device and associated operating method | |
JP2018163707A (en) | Semiconductor storage device and read control method of the same | |
CN111813336B (en) | Data storage method and device of solid state disk | |
US20230187002A1 (en) | Storage controller using history data, method of operating the same, and method of operating storage device including the same | |
CN116225335A (en) | Solid state disk performance optimization method, device and medium | |
CN117406910A (en) | Data storage method, storage device and computer readable storage device | |
EP2820548B1 (en) | Versioned memories using a multi-level cell | |
CN110908825B (en) | Data reading method and device, storage equipment and storage medium | |
EP3428921A1 (en) | Memory sector retirement in a non-volatile memory | |
WO2024055358A1 (en) | Data processing method, electronic device, and computer readable storage apparatus | |
CN113961141B (en) | Memory system, memory controller, and method of operating memory system | |
CN117716342A (en) | On-die ECC data for memory devices | |
CN114756404A (en) | Data processing method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |