本发明涉及数据处理技术领域,尤其涉及一种映射表的动态调度方法。
背景技术:
fw采用多张映射表来管理热数据的映射,每当主机来读取闪存数据时,都需要负载对应的映射表来获取逻辑到物理的映射关系。尤其在随机读取的时候,fw在有限的映射表缓冲区内需要不断地换表来获取数据的物理地址,这样会影响读取性能。
技术实现要素:
基于背景技术存在的技术问题,本发明提出了一种映射表的动态调度方法,本发明通过检测主机的行为,针对经常需要用到的表可以优先保留在映射表缓冲区内,实现多张映射表的动态调度来克服此问题。
本发明采用的技术方案是:
映射表的动态调度方法,其特征在于,包括以下步骤:
(1)把大小为x的映射表缓冲区分割成n份;
(2)将主机请求对应的映射表插入到映射表队列的顶端位置,若映射表已经在映射表队列中则将旧的映射表删除后再将该映射表插入到映射表列表的顶端位置;
(3)直到映射表队列满了,再剔除映射表队列尾端位置的映射表;
(4)依次往复,建立动态映射表队列,存放于映射表缓冲区。
本发明的优点是:
本发明通过检测主机的行为,针对经常需要用到的表可以优先保留在映射表缓冲区内,实现多张映射表的动态调度来提高随机读取性能。
附图说明
图1为本发明的流程图。
图2为映射表队列中插入映射表的示意图。
图3为映射表队列中删除映射表队列的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例。
下面仅以映射表缓冲区分割成8份的情况举例说明动态映射表的管理机制。
如图1-3所示,映射表的动态调度方法,包括以下步骤:
(1)把大小为x的映射表缓冲区分割成8份;
(2)将主机请求对应的映射表插入到映射表队列的顶端位置,若映射表已经在映射表队列中则将旧的映射表删除后再将该映射表插入到映射表列表的顶端位置;
(3)直到映射表队列满了,再剔除映射表队列尾端位置的映射表;
(4)依次往复,建立动态映射表队列,存放于映射表缓冲区。
采用上述方法,在映射表队列靠前的表被命中的概率会比较高,而靠后的表由于命中率低随时准备被删除,因此从闪存中读取映射表的次数将大大减少,性能及闪存的寿命均可得到提高。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。