信息处理方法及存储设备与流程

文档序号:11949885阅读:195来源:国知局
本发明涉及信息
技术领域
:,尤其涉及一种信息处理方法及电子设备。
背景技术
::在数据存储过程中,可能会出现意外断电或电子设备自动死机的现象,若出现这样的情况时,需要通过数据恢复来确定每一个数据块和物理页中存储的数据。在现有技术中发现,依然有一些数据一旦丢失是无法恢复的,或者恢复速度比较慢。技术实现要素:有鉴于此,本发明实施例期望提供一种信息处理方法及电子设备,至少用于缓解上述问题。为达到上述目的,本发明的技术方案是这样实现的:本发明实施例提供第一方面提供了一种信息处理方法,包括:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。基于上述方案,所述记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息,包括:当写完第n个所述物理页,则在所述第n个所述物理页的指定位置写入所述第n个所述物理页的LPN及所述写入时间信息;其中,所述n为不大于所述N-1的正整数;所述第n个所述物理页写入的第n个所述物理页的LPN及所述写入时间信息,用于在数据恢复中更新映射表。基于上述方案,所述方法还包括:当进行数据恢复时,判断所述第N个所述物理页是否有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;当所述第N个所述物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,根据所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息更新所述映射表。基于上述方案,所述方法还包括:当所述第N个所述物理页未写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,读取第1个所述物理页至所述第N-1个所述物理页内写入的LPN及所述写入时间信息;根据读取的所述LPN及所述写入时间信息,更新所述映射表。基于上述方案,所述方法还包括:在进行数据恢复时,记录获取过的LPN及写入时间信息,形成记录信息;判断获取的LPN是否已位于所述记录信息中;当所述获取的所述LPN已位于所述记录信息中,则比较获取的LPN对应的写入时间信息,与已位于所述记录信息中的所述LPN对应的写入时间信息的时间先后顺序,形成比较结果;基于所述比较结果,更新所述记录信息,以使所述记录信息中存储的LPN对应的最晚的写入时间信息;根据所述记录信息更新所述映射表。基于上述方案,所述方法还包括:当获取的所述LPN未位于所述记录信息中,将获取LPN和写入时间信息,更新到所述记录信息中。基于上述方案,所述记录信息中的LPN按照LPN的编码规则顺序存储;所述判断获取的LPN是否已位于所述记录信息中,包括:以所述获取的LPN的高M1位为第一索引,确定所述LPN位于所述记录信息的范围;其中,所述M1为正整数;当确定所述获取的LPN所在所述记录信息的范围后,以所述LPN的低M2位为第二索引,与确定的范围内的所述LPN进行匹配;所述M2为正整数;根据匹配的结果,确定所述获取的LPN是否已位于所述记录信息内。本发明实施例提供一种存储设备,包括存储介质及与存储介质连接的处理器;所述存储介质至少包括一个数据块:所述处理器,用于向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。基于上述方案,所述处理器,具体用于当写完第n个所述物理页,则在所述第n个所述物理页的指定位置写入所述第n个所述物理页的LPN及所述写入时间信息;其中,所述n为不大于所述N-1的正整数;所述第n个所述物理页写入的第n个所述物理页的LPN及所述写入时间信息,用于在数据恢复中更新映射表。基于上述方案,所述处理器,还用于当进行数据恢复时,判断所述第N个所述物理页是否有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;当所述第N个所述物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,根据所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息更新所述映射表。基于上述方案,所述处理器,还用于当所述第N个所述物理页未写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,读取第1个所述物理页至所述第N-1个所述物理页内写入的LPN及所述写入时间信息;根据读取的所述LPN及所述写入时间信息,更新所述映射表。基于上述方案,所述处理器,还用于在进行数据恢复时,记录获取过的LPN及写入时间信息,形成记录信息;判断获取的LPN是否已位于所述记录信息中;当所述获取的所述LPN已位于所述记录信息中,则比较获取的LPN对应的写入时间信息,与已位于所述记录信息中的所述LPN对应的写入时间信息的时间先后顺序,形成比较结果;基于所述比较结果,更新所述记录信息,以使所述记录信息中存储的LPN对应的最晚的写入时间信息;根据所述记录信息更新所述映射表。基于上述方案,所述处理器,还用于当获取的所述LPN未位于所述记录信息中,将获取LPN和写入时间信息,更新到所述记录信息中。基于上述方案,所述记录信息中的LPN按照LPN的编码规则顺序存储;所述处理器,还用于以所述获取的LPN的高M1位为第一索引,确定所述LPN位于所述记录信息的范围;其中,所述M1为正整数;当确定所述获取的LPN所在所述记录信息的范围后,以所述LPN的低M2位为第二索引,与确定的范围内的所述LPN进行匹配;所述M2为正整数;根据匹配的结果,确定所述获取的LPN是否已位于所述记录信息内。本发明实施例提供的信息处理方法及电子设备,会记录每一个物理页写入的数据的LPN和写入时间信息,并在一个数据块的最后一个物理页写入前面所有物理页的LPN和写入时间信息,这样在数据恢复的过程中,可以直接根据最后一个物理页写入的前面的LPN和写入时间信息,更新映射表。这样就可以避免采用元数据进行恢复过程中,出现LPN和写入时间信息丢失导致的恢复成功率低的问题,同时通过直接读取最后一个物理页写入的内容,就能够获得一个数据块前面所有物理页的LPN和写入时间戳信息,不用单独遍历扫描每一个物理页,具有恢复速率快的优点。附图说明图1为本发明实施例提供的第一种信息处理方法的流程示意图;图2为本发明实施例提供的第二种信息处理方法的流程示意图;图3为本发明实施例提供的第三种信息处理方法的流程示意图;图4为本发明实施例提供的一种存储设备的结构示意图。具体实施方式以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。实施例一:如图1所示,本实施例提供一种信息处理方法,包括:步骤S110:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;步骤S120:记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;步骤S130:在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。本实施例所述的信息处理方法可为应用于各种存储设备中,所述步骤S110向包括N个物理页的数据块中写入数据,通常情况下为依次向每一个物理页写入数据,即只有写完了一个物理页之后,才能进入该物理页的下一个物理页的写入。在步骤S120中分别记录前N-1物理页的LPN和写入时间信息。其中所述LPN可以唯一标识写入的数据,是由电子设备的操作系统分配的。所述写入时间信息可包括时间戳等。所述LPN为LogicalPageNumber,的缩写,与写入的数据具有对应关系,后续电子设备的操作系统在访问数据时,利用LPN进行访问,硬盘接收到携带有LPN的访问指令之后,利用所述LPN查询所述映射表。该映射表中存储LPN和物理页的物理页编号的对应关系。存储介质,例如,硬盘接收到所述访问指令之后,利用所述LPN为查询依据,查询所述映射表,获得操作系统想要访问数据的VPN,然后根据VPN到对应的物理页读取数据。若在数据写入的过程中,出现突然掉电等现象时,若物理页虽然已写入了数据,可是还未来的及建立所述映射表中的对应关系,就可能会导致写入存储介质数据的丢失。在步骤S130中会在最后一个物理页中写入前N-1个物理也的LPN和写入时间信息,若出现数据丢失,就需要执行数据恢复操作,数据恢复操作,主要是恢复映射表中的内容。即恢复映射表中LPN和VPN的对应关系。在本实施中在数据块的最后一页写了有前面N-1个物理页的LPN和写入时间信息;这样在进行数据恢复时,就可以直接通过读取最后一个所述物理页的存储的数据,知道前N-1个物理页对应的LPN和写入时间信息。这样的话,所述LPN用于与VPN建立对应关系,所述写入时间信息用于确定当前LPN是否为物理页的最后一次写入,可以避免恢复错误。利用本实施例所述的信息处理方法,显然可以避免出现掉电等情况导致的数据无法恢复的现象,同时利用元数据虽然能够进行部分数据恢复,且能够避免元数据存储未及时导致的部分数据依然无法直接恢复的现象。实施例二:如图1所示,本实施例提供一种信息处理方法,包括:步骤S110:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;步骤S120:记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;步骤S130:在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。所述步骤S120可包括:当写完第n个所述物理页,则在所述第n个所述物理页的指定位置写入所述第n个所述物理页的LPN及所述写入时间信息;其中,所述n为不大于所述N-1的正整数;所述第n个所述物理页写入的第n个所述物理页的LPN及所述写入时间信息,用于在数据恢复中更新映射表。在本实施例中数据块中的前N-1个物理页的LPN和写入时间信息,都会记录在该物理页的指定位置。这里的指定位置可为该物理页的页首,也可以该物理页的页尾,这样在进行数据恢复时,如果一个数据块尚未写到最后一个物理页,那么电子设备可以通过扫描每一个物理页末尾的记录,知道该物理也的LPN和写入时间信息,从而恢复映射表中的对应关系。若一个数据块所有物理页都写满了内容,则可以直接读取第N个物理页的写入内容,就可以完成该数据块在映射表中的信息记录的恢复,相对于扫描每一个所述物理页,具有恢复速率快的特点。当所述指定位置为页首时,实施例三:如图1所示,本实施例提供一种信息处理方法,包括:步骤S110:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;步骤S120:记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;步骤S130:在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。如图2所示,所述方法还包括:步骤S210:当进行数据恢复时,判断所述第N个所述物理页是否有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;步骤S220:当所述第N个所述物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,根据所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息更新所述映射表。步骤S210判断第N个所述物理页是否有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,可包括判断所述第N个物理页是否为空,若不为空就表示第N个物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息。当第二N个所述物理也有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,显然可以直接根据第N个所述物理页的内容,直接更新映射表。当所述第N个物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息还可包括两种情况:第一种:所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,全部写入到所述第N个所述物理页,则此时,步骤S220直接根据第N个物理页的内容,就可以完成映射表的更新。第二种:所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,部分写入到所述第N个所述物理页,在步骤S220中将根据已写入第N个物理页的数据,更新映射表中对应于该数据块的部分物理页的LPN和VPN的映射关系和写入时间信息。未将LPN和写入时间信息写入第N物理页可以通过其他方式进行映射表的更新,例如,通过元数据恢复,也可以通过写在每一个所述物理页末尾的LPN和写入时间信息来恢复,此时,电子摄本可能需要扫描未将LPN和写入时间信息写入到第N个物理页的物理页,并通过读取对应物理页的数据,来确定剩余物理页的LPN和VPN的对应关系及写入时间信息。实施例四:如图1所示,本实施例提供一种信息处理方法,包括:步骤S110:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;步骤S120:记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;步骤S130:在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。如图2所示,所述方法还包括:步骤S210:当进行数据恢复时,判断所述第N个所述物理页是否有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;步骤S220:当所述第N个所述物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,根据所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息更新所述映射表。所述方法还包括:当所述第N个所述物理页未写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,读取第1个所述物理页至所述第N-1个所述物理页内写入的LPN及所述写入时间信息;根据读取的所述LPN及所述写入时间信息,更新所述映射表。当当前数据块并未写到最后一个物理页,但是在本实施例中每一个物理页都有记录自己的LPN和写入时间信息,故在本实施例中可以读取前N-1个所述物理页内自省记录的LPN及写入时间信息,来更新所述映射表。在本实施例中所述如图1所示,本实施例提供一种信息处理方法,包括:步骤S110:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;步骤S120:记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;步骤S130:在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。如图2所示,所述方法还包括:步骤S210:当进行数据恢复时,判断所述第N个所述物理页是否有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;步骤S220:当所述第N个所述物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,根据所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息更新所述映射表,可在指定位置写入有所述LPN和写入时间信息,在本实施例中可以直接到指定区域读取所述LPN和写入时间信息。通常所述LPN和写入时间信息可写在每一个所述物理页的页尾,当然也可以写在页首,若写在页首可方便再次提升恢复速率。实施例五:如图1所示,本实施例提供一种信息处理方法,包括:步骤S110:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;步骤S120:记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;步骤S130:在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。如图3所示,所述方法还包括:步骤S310:在进行数据恢复时,记录获取过的LPN及写入时间信息,形成记录信息;步骤S320:判断获取的LPN是否已位于所述记录信息中;步骤S330:当所述获取的所述LPN已位于所述记录信息中,则比较所述获取的LPN对应的写入时间信息,与已位于所述记录信息中的所述LPN对应的写入时间信息的时间先后顺序,形成比较结果;步骤S340:基于所述比较结果,更新所述记录信息,以使所述记录信息中存储的LPN对应的最晚的写入时间信息;步骤S350:根据所述记录信息更新所述映射表。在本实施中在进行数据恢复时,将会去获取LPN和写入时间信息。这里的获取可包括读取每一个数据块的最后一个物理页所存储的内容,或到每一个数据块非最后一个物理页的指定位置读取所述LPN和写入时间信息。在本实施例中将会记录在数据恢复过程中已获取到的LPN和写入时间信息,并记录下来;当获取到新的LPN和写入时间信息时,会根据该LPN是否位于所述记录信息中,如果在,则会比较两次获取的同一LPN对应的写入时间信息,基于比较结果,更新记录信息,以使记录信息中存储的LPN对应的写入时间信息是最晚的写入时间。在本实施中所述信息记录可对应于记录已获取的LPN和写入时间信息的哈希表。这里的哈希表又称为散列表,利用哈希表形成所述信息记录,后续访问所述哈希表时较为快捷。这样信息记录中时数据恢复中获取的LPN与最晚的写入时间信息的对应关系,这样可以不用频繁的更新映射表,可以一次性完成映射表。作为本实施例的进一步改进,如图2所示,所述方法还包括:步骤S360:当获取的所述LPN未位于所述记录信息中,将获取LPN和写入时间信息,更新到所述记录信息中。在本实施例中当然若在记录信息中为记录该LPN,显然这是首次获取到该LPN和其对应的写入时间信息,首先可以仅获取到一次的LPN和写入时间信息写入到记录信息,也可以方便获取多次的LPN和写入时间信息的比对。实施例六:如图1所示,本实施例提供一种信息处理方法,包括:步骤S110:向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;步骤S120:记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;步骤S130:在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。如图3所示,所述方法还包括:步骤S310:在进行数据恢复时,记录获取过的LPN及写入时间信息,形成记录信息;步骤S320:判断获取的LPN是否已位于所述记录信息中;步骤S330:当所述获取的所述LPN已位于所述记录信息中,则比较所述获取的LPN对应的写入时间信息,与已位于所述记录信息中的所述LPN对应的写入时间信息的时间先后顺序,形成比较结果;步骤S340:基于所述比较结果,更新所述记录信息,以使所述记录信息中存储的LPN对应的最晚的写入时间信息;步骤S350:根据所述记录信息更新所述映射表。所述记录信息中的LPN按照LPN的编码规则顺序存储;所述步骤S310可包括:以所述获取的LPN的高M1位为第一索引,确定所述LPN位于所述记录信息的范围;其中,所述M1为正整数;当确定所述获取的LPN所在所述记录信息的范围后,以所述LPN的低M2位为第二索引,与确定的范围内的所述LPN进行匹配;所述M2为正整数;根据匹配的结果,确定所述第二时刻获取的LPN是否已位于所述记录信息内。在本实施例中为减少比对所消耗的时间,在本实施例中所述记录信息中LPN按照LPN的编码规则顺序存储。例如,所述LPN由M个比特构成,所述M为所述M1和所述M2之和。在本实施例中,首先将高M1位为第一索引,确定LPN位于记录信息中的范围;在确定范围之后,将低M2位为第二索引,在确定的范围内进行匹配,显然直接以整个LPN进行比对,可以大大减少比对次数,提升了比对效率。实施例七:如图4所示,本实施例提供一种存储设备,包括存储介质110及与存储介质110连接的处理器120;所述存储介质110至少包括一个数据块.所述存储介质与所述处理器120可通过各种通信接口连接,例如可利用电子设备内的通信总线连接,所述通信总线可包括IIC总线或PCI总线等。所述存储介质110可为各种类型的存储介质,例如,flash等,优选为非瞬间存储介质。所述处理器120,用于向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。在本实施例中所述处理器120可为各种类型的处理器,例如微处理器MCU、应用处理器AP、可编程阵列PLC或数字信号处理器DSP等。所述处理器120会顺序向数据块中的各个物理页写入数据,并会记录每一个物理页的LPN和写入时间信息,例如,当每写完一个所述物理页就在映射关系表中记录下所述LPN和写入时间信息,当然也可以在该物理页中。所述处理器120还会在一个数据块的最后一个物理页中该数据块写入前N-1个物理页的LPN和写入时间信息,方便后续数据恢复时,用于更新映射表。本实施存储设备在进行数据恢复时,具有恢复成功率高及恢复速度快的特点。实施例八:如图4所示,本实施例提供一种存储设备,包括存储介质110及与存储介质110连接的处理器120;所述处理器120,用于向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。在本实施例中所述处理器120可为各种类型的处理器,例如微处理器MCU、应用处理器AP、可编程阵列PLC或数字信号处理器DSP等。所述处理器120,具体用于当写完第n个所述物理页,则在所述第n个所述物理页的指定位置写入所述第n个所述物理页的LPN及所述写入时间信息;其中,所述n为不大于所述N-1的正整数;所述第n个所述物理页写入的第n个所述物理页的LPN及所述写入时间信息,用于在数据恢复中更新映射表。这里的指定位置可为对应物理页的末尾或页首等位置,优选为末尾。所述写入时间信息可为每一个物理页写完或写满的时间点。在本实施中为了处理器120会在每一个物理页中写入该物理页写入的数据的LPN和写入时间信息,这样可以通过扫描对应的物理页本身,来更新映射表,以确保数据恢复的成功率。实施例九:如图4所示,本实施例提供一种存储设备,包括存储介质110及与存储介质110连接的处理器120;所述处理器120,用于向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。所述处理器120,还用于当进行数据恢复时,判断所述第N个所述物理页是否有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;当所述第N个所述物理页有写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,根据所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息更新所述映射表。当然由于数据块仅能顺序写入,在本实施例中若一个数据块还未写满(即最后一个物理页还未写入数据,则最后一个物理页就不会写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息的LPN和写入时间信息。故在本实施例中进行数据恢复时,首先判断所述第N个物理页是否有写入数据,若有写入,直接将该基于该数据更新映射表,作为本实施例的进一步改进,所述处理器120,还用于当所述第N个所述物理页未写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息时,读取第1个所述物理页至所述第N-1个所述物理页内写入的LPN及所述写入时间信息;根据读取的所述LPN及所述写入时间信息,更新所述映射表。当然若第N个所述物理页未写入所述第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,可以通过扫描(即读取)每一个物理页的数据,从而对应的物理页中获取LPN和写入时间信息。显然,采用本实施例所述的存储设备,不管一个数据块是否写满,都能够成功恢复数据,从而具有恢复成功率高的特点及具有实现简便的特点。实施例十:如图4所示,本实施例提供一种存储设备,包括存储介质110及与存储介质110连接的处理器120;所述处理器120,用于向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。所述处理器120,还用于在进行数据恢复时,记录获取过的LPN及写入时间信息,形成记录信息;判断获取的LPN是否已位于所述记录信息中;当所述获取的所述LPN已位于所述记录信息中,则比较获取的LPN对应的写入时间信息,与已位于所述记录信息中的所述LPN对应的写入时间信息的时间先后顺序,形成比较结果;基于所述比较结果,更新所述记录信息,以使所述记录信息中存储的LPN对应的最晚的写入时间信息;根据所述记录信息更新所述映射表。在本实施例中所述处理器120会在数据恢复过程中,记录每一个获取到的LPN和写入时间信息,形成记录信息;再新获得一个LPN和写入时间信息,间更新获得LPN与记录信息中的LPN进行匹配,若匹配成功,则比较各自对应的写入时间信息,将写入时间较晚的LPN和写入时间信息更新到记录信息中。最后处理器120会简便的根据信息记录更新映射表,完成映射表的一次性更新,提升更新速率。例如,为了方便所述记录信息的读取,所述记录信息可为存储在缓存区域中的信息。当然,作为本实施例的进一步改进,所述处理器120,还用于当获取的所述LPN未位于所述记录信息中,将所述第二时刻获取LPN和写入时间信息,更新到所述记录信息中。若记录信息中未包括当前获取的LPN,则表示首次获取该LPN,故会将当前获取的LPN和写入时间信息更新到映射表中。实施例十一:如图4所示,本实施例提供一种存储设备,包括存储介质110及与存储介质110连接的处理器120;所述处理器120,用于向数据块中的各个物理页中写入数据;其中,所述数据块包括N个物理页;所述N为不小于2的整数;记录第1个所述物理页至第N-1个所述物理页写入的数据的逻辑页面编号LPN以及写入时间信息;在所述数据块的第N个所述物理页,写入第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息;其中,第N个所述物理页写入的第1个所述物理页至第N-1个所述物理页的LPN以及写入时间信息,用于在数据恢复中更新映射表。所述处理器120,还用于在进行数据恢复时,记录获取过的LPN及写入时间信息,形成记录信息;判断获取的LPN是否已位于所述记录信息中;当所述获取的所述LPN已位于所述记录信息中,则比较获取的LPN对应的写入时间信息,与已位于所述记录信息中的所述LPN对应的写入时间信息的时间先后顺序,形成比较结果;基于所述比较结果,更新所述记录信息,以使所述记录信息中存储的LPN对应的最晚的写入时间信息;根据所述记录信息更新所述映射表。述处理器120,还用于当获取的所述LPN未位于所述记录信息中,将所述获取LPN和写入时间信息,更新到所述记录信息中。此外,所述记录信息中的LPN按照LPN的编码规则顺序存储;所述处理器120,还用于以所述获取的LPN的高M1位为第一索引,确定所述LPN位于所述记录信息的范围;其中,所述M1为正整数;当确定所述获取的LPN所在所述记录信息的范围后,以所述LPN的低M2位为第二索引,与确定的范围内的所述LPN进行匹配;所述M2为正整数;根据匹配的结果,确定所述获取的LPN是否已位于所述记录信息内。在本实施例中存储设备为了减少比对,会将LPN的高M1位先进行比较,确定出该LPN可能在的范围之后,再将低M2位与该范围内的LPN进行比对,最终确定该LPN是否位于信息记录中,具有比对次数少及比对效率高的特点。以下结合上述实施例提供一个具体示例:二元组<LPN,时间戳timestamp>,LPN表示该页对应的LPN,timestamp表示准备写入时的时间戳(由于每次写入是以物理页为单位,因此位于同一个物理页上的所有逻辑页的时间戳是相同的)。掉电后的进行数据恢复时,扫描所有的数据块,如果该数据块有数据,并且是满块(即最后一个物理页已经写入二元组信息),则读最后一个物理页的内容,根据二元信息更新映射表mappingtable。如果该数据块有数据,但是未写满(最后一个物理页还没有写入二元组信息),则依次扫描每一物理页,根据每物理页的二元组信息恢复出mappingtable;这种根据数据块的状态分情况恢复的机制,极大的提高了未被元数据记录过的数据块恢复的速度,同时又保证了数据恢复的完整性。用哈希表HASHTABLE记录已经被访问过的LPN,及时间戳信息;HASHTABLE按照LPN的高位地址进行索引,高位地址相同的属于同一个索引项;扫描到一个LPN,到HASHTABLE中查找,如果找到,比较当前时间戳和表中记录的时间戳新旧,如果当前新,更新映射表或者簇表clustertable;如果没有找到,在索引项中添加子项,记录LPN和时间戳,然后更新映射表或者簇表。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1