一种数据处理方法以及数据处理模块的制作方法

文档序号:6607824阅读:155来源:国知局
专利名称:一种数据处理方法以及数据处理模块的制作方法
技术领域
本发明涉及数据处理领域,特别涉及一种数据处理方法以及数据处理模块。
背景技术
当今时代需要存储的信息量越来越大,人们对于信息的存储要求越来越高,存储设备的存储和读取速度也成了困扰人们的大问题,很多固态硬盘,U盘,移动硬盘等存储设备虽然容量大,但每秒进行读写操作的次数(I0PS,I/0 per second),也就是设备相应的读写速度不尽人意。闪存介质由于其大容量,长寿命,非易失性等特点被越来越广泛的应用到各个领域,对闪存介质进行数据操作时,都是根据逻辑地址对闪存介质进行访问,闪存介质是以块为单位进行数据操作,现有技术中,闪存介质内有逻辑块和物理块的对应关系对照表,通过此表可知某个逻辑块对应的物理块,再根据实际的物理块进行数据操作,但是,逻辑块内部还有逻辑页按顺序排列,写数据时要精确到逻辑页对应的物理页,读写数据时仅依靠逻辑块和物理块的对应关系对照表不能精确到具体的页,则影响了对闪存进行数据操作的速度。

发明内容
本发明实施例提供了一种能够提高数据写入速度的数据处理方法及数据处理模块。本发明实施例提供的数据处理方法,包括获取物理块,逻辑块,物理页以及逻辑页之间的关联关系;根据所述关联关系以及待写入数据查询可写物理块信息;判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入所述可写物理块。本发明实施例提供的数据处理模块,包括获取单元,用于获取物理块,逻辑块,物理页以及逻辑页之间的关联关系;查询单元,用于根据关联关系以及待写入数据查询可写物理块信息;执行单元,用于判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入所述可写物理块。从以上技术方案可以看出,本发明实施例具有以下优点本发明实施例中,首先获取物理块,逻辑块,物理页以及逻辑页之间的关联关系, 根据该关联关系以及待写入数据查询可写物理块信息,判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入该可写物理块,由于此种方案能够精确地查询到可写物理块中可以写入数据的物理页,并将待写入数据写入该可写物理块,相比现有技术中将待写入数据零散的写入整个存储介质而言,本发明实施例的方案能够将待写入数据进行集中的写入,从而加快了数据的随机写入速度。


图1为本发明实施例中数据处理方法一个实施例示意图2为本发明实施例中数据处理方法另一个实施例示意图;图3为本发明实施例中设备管理区域示意图;图4为本发明实施例中区信息表管理区域示意图;图5为本发明实施例中数据处理模块一个实施例示意图。
具体实施例方式本发明实施例提供了一种数据处理方法以及数据处理模块,用于加快数据的写入速度。需要说明的是,本发明实施例中,存储介质以闪存为例,但不限于闪存,可以是其他类似flash操作模式的其他存储介质。请参阅图1,本发明实施例中数据处理方法一个实施例包括101、获取物理块,逻辑块,物理页以及逻辑页之间的关联关系;闪存以块为单位进行数据操作,块分为物理块和逻辑块,块由页组成,具体页可分为物理页和逻辑页,在对闪存进行数据操作时,都根据逻辑地址对闪存中待访问的数据所在具体物理地址进行访问,本实施例中,闪存中的物理块,逻辑块,物理页以及逻辑页之间具有一定的关联关系,首先获取该关联关系,获取的具体方式将在后续实施例中详细说明。102、根据关联关系以及待写入数据查询可写物理块信息;待写入数据有相应的逻辑地址,根据待写入数据的逻辑地址以及步骤101获取的关联关系可查询到能够写入待写入数据的物理块信息。103、判断查询到的可写物理块是否有空间可写;当查询到可写入数据的物理块后,判断该可写物理块是否有空间能够写入待写入数据,若可写物理块有空间写入数据,则执行步骤104。104、将待写入数据写入可写物理块。当判断查询到的可写物理块有空间可写,则将待写入数据写入。需要说明的是,若步骤103判断查询到的可写物理块没有空间可写,则可启动回收流程,从已经写满无效数据或过期数据的物理块中选取一个进行擦除,并将擦除后的物理块作为可写物理块,或者还可以从空白块中选取一个物理块作为可写物理块,需要说明的是,本实施例以及后续实施例中有关物理块回收的过程为本领域技术人员的公知常识, 具体方式此处不做限定。在本实施例中,首先获取物理块,逻辑块,物理页以及逻辑页之间的关联关系,根据该关联关系以及待写入数据查询可写物理块信息,判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入该可写物理块,由于此种方案能够精确地查询到可写物理块中可以写入数据的物理页,并将待写入数据写入该可写物理块,相比现有技术中将待写入数据零散的写入整个存储介质而言,本发明实施例的方案能够将待写入数据进行集中的写入,从而加快了数据的随机写入速度。为便于理解,下面以另一实施例对本发明实施例中的数据处理方法进行详细描述请参阅图2,本发明实施例中数据处理方法一个实施例包括201、建立设备信息表,区信息表和逻辑块信息表;
本实施例中,闪存设备刚出厂时需要进行初始化,则在闪存中建立设备信息表,区信息表和逻辑块信息表,该设备信息表中包含存储设备信息表的物理块的信息以及存储区信息表的物理块信息,该区信息表中包含区内存储逻辑块信息表的物理块的信息以及区内可写物理块的信息,该逻辑块信息表用于表示逻辑块内逻辑页地址与物理页地址的对应关系。需要说明的是,以上所述的三个级别的信息表中,最先建立的是逻辑块信息表,然后建立区信息表,最后建立设备信息表。202、获取物理块,逻辑块,物理页以及逻辑页之间的关联关系;通过步骤201建立设备信息表,区信息表和逻辑块信息表可获取物理块,逻辑块, 物理页以及逻辑页之间的关联关系。具体的,由于该设备信息表中包含存储设备信息表的物理块的信息以及存储区信息表的物理块信息,所以通过设备信息表可查询到存储设备信息表的多个物理块所在区域和存储区信息表的多个物理块所在区域,通过区号查询设备信息表可以得到区信息表的物理地址,可由此物理地址读取待访问区的区信息表内容。进一步的,该区信息表中包含区内存储逻辑块信息表的物理块的信息以及区内可写物理块的信息,所以通过区信息表可查询到区内存储逻辑块信息表的物理块所在的区域,以及区内可写物理块所在区域,根据区内逻辑块号查询区信息表可查询到存放该逻辑块信息表的物理地址,通过该物理地址读出该逻辑块信息表的内容。该逻辑块信息表用于表示逻辑块内逻辑页地址与物理页地址的对应关系,所以通过逻辑块信息表可以得到数据的逻辑地址对应的物理地址,从而可以写入数据。203、得到分区号,逻辑块号以及逻辑页号;根据待写入数据的逻辑地址得到该逻辑地址所在分区的区号,该分区内逻辑块的块号以及该逻辑块内逻辑页的页号。204、查询到设备信息表所在的管理区域;闪存的冗余信息中包含闪存的一些基本信息,将冗余信息存放在设备信息表中, 使用闪存的过程中,每次上电都可以通过扫描冗余信息得到设备信息表所存储的区域,即设备信息表管理区域。具体的,闪存设备第一次上电时需要进行初始化,首先对整个闪存进行扫描,在扫描得到的可用物理块中,划分出一类块作为设备管理区域,用于存放步骤201建立的设备信息表,区信息表和逻辑块信息表,此类块中也可存放用于平衡磨损交换的空块,此处不作限定。设备管理区域只有一个,请参阅图3,设备管理区域301包括设备信息表管理区域 302,区信息表管理区域303,其中设备信息表管理区域302用于存放设备信息表,如图3中的设备信息表3021和设备信息表3022,闪存分为很多区,相应的有很多区信息表,如图3 所示,区信息表3031和区信息表3032存放于区信息表管理区域303中,在设备管理区域 301中还可以有空块区域304,存放用于平衡磨损交换的空块,如图3中的空块3041和空块 3042。区由很多逻辑块组成,请参阅图4,区信息表管理区域401包括逻辑块信息表管理区域402和数据块区域403,逻辑块信息表管理区域402中有多个逻辑块信息表,如图4中逻辑块信息表4021,逻辑块信息表4022及逻辑块信息表4023,在数据块区域403中,存放多个数据块,如图4中数据块4031,数据块4032及数据块4033,可以理解的是,区信息表管理区域还可以有其他用途的物理块,此处不作限定。205、扫描得到最新设备信息表;确定了设备信息表的管理区域后,可在该区域内的所有块中扫描设备信息表,得到最新的设备信息表。扫描的方式可以是扫描存储介质冗余信息,如依次读出存储介质每个单元的特殊地址的数据,也可以是其他的方式,此处不作限定。206、查询可写物理块信息;得到最新设备信息表之后,通过该最新设备信息表查询区信息表所在的管理区域,在该区信息表所在的管理区域内根据区号查询并读取待访问的区信息表,由于区信息表中包含可写物理块的信息,则通过区信息表可查询可写物理块信息。207 208,与前述图1所示实施例中的步骤103 104内容相同,此处不再赘述。需要说明的是,若步骤207判断查询到的可写物理块没有空间可写,则可启动回收流程,从已经写满无效数据或过期数据的物理块中选取一个进行擦除,并将擦除后的物理块作为可写物理块,或者还可以从空白块中选取一个物理块作为可写物理块,需要说明的是,本实施例以及后续实施例中有关物理块回收的过程为本领域技术人员的公知常识, 具体方式此处不做限定。209、整理当前可写块内物理页和逻辑页的对应关系;当可写物理块写满之后,通过查询当前可写块的信息,对当前可写块内的每个物理页与逻辑页的对应关系进行整理。210、读取并更新当前可写物理块对应的逻辑块信息表;读取并更新与当前可写物理块对应的逻辑块信息表,然后将该逻辑块信息表存储到逻辑块信息表管理区域中,则写入数据的物理地址和逻辑地址的对应信息就存储在逻辑块信息表中,以后读取数据可查询到相应的逻辑页,直接读取,在更新并存储逻辑块信息表的基础上,更新并存储相应的区信息表到区信息表管理区域,更新并存储相应的设备信息表到设备信息表管理区域。211、记录断电保护标记信息;闪存在使用过程中,会有突然断电的情况发生,那么当数据写入时若发生非法断电,则在非法断电之前要记录断电保护标记信息,该断电保护标记信息包含断电时数据处理进行的位置以及断电时数据处理情况的信息上下文。212、存储断电保护标记信息;具体的,在发生非法断电之前,根据记录的断电保护标记信息的上下文,存储断电保护标记信息到相应的存储区,断电保护标记信息有两类,第一类断电保护标记信息记录在设备信息表里,与该设备信息表一同存储在设备信息表管理区域,第二类断电保护标记信息记录在区信息表里,与该区信息表一同存储在区信息表管理区域,由于正在写入的物理块是当前可写物理块,在断电恢复时可以完全擦除,不需要恢复数据,因此也就不需要在逻辑块表中存储断电标记信息。断电恢复标记信息存储的位置是由断电时数据处理进行的位置决定的,例如,正在存储区信息表到区信息表管理区域时闪存断电,此时的断电引起了区信息表的相关变化,由于设备信息表中包含存储区信息表的物理块信息,则闪存将断电恢复标记信息记录在设备信息表里,与设备信息表一同存储在设备信息表管理区域中。再例如,正在回收逻辑块信息表管理区域时闪存断电,此时的断电引起了逻辑块信息表的相关变化,由于区信息表中包含区内存储逻辑块信息表的物理块的信息,则闪存将逻辑块信息记录在区信息表里,与区信息表一同存储在区信息表管理区域中。可以理解的是,在进行数据处理的其他过程中发生断电,闪存在断电之前将根据具体情况,把断电恢复标记信息存储到相应的位置。213、根据断电保护标记信息上下文恢复数据。当闪存再次上电时,读取上次断电时存储的断电保护标记信息,根据不同的信息上下文恢复数据。本实施例中,在闪存中建立了设备信息表,区信息表和逻辑块信息表,设备信息表中包含存储设备信息表的物理块的信息以及存储区信息表的物理块信息,区信息表中包含区内存储逻辑块信息表的物理块的信息以及区内可写物理块的信息,逻辑块信息表用于表示逻辑块内逻辑页地址与物理页地址的对应关系,通过这三种表,在写入数据时,自上而下查询到可写物理块,判断该可写物理块有无可写空间,若有可写空间,则写入数据到可写物理块的具体物理页,当闪存发生意外断电时,记录并存储断电恢复标记信息,该断电恢复标记信息包含断电时数据处理进行的位置以及断电时数据处理情况的信息上下文,当再次上电时,根据断电保护标记信息上下文恢复数据,因而方便了数据的写入,加快了写入数据的速度,并且能够有效的恢复非法断电后的数据。需要说明的是,在前面描述的实施例中均包含建立设备信息表,区信息表和逻辑块信息表的过程,可以理解的是,在实际应用中,这三张表并不是每次在执行读写过程时都需要建立的,往往只需要在设备出厂的时候建立一次,在以后对设备的读写过程则可以直接使用这三张表,并进行更新。下面对本发明实施例中的数据处理模块进行描述,请参阅图5,本发明实施例中的数据处理装置一个实施例包括获取单元501,用于获取物理块,逻辑块,物理页以及逻辑页之间的关联关系;查询单元502,用于根据关联关系以及待写入数据查询可写物理块信息;执行单元503,用于判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入该可写物理块。需要说明的是,若查询单元502判断查询到的可写物理块没有空间可写,则执行单元503还可以启动回收流程,从已经写满无效数据或过期数据的物理块中选取一个进行擦除,并将擦除后的物理块作为可写物理块,或者还可以从空白块中选取一个物理块作为可写物理块,需要说明的是,本实施例以及后续实施例中有关物理块回收的过程为本领域技术人员的公知常识,具体方式此处不做限定。本实施例中,数据处理模块进一步还可以包括建立单元504,用于建立设备信息表,区信息表和逻辑块信息表,该设备信息表中包含存储设备信息表的物理块的信息以及存储区信息表的物理块信息,该区信息表中包含区内存储逻辑块信息表的物理块的信息以及区内可写物理块的信息,该逻辑块信息表用于表示逻辑块内逻辑页地址与物理页地址的对应关系;
扫描单元505,用于扫描存储介质,在扫描得到的可用物理块中,划分出用于存放所述设备信息表,区信息表和逻辑块信息表的物理块,并用于通过扫描冗余信息查询到设备信息表所在的管理区域,在该设备信息表所在的管理区域的所有块中扫描得到最新设备信息表;处理单元506,用于当可写物理块写满之后,对该当前可写块内的每个物理页和逻辑页的对应关系进行整理,并且,读取并更新与当前可写物理块对应的逻辑块信息表;断电信息记录单元507,用于在写入待写入数据时发生断电时记录断电保护标记信息,该断电保护标记信息包含断电时数据处理情况的信息上下文;断电信息存储单元508,用于根据该述断电保护标记信息上下文对断电保护标记信息进行存储;数据恢复单元509,用于当再次上电时读取该断电保护标记信息,根据断电保护标记信息中包含的信息上下文对数据进行恢复。本实施例中,闪存进行数据操作是以块为基本单位的,块又可分为物理块和逻辑块,相应的块内的页可以分为物理页和逻辑页,那么物理块,逻辑块,物理页以及逻辑页之间有一定的关联关系,可由建立单元504建立设备信息表,区信息表和逻辑块信息表,该设备信息表中包含存储设备信息表的物理块的信息以及存储区信息表的物理块信息,该区信息表中包含区内存储逻辑块信息表的物理块的信息以及区内可写物理块的信息,该逻辑块信息表用于表示逻辑块内逻辑页地址与物理页地址的对应关系,通过这三张表可以获取物理块,逻辑块,物理页以及逻辑页之间的关联关系。进而由获取单元501获取到该关联关系,然后由扫描单元505扫描存储介质,在扫描得到的可用物理块中,划分出用于存放所述设备信息表,区信息表和逻辑块信息表的物理块,并通过扫描冗余信息查询到设备信息表所在的管理区域,在该设备信息表所在的管理区域的所有块中扫描得到最新设备信息表。得到最新设备信息表后,由查询单元502根据该关联关系以及待写入的数据查询可写物理块信息,执行单元503判断所查询到的可写物理块是否有空间可写,若有,则执行单元503将待写入数据写入该可写物理块,当可写物理块写满之后,处理单元506对该当前可写块内的每个物理页和逻辑页的对应关系进行整理,并且读取并更新与当前可写物理块对应的逻辑块信息表,那么当写入数据闪存时,可以快速地查询到能够写入数据的可写物理块,从而加快了数据的写入速度。在写入待写入数据时发生断电时,断电信息记录单元507记录断电保护标记信息,该断电保护标记信息包含断电时数据处理情况的信息上下文,断电信息存储单元508 根据该述断电保护标记信息上下文对断电保护标记信息进行存储,当再次上电时,数据恢复单元509读取该断电保护标记信息,根据断电保护标记信息中包含的信息上下文对数据进行恢复,因而能够有效的恢复非法断电后的数据。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种数据处理方法以及数据处理模块进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种数据处理方法,其特征在于,包括获取物理块,逻辑块,物理页以及逻辑页之间的关联关系; 根据所述关联关系以及待写入数据查询可写物理块信息;判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入所述可写物理块。
2.根据权利要求1所述方法,其特征在于,所述获取物理块,逻辑块,物理页以及逻辑页之间的关联关系包括建立设备信息表,区信息表和逻辑块信息表,所述设备信息表中包含存储所述设备信息表的物理块的信息以及存储区信息表的物理块信息,所述区信息表中包含区内存储逻辑块信息表的物理块的信息以及区内可写物理块的信息,所述逻辑块信息表用于表示逻辑块内逻辑页地址与物理页地址的对应关系;通过所述设备信息表,区信息表和逻辑块信息表获取所述关联关系。
3.根据权利要求2所述方法,其特征在于,所述根据关联关系以及待写入数据查询可写物理块信息包括根据待写入数据的逻辑地址得到所述逻辑地址所在分区的区号,所述分区内逻辑块的块号以及所述逻辑块内逻辑页的页号; 获取最新设备信息表;通过所述最新设备信息表查询区信息表所在的管理区域,在所述区信息表所在的管理区域内根据区号查询并读取待访问的区信息表,通过区信息表查询可写物理块信息。
4.根据权利要求2或3所述方法,其特征在于,所述获取最新设备信息表包括 通过扫描冗余信息,查询到设备信息表所在的管理区域;在所述设备信息表所在的管理区域的所有块中扫描得到最新设备信息表。
5.根据权利要求2或3所述方法,其特征在于,所述将待写入数据写入可写物理块之后包括当所述可写物理块写满之后,对当前可写块内的每个物理页和逻辑页的对应关系进行整理;读取并更新与当前可写物理块对应的逻辑块信息表。
6.根据权利要求1至3任一项所述的方法,其特征在于,若在写入待写入数据时发生断电,则记录断电保护标记信息,所述断电保护标记信息包含断电时数据处理情况的信息上下文;根据所述信息上下文对所述断电保护标记信息进行存储;当再次上电时读取所述断电保护标记信息,根据所述断电保护标记信息中包含的所述信息上下文对数据进行恢复。
7.一种数据处理模块,其特征在于,包括获取单元,用于获取物理块,逻辑块,物理页以及逻辑页之间的关联关系; 查询单元,用于根据关联关系以及待写入数据查询可写物理块信息; 执行单元,用于判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入所述可写物理块。
8.根据权利要求7所述的模块,其特征在于,所述数据处理模块还包括建立单元,用于建立设备信息表,区信息表和逻辑块信息表,所述设备信息表中包含存储所述设备信息表的物理块的信息以及存储区信息表的物理块信息,所述区信息表中包含区内存储逻辑块信息表的物理块的信息以及区内可写物理块的信息,所述逻辑块信息表用于表示逻辑块内逻辑页地址与物理页地址的对应关系。
9.根据权利要求7或8所述的模块,其特征在于,所述数据处理模块还包括处理单元,用于当所述可写物理块写满之后,对当前可写块内的每个物理页和逻辑页的对应关系进行整理,并且,读取并更新与当前可写物理块对应的逻辑块信息表。
10.根据权利要求7或8所述的模块,其特征在于,所述数据处理模块还包括断电信息记录单元,用于在写入待写入数据时发生断电时记录断电保护标记信息,所述断电保护标记信息包含断电时数据处理情况的信息上下文;断电信息存储单元,用于根据所述断电保护标记信息上下文对所述断电保护标记信息进行存储;数据恢复单元,用于当再次上电时读取所述断电保护标记信息,根据所述断电保护标记信息中包含的所述信息上下文对数据进行恢复。
全文摘要
本发明实施例公开了一种数据处理方法以及数据处理模块,用于加快数据的写入速度。本发明实施例方法包括获取物理块,逻辑块,物理页以及逻辑页之间的关联关系,根据关联关系以及待写入数据查询可写物理块信息,判断查询到的可写物理块是否有空间可写,若有,则将待写入数据写入所述可写物理块。本发明实施例能够有效提高数据写入速度。
文档编号G06F12/02GK102375779SQ20101025568
公开日2012年3月14日 申请日期2010年8月16日 优先权日2010年8月16日
发明者万红波, 钟智渊 申请人:深圳市朗科科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1