CN110221785B - FLASH module combination method based on genetic algorithm - Google Patents
FLASH module combination method based on genetic algorithm Download PDFInfo
- Publication number
- CN110221785B CN110221785B CN201910517709.1A CN201910517709A CN110221785B CN 110221785 B CN110221785 B CN 110221785B CN 201910517709 A CN201910517709 A CN 201910517709A CN 110221785 B CN110221785 B CN 110221785B
- Authority
- CN
- China
- Prior art keywords
- flash
- storage
- genetic algorithm
- evaluation function
- individuals
- 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
Images
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/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
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)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
The invention discloses a FLASH module combination method based on genetic algorithm, which combines FLASH storage modules by adopting the genetic algorithm, wherein the main contents comprise mathematical model establishment and algorithm realization, the optimal combination is calculated by the mathematical model establishment and the algorithm, the combination of the FLASH modules is quickly realized, MATLAB is used for algorithm realization, the operation time is about 40s when the evolution frequency is 1000, and the operation time is far shorter than the manual selection method time; the capacity of the FLASH module is fully utilized after combination, and the reliability of the solid-state memory is improved.
Description
Technical Field
The invention belongs to the technical field of electronic information, and particularly relates to a FLASH module combination method based on a genetic algorithm.
Background
Storage capacity is an important index of the on-board solid-state memory, and bad blocks are the most main reasons for influencing the capacity of the solid-state memory. On one hand, due to the reasons of process and the like, a certain number of initial bad blocks exist in the FLASH memory chip, and on the other hand, a certain number of bad blocks are increased in the using process of the FLASH memory chip. Along with the increase of the number of the bad blocks of the FLASH memory chips, the storage capacity of the solid-state memory is correspondingly reduced, in order to ensure that the storage capacity at the end of the service life of the solid-state memory meets the reliability design requirement, the used FLASH memory modules need to be selected and combined, namely M (N is more than or equal to M) FLASH memory modules are selected from N FLASH memory modules to be combined, so that the initial number of the bad blocks in the formed memory array is minimum, the capacity of the solid-state memory is maximum, and the influence of the bad block problem in the service cycle on the storage capacity of the satellite-borne solid-state memory is further reduced.
At present, the FLASH module combination method mainly adopts a manual selection method, so that time and labor are wasted, and the combination precision is low.
Disclosure of Invention
Aiming at the defects of the method for manually selecting the FLASH module combination, the invention adopts the genetic algorithm to improve the efficiency and the precision of the FLASH module combination.
In order to achieve the aim, the invention discloses a FLASH module combination method based on a genetic algorithm, which comprises the following steps:
step 1: generating an initial population P0, wherein the initial population P0 comprises a plurality of individuals, and encoding the individuals, wherein each individual represents a FLASH module combination;
step 2: establishing an evaluation function, and calculating the evaluation function value of an individual in the initial population P0;
and step 3: let K be 1, where K is an evolution number counter;
and step 6, making K equal to K +1, and returning to the step 4.
Further, in step 1, chromosome coding is adopted to code individuals in the initial population P0, 1-N are used as the numbers of N FLASH storage modules, the codes of the FLASH storage modules installed on each storage array are coding strings consisting of M numbers, N is larger than or equal to M, wherein a single number corresponds to a gene, the coding strings correspond to the individuals, and each number only appears once in the same coding string.
Further, the expression of the evaluation function established in step 2 is:wherein i is 1,2,3 … m; j is 1,2,3 … n; k is 1,2,3 … p; m is the number of the storage arrays, n is the number of FLASH storage modules on each storage array, and p is the number of substrates in each storage module.
Further, in step 4, a cycle crossing method is adopted for hybridization; and (5) carrying out mutation by adopting an inversion mutation algorithm.
Further, in step 5, the stopping criterion is a fixed evolution time T, and the value range of T is 600-1000.
Further, in step 1, the generation of the initial population P0 adopts a random method.
Compared with the prior art, the method has at least the following beneficial technical effects that the genetic algorithm is introduced into the FLASH module combination optimization, the mathematical model of the FLASH module combination is established, the FLASH modules are efficiently and accurately combined, when MATLAB is used for algorithm implementation, the evolution time is 1000, the running time is about 40s, and the time is far less than the time spent by a manual selection method; after the FLASH modules are combined, the capacity of the FLASH modules is fully utilized, and the reliability of the solid-state memory is improved; the method can avoid falling into local optimization, improves the combination efficiency, and is mainly applied to satellite-borne high-capacity solid-state memories.
Further, in step 1, chromosome coding is adopted to code individuals in the initial population P0, 1-N are used as the serial numbers of N FLASH storage modules, the codes of the FLASH storage modules installed on each storage array are coding strings consisting of M numbers, N is larger than or equal to M, wherein a single number corresponds to a gene, the coding strings correspond to the individuals, and each number only appears once in the same coding string.
Further, the expression of the evaluation function established in step 2 is:wherein i is 1,2,3 … m; j is 1,2,3 … n; k is 1,2,3 … p; m is the number of the storage arrays, n is the number of the FLASH storage modules on each storage array, and p is the number of the substrates in each storage module, namely the FLASH storage module with the least bad blocks is combined into a final target, so that an optimal FLASH storage module combination scheme is obtained.
Furthermore, in step 4, a cycle crossing method is adopted for hybridization, so that repeated gene codes do not appear in hybridized filial generations.
Furthermore, the number of bad blocks of each FLASH module in the FLASH module combination problem has strong randomness, a stopping condition is difficult to be given when the unfixed evolution times are selected, and the fixed evolution times are selected in the method. So in step 5 the stopping criterion is a fixed number of evolutions T.
Further, in step 1, a random method is adopted for generating the initial population, so that the possibility of falling into local optimum is reduced.
Drawings
FIG. 1 is a diagram of an algorithm according to the present invention;
FIG. 2 is a hardware block diagram of a memory array;
FIG. 3 is a memory structure diagram of a FLASH chip;
FIG. 4 is a population evolution diagram of a genetic algorithm;
Detailed Description
The invention is described in detail below with reference to the drawings and the detailed description.
Referring to fig. 1, a method for combining FLASH modules based on genetic algorithm includes mathematical model establishment and algorithm implementation.
The mathematical model establishment comprises the following main contents: each memory consists of m memory arrays, each memory array comprises n FLASH memory modules, and each memory module comprises p substrates. Setting the number of bad blocks in the kth substrate in the jth memory module on the memory array i as N ijk Wherein i is 1,2,3 … m; j is 1,2,3 … n; k is 1,2,3 … p; m is the number of the storage arrays, n is the number of FLASH storage modules on each storage array, and p is the number of substrates in each storage module. Considering the arrangement of FLASH memory modules in the memory array and the requirement of memory capacity, any given memory array of all FLASH memory modules on any memory array should satisfy the requirement of storage capacity For the ith block, the total number of bad blocks, N, on the array max The maximum number of bad blocks allowed when the storage capacity of the solid-state memory meets the design criteria. In satisfyingUnder the conditions of (a) under (b),the smaller the sum of the variances of the m values of (a) is, the larger the capacity of the solid-state memory is. The FLASH storage module combination is aimed to obtainThe problem is the category of optimization problem, and when the variance is minimum, the combination of the FLASH storage modules is the final FLASH storage module combination.
The algorithm implementation content mainly comprises four parts: the encoding method and the initial population generation mode, the evaluation function selection, the determination of the genetic factor and the termination condition analysis.
1) Encoding method and initial population generation mode
The coding on the FLASH module combination problem adopts chromosome coding, and adopts the following method: each storage array is used as a chromosome, each FLASH storage module forming the storage array is represented as a gene, and the number of the FLASH storage modules is the gene factor of the chromosome. The FLASH storage module number is expressed by decimal number, N numbers of 1-N are used as the number of the N FLASH storage modules, the code of the FLASH storage module arranged on each storage array is a coding string (N is more than or equal to M) consisting of M numbers, wherein a single number corresponds to a gene, the coding string corresponds to a chromosome, and each number only appears once in the same coding string.
The generation of the initial population adopts a random method, so that the possibility of falling into local optimum is reduced.
2) Merit function selection
Evaluating the fitness of the individuals through an evaluation function, further determining the direction of population evolution, selecting an optimization target function as the evaluation function, and finally selecting a FLASH storage module combination with the least bad blocks on the aspect of FLASH storage module combination problem. The problem is to solveMinimum of sum of variances, and thus belongs to the maximumA small value optimization problem, so takeThe sum of variances is the evaluation function Fit _ fun.
3) Determination of genetic factors
The genetic factors mainly comprise three parts, namely selection factors, cross factors and variation factors.
The selection factor takes the form of a betting round in view of the simplicity of the algorithm implementation. Because a chromosome coding method is adopted, the common crossover operator cannot ensure that the gene codes only appear once in the coding string, namely, the common crossover operator cannot ensure that the codes of each FLASH storage module only appear once, and in order to meet the condition that repeated gene codes do not appear in filial generations, the crossover factor adopts circular crossover.
Because the coding algorithms for ectopic mutations in a coding sequence that are usually employed are not applicable here either due to the use of chromosomal coding, inversion mutation, order-based mutation or position-based mutation algorithms are used in solving this problem, and the inversion mutation used in the present invention is a mutation factor.
4) Analysis of termination conditions
There are two evolutionary time choices for genetic algorithms: firstly, fixed evolution times; and the other is an unfixed evolution frequency. Both have advantages and disadvantages, the fixed evolution times are beneficial to the processing of genetic algorithm, but the setting and selection are difficult and are not beneficial to generating the optimal solution; the method is favorable for finding the optimal solution and selecting parameters, but is very easy to increase the repulsion time of a genetic algorithm, and simultaneously the design of stopping conditions needs strong experience. The advantages and the disadvantages of the two methods are comprehensively considered, the number of bad blocks of each FLASH module in the FLASH module combination problem is considered to have strong randomness, a stopping condition is difficult to give when the unfixed evolution times are selected, and the fixed evolution times are selected in the method.
Examples
The single machine of each solid-state memory comprises 4 memory arrays, each memory array uses FPGA as a control core, 21 FLASH memory modules form the memory array, 8 substrates are arranged in each memory module, 8 substrates in the same memory module share a control bus and a data bus, and the hardware structure diagram of the solid-state memory is shown in figure 2.
The FLASH memory module on the memory array adopts 3DFN32G08VS467MSA00M with the capacity of 32G, 8 substrates are sealed in the FLASH memory module, and the FLASH memory module is produced by Meiguang company and has the capacity of 4G. Each substrate is divided into 4096 blocks (blocks), each Block in turn being divided into 64 pages (Page), each Page having a capacity of (2K +64) Bytes.
The two solid-state memories have 8 memory arrays in total, each memory array needs to be provided with 21 FLASH memory modules, each FLASH memory module is packaged with 8 substrates, and 168(21 × 8 (number of memory arrays) ═ 168) FLASH memory modules need to be combined. Aiming at the solid-state memory, calculating the maximum number N of bad blocks allowed when the storage capacity of the solid-state memory meets the design index according to the requirement of the storage capacity max The chromosome length is set to 168, the number of populations is 1000 in consideration of the larger chromosome length, and the number of evolutionary events to be selected can be determined by experiment, and is 1000 in this example.
Fig. 4 shows the variation of the minimum value of the evaluation function in the population with the evolution algebra, the ordinate in fig. 4 is the evaluation function value, and the abscissa is the evolution algebra. It can be obviously found that the combined result of the FLASH module finally approaches to the optimal solution as the value of the evaluation function is continuously reduced along with the evolution of the population.
Calculated by the above method, 8 curves in fig. 5 represent the curves corresponding to k being 1,2,3 … 7, and 8 respectivelyI.e., the total number of bad blocks of the substrate at the same location on 21 FLASH memory modules in a memory array. On each curveThe eight values of the error are very small, and the total number of the bad blocks corresponding to the same storage array is very large, which is determined by the characteristics of the FLASH chip, and the positions and the number of the possible bad blocks in the FLASH chip are random, which may cause that the bad blocks in some FLASH chips in the FLASH storage module are more bad blocks than those in other chips. The eight values on any one curve in FIG. 5 are very different and all satisfy less than N max The storage capacity of the storage matrix formed by the FLASH storage modules combined according to the method can meet the requirements.
The example proves that the global optimization algorithm, namely the genetic algorithm, has a good effect on solving the problems of FLASH storage module combination.
The above contents are only for illustrating the technical idea of the present invention, and the protection scope of the present invention should not be limited thereby, and any modification made on the basis of the technical idea proposed by the present invention falls within the protection scope of the claims of the present invention.
Claims (6)
1. A FLASH module combination method based on genetic algorithm is characterized by comprising the following steps:
step 1: generating an initial population P0, wherein the initial population P0 comprises a plurality of individuals, and encoding the individuals, wherein each individual represents a FLASH module combination;
step 2: establishing an evaluation function, and calculating the evaluation function value of an individual in the initial population P0;
and 3, step 3: let K be 1, where K is an evolution number counter;
step 4, hybridizing and mutating the current population to obtain a new population C;
step 5, calculating the evaluation function values of all individuals in the population C, judging whether the evaluation function values meet a stop criterion, if so, terminating the genetic algorithm and outputting an optimal individual, wherein the combination of the storage chip corresponding to the optimal individual is a FLASH module combination result; if the stop criterion is not met, executing step 6;
step 6, making K equal to K +1, and returning to the step 4;
in the step 1, chromosome coding is adopted to code individuals in an initial population P0, 1-N are used as the serial numbers of N FLASH storage modules, the codes of the FLASH storage modules installed on each storage array are coding strings consisting of M serial numbers, N is more than or equal to M, the serial numbers correspond to genes, the coding strings correspond to the individuals, and each number only appears once in the same coding string;
the expression of the evaluation function established in step 2 is:wherein N is ijk The number of bad blocks in the kth substrate in the jth memory module on the memory array i is 1,2,3 … m; j is 1,2,3 … n; k is 1,2,3 … p; m is the number of the storage arrays, n is the number of the FLASH storage modules on each storage array, and p is the number of the substrates in each storage module.
2. The method of claim 1, wherein in step 4, the hybridization is performed by a cycle crossing method.
3. The method of claim 1, wherein in step 4, an inversion mutation algorithm is used for mutation.
4. The method of claim 1, wherein in step 5, the stopping criterion is a fixed number of evolutions T.
5. The FLASH module combination method based on genetic algorithm according to claim 4, wherein the value range of T is 600-1000.
6. The method for combining FLASH modules based on genetic algorithm of claim 1, wherein in step 1, the generation of initial population P0 is performed by random method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517709.1A CN110221785B (en) | 2019-06-14 | 2019-06-14 | FLASH module combination method based on genetic algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517709.1A CN110221785B (en) | 2019-06-14 | 2019-06-14 | FLASH module combination method based on genetic algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110221785A CN110221785A (en) | 2019-09-10 |
CN110221785B true CN110221785B (en) | 2022-08-23 |
Family
ID=67817206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910517709.1A Active CN110221785B (en) | 2019-06-14 | 2019-06-14 | FLASH module combination method based on genetic algorithm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110221785B (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324251A (en) * | 2013-06-24 | 2013-09-25 | 哈尔滨工业大学 | Satellite-borne data transmission system and task scheduling and optimizing method thereof |
CN108573326A (en) * | 2018-04-17 | 2018-09-25 | 武汉理工大学 | Video server site selecting method based on genetic-ant colony hybrid algorithm |
-
2019
- 2019-06-14 CN CN201910517709.1A patent/CN110221785B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324251A (en) * | 2013-06-24 | 2013-09-25 | 哈尔滨工业大学 | Satellite-borne data transmission system and task scheduling and optimizing method thereof |
CN108573326A (en) * | 2018-04-17 | 2018-09-25 | 武汉理工大学 | Video server site selecting method based on genetic-ant colony hybrid algorithm |
Non-Patent Citations (1)
Title |
---|
一种高可靠星载大容量存储器的坏块表存储方案设计;李珊;《微电子学与计算机》;20160430;第33卷(第4期);第73-76页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110221785A (en) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108320057B (en) | Flexible job shop scheduling method based on limited stable pairing strategy | |
CN111507641B (en) | Batch processing equipment scheduling method and device | |
CN108573326B (en) | Video server site selection method based on genetic ant colony hybrid algorithm | |
US20200052412A1 (en) | Method for array elements arrangement of l-shaped array antenna based on inheritance of acquired character | |
CN114186749B (en) | Flexible workshop scheduling method and model based on reinforcement learning and genetic algorithm | |
CN106610867B (en) | On-chip network task scheduling method and device | |
CN105117326A (en) | Test case set generation method based on combination chaotic sequence | |
CN112994099B (en) | High-proportion distributed photovoltaic grid-connected digestion capacity analysis method | |
CN113033895A (en) | Multi-source multi-point path planning method, equipment and storage medium | |
CN105187051A (en) | Power and area optimization method of incomplete certain Reed-Muller circuit based on NSGA-II | |
CN111898750A (en) | Neural network model compression method and device based on evolutionary algorithm | |
CN110059405A (en) | High-quality Steiner minimum tree construction method with differential evolution under X structure | |
CN115617690A (en) | Parallel test task scheduling method based on improved adaptive genetic algorithm | |
CN110221785B (en) | FLASH module combination method based on genetic algorithm | |
CN110505681B (en) | Non-orthogonal multiple access scene user pairing method based on genetic method | |
CN116245346A (en) | Multi-unmanned aerial vehicle task allocation method based on multiple swarm genetic algorithms and local search | |
CN114070655B (en) | Network flow detection rule generation method and device, electronic equipment and storage medium | |
CN110321208B (en) | Evolutionary computing method for solving cloud task scheduling | |
CN114330940B (en) | Multi-objective mixed spider monkey optimization method for PCB electroplating task sequencing problem | |
CN111290853A (en) | Cloud data center scheduling method based on self-adaptive improved genetic algorithm | |
CN111353675B (en) | Job scheduling method and device | |
CN114647541B (en) | Circuit self-repairing method based on improved evolution hardware | |
Bin et al. | A genetic clustering method based on variable length string | |
Shayeghi et al. | Optimization of transmission lines loading in TNEP using decimal codification based GA | |
Xu et al. | The research of advances in adaptive genetic algorithm |
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 |