当前位置: 首页 > 专利查询>清华大学专利>正文

并行闪存转换层方法与系统技术方案

技术编号:7612981 阅读:228 留言:0更新日期:2012-07-26 20:56
本发明专利技术提出一种并行闪存转换层方法,包括建立页组和块为单位的混合地址映射机制,其中,页组可分为逻辑页组和物理页组,块可分为逻辑块和物理块;当文件系统发送的I/O请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出预设请求阈值的I/O请求放入I/O请求队列;根据混合地址映射机制对I/O请求队列中的I/O请求分为多组I/O请求子队列,对每组I/O请求子队列并行读写操作,其中,每组I/O请求子队列包括多个I/O请求,多个I/O请求可并行操作。该方法通过并行读写,充分利用并行闪存的优良特性,减少写入和擦除时间,从而降低复杂度,获得高性能。本发明专利技术还公开了一种并行闪存转换层系统。

【技术实现步骤摘要】

本专利技术涉及计算机存储
,特别涉及一种并行闪存转换层方法与系统
技术介绍
目前,NAND闪存被广泛应用于移动电子产品,如移动电话、MP3/MP4播放器、数码相机、掌上电脑、平板电脑、笔记本电脑等。通常闪存用于取代磁盘驱动器,作为非易失性的二级存储介质。与磁盘相比,闪存允许随机访问,具有能耗低、吞吐量高、体积小、抗冲击和便携性等优点。移动电子设备制造商和用户越来越重视闪存的主要原因是,NAND闪存的容量不断增加,但其价格却不断下降。然而,NAND闪存写入和擦除操作消耗的时间较长是存储系统主要的性能瓶颈。闪存转换层(FTL, Flash Translation Layer)是文件系统和下层闪存的一个中间层,为文件系统提供一个同磁盘一样的操作接口。使用闪存转换层可以将闪存的擦除操作延后,使应用程序正常快速运行。一般来说,闪存转换层不能减少文件系统对闪存的写操作,因为它的核心是提供逻辑地址到物理地址的映射。闪存转换层可分为三类页映射、块映射和混合映射闪存转换层。页是读写闪存的基本数据单元。块是闪存擦除操作的基本数据单元。页映射闪存转换层有较好的性能,但需要较多的内存来存储地址映射信息。块映射闪存转换层可以节省大量用于存储映射信息的内存空间,但他们的性能比较低。混合映射闪存转换层提供高性能和低内存要求的平衡, 然而通常过于复杂、不容易实现。传统闪存转换层很少考虑到闪存所提供的并行操作属性,NAND闪存写入和擦除操作消耗的时间制约了电子产品的闪存存储性能。
技术实现思路
本专利技术的目的旨在至少解决上述技术缺陷之一。为此,本专利技术的第一个目的在于提供一种并行闪存转换层方法,该方法通过并行读写,充分利用并行闪存的优良特性,减少写入和擦除时间,从而降低复杂度,获得高性能。 本专利技术的第二个目的在于提供一种并行闪存转换层系统。为达到上述目的,本专利技术第一方面的实施例提出一种并行闪存转换层方法,包括如下步骤建立页组和块为单位的混合地址映射机制,其中,页组可分为逻辑页组和物理页组,块可分为逻辑块和物理块;当文件系统发送的I/o请求的数量超过预设请求阈值时,建立I/o请求队列,并将超出所述预设请求阈值的I/O请求放入所述I/O请求队列;根据所述混合地址映射机制对所述I/O请求队列中的I/O请求分为多组I/O请求子队列,对所述每组I/o请求子队列并行读写操作,其中,每组所述I/O请求子队列包括多个I/O请求,所述多个I/o请求可并行操作。根据本专利技术的并行闪存转换层方法,充分发掘并利用并行闪存的并行属性,能够自动的将并行闪存上的可并行操作进行同时处理,以此减少处理数据输入输出和存储系统垃圾回收的时间,并且减少用于存储映射信息的内存空间,从而降低复杂度,提升存储系统的效率,获得高性能。在本专利技术的一个实施例中,所述建立页组和块为单位的混合地址映射机制,进一步包括将并行闪存划分为多个物理块,以及将每个所述物理块划分为多个物理页组;将逻辑块数据划分为多个逻辑页组;在所述并行闪存的物理块上将所述物理页组分配至所述逻辑页组;当所述逻辑页组更新时,重新将对应的所述物理块上的所述物理页组分配至所述逻辑页组。在本专利技术的一个实施例中,如果所述逻辑块更新后的数据超过对应的所述物理块的所述物体页组的存储容量后,对所述逻辑块分配新的物理块。在本专利技术的一个实施例中,对同一个所述逻辑页组的多个所述物理页组设置标示符,其中,所述标示符用于指示所述物理页组为有效数据或无效数据。在本专利技术的一个实施例中,其特征在于,设置每个所述页组的大小为2-4千字节, 且每个所述块的大小为128-256千字节。在本专利技术的一个实施例中,所述对所述每组I/O请求子队列中的I/O请求并行读写操作在可并行的存储电子板上执行。在本专利技术的一个实施例中,所述可并行的存储电子板大小为256或512兆字节。在本专利技术的一个实施例中,所述的并行闪存转换层方法还包括如下步骤根据所述物理页组的标示符,回收标记为无效数据最多的数据块,建立回收块集合;从所述回收块集合中查找可并行擦除的物理块,并对所述可并行擦除的物理块进行并行擦除操作。在本专利技术的一个实施例中,并行闪存转换层方法还包括如下步骤设置空闲块列表,其中,所述空闲块列表存储有擦除后的物理块;从所述空闲块列表中选取空闲的物理块分配给所述逻辑块。本专利技术第二方面的实施例提出一种并行闪存转换层系统,包括建立模块,所述混建立模块用于建立页组和块为单位的混合地址映射机制,其中,页组可分为逻辑页组和物理页组,块可分为逻辑块和物理块;请求处理模块,所述请求处理模块用于当文件系统发送的I/o请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出所述预设请求阈值的 I/o请求放入所述I/O请求队列;并行操作模块,所述并行操作模块用于根据所述混合地址映射机制对所述I/o请求队列中的I/O请求分为多组I/O请求子队列,对所述每组I/O请求子队列并行读写操作,其中,每组所述I/o请求子队列包括多个I/O请求,所述多个I/O 请求可并行操作。根据本专利技术的并行闪存转换层系统,充分发掘并利用并行闪存的并行属性,能够自动的将并行闪存上的可并行操作进行同时处理,以此减少处理数据输入输出和存储系统垃圾回收的时间,并且减少用于存储映射信息的内存空间,从而降低复杂度,提升存储系统的效率,获得高性能。在本专利技术的一个实施例中,所述建立模块建立页组和块为单位的混合地址映射机制,进一步包括所述建立模块将并行闪存划分为多个物理块,并将每个所述物理块划分为多个物理页组,以及将逻辑块数据划分为多个逻辑页组,在所述并行闪存的物理块上将所述物理页组分配至所述逻辑页组,并当所述逻辑页组更新时,重新将对应的所述物理块上的所述物理页组分配至所述逻辑页组。在本专利技术的一个实施例中,如果所述逻辑块更新后的数据超过对应的所述物理块的所述物体页组的存储容量后,则所述建立模块对所述逻辑块分配新的物理块。在本专利技术的一个实施例中,所述建立模块对同一个所述逻辑页组的多个所述物理页组设置标示符,其中,所述标示符用于指示所述物理页组为有效数据或无效数据。在本专利技术的一个实施例中,所述建立模块设置每个所述页组的大小为2-4千字节,且每个所述块的大小为128-256千字节。在本专利技术的一个实施例中,所述请求处理模块对所述每组I/O请求子队列中的I/ O请求并行读写操作在可并行的存储电子板上执行。在本专利技术的一个实施例中,所述可并行的存储电子板大小为256或512兆字节。在本专利技术的一个实施例中,还包括如下模块回收模块,所述回收模块用于回收具有最多无效数据的数据块,建立回收块集合;擦除模块,所述擦除模块用于从所述回收块集合中查找可以并行擦除的物理块, 将可以并行擦除的物理块同时进行擦除操作。在本专利技术的一个实施例中,还包括如下模块空闲列表模块,所述空闲列表模块用于将擦除后的物理块放入到系统的空闲块列表中,当系统需要分配新的所述物理块给所述逻辑块的时候,从所述空闲块列表中选择空闲的物理块进行分配。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中图I为根据本专利技术实施例的并行闪存转换层方法的流程框本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:胡事民谈鉴锋白石廖学良
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术