CN112631515B - Self-adaptive flash memory data rereading method, device and medium - Google Patents
Self-adaptive flash memory data rereading method, device and medium Download PDFInfo
- Publication number
- CN112631515B CN112631515B CN202011495940.4A CN202011495940A CN112631515B CN 112631515 B CN112631515 B CN 112631515B CN 202011495940 A CN202011495940 A CN 202011495940A CN 112631515 B CN112631515 B CN 112631515B
- Authority
- CN
- China
- Prior art keywords
- rereading
- data
- record table
- flash memory
- group
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000003044 adaptive effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000013589 supplement Substances 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- 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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
The invention relates to a self-adaptive flash memory data rereading method, a device and a medium technical scheme, which comprises the following steps: when the flash memory device fails to execute default reading, the corresponding rereading group number is obtained from the record table, or the corresponding rereading group number is inquired from the rereading table in a polling mode; and acquiring parameters in the rereading group numbers, carrying out rereading processing, updating the record table, and inquiring the corresponding rereading group numbers by using a polling mode and adding the rereading group numbers to the record table. The beneficial effects of the invention are as follows: the beneficial effects of the invention are as follows: after the default read failure of Nand flash is optimized, the data rereading strategy is adopted, and the time delay for reading data is reduced; the Nand flash has a smoother reading speed under various temperature conditions, and the fluctuation is small, so that the speed stability during data reading is ensured.
Description
Technical Field
The present invention relates to the field of computers, and in particular, to a method, an apparatus, and a medium for adaptively re-reading flash memory data.
Background
Nand flash (flash memory) is a memory chip widely used at present, and has the excellent characteristics of high speed, non-volatile and the like. The data is actually expressed in the form of stored charges, and in the actual use process, the change of the quantity of the stored charges is caused by the change of various internal and external conditions, and if the change is accumulated to a certain extent, the Nand flash is accessed by default reading operation, so that correct data is likely not to be obtained. Generally, manufacturers of Nand flash will allow for adjusting the read voltage used to determine the state of the flash memory cell, and the correct recovery of data is performed by adjusting the read voltage, which is commonly referred to as re-reading.
The following reasons generally exist for causing the Nand flash data to be erroneously bit up: a read-write temperature change, such as a read-write behavior in a high-low temperature environment; dataretention, essentially the slow loss of charge stored in a flash memory cell over time; readdisturb.
Typically, the factory will provide multiple re-reading methods to adjust the read voltage to recover the data, i.e., polling. When the data cannot be recovered correctly by using the default read voltage, a re-read process is entered. The existing process of re-reading recovered data is typically a set of attempts until a set of re-reading methods that can correctly read the data can be found. The time for reading data in the prior art is long, and the data of the read data is unstable.
Disclosure of Invention
The invention aims to at least solve one of the technical problems in the prior art, and provides a self-adaptive flash memory data rereading method, a device and a medium, which reduce the time delay of data reading and ensure the stability of the speed of data reading.
The technical scheme of the invention comprises a self-adaptive flash memory data re-reading method, which is characterized by comprising the following steps: s100, when the flash memory device fails to execute default reading, acquiring a corresponding rereading group number from a record table, or inquiring the corresponding rereading group number from the rereading table by using a polling mode; s200, obtaining parameters in the rereading group numbers to carry out rereading processing, updating the record table, and inquiring the corresponding rereading group numbers by using a polling mode to add the rereading group numbers to the record table.
The adaptive flash data rereading method according to claim S100, wherein the method further comprises: and initializing the record table when the power-on of the flash memory device starts default reading failure, wherein the number of data groups of the record table is consistent with the number of flash memory page types.
According to the self-adaptive flash memory data re-reading method, when the number of data groups of the record table is consistent with the number of flash memory page types, and the parameters of the flash memory device are acquired when the record table is initialized, the number of the flash memory page types is acquired.
The adaptive flash data rereading method according to the present invention, wherein S100 includes: when the data of any type of flash memory page is read in error, checking whether the flash memory page type corresponding to the record array has the recorded rereading group number, if so, using the rereading group number; if not, the next set of rereading group numbers is polled along the rereading table until the correct rereading group number is found that can recover the data.
The adaptive flash data rereading method according to the present invention, wherein the method further comprises: if the record array has record rereading group number, when the rereading data in the rereading group number can not be recovered, searching proper rereading according to the rereading list polling and updating the corresponding item in the record list.
The adaptive flash data rereading method according to the present invention, wherein the method further comprises: the record table is stored in the memory space, wherein the record table data is updated in real time according to the reading of the flash memory, and when power failure occurs, the record table is deleted and re-created when the record table is re-read.
The adaptive flash memory data rereading method, wherein the record table comprises a plurality of rereading group numbers, and each rereading group number comprises a corresponding flash memory page type.
The technical scheme of the invention also comprises a self-adaptive flash memory data re-reading device, which comprises a memory, a processor and a computer program stored in the memory and capable of running on the processor, and is characterized in that any one of the method steps is realized when the processor executes the computer program.
The technical solution of the present invention further comprises a computer-readable storage medium storing a computer program, characterized in that the computer program realizes any of the method steps when being executed by a processor.
The beneficial effects of the invention are as follows: after the default read failure of Nand flash is optimized, the data rereading strategy is adopted, and the time delay for reading data is reduced; the Nand flash has a smoother reading speed under various temperature conditions, and the fluctuation is small, so that the speed stability during data reading is ensured.
Drawings
The invention is further described below with reference to the drawings and examples;
FIG. 1 is a general flow diagram according to an embodiment of the present invention;
FIG. 2 is a flow chart of recording data according to an embodiment of the present invention;
FIG. 3 illustrates a reread record array in accordance with an embodiment of the present invention;
fig. 4 shows a schematic view of an apparatus according to an embodiment of the invention.
Detailed Description
Reference will now be made in detail to the present embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein the accompanying drawings are used to supplement the description of the written description so that one can intuitively and intuitively understand each technical feature and overall technical scheme of the present invention, but not to limit the scope of the present invention.
In the description of the present invention, a number means one or more, a number means two or more, and greater than, less than, exceeding, etc. are understood to not include the present number, and above, below, within, etc. are understood to include the present number.
In the description of the present invention, the continuous reference numerals of the method steps are used for facilitating examination and understanding, and by combining the overall technical scheme of the present invention and the logic relationships between the steps, the implementation sequence between the steps is adjusted without affecting the technical effect achieved by the technical scheme of the present invention.
In the description of the present invention, unless explicitly defined otherwise, terms such as arrangement and the like should be construed broadly, and those skilled in the art can reasonably determine the specific meaning of the terms in the present invention in combination with the specific contents of the technical scheme.
Fig. 1 shows an overall flow chart according to an embodiment of the invention, the flow comprising: s100, when the flash memory device fails to execute default reading, acquiring a corresponding rereading group number from a record table, or inquiring the corresponding rereading group number from the rereading table by using a polling mode; s200, obtaining parameters in the rereading group numbers to carry out rereading processing, updating the record table, and inquiring the corresponding rereading group numbers by using a polling mode to add the rereading group numbers to the record table.
Fig. 2 is a flowchart of recording data according to an embodiment of the present invention, and the flowchart is specifically as follows:
it can be found that the reasons for the data error have a certain consistency in time and space, so that when the data of the same type of flash memory page fails, the rereading group numbers used for recovery are the same. Recording the rereading number of the next flash page type, and when the default reading failure of the same flash page type is encountered next time, immediately using the recorded rereading parameters to recover the data. There is a high probability that success can be recovered. If the recovery fails, the next set of rereads is polled until a recoverable reread parameter is found, and updated into the record table for use next time when the same type of flash page is in error. Referring to fig. 2, the adaptive flash data rereading method is as follows:
(1) Initializing data for recording the optimal rereading group number, wherein the group number of the data is the number of all page types of Nand flash.
(2) When the data of a certain type of flash memory page is read in error, firstly checking whether the flash memory page type corresponding to the record array has the recorded rereading group number, if so, using the rereading group number, and if not, polling the next rereading group along the rereading table until the correct rereading group number capable of recovering the data is found. And updated into the recorded data. If the record array has record rereading group number, but the data still cannot be recovered correctly by using the parameter, the page searches for proper rereading according to the rereading list and updates the corresponding item in the record data.
(3) The recorded data is updated in real time in the memory, and when power failure occurs, the data in the memory is lost. However, in view of the fact that it is not costly to reinitialize and update to a record table or record array having an initial value, the record data may not be stored in a nonvolatile storage medium (e.g., nand flash) in practical use.
Fig. 3 is a diagram showing a rereaded recording array according to an embodiment of the present invention, fig. 2 is a schematic diagram of recording data, the data length is the number of all possible page types of Nand flash, the types are numbered, and the array entry with the number as a subscript records the best rereaded group number corresponding to the page type.
Fig. 4 shows a schematic view of an apparatus according to an embodiment of the invention. The apparatus comprises a memory 100 and a processor 200, wherein the processor 200 stores a computer program for executing: when the flash memory device fails to execute default reading, the corresponding rereading group number is obtained from the record table, or the corresponding rereading group number is inquired from the rereading table in a polling mode; and acquiring parameters in the rereading group numbers, carrying out rereading processing, updating the record table, and inquiring the corresponding rereading group numbers by using a polling mode and adding the rereading group numbers to the record table. Wherein the memory 100 is used for storing data.
The embodiments of the present invention have been described in detail with reference to the accompanying drawings, but the present invention is not limited to the above embodiments, and various changes can be made within the knowledge of one of ordinary skill in the art without departing from the spirit of the present invention.
Claims (3)
1. An adaptive flash memory data rereading method, which is characterized by comprising the following steps:
s100, when the flash memory device fails to execute default reading, acquiring a corresponding rereading group number from a record table, or inquiring the corresponding rereading group number from the rereading table by using a polling mode;
s200, obtaining parameters in the rereading group numbers to carry out rereading processing, updating the record table, and inquiring the corresponding rereading group numbers by using a polling mode to add the rereading group numbers to the record table;
the S100 includes: initializing the record table when the flash memory device is powered on to start default reading failure, wherein the number of data groups of the record table is consistent with the number of flash memory page types;
the S100 further includes:
when the data of any type of flash memory page is read in error, checking whether the flash memory page type corresponding to the data group of the record table has the recorded rereading group number, if so, using the rereading group number; if not, the next set of rereading group numbers is polled along the rereading table until the correct rereading group numbers capable of recovering the data are found;
the S100 further includes: if the record rereading group number exists in the data group of the record table, when the data cannot be recovered through the rereading data in the rereading group number, searching for a proper rereading according to the rereading table polling and updating a corresponding item in the record table;
the S100 further includes: the record table is stored in a memory space, wherein record table data is updated in real time according to the reading of the flash memory, and when power failure occurs, the record table is deleted and re-created when the record table is re-read;
the data group number of the record table is consistent with the flash memory page type number, and parameters of the flash memory device and the flash memory page type number are obtained by initializing the record table;
the record table comprises a plurality of rereading group numbers, and each rereading group number comprises a corresponding flash memory page type.
2. An adaptive flash data rereading device comprising a memory, a processor and a computer program stored in said memory and executable on said processor, characterized in that said processor implements the method steps of claim 1 when said computer program is executed by said processor.
3. A computer readable storage medium storing a computer program, which when executed by a processor performs the method steps of claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011495940.4A CN112631515B (en) | 2020-12-17 | 2020-12-17 | Self-adaptive flash memory data rereading method, device and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011495940.4A CN112631515B (en) | 2020-12-17 | 2020-12-17 | Self-adaptive flash memory data rereading method, device and medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112631515A CN112631515A (en) | 2021-04-09 |
CN112631515B true CN112631515B (en) | 2023-11-14 |
Family
ID=75316564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011495940.4A Active CN112631515B (en) | 2020-12-17 | 2020-12-17 | Self-adaptive flash memory data rereading method, device and medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631515B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113707211B (en) * | 2021-07-21 | 2024-05-10 | 深圳市宏旺微电子有限公司 | Flash memory READ RETRY error correction method and device |
CN113656218A (en) * | 2021-07-23 | 2021-11-16 | 深圳市宏旺微电子有限公司 | Method and device for re-reading flash memory data and computer readable storage medium |
CN115454710B (en) * | 2022-11-10 | 2023-03-24 | 珠海妙存科技有限公司 | Flash memory data reading method and device, electronic equipment and storage medium |
CN115509462B (en) * | 2022-11-15 | 2023-02-24 | 北京得瑞领新科技有限公司 | Re-reading method and device, medium and solid state disk |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914358A (en) * | 2014-04-03 | 2014-07-09 | 深圳市硅格半导体有限公司 | Flash memory rereading method and device |
CN109582490A (en) * | 2017-09-28 | 2019-04-05 | 北京忆芯科技有限公司 | Intelligence is read order again and is generated |
CN110502185A (en) * | 2018-05-17 | 2019-11-26 | 慧荣科技股份有限公司 | Read page data method again |
CN110659146A (en) * | 2019-08-05 | 2020-01-07 | 广州妙存科技有限公司 | Temperature-based flash memory re-reading method |
CN110797068A (en) * | 2019-08-06 | 2020-02-14 | 广州妙存科技有限公司 | Method for quickly searching optimal rereading voltage of NAND flash memory |
CN111400099A (en) * | 2020-03-16 | 2020-07-10 | 深圳佰维存储科技股份有限公司 | Data re-reading method, device and equipment of flash memory and computer readable storage medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101967368B1 (en) * | 2012-08-29 | 2019-04-10 | 에스케이하이닉스 주식회사 | Semiconductor memory device and operating method thereof |
US10445171B2 (en) * | 2016-02-29 | 2019-10-15 | Seagate Technology Llc | On-the-fly error detection algorithm during retry procedure |
-
2020
- 2020-12-17 CN CN202011495940.4A patent/CN112631515B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103914358A (en) * | 2014-04-03 | 2014-07-09 | 深圳市硅格半导体有限公司 | Flash memory rereading method and device |
CN109582490A (en) * | 2017-09-28 | 2019-04-05 | 北京忆芯科技有限公司 | Intelligence is read order again and is generated |
CN110502185A (en) * | 2018-05-17 | 2019-11-26 | 慧荣科技股份有限公司 | Read page data method again |
CN110659146A (en) * | 2019-08-05 | 2020-01-07 | 广州妙存科技有限公司 | Temperature-based flash memory re-reading method |
CN110797068A (en) * | 2019-08-06 | 2020-02-14 | 广州妙存科技有限公司 | Method for quickly searching optimal rereading voltage of NAND flash memory |
CN111400099A (en) * | 2020-03-16 | 2020-07-10 | 深圳佰维存储科技股份有限公司 | Data re-reading method, device and equipment of flash memory and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN112631515A (en) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112631515B (en) | Self-adaptive flash memory data rereading method, device and medium | |
US9058253B2 (en) | Data tree storage methods, systems and computer program products using page structure of flash memory | |
KR101613678B1 (en) | Recovery for non-volatile memory after power loss | |
US8996791B2 (en) | Flash memory device, memory control device, memory control method, and storage system | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
US10740178B2 (en) | Self-prioritizing adaptive retry threshold adjustment | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
CN110764704B (en) | Environment variable writing method, storage medium and electronic device | |
CN103136108B (en) | Flash memory devices and method for reading data thereof | |
US8392691B2 (en) | Data management method, memory controller and memory storage apparatus | |
CN107632943B (en) | Solid state disk data protection method and solid state disk | |
WO2023116346A1 (en) | Method and system for recovering trim data under abnormal power failure, and solid-state drive | |
CN108228093B (en) | Method and apparatus for monitoring memory using background media scanning | |
CN111949220A (en) | Abnormal power failure recovery method for storage device and storage device | |
US20160070648A1 (en) | Data storage system and operation method thereof | |
CN116880781B (en) | Storage device and control method thereof | |
CN117370222A (en) | Storage mapping method, storage mapping device, computer readable storage medium and electronic equipment | |
JP2012238259A (en) | Control unit, storage device and control method | |
CN110187837B (en) | File access method, device and file system | |
US20200097215A1 (en) | Adaptive solid state device management based on data expiration time | |
CN112698984B (en) | Database recovery method of embedded device, electronic device and medium | |
CN111758086B (en) | Method for refreshing mapping table of SSD | |
Lee et al. | RMSS: an efficient recovery management scheme on NAND flash memory based solid state disk | |
US20210303419A1 (en) | Data processing method and memory controller utilizing the same | |
JP3978720B2 (en) | Data storage method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |