基于三维闪存存储结构的错误页识别方法与流程

专利2022-06-30  83


本发明涉及三维闪存存储结构领域,具体涉及一种基于三维闪存存储结构的错误页识别方法。



背景技术:

与slc(singlelevelcell)和mlc(multiplelevelcell)闪存器件相比较而言,tlc(triplelevelcell)闪存器件具有更高的存储密度和更低的成本,特别是在三维闪存存储系统中使用地较为广泛。在三维闪存存储系统中采用3d堆叠技术,即tlc闪存基本单元垂直堆叠,使得闪存存储密度快速增加的同时可靠性却在不断下降。

传统技术存在以下技术问题:

为了能够降低存储在三维闪存存储系统中错误率,目前的研究现状主要是依赖纠错码和不依赖纠错码两个角度来解决解决三维闪存存储系统中错误率升高的问题,提高存储系统整体的可靠性能。纠错码的使用是降低闪存存储系统错误率升高的有效手段之一,在最早在闪存器件中用的比较多的是汉明码,其可以足够满足slc闪存器件的纠错要求。随着mlc闪存器件的出现,汉明码纠错能力无法满足需求。rs码和bch码在闪存存储系统领域被提出,但是随着基本存储单元密度的提高以及闪存存储基本单元的结构特点,也无法满足数据存储错误几率变大。然而,三维闪存存储系统一般是tlc为存储介质,对于纠错码的需求变得更大,为了确保当今基于闪存的固态存储系统中的数据可信赖性,利用强大的校正算法(例如低密度奇偶校验(ldpc))变得至关重要。

对于不依赖于纠错码研究nand闪存自身错误特征进行错误率抑制的策略,通过冗余备份技术是提高存储系统错误率的有效措施方法,raid(redundantarrayofindepentdisks)技术在闪存存储系统里面被广泛地使用,增加冗余数据延长数据保留时间,减少错误率提高存储系统的可靠性的问题。同时考虑到由于“热数据”块和“冷数据”块的混合,这可能会导致非常高的成本,进行“热数据”块和“冷数据”分离的方法。还有就是采用冗余备份和冷热数据分离相结合的优点,实现提高系统的耐久性和可靠性。

虽然现有技术在一定程度上面减少数据存储的错误率,提高了三维闪存存储系统的可靠性,但是还是存在空间利用率不高,实用性不高以及硬件成本过高等问题的存在。



技术实现要素:

本发明要解决的技术问题是提供一种基于三维闪存存储结构的错误页识别方法,称之错误页识别技术,可以精确地识别当前三维闪存存储系统中所有物理页的错误率,能够有效地提高三维闪存存储系统的可靠性。三维闪存存储系统存储基本单元主要是以tlc为存储介质,相较于slc和mlc而言,tlc因其本身的结构特点导致它的可靠性能和使用寿命全是这三种里面最差的。三维闪存存储系统ocssd结构下所有物理页的读取速度来表征该物理页的错误率高低,利用机器学习的方法对所有物理页进行可靠性等级分类,等级越低就表示这错误率越高。将错误率高的物理页剔除出来进行实时数据迁移,从而有效地降低错误率实现提高三维闪存存储系统的可靠性的目的。

为了解决上述技术问题,本发明提供了一种基于三维闪存存储结构的错误页识别方法,包括:

数据收集:当用户空间工作在不同工作负载下,对每一个物理页的读速度的数据进行收集,同时收集当前工作的负载特征;

错误页检测:根据对比当前每个物理页读速度的当前速度和初始速度,将所有物理页的可靠性从高到低等级分成五类,对其中错误率比较高的两大类物理页进行一个错误率较高的标识;

实时数据迁移:在mtd层进行修改nandflash的基本命令copyback操作,无需对mtd层以外的其他软件和硬件进行修改;利用copyback操作指定对目标地址进行编程操作。

在其中一个实施例中,所述读速度包括物理页的初始速度、物理页的当前速度以及闪存整体的平均速度。

在其中一个实施例中,所述当前工作的负载特征包括随机请求和顺序请求。

在其中一个实施例中,如果物理页的当前速度已经大于整体平均速度,则不需进行错误率较高的标识。

在其中一个实施例中,所有物理页的可靠性从高到低等级分成具体如下的五类:best、good、normal、weak以及worst。

在其中一个实施例中,所述copyback操作包括copyback读指令和copyback编程指令。

在其中一个实施例中,将错误率高的两大类的物理页存储在列表里面,在存储系统空闲时间的时候,对其进行实时数据迁移操作。

在其中一个实施例中,将错误率最高的物理页的副本目标地址释放到nand闪存控制器;下一个错误率次高的物理页可以同时加载到nand闪存控制器中。

基于同样的发明构思,本申请还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。

基于同样的发明构思,本申请还提供一种固态硬盘,应用基于三维闪存存储结构的错误页识别方法。

基于同样的发明构思,本申请还提供一种计算机,包含所述的固态硬盘。

本发明的有益效果:

本发明可以高效地识别出错误率较高的物理页,结合机器学习的算法将当前三维闪存存储系统中的物理页进行分类。降低三维闪存存储系统错误率的同时,进行实时数据迁移操作采用的copyback操作,提高系统的响应时间。

附图说明

图1是本发明基于三维闪存存储结构的错误页识别方法中的错误页识别整体结构图。

图2是本发明基于三维闪存存储结构的错误页识别方法中的数据收集策略示意图。

图3是本发明基于三维闪存存储结构的错误页识别方法中的错误页检测模型。

图4是本发明基于三维闪存存储结构的错误页识别方法中的实时数据迁移示意图。

图5是本发明基于三维闪存存储结构的错误页识别方法中错误页识别方法示例图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

为了提高三维闪存存储系统的可靠性,其错误率升高的问题尤其明显。在三维闪存存储系统以open-channelssd(ocssd)为范例,它将闪存存储结构中的转换层(flashtranslationlayer,ftl)搬移到host端,通过专用的接口ppa(physicalpageaddress)i/o接口将底层设备物理结构信息直接暴露给上层用户空间。在上层空间还没有使用底层设备之前就已经知道底层物理信息,而在传统的闪存存储系统结构下是没法确切地对获取底层设备信息,只能对逻辑地址进行操作无法读取物理地址信息。因此,在ocssd结构下能够实现通过闪存存储系统的物理页读速度快慢来精确识别出错误率高低,同时该结构也能满足机器学习的算法对运算量和运算速率的需求。

本专利提出错误页识别方法,是一种增强系统可靠性策略。以三维闪存存储系统ocssd结构的物理页读取速度快慢来表征物理页错误率高低。物理页的读速度越慢,说明错误率就越高,否则,反之。采用机器学习的方法对所有物理页进行可靠性等级分类,将错误率高的物理页剔除出来进行实时数据迁移,降低错误率提高三维闪存存储系统的可靠性。

如图1的错误页识别整体方案所示,在主机端我们提出了一种有效的错误识别管理单元设计,与文件系统和ftl协同工作。通过三个策略来实现对三维闪存存储系统中的每个物理页进行错误率识别和实时数据迁移:

(1)数据收集,如图2所示,当用户空间工作在不同工作负载下,对每一个物理页的读速度(物理页的初始速度、物理页的当前速度以及闪存整体的平均速度)的数据进行收集,同时收集当前工作的负载特征(随机请求还是顺序请求)。

(2)错误页检测,将收集的数据输入如图3所示的机器学习的训练模型中,根据对比当前每个物理页读速度的当前速度和初始速度,将所有物理页的可靠性等级从高到低分成五类(best、good、normal、weak以及worst),其中的weak和worst两大类的物理页是错误率比较高的,这也就是意味着其已经超过了纠错码纠错能力范围,是三维闪存存储系统中错误率升高的问题所在。因此,我们需要对这两大类的物理页进行一个错误率较高的标识。但是,同时考虑到过度的操作导致的资源功耗过大以及系统延迟等问题,如果物理页的当前速度已经大于整体平均速度,则不需进行错误率较高的标识。

(3)实时数据迁移,在mtd(memorytechnologydevice)层进行修改nandflash的基本命令copyback操作,无需对mtd层以外的其他软件和硬件进行修改。利用copyback操作包括读操作和编程操作两个部分,可以指定将目标地址进行编程操作。如图4所示,将错误率高的两大类的物理页存储在列表里面,在存储系统空闲时间的时候,对其进行实时数据迁移操作。将错误率最高的物理页的副本(例如page2#)目标地址释放到nand闪存控制器。下一个错误率次高的物理页(例如page4)可以同时加载到nand闪存控制器中。在等待page2#编程结束后,继续进行page4编程其他操作,减少了重写过程中页的读写操作,提高了存储系统的i/o性能和减轻存储系统消耗。

如图5错误页识别方法的示例,在这个例子里面,我们假设三维闪存存储系统ocssd里面一共有两个通道(channel0和channel1),每个通道里面有1个plane,每个plane里面有4个物理块(block0、block1、block2以及block3),每个block里面有n个物理页(page0、page1…pagen)。首先,需要就是对三维闪存系统里面的所有物理页的读速度数据收集,主要是一个物理页的读取速度(物理页的初始速度、物理页的当前速度以及闪存整体的平均速度)的数据收集;然后,将收集数据通过训练模型分成五类(best、good、normal、weak以及worst)并且标识出需要错误率较高的物理页,这里指的物理页是错误率较高的weak和worst;最后,利用copyback操作的方法,在空闲时间的时候,标识好的物理页存储在一个列表里面按照错误率高低进行排序,错误率最高的先进行数据迁移操作。图5所示的当前错误率最高的page2,将需要进行错误率最高的物理页的副本(例如page2#)在存储寄存器中进行copyback操作。page2#按指定的目标地址释放到nand闪存控制器,下一个错误率次高的page4可以同时加载到nand闪存控制器中。在等待page2#编程结束后,继续进行page4编程的其他操作,减少了重写过程中页的读写操作,提高了存储系统的i/o性能和减轻存储系统消耗。

以上对本发明提供的基于三维闪存存储结构的错误页识别方法做了详细的描述,还有以下几点需要说明:

基于三维闪存存储系统结构,即ocssd结构,能够实现通过闪存存储系统的物理页读速度快慢来精确识别出错误率较高的物理页,同时该结构能满足机器学习的算法需求的运算量和运算速率的需求以及利用copyback操作进行实时数据迁移方法。本发明提出的错误页识别方法有效地识别出错误率较高的物理页,对其进行实时的数据迁移操作,提高整体系统的可靠性同时系统响应时间。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。


技术特征:

1.一种基于三维闪存存储结构的错误页识别方法,其特征在于,包括:

数据收集:当用户空间工作在不同工作负载下,对每一个物理页的读速度的数据进行收集,同时收集当前工作的负载特征。

错误页检测:根据对比当前每个物理页读速度的当前速度和初始速度,将所有物理页的可靠性从高到低等级分成五类,对其中错误率比较高的两大类物理页进行一个错误率较高的标识;

实时数据迁移:在mtd层进行修改nandflash的基本命令copyback操作,无需对mtd层以外的其他软件和硬件进行修改;利用copyback操作对目标地址进行编程操作。

2.如权利要求1所述的基于三维闪存存储结构的错误页识别方法,其特征在于,所述读速度包括物理页的初始速度、物理页的当前速度以及闪存整体的平均速度。

3.如权利要求1所述的基于三维闪存存储结构的错误页识别方法,其特征在于,所述当前工作的负载特征包括随机请求和顺序请求。

4.如权利要求1所述的基于三维闪存存储结构的错误页识别方法,其特征在于,如果物理页的当前速度已经大于整体平均速度,则不需进行错误率较高的标识。

5.如权利要求1所述的基于三维闪存存储结构的错误页识别方法,其特征在于,所有物理页的可靠性从高到低等级分成具体如下的五类:best、good、normal、weak以及worst。

6.如权利要求1所述的基于三维闪存存储结构的错误页识别方法,其特征在于,所述copyback操作包括copyback读指令和copyback编程指令。

7.如权利要求1所述的基于三维闪存存储结构的错误页识别方法,其特征在于,将错误率高的两大类的物理页存储在列表里面,在存储系统空闲时间的时候,对其进行实时数据迁移操作。

8.如权利要求7所述的基于三维闪存存储结构的错误页识别方法,其特征在于,将错误率最高的物理页的副本目标地址释放到nand闪存控制器;下一个错误率次高的物理页可以同时加载到nand闪存控制器中。

9.一种固态硬盘,其特征在于,应用权利要求1到8任一项所述的基于三维闪存存储结构的错误页识别方法。

10.一种计算机,其特征在于,包含权利要求9所述的固态硬盘。

技术总结
本发明公开了一种基于三维闪存存储结构的错误页识别方法,称之错误页识别技术,可以精确地识别当前三维闪存存储系统中所有物理页的错误率,能够有效地提高三维闪存存储系统的可靠性。三维闪存存储系统存储基本单元主要是以TLC为存储介质,相较于SLC和MLC而言,TLC因其本身的结构特点导致它的可靠性能和使用寿命全是这三种里面最差的。三维闪存存储系统OCSSD结构下所有物理页的读取速度来表征该物理页的错误率高低,利用机器学习的方法对所有物理页进行可靠性等级分类,等级越低就表示错误率越高。将错误率高的物理页剔除出来进行实时数据迁移,从而有效地降低错误率实现提高三维闪存存储系统的可靠性的目的。

技术研发人员:黄敏;杜雅芝;肖仲喆;吴迪;顾济华
受保护的技术使用者:苏州大学
技术研发日:2020.01.07
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-59310.html

最新回复(0)