CN108268220B - 实时嵌入式系统中非易失性混合式内存的软件优化方法 - Google Patents

实时嵌入式系统中非易失性混合式内存的软件优化方法 Download PDF

Info

Publication number
CN108268220B
CN108268220B CN201810129990.7A CN201810129990A CN108268220B CN 108268220 B CN108268220 B CN 108268220B CN 201810129990 A CN201810129990 A CN 201810129990A CN 108268220 B CN108268220 B CN 108268220B
Authority
CN
China
Prior art keywords
data
program
write
nvm
read
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
CN201810129990.7A
Other languages
English (en)
Other versions
CN108268220A (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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201810129990.7A priority Critical patent/CN108268220B/zh
Publication of CN108268220A publication Critical patent/CN108268220A/zh
Application granted granted Critical
Publication of CN108268220B publication Critical patent/CN108268220B/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种实时嵌入式系统中基于非易失性混合式内存的软件优化方法,包括以下步骤:1)根据多个程序的特征结合profiling技术,统计每个程序中各个数据可能的读写操作次数和对应的概率,并且获得每个程序中每个数据的读写期望和最大读写次数;2)根据每个时间段内程序的预测运行数据,为其分配合适的存放位置,建立整形线性规划模型和与之相对应的近似算法,编程时获得一个接近最优的结果,使非易失性混合式内存上的消耗和NVM上的最大写操作次数尽量减小,确保程序在最差读写情况下能按时完成;3)把编译好的程序,在实时嵌入式系统上执行,以获得非易失性混合内存上的软件优化。本发明更加符合实际需求,不需要依赖任何硬件,具有很好的实用性。

Description

实时嵌入式系统中非易失性混合式内存的软件优化方法
技术领域
本发明属于计算机存储技术领域,具体涉及一种实时嵌入式系统中基于非易失性混合式内存的软件优化方法。
背景技术
目前,作为内存的动态随机存取存储器(dynamic random access memory,DRAM),因其在扩展性和能耗方面的缺陷,成为制约嵌入式系统发展的关键因素之一。同时,新型非易失性存储器(non-volatile memory,NVM)具备内存的高速处理、外存的大容量、持久化存储、超低静态功耗等优势,已经成为突破“存储墙”和“能耗墙”等存储挑战的最为瞩目的新一代存储器,有望替代DRAM作为内存。
然而,NVM技术也给存储管理与设计带来了新挑战。首先,NVM普遍存在有限擦写耐久性能。如果NVM一个单元的写操作次数超过最大写操作次数,该单元将失去保存数据的能力。其次,相比DRAM存储器,NVM的写操作代价开销大。若要实现高性能和高可靠的存储系统,则需降低NVM对系统性能和耐久性等方面的负面影响,如何在嵌入式系统中充分有效利用NVM并发挥其优势,是亟待解决的重要问题。
因为主存是嵌入式系统中的主要能源分配,所以是优化存储子系统能耗的重点。为了嵌入式系统的能源优化,联合NVM,DRAM在同一存储层次的混合主存被提出。DRAM便宜,体积小,但是访问速度慢。NVM访问速度快,非易失,高密度,泄露功率低,但是动态能耗高,写延迟较长,写次数有限。两种存储器互有优劣,如何平衡NVM和DRAM的优缺点,成为了目前的研究热点。现如今,用于优化混合主存能耗的软件优化算法——数据分配和磨损均衡算法,正在被不断地发展和创新,不同的算法有各自不同的优势,当然也有各自的局限性。因此更加高效,更优性能的软件优化算法有待进一步的深入研究。然而,大部分现有研究工作都是基于给出的读写信息,进行建模,但实际上忽略了数据读写次数的重要性和嵌入式系统的实时性,是不精确的。
发明内容
有鉴于此,本发明的目的在于提供一种实时嵌入式系统中基于非易失性混合式内存的软件优化方法,使用基于概率的程序profiling技术,提前预测多程序的数据读写次数,利用预测的数据信息进行软件层面的优化,减少内存消耗的同时,延长NVM在嵌入式系统混合式内存中的使用寿命,并且能保证实时程序在规定时间内完成,不需要任何硬件支持。
为达到上述目的,本发明提供如下技术方案:
一种实时嵌入式系统中基于非易失性混合式内存的软件优化方法,具体包括以下步骤:
S1:根据多个程序的特征结合profiling技术,统计每个程序中各个数据可能的读写操作次数和对应的概率,并且获得每个程序中每个数据的读写期望和最大读写次数;
S2:根据每个时间段内程序的预测运行数据,为各个数据分配合适的存放位置,建立整形线性规划模型和与之相对应的近似算法,编程时获得一个接近最优的结果,使非易失性混合式内存上的消耗和非易失性存储器(non-volatile memory,NVM)上的最大写操作次数尽量减小,并且确保程序在最差读写情况下也能按时完成;
S3:把编译好的程序,在实时嵌入式系统上执行,以获得非易失性混合内存上的软件优化。
进一步,所述步骤S1具体包括以下步骤:
S11:根据profiling技术,获得各个程序的分支执行概率,统计所有程序的分支执行概率,获得每个程序中各个数据可能的读写操作次数和对应的概率;
S12:根据每个程序中各个数据可能的读写操作次数和对应的概率,进行整合,获得各个数据在每个程序下对应的读写期望和最大读写次数。
进一步,所述步骤S2中的整形线性规划模型,是根据动态随机存取存储器(dynamic random access memory,DRAM)访问速度慢的特性和NVM访问速度快,泄露功率低,动态能耗高,写延迟较长,写次数有限的特性以及嵌入式系统的实时特性构建的模型,以期望在满足实时程序执行时间需求的情况下,将写次数多的数据存放于DRAM,将写次数少的数据存放于NVM已写次数少的单元,在满足NVM磨损均衡的同时获得最小的数据访问能耗。
进一步,所述步骤S2具体包括以下步骤:
S21:根据多程序的运行情况,包括程序执行序列和每个程序的执行起始时间,根据步骤S1的结果在规定的时间点τ预测并获得时间段[τ,τ+1]内运行的程序的每个数据读写期望的总和以及最大的读写次数,针对这个时间段的数据进行数据分配以确保每个程序能够按时完成;
S22:规定几个约束条件,建立一个基于概率模型的整形线性规划模型,确保数据分配的实用性:
约束条件1:每个变量必须存放在一个存储器;其中Xi,j,k=1等价于在程序j中的数据i地址为k,p表示为NVM分配p个存储地址,范围为1≤k≤p,为DRAM分配1个存储地址,地址为p+1,size(i)表示数据i的大小;
Figure GDA0002767966080000031
约束条件2:分配在NVM的数据总数不能超过它的存储容量;其中v表示NVM的存储容量;
Figure GDA0002767966080000032
约束条件3:变量分配在NVM的地址必须是连续的;其中l表示数据i的存储地址;
Figure GDA0002767966080000033
约束条件4:分配在NVM的写小于θ,确保磨损均衡;其中θ表示NVM各单元的写阈值,WTE(i)表示数据i的期望写次数;
Figure GDA0002767966080000034
约束条件5:约束时间段[τ,τ+1]的程序准时完成;其中BRD(i,j),BWT(i,j)分别表示数据在程序的最大读写次数,latencyr(k),latencyw(k)分别表示数据在不同存储器的读写延迟,tr表示每个实时程序对应的时间约束;
约束条件5的限制条件一:程序j中最大读写次数在NVM的读写延迟
Figure GDA0002767966080000035
约束条件5的限制条件二:程序j中最大读写次数在DRAM的读写延迟
Figure GDA0002767966080000036
约束条件5的约束函数:(Eq.(1)+Eq.(2))≤tr
目标函数:在满足各个约束条件下的最小数据分配消耗;其中costr(k),costw(k)分别表示在不同存储器下的读写消耗;
目标函数的目标条件一:所有程序在NVM的期望读写消耗
Figure GDA0002767966080000037
目标函数的目标条件二:所有程序在SRAM和DRAM的期望读写消耗
Figure GDA0002767966080000041
目标函数:min(Eq.(3)+Eq.(4))。
进一步,所述步骤S3具体包括以下步骤:
S31:建立一个数组T(Di,Mk),表示数据Di分配在存储器Mk,虽然只有两个存储器,NVM和DRAM,但是为了能够考虑到NVM的磨损均衡,设定当1≤k≤p时,Mk表示NVM,Mp+1表示DRAM,根据不同的k值确定数据存放在NVM的哪个单元,在每个预测时间点获取数据存放初始数组;
S32:在获得初始数组后,找出变量存放位置大于2,即多余存放的情况,保留第一个存储器存放,移出其余存储器;依次获得[τ,τ+1]时间段内运行的程序,[τ,τ+1]时间段内运行所有程序所需调用的每个数据的总写次数;根据总写次数进行数据分配,分成三种情况:数据i在DRAM中;数据i在NVM中;数据i未存放在任何存储器;然后根据每种情况对应的NVM写阈值和容量进行分配,优先将数据分配至NVM。
本发明的有益效果在于:本发明首先分配之前先预测数据读写次数,并且同时兼顾磨损均衡和数据分配两个问题,更加全面;因为考虑到实时程序的执行时间问题,更加符合实际需求;并且本发明不需要依赖任何硬件,具有很好的实用性。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明的数据存储初始化流程图;
图2为NVM和DRAM混合式内存的结构图;
图3为在τ时刻对[τ,τ+1]时间段的运行程序的预测数据进行数据分配流程图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
为了延长NVM的使用寿命,需要对NVM进行磨损均衡,以均衡在NVM上各单元的写操作。如图2所示,为了节省内存消耗,需要对DRAM和NVM进行数据分配。
本发明首先统计各个程序分支预测的数据读写次数和对应的概率,获得各个程序的数据读写期望;然后根据下一个时间段内运行的所有程序信息,通过之前预测的程序信息,统计所有数据的读写期望,以该数据读写期望作为下一时间段内数据分配的基础,使数据分配结果能保证每个时间段实时程序的按时完成;合理分配数据存放在NVM和DRAM以达到数据消耗近乎最小,且该数据分配需要同时满足两个要求,分配在NVM的数据不能超过NVM的存储容量,分配在NVM的数据的总写次数不能超过NVM的写阈值。
图1是本发明的现有数据存放情况的初始化流程图,如图1所示,该流程开始于步骤101,输入一个n行2列数值为0的二维数组T(Di,Mk),T(Di,Mk)=1表示数据Di存放在存储器Mk,T(Di,Mk)=0表示数据Di未存放在存储器Mk,其中1≤i≤n,1≤k≤p+1,当1≤k≤p时,Mk表示NVM,Mp+1表示DRAM,也就是说,当1≤k≤p时,Mk只能存放一个数据,而Mp+1可以存放无数个数据。并且一个数据不能同时存放在NVM或者DRAM,然后:
在步骤102,初始化数据;
在步骤103,开始从D1到Dn的循环,当i≤n开始步骤104,当i>n则跳出循环,这时已经完全更新了数组T(Di,Mk),获得了目前所有数据的存放情况,但是数据需要满足只存放在一个存储器的约束,所以开始了步骤110。
在步骤104,初始化存储器;
在步骤106,开始从M1到Mp+1的循环,当k≤p+1时开始步骤108,当k>p+1时,则跳出循环开始步骤105,判断下一个数据Di+1的存放情况;
在步骤108,判断数据Di是否存放在存储器Mk,如果是,开始步骤109,改变T(Di,Mk)的数值为1,如果否,开始步骤107,判断数据Di是否存放在下一个存储器Mk+1
在步骤110,初始化数据;
在步骤111,开始从D1到Dn的循环,当i≤n开始步骤113,当i>n则跳出循环,开始步骤119,输出目前数据在满足约束条件下的存放信息数组T(Di,Mk),数据的初始化即已完成。
在步骤113,创建一个新的变量sum,赋值为0。初始化存储器。
在步骤115,开始从M1到Mp+1的循环,当当k≤p+1时开始步骤116,当k>p+1时,则跳出循环开始步骤111,判断下一个数据Di+1的存放情况;
在步骤116,sum为数据i存放的存储器个数的和,计算和之后开始步骤117,以判断数据i是否同时存放在两个存储器或者NVM的两个存储空间中,如果是,开始步骤118,使数据i只存放在一个存储器的一个存储空间,然后开始步骤114,使下一个存储器也不能存放数据i,如果否,直接开始步骤114。
在τ时刻对[τ,τ+1]时间段的运行程序的预测数据进行数据分配流程图如图3所示。该流程图开始于步骤301,输入T(Di,Mk),pro(j,ts,te),θ,NVMTS,τ,其中,T(Di,Mk)为图1的输出,pro(j,ts,te)表示程序j在时刻ts开始运行,在时刻te结束运行的数组,v为NVM的存储空间,θ为NVM的写操作阈值,NVMTS为目前为止NVM的总写操作数。
在步骤302,初始化程序。
在步骤303,开始从j1到jn的循环,当j≤n开始步骤305,当i>n则跳出循环,开始步骤307。
在步骤305,判断程序j是否在[τ,τ+1]时间段运行,如果是,到步骤306,其中exe[j]=1表示程序j是在[τ,τ+1]时间段内运行的程序,如果否,到步骤304,判断下一个程序是否在该时间段内运行。
在步骤307,初始化数据。
在步骤309,开始从i1到in的循环,当i≤n开始步骤310,当i>n则跳出循环,开始步骤315。
在步骤310,初始化程序。
在步骤312,开始从j1到jn的循环,当j≤n开始步骤313,当j>n则跳出循环,开始步骤308,判断下一个数据是否在该时间段内运行。
在步骤313,判断程序j是否是在[τ,τ+1]时间段内运行的程序,如果是,开始步骤314,对程序j中的数据i的读写次数进行累加,之后开始步骤311,对程序j+1中数据i的读写次数进行累加,如果否,直接到步骤311。
在步骤315,初始化数据。
在步骤317,开始从i1到in的循环,当i≤n开始步骤318,当i>n则跳出循环,这时已经完成了对[τ,τ+1]时间段内运行数据的分配,于是开始步骤334,输出分配数组。
在步骤318,判断数据i是否是在[τ,τ+1]时间段内运行的数据,如果是,开始步骤319,如果否,开始步骤316,判断数据i+1是否是在[τ,τ+1]时间段内运行的数据。
在步骤319,判断数据i是否已经存放在DRAM,如果是,开始步骤320,如果否,开始步骤322,判断数据i是否已经存放在NVM。
在步骤320,判断数据i是否满足移动至NVM历史写次数最低单元的条件即移动至该单元后这个单元的总写次数小于或等于NVM的写阈值,如果是,开始步骤321,即移动数据i,并更新该单元的历史写次数,开始步骤316,如果否,开始步骤322。
在步骤322,初始化存储器。
在步骤324,开始从M1到Mp的循环,当k≤p开始步骤325,当k>p则跳出循环,开始步骤330,判断数据i是否未存放在任何存储器。
在步骤325,判断数据i是否已经存放在NVM,如果是,开始步骤326,计数器,当count=1时,已经存放在NVM,当count=0,未存放在任何存储器,计数之后开始步骤327,如果否,开始步骤323,判断数据i是否存放在NVM的k+1单元处。
在步骤327,判断数据i是否满足从当前NVM单元至NVM历史写次数最低单元的条件,如果是,开始步骤328,即移动数据i,并更新该单元的历史写次数,开始步骤316,如果否,开始步骤329,将数据i从当前NVM单元移动至DRAM,开始步骤316。
在步骤330,判断数据是否未存放在任何存储器,如果是开始步骤331,如果否,开始步骤316。
在步骤331,判断判断数据i是否满足存放至NVM历史写次数最低单元的条件,如果是,开始步骤332,即存放至NVM,并更新该单元的历史写次数,开始步骤316,如果否,开始步骤333,即存放至DRAM,开始步骤316。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

Claims (4)

1.一种实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,该方法具体包括以下步骤:
S1:根据多个程序的特征结合profiling技术,统计每个程序中各个数据可能的读写操作次数和对应的概率,并且获得每个程序中每个数据的读写期望和最大读写次数;
S2:根据每个时间段内程序的预测运行数据,为各个数据分配合适的存放位置,建立整形线性规划模型和与之相对应的近似算法,编程时获得一个接近最优的结果,使非易失性混合式内存上的消耗和非易失性存储器(non-volatile memory,NVM)上的最大写操作次数尽量减小,并且确保程序在最差读写情况下也能按时完成;具体包括以下步骤:
S21:根据多程序的运行情况,包括程序执行序列和每个程序的执行起始时间,根据步骤S1的结果在规定的时间点τ预测并获得时间段[τ,τ+1]内运行的程序的每个数据读写期望的总和以及最大的读写次数,针对这个时间段的数据进行数据分配以确保每个程序能够按时完成;
S22:规定几个约束条件,建立一个基于概率模型的整形线性规划模型,确保数据分配的实用性:
约束条件1:每个变量必须存放在一个存储器;其中Xi,j,k=1等价于在程序j中的数据i地址为k,p表示为NVM分配p个存储地址,范围为1≤k≤p,为DRAM分配1个存储地址,地址为p+1,size(i)表示数据i的大小;
Figure FDA0002756092180000011
约束条件2:分配在NVM的数据总数不能超过它的存储容量;其中v表示NVM的存储容量;
Figure FDA0002756092180000012
约束条件3:变量分配在NVM的地址必须是连续的;其中l表示数据i的存储地址;
Figure FDA0002756092180000013
约束条件4:分配在NVM的写小于θ,确保磨损均衡;其中θ表示NVM各单元的写阈值,WTE(i)表示数据i的期望写次数;
Figure FDA0002756092180000014
约束条件5:约束时间段[τ,τ+1]的程序准时完成;其中BRD(i,j),BWT(i,j)分别表示数据在程序的最大读写次数,latencyr(k),latencyw(k)分别表示数据在不同存储器的读写延迟,tr表示每个实时程序对应的时间约束;
约束条件5的限制条件一:程序j中最大读写次数在NVM的读写延迟
(1)
Figure FDA0002756092180000021
约束条件5的限制条件二:程序j中最大读写次数在DRAM的读写延迟
(2)
Figure FDA0002756092180000022
约束条件5的约束函数:(Eq.(1)+Eq.(2))≤tr
目标函数:在满足各个约束条件下的最小数据分配消耗;其中costr(k),costw(k)分别表示在不同存储器下的读写消耗;
目标函数的目标条件一:所有程序在NVM的期望读写消耗
(3)
Figure FDA0002756092180000023
目标函数的目标条件二:所有程序在SRAM和DRAM的期望读写消耗
(4)
Figure FDA0002756092180000024
目标函数:min(Eq.(3)+Eq.(4));
S3:把编译好的程序,在实时嵌入式系统上执行,以获得非易失性混合内存上的软件优化。
2.根据权利要求1中所述的实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,所述步骤S1具体包括以下步骤:
S11:根据profiling技术,获得各个程序的分支执行概率,统计所有程序的分支执行概率,获得每个程序中各个数据可能的读写操作次数和对应的概率;
S12:根据每个程序中各个数据可能的读写操作次数和对应的概率,进行整合,获得各个数据在每个程序下对应的读写期望和最大读写次数。
3.根据权利要求1中所述的实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,所述步骤S2中的整形线性规划模型,是根据动态随机存取存储器(dynamicrandom access memory,DRAM)访问速度慢的特性和NVM访问速度快,泄露功率低,动态能耗高,写延迟较长,写次数有限的特性以及嵌入式系统的实时特性构建的模型,以期望在满足实时程序执行时间需求的情况下,将写次数多的数据存放于DRAM,将写次数少的数据存放于NVM已写次数少的单元,在满足NVM磨损均衡的同时获得最小的数据访问能耗。
4.根据权利要求1中所述的实时嵌入式系统中基于非易失性混合式内存的软件优化方法,其特征在于,所述步骤S3具体包括以下步骤:
S31:建立一个数组T(Di,Mk),表示数据Di分配在存储器Mk,设定当1≤k≤p时,Mk表示NVM,Mp+1表示DRAM,根据不同的k值确定数据存放在NVM的哪个单元,在每个预测时间点获取数据存放初始数组;
S32:在获得初始数组后,找出变量存放位置大于2,即多余存放的情况,保留第一个存储器存放,移出其余存储器;依次获得[τ,τ+1]时间段内运行的程序,[τ,τ+1]时间段内运行所有程序所需调用的每个数据的总写次数;根据总写次数进行数据分配,分成三种情况:数据i在DRAM中;数据i在NVM中;数据i未存放在任何存储器;然后根据每种情况对应的NVM写阈值和容量进行分配,优先将数据分配至NVM。
CN201810129990.7A 2018-02-08 2018-02-08 实时嵌入式系统中非易失性混合式内存的软件优化方法 Active CN108268220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810129990.7A CN108268220B (zh) 2018-02-08 2018-02-08 实时嵌入式系统中非易失性混合式内存的软件优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810129990.7A CN108268220B (zh) 2018-02-08 2018-02-08 实时嵌入式系统中非易失性混合式内存的软件优化方法

Publications (2)

Publication Number Publication Date
CN108268220A CN108268220A (zh) 2018-07-10
CN108268220B true CN108268220B (zh) 2020-12-18

Family

ID=62773888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810129990.7A Active CN108268220B (zh) 2018-02-08 2018-02-08 实时嵌入式系统中非易失性混合式内存的软件优化方法

Country Status (1)

Country Link
CN (1) CN108268220B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032446B (zh) * 2019-03-27 2021-05-04 中国科学院微电子研究所 一种应用于嵌入式系统中分配内存空间的方法及装置
CN110618872B (zh) * 2019-09-25 2022-04-15 山东师范大学 混合内存动态调度方法及系统
CN111258789B (zh) * 2020-01-19 2022-03-08 苏州浪潮智能科技有限公司 非易失内存器件剩余寿命预测方法、装置、设备及介质
CN113010112B (zh) * 2021-03-09 2022-11-11 重庆邮电大学 一种基于可变电阻式存储器的数据分配优化方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统
CN103853665A (zh) * 2012-12-03 2014-06-11 华为技术有限公司 存储空间分配方法及设备
CN105786722A (zh) * 2014-12-25 2016-07-20 研祥智能科技股份有限公司 基于异构混合内存的nvm内存擦写控制方法和系统
CN106775476A (zh) * 2016-12-19 2017-05-31 中国人民解放军理工大学 混合内存系统及其管理方法
WO2017107163A1 (zh) * 2015-12-25 2017-06-29 研祥智能科技股份有限公司 基于异构混合内存的内存管理方法和系统
CN107168654A (zh) * 2017-05-26 2017-09-15 华中科技大学 一种基于数据对象热度的异构内存分配方法及系统
CN107526532A (zh) * 2016-06-21 2017-12-29 伊姆西公司 调节存储设备的吞吐量的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853665A (zh) * 2012-12-03 2014-06-11 华为技术有限公司 存储空间分配方法及设备
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统
CN105786722A (zh) * 2014-12-25 2016-07-20 研祥智能科技股份有限公司 基于异构混合内存的nvm内存擦写控制方法和系统
WO2017107163A1 (zh) * 2015-12-25 2017-06-29 研祥智能科技股份有限公司 基于异构混合内存的内存管理方法和系统
CN107526532A (zh) * 2016-06-21 2017-12-29 伊姆西公司 调节存储设备的吞吐量的方法和装置
CN106775476A (zh) * 2016-12-19 2017-05-31 中国人民解放军理工大学 混合内存系统及其管理方法
CN107168654A (zh) * 2017-05-26 2017-09-15 华中科技大学 一种基于数据对象热度的异构内存分配方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于非易失存储的高能效混合主存关键技术研究;蔡晓军.;《中国博士学位论文全文数据库》;20170315(第03期);第I137-11页 *

Also Published As

Publication number Publication date
CN108268220A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108268220B (zh) 实时嵌入式系统中非易失性混合式内存的软件优化方法
US9898212B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
CN103902474B (zh) 一种支持固态盘缓存动态分配的混合存储系统和方法
US8977803B2 (en) Disk drive data caching using a multi-tiered memory
US9846641B2 (en) Variability aware wear leveling
US7224604B2 (en) Method of achieving wear leveling in flash memory using relative grades
CN102880556B (zh) 一种实现Nand Flash磨损均衡的方法及其系统
CN109471594B (zh) 一种mlc闪存读写方法
KR20090077538A (ko) 반도체 메모리 장치 및 그것의 마모도 관리 방법
CN109324979B (zh) 3d闪存固态盘系统的数据缓存划分方法及数据分配方法
CN115373591A (zh) 存储器子系统中根据选定调度排序的命令调度
US11698742B2 (en) Garbage collection in a memory component using an adjusted parameter
CN116364148A (zh) 一种面向分布式全闪存储系统的磨损均衡方法及系统
CN114185492A (zh) 一种基于强化学习的固态硬盘垃圾回收算法
JP5579135B2 (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
JP2013196161A (ja) 半導体記憶装置の制御方法
CN102169464A (zh) 一种用于非易失性存储器的缓存方法、装置及智能卡
CN111273865B (zh) 一种基于可变便笺式存储器的任务分配及调度方法
JP2023039459A (ja) メモリシステムおよび方法
KR100970537B1 (ko) Ssd 관리 장치 및 방법
CN113010112B (zh) 一种基于可变电阻式存储器的数据分配优化方法
CN114995753B (zh) 一种提高3dnand固态硬盘可靠性的方法及装置
CN118467185B (zh) 负载请求处理方法、装置、设备、存储介质及程序产品
CN111949199B (zh) 一种存储设备的数据写入方法、装置及存储设备
CN111949197B (zh) 一种3d tlc闪存存储器及其数据写入方法和装置

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