CN102609218A - 并行闪存转换层方法与*** - Google Patents
并行闪存转换层方法与*** Download PDFInfo
- Publication number
- CN102609218A CN102609218A CN2012100169186A CN201210016918A CN102609218A CN 102609218 A CN102609218 A CN 102609218A CN 2012100169186 A CN2012100169186 A CN 2012100169186A CN 201210016918 A CN201210016918 A CN 201210016918A CN 102609218 A CN102609218 A CN 102609218A
- Authority
- CN
- China
- Prior art keywords
- group
- request
- page
- flash memory
- physical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
本发明提出一种并行闪存转换层方法,包括建立页组和块为单位的混合地址映射机制,其中,页组可分为逻辑页组和物理页组,块可分为逻辑块和物理块;当文件***发送的I/O请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出预设请求阈值的I/O请求放入I/O请求队列;根据混合地址映射机制对I/O请求队列中的I/O请求分为多组I/O请求子队列,对每组I/O请求子队列并行读写操作,其中,每组I/O请求子队列包括多个I/O请求,多个I/O请求可并行操作。该方法通过并行读写,充分利用并行闪存的优良特性,减少写入和擦除时间,从而降低复杂度,获得高性能。本发明还公开了一种并行闪存转换层***。
Description
技术领域
本发明涉及计算机存储技术领域,特别涉及一种并行闪存转换层方法与***。
背景技术
目前,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兆字节。
在本发明的一个实施例中,还包括如下模块:
回收模块,所述回收模块用于回收具有最多无效数据的数据块,建立回收块集合;
擦除模块,所述擦除模块用于从所述回收块集合中查找可以并行擦除的物理块,将可以并行擦除的物理块同时进行擦除操作。
在本发明的一个实施例中,还包括如下模块:
空闲列表模块,所述空闲列表模块用于将擦除后的物理块放入到***的空闲块列表中,当***需要分配新的所述物理块给所述逻辑块的时候,从所述空闲块列表中选择空闲的物理块进行分配。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的并行闪存转换层方法的流程框图;
图2为根据本发明实施例的并行闪存转换层方法与***的处理流程图;
图3为根据本发明实施例的并行闪存转换层方法的扩展流程框图;以及
图4为根据本发明实施例的并行闪存转换层***的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
下面参考图1和图2描述根据本发明实施例的并行闪存转换层方法。
步骤S110:建立页组和块为单位的混合地址映射机制,其中,页组可分为逻辑页组和物理页组,块可分为逻辑块和物理块。在本发明的一个实施例中,设置每个页组的大小为2~4千字节,每个块的大小为128~256千字节。可以理解的是,上述页组和块的大小仅出于示例的目的,本发明实施例并不限于此。
下面对建立页组和块为单位的混合地址映射机制的过程进行详细描述。
步骤S111:将并行闪存划分为多个物理块,以及将每个物理块划分为多个物理页组。
如图2所示的并行闪存可以划分为四个物理块,编号分别为1、2、3、4。可以理解的是,图2所示的划分仅为本发明的一个实施例,本发明的实施例并不限于此。
将每个物理块划分为多个物理页组,例如,将物理块1划分为n个物理页组,物理块2~4可以依次类推,在此不再赘述。
步骤S112:将逻辑块数据划分为多个逻辑页组;
步骤S113:在并行闪存的物理块上将物理页组分配至逻辑页组;
将步骤S111中划分得到的物理页组分配至步骤S112中得到的逻辑页组。
步骤S114:当逻辑页组更新时,重新将对应的物理块上的物理页组分配至逻辑页组。
每个物理块的存储容量是有限的。当逻辑块中的逻辑页发生多次更新后,如果更新后的数据超过对应的物理块的物体页组的存储容量,该逻辑块原先分配的物理块无法存储该逻辑块的数据,则需要对对该逻辑块分配新的物理块。
由于物理页组中的数据包括无效数据和有效数据,为了对上述数据进行区分,需要对对同一个逻辑页组的多个物理页组设置标示符,其中,标示符用于指示物理页组为有效数据或无效数据。例如,将存放无效数据的物理页组标记为0,将存放有效数据的物理页组标记为1。可以理解的是,上述设置的标示符0和1仅是出于示例的目的,本发明实施例并不限于此。
S120:建立I/O请求队列,将超出预设请求阈值的I/O请求放入I/O请求队列。
如图2所示,文件***通过输入、输出接口传输数据。当文件***发送的I/O请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出预设请求阈值的I/O请求放入I/O请求队列。需要说明的是,当文件***发送的I/O请求的数据超过预设请求阈值时,可以认为当前***的I/O请求出于密集状态。
在本发明的一个实施例中,预设请求阈值可以由***管理员根据***状态进行设置。
S130:根据混合地址映射机制将I/O请求队列中的I/O请求分为多组I/O请求子队列。从请求队列的第一个I/O请求开始,寻找可以并行操作的I/O请求,将其分入同组。对每组I/O请求子队列并行读写操作,将处理过的请求从I/O请求队列中移除。其中,每组I/O请求子队列包括多个I/O请求,多个I/O请求可并行操作。
通过上述方式,可以预先对可并行执行的I/O请求进行分组,对可并行操作的I/O请求进行处理,从而可以提高闪存的操作效率,进而提高整个***处理数据的速度。
在本发明的一个实施例中,对每组I/O请求子队列并行读写操作在可并行的存储电子板上执行,可并行的存储电子板大小为256或512兆字节。
如图2所示,并行闪存转换层还需要对并行闪存进行并行垃圾回收控制。因为随着物理块被分配和使用,需要对其进行回收和清理,擦除被标记为0的无效数据块以便再利用。下面结合图3进行详细说明。
步骤S140:回收具有最多无效数据的数据块,建立回收集合。
该步骤进一步可以分为如下两步:
步骤S141:根据物理页组的标示符,即有效数据标识符1或者无效数据标识符0,回收标记为无效数据(数据标识符为0)最多的数据块,建立回收块集合;
步骤S142:从回收块集合中查找可并行擦除的物理块,并对可并行擦除的物理块进行并行擦除操作。
步骤S150:设置空闲块列表,其中,空闲块列表存储有擦除后的物理块;从空闲块列表中选取空闲的物理块分配给逻辑块。
根据本发明的并行闪存转换层方法充分发掘、利用并行闪存的并行属性,能够自动的将并行闪存上的可并行操作进行同时处理,以此减少处理数据输入输出和存储***垃圾回收的时间,并且减少用于存储映射信息的内存空间,从而降低复杂度,提升存储***的效率,获得高性能。
如图3所示,本发明实施例提供了一种并行闪存转换层***,包括建立模块100:混合地址映射机制建立模块用于建立页组和块为单位的混合地址映射机制,其中,页组可分为逻辑页组和物理页组,块可分为逻辑块和物理块;请求处理模块110:请求处理模块110用于当文件***发送的I/O请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出预设请求阈值的I/O请求放入I/O请求队列;并行操作模块120:并行操作模块用于根据混合地址映射机制对I/O请求队列中的I/O请求分为多组I/O请求子队列,对多组I/O请求子队列并行读写操作,其中,每组I/O请求子队列包括多个I/O请求,多个I/O请求可并行操作。
建立模块100用于建立页组和块为单位的混合地址映射机制,进一步功能包括:建立模块100将并行闪存划分为多个物理块,以及将每个物理块划分为多个物理页组。如图2所示的并行闪存可以划分为四个物理块,编号分别为1、2、3、4。可以理解的是,图2所示的划分仅为本发明的一个实施例,本发明的实施例并不限于此。建立模块100将每个物理块划分为多个物理页组,例如,将物理块1划分为n个物理页组,物理块2~4可以依次类推,在此不再赘述。建立模块100将逻辑块数据划分为多个逻辑页组;在并行闪存的物理块上将物理页组分配至逻辑页组;当逻辑页组更新时,建立模块100重新将对应的物理块上的物理页组分配至逻辑页组。每个物理块的存储容量是有限的。当逻辑块中的逻辑页发生多次更新后,如果更新后的数据超过对应的物理块的物体页组的存储容量,该逻辑块原先分配的物理块无法存储该逻辑块的数据,则建立模块100对该逻辑块分配新的物理块。
建立模块100设置每个页组的大小为2~4千字节,且每个块的大小为128~256千字节。可以理解的是,上述页组和块的大小仅出于示例的目的,本发明实施例并不限于此。
由于物理页组中的数据包括无效数据和有效数据,为了对上述数据进行区分,建立模块100需要对同一个逻辑页组的多个物理页组设置标示符,其中,标示符用于指示物理页组为有效数据或无效数据。例如,建立模块100将存放无效数据的物理页组标记为0,将存放有效数据的物理页组标记为1。可以理解的是,上述设置的标示符0和1仅是出于示例的目的,本发明实施例并不限于此。
请求处理模块110用于当文件***发送的I/O请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出预设请求阈值的I/O请求放入I/O请求队列。需要说明的是,当文件***发送的数据请求的数据超过预设请求阈值时,可以认为当前***的I/O请求出于密集状态。在本发明的一个实施例中,请求处理模块110中的预设请求阈值可以由***管理员根据***状态进行设置。
并行操作模块120根据混合地址映射机制将I/O请求队列中的I/O请求分为多组I/O请求子队列。并行操作模块120从请求队列的第一个I/O请求开始,寻找可以并行操作的I/O请求,将其分入同组。并行操作模块120对每组I/O请求子队列并行读写操作,将处理过的请求从I/O请求队列中移除。其中,每组I/O请求子队列包括多个I/O请求,多个I/O请求可并行操作。通过上述方式,并行操作模块120可以预先对可并行执行的I/O请求进行分组,对可并行操作的I/O请求进行处理,从而可以提高闪存的操作效率,进而提高整个***处理数据的速度。
在本发明的一个实施例中,并行操作模块120对每组I/O请求子队列并行读写操作在可并行的存储电子板上执行,可并行的存储电子板大小为256或512兆字节。
以上模块完成了对并行闪存的并行读写操作,随着物理块被标记为无效数据的数量增多,***需要对并行闪存中的物理块进行回收和清理。***采用模块130-150完成此功能。
回收模块130:用于回收具有最多无效数据的数据块,建立回收块集合。回收模块130根据物理页组的标示符,即有效数据标识符1或者无效数据标识符0,回收模块130回收标记为无效数据(数据标识符为0)最多的数据块,建立回收块集合;
擦除模块140:用于从回收块集合中查找可以并行擦除的物理块,将可以并行擦除的物理块同时进行擦除操作。
空闲列表模块150:用于将擦除后的物理块放入到***的空闲块列表中,当***需要分配新的物理块给逻辑块的时候,空闲列表模块150从空闲块列表中选择空闲的物理块进行分配。
根据本发明的并行闪存转换层***充分发掘、利用并行闪存的并行属性,能够自动的将并行闪存上的可并行操作进行同时处理,以此减少处理数据输入输出和存储***垃圾回收的时间,并且减少用于存储映射信息的内存空间,从而降低复杂度,提升存储***的效率,获得高性能。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (18)
1.一种并行闪存转换层方法,其特征在于,包括:
建立页组和块为单位的混合地址映射机制,其中,所述页组可分为逻辑页组和物理页组,所述块可分为逻辑块和物理块;
当文件***发送的I/O请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出所述预设请求阈值的I/O请求放入所述I/O请求队列;
根据所述混合地址映射机制对所述I/O请求队列中的I/O请求分为多组I/O请求子队列,对所述每组I/O请求子队列并行读写操作,其中,每组所述I/O请求子队列包括多个I/O请求,所述多个I/O请求可并行操作。
2.如权利要求1所述的并行闪存转换层方法,其特征在于,所述建立页组和块为单位的混合地址映射机制,进一步包括:
将并行闪存划分为多个物理块,以及将每个所述物理块划分为多个物理页组;
将逻辑块数据划分为多个逻辑页组;
在所述并行闪存的物理块上将所述物理页组分配至所述逻辑页组;
当所述逻辑页组更新时,重新将对应的所述物理块上的所述物理页组分配至所述逻辑页组。
3.如权利要求2所述的并行闪存转换层方法,其特征在于,如果所述逻辑块更新后的数据超过对应的所述物理块的所述物体页组的存储容量后,对所述逻辑块分配新的物理块。
4.如权利要求1所述的并行闪存转换层方法,其特征在于,对同一个所述逻辑页组的多个所述物理页组设置标示符,其中,所述标示符用于指示所述物理页组为有效数据或无效数据。
5.如权利要求2-4中任一项所述的并行闪存转换层方法,其特征在于,设置每个所述页组的大小为2~4千字节,且每个所述块的大小为128~256千字节。
6.如权利要求1所述的并行闪存转换层方法,其特征在于,所述对所述每组I/O请求子队列中的I/O请求并行读写操作在可并行的存储电子板上执行。
7.如权利要求6所述的并行闪存转换层方法,其特征在于,所述可并行的存储电子板大小为256或512兆字节。
8.如权利要求4所述的并行闪存转换层方法,其特征在于,还包括如下步骤:
根据所述物理页组的标示符,回收标记为无效数据最多的数据块,建立回收块集合;
从所述回收块集合中查找可并行擦除的物理块,并对所述可并行擦除的物理块进行并行擦除操作。
9.如权利要求8所述的并行闪存转换层方法,其特征在于,还包括如下步骤:
设置空闲块列表,其中,所述空闲块列表存储有擦除后的物理块;
从所述空闲块列表中选取空闲的物理块分配给所述逻辑块。
10.一种并行闪存转换层***,其特征在于,包括:
建立模块,所述建立模块用于建立页组和块为单位的混合地址映射机制,其中,所述页组可分为逻辑页组和物理页组,所述块可分为逻辑块和物理块;
请求处理模块,所述请求处理模块用于当文件***发送的I/O请求的数量超过预设请求阈值时,建立I/O请求队列,并将超出所述预设请求阈值的I/O请求放入所述I/O请求队列;
并行操作模块,所述并行操作模块用于根据所述混合地址映射机制对所述I/O请求队列中的I/O请求分为多组I/O请求子队列,对所述每组I/O请求子队列并行读写操作,其中,每组所述I/O请求子队列包括多个I/O请求,所述多个I/O请求可并行操作。
11.如权利要求10所述的并行闪存转换层***,其特征在于,所述建立模块将并行闪存划分为多个物理块,并将每个所述物理块划分为多个物理页组,以及将逻辑块数据划分为多个逻辑页组,在所述并行闪存的物理块上将所述物理页组分配至所述逻辑页组,并当所述逻辑页组更新时,所述建立模块重新将对应的所述物理块上的所述物理页组分配至所述逻辑页组。
12.如权利要求11所述的并行闪存转换层***,其特征在于,如果所述逻辑块更新后的数据超过对应的所述物理块的所述物体页组的存储容量后,则所述建立模块对所述逻辑块分配新的物理块。
13.如权利要求10所述的并行闪存转换层***,其特征在于,所述建立模块对同一个所述逻辑页组的多个所述物理页组设置标示符,其中,所述标示符用于指示所述物理页组为有效数据或无效数据。
14.如权利要求11-13中任一项所述的并行闪存转换层***,其特征在于,所述建立模块设置每个所述页组的大小为2~4千字节,且每个所述块的大小为128~256千字节。
15.如权利要求10所述的并行闪存转换层***,其特征在于,所述对所述每组I/O请求子队列中的I/O请求并行读写操作在可并行的存储电子板上执行。
16.如权利要求15所述的并行闪存转换层***,其特征在于,所述可并行的存储电子板大小为256或512兆字节。
17.如权利要求13所述的并行闪存转换层***,其特征在于,还包括如下模块:
回收模块,所述回收模块用于回收具有最多无效数据的数据块,建立回收块集合;
擦除模块,所述擦除模块用于从所述回收块集合中查找可以并行擦除的物理块,将可以并行擦除的物理块同时进行擦除操作。
18.如权利要求14所述的并行闪存转换层***,其特征在于,还包括如下模块:
空闲列表模块,所述空闲列表模块用于将擦除后的物理块放入到***的空闲块列表中,当***需要分配新的所述物理块给所述逻辑块的时候,从所述空闲块列表中选择空闲的物理块进行分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210016918.6A CN102609218B (zh) | 2012-01-18 | 2012-01-18 | 并行闪存转换层方法与*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210016918.6A CN102609218B (zh) | 2012-01-18 | 2012-01-18 | 并行闪存转换层方法与*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102609218A true CN102609218A (zh) | 2012-07-25 |
CN102609218B CN102609218B (zh) | 2015-06-24 |
Family
ID=46526625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210016918.6A Active CN102609218B (zh) | 2012-01-18 | 2012-01-18 | 并行闪存转换层方法与*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609218B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391392A (zh) * | 2017-07-21 | 2017-11-24 | 重庆大学 | 一种基于闪存存储设备并行特征的垃圾回收优化方法 |
CN107515728A (zh) * | 2016-06-17 | 2017-12-26 | 清华大学 | 发挥闪存设备内部并发特性的数据管理方法和装置 |
CN108108309A (zh) * | 2017-12-29 | 2018-06-01 | 苏州大学 | 涉及多nand闪存的并行访问方法、固态硬盘和计算机 |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN110058798A (zh) * | 2018-01-19 | 2019-07-26 | 爱思开海力士有限公司 | 数据处理***及其操作方法 |
CN110709810A (zh) * | 2017-10-09 | 2020-01-17 | 华为技术有限公司 | 一种垃圾数据清理方法及设备 |
CN111273856A (zh) * | 2018-12-05 | 2020-06-12 | 爱思开海力士有限公司 | 控制器以及控制器的操作方法 |
CN111352579A (zh) * | 2018-12-24 | 2020-06-30 | 深圳市茁壮网络股份有限公司 | 数据存储方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369253A (zh) * | 2008-10-16 | 2009-02-18 | 凌阳科技股份有限公司 | 回收废弃区块中自由页的闪存转换层的管理方法 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
US20090222618A1 (en) * | 2008-02-29 | 2009-09-03 | Samsung Electronics Co., Ltd. | Memory system and block merge method |
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
US20100332735A1 (en) * | 2009-06-29 | 2010-12-30 | Samsung Electronics Co., Ltd. | Flash memory device and method for programming flash memory device |
-
2012
- 2012-01-18 CN CN201210016918.6A patent/CN102609218B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222618A1 (en) * | 2008-02-29 | 2009-09-03 | Samsung Electronics Co., Ltd. | Memory system and block merge method |
CN101369253A (zh) * | 2008-10-16 | 2009-02-18 | 凌阳科技股份有限公司 | 回收废弃区块中自由页的闪存转换层的管理方法 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
US20100332735A1 (en) * | 2009-06-29 | 2010-12-30 | Samsung Electronics Co., Ltd. | Flash memory device and method for programming flash memory device |
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515728B (zh) * | 2016-06-17 | 2019-12-24 | 清华大学 | 发挥闪存设备内部并发特性的数据管理方法和装置 |
CN107515728A (zh) * | 2016-06-17 | 2017-12-26 | 清华大学 | 发挥闪存设备内部并发特性的数据管理方法和装置 |
CN107391392A (zh) * | 2017-07-21 | 2017-11-24 | 重庆大学 | 一种基于闪存存储设备并行特征的垃圾回收优化方法 |
US11126546B2 (en) | 2017-10-09 | 2021-09-21 | Huawei Technologies Co., Ltd. | Garbage data scrubbing method, and device |
CN110709810A (zh) * | 2017-10-09 | 2020-01-17 | 华为技术有限公司 | 一种垃圾数据清理方法及设备 |
US11704240B2 (en) | 2017-10-09 | 2023-07-18 | Huawei Technologies Co., Ltd. | Garbage data scrubbing method, and device |
CN108108309A (zh) * | 2017-12-29 | 2018-06-01 | 苏州大学 | 涉及多nand闪存的并行访问方法、固态硬盘和计算机 |
CN110058798A (zh) * | 2018-01-19 | 2019-07-26 | 爱思开海力士有限公司 | 数据处理***及其操作方法 |
CN110058798B (zh) * | 2018-01-19 | 2022-10-04 | 爱思开海力士有限公司 | 数据处理***及其操作方法 |
CN109104336A (zh) * | 2018-09-27 | 2018-12-28 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN109104336B (zh) * | 2018-09-27 | 2022-08-05 | 平安普惠企业管理有限公司 | 服务请求处理方法、装置、计算机设备及存储介质 |
CN111273856A (zh) * | 2018-12-05 | 2020-06-12 | 爱思开海力士有限公司 | 控制器以及控制器的操作方法 |
CN111273856B (zh) * | 2018-12-05 | 2023-08-08 | 爱思开海力士有限公司 | 控制器以及控制器的操作方法 |
CN111352579A (zh) * | 2018-12-24 | 2020-06-30 | 深圳市茁壮网络股份有限公司 | 数据存储方法及装置 |
CN111352579B (zh) * | 2018-12-24 | 2023-11-10 | 深圳市茁壮网络股份有限公司 | 数据存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102609218B (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102609218A (zh) | 并行闪存转换层方法与*** | |
CN103336744B (zh) | 一种固态存储设备的垃圾回收方法及其*** | |
CN102375788B (zh) | 为具有非易失性存储器的***动态地分配功率预算的方法及装置 | |
CN102831071B (zh) | 用于存储器装置的存储地址重新映射的方法和*** | |
CN101271730B (zh) | 具混合密度存储器的存储器***及其抹除、文件配置管理方法 | |
CN101937319B (zh) | 存储器***及其映射方法 | |
US9792227B2 (en) | Heterogeneous unified memory | |
CN102096639B (zh) | 用于修剪在非易失性闪速介质上的数据的方法 | |
CN104866428B (zh) | 数据存取方法和数据存取装置 | |
US8195971B2 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
CN102810068A (zh) | 存储装置、存储***和使存储装置虚拟化的方法 | |
CN101014929A (zh) | 使用nvram进行存储器管理的***、方法、计算机可读介质和设备 | |
CN103500076A (zh) | 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备 | |
CN103294604A (zh) | 闪存器件和使用闪存器件的电子设备 | |
CN104657284A (zh) | 存储设备的扩展利用区域 | |
CN102308274B (zh) | 一种访问关机硬盘的方法、网卡和硬盘卡 | |
CN109671458A (zh) | 管理闪存模块的方法及相关的闪存控制器 | |
CN1719422A (zh) | 一种存储器文件数据虚拟存取方法 | |
CN101004632A (zh) | 用于降低在显示区域中的功耗的方法和装置 | |
CN101968755A (zh) | 一种自适应应用负载变化的快照生成方法 | |
CN102193871B (zh) | 非挥发性存储器存取方法、***及非挥发性存储器控制器 | |
CN102880553B (zh) | 一种基于mcu的片外flash文件***的读写方法 | |
CN101241469B (zh) | 一种在嵌入式***中存储、读取数据的方法及装置 | |
CN101788951A (zh) | 一种网络计算机的存储***及其存储方法 | |
CN104298620A (zh) | 一种耐擦写低能耗的外接计算机加速设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |