一种适应不同大小的用户请求的固态硬盘处理方法

文档序号:26589168发布日期:2021-09-10 20:18阅读:85来源:国知局
一种适应不同大小的用户请求的固态硬盘处理方法

1.本发明涉及数据固态硬盘存储领域,尤其涉及一种适应不同大小的用户请求的固态硬盘处理方法。


背景技术:

2.随着云计算、移动互联网等新一代信息技术的快速发展,信息化发展日渐成熟,全球数据量的增速之快前所未有。根据《数字时代2025》的预测,到 2025 年,全世界产生的数据将扩展至 163zb,相当于 2016 年所产生 16.1zb 数据的十倍。海量数据的处理和存储,对存储系统的存储速度、功耗、数据可靠性、抗震性等方面都提出了更严格的要求,人们对存储设备的要求越来越高。
3.机械硬盘因为其机械组件的约束,无法从根本上解决其读写缓慢、能耗高等问题,很难满足用户的存储需求,制约着计算机的整体性能。随着半导体技术的发展,以nand作为存储介质的固态硬盘因为其低功耗、存取响应速度快、轻薄抗震、低发热量和低噪声等优点,已成为高性能计算和存储系统的必备单元,并且广泛应用与军事、医疗、视频监控等领域。
4.在现有的固态硬盘中,引入闪存转换层(flash translation layer)完成逻辑地址到物理地址的映射,主要是通过维护一张地址映射表来解决。逻辑地址是指从操作系统等上层软件所感知到的固态硬盘的存储地址,物理地址则是固态硬盘中实际访问的存储单元的地址。
5.地址映射是闪存转换层的核心功能。现有的地址映射算法中,当固态硬盘响应一个请求时,主机会发出读写命令和逻辑地址,文件系统依据映射表将逻辑地址转换为物理地址,然后对物理地址中存储的数据进行操作。在固态硬盘对数据进行读写时,时间局部性和空间局部性都在数据访问性能方面有着重要作用。但是许多现有的经典映射算法在读写过程中都将时间局部性放在第一位。虽然这样的处理方式,在时间局部性很好的条件下,展示了很好的读写性能。但是对于连续的请求,无法快速提高固态硬盘的读写性能。因此,需要发明一种同时考虑时间和空间局部性的固态硬盘用户读写请求处理方法。


技术实现要素:

6.本发明的目的在于提供一种适应不同大小的用户请求的固态硬盘处理方法,结合数据访问的时间局部性和空间局部性特征,提高固态硬盘的读写性能。
7.本发明采用的技术方案是:一种适应不同大小的用户请求的固态硬盘处理方法,其包括以下步骤:s1.闪存转换层采用按需的页级映射算法,根据时间局部性的特征在闪存转换层的缓存中存储经常访问请求的映射项;然后再根据空间局部性的特征建立随机请求映射信息表、连续请求映射信息表、连续请求物理地址表三级缓存结构,并且建立全局翻译目录记录翻译页的物理地址;
s2.当接收到来自上层文件系统的读写请求时,根据用户请求的大小差异将请求分类为随机请求和连续请求;s3.首先根据读写请求的逻辑地址查找随机请求映射信息表,判断是否找到对应映射信息;是则,获取对应的物理地址并返回物理地址并执行s7;否则,执行s4;s4.查询连续请求映射信息表,判断是否找到对应映射信息;是则,执行s5;否则,执行s6;s5.判断连续请求的访问次数是否超过设定访问阈值;是则,将对应的映射信息加载到随机请求映射信息表并将连续请求映射信息表的映射信息清除后返回物理地址并执行s7;否则,直接获取对应的物理地址并返回物理地址并执行s7;s6.查询全局翻译目录,并判定当前读写请求是否为连续请求;是则,预取连续请求中所有逻辑地址对应的物理地址写入连续请求映射信息表;否则,将读写请求对应的所有逻辑地址对应的映射关系写入随机请求映射信息表;s7.得到固态硬盘的物理地址后完成数据的传输和写入,返回用户请求的处理结果。
8.进一步地,作为一种较优实施方式,随机请求映射信息表用于缓存动态加载的映射信息,包括随机请求的映射信息同时还会存储访问比较频繁的连续请求,保存的是逻辑地址和对应的物理地址;连续请求映射信息表用于缓存连续请求的映射信息,连续请求映射信息表记录的内容包括连续请求的起始逻辑地址、请求的物理地址状态、物理地址;连续请求映射信息表中引入一个状态位表示该请求的物理地址是否连续,1表示物理地址全连续,0表示物理地址不全连续;当物理地址全连续,则记录起始逻辑地址对应的物理地址;否则,将物理地址写入连续请求物理地址表,然后再记录在连续请求物理地址表的位置。
9.连续请求物理地址表用于辅助连续请求映射信息表以记录连续请求对应的物理地址,使用两个状态位来表示当前物理地址与前一个物理地址的连续状态。连续请求物理地址表中表示物理地址之间的连续状态的两个状态位分别为:第一位表示映射条目是否为连续物理地址的头条目,1表示该映射项是头条目,0则表示不是头条目;第二位表示该条目是属于中断的长序列还是属于更新的短序列,0表示中断的长序列。
10.进一步地,作为一种较优实施方式,s2的具体步骤为:s2

1,判断读写请求的大小是否超过设定随机请求的阈值;是则,将读写请求分类为连续请求并执行s2

2;否则,将读写请求分类为随机请求并完成读写请求分类;s2

2,判断连续请求是否大于第二设定值;是则,将连续请求分割成若干固定大小的子请求;否则,完成读写请求分类。
11.进一步地,作为一种较优实施方式,s6中连续请求中所有逻辑地址对应的物理地址中包括的不连续的物理地址数量超过设定的数量时,将连续请求中所有逻辑地址对应的物理地址写入随机请求映射信息表;进一步地,作为一种较优实施方式,预取映射信息是指当用户请求的映射信息并未存储在映射信息表中,用户请求首先通过请求分类和连续请求分割完成请求处理;当处理后的请求首次到来时,读取该请求对应的所有映射关系并将其写入对应的映射信息表中,而此次数据传输的逻辑地址为该请求的起始逻辑地址,读取固态硬盘对应的物理页,完
成一次数据传输;该请求剩余的未完成数据传输的逻辑地址,则是将请求大小设置为1,再依次完成地址映射。
12.本发明采用以上技术方案,与现有技术相比具有以下有益效果:(1)本发明利用数据访问的时间局部性特征,将频繁被读的数据存入缓存中,降低读请求的响应时延。(2)本发明根据数据访问的空间局部性特征,建立三级缓存数据结构,使得有限的缓存空间可以存放更多的映射关系。(3)本发明通过对不同的用户请求使用不同的映射策略,达到提高固态硬盘的读写速度的效果。(4)本发明通过预取映射信息的方式,达到降低固态硬盘响应时间的目的。综述所述,使用本发明可以使固态硬盘的闪存转换层设计适应用户访问请求的大小差异,最终达到提高固态硬盘读写性能的目的。
附图说明
13.以下结合附图和具体实施方式对本发明做进一步详细说明;图1为三级缓存数据结构示意图;图2为位图设计示意图;图3为物理地址全连续的映射信息;图4为物理地址非全连续的映射关系示意图;图5为请求分类流程示意图;图6为请求映射流程示意图;图7为用户请求处理方法的总流程示意图。
具体实施方式
14.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图对本技术实施例中的技术方案进行清楚、完整地描述。
15.如图1至图7之一所示,本发明公开了一种应用户请求大小差异的固态硬盘用户读写请求处理方法,其包括以下步骤:s1.闪存转换层采用按需的页级映射算法,根据时间局部性的特征在闪存转换层的缓存中存储经常访问请求的映射项;然后再根据空间局部性的特征建立随机请求映射信息表、连续请求映射信息表、连续请求物理地址表三级缓存结构,并且建立全局翻译目录记录翻译页的物理地址;s2.当接收到来自上层文件系统的读写请求时,根据用户请求的大小差异将请求分类为随机请求和连续请求;s3.首先根据读写请求的逻辑地址查找随机请求映射信息表,判断是否找到对应映射信息;是则,获取对应的物理地址并返回物理地址并执行s7;否则,执行s4;s4.查询连续请求映射信息表,判断是否找到对应映射信息;是则,执行s5;否则,执行s6;s5.判断连续请求的访问次数是否超过设定访问阈值;是则,将对应的映射信息加载到随机请求映射信息表并将连续请求映射信息表的映射信息清除后返回物理地址并执行s7;否则,直接获取对应的物理地址并返回物理地址并执行s7;s6.查询全局翻译目录,并判定当前读写请求是否为连续请求;是则,预取连续请
求中所有逻辑地址对应的物理地址写入连续请求映射信息表;否则,将读写请求对应的所有逻辑地址对应的映射关系写入随机请求映射信息表;s7.得到固态硬盘的物理地址后完成数据的传输和写入,返回用户请求的处理结果。
16.下面就本发明的具体工作原理作详细说明:实施例一:随机请求处理方法,其具体步骤如下:s1.闪存转换层采用按需的页级映射算法,根据时间局部性的特征,在闪存转换层的ram中存储经常访问请求的映射项。然后再根据空间局部性的特征,建立随机请求映射信息表、连续请求映射信息表、连续请求物理地址表三级缓存结构,并且建立全局翻译目录,记录翻译页的物理地址;于本实施例中,所述的三级缓存数据结构如图1所示。所述的随机映射信息表存储的是逻辑地址和对应的物理地址;所述的连续请求映射信息表存储的是起始逻辑地址、状态位和位置;所述的连续请求物理地址表存储的是位图和物理地址。而位图的表示方法如图2所示,使用两个状态位表示一个物理地址与上个物理地址之间的连续状态,演示了不同物理地址的位图表示情况。
17.s2.当接收到来自上层文件系统的读写请求时,将根据用户请求的大小差异,将请求分类为不同请求类型:随机请求和连续请求。
18.于本实施例中,所述请求分类方法,是通过分析数据请求的特征,设置随机请求大小的阈值。根据该阈值,将大小未超过该阈值的请求分类为随机请求,超过该阈值的请求则分为连续请求。根据上述分类方法,本例中的用户请求被分类为随机请求。
19.s3.首先根据逻辑地址查找随机请求映射信息表,若找到对应的物理地址,则返回物理地址,转s4;若没有找到该物理地址,转s6。
20.s4.查询连续请求映射信息表,若找到对应的物理地址,转s6,否则转s5。
21.s5.查询全局翻译目录,该请求对应的所有逻辑地址写入随机请求映射信息表,得到对应的物理地址。
22.于本实施例中,用户请求的映射信息未存储在映射信息表中。用户请求首先通过上述分类和分割等方式完成了请求处理。但是固态硬盘读取数据页时以一个页为单位进行的。因此当处理后的请求首次到来时,读取该请求对应的所有映射关系并将其写入对应的映射信息表中。而此次数据传输的逻辑地址为该请求的起始逻辑地址,读取固态硬盘对应的物理页,完成一次数据传输。该请求剩余的未完成数据传输的逻辑地址,则是将请求大小设置为1,再依次完成地址映射。
23.s6.得到固态硬盘的物理地址后,完成数据的传输和写入,返回用户请求的处理结果。
24.实施例二:连续请求处理方法,其具体步骤如下:s1.闪存转换层采用按需的页级映射算法,根据时间局部性的特征,在闪存转换层的ram中存储经常访问请求的映射项。然后再根据空间局部性的特征,建立随机请求映射信息表、连续请求映射信息表、连续请求物理地址表三级缓存结构,并且建立全局翻译目录,记录翻译页的物理地址;于本实施例中,所述的三级缓存数据结构如图1所示。所述的随机映射信息表存储
的是逻辑地址和对应的物理地址;所述的连续请求映射信息表存储的是起始逻辑地址、状态位和位置;所述的连续请求物理地址表存储的是位图和物理地址。而位图的表示方法如图2所示,使用两个状态位表示一个物理地址与上个物理地址之间的连续状态,演示了不同物理地址的位图表示情况。
25.s2.当接收到来自上层文件系统的读写请求时,将根据用户请求的大小差异,将请求分类为不同请求类型:随机请求和连续请求。
26.于本实施例中,所述请求分类方法,是通过分析数据请求的特征,设置随机请求大小的阈值,根据该阈值,将大小未超过该阈值的请求分类为随机请求,超过该阈值的请求则分为连续请求。根据上述分类方法,本例中的用户请求被分类为连续请求。
27.s3. 对于连续的请求,如果请求过大,将请求分割成固定大小的子请求。
28.于本实施例中,所述连续请求分割,是根据用户请求数据的长度特征,设置子请求的固定长度。然后将连续请求按照先设定好的固定长度分割成多个子请求。
29.s4.首先根据逻辑地址查找随机请求映射信息表,若找到对应的物理地址,则返回物理地址,转s8;若没有找到该物理地址,转s5。
30.s5.查询连续请求映射信息表,若找到对应的物理地址,转s6,否则转s9。
31.s6.如果其访问次数超过设定的阈值,就将其加载到随机请求映射信息表并将连续请求映射信息表的映射信息清除,返回物理地址,转s9;否则直接返回物理地址,转s9。
32.于本实施例中,由于连续请求可能是由较大的请求分割而来,而这类请求的访问频率较低。因此将连续请求中访问较为频繁的映射信息加载到随机请求映射信息表中,并在连续请求映射信息表中进行剔除。
33.s7.查询全局翻译目录,如果连续请求中所有逻辑地址对应的物理地址,其中不连续的物理地址超过设定的数量,就将其写入随机请求映射信息表,转s9;否则转s8s8. 根据该请求物理地址的连续状态,将信息加载到连续请求映射信息表和连续请求物理地址表中。
34.于本实施例中,图3和图4分别举例介绍了两种物理地址状态下,映射信息表中存储的相关映射信息。图3为该请求逻辑地址对应的所有物理地址都是连续的,则直接将其写入到连续请求映射信息表,无需写入信息到连续请求物理地址表。图4则介绍了其对应物理地址并非都是连续的,则需要分别写入相关信息到连续请求映射信息表和连续请求物理地址表中。
35.s9. 得到固态硬盘的物理地址后,完成数据的传输和写入,返回用户请求的处理结果。
36.本发明采用以上技术方案,与现有技术相比具有以下有益效果:(1)本发明利用数据访问的时间局部性特征,将频繁被读的数据存入缓存中,降低读请求的响应时延。(2)本发明根据数据访问的空间局部性特征,建立三级缓存数据结构,使得有限的缓存空间可以存放更多的映射关系。(3)本发明通过对不同的用户请求使用不同的映射策略,达到提高固态硬盘的读写速度的效果。(4)本发明通过预取映射信息的方式,达到降低固态硬盘响应时间的目的。综述所述,使用本发明可以使固态硬盘的闪存转换层设计适应用户访问请求的大小差异,最终达到提高固态硬盘读写性能的目的。
37.显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。在不冲突的
情况下,本技术中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1