一种降低固态硬盘写放大的方法技术

技术编号:11236831 阅读:89 留言:0更新日期:2015-04-01 10:28
本发明专利技术公开了一种降低固态硬盘写放大的方法,其特征在于当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迁移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。将垃圾回收过程中的有效数据替代无效数据来减少写放大,同时将垃圾回收的过程分散到各个具体写操作中,在极小写放大的同时提高了固态硬盘的响应速度和整体寿命。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,其特征在于当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迁移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。将垃圾回收过程中的有效数据替代无效数据来减少写放大,同时将垃圾回收的过程分散到各个具体写操作中,在极小写放大的同时提高了固态硬盘的响应速度和整体寿命。【专利说明】
本专利技术涉及信息存储领域,尤其涉及。
技术介绍
固态硬盘(SSD)中,由于NAND Flash的特性,需要整个物理Page (以下简称PPA)进行编程,随着Flash工艺的改变,Page Size从先前的4KB,逐步演变到现在的8KB,16KB,将来还可能更大,现代的存储对于4KB大小为单位的数据的读写性能要求较高,所以SSD内部的都设有逻辑转换层(FTL),并且都以4KB大小的单元分配写操作单元-逻辑页(LPA)。 由于LPA到PPA的不等价性,当一次数据访问的LPA数量无法刚好填充PPA时,实际数据访问中无法刚好填充PPA的情形是占多数的,这样FTL算法需要在剩余区域填充无效数据,实现对整个物理Page的编程。这种行为将导致SSD写放大的产生并降低寿命。 另一方面,由于NAND Flash的特性,其物理页面被编程后,在整个物理块擦除前,对应的物理页不可以再重新编程。对应的回收过程称之为垃圾回收,其伴随着非主机发起的数据迀移过程,类似碎片整理;非主机发起的数据迀移过程必然需要对F I ash进行重新编程,这也必然引入写放大,同时完成数据的迀移还需要额外的系统时间开销,必然会影响到系统的响应速度。
技术实现思路
针对以上缺陷,本专利技术目的在于提出了如何降低LPA与PPA不对齐时导致通过填充无效数据引起的写放大问题。 为了实现上述目的,本专利技术提供了,其特征在于当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迀移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。 所述的降低固态硬盘写放大的方法,其特征在于将填充好的PPA的数据写入实际物理页中后立即将已迀移走有效数据的待垃圾回收的物理块进行擦除操作,并实现回收。 所述的降低固态硬盘写放大的方法,其特征还包括待垃圾回收的物理块索引表,所述索引表记录待垃圾回收的物理块中的各个PPA内还有多少个LPA的有效数据,当SSD的当前数据访问的LPA数量无法刚好填充PPA刚好满足一个物理页写入操作时,直接检索所述的索引表,快速定位到需要迀走的有效数据。 本专利技术针对LPA与PPA不对齐导致的填充无效数据过程引入的写放大的问题,将垃圾回收过程中的有效数据替代无效数据来减少写放大,同时将垃圾回收的过程分散到各个具体写操作中,在极小写放大的同时提高了固态硬盘的响应速度和整体寿命。 【专利附图】【附图说明】 图1是PPA包含全部为有效数据的写入示意图; 图2是PPA写入数据不足的写入示意图; 图3是通过垃圾回收填充PPA写入数据不足的示意图; 图4是拼接垃圾回收区数据后的PPA写入示意图; 图5是垃圾回收示意图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。 图1为PPA包含全部为有效数据的写入示意图;当主机写入数据时,数据流按照LPA进行切分。切分为I到N+1分LPA,单个LPA内的数据逻辑地址是连续的。2个不同的LPA地址没有关联性。在数据写入到NAND物理块前,由“物理页写入缓存”对数据进行拼接,本实施例一个PPA包含4个LPA,当Host写入数据凑满一个PPA后,依次写入后端NAND空白页中,主机依次写入每包含4个LPA的数据到物理块中。 图2为PPA写入数据不足的写入示意图,当出现主机最后写入数据LPA编号为N+1的数据时,不足一个PPA时,此时无法立即将有效数据写入NAND物理页,只能先将N+1的数据先移入物理页写缓存中。传统做法是填充无效数据以满足物理页写入需求。但这个做法使得NAND写放大增加并且浪费了 NAND使用寿命。 图3为通过垃圾回收填充PPA写入数据不足的示意图,主机最后写入数据不足一个PPA,此时找到需要垃圾回收的物理块,所述的需要垃圾回收的物理块是指其所有的物理页都已经被写过,且只有少量的是有效数据,其余都是无效数据(新的数据被主机重新写过,且被SSD分配到其他物理块的物理页)。按该指令最后一个PPA写入所缺少的物理页写入缓存所缺少的LPA数量,本实施例所举例子当前写操作只有I个LPA有效数据,还缺3个LPA有效数据。查找需要垃圾回收的物理块的有效数据,查到3个LPA数据,将这3个LPA数据从垃圾回收的物理块内导入到物理页写缓存中。 图4为拼接垃圾回收区数据后的PPA写入示意图,将装满有效数据的物理页写缓存写入到当前写入物理块的空白物理页上,同时该数据源的待垃圾回收的物理块中的相应数据变成无效数据。 图5为垃圾回收示意图,待垃圾回收的物理块中所有数据被迀移走后,对应的该物理块上的数据都变成无效数据,直接擦除该物理块使该物理块变成空白块,可用于新的数据写入,也就实现垃圾回收。 综合如上过程,在传统做法中,当物理页写缓存不能装满时会填充无效数据。这个过程会发生在主机数据写入或者垃圾回收数据变迀的写入。在本专利技术中,通过特定的数据写入策略,可有效降低无效数据的填充量及其对应的写放大;同时将垃圾回收的过程嵌入到正常的数据写入过程,可有效避免独立垃圾回收过程中的数据迀移引起的系统响应延迟。 以上所揭露的仅为本专利技术一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本专利技术权利要求所作的等同变化,仍属于本专利技术所涵盖的范围。【权利要求】1.,其特征在于当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迀移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。2.根据权利要求1所述的降低固态硬盘写放大的方法,其特征在于将填充好的PPA的数据写入实际物理页中后立即将已迀移走有效数据的待垃圾回收的物理块进行擦除操作,并实现回收。3.根据权利要求2所述的降低固态硬盘写放大的方法,其特征还包括待本文档来自技高网
...
一种降低固态硬盘写放大的方法

【技术保护点】
一种降低固态硬盘写放大的方法,其特征在于当SSD的当前数据访问的LPA数量无法拆分为多个刚好填充PPA刚好满足一个物理页写入操作时,对于刚好填充PPA部分的数据直接写入实际的物理页中;对于多出的部分先写入物理页写入缓存,从待垃圾回收的物理块中的查找有效数据,并迁移到物理页写入缓存与当前数据访问的数据刚好组成一个PPA,刚好满足一个物理页写入操作,将填充好的PPA的数据写入实际物理页中。

【技术特征摘要】

【专利技术属性】
技术研发人员:王猛徐伟华
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:广东;44

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

1