CN105975406B - 一种数据存取方法及装置 - Google Patents
一种数据存取方法及装置 Download PDFInfo
- Publication number
- CN105975406B CN105975406B CN201610282531.3A CN201610282531A CN105975406B CN 105975406 B CN105975406 B CN 105975406B CN 201610282531 A CN201610282531 A CN 201610282531A CN 105975406 B CN105975406 B CN 105975406B
- Authority
- CN
- China
- Prior art keywords
- simulator
- data
- flash
- dram
- write
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004088 simulation Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 5
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000000352 storage cell Anatomy 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/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/0893—Caches characterised by their organisation or structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据存取方法及装置,其中,该方法包括:接收写请求;判断DRAM模拟器中是否存在与所述写请求对应的地址,如果是,则利用所述DRAM模拟器实现对应的写操作;如果否,则判断Flash模拟器中是否存在与所述写请求对应的地址,如果所述Flash模拟器中存在与所述写请求对应的地址,则利用所述Flash模拟器实现对应的写操作。由此,Flash模拟器可以作为DRAM模拟器的后备存储,从而结合DRAM模拟器和Flash模拟器大大增加系统内存的容量,解决现有技术中存在的系统内存容量小的问题。
Description
技术领域
本发明涉及非易失性混合内存技术领域,更具体地说,涉及一种数据存取方法及装置。
背景技术
目前应用于计算机系统中的系统内存一般采用DRAM(Dynamic Random AccessMemory,动态随机存取存储器),这是因为DRAM具有数据存取速度快的特点,能够有效满足计算机系统对于数据存取速度的要求。
但是,随着大数据环境的来临,DRAM有限的存储容量已经不能够满足大数据环境对于系统内存的存储容量的要求;而且,由于目前DRAM的制作工艺已经达到极限,因此,并不能够通过其制作工艺的改变来增加DRAM的存储容量。
综上所述,现有技术中的系统内存DRAM存在存储容量较小的问题。
发明内容
本发明的目的是提供一种数据存取方法及装置,以解决现有技术中的系统内存DRAM存在的存储容量较小的问题。
为了实现上述目的,本发明提供如下技术方案:
一种数据存取方法,包括:
接收写请求;
判断DRAM模拟器中是否存在与所述写请求对应的地址,如果是,则利用所述DRAM模拟器实现对应的写操作;如果否,则判断Flash模拟器中是否存在与所述写请求对应的地址,如果所述Flash模拟器中存在与所述写请求对应的地址,则利用所述Flash模拟器实现对应的写操作。
优选的,还包括:
接收读请求;
判断DRAM模拟器中是否存在与所述读请求对应的地址,如果是,则利用所述DRAM模拟器实现对应的读操作;如果否,则判断Flash模拟器中是否存在与所述读请求对应的地址,如果所述Flash模拟器中存在与所述读请求对应的地址,则利用所述Flash模拟器实现对应的读操作。
优选的,还包括:
如果所述Flash模拟器中不存在与所述读请求对应的地址,则由磁盘中获取与所述读请求对应的数据,并将该数据写入所述DRAM模拟器中。
优选的,利用所述Flash模拟器实现与所述读写请求对应的读写操作,包括:
将所述Flash模拟器中与所述读请求对应的数据写入所述DRAM模拟器中,并利用所述DRAM模拟器中与所述读请求对应的数据实现对应的读操作;
将与所述写请求对应的数据写入所述Flash模拟器中,并将所述Flash模拟器中与所述写请求对应的数据写入所述DRAM模拟器中。
优选的,将数据写入所述DRAM模拟器中,包括:
按照预设替换算法由所述DRAM模拟器中选取出替换页,并将数据写入所述替换页中。
优选的,按照预设替换算法由所述DRAM模拟器中选取出替换页,包括:
由所述DRAM模拟器中选取出未被使用时间大于预设时间的页作为所述替换页。
优选的,按照预设替换算法由所述DRAM模拟器中选取出替换页之后,还包括:
判断所述替换页中的数据是否存在于所述Flash模拟器中,如果否,则将所述替换页中的数据写入所述Flash模拟器中。
优选的,判断所述替换页中的数据是否存在于所述Flash模拟器中,包括:
判断所述替换页中的数据是否为与所述写操作对应的数据,如果是,则确定所述替换页中的数据不存在于所述Flash模拟器中,如果否,则判断所述替换页中的数据是否为由所述Flash模拟器写入的数据,如果所述替换页中的数据是为由所述Flash模拟器写入的数据,则确定所述替换页中的数据存在于所述Flash模拟器中,如果所述替换页中的数据不为由所述Flash模拟器写入的数据,则确定所述替换页中的数据不存在于所述Flash模拟器中。
优选的,还包括:
定时将所述DRAM模拟器中存储的且不存在于所述Flash模拟器中的数据写入至所述Flash模拟器中。
优选的,包括混合内存控制器、DRAM模拟器及Flash模拟器,其中:
混合内存控制器接收写请求,并判断DRAM模拟器中是否存在与所述写请求对应的地址,如果是,则利用所述DRAM模拟器实现对应的写操作;如果否,则判断Flash模拟器中是否存在与所述写请求对应的地址,如果所述Flash模拟器中存在与所述写请求对应的地址,则利用所述Flash模拟器实现对应的写操作。
本发明提供的一种数据存取方法及装置,在接收到写请求后,如果DRAM模拟器中存在与写请求对应的地址,则直接利用DRAM模拟器完成与写请求对应的写操作,如果DRAM模拟器中不存在与写请求对应的地址,而Flash模拟器中存在与写请求对应的地址,则利用Flash模拟器完成与写请求对应的写操作。通过本申请公开的上述技术特征,当DRAM模拟器不存在与写请求对应的地址时可由Falsh模拟器完成对应的写操作,可见,Flash模拟器可以作为DRAM模拟器的后备存储,而Flash模拟器能够实现与Flash同样的功能,DRAM模拟器能够实现与DRAM同样的功能,且Flash由于其存储原理具有比DRAM更大的存储容量,因此,本申请中结合DRAM模拟器和Flash模拟器能够大大增加系统内存的容量,解决现有技术中存在的系统内存容量小的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据存取方法的流程图;
图2为本发明实施例提供的一种数据存取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种数据存取方法的流程图,其执行主语均可以为数据存取装置中的混合内存控制器,具体来说,该方法可以包括以下步骤:
S1:接收写请求。
需要说明的是,接收由其他终端发送的读写请求后,可以通过对读写请求进行解析得到该请求的类型(即读请求或者是写请求)、大小及该请求对应的数据读写的地址,并创建一个事务,保存该请求的信息,然后将这个事务加入事务队列,没经过一个时钟周期,则从事务队列中取下一个事务,然后根据事务中存储的地址在DRAM(Dynamic RandomAccess Memory,动态随机存取存储器)模拟器中进行查找,即判断DRAM模拟器中是否存在与写请求对应的地址。当然,如果读写请求的数量较少,也可以直接在接收读写请求,并解析得到该请求的上述信息后,直接在DRAM模拟器中查找该请求对应的地址。还可以根据实际需要进行其他设置,均在本发明的保护范围之内。
S2:判断DRAM模拟器中是否存在与写请求对应的地址,如果是,则执行步骤S3,如果否,则执行步骤S4。
S3:利用DRAM模拟器实现对应的写操作。
DRAM模拟器具体可以为DRAMSim2,DRAM模拟器中存在与读请求或写请求对应的地址,即DRAM模拟器命中,则调用DRAM模拟器的读写接口,以利用该读写接口模拟DRAM真实的一次读过程或写过程,进而完成对应的读操作或者写操作。并在完成写操作后,返回写操作的状态,以通知系统这次写操作成功完成。
S4:判断Flash模拟器中是否存在与写请求对应的地址,如果是,则执行步骤S5,如果否,则执行步骤S6。
S5:利用Flash模拟器实现对应的写操作。
Flash(缓存)模拟器具体可以为FlashSim,Flash拟器中存在与读请求或写请求对应的地址,即Flash模拟器命中,则调用Flash模拟器的读写接口,以利用该读写接口模拟Flash真实的一次读过程或写过程,进而完成对应的读操作或者写操作。并在完成写操作后,返回写操作的状态,以通知系统这次写操作成功完成。
S6:停止操作。
如果DRAM模拟器及Flash模拟器中均不存在与写请求对应的数据,则停止操作。
需要说明的是,上述实施例中的DRAM模拟器不仅可以充当Flash模拟器的缓存,对操作系统不可见,而且可以作为混合内存控制器与Flash模拟器之间的桥梁。即,混合内存控制器可以通过DRAM模拟器实现对Flash模拟器的控制;而Flash模拟器作为DRAM模拟器的后备存储。
本申请公开的上述技术特征中,当DRAM模拟器不存在与写请求对应的地址时可由Falsh模拟器完成对应的写操作,可见,Flash模拟器可以作为DRAM模拟器的后备存储,而Flash模拟器能够实现与Flash同样的功能,DRAM模拟器能够实现与DRAM同样的功能,且Flash由于其存储原理具有比DRAM更大的存储容量,因此,本申请中结合DRAM模拟器和Flash模拟器能够大大增加系统内存的容量,解决现有技术中存在的系统内存容量小的问题。
需要说明的是,由Flash的擦写次数是有限的,数据存储单元重复擦写会导致击穿,而DRAM的耐写次数可以认为是无限的,因此,通过本申请公开的上述技术特征,减少了Flash模拟器中写入数据的次数,从而减少了Flash模拟器的擦写次数,降低了成本。另外,利用存取速度较快且具有无限擦除次数的DRAM模拟器作为大容量且具有非易失性的Flash模拟器的缓存,能够在提供较高的数据写入速度的同时,提供更大的存储容量,以充分发挥上述两种模拟器的优势同时一定程度上避免各自的缺陷来提高系统的整体性能。
本发明实施例提供的一种数据存取方法中,还可以包括:
接收读请求;
判断DRAM模拟器中是否存在与读请求对应的地址,如果是,则利用DRAM模拟器实现对应的读操作;如果否,则判断Flash模拟器中是否存在与读请求对应的地址,如果Flash模拟器中存在与读请求对应的地址,则利用Flash模拟器实现对应的读操作;如果Flash模拟器中不存在与读请求对应的地址,则停止操作。
需要说明的是,本发明实施例中对于读写请求的类型为读请求的上述实现步骤与读写请求的类型为写请求中对应实现步骤基本一致,在此不再赘述。主要区别在于,读写请求为写请求时,写操作完成后,返回写操作状态,以通知系统写操作成功完成;而读写请求为读请求时,读操作完成后,返回与读请求对应的数据,以供系统获取。
本发明实施例提供的一种数据存取方法中,还可以包括:
如果Flash模拟器中不存在与读请求对应的地址,则由磁盘中获取与读请求对应的数据,并将该数据写入DRAM模拟器中。
需要说明的是,一般情况下,如果读写请求为写请求,则一定能够在DRAM模拟器或者Flash模拟器中查找到对应的地址;可以如果读写请求为读请求,可能存在在DRAM模拟器及Flash模拟器中均查找不到对应的地址的情况,此时,就会形成缺页;因此,需要由磁盘中获取与读请求对应的数据,而为了下次再接收到该读请求时能够提供对应的数据,还要将由磁盘中获取的数据写入DRAM模拟器中,从而能够大大减少因缺页而产生的磁盘访问请求,提升系统性能。
本发明实施例提供的一种数据存取方法中,利用Flash模拟器实现与读写请求对应的读写操作,可以包括:
将Flash模拟器中与读请求对应的数据写入DRAM模拟器中,并利用DRAM模拟器中与读请求对应的数据实现对应的读操作;
将与写请求对应的数据写入Flash模拟器中,并将Flash模拟器中与写请求对应的数据写入DRAM模拟器中。
其中,如果读写请求为读请求,则需要将Flash模拟器中与读请求对应的数据写入DRAM模拟器中,已由DRAM模拟器实现与读请求对应的读操作,即实现与读请求对应的数据的返回。而如果读写请求为写请求,则可直接将数据写入Flash模拟器中,但是,还是需要将与写请求对应的数据写入DRAM模拟器中,以在下次对该数据有需求时,可以由DRAM模拟器中直接获取。从而进一步减少在Flash模拟器中进行的数据存取次数,提升系统性能。
本发明实施例提供的一种数据存取方法中,将数据写入DRAM模拟器中,可以包括:
按照预设替换算法由DRAM模拟器中选取出替换页,并将数据写入替换页中。
其中,将数据写入DRAM模拟器中,可以包括将磁盘中的数据写入DRAM模拟器中,也可以包括将Flash模拟器中的数据写入DRAM模拟器中,以及其他将数据写入DRAM模拟器中的情况。
需要说明的是,替换页可以为空白页也可以为具有数据的页,当其为空白页时,可以直接将数据写入替换页,而当我为具有数据的页时,可以在按照预设替换算法由DRAM模拟器中选取出替换页之后,还包括:
判断替换页中的数据是否存在于Flash模拟器中,如果否,则将替换页中的数据写入Flash模拟器中。
需要说明的是,在将数据写入替换页之前,可以判断替换页中的数据是否存在于Flash模拟器中,如果不存在,则为了避免数据丢失,需要将替换页的数据写入Flash模拟器中,如果存在,则可以直接将数据写入替换页中。
而按照预设替换算法由DRAM模拟器中选取出替换页,可以包括:
由DRAM模拟器中选取出未被使用时间大于预设时间的页作为替换页。
具体来说,预设时间可以根据实际需要进行确定,而预设替换算法也可以根据实际需要进行确定,本实施例中,选取未被使用时间大于预设时间的页作为替换页,即选取在一定时间段内未被进行读操作及写操作的页作为替换页,该替换页中的数据很可能在短期内不会被用到,因此,利用上述方案确定替换页可以在一定程度上减少数据的存取次数。
本发明实施例提供的一种数据存取方法中,判断替换页中的数据是否存在于Flash模拟器中,可以包括:
判断替换页中的数据是否为与写操作对应的数据,如果是,则确定替换页中的数据不存在于Flash模拟器中,如果否,则判断替换页中的数据是否为由Flash模拟器写入的数据,如果替换页中的数据是为由Flash模拟器写入的数据,则确定替换页中的数据存在于Flash模拟器中,如果替换页中的数据不为由Flash模拟器写入的数据,则确定替换页中的数据不存在于Flash模拟器中。
具体在实现时,可以在写操作完成时,将写操作对应的DRAM中页的脏位D置1,表示该页被执行过写操作。如果替换页的脏位D为1,则生成一个携带有替换页中数据的Flash写命令并加入Flash写队列,然后调用DRAM模拟器中写接口,将数据写入替换页中。如果替换页的脏位D为0,还需要判断替换页的P位是否为0,如果替换页的P位为0,表示该页中的数据不为由Flah模拟器写入的数据,则生成一个携带有替换页中数据的Flash写命令并加入Flash写队列,然后调用DRAM模拟器中写接口,将数据写入替换页中。如果替换页的P位为1,表示该页中的数据为由Flash模拟器写入的数据,则说明Flash模拟器中存在替换页中的数据,此时,只需直接将数据写入DRAM中即可。由此,能够保证数据不被丢失。
其中,在每次需要向Flash模拟器中写数据时,需可以生成对应的Flash写命令并加入Flash写队列中,直到Flash写队列中的数据达到预先设定的值时,再一次性将其写入Flash模拟器中,从而减少写入Flash模拟器的次数,减少了写Flash模拟器的开销,提高了系统性能。对应的,在将磁盘中的数据写入DRAM中时,可以同时在Flash模拟器中为该页自动分配一个页表项并预留空间,以方便在后期写入。
另外,本发明实施例提供的一种数据存取方法中,还可以包括:
定时将DRAM模拟器中存储的且不存在于Flash模拟器中的数据写入至Flash模拟器中。
以保证Flash模拟器中能够包含DRAM模拟器中包含的全部数据,避免数据丢失。
与上述方法实施例相对应,本发明实施例还提供了一种数据存取装置,如图2所示,可以包括混合内存控制器1、DRAM模拟器2及Flash模拟器3,其中:
混合内存控制器1接收写请求,并判断DRAM模拟器2中是否存在与写请求对应的地址,如果是,则利用DRAM模拟器2实现对应的写操作;如果否,则判断Flash模拟器3中是否存在与写请求对应的地址,如果Flash模拟器3中存在与写请求对应的地址,则利用Flash模拟器3实现对应的写操作。
其中,混合内存控制器可以分为前端和后端两部分,前端部分(Front-end)负责缓存上层发下来的读写请求和对上层读写请求的反馈,给上层系统提供一个接口,下层存储介质对它是透明的;后端部分(Back-end)则需要为下层存储介质提供一个接口,同时下层存储介质对这一部分也是透明的。当混合内存控制器接收读写请求后,需要判断由DRAM模拟器响应还是由Flash模拟器响应这个请求,这个功能可以由混合内存控制器中的请求调度器来完成。
本发明实施例还提供了一种数据存取装置,混合内存控制器还可以接收读请求;判断DRAM模拟器中是否存在与读请求对应的地址,如果是,则利用DRAM模拟器实现对应的读操作;如果否,则判断Flash模拟器中是否存在与读请求对应的地址,如果Flash模拟器中存在与读请求对应的地址,则利用Flash模拟器实现对应的读操作。
本发明实施例还提供了一种数据存取装置,混合内存控制器还可以用于如果Flash模拟器中不存在与读请求对应的地址,则由磁盘中获取与读请求对应的数据,并将该数据写入DRAM模拟器中。
本发明实施例还提供了一种数据存取装置,混合内存控制器可以包括:
读请求执行模块,用于将Flash模拟器中与读请求对应的数据写入DRAM模拟器中,并利用DRAM模拟器中与读请求对应的数据实现对应的读操作;
写请求执行模块,用于将与写请求对应的数据写入Flash模拟器中,并将Flash模拟器中与写请求对应的数据写入DRAM模拟器中。
本发明实施例还提供了一种数据存取装置,读请求执行模块和写请求执行模块均可以包括:
选取单元,用于按照预设替换算法由DRAM模拟器中选取出替换页,并将数据写入替换页中。
本发明实施例还提供了一种数据存取装置,选取单元包括:
选取子单元,用于由DRAM模拟器中选取出未被使用时间大于预设时间的页作为替换页。
本发明实施例还提供了一种数据存取装置,混合内存控制器还可以包括:
判断模块,用于判断替换页中的数据是否存在于Flash模拟器中,如果否,则将替换页中的数据写入Flash模拟器中。
本发明实施例还提供了一种数据存取装置,判断模块可以包括:
判断单元,用于判断替换页中的数据是否为与写操作对应的数据,如果是,则确定替换页中的数据不存在于Flash模拟器中,如果否,则判断替换页中的数据是否为由Flash模拟器写入的数据,如果替换页中的数据是为由Flash模拟器写入的数据,则确定替换页中的数据存在于Flash模拟器中,如果替换页中的数据不为由Flash模拟器写入的数据,则确定替换页中的数据不存在于Flash模拟器中。
本发明实施例还提供了一种数据存取装置,混合内存控制器还可以包括:
数据更新模块,用于定时将DRAM模拟器中存储的且不存在于Flash模拟器中的数据写入至Flash模拟器中。
本发明实施例提供的一种数据存取装置中相关部分的说明请参见本发明实施例提供的一种数据存取方法中对应部分的详细说明,在此不再赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据存取方法,其特征在于,包括:
接收写请求;
判断DRAM模拟器中是否存在与所述写请求对应的地址,如果是,则利用所述DRAM模拟器实现对应的写操作;如果否,则判断Flash模拟器中是否存在与所述写请求对应的地址,如果所述Flash模拟器中存在与所述写请求对应的地址,则利用所述Flash模拟器实现对应的写操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收读请求;
判断DRAM模拟器中是否存在与所述读请求对应的地址,如果是,则利用所述DRAM模拟器实现对应的读操作;如果否,则判断Flash模拟器中是否存在与所述读请求对应的地址,如果所述Flash模拟器中存在与所述读请求对应的地址,则利用所述Flash模拟器实现对应的读操作。
3.根据权利要求2所述的方法,其特征在于,还包括:
如果所述Flash模拟器中不存在与所述读请求对应的地址,则由磁盘中获取与所述读请求对应的数据,并将该数据写入所述DRAM模拟器中。
4.根据权利要求2所述的方法,其特征在于,利用所述Flash模拟器实现与所述读写请求对应的读写操作,包括:
将所述Flash模拟器中与所述读请求对应的数据写入所述DRAM模拟器中,并利用所述DRAM模拟器中与所述读请求对应的数据实现对应的读操作;
将与所述写请求对应的数据写入所述Flash模拟器中,并将所述Flash模拟器中与所述写请求对应的数据写入所述DRAM模拟器中。
5.根据权利要求3或4所述的方法,其特征在于,将数据写入所述DRAM模拟器中,包括:
按照预设替换算法由所述DRAM模拟器中选取出替换页,并将数据写入所述替换页中。
6.根据权利要求5所述的方法,其特征在于,按照预设替换算法由所述DRAM模拟器中选取出替换页,包括:
由所述DRAM模拟器中选取出未被使用时间大于预设时间的页作为所述替换页。
7.根据权利要求5所述的方法,其特征在于,按照预设替换算法由所述DRAM模拟器中选取出替换页之后,还包括:
判断所述替换页中的数据是否存在于所述Flash模拟器中,如果否,则将所述替换页中的数据写入所述Flash模拟器中。
8.根据权利要求7所述的方法,其特征在于,判断所述替换页中的数据是否存在于所述Flash模拟器中,包括:
判断所述替换页中的数据是否为与所述写操作对应的数据,如果是,则确定所述替换页中的数据不存在于所述Flash模拟器中,如果否,则判断所述替换页中的数据是否为由所述Flash模拟器写入的数据,如果所述替换页中的数据是为由所述Flash模拟器写入的数据,则确定所述替换页中的数据存在于所述Flash模拟器中,如果所述替换页中的数据不为由所述Flash模拟器写入的数据,则确定所述替换页中的数据不存在于所述Flash模拟器中。
9.根据权利要求1所述的方法,其特征在于,还包括:
定时将所述DRAM模拟器中存储的且不存在于所述Flash模拟器中的数据写入至所述Flash模拟器中。
10.一种数据存取装置,其特征在于,包括混合内存控制器、DRAM模拟器及Flash模拟器,其中:
混合内存控制器接收写请求,并判断DRAM模拟器中是否存在与所述写请求对应的地址,如果是,则利用所述DRAM模拟器实现对应的写操作;如果否,则判断Flash模拟器中是否存在与所述写请求对应的地址,如果所述Flash模拟器中存在与所述写请求对应的地址,则利用所述Flash模拟器实现对应的写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610282531.3A CN105975406B (zh) | 2016-04-29 | 2016-04-29 | 一种数据存取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610282531.3A CN105975406B (zh) | 2016-04-29 | 2016-04-29 | 一种数据存取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105975406A CN105975406A (zh) | 2016-09-28 |
CN105975406B true CN105975406B (zh) | 2019-05-10 |
Family
ID=56994846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610282531.3A Active CN105975406B (zh) | 2016-04-29 | 2016-04-29 | 一种数据存取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105975406B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528454B (zh) * | 2016-11-04 | 2019-03-29 | 中国人民解放军国防科学技术大学 | 一种基于闪存的内存系统缓存方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004031960A1 (en) * | 2002-10-01 | 2004-04-15 | Texas Instruments Incorporated | Flash emulator |
CN1499382A (zh) * | 2002-11-05 | 2004-05-26 | 华为技术有限公司 | 廉价冗余磁盘阵列系统中高效高速缓存的实现方法 |
CN100481022C (zh) * | 2004-02-16 | 2009-04-22 | 三星电子株式会社 | 用于控制非易失性存储器的控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4910360B2 (ja) * | 2005-10-20 | 2012-04-04 | ソニー株式会社 | 記憶装置、コンピュータシステム、およびデータ書き込み方法 |
-
2016
- 2016-04-29 CN CN201610282531.3A patent/CN105975406B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004031960A1 (en) * | 2002-10-01 | 2004-04-15 | Texas Instruments Incorporated | Flash emulator |
CN1499382A (zh) * | 2002-11-05 | 2004-05-26 | 华为技术有限公司 | 廉价冗余磁盘阵列系统中高效高速缓存的实现方法 |
CN100481022C (zh) * | 2004-02-16 | 2009-04-22 | 三星电子株式会社 | 用于控制非易失性存储器的控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN105975406A (zh) | 2016-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063943B (zh) | Nand闪存参数自动检测系统 | |
CN110114758A (zh) | 存储器的针对性清除 | |
CN101999117B (zh) | 能像光盘驱动器操作的存储器驱动器及用于将存储器驱动器虚拟化为光盘驱动器的方法 | |
CN107273046B (zh) | 一种基于固态盘阵列的数据处理方法及系统 | |
CN105224474B (zh) | 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置 | |
CN104360825B (zh) | 一种混合内存系统及其管理方法 | |
CN111651371B (zh) | 非对称型平面管理方法以及数据存储装置及其控制器 | |
CN106856098B (zh) | 一种用于DRAM或eDRAM刷新的装置及其方法 | |
CN106802870B (zh) | 一种高效的嵌入式系统芯片Nor-Flash控制器及控制方法 | |
US20180081563A1 (en) | Method and apparatus for reducing memory access latency | |
CN104035886B (zh) | 磁盘重映射方法、装置及电子设备 | |
US10169160B2 (en) | Database batch update method, data redo/undo log producing method and memory storage apparatus | |
CN104133640B (zh) | 从休眠快速恢复 | |
CN110032474A (zh) | 一种快照占用容量的确定方法、系统及相关组件 | |
CN103019956A (zh) | 一种对缓存数据的操作方法和装置 | |
CN106547472B (zh) | 存储阵列管理方法及装置 | |
CN114138570A (zh) | 一种fpga的测试方法、系统、设备以及介质 | |
CN105975406B (zh) | 一种数据存取方法及装置 | |
CN109324980A (zh) | 一种l2p表管理方法、数据读取方法、装置及设备 | |
CN102567243B (zh) | 存储设备的刷新处理方法和存储设备 | |
CN115826882B (zh) | 一种存储方法、装置、设备及存储介质 | |
CN102609224A (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
CN104503924A (zh) | 一种分层存储系统中的区域分配方法及装置 | |
CN103970683A (zh) | 一种加速u盘启动的方法 | |
CN110209600B (zh) | 一种基于精简lun的cache空间分配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |