一种上电重建方法及装置和固态硬盘制造方法及图纸

技术编号:29788433 阅读:19 留言:0更新日期:2021-08-24 18:06
本申请公开了一种上电重建方法及装置和固态硬盘,通过本申请实施例中的将异常掉电过程中出现不可纠错误的页标记为坏页(bad page),这样,在上电重建过程中,对于发生异常掉电的大块(Super block),只需要搬移和bad page相关联的page中的有效数据即可,保证了数据安全的前提下,减少了上电恢复时间,降低了写入放大。

【技术实现步骤摘要】
一种上电重建方法及装置和固态硬盘
本申请涉及但不限于存储技术,尤指一种上电重建方法及装置和固态硬盘。
技术介绍
消费级固态硬盘(SSD,Solid-statedisk)是不带电容保护的。要是在SSD写数据时发生异常掉电即不安全的掉电(PowerLoss),如果在同一个字线页(word-linepage)中出现PowerLoss产生的不可纠错误(uneccerror),这个word-linepage中的数据会出现不稳定的状态,是需要尽快将word-linepage中的有效数据搬走以防止数据丢失的。以NAND闪存(NANDFlash)为例,Word-Linepage是NAND闪存阵列(NANDFlasharray)中一个字线(Word-line)中所包含的page。在相关技术中,在SSD重建(rebuild)表完成后,需要将发生PowerLoss的整个大块(Superblock)的有效数据都搬走,再标记rebuild完成,否则背靠背异常掉电之后会不断的新开Superblock,这样,会导致没有空闲的块(freeblock)可用,也就是说,将整个Superblock的有效数据都搬走会增加SSD上电rebuild恢复时间。其中,Superblock是闪存转换层(FTL,FlashTranslationLayer)大块映射中具有相同的块标识(blockid)的块组成的条带(也称为逻辑块)。如何保证SSD中的需要被搬走的所有有效数据不被PowerLoss影响即保证已写入数据的安全性,又能减少SSD上电重建恢复时间,是亟需解决的问题。
技术实现思路
本申请提供一种实现上电重建方法及装置和固态硬盘,能够保证已写入数据的安全性,同时缩短上电恢复时间。本专利技术实施例提供了一种上电重建方法,包括:在固态硬盘SSD发生异常掉电的上电恢复过程中,为发生异常掉电的大块Superblock申请坏页缓存,并将所述Superblock中出现不可纠错误的页标记为坏页;读取标记的坏页和与所述坏页相关的页中的有效数据并写入所述SSD的闪存中。在一种示例性实例中,所述SSD异常掉电上电恢复之前,还包括:所述SSD初始化时,以所述Superblock为单位分配用于存放坏页位图的坏页缓存;将分配的坏页缓存划分为分别对应若干个Superblock的坏页位图区域,每一块坏页位图区域用于采用位图的方式记录对应页的好坏。在一种示例性实例中,所述为发生异常掉电的Superblock申请坏页缓存,并将所述Superblock中出现不可纠错误的页标记为坏页,包括:为所述发生异常掉电的Superblock申请所述坏页缓存;将出现不可纠错误的页更新到其所在Superblock对应的坏页位图中,并将该页所对应的块信息中的异常掉电标记置位;将对应的坏页位图更新到申请的坏页缓存中。在一种示例性实例中,所述对发生异常掉电的Superblock对应的块信息中的异常掉电标记位进行标记之前,还包括:读取最近安全写入的检查点信息,读取最后写入页;如果最后写入页出现所述不可纠错误,继续执行所述为发生异常掉电的Superblock申请坏页缓存的步骤;其中,检查点信息包括映射表、块信息、坏页位图。在一种示例性实例中,所述对发生异常掉电的Superblock对应的块信息中的异常掉电标记位置位,包括:如果所述Superblock的异常掉电标记位已经被置位,获取所述Superblock对应的坏页位图,更新出错的页;如果所述Superblock的异常掉电标记位没有被置位,申请新的坏页缓存,更新所述Superblock标识,将状态改为已使用;将该页所在的Superblock的块信息中的异常掉电标记位置位。在一种示例性实例中,所述读取所述坏页和与所述坏页相关的页中的有效数据并写入SSD闪存中之前,还包括:确定所述坏页和与所述坏页相关的页中存在有效数据。在一种示例性实例中,所述判断坏页和与所述坏页相关的页中是否存在有效数据,包括:在所述SSD上电后重建映射表;映射表重建完成后,读取所述坏页相关的字线页,根据元数据中记录的逻辑区块地址LBA信息反查映射表判断是否存在有效数据。在一种示例性实例中,所述读取所述坏页和与所述坏页相关的页中的有效数据并写入SSD闪存中,包括:在所述SSD上电并更新完所述坏页缓存后,读取所述坏页所在的字线相关的页中的有效数据;将读取到的有效数据写入所述SSD闪存中。在一种示例性实例中,所述将读取的有效数据写入SSD闪存,包括:将所述读取有效数据写入当前的Superblock;如果当前的Superblock写满,新开一个Superblock继续写入。在一种示例性实例中,当所述发生异常掉电的Superblock写满后,还包括:检测所述坏页缓存的剩余可用数量,当剩余可用数量达到预先设置的阈值时,搬移所述发生异常掉电的Superblock中的有效数据;有效数据搬移完成后,擦除所述发生异常掉电的Superblock;清除擦除后的Superblock的异常掉电标记位,回收所述发生异常掉电的Superblock申请的坏页缓存,更新坏页管理信息。本申请实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现上电重建方法。本申请实施例又提供一种实现上电重建的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的实现上电重建方法的步骤。本申请实施例再提供一种上电重建装置,包括:申请模块、处理模块;其中,申请模块,设置为在自身所属SSD发生异常掉电的上电恢复过程中,为发生异常掉电的Superblock申请坏页缓存,并将所述Superblock中出现不可纠错误的页标记为坏页;处理模块,设置为读取标记的坏页和与所述坏页相关的页中的有效数据并写入SSD闪存中。在一种示例性实例中,还包括预处理模块,设置为:在自身所属SSD初始化时,以所述Superblock为单位分配用于存放坏页位图的坏页缓存;将分配的坏页缓存划分为分别对应若干个Superblock的坏页位图区域,每一块坏页位图区域用于采用位图的方式记录对应页的好坏。在一种示例性实例中,所述申请模块具体设置为:为所述发生异常掉电的Superblock申请所述坏页缓存;将出现不可纠错误的页更新到其所在Superblock对应的坏页位图中,并将该页所对应的块信息中的异常掉电标记置位;将对应的坏页位图更新到申请的坏页缓存中。在一种示例性实例中,所述申请模块还设置为:读取最近安全写入的检查点信息,读取最后写入页;如果最后写入页出现所述不可纠错误,继续执行所述为发生异常掉电的Superblock申请坏页缓存的步骤;其中,检查点信息包括映射表、块信息、本文档来自技高网
...

【技术保护点】
1.一种上电重建方法,包括:/n在固态硬盘SSD发生异常掉电的上电恢复过程中,为发生异常掉电的大块Super block申请坏页缓存,并将所述Super block中出现不可纠错误的页标记为坏页;/n读取标记的坏页和与所述坏页相关的页中的有效数据并写入所述SSD的闪存中。/n

【技术特征摘要】
1.一种上电重建方法,包括:
在固态硬盘SSD发生异常掉电的上电恢复过程中,为发生异常掉电的大块Superblock申请坏页缓存,并将所述Superblock中出现不可纠错误的页标记为坏页;
读取标记的坏页和与所述坏页相关的页中的有效数据并写入所述SSD的闪存中。


2.根据权利要求1所述的上电重建方法,所述SSD异常掉电上电恢复之前,还包括:
所述SSD初始化时,以所述Superblock为单位分配用于存放坏页位图的坏页缓存;
将分配的坏页缓存划分为分别对应若干个Superblock的坏页位图区域,每一块坏页位图区域用于采用位图的方式记录对应页的好坏。


3.根据权利要求2所述的上电重建方法,其中,所述为发生异常掉电的Superblock申请坏页缓存,并将所述Superblock中出现不可纠错误的页标记为坏页,包括:
为所述发生异常掉电的Superblock申请所述坏页缓存;
将出现不可纠错误的页更新到其所在Superblock对应的坏页位图中,并将该页所对应的块信息中的异常掉电标记置位;
将对应的坏页位图更新到申请的坏页缓存中。


4.根据权利要求3所述的上电重建方法,所述对发生异常掉电的Superblock对应的块信息中的异常掉电标记位进行标记之前,还包括:
读取最近安全写入的检查点信息,读取最后写入页;
如果最后写入页出现所述不可纠错误,继续执行所述为发生异常掉电的Superblock申请坏页缓存的步骤;其中,检查点信息包括映射表、块信息、坏页位图。


5.根据权利要求3或4所述的上电重建方法,其中,所述对发生异常掉电的Superblock对应的块信息中的异常掉电标记位置位,包括:
如果所述Superblock的异常掉电标记位已经被置位,获取所述Superblock对应的坏页位图,更新出错的页;
如果所述Superblock的异常掉电标记位没有被置位,申请新的坏页缓存,更新所述Superblock标识,将状态改为已使用;将该页所在的Superblock的块信息中的异常掉电标记位置位。


6.根据权利要求1所述的上电重建方法,所述读取所述坏页和与所述坏页相关的页中的有效数据并写入SSD闪存中之前,还包括:
确定所述坏页和与所述坏页相关的页中存在有效数据。


7.根据权利要求6所述的上电重建方法,其中,所述判断坏页和与所述坏页相关的页中是否存在有效数据,包括:
在所述SSD上电后重建映射表;
映射表重建完成后,读取所述坏页相关的字线页,根据元数据中记录的逻辑区块地址LBA信息反查映射表判断是否存在有效数据。


8.根据权利要求1或6所述的上电重建方法,其中,所述读取所述坏页和与所述坏页相关的页中的有效数据并写入SSD闪存中,包括:
在所述SSD上电并更新完所述坏页缓存后,读取所述坏页所在的字线相关的页中的有效数据;
将读取到的有效数据写入所述SSD闪存中。


9.根据权利要求1所述的上电重建方法,其中,所述将读取的有效数据写入SSD闪存,包括:
将所述读取有效数据写入当前的Superblock;
如果当前的Superblock写满,新开一个Superblock继续写入。


10.根据权利要求1所述的上电重建方法,当所述发生异常掉电的Superblock写满后,还包括:
检测所述坏页缓存的剩余可用数量,当剩余可用数量达到预先设置的阈值时,搬移所述发生异常掉电的Superblock中的有效数据;
有效数据搬移完成后,擦除所述发生异常掉电的Superblock;
清除擦除后的Superblock的异常掉电标记位,回收所述发生异常掉电的Superblock申请的坏页缓存,更新坏页管理信息。
...

【专利技术属性】
技术研发人员:占云
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1