CN110221785B - 一种基于遗传算法的flash模块组合方法 - Google Patents

一种基于遗传算法的flash模块组合方法 Download PDF

Info

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
Application number
CN201910517709.1A
Other languages
English (en)
Other versions
CN110221785A (zh
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.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN201910517709.1A priority Critical patent/CN110221785B/zh
Publication of CN110221785A publication Critical patent/CN110221785A/zh
Application granted granted Critical
Publication of CN110221785B publication Critical patent/CN110221785B/zh
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/0617Improving the reliability of storage systems in relation to availability
    • 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/0629Configuration or reconfiguration of storage systems
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing 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)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种基于遗传算法的FLASH模块组合方法,采用遗传算法对FLASH存储模块进行组合,主要内容包括数学模型建立和算法实现两部分内容,通过数学模型的建立,并通过算法对数学模型进行计算,求出最优组合,快速实现FLASH模块的组合,利用MATLAB进行算法实现,进化次数1000时,运行时间约为40s,远远小于人工挑选方法时间;组合后FLASH模块的容量得到充分利用,提高了固态存储器的可靠性。

Description

一种基于遗传算法的FLASH模块组合方法
技术领域
本发明属于电子信息技术领域,具体涉及一种基于遗传算法的FLASH模块组合方法。
背景技术
存储容量是星载固态存储器的一个重要指标,坏块是影响固态存储器容量的最主要原因。一方面由于工艺等原因FLASH存储芯片存在一定数量的初始坏块,另一方面在其使用过程中也会增加一定数量的坏块。随着FLASH存储芯片坏块数量的增加,固态存储器的存储容量会相应的减少,为保证固态存储器使用寿命末期存储容量满足可靠性设计要求,需要对所使用的FLASH存储模块进行挑选和组合,即从N个FLASH存储模块中选出M个(N≥M)进行组合,使得组成的存储阵列中初始坏块数最少,固态存储器的容量最大,进而降低使用周期中坏块问题对星载固态存储器存储容量的影响。
目前FLASH模块组合方法主要采用人工挑选方法,费时费力,且组合精度较低。
发明内容
本发明针对人工挑选FLASH模块组合方法的弊端,采用遗传算法提高FLASH模块组合的效率和精度。
为达到上述目的,本发明所述一种基于遗传算法的FLASH模块组合方法,包括以下步骤:
步骤1:生成初始种群P0,初始种群P0包括多个个体,对个体进行编码,其中,每个个体代表一种FLASH模块组合;
步骤2:建立评价函数,计算初始种群P0中个体的评价函数值;
步骤3:令K=1,其中K为进化次数计数器;
步骤4,对当前种群进行杂交和变异,得到新的种群C;
步骤5,计算种群C中所有个体的评价函数值,并判断是否满足停止准则,若满足停止准则,则终止遗传算法,并输出最优个体,最优个体为进化过程中所得到的具有最大适应度个体,最优个体对应的存储芯片的组合即为FLASH模块组合结果;若不满足停止准则,则执行步骤6;
步骤6,令K=K+1,并返回至步骤4。
进一步的,步骤1中,采用染色体编码对初始种群P0中的个体进行编码,使用1~N共作为N个FLASH存储模块的编号,每个存储阵列上安装的FLASH存储模块的编码为由M个编号组成的编码串,N≥M,其中单个数字对应为基因,编码串对应于个体,在同一个编码串中每个数字只出现一次。
进一步的,步骤2中建立的评价函数的表达式为:
Figure BDA0002095549430000021
其中,i=1,2,3…m;j=1,2,3…n;k=1,2,3…p;m为存储阵列的数量,n为每个存储阵列上FLASH存储模块的数量,p为每个存储模块中基片的数量。
进一步的,步骤4中,采用循环交叉法进行杂交;采用倒位变异算法进行变异。
进一步的,步骤5中,停止准则为固定的进化次数T,T的取值范围为600~1000。
进一步的,步骤1中,初始种群P0的生成采用随机方法。
与现有技术相比,本发明至少具有以下有益的技术效果,将遗传算法引入到FLASH模块组合优化中,建立FLASH模块组合的数学模型,高效准确的对FLASH模块进行组合,当利用MATLAB进行算法实现时,进化次数为1000时,运行时间约为40s,远远小于人工挑选方法所花费的时间;FLASH模块组合后FLASH模块的容量得到充分利用,提高了固态存储器的可靠性;采用该方法可避免陷入局部最优,提高了组合的效率,主要应用于星载大容量固态存储器。
进一步的,步骤1中,采用染色体编码对初始种群P0中的个体进行编码,使用1~N共作为N个FLASH存储模块的编号,每个存储阵列上安装的FLASH存储模块的编码为由M个数码组成的编码串,N≥M,其中单个数字对应为基因,编码串相应的对应于个体,在同一个编码串中每个数字只出现一次。
进一步的,步骤2中建立的评价函数的表达式为:
Figure BDA0002095549430000031
其中,i=1,2,3…m;j=1,2,3…n;k=1,2,3…p;m为存储阵列的数量,n为每个存储阵列上FLASH存储模块的数量,p为每个存储模块中基片的数量,即以坏块最少的FLASH存储模块组合为最终目标,从而得到最优的FLASH存储模块组合方案。
进一步的,步骤4中,采用循环交叉法进行杂交,保证在杂交出的子代中不出现重复的基因码。
进一步的,FLASH模块组合问题中每个FLASH模块的坏块数量具有很强的随机性,在选择不固定进化次数时很难给出一个停止条件,在本发明中选择固定的进化次数。所以步骤5中,停止准则为固定的进化次数T。
进一步的,步骤1中,初始种群的生成采用随机方法,减少陷入局部最优的可能性。
附图说明
图1为本发明中算法图;
图2为存储阵列的硬件结构图;
图3为FLASH芯片存储结构图;
图4为遗传算法种群进化图;
图5为
Figure BDA0002095549430000032
计算结果图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
参照图1,一种基于遗传算法的FLASH模块组合方法,包括数学模型建立和算法实现两部分内容。
其中数学模型建立主要内容为:每个存储器由m个存储阵列组成,每个存储阵列包括n个FLASH存储模块,每个存模块包括p个基片。设存储阵列i上第j个存储模块中第k个基片中坏块数量为Nijk,其中i=1,2,3…m;j=1,2,3…n;k=1,2,3…p;m为存储阵列的数量,n为每个存储阵列上FLASH存储模块的数量,p为每个存储模块中基片的数量。考虑到存储阵列中FLASH存储模块的排列方式以及存储容量的要求,任一存储阵列上所有FLASH存储模块的任一指定存储阵列都要满足
Figure BDA0002095549430000041
Figure BDA0002095549430000042
为第i块存储阵列上总坏块数,Nmax为固态存储器的存储容量满足设计指标时所允许的最大坏块数量。在满足
Figure BDA0002095549430000043
的条件下,
Figure BDA0002095549430000044
的m个值的方差和越小则固态存储器的容量越大。FLASH存储模块组合的目标是获得
Figure BDA0002095549430000045
的m个值的方差和的最小值,该问题为优化问题的范畴,方差最小时,FLASH存储模块的组合即为最终的FLASH存储模块组合。
算法实现内容主要包括四部分:编码方法与初始种群生成方式、评价函数选择、遗传因子的确定以及终止条件分析四部分内容。
1)编码方法与初始种群生成方式
在FLASH模块组合问题上编码采用染色体编码,采用以下方法:每一个存储阵列作为一个染色体,将组成存储阵列的每一个FLASH存储模块表示为一个基因,FLASH存储模块数量即为染色体的基因数。FLASH存储模块编号用十进制数表示,使用1~N这N个数字作为N个FLASH存储模块的编号,每个存储阵列上安装的FLASH存储模块的编码为由M个数码组成的编码串(N≥M),其中单个数字对应为基因,编码串相应的对应于染色体,在同一个编码串中每个数字只出现一次。
初始种群的生成采用随机方法,减少陷入局部最优的可能性。
2)评价函数选择
通过评价函数对个体的适应度进行评价,进而决定种群进化的方向,选择优化目标函数作为评价函数,在FLASH存储模块组合问题上,最终目标是选择坏块最少的FLASH存储模块组合。该问题是求
Figure BDA0002095549430000051
方差和的最小值,因此属于最小值优化问题,所以取
Figure BDA0002095549430000052
方差和为评价函数Fit_fun。
Figure BDA0002095549430000053
3)遗传因子的确定
遗传因子主要包括选择因子,交叉因子以及变异因子三部分。
考虑到算法实现的简单性,选择因子采用轮赌方式。由于采用染色体编码的方法,而普通交叉算子无法确保基因码在编码串中只出现一次,即不能保证每个FLASH存储模块的编码只出现一次,为满足在子代中不出现重复的基因码的条件,交叉因子采用循环交叉。
由于染色体编码的使用,通常采用的编码串中异位突变的编码算法在此处也不再适用,因此在该问题的解决中使用倒位变异、基于次序的变异或基于位置的变异算法,在本发明中变异因子使用的倒位变异。
4)终止条件分析
遗传算法的进化次数选择有两种:一是固定的进化次数;二是不固定的进化次数。两者各有优缺点,固定的进化次数有利于遗传算法的处理,但设置选择困难且不利于产生最优解;不固定进化次数通过对个体解得判断自动进行迭代,当评价函数满足一定要求时,停止迭代,该方法有利于最优解的发现,而且有利于参数的选择,但非常容易增加遗传算法的斥力时间,同时停止条件的设计需要很强的经验。综合考虑两种方法的优缺点,考虑到在FLASH模块组合问题中每个FLASH模块的坏块数量具有很强的随机性,在选择不固定进化次数时很难给出一个停止条件,在本发明中选择固定的进化次数。
实施例
每台固态存储器的单机包含4块存储阵列,存储阵列是以FPGA为控制核心,以21片FLASH存储模块构成存储阵列,每个存储模块内部有8个基片,同一个存储模块内部的8个基片共用控制和数据总线,该固态存储器存储阵列的硬件结构图如图2示。
存储阵列上的FLASH存储模块采用的是3DFN32G08VS467MSA00M,容量为32G,内部封有8个基片,FLASH存储模块为美光公司生产的,容量为4G。每个基片分为4096个块(Block),每个块又分为64页(Page),每页的容量为(2K+64)Bytes。
两台固态存储器共有8块存储阵列,每个存储阵列需要安装21个FLASH存储模块,每个FLASH存储模块中封装了8个基片,需要对168(21×8(存储阵列数)=168)个FLASH存储模块进行组合。针对上述固态存储器,按照存储容量的要求计算得出固态存储器的存储容量满足设计指标时所允许的最大坏块数量Nmax=120,设置染色体长度为168,考虑到染色体的长度较大,选择种群数量为1000,进化次数的选择可以根据试验进行决定,在本用例中确定为1000。
图4为种群中评价函数最小值随进化代数变化情况,图4中的纵坐标为评价函数值,横坐标为进化代数。可以明显发现随着种群的进化评价函数的值不断减小,FLASH模块的组合结果最终趋近于最优解。
通过上述方法计算得到,图5中8条曲线分别代表对应于k=1,2,3…7,8时
Figure BDA0002095549430000061
的值,即一块存储阵列上21个FLASH存储模块上同一位置基片坏块的总数量。每条曲线上的八个值相差很小,而对应于同一存储阵列坏块的总数量则相差较大,这是由FLASH芯片的特性决定的,FLASH芯片中坏块可能出现的位置和数量都是随机的,这就可能造成FLASH存储模块中某些FLASH芯片中坏块较其它芯片中坏块较多。图5中任一条曲线上的八个值相差很小且均满足小于Nmax的要求,则按照该方法组合的FLASH存储模块组成的存储矩阵存储容量一定满足要求。
实例证明了遗传算法这种全局寻优算法在解决FLASH存储模块组合这类问题方面有着良好的效果。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (6)

1.一种基于遗传算法的FLASH模块组合方法,其特征在于,包括以下步骤:
步骤1:生成初始种群P0,初始种群P0包括多个个体,对个体进行编码,其中,每个个体代表一种FLASH模块组合;
步骤2:建立评价函数,计算初始种群P0中个体的评价函数值;
步骤3:令K=1,其中K为进化次数计数器;
步骤4,对当前种群进行杂交和变异,得到新的种群C;
步骤5,计算种群C中所有个体的评价函数值,并判断是否满足停止准则,若满足停止准则,则终止遗传算法,并输出最优个体,最优个体对应的存储芯片的组合即为FLASH模块组合结果;若不满足停止准则,则执行步骤6;
步骤6,令K=K+1,并返回至步骤4;
骤1中,采用染色体编码对初始种群P0中的个体进行编码,使用1~N共作为N个FLASH存储模块的编号,每个存储阵列上安装的FLASH存储模块的编码为由M个编号组成的编码串,N≥M,编号对应为基因,编码串对应于个体,在同一个编码串中每个数字只出现一次;
步骤2中建立的评价函数的表达式为:
Figure FDA0003650514080000011
其中,Nijk为存储阵列i上第j个存储模块中第k个基片中坏块数量,i=1,2,3…m;j=1,2,3…n;k=1,2,3…p;m为存储阵列的数量,n为每个存储阵列上FLASH存储模块的数量,p为每个存储模块中基片的数量。
2.根据权利要求1所述的一种基于遗传算法的FLASH模块组合方法,其特征在于,步骤4中,采用循环交叉法进行杂交。
3.根据权利要求1所述的一种基于遗传算法的FLASH模块组合方法,其特征在于,步骤4中,采用倒位变异算法进行变异。
4.根据权利要求1所述的一种基于遗传算法的FLASH模块组合方法,其特征在于,步骤5中,停止准则为固定的进化次数T。
5.根据权利要求4所述的一种基于遗传算法的FLASH模块组合方法,其特征在于,所述T的取值范围为600~1000。
6.根据权利要求1所述的一种基于遗传算法的FLASH模块组合方法,其特征在于,步骤1中,初始种群P0的生成采用随机方法。
CN201910517709.1A 2019-06-14 2019-06-14 一种基于遗传算法的flash模块组合方法 Active CN110221785B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910517709.1A CN110221785B (zh) 2019-06-14 2019-06-14 一种基于遗传算法的flash模块组合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910517709.1A CN110221785B (zh) 2019-06-14 2019-06-14 一种基于遗传算法的flash模块组合方法

Publications (2)

Publication Number Publication Date
CN110221785A CN110221785A (zh) 2019-09-10
CN110221785B true CN110221785B (zh) 2022-08-23

Family

ID=67817206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910517709.1A Active CN110221785B (zh) 2019-06-14 2019-06-14 一种基于遗传算法的flash模块组合方法

Country Status (1)

Country Link
CN (1) CN110221785B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324251A (zh) * 2013-06-24 2013-09-25 哈尔滨工业大学 星载数传***及星载数传***的任务调度优化方法
CN108573326A (zh) * 2018-04-17 2018-09-25 武汉理工大学 基于遗传蚁群混合算法的视频服务器选址方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324251A (zh) * 2013-06-24 2013-09-25 哈尔滨工业大学 星载数传***及星载数传***的任务调度优化方法
CN108573326A (zh) * 2018-04-17 2018-09-25 武汉理工大学 基于遗传蚁群混合算法的视频服务器选址方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种高可靠星载大容量存储器的坏块表存储方案设计;李珊;《微电子学与计算机》;20160430;第33卷(第4期);第73-76页 *

Also Published As

Publication number Publication date
CN110221785A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
CN108320057B (zh) 一种基于有限制稳定配对策略的柔性作业车间调度方法
CN111507641B (zh) 一种批处理设备调度方法及其装置
US10931027B2 (en) Method for array elements arrangement of l-shaped array antenna based on inheritance of acquired character
CN108573326B (zh) 基于遗传蚁群混合算法的视频服务器选址方法
CN105117326A (zh) 一种基于组合混沌序列的测试用例集生成方法
CN112994099B (zh) 一种高比例分布式光伏并网消纳能力分析方法
CN105187051A (zh) 一种基于NSGA-II用于不完全确定Reed-Muller电路功耗与面积优化方法
CN111898750A (zh) 基于进化算法的神经网络模型压缩方法及装置
CN110059405A (zh) X结构下带差分进化的高质量Steiner最小树构建方法
CN115617690A (zh) 基于改进自适应遗传算法的并行测试任务调度方法
CN110221785B (zh) 一种基于遗传算法的flash模块组合方法
CN110505681B (zh) 基于遗传方法的非正交多址接入场景用户配对方法
CN116245346A (zh) 基于多种群遗传算法和局部搜索的多无人机任务分配方法
CN114070655B (zh) 网络流量检测规则生成方法及装置、电子设备、存储介质
CN116048723A (zh) 基于非支配排序多目标遗传算法的虚拟机调度方法及***
CN110321208B (zh) 一种求解云任务调度的进化计算方法
CN112149910B (zh) 一种路径规划方法及装置
CN113347255A (zh) 边缘服务器选址部署模型及其求解方法
CN111290853A (zh) 一种基于自适应改进遗传算法的云数据中心调度方法
CN111353675B (zh) 一种作业调度方法和装置
CN114647541B (zh) 一种基于改进演化硬件的电路自修复方法
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
CN117060468B (zh) 基于改进nsga-ii算法的储能调峰容量优化配置方法及***
Bahi et al. Predicting the evolution of two genes in the yeast saccharomyces cerevisiae

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