垃圾回收方法及固态硬盘技术

技术编号:38551884 阅读:14 留言:0更新日期:2023-08-22 20:58
公开了一种垃圾回收方法及固态硬盘,垃圾回收方法包括:上电后获取异常掉电时固态硬盘的闪存存储器的当前物理块正在接收的写数据;依次读取每个写数据,将发生错误且无法进行纠错处理的写数据存储在错误数据记录表中;执行垃圾回收操作,查询错误数据是否位于错误数据记录表中,错误数据为发生错误的写数据;将位于错误数据记录表中的错误数据标记为无效数据,继续执行垃圾回收操作。本公开的垃圾回收方法在固态硬盘异常断电重启后,将错误数据中无法进行纠错处理的数据存储至错误数据记录表中,并在垃圾回收过程中标记为无效数据,从而不必在垃圾回收时对所有的错误数据都进行纠错处理,加快了异常数据处理和垃圾回收操作的进程。的进程。的进程。

【技术实现步骤摘要】
垃圾回收方法及固态硬盘


[0001]本专利技术涉及数据存储
,特别涉及一种垃圾回收方法及固态硬盘。

技术介绍

[0002]固态硬盘(SSD,Solid State Drives)是用固态电子存储芯片制作的存储硬盘,主要由控制器,存储介质和缓存芯片组成。目前最主流的固态硬盘采用闪存存储器(Flash Memory)作为存储介质来存储数据,例如以NAND flash为例的非易失性存储器。
[0003]使用SSD存储数据时,需要用到FTL(Flash Translation Layer,闪存转换层)映射表,也叫L2P映射表(Logical To Physical Table,逻辑到物理映射表),用于记录主机逻辑空间地址到Flash闪存物理地址的映射关系。L2P映射表是一份以LBA为索引,PBA为内容的顺序表。
[0004]以NAND flash为主要的存储介质的SSD,当在数据写入的过程中发生异常断电时,数据未被完全保存,此时L2P映射表未完全刷新,极易出现编程错误导致SSD当前正在写的物理页(Page)的不稳定性,SSD重新上电后,此部分的数据由于发生错误而不会更新到L2P映射中,实际上是无效数据。此时,当启动GC(Garbage collection,垃圾回收机制)时,读到该不稳定的物理页时会做纠错处理,从而影响到GC的效率。当进行过多次异常断电后,存储数据的物理页进一步增加,那么GC处理时,需要进行纠错处理的数据也会进一步增加,耗费大量的时间,减缓垃圾回收的进程,从而影响到SSD的性能。因此,目前SSD断电再上电后的垃圾回收机制由于需要对错误数据逐个进行纠错处理而耗费大量的时间,性能低下。

技术实现思路

[0005]鉴于上述问题,本专利技术的目的在于提供一种垃圾回收方法及固态硬盘,以解决现有技术中存在的问题。
[0006]根据本专利技术的一方面,提供一种垃圾回收方法,应用于固态硬盘中,所述固态硬盘包括闪存存储器,所述闪存存储器包括多个物理块,每个所述物理块包括多个物理页,所述垃圾回收方法包括:
[0007]上电后获取异常掉电时所述闪存存储器的当前物理块正在接收的写数据;
[0008]依次读取所述当前物理块的每个所述物理页中的所述写数据,将发生错误且无法进行纠错处理的所述写数据存储在错误数据记录表中;
[0009]执行垃圾回收操作,当读取到所述物理页中的错误数据时,查询所述错误数据是否位于所述错误数据记录表中,所述错误数据为发生错误的所述写数据;以及
[0010]将位于所述错误数据记录表中的所述错误数据标记为无效数据,继续执行垃圾回收操作。
[0011]可选地,在执行垃圾回收操作,当读取到所述物理页中的错误数据时,查询所述错误数据是否位于所述错误数据记录表中的步骤之后,还包括:
[0012]将未存储于所述错误数据记录表中的所述错误数据进行纠错处理。
[0013]可选地,在上电后获取异常掉电时所述闪存存储器的当前物理块正在接收的写数据的步骤之后还包括:
[0014]根据所述写数据的物理地址和逻辑地址之间的映射关系建立L2P映射表。
[0015]可选地,根据所述写数据的物理地址和逻辑地址之间的映射关系建立L2P映射表包括:
[0016]根据所述写数据中所述错误数据以外的其他所述写数据的物理地址和逻辑地址之间的映射关系建立L2P映射表。
[0017]可选地,在将未存储于所述错误数据记录表中的所述错误数据进行纠错处理的步骤之后,还包括:
[0018]根据进行纠错处理的所述错误数据的物理地址和逻辑地址之间的映射关系更新L2P映射表。
[0019]可选地,所述错误数据记录表中存储所述写数据对应的逻辑地址。
[0020]可选地,所述错误数据记录表位于所述固态硬盘的缓存芯片中。
[0021]可选地,所述错误数据包括多次读取结果不完全一致的所述写数据,所述错误数据中无法采用错误处理检查工具进行纠错处理的所述写数据存储在所述错误数据记录表中。
[0022]可选地,将读取到的第一个无法采用所述错误处理检查工具纠错的所述错误数据之后的所有所述写数据以及该错误数据一同记录到所述错误数据记录表中。
[0023]根据本专利技术的另一方面,提供一种固态硬盘,包括:
[0024]控制器,与主机连接,用于与主机交换写数据,以及执行垃圾回收操作;
[0025]闪存存储器,与所述控制器连接,存储所述主机的写数据;以及
[0026]缓存芯片,与所述控制器和所述闪存存储器连接,存储L2P映射表,
[0027]其中,所述闪存存储器包括多个物理块,每个所述物理块包括多个物理页,所述控制器将所述固态硬盘在异常断电时当前物理块正在接收的所述写数据中,发生错误且无法进行纠错处理的所述写数据存储在错误数据记录表中,且所述错误数据记录表中存储的所述写数据在垃圾回收时被标记为无效数据。
[0028]可选地,所述错误数据记录表存储在所述缓存芯片中,所述缓存芯片包括SRAM和DRAM。
[0029]可选地,所述控制器在执行垃圾回收操作时,将未存储在所述错误数据记录表中的错误数据进行纠错处理,所述错误数据为发生错误的所述写数据。
[0030]本申请提供的垃圾回收方法及固态硬盘,在固态硬盘异常断电再上电重启后,先获取其在异常断电时闪存存储器的当前物理块正在接收的写数据,然后依次读取当前物理块的每个物理页中的写数据,将其中发生错误的(错误数据)且无法进行纠错处理的写数据存储至错误数据记录表中,在垃圾回收过程中,将存储至错误数据记录表中的错误数据标记为无效数据,这些数据不再进行纠错处理而直接被作为无效数据,也不在垃圾回收过程中被搬移,从而不必在垃圾回收时对所有的错误数据都进行纠错处理,仅对可以进行纠错处理的错误数据进行纠错处理,节约时间,减轻固态硬盘的压力,加快了异常数据的处理进程和垃圾回收操作的进程,减少了垃圾回收处理的时间,提高了在经历多次上下电后固态硬盘的性能,也维持了数据的稳定性。
附图说明
[0031]通过以下参照附图对本专利技术实施例的描述,本专利技术的上述以及其他目的、特征和优点将更为清楚,在附图中:
[0032]图1示出了根据本专利技术实施例的垃圾回收方法的流程图;
[0033]图2示出了根据本专利技术实施例的固态硬盘在恢复上电后闪存存储器中当前物理块内的写数据分布示意图;
[0034]图3示出了根据本专利技术实施例的垃圾回收方法的操作流程示意图;
[0035]图4示出了根据本专利技术实施例的固态硬盘的示意性框图。
具体实施方式
[0036]以下将参照附图更详细地描述本专利技术。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,可能未示出某些公知的部分。
[0037]以下基于实施例对本专利技术进行描述,但是本专利技术并不仅仅限于这些实施例。在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种垃圾回收方法,应用于固态硬盘中,所述固态硬盘包括闪存存储器,所述闪存存储器包括多个物理块,每个所述物理块包括多个物理页,所述垃圾回收方法包括:上电后获取异常掉电时所述闪存存储器的当前物理块正在接收的写数据;依次读取所述当前物理块的每个所述物理页中的所述写数据,将发生错误且无法进行纠错处理的所述写数据存储在错误数据记录表中;执行垃圾回收操作,当读取到所述物理页中的错误数据时,查询所述错误数据是否位于所述错误数据记录表中,所述错误数据为发生错误的所述写数据;以及将位于所述错误数据记录表中的所述错误数据标记为无效数据,继续执行垃圾回收操作。2.根据权利要求1所述的垃圾回收方法,其中,在执行垃圾回收操作,当读取到所述物理页中的错误数据时,查询所述错误数据是否位于所述错误数据记录表中的步骤之后,还包括:将未存储于所述错误数据记录表中的所述错误数据进行纠错处理。3.根据权利要求1所述的垃圾回收方法,其中,在上电后获取异常掉电时所述闪存存储器的当前物理块正在接收的写数据的步骤之后还包括:根据所述写数据的物理地址和逻辑地址之间的映射关系建立L2P映射表。4.根据权利要求3所述的垃圾回收方法,其中,根据所述写数据的物理地址和逻辑地址之间的映射关系建立L2P映射表包括:根据所述写数据中所述错误数据以外的其他所述写数据的物理地址和逻辑地址之间的映射关系建立L2P映射表。5.根据权利要求2所述的垃圾回收方法,其中,在将未存储于所述错误数据记录表中的所述错误数据进行纠错处理的步骤之后,还包括:根据进行纠错处理的所述错误数据的物理地址和逻辑地址之间的映...

【专利技术属性】
技术研发人员:盛栋梁骆小敏褚世凯王琛銮蔡全
申请(专利权)人:联芸科技杭州股份有限公司
类型:发明
国别省市:

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

1