【技术实现步骤摘要】
一种基于混合DRAM
‑
NVM内存的冷热键值识别方法
[0001]本专利技术属于计算机数据存储领域,具体涉及一种基于混合DRAM
‑
NVM内存的冷热键值识别方法。
技术介绍
[0002]近年来,一些新型的非易失内存(Non
‑
Volatile Memory,NVM)技术开始涌现,如相变存储器(PCM)、忆阻器(ReRAM)、自旋扭矩磁存储器(STT
‑
MRAM)和3D
‑
XPoint等。相较于传统的DRAM内存技术,NVM具有磁盘的掉电非易失,高存储密度,功耗低的特性,同时也具备DRAM按字节修改寻址,低读写延迟的特性。因此使用NVM技术弥补了DRAM内存系统内存容量不足以及功耗高的不足。但当前NVM技术仍然存在读写延迟不对称和磨损次数有限等缺点,所以NVM更适合与DRAM共同连接到计算机系统的内存总线组成混合内存。
[0003]键值对是数据库最简单的组织形式,其中键是值的索引编号,值是数据库要存放的数据,在用户查询数据时,只需要提供待查询的键,就可以在数据库中查询获得其对应的值。例如在电话号码数据库中,键:小马,值:18753137777,<小马,18753137777>就是一个键值对,用户通过待查询的键“小马”,就可以获取其电话号码18753137777。目前键值对广泛应用于各种数据库,例如Redis,Voldemort,Oracle BDB。哈希索引则是数据库中一种常用的查询键值对的数据 ...
【技术保护点】
【技术特征摘要】
1.一种基于混合DRAM
‑
NVM内存的冷热键值识别方法,采用桶式数组结构构建哈希表,其特征在于包括以下步骤:第一步,构建并初始化NVM表,将NVM表存储在NVM中,方法是:1.1采用桶式数组结构构建NVM表,NVM表含有N个哈希桶,N为正整数,每个哈希桶含有8个哈希单元,每个哈希单元的大小为32字节,一个哈希单元存储一个键值对<key,value>,key表示存储元素的键,value表示存储元素的值;通过桶地址转换函数,使用键值对的key计算得到哈希桶地址,令为p,作为索引NVM表的哈希桶地址,通过哈希桶地址可以准确定位NVM表的哈希桶,桶地址转换函数的计算公式是:P=hash(key)%N其中p为哈希桶地址,hash()为c++标准模板库中的标准哈希函数,N为NVM表的哈希桶总数,“%”为取模操作;1.2将用户需要存储的M个键值对<key1,value1>,
…
,<key
m
,value
m
>,
…
,<key
M
,value
M
>插入到NVM表中;1.3将NVM表存储在NVM中;第二步,构建并初始化缓存表,将缓存表存储在DRAM中,方法是:2.1采用桶式数组结构构建缓存表,缓存表也含有N个缓存桶,每个桶含有4个缓存单元,每个缓存单元的大小为33字节,包含1字节的用于标识缓存单元中键值对冷热程度的hotmap标识符和32字节的热键值,使用第一步所述的桶地址转换函数,利用键值对的键key计算获得缓存桶地址p,作为索引缓存表的缓存桶地址;2.2将用户需要存储的M个键值对<key1,value1>,
…
,<key
m
,value
m
>,
…
,<key
M
,value
M
>插入到缓存表中,并在插入一个键值对后将该键值对所位于的缓存单元的hotmap值初始化为1;2.3将缓存表存储在DRAM中;第三步,确定待查询的键值对在缓存桶和哈希桶的地址,方法是:3.1从键盘接收用户输入的待查询的键值对的键,令为key
X
,采用桶地址转换函数,利用keyx计算出缓存桶地址,令为pp;3.2采用桶地址转换函数,利用keyx计算出哈希桶地址,令为pt;第四步,将keyx与缓存表中地址为pp的缓存桶中的4个缓存单元中的元素进行匹配,方法是:4.1令缓存单元变量i=1;4.2利用keyx匹配缓存表中地址为pp的缓存桶的第i个缓存单元,若匹配...
【专利技术属性】
技术研发人员:朱俊豪,黄成龙,方粮,李成,易品筠,马德胜,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。