一种提高坏块管理时数据搬移性能的方法与流程

文档序号:12863633阅读:391来源:国知局

本发明涉及坏块数据搬移,尤其是一种提高坏块管理时数据搬移性能的方法。



背景技术:

半导体行业的蓬勃发展,出现了高性能的存储器nandflash,nandflash存储器使用半导体作为存储介质,具有高速,低能耗和防震等优点,nandflash的基本存储单元是由块(block)构成。每块又由若干页(page)构成。其中,最小读写单元是页,最小擦除单元是块,在对一页进行编程之前,需要先将该页所在的块进行擦除操作。由于nandflash本身的属性,单块的擦除次数是有限的,随着工艺越来越先进,容量越来越大,nandflash单块的擦除次数越来越小,从slc型nandflash的10万次擦除次数到目前tlc型nandflash的几百次的擦除次数,因此,针对nandflash而言磨损均衡显得尤为重要,好的磨损均衡管理方法不但能够提高nandflash性能和效率,还能够大大的延长nandflash的使用寿命。基于此,出现了一系列针对nandflash的管理算法,管理算法的核心都包含地址映射、磨损均衡、垃圾回收和坏块管理几个大的部分组成,其中坏块管理是nandflash管理算法一个重要的部分。

由于nandflash制造工艺的原因,生产厂家不能保证出厂时nandflash所有块状态都是好的,会有一些出厂时就已经是坏块,这些坏块厂家会在出厂时进行标记,坏块管理算法在初始化时会读取该标志位,将这些块加入到坏块列表中进行管理。由于nandflash在使用过程中因为各种异常也会造成坏块的发生,所以坏块管理算法会将使用过程中出现的坏块加入坏块列表进行管理。在这个过程中,若该坏块中还存在数据,则需要对数据进行搬移的过程,搬移完成后,需要对地址映射表进行更新处理。对于大容量固态存储设备而言,为了追求高性能,所以多数采取页映射机制,在这种映射机制下,由于nandflash映射表表示的是逻辑页地址(lpa)到物理页地址(ppa)的映射关系,即可以通过lpa方便的找到ppa,但是在写入数据时出现坏块后,需要将该块中存储的数据全部拷贝到新块中,然后通过ppa反向查找到lpa,修改lpa与新ppa的映射关系才能保证数据的正常,如图1所示。对于nandflash来说,容量越大,地址映射表也越大,例如对于l85c的系列2tb容量的nandflash有33536个块,每个块具有512个页,即一共包含有33536*512=17170432个页,对与页映射表说,一共需要17170432个表项。对于大容量ssd来说,需要的表项则以成倍增加,要在如此多的表项中寻找到ppa对应的lpa需要耗费大量的时间,设为t0,对应l85c系列的nandflash来说,每个块具有512页,要进行数据搬移的话,需要的时间为512t0,这对于高速数据读写应用来说,是不可接受的。



技术实现要素:

本发明所要解决的技术问题是:针对上述存在的问题,提供一种不需遍历地址映射表的高效率坏块数据搬移方法。

本发明采用的技术方案如下:

一种提高坏块管理时数据搬移性能的方法,nandflash最小擦除单位为块,块由页组成,页分为数据段和附加段,方法包括步骤:

(1)在nandflash页中写入存有该物理页地址ppa对应逻辑页地址pla的数据结构lpa_log的步骤;

(2)回收坏块数据的步骤:

(2-1)块数据发生异常后,读取块页中存储的数据和数据结构lpa_log,获取该物理页地址ppa对应的逻辑页地址pla;

(2-2)拷贝块页数据至新页,并在新页中重新写入数据结构lpa_log;

(2-3)修改地址映射表中逻辑页地址pla对应的新物理页地址ppa’;

(2-4)完成块所有页数据的搬移后,标记该块为坏块并将其加入坏块列表进行管理。

进一步地,步骤(1)中伴随用户向nandflash页中存入数据,nandflash驱动在该页附加段中写入存有该物理页地址ppa对应逻辑页地址pla的数据结构lpa_log。

进一步地,步骤(2)中块数据发生异常后,可先将块标记为待回收坏块,优先响应上位机的数据读写请求再进行页数据搬移。

综上所述,由于采用了上述技术方案,本发明的有益效果是:伴随用户向nandflash页中存入数据,nandflash驱动在该页附加段中写入存有该物理页地址ppa对应逻辑页地址pla的数据结构lpa_log,在需要对坏块数据进行搬移时,不需遍历地址映射表即可直接从数据结构lpa_log中获取物理页地址ppa对应逻辑页地址pla,有效提升了坏块数据搬移的效率和性能。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为本发明提供的回收坏块数据的方法流程图

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

一种提高坏块管理时数据搬移性能的方法,nandflash最小擦除单位为块,块由页组成,页分为数据段和附加段,方法包括步骤:

(1)在nandflash页中写入存有该物理页地址ppa对应逻辑页地址pla的数据结构lpa_log的步骤;

(2)回收坏块数据的步骤:

(2-1)块数据发生异常后,读取块页中存储的数据和数据结构lpa_log,获取该物理页地址ppa对应的逻辑页地址pla;

(2-2)拷贝块页数据至新页,并在新页中重新写入数据结构lpa_log;

(2-3)修改地址映射表中逻辑页地址pla对应的新物理页地址ppa’;

(2-4)完成块所有页数据的搬移后,标记该块为坏块并将其加入坏块列表进行管理。

为提高写入性能,nandflash采用异地更新策略,即一个逻辑页地址lpa可对应多个物理页地址ppa,其中只有一个物理页地址ppa上存储的是有效数据,其余均为过时数据,可被用作回收数据,或不使用。通过查找物理页地址ppa,找到逻辑页地址lpa与物理页地址ppa的对应关系,才能获取有效的数据。

步骤(1)中伴随用户向nandflash页中存入数据,nandflash驱动在该页附加段中写入存有该物理页地址ppa对应逻辑页地址pla的数据结构lpa_log。当用户不向nandflash中存入数据时,nandflash驱动不会在该页中写入数据结构lpa_log。数据结构lpa_log的写入是伴随用户向nandflash页中存入数据发生。

将页数据从坏块搬移出时,该页附加段中的数据结构lpa_log并不随页数据搬移。将页数据拷贝至新页中时,nandflash驱动执行步骤(1)过程在该新页附加段中写入存有新物理页地址ppa’对应逻辑页地址pla的数据结构lpa_log。

优化地,步骤(2)中块数据发生异常后,可先将块标记为待回收坏块,优先响应上位机的数据读写请求,待上位机数据请求完成后,执行步骤(2-1)、步骤(2-2)、步骤(2-3)进行坏块数据回收。数据回收前先把数据异常的块标记为待回收坏块,优先响应上位机的数据读写请求,有效提高了坏块数据搬移的效率和性能。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1