CN109521949A - 一种基于混合便签式存储器的感知写频率数据分配方法 - Google Patents
一种基于混合便签式存储器的感知写频率数据分配方法 Download PDFInfo
- Publication number
- CN109521949A CN109521949A CN201811001058.2A CN201811001058A CN109521949A CN 109521949 A CN109521949 A CN 109521949A CN 201811001058 A CN201811001058 A CN 201811001058A CN 109521949 A CN109521949 A CN 109521949A
- Authority
- CN
- China
- Prior art keywords
- nvm
- sram
- data variable
- write
- write operation
- 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.)
- Pending
Links
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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0625—Power saving in 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
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
本发明提供了一种基于混合SRAM和NVM便签式存储器的存储架构,并提供了基于所述存储架构的数据分配方法,目的是减少NVM上的写操作数量,延长NVM寿命。所述方法包括:在系统架构上,由SRAM和NVM组成便签式存储器,实现混合片上存储器;在程序执行过程中,计算写操作频率和写阈值,当写操作频率小于写阈值时,则认为此数据的写频率较低,应存放在NVM中;当写操作频率大于写阈值时,则认为此数据的写频率较高,应存放在SRAM中。在存放时,若NVM已满,则将当前数据与NVM中写操作次数最多的数据进行比较,选择写操作频率低的存入NVM,写操作频率高的存入SRAM,若SRAM也已满,则存入DRAM。
Description
技术领域
本发明设计了一种基于混合SRAM和NVM便签式存储器的感知写频率数据变量分配方法,特别涉及一种可以减少NVM上写操作数量、延长NVM寿命的数据变量分配方法,应用于嵌入式系统,属于嵌入式系统性能优化相关领域。
背景技术
嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。Cache容量小、速度快,存放的是一段时间微处理器使用最多的程序代码和数据。主存用来存放系统和用户的程序及数据,辅助存储器用来存放大数据量的程序代码或信息。
便签式存储器(scratchpad memory,SPM)是一种高速内部存储器,用于临时存储计算、数据或其他正在进行中的工作。由于SPM是寄存器之后与算术逻辑单元(ALU)最接近的存储器,具有将数据移入和一出主存储器的明确指令,因此,SPM被认为类似于L1高速缓存。与Cache一样,SPM也是片上存储器,但SPM由应用程序显示操作,能够更好地在嵌入式系统中实现应用。
由于中央处理器单元(CPU)和存储器之间的性能差距正在扩大,性能优化变得更加重要。目前,便签式存储器已经广泛应用于嵌入式系统中,以取代硬件控制的Cache。这是因为与Cache相比,SPM具有三个主要优点,首先SPM直接寻址,不需要比较器和标签;其次,SPM通常保证单周期访问延迟;第三,SPM完全由软件管理,可以直接通过应用程序或自动编译器管理。
随机存取存储器(random access memory,RAM)又称作“随机存储器”,按照存储单元的工作原理,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。SRAM主要用于高速缓存,它利用晶体管来存储数据,与DRAM 相比,SRAM的速度快,但在相同面积中SRAM的容量要比其他类型的内存小。由于SRAM 速度快但价格昂贵的特点,一般用小容量的SRAM作为更高速CPU和较低速DRAM之间的缓存。
非易失存储器(non-volatile memory,NVM)是一种新型存储器,即使在电源关闭或重启后也可以检索存储信息,具有非易失、按字节存取、存储密度高、低待机能耗的优势,读写性能接近DRAM,但读写速度不对称,写入耐久性较差,寿命有限。
随着片上系统设计水平的不断提高,嵌入式设备具有体积小,功能越来越多的特点,特别是在实时系统中,可以准确计算任务执行时间,这就使得嵌入式系统需要优化性能来减少任务执行时间或执行更多任务。为了优化性能,具有快速,低功耗,可靠性的静态随机存取存储器(SRAM)已被用于片上存储器。然而,SRAM具有高价格,低容量和易失性的一些缺点。因此,希望将非易失性存储器NVM集成到系统中,以避免数据丢失并减少能量消耗。
NVM具有大容量、低价格和低开销的特性,但它的缺点也是明确的。首先,NVM读操作和写操作的速度和成本不对称;其次,NVM对写入操作次数有限制;第三,NVM的写入延迟比SRAM慢。因此,利用由SRAM和NVM组成的混合片上存储器来实现嵌入式系统的性能优化。
发明内容
本发明针对以上现存问题以及片上存储器的特征设计出一种混合SRAM和NVM的存储体系结构及相应的数据变量分配方法。SRAM和NVM组合在一起做便签式存储器。在此存储架构上,针对混合存储的特点,提出所需的数据变量分配方法。
在本发明的存储架构中,包括片上存储器SPM和片外主存储器。由SRAM和NVM 组成的SPM与CPU紧密耦合,并且CPU通过共享总线和存储器控制器访问片外主存储器。当数据传输成本恒定的情况下,访问片上SPM速度快并且消耗的能量少,但片上SPM容量有限;片外主存储器容量大,但访问时会导致较长的时间延迟并消耗大量能量。
本发明的数据变量分配方法适应本发明的存储架构,提供了动态数据变量管理服务,目的是为了减少NVM上的写操作次数,延长NVM寿命来延长系统寿命。
基于以上的目的和设计,本发明为减少NVM上的写操作次数,核心思想是通过比较写操作频率,将写操作频率不高的数据存放在NVM中,将写操作频率高的数据存放在SRAM中。
具体的,数据变量分配方法提供以下通用功能。
实现感知写频率的数据变量分配方法。在程序开始执行后,通过收集分支执行概率和数据变量的写操作次数,计算写操作频率和写阈值;通过比较写操作频率和写阈值,决定数据变量存放到SRAM还是NVM。
一些数据变量在程序执行过程中具有高频率的写操作,一些数据变量在程序执行过程中具有低频率的写操作。将写操作频率高的数据变量存入SRAM,将写操作频率低的数据变量存入NVM。
为了实现以上功能,本发明提出了感知写频率的数据变量分配方法,该方法通过以下策略实现。
当程序开始执行时,控制程序收集当前执行程序的分支执行概率,以及数据变量的写操作次数。目的是为了计算数据变量的写操作频率和写阈值,从而决定将数据变量存入SRAM 还是NVM。
进一步的,计算写阈值,并将数据变量的写操作频率与其进行比较。目的是为了判断数据变量是高频写数据变量还是低频写数据变量。
进一步的,将写操作频率大于写阈值的数据变量定义为高写操作频率的数据变量,将写操作频率小于写阈值的数据变量定义为低写操作频率的数据变量。
对[0019]中所述情况,高写操作频率的数据变量应当存入SRAM中。
进一步的,如果SRAM没有多余的空间来存储更多数据变量,那么考虑SRAM中的数据变量和高写操作频率的数据变量,其中写操作频率高的数据变量应存入SRAM中,而写操作频率最低的应存入主存中。目的在于减少对NVM的写操作次数的同时,避免不必要的写延迟。
对[0019]中所述情况,低写操作频率的数据变量应当存入NVM中。
[0020]和[0022]的目的是根据写操作频率决定数据变量的存储位置,从而减少频繁写操作数据对NVM的写入。
对于[0022]中所述情况,如果NVM没有多余的空间来存储更多数据变量,那么将对NVM中适合的数据进行交换。具体交换规则如下。
选择NVM中写操作数量最多的数据变量,计算选择的数据变量的写操作频率。
进一步的,比较二者的写操作频率,目的是避免数据变量的写操作频率过高而导致的对NVM的频繁写入。
进一步的,将写操作频率低的数据变量存放在NVM中,将写操作频率高的存放在SRAM中。目的在于保存所需数据。
对于[0027]中所述情况,如果SRAM中没有多余的空间来存储更多的数据变量,那么将其存入主存中。
以下结合其中一种实现方法对[0024]进行作进一步的阐述,但是应该理解,这些描述只是示例的,而并非要限制本发明的范围。建立一个写操作频率状态表存放在NVM中,用来记录每个数据变量的写操作频率和当前此数据变量存放在NVM还是SRAM,并对其按照写操作频率由高到低进行排序。当有低写操作频率的数据变量需要存储到NVM中,而NVM 又存放满了,则查看写操作频率状态表,选择表头的数据变量,如果表头数据变量的写操作频率大,则交换这两个数据变量。
本发明的优点和有益效果如下:
本发明所提供的方法中的存储架构使用SRAM和NVM的混合存储架构,对比原本只使用SRAM的存储架构,可以充分利用NVM的非易失性和低待机能耗,以及SRAM在写操作上的高效率。
本发明所提供的方法是一种将NVM应用在嵌入式系统片上存储器中的可行方法。
本发明所提供的方法能够有效减少NVM上的写操作次数,以至于能够延长NVM的使用寿命,延长整个系统的使用寿命。
附图说明
图1是本发明的系统架构图
图2是本发明的存储控制流程图
具体实施方式
以下结合附图对本发明作进一步的阐述,但是应该理解,这些描述只是示例的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1所示为本发明的系统体系架构图,SRAM和NVM组合在一起成为片上存储器SPM。基于DRAM的主存作为片外存储器直接与存储器控制器相连。
如图1所示,中央处理器单元(CPU)直接与混合SPM相连,并通过存储器控制器与主存相连,中央处理器单元可以通过内存控制器读取数据。
如图1所示,USB控制单元,图形适配器,硬盘控制单元等及其他低速设备通过总线与内存控制器相连。
如图2所示为本发明的存储控制流程图。下面结合图2,对本发明方案进行解释说明。所述方法包括:
当程序开始执行时,控制程序收集分支执行概率和数据变量的写操作次数。
根据分支执行概率和数据变量的写操作次数,计算数据变量的写操作频率。
控制程序计算当前系统运行状态的实时写阈值。
步骤101,将当前数据变量的写操作频率与写阈值进行比较。
进一步的,如果当前数据变量的写操作频率大于写阈值,则当前数据变量被认为是高写频率的数据变量,应存放到SARM中。
步骤102,判断当前状态下,SRAM是否已满。
进一步的,如果当前状态下,SRAM已满,则将数据变量存入基于DRAM的主存中;如果当前状态下,SRAM未满,则将数据变量存入SRAM中。
在101步骤中,如果当前数据变量的写操作频率小于写阈值,则当前数据变量被认为是低写频率的数据变量,可以被存入NVM中。
步骤103,判断当前状态下,NVM是否已满。
在103步骤中,如果当前状态下NVM未满,则将当前数据变量存入NVM中。
在103步骤中,如果当前状态下NVM已满,则选择NVM中写操作数最大的数据变量,并进行步骤104。
步骤104,比较当前数据变量和选中数据变量的写操作频率。
在步骤104中,如果当前数据变量的写操作频率小于选中数据变量的写操作频率,则当前数据变量被认为是写操作频率较低的数据变量,应当被存入NVM中。
进一步的,选中的数据变量被认为是写操作频率较高的数据变量,应当从NVM中换出,因此进行步骤105。
在步骤104中,如果当前数据变量的写操作频率大于选中数据变量的写操作频率,则选中的数据变量被认为是写频率较低的数据变量,应当保留在NVM中。
进一步的,当前数据变量被认为是写频率较高的数据变量,应当被存入SRAM中,并进行步骤106。
步骤105,判断当前状态下,SRAM是否已满。
进一步的,如果当前状态下,SRAM已满,则将选中的数据变量存入主存中;如果当前状态下,SRAM未满,则将选中的数据变量存入SRAM中。
步骤106,判断当前状态下,SRAM是否已满。
进一步的,如果当前状态下,SRAM已满,则将当前数据变量存入主存中;如果当前状态下,SRAM未满,则将当前数据变量存入SRAM中。
以上这些阐述应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载内容之后,技术人员可以对本发明做各种修改或改进,这些等效变化和修饰同样落入本发明方法权利要求所限定的范围。
Claims (8)
1.一种基于静态随机存取存储器SRAM和非易失性存储器NVM混合便签式存储器的感知写频率数据变量分配方法,其特征在于包括一个存储体系结构:基于SRAM和NVM的混合片上存储器和基于DRAM的片外主存,并在此体系结构的基础上实现了一个感知写频率的数据变量分配方法,其目的在于减少NVM的写次数,延长NVM的寿命,其动态体现在随着程序的执行,数据变量根据发明方法自动在SRAM和NVM之间迁移。
2.根据权利要求1所述的存储体系结构,其特征在于,体系结构中SRAM和NVM共同构成便签式存储器SPM,与CPU相连,主存由DRAM构成,直接与内存控制器相连。从而形成基于SRAM和NVM的混合片上存储器和基于DRAM的片外主存。
3.根据权利要求1所述的感知写频率数据变量分配方法,其特征在于,方法可以适应新型存储体系结构,能够计算写阈值和数据变量的写操作频率,动态地将数据变量分配到SRAM和NVM中。
4.根据权利要求1所述的感知写频率数据变量分配方法,其特征在于,程序在开始执行时,较高写操作频率的数据变量将先存储到SRAM直至将SRAM装满,较低写操作频率的数据变量存储在NVM。
5.根据权利要求1所述的感知写频率数据变量分配方法,其特征在于,根据算法计算写阈值和数据变量的写操作频率,通过比较写阈值和写操作频率,决定数据变量存放到NVM还是SRAM。
6.根据权利要求1所述的感知写频率数据变量分配方法,其特征在于,能够根据写操作频率比较决定数据变量是否迁移。
7.根据权利要求1所述的感知写频率数据变量分配方法,其特征在于,在NVM没有多余空间来存储更多数据变量的时候,比较当前数据变量和NVM中数据变量的写操作频率,写操作频率低的存放到NVM,高的存放到SRAM。
8.根据权利要求1所述的感知写频率数据变量分配方法,其特征在于,程序在执行过程中,数据变量分配的目的是减少NVM的写次数来延长NVM的寿命。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811001058.2A CN109521949A (zh) | 2018-08-30 | 2018-08-30 | 一种基于混合便签式存储器的感知写频率数据分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811001058.2A CN109521949A (zh) | 2018-08-30 | 2018-08-30 | 一种基于混合便签式存储器的感知写频率数据分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109521949A true CN109521949A (zh) | 2019-03-26 |
Family
ID=65770687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811001058.2A Pending CN109521949A (zh) | 2018-08-30 | 2018-08-30 | 一种基于混合便签式存储器的感知写频率数据分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109521949A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851273A (zh) * | 2019-10-31 | 2020-02-28 | 山东省计算中心(国家超级计算济南中心) | 一种基于混合内存的程序处理方法和基于混合内存的设备 |
CN110955529A (zh) * | 2020-02-13 | 2020-04-03 | 北京一流科技有限公司 | 内存资源静态部署系统及方法 |
CN111312147A (zh) * | 2020-03-04 | 2020-06-19 | 合肥慧创半导体科技有限公司 | 一种分离式显示屏驱动芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN106775476A (zh) * | 2016-12-19 | 2017-05-31 | 中国人民解放军理工大学 | 混合内存系统及其管理方法 |
CN107193497A (zh) * | 2017-05-22 | 2017-09-22 | 电子科技大学 | 一种基于ram和nvm混合内存的汽车ecu数据动态管理方法 |
CN107910031A (zh) * | 2016-09-16 | 2018-04-13 | 上海博维逻辑半导体技术有限公司 | 混合非易失性存储器结构及其方法 |
-
2018
- 2018-08-30 CN CN201811001058.2A patent/CN109521949A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN107910031A (zh) * | 2016-09-16 | 2018-04-13 | 上海博维逻辑半导体技术有限公司 | 混合非易失性存储器结构及其方法 |
CN106775476A (zh) * | 2016-12-19 | 2017-05-31 | 中国人民解放军理工大学 | 混合内存系统及其管理方法 |
CN107193497A (zh) * | 2017-05-22 | 2017-09-22 | 电子科技大学 | 一种基于ram和nvm混合内存的汽车ecu数据动态管理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851273A (zh) * | 2019-10-31 | 2020-02-28 | 山东省计算中心(国家超级计算济南中心) | 一种基于混合内存的程序处理方法和基于混合内存的设备 |
CN110851273B (zh) * | 2019-10-31 | 2022-07-15 | 山东省计算中心(国家超级计算济南中心) | 一种基于混合内存的程序处理方法和基于混合内存的设备 |
CN110955529A (zh) * | 2020-02-13 | 2020-04-03 | 北京一流科技有限公司 | 内存资源静态部署系统及方法 |
CN111312147A (zh) * | 2020-03-04 | 2020-06-19 | 合肥慧创半导体科技有限公司 | 一种分离式显示屏驱动芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230325320A1 (en) | Method and apparatus for controlling cache line storage in cache memory | |
US7904659B2 (en) | Power conservation via DRAM access reduction | |
Wang et al. | Exploring hybrid memory for GPU energy efficiency through software-hardware co-design | |
US11977484B2 (en) | Adapting in-memory database in hybrid memory systems and operating system interface | |
Stuecheli et al. | Elastic refresh: Techniques to mitigate refresh penalties in high density memory | |
US7899990B2 (en) | Power conservation via DRAM access | |
US7958312B2 (en) | Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state | |
CN100356348C (zh) | 一种支持处理器的功率操作模式的高速缓存存储器 | |
JP5845382B2 (ja) | ダイナミックメモリ電力管理のためのシステムおよび方法 | |
US10452539B2 (en) | Simulator for enterprise-scale simulations on hybrid main memory systems | |
JPH0950401A (ja) | キャッシュメモリ及びそれを備えた情報処理装置 | |
US10365842B2 (en) | System and method for reducing power consumption of memory | |
CN101346701A (zh) | 降低正在被供电的存储体的数量 | |
KR20130115090A (ko) | 캐시 제어를 위한 방법 및 장치 | |
CN102841674B (zh) | 基于新型存储器的嵌入式系统及其进程的休眠与唤醒方法 | |
CN109521949A (zh) | 一种基于混合便签式存储器的感知写频率数据分配方法 | |
CN104778126A (zh) | 非易失性主存中事务数据存储优化方法及系统 | |
CN104572497B (zh) | 通过计数逐出进行的动态高速缓存扩大 | |
CN102346682A (zh) | 信息处理装置及信息处理方法 | |
CN110427158A (zh) | 固态硬盘的写入方法及固态硬盘 | |
US10977172B2 (en) | Memory page reclamation in a user idle mode | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
CN102681792B (zh) | 一种固态盘内存分区方法 | |
JP2014191521A (ja) | マルチコアプロセッサおよび制御方法 | |
KR20050035699A (ko) | 메모리 시스템의 에너지 절감 방법 및 장치 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190326 |
|
WD01 | Invention patent application deemed withdrawn after publication |