闪存管理方法和闪存设备的制作方法

文档序号:6373565阅读:155来源:国知局
专利名称:闪存管理方法和闪存设备的制作方法
技术领域
本发明涉及存储设备,特别是涉及一种闪存管理方法和闪存设备。
背景技术
闪存是一种基于半导体的存储器,具有功耗低、容量大、访问速度高、无机械故障,以及数据非易失性的优点。随着闪存存储容量的飞速增长,人们对数据操作的灵活性提出了越来越高的要求,对闪存中的数据存储管理已成为一个不容回避的问题。闪存,尤其是NAND Flash已经广泛应用于移动存储设备中,如U盘,SD (SecureDigital Memory Card)卡,SSD (Solid State Disk)固态硬盘等。由于闪存的特性决定,不能对同一页进行重复编程,必须整块先擦除后再编程(编程即数据写入),但是在擦除一个Block时,必须先把Block上的有效数据保存到空的Block。现有的闪存管理方法都是以块为单位进行管理的,将闪存以块为单位划分成数据区和交换区,交换区中的块用于临时存储写入闪存的数据。以块为单位的闪存管理方法的缺点是在闪存进行频繁的随机写操作时,速率将变得非常的慢。如图I (a)所示,为现有以块为单位的闪存管理方法随机写入数据的示意图,由于可能存在坏块,闪存读写的逻辑地址还需要转换为物理介质上的物理地址进行操作,当写命令中的逻辑地址映射到不同的物理块时,需要在不同的临时块中存储待写入的数据,如第一次写命令中的逻辑地址映射到PBAl (物理块1),则闪存设备需要分配一空的或者已擦除成空的物理块PBA2用于临时存储第一次写命令写入的数据;第二次写命令中的逻辑地址映射到PBA4,则闪存设备需要再分配一空的或者已擦除成空的物理块PBA100用于临时存储数据,即使每次写命令中写入的数据很小,只占几个页的大小,只要是映射到不同的物理块,则需分配一空的或者已擦除成空的物理块用于临时存储数据,当随机写次数接近临时块的临界值时,则需要回收含有脏数据页的数据块,以使数据不丢失,如图I (a)中,临时块的个数为6,当随机写次数达到5时,则需要进行数据拷贝搬移,即将有效数据保存到临时块中,将含有脏数据的块擦除成为新的临时块,并更新块的逻辑地址和物理地址的映射表。更新后的块的逻辑地址和物理地址的映射以及临时块如图I (b)所示。由于闪存中预留的临时块都是有限的,因此,在随机写频繁的系统中,需不断的进行数据拷贝搬移和块擦除的操作,极大的影响写入数据的效率。综上,现有的以块为单位的闪存管理方法,在随机写频繁且随机写的地址不连续的系统中,由于要不断的进行数据的拷贝搬移以及块擦除的操作,这将造成数据写入速度慢的问题,且由于每个闪存块的擦除次数是有限的,当闪存块的擦除次数达到其使用寿命时,将极大的降低闪存设备的性能,从而影响闪存设备的使用寿命。

发明内容
基于此,有必要提供一种能提高写入数据的效率的闪存管理方法。一种闪存管理方法,包括以下步骤
将闪存的所有有效块划分为数据区和交换区;按区域对数据区的逻辑页进行划分,每个区域包含多个逻辑页;建立每个区域的页映射表,所述页映射表中记录逻辑页地址和物理页地址之间的对应关系。在其中一个实施例中,每个物理页设有存储逻辑页地址的冗余区;在所述建立每个区域的页映射表,所述页映射表中记录逻辑页地址和物理页地址之间的对应关系的步骤之前,还包括步骤根据物理页中冗余区的逻辑页地址动态生成逻辑页地址和物理页地址之间的对应关系。 在其中一个实施例中,在建立所述每个区域的页映射表的步骤之后,还包括步骤获取写命令;根据所述写命令中的起始逻辑地址获取所述写命令中的逻辑页所在的区域和所述区域内的偏移值,以及根据所述区域的页映射表及偏移值获取所述逻辑页对应的原始物理页;在所述交换区获取一空的有效块,按页顺序写入数据,并将所述逻辑页地址记录到新物理页的冗余区;将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表。在其中一个实施例中,在所述将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表的步骤之后,还包括步骤将所述写命令中的逻辑页对应的原始物理页标记为脏数据页;建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页;当所述交换区的空的有效块小于预设的第一阈值时,对所有页都为脏数据页的有效块进行擦除。在其中一个实施例中,在所述将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表的步骤之后,还包括步骤将所述写命令中的逻辑页对应的原始物理页标记为脏数据页;建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页;当所述交换区的空的有效块小于预设的第一阈值时,将脏数据页达到预设的第二阈值的有效块上的有效数据页上的数据拷贝搬移到新的空块,再擦除所述脏数据页达到预设的第二阈值的有效块。此外,还有必要提供一种能提高写入数据的效率的闪存设备。一种闪存设备,包括闪存控制器,所述闪存控制器包括区块划分模块,用于将闪存的所有有效块划分为数据区和交换区;区域划分模块,用于按区域对数据区的逻辑页进行划分,每个区域包含多个逻辑页;页映射表建立模块,用于建立每个区域的页映射表,所述页映射表中记录逻辑页地址和物理页地址之间的对应关系。在其中一个实施例中,每个物理页设有存储逻辑页地址的冗余区;
所述闪存控制器还包括关系生成模块,用于根据物理页中冗余区的逻辑页地址动态生成逻辑页地址和物理页地址之间的对应关系。在其中一个实施例中,所述闪存控制器还包括获取模块,用于获取写命令;计算模块,用于根据所述写命令中的起始逻辑地址获取所述写命令中的逻辑页所在的区域和所述区域内的偏移值,以及根据所述区域的页映射表及偏移值获取所述逻辑页对应的原始物理页;写模块,用于在所述交换区获取一空的有效块,按页顺序写入数据,并将所述逻辑页地址记录到新物理页的冗余区;
更新模块,用于将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表。在其中一个实施例中,所述闪存控制器还包括标记模块,用于将所述写命令中的逻辑页对应的原始物理页标记为脏数据页;脏数据页表建立模块,用于建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页;擦除模块,用于当所述交换区的空的有效块小于预设的第一阈值时,对所有页都为脏数据页的有效块进行擦除。在其中一个实施例中,所述闪存控制器还包括标记模块,用于将所述写命令中的逻辑页对应的原始物理页标记为脏数据页;脏数据页表建立模块,用于建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页;搬移模块,用于当所述交换区的空的有效块小于预设的第一阈值时,将脏数据页达到预设的第二阈值的有效块上的有效数据页上的数据拷贝搬移到新的空块;擦除模块,用于擦除所述脏数据页达到预设的第二阈值的有效块。上述闪存管理方法和闪存设备,通过将闪存的数据区按区域划分,并建立每个区域的页映射表,在页映射表中记录逻辑页地址与物理页地址之间的对应关系,以页为单元进行闪存管理,在写入数据时,可按页顺序进行写入,将一个块的多个页写满后,再写下一个空块,提高了块的利用率,减少了数据的拷贝搬移操作和擦除操作,提高了闪存的写入速度,且以区域建立页映射表,减少了内存占用。


图I (a)为传统的闪存管理方法随机写入数据的示意图;图I (b)为传统的闪存管理方法中更新后的块的逻辑地址和物理地址的映射以及临时块的不意图;图2为本发明的一个实施例中闪存管理方法的流程示意图;图3为按区域划分逻辑页的示意图;图4为写入数据的具体步骤示意图;图5为写入数据的过程示意图6为一个实施例中包含脏数据页的块回收示意图;图7为另一个实施例中包含脏数据页的块回收示意图;图8为图7中包含脏数据页的块回收的模型示意图;图9为一个实施例中闪存设备的闪存控制器的内部结构示意图;图10为另一个实施例中闪存设备的闪存控制器的内部结构示意图;图11为另一个实施例中闪存设备的闪存控制器的内部结构示意图。
具体实施方式
下面结合具体的实施例及附图对闪存管理方法和闪存设备的技术方案进行详细的描述,以使其更加清楚。如图2所示,在一个实施例中,一种闪存管理方法,包括以下步骤步骤S110,将闪存的所有有效块划分为数据区和交换区。具体的,交换区中设置至少两个有效Block (块),交换区设置的有效Block越多,越有利于闪存的全局平衡磨损,但数据区的存储空间会相对变小。步骤S120,按区域对数据区的逻辑页进行划分,每个区域包含多个逻辑页。具体的,每个有效块包括多个逻辑页。将数据区的逻辑页按区域划分,如图3所示,将每1024个逻辑页划分为一个区域,若闪存芯片包含4096个Block,每个Block包含10个页,将逻辑页划分为40个区域,LPA (Logical Page Address)0至LPA1023为区域1,LPA1024至LPA2047为区域2。此外,每个区域包含的逻辑页的个数由闪存设备中闪存控制器的内存空间确定,优选的为2的整数次方。步骤S130,建立每个区域的页映射表,页映射表中记录逻辑页地址和物理页地址之间的对应关系。具体的,将建立每个区域的页映射表可通过以下方式建立每建立一个区域的页映射表,将该页映射表存储在闪存的私有数据区,然后释放内存,建下一个区域的页映射表。通过对每个区域建立页映射表,可节省内存空间。如若闪存芯片包含4096个Block,每个Block包含10个页,每个逻辑页和物理页的映射表需要占用4byte,则建立所有页的映射表至少需要4096*10*4byte=160Kbyte的内存容量才能满足需求,通过将每1024个逻辑页划分为一个区域后,只需40K byte的内存容量就可以满足需求,这样可以在有限的内存空间内建立页映射表。另外,建立一个区域的页映射表之后就释放内存,调用的时候,需要哪个区域的页映射表,则调用哪个区域,用完释放内存。进一步地,每个物理页设有存储逻辑页地址的冗余区。闪存的每一个物理页会预留一些多余的空间保存除逻辑数据以外的一些特殊数据,本实施例中,冗余区用4个字节记录物理页的逻辑页地址。在一个实施例中,上述闪存管理方法,在步骤S130之前,还包括步骤根据物理页中冗余区的逻辑页地址动态生成逻辑页地址和物理页地址之间的对应关系。具体的,动态统计每个物理页的冗余区内的逻辑页地址,生成逻辑页地址与物理页地址之间的对应关系。此外,逻辑页地址和物理页地址之间的对应关系可预先建立并保存在闪存设备中。
进一步地,在一个实施例中,如图4所示,上述闪存管理方法,在建立所述每个区域的页映射表的步骤之后,还包括步骤步骤S210,获取写命令。步骤S220,根据写命令中的起始逻辑地址获取写命令中的逻辑页所在的区域和该区域内的偏移值,以及根据该区域的页映射表及偏移值获取逻辑页对应的原始物理页。具体的,获取到写命令中的起始逻辑地址,计算得到写命令中的逻辑页所在的区域和在该区域内的偏移值。例如,以每1024个逻辑页为一个区域,写命令中的起始逻辑地址经计算后对应逻辑页地址1025,则得到逻辑页地址1025在区域2内,偏移值为I。步骤S230,在交换区获取一空的有效块,按页顺序写入数据,并将该逻辑页地址记录到新物理页的冗余区。步骤S240,将新物理页记录在该区域的页映射表中,更新该区域的页映射表。 下面结合图5对步骤S210至步骤S240进行详细的描述。如图5所示,第一次随机写的逻辑页地址为LPA0,其对应的物理页地址为PPA (Physical Page Address) 0,则在交换区申请一个空的有效块Block4025,将第一次写命令中的待写入的数据写入Block4025中的pageO,并在pageO的冗余区记录对应的逻辑页地址,即LPAO ;第二次写的逻辑页地址为LPA2,其对应的物理页地址为PPA4,将第二次写命令中待写入的数据写入Block4025中的pagel,并在pagel的冗余区记录LPA2 ;第三次写的逻辑页地址为LPA5,其对应的物理页地址为PPA9,将第三次写命令中待写入的数据写入Block4025中的page2,并在page2的冗余区记录LPA5,如此,当所有写命令执行完成后,更新页映射表。上述闪存管理方法,以页为单元进行管理,可有效减少闪存在存储数据过程中的数据拷贝搬移操作和块擦除操作,以交换区有6个空块,每个块包含10个页为例,现有的以块为单元的闪存管理,在进行5次地址不连续的随机写,且每次只写一个页的数据之后,则需要进行一次数据的拷贝搬移和块擦除的操作,而采用页为单元进行的闪存管理,则可进行50次的随机写操作之后再进行数据的拷贝搬移操作和块的擦除操作,如此可有效提高闪存的数据写入速度。在一个实施例中,如图6所示,上述闪存管理方法,在步骤S240之后,还包括步骤步骤S310,将写命令中的逻辑页对应的原始物理页标记为脏数据页。具体的,更新完页映射表后,将ΡΡΑΟ、PPA4、PPA9等标记为脏数据页。标记脏数据页可采用如O标记有效数据页,I标记脏数据页。脏数据页是指该物理页内的数据无效。步骤S320,建立脏数据页表,该脏数据页表中记录所有有效块的脏数据页。具体的,建立脏数据页表,以统计所有有效块的脏数据页。步骤S330,当交换区的空的有效块小于预设的第一阈值时,对所有页都为脏数据页的有效块进行擦除。具体的,预设的第一阈值可根据交换区的有效块总数进行设定。例如,交换区的有效块为2个时,当交换区的空的有效块为I个时,则需要对所有页都为脏数据页的有效块进行擦除操作。若交换区的有效块为6个,当交换区的空的有效块为I个或2个时,对所有页都为脏数据页的有效块进行擦除操作。在一个实施例中,如图7所示,上述闪存管理方法,在步骤S240之后,还包括步骤步骤S410,将写命令中的逻辑页对应的原始物理页标记为脏数据页。步骤S420,建立脏数据页表,该脏数据页表中记录所有有效块的脏数据页。步骤S430,当所述交换区的空的有效块小于预设的第一阈值时,将脏数据页数达到预设的第二阈值的有效块上的有效数据页上的数据拷贝搬移到新的空块,再擦除所述脏数据页达到预设的第二阈值的有效块。具体的,设定一个有效块内的脏数据页的数量达到第二阈值,到需要进行擦除操作时,则将脏数据页数达到第二阈值的有效块进行擦除操作,不只对全部为脏数据页的有效块进行擦除。如图8所示,若将脏数据页数大于等于6的有效块进行回收,则BlockO、Blockl、Block2、Block4、Block5、Blockr-l、Blockn_2 需要进行脏数据页回收。米用上述方法,能有效提高闪存中脏数据页回收的效率,如图8所示,只需2个空块,就可以将BlockO、BlockK Block2、Block4、Block5 进行回收。 如图9所示,在一个实施例中,一种闪存设备,包括闪存控制器,闪存控制器包括区块划分模块110、区域划分模块120和创建模块130。其中区块划分模块110用于将闪存的所有有效块划分为数据区和交换区。具体的,交换区中设置至少两个有效Block (块),交换区设置的有效Block越多,越有利于闪存的全局平衡磨损,但数据区的存储空间会相对变小。区域划分模块120用于按区域对数据区的逻辑页进行划分,每个区域包含多个逻辑页。具体的,每个有效块包括多个逻辑页。将数据区的逻辑页按区域划分,如图2所示,将每1024个逻辑页划分为一个区域,若闪存芯片包含4096个Block,每个Block包含10个页,将逻辑页划分为 40 个区域,LPA (Logical Page Address) O 至 LPA1023 为区域 1,LPA1024至LPA2047为区域2。此外,每个区域包含的逻辑页的个数由闪存设备中闪存控制器的内存空间确定,优选的为2个整数次方。创建模块130用于建立每个区域的页映射表,该页映射表中记录逻辑页地址和物理页地址之间的对应关系。具体的,创建模块130将建立每个区域的页映射表可通过以下方式建立每建立一个区域的页映射表,将该页映射表存储在闪存的私有数据区,然后释放内存,建下一个区域的页映射表。通过对每个区域建立页映射表,可节省内存空间。如若闪存芯片包含4096个Block,每个Block包含10个页,每个逻辑页和物理页的映射表需要占用4byte,则建立所有页的映射表至少需要4096*10*4byte=160K byte的内存容量才能满足需求,通过将每1024个逻辑页划分为一个区域后,只需40K byte的内存容量就可以满足需求,这样可以在有限的内存空间内建立页映射表。另外,建立一个区域的页映射表之后就释放内存,调用的时候,需要哪个区域的页映射表,则调用哪个区域,用完释放内存。进一步地,每个物理页设有存储逻辑页地址的冗余区。闪存的每一个物理页会预留一些多余的空间保存除逻辑数据以外的一些特殊数据,本实施例中,冗余区用4个字节记录物理页的逻辑页地址。上述闪存控制器还包括关系生成模块,用于根据物理页中冗余区的逻辑页地址动态生成逻辑页地址和物理页地址之间的对应关系。具体的,动态统计每个物理页的冗余区内的逻辑页地址,生成逻辑页地址与物理页地址之间的对应关系。
在一个实施例中,如图10所示,上述闪存控制器,除了包括区块划分模块110、区域划分模块120和创建模块130,还包括获取模块140、计算模块150、写模块160和更新模块170。其中获取模块140用于获取写命令。计算模块150用于根据所述写命令中的起始逻辑地址获取所述写命令中的逻辑页所在的区域和所述区域内的偏移值,以及根据所述区域的页映射表及偏移值获取所述逻辑页对应的原始物理页。具体的,获取到写命令中的起始逻辑地址,计算得到写命令中的逻辑页所在的区域和在该区域内的偏移值。例如,以每1024个逻辑页为一个区域,写命令中的起始逻辑地址对应逻辑页地址1025,则得到逻辑页地址1025在区域2内,偏移值为I。写模块160用于在交换区获取一空的有效块,按页顺序写入数据,并将所述逻辑页地址记录到新物理页的冗余区。 更新模块170用于将新物理页记录在该区域的页映射表中,更新该区域的页映射表。具体过程如图5所示,在此不再赘述。如图11所示,在一个实施例中,上述闪存控制器,除了包括区块划分模块110、区域划分模块120、创建模块130、获取模块140、计算模块150、写模块160和更新模块170,还包括标记模块180、脏数据页表建立模块190和擦除模块200。标记模块180用于将所述写命令中的逻辑页对应的原始物理页标记为脏数据页。具体的,更新完页映射表后,将PPA0、PPA4、PPA9等标记为脏数据页。标记脏数据页可采用如O标记有效数据页,I标记脏数据页。脏数据页是指该物理页内的数据无效。脏数据页表建立模块190用于建立脏数据页表,该脏数据页表中记录所有有效块的脏数据页。擦除模块200用于当所述交换区的空的有效块小于预设的第一阈值时,对所有页都为脏数据页的有效块进行擦除。具体的,预设的第一阈值可根据交换区的有效块总数进行设定。例如,交换区的有效块为2个时,当交换区的空的有效块为I个时,则需要对所有页都为脏数据页的有效块进行擦除操作。若交换区的有效块为6个,当交换区的空的有效块为I个或2个时,对所有页都为脏数据页的有效块进行擦除操作。进一步的,上述闪存控制器还包括搬移模块,用于当所述交换区的空的有效块小于预设的第一阈值时,将脏数据页达到预设的第二阈值的有效块上的有效数据页上的数据拷贝搬移到新的空块。擦除模块200用于擦除所述脏数据页达到预设的第二阈值的有效块。具体的,设定一个有效块内的脏数据页的数量达到第二阈值,到需要进行擦除操作时,则将脏数据页数达到第二阈值的有效块进行擦除操作,不只对全部为脏数据页的有效块进行擦除。上述闪存管理方法和闪存设备,通过将闪存的数据区按区域划分,并建立每个区域的页映射表,在页映射表中记录逻辑页地址与物理页地址之间的对应关系,以页为单元进行闪存管理,在写入数据时,可按页顺序进行写入,将一个块的多个页写满后,再写下一个空块,提高了块的利用率,减少了数据的拷贝搬移操作和擦除操作,提高了闪存的写入速度,且以区域建立页映射表,减少了内存占用。另外,因闪存块的擦除次数有限,通过减少数据拷贝搬移操作和擦除操作,延长了闪存设备的寿命;根据物理页的冗余区存储的逻辑页建立逻辑页地址与物理页地址之间的对应关系,较为准确;写命令后,更新页映射表,保证对应关系的准确性;标记脏数据页,方便对脏数据页的有效块进行回收。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权 利要求为准。
权利要求
1.一种闪存管理方法,包括以下步骤 将闪存的所有有效块划分为数据区和交換区; 按区域对数据区的逻辑页进行划分,每个区域包含多个逻辑页; 建立每个区域的页映射表,所述页映射表中记录逻辑页地址和物理页地址之间的对应关系。
2.根据权利要求I所述的闪存管理方法,其特征在于,每个物理页设有存储逻辑页地址的冗余区; 在所述建立每个区域的页映射表,所述页映射表中记录逻辑页地址和物理页地址之间的对应关系的步骤之前,还包括步骤 根据物理页中冗余区的逻辑页地址动态生成逻辑页地址和物理页地址之间的对应关系O
3.根据权利要求I所述的闪存管理方法,其特征在于,在建立所述每个区域的页映射表的步骤之后,还包括步骤 获取与命令; 根据所述写命令中的起始逻辑地址获取所述写命令中的逻辑页所在的区域和所述区域内的偏移值,以及根据所述区域的页映射表及偏移值获取所述逻辑页对应的原始物理页; 在所述交换区获取一空的有效块,按页顺序写入数据,并将所述逻辑页地址记录到新物理页的冗余区; 将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表。
4.根据权利要求3所述的闪存管理方法,其特征在于,在所述将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表的步骤之后,还包括步骤 将所述写命令中的逻辑页对应的原始物理页标记为脏数据页; 建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页; 当所述交换区的空的有效块小于预设的第一阈值时,对所有页都为脏数据页的有效块进行擦除。
5.根据权利要求3所述的闪存管理方法,其特征在于,在所述将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表的步骤之后,还包括步骤 将所述写命令中的逻辑页对应的原始物理页标记为脏数据页; 建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页; 当所述交换区的空的有效块小于预设的第一阈值时,将脏数据页达到预设的第二阈值的有效块上的有效数据页上的数据拷贝搬移到新的空块,再擦除所述脏数据页达到预设的第二阈值的有效块。
6.ー种闪存设备,其特征在于,包括闪存控制器,所述闪存控制器包括 区块划分模块,用于将闪存的所有有效块划分为数据区和交換区; 区域划分模块,用于按区域对数据区的逻辑页进行划分,每个区域包含多个逻辑页; 页映射表建立模块,用于建立每个区域的页映射表,所述页映射表中记录逻辑页地址和物理页地址之间的对应关系。
7.根据权利要求6所述的闪存设备,其特征在于,每个物理页设有存储逻辑页地址的冗余区; 所述闪存控制器还包括 关系生成模块,用于根据物理页中冗余区的逻辑页地址动态生成逻辑页地址和物理页地址之间的对应关系。
8.根据权利要求6所述的闪存设备,其特征在于,所述闪存控制器还包括 获取模块,用于获取写命令; 计算模块,用于根据所述写命令中的起始逻辑地址获取所述写命令中的逻辑页所在的区域和所述区域内的偏移值,以及根据所述区域的页映射表及偏移值获取所述逻辑页对应的原始物理页; 写模块,用于在所述交换区获取一空的有效块,按页顺序写入数据,并将所述逻辑页地址记录到新物理页的冗余区; 更新模块,用于将所述新物理页记录在所述区域的页映射表中,更新所述区域的页映射表。
9.根据权利要求8所述的闪存设备,其特征在于,所述闪存控制器还包括 标记模块,用于将所述写命令中的逻辑页对应的原始物理页标记为脏数据页; 脏数据页表建立模块,用于建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页; 擦除模块,用于当所述交换区的空的有效块小于预设的第一阈值时,对所有页都为脏数据页的有效块进行擦除。
10.根据权利要求8所述的闪存设备,其特征在于,所述闪存控制器还包括 标记模块,用于将所述写命令中的逻辑页对应的原始物理页标记为脏数据页; 脏数据页表建立模块,用于建立脏数据页表,所述脏数据页表中记录所有有效块的脏数据页; 搬移模块,用于当所述交换区的空的有效块小于预设的第一阈值时,将脏数据页达到预设的第二阈值的有效块上的有效数据页上的数据拷贝搬移到新的空块; 擦除模块,用于擦除所述脏数据页达到预设的第二阈值的有效块。
全文摘要
本发明涉及一种闪存管理方法和闪存设备。所述闪存管理方法包括以下步骤将闪存的所有有效块划分为数据区和交换区;按区域对数据区的逻辑页进行划分,每个区域包含多个逻辑页;建立每个区域的页映射表,所述页映射表中记录逻辑页地址和物理页地址之间的对应关系。上述闪存管理方法和闪存设备,通过将闪存的数据区按区域划分,并建立每个区域的页映射表,在页映射表中记录逻辑页地址与物理页地址之间的对应关系,以页为单元进行闪存管理,在写入数据时,可按页顺序进行写入,将一个块的多个页写满后,再写下一个空块,提高了块的利用率,减少了数据的拷贝搬移操作和擦除操作,提高了闪存的写入速度,且以区域建立页映射表,减少了内存占用。
文档编号G06F12/02GK102841851SQ201210251200
公开日2012年12月26日 申请日期2012年7月19日 优先权日2012年7月19日
发明者尹慧, 李志雄, 邓恩华 申请人:深圳市江波龙电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1