技术摘要:
本发明涉及SSD修复方法、装置、计算机设备及存储介质;其中,方法,包括:在SSD中创建隐藏区;当用户数据区可用物理块的数量为0时,启动记录修复;废弃当前映射表,重建映射表;从隐藏区分配空白物理块,标记为目的物理块;选择用户数据区的数据块,标记为源物理块;将 全部
背景技术:
SSD(固态硬盘)已经被广泛应用于各种场合,目前在PC市场,已经逐步替代传统的 HDD,从可靠性和性能方面为用户提供较好的体验。SSD由于NAND的特性,导致在数据写入物 理页后不能直接复写,而是需要把整个物理块(很多的物理页)擦除后才能重新写入,由于 该物理块内有其他有效数据的存在,简单地擦除是不可以的,由于这些问题的存在,需要引 入逻辑到物理的映射表,且需要做垃圾回收。 正常情形下,垃圾回收操作能够保证系统中总是有可用的物理块,但是在某些特 殊场景下,比如频繁的异常掉电,可能导致系统物理块耗尽完,一般发生这种场景时,系统 就会锁死,导致无法正常使用;因此,无法满足需求。
技术实现要素:
本发明的目的在于克服现有技术的缺陷,提供SSD修复方法、装置、计算机设备及 存储介质。 为实现上述目的,本发明采用以下技术方案: SSD修复方法,包括以下步骤: 在SSD中创建包含若干空白物理块的隐藏区; 当用户数据区的可用物理块的数量为0时,启动记录修复; 废弃当前映射表,扫描用户数据区重建映射表; 从隐藏区分配空白物理块,标记为目的物理块; 选择用户数据区的数据块,标记为源物理块; 将源物理块中的有效数据搬移至目的物理块; 判断源物理块中的有效数据是否搬完; 若没搬完,判断目的物理块是否写满; 若写满,判断当前可用物理块的数量是否大于等于隐藏区可用保留物理块数量加 1; 若是,将当前可用物理块中保留一定量的物理块到隐藏区,作为后续修复所用,完 成记录修复。 其进一步技术方案为:所述步骤“判断源物理块中的有效数据是否搬完”中,若已 搬完,则返回步骤“选择用户数据区的数据块,标记为源物理块”。 其进一步技术方案为:所述步骤“判断目的物理块是否写满”中,若未写满,则返回 步骤“将源物理块中的有效数据搬移至目的物理块”。 其进一步技术方案为:所述步骤“判断当前可用物理块的数量是否大于等于隐藏 4 CN 111597066 A 说 明 书 2/7 页 区可用保留物理块数量加1”中,若否,则返回步骤“从隐藏区分配空白物理块,标记为目的 物理块”。 其进一步技术方案为:所述当前可用物理块包括用户数据区的垃圾块和隐藏区的 空白物理块。 其进一步技术方案为:所述SSD修复方法还包括:当记录修复完成前发生异常掉电 时,包括以下步骤: 系统上电; 判断记录修复是否完成; 若否,擦除所有隐藏区的物理块; 重新启动记录修复流程; 修复完成,正常运行。 SSD修复装置,包括:创建单元,启动单元,废弃扫描单元,分配单元,选择单元,搬 移单元,第一判断单元,第二判断单元,第三判断单元,及保留单元; 所述创建单元,用于在SSD中创建包含若干空白物理块的隐藏区; 所述启动单元,用于当用户数据区的可用物理块的数量为0时,启动记录修复; 所述废弃扫描单元,用于废弃当前映射表,扫描用户数据区重建映射表; 所述分配单元,用于从隐藏区分配空白物理块,标记为目的物理块; 所述选择单元,用于选择用户数据区的数据块,标记为源物理块; 所述搬移单元,用于将源物理块中的有效数据搬移至目的物理块; 所述第一判断单元,用于判断源物理块中的有效数据是否搬完; 所述第二判断单元,用于判断目的物理块是否写满; 所述第三判断单元,用于判断当前可用物理块的数量是否大于等于隐藏区可用保 留物理块数量加1; 所述保留单元,用于将当前可用物理块中保留一定量的物理块到隐藏区,作为后 续修复所用,完成记录修复。 其进一步技术方案为:所述当前可用物理块包括用户数据区的垃圾块和隐藏区的 空白物理块。 一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计 算机程序,所述处理器执行所述计算机程序时实现如上述所述的SSD修复方法。 一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令, 所述程序指令当被处理器执行时可实现如上述所述的SSD修复方法。 本发明与现有技术相比的有益效果是:通过创建隐藏区,保留一定的空白物理块, 当用户数据区的可用物理块的数量为0时,使用该隐藏区的空白物理块进行全盘修复,若在 修复完成前再次发生异常掉电,则回滚对应的隐藏区状态,使其物理块恢复到空白块状态, 重新进行修复,避免了异常掉电导致隐藏区的物理块被消耗完的情形,从而确保系统能够 恢复正常运转状态,能够更好地满足需求。 下面结合附图和具体实施例对本发明作进一步描述。 5 CN 111597066 A 说 明 书 3/7 页 附图说明 为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的 附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普 通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图1为SSD物理块组成的应用示意图; 图2为现有的SSD在连续高频掉电场景下可用物理块被消耗完的应用示意图; 图3为本发明实施例提供的SSD修复方法的流程示意图一; 图4为本发明实施例提供的SSD修复方法的流程示意图二; 图5为本发明实施例提供的SSD修复方法的应用示意图一; 图6为本发明实施例提供的SSD修复方法的应用示意图二; 图7为本发明实施例提供的SSD修复装置的示意性框图; 图8为本发明实施例提供的计算机设备的示意性框图。