固态硬盘的信息查询方法、系统、电子设备及存储介质

文档序号:1888620 发布日期:2021-11-26 浏览:3次 >En<

阅读说明:本技术 固态硬盘的信息查询方法、系统、电子设备及存储介质 (Information query method and system of solid state disk, electronic device and storage medium ) 是由 李敬超 于 2021-07-15 设计创作,主要内容包括:本申请公开了一种固态硬盘的信息查询方法,所述信息查询方法包括:若检测到所述固态硬盘上电,则并发查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page;其中,所述目标Page为所述目标区块中最近一次写入所述关键信息的Page;按照所述关键信息的写入先后对所有所述目标Page进行排序;将写入顺序最晚的目标page中的关键信息设置为信息查询结果,以便利用所述信息查询结果控制所述固态硬盘恢复至上一次下电前的硬盘状态。本申请能够提高固态硬盘的信息查询效率,在固态硬盘上电后快速恢复硬盘状态。本申请还公开了一种固态硬盘的信息查询系统、一种存储介质及一种电子设备,具有以上有益效果。(The application discloses an information query method of a solid state disk, which comprises the following steps: if the solid state disk is detected to be powered on, concurrently inquiring a target Page in a target block of each flash memory particle in the solid state disk; the target Page is a Page in which the key information is written in the target block for the last time; sequencing all the target pages according to the writing sequence of the key information; and setting the key information written into the target page with the latest writing sequence as an information query result so as to control the solid state disk to recover to the state of the hard disk before the last power-off by using the information query result. The method and the device can improve the information query efficiency of the solid state disk, and quickly recover the state of the solid state disk after the solid state disk is electrified. The application also discloses an information query system of the solid state disk, a storage medium and an electronic device, which have the beneficial effects.)

固态硬盘的信息查询方法、系统、电子设备及存储介质

技术领域

本申请涉及数据存储技术领域,特别涉及一种固态硬盘的信息查询方法、系统、一种电子设备及一种存储介质。

背景技术

随着大数据时代的来临,具有读写速度快、带宽高等优势的固态硬盘逐渐成为存储介质的主力军,被广泛应用。在固态盘的固件实现过程中,需要在Nandflash(闪存颗粒)上划分出一段固定空间用于保存系统配置信息、状态信息等关键信息,SSD(Solid StateDrives,固态硬盘)在运行过程中会实时更新上述关键信息。当SSD下电时将其存入保存关键信息的Nandflash区域中,待下次上电后,固件读取最新的关键信息,并恢复到上次下电前的状态。

在SSD固件运行过程中关键信息会不断更新,但Nandflash的特性为不允许对同一区域覆盖写,只能先擦除再写入,为了保证数据的安全性和追溯性,将每笔关键信息进行编号,每次数据更新后,其编号递增1,最新的关键信息的编号最大。在SSD上电时,需要找到编号最大的关键信息,即为最新的关键信息。相关技术中,通过逐个比较各个区块的每一Page中存储的关键信息的编号确定最新的关键信息,效率较低。

因此,如何提高固态硬盘的信息查询效率,在固态硬盘上电后快速恢复硬盘状态是本领域技术人员目前需要解决的技术问题。

发明内容

本申请的目的是提供一种固态硬盘的信息查询方法、系统、一种电子设备及一种存储介质,能够提高固态硬盘的信息查询效率,在固态硬盘上电后快速恢复硬盘状态。

为解决上述技术问题,本申请提供一种固态硬盘的信息查询方法,所述固态硬盘每次更新的关键信息依次存储在每一闪存颗粒的目标区块的Page中,所述关键信息为所述固态硬盘上电时用于恢复至上一次下电前硬盘状态的信息,所述信息查询方法包括:

若检测到所述固态硬盘上电,则并发查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page;其中,所述目标Page为所述目标区块中最近一次写入所述关键信息的Page;

按照所述关键信息的写入先后对所有所述目标Page进行排序;

将写入顺序最晚的目标page中的关键信息设置为信息查询结果,以便利用所述信息查询结果控制所述固态硬盘恢复至上一次下电前的硬盘状态。

可选的,还包括:

通过切换所述闪存颗粒的Channel序号、Target序号和Lun序号遍历所有所述目标区块;其中,所述闪存颗粒包括多个区块,所述目标区块为所述闪存颗粒中地址最靠前的区块;

根据遍历顺序对所有所述目标区块依次编号;

根据所述目标区块的编号将所述固态硬盘每次更新的关键信息依次存储至对应的目标区块的Page中。

可选的,查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page,包括:

从所述固态硬盘中的闪存颗粒中选取待分析目标区块;

判断所述待分析目标区块的最后一个Page是否为空;

若所述待分析目标区块的最后一个Page不为空,则将所述待分析目标区块的最后一个Page设置为所述目标Page。

可选的,在判断所述待分析目标区块的最后一个Page是否为空之后,还包括:

若所述待分析目标区块的最后一个Page为空,则判断所述待分析目标区块的第一个Page是否为空;

若所述待分析目标区块的第一个Page为空,则判定所述待分析目标区块中不包括所述目标Page;

若所述待分析目标区块的第一个Page不为空,则通过二分法检索所述待分析目标区块中的所述目标Page。

可选的,通过二分法检索所述待分析目标区块中的所述目标Page,包括:

确定起点Page和终点Page;

根据所述起点Page和所述终点Page确定中点Page;

判断所述中点Page是否为空;

若所述中点Page为空,则将所述中点Page设置为新的终点Page,并进入所述确定起始Page和终点Page的步骤;

若所述中点Page不为空,则将所述中点Page设置为新的起点Page,并进入所述确定起始Page和终点Page的步骤;

若更新后的起点Page的页码和更新后的终点Page的页码相等,则将更新后的起点Page或更新后的终点Page作为所述待分析目标区块中的所述目标Page。

可选的,根据所述起点Page和所述终点Page确定中点Page,包括:

将所述起点Page的页码与所述终点Page的页码之和的平均值设置为中间值;

判断所述中间值是否为整数;

若是,则将所述中间值对应页码的Page设置为所述中点Page;

若否,则将与所述中间值相邻的整数对应的页码设置为所述中点Page。

可选的,还包括:

若所述待分析目标区块的Page读操作失败,则将所述待分析目标区块标记为坏块,并终止对所述待分析目标区块中目标Page的检索操作。

本申请还提供了一种固态硬盘的信息查询系统,所述固态硬盘每次更新的关键信息依次存储在每一闪存颗粒的目标区块的Page中,所述关键信息为所述固态硬盘上电时用于恢复至上一次下电前硬盘状态的信息,所述信息查询系统包括:

查询模块,用于若检测到所述固态硬盘上电,则并发查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page;其中,所述目标Page为所述目标区块中最近一次写入所述关键信息的Page;

排序模块,用于按照所述关键信息的写入先后对所有所述目标Page进行排序;

结果输出模块,用于将写入顺序最晚的目标page中的关键信息设置为信息查询结果,以便利用所述信息查询结果控制所述固态硬盘恢复至上一次下电前的硬盘状态。

本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述固态硬盘的信息查询方法执行的步骤。

本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述固态硬盘的信息查询方法执行的步骤。

本申请提供了一种固态硬盘的信息查询方法,所述固态硬盘每次更新的关键信息依次存储在每一闪存颗粒的目标区块的Page中,所述关键信息为所述固态硬盘上电时用于恢复至上一次下电前硬盘状态的信息,所述信息查询方法包括:若检测到所述固态硬盘上电,则并发查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page;其中,所述目标Page为所述目标区块中最近一次写入所述关键信息的Page;按照所述关键信息的写入先后对所有所述目标Page进行排序;将写入顺序最晚的目标page中的关键信息设置为信息查询结果,以便利用所述信息查询结果控制所述固态硬盘恢复至上一次下电前的硬盘状态。

本申请在固态硬盘上电后,通过并发的方式查询每一闪存颗粒的目标区块中的目标Page。由于固态硬盘每一次更新的关键信息都存储在闪存颗粒的目标区块的Page中,因此最近一次写入所述关键信息的目标Page中存储有目标区块内最新的关键信息。本申请还按照关键信息的写入先后对所有的目标Page进行排序,将写入顺序最晚的目标page中的关键信息作为信息查询结果,进而利用信息查询结果恢复固态硬盘的状态。上述关键信息的检索过程中,并发查询每一目标区块中最新的关键信息,再对每一目标区块中最新的关键信息的新旧进行判断,提高了关键信息的检索效率,可以在固态硬盘上电后快速恢复硬盘状态。本申请同时还提供了一种固态硬盘的信息查询系统、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例所提供的一种固态硬盘的信息查询方法的流程图;

图2为本申请实施例所提供的一种检索目标page的方法的流程图;

图3为本申请实施例所提供的一种固态硬盘的信息查询系统的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面请参见图1,图1为本申请实施例所提供的一种固态硬盘的信息查询方法的流程图。

具体步骤可以包括:

S101:若检测到所述固态硬盘上电,则并发查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page;

其中,本实施例可以应用于设置有固态硬盘的电子设备,在固态硬盘工作的过程中,可以将固态硬盘每次更新的关键信息依次存储在每一闪存颗粒的目标区块的Page中。上述关键信息为所述固态硬盘上电时用于恢复至上一次下电前硬盘状态的信息,例如可以包括系统配置信息和状态信息。

固态硬盘中可以包括多个闪存颗粒Nandflash,每一闪存颗粒可以包括多个区块Block,每一区块Block可以包括多页Page,在将关键信息存储至目标区块的Page中时,可以按照Page的页码从小到大的顺序进行存储,例如可以将第一次更新的关键信息存储至页码为0的Page,将第二次更新的关键信息存储至页码为1的Page,将第三次更新的关键信息存储至页码为2的Page,……,以此类推。当某一Block的所有Page均存储有关键信息后,可以将新的关键信息存储至其他Block的Page中。

在本步骤之前还可以存在固态硬盘下电的操作,固态硬盘中存储有下电前生成的关键信息,当固态硬盘再次上电时,可以通过读取关键信息来恢复固态硬盘的状态。由于固态硬盘中存储有多次更新的关键信息,为了将固态硬盘恢复至下电前的状态,本实施例可以从固态硬盘中检索最近一次存储的关键信息,进而恢复固态硬盘状态。

本实施例在检测到所述固态硬盘上电后,通过并发的方式查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page,上述目标Page为所述目标区块中最近一次写入所述关键信息的Page。具体的,在检测到固态硬盘上电后,可以确定所有闪存颗粒的目标区块,通过并发的方式分别对每一目标区块进行关键信息检索,确定每一目标区块中的目标Page。

S102:按照所述关键信息的写入先后对所有所述目标Page进行排序;

其中,根据目标Page可以确定目标区块中最新的关键信息,但是由于固态硬盘的关键信息存储在多个闪存颗粒的目标区块中,因此可以按照关键信息的写入先后对所有目标Page进行排序,以便确定所有目标区块中最新的关键信息。

作为一种可行的实施方式,固态硬盘每次更新的关键信息均存在有对应的信息编号,信息编号越大关键信息的写入顺序越靠后(即顺序越晚)。

S103:将写入顺序最晚的目标page中的关键信息设置为信息查询结果,以便利用所述信息查询结果控制所述固态硬盘恢复至上一次下电前的硬盘状态。

其中,在对所有的目标Page按照关键信息的写入先后进行排序后,可以将写入顺序最晚的目标page中的关键信息设置为信息查询结果,利用上述信息查询结果控制所述固态硬盘恢复至上一次下电前的硬盘状态。可以理解的是,本文中“上一次下电前的硬盘状态”具体指所有硬盘状态对应时刻最接近下电时刻的固态硬盘的状态。

本实施例在固态硬盘上电后,通过并发的方式查询每一闪存颗粒的目标区块中的目标Page。由于固态硬盘每一次更新的关键信息都存储在闪存颗粒的目标区块的Page中,因此最近一次写入所述关键信息的目标Page中存储有目标区块内最新的关键信息。本实施例还按照关键信息的写入先后对所有的目标Page进行排序,将写入顺序最晚的目标page中的关键信息作为信息查询结果,进而利用信息查询结果恢复固态硬盘的状态。上述关键信息的检索过程中,并发查询每一目标区块中最新的关键信息,再对每一目标区块中最新的关键信息的新旧进行判断,提高了关键信息的检索效率,可以在固态硬盘上电后快速恢复硬盘状态。

作为一种可行的实施方式,图1对应的实施例还可以通过以下方式存储关键信息:通过切换所述闪存颗粒的Channel序号、Target序号和Lun序号遍历所有所述目标区块;其中,所述闪存颗粒包括多个区块,所述目标区块为所述闪存颗粒中地址最靠前的区块;根据遍历顺序对所有所述目标区块依次编号;根据所述目标区块的编号将所述固态硬盘每次更新的关键信息依次存储至对应的目标区块的Page中。通过按照Channel、Target、Lun的顺序遍历目标区块,能够增加Nandflash操作的并发度,使得Nandflash的磨损更均衡。

具体的,本实施例可以选取固态硬盘板卡上所有闪存颗粒的第一个区块Block 0作为关键信息的存储区域(即上文中的目标区块)。将所有Block 0进行编号,遵循先切换通道Channel,再切换目标Target,最后切换逻辑单元号Lun(Logical Unit Number)式遍历所有Block并编号,在使用时按照Block的编号依次使用。

例如:可以将Channel0_Target0_Lun0_Block0编号作为第一个Block,将Channel1_Target0_Lun0_Block0为第二个Block,以此类推。每份关键信息使用Block中的一个Page进行保存,下一次保存地址为Page_Number+1,当一个Block写满后,切换下一个编号(编号加1)的Block。当最后一个Block写满后,使用第一个Block进行保存,如此循环。在写当前Block的同时,可以对下一个要使用的Block做预擦除动作,以保证SSD在异常断电时有可用的保存数据的空间。

请参见图2,图2为本申请实施例所提供的一种检索目标page的方法的流程图,本实施例是对图1对应的实施例中S101的进一步介绍,可以将本实施例与图1对应的实施例相结合得到进一步的实施方式,本实施例可以包括以下步骤:

S201:从所述固态硬盘中的闪存颗粒中选取待分析目标区块;

S202:判断待分析目标区块的最后一个Page是否为空;若否,则进入S203;若是,则进入S204;

S203:若所述待分析目标区块的最后一个Page不为空,则将所述待分析目标区块的最后一个Page设置为所述目标Page。

S204:若所述待分析目标区块的最后一个Page为空,则判断所述待分析目标区块的第一个Page是否为空;若是,则进入S205;若否,则进入S206;

S205:若所述待分析目标区块的第一个Page为空,则判定所述待分析目标区块中不包括所述目标Page;

S206:若所述待分析目标区块的第一个Page不为空,则通过二分法检索所述待分析目标区块中的所述目标Page。

其中,本实施例可以调用多个线程,利用多个线程并发执行本实施例中S201~S206的相关操作,以便并发查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page。每一线程均有其对应的待分析目标区块,以便确定待分析目标区块中的目标Page。

在向目标区块存储关键信息时,按照Page的编码(即页码)递增的顺序存储每次更新的关键信息,因此若待分析目标区块的最后一个Page(即页码最大的Page)不为空,意味着最后一个Page中存储有关键信息,目标区块的所有Page中均存储有关键信息,且最后一个Page中存储的关键信息为同一目标区块中最近一次更新的(即最新的)关键信息,可以直接将待分析目标区块的最后一个Page设置为所述目标Page。

若待分析目标区块的最后一个Page(即页码最大的Page)为空,则说明待分析目标区块中可能未存储关键信息,此时判断待分析目标区块的第一个Page(即页码最小的Page)是否为空。若待分析目标区块的第一个Page为空,则说明待分析目标区块中未存储关键信息,可以不对待分析目标区块继续检索,直接结束流程。若待分析目标区块的第一个Page不为空,则说明待分析目标区块中存储有关键信息,此时可以使用二分法继续检索待分析目标区块中的所述目标Page。

作为一种可行的实施方式,本实施例可以以下方式进行二分法检索得到目标Page:

步骤1:确定起点Page和终点Page;

其中,在第一次执行本步骤时,起点Page为目标区块的第一个Page,终点Page为目标区块的最后一个Page,在进行二分法检索的过程中,起点Page或终点Page可以更新为中点Page。

步骤2:根据所述起点Page和所述终点Page确定中点Page;

其中,中点Page指处于起点Page和终点Page中间位置的Page,本实施例中可以使用以下方式确定中点Page:将所述起点Page的页码与所述终点Page的页码之和的平均值设置为中间值;判断所述中间值是否为整数;若是,则将所述中间值对应页码的Page设置为所述中点Page;若否,则将与所述中间值相邻的整数对应的页码设置为所述中点Page。例如,若起点Page的页码为3,终点Page的页码为8,此时中间值为5.5,可以将页码为5和6的Page共同作为中间Page,还可以只将页码为5的Page作为中间Page,也可以只将页码为6的Page作为中间Page。

步骤3:判断所述中点Page是否为空;

步骤4:若所述中点Page为空,则将所述中点Page设置为新的终点Page,并进入所述确定起始Page和终点Page的步骤;

其中,若中点Page为空则说明,最新的关键信息在起始Page(包含)与中点Page(不包含)之间,可以将中点Page作为新的终点Page重新执行步骤1~6的二分法检索操作。

步骤5:若所述中点Page不为空,则将所述中点Page设置为新的起点Page,并进入所述确定起始Page和终点Page的步骤;

其中,若中点Page不为空则说明,最新的关键信息在中点Page(包含)与终点Page(不包含)之间,可以将中点Page作为新的起点Page重新执行步骤1~6的二分法检索操作。

步骤6:若更新后的起点Page的页码和更新后的终点Page的页码相等,则将更新后的起点Page或更新后的终点Page作为所述待分析目标区块中的所述目标Page。

其中,更新后的起点Page的页码和更新后的终点Page的页码相等,具体指步骤1中确定的起点Page和终点Page的页码相等,此时说明起点Page和终点Page的页码均指向相同的Page,进而确定了目标page的位置。

作为对于上述实施例的进一步介绍,若检测到待分析目标区块的Page读操作失败,则可以将所述待分析目标区块标记为坏块,并终止对所述待分析目标区块中目标Page的检索操作。

下面通过在实际应用中的实施例说明上述实施例描述的流程,本实施例提供了一种以闪存颗粒Nandflash为存储介质的信息快速检索方案,本实施例在固态硬盘上电时,检索关键信息的存储区域,获取最新的关键数据信息。本实施例采用并发的方式,同时对存储区域内的所有Block进行检索,并结合二分法以缩短检索时间。本实施例的具体实现方法如下:

步骤一:读取每个区块Block的最后一个Page:

a)、如果该Page读操作成功执行且数据不为空,则表明该区块Block已写满,且最后一个Page记录的数据为该Block上最新的关键数据,记录该关键数据的编号并终止对该区块Block的数据检索;

b)、如果该Page读操作失败,则表明该区块Block为坏块,其记录的数据可视为无效,此时记录该区块Block的最大编号为0并终止对该块的数据检索;

c)、如果该Page读操作成功执行且数据为空,此时无法判定该块的状态需要执行步骤二。

步骤二:读取每个区块Block的第一个Page:

a)、如果该Page读操作成功执行且数据为空,则表明该区块Block未被使用,此时记录该块的最大编号为0,并终止对该块的数据检索;

b)、如果该Page读操作失败,则表明该区块Block为坏块,其记录的数据可视为无效,此时记录该区块Block的最大编号为0,并终止对该块的数据检索;

c)、如果该Page读操作成功执行且数据不为空,则表明该区块Block已被使用,但还未写满,此时执行步骤三。

步骤三:二分法继续检索;

a)、将读取地址设置为midPage=(startPage+endPage)/2,首次进入该环节时,startPage(即起点Page的页码)为0,endPage(即终点Page的页码)为Max_Page_Number(即区块Block的最大页码);

b)、读取midPage(即中点Page)的内容,若数据不为空,则将startPage设置为当前midPage值,endPage保持不变;若数据为空,则将endPage设置为当前midPage值,startPage保持不变;

c)、重复执行a)、b)两步,直至startPage与endPage值相等时,结束检索流程,此时获取的关键信息即为该Block上最新的关键信息,记录该关键信息的编号。

步骤四:当所有Block检索完成后,比较所有检索时记录的关键信息的编号,编号最大者即为所有数据中最新的关键信息。

根据以上实施例可知,为了缩短固态硬盘上电启动时间,提高检索关键信息效率,本方案使用多并发方式结合二分法算法对保存关键信息的Nandflash区域内的数据进行扫描,快速检索出最新的关键信息。相对于单进程二分法算法检索,提高了检索效率,并保证了检索数据的可靠性。

相较于单进程全量二分法检索,本实施例并发的方式比单进程有性能上的优势可缩减时间,同时并发后二分法的范围缩小,算法复杂度降低,也可节省检索时间。进一步的,本实施例并发的方式能保证算法的健壮性,原因为并发后二分法检索的范围为一个Block,则Block的状态对算法无影响,而全量二分法检索,每一个Block的物理状态直接影响算法可靠性,例如:根据Nandflash特性,当某一个Block被标记为弱块时,在保存数据时将跳过该Block,当尝试读取其内容时,返回成功且数据为空,此时的现象与二分法算法中判断endPage条件相同,导致检索出的数据不准确。可见,本申请多并发方式结合二分法的检索机制能够提高检索数据的准确性。

上述弱块为介于好块与坏块之间的浑沌状态的区块,与坏块不同的是,当对弱块进行擦写动作时会返回成功,但当读取数据时,不能保证数据正确性。

请参见图3,图3为本申请实施例所提供的一种固态硬盘的信息查询系统的结构示意图;所述固态硬盘每次更新的关键信息依次存储在每一闪存颗粒的目标区块的Page中,所述关键信息为所述固态硬盘上电时用于恢复至上一次下电前硬盘状态的信息,所述信息查询系统包括:

查询模块301,用于若检测到所述固态硬盘上电,则并发查询固态硬盘中的每一闪存颗粒的目标区块中的目标Page;其中,所述目标Page为所述目标区块中最近一次写入所述关键信息的Page;

排序模块302,用于按照所述关键信息的写入先后对所有所述目标Page进行排序;

结果输出模块303,用于将写入顺序最晚的目标page中的关键信息设置为信息查询结果,以便利用所述信息查询结果控制所述固态硬盘恢复至上一次下电前的硬盘状态。

本实施例在固态硬盘上电后,通过并发的方式查询每一闪存颗粒的目标区块中的目标Page。由于固态硬盘每一次更新的关键信息都存储在闪存颗粒的目标区块的Page中,因此最近一次写入所述关键信息的目标Page中存储有目标区块内最新的关键信息。本实施例还按照关键信息的写入先后对所有的目标Page进行排序,将写入顺序最晚的目标page中的关键信息作为信息查询结果,进而利用信息查询结果恢复固态硬盘的状态。上述关键信息的检索过程中,并发查询每一目标区块中最新的关键信息,再对每一目标区块中最新的关键信息的新旧进行判断,提高了关键信息的检索效率,可以在固态硬盘上电后快速恢复硬盘状态。

进一步的,还包括:

区块编号模块,用于通过切换所述闪存颗粒的Channel序号、Target序号和Lun序号遍历所有所述目标区块;其中,所述闪存颗粒包括多个区块,所述目标区块为所述闪存颗粒中地址最靠前的区块;还用于根据遍历顺序对所有所述目标区块依次编号;

信息存储模块,用于根据所述目标区块的编号将所述固态硬盘每次更新的关键信息依次存储至对应的目标区块的Page中。

进一步的,查询模块301包括:

区块选择单元,用于从所述固态硬盘中的闪存颗粒中选取待分析目标区块;

第一判断单元,用于判断所述待分析目标区块的最后一个Page是否为空;若所述待分析目标区块的最后一个Page不为空,则将所述待分析目标区块的最后一个Page设置为所述目标Page。

第二判断单元,用于若所述待分析目标区块的最后一个Page为空,则判断所述待分析目标区块的第一个Page是否为空;若所述待分析目标区块的第一个Page为空,则判定所述待分析目标区块中不包括所述目标Page;若所述待分析目标区块的第一个Page不为空,则通过二分法检索所述待分析目标区块中的所述目标Page。

进一步的,第二判断单元通过二分法检索所述待分析目标区块中的所述目标Page的过程包括:确定起点Page和终点Page;根据所述起点Page和所述终点Page确定中点Page;判断所述中点Page是否为空;若所述中点Page为空,则将所述中点Page设置为新的终点Page,并进入所述确定起始Page和终点Page的步骤;若所述中点Page不为空,则将所述中点Page设置为新的起点Page,并进入所述确定起始Page和终点Page的步骤;若更新后的起点Page的页码和更新后的终点Page的页码相等,则将更新后的起点Page或更新后的终点Page作为所述待分析目标区块中的所述目标Page。

进一步的,第二判断单元根据所述起点Page和所述终点Page确定中点Page的过程包括:将所述起点Page的页码与所述终点Page的页码之和的平均值设置为中间值;判断所述中间值是否为整数;若是,则将所述中间值对应页码的Page设置为所述中点Page;若否,则将与所述中间值相邻的整数对应的页码设置为所述中点Page。

进一步的,还包括:

坏块处理模块,用于若所述待分析目标区块的Page读操作失败,则将所述待分析目标区块标记为坏块,并终止对所述待分析目标区块中目标Page的检索操作。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种缓存分区的管理方法、系统、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类