CN110851079B - Adaptive storage device loss balancing method and system - Google Patents

Adaptive storage device loss balancing method and system Download PDF

Info

Publication number
CN110851079B
CN110851079B CN201911027908.0A CN201911027908A CN110851079B CN 110851079 B CN110851079 B CN 110851079B CN 201911027908 A CN201911027908 A CN 201911027908A CN 110851079 B CN110851079 B CN 110851079B
Authority
CN
China
Prior art keywords
storage unit
quality
quality evaluation
evaluation table
storage
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
Application number
CN201911027908.0A
Other languages
Chinese (zh)
Other versions
CN110851079A (en
Inventor
刘政林
潘玉茜
李腾飞
林羽盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Futurepath Technology (Shenzhen) Co.,Ltd.
Original Assignee
Futurepath Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Futurepath Technology Co ltd filed Critical Futurepath Technology Co ltd
Priority to CN201911027908.0A priority Critical patent/CN110851079B/en
Publication of CN110851079A publication Critical patent/CN110851079A/en
Application granted granted Critical
Publication of CN110851079B publication Critical patent/CN110851079B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

The invention discloses a self-adaptive storage device wear leveling method and a device, belonging to the technical field of computers and comprising the following steps: (1) evaluating the quality of the nonvolatile memory through a memory cell quality model, and establishing a quality evaluation table; (2) if the quantization quality difference between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table meets the threshold condition, resetting the use priority of the storage unit; (3) after receiving a data command, erasing and writing the storage unit with the highest use priority, and updating a quality evaluation table and characteristic data corresponding to the storage unit; (4) the storage unit meeting the preset condition inputs the characteristic data into the quality model of the storage unit to update the quality evaluation table corresponding to the storage unit; the storage unit which does not meet the preset condition is switched to the step (2); (5) until the storage device is used normally. The invention fully considers the erasing times of the storage unit and prolongs the reliable working time of the storage device.

Description

Adaptive storage device loss balancing method and system
Technical Field
The invention belongs to the technical field of computers, and particularly relates to a self-adaptive storage device wear leveling method and a self-adaptive storage device wear leveling system.
Background
Memory is a memory device used in modern information technology to hold information. In the operation process of the electronic equipment, input original data, a computer program, an intermediate operation result and a final operation result are all stored in a memory, and the method is one of core components for the development of modern information technology. Currently, the memories on the market are mainly divided into: volatile memory and non-volatile memory.
Under most existing memory chip structures, due to the influence of a semiconductor manufacturing process, cells inside a chip can be degraded along with the increase of the erasing and writing times, so that the memory chip generates errors in the storage process, and finally the chip fails. The limited number of times the memory cell is erased limits the useful life of the memory device. Ideally, each memory cell should maintain the same erase times all the time during the use process, all the memory cells can reach the upper erase limit at the same time, and the memory life of the memory chip is extended to the maximum extent. However, in practice, since the individual memory cells will be erased frequently and reach the upper limit of erasability in advance due to the difference of data update frequency, when the number of completely worn-out memory cells in the memory chip reaches a certain number, the performance of the whole memory chip will be greatly reduced, and even the memory chip can not be used any more, so that the wear leveling is achieved to solve the problem.
The purpose of wear leveling is to postpone the time that the memory storage unit reaches the upper limit of the erasing times, to make each storage unit in the memory chip be used efficiently as much as possible in the using process, to make the erasing times of each storage unit more uniform, to reduce unnecessary data migration operation and block erasing operation, and to prolong the time of the reliable work of the storage device.
Currently, in the field of embedded development, the most adopted method for wear leveling is a threshold triggering mechanism without considering the difference between different memory cells. That is, a wear leveling operation is triggered by comparing the difference in the number of times of erasing between memory cells with a given threshold value, and data exchange is performed between memory cells in which high frequency update data is stored and memory cells in which low frequency update data is stored. In practical application, different memory cells have certain differences in properties, different memory cells have different maximum erasing times, and the wear leveling method ignores the differences of the memory cells and cannot achieve the purpose of efficiently prolonging the service life of the memory.
Disclosure of Invention
Aiming at the defects of the prior art, the invention aims to provide a self-adaptive storage device wear leveling method and a self-adaptive storage device wear leveling system, and aims to solve the problem that the existing storage medium wear leveling processing method cannot reasonably distribute the erasing times of each storage unit, so that the service life of a storage device is short.
To achieve the above object, in one aspect, the present invention provides an adaptive wear leveling method for a storage device, including:
(1) performing quality evaluation on the nonvolatile memory through a memory cell quality model, and establishing a quality evaluation table with a memory cell as a unit based on a quality evaluation result;
(2) judging whether the quantization quality difference between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table meets a threshold condition or not, and executing the step (3); otherwise, executing the step (4);
(3) resetting the use priority of the storage unit according to the quality evaluation table, and turning to the step (4);
(4) after receiving a data command, erasing and writing the storage unit with the highest use priority, and updating a quality evaluation table and characteristic data corresponding to the storage unit; turning to the step (5);
(5) judging whether each storage unit meets preset conditions or not based on the erasing and writing of the storage units in the step (4), inputting the characteristic data into the quality model of the storage unit to update the quality evaluation table corresponding to the storage unit, and turning to the step (6); the storage unit which does not meet the preset condition is switched to the step (2);
(6) judging whether the storage equipment is normally used, if so, turning to the step (2); otherwise, the execution is stopped. Preferably, the storage unit quality model is a function model or a neural network model or a gene programming model or an artificial intelligence model;
preferably, the storage unit quality model is implemented as: a programmed implementation or a hardware circuit implementation or a programmed hardware hybrid implementation.
Preferably, the method for establishing the storage unit quality model comprises the following steps: and establishing the characteristic data in the training storage unit by a machine learning method.
Preferably, the characteristic data of the storage unit includes: programming time, reading time, erasing time, current, chip power consumption, threshold voltage distribution, memory cell number, memory page number, the number of program/erase cycles of the memory cell in the current period, the number of conditional error pages, the number of conditional error blocks, the number of error bits, and the error rate.
Preferably, the characteristic data acquisition of the storage unit and the updating of the quality evaluation table are performed when a controller of the storage device is in an idle state;
note that the controller is a processor inherent in the storage device, is a basic concept in the field, and generally has functions of reading, writing, erasing, wear leveling, defragmentation, and the like;
preferably, the preset condition is that the erasing times of the storage unit exceed a preset threshold;
preferably, the preset condition is that the difference value between the service life of the unit with the optimal quality and the service life of the unit with the worst quality in the storage unit is greater than a preset threshold value;
preferably, the preset condition is that the error rate of the storage unit exceeds a preset threshold;
preferably, the preset condition is that the variation of the operation time (read, write, erase) of the memory cell exceeds a preset threshold.
In another aspect, the present invention provides an adaptive wear leveling system for a storage device, including: the device comprises a data acquisition module, a quality evaluation module, an information storage module, a storage unit loss balance judgment module and a storage unit data migration module which are sequentially connected; the quality evaluation module is used for inputting the characteristic data of the storage unit into the storage unit quality model and updating and establishing a quality evaluation table for the storage unit;
the data acquisition module is used for acquiring the characteristic data of the storage unit;
the information storage module is used for storing the quality evaluation table of each storage unit;
the storage unit loss balance judging module is used for judging whether the quantization quality difference between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table meets a threshold condition or not;
the storage unit data migration module is used for setting the use priority for the storage unit.
Preferably, the storage unit data migration module is used for storing hot data in a storage unit with better quality than cold data in a quality evaluation table; that is, hot data requiring long-time update is stored in a storage unit with better quality, and cold data with low update frequency is stored in a storage unit with poorer quality.
Preferably, the memory cell quality model is a function model or a neural network model or a genetic programming model or an artificial intelligence model.
Preferably, the characteristic data of the storage unit includes: programming time, reading time, erasing time, current, chip power consumption, threshold voltage distribution, memory cell number, memory page number, the number of program/erase cycles of the memory cell in the current period, the number of conditional error pages, the number of conditional error blocks, the number of error bits, and the error rate.
Through the technical scheme, compared with the prior art, the invention has the following beneficial effects:
(1) before erasing and writing the memory units, judging whether the quantization quality difference between the memory unit with the optimal quality and the memory unit with the worst quality in the quality evaluation table meets a threshold condition or not according to the quality evaluation table corresponding to each memory unit, setting the use priority of the memory units, and fully considering the storage difference of each memory unit; and on the other hand, whether the preset condition is met or not is judged according to erasing and writing of the storage unit, and the quality evaluation table corresponding to the storage unit is updated for the storage unit meeting the preset condition through the storage quality model, so that the use priority of the storage unit is convenient to set. By combining the two aspects, the invention fully considers the erasing times of the storage units, reasonably distributes the erasing execution of each storage unit and prolongs the reliable working time of the storage equipment.
(2) In the invention, whether the preset conditions are met is judged by taking each storage unit as a unit, the quality evaluation table is updated only for the storage unit meeting the preset conditions, but not for the whole nonvolatile memory, and meanwhile, the characteristic data acquisition of the storage unit and the updating of the quality evaluation table are carried out when the controller is in an idle state, so that the resources and the time cost of a self-adaptive storage device loss balancing system are fully saved.
Drawings
FIG. 1 is a flow chart illustrating a method for wear leveling of an adaptive memory device according to the present invention;
FIG. 2 is a schematic diagram of a wear leveling system for an adaptive memory device according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
In one aspect, as shown in fig. 1, the present invention provides a method for wear leveling of an adaptive storage device, including:
(1) performing quality evaluation on the nonvolatile memory through a memory cell quality model, and establishing a quality evaluation table with a memory cell as a unit based on a quality evaluation result;
(2) judging whether the quantization quality difference between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table meets a threshold condition or not, and executing the step (3); otherwise, executing the step (4);
(3) resetting the use priority of the storage unit according to the quality evaluation table, and turning to the step (4);
(4) after receiving a data command, erasing and writing the storage unit with the highest use priority, and updating a quality evaluation table and characteristic data corresponding to the storage unit; turning to the step (5);
(5) judging whether the storage unit meets the preset condition or not based on the erasing and writing of the storage unit in the step (4), inputting the characteristic data into the quality model of the storage unit to update the quality evaluation table corresponding to the storage unit in the storage unit meeting the preset condition, and turning to the step (6); the storage unit which does not meet the preset condition is switched to the step (2);
(6) judging whether the storage equipment is normally used, if so, turning to the step (2); otherwise, the execution is stopped.
Preferably, the storage unit quality model is a function model or a neural network model or a gene programming model or an artificial intelligence model;
preferably, the storage unit quality model is implemented as: a programmed implementation or a hardware circuit implementation or a programmed hardware hybrid implementation.
Preferably, the method for establishing the storage unit quality model comprises the following steps: and establishing the characteristic data in the training storage unit by a machine learning method.
Preferably, the characteristic data of the storage unit includes: programming time, reading time, erasing time, current, chip power consumption, threshold voltage distribution, memory cell number, memory page number, the number of program/erase cycles of the memory cell in the current period, the number of conditional error pages, the number of conditional error blocks, the number of error bits, and the error rate.
Preferably, the characteristic data acquisition of the storage unit and the updating of the quality evaluation table are performed in an idle state of a controller of the storage device;
note that the controller is a processor inherent in the storage device, is a basic concept in the field, and generally has functions of reading, writing, erasing, wear leveling, defragmentation, and the like;
in the invention, after the controller receives the data command, the controller controls the memory unit with the highest priority to be erased and written, and judges whether each memory unit meets the preset condition.
Preferably, the preset condition is that the erasing times of the storage unit exceed a preset threshold;
preferably, the preset condition is that the difference value between the service life of the unit with the optimal quality and the service life of the unit with the worst quality in the storage unit is greater than a preset threshold value; preferably, the preset condition is that the error rate of each storage unit exceeds a preset threshold;
preferably, the preset condition is that the variation of the operation time (read, write, erase) of the memory cell exceeds a preset threshold;
examples
The solid state disk under a certain manufacturing process is used as a storage system, and a storage block of a flash memory (NAND flash) under a certain manufacturing process is used as a storage unit.
(1) Performing quality evaluation on the nonvolatile memory through a memory cell quality model, and establishing a quality evaluation table with a memory cell as a unit based on a quality evaluation result;
more specifically, after the storage system is powered on for use, the data acquisition module acquires characteristic data in the training storage unit, and the characteristic data is input into the storage unit quality model; the storage unit quality model carries out quality evaluation on the whole nonvolatile memory, and establishes a quality evaluation table with the storage unit as a unit, wherein the quality evaluation table is stored by the information storage module shown in the figure 2;
preferably, the quality estimation table stores a value of the number of remaining life cycles of the storage unit;
preferably, the characteristic data of the memory block of the flash memory includes: data change information of a program time, an erase time, a threshold voltage distribution and an error rate of a one-time program/erase operation memory block under the condition of increasing program/erase cycles;
the programming time of the flash memory is obtained by the following steps: the data acquisition module records the passed clock period when the flash memory starts to write data, and stops recording the clock period number after receiving a data coding completion mark returned by the flash memory; the programming time is the duration of the clock cycle times the number of programming clock cycles;
the method for acquiring the erasing time of the flash memory is the same as the method for acquiring the programming time, the data acquisition module records the clock period number of the erasing operation, and the erasing time is the time of multiplying the clock period duration by the erasing clock period number;
the method for acquiring the threshold voltage distribution of the flash memory comprises the following steps: the data acquisition module sends a READ-RETRY command set to the flash memory to gradually change the READ reference voltage of the flash memory and simultaneously count threshold voltage distribution according to READ data values.
The error rate of the flash memory is obtained by the following method: the data acquisition module executes data reading operation on the flash memory to read data from the flash memory, compares the read data with written training data to count the number of error data, and the error rate is the number of errors divided by the total number of data;
the method for establishing the storage unit quality model comprises the following steps:
A. firstly, carrying out a preposed test on a flash memory chip to generate data for machine learning; the specific test process is as follows: repeatedly erasing, writing and reading a specific block of the chip, and recording the current, the operation time and the original error bit number in the operation process until the specific block is worn to be invalid; the process only generates a group of training data for machine learning, a large amount of training data is often needed to improve the accuracy of the quality model of the storage unit, and the test method can be repeated;
B. when the training data are enough to ensure the accuracy of the storage unit quality model, inputting the characteristic data obtained in the step A into a training program of the storage unit quality model, and obtaining the storage unit quality model after training; the training program of the storage unit quality model adopts an artificial neural network training program;
C. converting the memory cell quality model obtained by training into a form capable of running in a memory system;
(2) judging whether the quantization quality difference between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table meets a threshold condition, and if so, executing the step (3); otherwise, executing the step (4);
in this embodiment, the storage system sets a difference threshold of the remaining program/erase life, for example, the difference threshold is set to 500, that is, when the difference between the maximum remaining life and the minimum remaining life is less than 500, the wear leveling operation mapping table is not modified, and the wear leveling operation is performed along the original wear leveling operation; when the difference value between the maximum residual life and the minimum residual life is more than five hundred, updating a wear-leveling operation mapping table according to the quality evaluation table so as to balance the residual life of the flash memory in the whole chip;
wear leveling operation: the storage system performs priority sequencing on the internal blocks of the flash memories according to the quality evaluation table of each flash memory, and preferentially writes the internal blocks with high residual life when data are written or erased; meanwhile, the written data or the erased data are classified, the data are divided into hot data which need to be updated frequently and cold data which do not need to be updated frequently, and the internal blocks with high residual life are preferentially used for storing the hot data in the using process so as to balance the residual life of the internal physical blocks of the whole chip;
(3) resetting the use priority of the storage unit according to the quality evaluation table, and turning to the step (4);
(4) after receiving a data command, erasing and writing the storage unit with the highest use priority, and updating a quality evaluation table and characteristic data corresponding to the storage unit; turning to the step (5);
(5) judging whether each storage unit meets preset conditions or not based on the erasing and writing of the storage units in the step (4), inputting the characteristic data into the quality model of the storage unit to update the quality evaluation table corresponding to the storage unit, and turning to the step (6); the storage unit which does not meet the preset condition is switched to the step (2);
more specifically, each time one flash memory is erased and written, the storage system reduces the remaining life cycle number of the flash memory in the quality evaluation table by one, so as to realize real-time update of the quality evaluation table;
when the preset condition is that one hundred erasing operations are executed, namely the same flash memory executes one hundred erasing operations, the operating current, the operating time and the original error bit number of the erasing operations are obtained, the characteristic data are input into a storage unit quality model, the storage unit quality model recalculates the residual life cycle number of the flash memory storage unit when the controller is in an idle state, and the calculated residual life cycle number is updated to a quality evaluation table;
more specifically, when the storage system runs, a data acquisition module in the storage system collects characteristic data such as operating current, operating time, original error bit number and the like generated by the operation of reading, writing and erasing the storage unit, the storage system stores the collected characteristic data in a specific area, and when the controller is in an idle state, the characteristic data is used as training data of a storage unit quality model, the storage unit quality model is optimized, and the model is updated;
after the storage unit quality model is updated, quality evaluation does not need to be carried out on all flash memories in the whole chip at once, and only after the updating condition of the storage unit residual life cycle number table is finished, life prediction is carried out on the corresponding flash memories again, so that storage system resources can be greatly saved; (6) judging whether the storage equipment is normally used, if so, turning to the step (2); otherwise, the execution is stopped.
In another aspect, as shown in fig. 2, the present invention provides an adaptive wear leveling system for a storage device, including: the device comprises a data acquisition module, a quality evaluation module, an information storage module, a storage unit loss balance judgment module and a storage unit data migration module which are sequentially connected; the quality evaluation module is used for inputting the characteristic data of the storage unit into the storage unit quality model to update and establish a quality evaluation table of the storage unit;
the data acquisition module is used for acquiring the characteristic data of the storage unit;
the information storage module is used for storing the quality evaluation table of each storage unit;
the storage unit loss balance judging module is used for judging whether the quantization quality difference between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table meets a threshold condition or not;
the storage unit data migration module is used for setting the use priority for the storage unit.
Preferably, the storage unit data migration module is further used for storing the hot data in a storage unit with better quality than the cold data in a quality evaluation table. That is, hot data requiring long time update is put into a memory cell with better quality, and cold data with low update frequency is put into a memory cell with poorer quality.
Preferably, the memory cell quality model is a function model or a neural network model or a genetic programming model or an artificial intelligence model.
Preferably, the characteristic data of the storage unit includes: programming time, reading time, erasing time, current, chip power consumption, threshold voltage distribution, memory cell number, memory page number, the number of program/erase cycles of the memory cell in the current period, the number of conditional error pages, the number of conditional error blocks, the number of error bits, and the error rate.
In summary, according to the adaptive wear leveling method for the storage device provided by the present invention, before erasing and writing the storage units, according to the quality evaluation table corresponding to each storage unit, it is determined whether the quality difference between two users between the storage unit with the best quality and the storage unit with the worst quality in the quality evaluation table satisfies the threshold condition, the usage priority of the storage unit is set, and the storage difference of each storage unit is fully considered; and on the other hand, whether the preset condition is met or not is judged according to erasing and writing of the storage unit, and the quality evaluation table corresponding to the storage unit is updated for the storage unit meeting the preset condition through the storage quality model, so that the setting of the use priority of the storage unit is convenient. By combining the two aspects, the invention fully considers the erasing times of the storage units, reasonably distributes the erasing execution of each storage unit and prolongs the reliable working time of the storage equipment.
In the invention, whether the preset conditions are met is judged by taking each storage unit as a unit, the quality evaluation table is updated only for the storage unit meeting the preset conditions, but not for the whole nonvolatile memory, and meanwhile, the characteristic data acquisition of the storage unit and the updating of the quality evaluation table are carried out when the controller is in an idle state, so that the resources and the time cost of a self-adaptive storage device loss balancing system are fully saved.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solutions of the present invention and not for limiting the same, and although the present invention is described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: modifications and equivalents may be made to the embodiments of the invention without departing from the spirit and scope of the invention, which is to be covered by the claims.

Claims (7)

1. An adaptive storage device wear leveling method, comprising:
(1) performing quality evaluation on the nonvolatile memory through a memory cell quality model, and establishing a quality evaluation table with a memory cell as a unit based on a quality evaluation result, wherein a value stored in the quality evaluation table is the remaining life cycle number of the memory cell;
(2) judging whether the difference value of the remaining life cycle number between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table is larger than a difference threshold value or not, and if so, executing the step (3); otherwise, executing the step (4);
(3) resetting the use priority of the storage unit according to the residual life cycle number in the quality evaluation table, wherein the higher the residual life cycle number is, the higher the priority of the corresponding storage unit is, and then turning to the step (4);
(4) after receiving a data command, erasing and writing the storage unit with the highest use priority, and updating a quality evaluation table and characteristic data corresponding to the storage unit; turning to the step (5);
(5) judging whether each storage unit meets preset conditions or not based on the erasing and writing of the storage units in the step (4), inputting the characteristic data into the quality model of the storage unit to update the quality evaluation table corresponding to the storage unit, and turning to the step (6); the storage unit which does not meet the preset condition is transferred to the step (2), wherein the preset condition is that the erasing times of the storage unit exceed a preset threshold value; or the preset condition is that the difference value of the service life of the unit with the optimal quality and the worst quality in the storage unit is greater than a preset threshold value; or the preset condition is that the error rate of the storage unit exceeds a preset threshold value; or the preset condition is that the operation time change of the storage unit exceeds a preset threshold value;
(6) judging whether the storage equipment is normally used, if so, turning to the step (2); otherwise, the execution is stopped.
2. The storage device wear leveling method of claim 1, wherein the storage unit quality model is a function model or a neural network model or a genetic programming model or an artificial intelligence model.
3. The method of wear leveling of a memory device of claim 1, wherein the characterization data of the memory cells comprises: programming time, reading time, erasing time, current, chip power consumption, threshold voltage distribution, memory cell number, memory page number, the number of program/erase cycles of the memory cell in the current period, the number of conditional error pages, the number of conditional error blocks, the number of error bits, and the error rate.
4. The method for wear leveling of a storage device according to claim 1 or 3, wherein the characteristic data collection of the storage unit and the update of the quality evaluation table are performed when a controller of the storage device is in an idle state.
5. An adaptive storage device wear leveling system, comprising: the device comprises a data acquisition module, a quality evaluation module, an information storage module, a storage unit loss balance judgment module and a storage unit data migration module which are sequentially connected;
the quality evaluation module is used for inputting the characteristic data of the storage unit into a storage unit quality model and updating and establishing a quality evaluation table for the storage unit, wherein the value stored in the quality evaluation table is the residual life cycle number of the storage unit;
the data acquisition module is used for acquiring the characteristic data of the storage unit;
the information storage module is used for storing a quality evaluation table of each storage unit;
the storage unit loss balance judging module is used for judging whether the difference value of the remaining life cycle number between the storage unit with the optimal quality and the storage unit with the worst quality in the quality evaluation table is larger than a difference value threshold value or not;
if the difference is greater than the difference threshold, the storage unit data migration module is used for resetting the use priority of the storage unit according to the remaining life cycle number in the quality evaluation table, the greater the remaining life cycle number is, the higher the priority of the corresponding storage unit is, and after receiving a data command, the storage unit with the highest use priority is adopted for erasing and writing, and hot data is stored to the storage unit with better quality compared with cold data;
the system is also used for judging whether each storage unit meets a preset condition or not based on the erasing and writing of the storage unit data migration module to the storage unit, and inputting the characteristic data into the storage unit quality model to update the quality evaluation table corresponding to the storage unit for the storage unit meeting the preset condition, wherein the preset condition is that the erasing and writing times of the storage unit exceed a preset threshold value; or the preset condition is that the difference value of the service life of the unit with the optimal quality and the worst quality in the storage unit is greater than a preset threshold value; or the preset condition is that the error rate of the storage unit exceeds a preset threshold value; or the preset condition is that the operation time variation of the memory cell exceeds a preset threshold.
6. The storage device wear leveling system of claim 5, wherein the storage unit quality model is a functional model or a neural network model or a genetic programming model or an artificial intelligence model.
7. The storage device wear leveling system of claim 5, wherein the storage unit characterization data comprises: programming time, reading time, erasing time, current, chip power consumption, threshold voltage distribution, memory cell number, memory page number, the number of program/erase cycles of the memory cell in the current period, the number of conditional error pages, the number of conditional error blocks, the number of error bits, and the error rate.
CN201911027908.0A 2019-10-28 2019-10-28 Adaptive storage device loss balancing method and system Active CN110851079B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911027908.0A CN110851079B (en) 2019-10-28 2019-10-28 Adaptive storage device loss balancing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911027908.0A CN110851079B (en) 2019-10-28 2019-10-28 Adaptive storage device loss balancing method and system

Publications (2)

Publication Number Publication Date
CN110851079A CN110851079A (en) 2020-02-28
CN110851079B true CN110851079B (en) 2021-10-15

Family

ID=69597913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911027908.0A Active CN110851079B (en) 2019-10-28 2019-10-28 Adaptive storage device loss balancing method and system

Country Status (1)

Country Link
CN (1) CN110851079B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158613B (en) * 2020-04-07 2020-07-31 上海飞旗网络技术股份有限公司 Data block storage method and device based on access heat and storage equipment
CN111752798B (en) * 2020-06-23 2022-12-27 深圳市得一微电子有限责任公司 Method for collecting stability analysis data of solid-state storage device during idle
CN113707206B (en) * 2021-05-17 2024-03-22 深圳市国微电子有限公司 Data protection method and device of FLASH memory, electronic equipment and storage medium
CN113886382A (en) * 2021-08-23 2022-01-04 阿里云计算有限公司 Database task processing method, device and storage medium
CN114860624B (en) * 2022-05-23 2023-04-28 深圳市芯存科技有限公司 Data erasing method and system based on Nandflash chip

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079324A (en) * 2007-06-15 2007-11-28 华为技术有限公司 Storage device, its life monitoring device and monitoring method
CN101419842A (en) * 2008-11-07 2009-04-29 成都市华为赛门铁克科技有限公司 Loss equalizing method, apparatus and system for hard disc
CN101477534A (en) * 2008-12-24 2009-07-08 北京中星微电子有限公司 File management method and apparatus for implementing balance abrasion of flash memory
CN106775474A (en) * 2016-12-16 2017-05-31 郑州云海信息技术有限公司 A kind of Nand Flash abrasion equilibrium methods, device and memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934072B2 (en) * 2007-09-28 2011-04-26 Lenovo (Singapore) Pte. Ltd. Solid state storage reclamation apparatus and method
CN101369252A (en) * 2008-09-16 2009-02-18 浙江大学 Method for static data loss equalization based on NAND flash memory file system
CN101533670B (en) * 2009-04-23 2012-05-02 北京握奇数据系统有限公司 Method and memory device realizing loss balance of memory device
CN102081576B (en) * 2011-03-01 2012-07-11 华中科技大学 Flash memory wear balance method
CN103092766B (en) * 2012-12-28 2015-09-30 北京时代民芯科技有限公司 A kind of loss equalizing implementation method for NAND FLASH
CN107967928B (en) * 2017-10-18 2020-06-26 武汉忆数存储技术有限公司 Flash memory chip life prediction method based on mathematical model
CN109634527B (en) * 2018-12-12 2020-06-09 华中科技大学 Flash memory service life prediction method realized in SSD
CN109753443B (en) * 2019-01-12 2021-05-18 湖南国科微电子股份有限公司 Data processing method and device and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079324A (en) * 2007-06-15 2007-11-28 华为技术有限公司 Storage device, its life monitoring device and monitoring method
CN101419842A (en) * 2008-11-07 2009-04-29 成都市华为赛门铁克科技有限公司 Loss equalizing method, apparatus and system for hard disc
CN101477534A (en) * 2008-12-24 2009-07-08 北京中星微电子有限公司 File management method and apparatus for implementing balance abrasion of flash memory
CN106775474A (en) * 2016-12-16 2017-05-31 郑州云海信息技术有限公司 A kind of Nand Flash abrasion equilibrium methods, device and memory

Also Published As

Publication number Publication date
CN110851079A (en) 2020-02-28

Similar Documents

Publication Publication Date Title
CN110851079B (en) Adaptive storage device loss balancing method and system
CN109634527B (en) Flash memory service life prediction method realized in SSD
US10209902B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
US9875813B2 (en) Preventive measures for adaptive flash tuning
US8356152B2 (en) Initiative wear leveling for non-volatile memory
US20200073571A1 (en) Memory controller and associated accessing method
CN1809823A (en) Method and apparatus to establish, report and adjust system memory usage
US10949115B2 (en) Flash memory polling
CN110837477B (en) Storage system loss balancing method and device based on life prediction
CN107204204A (en) Method of estimation during the power-off of solid state storage device
US11868663B2 (en) Memory sub-system for performing wear-leveling adjustments based on memory component endurance estimations
CN106856102B (en) Programming method for Nand Flash
US20190304547A1 (en) Decoding method and storage controller
TWI748410B (en) Method and apparatus for performing block management regarding non-volatile memory
CN114385092B (en) Erasing method of solid state disk flash memory array and solid state disk main control chip
US11698742B2 (en) Garbage collection in a memory component using an adjusted parameter
CN110580932B (en) Memory cell quality measurement method applied to wear leveling
CN115470052A (en) Bad block detection method and device for memory chip and storage medium
CN110364197B (en) Decoding method and storage controller
Wei et al. Reinforcement learning-assisted management for convertible SSDs
Liu et al. Ouroboros wear-leveling: a two-level hierarchical wear-leveling model for NVRAM
CN111767165A (en) Data processing method and device and control equipment
EP4231131A1 (en) Data storage method and device
CN110888589B (en) Flash memory controller and related access method and electronic device
Khanbadr et al. The SBM: A victim block selection method based on min-heap priority queues

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
TA01 Transfer of patent application right

Effective date of registration: 20210729

Address after: 518000 Shenzhen, Longgang, Guangdong Bantian street, Jihua Road, long Bi industrial city 13, 2 level.

Applicant after: Futurepath Technology (Shenzhen) Co.,Ltd.

Address before: 430074 Hubei Province, Wuhan city Hongshan District Luoyu Road No. 1037

Applicant before: HUAZHONG University OF SCIENCE AND TECHNOLOGY

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: An adaptive storage device loss equalization method and system

Effective date of registration: 20220325

Granted publication date: 20211015

Pledgee: Industrial and Commercial Bank of China Limited Shenzhen gaoxinyuan sub branch

Pledgor: FUTUREPATH TECHNOLOGY Co.,Ltd.

Registration number: Y2022980003211

PE01 Entry into force of the registration of the contract for pledge of patent right