闪存和磁盘转换存取方法转让专利

申请号 : CN201110415596.8

文献号 : CN102567244B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王瑀屏白石尹杰谭刚胡事民

申请人 : 清华大学

摘要 :

本发明公开了一种闪存和磁盘转换存取方法,涉及计算机存储介质技术领域,包括:S1:接收文件系统发来的读写请求;S2:解析出所述读写请求中的逻辑地址,查找地址映射表得到实际的物理地址,所述地址映射表中包含了从逻辑地址到闪存和磁盘的实际物理地址的映射关系;S3:根据所述物理地址将原始的读写请求转化为具体的物理设备上各自的读写请求;S4:根据各自的读写请求控制闪存和磁盘各自的控制器完成数据的读写;S5:将读写完成后的回传数据根据所述逻辑地址返回给所述文件系统。利用本发明的方法在读写具有闪存和磁盘的混合存储系统时缩短了对存储系统的访问时间。

权利要求 :

1.一种闪存和磁盘转换存取方法,其特征在于,包括以下步骤:S1:接收文件系统发来的读写请求;

S2:解析出所述读写请求中的逻辑地址,查找地址映射表得到实际的物理地址,所述地址映射表中包含了从逻辑地址到闪存和磁盘的实际物理地址的映射关系;

S3:根据所述物理地址将原始的读写请求转化为具体的物理设备上各自的读写请求,所述步骤S3具体包括:通过所述物理地址找到相应的闪存或磁盘物理设备;

在相应的物理设备上找到所需求的数据对应的物理地址,对原始逻辑地址上数据的读写操作即是对找到的物理地址上的数据的读写操作;

S4:根据各自的读写请求控制闪存和磁盘各自的控制器完成数据的读写;

S5:将读写完成后的回传数据根据所述逻辑地址返回给所述文件系统。

2.如权利要求1所述的闪存和磁盘转换存取方法,其特征在于,所述闪存和磁盘的物理地址顺序统一地编排在所述地址映射表中。

3.如权利要求1所述的闪存和磁盘转换存取方法,其特征在于,所述步骤S5具体包括:获取从闪存或磁盘物理设备上传来的数据;

将所述数据按请求时对应的逻辑地址传送给发出请求的文件系统。

4.如权利要求1~3中任一项所述的闪存和磁盘转换存取方法,其特征在于,所述步骤S5之后还包括:从文件系统中获取数据的访问模式,所述访问模式包括:数据的访问频率,磁盘上磁头的移动情况和对数据进行改写的次数;根据数据的访问模式的不同将数据迁移到不同的物理存储位置,并保持逻辑地址和相应读写数据的映射关系不变。

5.如权利要求4所述的闪存和磁盘转换存取方法,其特征在于,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:将读频率大而写频率相对较小的数据移动到闪存上,并根据移动后的物理地址修改所述地址映射表。

6.如权利要求4所述的闪存和磁盘转换存取方法,其特征在于,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:将引起磁头较大范围移动的数据移动到闪存上,并根据移动后的物理地址修改所述地址映射表。

7.如权利要求4所述的闪存和磁盘转换存取方法,其特征在于,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:将写频率大的数据移动到磁盘上,并根据移动后的物理地址修改所述地址映射表。

8.如权利要求4所述的闪存和磁盘转换存取方法,其特征在于,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:将在磁盘上具有相继访问关系的数据移动到同一个区域内,并根据移动后的物理地址修改所述地址映射表。

说明书 :

闪存和磁盘转换存取方法

技术领域

[0001] 本发明涉及计算机存储介质技术领域,特别涉及一种闪存和磁盘转换存取方法。

背景技术

[0002] 随着闪存技术的发展,在存储领域,闪存已近逐渐成为能够和磁盘齐头并进的辅助存储介质。目前磁盘的容量为TB级别,而一些基于闪存技术的固态硬盘的容量已经可以达到上百GB。由于闪存和磁盘都存在各自的优点,如何综合各自的优点,并且避免各自的缺点就成为了一个主要的问题。之前的研究主要集中于非对等地位的混合、磁盘内部以及闪存内部的优化。非对等地位即是闪存作为磁盘缓存的方式而存在。而基于对等地位的闪存磁盘混合磁盘的研究重点在于磁盘阵列或者大型机。事实上,在通常的个人电脑中,这种混合磁盘的优化也具有很重大的意义。
[0003] 数据从磁盘上加载的过程,包括磁头的寻道时间及盘片的旋转时间。由于用户操作的复杂性,磁头的位置是随机的,因此这个延迟无法避免。而如果数据存放在闪存上,则不存在这样的时间延迟。虽然在非对等的混合系统中,闪存作为磁盘缓存在一定程度上相对缩小了时间的延迟,但主要是以磁盘作为存储介质,这种时间延迟仍然较大。因此,在同时具有闪存和磁盘的存储系统中,如何缩短访问时间是目前基带解决的问题。

发明内容

[0004] (一)要解决的技术问题
[0005] 本发明要解决的技术问题是:如何在读写具有闪存和磁盘的混合存储系统时缩短对存储系统的访问时间。
[0006] (二)技术方案
[0007] 为解决上述技术问题,本发明提供了一种闪存和磁盘转换存取方法,包括以下步骤:
[0008] S1:接收文件系统发来的读写请求;
[0009] S2:解析出所述读写请求中的逻辑地址,查找地址映射表得到实际的物理地址,所述地址映射表中包含了从逻辑地址到闪存和磁盘的实际物理地址的映射关系;
[0010] S3:根据所述物理地址将原始的读写请求转化为具体的物理设备上各自的读写请求;
[0011] S4:根据各自的读写请求控制闪存和磁盘各自的控制器完成数据的读写;
[0012] S5:将读写完成后的回传数据根据所述逻辑地址返回给所述文件系统。
[0013] 其中,所述闪存和磁盘的物理地址顺序统一地编排在所述地址映射表中。
[0014] 其中,所述步骤S3具体包括:
[0015] 通过所述物理地址找到相应的闪存或磁盘物理设备;
[0016] 在相应的物理设备上找到所需求的偏移地址。
[0017] 其中,所述步骤S5具体包括:
[0018] 获取从闪存或磁盘物理设备上传来的数据;
[0019] 将数据与逻辑地址相对应,并传送给发出请求的文件系统。
[0020] 其中,所述步骤S5之后还包括:从文件系统中获取数据的访问模式,所述访问模式包括:数据的访问频率,磁盘上磁头的移动情况和对数据进行改写的次数;根据数据的访问模式的不同将数据迁移到不同的物理存储位置,并保持逻辑地址和相应读写数据的映射关系不变。
[0021] 其中,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:
[0022] 将读频率大而写频率相对较小的数据移动到闪存上,并根据移动后的物理地址修改所述地址映射表。
[0023] 其中,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:
[0024] 将引起磁头较大范围移动的数据移动到闪存上,并根据移动后的物理地址修改所述地址映射表。
[0025] 其中,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:
[0026] 将写频率大的数据移动到磁盘上,并根据移动后的物理地址修改所述地址映射表。
[0027] 其中,根据数据的访问模式的不同将数据迁移到不同的物理存储位置的方式为:
[0028] 将在磁盘上具有相继访问关系的数据移动到同一个区域内,并根据移动后的物理地址修改所述地址映射表。
[0029] (三)有益效果
[0030] 本发明的方法通过地址映射表对闪存和磁盘的物理地址分别映射转换,使得闪存和磁盘各自独立的存取数据,即两者在系统中处于对等地位,一定程度上减少了磁头的寻道及盘片的旋转过程,节省了对存储系统的访问时间;另外根据各自存储性能优势存储不同的数据,从而大大缩短了对存储系统的访问时间。

附图说明

[0031] 图1是本发明实施例的一种闪存和磁盘转换存取方法流程图;
[0032] 图2是图1的方法中所采用的地址映射表的映射示意图;
[0033] 图3是在闪存和磁盘之间数据迁移示意图;
[0034] 图4是实现图1方法的一种闪存和磁盘转换层软件系统架构示意图及与外围系统的连接图。

具体实施方式

[0035] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0036] 如图1所示,为本发明实施例的一种闪存和磁盘转换存取方法流程图,该方法包括:
[0037] 步骤S101,接收文件系统发来的读写请求。
[0038] 步骤S102,解析出读写请求中的逻辑地址,查找地址映射表得到实际的物理地址,如图2所示,地址映射表中包含了从逻辑地址到闪存和磁盘的实际物理地址的映射关系。本实施例中的地址映射表包含逻辑地址到磁盘物理地址的映射,以及逻辑地址到闪存物理地址的映射。逻辑地址在整个空间中是连接编排的。相邻的逻辑地址可以映射到不相邻的物理地址上,甚至可以映射到不同的物理设备上。从映射关系可看出,磁盘和闪存在整个存储系统中处于对等的地位。
[0039] 步骤S103,根据物理地址将原始的读写请求转化为具体的物理设备上各自的读写请求。具体包括步骤:通过物理地址找到相应的闪存或磁盘物理设备;在相应的物理设备上找到所需求的数据对应的物理地址。对原始逻辑地址上数据的读写操作就是对找到的物理地址上的数据的读写操作。这样原始的读写请求就转化为了在物理设备上的读写请求。
[0040] 步骤S104,根据各自的读写请求控制闪存和磁盘各自的控制器完成数据的读写,即将各自的读写请求分别发送给闪存和磁盘各自的控制器,由各自的控制器完成读写操作。
[0041] 步骤S105,将读写完成后的回传数据根据逻辑地址返回给文件系统。获取从闪存或磁盘物理设备上传来的数据,这些数据就是上层文件系统请求的对应逻辑地址上的数据。将数据按请求时对应的逻辑地址传送给发出请求的文件系统。
[0042] 根据以上的地址映射表及数据存取方法,使得闪存和磁盘各自独立的存取数据,即两者在系统中处于对等地位,一定程度上减少了磁头的寻道及盘片的旋转过程,节省了对存储系统的访问时间,减小了系统资源开销。
[0043] 优选地,为了更加缩短对存储系统的访问时间及系统开销,根据两种存储介质的优势,对数据进行迁移。如图3所示,本实施例中的数据迁移包含数据从磁盘的一个位置迁移到磁盘上其它更适合的位置,数据从磁盘上迁移到闪存设备上,数据从闪存设备上迁移到磁盘设备上,从而使得不同访问模式的数据位于合理的存储位置,其中,访问模式包括:数据的访问频率,磁盘上磁头的移动情况和对数据进行改写的次数等。具体迁移数据的方式包括:
[0044] 将读频率大而写频率相对较小的数据移动到闪存上;
[0045] 将引起磁头较大范围移动的数据移动到闪存上;
[0046] 将写频率大的数据移动到磁盘上;
[0047] 将在磁盘上具有相继访问关系的数据移动到同一个区域内。
[0048] 迁移后根据迁移后的物理地址修改地址映射表,同时保持逻辑地址和相应读写数据的映射关系不变。
[0049] 上述数据迁移的过程一般在步骤S105之后执行,但也不是每次读写完成后都执行,可以在执行一定的读写操作次数完成后进行数据迁移。
[0050] 如图4所示,为具体实现上述方法的一种闪存和磁盘转换层软件系统架构示意图及与外围系统的连接图。
[0051] I/O接口接收文件系统发来的读写请求,以请求为读逻辑地址0x100处的长度为4千字节的数据和写0x200处长度为4千字节这两个请求为例进行说明。首先将该读写请求传送给闪存和磁盘转换层管理模块。
[0052] 闪存和磁盘转换层管理模块解析出第一个读请求中的逻辑地址0x100,查找地址映射表得到实际的物理地址,设映射的物理地址为闪存介质上的0x16,根据物理地址将原始的读写请求转化为对闪存物理设备上的读请求,并将该读请求传送给读写控制模块。
[0053] 读写控制模块将这个读请求传送给闪存的控制器,由闪存的控制器完成物理地址为0x16处的读4千字节的操作。
[0054] 读操作完成后,读写控制模块通过闪存控制器得到回传的4千字节数据,并将回传的4千字节数据传送给闪存和磁盘转换层管理模块,由闪存和磁盘转换层管理模块将这4千字节回传数据传送给I/O接口,由I/O接口根据逻辑地址0x100将这4千字节回传数据发送给文件系统。
[0055] 第一个读写请求处理完成后,进行第二个读写请求的处理过程。闪存和磁盘转换层管理模块解析出第二个读写请求中的逻辑地址0x200,查找地址映射表得到实际的物理地址,设映射的物理地址为磁盘介质上的0x1024,根据物理地址将原始的写请求转化为对磁盘物理设备上的写操作请求,并将该写请求传送给读写控制模块。
[0056] 读写控制模块将这个写请求传送给磁盘的控制器,由磁盘的控制器完成物理地址为0x1024处的写4千字节的操作。这样写操作就完成了闪存和磁盘之间数据迁移模块在合适的时候执行上述数据迁移操作,数据迁移后并通过闪存和磁盘转换层管理模块对地址映射表进行修改。
[0057] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。