CN110221984A - 存储系统的建立方法、装置、存储系统和访问方法 - Google Patents
存储系统的建立方法、装置、存储系统和访问方法 Download PDFInfo
- Publication number
- CN110221984A CN110221984A CN201910376820.3A CN201910376820A CN110221984A CN 110221984 A CN110221984 A CN 110221984A CN 201910376820 A CN201910376820 A CN 201910376820A CN 110221984 A CN110221984 A CN 110221984A
- Authority
- CN
- China
- Prior art keywords
- buffer area
- address
- access
- storage system
- mentioned
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 269
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000000872 buffer Substances 0.000 claims abstract description 220
- 230000015654 memory Effects 0.000 claims abstract description 175
- 238000010276 construction Methods 0.000 claims abstract description 56
- 230000004044 response Effects 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 108010001267 Protein Subunits Proteins 0.000 claims 1
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000013028 medium composition Substances 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种存储系统的建立方法、装置、存储系统和访问方法。该存储系统基于初始存储系统构建,初始存储系统包括初始内存单元和外部存储单元,构建方法包括:在初始内存单元中构建非易失存储器,剩余的初始内存单元为内存单元;在非易失存储器中构建非易失堆;在非易失堆上构建缓冲区。将至少部分NVM作为DRAM形成的内存单元和flash形成的外部存储单元之间的非易失缓冲区,以缓冲外部存储单元中的数据,这样使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长。
Description
技术领域
本申请涉及存储领域,具体而言,涉及一种存储系统的建立方法、装置、存储系统和访问方法。
背景技术
近年来,随着物联网的兴起和通信手段的进步,嵌入式系统的应用场景大大拓展,嵌入式系统的数量快速增长,嵌入式系统的性能取决于CPU的数据处理能力和存储系统的数据响应能力,随着集成电路工艺的发展,CPU性能和存储系统的性能的差距越来越大,CPU的数据处理的速度远高于存储系统的数据响应的速度,存储系统在数据响应能力很难满足现实场景的需求。
目前,如图1所示,通用的存储系统包括三个存储器,分别为由SRAM构成的高速缓存(cache)器01、由DRAM构成的内存器02以及由flash构成的外部存储器03。这三种存储器件,读写速度依次降低,单位存储容量的价格依次降低。
为了保证存储系统的读写性能,在CPU的读写路径上,高速缓存离CPU最近,外部存储离CPU最远;为了降低嵌入式系统的价格,高速缓存的容量最小,只存储某一时刻正在使用的少量数据,外部存储的容量最大,存储了所有的文件数据。
这一存储系统中,用于内存的DRAM器件和用于外部存储的flash之间在读写性能上有较大的差距,DRAM的读写速度约为10纳秒,而flash的读写速度约为10-25微秒,相差三个数量级,这一较大的差距最终限制了整个存储系统的数据响应能力。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种存储系统的建立方法、装置、存储系统和访问方法,以解决现有技术中存储系统的数据响应速度较慢,难以满足现有技术的需求的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种存储系统的构建方法,所述存储系统基于初始存储系统构建,所述初始存储系统包括初始内存单元和外部存储单元,所述构建方法包括:在所述初始内存单元中构建非易失存储器,剩余的所述初始内存单元为内存单元;在所述非易失存储器中构建非易失堆;在所述非易失堆上构建缓冲区。
进一步地,在初始内存单元中构建非易失存储器包括:将初始内存单元中的堆段的地址映射到非易失存储器的物理地址上,形成所述非易失存储器。
进一步地,将初始内存单元中的堆段的地址映射到非易失存储器的物理地址上包括:将所述堆段的起始地址变量设置为非易失存储器的起始地址;将所述堆段的空间大小变量设置为非易失存储器的存储容量。
进一步地,在所述非易失存储器中构建非易失堆包括:将所述非易失存储器的中的预定地址作为所述非易失堆的起始地址;将预定容量作为所述非易失堆的容量,形成所述非易失堆,其中,所述预定容量小于或者等于第一存储容量且小于或等于所述第二存储容量,所述第一存储容量为所述预定地址与所述非易失存储器的起始地址之间的存储容量,所述第二存储容量为所述预定地址与所述非易失存储器的终止地址之间的存储容量,优选地,在所述非易失堆上构建缓冲区包括:选取所述非易失堆的至少部分内存作为缓冲区。
为了实现上述目的,根据本申请的一个方面,提供了一种存储系统,采用任一项所述的构建方法形成。
为了实现上述目的,根据本申请的再一个方面,提供了一种存储系统的构建装置,所述存储系统基于初始存储系统构建,所述初始存储系统包括初始内存单元和外部存储单元,所述构建装置包括:第一构建单元,用于在所述初始内存单元中构建非易失存储器,剩余的所述初始内存单元为内存单元;第二构建单元,用于在所述非易失存储器中构建非易失堆;第三构建单元,用于在所述非易失堆上构建缓冲区。
为了实现上述目的,根据本申请的又一个方面,提供了一种所述存储系统的访问方法,所述存储系统包括内存单元、缓冲区以及外部存储单元,其中,所述外部存储单元包括多个存储子单元,所述访问方法包括:根据访问的信息获取所述存储子单元的目标地址和数据的容量;根据所述目标地址确定所述缓冲区的访问地址;对位于所述访问地址的所述缓冲区的进行访问。
进一步地,根据所述目标地址确定所述缓冲区的访问地址包括:采用hash函数对所述目标地址进行处理,得到hash值;根据所述hash值确定所述缓冲区的访问地址,优选地,对位于所述访问地址的所述缓冲区的进行访问包括:对位于所述访问地址的所述缓冲区进行读操作;和/或对位于所述访问地址的所述缓冲区进行写操作,进一步优选地,对位于所述访问地址的所述缓冲区进行读操作包括:检测位于所述访问地址的所述缓冲区中是否存储有所述目标地址;响应于所述缓冲区中存储有所述目标地址,读取所述缓冲区中的数据。
进一步地,对位于所述访问地址的所述缓冲区进行读操作还包括:响应于所述缓冲区中未存储有所述目标地址,检测位于所述访问地址的所述缓冲区是否被占用;响应于位于所述访问地址的至少一个所述缓冲区未被占用,将位于所述目标地址的所述存储子单元中的预定读取数据写入到位于所述访问地址的且未被占用的所述缓冲区;读取位于所述访问地址的所述缓冲区的所述预定读取数据,优选地,对位于所述访问地址的所述缓冲区进行读操作还包括:响应于位于所述访问地址的所述缓冲区均被占用,将位于所述访问地址的所述缓冲区的数据写入所述外部存储单元,得到未被占用的所述缓冲区;将位于所述目标地址的所述存储子单元的所述预定读取数据读取到未被占用的所述缓冲区;读取位于所述访问地址的所述缓冲区的所述预定读取数据。
进一步地,对位于所述访问地址的所述缓冲区进行写操作包括:检测所述位于所述访问地址的所述缓冲区中是否存储有所述目标地址;响应于所述缓冲区中存储有所述目标地址,将预定写入数据写入所述缓冲区,优选地,对位于所述访问地址的所述缓冲区进行写操作还包括:响应于所述缓冲区中未存储有所述目标地址,检测位于所述访问地址的所述缓冲区是否被占用;响应于位于所述访问地址的至少一个所述缓冲区未被占用,将所述预定写入数据写入到未被占用的所述缓冲区,进一步优选地,对位于所述访问地址的所述缓冲区进行写操作还包括:响应于位于所述访问地址的所述缓冲区均被占用,将位于所述访问地址的所述缓冲区中的数据写入到所述外部存储单元,得到未被占用的缓冲区;将所述预定写入数据写入位于所述访问地址的所述缓冲区。
应用本申请的技术方案,该构建方法中,首先在初始内存单元中构建非易失存储器,然后,构建非易失堆,最后,在非易失堆上构建缓冲区,形成包括内存单元、外部存储单元以及位于内存单元和外部存储单元之间的缓冲区的存储系统,该缓冲区为非易失存储器的缓冲区,非易失存储器NVM是一类新型的存储器件,常见的器件有PCM、FeRAM、MRAM和RRAM等。这类器件除了具有接近于DRAM的读写速度、高于DRAM的存储密度外,还具有静态功耗低、非易失、可按字节访问的特性。NVM的读写速度接近于DRAM,而远大于flash。因此NVM的综合性能介于DRAM与flash之间,将NVM的至少部分作为DRAM形成的内存单元和flash形成的外部存储单元之间的非易失缓冲区,以缓冲外部存储单元中的数据,这样使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了现有技术中的一种存储系统的结构示意图;
图2示出了根据本申请的存储系统的构建方法的实施例的流程示意图;
图3示出了本申请的一种存储系统的结构示意图;
图4示出了根据本申请的存储系统的构建装置的实施例的结构示意图;
图5示出了hash值与缓冲区的对应关系;
图6示出了本申请的一种实施例中的存储系统的读取过程的流程示意图;
图7示出了本申请的一种实施例中的存储系统的写入过程的流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
本申请的相关术语如下:
非易失存储器,英文为Non Volatile Memory,简称NVM;
静态随机存储器,英文为Static Random Access Memory,简称SRAM;
动态随机存储器,英文为Dynamic Random Access Memory,简称DRAM。
现有技术中,存储系统的数据响应速度较慢,难以满足现有技术的需求,为了解决这一问题,根据本申请的实施例,提供了一种存储系统的构建方法。
图2是根据本申请实施例的存储系统的构建方法的流程图。上述存储系统基于初始存储系统构建,上述初始存储系统包括初始内存单元和外部存储单元,如图2所示,该方法包括以下步骤:
步骤S101,在上述初始内存单元中构建非易失存储器,剩余的上述初始内存单元为内存单元;
步骤S102,在上述非易失存储器中构建非易失堆;
步骤S103,在上述非易失堆上构建缓冲区。
该构建方法中,首先在初始内存单元中构建非易失存储器,然后,构建非易失堆,最后,在非易失堆上构建缓冲区,形成如图3所示的包括内存单元11、外部存储单元20以及位于内存单元和外部存储单元之间的非易失器12的存储系统,其中,非易失存储器包括非易失堆,非易失堆包括缓冲区120,为了使结构清晰,图3将缓冲区从非易失存储器12中独立出来,该图更能表明从访问顺序上,缓冲区位于内存和外部存储之间,该缓冲区为非易失存储器的缓冲区,非易失存储器NVM是一类新型的存储器件,常见的器件有PCM、FeRAM、MRAM和RRAM等。这类器件除了具有接近于DRAM的读写速度、高于DRAM的存储密度外,还具有静态功耗低、非易失、可按字节访问的特性。NVM的读写速度接近于DRAM,而远大于flash。因此NVM的综合性能介于DRAM与flash之间,将NVM的至少部分作为DRAM形成的内存单元和flash形成的外部存储单元之间的非易失缓冲区,以缓冲外部存储单元中的数据,这样使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
需要说明的是,本申请的构建方法构建得到的存储系统中,有的非易失堆全部构建为缓冲区,有的只是部分非易失堆构建为缓冲区,如图3示出的为部分非易失堆构建为缓冲区。
该存储系统可以应用在嵌入式实时操作系统FreeRTOS和嵌入式文件系统FatFS中,当然,还可以应用在其他的合适系统中。
存储系统为程序分配的内存空间通常由几个段组成,传统的内存由单一的DRAM存储介质组成,所有的内存段都分布在DRAM内存上。本申请的在实际的构建过程中,可以将初始内存单元中的堆段的地址映射到非易失存储器的物理地址上,形成上述非易失存储器,即完成了在上述初始内存单元中构建非易失存储器的过程。
具体地,将初始内存单元中的堆段的地址映射到非易失存储器的物理地址上包括:将上述堆段的起始地址变量设置为非易失存储器的起始地址;将上述堆段的空间大小变量设置为非易失存储器的存储容量。例如,在FreeRTOS中,将参数configAPPLICATION_ALLOCATED_HEAP设置为1后,用户可以自行设置堆的存储位置和空间大小。堆的起始地址变量为ucHeap,堆的空间大小变量为configTOTAL_HEAP_SIZE,将这两个变量分别设置为NVM的起始地址和存储容量,则程序的堆段就可以映射到NVM的地址空间上了。
本申请的一种实施例中,在上述非易失存储器中构建非易失堆包括:将上述非易失存储器的中的预定地址作为上述非易失堆的起始地址;将预定容量作为上述非易失堆的容量,形成上述非易失堆,其中,上述预定容量小于或者等于第一存储容量且小于或等于上述第二存储容量,上述第一存储容量为上述预定地址与上述非易失存储器的起始地址之间的存储容量,上述第二存储容量为上述预定地址与上述非易失存储器的终止地址之间的存储容量。上述预定地址可以为非易失存储器的任意一个地址,可以为起始地址,也可以为其他的地址,预定容量则肯定小于非易失存储器的容量。即实际上,可以将整个的非易失存储器均构建为非易失堆,也可以将其中的部分构建为非易失堆。
在形成非易失堆后,上述非易失堆上构建缓冲区包括:选取上述非易失堆的至少部分内存作为缓冲区。具体可以调用pvPortMalloc()函数,在非易失堆上为缓冲区分配存储空间。
具体的应用过程中,可以选取非易失堆中的部分作为缓冲区,也可以将其整体作为缓冲区,具体可以根据实际需求来选择。
本申请的另一种实施例中,提供了一种存储系统,该存储系统由上述的构建方法构建而成。
上述存储系统采用上述的构建方法构建形成,使得该存储系统中不仅包括内存单元和外部存储单元,还包括介于二者之间的非易失的缓冲区。该缓冲区可以缓冲外部存储单元中的数据,使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
本申请的另一种实施例中,提供了一种存储系统,该存储系统包括内存空间和外部存储空间,其中,如图3所示,内存空间包括内存单元11和非易失的缓冲区120,外部存储空间包括外部存储单元20。
该系统中,由于内部存储空间中不仅包括内存单元,还包括非易失的缓冲区,该缓冲区可以缓冲外部存储单元中的数据,使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
本申请实施例还提供了一种存储系统的构建装置,需要说明的是,本申请实施例的存储系统的构建装置可以用于执行本申请实施例所提供的用于存储系统的构建方法。以下对本申请实施例提供的存储系统的构建装置进行介绍。
图4是根据本申请实施例的存储系统的构建装置的示意图。上述存储系统基于初始存储系统构建,上述初始存储系统包括初始内存单元和外部存储单元,如图4所示,该装置包括:
第一构建单元100,用于在上述初始内存单元中构建非易失存储器,剩余的上述初始内存单元为内存单元;
第二构建单元200,用于在上述非易失存储器中构建非易失堆;
第三构建单元300,用于在上述非易失堆上构建缓冲区。
该构建装置中,第一构建单元在初始内存单元中构建非易失存储器,第二构建单元用于在上述非易失存储器中构建非易失堆;第三构建单元在非易失堆上构建缓冲区,形成包括内存单元、外部存储单元以及位于内存单元和外部存储单元之间的缓冲区,该缓冲区为非易失存储器的缓冲区,非易失存储器NVM是一类新型的存储器件,常见的器件有PCM、FeRAM、MRAM和RRAM等。这类器件除了具有接近于DRAM的读写速度、高于DRAM的存储密度外,还具有静态功耗低、非易失、可按字节访问的特性。NVM的读写速度接近于DRAM,而远大于flash。因此NVM的综合性能介于DRAM与flash之间,将NVM的至少部分作为DRAM形成的内存单元和flash形成的外部存储单元之间的非易失缓冲区,以缓冲外部存储单元中的数据,这样使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
需要说明的是,本申请的构建方法构建得到的存储系统中,有的非易失堆全部构建为缓冲区,有的只是部分非易失堆构建为缓冲区,如图3示出的为部分非易失堆构建为缓冲区。
该存储系统可以应用在嵌入式实时操作系统FreeRTOS和嵌入式文件系统FatFS中,当然,还可以应用在其他的合适系统中。
存储系统为程序分配的内存空间通常由几个段组成,传统的内存由单一的DRAM存储介质组成,所有的内存段都分布在DRAM内存上。本申请的在实际的构建装置中,第一构建单元可以将初始内存单元中的堆段的地址映射到非易失存储器的物理地址上,形成上述非易失堆,即完成了在上述初始内存单元中构建非易失存储器的过程。
具体地,第一构建单元包括第一设置模块和第二设置模块,其中,第一设置模块用于将上述堆段的起始地址变量设置为非易失存储器的起始地址;第二设置模块用于将上述堆段的空间大小变量设置为非易失存储器的存储容量。例如,在FreeRTOS中,将参数configAPPLICATION_ALLOCATED_HEAP设置为1后,用户可以自行设置堆的存储位置和空间大小。堆的起始地址变量为ucHeap,堆的空间大小变量为configTOTAL_HEAP_SIZE,将这两个变量分别设置为NVM的起始地址和存储容量,则程序的堆段就可以映射到NVM的地址空间上了。
本申请的一种实施例中,第二构建单元用于将上述非易失存储器的中的预定地址作为上述非易失堆的起始地址;将预定容量作为上述非易失堆的容量,形成上述非易失堆,其中,上述预定容量小于或者等于第一存储容量且小于或等于上述第二存储容量,上述第一存储容量为上述预定地址与上述非易失存储器的起始地址之间的存储容量,上述第二存储容量为上述预定地址与上述非易失存储器的终止地址之间的存储容量。上述预定地址可以为非易失存储器的任意一个地址,可以为起始地址,也可以为其他的地址,预定容量则肯定小于非易失存储器的容量。即实际上,可以将整个的非易失存储器均构建为非易失堆,也可以将其中的部分构建为非易失堆。
在形成非易失堆后,第三构建单元用于选取上述非易失堆的至少部分内存作为缓冲区。具体可以调用pvPortMalloc()函数,在非易失堆上为缓冲区分配存储空间。
具体的应用过程中,第三构建单元可以选取非易失堆中的部分作为缓冲区,也可以将其整体作为缓冲区,具体可以根据实际需求来选择。
本申请的再一种典型的实施方式中,提供了一种存储系统的访问方法,上述存储系统包括内存单元、缓冲区以及外部存储单元,其中,上述外部存储单元包括多个存储子单元,上述访问方法包括:根据访问的信息获取上述存储子单元的目标地址和数据的容量;根据上述目标地址确定上述缓冲区的访问地址;对位于上述访问地址的上述缓冲区的进行访问。
上述的访问方法中,首先根据访问的信息获取上述存储子单元的目标地址和数据的容量,然后,根据上述目标地址确定上述缓冲区的访问地址;最后,对位于上述访问地址的上述缓冲区的进行访问。该访问方法中,并不是根据访问的信息直接对外部存储单元进行访问,而是先根据访问信息对缓冲区进行访问,若访问在缓冲区命中,那么访问的过程就无需访问外部存储单元了,这样由于缓冲区的读写速度快于外部存储单元的介质flash,则存储系统的输入输出性能会得到提高,因而存储系统的整体性能会得到提升。在存储系统的运行过程中,存在一些数据被反复的读写,如存储目录项等数据的元数据区域和被反复访问的文件等,由于反复读写,这些数据在缓冲区中命中的可能性很大,所以本发明的缓冲区可以提升存储系统的性能,减少对外部存储单元的读写,同时也增加了外部存储的寿命。
可以采用任何合适的方法找到目标地址和访问地址的一个对应关系,然后,根据上述目标地址确定上述缓冲区的访问地址,本申请的一种具体的实施例中,根据上述目标地址确定上述缓冲区的访问地址包括:采用hash函数对上述目标地址进行处理,得到hash值,hash函数是对目标地址数据除以31取余数,所以共有31个缓冲区数组;根据上述hash值确定上述缓冲区的访问地址。在该实施例中,每个存储子单元为扇区,大小为512字节,每个hash值对应两个缓冲区,即每个访问地址对应两个缓冲区,且一个缓冲区对应一个扇区。如图5所示,每个箭头指向一个扇区,如果缓冲区中的地址不为0,则说明该空间已被占用,该图中省略了hash值和扇区地址之间的缓冲区的地址。当然,本申请的其他实施例中,每个访问地址对应的缓冲区的个数可以为一个,也可以为除2以外的其他个数。本领域技术人员可以根据实际情况设置一个访问地址对应的缓冲区的个数。
本申请中,对位于上述访问地址的缓冲区进行访问包括读操作和/或写操作,即对位于上述访问地址的上述缓冲区的进行访问包括:对位于上述访问地址的上述缓冲区进行读操作;和/或对位于上述访问地址的上述缓冲区进行写操作。在具体的读操作过程中,需要调用disk_read()函数来根据访问的信息获取上述存储子单元的目标地址和数据的容量;在具体的写操作过程中,需要调用disk_write()函数来根据访问的信息获取上述存储子单元的目标地址和数据的容量。
对位于上述访问地址的上述缓冲区进行读操作包括:检测位于上述访问地址的上述缓冲区中是否存储有上述目标地址;响应于上述缓冲区中存储有上述目标地址,读取上述缓冲区中的数据。
当然,在实际的读操作过程中,位于访问地址的上述缓冲区中可能未存储有目标地址,在这种情况下,对位于上述访问地址的上述缓冲区进行读操作还包括:响应于上述缓冲区中未存储有上述目标地址,检测位于上述访问地址的上述缓冲区是否被占用,即该访问地址是否存储有其他的地址;响应于位于上述访问地址的至少一个上述缓冲区未被占用,将位于上述目标地址的上述存储子单元中的预定读取数据写入到位于上述访问地址的且未被占用的上述缓冲区;读取位于上述访问地址的上述缓冲区的上述预定读取数据。
在一种具体的实施例中,一个访问地址对应两个缓冲区,所以,只要位于上述访问地址的一个上述缓冲区未被占用,则可以将位于上述目标地址的上述存储子单元中的预定读取数据写入到位于上述访问地址的且未被占用的上述缓冲区,如果只有一个缓冲区未被占用,则写入该缓冲区中,如果两个缓冲区均未被占用,则选择其中的一个缓冲区写入。并且,在写入后,将对应写入的缓冲区进行标记,以便后续的准确读取。
在实际的读操作过程中,还可能出现其他的情况,例如,位于上述访问地址的上述缓冲区均被占用,在这种情况下,对位于上述访问地址的上述缓冲区进行读操作还包括:将位于上述访问地址的上述缓冲区的数据写入上述外部存储单元,得到未被占用的上述缓冲区;将位于上述目标地址的上述存储子单元的上述预定读取数据读取到未被占用的上述缓冲区;读取位于上述访问地址的上述缓冲区的上述预定读取数据。
如图6所示的一种具体的存储系统的读方法,该方法中,首先,调用disk_read()函数,根据访问的信息获取上述存储子单元的目标地址和数据的容量;然后采用hash函数对上述目标地址进行处理,得到hash值;其次,根据上述hash值确定上述缓冲区的访问地址;再者,检测位于上述访问地址的上述缓冲区中是否存储有上述目标地址;根据检测的结果来进行数据的读取。检测的结果可以有上述提及的三种,第一种为位于访问地址的缓冲区中存储有目标地址;第二种为位于访问地址的缓冲区中未存储有目标地址,且至少访问地址对应的一个缓冲区未被占用;第三种为位于访问地址的缓冲区中未存储有目标地址,且访问地址对应的各缓冲区均被占用。每一种情况,上述内容中都有对应的策略,此处不再赘述。
对缓冲区进行写操作的过程和读操作的过程类似,本申请的一种实施例中,对位于上述访问地址的上述缓冲区进行写操作包括:检测上述位于上述访问地址的上述缓冲区中是否存储有上述目标地址;响应于上述缓冲区中存储有上述目标地址,将上述预定写入数据写入上述缓冲区。
当然,在写操作的过程中,缓冲区可能为存储有目标地址,在这种情况中,对位于上述访问地址的上述缓冲区进行写操作还包括:响应于上述缓冲区中未存储有上述目标地址,检测位于上述访问地址的上述缓冲区是否被占用;响应于位于上述访问地址的至少一个上述缓冲区未被占用,将预定写入数据写入到未被占用的上述缓冲区。
在一种具体的实施例中,一个访问地址对应两个缓冲区,所以,只要位于上述访问地址的一个上述缓冲区未被占用,则可以将预定写入数据写入到位于上述访问地址的且未被占用的上述缓冲区,如果只有一个缓冲区未被占用,则写入该缓冲区中,如果两个缓冲区均未被占用,则选择其中的一个缓冲区写入。
在实际的写操作过程中,还可能存储访问地址对应的缓冲区均被占用的情况,在这种情况下,对位于上述访问地址的上述缓冲区进行写操作还包括:响应于位于上述访问地址的上述缓冲区均被占用,将位于上述访问地址的上述缓冲区中的数据写入到上述外部存储单元,得到未被占用的缓冲区;将上述预定写入数据写入位于上述访问地址的上述缓冲区。对于一个访问地址对应两个缓冲区的实施例来说,这里只需要将一个缓冲区中的数据写入到外部存储单元中即可得到一个未被占用的缓冲区。
如图7所示的一种具体的存储系统的写方法,该方法中,首先,调用disk_write()函数,根据访问的信息获取上述存储子单元的目标地址和数据的容量;然后采用hash函数对上述目标地址进行处理,得到hash值;其次,根据上述hash值确定上述缓冲区的访问地址;再者,检测位于上述访问地址的上述缓冲区中是否存储有上述目标地址;根据检测的结果来进行数据的写入。检测的结果可以有上述提及的三种,第一种为位于访问地址的缓冲区中存储有目标地址;第二种为位于访问地址的缓冲区中未存储有目标地址,且至少访问地址对应的一个缓冲区未被占用;第三种为位于访问地址的缓冲区中未存储有目标地址,且访问地址对应的各缓冲区均被占用。每一种情况,上述内容中都有对应的策略,此处不再赘述。
本申请的又一种典型的实施方式中,提供了一种嵌入式系统,包括存储系统和中央处理器,其特征在于,上述存储系统为上述的存储系统。
该嵌入式系统中,由于包括上述的存储系统,其数据响应能力较好,与中央处理器(CPU)的数据处理的速度差距较小,该嵌入式系统的性能较好。
上述存储系统的构建装置包括处理器和存储器,上第一构建单元和第二构建单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提升存储系统的数据响应能力。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述存储系统的构建方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述存储系统的构建方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,在上述初始内存单元中构建非易失存储器,剩余的上述初始内存单元为内存单元;
步骤S102,在上述非易失存储器中构建非易失堆;
步骤S103,在上述非易失堆上构建缓冲区。
本文中的设备可以是MCU、嵌入式设备、开发板等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,在上述初始内存单元中构建非易失存储器,剩余的上述初始内存单元为内存单元;
步骤S102,在上述非易失存储器中构建非易失堆;
步骤S103,在上述非易失堆上构建缓冲区。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的构建方法中,首先在初始内存单元中构建非易失存储器,然后,构建非易失堆,最后,在非易失堆上构建缓冲区,形成包括内存单元、外部存储单元以及位于内存单元和外部存储单元之间的缓冲区的存储系统,该缓冲区为非易失存储器的缓冲区,非易失存储器NVM是一类新型的存储器件,常见的器件有PCM、FeRAM、MRAM和RRAM等。这类器件除了具有接近于DRAM的读写速度、高于DRAM的存储密度外,还具有静态功耗低、非易失、可按字节访问的特性。NVM的读写速度接近于DRAM,而远大于flash。因此NVM的综合性能介于DRAM与flash之间,将NVM的至少部分作为DRAM形成的内存单元和flash形成的外部存储单元之间的非易失缓冲区,以缓冲外部存储单元中的数据,这样使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
2)、本申请的存储系统中,由于内部存储空间中不仅包括内存单元,还包括非易失的缓冲区,该缓冲区可以缓冲外部存储单元中的数据,使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
3)、本申请的该构建装置中,第一构建单元在初始内存单元中构建非易失存储器,第二构建单元用于在上述非易失存储器中构建非易失堆;第三构建单元在非易失堆上构建缓冲区,形成包括内存单元、外部存储单元以及位于内存单元和外部存储单元之间的缓冲区,该缓冲区为非易失存储器的缓冲区,非易失存储器NVM是一类新型的存储器件,常见的器件有PCM、FeRAM、MRAM和RRAM等。这类器件除了具有接近于DRAM的读写速度、高于DRAM的存储密度外,还具有静态功耗低、非易失、可按字节访问的特性。NVM的读写速度接近于DRAM,而远大于flash。因此NVM的综合性能介于DRAM与flash之间,将NVM的至少部分作为DRAM形成的内存单元和flash形成的外部存储单元之间的非易失缓冲区,以缓冲外部存储单元中的数据,这样使得该存储系统数据的读写速度较快,存储系统的响应能力较好,且外部存储单元的使用寿命较长,该存储系统比较适用于对输入输出访问频繁的嵌入式设备。
4)、本申请的访问方法中,首先根据访问的信息获取上述存储子单元的目标地址和数据的容量,然后,根据上述目标地址确定上述缓冲区的访问地址;最后,对位于上述访问地址的上述缓冲区的进行访问。该访问方法中,并不是根据访问的信息直接对外部存储单元进行访问,而是先根据访问信息对缓冲区进行访问,若访问在缓冲区命中,那么访问的过程就无需访问外部存储单元了,这样由于缓冲区的读写速度快于外部存储单元的介质flash,则存储系统的输入输出性能会得到提高,因而存储系统的整体性能会得到提升。在存储系统的运行过程中,存在一些数据被反复的读写,如存储目录项等数据的元数据区域和被反复访问的文件等,由于反复读写,这些数据在缓冲区中命中的可能性很大,所以本发明的缓冲区可以提升存储系统的性能,减少对外部存储单元的读写,同时也增加了外部存储的寿命。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种存储系统的构建方法,其特征在于,所述存储系统基于初始存储系统构建,所述初始存储系统包括初始内存单元和外部存储单元,所述构建方法包括:
在所述初始内存单元中构建非易失存储器,剩余的所述初始内存单元为内存单元;
在所述非易失存储器中构建非易失堆;
在所述非易失堆上构建缓冲区。
2.根据权利要求1所述的构建方法,其特征在于,在所述初始内存单元中构建非易失存储器包括:
将初始内存单元中的堆段的地址映射到所述非易失存储器的物理地址上,形成所述非易失存储器。
3.根据权利要求1所述的构建方法,其特征在于,将初始内存单元中的堆段的地址映射到所述非易失存储器的物理地址上包括:
将所述堆段的起始地址变量设置为所述非易失存储器的起始地址;
将所述堆段的空间大小变量设置为所述非易失存储器的存储容量。
4.根据权利要求1至3中任一项所述的构建方法,其特征在于,在所述非易失存储器中构建非易失堆包括:
将所述非易失存储器的中的预定地址作为所述非易失堆的起始地址;
将预定容量作为所述非易失堆的容量,形成所述非易失堆,其中,所述预定容量小于或者等于第一存储容量且小于或等于第二存储容量,所述第一存储容量为所述预定地址与所述非易失存储器的起始地址之间的存储容量,所述第二存储容量为所述预定地址与所述非易失存储器的终止地址之间的存储容量,
优选地,在所述非易失堆上构建缓冲区包括:选取所述非易失堆的至少部分内存作为缓冲区。
5.一种存储系统,其特征在于,采用权利要求1至4中任一项所述的构建方法形成。
6.一种存储系统的构建装置,其特征在于,所述存储系统基于初始存储系统构建,所述初始存储系统包括初始内存单元和外部存储单元,所述构建装置包括:
第一构建单元,用于在所述初始内存单元中构建非易失存储器,剩余的所述初始内存单元为内存单元;
第二构建单元,用于在所述非易失存储器中构建非易失堆;
第三构建单元,用于在所述非易失堆上构建缓冲区。
7.一种权利要求5所述的存储系统的访问方法,其特征在于,所述存储系统包括内存单元、缓冲区以及外部存储单元,其中,所述外部存储单元包括多个存储子单元,所述访问方法包括:
根据访问的信息获取所述存储子单元的目标地址和数据的容量;
根据所述目标地址确定所述缓冲区的访问地址;
对位于所述访问地址的所述缓冲区的进行访问。
8.根据权利要求7所述的访问方法,其特征在于,根据所述目标地址确定所述缓冲区的访问地址包括:
采用hash函数对所述目标地址进行处理,得到hash值;
根据所述hash值确定所述缓冲区的访问地址,
优选地,
位于所述访问地址的所述缓冲区的进行访问包括:
对位于所述访问地址的所述缓冲区进行读操作;和/或
对位于所述访问地址的所述缓冲区进行写操作,
进一步优选地,
对位于所述访问地址的所述缓冲区进行读操作包括:
检测位于所述访问地址的所述缓冲区中是否存储有所述目标地址;
响应于所述缓冲区中存储有所述目标地址,读取所述缓冲区中的数据。
9.根据权利要求8所述的访问方法,其特征在于,对位于所述访问地址的所述缓冲区进行读操作还包括:
响应于所述缓冲区中未存储有所述目标地址,检测位于所述访问地址的所述缓冲区是否被占用;
响应于位于所述访问地址的至少一个所述缓冲区未被占用,将位于所述目标地址的所述存储子单元中的预定读取数据写入到位于所述访问地址的且未被占用的所述缓冲区;
读取位于所述访问地址的所述缓冲区的所述预定读取数据,
优选地,
对位于所述访问地址的所述缓冲区进行读操作还包括:
响应于位于所述访问地址的所述缓冲区均被占用,将位于所述访问地址的所述缓冲区的数据写入所述外部存储单元,得到未被占用的所述缓冲区;
将位于所述目标地址的所述存储子单元的所述预定读取数据读取到未被占用的所述缓冲区;
读取位于所述访问地址的所述缓冲区的所述预定读取数据。
10.根据权利要求8所述的访问方法,其特征在于,对位于所述访问地址的所述缓冲区进行写操作包括:
检测所述位于所述访问地址的所述缓冲区中是否存储有所述目标地址;
响应于所述缓冲区中存储有所述目标地址,将预定写入数据写入所述缓冲区,
优选地,
对位于所述访问地址的所述缓冲区进行写操作还包括:
响应于所述缓冲区中未存储有所述目标地址,检测位于所述访问地址的所述缓冲区是否被占用;
响应于位于所述访问地址的至少一个所述缓冲区未被占用,将所述预定写入数据写入到未被占用的所述缓冲区,
进一步优选地,
对位于所述访问地址的所述缓冲区进行写操作还包括:
响应于位于所述访问地址的所述缓冲区均被占用,将位于所述访问地址的所述缓冲区中的数据写入到所述外部存储单元,得到未被占用的缓冲区;
将所述预定写入数据写入位于所述访问地址的所述缓冲区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910376820.3A CN110221984A (zh) | 2019-05-07 | 2019-05-07 | 存储系统的建立方法、装置、存储系统和访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910376820.3A CN110221984A (zh) | 2019-05-07 | 2019-05-07 | 存储系统的建立方法、装置、存储系统和访问方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110221984A true CN110221984A (zh) | 2019-09-10 |
Family
ID=67820845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910376820.3A Pending CN110221984A (zh) | 2019-05-07 | 2019-05-07 | 存储系统的建立方法、装置、存储系统和访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110221984A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966608A (zh) * | 2020-08-14 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种外存储器的直接内存储器访问方法和装置 |
CN113467702A (zh) * | 2020-03-31 | 2021-10-01 | 上海商汤智能科技有限公司 | 数据处理装置、集成电路和ai加速器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885724A (zh) * | 2014-03-14 | 2014-06-25 | 山东大学 | 基于相变存储器的存储系统结构及其损耗均衡算法 |
CN104461397A (zh) * | 2014-12-19 | 2015-03-25 | 上海新储集成电路有限公司 | 一种固态硬盘及其读写方法 |
US9122588B1 (en) * | 2013-03-15 | 2015-09-01 | Virident Systems Inc. | Managing asymmetric memory system as a cache device |
CN106326135A (zh) * | 2015-06-30 | 2017-01-11 | 华为技术有限公司 | 一种平移非易失性存储器nvm的数据的方法及装置 |
CN107193497A (zh) * | 2017-05-22 | 2017-09-22 | 电子科技大学 | 一种基于ram和nvm混合内存的汽车ecu数据动态管理方法 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
CN107533442A (zh) * | 2015-04-29 | 2018-01-02 | 高通股份有限公司 | 用于对异构系统存储器中的存储器功率消耗进行优化的系统和方法 |
CN109359058A (zh) * | 2018-10-08 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种非易失性内存储器支持方法与装置 |
-
2019
- 2019-05-07 CN CN201910376820.3A patent/CN110221984A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122588B1 (en) * | 2013-03-15 | 2015-09-01 | Virident Systems Inc. | Managing asymmetric memory system as a cache device |
CN103885724A (zh) * | 2014-03-14 | 2014-06-25 | 山东大学 | 基于相变存储器的存储系统结构及其损耗均衡算法 |
CN104461397A (zh) * | 2014-12-19 | 2015-03-25 | 上海新储集成电路有限公司 | 一种固态硬盘及其读写方法 |
CN107533442A (zh) * | 2015-04-29 | 2018-01-02 | 高通股份有限公司 | 用于对异构系统存储器中的存储器功率消耗进行优化的系统和方法 |
CN106326135A (zh) * | 2015-06-30 | 2017-01-11 | 华为技术有限公司 | 一种平移非易失性存储器nvm的数据的方法及装置 |
CN107193497A (zh) * | 2017-05-22 | 2017-09-22 | 电子科技大学 | 一种基于ram和nvm混合内存的汽车ecu数据动态管理方法 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
CN109359058A (zh) * | 2018-10-08 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种非易失性内存储器支持方法与装置 |
Non-Patent Citations (2)
Title |
---|
TAEHO HWANG等: "《Designing persistent heap for byte addressable NVRAM》", 《2017 IEEE 6TH NON-VOLATILE MEMORY SYSTEMS AND APPLICATIONS SYMPOSIUM (NVMSA)》 * |
THOMAS_BLOG: "《FreeRTOS congif开始的宏》", 《HTTPS://BLOG.CSDN.NET/ZHANGXUECHAO_/ARTICLE/DETAILS/78013927》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467702A (zh) * | 2020-03-31 | 2021-10-01 | 上海商汤智能科技有限公司 | 数据处理装置、集成电路和ai加速器 |
CN111966608A (zh) * | 2020-08-14 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种外存储器的直接内存储器访问方法和装置 |
CN111966608B (zh) * | 2020-08-14 | 2023-06-06 | 苏州浪潮智能科技有限公司 | 一种外存储器的直接内存储器访问方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107967124B (zh) | 一种分布式持久性内存存储系统及方法 | |
CN102651009B (zh) | 一种存储系统中检索数据的方法和设备 | |
CN104850358B (zh) | 一种磁光电混合存储系统及其数据获取和存储方法 | |
CN108804350A (zh) | 一种内存访问方法及计算机系统 | |
CN104516471B (zh) | 一种管理存储器系统的电源的方法和装置 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN102985909B (zh) | 为良好分格的对象提供高扩展性网络存储的方法和设备 | |
US20120066473A1 (en) | Memory Architecture with Policy Based Data Storage | |
CN104503703B (zh) | 缓存的处理方法和装置 | |
CN105808156A (zh) | 将数据写入固态硬盘的方法及固态硬盘 | |
CN107608910A (zh) | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 | |
CN110188108A (zh) | 数据存储方法、装置、系统、计算机设备及存储介质 | |
CN111984188B (zh) | 混合内存数据的管理方法、装置及存储介质 | |
CN103473298B (zh) | 数据归档方法和装置以及存储系统 | |
CN109471843A (zh) | 一种元数据缓存方法、系统及相关装置 | |
CN111597125B (zh) | 一种非易失内存文件系统索引节点的磨损均衡方法及系统 | |
CN108874688A (zh) | 一种报文数据缓存方法及装置 | |
CN102306503A (zh) | 一种假容量存储器的检测方法及系统 | |
CN108733324A (zh) | 一种固态硬盘的数据读写方法、装置、设备及存储介质 | |
CN108052541A (zh) | 基于多级页表目录结构的文件系统的实现、访问方法、终端 | |
CN103150245A (zh) | 确定数据实体的访问特性的方法和存储控制器 | |
CN110221984A (zh) | 存储系统的建立方法、装置、存储系统和访问方法 | |
CN102122284B (zh) | 一种复合文档存储、读写方法和装置 | |
CN108399050A (zh) | 一种数据处理方法及装置 | |
CN108334541A (zh) | 一种数据存储方法、装置、设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190910 |