【技术实现步骤摘要】
【国外来华专利技术】
本公开涉及储存系统,并且特别涉及一种对储存系统中的数据进行高效存储与检索的元数据组织。
技术介绍
储存系统通常包括一个或多个存储装置,例如具体化为硬盘驱动器(HDD)或者固态驱动器(SSD)的磁盘。根据需要可以将信息输入存储装置以及从存储装置中获取。储存系统可以实施诸如文件系统之类的高层模块以将储存在磁盘上的信息从逻辑上组织为诸如文件或者逻辑单元(LUN)之类的存储对象。每个储存容器可以被实施为诸如数据块和元数据块之类的一组数据结构,数据块用于储存器的数据,元数据块描述储存容器的数据。例如,元数据可以描述(例如识别)用于该数据在磁盘上的存储位置。在传统的文件系统中,在处理诸如读取或写入请求之类的输入/输出(I/O)请求时,可能引起大量元数据更新(变化)。也就是说,与相关联的I/O请求的(待写入)数据量成正比(即,高写入放大)的相对大量的元数据可能被写入。例如,在具有改变LUN的数据(用户数据)的写入数据的写入请求的情况下,该请求在储存系统处的处理可能需要对大量地存取磁盘以获取并且更新与变化的用户数据相关联的一个或多个间接块(元数据)。间接块的更新可能导致大量元数据变化,由此造成高写入放大。在读取请求的情况下,如果在存取磁盘上的所请求的用户数据前需要存取磁盘上的元数据,可能引起大的延迟。例如,如果需要针对每读取请求对两次磁盘存取进行平均,所产生的读取放大使性能减半。此外,如果I/O请求需要打开目录以 ...
【技术保护点】
一种方法,包括:接收具有一范围的写入请求,所述写入请求在具有处理器和存储器的储存系统处被处理,所述储存系统耦接到固态驱动器(SSD);对所述范围应用哈希函数以生成哈希值,所述哈希值包括哈希表选择器、第一哈希表索引以及第二哈希表索引;使用所述哈希表选择器从哈希表组中选择哈希表,每个哈希表被分成多个索引地址空间;使用所述第一哈希表索引作为第一索引在所述哈希表的上索引地址空间中选择第一条目,所述第一条目包括第一组槽,所述第一组槽中的每个槽包括第一密钥和第一位置域;使用所述第二哈希表索引查找所述第一组槽中的每个第一密钥;确定所述第一组槽内是否存在第一自由槽;以及响应于确定存在第一自由槽,将SSD偏移储存在所述第一自由槽的所述第一位置域中,将所述第二哈希表储存为所述第一自由槽的所述第一密钥,以及将所述范围存储在所述SSD上的所述SSD偏移处。
【技术特征摘要】 【专利技术属性】
【国外来华专利技术】2014.01.17 US 14/158,6081.一种方法,包括:
接收具有一范围的写入请求,所述写入请求在具有处理器和存储器的储存
系统处被处理,所述储存系统耦接到固态驱动器(SSD);
对所述范围应用哈希函数以生成哈希值,所述哈希值包括哈希表选择器、
第一哈希表索引以及第二哈希表索引;
使用所述哈希表选择器从哈希表组中选择哈希表,每个哈希表被分成多个
索引地址空间;
使用所述第一哈希表索引作为第一索引在所述哈希表的上索引地址空间中
选择第一条目,所述第一条目包括第一组槽,所述第一组槽中的每个槽包括第
一密钥和第一位置域;
使用所述第二哈希表索引查找所述第一组槽中的每个第一密钥;
确定所述第一组槽内是否存在第一自由槽;以及
响应于确定存在第一自由槽,将SSD偏移储存在所述第一自由槽的所述第
一位置域中,将所述第二哈希表储存为所述第一自由槽的所述第一密钥,以及
将所述范围存储在所述SSD上的所述SSD偏移处。
2.根据权利要求1所述的方法,还包括:
使用所述第二哈希表索引作为第二索引在所述哈希表的上索引地址空间中
选择第二条目,所述第二条目包括第二组槽,所述第二组槽中的每个槽包括第
二密钥和第二位置域;
使用所述第一哈希表索引查找所述第二组槽中的每个第二密钥;
确定所述第二组槽内是否存在第二自由槽;以及
响应于确定存在第二自由槽,将所述SSD偏移储存在所述第二位置域中,
将第一哈希表索引储存为所述第二自由槽的所述第二密钥,以及将所述范围存
储在所述SSD上的所述SSD偏移处。
3.根据权利要求2所述的方法,其中,所述第一组槽中的第一数量的槽不
\t同于所述第二槽中的第二数量的槽。
4.根据任一前述权利要求所述的方法,其中,所述哈希值还包括额外密钥
位,并且其中,所述第一组槽的每个槽还包括所述额外密钥位。
5.根据任一前述权利要求所述的方法,所述第一组槽的每个第一密钥缓存
在所述储存系统的所述处理器的一个或多个缓存器行内。
6.根据任一前述权利要求所述的方法,其中,所述第一组槽的每个槽还包
括长度,该长度指示SSD上的一数量的分段。
7.根据任一前述权利要求所述的方法,其中,所述哈希表组的每个表中的
每个条目的每一组槽的槽总数大于221,并且其中,所述哈希表组驻留在所述存
储器中。
8.根据任一前述权利要求所述的方法,其中,所述第一组槽的每个槽还包
括引用计数,该引用计数指示对所述范围的一数量的引用。
9.根据权利要求1所述的方法,还包括:
将所述第一组槽中的第一密钥中的一个匹配至所述第二哈希表索引;
生成第一候选哈希表索引;
使用所述第二哈希表索引作为第二索引在所述哈希表的上索引地址空间中
选择第二条目,所述第二条目包括第二组槽,所述第二组槽中的每个槽包括在
所述SSD上的数据的第二密钥和第二位置域;
使用所述第一哈希表索引查找所述第二组槽中的每个第二密钥;
确定所述第二组槽内是否存在第二自由槽;以及
响应于确定存在第二自由槽,将所述SSD偏移储存在所述第二位置域中,
将第一哈希表索引储存为第二自由槽的所述第二密钥,以及将所述范围储存在
所述SSD上的所述SSD偏移处。
10.一种方法,包括:
接收具有一范围的写入请求,所述写入请求在具有处理器和存储器的储存
系统处被处理,所述储存系统耦接到固态驱动器(SSD);
对所述范围应用哈希函数以生成哈希值,所述哈希值包括哈希表选择器和
第一哈希表索引(K1,K2);
将所述哈希值的哈希空间划分为表示所述范围的一数量的桶;
使用所述哈希表选择器从哈希表组中选择第一哈希表;
使用所述第一哈希表索引的K1哈希表索引对所述第一哈希表进行索引以
从所述第一哈希表中选择第一条目,所述第一条目包括第一组槽,所述第一组
槽中的每个槽包括第一密钥;
将所述第一组槽中的每个第一密钥匹配至所述第一哈希表索引的K2哈希
表索引;
将所述数量添加至所述哈希值的一部分以生成包括第二哈希表索引(K3,
K4)的候选范围密钥;
使用K3哈希表索引对第二哈希表进行索引以选择第二条目,所述第二条
技术研发人员:杰弗里·S·基梅尔,T·拜伦·拉吉吉斯,
申请(专利权)人:网络装置公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。