闪存设备、闪存管理方法及系统的制作方法

文档序号:6782882阅读:218来源:国知局

专利名称::闪存设备、闪存管理方法及系统的制作方法
技术领域
:本发明涉及半导体存储介质领域,更具体地说,涉及一种闪存设备、闪存管理方法及系统。
背景技术
:闪存(FlashMemory)是一种持续供电的非易失性存储器,可以以块为单位对其进行删除和重新编程。闪存是EEPROM(电子可擦除只读存储器)的变形,EEPROM以字节为单位进行擦除和重写,闪存以块为单位进行擦除和重写,因此闪存的速度比EEPROM快,其被广泛应用为数码相机、掌上电脑、MP3等小型数码产品中的存储介质。图l示出了闪存的内部结构。参照图l,闪存包括多个块,如块0、块l、块2......块1024,每个块包括多个页,而每个页又包括多个扇区。传统技术中,对闪存进行访问时,例如,需要写入两页数据,则对第一页发送命令、地址和数据,等待第一页数据写完时才能继续写第二页数据。这种技术需要一定的等待时间,因此性能较差。随着闪存技术的发展,对闪存的性能要求越来越高,现有技术为提高闪存的性能,采用绑定加速技术对闪存进行管理,例如2Plane、Interleave、DualBank等技术,其中,2Plane技术可对闪存中的两个plane中(将闪存中的多个物理块分为几个plane,可称之为"区域")的不同物理块同时进行访问,Interleave技术(交错技术)可将多个闪存芯片平行连接成一块闪存芯片,从而实现并行访问多个闪存芯片。绑定加速技术的方法可归纳为(1)将闪存中的多个物理块分为两个或两个以上区;(2)将不同区中对应的两个物理块进^f亍绑定;(3)通过绑定加速的读写命令对绑定块进行访问。例如,在一片闪存中,共有2048个物理块,其中,块0块1023作为一个区,块1024块2047作为另一个区,绑定时将块0与块1024进行绑定,块1与块1025进行绑定......依次类推,最后通过绑定加速的读写命令对绑定块进行访问。这样,对闪存进行读写时,可同时对不同区中的两个物理块(即绑定块)进行读写。现有技术由于能同时对两个物理块进行访问,因而提高了闪存的性能。但是,由于闪存不可避免的会存在一些不能使用的坏块,绑定加速技术很可能增加坏块的数目。例如,在上述例子中,若块O是坏块,由于绑定加速技术无法单独访问一个块,则与其绑定的块1024也净皮迫标为坏块,这样,绑定的越多,坏块的数量也越多,使得闪存的可用容量下降。因此需要一种新的闪存设备、闪存管理方法及系统,在保证闪存访问效率的基础上,能提高闪存的可用容量。
发明内容本发明的目的之一在于提供一种闪存设备、闪存管理方法及系统,旨在解决现有技术中闪存的可用容量较低的问题。为了实现发明目的,所述闪存管理方法包:fe以下步骤A.根据闪存的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表;B.基于所述物理块绑定表和零碎块记录表对闪存进行访问。所述步骤A中建立零碎块记录表的过程包括根据闪存的物理块好坏记录,提取所述物理块绑定表中与坏块绑定的好块,建立零碎块记录表。所述步骤B中对闪存进行访问之前包括对所述物理块绑定表中的绑定块编号,得到绑定块的地址边界,以及对所述零碎块记录表中的零碎块编号。优选地,对所述零碎块进行编号的方式是将物理块绑定表中含有坏块的绑定块编号作为所述零碎绑定块的编号,或在物理块绑定表中绑定块的编号后进行顺序编号。所述步骤B包括Bl.根据逻辑地址与物理地址的映射关系,获取需访问的扇区地址;B2.根据所述需访问的扇区地址和闪存的配置信息,计算得到需访问的绑定块地址和绑定块内的扇区地址;B3.判断需访问的绑定块地址是否小于所述绑定块的地址边界,若是,则执行步骤B4,否则,执行步骤B5;B4.通过绑定加速的读写命令对物理块进4亍访问;B5.通过原始读写命令对物理块进行访问。为了更好地实现发明目的,所述闪存管理系统包括主机、控制单元和闪存,所述主^U与所述控制单元相连并进行数据交互,所述控制单元访问和控制所述闪存,所述主机根据闪存的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表;所述控制单元基于所述物理块绑定表和零碎块记录表对闪存进行访问。所述零碎块记录表中记录了所述物理块绑定表中与坏块绑定的好块。优选地所述闪存与所述主机及控制单元相连并进行数据交互,用于存储所述物理块绑定表和零碎块记录表。为了更好地实现发明目的,所述闪存设备包括控制器和闪存介质,所述闪存设备在接入主机时,所述控制器基于主机建立的物理块绑定表和零碎块记录表对闪存介质进行访问。所述零碎块记录表中记录了所述物理块绑定表中与坏块绑定的好块。由上可知,本发明在闪存管理过程中,与现有技术的区别在于将物理块绑定表中与坏块绑定的好块提取出来并建立了零碎块记录表,通过访问零碎块记录表中的零碎绑定块,将与坏块绑定的好块利用起来,从而提高了闪存的可用容量。图l是闪存的内部结构示意图2是本发明的一个实施例中闪存管理系统的结构示意图;图3是本发明的一个实施例中闪存管理系统的内部结构图;图4是本发明的一个实施例中数据表构建模块的内部结构图;图5是本发明的一个实施例中闪存i更备的结构示意图图6是本发明的一个实施例中闪存管理方法的流程图图7是本发明的一个实施例中闪存管理方法的流程图图8是本发明的一个实施例中控制单元访问闪存的方法流程图为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。具体实施例方式在本发明中,通过提取物理块绑定表中与坏块绑定的好块,建立了零碎块记录表,实现访问与坏块绑定的好块,从而提高了闪存的可用容量。图2示出了本发明的一个实施例中闪存管理系统的结构,该系统包括主机100、控制单元200和闪存300。应当说明的是,本发明所有图示中各设备之间的连接关系是为了清楚阐释其信息交互及控制过程的需要,因此应当视为逻辑上的连接关系,而不应仅限于物理连接。另外需要说明的是,各功能模块之间的通信方式可以采取多种,本发明的保护范围不应限定为某种特定类型的通信方式。其中主机IOO,与控制单元200相连并进行数据交互,用于根据闪存300的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表。其典型是个人计算机。控制单元200,与主机100相连并进行数据交互,以及访问和控制闪存300,用于基于物理块绑定表和零碎块记录表对闪存300进行访问。其典型是樣i控制器或单片机。闪存300,与主才几100和控制单元200相连并进行数据交互,可用于存〗诸物理块绑定表和零碎块记录表。图3示出了本发明的一个实施例中闪存管理系统的内部结构,该系统包括主机IOO、控制单元200和闪存300。其中主机100包括信息交互模块101、数据表构建模块102和配置表存储模块103,其中信息交互模块101与数据表构建模块102及配置表存储模块103相连并进行数据交互,用于发送扫描指令和闪存300的配置信息给控制单元200,并接收控制单元200反馈的物理块好坏记录。数据表构建模块102与信息交互模块101及配置表存储模块103相连并进行数据交互,用于4艮据物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表。图4示出了本发明的一个实施例中凄t据表构建^t块102的内部结构,其包括物理块绑定表生成模块1021和零碎块记录表生成模块1022,其中物理块绑定表生成模块1021与零碎块记录表生成模块1022相连并进行数据交互,用于根据闪存300的配置信息,将不同区中的对应物理块进行绑定,建立物理块绑定表。零碎块记录表生成模块1022与物理块绑定表生成模块1021相连并进行数据交互,用于根据闪存的物理块好坏记录,提取物理块绑定表中与坏块绑定的好坏,建立零碎块记录表。配置表存储模块103与信息交互模块101及数据表构建模块102相连并进行数据交互,用于存储各种闪存的配置信息表,配置信息表中记录了各种闪存的配置信息。在一实施例中,配置信息表如表l所示<table>tableseeoriginaldocumentpage7</column></row><table>控制单元200包括信息交互模块201、数据表处理模块202、配置信息存储-漠块203和地址映射^;莫块204,其中信息交互模块201与数据表处理模块202、配置信息存储模块203及地址映射才莫块204相连并进行数据交互,用乎接收扫描指令和配置信息,扫描闪存300,获取物理块好坏记录。数据表处理模块202与信息交互模块201、配置信息存储模块203及地址映射才莫块204相连并进行数据交互,用于对物理块绑定表中的绑定块进行编号,以及对零碎块记录表中的零碎块编号。在一优选实施例中,数据表处理模块202对物理块绑定表中的绑定块进行顺序编号。对零碎绑定块的编号有两种方式。在一实施例中,将物理块绑定表中含有坏块的绑定块的编号作为零碎块的编号。在另一实施例中,在物理块绑定表中绑定块的编号后对零碎块进行顺序编号。配置信息存储模块203与信息交互模块201、数据表处理模块202及地址映射才莫块204相连并进行数据交互,用于存储闪存300的配置信息。地址映射模块204与信息交互模块201、数据表处理模块202及配置信息存储模块203相连并进行数据交互,用于建立逻辑地址与物理地址的映射关系。闪存300与主机100及控制单元200相连并进行数据交互,用于存储物理块绑定表和零碎块记录表。在一实施例中,控制单元200可连接有外部存储器,用于存储物理块绑定表和零碎块记录表。图5示出了本发明的一个实施例中的闪存设备,该闪存设备包括控制器IO和闪存介质20。闪存设备在介入主机100时,控制器10基于主机100建立的物理块绑定表和零碎块记录表对闪存介质20进行访问。在一个实施例子中,零碎块记录表中记录了物理块绑定表中与坏块绑定的好块。图6示出了本发明的一个实施例中闪存管理的方法流程,该方法流程基于图2所示的系统结构,具体过程如下在步骤S601中,主机100根据闪存300的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表。在步骤S602中,控制单元200基于物理块绑定表和零碎块记录表对闪存300进行访问。图7示出了本发明的一个实施例中闪存管理的方法流程,该方法流程基于图3所示的系统结构,具体过程如下在步骤S701中,控制单元200扫描闪存300,获取闪存300的物理块好坏记录。在一实施例中,步骤S701的具体过程为(1)当闪存300与控制单元200连接时,信息交互模块201读取闪存300的ID号并反馈给主机100,主机100根据闪存300的ID号从配置表存储模块103存储的配置信息表中查找该闪存300的配置信息,例如若闪存300的ID号为123456789,则查找到闪存300的配置信息为表l中的类型l;(2)主机100的信息交互模块101发送扫描指令和闪存300的配置信息给控制单元200,控制单元200的信息交互模块201接收扫描指令开始扫描闪存300,获取物理块好坏记录;(3)信息交互模块201接收的配置信息存储在配置信息存储模块203中,控制单元200可根据该配置信息访问和控制闪存300。在步骤S702中,主机100根据闪存300的配置信息,建立物理块绑定表。在一实施例中,步骤S702的具体过程为控制单元200获取物理块好坏记录后,信息交互模块201将物理块好坏记录反馈给主机100,数据表构建模块102根据闪存300的配置信息,建立物理块绑定表。在一实施例中,物理块绑定表生成模块1021根据闪存300的配置信息,将不同区中的对应物理块进行绑定,建立物理块绑定表。在一示例方案中,闪存300的配置信息如表2所示<table>tableseeoriginaldocumentpage9</column></row><table>表2由表2可知,以2Plane技术为例,该闪存300有2个plane,并且每个plane之间相差1个块,即偶数块为一个plane,奇数块为另一个plane,由于绑定的两个物理块必须位于不同的区域,因此绑定时将块0与块1绑定、块2与块3绑定......依次类推,得到如表3所示的物理块绑定表。<table>tableseeoriginaldocumentpage9</column></row><table>表3需说明的是,上述表2和表3仅用于说明物理块绑定表的建立过程,配置信息与物理块绑定表并不限于表2和表3中的表格形式。在步骤S703中,主机100根据物理块好坏记录,提取物理块绑定表中与坏绑定的好块,建立零碎块记录表。在一实施例中,零碎块记录表生成冲莫块1022提取物理块绑定表中与坏块绑定的好坏,建立零碎块记录表。例如,如表3所示的物理块绑定表,假设块79、块IOO、块203和块796是坏块,与其绑定的好坏分别为块78、块IOI、块202和块797,零碎块记录表生成模块1022提取块78、块IOI、块202和块797,建立零碎块记录表。可采用数据或链表的方式记录零碎块。在一实施例中,零碎块记录表生成模块1022采用如下数组记录零碎块(即块78、块IOI、块202和块797):WORDsheet[1000];Shee则=78;Sheet[l]=101;Sheet[2]=202;Sheet[3]=797。建立的物理块绑定表和零碎块记录表可以存储在闪存300中,也可以存储在与控制单元200连接的外部存储器中。在步骤S703中,控制单元200基于物理块绑定表和零碎块记录表对闪存300进行访问。图8示出了本发明的一个实施例中控制单元200访问闪存300的方法流程,其具体过程如下在步骤S801中,数据表处理模块202对物理块绑定表中的绑定块进行编号,得到绑定块的地址边界,以及对零碎块记录表中的零碎块编号。在一优选实施例中,步骤S801的具体过程为数据表处理模块202对物理块绑定表中的绑定块进行顺序编号,例如,对表3所示的物理块绑定表中的绑定块进行顺序编号为块0与块1绑定后的块记为绑定块0、块2与块3绑定后的块"^己为绑定块l......依次类推,则最后一个绑定块为绑定块4095。数据表处理才莫块202对零碎块记录表中的零碎块进行绑定,如上述数组中所记录的零碎块,其中,块78与块101进行绑定,块202与块797进行绑定。对零碎绑定块的编号有两种方式。在一实施例中,将物理块绑定表中含有坏块的绑定块的编号作为零^5f块的编号,如表3所示的物理块绑定表,〗艮i殳块79、块IOO、块203和块796是坏块,则绑定了这些坏块的绑定块为绑定块39、绑定块50、绑定块101和绑定块398,零碎块的编号为块78与块101作为一个零碎绑定块记为块39,块202和块797作为一个零碎绑定块记为块50。在另一实施例中,在物理块绑定表中的绑定块的编号后对零碎块进行顺序编号,如表3所示的物理块绑定表,对所有物理块绑定后为绑定块04095,则零碎块的编号为块78与块101作为一个零碎绑定块记为块4096,块202和块797作为一个零碎绑定块记为块4097。下面以零碎块的顺序编号为实施例对本发明访问闪存300的过程进行详细阐述。在步骤S802中,地址映射模块204建立逻辑地址与物理地址的映射关系,获取需要访问的扇区地址。下面将以访问扇区4194316为例对闪存300的访问过程进行详细阐述。在步骤S803中,才艮据闪存300的配置信息,计算得到需访问的绑定块地址和绑定块内的扇区地址。在一实施例中,闪存300的配置信息如表2所示,根据该配置信息可知,闪存300有8192个物理块,每个物理块有128页,每个物理页有4个扇区,由于一个绑定块由两个物理块组成,则扇区4194316为绑定块4096的第12个扇区。在步骤S804中,判断需访问的绑定块地址是否小于绑定块的地址边界。若是,则执行步骤S806,否则执行步骤S805。在该实施例中,需访问的绑定块是绑定块4096,而根据表2所示的物理块绑定表可知,最后一个绑定块为绑定块4095,即绑定块的地址边界是4096。则进入步骤S805。在步骤S805中,控制单元200通过原始读写命令对物理块进行访问。在该实施例中,步骤S805的过程具体为由于上述已计算得到需访问的是绑定块4096中的第12个扇区,而物理块绑定表中的最大绑定块是绑定块4095,零碎绑定块是紧接绑定块4096后进行顺序编号的。由此可知,需访问的实际是零碎绑定块4096的第12个扇区,由于一个物理块有128页,每页有4个扇区,因此绑定块4096的第12个扇区实际是块4096所包含的第一个物理块,即物理块78。则通过原始读写命令对物理块78进行访问,原始读写命令即单独对一个物理块进行访问的命令,关于原始读写命令访问闪存是现有技术,在此不再赘述。若需访问的绑定块地址小于绑定块的地址边界,则ii^步骤S806。在步骤S806中,控制单元200通过绑定加速的读写命令对物理块进行访问。在一实施例中,若需访问的绑定块小于地址边界4096,则所访问的绑定块为物理块绑定表中的绑定块,则通过绑定加速的读写命令对物理块进行访问,关于绑定加速的读写命令访问闪存是现有技术,在此也不再赘述。根据闪存标准,可以有4%的坏块,在上述描述的实施例中,则8192个物理块有327个可以是坏块,若采用现有技术的绑定加速技术,则与这327个坏块绑定的好块也被标为坏块而不能使用。采用本发明,可以将与327个坏块绑定的好块也利用上,以表2的闪存300为例,一个物理块是256KB,327个物理块则是83MB,采用本发明,可以将现有技术无法使用的83MB的也利用上,因此可将闪存300的容量最大可扩展83MB。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。权利要求1、一种闪存管理方法,其特征在于,所述方法包括以下步骤A.根据闪存的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表;B.基于所述物理块绑定表和零碎块记录表对闪存进行访问。2、根据权利要求l所述的闪存管理方法,其特征在于,所述步骤A中建立零碎块记录表的过程包括根据闪存的物理块好坏记录,提取所述物理块绑定表中与坏块绑定的好块,建立零碎块记录表。3、根据权利要求l所述的闪存管理方法,其特征在于,所述步骤B中对闪存进行访问之前包括对所述物理块绑定表中的绑定块编号,得到绑定块的地址边界,以及对所述零碎块记录表中的零碎块编号。4、根据权利要求3所述的闪存管理方法,其特征在于,对所述零碎块进行编号的方式是将物理块绑定表中含有坏块的绑定块编号作为所述零碎绑定块的编号,或在物理块绑定表中绑定块的编号后进行顺序编号。5、根据权利要求l所述的闪存管理方法,其特征在于,所述步骤B包括Bl.冲艮据逻辑地址与物理地址的映射关系,获取需访问的扇区地址;B2.才艮据所述需访问的扇区地址和闪存的配置信息,计算得到需访问的绑定块地址和绑定块内的扇区地址;B3.判断需访问的绑定块地址是否小于所述绑定块的地址边界,若是,则执行步骤B4,否则,执行步骤B5;B4.通过绑定加速的读写命令对物理块进行访问;B5.通过原始读写命令对物理块进行访问。6、一种闪存管理系统,包括主机、控制单元和闪存,所述主机与所述控制单元相连并进行数据交互,所述控制单元访问和控制所述闪存,其特征在于所述主机根据闪存的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表;所述控制单元基于所述物理块绑定表和零碎块记录表对闪存进行访问。7、根据权利要求6所述的闪存管理系统,其特征在于,所述零碎块记录表中记录了所述物理块绑定表中与坏块绑定的好块。8、根据权利要求6或7所述的闪存管理系统,其特征在于,所述闪存与所述主机及控制单元相连并进行数据交互,用于存储所述物理块绑定表和零碎块记录表。9、一种闪存设备,包括控制器和闪存介质,其特征在于,所述闪存设备在接入主机时,所述控制器基于主机建立的物理块绑定表和零碎块记录表对闪存介质进行访问。10、根据权利要求9述的闪存设备,其特征在于,所述零碎块记录表中记录了所述物理块绑定表中与坏块绑定的好块。全文摘要本发明涉及半导体存储介质领域,提供了一种闪存设备、闪存管理方法及系统。所述方法包括以下步骤A.根据闪存的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表;B.基于所述物理块绑定表和零碎块记录表对闪存进行访问。本发明还提供了一种闪存管理系统,包括主机、控制单元和闪存,所述主机与所述控制单元相连并进行数据交互,所述控制单元用于访问和控制所述闪存,所述主机根据闪存的物理块好坏记录和配置信息,建立物理块绑定表和零碎块记录表;所述控制单元基于所述物理块绑定表和零碎块记录表对闪存进行访问。本发明还提供了一种闪存设备,采用本发明提供的闪存设备、闪存管理方法及系统,能提高闪存的可用容量。文档编号G11C29/00GK101645310SQ200810131278公开日2010年2月10日申请日期2008年8月5日优先权日2008年8月5日发明者钟智渊申请人:深圳市朗科科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1